commit e125f04383c7cb00df7fed7b5d28ae51ddad1482 Author: Brett Laptop Date: Tue Feb 13 21:21:51 2024 -0500 init diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..bb42d72 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "lib/blt"] + path = lib/blt + url = https://github.com/tri11paragon/blt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..87047a5 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,86 @@ +cmake_minimum_required(VERSION 3.25) +project(Assignment_1 C CXX) + +option(ENABLE_ADDRSAN "Enable the address sanitizer" OFF) +option(ENABLE_UBSAN "Enable the ub sanitizer" OFF) +option(ENABLE_TSAN "Enable the thread data race sanitizer" OFF) +option(PART_B "Build for part B version of the assignment" ON) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_C_STANDARD 11) +message("${CMAKE_C_FLAGS}") +add_compile_options(-mieee-fp) +#set(CMAKE_C_FLAGS -mieee-fp)hz +#add_definitions(-DUSEVFORK -DPOSIX_MT) +add_compile_definitions(USEVFORK POSIX_MT RANDOMSEEDTIME) +if (PART_B) + add_compile_definitions(PART_B) +endif () +message("${CMAKE_C_FLAGS}") + +find_package(Threads) + +add_subdirectory(lib/blt) + +include_directories(include/) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib/lilgp/kernel/) +file(GLOB_RECURSE PROJECT_BUILD_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/program/*.cpp") +file(GLOB_RECURSE PROJECT_BUILD_FILES_C "${CMAKE_CURRENT_SOURCE_DIR}/src/program/*.c") +set(LILGP_BUILD_FILES main.c gp.c eval.c tree.c change.c crossovr.c reproduc.c + mutate.c select.c tournmnt.c bstworst.c fitness.c genspace.c + exch.c populate.c ephem.c ckpoint.c event.c pretty.c individ.c + params.c random.c memory.c output.c boltzman.c sigma.c fsetupdate.c) +list(TRANSFORM LILGP_BUILD_FILES PREPEND ${CMAKE_CURRENT_SOURCE_DIR}/lib/lilgp/kernel/) + +add_executable(Assignment_1 ${PROJECT_BUILD_FILES} ${PROJECT_BUILD_FILES_C} ${LILGP_BUILD_FILES}) + +target_link_libraries(Assignment_1 PUBLIC BLT) + +target_compile_options(Assignment_1 PRIVATE -Wall -Wextra -Wpedantic -Wno-comment) +target_link_options(Assignment_1 PRIVATE -Wall -Wextra -Wpedantic -Wno-comment) +target_link_libraries(Assignment_1 PUBLIC m) +target_link_libraries(Assignment_1 PUBLIC pthread) + +if (${ENABLE_ADDRSAN} MATCHES ON) + target_compile_options(Assignment_1 PRIVATE -fsanitize=address) + target_link_options(Assignment_1 PRIVATE -fsanitize=address) +endif () + +if (${ENABLE_UBSAN} MATCHES ON) + target_compile_options(Assignment_1 PRIVATE -fsanitize=undefined) + target_link_options(Assignment_1 PRIVATE -fsanitize=undefined) +endif () + +if (${ENABLE_TSAN} MATCHES ON) + target_compile_options(Assignment_1 PRIVATE -fsanitize=thread) + target_link_options(Assignment_1 PRIVATE -fsanitize=thread) +endif () + +project(Assignment_1_RUNNER C CXX) +file(GLOB_RECURSE RUNNER_PROJECT_BUILD_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/runner/*.cpp") + +add_executable(Assignment_1_RUNNER ${RUNNER_PROJECT_BUILD_FILES}) + +target_link_libraries(Assignment_1_RUNNER PUBLIC BLT) +target_link_libraries(Assignment_1_RUNNER PUBLIC m) +target_link_libraries(Assignment_1_RUNNER PUBLIC pthread) +target_include_directories(Assignment_1_RUNNER PUBLIC RUNNER) +target_compile_options(Assignment_1_RUNNER PRIVATE -Wall -Wextra -Wpedantic -Wno-comment) +target_link_options(Assignment_1_RUNNER PRIVATE -Wall -Wextra -Wpedantic -Wno-comment) +add_dependencies(Assignment_1_RUNNER Assignment_1) + +if (${ENABLE_ADDRSAN} MATCHES ON) + target_compile_options(Assignment_1_RUNNER PRIVATE -fsanitize=address) + target_link_options(Assignment_1_RUNNER PRIVATE -fsanitize=address) +endif () + +if (${ENABLE_UBSAN} MATCHES ON) + target_compile_options(Assignment_1_RUNNER PRIVATE -fsanitize=undefined) + target_link_options(Assignment_1_RUNNER PRIVATE -fsanitize=undefined) +endif () + +if (${ENABLE_TSAN} MATCHES ON) + target_compile_options(Assignment_1_RUNNER PRIVATE -fsanitize=thread) + target_link_options(Assignment_1_RUNNER PRIVATE -fsanitize=thread) +endif () + diff --git a/PartA/crossover_100_mutation_100_elitism_0/aggregated.tsv b/PartA/crossover_100_mutation_100_elitism_0/aggregated.tsv new file mode 100644 index 0000000..2b61d00 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/aggregated.tsv @@ -0,0 +1,54 @@ +Generation limit Mean: 41 +Generation limit Mode: 50 (6) +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0 0.00011 0 13.1397 3.6747 18 4 19 4 0 0.00011 0 13.1397 3.6747 18 4 19 4 +1 0 0 0.00011 0 13.3235 4.1582 17 4 14 5 0 0.00011 0 13.2316 3.9166 17 3 19 4 +2 0 0 0.00011 0 14.0341 4.512 22 5 16 6 0 0.00012 0 13.4993 4.1149 14 4 19 4 +3 0 0 0.00011 0 14.6611 4.7875 14 4 17 6 0 0.00013 0 13.7895 4.2832 13 4 20 4 +4 0 0 0.00012 0 15.3302 5.0336 24 6 11 5 0 0.00014 0 14.0976 4.4333 14 4 20 4 +5 0 0 0.00014 0 15.9781 5.2513 23 6 15 5 0 0.00015 0 14.411 4.5696 16 4 20 4 +6 0 0 0.00016 0 16.6516 5.446 27 7 13 6 0 0.00017 0 14.7313 4.6948 19 5 20 4 +7 0 0 0.00028 0 17.2535 5.6209 22 6 19 7 0 0.00028 0 15.0466 4.8105 18 5 20 4 +8 0 0 0.0003 0 18.1642 5.8235 35 8 34 9 0 0.00031 0 15.3929 4.9232 23 6 20 4 +9 0 1e-05 0.00037 0 19.2011 6.0579 23 6 23 6 0 0.00037 0 15.7738 5.0366 20 5 20 4 +10 0 1e-05 0.00047 0 20.7814 6.3628 29 6 24 6 0 0.00048 0 16.2291 5.1571 28 6 20 4 +11 0 4e-05 0.00068 0 22.8629 6.7192 34 7 32 8 0 0.00068 0 16.7817 5.2873 34 7 20 4 +12 0 7e-05 0.00094 0 26.0863 7.1928 26 6 23 8 2e-05 0.00094 0 17.4976 5.4338 26 6 20 4 +13 0 0.00011 0.00111 0 29.8244 7.7638 27 8 31 8 3e-05 0.00113 0 18.3781 5.6002 27 8 20 4 +14 0 0.00016 0.00173 0 33.322 8.3508 37 8 28 8 4e-05 0.00176 0 19.3743 5.7838 28 7 20 4 +15 0 0.00021 0.00184 0 36.8131 8.9614 48 10 50 11 4e-05 0.00212 0 20.4642 5.9823 35 8 20 4 +16 0 0.00025 0.00495 0 40.1866 9.5048 39 8 37 9 6e-05 0.00496 0 21.6244 6.1896 38 8 20 4 +17 0 0.00031 0.0047 0 43.7914 10.0104 39 8 49 10 8e-05 0.00527 0 22.856 6.4018 35 7 20 4 +18 0 0.00042 0.0057 0 47.2266 10.4502 37 8 60 11 9e-05 0.00642 0 24.1387 6.6148 34 7 20 4 +19 0 0.00063 0.07818 0 49.8474 10.7263 41 9 43 10 0.00012 0.07829 0 25.424 6.8204 34 8 20 4 +20 0 0.00149 0.16008 0 51.8127 10.8607 45 9 53 12 0.00021 0.1603 0 26.6806 7.0127 35 7 20 4 +21 0 0.00264 0.1059 0 48.0605 9.7961 43 8 65 12 0.00027 0.10628 0 24.6393 6.392 30 6 18 4 +22 0 0.00075 0.00581 0 46.501 9.0482 40 8 49 9 0.00016 0.00635 0 23.1659 5.7956 32 7 18 3 +23 0 0.001 0.00705 0 48.1138 9.1699 37 7 37 8 0.00019 0.00741 0 24.2053 5.9362 30 6 18 3 +24 0 0.00136 0.0088 0 49.2636 9.2652 41 8 65 10 0.00023 0.00911 0 25.2077 6.0693 28 6 18 3 +25 0 0.00161 0.00964 0 50.634 9.41 41 8 49 10 0.0003 0.01063 0 26.1856 6.1978 27 5 18 3 +26 0 0.00183 0.02255 0 52.1851 9.5276 39 8 48 8 0.00036 0.02326 0 27.1486 6.321 26 6 18 3 +27 0 0.00215 0.04444 0 53.7801 9.613 40 8 62 11 0.00042 0.04519 0 28.0996 6.4386 27 6 18 3 +28 0 0.00223 0.00962 0 51.5745 8.8811 36 7 61 9 0.00047 0.01011 0 25.3811 5.7176 27 6 17 3 +29 0 0.00242 0.0098 0 53.448 9.0149 36 7 55 9 0.00054 0.01025 0 26.3167 5.8275 28 6 17 3 +30 0 0.00252 0.01152 0 55.1936 9.1317 32 6 51 8 0.00061 0.0117 0 27.2481 5.9341 27 6 17 3 +31 0 0.00271 0.01489 0 56.6096 9.2275 36 7 51 9 0.00066 0.01505 0 28.1656 6.0369 31 6 17 3 +32 0 0.00284 0.01381 0 57.4633 9.2697 34 7 68 9 0.00073 0.0153 0 29.0534 6.135 31 6 17 3 +33 0 0.00295 0.01194 0 57.6212 9.2493 40 8 53 9 0.0008 0.01576 0 29.8939 6.2266 36 8 17 3 +34 0 0.00317 0.01243 0 57.1262 9.1701 48 8 66 9 0.00086 0.01661 0 30.6719 6.3106 28 6 17 3 +35 0 0.00339 0.01638 0 57.6547 9.2213 61 10 63 9 0.00093 0.01831 0 31.4214 6.3916 32 7 17 3 +36 0 0.00363 0.01747 0 58.6958 9.3118 58 9 66 9 0.00101 0.01839 0 32.1585 6.4704 31 7 17 3 +37 0 0.00375 0.03735 0 59.8621 9.4072 43 9 65 9 0.00107 0.03777 0 32.8875 6.5476 31 7 17 3 +38 0 0.00405 0.02054 0 61.1164 9.53 55 10 52 8 0.00115 0.03978 0 33.6114 6.6242 33 7 17 3 +39 0 0.00446 0.04956 0 61.816 9.6407 49 8 67 8 0.00123 0.04994 0 34.3165 6.6996 31 7 17 3 +40 0 0.00502 0.07533 0 62.2502 9.7446 46 8 64 9 0.00133 0.07581 0 34.9978 6.7739 33 7 17 3 +41 0 0.00563 0.07541 0 62.4674 9.8256 52 9 65 9 0.00142 0.076 0 35.6518 6.8465 33 7 17 3 +42 0 0.00663 0.076 0 62.7849 9.8651 56 9 60 8 0.00154 0.07632 0 36.2828 6.9167 34 8 17 3 +43 0 0.00825 0.077 0 62.665 9.8863 50 9 59 9 0.00171 0.07755 0 36.8823 6.9841 34 8 17 3 +44 0 0.01025 0.08067 0 62.5507 9.8819 45 9 67 10 0.00188 0.08119 0 37.4528 7.0487 33 8 17 3 +45 0 0.01141 0.08903 0 62.5751 9.889 63 10 61 9 0.00209 0.08961 0 37.9989 7.1103 35 8 17 3 +46 0 0.00669 0.05313 0 58.0584 8.5661 36 7 53 8 0.00182 0.05352 0 33.9906 6.216 30 6 11 2 +47 0 0.00691 0.05336 0 58.5962 8.5868 39 7 56 9 0.00193 0.0537 0 34.5032 6.2654 32 7 11 2 +48 0 0.00728 0.05731 0 59.0136 8.5892 45 8 44 8 0.00204 0.05803 0 35.0034 6.3128 34 7 11 2 +49 0 0.00821 0.06377 0 59.9068 8.6281 50 8 49 7 0.00217 0.0642 0 35.5015 6.359 35 7 11 2 +50 0 0.00957 0.0647 0 61.0564 8.6845 36 7 73 8 0.00231 0.06513 0 36.0027 6.4047 35 8 11 2 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.bst b/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.bst new file mode 100644 index 0000000..f0d377e --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.bst @@ -0,0 +1,27 @@ +=== BEST-OF-RUN === + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +TREE-equ: +y = (((cos(sin((cos(sin((exp((log(x) / log(x))) + exp(cos((x - -0.79752)))))) + sin((0.83999 - x))))) * (x * x)) + sin(x)) + (((cos(sin((-0.54804 / x))) * (x * x)) * (sin(0.32564) + x)) * (0.80455 + x))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.fn b/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.fn new file mode 100644 index 0000000..097cc66 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.fn @@ -0,0 +1,2 @@ + +y = (((cos(sin((cos(sin((exp((log(x) / log(x))) + exp(cos((x - -0.79752)))))) + sin((0.83999 - x))))) * (x * x)) + sin(x)) + (((cos(sin((-0.54804 / x))) * (x * x)) * (sin(0.32564) + x)) * (0.80455 + x))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.gen b/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.his b/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.his new file mode 100644 index 0000000..cd2ce7a --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.his @@ -0,0 +1,1275 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 36 + depth: 6 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 8546.2442 + standardized fitness: 8546.2442 + adjusted fitness: 0.0001 +TREE: + (* (+ (+ (/ (* (/ x 0.73085) + (- x x)) x) x) + (cos (cos (log (cos x))))) + (+ (+ (+ (sin 0.76350) + (- (+ -0.61170 x) + (cos x))) + (log (exp (exp x)))) + (* x 0.79004))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 36 + depth: 6 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 8546.2442 + standardized fitness: 8546.2442 + adjusted fitness: 0.0001 +TREE: + (* (+ (+ (/ (* (/ x 0.73085) + (- x x)) x) x) + (cos (cos (log (cos x))))) + (+ (+ (+ (sin 0.76350) + (- (+ -0.61170 x) + (cos x))) + (log (exp (exp x)))) + (* x 0.79004))) +=== BEST-OF-RUN === + current generation: 2 + generation: 0 + nodes: 36 + depth: 6 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 8546.2442 + standardized fitness: 8546.2442 + adjusted fitness: 0.0001 +TREE: + (* (+ (+ (/ (* (/ x 0.73085) + (- x x)) x) x) + (cos (cos (log (cos x))))) + (+ (+ (+ (sin 0.76350) + (- (+ -0.61170 x) + (cos x))) + (log (exp (exp x)))) + (* x 0.79004))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 22 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8282.4369 + standardized fitness: 8282.4369 + adjusted fitness: 0.0001 +TREE: + (* (+ x + (exp (+ x -0.51409))) + (- (- (+ x x) + (/ 0.23684 x)) + (* (- x x) + (- x x)))) +=== BEST-OF-RUN === + current generation: 4 + generation: 3 + nodes: 22 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8282.4369 + standardized fitness: 8282.4369 + adjusted fitness: 0.0001 +TREE: + (* (+ x + (exp (+ x -0.51409))) + (- (- (+ x x) + (/ 0.23684 x)) + (* (- x x) + (- x x)))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 45 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8254.8804 + standardized fitness: 8254.8804 + adjusted fitness: 0.0001 +TREE: + (* (+ x + (exp (+ x -0.51409))) + (- (- (+ x x) + (* -0.32449 -0.49362)) + (* (* (* (/ x -0.12218) + (/ (- x x) + (exp x))) + (/ (+ (sin (+ (log -0.57575) + (log x))) + (cos -0.71029)) + (* (log x) + (cos 0.68564)))) + (- x x)))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 20 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5222.5261 + standardized fitness: 5222.5261 + adjusted fitness: 0.0002 +TREE: + (- (* x + (/ (* (- (/ x + (cos -0.74195)) -0.56031) + (* x x)) + (log x))) + (exp (* -0.60870 x))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 21 + depth: 7 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 1346.6346 + standardized fitness: 1346.6346 + adjusted fitness: 0.0007 +TREE: + (+ (sin x) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 30 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1346.5736 + standardized fitness: 1346.5736 + adjusted fitness: 0.0007 +TREE: + (+ (+ (sin (log (/ 0.58855 -0.39013))) + (log (log (+ 0.17262 x)))) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 21 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1224.5802 + standardized fitness: 1224.5802 + adjusted fitness: 0.0008 +TREE: + (+ (cos -0.05120) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 42 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 593.9205 + standardized fitness: 593.9205 + adjusted fitness: 0.0017 +TREE: + (+ (- (+ (/ (log 0.73981) + (sin x)) + (* x + (- (* (+ 0.70882 0.21918) + (+ 0.33647 x)) 0.40098))) + (log (exp (- -0.82022 -0.12857)))) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 45 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 408.9588 + standardized fitness: 408.9588 + adjusted fitness: 0.0024 +TREE: + (+ (- (+ (sin (log (/ (log x) + (+ x -0.10147)))) + (* x + (- (* (+ 0.70882 0.21918) + (+ 0.33647 x)) 0.40098))) + (log (exp (- -0.82022 -0.12857)))) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 33 + depth: 7 + hits: 11 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 11 + raw fitness: 298.6731 + standardized fitness: 298.6731 + adjusted fitness: 0.0033 +TREE: + (+ (+ (sin (log (exp x))) + (* (cos (sin (/ -0.54804 x))) + (* x x))) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 31 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 259.6206 + standardized fitness: 259.6206 + adjusted fitness: 0.0038 +TREE: + (+ (+ (sin (log (cos x))) + (* (cos (sin (/ -0.54804 x))) + (* x x))) + (* (* (* (cos (sin 0.20225)) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 30 + depth: 7 + hits: 11 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 11 + raw fitness: 253.3921 + standardized fitness: 253.3921 + adjusted fitness: 0.0039 +TREE: + (+ (+ (sin (log (exp x))) + (* (cos -0.54804) + (* x x))) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 42 + depth: 8 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 181.8268 + standardized fitness: 181.8268 + adjusted fitness: 0.0055 +TREE: + (+ (+ (* (cos (sin (+ (cos (log -0.82199)) + (sin (- 0.83999 x))))) + (* x x)) + (log (exp (+ -0.40202 + (log (- x x)))))) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 40 + depth: 8 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 163.4673 + standardized fitness: 163.4673 + adjusted fitness: 0.0061 +TREE: + (+ (+ (* (cos (sin (+ (cos (log -0.82199)) + (sin (- 0.83999 x))))) + (* x x)) + (log (exp (+ -0.40202 + (sin 0.32564))))) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 17 + generation: 16 + nodes: 40 + depth: 8 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 163.4673 + standardized fitness: 163.4673 + adjusted fitness: 0.0061 +TREE: + (+ (+ (* (cos (sin (+ (cos (log -0.82199)) + (sin (- 0.83999 x))))) + (* x x)) + (log (exp (+ -0.40202 + (sin 0.32564))))) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 18 + generation: 16 + nodes: 40 + depth: 8 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 163.4673 + standardized fitness: 163.4673 + adjusted fitness: 0.0061 +TREE: + (+ (+ (* (cos (sin (+ (cos (log -0.82199)) + (sin (- 0.83999 x))))) + (* x x)) + (log (exp (+ -0.40202 + (sin 0.32564))))) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 19 + generation: 16 + nodes: 40 + depth: 8 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 163.4673 + standardized fitness: 163.4673 + adjusted fitness: 0.0061 +TREE: + (+ (+ (* (cos (sin (+ (cos (log -0.82199)) + (sin (- 0.83999 x))))) + (* x x)) + (log (exp (+ -0.40202 + (sin 0.32564))))) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 50 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 157.4234 + standardized fitness: 157.4234 + adjusted fitness: 0.0063 +TREE: + (+ (- (+ (sin x) + (* x + (- (* (+ 0.70882 0.21918) + (+ (- (cos -0.36915) + (+ (cos (cos x)) + (log (* x 0.29402)))) x)) 0.40098))) + (log (cos (sin (/ -0.54804 x))))) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 21 + generation: 20 + nodes: 50 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 157.4234 + standardized fitness: 157.4234 + adjusted fitness: 0.0063 +TREE: + (+ (- (+ (sin x) + (* x + (- (* (+ 0.70882 0.21918) + (+ (- (cos -0.36915) + (+ (cos (cos x)) + (log (* x 0.29402)))) x)) 0.40098))) + (log (cos (sin (/ -0.54804 x))))) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 22 + generation: 20 + nodes: 50 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 157.4234 + standardized fitness: 157.4234 + adjusted fitness: 0.0063 +TREE: + (+ (- (+ (sin x) + (* x + (- (* (+ 0.70882 0.21918) + (+ (- (cos -0.36915) + (+ (cos (cos x)) + (log (* x 0.29402)))) x)) 0.40098))) + (log (cos (sin (/ -0.54804 x))))) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 65 + depth: 12 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 153.1875 + standardized fitness: 153.1875 + adjusted fitness: 0.0065 +TREE: + (+ (+ (* (cos (sin (+ (cos (log -0.82199)) + (sin (- 0.83999 x))))) + (* x x)) + (sin (/ (/ (/ (cos (sin (log (exp (* (* 0.39603 x) -0.72971))))) + (* x + (- (+ (sin x) 0.15854) + (log -0.13975)))) + (exp (sin (log x)))) + (cos (sin (/ -0.54804 x)))))) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 36 + depth: 8 + hits: 11 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 11 + raw fitness: 128.6075 + standardized fitness: 128.6075 + adjusted fitness: 0.0077 +TREE: + (+ (+ (* (cos (sin (+ (cos (log -0.82199)) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 25 + generation: 25 + nodes: 39 + depth: 10 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 122.8443 + standardized fitness: 122.8443 + adjusted fitness: 0.0081 +TREE: + (+ (+ (* (cos (sin (+ (cos (log (exp (- -0.82022 -0.12857)))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 39 + depth: 11 + hits: 12 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 12 + raw fitness: 120.2315 + standardized fitness: 120.2315 + adjusted fitness: 0.0082 +TREE: + (+ (+ (* (cos (sin (+ (cos (exp (log (log (log x))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 27 + generation: 26 + nodes: 39 + depth: 11 + hits: 12 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 12 + raw fitness: 120.2315 + standardized fitness: 120.2315 + adjusted fitness: 0.0082 +TREE: + (+ (+ (* (cos (sin (+ (cos (exp (log (log (log x))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 28 + generation: 26 + nodes: 39 + depth: 11 + hits: 12 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 12 + raw fitness: 120.2315 + standardized fitness: 120.2315 + adjusted fitness: 0.0082 +TREE: + (+ (+ (* (cos (sin (+ (cos (exp (log (log (log x))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 29 + generation: 26 + nodes: 39 + depth: 11 + hits: 12 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 12 + raw fitness: 120.2315 + standardized fitness: 120.2315 + adjusted fitness: 0.0082 +TREE: + (+ (+ (* (cos (sin (+ (cos (exp (log (log (log x))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 30 + generation: 26 + nodes: 39 + depth: 11 + hits: 12 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 12 + raw fitness: 120.2315 + standardized fitness: 120.2315 + adjusted fitness: 0.0082 +TREE: + (+ (+ (* (cos (sin (+ (cos (exp (log (log (log x))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 31 + generation: 31 + nodes: 49 + depth: 12 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 109.1497 + standardized fitness: 109.1497 + adjusted fitness: 0.0091 +TREE: + (+ (+ (* (cos (sin (+ (cos (cos (+ (sin (- (log x) + (cos 0.12723))) + (+ (/ x x) x)))) + (sin (- 0.83999 x))))) + (* x x)) + (sin (+ 0.33647 x))) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 32 + generation: 31 + nodes: 49 + depth: 12 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 109.1497 + standardized fitness: 109.1497 + adjusted fitness: 0.0091 +TREE: + (+ (+ (* (cos (sin (+ (cos (cos (+ (sin (- (log x) + (cos 0.12723))) + (+ (/ x x) x)))) + (sin (- 0.83999 x))))) + (* x x)) + (sin (+ 0.33647 x))) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 33 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 34 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 35 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 36 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 37 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 38 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 39 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 40 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 41 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 42 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 43 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 44 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 45 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 46 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 47 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 48 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 49 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) +=== BEST-OF-RUN === + current generation: 50 + generation: 33 + nodes: 47 + depth: 12 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 91.6646 + standardized fitness: 91.6646 + adjusted fitness: 0.0108 +TREE: + (+ (+ (* (cos (sin (+ (cos (sin (+ (exp (/ (log x) + (log x))) + (exp (cos (- x -0.79752)))))) + (sin (- 0.83999 x))))) + (* x x)) + (sin x)) + (* (* (* (cos (sin (/ -0.54804 x))) + (* x x)) + (+ (sin 0.32564) x)) + (+ 0.80455 x))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.prg b/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.prg new file mode 100644 index 0000000..ce49f14 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 1.32966, y = 8.57424 + x = -3.35859, y = 97.27772 + x = -2.14018, y = 13.61722 + x = -3.65802, y = 139.82819 + x = -2.46898, y = 25.73599 + x = 0.71527, y = 1.85457 + x = -1.40394, y = 1.68490 + x = -4.91122, y = 482.52654 + x = -2.93768, y = 54.81633 + x = 2.82246, y = 96.73427 + x = -2.79120, y = 43.95024 + x = 4.40089, y = 484.11819 + x = 3.21795, y = 154.12572 + x = 2.89035, y = 105.18167 + x = -4.87610, y = 468.27726 + x = -2.11097, y = 12.79600 + x = 4.80599, y = 672.40904 + x = -3.42572, y = 105.83015 + x = -2.20032, y = 15.42761 + x = 4.18500, y = 401.74540 + x = 4.54008, y = 543.60068 + x = 3.00412, y = 120.58556 + x = 0.88949, y = 3.01039 + x = 2.92260, y = 109.38675 + x = 2.15967, y = 38.65127 + x = -2.74978, y = 41.19273 + x = 1.17597, y = 6.09760 + x = 0.57857, y = 1.21905 + x = 2.42423, y = 57.08583 + x = 2.32511, y = 49.52749 + x = 1.97781, y = 28.92776 + x = 2.69509, y = 82.29289 + x = -0.50133, y = -0.31283 + x = -2.87650, y = 50.06027 + x = 2.21204, y = 41.87126 + x = -4.37835, y = 298.34464 + x = -2.15097, y = 13.92987 + x = -0.79443, y = -0.26638 + x = 2.05704, y = 32.89745 + x = 3.36887, y = 181.75850 + x = -1.37140, y = 1.46729 + x = -0.37757, y = -0.26851 + x = -1.97697, y = 9.48035 + x = 0.27772, y = 0.38222 + x = -2.96538, y = 57.07777 + x = 1.15207, y = 5.77010 + x = 3.79546, y = 280.39409 + x = -1.08421, y = 0.19864 + x = -3.09140, y = 68.25277 + x = -0.32043, y = -0.24011 + x = -0.72620, y = -0.30369 + x = -4.79484, y = 436.52373 + x = 1.94654, y = 27.46755 + x = 1.86394, y = 23.88470 + x = 3.67736, y = 249.79959 + x = 3.63457, y = 239.36394 + x = 2.14274, y = 37.65235 + x = -4.26368, y = 266.88083 + x = -0.87005, y = -0.19865 + x = -3.09064, y = 68.18093 + x = -2.13376, y = 13.43355 + x = 4.39049, y = 479.88025 + x = -1.96826, y = 9.28879 + x = -1.30655, y = 1.08423 + x = -0.80614, y = -0.25784 + x = 2.58637, y = 71.32367 + x = 1.37786, y = 9.49660 + x = -2.05977, y = 11.44409 + x = 0.85573, y = 2.75086 + x = -1.02817, y = 0.05958 + x = -0.90643, y = -0.15451 + x = 0.89021, y = 3.01616 + x = 4.66568, y = 601.86910 + x = 3.12012, y = 138.00243 + x = -0.08880, y = -0.08155 + x = 4.33492, y = 457.70789 + x = -3.94242, y = 191.89947 + x = 4.02554, y = 348.06668 + x = 4.24524, y = 423.57114 + x = 3.52510, y = 214.16894 + x = 0.10748, y = 0.12041 + x = 0.43965, y = 0.75529 + x = -3.55138, y = 123.33922 + x = 0.51487, y = 0.98671 + x = -0.54113, y = -0.32102 + x = 2.58732, y = 71.41391 + x = -0.33666, y = -0.24863 + x = -4.19478, y = 249.21557 + x = 2.92964, y = 110.32121 + x = 4.62566, y = 582.81835 + x = -0.75621, y = -0.28978 + x = 4.90880, y = 727.92330 + x = 3.34984, y = 178.08113 + x = -1.91479, y = 8.17393 + x = -0.72471, y = -0.30429 + x = 2.73839, y = 87.00323 + x = -0.04325, y = -0.04145 + x = -0.09709, y = -0.08849 + x = -4.63348, y = 378.28268 + x = -2.30031, y = 18.81820 + x = 0.09449, y = 0.10435 + x = 4.76991, y = 653.70304 + x = -0.32946, y = -0.24489 + x = -1.61650, y = 3.60063 + x = 4.57208, y = 558.02633 + x = 3.83415, y = 291.01061 + x = 3.75653, y = 270.01384 + x = -3.56833, y = 125.85778 + x = -2.59493, y = 32.00760 + x = -3.90996, y = 185.31923 + x = -1.02878, y = 0.06094 + x = 1.33752, y = 8.71964 + x = -2.19332, y = 15.20841 + x = -0.49571, y = -0.31141 + x = 2.66557, y = 79.19549 + x = -2.04257, y = 11.01396 + x = -3.95934, y = 195.39866 + x = 4.94654, y = 749.14309 + x = 4.41816, y = 491.21676 + x = 1.45547, y = 11.14471 + x = -2.37038, y = 21.49979 + x = -3.52505, y = 119.50351 + x = -2.42629, y = 23.83270 + x = -1.84396, y = 6.84777 + x = 3.87734, y = 303.21623 + x = -0.67634, y = -0.31904 + x = -3.78033, y = 160.71666 + x = 1.28217, y = 7.73662 + x = 3.54803, y = 219.27174 + x = 1.07705, y = 4.83217 + x = -4.42161, y = 310.91166 + x = 4.62591, y = 582.93312 + x = 1.62047, y = 15.39724 + x = 3.15520, y = 143.62931 + x = -0.44613, y = -0.29628 + x = 3.76996, y = 273.56170 + x = -2.36703, y = 21.36533 + x = 1.94434, y = 27.36716 + x = 2.84929, y = 100.00923 + x = -3.49856, y = 115.73523 + x = 1.54666, y = 13.36111 + x = -0.28320, y = -0.21928 + x = -3.61294, y = 132.66936 + x = -3.52583, y = 119.61600 + x = 1.99605, y = 29.80679 + x = -2.23116, y = 16.42130 + x = 2.33509, y = 50.25171 + x = 0.19380, y = 0.24005 + x = -0.79213, y = -0.26798 + x = 4.95163, y = 752.04119 + x = 1.51872, y = 12.64821 + x = 3.67458, y = 249.11206 + x = 1.35488, y = 9.04758 + x = -0.71053, y = -0.30951 + x = -2.87869, y = 50.22509 + x = 0.46859, y = 0.83926 + x = -1.85056, y = 6.96440 + x = 1.51534, y = 12.56404 + x = 3.82963, y = 289.75479 + x = -4.19788, y = 249.98926 + x = 1.20118, y = 6.45885 + x = -3.18781, y = 77.84810 + x = -1.41762, y = 1.78180 + x = -4.09637, y = 225.52224 + x = -0.45662, y = -0.29985 + x = 4.25442, y = 426.97276 + x = -0.04954, y = -0.04720 + x = -3.66749, y = 141.36897 + x = 2.50824, y = 64.15939 + x = -0.10327, y = -0.09359 + x = 0.62234, y = 1.40070 + x = 0.84685, y = 2.68567 + x = 0.73867, y = 1.98508 + x = 4.46653, y = 511.52090 + x = 4.93675, y = 743.59317 + x = -1.04496, y = 0.09829 + x = 0.12007, y = 0.13642 + x = 3.28424, y = 165.83749 + x = -3.96527, y = 196.63516 + x = -1.59124, y = 3.32302 + x = -3.82577, y = 169.04278 + x = -0.29568, y = -0.22646 + x = 2.45254, y = 59.39931 + x = 2.74591, y = 87.84163 + x = 4.87587, y = 709.77766 + x = 3.76620, y = 272.56347 + x = 1.04353, y = 4.45466 + x = 0.71684, y = 1.86313 + x = -1.38818, y = 1.57728 + x = 0.29946, y = 0.42402 + x = -1.18050, y = 0.51003 + x = -3.69954, y = 146.67536 + x = 4.43610, y = 498.67624 + x = -2.04744, y = 11.13466 + x = 0.87910, y = 2.92851 + x = -4.30019, y = 276.61524 + x = 3.97813, y = 333.20726 + x = -3.07947, y = 67.13059 + x = -3.46258, y = 110.75930 + x = -1.95899, y = 9.08822 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.stt b/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.stt new file mode 100644 index 0000000..0a170cb --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.396 3.723 36 6 44 6 0.0000 0.0001 0.0000 13.396 3.723 36 6 44 6 +1 0 0.0000 0.0001 0.0000 13.533 4.237 35 6 13 7 0.0000 0.0001 0.0000 13.465 3.980 36 6 44 6 +2 0 0.0000 0.0001 0.0000 14.103 4.578 64 6 11 6 0.0000 0.0001 0.0000 13.678 4.179 36 6 44 6 +3 0 0.0000 0.0001 0.0000 14.564 4.840 22 4 6 4 0.0000 0.0001 0.0000 13.899 4.345 22 4 44 6 +4 0 0.0000 0.0001 0.0000 15.403 5.096 37 7 6 4 0.0000 0.0001 0.0000 14.200 4.495 22 4 44 6 +5 0 0.0000 0.0001 0.0000 16.278 5.325 45 9 13 4 0.0000 0.0001 0.0000 14.546 4.633 45 9 44 6 +6 0 0.0000 0.0002 0.0000 17.203 5.529 20 7 16 6 0.0000 0.0002 0.0000 14.926 4.761 20 7 44 6 +7 0 0.0000 0.0007 0.0000 17.852 5.727 21 7 23 8 0.0000 0.0007 0.0000 15.292 4.882 21 7 44 6 +8 0 0.0000 0.0007 0.0000 18.586 5.872 30 7 18 6 0.0000 0.0007 0.0000 15.658 4.992 30 7 44 6 +9 0 0.0000 0.0008 0.0000 19.709 6.104 21 7 32 9 0.0000 0.0008 0.0000 16.063 5.103 21 7 44 6 +10 0 0.0000 0.0017 0.0000 21.210 6.354 42 7 11 6 0.0000 0.0017 0.0000 16.531 5.217 42 7 44 6 +11 0 0.0001 0.0024 0.0000 24.192 6.764 45 7 56 17 0.0000 0.0024 0.0000 17.169 5.346 45 7 44 6 +12 0 0.0002 0.0033 0.0000 30.815 7.640 33 7 37 12 0.0001 0.0033 0.0000 18.219 5.522 33 7 44 6 +13 0 0.0004 0.0038 0.0000 37.282 8.568 31 6 30 6 0.0001 0.0038 0.0000 19.580 5.740 31 6 44 6 +14 0 0.0005 0.0039 0.0000 41.065 9.129 30 7 26 7 0.0001 0.0039 0.0000 21.013 5.966 30 7 44 6 +15 0 0.0006 0.0055 0.0000 45.389 9.688 42 8 57 13 0.0001 0.0055 0.0000 22.536 6.198 42 8 44 6 +16 0 0.0007 0.0061 0.0000 49.160 10.070 40 8 40 10 0.0002 0.0061 0.0000 24.102 6.426 40 8 44 6 +17 0 0.0008 0.0061 0.0000 53.479 10.476 40 8 44 8 0.0002 0.0061 0.0000 25.734 6.651 40 8 44 6 +18 0 0.0010 0.0047 0.0000 58.085 10.909 36 8 67 11 0.0002 0.0061 0.0000 27.437 6.875 40 8 44 6 +19 0 0.0011 0.0053 0.0000 61.665 11.270 27 6 86 16 0.0003 0.0061 0.0000 29.148 7.095 40 8 44 6 +20 0 0.0013 0.0063 0.0000 65.545 11.700 50 11 50 13 0.0003 0.0063 0.0000 30.882 7.314 50 11 44 6 +21 0 0.0014 0.0062 0.0000 68.801 12.003 127 16 115 17 0.0004 0.0063 0.0000 32.605 7.527 50 11 44 6 +22 0 0.0015 0.0063 0.0000 72.036 12.283 61 12 98 14 0.0004 0.0063 0.0000 34.320 7.734 50 11 44 6 +23 0 0.0015 0.0065 0.0000 74.597 12.453 65 12 89 16 0.0005 0.0065 0.0000 35.998 7.931 65 12 44 6 +24 0 0.0017 0.0077 0.0000 77.609 12.661 36 8 128 17 0.0005 0.0077 0.0000 37.662 8.120 36 8 44 6 +25 0 0.0019 0.0081 0.0000 82.365 12.903 39 10 146 17 0.0006 0.0081 0.0000 39.382 8.304 39 10 44 6 +26 0 0.0022 0.0082 0.0000 87.425 13.149 39 11 68 13 0.0006 0.0082 0.0000 41.161 8.483 39 11 44 6 +27 0 0.0025 0.0077 0.0000 94.369 13.435 36 8 90 12 0.0007 0.0082 0.0000 43.061 8.660 39 11 44 6 +28 0 0.0029 0.0077 0.0000 102.535 13.772 36 8 175 16 0.0008 0.0082 0.0000 45.112 8.836 39 11 44 6 +29 0 0.0033 0.0078 0.0000 108.372 13.914 37 8 141 16 0.0009 0.0082 0.0000 47.221 9.006 39 11 44 6 +30 0 0.0037 0.0082 0.0000 113.453 14.119 39 8 102 13 0.0010 0.0082 0.0000 49.357 9.171 39 11 44 6 +31 0 0.0039 0.0091 0.0000 116.996 14.243 49 12 34 7 0.0010 0.0091 0.0000 51.471 9.329 49 12 44 6 +32 0 0.0040 0.0091 0.0000 118.621 14.296 49 12 151 14 0.0011 0.0091 0.0000 53.506 9.480 49 12 44 6 +33 0 0.0040 0.0108 0.0000 119.593 14.341 47 12 130 17 0.0012 0.0108 0.0000 55.450 9.623 47 12 44 6 +34 0 0.0041 0.0087 0.0000 122.366 14.531 46 12 144 16 0.0013 0.0108 0.0000 57.362 9.763 47 12 44 6 +35 0 0.0040 0.0077 0.0000 122.850 14.501 36 8 179 15 0.0014 0.0108 0.0000 59.181 9.895 47 12 44 6 +36 0 0.0041 0.0081 0.0000 124.428 14.538 47 8 144 17 0.0015 0.0108 0.0000 60.944 10.020 47 12 44 6 +37 0 0.0042 0.0080 0.0000 126.322 14.591 40 11 80 12 0.0015 0.0108 0.0000 62.665 10.140 47 12 44 6 +38 0 0.0042 0.0078 0.0000 128.071 14.684 46 8 133 16 0.0016 0.0108 0.0000 64.342 10.257 47 12 44 6 +39 0 0.0042 0.0080 0.0000 129.149 14.733 46 8 191 16 0.0017 0.0108 0.0000 65.962 10.369 47 12 44 6 +40 0 0.0042 0.0103 0.0000 128.986 14.752 35 8 132 15 0.0017 0.0108 0.0000 67.499 10.476 47 12 44 6 +41 0 0.0042 0.0078 0.0000 130.367 14.772 153 16 26 7 0.0018 0.0108 0.0000 68.996 10.578 47 12 44 6 +42 0 0.0042 0.0078 0.0000 131.274 14.777 153 16 143 13 0.0018 0.0108 0.0000 70.444 10.676 47 12 44 6 +43 0 0.0043 0.0079 0.0000 132.578 14.852 88 13 122 16 0.0019 0.0108 0.0000 71.856 10.770 47 12 44 6 +44 0 0.0042 0.0079 0.0000 132.494 14.793 71 9 158 16 0.0019 0.0108 0.0000 73.204 10.860 47 12 44 6 +45 0 0.0042 0.0078 0.0000 132.663 14.819 167 17 128 15 0.0020 0.0108 0.0000 74.496 10.946 47 12 44 6 +46 0 0.0043 0.0079 0.0000 134.833 14.914 49 14 61 10 0.0020 0.0108 0.0000 75.780 11.030 47 12 44 6 +47 0 0.0043 0.0078 0.0000 136.362 14.968 38 8 145 15 0.0021 0.0108 0.0000 77.042 11.112 47 12 44 6 +48 0 0.0043 0.0082 0.0000 137.424 14.997 37 8 49 9 0.0021 0.0108 0.0000 78.275 11.192 47 12 44 6 +49 0 0.0043 0.0080 0.0000 139.048 15.109 129 16 10 4 0.0022 0.0108 0.0000 79.490 11.270 47 12 44 6 +50 0 0.0043 0.0078 0.0000 140.019 15.159 38 8 198 17 0.0022 0.0108 0.0000 80.677 11.346 47 12 44 6 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.sys b/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.sys new file mode 100644 index 0000000..26e4969 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_0/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 165. +creating initial population(s): + 5583 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 402625905 + freed: 401623305 + not freed: 1002600 + max allocated: 15326708 + malloc'ed blocks: 749964 + realloc'ed blocks: 13 + free'ed blocks: 749814 + +------- time ------- + overall: 8s wall + evaluation: 6s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 500 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 144642 + freed: 144642 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.bst b/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.bst new file mode 100644 index 0000000..1a8fdec --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.bst @@ -0,0 +1,31 @@ +=== BEST-OF-RUN === + generation: 50 + nodes: 62 + depth: 15 + hits: 46 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 46 + raw fitness: 9.4189 + standardized fitness: 9.4189 + adjusted fitness: 0.0960 +TREE: + (+ (+ (* (- (- (* (+ (* (- (/ 0.08587 0.23394) + (cos (* x + (sin (cos (- (sin -0.05232) + (sin x))))))) 0.09773) + (+ (* x x) + (exp (cos (+ 0.37437 x))))) + (+ 0.89635 x)) + (* x x)) + (sin (+ 0.89635 x))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +TREE-equ: +y = ((((((((((0.08587 / 0.23394) - cos((x * sin(cos((sin(-0.05232) - sin(x))))))) * 0.09773) + ((x * x) + exp(cos((0.37437 + x))))) * (0.89635 + x)) - (x * x)) - sin((0.89635 + x))) * 0.09773) + ((x * cos((-0.31664 / x))) + (x * x))) + (((x * x) * (0.89635 + x)) * x)) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.fn b/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.fn new file mode 100644 index 0000000..c7ec0aa --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.fn @@ -0,0 +1,2 @@ + +y = ((((((((((0.08587 / 0.23394) - cos((x * sin(cos((sin(-0.05232) - sin(x))))))) * 0.09773) + ((x * x) + exp(cos((0.37437 + x))))) * (0.89635 + x)) - (x * x)) - sin((0.89635 + x))) * 0.09773) + ((x * cos((-0.31664 / x))) + (x * x))) + (((x * x) * (0.89635 + x)) * x)) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.gen b/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.his b/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.his new file mode 100644 index 0000000..131be0a --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.his @@ -0,0 +1,1425 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 12 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 12360.8733 + standardized fitness: 12360.8733 + adjusted fitness: 0.0001 +TREE: + (+ x + (exp (+ x + (log (* (+ x x) + (exp -0.32019)))))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 18 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11459.2345 + standardized fitness: 11459.2345 + adjusted fitness: 0.0001 +TREE: + (/ (+ (/ (sin (exp 0.17400)) + (exp (- -0.60230 x))) + (log (log (* 0.39523 0.48122)))) + (cos (exp 0.26335))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 15 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7257.9122 + standardized fitness: 7257.9122 + adjusted fitness: 0.0001 +TREE: + (* (* (/ (* x x) + (sin -0.55174)) + (* x + (* x -0.95925))) + (sin 0.49923)) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 19 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6111.2769 + standardized fitness: 6111.2769 + adjusted fitness: 0.0002 +TREE: + (log (exp (* (- (/ x x) + (/ x -0.13773)) + (* x + (* (log (+ 0.66486 x)) + (log x)))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 3 + nodes: 19 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6111.2769 + standardized fitness: 6111.2769 + adjusted fitness: 0.0002 +TREE: + (log (exp (* (- (/ x x) + (/ x -0.13773)) + (* x + (* (log (+ 0.66486 x)) + (log x)))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 15 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5080.6011 + standardized fitness: 5080.6011 + adjusted fitness: 0.0002 +TREE: + (+ (/ -0.88670 0.41831) + (* 0.88806 + (* (* (* x x) + (+ 0.89635 x)) x))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 18 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 4773.3336 + standardized fitness: 4773.3336 + adjusted fitness: 0.0002 +TREE: + (+ (- (cos (log (exp x))) 0.10872) + (* 0.88806 + (* (* (* x x) + (+ 0.89635 x)) x))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 16 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1763.2603 + standardized fitness: 1763.2603 + adjusted fitness: 0.0006 +TREE: + (+ (- (exp x) 0.68535) + (* 0.88806 + (* (* (* x x) + (+ 0.89635 x)) x))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 11 + depth: 4 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 1762.9504 + standardized fitness: 1762.9504 + adjusted fitness: 0.0006 +TREE: + (+ (* (* (* x x) + (+ 0.89635 x)) x) x) +=== BEST-OF-RUN === + current generation: 9 + generation: 8 + nodes: 11 + depth: 4 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 1762.9504 + standardized fitness: 1762.9504 + adjusted fitness: 0.0006 +TREE: + (+ (* (* (* x x) + (+ 0.89635 x)) x) x) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 13 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1751.6744 + standardized fitness: 1751.6744 + adjusted fitness: 0.0006 +TREE: + (+ x + (+ x + (* (* (* x x) + (+ 0.89635 x)) x))) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 16 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1185.9696 + standardized fitness: 1185.9696 + adjusted fitness: 0.0008 +TREE: + (+ (+ (log -0.45516) + (* x x)) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 13 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1176.3801 + standardized fitness: 1176.3801 + adjusted fitness: 0.0008 +TREE: + (+ (* x x) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 26 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 919.3750 + standardized fitness: 919.3750 + adjusted fitness: 0.0011 +TREE: + (+ (* x x) + (exp (log (- (* (* (* x x) + (+ 0.89635 x)) x) + (- 0.47859 + (/ (* (/ x x) x) + (exp 0.56682))))))) +=== BEST-OF-RUN === + current generation: 14 + generation: 13 + nodes: 26 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 919.3750 + standardized fitness: 919.3750 + adjusted fitness: 0.0011 +TREE: + (+ (* x x) + (exp (log (- (* (* (* x x) + (+ 0.89635 x)) x) + (- 0.47859 + (/ (* (/ x x) x) + (exp 0.56682))))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 70 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 764.5924 + standardized fitness: 764.5924 + adjusted fitness: 0.0013 +TREE: + (+ (+ (* (- (* 0.88806 + (* (* (* x x) + (+ 0.89635 x)) + (- (- x -0.09286) + (sin x)))) + (/ (* (+ -0.60606 x) x) + (exp 0.56682))) 0.09773) + (+ (exp (exp (- (* -0.25649 x) + (* -0.53070 x)))) + (exp (cos (exp (- (* 0.73954 + (cos (* (* (* (* x x) + (+ 0.89635 x)) x) + (log x)))) 0.10396)))))) + (* 0.88806 + (* (* (* x x) + (+ 0.89635 x)) x))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 43 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 690.0048 + standardized fitness: 690.0048 + adjusted fitness: 0.0014 +TREE: + (+ (log (+ (+ (* (exp (/ x 0.36091)) + (+ (exp x) x)) + (- (- (* 0.60974 0.30221) + (sin -0.69093)) + (exp (cos x)))) + (+ x + (* (* (* x x) + (+ 0.89635 x)) x)))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 43 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 469.3376 + standardized fitness: 469.3376 + adjusted fitness: 0.0021 +TREE: + (+ (+ (* (- (cos (/ x + (- x + (cos (- x + (cos x)))))) + (cos (exp (cos (exp 0.59707))))) 0.09773) + (+ (* x x) + (exp (cos (exp (- x 0.10396)))))) + (* (* (* x x) + (+ x + (+ (sin (cos 0.96397)) 0.54996))) x)) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 39 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 424.6089 + standardized fitness: 424.6089 + adjusted fitness: 0.0023 +TREE: + (+ (+ (* (* (* (* x x) + (+ 0.89635 x)) x) 0.09773) + (+ (* x + (+ (exp (cos (log 0.69842))) x)) + (exp (cos (exp (- x 0.10396)))))) + (* 0.88806 + (* (* (* x x) + (+ 0.89635 x)) x))) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 58 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 385.5810 + standardized fitness: 385.5810 + adjusted fitness: 0.0026 +TREE: + (+ (+ (* (- (cos (/ x + (- x + (cos (- x + (cos x)))))) + (cos (exp (cos (exp 0.59707))))) 0.09773) + (+ (* x x) + (exp (cos (exp (* (- (sin -0.33925) + (/ (* 0.33041 x) + (exp (* x x)))) + (log (/ x + (* x x))))))))) + (* (* (* x x) + (+ x + (+ (sin (cos 0.96397)) 0.54996))) x)) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 44 + depth: 8 + hits: 15 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 15 + raw fitness: 46.0483 + standardized fitness: 46.0483 + adjusted fitness: 0.0213 +TREE: + (+ (+ (* (- (- (* (* x x) + (+ 0.89635 x)) + (* x x)) + (cos (exp (/ (+ -0.58155 0.71801) + (+ x 0.34946))))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 40 + depth: 7 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 41.2446 + standardized fitness: 41.2446 + adjusted fitness: 0.0237 +TREE: + (+ (+ (* (- (- (* (* x x) + (+ 0.89635 x)) + (* x x)) + (cos (exp (+ 0.03265 x)))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 22 + generation: 22 + nodes: 75 + depth: 15 + hits: 14 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 14 + raw fitness: 39.9290 + standardized fitness: 39.9290 + adjusted fitness: 0.0244 +TREE: + (+ (+ (* (- (- (* (* x + (+ 0.89635 x)) x) + (* x x)) + (cos (exp (/ (exp (cos (- (cos (/ (log (/ x + (* x x))) + (* (- (* -0.29219 0.27687) + (exp x)) x))) + (/ (cos (/ -0.31664 x)) + (/ x + (exp (- (+ -0.87539 0.14788) + (+ -0.27443 x)))))))) + (+ x 0.34946))))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 38 + depth: 7 + hits: 26 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 26 + raw fitness: 33.1676 + standardized fitness: 33.1676 + adjusted fitness: 0.0293 +TREE: + (+ (+ (* (- (- (* (* x x) + (+ 0.89635 x)) + (* x x)) + (* -0.25649 x)) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 71 + depth: 14 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 26.9409 + standardized fitness: 26.9409 + adjusted fitness: 0.0358 +TREE: + (+ (+ (* (- (- (* (+ (* (- (cos (/ x + (- x + (exp (- x -0.59986))))) + (cos (exp (cos (exp 0.05571))))) 0.09773) + (+ (* x x) + (exp (cos (* x + (cos (/ 0.08776 x))))))) + (+ 0.89635 x)) + (* x x)) + (cos (exp (/ (- x -0.59986) + (+ 0.89635 x))))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 25 + generation: 25 + nodes: 45 + depth: 8 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 21.0303 + standardized fitness: 21.0303 + adjusted fitness: 0.0454 +TREE: + (+ (+ (* (- (- (* (* x x) + (+ 0.89635 x)) + (* x x)) + (* (cos (- x + (* x 0.22567))) + (+ 0.89635 x))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 26 + generation: 25 + nodes: 45 + depth: 8 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 21.0303 + standardized fitness: 21.0303 + adjusted fitness: 0.0454 +TREE: + (+ (+ (* (- (- (* (* x x) + (+ 0.89635 x)) + (* x x)) + (* (cos (- x + (* x 0.22567))) + (+ 0.89635 x))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 27 + generation: 27 + nodes: 56 + depth: 9 + hits: 14 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 14 + raw fitness: 20.1403 + standardized fitness: 20.1403 + adjusted fitness: 0.0473 +TREE: + (+ (+ (* (- (- (* (* x + (+ 0.89635 x)) x) + (* x x)) + (* (- (+ (- (log x) x) + (sin (cos x))) + (cos (- 0.50396 + (/ x x)))) + (cos (cos (+ 0.66157 x))))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 28 + generation: 27 + nodes: 56 + depth: 9 + hits: 14 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 14 + raw fitness: 20.1403 + standardized fitness: 20.1403 + adjusted fitness: 0.0473 +TREE: + (+ (+ (* (- (- (* (* x + (+ 0.89635 x)) x) + (* x x)) + (* (- (+ (- (log x) x) + (sin (cos x))) + (cos (- 0.50396 + (/ x x)))) + (cos (cos (+ 0.66157 x))))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 29 + generation: 27 + nodes: 56 + depth: 9 + hits: 14 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 14 + raw fitness: 20.1403 + standardized fitness: 20.1403 + adjusted fitness: 0.0473 +TREE: + (+ (+ (* (- (- (* (* x + (+ 0.89635 x)) x) + (* x x)) + (* (- (+ (- (log x) x) + (sin (cos x))) + (cos (- 0.50396 + (/ x x)))) + (cos (cos (+ 0.66157 x))))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 30 + generation: 30 + nodes: 56 + depth: 9 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 19.6892 + standardized fitness: 19.6892 + adjusted fitness: 0.0483 +TREE: + (+ (+ (* (- (- (* (* x + (+ 0.89635 x)) x) + (* x x)) + (* (- (+ (- (log x) x) + (sin (cos x))) + (cos (- 0.71801 + (/ x x)))) + (cos (cos (+ 0.66157 x))))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 31 + generation: 31 + nodes: 92 + depth: 14 + hits: 16 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 16 + raw fitness: 18.8424 + standardized fitness: 18.8424 + adjusted fitness: 0.0504 +TREE: + (+ (+ (* (- (- (* (+ (* (- x + (cos (exp (cos (exp 0.05571))))) 0.09773) + (+ (* x x) + (exp (cos (* x + (cos (/ 0.08776 x))))))) + (+ 0.89635 x)) + (* x x)) + (cos (exp (/ (- x -0.59986) + (* (+ (- (- -0.63875 0.49531) + (* x x)) + (- (sin x) -0.36496)) + (/ (+ (/ x x) + (+ 0.37437 x)) + (sin (cos (- (cos x) + (+ (* x x) + (exp -0.08370))))))))))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 32 + generation: 31 + nodes: 92 + depth: 14 + hits: 16 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 16 + raw fitness: 18.8424 + standardized fitness: 18.8424 + adjusted fitness: 0.0504 +TREE: + (+ (+ (* (- (- (* (+ (* (- x + (cos (exp (cos (exp 0.05571))))) 0.09773) + (+ (* x x) + (exp (cos (* x + (cos (/ 0.08776 x))))))) + (+ 0.89635 x)) + (* x x)) + (cos (exp (/ (- x -0.59986) + (* (+ (- (- -0.63875 0.49531) + (* x x)) + (- (sin x) -0.36496)) + (/ (+ (/ x x) + (+ 0.37437 x)) + (sin (cos (- (cos x) + (+ (* x x) + (exp -0.08370))))))))))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 33 + generation: 31 + nodes: 92 + depth: 14 + hits: 16 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 16 + raw fitness: 18.8424 + standardized fitness: 18.8424 + adjusted fitness: 0.0504 +TREE: + (+ (+ (* (- (- (* (+ (* (- x + (cos (exp (cos (exp 0.05571))))) 0.09773) + (+ (* x x) + (exp (cos (* x + (cos (/ 0.08776 x))))))) + (+ 0.89635 x)) + (* x x)) + (cos (exp (/ (- x -0.59986) + (* (+ (- (- -0.63875 0.49531) + (* x x)) + (- (sin x) -0.36496)) + (/ (+ (/ x x) + (+ 0.37437 x)) + (sin (cos (- (cos x) + (+ (* x x) + (exp -0.08370))))))))))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 34 + generation: 34 + nodes: 59 + depth: 12 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 17.8488 + standardized fitness: 17.8488 + adjusted fitness: 0.0531 +TREE: + (+ (+ (* (- (- (* (* x x) + (- x 0.10396)) + (/ x -0.79369)) + (* (- (- (* (* (log (/ (* x x) x)) + (sin x)) x) + (* x x)) + (/ (- x + (cos x)) -0.28381)) 0.09773)) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 35 + generation: 35 + nodes: 86 + depth: 13 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 17.3929 + standardized fitness: 17.3929 + adjusted fitness: 0.0544 +TREE: + (+ (+ (* (- (- (* (+ (* (- x + (cos (exp (cos (exp 0.05571))))) 0.09773) + (+ (* x x) + (exp (cos (* x + (cos (/ 0.08776 x))))))) + (+ 0.89635 x)) + (* x x)) + (cos (* (- (* x + (+ 0.89635 x)) + (cos (/ (/ (exp (* x -0.48996)) + (- (+ (* x x) + (* x x)) + (* x -0.90055))) + (sin (exp (+ x x)))))) 0.09773))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 36 + generation: 36 + nodes: 71 + depth: 13 + hits: 12 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 12 + raw fitness: 17.1256 + standardized fitness: 17.1256 + adjusted fitness: 0.0552 +TREE: + (+ (+ (* (- (- (* (+ (* (- x + (cos (exp (cos (exp 0.05571))))) 0.09773) + (+ (* x x) + (exp (cos (* x + (cos (/ 0.08776 x))))))) + (+ 0.89635 x)) + (* x x)) + (cos (* (- (* x + (+ 0.89635 x)) + (exp (cos (* x + (cos (/ 0.08776 x)))))) 0.09773))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 37 + generation: 37 + nodes: 69 + depth: 13 + hits: 14 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 14 + raw fitness: 15.5682 + standardized fitness: 15.5682 + adjusted fitness: 0.0604 +TREE: + (+ (+ (* (- (- (* (+ (* (- x + (cos (exp (cos (exp 0.05571))))) 0.09773) + (+ (* x x) + (exp (cos (* x + (exp 0.05571)))))) + (+ 0.89635 x)) + (* x x)) + (cos (* (- (* x + (+ 0.89635 x)) + (exp (cos (* x + (cos (/ 0.08776 x)))))) 0.09773))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 38 + generation: 38 + nodes: 88 + depth: 13 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 14.2321 + standardized fitness: 14.2321 + adjusted fitness: 0.0657 +TREE: + (+ (+ (* (- (- (* (+ (* (- x + (cos (exp (cos (exp 0.05571))))) 0.09773) + (+ (* x x) + (exp (cos (* x + (exp 0.05571)))))) + (+ 0.89635 x)) + (* x x)) + (cos (* (+ (* (- (- (* (* x + (+ 0.89635 x)) x) + (* x x)) + (cos (exp (/ (exp x) + (+ x 0.34946))))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) 0.09773))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 39 + generation: 39 + nodes: 87 + depth: 13 + hits: 26 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 26 + raw fitness: 13.0796 + standardized fitness: 13.0796 + adjusted fitness: 0.0710 +TREE: + (+ (+ (* (- (- (* (+ (* (- x + (cos (+ 0.89635 x))) 0.09773) + (+ (* x x) + (exp (cos (* x + (exp 0.05571)))))) + (+ 0.89635 x)) + (* x x)) + (cos (* (+ (* (- (- (* (* x + (+ 0.89635 x)) x) + (* x x)) + (cos (exp (/ (exp x) + (+ x 0.34946))))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) 0.09773))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 40 + generation: 39 + nodes: 87 + depth: 13 + hits: 26 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 26 + raw fitness: 13.0796 + standardized fitness: 13.0796 + adjusted fitness: 0.0710 +TREE: + (+ (+ (* (- (- (* (+ (* (- x + (cos (+ 0.89635 x))) 0.09773) + (+ (* x x) + (exp (cos (* x + (exp 0.05571)))))) + (+ 0.89635 x)) + (* x x)) + (cos (* (+ (* (- (- (* (* x + (+ 0.89635 x)) x) + (* x x)) + (cos (exp (/ (exp x) + (+ x 0.34946))))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) 0.09773))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 41 + generation: 39 + nodes: 87 + depth: 13 + hits: 26 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 26 + raw fitness: 13.0796 + standardized fitness: 13.0796 + adjusted fitness: 0.0710 +TREE: + (+ (+ (* (- (- (* (+ (* (- x + (cos (+ 0.89635 x))) 0.09773) + (+ (* x x) + (exp (cos (* x + (exp 0.05571)))))) + (+ 0.89635 x)) + (* x x)) + (cos (* (+ (* (- (- (* (* x + (+ 0.89635 x)) x) + (* x x)) + (cos (exp (/ (exp x) + (+ x 0.34946))))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) 0.09773))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 42 + generation: 42 + nodes: 81 + depth: 15 + hits: 22 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 22 + raw fitness: 12.4963 + standardized fitness: 12.4963 + adjusted fitness: 0.0741 +TREE: + (+ (+ (* (- (- (* (+ (* (- (sin (- (cos (* x + (cos (/ -0.31664 x)))) + (/ x 0.80885))) + (cos (* (/ (* (log (log -0.65817)) + (/ -0.51256 + (- x x))) 0.46850) + (* (* x x) + (+ 0.89635 x))))) 0.09773) + (+ (* x x) + (exp (cos (+ 0.37437 x))))) + (+ 0.89635 x)) + (* x x)) + (sin (+ 0.89635 x))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 43 + generation: 43 + nodes: 72 + depth: 14 + hits: 25 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 25 + raw fitness: 12.0615 + standardized fitness: 12.0615 + adjusted fitness: 0.0766 +TREE: + (+ (+ (* (- (- (* (+ (* (- (sin (sin (+ (sin (sin -0.86958)) + (exp (/ x x))))) + (cos (* (/ (sin x) 0.46850) + (* (* x x) + (+ 0.89635 x))))) 0.09773) + (+ (* x x) + (exp (cos (+ 0.37437 x))))) + (+ 0.89635 x)) + (* x x)) + (sin (+ 0.89635 x))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 44 + generation: 44 + nodes: 64 + depth: 13 + hits: 21 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 21 + raw fitness: 11.6277 + standardized fitness: 11.6277 + adjusted fitness: 0.0792 +TREE: + (+ (+ (* (- (- (* (+ (* (- (exp 0.17404) + (cos (* (/ (sin x) 0.46850) + (* (* x x) + (+ 0.89635 x))))) 0.09773) + (+ (* x x) + (exp (cos (+ 0.37437 x))))) + (+ 0.89635 x)) + (* x x)) + (sin (+ 0.89635 x))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 45 + generation: 45 + nodes: 79 + depth: 15 + hits: 29 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 29 + raw fitness: 11.2873 + standardized fitness: 11.2873 + adjusted fitness: 0.0814 +TREE: + (+ (+ (* (- (- (* (+ (* (- (log (+ (log (/ x 0.55221)) + (cos (/ x x)))) + (cos (* (/ (* (log (log -0.65817)) + (/ -0.51256 + (- x x))) 0.46850) + (* (* x x) + (+ 0.89635 x))))) 0.09773) + (+ (* x x) + (exp (cos (+ 0.37437 x))))) + (+ 0.89635 x)) + (* x x)) + (sin (+ 0.89635 x))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 46 + generation: 46 + nodes: 70 + depth: 14 + hits: 38 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 38 + raw fitness: 10.7468 + standardized fitness: 10.7468 + adjusted fitness: 0.0851 +TREE: + (+ (+ (* (- (- (* (+ (* (- (sin (exp (cos (- (- 0.89454 0.33762) + (+ -0.19871 -0.66671))))) + (cos (* (cos (/ -0.31664 x)) + (* x + (+ 0.89635 x))))) 0.09773) + (+ (* x x) + (exp (cos (+ 0.37437 x))))) + (+ 0.89635 x)) + (* x x)) + (sin (+ 0.89635 x))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 47 + generation: 47 + nodes: 85 + depth: 16 + hits: 39 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 39 + raw fitness: 10.5055 + standardized fitness: 10.5055 + adjusted fitness: 0.0869 +TREE: + (+ (+ (* (- (- (* (+ (* (- (log (+ (log (/ x 0.55221)) + (cos (/ x x)))) + (cos (* (exp (cos (- (* (exp 0.81989) + (+ 0.89635 x)) x))) + (* (* x x) + (cos (+ (* (log -0.59689) + (log x)) + (log (exp x)))))))) 0.09773) + (+ (* x x) + (exp (cos (+ 0.37437 x))))) + (+ 0.89635 x)) + (* x x)) + (sin (+ 0.89635 x))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 48 + generation: 47 + nodes: 85 + depth: 16 + hits: 39 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 39 + raw fitness: 10.5055 + standardized fitness: 10.5055 + adjusted fitness: 0.0869 +TREE: + (+ (+ (* (- (- (* (+ (* (- (log (+ (log (/ x 0.55221)) + (cos (/ x x)))) + (cos (* (exp (cos (- (* (exp 0.81989) + (+ 0.89635 x)) x))) + (* (* x x) + (cos (+ (* (log -0.59689) + (log x)) + (log (exp x)))))))) 0.09773) + (+ (* x x) + (exp (cos (+ 0.37437 x))))) + (+ 0.89635 x)) + (* x x)) + (sin (+ 0.89635 x))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 49 + generation: 47 + nodes: 85 + depth: 16 + hits: 39 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 39 + raw fitness: 10.5055 + standardized fitness: 10.5055 + adjusted fitness: 0.0869 +TREE: + (+ (+ (* (- (- (* (+ (* (- (log (+ (log (/ x 0.55221)) + (cos (/ x x)))) + (cos (* (exp (cos (- (* (exp 0.81989) + (+ 0.89635 x)) x))) + (* (* x x) + (cos (+ (* (log -0.59689) + (log x)) + (log (exp x)))))))) 0.09773) + (+ (* x x) + (exp (cos (+ 0.37437 x))))) + (+ 0.89635 x)) + (* x x)) + (sin (+ 0.89635 x))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) +=== BEST-OF-RUN === + current generation: 50 + generation: 50 + nodes: 62 + depth: 15 + hits: 46 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 46 + raw fitness: 9.4189 + standardized fitness: 9.4189 + adjusted fitness: 0.0960 +TREE: + (+ (+ (* (- (- (* (+ (* (- (/ 0.08587 0.23394) + (cos (* x + (sin (cos (- (sin -0.05232) + (sin x))))))) 0.09773) + (+ (* x x) + (exp (cos (+ 0.37437 x))))) + (+ 0.89635 x)) + (* x x)) + (sin (+ 0.89635 x))) 0.09773) + (+ (* x + (cos (/ -0.31664 x))) + (* x x))) + (* (* (* x x) + (+ 0.89635 x)) x)) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.prg b/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.prg new file mode 100644 index 0000000..2085d78 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -1.61119, y = 3.54108 + x = -0.48656, y = -0.30896 + x = 0.66357, y = 1.58995 + x = -1.12649, y = 0.32331 + x = -4.97963, y = 511.21612 + x = 0.74206, y = 2.00457 + x = 3.66729, y = 247.31329 + x = -3.12327, y = 71.32124 + x = 2.00583, y = 30.28692 + x = 0.47856, y = 0.86963 + x = 3.65841, y = 245.13811 + x = 2.10702, y = 35.61042 + x = 1.12717, y = 5.44395 + x = 0.59236, y = 1.27424 + x = -3.60790, y = 131.88585 + x = 0.95616, y = 3.58042 + x = 2.39456, y = 54.73642 + x = -3.70478, y = 147.55717 + x = -1.40823, y = 1.71494 + x = -0.53585, y = -0.32013 + x = 3.95590, y = 326.40875 + x = -3.97944, y = 199.61455 + x = 4.85181, y = 696.73606 + x = 2.93755, y = 111.37788 + x = 0.24711, y = 0.32700 + x = -0.26825, y = -0.21042 + x = -1.72032, y = 4.90652 + x = -2.27558, y = 17.93348 + x = -2.96455, y = 57.00870 + x = 4.30544, y = 446.26447 + x = 3.61026, y = 233.58579 + x = -2.67351, y = 36.45362 + x = 1.74229, y = 19.28129 + x = -2.88623, y = 50.79516 + x = 2.15830, y = 38.57003 + x = 1.68781, y = 17.45969 + x = -3.40491, y = 103.12183 + x = 1.48139, y = 11.74270 + x = 1.56251, y = 13.77936 + x = -2.18794, y = 15.04154 + x = -0.97017, y = -0.05618 + x = -3.86618, y = 176.71601 + x = 4.59212, y = 567.20176 + x = 2.19944, y = 41.07854 + x = 1.27337, y = 7.58869 + x = 4.25641, y = 427.71282 + x = -2.52269, y = 28.28696 + x = 1.93031, y = 26.73272 + x = 0.97267, y = 3.73405 + x = -2.69884, y = 37.98039 + x = -4.02295, y = 208.97876 + x = -4.57596, y = 359.00279 + x = -3.83460, y = 170.69705 + x = 2.93201, y = 110.63720 + x = 2.98372, y = 117.70543 + x = -3.93768, y = 190.92852 + x = 2.77115, y = 90.70252 + x = -1.45020, y = 2.02597 + x = 1.71520, y = 18.35808 + x = -1.66744, y = 4.20723 + x = -0.85302, y = -0.21660 + x = -2.81410, y = 45.53283 + x = 0.31422, y = 0.45372 + x = -0.80622, y = -0.25777 + x = -3.55127, y = 123.32374 + x = 2.52460, y = 65.61176 + x = 2.51490, y = 64.74813 + x = 3.92773, y = 317.94240 + x = 4.31899, y = 451.49921 + x = -2.86431, y = 49.15024 + x = -1.52115, y = 2.62707 + x = -4.53575, y = 345.97297 + x = 0.32255, y = 0.47098 + x = -3.70939, y = 148.33559 + x = -1.51290, y = 2.55209 + x = 3.53186, y = 215.66399 + x = 4.85516, y = 698.54446 + x = -3.08020, y = 67.19916 + x = 4.95382, y = 753.29218 + x = -0.81520, y = -0.25076 + x = 1.96060, y = 28.11688 + x = 4.72988, y = 633.41577 + x = 1.00922, y = 4.09302 + x = 3.70289, y = 256.18840 + x = 0.15846, y = 0.18818 + x = 1.42436, y = 10.45903 + x = 2.01228, y = 30.60621 + x = -2.45149, y = 24.94312 + x = -4.33496, y = 286.12956 + x = 4.63370, y = 586.60914 + x = 4.17291, y = 397.46707 + x = -2.33264, y = 20.02314 + x = 2.16239, y = 38.81401 + x = -0.57318, y = -0.32502 + x = 4.33321, y = 457.03657 + x = -1.43442, y = 1.90529 + x = 0.81126, y = 2.43649 + x = 3.30151, y = 168.99622 + x = -1.28766, y = 0.98455 + x = 2.74151, y = 87.35031 + x = 4.40124, y = 484.26253 + x = -4.44248, y = 317.11454 + x = 1.97649, y = 28.86489 + x = -3.21213, y = 80.42027 + x = 0.34056, y = 0.50948 + x = -3.75283, y = 155.82911 + x = -0.58517, y = -0.32587 + x = -2.53749, y = 29.02164 + x = -2.22645, y = 16.26661 + x = -3.44064, y = 107.80565 + x = -0.94996, y = -0.09043 + x = 0.22264, y = 0.28571 + x = -2.11524, y = 12.91384 + x = 2.08150, y = 34.20438 + x = -0.84035, y = -0.22891 + x = -3.52038, y = 118.83225 + x = 0.02351, y = 0.02407 + x = -4.11260, y = 229.30850 + x = -0.13943, y = -0.12232 + x = 2.88315, y = 104.26060 + x = -3.28666, y = 88.69898 + x = 4.21340, y = 411.92493 + x = 0.21539, y = 0.27392 + x = -3.42251, y = 105.40933 + x = -2.26555, y = 17.58359 + x = -2.07866, y = 11.93029 + x = -1.51224, y = 2.54609 + x = -1.46531, y = 2.14583 + x = 0.95006, y = 3.52491 + x = -2.76007, y = 41.86559 + x = -0.88297, y = -0.18390 + x = 2.39265, y = 54.58800 + x = 4.14625, y = 388.16026 + x = 3.39447, y = 186.79475 + x = -4.86524, y = 463.93818 + x = -3.26205, y = 85.89745 + x = 1.84513, y = 23.12200 + x = 3.92772, y = 317.93824 + x = -0.45676, y = -0.29990 + x = -1.32116, y = 1.16492 + x = -3.59914, y = 130.53372 + x = 1.12488, y = 5.41469 + x = 2.68794, y = 81.53411 + x = -2.21811, y = 15.99529 + x = 2.92037, y = 109.09144 + x = 4.95951, y = 756.54190 + x = 2.45197, y = 59.35170 + x = 0.58491, y = 1.24416 + x = -3.30763, y = 91.13864 + x = 1.41187, y = 10.19319 + x = -4.92218, y = 487.04164 + x = -2.72342, y = 39.50627 + x = -2.64855, y = 34.99500 + x = -3.52758, y = 119.86892 + x = -1.37553, y = 1.49388 + x = -2.99141, y = 59.26439 + x = -3.58873, y = 128.93957 + x = 3.58202, y = 227.00493 + x = -3.34689, y = 95.84149 + x = -1.39740, y = 1.63970 + x = -0.59796, y = -0.32636 + x = 0.48711, y = 0.89627 + x = 2.91927, y = 108.94718 + x = 4.09471, y = 370.63682 + x = -4.84150, y = 454.55221 + x = 2.92516, y = 109.72617 + x = 2.53471, y = 66.52156 + x = -4.89713, y = 476.77466 + x = 4.16113, y = 393.33683 + x = -0.79985, y = -0.26251 + x = -0.97235, y = -0.05231 + x = 4.43860, y = 499.72232 + x = 4.19503, y = 405.31759 + x = 3.44870, y = 197.81576 + x = 2.80533, y = 94.68800 + x = 4.43676, y = 498.95141 + x = 1.86195, y = 23.80311 + x = -1.25703, y = 0.83362 + x = 2.95301, y = 113.46780 + x = -4.27414, y = 269.64409 + x = -3.48993, y = 114.52690 + x = -0.09426, y = -0.08613 + x = -3.11843, y = 70.84814 + x = -2.65255, y = 35.22544 + x = 2.83789, y = 98.60759 + x = 3.62992, y = 238.25061 + x = 4.47338, y = 514.44630 + x = -4.94846, y = 497.99199 + x = 3.23596, y = 157.24424 + x = -2.79040, y = 43.89619 + x = -0.79675, y = -0.26474 + x = 1.74226, y = 19.28049 + x = 4.76658, y = 651.99729 + x = -4.65691, y = 386.35379 + x = 4.65118, y = 594.91501 + x = -3.03775, y = 63.31220 + x = 1.92985, y = 26.71203 + x = 4.23924, y = 421.35577 + x = -0.02344, y = -0.02291 + x = 3.48361, y = 205.16529 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.stt b/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.stt new file mode 100644 index 0000000..0a88166 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 12.716 3.642 12 6 20 6 0.0000 0.0001 0.0000 12.716 3.642 12 6 20 6 +1 0 0.0000 0.0001 0.0000 13.071 4.139 18 5 8 4 0.0000 0.0001 0.0000 12.893 3.891 18 5 20 6 +2 0 0.0000 0.0001 0.0000 13.651 4.449 15 4 30 8 0.0000 0.0001 0.0000 13.146 4.077 15 4 20 6 +3 0 0.0000 0.0002 0.0000 14.331 4.707 19 7 24 7 0.0000 0.0002 0.0000 13.442 4.235 19 7 20 6 +4 0 0.0000 0.0001 0.0000 15.010 4.960 16 6 10 5 0.0000 0.0002 0.0000 13.756 4.380 19 7 20 6 +5 0 0.0000 0.0002 0.0000 15.588 5.195 15 5 6 4 0.0000 0.0002 0.0000 14.061 4.516 15 5 20 6 +6 0 0.0000 0.0002 0.0000 16.230 5.387 18 5 7 5 0.0000 0.0002 0.0000 14.371 4.640 18 5 20 6 +7 0 0.0000 0.0006 0.0000 16.605 5.503 16 5 19 9 0.0000 0.0006 0.0000 14.650 4.748 16 5 20 6 +8 0 0.0000 0.0006 0.0000 17.462 5.702 11 4 24 10 0.0000 0.0006 0.0000 14.963 4.854 11 4 20 6 +9 0 0.0000 0.0006 0.0000 17.826 5.853 11 4 16 6 0.0000 0.0006 0.0000 15.249 4.954 11 4 20 6 +10 0 0.0000 0.0006 0.0000 18.513 5.977 13 5 7 4 0.0000 0.0006 0.0000 15.546 5.047 13 5 20 6 +11 0 0.0001 0.0008 0.0000 20.833 6.304 16 4 67 12 0.0000 0.0008 0.0000 15.986 5.152 16 4 20 6 +12 0 0.0001 0.0008 0.0000 27.106 6.926 13 4 34 9 0.0000 0.0008 0.0000 16.842 5.288 13 4 20 6 +13 0 0.0002 0.0011 0.0000 35.818 7.934 26 8 50 9 0.0001 0.0011 0.0000 18.197 5.477 26 8 20 6 +14 0 0.0002 0.0011 0.0000 41.490 8.660 26 8 31 8 0.0001 0.0011 0.0000 19.750 5.689 26 8 20 6 +15 0 0.0003 0.0013 0.0000 44.048 9.093 70 13 48 10 0.0001 0.0013 0.0000 21.269 5.902 70 13 20 6 +16 0 0.0003 0.0014 0.0000 45.578 9.462 43 7 21 7 0.0001 0.0014 0.0000 22.699 6.111 43 7 20 6 +17 0 0.0004 0.0021 0.0000 46.893 9.751 43 10 85 16 0.0001 0.0021 0.0000 24.043 6.314 43 10 20 6 +18 0 0.0004 0.0023 0.0000 48.342 10.002 39 8 120 17 0.0001 0.0023 0.0000 25.322 6.508 39 8 20 6 +19 0 0.0004 0.0026 0.0000 50.326 10.401 58 11 46 11 0.0001 0.0026 0.0000 26.572 6.702 58 11 20 6 +20 0 0.0005 0.0213 0.0000 52.304 10.654 44 8 44 9 0.0002 0.0213 0.0000 27.797 6.891 44 8 20 6 +21 0 0.0006 0.0237 0.0000 54.253 10.929 40 7 100 17 0.0002 0.0237 0.0000 29.000 7.074 40 7 20 6 +22 0 0.0009 0.0244 0.0000 55.059 10.965 75 15 52 10 0.0002 0.0244 0.0000 30.133 7.243 75 15 20 6 +23 0 0.0028 0.0293 0.0000 53.199 10.514 38 7 13 4 0.0003 0.0293 0.0000 31.094 7.380 38 7 20 6 +24 0 0.0057 0.0358 0.0000 50.786 10.106 71 14 54 11 0.0005 0.0358 0.0000 31.882 7.489 71 14 20 6 +25 0 0.0075 0.0454 0.0000 52.558 10.563 45 8 63 13 0.0008 0.0454 0.0000 32.677 7.607 45 8 20 6 +26 0 0.0086 0.0452 0.0000 56.132 11.262 47 8 16 5 0.0011 0.0454 0.0000 33.546 7.742 45 8 20 6 +27 0 0.0096 0.0473 0.0000 58.442 11.663 56 9 51 11 0.0014 0.0473 0.0000 34.435 7.882 56 9 20 6 +28 0 0.0102 0.0473 0.0000 61.159 12.084 56 9 82 15 0.0017 0.0473 0.0000 35.356 8.027 56 9 20 6 +29 0 0.0108 0.0465 0.0000 63.162 12.343 91 14 48 10 0.0020 0.0473 0.0000 36.283 8.171 56 9 20 6 +30 0 0.0108 0.0483 0.0000 65.238 12.491 56 9 125 17 0.0023 0.0483 0.0000 37.217 8.310 56 9 20 6 +31 0 0.0116 0.0504 0.0000 67.260 12.708 92 14 52 13 0.0026 0.0504 0.0000 38.156 8.448 92 14 20 6 +32 0 0.0123 0.0504 0.0000 68.748 12.872 92 14 73 14 0.0029 0.0504 0.0000 39.083 8.582 92 14 20 6 +33 0 0.0128 0.0498 0.0000 70.500 12.986 92 14 57 13 0.0032 0.0504 0.0000 40.007 8.711 92 14 20 6 +34 0 0.0134 0.0531 0.0000 72.546 13.119 59 12 115 13 0.0035 0.0531 0.0000 40.937 8.837 59 12 20 6 +35 0 0.0145 0.0544 0.0000 75.309 13.416 86 13 69 17 0.0038 0.0544 0.0000 41.892 8.965 86 13 20 6 +36 0 0.0156 0.0552 0.0000 77.222 13.512 71 13 97 16 0.0041 0.0552 0.0000 42.846 9.087 71 13 20 6 +37 0 0.0155 0.0604 0.0000 77.958 13.468 69 13 44 9 0.0044 0.0604 0.0000 43.770 9.203 69 13 20 6 +38 0 0.0169 0.0657 0.0000 81.033 13.787 88 13 54 12 0.0047 0.0657 0.0000 44.726 9.320 88 13 20 6 +39 0 0.0177 0.0710 0.0000 82.084 13.750 87 13 121 16 0.0050 0.0710 0.0000 45.660 9.431 87 13 20 6 +40 0 0.0185 0.0674 0.0000 84.480 13.883 70 13 87 15 0.0054 0.0710 0.0000 46.607 9.540 87 13 20 6 +41 0 0.0192 0.0686 0.0000 85.340 13.965 77 15 143 15 0.0057 0.0710 0.0000 47.529 9.645 87 13 20 6 +42 0 0.0200 0.0741 0.0000 86.974 14.020 81 15 117 14 0.0060 0.0741 0.0000 48.446 9.747 81 15 20 6 +43 0 0.0205 0.0766 0.0000 88.531 14.173 72 14 121 17 0.0064 0.0766 0.0000 49.357 9.847 72 14 20 6 +44 0 0.0213 0.0792 0.0000 89.986 14.229 64 13 78 17 0.0067 0.0792 0.0000 50.260 9.945 64 13 20 6 +45 0 0.0221 0.0814 0.0000 91.300 14.311 79 15 108 15 0.0070 0.0814 0.0000 51.152 10.040 79 15 20 6 +46 0 0.0222 0.0851 0.0000 92.261 14.344 70 14 132 17 0.0073 0.0851 0.0000 52.027 10.131 70 14 20 6 +47 0 0.0232 0.0869 0.0000 94.659 14.495 85 16 116 16 0.0077 0.0869 0.0000 52.915 10.222 85 16 20 6 +48 0 0.0239 0.0823 0.0000 95.990 14.532 88 17 74 15 0.0080 0.0869 0.0000 53.794 10.310 85 16 20 6 +49 0 0.0248 0.0868 0.0000 98.330 14.582 75 15 76 15 0.0083 0.0869 0.0000 54.685 10.395 85 16 20 6 +50 0 0.0258 0.0960 0.0000 101.301 14.678 62 15 123 17 0.0087 0.0960 0.0000 55.599 10.479 62 15 20 6 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.sys b/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.sys new file mode 100644 index 0000000..a6fc8f8 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_1/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 129. +creating initial population(s): + 5633 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (1s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 282055701 + freed: 281053101 + not freed: 1002600 + max allocated: 11541980 + malloc'ed blocks: 748601 + realloc'ed blocks: 12 + free'ed blocks: 748451 + +------- time ------- + overall: 7s wall + evaluation: 6s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 400 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 144268 + freed: 144268 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.bst b/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.bst new file mode 100644 index 0000000..3a5c61f --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.bst @@ -0,0 +1,23 @@ +=== BEST-OF-RUN === + generation: 27 + nodes: 27 + depth: 5 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 1.8510 + standardized fitness: 1.8510 + adjusted fitness: 0.3508 +TREE: + (- (* (* (* x x) + (/ x x)) + (+ (* x x) x)) + (- (+ 0.99455 -0.46084) + (+ (log (log -0.18460)) + (+ (* x x) x)))) +TREE-equ: +y = ((((x * x) * (x / x)) * ((x * x) + x)) - ((0.99455 + -0.46084) - (log(log(-0.18460)) + ((x * x) + x)))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.fn b/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.fn new file mode 100644 index 0000000..31c3190 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.fn @@ -0,0 +1,2 @@ + +y = ((((x * x) * (x / x)) * ((x * x) + x)) - ((0.99455 + -0.46084) - (log(log(-0.18460)) + ((x * x) + x)))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.gen b/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.his b/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.his new file mode 100644 index 0000000..431fe66 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.his @@ -0,0 +1,593 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 7 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7057.5460 + standardized fitness: 7057.5460 + adjusted fitness: 0.0001 +TREE: + (* (* x x) + (* x x)) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 7 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7057.5460 + standardized fitness: 7057.5460 + adjusted fitness: 0.0001 +TREE: + (* (* x x) + (* x x)) +=== BEST-OF-RUN === + current generation: 2 + generation: 0 + nodes: 7 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7057.5460 + standardized fitness: 7057.5460 + adjusted fitness: 0.0001 +TREE: + (* (* x x) + (* x x)) +=== BEST-OF-RUN === + current generation: 3 + generation: 0 + nodes: 7 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7057.5460 + standardized fitness: 7057.5460 + adjusted fitness: 0.0001 +TREE: + (* (* x x) + (* x x)) +=== BEST-OF-RUN === + current generation: 4 + generation: 0 + nodes: 7 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7057.5460 + standardized fitness: 7057.5460 + adjusted fitness: 0.0001 +TREE: + (* (* x x) + (* x x)) +=== BEST-OF-RUN === + current generation: 5 + generation: 0 + nodes: 7 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7057.5460 + standardized fitness: 7057.5460 + adjusted fitness: 0.0001 +TREE: + (* (* x x) + (* x x)) +=== BEST-OF-RUN === + current generation: 6 + generation: 0 + nodes: 7 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7057.5460 + standardized fitness: 7057.5460 + adjusted fitness: 0.0001 +TREE: + (* (* x x) + (* x x)) +=== BEST-OF-RUN === + current generation: 7 + generation: 0 + nodes: 7 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7057.5460 + standardized fitness: 7057.5460 + adjusted fitness: 0.0001 +TREE: + (* (* x x) + (* x x)) +=== BEST-OF-RUN === + current generation: 8 + generation: 0 + nodes: 7 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7057.5460 + standardized fitness: 7057.5460 + adjusted fitness: 0.0001 +TREE: + (* (* x x) + (* x x)) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 9 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6871.7895 + standardized fitness: 6871.7895 + adjusted fitness: 0.0001 +TREE: + (* (+ (* (* x x) x) x) x) +=== BEST-OF-RUN === + current generation: 10 + generation: 9 + nodes: 9 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6871.7895 + standardized fitness: 6871.7895 + adjusted fitness: 0.0001 +TREE: + (* (+ (* (* x x) x) x) x) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 25 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6870.9082 + standardized fitness: 6870.9082 + adjusted fitness: 0.0001 +TREE: + (+ (* (* (* x x) + (/ x x)) + (+ (* x x) + (sin (log x)))) + (* -0.57016 + (cos (- x + (log (exp (cos x))))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 21 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6867.7505 + standardized fitness: 6867.7505 + adjusted fitness: 0.0001 +TREE: + (+ (* (* (* x x) + (/ x x)) + (+ (* x x) + (sin (log x)))) + (* -0.57016 + (* -0.09917 -0.67900))) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 16 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4094.8616 + standardized fitness: 4094.8616 + adjusted fitness: 0.0002 +TREE: + (+ (* (exp x) + (exp (exp 0.57190))) + (exp (- (cos -0.14114) + (- -0.73038 + (- -0.73038 x))))) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 36 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3636.4000 + standardized fitness: 3636.4000 + adjusted fitness: 0.0003 +TREE: + (- (* (* (* x x) + (/ x x)) + (+ (* x x) + (sin (+ (* (+ (+ (* -0.76520 0.18227) + (exp x)) x) + (* 0.73233 x)) 0.43895)))) + (- (sin (sin (exp (sin x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 37 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3550.2850 + standardized fitness: 3550.2850 + adjusted fitness: 0.0003 +TREE: + (- (* (* (* x x) + (/ x x)) + (+ (* x x) + (sin (+ (* (+ (+ (* -0.76520 0.18227) + (exp x)) x) + (* 0.73233 x)) + (log 0.54301))))) + (- (sin (sin (exp (sin x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 16 + generation: 15 + nodes: 37 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3550.2850 + standardized fitness: 3550.2850 + adjusted fitness: 0.0003 +TREE: + (- (* (* (* x x) + (/ x x)) + (+ (* x x) + (sin (+ (* (+ (+ (* -0.76520 0.18227) + (exp x)) x) + (* 0.73233 x)) + (log 0.54301))))) + (- (sin (sin (exp (sin x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 17 + generation: 15 + nodes: 37 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3550.2850 + standardized fitness: 3550.2850 + adjusted fitness: 0.0003 +TREE: + (- (* (* (* x x) + (/ x x)) + (+ (* x x) + (sin (+ (* (+ (+ (* -0.76520 0.18227) + (exp x)) x) + (* 0.73233 x)) + (log 0.54301))))) + (- (sin (sin (exp (sin x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 47 + depth: 11 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 3472.1917 + standardized fitness: 3472.1917 + adjusted fitness: 0.0003 +TREE: + (- (* (* (* x x) + (/ x x)) + (+ (* x x) + (sin (+ (* (+ (+ (* -0.76520 0.18227) + (exp x)) + (/ (* (sin (cos x)) + (cos x)) + (exp (exp (cos x))))) + (* 0.73233 x)) + (log 0.54301))))) + (- (sin (sin (exp (sin x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 25 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1070.5147 + standardized fitness: 1070.5147 + adjusted fitness: 0.0009 +TREE: + (- (* (* (* x x) + (/ x x)) + (+ (* x x) + (- (cos -0.14114) + (- -0.73038 x)))) + (sin (exp (exp (/ 0.17683 -0.35000))))) +=== BEST-OF-RUN === + current generation: 20 + generation: 19 + nodes: 25 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1070.5147 + standardized fitness: 1070.5147 + adjusted fitness: 0.0009 +TREE: + (- (* (* (* x x) + (/ x x)) + (+ (* x x) + (- (cos -0.14114) + (- -0.73038 x)))) + (sin (exp (exp (/ 0.17683 -0.35000))))) +=== BEST-OF-RUN === + current generation: 21 + generation: 19 + nodes: 25 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1070.5147 + standardized fitness: 1070.5147 + adjusted fitness: 0.0009 +TREE: + (- (* (* (* x x) + (/ x x)) + (+ (* x x) + (- (cos -0.14114) + (- -0.73038 x)))) + (sin (exp (exp (/ 0.17683 -0.35000))))) +=== BEST-OF-RUN === + current generation: 22 + generation: 19 + nodes: 25 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1070.5147 + standardized fitness: 1070.5147 + adjusted fitness: 0.0009 +TREE: + (- (* (* (* x x) + (/ x x)) + (+ (* x x) + (- (cos -0.14114) + (- -0.73038 x)))) + (sin (exp (exp (/ 0.17683 -0.35000))))) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 26 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 514.2469 + standardized fitness: 514.2469 + adjusted fitness: 0.0019 +TREE: + (- (* (* (* x x) + (/ x x)) + (+ (* x x) x)) + (- (sin (sin (exp -0.78049))) + (* (* x x) + (/ x x)))) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 29 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 494.4295 + standardized fitness: 494.4295 + adjusted fitness: 0.0020 +TREE: + (- (* (* (* x x) + (/ x x)) + (+ (* x x) x)) + (- (sin (sin (+ x + (exp (cos -0.14114))))) + (* (* x x) + (/ x x)))) +=== BEST-OF-RUN === + current generation: 25 + generation: 25 + nodes: 37 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 138.2381 + standardized fitness: 138.2381 + adjusted fitness: 0.0072 +TREE: + (- (* (* (* x x) + (/ x x)) + (+ (* x x) x)) + (- (sin (+ (- 0.89140 + (log -0.48900)) + (exp (- (cos -0.14114) + (- -0.73038 x))))) + (+ x + (* (* x x) + (/ x x))))) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 27 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6.4967 + standardized fitness: 6.4967 + adjusted fitness: 0.1334 +TREE: + (- (* (* (* x x) + (/ x x)) + (+ (* x x) x)) + (- (+ 0.22247 -0.18999) + (+ x + (* (* x x) + (/ x x))))) +=== BEST-OF-RUN === + current generation: 27 + generation: 27 + nodes: 27 + depth: 5 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 1.8510 + standardized fitness: 1.8510 + adjusted fitness: 0.3508 +TREE: + (- (* (* (* x x) + (/ x x)) + (+ (* x x) x)) + (- (+ 0.99455 -0.46084) + (+ (log (log -0.18460)) + (+ (* x x) x)))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.prg b/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.prg new file mode 100644 index 0000000..75e28ac --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -1.54609, y = 2.86250 + x = 3.94630, y = 323.50480 + x = -2.62824, y = 33.83991 + x = -1.98434, y = 9.64454 + x = 4.75087, y = 643.99340 + x = 2.94345, y = 112.17182 + x = 4.16744, y = 395.54665 + x = -3.40278, y = 102.84735 + x = -4.06134, y = 217.51185 + x = 0.07937, y = 0.08621 + x = -2.46906, y = 25.73957 + x = -1.66441, y = 4.16937 + x = 0.53111, y = 1.04257 + x = 3.49079, y = 206.70389 + x = 2.07239, y = 33.71316 + x = -0.31827, y = -0.23895 + x = 0.93679, y = 3.40658 + x = -0.15440, y = -0.13367 + x = 2.42015, y = 56.75800 + x = 4.24704, y = 424.23383 + x = 4.41026, y = 487.96015 + x = -4.10334, y = 227.14250 + x = -3.78555, y = 161.65720 + x = 4.03703, y = 351.74168 + x = -2.70979, y = 38.65431 + x = 2.24612, y = 44.07529 + x = 4.97680, y = 766.49215 + x = -0.05568, y = -0.05274 + x = -2.10661, y = 12.67662 + x = 3.87629, y = 302.91641 + x = 2.34058, y = 50.65297 + x = 4.83540, y = 687.94948 + x = -3.33608, y = 94.52913 + x = 4.89911, y = 722.54889 + x = -3.35546, y = 96.89187 + x = 0.30302, y = 0.43110 + x = -1.31851, y = 1.15005 + x = 1.93353, y = 26.87722 + x = 3.05825, y = 128.49198 + x = 3.24513, y = 158.84976 + x = 2.05109, y = 32.58569 + x = -1.15282, y = 0.41029 + x = -2.73940, y = 40.52205 + x = 1.81588, y = 21.97396 + x = -0.91233, y = -0.14656 + x = -2.60252, y = 32.41846 + x = 2.39142, y = 54.49251 + x = -2.63654, y = 34.30859 + x = 4.47840, y = 516.59764 + x = -0.84897, y = -0.22064 + x = 4.09675, y = 371.31787 + x = -2.52398, y = 28.35045 + x = -0.44927, y = -0.29737 + x = -2.34315, y = 20.42660 + x = -3.14345, y = 73.31618 + x = -1.38149, y = 1.53285 + x = 2.28239, y = 46.51793 + x = -2.52735, y = 28.51693 + x = -3.62888, y = 135.16898 + x = -0.55215, y = -0.32267 + x = -0.73804, y = -0.29865 + x = -2.76608, y = 42.26240 + x = -1.46104, y = 2.11148 + x = -2.30647, y = 19.04386 + x = 3.02827, y = 124.06637 + x = 3.68375, y = 251.38883 + x = -3.92502, y = 188.35007 + x = 3.71523, y = 259.32022 + x = -0.59688, y = -0.32634 + x = -0.32509, y = -0.24259 + x = 2.29030, y = 47.06469 + x = -1.42667, y = 1.84770 + x = 0.36721, y = 0.56974 + x = -1.73088, y = 5.05520 + x = -4.84971, y = 457.78318 + x = 1.93424, y = 26.90928 + x = 1.34593, y = 8.87730 + x = 3.55760, y = 221.42839 + x = 2.18048, y = 39.90744 + x = 3.67170, y = 248.40005 + x = 4.96373, y = 758.96315 + x = 2.50415, y = 63.80029 + x = -1.42680, y = 1.84864 + x = 3.44554, y = 197.15980 + x = -0.38566, y = -0.27217 + x = 0.10666, y = 0.11938 + x = 1.29644, y = 7.98114 + x = 3.97039, y = 330.82812 + x = -3.12916, y = 71.89913 + x = -2.03922, y = 10.93161 + x = -0.77196, y = -0.28094 + x = -0.03374, y = -0.03264 + x = -2.46959, y = 25.76407 + x = -1.61666, y = 3.60247 + x = -4.04517, y = 213.88636 + x = -1.52224, y = 2.63706 + x = 3.47998, y = 204.39170 + x = 3.99149, y = 337.34394 + x = 1.66559, y = 16.75664 + x = 2.15343, y = 38.28095 + x = 1.05155, y = 4.54275 + x = 3.83382, y = 290.91936 + x = 0.18297, y = 0.22370 + x = -4.19330, y = 248.84600 + x = -0.81270, y = -0.25276 + x = -3.40740, y = 103.44272 + x = 3.90282, y = 310.59654 + x = 1.10519, y = 5.16850 + x = 3.04251, y = 126.15293 + x = 1.74989, y = 19.54692 + x = 2.32207, y = 49.30861 + x = 3.31199, y = 170.93702 + x = -4.39819, y = 304.06080 + x = 3.41033, y = 189.96968 + x = -4.78019, y = 430.97291 + x = 4.29570, y = 442.53170 + x = 4.70351, y = 620.31020 + x = -4.84438, y = 455.68388 + x = -3.26131, y = 85.81405 + x = -0.44949, y = -0.29744 + x = -4.79622, y = 437.04914 + x = -2.91650, y = 53.13376 + x = -2.95036, y = 55.84313 + x = 2.24969, y = 44.31163 + x = 3.62336, y = 236.68695 + x = 3.45648, y = 199.43606 + x = 3.39035, y = 185.97882 + x = -0.43949, y = -0.29392 + x = 4.08181, y = 366.34673 + x = 3.55769, y = 221.44829 + x = 3.03142, y = 124.52523 + x = -4.75926, y = 423.13909 + x = -4.48491, y = 330.00765 + x = -4.56941, y = 356.85593 + x = -3.65037, y = 138.59438 + x = -3.34826, y = 96.00917 + x = 1.90234, y = 25.50207 + x = 0.16287, y = 0.19442 + x = 3.22573, y = 155.46597 + x = 0.31864, y = 0.46283 + x = 0.40315, y = 0.65762 + x = 1.14082, y = 5.62087 + x = 2.23170, y = 43.13223 + x = 2.32033, y = 49.18347 + x = -2.24299, y = 16.81463 + x = -2.85546, y = 48.49758 + x = -2.08338, y = 12.05391 + x = 0.28071, y = 0.38784 + x = -0.24002, y = -0.19292 + x = -2.50165, y = 27.26637 + x = 0.08741, y = 0.09578 + x = -1.08053, y = 0.18861 + x = 4.90968, y = 728.40847 + x = 3.10790, y = 136.08401 + x = 4.12201, y = 379.84319 + x = 0.81081, y = 2.43344 + x = 3.31873, y = 172.19297 + x = -0.24762, y = -0.19773 + x = 4.45707, y = 507.50136 + x = -2.46444, y = 25.52812 + x = -0.30974, y = -0.23431 + x = -1.26005, y = 0.84793 + x = 2.87947, y = 103.79144 + x = -2.27613, y = 17.95286 + x = -3.65326, y = 139.05931 + x = -3.81875, y = 167.73521 + x = -3.91970, y = 187.27687 + x = -1.71852, y = 4.88154 + x = 0.65333, y = 1.54121 + x = 3.07527, y = 131.05651 + x = 1.37908, y = 9.52080 + x = -0.57720, y = -0.32534 + x = 0.39564, y = 0.63861 + x = 4.24034, y = 421.76381 + x = 4.46310, y = 510.06100 + x = 1.28431, y = 7.77283 + x = -2.82618, y = 46.38444 + x = -1.05827, y = 0.13072 + x = 3.12768, y = 139.20138 + x = -2.18745, y = 15.02615 + x = -4.86225, y = 462.74860 + x = -1.36203, y = 1.40784 + x = 0.10344, y = 0.11536 + x = 1.54625, y = 13.35040 + x = -1.13257, y = 0.34274 + x = -0.70853, y = -0.31019 + x = -2.63873, y = 34.43266 + x = 2.79122, y = 93.02653 + x = 4.08385, y = 367.02214 + x = -4.83162, y = 450.69059 + x = -4.42856, y = 312.96562 + x = -1.37914, y = 1.51741 + x = 4.50954, y = 530.10305 + x = -4.84954, y = 457.71692 + x = 3.93956, y = 321.47672 + x = -4.01965, y = 208.25747 + x = -4.25482, y = 264.55804 + x = 2.99135, y = 118.77690 + x = 2.85723, y = 100.99377 + x = 1.47270, y = 11.53947 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.stt b/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.stt new file mode 100644 index 0000000..2e0d314 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.stt @@ -0,0 +1,29 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.080 3.682 7 2 14 5 0.0000 0.0001 0.0000 13.080 3.682 7 2 14 5 +1 0 0.0000 0.0001 0.0000 13.303 4.164 7 2 5 3 0.0000 0.0001 0.0000 13.191 3.923 7 2 14 5 +2 0 0.0000 0.0001 0.0000 14.172 4.521 30 6 19 9 0.0000 0.0001 0.0000 13.518 4.123 7 2 14 5 +3 0 0.0000 0.0001 0.0000 14.503 4.748 5 3 13 7 0.0000 0.0001 0.0000 13.764 4.279 7 2 14 5 +4 0 0.0000 0.0001 0.0000 15.359 5.024 31 8 10 7 0.0000 0.0001 0.0000 14.083 4.428 7 2 14 5 +5 0 0.0000 0.0001 0.0000 16.261 5.330 31 8 17 6 0.0000 0.0001 0.0000 14.446 4.578 7 2 14 5 +6 0 0.0000 0.0001 0.0000 17.187 5.545 30 8 13 4 0.0000 0.0001 0.0000 14.838 4.716 7 2 14 5 +7 0 0.0000 0.0001 0.0000 18.364 5.765 24 6 21 8 0.0000 0.0001 0.0000 15.279 4.848 7 2 14 5 +8 0 0.0000 0.0001 0.0000 20.439 6.112 96 16 55 11 0.0000 0.0001 0.0000 15.852 4.988 7 2 14 5 +9 0 0.0000 0.0001 0.0000 22.893 6.561 9 4 17 8 0.0000 0.0001 0.0000 16.556 5.145 9 4 14 5 +10 0 0.0000 0.0001 0.0000 26.462 7.181 22 5 78 10 0.0000 0.0001 0.0000 17.457 5.330 9 4 14 5 +11 0 0.0001 0.0001 0.0000 30.475 7.889 25 7 39 8 0.0000 0.0001 0.0000 18.542 5.544 25 7 14 5 +12 0 0.0001 0.0001 0.0000 35.130 8.607 21 5 26 7 0.0000 0.0001 0.0000 19.818 5.779 21 5 14 5 +13 0 0.0001 0.0002 0.0000 39.902 9.254 16 5 11 7 0.0000 0.0002 0.0000 21.252 6.027 16 5 14 5 +14 0 0.0001 0.0003 0.0000 44.135 9.869 36 9 36 9 0.0000 0.0003 0.0000 22.778 6.284 36 9 14 5 +15 0 0.0001 0.0003 0.0000 47.562 10.333 37 9 43 11 0.0000 0.0003 0.0000 24.327 6.537 37 9 14 5 +16 0 0.0001 0.0003 0.0000 49.672 10.552 37 9 56 11 0.0000 0.0003 0.0000 25.818 6.773 37 9 14 5 +17 0 0.0001 0.0003 0.0000 51.653 10.728 43 10 29 7 0.0000 0.0003 0.0000 27.253 6.993 37 9 14 5 +18 0 0.0001 0.0003 0.0000 53.285 10.945 47 11 66 11 0.0000 0.0003 0.0000 28.623 7.201 47 11 14 5 +19 0 0.0001 0.0009 0.0000 53.952 11.002 25 5 30 9 0.0001 0.0009 0.0000 29.890 7.391 25 5 14 5 +20 0 0.0001 0.0006 0.0000 55.265 11.134 28 7 77 12 0.0001 0.0009 0.0000 31.098 7.569 25 5 14 5 +21 0 0.0001 0.0006 0.0000 57.241 11.330 63 14 35 12 0.0001 0.0009 0.0000 32.286 7.740 25 5 14 5 +22 0 0.0001 0.0007 0.0000 57.375 11.322 36 10 38 10 0.0001 0.0009 0.0000 33.377 7.896 25 5 14 5 +23 0 0.0001 0.0019 0.0000 57.937 11.358 26 5 54 11 0.0001 0.0019 0.0000 34.400 8.040 26 5 14 5 +24 0 0.0001 0.0020 0.0000 55.249 11.040 29 7 98 16 0.0001 0.0020 0.0000 35.234 8.160 29 7 14 5 +25 0 0.0002 0.0072 0.0000 51.490 10.590 37 7 63 14 0.0001 0.0072 0.0000 35.860 8.253 37 7 14 5 +26 0 0.0004 0.1334 0.0000 47.097 9.869 27 5 66 10 0.0001 0.1334 0.0000 36.276 8.313 27 5 14 5 +27 0 0.0012 0.3508 0.0000 43.692 9.093 27 5 104 13 0.0001 0.3508 0.0000 36.541 8.341 27 5 14 5 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.sys b/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.sys new file mode 100644 index 0000000..b419a46 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_2/regress.sys @@ -0,0 +1,134 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 157. +creating initial population(s): + 5650 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 109609882 + freed: 109068478 + not freed: 541404 + max allocated: 7240000 + malloc'ed blocks: 413835 + realloc'ed blocks: 11 + free'ed blocks: 413754 + +------- time ------- + overall: 3s wall + evaluation: 2s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 300 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 83683 + freed: 83683 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.bst b/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.bst new file mode 100644 index 0000000..0a2dedc --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.bst @@ -0,0 +1,30 @@ +=== BEST-OF-RUN === + generation: 50 + nodes: 43 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1801.6112 + standardized fitness: 1801.6112 + adjusted fitness: 0.0006 +TREE: + (- (* (log (+ (exp x) + (* x + (+ 0.90503 x)))) + (* (- (cos (- x + (* (exp (/ x x)) + (+ 0.20909 + (log x))))) + (- (/ x -0.24597) + (- x + (+ (exp (* x + (cos (log x)))) + (sin x))))) x)) + (sin -0.24597)) +TREE-equ: +y = ((log((exp(x) + (x * (0.90503 + x)))) * ((cos((x - (exp((x / x)) * (0.20909 + log(x))))) - ((x / -0.24597) - (x - (exp((x * cos(log(x)))) + sin(x))))) * x)) - sin(-0.24597)) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.fn b/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.fn new file mode 100644 index 0000000..6c3d57c --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.fn @@ -0,0 +1,2 @@ + +y = ((log((exp(x) + (x * (0.90503 + x)))) * ((cos((x - (exp((x / x)) * (0.20909 + log(x))))) - ((x / -0.24597) - (x - (exp((x * cos(log(x)))) + sin(x))))) * x)) - sin(-0.24597)) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.gen b/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.his b/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.his new file mode 100644 index 0000000..8ba1465 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.his @@ -0,0 +1,1395 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 12 + depth: 4 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 8659.0489 + standardized fitness: 8659.0489 + adjusted fitness: 0.0001 +TREE: + (* x + (- (exp (+ 0.19388 x)) + (+ (/ x -0.40840) x))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 7 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8644.6280 + standardized fitness: 8644.6280 + adjusted fitness: 0.0001 +TREE: + (exp (+ (+ 0.98004 x) + (cos -0.72223))) +=== BEST-OF-RUN === + current generation: 2 + generation: 1 + nodes: 7 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8644.6280 + standardized fitness: 8644.6280 + adjusted fitness: 0.0001 +TREE: + (exp (+ (+ 0.98004 x) + (cos -0.72223))) +=== BEST-OF-RUN === + current generation: 3 + generation: 1 + nodes: 7 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8644.6280 + standardized fitness: 8644.6280 + adjusted fitness: 0.0001 +TREE: + (exp (+ (+ 0.98004 x) + (cos -0.72223))) +=== BEST-OF-RUN === + current generation: 4 + generation: 1 + nodes: 7 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8644.6280 + standardized fitness: 8644.6280 + adjusted fitness: 0.0001 +TREE: + (exp (+ (+ 0.98004 x) + (cos -0.72223))) +=== BEST-OF-RUN === + current generation: 5 + generation: 1 + nodes: 7 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8644.6280 + standardized fitness: 8644.6280 + adjusted fitness: 0.0001 +TREE: + (exp (+ (+ 0.98004 x) + (cos -0.72223))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 31 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5018.1028 + standardized fitness: 5018.1028 + adjusted fitness: 0.0002 +TREE: + (* (- (+ -0.03562 0.91589) + (exp x)) + (- (cos x) + (- (+ (+ (+ 0.27920 x) + (/ x + (exp (* (/ x -0.69106) + (- -0.68350 0.05802))))) + (cos (/ x x))) 0.22778))) +=== BEST-OF-RUN === + current generation: 7 + generation: 6 + nodes: 31 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5018.1028 + standardized fitness: 5018.1028 + adjusted fitness: 0.0002 +TREE: + (* (- (+ -0.03562 0.91589) + (exp x)) + (- (cos x) + (- (+ (+ (+ 0.27920 x) + (/ x + (exp (* (/ x -0.69106) + (- -0.68350 0.05802))))) + (cos (/ x x))) 0.22778))) +=== BEST-OF-RUN === + current generation: 8 + generation: 6 + nodes: 31 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5018.1028 + standardized fitness: 5018.1028 + adjusted fitness: 0.0002 +TREE: + (* (- (+ -0.03562 0.91589) + (exp x)) + (- (cos x) + (- (+ (+ (+ 0.27920 x) + (/ x + (exp (* (/ x -0.69106) + (- -0.68350 0.05802))))) + (cos (/ x x))) 0.22778))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 31 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 4406.0576 + standardized fitness: 4406.0576 + adjusted fitness: 0.0002 +TREE: + (- (- (/ (cos (/ 0.45822 x)) + (log x)) + (/ (+ x 0.83637) + (sin (exp x)))) + (- x + (* (- (- -0.20250 x) + (/ x x)) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 27 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4064.3506 + standardized fitness: 4064.3506 + adjusted fitness: 0.0002 +TREE: + (- (- (cos (log 0.46592)) + (/ (+ x 0.83637) + (sin (exp x)))) + (- x + (* (- (- -0.20250 x) + (/ x x)) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 51 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3527.0163 + standardized fitness: 3527.0163 + adjusted fitness: 0.0003 +TREE: + (- (* (log (+ (exp x) + (* x + (+ 0.90503 x)))) + (* (- (cos (- x + (* (exp (/ x x)) + (* (sin x) + (/ (/ -0.04517 0.63635) + (* x x)))))) + (- (/ x -0.24597) + (- x 0.86146))) x)) + (sin (/ (- (exp x) + (+ (* (exp x) x) x)) -0.06925))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 46 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3023.6386 + standardized fitness: 3023.6386 + adjusted fitness: 0.0003 +TREE: + (- (* (log (+ (exp x) + (* x + (+ 0.90503 x)))) + (* (- (cos (- x + (* (exp (/ x x)) + (+ -0.63696 + (log (exp x)))))) + (- (/ x -0.24597) + (- x 0.86146))) x)) + (sin (/ (- (exp x) + (+ (* (exp x) x) x)) -0.06925))) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 38 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2979.9453 + standardized fitness: 2979.9453 + adjusted fitness: 0.0003 +TREE: + (- (* (log (+ (exp x) + (* x + (+ 0.90503 x)))) + (* (- (cos (- x + (* (exp (/ x x)) + (+ -0.63696 + (log (exp x)))))) + (- (/ x -0.24597) + (- x 0.86146))) x)) + (sin (/ -0.99414 -0.06925))) +=== BEST-OF-RUN === + current generation: 14 + generation: 13 + nodes: 38 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2979.9453 + standardized fitness: 2979.9453 + adjusted fitness: 0.0003 +TREE: + (- (* (log (+ (exp x) + (* x + (+ 0.90503 x)))) + (* (- (cos (- x + (* (exp (/ x x)) + (+ -0.63696 + (log (exp x)))))) + (- (/ x -0.24597) + (- x 0.86146))) x)) + (sin (/ -0.99414 -0.06925))) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 44 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2624.9411 + standardized fitness: 2624.9411 + adjusted fitness: 0.0004 +TREE: + (- (- (cos (sin (+ (- -0.51288 + (sin (cos (+ 0.27049 0.55815)))) -0.36512))) + (/ (+ x 0.83637) + (sin (exp x)))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (- x x))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 15 + nodes: 44 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2624.9411 + standardized fitness: 2624.9411 + adjusted fitness: 0.0004 +TREE: + (- (- (cos (sin (+ (- -0.51288 + (sin (cos (+ 0.27049 0.55815)))) -0.36512))) + (/ (+ x 0.83637) + (sin (exp x)))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (- x x))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 42 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2624.8644 + standardized fitness: 2624.8644 + adjusted fitness: 0.0004 +TREE: + (- (- (cos (sin (+ (- -0.51288 + (sin (cos -0.63156))) -0.36512))) + (/ (+ x 0.83637) + (sin (exp x)))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (- x x))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 47 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2417.9211 + standardized fitness: 2417.9211 + adjusted fitness: 0.0004 +TREE: + (- (- (cos (sin (+ (- -0.51288 + (sin (cos -0.63156))) -0.36512))) + (/ (+ x 0.83637) + (sin (exp x)))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (+ (log (sin 0.32907)) + (sin (- 0.56812 0.20440))))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 40 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2415.7772 + standardized fitness: 2415.7772 + adjusted fitness: 0.0004 +TREE: + (- (- (cos x) + (/ (+ x 0.83637) + (sin (exp x)))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (+ (log (sin 0.32907)) + (sin (- 0.56812 0.20440))))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 72 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2396.0199 + standardized fitness: 2396.0199 + adjusted fitness: 0.0004 +TREE: + (- (- (cos (sin (+ (- -0.51288 + (- (log (sin (+ x + (/ (+ (* -0.78798 + (exp 0.89575)) + (log (sin -0.96086))) + (cos (exp (- -0.57011 x))))))) + (+ (* (/ -0.75606 x) + (exp x)) + (log (+ x + (log (+ -0.99679 + (log x)))))))) -0.36512))) + (/ (+ x 0.83637) + (sin (exp x)))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (cos (exp 0.67031))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 68 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2134.0440 + standardized fitness: 2134.0440 + adjusted fitness: 0.0005 +TREE: + (- (- (cos (sin (* (/ 0.49457 x) + (exp x)))) + (/ (+ x 0.83637) + (sin (exp x)))) + (- x + (* (- (log (/ (/ (+ 0.58175 x) + (exp x)) + (+ (* x -0.98572) + (cos x)))) + (+ (exp (cos (cos (- x + (* (exp (/ x x)) + (+ -0.63696 + (log (exp x)))))))) + (cos (/ (* (log x) + (- 0.46500 x)) + (/ x + (log x)))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 22 + generation: 21 + nodes: 68 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2134.0440 + standardized fitness: 2134.0440 + adjusted fitness: 0.0005 +TREE: + (- (- (cos (sin (* (/ 0.49457 x) + (exp x)))) + (/ (+ x 0.83637) + (sin (exp x)))) + (- x + (* (- (log (/ (/ (+ 0.58175 x) + (exp x)) + (+ (* x -0.98572) + (cos x)))) + (+ (exp (cos (cos (- x + (* (exp (/ x x)) + (+ -0.63696 + (log (exp x)))))))) + (cos (/ (* (log x) + (- 0.46500 x)) + (/ x + (log x)))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 23 + generation: 21 + nodes: 68 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2134.0440 + standardized fitness: 2134.0440 + adjusted fitness: 0.0005 +TREE: + (- (- (cos (sin (* (/ 0.49457 x) + (exp x)))) + (/ (+ x 0.83637) + (sin (exp x)))) + (- x + (* (- (log (/ (/ (+ 0.58175 x) + (exp x)) + (+ (* x -0.98572) + (cos x)))) + (+ (exp (cos (cos (- x + (* (exp (/ x x)) + (+ -0.63696 + (log (exp x)))))))) + (cos (/ (* (log x) + (- 0.46500 x)) + (/ x + (log x)))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 52 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2111.1500 + standardized fitness: 2111.1500 + adjusted fitness: 0.0005 +TREE: + (- (- (* (- (* x x) + (log (exp x))) + (* x + (+ 0.90503 x))) + (* (sin (- (log (cos x)) x)) + (/ (- x x) -0.49443))) + (- (- (* (* x + (+ 0.90503 x)) + (/ x -0.66268)) + (/ (cos (+ (/ x x) + (log x))) + (+ (log (exp x)) x))) x)) +=== BEST-OF-RUN === + current generation: 25 + generation: 24 + nodes: 52 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2111.1500 + standardized fitness: 2111.1500 + adjusted fitness: 0.0005 +TREE: + (- (- (* (- (* x x) + (log (exp x))) + (* x + (+ 0.90503 x))) + (* (sin (- (log (cos x)) x)) + (/ (- x x) -0.49443))) + (- (- (* (* x + (+ 0.90503 x)) + (/ x -0.66268)) + (/ (cos (+ (/ x x) + (log x))) + (+ (log (exp x)) x))) x)) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 54 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2104.2953 + standardized fitness: 2104.2953 + adjusted fitness: 0.0005 +TREE: + (- (- (* (- (* x x) + (log (exp x))) + (* x + (+ 0.90503 x))) + (* (sin x) + (/ (- x x) -0.49443))) + (- (- (* (* x + (+ 0.90503 x)) + (/ x -0.66268)) + (/ (cos (+ (/ x x) + (/ (/ (cos 0.56290) + (exp (sin x))) 0.56836))) + (+ (log (exp x)) x))) x)) +=== BEST-OF-RUN === + current generation: 27 + generation: 26 + nodes: 54 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2104.2953 + standardized fitness: 2104.2953 + adjusted fitness: 0.0005 +TREE: + (- (- (* (- (* x x) + (log (exp x))) + (* x + (+ 0.90503 x))) + (* (sin x) + (/ (- x x) -0.49443))) + (- (- (* (* x + (+ 0.90503 x)) + (/ x -0.66268)) + (/ (cos (+ (/ x x) + (/ (/ (cos 0.56290) + (exp (sin x))) 0.56836))) + (+ (log (exp x)) x))) x)) +=== BEST-OF-RUN === + current generation: 28 + generation: 26 + nodes: 54 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2104.2953 + standardized fitness: 2104.2953 + adjusted fitness: 0.0005 +TREE: + (- (- (* (- (* x x) + (log (exp x))) + (* x + (+ 0.90503 x))) + (* (sin x) + (/ (- x x) -0.49443))) + (- (- (* (* x + (+ 0.90503 x)) + (/ x -0.66268)) + (/ (cos (+ (/ x x) + (/ (/ (cos 0.56290) + (exp (sin x))) 0.56836))) + (+ (log (exp x)) x))) x)) +=== BEST-OF-RUN === + current generation: 29 + generation: 26 + nodes: 54 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2104.2953 + standardized fitness: 2104.2953 + adjusted fitness: 0.0005 +TREE: + (- (- (* (- (* x x) + (log (exp x))) + (* x + (+ 0.90503 x))) + (* (sin x) + (/ (- x x) -0.49443))) + (- (- (* (* x + (+ 0.90503 x)) + (/ x -0.66268)) + (/ (cos (+ (/ x x) + (/ (/ (cos 0.56290) + (exp (sin x))) 0.56836))) + (+ (log (exp x)) x))) x)) +=== BEST-OF-RUN === + current generation: 30 + generation: 26 + nodes: 54 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2104.2953 + standardized fitness: 2104.2953 + adjusted fitness: 0.0005 +TREE: + (- (- (* (- (* x x) + (log (exp x))) + (* x + (+ 0.90503 x))) + (* (sin x) + (/ (- x x) -0.49443))) + (- (- (* (* x + (+ 0.90503 x)) + (/ x -0.66268)) + (/ (cos (+ (/ x x) + (/ (/ (cos 0.56290) + (exp (sin x))) 0.56836))) + (+ (log (exp x)) x))) x)) +=== BEST-OF-RUN === + current generation: 31 + generation: 31 + nodes: 52 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1865.7240 + standardized fitness: 1865.7240 + adjusted fitness: 0.0005 +TREE: + (- (- (cos (sin (+ (cos (- x + (/ (/ (/ (/ x -0.85757) -0.20117) x) + (+ 0.90503 x)))) -0.36512))) + (/ (+ x 0.83637) + (exp x))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (- x + (+ -0.59034 x)))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 32 + generation: 31 + nodes: 52 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1865.7240 + standardized fitness: 1865.7240 + adjusted fitness: 0.0005 +TREE: + (- (- (cos (sin (+ (cos (- x + (/ (/ (/ (/ x -0.85757) -0.20117) x) + (+ 0.90503 x)))) -0.36512))) + (/ (+ x 0.83637) + (exp x))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (- x + (+ -0.59034 x)))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 33 + generation: 31 + nodes: 52 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1865.7240 + standardized fitness: 1865.7240 + adjusted fitness: 0.0005 +TREE: + (- (- (cos (sin (+ (cos (- x + (/ (/ (/ (/ x -0.85757) -0.20117) x) + (+ 0.90503 x)))) -0.36512))) + (/ (+ x 0.83637) + (exp x))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (- x + (+ -0.59034 x)))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 34 + generation: 31 + nodes: 52 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1865.7240 + standardized fitness: 1865.7240 + adjusted fitness: 0.0005 +TREE: + (- (- (cos (sin (+ (cos (- x + (/ (/ (/ (/ x -0.85757) -0.20117) x) + (+ 0.90503 x)))) -0.36512))) + (/ (+ x 0.83637) + (exp x))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (- x + (+ -0.59034 x)))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 35 + generation: 31 + nodes: 52 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1865.7240 + standardized fitness: 1865.7240 + adjusted fitness: 0.0005 +TREE: + (- (- (cos (sin (+ (cos (- x + (/ (/ (/ (/ x -0.85757) -0.20117) x) + (+ 0.90503 x)))) -0.36512))) + (/ (+ x 0.83637) + (exp x))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (- x + (+ -0.59034 x)))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 36 + generation: 31 + nodes: 52 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1865.7240 + standardized fitness: 1865.7240 + adjusted fitness: 0.0005 +TREE: + (- (- (cos (sin (+ (cos (- x + (/ (/ (/ (/ x -0.85757) -0.20117) x) + (+ 0.90503 x)))) -0.36512))) + (/ (+ x 0.83637) + (exp x))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (- x + (+ -0.59034 x)))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 37 + generation: 31 + nodes: 52 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1865.7240 + standardized fitness: 1865.7240 + adjusted fitness: 0.0005 +TREE: + (- (- (cos (sin (+ (cos (- x + (/ (/ (/ (/ x -0.85757) -0.20117) x) + (+ 0.90503 x)))) -0.36512))) + (/ (+ x 0.83637) + (exp x))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (- x + (+ -0.59034 x)))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 38 + generation: 31 + nodes: 52 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1865.7240 + standardized fitness: 1865.7240 + adjusted fitness: 0.0005 +TREE: + (- (- (cos (sin (+ (cos (- x + (/ (/ (/ (/ x -0.85757) -0.20117) x) + (+ 0.90503 x)))) -0.36512))) + (/ (+ x 0.83637) + (exp x))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (- x + (+ -0.59034 x)))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 39 + generation: 31 + nodes: 52 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1865.7240 + standardized fitness: 1865.7240 + adjusted fitness: 0.0005 +TREE: + (- (- (cos (sin (+ (cos (- x + (/ (/ (/ (/ x -0.85757) -0.20117) x) + (+ 0.90503 x)))) -0.36512))) + (/ (+ x 0.83637) + (exp x))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (- x + (+ -0.59034 x)))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 40 + generation: 31 + nodes: 52 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1865.7240 + standardized fitness: 1865.7240 + adjusted fitness: 0.0005 +TREE: + (- (- (cos (sin (+ (cos (- x + (/ (/ (/ (/ x -0.85757) -0.20117) x) + (+ 0.90503 x)))) -0.36512))) + (/ (+ x 0.83637) + (exp x))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (- x + (+ -0.59034 x)))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 41 + generation: 31 + nodes: 52 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1865.7240 + standardized fitness: 1865.7240 + adjusted fitness: 0.0005 +TREE: + (- (- (cos (sin (+ (cos (- x + (/ (/ (/ (/ x -0.85757) -0.20117) x) + (+ 0.90503 x)))) -0.36512))) + (/ (+ x 0.83637) + (exp x))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (- x + (+ -0.59034 x)))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 42 + generation: 31 + nodes: 52 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1865.7240 + standardized fitness: 1865.7240 + adjusted fitness: 0.0005 +TREE: + (- (- (cos (sin (+ (cos (- x + (/ (/ (/ (/ x -0.85757) -0.20117) x) + (+ 0.90503 x)))) -0.36512))) + (/ (+ x 0.83637) + (exp x))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (- x + (+ -0.59034 x)))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 43 + generation: 31 + nodes: 52 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1865.7240 + standardized fitness: 1865.7240 + adjusted fitness: 0.0005 +TREE: + (- (- (cos (sin (+ (cos (- x + (/ (/ (/ (/ x -0.85757) -0.20117) x) + (+ 0.90503 x)))) -0.36512))) + (/ (+ x 0.83637) + (exp x))) + (- x + (* (- (- -0.20250 x) + (+ (exp (* x + (cos (log x)))) + (sin (log (- x + (+ -0.59034 x)))))) + (- (sin 0.97443) + (exp x))))) +=== BEST-OF-RUN === + current generation: 44 + generation: 44 + nodes: 54 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1847.9453 + standardized fitness: 1847.9453 + adjusted fitness: 0.0005 +TREE: + (- (* (log (+ (exp x) + (* x + (+ 0.90503 x)))) + (* (- (cos (- x + (* (exp (cos (log x))) + (+ -0.63696 -0.94253)))) + (- (/ x -0.24597) + (- x + (+ (exp (* x + (cos (log x)))) + (sin x))))) x)) + (sin (/ (- (sin (exp (cos x))) + (+ (* (log x) x) x)) -0.06925))) +=== BEST-OF-RUN === + current generation: 45 + generation: 44 + nodes: 54 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1847.9453 + standardized fitness: 1847.9453 + adjusted fitness: 0.0005 +TREE: + (- (* (log (+ (exp x) + (* x + (+ 0.90503 x)))) + (* (- (cos (- x + (* (exp (cos (log x))) + (+ -0.63696 -0.94253)))) + (- (/ x -0.24597) + (- x + (+ (exp (* x + (cos (log x)))) + (sin x))))) x)) + (sin (/ (- (sin (exp (cos x))) + (+ (* (log x) x) x)) -0.06925))) +=== BEST-OF-RUN === + current generation: 46 + generation: 44 + nodes: 54 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1847.9453 + standardized fitness: 1847.9453 + adjusted fitness: 0.0005 +TREE: + (- (* (log (+ (exp x) + (* x + (+ 0.90503 x)))) + (* (- (cos (- x + (* (exp (cos (log x))) + (+ -0.63696 -0.94253)))) + (- (/ x -0.24597) + (- x + (+ (exp (* x + (cos (log x)))) + (sin x))))) x)) + (sin (/ (- (sin (exp (cos x))) + (+ (* (log x) x) x)) -0.06925))) +=== BEST-OF-RUN === + current generation: 47 + generation: 44 + nodes: 54 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1847.9453 + standardized fitness: 1847.9453 + adjusted fitness: 0.0005 +TREE: + (- (* (log (+ (exp x) + (* x + (+ 0.90503 x)))) + (* (- (cos (- x + (* (exp (cos (log x))) + (+ -0.63696 -0.94253)))) + (- (/ x -0.24597) + (- x + (+ (exp (* x + (cos (log x)))) + (sin x))))) x)) + (sin (/ (- (sin (exp (cos x))) + (+ (* (log x) x) x)) -0.06925))) +=== BEST-OF-RUN === + current generation: 48 + generation: 44 + nodes: 54 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1847.9453 + standardized fitness: 1847.9453 + adjusted fitness: 0.0005 +TREE: + (- (* (log (+ (exp x) + (* x + (+ 0.90503 x)))) + (* (- (cos (- x + (* (exp (cos (log x))) + (+ -0.63696 -0.94253)))) + (- (/ x -0.24597) + (- x + (+ (exp (* x + (cos (log x)))) + (sin x))))) x)) + (sin (/ (- (sin (exp (cos x))) + (+ (* (log x) x) x)) -0.06925))) +=== BEST-OF-RUN === + current generation: 49 + generation: 44 + nodes: 54 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1847.9453 + standardized fitness: 1847.9453 + adjusted fitness: 0.0005 +TREE: + (- (* (log (+ (exp x) + (* x + (+ 0.90503 x)))) + (* (- (cos (- x + (* (exp (cos (log x))) + (+ -0.63696 -0.94253)))) + (- (/ x -0.24597) + (- x + (+ (exp (* x + (cos (log x)))) + (sin x))))) x)) + (sin (/ (- (sin (exp (cos x))) + (+ (* (log x) x) x)) -0.06925))) +=== BEST-OF-RUN === + current generation: 50 + generation: 50 + nodes: 43 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1801.6112 + standardized fitness: 1801.6112 + adjusted fitness: 0.0006 +TREE: + (- (* (log (+ (exp x) + (* x + (+ 0.90503 x)))) + (* (- (cos (- x + (* (exp (/ x x)) + (+ 0.20909 + (log x))))) + (- (/ x -0.24597) + (- x + (+ (exp (* x + (cos (log x)))) + (sin x))))) x)) + (sin -0.24597)) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.prg b/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.prg new file mode 100644 index 0000000..056ca82 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 4.72623, y = 631.58870 + x = 4.79942, y = 668.97293 + x = 2.01344, y = 30.66428 + x = -2.19450, y = 15.24534 + x = -1.84481, y = 6.86259 + x = -3.90183, y = 183.69912 + x = -2.97408, y = 57.80126 + x = 1.34426, y = 8.84572 + x = -0.35142, y = -0.25607 + x = 2.37201, y = 53.00090 + x = -2.13314, y = 13.41588 + x = 0.29471, y = 0.41470 + x = 1.13631, y = 5.56190 + x = -4.52265, y = 341.80349 + x = 3.61775, y = 235.35486 + x = -4.09915, y = 226.16851 + x = -2.98697, y = 58.88746 + x = 1.70600, y = 18.05234 + x = 3.80623, y = 283.31923 + x = 2.38607, y = 54.07848 + x = -1.69526, y = 4.56595 + x = -0.87966, y = -0.18777 + x = -3.53435, y = 120.84889 + x = 0.60407, y = 1.32256 + x = 3.37389, y = 182.73839 + x = 2.36924, y = 52.79060 + x = 0.95208, y = 3.54319 + x = -1.02800, y = 0.05921 + x = 3.81859, y = 286.70513 + x = -2.65923, y = 35.61340 + x = 1.45754, y = 11.19148 + x = 0.62604, y = 1.41694 + x = 1.70648, y = 18.06806 + x = 1.63063, y = 15.69551 + x = 3.66942, y = 247.83786 + x = -0.13802, y = -0.12124 + x = 3.70781, y = 257.43336 + x = 0.09473, y = 0.10463 + x = 3.02177, y = 123.12253 + x = -3.04279, y = 63.76476 + x = -0.62379, y = -0.32599 + x = 2.10462, y = 35.47633 + x = 0.13332, y = 0.15379 + x = -4.32892, y = 284.45957 + x = -2.50401, y = 27.37943 + x = 0.03524, y = 0.03653 + x = 4.51238, y = 531.34809 + x = 3.93330, y = 319.60221 + x = -2.61536, y = 33.12270 + x = -4.99289, y = 516.92070 + x = -0.59157, y = -0.32617 + x = -0.64990, y = -0.32363 + x = 1.42497, y = 10.47204 + x = 3.86973, y = 301.03681 + x = 1.48079, y = 11.72862 + x = -0.89981, y = -0.16315 + x = -1.90705, y = 8.02084 + x = -4.61719, y = 372.74666 + x = -0.86392, y = -0.20530 + x = 3.29321, y = 167.47331 + x = -2.60964, y = 32.80757 + x = 1.93120, y = 26.77245 + x = 3.32248, y = 172.89470 + x = -2.30863, y = 19.12333 + x = -2.00421, y = 10.09707 + x = 0.76224, y = 2.12366 + x = -4.83862, y = 453.42225 + x = 0.46523, y = 0.82921 + x = 2.98136, y = 117.37569 + x = -1.41749, y = 1.78083 + x = -3.61154, y = 132.45072 + x = -1.92027, y = 8.28350 + x = -0.67863, y = -0.31853 + x = 3.79912, y = 281.38548 + x = -2.02235, y = 10.52369 + x = 3.95464, y = 326.02501 + x = 2.69537, y = 82.32292 + x = -2.40408, y = 22.88468 + x = 4.12328, y = 380.27632 + x = -0.72630, y = -0.30365 + x = -0.72371, y = -0.30468 + x = 0.56927, y = 1.18284 + x = 4.83592, y = 688.22671 + x = -4.47462, y = 326.84583 + x = 4.95042, y = 751.34991 + x = 4.52634, y = 537.49669 + x = 2.30356, y = 47.99129 + x = -0.98489, y = -0.02932 + x = -1.36516, y = 1.42754 + x = -2.09282, y = 12.30412 + x = -0.29940, y = -0.22856 + x = -1.75742, y = 5.44227 + x = 2.11336, y = 35.96656 + x = -0.56074, y = -0.32376 + x = -4.43125, y = 313.76438 + x = -3.70352, y = 147.34448 + x = -2.21674, y = 15.95111 + x = 1.33421, y = 8.65817 + x = 2.69343, y = 82.11659 + x = -1.45865, y = 2.09243 + x = 2.33987, y = 50.60109 + x = 1.91646, y = 26.11782 + x = 4.81001, y = 674.51774 + x = 3.11094, y = 136.55860 + x = 0.73082, y = 1.94051 + x = 3.83916, y = 292.40651 + x = -0.48582, y = -0.30876 + x = 0.89959, y = 3.09177 + x = 3.91931, y = 315.44453 + x = 1.95445, y = 27.83152 + x = 1.79663, y = 21.24309 + x = 4.07783, y = 365.03010 + x = 1.74797, y = 19.47951 + x = -3.77111, y = 159.06419 + x = -1.40739, y = 1.70901 + x = 4.14778, y = 388.69058 + x = 4.81783, y = 678.63191 + x = -1.11678, y = 0.29308 + x = -2.87739, y = 50.12664 + x = -3.30069, y = 90.32563 + x = -2.02102, y = 10.49199 + x = -1.17283, y = 0.48150 + x = 2.77180, y = 90.77641 + x = -0.55999, y = -0.32367 + x = 1.24264, y = 7.09010 + x = -0.52800, y = -0.31869 + x = -1.73029, y = 5.04669 + x = 1.21043, y = 6.59564 + x = -1.93171, y = 8.51565 + x = -0.86151, y = -0.20786 + x = -0.55954, y = -0.32362 + x = -3.20422, y = 79.57682 + x = -1.32339, y = 1.17750 + x = -2.83117, y = 46.73945 + x = 2.47707, y = 61.46066 + x = 0.19846, y = 0.24721 + x = 3.82130, y = 287.45196 + x = 3.60703, y = 232.82450 + x = 1.93276, y = 26.84291 + x = -4.19736, y = 249.86056 + x = 4.70851, y = 622.77791 + x = -1.57966, y = 3.20054 + x = -3.10750, y = 69.79058 + x = -3.06447, y = 65.73858 + x = 4.92821, y = 738.77716 + x = -4.12658, y = 232.60658 + x = 0.47078, y = 0.84588 + x = -2.32665, y = 19.79550 + x = 3.19662, y = 150.49422 + x = 1.09675, y = 5.06572 + x = 3.02677, y = 123.84745 + x = 1.57283, y = 14.05711 + x = -1.73409, y = 5.10084 + x = -1.44506, y = 1.98611 + x = 4.10089, y = 372.70596 + x = 0.54409, y = 1.08883 + x = -1.76015, y = 5.48318 + x = 2.64118, y = 76.70387 + x = -4.36613, y = 294.86647 + x = -4.46764, y = 324.71162 + x = -4.98214, y = 512.29289 + x = 0.90715, y = 3.15380 + x = 3.96683, y = 329.73587 + x = 3.11667, y = 137.45929 + x = 2.24594, y = 44.06375 + x = -1.62371, y = 3.68269 + x = 2.18534, y = 40.20471 + x = -0.18756, y = -0.15774 + x = -3.69931, y = 146.63793 + x = -2.28081, y = 18.11808 + x = -1.32300, y = 1.17531 + x = 2.14448, y = 37.75409 + x = 0.68660, y = 1.70394 + x = 1.02587, y = 4.26543 + x = -1.32746, y = 1.20068 + x = 1.40615, y = 10.07324 + x = -4.43874, y = 315.99485 + x = -0.78315, y = -0.27399 + x = 0.33912, y = 0.50635 + x = -4.30145, y = 276.95369 + x = -3.76785, y = 158.48430 + x = 0.62853, y = 1.42795 + x = 0.57656, y = 1.21114 + x = -2.46407, y = 25.51145 + x = -0.87937, y = -0.18811 + x = 3.53331, y = 215.98521 + x = -2.17105, y = 14.52582 + x = 0.55994, y = 1.14734 + x = -0.07711, y = -0.07159 + x = -0.89922, y = -0.16390 + x = 3.01312, y = 121.87437 + x = -0.99114, y = -0.01741 + x = 2.30634, y = 48.18751 + x = -0.78643, y = -0.27184 + x = 2.12564, y = 36.66381 + x = -2.43597, y = 24.25477 + x = 2.73374, y = 86.48795 + x = 0.86663, y = 2.83265 + x = 3.26299, y = 162.01230 + x = -1.47794, y = 2.24930 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.stt b/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.stt new file mode 100644 index 0000000..a5e64ce --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.137 3.675 12 4 9 5 0.0000 0.0001 0.0000 13.137 3.675 12 4 9 5 +1 0 0.0000 0.0001 0.0000 13.016 4.133 7 3 21 7 0.0000 0.0001 0.0000 13.076 3.904 7 3 9 5 +2 0 0.0000 0.0001 0.0000 13.694 4.478 7 3 9 7 0.0000 0.0001 0.0000 13.282 4.095 7 3 9 5 +3 0 0.0000 0.0001 0.0000 14.670 4.832 5 3 15 5 0.0000 0.0001 0.0000 13.629 4.279 7 3 15 5 +4 0 0.0000 0.0001 0.0000 15.335 5.032 19 6 9 4 0.0000 0.0001 0.0000 13.970 4.430 7 3 15 5 +5 0 0.0000 0.0001 0.0000 16.129 5.265 24 6 18 6 0.0000 0.0001 0.0000 14.330 4.569 7 3 15 5 +6 0 0.0000 0.0002 0.0000 16.649 5.440 31 9 8 6 0.0000 0.0002 0.0000 14.661 4.694 31 9 15 5 +7 0 0.0000 0.0002 0.0000 17.373 5.660 25 5 19 6 0.0000 0.0002 0.0000 15.000 4.814 31 9 15 5 +8 0 0.0000 0.0002 0.0000 18.070 5.820 24 5 38 8 0.0000 0.0002 0.0000 15.341 4.926 31 9 15 5 +9 0 0.0000 0.0002 0.0000 18.579 5.923 31 5 10 5 0.0000 0.0002 0.0000 15.665 5.026 31 5 15 5 +10 0 0.0000 0.0002 0.0000 19.760 6.145 27 5 18 5 0.0000 0.0002 0.0000 16.037 5.127 27 5 15 5 +11 0 0.0000 0.0003 0.0000 21.518 6.440 51 10 11 6 0.0000 0.0003 0.0000 16.494 5.237 51 10 15 5 +12 0 0.0001 0.0003 0.0000 23.567 6.754 46 10 15 8 0.0000 0.0003 0.0000 17.038 5.354 46 10 15 5 +13 0 0.0001 0.0003 0.0000 26.563 7.213 38 10 38 8 0.0000 0.0003 0.0000 17.719 5.486 38 10 15 5 +14 0 0.0001 0.0003 0.0000 30.418 7.733 38 10 23 8 0.0000 0.0003 0.0000 18.565 5.636 38 10 15 5 +15 0 0.0001 0.0004 0.0000 35.635 8.483 44 9 82 16 0.0000 0.0004 0.0000 19.632 5.814 44 9 15 5 +16 0 0.0001 0.0004 0.0000 41.039 9.161 44 9 27 16 0.0000 0.0004 0.0000 20.891 6.011 44 9 15 5 +17 0 0.0001 0.0004 0.0000 46.748 9.917 42 9 31 7 0.0001 0.0004 0.0000 22.328 6.228 42 9 15 5 +18 0 0.0001 0.0004 0.0000 52.201 10.658 47 10 7 5 0.0001 0.0004 0.0000 23.900 6.461 47 10 15 5 +19 0 0.0001 0.0004 0.0000 55.654 11.163 40 10 17 7 0.0001 0.0004 0.0000 25.488 6.696 40 10 15 5 +20 0 0.0002 0.0004 0.0000 58.800 11.518 72 14 39 9 0.0001 0.0004 0.0000 27.074 6.926 72 14 15 5 +21 0 0.0002 0.0005 0.0000 61.815 11.816 68 13 102 15 0.0001 0.0005 0.0000 28.653 7.148 68 13 15 5 +22 0 0.0002 0.0005 0.0000 63.131 11.915 68 13 48 15 0.0001 0.0005 0.0000 30.152 7.355 68 13 15 5 +23 0 0.0002 0.0004 0.0000 65.236 12.125 45 9 35 9 0.0001 0.0005 0.0000 31.614 7.554 68 13 15 5 +24 0 0.0002 0.0005 0.0000 66.530 12.263 52 7 64 13 0.0001 0.0005 0.0000 33.011 7.742 52 7 15 5 +25 0 0.0002 0.0005 0.0000 68.904 12.491 48 7 9 4 0.0001 0.0005 0.0000 34.391 7.925 52 7 15 5 +26 0 0.0002 0.0005 0.0000 70.821 12.662 54 10 77 13 0.0001 0.0005 0.0000 35.740 8.100 54 10 15 5 +27 0 0.0002 0.0005 0.0000 72.363 12.701 44 7 47 11 0.0001 0.0005 0.0000 37.048 8.265 54 10 15 5 +28 0 0.0002 0.0004 0.0000 74.500 12.925 88 17 98 12 0.0001 0.0005 0.0000 38.340 8.426 54 10 15 5 +29 0 0.0002 0.0004 0.0000 76.678 13.060 97 16 82 14 0.0001 0.0005 0.0000 39.618 8.580 54 10 15 5 +30 0 0.0002 0.0004 0.0000 79.065 13.214 53 11 87 10 0.0001 0.0005 0.0000 40.890 8.729 54 10 15 5 +31 0 0.0002 0.0005 0.0000 80.478 13.265 52 11 38 9 0.0001 0.0005 0.0000 42.127 8.871 52 11 15 5 +32 0 0.0002 0.0005 0.0000 83.080 13.402 37 9 108 17 0.0001 0.0005 0.0000 43.368 9.009 52 11 15 5 +33 0 0.0002 0.0005 0.0000 84.521 13.422 56 10 64 13 0.0001 0.0005 0.0000 44.579 9.138 52 11 15 5 +34 0 0.0002 0.0004 0.0000 86.355 13.529 179 17 89 15 0.0001 0.0005 0.0000 45.772 9.264 52 11 15 5 +35 0 0.0002 0.0004 0.0000 88.634 13.628 179 17 78 16 0.0001 0.0005 0.0000 46.963 9.385 52 11 15 5 +36 0 0.0002 0.0004 0.0000 90.495 13.751 89 14 172 17 0.0001 0.0005 0.0000 48.140 9.503 52 11 15 5 +37 0 0.0002 0.0005 0.0000 92.315 13.811 107 15 95 16 0.0001 0.0005 0.0000 49.302 9.616 52 11 15 5 +38 0 0.0002 0.0005 0.0000 94.306 13.878 116 15 134 17 0.0001 0.0005 0.0000 50.456 9.726 52 11 15 5 +39 0 0.0002 0.0005 0.0000 96.138 14.045 116 15 152 14 0.0001 0.0005 0.0000 51.598 9.834 52 11 15 5 +40 0 0.0002 0.0005 0.0000 97.675 14.029 116 15 204 17 0.0001 0.0005 0.0000 52.722 9.936 52 11 15 5 +41 0 0.0002 0.0005 0.0000 100.830 14.185 58 12 148 17 0.0001 0.0005 0.0000 53.867 10.037 52 11 15 5 +42 0 0.0002 0.0005 0.0000 102.236 14.224 69 12 76 11 0.0001 0.0005 0.0000 54.992 10.134 52 11 15 5 +43 0 0.0002 0.0005 0.0000 103.262 14.208 56 12 180 17 0.0001 0.0005 0.0000 56.089 10.227 52 11 15 5 +44 0 0.0002 0.0005 0.0000 105.853 14.259 54 11 151 17 0.0001 0.0005 0.0000 57.195 10.317 54 11 15 5 +45 0 0.0002 0.0005 0.0000 107.362 14.264 92 16 94 17 0.0001 0.0005 0.0000 58.286 10.402 54 11 15 5 +46 0 0.0002 0.0005 0.0000 108.630 14.232 42 9 118 17 0.0001 0.0005 0.0000 59.357 10.484 54 11 15 5 +47 0 0.0002 0.0005 0.0000 110.208 14.309 58 10 57 11 0.0001 0.0005 0.0000 60.416 10.564 54 11 15 5 +48 0 0.0002 0.0005 0.0000 111.605 14.311 111 17 93 17 0.0001 0.0005 0.0000 61.461 10.640 54 11 15 5 +49 0 0.0002 0.0005 0.0000 113.529 14.360 35 9 152 15 0.0001 0.0005 0.0000 62.502 10.714 54 11 15 5 +50 0 0.0002 0.0006 0.0000 117.713 14.541 43 11 162 16 0.0001 0.0006 0.0000 63.585 10.790 43 11 15 5 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.sys b/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.sys new file mode 100644 index 0000000..78a746a --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_3/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 397. +creating initial population(s): + 5616 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 318282673 + freed: 317280073 + not freed: 1002600 + max allocated: 13017900 + malloc'ed blocks: 748259 + realloc'ed blocks: 13 + free'ed blocks: 748109 + +------- time ------- + overall: 7s wall + evaluation: 6s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 500 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 145026 + freed: 145026 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.bst b/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.bst new file mode 100644 index 0000000..7ee5248 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.bst @@ -0,0 +1,28 @@ +=== BEST-OF-RUN === + generation: 50 + nodes: 40 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2091.7796 + standardized fitness: 2091.7796 + adjusted fitness: 0.0005 +TREE: + (+ (+ (log (* x + (sin x))) + (* (* (- x -0.55523) x) + (+ (log x) + (* x x)))) + (+ (/ -0.04293 + (+ x x)) + (- (* (cos (cos (* (sin 0.53990) + (sin (* x x))))) + (exp x)) + (log x)))) +TREE-equ: +y = ((log((x * sin(x))) + (((x - -0.55523) * x) * (log(x) + (x * x)))) + ((-0.04293 / (x + x)) + ((cos(cos((sin(0.53990) * sin((x * x))))) * exp(x)) - log(x)))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.fn b/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.fn new file mode 100644 index 0000000..e8f04e5 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.fn @@ -0,0 +1,2 @@ + +y = ((log((x * sin(x))) + (((x - -0.55523) * x) * (log(x) + (x * x)))) + ((-0.04293 / (x + x)) + ((cos(cos((sin(0.53990) * sin((x * x))))) * exp(x)) - log(x)))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.gen b/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.his b/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.his new file mode 100644 index 0000000..a675fd7 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.his @@ -0,0 +1,952 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 36 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11041.6825 + standardized fitness: 11041.6825 + adjusted fitness: 0.0001 +TREE: + (+ (/ x + (* (cos (+ (- -0.28897 -0.32997) -0.16609)) + (/ (- (* 0.88772 0.22622) + (/ 0.04185 -0.50541)) + (+ (- 0.81382 x) + (/ x 0.22413))))) + (/ x + (* (* x + (- (* x -0.56526) -0.27569)) 0.72057))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 36 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11041.6825 + standardized fitness: 11041.6825 + adjusted fitness: 0.0001 +TREE: + (+ (/ x + (* (cos (+ (- -0.28897 -0.32997) -0.16609)) + (/ (- (* 0.88772 0.22622) + (/ 0.04185 -0.50541)) + (+ (- 0.81382 x) + (/ x 0.22413))))) + (/ x + (* (* x + (- (* x -0.56526) -0.27569)) 0.72057))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 4 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9860.6431 + standardized fitness: 9860.6431 + adjusted fitness: 0.0001 +TREE: + (/ (exp x) 0.17848) +=== BEST-OF-RUN === + current generation: 3 + generation: 2 + nodes: 4 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9860.6431 + standardized fitness: 9860.6431 + adjusted fitness: 0.0001 +TREE: + (/ (exp x) 0.17848) +=== BEST-OF-RUN === + current generation: 4 + generation: 2 + nodes: 4 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9860.6431 + standardized fitness: 9860.6431 + adjusted fitness: 0.0001 +TREE: + (/ (exp x) 0.17848) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 6 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9835.9854 + standardized fitness: 9835.9854 + adjusted fitness: 0.0001 +TREE: + (exp (+ x + (exp (cos -0.93571)))) +=== BEST-OF-RUN === + current generation: 6 + generation: 5 + nodes: 6 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9835.9854 + standardized fitness: 9835.9854 + adjusted fitness: 0.0001 +TREE: + (exp (+ x + (exp (cos -0.93571)))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 16 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6337.7039 + standardized fitness: 6337.7039 + adjusted fitness: 0.0002 +TREE: + (/ x + (/ 0.76555 + (* (exp (+ -0.52335 -0.74560)) + (/ (* x x) + (/ 0.34243 x))))) +=== BEST-OF-RUN === + current generation: 8 + generation: 7 + nodes: 16 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6337.7039 + standardized fitness: 6337.7039 + adjusted fitness: 0.0002 +TREE: + (/ x + (/ 0.76555 + (* (exp (+ -0.52335 -0.74560)) + (/ (* x x) + (/ 0.34243 x))))) +=== BEST-OF-RUN === + current generation: 9 + generation: 7 + nodes: 16 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6337.7039 + standardized fitness: 6337.7039 + adjusted fitness: 0.0002 +TREE: + (/ x + (/ 0.76555 + (* (exp (+ -0.52335 -0.74560)) + (/ (* x x) + (/ 0.34243 x))))) +=== BEST-OF-RUN === + current generation: 10 + generation: 7 + nodes: 16 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6337.7039 + standardized fitness: 6337.7039 + adjusted fitness: 0.0002 +TREE: + (/ x + (/ 0.76555 + (* (exp (+ -0.52335 -0.74560)) + (/ (* x x) + (/ 0.34243 x))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 17 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5177.7280 + standardized fitness: 5177.7280 + adjusted fitness: 0.0002 +TREE: + (+ (exp (/ (exp (log x)) + (cos (exp -0.31562)))) + (* (exp x) + (cos (exp (- -0.74829 x))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 13 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 14 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 15 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 16 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 17 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 18 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 19 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 20 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 21 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 22 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 23 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 24 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 25 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 26 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 27 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 28 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 29 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 30 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 31 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 32 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 33 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 34 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 35 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 36 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 37 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 38 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 39 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 40 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 41 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 42 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 43 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 44 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 45 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 46 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 47 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 48 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 49 + generation: 12 + nodes: 11 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2343.2347 + standardized fitness: 2343.2347 + adjusted fitness: 0.0004 +TREE: + (* (* (+ (* x 0.71295) + (* x x)) x) x) +=== BEST-OF-RUN === + current generation: 50 + generation: 50 + nodes: 40 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2091.7796 + standardized fitness: 2091.7796 + adjusted fitness: 0.0005 +TREE: + (+ (+ (log (* x + (sin x))) + (* (* (- x -0.55523) x) + (+ (log x) + (* x x)))) + (+ (/ -0.04293 + (+ x x)) + (- (* (cos (cos (* (sin 0.53990) + (sin (* x x))))) + (exp x)) + (log x)))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.prg b/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.prg new file mode 100644 index 0000000..583e82f --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -1.56563, y = 3.05628 + x = 3.06040, y = 128.81316 + x = 0.54876, y = 1.10582 + x = 2.38998, y = 54.38040 + x = -0.86557, y = -0.20353 + x = -3.65068, y = 138.64330 + x = 2.42938, y = 57.50130 + x = -4.78545, y = 432.96084 + x = 1.79969, y = 21.35808 + x = 4.54118, y = 544.09261 + x = 3.77903, y = 275.97624 + x = -0.17927, y = -0.15186 + x = -0.06748, y = -0.06321 + x = 0.22084, y = 0.28276 + x = 1.61473, y = 15.23057 + x = 2.18737, y = 40.33002 + x = 4.41723, y = 490.83244 + x = -3.55033, y = 123.18494 + x = 0.29091, y = 0.40732 + x = -4.86203, y = 462.66153 + x = 4.16850, y = 395.91563 + x = -3.58200, y = 127.91594 + x = 0.45641, y = 0.80318 + x = 3.14786, y = 142.43864 + x = -3.91295, y = 185.91751 + x = 4.59496, y = 568.51248 + x = -2.69383, y = 37.67445 + x = -0.23364, y = -0.18883 + x = 3.52580, y = 214.32337 + x = -3.95322, y = 194.12699 + x = -4.79056, y = 434.89455 + x = 4.26686, y = 431.61880 + x = -1.83123, y = 6.62670 + x = -4.52207, y = 341.62110 + x = 4.84159, y = 691.25606 + x = 4.36674, y = 470.30656 + x = 3.29139, y = 167.14126 + x = 1.52224, y = 12.73624 + x = 2.48267, y = 61.93930 + x = -1.12455, y = 0.31720 + x = -1.82221, y = 6.47308 + x = -3.58016, y = 127.63860 + x = -3.60037, y = 130.72257 + x = -2.52646, y = 28.47289 + x = 1.88193, y = 24.63198 + x = 2.68949, y = 81.69812 + x = 3.32099, y = 172.61555 + x = -2.00072, y = 10.01657 + x = -2.33341, y = 20.05238 + x = -4.33345, y = 285.71269 + x = 0.25349, y = 0.33817 + x = -0.54781, y = -0.32205 + x = -1.47168, y = 2.19760 + x = 4.10680, y = 374.69252 + x = 3.12789, y = 139.23493 + x = -0.83249, y = -0.23609 + x = -0.10837, y = -0.09776 + x = 0.07083, y = 0.07622 + x = 2.54838, y = 67.76803 + x = -0.23231, y = -0.18797 + x = -1.94207, y = 8.73006 + x = -4.09286, y = 224.70994 + x = -2.26812, y = 17.67283 + x = -2.07575, y = 11.85443 + x = 1.36339, y = 9.21179 + x = 2.35919, y = 52.03350 + x = -1.57890, y = 3.19258 + x = -2.54102, y = 29.19899 + x = 3.33892, y = 175.99646 + x = 3.92524, y = 317.20315 + x = 3.86638, y = 300.08311 + x = 1.41795, y = 10.32186 + x = 3.78308, y = 277.06272 + x = -0.37563, y = -0.26763 + x = -0.11552, y = -0.10354 + x = -0.28369, y = -0.21956 + x = 2.88968, y = 105.09655 + x = 1.34961, y = 8.94689 + x = -4.98003, y = 511.38582 + x = 1.91955, y = 26.25390 + x = -0.29667, y = -0.22702 + x = 2.23534, y = 43.36929 + x = 2.21798, y = 42.24928 + x = -1.24189, y = 0.76371 + x = 2.98885, y = 118.42478 + x = 4.30230, y = 445.06042 + x = 1.53499, y = 13.05947 + x = -4.75548, y = 421.73593 + x = -0.88546, y = -0.18094 + x = -2.51760, y = 28.03736 + x = 0.94564, y = 3.48512 + x = 0.83241, y = 2.58225 + x = 3.18332, y = 148.26396 + x = 3.55743, y = 221.38948 + x = 0.00907, y = 0.00915 + x = 1.75984, y = 19.89880 + x = -2.36325, y = 21.21466 + x = 1.77527, y = 20.45406 + x = 2.58906, y = 71.58106 + x = -2.83438, y = 46.96945 + x = 4.79981, y = 669.17180 + x = -3.02862, y = 62.49881 + x = -2.02069, y = 10.48414 + x = 0.74704, y = 2.03344 + x = 0.96322, y = 3.64545 + x = 3.01815, y = 122.59803 + x = 2.23421, y = 43.29528 + x = 4.77021, y = 653.85693 + x = -3.88205, y = 179.79906 + x = 3.82559, y = 288.63551 + x = 2.63252, y = 75.83361 + x = -0.35288, y = -0.25679 + x = -4.04371, y = 213.56219 + x = 0.06598, y = 0.07064 + x = 3.82205, y = 287.65930 + x = 2.22551, y = 42.73248 + x = -2.27618, y = 17.95476 + x = -0.82555, y = -0.24217 + x = 2.91518, y = 108.40825 + x = 4.60355, y = 572.48712 + x = -0.27756, y = -0.21597 + x = 1.64584, y = 16.15037 + x = -0.13008, y = -0.11508 + x = 1.17330, y = 6.06023 + x = 4.12544, y = 381.01098 + x = 1.89500, y = 25.18631 + x = -1.56136, y = 3.01320 + x = -1.96395, y = 9.19532 + x = 3.66115, y = 245.80654 + x = 1.86633, y = 23.98281 + x = 2.48210, y = 61.89057 + x = 3.11947, y = 137.90090 + x = 0.23166, y = 0.30063 + x = -3.80561, y = 165.31025 + x = 4.28703, y = 439.22890 + x = -4.94379, y = 496.02994 + x = 1.27906, y = 7.68405 + x = -2.84800, y = 47.95298 + x = -0.06394, y = -0.06010 + x = -4.23666, y = 259.84505 + x = 1.57849, y = 14.21128 + x = -2.63946, y = 34.47460 + x = -2.67066, y = 36.28509 + x = -0.48901, y = -0.30963 + x = 2.75997, y = 89.42626 + x = 4.29980, y = 444.09934 + x = -4.03750, y = 212.18305 + x = -2.98997, y = 59.14246 + x = 4.43199, y = 496.95924 + x = 3.11407, y = 137.05017 + x = -1.67880, y = 4.35132 + x = 4.60071, y = 571.16903 + x = 3.11412, y = 137.05756 + x = -4.27726, y = 270.47179 + x = -0.31649, y = -0.23799 + x = -3.31967, y = 92.56173 + x = 1.73973, y = 19.19257 + x = -3.21508, y = 80.73618 + x = 1.46001, y = 11.24768 + x = 0.90700, y = 3.15258 + x = -3.26091, y = 85.76990 + x = 0.08221, y = 0.08957 + x = -0.16585, y = -0.14215 + x = -4.64539, y = 382.36925 + x = -2.75290, y = 41.39579 + x = 0.27198, y = 0.37155 + x = -2.68222, y = 36.97357 + x = 1.44530, y = 10.91665 + x = 2.30601, y = 48.16435 + x = 4.52226, y = 535.69200 + x = 1.26301, y = 7.41766 + x = -4.28621, y = 272.85588 + x = -0.25754, y = -0.20390 + x = 4.80111, y = 669.85383 + x = 1.28235, y = 7.73965 + x = 0.12173, y = 0.13857 + x = 3.53172, y = 215.63340 + x = -0.85282, y = -0.21681 + x = -3.51022, y = 117.38224 + x = 2.44510, y = 58.78472 + x = -4.84473, y = 455.82186 + x = -3.34628, y = 95.76706 + x = 1.57604, y = 14.14430 + x = -2.24586, y = 16.91083 + x = 0.12724, y = 0.14575 + x = -2.60011, y = 32.28757 + x = -1.71468, y = 4.82845 + x = -0.12295, y = -0.10947 + x = 3.94728, y = 323.80032 + x = -0.98495, y = -0.02920 + x = 2.73844, y = 87.00856 + x = 4.83376, y = 687.07678 + x = -0.15402, y = -0.13339 + x = 0.41380, y = 0.68521 + x = -0.49968, y = -0.31242 + x = 0.86469, y = 2.81797 + x = 2.61808, y = 74.39946 + x = -2.47177, y = 25.86416 + x = 3.22864, y = 155.97033 + x = -2.36176, y = 21.15567 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.stt b/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.stt new file mode 100644 index 0000000..873979f --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.258 3.709 36 6 8 3 0.0000 0.0001 0.0000 13.258 3.709 36 6 8 3 +1 0 0.0000 0.0001 0.0000 13.639 4.174 17 5 11 4 0.0000 0.0001 0.0000 13.449 3.941 36 6 8 3 +2 0 0.0000 0.0001 0.0000 14.316 4.522 4 2 9 8 0.0000 0.0001 0.0000 13.738 4.135 4 2 8 3 +3 0 0.0000 0.0001 0.0000 15.243 4.859 9 3 6 5 0.0000 0.0001 0.0000 14.114 4.316 4 2 8 3 +4 0 0.0000 0.0001 0.0000 15.919 5.115 16 9 17 7 0.0000 0.0001 0.0000 14.475 4.476 4 2 8 3 +5 0 0.0000 0.0001 0.0000 16.631 5.326 6 4 13 6 0.0000 0.0001 0.0000 14.834 4.618 6 4 8 3 +6 0 0.0000 0.0001 0.0000 17.223 5.533 58 10 11 6 0.0000 0.0001 0.0000 15.176 4.748 6 4 8 3 +7 0 0.0000 0.0002 0.0000 17.819 5.765 16 5 25 7 0.0000 0.0002 0.0000 15.506 4.875 16 5 8 3 +8 0 0.0000 0.0001 0.0000 18.381 5.904 10 5 42 10 0.0000 0.0002 0.0000 15.825 4.990 16 5 8 3 +9 0 0.0000 0.0002 0.0000 18.860 6.046 7 2 36 9 0.0000 0.0002 0.0000 16.129 5.095 16 5 8 3 +10 0 0.0000 0.0001 0.0000 19.270 6.221 18 6 10 5 0.0000 0.0002 0.0000 16.414 5.198 16 5 8 3 +11 0 0.0000 0.0002 0.0000 20.219 6.405 17 5 10 4 0.0000 0.0002 0.0000 16.731 5.298 17 5 8 3 +12 0 0.0000 0.0004 0.0000 21.587 6.677 11 4 25 9 0.0000 0.0004 0.0000 17.105 5.404 11 4 8 3 +13 0 0.0000 0.0002 0.0000 23.111 6.993 11 5 22 7 0.0000 0.0004 0.0000 17.534 5.518 11 4 8 3 +14 0 0.0001 0.0002 0.0000 26.032 7.512 16 5 20 8 0.0000 0.0004 0.0000 18.101 5.651 11 4 8 3 +15 0 0.0001 0.0002 0.0000 28.751 7.987 30 6 41 8 0.0000 0.0004 0.0000 18.766 5.797 11 4 8 3 +16 0 0.0001 0.0003 0.0000 32.341 8.565 22 7 31 8 0.0000 0.0004 0.0000 19.565 5.960 11 4 8 3 +17 0 0.0001 0.0003 0.0000 35.599 9.084 22 7 63 10 0.0000 0.0004 0.0000 20.456 6.133 11 4 8 3 +18 0 0.0001 0.0003 0.0000 38.278 9.520 15 5 47 12 0.0000 0.0004 0.0000 21.394 6.311 11 4 8 3 +19 0 0.0001 0.0002 0.0000 40.729 9.845 17 5 49 12 0.0000 0.0004 0.0000 22.360 6.488 11 4 8 3 +20 0 0.0001 0.0003 0.0000 42.975 10.147 42 9 72 14 0.0001 0.0004 0.0000 23.342 6.662 11 4 8 3 +21 0 0.0001 0.0002 0.0000 44.563 10.323 16 5 55 14 0.0001 0.0004 0.0000 24.307 6.829 11 4 8 3 +22 0 0.0001 0.0002 0.0000 45.992 10.487 33 6 17 7 0.0001 0.0004 0.0000 25.249 6.988 11 4 8 3 +23 0 0.0001 0.0002 0.0000 47.162 10.553 47 9 36 10 0.0001 0.0004 0.0000 26.162 7.136 11 4 8 3 +24 0 0.0001 0.0002 0.0000 49.724 10.913 60 12 58 13 0.0001 0.0004 0.0000 27.105 7.287 11 4 8 3 +25 0 0.0001 0.0002 0.0000 51.454 11.122 62 13 29 10 0.0001 0.0004 0.0000 28.041 7.435 11 4 8 3 +26 0 0.0001 0.0002 0.0000 51.893 11.115 47 9 52 12 0.0001 0.0004 0.0000 28.925 7.571 11 4 8 3 +27 0 0.0001 0.0002 0.0000 53.550 11.330 58 11 80 15 0.0001 0.0004 0.0000 29.804 7.705 11 4 8 3 +28 0 0.0001 0.0002 0.0000 54.463 11.401 56 10 48 11 0.0001 0.0004 0.0000 30.655 7.833 11 4 8 3 +29 0 0.0001 0.0002 0.0000 55.366 11.476 25 6 35 8 0.0001 0.0004 0.0000 31.478 7.954 11 4 8 3 +30 0 0.0001 0.0002 0.0000 57.329 11.629 26 6 27 11 0.0001 0.0004 0.0000 32.312 8.073 11 4 8 3 +31 0 0.0001 0.0002 0.0000 58.843 11.738 29 7 114 17 0.0001 0.0004 0.0000 33.141 8.187 11 4 8 3 +32 0 0.0001 0.0003 0.0000 60.339 11.841 30 6 55 11 0.0001 0.0004 0.0000 33.965 8.298 11 4 8 3 +33 0 0.0001 0.0003 0.0000 62.847 12.132 23 6 47 11 0.0001 0.0004 0.0000 34.815 8.411 11 4 8 3 +34 0 0.0001 0.0002 0.0000 64.890 12.246 39 8 104 17 0.0001 0.0004 0.0000 35.674 8.520 11 4 8 3 +35 0 0.0001 0.0002 0.0000 66.465 12.333 80 16 106 14 0.0001 0.0004 0.0000 36.529 8.626 11 4 8 3 +36 0 0.0001 0.0002 0.0000 68.111 12.453 193 16 38 11 0.0001 0.0004 0.0000 37.383 8.730 11 4 8 3 +37 0 0.0001 0.0002 0.0000 70.348 12.590 55 16 77 12 0.0001 0.0004 0.0000 38.251 8.831 11 4 8 3 +38 0 0.0001 0.0002 0.0000 73.178 12.728 86 14 20 9 0.0001 0.0004 0.0000 39.146 8.931 11 4 8 3 +39 0 0.0001 0.0003 0.0000 74.411 12.815 56 10 13 5 0.0001 0.0004 0.0000 40.028 9.028 11 4 8 3 +40 0 0.0001 0.0003 0.0000 77.327 13.068 58 10 17 6 0.0001 0.0004 0.0000 40.937 9.127 11 4 8 3 +41 0 0.0001 0.0003 0.0000 78.891 13.190 53 10 109 15 0.0001 0.0004 0.0000 41.841 9.224 11 4 8 3 +42 0 0.0001 0.0002 0.0000 81.375 13.364 103 15 104 14 0.0001 0.0004 0.0000 42.761 9.320 11 4 8 3 +43 0 0.0001 0.0002 0.0000 82.706 13.437 101 15 43 10 0.0001 0.0004 0.0000 43.668 9.413 11 4 8 3 +44 0 0.0001 0.0003 0.0000 83.905 13.476 76 16 22 8 0.0001 0.0004 0.0000 44.562 9.504 11 4 8 3 +45 0 0.0002 0.0003 0.0000 85.314 13.572 76 16 71 16 0.0001 0.0004 0.0000 45.448 9.592 11 4 8 3 +46 0 0.0002 0.0003 0.0000 85.995 13.526 60 12 125 16 0.0001 0.0004 0.0000 46.311 9.676 11 4 8 3 +47 0 0.0002 0.0004 0.0000 86.433 13.526 68 12 78 16 0.0001 0.0004 0.0000 47.147 9.756 11 4 8 3 +48 0 0.0002 0.0004 0.0000 87.226 13.596 68 12 92 14 0.0001 0.0004 0.0000 47.965 9.834 11 4 8 3 +49 0 0.0002 0.0004 0.0000 87.964 13.521 73 13 100 13 0.0001 0.0004 0.0000 48.765 9.908 11 4 8 3 +50 0 0.0002 0.0005 0.0000 90.014 13.627 40 9 186 17 0.0001 0.0005 0.0000 49.574 9.981 40 9 8 3 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.sys b/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.sys new file mode 100644 index 0000000..80de98b --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_4/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 2299. +creating initial population(s): + 5618 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 256107086 + freed: 255104486 + not freed: 1002600 + max allocated: 10558621 + malloc'ed blocks: 752173 + realloc'ed blocks: 12 + free'ed blocks: 752023 + +------- time ------- + overall: 7s wall + evaluation: 6s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 400 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 143778 + freed: 143778 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.bst b/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.bst new file mode 100644 index 0000000..139bcff --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.bst @@ -0,0 +1,22 @@ +=== BEST-OF-RUN === + generation: 21 + nodes: 21 + depth: 6 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (* (+ (* x + (+ (cos (- x x)) + (* x x))) + (+ (cos (- x x)) + (* x x))) x) +TREE-equ: +y = (((x * (cos((x - x)) + (x * x))) + (cos((x - x)) + (x * x))) * x) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.fn b/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.fn new file mode 100644 index 0000000..85b781a --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.fn @@ -0,0 +1,2 @@ + +y = (((x * (cos((x - x)) + (x * x))) + (cos((x - x)) + (x * x))) * x) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.gen b/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.his b/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.his new file mode 100644 index 0000000..d9a6acc --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.his @@ -0,0 +1,482 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 35 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7304.0156 + standardized fitness: 7304.0156 + adjusted fitness: 0.0001 +TREE: + (+ (+ (- (/ (- x x) + (- -0.99943 -0.60232)) + (cos (exp -0.93729))) + (* (log (cos 0.45273)) + (+ (cos -0.02217) + (log x)))) + (* (exp (exp (log x))) + (+ (cos (* x x)) + (exp (log x))))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 35 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7304.0156 + standardized fitness: 7304.0156 + adjusted fitness: 0.0001 +TREE: + (+ (+ (- (/ (- x x) + (- -0.99943 -0.60232)) + (cos (exp -0.93729))) + (* (log (cos 0.45273)) + (+ (cos -0.02217) + (log x)))) + (* (exp (exp (log x))) + (+ (cos (* x x)) + (exp (log x))))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 19 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6443.1214 + standardized fitness: 6443.1214 + adjusted fitness: 0.0002 +TREE: + (* (cos (log (/ -0.25081 0.34403))) + (* x + (+ (* x + (+ (cos x) + (* x x))) + (sin x)))) +=== BEST-OF-RUN === + current generation: 3 + generation: 2 + nodes: 19 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6443.1214 + standardized fitness: 6443.1214 + adjusted fitness: 0.0002 +TREE: + (* (cos (log (/ -0.25081 0.34403))) + (* x + (+ (* x + (+ (cos x) + (* x x))) + (sin x)))) +=== BEST-OF-RUN === + current generation: 4 + generation: 2 + nodes: 19 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6443.1214 + standardized fitness: 6443.1214 + adjusted fitness: 0.0002 +TREE: + (* (cos (log (/ -0.25081 0.34403))) + (* x + (+ (* x + (+ (cos x) + (* x x))) + (sin x)))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 23 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6371.1317 + standardized fitness: 6371.1317 + adjusted fitness: 0.0002 +TREE: + (* (cos (log (/ -0.25081 0.34403))) + (* x + (+ (* x + (+ (cos x) + (* x x))) + (- (cos (exp (cos -0.92166))) -0.50629)))) +=== BEST-OF-RUN === + current generation: 6 + generation: 5 + nodes: 23 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6371.1317 + standardized fitness: 6371.1317 + adjusted fitness: 0.0002 +TREE: + (* (cos (log (/ -0.25081 0.34403))) + (* x + (+ (* x + (+ (cos x) + (* x x))) + (- (cos (exp (cos -0.92166))) -0.50629)))) +=== BEST-OF-RUN === + current generation: 7 + generation: 5 + nodes: 23 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6371.1317 + standardized fitness: 6371.1317 + adjusted fitness: 0.0002 +TREE: + (* (cos (log (/ -0.25081 0.34403))) + (* x + (+ (* x + (+ (cos x) + (* x x))) + (- (cos (exp (cos -0.92166))) -0.50629)))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 39 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5156.5430 + standardized fitness: 5156.5430 + adjusted fitness: 0.0002 +TREE: + (- (/ (- (exp (log (- x + (* (- (log (cos x)) x) + (/ -0.78559 + (log (* 0.14843 x))))))) + (cos 0.36038)) + (/ (exp (* (cos x) 0.69575)) + (* (* x x) + (log x)))) + (+ (/ x -0.52949) + (sin -0.27542))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 23 + depth: 7 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 1454.8616 + standardized fitness: 1454.8616 + adjusted fitness: 0.0007 +TREE: + (+ (* (cos (log (log x))) + (* x + (+ (* x + (+ (cos -0.06493) + (* x x))) + (* (+ 0.92258 x) x)))) 0.01834) +=== BEST-OF-RUN === + current generation: 10 + generation: 9 + nodes: 23 + depth: 7 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 1454.8616 + standardized fitness: 1454.8616 + adjusted fitness: 0.0007 +TREE: + (+ (* (cos (log (log x))) + (* x + (+ (* x + (+ (cos -0.06493) + (* x x))) + (* (+ 0.92258 x) x)))) 0.01834) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 18 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1289.3575 + standardized fitness: 1289.3575 + adjusted fitness: 0.0008 +TREE: + (* (+ (* x + (+ (cos (log (cos x))) + (* x x))) + (* (+ 0.92258 x) x)) x) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 29 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 490.7028 + standardized fitness: 490.7028 + adjusted fitness: 0.0020 +TREE: + (+ (* (cos (log (log (/ x x)))) + (* x + (+ (* x + (+ (log (cos (log (/ -0.25081 0.34403)))) + (* x x))) + (* (+ 0.92258 x) x)))) 0.01834) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 31 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 487.3124 + standardized fitness: 487.3124 + adjusted fitness: 0.0020 +TREE: + (* (+ (* x + (+ (log (exp (/ (- (/ (+ -0.27309 0.18495) + (log (- (/ x -0.07364) x))) + (sin -0.08546)) -0.56286))) + (* x x))) + (* (+ 0.92258 x) x)) x) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 17 + depth: 5 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 134.8920 + standardized fitness: 134.8920 + adjusted fitness: 0.0074 +TREE: + (* (+ (* x + (+ (/ 0.80599 x) + (* x x))) + (* (+ 0.92258 x) x)) x) +=== BEST-OF-RUN === + current generation: 15 + generation: 14 + nodes: 17 + depth: 5 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 134.8920 + standardized fitness: 134.8920 + adjusted fitness: 0.0074 +TREE: + (* (+ (* x + (+ (/ 0.80599 x) + (* x x))) + (* (+ 0.92258 x) x)) x) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 13 + depth: 5 + hits: 7 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 7 + raw fitness: 38.5205 + standardized fitness: 38.5205 + adjusted fitness: 0.0253 +TREE: + (* x + (+ (* x + (+ x + (* x x))) + (+ 0.92258 x))) +=== BEST-OF-RUN === + current generation: 17 + generation: 16 + nodes: 13 + depth: 5 + hits: 7 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 7 + raw fitness: 38.5205 + standardized fitness: 38.5205 + adjusted fitness: 0.0253 +TREE: + (* x + (+ (* x + (+ x + (* x x))) + (+ 0.92258 x))) +=== BEST-OF-RUN === + current generation: 18 + generation: 16 + nodes: 13 + depth: 5 + hits: 7 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 7 + raw fitness: 38.5205 + standardized fitness: 38.5205 + adjusted fitness: 0.0253 +TREE: + (* x + (+ (* x + (+ x + (* x x))) + (+ 0.92258 x))) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 19 + depth: 5 + hits: 179 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 179 + raw fitness: 0.8414 + standardized fitness: 0.8414 + adjusted fitness: 0.5431 +TREE: + (* (+ (* x + (+ (cos -0.03185) + (* x x))) + (+ (cos (- x x)) + (* x x))) x) +=== BEST-OF-RUN === + current generation: 20 + generation: 19 + nodes: 19 + depth: 5 + hits: 179 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 179 + raw fitness: 0.8414 + standardized fitness: 0.8414 + adjusted fitness: 0.5431 +TREE: + (* (+ (* x + (+ (cos -0.03185) + (* x x))) + (+ (cos (- x x)) + (* x x))) x) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 21 + depth: 6 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (* (+ (* x + (+ (cos (- x x)) + (* x x))) + (+ (cos (- x x)) + (* x x))) x) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.prg b/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.prg new file mode 100644 index 0000000..9375f53 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 2.50711, y = 64.06044 + x = -4.74250, y = 416.94117 + x = -3.72894, y = 151.67367 + x = 3.93656, y = 320.57644 + x = -0.00093, y = -0.00093 + x = 0.79565, y = 2.33315 + x = 3.80974, y = 284.27962 + x = 0.45262, y = 0.79217 + x = 1.89286, y = 25.09497 + x = -4.20923, y = 252.84558 + x = -3.44236, y = 108.03496 + x = -2.48071, y = 26.27797 + x = -3.05439, y = 64.81549 + x = -4.00361, y = 204.77640 + x = -1.07151, y = 0.16459 + x = -2.90957, y = 52.59143 + x = -2.42831, y = 23.92047 + x = -4.26290, y = 266.67521 + x = 0.17595, y = 0.21331 + x = 0.02243, y = 0.02295 + x = 2.78756, y = 92.59940 + x = 2.05346, y = 32.70952 + x = 2.77645, y = 91.31108 + x = 2.96743, y = 115.44292 + x = -3.57799, y = 127.30992 + x = 4.69482, y = 616.03473 + x = 2.48710, y = 62.31935 + x = 2.01612, y = 30.79787 + x = -3.74211, y = 153.95409 + x = -1.73391, y = 5.09826 + x = -3.12482, y = 71.47323 + x = -3.41070, y = 103.86957 + x = -3.77048, y = 158.95272 + x = -2.90569, y = 52.28902 + x = 2.05084, y = 32.57242 + x = 3.82012, y = 287.12710 + x = 4.08719, y = 368.13009 + x = -3.96697, y = 196.99116 + x = 0.57346, y = 1.19903 + x = -3.30157, y = 90.42807 + x = -0.16771, y = -0.14351 + x = -0.84342, y = -0.22601 + x = -2.26970, y = 17.72760 + x = -3.95712, y = 194.93612 + x = -0.24913, y = -0.19867 + x = 0.46508, y = 0.82876 + x = 4.84102, y = 690.95117 + x = -2.04064, y = 10.96662 + x = -0.89920, y = -0.16392 + x = 2.54433, y = 67.39674 + x = -0.61645, y = -0.32629 + x = -4.13818, y = 235.37137 + x = 4.60313, y = 572.29179 + x = -4.93185, y = 491.05021 + x = 1.59645, y = 14.70953 + x = 0.91781, y = 3.24294 + x = 4.02799, y = 348.84536 + x = 4.17675, y = 398.82211 + x = -3.11428, y = 70.44572 + x = 1.17895, y = 6.13942 + x = 1.70846, y = 18.13354 + x = 2.77672, y = 91.34221 + x = 4.87916, y = 711.57545 + x = 0.19443, y = 0.24100 + x = 0.95847, y = 3.60163 + x = 2.40105, y = 55.24433 + x = 4.78898, y = 663.54090 + x = -4.09727, y = 225.73117 + x = 1.24552, y = 7.13568 + x = 3.46341, y = 200.88861 + x = -2.75060, y = 41.24585 + x = 4.61233, y = 576.57181 + x = 1.63631, y = 15.86400 + x = 2.63162, y = 75.74312 + x = -4.36111, y = 293.44687 + x = 1.92574, y = 26.52856 + x = 2.45033, y = 59.21602 + x = 2.70830, y = 83.70886 + x = -3.62902, y = 135.19014 + x = 0.50420, y = 0.95122 + x = -4.33317, y = 285.63380 + x = 3.31035, y = 170.63168 + x = 0.13040, y = 0.14991 + x = 0.07894, y = 0.08570 + x = 1.55764, y = 13.64967 + x = -0.90154, y = -0.16091 + x = -3.28986, y = 89.06778 + x = 1.03509, y = 4.36346 + x = 1.13584, y = 5.55580 + x = 4.64978, y = 594.24653 + x = 4.03114, y = 349.85239 + x = 3.18446, y = 148.45353 + x = -0.21249, y = -0.17490 + x = 2.11004, y = 35.77958 + x = 4.44903, y = 504.10362 + x = 0.21996, y = 0.28133 + x = 2.52028, y = 65.22576 + x = 0.09869, y = 0.10948 + x = -4.59601, y = 365.63783 + x = 2.82513, y = 97.05709 + x = 3.01475, y = 122.10832 + x = -2.86728, y = 49.37072 + x = -3.41162, y = 103.98966 + x = 3.59660, y = 230.38334 + x = 1.87750, y = 24.44642 + x = 1.07320, y = 4.78756 + x = 0.73142, y = 1.94389 + x = -0.47581, y = -0.30588 + x = -1.48949, y = 2.34664 + x = -2.50201, y = 27.28360 + x = -0.79233, y = -0.26784 + x = -2.00711, y = 10.16442 + x = -1.95909, y = 9.09044 + x = -2.76407, y = 42.12896 + x = 2.14781, y = 37.94969 + x = 3.52400, y = 213.92645 + x = -2.01079, y = 10.25037 + x = -2.23088, y = 16.41207 + x = 0.74540, y = 2.02387 + x = -4.26149, y = 266.30527 + x = 4.88078, y = 712.45948 + x = -0.30971, y = -0.23429 + x = -4.50126, y = 335.08110 + x = 3.42039, y = 192.00342 + x = -4.55134, y = 350.98106 + x = -4.88332, y = 471.18242 + x = 3.02395, y = 123.43837 + x = 3.03971, y = 125.74041 + x = -4.24589, y = 262.23123 + x = -0.43431, y = -0.29203 + x = -3.80568, y = 165.32218 + x = -2.07386, y = 11.80528 + x = -0.80221, y = -0.26078 + x = 3.87299, y = 301.97050 + x = -3.70347, y = 147.33723 + x = 2.67394, y = 80.06399 + x = 0.26944, y = 0.36687 + x = -2.10553, y = 12.64719 + x = 2.93112, y = 110.51913 + x = 3.03364, y = 124.84951 + x = -3.89075, y = 181.50655 + x = 3.94102, y = 321.91526 + x = -4.71030, y = 405.22996 + x = 0.39733, y = 0.64285 + x = 4.76901, y = 653.23951 + x = -0.65916, y = -0.32229 + x = 2.68572, y = 81.29996 + x = 1.36711, y = 9.28440 + x = 1.66138, y = 16.62583 + x = 4.33235, y = 456.70159 + x = 2.19601, y = 40.86476 + x = 4.48057, y = 517.53137 + x = -0.65543, y = -0.32286 + x = 0.83830, y = 2.62404 + x = 1.63081, y = 15.70075 + x = 0.08861, y = 0.09722 + x = 2.93493, y = 111.02775 + x = -2.28462, y = 18.25331 + x = 2.30007, y = 47.74601 + x = 4.20356, y = 408.37742 + x = -4.19624, y = 249.58030 + x = -2.16305, y = 14.28626 + x = 1.59307, y = 14.61463 + x = 0.47687, y = 0.86443 + x = -3.61126, y = 132.40749 + x = 0.26665, y = 0.36177 + x = -2.29680, y = 18.69107 + x = 2.64358, y = 76.94594 + x = -2.53307, y = 28.80102 + x = -2.19303, y = 15.19938 + x = -4.16172, y = 241.05745 + x = 1.62210, y = 15.44459 + x = 1.10774, y = 5.19988 + x = 1.41305, y = 10.21796 + x = -1.45750, y = 2.08331 + x = -4.59979, y = 366.90012 + x = -4.65428, y = 385.44174 + x = -0.33957, y = -0.25012 + x = -3.21042, y = 80.23718 + x = 0.36006, y = 0.55318 + x = -2.81825, y = 45.82421 + x = 0.30857, y = 0.44224 + x = -4.26036, y = 266.00892 + x = -3.44945, y = 108.98445 + x = -1.23807, y = 0.74654 + x = 3.35737, y = 179.52945 + x = 1.33307, y = 8.63718 + x = 3.72092, y = 260.77404 + x = 2.48425, y = 62.07485 + x = 1.02988, y = 4.30782 + x = -0.02926, y = -0.02843 + x = 2.62586, y = 75.16994 + x = -4.57246, y = 357.85504 + x = 0.12416, y = 0.14172 + x = 2.19536, y = 40.82433 + x = -0.51285, y = -0.31555 + x = -2.16672, y = 14.39589 + x = -1.12335, y = 0.31341 + x = -3.14517, y = 73.48814 + x = 4.36880, y = 471.13071 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.stt b/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.stt new file mode 100644 index 0000000..1b800ae --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.stt @@ -0,0 +1,23 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 12.945 3.655 35 5 4 2 0.0000 0.0001 0.0000 12.945 3.655 35 5 4 2 +1 0 0.0000 0.0001 0.0000 13.132 4.161 32 8 7 6 0.0000 0.0001 0.0000 13.039 3.908 35 5 4 2 +2 0 0.0000 0.0002 0.0000 13.624 4.467 19 6 9 7 0.0000 0.0002 0.0000 13.234 4.094 19 6 4 2 +3 0 0.0000 0.0001 0.0000 14.249 4.758 23 9 44 12 0.0000 0.0002 0.0000 13.487 4.260 19 6 4 2 +4 0 0.0000 0.0002 0.0000 14.972 4.999 42 11 8 4 0.0000 0.0002 0.0000 13.784 4.408 19 6 4 2 +5 0 0.0000 0.0002 0.0000 15.736 5.230 23 7 6 4 0.0000 0.0002 0.0000 14.110 4.545 23 7 4 2 +6 0 0.0000 0.0002 0.0000 16.650 5.481 26 10 10 5 0.0000 0.0002 0.0000 14.473 4.679 23 7 4 2 +7 0 0.0000 0.0002 0.0000 17.588 5.724 21 7 14 6 0.0000 0.0002 0.0000 14.862 4.809 23 7 4 2 +8 0 0.0000 0.0002 0.0000 18.479 5.971 39 10 71 14 0.0000 0.0002 0.0000 15.264 4.939 39 10 4 2 +9 0 0.0000 0.0007 0.0000 19.715 6.264 23 7 27 8 0.0000 0.0007 0.0000 15.709 5.071 23 7 4 2 +10 0 0.0000 0.0007 0.0000 21.781 6.614 16 5 31 8 0.0000 0.0007 0.0000 16.261 5.211 23 7 4 2 +11 0 0.0000 0.0008 0.0000 24.359 7.048 18 7 62 9 0.0000 0.0008 0.0000 16.936 5.364 18 7 4 2 +12 0 0.0001 0.0020 0.0000 27.812 7.659 29 10 38 12 0.0000 0.0020 0.0000 17.773 5.541 29 10 4 2 +13 0 0.0001 0.0020 0.0000 31.543 8.390 31 12 35 11 0.0000 0.0020 0.0000 18.756 5.744 31 12 4 2 +14 0 0.0002 0.0074 0.0000 32.994 8.972 17 5 11 4 0.0001 0.0074 0.0000 19.705 5.960 17 5 4 2 +15 0 0.0003 0.0049 0.0000 32.953 9.484 43 14 75 16 0.0001 0.0074 0.0000 20.533 6.180 17 5 4 2 +16 0 0.0005 0.0253 0.0000 33.507 10.029 13 5 20 7 0.0001 0.0253 0.0000 21.296 6.406 13 5 4 2 +17 0 0.0007 0.0197 0.0000 35.812 10.695 41 11 22 9 0.0001 0.0253 0.0000 22.103 6.644 13 5 4 2 +18 0 0.0010 0.0197 0.0000 38.820 11.277 41 11 39 13 0.0002 0.0253 0.0000 22.983 6.888 13 5 4 2 +19 0 0.0014 0.5431 0.0000 42.589 11.836 19 5 29 11 0.0002 0.5431 0.0000 23.963 7.136 19 5 4 2 +20 0 0.0028 0.5431 0.0000 43.393 11.631 19 5 55 14 0.0004 0.5431 0.0000 24.888 7.350 19 5 4 2 +21 0 0.0200 1.0000 0.0000 34.877 9.385 21 6 68 14 0.0013 1.0000 0.0000 25.342 7.442 21 6 4 2 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.sys b/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.sys new file mode 100644 index 0000000..d4631f1 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_5/regress.sys @@ -0,0 +1,116 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 57. +creating initial population(s): + 5602 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 62238515 + freed: 61817423 + not freed: 421092 + max allocated: 5705531 + malloc'ed blocks: 323835 + realloc'ed blocks: 10 + free'ed blocks: 323772 + +------- time ------- + overall: 2s wall + evaluation: 2s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 68393 + freed: 68393 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.bst b/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.bst new file mode 100644 index 0000000..ad9922e --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.bst @@ -0,0 +1,35 @@ +=== BEST-OF-RUN === + generation: 45 + nodes: 58 + depth: 17 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 1.0252 + standardized fitness: 1.0252 + adjusted fitness: 0.4938 +TREE: + (+ (- (* (* x x) + (* x x)) + (sin 0.72466)) + (+ (* x + (log (exp x))) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin (sin (/ x + (* (* (+ (cos 0.63359) + (exp (+ (* (sin 0.05858) + (exp x)) + (exp (exp 0.96568))))) x) + (/ (exp -0.93321) 0.19571))))) + (* x + (log (exp x)))))) + (+ -0.97154 + (cos 0.77457)))))) +TREE-equ: +y = ((((x * x) * (x * x)) - sin(0.72466)) + ((x * log(exp(x))) + (x + ((0.91458 + (x * (sin(sin((x / (((cos(0.63359) + exp(((sin(0.05858) * exp(x)) + exp(exp(0.96568))))) * x) * (exp(-0.93321) / 0.19571))))) + (x * log(exp(x)))))) + (-0.97154 + cos(0.77457)))))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.fn b/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.fn new file mode 100644 index 0000000..bc283f6 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.fn @@ -0,0 +1,2 @@ + +y = ((((x * x) * (x * x)) - sin(0.72466)) + ((x * log(exp(x))) + (x + ((0.91458 + (x * (sin(sin((x / (((cos(0.63359) + exp(((sin(0.05858) * exp(x)) + exp(exp(0.96568))))) * x) * (exp(-0.93321) / 0.19571))))) + (x * log(exp(x)))))) + (-0.97154 + cos(0.77457)))))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.gen b/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.his b/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.his new file mode 100644 index 0000000..f1c054b --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.his @@ -0,0 +1,1173 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 9 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 10979.4895 + standardized fitness: 10979.4895 + adjusted fitness: 0.0001 +TREE: + (* x + (+ (/ x 0.08101) + (+ 0.10205 x))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 9 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 10979.4895 + standardized fitness: 10979.4895 + adjusted fitness: 0.0001 +TREE: + (* x + (+ (/ x 0.08101) + (+ 0.10205 x))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 13 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 10072.5197 + standardized fitness: 10072.5197 + adjusted fitness: 0.0001 +TREE: + (/ (+ (/ x + (* x -0.24576)) + (* (/ x 0.66434) x)) 0.07873) +=== BEST-OF-RUN === + current generation: 3 + generation: 2 + nodes: 13 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 10072.5197 + standardized fitness: 10072.5197 + adjusted fitness: 0.0001 +TREE: + (/ (+ (/ x + (* x -0.24576)) + (* (/ x 0.66434) x)) 0.07873) +=== BEST-OF-RUN === + current generation: 4 + generation: 2 + nodes: 13 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 10072.5197 + standardized fitness: 10072.5197 + adjusted fitness: 0.0001 +TREE: + (/ (+ (/ x + (* x -0.24576)) + (* (/ x 0.66434) x)) 0.07873) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 25 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9443.4075 + standardized fitness: 9443.4075 + adjusted fitness: 0.0001 +TREE: + (- (/ (/ x 0.21275) + (cos -0.33714)) + (* (/ x -0.89664) + (- (+ (sin (exp x)) + (+ x x)) + (/ x + (cos (/ -0.51430 0.31150)))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 5 + nodes: 25 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9443.4075 + standardized fitness: 9443.4075 + adjusted fitness: 0.0001 +TREE: + (- (/ (/ x 0.21275) + (cos -0.33714)) + (* (/ x -0.89664) + (- (+ (sin (exp x)) + (+ x x)) + (/ x + (cos (/ -0.51430 0.31150)))))) +=== BEST-OF-RUN === + current generation: 7 + generation: 5 + nodes: 25 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9443.4075 + standardized fitness: 9443.4075 + adjusted fitness: 0.0001 +TREE: + (- (/ (/ x 0.21275) + (cos -0.33714)) + (* (/ x -0.89664) + (- (+ (sin (exp x)) + (+ x x)) + (/ x + (cos (/ -0.51430 0.31150)))))) +=== BEST-OF-RUN === + current generation: 8 + generation: 5 + nodes: 25 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9443.4075 + standardized fitness: 9443.4075 + adjusted fitness: 0.0001 +TREE: + (- (/ (/ x 0.21275) + (cos -0.33714)) + (* (/ x -0.89664) + (- (+ (sin (exp x)) + (+ x x)) + (/ x + (cos (/ -0.51430 0.31150)))))) +=== BEST-OF-RUN === + current generation: 9 + generation: 5 + nodes: 25 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9443.4075 + standardized fitness: 9443.4075 + adjusted fitness: 0.0001 +TREE: + (- (/ (/ x 0.21275) + (cos -0.33714)) + (* (/ x -0.89664) + (- (+ (sin (exp x)) + (+ x x)) + (/ x + (cos (/ -0.51430 0.31150)))))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 71 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8235.5763 + standardized fitness: 8235.5763 + adjusted fitness: 0.0001 +TREE: + (- (sin (sin (+ (sin (exp (sin (* (sin x) 0.04044)))) + (log (/ x x))))) + (* (log (+ (* (cos (* (cos (cos (exp x))) + (log (/ 0.35177 + (* x x))))) + (/ x 0.18486)) + (- (/ (* (sin x) + (cos x)) + (/ (sin x) + (+ x 0.30134))) + (+ (cos (* 0.83024 0.72517)) + (+ 0.42754 + (+ x 0.45759)))))) + (/ (+ (log (sin 0.79724)) + (* (- (exp -0.93321) + (+ -0.06917 x)) x)) 0.19571))) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 72 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 7680.6622 + standardized fitness: 7680.6622 + adjusted fitness: 0.0001 +TREE: + (- (sin (sin (+ (sin (exp (sin (* (sin x) 0.04044)))) + (log (/ x x))))) + (* (log (+ (* (cos (* (cos (cos (exp x))) + (log (/ 0.35177 + (* x x))))) + (/ x 0.18486)) + (- (/ (* (sin x) + (cos x)) + (/ (sin x) + (sin (/ x x)))) + (+ (cos (* 0.83024 0.72517)) + (+ 0.42754 + (+ x 0.45759)))))) + (/ (+ (log (sin 0.79724)) + (* (- (exp -0.93321) + (+ -0.06917 x)) x)) 0.19571))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 9 + depth: 3 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 5960.1867 + standardized fitness: 5960.1867 + adjusted fitness: 0.0002 +TREE: + (+ x + (* (* x x) + (* x x))) +=== BEST-OF-RUN === + current generation: 13 + generation: 12 + nodes: 9 + depth: 3 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 5960.1867 + standardized fitness: 5960.1867 + adjusted fitness: 0.0002 +TREE: + (+ x + (* (* x x) + (* x x))) +=== BEST-OF-RUN === + current generation: 14 + generation: 12 + nodes: 9 + depth: 3 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 5960.1867 + standardized fitness: 5960.1867 + adjusted fitness: 0.0002 +TREE: + (+ x + (* (* x x) + (* x x))) +=== BEST-OF-RUN === + current generation: 15 + generation: 12 + nodes: 9 + depth: 3 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 5960.1867 + standardized fitness: 5960.1867 + adjusted fitness: 0.0002 +TREE: + (+ x + (* (* x x) + (* x x))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 88 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4135.7495 + standardized fitness: 4135.7495 + adjusted fitness: 0.0002 +TREE: + (- (sin (sin (+ (sin -0.75748) + (log (/ x x))))) + (* (log (+ (* (cos (* (cos (log x)) + (log (/ 0.35177 + (* x x))))) + (/ x 0.18486)) + (- (/ (* (sin x) + (- (log (sin 0.89625)) + (* (+ (/ x x) + (/ 0.98233 x)) + (cos x)))) + (/ -0.19103 + (+ x 0.30134))) + (exp x)))) + (/ (+ (log (sin 0.79724)) + (* (- (* (* (- (log (/ x x)) + (* (/ 0.29701 x) + (/ -0.81593 x))) + (/ x + (log (/ 0.14265 x)))) + (exp x)) + (+ -0.06917 x)) x)) 0.19571))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2455.0024 + standardized fitness: 2455.0024 + adjusted fitness: 0.0004 +TREE: + (* (log (exp x)) + (* (cos (log 0.76176)) + (* (+ 0.90936 x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 18 + generation: 17 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2455.0024 + standardized fitness: 2455.0024 + adjusted fitness: 0.0004 +TREE: + (* (log (exp x)) + (* (cos (log 0.76176)) + (* (+ 0.90936 x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 19 + generation: 17 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2455.0024 + standardized fitness: 2455.0024 + adjusted fitness: 0.0004 +TREE: + (* (log (exp x)) + (* (cos (log 0.76176)) + (* (+ 0.90936 x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 20 + generation: 17 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2455.0024 + standardized fitness: 2455.0024 + adjusted fitness: 0.0004 +TREE: + (* (log (exp x)) + (* (cos (log 0.76176)) + (* (+ 0.90936 x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 21 + generation: 17 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2455.0024 + standardized fitness: 2455.0024 + adjusted fitness: 0.0004 +TREE: + (* (log (exp x)) + (* (cos (log 0.76176)) + (* (+ 0.90936 x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 22 + generation: 17 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2455.0024 + standardized fitness: 2455.0024 + adjusted fitness: 0.0004 +TREE: + (* (log (exp x)) + (* (cos (log 0.76176)) + (* (+ 0.90936 x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 23 + generation: 17 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2455.0024 + standardized fitness: 2455.0024 + adjusted fitness: 0.0004 +TREE: + (* (log (exp x)) + (* (cos (log 0.76176)) + (* (+ 0.90936 x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 24 + generation: 17 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2455.0024 + standardized fitness: 2455.0024 + adjusted fitness: 0.0004 +TREE: + (* (log (exp x)) + (* (cos (log 0.76176)) + (* (+ 0.90936 x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 25 + generation: 17 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2455.0024 + standardized fitness: 2455.0024 + adjusted fitness: 0.0004 +TREE: + (* (log (exp x)) + (* (cos (log 0.76176)) + (* (+ 0.90936 x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 26 + generation: 17 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2455.0024 + standardized fitness: 2455.0024 + adjusted fitness: 0.0004 +TREE: + (* (log (exp x)) + (* (cos (log 0.76176)) + (* (+ 0.90936 x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 27 + generation: 17 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2455.0024 + standardized fitness: 2455.0024 + adjusted fitness: 0.0004 +TREE: + (* (log (exp x)) + (* (cos (log 0.76176)) + (* (+ 0.90936 x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 28 + generation: 28 + nodes: 40 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2438.0022 + standardized fitness: 2438.0022 + adjusted fitness: 0.0004 +TREE: + (+ (- (* (* x x) + (* x x)) + (* (- (log (- (log (exp x)) + (cos (exp (+ (sin x) + (sin -0.60367)))))) + (+ (cos (* 0.83024 x)) + (+ (/ x x) + (+ x 0.45759)))) + (* x x))) + (cos -0.30791)) +=== BEST-OF-RUN === + current generation: 29 + generation: 29 + nodes: 46 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2397.4593 + standardized fitness: 2397.4593 + adjusted fitness: 0.0004 +TREE: + (+ (- (* (* x x) + (* x x)) + (* (/ x x) + (+ x + (- (* (cos (exp (cos (sin -0.35236)))) + (/ x 0.18486)) + (exp x))))) + (cos (+ (cos (/ (* (* x x) + (+ -0.39746 x)) + (/ -0.00191 + (exp x)))) + (cos (+ x x))))) +=== BEST-OF-RUN === + current generation: 30 + generation: 30 + nodes: 44 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 425.9901 + standardized fitness: 425.9901 + adjusted fitness: 0.0023 +TREE: + (+ (- (* (* x x) + (* x x)) + (* (/ x x) + (* (cos (log x)) + (log (/ 0.35177 + (* x x)))))) + (+ (* x + (log (exp x))) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin -0.43063) + (* x x)))) + (cos x))))) +=== BEST-OF-RUN === + current generation: 31 + generation: 31 + nodes: 42 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 288.4772 + standardized fitness: 288.4772 + adjusted fitness: 0.0035 +TREE: + (+ (- (* (* x x) + (* x x)) + (* (/ x x) + (* (cos (log x)) + (log (/ x x))))) + (+ (* x + (log (exp x))) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin -0.43063) + (* x x)))) + (cos x))))) +=== BEST-OF-RUN === + current generation: 32 + generation: 32 + nodes: 39 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 166.5969 + standardized fitness: 166.5969 + adjusted fitness: 0.0060 +TREE: + (+ (- (* (* x x) + (* x x)) + (* (/ x x) + (+ x + (sin (cos -0.14630))))) + (+ (* x + (log (exp x))) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin 0.79724) + (* x x)))) + (cos x))))) +=== BEST-OF-RUN === + current generation: 33 + generation: 33 + nodes: 59 + depth: 16 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 119.1859 + standardized fitness: 119.1859 + adjusted fitness: 0.0083 +TREE: + (+ (- (* (* x x) + (* x x)) + (sin 0.98066)) + (+ (* x + (log (exp x))) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin (sin (/ x + (* (log (+ (+ -0.06917 x) + (exp (log (log x))))) + (/ (+ (log (sin 0.79724)) + (* (- (+ x x) + (+ -0.06917 x)) x)) 0.19571))))) + (* x x)))) + (cos x))))) +=== BEST-OF-RUN === + current generation: 34 + generation: 34 + nodes: 46 + depth: 11 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 72.8497 + standardized fitness: 72.8497 + adjusted fitness: 0.0135 +TREE: + (+ (- (* (* x x) + (* x x)) + (exp (log (cos -0.87793)))) + (+ (* x + (+ (- x 0.20944) -0.14138)) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin (sin (/ x + (+ x x)))) + (* x x)))) + (- (sin (cos (log x))) + (exp -0.13068)))))) +=== BEST-OF-RUN === + current generation: 35 + generation: 35 + nodes: 61 + depth: 16 + hits: 7 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 7 + raw fitness: 33.2214 + standardized fitness: 33.2214 + adjusted fitness: 0.0292 +TREE: + (+ (- (* (* x x) + (* x x)) + (sin 0.98066)) + (+ (* x + (log (exp x))) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin (sin (/ x + (* (log (+ (+ -0.06917 x) + (exp (log (exp x))))) + (/ (+ (log (sin 0.79724)) + (* (- (+ x x) + (+ -0.06917 x)) x)) 0.19571))))) + (* x x)))) + (+ -0.97154 + (cos 0.77457)))))) +=== BEST-OF-RUN === + current generation: 36 + generation: 35 + nodes: 61 + depth: 16 + hits: 7 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 7 + raw fitness: 33.2214 + standardized fitness: 33.2214 + adjusted fitness: 0.0292 +TREE: + (+ (- (* (* x x) + (* x x)) + (sin 0.98066)) + (+ (* x + (log (exp x))) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin (sin (/ x + (* (log (+ (+ -0.06917 x) + (exp (log (exp x))))) + (/ (+ (log (sin 0.79724)) + (* (- (+ x x) + (+ -0.06917 x)) x)) 0.19571))))) + (* x x)))) + (+ -0.97154 + (cos 0.77457)))))) +=== BEST-OF-RUN === + current generation: 37 + generation: 37 + nodes: 58 + depth: 16 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 32.9079 + standardized fitness: 32.9079 + adjusted fitness: 0.0295 +TREE: + (+ (- (* (* x x) + (* x x)) + (sin 0.98066)) + (+ (* x + (log (exp x))) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin (sin (/ x + (* (log (+ (+ -0.06917 x) + (exp (log (exp x))))) + (/ (+ (log (sin 0.79724)) + (+ (sin -0.43063) + (* x x))) 0.19571))))) + (* x x)))) + (+ -0.97154 + (cos 0.77457)))))) +=== BEST-OF-RUN === + current generation: 38 + generation: 38 + nodes: 65 + depth: 17 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 21.5720 + standardized fitness: 21.5720 + adjusted fitness: 0.0443 +TREE: + (+ (- (* (* x x) + (* x x)) + (sin 0.98066)) + (+ (* x + (log (exp x))) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin (sin (/ x + (* (log (+ (+ -0.06917 x) + (exp (log (* (* x x) + (* x x)))))) + (/ (+ (log (sin 0.79724)) + (+ 0.65276 + (log (- (/ x -0.02959) x)))) 0.19571))))) + (* x x)))) + (+ -0.97154 + (cos 0.77457)))))) +=== BEST-OF-RUN === + current generation: 39 + generation: 39 + nodes: 43 + depth: 13 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 8.0265 + standardized fitness: 8.0265 + adjusted fitness: 0.1108 +TREE: + (+ (- (* (* x x) + (* x x)) + (sin 0.98066)) + (+ (* x + (log (exp x))) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin (sin (/ x + (* 0.92425 + (/ (* x x) 0.19571))))) + (* x x)))) + (+ -0.97154 + (cos 0.77457)))))) +=== BEST-OF-RUN === + current generation: 40 + generation: 40 + nodes: 54 + depth: 15 + hits: 186 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 186 + raw fitness: 1.7162 + standardized fitness: 1.7162 + adjusted fitness: 0.3682 +TREE: + (+ (- (* (* x x) + (* x x)) + (sin 0.98066)) + (+ (* x + (log (exp x))) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin (sin (/ x + (* (* (+ (cos 0.63359) + (exp (- 0.52868 -0.17197))) + (* x x)) + (/ (exp -0.93321) 0.19571))))) + (* x + (log (exp x)))))) + (+ -0.97154 + (cos 0.77457)))))) +=== BEST-OF-RUN === + current generation: 41 + generation: 40 + nodes: 54 + depth: 15 + hits: 186 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 186 + raw fitness: 1.7162 + standardized fitness: 1.7162 + adjusted fitness: 0.3682 +TREE: + (+ (- (* (* x x) + (* x x)) + (sin 0.98066)) + (+ (* x + (log (exp x))) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin (sin (/ x + (* (* (+ (cos 0.63359) + (exp (- 0.52868 -0.17197))) + (* x x)) + (/ (exp -0.93321) 0.19571))))) + (* x + (log (exp x)))))) + (+ -0.97154 + (cos 0.77457)))))) +=== BEST-OF-RUN === + current generation: 42 + generation: 40 + nodes: 54 + depth: 15 + hits: 186 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 186 + raw fitness: 1.7162 + standardized fitness: 1.7162 + adjusted fitness: 0.3682 +TREE: + (+ (- (* (* x x) + (* x x)) + (sin 0.98066)) + (+ (* x + (log (exp x))) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin (sin (/ x + (* (* (+ (cos 0.63359) + (exp (- 0.52868 -0.17197))) + (* x x)) + (/ (exp -0.93321) 0.19571))))) + (* x + (log (exp x)))))) + (+ -0.97154 + (cos 0.77457)))))) +=== BEST-OF-RUN === + current generation: 43 + generation: 43 + nodes: 54 + depth: 15 + hits: 185 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 185 + raw fitness: 1.6453 + standardized fitness: 1.6453 + adjusted fitness: 0.3780 +TREE: + (+ (- (* (* x x) + (* x x)) + (sin 0.98066)) + (+ (* x + (log (exp x))) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin (sin (/ x + (* (* (+ (cos 0.63359) + (exp (- 0.52868 -0.17197))) + (* x x)) + (exp (- 0.52868 -0.17197)))))) + (* x + (log (exp x)))))) + (+ -0.97154 + (cos 0.77457)))))) +=== BEST-OF-RUN === + current generation: 44 + generation: 44 + nodes: 54 + depth: 15 + hits: 185 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 185 + raw fitness: 1.4281 + standardized fitness: 1.4281 + adjusted fitness: 0.4118 +TREE: + (+ (- (* (* x x) + (* x x)) + (sin 0.98066)) + (+ (* x + (log (exp x))) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin (sin (/ x + (* (* (+ (cos 0.63359) + (exp (- 0.52868 -0.17197))) + (* x x)) + (/ (exp -0.92006) 0.19571))))) + (* x + (log (exp x)))))) + (+ -0.97154 + (cos 0.77457)))))) +=== BEST-OF-RUN === + current generation: 45 + generation: 45 + nodes: 58 + depth: 17 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 1.0252 + standardized fitness: 1.0252 + adjusted fitness: 0.4938 +TREE: + (+ (- (* (* x x) + (* x x)) + (sin 0.72466)) + (+ (* x + (log (exp x))) + (+ x + (+ (+ 0.91458 + (* x + (+ (sin (sin (/ x + (* (* (+ (cos 0.63359) + (exp (+ (* (sin 0.05858) + (exp x)) + (exp (exp 0.96568))))) x) + (/ (exp -0.93321) 0.19571))))) + (* x + (log (exp x)))))) + (+ -0.97154 + (cos 0.77457)))))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.prg b/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.prg new file mode 100644 index 0000000..fa4a5dd --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 0.99437, y = 3.94397 + x = 4.03414, y = 350.81226 + x = 0.90733, y = 3.15531 + x = -2.18160, y = 14.84625 + x = 1.07028, y = 4.75390 + x = 1.41129, y = 10.18096 + x = 0.22625, y = 0.29164 + x = 0.79501, y = 2.32901 + x = -4.67128, y = 391.36804 + x = 2.04932, y = 32.49322 + x = 0.97023, y = 3.71099 + x = 4.00065, y = 340.20193 + x = 0.89895, y = 3.08659 + x = 1.76321, y = 20.01910 + x = -3.50639, y = 116.83894 + x = -4.48597, y = 330.33413 + x = 3.83508, y = 291.26806 + x = -2.87558, y = 49.99125 + x = 2.59318, y = 71.97621 + x = 0.71603, y = 1.85869 + x = 2.14741, y = 37.92625 + x = -1.11569, y = 0.28975 + x = 1.19727, y = 6.40169 + x = -3.01942, y = 61.68781 + x = -3.65739, y = 139.72699 + x = 0.85282, y = 2.72937 + x = -1.14492, y = 0.38342 + x = -0.60988, y = -0.32642 + x = 0.95073, y = 3.53102 + x = 0.55607, y = 1.13285 + x = 4.76068, y = 648.98243 + x = 4.86628, y = 704.55844 + x = 0.64293, y = 1.49293 + x = 3.48619, y = 205.71640 + x = -1.12062, y = 0.30491 + x = -0.42255, y = -0.28757 + x = -0.27803, y = -0.21625 + x = -3.26078, y = 85.75473 + x = -0.70947, y = -0.30987 + x = 4.01865, y = 345.87420 + x = 1.58563, y = 14.40766 + x = -0.15808, y = -0.13642 + x = 4.25012, y = 425.37689 + x = -4.97565, y = 509.51289 + x = -0.63978, y = -0.32479 + x = -1.90728, y = 8.02536 + x = -0.31032, y = -0.23463 + x = -2.93204, y = 54.36470 + x = 0.97406, y = 3.74724 + x = -1.31206, y = 1.11427 + x = 1.75370, y = 19.68094 + x = 0.93336, y = 3.37654 + x = 4.50869, y = 529.73142 + x = 1.46474, y = 11.35574 + x = 2.44889, y = 59.09677 + x = 1.12808, y = 5.45568 + x = -1.60880, y = 3.51443 + x = 2.42115, y = 56.83840 + x = 3.93902, y = 321.31564 + x = -3.50718, y = 116.95111 + x = -3.31068, y = 91.49732 + x = -1.51298, y = 2.55273 + x = -3.49552, y = 115.30780 + x = -3.68993, y = 145.06855 + x = -4.53630, y = 346.14975 + x = -3.87169, y = 177.78172 + x = 4.75052, y = 643.81643 + x = 0.87461, y = 2.89368 + x = -2.59701, y = 32.11993 + x = 3.40090, y = 188.07699 + x = 0.82435, y = 2.52591 + x = 1.76712, y = 20.15934 + x = 1.15036, y = 5.74715 + x = -1.09476, y = 0.22807 + x = 3.96233, y = 328.36397 + x = -3.78594, y = 161.72782 + x = -0.62439, y = -0.32596 + x = 4.73253, y = 634.74003 + x = -0.46831, y = -0.30360 + x = 0.21452, y = 0.27253 + x = -2.53838, y = 29.06627 + x = 1.43393, y = 10.66626 + x = 0.45109, y = 0.78777 + x = -0.54209, y = -0.32117 + x = -1.13325, y = 0.34494 + x = 1.27366, y = 7.59354 + x = 3.36180, y = 180.38538 + x = -0.66714, y = -0.32090 + x = 3.02249, y = 123.22610 + x = -2.24893, y = 17.01443 + x = -0.17307, y = -0.14740 + x = 3.84736, y = 294.70363 + x = 4.33624, y = 458.22383 + x = 0.88963, y = 3.01153 + x = -1.80571, y = 6.19861 + x = 4.81851, y = 678.98811 + x = 3.69156, y = 253.33848 + x = 0.34488, y = 0.51899 + x = -3.93798, y = 190.98991 + x = -1.85383, y = 7.02267 + x = 3.71710, y = 259.79759 + x = -0.04285, y = -0.04109 + x = 2.53627, y = 66.66301 + x = -4.24046, y = 260.82662 + x = -3.77368, y = 159.52317 + x = -4.68023, y = 394.51718 + x = -4.51773, y = 340.25045 + x = 0.05078, y = 0.05350 + x = -2.40201, y = 22.79781 + x = -3.82477, y = 168.85557 + x = 2.76629, y = 90.14569 + x = 4.05834, y = 358.63545 + x = 4.39866, y = 483.20588 + x = 1.18795, y = 6.26718 + x = 1.66589, y = 16.76601 + x = -2.15804, y = 14.13767 + x = -0.84921, y = -0.22040 + x = 0.61485, y = 1.36826 + x = 3.11578, y = 137.31935 + x = -4.35481, y = 291.67067 + x = -2.56325, y = 30.33415 + x = -0.59436, y = -0.32627 + x = -0.18741, y = -0.15764 + x = 4.25682, y = 427.86586 + x = 4.68380, y = 610.64852 + x = -4.13280, y = 234.08601 + x = 4.23085, y = 418.27683 + x = 0.39082, y = 0.62659 + x = -2.32108, y = 19.58604 + x = 3.64257, y = 241.28939 + x = -4.26821, y = 268.07461 + x = 4.32483, y = 453.76823 + x = 2.13454, y = 37.17572 + x = -1.64354, y = 3.91476 + x = 2.44824, y = 59.04283 + x = -1.59672, y = 3.38197 + x = 2.03527, y = 31.76729 + x = 4.26314, y = 430.22631 + x = 2.79202, y = 93.12001 + x = -3.97521, y = 198.72258 + x = -2.87713, y = 50.10747 + x = -2.25306, y = 17.15457 + x = 1.21708, y = 6.69538 + x = 2.37730, y = 53.40437 + x = -4.68567, y = 396.43878 + x = -4.57871, y = 359.91027 + x = -0.96523, y = -0.06483 + x = -4.92058, y = 486.38131 + x = 1.20583, y = 6.52739 + x = -2.67291, y = 36.41821 + x = -4.41234, y = 308.18686 + x = -1.69926, y = 4.61920 + x = -2.33404, y = 20.07620 + x = -2.58055, y = 31.23975 + x = -2.58562, y = 31.50887 + x = 4.39227, y = 480.60156 + x = 2.82261, y = 96.75343 + x = -0.82019, y = -0.24669 + x = -1.68870, y = 4.47957 + x = 2.82304, y = 96.80525 + x = -1.71551, y = 4.83982 + x = -3.78088, y = 160.81449 + x = 2.25876, y = 44.91545 + x = -3.42680, y = 105.97233 + x = 4.05236, y = 356.69028 + x = 0.01934, y = 0.01973 + x = -2.15874, y = 14.15831 + x = -2.97864, y = 58.18400 + x = 0.87362, y = 2.88610 + x = 1.24461, y = 7.12115 + x = 3.80719, y = 283.58215 + x = -0.92863, y = -0.12343 + x = 4.40902, y = 487.45076 + x = 0.78869, y = 2.28825 + x = -4.94247, y = 495.47682 + x = 4.13601, y = 384.62957 + x = -3.26032, y = 85.70353 + x = -2.60686, y = 32.65511 + x = 1.84244, y = 23.01455 + x = -4.70847, y = 404.57104 + x = -1.95541, y = 9.01163 + x = 0.05104, y = 0.05378 + x = -2.92048, y = 53.44659 + x = -0.14413, y = -0.12592 + x = 0.35807, y = 0.54864 + x = 4.51267, y = 531.47267 + x = -2.93393, y = 54.51547 + x = 0.56134, y = 1.15260 + x = -0.69590, y = -0.31411 + x = -2.57111, y = 30.74297 + x = -4.43799, y = 315.76948 + x = 0.01391, y = 0.01411 + x = -1.61048, y = 3.53313 + x = -3.45259, y = 109.40675 + x = -2.78240, y = 43.35353 + x = 3.05150, y = 127.48438 + x = -1.66208, y = 4.14037 + x = -4.57161, y = 357.57845 + x = 2.31977, y = 49.14301 + x = -3.82168, y = 168.27999 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.stt b/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.stt new file mode 100644 index 0000000..e4932e0 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.stt @@ -0,0 +1,47 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.112 3.651 9 3 58 6 0.0000 0.0001 0.0000 13.112 3.651 9 3 58 6 +1 0 0.0000 0.0001 0.0000 13.295 4.137 25 4 16 7 0.0000 0.0001 0.0000 13.203 3.894 9 3 58 6 +2 0 0.0000 0.0001 0.0000 14.031 4.504 13 4 18 4 0.0000 0.0001 0.0000 13.479 4.097 13 4 58 6 +3 0 0.0000 0.0001 0.0000 14.815 4.804 13 4 10 6 0.0000 0.0001 0.0000 13.813 4.274 13 4 58 6 +4 0 0.0000 0.0001 0.0000 14.868 4.987 12 4 17 6 0.0000 0.0001 0.0000 14.024 4.417 13 4 58 6 +5 0 0.0000 0.0001 0.0000 15.467 5.238 25 6 7 5 0.0000 0.0001 0.0000 14.264 4.554 25 6 58 6 +6 0 0.0000 0.0001 0.0000 16.191 5.461 16 5 8 4 0.0000 0.0001 0.0000 14.540 4.683 25 6 58 6 +7 0 0.0000 0.0001 0.0000 16.458 5.559 45 10 21 7 0.0000 0.0001 0.0000 14.780 4.793 25 6 58 6 +8 0 0.0000 0.0001 0.0000 16.892 5.669 65 10 14 6 0.0000 0.0001 0.0000 15.014 4.890 25 6 58 6 +9 0 0.0000 0.0001 0.0000 17.338 5.807 67 10 10 4 0.0000 0.0001 0.0000 15.247 4.982 25 6 58 6 +10 0 0.0000 0.0001 0.0000 17.832 5.929 71 10 37 8 0.0000 0.0001 0.0000 15.482 5.068 71 10 58 6 +11 0 0.0000 0.0001 0.0000 18.321 6.081 72 10 5 3 0.0000 0.0001 0.0000 15.718 5.152 72 10 58 6 +12 0 0.0000 0.0002 0.0000 19.264 6.258 9 3 10 5 0.0000 0.0002 0.0000 15.991 5.237 9 3 58 6 +13 0 0.0000 0.0002 0.0000 20.030 6.393 9 3 9 4 0.0000 0.0002 0.0000 16.280 5.320 9 3 58 6 +14 0 0.0000 0.0001 0.0000 21.375 6.565 86 10 9 5 0.0000 0.0002 0.0000 16.619 5.403 9 3 58 6 +15 0 0.0000 0.0001 0.0000 22.569 6.652 90 11 10 5 0.0000 0.0002 0.0000 16.991 5.481 9 3 58 6 +16 0 0.0000 0.0002 0.0000 25.442 7.072 88 11 17 6 0.0000 0.0002 0.0000 17.488 5.575 88 11 58 6 +17 0 0.0000 0.0004 0.0000 29.724 7.596 15 4 21 7 0.0000 0.0004 0.0000 18.168 5.687 15 4 58 6 +18 0 0.0001 0.0003 0.0000 34.298 8.102 19 6 23 6 0.0000 0.0004 0.0000 19.017 5.814 15 4 58 6 +19 0 0.0001 0.0003 0.0000 40.298 8.860 92 14 64 12 0.0000 0.0004 0.0000 20.081 5.966 15 4 58 6 +20 0 0.0001 0.0003 0.0000 47.373 9.620 87 14 32 12 0.0000 0.0004 0.0000 21.381 6.140 15 4 58 6 +21 0 0.0001 0.0003 0.0000 53.842 10.331 27 9 65 13 0.0000 0.0004 0.0000 22.856 6.331 15 4 58 6 +22 0 0.0001 0.0003 0.0000 59.644 10.936 65 11 74 12 0.0000 0.0004 0.0000 24.456 6.531 15 4 58 6 +23 0 0.0001 0.0003 0.0000 65.177 11.467 89 15 42 10 0.0000 0.0004 0.0000 26.152 6.737 15 4 58 6 +24 0 0.0001 0.0004 0.0000 68.506 11.789 76 11 122 14 0.0000 0.0004 0.0000 27.847 6.939 15 4 58 6 +25 0 0.0001 0.0004 0.0000 70.095 11.922 77 14 45 12 0.0000 0.0004 0.0000 29.471 7.130 15 4 58 6 +26 0 0.0001 0.0004 0.0000 71.960 12.066 83 17 88 13 0.0001 0.0004 0.0000 31.045 7.313 15 4 58 6 +27 0 0.0001 0.0004 0.0000 73.634 12.193 72 14 54 17 0.0001 0.0004 0.0000 32.566 7.487 15 4 58 6 +28 0 0.0001 0.0004 0.0000 75.700 12.374 40 10 50 8 0.0001 0.0004 0.0000 34.054 7.656 40 10 58 6 +29 0 0.0001 0.0004 0.0000 78.215 12.596 46 10 64 17 0.0001 0.0004 0.0000 35.526 7.821 46 10 58 6 +30 0 0.0001 0.0023 0.0000 80.270 12.732 44 8 36 9 0.0001 0.0023 0.0000 36.969 7.979 44 8 58 6 +31 0 0.0001 0.0035 0.0000 82.647 12.909 42 8 62 13 0.0001 0.0035 0.0000 38.396 8.133 42 8 58 6 +32 0 0.0002 0.0060 0.0000 82.249 12.823 39 8 93 14 0.0001 0.0060 0.0000 39.725 8.275 39 8 58 6 +33 0 0.0005 0.0083 0.0000 74.081 11.894 59 16 30 8 0.0001 0.0083 0.0000 40.736 8.382 59 16 58 6 +34 0 0.0011 0.0135 0.0000 58.345 10.414 46 11 70 11 0.0001 0.0135 0.0000 41.239 8.440 46 11 58 6 +35 0 0.0014 0.0292 0.0000 55.174 10.365 61 16 56 12 0.0001 0.0292 0.0000 41.626 8.493 61 16 58 6 +36 0 0.0018 0.0292 0.0000 58.291 10.912 61 16 65 9 0.0002 0.0292 0.0000 42.076 8.559 61 16 58 6 +37 0 0.0022 0.0295 0.0000 61.725 11.506 58 16 101 16 0.0002 0.0295 0.0000 42.593 8.636 58 16 58 6 +38 0 0.0029 0.0443 0.0000 63.632 12.063 65 17 81 13 0.0003 0.0443 0.0000 43.133 8.724 65 17 58 6 +39 0 0.0048 0.1108 0.0000 63.696 12.763 43 13 77 10 0.0004 0.1108 0.0000 43.647 8.825 43 13 58 6 +40 0 0.0076 0.3682 0.0000 61.039 13.374 54 15 9 4 0.0006 0.3682 0.0000 44.071 8.936 54 15 58 6 +41 0 0.0108 0.3682 0.0000 58.786 13.865 54 15 39 8 0.0008 0.3682 0.0000 44.421 9.053 54 15 58 6 +42 0 0.0162 0.3682 0.0000 57.477 13.876 54 15 31 6 0.0012 0.3682 0.0000 44.725 9.165 54 15 58 6 +43 0 0.0271 0.3780 0.0000 56.209 13.792 54 15 57 16 0.0018 0.3780 0.0000 44.986 9.271 54 15 58 6 +44 0 0.0427 0.4118 0.0000 53.505 13.562 54 15 70 16 0.0027 0.4118 0.0000 45.175 9.366 54 15 58 6 +45 0 0.0508 0.4938 0.0000 51.633 13.427 58 17 9 4 0.0037 0.4938 0.0000 45.316 9.454 58 17 58 6 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.sys b/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.sys new file mode 100644 index 0000000..1d17518 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_6/regress.sys @@ -0,0 +1,188 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 1096. +creating initial population(s): + 5665 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 213281005 + freed: 212378665 + not freed: 902340 + max allocated: 9684493 + malloc'ed blocks: 677497 + realloc'ed blocks: 11 + free'ed blocks: 677362 + +------- time ------- + overall: 5s wall + evaluation: 5s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 300 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 131379 + freed: 131379 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.bst b/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.bst new file mode 100644 index 0000000..acabb7a --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.bst @@ -0,0 +1,39 @@ +=== BEST-OF-RUN === + generation: 48 + nodes: 91 + depth: 16 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 66.3483 + standardized fitness: 66.3483 + adjusted fitness: 0.0148 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (/ x + (* x + (- (* (/ -0.93562 + (+ (cos (cos x)) x)) + (- (cos x) + (/ x + (/ -0.93562 + (+ (sin (log (exp (- (cos -0.34761) + (cos -0.70143))))) x))))) + (* (cos (+ (cos (log -0.79526)) x)) + (- (sin (* (sin (* x 0.50352)) -0.43047)) + (sin (* x 0.32173)))))))) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +TREE-equ: +y = ((x * (((x * x) * x) - (x / (-0.93562 / (cos(log(-0.79526)) + x))))) - (cos((x / (x * (((-0.93562 / (cos(cos(x)) + x)) * (cos(x) - (x / (-0.93562 / (sin(log(exp((cos(-0.34761) - cos(-0.70143))))) + x))))) - (cos((cos(log(-0.79526)) + x)) * (sin((sin((x * 0.50352)) * -0.43047)) - sin((x * 0.32173)))))))) * (((-0.25388 + 0.36742) - sin((x - (((0.19344 - x) + x) * ((-0.36588 + x) + -0.73379))))) - sin(sin(x))))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.fn b/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.fn new file mode 100644 index 0000000..a7891d2 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.fn @@ -0,0 +1,2 @@ + +y = ((x * (((x * x) * x) - (x / (-0.93562 / (cos(log(-0.79526)) + x))))) - (cos((x / (x * (((-0.93562 / (cos(cos(x)) + x)) * (cos(x) - (x / (-0.93562 / (sin(log(exp((cos(-0.34761) - cos(-0.70143))))) + x))))) - (cos((cos(log(-0.79526)) + x)) * (sin((sin((x * 0.50352)) * -0.43047)) - sin((x * 0.32173)))))))) * (((-0.25388 + 0.36742) - sin((x - (((0.19344 - x) + x) * ((-0.36588 + x) + -0.73379))))) - sin(sin(x))))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.gen b/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.his b/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.his new file mode 100644 index 0000000..c0c9fc3 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.his @@ -0,0 +1,1356 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 16 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6179.8533 + standardized fitness: 6179.8533 + adjusted fitness: 0.0002 +TREE: + (* (* (cos (+ 0.21159 -0.40779)) + (* x x)) + (+ (* x x) + (/ x x))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 16 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6179.8533 + standardized fitness: 6179.8533 + adjusted fitness: 0.0002 +TREE: + (* (* (cos (+ 0.21159 -0.40779)) + (* x x)) + (+ (* x x) + (/ x x))) +=== BEST-OF-RUN === + current generation: 2 + generation: 0 + nodes: 16 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6179.8533 + standardized fitness: 6179.8533 + adjusted fitness: 0.0002 +TREE: + (* (* (cos (+ 0.21159 -0.40779)) + (* x x)) + (+ (* x x) + (/ x x))) +=== BEST-OF-RUN === + current generation: 3 + generation: 0 + nodes: 16 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6179.8533 + standardized fitness: 6179.8533 + adjusted fitness: 0.0002 +TREE: + (* (* (cos (+ 0.21159 -0.40779)) + (* x x)) + (+ (* x x) + (/ x x))) +=== BEST-OF-RUN === + current generation: 4 + generation: 0 + nodes: 16 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6179.8533 + standardized fitness: 6179.8533 + adjusted fitness: 0.0002 +TREE: + (* (* (cos (+ 0.21159 -0.40779)) + (* x x)) + (+ (* x x) + (/ x x))) +=== BEST-OF-RUN === + current generation: 5 + generation: 0 + nodes: 16 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6179.8533 + standardized fitness: 6179.8533 + adjusted fitness: 0.0002 +TREE: + (* (* (cos (+ 0.21159 -0.40779)) + (* x x)) + (+ (* x x) + (/ x x))) +=== BEST-OF-RUN === + current generation: 6 + generation: 0 + nodes: 16 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6179.8533 + standardized fitness: 6179.8533 + adjusted fitness: 0.0002 +TREE: + (* (* (cos (+ 0.21159 -0.40779)) + (* x x)) + (+ (* x x) + (/ x x))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 20 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5770.0584 + standardized fitness: 5770.0584 + adjusted fitness: 0.0002 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (+ (- -0.19410 0.78460) + (* x -0.33404)))) + (sin x)) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 27 + depth: 9 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 5047.8435 + standardized fitness: 5047.8435 + adjusted fitness: 0.0002 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (+ (log (cos (- (log (exp -0.77925)) + (sin (- 0.23478 -0.55809))))) + (* x -0.33404)))) + (sin x)) +=== BEST-OF-RUN === + current generation: 9 + generation: 8 + nodes: 27 + depth: 9 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 5047.8435 + standardized fitness: 5047.8435 + adjusted fitness: 0.0002 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (+ (log (cos (- (log (exp -0.77925)) + (sin (- 0.23478 -0.55809))))) + (* x -0.33404)))) + (sin x)) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 27 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4887.8989 + standardized fitness: 4887.8989 + adjusted fitness: 0.0002 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (+ (log (cos (- (log (exp -0.77925)) + (sin (- 0.23478 -0.55809))))) + (- x 0.81436)))) + (sin x)) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 32 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3893.8907 + standardized fitness: 3893.8907 + adjusted fitness: 0.0003 +TREE: + (- (* (log (exp x)) + (- (* x + (* (/ (+ x 0.88859) + (/ -0.61700 -0.59869)) + (+ (/ x x) x))) + (+ (log (log 0.14288)) + (* x + (/ 0.73374 x))))) + (sin x)) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 32 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1945.5320 + standardized fitness: 1945.5320 + adjusted fitness: 0.0005 +TREE: + (- (* (log (exp x)) + (- (* x + (* (/ (+ x 0.88859) + (/ -0.61700 -0.59869)) + (+ (cos (cos -0.34357)) x))) + (+ (log (log 0.14288)) + (* x + (/ 0.73374 x))))) + (sin x)) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 32 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1825.0749 + standardized fitness: 1825.0749 + adjusted fitness: 0.0005 +TREE: + (- (* (- x 0.04894) + (- (* x + (* (/ (+ x 0.88859) + (/ -0.61700 -0.59869)) + (+ (cos (cos -0.34357)) x))) + (+ (log (log 0.14288)) + (* x + (/ 0.73374 x))))) + (sin x)) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 33 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1713.2489 + standardized fitness: 1713.2489 + adjusted fitness: 0.0006 +TREE: + (- (* (- x 0.04894) + (- (* x + (* (/ (+ x 0.88859) + (/ -0.61700 -0.59869)) + (+ (cos (cos -0.34357)) x))) + (+ (log (log 0.14288)) + (* x + (/ (log x) x))))) + (sin x)) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 47 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1253.5553 + standardized fitness: 1253.5553 + adjusted fitness: 0.0008 +TREE: + (- (* (- x 0.04894) + (- (* x + (* (/ (+ x 0.88859) + (/ -0.61700 -0.59869)) + (+ (cos (exp (/ (- -0.71957 + (sin 0.85128)) x))) x))) + (+ (log (log 0.14288)) + (* x + (/ 0.73374 x))))) + (cos (- (/ (sin x) 0.71755) + (+ (exp -0.24337) + (/ x x))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 39 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 230.4977 + standardized fitness: 230.4977 + adjusted fitness: 0.0043 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (/ (/ 0.25598 0.91833) x)))) + (- (* -0.52948 -0.43047) + (sin (* x 0.32173))))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 38 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 172.3394 + standardized fitness: 172.3394 + adjusted fitness: 0.0058 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (/ (cos -0.34357) x)))) + (- (* -0.52948 -0.43047) + (sin (* x 0.32173))))) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 41 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 103.5228 + standardized fitness: 103.5228 + adjusted fitness: 0.0096 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (* (+ -0.32054 + (* 0.71495 x)) + (/ 0.14343 -0.43140))))) + (- x + (sin (* x 0.32173))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 41 + depth: 8 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 85.5695 + standardized fitness: 85.5695 + adjusted fitness: 0.0116 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (/ (cos -0.34357) x)))) + (* (- (+ (- 0.88648 0.98506) -0.01346) + (cos (sin x))) x))) +=== BEST-OF-RUN === + current generation: 20 + generation: 19 + nodes: 41 + depth: 8 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 85.5695 + standardized fitness: 85.5695 + adjusted fitness: 0.0116 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (/ (cos -0.34357) x)))) + (* (- (+ (- 0.88648 0.98506) -0.01346) + (cos (sin x))) x))) +=== BEST-OF-RUN === + current generation: 21 + generation: 19 + nodes: 41 + depth: 8 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 85.5695 + standardized fitness: 85.5695 + adjusted fitness: 0.0116 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (/ (cos -0.34357) x)))) + (* (- (+ (- 0.88648 0.98506) -0.01346) + (cos (sin x))) x))) +=== BEST-OF-RUN === + current generation: 22 + generation: 19 + nodes: 41 + depth: 8 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 85.5695 + standardized fitness: 85.5695 + adjusted fitness: 0.0116 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (/ (cos -0.34357) x)))) + (* (- (+ (- 0.88648 0.98506) -0.01346) + (cos (sin x))) x))) +=== BEST-OF-RUN === + current generation: 23 + generation: 19 + nodes: 41 + depth: 8 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 85.5695 + standardized fitness: 85.5695 + adjusted fitness: 0.0116 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (/ (cos -0.34357) x)))) + (* (- (+ (- 0.88648 0.98506) -0.01346) + (cos (sin x))) x))) +=== BEST-OF-RUN === + current generation: 24 + generation: 19 + nodes: 41 + depth: 8 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 85.5695 + standardized fitness: 85.5695 + adjusted fitness: 0.0116 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (/ (cos -0.34357) x)))) + (* (- (+ (- 0.88648 0.98506) -0.01346) + (cos (sin x))) x))) +=== BEST-OF-RUN === + current generation: 25 + generation: 19 + nodes: 41 + depth: 8 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 85.5695 + standardized fitness: 85.5695 + adjusted fitness: 0.0116 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (/ (cos -0.34357) x)))) + (* (- (+ (- 0.88648 0.98506) -0.01346) + (cos (sin x))) x))) +=== BEST-OF-RUN === + current generation: 26 + generation: 19 + nodes: 41 + depth: 8 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 85.5695 + standardized fitness: 85.5695 + adjusted fitness: 0.0116 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (/ (cos -0.34357) x)))) + (* (- (+ (- 0.88648 0.98506) -0.01346) + (cos (sin x))) x))) +=== BEST-OF-RUN === + current generation: 27 + generation: 19 + nodes: 41 + depth: 8 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 85.5695 + standardized fitness: 85.5695 + adjusted fitness: 0.0116 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (/ (cos -0.34357) x)))) + (* (- (+ (- 0.88648 0.98506) -0.01346) + (cos (sin x))) x))) +=== BEST-OF-RUN === + current generation: 28 + generation: 19 + nodes: 41 + depth: 8 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 85.5695 + standardized fitness: 85.5695 + adjusted fitness: 0.0116 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (/ (cos -0.34357) x)))) + (* (- (+ (- 0.88648 0.98506) -0.01346) + (cos (sin x))) x))) +=== BEST-OF-RUN === + current generation: 29 + generation: 19 + nodes: 41 + depth: 8 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 85.5695 + standardized fitness: 85.5695 + adjusted fitness: 0.0116 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (/ (cos -0.34357) x)))) + (* (- (+ (- 0.88648 0.98506) -0.01346) + (cos (sin x))) x))) +=== BEST-OF-RUN === + current generation: 30 + generation: 19 + nodes: 41 + depth: 8 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 85.5695 + standardized fitness: 85.5695 + adjusted fitness: 0.0116 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (/ (cos -0.34357) x)))) + (* (- (+ (- 0.88648 0.98506) -0.01346) + (cos (sin x))) x))) +=== BEST-OF-RUN === + current generation: 31 + generation: 19 + nodes: 41 + depth: 8 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 85.5695 + standardized fitness: 85.5695 + adjusted fitness: 0.0116 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (/ (cos -0.34357) x)))) + (* (- (+ (- 0.88648 0.98506) -0.01346) + (cos (sin x))) x))) +=== BEST-OF-RUN === + current generation: 32 + generation: 19 + nodes: 41 + depth: 8 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 85.5695 + standardized fitness: 85.5695 + adjusted fitness: 0.0116 +TREE: + (- (* (log (exp x)) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (+ x + (/ -0.51426 + (/ (cos -0.34357) x)))) + (* (- (+ (- 0.88648 0.98506) -0.01346) + (cos (sin x))) x))) +=== BEST-OF-RUN === + current generation: 33 + generation: 33 + nodes: 80 + depth: 14 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 80.7294 + standardized fitness: 80.7294 + adjusted fitness: 0.0122 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (/ x + (* (log (/ -0.51426 + (/ (/ (- (+ x x) + (/ -0.51179 x)) + (sin (/ x -0.05666))) 0.72510))) + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log (exp (cos (log -0.79526))))) x))))))) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 34 + generation: 34 + nodes: 44 + depth: 9 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 76.9141 + standardized fitness: 76.9141 + adjusted fitness: 0.0128 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (log -0.68157)) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 35 + generation: 34 + nodes: 44 + depth: 9 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 76.9141 + standardized fitness: 76.9141 + adjusted fitness: 0.0128 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (log -0.68157)) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 36 + generation: 34 + nodes: 44 + depth: 9 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 76.9141 + standardized fitness: 76.9141 + adjusted fitness: 0.0128 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (log -0.68157)) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 37 + generation: 34 + nodes: 44 + depth: 9 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 76.9141 + standardized fitness: 76.9141 + adjusted fitness: 0.0128 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (log -0.68157)) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 38 + generation: 34 + nodes: 44 + depth: 9 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 76.9141 + standardized fitness: 76.9141 + adjusted fitness: 0.0128 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (log -0.68157)) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 39 + generation: 34 + nodes: 44 + depth: 9 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 76.9141 + standardized fitness: 76.9141 + adjusted fitness: 0.0128 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (log -0.68157)) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 40 + generation: 34 + nodes: 44 + depth: 9 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 76.9141 + standardized fitness: 76.9141 + adjusted fitness: 0.0128 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (log -0.68157)) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 41 + generation: 34 + nodes: 44 + depth: 9 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 76.9141 + standardized fitness: 76.9141 + adjusted fitness: 0.0128 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (log -0.68157)) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 42 + generation: 42 + nodes: 68 + depth: 14 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 76.5693 + standardized fitness: 76.5693 + adjusted fitness: 0.0129 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (/ x + (* (log (log (* (* -0.58657 0.23704) -0.61585))) + (- (* x x) + (/ x + (/ -0.93562 + (+ (cos (log (exp (cos (log -0.79526))))) x))))))) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 43 + generation: 42 + nodes: 68 + depth: 14 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 76.5693 + standardized fitness: 76.5693 + adjusted fitness: 0.0129 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (/ x + (* (log (log (* (* -0.58657 0.23704) -0.61585))) + (- (* x x) + (/ x + (/ -0.93562 + (+ (cos (log (exp (cos (log -0.79526))))) x))))))) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 44 + generation: 42 + nodes: 68 + depth: 14 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 76.5693 + standardized fitness: 76.5693 + adjusted fitness: 0.0129 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (/ x + (* (log (log (* (* -0.58657 0.23704) -0.61585))) + (- (* x x) + (/ x + (/ -0.93562 + (+ (cos (log (exp (cos (log -0.79526))))) x))))))) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 45 + generation: 42 + nodes: 68 + depth: 14 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 76.5693 + standardized fitness: 76.5693 + adjusted fitness: 0.0129 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (/ x + (* (log (log (* (* -0.58657 0.23704) -0.61585))) + (- (* x x) + (/ x + (/ -0.93562 + (+ (cos (log (exp (cos (log -0.79526))))) x))))))) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 46 + generation: 42 + nodes: 68 + depth: 14 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 76.5693 + standardized fitness: 76.5693 + adjusted fitness: 0.0129 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (/ x + (* (log (log (* (* -0.58657 0.23704) -0.61585))) + (- (* x x) + (/ x + (/ -0.93562 + (+ (cos (log (exp (cos (log -0.79526))))) x))))))) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 47 + generation: 42 + nodes: 68 + depth: 14 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 76.5693 + standardized fitness: 76.5693 + adjusted fitness: 0.0129 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (/ x + (* (log (log (* (* -0.58657 0.23704) -0.61585))) + (- (* x x) + (/ x + (/ -0.93562 + (+ (cos (log (exp (cos (log -0.79526))))) x))))))) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 48 + generation: 48 + nodes: 91 + depth: 16 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 66.3483 + standardized fitness: 66.3483 + adjusted fitness: 0.0148 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (/ x + (* x + (- (* (/ -0.93562 + (+ (cos (cos x)) x)) + (- (cos x) + (/ x + (/ -0.93562 + (+ (sin (log (exp (- (cos -0.34761) + (cos -0.70143))))) x))))) + (* (cos (+ (cos (log -0.79526)) x)) + (- (sin (* (sin (* x 0.50352)) -0.43047)) + (sin (* x 0.32173)))))))) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 49 + generation: 48 + nodes: 91 + depth: 16 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 66.3483 + standardized fitness: 66.3483 + adjusted fitness: 0.0148 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (/ x + (* x + (- (* (/ -0.93562 + (+ (cos (cos x)) x)) + (- (cos x) + (/ x + (/ -0.93562 + (+ (sin (log (exp (- (cos -0.34761) + (cos -0.70143))))) x))))) + (* (cos (+ (cos (log -0.79526)) x)) + (- (sin (* (sin (* x 0.50352)) -0.43047)) + (sin (* x 0.32173)))))))) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) +=== BEST-OF-RUN === + current generation: 50 + generation: 48 + nodes: 91 + depth: 16 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 66.3483 + standardized fitness: 66.3483 + adjusted fitness: 0.0148 +TREE: + (- (* x + (- (* (* x x) x) + (/ x + (/ -0.93562 + (+ (cos (log -0.79526)) x))))) + (* (cos (/ x + (* x + (- (* (/ -0.93562 + (+ (cos (cos x)) x)) + (- (cos x) + (/ x + (/ -0.93562 + (+ (sin (log (exp (- (cos -0.34761) + (cos -0.70143))))) x))))) + (* (cos (+ (cos (log -0.79526)) x)) + (- (sin (* (sin (* x 0.50352)) -0.43047)) + (sin (* x 0.32173)))))))) + (- (- (+ -0.25388 0.36742) + (sin (- x + (* (+ (- 0.19344 x) x) + (+ (+ -0.36588 x) -0.73379))))) + (sin (sin x))))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.prg b/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.prg new file mode 100644 index 0000000..0d502d5 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 3.27998, y = 165.06641 + x = -4.78494, y = 432.76873 + x = -4.72616, y = 410.96732 + x = 4.08847, y = 368.55608 + x = -4.21335, y = 253.88831 + x = 1.52906, y = 12.90840 + x = 0.49530, y = 0.92232 + x = -3.49410, y = 115.10930 + x = 3.02719, y = 123.90856 + x = -4.23019, y = 258.18029 + x = -1.43718, y = 1.92606 + x = -4.24431, y = 261.82237 + x = -1.89222, y = 7.73316 + x = -0.62383, y = -0.32599 + x = -0.24700, y = -0.19734 + x = -1.41467, y = 1.76064 + x = 1.57004, y = 13.98163 + x = -4.54231, y = 348.07342 + x = 0.91821, y = 3.24634 + x = -2.20108, y = 15.45165 + x = -1.86378, y = 7.20217 + x = 3.64719, y = 242.40667 + x = -1.91103, y = 8.09930 + x = -4.21978, y = 255.52081 + x = 4.70924, y = 623.13895 + x = 1.58812, y = 14.47674 + x = -3.29207, y = 89.32281 + x = 1.43575, y = 10.70594 + x = -1.03294, y = 0.07033 + x = 2.61800, y = 74.39207 + x = 0.01129, y = 0.01142 + x = 3.59539, y = 230.10329 + x = 3.07689, y = 131.30331 + x = 0.76651, y = 2.14958 + x = 2.25584, y = 44.72003 + x = -2.48431, y = 26.44599 + x = 1.09971, y = 5.10159 + x = -1.57470, y = 3.14906 + x = 1.13285, y = 5.51699 + x = -1.40595, y = 1.69893 + x = -4.14396, y = 236.75696 + x = 0.67671, y = 1.65423 + x = 2.24027, y = 43.69076 + x = 2.43630, y = 58.06342 + x = 0.43434, y = 0.74053 + x = -1.00262, y = 0.00528 + x = -0.07696, y = -0.07146 + x = -3.71323, y = 148.98727 + x = 2.53590, y = 66.62957 + x = 0.39235, y = 0.63038 + x = 0.88708, y = 2.99124 + x = -0.09611, y = -0.08768 + x = -2.35397, y = 20.84795 + x = 4.53044, y = 539.31484 + x = 0.75810, y = 2.09883 + x = 4.68459, y = 611.03495 + x = -2.86184, y = 48.96750 + x = -0.49267, y = -0.31061 + x = -3.16737, y = 75.73446 + x = 3.27096, y = 163.43863 + x = -4.57065, y = 357.26338 + x = -2.93000, y = 54.20133 + x = 0.37305, y = 0.58351 + x = -0.56686, y = -0.32443 + x = 4.91377, y = 730.68789 + x = 2.88611, y = 104.63911 + x = -1.48458, y = 2.30490 + x = 0.67148, y = 1.62842 + x = 3.94183, y = 322.15738 + x = -4.24438, y = 261.83974 + x = 3.66229, y = 246.08601 + x = 0.28327, y = 0.39268 + x = -2.07821, y = 11.91838 + x = -4.47414, y = 326.69671 + x = 1.91184, y = 25.91512 + x = 3.23233, y = 156.61134 + x = 1.00116, y = 4.01156 + x = -1.44148, y = 1.95869 + x = 0.02211, y = 0.02261 + x = -4.97535, y = 509.38468 + x = -0.55004, y = -0.32237 + x = 2.20060, y = 41.15118 + x = -0.39689, y = -0.27707 + x = 0.69610, y = 1.75276 + x = 2.18866, y = 40.40910 + x = -2.05871, y = 11.41730 + x = -1.77766, y = 5.75092 + x = -1.35624, y = 1.37187 + x = 0.85274, y = 2.72876 + x = 4.36972, y = 471.50132 + x = 4.00026, y = 340.08264 + x = -4.57177, y = 357.62923 + x = -0.51653, y = -0.31635 + x = 0.37722, y = 0.59345 + x = -0.06824, y = -0.06388 + x = 0.57278, y = 1.19639 + x = -2.24508, y = 16.88485 + x = 1.71440, y = 18.33121 + x = -4.47554, y = 327.12829 + x = 2.20201, y = 41.23959 + x = 2.99622, y = 119.46430 + x = -3.63548, y = 136.21416 + x = 1.26466, y = 7.44463 + x = 2.51125, y = 64.42499 + x = -4.05761, y = 216.67046 + x = 3.68647, y = 252.06689 + x = -4.69922, y = 401.25781 + x = 1.94993, y = 27.62321 + x = -2.65821, y = 35.55430 + x = -2.18318, y = 14.89496 + x = 1.46225, y = 11.29872 + x = 3.49441, y = 207.48067 + x = 3.65459, y = 244.20588 + x = -2.53709, y = 29.00170 + x = 4.27069, y = 433.05641 + x = -4.99888, y = 519.51539 + x = 2.58653, y = 71.33913 + x = 4.99583, y = 777.55868 + x = 4.50138, y = 526.53710 + x = -0.65901, y = -0.32231 + x = 0.13120, y = 0.15096 + x = 1.80102, y = 21.40814 + x = 0.14702, y = 0.17229 + x = -3.26019, y = 85.68838 + x = -2.24060, y = 16.73446 + x = 2.29777, y = 47.58503 + x = 4.01861, y = 345.86279 + x = 0.41054, y = 0.67669 + x = 4.58347, y = 563.22738 + x = 3.22537, y = 155.40425 + x = 2.93155, y = 110.57635 + x = 4.05122, y = 356.32141 + x = -3.78327, y = 161.24462 + x = -2.79470, y = 44.18981 + x = -1.43760, y = 1.92923 + x = 0.95555, y = 3.57481 + x = 3.54601, y = 218.81789 + x = -2.85980, y = 48.81676 + x = 1.42541, y = 10.48151 + x = 2.18754, y = 40.34025 + x = 0.35475, y = 0.54109 + x = -1.77349, y = 5.68633 + x = -0.85762, y = -0.21192 + x = -3.48825, y = 114.29250 + x = -0.76147, y = -0.28695 + x = -2.80076, y = 44.60591 + x = 0.28121, y = 0.38877 + x = -2.25634, y = 17.26664 + x = -2.38218, y = 21.97731 + x = 2.63399, y = 75.98076 + x = 1.55417, y = 13.55789 + x = 2.34437, y = 50.93243 + x = 2.13093, y = 36.96743 + x = -2.70091, y = 38.10700 + x = 4.27046, y = 432.96848 + x = 3.94500, y = 323.11100 + x = -4.85222, y = 458.77115 + x = -0.94064, y = -0.10524 + x = -1.05115, y = 0.11317 + x = -0.01316, y = -0.01299 + x = -4.85953, y = 461.66807 + x = 3.16057, y = 144.50585 + x = -4.47548, y = 327.10806 + x = 0.15425, y = 0.18228 + x = 2.46206, y = 60.19293 + x = -1.76426, y = 5.54533 + x = -0.64797, y = -0.32388 + x = 2.14284, y = 37.65854 + x = 3.22438, y = 155.23387 + x = 2.07145, y = 33.66272 + x = -0.28009, y = -0.21746 + x = -0.15712, y = -0.13571 + x = 2.37801, y = 53.45845 + x = -3.13261, y = 72.23965 + x = 2.78682, y = 92.51355 + x = 2.78682, y = 92.51332 + x = 4.67009, y = 604.00000 + x = -2.15206, y = 13.96197 + x = -2.53064, y = 28.68017 + x = -1.18559, y = 0.52934 + x = 2.14999, y = 38.07767 + x = -0.04075, y = -0.03916 + x = -3.53831, y = 121.42415 + x = -0.40337, y = -0.27982 + x = 3.08490, y = 132.52512 + x = 4.77098, y = 654.25253 + x = 3.52670, y = 214.52270 + x = 1.06248, y = 4.66509 + x = -0.25676, y = -0.20342 + x = -4.67333, y = 392.08868 + x = -3.39648, y = 102.03860 + x = -3.59684, y = 130.17935 + x = -1.08418, y = 0.19854 + x = 4.35396, y = 465.21424 + x = -2.53237, y = 28.76606 + x = -4.48812, y = 330.99957 + x = 0.84851, y = 2.69771 + x = -2.72501, y = 39.60627 + x = -1.27507, y = 0.92098 + x = 1.45170, y = 11.05988 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.stt b/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.stt new file mode 100644 index 0000000..a648c55 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0002 0.0000 13.130 3.653 16 4 14 5 0.0000 0.0002 0.0000 13.130 3.653 16 4 14 5 +1 0 0.0000 0.0002 0.0000 13.412 4.122 16 4 13 5 0.0000 0.0002 0.0000 13.271 3.888 16 4 14 5 +2 0 0.0000 0.0001 0.0000 14.202 4.513 41 8 35 9 0.0000 0.0002 0.0000 13.582 4.096 16 4 14 5 +3 0 0.0000 0.0001 0.0000 14.742 4.754 8 4 18 8 0.0000 0.0002 0.0000 13.872 4.261 16 4 14 5 +4 0 0.0000 0.0001 0.0000 15.458 5.025 36 7 23 7 0.0000 0.0002 0.0000 14.189 4.413 16 4 14 5 +5 0 0.0000 0.0001 0.0000 15.857 5.234 37 7 29 8 0.0000 0.0002 0.0000 14.467 4.550 16 4 14 5 +6 0 0.0000 0.0001 0.0000 16.551 5.410 8 4 32 14 0.0000 0.0002 0.0000 14.765 4.673 16 4 14 5 +7 0 0.0000 0.0002 0.0000 16.827 5.508 20 5 17 6 0.0000 0.0002 0.0000 15.023 4.777 20 5 14 5 +8 0 0.0000 0.0002 0.0000 17.571 5.703 27 9 13 7 0.0000 0.0002 0.0000 15.306 4.880 27 9 14 5 +9 0 0.0000 0.0002 0.0000 18.106 5.841 24 8 49 9 0.0000 0.0002 0.0000 15.586 4.976 27 9 14 5 +10 0 0.0000 0.0002 0.0000 18.745 6.101 27 9 13 6 0.0000 0.0002 0.0000 15.873 5.078 27 9 14 5 +11 0 0.0000 0.0003 0.0000 19.356 6.240 32 7 15 5 0.0000 0.0003 0.0000 16.163 5.175 32 7 14 5 +12 0 0.0000 0.0005 0.0000 20.411 6.420 32 8 15 6 0.0000 0.0005 0.0000 16.490 5.271 32 8 14 5 +13 0 0.0000 0.0005 0.0000 21.967 6.679 32 8 33 10 0.0000 0.0005 0.0000 16.881 5.372 32 8 14 5 +14 0 0.0001 0.0006 0.0000 24.202 7.146 33 8 36 15 0.0000 0.0006 0.0000 17.369 5.490 33 8 14 5 +15 0 0.0001 0.0008 0.0000 27.948 7.750 47 11 7 4 0.0000 0.0008 0.0000 18.030 5.631 47 11 14 5 +16 0 0.0001 0.0043 0.0000 32.690 8.431 39 8 67 11 0.0000 0.0043 0.0000 18.893 5.796 39 8 14 5 +17 0 0.0002 0.0058 0.0000 38.260 9.147 38 8 52 11 0.0001 0.0058 0.0000 19.969 5.982 38 8 14 5 +18 0 0.0004 0.0096 0.0000 42.767 9.645 41 8 71 16 0.0001 0.0096 0.0000 21.169 6.175 41 8 14 5 +19 0 0.0010 0.0116 0.0000 43.425 9.411 41 8 67 12 0.0001 0.0116 0.0000 22.281 6.337 41 8 14 5 +20 0 0.0017 0.0099 0.0000 43.626 9.313 41 8 46 12 0.0002 0.0116 0.0000 23.298 6.478 41 8 14 5 +21 0 0.0020 0.0085 0.0000 46.562 9.652 34 8 71 14 0.0003 0.0116 0.0000 24.355 6.623 41 8 14 5 +22 0 0.0021 0.0086 0.0000 49.824 10.142 24 8 45 8 0.0004 0.0116 0.0000 25.463 6.776 41 8 14 5 +23 0 0.0023 0.0084 0.0000 53.420 10.607 29 8 67 12 0.0004 0.0116 0.0000 26.628 6.935 41 8 14 5 +24 0 0.0025 0.0087 0.0000 57.875 11.124 57 10 66 10 0.0005 0.0116 0.0000 27.877 7.103 41 8 14 5 +25 0 0.0026 0.0082 0.0000 61.222 11.568 76 17 69 16 0.0006 0.0116 0.0000 29.160 7.275 41 8 14 5 +26 0 0.0027 0.0097 0.0000 64.722 11.904 54 14 34 8 0.0007 0.0116 0.0000 30.477 7.446 41 8 14 5 +27 0 0.0029 0.0088 0.0000 67.130 12.143 76 15 71 14 0.0008 0.0116 0.0000 31.786 7.614 41 8 14 5 +28 0 0.0029 0.0101 0.0000 69.983 12.353 36 8 100 15 0.0008 0.0116 0.0000 33.103 7.777 41 8 14 5 +29 0 0.0030 0.0086 0.0000 72.006 12.569 36 8 78 14 0.0009 0.0116 0.0000 34.400 7.937 41 8 14 5 +30 0 0.0030 0.0101 0.0000 73.682 12.697 72 14 77 13 0.0010 0.0116 0.0000 35.667 8.091 41 8 14 5 +31 0 0.0031 0.0102 0.0000 75.515 12.852 73 14 119 17 0.0010 0.0116 0.0000 36.912 8.239 41 8 14 5 +32 0 0.0032 0.0102 0.0000 76.872 12.939 71 14 80 13 0.0011 0.0116 0.0000 38.123 8.382 41 8 14 5 +33 0 0.0033 0.0122 0.0000 80.269 13.238 80 14 105 14 0.0012 0.0122 0.0000 39.363 8.525 80 14 14 5 +34 0 0.0035 0.0128 0.0000 81.952 13.405 44 9 104 15 0.0012 0.0128 0.0000 40.580 8.664 44 9 14 5 +35 0 0.0037 0.0116 0.0000 82.982 13.510 88 14 68 11 0.0013 0.0128 0.0000 41.758 8.799 44 9 14 5 +36 0 0.0039 0.0128 0.0000 83.013 13.532 46 9 39 8 0.0014 0.0128 0.0000 42.873 8.926 44 9 14 5 +37 0 0.0041 0.0116 0.0000 84.320 13.704 79 13 111 15 0.0014 0.0128 0.0000 43.963 9.052 44 9 14 5 +38 0 0.0042 0.0126 0.0000 84.520 13.697 82 16 49 12 0.0015 0.0128 0.0000 45.003 9.171 44 9 14 5 +39 0 0.0045 0.0119 0.0000 85.794 13.814 122 17 31 9 0.0016 0.0128 0.0000 46.023 9.287 44 9 14 5 +40 0 0.0046 0.0122 0.0000 86.698 13.880 94 17 77 16 0.0017 0.0128 0.0000 47.015 9.399 44 9 14 5 +41 0 0.0047 0.0124 0.0000 87.818 13.933 94 16 108 17 0.0017 0.0128 0.0000 47.987 9.507 44 9 14 5 +42 0 0.0048 0.0129 0.0000 89.766 14.067 68 14 94 15 0.0018 0.0129 0.0000 48.958 9.613 68 14 14 5 +43 0 0.0049 0.0124 0.0000 89.900 14.097 97 15 29 8 0.0019 0.0129 0.0000 49.889 9.715 68 14 14 5 +44 0 0.0050 0.0126 0.0000 90.349 14.116 96 15 137 16 0.0019 0.0129 0.0000 50.788 9.813 68 14 14 5 +45 0 0.0050 0.0121 0.0000 90.715 14.147 123 17 118 14 0.0020 0.0129 0.0000 51.656 9.907 68 14 14 5 +46 0 0.0052 0.0120 0.0000 92.381 14.201 83 12 9 4 0.0021 0.0129 0.0000 52.522 9.999 68 14 14 5 +47 0 0.0052 0.0125 0.0000 93.718 14.266 90 15 89 16 0.0021 0.0129 0.0000 53.381 10.088 68 14 14 5 +48 0 0.0052 0.0148 0.0000 94.231 14.231 91 16 75 14 0.0022 0.0148 0.0000 54.214 10.172 91 16 14 5 +49 0 0.0053 0.0134 0.0000 95.082 14.223 122 17 119 17 0.0023 0.0148 0.0000 55.032 10.253 91 16 14 5 +50 0 0.0053 0.0135 0.0000 96.497 14.343 112 16 32 8 0.0023 0.0148 0.0000 55.845 10.333 91 16 14 5 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.sys b/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.sys new file mode 100644 index 0000000..2292e57 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_7/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 1311. +creating initial population(s): + 5630 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 284561882 + freed: 283559282 + not freed: 1002600 + max allocated: 11200989 + malloc'ed blocks: 750447 + realloc'ed blocks: 12 + free'ed blocks: 750297 + +------- time ------- + overall: 7s wall + evaluation: 3s wall + breeding: 4s wall + +------- generation spaces ------- + space 0 size: 400 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 143869 + freed: 143869 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.bst b/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.bst new file mode 100644 index 0000000..608455c --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.bst @@ -0,0 +1,32 @@ +=== BEST-OF-RUN === + generation: 49 + nodes: 69 + depth: 17 + hits: 187 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 187 + raw fitness: 0.8918 + standardized fitness: 0.8918 + adjusted fitness: 0.5286 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (+ (log (sin (* 0.90139 -0.41150))) 0.80157)))) + (* x + (* x x))) + (sin (cos (cos (log (* (+ (/ (- (- 0.36684 + (+ (+ 0.13185 0.82034) 0.38921)) + (/ -0.92512 0.01134)) + (sin (log 0.51407))) + (+ (- x + (exp (cos (cos x)))) + (+ (* (* -0.97065 + (log (cos (log (cos x))))) + (* (sin 0.68262) x)) x))) -0.28416)))))))) +TREE-equ: +y = ((x * x) + ((0.59093 + x) + (((x - sin(log((log(sin((0.90139 * -0.41150))) + 0.80157)))) * (x * (x * x))) - sin(cos(cos(log((((((0.36684 - ((0.13185 + 0.82034) + 0.38921)) - (-0.92512 / 0.01134)) / sin(log(0.51407))) + ((x - exp(cos(cos(x)))) + (((-0.97065 * log(cos(log(cos(x))))) * (sin(0.68262) * x)) + x))) * -0.28416)))))))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.fn b/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.fn new file mode 100644 index 0000000..e207243 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.fn @@ -0,0 +1,2 @@ + +y = ((x * x) + ((0.59093 + x) + (((x - sin(log((log(sin((0.90139 * -0.41150))) + 0.80157)))) * (x * (x * x))) - sin(cos(cos(log((((((0.36684 - ((0.13185 + 0.82034) + 0.38921)) - (-0.92512 / 0.01134)) / sin(log(0.51407))) + ((x - exp(cos(cos(x)))) + (((-0.97065 * log(cos(log(cos(x))))) * (sin(0.68262) * x)) + x))) * -0.28416)))))))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.gen b/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.his b/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.his new file mode 100644 index 0000000..44e71b1 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.his @@ -0,0 +1,1216 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 8 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 16040.4732 + standardized fitness: 16040.4732 + adjusted fitness: 0.0001 +TREE: + (exp (+ (- 0.40277 -0.48692) + (+ x 0.60719))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 8 + depth: 3 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 14192.0029 + standardized fitness: 14192.0029 + adjusted fitness: 0.0001 +TREE: + (* (/ (- -0.10329 x) -0.70204) + (exp x)) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 13 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 13306.6145 + standardized fitness: 13306.6145 + adjusted fitness: 0.0001 +TREE: + (exp (log (+ (cos 0.36346) + (* (- (/ x -0.04567) + (log 0.44520)) x)))) +=== BEST-OF-RUN === + current generation: 3 + generation: 2 + nodes: 13 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 13306.6145 + standardized fitness: 13306.6145 + adjusted fitness: 0.0001 +TREE: + (exp (log (+ (cos 0.36346) + (* (- (/ x -0.04567) + (log 0.44520)) x)))) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 9 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7566.6038 + standardized fitness: 7566.6038 + adjusted fitness: 0.0001 +TREE: + (- (* (* x x) + (* x x)) 0.92316) +=== BEST-OF-RUN === + current generation: 5 + generation: 4 + nodes: 9 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7566.6038 + standardized fitness: 7566.6038 + adjusted fitness: 0.0001 +TREE: + (- (* (* x x) + (* x x)) 0.92316) +=== BEST-OF-RUN === + current generation: 6 + generation: 4 + nodes: 9 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7566.6038 + standardized fitness: 7566.6038 + adjusted fitness: 0.0001 +TREE: + (- (* (* x x) + (* x x)) 0.92316) +=== BEST-OF-RUN === + current generation: 7 + generation: 4 + nodes: 9 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7566.6038 + standardized fitness: 7566.6038 + adjusted fitness: 0.0001 +TREE: + (- (* (* x x) + (* x x)) 0.92316) +=== BEST-OF-RUN === + current generation: 8 + generation: 4 + nodes: 9 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7566.6038 + standardized fitness: 7566.6038 + adjusted fitness: 0.0001 +TREE: + (- (* (* x x) + (* x x)) 0.92316) +=== BEST-OF-RUN === + current generation: 9 + generation: 4 + nodes: 9 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7566.6038 + standardized fitness: 7566.6038 + adjusted fitness: 0.0001 +TREE: + (- (* (* x x) + (* x x)) 0.92316) +=== BEST-OF-RUN === + current generation: 10 + generation: 4 + nodes: 9 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7566.6038 + standardized fitness: 7566.6038 + adjusted fitness: 0.0001 +TREE: + (- (* (* x x) + (* x x)) 0.92316) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 31 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1757.6543 + standardized fitness: 1757.6543 + adjusted fitness: 0.0006 +TREE: + (+ (- (exp (cos (log -0.44605))) x) + (- (* (- x + (sin (log (- (log -0.66219) + (log (exp (log 0.51407))))))) + (* x + (* x x))) + (sin (exp (cos (log (sin x))))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 27 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1696.8837 + standardized fitness: 1696.8837 + adjusted fitness: 0.0006 +TREE: + (+ (- (exp (cos (log -0.44605))) x) + (- (* (- x + (sin (log (- (log -0.66219) + (log (exp (log 0.51407))))))) + (* x + (* x x))) + (log -0.68315))) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 30 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 674.8983 + standardized fitness: 674.8983 + adjusted fitness: 0.0015 +TREE: + (+ (- (+ x + (* (/ x 0.97127) x)) x) + (- (* (- x + (sin (log (- (log -0.66219) + (log (exp (log 0.51407))))))) + (* x + (* x x))) + (cos -0.18703))) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 42 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 654.1574 + standardized fitness: 654.1574 + adjusted fitness: 0.0015 +TREE: + (+ (- (+ x + (* (/ x 0.97127) x)) x) + (- (* (- x + (sin (log (- (log -0.66219) + (log (exp (log 0.51407))))))) + (* x + (* x x))) + (cos (+ -0.45521 + (- (log (sin (log (log (cos x))))) + (cos (sin (cos x)))))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 35 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 559.5018 + standardized fitness: 559.5018 + adjusted fitness: 0.0018 +TREE: + (+ (- (+ x + (* (/ x 0.97127) x)) x) + (- (* (- x + (sin (log (- (sin (log (- (log -0.66219) + (log -0.35935)))) + (log (exp (log 0.51407))))))) + (* x + (* x x))) + (cos -0.18703))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 30 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 260.4555 + standardized fitness: 260.4555 + adjusted fitness: 0.0038 +TREE: + (+ (* (+ x + (cos (cos (* x x)))) x) + (- (* (- x + (sin (log (- (log -0.66219) + (log (exp (log 0.51407))))))) + (* x + (* x x))) + (log -0.68315))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 73 + depth: 13 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 244.2168 + standardized fitness: 244.2168 + adjusted fitness: 0.0041 +TREE: + (+ (- (+ x + (* (/ x 0.97127) x)) + (sin (log (- (log -0.66219) + (log (- (* (sin -0.80476) + (exp (log -0.16139))) + (log x))))))) + (- (* (- x + (sin (log (- (log -0.66219) + (log (exp (log 0.51407))))))) + (* x + (* x x))) + (cos (+ -0.45521 + (- (log (sin (log (+ (- (log (exp 0.84662)) + (sin (exp (- x x)))) + (- (/ (sin -0.57647) + (log 0.42326)) + (- (- -0.04844 x) 0.07046)))))) + (+ 0.88276 0.39857)))))) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 50 + depth: 10 + hits: 7 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 7 + raw fitness: 149.4192 + standardized fitness: 149.4192 + adjusted fitness: 0.0066 +TREE: + (+ (- (+ x + (* (/ x 0.97127) x)) + (sin (log (- (log -0.66219) + (log (- (* (sin -0.80476) + (exp (log -0.16139))) + (log x))))))) + (- (* (- x + (sin (log (- (log -0.66219) + (log (exp (log 0.51407))))))) + (* x + (* x x))) + (cos (+ -0.45521 + (- x + (+ 0.88276 0.39857)))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 39 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 128.5912 + standardized fitness: 128.5912 + adjusted fitness: 0.0077 +TREE: + (+ (* (+ x + (cos (log (exp (* (+ 0.42176 0.05795) + (* 0.78083 -0.24185)))))) x) + (- (* (- x + (sin (log (- (log -0.66219) + (log (sin (exp (cos (sin (log (sin 0.06224))))))))))) + (* x + (* x x))) + (log -0.68315))) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 50 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 52.6262 + standardized fitness: 52.6262 + adjusted fitness: 0.0186 +TREE: + (+ (- (+ x + (* (/ x 0.97127) x)) + (sin (log (- (log -0.66219) + (log (- (* (sin -0.80476) + (exp (log -0.16139))) + (log x))))))) + (- (* (- x + (sin (log (cos (/ (exp -0.82544) + (sin (* -0.72501 -0.45102))))))) + (* x + (* x x))) + (cos (log (log (/ x + (cos 0.58096))))))) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 37 + depth: 10 + hits: 9 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 9 + raw fitness: 51.5052 + standardized fitness: 51.5052 + adjusted fitness: 0.0190 +TREE: + (+ (- (+ x + (* (/ x 0.97127) x)) + (log 0.51407)) + (- (* (- x + (sin (log (cos (/ (exp -0.82544) + (sin (* -0.72501 -0.45102))))))) + (* x + (* x x))) + (cos (log (log (/ x + (cos 0.58096))))))) +=== BEST-OF-RUN === + current generation: 22 + generation: 21 + nodes: 37 + depth: 10 + hits: 9 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 9 + raw fitness: 51.5052 + standardized fitness: 51.5052 + adjusted fitness: 0.0190 +TREE: + (+ (- (+ x + (* (/ x 0.97127) x)) + (log 0.51407)) + (- (* (- x + (sin (log (cos (/ (exp -0.82544) + (sin (* -0.72501 -0.45102))))))) + (* x + (* x x))) + (cos (log (log (/ x + (cos 0.58096))))))) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 38 + depth: 10 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 41.5341 + standardized fitness: 41.5341 + adjusted fitness: 0.0235 +TREE: + (+ (- (+ x + (* (/ x 0.97127) x)) + (sin (log (log (cos (exp (exp -0.22558))))))) + (- (* (- x + (sin (log (cos (/ (exp -0.82544) + (sin (* -0.72501 -0.45102))))))) + (* x + (* x x))) + (cos (log 0.51407)))) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 32 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 29.5739 + standardized fitness: 29.5739 + adjusted fitness: 0.0327 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (cos (/ (exp -0.82544) + (sin (* -0.72501 -0.45102))))))) + (* x + (* x x))) + (sin (cos (cos (log -0.39047))))))) +=== BEST-OF-RUN === + current generation: 25 + generation: 24 + nodes: 32 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 29.5739 + standardized fitness: 29.5739 + adjusted fitness: 0.0327 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (cos (/ (exp -0.82544) + (sin (* -0.72501 -0.45102))))))) + (* x + (* x x))) + (sin (cos (cos (log -0.39047))))))) +=== BEST-OF-RUN === + current generation: 26 + generation: 24 + nodes: 32 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 29.5739 + standardized fitness: 29.5739 + adjusted fitness: 0.0327 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (cos (/ (exp -0.82544) + (sin (* -0.72501 -0.45102))))))) + (* x + (* x x))) + (sin (cos (cos (log -0.39047))))))) +=== BEST-OF-RUN === + current generation: 27 + generation: 24 + nodes: 32 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 29.5739 + standardized fitness: 29.5739 + adjusted fitness: 0.0327 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (cos (/ (exp -0.82544) + (sin (* -0.72501 -0.45102))))))) + (* x + (* x x))) + (sin (cos (cos (log -0.39047))))))) +=== BEST-OF-RUN === + current generation: 28 + generation: 24 + nodes: 32 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 29.5739 + standardized fitness: 29.5739 + adjusted fitness: 0.0327 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (cos (/ (exp -0.82544) + (sin (* -0.72501 -0.45102))))))) + (* x + (* x x))) + (sin (cos (cos (log -0.39047))))))) +=== BEST-OF-RUN === + current generation: 29 + generation: 29 + nodes: 33 + depth: 13 + hits: 55 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 55 + raw fitness: 28.2837 + standardized fitness: 28.2837 + adjusted fitness: 0.0341 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (- (log -0.66219) + (log (sin (log (- (log -0.66219) + (log -0.44605))))))))) + (* x + (* x x))) + (sin (cos 0.88276))))) +=== BEST-OF-RUN === + current generation: 30 + generation: 30 + nodes: 32 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 20.8713 + standardized fitness: 20.8713 + adjusted fitness: 0.0457 +TREE: + (+ (- (+ x + (* x x)) + (sin 0.54409)) + (- (* (- x + (sin (log (cos (/ (exp -0.82544) + (sin (* -0.72501 -0.45102))))))) + (* x + (* x x))) + (sin (+ 0.23407 -0.66017)))) +=== BEST-OF-RUN === + current generation: 31 + generation: 31 + nodes: 28 + depth: 10 + hits: 73 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 73 + raw fitness: 12.3304 + standardized fitness: 12.3304 + adjusted fitness: 0.0750 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (- (log -0.66219) + (log (sin 0.97127)))))) + (* x + (* x x))) + (sin (cos 0.88276))))) +=== BEST-OF-RUN === + current generation: 32 + generation: 31 + nodes: 28 + depth: 10 + hits: 73 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 73 + raw fitness: 12.3304 + standardized fitness: 12.3304 + adjusted fitness: 0.0750 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (- (log -0.66219) + (log (sin 0.97127)))))) + (* x + (* x x))) + (sin (cos 0.88276))))) +=== BEST-OF-RUN === + current generation: 33 + generation: 31 + nodes: 28 + depth: 10 + hits: 73 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 73 + raw fitness: 12.3304 + standardized fitness: 12.3304 + adjusted fitness: 0.0750 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (- (log -0.66219) + (log (sin 0.97127)))))) + (* x + (* x x))) + (sin (cos 0.88276))))) +=== BEST-OF-RUN === + current generation: 34 + generation: 31 + nodes: 28 + depth: 10 + hits: 73 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 73 + raw fitness: 12.3304 + standardized fitness: 12.3304 + adjusted fitness: 0.0750 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (- (log -0.66219) + (log (sin 0.97127)))))) + (* x + (* x x))) + (sin (cos 0.88276))))) +=== BEST-OF-RUN === + current generation: 35 + generation: 31 + nodes: 28 + depth: 10 + hits: 73 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 73 + raw fitness: 12.3304 + standardized fitness: 12.3304 + adjusted fitness: 0.0750 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (- (log -0.66219) + (log (sin 0.97127)))))) + (* x + (* x x))) + (sin (cos 0.88276))))) +=== BEST-OF-RUN === + current generation: 36 + generation: 31 + nodes: 28 + depth: 10 + hits: 73 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 73 + raw fitness: 12.3304 + standardized fitness: 12.3304 + adjusted fitness: 0.0750 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (- (log -0.66219) + (log (sin 0.97127)))))) + (* x + (* x x))) + (sin (cos 0.88276))))) +=== BEST-OF-RUN === + current generation: 37 + generation: 37 + nodes: 31 + depth: 11 + hits: 109 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 109 + raw fitness: 2.7985 + standardized fitness: 2.7985 + adjusted fitness: 0.2633 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (+ (log (sin (* 0.90139 -0.41150))) 0.80157)))) + (* x + (* x x))) + (sin (cos (cos (exp -0.78525))))))) +=== BEST-OF-RUN === + current generation: 38 + generation: 37 + nodes: 31 + depth: 11 + hits: 109 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 109 + raw fitness: 2.7985 + standardized fitness: 2.7985 + adjusted fitness: 0.2633 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (+ (log (sin (* 0.90139 -0.41150))) 0.80157)))) + (* x + (* x x))) + (sin (cos (cos (exp -0.78525))))))) +=== BEST-OF-RUN === + current generation: 39 + generation: 39 + nodes: 29 + depth: 11 + hits: 114 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 114 + raw fitness: 2.4118 + standardized fitness: 2.4118 + adjusted fitness: 0.2931 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (+ (log (sin (* 0.90139 -0.41150))) 0.80157)))) + (* x + (* x x))) + (sin (cos 0.89073))))) +=== BEST-OF-RUN === + current generation: 40 + generation: 40 + nodes: 36 + depth: 11 + hits: 115 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 115 + raw fitness: 2.3967 + standardized fitness: 2.3967 + adjusted fitness: 0.2944 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (+ (log (sin (* 0.90139 -0.41150))) 0.80157)))) + (* x + (* x x))) + (sin (cos (cos (sin (log (- (log -0.66219) + (log -0.35935)))))))))) +=== BEST-OF-RUN === + current generation: 41 + generation: 41 + nodes: 36 + depth: 11 + hits: 116 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 116 + raw fitness: 2.3745 + standardized fitness: 2.3745 + adjusted fitness: 0.2963 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (+ (log (sin (* 0.90139 -0.41150))) 0.80157)))) + (* x + (* x x))) + (sin (cos (cos (sin (log (- (cos 0.90896) + (log -0.35935)))))))))) +=== BEST-OF-RUN === + current generation: 42 + generation: 41 + nodes: 36 + depth: 11 + hits: 116 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 116 + raw fitness: 2.3745 + standardized fitness: 2.3745 + adjusted fitness: 0.2963 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (+ (log (sin (* 0.90139 -0.41150))) 0.80157)))) + (* x + (* x x))) + (sin (cos (cos (sin (log (- (cos 0.90896) + (log -0.35935)))))))))) +=== BEST-OF-RUN === + current generation: 43 + generation: 41 + nodes: 36 + depth: 11 + hits: 116 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 116 + raw fitness: 2.3745 + standardized fitness: 2.3745 + adjusted fitness: 0.2963 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (+ (log (sin (* 0.90139 -0.41150))) 0.80157)))) + (* x + (* x x))) + (sin (cos (cos (sin (log (- (cos 0.90896) + (log -0.35935)))))))))) +=== BEST-OF-RUN === + current generation: 44 + generation: 41 + nodes: 36 + depth: 11 + hits: 116 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 116 + raw fitness: 2.3745 + standardized fitness: 2.3745 + adjusted fitness: 0.2963 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (+ (log (sin (* 0.90139 -0.41150))) 0.80157)))) + (* x + (* x x))) + (sin (cos (cos (sin (log (- (cos 0.90896) + (log -0.35935)))))))))) +=== BEST-OF-RUN === + current generation: 45 + generation: 41 + nodes: 36 + depth: 11 + hits: 116 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 116 + raw fitness: 2.3745 + standardized fitness: 2.3745 + adjusted fitness: 0.2963 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (+ (log (sin (* 0.90139 -0.41150))) 0.80157)))) + (* x + (* x x))) + (sin (cos (cos (sin (log (- (cos 0.90896) + (log -0.35935)))))))))) +=== BEST-OF-RUN === + current generation: 46 + generation: 46 + nodes: 58 + depth: 14 + hits: 160 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 160 + raw fitness: 1.3504 + standardized fitness: 1.3504 + adjusted fitness: 0.4255 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (+ (log (sin (* 0.90139 -0.41150))) 0.80157)))) + (* x + (* x x))) + (sin (cos (cos (log (* (+ (/ (- (- 0.36684 + (+ (+ 0.13185 0.82034) 0.38921)) + (/ -0.92512 0.01134)) + (sin (log 0.51407))) + (+ (- x + (exp (cos (cos x)))) + (+ x x))) -0.28416)))))))) +=== BEST-OF-RUN === + current generation: 47 + generation: 46 + nodes: 58 + depth: 14 + hits: 160 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 160 + raw fitness: 1.3504 + standardized fitness: 1.3504 + adjusted fitness: 0.4255 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (+ (log (sin (* 0.90139 -0.41150))) 0.80157)))) + (* x + (* x x))) + (sin (cos (cos (log (* (+ (/ (- (- 0.36684 + (+ (+ 0.13185 0.82034) 0.38921)) + (/ -0.92512 0.01134)) + (sin (log 0.51407))) + (+ (- x + (exp (cos (cos x)))) + (+ x x))) -0.28416)))))))) +=== BEST-OF-RUN === + current generation: 48 + generation: 48 + nodes: 61 + depth: 14 + hits: 162 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 162 + raw fitness: 1.1416 + standardized fitness: 1.1416 + adjusted fitness: 0.4669 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (+ (log (sin (* 0.90139 -0.41150))) 0.80157)))) + (* x + (* x x))) + (sin (cos (cos (log (* (+ (/ (- (- 0.36684 + (+ (+ 0.13185 0.82034) 0.38921)) + (/ -0.92512 0.01134)) + (sin (log 0.51407))) + (+ (- (cos (exp (cos 0.11565))) + (exp (cos (cos x)))) + (+ x x))) -0.28416)))))))) +=== BEST-OF-RUN === + current generation: 49 + generation: 49 + nodes: 69 + depth: 17 + hits: 187 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 187 + raw fitness: 0.8918 + standardized fitness: 0.8918 + adjusted fitness: 0.5286 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (+ (log (sin (* 0.90139 -0.41150))) 0.80157)))) + (* x + (* x x))) + (sin (cos (cos (log (* (+ (/ (- (- 0.36684 + (+ (+ 0.13185 0.82034) 0.38921)) + (/ -0.92512 0.01134)) + (sin (log 0.51407))) + (+ (- x + (exp (cos (cos x)))) + (+ (* (* -0.97065 + (log (cos (log (cos x))))) + (* (sin 0.68262) x)) x))) -0.28416)))))))) +=== BEST-OF-RUN === + current generation: 50 + generation: 49 + nodes: 69 + depth: 17 + hits: 187 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 187 + raw fitness: 0.8918 + standardized fitness: 0.8918 + adjusted fitness: 0.5286 +TREE: + (+ (* x x) + (+ (+ 0.59093 x) + (- (* (- x + (sin (log (+ (log (sin (* 0.90139 -0.41150))) 0.80157)))) + (* x + (* x x))) + (sin (cos (cos (log (* (+ (/ (- (- 0.36684 + (+ (+ 0.13185 0.82034) 0.38921)) + (/ -0.92512 0.01134)) + (sin (log 0.51407))) + (+ (- x + (exp (cos (cos x)))) + (+ (* (* -0.97065 + (log (cos (log (cos x))))) + (* (sin 0.68262) x)) x))) -0.28416)))))))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.prg b/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.prg new file mode 100644 index 0000000..176dbd6 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 1.52636, y = 12.84019 + x = -2.85386, y = 48.38079 + x = -0.09966, y = -0.09062 + x = -2.97260, y = 57.67749 + x = 3.55227, y = 220.22640 + x = -0.06671, y = -0.06254 + x = -3.35075, y = 96.31384 + x = -0.65099, y = -0.32349 + x = 4.87072, y = 706.97124 + x = -0.83668, y = -0.23230 + x = 1.23723, y = 7.00494 + x = -4.16235, y = 241.21174 + x = -4.95605, y = 501.18510 + x = -3.18079, y = 77.11752 + x = -4.94539, y = 496.70008 + x = -0.39897, y = -0.27796 + x = 0.18408, y = 0.22535 + x = -3.96058, y = 195.65649 + x = 0.15118, y = 0.17802 + x = -1.52997, y = 2.70886 + x = -4.07959, y = 221.65698 + x = 0.45231, y = 0.79128 + x = -3.18273, y = 77.31938 + x = -3.71542, y = 149.36046 + x = -2.33939, y = 20.28145 + x = -4.66018, y = 387.48978 + x = 3.95808, y = 327.06933 + x = 0.10812, y = 0.12121 + x = 4.59573, y = 568.86892 + x = 4.45407, y = 506.23280 + x = 0.10668, y = 0.11941 + x = 2.40528, y = 55.57662 + x = -3.70107, y = 146.93221 + x = -4.56181, y = 354.37853 + x = 2.94238, y = 112.02824 + x = 4.74845, y = 642.76701 + x = 3.77897, y = 275.96047 + x = -2.26578, y = 17.59139 + x = 4.44253, y = 501.36801 + x = -1.44835, y = 2.01159 + x = -0.60238, y = -0.32643 + x = 2.93592, y = 111.15977 + x = -1.05288, y = 0.11739 + x = -2.70565, y = 38.39846 + x = -4.00778, y = 205.67720 + x = -1.23128, y = 0.71651 + x = 4.18568, y = 401.98550 + x = 3.02696, y = 123.87466 + x = -2.80194, y = 44.68739 + x = 2.62094, y = 74.68240 + x = 4.62170, y = 580.95430 + x = 4.79136, y = 664.77370 + x = -4.96731, y = 505.95594 + x = -4.42226, y = 311.10314 + x = -0.15211, y = -0.13196 + x = 4.12109, y = 379.52811 + x = -4.15280, y = 238.89014 + x = -0.53785, y = -0.32047 + x = -0.91498, y = -0.14292 + x = 3.80382, y = 282.66437 + x = 1.15432, y = 5.80033 + x = 3.91502, y = 314.17921 + x = -0.09352, y = -0.08551 + x = 1.31907, y = 8.38161 + x = 4.76570, y = 651.54388 + x = 3.30131, y = 168.95993 + x = 1.89052, y = 24.99555 + x = 2.74961, y = 88.25640 + x = -4.17301, y = 243.82072 + x = 1.28590, y = 7.79988 + x = 0.41535, y = 0.68929 + x = 2.15712, y = 38.49963 + x = 3.84136, y = 293.02077 + x = 2.53024, y = 66.11831 + x = -1.15167, y = 0.40634 + x = -3.87094, y = 177.63690 + x = 0.41962, y = 0.70058 + x = -3.76047, y = 157.17557 + x = 1.43669, y = 10.72658 + x = -1.46048, y = 2.10698 + x = 4.49262, y = 522.73319 + x = -0.50407, y = -0.31350 + x = -3.97691, y = 199.08015 + x = -4.20809, y = 252.55650 + x = -1.70025, y = 4.63245 + x = 1.19166, y = 6.32046 + x = -2.50120, y = 27.24499 + x = -0.02014, y = -0.01974 + x = -4.32751, y = 284.07044 + x = 4.64107, y = 590.10035 + x = -2.14207, y = 13.67161 + x = -3.97064, y = 197.76028 + x = -3.09276, y = 68.38240 + x = -1.84337, y = 6.83736 + x = 3.13629, y = 140.57555 + x = 2.24051, y = 43.70648 + x = 4.09456, y = 370.58670 + x = 1.41688, y = 10.29916 + x = 3.44602, y = 197.25882 + x = 4.86317, y = 702.87102 + x = 3.34910, y = 177.94006 + x = 2.94615, y = 112.53714 + x = -3.40973, y = 103.74415 + x = 3.65854, y = 245.16767 + x = 3.12832, y = 139.30348 + x = 0.12576, y = 0.14382 + x = 3.76827, y = 273.11196 + x = 4.24078, y = 421.92445 + x = 2.27799, y = 46.21639 + x = 3.65623, y = 244.60494 + x = 1.62229, y = 15.45014 + x = 0.86734, y = 2.83804 + x = -1.21034, y = 0.62753 + x = -0.55605, y = -0.32319 + x = 0.94589, y = 3.48742 + x = 0.12496, y = 0.14277 + x = 2.00779, y = 30.38350 + x = -3.25015, y = 84.56701 + x = 3.18278, y = 148.17374 + x = -2.47481, y = 26.00420 + x = 4.20675, y = 409.52300 + x = -4.52636, y = 342.98033 + x = 4.30359, y = 445.55365 + x = -4.03618, y = 211.89090 + x = 2.93680, y = 111.27756 + x = 2.46920, y = 60.79369 + x = 0.56685, y = 1.17355 + x = -4.81718, y = 445.08630 + x = 4.40192, y = 484.53740 + x = 3.72257, y = 261.19627 + x = -2.63921, y = 34.46025 + x = 1.17883, y = 6.13778 + x = -1.03846, y = 0.08301 + x = 2.78046, y = 91.77440 + x = 1.91724, y = 26.15185 + x = -1.37472, y = 1.48867 + x = -4.29373, y = 274.87256 + x = 1.57914, y = 14.22926 + x = -0.15398, y = -0.13336 + x = 3.17479, y = 146.84550 + x = 4.18387, y = 401.34322 + x = -4.25106, y = 263.57611 + x = 1.79708, y = 21.25981 + x = 3.14730, y = 142.34725 + x = -4.56567, y = 355.63600 + x = -2.61571, y = 33.14205 + x = -3.27423, y = 87.27535 + x = -4.05658, y = 216.44021 + x = 0.21983, y = 0.28112 + x = -4.33291, y = 285.56185 + x = -3.32634, y = 93.35826 + x = 3.91174, y = 313.21208 + x = 2.01496, y = 30.74021 + x = 4.72345, y = 630.19805 + x = 2.50238, y = 63.64533 + x = -2.82973, y = 46.63716 + x = -1.01539, y = 0.03173 + x = -1.19019, y = 0.54701 + x = -3.25870, y = 85.52171 + x = -0.49696, y = -0.31173 + x = -0.58051, y = -0.32558 + x = -2.81088, y = 45.30767 + x = -0.60524, y = -0.32645 + x = 4.10320, y = 373.48161 + x = 4.47236, y = 514.01112 + x = 0.87334, y = 2.88396 + x = 4.07026, y = 362.53669 + x = 0.64236, y = 1.49030 + x = -0.99038, y = -0.01888 + x = -1.43839, y = 1.93524 + x = -1.60081, y = 3.42644 + x = 1.06437, y = 4.68650 + x = 1.53002, y = 12.93285 + x = 2.51569, y = 64.81800 + x = -4.14847, y = 237.84335 + x = -4.70499, y = 403.32269 + x = -1.54132, y = 2.81649 + x = 4.58014, y = 561.70216 + x = -1.53856, y = 2.79006 + x = 0.76653, y = 2.14972 + x = -1.51541, y = 2.57475 + x = -3.24296, y = 83.77139 + x = 3.44152, y = 196.32911 + x = -0.10113, y = -0.09183 + x = -0.69693, y = -0.31381 + x = -4.82833, y = 449.40913 + x = -3.21593, y = 80.82747 + x = -0.14166, y = -0.12403 + x = 3.30810, y = 170.21391 + x = -3.95611, y = 194.72592 + x = -0.44498, y = -0.29588 + x = 0.06391, y = 0.06828 + x = -2.43048, y = 24.01466 + x = -3.71559, y = 149.38854 + x = -0.22440, y = -0.18281 + x = -1.88050, y = 7.51110 + x = -0.78108, y = -0.27532 + x = 4.28139, y = 437.08925 + x = 2.29577, y = 47.44485 + x = -4.86068, y = 462.12389 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.stt b/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.stt new file mode 100644 index 0000000..288b1da --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.445 3.713 8 3 12 3 0.0000 0.0001 0.0000 13.445 3.713 8 3 12 3 +1 0 0.0000 0.0001 0.0000 13.459 4.178 8 3 38 7 0.0000 0.0001 0.0000 13.452 3.946 8 3 12 3 +2 0 0.0000 0.0001 0.0000 14.414 4.554 13 6 7 4 0.0000 0.0001 0.0000 13.773 4.148 13 6 12 3 +3 0 0.0000 0.0001 0.0000 14.617 4.772 33 5 17 6 0.0000 0.0001 0.0000 13.984 4.304 13 6 12 3 +4 0 0.0000 0.0001 0.0000 15.468 5.070 9 3 10 4 0.0000 0.0001 0.0000 14.280 4.457 9 3 12 3 +5 0 0.0000 0.0001 0.0000 15.673 5.151 19 5 6 4 0.0000 0.0001 0.0000 14.513 4.573 9 3 12 3 +6 0 0.0000 0.0001 0.0000 15.894 5.286 21 7 15 7 0.0000 0.0001 0.0000 14.710 4.675 9 3 12 3 +7 0 0.0000 0.0001 0.0000 16.190 5.425 21 7 27 9 0.0000 0.0001 0.0000 14.895 4.769 9 3 12 3 +8 0 0.0000 0.0001 0.0000 17.002 5.592 14 5 28 7 0.0000 0.0001 0.0000 15.129 4.860 9 3 12 3 +9 0 0.0000 0.0001 0.0000 17.919 5.845 12 4 9 5 0.0000 0.0001 0.0000 15.408 4.959 9 3 12 3 +10 0 0.0000 0.0001 0.0000 19.043 6.058 9 3 28 10 0.0000 0.0001 0.0000 15.739 5.059 9 3 12 3 +11 0 0.0000 0.0006 0.0000 19.815 6.203 31 10 14 4 0.0000 0.0006 0.0000 16.078 5.154 31 10 12 3 +12 0 0.0000 0.0006 0.0000 20.786 6.311 27 10 6 4 0.0000 0.0006 0.0000 16.440 5.243 27 10 12 3 +13 0 0.0000 0.0015 0.0000 23.135 6.719 30 10 24 7 0.0000 0.0015 0.0000 16.919 5.348 30 10 12 3 +14 0 0.0001 0.0015 0.0000 27.516 7.584 42 10 35 11 0.0000 0.0015 0.0000 17.625 5.497 42 10 12 3 +15 0 0.0002 0.0018 0.0000 34.402 9.034 35 11 47 12 0.0000 0.0018 0.0000 18.674 5.718 35 11 12 3 +16 0 0.0002 0.0038 0.0000 39.552 9.988 30 10 55 13 0.0001 0.0038 0.0000 19.902 5.970 30 10 12 3 +17 0 0.0003 0.0041 0.0000 43.399 10.548 73 13 81 17 0.0001 0.0041 0.0000 21.207 6.224 73 13 12 3 +18 0 0.0004 0.0066 0.0000 47.428 11.057 50 10 49 11 0.0001 0.0066 0.0000 22.587 6.478 50 10 12 3 +19 0 0.0006 0.0077 0.0000 51.281 11.441 39 14 9 4 0.0001 0.0077 0.0000 24.022 6.726 39 14 12 3 +20 0 0.0010 0.0186 0.0000 54.665 11.804 50 10 75 17 0.0002 0.0186 0.0000 25.481 6.968 50 10 12 3 +21 0 0.0019 0.0190 0.0000 58.651 12.192 37 10 45 11 0.0002 0.0190 0.0000 26.989 7.206 37 10 12 3 +22 0 0.0025 0.0171 0.0000 61.949 12.432 45 10 121 16 0.0003 0.0190 0.0000 28.509 7.433 37 10 12 3 +23 0 0.0029 0.0235 0.0000 64.410 12.622 38 10 40 10 0.0004 0.0235 0.0000 30.005 7.649 38 10 12 3 +24 0 0.0032 0.0327 0.0000 66.357 12.756 32 11 69 10 0.0005 0.0327 0.0000 31.459 7.853 32 11 12 3 +25 0 0.0035 0.0264 0.0000 68.252 12.941 31 13 70 14 0.0007 0.0327 0.0000 32.874 8.049 32 11 12 3 +26 0 0.0040 0.0279 0.0000 71.801 13.249 47 13 80 15 0.0008 0.0327 0.0000 34.316 8.242 32 11 12 3 +27 0 0.0049 0.0287 0.0000 74.621 13.572 39 13 131 17 0.0009 0.0327 0.0000 35.755 8.432 32 11 12 3 +28 0 0.0059 0.0301 0.0000 77.405 13.902 48 13 59 17 0.0011 0.0327 0.0000 37.191 8.621 32 11 12 3 +29 0 0.0067 0.0341 0.0000 80.681 14.191 33 13 105 17 0.0013 0.0341 0.0000 38.641 8.806 33 13 12 3 +30 0 0.0073 0.0457 0.0000 82.899 14.435 32 10 58 14 0.0015 0.0457 0.0000 40.069 8.988 32 10 12 3 +31 0 0.0081 0.0750 0.0000 84.357 14.560 28 10 93 15 0.0017 0.0750 0.0000 41.453 9.162 28 10 12 3 +32 0 0.0084 0.0616 0.0000 84.724 14.524 28 11 126 16 0.0019 0.0750 0.0000 42.764 9.324 28 10 12 3 +33 0 0.0086 0.0375 0.0000 84.401 14.480 49 13 102 14 0.0021 0.0750 0.0000 43.989 9.476 28 10 12 3 +34 0 0.0093 0.0356 0.0000 84.808 14.457 69 13 42 8 0.0023 0.0750 0.0000 45.155 9.618 28 10 12 3 +35 0 0.0100 0.0603 0.0000 85.133 14.460 80 17 78 14 0.0025 0.0750 0.0000 46.265 9.753 28 10 12 3 +36 0 0.0106 0.0688 0.0000 85.398 14.420 73 17 105 17 0.0027 0.0750 0.0000 47.323 9.879 28 10 12 3 +37 0 0.0112 0.2633 0.0000 85.633 14.402 31 11 148 17 0.0030 0.2633 0.0000 48.331 9.998 31 11 12 3 +38 0 0.0120 0.0743 0.0000 86.424 14.463 70 17 50 10 0.0032 0.2633 0.0000 49.308 10.113 31 11 12 3 +39 0 0.0131 0.2931 0.0000 86.888 14.487 29 11 86 17 0.0034 0.2931 0.0000 50.247 10.222 29 11 12 3 +40 0 0.0150 0.2944 0.0000 86.297 14.460 36 11 117 17 0.0037 0.2944 0.0000 51.127 10.325 36 11 12 3 +41 0 0.0171 0.2963 0.0000 82.642 14.346 36 11 84 15 0.0040 0.2963 0.0000 51.877 10.421 36 11 12 3 +42 0 0.0208 0.2963 0.0000 78.747 14.323 36 11 36 10 0.0044 0.2963 0.0000 52.502 10.512 36 11 12 3 +43 0 0.0254 0.2944 0.0000 73.464 14.304 36 11 46 11 0.0049 0.2963 0.0000 52.978 10.598 36 11 12 3 +44 0 0.0290 0.2944 0.0000 69.415 14.384 36 11 63 13 0.0054 0.2963 0.0000 53.344 10.682 36 11 12 3 +45 0 0.0316 0.2944 0.0000 66.764 14.350 36 11 89 17 0.0060 0.2963 0.0000 53.635 10.762 36 11 12 3 +46 0 0.0348 0.4255 0.0000 66.484 14.444 58 14 91 17 0.0066 0.4255 0.0000 53.909 10.840 58 14 12 3 +47 0 0.0360 0.4255 0.0000 64.582 14.304 58 14 80 17 0.0072 0.4255 0.0000 54.131 10.912 58 14 12 3 +48 0 0.0390 0.4669 0.0000 63.660 14.225 61 14 59 15 0.0079 0.4669 0.0000 54.325 10.980 61 14 12 3 +49 0 0.0473 0.5286 0.0000 65.115 14.486 69 17 39 11 0.0087 0.5286 0.0000 54.541 11.050 69 17 12 3 +50 0 0.0599 0.5286 0.0000 65.020 14.497 69 17 33 11 0.0097 0.5286 0.0000 54.747 11.118 69 17 12 3 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.sys b/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.sys new file mode 100644 index 0000000..ac56948 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_8/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 96. +creating initial population(s): + 5632 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (1s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 278369792 + freed: 277367192 + not freed: 1002600 + max allocated: 10224483 + malloc'ed blocks: 743722 + realloc'ed blocks: 12 + free'ed blocks: 743572 + +------- time ------- + overall: 7s wall + evaluation: 5s wall + breeding: 2s wall + +------- generation spaces ------- + space 0 size: 400 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 144201 + freed: 144201 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.bst b/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.bst new file mode 100644 index 0000000..ab81592 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.bst @@ -0,0 +1,22 @@ +=== BEST-OF-RUN === + generation: 20 + nodes: 24 + depth: 5 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (+ (+ (* (* x x) + (* x x)) + (+ (* (* x x) x) x)) + (- (* x x) + (log (- x x)))) +TREE-equ: +y = ((((x * x) * (x * x)) + (((x * x) * x) + x)) + ((x * x) - log((x - x)))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.fn b/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.fn new file mode 100644 index 0000000..92062e2 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.fn @@ -0,0 +1,2 @@ + +y = ((((x * x) * (x * x)) + (((x * x) * x) + x)) + ((x * x) - log((x - x)))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.gen b/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.his b/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.his new file mode 100644 index 0000000..0d18a7d --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.his @@ -0,0 +1,504 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 11 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6919.9589 + standardized fitness: 6919.9589 + adjusted fitness: 0.0001 +TREE: + (+ (* (* x x) + (* x x)) + (exp (exp 0.20073))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 7 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6868.3559 + standardized fitness: 6868.3559 + adjusted fitness: 0.0001 +TREE: + (* (* x x) + (* x x)) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 15 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6843.4245 + standardized fitness: 6843.4245 + adjusted fitness: 0.0001 +TREE: + (+ (* (* x x) + (* x x)) + (sin (exp (+ -0.13335 + (+ x -0.80502))))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 11 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6840.5162 + standardized fitness: 6840.5162 + adjusted fitness: 0.0001 +TREE: + (+ (* (* x x) + (* x x)) + (exp (sin x))) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 28 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4285.5116 + standardized fitness: 4285.5116 + adjusted fitness: 0.0002 +TREE: + (* (sin -0.44370) + (* (* x + (- (sin (exp (cos (exp -0.80171)))) + (* (+ 0.77707 x) + (/ x -0.39193)))) + (- (log (- (log -0.06602) + (- -0.97680 0.25231))) x))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 10 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3843.2560 + standardized fitness: 3843.2560 + adjusted fitness: 0.0003 +TREE: + (+ (* (* x x) + (* x x)) + (exp x)) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 42 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3433.4323 + standardized fitness: 3433.4323 + adjusted fitness: 0.0003 +TREE: + (* (sin -0.44370) + (* (* x + (- (sin (exp (exp (cos 0.26201)))) + (* (* x 0.85361) + (/ x -0.39193)))) + (- (log (* (- (sin 0.69144) + (log (cos (- (cos (log x)) + (+ (sin -0.88156) + (- -0.74503 -0.75212)))))) + (cos (- -0.97603 0.98462)))) x))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 19 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2356.2240 + standardized fitness: 2356.2240 + adjusted fitness: 0.0004 +TREE: + (* (sin -0.44370) + (* (* x + (- (sin -0.76685) + (* (+ 0.77707 x) + (/ x -0.39193)))) + (- -0.54764 x))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 43 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1519.5484 + standardized fitness: 1519.5484 + adjusted fitness: 0.0007 +TREE: + (* (sin -0.44370) + (* (* x + (- (sin (exp (exp (cos 0.26201)))) + (* (* x 0.85361) + (/ x -0.39193)))) + (- (log (* (- (sin 0.69144) + (log (cos (- (cos (- 0.32313 + (sin x))) + (/ 0.33046 + (/ x 0.98293)))))) + (cos (- -0.97603 0.98462)))) x))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 33 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1347.4710 + standardized fitness: 1347.4710 + adjusted fitness: 0.0007 +TREE: + (* (sin -0.44370) + (* (* x + (- (sin (* (sin (/ x + (cos -0.46005))) + (sin 0.32415))) + (* (+ 0.77707 x) + (/ x -0.39193)))) + (- (log (- (log (exp -0.36230)) + (- -0.97680 0.25231))) x))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 49 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1115.2966 + standardized fitness: 1115.2966 + adjusted fitness: 0.0009 +TREE: + (* (sin -0.44370) + (* (* x + (- (+ (log (* x x)) + (+ (exp -0.97650) + (* x 0.19074))) + (* (* x 0.85361) + (/ x -0.39193)))) + (- (log (* (- (sin 0.69144) + (log (cos (- (cos (- 0.32313 + (sin x))) + (/ 0.33046 + (/ x 0.98293)))))) + (cos (- -0.97603 0.98462)))) x))) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 42 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 856.0167 + standardized fitness: 856.0167 + adjusted fitness: 0.0012 +TREE: + (* (sin -0.44370) + (* (* x + (- (exp (/ -0.68785 -0.95008)) + (* (* x 0.85361) + (/ x -0.39193)))) + (- (log (* (- (sin 0.69144) + (log (cos (- (cos (- 0.32313 + (sin x))) + (/ 0.33046 + (/ x 0.98293)))))) + (cos (- -0.97603 0.98462)))) x))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 40 + depth: 7 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 800.2637 + standardized fitness: 800.2637 + adjusted fitness: 0.0012 +TREE: + (* (sin -0.44370) + (* (* x + (- (+ (log (* x x)) + (+ (exp -0.97650) + (* x 0.19074))) + (* (* x 0.85361) + (/ x -0.39193)))) + (- (log (* (/ (+ x -0.22176) + (- 0.04308 x)) + (cos (- -0.97603 0.98462)))) x))) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 47 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 741.8830 + standardized fitness: 741.8830 + adjusted fitness: 0.0013 +TREE: + (* (sin -0.44370) + (* (* x + (- x + (* (* x 0.85361) + (/ x -0.39193)))) + (- (log (* (- (sin 0.69144) + (log (cos (- (log (exp (log 0.63138))) + (+ (sin -0.88156) + (sin (* (sin (/ 0.33046 + (/ x 0.98293))) + (* x x)))))))) + (cos (- -0.97603 0.98462)))) x))) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 46 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 530.5180 + standardized fitness: 530.5180 + adjusted fitness: 0.0019 +TREE: + (+ (+ (* (* x x) + (* x x)) + (+ (+ (* (* x x) x) x) + (- (cos (* (- (* (* x x) + (* x x)) + (log 0.90493)) 0.80307)) + (exp 0.50328)))) + (- (* x x) + (log (/ (+ -0.51380 + (/ 0.97044 -0.81681)) + (sin x))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 45 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 321.9363 + standardized fitness: 321.9363 + adjusted fitness: 0.0031 +TREE: + (+ (+ (* (* x x) + (* x x)) + (+ (+ (* (* x x) x) x) + (- (cos (* (- (* (* x x) + (* x x)) + (log 0.90493)) 0.80307)) 0.61123))) + (- (* x x) + (log (/ (+ -0.51380 + (/ 0.97044 -0.81681)) + (sin x))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 43 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 134.6465 + standardized fitness: 134.6465 + adjusted fitness: 0.0074 +TREE: + (+ (+ (* (* x x) + (* x x)) + (+ (+ (* (* x x) x) x) + (- (cos (* (- (* (* x x) + (* x x)) + (log 0.90493)) 0.80307)) 0.61123))) + (- (* x x) + (log (cos (cos (sin (- x x))))))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 42 + depth: 9 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 127.8535 + standardized fitness: 127.8535 + adjusted fitness: 0.0078 +TREE: + (+ (+ (* (* x x) + (* x x)) + (+ (+ (* (* x x) x) x) + (- (cos (* (- (* (exp 0.50328) + (* x x)) + (log 0.90493)) 0.80307)) 0.61123))) + (- (* x x) + (log (cos (cos (sin (- x x))))))) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 38 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 77.3014 + standardized fitness: 77.3014 + adjusted fitness: 0.0128 +TREE: + (+ (+ (* (* x x) + (* x x)) + (+ (+ (* (* x x) x) x) + (* -0.08608 -0.43864))) + (- (* x x) + (log (cos (cos (sin (- (* (log (* x x)) x) + (+ x 0.88476)))))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 59 + depth: 17 + hits: 58 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 58 + raw fitness: 3.7686 + standardized fitness: 3.7686 + adjusted fitness: 0.2097 +TREE: + (+ (+ (* (* x x) + (* x x)) + (+ (+ (* (* x x) x) x) + (- (cos (* (sin (/ 0.33046 + (/ (cos (log x)) + (+ (* (exp (log (exp 0.99659))) + (* (log (* x + (- x + (* (+ 0.77707 x) + (/ x -0.39193))))) 0.81904)) + (log -0.17707))))) + (sin 0.32415))) + (exp -0.44061)))) + (- (* x x) + (sin 0.32415))) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 24 + depth: 5 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (+ (+ (* (* x x) + (* x x)) + (+ (* (* x x) x) x)) + (- (* x x) + (log (- x x)))) diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.prg b/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.prg new file mode 100644 index 0000000..5faa534 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -0.83273, y = -0.23588 + x = -1.70446, y = 4.68910 + x = -2.66994, y = 36.24241 + x = 2.06133, y = 33.12386 + x = -1.87308, y = 7.37276 + x = 1.93094, y = 26.76092 + x = -3.43628, y = 107.22515 + x = 3.32506, y = 173.37869 + x = -2.82013, y = 45.95646 + x = 0.61137, y = 1.35337 + x = -4.69300, y = 399.03864 + x = 1.34767, y = 8.91018 + x = -3.25392, y = 84.98734 + x = 4.90641, y = 726.59313 + x = -1.22406, y = 0.68520 + x = 4.59231, y = 567.28840 + x = -4.60150, y = 367.47062 + x = 1.27179, y = 7.56247 + x = 2.79953, y = 94.00266 + x = -3.01392, y = 61.20615 + x = -0.62636, y = -0.32585 + x = -1.10609, y = 0.26092 + x = -2.47623, y = 26.07006 + x = -3.99562, y = 203.06057 + x = -3.97904, y = 199.53102 + x = -1.18890, y = 0.54204 + x = 3.26356, y = 162.11314 + x = -1.37653, y = 1.50043 + x = -1.86464, y = 7.21784 + x = 2.32292, y = 49.36983 + x = 4.49813, y = 525.12493 + x = 3.06645, y = 129.72309 + x = -3.26887, y = 86.66679 + x = 0.62059, y = 1.39304 + x = 1.44986, y = 11.01843 + x = -1.49197, y = 2.36790 + x = 2.29049, y = 47.07773 + x = 2.56260, y = 69.08214 + x = 3.71493, y = 259.24298 + x = -4.75813, y = 422.71878 + x = 1.87453, y = 24.32226 + x = -1.65253, y = 4.02310 + x = 0.77665, y = 2.21211 + x = 1.26210, y = 7.40269 + x = 4.01562, y = 344.91667 + x = -4.43758, y = 315.64983 + x = -4.84912, y = 457.54974 + x = 1.50463, y = 12.30023 + x = 3.49686, y = 208.00931 + x = 4.71617, y = 626.57432 + x = 1.43580, y = 10.70704 + x = 3.18721, y = 148.91322 + x = 0.92899, y = 3.33859 + x = 0.55146, y = 1.11577 + x = 0.35356, y = 0.53840 + x = 1.10081, y = 5.11495 + x = -3.43560, y = 107.13491 + x = 1.70947, y = 18.16722 + x = -4.38853, y = 301.26686 + x = 4.61890, y = 579.64212 + x = 4.64045, y = 589.80321 + x = -0.99888, y = -0.00224 + x = 4.61013, y = 575.54800 + x = -3.06200, y = 65.51155 + x = 3.73685, y = 264.87605 + x = 1.95953, y = 28.06729 + x = -4.42898, y = 313.08954 + x = 0.48398, y = 0.88645 + x = -4.10921, y = 228.51431 + x = -1.78648, y = 5.88915 + x = 4.44143, y = 500.90722 + x = -1.10613, y = 0.26103 + x = 2.77493, y = 91.13666 + x = 3.08337, y = 132.29019 + x = 0.55028, y = 1.11142 + x = 1.18643, y = 6.24547 + x = 2.96492, y = 115.09615 + x = 1.97230, y = 28.66639 + x = 0.65081, y = 1.52943 + x = -0.07985, y = -0.07394 + x = -2.75330, y = 41.42221 + x = -3.44592, y = 108.51074 + x = -1.98801, y = 9.72688 + x = -1.48354, y = 2.29615 + x = 2.68248, y = 80.95806 + x = 0.49701, y = 0.92781 + x = 3.45632, y = 199.40305 + x = 4.79313, y = 665.69670 + x = 1.88374, y = 24.70831 + x = 4.49032, y = 521.73874 + x = -2.06300, y = 11.52608 + x = -3.19349, y = 78.44329 + x = 1.67181, y = 16.95115 + x = 0.50140, y = 0.94207 + x = -4.19956, y = 250.41075 + x = -2.01934, y = 10.45207 + x = 0.57254, y = 1.19546 + x = 2.69328, y = 82.10054 + x = -4.28818, y = 273.38471 + x = -2.17081, y = 14.51862 + x = -2.40250, y = 22.81828 + x = -1.82142, y = 6.45979 + x = -4.14618, y = 237.29258 + x = -1.42329, y = 1.82290 + x = 2.46947, y = 60.81657 + x = -0.11829, y = -0.10575 + x = 0.17522, y = 0.21224 + x = -2.58747, y = 31.60740 + x = 2.86899, y = 102.46599 + x = 4.85656, y = 699.29590 + x = 2.64449, y = 77.03803 + x = -3.22873, y = 82.21208 + x = 4.82573, y = 682.81110 + x = -3.87885, y = 179.17406 + x = 1.68189, y = 17.27024 + x = 2.83394, y = 98.12520 + x = 2.32931, y = 49.83137 + x = -0.89127, y = -0.17389 + x = -3.86244, y = 175.99492 + x = 0.75619, y = 2.08740 + x = -3.61300, y = 132.67885 + x = -2.12226, y = 13.10891 + x = -0.22784, y = -0.18506 + x = 3.06159, y = 128.99220 + x = -4.38398, y = 299.95853 + x = 1.26285, y = 7.41501 + x = -1.95995, y = 9.10888 + x = -0.80178, y = -0.26110 + x = -4.38611, y = 300.57060 + x = -4.33143, y = 285.15306 + x = -3.98879, y = 201.59966 + x = 0.55238, y = 1.11916 + x = 4.10331, y = 373.51925 + x = 0.79426, y = 2.32412 + x = 2.27566, y = 46.05735 + x = -4.52457, y = 342.41357 + x = -3.27165, y = 86.98270 + x = -3.10916, y = 69.94996 + x = 1.83457, y = 22.70227 + x = 4.84854, y = 694.97899 + x = 3.16770, y = 145.67457 + x = -0.65241, y = -0.32329 + x = 3.65558, y = 244.44570 + x = -3.87245, y = 177.92875 + x = 3.10333, y = 135.37018 + x = -4.94074, y = 494.75440 + x = 2.03435, y = 31.71994 + x = 3.61022, y = 233.57472 + x = -0.11462, y = -0.10281 + x = -0.46241, y = -0.30174 + x = 4.94061, y = 745.77632 + x = -3.62568, y = 134.66471 + x = 2.07939, y = 34.08998 + x = -4.95675, y = 501.48321 + x = -3.18202, y = 77.24530 + x = 2.04512, y = 32.27467 + x = -0.92474, y = -0.12912 + x = 0.05956, y = 0.06333 + x = 1.30105, y = 8.06145 + x = 1.99404, y = 29.70925 + x = -1.84663, y = 6.89475 + x = -1.71563, y = 4.84149 + x = 0.57796, y = 1.21665 + x = 3.02045, y = 122.93092 + x = -3.31114, y = 91.55180 + x = -1.70310, y = 4.67078 + x = -1.88431, y = 7.58279 + x = 3.69818, y = 255.00163 + x = -1.98218, y = 9.59609 + x = 1.62263, y = 15.46020 + x = -4.20041, y = 250.62446 + x = 3.71910, y = 260.30733 + x = 4.22335, y = 415.53685 + x = 1.59997, y = 14.80867 + x = 0.81558, y = 2.46573 + x = -4.98732, y = 514.51785 + x = 0.79835, y = 2.35081 + x = -0.27108, y = -0.21212 + x = 1.24362, y = 7.10545 + x = -1.42910, y = 1.86560 + x = -2.81241, y = 45.41476 + x = 2.98049, y = 117.25357 + x = 2.89717, y = 106.06098 + x = -1.38015, y = 1.52406 + x = 2.51520, y = 64.77437 + x = 2.72684, y = 85.72755 + x = 4.97442, y = 765.11954 + x = -3.91714, y = 186.75980 + x = -0.89460, y = -0.16975 + x = -1.02123, y = 0.04430 + x = 2.35974, y = 52.07480 + x = -1.96984, y = 9.32335 + x = 3.87302, y = 301.97879 + x = -4.78806, y = 433.94924 + x = 4.04895, y = 355.58388 + x = 4.44860, y = 503.92196 + x = 0.12425, y = 0.14184 + x = -2.94439, y = 55.35783 + x = 0.31197, y = 0.44912 + x = 3.09065, y = 133.40720 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.stt b/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.stt new file mode 100644 index 0000000..d4debb7 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.stt @@ -0,0 +1,22 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.178 3.644 11 3 15 4 0.0000 0.0001 0.0000 13.178 3.644 11 3 15 4 +1 0 0.0000 0.0001 0.0000 13.375 4.137 7 2 10 6 0.0000 0.0001 0.0000 13.277 3.891 7 2 15 4 +2 0 0.0000 0.0001 0.0000 14.134 4.534 15 5 15 5 0.0000 0.0001 0.0000 13.563 4.105 15 5 15 4 +3 0 0.0000 0.0001 0.0000 14.877 4.801 11 3 18 5 0.0000 0.0001 0.0000 13.891 4.279 11 3 15 4 +4 0 0.0000 0.0002 0.0000 15.510 5.028 28 8 6 5 0.0000 0.0002 0.0000 14.215 4.429 28 8 15 4 +5 0 0.0000 0.0003 0.0000 16.161 5.219 10 3 41 9 0.0000 0.0003 0.0000 14.539 4.560 10 3 15 4 +6 0 0.0000 0.0003 0.0000 16.738 5.388 42 11 15 6 0.0000 0.0003 0.0000 14.853 4.679 42 11 15 4 +7 0 0.0000 0.0004 0.0000 17.459 5.573 19 6 9 6 0.0000 0.0004 0.0000 15.179 4.790 19 6 15 4 +8 0 0.0000 0.0007 0.0000 18.760 5.890 43 12 38 11 0.0000 0.0007 0.0000 15.577 4.913 43 12 15 4 +9 0 0.0001 0.0007 0.0000 21.066 6.335 33 9 24 6 0.0000 0.0007 0.0000 16.126 5.055 33 9 15 4 +10 0 0.0001 0.0009 0.0000 25.198 7.048 49 12 12 5 0.0000 0.0009 0.0000 16.951 5.236 49 12 15 4 +11 0 0.0001 0.0012 0.0000 29.541 7.818 42 12 49 12 0.0000 0.0012 0.0000 18.000 5.451 42 12 15 4 +12 0 0.0001 0.0012 0.0000 34.385 8.676 40 7 31 10 0.0001 0.0012 0.0000 19.260 5.699 40 7 15 4 +13 0 0.0002 0.0013 0.0000 38.893 9.495 47 15 64 13 0.0001 0.0013 0.0000 20.663 5.970 47 15 15 4 +14 0 0.0002 0.0019 0.0000 43.993 10.338 46 9 60 12 0.0001 0.0019 0.0000 22.218 6.262 46 9 15 4 +15 0 0.0003 0.0031 0.0000 48.874 11.110 45 9 98 15 0.0001 0.0031 0.0000 23.884 6.565 45 9 15 4 +16 0 0.0004 0.0074 0.0000 52.885 11.718 43 9 44 10 0.0001 0.0074 0.0000 25.590 6.868 43 9 15 4 +17 0 0.0004 0.0078 0.0000 56.347 12.162 42 9 69 17 0.0001 0.0078 0.0000 27.299 7.162 42 9 15 4 +18 0 0.0006 0.0128 0.0000 58.762 12.387 38 10 116 16 0.0001 0.0128 0.0000 28.955 7.437 38 10 15 4 +19 0 0.0014 0.2097 0.0000 58.555 12.034 59 17 33 8 0.0002 0.2097 0.0000 30.435 7.667 59 17 15 4 +20 0 0.0071 1.0000 0.0000 54.181 11.086 24 5 48 11 0.0005 1.0000 0.0000 31.565 7.829 24 5 15 4 diff --git a/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.sys b/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.sys new file mode 100644 index 0000000..2540edc --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_0/run_9/regress.sys @@ -0,0 +1,113 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 771. +creating initial population(s): + 5660 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 72094091 + freed: 71693051 + not freed: 401040 + max allocated: 7259616 + malloc'ed blocks: 308728 + realloc'ed blocks: 11 + free'ed blocks: 308668 + +------- time ------- + overall: 2s wall + evaluation: 2s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 300 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 65923 + freed: 65923 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_100_mutation_100_elitism_2/aggregated.tsv b/PartA/crossover_100_mutation_100_elitism_2/aggregated.tsv new file mode 100644 index 0000000..609cd20 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/aggregated.tsv @@ -0,0 +1,54 @@ +Generation limit Mean: 33 +Generation limit Mode: 50 (4) +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0 0.0001 0 13.1071 3.6725 20 4 20 5 0 0.0001 0 13.1071 3.6725 20 4 20 5 +1 0 0 0.0001 0 13.1825 4.1323 18 4 20 5 0 0.0001 0 13.1448 3.9026 18 4 20 5 +2 0 0 0.00013 0 13.8616 4.4778 19 4 20 6 0 0.00013 0 13.3838 4.0942 19 4 15 5 +3 0 0 0.00016 0 14.532 4.7752 21 4 19 6 0 0.00016 0 13.6707 4.2645 21 4 15 5 +4 0 0 0.00016 0 15.1915 5.0203 21 4 19 6 0 0.00016 0 13.975 4.4155 21 4 15 5 +5 0 0 0.0002 0 15.8877 5.2489 28 6 14 5 0 0.0002 0 14.2937 4.5545 28 6 17 5 +6 0 0 0.00068 0 16.6425 5.4634 20 5 27 7 0 0.00068 0 14.6293 4.6843 20 5 17 5 +7 0 2e-05 0.00202 0 17.6311 5.6943 24 6 14 6 0 0.00202 0 15.0044 4.8107 24 6 17 5 +8 0 4e-05 0.0021 0 19.0261 5.9631 28 6 23 6 1e-05 0.0021 0 15.4512 4.9387 28 6 17 5 +9 0 0.00011 0.00256 0 20.838 6.2925 29 6 17 6 1e-05 0.00256 0 15.99 5.074 29 6 17 5 +10 0 0.00019 0.01102 0 23.3861 6.7358 29 7 25 8 2e-05 0.01102 0 16.6622 5.2251 29 7 17 5 +11 0 0.00032 0.02571 0 26.7843 7.3298 28 6 30 9 6e-05 0.02571 0 17.5057 5.4003 28 6 17 5 +12 0 0.00084 0.0298 0 30.6424 7.986 33 8 45 11 0.00015 0.0298 0 18.5164 5.5994 33 8 17 5 +13 0 0.00241 0.0409 0 33.7966 8.5226 36 8 39 9 0.00031 0.0409 0 19.6078 5.8083 36 8 17 5 +14 0 0.00473 0.15448 0 36.2347 8.9129 34 8 48 10 0.0006 0.15448 0 20.7163 6.0151 34 8 17 5 +15 0 0.00687 0.07172 0 33.7284 8.348 34 7 38 9 0.00097 0.07172 0 19.4558 5.5962 34 7 14 4 +16 0 0.00026 0.0067 0 31.0884 7.5484 26 6 32 8 7e-05 0.0067 0 17.8513 5.068 26 6 14 4 +17 0 0.00041 0.03178 0 32.9783 7.8806 28 6 32 8 0.0001 0.03178 0 18.6918 5.2243 28 6 14 4 +18 0 0.0021 0.09357 0 34.7295 8.2024 33 7 39 8 0.0002 0.09357 0 19.5358 5.381 33 7 14 4 +19 0 0.00037 0.00346 0 32.8002 7.5586 28 6 43 8 9e-05 0.00346 0 17.7451 4.8349 28 6 12 3 +20 0 0.00048 0.00393 0 34.4925 7.7532 28 6 41 8 0.00011 0.00393 0 18.5427 4.9737 28 6 12 3 +21 0 0.00059 0.00567 0 36.3035 7.9463 29 6 34 7 0.00014 0.00567 0 19.35 5.109 29 6 12 3 +22 0 0.00075 0.02742 0 37.9308 8.1041 43 8 38 7 0.00016 0.02742 0 20.1577 5.2391 43 8 12 3 +23 0 0.001 0.09135 0 39.1953 8.226 43 8 34 7 0.0002 0.09135 0 20.9509 5.3637 43 8 12 3 +24 0 0.00065 0.00371 0 34.9716 7.1174 40 7 40 7 0.00016 0.00371 0 18.318 4.618 40 7 10 3 +25 0 0.00073 0.00397 0 36.2799 7.2425 39 7 33 7 0.00019 0.00397 0 19.0089 4.7191 39 7 10 3 +26 0 0.00082 0.00665 0 37.4749 7.3423 31 5 46 7 0.00022 0.00665 0 19.6929 4.8162 31 5 10 3 +27 0 0.00091 0.00697 0 38.5907 7.4439 35 6 33 6 0.00024 0.00697 0 20.3678 4.9101 35 6 10 3 +28 0 0.00103 0.10366 0 39.59 7.5366 35 5 46 8 0.00026 0.10366 0 21.0306 5.0006 35 5 10 3 +29 0 0.0007 0.00372 0 33.6571 6.2907 30 5 35 6 0.00021 0.00372 0 18.1225 4.2044 30 5 9 2 +30 0 0.00073 0.00372 0 34.502 6.359 30 5 40 6 0.00022 0.00372 0 18.651 4.274 30 5 9 2 +31 0 0.00079 0.0038 0 35.8169 6.4289 32 5 26 6 0.00025 0.0038 0 19.1873 4.3413 32 5 9 2 +32 0 0.00095 0.00537 0 37.9798 6.4874 29 5 40 7 0.00026 0.00537 0 19.7568 4.4063 29 5 9 2 +33 0 0.00121 0.06364 0 40.78 6.5281 45 6 43 6 0.00029 0.06364 0 20.3751 4.4687 45 6 9 2 +34 0 0.00063 0.00333 0 31.8776 5.3021 27 4 29 5 0.00023 0.00333 0 16.342 3.5387 27 4 8 1 +35 0 0.00066 0.00399 0 32.9896 5.373 35 5 28 4 0.00023 0.00399 0 16.8044 3.5896 35 5 8 1 +36 0 0.00072 0.00675 0 34.1872 5.4552 31 5 34 6 0.00025 0.00675 0 17.2743 3.64 31 5 8 1 +37 0 0.00077 0.00758 0 35.084 5.5098 35 4 21 4 0.00026 0.00758 0 17.7429 3.6892 35 4 8 1 +38 0 0.00084 0.00803 0 35.7328 5.5478 35 4 38 5 0.00029 0.00803 0 18.2042 3.7369 35 4 8 1 +39 0 0.00098 0.00819 0 36.5969 5.5795 34 4 35 5 0.00029 0.00819 0 18.664 3.783 34 4 8 1 +40 0 0.00113 0.00832 0 37.4679 5.6359 35 4 21 3 0.00032 0.00832 0 19.1227 3.8282 35 4 8 1 +41 0 0.00132 0.01066 0 38.9106 5.725 44 5 41 5 0.00034 0.01066 0 19.5938 3.8733 44 5 8 1 +42 0 0.0015 0.01077 0 39.8449 5.7833 45 5 28 5 0.00037 0.01077 0 20.0646 3.9178 45 5 8 1 +43 0 0.00174 0.01099 0 40.3849 5.8175 44 5 32 5 0.00039 0.01099 0 20.5265 3.961 44 5 8 1 +44 0 0.00238 0.01698 0 41.2465 5.8517 46 5 41 6 0.00045 0.01698 0 20.987 4.0029 46 5 8 1 +45 0 0.00361 0.0176 0 42.7593 5.8827 51 6 40 5 0.00052 0.0176 0 21.4603 4.0438 51 6 8 1 +46 0 0.00439 0.01869 0 43.7159 5.9017 49 6 28 5 0.00061 0.01869 0 21.9339 4.0832 49 6 8 1 +47 0 0.00479 0.01889 0 44.1655 5.9252 50 6 25 4 0.00069 0.01889 0 22.397 4.1217 50 6 8 1 +48 0 0.00494 0.01983 0 44.3029 5.9265 52 6 40 5 0.00077 0.01983 0 22.8441 4.1586 52 6 8 1 +49 0 0.00517 0.02118 0 44.7421 5.9337 48 6 49 6 0.00086 0.02118 0 23.282 4.1941 48 6 8 1 +50 0 0.00557 0.02146 0 45.3866 5.9678 53 6 37 6 0.00095 0.02146 0 23.7153 4.2288 53 6 8 1 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.bst b/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.bst new file mode 100644 index 0000000..850e560 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.bst @@ -0,0 +1,53 @@ +=== BEST-OF-RUN === + generation: 50 + nodes: 154 + depth: 17 + hits: 23 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 23 + raw fitness: 30.8484 + standardized fitness: 30.8484 + adjusted fitness: 0.0314 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (cos (/ (cos (/ (exp x) + (- -0.23610 -0.83928))) + (cos (/ (log -0.05459) -0.77717))))) + (cos (cos (+ 0.54620 + (sin x))))) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (+ -0.61286 x)) + (* (* (- x + (log (- x + (sin 0.30758)))) x) + (* x x)))) + (+ -0.54716 0.14114)) + (+ (exp (* (exp 0.39910) + (* (/ (+ 0.11577 -0.66588) + (- (/ (+ (/ x 0.47925) + (exp -0.07459)) + (exp -0.07459)) + (sin (- (+ (sin (* (- 0.55916 x) + (sin x))) + (+ (sin (* 0.03078 x)) x)) + (sin 0.30758))))) -0.00914))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin (- (- x 0.31687) + (sin 0.30758))) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +TREE-equ: +y = (((x * x) * ((((sin((x - ((log(exp((-0.17329 * -0.71716))) - sin((-0.40024 + -0.40477))) - (((exp(x) + cos((cos((exp(x) / (-0.23610 - -0.83928))) / cos((log(-0.05459) / -0.77717))))) / cos(cos((0.54620 + sin(x))))) * 0.18996)))) * (((0.11577 + -0.66588) / (-0.61286 + x)) / (((x - log((x - sin(0.30758)))) * x) * (x * x)))) * (-0.54716 + 0.14114)) + (exp((exp(0.39910) * (((0.11577 + -0.66588) / ((((x / 0.47925) + exp(-0.07459)) / exp(-0.07459)) - sin(((sin(((0.55916 - x) * sin(x))) + (sin((0.03078 * x)) + x)) - sin(0.30758))))) * -0.00914))) + x)) * x)) - ((x / (((x - log(exp(x))) - cos(exp(log(0.54620)))) - ((x / (x - log(exp(((sin(((x - 0.31687) - sin(0.30758))) + exp(x)) / 0.74068))))) * cos(cos(sin((x * 0.67751))))))) * x)) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.fn b/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.fn new file mode 100644 index 0000000..f1b2eb7 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.fn @@ -0,0 +1,2 @@ + +y = (((x * x) * ((((sin((x - ((log(exp((-0.17329 * -0.71716))) - sin((-0.40024 + -0.40477))) - (((exp(x) + cos((cos((exp(x) / (-0.23610 - -0.83928))) / cos((log(-0.05459) / -0.77717))))) / cos(cos((0.54620 + sin(x))))) * 0.18996)))) * (((0.11577 + -0.66588) / (-0.61286 + x)) / (((x - log((x - sin(0.30758)))) * x) * (x * x)))) * (-0.54716 + 0.14114)) + (exp((exp(0.39910) * (((0.11577 + -0.66588) / ((((x / 0.47925) + exp(-0.07459)) / exp(-0.07459)) - sin(((sin(((0.55916 - x) * sin(x))) + (sin((0.03078 * x)) + x)) - sin(0.30758))))) * -0.00914))) + x)) * x)) - ((x / (((x - log(exp(x))) - cos(exp(log(0.54620)))) - ((x / (x - log(exp(((sin(((x - 0.31687) - sin(0.30758))) + exp(x)) / 0.74068))))) * cos(cos(sin((x * 0.67751))))))) * x)) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.gen b/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.his b/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.his new file mode 100644 index 0000000..ff2bd35 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.his @@ -0,0 +1,1688 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 20 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 10454.2342 + standardized fitness: 10454.2342 + adjusted fitness: 0.0001 +TREE: + (+ (exp (+ (log x) + (* -0.99248 x))) + (- (+ (sin x) + (* 0.42743 0.89713)) + (+ (exp 0.43602) + (log -0.11879)))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 13 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8130.7996 + standardized fitness: 8130.7996 + adjusted fitness: 0.0001 +TREE: + (- (/ (* x x) 0.09171) + (* (/ x x) + (* x 0.60372))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 14 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8078.5305 + standardized fitness: 8078.5305 + adjusted fitness: 0.0001 +TREE: + (- (/ (* x x) 0.09171) + (* (/ x x) + (cos (log (exp x))))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 15 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8016.9452 + standardized fitness: 8016.9452 + adjusted fitness: 0.0001 +TREE: + (- (/ (* x x) 0.09171) + (* (/ x x) + (cos (log (+ -0.26174 x))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 10 + depth: 3 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 8012.0400 + standardized fitness: 8012.0400 + adjusted fitness: 0.0001 +TREE: + (- (/ (* x x) 0.09171) + (* (log -0.31625) x)) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 20 + depth: 7 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 8001.7607 + standardized fitness: 8001.7607 + adjusted fitness: 0.0001 +TREE: + (- (/ (* x x) 0.09171) + (* (/ x + (log (cos (cos (sin 0.06164))))) + (cos (log (exp (log (log x))))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 7809.2784 + standardized fitness: 7809.2784 + adjusted fitness: 0.0001 +TREE: + (- (/ (* x x) 0.09171) + (* (+ 0.36322 + (/ x -0.67595)) + (* x 0.60372))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 9 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7782.8645 + standardized fitness: 7782.8645 + adjusted fitness: 0.0001 +TREE: + (exp (log (* (/ x -0.41256) + (* x x)))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 16 + depth: 5 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 5987.8143 + standardized fitness: 5987.8143 + adjusted fitness: 0.0002 +TREE: + (- (/ (* x x) 0.09171) + (* (+ 0.36322 + (/ (exp x) -0.67595)) + (* x 0.60372))) +=== BEST-OF-RUN === + current generation: 9 + generation: 8 + nodes: 16 + depth: 5 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 5987.8143 + standardized fitness: 5987.8143 + adjusted fitness: 0.0002 +TREE: + (- (/ (* x x) 0.09171) + (* (+ 0.36322 + (/ (exp x) -0.67595)) + (* x 0.60372))) +=== BEST-OF-RUN === + current generation: 10 + generation: 8 + nodes: 16 + depth: 5 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 5987.8143 + standardized fitness: 5987.8143 + adjusted fitness: 0.0002 +TREE: + (- (/ (* x x) 0.09171) + (* (+ 0.36322 + (/ (exp x) -0.67595)) + (* x 0.60372))) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 10 + depth: 3 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 5317.0279 + standardized fitness: 5317.0279 + adjusted fitness: 0.0002 +TREE: + (+ (sin -0.88880) + (* (* x x) + (* x x))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 33 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3403.7116 + standardized fitness: 3403.7116 + adjusted fitness: 0.0003 +TREE: + (* (- (log (sin (sin (+ (exp (+ -0.83510 x)) + (sin (* (cos x) + (/ (cos -0.00756) + (sin -0.49529)))))))) x) + (+ (* -0.77941 + (/ x + (sin (/ (sin 0.78927) + (* x x))))) x)) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 28 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3301.2066 + standardized fitness: 3301.2066 + adjusted fitness: 0.0003 +TREE: + (* (- (log (* (* (* x 0.71739) + (cos 0.79034)) + (/ (cos x) x))) x) + (+ (* -0.77941 + (/ x + (sin (/ (sin 0.78927) + (* x x))))) x)) +=== BEST-OF-RUN === + current generation: 14 + generation: 13 + nodes: 28 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3301.2066 + standardized fitness: 3301.2066 + adjusted fitness: 0.0003 +TREE: + (* (- (log (* (* (* x 0.71739) + (cos 0.79034)) + (/ (cos x) x))) x) + (+ (* -0.77941 + (/ x + (sin (/ (sin 0.78927) + (* x x))))) x)) +=== BEST-OF-RUN === + current generation: 15 + generation: 13 + nodes: 28 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3301.2066 + standardized fitness: 3301.2066 + adjusted fitness: 0.0003 +TREE: + (* (- (log (* (* (* x 0.71739) + (cos 0.79034)) + (/ (cos x) x))) x) + (+ (* -0.77941 + (/ x + (sin (/ (sin 0.78927) + (* x x))))) x)) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 17 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2036.8984 + standardized fitness: 2036.8984 + adjusted fitness: 0.0005 +TREE: + (* (- -0.67515 x) + (+ (* -0.77941 + (/ x + (sin (/ (sin 0.78927) + (* x x))))) x)) +=== BEST-OF-RUN === + current generation: 17 + generation: 16 + nodes: 17 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2036.8984 + standardized fitness: 2036.8984 + adjusted fitness: 0.0005 +TREE: + (* (- -0.67515 x) + (+ (* -0.77941 + (/ x + (sin (/ (sin 0.78927) + (* x x))))) x)) +=== BEST-OF-RUN === + current generation: 18 + generation: 16 + nodes: 17 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2036.8984 + standardized fitness: 2036.8984 + adjusted fitness: 0.0005 +TREE: + (* (- -0.67515 x) + (+ (* -0.77941 + (/ x + (sin (/ (sin 0.78927) + (* x x))))) x)) +=== BEST-OF-RUN === + current generation: 19 + generation: 16 + nodes: 17 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2036.8984 + standardized fitness: 2036.8984 + adjusted fitness: 0.0005 +TREE: + (* (- -0.67515 x) + (+ (* -0.77941 + (/ x + (sin (/ (sin 0.78927) + (* x x))))) x)) +=== BEST-OF-RUN === + current generation: 20 + generation: 16 + nodes: 17 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2036.8984 + standardized fitness: 2036.8984 + adjusted fitness: 0.0005 +TREE: + (* (- -0.67515 x) + (+ (* -0.77941 + (/ x + (sin (/ (sin 0.78927) + (* x x))))) x)) +=== BEST-OF-RUN === + current generation: 21 + generation: 16 + nodes: 17 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2036.8984 + standardized fitness: 2036.8984 + adjusted fitness: 0.0005 +TREE: + (* (- -0.67515 x) + (+ (* -0.77941 + (/ x + (sin (/ (sin 0.78927) + (* x x))))) x)) +=== BEST-OF-RUN === + current generation: 22 + generation: 22 + nodes: 25 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1710.5322 + standardized fitness: 1710.5322 + adjusted fitness: 0.0006 +TREE: + (* (- (log (sin (sin (+ (exp (+ -0.83510 x)) 0.41211)))) x) + (+ (* -0.77941 + (/ x + (sin (/ (sin 0.78927) + (* x x))))) x)) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 54 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 855.9099 + standardized fitness: 855.9099 + adjusted fitness: 0.0012 +TREE: + (- (* (* (- x + (log (- (/ 0.20211 x) + (sin 0.30758)))) x) + (* x x)) + (* (* (sin (- x + (log (+ 0.49154 + (* x + (* (exp -0.52584) -0.00914)))))) + (/ (/ (+ 0.11577 -0.66588) + (- (/ (+ (/ x 0.47925) + (exp -0.07459)) + (- x -0.45102)) + (sin (cos (/ -0.35990 -0.90051))))) + (cos -0.41401))) x)) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 64 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 805.3728 + standardized fitness: 805.3728 + adjusted fitness: 0.0012 +TREE: + (- (* (* (- x + (log (- (/ 0.20211 x) + (sin 0.30758)))) x) + (* x x)) + (* (* (sin (- x + (log (+ 0.49154 + (* x + (* (- (+ x + (log (cos (sin -0.05849)))) + (exp (exp (log (sin -0.72325))))) -0.00914)))))) + (/ (/ (+ 0.11577 -0.66588) + (- (/ (+ (/ x 0.47925) + (exp -0.07459)) + (- x -0.45102)) + (sin (cos (/ -0.35990 -0.90051))))) + (cos -0.41401))) x)) +=== BEST-OF-RUN === + current generation: 25 + generation: 25 + nodes: 39 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 485.5535 + standardized fitness: 485.5535 + adjusted fitness: 0.0021 +TREE: + (- (* (* x x) + (* (+ x + (sin 0.96319)) x)) + (* (* x + (/ -0.66955 x)) + (- (+ (* (exp (log -0.06364)) + (* (+ -0.84541 0.97834) + (sin -0.58419))) + (- (+ (sin x) + (exp x)) x)) + (- x x)))) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 38 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 384.3522 + standardized fitness: 384.3522 + adjusted fitness: 0.0026 +TREE: + (- (* (* x x) + (* (+ x + (sin 0.96319)) x)) + (* (* x + (/ -0.66955 x)) + (- (+ (* (exp (log -0.06364)) + (* (+ -0.84541 0.97834) + (sin -0.58419))) + (- (+ x + (exp x)) x)) + (- x x)))) +=== BEST-OF-RUN === + current generation: 27 + generation: 27 + nodes: 61 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 334.5899 + standardized fitness: 334.5899 + adjusted fitness: 0.0030 +TREE: + (- (* (* (- x + (log (- (/ 0.20211 x) + (sin 0.30758)))) x) + (* x x)) + (* (* (sin (- x + (log (+ 0.49154 + (* x + (sin (log -0.17855))))))) + (/ (/ (+ 0.95150 -0.69300) + (- (/ (- (/ (* (* (cos 0.22200) 0.04628) x) 0.09171) + (/ (+ x -0.34451) x)) + (- x -0.45102)) + (sin (cos (/ -0.35990 -0.90051))))) + (cos -0.41401))) x)) +=== BEST-OF-RUN === + current generation: 28 + generation: 28 + nodes: 106 + depth: 14 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 204.1017 + standardized fitness: 204.1017 + adjusted fitness: 0.0049 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (cos x)) + (cos (+ (+ 0.20025 x) + (sin x)))) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (- (/ (+ (* x x) 0.20211) + (- x -0.45102)) + (sin (cos (/ -0.35990 -0.90051))))) + (cos -0.41401))) + (+ -0.54716 0.14114)) + (+ (exp (log (- -0.25044 0.80152))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin 0.69455) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 29 + generation: 28 + nodes: 106 + depth: 14 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 204.1017 + standardized fitness: 204.1017 + adjusted fitness: 0.0049 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (cos x)) + (cos (+ (+ 0.20025 x) + (sin x)))) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (- (/ (+ (* x x) 0.20211) + (- x -0.45102)) + (sin (cos (/ -0.35990 -0.90051))))) + (cos -0.41401))) + (+ -0.54716 0.14114)) + (+ (exp (log (- -0.25044 0.80152))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin 0.69455) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 30 + generation: 28 + nodes: 106 + depth: 14 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 204.1017 + standardized fitness: 204.1017 + adjusted fitness: 0.0049 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (cos x)) + (cos (+ (+ 0.20025 x) + (sin x)))) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (- (/ (+ (* x x) 0.20211) + (- x -0.45102)) + (sin (cos (/ -0.35990 -0.90051))))) + (cos -0.41401))) + (+ -0.54716 0.14114)) + (+ (exp (log (- -0.25044 0.80152))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin 0.69455) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 31 + generation: 28 + nodes: 106 + depth: 14 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 204.1017 + standardized fitness: 204.1017 + adjusted fitness: 0.0049 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (cos x)) + (cos (+ (+ 0.20025 x) + (sin x)))) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (- (/ (+ (* x x) 0.20211) + (- x -0.45102)) + (sin (cos (/ -0.35990 -0.90051))))) + (cos -0.41401))) + (+ -0.54716 0.14114)) + (+ (exp (log (- -0.25044 0.80152))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin 0.69455) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 32 + generation: 32 + nodes: 82 + depth: 12 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 149.1012 + standardized fitness: 149.1012 + adjusted fitness: 0.0067 +TREE: + (- (* (* (- x + (log (- (/ 0.20211 x) + (sin 0.30758)))) x) + (* x x)) + (* (* (+ (* (/ x + (sin (/ (sin 0.78927) + (* x x)))) + (log (+ (/ (- -0.64801 x) x) 0.09171))) + (- (log (* (log 0.74684) + (cos 0.42745))) + (sin x))) + (/ (/ (+ 0.11577 -0.66588) + (- -0.07459 + (sin (cos (/ -0.35990 -0.90051))))) + (* (cos -0.41401) + (exp (- (exp (cos 0.66202)) + (exp (/ (- 0.07118 + (* x + (/ x x))) + (- (+ x x) + (sin 0.29721))))))))) x)) +=== BEST-OF-RUN === + current generation: 33 + generation: 33 + nodes: 118 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 144.8298 + standardized fitness: 144.8298 + adjusted fitness: 0.0069 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (cos (/ (cos (/ (exp x) + (- -0.23610 -0.83928))) + (cos (/ (log -0.05459) -0.77717))))) + (cos (+ (+ 0.20025 x) + (sin x)))) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (- (- x + (log (- (/ 0.20211 x) + (sin 0.30758)))) + (sin (cos (/ -0.35990 -0.90051))))) + (cos -0.41401))) + (+ -0.54716 0.14114)) + (+ (exp (log (- -0.25044 0.80152))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin 0.69455) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 34 + generation: 34 + nodes: 105 + depth: 14 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 132.8672 + standardized fitness: 132.8672 + adjusted fitness: 0.0075 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) x) + (cos (+ (+ 0.20025 x) + (sin x)))) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (- (- x + (log (- (/ 0.20211 x) + (sin 0.30758)))) + (sin (cos (/ -0.35990 -0.90051))))) + (cos -0.41401))) + (+ -0.54716 0.14114)) + (+ (exp (log (- -0.25044 0.80152))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin 0.69455) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 35 + generation: 35 + nodes: 97 + depth: 15 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 73.6429 + standardized fitness: 73.6429 + adjusted fitness: 0.0134 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (+ 0.49154 + (sin (cos x)))) + (cos (+ (+ 0.20025 x) + (sin (exp x))))) 0.18996)))) + (- x x)) + (+ -0.54716 0.14114)) + (+ (exp (/ (log (sin (exp 0.43795))) + (cos (exp (+ -0.65449 -0.86857))))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin 0.69455) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 36 + generation: 36 + nodes: 105 + depth: 15 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 73.5964 + standardized fitness: 73.5964 + adjusted fitness: 0.0134 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (+ 0.49154 + (sin (cos x)))) + (cos (+ (+ 0.20025 x) + (sin (exp x))))) 0.18996)))) + (- x x)) + (+ -0.54716 0.14114)) + (+ (exp (/ (log (sin (exp 0.43795))) + (cos (cos (+ (exp (- 0.96272 x)) + (- (- 0.36198 0.13696) + (cos x))))))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin 0.69455) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 37 + generation: 37 + nodes: 140 + depth: 17 + hits: 12 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 12 + raw fitness: 68.6738 + standardized fitness: 68.6738 + adjusted fitness: 0.0144 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (cos (/ (cos (/ (exp x) + (- -0.23610 -0.83928))) + (cos (/ (log -0.05459) -0.77717))))) + (cos (+ (+ 0.20025 x) + (sin x)))) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (- -0.62087 + (sin (cos (/ -0.35990 -0.90051))))) + (* (* (- x + (log (- (/ 0.20211 x) + (sin 0.30758)))) x) + (* x x)))) + (+ -0.54716 0.14114)) + (+ (exp (* x + (* (/ (+ 0.11577 -0.66588) + (+ (/ x + (* (+ -0.55340 0.14814) + (cos -0.25712))) + (- x + (log 0.48880)))) -0.00914))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin 0.69455) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 38 + generation: 38 + nodes: 135 + depth: 17 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 60.7568 + standardized fitness: 60.7568 + adjusted fitness: 0.0162 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (cos (/ (cos (/ (exp x) + (- -0.23610 -0.83928))) + (cos (/ (log -0.05459) -0.77717))))) + (cos -0.42734)) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (- -0.62087 + (sin (cos (/ -0.35990 -0.90051))))) + (* (* (- x + (log (- (/ 0.20211 x) + (sin 0.30758)))) x) + (* x x)))) + (+ -0.54716 0.14114)) + (+ (exp (* x + (* (/ (+ 0.11577 -0.66588) + (+ (/ x + (* (+ -0.55340 0.14814) + (cos -0.25712))) + (- x + (log 0.48880)))) -0.00914))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin 0.69455) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 39 + generation: 39 + nodes: 126 + depth: 17 + hits: 14 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 14 + raw fitness: 59.4664 + standardized fitness: 59.4664 + adjusted fitness: 0.0165 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- 0.70100 + (* (/ (+ (exp x) + (cos (/ (cos (/ (exp x) + (- -0.23610 -0.83928))) + (cos (/ (log -0.05459) -0.77717))))) + (cos -0.42734)) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (- -0.62087 + (sin (cos (/ -0.35990 -0.90051))))) + (* (* (- x + (log (- (/ 0.20211 x) + (sin 0.30758)))) x) + (* x x)))) + (+ -0.54716 0.14114)) + (+ (exp (* x + (* (/ (+ 0.11577 -0.66588) + (+ (/ x + (* (+ -0.55340 0.14814) + (cos -0.25712))) + (- x + (log 0.48880)))) -0.00914))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin 0.69455) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 40 + generation: 40 + nodes: 129 + depth: 14 + hits: 9 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 9 + raw fitness: 56.5551 + standardized fitness: 56.5551 + adjusted fitness: 0.0174 +TREE: + (- (* (* x x) + (* (+ (* (* (* (log x) + (/ (sin x) + (* (log -0.23712) + (/ 0.69669 x)))) + (/ (/ (+ 0.11577 -0.66588) + (- (/ (+ (* (cos (- x -0.08109)) -0.23059) + (/ (exp (- x -0.56145)) + (+ -0.00426 -0.39516))) + (- x -0.45102)) + (sin (cos (/ -0.35990 -0.90051))))) + (* (* (- x + (log (- (/ 0.20211 x) + (sin 0.30758)))) x) + (* x x)))) + (+ -0.54716 0.14114)) + (+ (exp (* x + (* (/ (+ 0.11577 -0.66588) + (- (/ (+ (/ x 0.47925) + (exp -0.07459)) + (exp -0.07459)) + (sin (exp 0.23424)))) -0.00914))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin 0.69455) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 41 + generation: 41 + nodes: 159 + depth: 17 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 51.2800 + standardized fitness: 51.2800 + adjusted fitness: 0.0191 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp (+ (cos (* x 0.83244)) + (* (sin x) 0.91218))) + (cos (/ (cos (/ (exp x) + (- -0.23610 -0.83928))) + (cos (/ (log -0.05459) -0.77717))))) + (cos (cos (log (/ -0.37917 + (exp x)))))) 0.18996)))) + (/ (/ (* x 0.67751) + (- -0.62087 + (sin (cos (/ -0.35990 -0.90051))))) + (* (* (- x + (log (- (/ 0.20211 x) + (sin 0.30758)))) x) + (* x x)))) + (+ -0.54716 0.14114)) + (+ (exp (* x + (* (/ (+ 0.11577 -0.66588) + (- (/ (+ (/ x 0.47925) + (+ (sin (exp 0.51527)) + (exp (+ (cos x) 0.64877)))) + (exp -0.07459)) + (sin (- (- x 0.31687) + (sin 0.30758))))) -0.00914))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin 0.69455) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 42 + generation: 42 + nodes: 162 + depth: 17 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 50.5953 + standardized fitness: 50.5953 + adjusted fitness: 0.0194 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (cos (/ (cos (/ (exp x) + (- -0.23610 -0.83928))) + (cos (/ (log -0.05459) -0.77717))))) + (cos (+ (+ 0.20025 x) + (sin x)))) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (+ -0.61286 x)) + (* (* (- x + (log (- x + (sin 0.30758)))) x) + (* x x)))) + (+ -0.54716 0.14114)) + (+ (exp (* (sin (/ (+ (sin (+ (- (log (sin x)) + (* (* -0.08484 0.11291) + (sin x))) x)) 0.20211) + (- x -0.45102))) + (* (/ (+ 0.11577 -0.66588) + (- (/ (+ (/ x 0.47925) + (exp -0.07459)) + (exp -0.07459)) + (sin (- (- x 0.31687) + (sin 0.30758))))) -0.00914))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin (- (- x 0.31687) + (sin 0.30758))) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 43 + generation: 42 + nodes: 162 + depth: 17 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 50.5953 + standardized fitness: 50.5953 + adjusted fitness: 0.0194 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (cos (/ (cos (/ (exp x) + (- -0.23610 -0.83928))) + (cos (/ (log -0.05459) -0.77717))))) + (cos (+ (+ 0.20025 x) + (sin x)))) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (+ -0.61286 x)) + (* (* (- x + (log (- x + (sin 0.30758)))) x) + (* x x)))) + (+ -0.54716 0.14114)) + (+ (exp (* (sin (/ (+ (sin (+ (- (log (sin x)) + (* (* -0.08484 0.11291) + (sin x))) x)) 0.20211) + (- x -0.45102))) + (* (/ (+ 0.11577 -0.66588) + (- (/ (+ (/ x 0.47925) + (exp -0.07459)) + (exp -0.07459)) + (sin (- (- x 0.31687) + (sin 0.30758))))) -0.00914))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin (- (- x 0.31687) + (sin 0.30758))) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 44 + generation: 44 + nodes: 174 + depth: 17 + hits: 9 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 9 + raw fitness: 45.0013 + standardized fitness: 45.0013 + adjusted fitness: 0.0217 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (* (* (- x + (log (- (/ 0.20211 x) + (sin 0.30758)))) x) + (* x x)))) + (* (/ (+ (exp x) + (cos (/ (cos (/ (exp x) + (- -0.23610 -0.83928))) + (cos (/ (log -0.05459) -0.77717))))) + (cos (+ (+ 0.20025 x) + (sin x)))) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (+ -0.61286 x)) + (* (* (- x + (log (- x + (sin 0.30758)))) x) + (* x x)))) + (+ -0.54716 0.14114)) + (+ (exp (* (sin (/ (+ (sin (+ (- (log (sin x)) + (* (* -0.08484 0.11291) + (sin x))) x)) 0.20211) + (- x -0.45102))) + (* (/ (+ 0.11577 -0.66588) + (- (/ (+ (/ x 0.47925) + (exp -0.07459)) + (exp -0.07459)) + (sin (- (- x 0.31687) + (sin 0.30758))))) -0.00914))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin (- (- x 0.31687) + (sin 0.30758))) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 45 + generation: 45 + nodes: 148 + depth: 17 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 41.4486 + standardized fitness: 41.4486 + adjusted fitness: 0.0236 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (* (* (- x + (log (- (/ 0.20211 x) + (sin 0.30758)))) x) + (* x x)))) 0.11577))) + (/ (/ (+ 0.11577 -0.66588) + (+ -0.61286 x)) + (* (* (- x + (log (- x + (sin 0.30758)))) x) + (* x x)))) + (+ -0.54716 0.14114)) + (+ (exp (* (sin (/ (+ (sin (+ (- (log (sin x)) + (* (* -0.08484 0.11291) + (sin x))) x)) 0.20211) + (- x -0.45102))) + (* (/ (+ 0.11577 -0.66588) + (- (/ (+ (/ x 0.47925) + (exp -0.07459)) + (exp -0.07459)) + (sin (- (- x 0.31687) + (sin 0.30758))))) -0.00914))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin (- (- x 0.31687) + (sin 0.30758))) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 46 + generation: 46 + nodes: 143 + depth: 17 + hits: 24 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 24 + raw fitness: 32.4072 + standardized fitness: 32.4072 + adjusted fitness: 0.0299 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (cos (/ (cos (/ (exp x) + (- -0.23610 -0.83928))) + (cos (/ (log -0.05459) -0.77717))))) + (cos (cos (+ 0.54620 + (sin x))))) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (+ -0.61286 x)) + (* (* (- x + (log (- x + (sin 0.30758)))) x) + (* x x)))) + (+ -0.54716 0.14114)) + (+ (exp (* (exp 0.39910) + (* (/ (+ 0.11577 -0.66588) + (- (/ (+ (/ x 0.47925) + (exp -0.07459)) + (exp -0.07459)) + (sin (- (- x 0.31687) + (sin 0.30758))))) -0.00914))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin (- (- x 0.31687) + (sin 0.30758))) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 47 + generation: 46 + nodes: 143 + depth: 17 + hits: 24 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 24 + raw fitness: 32.4072 + standardized fitness: 32.4072 + adjusted fitness: 0.0299 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (cos (/ (cos (/ (exp x) + (- -0.23610 -0.83928))) + (cos (/ (log -0.05459) -0.77717))))) + (cos (cos (+ 0.54620 + (sin x))))) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (+ -0.61286 x)) + (* (* (- x + (log (- x + (sin 0.30758)))) x) + (* x x)))) + (+ -0.54716 0.14114)) + (+ (exp (* (exp 0.39910) + (* (/ (+ 0.11577 -0.66588) + (- (/ (+ (/ x 0.47925) + (exp -0.07459)) + (exp -0.07459)) + (sin (- (- x 0.31687) + (sin 0.30758))))) -0.00914))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin (- (- x 0.31687) + (sin 0.30758))) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 48 + generation: 46 + nodes: 143 + depth: 17 + hits: 24 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 24 + raw fitness: 32.4072 + standardized fitness: 32.4072 + adjusted fitness: 0.0299 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (cos (/ (cos (/ (exp x) + (- -0.23610 -0.83928))) + (cos (/ (log -0.05459) -0.77717))))) + (cos (cos (+ 0.54620 + (sin x))))) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (+ -0.61286 x)) + (* (* (- x + (log (- x + (sin 0.30758)))) x) + (* x x)))) + (+ -0.54716 0.14114)) + (+ (exp (* (exp 0.39910) + (* (/ (+ 0.11577 -0.66588) + (- (/ (+ (/ x 0.47925) + (exp -0.07459)) + (exp -0.07459)) + (sin (- (- x 0.31687) + (sin 0.30758))))) -0.00914))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin (- (- x 0.31687) + (sin 0.30758))) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 49 + generation: 49 + nodes: 143 + depth: 17 + hits: 26 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 26 + raw fitness: 31.1448 + standardized fitness: 31.1448 + adjusted fitness: 0.0311 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (cos (/ (cos (/ (exp x) + (- -0.23610 -0.83928))) + (cos (/ (log -0.05459) -0.77717))))) + (cos (cos (+ 0.54620 + (sin x))))) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (+ -0.61286 x)) + (* (* (- x + (log (- x + (sin 0.30758)))) x) + (* x x)))) + (+ -0.54716 0.14114)) + (+ (exp (* (exp 0.39910) + (* (/ (+ 0.11577 -0.66588) + (- (/ (+ (/ x 0.47925) + (exp -0.07459)) + (exp -0.07459)) + (sin (- (sin (log -0.75297)) + (sin 0.30758))))) -0.00914))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin (- (- x 0.31687) + (sin 0.30758))) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) +=== BEST-OF-RUN === + current generation: 50 + generation: 50 + nodes: 154 + depth: 17 + hits: 23 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 23 + raw fitness: 30.8484 + standardized fitness: 30.8484 + adjusted fitness: 0.0314 +TREE: + (- (* (* x x) + (* (+ (* (* (sin (- x + (- (- (log (exp (* -0.17329 -0.71716))) + (sin (+ -0.40024 -0.40477))) + (* (/ (+ (exp x) + (cos (/ (cos (/ (exp x) + (- -0.23610 -0.83928))) + (cos (/ (log -0.05459) -0.77717))))) + (cos (cos (+ 0.54620 + (sin x))))) 0.18996)))) + (/ (/ (+ 0.11577 -0.66588) + (+ -0.61286 x)) + (* (* (- x + (log (- x + (sin 0.30758)))) x) + (* x x)))) + (+ -0.54716 0.14114)) + (+ (exp (* (exp 0.39910) + (* (/ (+ 0.11577 -0.66588) + (- (/ (+ (/ x 0.47925) + (exp -0.07459)) + (exp -0.07459)) + (sin (- (+ (sin (* (- 0.55916 x) + (sin x))) + (+ (sin (* 0.03078 x)) x)) + (sin 0.30758))))) -0.00914))) x)) x)) + (* (/ x + (- (- (- x + (log (exp x))) + (cos (exp (log 0.54620)))) + (* (/ x + (- x + (log (exp (/ (+ (sin (- (- x 0.31687) + (sin 0.30758))) + (exp x)) 0.74068))))) + (cos (cos (sin (* x 0.67751))))))) x)) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.prg b/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.prg new file mode 100644 index 0000000..c072fa7 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -0.56534, y = -0.32427 + x = 2.05767, y = 32.93077 + x = 3.74249, y = 266.34116 + x = 4.92481, y = 736.86657 + x = 1.19767, y = 6.40759 + x = 3.80580, y = 283.20446 + x = 1.32794, y = 8.54277 + x = -2.29918, y = 18.77720 + x = 2.96080, y = 114.53062 + x = -3.29319, y = 89.45279 + x = 2.85135, y = 100.26393 + x = 0.01723, y = 0.01753 + x = 2.43276, y = 57.77579 + x = 2.66798, y = 79.44448 + x = -4.05373, y = 215.79922 + x = -2.82888, y = 46.57646 + x = -1.67560, y = 4.31040 + x = -0.45671, y = -0.29988 + x = 2.44491, y = 58.76851 + x = -4.20056, y = 250.66184 + x = 1.27741, y = 7.65629 + x = -2.50219, y = 27.29213 + x = 2.17363, y = 39.49022 + x = 0.71989, y = 1.87978 + x = -3.94839, y = 193.12758 + x = 1.60111, y = 14.84097 + x = 3.50581, y = 209.94765 + x = 1.85232, y = 23.41126 + x = -0.44446, y = -0.29569 + x = -2.31168, y = 19.23588 + x = -0.89093, y = -0.17431 + x = -0.98058, y = -0.03736 + x = -3.40550, y = 103.19701 + x = -3.44476, y = 108.35531 + x = -4.24700, y = 262.52156 + x = -0.62531, y = -0.32591 + x = -1.01029, y = 0.02100 + x = 0.23233, y = 0.30177 + x = -0.81082, y = -0.25424 + x = 1.39192, y = 9.77980 + x = 2.48576, y = 62.20444 + x = -4.93215, y = 491.17328 + x = -3.95621, y = 194.74751 + x = 0.56441, y = 1.16424 + x = 2.84632, y = 99.64221 + x = -0.90616, y = -0.15486 + x = 3.04677, y = 126.78223 + x = 2.29586, y = 47.45134 + x = -3.61887, y = 133.59450 + x = -0.92558, y = -0.12789 + x = -1.14140, y = 0.37166 + x = -1.45352, y = 2.05188 + x = -0.87884, y = -0.18873 + x = -2.85275, y = 48.29903 + x = -1.39489, y = 1.62258 + x = -4.58476, y = 361.90525 + x = 0.46317, y = 0.82308 + x = 2.18725, y = 40.32232 + x = 4.17181, y = 397.08151 + x = -3.17702, y = 76.72718 + x = -0.18391, y = -0.15516 + x = -3.90439, y = 184.20823 + x = 3.51164, y = 211.21597 + x = -3.43112, y = 106.54259 + x = -0.77895, y = -0.27666 + x = 2.78350, y = 92.12733 + x = -1.02656, y = 0.05599 + x = -3.13165, y = 72.14407 + x = 4.82166, y = 680.65378 + x = 1.85243, y = 23.41562 + x = -0.87565, y = -0.19238 + x = 1.02854, y = 4.29365 + x = -1.83785, y = 6.74087 + x = -1.62951, y = 3.74958 + x = 1.94084, y = 27.20785 + x = -2.26907, y = 17.70596 + x = 3.37665, y = 183.27785 + x = 0.02637, y = 0.02709 + x = -2.88522, y = 50.71864 + x = -4.36363, y = 294.15730 + x = -3.86206, y = 175.92142 + x = -3.68143, y = 143.65967 + x = 2.68051, y = 80.75151 + x = -2.26744, y = 17.64895 + x = 2.87222, y = 102.87386 + x = -1.98654, y = 9.69380 + x = 0.50778, y = 0.96304 + x = -4.97437, y = 508.96731 + x = 2.33419, y = 50.18586 + x = -2.03051, y = 10.71952 + x = -4.59875, y = 366.55320 + x = -2.87864, y = 50.22132 + x = 0.41067, y = 0.67703 + x = 2.33676, y = 50.37308 + x = -2.73243, y = 40.07682 + x = -3.54278, y = 122.07664 + x = 1.90569, y = 25.64728 + x = 2.67330, y = 79.99728 + x = 3.62357, y = 236.73548 + x = 0.11539, y = 0.13042 + x = 0.71720, y = 1.86505 + x = -1.97961, y = 9.53878 + x = 0.18108, y = 0.22088 + x = -4.25524, y = 264.66832 + x = -2.06352, y = 11.53946 + x = -2.45997, y = 25.32503 + x = 0.86597, y = 2.82765 + x = -3.61140, y = 132.42926 + x = -0.72497, y = -0.30418 + x = -4.40835, y = 307.01846 + x = -0.09254, y = -0.08470 + x = 0.43754, y = 0.74941 + x = 4.85306, y = 697.40955 + x = 1.20232, y = 6.47557 + x = -3.57827, y = 127.35190 + x = -2.30526, y = 18.99942 + x = 0.68493, y = 1.69548 + x = -3.82512, y = 168.92032 + x = 4.30131, y = 444.67841 + x = -2.23617, y = 16.58698 + x = -4.12219, y = 231.56823 + x = 1.30015, y = 8.04567 + x = -1.75521, y = 5.40931 + x = -0.29373, y = -0.22535 + x = -3.86477, y = 176.44301 + x = -3.89604, y = 182.55091 + x = -4.15254, y = 238.82818 + x = -2.58260, y = 31.34843 + x = -4.56599, y = 355.73912 + x = -0.59919, y = -0.32639 + x = 1.86495, y = 23.92615 + x = 1.98805, y = 29.41867 + x = -4.24866, y = 262.95101 + x = -3.47687, y = 112.71617 + x = 0.72892, y = 1.92983 + x = 0.70040, y = 1.77517 + x = -3.53449, y = 120.86863 + x = -3.52181, y = 119.03755 + x = -3.68917, y = 144.94255 + x = 0.17749, y = 0.21557 + x = 2.32853, y = 49.77450 + x = -0.66710, y = -0.32091 + x = -4.27568, y = 270.05173 + x = -0.42964, y = -0.29028 + x = -2.90831, y = 52.49321 + x = -0.89890, y = -0.16431 + x = 3.87657, y = 302.99529 + x = -4.29559, y = 275.37390 + x = 1.20152, y = 6.46393 + x = -3.83639, y = 171.03417 + x = -4.39024, y = 301.75948 + x = -0.51170, y = -0.31529 + x = 2.23929, y = 43.62659 + x = -0.77724, y = -0.27773 + x = 3.25044, y = 159.78524 + x = 3.72915, y = 262.88802 + x = -2.73095, y = 39.98255 + x = -1.34205, y = 1.28583 + x = 0.01584, y = 0.01609 + x = 2.23608, y = 43.41745 + x = -3.92548, y = 188.44344 + x = -0.61222, y = -0.32639 + x = -4.92223, y = 487.06147 + x = 4.09754, y = 371.58325 + x = -1.73688, y = 5.14091 + x = -4.42544, y = 312.04324 + x = -0.28677, y = -0.22136 + x = 0.28270, y = 0.39159 + x = -0.88937, y = -0.17622 + x = 2.32063, y = 49.20522 + x = -1.18183, y = 0.51505 + x = -0.01947, y = -0.01910 + x = -0.02664, y = -0.02595 + x = 3.13770, y = 140.80090 + x = -2.84593, y = 47.80253 + x = 1.38951, y = 9.73076 + x = 4.06086, y = 359.45708 + x = 4.02203, y = 346.94752 + x = 1.45582, y = 11.15267 + x = -2.59392, y = 31.95316 + x = 3.83491, y = 291.22129 + x = 2.18951, y = 40.46162 + x = 2.40156, y = 55.28374 + x = -1.80207, y = 6.13926 + x = -1.67372, y = 4.28640 + x = -2.52283, y = 28.29395 + x = 1.91028, y = 25.84665 + x = -3.34620, y = 95.75693 + x = 3.26001, y = 161.48088 + x = 0.15436, y = 0.18243 + x = -4.01283, y = 206.77269 + x = 1.18281, y = 6.19400 + x = 2.36756, y = 52.66387 + x = -1.00980, y = 0.01999 + x = -3.64068, y = 137.04109 + x = -2.65200, y = 35.19369 + x = 4.35954, y = 467.43277 + x = -2.41338, y = 23.27820 + x = -2.58371, y = 31.40700 + x = 0.70218, y = 1.78455 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.stt b/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.stt new file mode 100644 index 0000000..b33b514 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.033 3.655 20 4 5 3 0.0000 0.0001 0.0000 13.033 3.655 20 4 5 3 +1 0 0.0000 0.0001 0.0000 13.200 4.120 13 3 6 4 0.0000 0.0001 0.0000 13.117 3.888 13 3 5 3 +2 0 0.0000 0.0001 0.0000 13.981 4.505 14 5 10 5 0.0000 0.0001 0.0000 13.405 4.093 14 5 5 3 +3 0 0.0000 0.0001 0.0000 14.893 4.860 15 5 19 10 0.0000 0.0001 0.0000 13.777 4.285 15 5 5 3 +4 0 0.0000 0.0001 0.0000 15.178 5.006 10 3 9 4 0.0000 0.0001 0.0000 14.057 4.429 10 3 5 3 +5 0 0.0000 0.0001 0.0000 15.894 5.254 20 7 10 5 0.0000 0.0001 0.0000 14.363 4.567 20 7 5 3 +6 0 0.0000 0.0001 0.0000 16.372 5.434 15 4 26 7 0.0000 0.0001 0.0000 14.650 4.690 15 4 5 3 +7 0 0.0001 0.0001 0.0000 17.162 5.598 9 4 7 5 0.0000 0.0001 0.0000 14.964 4.804 9 4 5 3 +8 0 0.0001 0.0002 0.0000 18.195 5.850 16 5 38 8 0.0000 0.0002 0.0000 15.323 4.920 16 5 5 3 +9 0 0.0001 0.0002 0.0000 18.803 6.003 16 5 6 3 0.0000 0.0002 0.0000 15.671 5.028 16 5 5 3 +10 0 0.0001 0.0002 0.0000 18.880 6.059 16 5 14 7 0.0000 0.0002 0.0000 15.963 5.122 16 5 5 3 +11 0 0.0001 0.0002 0.0000 19.630 6.272 10 3 8 5 0.0001 0.0002 0.0000 16.268 5.218 10 3 5 3 +12 0 0.0001 0.0003 0.0000 21.231 6.574 33 10 24 11 0.0001 0.0003 0.0000 16.650 5.322 33 10 5 3 +13 0 0.0001 0.0003 0.0000 23.295 6.980 28 7 6 3 0.0001 0.0003 0.0000 17.125 5.441 28 7 5 3 +14 0 0.0001 0.0003 0.0000 25.822 7.410 28 7 16 8 0.0001 0.0003 0.0000 17.705 5.572 28 7 5 3 +15 0 0.0001 0.0003 0.0000 28.909 7.959 28 7 31 14 0.0001 0.0003 0.0000 18.405 5.721 28 7 5 3 +16 0 0.0001 0.0005 0.0000 31.407 8.370 17 7 38 12 0.0001 0.0005 0.0000 19.170 5.877 17 7 5 3 +17 0 0.0001 0.0005 0.0000 33.619 8.743 17 7 16 5 0.0001 0.0005 0.0000 19.973 6.036 17 7 5 3 +18 0 0.0001 0.0005 0.0000 35.489 9.006 17 7 46 13 0.0001 0.0005 0.0000 20.789 6.193 17 7 5 3 +19 0 0.0001 0.0005 0.0000 37.211 9.214 17 7 97 15 0.0001 0.0005 0.0000 21.610 6.344 17 7 5 3 +20 0 0.0001 0.0005 0.0000 38.997 9.466 17 7 54 16 0.0001 0.0005 0.0000 22.438 6.492 17 7 5 3 +21 0 0.0001 0.0005 0.0000 40.451 9.605 17 7 14 5 0.0001 0.0005 0.0000 23.257 6.634 17 7 5 3 +22 0 0.0001 0.0006 0.0000 42.308 9.847 25 8 44 9 0.0001 0.0006 0.0000 24.085 6.773 25 8 5 3 +23 0 0.0001 0.0012 0.0000 42.972 9.967 54 10 30 11 0.0001 0.0012 0.0000 24.872 6.907 54 10 5 3 +24 0 0.0001 0.0012 0.0000 43.877 10.052 64 14 19 8 0.0001 0.0012 0.0000 25.632 7.032 64 14 5 3 +25 0 0.0001 0.0021 0.0000 45.139 10.163 39 7 31 10 0.0001 0.0021 0.0000 26.383 7.153 39 7 5 3 +26 0 0.0002 0.0026 0.0000 46.757 10.299 38 7 95 15 0.0001 0.0026 0.0000 27.137 7.269 38 7 5 3 +27 0 0.0004 0.0030 0.0000 48.043 10.284 61 12 61 11 0.0001 0.0030 0.0000 27.884 7.377 61 12 5 3 +28 0 0.0005 0.0049 0.0000 50.389 10.372 106 14 58 13 0.0001 0.0049 0.0000 28.660 7.480 106 14 5 3 +29 0 0.0006 0.0049 0.0000 53.924 10.691 106 14 45 11 0.0001 0.0049 0.0000 29.502 7.587 106 14 5 3 +30 0 0.0007 0.0049 0.0000 57.115 11.028 106 14 38 10 0.0001 0.0049 0.0000 30.393 7.698 106 14 5 3 +31 0 0.0007 0.0049 0.0000 59.697 11.299 106 14 54 17 0.0002 0.0049 0.0000 31.309 7.811 106 14 5 3 +32 0 0.0008 0.0067 0.0000 63.500 11.610 82 12 132 17 0.0002 0.0067 0.0000 32.284 7.926 82 12 5 3 +33 0 0.0009 0.0069 0.0000 68.121 11.974 118 17 62 11 0.0002 0.0069 0.0000 33.338 8.045 118 17 5 3 +34 0 0.0010 0.0075 0.0000 72.349 12.276 105 14 59 15 0.0002 0.0075 0.0000 34.453 8.166 105 14 5 3 +35 0 0.0012 0.0134 0.0000 78.718 12.835 97 15 59 12 0.0002 0.0134 0.0000 35.682 8.296 97 15 5 3 +36 0 0.0015 0.0134 0.0000 85.245 13.439 105 15 63 15 0.0003 0.0134 0.0000 37.022 8.435 105 15 5 3 +37 0 0.0018 0.0144 0.0000 90.635 13.866 140 17 39 7 0.0003 0.0144 0.0000 38.433 8.577 140 17 5 3 +38 0 0.0021 0.0162 0.0000 95.764 14.227 135 17 137 14 0.0004 0.0162 0.0000 39.903 8.722 135 17 5 3 +39 0 0.0027 0.0165 0.0000 101.128 14.588 126 17 149 17 0.0004 0.0165 0.0000 41.433 8.869 126 17 5 3 +40 0 0.0035 0.0174 0.0000 104.925 14.774 129 14 52 11 0.0005 0.0174 0.0000 42.982 9.013 129 14 5 3 +41 0 0.0044 0.0191 0.0000 111.146 15.008 159 17 150 17 0.0006 0.0191 0.0000 44.605 9.156 159 17 5 3 +42 0 0.0054 0.0194 0.0000 114.678 15.145 162 17 106 14 0.0007 0.0194 0.0000 46.234 9.295 162 17 5 3 +43 0 0.0060 0.0194 0.0000 116.795 15.224 162 17 71 15 0.0008 0.0194 0.0000 47.838 9.430 162 17 5 3 +44 0 0.0063 0.0217 0.0000 119.377 15.332 174 17 117 17 0.0009 0.0217 0.0000 49.428 9.561 174 17 5 3 +45 0 0.0065 0.0236 0.0000 120.875 15.408 148 17 111 17 0.0011 0.0236 0.0000 50.981 9.688 148 17 5 3 +46 0 0.0065 0.0299 0.0000 121.753 15.491 143 17 102 13 0.0012 0.0299 0.0000 52.487 9.811 143 17 5 3 +47 0 0.0067 0.0299 0.0000 123.061 15.533 143 17 73 12 0.0013 0.0299 0.0000 53.957 9.931 143 17 5 3 +48 0 0.0068 0.0299 0.0000 124.064 15.562 143 17 92 13 0.0014 0.0299 0.0000 55.388 10.046 143 17 5 3 +49 0 0.0071 0.0311 0.0000 126.758 15.675 143 17 141 17 0.0015 0.0311 0.0000 56.815 10.158 143 17 5 3 +50 0 0.0073 0.0314 0.0000 127.999 15.693 154 17 119 17 0.0016 0.0314 0.0000 58.211 10.267 154 17 5 3 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.sys b/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.sys new file mode 100644 index 0000000..e6b811a --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_0/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 118. +creating initial population(s): + 5656 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 299142401 + freed: 298139801 + not freed: 1002600 + max allocated: 14351844 + malloc'ed blocks: 749919 + realloc'ed blocks: 12 + free'ed blocks: 749769 + +------- time ------- + overall: 6s wall + evaluation: 3s wall + breeding: 3s wall + +------- generation spaces ------- + space 0 size: 400 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 144272 + freed: 144272 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.bst b/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.bst new file mode 100644 index 0000000..c89b714 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.bst @@ -0,0 +1,46 @@ +=== BEST-OF-RUN === + generation: 49 + nodes: 128 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 735.0516 + standardized fitness: 735.0516 + adjusted fitness: 0.0014 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (- (+ (sin (cos (+ -0.75061 x))) + (* (exp (log (* (* x x) + (+ 0.35008 -0.03020)))) x)) + (exp x)))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +TREE-equ: +y = ((exp(log((sin(x) + (((x + -0.17074) - x) - x)))) + ((log(log(((sin(cos((-0.75061 + x))) + (exp(log(((x * x) * (0.35008 + -0.03020)))) * x)) - exp(x)))) * log(((x - x) - log(x)))) * cos((cos(-0.07573) + exp(log((((-0.56768 * x) * (0.26423 * -0.54991)) / ((0.26423 * -0.54991) * sin(-0.75485))))))))) * (((x - (log(0.78317) + (sin(x) + (-0.55885 / x)))) - sin(-0.59498)) * (log(((0.03604 - sin(((x * (cos(((0.14274 + 0.58370) + cos(x))) - (0.93881 / x))) / (exp(cos(exp(((0.26423 * -0.54991) * sin(-0.75485))))) - -0.40575)))) / exp(x))) * (sin(log((0.24275 + -0.54283))) - (((x / 0.99992) / (x * 0.67701)) - -0.79553))))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.fn b/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.fn new file mode 100644 index 0000000..4432517 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.fn @@ -0,0 +1,2 @@ + +y = ((exp(log((sin(x) + (((x + -0.17074) - x) - x)))) + ((log(log(((sin(cos((-0.75061 + x))) + (exp(log(((x * x) * (0.35008 + -0.03020)))) * x)) - exp(x)))) * log(((x - x) - log(x)))) * cos((cos(-0.07573) + exp(log((((-0.56768 * x) * (0.26423 * -0.54991)) / ((0.26423 * -0.54991) * sin(-0.75485))))))))) * (((x - (log(0.78317) + (sin(x) + (-0.55885 / x)))) - sin(-0.59498)) * (log(((0.03604 - sin(((x * (cos(((0.14274 + 0.58370) + cos(x))) - (0.93881 / x))) / (exp(cos(exp(((0.26423 * -0.54991) * sin(-0.75485))))) - -0.40575)))) / exp(x))) * (sin(log((0.24275 + -0.54283))) - (((x / 0.99992) / (x * 0.67701)) - -0.79553))))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.gen b/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.his b/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.his new file mode 100644 index 0000000..5772ca9 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.his @@ -0,0 +1,1879 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 14 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 10157.6724 + standardized fitness: 10157.6724 + adjusted fitness: 0.0001 +TREE: + (exp (+ (log (* (/ x -0.91470) + (log 0.60853))) + (exp (log (- x 0.40825))))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 39 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9280.4274 + standardized fitness: 9280.4274 + adjusted fitness: 0.0001 +TREE: + (+ (sin (* (+ (cos (- -0.67953 x)) + (/ (log x) + (cos x))) + (/ (cos (exp -0.10268)) + (* (log x) + (* x -0.09767))))) + (exp (log (/ (* (* -0.56768 x) + (* x x)) + (* (* 0.26423 -0.54991) + (sin -0.75485)))))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 38 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9251.7838 + standardized fitness: 9251.7838 + adjusted fitness: 0.0001 +TREE: + (+ (sin (* (+ (cos (log 0.25384)) + (/ (log x) + (cos x))) + (/ (cos (exp -0.10268)) + (* (log x) + (* x -0.09767))))) + (exp (log (/ (* (* -0.56768 x) + (* x x)) + (* (* 0.26423 -0.54991) + (sin -0.75485)))))) +=== BEST-OF-RUN === + current generation: 3 + generation: 2 + nodes: 38 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9251.7838 + standardized fitness: 9251.7838 + adjusted fitness: 0.0001 +TREE: + (+ (sin (* (+ (cos (log 0.25384)) + (/ (log x) + (cos x))) + (/ (cos (exp -0.10268)) + (* (log x) + (* x -0.09767))))) + (exp (log (/ (* (* -0.56768 x) + (* x x)) + (* (* 0.26423 -0.54991) + (sin -0.75485)))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 31 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8292.3564 + standardized fitness: 8292.3564 + adjusted fitness: 0.0001 +TREE: + (+ (* (- (* x + (+ 0.91147 x)) + (cos (cos (log -0.89565)))) + (+ -0.46283 -0.93653)) + (exp (log (/ (* (* -0.56768 x) + (* x x)) + (* (* 0.26423 -0.54991) + (sin -0.75485)))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 28 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8282.2959 + standardized fitness: 8282.2959 + adjusted fitness: 0.0001 +TREE: + (+ (* (- (* x + (+ 0.91147 x)) 0.49547) + (+ -0.46283 -0.93653)) + (exp (log (/ (* (* -0.56768 x) + (* x x)) + (* (* 0.26423 -0.54991) + (sin -0.75485)))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 5 + nodes: 28 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8282.2959 + standardized fitness: 8282.2959 + adjusted fitness: 0.0001 +TREE: + (+ (* (- (* x + (+ 0.91147 x)) 0.49547) + (+ -0.46283 -0.93653)) + (exp (log (/ (* (* -0.56768 x) + (* x x)) + (* (* 0.26423 -0.54991) + (sin -0.75485)))))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 35 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6595.3105 + standardized fitness: 6595.3105 + adjusted fitness: 0.0002 +TREE: + (+ (sin (* (+ (cos (log 0.25384)) + (/ 0.46352 0.93558)) + (/ (cos (exp -0.10268)) + (* (log x) + (* x -0.09767))))) + (exp (log (/ (* (* -0.56768 x) + (* x x)) + (* (* 0.26423 -0.54991) 0.84474))))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 46 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6197.7849 + standardized fitness: 6197.7849 + adjusted fitness: 0.0002 +TREE: + (+ (* (cos (cos (log (- (log x) + (- x + (+ (sin 0.48492) + (sin (log 0.06303)))))))) + (+ -0.46283 -0.93653)) + (exp (log (/ (* (* -0.56768 x) + (* (log (- (+ (* 0.21980 -0.12932) + (* x x)) + (exp (cos -0.37604)))) x)) + (* (* 0.26423 -0.54991) + (sin -0.75485)))))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 57 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3509.5203 + standardized fitness: 3509.5203 + adjusted fitness: 0.0003 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* (+ (+ (sin 0.55758) -0.20655) + (/ (cos x) + (- x -0.04780))) + (log x))) + (* (- (- x + (+ (log 0.78317) + (cos x))) + (sin -0.59498)) + (* (log (/ (log x) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 45 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3433.4310 + standardized fitness: 3433.4310 + adjusted fitness: 0.0003 +TREE: + (+ (* (cos (cos (log (- (log x) + (- x + (+ (sin 0.48492) + (sin (log 0.06303)))))))) + (+ -0.46283 -0.93653)) + (exp (log (/ (* (* -0.56768 x) + (* (log (- (+ (* 0.21980 -0.12932) + (* x x)) + (exp x))) x)) + (* (* 0.26423 -0.54991) + (sin -0.75485)))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 47 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3031.1323 + standardized fitness: 3031.1323 + adjusted fitness: 0.0003 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* 0.66485 + (log x))) + (* (- (- x + (+ (log 0.78317) + (cos x))) + (sin -0.59498)) + (* (log (/ (log x) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 11 + nodes: 47 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3031.1323 + standardized fitness: 3031.1323 + adjusted fitness: 0.0003 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* 0.66485 + (log x))) + (* (- (- x + (+ (log 0.78317) + (cos x))) + (sin -0.59498)) + (* (log (/ (log x) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 13 + generation: 11 + nodes: 47 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3031.1323 + standardized fitness: 3031.1323 + adjusted fitness: 0.0003 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* 0.66485 + (log x))) + (* (- (- x + (+ (log 0.78317) + (cos x))) + (sin -0.59498)) + (* (log (/ (log x) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 48 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2274.7175 + standardized fitness: 2274.7175 + adjusted fitness: 0.0004 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* 0.66485 + (log x))) + (* (- (- x + (+ (log 0.78317) + (cos x))) + (sin -0.59498)) + (* (log (/ (log x) + (exp x))) + (- (sin (log (+ 0.24275 + (exp x)))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 55 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2002.1615 + standardized fitness: 2002.1615 + adjusted fitness: 0.0005 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (/ (+ x 0.06596) + (- (* 0.26423 -0.54991) + (- -0.31247 x)))) + (* (- (- x + (+ (log 0.78317) + (cos x))) + (sin -0.59498)) + (* (log (/ (log x) + (exp x))) + (- (sin (log (+ 0.24275 + (exp x)))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 15 + nodes: 55 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2002.1615 + standardized fitness: 2002.1615 + adjusted fitness: 0.0005 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (/ (+ x 0.06596) + (- (* 0.26423 -0.54991) + (- -0.31247 x)))) + (* (- (- x + (+ (log 0.78317) + (cos x))) + (sin -0.59498)) + (* (log (/ (log x) + (exp x))) + (- (sin (log (+ 0.24275 + (exp x)))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 17 + generation: 15 + nodes: 55 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2002.1615 + standardized fitness: 2002.1615 + adjusted fitness: 0.0005 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (/ (+ x 0.06596) + (- (* 0.26423 -0.54991) + (- -0.31247 x)))) + (* (- (- x + (+ (log 0.78317) + (cos x))) + (sin -0.59498)) + (* (log (/ (log x) + (exp x))) + (- (sin (log (+ 0.24275 + (exp x)))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 18 + generation: 15 + nodes: 55 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2002.1615 + standardized fitness: 2002.1615 + adjusted fitness: 0.0005 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (/ (+ x 0.06596) + (- (* 0.26423 -0.54991) + (- -0.31247 x)))) + (* (- (- x + (+ (log 0.78317) + (cos x))) + (sin -0.59498)) + (* (log (/ (log x) + (exp x))) + (- (sin (log (+ 0.24275 + (exp x)))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 15 + nodes: 55 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2002.1615 + standardized fitness: 2002.1615 + adjusted fitness: 0.0005 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (/ (+ x 0.06596) + (- (* 0.26423 -0.54991) + (- -0.31247 x)))) + (* (- (- x + (+ (log 0.78317) + (cos x))) + (sin -0.59498)) + (* (log (/ (log x) + (exp x))) + (- (sin (log (+ 0.24275 + (exp x)))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 20 + generation: 15 + nodes: 55 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2002.1615 + standardized fitness: 2002.1615 + adjusted fitness: 0.0005 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (/ (+ x 0.06596) + (- (* 0.26423 -0.54991) + (- -0.31247 x)))) + (* (- (- x + (+ (log 0.78317) + (cos x))) + (sin -0.59498)) + (* (log (/ (log x) + (exp x))) + (- (sin (log (+ 0.24275 + (exp x)))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 21 + generation: 15 + nodes: 55 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2002.1615 + standardized fitness: 2002.1615 + adjusted fitness: 0.0005 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (/ (+ x 0.06596) + (- (* 0.26423 -0.54991) + (- -0.31247 x)))) + (* (- (- x + (+ (log 0.78317) + (cos x))) + (sin -0.59498)) + (* (log (/ (log x) + (exp x))) + (- (sin (log (+ 0.24275 + (exp x)))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 22 + generation: 22 + nodes: 118 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1788.2367 + standardized fitness: 1788.2367 + adjusted fitness: 0.0006 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* (* (log (log (* x + (log (- x x))))) + (log (- (- x x) + (log x)))) + (cos (+ (* (cos (exp (exp (sin (* x + (cos (/ (log -0.42924) x))))))) + (+ -0.46283 -0.93653)) + (exp (log (/ (* (* -0.56768 x) + (* (log (- (+ (* 0.21980 -0.12932) + (* x x)) + (exp x))) x)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (- (sin (cos (+ -0.51479 + (cos 0.92935)))) + (* -0.29167 0.28456)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 23 + generation: 22 + nodes: 118 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1788.2367 + standardized fitness: 1788.2367 + adjusted fitness: 0.0006 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* (* (log (log (* x + (log (- x x))))) + (log (- (- x x) + (log x)))) + (cos (+ (* (cos (exp (exp (sin (* x + (cos (/ (log -0.42924) x))))))) + (+ -0.46283 -0.93653)) + (exp (log (/ (* (* -0.56768 x) + (* (log (- (+ (* 0.21980 -0.12932) + (* x x)) + (exp x))) x)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (- (sin (cos (+ -0.51479 + (cos 0.92935)))) + (* -0.29167 0.28456)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 24 + generation: 22 + nodes: 118 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1788.2367 + standardized fitness: 1788.2367 + adjusted fitness: 0.0006 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* (* (log (log (* x + (log (- x x))))) + (log (- (- x x) + (log x)))) + (cos (+ (* (cos (exp (exp (sin (* x + (cos (/ (log -0.42924) x))))))) + (+ -0.46283 -0.93653)) + (exp (log (/ (* (* -0.56768 x) + (* (log (- (+ (* 0.21980 -0.12932) + (* x x)) + (exp x))) x)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (- (sin (cos (+ -0.51479 + (cos 0.92935)))) + (* -0.29167 0.28456)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 25 + generation: 22 + nodes: 118 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1788.2367 + standardized fitness: 1788.2367 + adjusted fitness: 0.0006 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* (* (log (log (* x + (log (- x x))))) + (log (- (- x x) + (log x)))) + (cos (+ (* (cos (exp (exp (sin (* x + (cos (/ (log -0.42924) x))))))) + (+ -0.46283 -0.93653)) + (exp (log (/ (* (* -0.56768 x) + (* (log (- (+ (* 0.21980 -0.12932) + (* x x)) + (exp x))) x)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (- (sin (cos (+ -0.51479 + (cos 0.92935)))) + (* -0.29167 0.28456)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 101 + depth: 12 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 1711.5055 + standardized fitness: 1711.5055 + adjusted fitness: 0.0006 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* (* (log (log (* x + (/ 0.78605 0.22949)))) + (log (- (- x x) -0.63306))) + (cos (+ (* (cos (exp (exp 0.21980))) + (+ -0.46283 -0.93653)) + (exp (* (* -0.56768 x) + (* (log (- (+ (* 0.21980 -0.12932) + (* x x)) + (exp x))) x))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (- (sin (cos (+ -0.51479 + (cos 0.92935)))) + (* -0.29167 0.28456)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 27 + generation: 26 + nodes: 101 + depth: 12 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 1711.5055 + standardized fitness: 1711.5055 + adjusted fitness: 0.0006 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* (* (log (log (* x + (/ 0.78605 0.22949)))) + (log (- (- x x) -0.63306))) + (cos (+ (* (cos (exp (exp 0.21980))) + (+ -0.46283 -0.93653)) + (exp (* (* -0.56768 x) + (* (log (- (+ (* 0.21980 -0.12932) + (* x x)) + (exp x))) x))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (- (sin (cos (+ -0.51479 + (cos 0.92935)))) + (* -0.29167 0.28456)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 28 + generation: 28 + nodes: 99 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1656.1357 + standardized fitness: 1656.1357 + adjusted fitness: 0.0006 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* (* (log (log (* x + (sin (/ (log 0.77361) + (* (- -0.27607 -0.28930) + (/ -0.44979 x))))))) + (log (- (- x x) + (sin -0.75485)))) + (cos (+ (* (log x) + (+ -0.46283 -0.93653)) + (exp (* (* -0.56768 x) + (* (log x) x))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (- (sin (cos (+ -0.51479 + (cos 0.92935)))) + (* -0.29167 0.28456)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 29 + generation: 29 + nodes: 88 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1429.3232 + standardized fitness: 1429.3232 + adjusted fitness: 0.0007 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* (* (log (log (* x + (log (- x x))))) + (log (- (- (exp (exp x)) x) + (log x)))) + (cos x))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (- (sin (cos (+ -0.51479 + (cos 0.92935)))) + (sin (+ (- (+ 0.89050 -0.68555) + (cos -0.60275)) + (sin (+ -0.67593 x))))))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 30 + generation: 29 + nodes: 88 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1429.3232 + standardized fitness: 1429.3232 + adjusted fitness: 0.0007 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* (* (log (log (* x + (log (- x x))))) + (log (- (- (exp (exp x)) x) + (log x)))) + (cos x))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (- (sin (cos (+ -0.51479 + (cos 0.92935)))) + (sin (+ (- (+ 0.89050 -0.68555) + (cos -0.60275)) + (sin (+ -0.67593 x))))))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 31 + generation: 29 + nodes: 88 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1429.3232 + standardized fitness: 1429.3232 + adjusted fitness: 0.0007 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* (* (log (log (* x + (log (- x x))))) + (log (- (- (exp (exp x)) x) + (log x)))) + (cos x))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (- (sin (cos (+ -0.51479 + (cos 0.92935)))) + (sin (+ (- (+ 0.89050 -0.68555) + (cos -0.60275)) + (sin (+ -0.67593 x))))))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 32 + generation: 32 + nodes: 96 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1124.4653 + standardized fitness: 1124.4653 + adjusted fitness: 0.0009 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* (* (log (log (* x + (log (- x x))))) + (log (- (- (exp (exp x)) x) + (log x)))) + (cos x))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (- (sin (cos (+ -0.51479 + (cos 0.92935)))) + (sin (+ (- (+ 0.89050 -0.68555) + (cos (exp (log (* (sin 0.45870) + (* (sin x) -0.23324)))))) + (sin (+ -0.67593 x))))))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 33 + generation: 33 + nodes: 95 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1096.8885 + standardized fitness: 1096.8885 + adjusted fitness: 0.0009 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* (* (log (log (* x + (log (- x x))))) + (log (- (- (exp (exp x)) x) + (log x)))) + (cos x))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (- (sin (cos (+ -0.51479 + (cos 0.92935)))) + (sin (+ (- (+ 0.89050 -0.68555) + (cos (exp (log (* (sin 0.45870) + (exp (sin -0.84264))))))) + (sin (+ -0.67593 x))))))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 34 + generation: 33 + nodes: 95 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1096.8885 + standardized fitness: 1096.8885 + adjusted fitness: 0.0009 +TREE: + (* (+ (exp (log (+ (sin x) + (- -0.06854 x)))) + (* (* (log (log (* x + (log (- x x))))) + (log (- (- (exp (exp x)) x) + (log x)))) + (cos x))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (- (sin (cos (+ -0.51479 + (cos 0.92935)))) + (sin (+ (- (+ 0.89050 -0.68555) + (cos (exp (log (* (sin 0.45870) + (exp (sin -0.84264))))))) + (sin (+ -0.67593 x))))))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 35 + generation: 35 + nodes: 132 + depth: 16 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 972.4083 + standardized fitness: 972.4083 + adjusted fitness: 0.0010 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (* x + (- -0.81965 + (exp (log (/ (* (* -0.56768 x) + (* (log (- -0.76745 + (exp x))) x)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 36 + generation: 36 + nodes: 132 + depth: 16 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 873.6221 + standardized fitness: 873.6221 + adjusted fitness: 0.0011 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (* x + (- -0.81965 + (exp (log (/ (* (* -0.56768 x) + (* (log (- -0.76745 + (cos -0.57924))) x)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 37 + generation: 36 + nodes: 132 + depth: 16 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 873.6221 + standardized fitness: 873.6221 + adjusted fitness: 0.0011 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (* x + (- -0.81965 + (exp (log (/ (* (* -0.56768 x) + (* (log (- -0.76745 + (cos -0.57924))) x)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 38 + generation: 36 + nodes: 132 + depth: 16 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 873.6221 + standardized fitness: 873.6221 + adjusted fitness: 0.0011 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (* x + (- -0.81965 + (exp (log (/ (* (* -0.56768 x) + (* (log (- -0.76745 + (cos -0.57924))) x)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 39 + generation: 36 + nodes: 132 + depth: 16 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 873.6221 + standardized fitness: 873.6221 + adjusted fitness: 0.0011 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (* x + (- -0.81965 + (exp (log (/ (* (* -0.56768 x) + (* (log (- -0.76745 + (cos -0.57924))) x)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 40 + generation: 40 + nodes: 133 + depth: 16 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 837.0369 + standardized fitness: 837.0369 + adjusted fitness: 0.0012 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (* x + (- -0.81965 + (exp (log (/ (* (* -0.56768 x) + (* (log (- -0.76745 + (cos -0.57924))) + (exp -0.39391))) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 41 + generation: 41 + nodes: 120 + depth: 14 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 832.1125 + standardized fitness: 832.1125 + adjusted fitness: 0.0012 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (* x + (- -0.81965 + (exp (+ (log x) + (cos (exp (sin x))))))))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 42 + generation: 41 + nodes: 120 + depth: 14 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 832.1125 + standardized fitness: 832.1125 + adjusted fitness: 0.0012 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (* x + (- -0.81965 + (exp (+ (log x) + (cos (exp (sin x))))))))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 43 + generation: 41 + nodes: 120 + depth: 14 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 832.1125 + standardized fitness: 832.1125 + adjusted fitness: 0.0012 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (* x + (- -0.81965 + (exp (+ (log x) + (cos (exp (sin x))))))))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 44 + generation: 41 + nodes: 120 + depth: 14 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 832.1125 + standardized fitness: 832.1125 + adjusted fitness: 0.0012 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (* x + (- -0.81965 + (exp (+ (log x) + (cos (exp (sin x))))))))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 45 + generation: 41 + nodes: 120 + depth: 14 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 832.1125 + standardized fitness: 832.1125 + adjusted fitness: 0.0012 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (* x + (- -0.81965 + (exp (+ (log x) + (cos (exp (sin x))))))))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 46 + generation: 41 + nodes: 120 + depth: 14 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 832.1125 + standardized fitness: 832.1125 + adjusted fitness: 0.0012 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (* x + (- -0.81965 + (exp (+ (log x) + (cos (exp (sin x))))))))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 47 + generation: 47 + nodes: 133 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 737.2177 + standardized fitness: 737.2177 + adjusted fitness: 0.0014 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (- (+ (sin (cos (- (cos (exp (* x x))) + (exp 0.15539)))) + (* (exp (log (* (* x x) + (+ 0.35008 -0.03020)))) x)) + (exp x)))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 48 + generation: 47 + nodes: 133 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 737.2177 + standardized fitness: 737.2177 + adjusted fitness: 0.0014 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (- (+ (sin (cos (- (cos (exp (* x x))) + (exp 0.15539)))) + (* (exp (log (* (* x x) + (+ 0.35008 -0.03020)))) x)) + (exp x)))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 49 + generation: 49 + nodes: 128 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 735.0516 + standardized fitness: 735.0516 + adjusted fitness: 0.0014 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (- (+ (sin (cos (+ -0.75061 x))) + (* (exp (log (* (* x x) + (+ 0.35008 -0.03020)))) x)) + (exp x)))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) +=== BEST-OF-RUN === + current generation: 50 + generation: 49 + nodes: 128 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 735.0516 + standardized fitness: 735.0516 + adjusted fitness: 0.0014 +TREE: + (* (+ (exp (log (+ (sin x) + (- (- (+ x -0.17074) x) x)))) + (* (* (log (log (- (+ (sin (cos (+ -0.75061 x))) + (* (exp (log (* (* x x) + (+ 0.35008 -0.03020)))) x)) + (exp x)))) + (log (- (- x x) + (log x)))) + (cos (+ (cos -0.07573) + (exp (log (/ (* (* -0.56768 x) + (* 0.26423 -0.54991)) + (* (* 0.26423 -0.54991) + (sin -0.75485))))))))) + (* (- (- x + (+ (log 0.78317) + (+ (sin x) + (/ -0.55885 x)))) + (sin -0.59498)) + (* (log (/ (- 0.03604 + (sin (/ (* x + (- (cos (+ (+ 0.14274 0.58370) + (cos x))) + (/ 0.93881 x))) + (- (exp (cos (exp (* (* 0.26423 -0.54991) + (sin -0.75485))))) -0.40575)))) + (exp x))) + (- (sin (log (+ 0.24275 -0.54283))) + (- (/ (/ x 0.99992) + (* x 0.67701)) -0.79553))))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.prg b/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.prg new file mode 100644 index 0000000..c181f44 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -4.61714, y = 372.73010 + x = -2.04739, y = 11.13344 + x = -3.24088, y = 83.54208 + x = 2.26288, y = 45.19195 + x = 2.77922, y = 91.63097 + x = -1.43253, y = 1.89114 + x = -1.76164, y = 5.50564 + x = -1.05582, y = 0.12463 + x = 3.01652, y = 122.36365 + x = -1.46615, y = 2.15254 + x = -3.76450, y = 157.88825 + x = 3.58459, y = 227.59789 + x = -0.36755, y = -0.26386 + x = -4.60405, y = 368.32577 + x = 1.98001, y = 29.03257 + x = -4.70227, y = 402.34706 + x = 1.44089, y = 10.81915 + x = 2.46578, y = 60.50540 + x = -4.44452, y = 317.72362 + x = -0.03960, y = -0.03809 + x = 2.91738, y = 108.69715 + x = -0.83908, y = -0.23009 + x = -2.54851, y = 29.57804 + x = 1.85300, y = 23.43880 + x = 1.29147, y = 7.89522 + x = -0.30108, y = -0.22951 + x = -1.31373, y = 1.12348 + x = 2.65037, y = 77.63571 + x = 0.78873, y = 2.28849 + x = -3.28509, y = 88.51782 + x = -3.48759, y = 114.20090 + x = 4.44899, y = 504.08634 + x = -0.93573, y = -0.11280 + x = -0.68130, y = -0.31792 + x = -2.38166, y = 21.95638 + x = -0.86125, y = -0.20814 + x = 3.25473, y = 160.54407 + x = 3.30507, y = 169.65366 + x = -0.42776, y = -0.28957 + x = -3.17783, y = 76.81102 + x = -3.59020, y = 129.16392 + x = -0.06817, y = -0.06382 + x = -1.50727, y = 2.50166 + x = 4.50472, y = 527.99448 + x = -2.30218, y = 18.88675 + x = 4.21967, y = 414.19975 + x = -3.75495, y = 156.20046 + x = -0.48831, y = -0.30944 + x = 1.53100, y = 12.95782 + x = 3.07287, y = 130.69199 + x = 4.56060, y = 552.81914 + x = 3.59096, y = 229.07153 + x = -3.00106, y = 60.09147 + x = -0.72476, y = -0.30427 + x = -1.58274, y = 3.23283 + x = -4.06613, y = 218.59448 + x = 3.88834, y = 306.38534 + x = 2.44042, y = 58.40012 + x = -0.35545, y = -0.25805 + x = -1.35954, y = 1.39228 + x = 0.31274, y = 0.45070 + x = -0.06671, y = -0.06254 + x = 4.37195, y = 472.39207 + x = 1.19435, y = 6.35939 + x = -2.87594, y = 50.01820 + x = 1.30367, y = 8.10739 + x = 0.09186, y = 0.10115 + x = 0.12773, y = 0.14640 + x = 2.69813, y = 82.61730 + x = 2.76033, y = 89.46780 + x = 4.05268, y = 356.79220 + x = -3.07079, y = 66.32248 + x = -4.06522, y = 218.38849 + x = -2.51738, y = 28.02705 + x = 0.39980, y = 0.64909 + x = 4.32642, y = 454.38603 + x = -2.83802, y = 47.23066 + x = 3.17624, y = 147.08675 + x = -1.56426, y = 3.04238 + x = 0.35760, y = 0.54756 + x = 0.81058, y = 2.43192 + x = 1.24585, y = 7.14092 + x = -1.99418, y = 9.86667 + x = -2.85173, y = 48.22496 + x = 1.40217, y = 9.99057 + x = 1.57912, y = 14.22850 + x = -4.92296, y = 487.36152 + x = 2.86992, y = 102.58287 + x = -2.80536, y = 44.92398 + x = 1.31466, y = 8.30236 + x = 4.04689, y = 354.91798 + x = -1.87300, y = 7.37132 + x = -4.39306, y = 302.57570 + x = 1.81191, y = 21.82151 + x = -2.23051, y = 16.39972 + x = 4.48059, y = 517.53954 + x = -1.00295, y = 0.00593 + x = -3.98989, y = 201.83438 + x = -0.89508, y = -0.16915 + x = -1.62861, y = 3.73909 + x = 2.05769, y = 32.93188 + x = -1.93119, y = 8.50505 + x = -3.92406, y = 188.15594 + x = -3.82660, y = 169.19651 + x = -2.73772, y = 40.41424 + x = -1.68525, y = 4.43456 + x = 0.58513, y = 1.24507 + x = 4.85067, y = 696.12543 + x = 2.87307, y = 102.98061 + x = 1.83814, y = 22.84362 + x = -4.14318, y = 236.56973 + x = -3.98158, y = 200.06823 + x = 0.24578, y = 0.32468 + x = 3.32989, y = 174.28695 + x = -0.40643, y = -0.28109 + x = -2.81426, y = 45.54438 + x = -0.67364, y = -0.31961 + x = -2.43996, y = 24.43045 + x = -1.57514, y = 3.15360 + x = -2.35653, y = 20.94875 + x = -2.69338, y = 37.64733 + x = -0.91825, y = -0.13836 + x = -3.97719, y = 199.13990 + x = -0.67326, y = -0.31969 + x = -4.29736, y = 275.85057 + x = 0.98386, y = 3.84122 + x = -4.14673, y = 237.42579 + x = 4.76137, y = 649.33498 + x = -4.77967, y = 430.77807 + x = -2.91495, y = 53.01188 + x = -1.25871, y = 0.84158 + x = -2.68869, y = 37.36302 + x = -4.69682, y = 400.40149 + x = 1.59760, y = 14.74192 + x = -0.49923, y = -0.31231 + x = -0.20784, y = -0.17175 + x = -3.99993, y = 203.98431 + x = -0.32406, y = -0.24205 + x = 2.55469, y = 68.34887 + x = -0.78356, y = -0.27372 + x = -2.74724, y = 41.02786 + x = 2.51701, y = 64.93454 + x = -0.55494, y = -0.32304 + x = 4.55117, y = 548.56789 + x = -0.99195, y = -0.01584 + x = -0.03486, y = -0.03369 + x = -2.89581, y = 51.52646 + x = 1.28020, y = 7.70330 + x = 1.10927, y = 5.21872 + x = 1.78563, y = 20.83391 + x = 3.62732, y = 237.63003 + x = -0.76432, y = -0.28537 + x = -4.21022, y = 253.09420 + x = -2.98013, y = 58.30909 + x = 4.63011, y = 584.91089 + x = -0.25361, y = -0.20147 + x = -2.23436, y = 16.52710 + x = -0.52166, y = -0.31744 + x = 1.67263, y = 16.97690 + x = 2.47012, y = 60.87158 + x = -2.68532, y = 37.15976 + x = -4.09081, y = 224.23594 + x = -2.70402, y = 38.29809 + x = -1.34337, y = 1.29370 + x = -0.41462, y = -0.28443 + x = -1.66018, y = 4.11687 + x = 1.57336, y = 14.07161 + x = 0.69461, y = 1.74502 + x = -0.67816, y = -0.31864 + x = 4.62843, y = 584.12228 + x = -4.91846, y = 485.50479 + x = 3.04615, y = 126.69148 + x = 1.45077, y = 11.03896 + x = 1.63923, y = 15.95138 + x = -0.98385, y = -0.03127 + x = 3.07094, y = 130.39962 + x = -1.70803, y = 4.73744 + x = 4.00294, y = 340.92054 + x = -0.30337, y = -0.23079 + x = 0.95626, y = 3.58127 + x = -1.78177, y = 5.81512 + x = 1.37492, y = 9.43819 + x = -1.91126, y = 8.10371 + x = -2.24979, y = 17.04380 + x = 4.77037, y = 653.93849 + x = -2.16790, y = 14.43136 + x = -4.98467, y = 513.37867 + x = 1.64654, y = 16.17171 + x = -2.98778, y = 58.95593 + x = -3.83904, y = 171.53466 + x = 3.21880, y = 154.27162 + x = 0.30546, y = 0.43598 + x = -4.64590, y = 382.54465 + x = 2.92626, y = 109.87161 + x = -0.86510, y = -0.20404 + x = -0.79339, y = -0.26710 + x = -3.93377, y = 190.12865 + x = 2.80583, y = 94.74692 + x = 0.53502, y = 1.05636 + x = 0.93711, y = 3.40943 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.stt b/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.stt new file mode 100644 index 0000000..93894d7 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.015 3.685 14 5 29 5 0.0000 0.0001 0.0000 13.015 3.685 14 5 29 5 +1 0 0.0000 0.0001 0.0000 13.157 4.159 39 6 36 7 0.0000 0.0001 0.0000 13.086 3.922 39 6 29 5 +2 0 0.0000 0.0001 0.0000 13.788 4.498 38 6 21 5 0.0000 0.0001 0.0000 13.320 4.114 38 6 29 5 +3 0 0.0000 0.0001 0.0000 14.349 4.800 38 6 20 8 0.0000 0.0001 0.0000 13.577 4.286 38 6 29 5 +4 0 0.0000 0.0001 0.0000 14.924 5.048 31 6 7 5 0.0000 0.0001 0.0000 13.847 4.438 31 6 29 5 +5 0 0.0000 0.0001 0.0000 15.743 5.272 28 6 10 5 0.0000 0.0001 0.0000 14.163 4.577 28 6 29 5 +6 0 0.0000 0.0001 0.0000 16.341 5.457 28 6 33 8 0.0000 0.0001 0.0000 14.474 4.703 28 6 29 5 +7 0 0.0000 0.0002 0.0000 17.288 5.697 35 6 18 8 0.0000 0.0002 0.0000 14.826 4.827 35 6 29 5 +8 0 0.0000 0.0002 0.0000 18.073 5.896 46 10 15 4 0.0000 0.0002 0.0000 15.186 4.946 46 10 29 5 +9 0 0.0000 0.0003 0.0000 19.147 6.120 57 7 31 11 0.0000 0.0003 0.0000 15.582 5.063 57 7 29 5 +10 0 0.0000 0.0003 0.0000 20.173 6.322 45 10 28 7 0.0000 0.0003 0.0000 16.000 5.178 45 10 29 5 +11 0 0.0000 0.0003 0.0000 21.627 6.554 47 7 12 4 0.0000 0.0003 0.0000 16.469 5.292 47 7 29 5 +12 0 0.0001 0.0003 0.0000 23.327 6.785 47 7 45 16 0.0000 0.0003 0.0000 16.996 5.407 47 7 29 5 +13 0 0.0001 0.0003 0.0000 26.364 7.274 47 7 25 10 0.0000 0.0003 0.0000 17.665 5.541 47 7 29 5 +14 0 0.0001 0.0004 0.0000 29.935 7.759 48 8 34 10 0.0000 0.0004 0.0000 18.483 5.688 48 8 29 5 +15 0 0.0001 0.0005 0.0000 34.957 8.456 55 8 131 16 0.0000 0.0005 0.0000 19.513 5.861 55 8 29 5 +16 0 0.0001 0.0005 0.0000 40.476 9.290 55 8 40 12 0.0001 0.0005 0.0000 20.746 6.063 55 8 29 5 +17 0 0.0001 0.0005 0.0000 46.109 10.152 55 8 42 10 0.0001 0.0005 0.0000 22.155 6.290 55 8 29 5 +18 0 0.0001 0.0005 0.0000 50.048 10.763 55 8 103 17 0.0001 0.0005 0.0000 23.623 6.526 55 8 29 5 +19 0 0.0001 0.0005 0.0000 52.778 11.222 55 8 64 12 0.0001 0.0005 0.0000 25.081 6.761 55 8 29 5 +20 0 0.0001 0.0005 0.0000 55.249 11.565 55 8 56 9 0.0001 0.0005 0.0000 26.518 6.989 55 8 29 5 +21 0 0.0001 0.0005 0.0000 57.669 11.899 55 8 59 10 0.0001 0.0005 0.0000 27.934 7.213 55 8 29 5 +22 0 0.0002 0.0006 0.0000 59.899 12.190 118 14 84 13 0.0001 0.0006 0.0000 29.323 7.429 118 14 29 5 +23 0 0.0002 0.0006 0.0000 62.449 12.414 118 14 23 9 0.0001 0.0006 0.0000 30.704 7.637 118 14 29 5 +24 0 0.0002 0.0006 0.0000 64.437 12.575 118 14 75 13 0.0001 0.0006 0.0000 32.053 7.834 118 14 29 5 +25 0 0.0002 0.0006 0.0000 67.628 12.827 118 14 15 6 0.0001 0.0006 0.0000 33.421 8.026 118 14 29 5 +26 0 0.0002 0.0006 0.0000 69.617 12.934 101 12 69 15 0.0001 0.0006 0.0000 34.762 8.208 101 12 29 5 +27 0 0.0002 0.0006 0.0000 72.308 13.148 101 12 57 11 0.0001 0.0006 0.0000 36.103 8.384 101 12 29 5 +28 0 0.0002 0.0006 0.0000 73.815 13.220 99 12 49 10 0.0001 0.0006 0.0000 37.403 8.551 99 12 29 5 +29 0 0.0002 0.0007 0.0000 76.261 13.365 88 12 29 13 0.0001 0.0007 0.0000 38.698 8.712 88 12 29 5 +30 0 0.0002 0.0007 0.0000 78.353 13.462 88 12 145 17 0.0001 0.0007 0.0000 39.978 8.865 88 12 29 5 +31 0 0.0002 0.0007 0.0000 80.358 13.511 88 12 42 12 0.0001 0.0007 0.0000 41.239 9.010 88 12 29 5 +32 0 0.0002 0.0009 0.0000 81.784 13.532 96 17 41 12 0.0001 0.0009 0.0000 42.468 9.147 96 17 29 5 +33 0 0.0002 0.0009 0.0000 83.841 13.634 95 17 120 14 0.0001 0.0009 0.0000 43.685 9.279 95 17 29 5 +34 0 0.0002 0.0009 0.0000 86.244 13.769 95 17 54 12 0.0001 0.0009 0.0000 44.901 9.407 95 17 29 5 +35 0 0.0002 0.0010 0.0000 88.428 13.836 132 16 75 12 0.0001 0.0010 0.0000 46.110 9.530 132 16 29 5 +36 0 0.0003 0.0011 0.0000 90.500 13.931 132 16 95 17 0.0001 0.0011 0.0000 47.310 9.649 132 16 29 5 +37 0 0.0003 0.0011 0.0000 92.622 14.078 132 16 56 17 0.0001 0.0011 0.0000 48.502 9.766 132 16 29 5 +38 0 0.0003 0.0011 0.0000 94.204 14.161 132 16 123 17 0.0001 0.0011 0.0000 49.674 9.879 132 16 29 5 +39 0 0.0003 0.0011 0.0000 96.820 14.227 132 16 52 12 0.0001 0.0011 0.0000 50.853 9.987 132 16 29 5 +40 0 0.0003 0.0012 0.0000 99.681 14.315 133 16 20 7 0.0001 0.0012 0.0000 52.044 10.093 133 16 29 5 +41 0 0.0003 0.0012 0.0000 102.630 14.392 120 14 149 17 0.0001 0.0012 0.0000 53.248 10.195 120 14 29 5 +42 0 0.0003 0.0012 0.0000 105.718 14.481 120 14 75 13 0.0001 0.0012 0.0000 54.468 10.295 120 14 29 5 +43 0 0.0003 0.0012 0.0000 107.159 14.472 120 14 101 15 0.0001 0.0012 0.0000 55.666 10.390 120 14 29 5 +44 0 0.0003 0.0012 0.0000 108.833 14.541 120 14 142 17 0.0002 0.0012 0.0000 56.847 10.482 120 14 29 5 +45 0 0.0003 0.0012 0.0000 111.006 14.626 120 14 117 11 0.0002 0.0012 0.0000 58.025 10.572 120 14 29 5 +46 0 0.0003 0.0012 0.0000 112.648 14.671 120 14 81 17 0.0002 0.0012 0.0000 59.187 10.659 120 14 29 5 +47 0 0.0003 0.0014 0.0000 116.266 14.849 133 14 76 13 0.0002 0.0014 0.0000 60.376 10.747 133 14 29 5 +48 0 0.0003 0.0014 0.0000 119.465 14.936 133 14 134 16 0.0002 0.0014 0.0000 61.582 10.832 133 14 29 5 +49 0 0.0003 0.0014 0.0000 122.674 15.037 128 14 173 17 0.0002 0.0014 0.0000 62.804 10.916 128 14 29 5 +50 0 0.0003 0.0014 0.0000 123.992 15.092 128 14 67 12 0.0002 0.0014 0.0000 64.003 10.998 128 14 29 5 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.sys b/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.sys new file mode 100644 index 0000000..5802698 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_1/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 65. +creating initial population(s): + 5616 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 330206360 + freed: 329203760 + not freed: 1002600 + max allocated: 14135939 + malloc'ed blocks: 747763 + realloc'ed blocks: 11 + free'ed blocks: 747613 + +------- time ------- + overall: 6s wall + evaluation: 5s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 400 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 144320 + freed: 144320 + allocated: 15500 + blocks: 30 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.bst b/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.bst new file mode 100644 index 0000000..97860f3 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.bst @@ -0,0 +1,20 @@ +=== BEST-OF-RUN === + generation: 14 + nodes: 17 + depth: 6 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (+ (+ (* (+ (* x x) + (* (* x x) x)) x) x) + (* x x)) +TREE-equ: +y = (((((x * x) + ((x * x) * x)) * x) + x) + (x * x)) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.fn b/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.fn new file mode 100644 index 0000000..d1501d8 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.fn @@ -0,0 +1,2 @@ + +y = (((((x * x) + ((x * x) * x)) * x) + x) + (x * x)) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.gen b/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.his b/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.his new file mode 100644 index 0000000..1ed03c5 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.his @@ -0,0 +1,317 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 13 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7115.3651 + standardized fitness: 7115.3651 + adjusted fitness: 0.0001 +TREE: + (+ (exp (- (sin x) x)) + (exp (+ (+ x 0.75862) + (cos -0.48433)))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 13 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7115.3651 + standardized fitness: 7115.3651 + adjusted fitness: 0.0001 +TREE: + (+ (exp (- (sin x) x)) + (exp (+ (+ x 0.75862) + (cos -0.48433)))) +=== BEST-OF-RUN === + current generation: 2 + generation: 0 + nodes: 13 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7115.3651 + standardized fitness: 7115.3651 + adjusted fitness: 0.0001 +TREE: + (+ (exp (- (sin x) x)) + (exp (+ (+ x 0.75862) + (cos -0.48433)))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 15 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7035.7397 + standardized fitness: 7035.7397 + adjusted fitness: 0.0001 +TREE: + (+ (exp (- (sin x) x)) + (exp (+ (+ (+ 0.00807 x) 0.75862) + (cos -0.48433)))) +=== BEST-OF-RUN === + current generation: 4 + generation: 3 + nodes: 15 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7035.7397 + standardized fitness: 7035.7397 + adjusted fitness: 0.0001 +TREE: + (+ (exp (- (sin x) x)) + (exp (+ (+ (+ 0.00807 x) 0.75862) + (cos -0.48433)))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 14 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5962.6922 + standardized fitness: 5962.6922 + adjusted fitness: 0.0002 +TREE: + (+ (exp (- (/ x x) x)) + (exp (+ (+ x 0.75862) + (cos -0.48433)))) +=== BEST-OF-RUN === + current generation: 6 + generation: 5 + nodes: 14 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5962.6922 + standardized fitness: 5962.6922 + adjusted fitness: 0.0002 +TREE: + (+ (exp (- (/ x x) x)) + (exp (+ (+ x 0.75862) + (cos -0.48433)))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 21 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5933.5280 + standardized fitness: 5933.5280 + adjusted fitness: 0.0002 +TREE: + (+ (+ (exp (- (/ x x) x)) + (exp (+ (+ x 0.75862) + (cos -0.48433)))) + (* (* -0.94169 x) + (cos -0.29989))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 37 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3404.1704 + standardized fitness: 3404.1704 + adjusted fitness: 0.0003 +TREE: + (+ (+ (* (+ (* (cos x) + (log x)) + (* (* x x) x)) x) + (- (- (- (/ x 0.08339) x) + (- -0.51135 0.00094)) + (- (sin (cos -0.86629)) + (/ (* 0.50912 x) x)))) + (exp (cos x))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 35 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1760.9097 + standardized fitness: 1760.9097 + adjusted fitness: 0.0006 +TREE: + (+ (+ (* (+ (* x x) + (* (* x x) x)) x) + (- (- (cos (cos (cos -0.01230))) + (- -0.51135 0.00094)) + (- (sin (cos -0.86629)) + (/ (- 0.26162 -0.24325) x)))) + (exp (exp (cos x)))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 50 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1392.9918 + standardized fitness: 1392.9918 + adjusted fitness: 0.0007 +TREE: + (+ (+ (* (+ (* x x) + (* (* x x) x)) x) + (- (- (cos (cos (cos -0.01230))) + (- -0.51135 0.00094)) + (- (sin (cos -0.86629)) + (/ (- 0.26162 -0.24325) x)))) + (exp (cos (+ (sin x) + (* (sin (- -0.85755 0.16238)) + (cos (exp (log (/ (cos x) + (/ 0.68361 0.88282)))))))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 31 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 563.8110 + standardized fitness: 563.8110 + adjusted fitness: 0.0018 +TREE: + (+ (+ (* (+ (* x x) + (* (* x x) x)) x) + (exp (sin (sin x)))) + (* (/ -0.42438 -0.70729) + (* (* 0.95907 x) + (- (+ 0.96504 x) + (cos x))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 46 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 410.3356 + standardized fitness: 410.3356 + adjusted fitness: 0.0024 +TREE: + (+ (+ (* (+ (* x x) + (* (* x x) x)) x) + (exp (sin (sin x)))) + (* (- (- (cos 0.66297) + (- -0.51135 0.00094)) + (- (sin (cos (cos (log -0.01616)))) + (/ (* 0.50912 x) x))) + (* (* 0.95907 x) + (- (+ 0.96504 x) + (cos x))))) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 24 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 95.6253 + standardized fitness: 95.6253 + adjusted fitness: 0.0103 +TREE: + (+ (+ (* (+ (* x x) + (* (* x x) x)) x) + (- (- x + (- -0.51135 0.00094)) + (sin 0.03417))) + (* x x)) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 17 + depth: 6 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (+ (+ (* (+ (* x x) + (* (* x x) x)) x) x) + (* x x)) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.prg b/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.prg new file mode 100644 index 0000000..46e5a16 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 2.43363, y = 57.84639 + x = -2.41218, y = 23.22697 + x = -1.93271, y = 8.53621 + x = -4.75945, y = 423.21121 + x = -0.70991, y = -0.30973 + x = 2.91107, y = 107.86861 + x = 3.99327, y = 337.89969 + x = 0.13956, y = 0.16213 + x = 1.90048, y = 25.42169 + x = 0.95931, y = 3.60930 + x = -1.77999, y = 5.78727 + x = 4.78436, y = 661.14461 + x = -4.14344, y = 236.63341 + x = 1.69655, y = 17.74262 + x = -4.09080, y = 224.23340 + x = -4.84700, y = 456.71570 + x = 0.52108, y = 1.00781 + x = -0.69725, y = -0.31372 + x = 1.14933, y = 5.73339 + x = -4.37862, y = 298.42444 + x = 2.22959, y = 42.99573 + x = -4.74206, y = 416.78089 + x = 0.37465, y = 0.58729 + x = 1.48687, y = 11.87243 + x = 3.14899, y = 142.62090 + x = -1.09861, y = 0.23910 + x = -0.35457, y = -0.25762 + x = 2.57710, y = 70.44281 + x = -2.18616, y = 14.98653 + x = -1.80312, y = 6.15640 + x = -3.48276, y = 113.53048 + x = -4.02041, y = 208.42347 + x = -0.90432, y = -0.15728 + x = -0.44297, y = -0.29516 + x = 3.93477, y = 320.04180 + x = -4.48207, y = 329.13215 + x = 3.97646, y = 332.69185 + x = 2.54748, y = 67.68483 + x = 1.68817, y = 17.47143 + x = -2.03594, y = 10.85142 + x = -3.42039, y = 105.13110 + x = -4.59708, y = 365.99377 + x = -2.45003, y = 24.87754 + x = -2.57742, y = 31.07438 + x = -1.15161, y = 0.40614 + x = -1.83656, y = 6.71857 + x = -3.96042, y = 195.62191 + x = -4.34415, y = 288.68558 + x = -3.03856, y = 63.38555 + x = -3.65604, y = 139.50826 + x = -4.66897, y = 390.55947 + x = 3.22820, y = 155.89459 + x = 3.63677, y = 239.89251 + x = 3.10758, y = 136.03276 + x = 0.41134, y = 0.67877 + x = 1.45404, y = 11.11247 + x = 3.49215, y = 206.99431 + x = 3.51026, y = 210.91475 + x = -3.69422, y = 145.78530 + x = -1.22784, y = 0.70150 + x = 3.93461, y = 319.99367 + x = -3.55420, y = 123.75683 + x = 3.45138, y = 198.37285 + x = -1.06359, y = 0.14413 + x = -0.62031, y = -0.32615 + x = -2.18292, y = 14.88670 + x = 2.23438, y = 43.30673 + x = 3.43398, y = 194.77686 + x = -2.15184, y = 13.95532 + x = 2.74576, y = 87.82563 + x = 4.11341, y = 376.92525 + x = -0.13477, y = -0.11873 + x = -2.65868, y = 35.58186 + x = -0.19463, y = -0.16269 + x = -4.70965, y = 404.99644 + x = 4.00139, y = 340.43528 + x = -3.37883, y = 99.79944 + x = 2.26707, y = 45.47408 + x = -3.92447, y = 188.23892 + x = -3.30505, y = 90.83588 + x = 0.40924, y = 0.67330 + x = 1.13517, y = 5.54708 + x = 1.27132, y = 7.55465 + x = 4.04168, y = 353.23579 + x = -0.73773, y = -0.29879 + x = -4.92856, y = 489.68224 + x = -2.47179, y = 25.86494 + x = -4.84074, y = 454.25335 + x = -4.82266, y = 447.20659 + x = 1.11768, y = 5.32368 + x = -1.71645, y = 4.85287 + x = -4.45752, y = 321.64006 + x = -0.30068, y = -0.22928 + x = 3.94241, y = 322.33321 + x = -1.14935, y = 0.39841 + x = 1.71438, y = 18.33065 + x = 3.06161, y = 128.99431 + x = 2.74461, y = 87.69655 + x = -2.86777, y = 49.40724 + x = -0.15300, y = -0.13262 + x = -3.45773, y = 110.10151 + x = -1.22749, y = 0.69997 + x = 4.58032, y = 561.78176 + x = -4.73351, y = 413.64820 + x = 0.93472, y = 3.38845 + x = -0.80414, y = -0.25934 + x = -3.04312, y = 63.79473 + x = 4.59509, y = 568.57203 + x = -1.15469, y = 0.41678 + x = 0.33990, y = 0.50805 + x = -1.07417, y = 0.17159 + x = 3.33288, y = 174.85311 + x = 3.33292, y = 174.85973 + x = 0.18809, y = 0.23138 + x = -4.51139, y = 338.25156 + x = 3.39213, y = 186.33078 + x = 1.74648, y = 19.42748 + x = 4.50897, y = 529.85221 + x = -4.91423, y = 483.76642 + x = 2.66531, y = 79.16830 + x = -0.24452, y = -0.19578 + x = 4.48977, y = 521.50127 + x = 1.30175, y = 8.07366 + x = 3.00116, y = 120.16509 + x = 1.20349, y = 6.49289 + x = 0.34090, y = 0.51024 + x = 0.28491, y = 0.39581 + x = -2.92517, y = 53.81770 + x = 3.87064, y = 301.29895 + x = 1.09449, y = 5.03846 + x = 2.04451, y = 32.24320 + x = -2.97392, y = 57.78821 + x = -1.57824, y = 3.18574 + x = 0.73563, y = 1.96773 + x = 2.76912, y = 90.46910 + x = 2.07636, y = 33.92628 + x = 2.80225, y = 94.32334 + x = -3.91677, y = 186.68617 + x = 3.55307, y = 220.40441 + x = 0.87014, y = 2.85936 + x = -1.67504, y = 4.30326 + x = -1.98076, y = 9.56444 + x = -4.92650, y = 488.82902 + x = -2.48797, y = 26.61754 + x = -3.63779, y = 136.58140 + x = -1.20623, y = 0.61069 + x = -0.75927, y = -0.28815 + x = 1.69815, y = 17.79474 + x = -2.26108, y = 17.42922 + x = 3.50975, y = 210.80403 + x = -3.57053, y = 126.18755 + x = 0.98678, y = 3.86953 + x = 3.87397, y = 302.24871 + x = 1.03774, y = 4.39196 + x = 2.80249, y = 94.35171 + x = 4.51619, y = 533.01949 + x = -4.64925, y = 383.70055 + x = -1.15532, y = 0.41895 + x = -2.50263, y = 27.31330 + x = 3.85836, y = 297.80665 + x = 1.39361, y = 9.81426 + x = -4.12635, y = 232.55225 + x = -3.95797, y = 195.11343 + x = 2.97517, y = 116.51354 + x = -2.98506, y = 58.72531 + x = -4.09341, y = 224.83688 + x = 3.25938, y = 161.37002 + x = 0.82089, y = 2.50199 + x = -1.17411, y = 0.48624 + x = 1.69484, y = 17.68688 + x = -0.84860, y = -0.22100 + x = -4.95167, y = 499.34115 + x = 1.77005, y = 20.26504 + x = -3.42399, y = 105.60252 + x = 1.23584, y = 6.98329 + x = 3.76870, y = 273.22653 + x = -4.38419, y = 300.01941 + x = -4.73600, y = 414.55645 + x = -4.80133, y = 438.99730 + x = 1.68731, y = 17.44346 + x = -0.00985, y = -0.00976 + x = -3.55977, y = 124.58126 + x = 4.57746, y = 560.47638 + x = -4.98772, y = 514.69095 + x = 4.70088, y = 619.01414 + x = 1.17086, y = 6.02630 + x = -4.01595, y = 207.45006 + x = 0.44659, y = 0.77488 + x = -1.27931, y = 0.94212 + x = 1.86253, y = 23.82662 + x = 3.81697, y = 286.26054 + x = -3.01864, y = 61.61883 + x = 2.25734, y = 44.82050 + x = -3.14177, y = 73.14901 + x = -3.28126, y = 88.07830 + x = -1.72337, y = 4.94913 + x = 1.24919, y = 7.19408 + x = 3.49748, y = 208.14374 + x = 1.27619, y = 7.63587 + x = -2.40649, y = 22.98622 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.stt b/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.stt new file mode 100644 index 0000000..0a894b7 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.stt @@ -0,0 +1,16 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.284 3.697 13 4 9 5 0.0000 0.0001 0.0000 13.284 3.697 13 4 9 5 +1 0 0.0000 0.0001 0.0000 13.343 4.151 13 4 18 6 0.0000 0.0001 0.0000 13.314 3.924 13 4 9 5 +2 0 0.0000 0.0001 0.0000 13.954 4.489 13 4 56 13 0.0000 0.0001 0.0000 13.527 4.112 13 4 9 5 +3 0 0.0000 0.0001 0.0000 14.738 4.775 15 5 18 5 0.0000 0.0001 0.0000 13.830 4.278 15 5 9 5 +4 0 0.0000 0.0001 0.0000 15.104 4.990 15 5 10 4 0.0000 0.0001 0.0000 14.085 4.420 15 5 9 5 +5 0 0.0000 0.0002 0.0000 15.619 5.210 14 4 27 9 0.0000 0.0002 0.0000 14.341 4.552 14 4 27 9 +6 0 0.0000 0.0002 0.0000 15.940 5.338 14 4 29 6 0.0000 0.0002 0.0000 14.569 4.664 14 4 27 9 +7 0 0.0000 0.0002 0.0000 16.938 5.593 21 5 6 4 0.0000 0.0002 0.0000 14.865 4.780 21 5 27 9 +8 0 0.0000 0.0003 0.0000 18.016 5.818 37 6 23 6 0.0000 0.0003 0.0000 15.215 4.896 37 6 27 9 +9 0 0.0000 0.0006 0.0000 19.821 6.141 35 7 13 5 0.0000 0.0006 0.0000 15.676 5.020 35 7 27 9 +10 0 0.0001 0.0007 0.0000 23.712 6.677 50 10 9 4 0.0000 0.0007 0.0000 16.406 5.171 50 10 27 9 +11 0 0.0001 0.0018 0.0000 29.367 7.419 31 6 25 7 0.0000 0.0018 0.0000 17.486 5.358 31 6 27 9 +12 0 0.0001 0.0024 0.0000 36.283 8.244 46 8 63 14 0.0000 0.0024 0.0000 18.932 5.580 46 8 27 9 +13 0 0.0002 0.0103 0.0000 41.101 8.743 24 6 67 9 0.0001 0.0103 0.0000 20.516 5.806 24 6 27 9 +14 0 0.0009 1.0000 0.0000 44.560 9.056 17 6 89 12 0.0001 1.0000 0.0000 22.119 6.023 17 6 27 9 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.sys b/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.sys new file mode 100644 index 0000000..c5ed71c --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_2/regress.sys @@ -0,0 +1,95 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 947. +creating initial population(s): + 5639 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 37974729 + freed: 37694001 + not freed: 280728 + max allocated: 5541212 + malloc'ed blocks: 220980 + realloc'ed blocks: 10 + free'ed blocks: 220938 + +------- time ------- + overall: 1s wall + evaluation: 1s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 50279 + freed: 50279 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.bst b/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.bst new file mode 100644 index 0000000..74bb716 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.bst @@ -0,0 +1,46 @@ +=== BEST-OF-RUN === + generation: 50 + nodes: 127 + depth: 17 + hits: 56 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 56 + raw fitness: 7.8557 + standardized fitness: 7.8557 + adjusted fitness: 0.1129 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (* (+ (+ x -0.33091) + (/ x 0.66899)) + (* (log (/ x x)) + (+ (+ x -0.33091) x))) + (cos 0.37193)))) + (exp (log (+ (/ (* (/ -0.16216 + (/ (+ x x) + (/ x x))) + (cos (- x + (log 0.63350)))) + (- (exp x) + (- (log (* (sin (+ 0.09975 0.49818)) 0.70960)) + (/ (/ (/ (sin (* (* (- (* (/ x x) + (log -0.91098)) + (exp -0.92310)) + (sin (log (- -0.77936 x)))) -0.17965)) + (log 0.88917)) x) + (- x + (* (- (log (- 0.75061 0.35096)) + (cos x)) + (exp (+ (* x x) + (+ (cos x) x))))))))) 0.52953)))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos -0.14472)))))) + (- 0.63473 -0.74450))) +TREE-equ: +y = ((((((x * x) - -0.77671) + (0.58469 + -0.91941)) - log(((((x + -0.33091) + (x / 0.66899)) * (log((x / x)) * ((x + -0.33091) + x))) * cos(0.37193)))) + exp(log(((((-0.16216 / ((x + x) / (x / x))) * cos((x - log(0.63350)))) / (exp(x) - (log((sin((0.09975 + 0.49818)) * 0.70960)) - (((sin((((((x / x) * log(-0.91098)) - exp(-0.92310)) * sin(log((-0.77936 - x)))) * -0.17965)) / log(0.88917)) / x) / (x - ((log((0.75061 - 0.35096)) - cos(x)) * exp(((x * x) + (cos(x) + x))))))))) + 0.52953)))) * (((x * x) - ((sin(0.94539) - x) - (-0.72412 * sin(sin(cos(-0.14472)))))) + (0.63473 - -0.74450))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.fn b/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.fn new file mode 100644 index 0000000..6ee384c --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.fn @@ -0,0 +1,2 @@ + +y = ((((((x * x) - -0.77671) + (0.58469 + -0.91941)) - log(((((x + -0.33091) + (x / 0.66899)) * (log((x / x)) * ((x + -0.33091) + x))) * cos(0.37193)))) + exp(log(((((-0.16216 / ((x + x) / (x / x))) * cos((x - log(0.63350)))) / (exp(x) - (log((sin((0.09975 + 0.49818)) * 0.70960)) - (((sin((((((x / x) * log(-0.91098)) - exp(-0.92310)) * sin(log((-0.77936 - x)))) * -0.17965)) / log(0.88917)) / x) / (x - ((log((0.75061 - 0.35096)) - cos(x)) * exp(((x * x) + (cos(x) + x))))))))) + 0.52953)))) * (((x * x) - ((sin(0.94539) - x) - (-0.72412 * sin(sin(cos(-0.14472)))))) + (0.63473 - -0.74450))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.gen b/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.his b/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.his new file mode 100644 index 0000000..f791484 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.his @@ -0,0 +1,1435 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 9 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9645.2727 + standardized fitness: 9645.2727 + adjusted fitness: 0.0001 +TREE: + (exp (log (* (* x x) + (/ x 0.31941)))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 9 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9645.2727 + standardized fitness: 9645.2727 + adjusted fitness: 0.0001 +TREE: + (exp (log (* (* x x) + (/ x 0.31941)))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 15 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7475.3361 + standardized fitness: 7475.3361 + adjusted fitness: 0.0001 +TREE: + (+ (/ (* (exp x) + (+ x 0.24018)) + (/ x x)) + (exp (/ x -0.81818))) +=== BEST-OF-RUN === + current generation: 3 + generation: 2 + nodes: 15 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7475.3361 + standardized fitness: 7475.3361 + adjusted fitness: 0.0001 +TREE: + (+ (/ (* (exp x) + (+ x 0.24018)) + (/ x x)) + (exp (/ x -0.81818))) +=== BEST-OF-RUN === + current generation: 4 + generation: 2 + nodes: 15 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7475.3361 + standardized fitness: 7475.3361 + adjusted fitness: 0.0001 +TREE: + (+ (/ (* (exp x) + (+ x 0.24018)) + (/ x x)) + (exp (/ x -0.81818))) +=== BEST-OF-RUN === + current generation: 5 + generation: 2 + nodes: 15 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7475.3361 + standardized fitness: 7475.3361 + adjusted fitness: 0.0001 +TREE: + (+ (/ (* (exp x) + (+ x 0.24018)) + (/ x x)) + (exp (/ x -0.81818))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 17 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7031.6774 + standardized fitness: 7031.6774 + adjusted fitness: 0.0001 +TREE: + (+ (/ (* (exp x) + (+ x 0.24018)) + (cos (- (sin x) -0.41835))) + (exp (/ x -0.81818))) +=== BEST-OF-RUN === + current generation: 7 + generation: 6 + nodes: 17 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7031.6774 + standardized fitness: 7031.6774 + adjusted fitness: 0.0001 +TREE: + (+ (/ (* (exp x) + (+ x 0.24018)) + (cos (- (sin x) -0.41835))) + (exp (/ x -0.81818))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 13 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5815.7516 + standardized fitness: 5815.7516 + adjusted fitness: 0.0002 +TREE: + (+ (/ (* (exp x) + (+ x 0.24018)) 0.83069) + (exp (/ x -0.81818))) +=== BEST-OF-RUN === + current generation: 9 + generation: 8 + nodes: 13 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5815.7516 + standardized fitness: 5815.7516 + adjusted fitness: 0.0002 +TREE: + (+ (/ (* (exp x) + (+ x 0.24018)) 0.83069) + (exp (/ x -0.81818))) +=== BEST-OF-RUN === + current generation: 10 + generation: 8 + nodes: 13 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5815.7516 + standardized fitness: 5815.7516 + adjusted fitness: 0.0002 +TREE: + (+ (/ (* (exp x) + (+ x 0.24018)) 0.83069) + (exp (/ x -0.81818))) +=== BEST-OF-RUN === + current generation: 11 + generation: 8 + nodes: 13 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5815.7516 + standardized fitness: 5815.7516 + adjusted fitness: 0.0002 +TREE: + (+ (/ (* (exp x) + (+ x 0.24018)) 0.83069) + (exp (/ x -0.81818))) +=== BEST-OF-RUN === + current generation: 12 + generation: 8 + nodes: 13 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5815.7516 + standardized fitness: 5815.7516 + adjusted fitness: 0.0002 +TREE: + (+ (/ (* (exp x) + (+ x 0.24018)) 0.83069) + (exp (/ x -0.81818))) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 53 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5749.5295 + standardized fitness: 5749.5295 + adjusted fitness: 0.0002 +TREE: + (+ (/ (+ (/ (* (exp x) + (+ x 0.24018)) 0.83069) + (exp (/ x -0.81818))) + (/ x x)) + (exp (* (cos (- x + (log x))) + (* (- (- -0.98412 x) + (* (cos (exp -0.00446)) + (- (log x) + (/ (exp (* (* (exp -0.48091) + (log -0.76813)) + (log (* -0.57267 x)))) + (- x 0.67606))))) -0.18937)))) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 21 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5382.4103 + standardized fitness: 5382.4103 + adjusted fitness: 0.0002 +TREE: + (+ (/ (* (exp x) + (+ x 0.24018)) + (log (/ (+ 0.06551 x) + (log (+ x x))))) + (exp (/ x -0.81818))) +=== BEST-OF-RUN === + current generation: 15 + generation: 14 + nodes: 21 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5382.4103 + standardized fitness: 5382.4103 + adjusted fitness: 0.0002 +TREE: + (+ (/ (* (exp x) + (+ x 0.24018)) + (log (/ (+ 0.06551 x) + (log (+ x x))))) + (exp (/ x -0.81818))) +=== BEST-OF-RUN === + current generation: 16 + generation: 14 + nodes: 21 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5382.4103 + standardized fitness: 5382.4103 + adjusted fitness: 0.0002 +TREE: + (+ (/ (* (exp x) + (+ x 0.24018)) + (log (/ (+ 0.06551 x) + (log (+ x x))))) + (exp (/ x -0.81818))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 47 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4161.4098 + standardized fitness: 4161.4098 + adjusted fitness: 0.0002 +TREE: + (* (+ (log (+ -0.48188 + (cos (- -0.15563 x)))) + (exp (log (+ (/ (* x x) 0.78000) + (sin (* x -0.17965)))))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (sin x))) + (* (sin (cos (/ -0.57755 x))) + (/ (sin (+ x x)) + (exp (exp -0.21198)))))) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 45 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2389.6770 + standardized fitness: 2389.6770 + adjusted fitness: 0.0004 +TREE: + (* (+ (log (cos x)) + (exp (log (+ (/ (* x x) 0.78000) + (sin (* x -0.17965)))))) + (+ (- (* x x) + (- (- (- (exp (log x)) 0.05307) x) + (/ (/ (log (+ (log x) + (sin 0.41853))) x) + (cos (/ x -0.70070))))) + (log x))) +=== BEST-OF-RUN === + current generation: 19 + generation: 18 + nodes: 45 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2389.6770 + standardized fitness: 2389.6770 + adjusted fitness: 0.0004 +TREE: + (* (+ (log (cos x)) + (exp (log (+ (/ (* x x) 0.78000) + (sin (* x -0.17965)))))) + (+ (- (* x x) + (- (- (- (exp (log x)) 0.05307) x) + (/ (/ (log (+ (log x) + (sin 0.41853))) x) + (cos (/ x -0.70070))))) + (log x))) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 47 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1718.8846 + standardized fitness: 1718.8846 + adjusted fitness: 0.0006 +TREE: + (* (+ (log (cos x)) + (exp (log (+ (/ (* x x) 0.78000) + (sin (* x -0.17965)))))) + (+ (- (* x x) + (- (- (- (exp (log x)) 0.05307) x) + (/ (/ (log (+ (log x) + (sin 0.41853))) x) + (cos (exp (exp (sin (exp -0.95767)))))))) + (log x))) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 46 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1525.1249 + standardized fitness: 1525.1249 + adjusted fitness: 0.0007 +TREE: + (* (+ (log (cos x)) + (exp (log (+ (/ (* x x) 0.78000) + (sin (sin x)))))) + (+ (- (* x x) + (- (- (- (exp (log x)) 0.05307) x) + (/ (/ (log (+ (log x) + (sin 0.41853))) x) + (cos (exp (exp (sin (exp -0.95767)))))))) + (log x))) +=== BEST-OF-RUN === + current generation: 22 + generation: 22 + nodes: 61 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1456.2121 + standardized fitness: 1456.2121 + adjusted fitness: 0.0007 +TREE: + (* (+ (log (cos (exp (log (cos (cos x)))))) + (exp (log (+ (/ (* x x) 0.78000) + (sin (* x -0.17965)))))) + (+ (- (* x x) + (- (- (- (exp (log x)) 0.05307) x) + (/ (/ (log (+ (log x) + (sin 0.41853))) x) + (/ (/ 0.34209 + (sin (exp (log (/ 0.40872 + (cos (* x + (* 0.61015 + (cos x))))))))) -0.67663)))) + (log x))) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 34 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1168.3560 + standardized fitness: 1168.3560 + adjusted fitness: 0.0009 +TREE: + (* (+ (log (cos x)) + (exp (log (+ (/ (* x x) 0.78000) + (sin (* x -0.17965)))))) + (+ (- (* x x) + (- (- (- (exp (log x)) 0.05307) x) + (exp -0.90146))) + (log x))) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 35 + depth: 8 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 1112.1462 + standardized fitness: 1112.1462 + adjusted fitness: 0.0009 +TREE: + (* (+ (log (cos x)) + (exp (log (+ (/ (* x x) 0.78000) + (sin (* x -0.17965)))))) + (+ (- (* x x) + (- (- (- (exp (log x)) 0.05307) x) + (/ 0.50016 0.96378))) + (log x))) +=== BEST-OF-RUN === + current generation: 25 + generation: 25 + nodes: 47 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 833.0569 + standardized fitness: 833.0569 + adjusted fitness: 0.0012 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (- -0.60461 0.88107) + (cos 0.37193)))) + (exp (log (+ (/ 0.31941 0.78000) + (cos x))))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (+ x x)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 26 + generation: 25 + nodes: 47 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 833.0569 + standardized fitness: 833.0569 + adjusted fitness: 0.0012 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (- -0.60461 0.88107) + (cos 0.37193)))) + (exp (log (+ (/ 0.31941 0.78000) + (cos x))))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (+ x x)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 27 + generation: 27 + nodes: 57 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 795.2828 + standardized fitness: 795.2828 + adjusted fitness: 0.0013 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (- -0.60461 0.88107) + (cos 0.37193)))) + (exp (log (+ (/ 0.31941 0.78000) + (cos x))))) + (+ (- (* x x) + (- (- (cos (+ (exp (log -0.43265)) + (* (- 0.36356 0.61635) + (/ x x)))) x) + (* -0.72412 + (sin (sin (+ x x)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 28 + generation: 27 + nodes: 57 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 795.2828 + standardized fitness: 795.2828 + adjusted fitness: 0.0013 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (- -0.60461 0.88107) + (cos 0.37193)))) + (exp (log (+ (/ 0.31941 0.78000) + (cos x))))) + (+ (- (* x x) + (- (- (cos (+ (exp (log -0.43265)) + (* (- 0.36356 0.61635) + (/ x x)))) x) + (* -0.72412 + (sin (sin (+ x x)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 29 + generation: 29 + nodes: 43 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 543.8064 + standardized fitness: 543.8064 + adjusted fitness: 0.0018 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (- -0.60461 0.88107) + (cos 0.37193)))) + (/ (sin 0.94539) x)) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (log (cos x))))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 30 + generation: 29 + nodes: 43 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 543.8064 + standardized fitness: 543.8064 + adjusted fitness: 0.0018 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (- -0.60461 0.88107) + (cos 0.37193)))) + (/ (sin 0.94539) x)) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (log (cos x))))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 31 + generation: 31 + nodes: 56 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 380.6949 + standardized fitness: 380.6949 + adjusted fitness: 0.0026 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* -0.67663 + (cos 0.37193)))) + (exp (log (+ (/ 0.31941 0.78000) + (cos x))))) + (+ (- (* x x) + (- (- (cos (+ (exp (log -0.43265)) + (* (- 0.36356 0.61635) + (/ x x)))) x) + (* -0.72412 + (cos (log (log (+ x x))))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 32 + generation: 32 + nodes: 54 + depth: 12 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 325.4435 + standardized fitness: 325.4435 + adjusted fitness: 0.0031 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (- -0.60461 0.88107) + (cos 0.37193)))) 0.83069) + (+ (- (* x x) + (- (- (cos (+ (exp (log -0.43265)) + (/ (sin 0.41853) -0.59283))) x) + (* -0.72412 + (sin (sin (+ x + (- (exp (/ -0.77182 + (+ x -0.95146))) x))))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 33 + generation: 32 + nodes: 54 + depth: 12 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 325.4435 + standardized fitness: 325.4435 + adjusted fitness: 0.0031 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (- -0.60461 0.88107) + (cos 0.37193)))) 0.83069) + (+ (- (* x x) + (- (- (cos (+ (exp (log -0.43265)) + (/ (sin 0.41853) -0.59283))) x) + (* -0.72412 + (sin (sin (+ x + (- (exp (/ -0.77182 + (+ x -0.95146))) x))))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 34 + generation: 34 + nodes: 38 + depth: 8 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 168.8302 + standardized fitness: 168.8302 + adjusted fitness: 0.0059 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (exp -0.99810)) + (log (* (- -0.60461 0.88107) + (cos 0.37193)))) 0.05307) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos -0.14472)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 35 + generation: 35 + nodes: 88 + depth: 14 + hits: 9 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 9 + raw fitness: 151.7606 + standardized fitness: 151.7606 + adjusted fitness: 0.0065 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (exp -0.99810)) + (log (* (- -0.60461 0.88107) + (cos 0.37193)))) + (exp (log (/ (log (+ (/ (+ (/ (* (cos x) + (+ x 0.24018)) 0.83069) + (exp (log -0.37582))) + (/ x + (/ (/ (sin x) + (exp (exp 0.88532))) + (/ (/ (log 0.83069) x) 0.40111)))) + (exp (* x + (* (+ (log (cos 0.30171)) + (cos x)) + (* (sin (log (- 0.21253 -0.99848))) 0.24129)))))) x)))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos -0.14472)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 36 + generation: 36 + nodes: 41 + depth: 8 + hits: 11 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 11 + raw fitness: 28.5491 + standardized fitness: 28.5491 + adjusted fitness: 0.0338 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (- -0.60461 0.88107) + (cos 0.37193)))) + (sin (cos -0.14472))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos -0.14472)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 37 + generation: 36 + nodes: 41 + depth: 8 + hits: 11 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 11 + raw fitness: 28.5491 + standardized fitness: 28.5491 + adjusted fitness: 0.0338 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (- -0.60461 0.88107) + (cos 0.37193)))) + (sin (cos -0.14472))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos -0.14472)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 38 + generation: 38 + nodes: 46 + depth: 9 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 26.4133 + standardized fitness: 26.4133 + adjusted fitness: 0.0365 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (- -0.60461 0.88107) + (cos 0.37193)))) + (sin (exp (cos (cos (sin -0.92863)))))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos (+ 0.58469 -0.91941))))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 39 + generation: 39 + nodes: 45 + depth: 8 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 25.4410 + standardized fitness: 25.4410 + adjusted fitness: 0.0378 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (- -0.60461 0.88107) + (cos 0.37193)))) + (sin (exp (cos (cos (sin -0.92863)))))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (+ 0.39683 0.56783)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 40 + generation: 40 + nodes: 49 + depth: 9 + hits: 11 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 11 + raw fitness: 25.2759 + standardized fitness: 25.2759 + adjusted fitness: 0.0381 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (- -0.60461 0.88107) + (cos 0.37193)))) + (sin (cos (/ (* -0.10795 + (sin (log (- 0.21253 -0.99848)))) -0.18670)))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos -0.14472)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 41 + generation: 41 + nodes: 130 + depth: 17 + hits: 19 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 19 + raw fitness: 15.7158 + standardized fitness: 15.7158 + adjusted fitness: 0.0598 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (* (/ (+ (exp x) + (* 0.96111 -0.16045)) + (exp (exp -0.81897))) + (* (log (/ x x)) + (+ (+ x -0.33091) + (/ x 0.66899)))) + (cos 0.37193)))) + (exp (log (+ (/ (* (/ -0.16216 + (/ (+ x x) + (/ x x))) + (cos (- x + (log 0.63350)))) + (- (* x x) + (- (log (* (sin (+ 0.09975 0.49818)) 0.70960)) + (/ (/ (/ (sin (* (* (- (* (/ x x) + (log -0.91098)) + (exp -0.92310)) + (sin (log (- -0.77936 x)))) -0.17965)) + (log 0.88917)) x) + (- x + (* (cos (+ (log x) x)) + (exp (+ (* x x) + (+ x x))))))))) 0.52953)))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos -0.14472)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 42 + generation: 42 + nodes: 137 + depth: 17 + hits: 30 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 30 + raw fitness: 15.5103 + standardized fitness: 15.5103 + adjusted fitness: 0.0606 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (* (/ (+ (exp x) + (* 0.96111 -0.16045)) + (exp (exp -0.81897))) + (* (log (/ x x)) + (+ (+ x -0.33091) + (/ x 0.66899)))) + (cos 0.37193)))) + (exp (log (+ (/ (* (/ -0.16216 + (/ (+ x x) + (/ x x))) + (cos (- x + (log 0.63350)))) + (- (* x x) + (- (log (* (sin (+ (* (cos (log x)) + (log (/ 0.83337 -0.06195))) 0.76900)) 0.70960)) + (/ (/ (/ (sin (* (* (- (* (/ x x) + (log -0.91098)) + (exp -0.92310)) + (sin (log (- -0.77936 x)))) -0.17965)) + (log 0.88917)) x) + (- x + (* (cos (+ (log x) x)) + (exp (+ (* x x) + (+ x x))))))))) 0.52953)))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos -0.14472)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 43 + generation: 43 + nodes: 119 + depth: 16 + hits: 30 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 30 + raw fitness: 15.1653 + standardized fitness: 15.1653 + adjusted fitness: 0.0619 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (* (/ (+ (exp x) + (* 0.96111 -0.16045)) + (exp (exp -0.81897))) + (* (log (/ x x)) + (+ (+ x -0.33091) + (/ x 0.66899)))) + (cos 0.37193)))) + (exp (log (+ (/ (* (/ -0.16216 + (/ (+ x x) + (/ x x))) + (cos (- x + (log 0.63350)))) + (- (* x x) + (- (log (* (sin (+ 0.09975 0.49818)) 0.70960)) + (/ (/ (+ x x) x) + (- x + (* (cos (+ (log x) x)) + (exp (/ (+ (exp 0.24426) + (cos (log -0.64719))) + (sin (* (exp -0.02733) + (/ -0.05550 x))))))))))) 0.52953)))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos -0.14472)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 44 + generation: 44 + nodes: 129 + depth: 17 + hits: 52 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 52 + raw fitness: 8.0296 + standardized fitness: 8.0296 + adjusted fitness: 0.1107 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (* (* -0.99165 + (sin (/ (* x 0.19404) + (/ x -0.19711)))) + (* (log (/ x x)) + (+ (+ x -0.33091) + (/ x 0.66899)))) + (cos 0.37193)))) + (exp (log (+ (/ (* (/ -0.16216 + (/ (+ x x) + (/ x x))) + (cos (- x + (log 0.63350)))) + (- (exp x) + (- (log (* (sin (+ 0.09975 0.49818)) 0.70960)) + (/ (/ (/ (sin (* (* (- (* (/ x x) + (log -0.91098)) + (exp -0.92310)) + (sin (log (- -0.77936 x)))) -0.17965)) + (log 0.88917)) x) + (- x + (* (cos (+ (log x) x)) + (exp (+ (* x x) + (+ x x))))))))) 0.52953)))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos -0.14472)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 45 + generation: 44 + nodes: 129 + depth: 17 + hits: 52 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 52 + raw fitness: 8.0296 + standardized fitness: 8.0296 + adjusted fitness: 0.1107 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (* (* -0.99165 + (sin (/ (* x 0.19404) + (/ x -0.19711)))) + (* (log (/ x x)) + (+ (+ x -0.33091) + (/ x 0.66899)))) + (cos 0.37193)))) + (exp (log (+ (/ (* (/ -0.16216 + (/ (+ x x) + (/ x x))) + (cos (- x + (log 0.63350)))) + (- (exp x) + (- (log (* (sin (+ 0.09975 0.49818)) 0.70960)) + (/ (/ (/ (sin (* (* (- (* (/ x x) + (log -0.91098)) + (exp -0.92310)) + (sin (log (- -0.77936 x)))) -0.17965)) + (log 0.88917)) x) + (- x + (* (cos (+ (log x) x)) + (exp (+ (* x x) + (+ x x))))))))) 0.52953)))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos -0.14472)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 46 + generation: 46 + nodes: 124 + depth: 17 + hits: 55 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 55 + raw fitness: 8.0075 + standardized fitness: 8.0075 + adjusted fitness: 0.1110 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (* (+ (+ x -0.33091) + (/ x 0.66899)) + (* (log (/ x x)) + (+ (+ x -0.33091) + (/ x 0.66899)))) + (cos 0.37193)))) + (exp (log (+ (/ (* (/ -0.16216 + (/ (+ x x) + (/ x x))) + (cos (- x + (log 0.63350)))) + (- (exp x) + (- (log (* (sin (+ 0.09975 0.49818)) 0.70960)) + (/ (/ (/ (sin (* (* (- (* (/ x x) + (log -0.91098)) + (exp -0.92310)) + (sin (log (- -0.77936 x)))) -0.17965)) + (log 0.88917)) x) + (- x + (* (cos (+ (log x) x)) + (exp (+ (* x x) x)))))))) 0.52953)))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos -0.14472)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 47 + generation: 47 + nodes: 104 + depth: 14 + hits: 56 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 56 + raw fitness: 7.9561 + standardized fitness: 7.9561 + adjusted fitness: 0.1117 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (* (+ (+ x -0.33091) + (/ x 0.66899)) + (* (log (/ x x)) + (+ (+ x -0.33091) + (/ x 0.66899)))) + (cos 0.37193)))) + (exp (log (+ (/ (* (/ -0.16216 + (/ (+ x x) + (/ x x))) + (cos (- x + (log 0.63350)))) + (- (exp x) + (- (log (* (sin (+ 0.09975 0.49818)) 0.70960)) + (/ (exp -0.92310) + (- x + (* (cos (+ -0.50282 -0.19800)) + (exp (+ (* x x) + (+ x x))))))))) 0.52953)))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos -0.14472)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 48 + generation: 48 + nodes: 128 + depth: 17 + hits: 52 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 52 + raw fitness: 7.9508 + standardized fitness: 7.9508 + adjusted fitness: 0.1117 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (* (* -0.99165 + (sin (/ (* x 0.19404) + (/ x -0.19711)))) + (* (log (/ x x)) + (+ (+ x -0.33091) + (/ x 0.66899)))) + (cos 0.37193)))) + (exp (log (+ (/ (* (/ -0.16216 + (/ (+ x x) + (/ x x))) + (cos (- x + (log 0.63350)))) + (- (exp x) + (- (log (* (sin (+ 0.09975 0.49818)) 0.70960)) + (/ (/ (/ (sin (* (* (- (* (/ x x) + (log -0.91098)) + (exp x)) + (sin (log (- -0.77936 x)))) -0.17965)) + (+ x x)) x) + (- x + (* (sin (sin (cos -0.14472))) + (exp (+ x + (sin (cos (cos -0.96535))))))))))) 0.52953)))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos -0.14472)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 49 + generation: 49 + nodes: 125 + depth: 17 + hits: 58 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 58 + raw fitness: 7.9303 + standardized fitness: 7.9303 + adjusted fitness: 0.1120 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (* (+ (+ x -0.33091) + (/ x 0.66899)) + (* (log (/ x x)) + (+ (+ x -0.33091) + (/ x 0.66899)))) + (log x)))) + (exp (log (+ (/ (* (/ -0.16216 + (/ (+ x x) + (sin 0.94539))) + (cos (- x + (log 0.63350)))) + (- (exp x) + (- (log (* (sin (+ 0.09975 0.49818)) 0.70960)) + (/ (/ (/ (sin (* (* (- (* (+ 0.70250 -0.71190) + (log -0.91098)) + (exp -0.92310)) + (sin (log (- -0.77936 x)))) -0.17965)) + (log 0.88917)) x) + (- x + (* (cos (+ (log x) x)) + (exp (+ (* x x) + (+ x x))))))))) 0.52953)))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos -0.14472)))))) + (- 0.63473 -0.74450))) +=== BEST-OF-RUN === + current generation: 50 + generation: 50 + nodes: 127 + depth: 17 + hits: 56 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 56 + raw fitness: 7.8557 + standardized fitness: 7.8557 + adjusted fitness: 0.1129 +TREE: + (* (+ (- (+ (- (* x x) -0.77671) + (+ 0.58469 -0.91941)) + (log (* (* (+ (+ x -0.33091) + (/ x 0.66899)) + (* (log (/ x x)) + (+ (+ x -0.33091) x))) + (cos 0.37193)))) + (exp (log (+ (/ (* (/ -0.16216 + (/ (+ x x) + (/ x x))) + (cos (- x + (log 0.63350)))) + (- (exp x) + (- (log (* (sin (+ 0.09975 0.49818)) 0.70960)) + (/ (/ (/ (sin (* (* (- (* (/ x x) + (log -0.91098)) + (exp -0.92310)) + (sin (log (- -0.77936 x)))) -0.17965)) + (log 0.88917)) x) + (- x + (* (- (log (- 0.75061 0.35096)) + (cos x)) + (exp (+ (* x x) + (+ (cos x) x))))))))) 0.52953)))) + (+ (- (* x x) + (- (- (sin 0.94539) x) + (* -0.72412 + (sin (sin (cos -0.14472)))))) + (- 0.63473 -0.74450))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.prg b/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.prg new file mode 100644 index 0000000..449e408 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 3.48507, y = 205.47757 + x = -1.04340, y = 0.09458 + x = -1.19007, y = 0.54655 + x = 4.32775, y = 454.90576 + x = 2.78638, y = 92.46174 + x = -3.56973, y = 126.06716 + x = -2.13520, y = 13.47445 + x = 1.35870, y = 9.12094 + x = -3.10486, y = 69.53618 + x = -2.65867, y = 35.58110 + x = -2.94365, y = 55.29801 + x = 3.69881, y = 255.15900 + x = 1.61889, y = 15.35122 + x = 4.70644, y = 621.75645 + x = -2.97729, y = 58.07087 + x = 3.50920, y = 210.68355 + x = -4.54350, y = 348.45500 + x = -2.19320, y = 15.20477 + x = -1.53204, y = 2.72828 + x = 1.70212, y = 17.92448 + x = -0.37983, y = -0.26954 + x = -1.98520, y = 9.66365 + x = -4.94409, y = 496.15855 + x = -0.47673, y = -0.30615 + x = -3.55990, y = 124.60012 + x = 2.95679, y = 113.98222 + x = -4.36540, y = 294.66073 + x = -1.81559, y = 6.36193 + x = -1.27533, y = 0.92223 + x = -4.75467, y = 421.43563 + x = -0.23221, y = -0.18790 + x = -3.59361, y = 129.68498 + x = 2.08937, y = 34.63300 + x = -1.16687, y = 0.45984 + x = -3.38398, y = 100.44930 + x = -3.67054, y = 141.86688 + x = -4.94603, y = 496.97018 + x = -0.01264, y = -0.01248 + x = 0.90787, y = 3.15975 + x = -2.92188, y = 53.55704 + x = -3.14351, y = 73.32227 + x = -4.96951, y = 506.89494 + x = 0.67620, y = 1.65174 + x = -1.54321, y = 2.83468 + x = 2.48013, y = 61.72166 + x = -4.22541, y = 256.95686 + x = 4.20059, y = 407.30962 + x = -2.73170, y = 40.02992 + x = 1.45899, y = 11.22444 + x = -2.31578, y = 19.38793 + x = 2.16779, y = 39.13790 + x = 0.07174, y = 0.07728 + x = -1.68678, y = 4.45448 + x = -4.52003, y = 340.97414 + x = 4.24092, y = 421.97457 + x = 2.07868, y = 34.05170 + x = 1.86723, y = 24.02015 + x = 4.97680, y = 766.49446 + x = 2.71173, y = 84.08006 + x = 1.45691, y = 11.17738 + x = -3.62370, y = 134.35195 + x = 2.87744, y = 103.53411 + x = -4.54917, y = 350.28277 + x = 4.81702, y = 678.20520 + x = -4.51516, y = 339.43874 + x = -2.97414, y = 57.80628 + x = -1.97740, y = 9.48974 + x = -1.83790, y = 6.74174 + x = -2.77368, y = 42.76808 + x = -3.75188, y = 155.66211 + x = 4.30861, y = 447.48330 + x = 3.18820, y = 149.07898 + x = 1.34781, y = 8.91281 + x = -4.21626, y = 254.62511 + x = 4.53433, y = 541.03846 + x = 4.54843, y = 547.34005 + x = 4.70158, y = 619.36025 + x = 4.57593, y = 559.77893 + x = 0.28235, y = 0.39093 + x = -0.63858, y = -0.32491 + x = -3.91045, y = 185.41707 + x = -4.34220, y = 288.14276 + x = 0.47268, y = 0.85163 + x = 2.26776, y = 45.52071 + x = 3.86903, y = 300.83704 + x = 1.89035, y = 24.98832 + x = -4.04444, y = 213.72357 + x = 2.27234, y = 45.83147 + x = -1.65171, y = 4.01311 + x = 4.59015, y = 566.29639 + x = 3.30686, y = 169.98524 + x = 1.89187, y = 25.05263 + x = -2.23895, y = 16.67953 + x = -0.34025, y = -0.25047 + x = -2.23048, y = 16.39900 + x = -1.33171, y = 1.22515 + x = -1.31732, y = 1.14342 + x = -0.10754, y = -0.09708 + x = -1.07754, y = 0.18055 + x = 2.93169, y = 110.59477 + x = -3.92699, y = 188.75114 + x = 4.62466, y = 582.34627 + x = 1.98596, y = 29.31798 + x = -2.90244, y = 52.03723 + x = -3.40533, y = 103.17573 + x = 1.51000, y = 12.43183 + x = 4.59906, y = 570.40556 + x = 1.04546, y = 4.47575 + x = -3.38905, y = 101.09164 + x = -2.64944, y = 35.04592 + x = 1.12312, y = 5.39235 + x = 4.59489, y = 568.47925 + x = 1.62851, y = 15.63281 + x = 3.12158, y = 138.23413 + x = 3.15005, y = 142.79297 + x = -0.51556, y = -0.31614 + x = 0.11639, y = 0.13170 + x = 0.79107, y = 2.30355 + x = 2.04751, y = 32.39873 + x = 1.81655, y = 21.99979 + x = 3.34319, y = 176.80963 + x = 3.13014, y = 139.59259 + x = 4.23964, y = 421.50452 + x = -0.70538, y = -0.31122 + x = -4.82489, y = 448.07025 + x = 4.68395, y = 610.72111 + x = -3.79776, y = 163.87222 + x = -0.74975, y = -0.29309 + x = 4.18907, y = 403.19263 + x = -1.97567, y = 9.45160 + x = 4.94938, y = 750.75761 + x = -1.34388, y = 1.29674 + x = 2.96498, y = 115.10537 + x = -2.06821, y = 11.65960 + x = 3.23830, y = 157.65280 + x = -3.50534, y = 116.69051 + x = -0.97072, y = -0.05521 + x = 2.35110, y = 51.42973 + x = 4.11771, y = 378.38040 + x = -0.61541, y = -0.32632 + x = -3.22604, y = 81.91920 + x = 0.16449, y = 0.19673 + x = -4.77516, y = 429.08200 + x = 1.53174, y = 12.97656 + x = -3.75303, y = 155.86425 + x = -4.82328, y = 447.44613 + x = 2.65222, y = 77.82430 + x = 3.46642, y = 201.52216 + x = -0.51536, y = -0.31610 + x = -1.91443, y = 8.16668 + x = -2.53395, y = 28.84480 + x = 4.43243, y = 497.14359 + x = 0.70339, y = 1.79095 + x = -4.10186, y = 226.79871 + x = 2.98231, y = 117.50867 + x = 2.41688, y = 56.49706 + x = -3.34032, y = 95.04236 + x = -0.94583, y = -0.09707 + x = -1.14074, y = 0.36947 + x = -4.90000, y = 477.93947 + x = -2.51929, y = 28.12005 + x = -2.75204, y = 41.33966 + x = 1.92775, y = 26.61838 + x = 2.22636, y = 42.78712 + x = -4.42340, y = 311.43911 + x = -4.04137, y = 213.04042 + x = 4.37005, y = 471.63279 + x = -4.90323, y = 479.25784 + x = 1.87461, y = 24.32596 + x = 2.97333, y = 116.25827 + x = 1.83221, y = 22.60948 + x = 1.64997, y = 16.27563 + x = -3.69357, y = 145.67554 + x = -1.03806, y = 0.08209 + x = -0.64950, y = -0.32368 + x = 3.91075, y = 312.92244 + x = -2.57325, y = 30.85524 + x = 3.34150, y = 176.48912 + x = 1.31231, y = 8.26026 + x = -2.24177, y = 16.77365 + x = 3.02427, y = 123.48393 + x = 2.14807, y = 37.96479 + x = -4.60902, y = 369.99048 + x = 4.08907, y = 368.75540 + x = -4.45639, y = 321.29646 + x = 2.70142, y = 82.96861 + x = 1.72837, y = 18.80240 + x = -4.26138, y = 266.27612 + x = -2.64482, y = 34.78036 + x = 2.27967, y = 46.33156 + x = -2.87539, y = 49.97669 + x = -1.06749, y = 0.15413 + x = -4.52352, y = 342.07975 + x = -3.85562, y = 174.68623 + x = 2.55237, y = 68.13490 + x = 0.12399, y = 0.14151 + x = -1.14195, y = 0.37348 + x = 1.26290, y = 7.41583 + x = -2.81876, y = 45.86010 + x = -2.66379, y = 35.88026 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.stt b/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.stt new file mode 100644 index 0000000..4e5a2c8 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.054 3.656 9 4 18 5 0.0000 0.0001 0.0000 13.054 3.656 9 4 18 5 +1 0 0.0000 0.0001 0.0000 13.196 4.125 9 4 11 4 0.0000 0.0001 0.0000 13.125 3.891 9 4 18 5 +2 0 0.0000 0.0001 0.0000 13.971 4.477 15 4 10 4 0.0000 0.0001 0.0000 13.407 4.086 15 4 18 5 +3 0 0.0000 0.0001 0.0000 14.311 4.709 15 4 16 5 0.0000 0.0001 0.0000 13.633 4.242 15 4 18 5 +4 0 0.0000 0.0001 0.0000 14.778 4.931 15 4 38 8 0.0000 0.0001 0.0000 13.862 4.379 15 4 18 5 +5 0 0.0000 0.0001 0.0000 15.343 5.164 15 4 6 4 0.0000 0.0001 0.0000 14.109 4.510 15 4 18 5 +6 0 0.0000 0.0001 0.0000 15.950 5.357 17 5 17 8 0.0000 0.0001 0.0000 14.372 4.631 17 5 18 5 +7 0 0.0000 0.0001 0.0000 16.375 5.532 17 5 5 3 0.0000 0.0001 0.0000 14.622 4.744 17 5 18 5 +8 0 0.0000 0.0002 0.0000 17.091 5.756 13 4 11 8 0.0000 0.0002 0.0000 14.896 4.856 13 4 18 5 +9 0 0.0000 0.0002 0.0000 17.315 5.822 13 4 9 4 0.0000 0.0002 0.0000 15.138 4.953 13 4 18 5 +10 0 0.0000 0.0002 0.0000 17.747 5.949 13 4 27 7 0.0000 0.0002 0.0000 15.375 5.043 13 4 18 5 +11 0 0.0000 0.0002 0.0000 18.169 6.065 13 4 32 13 0.0000 0.0002 0.0000 15.608 5.128 13 4 18 5 +12 0 0.0000 0.0002 0.0000 18.877 6.182 13 4 47 12 0.0000 0.0002 0.0000 15.860 5.210 13 4 18 5 +13 0 0.0000 0.0002 0.0000 19.517 6.319 53 12 18 7 0.0000 0.0002 0.0000 16.121 5.289 53 12 18 5 +14 0 0.0000 0.0002 0.0000 20.549 6.563 21 6 30 16 0.0000 0.0002 0.0000 16.416 5.374 21 6 18 5 +15 0 0.0000 0.0002 0.0000 21.867 6.818 21 6 9 6 0.0000 0.0002 0.0000 16.757 5.464 21 6 18 5 +16 0 0.0000 0.0002 0.0000 23.936 7.176 21 6 22 6 0.0000 0.0002 0.0000 17.179 5.565 21 6 18 5 +17 0 0.0000 0.0002 0.0000 26.557 7.585 47 7 30 13 0.0000 0.0002 0.0000 17.700 5.677 47 7 18 5 +18 0 0.0001 0.0004 0.0000 29.575 8.096 45 9 15 5 0.0000 0.0004 0.0000 18.325 5.804 45 9 18 5 +19 0 0.0001 0.0004 0.0000 33.296 8.609 45 9 30 8 0.0000 0.0004 0.0000 19.074 5.944 45 9 18 5 +20 0 0.0001 0.0006 0.0000 37.157 9.142 47 10 114 15 0.0000 0.0006 0.0000 19.935 6.097 47 10 18 5 +21 0 0.0001 0.0007 0.0000 41.347 9.714 46 10 74 14 0.0000 0.0007 0.0000 20.908 6.261 46 10 18 5 +22 0 0.0001 0.0007 0.0000 44.325 9.964 61 15 99 17 0.0000 0.0007 0.0000 21.926 6.422 61 15 18 5 +23 0 0.0001 0.0009 0.0000 48.118 10.384 34 8 60 9 0.0000 0.0009 0.0000 23.017 6.587 34 8 18 5 +24 0 0.0001 0.0009 0.0000 52.678 10.817 35 8 53 11 0.0000 0.0009 0.0000 24.204 6.756 35 8 18 5 +25 0 0.0001 0.0012 0.0000 56.750 11.234 47 8 42 8 0.0001 0.0012 0.0000 25.456 6.929 47 8 18 5 +26 0 0.0002 0.0012 0.0000 60.390 11.590 47 8 44 8 0.0001 0.0012 0.0000 26.750 7.101 47 8 18 5 +27 0 0.0002 0.0013 0.0000 64.803 12.069 57 9 92 17 0.0001 0.0013 0.0000 28.109 7.279 57 9 18 5 +28 0 0.0002 0.0013 0.0000 67.590 12.357 57 9 58 17 0.0001 0.0013 0.0000 29.470 7.454 57 9 18 5 +29 0 0.0003 0.0018 0.0000 70.283 12.770 43 9 19 7 0.0001 0.0018 0.0000 30.830 7.631 43 9 18 5 +30 0 0.0003 0.0018 0.0000 72.421 12.978 43 9 53 13 0.0001 0.0018 0.0000 32.172 7.804 43 9 18 5 +31 0 0.0003 0.0026 0.0000 74.762 13.217 56 9 43 8 0.0001 0.0026 0.0000 33.503 7.973 56 9 18 5 +32 0 0.0003 0.0031 0.0000 76.419 13.320 54 12 56 12 0.0001 0.0031 0.0000 34.803 8.135 54 12 18 5 +33 0 0.0003 0.0031 0.0000 78.075 13.521 54 12 66 11 0.0001 0.0031 0.0000 36.076 8.293 54 12 18 5 +34 0 0.0004 0.0059 0.0000 80.346 13.733 38 8 81 16 0.0001 0.0059 0.0000 37.341 8.449 38 8 18 5 +35 0 0.0005 0.0065 0.0000 81.098 13.765 88 14 95 14 0.0001 0.0065 0.0000 38.557 8.596 88 14 18 5 +36 0 0.0006 0.0338 0.0000 82.641 13.819 41 8 102 16 0.0001 0.0338 0.0000 39.748 8.737 41 8 18 5 +37 0 0.0007 0.0338 0.0000 82.141 13.698 41 8 24 8 0.0001 0.0338 0.0000 40.864 8.868 41 8 18 5 +38 0 0.0010 0.0365 0.0000 81.316 13.599 46 9 58 8 0.0002 0.0365 0.0000 41.901 8.989 46 9 18 5 +39 0 0.0017 0.0378 0.0000 80.223 13.419 45 8 74 12 0.0002 0.0378 0.0000 42.859 9.100 45 8 18 5 +40 0 0.0024 0.0381 0.0000 81.630 13.675 49 9 97 13 0.0003 0.0381 0.0000 43.805 9.212 49 9 18 5 +41 0 0.0032 0.0598 0.0000 85.478 14.206 130 17 79 11 0.0003 0.0598 0.0000 44.797 9.330 130 17 18 5 +42 0 0.0038 0.0606 0.0000 87.181 14.449 137 17 41 9 0.0004 0.0606 0.0000 45.782 9.450 137 17 18 5 +43 0 0.0054 0.0619 0.0000 90.079 14.794 119 16 36 8 0.0005 0.0619 0.0000 46.789 9.571 119 16 18 5 +44 0 0.0112 0.1107 0.0000 96.085 15.039 129 17 91 13 0.0008 0.1107 0.0000 47.885 9.692 129 17 18 5 +45 0 0.0228 0.1107 0.0000 109.693 15.242 129 17 126 16 0.0012 0.1107 0.0000 49.228 9.813 129 17 18 5 +46 0 0.0300 0.1110 0.0000 120.218 15.406 124 17 42 8 0.0019 0.1110 0.0000 50.739 9.932 124 17 18 5 +47 0 0.0327 0.1117 0.0000 124.767 15.517 104 14 61 9 0.0025 0.1117 0.0000 52.281 10.048 104 14 18 5 +48 0 0.0329 0.1117 0.0000 126.298 15.491 128 17 150 17 0.0031 0.1117 0.0000 53.792 10.160 128 17 18 5 +49 0 0.0331 0.1120 0.0000 127.974 15.459 125 17 131 17 0.0037 0.1120 0.0000 55.275 10.266 125 17 18 5 +50 0 0.0340 0.1129 0.0000 129.480 15.452 127 17 138 17 0.0043 0.1129 0.0000 56.730 10.367 127 17 18 5 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.sys b/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.sys new file mode 100644 index 0000000..9b14b66 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_3/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 324. +creating initial population(s): + 5577 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 291771405 + freed: 290768805 + not freed: 1002600 + max allocated: 14668868 + malloc'ed blocks: 748847 + realloc'ed blocks: 12 + free'ed blocks: 748697 + +------- time ------- + overall: 5s wall + evaluation: 5s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 400 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 144246 + freed: 144246 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.bst b/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.bst new file mode 100644 index 0000000..db2eacb --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.bst @@ -0,0 +1,51 @@ +=== BEST-OF-RUN === + generation: 50 + nodes: 123 + depth: 17 + hits: 72 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 72 + raw fitness: 13.5050 + standardized fitness: 13.5050 + adjusted fitness: 0.0689 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (/ (* (* (sin 0.25481) + (+ -0.94474 x)) + (- (- x -0.78444) x)) + (exp (* -0.12710 + (log (- x + (+ (/ (- -0.78444 + (* (* (+ (* (log (+ x x)) + (* (/ -0.36005 x) + (/ x 0.81104))) + (log (* 0.07855 + (/ x x)))) + (cos -0.49811)) + (* -0.40549 + (- (log -0.41531) + (sin 0.90664))))) + (* (exp x) + (cos (* (+ (- x + (* (- x -0.13610) + (* (+ 0.53905 x) + (- -0.45287 x)))) + (exp x)) + (/ (+ x x) + (+ (/ (log (/ x + (cos 0.24426))) + (cos (cos x))) + (exp (/ (- -0.45287 x) + (- (cos x) + (exp -0.49588)))))))))) + (sin (exp (log (cos (/ x 0.56448)))))))))))) +TREE-equ: +y = ((((0.53905 + x) * (-0.45287 - x)) * (-0.78444 - ((x * x) - (x - x)))) + (((sin(0.25481) * (-0.94474 + x)) * ((x - -0.78444) - x)) / exp((-0.12710 * log((x - (((-0.78444 - ((((log((x + x)) * ((-0.36005 / x) * (x / 0.81104))) + log((0.07855 * (x / x)))) * cos(-0.49811)) * (-0.40549 * (log(-0.41531) - sin(0.90664))))) / (exp(x) * cos((((x - ((x - -0.13610) * ((0.53905 + x) * (-0.45287 - x)))) + exp(x)) * ((x + x) / ((log((x / cos(0.24426))) / cos(cos(x))) + exp(((-0.45287 - x) / (cos(x) - exp(-0.49588)))))))))) + sin(exp(log(cos((x / 0.56448)))))))))))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.fn b/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.fn new file mode 100644 index 0000000..50ee044 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.fn @@ -0,0 +1,2 @@ + +y = ((((0.53905 + x) * (-0.45287 - x)) * (-0.78444 - ((x * x) - (x - x)))) + (((sin(0.25481) * (-0.94474 + x)) * ((x - -0.78444) - x)) / exp((-0.12710 * log((x - (((-0.78444 - ((((log((x + x)) * ((-0.36005 / x) * (x / 0.81104))) + log((0.07855 * (x / x)))) * cos(-0.49811)) * (-0.40549 * (log(-0.41531) - sin(0.90664))))) / (exp(x) * cos((((x - ((x - -0.13610) * ((0.53905 + x) * (-0.45287 - x)))) + exp(x)) * ((x + x) / ((log((x / cos(0.24426))) / cos(cos(x))) + exp(((-0.45287 - x) / (cos(x) - exp(-0.49588)))))))))) + sin(exp(log(cos((x / 0.56448)))))))))))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.gen b/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.his b/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.his new file mode 100644 index 0000000..fec5d5d --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.his @@ -0,0 +1,1420 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 31 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7297.2375 + standardized fitness: 7297.2375 + adjusted fitness: 0.0001 +TREE: + (+ (* (/ (log x) -0.08776) + (- (cos (+ x 0.37279)) + (- (* x x) + (- x x)))) + (+ (* (sin (log x)) x) + (sin (- (log -0.32815) + (- x 0.74305))))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 31 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7297.2375 + standardized fitness: 7297.2375 + adjusted fitness: 0.0001 +TREE: + (+ (* (/ (log x) -0.08776) + (- (cos (+ x 0.37279)) + (- (* x x) + (- x x)))) + (+ (* (sin (log x)) x) + (sin (- (log -0.32815) + (- x 0.74305))))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 25 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6579.0036 + standardized fitness: 6579.0036 + adjusted fitness: 0.0002 +TREE: + (+ (* (/ (log x) -0.08776) + (- (cos (log x)) + (- (* x x) + (- x x)))) + (+ (* (sin (log x)) x) + (cos 0.93948))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 25 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6533.0093 + standardized fitness: 6533.0093 + adjusted fitness: 0.0002 +TREE: + (+ (* (/ (log x) -0.08776) + (- (cos (log x)) + (- (* x x) + (- x x)))) + (+ (* (- x 0.17067) x) + (cos 0.93948))) +=== BEST-OF-RUN === + current generation: 4 + generation: 3 + nodes: 25 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6533.0093 + standardized fitness: 6533.0093 + adjusted fitness: 0.0002 +TREE: + (+ (* (/ (log x) -0.08776) + (- (cos (log x)) + (- (* x x) + (- x x)))) + (+ (* (- x 0.17067) x) + (cos 0.93948))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 96 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6230.4721 + standardized fitness: 6230.4721 + adjusted fitness: 0.0002 +TREE: + (+ (* (/ (log x) -0.08776) + (- (cos (+ x 0.37279)) + (- (* x x) + (- (log (exp (/ x + (log 0.26288)))) + (sin (+ (+ (/ (* (exp x) + (log (cos (* x 0.72486)))) x) x) + (log (/ (/ (- (/ (+ 0.49007 0.08089) + (* -0.67376 x)) + (+ (log 0.67930) + (+ x x))) + (- (cos (/ x -0.87370)) + (/ (* 0.05360 x) + (* x -0.04330)))) + (sin (* (exp (+ 0.32408 -0.40484)) + (- (+ x 0.04091) + (cos -0.85319)))))))))))) + (+ (* (sin (log x)) x) + (sin (- (log -0.32815) + (+ (* 0.16367 + (log (/ 0.50566 x))) + (exp -0.77295)))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 29 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5142.9586 + standardized fitness: 5142.9586 + adjusted fitness: 0.0002 +TREE: + (+ (* (/ (log x) -0.08776) + (- (sin (cos (log (cos x)))) + (- (* x + (+ (sin (sin 0.87918)) x)) + (- x x)))) + (+ (* (sin 0.78209) x) x)) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 28 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4548.7372 + standardized fitness: 4548.7372 + adjusted fitness: 0.0002 +TREE: + (+ (* (/ (log x) -0.08776) + (- (cos (/ x + (* (exp x) x))) + (- (* x x) + (- x x)))) + (* (log x) + (exp (- x -0.63957)))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 62 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3841.9438 + standardized fitness: 3841.9438 + adjusted fitness: 0.0003 +TREE: + (+ (* (/ (log x) -0.08776) + (- (cos (log x)) + (- (* x x) + (cos (/ (- (- -0.46679 x) + (cos (cos x))) + (cos (sin 0.06258))))))) + (+ (* (/ (exp x) + (/ -0.91244 -0.34247)) x) + (sin (- (log (* (/ (* (+ 0.29444 x) + (- x -0.35762)) + (+ x + (sin 0.68882))) + (- (log x) x))) + (* (- x + (* x 0.16837)) -0.03464))))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 73 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3263.5962 + standardized fitness: 3263.5962 + adjusted fitness: 0.0003 +TREE: + (+ (* (/ (log x) -0.08776) + (- (cos (log x)) + (- (* x x) + (cos (/ (- (* (/ (log x) -0.08776) + (/ -0.91425 + (log (* (cos x) + (* x 0.88768))))) + (cos (cos x))) + (cos (sin 0.06258))))))) + (+ (* (/ (exp x) + (/ -0.91244 -0.34247)) x) + (sin (- (log (* (/ (* (+ 0.29444 x) + (- x -0.35762)) + (+ x + (sin 0.68882))) + (- (log x) x))) + (* (- x + (* x 0.16837)) -0.03464))))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 30 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 767.7254 + standardized fitness: 767.7254 + adjusted fitness: 0.0013 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- (cos (+ x 0.37279)) + (- (* x x) + (- x x)))) + (sin (log (- x + (+ (- 0.84717 0.87987) x))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 10 + nodes: 30 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 767.7254 + standardized fitness: 767.7254 + adjusted fitness: 0.0013 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- (cos (+ x 0.37279)) + (- (* x x) + (- x x)))) + (sin (log (- x + (+ (- 0.84717 0.87987) x))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 38 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 676.5610 + standardized fitness: 676.5610 + adjusted fitness: 0.0015 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- (cos (+ x + (+ (* 0.16367 + (log (/ 0.50566 x))) + (exp -0.77295)))) + (- (* x x) + (- x x)))) + (sin (log (- x + (+ (- 0.84717 0.87987) x))))) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 29 + depth: 6 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 529.9978 + standardized fitness: 529.9978 + adjusted fitness: 0.0019 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- (cos (log (* x x))) + (- (* x x) + (- x x)))) + (sin (log (- x + (+ x x))))) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 30 + depth: 8 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 167.0065 + standardized fitness: 167.0065 + adjusted fitness: 0.0060 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.66627 + (- (* x x) + (- x x)))) + (sin (log (+ (log (exp (/ x + (log 0.26288)))) + (sin (log -0.15460)))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 14 + nodes: 30 + depth: 8 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 167.0065 + standardized fitness: 167.0065 + adjusted fitness: 0.0060 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.66627 + (- (* x x) + (- x x)))) + (sin (log (+ (log (exp (/ x + (log 0.26288)))) + (sin (log -0.15460)))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 23 + depth: 5 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 117.6384 + standardized fitness: 117.6384 + adjusted fitness: 0.0084 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- (* 0.94106 -0.90000) + (- (* x x) + (- x x)))) + (sin (log -0.75421))) +=== BEST-OF-RUN === + current generation: 17 + generation: 16 + nodes: 23 + depth: 5 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 117.6384 + standardized fitness: 117.6384 + adjusted fitness: 0.0084 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- (* 0.94106 -0.90000) + (- (* x x) + (- x x)))) + (sin (log -0.75421))) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 29 + depth: 7 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 103.9686 + standardized fitness: 103.9686 + adjusted fitness: 0.0095 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.66627 + (- (* x x) + (/ -0.61778 + (+ x + (sin 0.68882)))))) + (sin (log (+ (+ 0.53905 x) + (log -0.15460))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 18 + nodes: 29 + depth: 7 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 103.9686 + standardized fitness: 103.9686 + adjusted fitness: 0.0095 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.66627 + (- (* x x) + (/ -0.61778 + (+ x + (sin 0.68882)))))) + (sin (log (+ (+ 0.53905 x) + (log -0.15460))))) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 22 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 81.3378 + standardized fitness: 81.3378 + adjusted fitness: 0.0121 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (sin (* 0.39122 x))) +=== BEST-OF-RUN === + current generation: 21 + generation: 20 + nodes: 22 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 81.3378 + standardized fitness: 81.3378 + adjusted fitness: 0.0121 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (sin (* 0.39122 x))) +=== BEST-OF-RUN === + current generation: 22 + generation: 20 + nodes: 22 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 81.3378 + standardized fitness: 81.3378 + adjusted fitness: 0.0121 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (sin (* 0.39122 x))) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 63 + depth: 12 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 65.0133 + standardized fitness: 65.0133 + adjusted fitness: 0.0151 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (sin (log (+ (* (/ (exp (- x + (cos -0.49811))) + (- -0.78444 + (- (* x x) + (- x x)))) x) + (sin (- (log (* (/ -0.61778 + (+ x + (/ 0.27553 + (* 0.19558 0.21923)))) + (exp (log (log (- x x)))))) + (+ (log x) + (- -0.47909 -0.57721)))))))) +=== BEST-OF-RUN === + current generation: 24 + generation: 23 + nodes: 63 + depth: 12 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 65.0133 + standardized fitness: 65.0133 + adjusted fitness: 0.0151 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (sin (log (+ (* (/ (exp (- x + (cos -0.49811))) + (- -0.78444 + (- (* x x) + (- x x)))) x) + (sin (- (log (* (/ -0.61778 + (+ x + (/ 0.27553 + (* 0.19558 0.21923)))) + (exp (log (log (- x x)))))) + (+ (log x) + (- -0.47909 -0.57721)))))))) +=== BEST-OF-RUN === + current generation: 25 + generation: 23 + nodes: 63 + depth: 12 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 65.0133 + standardized fitness: 65.0133 + adjusted fitness: 0.0151 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (sin (log (+ (* (/ (exp (- x + (cos -0.49811))) + (- -0.78444 + (- (* x x) + (- x x)))) x) + (sin (- (log (* (/ -0.61778 + (+ x + (/ 0.27553 + (* 0.19558 0.21923)))) + (exp (log (log (- x x)))))) + (+ (log x) + (- -0.47909 -0.57721)))))))) +=== BEST-OF-RUN === + current generation: 26 + generation: 23 + nodes: 63 + depth: 12 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 65.0133 + standardized fitness: 65.0133 + adjusted fitness: 0.0151 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (sin (log (+ (* (/ (exp (- x + (cos -0.49811))) + (- -0.78444 + (- (* x x) + (- x x)))) x) + (sin (- (log (* (/ -0.61778 + (+ x + (/ 0.27553 + (* 0.19558 0.21923)))) + (exp (log (log (- x x)))))) + (+ (log x) + (- -0.47909 -0.57721)))))))) +=== BEST-OF-RUN === + current generation: 27 + generation: 23 + nodes: 63 + depth: 12 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 65.0133 + standardized fitness: 65.0133 + adjusted fitness: 0.0151 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (sin (log (+ (* (/ (exp (- x + (cos -0.49811))) + (- -0.78444 + (- (* x x) + (- x x)))) x) + (sin (- (log (* (/ -0.61778 + (+ x + (/ 0.27553 + (* 0.19558 0.21923)))) + (exp (log (log (- x x)))))) + (+ (log x) + (- -0.47909 -0.57721)))))))) +=== BEST-OF-RUN === + current generation: 28 + generation: 28 + nodes: 27 + depth: 5 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 57.4717 + standardized fitness: 57.4717 + adjusted fitness: 0.0171 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- (cos (exp 0.91243)) + (- (* x x) + (- x x)))) + (sin (* (- (exp 0.37190) x) -0.27717))) +=== BEST-OF-RUN === + current generation: 29 + generation: 28 + nodes: 27 + depth: 5 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 57.4717 + standardized fitness: 57.4717 + adjusted fitness: 0.0171 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- (cos (exp 0.91243)) + (- (* x x) + (- x x)))) + (sin (* (- (exp 0.37190) x) -0.27717))) +=== BEST-OF-RUN === + current generation: 30 + generation: 28 + nodes: 27 + depth: 5 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 57.4717 + standardized fitness: 57.4717 + adjusted fitness: 0.0171 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- (cos (exp 0.91243)) + (- (* x x) + (- x x)))) + (sin (* (- (exp 0.37190) x) -0.27717))) +=== BEST-OF-RUN === + current generation: 31 + generation: 28 + nodes: 27 + depth: 5 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 57.4717 + standardized fitness: 57.4717 + adjusted fitness: 0.0171 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- (cos (exp 0.91243)) + (- (* x x) + (- x x)))) + (sin (* (- (exp 0.37190) x) -0.27717))) +=== BEST-OF-RUN === + current generation: 32 + generation: 28 + nodes: 27 + depth: 5 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 57.4717 + standardized fitness: 57.4717 + adjusted fitness: 0.0171 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- (cos (exp 0.91243)) + (- (* x x) + (- x x)))) + (sin (* (- (exp 0.37190) x) -0.27717))) +=== BEST-OF-RUN === + current generation: 33 + generation: 28 + nodes: 27 + depth: 5 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 57.4717 + standardized fitness: 57.4717 + adjusted fitness: 0.0171 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- (cos (exp 0.91243)) + (- (* x x) + (- x x)))) + (sin (* (- (exp 0.37190) x) -0.27717))) +=== BEST-OF-RUN === + current generation: 34 + generation: 34 + nodes: 33 + depth: 9 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 51.5242 + standardized fitness: 51.5242 + adjusted fitness: 0.0190 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (sin (* (- (sin (cos (/ (exp (- -0.03403 -0.17017)) + (exp (exp x))))) x) -0.27717))) +=== BEST-OF-RUN === + current generation: 35 + generation: 34 + nodes: 33 + depth: 9 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 51.5242 + standardized fitness: 51.5242 + adjusted fitness: 0.0190 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (sin (* (- (sin (cos (/ (exp (- -0.03403 -0.17017)) + (exp (exp x))))) x) -0.27717))) +=== BEST-OF-RUN === + current generation: 36 + generation: 36 + nodes: 41 + depth: 11 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 50.9812 + standardized fitness: 50.9812 + adjusted fitness: 0.0192 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (sin (* (- (sin (cos (/ (cos (- (log (/ x x)) + (- (/ -0.10128 0.32084) + (exp x)))) + (exp (exp x))))) x) -0.27717))) +=== BEST-OF-RUN === + current generation: 37 + generation: 37 + nodes: 39 + depth: 7 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 36.6846 + standardized fitness: 36.6846 + adjusted fitness: 0.0265 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (/ (* (* (sin 0.25481) + (+ -0.94474 x)) + (- (- x -0.78444) x)) + (exp (* -0.12710 + (log (log (* -0.00573 0.32662))))))) +=== BEST-OF-RUN === + current generation: 38 + generation: 37 + nodes: 39 + depth: 7 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 36.6846 + standardized fitness: 36.6846 + adjusted fitness: 0.0265 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (/ (* (* (sin 0.25481) + (+ -0.94474 x)) + (- (- x -0.78444) x)) + (exp (* -0.12710 + (log (log (* -0.00573 0.32662))))))) +=== BEST-OF-RUN === + current generation: 39 + generation: 37 + nodes: 39 + depth: 7 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 36.6846 + standardized fitness: 36.6846 + adjusted fitness: 0.0265 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (/ (* (* (sin 0.25481) + (+ -0.94474 x)) + (- (- x -0.78444) x)) + (exp (* -0.12710 + (log (log (* -0.00573 0.32662))))))) +=== BEST-OF-RUN === + current generation: 40 + generation: 37 + nodes: 39 + depth: 7 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 36.6846 + standardized fitness: 36.6846 + adjusted fitness: 0.0265 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (/ (* (* (sin 0.25481) + (+ -0.94474 x)) + (- (- x -0.78444) x)) + (exp (* -0.12710 + (log (log (* -0.00573 0.32662))))))) +=== BEST-OF-RUN === + current generation: 41 + generation: 37 + nodes: 39 + depth: 7 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 36.6846 + standardized fitness: 36.6846 + adjusted fitness: 0.0265 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (/ (* (* (sin 0.25481) + (+ -0.94474 x)) + (- (- x -0.78444) x)) + (exp (* -0.12710 + (log (log (* -0.00573 0.32662))))))) +=== BEST-OF-RUN === + current generation: 42 + generation: 37 + nodes: 39 + depth: 7 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 36.6846 + standardized fitness: 36.6846 + adjusted fitness: 0.0265 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (/ (* (* (sin 0.25481) + (+ -0.94474 x)) + (- (- x -0.78444) x)) + (exp (* -0.12710 + (log (log (* -0.00573 0.32662))))))) +=== BEST-OF-RUN === + current generation: 43 + generation: 43 + nodes: 41 + depth: 9 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 35.4950 + standardized fitness: 35.4950 + adjusted fitness: 0.0274 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (/ (* (* (sin 0.25481) + (+ -0.94474 x)) + (- (- x -0.78444) x)) + (exp (* -0.12710 + (log (exp (exp (sin (/ -0.66614 -0.69562))))))))) +=== BEST-OF-RUN === + current generation: 44 + generation: 44 + nodes: 37 + depth: 5 + hits: 54 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 54 + raw fitness: 26.6386 + standardized fitness: 26.6386 + adjusted fitness: 0.0362 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (/ (* (* (sin 0.25481) + (+ -0.94474 x)) + (- (- x -0.78444) x)) + (exp (* -0.12710 + (/ x -0.67208))))) +=== BEST-OF-RUN === + current generation: 45 + generation: 45 + nodes: 114 + depth: 17 + hits: 19 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 19 + raw fitness: 23.6998 + standardized fitness: 23.6998 + adjusted fitness: 0.0405 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (/ (* (* (sin 0.25481) + (+ -0.94474 x)) + (- (- x -0.78444) x)) + (exp (* -0.12710 + (log (- x + (+ (/ (- -0.78444 + (* (* (cos (log -0.64138)) + (cos -0.49811)) + (* -0.40549 + (- (log -0.41531) + (sin 0.90664))))) + (* (/ (sin (exp x)) + (sin (cos -0.66221))) + (cos (* (+ (- x + (* (- x -0.13610) + (* (+ 0.53905 x) + (- -0.45287 x)))) + (exp x)) + (/ (+ x x) + (+ (/ (log (/ x + (cos 0.24426))) + (cos (cos x))) + (exp (/ (+ (cos -0.92695) + (sin -0.94591)) + (- (cos x) + (exp -0.49588)))))))))) + (sin (exp (log (cos (/ x 0.56448)))))))))))) +=== BEST-OF-RUN === + current generation: 46 + generation: 46 + nodes: 112 + depth: 17 + hits: 19 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 19 + raw fitness: 21.3280 + standardized fitness: 21.3280 + adjusted fitness: 0.0448 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (/ (* (* (sin 0.25481) + (+ -0.94474 x)) + (- (- x -0.78444) x)) + (exp (* -0.12710 + (log (- x + (+ (/ (- -0.78444 + (* (* (cos (log -0.64138)) + (cos -0.49811)) + (* -0.40549 + (- (log -0.41531) + (sin 0.90664))))) + (* (/ (sin (exp x)) + (sin (cos -0.66221))) + (cos (* (+ (- x + (* (- x -0.13610) + (* (+ 0.53905 x) + (- -0.45287 x)))) + (exp x)) + (/ (+ x x) + (+ (/ (log (/ x + (cos 0.24426))) + (cos (cos x))) + (exp (/ (- -0.45287 x) + (- (cos x) + (exp -0.49588)))))))))) + (sin (exp (log (cos (/ x 0.56448)))))))))))) +=== BEST-OF-RUN === + current generation: 47 + generation: 47 + nodes: 120 + depth: 17 + hits: 24 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 24 + raw fitness: 20.8015 + standardized fitness: 20.8015 + adjusted fitness: 0.0459 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (/ (* (* (sin 0.25481) + (+ -0.94474 x)) + (- (- x -0.78444) x)) + (exp (* -0.12710 + (log (- x + (+ (/ (- -0.78444 + (* (* (cos (log -0.64138)) + (cos -0.49811)) + (* -0.40549 + (- (log -0.41531) + (sin 0.90664))))) + (* (/ (sin (exp x)) + (sin (cos -0.66221))) + (cos (* (+ (- x + (* (- x -0.13610) + (* (+ 0.53905 x) + (- -0.45287 x)))) + (exp x)) + (/ (+ x x) + (+ (/ (log (/ x + (cos 0.24426))) + (* (- (* x x) + (- x x)) x)) + (exp (/ (+ (cos -0.92695) + (sin -0.94591)) + (- (cos x) + (exp -0.49588)))))))))) + (sin (exp (log (cos (/ x 0.56448)))))))))))) +=== BEST-OF-RUN === + current generation: 48 + generation: 48 + nodes: 121 + depth: 17 + hits: 59 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 59 + raw fitness: 17.0922 + standardized fitness: 17.0922 + adjusted fitness: 0.0553 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (/ (* (* (sin 0.25481) + (+ -0.94474 x)) + (- (- x -0.78444) x)) + (exp (* -0.12710 + (log (- x + (+ (/ (sin (- (exp (- x + (sin 0.06940))) + (* (sin 0.25481) + (+ -0.94474 x)))) + (* (/ (sin (exp x)) + (sin (exp (/ (- (cos x) + (cos -0.19791)) x)))) + (cos (* (+ (- x + (* (- x -0.13610) + (* (+ 0.53905 x) + (- -0.45287 x)))) + (exp x)) + (/ (+ x + (+ (- 0.55204 x) -0.49811)) + (+ (/ (log (/ x + (cos 0.24426))) + (cos (cos x))) + (exp (/ (+ (cos -0.92695) + (sin -0.94591)) + (- (cos x) + (exp -0.49588)))))))))) + (sin (exp (log (cos (/ x 0.56448)))))))))))) +=== BEST-OF-RUN === + current generation: 49 + generation: 49 + nodes: 84 + depth: 15 + hits: 21 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 21 + raw fitness: 13.8491 + standardized fitness: 13.8491 + adjusted fitness: 0.0673 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (/ (* (* (sin 0.25481) + (+ -0.94474 x)) + (- (- x -0.78444) x)) + (exp (* -0.12710 + (log (- x + (+ (/ (- -0.78444 + (* (* (+ (+ -0.20390 + (- (log x) + (- x x))) + (exp (cos (sin -0.44043)))) + (* (sin x) x)) + (* -0.40549 + (- (log -0.41531) + (sin 0.90664))))) + (* (/ (sin (exp x)) + (sin (cos -0.66221))) + (cos 0.11958))) + (sin (exp (log (cos (/ x 0.56448)))))))))))) +=== BEST-OF-RUN === + current generation: 50 + generation: 50 + nodes: 123 + depth: 17 + hits: 72 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 72 + raw fitness: 13.5050 + standardized fitness: 13.5050 + adjusted fitness: 0.0689 +TREE: + (+ (* (* (+ 0.53905 x) + (- -0.45287 x)) + (- -0.78444 + (- (* x x) + (- x x)))) + (/ (* (* (sin 0.25481) + (+ -0.94474 x)) + (- (- x -0.78444) x)) + (exp (* -0.12710 + (log (- x + (+ (/ (- -0.78444 + (* (* (+ (* (log (+ x x)) + (* (/ -0.36005 x) + (/ x 0.81104))) + (log (* 0.07855 + (/ x x)))) + (cos -0.49811)) + (* -0.40549 + (- (log -0.41531) + (sin 0.90664))))) + (* (exp x) + (cos (* (+ (- x + (* (- x -0.13610) + (* (+ 0.53905 x) + (- -0.45287 x)))) + (exp x)) + (/ (+ x x) + (+ (/ (log (/ x + (cos 0.24426))) + (cos (cos x))) + (exp (/ (- -0.45287 x) + (- (cos x) + (exp -0.49588)))))))))) + (sin (exp (log (cos (/ x 0.56448)))))))))))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.prg b/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.prg new file mode 100644 index 0000000..ffc1832 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 0.21870, y = 0.27928 + x = -0.33569, y = -0.24813 + x = -1.92730, y = 8.42568 + x = 1.14854, y = 5.72288 + x = 1.62321, y = 15.47713 + x = -4.54985, y = 350.50283 + x = 0.43525, y = 0.74304 + x = 4.54420, y = 545.44378 + x = 2.17454, y = 39.54539 + x = -3.00661, y = 60.57021 + x = 4.14334, y = 387.15615 + x = 0.26212, y = 0.35356 + x = 2.50841, y = 64.17488 + x = -2.08370, y = 12.06241 + x = -0.11056, y = -0.09954 + x = 2.94851, y = 112.85619 + x = 0.33393, y = 0.49511 + x = -0.22416, y = -0.18265 + x = 0.11817, y = 0.13398 + x = 3.06682, y = 129.77824 + x = -3.23578, y = 82.98181 + x = 1.65077, y = 16.30014 + x = 2.20503, y = 41.42871 + x = 4.04077, y = 352.94302 + x = -0.68793, y = -0.31628 + x = 2.86650, y = 102.15289 + x = -0.74728, y = -0.29432 + x = 4.23078, y = 418.25120 + x = -0.95381, y = -0.08414 + x = -0.62862, y = -0.32571 + x = -2.25131, y = 17.09520 + x = 3.49325, y = 207.23211 + x = -0.27518, y = -0.21456 + x = -0.10332, y = -0.09363 + x = 4.13111, y = 382.94836 + x = -0.68044, y = -0.31812 + x = 3.36800, y = 181.58973 + x = 0.00248, y = 0.00249 + x = 2.93462, y = 110.98640 + x = 4.35593, y = 465.99749 + x = 2.15140, y = 38.16100 + x = -2.02497, y = 10.58627 + x = 3.90288, y = 310.61320 + x = 2.29631, y = 47.48276 + x = -2.35264, y = 20.79594 + x = 3.17356, y = 146.64293 + x = 3.31189, y = 170.91732 + x = 3.11709, y = 137.52512 + x = -2.00559, y = 10.12912 + x = -3.94357, y = 192.13595 + x = -1.72744, y = 5.00639 + x = 0.03074, y = 0.03172 + x = -4.39456, y = 303.00715 + x = 2.92386, y = 109.55384 + x = 4.18314, y = 401.08461 + x = 1.72545, y = 18.70315 + x = 4.93949, y = 745.14430 + x = 3.17602, y = 147.04911 + x = 2.01743, y = 30.86359 + x = -2.69635, y = 37.82798 + x = -2.91786, y = 53.24003 + x = -4.56723, y = 356.14496 + x = -3.39042, y = 101.26578 + x = 2.81861, y = 96.27139 + x = -0.15801, y = -0.13636 + x = 1.16831, y = 5.99105 + x = 1.35924, y = 9.13147 + x = -4.78789, y = 433.88559 + x = -4.73106, y = 412.75275 + x = 1.71588, y = 18.38060 + x = 4.63662, y = 587.98954 + x = 2.21684, y = 42.17668 + x = -3.21857, y = 81.11225 + x = -0.93826, y = -0.10892 + x = -0.20574, y = -0.17033 + x = 1.73348, y = 18.97703 + x = 1.04533, y = 4.47429 + x = 4.28116, y = 437.00486 + x = 4.85763, y = 699.87460 + x = 2.58662, y = 71.34782 + x = 2.92701, y = 109.97122 + x = 1.07671, y = 4.82820 + x = -2.78665, y = 43.64105 + x = -3.25746, y = 85.38237 + x = -2.71077, y = 38.71491 + x = -2.68408, y = 37.08494 + x = 1.88367, y = 24.70548 + x = 1.90622, y = 25.66990 + x = -4.94531, y = 496.66822 + x = -2.03721, y = 10.88240 + x = 2.96032, y = 114.46499 + x = 3.15590, y = 143.74267 + x = -0.26646, y = -0.20933 + x = -3.78125, y = 160.88231 + x = 4.71931, y = 628.13508 + x = 4.93456, y = 742.35830 + x = -3.80640, y = 165.45352 + x = -0.15886, y = -0.13700 + x = -2.49795, y = 27.08984 + x = 0.91388, y = 3.20986 + x = -2.87176, y = 49.70515 + x = 4.03072, y = 349.72000 + x = 3.25946, y = 161.38354 + x = 0.40779, y = 0.66954 + x = -1.87058, y = 7.32671 + x = 2.19585, y = 40.85499 + x = -2.18261, y = 14.87723 + x = 3.86290, y = 299.09334 + x = 0.63463, y = 1.45519 + x = 1.86722, y = 24.01953 + x = 4.84178, y = 691.35396 + x = -1.96673, y = 9.25548 + x = 3.12133, y = 138.19396 + x = -0.94536, y = -0.09781 + x = -0.65667, y = -0.32267 + x = -1.07375, y = 0.17050 + x = 0.69922, y = 1.76904 + x = -4.60917, y = 370.04124 + x = 3.09930, y = 134.74419 + x = -0.09257, y = -0.08472 + x = -0.02529, y = -0.02467 + x = -3.48189, y = 113.40985 + x = 2.71006, y = 83.89858 + x = -0.64494, y = -0.32424 + x = -0.41236, y = -0.28352 + x = -4.39410, y = 302.87610 + x = 3.95738, y = 326.85601 + x = 1.37364, y = 9.41271 + x = -4.06768, y = 218.94499 + x = 2.59841, y = 72.47964 + x = -1.08392, y = 0.19783 + x = 2.18243, y = 40.02628 + x = -1.35347, y = 1.35478 + x = -2.00959, y = 10.22235 + x = 2.74485, y = 87.72327 + x = -0.10626, y = -0.09605 + x = 2.95538, y = 113.79023 + x = 3.15871, y = 144.20184 + x = 2.39921, y = 55.09979 + x = 3.36299, y = 180.61607 + x = 1.61670, y = 15.28749 + x = 1.49284, y = 12.01482 + x = 3.80692, y = 283.50795 + x = 0.14726, y = 0.17261 + x = 2.98809, y = 118.31741 + x = 1.44221, y = 10.84821 + x = -4.55416, y = 351.89432 + x = -4.62151, y = 374.20865 + x = 1.63110, y = 15.70942 + x = 4.11341, y = 376.92423 + x = -4.02282, y = 208.94987 + x = -0.18003, y = -0.15241 + x = -1.09118, y = 0.21797 + x = -0.09636, y = -0.08788 + x = -3.00220, y = 60.18916 + x = -0.05419, y = -0.05140 + x = 0.38419, y = 0.61029 + x = 0.26905, y = 0.36616 + x = 2.66294, y = 78.92358 + x = 3.23568, y = 157.19541 + x = 4.24047, y = 421.81096 + x = -0.34132, y = -0.25101 + x = -3.53631, y = 121.13314 + x = 2.27164, y = 45.78370 + x = -4.74948, y = 419.51455 + x = -1.65106, y = 4.00526 + x = -0.77364, y = -0.27993 + x = -2.02593, y = 10.60936 + x = 1.06655, y = 4.71128 + x = 2.90112, y = 106.57270 + x = -1.51959, y = 2.61282 + x = 0.32073, y = 0.46718 + x = -1.24027, y = 0.75640 + x = 3.98589, y = 335.60460 + x = -1.06975, y = 0.16001 + x = -4.84526, y = 456.02986 + x = 2.60929, y = 73.53709 + x = -2.19358, y = 15.21661 + x = -2.64275, y = 34.66200 + x = 4.64183, y = 590.45936 + x = 0.22171, y = 0.28418 + x = -1.31167, y = 1.11218 + x = 3.71070, y = 258.16642 + x = -2.30336, y = 18.92980 + x = 3.35793, y = 179.63885 + x = 4.25740, y = 428.08190 + x = 0.71874, y = 1.87346 + x = 1.37489, y = 9.43758 + x = -2.26011, y = 17.39585 + x = -0.60409, y = -0.32644 + x = -4.33262, y = 285.48188 + x = -0.01869, y = -0.01834 + x = -2.90784, y = 52.45625 + x = 4.49809, y = 525.10580 + x = -0.11742, y = -0.10506 + x = -3.70404, y = 147.43226 + x = -2.26689, y = 17.63003 + x = 4.82103, y = 680.32125 + x = -3.78299, y = 161.19399 + x = 2.83335, y = 98.05348 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.stt b/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.stt new file mode 100644 index 0000000..f28b368 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 12.932 3.628 31 5 31 6 0.0000 0.0001 0.0000 12.932 3.628 31 5 31 6 +1 0 0.0000 0.0001 0.0000 12.883 4.077 31 5 26 6 0.0000 0.0001 0.0000 12.907 3.853 31 5 31 6 +2 0 0.0000 0.0002 0.0000 13.536 4.386 25 5 21 8 0.0000 0.0002 0.0000 13.117 4.031 25 5 31 6 +3 0 0.0000 0.0002 0.0000 13.886 4.641 25 5 6 4 0.0000 0.0002 0.0000 13.309 4.183 25 5 31 6 +4 0 0.0000 0.0002 0.0000 14.787 4.954 25 5 11 7 0.0000 0.0002 0.0000 13.605 4.337 25 5 31 6 +5 0 0.0000 0.0002 0.0000 15.790 5.236 96 13 24 8 0.0000 0.0002 0.0000 13.969 4.487 96 13 31 6 +6 0 0.0000 0.0002 0.0000 17.269 5.549 29 8 4 3 0.0000 0.0002 0.0000 14.440 4.639 29 8 31 6 +7 0 0.0000 0.0002 0.0000 19.248 5.938 28 7 8 5 0.0000 0.0002 0.0000 15.041 4.801 28 7 31 6 +8 0 0.0001 0.0003 0.0000 22.829 6.454 62 9 36 8 0.0000 0.0003 0.0000 15.907 4.985 62 9 31 6 +9 0 0.0001 0.0003 0.0000 27.521 7.115 73 12 12 6 0.0000 0.0003 0.0000 17.068 5.198 73 12 31 6 +10 0 0.0001 0.0013 0.0000 33.756 7.950 30 6 25 9 0.0000 0.0013 0.0000 18.585 5.448 30 6 31 6 +11 0 0.0001 0.0013 0.0000 40.440 8.811 30 6 64 11 0.0001 0.0013 0.0000 20.406 5.728 30 6 31 6 +12 0 0.0001 0.0015 0.0000 46.852 9.619 38 9 60 10 0.0001 0.0015 0.0000 22.441 6.028 38 9 31 6 +13 0 0.0002 0.0019 0.0000 50.837 10.063 29 6 57 10 0.0001 0.0019 0.0000 24.469 6.316 29 6 31 6 +14 0 0.0003 0.0060 0.0000 50.138 9.878 30 8 27 5 0.0001 0.0060 0.0000 26.180 6.553 30 8 31 6 +15 0 0.0005 0.0060 0.0000 47.118 9.434 30 8 33 8 0.0001 0.0060 0.0000 27.489 6.733 30 8 31 6 +16 0 0.0007 0.0084 0.0000 46.163 9.311 23 5 54 11 0.0001 0.0084 0.0000 28.587 6.885 23 5 31 6 +17 0 0.0009 0.0084 0.0000 47.482 9.508 23 5 64 10 0.0002 0.0084 0.0000 29.637 7.031 23 5 31 6 +18 0 0.0011 0.0095 0.0000 49.019 9.772 29 7 38 8 0.0002 0.0095 0.0000 30.657 7.175 29 7 31 6 +19 0 0.0017 0.0095 0.0000 50.603 10.057 29 7 109 16 0.0003 0.0095 0.0000 31.654 7.319 29 7 31 6 +20 0 0.0024 0.0121 0.0000 51.379 10.280 22 5 32 9 0.0004 0.0121 0.0000 32.594 7.460 22 5 31 6 +21 0 0.0028 0.0121 0.0000 53.066 10.582 22 5 60 11 0.0005 0.0121 0.0000 33.524 7.602 22 5 31 6 +22 0 0.0032 0.0121 0.0000 55.852 10.975 22 5 33 7 0.0006 0.0121 0.0000 34.495 7.749 22 5 31 6 +23 0 0.0034 0.0151 0.0000 58.335 11.322 63 12 22 6 0.0008 0.0151 0.0000 35.488 7.898 63 12 31 6 +24 0 0.0036 0.0151 0.0000 61.250 11.637 63 12 120 15 0.0009 0.0151 0.0000 36.519 8.047 63 12 31 6 +25 0 0.0039 0.0151 0.0000 63.783 11.947 63 12 79 17 0.0010 0.0151 0.0000 37.567 8.197 63 12 31 6 +26 0 0.0040 0.0151 0.0000 66.009 12.130 63 12 116 17 0.0011 0.0151 0.0000 38.621 8.343 63 12 31 6 +27 0 0.0041 0.0151 0.0000 68.405 12.405 63 12 27 7 0.0012 0.0151 0.0000 39.685 8.488 63 12 31 6 +28 0 0.0043 0.0171 0.0000 71.051 12.640 27 5 88 14 0.0013 0.0171 0.0000 40.766 8.631 27 5 31 6 +29 0 0.0044 0.0171 0.0000 71.408 12.576 27 5 195 17 0.0014 0.0171 0.0000 41.788 8.762 27 5 31 6 +30 0 0.0044 0.0171 0.0000 72.418 12.677 27 5 125 15 0.0015 0.0171 0.0000 42.776 8.889 27 5 31 6 +31 0 0.0045 0.0171 0.0000 74.898 12.868 27 5 37 9 0.0016 0.0171 0.0000 43.779 9.013 27 5 31 6 +32 0 0.0046 0.0171 0.0000 76.678 13.043 27 5 112 17 0.0017 0.0171 0.0000 44.776 9.135 27 5 31 6 +33 0 0.0047 0.0171 0.0000 77.917 13.073 27 5 77 17 0.0018 0.0171 0.0000 45.751 9.251 27 5 31 6 +34 0 0.0047 0.0190 0.0000 79.837 13.243 33 9 96 16 0.0019 0.0190 0.0000 46.725 9.365 33 9 31 6 +35 0 0.0047 0.0190 0.0000 81.652 13.294 33 9 59 11 0.0019 0.0190 0.0000 47.695 9.474 33 9 31 6 +36 0 0.0048 0.0192 0.0000 83.486 13.363 41 11 84 16 0.0020 0.0192 0.0000 48.663 9.579 41 11 31 6 +37 0 0.0049 0.0265 0.0000 85.442 13.456 39 7 93 17 0.0021 0.0265 0.0000 49.630 9.681 39 7 31 6 +38 0 0.0050 0.0265 0.0000 86.044 13.491 39 7 68 11 0.0022 0.0265 0.0000 50.564 9.779 39 7 31 6 +39 0 0.0051 0.0265 0.0000 87.798 13.561 39 7 77 15 0.0022 0.0265 0.0000 51.495 9.874 39 7 31 6 +40 0 0.0051 0.0265 0.0000 88.443 13.595 39 7 47 8 0.0023 0.0265 0.0000 52.396 9.964 39 7 31 6 +41 0 0.0053 0.0265 0.0000 89.852 13.644 39 7 38 10 0.0024 0.0265 0.0000 53.288 10.052 39 7 31 6 +42 0 0.0055 0.0265 0.0000 90.872 13.758 39 7 58 15 0.0025 0.0265 0.0000 54.162 10.138 39 7 31 6 +43 0 0.0057 0.0274 0.0000 89.816 13.685 41 9 116 16 0.0025 0.0274 0.0000 54.972 10.219 41 9 31 6 +44 0 0.0060 0.0362 0.0000 88.170 13.605 37 5 68 15 0.0026 0.0362 0.0000 55.710 10.294 37 5 31 6 +45 0 0.0065 0.0405 0.0000 86.019 13.551 114 17 49 15 0.0027 0.0405 0.0000 56.369 10.365 114 17 31 6 +46 0 0.0071 0.0448 0.0000 82.540 13.449 112 17 63 17 0.0028 0.0448 0.0000 56.926 10.430 112 17 31 6 +47 0 0.0082 0.0459 0.0000 77.561 13.353 120 17 42 11 0.0029 0.0459 0.0000 57.356 10.491 120 17 31 6 +48 0 0.0094 0.0553 0.0000 73.202 13.276 121 17 28 7 0.0030 0.0553 0.0000 57.679 10.548 121 17 31 6 +49 0 0.0112 0.0673 0.0000 70.015 13.166 84 15 47 13 0.0032 0.0673 0.0000 57.926 10.601 84 15 31 6 +50 0 0.0141 0.0689 0.0000 72.395 13.441 123 17 46 14 0.0034 0.0689 0.0000 58.209 10.656 123 17 31 6 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.sys b/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.sys new file mode 100644 index 0000000..99c3426 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_4/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 148. +creating initial population(s): + 5602 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 294622433 + freed: 293619833 + not freed: 1002600 + max allocated: 10540032 + malloc'ed blocks: 747955 + realloc'ed blocks: 12 + free'ed blocks: 747805 + +------- time ------- + overall: 6s wall + evaluation: 2s wall + breeding: 3s wall + +------- generation spaces ------- + space 0 size: 500 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 142966 + freed: 142966 + allocated: 15500 + blocks: 30 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.bst b/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.bst new file mode 100644 index 0000000..f4d66e6 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.bst @@ -0,0 +1,60 @@ +=== BEST-OF-RUN === + generation: 33 + nodes: 156 + depth: 13 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.6437 + standardized fitness: 0.6437 + adjusted fitness: 0.6084 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- (sin (/ (- (sin x) + (sin x)) + (/ (exp 0.97421) x))) + (+ (log (cos (sin 0.08027))) + (* (* x x) + (+ (/ x x) x)))))) + (* (* (log (- (exp x) + (* (* (sin (sin (sin (* 0.60474 0.59701)))) + (- (cos 0.34951) + (+ (/ x + (exp 0.12762)) + (+ (- 0.33118 + (cos 0.17688)) + (/ (cos x) + (log x)))))) + (* 0.55794 0.68544)))) + (- x x)) + (- (cos (+ -0.49206 + (+ (/ x + (exp 0.12762)) + (+ (- 0.33118 + (cos 0.17688)) + (/ (cos x) + (log x)))))) + (* (log (* (* (cos (- 0.66241 x)) + (- (- x x) x)) + (+ -0.92982 + (log x)))) + (exp (* (* (- x + (sin (/ (+ -0.60243 + (* (* x x) -0.01133)) + (+ (+ (sin 0.85234) + (exp x)) x)))) x) + (cos (log (- (- (sin (sin (sin x))) + (- x x)) + (+ (/ x + (exp 0.12762)) + (+ x + (/ (cos x) + (log x))))))))))))) +TREE-equ: +y = ((x + (((x * x) * (x * x)) - (sin(((sin(x) - sin(x)) / (exp(0.97421) / x))) - (log(cos(sin(0.08027))) + ((x * x) * ((x / x) + x)))))) + ((log((exp(x) - ((sin(sin(sin((0.60474 * 0.59701)))) * (cos(0.34951) - ((x / exp(0.12762)) + ((0.33118 - cos(0.17688)) + (cos(x) / log(x)))))) * (0.55794 * 0.68544)))) * (x - x)) * (cos((-0.49206 + ((x / exp(0.12762)) + ((0.33118 - cos(0.17688)) + (cos(x) / log(x)))))) - (log(((cos((0.66241 - x)) * ((x - x) - x)) * (-0.92982 + log(x)))) * exp((((x - sin(((-0.60243 + ((x * x) * -0.01133)) / ((sin(0.85234) + exp(x)) + x)))) * x) * cos(log(((sin(sin(sin(x))) - (x - x)) - ((x / exp(0.12762)) + (x + (cos(x) / log(x))))))))))))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.fn b/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.fn new file mode 100644 index 0000000..dff7df5 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.fn @@ -0,0 +1,2 @@ + +y = ((x + (((x * x) * (x * x)) - (sin(((sin(x) - sin(x)) / (exp(0.97421) / x))) - (log(cos(sin(0.08027))) + ((x * x) * ((x / x) + x)))))) + ((log((exp(x) - ((sin(sin(sin((0.60474 * 0.59701)))) * (cos(0.34951) - ((x / exp(0.12762)) + ((0.33118 - cos(0.17688)) + (cos(x) / log(x)))))) * (0.55794 * 0.68544)))) * (x - x)) * (cos((-0.49206 + ((x / exp(0.12762)) + ((0.33118 - cos(0.17688)) + (cos(x) / log(x)))))) - (log(((cos((0.66241 - x)) * ((x - x) - x)) * (-0.92982 + log(x)))) * exp((((x - sin(((-0.60243 + ((x * x) * -0.01133)) / ((sin(0.85234) + exp(x)) + x)))) * x) * cos(log(((sin(sin(sin(x))) - (x - x)) - ((x / exp(0.12762)) + (x + (cos(x) / log(x))))))))))))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.gen b/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.his b/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.his new file mode 100644 index 0000000..ab73e32 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.his @@ -0,0 +1,954 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 30 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 10363.8669 + standardized fitness: 10363.8669 + adjusted fitness: 0.0001 +TREE: + (- (* (+ (sin (log -0.99319)) + (- (log 0.82655) + (log x))) + (sin (* (* x x) + (sin 0.41331)))) + (* (exp (log (exp x))) + (* (log (log -0.97743)) + (exp (cos -0.99176))))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 16 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 10095.2063 + standardized fitness: 10095.2063 + adjusted fitness: 0.0001 +TREE: + (* (exp x) + (log (/ (/ (exp x) + (log x)) + (/ (sin -0.82079) + (+ x x))))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 15 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8472.0313 + standardized fitness: 8472.0313 + adjusted fitness: 0.0001 +TREE: + (- (* (* x x) + (* x x)) + (- (- x x) + (/ -0.68705 0.03238))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 32 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5904.9534 + standardized fitness: 5904.9534 + adjusted fitness: 0.0002 +TREE: + (* (- -0.46678 + (- (+ 0.68871 + (sin 0.24035)) + (* x x))) + (- (exp (* (log x) + (exp 0.77087))) + (* (* (* x x) + (- x x)) + (* (exp -0.72505) + (+ x x))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 3 + nodes: 32 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5904.9534 + standardized fitness: 5904.9534 + adjusted fitness: 0.0002 +TREE: + (* (- -0.46678 + (- (+ 0.68871 + (sin 0.24035)) + (* x x))) + (- (exp (* (log x) + (exp 0.77087))) + (* (* (* x x) + (- x x)) + (* (exp -0.72505) + (+ x x))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 21 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5323.7861 + standardized fitness: 5323.7861 + adjusted fitness: 0.0002 +TREE: + (* (- -0.46678 + (- (+ 0.68871 + (sin 0.24035)) + (* x x))) + (- (exp (* (log x) + (exp 0.77087))) + (sin (sin x)))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 20 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4820.0860 + standardized fitness: 4820.0860 + adjusted fitness: 0.0002 +TREE: + (* (- -0.46678 + (- (* -0.15469 x) + (* x x))) + (- (exp (* (log x) + (exp 0.77087))) + (sin (sin x)))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1236.3746 + standardized fitness: 1236.3746 + adjusted fitness: 0.0008 +TREE: + (* (* (+ x + (* x x)) + (* (/ x -0.65586) + (/ x 0.33932))) -0.24688) +=== BEST-OF-RUN === + current generation: 8 + generation: 7 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1236.3746 + standardized fitness: 1236.3746 + adjusted fitness: 0.0008 +TREE: + (* (* (+ x + (* x x)) + (* (/ x -0.65586) + (/ x 0.33932))) -0.24688) +=== BEST-OF-RUN === + current generation: 9 + generation: 7 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1236.3746 + standardized fitness: 1236.3746 + adjusted fitness: 0.0008 +TREE: + (* (* (+ x + (* x x)) + (* (/ x -0.65586) + (/ x 0.33932))) -0.24688) +=== BEST-OF-RUN === + current generation: 10 + generation: 7 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1236.3746 + standardized fitness: 1236.3746 + adjusted fitness: 0.0008 +TREE: + (* (* (+ x + (* x x)) + (* (/ x -0.65586) + (/ x 0.33932))) -0.24688) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 44 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1213.3801 + standardized fitness: 1213.3801 + adjusted fitness: 0.0008 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- (- (- (* 0.80938 + (cos x)) + (exp (sin x))) x) + (/ -0.68705 + (- (exp x) + (* (* (cos (/ x -0.55488)) + (- x x)) + (* (exp -0.72505) + (+ x x)))))))) + (exp x)) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 50 + depth: 13 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1011.5127 + standardized fitness: 1011.5127 + adjusted fitness: 0.0010 +TREE: + (+ (+ x + (- (+ (+ x + (- (* (* x x) + (* x x)) + (- (- (- (* 0.80938 + (cos x)) + (exp (sin x))) x) + (/ -0.68705 + (- (exp x) + (* (* (cos (/ x -0.55488)) + (- x x)) + (* (exp -0.72505) + (+ x x)))))))) + (exp x)) 0.88074)) x) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 37 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 965.9164 + standardized fitness: 965.9164 + adjusted fitness: 0.0010 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ (cos (/ 0.24125 x)) + (* (- (* (* x x) + (cos -0.27562)) + (cos (sin -0.44813))) + (+ (exp (log -0.42986)) x)))))) + (- x x)) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 35 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 729.6162 + standardized fitness: 729.6162 + adjusted fitness: 0.0014 +TREE: + (+ (+ x + (- (* (* x x) + (- x + (- (cos x) + (* x x)))) + (- x + (- -0.93467 + (- (* (log x) + (/ x -0.48010)) + (+ (- -0.72466 x) 0.39771)))))) + (exp (cos 0.64190))) +=== BEST-OF-RUN === + current generation: 15 + generation: 14 + nodes: 35 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 729.6162 + standardized fitness: 729.6162 + adjusted fitness: 0.0014 +TREE: + (+ (+ x + (- (* (* x x) + (- x + (- (cos x) + (* x x)))) + (- x + (- -0.93467 + (- (* (log x) + (/ x -0.48010)) + (+ (- -0.72466 x) 0.39771)))))) + (exp (cos 0.64190))) +=== BEST-OF-RUN === + current generation: 16 + generation: 14 + nodes: 35 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 729.6162 + standardized fitness: 729.6162 + adjusted fitness: 0.0014 +TREE: + (+ (+ x + (- (* (* x x) + (- x + (- (cos x) + (* x x)))) + (- x + (- -0.93467 + (- (* (log x) + (/ x -0.48010)) + (+ (- -0.72466 x) 0.39771)))))) + (exp (cos 0.64190))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 40 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 671.4882 + standardized fitness: 671.4882 + adjusted fitness: 0.0015 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ (log (- (- x x) + (/ x -0.55488))) + (* (- (* (* x x) + (cos -0.27562)) + (cos (sin -0.44813))) + (+ (/ x x) x)))))) + (cos x)) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 42 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 646.8170 + standardized fitness: 646.8170 + adjusted fitness: 0.0015 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ (log (- (exp (- x + (- 0.59275 0.04125))) + (/ x -0.55488))) + (* (- (* (* x x) + (cos -0.27562)) + (cos (sin -0.44813))) + (+ (log x) x)))))) + (cos x)) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 46 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 598.5271 + standardized fitness: 598.5271 + adjusted fitness: 0.0017 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ (log (- (exp (- x + (- 0.59275 0.04125))) + (/ x -0.55488))) + (* (- (* (* x x) + (cos -0.27562)) + (cos (sin -0.44813))) + (+ (log x) x)))))) + (/ (* 0.34266 x) + (cos -0.08471))) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 54 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 327.5747 + standardized fitness: 327.5747 + adjusted fitness: 0.0030 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ (log (- (* x x) + (sin (- 0.54492 0.64258)))) + (* (- (* (* x x) + (cos -0.27562)) + (cos (* (* x x) + (* (log (- 0.11662 0.83906)) + (- (exp -0.73114) + (+ 0.08092 -0.19322)))))) + (+ (/ x x) x)))))) + (cos x)) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 72 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 301.0539 + standardized fitness: 301.0539 + adjusted fitness: 0.0033 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ 0.53145 + (* (- (* (* x x) + (cos -0.27562)) + (cos (log (/ (+ (/ 0.15100 x) -0.39866) + (/ (+ (+ 0.10036 x) + (- (exp 0.30084) + (* -0.19567 x))) + (log (- (cos 0.34951) + (+ (/ x + (exp 0.12762)) + (+ (- 0.33118 + (cos 0.17688)) + (/ (cos x) + (log x))))))))))) + (+ (cos (sin (+ -0.02056 0.00094))) + (+ x -0.19697))))))) + (cos x)) +=== BEST-OF-RUN === + current generation: 22 + generation: 21 + nodes: 72 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 301.0539 + standardized fitness: 301.0539 + adjusted fitness: 0.0033 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ 0.53145 + (* (- (* (* x x) + (cos -0.27562)) + (cos (log (/ (+ (/ 0.15100 x) -0.39866) + (/ (+ (+ 0.10036 x) + (- (exp 0.30084) + (* -0.19567 x))) + (log (- (cos 0.34951) + (+ (/ x + (exp 0.12762)) + (+ (- 0.33118 + (cos 0.17688)) + (/ (cos x) + (log x))))))))))) + (+ (cos (sin (+ -0.02056 0.00094))) + (+ x -0.19697))))))) + (cos x)) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 74 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 271.8274 + standardized fitness: 271.8274 + adjusted fitness: 0.0037 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ 0.53145 + (* (- (* (* x x) + (cos -0.27562)) + (cos (log (/ (+ (/ 0.15100 x) -0.39866) + (/ (+ (+ 0.10036 x) + (- (exp 0.30084) + (* -0.19567 x))) + (log (- (cos 0.34951) + (+ (/ x + (exp 0.12762)) + (+ (- 0.33118 + (cos 0.17688)) + (/ (cos x) + (log x))))))))))) + (+ (cos (sin (+ -0.02056 0.00094))) + (+ x -0.19697))))))) + (cos (- x x))) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 73 + depth: 17 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 224.1163 + standardized fitness: 224.1163 + adjusted fitness: 0.0044 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ 0.53145 + (* (- (* (* x x) + (cos -0.27562)) + (cos (log (/ (+ (/ 0.15100 x) -0.39866) + (/ (+ (+ 0.10036 x) + (- (exp 0.30084) + (* -0.19567 x))) + (log (- (cos 0.34951) + (+ (/ x + (exp 0.12762)) + (+ (- 0.33118 + (cos 0.17688)) + (/ (cos x) + (log x))))))))))) + (+ (cos (sin (+ -0.02056 0.00094))) + (+ x -0.19697))))))) + (- x x)) +=== BEST-OF-RUN === + current generation: 25 + generation: 25 + nodes: 77 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 187.0809 + standardized fitness: 187.0809 + adjusted fitness: 0.0053 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ (log (- (* x x) -0.19086)) + (* (- (* (* x x) + (cos -0.27562)) + (cos (log (/ (+ (/ 0.15100 x) -0.39866) + (/ (+ (+ 0.10036 x) + (- (exp 0.30084) + (* -0.19567 x))) + (log (- (cos 0.34951) + (+ (/ x + (exp 0.12762)) + (+ (- 0.33118 + (cos 0.17688)) + (/ (cos x) + (log x))))))))))) + (+ (cos (sin (+ -0.02056 0.00094))) + (+ x -0.19697))))))) + (cos x)) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 38 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 98.9633 + standardized fitness: 98.9633 + adjusted fitness: 0.0100 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ 0.53145 + (* (- (* (* x x) + (cos -0.27562)) + (cos (log (/ (+ 0.01846 -0.39866) x)))) + (+ (exp 0.19141) + (+ x -0.19697))))))) + (cos x)) +=== BEST-OF-RUN === + current generation: 27 + generation: 27 + nodes: 43 + depth: 11 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 77.6303 + standardized fitness: 77.6303 + adjusted fitness: 0.0127 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ 0.53145 + (* (- (* (* x x) + (cos -0.27562)) + (cos (log (/ (+ 0.01846 -0.39866) x)))) + (+ (exp 0.19141) + (+ x -0.19697))))))) + (cos (log (exp (+ (log x) 0.73649))))) +=== BEST-OF-RUN === + current generation: 28 + generation: 27 + nodes: 43 + depth: 11 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 77.6303 + standardized fitness: 77.6303 + adjusted fitness: 0.0127 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ 0.53145 + (* (- (* (* x x) + (cos -0.27562)) + (cos (log (/ (+ 0.01846 -0.39866) x)))) + (+ (exp 0.19141) + (+ x -0.19697))))))) + (cos (log (exp (+ (log x) 0.73649))))) +=== BEST-OF-RUN === + current generation: 29 + generation: 27 + nodes: 43 + depth: 11 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 77.6303 + standardized fitness: 77.6303 + adjusted fitness: 0.0127 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ 0.53145 + (* (- (* (* x x) + (cos -0.27562)) + (cos (log (/ (+ 0.01846 -0.39866) x)))) + (+ (exp 0.19141) + (+ x -0.19697))))))) + (cos (log (exp (+ (log x) 0.73649))))) +=== BEST-OF-RUN === + current generation: 30 + generation: 27 + nodes: 43 + depth: 11 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 77.6303 + standardized fitness: 77.6303 + adjusted fitness: 0.0127 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ 0.53145 + (* (- (* (* x x) + (cos -0.27562)) + (cos (log (/ (+ 0.01846 -0.39866) x)))) + (+ (exp 0.19141) + (+ x -0.19697))))))) + (cos (log (exp (+ (log x) 0.73649))))) +=== BEST-OF-RUN === + current generation: 31 + generation: 27 + nodes: 43 + depth: 11 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 77.6303 + standardized fitness: 77.6303 + adjusted fitness: 0.0127 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ 0.53145 + (* (- (* (* x x) + (cos -0.27562)) + (cos (log (/ (+ 0.01846 -0.39866) x)))) + (+ (exp 0.19141) + (+ x -0.19697))))))) + (cos (log (exp (+ (log x) 0.73649))))) +=== BEST-OF-RUN === + current generation: 32 + generation: 32 + nodes: 31 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 37.5959 + standardized fitness: 37.5959 + adjusted fitness: 0.0259 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- 0.45245 + (+ 0.53145 + (* (* x x) + (+ (exp 0.19141) + (+ x -0.19697))))))) + (* (cos x) + (- x x))) +=== BEST-OF-RUN === + current generation: 33 + generation: 33 + nodes: 156 + depth: 13 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.6437 + standardized fitness: 0.6437 + adjusted fitness: 0.6084 +TREE: + (+ (+ x + (- (* (* x x) + (* x x)) + (- (sin (/ (- (sin x) + (sin x)) + (/ (exp 0.97421) x))) + (+ (log (cos (sin 0.08027))) + (* (* x x) + (+ (/ x x) x)))))) + (* (* (log (- (exp x) + (* (* (sin (sin (sin (* 0.60474 0.59701)))) + (- (cos 0.34951) + (+ (/ x + (exp 0.12762)) + (+ (- 0.33118 + (cos 0.17688)) + (/ (cos x) + (log x)))))) + (* 0.55794 0.68544)))) + (- x x)) + (- (cos (+ -0.49206 + (+ (/ x + (exp 0.12762)) + (+ (- 0.33118 + (cos 0.17688)) + (/ (cos x) + (log x)))))) + (* (log (* (* (cos (- 0.66241 x)) + (- (- x x) x)) + (+ -0.92982 + (log x)))) + (exp (* (* (- x + (sin (/ (+ -0.60243 + (* (* x x) -0.01133)) + (+ (+ (sin 0.85234) + (exp x)) x)))) x) + (cos (log (- (- (sin (sin (sin x))) + (- x x)) + (+ (/ x + (exp 0.12762)) + (+ x + (/ (cos x) + (log x))))))))))))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.prg b/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.prg new file mode 100644 index 0000000..26251e1 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -2.98536, y = 58.75036 + x = 0.39262, y = 0.63105 + x = 0.21181, y = 0.26818 + x = 0.59352, y = 1.27893 + x = -3.46894, y = 111.62784 + x = 1.44367, y = 10.88052 + x = 0.40042, y = 0.65066 + x = -2.74733, y = 41.03375 + x = -0.63310, y = -0.32539 + x = 1.16938, y = 6.00583 + x = 0.28116, y = 0.38868 + x = -2.44813, y = 24.79264 + x = -4.42650, y = 312.35482 + x = 3.55745, y = 221.39446 + x = 2.65680, y = 78.29269 + x = 0.04276, y = 0.04467 + x = 4.25079, y = 425.62352 + x = -2.33273, y = 20.02649 + x = 3.86400, y = 299.40678 + x = -0.65831, y = -0.32242 + x = 4.32808, y = 455.03489 + x = -0.47697, y = -0.30622 + x = -2.96293, y = 56.87496 + x = -0.46926, y = -0.30390 + x = 0.48383, y = 0.88598 + x = 4.19755, y = 406.22064 + x = 4.18645, y = 402.25948 + x = -3.24266, y = 83.73850 + x = 1.03028, y = 4.31215 + x = -3.76451, y = 157.89003 + x = 0.58402, y = 1.24064 + x = 3.72209, y = 261.07375 + x = -1.78883, y = 5.92636 + x = -1.17173, y = 0.47750 + x = 1.58915, y = 14.50547 + x = 4.36254, y = 468.62999 + x = 4.42700, y = 494.87997 + x = -3.87473, y = 178.37099 + x = 0.66061, y = 1.57574 + x = -0.70028, y = -0.31281 + x = -2.94290, y = 55.23694 + x = 3.28618, y = 166.19013 + x = 3.96075, y = 327.88195 + x = -0.58235, y = -0.32570 + x = -0.40050, y = -0.27861 + x = -2.67324, y = 36.43802 + x = -3.95848, y = 195.21887 + x = -1.22443, y = 0.68680 + x = -1.50898, y = 2.51689 + x = 1.49501, y = 12.06706 + x = 0.51942, y = 1.00213 + x = -4.81882, y = 445.72070 + x = 0.42265, y = 0.70870 + x = -3.98599, y = 201.00471 + x = -1.10590, y = 0.26035 + x = -1.70745, y = 4.72947 + x = -2.81856, y = 45.84574 + x = -3.61646, y = 133.21815 + x = 4.00436, y = 341.36770 + x = -2.83149, y = 46.76237 + x = 2.01667, y = 30.82564 + x = -0.72486, y = -0.30423 + x = 1.59206, y = 14.58660 + x = -4.93282, y = 491.45026 + x = -0.88772, y = -0.17822 + x = 1.99498, y = 29.75470 + x = -1.40888, y = 1.71949 + x = 1.15585, y = 5.82098 + x = -1.04205, y = 0.09141 + x = 0.33005, y = 0.48680 + x = -0.99876, y = -0.00248 + x = 0.47522, y = 0.85937 + x = 4.17625, y = 398.64521 + x = -2.63101, y = 33.99583 + x = 3.82227, y = 287.71998 + x = 4.14691, y = 388.38796 + x = 4.10037, y = 372.53286 + x = -3.97694, y = 199.08775 + x = -4.36336, y = 294.08261 + x = -2.80873, y = 45.15774 + x = 2.01611, y = 30.79752 + x = 2.80291, y = 94.40137 + x = -2.24703, y = 16.95029 + x = -1.13823, y = 0.36117 + x = -0.78118, y = -0.27525 + x = -3.69112, y = 145.26778 + x = -2.86997, y = 49.57150 + x = -1.85601, y = 7.06169 + x = 4.71599, y = 626.48540 + x = 4.59417, y = 568.14883 + x = 0.77142, y = 2.17970 + x = -1.72886, y = 5.02646 + x = 2.16733, y = 39.10986 + x = -4.66944, y = 390.72367 + x = -4.70153, y = 402.08152 + x = 1.58189, y = 14.30452 + x = 4.10993, y = 375.74838 + x = 1.59176, y = 14.57817 + x = 0.59538, y = 1.28654 + x = 0.45260, y = 0.79212 + x = -1.77362, y = 5.68837 + x = -4.98154, y = 512.03373 + x = -1.86107, y = 7.15296 + x = -3.70025, y = 146.79576 + x = 4.47890, y = 516.81538 + x = 2.71650, y = 84.59762 + x = 2.42821, y = 57.40653 + x = -3.43912, y = 107.60280 + x = 1.79519, y = 21.18907 + x = -2.41478, y = 23.33782 + x = -3.83747, y = 171.23808 + x = 4.03745, y = 351.87626 + x = -3.33245, y = 94.09127 + x = 4.41019, y = 487.93054 + x = 1.39709, y = 9.88570 + x = -1.25447, y = 0.82158 + x = 2.10782, y = 35.65486 + x = 1.26150, y = 7.39297 + x = 4.76871, y = 653.08830 + x = 2.53039, y = 66.13182 + x = 2.88505, y = 104.50281 + x = 1.99936, y = 29.96880 + x = -4.43952, y = 316.22811 + x = 3.50535, y = 209.84666 + x = -2.89633, y = 51.56685 + x = -1.01722, y = 0.03564 + x = -2.66371, y = 35.87569 + x = 2.87650, y = 103.41502 + x = -2.10991, y = 12.76698 + x = -3.89423, y = 182.19314 + x = -3.28130, y = 88.08299 + x = 2.53949, y = 66.95578 + x = -0.77213, y = -0.28084 + x = 3.05142, y = 127.47219 + x = -3.97125, y = 197.88949 + x = 2.97866, y = 116.99860 + x = 1.13536, y = 5.54959 + x = -1.65722, y = 4.08035 + x = 2.46468, y = 60.41265 + x = -4.52671, y = 343.09307 + x = -0.79894, y = -0.26317 + x = 0.86852, y = 2.84703 + x = -1.62472, y = 3.69432 + x = -2.81440, y = 45.55384 + x = -3.29087, y = 89.18487 + x = 3.77206, y = 274.11836 + x = -2.28934, y = 18.42195 + x = 3.66198, y = 246.00957 + x = 3.22689, y = 155.66788 + x = 1.31569, y = 8.32074 + x = -0.75440, y = -0.29073 + x = -3.76657, y = 158.25634 + x = -1.29833, y = 1.04022 + x = -0.51039, y = -0.31499 + x = -1.26610, y = 0.87698 + x = 0.68689, y = 1.70539 + x = 0.79059, y = 2.30046 + x = 0.08751, y = 0.09590 + x = -4.72900, y = 412.00122 + x = -3.49976, y = 115.90316 + x = -3.41886, y = 104.93111 + x = -0.91458, y = -0.14347 + x = -0.90380, y = -0.15797 + x = 1.32190, y = 8.43273 + x = 3.38416, y = 184.75477 + x = 0.29401, y = 0.41333 + x = 0.66217, y = 1.58325 + x = 4.48195, y = 518.12500 + x = 2.70106, y = 82.93080 + x = 2.62504, y = 75.08790 + x = -3.96513, y = 196.60567 + x = 3.44584, y = 197.22256 + x = 3.03461, y = 124.99212 + x = -1.54698, y = 2.87115 + x = -1.71521, y = 4.83567 + x = 1.65162, y = 16.32590 + x = -1.70231, y = 4.66010 + x = 1.07087, y = 4.76074 + x = -0.22855, y = -0.18552 + x = 1.41678, y = 10.29701 + x = 3.19219, y = 149.74826 + x = 2.24878, y = 44.25113 + x = 2.60550, y = 73.16750 + x = -3.61016, y = 132.23623 + x = 4.52463, y = 536.73828 + x = 2.63328, y = 75.90936 + x = -1.55671, y = 2.96678 + x = 2.90597, y = 107.20248 + x = 4.66726, y = 602.62990 + x = 0.73474, y = 1.96266 + x = -2.68351, y = 37.05111 + x = 1.65341, y = 16.38077 + x = 0.64172, y = 1.48738 + x = 4.83964, y = 690.21292 + x = 4.43842, y = 499.64527 + x = 0.75522, y = 2.08162 + x = 2.83391, y = 98.12204 + x = 4.92226, y = 735.43551 + x = 3.90081, y = 310.00828 + x = 0.05751, y = 0.06102 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.stt b/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.stt new file mode 100644 index 0000000..a115036 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.stt @@ -0,0 +1,35 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.166 3.680 30 5 7 5 0.0000 0.0001 0.0000 13.166 3.680 30 5 7 5 +1 0 0.0000 0.0001 0.0000 13.182 4.126 16 5 6 5 0.0000 0.0001 0.0000 13.174 3.903 16 5 7 5 +2 0 0.0000 0.0001 0.0000 13.924 4.472 15 3 11 4 0.0000 0.0001 0.0000 13.424 4.093 15 3 7 5 +3 0 0.0000 0.0002 0.0000 14.544 4.762 32 5 30 9 0.0000 0.0002 0.0000 13.704 4.260 32 5 7 5 +4 0 0.0000 0.0002 0.0000 15.316 5.001 32 5 7 5 0.0000 0.0002 0.0000 14.026 4.408 32 5 7 5 +5 0 0.0000 0.0002 0.0000 15.742 5.199 21 5 19 7 0.0000 0.0002 0.0000 14.312 4.540 21 5 7 5 +6 0 0.0000 0.0002 0.0000 16.516 5.423 20 5 77 9 0.0000 0.0002 0.0000 14.627 4.666 20 5 7 5 +7 0 0.0000 0.0008 0.0000 17.667 5.719 15 4 8 4 0.0000 0.0008 0.0000 15.007 4.798 15 4 7 5 +8 0 0.0000 0.0008 0.0000 18.659 5.862 15 4 29 8 0.0000 0.0008 0.0000 15.413 4.916 15 4 7 5 +9 0 0.0001 0.0008 0.0000 20.961 6.259 15 4 5 3 0.0000 0.0008 0.0000 15.968 5.050 15 4 7 5 +10 0 0.0001 0.0008 0.0000 23.922 6.733 15 4 41 9 0.0000 0.0008 0.0000 16.691 5.203 15 4 7 5 +11 0 0.0001 0.0008 0.0000 27.648 7.350 44 10 32 9 0.0000 0.0008 0.0000 17.604 5.382 44 10 7 5 +12 0 0.0001 0.0010 0.0000 32.620 8.160 50 13 62 13 0.0001 0.0010 0.0000 18.759 5.596 50 13 7 5 +13 0 0.0002 0.0010 0.0000 37.058 9.024 37 9 29 9 0.0001 0.0010 0.0000 20.066 5.841 37 9 7 5 +14 0 0.0002 0.0014 0.0000 42.077 9.976 35 8 79 12 0.0001 0.0014 0.0000 21.533 6.116 35 8 7 5 +15 0 0.0003 0.0014 0.0000 46.124 10.754 35 8 61 13 0.0001 0.0014 0.0000 23.070 6.406 35 8 7 5 +16 0 0.0003 0.0014 0.0000 49.408 11.361 35 8 63 14 0.0001 0.0014 0.0000 24.620 6.698 35 8 7 5 +17 0 0.0004 0.0015 0.0000 51.892 11.772 40 9 31 8 0.0001 0.0015 0.0000 26.135 6.980 40 9 7 5 +18 0 0.0004 0.0015 0.0000 54.548 12.120 42 10 51 13 0.0001 0.0015 0.0000 27.630 7.250 42 10 7 5 +19 0 0.0004 0.0017 0.0000 56.477 12.333 46 10 21 7 0.0001 0.0017 0.0000 29.072 7.504 46 10 7 5 +20 0 0.0004 0.0030 0.0000 58.125 12.485 54 12 34 9 0.0002 0.0030 0.0000 30.456 7.741 54 12 7 5 +21 0 0.0005 0.0033 0.0000 59.882 12.682 72 17 52 10 0.0002 0.0033 0.0000 31.793 7.966 72 17 7 5 +22 0 0.0005 0.0033 0.0000 61.326 12.807 72 17 57 11 0.0002 0.0033 0.0000 33.077 8.176 72 17 7 5 +23 0 0.0005 0.0037 0.0000 62.593 12.955 74 17 51 12 0.0002 0.0037 0.0000 34.307 8.376 74 17 7 5 +24 0 0.0006 0.0044 0.0000 64.007 13.014 73 17 56 14 0.0002 0.0044 0.0000 35.495 8.561 73 17 7 5 +25 0 0.0006 0.0053 0.0000 64.913 13.100 77 17 74 14 0.0002 0.0053 0.0000 36.627 8.736 77 17 7 5 +26 0 0.0008 0.0100 0.0000 65.594 13.241 38 11 84 12 0.0003 0.0100 0.0000 37.700 8.903 38 11 7 5 +27 0 0.0010 0.0127 0.0000 65.181 13.288 43 11 34 9 0.0003 0.0127 0.0000 38.681 9.059 43 11 7 5 +28 0 0.0013 0.0127 0.0000 64.455 13.399 43 11 114 16 0.0003 0.0127 0.0000 39.570 9.209 43 11 7 5 +29 0 0.0015 0.0127 0.0000 64.695 13.505 43 11 68 14 0.0004 0.0127 0.0000 40.407 9.352 43 11 7 5 +30 0 0.0017 0.0127 0.0000 64.713 13.445 43 11 47 11 0.0004 0.0127 0.0000 41.191 9.484 43 11 7 5 +31 0 0.0022 0.0127 0.0000 68.454 13.394 43 11 89 17 0.0005 0.0127 0.0000 42.043 9.606 43 11 7 5 +32 0 0.0036 0.0259 0.0000 81.417 13.369 31 8 59 12 0.0005 0.0259 0.0000 43.237 9.720 31 8 7 5 +33 0 0.0060 0.6084 0.0000 99.846 13.079 156 13 113 12 0.0007 0.6084 0.0000 44.901 9.819 156 13 7 5 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.sys b/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.sys new file mode 100644 index 0000000..ce2f23d --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_5/regress.sys @@ -0,0 +1,152 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 306. +creating initial population(s): + 5642 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (1s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 154361720 + freed: 153700004 + not freed: 661716 + max allocated: 10361000 + malloc'ed blocks: 496828 + realloc'ed blocks: 12 + free'ed blocks: 496729 + +------- time ------- + overall: 4s wall + evaluation: 3s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 400 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 98820 + freed: 98820 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.bst b/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.bst new file mode 100644 index 0000000..cbcf746 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.bst @@ -0,0 +1,27 @@ +=== BEST-OF-RUN === + generation: 23 + nodes: 44 + depth: 9 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.1367 + standardized fitness: 0.1367 + adjusted fitness: 0.8797 +TREE: + (* (- (* (/ x x) + (* x x)) + (cos (+ (sin (- (* 0.45343 -0.04368) + (/ (sin -0.92722) + (log (sin -0.98939))))) + (+ (sin (/ 0.74442 + (cos (/ -0.16788 0.72878)))) + (+ 0.94927 + (cos (exp (- x x)))))))) + (* (+ (/ x x) x) x)) +TREE-equ: +y = ((((x / x) * (x * x)) - cos((sin(((0.45343 * -0.04368) - (sin(-0.92722) / log(sin(-0.98939))))) + (sin((0.74442 / cos((-0.16788 / 0.72878)))) + (0.94927 + cos(exp((x - x)))))))) * (((x / x) + x) * x)) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.fn b/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.fn new file mode 100644 index 0000000..4216f6a --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.fn @@ -0,0 +1,2 @@ + +y = ((((x / x) * (x * x)) - cos((sin(((0.45343 * -0.04368) - (sin(-0.92722) / log(sin(-0.98939))))) + (sin((0.74442 / cos((-0.16788 / 0.72878)))) + (0.94927 + cos(exp((x - x)))))))) * (((x / x) + x) * x)) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.gen b/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.his b/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.his new file mode 100644 index 0000000..238de8d --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.his @@ -0,0 +1,571 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 7076.9368 + standardized fitness: 7076.9368 + adjusted fitness: 0.0001 +TREE: + (* (- (* (/ x x) + (* x x)) + (cos (log x))) + (* x x)) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 7076.9368 + standardized fitness: 7076.9368 + adjusted fitness: 0.0001 +TREE: + (* (- (* (/ x x) + (* x x)) + (cos (log x))) + (* x x)) +=== BEST-OF-RUN === + current generation: 2 + generation: 0 + nodes: 15 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 7076.9368 + standardized fitness: 7076.9368 + adjusted fitness: 0.0001 +TREE: + (* (- (* (/ x x) + (* x x)) + (cos (log x))) + (* x x)) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 23 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6637.0379 + standardized fitness: 6637.0379 + adjusted fitness: 0.0002 +TREE: + (* (- (* (/ x x) + (* x x)) + (log (+ (- x + (cos 0.95748)) + (- -0.73376 + (- -0.78197 -0.54564))))) + (* x x)) +=== BEST-OF-RUN === + current generation: 4 + generation: 3 + nodes: 23 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6637.0379 + standardized fitness: 6637.0379 + adjusted fitness: 0.0002 +TREE: + (* (- (* (/ x x) + (* x x)) + (log (+ (- x + (cos 0.95748)) + (- -0.73376 + (- -0.78197 -0.54564))))) + (* x x)) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 26 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6385.1283 + standardized fitness: 6385.1283 + adjusted fitness: 0.0002 +TREE: + (* (- (* (/ x x) + (* x x)) + (log (- (/ (- (* x -0.27024) + (cos x)) -0.27678) + (log (exp (cos x)))))) + (* x x)) +=== BEST-OF-RUN === + current generation: 6 + generation: 5 + nodes: 26 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6385.1283 + standardized fitness: 6385.1283 + adjusted fitness: 0.0002 +TREE: + (* (- (* (/ x x) + (* x x)) + (log (- (/ (- (* x -0.27024) + (cos x)) -0.27678) + (log (exp (cos x)))))) + (* x x)) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 42 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2264.9910 + standardized fitness: 2264.9910 + adjusted fitness: 0.0004 +TREE: + (* (- (* (/ x x) + (* x x)) + (- (* (cos (+ (sin (- (log (log (cos (/ (exp x) -0.43040)))) + (sin -0.85116))) + (+ (sin (sin -0.92872)) + (* x + (/ 0.79350 x))))) + (+ 0.70980 + (- -0.89943 x))) -0.03750)) + (* x x)) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 38 + depth: 10 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 1876.0540 + standardized fitness: 1876.0540 + adjusted fitness: 0.0005 +TREE: + (* (- (* (/ x x) + (* x x)) + (- (* (cos (+ (sin (- (log (cos x)) + (sin -0.85116))) + (+ (sin (sin -0.92872)) + (* x + (/ 0.79350 x))))) + (+ 0.70980 + (- -0.89943 x))) -0.03750)) + (* x x)) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 25 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1486.3550 + standardized fitness: 1486.3550 + adjusted fitness: 0.0007 +TREE: + (* (- (* (/ x x) + (* x x)) + (- (* (cos (sin (sin (log -0.03955)))) + (+ 0.70980 + (- -0.89943 x))) -0.03750)) + (* x x)) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 34 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 870.5633 + standardized fitness: 870.5633 + adjusted fitness: 0.0011 +TREE: + (* (- (* (/ x x) + (* x x)) + (- (* (cos (+ (sin (log (* 0.45343 -0.04368))) + (log -0.67900))) + (+ (/ (cos -0.32394) + (* x x)) + (- -0.89943 x))) -0.03750)) + (* x x)) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 29 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 551.6141 + standardized fitness: 551.6141 + adjusted fitness: 0.0018 +TREE: + (* (- (* (/ x x) + (* x x)) + (- (* (cos (* (/ (sin 0.02407) x) x)) + (+ 0.70980 + (- -0.89943 x))) + (/ 0.15993 0.14493))) + (* x x)) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 26 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 506.4608 + standardized fitness: 506.4608 + adjusted fitness: 0.0020 +TREE: + (* (- (* (/ x x) + (* x x)) + (- (- (sin -0.92722) + (- x 0.29476)) + (+ (sin (- 0.96841 + (sin -0.85116))) -0.49231))) + (* x x)) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 35 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 397.5687 + standardized fitness: 397.5687 + adjusted fitness: 0.0025 +TREE: + (* (- (* (/ x x) + (* x x)) + (- (* (cos (+ (sin (log (* 0.45343 -0.04368))) + (log -0.67900))) + (+ (/ (- -0.89943 x) + (* x x)) + (- -0.89943 x))) -0.03750)) + (* x x)) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 46 + depth: 11 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 281.3970 + standardized fitness: 281.3970 + adjusted fitness: 0.0035 +TREE: + (* (- (* (/ x x) + (* x x)) + (- (* (cos (+ (sin (/ (exp (log (cos x))) + (/ (+ (- -0.75727 -0.35247) + (log -0.92934)) + (log (sin -0.98939))))) + (log -0.67900))) + (+ (/ (- -0.89943 x) + (* x x)) + (- -0.89943 x))) -0.03750)) + (* x x)) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 32 + depth: 9 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 207.1367 + standardized fitness: 207.1367 + adjusted fitness: 0.0048 +TREE: + (* (- (* (/ x x) + (* x x)) + (- (log (sin -0.92872)) + (+ (+ (+ -0.13379 + (/ (exp 0.24757) x)) + (sin (cos (+ (exp -0.99990) + (cos x))))) x))) + (* x x)) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 39 + depth: 11 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 180.7890 + standardized fitness: 180.7890 + adjusted fitness: 0.0055 +TREE: + (* (- (* (/ x x) + (* x x)) + (- (* (cos (+ (sin (+ (sin (log (* 0.45343 -0.04368))) + (log -0.67900))) + (log -0.67900))) + (+ (/ (- -0.89943 x) + (* x x)) + (- -0.89943 x))) -0.03750)) + (* x x)) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 30 + depth: 9 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 143.7985 + standardized fitness: 143.7985 + adjusted fitness: 0.0069 +TREE: + (* (- (* (/ x x) + (* x x)) + (- (log (sin -0.92872)) + (+ (+ (+ -0.13379 + (/ (exp 0.24757) x)) + (exp (log (cos (exp -0.55432))))) x))) + (* x x)) +=== BEST-OF-RUN === + current generation: 18 + generation: 17 + nodes: 30 + depth: 9 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 143.7985 + standardized fitness: 143.7985 + adjusted fitness: 0.0069 +TREE: + (* (- (* (/ x x) + (* x x)) + (- (log (sin -0.92872)) + (+ (+ (+ -0.13379 + (/ (exp 0.24757) x)) + (exp (log (cos (exp -0.55432))))) x))) + (* x x)) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 45 + depth: 11 + hits: 19 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 19 + raw fitness: 73.3860 + standardized fitness: 73.3860 + adjusted fitness: 0.0134 +TREE: + (* (- (* (/ x x) + (* x x)) + (cos (+ (sin (- (log x) + (cos (log (* -0.57760 -0.93497))))) + (+ (sin (sin (cos (sin 0.18895)))) + (+ 0.94927 + (cos (exp (- x + (+ (- x -0.97207) + (exp x)))))))))) + (* (+ (/ x x) x) x)) +=== BEST-OF-RUN === + current generation: 20 + generation: 19 + nodes: 45 + depth: 11 + hits: 19 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 19 + raw fitness: 73.3860 + standardized fitness: 73.3860 + adjusted fitness: 0.0134 +TREE: + (* (- (* (/ x x) + (* x x)) + (cos (+ (sin (- (log x) + (cos (log (* -0.57760 -0.93497))))) + (+ (sin (sin (cos (sin 0.18895)))) + (+ 0.94927 + (cos (exp (- x + (+ (- x -0.97207) + (exp x)))))))))) + (* (+ (/ x x) x) x)) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 56 + depth: 14 + hits: 35 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 35 + raw fitness: 32.5686 + standardized fitness: 32.5686 + adjusted fitness: 0.0298 +TREE: + (* (- (* (/ x x) + (* x x)) + (cos (+ (sin (sin (log (* 0.45343 -0.04368)))) + (+ (sin (sin (cos (sin 0.18895)))) + (+ 0.94927 + (cos (* (* (* 0.02047 + (/ x x)) + (exp (/ x + (- (cos (/ -0.80227 0.75936)) + (* (- 0.08194 x) + (/ x -0.88792)))))) -0.21304))))))) + (* (+ (/ x x) x) x)) +=== BEST-OF-RUN === + current generation: 22 + generation: 22 + nodes: 42 + depth: 9 + hits: 95 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 95 + raw fitness: 3.0759 + standardized fitness: 3.0759 + adjusted fitness: 0.2453 +TREE: + (* (- (* (/ x x) + (* x x)) + (cos (+ (sin (- (* 0.45343 -0.04368) + (/ (sin -0.92722) + (log (sin -0.98939))))) + (+ (sin (sin (cos (sin 0.18895)))) + (+ 0.94927 + (cos (exp (- x x)))))))) + (* (+ (/ x x) x) x)) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 44 + depth: 9 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.1367 + standardized fitness: 0.1367 + adjusted fitness: 0.8797 +TREE: + (* (- (* (/ x x) + (* x x)) + (cos (+ (sin (- (* 0.45343 -0.04368) + (/ (sin -0.92722) + (log (sin -0.98939))))) + (+ (sin (/ 0.74442 + (cos (/ -0.16788 0.72878)))) + (+ 0.94927 + (cos (exp (- x x)))))))) + (* (+ (/ x x) x) x)) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.prg b/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.prg new file mode 100644 index 0000000..142211f --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -4.50508, y = 336.27494 + x = 3.13857, y = 140.94048 + x = -4.73157, y = 412.93742 + x = -1.81952, y = 6.42777 + x = 3.45353, y = 198.81979 + x = -1.01002, y = 0.02044 + x = 4.05332, y = 357.00326 + x = 2.10125, y = 35.28872 + x = 2.75313, y = 88.65328 + x = -0.26427, y = -0.20801 + x = 2.63949, y = 76.53308 + x = 0.27793, y = 0.38260 + x = 1.45592, y = 11.15497 + x = 3.15643, y = 143.82887 + x = -4.22724, y = 257.42451 + x = 0.78982, y = 2.29545 + x = 1.75719, y = 19.80461 + x = 4.98461, y = 771.01896 + x = 1.94937, y = 27.59753 + x = 0.35347, y = 0.53819 + x = 3.60159, y = 231.54988 + x = -2.74564, y = 40.92461 + x = -3.74141, y = 153.83279 + x = 3.22632, y = 155.56906 + x = -1.45384, y = 2.05444 + x = -2.37699, y = 21.76653 + x = -2.89936, y = 51.79991 + x = -0.21794, y = -0.17854 + x = -2.26530, y = 17.57472 + x = 1.44350, y = 10.87680 + x = -1.22016, y = 0.66857 + x = -3.91827, y = 186.98688 + x = 2.44775, y = 59.00271 + x = 0.42686, y = 0.72004 + x = 2.05950, y = 33.02716 + x = 3.71406, y = 259.02179 + x = 1.70817, y = 18.12394 + x = 0.97029, y = 3.71162 + x = -0.11360, y = -0.10200 + x = 2.20218, y = 41.25030 + x = 0.28426, y = 0.39456 + x = -1.89540, y = 7.79415 + x = -4.11264, y = 229.31695 + x = -2.43743, y = 24.31900 + x = 1.63537, y = 15.83625 + x = 3.98725, y = 336.02755 + x = 2.65073, y = 77.67249 + x = -1.17447, y = 0.48755 + x = 1.50292, y = 12.25857 + x = 0.67988, y = 1.67006 + x = -2.05446, y = 11.30997 + x = 3.10135, y = 135.06227 + x = -4.32264, y = 282.73125 + x = 4.71416, y = 625.57545 + x = -3.01370, y = 61.18660 + x = 4.41318, y = 489.16308 + x = -4.30918, y = 279.05205 + x = -0.15842, y = -0.13667 + x = 1.12098, y = 5.36522 + x = 4.73947, y = 638.22906 + x = 2.28181, y = 46.47855 + x = -1.91697, y = 8.21730 + x = -2.78514, y = 43.53898 + x = -4.44905, y = 319.08515 + x = 4.45147, y = 505.13211 + x = -0.46511, y = -0.30260 + x = -0.60944, y = -0.32643 + x = -1.10664, y = 0.26255 + x = -3.47895, y = 113.00281 + x = -3.21449, y = 80.67329 + x = 3.13908, y = 141.02268 + x = -2.06834, y = 11.66284 + x = -1.51832, y = 2.60116 + x = -3.73051, y = 151.94446 + x = -2.59207, y = 31.85378 + x = -4.49976, y = 334.61113 + x = -3.42300, y = 105.47344 + x = -3.45557, y = 109.80931 + x = 1.24002, y = 7.04872 + x = -0.86703, y = -0.20196 + x = -3.06781, y = 66.04691 + x = 2.25906, y = 44.93559 + x = 3.66108, y = 245.79112 + x = -2.00476, y = 10.11000 + x = 4.16169, y = 393.53047 + x = -4.30319, y = 277.42700 + x = 3.86688, y = 300.22495 + x = 1.89680, y = 25.26366 + x = 0.97539, y = 3.75988 + x = -2.47539, y = 26.03083 + x = -0.67650, y = -0.31900 + x = -2.18519, y = 14.95652 + x = -0.55076, y = -0.32248 + x = -1.89911, y = 7.86582 + x = 4.06310, y = 360.18989 + x = -2.64740, y = 34.92879 + x = 4.62292, y = 581.52834 + x = 4.61787, y = 579.16262 + x = -4.84536, y = 456.06879 + x = 1.13513, y = 5.54657 + x = 2.41025, y = 55.96970 + x = 1.10631, y = 5.18220 + x = 2.58551, y = 71.24181 + x = -2.63005, y = 33.94177 + x = -1.25231, y = 0.81148 + x = 0.68648, y = 1.70333 + x = 4.44026, y = 500.41783 + x = 2.68212, y = 80.92083 + x = -4.44753, y = 318.62792 + x = -3.71050, y = 148.52496 + x = -4.45370, y = 320.48425 + x = -1.20598, y = 0.60971 + x = 3.86618, y = 300.02729 + x = -1.40363, y = 1.68278 + x = 0.41597, y = 0.69092 + x = -0.53300, y = -0.31962 + x = 3.63379, y = 239.17731 + x = 4.11396, y = 377.11173 + x = -3.51216, y = 117.65794 + x = 2.09887, y = 35.15646 + x = -0.08803, y = -0.08091 + x = -0.22731, y = -0.18471 + x = -1.26128, y = 0.85382 + x = 0.38592, y = 0.61451 + x = -0.62474, y = -0.32594 + x = -2.96723, y = 57.23046 + x = 0.34615, y = 0.52179 + x = -3.88827, y = 181.01780 + x = 2.52180, y = 65.36108 + x = 1.72145, y = 18.56778 + x = -3.94002, y = 191.40626 + x = -1.10512, y = 0.25805 + x = -4.00804, y = 205.73410 + x = -0.04948, y = -0.04715 + x = -1.41333, y = 1.75106 + x = 3.13817, y = 140.87678 + x = 3.39288, y = 186.47945 + x = 0.06472, y = 0.06920 + x = 2.57926, y = 70.64771 + x = -0.30531, y = -0.23187 + x = -2.93698, y = 54.76055 + x = 4.75291, y = 645.02960 + x = 0.40896, y = 0.67257 + x = 3.87652, y = 302.98094 + x = 2.61265, y = 73.86555 + x = 4.55080, y = 548.40346 + x = 4.07610, y = 364.45741 + x = 4.06332, y = 360.26085 + x = 3.72564, y = 261.98368 + x = 2.03033, y = 31.51494 + x = 2.00645, y = 30.31744 + x = 3.51119, y = 211.11713 + x = -2.90392, y = 52.15225 + x = -1.56681, y = 3.06821 + x = 0.07515, y = 0.08125 + x = -1.48462, y = 2.30531 + x = 0.11435, y = 0.12909 + x = -2.36501, y = 21.28473 + x = 3.78328, y = 277.11527 + x = 0.60952, y = 1.34552 + x = 2.29360, y = 47.29405 + x = -0.62446, y = -0.32596 + x = -4.89714, y = 476.77791 + x = 0.85778, y = 2.76610 + x = 4.22648, y = 416.67968 + x = -4.20661, y = 252.18397 + x = 3.38506, y = 184.93168 + x = 4.98967, y = 773.96140 + x = 0.98372, y = 3.83981 + x = 0.86517, y = 2.82156 + x = 0.39090, y = 0.62679 + x = 4.57047, y = 557.29117 + x = -4.61167, y = 370.88438 + x = -0.54249, y = -0.32124 + x = -4.90758, y = 481.03725 + x = 1.40078, y = 9.96174 + x = -2.32339, y = 19.67258 + x = -4.69448, y = 399.56470 + x = -4.68923, y = 397.69808 + x = -4.14012, y = 235.83631 + x = 1.91843, y = 26.20440 + x = -2.28885, y = 18.40432 + x = -2.67155, y = 36.33745 + x = -3.08773, y = 67.90621 + x = 4.42784, y = 495.23299 + x = 1.68444, y = 17.35162 + x = -1.20798, y = 0.61784 + x = 0.13418, y = 0.15492 + x = 0.72404, y = 1.90266 + x = -2.20672, y = 15.63012 + x = 4.75311, y = 645.13014 + x = 3.40321, y = 188.54006 + x = 4.08100, y = 366.07789 + x = -3.28591, y = 88.61182 + x = 4.30379, y = 445.62930 + x = -2.50745, y = 27.54511 + x = 4.36459, y = 469.44594 + x = -4.04856, y = 214.64167 + x = 3.78410, y = 277.33572 + x = -3.78813, y = 162.12359 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.stt b/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.stt new file mode 100644 index 0000000..6bb7112 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.stt @@ -0,0 +1,25 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 12.899 3.664 15 4 12 5 0.0000 0.0001 0.0000 12.899 3.664 15 4 12 5 +1 0 0.0000 0.0001 0.0000 13.253 4.177 15 4 31 8 0.0000 0.0001 0.0000 13.076 3.921 15 4 12 5 +2 0 0.0000 0.0001 0.0000 13.900 4.519 15 4 25 6 0.0000 0.0001 0.0000 13.351 4.120 15 4 12 5 +3 0 0.0000 0.0002 0.0000 14.929 4.854 23 6 26 7 0.0000 0.0002 0.0000 13.745 4.303 23 6 12 5 +4 0 0.0000 0.0002 0.0000 15.904 5.199 23 6 49 8 0.0000 0.0002 0.0000 14.177 4.483 23 6 12 5 +5 0 0.0000 0.0002 0.0000 16.507 5.361 26 7 8 4 0.0000 0.0002 0.0000 14.565 4.629 26 7 12 5 +6 0 0.0000 0.0002 0.0000 17.019 5.549 26 7 15 5 0.0000 0.0002 0.0000 14.916 4.761 26 7 12 5 +7 0 0.0000 0.0004 0.0000 17.763 5.689 42 13 25 7 0.0000 0.0004 0.0000 15.272 4.877 42 13 12 5 +8 0 0.0000 0.0005 0.0000 19.037 6.004 38 10 17 5 0.0000 0.0005 0.0000 15.690 5.002 38 10 12 5 +9 0 0.0000 0.0007 0.0000 21.225 6.428 25 8 12 4 0.0000 0.0007 0.0000 16.244 5.145 25 8 12 5 +10 0 0.0001 0.0011 0.0000 25.424 7.345 34 9 54 17 0.0000 0.0011 0.0000 17.078 5.345 34 9 12 5 +11 0 0.0001 0.0018 0.0000 31.684 8.570 29 8 24 11 0.0000 0.0018 0.0000 18.295 5.613 29 8 12 5 +12 0 0.0002 0.0020 0.0000 37.320 9.668 26 7 54 15 0.0001 0.0020 0.0000 19.759 5.925 26 7 12 5 +13 0 0.0002 0.0025 0.0000 40.934 10.327 35 9 75 17 0.0001 0.0025 0.0000 21.271 6.240 35 9 12 5 +14 0 0.0003 0.0035 0.0000 42.533 10.546 46 11 78 17 0.0001 0.0035 0.0000 22.689 6.527 46 11 12 5 +15 0 0.0003 0.0048 0.0000 44.298 10.866 32 9 20 6 0.0001 0.0048 0.0000 24.039 6.798 32 9 12 5 +16 0 0.0004 0.0055 0.0000 46.523 11.243 39 11 64 17 0.0001 0.0055 0.0000 25.362 7.059 39 11 12 5 +17 0 0.0005 0.0069 0.0000 47.750 11.439 30 9 34 7 0.0001 0.0069 0.0000 26.606 7.303 30 9 12 5 +18 0 0.0006 0.0069 0.0000 49.538 11.769 30 9 105 16 0.0002 0.0069 0.0000 27.813 7.538 30 9 12 5 +19 0 0.0007 0.0134 0.0000 50.646 11.853 45 11 60 14 0.0002 0.0134 0.0000 28.954 7.754 45 11 12 5 +20 0 0.0009 0.0134 0.0000 52.203 11.965 45 11 66 15 0.0002 0.0134 0.0000 30.061 7.954 45 11 12 5 +21 0 0.0013 0.0298 0.0000 54.317 12.165 56 14 42 11 0.0003 0.0298 0.0000 31.164 8.146 56 14 12 5 +22 0 0.0021 0.2453 0.0000 56.163 12.368 42 9 12 5 0.0004 0.2453 0.0000 32.251 8.329 42 9 12 5 +23 0 0.0042 0.8797 0.0000 56.695 12.336 44 9 88 16 0.0005 0.8797 0.0000 33.269 8.496 44 9 12 5 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.sys b/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.sys new file mode 100644 index 0000000..a9f6d38 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_6/regress.sys @@ -0,0 +1,122 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 2110. +creating initial population(s): + 5639 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 85190799 + freed: 84729603 + not freed: 461196 + max allocated: 6988137 + malloc'ed blocks: 352407 + realloc'ed blocks: 10 + free'ed blocks: 352338 + +------- time ------- + overall: 2s wall + evaluation: 2s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 300 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 73698 + freed: 73698 + allocated: 15500 + blocks: 30 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.bst b/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.bst new file mode 100644 index 0000000..ba09665 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.bst @@ -0,0 +1,24 @@ +=== BEST-OF-RUN === + generation: 28 + nodes: 22 + depth: 6 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (+ (* (* x + (+ x + (/ (sin -0.45088) + (- x x)))) x) + (+ x + (* (* x x) + (* x x)))) +TREE-equ: +y = (((x * (x + (sin(-0.45088) / (x - x)))) * x) + (x + ((x * x) * (x * x)))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.fn b/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.fn new file mode 100644 index 0000000..4ead8ed --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.fn @@ -0,0 +1,2 @@ + +y = (((x * (x + (sin(-0.45088) / (x - x)))) * x) + (x + ((x * x) * (x * x)))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.gen b/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.his b/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.his new file mode 100644 index 0000000..2b8fb7f --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.his @@ -0,0 +1,701 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 19 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 13427.8674 + standardized fitness: 13427.8674 + adjusted fitness: 0.0001 +TREE: + (+ (exp (* (cos -0.76550) + (+ x x))) + (* (+ (cos x) + (/ x x)) + (exp (- 0.27935 x)))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 11 + depth: 3 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 7829.4279 + standardized fitness: 7829.4279 + adjusted fitness: 0.0001 +TREE: + (* (log (exp x)) + (* (* x x) + (+ x -0.09799))) +=== BEST-OF-RUN === + current generation: 2 + generation: 1 + nodes: 11 + depth: 3 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 7829.4279 + standardized fitness: 7829.4279 + adjusted fitness: 0.0001 +TREE: + (* (log (exp x)) + (* (* x x) + (+ x -0.09799))) +=== BEST-OF-RUN === + current generation: 3 + generation: 1 + nodes: 11 + depth: 3 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 7829.4279 + standardized fitness: 7829.4279 + adjusted fitness: 0.0001 +TREE: + (* (log (exp x)) + (* (* x x) + (+ x -0.09799))) +=== BEST-OF-RUN === + current generation: 4 + generation: 1 + nodes: 11 + depth: 3 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 7829.4279 + standardized fitness: 7829.4279 + adjusted fitness: 0.0001 +TREE: + (* (log (exp x)) + (* (* x x) + (+ x -0.09799))) +=== BEST-OF-RUN === + current generation: 5 + generation: 1 + nodes: 11 + depth: 3 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 7829.4279 + standardized fitness: 7829.4279 + adjusted fitness: 0.0001 +TREE: + (* (log (exp x)) + (* (* x x) + (+ x -0.09799))) +=== BEST-OF-RUN === + current generation: 6 + generation: 1 + nodes: 11 + depth: 3 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 7829.4279 + standardized fitness: 7829.4279 + adjusted fitness: 0.0001 +TREE: + (* (log (exp x)) + (* (* x x) + (+ x -0.09799))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 34 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7501.1942 + standardized fitness: 7501.1942 + adjusted fitness: 0.0001 +TREE: + (+ (exp (* (cos -0.76550) + (+ x x))) + (* (+ (cos -0.65399) + (cos (cos x))) + (exp (log (+ (+ (/ (sin (log -0.97086)) + (- (/ 0.08735 x) -0.77013)) x) + (/ (exp 0.91003) + (exp x))))))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 19 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6104.8838 + standardized fitness: 6104.8838 + adjusted fitness: 0.0002 +TREE: + (* (* (* x + (+ x + (/ (log (cos -0.54233)) -0.96028))) + (* (/ -0.87244 + (- x x)) x)) x) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 16 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 4628.6820 + standardized fitness: 4628.6820 + adjusted fitness: 0.0002 +TREE: + (* (* (* x + (+ x + (exp -0.95907))) + (* (/ -0.87244 + (- x x)) x)) x) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 18 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1754.2945 + standardized fitness: 1754.2945 + adjusted fitness: 0.0006 +TREE: + (* (* (* x + (+ x + (/ (log 0.40206) -0.96028))) + (* (/ -0.87244 + (- x x)) x)) x) +=== BEST-OF-RUN === + current generation: 11 + generation: 10 + nodes: 18 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1754.2945 + standardized fitness: 1754.2945 + adjusted fitness: 0.0006 +TREE: + (* (* (* x + (+ x + (/ (log 0.40206) -0.96028))) + (* (/ -0.87244 + (- x x)) x)) x) +=== BEST-OF-RUN === + current generation: 12 + generation: 10 + nodes: 18 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1754.2945 + standardized fitness: 1754.2945 + adjusted fitness: 0.0006 +TREE: + (* (* (* x + (+ x + (/ (log 0.40206) -0.96028))) + (* (/ -0.87244 + (- x x)) x)) x) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 47 + depth: 13 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1425.0308 + standardized fitness: 1425.0308 + adjusted fitness: 0.0007 +TREE: + (* (* (* x + (+ x + (/ (* (cos (/ (/ x 0.70381) x)) + (- (+ -0.52206 + (/ (+ x + (+ (cos (log 0.76101)) x)) + (/ (* x -0.93178) + (+ 0.33903 0.86236)))) + (exp (- (cos 0.83313) + (sin -0.33858))))) -0.96028))) + (* (/ -0.87244 + (- x x)) x)) x) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 49 + depth: 15 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 992.1056 + standardized fitness: 992.1056 + adjusted fitness: 0.0010 +TREE: + (* (* (* x + (+ x + (exp (sin (* (cos (sin (+ (cos x) + (sin 0.49841)))) + (* (* (* 0.98559 x) + (/ x x)) + (exp (- (- -0.91038 + (sin (/ x x))) + (exp (cos (exp (* (- x x) + (log x))))))))))))) + (* (/ -0.87244 + (- x x)) x)) x) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 50 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 359.6855 + standardized fitness: 359.6855 + adjusted fitness: 0.0028 +TREE: + (+ (- (/ (* (/ (+ (- x + (* (* (* x + (+ x + (/ (log 0.40206) -0.96028))) x) x)) + (* -0.61768 x)) x) + (/ 0.42352 + (sin (sin -0.45088)))) 0.98725) + (log (cos (* (sin (/ (* x x) 0.46588)) + (exp x))))) + (+ -0.48596 + (* (* x x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 52 + depth: 13 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 351.6218 + standardized fitness: 351.6218 + adjusted fitness: 0.0028 +TREE: + (+ (- (/ (* (/ (+ (- x + (* (* (* x + (+ x + (/ (log 0.40206) -0.96028))) x) x)) + (* -0.61768 x)) x) + (/ 0.42352 + (sin (sin -0.45088)))) 0.98725) + (log (cos (* (sin (/ (* x x) 0.46588)) + (exp x))))) + (+ (- x x) + (* (* x x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 51 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 330.3698 + standardized fitness: 330.3698 + adjusted fitness: 0.0030 +TREE: + (+ (- (/ (* (/ (+ (- x + (* (* (* x + (+ x + (/ (log 0.40206) -0.96028))) x) x)) + (* -0.61768 x)) x) + (/ 0.42352 + (sin (sin -0.45088)))) 0.98725) + (log (cos (* (* (exp (cos (+ -0.18731 x))) -0.84158) + (exp x))))) + (+ -0.48596 + (* (* x x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 54 + depth: 13 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 130.9904 + standardized fitness: 130.9904 + adjusted fitness: 0.0076 +TREE: + (+ (- (/ (* (/ (+ (- x + (* (* (* x + (+ x + (/ (log 0.40206) -0.96028))) x) x)) + (* -0.61768 x)) x) + (/ 0.42352 + (sin (sin -0.45088)))) 0.98725) + (log (cos (/ (cos (* (* x x) + (- -0.74026 x))) + (log (log (sin -0.74873))))))) + (+ x + (* (* x x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 52 + depth: 13 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 115.8008 + standardized fitness: 115.8008 + adjusted fitness: 0.0086 +TREE: + (+ (- (/ (* (/ (+ (- x + (* (* (* x + (+ x + (/ (log 0.40206) -0.96028))) x) x)) + (* x -0.93178)) x) + (/ 0.42352 + (sin (sin -0.45088)))) 0.98725) + (log (cos (* (sin (/ (* (- x x) x) 0.46588)) + (exp x))))) + (+ x + (* (* x x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 45 + depth: 13 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 108.1680 + standardized fitness: 108.1680 + adjusted fitness: 0.0092 +TREE: + (+ (- (/ (* (/ (+ (- x + (* (* (* x + (+ x + (/ (log 0.40206) -0.96028))) x) x)) + (* -0.61768 x)) x) + (/ 0.42352 + (sin (sin -0.45088)))) 0.98725) + (* -0.61768 x)) + (+ (/ (log 0.40206) -0.96028) + (* (* x x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 25 + depth: 5 + hits: 20 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 20 + raw fitness: 100.7078 + standardized fitness: 100.7078 + adjusted fitness: 0.0098 +TREE: + (+ (* (* x + (+ x + (+ 0.63953 0.30269))) + (* (/ -0.87244 + (- x x)) x)) + (+ x + (* (* x x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 22 + generation: 22 + nodes: 90 + depth: 15 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 84.9884 + standardized fitness: 84.9884 + adjusted fitness: 0.0116 +TREE: + (+ (- (/ (* (/ (+ (- x + (* (* (* x + (+ x + (/ (log 0.40206) -0.96028))) x) x)) + (* -0.61768 x)) x) + (/ 0.42352 + (sin (sin -0.45088)))) 0.98725) + (log (cos (* (sin (/ (* x x) 0.46588)) + (exp x))))) + (+ (+ (* (/ (exp (* x + (exp (- (- -0.91038 + (sin (/ x x))) + (exp (cos (log (- (- (sin 0.55559) -0.96089) + (+ (log x) x))))))))) -0.93624) + (* -0.61768 x)) + (* (exp (/ 0.85673 -0.29874)) + (/ (exp -0.49836) + (- x x)))) + (* (* x x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 46 + depth: 13 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 80.4138 + standardized fitness: 80.4138 + adjusted fitness: 0.0123 +TREE: + (+ (- (/ (* (/ (+ (- x + (* (* (* x + (+ x + (/ (log 0.40206) -0.96028))) x) x)) + (* x -0.93178)) x) + (/ 0.42352 + (sin (sin -0.45088)))) 0.98725) + (log (exp (log (exp (* 0.14488 x)))))) + (+ x + (* (* x x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 54 + depth: 12 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 66.1769 + standardized fitness: 66.1769 + adjusted fitness: 0.0149 +TREE: + (+ (- (* (/ (+ (- x + (* (* (* x + (+ x + (/ (log 0.40206) -0.96028))) x) x)) + (* -0.61768 x)) x) + (/ 0.42352 + (sin (sin -0.45088)))) + (log (cos (* (sin (/ 0.77952 0.46588)) + (exp (cos (- (sin (+ 0.66619 -0.62493)) + (exp (sin 0.52419))))))))) + (+ x + (* (* x x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 25 + generation: 25 + nodes: 47 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 64.0652 + standardized fitness: 64.0652 + adjusted fitness: 0.0154 +TREE: + (+ (- (* (/ (+ (- x + (* (* (* x + (+ x + (/ (log 0.40206) -0.96028))) x) x)) + (* -0.61768 x)) x) + (/ 0.42352 + (sin (sin -0.45088)))) + (log (cos (* (sin (/ 0.77952 0.46588)) + (/ x x))))) + (+ x + (* (* x x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 30 + depth: 7 + hits: 25 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 25 + raw fitness: 25.9928 + standardized fitness: 25.9928 + adjusted fitness: 0.0370 +TREE: + (+ (- (* (* x + (+ x + (/ (log 0.40206) -0.96028))) x) + (log (cos (* (/ -0.16688 -0.68562) x)))) + (+ (log (exp x)) + (* (* x x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 27 + generation: 26 + nodes: 30 + depth: 7 + hits: 25 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 25 + raw fitness: 25.9928 + standardized fitness: 25.9928 + adjusted fitness: 0.0370 +TREE: + (+ (- (* (* x + (+ x + (/ (log 0.40206) -0.96028))) x) + (log (cos (* (/ -0.16688 -0.68562) x)))) + (+ (log (exp x)) + (* (* x x) + (* x x)))) +=== BEST-OF-RUN === + current generation: 28 + generation: 28 + nodes: 22 + depth: 6 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (+ (* (* x + (+ x + (/ (sin -0.45088) + (- x x)))) x) + (+ x + (* (* x x) + (* x x)))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.prg b/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.prg new file mode 100644 index 0000000..9272df7 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 0.15360, y = 0.18137 + x = -4.76855, y = 426.60414 + x = 1.36450, y = 9.23345 + x = 2.00639, y = 30.31433 + x = 1.89271, y = 25.08852 + x = 3.24876, y = 159.48846 + x = -0.06491, y = -0.06095 + x = 4.82371, y = 681.74106 + x = -1.75829, y = 5.45525 + x = -2.60742, y = 32.68553 + x = 0.27082, y = 0.36940 + x = 4.03356, y = 350.62673 + x = 3.10447, y = 135.54880 + x = -4.98213, y = 512.28946 + x = 4.20915, y = 410.38946 + x = 4.22294, y = 415.39043 + x = 1.79170, y = 21.05890 + x = -3.77454, y = 159.67805 + x = -3.71021, y = 148.47497 + x = -1.71607, y = 4.84755 + x = -3.69014, y = 145.10385 + x = 1.77468, y = 20.43264 + x = 0.84239, y = 2.65332 + x = 2.94128, y = 111.87995 + x = 2.26898, y = 45.60306 + x = 0.35214, y = 0.53517 + x = 2.55561, y = 68.43344 + x = 2.01088, y = 30.53700 + x = -1.81175, y = 6.29806 + x = -0.19948, y = -0.16604 + x = -0.98162, y = -0.03542 + x = -4.01566, y = 207.38693 + x = 4.80319, y = 670.94062 + x = 2.11134, y = 35.85242 + x = -0.35513, y = -0.25790 + x = 0.70435, y = 1.79601 + x = 1.28160, y = 7.72689 + x = -0.44966, y = -0.29750 + x = 1.43888, y = 10.77471 + x = -1.07715, y = 0.17951 + x = -0.86986, y = -0.19886 + x = -4.73834, y = 415.41450 + x = 1.23439, y = 6.96074 + x = 2.67987, y = 80.68436 + x = -0.16695, y = -0.14295 + x = 0.03249, y = 0.03358 + x = -1.60222, y = 3.44192 + x = -2.31606, y = 19.39831 + x = 4.48868, y = 521.02960 + x = 4.20655, y = 409.45275 + x = 0.15286, y = 0.18035 + x = -2.02123, y = 10.49699 + x = 2.22012, y = 42.38606 + x = -1.80097, y = 6.12138 + x = 0.31031, y = 0.44576 + x = -0.83075, y = -0.23764 + x = -4.57174, y = 357.62039 + x = 4.25316, y = 426.50668 + x = -2.63848, y = 34.41872 + x = -3.81164, y = 166.41974 + x = -3.03284, y = 62.87397 + x = -4.61525, y = 372.09001 + x = -1.61517, y = 3.58564 + x = 4.31886, y = 451.44608 + x = 3.26245, y = 161.91562 + x = 0.00916, y = 0.00924 + x = -2.20084, y = 15.44393 + x = -4.57540, y = 358.81881 + x = 0.18481, y = 0.22644 + x = -0.82334, y = -0.24405 + x = 0.82517, y = 2.53157 + x = -0.89224, y = -0.17269 + x = -3.26323, y = 86.03022 + x = -2.91676, y = 53.15379 + x = 3.13107, y = 139.74083 + x = 3.33109, y = 174.51528 + x = 4.55456, y = 550.09223 + x = -2.35664, y = 20.95312 + x = -2.36903, y = 21.44559 + x = -1.90028, y = 7.88846 + x = -0.07612, y = -0.07074 + x = 3.30244, y = 169.16911 + x = -0.35064, y = -0.25568 + x = -3.00010, y = 60.00894 + x = -2.16664, y = 14.39355 + x = -1.36637, y = 1.43522 + x = 2.59951, y = 72.58609 + x = -4.51567, y = 339.59882 + x = 3.84889, y = 295.13336 + x = 4.63571, y = 587.55974 + x = -2.09481, y = 12.35760 + x = 0.85699, y = 2.76024 + x = 4.36553, y = 469.82354 + x = -2.73778, y = 40.41834 + x = 3.09768, y = 134.49404 + x = -4.97762, y = 510.35584 + x = 3.52489, y = 214.12263 + x = -0.84885, y = -0.22076 + x = 4.54880, y = 547.50379 + x = 1.50196, y = 12.23510 + x = 0.47793, y = 0.86770 + x = -4.24558, y = 262.15285 + x = -4.94703, y = 497.38854 + x = 1.38896, y = 9.71962 + x = -0.71732, y = -0.30711 + x = 1.85042, y = 23.33460 + x = 3.32940, y = 174.19587 + x = 0.22022, y = 0.28175 + x = -4.63433, y = 378.57361 + x = -3.32331, y = 92.99604 + x = 1.56974, y = 13.97361 + x = 4.94393, y = 747.65890 + x = -4.59572, y = 365.54356 + x = -2.27419, y = 17.88492 + x = 3.28317, y = 165.64415 + x = 1.11017, y = 5.22991 + x = -3.98078, y = 199.89899 + x = -3.87739, y = 178.88847 + x = -3.77883, y = 160.44572 + x = 3.24007, y = 157.96168 + x = 1.48427, y = 11.81065 + x = 3.64801, y = 242.60611 + x = -4.12420, y = 232.04197 + x = 3.68285, y = 251.16378 + x = 3.69872, y = 255.13785 + x = 0.07075, y = 0.07614 + x = -0.94521, y = -0.09805 + x = 0.34781, y = 0.52550 + x = 2.80057, y = 94.12425 + x = -3.71935, y = 150.03019 + x = -4.99831, y = 519.26563 + x = -0.66566, y = -0.32117 + x = -2.72231, y = 39.43620 + x = -4.04572, y = 214.00869 + x = 1.52998, y = 12.93178 + x = -0.02005, y = -0.01965 + x = 2.89817, y = 106.18990 + x = -3.07644, y = 66.84757 + x = -1.28328, y = 0.96217 + x = 1.72319, y = 18.62656 + x = -2.38559, y = 22.11706 + x = 1.47690, y = 11.63726 + x = 4.26316, y = 430.23154 + x = -4.39118, y = 302.03185 + x = -1.84855, y = 6.92872 + x = -0.74283, y = -0.29645 + x = -0.01881, y = -0.01846 + x = -4.31732, y = 281.27176 + x = -1.43650, y = 1.92096 + x = -1.97307, y = 9.39425 + x = 0.96759, y = 3.68625 + x = -1.82292, y = 6.48513 + x = 1.35059, y = 8.96556 + x = 3.26815, y = 162.93537 + x = 1.50027, y = 12.19398 + x = -3.85641, y = 174.83575 + x = 3.47673, y = 203.70035 + x = 4.09869, y = 371.96870 + x = 4.85898, y = 700.60497 + x = 4.30272, y = 445.22159 + x = 3.95225, y = 325.30184 + x = 1.40584, y = 10.06685 + x = -3.49650, y = 115.44594 + x = -1.35752, y = 1.37975 + x = 4.06228, y = 359.92088 + x = -4.90715, y = 480.86085 + x = -4.31923, y = 281.79553 + x = 4.79546, y = 666.90388 + x = 4.57436, y = 559.06162 + x = -0.97400, y = -0.04935 + x = -3.87102, y = 177.65105 + x = -4.66346, y = 388.63386 + x = 2.55912, y = 68.75860 + x = 3.19424, y = 150.09412 + x = -2.72752, y = 39.76511 + x = -1.69281, y = 4.53355 + x = -2.70258, y = 38.20922 + x = -2.39235, y = 22.39524 + x = -2.81742, y = 45.76543 + x = 2.55513, y = 68.38925 + x = 1.59403, y = 14.64156 + x = -0.04391, y = -0.04206 + x = 0.48883, y = 0.90170 + x = 3.49784, y = 208.22101 + x = -2.67161, y = 36.34088 + x = -1.40415, y = 1.68636 + x = -2.16916, y = 14.46907 + x = 3.63521, y = 239.51778 + x = -3.10800, y = 69.83854 + x = 1.43713, y = 10.73630 + x = -0.70082, y = -0.31265 + x = 3.10271, y = 135.27464 + x = -2.65080, y = 35.12443 + x = 4.69072, y = 614.03035 + x = 0.59421, y = 1.28176 + x = -2.72213, y = 39.42507 + x = 3.91778, y = 314.99170 + x = -3.93109, y = 189.58228 + x = 3.33634, y = 175.50806 + x = 4.84426, y = 692.68180 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.stt b/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.stt new file mode 100644 index 0000000..e3d5f7e --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.stt @@ -0,0 +1,30 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.005 3.668 19 4 18 6 0.0000 0.0001 0.0000 13.005 3.668 19 4 18 6 +1 0 0.0000 0.0001 0.0000 13.041 4.098 11 3 30 6 0.0000 0.0001 0.0000 13.023 3.883 11 3 18 6 +2 0 0.0000 0.0001 0.0000 13.683 4.415 11 3 5 3 0.0000 0.0001 0.0000 13.243 4.060 11 3 18 6 +3 0 0.0000 0.0001 0.0000 14.553 4.754 11 3 15 6 0.0000 0.0001 0.0000 13.570 4.234 11 3 18 6 +4 0 0.0000 0.0001 0.0000 15.390 5.062 11 3 24 7 0.0000 0.0001 0.0000 13.934 4.400 11 3 18 6 +5 0 0.0000 0.0001 0.0000 16.002 5.300 11 3 18 7 0.0000 0.0001 0.0000 14.279 4.550 11 3 18 6 +6 0 0.0000 0.0001 0.0000 16.586 5.489 11 3 13 5 0.0000 0.0001 0.0000 14.609 4.684 11 3 18 6 +7 0 0.0000 0.0001 0.0000 17.266 5.661 34 9 17 10 0.0000 0.0001 0.0000 14.941 4.806 34 9 18 6 +8 0 0.0000 0.0002 0.0000 17.491 5.704 19 7 30 8 0.0000 0.0002 0.0000 15.224 4.906 19 7 18 6 +9 0 0.0000 0.0002 0.0000 18.032 5.871 16 5 38 11 0.0000 0.0002 0.0000 15.505 5.002 16 5 18 6 +10 0 0.0000 0.0006 0.0000 18.765 6.015 18 6 26 8 0.0000 0.0006 0.0000 15.801 5.094 18 6 18 6 +11 0 0.0000 0.0006 0.0000 19.408 6.190 18 6 9 5 0.0000 0.0006 0.0000 16.102 5.186 18 6 18 6 +12 0 0.0000 0.0006 0.0000 20.246 6.415 18 6 41 9 0.0000 0.0006 0.0000 16.421 5.280 18 6 18 6 +13 0 0.0000 0.0007 0.0000 21.254 6.656 47 13 8 6 0.0000 0.0007 0.0000 16.766 5.378 47 13 18 6 +14 0 0.0000 0.0010 0.0000 22.642 7.016 49 15 26 6 0.0000 0.0010 0.0000 17.158 5.488 49 15 18 6 +15 0 0.0001 0.0028 0.0000 25.059 7.733 50 13 27 12 0.0000 0.0028 0.0000 17.651 5.628 50 13 18 6 +16 0 0.0001 0.0028 0.0000 30.427 9.192 52 13 21 7 0.0000 0.0028 0.0000 18.403 5.838 52 13 18 6 +17 0 0.0003 0.0030 0.0000 37.585 10.979 51 13 48 15 0.0001 0.0030 0.0000 19.469 6.123 51 13 18 6 +18 0 0.0004 0.0076 0.0000 42.687 11.940 54 13 6 4 0.0001 0.0076 0.0000 20.691 6.429 54 13 18 6 +19 0 0.0006 0.0086 0.0000 46.991 12.298 52 13 51 13 0.0001 0.0086 0.0000 22.006 6.723 52 13 18 6 +20 0 0.0008 0.0092 0.0000 51.815 12.629 45 13 58 16 0.0001 0.0092 0.0000 23.425 7.004 45 13 18 6 +21 0 0.0010 0.0098 0.0000 56.303 12.816 25 5 40 17 0.0002 0.0098 0.0000 24.920 7.268 25 5 18 6 +22 0 0.0013 0.0116 0.0000 59.435 12.890 90 15 56 16 0.0002 0.0116 0.0000 26.420 7.513 90 15 18 6 +23 0 0.0015 0.0123 0.0000 60.791 12.882 46 13 71 16 0.0003 0.0123 0.0000 27.852 7.736 46 13 18 6 +24 0 0.0019 0.0149 0.0000 63.467 13.079 54 12 85 14 0.0003 0.0149 0.0000 29.277 7.950 54 12 18 6 +25 0 0.0024 0.0154 0.0000 64.586 13.154 47 12 95 17 0.0004 0.0154 0.0000 30.635 8.150 47 12 18 6 +26 0 0.0028 0.0370 0.0000 66.382 13.229 30 7 52 12 0.0005 0.0370 0.0000 31.959 8.338 30 7 18 6 +27 0 0.0032 0.0370 0.0000 67.167 13.245 30 7 59 13 0.0006 0.0370 0.0000 33.216 8.514 30 7 18 6 +28 0 0.0038 1.0000 0.0000 68.600 13.378 22 6 99 16 0.0007 1.0000 0.0000 34.437 8.681 22 6 18 6 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.sys b/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.sys new file mode 100644 index 0000000..c5c6674 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_7/regress.sys @@ -0,0 +1,137 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 120. +creating initial population(s): + 5618 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 105911983 + freed: 105350527 + not freed: 561456 + max allocated: 8149652 + malloc'ed blocks: 426117 + realloc'ed blocks: 11 + free'ed blocks: 426033 + +------- time ------- + overall: 3s wall + evaluation: 2s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 300 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 86380 + freed: 86380 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.bst b/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.bst new file mode 100644 index 0000000..42fb3be --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.bst @@ -0,0 +1,32 @@ +=== BEST-OF-RUN === + generation: 15 + nodes: 66 + depth: 15 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.5303 + standardized fitness: 0.5303 + adjusted fitness: 0.6535 +TREE: + (* (* (+ (* x x) + (/ x x)) + (- (sin (exp (/ (* 0.24005 x) + (+ (- (* (exp (sin -0.16173)) x) + (/ x 0.07147)) + (* (* (cos (exp -0.91503)) + (* (cos -0.56649) + (sin -0.51065))) + (* (exp (/ (* 0.24005 x) + (+ (- (cos -0.00366) + (/ x 0.07147)) + (- (sin (* x x)) + (- -0.16814 x))))) + (* (exp (sin -0.16173)) x))))))) + (- -0.16814 x))) x) +TREE-equ: +y = ((((x * x) + (x / x)) * (sin(exp(((0.24005 * x) / (((exp(sin(-0.16173)) * x) - (x / 0.07147)) + ((cos(exp(-0.91503)) * (cos(-0.56649) * sin(-0.51065))) * (exp(((0.24005 * x) / ((cos(-0.00366) - (x / 0.07147)) + (sin((x * x)) - (-0.16814 - x))))) * (exp(sin(-0.16173)) * x))))))) - (-0.16814 - x))) * x) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.fn b/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.fn new file mode 100644 index 0000000..0ad1eb6 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.fn @@ -0,0 +1,2 @@ + +y = ((((x * x) + (x / x)) * (sin(exp(((0.24005 * x) / (((exp(sin(-0.16173)) * x) - (x / 0.07147)) + ((cos(exp(-0.91503)) * (cos(-0.56649) * sin(-0.51065))) * (exp(((0.24005 * x) / ((cos(-0.00366) - (x / 0.07147)) + (sin((x * x)) - (-0.16814 - x))))) * (exp(sin(-0.16173)) * x))))))) - (-0.16814 - x))) * x) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.gen b/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.his b/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.his new file mode 100644 index 0000000..d92544c --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.his @@ -0,0 +1,375 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 26 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7272.2115 + standardized fitness: 7272.2115 + adjusted fitness: 0.0001 +TREE: + (* (* (+ (* x x) + (/ x x)) + (- (log x) + (- -0.16814 x))) + (- (* (sin 0.96472) + (+ x 0.16167)) + (cos (+ 0.83925 -0.02401)))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 26 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7272.2115 + standardized fitness: 7272.2115 + adjusted fitness: 0.0001 +TREE: + (* (* (+ (* x x) + (/ x x)) + (- (log x) + (- -0.16814 x))) + (- (* (sin 0.96472) + (+ x 0.16167)) + (cos (+ 0.83925 -0.02401)))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 27 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6464.2004 + standardized fitness: 6464.2004 + adjusted fitness: 0.0002 +TREE: + (* (* (+ (* x x) + (/ x x)) + (- (/ x x) + (- -0.16814 x))) + (- (* (sin 0.96472) + (+ x 0.16167)) + (cos (+ 0.83925 -0.02401)))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 22 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3947.1229 + standardized fitness: 3947.1229 + adjusted fitness: 0.0003 +TREE: + (* (* (+ (* x x) + (/ x x)) + (- (/ x x) + (- -0.16814 x))) + (- x + (cos (+ 0.83925 -0.02401)))) +=== BEST-OF-RUN === + current generation: 4 + generation: 3 + nodes: 22 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3947.1229 + standardized fitness: 3947.1229 + adjusted fitness: 0.0003 +TREE: + (* (* (+ (* x x) + (/ x x)) + (- (/ x x) + (- -0.16814 x))) + (- x + (cos (+ 0.83925 -0.02401)))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 25 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1555.9942 + standardized fitness: 1555.9942 + adjusted fitness: 0.0006 +TREE: + (exp (log (* (* (+ (* x x) + (/ x x)) + (- (/ x x) + (- -0.16814 x))) + (- x + (cos (* -0.87292 + (log x))))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 17 + depth: 5 + hits: 15 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 15 + raw fitness: 186.4104 + standardized fitness: 186.4104 + adjusted fitness: 0.0053 +TREE: + (* (* (+ (* x x) + (/ x x)) + (- (sin (exp -0.06107)) + (- -0.16814 x))) x) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 18 + depth: 6 + hits: 30 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 30 + raw fitness: 55.2251 + standardized fitness: 55.2251 + adjusted fitness: 0.0178 +TREE: + (* (* (+ (* x x) + (/ x x)) + (- (sin (exp (sin -0.03064))) + (- -0.16814 x))) x) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 19 + depth: 7 + hits: 30 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 30 + raw fitness: 55.2045 + standardized fitness: 55.2045 + adjusted fitness: 0.0178 +TREE: + (* (* (+ (* x x) + (/ x x)) + (- (sin (exp (sin (sin -0.03064)))) + (- -0.16814 x))) x) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 23 + depth: 9 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 44.9888 + standardized fitness: 44.9888 + adjusted fitness: 0.0217 +TREE: + (* (* (+ (* x x) + (/ x x)) + (- (sin (exp (log (cos (- (/ 0.64167 x) 0.04586))))) + (- -0.16814 x))) x) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 38 + depth: 10 + hits: 65 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 65 + raw fitness: 8.5853 + standardized fitness: 8.5853 + adjusted fitness: 0.1043 +TREE: + (* (* (+ (* x x) + (/ x x)) + (- (sin (exp (/ (* 0.24005 + (* (exp (sin -0.16173)) x)) + (+ (- (cos -0.00366) + (/ x 0.07147)) + (- (sin (exp -0.06107)) + (- -0.16814 x)))))) + (- -0.16814 x))) x) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 36 + depth: 10 + hits: 116 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 116 + raw fitness: 3.0356 + standardized fitness: 3.0356 + adjusted fitness: 0.2478 +TREE: + (* (* (+ (* x x) + (/ x x)) + (- (sin (exp (/ (* 0.24005 + (* (exp (sin -0.16173)) x)) + (+ (- (cos -0.00366) + (/ x 0.07147)) + (- x + (- -0.16814 x)))))) + (- -0.16814 x))) x) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 41 + depth: 11 + hits: 119 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 119 + raw fitness: 2.4832 + standardized fitness: 2.4832 + adjusted fitness: 0.2871 +TREE: + (* (* (+ (* x x) + (/ x x)) + (- (sin (exp (/ (* 0.24005 x) + (+ (- (cos -0.00366) + (/ x 0.07147)) + (* (* (cos (exp -0.91503)) + (* (cos -0.56649) + (sin -0.51065))) + (cos (/ 0.79291 -0.55837))))))) + (- -0.16814 x))) x) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 35 + depth: 9 + hits: 129 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 129 + raw fitness: 1.5757 + standardized fitness: 1.5757 + adjusted fitness: 0.3882 +TREE: + (* (* (+ (* x x) + (/ x x)) + (- (sin (exp (/ (* 0.24005 + (* (exp -0.04285) x)) + (+ (- (cos -0.00366) + (/ x 0.07147)) + (- -0.16173 + (- -0.16814 x)))))) + (- -0.16814 x))) x) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 52 + depth: 12 + hits: 158 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 158 + raw fitness: 1.0649 + standardized fitness: 1.0649 + adjusted fitness: 0.4843 +TREE: + (* (* (+ (* x x) + (/ x x)) + (- (sin (exp (/ (* 0.24005 + (* (cos -0.00366) x)) + (+ (- (/ (* x 0.27129) + (- (sin (* 0.01654 0.32038)) -0.58478)) + (/ x 0.07147)) + (- (sin (+ (* x x) + (/ x x))) + (log (exp (sin (cos x))))))))) + (- -0.16814 x))) x) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 66 + depth: 15 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.5303 + standardized fitness: 0.5303 + adjusted fitness: 0.6535 +TREE: + (* (* (+ (* x x) + (/ x x)) + (- (sin (exp (/ (* 0.24005 x) + (+ (- (* (exp (sin -0.16173)) x) + (/ x 0.07147)) + (* (* (cos (exp -0.91503)) + (* (cos -0.56649) + (sin -0.51065))) + (* (exp (/ (* 0.24005 x) + (+ (- (cos -0.00366) + (/ x 0.07147)) + (- (sin (* x x)) + (- -0.16814 x))))) + (* (exp (sin -0.16173)) x))))))) + (- -0.16814 x))) x) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.prg b/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.prg new file mode 100644 index 0000000..8f5ed8b --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -0.43653, y = -0.29284 + x = 3.71726, y = 259.83921 + x = -4.75705, y = 422.31734 + x = -0.04987, y = -0.04750 + x = 3.82893, y = 289.56155 + x = -4.40529, y = 306.12590 + x = -4.22447, y = 256.71510 + x = 2.04304, y = 32.16690 + x = 4.81652, y = 677.93946 + x = -1.63001, y = 3.75542 + x = -1.81445, y = 6.34298 + x = -0.27670, y = -0.21546 + x = -2.37354, y = 21.62689 + x = 3.23127, y = 156.42779 + x = 4.41702, y = 490.74734 + x = -0.91306, y = -0.14555 + x = -4.34254, y = 288.23694 + x = -2.16995, y = 14.49276 + x = -0.76471, y = -0.28515 + x = -4.57114, y = 357.42482 + x = 2.16885, y = 39.20167 + x = -0.56990, y = -0.32472 + x = 3.05905, y = 128.61035 + x = 2.85535, y = 100.76028 + x = -4.23385, y = 259.12060 + x = -3.91667, y = 186.66645 + x = 4.20929, y = 410.43890 + x = 3.42226, y = 192.38251 + x = 1.67374, y = 17.01181 + x = 3.41364, y = 190.63547 + x = 4.63176, y = 585.68897 + x = -3.14623, y = 73.59416 + x = 4.40240, y = 484.73421 + x = -2.83273, y = 46.85084 + x = -2.54617, y = 29.45914 + x = 3.32395, y = 173.17063 + x = 3.49180, y = 206.91974 + x = 3.96438, y = 328.98786 + x = 4.28242, y = 437.47883 + x = 3.37452, y = 182.86199 + x = -3.17695, y = 76.71964 + x = -4.67880, y = 394.00986 + x = -1.53789, y = 2.78363 + x = 1.62998, y = 15.67614 + x = 2.96023, y = 114.45321 + x = -2.81744, y = 45.76712 + x = -2.77290, y = 42.71544 + x = -4.64957, y = 383.81248 + x = 3.62032, y = 235.96262 + x = -4.61758, y = 372.87748 + x = 4.10919, y = 375.49762 + x = -0.77984, y = -0.27610 + x = 2.96165, y = 114.64756 + x = -2.94236, y = 55.19402 + x = 1.79872, y = 21.32145 + x = -2.29030, y = 18.45639 + x = 4.31487, y = 449.89988 + x = 3.07568, y = 131.11848 + x = -2.50370, y = 27.36474 + x = -4.49502, y = 333.13738 + x = -2.89709, y = 51.62518 + x = -3.18884, y = 77.95639 + x = 2.76062, y = 89.50049 + x = -3.55800, y = 124.31959 + x = -3.45307, y = 109.47118 + x = -2.13566, y = 13.48752 + x = -3.73882, y = 153.38129 + x = 0.99648, y = 3.96492 + x = -4.72896, y = 411.98555 + x = 2.23446, y = 43.31187 + x = -3.14017, y = 72.98879 + x = -4.69297, y = 399.02868 + x = -0.79026, y = -0.26926 + x = -1.14714, y = 0.39089 + x = -3.68033, y = 143.47794 + x = -2.05131, y = 11.23110 + x = 1.46845, y = 11.44113 + x = 1.00141, y = 4.01412 + x = -3.94337, y = 192.09381 + x = 3.05645, y = 128.22204 + x = -3.23154, y = 82.51795 + x = -3.86639, y = 176.75597 + x = 0.92596, y = 3.31243 + x = 1.16876, y = 5.99721 + x = 1.31073, y = 8.23211 + x = 2.82060, y = 96.51097 + x = -0.90685, y = -0.15394 + x = 2.96040, y = 114.47677 + x = -4.37966, y = 298.72060 + x = 4.58948, y = 565.98809 + x = 2.06277, y = 33.20001 + x = -2.50468, y = 27.41170 + x = 3.69333, y = 253.78316 + x = -2.95205, y = 55.98069 + x = 1.51469, y = 12.54785 + x = -3.48398, y = 113.69850 + x = 1.11147, y = 5.24601 + x = 4.60925, y = 575.13625 + x = 0.31031, y = 0.44576 + x = 0.01154, y = 0.01168 + x = 0.71411, y = 1.84827 + x = 1.22569, y = 6.82638 + x = 4.29379, y = 441.80478 + x = -4.43613, y = 315.21716 + x = 3.61396, y = 234.45784 + x = 2.97558, y = 116.57020 + x = 3.29420, y = 167.65436 + x = -3.20711, y = 79.88407 + x = 0.74691, y = 2.03268 + x = 3.97812, y = 333.20356 + x = 3.61655, y = 235.07048 + x = -3.64554, y = 137.81794 + x = 2.45534, y = 59.63152 + x = -2.09319, y = 12.31403 + x = -1.55779, y = 2.97751 + x = 4.60759, y = 574.36366 + x = -1.88218, y = 7.54261 + x = 0.71267, y = 1.84049 + x = -0.07269, y = -0.06777 + x = -4.96909, y = 506.71444 + x = 1.75288, y = 19.65204 + x = -3.34807, y = 95.98498 + x = -4.31383, y = 280.31892 + x = 0.25950, y = 0.34885 + x = -3.47965, y = 113.09908 + x = 0.63414, y = 1.45299 + x = -3.98677, y = 201.16954 + x = -1.35413, y = 1.35886 + x = 0.23890, y = 0.31287 + x = -1.65591, y = 4.06436 + x = -0.34551, y = -0.25313 + x = -0.32444, y = -0.24225 + x = -4.74550, y = 418.04638 + x = -2.92149, y = 53.52615 + x = 4.43990, y = 500.26484 + x = -4.58600, y = 362.31602 + x = -1.32173, y = 1.16812 + x = -1.98085, y = 9.56651 + x = -2.27345, y = 17.85897 + x = 1.70314, y = 17.95801 + x = -0.29722, y = -0.22733 + x = 3.38048, y = 184.03032 + x = -1.96690, y = 9.25931 + x = -4.41057, y = 307.66735 + x = -2.16339, y = 14.29653 + x = 0.41083, y = 0.67745 + x = -3.19085, y = 78.16628 + x = -1.56617, y = 3.06171 + x = -4.47240, y = 326.16649 + x = -4.11945, y = 230.92032 + x = -4.49721, y = 333.81857 + x = -2.53440, y = 28.86720 + x = -0.62965, y = -0.32564 + x = -3.03378, y = 62.95764 + x = -4.64295, y = 381.52928 + x = -3.96145, y = 195.83742 + x = 0.97119, y = 3.72010 + x = 2.21528, y = 42.07750 + x = -3.87603, y = 178.62444 + x = 3.19996, y = 151.05951 + x = -0.70269, y = -0.31207 + x = 0.27505, y = 0.37724 + x = 4.06635, y = 361.25108 + x = 4.04377, y = 353.91059 + x = -0.72466, y = -0.30431 + x = -4.76393, y = 424.87754 + x = 3.32137, y = 172.68558 + x = 1.86591, y = 23.96552 + x = -4.92979, y = 490.19437 + x = 3.03138, y = 124.51938 + x = 2.79844, y = 93.87353 + x = 4.68399, y = 610.74158 + x = 0.18507, y = 0.22683 + x = -0.95324, y = -0.08507 + x = 4.52812, y = 538.28469 + x = -0.71272, y = -0.30876 + x = 2.28159, y = 46.46323 + x = 3.71994, y = 260.52423 + x = -0.09755, y = -0.08887 + x = -4.51820, y = 340.39598 + x = 4.66295, y = 600.55461 + x = -1.20205, y = 0.59380 + x = -2.47810, y = 26.15660 + x = 2.03894, y = 31.95560 + x = 4.04678, y = 354.88242 + x = 4.37944, y = 475.40659 + x = 0.60921, y = 1.34421 + x = -3.78927, y = 162.32926 + x = 2.80317, y = 94.43224 + x = 4.20383, y = 408.47163 + x = -2.90737, y = 52.41969 + x = 1.81236, y = 21.83901 + x = -2.05106, y = 11.22480 + x = -0.30483, y = -0.23160 + x = 3.90470, y = 311.14642 + x = 0.01879, y = 0.01915 + x = -1.80459, y = 6.18031 + x = 3.98634, y = 335.74565 + x = -3.93869, y = 191.13442 + x = 3.54933, y = 219.56354 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.stt b/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.stt new file mode 100644 index 0000000..dbaf21c --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.stt @@ -0,0 +1,17 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.510 3.726 26 4 54 6 0.0000 0.0001 0.0000 13.510 3.726 26 4 54 6 +1 0 0.0000 0.0001 0.0000 13.640 4.206 26 4 8 4 0.0000 0.0001 0.0000 13.575 3.966 26 4 54 6 +2 0 0.0000 0.0002 0.0000 14.154 4.571 27 4 5 4 0.0000 0.0002 0.0000 13.768 4.168 27 4 5 4 +3 0 0.0000 0.0003 0.0000 14.774 4.857 22 4 17 7 0.0000 0.0003 0.0000 14.019 4.340 22 4 5 4 +4 0 0.0000 0.0003 0.0000 15.516 5.056 22 4 22 6 0.0000 0.0003 0.0000 14.319 4.483 22 4 5 4 +5 0 0.0000 0.0006 0.0000 16.344 5.269 25 7 14 5 0.0000 0.0006 0.0000 14.656 4.614 25 7 5 4 +6 0 0.0000 0.0053 0.0000 17.603 5.546 17 5 25 6 0.0000 0.0053 0.0000 15.077 4.747 17 5 5 4 +7 0 0.0001 0.0178 0.0000 18.823 5.781 18 6 37 7 0.0000 0.0178 0.0000 15.545 4.877 18 6 5 4 +8 0 0.0002 0.0178 0.0000 21.409 6.205 19 7 20 4 0.0001 0.0178 0.0000 16.197 5.024 19 7 5 4 +9 0 0.0007 0.0217 0.0000 23.040 6.442 23 9 23 8 0.0001 0.0217 0.0000 16.881 5.166 23 9 5 4 +10 0 0.0013 0.1043 0.0000 25.311 6.933 38 10 19 7 0.0002 0.1043 0.0000 17.647 5.327 38 10 5 4 +11 0 0.0026 0.2478 0.0000 30.058 8.014 36 10 46 13 0.0004 0.2478 0.0000 18.682 5.550 36 10 5 4 +12 0 0.0076 0.2871 0.0000 36.244 9.581 41 11 29 9 0.0010 0.2871 0.0000 20.033 5.861 41 11 5 4 +13 0 0.0229 0.3882 0.0000 40.215 10.609 35 9 44 11 0.0025 0.3882 0.0000 21.474 6.200 35 9 5 4 +14 0 0.0451 0.4843 0.0000 43.129 11.115 52 12 22 6 0.0054 0.4843 0.0000 22.918 6.527 52 12 5 4 +15 0 0.0667 0.6535 0.0000 45.336 11.432 66 15 43 16 0.0092 0.6535 0.0000 24.319 6.834 66 15 5 4 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.sys b/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.sys new file mode 100644 index 0000000..8030b21 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_8/regress.sys @@ -0,0 +1,98 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 327. +creating initial population(s): + 5617 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (1s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 43727398 + freed: 43426618 + not freed: 300780 + max allocated: 5749208 + malloc'ed blocks: 234992 + realloc'ed blocks: 10 + free'ed blocks: 234947 + +------- time ------- + overall: 2s wall + evaluation: 2s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 52746 + freed: 52746 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.bst b/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.bst new file mode 100644 index 0000000..61cfa95 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.bst @@ -0,0 +1,34 @@ +=== BEST-OF-RUN === + generation: 18 + nodes: 66 + depth: 16 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.1004 + standardized fitness: 0.1004 + adjusted fitness: 0.9088 +TREE: + (+ (* x x) + (+ x + (* x + (- (* (* x x) x) + (* x + (- (* (/ (sin (+ x x)) + (* (exp (/ (exp (* x + (- (* (* x x) x) + (- -0.30292 x)))) 0.91093)) + (+ (* x + (- (* (* x x) + (+ x 0.83823)) + (log (/ 0.68915 + (exp 0.66163))))) + (/ (cos (cos x)) + (* 0.72481 + (+ -0.58125 0.16027)))))) 0.16346) x)))))) +TREE-equ: +y = ((x * x) + (x + (x * (((x * x) * x) - (x * (((sin((x + x)) / (exp((exp((x * (((x * x) * x) - (-0.30292 - x)))) / 0.91093)) * ((x * (((x * x) * (x + 0.83823)) - log((0.68915 / exp(0.66163))))) + (cos(cos(x)) / (0.72481 * (-0.58125 + 0.16027)))))) * 0.16346) - x)))))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.fn b/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.fn new file mode 100644 index 0000000..13828c0 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.fn @@ -0,0 +1,2 @@ + +y = ((x * x) + (x + (x * (((x * x) * x) - (x * (((sin((x + x)) / (exp((exp((x * (((x * x) * x) - (-0.30292 - x)))) / 0.91093)) * ((x * (((x * x) * (x + 0.83823)) - log((0.68915 / exp(0.66163))))) + (cos(cos(x)) / (0.72481 * (-0.58125 + 0.16027)))))) * 0.16346) - x)))))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.gen b/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.his b/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.his new file mode 100644 index 0000000..b81e80c --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.his @@ -0,0 +1,428 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 25 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 13037.8069 + standardized fitness: 13037.8069 + adjusted fitness: 0.0001 +TREE: + (+ (cos (cos (+ (exp -0.22801) + (sin x)))) + (- (exp (exp (sin x))) + (* (+ (log 0.41611) + (exp x)) + (- (/ x -0.93343) + (log x))))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 12 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 12735.3334 + standardized fitness: 12735.3334 + adjusted fitness: 0.0001 +TREE: + (+ (sin 0.28256) + (+ -0.90127 + (* (/ x 0.10777) + (+ x x)))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 19 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5635.8123 + standardized fitness: 5635.8123 + adjusted fitness: 0.0002 +TREE: + (+ (exp (+ 0.99725 x)) + (* x + (- (* (* x x) x) + (+ (- x 0.26844) + (log 0.57738))))) +=== BEST-OF-RUN === + current generation: 3 + generation: 2 + nodes: 19 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5635.8123 + standardized fitness: 5635.8123 + adjusted fitness: 0.0002 +TREE: + (+ (exp (+ 0.99725 x)) + (* x + (- (* (* x x) x) + (+ (- x 0.26844) + (log 0.57738))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 26 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5624.4940 + standardized fitness: 5624.4940 + adjusted fitness: 0.0002 +TREE: + (+ (exp (+ 0.99725 x)) + (* x + (- (* (* x x) x) + (+ (- x 0.26844) + (* (* (cos x) x) + (* (sin x) 0.91092)))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 31 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5604.2666 + standardized fitness: 5604.2666 + adjusted fitness: 0.0002 +TREE: + (+ (exp (+ 0.99725 x)) + (* x + (- (* (* x x) x) + (+ (- x 0.26844) + (* (* (- (* 0.99265 -0.92599) + (/ -0.39194 x)) x) + (* (sin x) 0.91092)))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 26 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3797.7019 + standardized fitness: 3797.7019 + adjusted fitness: 0.0003 +TREE: + (+ (exp (+ 0.99725 x)) + (* x + (- (* (* x x) x) + (+ (- x 0.26844) + (+ (sin (- (sin (* x -0.18516)) x)) x))))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 22 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3390.8615 + standardized fitness: 3390.8615 + adjusted fitness: 0.0003 +TREE: + (+ (exp (+ 0.99725 x)) + (* x + (- (* (* x x) x) + (+ (- x 0.26844) + (+ (- x 0.82540) x))))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 15 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1840.8043 + standardized fitness: 1840.8043 + adjusted fitness: 0.0005 +TREE: + (+ (sin (sin x)) + (* x + (- (* (* x x) + (+ x 0.83823)) -0.80493))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 25 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1760.5873 + standardized fitness: 1760.5873 + adjusted fitness: 0.0006 +TREE: + (+ (sin (sin (/ (+ x x) + (+ (* -0.86818 -0.15635) + (/ x 0.25981))))) + (* x + (- (* (* x x) + (+ x 0.83823)) -0.80493))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 35 + depth: 7 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 1379.9212 + standardized fitness: 1379.9212 + adjusted fitness: 0.0007 +TREE: + (+ (* (* x x) x) + (* x + (- (* (* x x) x) + (* (- (- (log x) + (/ -0.27020 0.64980)) + (* (* x -0.69251) + (log -0.26737))) + (- -0.99016 + (- (sin -0.91957) + (log x))))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 25 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 426.5962 + standardized fitness: 426.5962 + adjusted fitness: 0.0023 +TREE: + (+ (- (exp (- (cos 0.96108) + (* -0.64883 x))) + (log (log (+ -0.21883 -0.68916)))) + (* x + (- (* (* x x) + (+ x 0.83823)) -0.80493))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 22 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 379.1620 + standardized fitness: 379.1620 + adjusted fitness: 0.0026 +TREE: + (+ (- (exp (- (cos 0.96108) + (* -0.64883 x))) + (cos x)) + (* x + (- (* (* x x) + (+ x 0.83823)) -0.80493))) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 34 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 280.6181 + standardized fitness: 280.6181 + adjusted fitness: 0.0036 +TREE: + (+ (- (* (* x x) x) + (+ 0.09973 + (* (* (- (* 0.99265 -0.92599) + (/ -0.39194 x)) x) + (log (- x 0.26844))))) + (* x + (- (* (* x x) x) + (- -0.30292 x)))) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 23 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 19.9538 + standardized fitness: 19.9538 + adjusted fitness: 0.0477 +TREE: + (+ (- (* (* x x) x) + (+ 0.09973 + (* x -0.69251))) + (* x + (- (* (* x x) x) + (- -0.30292 x)))) +=== BEST-OF-RUN === + current generation: 15 + generation: 14 + nodes: 23 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 19.9538 + standardized fitness: 19.9538 + adjusted fitness: 0.0477 +TREE: + (+ (- (* (* x x) x) + (+ 0.09973 + (* x -0.69251))) + (* x + (- (* (* x x) x) + (- -0.30292 x)))) +=== BEST-OF-RUN === + current generation: 16 + generation: 14 + nodes: 23 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 19.9538 + standardized fitness: 19.9538 + adjusted fitness: 0.0477 +TREE: + (+ (- (* (* x x) x) + (+ 0.09973 + (* x -0.69251))) + (* x + (- (* (* x x) x) + (- -0.30292 x)))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 21 + depth: 5 + hits: 74 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 74 + raw fitness: 2.3694 + standardized fitness: 2.3694 + adjusted fitness: 0.2968 +TREE: + (+ (- (* (* x x) x) + (* x -0.69251)) + (* x + (- (* (* x x) x) + (- -0.30292 x)))) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 66 + depth: 16 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.1004 + standardized fitness: 0.1004 + adjusted fitness: 0.9088 +TREE: + (+ (* x x) + (+ x + (* x + (- (* (* x x) x) + (* x + (- (* (/ (sin (+ x x)) + (* (exp (/ (exp (* x + (- (* (* x x) x) + (- -0.30292 x)))) 0.91093)) + (+ (* x + (- (* (* x x) + (+ x 0.83823)) + (log (/ 0.68915 + (exp 0.66163))))) + (/ (cos (cos x)) + (* 0.72481 + (+ -0.58125 0.16027)))))) 0.16346) x)))))) diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.prg b/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.prg new file mode 100644 index 0000000..baca39a --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -0.64301, y = -0.32446 + x = 2.76958, y = 90.52257 + x = -0.20907, y = -0.17259 + x = -3.54813, y = 122.86210 + x = -0.00055, y = -0.00055 + x = -1.92037, y = 8.28555 + x = 1.85331, y = 23.45146 + x = 2.09148, y = 34.74869 + x = 4.93864, y = 744.66207 + x = -0.73997, y = -0.29777 + x = -2.71883, y = 39.21778 + x = -0.97088, y = -0.05492 + x = 0.50116, y = 0.94127 + x = 2.66743, y = 79.38811 + x = 4.25748, y = 428.11320 + x = -1.37224, y = 1.47269 + x = 2.01960, y = 30.97223 + x = -3.33305, y = 94.16316 + x = 0.81917, y = 2.49017 + x = 1.58929, y = 14.50945 + x = 0.66763, y = 1.60962 + x = -2.75742, y = 41.69143 + x = 4.25225, y = 426.16535 + x = -0.95121, y = -0.08841 + x = -0.33637, y = -0.24848 + x = 4.16815, y = 395.79308 + x = 2.59187, y = 71.84971 + x = 3.80374, y = 282.64151 + x = 2.31844, y = 49.04792 + x = -2.63009, y = 33.94374 + x = 2.93732, y = 111.34716 + x = -3.14069, y = 73.04077 + x = 3.35456, y = 178.98800 + x = 4.14199, y = 386.69089 + x = -4.17799, y = 245.04652 + x = 1.22901, y = 6.87739 + x = -0.13318, y = -0.11749 + x = -4.76992, y = 427.11682 + x = -3.39087, y = 101.32226 + x = -3.99310, y = 202.51990 + x = 4.11737, y = 378.26706 + x = -4.20596, y = 252.01890 + x = -2.89247, y = 51.27046 + x = -2.55782, y = 30.05385 + x = -4.60025, y = 367.05279 + x = 2.21192, y = 41.86397 + x = -2.69834, y = 37.94932 + x = -3.44283, y = 108.09785 + x = 4.92496, y = 736.95022 + x = 0.69880, y = 1.76682 + x = 1.83967, y = 22.90420 + x = -4.37796, y = 298.23399 + x = -0.63571, y = -0.32517 + x = -3.43118, y = 106.55051 + x = 3.76386, y = 271.94551 + x = -2.50232, y = 27.29835 + x = 4.41503, y = 489.92296 + x = 0.64894, y = 1.52068 + x = -4.37014, y = 296.00569 + x = 3.77044, y = 273.68917 + x = 3.21281, y = 153.24446 + x = 1.62324, y = 15.47786 + x = 0.48234, y = 0.88134 + x = 3.93173, y = 319.13562 + x = 0.14265, y = 0.16632 + x = -3.51288, y = 117.76029 + x = -3.07842, y = 67.03198 + x = -1.94102, y = 8.70813 + x = 2.26768, y = 45.51551 + x = -2.95444, y = 56.17604 + x = -3.67391, y = 142.41979 + x = 0.46243, y = 0.82088 + x = -3.25800, y = 85.44373 + x = -4.87964, y = 469.69900 + x = 4.74963, y = 643.36174 + x = 0.04559, y = 0.04777 + x = 2.87829, y = 103.64214 + x = 2.68343, y = 81.05853 + x = 0.28493, y = 0.39584 + x = -2.83405, y = 46.94567 + x = 4.75312, y = 645.13370 + x = -3.05707, y = 65.05999 + x = 3.17388, y = 146.69537 + x = 3.54800, y = 219.26456 + x = -0.84289, y = -0.22651 + x = -3.68592, y = 144.40272 + x = 1.37697, y = 9.47881 + x = 4.42282, y = 493.14757 + x = -1.00066, y = 0.00132 + x = 4.33488, y = 457.69378 + x = -0.69257, y = -0.31504 + x = -3.19216, y = 78.30385 + x = -2.03761, y = 10.89216 + x = 4.56357, y = 554.16174 + x = 4.68081, y = 609.19458 + x = -1.34506, y = 1.30379 + x = 4.05205, y = 356.58871 + x = -3.01283, y = 61.11106 + x = -2.30745, y = 19.07963 + x = 0.35416, y = 0.53975 + x = 4.33363, y = 457.20218 + x = -0.38177, y = -0.27042 + x = 1.27224, y = 7.56984 + x = 2.75901, y = 89.31738 + x = 0.94568, y = 3.48552 + x = -0.10326, y = -0.09359 + x = -2.55184, y = 29.74743 + x = 0.81629, y = 2.47054 + x = 2.41171, y = 56.08518 + x = 2.44978, y = 59.17043 + x = 1.12071, y = 5.36184 + x = 4.99220, y = 775.44104 + x = -3.35040, y = 96.27085 + x = -3.70503, y = 147.59917 + x = -0.53699, y = -0.32033 + x = 1.40497, y = 10.04866 + x = -1.33916, y = 1.26870 + x = 0.91877, y = 3.25104 + x = 4.25093, y = 425.67508 + x = -3.51229, y = 117.67701 + x = -2.56492, y = 30.42072 + x = 4.93441, y = 742.27532 + x = -4.63357, y = 378.31412 + x = -3.08648, y = 67.78829 + x = -2.28807, y = 18.37639 + x = 1.70786, y = 18.11375 + x = 4.19019, y = 403.59193 + x = -1.01701, y = 0.03519 + x = -0.82532, y = -0.24237 + x = -0.14711, y = -0.12819 + x = -2.40257, y = 22.82125 + x = -2.93800, y = 54.84222 + x = -4.72828, y = 411.73856 + x = 2.83515, y = 98.27340 + x = 1.04524, y = 4.47330 + x = 4.76092, y = 649.10231 + x = -4.70667, y = 403.92406 + x = 1.87891, y = 24.50529 + x = -0.91502, y = -0.14287 + x = 2.75214, y = 88.54129 + x = 2.65324, y = 77.92792 + x = -4.54180, y = 347.91002 + x = -4.82810, y = 449.31929 + x = -2.48837, y = 26.63635 + x = 1.89981, y = 25.39279 + x = -0.62699, y = -0.32581 + x = -3.55859, y = 124.40622 + x = -3.95113, y = 193.69359 + x = 1.85164, y = 23.38371 + x = -2.02705, y = 10.63619 + x = -0.53525, y = -0.32002 + x = 0.06906, y = 0.07418 + x = 2.81249, y = 95.53875 + x = 2.83966, y = 98.82465 + x = -2.24327, y = 16.82388 + x = 2.27163, y = 45.78289 + x = -0.65349, y = -0.32314 + x = 3.43708, y = 195.41425 + x = -3.28623, y = 88.64911 + x = 1.18476, y = 6.22172 + x = -0.39659, y = -0.27695 + x = 0.56925, y = 1.18277 + x = -3.26869, y = 86.64732 + x = 4.65957, y = 598.93158 + x = 4.79654, y = 667.46954 + x = 0.66251, y = 1.58487 + x = 4.82031, y = 679.93811 + x = 4.13797, y = 385.30383 + x = -0.60483, y = -0.32645 + x = -4.91000, y = 482.02781 + x = -0.03644, y = -0.03516 + x = -2.38803, y = 22.21719 + x = 4.06713, y = 361.50838 + x = 1.27797, y = 7.66582 + x = 2.02296, y = 31.14149 + x = 2.36602, y = 52.54719 + x = -2.87807, y = 50.17818 + x = -2.47324, y = 25.93155 + x = 4.15679, y = 391.82131 + x = 0.44030, y = 0.75712 + x = -2.63865, y = 34.42845 + x = -4.24689, y = 262.49143 + x = -2.73078, y = 39.97181 + x = 2.98992, y = 118.57513 + x = -4.75052, y = 419.89920 + x = 2.02818, y = 31.40554 + x = -4.66931, y = 390.67640 + x = -4.38785, y = 301.07188 + x = 3.03861, y = 125.57907 + x = -4.61727, y = 372.77438 + x = 4.94061, y = 745.77972 + x = -3.84464, y = 172.59299 + x = -2.51626, y = 27.97205 + x = -1.00502, y = 0.01013 + x = -2.21142, y = 15.78008 + x = 0.04127, y = 0.04305 + x = -3.60893, y = 132.04575 + x = -1.10608, y = 0.26087 + x = 0.48867, y = 0.90119 + x = 4.53379, y = 540.80017 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.stt b/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.stt new file mode 100644 index 0000000..d565c1b --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.stt @@ -0,0 +1,20 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.173 3.666 25 5 20 6 0.0000 0.0001 0.0000 13.173 3.666 25 5 20 6 +1 0 0.0000 0.0001 0.0000 12.930 4.084 12 4 28 8 0.0000 0.0001 0.0000 13.051 3.875 12 4 20 6 +2 0 0.0000 0.0002 0.0000 13.725 4.446 19 5 44 9 0.0000 0.0002 0.0000 13.276 4.065 19 5 20 6 +3 0 0.0000 0.0002 0.0000 14.343 4.740 19 5 24 7 0.0000 0.0002 0.0000 13.543 4.234 19 5 20 6 +4 0 0.0000 0.0002 0.0000 15.018 4.956 26 7 17 8 0.0000 0.0002 0.0000 13.838 4.378 26 7 20 6 +5 0 0.0000 0.0002 0.0000 15.893 5.224 31 8 9 5 0.0000 0.0002 0.0000 14.180 4.519 31 8 20 6 +6 0 0.0000 0.0003 0.0000 16.829 5.492 26 9 38 15 0.0000 0.0003 0.0000 14.559 4.658 26 9 20 6 +7 0 0.0000 0.0003 0.0000 17.781 5.735 22 6 12 7 0.0000 0.0003 0.0000 14.961 4.793 22 6 20 6 +8 0 0.0000 0.0005 0.0000 19.461 6.082 15 5 14 5 0.0000 0.0005 0.0000 15.461 4.936 15 5 20 6 +9 0 0.0001 0.0006 0.0000 22.515 6.724 25 6 24 10 0.0000 0.0006 0.0000 16.167 5.115 25 6 20 6 +10 0 0.0001 0.0007 0.0000 26.171 7.375 35 7 16 6 0.0000 0.0007 0.0000 17.076 5.320 35 7 20 6 +11 0 0.0001 0.0023 0.0000 29.812 8.053 25 5 57 12 0.0000 0.0023 0.0000 18.137 5.548 25 5 20 6 +12 0 0.0001 0.0026 0.0000 33.424 8.632 22 5 29 7 0.0001 0.0026 0.0000 19.313 5.785 22 5 20 6 +13 0 0.0002 0.0036 0.0000 37.391 9.231 34 7 65 17 0.0001 0.0036 0.0000 20.605 6.031 34 7 20 6 +14 0 0.0003 0.0477 0.0000 40.962 9.810 23 5 80 17 0.0001 0.0477 0.0000 21.962 6.283 23 5 20 6 +15 0 0.0006 0.0477 0.0000 43.616 10.028 23 5 33 8 0.0001 0.0477 0.0000 23.315 6.517 23 5 20 6 +16 0 0.0009 0.0477 0.0000 42.544 9.541 23 5 27 7 0.0002 0.0477 0.0000 24.446 6.695 23 5 20 6 +17 0 0.0018 0.2968 0.0000 38.789 8.628 21 5 56 13 0.0003 0.2968 0.0000 25.243 6.803 21 5 20 6 +18 0 0.0182 0.9088 0.0000 36.391 8.558 66 16 27 8 0.0012 0.9088 0.0000 25.830 6.895 66 16 20 6 diff --git a/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.sys b/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.sys new file mode 100644 index 0000000..5bf1ce4 --- /dev/null +++ b/PartA/crossover_100_mutation_100_elitism_2/run_9/regress.sys @@ -0,0 +1,107 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 1467. +creating initial population(s): + 5600 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 54475842 + freed: 54114906 + not freed: 360936 + max allocated: 5614101 + malloc'ed blocks: 280245 + realloc'ed blocks: 11 + free'ed blocks: 280191 + +------- time ------- + overall: 2s wall + evaluation: 1s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 300 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 60245 + freed: 60245 + allocated: 16000 + blocks: 31 diff --git a/PartA/crossover_90_mutation_10_elitism_0/aggregated.tsv b/PartA/crossover_90_mutation_10_elitism_0/aggregated.tsv new file mode 100644 index 0000000..137540d --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/aggregated.tsv @@ -0,0 +1,54 @@ +Generation limit Mean: 42 +Generation limit Mode: 50 (7) +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0 0.00013 0 13.0037 3.6679 21 4 22 5 0 0.00013 0 13.0037 3.6679 21 4 22 5 +1 0 0 0.00011 0 12.3673 3.8668 22 4 9 4 0 0.00013 0 12.6854 3.7673 21 4 20 5 +2 0 0 0.00012 0 12.3627 4.0359 23 4 20 5 0 0.00014 0 12.5779 3.8569 25 4 20 5 +3 0 0 0.00013 0 12.3978 4.1474 21 5 12 5 0 0.00015 0 12.5327 3.9295 20 4 20 5 +4 0 0 0.0002 0 12.5401 4.2664 21 5 17 5 0 0.0002 0 12.5342 3.9969 21 5 20 5 +5 0 0 0.00029 0 12.7373 4.351 25 5 16 6 0 0.00029 0 12.5682 4.0559 24 4 21 6 +6 0 0 0.00043 0 13.2322 4.4751 28 7 16 5 0 0.00044 0 12.6629 4.1158 25 6 21 6 +7 0 2e-05 0.00059 0 14.5087 4.7328 31 6 22 7 0 0.0006 0 12.8937 4.193 31 6 21 6 +8 0 4e-05 0.00098 0 16.896 5.1569 29 7 28 8 1e-05 0.00098 0 13.3385 4.3 29 7 21 6 +9 0 0.00011 0.00142 0 20.0375 5.7386 23 6 33 7 3e-05 0.00142 0 14.0086 4.4439 23 6 21 6 +10 0 0.0002 0.10179 0 23.1455 6.2997 30 7 31 7 6e-05 0.10188 0 14.839 4.6127 23 6 21 6 +11 0 0.00017 0.00243 0 23.9502 6.2108 27 7 28 7 5e-05 0.00251 0 14.4012 4.3466 23 6 17 5 +12 0 0.00022 0.00209 0 26.4197 6.6151 29 7 34 8 6e-05 0.00256 0 15.3258 4.5212 23 6 17 5 +13 0 0.00026 0.00218 0 28.988 7.0457 35 8 32 9 7e-05 0.00265 0 16.3016 4.7016 27 7 17 5 +14 0 0.00035 0.00238 0 31.9373 7.5095 34 7 45 10 0.0001 0.00275 0 17.344 4.8886 24 6 17 5 +15 0 0.00047 0.00264 0 34.7186 7.9494 38 8 58 11 0.00011 0.00288 0 18.4297 5.08 29 7 17 5 +16 0 0.00056 0.00309 0 37.3934 8.3373 30 6 38 8 0.00015 0.00311 0 19.5454 5.2715 27 6 17 5 +17 0 0.00067 0.00395 0 39.7441 8.6536 38 8 52 10 0.00018 0.00402 0 20.6675 5.4595 31 7 17 5 +18 0 0.00074 0.00383 0 41.7076 8.9188 38 7 46 9 0.00021 0.00438 0 21.7748 5.6415 40 8 17 5 +19 0 0.00085 0.00387 0 43.314 9.1726 34 8 73 12 0.00025 0.00441 0 22.852 5.818 41 9 17 5 +20 0 0.00091 0.00387 0 44.8477 9.4017 49 9 62 11 0.00027 0.00467 0 23.8993 5.9887 44 9 17 5 +21 0 0.00105 0.00466 0 46.6155 9.6548 44 8 47 9 0.00032 0.00512 0 24.9319 6.1555 44 9 17 5 +22 0 0.00115 0.01107 0 48.2373 9.8518 48 10 50 10 0.00035 0.01109 0 25.945 6.3162 44 10 17 5 +23 0 0.00127 0.01195 0 50.0907 10.0674 49 10 61 10 0.00039 0.0122 0 26.9513 6.4725 43 9 17 5 +24 0 0.00217 0.01244 0 51.4262 10.2245 51 9 41 9 0.00045 0.01266 0 27.9301 6.6224 48 9 17 5 +25 0 0.00415 0.01294 0 52.8199 10.3886 46 9 53 10 0.0006 0.01325 0 28.8874 6.7675 42 9 17 5 +26 0 0.00457 0.01885 0 54.4409 10.5467 50 9 44 9 0.00075 0.01885 0 29.8339 6.9074 49 9 17 5 +27 0 0.0047 0.01912 0 56.1528 10.6779 47 10 63 12 0.00089 0.01914 0 30.7738 7.0419 49 9 17 5 +28 0 0.00485 0.1305 0 57.8071 10.822 51 10 72 11 0.00102 0.1305 0 31.7061 7.1723 52 9 17 5 +29 0 0.00499 0.03082 0 55.4609 9.8436 79 12 60 9 0.00113 0.0309 0 30.5131 6.6313 63 10 16 4 +30 0 0.00527 0.03191 0 57.2159 9.9802 67 11 63 10 0.00126 0.03194 0 31.3744 6.7393 61 9 16 4 +31 0 0.00611 0.05786 0 59.3277 10.1387 66 10 74 11 0.00141 0.05797 0 32.2478 6.8455 63 9 16 4 +32 0 0.00782 0.06398 0 61.2103 10.2798 69 10 47 9 0.00161 0.06413 0 33.1256 6.9497 55 9 16 4 +33 0 0.00143 0.00332 0 57.5509 9.0645 48 8 53 8 0.0006 0.00344 0 30.8115 6.1834 42 7 15 4 +34 0 0.00145 0.00331 0 59.0941 9.1686 63 9 71 8 0.00064 0.00344 0 31.6194 6.2688 42 7 15 4 +35 0 0.00148 0.00331 0 60.6663 9.2754 54 8 62 9 0.00066 0.00344 0 32.4264 6.3522 42 7 15 4 +36 0 0.00151 0.00339 0 62.3083 9.4 69 10 81 10 0.00068 0.00347 0 33.2339 6.4346 55 9 15 4 +37 0 0.00153 0.00333 0 63.6233 9.4654 61 10 57 10 0.00069 0.00348 0 34.0338 6.5146 56 9 15 4 +38 0 0.00156 0.00314 0 65.0876 9.5284 72 10 77 11 0.00073 0.00349 0 34.83 6.5917 62 9 15 4 +39 0 0.00158 0.00359 0 66.5814 9.5909 57 9 68 10 0.00075 0.00368 0 35.6239 6.6669 57 10 15 4 +40 0 0.0016 0.00373 0 67.953 9.6398 72 10 68 9 0.00077 0.00376 0 36.4122 6.7392 67 10 15 4 +41 0 0.0016 0.00325 0 69.7645 9.7153 71 9 71 10 0.00079 0.00377 0 37.2063 6.81 73 10 15 4 +42 0 0.00161 0.00316 0 71.1871 9.7876 66 10 72 10 0.00081 0.00377 0 37.9967 6.8793 72 10 15 4 +43 0 0.00164 0.00316 0 72.3 9.8335 59 8 71 9 0.00082 0.00377 0 38.7764 6.9464 68 9 15 4 +44 0 0.00166 0.00326 0 73.341 9.8662 61 9 65 10 0.00084 0.00377 0 39.5445 7.0115 72 10 15 4 +45 0 0.00167 0.00364 0 74.3708 9.9213 68 9 72 8 0.00087 0.00378 0 40.3015 7.0748 72 10 15 4 +46 0 0.00168 0.0038 0 75.3003 9.9371 68 9 79 10 0.00088 0.00384 0 41.0462 7.1357 67 10 15 4 +47 0 0.00168 0.0038 0 76.2784 9.9721 74 10 72 9 0.0009 0.00385 0 41.7801 7.1946 67 10 15 4 +48 0 0.0017 0.00399 0 77.1385 10.0076 75 10 61 10 0.00091 0.00408 0 42.5017 7.2521 65 10 15 4 +49 0 0.00171 0.00391 0 78.2643 10.0559 79 9 87 9 0.00092 0.00414 0 43.217 7.3082 70 10 15 4 +50 0 0.00174 0.00406 0 79.0369 10.0992 82 10 91 10 0.00096 0.00417 0 43.9195 7.3627 66 10 15 4 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.bst b/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.bst new file mode 100644 index 0000000..86ecbee --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.bst @@ -0,0 +1,22 @@ +=== BEST-OF-RUN === + generation: 10 + nodes: 15 + depth: 4 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (+ (+ x + (* x x)) + (* (+ x + (* x x)) + (* x x))) +TREE-equ: +y = ((x + (x * x)) + ((x + (x * x)) * (x * x))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.fn b/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.fn new file mode 100644 index 0000000..4411226 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.fn @@ -0,0 +1,2 @@ + +y = ((x + (x * x)) + ((x + (x * x)) * (x * x))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.gen b/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.his b/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.his new file mode 100644 index 0000000..72b59b8 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.his @@ -0,0 +1,220 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 10 + depth: 3 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 13066.6592 + standardized fitness: 13066.6592 + adjusted fitness: 0.0001 +TREE: + (* (- (exp x) + (- -0.67488 x)) + (log (exp x))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 5 + depth: 2 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 11350.4226 + standardized fitness: 11350.4226 + adjusted fitness: 0.0001 +TREE: + (* x + (/ x 0.08244)) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 11 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 10605.7139 + standardized fitness: 10605.7139 + adjusted fitness: 0.0001 +TREE: + (- (cos (log x)) + (* (/ x 0.06923) + (- -0.02231 x))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 12 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 10589.3556 + standardized fitness: 10589.3556 + adjusted fitness: 0.0001 +TREE: + (- (cos (/ 0.59749 -0.85037)) + (* (/ x 0.06923) + (- -0.02231 x))) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 11 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 10382.5770 + standardized fitness: 10382.5770 + adjusted fitness: 0.0001 +TREE: + (- (+ x 0.17669) + (* (/ x 0.06923) + (- -0.02231 x))) +=== BEST-OF-RUN === + current generation: 5 + generation: 4 + nodes: 11 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 10382.5770 + standardized fitness: 10382.5770 + adjusted fitness: 0.0001 +TREE: + (- (+ x 0.17669) + (* (/ x 0.06923) + (- -0.02231 x))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 9 + depth: 3 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1543.6259 + standardized fitness: 1543.6259 + adjusted fitness: 0.0006 +TREE: + (* (+ x + (* x x)) + (* x x)) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 13 + depth: 3 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 849.2357 + standardized fitness: 849.2357 + adjusted fitness: 0.0012 +TREE: + (* (+ x + (* x x)) + (* (* x x) + (- 0.30934 -0.77329))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 32 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 826.0171 + standardized fitness: 826.0171 + adjusted fitness: 0.0012 +TREE: + (+ (+ (log x) + (/ (exp x) + (log (- (exp -0.30625) + (- (* (+ x + (exp x)) + (- -0.63247 0.30722)) + (/ x x)))))) + (* (+ x + (* x x)) + (* x x))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 17 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 504.5374 + standardized fitness: 504.5374 + adjusted fitness: 0.0020 +TREE: + (+ (+ (/ 0.21868 x) + (* x x)) + (* (+ x + (* x x)) + (* x x))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 15 + depth: 4 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (+ (+ x + (* x x)) + (* (+ x + (* x x)) + (* x x))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.prg b/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.prg new file mode 100644 index 0000000..e825569 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 0.28520, y = 0.39635 + x = 1.30331, y = 8.10109 + x = -3.30318, y = 90.61624 + x = 3.54966, y = 219.63839 + x = -1.81654, y = 6.37781 + x = 0.26540, y = 0.35948 + x = -2.51187, y = 27.75887 + x = -0.63655, y = -0.32510 + x = 2.11729, y = 36.18816 + x = 4.13264, y = 383.47501 + x = 0.42672, y = 0.71966 + x = -0.75825, y = -0.28870 + x = -4.47346, y = 326.49042 + x = -3.95170, y = 193.81252 + x = -1.54043, y = 2.80797 + x = -2.79062, y = 43.91064 + x = -1.37245, y = 1.47400 + x = 2.14021, y = 37.50502 + x = 4.81292, y = 676.04361 + x = -2.21393, y = 15.86054 + x = -2.76416, y = 42.13491 + x = -0.65323, y = -0.32318 + x = -4.59247, y = 364.46189 + x = -4.79623, y = 437.05219 + x = 0.72682, y = 1.91813 + x = -4.07263, y = 220.06870 + x = -1.35940, y = 1.39143 + x = -0.67947, y = -0.31834 + x = -0.49818, y = -0.31204 + x = 2.35863, y = 51.99140 + x = -1.58306, y = 3.23618 + x = -1.81437, y = 6.34168 + x = -3.31818, y = 92.38480 + x = 2.64068, y = 76.65343 + x = -4.11102, y = 228.93741 + x = 1.21594, y = 6.67816 + x = -4.87487, y = 467.78722 + x = -2.37314, y = 21.61080 + x = 2.32862, y = 49.78138 + x = -1.32744, y = 1.20059 + x = -3.12210, y = 71.20653 + x = -4.13822, y = 235.38118 + x = -0.51000, y = -0.31490 + x = 0.08006, y = 0.08702 + x = 0.97636, y = 3.76911 + x = 4.50806, y = 529.45621 + x = 3.87389, y = 302.22638 + x = -3.63804, y = 136.62007 + x = 1.27241, y = 7.57279 + x = -4.70195, y = 402.23145 + x = -2.61894, y = 33.32078 + x = -4.48701, y = 330.65530 + x = 1.92094, y = 26.31564 + x = -2.81201, y = 45.38682 + x = 2.60802, y = 73.41260 + x = -2.90043, y = 51.88196 + x = -0.37851, y = -0.26894 + x = -0.94386, y = -0.10020 + x = 2.66068, y = 78.69086 + x = 1.96753, y = 28.44111 + x = 0.14027, y = 0.16309 + x = 4.86127, y = 701.84228 + x = 2.03483, y = 31.74461 + x = -1.55527, y = 2.95250 + x = 2.25474, y = 44.64705 + x = -0.43506, y = -0.29230 + x = 4.75174, y = 644.43523 + x = 0.44648, y = 0.77457 + x = 0.07194, y = 0.07751 + x = -1.04850, y = 0.10675 + x = -1.66450, y = 4.17050 + x = -2.73441, y = 40.20297 + x = -4.13220, y = 233.94349 + x = 4.51487, y = 532.43761 + x = -4.59499, y = 365.29847 + x = -3.27715, y = 87.60833 + x = 2.42583, y = 57.21452 + x = 3.21954, y = 154.39888 + x = -2.40425, y = 22.89170 + x = -1.37275, y = 1.47595 + x = 1.30588, y = 8.14634 + x = 4.58446, y = 563.67899 + x = 1.65985, y = 16.57856 + x = 2.53429, y = 66.48420 + x = -2.78164, y = 43.30218 + x = -1.44433, y = 1.98051 + x = 1.15080, y = 5.75304 + x = 3.23709, y = 157.44092 + x = -4.61406, y = 371.68916 + x = 1.32404, y = 8.47164 + x = 1.46419, y = 11.34320 + x = -0.32135, y = -0.24061 + x = 2.55492, y = 68.36975 + x = -1.62288, y = 3.67320 + x = -4.66294, y = 388.45288 + x = 4.61231, y = 576.56388 + x = 4.99398, y = 776.47829 + x = -0.02486, y = -0.02426 + x = -0.32495, y = -0.24252 + x = -0.74649, y = -0.29470 + x = -2.91776, y = 53.23264 + x = -4.34565, y = 289.10403 + x = 3.76621, y = 272.56745 + x = -2.35484, y = 20.88212 + x = -1.00783, y = 0.01591 + x = -2.20340, y = 15.52478 + x = -1.14686, y = 0.38995 + x = 4.38665, y = 478.32217 + x = 4.96963, y = 762.35512 + x = -0.94766, y = -0.09415 + x = 0.94878, y = 3.51333 + x = 1.38440, y = 9.62745 + x = -1.32980, y = 1.21411 + x = -3.66336, y = 140.69623 + x = -4.49667, y = 333.64965 + x = -4.53838, y = 346.81367 + x = -2.69365, y = 37.66362 + x = -1.34229, y = 1.28727 + x = -1.89233, y = 7.73519 + x = 2.64243, y = 76.82988 + x = -0.42904, y = -0.29006 + x = -0.22339, y = -0.18215 + x = -4.22857, y = 257.76465 + x = -4.18157, y = 245.93068 + x = -3.13073, y = 72.05420 + x = -2.31885, y = 19.50251 + x = -1.50062, y = 2.44295 + x = 3.22264, y = 154.93268 + x = 0.52270, y = 1.01336 + x = 2.60841, y = 73.45086 + x = 2.86971, y = 102.55628 + x = 3.03918, y = 125.66200 + x = 3.24991, y = 159.69097 + x = 3.54341, y = 218.23610 + x = 2.67847, y = 80.53804 + x = 4.92149, y = 735.00341 + x = 0.91426, y = 3.21297 + x = 0.32321, y = 0.47236 + x = 2.03096, y = 31.54707 + x = -3.24326, y = 83.80450 + x = -3.75068, y = 155.45071 + x = -2.50691, y = 27.51898 + x = 0.12942, y = 0.14862 + x = -2.25649, y = 17.27167 + x = -3.24691, y = 84.20826 + x = -3.31241, y = 91.70238 + x = -1.09279, y = 0.22248 + x = 1.73649, y = 19.08068 + x = -3.49215, y = 114.83599 + x = 2.65591, y = 78.20109 + x = 1.11293, y = 5.26425 + x = -3.22866, y = 82.20381 + x = 4.45244, y = 505.54302 + x = 2.06664, y = 33.40571 + x = 1.38380, y = 9.61546 + x = -0.95694, y = -0.07894 + x = -2.59556, y = 32.04151 + x = -4.77720, y = 429.84739 + x = -0.03331, y = -0.03224 + x = -0.92932, y = -0.12242 + x = 1.88235, y = 24.64969 + x = 3.52993, y = 215.23685 + x = -2.64431, y = 34.75137 + x = 3.21289, y = 153.25866 + x = -2.19698, y = 15.32274 + x = -1.54431, y = 2.84531 + x = -3.74502, y = 154.46095 + x = -4.07331, y = 220.22395 + x = 4.58355, y = 563.26313 + x = 3.81575, y = 285.92436 + x = 1.55441, y = 13.56422 + x = 0.56986, y = 1.18511 + x = -2.85014, y = 48.10896 + x = 0.45176, y = 0.78971 + x = -3.47050, y = 111.84129 + x = -2.20039, y = 15.42975 + x = 0.32417, y = 0.47436 + x = -1.29521, y = 1.02378 + x = -0.56537, y = -0.32427 + x = 2.82621, y = 97.18688 + x = -4.72329, y = 409.92520 + x = -1.72342, y = 4.94990 + x = -1.74405, y = 5.24481 + x = -3.54799, y = 122.84064 + x = -4.27394, y = 269.58976 + x = 4.33977, y = 459.61308 + x = 0.68349, y = 1.68816 + x = -4.96298, y = 504.11959 + x = 0.74039, y = 1.99492 + x = -0.77721, y = -0.27775 + x = 3.66650, y = 247.12050 + x = -0.01244, y = -0.01228 + x = 0.73966, y = 1.99075 + x = 3.21521, y = 153.65624 + x = 0.20233, y = 0.25323 + x = 0.67946, y = 1.66796 + x = -4.65677, y = 386.30414 + x = 4.67765, y = 607.66170 + x = -3.78599, y = 161.73522 + x = 3.95347, y = 325.67130 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.stt b/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.stt new file mode 100644 index 0000000..c77c013 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.stt @@ -0,0 +1,12 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 12.884 3.667 10 3 23 6 0.0000 0.0001 0.0000 12.884 3.667 10 3 23 6 +1 0 0.0000 0.0001 0.0000 12.557 3.922 5 2 5 3 0.0000 0.0001 0.0000 12.720 3.794 5 2 23 6 +2 0 0.0000 0.0001 0.0000 12.648 4.102 11 3 49 7 0.0000 0.0001 0.0000 12.696 3.897 11 3 23 6 +3 0 0.0000 0.0001 0.0000 12.777 4.237 12 3 9 6 0.0000 0.0001 0.0000 12.716 3.982 12 3 23 6 +4 0 0.0000 0.0001 0.0000 12.552 4.301 11 3 18 5 0.0000 0.0001 0.0000 12.683 4.046 11 3 23 6 +5 0 0.0000 0.0001 0.0000 12.452 4.328 11 3 17 9 0.0000 0.0001 0.0000 12.645 4.093 11 3 23 6 +6 0 0.0000 0.0006 0.0000 12.390 4.377 9 3 27 7 0.0000 0.0006 0.0000 12.608 4.133 9 3 23 6 +7 0 0.0000 0.0012 0.0000 12.668 4.491 13 3 31 11 0.0000 0.0012 0.0000 12.616 4.178 13 3 23 6 +8 0 0.0000 0.0012 0.0000 12.811 4.544 32 9 12 7 0.0000 0.0012 0.0000 12.638 4.219 32 9 23 6 +9 0 0.0001 0.0020 0.0000 13.532 4.699 17 4 14 4 0.0000 0.0020 0.0000 12.727 4.267 17 4 23 6 +10 0 0.0007 1.0000 0.0000 16.376 5.224 15 4 5 3 0.0001 1.0000 0.0000 13.059 4.354 15 4 23 6 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.sys b/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.sys new file mode 100644 index 0000000..ad6e992 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_0/regress.sys @@ -0,0 +1,83 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 23. +creating initial population(s): + 5627 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 18801148 + freed: 18600628 + not freed: 200520 + max allocated: 2846271 + malloc'ed blocks: 161015 + realloc'ed blocks: 9 + free'ed blocks: 160985 + +------- time ------- + overall: 1s wall + evaluation: 0s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 16958 + freed: 16958 + allocated: 13500 + blocks: 26 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.bst b/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.bst new file mode 100644 index 0000000..537d6bc --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.bst @@ -0,0 +1,36 @@ +=== BEST-OF-RUN === + generation: 39 + nodes: 83 + depth: 17 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 44.1929 + standardized fitness: 44.1929 + adjusted fitness: 0.0221 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- (* (cos (sin (* x -0.65293))) + (cos (exp (cos x)))) x))) + (- (* -0.52746 -0.52845) + (* (* (- (cos x) + (log (+ x x))) + (cos (* (* x x) + (+ x 0.95783)))) + (* (- (log (* x + (- (log (- 0.73343 + (+ (+ (* (log (sin (* -0.52746 -0.52845))) + (+ x 0.46729)) x) + (/ (* -0.52746 -0.52845) x)))) + (- 0.73343 x)))) + (log -0.52746)) + (- x x)))))) +TREE-equ: +y = (x * ((((x * x) * (x + 0.95783)) + (log((x + x)) - ((cos(sin((x * -0.65293))) * cos(exp(cos(x)))) - x))) + ((-0.52746 * -0.52845) - (((cos(x) - log((x + x))) * cos(((x * x) * (x + 0.95783)))) * ((log((x * (log((0.73343 - (((log(sin((-0.52746 * -0.52845))) * (x + 0.46729)) + x) + ((-0.52746 * -0.52845) / x)))) - (0.73343 - x)))) - log(-0.52746)) * (x - x)))))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.fn b/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.fn new file mode 100644 index 0000000..8129a38 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.fn @@ -0,0 +1,2 @@ + +y = (x * ((((x * x) * (x + 0.95783)) + (log((x + x)) - ((cos(sin((x * -0.65293))) * cos(exp(cos(x)))) - x))) + ((-0.52746 * -0.52845) - (((cos(x) - log((x + x))) * cos(((x * x) * (x + 0.95783)))) * ((log((x * (log((0.73343 - (((log(sin((-0.52746 * -0.52845))) * (x + 0.46729)) + x) + ((-0.52746 * -0.52845) / x)))) - (0.73343 - x)))) - log(-0.52746)) * (x - x)))))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.gen b/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.his b/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.his new file mode 100644 index 0000000..f42dd34 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.his @@ -0,0 +1,1735 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 6 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11807.9664 + standardized fitness: 11807.9664 + adjusted fitness: 0.0001 +TREE: + (* (exp x) + (- x -0.75431)) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 15 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7896.8910 + standardized fitness: 7896.8910 + adjusted fitness: 0.0001 +TREE: + (* (* (- 0.65737 -0.56769) + (* x x)) + (* (* x 0.81479) + (* x 0.83336))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 53 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5288.0168 + standardized fitness: 5288.0168 + adjusted fitness: 0.0002 +TREE: + (* (+ (log (- (* (exp x) + (exp 0.30001)) + (log x))) + (+ (exp (* (exp 0.37940) + (log x))) + (* (cos (/ -0.42717 0.07669)) + (- (+ -0.96635 x) + (- x 0.03776))))) + (exp (+ (sin (log (- -0.75978 x))) + (+ (+ (/ (- x x) + (- 0.15060 -0.06217)) 0.88378) + (+ 0.23604 + (log (+ -0.19956 x))))))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 43 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4998.2883 + standardized fitness: 4998.2883 + adjusted fitness: 0.0002 +TREE: + (- (- (* (+ x -0.55533) + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (cos x) + (cos (log (+ (- -0.50102 x) + (exp -0.28711)))))) + (- (sin (* -0.52746 -0.52845)) + (* (+ x x) + (- x x))))) + (cos 0.79558)) + (exp (log x))) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 52 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4783.6736 + standardized fitness: 4783.6736 + adjusted fitness: 0.0002 +TREE: + (* (+ (log (- (* (exp x) + (exp 0.30001)) + (log (- (* x + (+ (sin -0.98791) + (/ 0.96087 x))) 0.93791)))) + (+ (exp (* (exp 0.37940) + (log x))) + (log 0.30996))) + (exp (+ (sin (log (- -0.75978 x))) + (+ (+ (/ (- x x) + (- 0.15060 -0.06217)) 0.88378) + (+ 0.23604 + (log (+ -0.19956 x))))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 36 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1315.3571 + standardized fitness: 1315.3571 + adjusted fitness: 0.0008 +TREE: + (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (cos x) + (- 0.73343 x))) + (- (sin (* -0.52746 -0.52845)) + (* (+ x x) + (- x x))))) + (cos 0.79558)) + (exp (log x))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 43 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 545.5211 + standardized fitness: 545.5211 + adjusted fitness: 0.0018 +TREE: + (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- x + (log (log (sin (- 0.35700 -0.45484)))))) + (- 0.73343 x))) + (- (sin (* -0.52746 -0.52845)) + (* (+ x x) + (- x x))))) + (cos 0.79558)) + (exp (log x))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 75 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 393.8368 + standardized fitness: 393.8368 + adjusted fitness: 0.0025 +TREE: + (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- x + (log (log (sin (- 0.35700 -0.45484)))))) + (- 0.73343 x))) + (- (sin (* -0.52746 -0.52845)) + (* (+ x x) + (- x x))))) + (log (- (log (- (* (+ x x) -0.74968) + (* (- (- 0.46729 0.39742) + (log (/ (exp (log (+ x x))) + (exp (* (- 0.84792 -0.82038) + (+ x x)))))) + (sin -0.31143)))) + (cos (sin 0.37423))))) + (exp (log x))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 26 + depth: 5 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 180.5556 + standardized fitness: 180.5556 + adjusted fitness: 0.0055 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (+ x 0.95783)) + (- (sin (* -0.52746 -0.52845)) + (* (+ x x) + (- x x))))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 32 + depth: 7 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 153.3538 + standardized fitness: 153.3538 + adjusted fitness: 0.0065 +TREE: + (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- 0.73343 x))) + (- (sin (* -0.52746 -0.52845)) + (* -0.45931 + (- x x))))) + (cos 0.79558)) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 31 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 89.7188 + standardized fitness: 89.7188 + adjusted fitness: 0.0110 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- 0.73343 x))) + (- (sin (* -0.52746 -0.52845)) + (* (exp 0.06538) + (- x x))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 27 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 64.6128 + standardized fitness: 64.6128 + adjusted fitness: 0.0152 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- 0.73343 x))) + (- 0.35700 + (* (exp 0.06538) + (- x x))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 11 + nodes: 27 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 64.6128 + standardized fitness: 64.6128 + adjusted fitness: 0.0152 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- 0.73343 x))) + (- 0.35700 + (* (exp 0.06538) + (- x x))))) +=== BEST-OF-RUN === + current generation: 13 + generation: 11 + nodes: 27 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 64.6128 + standardized fitness: 64.6128 + adjusted fitness: 0.0152 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- 0.73343 x))) + (- 0.35700 + (* (exp 0.06538) + (- x x))))) +=== BEST-OF-RUN === + current generation: 14 + generation: 11 + nodes: 27 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 64.6128 + standardized fitness: 64.6128 + adjusted fitness: 0.0152 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- 0.73343 x))) + (- 0.35700 + (* (exp 0.06538) + (- x x))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 11 + nodes: 27 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 64.6128 + standardized fitness: 64.6128 + adjusted fitness: 0.0152 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- 0.73343 x))) + (- 0.35700 + (* (exp 0.06538) + (- x x))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 11 + nodes: 27 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 64.6128 + standardized fitness: 64.6128 + adjusted fitness: 0.0152 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- 0.73343 x))) + (- 0.35700 + (* (exp 0.06538) + (- x x))))) +=== BEST-OF-RUN === + current generation: 17 + generation: 11 + nodes: 27 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 64.6128 + standardized fitness: 64.6128 + adjusted fitness: 0.0152 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- 0.73343 x))) + (- 0.35700 + (* (exp 0.06538) + (- x x))))) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 59 + depth: 10 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 57.9691 + standardized fitness: 57.9691 + adjusted fitness: 0.0170 +TREE: + (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- x + (sin (log 0.79920)))) + (- 0.73343 x))) + (- (sin (- 0.84792 -0.82038)) + (* (+ x x) + (- x x))))) + (sin (exp (- -0.82038 + (* (+ x x) + (- x x)))))) + (* x + (* -0.62714 + (/ (sin (cos 0.37423)) + (- (* x x) -0.06217))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 18 + nodes: 59 + depth: 10 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 57.9691 + standardized fitness: 57.9691 + adjusted fitness: 0.0170 +TREE: + (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- x + (sin (log 0.79920)))) + (- 0.73343 x))) + (- (sin (- 0.84792 -0.82038)) + (* (+ x x) + (- x x))))) + (sin (exp (- -0.82038 + (* (+ x x) + (- x x)))))) + (* x + (* -0.62714 + (/ (sin (cos 0.37423)) + (- (* x x) -0.06217))))) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 96 + depth: 15 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 53.6028 + standardized fitness: 53.6028 + adjusted fitness: 0.0183 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (log (- x + (log (cos (cos -0.74465))))) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (* -0.52746 -0.52845))) + (cos 0.79558)) + (exp (* (+ x x) + (- x x)))) + (- (cos (/ (log (- x + (- 0.73343 x))) + (sin (exp (* (/ (* x + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) x) x))) + (/ x + (exp 0.06346))) + (* 0.60373 + (* 0.79886 -0.00142))))))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 101 + depth: 16 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 51.7540 + standardized fitness: 51.7540 + adjusted fitness: 0.0190 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (log (- x + (log (cos (cos -0.74465))))) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (* -0.52746 -0.52845))) + (cos 0.79558)) + (exp (* (+ x x) + (- x x)))) + (- (cos (/ (log (- x + (- 0.73343 x))) + (sin (exp (* (/ (* x + (* x + (+ (+ (* (* x x) + (- (log (+ x x)) + (- 0.73343 x))) x) x))) + (/ x + (exp 0.06346))) + (* 0.60373 + (* 0.79886 -0.00142))))))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 22 + generation: 22 + nodes: 88 + depth: 15 + hits: 12 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 12 + raw fitness: 50.1107 + standardized fitness: 50.1107 + adjusted fitness: 0.0196 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (log (- x + (log (cos (cos -0.74465))))) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (* -0.52746 -0.52845))) + (cos 0.79558)) + (exp (* (+ x x) + (- x x)))) + (- (cos (/ (log (- x + (- 0.73343 x))) + (sin (exp (* (/ (* (* x x) + (+ x 0.95783)) + (/ x + (exp 0.06346))) + (* 0.60373 + (* 0.79886 -0.00142))))))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 23 + generation: 22 + nodes: 88 + depth: 15 + hits: 12 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 12 + raw fitness: 50.1107 + standardized fitness: 50.1107 + adjusted fitness: 0.0196 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (log (- x + (log (cos (cos -0.74465))))) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (* -0.52746 -0.52845))) + (cos 0.79558)) + (exp (* (+ x x) + (- x x)))) + (- (cos (/ (log (- x + (- 0.73343 x))) + (sin (exp (* (/ (* (* x x) + (+ x 0.95783)) + (/ x + (exp 0.06346))) + (* 0.60373 + (* 0.79886 -0.00142))))))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 24 + generation: 22 + nodes: 88 + depth: 15 + hits: 12 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 12 + raw fitness: 50.1107 + standardized fitness: 50.1107 + adjusted fitness: 0.0196 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (log (- x + (log (cos (cos -0.74465))))) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (* -0.52746 -0.52845))) + (cos 0.79558)) + (exp (* (+ x x) + (- x x)))) + (- (cos (/ (log (- x + (- 0.73343 x))) + (sin (exp (* (/ (* (* x x) + (+ x 0.95783)) + (/ x + (exp 0.06346))) + (* 0.60373 + (* 0.79886 -0.00142))))))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 25 + generation: 22 + nodes: 88 + depth: 15 + hits: 12 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 12 + raw fitness: 50.1107 + standardized fitness: 50.1107 + adjusted fitness: 0.0196 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (log (- x + (log (cos (cos -0.74465))))) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (* -0.52746 -0.52845))) + (cos 0.79558)) + (exp (* (+ x x) + (- x x)))) + (- (cos (/ (log (- x + (- 0.73343 x))) + (sin (exp (* (/ (* (* x x) + (+ x 0.95783)) + (/ x + (exp 0.06346))) + (* 0.60373 + (* 0.79886 -0.00142))))))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 123 + depth: 16 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 48.8533 + standardized fitness: 48.8533 + adjusted fitness: 0.0201 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (sin (/ (+ (sin (* (+ x -0.70527) -0.52845)) -0.05166) x)) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (- (sin (* -0.52746 -0.52845)) + (* (- 0.95783 + (* (log (* x + (cos x))) + (- x x))) + (- x x))))) + (cos 0.79558)) + (exp (* (log 0.94809) + (- x x)))) + (- (cos (* (+ x x) + (/ (/ (* (+ (* (* x x) + (+ x 0.95783)) + (+ (* -0.45068 x) + (- x + (- (* x x) + (* -0.45931 + (cos 0.79558)))))) + (- x x)) + (sin (+ x 0.64834))) + (+ (exp (- -0.01109 x)) x)))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 27 + generation: 26 + nodes: 123 + depth: 16 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 48.8533 + standardized fitness: 48.8533 + adjusted fitness: 0.0201 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (sin (/ (+ (sin (* (+ x -0.70527) -0.52845)) -0.05166) x)) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (- (sin (* -0.52746 -0.52845)) + (* (- 0.95783 + (* (log (* x + (cos x))) + (- x x))) + (- x x))))) + (cos 0.79558)) + (exp (* (log 0.94809) + (- x x)))) + (- (cos (* (+ x x) + (/ (/ (* (+ (* (* x x) + (+ x 0.95783)) + (+ (* -0.45068 x) + (- x + (- (* x x) + (* -0.45931 + (cos 0.79558)))))) + (- x x)) + (sin (+ x 0.64834))) + (+ (exp (- -0.01109 x)) x)))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 28 + generation: 26 + nodes: 123 + depth: 16 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 48.8533 + standardized fitness: 48.8533 + adjusted fitness: 0.0201 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (sin (/ (+ (sin (* (+ x -0.70527) -0.52845)) -0.05166) x)) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (- (sin (* -0.52746 -0.52845)) + (* (- 0.95783 + (* (log (* x + (cos x))) + (- x x))) + (- x x))))) + (cos 0.79558)) + (exp (* (log 0.94809) + (- x x)))) + (- (cos (* (+ x x) + (/ (/ (* (+ (* (* x x) + (+ x 0.95783)) + (+ (* -0.45068 x) + (- x + (- (* x x) + (* -0.45931 + (cos 0.79558)))))) + (- x x)) + (sin (+ x 0.64834))) + (+ (exp (- -0.01109 x)) x)))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 29 + generation: 26 + nodes: 123 + depth: 16 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 48.8533 + standardized fitness: 48.8533 + adjusted fitness: 0.0201 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (sin (/ (+ (sin (* (+ x -0.70527) -0.52845)) -0.05166) x)) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (- (sin (* -0.52746 -0.52845)) + (* (- 0.95783 + (* (log (* x + (cos x))) + (- x x))) + (- x x))))) + (cos 0.79558)) + (exp (* (log 0.94809) + (- x x)))) + (- (cos (* (+ x x) + (/ (/ (* (+ (* (* x x) + (+ x 0.95783)) + (+ (* -0.45068 x) + (- x + (- (* x x) + (* -0.45931 + (cos 0.79558)))))) + (- x x)) + (sin (+ x 0.64834))) + (+ (exp (- -0.01109 x)) x)))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 30 + generation: 26 + nodes: 123 + depth: 16 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 48.8533 + standardized fitness: 48.8533 + adjusted fitness: 0.0201 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (sin (/ (+ (sin (* (+ x -0.70527) -0.52845)) -0.05166) x)) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (- (sin (* -0.52746 -0.52845)) + (* (- 0.95783 + (* (log (* x + (cos x))) + (- x x))) + (- x x))))) + (cos 0.79558)) + (exp (* (log 0.94809) + (- x x)))) + (- (cos (* (+ x x) + (/ (/ (* (+ (* (* x x) + (+ x 0.95783)) + (+ (* -0.45068 x) + (- x + (- (* x x) + (* -0.45931 + (cos 0.79558)))))) + (- x x)) + (sin (+ x 0.64834))) + (+ (exp (- -0.01109 x)) x)))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 31 + generation: 26 + nodes: 123 + depth: 16 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 48.8533 + standardized fitness: 48.8533 + adjusted fitness: 0.0201 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (sin (/ (+ (sin (* (+ x -0.70527) -0.52845)) -0.05166) x)) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (- (sin (* -0.52746 -0.52845)) + (* (- 0.95783 + (* (log (* x + (cos x))) + (- x x))) + (- x x))))) + (cos 0.79558)) + (exp (* (log 0.94809) + (- x x)))) + (- (cos (* (+ x x) + (/ (/ (* (+ (* (* x x) + (+ x 0.95783)) + (+ (* -0.45068 x) + (- x + (- (* x x) + (* -0.45931 + (cos 0.79558)))))) + (- x x)) + (sin (+ x 0.64834))) + (+ (exp (- -0.01109 x)) x)))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 32 + generation: 32 + nodes: 109 + depth: 16 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 48.4604 + standardized fitness: 48.4604 + adjusted fitness: 0.0202 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (sin (/ (+ (sin (* (+ x -0.70527) -0.52845)) -0.05166) x)) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (- (sin (* -0.52746 -0.52845)) + (* (- 0.95783 + (* (log (* x + (cos x))) + (- x x))) + (- x x))))) + (cos 0.79558)) + (exp (* (log 0.94809) + (cos (- (+ x x) + (sin (* x -0.53691))))))) + (- (cos (* (+ x x) + (/ (/ (* (* (* x x) + (* x x)) + (- x x)) + (sin (+ x 0.64834))) -0.52746))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 33 + generation: 32 + nodes: 109 + depth: 16 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 48.4604 + standardized fitness: 48.4604 + adjusted fitness: 0.0202 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (sin (/ (+ (sin (* (+ x -0.70527) -0.52845)) -0.05166) x)) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (- (sin (* -0.52746 -0.52845)) + (* (- 0.95783 + (* (log (* x + (cos x))) + (- x x))) + (- x x))))) + (cos 0.79558)) + (exp (* (log 0.94809) + (cos (- (+ x x) + (sin (* x -0.53691))))))) + (- (cos (* (+ x x) + (/ (/ (* (* (* x x) + (* x x)) + (- x x)) + (sin (+ x 0.64834))) -0.52746))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 34 + generation: 32 + nodes: 109 + depth: 16 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 48.4604 + standardized fitness: 48.4604 + adjusted fitness: 0.0202 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (sin (/ (+ (sin (* (+ x -0.70527) -0.52845)) -0.05166) x)) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (- (sin (* -0.52746 -0.52845)) + (* (- 0.95783 + (* (log (* x + (cos x))) + (- x x))) + (- x x))))) + (cos 0.79558)) + (exp (* (log 0.94809) + (cos (- (+ x x) + (sin (* x -0.53691))))))) + (- (cos (* (+ x x) + (/ (/ (* (* (* x x) + (* x x)) + (- x x)) + (sin (+ x 0.64834))) -0.52746))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 35 + generation: 32 + nodes: 109 + depth: 16 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 48.4604 + standardized fitness: 48.4604 + adjusted fitness: 0.0202 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (sin (/ (+ (sin (* (+ x -0.70527) -0.52845)) -0.05166) x)) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (- (sin (* -0.52746 -0.52845)) + (* (- 0.95783 + (* (log (* x + (cos x))) + (- x x))) + (- x x))))) + (cos 0.79558)) + (exp (* (log 0.94809) + (cos (- (+ x x) + (sin (* x -0.53691))))))) + (- (cos (* (+ x x) + (/ (/ (* (* (* x x) + (* x x)) + (- x x)) + (sin (+ x 0.64834))) -0.52746))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 36 + generation: 32 + nodes: 109 + depth: 16 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 48.4604 + standardized fitness: 48.4604 + adjusted fitness: 0.0202 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (sin (/ (+ (sin (* (+ x -0.70527) -0.52845)) -0.05166) x)) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (- (sin (* -0.52746 -0.52845)) + (* (- 0.95783 + (* (log (* x + (cos x))) + (- x x))) + (- x x))))) + (cos 0.79558)) + (exp (* (log 0.94809) + (cos (- (+ x x) + (sin (* x -0.53691))))))) + (- (cos (* (+ x x) + (/ (/ (* (* (* x x) + (* x x)) + (- x x)) + (sin (+ x 0.64834))) -0.52746))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 37 + generation: 32 + nodes: 109 + depth: 16 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 48.4604 + standardized fitness: 48.4604 + adjusted fitness: 0.0202 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (sin (/ (+ (sin (* (+ x -0.70527) -0.52845)) -0.05166) x)) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (- (sin (* -0.52746 -0.52845)) + (* (- 0.95783 + (* (log (* x + (cos x))) + (- x x))) + (- x x))))) + (cos 0.79558)) + (exp (* (log 0.94809) + (cos (- (+ x x) + (sin (* x -0.53691))))))) + (- (cos (* (+ x x) + (/ (/ (* (* (* x x) + (* x x)) + (- x x)) + (sin (+ x 0.64834))) -0.52746))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 38 + generation: 32 + nodes: 109 + depth: 16 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 48.4604 + standardized fitness: 48.4604 + adjusted fitness: 0.0202 +TREE: + (+ (- (- (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (- (- (sin (/ (+ (sin (* (+ x -0.70527) -0.52845)) -0.05166) x)) + (- 0.73343 x)) + (log (log (sin (- 0.35700 -0.45484)))))) + (- (cos 0.79558) x))) + (- (sin (* -0.52746 -0.52845)) + (* (- 0.95783 + (* (log (* x + (cos x))) + (- x x))) + (- x x))))) + (cos 0.79558)) + (exp (* (log 0.94809) + (cos (- (+ x x) + (sin (* x -0.53691))))))) + (- (cos (* (+ x x) + (/ (/ (* (* (* x x) + (* x x)) + (- x x)) + (sin (+ x 0.64834))) -0.52746))) + (- -0.29628 + (+ (* 0.76847 x) + (sin 0.38091))))) +=== BEST-OF-RUN === + current generation: 39 + generation: 39 + nodes: 83 + depth: 17 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 44.1929 + standardized fitness: 44.1929 + adjusted fitness: 0.0221 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- (* (cos (sin (* x -0.65293))) + (cos (exp (cos x)))) x))) + (- (* -0.52746 -0.52845) + (* (* (- (cos x) + (log (+ x x))) + (cos (* (* x x) + (+ x 0.95783)))) + (* (- (log (* x + (- (log (- 0.73343 + (+ (+ (* (log (sin (* -0.52746 -0.52845))) + (+ x 0.46729)) x) + (/ (* -0.52746 -0.52845) x)))) + (- 0.73343 x)))) + (log -0.52746)) + (- x x)))))) +=== BEST-OF-RUN === + current generation: 40 + generation: 39 + nodes: 83 + depth: 17 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 44.1929 + standardized fitness: 44.1929 + adjusted fitness: 0.0221 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- (* (cos (sin (* x -0.65293))) + (cos (exp (cos x)))) x))) + (- (* -0.52746 -0.52845) + (* (* (- (cos x) + (log (+ x x))) + (cos (* (* x x) + (+ x 0.95783)))) + (* (- (log (* x + (- (log (- 0.73343 + (+ (+ (* (log (sin (* -0.52746 -0.52845))) + (+ x 0.46729)) x) + (/ (* -0.52746 -0.52845) x)))) + (- 0.73343 x)))) + (log -0.52746)) + (- x x)))))) +=== BEST-OF-RUN === + current generation: 41 + generation: 39 + nodes: 83 + depth: 17 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 44.1929 + standardized fitness: 44.1929 + adjusted fitness: 0.0221 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- (* (cos (sin (* x -0.65293))) + (cos (exp (cos x)))) x))) + (- (* -0.52746 -0.52845) + (* (* (- (cos x) + (log (+ x x))) + (cos (* (* x x) + (+ x 0.95783)))) + (* (- (log (* x + (- (log (- 0.73343 + (+ (+ (* (log (sin (* -0.52746 -0.52845))) + (+ x 0.46729)) x) + (/ (* -0.52746 -0.52845) x)))) + (- 0.73343 x)))) + (log -0.52746)) + (- x x)))))) +=== BEST-OF-RUN === + current generation: 42 + generation: 39 + nodes: 83 + depth: 17 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 44.1929 + standardized fitness: 44.1929 + adjusted fitness: 0.0221 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- (* (cos (sin (* x -0.65293))) + (cos (exp (cos x)))) x))) + (- (* -0.52746 -0.52845) + (* (* (- (cos x) + (log (+ x x))) + (cos (* (* x x) + (+ x 0.95783)))) + (* (- (log (* x + (- (log (- 0.73343 + (+ (+ (* (log (sin (* -0.52746 -0.52845))) + (+ x 0.46729)) x) + (/ (* -0.52746 -0.52845) x)))) + (- 0.73343 x)))) + (log -0.52746)) + (- x x)))))) +=== BEST-OF-RUN === + current generation: 43 + generation: 39 + nodes: 83 + depth: 17 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 44.1929 + standardized fitness: 44.1929 + adjusted fitness: 0.0221 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- (* (cos (sin (* x -0.65293))) + (cos (exp (cos x)))) x))) + (- (* -0.52746 -0.52845) + (* (* (- (cos x) + (log (+ x x))) + (cos (* (* x x) + (+ x 0.95783)))) + (* (- (log (* x + (- (log (- 0.73343 + (+ (+ (* (log (sin (* -0.52746 -0.52845))) + (+ x 0.46729)) x) + (/ (* -0.52746 -0.52845) x)))) + (- 0.73343 x)))) + (log -0.52746)) + (- x x)))))) +=== BEST-OF-RUN === + current generation: 44 + generation: 39 + nodes: 83 + depth: 17 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 44.1929 + standardized fitness: 44.1929 + adjusted fitness: 0.0221 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- (* (cos (sin (* x -0.65293))) + (cos (exp (cos x)))) x))) + (- (* -0.52746 -0.52845) + (* (* (- (cos x) + (log (+ x x))) + (cos (* (* x x) + (+ x 0.95783)))) + (* (- (log (* x + (- (log (- 0.73343 + (+ (+ (* (log (sin (* -0.52746 -0.52845))) + (+ x 0.46729)) x) + (/ (* -0.52746 -0.52845) x)))) + (- 0.73343 x)))) + (log -0.52746)) + (- x x)))))) +=== BEST-OF-RUN === + current generation: 45 + generation: 39 + nodes: 83 + depth: 17 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 44.1929 + standardized fitness: 44.1929 + adjusted fitness: 0.0221 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- (* (cos (sin (* x -0.65293))) + (cos (exp (cos x)))) x))) + (- (* -0.52746 -0.52845) + (* (* (- (cos x) + (log (+ x x))) + (cos (* (* x x) + (+ x 0.95783)))) + (* (- (log (* x + (- (log (- 0.73343 + (+ (+ (* (log (sin (* -0.52746 -0.52845))) + (+ x 0.46729)) x) + (/ (* -0.52746 -0.52845) x)))) + (- 0.73343 x)))) + (log -0.52746)) + (- x x)))))) +=== BEST-OF-RUN === + current generation: 46 + generation: 39 + nodes: 83 + depth: 17 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 44.1929 + standardized fitness: 44.1929 + adjusted fitness: 0.0221 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- (* (cos (sin (* x -0.65293))) + (cos (exp (cos x)))) x))) + (- (* -0.52746 -0.52845) + (* (* (- (cos x) + (log (+ x x))) + (cos (* (* x x) + (+ x 0.95783)))) + (* (- (log (* x + (- (log (- 0.73343 + (+ (+ (* (log (sin (* -0.52746 -0.52845))) + (+ x 0.46729)) x) + (/ (* -0.52746 -0.52845) x)))) + (- 0.73343 x)))) + (log -0.52746)) + (- x x)))))) +=== BEST-OF-RUN === + current generation: 47 + generation: 39 + nodes: 83 + depth: 17 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 44.1929 + standardized fitness: 44.1929 + adjusted fitness: 0.0221 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- (* (cos (sin (* x -0.65293))) + (cos (exp (cos x)))) x))) + (- (* -0.52746 -0.52845) + (* (* (- (cos x) + (log (+ x x))) + (cos (* (* x x) + (+ x 0.95783)))) + (* (- (log (* x + (- (log (- 0.73343 + (+ (+ (* (log (sin (* -0.52746 -0.52845))) + (+ x 0.46729)) x) + (/ (* -0.52746 -0.52845) x)))) + (- 0.73343 x)))) + (log -0.52746)) + (- x x)))))) +=== BEST-OF-RUN === + current generation: 48 + generation: 39 + nodes: 83 + depth: 17 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 44.1929 + standardized fitness: 44.1929 + adjusted fitness: 0.0221 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- (* (cos (sin (* x -0.65293))) + (cos (exp (cos x)))) x))) + (- (* -0.52746 -0.52845) + (* (* (- (cos x) + (log (+ x x))) + (cos (* (* x x) + (+ x 0.95783)))) + (* (- (log (* x + (- (log (- 0.73343 + (+ (+ (* (log (sin (* -0.52746 -0.52845))) + (+ x 0.46729)) x) + (/ (* -0.52746 -0.52845) x)))) + (- 0.73343 x)))) + (log -0.52746)) + (- x x)))))) +=== BEST-OF-RUN === + current generation: 49 + generation: 39 + nodes: 83 + depth: 17 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 44.1929 + standardized fitness: 44.1929 + adjusted fitness: 0.0221 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- (* (cos (sin (* x -0.65293))) + (cos (exp (cos x)))) x))) + (- (* -0.52746 -0.52845) + (* (* (- (cos x) + (log (+ x x))) + (cos (* (* x x) + (+ x 0.95783)))) + (* (- (log (* x + (- (log (- 0.73343 + (+ (+ (* (log (sin (* -0.52746 -0.52845))) + (+ x 0.46729)) x) + (/ (* -0.52746 -0.52845) x)))) + (- 0.73343 x)))) + (log -0.52746)) + (- x x)))))) +=== BEST-OF-RUN === + current generation: 50 + generation: 39 + nodes: 83 + depth: 17 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 44.1929 + standardized fitness: 44.1929 + adjusted fitness: 0.0221 +TREE: + (* x + (+ (+ (* (* x x) + (+ x 0.95783)) + (- (log (+ x x)) + (- (* (cos (sin (* x -0.65293))) + (cos (exp (cos x)))) x))) + (- (* -0.52746 -0.52845) + (* (* (- (cos x) + (log (+ x x))) + (cos (* (* x x) + (+ x 0.95783)))) + (* (- (log (* x + (- (log (- 0.73343 + (+ (+ (* (log (sin (* -0.52746 -0.52845))) + (+ x 0.46729)) x) + (/ (* -0.52746 -0.52845) x)))) + (- 0.73343 x)))) + (log -0.52746)) + (- x x)))))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.prg b/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.prg new file mode 100644 index 0000000..ef226fa --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -1.75676, y = 5.43231 + x = 1.38022, y = 9.54353 + x = -3.82805, y = 169.46761 + x = 4.74047, y = 638.73141 + x = 0.43215, y = 0.73450 + x = -2.41323, y = 23.27185 + x = 0.58707, y = 1.25283 + x = 1.34937, y = 8.94241 + x = -1.96900, y = 9.30505 + x = -1.64592, y = 3.94320 + x = -0.60599, y = -0.32645 + x = -0.61177, y = -0.32640 + x = 2.56325, y = 69.14326 + x = -2.77375, y = 42.77242 + x = 3.24335, y = 158.53728 + x = 2.61661, y = 74.25515 + x = -1.95526, y = 9.00847 + x = 2.24052, y = 43.70720 + x = 1.40490, y = 10.04731 + x = 0.59839, y = 1.29894 + x = 2.85723, y = 100.99427 + x = 0.24943, y = 0.33103 + x = 1.88807, y = 24.89117 + x = 0.03994, y = 0.04160 + x = -1.92727, y = 8.42507 + x = -1.30860, y = 1.09536 + x = -4.71290, y = 406.16576 + x = 1.71624, y = 18.39259 + x = -0.25497, y = -0.20231 + x = -2.41661, y = 23.41590 + x = 4.83232, y = 686.30972 + x = 3.29054, y = 166.98510 + x = -0.49003, y = -0.30991 + x = -3.00213, y = 60.18373 + x = 3.19780, y = 150.69406 + x = -1.63541, y = 3.81841 + x = -3.95565, y = 194.63146 + x = 1.68252, y = 17.29034 + x = 1.69021, y = 17.53689 + x = -0.77313, y = -0.28024 + x = 4.22971, y = 417.85781 + x = 3.79988, y = 281.59249 + x = -2.84990, y = 48.09102 + x = 3.12615, y = 138.95798 + x = 4.98310, y = 770.14565 + x = -2.15344, y = 14.00241 + x = -4.47768, y = 327.78366 + x = -4.86498, y = 463.83541 + x = -3.53378, y = 120.76557 + x = 2.29216, y = 47.19393 + x = -1.13918, y = 0.36432 + x = 3.58708, y = 228.17283 + x = -2.83715, y = 47.16781 + x = -1.44984, y = 2.02314 + x = -4.83445, y = 451.79356 + x = -0.04730, y = -0.04516 + x = -3.12976, y = 71.95801 + x = 4.17409, y = 397.88393 + x = -3.45734, y = 110.04817 + x = -2.93244, y = 54.39627 + x = -3.45758, y = 110.08065 + x = 3.90454, y = 311.10076 + x = 4.65916, y = 598.73572 + x = 3.80413, y = 282.74929 + x = -0.87562, y = -0.19241 + x = 0.59413, y = 1.28144 + x = -2.76188, y = 41.98437 + x = 4.43711, y = 499.09573 + x = -2.75685, y = 41.65427 + x = 0.39680, y = 0.64151 + x = 2.09429, y = 34.90366 + x = -2.09028, y = 12.23654 + x = 0.77430, y = 2.19749 + x = 4.11274, y = 376.69757 + x = -3.26243, y = 85.94019 + x = 4.27015, y = 432.85426 + x = -1.91343, y = 8.14670 + x = -1.66209, y = 4.14054 + x = -0.12561, y = -0.11157 + x = 3.12002, y = 137.98806 + x = -3.17884, y = 76.91533 + x = -3.88699, y = 180.76672 + x = 0.17357, y = 0.20984 + x = -2.32253, y = 19.64028 + x = -3.95903, y = 195.33310 + x = -4.07222, y = 219.97677 + x = 3.63138, y = 238.59918 + x = 0.70584, y = 1.80392 + x = 2.87349, y = 103.03382 + x = -2.39633, y = 22.56035 + x = -3.87353, y = 178.13860 + x = -3.39276, y = 101.56347 + x = -0.56062, y = -0.32374 + x = -3.70659, y = 147.86314 + x = 2.13257, y = 37.06214 + x = 1.31999, y = 8.39807 + x = -1.97442, y = 9.42395 + x = -1.96264, y = 9.16685 + x = 1.38858, y = 9.71183 + x = -4.28705, y = 273.08166 + x = 4.75998, y = 648.62493 + x = 2.18441, y = 40.14803 + x = 0.26063, y = 0.35087 + x = -1.65380, y = 4.03859 + x = 0.47100, y = 0.84655 + x = -2.25220, y = 17.12526 + x = -1.58649, y = 3.27243 + x = 4.48538, y = 519.60359 + x = -2.49081, y = 26.75134 + x = 4.23777, y = 420.81636 + x = 1.32133, y = 8.42235 + x = 1.16440, y = 5.93725 + x = -3.69940, y = 146.65253 + x = 3.93899, y = 321.30545 + x = -4.05891, y = 216.96304 + x = 4.93518, y = 742.70838 + x = -0.53483, y = -0.31995 + x = 3.36575, y = 181.15271 + x = -3.32844, y = 93.60911 + x = 2.80439, y = 94.57639 + x = -2.43145, y = 24.05716 + x = 4.20076, y = 407.37134 + x = -1.95147, y = 8.92778 + x = -3.46980, y = 111.74500 + x = 0.63682, y = 1.46506 + x = 4.90988, y = 728.52368 + x = 2.64909, y = 77.50503 + x = -2.57190, y = 30.78430 + x = -1.35826, y = 1.38436 + x = 3.98977, y = 336.80878 + x = 0.85665, y = 2.75768 + x = -1.39881, y = 1.64938 + x = -4.17128, y = 243.39556 + x = 0.63662, y = 1.46416 + x = -3.20130, y = 79.26759 + x = 0.65676, y = 1.55742 + x = 4.81241, y = 675.77746 + x = 1.23458, y = 6.96371 + x = -3.26362, y = 86.07458 + x = -3.89421, y = 182.18919 + x = 1.46261, y = 11.30699 + x = -4.73438, y = 413.96407 + x = -0.96572, y = -0.06398 + x = -4.93090, y = 490.65373 + x = -4.96487, y = 504.92187 + x = -3.07429, y = 66.64773 + x = 3.55871, y = 221.68002 + x = -2.09082, y = 12.25097 + x = 0.65659, y = 1.55663 + x = 2.22269, y = 42.55098 + x = 3.67090, y = 248.20194 + x = -4.40252, y = 305.31821 + x = 4.39562, y = 481.96799 + x = 2.39881, y = 55.06824 + x = -0.14370, y = -0.12559 + x = 1.15879, y = 5.86066 + x = 1.35569, y = 9.06314 + x = 4.62401, y = 582.04174 + x = -3.45250, y = 109.39489 + x = 4.81424, y = 676.74145 + x = -2.06461, y = 11.56717 + x = 2.17892, y = 39.81216 + x = 2.74900, y = 88.18869 + x = -3.59660, y = 130.14282 + x = -2.22484, y = 16.21391 + x = 1.05570, y = 4.58895 + x = -2.86988, y = 49.56427 + x = -3.76850, y = 158.59979 + x = 3.90386, y = 310.90122 + x = 4.01539, y = 344.84200 + x = -3.62353, y = 134.32570 + x = -3.44401, y = 108.25513 + x = -2.29084, y = 18.47578 + x = -0.55113, y = -0.32253 + x = 4.13349, y = 383.76683 + x = -3.02893, y = 62.52701 + x = 4.80514, y = 671.96067 + x = 0.64972, y = 1.52433 + x = 1.67390, y = 17.01689 + x = 4.47803, y = 516.44050 + x = -1.44581, y = 1.99193 + x = 3.02508, y = 123.60153 + x = -4.11940, y = 230.90829 + x = -1.17251, y = 0.48033 + x = 1.05437, y = 4.57413 + x = 3.67773, y = 249.89105 + x = 0.85219, y = 2.72472 + x = 4.42532, y = 494.18239 + x = -2.13854, y = 13.57019 + x = 0.74299, y = 2.00993 + x = -1.47336, y = 2.21144 + x = 3.58091, y = 226.74941 + x = 2.33072, y = 49.93359 + x = -2.27901, y = 18.05434 + x = 4.72932, y = 633.13184 + x = -0.09338, y = -0.08540 + x = 2.55646, y = 68.51235 + x = 4.58541, y = 564.11436 + x = -4.06439, y = 218.20119 + x = 3.06406, y = 129.36259 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.stt b/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.stt new file mode 100644 index 0000000..bdba7b2 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 12.830 3.650 6 2 29 6 0.0000 0.0001 0.0000 12.830 3.650 6 2 29 6 +1 0 0.0000 0.0001 0.0000 11.998 3.802 15 3 22 5 0.0000 0.0001 0.0000 12.414 3.726 15 3 29 6 +2 0 0.0000 0.0002 0.0000 12.003 3.953 53 7 31 8 0.0000 0.0002 0.0000 12.277 3.802 53 7 29 6 +3 0 0.0000 0.0002 0.0000 12.138 4.064 43 10 7 3 0.0000 0.0002 0.0000 12.242 3.867 43 10 29 6 +4 0 0.0000 0.0002 0.0000 12.503 4.228 52 9 16 5 0.0000 0.0002 0.0000 12.294 3.939 52 9 29 6 +5 0 0.0000 0.0008 0.0000 13.064 4.372 36 7 10 5 0.0000 0.0008 0.0000 12.423 4.011 36 7 29 6 +6 0 0.0000 0.0018 0.0000 14.192 4.556 43 12 27 7 0.0000 0.0018 0.0000 12.676 4.089 43 12 29 6 +7 0 0.0001 0.0025 0.0000 17.217 5.081 75 13 10 5 0.0000 0.0025 0.0000 13.243 4.213 75 13 29 6 +8 0 0.0002 0.0055 0.0000 28.075 6.999 26 5 75 11 0.0001 0.0055 0.0000 14.891 4.523 26 5 29 6 +9 0 0.0006 0.0065 0.0000 38.586 8.943 32 7 87 14 0.0001 0.0065 0.0000 17.261 4.965 32 7 29 6 +10 0 0.0008 0.0110 0.0000 42.829 9.718 31 6 58 11 0.0002 0.0110 0.0000 19.585 5.397 31 6 29 6 +11 0 0.0010 0.0152 0.0000 46.390 10.232 27 6 74 10 0.0002 0.0152 0.0000 21.819 5.800 27 6 29 6 +12 0 0.0012 0.0113 0.0000 50.159 10.773 36 10 51 12 0.0003 0.0152 0.0000 23.999 6.182 27 6 29 6 +13 0 0.0015 0.0114 0.0000 52.906 11.079 57 12 56 10 0.0004 0.0152 0.0000 26.064 6.532 27 6 29 6 +14 0 0.0019 0.0118 0.0000 56.820 11.464 71 15 94 16 0.0005 0.0152 0.0000 28.114 6.861 27 6 29 6 +15 0 0.0023 0.0129 0.0000 61.354 11.905 83 16 90 15 0.0006 0.0152 0.0000 30.191 7.176 27 6 29 6 +16 0 0.0027 0.0152 0.0000 65.395 12.219 36 9 75 13 0.0007 0.0152 0.0000 32.262 7.473 27 6 29 6 +17 0 0.0032 0.0146 0.0000 69.613 12.459 83 15 104 15 0.0009 0.0152 0.0000 34.337 7.750 27 6 29 6 +18 0 0.0036 0.0170 0.0000 72.658 12.667 59 10 117 16 0.0010 0.0170 0.0000 36.354 8.009 59 10 29 6 +19 0 0.0041 0.0170 0.0000 73.168 12.643 61 10 167 17 0.0012 0.0170 0.0000 38.195 8.240 59 10 29 6 +20 0 0.0045 0.0183 0.0000 73.585 12.607 96 15 128 15 0.0013 0.0183 0.0000 39.880 8.448 96 15 29 6 +21 0 0.0053 0.0190 0.0000 73.924 12.628 101 16 115 15 0.0015 0.0190 0.0000 41.428 8.638 101 16 29 6 +22 0 0.0057 0.0196 0.0000 73.941 12.635 88 15 70 14 0.0017 0.0196 0.0000 42.841 8.812 88 15 29 6 +23 0 0.0061 0.0182 0.0000 74.804 12.706 100 16 122 13 0.0019 0.0196 0.0000 44.173 8.974 88 15 29 6 +24 0 0.0066 0.0182 0.0000 76.416 12.836 100 16 40 9 0.0021 0.0196 0.0000 45.463 9.129 88 15 29 6 +25 0 0.0070 0.0173 0.0000 78.682 12.955 116 16 71 16 0.0023 0.0196 0.0000 46.740 9.276 88 15 29 6 +26 0 0.0073 0.0201 0.0000 81.131 13.140 123 16 35 8 0.0024 0.0201 0.0000 48.014 9.419 123 16 29 6 +27 0 0.0077 0.0201 0.0000 83.996 13.333 123 16 87 15 0.0026 0.0201 0.0000 49.299 9.559 123 16 29 6 +28 0 0.0080 0.0201 0.0000 86.401 13.452 137 16 148 16 0.0028 0.0201 0.0000 50.579 9.693 123 16 29 6 +29 0 0.0081 0.0201 0.0000 89.376 13.654 129 16 68 13 0.0030 0.0201 0.0000 51.872 9.825 123 16 29 6 +30 0 0.0082 0.0201 0.0000 92.058 13.843 138 17 124 16 0.0032 0.0201 0.0000 53.168 9.955 123 16 29 6 +31 0 0.0085 0.0201 0.0000 94.780 14.021 159 17 136 17 0.0033 0.0201 0.0000 54.468 10.082 123 16 29 6 +32 0 0.0087 0.0202 0.0000 96.317 14.061 109 16 99 15 0.0035 0.0202 0.0000 55.737 10.202 109 16 29 6 +33 0 0.0089 0.0202 0.0000 98.321 14.138 109 16 138 16 0.0036 0.0202 0.0000 56.989 10.318 109 16 29 6 +34 0 0.0090 0.0202 0.0000 100.611 14.270 106 16 166 15 0.0038 0.0202 0.0000 58.235 10.431 109 16 29 6 +35 0 0.0092 0.0202 0.0000 101.731 14.331 108 16 194 16 0.0040 0.0202 0.0000 59.444 10.539 109 16 29 6 +36 0 0.0092 0.0202 0.0000 102.559 14.429 108 16 104 16 0.0041 0.0202 0.0000 60.609 10.644 109 16 29 6 +37 0 0.0093 0.0199 0.0000 103.314 14.378 90 16 79 15 0.0042 0.0202 0.0000 61.733 10.743 109 16 29 6 +38 0 0.0096 0.0174 0.0000 105.436 14.506 97 13 81 16 0.0044 0.0202 0.0000 62.853 10.839 109 16 29 6 +39 0 0.0097 0.0221 0.0000 107.198 14.527 83 17 96 17 0.0045 0.0221 0.0000 63.962 10.931 83 17 29 6 +40 0 0.0098 0.0221 0.0000 109.305 14.620 90 17 125 17 0.0046 0.0221 0.0000 65.068 11.021 83 17 29 6 +41 0 0.0098 0.0183 0.0000 111.581 14.734 163 16 134 16 0.0048 0.0221 0.0000 66.175 11.110 83 17 29 6 +42 0 0.0098 0.0174 0.0000 112.471 14.690 101 14 180 16 0.0049 0.0221 0.0000 67.252 11.193 83 17 29 6 +43 0 0.0098 0.0170 0.0000 113.670 14.754 103 15 87 13 0.0050 0.0221 0.0000 68.307 11.274 83 17 29 6 +44 0 0.0100 0.0182 0.0000 115.794 14.800 124 16 81 17 0.0051 0.0221 0.0000 69.362 11.352 83 17 29 6 +45 0 0.0101 0.0219 0.0000 117.346 14.909 173 17 16 6 0.0052 0.0221 0.0000 70.405 11.430 83 17 29 6 +46 0 0.0101 0.0219 0.0000 117.378 14.859 177 17 111 16 0.0053 0.0221 0.0000 71.405 11.503 83 17 29 6 +47 0 0.0101 0.0219 0.0000 118.018 14.891 174 17 168 16 0.0054 0.0221 0.0000 72.376 11.573 83 17 29 6 +48 0 0.0102 0.0219 0.0000 117.649 14.828 179 17 82 12 0.0055 0.0221 0.0000 73.300 11.640 83 17 29 6 +49 0 0.0102 0.0219 0.0000 119.367 14.854 158 15 86 16 0.0056 0.0221 0.0000 74.221 11.704 83 17 29 6 +50 0 0.0103 0.0219 0.0000 121.124 14.899 184 17 104 16 0.0057 0.0221 0.0000 75.141 11.766 83 17 29 6 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.sys b/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.sys new file mode 100644 index 0000000..4dbce66 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_1/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 1756. +creating initial population(s): + 5609 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 370112738 + freed: 369110138 + not freed: 1002600 + max allocated: 13412121 + malloc'ed blocks: 741018 + realloc'ed blocks: 12 + free'ed blocks: 740868 + +------- time ------- + overall: 7s wall + evaluation: 6s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 500 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 33719 + freed: 33719 + allocated: 13500 + blocks: 26 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.bst b/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.bst new file mode 100644 index 0000000..cfd3f18 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.bst @@ -0,0 +1,33 @@ +=== BEST-OF-RUN === + generation: 32 + nodes: 72 + depth: 13 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.6478 + standardized fitness: 0.6478 + adjusted fitness: 0.6069 +TREE: + (* (+ (* (cos (* (log (* (cos (/ (cos -0.10339) + (* x x))) + (cos (sin (cos (log (+ x + (cos 0.05207)))))))) + (sin (+ -0.41917 0.44344)))) x) + (cos (* (* (cos (* (- -0.94279 + (exp (* -0.94009 0.61677))) + (sin (log x)))) + (cos (sin (+ (+ -0.32750 + (cos (sin (cos -0.66045)))) + (+ (- x x) + (/ x 0.86064)))))) + (sin (+ -0.41917 0.44344))))) + (* x + (+ (* x x) + (cos (sin (+ -0.41917 0.44344)))))) +TREE-equ: +y = (((cos((log((cos((cos(-0.10339) / (x * x))) * cos(sin(cos(log((x + cos(0.05207)))))))) * sin((-0.41917 + 0.44344)))) * x) + cos(((cos(((-0.94279 - exp((-0.94009 * 0.61677))) * sin(log(x)))) * cos(sin(((-0.32750 + cos(sin(cos(-0.66045)))) + ((x - x) + (x / 0.86064)))))) * sin((-0.41917 + 0.44344))))) * (x * ((x * x) + cos(sin((-0.41917 + 0.44344)))))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.fn b/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.fn new file mode 100644 index 0000000..88bb13d --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.fn @@ -0,0 +1,2 @@ + +y = (((cos((log((cos((cos(-0.10339) / (x * x))) * cos(sin(cos(log((x + cos(0.05207)))))))) * sin((-0.41917 + 0.44344)))) * x) + cos(((cos(((-0.94279 - exp((-0.94009 * 0.61677))) * sin(log(x)))) * cos(sin(((-0.32750 + cos(sin(cos(-0.66045)))) + ((x - x) + (x / 0.86064)))))) * sin((-0.41917 + 0.44344))))) * (x * ((x * x) + cos(sin((-0.41917 + 0.44344)))))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.gen b/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.his b/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.his new file mode 100644 index 0000000..988320c --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.his @@ -0,0 +1,841 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 23 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11661.2316 + standardized fitness: 11661.2316 + adjusted fitness: 0.0001 +TREE: + (* (/ (log (/ (+ 0.93893 x) + (/ -0.21008 x))) + (exp (sin (+ -0.81319 0.54634)))) + (exp (+ (log (sin x)) + (exp (log x))))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 23 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11661.2316 + standardized fitness: 11661.2316 + adjusted fitness: 0.0001 +TREE: + (* (/ (log (/ (+ 0.93893 x) + (/ -0.21008 x))) + (exp (sin (+ -0.81319 0.54634)))) + (exp (+ (log (sin x)) + (exp (log x))))) +=== BEST-OF-RUN === + current generation: 2 + generation: 0 + nodes: 23 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11661.2316 + standardized fitness: 11661.2316 + adjusted fitness: 0.0001 +TREE: + (* (/ (log (/ (+ 0.93893 x) + (/ -0.21008 x))) + (exp (sin (+ -0.81319 0.54634)))) + (exp (+ (log (sin x)) + (exp (log x))))) +=== BEST-OF-RUN === + current generation: 3 + generation: 0 + nodes: 23 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11661.2316 + standardized fitness: 11661.2316 + adjusted fitness: 0.0001 +TREE: + (* (/ (log (/ (+ 0.93893 x) + (/ -0.21008 x))) + (exp (sin (+ -0.81319 0.54634)))) + (exp (+ (log (sin x)) + (exp (log x))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 0 + nodes: 23 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11661.2316 + standardized fitness: 11661.2316 + adjusted fitness: 0.0001 +TREE: + (* (/ (log (/ (+ 0.93893 x) + (/ -0.21008 x))) + (exp (sin (+ -0.81319 0.54634)))) + (exp (+ (log (sin x)) + (exp (log x))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 26 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6913.0731 + standardized fitness: 6913.0731 + adjusted fitness: 0.0001 +TREE: + (* (+ x -0.05480) + (* (+ (* (cos 0.05207) x) + (* (cos x) + (log 0.79753))) + (+ (+ (* x x) + (sin -0.85950)) + (cos (+ 0.85284 x))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 28 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6899.3783 + standardized fitness: 6899.3783 + adjusted fitness: 0.0001 +TREE: + (* (+ x -0.05480) + (* (+ (* (cos 0.05207) x) + (* (cos x) + (log 0.79753))) + (+ (+ (* x x) + (sin (exp (exp 0.48387)))) + (cos (+ 0.85284 x))))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 31 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6860.9686 + standardized fitness: 6860.9686 + adjusted fitness: 0.0001 +TREE: + (* (+ x -0.05480) + (* (+ (* (cos 0.05207) x) + (* (cos x) + (log (cos (cos (cos x)))))) + (+ (+ (* x x) + (sin (exp (exp 0.48387)))) + (cos (+ 0.85284 x))))) +=== BEST-OF-RUN === + current generation: 8 + generation: 7 + nodes: 31 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6860.9686 + standardized fitness: 6860.9686 + adjusted fitness: 0.0001 +TREE: + (* (+ x -0.05480) + (* (+ (* (cos 0.05207) x) + (* (cos x) + (log (cos (cos (cos x)))))) + (+ (+ (* x x) + (sin (exp (exp 0.48387)))) + (cos (+ 0.85284 x))))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 29 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3916.3164 + standardized fitness: 3916.3164 + adjusted fitness: 0.0003 +TREE: + (* (+ x -0.05480) + (* (+ (* (cos 0.05207) x) + (* (cos x) + (* (* x 0.67834) + (- -0.95395 -0.37023)))) + (+ (+ (* x x) + (+ -0.90304 x)) 0.76472))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 28 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 704.7446 + standardized fitness: 704.7446 + adjusted fitness: 0.0014 +TREE: + (* (+ x -0.05480) + (* (+ (* (cos 0.05207) x) + (* -0.15975 + (* (* x 0.67834) + (- -0.95395 -0.37023)))) + (+ (+ (* x x) + (+ -0.90304 x)) 0.76472))) +=== BEST-OF-RUN === + current generation: 11 + generation: 10 + nodes: 28 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 704.7446 + standardized fitness: 704.7446 + adjusted fitness: 0.0014 +TREE: + (* (+ x -0.05480) + (* (+ (* (cos 0.05207) x) + (* -0.15975 + (* (* x 0.67834) + (- -0.95395 -0.37023)))) + (+ (+ (* x x) + (+ -0.90304 x)) 0.76472))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 47 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 563.5708 + standardized fitness: 563.5708 + adjusted fitness: 0.0018 +TREE: + (- (log 0.57168) + (- (+ (- (log (log 0.86501)) + (* (+ x -0.05480) + (* (+ (* (cos 0.05207) x) + (* -0.15975 + (* (* x 0.67834) + (- -0.95395 -0.37023)))) + (+ (+ (* x x) + (+ -0.90304 x)) 0.76472)))) + (* (* (/ x x) + (- -0.58537 x)) 0.05829)) x)) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 38 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 381.0239 + standardized fitness: 381.0239 + adjusted fitness: 0.0026 +TREE: + (* (+ x -0.05480) + (* (+ (* (cos 0.05207) x) + (cos (log -0.81501))) + (+ (+ (* x x) + (sin (sin (sin (* (cos (log (+ x + (log 0.67167)))) + (log x)))))) + (cos (cos (/ (+ x 0.82549) + (exp 0.16894))))))) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 34 + depth: 9 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 335.9753 + standardized fitness: 335.9753 + adjusted fitness: 0.0030 +TREE: + (* (+ x -0.05480) + (* (+ (* (cos 0.05207) x) + (exp (/ (log 0.77846) + (* x x)))) + (+ (+ (* x x) + (sin (sin (/ (/ x + (- 0.59029 x)) 0.27315)))) + (cos (sin x))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 27 + depth: 9 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 276.3679 + standardized fitness: 276.3679 + adjusted fitness: 0.0036 +TREE: + (* x + (* (+ (* (cos 0.05207) x) + (cos (log -0.81501))) + (+ (* x x) + (cos (cos (/ (+ x 0.82549) + (+ (* (cos 0.05207) x) -0.05923))))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 21 + depth: 7 + hits: 10 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 10 + raw fitness: 210.4968 + standardized fitness: 210.4968 + adjusted fitness: 0.0047 +TREE: + (* (+ (* (cos 0.05207) x) + (cos (log -0.81501))) + (* x + (+ (* x x) + (cos (+ 0.85284 + (sin (log 0.64822))))))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 39 + depth: 11 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 76.0912 + standardized fitness: 76.0912 + adjusted fitness: 0.0130 +TREE: + (* (+ x -0.05480) + (* (+ x + (cos (log -0.81501))) + (+ (+ (* x x) + (sin (sin (sin (* (* -0.15975 + (* (* x 0.67834) + (- -0.95395 -0.37023))) + (log x)))))) + (cos (* -0.15975 + (* (* x 0.67834) + (cos -0.92681))))))) +=== BEST-OF-RUN === + current generation: 18 + generation: 17 + nodes: 39 + depth: 11 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 76.0912 + standardized fitness: 76.0912 + adjusted fitness: 0.0130 +TREE: + (* (+ x -0.05480) + (* (+ x + (cos (log -0.81501))) + (+ (+ (* x x) + (sin (sin (sin (* (* -0.15975 + (* (* x 0.67834) + (- -0.95395 -0.37023))) + (log x)))))) + (cos (* -0.15975 + (* (* x 0.67834) + (cos -0.92681))))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 17 + nodes: 39 + depth: 11 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 76.0912 + standardized fitness: 76.0912 + adjusted fitness: 0.0130 +TREE: + (* (+ x -0.05480) + (* (+ x + (cos (log -0.81501))) + (+ (+ (* x x) + (sin (sin (sin (* (* -0.15975 + (* (* x 0.67834) + (- -0.95395 -0.37023))) + (log x)))))) + (cos (* -0.15975 + (* (* x 0.67834) + (cos -0.92681))))))) +=== BEST-OF-RUN === + current generation: 20 + generation: 17 + nodes: 39 + depth: 11 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 76.0912 + standardized fitness: 76.0912 + adjusted fitness: 0.0130 +TREE: + (* (+ x -0.05480) + (* (+ x + (cos (log -0.81501))) + (+ (+ (* x x) + (sin (sin (sin (* (* -0.15975 + (* (* x 0.67834) + (- -0.95395 -0.37023))) + (log x)))))) + (cos (* -0.15975 + (* (* x 0.67834) + (cos -0.92681))))))) +=== BEST-OF-RUN === + current generation: 21 + generation: 17 + nodes: 39 + depth: 11 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 76.0912 + standardized fitness: 76.0912 + adjusted fitness: 0.0130 +TREE: + (* (+ x -0.05480) + (* (+ x + (cos (log -0.81501))) + (+ (+ (* x x) + (sin (sin (sin (* (* -0.15975 + (* (* x 0.67834) + (- -0.95395 -0.37023))) + (log x)))))) + (cos (* -0.15975 + (* (* x 0.67834) + (cos -0.92681))))))) +=== BEST-OF-RUN === + current generation: 22 + generation: 22 + nodes: 43 + depth: 14 + hits: 118 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 118 + raw fitness: 13.1587 + standardized fitness: 13.1587 + adjusted fitness: 0.0706 +TREE: + (* (+ (* (cos (* (log (* (cos (/ (sin (cos (+ (/ (/ 0.32165 x) + (+ -0.66302 -0.58606)) + (cos -0.66045)))) + (* x x))) + (cos (sin (log x))))) + (sin (+ -0.41917 0.44344)))) x) + (cos 0.05207)) + (* x + (+ (* x x) + (cos -0.10339)))) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 43 + depth: 14 + hits: 72 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 72 + raw fitness: 11.2988 + standardized fitness: 11.2988 + adjusted fitness: 0.0813 +TREE: + (* (+ (* (cos (* (log (* (cos (/ (sin (cos (+ (/ (/ 0.32165 x) + (+ -0.66302 -0.58606)) + (cos -0.66045)))) + (* x x))) + (cos (sin (log x))))) + (sin (+ -0.41917 0.44344)))) x) + (cos 0.05207)) + (* x + (+ (* x x) + (cos 0.05207)))) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 89 + depth: 14 + hits: 71 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 71 + raw fitness: 10.6604 + standardized fitness: 10.6604 + adjusted fitness: 0.0858 +TREE: + (* (+ (* (cos (* (log (* (cos (/ (sin (* (cos 0.05207) x)) + (* x x))) + (cos (sin (log x))))) + (sin (+ -0.41917 0.44344)))) x) + (cos 0.05207)) + (* x + (+ (* x x) + (cos (* (* (- (/ (log 0.77846) + (cos (* (+ x -0.05480) + (* x + (+ (/ (log 0.77846) + (* x x)) x))))) + (exp (sin (* (cos (log (+ x + (log 0.67167)))) + (/ -0.18539 x))))) + (+ (+ (- (+ -0.47954 + (sin (cos (cos x)))) + (+ (sin -0.93135) + (log x))) -0.85520) + (log x))) + (sin (+ -0.41917 0.44344))))))) +=== BEST-OF-RUN === + current generation: 25 + generation: 25 + nodes: 52 + depth: 14 + hits: 63 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 63 + raw fitness: 9.9142 + standardized fitness: 9.9142 + adjusted fitness: 0.0916 +TREE: + (* (+ (* (cos (* (log (* (cos (/ (sin (cos (+ (/ (/ 0.32165 x) + (+ -0.66302 -0.58606)) + (cos -0.66045)))) + (* (/ x 0.86064) x))) + (cos (sin (+ (+ -0.32750 -0.85520) + (log x)))))) + (sin (+ -0.41917 0.44344)))) x) + (cos (sin (+ -0.41917 0.44344)))) + (* x + (+ (* x x) + (cos -0.10339)))) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 46 + depth: 14 + hits: 95 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 95 + raw fitness: 5.8565 + standardized fitness: 5.8565 + adjusted fitness: 0.1458 +TREE: + (* (+ (* (cos (* (log (* (cos (/ (sin (cos (+ (/ (/ 0.32165 x) + (+ -0.66302 -0.58606)) + (cos -0.66045)))) + (* x x))) + (cos (sin (log x))))) + (sin (+ -0.41917 0.44344)))) x) + (cos (sin (+ -0.41917 0.44344)))) + (* x + (+ (* x x) + (cos 0.05207)))) +=== BEST-OF-RUN === + current generation: 27 + generation: 26 + nodes: 46 + depth: 14 + hits: 95 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 95 + raw fitness: 5.8565 + standardized fitness: 5.8565 + adjusted fitness: 0.1458 +TREE: + (* (+ (* (cos (* (log (* (cos (/ (sin (cos (+ (/ (/ 0.32165 x) + (+ -0.66302 -0.58606)) + (cos -0.66045)))) + (* x x))) + (cos (sin (log x))))) + (sin (+ -0.41917 0.44344)))) x) + (cos (sin (+ -0.41917 0.44344)))) + (* x + (+ (* x x) + (cos 0.05207)))) +=== BEST-OF-RUN === + current generation: 28 + generation: 28 + nodes: 79 + depth: 16 + hits: 93 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 93 + raw fitness: 2.6788 + standardized fitness: 2.6788 + adjusted fitness: 0.2718 +TREE: + (* (+ (* (cos (* (log (* (cos (/ (cos -0.10339) + (* x x))) + (cos (sin (cos (log (+ x + (cos 0.05207)))))))) + (sin (+ -0.41917 0.44344)))) x) + (cos (* (log (* (cos (/ (sin (cos (+ (* x x) + (/ (+ -0.41917 0.44344) + (/ x 0.86064))))) + (* (log (* (cos (/ (sin (* (cos 0.05207) x)) + (* x x))) + (cos (sin (log x))))) x))) + (cos (log -0.80382)))) + (sin (+ -0.41917 0.44344))))) + (* x + (+ (* x x) + (cos 0.05207)))) +=== BEST-OF-RUN === + current generation: 29 + generation: 29 + nodes: 80 + depth: 16 + hits: 95 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 95 + raw fitness: 2.6289 + standardized fitness: 2.6289 + adjusted fitness: 0.2756 +TREE: + (* (+ (* (cos (* (log (* (cos (/ (cos -0.10339) + (* x x))) + (cos (sin (cos (log (+ x + (cos 0.05207)))))))) + (sin (+ -0.41917 0.44344)))) x) + (cos (* (log (* (cos (/ (sin (cos (+ (* x x) + (/ (+ -0.41917 0.44344) + (/ x 0.86064))))) + (* (log (* (cos (/ (sin (* (cos 0.05207) x)) + (cos (sin (log x))))) + (cos (sin (log x))))) x))) + (cos (log -0.80382)))) + (sin (+ -0.41917 0.44344))))) + (* x + (+ (* x x) + (cos 0.05207)))) +=== BEST-OF-RUN === + current generation: 30 + generation: 30 + nodes: 43 + depth: 10 + hits: 139 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 139 + raw fitness: 2.5059 + standardized fitness: 2.5059 + adjusted fitness: 0.2852 +TREE: + (* (+ (* (cos (* (log (log x)) + (sin (+ -0.41917 0.44344)))) x) + (cos (sin (+ -0.41917 0.44344)))) + (* x + (+ (* x x) + (cos (* (log (* (cos (cos 0.05207)) + (cos (/ (/ 0.32165 x) + (+ -0.66302 -0.58606))))) + (sin (+ -0.41917 0.44344))))))) +=== BEST-OF-RUN === + current generation: 31 + generation: 31 + nodes: 70 + depth: 13 + hits: 174 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 174 + raw fitness: 0.8331 + standardized fitness: 0.8331 + adjusted fitness: 0.5455 +TREE: + (* (+ (* (cos (* (log (* (cos (/ (cos -0.10339) + (* x x))) + (cos (sin (cos (log (+ x + (cos 0.05207)))))))) + (sin (+ -0.41917 0.44344)))) x) + (cos (* (* (cos (* (- -0.94279 + (exp (* -0.94009 0.61677))) x)) + (cos (sin (+ (+ -0.32750 + (cos (sin (cos -0.66045)))) + (+ (- x x) + (/ x 0.86064)))))) + (sin (+ -0.41917 0.44344))))) + (* x + (+ (* x x) + (cos (sin (+ -0.41917 0.44344)))))) +=== BEST-OF-RUN === + current generation: 32 + generation: 32 + nodes: 72 + depth: 13 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.6478 + standardized fitness: 0.6478 + adjusted fitness: 0.6069 +TREE: + (* (+ (* (cos (* (log (* (cos (/ (cos -0.10339) + (* x x))) + (cos (sin (cos (log (+ x + (cos 0.05207)))))))) + (sin (+ -0.41917 0.44344)))) x) + (cos (* (* (cos (* (- -0.94279 + (exp (* -0.94009 0.61677))) + (sin (log x)))) + (cos (sin (+ (+ -0.32750 + (cos (sin (cos -0.66045)))) + (+ (- x x) + (/ x 0.86064)))))) + (sin (+ -0.41917 0.44344))))) + (* x + (+ (* x x) + (cos (sin (+ -0.41917 0.44344)))))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.prg b/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.prg new file mode 100644 index 0000000..d85fa64 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 0.15081, y = 0.17749 + x = 0.81918, y = 2.49024 + x = -2.46735, y = 25.66143 + x = -4.51157, y = 338.30749 + x = -1.76679, y = 5.58362 + x = -1.97897, y = 9.52467 + x = -3.17034, y = 76.03948 + x = 4.62619, y = 583.06578 + x = -3.77814, y = 160.32258 + x = 2.31570, y = 48.85215 + x = -4.55088, y = 350.83505 + x = -1.46856, y = 2.17217 + x = -4.12390, y = 231.97117 + x = 4.55073, y = 548.37022 + x = -1.57052, y = 3.10602 + x = 3.15232, y = 143.16130 + x = 2.28891, y = 46.96785 + x = -1.40253, y = 1.67512 + x = 4.55704, y = 551.21198 + x = -1.58879, y = 3.29682 + x = -3.72468, y = 150.94131 + x = -3.86513, y = 176.51301 + x = -2.83733, y = 47.18125 + x = 2.81426, y = 95.75041 + x = 3.52567, y = 214.29468 + x = -0.74089, y = -0.29735 + x = -2.82591, y = 46.36528 + x = -3.72882, y = 151.65404 + x = -1.00712, y = 0.01444 + x = 2.96773, y = 115.48428 + x = -4.85750, y = 460.86129 + x = 1.61741, y = 15.30813 + x = 0.73245, y = 1.94972 + x = 2.19403, y = 40.74146 + x = -4.89841, y = 477.29290 + x = 4.14202, y = 386.70089 + x = 1.94016, y = 27.17675 + x = -4.79413, y = 436.25131 + x = -4.35763, y = 292.46520 + x = 1.15576, y = 5.81964 + x = -4.28034, y = 271.28862 + x = 4.91490, y = 731.31957 + x = -4.60289, y = 367.93566 + x = -3.65475, y = 139.30012 + x = -1.19634, y = 0.57106 + x = 3.64564, y = 242.03091 + x = -2.89800, y = 51.69510 + x = 2.06049, y = 33.07929 + x = 4.94414, y = 747.78037 + x = -0.57695, y = -0.32533 + x = -1.82474, y = 6.51595 + x = 1.11822, y = 5.33040 + x = -3.64023, y = 136.96915 + x = -0.87955, y = -0.18790 + x = 1.20622, y = 6.53311 + x = 3.53340, y = 216.00452 + x = -4.91328, y = 483.37313 + x = 0.33862, y = 0.50526 + x = -4.61316, y = 371.38468 + x = -0.90881, y = -0.15133 + x = 1.08087, y = 4.87682 + x = -3.37622, y = 99.47112 + x = 3.98382, y = 334.96505 + x = 0.06610, y = 0.07078 + x = 1.59604, y = 14.69789 + x = -4.46578, y = 324.14698 + x = -1.86568, y = 7.23672 + x = 4.53086, y = 539.49717 + x = 0.74707, y = 2.03361 + x = -0.21615, y = -0.17735 + x = 1.05032, y = 4.52921 + x = -4.77158, y = 427.73827 + x = -1.34667, y = 1.31351 + x = 0.13399, y = 0.15467 + x = -4.76405, y = 424.92155 + x = 0.15710, y = 0.18627 + x = 4.77510, y = 656.36598 + x = 3.04222, y = 126.10986 + x = -3.39196, y = 101.46192 + x = 4.99227, y = 775.48246 + x = -0.82761, y = -0.24039 + x = 1.83547, y = 22.73789 + x = -4.11567, y = 230.02900 + x = 4.90169, y = 723.97595 + x = -3.11314, y = 70.33497 + x = 3.51872, y = 212.76515 + x = 2.63359, y = 75.94040 + x = -4.33365, y = 285.76668 + x = -4.40201, y = 305.16984 + x = 4.56737, y = 555.88520 + x = 1.00770, y = 4.07759 + x = 2.40930, y = 55.89428 + x = -0.54119, y = -0.32103 + x = 0.85852, y = 2.77160 + x = -4.89457, y = 475.73213 + x = -4.50875, y = 337.42492 + x = 1.26157, y = 7.39407 + x = 0.26312, y = 0.35536 + x = -3.89070, y = 181.49730 + x = 3.64656, y = 242.25408 + x = 3.87054, y = 301.26953 + x = -0.94022, y = -0.10590 + x = 0.45245, y = 0.79169 + x = 4.95187, y = 752.17574 + x = -4.74934, y = 419.46211 + x = 1.33979, y = 8.76187 + x = 0.23389, y = 0.30438 + x = -3.54192, y = 121.95102 + x = -2.76641, y = 42.28406 + x = 2.68750, y = 81.48791 + x = -4.10019, y = 226.40973 + x = 4.42037, y = 492.13218 + x = -0.25937, y = -0.20502 + x = -4.18053, y = 245.67376 + x = 3.08349, y = 132.30977 + x = 3.67157, y = 248.36871 + x = 2.16498, y = 38.96883 + x = -1.87470, y = 7.40280 + x = -0.03933, y = -0.03784 + x = 1.10479, y = 5.16358 + x = -0.72735, y = -0.30323 + x = 2.87120, y = 102.74500 + x = 3.42156, y = 192.24044 + x = 2.10051, y = 35.24735 + x = 0.91331, y = 3.20503 + x = -3.00946, y = 60.81751 + x = -0.22403, y = -0.18257 + x = -1.29854, y = 1.04135 + x = -0.11667, y = -0.10446 + x = -1.10383, y = 0.25426 + x = 4.92322, y = 735.97549 + x = 3.31701, y = 171.87212 + x = 0.80863, y = 2.41881 + x = -1.07946, y = 0.18573 + x = 4.09247, y = 369.88732 + x = -0.24798, y = -0.19795 + x = -2.90516, y = 52.24805 + x = -4.93514, y = 492.41605 + x = -3.18180, y = 77.22245 + x = -1.78471, y = 5.86131 + x = -3.64626, y = 137.93381 + x = -0.49172, y = -0.31036 + x = 0.70568, y = 1.80306 + x = -0.50680, y = -0.31415 + x = 0.29473, y = 0.41474 + x = 3.13650, y = 140.60823 + x = 3.98774, y = 336.17959 + x = 2.35830, y = 51.96669 + x = 4.94521, y = 748.38907 + x = 3.11489, y = 137.17905 + x = 0.71528, y = 1.85460 + x = -2.43989, y = 24.42732 + x = -4.62021, y = 373.76645 + x = 2.21313, y = 41.94059 + x = 3.72334, y = 261.39398 + x = -4.44647, y = 318.31016 + x = 3.25115, y = 159.91081 + x = -3.46809, y = 111.51064 + x = -4.14060, y = 235.95139 + x = 0.49864, y = 0.93310 + x = -0.75506, y = -0.29039 + x = 0.16902, y = 0.20324 + x = 4.63988, y = 589.53464 + x = 4.01830, y = 345.76482 + x = 1.33376, y = 8.64988 + x = 1.39152, y = 9.77175 + x = -1.28531, y = 0.97251 + x = -4.75257, y = 420.65782 + x = 0.52474, y = 1.02041 + x = 4.94700, y = 749.40347 + x = 4.68383, y = 610.66459 + x = 4.80668, y = 672.76853 + x = -1.81991, y = 6.43428 + x = 1.84578, y = 23.14815 + x = -4.61049, y = 370.48517 + x = -3.28746, y = 88.79115 + x = 2.49141, y = 62.69132 + x = -3.79157, y = 162.74609 + x = 3.37717, y = 183.38036 + x = 0.35978, y = 0.55255 + x = -1.26061, y = 0.85061 + x = -1.75594, y = 5.42018 + x = -2.15794, y = 14.13475 + x = 4.38468, y = 477.52535 + x = 4.65123, y = 594.93460 + x = -0.24580, y = -0.19658 + x = 3.67713, y = 249.74358 + x = 1.79033, y = 21.00784 + x = 2.58678, y = 71.36233 + x = -2.29906, y = 18.77287 + x = -3.96267, y = 196.09277 + x = -3.15259, y = 74.23311 + x = -0.45988, y = -0.30092 + x = -3.12880, y = 71.86350 + x = -1.46854, y = 2.17198 + x = -3.45294, y = 109.45433 + x = -3.67181, y = 142.07559 + x = 3.85990, y = 298.24066 + x = -0.89631, y = -0.16760 + x = -1.41781, y = 1.78316 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.stt b/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.stt new file mode 100644 index 0000000..3356430 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.stt @@ -0,0 +1,34 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 12.793 3.641 23 5 19 5 0.0000 0.0001 0.0000 12.793 3.641 23 5 19 5 +1 0 0.0000 0.0001 0.0000 11.983 3.851 40 9 8 4 0.0000 0.0001 0.0000 12.388 3.746 23 5 19 5 +2 0 0.0000 0.0001 0.0000 12.018 4.016 6 3 37 7 0.0000 0.0001 0.0000 12.264 3.836 23 5 19 5 +3 0 0.0000 0.0001 0.0000 12.220 4.137 10 4 16 8 0.0000 0.0001 0.0000 12.253 3.911 23 5 19 5 +4 0 0.0000 0.0001 0.0000 12.343 4.293 8 4 13 6 0.0000 0.0001 0.0000 12.271 3.987 23 5 19 5 +5 0 0.0000 0.0001 0.0000 12.588 4.362 26 5 27 12 0.0000 0.0001 0.0000 12.324 4.050 26 5 27 12 +6 0 0.0000 0.0001 0.0000 12.560 4.372 28 7 11 5 0.0000 0.0001 0.0000 12.358 4.096 28 7 27 12 +7 0 0.0000 0.0001 0.0000 13.039 4.533 31 8 32 9 0.0000 0.0001 0.0000 12.443 4.151 31 8 32 9 +8 0 0.0000 0.0001 0.0000 13.432 4.634 30 8 18 9 0.0000 0.0001 0.0000 12.553 4.204 31 8 32 9 +9 0 0.0000 0.0003 0.0000 14.314 4.842 29 6 31 7 0.0000 0.0003 0.0000 12.729 4.268 29 6 32 9 +10 0 0.0000 0.0014 0.0000 15.457 5.099 28 6 35 10 0.0000 0.0014 0.0000 12.977 4.344 28 6 32 9 +11 0 0.0000 0.0014 0.0000 16.449 5.337 28 6 12 4 0.0000 0.0014 0.0000 13.266 4.426 28 6 12 4 +12 0 0.0001 0.0018 0.0000 19.264 5.825 47 10 37 12 0.0000 0.0018 0.0000 13.728 4.534 47 10 12 4 +13 0 0.0001 0.0026 0.0000 25.590 7.085 38 12 34 9 0.0000 0.0026 0.0000 14.575 4.716 38 12 12 4 +14 0 0.0003 0.0030 0.0000 31.295 8.256 34 9 25 10 0.0001 0.0030 0.0000 15.690 4.952 34 9 12 4 +15 0 0.0004 0.0036 0.0000 34.247 8.992 27 9 47 12 0.0001 0.0036 0.0000 16.849 5.205 27 9 12 4 +16 0 0.0004 0.0047 0.0000 36.686 9.539 21 7 56 15 0.0001 0.0047 0.0000 18.016 5.460 21 7 12 4 +17 0 0.0005 0.0130 0.0000 38.524 9.948 39 11 78 13 0.0001 0.0130 0.0000 19.156 5.709 39 11 12 4 +18 0 0.0006 0.0076 0.0000 40.630 10.427 37 11 53 10 0.0002 0.0130 0.0000 20.286 5.957 39 11 12 4 +19 0 0.0008 0.0088 0.0000 42.946 10.840 16 6 86 11 0.0002 0.0130 0.0000 21.419 6.201 39 11 12 4 +20 0 0.0009 0.0062 0.0000 44.912 11.234 43 12 29 13 0.0002 0.0130 0.0000 22.538 6.441 39 11 12 4 +21 0 0.0010 0.0096 0.0000 47.194 11.713 28 7 34 12 0.0003 0.0130 0.0000 23.658 6.681 39 11 12 4 +22 0 0.0012 0.0706 0.0000 48.636 11.894 43 14 34 12 0.0003 0.0706 0.0000 24.744 6.907 43 14 12 4 +23 0 0.0019 0.0813 0.0000 50.006 12.103 43 14 76 17 0.0004 0.0813 0.0000 25.797 7.124 43 14 12 4 +24 0 0.0100 0.0858 0.0000 48.007 12.082 89 14 93 17 0.0007 0.0858 0.0000 26.685 7.322 89 14 12 4 +25 0 0.0290 0.0916 0.0000 42.405 11.988 52 14 55 17 0.0018 0.0916 0.0000 27.290 7.502 52 14 12 4 +26 0 0.0328 0.1458 0.0000 41.245 11.823 46 14 42 9 0.0030 0.1458 0.0000 27.807 7.662 46 14 12 4 +27 0 0.0335 0.1457 0.0000 42.019 11.844 49 16 48 11 0.0041 0.1458 0.0000 28.314 7.811 46 14 12 4 +28 0 0.0341 0.2718 0.0000 43.211 12.037 79 16 65 16 0.0051 0.2718 0.0000 28.828 7.957 79 16 12 4 +29 0 0.0369 0.2756 0.0000 45.152 12.318 80 16 27 7 0.0062 0.2756 0.0000 29.372 8.102 80 16 12 4 +30 0 0.0396 0.2852 0.0000 47.063 12.572 43 10 81 17 0.0072 0.2852 0.0000 29.943 8.246 43 10 12 4 +31 0 0.0475 0.5455 0.0000 49.578 12.816 70 13 67 17 0.0085 0.5455 0.0000 30.556 8.389 70 13 12 4 +32 0 0.0643 0.6069 0.0000 53.262 13.181 72 13 22 7 0.0102 0.6069 0.0000 31.244 8.534 72 13 12 4 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.sys b/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.sys new file mode 100644 index 0000000..8ab1a9b --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_2/regress.sys @@ -0,0 +1,149 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 426. +creating initial population(s): + 5652 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 112071379 + freed: 111429715 + not freed: 641664 + max allocated: 6745448 + malloc'ed blocks: 483040 + realloc'ed blocks: 10 + free'ed blocks: 482944 + +------- time ------- + overall: 3s wall + evaluation: 3s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 300 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 25920 + freed: 25920 + allocated: 13500 + blocks: 26 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.bst b/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.bst new file mode 100644 index 0000000..0bb1dbe --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.bst @@ -0,0 +1,23 @@ +=== BEST-OF-RUN === + generation: 48 + nodes: 18 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 314.9653 + standardized fitness: 314.9653 + adjusted fitness: 0.0032 +TREE: + (* (- -0.63993 + (* x x)) + (- (- (- -0.22366 + (+ x + (cos -0.45183))) -0.63993) + (* x x))) +TREE-equ: +y = ((-0.63993 - (x * x)) * (((-0.22366 - (x + cos(-0.45183))) - -0.63993) - (x * x))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.fn b/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.fn new file mode 100644 index 0000000..668842a --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.fn @@ -0,0 +1,2 @@ + +y = ((-0.63993 - (x * x)) * (((-0.22366 - (x + cos(-0.45183))) - -0.63993) - (x * x))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.gen b/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.his b/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.his new file mode 100644 index 0000000..3bcf1e2 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.his @@ -0,0 +1,1162 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 7 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7618.1902 + standardized fitness: 7618.1902 + adjusted fitness: 0.0001 +TREE: + (exp (/ (log x) + (- -0.25939 -0.51266))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 7 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7618.1902 + standardized fitness: 7618.1902 + adjusted fitness: 0.0001 +TREE: + (exp (/ (log x) + (- -0.25939 -0.51266))) +=== BEST-OF-RUN === + current generation: 2 + generation: 0 + nodes: 7 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7618.1902 + standardized fitness: 7618.1902 + adjusted fitness: 0.0001 +TREE: + (exp (/ (log x) + (- -0.25939 -0.51266))) +=== BEST-OF-RUN === + current generation: 3 + generation: 0 + nodes: 7 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7618.1902 + standardized fitness: 7618.1902 + adjusted fitness: 0.0001 +TREE: + (exp (/ (log x) + (- -0.25939 -0.51266))) +=== BEST-OF-RUN === + current generation: 4 + generation: 0 + nodes: 7 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7618.1902 + standardized fitness: 7618.1902 + adjusted fitness: 0.0001 +TREE: + (exp (/ (log x) + (- -0.25939 -0.51266))) +=== BEST-OF-RUN === + current generation: 5 + generation: 0 + nodes: 7 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7618.1902 + standardized fitness: 7618.1902 + adjusted fitness: 0.0001 +TREE: + (exp (/ (log x) + (- -0.25939 -0.51266))) +=== BEST-OF-RUN === + current generation: 6 + generation: 0 + nodes: 7 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7618.1902 + standardized fitness: 7618.1902 + adjusted fitness: 0.0001 +TREE: + (exp (/ (log x) + (- -0.25939 -0.51266))) +=== BEST-OF-RUN === + current generation: 7 + generation: 0 + nodes: 7 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7618.1902 + standardized fitness: 7618.1902 + adjusted fitness: 0.0001 +TREE: + (exp (/ (log x) + (- -0.25939 -0.51266))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 24 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5380.9051 + standardized fitness: 5380.9051 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin x)))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 10 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 11 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 12 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 13 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 14 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 15 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 16 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 17 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 18 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 19 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 20 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 21 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 22 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 23 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 24 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 25 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 26 + generation: 9 + nodes: 25 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5309.3566 + standardized fitness: 5309.3566 + adjusted fitness: 0.0002 +TREE: + (* (cos (sin (/ (sin (cos (exp (sin (log 0.25930))))) x))) + (+ (/ (exp (- 0.39509 x)) 0.38787) + (- (exp (/ x 0.73915)) + (cos x)))) +=== BEST-OF-RUN === + current generation: 27 + generation: 27 + nodes: 32 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4842.6757 + standardized fitness: 4842.6757 + adjusted fitness: 0.0002 +TREE: + (- (exp (/ x 0.73915)) + (/ (/ x + (- (exp (exp 0.00709)) + (- (cos (* -0.20876 x)) + (/ (+ (- x x) x) + (- (+ 0.15669 0.58284) + (+ x 0.27486)))))) + (exp x))) +=== BEST-OF-RUN === + current generation: 28 + generation: 27 + nodes: 32 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4842.6757 + standardized fitness: 4842.6757 + adjusted fitness: 0.0002 +TREE: + (- (exp (/ x 0.73915)) + (/ (/ x + (- (exp (exp 0.00709)) + (- (cos (* -0.20876 x)) + (/ (+ (- x x) x) + (- (+ 0.15669 0.58284) + (+ x 0.27486)))))) + (exp x))) +=== BEST-OF-RUN === + current generation: 29 + generation: 27 + nodes: 32 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4842.6757 + standardized fitness: 4842.6757 + adjusted fitness: 0.0002 +TREE: + (- (exp (/ x 0.73915)) + (/ (/ x + (- (exp (exp 0.00709)) + (- (cos (* -0.20876 x)) + (/ (+ (- x x) x) + (- (+ 0.15669 0.58284) + (+ x 0.27486)))))) + (exp x))) +=== BEST-OF-RUN === + current generation: 30 + generation: 27 + nodes: 32 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4842.6757 + standardized fitness: 4842.6757 + adjusted fitness: 0.0002 +TREE: + (- (exp (/ x 0.73915)) + (/ (/ x + (- (exp (exp 0.00709)) + (- (cos (* -0.20876 x)) + (/ (+ (- x x) x) + (- (+ 0.15669 0.58284) + (+ x 0.27486)))))) + (exp x))) +=== BEST-OF-RUN === + current generation: 31 + generation: 27 + nodes: 32 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4842.6757 + standardized fitness: 4842.6757 + adjusted fitness: 0.0002 +TREE: + (- (exp (/ x 0.73915)) + (/ (/ x + (- (exp (exp 0.00709)) + (- (cos (* -0.20876 x)) + (/ (+ (- x x) x) + (- (+ 0.15669 0.58284) + (+ x 0.27486)))))) + (exp x))) +=== BEST-OF-RUN === + current generation: 32 + generation: 27 + nodes: 32 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4842.6757 + standardized fitness: 4842.6757 + adjusted fitness: 0.0002 +TREE: + (- (exp (/ x 0.73915)) + (/ (/ x + (- (exp (exp 0.00709)) + (- (cos (* -0.20876 x)) + (/ (+ (- x x) x) + (- (+ 0.15669 0.58284) + (+ x 0.27486)))))) + (exp x))) +=== BEST-OF-RUN === + current generation: 33 + generation: 27 + nodes: 32 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4842.6757 + standardized fitness: 4842.6757 + adjusted fitness: 0.0002 +TREE: + (- (exp (/ x 0.73915)) + (/ (/ x + (- (exp (exp 0.00709)) + (- (cos (* -0.20876 x)) + (/ (+ (- x x) x) + (- (+ 0.15669 0.58284) + (+ x 0.27486)))))) + (exp x))) +=== BEST-OF-RUN === + current generation: 34 + generation: 27 + nodes: 32 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4842.6757 + standardized fitness: 4842.6757 + adjusted fitness: 0.0002 +TREE: + (- (exp (/ x 0.73915)) + (/ (/ x + (- (exp (exp 0.00709)) + (- (cos (* -0.20876 x)) + (/ (+ (- x x) x) + (- (+ 0.15669 0.58284) + (+ x 0.27486)))))) + (exp x))) +=== BEST-OF-RUN === + current generation: 35 + generation: 35 + nodes: 37 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4632.0076 + standardized fitness: 4632.0076 + adjusted fitness: 0.0002 +TREE: + (- (- (- (- (exp (/ x 0.73915)) + (/ (exp (sin (sin (cos -0.80251)))) + (/ -0.40334 x))) -0.63993) + (+ (- (* (exp x) + (cos x)) + (+ (cos (+ x x)) + (log x))) x)) + (/ x + (exp x))) +=== BEST-OF-RUN === + current generation: 36 + generation: 36 + nodes: 47 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4005.4533 + standardized fitness: 4005.4533 + adjusted fitness: 0.0002 +TREE: + (+ (/ (+ (- (* (exp x) + (cos x)) + (+ (exp 0.22105) + (log x))) + (log (* (+ (+ (sin (cos (cos x))) + (cos -0.07247)) + (sin 0.41105)) + (- (cos 0.37995) 0.54969)))) -0.61454) + (+ (exp (/ x 0.73915)) + (- (- x 0.60421) + (/ (sin -0.92788) + (exp (/ x 0.73915)))))) +=== BEST-OF-RUN === + current generation: 37 + generation: 37 + nodes: 56 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3934.4102 + standardized fitness: 3934.4102 + adjusted fitness: 0.0003 +TREE: + (+ (- (* (* (cos x) + (exp (/ x 0.73915))) + (cos x)) + (/ (sin -0.92788) + (- (cos (exp (/ x 0.73915))) + (+ (exp (/ (- (- (- (/ (/ x 0.73915) -0.59623) + (* (cos 0.19802) 0.76970)) + (+ x x)) -0.63993) 0.73915)) x)))) + (+ (exp (/ x 0.73915)) + (- x + (/ (sin -0.92788) + (exp (/ x 0.73915)))))) +=== BEST-OF-RUN === + current generation: 38 + generation: 37 + nodes: 56 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3934.4102 + standardized fitness: 3934.4102 + adjusted fitness: 0.0003 +TREE: + (+ (- (* (* (cos x) + (exp (/ x 0.73915))) + (cos x)) + (/ (sin -0.92788) + (- (cos (exp (/ x 0.73915))) + (+ (exp (/ (- (- (- (/ (/ x 0.73915) -0.59623) + (* (cos 0.19802) 0.76970)) + (+ x x)) -0.63993) 0.73915)) x)))) + (+ (exp (/ x 0.73915)) + (- x + (/ (sin -0.92788) + (exp (/ x 0.73915)))))) +=== BEST-OF-RUN === + current generation: 39 + generation: 37 + nodes: 56 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3934.4102 + standardized fitness: 3934.4102 + adjusted fitness: 0.0003 +TREE: + (+ (- (* (* (cos x) + (exp (/ x 0.73915))) + (cos x)) + (/ (sin -0.92788) + (- (cos (exp (/ x 0.73915))) + (+ (exp (/ (- (- (- (/ (/ x 0.73915) -0.59623) + (* (cos 0.19802) 0.76970)) + (+ x x)) -0.63993) 0.73915)) x)))) + (+ (exp (/ x 0.73915)) + (- x + (/ (sin -0.92788) + (exp (/ x 0.73915)))))) +=== BEST-OF-RUN === + current generation: 40 + generation: 40 + nodes: 90 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2746.7800 + standardized fitness: 2746.7800 + adjusted fitness: 0.0004 +TREE: + (* (- -0.63993 + (* x x)) + (- (- (cos (+ (+ (sin 0.04274) + (cos -0.07247)) + (* (cos (/ (* -0.77179 + (* (* (/ (sin -0.92788) + (exp (/ x 0.73915))) + (exp (* (/ (+ (* x x) + (sin -0.56167)) + (cos (sin 0.52331))) + (cos (cos (sin 0.16411)))))) + (cos x))) + (* (cos (log (cos (exp (log x))))) + (- (- (exp (sin (exp (/ x 0.73915)))) + (cos x)) + (log (- -0.22366 + (+ x + (cos -0.45183)))))))) + (/ x + (cos (- (exp (/ x 0.73915)) + (- (exp -0.81198) + (cos x)))))))) + (/ x 0.73915)) + (* x x))) +=== BEST-OF-RUN === + current generation: 41 + generation: 40 + nodes: 90 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2746.7800 + standardized fitness: 2746.7800 + adjusted fitness: 0.0004 +TREE: + (* (- -0.63993 + (* x x)) + (- (- (cos (+ (+ (sin 0.04274) + (cos -0.07247)) + (* (cos (/ (* -0.77179 + (* (* (/ (sin -0.92788) + (exp (/ x 0.73915))) + (exp (* (/ (+ (* x x) + (sin -0.56167)) + (cos (sin 0.52331))) + (cos (cos (sin 0.16411)))))) + (cos x))) + (* (cos (log (cos (exp (log x))))) + (- (- (exp (sin (exp (/ x 0.73915)))) + (cos x)) + (log (- -0.22366 + (+ x + (cos -0.45183)))))))) + (/ x + (cos (- (exp (/ x 0.73915)) + (- (exp -0.81198) + (cos x)))))))) + (/ x 0.73915)) + (* x x))) +=== BEST-OF-RUN === + current generation: 42 + generation: 42 + nodes: 86 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2687.2871 + standardized fitness: 2687.2871 + adjusted fitness: 0.0004 +TREE: + (* (- -0.63993 + (* x x)) + (- (- (cos (+ (+ (sin 0.04274) + (cos -0.07247)) + (* (cos (/ (* -0.77179 + (* (* (/ (sin -0.92788) + (exp x)) + (exp (* (/ (+ (* x x) + (sin -0.56167)) + (cos (sin 0.52331))) + (cos (cos (sin 0.16411)))))) + (cos x))) + (* (/ x + (exp x)) + (- (- (exp (sin (exp (/ x 0.73915)))) + (cos x)) + (log (- -0.22366 + (+ x + (cos -0.45183)))))))) + (/ x + (cos (- (exp (/ x 0.73915)) + (- (exp -0.81198) + (cos x)))))))) + (/ x 0.73915)) + (* x x))) +=== BEST-OF-RUN === + current generation: 43 + generation: 43 + nodes: 44 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2491.9469 + standardized fitness: 2491.9469 + adjusted fitness: 0.0004 +TREE: + (* (- -0.63993 + (* x x)) + (- (- (cos (+ (+ (sin 0.04274) + (cos -0.07247)) + (* (cos (/ (- x + (cos x)) + (/ x 0.73915))) + (/ x + (cos (- (exp (/ x 0.73915)) + (- (exp -0.81198) + (cos x)))))))) + (/ x 0.73915)) + (* x x))) +=== BEST-OF-RUN === + current generation: 44 + generation: 44 + nodes: 26 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2230.4364 + standardized fitness: 2230.4364 + adjusted fitness: 0.0004 +TREE: + (* (- -0.63993 + (* x x)) + (- (- (cos (+ (+ (/ x 0.73915) + (cos -0.07247)) + (cos (+ x x)))) + (/ x 0.73915)) + (* x x))) +=== BEST-OF-RUN === + current generation: 45 + generation: 45 + nodes: 22 + depth: 7 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 1875.3321 + standardized fitness: 1875.3321 + adjusted fitness: 0.0005 +TREE: + (* (- -0.63993 + (* x x)) + (- (- (cos (+ (+ (sin 0.04274) x) + (cos 0.73915))) + (/ x 0.73915)) + (* x x))) +=== BEST-OF-RUN === + current generation: 46 + generation: 46 + nodes: 35 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1252.6424 + standardized fitness: 1252.6424 + adjusted fitness: 0.0008 +TREE: + (* (- -0.63993 + (* x x)) + (- (- (cos (log (+ (exp (sin -0.92788)) + (- (- (sin (* x 0.90518)) x) + (/ (sin (log x)) + (sin 0.04274)))))) + (/ x 0.73915)) + (* (- x 0.30954) x))) +=== BEST-OF-RUN === + current generation: 47 + generation: 47 + nodes: 34 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1052.8706 + standardized fitness: 1052.8706 + adjusted fitness: 0.0009 +TREE: + (* (- -0.63993 + (* x x)) + (- (- (cos (log (+ (exp (sin -0.92788)) + (- (- (sin (* x 0.90518)) x) + (/ (sin 0.76088) + (sin 0.04274)))))) + (/ x 0.73915)) + (* (- x 0.30954) x))) +=== BEST-OF-RUN === + current generation: 48 + generation: 48 + nodes: 18 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 314.9653 + standardized fitness: 314.9653 + adjusted fitness: 0.0032 +TREE: + (* (- -0.63993 + (* x x)) + (- (- (- -0.22366 + (+ x + (cos -0.45183))) -0.63993) + (* x x))) +=== BEST-OF-RUN === + current generation: 49 + generation: 48 + nodes: 18 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 314.9653 + standardized fitness: 314.9653 + adjusted fitness: 0.0032 +TREE: + (* (- -0.63993 + (* x x)) + (- (- (- -0.22366 + (+ x + (cos -0.45183))) -0.63993) + (* x x))) +=== BEST-OF-RUN === + current generation: 50 + generation: 48 + nodes: 18 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 314.9653 + standardized fitness: 314.9653 + adjusted fitness: 0.0032 +TREE: + (* (- -0.63993 + (* x x)) + (- (- (- -0.22366 + (+ x + (cos -0.45183))) -0.63993) + (* x x))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.prg b/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.prg new file mode 100644 index 0000000..e0dd8ba --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 2.18020, y = 39.88997 + x = -4.11295, y = 229.39090 + x = 0.81415, y = 2.45602 + x = 4.96684, y = 760.74943 + x = 4.51681, y = 533.29125 + x = -2.82514, y = 46.31059 + x = 4.75624, y = 646.72209 + x = -3.24859, y = 84.39376 + x = -3.78119, y = 160.87025 + x = 0.24829, y = 0.32904 + x = 4.78417, y = 661.04633 + x = 3.62541, y = 237.17338 + x = -3.68828, y = 144.79403 + x = -3.72933, y = 151.74185 + x = -2.36280, y = 21.19685 + x = -2.07271, y = 11.77537 + x = -4.89085, y = 474.22460 + x = -0.82879, y = -0.23936 + x = 0.16769, y = 0.20132 + x = -3.82837, y = 169.52785 + x = 0.49851, y = 0.93267 + x = 4.85308, y = 697.41978 + x = 4.12339, y = 380.31141 + x = -2.59352, y = 31.93159 + x = -3.16512, y = 75.50506 + x = 1.57648, y = 14.15658 + x = -3.68924, y = 144.95470 + x = -1.95322, y = 8.96484 + x = 2.37050, y = 52.88675 + x = -3.00458, y = 60.39476 + x = 1.28568, y = 7.79613 + x = 1.86129, y = 23.77618 + x = -0.41401, y = -0.28419 + x = 3.20894, y = 152.58360 + x = 2.34802, y = 51.20167 + x = -2.53710, y = 29.00221 + x = 3.98445, y = 335.15852 + x = -3.39991, y = 102.47767 + x = -4.80352, y = 439.83564 + x = 0.64950, y = 1.52332 + x = 3.02074, y = 122.97229 + x = 0.41636, y = 0.69195 + x = 1.46924, y = 11.45941 + x = -0.20663, y = -0.17093 + x = -4.83535, y = 452.14278 + x = -3.43371, y = 106.88439 + x = 4.62257, y = 581.36684 + x = 2.98189, y = 117.44943 + x = 1.79988, y = 21.36523 + x = -4.09680, y = 225.62170 + x = -2.20374, y = 15.53551 + x = 2.17167, y = 39.37164 + x = 4.74632, y = 641.68600 + x = 1.90468, y = 25.60314 + x = -2.31974, y = 19.53562 + x = -4.68110, y = 394.82131 + x = 1.30106, y = 8.06159 + x = 2.60521, y = 73.13967 + x = -2.38118, y = 21.93665 + x = 2.05391, y = 32.73300 + x = -1.80959, y = 6.26237 + x = 3.15615, y = 143.78422 + x = -3.44507, y = 108.39640 + x = 0.56931, y = 1.18299 + x = 2.22755, y = 42.86369 + x = -0.63219, y = -0.32546 + x = -2.84384, y = 47.65041 + x = 1.51835, y = 12.63905 + x = -3.89399, y = 182.14515 + x = -3.92909, y = 189.17683 + x = -1.69528, y = 4.56623 + x = -2.87274, y = 49.77828 + x = 2.37132, y = 52.94893 + x = -0.73551, y = -0.29977 + x = 3.37537, y = 183.02754 + x = 3.32685, y = 173.71428 + x = -4.89324, y = 475.19366 + x = -2.78129, y = 43.27858 + x = 4.72622, y = 631.58120 + x = -3.48403, y = 113.70544 + x = -4.72457, y = 410.39042 + x = -1.29446, y = 1.01984 + x = -4.57203, y = 357.71640 + x = -4.68340, y = 395.63614 + x = 3.80501, y = 282.98730 + x = 3.12953, y = 139.49495 + x = 0.30636, y = 0.43778 + x = 4.01668, y = 345.25188 + x = -4.01861, y = 208.03069 + x = -2.01979, y = 10.46257 + x = -4.69327, y = 399.13328 + x = -2.53391, y = 28.84255 + x = -4.50592, y = 336.53626 + x = 4.12557, y = 381.05635 + x = -2.65522, y = 35.38015 + x = 0.89348, y = 3.04233 + x = 3.04504, y = 126.52655 + x = -2.79525, y = 44.22707 + x = 1.41800, y = 10.32294 + x = -3.16219, y = 75.20602 + x = -3.54047, y = 121.73890 + x = 2.40387, y = 55.46524 + x = 3.25567, y = 160.71070 + x = 0.28391, y = 0.39390 + x = -4.37223, y = 296.59803 + x = 4.09072, y = 369.30554 + x = 1.74370, y = 19.33054 + x = 4.42972, y = 496.01372 + x = 3.09967, y = 134.80174 + x = -0.44926, y = -0.29737 + x = 0.01254, y = 0.01270 + x = 2.28438, y = 46.65490 + x = 1.62383, y = 15.49510 + x = 4.63861, y = 588.92903 + x = 1.74717, y = 19.45168 + x = -4.27568, y = 270.05120 + x = 2.66207, y = 78.83389 + x = -2.57064, y = 30.71824 + x = -1.77548, y = 5.71707 + x = -3.66593, y = 141.11439 + x = 1.32277, y = 8.44844 + x = 4.95141, y = 751.91635 + x = -4.89964, y = 477.79650 + x = 4.26820, y = 432.12062 + x = 4.61137, y = 576.12687 + x = 0.90085, y = 3.10206 + x = -1.12841, y = 0.32941 + x = -2.91259, y = 52.82668 + x = -1.36329, y = 1.41573 + x = 4.28465, y = 438.32514 + x = -3.41686, y = 104.67012 + x = -4.32296, y = 282.81888 + x = -0.88096, y = -0.18626 + x = 0.17548, y = 0.21263 + x = 1.50343, y = 12.27090 + x = -2.00895, y = 10.20735 + x = 2.08172, y = 34.21615 + x = -4.21064, y = 253.20114 + x = -1.43058, y = 1.87659 + x = 3.08069, y = 131.88124 + x = -4.53254, y = 344.94912 + x = -2.12301, y = 13.12985 + x = 0.79216, y = 2.31054 + x = 4.64732, y = 593.07138 + x = 1.65745, y = 16.50453 + x = -4.64468, y = 382.12366 + x = -2.63426, y = 34.17943 + x = -3.77412, y = 159.60220 + x = 4.51420, y = 532.14377 + x = 1.44393, y = 10.88631 + x = -2.97811, y = 58.13922 + x = 0.95763, y = 3.59384 + x = 3.56804, y = 223.79894 + x = 2.13335, y = 37.10717 + x = -4.74533, y = 417.98523 + x = -4.21751, y = 254.94138 + x = -1.71517, y = 4.83523 + x = -1.91981, y = 8.27420 + x = 3.78048, y = 276.36533 + x = 2.63672, y = 76.25503 + x = -2.99100, y = 59.22946 + x = 0.95434, y = 3.56379 + x = 0.86030, y = 2.78489 + x = -4.98102, y = 511.81111 + x = -0.91672, y = -0.14050 + x = -2.86445, y = 49.16091 + x = -3.50778, y = 117.03670 + x = 1.97650, y = 28.86574 + x = -2.01884, y = 10.44016 + x = 1.39185, y = 9.77836 + x = 3.35858, y = 179.76375 + x = 1.43619, y = 10.71565 + x = -2.08483, y = 12.09219 + x = 1.78059, y = 20.64867 + x = 4.31218, y = 448.86101 + x = -4.63486, y = 378.75420 + x = -3.61663, y = 133.24408 + x = -2.03300, y = 10.77987 + x = 4.01353, y = 344.25615 + x = 3.82888, y = 289.54686 + x = -2.38397, y = 22.05062 + x = -4.20861, y = 252.68725 + x = -1.69307, y = 4.53696 + x = 0.99999, y = 3.99991 + x = 2.27564, y = 46.05626 + x = 0.62880, y = 1.42915 + x = -0.18326, y = -0.15470 + x = -0.89994, y = -0.16298 + x = -3.90780, y = 184.88789 + x = -0.63212, y = -0.32546 + x = -3.50117, y = 116.10184 + x = -4.89479, y = 475.82104 + x = 2.80820, y = 95.02865 + x = 2.17757, y = 39.73002 + x = 4.72211, y = 629.52877 + x = -0.96873, y = -0.05871 + x = 4.96183, y = 757.87135 + x = 4.01156, y = 343.63413 + x = -4.66486, y = 389.12131 + x = 1.29231, y = 7.90967 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.stt b/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.stt new file mode 100644 index 0000000..9047d27 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 12.946 3.632 7 3 37 6 0.0000 0.0001 0.0000 12.946 3.632 7 3 37 6 +1 0 0.0000 0.0001 0.0000 12.316 3.841 7 5 8 4 0.0000 0.0001 0.0000 12.631 3.737 7 3 37 6 +2 0 0.0000 0.0001 0.0000 12.276 3.985 10 3 33 8 0.0000 0.0001 0.0000 12.513 3.819 7 3 37 6 +3 0 0.0000 0.0001 0.0000 12.127 4.095 9 5 8 5 0.0000 0.0001 0.0000 12.416 3.888 7 3 37 6 +4 0 0.0000 0.0001 0.0000 12.163 4.167 17 5 5 4 0.0000 0.0001 0.0000 12.366 3.944 7 3 37 6 +5 0 0.0000 0.0001 0.0000 12.064 4.222 17 5 14 6 0.0000 0.0001 0.0000 12.315 3.990 7 3 37 6 +6 0 0.0000 0.0001 0.0000 12.024 4.239 25 7 8 5 0.0000 0.0001 0.0000 12.274 4.026 7 3 37 6 +7 0 0.0000 0.0001 0.0000 12.412 4.402 7 3 29 6 0.0000 0.0001 0.0000 12.291 4.073 7 3 37 6 +8 0 0.0000 0.0002 0.0000 12.745 4.529 24 8 17 7 0.0000 0.0002 0.0000 12.341 4.123 24 8 37 6 +9 0 0.0000 0.0002 0.0000 12.673 4.571 25 9 8 4 0.0000 0.0002 0.0000 12.375 4.168 25 9 37 6 +10 0 0.0000 0.0001 0.0000 12.602 4.606 19 5 4 2 0.0000 0.0002 0.0000 12.395 4.208 25 9 37 6 +11 0 0.0000 0.0001 0.0000 13.060 4.774 18 5 14 6 0.0000 0.0002 0.0000 12.451 4.255 25 9 37 6 +12 0 0.0000 0.0001 0.0000 13.381 4.881 10 3 12 6 0.0000 0.0002 0.0000 12.522 4.303 25 9 37 6 +13 0 0.0000 0.0001 0.0000 13.793 4.972 44 9 21 6 0.0000 0.0002 0.0000 12.613 4.351 25 9 37 6 +14 0 0.0000 0.0001 0.0000 14.171 5.089 36 8 59 13 0.0000 0.0002 0.0000 12.717 4.400 25 9 37 6 +15 0 0.0000 0.0001 0.0000 14.279 5.138 48 14 45 11 0.0000 0.0002 0.0000 12.814 4.446 25 9 37 6 +16 0 0.0000 0.0001 0.0000 14.509 5.231 37 9 11 5 0.0000 0.0002 0.0000 12.914 4.492 25 9 37 6 +17 0 0.0000 0.0001 0.0000 14.621 5.330 37 9 17 8 0.0000 0.0002 0.0000 13.009 4.539 25 9 37 6 +18 0 0.0000 0.0001 0.0000 15.043 5.440 30 8 18 5 0.0000 0.0002 0.0000 13.116 4.586 25 9 37 6 +19 0 0.0000 0.0001 0.0000 15.611 5.599 8 3 18 9 0.0000 0.0002 0.0000 13.241 4.637 25 9 37 6 +20 0 0.0000 0.0001 0.0000 15.958 5.631 41 8 46 10 0.0000 0.0002 0.0000 13.370 4.684 25 9 37 6 +21 0 0.0000 0.0001 0.0000 16.971 5.879 6 4 17 8 0.0000 0.0002 0.0000 13.534 4.739 25 9 37 6 +22 0 0.0000 0.0001 0.0000 17.641 6.018 42 10 7 5 0.0000 0.0002 0.0000 13.712 4.794 25 9 37 6 +23 0 0.0000 0.0001 0.0000 18.816 6.270 56 12 15 8 0.0000 0.0002 0.0000 13.925 4.856 25 9 37 6 +24 0 0.0000 0.0001 0.0000 20.110 6.567 55 12 29 8 0.0000 0.0002 0.0000 14.172 4.924 25 9 37 6 +25 0 0.0000 0.0001 0.0000 21.376 6.862 9 3 20 8 0.0000 0.0002 0.0000 14.449 4.999 25 9 37 6 +26 0 0.0000 0.0002 0.0000 23.356 7.227 29 6 36 12 0.0000 0.0002 0.0000 14.779 5.081 25 9 37 6 +27 0 0.0000 0.0002 0.0000 24.993 7.495 32 8 84 16 0.0000 0.0002 0.0000 15.144 5.167 32 8 37 6 +28 0 0.0000 0.0002 0.0000 26.723 7.821 32 8 39 11 0.0000 0.0002 0.0000 15.543 5.259 32 8 37 6 +29 0 0.0000 0.0002 0.0000 28.360 8.184 69 14 67 14 0.0000 0.0002 0.0000 15.971 5.356 32 8 37 6 +30 0 0.0000 0.0002 0.0000 30.039 8.451 46 11 71 14 0.0000 0.0002 0.0000 16.424 5.456 32 8 37 6 +31 0 0.0000 0.0002 0.0000 31.847 8.772 28 6 43 10 0.0000 0.0002 0.0000 16.906 5.560 32 8 37 6 +32 0 0.0000 0.0002 0.0000 33.732 9.049 35 6 22 9 0.0000 0.0002 0.0000 17.416 5.666 32 8 37 6 +33 0 0.0001 0.0002 0.0000 36.234 9.365 31 10 47 12 0.0000 0.0002 0.0000 17.970 5.774 32 8 37 6 +34 0 0.0001 0.0002 0.0000 38.520 9.671 87 14 11 4 0.0000 0.0002 0.0000 18.557 5.886 32 8 37 6 +35 0 0.0001 0.0002 0.0000 42.157 10.115 37 9 70 16 0.0000 0.0002 0.0000 19.212 6.003 37 9 37 6 +36 0 0.0001 0.0002 0.0000 46.076 10.597 47 10 41 11 0.0000 0.0002 0.0000 19.938 6.127 47 10 37 6 +37 0 0.0001 0.0003 0.0000 49.736 11.009 56 12 53 13 0.0000 0.0003 0.0000 20.723 6.256 56 12 37 6 +38 0 0.0001 0.0003 0.0000 53.080 11.284 50 12 98 14 0.0000 0.0003 0.0000 21.552 6.385 56 12 37 6 +39 0 0.0001 0.0003 0.0000 54.641 11.355 57 13 82 16 0.0000 0.0003 0.0000 22.380 6.509 56 12 37 6 +40 0 0.0001 0.0004 0.0000 56.734 11.461 90 16 16 6 0.0000 0.0004 0.0000 23.217 6.630 90 16 37 6 +41 0 0.0001 0.0004 0.0000 59.675 11.726 88 16 112 17 0.0000 0.0004 0.0000 24.085 6.751 90 16 37 6 +42 0 0.0001 0.0004 0.0000 62.320 12.050 86 16 34 12 0.0000 0.0004 0.0000 24.975 6.874 86 16 37 6 +43 0 0.0001 0.0004 0.0000 64.394 12.161 44 11 60 12 0.0000 0.0004 0.0000 25.871 6.995 44 11 37 6 +44 0 0.0001 0.0004 0.0000 66.645 12.305 26 7 53 15 0.0000 0.0004 0.0000 26.777 7.113 26 7 37 6 +45 0 0.0001 0.0005 0.0000 69.179 12.511 22 7 156 16 0.0001 0.0005 0.0000 27.698 7.230 22 7 37 6 +46 0 0.0001 0.0008 0.0000 70.669 12.573 35 10 74 14 0.0001 0.0008 0.0000 28.613 7.344 35 10 37 6 +47 0 0.0001 0.0009 0.0000 72.989 12.752 34 10 36 8 0.0001 0.0009 0.0000 29.537 7.456 34 10 37 6 +48 0 0.0002 0.0032 0.0000 74.328 12.936 18 6 90 17 0.0001 0.0032 0.0000 30.451 7.568 18 6 37 6 +49 0 0.0002 0.0014 0.0000 74.075 13.074 21 6 62 10 0.0001 0.0032 0.0000 31.324 7.678 18 6 37 6 +50 0 0.0002 0.0026 0.0000 72.485 13.225 76 15 101 12 0.0001 0.0032 0.0000 32.131 7.787 18 6 37 6 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.sys b/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.sys new file mode 100644 index 0000000..b054e0c --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_3/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 70. +creating initial population(s): + 5574 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 179251996 + freed: 178249396 + not freed: 1002600 + max allocated: 9312979 + malloc'ed blocks: 754578 + realloc'ed blocks: 11 + free'ed blocks: 754428 + +------- time ------- + overall: 5s wall + evaluation: 3s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 400 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 33706 + freed: 33706 + allocated: 13500 + blocks: 26 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.bst b/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.bst new file mode 100644 index 0000000..6ecc09b --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.bst @@ -0,0 +1,44 @@ +=== BEST-OF-RUN === + generation: 50 + nodes: 125 + depth: 16 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 518.6200 + standardized fitness: 518.6200 + adjusted fitness: 0.0019 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (sin 0.64610))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (- (cos (/ x -0.11075)) + (* (exp (cos (/ x x))) + (+ (- (cos (+ x -0.28163)) x) + (exp (exp (/ x + (/ x x)))))))))))) + (sin (- (cos (exp -0.15704)) + (- (cos (+ -0.71630 0.01312)) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (exp (exp (exp (exp 0.57537)))) + (- (* x 0.55323) + (exp (/ x + (/ x x))))) + (log x)))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +TREE-equ: +y = (((((((exp((x / (x / x))) - cos(sin(0.64610))) + ((x / 0.46723) - (sin(sin(-0.28163)) + (sin(0.64610) * (x / -0.11075))))) - sin(log((x - cos((cos((x / -0.11075)) - (exp(cos((x / x))) * ((cos((x + -0.28163)) - x) + exp(exp((x / (x / x)))))))))))) - sin((cos(exp(-0.15704)) - (cos((-0.71630 + 0.01312)) - x)))) - x) - sin(x)) - ((((cos((x - -0.94651)) - exp(exp(0.57537))) + exp(cos(cos(((exp(exp(exp(exp(0.57537)))) + ((x * 0.55323) - exp((x / (x / x))))) + log(x)))))) + exp(exp(log(x)))) * ((cos((x + -0.28163)) - exp(exp(0.57537))) + exp(cos((x / x)))))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.fn b/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.fn new file mode 100644 index 0000000..b0dfc90 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.fn @@ -0,0 +1,2 @@ + +y = (((((((exp((x / (x / x))) - cos(sin(0.64610))) + ((x / 0.46723) - (sin(sin(-0.28163)) + (sin(0.64610) * (x / -0.11075))))) - sin(log((x - cos((cos((x / -0.11075)) - (exp(cos((x / x))) * ((cos((x + -0.28163)) - x) + exp(exp((x / (x / x)))))))))))) - sin((cos(exp(-0.15704)) - (cos((-0.71630 + 0.01312)) - x)))) - x) - sin(x)) - ((((cos((x - -0.94651)) - exp(exp(0.57537))) + exp(cos(cos(((exp(exp(exp(exp(0.57537)))) + ((x * 0.55323) - exp((x / (x / x))))) + log(x)))))) + exp(exp(log(x)))) * ((cos((x + -0.28163)) - exp(exp(0.57537))) + exp(cos((x / x)))))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.gen b/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.his b/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.his new file mode 100644 index 0000000..c25bdd4 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.his @@ -0,0 +1,1875 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 47 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6142.7906 + standardized fitness: 6142.7906 + adjusted fitness: 0.0002 +TREE: + (- (- (exp (exp (sin (/ x -0.11075)))) + (sin (- (cos (exp -0.15704)) + (cos (/ x -0.14102))))) + (* (+ (sin (- (/ -0.85276 0.06355) + (cos 0.92526))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (- (cos (sin -0.36340)) + (sin (+ -0.03159 -0.92504)))))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 47 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6129.8507 + standardized fitness: 6129.8507 + adjusted fitness: 0.0002 +TREE: + (- (- (exp (exp (sin (/ x -0.11075)))) + (sin (- (cos (exp -0.15704)) + (cos (/ x -0.22179))))) + (* (+ (sin (- (/ -0.85276 0.06355) + (cos 0.92526))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (- (cos (sin -0.36340)) + (sin (+ -0.03159 -0.92504)))))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 43 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5673.7385 + standardized fitness: 5673.7385 + adjusted fitness: 0.0002 +TREE: + (- (- (exp (exp (sin (log 0.24583)))) + (sin (- (cos (exp -0.15704)) + (cos (/ x -0.14102))))) + (* (+ (sin (- (/ -0.85276 0.06355) + (cos 0.92526))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 37 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5179.5827 + standardized fitness: 5179.5827 + adjusted fitness: 0.0002 +TREE: + (- (- x + (sin (- (cos (exp -0.15704)) + (cos x)))) + (* (+ (sin (- (/ -0.85276 0.06355) + (cos 0.92526))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 35 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4149.0388 + standardized fitness: 4149.0388 + adjusted fitness: 0.0002 +TREE: + (- (- (exp -0.56295) x) + (* (+ (sin (- (/ -0.85276 0.06355) + (cos 0.92526))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (- (cos (exp x)) + (sin (+ -0.03159 -0.92504)))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 38 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3031.9407 + standardized fitness: 3031.9407 + adjusted fitness: 0.0003 +TREE: + (- (- (exp x) + (sin (- (cos (exp -0.15704)) + (cos x)))) + (* (+ (sin (- (/ -0.85276 0.06355) + (cos 0.92526))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 43 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3031.8917 + standardized fitness: 3031.8917 + adjusted fitness: 0.0003 +TREE: + (- (- (exp x) + (sin (- (cos (exp -0.15704)) + (cos x)))) + (* (+ (sin (- (/ -0.85276 + (sin (log (log (/ -0.00742 -0.80460))))) + (cos 0.92526))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 29 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2780.9343 + standardized fitness: 2780.9343 + adjusted fitness: 0.0004 +TREE: + (- (+ (sin x) + (exp x)) + (* (+ (+ -0.25409 x) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 72 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1886.2889 + standardized fitness: 1886.2889 + adjusted fitness: 0.0005 +TREE: + (- (- x + (sin (- (cos -0.93306) + (cos x)))) + (* (+ (sin (- (/ -0.85276 0.06355) + (cos 0.92526))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x + (- (+ (* x + (cos 0.24483)) + (+ (- (exp (cos x)) + (sin (- (sin (- (/ x x) + (log 0.73354))) + (cos (exp (exp -0.08553)))))) + (* (/ -0.68957 x) + (+ x + (sin (/ -0.25789 x)))))) + (- 0.16342 -0.92710)))))))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 54 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1765.5298 + standardized fitness: 1765.5298 + adjusted fitness: 0.0006 +TREE: + (- (- (/ x 0.07137) -0.62757) + (* (+ (sin (- (/ -0.85276 0.06355) + (sin (/ (+ x x) + (- (sin (/ -0.48217 x)) + (cos (/ -0.58157 + (/ 0.46286 -0.93306)))))))) + (exp (exp (log x)))) + (+ (- (sin (- (/ x 0.89503) + (/ (log -0.14794) + (exp (exp x))))) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 10 + generation: 9 + nodes: 54 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1765.5298 + standardized fitness: 1765.5298 + adjusted fitness: 0.0006 +TREE: + (- (- (/ x 0.07137) -0.62757) + (* (+ (sin (- (/ -0.85276 0.06355) + (sin (/ (+ x x) + (- (sin (/ -0.48217 x)) + (cos (/ -0.58157 + (/ 0.46286 -0.93306)))))))) + (exp (exp (log x)))) + (+ (- (sin (- (/ x 0.89503) + (/ (log -0.14794) + (exp (exp x))))) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 57 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1631.4742 + standardized fitness: 1631.4742 + adjusted fitness: 0.0006 +TREE: + (- (- (/ x 0.07137) -0.62757) + (* (+ (sin (- (/ -0.85276 0.06355) + (sin (/ (+ x x) + (- (sin (/ -0.48217 x)) + (cos (- (cos (+ x -0.28163)) + (exp (exp 0.57537))))))))) + (exp (exp (log x)))) + (+ (- (sin (- (/ x 0.89503) + (/ (log -0.14794) + (exp (exp x))))) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 47 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1540.4472 + standardized fitness: 1540.4472 + adjusted fitness: 0.0006 +TREE: + (- (- (/ x 0.07137) -0.62757) + (* (+ (sin (- (/ -0.85276 0.06355) + (sin (/ (+ x x) + (exp (exp (sin -0.62757))))))) + (exp (exp (log x)))) + (+ (- (sin (- (/ x 0.89503) + (/ (log -0.14794) + (exp (exp x))))) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 13 + generation: 12 + nodes: 47 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1540.4472 + standardized fitness: 1540.4472 + adjusted fitness: 0.0006 +TREE: + (- (- (/ x 0.07137) -0.62757) + (* (+ (sin (- (/ -0.85276 0.06355) + (sin (/ (+ x x) + (exp (exp (sin -0.62757))))))) + (exp (exp (log x)))) + (+ (- (sin (- (/ x 0.89503) + (/ (log -0.14794) + (exp (exp x))))) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 14 + generation: 12 + nodes: 47 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1540.4472 + standardized fitness: 1540.4472 + adjusted fitness: 0.0006 +TREE: + (- (- (/ x 0.07137) -0.62757) + (* (+ (sin (- (/ -0.85276 0.06355) + (sin (/ (+ x x) + (exp (exp (sin -0.62757))))))) + (exp (exp (log x)))) + (+ (- (sin (- (/ x 0.89503) + (/ (log -0.14794) + (exp (exp x))))) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 94 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1323.2964 + standardized fitness: 1323.2964 + adjusted fitness: 0.0008 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos x))))) + (sin (- (cos (exp -0.15704)) + (- (+ x x) x)))) + (* (+ (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (log (cos x)) + (- (* x 0.55323) + (exp x))) + (sin (exp -0.54077))))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 89 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1240.1593 + standardized fitness: 1240.1593 + adjusted fitness: 0.0008 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) x) + (sin (- (cos (exp -0.15704)) + (- (+ x x) x)))) + (* (+ (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (log (cos x)) + (- (* x 0.55323) + (exp x))) + (sin (exp -0.54077))))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 76 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1142.8041 + standardized fitness: 1142.8041 + adjusted fitness: 0.0009 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) x) + (sin (- (cos (exp -0.15704)) + (- (+ x x) x)))) + (* (+ (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (sin -0.51412)))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 91 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1090.8255 + standardized fitness: 1090.8255 + adjusted fitness: 0.0009 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) x) + (sin (- (cos (exp -0.15704)) + (- (- (cos (exp (+ (sin (- (/ -0.85276 0.06355) + (cos 0.92526))) + (exp (exp (log x)))))) + (cos x)) + (cos 0.92526))))) + (* (+ (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (sin -0.51412)))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 83 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 965.4908 + standardized fitness: 965.4908 + adjusted fitness: 0.0010 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) x) + (sin x)) + (* (+ (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (log (cos x)) + (- (* x 0.55323) + (/ -0.85276 + (log -0.15000)))) + (sin (exp -0.54077))))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 96 + depth: 15 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 963.6176 + standardized fitness: 963.6176 + adjusted fitness: 0.0010 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x + (- (log (cos x)) + (cos (/ -0.58157 + (- (/ -0.85276 0.06355) + (+ 0.64954 x))))))))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) x) + (sin x)) + (* (+ (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (log (cos x)) + (- (* x 0.55323) + (/ -0.85276 + (log -0.15000)))) + (sin (exp -0.54077))))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 93 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 950.5026 + standardized fitness: 950.5026 + adjusted fitness: 0.0011 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) x) + (sin x)) + (* (+ (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (/ (- (cos x) + (exp (sin (sin x)))) + (* (+ x -0.52798) x)) + (- (cos (sin -0.36340)) + (/ -0.85276 + (log -0.15000)))) + (sin (exp -0.54077))))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 22 + generation: 22 + nodes: 91 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 943.5852 + standardized fitness: 943.5852 + adjusted fitness: 0.0011 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (sin (+ -0.03159 -0.92504))))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) x) + (sin x)) + (* (+ (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (log (cos (- x + (/ (cos x) + (+ -0.40413 x))))) + (- (* x 0.55323) + (/ -0.85276 + (log -0.15000)))) + (sin (exp -0.54077))))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 67 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 922.2484 + standardized fitness: 922.2484 + adjusted fitness: 0.0011 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) x) + (sin x)) + (* (+ (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos -0.28163))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 84 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 854.1153 + standardized fitness: 854.1153 + adjusted fitness: 0.0012 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) x) + (sin x)) + (* (+ (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (sin (- (/ -0.85276 0.06355) + (sin (/ (- x + (/ (sin x) + (exp (log x)))) + (/ x x)))))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 25 + generation: 25 + nodes: 76 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 772.9900 + standardized fitness: 772.9900 + adjusted fitness: 0.0013 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) x) + (sin x)) + (* (+ (+ (- (cos (cos (sin x))) + (exp (exp 0.57537))) + (exp (cos (- 0.56727 + (log (exp (- (cos x) + (- x x)))))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 124 + depth: 13 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 772.5439 + standardized fitness: 772.5439 + adjusted fitness: 0.0013 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (* (- x x) + (+ -0.30129 + (/ (sin x) + (cos (cos x)))))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) x) + (sin x)) + (* (+ (+ (- (cos (- (- x + (+ (- (cos (+ x -0.28163)) + (exp (sin (exp 0.57537)))) + (exp 0.57537))) + (* (+ (sin (- (/ -0.85276 0.06355) + (cos 0.92526))) + (exp (exp (log x)))) + (+ (log -0.14794) + (exp (cos (+ -0.03159 -0.92504))))))) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (exp (cos (/ x x))) + (- (* x 0.55323) + (/ -0.85276 + (log -0.15000)))) + (log x)))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 27 + generation: 26 + nodes: 124 + depth: 13 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 772.5439 + standardized fitness: 772.5439 + adjusted fitness: 0.0013 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (* (- x x) + (+ -0.30129 + (/ (sin x) + (cos (cos x)))))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) x) + (sin x)) + (* (+ (+ (- (cos (- (- x + (+ (- (cos (+ x -0.28163)) + (exp (sin (exp 0.57537)))) + (exp 0.57537))) + (* (+ (sin (- (/ -0.85276 0.06355) + (cos 0.92526))) + (exp (exp (log x)))) + (+ (log -0.14794) + (exp (cos (+ -0.03159 -0.92504))))))) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (exp (cos (/ x x))) + (- (* x 0.55323) + (/ -0.85276 + (log -0.15000)))) + (log x)))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 28 + generation: 26 + nodes: 124 + depth: 13 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 772.5439 + standardized fitness: 772.5439 + adjusted fitness: 0.0013 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (* (- x x) + (+ -0.30129 + (/ (sin x) + (cos (cos x)))))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) x) + (sin x)) + (* (+ (+ (- (cos (- (- x + (+ (- (cos (+ x -0.28163)) + (exp (sin (exp 0.57537)))) + (exp 0.57537))) + (* (+ (sin (- (/ -0.85276 0.06355) + (cos 0.92526))) + (exp (exp (log x)))) + (+ (log -0.14794) + (exp (cos (+ -0.03159 -0.92504))))))) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (exp (cos (/ x x))) + (- (* x 0.55323) + (/ -0.85276 + (log -0.15000)))) + (log x)))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 29 + generation: 29 + nodes: 149 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 662.4709 + standardized fitness: 662.4709 + adjusted fitness: 0.0015 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos -0.37355))) + (- (/ x 0.46723) + (+ (sin (- (* (exp (* (/ 0.46286 -0.93306) + (* (/ (log -0.93798) + (log (log (+ (+ x x) 0.01312)))) x))) + (+ (- (cos (+ x + (- (/ -0.85276 0.06355) + (* x -0.31210)))) + (exp (exp 0.57537))) + (- (/ x 0.89503) + (/ (log -0.14794) + (exp (exp x)))))) x)) + (* (sin 0.64610) + (/ (- (/ x 0.89503) + (/ (log -0.14794) + (exp (exp x)))) -0.11075))))) x) + (sin x)) + (* (+ (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (sin (- (/ -0.85276 0.06355) + (sin (/ (- x + (/ (sin x) + (- (sin (exp 0.57537)) + (- (cos (* x x)) + (+ x -0.67266))))) + (- (sin (/ -0.48217 x)) + (cos (/ -0.58157 + (/ 0.46286 -0.93306))))))))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 30 + generation: 30 + nodes: 148 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 642.4787 + standardized fitness: 642.4787 + adjusted fitness: 0.0016 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos -0.37355))) + (- (/ x 0.46723) + (+ (sin (- (* (exp (* (/ 0.46286 -0.93306) + (* (/ (log -0.93798) + (- (cos -0.85276) + (exp (exp 0.57537)))) x))) + (+ (- (cos (+ x + (- (/ -0.85276 0.06355) + (* x -0.31210)))) + (exp (exp 0.57537))) + (- (/ x 0.89503) + (/ (log -0.14794) + (exp (exp x)))))) x)) + (* (sin 0.64610) + (/ (- (/ x 0.89503) + (/ (log -0.14794) + (exp (exp x)))) -0.11075))))) x) + (sin x)) + (* (+ (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (sin (- (/ -0.85276 0.06355) + (sin (/ (- x + (/ (sin x) + (- (sin (exp 0.57537)) + (- (cos (* x x)) + (+ x -0.67266))))) + (- (sin (/ -0.48217 x)) + (cos (/ -0.58157 + (/ 0.46286 -0.93306))))))))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 31 + generation: 30 + nodes: 148 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 642.4787 + standardized fitness: 642.4787 + adjusted fitness: 0.0016 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos -0.37355))) + (- (/ x 0.46723) + (+ (sin (- (* (exp (* (/ 0.46286 -0.93306) + (* (/ (log -0.93798) + (- (cos -0.85276) + (exp (exp 0.57537)))) x))) + (+ (- (cos (+ x + (- (/ -0.85276 0.06355) + (* x -0.31210)))) + (exp (exp 0.57537))) + (- (/ x 0.89503) + (/ (log -0.14794) + (exp (exp x)))))) x)) + (* (sin 0.64610) + (/ (- (/ x 0.89503) + (/ (log -0.14794) + (exp (exp x)))) -0.11075))))) x) + (sin x)) + (* (+ (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (sin (- (/ -0.85276 0.06355) + (sin (/ (- x + (/ (sin x) + (- (sin (exp 0.57537)) + (- (cos (* x x)) + (+ x -0.67266))))) + (- (sin (/ -0.48217 x)) + (cos (/ -0.58157 + (/ 0.46286 -0.93306))))))))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 32 + generation: 32 + nodes: 150 + depth: 17 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 596.4602 + standardized fitness: 596.4602 + adjusted fitness: 0.0017 +TREE: + (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos -0.37355))) + (- (/ x 0.46723) + (+ (sin (- (* (exp (* (/ 0.46286 -0.93306) + (* (/ (log -0.93798) + (log (log (+ (+ x x) 0.01312)))) x))) + (+ (- (cos (+ x + (- (/ -0.85276 0.06355) + (* x -0.31210)))) + (exp (exp 0.57537))) + (- (/ x 0.89503) + (/ x + (- x + (- 0.16342 -0.92710)))))) x)) + (* (sin 0.64610) + (/ (- (/ x 0.89503) + (/ (log -0.14794) + (exp (exp x)))) -0.11075))))) x) + (sin x)) + (* (+ (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (sin (- (/ -0.85276 0.06355) + (sin (/ (- x + (/ (sin x) + (- (sin (exp 0.57537)) + (- (cos (* x x)) + (+ x -0.67266))))) + (- (sin (/ -0.48217 x)) + (cos (/ -0.58157 + (/ 0.46286 -0.93306))))))))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 33 + generation: 33 + nodes: 92 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 593.9135 + standardized fitness: 593.9135 + adjusted fitness: 0.0017 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (log 0.18401)))))) + (sin (- (cos (exp 0.13343)) + (- (+ x x) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (- (cos (+ x -0.28163)) x))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 34 + generation: 33 + nodes: 92 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 593.9135 + standardized fitness: 593.9135 + adjusted fitness: 0.0017 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (log 0.18401)))))) + (sin (- (cos (exp 0.13343)) + (- (+ x x) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (- (cos (+ x -0.28163)) x))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 35 + generation: 33 + nodes: 92 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 593.9135 + standardized fitness: 593.9135 + adjusted fitness: 0.0017 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (log 0.18401)))))) + (sin (- (cos (exp 0.13343)) + (- (+ x x) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (- (cos (+ x -0.28163)) x))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 36 + generation: 33 + nodes: 92 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 593.9135 + standardized fitness: 593.9135 + adjusted fitness: 0.0017 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (log 0.18401)))))) + (sin (- (cos (exp 0.13343)) + (- (+ x x) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (- (cos (+ x -0.28163)) x))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 37 + generation: 33 + nodes: 92 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 593.9135 + standardized fitness: 593.9135 + adjusted fitness: 0.0017 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (log 0.18401)))))) + (sin (- (cos (exp 0.13343)) + (- (+ x x) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (- (cos (+ x -0.28163)) x))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 38 + generation: 33 + nodes: 92 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 593.9135 + standardized fitness: 593.9135 + adjusted fitness: 0.0017 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (log 0.18401)))))) + (sin (- (cos (exp 0.13343)) + (- (+ x x) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (- (cos (+ x -0.28163)) x))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 39 + generation: 33 + nodes: 92 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 593.9135 + standardized fitness: 593.9135 + adjusted fitness: 0.0017 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (log 0.18401)))))) + (sin (- (cos (exp 0.13343)) + (- (+ x x) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (- (cos (+ x -0.28163)) x))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 40 + generation: 33 + nodes: 92 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 593.9135 + standardized fitness: 593.9135 + adjusted fitness: 0.0017 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (cos (log (cos (/ x x)))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (log 0.18401)))))) + (sin (- (cos (exp 0.13343)) + (- (+ x x) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (- (cos (+ x -0.28163)) x))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 41 + generation: 41 + nodes: 145 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 553.7061 + standardized fitness: 553.7061 + adjusted fitness: 0.0018 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (+ x + (- (/ -0.85276 0.06355) + (* (/ x 0.59523) -0.31210))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (- (cos (/ x -0.11075)) + (* (+ (+ x -0.28163) + (+ (sin (sin 0.06355)) + (* (sin 0.64610) + (/ x -0.11075)))) + (+ (- (cos (+ x -0.28163)) x) + (exp (cos (/ x x))))))))))) + (sin (- (cos (exp -0.15704)) + (- (cos (+ (* 0.67520 x) 0.31759)) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (exp (exp (/ x + (/ x x)))) + (- (* x 0.55323) + (/ -0.85276 + (exp (exp (log x)))))) + (log x)))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 42 + generation: 41 + nodes: 145 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 553.7061 + standardized fitness: 553.7061 + adjusted fitness: 0.0018 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (+ x + (- (/ -0.85276 0.06355) + (* (/ x 0.59523) -0.31210))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (- (cos (/ x -0.11075)) + (* (+ (+ x -0.28163) + (+ (sin (sin 0.06355)) + (* (sin 0.64610) + (/ x -0.11075)))) + (+ (- (cos (+ x -0.28163)) x) + (exp (cos (/ x x))))))))))) + (sin (- (cos (exp -0.15704)) + (- (cos (+ (* 0.67520 x) 0.31759)) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (exp (exp (/ x + (/ x x)))) + (- (* x 0.55323) + (/ -0.85276 + (exp (exp (log x)))))) + (log x)))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 43 + generation: 41 + nodes: 145 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 553.7061 + standardized fitness: 553.7061 + adjusted fitness: 0.0018 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (+ x + (- (/ -0.85276 0.06355) + (* (/ x 0.59523) -0.31210))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (- (cos (/ x -0.11075)) + (* (+ (+ x -0.28163) + (+ (sin (sin 0.06355)) + (* (sin 0.64610) + (/ x -0.11075)))) + (+ (- (cos (+ x -0.28163)) x) + (exp (cos (/ x x))))))))))) + (sin (- (cos (exp -0.15704)) + (- (cos (+ (* 0.67520 x) 0.31759)) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (exp (exp (/ x + (/ x x)))) + (- (* x 0.55323) + (/ -0.85276 + (exp (exp (log x)))))) + (log x)))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 44 + generation: 41 + nodes: 145 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 553.7061 + standardized fitness: 553.7061 + adjusted fitness: 0.0018 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (+ x + (- (/ -0.85276 0.06355) + (* (/ x 0.59523) -0.31210))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (- (cos (/ x -0.11075)) + (* (+ (+ x -0.28163) + (+ (sin (sin 0.06355)) + (* (sin 0.64610) + (/ x -0.11075)))) + (+ (- (cos (+ x -0.28163)) x) + (exp (cos (/ x x))))))))))) + (sin (- (cos (exp -0.15704)) + (- (cos (+ (* 0.67520 x) 0.31759)) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (exp (exp (/ x + (/ x x)))) + (- (* x 0.55323) + (/ -0.85276 + (exp (exp (log x)))))) + (log x)))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 45 + generation: 41 + nodes: 145 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 553.7061 + standardized fitness: 553.7061 + adjusted fitness: 0.0018 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (+ x + (- (/ -0.85276 0.06355) + (* (/ x 0.59523) -0.31210))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (- (cos (/ x -0.11075)) + (* (+ (+ x -0.28163) + (+ (sin (sin 0.06355)) + (* (sin 0.64610) + (/ x -0.11075)))) + (+ (- (cos (+ x -0.28163)) x) + (exp (cos (/ x x))))))))))) + (sin (- (cos (exp -0.15704)) + (- (cos (+ (* 0.67520 x) 0.31759)) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (exp (exp (/ x + (/ x x)))) + (- (* x 0.55323) + (/ -0.85276 + (exp (exp (log x)))))) + (log x)))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 46 + generation: 41 + nodes: 145 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 553.7061 + standardized fitness: 553.7061 + adjusted fitness: 0.0018 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (+ x + (- (/ -0.85276 0.06355) + (* (/ x 0.59523) -0.31210))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (- (cos (/ x -0.11075)) + (* (+ (+ x -0.28163) + (+ (sin (sin 0.06355)) + (* (sin 0.64610) + (/ x -0.11075)))) + (+ (- (cos (+ x -0.28163)) x) + (exp (cos (/ x x))))))))))) + (sin (- (cos (exp -0.15704)) + (- (cos (+ (* 0.67520 x) 0.31759)) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (exp (exp (/ x + (/ x x)))) + (- (* x 0.55323) + (/ -0.85276 + (exp (exp (log x)))))) + (log x)))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 47 + generation: 41 + nodes: 145 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 553.7061 + standardized fitness: 553.7061 + adjusted fitness: 0.0018 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (+ x + (- (/ -0.85276 0.06355) + (* (/ x 0.59523) -0.31210))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (- (cos (/ x -0.11075)) + (* (+ (+ x -0.28163) + (+ (sin (sin 0.06355)) + (* (sin 0.64610) + (/ x -0.11075)))) + (+ (- (cos (+ x -0.28163)) x) + (exp (cos (/ x x))))))))))) + (sin (- (cos (exp -0.15704)) + (- (cos (+ (* 0.67520 x) 0.31759)) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (exp (exp (/ x + (/ x x)))) + (- (* x 0.55323) + (/ -0.85276 + (exp (exp (log x)))))) + (log x)))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 48 + generation: 41 + nodes: 145 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 553.7061 + standardized fitness: 553.7061 + adjusted fitness: 0.0018 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (+ x + (- (/ -0.85276 0.06355) + (* (/ x 0.59523) -0.31210))))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (- (cos (/ x -0.11075)) + (* (+ (+ x -0.28163) + (+ (sin (sin 0.06355)) + (* (sin 0.64610) + (/ x -0.11075)))) + (+ (- (cos (+ x -0.28163)) x) + (exp (cos (/ x x))))))))))) + (sin (- (cos (exp -0.15704)) + (- (cos (+ (* 0.67520 x) 0.31759)) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (exp (exp (/ x + (/ x x)))) + (- (* x 0.55323) + (/ -0.85276 + (exp (exp (log x)))))) + (log x)))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 49 + generation: 49 + nodes: 127 + depth: 16 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 545.2144 + standardized fitness: 545.2144 + adjusted fitness: 0.0018 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (sin 0.64610))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (- (cos (/ x -0.11075)) + (* (exp (cos (/ x x))) + (+ (- (cos (+ x -0.28163)) x) + (exp (exp (/ x + (/ x x)))))))))))) + (sin (- (cos (exp -0.15704)) + (- (cos (+ (* 0.67520 x) 0.31759)) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (exp (exp (exp (exp 0.57537)))) + (- (* x 0.55323) + (exp (/ x + (/ x x))))) + (log x)))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) +=== BEST-OF-RUN === + current generation: 50 + generation: 50 + nodes: 125 + depth: 16 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 518.6200 + standardized fitness: 518.6200 + adjusted fitness: 0.0019 +TREE: + (- (- (- (- (- (+ (- (exp (/ x + (/ x x))) + (cos (sin 0.64610))) + (- (/ x 0.46723) + (+ (sin (sin -0.28163)) + (* (sin 0.64610) + (/ x -0.11075))))) + (sin (log (- x + (cos (- (cos (/ x -0.11075)) + (* (exp (cos (/ x x))) + (+ (- (cos (+ x -0.28163)) x) + (exp (exp (/ x + (/ x x)))))))))))) + (sin (- (cos (exp -0.15704)) + (- (cos (+ -0.71630 0.01312)) x)))) x) + (sin x)) + (* (+ (+ (- (cos (- x -0.94651)) + (exp (exp 0.57537))) + (exp (cos (cos (+ (+ (exp (exp (exp (exp 0.57537)))) + (- (* x 0.55323) + (exp (/ x + (/ x x))))) + (log x)))))) + (exp (exp (log x)))) + (+ (- (cos (+ x -0.28163)) + (exp (exp 0.57537))) + (exp (cos (/ x x)))))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.prg b/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.prg new file mode 100644 index 0000000..5c274a1 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 2.68846, y = 81.58984 + x = -3.50526, y = 116.68018 + x = -2.76364, y = 42.10075 + x = -1.22677, y = 0.69687 + x = 0.89313, y = 3.03950 + x = 1.26114, y = 7.38702 + x = -0.21698, y = -0.17790 + x = -1.37354, y = 1.48104 + x = 3.59207, y = 229.32995 + x = -0.79123, y = -0.26860 + x = 4.06670, y = 361.36742 + x = -1.30563, y = 1.07927 + x = -0.98442, y = -0.03020 + x = 2.35601, y = 51.79569 + x = -2.92896, y = 54.11887 + x = -2.08599, y = 12.12282 + x = -4.31560, y = 280.80146 + x = -1.75171, y = 5.35727 + x = 2.99733, y = 119.62188 + x = -4.99252, y = 516.76171 + x = 3.97794, y = 333.14777 + x = 3.48271, y = 204.97344 + x = -1.53423, y = 2.74897 + x = -4.36922, y = 295.74423 + x = 3.83476, y = 291.17981 + x = -3.22720, y = 82.04560 + x = -4.32914, y = 284.52138 + x = -0.02273, y = -0.02223 + x = 2.85486, y = 100.69889 + x = 2.81472, y = 95.80613 + x = 3.68673, y = 252.13103 + x = -2.71864, y = 39.20613 + x = 0.64073, y = 1.48286 + x = 0.86379, y = 2.81111 + x = 2.79316, y = 93.25326 + x = -3.14587, y = 73.55841 + x = 3.63919, y = 240.47518 + x = -4.33290, y = 285.55963 + x = -3.92187, y = 187.71440 + x = 4.16217, y = 393.69936 + x = 1.84373, y = 23.06585 + x = -4.43713, y = 315.51500 + x = -3.45065, y = 109.14634 + x = 3.21910, y = 154.32337 + x = -1.95318, y = 8.96401 + x = -2.04598, y = 11.09849 + x = 3.10448, y = 135.54958 + x = -3.85847, y = 175.23116 + x = 1.89526, y = 25.19760 + x = 4.17647, y = 398.72359 + x = 3.85460, y = 296.74125 + x = -2.28499, y = 18.26660 + x = -4.54261, y = 348.16942 + x = 3.84976, y = 295.37922 + x = -2.30554, y = 19.00939 + x = 0.40711, y = 0.66779 + x = 0.85400, y = 2.73807 + x = 1.37257, y = 9.39171 + x = 0.98007, y = 3.80466 + x = -0.96100, y = -0.07209 + x = 2.62195, y = 74.78171 + x = -0.88408, y = -0.18259 + x = -2.45167, y = 24.95101 + x = 4.42990, y = 496.08784 + x = 2.36505, y = 52.47384 + x = 3.50383, y = 209.51764 + x = -2.85498, y = 48.46230 + x = 0.79648, y = 2.33857 + x = -0.69081, y = -0.31552 + x = 4.11702, y = 378.14832 + x = -0.19047, y = -0.15979 + x = 4.54287, y = 544.84767 + x = 1.35303, y = 9.01216 + x = 3.82086, y = 287.33179 + x = -3.84712, y = 173.06382 + x = 1.26293, y = 7.41629 + x = 3.02531, y = 123.63596 + x = -0.38400, y = -0.27142 + x = 2.93631, y = 111.21269 + x = -1.57235, y = 3.12484 + x = 0.91880, y = 3.25127 + x = -0.70172, y = -0.31238 + x = 3.99719, y = 339.12227 + x = -1.18414, y = 0.52378 + x = -4.80722, y = 441.25498 + x = -0.42919, y = -0.29011 + x = 4.73302, y = 634.98838 + x = 1.21084, y = 6.60170 + x = 3.49874, y = 208.41516 + x = 4.28932, y = 440.10135 + x = 4.70910, y = 623.07217 + x = -2.15729, y = 14.11555 + x = 1.35791, y = 9.10577 + x = -3.03890, y = 63.41530 + x = -0.64736, y = -0.32395 + x = 2.30086, y = 47.80117 + x = -0.79016, y = -0.26933 + x = -2.27152, y = 17.79122 + x = 2.06622, y = 33.38314 + x = 1.78389, y = 20.76987 + x = -0.07130, y = -0.06655 + x = -1.51152, y = 2.53966 + x = -1.79478, y = 6.02142 + x = -1.53239, y = 2.73157 + x = -1.74233, y = 5.21968 + x = -0.44368, y = -0.29542 + x = -1.28218, y = 0.95663 + x = 1.64153, y = 16.02046 + x = 3.65699, y = 244.78989 + x = 3.12366, y = 138.56258 + x = 0.67409, y = 1.64126 + x = 4.64317, y = 591.09468 + x = 2.87383, y = 103.07732 + x = 1.69075, y = 17.55439 + x = -0.67011, y = -0.32033 + x = -0.22076, y = -0.18041 + x = 2.75801, y = 89.20476 + x = -4.41277, y = 308.31200 + x = 0.07726, y = 0.08372 + x = -4.93581, y = 492.69690 + x = -0.70600, y = -0.31102 + x = 4.41654, y = 490.54909 + x = 3.73026, y = 263.17486 + x = 2.52529, y = 65.67401 + x = -0.81168, y = -0.25356 + x = -3.67895, y = 143.24938 + x = 1.33765, y = 8.72205 + x = -2.11458, y = 12.89546 + x = 0.56319, y = 1.15962 + x = 1.59657, y = 14.71285 + x = -2.45489, y = 25.09558 + x = -3.61622, y = 133.17988 + x = 0.95901, y = 3.60659 + x = 4.81266, y = 675.90632 + x = 2.75356, y = 88.70164 + x = 1.27563, y = 7.62647 + x = 1.42445, y = 10.46081 + x = -2.69356, y = 37.65785 + x = 4.48597, y = 519.85723 + x = 0.41354, y = 0.68452 + x = 1.81280, y = 21.85555 + x = 4.14579, y = 388.00320 + x = -3.86642, y = 176.76196 + x = 3.43455, y = 194.89387 + x = -0.00467, y = -0.00465 + x = -4.70744, y = 404.20058 + x = -0.88755, y = -0.17842 + x = 3.83262, y = 290.58404 + x = 2.77278, y = 90.88940 + x = -1.96841, y = 9.29217 + x = -4.03679, y = 212.02653 + x = -3.67558, y = 142.69554 + x = 2.16529, y = 38.98748 + x = -4.53035, y = 344.25063 + x = -0.76122, y = -0.28709 + x = -1.45508, y = 2.06420 + x = 2.52946, y = 66.04845 + x = -1.60744, y = 3.49935 + x = 0.71405, y = 1.84795 + x = 1.98204, y = 29.13010 + x = 3.13187, y = 139.86828 + x = -3.58863, y = 128.92372 + x = 2.15556, y = 38.40719 + x = -1.75655, y = 5.42924 + x = -3.68914, y = 144.93756 + x = 1.52829, y = 12.88902 + x = 3.50959, y = 210.76895 + x = 4.43928, y = 500.00798 + x = -3.30458, y = 90.78044 + x = -0.96267, y = -0.06924 + x = -4.33321, y = 285.64487 + x = 3.92540, y = 317.24859 + x = -2.18555, y = 14.96779 + x = -2.95433, y = 56.16753 + x = 4.10098, y = 372.73716 + x = -2.03042, y = 10.71739 + x = -2.74875, y = 41.12558 + x = 3.26062, y = 161.58913 + x = -1.71349, y = 4.81198 + x = -4.35660, y = 292.17286 + x = -1.20841, y = 0.61961 + x = -2.05491, y = 11.32144 + x = 2.17137, y = 39.35375 + x = 3.58115, y = 226.80354 + x = 3.46470, y = 201.15913 + x = -3.86626, y = 176.73029 + x = -0.77178, y = -0.28105 + x = -2.28444, y = 18.24690 + x = 3.50180, y = 209.07616 + x = -3.77473, y = 159.71222 + x = 2.76604, y = 90.11738 + x = 1.98516, y = 29.27978 + x = -4.38898, y = 301.39680 + x = 0.44864, y = 0.78072 + x = -0.25325, y = -0.20124 + x = 2.88740, y = 104.80371 + x = 1.33135, y = 8.60531 + x = 4.08791, y = 368.37014 + x = 4.33357, y = 457.17751 + x = -2.97426, y = 57.81623 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.stt b/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.stt new file mode 100644 index 0000000..914f613 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0002 0.0000 13.031 3.674 47 6 34 6 0.0000 0.0002 0.0000 13.031 3.674 47 6 34 6 +1 0 0.0000 0.0002 0.0000 12.460 3.889 47 6 17 9 0.0000 0.0002 0.0000 12.746 3.782 47 6 17 9 +2 0 0.0000 0.0002 0.0000 12.453 4.034 43 6 5 3 0.0000 0.0002 0.0000 12.648 3.866 43 6 17 9 +3 0 0.0000 0.0002 0.0000 12.540 4.123 37 6 10 5 0.0000 0.0002 0.0000 12.621 3.930 37 6 17 9 +4 0 0.0000 0.0002 0.0000 13.461 4.345 35 6 39 7 0.0000 0.0002 0.0000 12.789 4.013 35 6 17 9 +5 0 0.0000 0.0003 0.0000 14.694 4.571 38 6 5 4 0.0000 0.0003 0.0000 13.107 4.106 38 6 17 9 +6 0 0.0000 0.0003 0.0000 18.207 5.093 43 10 44 7 0.0000 0.0003 0.0000 13.835 4.247 43 10 17 9 +7 0 0.0001 0.0004 0.0000 25.668 6.211 29 6 60 11 0.0000 0.0004 0.0000 15.314 4.492 29 6 17 9 +8 0 0.0001 0.0005 0.0000 35.144 7.493 72 15 23 8 0.0000 0.0005 0.0000 17.518 4.826 72 15 17 9 +9 0 0.0001 0.0006 0.0000 45.317 8.906 54 11 93 11 0.0001 0.0006 0.0000 20.298 5.234 54 11 17 9 +10 0 0.0001 0.0005 0.0000 52.556 9.898 75 12 62 9 0.0001 0.0006 0.0000 23.230 5.658 54 11 17 9 +11 0 0.0001 0.0006 0.0000 58.057 10.617 57 12 22 9 0.0001 0.0006 0.0000 26.132 6.071 57 12 17 9 +12 0 0.0001 0.0006 0.0000 62.618 11.200 47 10 59 11 0.0001 0.0006 0.0000 28.939 6.466 47 10 17 9 +13 0 0.0001 0.0006 0.0000 65.484 11.629 48 10 62 12 0.0001 0.0006 0.0000 31.549 6.835 47 10 17 9 +14 0 0.0001 0.0006 0.0000 67.719 11.824 87 16 74 14 0.0001 0.0006 0.0000 33.961 7.167 47 10 17 9 +15 0 0.0002 0.0008 0.0000 68.785 11.936 94 11 119 14 0.0001 0.0008 0.0000 36.137 7.465 94 11 17 9 +16 0 0.0002 0.0008 0.0000 70.286 12.111 89 11 109 16 0.0001 0.0008 0.0000 38.146 7.738 89 11 17 9 +17 0 0.0002 0.0009 0.0000 71.943 12.322 76 10 87 13 0.0001 0.0009 0.0000 40.023 7.993 76 10 17 9 +18 0 0.0002 0.0009 0.0000 73.107 12.459 91 12 45 8 0.0001 0.0009 0.0000 41.765 8.228 91 12 17 9 +19 0 0.0002 0.0010 0.0000 74.947 12.661 83 12 156 17 0.0001 0.0010 0.0000 43.424 8.450 83 12 17 9 +20 0 0.0002 0.0010 0.0000 77.041 12.800 96 15 138 16 0.0001 0.0010 0.0000 45.025 8.657 96 15 17 9 +21 0 0.0003 0.0011 0.0000 80.205 12.990 93 14 63 10 0.0001 0.0011 0.0000 46.624 8.854 93 14 17 9 +22 0 0.0003 0.0011 0.0000 83.863 13.222 91 14 56 15 0.0001 0.0011 0.0000 48.243 9.044 91 14 17 9 +23 0 0.0003 0.0011 0.0000 87.117 13.435 67 10 169 17 0.0001 0.0011 0.0000 49.863 9.227 67 10 17 9 +24 0 0.0003 0.0012 0.0000 90.766 13.608 84 14 33 7 0.0001 0.0012 0.0000 51.499 9.402 84 14 17 9 +25 0 0.0004 0.0013 0.0000 95.918 13.873 76 11 95 14 0.0001 0.0013 0.0000 53.207 9.574 76 11 17 9 +26 0 0.0004 0.0013 0.0000 98.530 13.960 124 13 54 11 0.0002 0.0013 0.0000 54.886 9.736 124 13 17 9 +27 0 0.0004 0.0012 0.0000 101.442 14.013 106 13 84 15 0.0002 0.0013 0.0000 56.549 9.889 124 13 17 9 +28 0 0.0004 0.0013 0.0000 105.748 14.224 91 15 76 8 0.0002 0.0013 0.0000 58.245 10.039 124 13 17 9 +29 0 0.0004 0.0015 0.0000 107.754 14.230 149 17 119 15 0.0002 0.0015 0.0000 59.895 10.178 149 17 17 9 +30 0 0.0004 0.0016 0.0000 110.963 14.320 148 16 141 16 0.0002 0.0016 0.0000 61.543 10.312 148 16 17 9 +31 0 0.0004 0.0015 0.0000 115.863 14.516 149 17 151 16 0.0002 0.0016 0.0000 63.240 10.443 148 16 17 9 +32 0 0.0005 0.0017 0.0000 119.009 14.597 150 17 86 14 0.0002 0.0017 0.0000 64.930 10.569 150 17 17 9 +33 0 0.0005 0.0017 0.0000 122.479 14.686 92 12 135 17 0.0002 0.0017 0.0000 66.623 10.690 92 12 17 9 +34 0 0.0005 0.0015 0.0000 125.656 14.818 160 17 173 17 0.0002 0.0017 0.0000 68.309 10.808 92 12 17 9 +35 0 0.0005 0.0015 0.0000 129.636 14.944 158 17 124 17 0.0002 0.0017 0.0000 70.013 10.923 92 12 17 9 +36 0 0.0006 0.0015 0.0000 132.743 15.093 157 17 164 17 0.0002 0.0017 0.0000 71.708 11.036 92 12 17 9 +37 0 0.0006 0.0016 0.0000 134.242 15.101 100 13 129 17 0.0002 0.0017 0.0000 73.354 11.143 92 12 17 9 +38 0 0.0006 0.0015 0.0000 136.367 15.127 109 13 144 16 0.0003 0.0017 0.0000 74.970 11.245 92 12 17 9 +39 0 0.0006 0.0015 0.0000 137.999 15.113 104 12 168 14 0.0003 0.0017 0.0000 76.545 11.342 92 12 17 9 +40 0 0.0006 0.0015 0.0000 140.340 15.150 142 15 150 15 0.0003 0.0017 0.0000 78.101 11.435 92 12 17 9 +41 0 0.0006 0.0018 0.0000 142.575 15.201 145 15 114 15 0.0003 0.0018 0.0000 79.636 11.524 145 15 17 9 +42 0 0.0006 0.0018 0.0000 144.961 15.276 136 15 129 14 0.0003 0.0018 0.0000 81.156 11.611 145 15 17 9 +43 0 0.0007 0.0017 0.0000 146.635 15.302 136 15 127 16 0.0003 0.0018 0.0000 82.644 11.695 145 15 17 9 +44 0 0.0007 0.0017 0.0000 148.561 15.356 136 15 136 16 0.0003 0.0018 0.0000 84.109 11.777 145 15 17 9 +45 0 0.0007 0.0018 0.0000 150.301 15.413 122 15 159 17 0.0003 0.0018 0.0000 85.548 11.856 145 15 17 9 +46 0 0.0007 0.0018 0.0000 152.311 15.424 137 15 118 15 0.0003 0.0018 0.0000 86.968 11.932 145 15 17 9 +47 0 0.0007 0.0018 0.0000 154.809 15.468 122 15 145 15 0.0003 0.0018 0.0000 88.381 12.005 145 15 17 9 +48 0 0.0007 0.0018 0.0000 157.069 15.564 115 15 135 13 0.0003 0.0018 0.0000 89.783 12.078 145 15 17 9 +49 0 0.0007 0.0018 0.0000 159.581 15.657 127 16 239 17 0.0003 0.0018 0.0000 91.179 12.150 127 16 17 9 +50 0 0.0008 0.0019 0.0000 161.479 15.714 125 16 197 16 0.0004 0.0019 0.0000 92.558 12.219 125 16 17 9 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.sys b/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.sys new file mode 100644 index 0000000..6512875 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_4/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 1671. +creating initial population(s): + 5628 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 449457378 + freed: 448454778 + not freed: 1002600 + max allocated: 17058737 + malloc'ed blocks: 744681 + realloc'ed blocks: 12 + free'ed blocks: 744531 + +------- time ------- + overall: 8s wall + evaluation: 6s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 500 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 34152 + freed: 34152 + allocated: 13500 + blocks: 26 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.bst b/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.bst new file mode 100644 index 0000000..2375c2b --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.bst @@ -0,0 +1,43 @@ +=== BEST-OF-RUN === + generation: 44 + nodes: 97 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1822.7568 + standardized fitness: 1822.7568 + adjusted fitness: 0.0005 +TREE: + (+ (- (- x x) + (* -0.71687 0.73728)) + (- (+ (- (cos -0.23218) x) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) + (/ (* (log (+ (/ (/ (+ (* (+ 0.27272 + (+ 0.74666 -0.16384)) + (cos x)) + (- (+ (log (- (- 0.33578 + (/ (- x x) + (+ x x))) -0.30410)) x) + (/ x x))) + (exp (log (exp x)))) + (cos x)) + (- (/ (- (/ (exp x) + (* 0.23157 -0.37510)) x) + (* 0.23157 0.73648)) + (/ (* 0.23157 0.73648) + (exp (* x + (cos -0.23218))))))) + (cos (* 0.23157 + (* 0.23157 + (exp x))))) + (sin 0.87653)))) +TREE-equ: +y = (((x - x) - (-0.71687 * 0.73728)) + (((cos(-0.23218) - x) + ((exp(x) / (0.23157 * 0.73648)) - ((x + 0.64967) / exp(x)))) - ((log(((((((0.27272 + (0.74666 + -0.16384)) * cos(x)) + ((log(((0.33578 - ((x - x) / (x + x))) - -0.30410)) + x) - (x / x))) / exp(log(exp(x)))) / cos(x)) + ((((exp(x) / (0.23157 * -0.37510)) - x) / (0.23157 * 0.73648)) - ((0.23157 * 0.73648) / exp((x * cos(-0.23218))))))) * cos((0.23157 * (0.23157 * exp(x))))) / sin(0.87653)))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.fn b/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.fn new file mode 100644 index 0000000..6f75047 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.fn @@ -0,0 +1,2 @@ + +y = (((x - x) - (-0.71687 * 0.73728)) + (((cos(-0.23218) - x) + ((exp(x) / (0.23157 * 0.73648)) - ((x + 0.64967) / exp(x)))) - ((log(((((((0.27272 + (0.74666 + -0.16384)) * cos(x)) + ((log(((0.33578 - ((x - x) / (x + x))) - -0.30410)) + x) - (x / x))) / exp(log(exp(x)))) / cos(x)) + ((((exp(x) / (0.23157 * -0.37510)) - x) / (0.23157 * 0.73648)) - ((0.23157 * 0.73648) / exp((x * cos(-0.23218))))))) * cos((0.23157 * (0.23157 * exp(x))))) / sin(0.87653)))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.gen b/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.his b/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.his new file mode 100644 index 0000000..1998e36 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.his @@ -0,0 +1,1372 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 7 + depth: 2 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5992.5270 + standardized fitness: 5992.5270 + adjusted fitness: 0.0002 +TREE: + (* (* x x) + (* x x)) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 7 + depth: 2 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5992.5270 + standardized fitness: 5992.5270 + adjusted fitness: 0.0002 +TREE: + (* (* x x) + (* x x)) +=== BEST-OF-RUN === + current generation: 2 + generation: 0 + nodes: 7 + depth: 2 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5992.5270 + standardized fitness: 5992.5270 + adjusted fitness: 0.0002 +TREE: + (* (* x x) + (* x x)) +=== BEST-OF-RUN === + current generation: 3 + generation: 0 + nodes: 7 + depth: 2 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5992.5270 + standardized fitness: 5992.5270 + adjusted fitness: 0.0002 +TREE: + (* (* x x) + (* x x)) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 30 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5491.1910 + standardized fitness: 5491.1910 + adjusted fitness: 0.0002 +TREE: + (+ (* (exp x) + (log (* (* (exp -0.12475) + (* x x)) + (/ (- x -0.89779) + (sin 0.83185))))) + (/ (exp (cos (/ (/ x -0.68103) + (* x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 5 + generation: 4 + nodes: 30 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5491.1910 + standardized fitness: 5491.1910 + adjusted fitness: 0.0002 +TREE: + (+ (* (exp x) + (log (* (* (exp -0.12475) + (* x x)) + (/ (- x -0.89779) + (sin 0.83185))))) + (/ (exp (cos (/ (/ x -0.68103) + (* x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 6 + generation: 4 + nodes: 30 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5491.1910 + standardized fitness: 5491.1910 + adjusted fitness: 0.0002 +TREE: + (+ (* (exp x) + (log (* (* (exp -0.12475) + (* x x)) + (/ (- x -0.89779) + (sin 0.83185))))) + (/ (exp (cos (/ (/ x -0.68103) + (* x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 7 + generation: 4 + nodes: 30 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5491.1910 + standardized fitness: 5491.1910 + adjusted fitness: 0.0002 +TREE: + (+ (* (exp x) + (log (* (* (exp -0.12475) + (* x x)) + (/ (- x -0.89779) + (sin 0.83185))))) + (/ (exp (cos (/ (/ x -0.68103) + (* x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 41 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 4915.5294 + standardized fitness: 4915.5294 + adjusted fitness: 0.0002 +TREE: + (+ (* (exp x) + (log (* (* 0.63339 + (* x x)) + (/ (- x + (exp (- (log (* (exp x) + (sin (log 0.11627)))) + (cos (+ x 0.70702))))) + (sin 0.83185))))) + (/ (exp (cos (/ (/ x -0.68103) + (* x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 19 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4076.3223 + standardized fitness: 4076.3223 + adjusted fitness: 0.0002 +TREE: + (+ (/ (exp x) + (* 0.23157 0.73648)) + (/ (exp (cos (/ (/ x -0.68103) + (* x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 22 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3762.4065 + standardized fitness: 3762.4065 + adjusted fitness: 0.0003 +TREE: + (+ (* (/ (exp x) + (* 0.23157 0.73648)) + (cos -0.23218)) + (/ (exp (cos (/ (+ -0.78559 -0.15736) + (* x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 40 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2373.1595 + standardized fitness: 2373.1595 + adjusted fitness: 0.0004 +TREE: + (+ (/ (/ (cos (cos (log (- x -0.30410)))) + (exp (log (log (* (sin -0.00529) + (log (- (cos (/ x x)) + (sin (sin (log x)))))))))) + (cos x)) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 32 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2367.0708 + standardized fitness: 2367.0708 + adjusted fitness: 0.0004 +TREE: + (+ (/ (/ (cos (cos (log (- x -0.30410)))) + (exp (log (log (* (sin -0.00529) + (log x)))))) + (cos x)) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 18 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2269.0892 + standardized fitness: 2269.0892 + adjusted fitness: 0.0004 +TREE: + (+ (- (sin x) x) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 25 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2268.3536 + standardized fitness: 2268.3536 + adjusted fitness: 0.0004 +TREE: + (+ (- (log (* (- (sin x) -0.25787) + (exp (sin x)))) x) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 18 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2184.5049 + standardized fitness: 2184.5049 + adjusted fitness: 0.0005 +TREE: + (+ (log (* x -0.01870)) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 34 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1995.5974 + standardized fitness: 1995.5974 + adjusted fitness: 0.0005 +TREE: + (+ (exp -0.88301) + (- (+ (log (/ (* 0.09020 0.05192) + (+ (- x -0.30410) x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (/ x 0.64178) + (sin 0.87653)))) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 38 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1972.2742 + standardized fitness: 1972.2742 + adjusted fitness: 0.0005 +TREE: + (+ (exp -0.88301) + (- (+ (log (/ (* 0.09020 0.05192) + (+ (- x -0.30410) x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (/ x 0.64178) + (cos (cos (sin (sin (log x)))))))) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 18 + generation: 17 + nodes: 38 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1972.2742 + standardized fitness: 1972.2742 + adjusted fitness: 0.0005 +TREE: + (+ (exp -0.88301) + (- (+ (log (/ (* 0.09020 0.05192) + (+ (- x -0.30410) x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (/ x 0.64178) + (cos (cos (sin (sin (log x)))))))) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 19 + generation: 17 + nodes: 38 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1972.2742 + standardized fitness: 1972.2742 + adjusted fitness: 0.0005 +TREE: + (+ (exp -0.88301) + (- (+ (log (/ (* 0.09020 0.05192) + (+ (- x -0.30410) x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (/ x 0.64178) + (cos (cos (sin (sin (log x)))))))) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 20 + generation: 17 + nodes: 38 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1972.2742 + standardized fitness: 1972.2742 + adjusted fitness: 0.0005 +TREE: + (+ (exp -0.88301) + (- (+ (log (/ (* 0.09020 0.05192) + (+ (- x -0.30410) x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (/ x 0.64178) + (cos (cos (sin (sin (log x)))))))) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 21 + generation: 17 + nodes: 38 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1972.2742 + standardized fitness: 1972.2742 + adjusted fitness: 0.0005 +TREE: + (+ (exp -0.88301) + (- (+ (log (/ (* 0.09020 0.05192) + (+ (- x -0.30410) x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (/ x 0.64178) + (cos (cos (sin (sin (log x)))))))) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 22 + generation: 17 + nodes: 38 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1972.2742 + standardized fitness: 1972.2742 + adjusted fitness: 0.0005 +TREE: + (+ (exp -0.88301) + (- (+ (log (/ (* 0.09020 0.05192) + (+ (- x -0.30410) x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (/ x 0.64178) + (cos (cos (sin (sin (log x)))))))) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 36 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1914.2257 + standardized fitness: 1914.2257 + adjusted fitness: 0.0005 +TREE: + (+ (/ (/ (cos (sin 0.99669)) + (exp (log (exp x)))) + (/ (/ (cos (cos (log (- (* 0.23157 0.73648) -0.30410)))) -0.53408) + (cos x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 36 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1893.8038 + standardized fitness: 1893.8038 + adjusted fitness: 0.0005 +TREE: + (+ (/ (/ (cos (cos 0.66612)) + (exp (log (exp x)))) + (/ (/ (cos (cos (log (- (* 0.23157 0.73648) -0.30410)))) -0.53408) + (cos x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 25 + generation: 24 + nodes: 36 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1893.8038 + standardized fitness: 1893.8038 + adjusted fitness: 0.0005 +TREE: + (+ (/ (/ (cos (cos 0.66612)) + (exp (log (exp x)))) + (/ (/ (cos (cos (log (- (* 0.23157 0.73648) -0.30410)))) -0.53408) + (cos x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 26 + generation: 24 + nodes: 36 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1893.8038 + standardized fitness: 1893.8038 + adjusted fitness: 0.0005 +TREE: + (+ (/ (/ (cos (cos 0.66612)) + (exp (log (exp x)))) + (/ (/ (cos (cos (log (- (* 0.23157 0.73648) -0.30410)))) -0.53408) + (cos x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 27 + generation: 27 + nodes: 37 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1872.6067 + standardized fitness: 1872.6067 + adjusted fitness: 0.0005 +TREE: + (+ (/ (/ (cos (cos 0.66612)) + (exp (log (exp x)))) + (/ (/ (cos (cos (log (exp (+ (+ x x) 0.54610))))) -0.53408) + (cos x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 28 + generation: 27 + nodes: 37 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1872.6067 + standardized fitness: 1872.6067 + adjusted fitness: 0.0005 +TREE: + (+ (/ (/ (cos (cos 0.66612)) + (exp (log (exp x)))) + (/ (/ (cos (cos (log (exp (+ (+ x x) 0.54610))))) -0.53408) + (cos x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 29 + generation: 27 + nodes: 37 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1872.6067 + standardized fitness: 1872.6067 + adjusted fitness: 0.0005 +TREE: + (+ (/ (/ (cos (cos 0.66612)) + (exp (log (exp x)))) + (/ (/ (cos (cos (log (exp (+ (+ x x) 0.54610))))) -0.53408) + (cos x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 30 + generation: 27 + nodes: 37 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1872.6067 + standardized fitness: 1872.6067 + adjusted fitness: 0.0005 +TREE: + (+ (/ (/ (cos (cos 0.66612)) + (exp (log (exp x)))) + (/ (/ (cos (cos (log (exp (+ (+ x x) 0.54610))))) -0.53408) + (cos x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 31 + generation: 27 + nodes: 37 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1872.6067 + standardized fitness: 1872.6067 + adjusted fitness: 0.0005 +TREE: + (+ (/ (/ (cos (cos 0.66612)) + (exp (log (exp x)))) + (/ (/ (cos (cos (log (exp (+ (+ x x) 0.54610))))) -0.53408) + (cos x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 32 + generation: 27 + nodes: 37 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1872.6067 + standardized fitness: 1872.6067 + adjusted fitness: 0.0005 +TREE: + (+ (/ (/ (cos (cos 0.66612)) + (exp (log (exp x)))) + (/ (/ (cos (cos (log (exp (+ (+ x x) 0.54610))))) -0.53408) + (cos x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 33 + generation: 27 + nodes: 37 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1872.6067 + standardized fitness: 1872.6067 + adjusted fitness: 0.0005 +TREE: + (+ (/ (/ (cos (cos 0.66612)) + (exp (log (exp x)))) + (/ (/ (cos (cos (log (exp (+ (+ x x) 0.54610))))) -0.53408) + (cos x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 34 + generation: 27 + nodes: 37 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1872.6067 + standardized fitness: 1872.6067 + adjusted fitness: 0.0005 +TREE: + (+ (/ (/ (cos (cos 0.66612)) + (exp (log (exp x)))) + (/ (/ (cos (cos (log (exp (+ (+ x x) 0.54610))))) -0.53408) + (cos x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 35 + generation: 27 + nodes: 37 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1872.6067 + standardized fitness: 1872.6067 + adjusted fitness: 0.0005 +TREE: + (+ (/ (/ (cos (cos 0.66612)) + (exp (log (exp x)))) + (/ (/ (cos (cos (log (exp (+ (+ x x) 0.54610))))) -0.53408) + (cos x))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 36 + generation: 36 + nodes: 74 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1858.1687 + standardized fitness: 1858.1687 + adjusted fitness: 0.0005 +TREE: + (+ (/ (log (- (cos (/ (/ x + (+ x 0.26036)) x)) + (+ (/ (/ (/ (sin (exp (log (log (* (sin -0.00529) + (- (log 0.00663) + (/ x + (exp x)))))))) x) + (exp (sin (/ x -0.08640)))) + (cos (cos (+ (sin -0.08324) + (/ (- -0.30159 0.22373) + (- x x)))))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ 0.76273 -0.78254))))) + (log (exp -0.37413))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 37 + generation: 36 + nodes: 74 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1858.1687 + standardized fitness: 1858.1687 + adjusted fitness: 0.0005 +TREE: + (+ (/ (log (- (cos (/ (/ x + (+ x 0.26036)) x)) + (+ (/ (/ (/ (sin (exp (log (log (* (sin -0.00529) + (- (log 0.00663) + (/ x + (exp x)))))))) x) + (exp (sin (/ x -0.08640)))) + (cos (cos (+ (sin -0.08324) + (/ (- -0.30159 0.22373) + (- x x)))))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ 0.76273 -0.78254))))) + (log (exp -0.37413))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 38 + generation: 36 + nodes: 74 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1858.1687 + standardized fitness: 1858.1687 + adjusted fitness: 0.0005 +TREE: + (+ (/ (log (- (cos (/ (/ x + (+ x 0.26036)) x)) + (+ (/ (/ (/ (sin (exp (log (log (* (sin -0.00529) + (- (log 0.00663) + (/ x + (exp x)))))))) x) + (exp (sin (/ x -0.08640)))) + (cos (cos (+ (sin -0.08324) + (/ (- -0.30159 0.22373) + (- x x)))))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ 0.76273 -0.78254))))) + (log (exp -0.37413))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 39 + generation: 36 + nodes: 74 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1858.1687 + standardized fitness: 1858.1687 + adjusted fitness: 0.0005 +TREE: + (+ (/ (log (- (cos (/ (/ x + (+ x 0.26036)) x)) + (+ (/ (/ (/ (sin (exp (log (log (* (sin -0.00529) + (- (log 0.00663) + (/ x + (exp x)))))))) x) + (exp (sin (/ x -0.08640)))) + (cos (cos (+ (sin -0.08324) + (/ (- -0.30159 0.22373) + (- x x)))))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ 0.76273 -0.78254))))) + (log (exp -0.37413))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) +=== BEST-OF-RUN === + current generation: 40 + generation: 40 + nodes: 40 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1839.1764 + standardized fitness: 1839.1764 + adjusted fitness: 0.0005 +TREE: + (+ (- (sin (* (/ (+ x 0.64967) + (exp x)) x)) + (- (/ (cos x) + (exp x)) x)) + (+ (log (log (sin (/ (exp x) + (exp x))))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x))))) +=== BEST-OF-RUN === + current generation: 41 + generation: 40 + nodes: 40 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1839.1764 + standardized fitness: 1839.1764 + adjusted fitness: 0.0005 +TREE: + (+ (- (sin (* (/ (+ x 0.64967) + (exp x)) x)) + (- (/ (cos x) + (exp x)) x)) + (+ (log (log (sin (/ (exp x) + (exp x))))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x))))) +=== BEST-OF-RUN === + current generation: 42 + generation: 40 + nodes: 40 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1839.1764 + standardized fitness: 1839.1764 + adjusted fitness: 0.0005 +TREE: + (+ (- (sin (* (/ (+ x 0.64967) + (exp x)) x)) + (- (/ (cos x) + (exp x)) x)) + (+ (log (log (sin (/ (exp x) + (exp x))))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x))))) +=== BEST-OF-RUN === + current generation: 43 + generation: 40 + nodes: 40 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1839.1764 + standardized fitness: 1839.1764 + adjusted fitness: 0.0005 +TREE: + (+ (- (sin (* (/ (+ x 0.64967) + (exp x)) x)) + (- (/ (cos x) + (exp x)) x)) + (+ (log (log (sin (/ (exp x) + (exp x))))) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x))))) +=== BEST-OF-RUN === + current generation: 44 + generation: 44 + nodes: 97 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1822.7568 + standardized fitness: 1822.7568 + adjusted fitness: 0.0005 +TREE: + (+ (- (- x x) + (* -0.71687 0.73728)) + (- (+ (- (cos -0.23218) x) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) + (/ (* (log (+ (/ (/ (+ (* (+ 0.27272 + (+ 0.74666 -0.16384)) + (cos x)) + (- (+ (log (- (- 0.33578 + (/ (- x x) + (+ x x))) -0.30410)) x) + (/ x x))) + (exp (log (exp x)))) + (cos x)) + (- (/ (- (/ (exp x) + (* 0.23157 -0.37510)) x) + (* 0.23157 0.73648)) + (/ (* 0.23157 0.73648) + (exp (* x + (cos -0.23218))))))) + (cos (* 0.23157 + (* 0.23157 + (exp x))))) + (sin 0.87653)))) +=== BEST-OF-RUN === + current generation: 45 + generation: 44 + nodes: 97 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1822.7568 + standardized fitness: 1822.7568 + adjusted fitness: 0.0005 +TREE: + (+ (- (- x x) + (* -0.71687 0.73728)) + (- (+ (- (cos -0.23218) x) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) + (/ (* (log (+ (/ (/ (+ (* (+ 0.27272 + (+ 0.74666 -0.16384)) + (cos x)) + (- (+ (log (- (- 0.33578 + (/ (- x x) + (+ x x))) -0.30410)) x) + (/ x x))) + (exp (log (exp x)))) + (cos x)) + (- (/ (- (/ (exp x) + (* 0.23157 -0.37510)) x) + (* 0.23157 0.73648)) + (/ (* 0.23157 0.73648) + (exp (* x + (cos -0.23218))))))) + (cos (* 0.23157 + (* 0.23157 + (exp x))))) + (sin 0.87653)))) +=== BEST-OF-RUN === + current generation: 46 + generation: 44 + nodes: 97 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1822.7568 + standardized fitness: 1822.7568 + adjusted fitness: 0.0005 +TREE: + (+ (- (- x x) + (* -0.71687 0.73728)) + (- (+ (- (cos -0.23218) x) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) + (/ (* (log (+ (/ (/ (+ (* (+ 0.27272 + (+ 0.74666 -0.16384)) + (cos x)) + (- (+ (log (- (- 0.33578 + (/ (- x x) + (+ x x))) -0.30410)) x) + (/ x x))) + (exp (log (exp x)))) + (cos x)) + (- (/ (- (/ (exp x) + (* 0.23157 -0.37510)) x) + (* 0.23157 0.73648)) + (/ (* 0.23157 0.73648) + (exp (* x + (cos -0.23218))))))) + (cos (* 0.23157 + (* 0.23157 + (exp x))))) + (sin 0.87653)))) +=== BEST-OF-RUN === + current generation: 47 + generation: 44 + nodes: 97 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1822.7568 + standardized fitness: 1822.7568 + adjusted fitness: 0.0005 +TREE: + (+ (- (- x x) + (* -0.71687 0.73728)) + (- (+ (- (cos -0.23218) x) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) + (/ (* (log (+ (/ (/ (+ (* (+ 0.27272 + (+ 0.74666 -0.16384)) + (cos x)) + (- (+ (log (- (- 0.33578 + (/ (- x x) + (+ x x))) -0.30410)) x) + (/ x x))) + (exp (log (exp x)))) + (cos x)) + (- (/ (- (/ (exp x) + (* 0.23157 -0.37510)) x) + (* 0.23157 0.73648)) + (/ (* 0.23157 0.73648) + (exp (* x + (cos -0.23218))))))) + (cos (* 0.23157 + (* 0.23157 + (exp x))))) + (sin 0.87653)))) +=== BEST-OF-RUN === + current generation: 48 + generation: 44 + nodes: 97 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1822.7568 + standardized fitness: 1822.7568 + adjusted fitness: 0.0005 +TREE: + (+ (- (- x x) + (* -0.71687 0.73728)) + (- (+ (- (cos -0.23218) x) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) + (/ (* (log (+ (/ (/ (+ (* (+ 0.27272 + (+ 0.74666 -0.16384)) + (cos x)) + (- (+ (log (- (- 0.33578 + (/ (- x x) + (+ x x))) -0.30410)) x) + (/ x x))) + (exp (log (exp x)))) + (cos x)) + (- (/ (- (/ (exp x) + (* 0.23157 -0.37510)) x) + (* 0.23157 0.73648)) + (/ (* 0.23157 0.73648) + (exp (* x + (cos -0.23218))))))) + (cos (* 0.23157 + (* 0.23157 + (exp x))))) + (sin 0.87653)))) +=== BEST-OF-RUN === + current generation: 49 + generation: 44 + nodes: 97 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1822.7568 + standardized fitness: 1822.7568 + adjusted fitness: 0.0005 +TREE: + (+ (- (- x x) + (* -0.71687 0.73728)) + (- (+ (- (cos -0.23218) x) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) + (/ (* (log (+ (/ (/ (+ (* (+ 0.27272 + (+ 0.74666 -0.16384)) + (cos x)) + (- (+ (log (- (- 0.33578 + (/ (- x x) + (+ x x))) -0.30410)) x) + (/ x x))) + (exp (log (exp x)))) + (cos x)) + (- (/ (- (/ (exp x) + (* 0.23157 -0.37510)) x) + (* 0.23157 0.73648)) + (/ (* 0.23157 0.73648) + (exp (* x + (cos -0.23218))))))) + (cos (* 0.23157 + (* 0.23157 + (exp x))))) + (sin 0.87653)))) +=== BEST-OF-RUN === + current generation: 50 + generation: 44 + nodes: 97 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1822.7568 + standardized fitness: 1822.7568 + adjusted fitness: 0.0005 +TREE: + (+ (- (- x x) + (* -0.71687 0.73728)) + (- (+ (- (cos -0.23218) x) + (- (/ (exp x) + (* 0.23157 0.73648)) + (/ (+ x 0.64967) + (exp x)))) + (/ (* (log (+ (/ (/ (+ (* (+ 0.27272 + (+ 0.74666 -0.16384)) + (cos x)) + (- (+ (log (- (- 0.33578 + (/ (- x x) + (+ x x))) -0.30410)) x) + (/ x x))) + (exp (log (exp x)))) + (cos x)) + (- (/ (- (/ (exp x) + (* 0.23157 -0.37510)) x) + (* 0.23157 0.73648)) + (/ (* 0.23157 0.73648) + (exp (* x + (cos -0.23218))))))) + (cos (* 0.23157 + (* 0.23157 + (exp x))))) + (sin 0.87653)))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.prg b/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.prg new file mode 100644 index 0000000..7544f49 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 2.89913, y = 106.31479 + x = -0.93918, y = -0.10751 + x = -1.56383, y = 3.03810 + x = 2.04842, y = 32.44634 + x = -4.78816, y = 433.98485 + x = -3.38218, y = 100.22206 + x = 3.36340, y = 180.69573 + x = 3.87431, y = 302.34636 + x = 1.49973, y = 12.18091 + x = 0.93406, y = 3.38264 + x = 2.20363, y = 41.34125 + x = -2.35827, y = 21.01726 + x = -3.01657, y = 61.43735 + x = -1.37945, y = 1.51944 + x = -4.09992, y = 226.34697 + x = 4.97912, y = 767.83708 + x = -1.42355, y = 1.82479 + x = -4.14662, y = 237.39905 + x = 4.01258, y = 343.95356 + x = -1.34387, y = 1.29672 + x = -4.46903, y = 325.13786 + x = -0.87006, y = -0.19864 + x = 2.79215, y = 93.13487 + x = -0.37213, y = -0.26600 + x = 3.05224, y = 127.59475 + x = 0.32751, y = 0.48141 + x = -4.63945, y = 380.32648 + x = -1.79465, y = 6.01935 + x = 1.00321, y = 4.03224 + x = -0.89238, y = -0.17252 + x = 1.19499, y = 6.36857 + x = -1.17378, y = 0.48503 + x = -2.20532, y = 15.58576 + x = -1.23497, y = 0.73273 + x = -3.76011, y = 157.11069 + x = -1.20744, y = 0.61565 + x = -3.72367, y = 150.76815 + x = -4.08190, y = 222.18624 + x = -2.55383, y = 29.84887 + x = -1.81956, y = 6.42846 + x = -0.33489, y = -0.24772 + x = 0.61017, y = 1.34828 + x = -3.34015, y = 95.02162 + x = 1.90883, y = 25.78355 + x = 2.15139, y = 38.16041 + x = -2.49506, y = 26.95237 + x = -0.02642, y = -0.02574 + x = -1.63003, y = 3.75558 + x = -0.09256, y = -0.08472 + x = 1.03534, y = 4.36607 + x = -0.90947, y = -0.15043 + x = 1.60395, y = 14.92160 + x = -2.15473, y = 14.04021 + x = 2.95645, y = 113.93635 + x = -0.61454, y = -0.32634 + x = -0.92708, y = -0.12570 + x = -3.73385, y = 152.52171 + x = 4.67113, y = 604.50219 + x = 0.80853, y = 2.41813 + x = 1.41929, y = 10.35033 + x = -4.65852, y = 386.91243 + x = 2.44530, y = 58.80044 + x = 1.42813, y = 10.54024 + x = -1.68071, y = 4.37585 + x = -3.73106, y = 152.03860 + x = -3.40654, y = 103.33149 + x = -4.01812, y = 207.92293 + x = 0.07461, y = 0.08062 + x = 1.46916, y = 11.45757 + x = 3.39514, y = 186.92858 + x = 0.00554, y = 0.00557 + x = -4.79352, y = 436.02084 + x = 0.94594, y = 3.48785 + x = -2.02276, y = 10.53341 + x = 4.56560, y = 555.07918 + x = -1.07299, y = 0.16847 + x = -3.71533, y = 149.34446 + x = 4.83569, y = 688.10621 + x = -4.75759, y = 422.51932 + x = -1.02068, y = 0.04309 + x = -0.93863, y = -0.10835 + x = -4.31058, y = 279.43275 + x = 2.39682, y = 54.91287 + x = 4.58393, y = 563.43642 + x = -1.23386, y = 0.72783 + x = 3.74969, y = 268.21969 + x = 2.39809, y = 55.01167 + x = 4.47539, y = 515.30723 + x = -2.50391, y = 27.37468 + x = 4.64643, y = 592.64925 + x = -2.18933, y = 15.08436 + x = 1.20173, y = 6.46694 + x = -0.55106, y = -0.32252 + x = -0.94896, y = -0.09205 + x = 3.17490, y = 146.86405 + x = -0.54137, y = -0.32106 + x = 4.66423, y = 601.17306 + x = 3.68261, y = 251.10356 + x = 2.34323, y = 50.84822 + x = -1.77562, y = 5.71936 + x = -3.77973, y = 160.60828 + x = 0.13789, y = 0.15988 + x = -1.87244, y = 7.36092 + x = -4.07189, y = 219.90079 + x = -3.02603, y = 62.26985 + x = -1.59889, y = 3.40552 + x = 4.20713, y = 409.66101 + x = -1.73866, y = 5.16656 + x = -0.80969, y = -0.25511 + x = 0.63577, y = 1.46036 + x = 1.67483, y = 17.04628 + x = -3.20924, y = 80.11148 + x = 2.17504, y = 39.57616 + x = 1.16209, y = 5.90566 + x = -1.39139, y = 1.59884 + x = -0.86025, y = -0.20919 + x = -2.00364, y = 10.08406 + x = -2.62291, y = 33.54148 + x = 0.14439, y = 0.16868 + x = 1.81031, y = 21.76051 + x = -3.07077, y = 66.32081 + x = -2.70072, y = 38.09553 + x = 2.73137, y = 86.22645 + x = -1.75521, y = 5.40931 + x = 2.17487, y = 39.56560 + x = 4.86765, y = 705.30227 + x = 2.07891, y = 34.06430 + x = 0.01783, y = 0.01815 + x = -3.99673, y = 203.29807 + x = 1.16449, y = 5.93843 + x = -0.28012, y = -0.21747 + x = 3.02333, y = 123.34786 + x = 0.64539, y = 1.50422 + x = -0.39337, y = -0.27555 + x = 2.30449, y = 48.05696 + x = -2.72939, y = 39.88368 + x = -1.48562, y = 2.31376 + x = -3.76527, y = 158.02579 + x = 0.97532, y = 3.75917 + x = 4.62639, y = 583.15895 + x = 0.75333, y = 2.07044 + x = 0.02099, y = 0.02144 + x = -0.66900, y = -0.32055 + x = 0.68578, y = 1.69977 + x = 2.71721, y = 84.67399 + x = -4.48860, y = 331.14831 + x = 3.47036, y = 202.35129 + x = -3.79585, y = 163.52388 + x = 1.87617, y = 24.39074 + x = 3.30725, y = 170.05724 + x = 2.37972, y = 53.58963 + x = -0.35360, y = -0.25714 + x = 2.67934, y = 80.62889 + x = -3.82126, y = 168.20110 + x = 3.50449, y = 209.66039 + x = -1.80306, y = 6.15535 + x = 4.49250, y = 522.68163 + x = 3.52093, y = 213.25143 + x = -1.37638, y = 1.49943 + x = 4.70336, y = 620.23773 + x = 4.88673, y = 715.72487 + x = 2.97240, y = 116.12956 + x = 2.28603, y = 46.76870 + x = -0.43608, y = -0.29268 + x = 4.88244, y = 713.37064 + x = -3.34616, y = 95.75230 + x = 2.45976, y = 60.00033 + x = -3.51074, y = 117.45613 + x = 3.44489, y = 197.02479 + x = -1.90279, y = 7.93728 + x = 0.66940, y = 1.61823 + x = -3.20780, y = 79.95737 + x = 0.50093, y = 0.94051 + x = 1.83714, y = 22.80391 + x = 4.43059, y = 496.37568 + x = 2.28282, y = 46.54798 + x = -0.38007, y = -0.26965 + x = 1.55263, y = 13.51741 + x = -0.25970, y = -0.20522 + x = -1.02207, y = 0.04612 + x = -4.62485, y = 375.34253 + x = 3.55798, y = 221.51481 + x = -3.60579, y = 131.55937 + x = -3.70010, y = 146.76906 + x = 1.27776, y = 7.66212 + x = 1.74748, y = 19.46253 + x = -4.26270, y = 266.62211 + x = -3.91853, y = 187.04107 + x = -0.27581, y = -0.21493 + x = 0.65065, y = 1.52867 + x = -0.18915, y = -0.15886 + x = -2.97489, y = 57.86912 + x = -2.21016, y = 15.73972 + x = -2.12190, y = 13.09893 + x = -1.04301, y = 0.09366 + x = -1.03887, y = 0.08396 + x = 4.52006, y = 534.72570 + x = 2.49386, y = 62.90334 + x = 1.25519, y = 7.29045 + x = -4.56562, y = 355.61740 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.stt b/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.stt new file mode 100644 index 0000000..838df41 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0002 0.0000 13.263 3.693 7 2 27 5 0.0000 0.0002 0.0000 13.263 3.693 7 2 27 5 +1 0 0.0000 0.0001 0.0000 12.761 3.894 23 5 5 3 0.0000 0.0002 0.0000 13.012 3.794 7 2 27 5 +2 0 0.0000 0.0001 0.0000 12.733 4.093 18 4 13 5 0.0000 0.0002 0.0000 12.919 3.893 7 2 27 5 +3 0 0.0000 0.0001 0.0000 12.723 4.209 18 4 13 4 0.0000 0.0002 0.0000 12.870 3.972 7 2 27 5 +4 0 0.0000 0.0002 0.0000 12.614 4.285 30 6 13 6 0.0000 0.0002 0.0000 12.819 4.035 30 6 27 5 +5 0 0.0000 0.0002 0.0000 12.663 4.371 29 6 7 6 0.0000 0.0002 0.0000 12.793 4.091 30 6 27 5 +6 0 0.0000 0.0001 0.0000 12.784 4.496 30 7 10 6 0.0000 0.0002 0.0000 12.791 4.149 30 6 27 5 +7 0 0.0000 0.0001 0.0000 13.012 4.603 30 7 8 5 0.0000 0.0002 0.0000 12.819 4.206 30 6 27 5 +8 0 0.0000 0.0002 0.0000 13.229 4.677 41 12 7 5 0.0000 0.0002 0.0000 12.865 4.258 41 12 27 5 +9 0 0.0000 0.0002 0.0000 13.847 4.856 19 6 7 4 0.0000 0.0002 0.0000 12.963 4.318 19 6 27 5 +10 0 0.0000 0.0003 0.0000 14.634 5.029 22 6 18 6 0.0000 0.0003 0.0000 13.115 4.382 22 6 27 5 +11 0 0.0000 0.0004 0.0000 15.698 5.278 40 12 27 11 0.0000 0.0004 0.0000 13.330 4.457 40 12 27 5 +12 0 0.0001 0.0004 0.0000 17.410 5.620 32 8 7 4 0.0000 0.0004 0.0000 13.644 4.547 32 8 27 5 +13 0 0.0001 0.0004 0.0000 19.779 6.101 18 4 34 11 0.0000 0.0004 0.0000 14.082 4.658 18 4 27 5 +14 0 0.0001 0.0004 0.0000 23.018 6.731 25 6 36 11 0.0000 0.0004 0.0000 14.678 4.796 25 6 27 5 +15 0 0.0001 0.0005 0.0000 27.329 7.545 18 4 68 13 0.0000 0.0005 0.0000 15.468 4.968 18 4 27 5 +16 0 0.0001 0.0005 0.0000 32.395 8.478 34 7 5 3 0.0001 0.0005 0.0000 16.464 5.174 34 7 27 5 +17 0 0.0002 0.0005 0.0000 36.749 9.188 38 10 45 8 0.0001 0.0005 0.0000 17.591 5.397 38 10 27 5 +18 0 0.0002 0.0005 0.0000 40.094 9.617 19 4 52 12 0.0001 0.0005 0.0000 18.775 5.619 38 10 27 5 +19 0 0.0002 0.0005 0.0000 43.187 9.958 37 11 46 12 0.0001 0.0005 0.0000 19.996 5.836 38 10 27 5 +20 0 0.0002 0.0005 0.0000 46.377 10.352 52 11 47 9 0.0001 0.0005 0.0000 21.252 6.051 38 10 27 5 +21 0 0.0003 0.0005 0.0000 48.748 10.555 45 9 68 12 0.0001 0.0005 0.0000 22.502 6.256 38 10 27 5 +22 0 0.0003 0.0005 0.0000 50.943 10.691 19 4 29 7 0.0001 0.0005 0.0000 23.739 6.449 38 10 27 5 +23 0 0.0003 0.0005 0.0000 53.955 10.933 36 9 39 9 0.0001 0.0005 0.0000 24.998 6.636 36 9 27 5 +24 0 0.0003 0.0005 0.0000 56.550 11.153 36 9 51 8 0.0001 0.0005 0.0000 26.260 6.816 36 9 27 5 +25 0 0.0003 0.0005 0.0000 59.980 11.390 32 7 29 6 0.0001 0.0005 0.0000 27.557 6.992 36 9 27 5 +26 0 0.0003 0.0005 0.0000 63.521 11.684 32 7 29 7 0.0001 0.0005 0.0000 28.889 7.166 36 9 27 5 +27 0 0.0003 0.0005 0.0000 66.382 11.763 37 10 73 14 0.0001 0.0005 0.0000 30.228 7.330 37 10 27 5 +28 0 0.0003 0.0005 0.0000 68.186 11.802 47 8 97 12 0.0001 0.0005 0.0000 31.537 7.484 37 10 27 5 +29 0 0.0003 0.0005 0.0000 72.029 12.034 89 17 48 7 0.0001 0.0005 0.0000 32.886 7.636 37 10 27 5 +30 0 0.0003 0.0005 0.0000 74.847 12.202 90 17 8 4 0.0001 0.0005 0.0000 34.240 7.783 37 10 27 5 +31 0 0.0003 0.0005 0.0000 77.741 12.345 55 10 85 13 0.0002 0.0005 0.0000 35.599 7.926 37 10 27 5 +32 0 0.0003 0.0005 0.0000 80.101 12.406 86 9 89 14 0.0002 0.0005 0.0000 36.948 8.062 37 10 27 5 +33 0 0.0003 0.0005 0.0000 84.052 12.608 60 14 69 14 0.0002 0.0005 0.0000 38.333 8.195 37 10 27 5 +34 0 0.0003 0.0005 0.0000 86.034 12.714 95 14 124 16 0.0002 0.0005 0.0000 39.696 8.324 37 10 27 5 +35 0 0.0003 0.0005 0.0000 88.586 12.821 69 14 41 7 0.0002 0.0005 0.0000 41.054 8.449 37 10 27 5 +36 0 0.0003 0.0005 0.0000 91.293 12.954 74 16 155 16 0.0002 0.0005 0.0000 42.412 8.571 74 16 27 5 +37 0 0.0003 0.0005 0.0000 93.639 13.076 76 16 88 16 0.0002 0.0005 0.0000 43.760 8.690 74 16 27 5 +38 0 0.0003 0.0005 0.0000 95.217 13.059 111 16 132 17 0.0002 0.0005 0.0000 45.080 8.802 74 16 27 5 +39 0 0.0003 0.0005 0.0000 97.999 13.236 69 11 95 13 0.0002 0.0005 0.0000 46.403 8.913 74 16 27 5 +40 0 0.0003 0.0005 0.0000 100.375 13.371 40 7 81 15 0.0002 0.0005 0.0000 47.719 9.021 40 7 27 5 +41 0 0.0003 0.0005 0.0000 103.959 13.473 69 11 66 10 0.0002 0.0005 0.0000 49.058 9.127 40 7 27 5 +42 0 0.0003 0.0005 0.0000 106.150 13.551 63 11 110 12 0.0002 0.0005 0.0000 50.386 9.230 40 7 27 5 +43 0 0.0003 0.0005 0.0000 109.266 13.725 97 16 144 16 0.0002 0.0005 0.0000 51.724 9.332 40 7 27 5 +44 0 0.0003 0.0005 0.0000 109.588 13.674 97 16 23 8 0.0002 0.0005 0.0000 53.010 9.429 97 16 27 5 +45 0 0.0003 0.0005 0.0000 111.307 13.766 98 16 98 10 0.0002 0.0005 0.0000 54.277 9.523 97 16 27 5 +46 0 0.0003 0.0005 0.0000 112.175 13.709 89 12 128 16 0.0002 0.0005 0.0000 55.509 9.612 97 16 27 5 +47 0 0.0003 0.0005 0.0000 114.255 13.786 100 16 143 15 0.0002 0.0005 0.0000 56.733 9.699 97 16 27 5 +48 0 0.0003 0.0005 0.0000 115.659 13.814 117 13 89 13 0.0002 0.0005 0.0000 57.935 9.783 97 16 27 5 +49 0 0.0003 0.0005 0.0000 118.071 13.925 136 13 213 17 0.0002 0.0005 0.0000 59.138 9.866 97 16 27 5 +50 0 0.0003 0.0005 0.0000 119.150 13.914 123 13 168 17 0.0002 0.0005 0.0000 60.315 9.945 97 16 27 5 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.sys b/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.sys new file mode 100644 index 0000000..6cd8a94 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_5/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 72. +creating initial population(s): + 5631 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 312348100 + freed: 311345500 + not freed: 1002600 + max allocated: 13631439 + malloc'ed blocks: 751135 + realloc'ed blocks: 12 + free'ed blocks: 750985 + +------- time ------- + overall: 7s wall + evaluation: 6s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 500 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 33931 + freed: 33931 + allocated: 14000 + blocks: 27 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.bst b/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.bst new file mode 100644 index 0000000..958014d --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.bst @@ -0,0 +1,45 @@ +=== BEST-OF-RUN === + generation: 50 + nodes: 110 + depth: 17 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 94.6946 + standardized fitness: 94.6946 + adjusted fitness: 0.0104 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (/ (log 0.74328) x) + (/ (log (/ x x)) -0.35416)) + (log (- (log x) + (+ (+ (* x x) + (/ (+ -0.87061 + (* x x)) + (+ (- (log (- 0.62563 -0.90079)) + (cos x)) + (+ (- (+ (* (/ -0.73086 x) + (cos -0.75675)) 0.85617) + (cos x)) + (- (cos (* 0.87538 x)) + (/ x + (* x + (+ 0.58676 x)))))))) + (cos (/ (+ (* x + (log 0.74328)) + (log -0.64582)) + (- 0.26089 + (/ (/ (+ (sin -0.22382) + (- (/ x x) + (/ (/ 0.60604 x) + (exp (* (+ x 0.85617) + (* x x)))))) + (* x x)) + (- (sin x) 0.44924)))))))))) x) +TREE-equ: +y = (((((x + 0.85617) * (x * x)) + x) - (((log(0.74328) / x) * (log((x / x)) / -0.35416)) - log((log(x) - (((x * x) + ((-0.87061 + (x * x)) / ((log((0.62563 - -0.90079)) - cos(x)) + (((((-0.73086 / x) * cos(-0.75675)) + 0.85617) - cos(x)) + (cos((0.87538 * x)) - (x / (x * (0.58676 + x)))))))) + cos((((x * log(0.74328)) + log(-0.64582)) / (0.26089 - (((sin(-0.22382) + ((x / x) - ((0.60604 / x) / exp(((x + 0.85617) * (x * x)))))) / (x * x)) / (sin(x) - 0.44924)))))))))) * x) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.fn b/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.fn new file mode 100644 index 0000000..af4bf51 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.fn @@ -0,0 +1,2 @@ + +y = (((((x + 0.85617) * (x * x)) + x) - (((log(0.74328) / x) * (log((x / x)) / -0.35416)) - log((log(x) - (((x * x) + ((-0.87061 + (x * x)) / ((log((0.62563 - -0.90079)) - cos(x)) + (((((-0.73086 / x) * cos(-0.75675)) + 0.85617) - cos(x)) + (cos((0.87538 * x)) - (x / (x * (0.58676 + x)))))))) + cos((((x * log(0.74328)) + log(-0.64582)) / (0.26089 - (((sin(-0.22382) + ((x / x) - ((0.60604 / x) / exp(((x + 0.85617) * (x * x)))))) / (x * x)) / (sin(x) - 0.44924)))))))))) * x) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.gen b/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.his b/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.his new file mode 100644 index 0000000..a89879e --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.his @@ -0,0 +1,1533 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 37 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5520.7841 + standardized fitness: 5520.7841 + adjusted fitness: 0.0002 +TREE: + (* (- (- (log (* (/ 0.12830 0.15094) 0.47348)) + (* (cos -0.06153) -0.40640)) + (* (* (/ (- -0.06235 x) + (exp 0.95820)) x) + (+ (- (* x x) + (sin x)) + (/ x + (exp 0.87523))))) + (- (log x) -0.85709)) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 37 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5520.7841 + standardized fitness: 5520.7841 + adjusted fitness: 0.0002 +TREE: + (* (- (- (log (* (/ 0.12830 0.15094) 0.47348)) + (* (cos -0.06153) -0.40640)) + (* (* (/ (- -0.06235 x) + (exp 0.95820)) x) + (+ (- (* x x) + (sin x)) + (/ x + (exp 0.87523))))) + (- (log x) -0.85709)) +=== BEST-OF-RUN === + current generation: 2 + generation: 0 + nodes: 37 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5520.7841 + standardized fitness: 5520.7841 + adjusted fitness: 0.0002 +TREE: + (* (- (- (log (* (/ 0.12830 0.15094) 0.47348)) + (* (cos -0.06153) -0.40640)) + (* (* (/ (- -0.06235 x) + (exp 0.95820)) x) + (+ (- (* x x) + (sin x)) + (/ x + (exp 0.87523))))) + (- (log x) -0.85709)) +=== BEST-OF-RUN === + current generation: 3 + generation: 0 + nodes: 37 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 5520.7841 + standardized fitness: 5520.7841 + adjusted fitness: 0.0002 +TREE: + (* (- (- (log (* (/ 0.12830 0.15094) 0.47348)) + (* (cos -0.06153) -0.40640)) + (* (* (/ (- -0.06235 x) + (exp 0.95820)) x) + (+ (- (* x x) + (sin x)) + (/ x + (exp 0.87523))))) + (- (log x) -0.85709)) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 16 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2345.2714 + standardized fitness: 2345.2714 + adjusted fitness: 0.0004 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) + (log 0.33459)) + (- 0.92671 0.45955)) x) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 19 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1760.9490 + standardized fitness: 1760.9490 + adjusted fitness: 0.0006 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) + (* (* -0.21132 x) -0.68337)) + (- 0.92671 0.45955)) x) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 15 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1653.6446 + standardized fitness: 1653.6446 + adjusted fitness: 0.0006 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- 0.92671 0.45955)) x) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 37 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1205.8182 + standardized fitness: 1205.8182 + adjusted fitness: 0.0008 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) + (/ (sin (/ x x)) + (+ (- (+ 0.58378 0.10236) + (cos x)) + (- (cos (* 0.87538 x)) + (/ (/ 0.27849 -0.64197) + (exp x)))))) + (- 0.92671 0.45955)) x) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 13 + depth: 4 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 787.3510 + standardized fitness: 787.3510 + adjusted fitness: 0.0013 +TREE: + (* (+ (* (+ x 0.85617) + (* x x)) x) + (+ 0.30851 x)) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 27 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 406.6917 + standardized fitness: 406.6917 + adjusted fitness: 0.0025 +TREE: + (+ (* (- (+ (* (+ x 0.85617) + (* x x)) + (+ x 0.85617)) + (- 0.92671 0.45955)) x) + (log (exp (+ (- x + (/ x -0.79473)) -0.00736)))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 27 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 293.3085 + standardized fitness: 293.3085 + adjusted fitness: 0.0034 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (- -0.33949 0.83185)) + (/ 0.58731 x)) + (log (* (* 0.94490 x) x)))) x) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 21 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 185.6475 + standardized fitness: 185.6475 + adjusted fitness: 0.0054 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (log 0.69918) + (log (* (* 0.94490 x) x)))) x) +=== BEST-OF-RUN === + current generation: 12 + generation: 11 + nodes: 21 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 185.6475 + standardized fitness: 185.6475 + adjusted fitness: 0.0054 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (log 0.69918) + (log (* (* 0.94490 x) x)))) x) +=== BEST-OF-RUN === + current generation: 13 + generation: 11 + nodes: 21 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 185.6475 + standardized fitness: 185.6475 + adjusted fitness: 0.0054 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (log 0.69918) + (log (* (* 0.94490 x) x)))) x) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 33 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 179.7281 + standardized fitness: 179.7281 + adjusted fitness: 0.0055 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (sin (- x x)) + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin 0.94005)) + (+ (* x x) 0.69758))))) x) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 44 + depth: 12 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 172.5179 + standardized fitness: 172.5179 + adjusted fitness: 0.0058 +TREE: + (+ (sin (log (cos -0.38523))) + (* x + (+ (* (+ x 0.85617) + (* x x)) + (log (* (* (exp x) + (cos 0.51251)) + (+ (* (+ (/ 0.27849 x) + (* (/ (* x 0.75529) + (/ (exp 0.51273) + (- -0.45710 0.42617))) -0.68337)) + (* x x)) x)))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 36 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 159.3420 + standardized fitness: 159.3420 + adjusted fitness: 0.0062 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* 0.85617 + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin 0.94005)) + (+ (sin (cos (cos 0.10691))) + (* (log x) + (* x x))))))) x) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 33 + depth: 7 + hits: 7 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 7 + raw fitness: 151.9284 + standardized fitness: 151.9284 + adjusted fitness: 0.0065 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (* -0.21132 x) + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin 0.94005)) + (+ (cos x) + (* x x)))))) x) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 49 + depth: 11 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 138.1663 + standardized fitness: 138.1663 + adjusted fitness: 0.0072 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* x + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin (log (- 0.92671 0.45955)))) + (+ (exp x) + (* (exp (* (+ (+ 0.70087 -0.13313) + (/ 0.58731 x)) + (- 0.26089 + (+ x 0.85617)))) + (* x x))))))) x) +=== BEST-OF-RUN === + current generation: 19 + generation: 18 + nodes: 49 + depth: 11 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 138.1663 + standardized fitness: 138.1663 + adjusted fitness: 0.0072 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* x + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin (log (- 0.92671 0.45955)))) + (+ (exp x) + (* (exp (* (+ (+ 0.70087 -0.13313) + (/ 0.58731 x)) + (- 0.26089 + (+ x 0.85617)))) + (* x x))))))) x) +=== BEST-OF-RUN === + current generation: 20 + generation: 18 + nodes: 49 + depth: 11 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 138.1663 + standardized fitness: 138.1663 + adjusted fitness: 0.0072 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* x + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin (log (- 0.92671 0.45955)))) + (+ (exp x) + (* (exp (* (+ (+ 0.70087 -0.13313) + (/ 0.58731 x)) + (- 0.26089 + (+ x 0.85617)))) + (* x x))))))) x) +=== BEST-OF-RUN === + current generation: 21 + generation: 18 + nodes: 49 + depth: 11 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 138.1663 + standardized fitness: 138.1663 + adjusted fitness: 0.0072 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* x + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin (log (- 0.92671 0.45955)))) + (+ (exp x) + (* (exp (* (+ (+ 0.70087 -0.13313) + (/ 0.58731 x)) + (- 0.26089 + (+ x 0.85617)))) + (* x x))))))) x) +=== BEST-OF-RUN === + current generation: 22 + generation: 18 + nodes: 49 + depth: 11 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 138.1663 + standardized fitness: 138.1663 + adjusted fitness: 0.0072 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* x + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin (log (- 0.92671 0.45955)))) + (+ (exp x) + (* (exp (* (+ (+ 0.70087 -0.13313) + (/ 0.58731 x)) + (- 0.26089 + (+ x 0.85617)))) + (* x x))))))) x) +=== BEST-OF-RUN === + current generation: 23 + generation: 18 + nodes: 49 + depth: 11 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 138.1663 + standardized fitness: 138.1663 + adjusted fitness: 0.0072 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* x + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin (log (- 0.92671 0.45955)))) + (+ (exp x) + (* (exp (* (+ (+ 0.70087 -0.13313) + (/ 0.58731 x)) + (- 0.26089 + (+ x 0.85617)))) + (* x x))))))) x) +=== BEST-OF-RUN === + current generation: 24 + generation: 18 + nodes: 49 + depth: 11 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 138.1663 + standardized fitness: 138.1663 + adjusted fitness: 0.0072 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* x + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin (log (- 0.92671 0.45955)))) + (+ (exp x) + (* (exp (* (+ (+ 0.70087 -0.13313) + (/ 0.58731 x)) + (- 0.26089 + (+ x 0.85617)))) + (* x x))))))) x) +=== BEST-OF-RUN === + current generation: 25 + generation: 18 + nodes: 49 + depth: 11 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 138.1663 + standardized fitness: 138.1663 + adjusted fitness: 0.0072 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* x + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin (log (- 0.92671 0.45955)))) + (+ (exp x) + (* (exp (* (+ (+ 0.70087 -0.13313) + (/ 0.58731 x)) + (- 0.26089 + (+ x 0.85617)))) + (* x x))))))) x) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 29 + depth: 7 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 129.1593 + standardized fitness: 129.1593 + adjusted fitness: 0.0077 +TREE: + (* (- (+ (* (+ x + (cos -0.49498)) + (* x x)) x) + (- (* (log 0.74328) + (/ 0.58731 x)) + (log (- -0.49498 + (+ (* x x) + (cos 0.85617)))))) x) +=== BEST-OF-RUN === + current generation: 27 + generation: 27 + nodes: 28 + depth: 7 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 129.0002 + standardized fitness: 129.0002 + adjusted fitness: 0.0077 +TREE: + (* (- (+ (* (+ x + (cos -0.49498)) + (* x x)) x) + (- (* 0.26089 + (/ 0.58731 x)) + (log (- -0.49498 + (+ (* x x) + (cos 0.85617)))))) x) +=== BEST-OF-RUN === + current generation: 28 + generation: 28 + nodes: 43 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 124.8256 + standardized fitness: 124.8256 + adjusted fitness: 0.0079 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (- -0.33949 0.83185)) + (- (* (log (- (- (log 0.74328) + (sin 0.94005)) + (+ (* x x) + (sin -0.98977)))) + (sin -0.98977)) + (cos x))) + (log (* (- 0.04278 x) x)))) x) +=== BEST-OF-RUN === + current generation: 29 + generation: 28 + nodes: 43 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 124.8256 + standardized fitness: 124.8256 + adjusted fitness: 0.0079 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (- -0.33949 0.83185)) + (- (* (log (- (- (log 0.74328) + (sin 0.94005)) + (+ (* x x) + (sin -0.98977)))) + (sin -0.98977)) + (cos x))) + (log (* (- 0.04278 x) x)))) x) +=== BEST-OF-RUN === + current generation: 30 + generation: 30 + nodes: 61 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 114.8038 + standardized fitness: 114.8038 + adjusted fitness: 0.0086 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (* (- (+ x 0.85617) + (* (* 0.94490 x) x)) x)) + (/ 0.58731 x)) + (log (- (- (- (- (/ (cos x) + (- 0.26089 0.44924)) + (sin 0.94005)) + (+ (* x x) + (sin -0.98977))) + (sin 0.94005)) + (+ (+ (* x x) + (+ -0.56431 + (cos x))) + (sin -0.98977)))))) x) +=== BEST-OF-RUN === + current generation: 31 + generation: 30 + nodes: 61 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 114.8038 + standardized fitness: 114.8038 + adjusted fitness: 0.0086 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (* (- (+ x 0.85617) + (* (* 0.94490 x) x)) x)) + (/ 0.58731 x)) + (log (- (- (- (- (/ (cos x) + (- 0.26089 0.44924)) + (sin 0.94005)) + (+ (* x x) + (sin -0.98977))) + (sin 0.94005)) + (+ (+ (* x x) + (+ -0.56431 + (cos x))) + (sin -0.98977)))))) x) +=== BEST-OF-RUN === + current generation: 32 + generation: 30 + nodes: 61 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 114.8038 + standardized fitness: 114.8038 + adjusted fitness: 0.0086 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (* (- (+ x 0.85617) + (* (* 0.94490 x) x)) x)) + (/ 0.58731 x)) + (log (- (- (- (- (/ (cos x) + (- 0.26089 0.44924)) + (sin 0.94005)) + (+ (* x x) + (sin -0.98977))) + (sin 0.94005)) + (+ (+ (* x x) + (+ -0.56431 + (cos x))) + (sin -0.98977)))))) x) +=== BEST-OF-RUN === + current generation: 33 + generation: 30 + nodes: 61 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 114.8038 + standardized fitness: 114.8038 + adjusted fitness: 0.0086 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (* (- (+ x 0.85617) + (* (* 0.94490 x) x)) x)) + (/ 0.58731 x)) + (log (- (- (- (- (/ (cos x) + (- 0.26089 0.44924)) + (sin 0.94005)) + (+ (* x x) + (sin -0.98977))) + (sin 0.94005)) + (+ (+ (* x x) + (+ -0.56431 + (cos x))) + (sin -0.98977)))))) x) +=== BEST-OF-RUN === + current generation: 34 + generation: 30 + nodes: 61 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 114.8038 + standardized fitness: 114.8038 + adjusted fitness: 0.0086 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (* (- (+ x 0.85617) + (* (* 0.94490 x) x)) x)) + (/ 0.58731 x)) + (log (- (- (- (- (/ (cos x) + (- 0.26089 0.44924)) + (sin 0.94005)) + (+ (* x x) + (sin -0.98977))) + (sin 0.94005)) + (+ (+ (* x x) + (+ -0.56431 + (cos x))) + (sin -0.98977)))))) x) +=== BEST-OF-RUN === + current generation: 35 + generation: 30 + nodes: 61 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 114.8038 + standardized fitness: 114.8038 + adjusted fitness: 0.0086 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (* (- (+ x 0.85617) + (* (* 0.94490 x) x)) x)) + (/ 0.58731 x)) + (log (- (- (- (- (/ (cos x) + (- 0.26089 0.44924)) + (sin 0.94005)) + (+ (* x x) + (sin -0.98977))) + (sin 0.94005)) + (+ (+ (* x x) + (+ -0.56431 + (cos x))) + (sin -0.98977)))))) x) +=== BEST-OF-RUN === + current generation: 36 + generation: 30 + nodes: 61 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 114.8038 + standardized fitness: 114.8038 + adjusted fitness: 0.0086 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (* (- (+ x 0.85617) + (* (* 0.94490 x) x)) x)) + (/ 0.58731 x)) + (log (- (- (- (- (/ (cos x) + (- 0.26089 0.44924)) + (sin 0.94005)) + (+ (* x x) + (sin -0.98977))) + (sin 0.94005)) + (+ (+ (* x x) + (+ -0.56431 + (cos x))) + (sin -0.98977)))))) x) +=== BEST-OF-RUN === + current generation: 37 + generation: 30 + nodes: 61 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 114.8038 + standardized fitness: 114.8038 + adjusted fitness: 0.0086 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (* (- (+ x 0.85617) + (* (* 0.94490 x) x)) x)) + (/ 0.58731 x)) + (log (- (- (- (- (/ (cos x) + (- 0.26089 0.44924)) + (sin 0.94005)) + (+ (* x x) + (sin -0.98977))) + (sin 0.94005)) + (+ (+ (* x x) + (+ -0.56431 + (cos x))) + (sin -0.98977)))))) x) +=== BEST-OF-RUN === + current generation: 38 + generation: 30 + nodes: 61 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 114.8038 + standardized fitness: 114.8038 + adjusted fitness: 0.0086 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (* (- (+ x 0.85617) + (* (* 0.94490 x) x)) x)) + (/ 0.58731 x)) + (log (- (- (- (- (/ (cos x) + (- 0.26089 0.44924)) + (sin 0.94005)) + (+ (* x x) + (sin -0.98977))) + (sin 0.94005)) + (+ (+ (* x x) + (+ -0.56431 + (cos x))) + (sin -0.98977)))))) x) +=== BEST-OF-RUN === + current generation: 39 + generation: 30 + nodes: 61 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 114.8038 + standardized fitness: 114.8038 + adjusted fitness: 0.0086 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (* (- (+ x 0.85617) + (* (* 0.94490 x) x)) x)) + (/ 0.58731 x)) + (log (- (- (- (- (/ (cos x) + (- 0.26089 0.44924)) + (sin 0.94005)) + (+ (* x x) + (sin -0.98977))) + (sin 0.94005)) + (+ (+ (* x x) + (+ -0.56431 + (cos x))) + (sin -0.98977)))))) x) +=== BEST-OF-RUN === + current generation: 40 + generation: 40 + nodes: 139 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 106.7724 + standardized fitness: 106.7724 + adjusted fitness: 0.0093 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (/ (exp (- (/ 0.58731 x) + (cos (exp x)))) + (exp (+ (* (+ (* (/ (- (- (* x x) 0.45955) x) + (* (+ x x) + (- x x))) + (cos -0.75675)) + (- (+ (* x x) + (cos (* x x))) + (- -0.98118 0.21476))) + (- (exp x) + (sin 0.94005))) + (/ (sin 0.85617) + (+ (sin -0.22382) + (- (/ x x) + (+ (sin 0.94005) x)))))))) + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin 0.94005)) + (+ (* x x) + (/ (+ -0.87061 + (* x x)) + (+ (- (log (- 0.62563 -0.90079)) + (cos x)) + (+ (- (+ 0.58378 0.10236) + (cos x)) + (- (cos (* 0.87538 x)) + (/ (cos (- (+ (* (log 0.74328) + (* x x)) + (* (log -0.81925) -0.68337)) + (- 0.41624 x))) + (* x + (+ 0.58676 x)))))))))))) x) +=== BEST-OF-RUN === + current generation: 41 + generation: 40 + nodes: 139 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 106.7724 + standardized fitness: 106.7724 + adjusted fitness: 0.0093 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (/ (exp (- (/ 0.58731 x) + (cos (exp x)))) + (exp (+ (* (+ (* (/ (- (- (* x x) 0.45955) x) + (* (+ x x) + (- x x))) + (cos -0.75675)) + (- (+ (* x x) + (cos (* x x))) + (- -0.98118 0.21476))) + (- (exp x) + (sin 0.94005))) + (/ (sin 0.85617) + (+ (sin -0.22382) + (- (/ x x) + (+ (sin 0.94005) x)))))))) + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin 0.94005)) + (+ (* x x) + (/ (+ -0.87061 + (* x x)) + (+ (- (log (- 0.62563 -0.90079)) + (cos x)) + (+ (- (+ 0.58378 0.10236) + (cos x)) + (- (cos (* 0.87538 x)) + (/ (cos (- (+ (* (log 0.74328) + (* x x)) + (* (log -0.81925) -0.68337)) + (- 0.41624 x))) + (* x + (+ 0.58676 x)))))))))))) x) +=== BEST-OF-RUN === + current generation: 42 + generation: 40 + nodes: 139 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 106.7724 + standardized fitness: 106.7724 + adjusted fitness: 0.0093 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (/ (exp (- (/ 0.58731 x) + (cos (exp x)))) + (exp (+ (* (+ (* (/ (- (- (* x x) 0.45955) x) + (* (+ x x) + (- x x))) + (cos -0.75675)) + (- (+ (* x x) + (cos (* x x))) + (- -0.98118 0.21476))) + (- (exp x) + (sin 0.94005))) + (/ (sin 0.85617) + (+ (sin -0.22382) + (- (/ x x) + (+ (sin 0.94005) x)))))))) + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin 0.94005)) + (+ (* x x) + (/ (+ -0.87061 + (* x x)) + (+ (- (log (- 0.62563 -0.90079)) + (cos x)) + (+ (- (+ 0.58378 0.10236) + (cos x)) + (- (cos (* 0.87538 x)) + (/ (cos (- (+ (* (log 0.74328) + (* x x)) + (* (log -0.81925) -0.68337)) + (- 0.41624 x))) + (* x + (+ 0.58676 x)))))))))))) x) +=== BEST-OF-RUN === + current generation: 43 + generation: 40 + nodes: 139 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 106.7724 + standardized fitness: 106.7724 + adjusted fitness: 0.0093 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (/ (exp (- (/ 0.58731 x) + (cos (exp x)))) + (exp (+ (* (+ (* (/ (- (- (* x x) 0.45955) x) + (* (+ x x) + (- x x))) + (cos -0.75675)) + (- (+ (* x x) + (cos (* x x))) + (- -0.98118 0.21476))) + (- (exp x) + (sin 0.94005))) + (/ (sin 0.85617) + (+ (sin -0.22382) + (- (/ x x) + (+ (sin 0.94005) x)))))))) + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin 0.94005)) + (+ (* x x) + (/ (+ -0.87061 + (* x x)) + (+ (- (log (- 0.62563 -0.90079)) + (cos x)) + (+ (- (+ 0.58378 0.10236) + (cos x)) + (- (cos (* 0.87538 x)) + (/ (cos (- (+ (* (log 0.74328) + (* x x)) + (* (log -0.81925) -0.68337)) + (- 0.41624 x))) + (* x + (+ 0.58676 x)))))))))))) x) +=== BEST-OF-RUN === + current generation: 44 + generation: 40 + nodes: 139 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 106.7724 + standardized fitness: 106.7724 + adjusted fitness: 0.0093 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (/ (exp (- (/ 0.58731 x) + (cos (exp x)))) + (exp (+ (* (+ (* (/ (- (- (* x x) 0.45955) x) + (* (+ x x) + (- x x))) + (cos -0.75675)) + (- (+ (* x x) + (cos (* x x))) + (- -0.98118 0.21476))) + (- (exp x) + (sin 0.94005))) + (/ (sin 0.85617) + (+ (sin -0.22382) + (- (/ x x) + (+ (sin 0.94005) x)))))))) + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin 0.94005)) + (+ (* x x) + (/ (+ -0.87061 + (* x x)) + (+ (- (log (- 0.62563 -0.90079)) + (cos x)) + (+ (- (+ 0.58378 0.10236) + (cos x)) + (- (cos (* 0.87538 x)) + (/ (cos (- (+ (* (log 0.74328) + (* x x)) + (* (log -0.81925) -0.68337)) + (- 0.41624 x))) + (* x + (+ 0.58676 x)))))))))))) x) +=== BEST-OF-RUN === + current generation: 45 + generation: 40 + nodes: 139 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 106.7724 + standardized fitness: 106.7724 + adjusted fitness: 0.0093 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (/ (exp (- (/ 0.58731 x) + (cos (exp x)))) + (exp (+ (* (+ (* (/ (- (- (* x x) 0.45955) x) + (* (+ x x) + (- x x))) + (cos -0.75675)) + (- (+ (* x x) + (cos (* x x))) + (- -0.98118 0.21476))) + (- (exp x) + (sin 0.94005))) + (/ (sin 0.85617) + (+ (sin -0.22382) + (- (/ x x) + (+ (sin 0.94005) x)))))))) + (/ 0.58731 x)) + (log (- (- (log 0.74328) + (sin 0.94005)) + (+ (* x x) + (/ (+ -0.87061 + (* x x)) + (+ (- (log (- 0.62563 -0.90079)) + (cos x)) + (+ (- (+ 0.58378 0.10236) + (cos x)) + (- (cos (* 0.87538 x)) + (/ (cos (- (+ (* (log 0.74328) + (* x x)) + (* (log -0.81925) -0.68337)) + (- 0.41624 x))) + (* x + (+ 0.58676 x)))))))))))) x) +=== BEST-OF-RUN === + current generation: 46 + generation: 46 + nodes: 77 + depth: 13 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 103.3787 + standardized fitness: 103.3787 + adjusted fitness: 0.0096 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (/ (sin (cos (/ (* (cos (/ x + (sin 0.94005))) + (/ 0.58731 x)) + (+ (cos (log 0.74328)) + (log (sin x)))))) + (- (+ (* x x) x) + (- (/ (cos (log 0.74328)) + (exp (/ 0.58731 x))) + (+ (log 0.74328) x))))) + (/ 0.58731 x)) + (log (- (- (exp x) + (* (log x) + (* x x))) + (+ (cos (/ (exp (cos 0.58393)) -0.60102)) + (sin -0.98977)))))) x) +=== BEST-OF-RUN === + current generation: 47 + generation: 46 + nodes: 77 + depth: 13 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 103.3787 + standardized fitness: 103.3787 + adjusted fitness: 0.0096 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (/ (sin (cos (/ (* (cos (/ x + (sin 0.94005))) + (/ 0.58731 x)) + (+ (cos (log 0.74328)) + (log (sin x)))))) + (- (+ (* x x) x) + (- (/ (cos (log 0.74328)) + (exp (/ 0.58731 x))) + (+ (log 0.74328) x))))) + (/ 0.58731 x)) + (log (- (- (exp x) + (* (log x) + (* x x))) + (+ (cos (/ (exp (cos 0.58393)) -0.60102)) + (sin -0.98977)))))) x) +=== BEST-OF-RUN === + current generation: 48 + generation: 46 + nodes: 77 + depth: 13 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 103.3787 + standardized fitness: 103.3787 + adjusted fitness: 0.0096 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (cos (/ (sin (cos (/ (* (cos (/ x + (sin 0.94005))) + (/ 0.58731 x)) + (+ (cos (log 0.74328)) + (log (sin x)))))) + (- (+ (* x x) x) + (- (/ (cos (log 0.74328)) + (exp (/ 0.58731 x))) + (+ (log 0.74328) x))))) + (/ 0.58731 x)) + (log (- (- (exp x) + (* (log x) + (* x x))) + (+ (cos (/ (exp (cos 0.58393)) -0.60102)) + (sin -0.98977)))))) x) +=== BEST-OF-RUN === + current generation: 49 + generation: 49 + nodes: 143 + depth: 17 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 97.4191 + standardized fitness: 97.4191 + adjusted fitness: 0.0102 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (/ (log 0.74328) x) + (/ (log (/ x x)) -0.35416)) + (log (- (log x) + (+ (+ (* x x) + (/ (+ -0.87061 + (* x x)) + (+ (- (log (- 0.62563 -0.90079)) + (cos x)) + (+ (- (+ (* (/ -0.73086 x) + (cos -0.75675)) 0.85617) + (cos x)) + (- (cos (* 0.87538 x)) + (/ x + (* x + (+ 0.58676 x)))))))) + (cos (/ (+ (* x + (* (- (log (+ (* -0.21132 x) + (log (exp x)))) + (- (* (cos (* (+ x 0.85617) + (* x x))) + (- (+ x 0.85617) + (* -0.60102 -0.60102))) + (log (* (* 0.94490 x) x)))) + (sin x))) + (log -0.64582)) + (- 0.26089 + (/ (/ (+ (sin -0.22382) + (- (/ x x) + (/ (/ 0.60604 x) + (exp (* (+ x 0.85617) + (* x x)))))) + (* x x)) + (- (sin x) 0.44924)))))))))) x) +=== BEST-OF-RUN === + current generation: 50 + generation: 50 + nodes: 110 + depth: 17 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 94.6946 + standardized fitness: 94.6946 + adjusted fitness: 0.0104 +TREE: + (* (- (+ (* (+ x 0.85617) + (* x x)) x) + (- (* (/ (log 0.74328) x) + (/ (log (/ x x)) -0.35416)) + (log (- (log x) + (+ (+ (* x x) + (/ (+ -0.87061 + (* x x)) + (+ (- (log (- 0.62563 -0.90079)) + (cos x)) + (+ (- (+ (* (/ -0.73086 x) + (cos -0.75675)) 0.85617) + (cos x)) + (- (cos (* 0.87538 x)) + (/ x + (* x + (+ 0.58676 x)))))))) + (cos (/ (+ (* x + (log 0.74328)) + (log -0.64582)) + (- 0.26089 + (/ (/ (+ (sin -0.22382) + (- (/ x x) + (/ (/ 0.60604 x) + (exp (* (+ x 0.85617) + (* x x)))))) + (* x x)) + (- (sin x) 0.44924)))))))))) x) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.prg b/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.prg new file mode 100644 index 0000000..69a8edb --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 3.22605, y = 155.52201 + x = -1.56872, y = 3.08767 + x = 3.89308, y = 307.75831 + x = 1.01814, y = 4.18470 + x = 0.69411, y = 1.74243 + x = 0.23860, y = 0.31236 + x = 2.41690, y = 56.49826 + x = -2.42449, y = 23.75490 + x = -2.82623, y = 46.38771 + x = -3.52346, y = 119.27503 + x = 3.97710, y = 332.89080 + x = 1.53561, y = 13.07556 + x = -2.38268, y = 21.99785 + x = -1.65372, y = 4.03754 + x = -2.80863, y = 45.15099 + x = 4.14225, y = 386.77990 + x = 1.03899, y = 4.40539 + x = 2.41927, y = 56.68802 + x = 4.02083, y = 346.56724 + x = 2.50693, y = 64.04409 + x = -2.17998, y = 14.79702 + x = -3.66968, y = 141.72629 + x = 1.44521, y = 10.91465 + x = -4.81118, y = 442.77237 + x = 2.63938, y = 76.52170 + x = 3.44584, y = 197.22277 + x = 1.53689, y = 13.10832 + x = 2.17468, y = 39.55425 + x = 4.89060, y = 717.85044 + x = 0.37830, y = 0.59603 + x = -3.21552, y = 80.78321 + x = 3.55422, y = 220.66554 + x = 4.43821, y = 499.55651 + x = 2.65041, y = 77.63938 + x = -4.05729, y = 216.59849 + x = -4.85022, y = 457.98317 + x = -3.62093, y = 133.91676 + x = -4.64896, y = 383.60176 + x = 2.82315, y = 96.81815 + x = 4.22937, y = 417.73418 + x = -3.52333, y = 119.25634 + x = -0.64960, y = -0.32367 + x = 2.92091, y = 109.16316 + x = -1.84166, y = 6.80740 + x = -3.26239, y = 85.93637 + x = 1.40373, y = 10.02284 + x = 0.19203, y = 0.23735 + x = 3.34744, y = 177.62202 + x = -2.79165, y = 43.98128 + x = -2.32353, y = 19.67815 + x = 0.67781, y = 1.65972 + x = -4.70589, y = 403.64626 + x = -2.29792, y = 18.73147 + x = -3.88008, y = 179.41391 + x = 3.30165, y = 169.02331 + x = 4.67183, y = 604.83731 + x = -1.00693, y = 0.01404 + x = -3.75733, y = 156.62131 + x = 0.07543, y = 0.08158 + x = 0.54433, y = 1.08969 + x = -1.14047, y = 0.36858 + x = 2.06586, y = 33.36419 + x = -0.24764, y = -0.19774 + x = -2.05559, y = 11.33857 + x = 4.99987, y = 779.92382 + x = -0.37329, y = -0.26654 + x = 3.61470, y = 234.63340 + x = 4.45898, y = 508.31108 + x = -3.39133, y = 101.38080 + x = 0.78764, y = 2.28154 + x = -1.04978, y = 0.10985 + x = 2.69155, y = 81.91659 + x = 0.21092, y = 0.26678 + x = 1.34436, y = 8.84777 + x = -3.17089, y = 76.09513 + x = -2.47409, y = 25.97095 + x = 3.62824, y = 237.84989 + x = 0.32529, y = 0.47671 + x = -3.11283, y = 70.30466 + x = 2.96755, y = 115.45891 + x = -0.54723, y = -0.32197 + x = 0.29422, y = 0.41376 + x = -2.90074, y = 51.90643 + x = -0.65373, y = -0.32311 + x = -3.48123, y = 113.31795 + x = -0.28138, y = -0.21821 + x = -1.19813, y = 0.57817 + x = 1.49380, y = 12.03785 + x = 2.65054, y = 77.65262 + x = 1.31600, y = 8.32638 + x = -3.46492, y = 111.07873 + x = -3.07991, y = 67.17118 + x = 3.74236, y = 266.30838 + x = -2.96449, y = 57.00382 + x = 0.27915, y = 0.38489 + x = -1.21488, y = 0.64635 + x = 4.13947, y = 385.82155 + x = -3.42345, y = 105.53298 + x = -3.67078, y = 141.90634 + x = 4.21170, y = 411.30936 + x = 2.77548, y = 91.20034 + x = 4.86674, y = 704.81084 + x = 1.46027, y = 11.25353 + x = -0.75920, y = -0.28819 + x = 3.22370, y = 155.11558 + x = -4.61641, y = 372.48342 + x = 3.19485, y = 150.19583 + x = 3.35581, y = 179.22928 + x = 4.60115, y = 571.37380 + x = -1.41697, y = 1.77713 + x = 0.86996, y = 2.85799 + x = 2.49927, y = 63.37427 + x = -1.40787, y = 1.71243 + x = 3.75942, y = 270.77414 + x = -0.99075, y = -0.01817 + x = -3.06057, y = 65.37996 + x = 3.32350, y = 173.08525 + x = -2.28315, y = 18.20113 + x = 2.66526, y = 79.16323 + x = 1.21475, y = 6.66032 + x = 0.48724, y = 0.89667 + x = 2.03816, y = 31.91543 + x = 3.12976, y = 139.53158 + x = -2.60302, y = 32.44577 + x = 3.01216, y = 121.73592 + x = -0.91652, y = -0.14078 + x = -3.76872, y = 158.63842 + x = -4.02987, y = 210.49939 + x = 3.12067, y = 138.08980 + x = -3.55447, y = 123.79644 + x = -0.66894, y = -0.32056 + x = -4.72757, y = 411.47966 + x = 0.72414, y = 1.90320 + x = 3.30415, y = 169.48317 + x = -2.90241, y = 52.03530 + x = 1.95349, y = 27.78731 + x = -3.29790, y = 90.00044 + x = -1.66016, y = 4.11666 + x = -4.66298, y = 388.46717 + x = 4.57934, y = 561.33495 + x = 1.39513, y = 9.84535 + x = -3.91498, y = 186.32655 + x = 3.82854, y = 289.45208 + x = -3.56421, y = 125.24238 + x = -4.17123, y = 243.38353 + x = -0.50308, y = -0.31326 + x = -1.20966, y = 0.62473 + x = 1.34539, y = 8.86699 + x = -0.97665, y = -0.04456 + x = -3.80433, y = 165.07442 + x = -2.44616, y = 24.70519 + x = 3.16935, y = 145.94665 + x = -1.54412, y = 2.84348 + x = 4.88370, y = 714.05842 + x = -0.11937, y = -0.10661 + x = 2.50305, y = 63.70430 + x = -0.85739, y = -0.21215 + x = 3.15612, y = 143.77933 + x = -2.85679, y = 48.59547 + x = -3.72980, y = 151.82142 + x = 3.68149, y = 250.82475 + x = -0.14499, y = -0.12657 + x = 3.01879, y = 122.69144 + x = -4.97819, y = 510.59853 + x = 2.18790, y = 40.36261 + x = -0.21506, y = -0.17661 + x = 3.67074, y = 248.16273 + x = -2.84366, y = 47.63795 + x = 2.93065, y = 110.45632 + x = 4.51234, y = 531.32748 + x = 3.14909, y = 142.63758 + x = -3.02189, y = 61.90452 + x = 3.69350, y = 253.82429 + x = 1.46959, y = 11.46746 + x = -1.33909, y = 1.26828 + x = 2.31789, y = 49.00861 + x = -1.41772, y = 1.78250 + x = 3.24606, y = 159.01277 + x = 2.51634, y = 64.87576 + x = -4.49090, y = 331.85804 + x = 4.94087, y = 745.92475 + x = -1.92484, y = 8.37571 + x = 3.82691, y = 289.00261 + x = 1.85046, y = 23.33633 + x = -2.23596, y = 16.58001 + x = 4.47605, y = 515.59101 + x = -2.74636, y = 40.97107 + x = 0.70233, y = 1.78533 + x = -3.88376, y = 180.13274 + x = 2.31265, y = 48.63443 + x = 3.28276, y = 165.56849 + x = 4.54576, y = 546.14249 + x = 0.40918, y = 0.67315 + x = -4.17532, y = 244.38798 + x = -3.56976, y = 126.07151 + x = -0.58298, y = -0.32574 + x = -2.60848, y = 32.74396 + x = -2.64105, y = 34.56521 + x = 2.77488, y = 91.13044 + x = -1.48912, y = 2.34350 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.stt b/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.stt new file mode 100644 index 0000000..58180fc --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0002 0.0000 13.048 3.657 37 6 23 6 0.0000 0.0002 0.0000 13.048 3.657 37 6 23 6 +1 0 0.0000 0.0001 0.0000 12.741 3.914 38 6 14 8 0.0000 0.0002 0.0000 12.894 3.785 37 6 23 6 +2 0 0.0000 0.0001 0.0000 12.995 4.141 35 6 11 5 0.0000 0.0002 0.0000 12.928 3.904 37 6 23 6 +3 0 0.0000 0.0001 0.0000 13.196 4.259 42 11 11 5 0.0000 0.0002 0.0000 12.995 3.993 37 6 23 6 +4 0 0.0000 0.0004 0.0000 13.385 4.399 16 5 14 4 0.0000 0.0004 0.0000 13.073 4.074 16 5 23 6 +5 0 0.0000 0.0006 0.0000 13.471 4.494 19 5 6 4 0.0000 0.0006 0.0000 13.139 4.144 19 5 23 6 +6 0 0.0000 0.0006 0.0000 13.385 4.569 15 5 5 3 0.0000 0.0006 0.0000 13.174 4.205 15 5 23 6 +7 0 0.0000 0.0008 0.0000 13.512 4.639 37 8 18 7 0.0000 0.0008 0.0000 13.217 4.259 37 8 23 6 +8 0 0.0000 0.0013 0.0000 14.354 4.816 13 4 24 8 0.0000 0.0013 0.0000 13.343 4.321 13 4 23 6 +9 0 0.0001 0.0025 0.0000 18.460 5.524 27 6 17 8 0.0000 0.0025 0.0000 13.855 4.441 27 6 23 6 +10 0 0.0002 0.0034 0.0000 27.030 7.017 27 6 25 7 0.0001 0.0034 0.0000 15.052 4.676 27 6 23 6 +11 0 0.0003 0.0054 0.0000 33.444 8.198 21 6 60 12 0.0001 0.0054 0.0000 16.585 4.969 21 6 23 6 +12 0 0.0004 0.0048 0.0000 37.490 8.895 22 5 67 13 0.0001 0.0054 0.0000 18.193 5.271 21 6 23 6 +13 0 0.0004 0.0050 0.0000 41.035 9.440 30 7 34 11 0.0001 0.0054 0.0000 19.825 5.569 21 6 23 6 +14 0 0.0007 0.0055 0.0000 45.891 10.179 33 7 62 12 0.0002 0.0055 0.0000 21.562 5.876 33 7 23 6 +15 0 0.0013 0.0058 0.0000 51.941 11.107 44 12 81 15 0.0002 0.0058 0.0000 23.461 6.203 44 12 23 6 +16 0 0.0018 0.0062 0.0000 56.449 11.808 36 9 54 12 0.0003 0.0062 0.0000 25.402 6.533 36 9 23 6 +17 0 0.0021 0.0065 0.0000 58.898 12.039 33 7 59 12 0.0004 0.0065 0.0000 27.262 6.839 33 7 23 6 +18 0 0.0023 0.0072 0.0000 60.701 12.195 49 11 59 11 0.0005 0.0072 0.0000 29.022 7.121 49 11 23 6 +19 0 0.0024 0.0061 0.0000 61.804 12.291 39 12 99 16 0.0006 0.0072 0.0000 30.662 7.379 49 11 23 6 +20 0 0.0024 0.0061 0.0000 63.487 12.454 72 13 65 17 0.0007 0.0072 0.0000 32.225 7.621 49 11 23 6 +21 0 0.0025 0.0061 0.0000 65.814 12.636 72 13 66 12 0.0008 0.0072 0.0000 33.751 7.849 49 11 23 6 +22 0 0.0026 0.0071 0.0000 67.699 12.766 95 17 136 15 0.0009 0.0072 0.0000 35.227 8.063 49 11 23 6 +23 0 0.0026 0.0062 0.0000 70.298 12.956 70 13 34 8 0.0009 0.0072 0.0000 36.689 8.267 49 11 23 6 +24 0 0.0027 0.0065 0.0000 71.724 13.054 42 10 26 9 0.0010 0.0072 0.0000 38.090 8.458 49 11 23 6 +25 0 0.0028 0.0065 0.0000 73.536 13.157 67 17 66 13 0.0011 0.0072 0.0000 39.453 8.639 49 11 23 6 +26 0 0.0028 0.0077 0.0000 76.034 13.393 29 7 120 17 0.0011 0.0077 0.0000 40.808 8.815 29 7 23 6 +27 0 0.0029 0.0077 0.0000 77.968 13.505 28 7 76 11 0.0012 0.0077 0.0000 42.135 8.982 28 7 23 6 +28 0 0.0030 0.0079 0.0000 79.796 13.662 43 10 76 16 0.0013 0.0079 0.0000 43.434 9.144 43 10 23 6 +29 0 0.0031 0.0074 0.0000 81.755 13.769 34 11 136 17 0.0013 0.0079 0.0000 44.711 9.298 43 10 23 6 +30 0 0.0031 0.0086 0.0000 84.626 13.918 61 10 77 15 0.0014 0.0086 0.0000 45.999 9.447 61 10 23 6 +31 0 0.0032 0.0078 0.0000 86.624 13.976 65 11 72 17 0.0014 0.0086 0.0000 47.268 9.588 61 10 23 6 +32 0 0.0032 0.0072 0.0000 88.283 14.185 64 12 69 16 0.0015 0.0086 0.0000 48.511 9.728 61 10 23 6 +33 0 0.0033 0.0075 0.0000 89.491 14.181 71 11 12 4 0.0015 0.0086 0.0000 49.717 9.859 61 10 23 6 +34 0 0.0033 0.0076 0.0000 90.270 14.151 73 11 17 8 0.0016 0.0086 0.0000 50.875 9.981 61 10 23 6 +35 0 0.0034 0.0076 0.0000 91.965 14.303 84 15 97 15 0.0016 0.0086 0.0000 52.017 10.101 61 10 23 6 +36 0 0.0035 0.0080 0.0000 92.835 14.317 115 16 136 16 0.0017 0.0086 0.0000 53.120 10.215 61 10 23 6 +37 0 0.0035 0.0078 0.0000 93.150 14.345 116 16 108 17 0.0017 0.0086 0.0000 54.173 10.324 61 10 23 6 +38 0 0.0035 0.0081 0.0000 93.553 14.317 126 16 97 15 0.0018 0.0086 0.0000 55.183 10.426 61 10 23 6 +39 0 0.0036 0.0081 0.0000 95.565 14.477 128 16 90 16 0.0018 0.0086 0.0000 56.193 10.528 61 10 23 6 +40 0 0.0036 0.0093 0.0000 95.043 14.354 139 16 124 16 0.0019 0.0093 0.0000 57.140 10.621 139 16 23 6 +41 0 0.0036 0.0080 0.0000 97.268 14.454 47 9 112 16 0.0019 0.0093 0.0000 58.096 10.712 139 16 23 6 +42 0 0.0037 0.0080 0.0000 98.495 14.553 115 16 85 16 0.0020 0.0093 0.0000 59.035 10.802 139 16 23 6 +43 0 0.0038 0.0087 0.0000 99.097 14.567 50 9 93 16 0.0020 0.0093 0.0000 59.946 10.887 139 16 23 6 +44 0 0.0038 0.0084 0.0000 99.151 14.556 67 12 189 17 0.0020 0.0093 0.0000 60.817 10.969 139 16 23 6 +45 0 0.0038 0.0084 0.0000 100.467 14.566 67 12 94 13 0.0021 0.0093 0.0000 61.679 11.047 139 16 23 6 +46 0 0.0039 0.0096 0.0000 102.288 14.696 77 13 123 14 0.0021 0.0096 0.0000 62.543 11.125 77 13 23 6 +47 0 0.0039 0.0096 0.0000 102.353 14.605 101 17 82 12 0.0022 0.0096 0.0000 63.372 11.197 77 13 23 6 +48 0 0.0039 0.0091 0.0000 104.269 14.754 98 17 67 14 0.0022 0.0096 0.0000 64.207 11.270 77 13 23 6 +49 0 0.0039 0.0102 0.0000 106.068 14.758 143 17 12 4 0.0022 0.0102 0.0000 65.044 11.339 143 17 23 6 +50 0 0.0040 0.0104 0.0000 106.436 14.751 110 17 177 17 0.0023 0.0104 0.0000 65.856 11.406 110 17 23 6 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.sys b/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.sys new file mode 100644 index 0000000..cb39740 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_6/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 59. +creating initial population(s): + 5629 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 328626708 + freed: 327624108 + not freed: 1002600 + max allocated: 12133783 + malloc'ed blocks: 740066 + realloc'ed blocks: 11 + free'ed blocks: 739916 + +------- time ------- + overall: 7s wall + evaluation: 5s wall + breeding: 2s wall + +------- generation spaces ------- + space 0 size: 400 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 33737 + freed: 33737 + allocated: 13500 + blocks: 26 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.bst b/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.bst new file mode 100644 index 0000000..d2f6e8a --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.bst @@ -0,0 +1,45 @@ +=== BEST-OF-RUN === + generation: 40 + nodes: 116 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3004.6946 + standardized fitness: 3004.6946 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (+ x + (exp (+ (log (+ x + (log (/ (exp (log x)) + (/ (exp (- (sin (log (cos x))) + (exp 0.56982))) + (cos (- (* 0.27165 0.48717) + (log (exp (* x 0.51767)))))))))) + (- (- (log (/ (log x) -0.11285)) + (* (sin (* (+ (cos x) + (+ (- -0.13433 x) + (/ (cos -0.96676) + (log (/ x -0.68555))))) + (* x -0.81129))) + (exp x))) + (* 0.05272 x))))) x) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin (- (- 0.53575 + (- (sin (- 0.53575 + (- (sin x) + (sin (* x -0.81129))))) + (sin (* x -0.81129)))) + (sin -0.38775)))))) +TREE-equ: +y = log((((x + exp((log((x + log((exp(log(x)) / (exp((sin(log(cos(x))) - exp(0.56982))) / cos(((0.27165 * 0.48717) - log(exp((x * 0.51767)))))))))) + ((log((log(x) / -0.11285)) - (sin(((cos(x) + ((-0.13433 - x) + (cos(-0.96676) / log((x / -0.68555))))) * (x * -0.81129))) * exp(x))) - (0.05272 * x))))) + x) * ((exp((x / (((-0.44219 * 0.35652) * -0.41758) / (((0.53575 - (sin(x) - sin((x * -0.81129)))) - log(log(0.52374))) + x)))) / exp(x)) - sin(((0.53575 - (sin((0.53575 - (sin(x) - sin((x * -0.81129))))) - sin((x * -0.81129)))) - sin(-0.38775)))))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.fn b/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.fn new file mode 100644 index 0000000..66e7978 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.fn @@ -0,0 +1,2 @@ + +y = log((((x + exp((log((x + log((exp(log(x)) / (exp((sin(log(cos(x))) - exp(0.56982))) / cos(((0.27165 * 0.48717) - log(exp((x * 0.51767)))))))))) + ((log((log(x) / -0.11285)) - (sin(((cos(x) + ((-0.13433 - x) + (cos(-0.96676) / log((x / -0.68555))))) * (x * -0.81129))) * exp(x))) - (0.05272 * x))))) + x) * ((exp((x / (((-0.44219 * 0.35652) * -0.41758) / (((0.53575 - (sin(x) - sin((x * -0.81129)))) - log(log(0.52374))) + x)))) / exp(x)) - sin(((0.53575 - (sin((0.53575 - (sin(x) - sin((x * -0.81129))))) - sin((x * -0.81129)))) - sin(-0.38775)))))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.gen b/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.his b/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.his new file mode 100644 index 0000000..130d319 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.his @@ -0,0 +1,1616 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 14 + depth: 4 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 10319.0213 + standardized fitness: 10319.0213 + adjusted fitness: 0.0001 +TREE: + (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (sin 0.76848) + (+ -0.54284 x)))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 12 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9789.2036 + standardized fitness: 9789.2036 + adjusted fitness: 0.0001 +TREE: + (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (sin 0.76848) x))) +=== BEST-OF-RUN === + current generation: 2 + generation: 1 + nodes: 12 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9789.2036 + standardized fitness: 9789.2036 + adjusted fitness: 0.0001 +TREE: + (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (sin 0.76848) x))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 19 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 9472.8122 + standardized fitness: 9472.8122 + adjusted fitness: 0.0001 +TREE: + (exp (- (- (exp (+ (exp -0.57982) + (log x))) + (* (- 0.45276 -0.69782) + (cos 0.04541))) + (cos (log (sin x))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 3 + nodes: 19 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 9472.8122 + standardized fitness: 9472.8122 + adjusted fitness: 0.0001 +TREE: + (exp (- (- (exp (+ (exp -0.57982) + (log x))) + (* (- 0.45276 -0.69782) + (cos 0.04541))) + (cos (log (sin x))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 63 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9008.5494 + standardized fitness: 9008.5494 + adjusted fitness: 0.0001 +TREE: + (- (- (/ (+ (exp (sin 0.30092)) + (- -0.82149 + (* x x))) + (log 0.94212)) + (+ (+ (cos (* -0.06806 0.25256)) + (* (+ x x) + (- -0.25282 x))) + (* (+ (cos (sin (cos x))) + (exp x)) + (cos (* x -0.81129))))) + (sin (+ (* (+ (cos x) + (cos -0.67321)) + (+ (log -0.84188) + (- -0.49806 x))) + (- (sin (cos 0.84692)) + (* (exp x) + (* 0.11821 0.96874)))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 61 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8986.4169 + standardized fitness: 8986.4169 + adjusted fitness: 0.0001 +TREE: + (- (- (/ (+ (exp (sin 0.30092)) + (- -0.82149 + (* x x))) + (log 0.94212)) + (+ (+ (cos (* -0.06806 0.25256)) + (* (+ x x) + (- -0.25282 x))) + (* (+ (cos (sin (cos x))) + (exp x)) + (cos (* x -0.81129))))) + (sin (+ (* (+ (cos x) + (cos -0.67321)) + (+ (log -0.84188) + (- -0.49806 x))) + (- (sin (cos 0.84692)) + (* (exp x) x))))) +=== BEST-OF-RUN === + current generation: 7 + generation: 6 + nodes: 61 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8986.4169 + standardized fitness: 8986.4169 + adjusted fitness: 0.0001 +TREE: + (- (- (/ (+ (exp (sin 0.30092)) + (- -0.82149 + (* x x))) + (log 0.94212)) + (+ (+ (cos (* -0.06806 0.25256)) + (* (+ x x) + (- -0.25282 x))) + (* (+ (cos (sin (cos x))) + (exp x)) + (cos (* x -0.81129))))) + (sin (+ (* (+ (cos x) + (cos -0.67321)) + (+ (log -0.84188) + (- -0.49806 x))) + (- (sin (cos 0.84692)) + (* (exp x) x))))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 19 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6672.8210 + standardized fitness: 6672.8210 + adjusted fitness: 0.0001 +TREE: + (+ (exp (+ (exp (log x)) + (log x))) + (/ (* (sin (* x x)) + (exp -0.97908)) + (/ 0.82491 -0.49989))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 9 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6286.3397 + standardized fitness: 6286.3397 + adjusted fitness: 0.0002 +TREE: + (+ (exp (+ (exp (log x)) + (log x))) x) +=== BEST-OF-RUN === + current generation: 10 + generation: 9 + nodes: 9 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6286.3397 + standardized fitness: 6286.3397 + adjusted fitness: 0.0002 +TREE: + (+ (exp (+ (exp (log x)) + (log x))) x) +=== BEST-OF-RUN === + current generation: 11 + generation: 9 + nodes: 9 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6286.3397 + standardized fitness: 6286.3397 + adjusted fitness: 0.0002 +TREE: + (+ (exp (+ (exp (log x)) + (log x))) x) +=== BEST-OF-RUN === + current generation: 12 + generation: 9 + nodes: 9 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6286.3397 + standardized fitness: 6286.3397 + adjusted fitness: 0.0002 +TREE: + (+ (exp (+ (exp (log x)) + (log x))) x) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 43 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5782.8777 + standardized fitness: 5782.8777 + adjusted fitness: 0.0002 +TREE: + (+ (exp (+ (exp (log x)) + (log x))) + (- (* (* 0.77716 x) + (/ -0.29065 x)) + (+ (+ (cos (* -0.06806 0.25256)) + (* (+ x x) + (- -0.25282 x))) + (* (+ (cos (- x + (/ x 0.51232))) + (exp x)) + (cos (* x -0.81129)))))) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 17 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4985.3622 + standardized fitness: 4985.3622 + adjusted fitness: 0.0002 +TREE: + (+ (exp (+ (exp (log x)) + (log x))) + (log (exp (- (exp x) + (log (+ 0.89357 -0.84131)))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 16 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4719.2561 + standardized fitness: 4719.2561 + adjusted fitness: 0.0002 +TREE: + (+ (exp (+ (exp (log x)) + (log x))) + (log (exp (- (exp x) + (sin (sin x)))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 10 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4715.6839 + standardized fitness: 4715.6839 + adjusted fitness: 0.0002 +TREE: + (+ (exp (+ (exp (log x)) + (log x))) + (exp x)) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 45 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3754.1405 + standardized fitness: 3754.1405 + adjusted fitness: 0.0003 +TREE: + (log (* (sin (+ (sin (/ (/ -0.83416 + (cos x)) + (+ 0.89357 -0.84131))) + (cos -0.67321))) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin 0.29893)))) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 56 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3694.3419 + standardized fitness: 3694.3419 + adjusted fitness: 0.0003 +TREE: + (log (* (sin (+ -0.17734 x)) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.77204)))) + (log (log 0.52374))) x)))) + (+ (sin (* (log (log (- (exp (cos -0.32598)) + (cos (sin 0.47363))))) + (- (log (+ x + (log (sin x)))) + (cos 0.19616)))) x)) + (sin 0.29893)))) +=== BEST-OF-RUN === + current generation: 19 + generation: 18 + nodes: 56 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3694.3419 + standardized fitness: 3694.3419 + adjusted fitness: 0.0003 +TREE: + (log (* (sin (+ -0.17734 x)) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.77204)))) + (log (log 0.52374))) x)))) + (+ (sin (* (log (log (- (exp (cos -0.32598)) + (cos (sin 0.47363))))) + (- (log (+ x + (log (sin x)))) + (cos 0.19616)))) x)) + (sin 0.29893)))) +=== BEST-OF-RUN === + current generation: 20 + generation: 18 + nodes: 56 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3694.3419 + standardized fitness: 3694.3419 + adjusted fitness: 0.0003 +TREE: + (log (* (sin (+ -0.17734 x)) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.77204)))) + (log (log 0.52374))) x)))) + (+ (sin (* (log (log (- (exp (cos -0.32598)) + (cos (sin 0.47363))))) + (- (log (+ x + (log (sin x)))) + (cos 0.19616)))) x)) + (sin 0.29893)))) +=== BEST-OF-RUN === + current generation: 21 + generation: 18 + nodes: 56 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3694.3419 + standardized fitness: 3694.3419 + adjusted fitness: 0.0003 +TREE: + (log (* (sin (+ -0.17734 x)) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.77204)))) + (log (log 0.52374))) x)))) + (+ (sin (* (log (log (- (exp (cos -0.32598)) + (cos (sin 0.47363))))) + (- (log (+ x + (log (sin x)))) + (cos 0.19616)))) x)) + (sin 0.29893)))) +=== BEST-OF-RUN === + current generation: 22 + generation: 18 + nodes: 56 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3694.3419 + standardized fitness: 3694.3419 + adjusted fitness: 0.0003 +TREE: + (log (* (sin (+ -0.17734 x)) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.77204)))) + (log (log 0.52374))) x)))) + (+ (sin (* (log (log (- (exp (cos -0.32598)) + (cos (sin 0.47363))))) + (- (log (+ x + (log (sin x)))) + (cos 0.19616)))) x)) + (sin 0.29893)))) +=== BEST-OF-RUN === + current generation: 23 + generation: 18 + nodes: 56 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3694.3419 + standardized fitness: 3694.3419 + adjusted fitness: 0.0003 +TREE: + (log (* (sin (+ -0.17734 x)) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.77204)))) + (log (log 0.52374))) x)))) + (+ (sin (* (log (log (- (exp (cos -0.32598)) + (cos (sin 0.47363))))) + (- (log (+ x + (log (sin x)))) + (cos 0.19616)))) x)) + (sin 0.29893)))) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 37 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3435.3157 + standardized fitness: 3435.3157 + adjusted fitness: 0.0003 +TREE: + (+ (exp (+ (exp (log x)) + (log x))) + (/ (+ (* (- -0.82149 + (* x x)) + (+ (log -0.84188) + (- -0.49806 x))) + (- (sin (sin x)) + (- -0.82149 + (* x x)))) + (exp (+ -0.98651 + (exp (sin 0.30092)))))) +=== BEST-OF-RUN === + current generation: 25 + generation: 24 + nodes: 37 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3435.3157 + standardized fitness: 3435.3157 + adjusted fitness: 0.0003 +TREE: + (+ (exp (+ (exp (log x)) + (log x))) + (/ (+ (* (- -0.82149 + (* x x)) + (+ (log -0.84188) + (- -0.49806 x))) + (- (sin (sin x)) + (- -0.82149 + (* x x)))) + (exp (+ -0.98651 + (exp (sin 0.30092)))))) +=== BEST-OF-RUN === + current generation: 26 + generation: 24 + nodes: 37 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3435.3157 + standardized fitness: 3435.3157 + adjusted fitness: 0.0003 +TREE: + (+ (exp (+ (exp (log x)) + (log x))) + (/ (+ (* (- -0.82149 + (* x x)) + (+ (log -0.84188) + (- -0.49806 x))) + (- (sin (sin x)) + (- -0.82149 + (* x x)))) + (exp (+ -0.98651 + (exp (sin 0.30092)))))) +=== BEST-OF-RUN === + current generation: 27 + generation: 24 + nodes: 37 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3435.3157 + standardized fitness: 3435.3157 + adjusted fitness: 0.0003 +TREE: + (+ (exp (+ (exp (log x)) + (log x))) + (/ (+ (* (- -0.82149 + (* x x)) + (+ (log -0.84188) + (- -0.49806 x))) + (- (sin (sin x)) + (- -0.82149 + (* x x)))) + (exp (+ -0.98651 + (exp (sin 0.30092)))))) +=== BEST-OF-RUN === + current generation: 28 + generation: 24 + nodes: 37 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3435.3157 + standardized fitness: 3435.3157 + adjusted fitness: 0.0003 +TREE: + (+ (exp (+ (exp (log x)) + (log x))) + (/ (+ (* (- -0.82149 + (* x x)) + (+ (log -0.84188) + (- -0.49806 x))) + (- (sin (sin x)) + (- -0.82149 + (* x x)))) + (exp (+ -0.98651 + (exp (sin 0.30092)))))) +=== BEST-OF-RUN === + current generation: 29 + generation: 29 + nodes: 142 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3265.8573 + standardized fitness: 3265.8573 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (cos (cos (+ (cos (* -0.06806 0.25256)) + (* (/ (sin (/ (cos (+ (log (+ (cos (- (* x 0.39954) + (/ x x))) + (- 0.67604 + (cos -0.35806)))) + (+ (/ x + (exp x)) + (* x x)))) + (+ -0.38580 x))) + (* (exp -0.76427) -0.48821)) + (- -0.25282 x))))) + (* (+ (cos (cos (/ (exp (+ (sin x) x)) -0.11285))) + (exp x)) + (- (- (- (+ (log (/ 0.95494 x)) + (+ x x)) + (* (exp -0.14538) + (+ -0.15182 0.99628))) + (- (exp (- (exp x) + (+ (+ (+ x x) + (* (+ (cos x) x) + (/ x x))) + (exp (exp (sin 0.95494)))))) + (+ 0.89357 -0.84131))) + (log x)))) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (- (- -0.65463 + (cos (* (sin 0.72978) x))) 0.56074)) + (sin 0.29893)))) +=== BEST-OF-RUN === + current generation: 30 + generation: 29 + nodes: 142 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3265.8573 + standardized fitness: 3265.8573 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (cos (cos (+ (cos (* -0.06806 0.25256)) + (* (/ (sin (/ (cos (+ (log (+ (cos (- (* x 0.39954) + (/ x x))) + (- 0.67604 + (cos -0.35806)))) + (+ (/ x + (exp x)) + (* x x)))) + (+ -0.38580 x))) + (* (exp -0.76427) -0.48821)) + (- -0.25282 x))))) + (* (+ (cos (cos (/ (exp (+ (sin x) x)) -0.11285))) + (exp x)) + (- (- (- (+ (log (/ 0.95494 x)) + (+ x x)) + (* (exp -0.14538) + (+ -0.15182 0.99628))) + (- (exp (- (exp x) + (+ (+ (+ x x) + (* (+ (cos x) x) + (/ x x))) + (exp (exp (sin 0.95494)))))) + (+ 0.89357 -0.84131))) + (log x)))) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (- (- -0.65463 + (cos (* (sin 0.72978) x))) 0.56074)) + (sin 0.29893)))) +=== BEST-OF-RUN === + current generation: 31 + generation: 29 + nodes: 142 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3265.8573 + standardized fitness: 3265.8573 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (cos (cos (+ (cos (* -0.06806 0.25256)) + (* (/ (sin (/ (cos (+ (log (+ (cos (- (* x 0.39954) + (/ x x))) + (- 0.67604 + (cos -0.35806)))) + (+ (/ x + (exp x)) + (* x x)))) + (+ -0.38580 x))) + (* (exp -0.76427) -0.48821)) + (- -0.25282 x))))) + (* (+ (cos (cos (/ (exp (+ (sin x) x)) -0.11285))) + (exp x)) + (- (- (- (+ (log (/ 0.95494 x)) + (+ x x)) + (* (exp -0.14538) + (+ -0.15182 0.99628))) + (- (exp (- (exp x) + (+ (+ (+ x x) + (* (+ (cos x) x) + (/ x x))) + (exp (exp (sin 0.95494)))))) + (+ 0.89357 -0.84131))) + (log x)))) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (- (- -0.65463 + (cos (* (sin 0.72978) x))) 0.56074)) + (sin 0.29893)))) +=== BEST-OF-RUN === + current generation: 32 + generation: 32 + nodes: 63 + depth: 13 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3214.8527 + standardized fitness: 3214.8527 + adjusted fitness: 0.0003 +TREE: + (log (* (exp (+ (* (- 0.41191 0.17905) + (+ (* (+ 0.01135 x) + (sin x)) + (exp (+ -0.98651 + (log (cos -0.42473)))))) + (* (cos x) + (- (exp (- -0.49806 x)) + (cos (- 0.64646 x)))))) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin 0.29893)))) +=== BEST-OF-RUN === + current generation: 33 + generation: 32 + nodes: 63 + depth: 13 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3214.8527 + standardized fitness: 3214.8527 + adjusted fitness: 0.0003 +TREE: + (log (* (exp (+ (* (- 0.41191 0.17905) + (+ (* (+ 0.01135 x) + (sin x)) + (exp (+ -0.98651 + (log (cos -0.42473)))))) + (* (cos x) + (- (exp (- -0.49806 x)) + (cos (- 0.64646 x)))))) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin 0.29893)))) +=== BEST-OF-RUN === + current generation: 34 + generation: 32 + nodes: 63 + depth: 13 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3214.8527 + standardized fitness: 3214.8527 + adjusted fitness: 0.0003 +TREE: + (log (* (exp (+ (* (- 0.41191 0.17905) + (+ (* (+ 0.01135 x) + (sin x)) + (exp (+ -0.98651 + (log (cos -0.42473)))))) + (* (cos x) + (- (exp (- -0.49806 x)) + (cos (- 0.64646 x)))))) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin 0.29893)))) +=== BEST-OF-RUN === + current generation: 35 + generation: 32 + nodes: 63 + depth: 13 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3214.8527 + standardized fitness: 3214.8527 + adjusted fitness: 0.0003 +TREE: + (log (* (exp (+ (* (- 0.41191 0.17905) + (+ (* (+ 0.01135 x) + (sin x)) + (exp (+ -0.98651 + (log (cos -0.42473)))))) + (* (cos x) + (- (exp (- -0.49806 x)) + (cos (- 0.64646 x)))))) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin 0.29893)))) +=== BEST-OF-RUN === + current generation: 36 + generation: 32 + nodes: 63 + depth: 13 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3214.8527 + standardized fitness: 3214.8527 + adjusted fitness: 0.0003 +TREE: + (log (* (exp (+ (* (- 0.41191 0.17905) + (+ (* (+ 0.01135 x) + (sin x)) + (exp (+ -0.98651 + (log (cos -0.42473)))))) + (* (cos x) + (- (exp (- -0.49806 x)) + (cos (- 0.64646 x)))))) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin 0.29893)))) +=== BEST-OF-RUN === + current generation: 37 + generation: 32 + nodes: 63 + depth: 13 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3214.8527 + standardized fitness: 3214.8527 + adjusted fitness: 0.0003 +TREE: + (log (* (exp (+ (* (- 0.41191 0.17905) + (+ (* (+ 0.01135 x) + (sin x)) + (exp (+ -0.98651 + (log (cos -0.42473)))))) + (* (cos x) + (- (exp (- -0.49806 x)) + (cos (- 0.64646 x)))))) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin 0.29893)))) +=== BEST-OF-RUN === + current generation: 38 + generation: 38 + nodes: 112 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3175.5915 + standardized fitness: 3175.5915 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (+ x + (exp (+ (log (+ x + (log (/ (exp (log x)) + (/ (exp (- (sin (log (cos x))) + (exp 0.56982))) + (cos (- (* 0.27165 0.48717) + (log (exp (* x 0.51767)))))))))) + (- (- (log (/ (exp (+ (sin x) x)) -0.11285)) + (* (sin (* (+ (cos x) + (+ (- -0.13433 x) + (/ (cos -0.96676) + (log (/ x -0.68555))))) + (* x -0.81129))) + (exp x))) + (* 0.05272 x))))) x) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin (- (- 0.53575 + (- (sin (sin x)) + (sin (* x -0.81129)))) + (sin -0.38775)))))) +=== BEST-OF-RUN === + current generation: 39 + generation: 39 + nodes: 91 + depth: 16 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 3024.9706 + standardized fitness: 3024.9706 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (+ x + (exp (+ (log (+ x + (* x -0.78928))) + (- (- (log (/ (exp (+ (sin x) x)) -0.11285)) + (* (sin (* (+ (cos x) + (+ (- -0.13433 x) + (/ (cos -0.96676) + (log (/ x -0.68555))))) + (* x -0.81129))) + (exp x))) + (* 0.05272 x))))) x) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin (- (- 0.53575 + (- (sin (sin x)) + (sin (* x -0.81129)))) + (sin -0.38775)))))) +=== BEST-OF-RUN === + current generation: 40 + generation: 40 + nodes: 116 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3004.6946 + standardized fitness: 3004.6946 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (+ x + (exp (+ (log (+ x + (log (/ (exp (log x)) + (/ (exp (- (sin (log (cos x))) + (exp 0.56982))) + (cos (- (* 0.27165 0.48717) + (log (exp (* x 0.51767)))))))))) + (- (- (log (/ (log x) -0.11285)) + (* (sin (* (+ (cos x) + (+ (- -0.13433 x) + (/ (cos -0.96676) + (log (/ x -0.68555))))) + (* x -0.81129))) + (exp x))) + (* 0.05272 x))))) x) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin (- (- 0.53575 + (- (sin (- 0.53575 + (- (sin x) + (sin (* x -0.81129))))) + (sin (* x -0.81129)))) + (sin -0.38775)))))) +=== BEST-OF-RUN === + current generation: 41 + generation: 40 + nodes: 116 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3004.6946 + standardized fitness: 3004.6946 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (+ x + (exp (+ (log (+ x + (log (/ (exp (log x)) + (/ (exp (- (sin (log (cos x))) + (exp 0.56982))) + (cos (- (* 0.27165 0.48717) + (log (exp (* x 0.51767)))))))))) + (- (- (log (/ (log x) -0.11285)) + (* (sin (* (+ (cos x) + (+ (- -0.13433 x) + (/ (cos -0.96676) + (log (/ x -0.68555))))) + (* x -0.81129))) + (exp x))) + (* 0.05272 x))))) x) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin (- (- 0.53575 + (- (sin (- 0.53575 + (- (sin x) + (sin (* x -0.81129))))) + (sin (* x -0.81129)))) + (sin -0.38775)))))) +=== BEST-OF-RUN === + current generation: 42 + generation: 40 + nodes: 116 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3004.6946 + standardized fitness: 3004.6946 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (+ x + (exp (+ (log (+ x + (log (/ (exp (log x)) + (/ (exp (- (sin (log (cos x))) + (exp 0.56982))) + (cos (- (* 0.27165 0.48717) + (log (exp (* x 0.51767)))))))))) + (- (- (log (/ (log x) -0.11285)) + (* (sin (* (+ (cos x) + (+ (- -0.13433 x) + (/ (cos -0.96676) + (log (/ x -0.68555))))) + (* x -0.81129))) + (exp x))) + (* 0.05272 x))))) x) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin (- (- 0.53575 + (- (sin (- 0.53575 + (- (sin x) + (sin (* x -0.81129))))) + (sin (* x -0.81129)))) + (sin -0.38775)))))) +=== BEST-OF-RUN === + current generation: 43 + generation: 40 + nodes: 116 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3004.6946 + standardized fitness: 3004.6946 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (+ x + (exp (+ (log (+ x + (log (/ (exp (log x)) + (/ (exp (- (sin (log (cos x))) + (exp 0.56982))) + (cos (- (* 0.27165 0.48717) + (log (exp (* x 0.51767)))))))))) + (- (- (log (/ (log x) -0.11285)) + (* (sin (* (+ (cos x) + (+ (- -0.13433 x) + (/ (cos -0.96676) + (log (/ x -0.68555))))) + (* x -0.81129))) + (exp x))) + (* 0.05272 x))))) x) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin (- (- 0.53575 + (- (sin (- 0.53575 + (- (sin x) + (sin (* x -0.81129))))) + (sin (* x -0.81129)))) + (sin -0.38775)))))) +=== BEST-OF-RUN === + current generation: 44 + generation: 40 + nodes: 116 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3004.6946 + standardized fitness: 3004.6946 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (+ x + (exp (+ (log (+ x + (log (/ (exp (log x)) + (/ (exp (- (sin (log (cos x))) + (exp 0.56982))) + (cos (- (* 0.27165 0.48717) + (log (exp (* x 0.51767)))))))))) + (- (- (log (/ (log x) -0.11285)) + (* (sin (* (+ (cos x) + (+ (- -0.13433 x) + (/ (cos -0.96676) + (log (/ x -0.68555))))) + (* x -0.81129))) + (exp x))) + (* 0.05272 x))))) x) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin (- (- 0.53575 + (- (sin (- 0.53575 + (- (sin x) + (sin (* x -0.81129))))) + (sin (* x -0.81129)))) + (sin -0.38775)))))) +=== BEST-OF-RUN === + current generation: 45 + generation: 40 + nodes: 116 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3004.6946 + standardized fitness: 3004.6946 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (+ x + (exp (+ (log (+ x + (log (/ (exp (log x)) + (/ (exp (- (sin (log (cos x))) + (exp 0.56982))) + (cos (- (* 0.27165 0.48717) + (log (exp (* x 0.51767)))))))))) + (- (- (log (/ (log x) -0.11285)) + (* (sin (* (+ (cos x) + (+ (- -0.13433 x) + (/ (cos -0.96676) + (log (/ x -0.68555))))) + (* x -0.81129))) + (exp x))) + (* 0.05272 x))))) x) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin (- (- 0.53575 + (- (sin (- 0.53575 + (- (sin x) + (sin (* x -0.81129))))) + (sin (* x -0.81129)))) + (sin -0.38775)))))) +=== BEST-OF-RUN === + current generation: 46 + generation: 40 + nodes: 116 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3004.6946 + standardized fitness: 3004.6946 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (+ x + (exp (+ (log (+ x + (log (/ (exp (log x)) + (/ (exp (- (sin (log (cos x))) + (exp 0.56982))) + (cos (- (* 0.27165 0.48717) + (log (exp (* x 0.51767)))))))))) + (- (- (log (/ (log x) -0.11285)) + (* (sin (* (+ (cos x) + (+ (- -0.13433 x) + (/ (cos -0.96676) + (log (/ x -0.68555))))) + (* x -0.81129))) + (exp x))) + (* 0.05272 x))))) x) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin (- (- 0.53575 + (- (sin (- 0.53575 + (- (sin x) + (sin (* x -0.81129))))) + (sin (* x -0.81129)))) + (sin -0.38775)))))) +=== BEST-OF-RUN === + current generation: 47 + generation: 40 + nodes: 116 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3004.6946 + standardized fitness: 3004.6946 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (+ x + (exp (+ (log (+ x + (log (/ (exp (log x)) + (/ (exp (- (sin (log (cos x))) + (exp 0.56982))) + (cos (- (* 0.27165 0.48717) + (log (exp (* x 0.51767)))))))))) + (- (- (log (/ (log x) -0.11285)) + (* (sin (* (+ (cos x) + (+ (- -0.13433 x) + (/ (cos -0.96676) + (log (/ x -0.68555))))) + (* x -0.81129))) + (exp x))) + (* 0.05272 x))))) x) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin (- (- 0.53575 + (- (sin (- 0.53575 + (- (sin x) + (sin (* x -0.81129))))) + (sin (* x -0.81129)))) + (sin -0.38775)))))) +=== BEST-OF-RUN === + current generation: 48 + generation: 40 + nodes: 116 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3004.6946 + standardized fitness: 3004.6946 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (+ x + (exp (+ (log (+ x + (log (/ (exp (log x)) + (/ (exp (- (sin (log (cos x))) + (exp 0.56982))) + (cos (- (* 0.27165 0.48717) + (log (exp (* x 0.51767)))))))))) + (- (- (log (/ (log x) -0.11285)) + (* (sin (* (+ (cos x) + (+ (- -0.13433 x) + (/ (cos -0.96676) + (log (/ x -0.68555))))) + (* x -0.81129))) + (exp x))) + (* 0.05272 x))))) x) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin (- (- 0.53575 + (- (sin (- 0.53575 + (- (sin x) + (sin (* x -0.81129))))) + (sin (* x -0.81129)))) + (sin -0.38775)))))) +=== BEST-OF-RUN === + current generation: 49 + generation: 40 + nodes: 116 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3004.6946 + standardized fitness: 3004.6946 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (+ x + (exp (+ (log (+ x + (log (/ (exp (log x)) + (/ (exp (- (sin (log (cos x))) + (exp 0.56982))) + (cos (- (* 0.27165 0.48717) + (log (exp (* x 0.51767)))))))))) + (- (- (log (/ (log x) -0.11285)) + (* (sin (* (+ (cos x) + (+ (- -0.13433 x) + (/ (cos -0.96676) + (log (/ x -0.68555))))) + (* x -0.81129))) + (exp x))) + (* 0.05272 x))))) x) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin (- (- 0.53575 + (- (sin (- 0.53575 + (- (sin x) + (sin (* x -0.81129))))) + (sin (* x -0.81129)))) + (sin -0.38775)))))) +=== BEST-OF-RUN === + current generation: 50 + generation: 40 + nodes: 116 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3004.6946 + standardized fitness: 3004.6946 + adjusted fitness: 0.0003 +TREE: + (log (* (+ (+ x + (exp (+ (log (+ x + (log (/ (exp (log x)) + (/ (exp (- (sin (log (cos x))) + (exp 0.56982))) + (cos (- (* 0.27165 0.48717) + (log (exp (* x 0.51767)))))))))) + (- (- (log (/ (log x) -0.11285)) + (* (sin (* (+ (cos x) + (+ (- -0.13433 x) + (/ (cos -0.96676) + (log (/ x -0.68555))))) + (* x -0.81129))) + (exp x))) + (* 0.05272 x))))) x) + (- (/ (exp (/ x + (/ (* (* -0.44219 0.35652) -0.41758) + (+ (- (- 0.53575 + (- (sin x) + (sin (* x -0.81129)))) + (log (log 0.52374))) x)))) + (exp x)) + (sin (- (- 0.53575 + (- (sin (- 0.53575 + (- (sin x) + (sin (* x -0.81129))))) + (sin (* x -0.81129)))) + (sin -0.38775)))))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.prg b/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.prg new file mode 100644 index 0000000..8d208da --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -2.59054, y = 31.77182 + x = -1.39179, y = 1.60157 + x = -3.79123, y = 162.68494 + x = -4.77667, y = 429.64730 + x = -4.59668, y = 365.86277 + x = 2.49357, y = 62.87847 + x = 3.05951, y = 128.67982 + x = 0.87188, y = 2.87273 + x = 0.99362, y = 3.93663 + x = 1.38955, y = 9.73169 + x = 0.74885, y = 2.04405 + x = 3.17644, y = 147.11958 + x = 2.83970, y = 98.82894 + x = -3.35125, y = 96.37523 + x = -4.59194, y = 364.28611 + x = -0.99792, y = -0.00414 + x = 4.75835, y = 647.79115 + x = -4.58847, y = 363.13233 + x = -0.56662, y = -0.32440 + x = -2.15190, y = 13.95708 + x = -2.89397, y = 51.38581 + x = 2.23932, y = 43.62856 + x = 0.73249, y = 1.94990 + x = -3.68180, y = 143.72017 + x = -4.14263, y = 236.43929 + x = 0.92327, y = 3.28935 + x = 2.44142, y = 58.48230 + x = -1.31373, y = 1.12347 + x = 4.97098, y = 763.13299 + x = 3.90981, y = 312.64505 + x = -1.22029, y = 0.66912 + x = 0.32594, y = 0.47809 + x = 3.84707, y = 294.62190 + x = 0.41630, y = 0.69178 + x = 0.32149, y = 0.46875 + x = -4.10270, y = 226.99245 + x = -4.04242, y = 213.27374 + x = 0.35482, y = 0.54123 + x = 3.32984, y = 174.27827 + x = -1.45118, y = 2.03359 + x = 0.30040, y = 0.42589 + x = -4.91347, y = 483.45120 + x = -1.27242, y = 0.90786 + x = 1.61822, y = 15.33161 + x = 3.02942, y = 124.23264 + x = 0.75347, y = 2.07126 + x = 2.46985, y = 60.84885 + x = 4.80964, y = 674.31872 + x = -1.15780, y = 0.42760 + x = 4.76952, y = 653.50098 + x = 2.20400, y = 41.36449 + x = -2.21614, y = 15.93179 + x = -0.47486, y = -0.30560 + x = 2.98089, y = 117.30994 + x = -4.21279, y = 253.74570 + x = 2.08352, y = 34.31391 + x = -0.23886, y = -0.19218 + x = 0.79247, y = 2.31255 + x = -0.09815, y = -0.08937 + x = 4.50601, y = 528.55958 + x = 1.53599, y = 13.08514 + x = -2.29531, y = 18.63689 + x = 2.54205, y = 67.18806 + x = -2.55520, y = 29.91913 + x = -3.91084, y = 185.49614 + x = 0.66232, y = 1.58396 + x = -0.55114, y = -0.32253 + x = -3.77852, y = 160.39078 + x = -1.38067, y = 1.52746 + x = -0.34542, y = -0.25308 + x = 1.53223, y = 12.98892 + x = 4.94871, y = 750.37735 + x = 1.56933, y = 13.96238 + x = -0.33614, y = -0.24836 + x = 0.64410, y = 1.49829 + x = 4.32217, y = 452.73194 + x = -2.28582, y = 18.29618 + x = 2.75159, y = 88.48005 + x = -4.46901, y = 325.12963 + x = -1.22615, y = 0.69419 + x = -3.83787, y = 171.31276 + x = -3.35105, y = 96.34986 + x = 3.78443, y = 277.42238 + x = -4.53503, y = 345.74387 + x = -2.62618, y = 33.72432 + x = -3.92498, y = 188.34359 + x = 2.78389, y = 92.17284 + x = 1.40227, y = 9.99251 + x = -0.67286, y = -0.31978 + x = 4.65916, y = 598.73620 + x = 1.44844, y = 10.98673 + x = 4.73610, y = 636.53578 + x = -3.26451, y = 86.17508 + x = -1.32474, y = 1.18519 + x = 2.01659, y = 30.82168 + x = 0.35169, y = 0.53417 + x = -1.48280, y = 2.28990 + x = 4.06371, y = 360.38905 + x = -4.02588, y = 209.62139 + x = 3.70725, y = 257.29039 + x = -1.96071, y = 9.12517 + x = 4.71826, y = 627.61417 + x = 4.27864, y = 436.05204 + x = -4.93164, y = 490.96333 + x = 3.60738, y = 232.90839 + x = 0.55505, y = 1.12905 + x = -1.00057, y = 0.00114 + x = -0.93983, y = -0.10650 + x = 0.60707, y = 1.33514 + x = 4.71219, y = 624.60108 + x = 4.29962, y = 444.03307 + x = 3.35887, y = 179.81957 + x = -3.53467, y = 120.89477 + x = 0.24268, y = 0.31934 + x = -1.94243, y = 8.73747 + x = 1.79988, y = 21.36527 + x = -4.03079, y = 210.70197 + x = -1.13321, y = 0.34481 + x = 0.42821, y = 0.72371 + x = 0.73747, y = 1.97820 + x = -2.85488, y = 48.45548 + x = 0.38515, y = 0.61263 + x = -4.75264, y = 420.68336 + x = -0.08791, y = -0.08080 + x = -3.38471, y = 100.54136 + x = 1.81396, y = 21.90038 + x = -4.32993, y = 284.73919 + x = 1.50097, y = 12.21111 + x = 1.05648, y = 4.59761 + x = -4.91095, y = 482.41823 + x = 0.32274, y = 0.47136 + x = 3.65401, y = 244.06315 + x = -2.85548, y = 48.49890 + x = -4.18120, y = 245.83891 + x = -0.52578, y = -0.31826 + x = -2.19674, y = 15.31522 + x = -4.81638, y = 444.77669 + x = -1.45826, y = 2.08934 + x = 2.40739, y = 55.74338 + x = 0.57394, y = 1.20091 + x = -4.89419, y = 475.57829 + x = -1.08289, y = 0.19503 + x = -4.02594, y = 209.63500 + x = 3.58967, y = 228.77298 + x = 2.51405, y = 64.67221 + x = -3.93671, y = 190.72955 + x = 4.48874, y = 521.05510 + x = 1.82340, y = 22.26486 + x = -2.94003, y = 55.00598 + x = -4.79737, y = 437.48620 + x = -0.31838, y = -0.23901 + x = 2.01623, y = 30.80352 + x = -1.99277, y = 9.83463 + x = -4.11493, y = 229.85518 + x = -1.61549, y = 3.58933 + x = -0.61472, y = -0.32634 + x = 2.57374, y = 70.12551 + x = 3.45984, y = 200.13944 + x = 0.59413, y = 1.28144 + x = 0.80412, y = 2.38881 + x = 0.37143, y = 0.57966 + x = -4.54231, y = 348.07342 + x = 1.65278, y = 16.36135 + x = -4.96687, y = 505.76974 + x = 4.60638, y = 573.80193 + x = 0.38252, y = 0.60622 + x = 2.38481, y = 53.98113 + x = -2.12434, y = 13.16726 + x = 2.72864, y = 85.92504 + x = -3.00572, y = 60.49308 + x = 2.31114, y = 48.52751 + x = -0.85420, y = -0.21542 + x = -3.19318, y = 78.41051 + x = 0.22558, y = 0.29053 + x = -3.94415, y = 192.25519 + x = 0.12889, y = 0.14791 + x = -2.62208, y = 33.49554 + x = 4.36229, y = 468.52828 + x = -3.47242, y = 112.10416 + x = 2.23001, y = 43.02253 + x = 4.24023, y = 421.72071 + x = -2.78978, y = 43.85342 + x = -4.09316, y = 224.77861 + x = -4.74764, y = 418.83717 + x = -0.28238, y = -0.21880 + x = -0.13495, y = -0.11887 + x = -2.99877, y = 59.89429 + x = -2.88861, y = 50.97586 + x = -3.78758, y = 162.02335 + x = 4.09171, y = 369.63385 + x = 0.41845, y = 0.69748 + x = 2.30796, y = 48.30213 + x = 0.81310, y = 2.44891 + x = 0.41311, y = 0.68339 + x = 3.26280, y = 161.97769 + x = 0.96001, y = 3.61575 + x = -2.88972, y = 51.06060 + x = 0.74848, y = 2.04186 + x = 2.53382, y = 66.44152 + x = -2.61484, y = 33.09369 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.stt b/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.stt new file mode 100644 index 0000000..07be266 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.076 3.671 14 4 6 5 0.0000 0.0001 0.0000 13.076 3.671 14 4 6 5 +1 0 0.0000 0.0001 0.0000 12.218 3.836 12 4 6 4 0.0000 0.0001 0.0000 12.647 3.753 12 4 6 4 +2 0 0.0000 0.0001 0.0000 12.196 3.998 21 6 15 5 0.0000 0.0001 0.0000 12.497 3.835 12 4 6 4 +3 0 0.0000 0.0001 0.0000 11.824 4.054 19 6 14 6 0.0000 0.0001 0.0000 12.328 3.890 19 6 6 4 +4 0 0.0000 0.0001 0.0000 11.747 4.135 13 4 10 5 0.0000 0.0001 0.0000 12.212 3.939 19 6 6 4 +5 0 0.0000 0.0001 0.0000 11.754 4.166 63 8 41 8 0.0000 0.0001 0.0000 12.136 3.977 63 8 6 4 +6 0 0.0000 0.0001 0.0000 12.270 4.313 61 8 6 4 0.0000 0.0001 0.0000 12.155 4.025 61 8 6 4 +7 0 0.0000 0.0001 0.0000 12.359 4.359 66 11 9 5 0.0000 0.0001 0.0000 12.181 4.067 61 8 6 4 +8 0 0.0000 0.0001 0.0000 12.931 4.487 19 5 35 7 0.0000 0.0001 0.0000 12.264 4.113 19 5 6 4 +9 0 0.0000 0.0002 0.0000 13.930 4.678 9 5 37 9 0.0000 0.0002 0.0000 12.431 4.170 9 5 6 4 +10 0 0.0000 0.0002 0.0000 15.815 5.003 49 15 49 13 0.0000 0.0002 0.0000 12.738 4.245 9 5 6 4 +11 0 0.0000 0.0002 0.0000 18.931 5.450 49 15 40 9 0.0000 0.0002 0.0000 13.254 4.346 9 5 6 4 +12 0 0.0000 0.0002 0.0000 23.135 6.024 50 14 52 10 0.0000 0.0002 0.0000 14.014 4.475 9 5 6 4 +13 0 0.0001 0.0002 0.0000 27.724 6.621 43 8 24 9 0.0000 0.0002 0.0000 14.994 4.628 43 8 6 4 +14 0 0.0001 0.0002 0.0000 33.876 7.406 17 6 21 7 0.0000 0.0002 0.0000 16.252 4.813 17 6 6 4 +15 0 0.0001 0.0002 0.0000 39.783 8.217 16 6 28 8 0.0000 0.0002 0.0000 17.723 5.026 16 6 6 4 +16 0 0.0001 0.0002 0.0000 45.159 8.833 10 5 26 8 0.0000 0.0002 0.0000 19.337 5.250 10 5 6 4 +17 0 0.0001 0.0003 0.0000 50.544 9.486 45 13 77 11 0.0000 0.0003 0.0000 21.071 5.485 45 13 6 4 +18 0 0.0001 0.0003 0.0000 55.207 10.065 56 13 41 10 0.0000 0.0003 0.0000 22.867 5.726 56 13 6 4 +19 0 0.0001 0.0003 0.0000 58.360 10.482 36 13 67 16 0.0000 0.0003 0.0000 24.642 5.964 56 13 6 4 +20 0 0.0001 0.0003 0.0000 60.403 10.769 41 13 88 12 0.0000 0.0003 0.0000 26.345 6.193 56 13 6 4 +21 0 0.0001 0.0003 0.0000 61.650 10.966 55 13 8 6 0.0001 0.0003 0.0000 27.950 6.410 56 13 6 4 +22 0 0.0001 0.0003 0.0000 62.984 11.163 55 13 98 13 0.0001 0.0003 0.0000 29.473 6.617 56 13 6 4 +23 0 0.0001 0.0003 0.0000 64.267 11.333 52 13 99 17 0.0001 0.0003 0.0000 30.923 6.813 56 13 6 4 +24 0 0.0001 0.0003 0.0000 64.963 11.445 37 6 40 10 0.0001 0.0003 0.0000 32.284 6.998 37 6 6 4 +25 0 0.0001 0.0003 0.0000 65.783 11.636 52 13 109 13 0.0001 0.0003 0.0000 33.573 7.177 37 6 6 4 +26 0 0.0001 0.0003 0.0000 65.699 11.709 38 13 76 13 0.0001 0.0003 0.0000 34.763 7.345 37 6 6 4 +27 0 0.0001 0.0003 0.0000 65.528 11.748 39 14 78 12 0.0001 0.0003 0.0000 35.861 7.502 37 6 6 4 +28 0 0.0001 0.0003 0.0000 65.282 11.799 39 14 112 13 0.0001 0.0003 0.0000 36.876 7.650 37 6 6 4 +29 0 0.0001 0.0003 0.0000 65.908 11.900 142 17 87 12 0.0001 0.0003 0.0000 37.844 7.792 142 17 6 4 +30 0 0.0001 0.0003 0.0000 67.073 12.085 39 14 79 13 0.0001 0.0003 0.0000 38.786 7.930 142 17 6 4 +31 0 0.0001 0.0003 0.0000 69.743 12.378 37 14 116 14 0.0001 0.0003 0.0000 39.754 8.069 142 17 6 4 +32 0 0.0001 0.0003 0.0000 72.065 12.568 63 13 60 12 0.0001 0.0003 0.0000 40.733 8.206 63 13 6 4 +33 0 0.0001 0.0003 0.0000 74.392 12.890 63 13 63 13 0.0001 0.0003 0.0000 41.723 8.343 63 13 6 4 +34 0 0.0002 0.0003 0.0000 77.753 13.188 64 13 92 13 0.0001 0.0003 0.0000 42.752 8.482 63 13 6 4 +35 0 0.0002 0.0003 0.0000 80.338 13.375 64 13 46 16 0.0001 0.0003 0.0000 43.796 8.618 63 13 6 4 +36 0 0.0002 0.0003 0.0000 84.226 13.670 87 15 165 17 0.0001 0.0003 0.0000 44.889 8.754 63 13 6 4 +37 0 0.0002 0.0003 0.0000 87.446 13.802 71 15 42 12 0.0001 0.0003 0.0000 46.009 8.887 63 13 6 4 +38 0 0.0002 0.0003 0.0000 92.175 14.075 112 16 127 17 0.0001 0.0003 0.0000 47.193 9.020 112 16 6 4 +39 0 0.0002 0.0003 0.0000 95.763 14.199 91 16 94 14 0.0001 0.0003 0.0000 48.407 9.150 91 16 6 4 +40 0 0.0002 0.0003 0.0000 99.241 14.335 116 16 96 14 0.0001 0.0003 0.0000 49.647 9.276 116 16 6 4 +41 0 0.0002 0.0003 0.0000 102.151 14.410 86 14 100 14 0.0001 0.0003 0.0000 50.897 9.398 116 16 6 4 +42 0 0.0002 0.0003 0.0000 105.258 14.466 75 14 112 16 0.0001 0.0003 0.0000 52.161 9.516 116 16 6 4 +43 0 0.0002 0.0003 0.0000 107.169 14.536 127 14 125 14 0.0001 0.0003 0.0000 53.411 9.630 116 16 6 4 +44 0 0.0002 0.0003 0.0000 109.631 14.606 83 13 53 13 0.0001 0.0003 0.0000 54.661 9.741 116 16 6 4 +45 0 0.0002 0.0003 0.0000 110.749 14.651 133 16 148 17 0.0001 0.0003 0.0000 55.880 9.848 116 16 6 4 +46 0 0.0002 0.0003 0.0000 112.703 14.660 127 16 161 17 0.0001 0.0003 0.0000 57.089 9.950 116 16 6 4 +47 0 0.0002 0.0003 0.0000 113.875 14.687 127 16 107 14 0.0001 0.0003 0.0000 58.272 10.049 116 16 6 4 +48 0 0.0002 0.0003 0.0000 115.350 14.686 132 16 91 16 0.0001 0.0003 0.0000 59.437 10.143 116 16 6 4 +49 0 0.0002 0.0003 0.0000 117.635 14.757 119 14 130 15 0.0001 0.0003 0.0000 60.601 10.236 116 16 6 4 +50 0 0.0002 0.0003 0.0000 120.409 14.793 123 14 89 16 0.0001 0.0003 0.0000 61.774 10.325 116 16 6 4 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.sys b/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.sys new file mode 100644 index 0000000..7e6fb72 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_7/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 15. +creating initial population(s): + 5624 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 317218444 + freed: 316215844 + not freed: 1002600 + max allocated: 13717407 + malloc'ed blocks: 746905 + realloc'ed blocks: 11 + free'ed blocks: 746755 + +------- time ------- + overall: 7s wall + evaluation: 6s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 400 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 33497 + freed: 33497 + allocated: 13500 + blocks: 26 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.bst b/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.bst new file mode 100644 index 0000000..e3dda7b --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.bst @@ -0,0 +1,21 @@ +=== BEST-OF-RUN === + generation: 28 + nodes: 19 + depth: 5 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (* (* x x) + (+ (+ (* x x) x) + (/ (+ (* x x) x) + (* x x)))) +TREE-equ: +y = ((x * x) * (((x * x) + x) + (((x * x) + x) / (x * x)))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.fn b/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.fn new file mode 100644 index 0000000..79280a6 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.fn @@ -0,0 +1,2 @@ + +y = ((x * x) * (((x * x) + x) + (((x * x) + x) / (x * x)))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.gen b/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.his b/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.his new file mode 100644 index 0000000..4a147c0 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.his @@ -0,0 +1,634 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 43 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 13191.5247 + standardized fitness: 13191.5247 + adjusted fitness: 0.0001 +TREE: + (- (/ (/ 0.36646 + (sin (* (sin x) x))) + (exp (exp (* (cos x) + (cos 0.27393))))) + (- (/ -0.65309 + (- (- x + (log -0.92818)) + (/ (sin 0.60339) + (/ 0.44467 x)))) + (- 0.43705 + (* (sin (cos -0.17938)) + (/ (+ x x) + (/ -0.15575 x)))))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 43 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 13191.5247 + standardized fitness: 13191.5247 + adjusted fitness: 0.0001 +TREE: + (- (/ (/ 0.36646 + (sin (* (sin x) x))) + (exp (exp (* (cos x) + (cos 0.27393))))) + (- (/ -0.65309 + (- (- x + (log -0.92818)) + (/ (sin 0.60339) + (/ 0.44467 x)))) + (- 0.43705 + (* (sin (cos -0.17938)) + (/ (+ x x) + (/ -0.15575 x)))))) +=== BEST-OF-RUN === + current generation: 2 + generation: 0 + nodes: 43 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 13191.5247 + standardized fitness: 13191.5247 + adjusted fitness: 0.0001 +TREE: + (- (/ (/ 0.36646 + (sin (* (sin x) x))) + (exp (exp (* (cos x) + (cos 0.27393))))) + (- (/ -0.65309 + (- (- x + (log -0.92818)) + (/ (sin 0.60339) + (/ 0.44467 x)))) + (- 0.43705 + (* (sin (cos -0.17938)) + (/ (+ x x) + (/ -0.15575 x)))))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 13 + depth: 4 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 7413.1868 + standardized fitness: 7413.1868 + adjusted fitness: 0.0001 +TREE: + (* (* (* (* 0.26247 x) + (* x x)) + (exp (log x))) x) +=== BEST-OF-RUN === + current generation: 4 + generation: 3 + nodes: 13 + depth: 4 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 7413.1868 + standardized fitness: 7413.1868 + adjusted fitness: 0.0001 +TREE: + (* (* (* (* 0.26247 x) + (* x x)) + (exp (log x))) x) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 7 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7036.2090 + standardized fitness: 7036.2090 + adjusted fitness: 0.0001 +TREE: + (* (* x x) + (* x x)) +=== BEST-OF-RUN === + current generation: 6 + generation: 5 + nodes: 7 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7036.2090 + standardized fitness: 7036.2090 + adjusted fitness: 0.0001 +TREE: + (* (* x x) + (* x x)) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 18 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6759.6509 + standardized fitness: 6759.6509 + adjusted fitness: 0.0001 +TREE: + (- (+ (* (* x x) + (* x x)) x) + (log (* (/ -0.91796 x) + (sin (exp x))))) +=== BEST-OF-RUN === + current generation: 8 + generation: 7 + nodes: 18 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6759.6509 + standardized fitness: 6759.6509 + adjusted fitness: 0.0001 +TREE: + (- (+ (* (* x x) + (* x x)) x) + (log (* (/ -0.91796 x) + (sin (exp x))))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 9 + depth: 3 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 6523.3950 + standardized fitness: 6523.3950 + adjusted fitness: 0.0002 +TREE: + (+ (* (* x x) + (* x x)) x) +=== BEST-OF-RUN === + current generation: 10 + generation: 9 + nodes: 9 + depth: 3 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 6523.3950 + standardized fitness: 6523.3950 + adjusted fitness: 0.0002 +TREE: + (+ (* (* x x) + (* x x)) x) +=== BEST-OF-RUN === + current generation: 11 + generation: 9 + nodes: 9 + depth: 3 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 6523.3950 + standardized fitness: 6523.3950 + adjusted fitness: 0.0002 +TREE: + (+ (* (* x x) + (* x x)) x) +=== BEST-OF-RUN === + current generation: 12 + generation: 9 + nodes: 9 + depth: 3 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 6523.3950 + standardized fitness: 6523.3950 + adjusted fitness: 0.0002 +TREE: + (+ (* (* x x) + (* x x)) x) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 38 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3886.7644 + standardized fitness: 3886.7644 + adjusted fitness: 0.0003 +TREE: + (+ (- (/ 0.37966 x) 0.85229) + (- (* (+ (- (exp x) + (exp (- (* (+ 0.30097 + (* -0.76211 0.16626)) x) + (- x + (sin (cos (exp x))))))) + (/ x x)) + (+ x + (/ (- x 0.49094) x))) x)) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 14 + depth: 4 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 1307.5779 + standardized fitness: 1307.5779 + adjusted fitness: 0.0008 +TREE: + (* (* x x) + (+ (+ (* x x) x) + (* -0.52096 + (cos x)))) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 25 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1075.7979 + standardized fitness: 1075.7979 + adjusted fitness: 0.0009 +TREE: + (* (* x x) + (+ (+ (* x x) x) + (* (- x + (+ 0.33116 + (+ (/ x + (/ x x)) + (log x)))) + (cos x)))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 12 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 575.2736 + standardized fitness: 575.2736 + adjusted fitness: 0.0017 +TREE: + (* (* x x) + (+ (+ (* x x) x) + (cos -0.80135))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 13 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 497.1220 + standardized fitness: 497.1220 + adjusted fitness: 0.0020 +TREE: + (* (* x x) + (+ (+ (* x x) x) + (sin (cos 0.45697)))) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 24 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 316.5523 + standardized fitness: 316.5523 + adjusted fitness: 0.0031 +TREE: + (* (* x x) + (+ (+ (* x x) x) + (- (/ (+ -0.02341 x) + (+ -0.06622 x)) + (/ (log x) + (- 0.36303 x))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 22 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 299.9088 + standardized fitness: 299.9088 + adjusted fitness: 0.0033 +TREE: + (* (* x x) + (+ (+ (* x x) x) + (- (/ (+ -0.02341 x) x) + (/ (log x) + (- 0.36303 x))))) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 26 + depth: 7 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 252.0295 + standardized fitness: 252.0295 + adjusted fitness: 0.0040 +TREE: + (* (* x x) + (+ (+ (+ (* x x) x) + (- (sin (+ (cos -0.79894) + (log x))) -0.05386)) + (/ (- x + (+ -0.58457 x)) x))) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 16 + depth: 5 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 130.3358 + standardized fitness: 130.3358 + adjusted fitness: 0.0076 +TREE: + (* (* x x) + (+ (+ (* x x) x) + (+ (/ (exp -0.24548) x) 0.92996))) +=== BEST-OF-RUN === + current generation: 22 + generation: 22 + nodes: 26 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 108.3309 + standardized fitness: 108.3309 + adjusted fitness: 0.0091 +TREE: + (* (* x x) + (+ (+ (* x x) x) + (exp (sin (/ (+ x + (+ (sin 0.47373) + (cos x))) + (+ (log x) + (* x x))))))) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 28 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 105.0103 + standardized fitness: 105.0103 + adjusted fitness: 0.0094 +TREE: + (* (* x x) + (+ (+ (* x x) x) + (exp (sin (/ (+ x + (+ (sin 0.47373) + (cos x))) + (+ (* -0.28653 + (exp -0.56513)) + (* x x))))))) +=== BEST-OF-RUN === + current generation: 24 + generation: 23 + nodes: 28 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 105.0103 + standardized fitness: 105.0103 + adjusted fitness: 0.0094 +TREE: + (* (* x x) + (+ (+ (* x x) x) + (exp (sin (/ (+ x + (+ (sin 0.47373) + (cos x))) + (+ (* -0.28653 + (exp -0.56513)) + (* x x))))))) +=== BEST-OF-RUN === + current generation: 25 + generation: 23 + nodes: 28 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 105.0103 + standardized fitness: 105.0103 + adjusted fitness: 0.0094 +TREE: + (* (* x x) + (+ (+ (* x x) x) + (exp (sin (/ (+ x + (+ (sin 0.47373) + (cos x))) + (+ (* -0.28653 + (exp -0.56513)) + (* x x))))))) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 51 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 98.1097 + standardized fitness: 98.1097 + adjusted fitness: 0.0101 +TREE: + (* (* x x) + (+ (+ (* x x) x) + (- (/ (+ -0.02341 x) x) + (/ (cos (/ (* -0.52096 + (+ (* x x) + (cos (/ (cos (* (* x x) + (+ -0.26136 + (* (/ (sin -0.13290) + (+ x x)) + (cos x))))) + (sin -0.03662))))) + (* x x))) + (- 0.36303 x))))) +=== BEST-OF-RUN === + current generation: 27 + generation: 27 + nodes: 41 + depth: 11 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 77.7551 + standardized fitness: 77.7551 + adjusted fitness: 0.0127 +TREE: + (* (* x x) + (+ (+ (* x x) x) + (exp (sin (/ (+ x + (+ (sin 0.47373) + (/ (* x x) + (+ (+ (* x x) x) + (* x x))))) + (+ (* (+ x x) + (exp -0.56513)) + (* x x))))))) +=== BEST-OF-RUN === + current generation: 28 + generation: 28 + nodes: 19 + depth: 5 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (* (* x x) + (+ (+ (* x x) x) + (/ (+ (* x x) x) + (* x x)))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.prg b/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.prg new file mode 100644 index 0000000..a5b4968 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -2.99652, y = 59.70153 + x = 2.74353, y = 87.57578 + x = 4.88437, y = 714.42965 + x = 4.52170, y = 535.44622 + x = 1.89309, y = 25.10474 + x = 0.53274, y = 1.04830 + x = -2.02134, y = 10.49942 + x = -3.53743, y = 121.29554 + x = 1.28749, y = 7.82708 + x = 0.86184, y = 2.79650 + x = 0.99435, y = 3.94380 + x = -4.45661, y = 321.36540 + x = -3.33998, y = 95.00040 + x = 1.68891, y = 17.49496 + x = -0.46186, y = -0.30156 + x = -4.23972, y = 260.63561 + x = -3.76039, y = 157.16090 + x = -2.84469, y = 47.71251 + x = -3.06699, y = 65.97071 + x = -0.14921, y = -0.12977 + x = 4.18993, y = 403.49858 + x = -3.03620, y = 63.17436 + x = 2.31819, y = 49.02980 + x = -0.97736, y = -0.04327 + x = -4.48940, y = 331.39611 + x = -0.17454, y = -0.14846 + x = 2.66038, y = 78.65969 + x = 3.79850, y = 281.21980 + x = 4.24880, y = 424.88879 + x = -1.09566, y = 0.23063 + x = -4.91948, y = 485.92702 + x = -3.74565, y = 154.57040 + x = 1.92823, y = 26.63965 + x = -0.84098, y = -0.22831 + x = 3.41604, y = 191.12151 + x = -1.88676, y = 7.62914 + x = -2.93877, y = 54.90433 + x = -1.25261, y = 0.81288 + x = -2.52544, y = 28.42252 + x = -1.76868, y = 5.61247 + x = 3.41522, y = 190.95508 + x = 1.89912, y = 25.36331 + x = 0.61162, y = 1.35444 + x = 4.07917, y = 365.47155 + x = -4.51806, y = 340.35494 + x = 1.77933, y = 20.60246 + x = 0.85841, y = 2.77082 + x = -3.71825, y = 149.84195 + x = 0.31284, y = 0.45091 + x = 2.36102, y = 52.17100 + x = 2.60898, y = 73.50710 + x = -2.26101, y = 17.42684 + x = -3.01872, y = 61.62638 + x = -0.30030, y = -0.22907 + x = 2.47772, y = 61.51654 + x = -4.25088, y = 263.52920 + x = -4.18470, y = 246.70637 + x = 0.72535, y = 1.90996 + x = -3.89434, y = 182.21467 + x = -1.22015, y = 0.66853 + x = -1.52849, y = 2.69499 + x = 4.23127, y = 418.43134 + x = 3.98802, y = 336.26432 + x = -1.94383, y = 8.76685 + x = 2.44663, y = 58.91016 + x = 4.09523, y = 370.80891 + x = -0.06824, y = -0.06388 + x = -2.41914, y = 23.52462 + x = 1.20697, y = 6.54425 + x = 2.75881, y = 89.29483 + x = -0.09814, y = -0.08936 + x = 4.95786, y = 755.59860 + x = 1.84246, y = 23.01547 + x = -0.42801, y = -0.28967 + x = 2.24181, y = 43.79193 + x = 1.45094, y = 11.04282 + x = 4.98252, y = 769.80675 + x = -2.38151, y = 21.95010 + x = 1.54492, y = 13.31573 + x = 4.76147, y = 649.38653 + x = -0.98983, y = -0.01992 + x = -3.06498, y = 65.78527 + x = 2.69285, y = 82.05420 + x = 0.46896, y = 0.84037 + x = -4.56717, y = 356.12536 + x = -4.15075, y = 238.39579 + x = -2.73366, y = 40.15513 + x = -1.12794, y = 0.32790 + x = 1.71239, y = 18.26414 + x = 4.32081, y = 452.20515 + x = 3.18148, y = 147.95595 + x = 4.48037, y = 517.44709 + x = 2.54042, y = 67.04021 + x = -0.28425, y = -0.21989 + x = 3.32946, y = 174.20756 + x = 3.45736, y = 199.61957 + x = -4.94334, y = 495.84314 + x = -3.96037, y = 195.61149 + x = -3.16264, y = 75.25184 + x = -0.96901, y = -0.05823 + x = 1.79681, y = 21.24988 + x = -1.76007, y = 5.48206 + x = -0.26317, y = -0.20734 + x = 0.55137, y = 1.11542 + x = -1.64915, y = 3.98204 + x = 0.67396, y = 1.64063 + x = 0.04614, y = 0.04837 + x = 1.51232, y = 12.48918 + x = -0.73313, y = -0.30081 + x = 1.62848, y = 15.63180 + x = 3.48278, y = 204.98966 + x = 1.94324, y = 27.31681 + x = 4.01296, y = 344.07640 + x = -3.21516, y = 80.74445 + x = 0.59837, y = 1.29887 + x = -1.00886, y = 0.01804 + x = -3.30915, y = 91.31744 + x = -0.72774, y = -0.30307 + x = -0.27330, y = -0.21344 + x = 3.98927, y = 336.65404 + x = 4.03857, y = 352.23458 + x = -1.10787, y = 0.26618 + x = -4.25650, y = 264.99861 + x = -2.82402, y = 46.23123 + x = -4.03801, y = 212.29467 + x = -3.33807, y = 94.76902 + x = 0.22103, y = 0.28306 + x = -3.70891, y = 148.25468 + x = -3.77886, y = 160.45272 + x = -3.43215, y = 106.67847 + x = -3.59520, y = 129.92777 + x = -1.52980, y = 2.70728 + x = 3.35162, y = 178.42322 + x = 4.91644, y = 732.18125 + x = -3.72131, y = 150.36479 + x = 2.06693, y = 33.42121 + x = -2.07794, y = 11.91144 + x = 0.90800, y = 3.16082 + x = 4.87058, y = 706.89669 + x = 1.44169, y = 10.83666 + x = 4.15840, y = 392.38087 + x = 2.99408, y = 119.16089 + x = 4.14536, y = 387.85277 + x = 2.72312, y = 85.31938 + x = -4.71775, y = 407.91816 + x = -0.71066, y = -0.30947 + x = 3.73688, y = 264.88434 + x = 0.36444, y = 0.56330 + x = -1.24624, y = 0.78350 + x = 1.66753, y = 16.81706 + x = -1.76367, y = 5.53629 + x = 3.76557, y = 272.39671 + x = 4.81850, y = 678.98388 + x = -4.73049, y = 412.54371 + x = -2.37381, y = 21.63786 + x = -1.67339, y = 4.28221 + x = -0.11169, y = -0.10046 + x = -0.17961, y = -0.15210 + x = -0.72732, y = -0.30324 + x = 1.28392, y = 7.76631 + x = -2.24810, y = 16.98641 + x = 4.13814, y = 385.36370 + x = 1.64174, y = 16.02669 + x = 2.82518, y = 97.06313 + x = 2.47008, y = 60.86795 + x = -4.51129, y = 338.22139 + x = 2.79788, y = 93.80761 + x = -3.71015, y = 148.46599 + x = -3.49740, y = 115.57226 + x = -3.69097, y = 145.24261 + x = 0.25426, y = 0.33953 + x = 1.32641, y = 8.51475 + x = -4.48149, y = 328.95486 + x = 3.05917, y = 128.62951 + x = 0.75294, y = 2.06810 + x = -4.72700, y = 411.27255 + x = -0.92637, y = -0.12675 + x = -4.52602, y = 342.87238 + x = 4.54979, y = 547.94989 + x = 2.63538, y = 76.12011 + x = 1.77363, y = 20.39457 + x = -4.59937, y = 366.75785 + x = 2.01841, y = 30.91280 + x = -0.06279, y = -0.05908 + x = 3.81594, y = 285.97845 + x = -2.73334, y = 40.13460 + x = 1.82846, y = 22.46218 + x = -4.47356, y = 326.52102 + x = -2.55364, y = 29.83940 + x = -4.21002, y = 253.04416 + x = 4.26905, y = 432.44039 + x = -3.36779, y = 98.41752 + x = -0.59460, y = -0.32627 + x = 3.56155, y = 222.32412 + x = -3.81257, y = 166.59181 + x = -2.16801, y = 14.43463 + x = 2.47557, y = 61.33302 + x = -3.91382, y = 186.09225 + x = -3.02982, y = 62.60554 + x = -4.99075, y = 515.99885 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.stt b/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.stt new file mode 100644 index 0000000..0b7b177 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.stt @@ -0,0 +1,30 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 12.836 3.691 43 6 8 5 0.0000 0.0001 0.0000 12.836 3.691 43 6 8 5 +1 0 0.0000 0.0001 0.0000 11.805 3.811 17 5 4 2 0.0000 0.0001 0.0000 12.320 3.751 43 6 8 5 +2 0 0.0000 0.0001 0.0000 11.614 3.955 19 5 9 5 0.0000 0.0001 0.0000 12.085 3.819 43 6 8 5 +3 0 0.0000 0.0001 0.0000 11.766 4.065 13 4 6 4 0.0000 0.0001 0.0000 12.005 3.881 13 4 8 5 +4 0 0.0000 0.0001 0.0000 12.081 4.210 22 7 9 5 0.0000 0.0001 0.0000 12.020 3.947 13 4 8 5 +5 0 0.0000 0.0001 0.0000 12.019 4.245 7 2 31 8 0.0000 0.0001 0.0000 12.020 3.996 7 2 8 5 +6 0 0.0000 0.0001 0.0000 12.106 4.325 15 6 19 6 0.0000 0.0001 0.0000 12.032 4.043 7 2 8 5 +7 0 0.0000 0.0001 0.0000 12.552 4.455 18 5 14 8 0.0000 0.0001 0.0000 12.097 4.095 18 5 8 5 +8 0 0.0000 0.0001 0.0000 12.592 4.540 19 6 41 15 0.0000 0.0001 0.0000 12.152 4.144 18 5 8 5 +9 0 0.0000 0.0002 0.0000 12.866 4.642 9 3 5 4 0.0000 0.0002 0.0000 12.224 4.194 9 3 8 5 +10 0 0.0000 0.0001 0.0000 13.113 4.739 11 5 12 5 0.0000 0.0002 0.0000 12.305 4.244 9 3 8 5 +11 0 0.0000 0.0002 0.0000 13.443 4.847 9 3 7 4 0.0000 0.0002 0.0000 12.400 4.294 9 3 8 5 +12 0 0.0000 0.0001 0.0000 14.207 5.024 25 8 9 5 0.0000 0.0002 0.0000 12.539 4.350 9 3 8 5 +13 0 0.0000 0.0003 0.0000 14.746 5.158 38 11 17 8 0.0000 0.0003 0.0000 12.696 4.408 38 11 8 5 +14 0 0.0000 0.0008 0.0000 15.362 5.295 14 4 22 8 0.0000 0.0008 0.0000 12.874 4.467 14 4 8 5 +15 0 0.0000 0.0009 0.0000 16.454 5.512 25 8 51 10 0.0000 0.0009 0.0000 13.098 4.532 25 8 8 5 +16 0 0.0000 0.0017 0.0000 18.284 5.827 12 4 13 8 0.0000 0.0017 0.0000 13.403 4.608 12 4 8 5 +17 0 0.0001 0.0020 0.0000 20.063 6.225 13 4 12 6 0.0000 0.0020 0.0000 13.773 4.698 13 4 8 5 +18 0 0.0001 0.0031 0.0000 21.642 6.615 24 5 42 10 0.0000 0.0031 0.0000 14.187 4.799 24 5 8 5 +19 0 0.0003 0.0033 0.0000 23.148 7.270 22 5 60 14 0.0001 0.0033 0.0000 14.635 4.923 22 5 8 5 +20 0 0.0004 0.0040 0.0000 25.123 8.055 26 7 47 17 0.0001 0.0040 0.0000 15.134 5.072 26 7 8 5 +21 0 0.0006 0.0076 0.0000 27.835 8.818 16 5 22 7 0.0001 0.0076 0.0000 15.712 5.242 16 5 8 5 +22 0 0.0008 0.0091 0.0000 30.415 9.494 26 8 15 5 0.0001 0.0091 0.0000 16.351 5.427 26 8 8 5 +23 0 0.0009 0.0094 0.0000 32.704 10.014 28 8 20 7 0.0002 0.0094 0.0000 17.032 5.618 28 8 8 5 +24 0 0.0010 0.0094 0.0000 34.196 10.331 28 8 20 6 0.0002 0.0094 0.0000 17.719 5.806 28 8 8 5 +25 0 0.0011 0.0094 0.0000 36.114 10.644 28 8 17 7 0.0002 0.0094 0.0000 18.426 5.993 28 8 8 5 +26 0 0.0011 0.0101 0.0000 37.353 10.854 51 16 19 7 0.0003 0.0101 0.0000 19.127 6.173 51 16 8 5 +27 0 0.0012 0.0127 0.0000 38.795 11.103 41 11 30 13 0.0003 0.0127 0.0000 19.830 6.349 41 11 8 5 +28 0 0.0016 1.0000 0.0000 40.200 11.239 19 5 30 8 0.0003 1.0000 0.0000 20.532 6.517 19 5 8 5 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.sys b/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.sys new file mode 100644 index 0000000..0cf47fd --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_8/regress.sys @@ -0,0 +1,137 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 1530. +creating initial population(s): + 5609 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 68028804 + freed: 67467348 + not freed: 561456 + max allocated: 5308729 + malloc'ed blocks: 427943 + realloc'ed blocks: 9 + free'ed blocks: 427859 + +------- time ------- + overall: 2s wall + evaluation: 2s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 24374 + freed: 24374 + allocated: 13500 + blocks: 26 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.bst b/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.bst new file mode 100644 index 0000000..6e9bd89 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.bst @@ -0,0 +1,45 @@ +=== BEST-OF-RUN === + generation: 38 + nodes: 118 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 302.9136 + standardized fitness: 302.9136 + adjusted fitness: 0.0033 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (exp 0.88462)) + (+ (* (* 0.88202 + (+ (- (sin (- (* (/ 0.29753 + (/ (exp x) + (sin 0.64464))) + (- (* x x) -0.75818)) + (+ x + (log (* (sin (cos (sin (log (cos 0.35509))))) + (* (/ (* x x) + (sin -0.75055)) + (exp (/ 0.70765 x)))))))) + (+ (log (* (sin (cos (log (/ x -0.64731)))) + (* (/ (/ 0.52175 -0.10652) + (* (+ (log x) 0.44103) + (+ (exp x) + (exp (* (* x x) + (- x -0.75818)))))) + (/ 0.52175 -0.10652)))) + (+ (/ 0.52175 -0.10652) + (cos (log (log (- x x))))))) x)) + (sin 0.53312)) + (/ x + (- (/ x + (exp (log -0.44616))) + (- (exp (* x x)) + (- x -0.75818))))))) +TREE-equ: +y = ((((x * x) * (x - -0.75818)) * x) - (sin(exp(0.88462)) - (((0.88202 * ((sin((((0.29753 / (exp(x) / sin(0.64464))) * ((x * x) - -0.75818)) - (x + log((sin(cos(sin(log(cos(0.35509))))) * (((x * x) / sin(-0.75055)) * exp((0.70765 / x)))))))) - (log((sin(cos(log((x / -0.64731)))) * (((0.52175 / -0.10652) / ((log(x) + 0.44103) * (exp(x) + exp(((x * x) * (x - -0.75818)))))) * (0.52175 / -0.10652)))) + ((0.52175 / -0.10652) + cos(log(log((x - x))))))) + x)) * sin(0.53312)) + (x / ((x / exp(log(-0.44616))) - (exp((x * x)) - (x - -0.75818))))))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.fn b/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.fn new file mode 100644 index 0000000..54cf7a2 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.fn @@ -0,0 +1,2 @@ + +y = ((((x * x) * (x - -0.75818)) * x) - (sin(exp(0.88462)) - (((0.88202 * ((sin((((0.29753 / (exp(x) / sin(0.64464))) * ((x * x) - -0.75818)) - (x + log((sin(cos(sin(log(cos(0.35509))))) * (((x * x) / sin(-0.75055)) * exp((0.70765 / x)))))))) - (log((sin(cos(log((x / -0.64731)))) * (((0.52175 / -0.10652) / ((log(x) + 0.44103) * (exp(x) + exp(((x * x) * (x - -0.75818)))))) * (0.52175 / -0.10652)))) + ((0.52175 / -0.10652) + cos(log(log((x - x))))))) + x)) * sin(0.53312)) + (x / ((x / exp(log(-0.44616))) - (exp((x * x)) - (x - -0.75818))))))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.gen b/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.his b/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.his new file mode 100644 index 0000000..902b2ad --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.his @@ -0,0 +1,1438 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 16 + depth: 4 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 11601.7413 + standardized fitness: 11601.7413 + adjusted fitness: 0.0001 +TREE: + (- (/ (log (exp x)) + (/ (cos -0.61686) + (exp x))) + (log (+ (sin x) + (log 0.96038)))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 20 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 11319.9927 + standardized fitness: 11319.9927 + adjusted fitness: 0.0001 +TREE: + (/ (* (- (exp x) + (* x -0.74851)) + (+ (+ x 0.70164) + (exp 0.08497))) + (cos (/ (sin x) + (exp x)))) +=== BEST-OF-RUN === + current generation: 2 + generation: 1 + nodes: 20 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 11319.9927 + standardized fitness: 11319.9927 + adjusted fitness: 0.0001 +TREE: + (/ (* (- (exp x) + (* x -0.74851)) + (+ (+ x 0.70164) + (exp 0.08497))) + (cos (/ (sin x) + (exp x)))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 7 + depth: 3 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6457.7648 + standardized fitness: 6457.7648 + adjusted fitness: 0.0002 +TREE: + (* (* x + (* x x)) x) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 9 + depth: 3 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 2023.0895 + standardized fitness: 2023.0895 + adjusted fitness: 0.0005 +TREE: + (* (* (* x x) + (- x -0.75818)) x) +=== BEST-OF-RUN === + current generation: 5 + generation: 4 + nodes: 9 + depth: 3 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 2023.0895 + standardized fitness: 2023.0895 + adjusted fitness: 0.0005 +TREE: + (* (* (* x x) + (- x -0.75818)) x) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 16 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2014.7714 + standardized fitness: 2014.7714 + adjusted fitness: 0.0005 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (cos (log (/ 0.29753 + (log -0.08325))))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 13 + depth: 4 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1873.1777 + standardized fitness: 1873.1777 + adjusted fitness: 0.0005 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (* -0.44884 x)) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 14 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1666.9744 + standardized fitness: 1666.9744 + adjusted fitness: 0.0006 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (log -0.49904) x)) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 14 + depth: 4 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 681.8691 + standardized fitness: 681.8691 + adjusted fitness: 0.0015 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (* (exp x) -0.66557)) +=== BEST-OF-RUN === + current generation: 10 + generation: 9 + nodes: 14 + depth: 4 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 681.8691 + standardized fitness: 681.8691 + adjusted fitness: 0.0015 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (* (exp x) -0.66557)) +=== BEST-OF-RUN === + current generation: 11 + generation: 9 + nodes: 14 + depth: 4 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 681.8691 + standardized fitness: 681.8691 + adjusted fitness: 0.0015 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (* (exp x) -0.66557)) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 22 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 640.6783 + standardized fitness: 640.6783 + adjusted fitness: 0.0016 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (exp 0.97707) + (+ (* (exp x) + (sin 0.53312)) + (exp (cos -0.28675))))) +=== BEST-OF-RUN === + current generation: 13 + generation: 12 + nodes: 22 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 640.6783 + standardized fitness: 640.6783 + adjusted fitness: 0.0016 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (exp 0.97707) + (+ (* (exp x) + (sin 0.53312)) + (exp (cos -0.28675))))) +=== BEST-OF-RUN === + current generation: 14 + generation: 12 + nodes: 22 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 640.6783 + standardized fitness: 640.6783 + adjusted fitness: 0.0016 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (exp 0.97707) + (+ (* (exp x) + (sin 0.53312)) + (exp (cos -0.28675))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 12 + nodes: 22 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 640.6783 + standardized fitness: 640.6783 + adjusted fitness: 0.0016 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (exp 0.97707) + (+ (* (exp x) + (sin 0.53312)) + (exp (cos -0.28675))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 12 + nodes: 22 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 640.6783 + standardized fitness: 640.6783 + adjusted fitness: 0.0016 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (exp 0.97707) + (+ (* (exp x) + (sin 0.53312)) + (exp (cos -0.28675))))) +=== BEST-OF-RUN === + current generation: 17 + generation: 12 + nodes: 22 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 640.6783 + standardized fitness: 640.6783 + adjusted fitness: 0.0016 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (exp 0.97707) + (+ (* (exp x) + (sin 0.53312)) + (exp (cos -0.28675))))) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 24 + depth: 5 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 640.6068 + standardized fitness: 640.6068 + adjusted fitness: 0.0016 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (cos (sin x)) + (+ (* (exp x) + (sin 0.53312)) + (exp (/ 0.64352 -0.90589))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 46 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 610.0490 + standardized fitness: 610.0490 + adjusted fitness: 0.0016 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (* (log (cos (/ (- (* (cos (log (- x -0.75818))) + (sin x)) + (log (cos (cos (* x x))))) + (sin (* x x))))) x)) + (+ (* (exp x) + (sin 0.53312)) + (exp (/ 0.64352 -0.90589))))) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 23 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 453.9656 + standardized fitness: 453.9656 + adjusted fitness: 0.0022 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (sin -0.05223)) + (+ (* (exp x) + (sin 0.53312)) + (- x -0.75818)))) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 29 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 436.9881 + standardized fitness: 436.9881 + adjusted fitness: 0.0023 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (- (* x x) + (log (- x -0.11534)))) + (+ (* (exp x) + (sin 0.53312)) + (- x -0.75818)))) +=== BEST-OF-RUN === + current generation: 22 + generation: 21 + nodes: 29 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 436.9881 + standardized fitness: 436.9881 + adjusted fitness: 0.0023 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (- (* x x) + (log (- x -0.11534)))) + (+ (* (exp x) + (sin 0.53312)) + (- x -0.75818)))) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 45 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 423.9872 + standardized fitness: 423.9872 + adjusted fitness: 0.0024 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (/ 0.29753 + (cos (cos (/ (* (* x x) + (- x -0.75818)) + (* (* x x) + (* x x))))))) + (+ (* (exp x) + (sin 0.53312)) + (exp (/ (* x 0.37133) + (cos (cos x))))))) +=== BEST-OF-RUN === + current generation: 24 + generation: 23 + nodes: 45 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 423.9872 + standardized fitness: 423.9872 + adjusted fitness: 0.0024 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (/ 0.29753 + (cos (cos (/ (* (* x x) + (- x -0.75818)) + (* (* x x) + (* x x))))))) + (+ (* (exp x) + (sin 0.53312)) + (exp (/ (* x 0.37133) + (cos (cos x))))))) +=== BEST-OF-RUN === + current generation: 25 + generation: 25 + nodes: 31 + depth: 8 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 421.0527 + standardized fitness: 421.0527 + adjusted fitness: 0.0024 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (- -0.93188 + (cos x))) + (+ (* (exp x) + (cos (log (/ (* 0.92518 x) + (log x))))) + (- x -0.75818)))) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 28 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 395.5120 + standardized fitness: 395.5120 + adjusted fitness: 0.0025 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (+ (/ 0.52175 -0.10652) + (- x -0.75818))) + (+ (* (exp x) + (sin 0.53312)) + (- x -0.75818)))) +=== BEST-OF-RUN === + current generation: 27 + generation: 27 + nodes: 22 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 357.6856 + standardized fitness: 357.6856 + adjusted fitness: 0.0028 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (cos x) + (+ (* (exp x) + (sin 0.53312)) + (- x -0.75818)))) +=== BEST-OF-RUN === + current generation: 28 + generation: 28 + nodes: 26 + depth: 8 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 347.2744 + standardized fitness: 347.2744 + adjusted fitness: 0.0029 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (cos x) + (+ (* (exp x) + (sin (exp (sin (- 0.17072 0.97645))))) + (- x -0.75818)))) +=== BEST-OF-RUN === + current generation: 29 + generation: 28 + nodes: 26 + depth: 8 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 347.2744 + standardized fitness: 347.2744 + adjusted fitness: 0.0029 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (cos x) + (+ (* (exp x) + (sin (exp (sin (- 0.17072 0.97645))))) + (- x -0.75818)))) +=== BEST-OF-RUN === + current generation: 30 + generation: 28 + nodes: 26 + depth: 8 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 347.2744 + standardized fitness: 347.2744 + adjusted fitness: 0.0029 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (cos x) + (+ (* (exp x) + (sin (exp (sin (- 0.17072 0.97645))))) + (- x -0.75818)))) +=== BEST-OF-RUN === + current generation: 31 + generation: 28 + nodes: 26 + depth: 8 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 347.2744 + standardized fitness: 347.2744 + adjusted fitness: 0.0029 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (cos x) + (+ (* (exp x) + (sin (exp (sin (- 0.17072 0.97645))))) + (- x -0.75818)))) +=== BEST-OF-RUN === + current generation: 32 + generation: 28 + nodes: 26 + depth: 8 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 347.2744 + standardized fitness: 347.2744 + adjusted fitness: 0.0029 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (cos x) + (+ (* (exp x) + (sin (exp (sin (- 0.17072 0.97645))))) + (- x -0.75818)))) +=== BEST-OF-RUN === + current generation: 33 + generation: 28 + nodes: 26 + depth: 8 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 347.2744 + standardized fitness: 347.2744 + adjusted fitness: 0.0029 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (cos x) + (+ (* (exp x) + (sin (exp (sin (- 0.17072 0.97645))))) + (- x -0.75818)))) +=== BEST-OF-RUN === + current generation: 34 + generation: 28 + nodes: 26 + depth: 8 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 347.2744 + standardized fitness: 347.2744 + adjusted fitness: 0.0029 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (cos x) + (+ (* (exp x) + (sin (exp (sin (- 0.17072 0.97645))))) + (- x -0.75818)))) +=== BEST-OF-RUN === + current generation: 35 + generation: 28 + nodes: 26 + depth: 8 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 347.2744 + standardized fitness: 347.2744 + adjusted fitness: 0.0029 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (cos x) + (+ (* (exp x) + (sin (exp (sin (- 0.17072 0.97645))))) + (- x -0.75818)))) +=== BEST-OF-RUN === + current generation: 36 + generation: 36 + nodes: 108 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 306.8464 + standardized fitness: 306.8464 + adjusted fitness: 0.0032 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (exp 0.88462)) + (+ (* (* 0.88202 + (+ (- (sin (- (* (/ 0.29753 + (/ -0.83152 + (sin 0.64464))) + (- (* x x) -0.75818)) + (+ x + (+ 0.83024 + (log (sin (* (* x x) + (sin 0.53312)))))))) + (+ (log (* (sin (cos (log (/ x -0.64731)))) + (* (/ (/ 0.52175 -0.10652) + (* (+ (log x) 0.44103) + (+ (exp x) + (exp (* (* x x) + (- x -0.75818)))))) + (/ 0.52175 -0.10652)))) + (+ (/ 0.52175 -0.10652) + (cos (log (log (- x x))))))) x)) + (sin 0.53312)) + (/ x + (- (/ x + (exp (log -0.44616))) + (- (exp (* x x)) + (- x -0.75818))))))) +=== BEST-OF-RUN === + current generation: 37 + generation: 36 + nodes: 108 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 306.8464 + standardized fitness: 306.8464 + adjusted fitness: 0.0032 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (exp 0.88462)) + (+ (* (* 0.88202 + (+ (- (sin (- (* (/ 0.29753 + (/ -0.83152 + (sin 0.64464))) + (- (* x x) -0.75818)) + (+ x + (+ 0.83024 + (log (sin (* (* x x) + (sin 0.53312)))))))) + (+ (log (* (sin (cos (log (/ x -0.64731)))) + (* (/ (/ 0.52175 -0.10652) + (* (+ (log x) 0.44103) + (+ (exp x) + (exp (* (* x x) + (- x -0.75818)))))) + (/ 0.52175 -0.10652)))) + (+ (/ 0.52175 -0.10652) + (cos (log (log (- x x))))))) x)) + (sin 0.53312)) + (/ x + (- (/ x + (exp (log -0.44616))) + (- (exp (* x x)) + (- x -0.75818))))))) +=== BEST-OF-RUN === + current generation: 38 + generation: 38 + nodes: 118 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 302.9136 + standardized fitness: 302.9136 + adjusted fitness: 0.0033 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (exp 0.88462)) + (+ (* (* 0.88202 + (+ (- (sin (- (* (/ 0.29753 + (/ (exp x) + (sin 0.64464))) + (- (* x x) -0.75818)) + (+ x + (log (* (sin (cos (sin (log (cos 0.35509))))) + (* (/ (* x x) + (sin -0.75055)) + (exp (/ 0.70765 x)))))))) + (+ (log (* (sin (cos (log (/ x -0.64731)))) + (* (/ (/ 0.52175 -0.10652) + (* (+ (log x) 0.44103) + (+ (exp x) + (exp (* (* x x) + (- x -0.75818)))))) + (/ 0.52175 -0.10652)))) + (+ (/ 0.52175 -0.10652) + (cos (log (log (- x x))))))) x)) + (sin 0.53312)) + (/ x + (- (/ x + (exp (log -0.44616))) + (- (exp (* x x)) + (- x -0.75818))))))) +=== BEST-OF-RUN === + current generation: 39 + generation: 38 + nodes: 118 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 302.9136 + standardized fitness: 302.9136 + adjusted fitness: 0.0033 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (exp 0.88462)) + (+ (* (* 0.88202 + (+ (- (sin (- (* (/ 0.29753 + (/ (exp x) + (sin 0.64464))) + (- (* x x) -0.75818)) + (+ x + (log (* (sin (cos (sin (log (cos 0.35509))))) + (* (/ (* x x) + (sin -0.75055)) + (exp (/ 0.70765 x)))))))) + (+ (log (* (sin (cos (log (/ x -0.64731)))) + (* (/ (/ 0.52175 -0.10652) + (* (+ (log x) 0.44103) + (+ (exp x) + (exp (* (* x x) + (- x -0.75818)))))) + (/ 0.52175 -0.10652)))) + (+ (/ 0.52175 -0.10652) + (cos (log (log (- x x))))))) x)) + (sin 0.53312)) + (/ x + (- (/ x + (exp (log -0.44616))) + (- (exp (* x x)) + (- x -0.75818))))))) +=== BEST-OF-RUN === + current generation: 40 + generation: 38 + nodes: 118 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 302.9136 + standardized fitness: 302.9136 + adjusted fitness: 0.0033 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (exp 0.88462)) + (+ (* (* 0.88202 + (+ (- (sin (- (* (/ 0.29753 + (/ (exp x) + (sin 0.64464))) + (- (* x x) -0.75818)) + (+ x + (log (* (sin (cos (sin (log (cos 0.35509))))) + (* (/ (* x x) + (sin -0.75055)) + (exp (/ 0.70765 x)))))))) + (+ (log (* (sin (cos (log (/ x -0.64731)))) + (* (/ (/ 0.52175 -0.10652) + (* (+ (log x) 0.44103) + (+ (exp x) + (exp (* (* x x) + (- x -0.75818)))))) + (/ 0.52175 -0.10652)))) + (+ (/ 0.52175 -0.10652) + (cos (log (log (- x x))))))) x)) + (sin 0.53312)) + (/ x + (- (/ x + (exp (log -0.44616))) + (- (exp (* x x)) + (- x -0.75818))))))) +=== BEST-OF-RUN === + current generation: 41 + generation: 38 + nodes: 118 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 302.9136 + standardized fitness: 302.9136 + adjusted fitness: 0.0033 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (exp 0.88462)) + (+ (* (* 0.88202 + (+ (- (sin (- (* (/ 0.29753 + (/ (exp x) + (sin 0.64464))) + (- (* x x) -0.75818)) + (+ x + (log (* (sin (cos (sin (log (cos 0.35509))))) + (* (/ (* x x) + (sin -0.75055)) + (exp (/ 0.70765 x)))))))) + (+ (log (* (sin (cos (log (/ x -0.64731)))) + (* (/ (/ 0.52175 -0.10652) + (* (+ (log x) 0.44103) + (+ (exp x) + (exp (* (* x x) + (- x -0.75818)))))) + (/ 0.52175 -0.10652)))) + (+ (/ 0.52175 -0.10652) + (cos (log (log (- x x))))))) x)) + (sin 0.53312)) + (/ x + (- (/ x + (exp (log -0.44616))) + (- (exp (* x x)) + (- x -0.75818))))))) +=== BEST-OF-RUN === + current generation: 42 + generation: 38 + nodes: 118 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 302.9136 + standardized fitness: 302.9136 + adjusted fitness: 0.0033 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (exp 0.88462)) + (+ (* (* 0.88202 + (+ (- (sin (- (* (/ 0.29753 + (/ (exp x) + (sin 0.64464))) + (- (* x x) -0.75818)) + (+ x + (log (* (sin (cos (sin (log (cos 0.35509))))) + (* (/ (* x x) + (sin -0.75055)) + (exp (/ 0.70765 x)))))))) + (+ (log (* (sin (cos (log (/ x -0.64731)))) + (* (/ (/ 0.52175 -0.10652) + (* (+ (log x) 0.44103) + (+ (exp x) + (exp (* (* x x) + (- x -0.75818)))))) + (/ 0.52175 -0.10652)))) + (+ (/ 0.52175 -0.10652) + (cos (log (log (- x x))))))) x)) + (sin 0.53312)) + (/ x + (- (/ x + (exp (log -0.44616))) + (- (exp (* x x)) + (- x -0.75818))))))) +=== BEST-OF-RUN === + current generation: 43 + generation: 38 + nodes: 118 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 302.9136 + standardized fitness: 302.9136 + adjusted fitness: 0.0033 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (exp 0.88462)) + (+ (* (* 0.88202 + (+ (- (sin (- (* (/ 0.29753 + (/ (exp x) + (sin 0.64464))) + (- (* x x) -0.75818)) + (+ x + (log (* (sin (cos (sin (log (cos 0.35509))))) + (* (/ (* x x) + (sin -0.75055)) + (exp (/ 0.70765 x)))))))) + (+ (log (* (sin (cos (log (/ x -0.64731)))) + (* (/ (/ 0.52175 -0.10652) + (* (+ (log x) 0.44103) + (+ (exp x) + (exp (* (* x x) + (- x -0.75818)))))) + (/ 0.52175 -0.10652)))) + (+ (/ 0.52175 -0.10652) + (cos (log (log (- x x))))))) x)) + (sin 0.53312)) + (/ x + (- (/ x + (exp (log -0.44616))) + (- (exp (* x x)) + (- x -0.75818))))))) +=== BEST-OF-RUN === + current generation: 44 + generation: 38 + nodes: 118 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 302.9136 + standardized fitness: 302.9136 + adjusted fitness: 0.0033 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (exp 0.88462)) + (+ (* (* 0.88202 + (+ (- (sin (- (* (/ 0.29753 + (/ (exp x) + (sin 0.64464))) + (- (* x x) -0.75818)) + (+ x + (log (* (sin (cos (sin (log (cos 0.35509))))) + (* (/ (* x x) + (sin -0.75055)) + (exp (/ 0.70765 x)))))))) + (+ (log (* (sin (cos (log (/ x -0.64731)))) + (* (/ (/ 0.52175 -0.10652) + (* (+ (log x) 0.44103) + (+ (exp x) + (exp (* (* x x) + (- x -0.75818)))))) + (/ 0.52175 -0.10652)))) + (+ (/ 0.52175 -0.10652) + (cos (log (log (- x x))))))) x)) + (sin 0.53312)) + (/ x + (- (/ x + (exp (log -0.44616))) + (- (exp (* x x)) + (- x -0.75818))))))) +=== BEST-OF-RUN === + current generation: 45 + generation: 38 + nodes: 118 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 302.9136 + standardized fitness: 302.9136 + adjusted fitness: 0.0033 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (exp 0.88462)) + (+ (* (* 0.88202 + (+ (- (sin (- (* (/ 0.29753 + (/ (exp x) + (sin 0.64464))) + (- (* x x) -0.75818)) + (+ x + (log (* (sin (cos (sin (log (cos 0.35509))))) + (* (/ (* x x) + (sin -0.75055)) + (exp (/ 0.70765 x)))))))) + (+ (log (* (sin (cos (log (/ x -0.64731)))) + (* (/ (/ 0.52175 -0.10652) + (* (+ (log x) 0.44103) + (+ (exp x) + (exp (* (* x x) + (- x -0.75818)))))) + (/ 0.52175 -0.10652)))) + (+ (/ 0.52175 -0.10652) + (cos (log (log (- x x))))))) x)) + (sin 0.53312)) + (/ x + (- (/ x + (exp (log -0.44616))) + (- (exp (* x x)) + (- x -0.75818))))))) +=== BEST-OF-RUN === + current generation: 46 + generation: 38 + nodes: 118 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 302.9136 + standardized fitness: 302.9136 + adjusted fitness: 0.0033 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (exp 0.88462)) + (+ (* (* 0.88202 + (+ (- (sin (- (* (/ 0.29753 + (/ (exp x) + (sin 0.64464))) + (- (* x x) -0.75818)) + (+ x + (log (* (sin (cos (sin (log (cos 0.35509))))) + (* (/ (* x x) + (sin -0.75055)) + (exp (/ 0.70765 x)))))))) + (+ (log (* (sin (cos (log (/ x -0.64731)))) + (* (/ (/ 0.52175 -0.10652) + (* (+ (log x) 0.44103) + (+ (exp x) + (exp (* (* x x) + (- x -0.75818)))))) + (/ 0.52175 -0.10652)))) + (+ (/ 0.52175 -0.10652) + (cos (log (log (- x x))))))) x)) + (sin 0.53312)) + (/ x + (- (/ x + (exp (log -0.44616))) + (- (exp (* x x)) + (- x -0.75818))))))) +=== BEST-OF-RUN === + current generation: 47 + generation: 38 + nodes: 118 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 302.9136 + standardized fitness: 302.9136 + adjusted fitness: 0.0033 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (exp 0.88462)) + (+ (* (* 0.88202 + (+ (- (sin (- (* (/ 0.29753 + (/ (exp x) + (sin 0.64464))) + (- (* x x) -0.75818)) + (+ x + (log (* (sin (cos (sin (log (cos 0.35509))))) + (* (/ (* x x) + (sin -0.75055)) + (exp (/ 0.70765 x)))))))) + (+ (log (* (sin (cos (log (/ x -0.64731)))) + (* (/ (/ 0.52175 -0.10652) + (* (+ (log x) 0.44103) + (+ (exp x) + (exp (* (* x x) + (- x -0.75818)))))) + (/ 0.52175 -0.10652)))) + (+ (/ 0.52175 -0.10652) + (cos (log (log (- x x))))))) x)) + (sin 0.53312)) + (/ x + (- (/ x + (exp (log -0.44616))) + (- (exp (* x x)) + (- x -0.75818))))))) +=== BEST-OF-RUN === + current generation: 48 + generation: 38 + nodes: 118 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 302.9136 + standardized fitness: 302.9136 + adjusted fitness: 0.0033 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (exp 0.88462)) + (+ (* (* 0.88202 + (+ (- (sin (- (* (/ 0.29753 + (/ (exp x) + (sin 0.64464))) + (- (* x x) -0.75818)) + (+ x + (log (* (sin (cos (sin (log (cos 0.35509))))) + (* (/ (* x x) + (sin -0.75055)) + (exp (/ 0.70765 x)))))))) + (+ (log (* (sin (cos (log (/ x -0.64731)))) + (* (/ (/ 0.52175 -0.10652) + (* (+ (log x) 0.44103) + (+ (exp x) + (exp (* (* x x) + (- x -0.75818)))))) + (/ 0.52175 -0.10652)))) + (+ (/ 0.52175 -0.10652) + (cos (log (log (- x x))))))) x)) + (sin 0.53312)) + (/ x + (- (/ x + (exp (log -0.44616))) + (- (exp (* x x)) + (- x -0.75818))))))) +=== BEST-OF-RUN === + current generation: 49 + generation: 38 + nodes: 118 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 302.9136 + standardized fitness: 302.9136 + adjusted fitness: 0.0033 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (exp 0.88462)) + (+ (* (* 0.88202 + (+ (- (sin (- (* (/ 0.29753 + (/ (exp x) + (sin 0.64464))) + (- (* x x) -0.75818)) + (+ x + (log (* (sin (cos (sin (log (cos 0.35509))))) + (* (/ (* x x) + (sin -0.75055)) + (exp (/ 0.70765 x)))))))) + (+ (log (* (sin (cos (log (/ x -0.64731)))) + (* (/ (/ 0.52175 -0.10652) + (* (+ (log x) 0.44103) + (+ (exp x) + (exp (* (* x x) + (- x -0.75818)))))) + (/ 0.52175 -0.10652)))) + (+ (/ 0.52175 -0.10652) + (cos (log (log (- x x))))))) x)) + (sin 0.53312)) + (/ x + (- (/ x + (exp (log -0.44616))) + (- (exp (* x x)) + (- x -0.75818))))))) +=== BEST-OF-RUN === + current generation: 50 + generation: 38 + nodes: 118 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 302.9136 + standardized fitness: 302.9136 + adjusted fitness: 0.0033 +TREE: + (- (* (* (* x x) + (- x -0.75818)) x) + (- (sin (exp 0.88462)) + (+ (* (* 0.88202 + (+ (- (sin (- (* (/ 0.29753 + (/ (exp x) + (sin 0.64464))) + (- (* x x) -0.75818)) + (+ x + (log (* (sin (cos (sin (log (cos 0.35509))))) + (* (/ (* x x) + (sin -0.75055)) + (exp (/ 0.70765 x)))))))) + (+ (log (* (sin (cos (log (/ x -0.64731)))) + (* (/ (/ 0.52175 -0.10652) + (* (+ (log x) 0.44103) + (+ (exp x) + (exp (* (* x x) + (- x -0.75818)))))) + (/ 0.52175 -0.10652)))) + (+ (/ 0.52175 -0.10652) + (cos (log (log (- x x))))))) x)) + (sin 0.53312)) + (/ x + (- (/ x + (exp (log -0.44616))) + (- (exp (* x x)) + (- x -0.75818))))))) diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.prg b/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.prg new file mode 100644 index 0000000..010c7c6 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -2.00880, y = 10.20376 + x = -3.11442, y = 70.45939 + x = 0.83474, y = 2.59872 + x = -2.27426, y = 17.88737 + x = 2.48861, y = 62.45010 + x = 4.46443, y = 510.62645 + x = -2.09724, y = 12.42278 + x = 3.05999, y = 128.75172 + x = -1.64074, y = 3.88138 + x = -4.81850, y = 445.59624 + x = -1.63098, y = 3.76671 + x = 0.98034, y = 3.80718 + x = -3.36740, y = 98.36885 + x = -2.96607, y = 57.13455 + x = -2.13882, y = 13.57799 + x = 0.92622, y = 3.31468 + x = 2.38421, y = 53.93435 + x = 0.92297, y = 3.28676 + x = 1.28964, y = 7.86391 + x = 1.08501, y = 4.92548 + x = 1.14342, y = 5.65512 + x = -2.33553, y = 20.13339 + x = -2.52333, y = 28.31869 + x = -3.97694, y = 199.08775 + x = -3.86973, y = 177.40174 + x = 1.91301, y = 25.96634 + x = 4.64319, y = 591.10561 + x = 0.05578, y = 0.05907 + x = 3.89938, y = 309.59345 + x = -0.20167, y = -0.16755 + x = 1.53870, y = 13.15489 + x = -3.64429, y = 137.61826 + x = 2.03565, y = 31.78686 + x = -4.39157, y = 302.14559 + x = -1.11731, y = 0.29469 + x = 3.59072, y = 229.01722 + x = -4.27694, y = 270.38679 + x = 2.90737, y = 107.38581 + x = 3.09677, y = 134.35207 + x = 0.79586, y = 2.33451 + x = 2.37607, y = 53.31002 + x = 3.98670, y = 335.85572 + x = 3.98801, y = 336.26308 + x = 3.66425, y = 246.56665 + x = -3.18594, y = 77.65283 + x = 4.44284, y = 501.49774 + x = -0.24680, y = -0.19721 + x = 0.27279, y = 0.37304 + x = 1.07694, y = 4.83091 + x = -0.75685, y = -0.28945 + x = 2.31486, y = 48.79185 + x = -4.03918, y = 212.55531 + x = 1.20257, y = 6.47934 + x = -3.11345, y = 70.36509 + x = -3.01348, y = 61.16775 + x = -3.36451, y = 98.00955 + x = -0.15008, y = -0.13043 + x = 0.22632, y = 0.29175 + x = 3.84304, y = 293.49260 + x = 3.89789, y = 309.15865 + x = 3.74137, y = 266.05092 + x = -0.00462, y = -0.00459 + x = 4.96322, y = 758.67216 + x = 2.56340, y = 69.15724 + x = -2.19456, y = 15.24721 + x = -0.61768, y = -0.32625 + x = 1.99232, y = 29.62570 + x = -2.03165, y = 10.74708 + x = -4.78013, y = 430.95256 + x = -1.58165, y = 3.22139 + x = -3.82698, y = 169.26771 + x = -2.88858, y = 50.97396 + x = 4.84603, y = 693.63120 + x = -2.95351, y = 56.10018 + x = 3.77015, y = 273.61268 + x = 0.18261, y = 0.22315 + x = 1.46190, y = 11.29066 + x = -4.40988, y = 307.46635 + x = 4.03654, y = 351.58274 + x = 4.49477, y = 523.66660 + x = -2.93691, y = 54.75453 + x = -0.58313, y = -0.32575 + x = 1.21273, y = 6.63007 + x = -4.99851, y = 519.35277 + x = 1.05696, y = 4.60298 + x = -3.45668, y = 109.95953 + x = -3.60751, y = 131.82602 + x = 4.47225, y = 513.96364 + x = 2.80299, y = 94.41071 + x = 4.50037, y = 526.10030 + x = -3.40160, y = 102.69522 + x = 2.75470, y = 88.83026 + x = 2.68751, y = 81.48844 + x = -0.32158, y = -0.24073 + x = -0.37717, y = -0.26833 + x = 0.26465, y = 0.35812 + x = 4.14067, y = 386.23466 + x = 1.94152, y = 27.23875 + x = 4.89410, y = 719.77724 + x = 1.63146, y = 15.71990 + x = -2.01906, y = 10.44531 + x = -0.83692, y = -0.23209 + x = 1.23625, y = 6.98967 + x = 1.58217, y = 14.31223 + x = -2.81994, y = 45.94286 + x = -2.10201, y = 12.55162 + x = -0.25191, y = -0.20041 + x = 1.20108, y = 6.45743 + x = 0.82959, y = 2.56239 + x = -4.55680, y = 352.74936 + x = -4.75699, y = 422.29655 + x = 0.37767, y = 0.59452 + x = 2.42333, y = 57.01344 + x = 4.34267, y = 460.75221 + x = 2.29949, y = 47.70555 + x = -4.01333, y = 206.88065 + x = 2.30788, y = 48.29611 + x = 0.28480, y = 0.39560 + x = -2.05943, y = 11.43543 + x = 2.54079, y = 67.07371 + x = 0.24165, y = 0.31756 + x = -4.94920, y = 498.30002 + x = -1.92574, y = 8.39398 + x = -1.41159, y = 1.73869 + x = -4.56259, y = 354.63210 + x = 2.00994, y = 30.49023 + x = 0.87517, y = 2.89804 + x = -1.73614, y = 5.13028 + x = 4.86643, y = 704.63822 + x = 0.87217, y = 2.87491 + x = -4.56548, y = 355.57336 + x = -4.73919, y = 415.72552 + x = -0.23947, y = -0.19257 + x = 3.59334, y = 229.62440 + x = 4.25177, y = 425.98716 + x = 1.68542, y = 17.38294 + x = 1.99354, y = 29.68485 + x = 1.87006, y = 24.13706 + x = -2.29800, y = 18.73444 + x = 0.07029, y = 0.07560 + x = -0.76456, y = -0.28523 + x = 1.10768, y = 5.19916 + x = 1.53168, y = 12.97498 + x = -4.73780, y = 415.21728 + x = -0.74127, y = -0.29717 + x = -3.45240, y = 109.38195 + x = -0.31956, y = -0.23965 + x = -0.90090, y = -0.16174 + x = -0.75899, y = -0.28830 + x = 2.61289, y = 73.88937 + x = 4.38948, y = 479.46774 + x = 0.87681, y = 2.91074 + x = 2.07509, y = 33.85826 + x = -0.97807, y = -0.04196 + x = 1.19694, y = 6.39694 + x = -2.27987, y = 18.08492 + x = 4.40255, y = 484.79806 + x = 2.64291, y = 76.87859 + x = 2.33040, y = 49.91022 + x = 0.49464, y = 0.92021 + x = 0.90444, y = 3.13146 + x = 2.87802, y = 103.60798 + x = -1.50092, y = 2.44554 + x = -4.24070, y = 260.88738 + x = 1.20776, y = 6.55596 + x = -0.86468, y = -0.20450 + x = 3.84599, y = 294.31983 + x = 2.16113, y = 38.73848 + x = 0.08394, y = 0.09163 + x = 0.75190, y = 2.06195 + x = 1.30623, y = 8.15245 + x = -1.79122, y = 5.96443 + x = -3.95621, y = 194.74647 + x = 0.32768, y = 0.48177 + x = 3.15131, y = 142.99749 + x = 4.36484, y = 469.54581 + x = -2.02429, y = 10.57000 + x = 4.05233, y = 356.68055 + x = 2.39147, y = 54.49616 + x = 2.71728, y = 84.68193 + x = 2.60739, y = 73.35134 + x = 3.23226, y = 156.59882 + x = 0.93346, y = 3.37743 + x = -0.62822, y = -0.32574 + x = 4.96772, y = 761.25906 + x = -2.44350, y = 24.58710 + x = 1.76173, y = 19.96627 + x = -0.99877, y = -0.00245 + x = -2.61442, y = 33.07078 + x = 0.11644, y = 0.13176 + x = 2.83943, y = 98.79539 + x = 4.83241, y = 686.35814 + x = -3.21388, y = 80.60743 + x = 1.95010, y = 27.63107 + x = 3.76406, y = 271.99785 + x = -3.97334, y = 198.32844 + x = 0.06389, y = 0.06825 + x = -3.79600, y = 163.55248 + x = -2.88911, y = 51.01456 + x = -0.10611, y = -0.09592 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.stt b/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.stt new file mode 100644 index 0000000..a711a92 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.330 3.703 16 4 17 6 0.0000 0.0001 0.0000 13.330 3.703 16 4 17 6 +1 0 0.0000 0.0001 0.0000 12.834 3.908 20 4 10 6 0.0000 0.0001 0.0000 13.082 3.805 20 4 17 6 +2 0 0.0000 0.0001 0.0000 12.691 4.082 20 6 4 3 0.0000 0.0001 0.0000 12.952 3.898 20 4 17 6 +3 0 0.0000 0.0002 0.0000 12.667 4.231 7 3 29 8 0.0000 0.0002 0.0000 12.881 3.981 7 3 17 6 +4 0 0.0000 0.0005 0.0000 12.552 4.301 9 3 42 11 0.0000 0.0005 0.0000 12.815 4.045 9 3 17 6 +5 0 0.0000 0.0005 0.0000 12.604 4.379 9 3 5 3 0.0000 0.0005 0.0000 12.780 4.101 9 3 17 6 +6 0 0.0000 0.0005 0.0000 12.404 4.411 16 5 6 4 0.0000 0.0005 0.0000 12.726 4.145 16 5 17 6 +7 0 0.0000 0.0005 0.0000 12.648 4.554 13 4 9 4 0.0000 0.0005 0.0000 12.716 4.196 13 4 17 6 +8 0 0.0001 0.0006 0.0000 13.647 4.850 14 4 35 10 0.0000 0.0006 0.0000 12.820 4.269 14 4 17 6 +9 0 0.0002 0.0015 0.0000 16.850 5.725 14 4 32 13 0.0001 0.0015 0.0000 13.223 4.414 14 4 17 6 +10 0 0.0002 0.0009 0.0000 21.043 6.664 30 8 48 12 0.0001 0.0015 0.0000 13.934 4.619 14 4 17 6 +11 0 0.0003 0.0008 0.0000 24.030 7.375 27 10 31 8 0.0001 0.0015 0.0000 14.775 4.848 14 4 17 6 +12 0 0.0003 0.0016 0.0000 26.533 7.909 22 5 50 14 0.0001 0.0016 0.0000 15.680 5.084 22 5 17 6 +13 0 0.0003 0.0012 0.0000 28.823 8.372 36 10 42 16 0.0001 0.0016 0.0000 16.618 5.319 22 5 17 6 +14 0 0.0003 0.0014 0.0000 31.221 8.851 23 5 65 12 0.0001 0.0016 0.0000 17.592 5.554 22 5 17 6 +15 0 0.0003 0.0016 0.0000 33.014 9.142 27 7 55 17 0.0001 0.0016 0.0000 18.556 5.779 22 5 17 6 +16 0 0.0003 0.0015 0.0000 34.771 9.327 31 6 34 8 0.0002 0.0016 0.0000 19.510 5.987 22 5 17 6 +17 0 0.0003 0.0016 0.0000 36.486 9.539 23 5 48 17 0.0002 0.0016 0.0000 20.453 6.185 22 5 17 6 +18 0 0.0003 0.0016 0.0000 37.994 9.703 24 5 42 12 0.0002 0.0016 0.0000 21.376 6.370 24 5 17 6 +19 0 0.0004 0.0016 0.0000 39.969 9.982 46 12 32 8 0.0002 0.0016 0.0000 22.306 6.550 46 12 17 6 +20 0 0.0004 0.0022 0.0000 41.591 10.115 23 5 39 10 0.0002 0.0022 0.0000 23.224 6.720 23 5 17 6 +21 0 0.0004 0.0023 0.0000 43.814 10.363 29 6 79 16 0.0002 0.0023 0.0000 24.160 6.886 29 6 17 6 +22 0 0.0005 0.0023 0.0000 46.251 10.635 30 6 55 14 0.0002 0.0023 0.0000 25.120 7.049 29 6 17 6 +23 0 0.0005 0.0024 0.0000 48.940 10.924 45 9 42 8 0.0002 0.0024 0.0000 26.113 7.210 45 9 17 6 +24 0 0.0007 0.0024 0.0000 51.530 11.169 45 9 82 17 0.0002 0.0024 0.0000 27.129 7.369 45 9 17 6 +25 0 0.0008 0.0024 0.0000 54.405 11.381 31 8 76 14 0.0003 0.0024 0.0000 28.179 7.523 31 8 17 6 +26 0 0.0009 0.0025 0.0000 57.540 11.677 28 5 31 7 0.0003 0.0025 0.0000 29.266 7.677 28 5 17 6 +27 0 0.0009 0.0028 0.0000 60.405 11.975 22 5 79 14 0.0003 0.0028 0.0000 30.378 7.830 22 5 17 6 +28 0 0.0010 0.0029 0.0000 62.524 12.184 26 8 85 12 0.0003 0.0029 0.0000 31.487 7.980 26 8 17 6 +29 0 0.0010 0.0026 0.0000 64.275 12.347 102 16 51 13 0.0004 0.0029 0.0000 32.580 8.126 26 8 17 6 +30 0 0.0010 0.0026 0.0000 65.490 12.411 105 16 58 10 0.0004 0.0029 0.0000 33.641 8.264 26 8 17 6 +31 0 0.0011 0.0027 0.0000 67.101 12.563 104 16 74 15 0.0004 0.0029 0.0000 34.687 8.398 26 8 17 6 +32 0 0.0011 0.0028 0.0000 69.334 12.751 113 16 28 8 0.0004 0.0029 0.0000 35.737 8.530 26 8 17 6 +33 0 0.0011 0.0028 0.0000 70.540 12.777 54 10 71 10 0.0004 0.0029 0.0000 36.760 8.655 26 8 17 6 +34 0 0.0011 0.0028 0.0000 72.097 12.874 54 10 135 16 0.0005 0.0029 0.0000 37.770 8.776 26 8 17 6 +35 0 0.0011 0.0028 0.0000 72.250 12.865 27 5 51 12 0.0005 0.0029 0.0000 38.728 8.889 26 8 17 6 +36 0 0.0012 0.0032 0.0000 73.351 12.940 108 17 48 8 0.0005 0.0032 0.0000 39.663 8.999 108 17 17 6 +37 0 0.0013 0.0029 0.0000 74.706 12.943 109 17 79 11 0.0005 0.0032 0.0000 40.586 9.103 108 17 17 6 +38 0 0.0013 0.0033 0.0000 75.048 12.916 118 17 92 16 0.0005 0.0033 0.0000 41.469 9.200 118 17 17 6 +39 0 0.0013 0.0031 0.0000 76.649 13.002 41 7 56 11 0.0006 0.0033 0.0000 42.349 9.296 118 17 17 6 +40 0 0.0014 0.0032 0.0000 78.492 13.107 112 17 95 13 0.0006 0.0033 0.0000 43.230 9.388 118 17 17 6 +41 0 0.0014 0.0032 0.0000 80.436 13.155 112 17 80 13 0.0006 0.0033 0.0000 44.116 9.478 118 17 17 6 +42 0 0.0014 0.0032 0.0000 82.216 13.290 86 17 72 17 0.0006 0.0033 0.0000 45.002 9.567 118 17 17 6 +43 0 0.0015 0.0030 0.0000 82.769 13.290 35 7 74 11 0.0006 0.0033 0.0000 45.861 9.651 118 17 17 6 +44 0 0.0015 0.0031 0.0000 84.040 13.365 83 11 120 17 0.0007 0.0033 0.0000 46.709 9.734 118 17 17 6 +45 0 0.0015 0.0030 0.0000 84.359 13.397 65 13 54 10 0.0007 0.0033 0.0000 47.528 9.814 118 17 17 6 +46 0 0.0015 0.0031 0.0000 85.479 13.450 40 7 81 15 0.0007 0.0033 0.0000 48.335 9.891 118 17 17 6 +47 0 0.0015 0.0030 0.0000 86.485 13.532 88 16 43 10 0.0007 0.0033 0.0000 49.130 9.967 118 17 17 6 +48 0 0.0015 0.0031 0.0000 87.061 13.494 95 16 62 17 0.0007 0.0033 0.0000 49.904 10.039 118 17 17 6 +49 0 0.0016 0.0030 0.0000 87.846 13.534 87 13 129 17 0.0007 0.0033 0.0000 50.663 10.109 118 17 17 6 +50 0 0.0016 0.0030 0.0000 89.286 13.696 80 16 81 13 0.0008 0.0033 0.0000 51.420 10.179 118 17 17 6 diff --git a/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.sys b/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.sys new file mode 100644 index 0000000..c86161a --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_0/run_9/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 726. +creating initial population(s): + 5588 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 260595573 + freed: 259592973 + not freed: 1002600 + max allocated: 10427944 + malloc'ed blocks: 746837 + realloc'ed blocks: 11 + free'ed blocks: 746687 + +------- time ------- + overall: 6s wall + evaluation: 5s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 400 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 33977 + freed: 33977 + allocated: 14000 + blocks: 27 diff --git a/PartA/crossover_90_mutation_10_elitism_2/aggregated.tsv b/PartA/crossover_90_mutation_10_elitism_2/aggregated.tsv new file mode 100644 index 0000000..4aeec2d --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/aggregated.tsv @@ -0,0 +1,54 @@ +Generation limit Mean: 34 +Generation limit Mode: 50 (4) +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0 0.00011 0 12.9823 3.6655 14 4 23 5 0 0.00011 0 12.9823 3.6655 14 4 23 5 +1 0 0 0.00013 0 12.2965 3.8626 13 4 17 5 0 0.00013 0 12.6393 3.7639 13 4 25 6 +2 0 0 0.00014 0 12.2801 4.0114 19 5 14 6 0 0.00014 0 12.5195 3.8466 19 5 24 5 +3 0 0 0.00017 0 12.3125 4.1486 19 6 18 6 0 0.00017 0 12.4678 3.922 19 6 24 5 +4 0 0 0.00019 0 12.4494 4.2718 27 7 15 5 0 0.00019 0 12.4641 3.992 27 7 24 5 +5 0 0 0.00025 0 12.617 4.4067 27 7 15 6 0 0.00025 0 12.4897 4.061 27 7 22 5 +6 0 1e-05 0.00031 0 13.0127 4.5872 24 6 17 6 0 0.00031 0 12.5644 4.1363 24 6 22 5 +7 0 1e-05 0.00038 0 13.7013 4.8495 24 7 13 5 0 0.00038 0 12.7064 4.2253 24 7 22 5 +8 0 1e-05 0.00061 0 14.6523 5.155 20 6 18 6 1e-05 0.00061 0 12.9227 4.3288 20 6 22 5 +9 0 2e-05 0.00086 0 16.0873 5.533 21 7 31 9 1e-05 0.00086 0 13.2392 4.4491 21 7 22 5 +10 0 5e-05 0.0026 0 18.1309 5.9757 23 7 34 8 1e-05 0.0026 0 13.6837 4.5878 23 7 22 5 +11 0 9e-05 0.00264 0 20.9214 6.5825 30 8 35 9 1e-05 0.00264 0 14.2869 4.7541 30 8 22 5 +12 0 0.0002 0.10095 0 24.4841 7.3012 32 8 42 10 3e-05 0.10095 0 15.0713 4.9501 32 8 22 5 +13 0 0.0001 0.00256 0 26.183 7.3261 32 9 38 9 3e-05 0.00256 0 14.6489 4.6999 32 9 20 4 +14 0 0.00016 0.01114 0 29.5972 7.9847 31 8 26 7 6e-05 0.01114 0 15.6456 4.9189 31 8 20 4 +15 0 0.00026 0.01266 0 32.5116 8.5006 33 8 39 10 7e-05 0.01266 0 16.6995 5.1428 33 8 20 4 +16 0 0.00065 0.03394 0 34.9656 8.8272 32 8 51 11 0.00011 0.03394 0 17.774 5.3597 32 8 20 4 +17 0 0.00144 0.1211 0 37.5817 9.1523 31 8 50 12 0.00018 0.1211 0 18.8746 5.5703 31 8 20 4 +18 0 0.00125 0.03371 0 36.8776 8.1955 32 9 37 8 0.00019 0.03371 0 17.6313 4.9104 32 9 16 4 +19 0 0.00273 0.04446 0 40.5121 8.6014 35 8 41 8 0.00031 0.04446 0 18.7754 5.0951 35 8 16 4 +20 0 0.00547 0.06094 0 43.9742 9.0584 39 8 56 10 0.00057 0.06094 0 19.9754 5.2838 39 8 16 4 +21 0 0.00044 0.00486 0 39.7383 8.2375 43 8 56 11 0.0001 0.00486 0 18.7757 4.8222 43 8 16 3 +22 0 0.0006 0.10417 0 41.5115 8.5014 41 8 47 9 0.00011 0.10417 0 19.7642 4.9821 41 8 16 3 +23 0 0.0006 0.00425 0 39.7946 7.6057 45 8 41 7 0.00014 0.00425 0 18.5916 4.4862 45 8 14 3 +24 0 0.00069 0.00631 0 41.1412 7.7224 44 8 43 8 0.00015 0.00631 0 19.4935 4.6157 44 8 14 3 +25 0 0.00078 0.00659 0 42.3329 7.8192 47 8 51 9 0.00017 0.00659 0 20.372 4.7388 47 8 14 3 +26 0 0.00088 0.00674 0 43.3881 7.9151 49 8 48 8 0.0002 0.00674 0 21.2245 4.8565 49 8 14 3 +27 0 0.00098 0.00695 0 44.2697 7.9654 45 8 50 8 0.00023 0.00695 0 22.0475 4.9676 45 8 14 3 +28 0 0.00111 0.00707 0 45.2234 8.0311 45 8 32 6 0.00025 0.00707 0 22.8467 5.0731 45 8 14 3 +29 0 0.00134 0.01162 0 45.9988 8.0691 49 9 42 8 0.00029 0.01162 0 23.6185 5.1731 49 9 14 3 +30 0 0.00167 0.03829 0 46.7442 8.0893 45 8 63 8 0.00033 0.03829 0 24.3644 5.2673 45 8 14 3 +31 0 0.00212 0.10174 0 47.4916 8.1378 41 8 51 8 0.00039 0.10174 0 25.0871 5.3568 41 8 14 3 +32 0 0.00041 0.00179 0 43.9368 6.9293 34 6 44 7 0.00011 0.00179 0 22.9178 4.5783 34 6 13 2 +33 0 0.00047 0.00205 0 44.8674 6.9942 33 6 44 7 0.00012 0.00205 0 23.5633 4.6494 33 6 13 2 +34 0 0.00052 0.00247 0 45.734 7.0443 38 6 62 7 0.00013 0.00247 0 24.1969 4.7178 38 6 13 2 +35 0 0.00055 0.00248 0 46.2536 7.0756 37 6 52 7 0.00014 0.00248 0 24.8095 4.7833 37 6 13 2 +36 0 0.00055 0.01018 0 46.6473 7.0866 36 6 43 6 0.00015 0.01018 0 25.3996 4.8455 36 6 13 2 +37 0 0.0006 0.01151 0 47.6153 7.1295 39 6 42 6 0.00016 0.01151 0 25.9842 4.9056 39 6 13 2 +38 0 0.00066 0.01571 0 48.3356 7.1677 35 6 56 7 0.00017 0.01571 0 26.5574 4.9636 35 6 13 2 +39 0 0.00077 0.01834 0 48.6135 7.1823 36 6 36 5 0.00018 0.01834 0 27.1088 5.0192 36 6 13 2 +40 0 0.00103 0.01835 0 48.4066 7.1712 38 6 40 6 0.00021 0.01835 0 27.6283 5.0715 38 6 13 2 +41 0 0.00156 0.01836 0 47.6452 7.1554 38 6 55 6 0.00024 0.01836 0 28.1049 5.1211 38 6 13 2 +42 0 0.00224 0.02061 0 46.6772 7.1191 41 6 37 6 0.0003 0.02061 0 28.5367 5.1677 41 6 13 2 +43 0 0.00312 0.05405 0 46.3881 7.1268 44 6 42 7 0.00036 0.05405 0 28.9424 5.2122 44 6 13 2 +44 0 0.00406 0.065 0 46.6073 7.1874 51 7 34 6 0.00044 0.065 0 29.3351 5.2563 51 7 13 2 +45 0 0.00578 0.09692 0 47.0408 7.2143 45 7 47 6 0.00056 0.09692 0 29.7199 5.2986 45 7 13 2 +46 0 0.00012 0.00041 0 41.7933 5.9323 40 6 40 5 6e-05 0.00041 0 24.4401 4.2532 40 6 12 2 +47 0 0.00012 0.00042 0 42.4071 5.9701 41 6 35 5 7e-05 0.00042 0 24.8144 4.2889 41 6 12 2 +48 0 0.00013 0.00044 0 42.5487 5.9797 43 6 45 6 7e-05 0.00044 0 25.1764 4.3234 43 6 12 2 +49 0 0.00015 0.00045 0 42.8466 5.9983 44 6 41 5 7e-05 0.00045 0 25.5297 4.357 44 6 12 2 +50 0 0.00016 0.00047 0 43.0525 6.0064 47 5 46 5 7e-05 0.00047 0 25.8733 4.3893 47 5 12 2 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.bst b/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.bst new file mode 100644 index 0000000..a3ec78f --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.bst @@ -0,0 +1,20 @@ +=== BEST-OF-RUN === + generation: 22 + nodes: 19 + depth: 4 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (+ (+ (* (* x x) x) + (+ (* x x) x)) + (* (* (* x x) x) x)) +TREE-equ: +y = ((((x * x) * x) + ((x * x) + x)) + (((x * x) * x) * x)) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.fn b/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.fn new file mode 100644 index 0000000..4e0d597 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.fn @@ -0,0 +1,2 @@ + +y = ((((x * x) * x) + ((x * x) + x)) + (((x * x) * x) * x)) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.gen b/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.his b/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.his new file mode 100644 index 0000000..b6d718c --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.his @@ -0,0 +1,472 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 17 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11293.1893 + standardized fitness: 11293.1893 + adjusted fitness: 0.0001 +TREE: + (+ (* (exp (+ x 0.15275)) + (exp (log x))) + (sin (+ (- 0.67910 0.85002) + (/ -0.77981 -0.81046)))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 17 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9970.7176 + standardized fitness: 9970.7176 + adjusted fitness: 0.0001 +TREE: + (/ (* (* x x) + (* (* x x) + (log x))) + (/ (cos x) + (- x x))) +=== BEST-OF-RUN === + current generation: 2 + generation: 1 + nodes: 17 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9970.7176 + standardized fitness: 9970.7176 + adjusted fitness: 0.0001 +TREE: + (/ (* (* x x) + (* (* x x) + (log x))) + (/ (cos x) + (- x x))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 12 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9737.9938 + standardized fitness: 9737.9938 + adjusted fitness: 0.0001 +TREE: + (- (exp (log x)) + (* (/ x -0.21114) + (exp (* 0.72723 x)))) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 23 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7026.9134 + standardized fitness: 7026.9134 + adjusted fitness: 0.0001 +TREE: + (/ (* (* x x) + (* (* x x) + (sin (- (/ x x) + (/ -0.49635 x))))) + (/ (cos 0.82517) + (- x x))) +=== BEST-OF-RUN === + current generation: 5 + generation: 4 + nodes: 23 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7026.9134 + standardized fitness: 7026.9134 + adjusted fitness: 0.0001 +TREE: + (/ (* (* x x) + (* (* x x) + (sin (- (/ x x) + (/ -0.49635 x))))) + (/ (cos 0.82517) + (- x x))) +=== BEST-OF-RUN === + current generation: 6 + generation: 4 + nodes: 23 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7026.9134 + standardized fitness: 7026.9134 + adjusted fitness: 0.0001 +TREE: + (/ (* (* x x) + (* (* x x) + (sin (- (/ x x) + (/ -0.49635 x))))) + (/ (cos 0.82517) + (- x x))) +=== BEST-OF-RUN === + current generation: 7 + generation: 4 + nodes: 23 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7026.9134 + standardized fitness: 7026.9134 + adjusted fitness: 0.0001 +TREE: + (/ (* (* x x) + (* (* x x) + (sin (- (/ x x) + (/ -0.49635 x))))) + (/ (cos 0.82517) + (- x x))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 20 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4274.1007 + standardized fitness: 4274.1007 + adjusted fitness: 0.0002 +TREE: + (/ (* (* x x) + (* (* x x) + (sin (- (/ x x) + (/ -0.49635 x))))) + (/ -0.31940 -0.47088)) +=== BEST-OF-RUN === + current generation: 9 + generation: 8 + nodes: 20 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4274.1007 + standardized fitness: 4274.1007 + adjusted fitness: 0.0002 +TREE: + (/ (* (* x x) + (* (* x x) + (sin (- (/ x x) + (/ -0.49635 x))))) + (/ -0.31940 -0.47088)) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 19 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4081.5294 + standardized fitness: 4081.5294 + adjusted fitness: 0.0002 +TREE: + (* (* (- -0.92997 x) + (/ (sin (sin (cos (cos (* x x))))) + (/ -0.55687 x))) + (* x x)) +=== BEST-OF-RUN === + current generation: 11 + generation: 10 + nodes: 19 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4081.5294 + standardized fitness: 4081.5294 + adjusted fitness: 0.0002 +TREE: + (* (* (- -0.92997 x) + (/ (sin (sin (cos (cos (* x x))))) + (/ -0.55687 x))) + (* x x)) +=== BEST-OF-RUN === + current generation: 12 + generation: 10 + nodes: 19 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4081.5294 + standardized fitness: 4081.5294 + adjusted fitness: 0.0002 +TREE: + (* (* (- -0.92997 x) + (/ (sin (sin (cos (cos (* x x))))) + (/ -0.55687 x))) + (* x x)) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 40 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3428.7081 + standardized fitness: 3428.7081 + adjusted fitness: 0.0003 +TREE: + (* (* (- -0.92997 x) + (/ (sin (sin (cos (sin (+ x + (+ (+ 0.43815 + (* (/ 0.30197 -0.25288) -0.20343)) + (exp (+ (- x x) + (/ (- x -0.88782) + (cos (* x + (exp 0.69048)))))))))))) + (/ -0.55687 x))) + (* x x)) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 18 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1420.7805 + standardized fitness: 1420.7805 + adjusted fitness: 0.0007 +TREE: + (* (* (- -0.92997 x) + (/ (sin (sin (cos (* -0.17582 x)))) + (/ -0.55687 x))) + (* x x)) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 19 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 918.9619 + standardized fitness: 918.9619 + adjusted fitness: 0.0011 +TREE: + (* (* (- -0.92997 x) + (/ (sin (sin (cos (cos (exp (sin -0.59451)))))) + (/ -0.55687 x))) + (* x x)) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 13 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 552.1586 + standardized fitness: 552.1586 + adjusted fitness: 0.0018 +TREE: + (* x + (+ (* (* x x) x) + (* (+ 0.85478 x) x))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 20 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 516.9452 + standardized fitness: 516.9452 + adjusted fitness: 0.0019 +TREE: + (* x + (+ (* (* x x) x) + (* (+ (cos (sin (sin (+ (exp x) + (cos 0.18061))))) x) x))) +=== BEST-OF-RUN === + current generation: 18 + generation: 17 + nodes: 20 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 516.9452 + standardized fitness: 516.9452 + adjusted fitness: 0.0019 +TREE: + (* x + (+ (* (* x x) x) + (* (+ (cos (sin (sin (+ (exp x) + (cos 0.18061))))) x) x))) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 19 + depth: 4 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 73.1552 + standardized fitness: 73.1552 + adjusted fitness: 0.0135 +TREE: + (+ (+ (* (* x x) x) + (* (+ 0.85478 x) x)) + (* (* (* x x) x) x)) +=== BEST-OF-RUN === + current generation: 20 + generation: 19 + nodes: 19 + depth: 4 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 73.1552 + standardized fitness: 73.1552 + adjusted fitness: 0.0135 +TREE: + (+ (+ (* (* x x) x) + (* (+ 0.85478 x) x)) + (* (* (* x x) x) x)) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 22 + depth: 7 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 42.8689 + standardized fitness: 42.8689 + adjusted fitness: 0.0228 +TREE: + (+ (+ (* (* x x) x) + (* (+ (cos (sin (sin -0.44286))) x) x)) + (* (* (* x x) x) x)) +=== BEST-OF-RUN === + current generation: 22 + generation: 22 + nodes: 19 + depth: 4 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (+ (+ (* (* x x) x) + (+ (* x x) x)) + (* (* (* x x) x) x)) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.prg b/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.prg new file mode 100644 index 0000000..31951c4 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -2.52544, y = 28.42242 + x = 3.04107, y = 125.94109 + x = 2.91696, y = 108.64277 + x = 4.36548, y = 469.80355 + x = -4.86618, y = 464.31197 + x = 4.69496, y = 616.10291 + x = 3.55967, y = 221.89607 + x = 0.59237, y = 1.27428 + x = 4.92645, y = 737.78712 + x = 0.99036, y = 3.90455 + x = 4.62138, y = 580.80463 + x = -0.59499, y = -0.32629 + x = 2.24364, y = 43.91216 + x = -0.45282, y = -0.29858 + x = 1.08835, y = 4.96503 + x = -2.27236, y = 17.82049 + x = 3.30057, y = 168.82457 + x = -1.03809, y = 0.08215 + x = 3.26176, y = 161.79259 + x = 2.63099, y = 75.68078 + x = -2.43962, y = 24.41527 + x = 2.11541, y = 36.08212 + x = 2.09513, y = 34.94952 + x = -2.58231, y = 31.33294 + x = 2.90046, y = 106.48711 + x = 3.43763, y = 195.52784 + x = -0.86146, y = -0.20791 + x = 0.90617, y = 3.14569 + x = -4.17108, y = 243.34622 + x = 3.48067, y = 204.53840 + x = -2.48998, y = 26.71215 + x = -2.16515, y = 14.34903 + x = -1.23130, y = 0.71658 + x = -1.79836, y = 6.07903 + x = 4.80772, y = 673.31381 + x = 4.51252, y = 531.40643 + x = -1.95601, y = 9.02447 + x = 0.80696, y = 2.40765 + x = 4.82558, y = 682.73107 + x = 3.98189, y = 334.36876 + x = 3.32166, y = 172.74103 + x = -2.20010, y = 15.42075 + x = 1.39606, y = 9.86452 + x = 1.23466, y = 6.96488 + x = 0.84372, y = 2.66294 + x = 3.89454, y = 308.18464 + x = -2.61603, y = 33.15969 + x = 0.24278, y = 0.31951 + x = 2.34793, y = 51.19516 + x = -3.38061, y = 100.02331 + x = 0.32370, y = 0.47338 + x = -0.16417, y = -0.14091 + x = 2.91047, y = 107.78982 + x = -2.29427, y = 18.59946 + x = -0.33996, y = -0.25032 + x = 4.63971, y = 589.45494 + x = -0.72763, y = -0.30311 + x = -0.28468, y = -0.22014 + x = 4.55776, y = 551.53539 + x = -4.37870, y = 298.44446 + x = 1.65097, y = 16.30611 + x = -2.24729, y = 16.95923 + x = 0.76679, y = 2.15130 + x = -4.05545, y = 216.18544 + x = 2.66870, y = 79.51955 + x = 1.82148, y = 22.19017 + x = 3.00894, y = 121.27518 + x = -3.99102, y = 202.07614 + x = 3.70346, y = 256.33218 + x = 2.19380, y = 40.72762 + x = -4.65632, y = 386.15035 + x = -1.94221, y = 8.73297 + x = 1.61398, y = 15.20889 + x = 1.64236, y = 16.04555 + x = -2.69271, y = 37.60638 + x = 2.72455, y = 85.47602 + x = 4.20495, y = 408.87488 + x = -0.61060, y = -0.32642 + x = 2.75765, y = 89.16399 + x = 3.26075, y = 161.61281 + x = -0.83474, y = -0.23407 + x = 4.42322, y = 493.31094 + x = 1.34841, y = 8.92418 + x = -4.79239, y = 435.58944 + x = -3.17030, y = 76.03517 + x = 4.75731, y = 647.26511 + x = 2.06806, y = 33.48129 + x = -2.17585, y = 14.67108 + x = 0.53294, y = 1.04900 + x = -2.01376, y = 10.32000 + x = -3.49643, y = 115.43556 + x = -2.96499, y = 57.04530 + x = 2.10350, y = 35.41362 + x = -2.36822, y = 21.41306 + x = 3.63822, y = 240.24097 + x = 0.26387, y = 0.35672 + x = 1.18592, y = 6.23819 + x = 4.75370, y = 645.42676 + x = -1.07263, y = 0.16754 + x = 3.11917, y = 137.85308 + x = 4.68960, y = 613.47917 + x = 2.99457, y = 119.23068 + x = 2.48513, y = 62.15031 + x = 4.08718, y = 368.12810 + x = 2.45413, y = 59.53099 + x = 0.90048, y = 3.09904 + x = 3.48742, y = 205.98135 + x = 2.70285, y = 83.12259 + x = -4.12397, y = 231.98893 + x = -0.09728, y = -0.08864 + x = -2.42834, y = 23.92181 + x = -3.55178, y = 123.39909 + x = 4.18238, y = 400.81549 + x = 1.57152, y = 14.02155 + x = 4.11773, y = 378.38922 + x = -0.38404, y = -0.27144 + x = 0.64921, y = 1.52194 + x = -1.86499, y = 7.22422 + x = -2.69367, y = 37.66459 + x = -2.59517, y = 32.02048 + x = -4.36444, y = 294.38855 + x = 3.25525, y = 160.63517 + x = 2.08161, y = 34.21040 + x = -4.41571, y = 309.17439 + x = 2.50421, y = 63.80529 + x = -2.65089, y = 35.12985 + x = 0.57266, y = 1.19593 + x = 2.52680, y = 65.80878 + x = 4.18824, y = 402.89468 + x = 1.40681, y = 10.08701 + x = 4.23713, y = 420.57920 + x = -3.49790, y = 115.64277 + x = -1.48663, y = 2.32230 + x = -2.14507, y = 13.75831 + x = 0.68909, y = 1.71664 + x = -2.28295, y = 18.19416 + x = -4.75917, y = 423.10377 + x = 4.77689, y = 657.29098 + x = -3.91012, y = 185.35144 + x = 2.21374, y = 41.97933 + x = -0.89190, y = -0.17311 + x = -1.06695, y = 0.15275 + x = -4.48218, y = 329.16725 + x = -1.87189, y = 7.35085 + x = -2.64931, y = 35.03878 + x = -1.75167, y = 5.35678 + x = -0.04661, y = -0.04453 + x = 1.51921, y = 12.66038 + x = 0.12757, y = 0.14619 + x = 1.28911, y = 7.85476 + x = 4.69121, y = 614.27011 + x = 3.65912, y = 245.31114 + x = -4.43454, y = 314.74236 + x = 2.52056, y = 65.25090 + x = 3.88204, y = 304.56836 + x = 3.18750, y = 148.96210 + x = -0.51880, y = -0.31684 + x = -0.36980, y = -0.26492 + x = -1.60191, y = 3.43847 + x = -0.26292, y = -0.20719 + x = 0.65965, y = 1.57116 + x = 3.71053, y = 258.12450 + x = 1.61297, y = 15.17976 + x = -1.33771, y = 1.26016 + x = -4.20538, y = 251.87355 + x = 3.63861, y = 240.33459 + x = -4.06960, y = 219.38061 + x = 1.05427, y = 4.57298 + x = -0.77917, y = -0.27653 + x = 0.86941, y = 2.85378 + x = 4.66257, y = 600.37085 + x = 4.13000, y = 382.56973 + x = 3.00744, y = 121.05931 + x = 1.01722, y = 4.17522 + x = -2.28638, y = 18.31627 + x = -3.02357, y = 62.05237 + x = 2.68979, y = 81.72968 + x = 4.56105, y = 553.02164 + x = -3.29775, y = 89.98321 + x = 4.31670, y = 450.61167 + x = 2.86791, y = 102.32997 + x = -4.05754, y = 216.65629 + x = -0.87129, y = -0.19727 + x = -0.54885, y = -0.32220 + x = -4.25284, y = 264.04103 + x = -4.47341, y = 326.47359 + x = -0.11087, y = -0.09979 + x = 4.85108, y = 696.34435 + x = -2.93969, y = 54.97842 + x = 2.05049, y = 32.55399 + x = -3.21336, y = 80.55148 + x = -0.81344, y = -0.25217 + x = 0.55606, y = 1.13281 + x = 0.22047, y = 0.28216 + x = 2.55117, y = 68.02419 + x = -0.02190, y = -0.02143 + x = 0.92561, y = 3.30945 + x = -0.49941, y = -0.31235 + x = -4.58551, y = 362.15161 + x = -4.62575, y = 375.64672 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.stt b/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.stt new file mode 100644 index 0000000..377d540 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.stt @@ -0,0 +1,24 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 12.869 3.638 17 4 17 6 0.0000 0.0001 0.0000 12.869 3.638 17 4 17 6 +1 0 0.0000 0.0001 0.0000 12.442 3.878 17 4 21 9 0.0000 0.0001 0.0000 12.655 3.758 17 4 17 6 +2 0 0.0000 0.0001 0.0000 12.755 4.078 17 4 15 7 0.0000 0.0001 0.0000 12.689 3.864 17 4 17 6 +3 0 0.0000 0.0001 0.0000 12.782 4.257 12 4 18 6 0.0000 0.0001 0.0000 12.712 3.962 12 4 17 6 +4 0 0.0000 0.0001 0.0000 13.148 4.420 23 6 13 6 0.0000 0.0001 0.0000 12.799 4.054 23 6 17 6 +5 0 0.0000 0.0001 0.0000 13.307 4.537 23 6 7 4 0.0000 0.0001 0.0000 12.884 4.134 23 6 17 6 +6 0 0.0000 0.0001 0.0000 13.787 4.711 23 6 30 8 0.0000 0.0001 0.0000 13.013 4.217 23 6 17 6 +7 0 0.0000 0.0001 0.0000 13.878 4.758 23 6 7 5 0.0000 0.0001 0.0000 13.121 4.284 23 6 17 6 +8 0 0.0000 0.0002 0.0000 14.323 4.889 20 6 7 5 0.0000 0.0002 0.0000 13.255 4.352 20 6 17 6 +9 0 0.0000 0.0002 0.0000 14.992 5.074 20 6 5 3 0.0000 0.0002 0.0000 13.428 4.424 20 6 17 6 +10 0 0.0000 0.0002 0.0000 15.738 5.234 19 8 9 5 0.0000 0.0002 0.0000 13.638 4.497 19 8 17 6 +11 0 0.0000 0.0002 0.0000 16.802 5.452 19 8 6 4 0.0000 0.0002 0.0000 13.902 4.577 19 8 17 6 +12 0 0.0000 0.0002 0.0000 19.122 5.851 19 8 6 4 0.0000 0.0002 0.0000 14.303 4.675 19 8 17 6 +13 0 0.0000 0.0003 0.0000 21.525 6.270 40 15 24 10 0.0000 0.0003 0.0000 14.819 4.789 40 15 17 6 +14 0 0.0000 0.0007 0.0000 23.704 6.661 18 7 5 3 0.0000 0.0007 0.0000 15.412 4.914 18 7 17 6 +15 0 0.0000 0.0011 0.0000 26.833 7.192 19 9 12 9 0.0000 0.0011 0.0000 16.125 5.056 19 9 17 6 +16 0 0.0001 0.0018 0.0000 29.790 7.703 13 4 44 10 0.0000 0.0018 0.0000 16.929 5.212 13 4 17 6 +17 0 0.0001 0.0019 0.0000 32.398 8.194 20 9 34 7 0.0000 0.0019 0.0000 17.789 5.377 20 9 17 6 +18 0 0.0001 0.0019 0.0000 34.900 8.680 20 9 14 7 0.0000 0.0019 0.0000 18.689 5.551 20 9 17 6 +19 0 0.0002 0.0135 0.0000 35.697 9.283 19 4 65 15 0.0000 0.0135 0.0000 19.540 5.738 19 4 17 6 +20 0 0.0004 0.0135 0.0000 31.740 9.711 19 4 48 15 0.0001 0.0135 0.0000 20.121 5.927 19 4 17 6 +21 0 0.0008 0.0228 0.0000 28.745 10.098 22 7 98 17 0.0001 0.0228 0.0000 20.513 6.117 22 7 17 6 +22 0 0.0012 1.0000 0.0000 30.491 10.678 19 4 47 12 0.0001 1.0000 0.0000 20.946 6.315 19 4 17 6 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.sys b/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.sys new file mode 100644 index 0000000..5fb594b --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_0/regress.sys @@ -0,0 +1,119 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 43. +creating initial population(s): + 5619 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 55791408 + freed: 55350264 + not freed: 441144 + max allocated: 4909963 + malloc'ed blocks: 339329 + realloc'ed blocks: 9 + free'ed blocks: 339263 + +------- time ------- + overall: 1s wall + evaluation: 1s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 21642 + freed: 21642 + allocated: 13500 + blocks: 26 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.bst b/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.bst new file mode 100644 index 0000000..f858fe2 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.bst @@ -0,0 +1,22 @@ +=== BEST-OF-RUN === + generation: 12 + nodes: 17 + depth: 5 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (+ (* x + (+ (* x x) + (* x + (* x x)))) + (+ (* x x) x)) +TREE-equ: +y = ((x * ((x * x) + (x * (x * x)))) + ((x * x) + x)) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.fn b/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.fn new file mode 100644 index 0000000..637295b --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.fn @@ -0,0 +1,2 @@ + +y = ((x * ((x * x) + (x * (x * x)))) + ((x * x) + x)) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.gen b/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.his b/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.his new file mode 100644 index 0000000..324c90c --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.his @@ -0,0 +1,251 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 7 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11571.0574 + standardized fitness: 11571.0574 + adjusted fitness: 0.0001 +TREE: + (/ (- -0.26361 + (* x x)) -0.05747) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 7 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11571.0574 + standardized fitness: 11571.0574 + adjusted fitness: 0.0001 +TREE: + (/ (- -0.26361 + (* x x)) -0.05747) +=== BEST-OF-RUN === + current generation: 2 + generation: 0 + nodes: 7 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11571.0574 + standardized fitness: 11571.0574 + adjusted fitness: 0.0001 +TREE: + (/ (- -0.26361 + (* x x)) -0.05747) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 11 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2625.7353 + standardized fitness: 2625.7353 + adjusted fitness: 0.0004 +TREE: + (* (* x + (+ (* x x) + (+ -0.42021 x))) x) +=== BEST-OF-RUN === + current generation: 4 + generation: 3 + nodes: 11 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2625.7353 + standardized fitness: 2625.7353 + adjusted fitness: 0.0004 +TREE: + (* (* x + (+ (* x x) + (+ -0.42021 x))) x) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 13 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1900.8767 + standardized fitness: 1900.8767 + adjusted fitness: 0.0005 +TREE: + (* (* x + (+ (* x x) + (+ -0.42021 x))) + (/ x 0.87179)) +=== BEST-OF-RUN === + current generation: 6 + generation: 5 + nodes: 13 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1900.8767 + standardized fitness: 1900.8767 + adjusted fitness: 0.0005 +TREE: + (* (* x + (+ (* x x) + (+ -0.42021 x))) + (/ x 0.87179)) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 9 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1849.3315 + standardized fitness: 1849.3315 + adjusted fitness: 0.0005 +TREE: + (* (* x + (+ (* x x) x)) x) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 13 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 993.6917 + standardized fitness: 993.6917 + adjusted fitness: 0.0010 +TREE: + (* (* x + (+ (+ (* x x) 0.88946) + (+ -0.42021 x))) x) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 14 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 535.3925 + standardized fitness: 535.3925 + adjusted fitness: 0.0019 +TREE: + (* (* x + (+ (+ (* x x) 0.88946) + (* (cos -0.02327) x))) x) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 17 + depth: 6 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 52.8377 + standardized fitness: 52.8377 + adjusted fitness: 0.0186 +TREE: + (* (* x + (+ (+ (* x x) + (+ x + (/ 0.90244 x))) + (/ x x))) x) +=== BEST-OF-RUN === + current generation: 11 + generation: 10 + nodes: 17 + depth: 6 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 52.8377 + standardized fitness: 52.8377 + adjusted fitness: 0.0186 +TREE: + (* (* x + (+ (+ (* x x) + (+ x + (/ 0.90244 x))) + (/ x x))) x) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 17 + depth: 5 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (+ (* x + (+ (* x x) + (* x + (* x x)))) + (+ (* x x) x)) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.prg b/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.prg new file mode 100644 index 0000000..a954975 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -0.24959, y = -0.19896 + x = 3.77904, y = 275.98025 + x = 3.87197, y = 301.67675 + x = -2.17729, y = 14.71493 + x = 2.04197, y = 32.11175 + x = -3.48434, y = 113.74858 + x = -2.04031, y = 10.95851 + x = 0.61193, y = 1.35574 + x = 0.55543, y = 1.13047 + x = 1.94176, y = 27.24958 + x = -4.66198, y = 388.11933 + x = 1.90262, y = 25.51430 + x = 4.15317, y = 390.56076 + x = 0.52516, y = 1.02186 + x = 4.11890, y = 378.78577 + x = 2.05176, y = 32.62065 + x = 2.77576, y = 91.23190 + x = -4.40278, y = 305.39329 + x = -4.47783, y = 327.82939 + x = 0.15935, y = 0.18943 + x = 3.42830, y = 193.61487 + x = 2.13896, y = 37.43240 + x = -3.89219, y = 181.79093 + x = -4.22725, y = 257.42835 + x = 0.66552, y = 1.59936 + x = 0.34735, y = 0.52447 + x = -1.84392, y = 6.84698 + x = 2.86282, y = 101.69186 + x = -3.33855, y = 94.82773 + x = 1.62784, y = 15.61300 + x = -0.80494, y = -0.25875 + x = -3.72031, y = 150.19332 + x = -3.04491, y = 63.95640 + x = 0.77137, y = 2.17939 + x = -2.71730, y = 39.12176 + x = -0.51739, y = -0.31654 + x = 1.72668, y = 18.74513 + x = 2.28739, y = 46.86280 + x = 1.38011, y = 9.54143 + x = -3.62754, y = 134.95752 + x = -4.34457, y = 288.80250 + x = 2.42102, y = 56.82773 + x = -1.04428, y = 0.09667 + x = 1.47544, y = 11.60325 + x = 3.31497, y = 171.49042 + x = -2.55479, y = 29.89837 + x = -1.91789, y = 8.23572 + x = 4.77951, y = 658.64035 + x = -4.49613, y = 333.48328 + x = -3.41845, y = 104.87730 + x = 2.53545, y = 66.58899 + x = 4.79444, y = 666.37814 + x = -4.46340, y = 323.42233 + x = 3.99641, y = 338.87773 + x = -3.89508, y = 182.36030 + x = -1.52928, y = 2.70244 + x = 1.82395, y = 22.28636 + x = -1.89940, y = 7.87154 + x = -4.46000, y = 322.38930 + x = -2.44064, y = 24.46047 + x = -0.21102, y = -0.17391 + x = 0.67230, y = 1.63245 + x = 4.23182, y = 418.63095 + x = -0.81702, y = -0.24929 + x = 1.28633, y = 7.80724 + x = -2.08300, y = 12.04397 + x = -2.05310, y = 11.27583 + x = -2.32227, y = 19.63059 + x = 2.21020, y = 41.75473 + x = 1.67369, y = 17.01036 + x = -1.03035, y = 0.06447 + x = 2.99625, y = 119.46826 + x = -4.90665, y = 480.65422 + x = 3.94061, y = 321.79334 + x = 2.62390, y = 74.97459 + x = 3.63386, y = 239.19410 + x = 1.60236, y = 14.87651 + x = -2.88860, y = 50.97571 + x = 4.66782, y = 602.90344 + x = -2.80520, y = 44.91296 + x = 3.52340, y = 213.79404 + x = -4.94451, y = 496.33496 + x = 2.32282, y = 49.36220 + x = 4.10209, y = 373.10841 + x = -3.16114, y = 75.09908 + x = 3.52276, y = 213.65444 + x = -2.95212, y = 55.98690 + x = 2.77211, y = 90.81211 + x = 4.48504, y = 519.45653 + x = 4.36570, y = 469.89229 + x = -3.46429, y = 110.99289 + x = -0.95104, y = -0.08867 + x = -4.92281, y = 487.29993 + x = 4.70642, y = 621.74460 + x = 2.40281, y = 55.38186 + x = -2.34082, y = 20.33648 + x = 2.32766, y = 49.71181 + x = 0.01511, y = 0.01534 + x = 3.85154, y = 295.88041 + x = 4.68111, y = 609.33903 + x = 0.84284, y = 2.65663 + x = -4.02928, y = 210.36955 + x = -4.88831, y = 473.19799 + x = 3.30907, y = 170.39424 + x = -1.94184, y = 8.72529 + x = 2.47997, y = 61.70799 + x = -2.52837, y = 28.56742 + x = -3.56549, y = 125.43323 + x = 2.15755, y = 38.52519 + x = -2.41784, y = 23.46876 + x = -3.57716, y = 127.18481 + x = 4.05185, y = 356.52284 + x = -1.38444, y = 1.55238 + x = -3.82570, y = 169.02915 + x = -3.97635, y = 198.96196 + x = -4.25998, y = 265.90818 + x = 0.59511, y = 1.28544 + x = 4.52540, y = 537.08046 + x = 1.78017, y = 20.63317 + x = -1.37285, y = 1.47659 + x = 0.58934, y = 1.26197 + x = 2.93180, y = 110.60904 + x = -1.17381, y = 0.48514 + x = 2.52909, y = 66.01462 + x = -4.16915, y = 242.87315 + x = -2.00106, y = 10.02449 + x = 2.88456, y = 104.44084 + x = -3.21572, y = 80.80459 + x = 0.88246, y = 2.95481 + x = -4.85607, y = 460.29631 + x = 1.16223, y = 5.90755 + x = 0.16785, y = 0.20155 + x = -0.04615, y = -0.04412 + x = 2.08566, y = 34.43079 + x = -4.22804, y = 257.62963 + x = 4.47155, y = 513.66556 + x = 1.43993, y = 10.79784 + x = 1.14852, y = 5.72260 + x = 3.07844, y = 131.53812 + x = -3.90116, y = 183.56580 + x = -2.07234, y = 11.76600 + x = -2.47752, y = 26.12978 + x = -4.00806, y = 205.73886 + x = 0.85789, y = 2.76691 + x = -1.22363, y = 0.68337 + x = -1.39609, y = 1.63079 + x = -4.77723, y = 429.85981 + x = -2.45189, y = 24.96123 + x = 3.87557, y = 302.70853 + x = -0.59613, y = -0.32632 + x = -0.22538, y = -0.18345 + x = 0.54338, y = 1.08625 + x = 4.13265, y = 383.47638 + x = 3.70762, y = 257.38443 + x = -1.48112, y = 2.27587 + x = -4.32501, y = 283.38113 + x = 1.01687, y = 4.17155 + x = -1.97398, y = 9.41424 + x = 2.53711, y = 66.73926 + x = -1.41340, y = 1.75153 + x = -3.95996, y = 195.52713 + x = 1.32311, y = 8.45470 + x = -1.64393, y = 3.91934 + x = 1.05871, y = 4.62260 + x = 4.65450, y = 596.50110 + x = 3.90036, y = 309.87900 + x = 3.05991, y = 128.73929 + x = 2.75767, y = 89.16546 + x = 2.39793, y = 54.99986 + x = 2.41975, y = 56.72597 + x = -4.48275, y = 329.34093 + x = -1.95300, y = 8.96021 + x = -4.35017, y = 290.36855 + x = -2.62370, y = 33.58574 + x = 3.85253, y = 296.15887 + x = -4.95404, y = 500.33880 + x = 3.79915, y = 281.39552 + x = 0.11857, y = 0.13449 + x = -0.98979, y = -0.02001 + x = -4.84415, y = 455.59114 + x = 1.98207, y = 29.13125 + x = -0.14146, y = -0.12388 + x = -0.75282, y = -0.29154 + x = -2.70415, y = 38.30572 + x = 4.10389, y = 373.71320 + x = 4.83912, y = 689.93402 + x = -3.18822, y = 77.89136 + x = 3.89514, y = 308.35670 + x = 2.43116, y = 57.64596 + x = -3.12840, y = 71.82473 + x = -3.58835, y = 128.88196 + x = 3.68226, y = 251.01748 + x = 3.75058, y = 268.45308 + x = -4.34131, y = 287.89321 + x = -4.41842, y = 309.97000 + x = 4.88066, y = 712.39271 + x = -3.12735, y = 71.72131 + x = 3.61564, y = 234.85399 + x = 2.00536, y = 30.26343 + x = -1.26959, y = 0.89397 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.stt b/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.stt new file mode 100644 index 0000000..59c77aa --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.stt @@ -0,0 +1,14 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 12.884 3.639 7 3 15 4 0.0000 0.0001 0.0000 12.884 3.639 7 3 15 4 +1 0 0.0000 0.0001 0.0000 11.964 3.784 7 3 5 3 0.0000 0.0001 0.0000 12.424 3.711 7 3 15 4 +2 0 0.0000 0.0001 0.0000 11.691 3.847 7 3 29 8 0.0000 0.0001 0.0000 12.180 3.757 7 3 15 4 +3 0 0.0000 0.0004 0.0000 11.724 3.993 11 4 12 4 0.0000 0.0004 0.0000 12.066 3.816 11 4 15 4 +4 0 0.0000 0.0004 0.0000 11.564 4.029 11 4 23 6 0.0000 0.0004 0.0000 11.965 3.858 11 4 15 4 +5 0 0.0000 0.0005 0.0000 11.769 4.137 13 4 7 5 0.0000 0.0005 0.0000 11.933 3.905 13 4 15 4 +6 0 0.0000 0.0005 0.0000 12.078 4.248 13 4 17 5 0.0000 0.0005 0.0000 11.954 3.954 13 4 15 4 +7 0 0.0000 0.0005 0.0000 12.375 4.379 9 4 6 5 0.0000 0.0005 0.0000 12.006 4.007 9 4 15 4 +8 0 0.0000 0.0010 0.0000 12.389 4.436 13 5 11 6 0.0000 0.0010 0.0000 12.049 4.055 13 5 15 4 +9 0 0.0000 0.0019 0.0000 12.695 4.583 14 5 34 16 0.0000 0.0019 0.0000 12.113 4.107 14 5 15 4 +10 0 0.0001 0.0186 0.0000 13.840 5.005 17 6 21 7 0.0000 0.0186 0.0000 12.270 4.189 17 6 15 4 +11 0 0.0002 0.0186 0.0000 16.321 5.943 17 6 33 15 0.0000 0.0186 0.0000 12.608 4.335 17 6 15 4 +12 0 0.0010 1.0000 0.0000 18.967 6.738 17 5 35 14 0.0001 1.0000 0.0000 13.097 4.520 17 5 15 4 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.sys b/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.sys new file mode 100644 index 0000000..ed44af7 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_1/regress.sys @@ -0,0 +1,89 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 1329. +creating initial population(s): + 5616 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 22231984 + freed: 21991360 + not freed: 240624 + max allocated: 3088201 + malloc'ed blocks: 190983 + realloc'ed blocks: 9 + free'ed blocks: 190947 + +------- time ------- + overall: 0s wall + evaluation: 0s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 18017 + freed: 18017 + allocated: 13500 + blocks: 26 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.bst b/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.bst new file mode 100644 index 0000000..fedf1f8 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.bst @@ -0,0 +1,54 @@ +=== BEST-OF-RUN === + generation: 50 + nodes: 150 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 837.8550 + standardized fitness: 837.8550 + adjusted fitness: 0.0012 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (+ x x) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (/ (- (+ (* (/ (/ (+ x -0.86770) + (exp x)) + (+ -0.64399 x)) -0.71462) + (sin 0.54502)) + (* (cos -0.83541) + (- x x))) + (sin (exp (log (- (- -0.83694 x) 0.07256)))))) + (/ 0.43699 + (+ (exp (exp (- 0.50152 x))) + (* (- -0.62484 x) + (- -0.62484 x))))))) + (- (log (+ -0.42032 -0.75327)) + (+ (/ (exp (* (sin x) + (log (+ (/ (- (exp (log -0.33029)) + (log (/ -0.73684 x))) + (exp x)) + (+ (* (log (+ 0.89681 -0.36609)) + (cos (- -0.62484 x))) + (* (exp x) + (- -0.62484 x))))))) + (- (exp (cos (sin 0.20561))) -0.13569)) + (+ (* (sin (/ 0.43699 + (exp x))) + (- x x)) + (* (exp x) + (- -0.62484 x)))))) +TREE-equ: +y = (((((sin(0.54502) / cos(-0.37011)) * -0.87562) * (((x + x) / exp(x)) - (((exp(x) * (-0.62484 - x)) * cos(x)) + ((x + x) + ((-0.62484 - x) * (-0.62484 - x)))))) + (x - (sin((((((((x + -0.86770) / exp(x)) / (-0.64399 + x)) * -0.71462) + sin(0.54502)) - (cos(-0.83541) * (x - x))) / sin(exp(log(((-0.83694 - x) - 0.07256)))))) * (0.43699 / (exp(exp((0.50152 - x))) + ((-0.62484 - x) * (-0.62484 - x))))))) + (log((-0.42032 + -0.75327)) - ((exp((sin(x) * log((((exp(log(-0.33029)) - log((-0.73684 / x))) / exp(x)) + ((log((0.89681 + -0.36609)) * cos((-0.62484 - x))) + (exp(x) * (-0.62484 - x))))))) / (exp(cos(sin(0.20561))) - -0.13569)) + ((sin((0.43699 / exp(x))) * (x - x)) + (exp(x) * (-0.62484 - x)))))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.fn b/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.fn new file mode 100644 index 0000000..c8cf331 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.fn @@ -0,0 +1,2 @@ + +y = (((((sin(0.54502) / cos(-0.37011)) * -0.87562) * (((x + x) / exp(x)) - (((exp(x) * (-0.62484 - x)) * cos(x)) + ((x + x) + ((-0.62484 - x) * (-0.62484 - x)))))) + (x - (sin((((((((x + -0.86770) / exp(x)) / (-0.64399 + x)) * -0.71462) + sin(0.54502)) - (cos(-0.83541) * (x - x))) / sin(exp(log(((-0.83694 - x) - 0.07256)))))) * (0.43699 / (exp(exp((0.50152 - x))) + ((-0.62484 - x) * (-0.62484 - x))))))) + (log((-0.42032 + -0.75327)) - ((exp((sin(x) * log((((exp(log(-0.33029)) - log((-0.73684 / x))) / exp(x)) + ((log((0.89681 + -0.36609)) * cos((-0.62484 - x))) + (exp(x) * (-0.62484 - x))))))) / (exp(cos(sin(0.20561))) - -0.13569)) + ((sin((0.43699 / exp(x))) * (x - x)) + (exp(x) * (-0.62484 - x)))))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.gen b/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.his b/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.his new file mode 100644 index 0000000..e341f3c --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.his @@ -0,0 +1,1625 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 5 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9306.5380 + standardized fitness: 9306.5380 + adjusted fitness: 0.0001 +TREE: + (/ (exp x) + (sin 0.16332)) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 5 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9306.5380 + standardized fitness: 9306.5380 + adjusted fitness: 0.0001 +TREE: + (/ (exp x) + (sin 0.16332)) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 12 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7863.7552 + standardized fitness: 7863.7552 + adjusted fitness: 0.0001 +TREE: + (* (- x -0.91879) + (* (* (* (exp -0.30711) x) x) x)) +=== BEST-OF-RUN === + current generation: 3 + generation: 2 + nodes: 12 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7863.7552 + standardized fitness: 7863.7552 + adjusted fitness: 0.0001 +TREE: + (* (- x -0.91879) + (* (* (* (exp -0.30711) x) x) x)) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 35 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7708.6577 + standardized fitness: 7708.6577 + adjusted fitness: 0.0001 +TREE: + (- (- (exp (exp (log x))) + (+ (/ (* (/ x -0.40217) + (/ x 0.27994)) + (exp (sin (sin x)))) + (/ (+ -0.16004 0.56680) + (cos -0.82235)))) + (log (sin (cos (* -0.32253 + (* (sin 0.10194) + (exp x))))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 46 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6809.2960 + standardized fitness: 6809.2960 + adjusted fitness: 0.0001 +TREE: + (+ (- (- (- (cos -0.06205) + (+ x x)) + (+ (+ x x) + (/ x -0.63929))) + (/ (exp (- 0.50152 x)) -0.68614)) + (- 0.23976 + (+ (* (/ (cos -0.46675) + (+ -0.64399 x)) + (cos (/ 0.91517 0.68442))) + (+ (exp (log x)) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 46 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 6720.8117 + standardized fitness: 6720.8117 + adjusted fitness: 0.0001 +TREE: + (+ (- (- (- (cos -0.06205) + (+ x x)) + (+ (+ x x) + (/ x -0.63929))) + (/ (exp (- 0.50152 x)) -0.68614)) + (- 0.23976 + (+ (* (/ (cos -0.46675) + (exp (sin -0.16859))) + (cos (/ 0.91517 0.68442))) + (+ (exp (log x)) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 21 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3383.5431 + standardized fitness: 3383.5431 + adjusted fitness: 0.0003 +TREE: + (* (* x x) + (exp (- (log (+ x x)) + (sin (/ (+ x x) + (- (* x + (sin 0.50853)) 0.18283)))))) +=== BEST-OF-RUN === + current generation: 8 + generation: 7 + nodes: 21 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3383.5431 + standardized fitness: 3383.5431 + adjusted fitness: 0.0003 +TREE: + (* (* x x) + (exp (- (log (+ x x)) + (sin (/ (+ x x) + (- (* x + (sin 0.50853)) 0.18283)))))) +=== BEST-OF-RUN === + current generation: 9 + generation: 7 + nodes: 21 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3383.5431 + standardized fitness: 3383.5431 + adjusted fitness: 0.0003 +TREE: + (* (* x x) + (exp (- (log (+ x x)) + (sin (/ (+ x x) + (- (* x + (sin 0.50853)) 0.18283)))))) +=== BEST-OF-RUN === + current generation: 10 + generation: 7 + nodes: 21 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3383.5431 + standardized fitness: 3383.5431 + adjusted fitness: 0.0003 +TREE: + (* (* x x) + (exp (- (log (+ x x)) + (sin (/ (+ x x) + (- (* x + (sin 0.50853)) 0.18283)))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 7 + nodes: 21 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3383.5431 + standardized fitness: 3383.5431 + adjusted fitness: 0.0003 +TREE: + (* (* x x) + (exp (- (log (+ x x)) + (sin (/ (+ x x) + (- (* x + (sin 0.50853)) 0.18283)))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 20 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2837.4493 + standardized fitness: 2837.4493 + adjusted fitness: 0.0004 +TREE: + (* (* x x) + (exp (- (log (+ x x)) + (sin (/ (+ x x) + (- (- -0.62484 x) 0.18283)))))) +=== BEST-OF-RUN === + current generation: 13 + generation: 12 + nodes: 20 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2837.4493 + standardized fitness: 2837.4493 + adjusted fitness: 0.0004 +TREE: + (* (* x x) + (exp (- (log (+ x x)) + (sin (/ (+ x x) + (- (- -0.62484 x) 0.18283)))))) +=== BEST-OF-RUN === + current generation: 14 + generation: 12 + nodes: 20 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2837.4493 + standardized fitness: 2837.4493 + adjusted fitness: 0.0004 +TREE: + (* (* x x) + (exp (- (log (+ x x)) + (sin (/ (+ x x) + (- (- -0.62484 x) 0.18283)))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 12 + nodes: 20 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2837.4493 + standardized fitness: 2837.4493 + adjusted fitness: 0.0004 +TREE: + (* (* x x) + (exp (- (log (+ x x)) + (sin (/ (+ x x) + (- (- -0.62484 x) 0.18283)))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 12 + nodes: 20 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2837.4493 + standardized fitness: 2837.4493 + adjusted fitness: 0.0004 +TREE: + (* (* x x) + (exp (- (log (+ x x)) + (sin (/ (+ x x) + (- (- -0.62484 x) 0.18283)))))) +=== BEST-OF-RUN === + current generation: 17 + generation: 12 + nodes: 20 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2837.4493 + standardized fitness: 2837.4493 + adjusted fitness: 0.0004 +TREE: + (* (* x x) + (exp (- (log (+ x x)) + (sin (/ (+ x x) + (- (- -0.62484 x) 0.18283)))))) +=== BEST-OF-RUN === + current generation: 18 + generation: 12 + nodes: 20 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2837.4493 + standardized fitness: 2837.4493 + adjusted fitness: 0.0004 +TREE: + (* (* x x) + (exp (- (log (+ x x)) + (sin (/ (+ x x) + (- (- -0.62484 x) 0.18283)))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 12 + nodes: 20 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2837.4493 + standardized fitness: 2837.4493 + adjusted fitness: 0.0004 +TREE: + (* (* x x) + (exp (- (log (+ x x)) + (sin (/ (+ x x) + (- (- -0.62484 x) 0.18283)))))) +=== BEST-OF-RUN === + current generation: 20 + generation: 12 + nodes: 20 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2837.4493 + standardized fitness: 2837.4493 + adjusted fitness: 0.0004 +TREE: + (* (* x x) + (exp (- (log (+ x x)) + (sin (/ (+ x x) + (- (- -0.62484 x) 0.18283)))))) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 64 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2594.5891 + standardized fitness: 2594.5891 + adjusted fitness: 0.0004 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) + (log (+ 0.89681 -0.36609))) + (- (/ (+ x x) + (exp x)) -0.71462)) + (/ (* (cos x) + (exp x)) -0.32262)) + (- 0.23976 + (+ (* (log (+ x + (* -0.65401 + (sin (log x))))) + (cos (/ (+ -0.16004 0.56680) 0.68442))) + (+ (log (log (+ (- (exp x) + (+ 0.16657 x)) + (log 0.48343)))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 22 + generation: 21 + nodes: 64 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2594.5891 + standardized fitness: 2594.5891 + adjusted fitness: 0.0004 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) + (log (+ 0.89681 -0.36609))) + (- (/ (+ x x) + (exp x)) -0.71462)) + (/ (* (cos x) + (exp x)) -0.32262)) + (- 0.23976 + (+ (* (log (+ x + (* -0.65401 + (sin (log x))))) + (cos (/ (+ -0.16004 0.56680) 0.68442))) + (+ (log (log (+ (- (exp x) + (+ 0.16657 x)) + (log 0.48343)))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 90 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2033.2272 + standardized fitness: 2033.2272 + adjusted fitness: 0.0005 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (/ (* x + (cos x)) + (+ -0.64399 x)) + (+ (log (+ -0.42032 -0.75327)) + (* (exp x) + (- -0.62484 x)))) + (+ (sin (/ (+ (sin -0.59463) x) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (exp x)) + (/ 0.43699 + (exp -0.96212))))) + (- 0.23976 + (+ (exp (log (log (+ (- (exp x) + (+ 0.16657 x)) + (log 0.48343))))) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 93 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1923.8498 + standardized fitness: 1923.8498 + adjusted fitness: 0.0005 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (/ (* x + (cos x)) + (+ -0.64399 x)) + (+ (log (+ -0.42032 -0.75327)) + (* (exp x) + (- -0.62484 x)))) + (+ (sin (/ (+ (sin -0.59463) x) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (exp x)) + (/ 0.43699 + (exp -0.96212))))) + (- 0.23976 + (+ (exp (log (log (+ (- (exp x) + (+ 0.16657 x)) + (log 0.48343))))) + (+ (* (+ (log x) 0.99604) + (exp (log x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 25 + generation: 24 + nodes: 93 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1923.8498 + standardized fitness: 1923.8498 + adjusted fitness: 0.0005 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (/ (* x + (cos x)) + (+ -0.64399 x)) + (+ (log (+ -0.42032 -0.75327)) + (* (exp x) + (- -0.62484 x)))) + (+ (sin (/ (+ (sin -0.59463) x) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (exp x)) + (/ 0.43699 + (exp -0.96212))))) + (- 0.23976 + (+ (exp (log (log (+ (- (exp x) + (+ 0.16657 x)) + (log 0.48343))))) + (+ (* (+ (log x) 0.99604) + (exp (log x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 82 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1889.6289 + standardized fitness: 1889.6289 + adjusted fitness: 0.0005 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (/ (* (exp x) + (- -0.62484 x)) + (/ 0.91517 0.68442)) + (cos x)) + (+ (sin (/ (+ (sin -0.59463) x) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (exp x)) + (/ 0.43699 + (exp -0.96212))))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (- (exp (cos (sin 0.20561))) + (cos x))) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 27 + generation: 26 + nodes: 82 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1889.6289 + standardized fitness: 1889.6289 + adjusted fitness: 0.0005 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (/ (* (exp x) + (- -0.62484 x)) + (/ 0.91517 0.68442)) + (cos x)) + (+ (sin (/ (+ (sin -0.59463) x) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (exp x)) + (/ 0.43699 + (exp -0.96212))))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (- (exp (cos (sin 0.20561))) + (cos x))) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 28 + generation: 28 + nodes: 80 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1755.9232 + standardized fitness: 1755.9232 + adjusted fitness: 0.0006 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (/ (* (exp x) + (- -0.62484 x)) + (/ 0.91517 0.68442)) + (cos x)) + (+ (sin (/ (+ (sin -0.59463) x) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (sin (sin (/ x x)))) + (/ 0.43699 + (exp -0.96212))))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (exp x)) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 29 + generation: 28 + nodes: 80 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1755.9232 + standardized fitness: 1755.9232 + adjusted fitness: 0.0006 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (/ (* (exp x) + (- -0.62484 x)) + (/ 0.91517 0.68442)) + (cos x)) + (+ (sin (/ (+ (sin -0.59463) x) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (sin (sin (/ x x)))) + (/ 0.43699 + (exp -0.96212))))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (exp x)) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 30 + generation: 30 + nodes: 79 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1585.3770 + standardized fitness: 1585.3770 + adjusted fitness: 0.0006 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (/ (* (exp x) + (- -0.62484 x)) + (/ 0.91517 0.68442)) + (cos x)) + (+ (sin (/ (+ (sin -0.59463) x) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (sin (sin (/ x x)))) + (- -0.62484 x)))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (exp x)) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 31 + generation: 31 + nodes: 79 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1557.8137 + standardized fitness: 1557.8137 + adjusted fitness: 0.0006 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (/ (* (exp x) + (- -0.62484 x)) + (/ 0.91517 0.68442)) + (cos x)) + (+ (sin (/ (+ (sin -0.59463) x) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (sin (sin (/ x x)))) + (- -0.62484 x)))) + (- 0.23976 + (+ (/ (sin (sin 0.54502)) + (exp x)) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 32 + generation: 32 + nodes: 71 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1481.2982 + standardized fitness: 1481.2982 + adjusted fitness: 0.0007 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (/ (* (exp x) + (- -0.62484 x)) + (/ 0.91517 0.68442)) + (cos x)) + (+ (sin -0.37011) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (log x)) + (- -0.62484 x)))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (exp x)) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 33 + generation: 32 + nodes: 71 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1481.2982 + standardized fitness: 1481.2982 + adjusted fitness: 0.0007 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (/ (* (exp x) + (- -0.62484 x)) + (/ 0.91517 0.68442)) + (cos x)) + (+ (sin -0.37011) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (log x)) + (- -0.62484 x)))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (exp x)) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 34 + generation: 34 + nodes: 76 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1402.0135 + standardized fitness: 1402.0135 + adjusted fitness: 0.0007 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (sin (/ (+ (sin 0.54502) x) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (sin (exp x))) + (/ 0.43699 + (exp (/ 0.91517 0.68442)))))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (exp x)) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 35 + generation: 34 + nodes: 76 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1402.0135 + standardized fitness: 1402.0135 + adjusted fitness: 0.0007 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (sin (/ (+ (sin 0.54502) x) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (sin (exp x))) + (/ 0.43699 + (exp (/ 0.91517 0.68442)))))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (exp x)) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 36 + generation: 34 + nodes: 76 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1402.0135 + standardized fitness: 1402.0135 + adjusted fitness: 0.0007 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (sin (/ (+ (sin 0.54502) x) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (sin (exp x))) + (/ 0.43699 + (exp (/ 0.91517 0.68442)))))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (exp x)) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 37 + generation: 34 + nodes: 76 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1402.0135 + standardized fitness: 1402.0135 + adjusted fitness: 0.0007 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (sin (/ (+ (sin 0.54502) x) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (sin (exp x))) + (/ 0.43699 + (exp (/ 0.91517 0.68442)))))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (exp x)) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 38 + generation: 38 + nodes: 75 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1378.8180 + standardized fitness: 1378.8180 + adjusted fitness: 0.0007 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (sin (/ (sin 0.20561) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (log (+ 0.89681 -0.36609))) + (/ 0.43699 + (exp (/ 0.91517 0.68442)))))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (exp x)) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 39 + generation: 39 + nodes: 86 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1295.3855 + standardized fitness: 1295.3855 + adjusted fitness: 0.0008 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos (- (exp 0.23422) + (cos (+ (* -0.51017 -0.87562) + (- 0.11353 0.79344)))))) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (sin (/ (- x 0.90993) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (log (+ 0.89681 -0.36609))) + (/ 0.43699 + (exp (/ 0.91517 0.68442)))))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (exp x)) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 40 + generation: 40 + nodes: 77 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1252.5092 + standardized fitness: 1252.5092 + adjusted fitness: 0.0008 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos (sin 0.20561))) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (sin (/ (- x 0.90993) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (log (+ 0.89681 -0.36609))) + (/ 0.43699 + (exp (/ 0.91517 0.68442)))))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (exp x)) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 41 + generation: 41 + nodes: 76 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1251.8502 + standardized fitness: 1251.8502 + adjusted fitness: 0.0008 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos (sin 0.20561))) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (sin (/ (- x 0.90993) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (log (+ 0.89681 -0.36609))) + (/ 0.43699 + (exp (/ 0.91517 0.68442)))))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (exp x)) + (+ (log (/ 0.57867 -0.56756)) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 42 + generation: 41 + nodes: 76 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1251.8502 + standardized fitness: 1251.8502 + adjusted fitness: 0.0008 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos (sin 0.20561))) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (sin (/ (- x 0.90993) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (log (+ 0.89681 -0.36609))) + (/ 0.43699 + (exp (/ 0.91517 0.68442)))))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (exp x)) + (+ (log (/ 0.57867 -0.56756)) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 43 + generation: 41 + nodes: 76 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1251.8502 + standardized fitness: 1251.8502 + adjusted fitness: 0.0008 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos (sin 0.20561))) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (sin (/ (- x 0.90993) -0.02707)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (log (+ 0.89681 -0.36609))) + (/ 0.43699 + (exp (/ 0.91517 0.68442)))))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (exp x)) + (+ (log (/ 0.57867 -0.56756)) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 44 + generation: 44 + nodes: 123 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1241.5632 + standardized fitness: 1241.5632 + adjusted fitness: 0.0008 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos (* (sin (exp x)) + (- x x)))) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (/ (* x + (cos x)) + (+ -0.64399 x)) + (+ (sin (exp (* -0.27913 + (cos (sin (+ x x)))))) + (* (exp x) + (- -0.62484 x)))) + (+ (sin (- -0.62484 x)) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (exp x)) + (/ 0.43699 + (exp (* (log (- -0.62484 x)) + (* x + (- (log (- (cos (- x x)) x)) 0.30179)))))))) + (- (sin 0.54502) + (+ (exp (* (+ (- (sin (sin (- x -0.66805))) + (- -0.62484 x)) + (cos x)) + (cos (/ 0.91517 0.68442)))) + (+ (* (sin (+ 0.43468 x)) + (exp (log x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 45 + generation: 45 + nodes: 76 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1236.2193 + standardized fitness: 1236.2193 + adjusted fitness: 0.0008 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos (sin 0.20561))) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (sin (log (/ x -0.77892))) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (log (+ 0.89681 -0.36609))) + (/ 0.43699 + (exp (/ 0.91517 0.68442)))))) + (- 0.23976 + (+ (/ (sin (sin 0.11455)) + (exp x)) + (+ (log (log (/ x x))) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 46 + generation: 46 + nodes: 148 + depth: 15 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 956.4769 + standardized fitness: 956.4769 + adjusted fitness: 0.0010 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (+ x x) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (/ (- (+ (* (/ (/ (+ x -0.86770) + (exp x)) + (+ -0.64399 x)) -0.71462) + (sin 0.54502)) + (* (cos -0.83541) + (- x x))) + (sin (exp (log (- (- -0.83694 x) 0.07256)))))) + (/ 0.43699 + (+ (exp (exp (- 0.50152 x))) + (* (- -0.62484 x) + (- -0.62484 x))))))) + (- 0.23976 + (+ (/ (exp (* (sin x) + (log (+ (/ (- (* (log -0.33029) + (exp (+ (- (log 0.95876) 0.55668) x))) + (log (/ -0.73684 x))) + (exp x)) + (+ (* (log (+ 0.89681 -0.36609)) + (cos (cos -0.68856))) + (* (exp x) + (- -0.62484 x))))))) + (- (exp (cos (sin 0.20561))) -0.13569)) + (+ (log (+ x x)) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 47 + generation: 46 + nodes: 148 + depth: 15 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 956.4769 + standardized fitness: 956.4769 + adjusted fitness: 0.0010 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (+ x x) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (/ (- (+ (* (/ (/ (+ x -0.86770) + (exp x)) + (+ -0.64399 x)) -0.71462) + (sin 0.54502)) + (* (cos -0.83541) + (- x x))) + (sin (exp (log (- (- -0.83694 x) 0.07256)))))) + (/ 0.43699 + (+ (exp (exp (- 0.50152 x))) + (* (- -0.62484 x) + (- -0.62484 x))))))) + (- 0.23976 + (+ (/ (exp (* (sin x) + (log (+ (/ (- (* (log -0.33029) + (exp (+ (- (log 0.95876) 0.55668) x))) + (log (/ -0.73684 x))) + (exp x)) + (+ (* (log (+ 0.89681 -0.36609)) + (cos (cos -0.68856))) + (* (exp x) + (- -0.62484 x))))))) + (- (exp (cos (sin 0.20561))) -0.13569)) + (+ (log (+ x x)) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 48 + generation: 48 + nodes: 144 + depth: 12 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 902.4899 + standardized fitness: 902.4899 + adjusted fitness: 0.0011 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (+ x x) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (/ (- (+ (* (/ (/ (+ x -0.86770) + (exp x)) + (+ -0.64399 x)) -0.71462) + (sin 0.54502)) + (* (cos -0.83541) + (- x x))) + (sin (exp (log (- (- -0.83694 x) 0.07256)))))) + (/ 0.43699 + (+ (exp (exp (- 0.50152 x))) + (* (- -0.62484 x) + (- -0.62484 x))))))) + (- (log (+ -0.42032 -0.75327)) + (+ (/ (exp (* (sin x) + (log (+ (/ (- (exp (log -0.33029)) + (log (/ -0.73684 x))) + (exp x)) + (+ (* (log (+ 0.89681 -0.36609)) + (cos (cos -0.68856))) + (* (exp x) + (- -0.62484 x))))))) + (- (exp (cos (sin 0.20561))) -0.13569)) + (+ (log (+ x x)) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 49 + generation: 49 + nodes: 149 + depth: 12 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 841.1582 + standardized fitness: 841.1582 + adjusted fitness: 0.0012 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (+ x x) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (/ (- (+ (* (/ (/ (+ x -0.86770) + (exp x)) + (+ -0.64399 x)) -0.71462) + (sin 0.54502)) + (* (cos -0.83541) + (- x x))) + (sin (exp (log (- (- -0.83694 x) 0.07256)))))) + (/ 0.43699 + (+ (exp (exp (- 0.50152 x))) + (* (- -0.62484 x) + (- -0.62484 x))))))) + (- (log (+ -0.42032 -0.75327)) + (+ (/ (exp (* (sin x) + (log (+ (/ (- (exp (log -0.33029)) + (log (/ -0.73684 x))) + (exp x)) + (+ (* (log (+ 0.89681 -0.36609)) + (cos (cos -0.68856))) + (* (exp x) + (- -0.62484 x))))))) + (- (exp (cos (sin 0.20561))) -0.13569)) + (+ (* (sin (/ 0.43699 + (exp x))) + (- x x)) + (* (exp x) + (- -0.62484 x)))))) +=== BEST-OF-RUN === + current generation: 50 + generation: 50 + nodes: 150 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 837.8550 + standardized fitness: 837.8550 + adjusted fitness: 0.0012 +TREE: + (+ (+ (* (* (/ (sin 0.54502) + (cos -0.37011)) -0.87562) + (- (/ (+ x x) + (exp x)) + (+ (* (* (exp x) + (- -0.62484 x)) + (cos x)) + (+ (+ x x) + (* (- -0.62484 x) + (- -0.62484 x)))))) + (- x + (* (sin (/ (- (+ (* (/ (/ (+ x -0.86770) + (exp x)) + (+ -0.64399 x)) -0.71462) + (sin 0.54502)) + (* (cos -0.83541) + (- x x))) + (sin (exp (log (- (- -0.83694 x) 0.07256)))))) + (/ 0.43699 + (+ (exp (exp (- 0.50152 x))) + (* (- -0.62484 x) + (- -0.62484 x))))))) + (- (log (+ -0.42032 -0.75327)) + (+ (/ (exp (* (sin x) + (log (+ (/ (- (exp (log -0.33029)) + (log (/ -0.73684 x))) + (exp x)) + (+ (* (log (+ 0.89681 -0.36609)) + (cos (- -0.62484 x))) + (* (exp x) + (- -0.62484 x))))))) + (- (exp (cos (sin 0.20561))) -0.13569)) + (+ (* (sin (/ 0.43699 + (exp x))) + (- x x)) + (* (exp x) + (- -0.62484 x)))))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.prg b/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.prg new file mode 100644 index 0000000..bd373d7 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 1.19945, y = 6.43354 + x = -2.22432, y = 16.19698 + x = 4.44343, y = 501.74552 + x = -1.94231, y = 8.73507 + x = -1.92999, y = 8.48054 + x = -3.68750, y = 144.66456 + x = -2.40425, y = 22.89192 + x = -4.35219, y = 290.93528 + x = -0.80333, y = -0.25995 + x = 3.62084, y = 236.08679 + x = -0.53625, y = -0.32020 + x = 1.94376, y = 27.34088 + x = 4.41007, y = 487.88119 + x = -2.90652, y = 52.35363 + x = 3.76332, y = 271.80307 + x = 0.43790, y = 0.75040 + x = -2.27846, y = 18.03503 + x = -0.52648, y = -0.31840 + x = 0.14293, y = 0.16670 + x = 4.61923, y = 579.79671 + x = 3.63136, y = 238.59631 + x = 3.25192, y = 160.04689 + x = -1.83579, y = 6.70530 + x = 0.72363, y = 1.90036 + x = -1.92652, y = 8.40990 + x = 2.22149, y = 42.47413 + x = -2.21826, y = 16.00011 + x = -3.86122, y = 175.75928 + x = 0.70835, y = 1.81729 + x = 3.18340, y = 148.27663 + x = 4.51718, y = 533.45709 + x = -2.32273, y = 19.64776 + x = -0.34459, y = -0.25267 + x = 1.55281, y = 13.52217 + x = 3.23956, y = 157.87296 + x = -1.60877, y = 3.51412 + x = 3.67622, y = 249.51891 + x = -1.69871, y = 4.61189 + x = -0.93445, y = -0.11474 + x = 2.50272, y = 63.67490 + x = 2.58607, y = 71.29485 + x = 4.19570, y = 405.55609 + x = 2.68606, y = 81.33573 + x = 1.04484, y = 4.46895 + x = 1.40601, y = 10.07029 + x = 4.86993, y = 706.54039 + x = 3.96723, y = 329.85975 + x = -1.95051, y = 8.90742 + x = -0.10285, y = -0.09325 + x = -4.02018, y = 208.37453 + x = 3.03441, y = 124.96282 + x = 1.10120, y = 5.11976 + x = -4.82412, y = 447.77227 + x = 2.41427, y = 56.28876 + x = -4.06830, y = 219.08536 + x = -1.47782, y = 2.24832 + x = 3.12027, y = 138.02755 + x = -2.10938, y = 12.75247 + x = -0.18187, y = -0.15372 + x = 4.67878, y = 608.20747 + x = -2.36372, y = 21.23351 + x = 4.29446, y = 442.05857 + x = 1.58226, y = 14.31473 + x = 1.69396, y = 17.65822 + x = -3.96523, y = 196.62658 + x = 0.26806, y = 0.36434 + x = 4.25770, y = 428.19555 + x = -1.63477, y = 3.81094 + x = 0.68747, y = 1.70838 + x = 3.89339, y = 307.85033 + x = 1.47067, y = 11.49244 + x = 4.67205, y = 604.94518 + x = 4.57637, y = 559.98107 + x = -0.83688, y = -0.23212 + x = -3.41519, y = 104.45230 + x = -2.46984, y = 25.77531 + x = 3.07604, y = 131.17394 + x = 0.74994, y = 2.05041 + x = -0.20808, y = -0.17192 + x = 4.55130, y = 548.62586 + x = 4.10122, y = 372.81568 + x = 4.89112, y = 718.14001 + x = 1.32066, y = 8.41020 + x = 1.02957, y = 4.30457 + x = 0.54712, y = 1.09984 + x = -4.77728, y = 429.87674 + x = 1.09502, y = 5.04481 + x = 2.96145, y = 114.62013 + x = 0.51804, y = 0.99745 + x = -2.02850, y = 10.67100 + x = -0.86647, y = -0.20256 + x = 0.31099, y = 0.44715 + x = 2.61381, y = 73.97993 + x = 0.17216, y = 0.20778 + x = -3.96795, y = 197.19691 + x = 2.91402, y = 108.25576 + x = 4.61932, y = 579.84121 + x = -1.47706, y = 2.24194 + x = -0.53998, y = -0.32083 + x = -1.12415, y = 0.31594 + x = -3.20612, y = 79.77825 + x = -1.78270, y = 5.82975 + x = 3.25757, y = 161.04686 + x = 0.34585, y = 0.52113 + x = -3.12140, y = 71.13854 + x = 3.14329, y = 141.69941 + x = 4.78055, y = 659.17593 + x = -0.85369, y = -0.21593 + x = -3.13285, y = 72.26316 + x = -4.29102, y = 274.14559 + x = 2.42716, y = 57.32205 + x = -4.84117, y = 454.42512 + x = 2.37258, y = 53.04416 + x = -3.15338, y = 74.31299 + x = 0.54525, y = 1.09305 + x = 2.32528, y = 49.53990 + x = -3.31935, y = 92.52440 + x = -3.58990, y = 129.11784 + x = 0.66191, y = 1.58199 + x = -1.87925, y = 7.48767 + x = 0.64874, y = 1.51975 + x = 0.73476, y = 1.96277 + x = 3.90521, y = 311.29454 + x = -3.18837, y = 77.90704 + x = 2.09951, y = 35.19181 + x = -1.74662, y = 5.28240 + x = -3.58552, y = 128.45040 + x = -0.76947, y = -0.28241 + x = -2.71548, y = 39.00838 + x = -1.55847, y = 2.98433 + x = -2.25039, y = 17.06393 + x = -1.07027, y = 0.16135 + x = -1.11721, y = 0.29440 + x = -0.91705, y = -0.14004 + x = -2.87586, y = 50.01212 + x = 3.94239, y = 322.32749 + x = -2.48145, y = 26.31239 + x = -0.52596, y = -0.31830 + x = -4.51568, y = 339.60355 + x = 3.22184, y = 154.79491 + x = 3.54208, y = 217.93826 + x = -0.31508, y = -0.23723 + x = -2.70046, y = 38.07941 + x = -2.60271, y = 32.42880 + x = 2.32277, y = 49.35860 + x = 3.39877, y = 187.65150 + x = 1.40579, y = 10.06575 + x = 0.80218, y = 2.37599 + x = 3.07265, y = 130.65911 + x = 2.77867, y = 91.56776 + x = 1.49954, y = 12.17630 + x = 0.38880, y = 0.62158 + x = -3.76157, y = 157.37015 + x = -3.98150, y = 200.05234 + x = -3.87376, y = 178.18405 + x = 2.86415, y = 101.85856 + x = 4.33451, y = 457.54645 + x = -0.82538, y = -0.24232 + x = -1.77829, y = 5.76075 + x = -2.06380, y = 11.54647 + x = 0.62474, y = 1.41120 + x = 0.30651, y = 0.43808 + x = -1.33801, y = 1.26191 + x = -1.35469, y = 1.36229 + x = -2.83310, y = 46.87752 + x = -2.25776, y = 17.31504 + x = 2.85929, y = 101.25014 + x = -0.02471, y = -0.02412 + x = -0.47615, y = -0.30598 + x = 2.14649, y = 37.87177 + x = -4.08051, y = 221.86756 + x = 0.87846, y = 2.92358 + x = -1.66255, y = 4.14622 + x = 2.88324, y = 104.27221 + x = 1.62121, y = 15.41873 + x = -4.74006, y = 416.04625 + x = -0.50367, y = -0.31340 + x = 2.88671, y = 104.71550 + x = -4.31461, y = 280.53048 + x = 4.23536, y = 419.92853 + x = -1.08113, y = 0.19024 + x = 2.23986, y = 43.66417 + x = -3.99118, y = 202.11137 + x = 4.34831, y = 462.97956 + x = 2.81679, y = 96.05358 + x = 2.44310, y = 58.61989 + x = -4.73226, y = 413.19116 + x = -4.76252, y = 424.35384 + x = -3.08396, y = 67.55101 + x = 4.38190, y = 476.39863 + x = -3.91689, y = 186.71071 + x = 2.54326, y = 67.29919 + x = 4.95018, y = 751.21605 + x = -1.66217, y = 4.14148 + x = 2.30234, y = 47.90572 + x = -2.33639, y = 20.16605 + x = -3.65253, y = 138.94208 + x = -0.58370, y = -0.32578 + x = 0.77608, y = 2.20857 + x = 2.06283, y = 33.20313 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.stt b/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.stt new file mode 100644 index 0000000..9b8097b --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.175 3.694 5 2 46 6 0.0000 0.0001 0.0000 13.175 3.694 5 2 46 6 +1 0 0.0000 0.0001 0.0000 12.259 3.852 5 2 4 2 0.0000 0.0001 0.0000 12.717 3.773 5 2 46 6 +2 0 0.0000 0.0001 0.0000 12.419 4.006 12 5 5 3 0.0000 0.0001 0.0000 12.618 3.851 12 5 46 6 +3 0 0.0000 0.0001 0.0000 12.632 4.161 12 5 7 5 0.0000 0.0001 0.0000 12.621 3.928 12 5 46 6 +4 0 0.0000 0.0001 0.0000 12.901 4.299 35 7 15 7 0.0000 0.0001 0.0000 12.677 4.002 35 7 46 6 +5 0 0.0000 0.0001 0.0000 13.087 4.397 46 6 12 5 0.0000 0.0001 0.0000 12.746 4.068 46 6 46 6 +6 0 0.0000 0.0001 0.0000 13.819 4.596 46 7 4 2 0.0000 0.0001 0.0000 12.899 4.144 46 7 46 6 +7 0 0.0000 0.0003 0.0000 14.758 4.732 21 8 11 6 0.0000 0.0003 0.0000 13.131 4.217 21 8 46 6 +8 0 0.0000 0.0003 0.0000 16.837 5.009 21 8 36 7 0.0000 0.0003 0.0000 13.543 4.305 21 8 46 6 +9 0 0.0000 0.0003 0.0000 19.508 5.398 21 8 16 7 0.0000 0.0003 0.0000 14.140 4.414 21 8 46 6 +10 0 0.0000 0.0003 0.0000 23.275 5.917 21 8 105 13 0.0000 0.0003 0.0000 14.970 4.551 21 8 46 6 +11 0 0.0001 0.0003 0.0000 28.230 6.574 21 8 28 8 0.0000 0.0003 0.0000 16.075 4.719 21 8 46 6 +12 0 0.0001 0.0004 0.0000 33.755 7.244 20 7 57 10 0.0000 0.0004 0.0000 17.435 4.914 20 7 46 6 +13 0 0.0001 0.0004 0.0000 40.695 8.070 20 7 120 17 0.0000 0.0004 0.0000 19.097 5.139 20 7 46 6 +14 0 0.0001 0.0004 0.0000 46.711 8.743 20 7 53 9 0.0000 0.0004 0.0000 20.937 5.379 20 7 46 6 +15 0 0.0001 0.0004 0.0000 51.521 9.352 20 7 38 7 0.0000 0.0004 0.0000 22.849 5.628 20 7 46 6 +16 0 0.0001 0.0004 0.0000 56.270 9.836 20 7 116 17 0.0001 0.0004 0.0000 24.815 5.875 20 7 46 6 +17 0 0.0001 0.0004 0.0000 60.545 10.296 20 7 85 17 0.0001 0.0004 0.0000 26.800 6.121 20 7 46 6 +18 0 0.0001 0.0004 0.0000 64.700 10.663 20 7 111 14 0.0001 0.0004 0.0000 28.795 6.360 20 7 46 6 +19 0 0.0001 0.0004 0.0000 68.107 11.016 20 7 106 13 0.0001 0.0004 0.0000 30.760 6.593 20 7 46 6 +20 0 0.0001 0.0004 0.0000 71.811 11.314 20 7 148 15 0.0001 0.0004 0.0000 32.715 6.818 20 7 46 6 +21 0 0.0001 0.0004 0.0000 75.940 11.687 64 9 80 13 0.0001 0.0004 0.0000 34.680 7.039 64 9 46 6 +22 0 0.0001 0.0004 0.0000 80.505 12.003 64 9 105 16 0.0001 0.0004 0.0000 36.672 7.255 64 9 46 6 +23 0 0.0001 0.0005 0.0000 84.342 12.209 90 10 88 14 0.0001 0.0005 0.0000 38.658 7.461 90 10 46 6 +24 0 0.0001 0.0005 0.0000 89.747 12.540 93 10 101 13 0.0001 0.0005 0.0000 40.702 7.664 93 10 46 6 +25 0 0.0002 0.0005 0.0000 92.274 12.691 93 10 75 15 0.0001 0.0005 0.0000 42.686 7.858 93 10 46 6 +26 0 0.0002 0.0005 0.0000 93.950 12.764 82 10 108 17 0.0001 0.0005 0.0000 44.584 8.039 82 10 46 6 +27 0 0.0002 0.0005 0.0000 97.417 12.984 82 10 159 17 0.0001 0.0005 0.0000 46.471 8.216 82 10 46 6 +28 0 0.0002 0.0006 0.0000 100.797 13.157 80 10 129 16 0.0001 0.0006 0.0000 48.344 8.386 80 10 46 6 +29 0 0.0002 0.0006 0.0000 103.218 13.282 80 10 126 16 0.0001 0.0006 0.0000 50.174 8.550 80 10 46 6 +30 0 0.0002 0.0006 0.0000 105.590 13.448 79 10 138 17 0.0001 0.0006 0.0000 51.961 8.708 79 10 46 6 +31 0 0.0002 0.0006 0.0000 106.549 13.488 79 10 190 17 0.0001 0.0006 0.0000 53.667 8.857 79 10 46 6 +32 0 0.0002 0.0007 0.0000 108.574 13.607 71 9 170 17 0.0001 0.0007 0.0000 55.331 9.001 71 9 46 6 +33 0 0.0002 0.0007 0.0000 109.750 13.656 71 9 84 15 0.0001 0.0007 0.0000 56.931 9.138 71 9 46 6 +34 0 0.0002 0.0007 0.0000 111.346 13.730 76 10 156 16 0.0001 0.0007 0.0000 58.486 9.269 76 10 46 6 +35 0 0.0002 0.0007 0.0000 111.290 13.682 76 10 186 17 0.0001 0.0007 0.0000 59.953 9.392 76 10 46 6 +36 0 0.0002 0.0007 0.0000 112.169 13.729 76 10 94 13 0.0001 0.0007 0.0000 61.364 9.509 76 10 46 6 +37 0 0.0002 0.0007 0.0000 113.278 13.734 76 10 103 14 0.0001 0.0007 0.0000 62.730 9.620 76 10 46 6 +38 0 0.0002 0.0007 0.0000 115.305 13.868 75 9 173 16 0.0001 0.0007 0.0000 64.078 9.729 75 9 46 6 +39 0 0.0002 0.0008 0.0000 117.779 13.970 86 10 26 7 0.0001 0.0008 0.0000 65.421 9.835 86 10 46 6 +40 0 0.0003 0.0008 0.0000 119.027 13.995 77 9 44 9 0.0001 0.0008 0.0000 66.728 9.936 77 9 46 6 +41 0 0.0003 0.0008 0.0000 120.930 14.032 76 9 50 9 0.0001 0.0008 0.0000 68.019 10.034 76 9 46 6 +42 0 0.0003 0.0008 0.0000 124.702 14.135 76 9 109 16 0.0001 0.0008 0.0000 69.337 10.129 76 9 46 6 +43 0 0.0003 0.0008 0.0000 126.946 14.111 76 9 59 12 0.0001 0.0008 0.0000 70.646 10.220 76 9 46 6 +44 0 0.0003 0.0008 0.0000 130.898 14.265 123 13 82 11 0.0001 0.0008 0.0000 71.985 10.310 123 13 46 6 +45 0 0.0003 0.0008 0.0000 133.964 14.393 76 9 145 13 0.0001 0.0008 0.0000 73.333 10.398 76 9 46 6 +46 0 0.0003 0.0010 0.0000 138.346 14.577 148 15 155 15 0.0001 0.0010 0.0000 74.716 10.487 148 15 46 6 +47 0 0.0003 0.0010 0.0000 141.587 14.669 148 15 113 13 0.0002 0.0010 0.0000 76.109 10.574 148 15 46 6 +48 0 0.0004 0.0011 0.0000 143.616 14.725 144 12 171 15 0.0002 0.0011 0.0000 77.487 10.659 144 12 46 6 +49 0 0.0004 0.0012 0.0000 146.249 14.829 149 12 79 11 0.0002 0.0012 0.0000 78.862 10.743 149 12 46 6 +50 0 0.0004 0.0012 0.0000 147.337 14.865 150 12 189 16 0.0002 0.0012 0.0000 80.205 10.823 150 12 46 6 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.sys b/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.sys new file mode 100644 index 0000000..eda7a08 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_2/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 109. +creating initial population(s): + 5624 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 406399525 + freed: 405396925 + not freed: 1002600 + max allocated: 16141216 + malloc'ed blocks: 750195 + realloc'ed blocks: 12 + free'ed blocks: 750045 + +------- time ------- + overall: 6s wall + evaluation: 6s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 500 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 33672 + freed: 33672 + allocated: 14000 + blocks: 27 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.bst b/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.bst new file mode 100644 index 0000000..2fec569 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.bst @@ -0,0 +1,34 @@ +=== BEST-OF-RUN === + generation: 20 + nodes: 37 + depth: 10 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.7401 + standardized fitness: 0.7401 + adjusted fitness: 0.5747 +TREE: + (- (* x + (- (* (* x x) + (+ (/ x x) x)) + (+ (+ -0.19484 + (/ (* x + (log (* (- x x) + (+ 0.16530 + (sin (sin (* x x))))))) + (* x + (- (* (* x x) + (+ (/ x x) x)) + (+ (log (+ 0.16530 + (- x + (+ x + (/ x x))))) + (- -0.80591 x)))))) + (- -0.80591 x)))) -0.00404) +TREE-equ: +y = ((x * (((x * x) * ((x / x) + x)) - ((-0.19484 + ((x * log(((x - x) * (0.16530 + sin(sin((x * x))))))) / (x * (((x * x) * ((x / x) + x)) - (log((0.16530 + (x - (x + (x / x))))) + (-0.80591 - x)))))) + (-0.80591 - x)))) - -0.00404) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.fn b/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.fn new file mode 100644 index 0000000..9ee3e78 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.fn @@ -0,0 +1,2 @@ + +y = ((x * (((x * x) * ((x / x) + x)) - ((-0.19484 + ((x * log(((x - x) * (0.16530 + sin(sin((x * x))))))) / (x * (((x * x) * ((x / x) + x)) - (log((0.16530 + (x - (x + (x / x))))) + (-0.80591 - x)))))) + (-0.80591 - x)))) - -0.00404) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.gen b/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.his b/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.his new file mode 100644 index 0000000..8434be7 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.his @@ -0,0 +1,492 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 14 + depth: 3 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 17060.4971 + standardized fitness: 17060.4971 + adjusted fitness: 0.0001 +TREE: + (* (+ (exp 0.39977) + (- x -0.78652)) + (* (+ x 0.90362) + (* x x))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 7 + depth: 2 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11957.5090 + standardized fitness: 11957.5090 + adjusted fitness: 0.0001 +TREE: + (* (/ x -0.06793) + (- -0.80591 x)) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 20 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11857.4117 + standardized fitness: 11857.4117 + adjusted fitness: 0.0001 +TREE: + (+ (log (log (+ (sin (log x)) + (sin (/ (- 0.43417 x) 0.48091))))) + (* (/ x -0.06793) + (- -0.80591 x))) +=== BEST-OF-RUN === + current generation: 3 + generation: 2 + nodes: 20 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11857.4117 + standardized fitness: 11857.4117 + adjusted fitness: 0.0001 +TREE: + (+ (log (log (+ (sin (log x)) + (sin (/ (- 0.43417 x) 0.48091))))) + (* (/ x -0.06793) + (- -0.80591 x))) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 22 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 10015.9453 + standardized fitness: 10015.9453 + adjusted fitness: 0.0001 +TREE: + (* (log (* (+ -0.70499 0.47693) + (exp x))) + (+ (+ (log -0.68147) + (/ (sin -0.54630) + (exp x))) + (/ (exp x) + (cos -0.65887)))) +=== BEST-OF-RUN === + current generation: 5 + generation: 4 + nodes: 22 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 10015.9453 + standardized fitness: 10015.9453 + adjusted fitness: 0.0001 +TREE: + (* (log (* (+ -0.70499 0.47693) + (exp x))) + (+ (+ (log -0.68147) + (/ (sin -0.54630) + (exp x))) + (/ (exp x) + (cos -0.65887)))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 18 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5770.9211 + standardized fitness: 5770.9211 + adjusted fitness: 0.0002 +TREE: + (- (* x + (- (* (* x x) + (+ 0.46439 x)) + (+ (/ x -0.63827) + (cos -0.24299)))) -0.00404) +=== BEST-OF-RUN === + current generation: 7 + generation: 6 + nodes: 18 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5770.9211 + standardized fitness: 5770.9211 + adjusted fitness: 0.0002 +TREE: + (- (* x + (- (* (* x x) + (+ 0.46439 x)) + (+ (/ x -0.63827) + (cos -0.24299)))) -0.00404) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 29 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3497.0596 + standardized fitness: 3497.0596 + adjusted fitness: 0.0003 +TREE: + (- (* x + (- (* (* (+ (sin (- (* (+ -0.30108 0.89641) + (sin x)) + (cos x))) x) x) + (+ 0.46439 x)) + (+ (/ x -0.63827) + (cos -0.24299)))) -0.00404) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 24 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2113.3340 + standardized fitness: 2113.3340 + adjusted fitness: 0.0005 +TREE: + (- (* x + (- (* (* (+ (sin (- 0.73957 + (cos x))) x) x) + (+ 0.46439 x)) + (+ (/ x -0.63827) + (cos -0.24299)))) -0.00404) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 29 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1522.8396 + standardized fitness: 1522.8396 + adjusted fitness: 0.0007 +TREE: + (- (* x + (- (* (* (+ (sin (- 0.73957 + (cos x))) x) x) + (+ 0.46439 x)) + (+ (/ x + (* (sin 0.49844) + (- x -0.27920))) + (cos -0.24299)))) -0.00404) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 33 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1295.4004 + standardized fitness: 1295.4004 + adjusted fitness: 0.0008 +TREE: + (- (* x + (- (* (* (+ (sin (cos 0.42098)) x) x) + (+ 0.46439 x)) + (+ (/ x -0.63827) + (+ (* (/ 0.76992 + (/ x 0.04315)) + (cos (log 0.24792))) + (+ 0.80473 x))))) -0.00404) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 34 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1294.6381 + standardized fitness: 1294.6381 + adjusted fitness: 0.0008 +TREE: + (- (* x + (- (* (* (+ (sin (cos 0.42098)) x) x) + (+ 0.46439 x)) + (+ (/ x -0.63827) + (+ (* (/ 0.76992 + (/ x 0.04315)) + (cos (/ 0.93682 0.25583))) + (+ 0.80473 x))))) -0.00404) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 20 + depth: 6 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 78.6914 + standardized fitness: 78.6914 + adjusted fitness: 0.0125 +TREE: + (- (* x + (- (* (* x x) + (+ (/ x x) x)) + (+ (log -0.71864) + (- -0.80591 x)))) -0.00404) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 26 + depth: 8 + hits: 20 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 20 + raw fitness: 9.3895 + standardized fitness: 9.3895 + adjusted fitness: 0.0963 +TREE: + (- (* x + (- (* (* x x) + (+ (/ x x) x)) + (+ (log (+ 0.16530 + (- x + (+ x 0.97547)))) + (- -0.80591 x)))) -0.00404) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 28 + depth: 9 + hits: 23 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 23 + raw fitness: 9.3000 + standardized fitness: 9.3000 + adjusted fitness: 0.0971 +TREE: + (- (- (* x + (- (* (* x x) + (+ (/ x x) x)) + (+ (log (+ 0.16530 + (- x + (+ x 0.97547)))) + (- -0.80591 x)))) -0.00404) -0.00404) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 26 + depth: 7 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 6.9147 + standardized fitness: 6.9147 + adjusted fitness: 0.1263 +TREE: + (- (* x + (- (* (* x x) + (+ (/ x x) x)) + (+ (+ -0.19484 + (/ (sin -0.03129) + (+ -0.29602 x))) + (- -0.80591 x)))) -0.00404) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 21 + depth: 6 + hits: 40 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 40 + raw fitness: 4.1787 + standardized fitness: 4.1787 + adjusted fitness: 0.1931 +TREE: + (- (* x + (- (* (* x x) + (+ (/ x x) x)) + (+ (log (cos -0.59285)) + (- -0.80591 x)))) -0.00404) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 49 + depth: 14 + hits: 160 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 160 + raw fitness: 2.1377 + standardized fitness: 2.1377 + adjusted fitness: 0.3187 +TREE: + (- (* x + (- (* (* x x) + (+ (/ x x) x)) + (+ (+ -0.19484 + (/ (sin -0.03129) + (+ -0.29602 + (* x + (- (* (* x x) + (+ (/ x x) x)) + (+ (log (+ 0.16530 + (- x + (+ x 0.97547)))) + (- -0.80591 x))))))) + (- -0.80591 x)))) -0.00404) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 66 + depth: 16 + hits: 163 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 163 + raw fitness: 1.4148 + standardized fitness: 1.4148 + adjusted fitness: 0.4141 +TREE: + (- (* x + (- (* (* x x) + (+ (/ x x) x)) + (+ (+ -0.19484 + (/ (sin -0.03129) + (+ -0.29602 + (* x + (- (* x + (- (* (* x x) + (+ (/ x x) x)) + (+ (log (+ 0.16530 + (- x + (+ x 0.97547)))) + (- (/ x x) x)))) + (+ (log (+ 0.16530 + (- x + (+ x 0.97547)))) + (- -0.80591 x))))))) + (- -0.80591 x)))) -0.00404) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 37 + depth: 10 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.7401 + standardized fitness: 0.7401 + adjusted fitness: 0.5747 +TREE: + (- (* x + (- (* (* x x) + (+ (/ x x) x)) + (+ (+ -0.19484 + (/ (* x + (log (* (- x x) + (+ 0.16530 + (sin (sin (* x x))))))) + (* x + (- (* (* x x) + (+ (/ x x) x)) + (+ (log (+ 0.16530 + (- x + (+ x + (/ x x))))) + (- -0.80591 x)))))) + (- -0.80591 x)))) -0.00404) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.prg b/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.prg new file mode 100644 index 0000000..5b21a93 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 4.53232, y = 540.14615 + x = -1.29303, y = 1.01239 + x = 3.80478, y = 282.92601 + x = 3.63803, y = 240.19550 + x = -4.20657, y = 252.17439 + x = 2.10788, y = 35.65839 + x = 2.07817, y = 34.02436 + x = -2.71845, y = 39.19367 + x = 3.86003, y = 298.27921 + x = 1.10803, y = 5.20338 + x = -1.33986, y = 1.27286 + x = 4.36008, y = 467.64702 + x = -3.46133, y = 110.58911 + x = 2.01563, y = 30.77328 + x = -0.53329, y = -0.31968 + x = -4.74054, y = 416.22064 + x = 1.13774, y = 5.58055 + x = -0.13114, y = -0.11590 + x = 3.18747, y = 148.95724 + x = -2.02623, y = 10.61642 + x = -3.04106, y = 63.60930 + x = -2.68804, y = 37.32387 + x = 4.21759, y = 413.44224 + x = -2.63088, y = 33.98845 + x = -3.38374, y = 100.41909 + x = -4.62735, y = 376.19030 + x = 3.55149, y = 220.04917 + x = -4.81784, y = 445.34006 + x = 0.84245, y = 2.65381 + x = 2.04460, y = 32.24792 + x = -2.79546, y = 44.24180 + x = -4.71722, y = 407.72397 + x = -1.02305, y = 0.04826 + x = 3.23326, y = 156.77278 + x = -2.51765, y = 28.03999 + x = -2.70249, y = 38.20393 + x = -2.88068, y = 50.37506 + x = -4.08946, y = 223.92427 + x = -3.56720, y = 125.68903 + x = -0.45847, y = -0.30046 + x = 2.01766, y = 30.87491 + x = -0.86210, y = -0.20724 + x = -4.95349, y = 500.10568 + x = 4.98907, y = 773.61424 + x = -0.43222, y = -0.29125 + x = -1.19455, y = 0.56401 + x = -4.58207, y = 361.01478 + x = -4.55442, y = 351.97817 + x = -3.36028, y = 97.48573 + x = -3.15077, y = 74.04989 + x = -3.96186, y = 195.92188 + x = -3.37555, y = 99.38794 + x = 4.19916, y = 406.79532 + x = -0.76549, y = -0.28470 + x = 4.41435, y = 489.64538 + x = 4.24953, y = 425.15892 + x = 4.73002, y = 633.48239 + x = -4.42847, y = 312.94101 + x = 1.15568, y = 5.81860 + x = 3.49592, y = 207.80618 + x = -0.01144, y = -0.01131 + x = 1.16763, y = 5.98167 + x = -4.15125, y = 238.51447 + x = -0.68150, y = -0.31787 + x = 4.09037, y = 369.18793 + x = 4.52224, y = 535.68317 + x = 4.31356, y = 449.39646 + x = -3.45039, y = 109.11150 + x = -2.55215, y = 29.76320 + x = -4.33874, y = 287.17916 + x = 4.84153, y = 691.22235 + x = 0.69216, y = 1.73237 + x = -1.77087, y = 5.64602 + x = 1.33824, y = 8.73304 + x = -3.06437, y = 65.72946 + x = -4.66550, y = 389.34722 + x = -1.88720, y = 7.63749 + x = -0.01692, y = -0.01664 + x = -2.04523, y = 11.07986 + x = -2.63328, y = 34.12369 + x = -4.35736, y = 292.38913 + x = 2.97996, y = 117.18034 + x = -0.97351, y = -0.05022 + x = 2.34654, y = 51.09192 + x = -2.94396, y = 55.32326 + x = 1.03691, y = 4.38293 + x = 4.43403, y = 497.81008 + x = 4.65845, y = 598.39451 + x = 4.14289, y = 387.00010 + x = -2.03989, y = 10.94805 + x = -2.01605, y = 10.37419 + x = -4.43029, y = 313.47847 + x = 3.46269, y = 200.73718 + x = -4.22846, y = 257.73672 + x = -0.30000, y = -0.22890 + x = -3.67450, y = 142.51752 + x = -4.09123, y = 224.33359 + x = -1.29173, y = 1.00560 + x = 3.05344, y = 127.77325 + x = -0.76672, y = -0.28401 + x = -4.30735, y = 278.55330 + x = 0.43486, y = 0.74195 + x = 2.49081, y = 62.63981 + x = 4.27300, y = 433.92410 + x = -3.79340, y = 163.07956 + x = -1.94182, y = 8.72479 + x = 2.59796, y = 72.43656 + x = -3.14738, y = 73.70942 + x = -2.82153, y = 46.05531 + x = -1.62255, y = 3.66946 + x = 4.81550, y = 677.40506 + x = -4.92843, y = 489.62997 + x = -3.57137, y = 126.31282 + x = -1.80443, y = 6.17778 + x = 0.51197, y = 0.97699 + x = -0.58115, y = -0.32562 + x = 2.70494, y = 83.34698 + x = -4.92279, y = 487.29125 + x = 4.61849, y = 579.45337 + x = 2.76487, y = 89.98392 + x = 3.61347, y = 234.34117 + x = 0.60529, y = 1.32767 + x = -1.50384, y = 2.47120 + x = 3.21457, y = 153.54623 + x = 4.96861, y = 761.76550 + x = -0.59333, y = -0.32623 + x = 3.20135, y = 151.29346 + x = -1.04387, y = 0.09569 + x = 0.13165, y = 0.15156 + x = 3.87745, y = 303.24723 + x = -2.26347, y = 17.51146 + x = -3.73982, y = 153.55600 + x = -2.19539, y = 15.27301 + x = 4.57732, y = 560.41337 + x = -2.44878, y = 24.82187 + x = -4.42893, y = 313.07561 + x = 1.55133, y = 13.48321 + x = -4.16908, y = 242.85551 + x = -3.16544, y = 75.53713 + x = 2.63719, y = 76.30165 + x = 3.33197, y = 174.67979 + x = 4.35682, y = 466.34914 + x = -4.96004, y = 502.87416 + x = -3.62198, y = 134.08226 + x = -0.65335, y = -0.32316 + x = 2.37865, y = 53.50797 + x = 2.07355, y = 33.77515 + x = -4.75188, y = 420.40175 + x = -4.19706, y = 249.78597 + x = -4.70667, y = 403.92442 + x = -1.87585, y = 7.42421 + x = 1.95264, y = 27.74776 + x = 3.57663, y = 225.76420 + x = 4.17599, y = 398.55520 + x = -3.50325, y = 116.39604 + x = 4.43248, y = 497.16152 + x = -2.36975, y = 21.47454 + x = 2.91349, y = 108.18646 + x = 1.72178, y = 18.57899 + x = -4.36448, y = 294.39789 + x = 1.50685, y = 12.35458 + x = 1.76704, y = 20.15657 + x = -4.98194, y = 512.20706 + x = -0.45872, y = -0.30054 + x = 0.04548, y = 0.04765 + x = -4.54131, y = 347.75342 + x = -4.96839, y = 506.41740 + x = -4.94939, y = 498.37905 + x = 3.84892, y = 295.14124 + x = 3.13332, y = 140.09995 + x = 2.34530, y = 51.00080 + x = 2.45682, y = 59.75485 + x = 4.27428, y = 434.40534 + x = 4.32516, y = 453.89672 + x = -0.35928, y = -0.25991 + x = -3.33917, y = 94.90259 + x = 2.02866, y = 31.43017 + x = -0.67983, y = -0.31826 + x = 1.71782, y = 18.44583 + x = -4.46387, y = 323.56546 + x = -3.22357, y = 81.65190 + x = -4.71215, y = 405.89400 + x = 2.23435, y = 43.30471 + x = -0.50388, y = -0.31345 + x = -2.62940, y = 33.90549 + x = 0.96949, y = 3.70408 + x = -3.75788, y = 156.71761 + x = 3.26333, y = 162.07280 + x = -0.46816, y = -0.30356 + x = -2.90747, y = 52.42754 + x = -4.46054, y = 322.55362 + x = 1.50071, y = 12.20480 + x = -3.01800, y = 61.56279 + x = -1.29876, y = 1.04250 + x = -4.70811, y = 404.44310 + x = -4.12485, y = 232.19783 + x = -4.91746, y = 485.09479 + x = -4.28521, y = 272.58801 + x = 1.73730, y = 19.10872 + x = -2.31418, y = 19.32859 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.stt b/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.stt new file mode 100644 index 0000000..0e6de46 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.stt @@ -0,0 +1,22 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 12.975 3.669 14 3 32 5 0.0000 0.0001 0.0000 12.975 3.669 14 3 32 5 +1 0 0.0000 0.0001 0.0000 12.263 3.852 7 2 18 8 0.0000 0.0001 0.0000 12.619 3.760 7 2 18 8 +2 0 0.0000 0.0001 0.0000 12.387 4.023 20 7 4 2 0.0000 0.0001 0.0000 12.541 3.848 20 7 4 2 +3 0 0.0000 0.0001 0.0000 12.618 4.195 20 7 50 9 0.0000 0.0001 0.0000 12.561 3.935 20 7 4 2 +4 0 0.0000 0.0001 0.0000 12.953 4.365 22 5 16 5 0.0000 0.0001 0.0000 12.639 4.021 22 5 4 2 +5 0 0.0000 0.0001 0.0000 13.505 4.555 22 5 5 3 0.0000 0.0001 0.0000 12.783 4.110 22 5 4 2 +6 0 0.0000 0.0002 0.0000 13.373 4.560 18 5 8 3 0.0000 0.0002 0.0000 12.868 4.174 18 5 4 2 +7 0 0.0000 0.0002 0.0000 13.903 4.695 18 5 27 8 0.0000 0.0002 0.0000 12.997 4.239 18 5 4 2 +8 0 0.0000 0.0003 0.0000 14.367 4.824 29 10 28 7 0.0000 0.0003 0.0000 13.149 4.304 29 10 4 2 +9 0 0.0000 0.0005 0.0000 15.177 5.031 24 9 33 8 0.0000 0.0005 0.0000 13.352 4.377 24 9 4 2 +10 0 0.0000 0.0007 0.0000 16.342 5.294 29 9 16 5 0.0000 0.0007 0.0000 13.624 4.460 29 9 4 2 +11 0 0.0000 0.0008 0.0000 18.186 5.782 33 8 16 4 0.0000 0.0008 0.0000 14.004 4.570 33 8 4 2 +12 0 0.0001 0.0008 0.0000 21.566 6.615 34 8 28 8 0.0000 0.0008 0.0000 14.586 4.728 34 8 4 2 +13 0 0.0001 0.0125 0.0000 25.833 7.689 20 6 41 12 0.0000 0.0125 0.0000 15.389 4.939 20 6 4 2 +14 0 0.0002 0.0963 0.0000 29.800 8.699 26 8 41 15 0.0001 0.0963 0.0000 16.350 5.190 26 8 4 2 +15 0 0.0008 0.0971 0.0000 31.817 9.093 28 9 60 14 0.0001 0.0971 0.0000 17.317 5.434 28 9 4 2 +16 0 0.0041 0.1263 0.0000 28.701 8.182 26 7 79 14 0.0003 0.1263 0.0000 17.986 5.596 26 7 4 2 +17 0 0.0085 0.1931 0.0000 27.730 7.925 21 6 32 9 0.0008 0.1931 0.0000 18.528 5.725 21 6 4 2 +18 0 0.0108 0.3187 0.0000 29.903 8.126 49 14 33 10 0.0013 0.3187 0.0000 19.126 5.851 49 14 4 2 +19 0 0.0249 0.4141 0.0000 40.300 9.088 66 16 34 9 0.0025 0.4141 0.0000 20.185 6.013 66 16 4 2 +20 0 0.0515 0.5747 0.0000 57.849 10.842 37 10 44 12 0.0048 0.5747 0.0000 21.978 6.243 37 10 4 2 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.sys b/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.sys new file mode 100644 index 0000000..7988ed4 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_3/regress.sys @@ -0,0 +1,113 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 160. +creating initial population(s): + 5563 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 53571499 + freed: 53170459 + not freed: 401040 + max allocated: 6146216 + malloc'ed blocks: 310484 + realloc'ed blocks: 9 + free'ed blocks: 310424 + +------- time ------- + overall: 1s wall + evaluation: 1s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 20981 + freed: 20981 + allocated: 13500 + blocks: 26 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.bst b/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.bst new file mode 100644 index 0000000..5dcbf2c --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.bst @@ -0,0 +1,41 @@ +=== BEST-OF-RUN === + generation: 45 + nodes: 104 + depth: 17 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0358 + standardized fitness: 0.0358 + adjusted fitness: 0.9654 +TREE: + (+ (+ (* (* x + (+ (cos (log (* (log (- x x)) + (/ 0.33890 x)))) x)) + (* x x)) + (/ (* (/ (cos (* (+ (sin (/ (cos x) + (* (exp (log (- x + (/ (* (* x x) 0.59394) 0.58310)))) + (- (cos x) + (- 0.30709 -0.48089))))) 0.26713) + (/ 0.76775 + (/ 0.76775 + (exp (cos 0.20212)))))) + (- (+ (log 0.16742) + (* x + (/ x + (cos 0.40038)))) + (+ (* (* x + (+ (cos (log 0.94330)) x)) + (* x x)) + (/ (* (+ 0.32863 x) 0.59394) + (/ (exp 0.76775) 0.32863))))) 0.59394) + (/ (exp (exp (exp (cos 0.20212)))) 0.32863))) + (* x + (+ (cos (sin (log -0.98785))) x))) +TREE-equ: +y = ((((x * (cos(log((log((x - x)) * (0.33890 / x)))) + x)) * (x * x)) + (((cos(((sin((cos(x) / (exp(log((x - (((x * x) * 0.59394) / 0.58310)))) * (cos(x) - (0.30709 - -0.48089))))) + 0.26713) * (0.76775 / (0.76775 / exp(cos(0.20212)))))) / ((log(0.16742) + (x * (x / cos(0.40038)))) - (((x * (cos(log(0.94330)) + x)) * (x * x)) + (((0.32863 + x) * 0.59394) / (exp(0.76775) / 0.32863))))) * 0.59394) / (exp(exp(exp(cos(0.20212)))) / 0.32863))) + (x * (cos(sin(log(-0.98785))) + x))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.fn b/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.fn new file mode 100644 index 0000000..1e68fd8 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.fn @@ -0,0 +1,2 @@ + +y = ((((x * (cos(log((log((x - x)) * (0.33890 / x)))) + x)) * (x * x)) + (((cos(((sin((cos(x) / (exp(log((x - (((x * x) * 0.59394) / 0.58310)))) * (cos(x) - (0.30709 - -0.48089))))) + 0.26713) * (0.76775 / (0.76775 / exp(cos(0.20212)))))) / ((log(0.16742) + (x * (x / cos(0.40038)))) - (((x * (cos(log(0.94330)) + x)) * (x * x)) + (((0.32863 + x) * 0.59394) / (exp(0.76775) / 0.32863))))) * 0.59394) / (exp(exp(exp(cos(0.20212)))) / 0.32863))) + (x * (cos(sin(log(-0.98785))) + x))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.gen b/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.his b/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.his new file mode 100644 index 0000000..1621c23 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.his @@ -0,0 +1,1371 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 21 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8863.8378 + standardized fitness: 8863.8378 + adjusted fitness: 0.0001 +TREE: + (/ (+ (- (sin 0.41102) + (log x)) + (exp (- x -0.82897))) + (* (exp (+ -0.92590 0.32130)) + (+ (sin -0.12994) + (cos -0.59508)))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 13 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8108.3909 + standardized fitness: 8108.3909 + adjusted fitness: 0.0001 +TREE: + (exp (/ (log (+ (/ 0.76775 + (exp 0.16054)) + (* x + (cos 0.40038)))) 0.24268)) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 20 + depth: 10 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 4034.7174 + standardized fitness: 4034.7174 + adjusted fitness: 0.0002 +TREE: + (exp (/ (log (+ (/ 0.76775 + (exp (cos (cos (+ (exp x) + (/ 0.33890 x)))))) + (* x + (cos 0.40038)))) 0.24268)) +=== BEST-OF-RUN === + current generation: 3 + generation: 2 + nodes: 20 + depth: 10 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 4034.7174 + standardized fitness: 4034.7174 + adjusted fitness: 0.0002 +TREE: + (exp (/ (log (+ (/ 0.76775 + (exp (cos (cos (+ (exp x) + (/ 0.33890 x)))))) + (* x + (cos 0.40038)))) 0.24268)) +=== BEST-OF-RUN === + current generation: 4 + generation: 2 + nodes: 20 + depth: 10 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 4034.7174 + standardized fitness: 4034.7174 + adjusted fitness: 0.0002 +TREE: + (exp (/ (log (+ (/ 0.76775 + (exp (cos (cos (+ (exp x) + (/ 0.33890 x)))))) + (* x + (cos 0.40038)))) 0.24268)) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 22 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3202.6431 + standardized fitness: 3202.6431 + adjusted fitness: 0.0003 +TREE: + (exp (/ (log (+ (/ 0.76775 + (exp (cos (cos (+ 0.33255 + (+ (log 0.39851) + (- x x))))))) + (* x + (cos 0.40038)))) 0.24268)) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 19 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2990.8027 + standardized fitness: 2990.8027 + adjusted fitness: 0.0003 +TREE: + (exp (/ (log (+ (/ 0.76775 + (exp (cos (cos (/ (/ -0.70007 -0.87439) x))))) + (* x + (cos 0.40038)))) 0.24268)) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 20 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2357.5345 + standardized fitness: 2357.5345 + adjusted fitness: 0.0004 +TREE: + (exp (/ (log (+ (/ 0.76775 + (exp (cos (cos (+ (log x) + (/ 0.33890 x)))))) + (* x + (exp -0.05970)))) 0.24268)) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 9 + depth: 3 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 1670.0140 + standardized fitness: 1670.0140 + adjusted fitness: 0.0006 +TREE: + (* (* (- x -0.87148) x) + (* x x)) +=== BEST-OF-RUN === + current generation: 9 + generation: 8 + nodes: 9 + depth: 3 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 1670.0140 + standardized fitness: 1670.0140 + adjusted fitness: 0.0006 +TREE: + (* (* (- x -0.87148) x) + (* x x)) +=== BEST-OF-RUN === + current generation: 10 + generation: 8 + nodes: 9 + depth: 3 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 1670.0140 + standardized fitness: 1670.0140 + adjusted fitness: 0.0006 +TREE: + (* (* (- x -0.87148) x) + (* x x)) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 63 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1472.0383 + standardized fitness: 1472.0383 + adjusted fitness: 0.0007 +TREE: + (+ (+ (- (* (* x + (+ (cos (exp (cos x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) + (+ (exp x) + (* -0.79930 x))) + (cos (* (* (exp (/ (* -0.58853 x) + (log x))) + (log (+ (+ x -0.68212) + (/ -0.08893 -0.58423)))) + (cos x))))) + (/ (* (/ 0.50585 x) 0.59394) + (/ (cos 0.78785) + (+ x + (log x))))) + (sin x)) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 65 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1389.1929 + standardized fitness: 1389.1929 + adjusted fitness: 0.0007 +TREE: + (+ (+ (- (* (* x + (+ (cos (exp (cos x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) + (+ (exp x) + (* -0.79930 x))) + (cos (* (* (exp (/ (* -0.58853 x) + (log x))) + (log (+ (+ x -0.68212) + (/ -0.08893 -0.58423)))) + (cos x))))) + (/ (* (/ 0.50585 x) 0.59394) + (/ (cos 0.76775) + (+ (cos (log 0.53738)) + (log x))))) + (sin x)) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 63 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 865.7984 + standardized fitness: 865.7984 + adjusted fitness: 0.0012 +TREE: + (+ (+ (- (* (* x + (+ (cos (exp (cos x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) + (+ (exp x) + (* -0.79930 x))) + (cos (* (* (exp (/ (* -0.58853 x) + (log x))) + (log (+ (+ x -0.68212) + (/ -0.08893 -0.58423)))) + (cos x))))) + (/ (+ x 0.50681) + (/ (cos 0.76775) + (+ (cos (log 0.53738)) + (log x))))) + (sin x)) +=== BEST-OF-RUN === + current generation: 14 + generation: 13 + nodes: 63 + depth: 10 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 865.7984 + standardized fitness: 865.7984 + adjusted fitness: 0.0012 +TREE: + (+ (+ (- (* (* x + (+ (cos (exp (cos x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) + (+ (exp x) + (* -0.79930 x))) + (cos (* (* (exp (/ (* -0.58853 x) + (log x))) + (log (+ (+ x -0.68212) + (/ -0.08893 -0.58423)))) + (cos x))))) + (/ (+ x 0.50681) + (/ (cos 0.76775) + (+ (cos (log 0.53738)) + (log x))))) + (sin x)) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 64 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 538.3918 + standardized fitness: 538.3918 + adjusted fitness: 0.0019 +TREE: + (+ (+ (- (* (* x + (+ (cos (- x + (+ 0.32863 x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) + (+ (exp x) + (* -0.79930 x))) + (cos (* (* (exp (/ (* -0.58853 x) + (log x))) + (cos 0.40038)) + (cos x))))) + (* (+ (/ (log -0.05970) -0.48684) + (exp (log (log (exp (* (log (exp 0.16447)) + (+ x -0.06469))))))) 0.59394)) + (sin x)) +=== BEST-OF-RUN === + current generation: 16 + generation: 15 + nodes: 64 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 538.3918 + standardized fitness: 538.3918 + adjusted fitness: 0.0019 +TREE: + (+ (+ (- (* (* x + (+ (cos (- x + (+ 0.32863 x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) + (+ (exp x) + (* -0.79930 x))) + (cos (* (* (exp (/ (* -0.58853 x) + (log x))) + (cos 0.40038)) + (cos x))))) + (* (+ (/ (log -0.05970) -0.48684) + (exp (log (log (exp (* (log (exp 0.16447)) + (+ x -0.06469))))))) 0.59394)) + (sin x)) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 63 + depth: 11 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 404.3480 + standardized fitness: 404.3480 + adjusted fitness: 0.0025 +TREE: + (+ (+ (- (* (* x + (+ (cos (- x + (+ 0.32863 x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) + (+ (exp x) + (* -0.79930 x))) + (cos (* (* (exp (/ (* -0.58853 x) + (log x))) + (cos 0.40038)) + (cos x))))) + (* (+ (* x x) + (exp (log (log (exp (* (log (exp 0.16447)) + (+ x -0.06469))))))) 0.59394)) + (sin x)) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 73 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 361.0950 + standardized fitness: 361.0950 + adjusted fitness: 0.0028 +TREE: + (+ (+ (- (* (* x + (+ (cos (- x + (+ 0.32863 x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) + (+ (exp x) + (* -0.79930 x))) + (cos 0.32863))) + (/ (log (+ (/ 0.76775 + (exp (cos (cos (cos (+ (/ (exp (cos (log (log x)))) + (- (+ (/ 0.76775 + (exp (cos 0.20212))) + (* x + (- x 0.77774))) + (sin (log 0.16742)))) + (/ 0.33890 x))))))) + (* x + (exp -0.05970)))) 0.24268)) + (sin x)) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 84 + depth: 13 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 302.0997 + standardized fitness: 302.0997 + adjusted fitness: 0.0033 +TREE: + (+ (+ (- (* (* x + (+ (cos (- x + (+ 0.32863 x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) + (+ (exp x) + (/ -0.50586 -0.64176))) + (cos (* (* (exp (/ (* -0.58853 x) + (log x))) + (log (+ (+ x -0.68212) + (/ -0.08893 -0.58423)))) + (cos x))))) + (log (+ (/ 0.76775 + (exp (cos (cos (sin (* (* (- x + (+ 0.32863 x)) + (+ (exp x) + (* -0.79930 x))) 0.32863)))))) + (* x + (* x + (+ (cos (exp (cos x))) x)))))) + (sin x)) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 90 + depth: 15 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 298.6695 + standardized fitness: 298.6695 + adjusted fitness: 0.0033 +TREE: + (+ (+ (- (* (* x + (+ (cos (- x + (+ 0.32863 x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) + (+ (exp x) + (* -0.79930 x))) + (cos (* (cos (log (+ (/ 0.76775 + (exp (cos 0.61035))) + (* x + (- 0.02411 0.96070))))) + (cos x))))) + (* (log (* (+ (log x) + (- (* x + (/ x 0.68630)) + (cos (- (+ (/ -0.08893 -0.58423) + (+ (cos (/ (* x + (exp -0.05970)) x)) + (* x + (cos 0.40038)))) + (cos (+ (exp (log (log 0.94048))) 0.26713)))))) + (* x x))) 0.59394)) + (sin x)) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 87 + depth: 13 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 272.4054 + standardized fitness: 272.4054 + adjusted fitness: 0.0037 +TREE: + (+ (+ (- (* (* x + (+ (cos (- x + (+ 0.32863 x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) + (+ (exp x) + (/ -0.50586 -0.64176))) + (cos (* (* (exp (/ (* -0.58853 x) + (log x))) + (log (+ (cos (- x + (+ 0.32863 x))) + (/ -0.08893 -0.58423)))) + (cos x))))) + (log (+ (/ 0.76775 + (exp (cos (cos (sin (* (* (- x + (+ 0.32863 x)) + (+ (exp x) + (* -0.79930 x))) 0.32863)))))) + (* x + (* x + (+ (cos (exp (cos x))) x)))))) + (sin x)) +=== BEST-OF-RUN === + current generation: 22 + generation: 22 + nodes: 73 + depth: 11 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 264.3092 + standardized fitness: 264.3092 + adjusted fitness: 0.0038 +TREE: + (+ (+ (- (* (* x + (+ (cos (- x + (+ 0.32863 x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) + (+ (exp x) + (/ -0.50586 -0.64176))) + (cos (* (* (exp (/ (* -0.58853 x) + (log x))) + (log (cos (/ (sin x) + (/ x -0.47160))))) + (cos x))))) + (log (+ (/ 0.76775 + (exp (cos (cos (cos (exp (cos x))))))) + (* x + (* x + (+ (cos (exp (cos x))) x)))))) + (sin x)) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 74 + depth: 12 + hits: 7 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 7 + raw fitness: 228.4207 + standardized fitness: 228.4207 + adjusted fitness: 0.0044 +TREE: + (+ (+ (- (* (* x + (+ (cos (sin 0.40038)) x)) + (* x x)) + (- (+ (* x + (/ (/ 0.50585 x) + (exp (log 0.38239)))) + (+ (* (* 0.93793 x) + (- 0.53334 x)) + (log x))) + (cos (* (* (exp (cos -0.84375)) + (log (+ (+ x -0.68212) + (/ -0.08893 + (* (* x x) + (* x x)))))) + (cos x))))) + (/ (* (exp (cos (/ 0.50585 x))) 0.59394) + (/ (cos 0.78785) + (+ x + (log x))))) + (cos 0.78785)) +=== BEST-OF-RUN === + current generation: 24 + generation: 23 + nodes: 74 + depth: 12 + hits: 7 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 7 + raw fitness: 228.4207 + standardized fitness: 228.4207 + adjusted fitness: 0.0044 +TREE: + (+ (+ (- (* (* x + (+ (cos (sin 0.40038)) x)) + (* x x)) + (- (+ (* x + (/ (/ 0.50585 x) + (exp (log 0.38239)))) + (+ (* (* 0.93793 x) + (- 0.53334 x)) + (log x))) + (cos (* (* (exp (cos -0.84375)) + (log (+ (+ x -0.68212) + (/ -0.08893 + (* (* x x) + (* x x)))))) + (cos x))))) + (/ (* (exp (cos (/ 0.50585 x))) 0.59394) + (/ (cos 0.78785) + (+ x + (log x))))) + (cos 0.78785)) +=== BEST-OF-RUN === + current generation: 25 + generation: 25 + nodes: 96 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 137.3931 + standardized fitness: 137.3931 + adjusted fitness: 0.0072 +TREE: + (+ (+ (- (* (* x + (+ (cos (+ (/ (exp (cos (log (cos x)))) + (- (+ (/ 0.76775 + (exp (cos 0.20212))) + (* x + (/ x 0.68630))) + (sin (log 0.16742)))) + (/ 0.33890 x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) x) + (cos (* (cos (+ (/ (sin (* (/ (sin -0.79677) + (- x x)) + (cos (cos 0.40038)))) -0.97232) + (+ (cos (sin (- x 0.29125))) + (sin (log (+ (exp 0.51091) 0.22707)))))) + (cos x))))) + (/ (* (/ 0.50585 x) 0.59394) + (/ (exp 0.76775) 0.32863))) + (* x + (+ (cos (- x + (+ 0.32863 x))) x))) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 94 + depth: 14 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 115.5039 + standardized fitness: 115.5039 + adjusted fitness: 0.0086 +TREE: + (+ (+ (- (* (* x + (+ (cos (+ (/ (exp (cos (log (cos x)))) + (- (+ (/ 0.76775 + (exp (cos 0.20212))) + (* x + (/ x 0.68630))) x)) + (/ 0.33890 x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) x) + (cos (* (cos (+ (/ (sin (* (/ (sin -0.79677) + (- x x)) + (cos (cos 0.40038)))) -0.97232) + (+ (cos (sin (- x 0.29125))) + (sin (log (+ (exp 0.51091) 0.22707)))))) + (cos x))))) + (/ (* (/ 0.50585 x) 0.59394) + (/ (exp 0.76775) 0.32863))) + (* x + (+ (cos (- x + (+ 0.32863 x))) x))) +=== BEST-OF-RUN === + current generation: 27 + generation: 27 + nodes: 106 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 110.1500 + standardized fitness: 110.1500 + adjusted fitness: 0.0090 +TREE: + (+ (+ (- (* (* x + (+ (cos (+ (/ (exp (cos (- x + (+ 0.32863 x)))) + (- (+ (/ 0.76775 + (exp (cos 0.20212))) + (* x + (/ x 0.68630))) + (sin (log 0.16742)))) + (/ 0.33890 x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) x) + (cos (* (cos (+ (/ (sin (* (/ (sin -0.79677) + (- x x)) + (cos (cos 0.40038)))) -0.97232) + (+ (cos (- (cos x) + (+ (cos 0.19205) + (/ (log -0.58437) + (- x -0.49687))))) + (sin (log (+ (exp 0.51091) 0.22707)))))) + (cos x))))) + (/ (* (/ 0.50585 x) 0.59394) + (/ (exp 0.76775) 0.32863))) + (* x + (+ (cos (- x + (+ 0.32863 x))) x))) +=== BEST-OF-RUN === + current generation: 28 + generation: 28 + nodes: 72 + depth: 14 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 101.4763 + standardized fitness: 101.4763 + adjusted fitness: 0.0098 +TREE: + (+ (+ (- (* (* x + (+ (cos (+ (/ (exp (cos (log (cos x)))) + (- (+ (/ 0.76775 + (exp (cos 0.20212))) + (* x + (/ x 0.68630))) + (sin (log 0.16742)))) + (/ 0.33890 x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) x) + (cos (log (+ (+ x -0.68212) + (/ -0.08893 -0.58423)))))) + (/ (* (/ 0.50585 x) 0.59394) + (/ (exp 0.76775) 0.32863))) + (* x + (+ (cos (cos (cos 0.78785))) x))) +=== BEST-OF-RUN === + current generation: 29 + generation: 29 + nodes: 80 + depth: 17 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 99.7587 + standardized fitness: 99.7587 + adjusted fitness: 0.0099 +TREE: + (+ (+ (- (* (* x + (+ (cos (+ (/ (exp (cos (log (cos x)))) + (- (+ (/ 0.76775 + (exp (- (+ x -0.68212) + (cos (* (cos 0.40038) + (cos x)))))) + (* x + (/ x 0.68630))) + (sin (log 0.16742)))) + (/ 0.33890 x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) x) + (cos (log (+ (+ x -0.68212) + (/ -0.08893 -0.58423)))))) + (/ (* (/ 0.50585 x) 0.59394) + (/ (exp 0.76775) 0.32863))) + (* x + (+ (cos (cos (cos 0.78785))) x))) +=== BEST-OF-RUN === + current generation: 30 + generation: 30 + nodes: 82 + depth: 16 + hits: 9 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 9 + raw fitness: 75.9677 + standardized fitness: 75.9677 + adjusted fitness: 0.0130 +TREE: + (+ (+ (- (* (* x + (+ (cos (+ (/ (exp (cos (log (cos x)))) + (- (+ (/ (+ (log (sin (/ -0.62351 x))) + (+ (* (* 0.93793 x) + (- 0.53334 x)) + (exp (log 0.94330)))) + (exp (cos 0.20212))) + (* x + (/ x 0.68630))) + (sin (log 0.16742)))) + (/ 0.33890 x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) x) 0.32863)) + (/ (* (/ 0.50585 x) 0.59394) + (/ (exp 0.76775) 0.32863))) + (* x + (+ (cos (- x + (+ 0.32863 x))) x))) +=== BEST-OF-RUN === + current generation: 31 + generation: 31 + nodes: 80 + depth: 16 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 67.5809 + standardized fitness: 67.5809 + adjusted fitness: 0.0146 +TREE: + (+ (+ (- (* (* x + (+ (cos (+ (/ (exp (cos -0.64176)) + (- (+ (/ (+ (log (sin (/ -0.62351 x))) + (+ (* (* 0.93793 x) + (- 0.53334 x)) + (exp (log 0.94330)))) + (exp (cos 0.20212))) + (* x + (/ x 0.68630))) + (sin (log 0.16742)))) + (/ 0.33890 x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) x) 0.32863)) + (/ (* (/ 0.50585 x) 0.59394) + (/ (exp 0.76775) 0.32863))) + (* x + (+ (cos (- x + (+ 0.32863 x))) x))) +=== BEST-OF-RUN === + current generation: 32 + generation: 32 + nodes: 65 + depth: 14 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 65.8455 + standardized fitness: 65.8455 + adjusted fitness: 0.0150 +TREE: + (+ (+ (- (* (* x + (+ (cos (+ (/ (exp (cos (- x 0.59394))) + (- (+ (/ 0.76775 + (exp (cos 0.20212))) + (* x + (/ x 0.68630))) + (sin (log 0.16742)))) + (/ 0.33890 x))) x)) + (* x x)) + (sin (/ -0.62351 x))) + (/ (* (/ 0.50585 x) + (- x + (+ 0.32863 x))) + (/ (exp 0.76775) 0.32863))) + (* x + (+ (cos (- x + (+ 0.32863 x))) x))) +=== BEST-OF-RUN === + current generation: 33 + generation: 33 + nodes: 88 + depth: 17 + hits: 4 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 4 + raw fitness: 55.7549 + standardized fitness: 55.7549 + adjusted fitness: 0.0176 +TREE: + (+ (+ (- (* (* x + (+ (cos (+ (/ (exp (cos (log (cos x)))) + (- (+ (/ 0.76775 + (exp (- (+ x -0.68212) + (cos (* (cos 0.40038) + (cos x)))))) + (* x + (/ x 0.68630))) + (sin (log 0.16742)))) + (/ 0.33890 x))) x)) + (* x x)) + (- (* (- x + (+ 0.32863 x)) x) + (cos (log (/ 0.76775 + (exp (cos 0.20212))))))) + (/ (* (/ (- x + (+ 0.32863 x)) x) 0.59394) + (/ (exp 0.76775) 0.32863))) + (* x + (+ (cos (cos (cos (cos (+ (cos (exp (cos x))) x))))) x))) +=== BEST-OF-RUN === + current generation: 34 + generation: 34 + nodes: 33 + depth: 7 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 45.1537 + standardized fitness: 45.1537 + adjusted fitness: 0.0217 +TREE: + (+ (+ (* (* x + (+ (cos (log 0.94330)) x)) + (* x x)) + (/ (* (/ 0.50585 x) 0.59394) + (/ (exp 0.76775) 0.32863))) + (* x + (+ (cos (- x + (+ 0.32863 x))) x))) +=== BEST-OF-RUN === + current generation: 35 + generation: 34 + nodes: 33 + depth: 7 + hits: 8 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 8 + raw fitness: 45.1537 + standardized fitness: 45.1537 + adjusted fitness: 0.0217 +TREE: + (+ (+ (* (* x + (+ (cos (log 0.94330)) x)) + (* x x)) + (/ (* (/ 0.50585 x) 0.59394) + (/ (exp 0.76775) 0.32863))) + (* x + (+ (cos (- x + (+ 0.32863 x))) x))) +=== BEST-OF-RUN === + current generation: 36 + generation: 36 + nodes: 33 + depth: 7 + hits: 19 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 19 + raw fitness: 9.1298 + standardized fitness: 9.1298 + adjusted fitness: 0.0987 +TREE: + (+ (+ (* (* x + (+ (cos (log 0.94330)) x)) + (* x x)) + (/ (* (+ 0.32863 x) 0.59394) + (/ (exp 0.76775) 0.32863))) + (* x + (+ (cos (- x + (+ 0.32863 x))) x))) +=== BEST-OF-RUN === + current generation: 37 + generation: 37 + nodes: 38 + depth: 11 + hits: 24 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 24 + raw fitness: 7.9281 + standardized fitness: 7.9281 + adjusted fitness: 0.1120 +TREE: + (+ (+ (* (* x + (+ (cos (log 0.94330)) x)) + (* x x)) + (/ (* (+ 0.32863 x) 0.59394) + (/ (exp 0.76775) 0.32863))) + (* x + (+ (cos (/ 0.76775 + (exp (cos (cos (sin (* (log -0.00230) 0.32863))))))) x))) +=== BEST-OF-RUN === + current generation: 38 + generation: 38 + nodes: 34 + depth: 7 + hits: 57 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 57 + raw fitness: 5.4993 + standardized fitness: 5.4993 + adjusted fitness: 0.1539 +TREE: + (+ (+ (* (* x + (+ (cos (log 0.94330)) x)) + (* x x)) + (/ (* (+ 0.32863 x) 0.59394) + (/ (exp (cos 0.20212)) 0.32863))) + (* x + (+ (cos (- x + (+ 0.32863 x))) x))) +=== BEST-OF-RUN === + current generation: 39 + generation: 39 + nodes: 32 + depth: 7 + hits: 53 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 53 + raw fitness: 4.5584 + standardized fitness: 4.5584 + adjusted fitness: 0.1799 +TREE: + (+ (+ (* (* x + (+ (cos (log 0.94330)) x)) + (* x x)) + (/ (* x 0.59394) + (/ (exp (cos 0.20212)) 0.32863))) + (* x + (+ (cos (- x + (+ 0.32863 x))) x))) +=== BEST-OF-RUN === + current generation: 40 + generation: 39 + nodes: 32 + depth: 7 + hits: 53 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 53 + raw fitness: 4.5584 + standardized fitness: 4.5584 + adjusted fitness: 0.1799 +TREE: + (+ (+ (* (* x + (+ (cos (log 0.94330)) x)) + (* x x)) + (/ (* x 0.59394) + (/ (exp (cos 0.20212)) 0.32863))) + (* x + (+ (cos (- x + (+ 0.32863 x))) x))) +=== BEST-OF-RUN === + current generation: 41 + generation: 39 + nodes: 32 + depth: 7 + hits: 53 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 53 + raw fitness: 4.5584 + standardized fitness: 4.5584 + adjusted fitness: 0.1799 +TREE: + (+ (+ (* (* x + (+ (cos (log 0.94330)) x)) + (* x x)) + (/ (* x 0.59394) + (/ (exp (cos 0.20212)) 0.32863))) + (* x + (+ (cos (- x + (+ 0.32863 x))) x))) +=== BEST-OF-RUN === + current generation: 42 + generation: 42 + nodes: 62 + depth: 15 + hits: 41 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 41 + raw fitness: 3.9402 + standardized fitness: 3.9402 + adjusted fitness: 0.2024 +TREE: + (+ (+ (* (* x + (+ (+ (log (cos (- x x))) + (cos -0.01177)) x)) + (* x x)) + (/ (* (+ 0.32863 x) 0.59394) + (/ (exp 0.76775) 0.32863))) + (* x + (+ (cos (/ 0.76775 + (exp (cos (cos (sin (+ (/ (exp (cos (log (* -0.79930 x)))) + (- (- x x) + (- (/ (exp 0.76775) 0.32863) + (sin (log 0.16742))))) + (/ 0.33890 x)))))))) x))) +=== BEST-OF-RUN === + current generation: 43 + generation: 43 + nodes: 95 + depth: 12 + hits: 169 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 169 + raw fitness: 0.8629 + standardized fitness: 0.8629 + adjusted fitness: 0.5368 +TREE: + (+ (+ (* (* x + (+ (cos (log (* (log (- x x)) + (/ 0.33890 x)))) x)) + (* x x)) + (/ (* (/ (cos (* (+ (sin (* (/ (sin -0.79677) + (- x x)) + (cos 0.78785))) 0.26713) + (/ 0.76775 + (/ 0.76775 + (exp (cos 0.20212)))))) + (- (+ (log 0.16742) + (* x + (/ x + (cos 0.40038)))) + (+ (* (* x + (+ (cos (log 0.94330)) x)) + (* x x)) + (/ (* (+ 0.32863 x) 0.59394) + (/ (exp 0.76775) 0.32863))))) 0.59394) + (/ (exp (exp (cos (cos (/ (exp 0.76775) x))))) 0.32863))) + (* x + (+ (cos (sin (log -0.98785))) x))) +=== BEST-OF-RUN === + current generation: 44 + generation: 44 + nodes: 105 + depth: 13 + hits: 182 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 182 + raw fitness: 0.5474 + standardized fitness: 0.5474 + adjusted fitness: 0.6463 +TREE: + (+ (+ (* (* x + (+ (cos (log (* (log (- x x)) + (/ 0.33890 x)))) x)) + (* x x)) + (/ (* (/ (cos (* (+ (sin (* (/ (sin -0.79677) + (- x x)) + (cos 0.78785))) 0.26713) + (/ 0.76775 + (/ 0.76775 + (exp (cos 0.20212)))))) + (- (+ (log 0.16742) + (/ (* (/ (* (* x x) + (cos (cos 0.40038))) x) 0.59394) + (/ (exp 0.76775) 0.32863))) + (+ (* (* x + (+ (cos (log 0.94330)) x)) + (* x x)) + (/ (* (+ 0.32863 x) 0.59394) + (/ (exp 0.76775) 0.32863))))) 0.59394) + (/ (exp (exp (cos (cos (/ (exp 0.76775) x))))) 0.32863))) + (* x + (+ (cos (sin (log -0.98785))) x))) +=== BEST-OF-RUN === + current generation: 45 + generation: 45 + nodes: 104 + depth: 17 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0358 + standardized fitness: 0.0358 + adjusted fitness: 0.9654 +TREE: + (+ (+ (* (* x + (+ (cos (log (* (log (- x x)) + (/ 0.33890 x)))) x)) + (* x x)) + (/ (* (/ (cos (* (+ (sin (/ (cos x) + (* (exp (log (- x + (/ (* (* x x) 0.59394) 0.58310)))) + (- (cos x) + (- 0.30709 -0.48089))))) 0.26713) + (/ 0.76775 + (/ 0.76775 + (exp (cos 0.20212)))))) + (- (+ (log 0.16742) + (* x + (/ x + (cos 0.40038)))) + (+ (* (* x + (+ (cos (log 0.94330)) x)) + (* x x)) + (/ (* (+ 0.32863 x) 0.59394) + (/ (exp 0.76775) 0.32863))))) 0.59394) + (/ (exp (exp (exp (cos 0.20212)))) 0.32863))) + (* x + (+ (cos (sin (log -0.98785))) x))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.prg b/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.prg new file mode 100644 index 0000000..79b5f51 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 0.00943, y = 0.00952 + x = 4.30436, y = 445.84978 + x = -1.21118, y = 0.63099 + x = 1.13232, y = 5.51021 + x = 4.13424, y = 384.02245 + x = 2.70733, y = 83.60459 + x = 3.40759, y = 189.41854 + x = 4.39512, y = 481.76184 + x = 0.27680, y = 0.38050 + x = 2.80655, y = 94.83233 + x = -1.58274, y = 3.23281 + x = 4.06582, y = 361.07842 + x = -1.84526, y = 6.87049 + x = -3.11468, y = 70.48402 + x = 3.95024, y = 324.69171 + x = 1.41871, y = 10.33799 + x = -2.80673, y = 45.01874 + x = 0.98475, y = 3.84978 + x = -0.03070, y = -0.02979 + x = -0.64546, y = -0.32418 + x = -4.77154, y = 427.72290 + x = 3.82344, y = 288.04313 + x = -0.28149, y = -0.21828 + x = 0.10718, y = 0.12004 + x = 4.46625, y = 511.39987 + x = -0.14170, y = -0.12407 + x = 2.25379, y = 44.58340 + x = -1.12745, y = 0.32634 + x = 0.49552, y = 0.92303 + x = -3.50513, y = 116.66137 + x = 2.17837, y = 39.77875 + x = -0.86814, y = -0.20075 + x = 4.60625, y = 573.73918 + x = -3.04591, y = 64.04628 + x = -2.04399, y = 11.04919 + x = 0.66230, y = 1.58384 + x = 0.40158, y = 0.65361 + x = -3.07629, y = 66.83331 + x = -0.53517, y = -0.32001 + x = -0.77879, y = -0.27677 + x = -3.96475, y = 196.52642 + x = -1.89889, y = 7.86166 + x = -3.28899, y = 88.96672 + x = 1.77389, y = 20.40404 + x = -0.94251, y = -0.10231 + x = 1.81607, y = 21.98123 + x = 2.09067, y = 34.70451 + x = -1.29962, y = 1.04711 + x = -0.24549, y = -0.19639 + x = -3.41069, y = 103.86840 + x = 4.02543, y = 348.03100 + x = -0.42793, y = -0.28963 + x = -3.85226, y = 174.04312 + x = 3.35647, y = 179.35532 + x = -2.95581, y = 56.28879 + x = -4.12243, y = 231.62404 + x = 4.69811, y = 617.65378 + x = -3.16527, y = 75.51997 + x = -1.82368, y = 6.49801 + x = -1.52806, y = 2.69097 + x = -2.69425, y = 37.69987 + x = 1.48388, y = 11.80150 + x = -0.06971, y = -0.06517 + x = -3.94441, y = 192.30784 + x = 1.77130, y = 20.31019 + x = -4.68385, y = 395.79240 + x = 2.35480, y = 51.70569 + x = 1.38085, y = 9.55631 + x = 2.82783, y = 97.38412 + x = -2.86583, y = 49.26336 + x = 4.32804, y = 455.01616 + x = 3.49290, y = 207.15619 + x = -3.76976, y = 158.82420 + x = -1.62001, y = 3.64046 + x = 0.32910, y = 0.48479 + x = 0.65639, y = 1.55565 + x = 2.67570, y = 80.24830 + x = 1.36204, y = 9.18560 + x = -1.93700, y = 8.62472 + x = 3.58867, y = 228.54213 + x = 0.16018, y = 0.19061 + x = 0.41906, y = 0.69909 + x = -4.30376, y = 277.58111 + x = -2.97642, y = 57.99755 + x = 4.18912, y = 403.20794 + x = -4.30551, y = 278.05360 + x = 4.20157, y = 407.66137 + x = 3.55065, y = 219.86148 + x = 0.18279, y = 0.22343 + x = -2.36015, y = 21.09157 + x = 3.30749, y = 170.10186 + x = 4.02073, y = 346.53389 + x = -0.90412, y = -0.15755 + x = -2.66934, y = 36.20679 + x = -0.10682, y = -0.09650 + x = -2.45765, y = 25.22021 + x = -3.12913, y = 71.89647 + x = 3.33103, y = 174.50207 + x = -3.55522, y = 123.90647 + x = 3.40110, y = 188.11776 + x = 4.14037, y = 386.12920 + x = -4.27137, y = 268.90928 + x = -4.36262, y = 293.87360 + x = 1.16583, y = 5.95691 + x = 1.42913, y = 10.56180 + x = -1.39362, y = 1.61397 + x = -1.12416, y = 0.31597 + x = 4.12416, y = 380.57551 + x = 4.16735, y = 395.51332 + x = -3.65031, y = 138.58377 + x = -3.32400, y = 93.07805 + x = -3.85254, y = 174.09675 + x = 1.65194, y = 16.33579 + x = -4.46354, y = 323.46487 + x = 0.16445, y = 0.19668 + x = -1.71497, y = 4.83244 + x = -2.61200, y = 32.93706 + x = -2.40038, y = 22.72933 + x = 1.16242, y = 5.91007 + x = -0.77105, y = -0.28148 + x = 3.44529, y = 197.10781 + x = 4.02378, y = 347.50469 + x = -0.06393, y = -0.06009 + x = 4.42673, y = 494.77065 + x = -2.00620, y = 10.14326 + x = 3.59941, y = 231.03881 + x = 2.85552, y = 100.78128 + x = 0.06440, y = 0.06884 + x = 1.95086, y = 27.66607 + x = -3.27727, y = 87.62225 + x = -3.21945, y = 81.20688 + x = 3.55154, y = 220.06133 + x = 2.19469, y = 40.78282 + x = -3.28669, y = 88.70266 + x = 1.91267, y = 25.95149 + x = -0.98728, y = -0.02480 + x = 3.76711, y = 272.80661 + x = -4.84022, y = 454.05223 + x = 1.85913, y = 23.68766 + x = 0.90409, y = 3.12854 + x = 3.30649, y = 169.91696 + x = 1.60195, y = 14.86471 + x = -2.61176, y = 32.92407 + x = -4.04616, y = 214.10699 + x = -0.80543, y = -0.25837 + x = 4.28371, y = 437.97024 + x = -0.91535, y = -0.14241 + x = -0.33085, y = -0.24562 + x = 4.33686, y = 458.46862 + x = 1.29377, y = 7.93492 + x = -0.31317, y = -0.23619 + x = 1.80646, y = 21.61396 + x = -3.61984, y = 133.74639 + x = 4.72206, y = 629.50385 + x = 1.62056, y = 15.39957 + x = -4.41118, y = 307.84504 + x = -1.46606, y = 2.15187 + x = 3.92407, y = 316.85552 + x = 4.25316, y = 426.50482 + x = -2.58360, y = 31.40115 + x = -0.16074, y = -0.13839 + x = -1.28394, y = 0.96553 + x = -2.73497, y = 40.23840 + x = -1.73674, y = 5.13890 + x = -1.95680, y = 9.04128 + x = 0.07405, y = 0.07997 + x = 3.75922, y = 270.72172 + x = 0.69810, y = 1.76317 + x = 1.34189, y = 8.80134 + x = 0.88074, y = 2.94136 + x = 4.20037, y = 407.23176 + x = 2.71886, y = 84.85371 + x = -1.73724, y = 5.14605 + x = 4.86865, y = 705.84340 + x = 4.54212, y = 544.51382 + x = -3.36118, y = 97.59690 + x = 2.64362, y = 76.94988 + x = 0.21401, y = 0.27172 + x = -2.19382, y = 15.22406 + x = -2.59502, y = 32.01240 + x = 0.06547, y = 0.07005 + x = 3.93145, y = 319.05060 + x = 0.81125, y = 2.43638 + x = -0.46554, y = -0.30274 + x = 1.88346, y = 24.69672 + x = 3.06448, y = 129.42651 + x = 1.28651, y = 7.81028 + x = -1.06857, y = 0.15693 + x = 3.67010, y = 248.00666 + x = -3.16138, y = 75.12349 + x = 0.25350, y = 0.33818 + x = -1.93099, y = 8.50092 + x = -1.18212, y = 0.51612 + x = -4.02161, y = 208.68687 + x = 1.70371, y = 17.97695 + x = -4.41237, y = 308.19301 + x = -1.66082, y = 4.12473 + x = -2.48041, y = 26.26381 + x = -3.58828, y = 128.87099 + x = -2.44426, y = 24.62059 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.stt b/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.stt new file mode 100644 index 0000000..aa3a5a0 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.stt @@ -0,0 +1,47 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 12.891 3.639 21 4 10 5 0.0000 0.0001 0.0000 12.891 3.639 21 4 10 5 +1 0 0.0000 0.0001 0.0000 12.270 3.861 13 6 5 3 0.0000 0.0001 0.0000 12.580 3.750 13 6 10 5 +2 0 0.0000 0.0002 0.0000 12.414 4.013 20 10 13 5 0.0000 0.0002 0.0000 12.525 3.838 20 10 10 5 +3 0 0.0000 0.0002 0.0000 12.451 4.152 20 10 39 9 0.0000 0.0002 0.0000 12.506 3.916 20 10 10 5 +4 0 0.0000 0.0002 0.0000 12.468 4.233 20 10 5 3 0.0000 0.0002 0.0000 12.499 3.980 20 10 10 5 +5 0 0.0000 0.0003 0.0000 12.474 4.337 22 11 27 9 0.0000 0.0003 0.0000 12.495 4.039 22 11 10 5 +6 0 0.0000 0.0003 0.0000 12.518 4.459 19 10 16 6 0.0000 0.0003 0.0000 12.498 4.099 19 10 10 5 +7 0 0.0000 0.0004 0.0000 12.534 4.589 20 10 5 3 0.0000 0.0004 0.0000 12.502 4.160 20 10 10 5 +8 0 0.0000 0.0006 0.0000 12.935 4.801 9 3 31 9 0.0000 0.0006 0.0000 12.551 4.232 9 3 10 5 +9 0 0.0000 0.0006 0.0000 13.875 5.224 9 3 33 9 0.0000 0.0006 0.0000 12.683 4.331 9 3 10 5 +10 0 0.0001 0.0006 0.0000 15.208 5.806 9 3 12 5 0.0000 0.0006 0.0000 12.913 4.465 9 3 10 5 +11 0 0.0001 0.0007 0.0000 17.776 7.021 63 10 28 12 0.0000 0.0007 0.0000 13.318 4.678 63 10 10 5 +12 0 0.0001 0.0007 0.0000 21.162 8.470 65 10 21 12 0.0001 0.0007 0.0000 13.921 4.970 65 10 10 5 +13 0 0.0001 0.0012 0.0000 24.691 9.847 63 10 8 5 0.0001 0.0012 0.0000 14.691 5.318 63 10 10 5 +14 0 0.0002 0.0012 0.0000 27.830 10.861 63 10 6 4 0.0001 0.0012 0.0000 15.567 5.688 63 10 10 5 +15 0 0.0002 0.0019 0.0000 30.382 11.290 64 11 10 5 0.0001 0.0019 0.0000 16.492 6.038 64 11 10 5 +16 0 0.0002 0.0019 0.0000 33.759 11.507 64 11 26 14 0.0001 0.0019 0.0000 17.508 6.360 64 11 10 5 +17 0 0.0003 0.0025 0.0000 40.465 11.638 63 11 26 8 0.0001 0.0025 0.0000 18.784 6.653 63 11 10 5 +18 0 0.0004 0.0028 0.0000 51.250 11.901 73 17 21 9 0.0001 0.0028 0.0000 20.492 6.929 73 17 10 5 +19 0 0.0006 0.0033 0.0000 62.092 12.122 84 13 15 8 0.0001 0.0033 0.0000 22.572 7.189 84 13 10 5 +20 0 0.0007 0.0033 0.0000 68.479 12.459 90 15 99 14 0.0002 0.0033 0.0000 24.758 7.440 90 15 10 5 +21 0 0.0008 0.0037 0.0000 72.169 12.678 87 13 103 16 0.0002 0.0037 0.0000 26.913 7.678 87 13 10 5 +22 0 0.0009 0.0038 0.0000 74.300 12.795 73 11 66 15 0.0002 0.0038 0.0000 28.974 7.900 73 11 10 5 +23 0 0.0010 0.0044 0.0000 75.874 12.964 74 12 90 16 0.0003 0.0044 0.0000 30.928 8.111 74 12 10 5 +24 0 0.0011 0.0044 0.0000 77.064 13.032 74 12 106 16 0.0003 0.0044 0.0000 32.773 8.308 74 12 10 5 +25 0 0.0012 0.0072 0.0000 78.686 13.173 96 14 90 15 0.0003 0.0072 0.0000 34.539 8.495 96 14 10 5 +26 0 0.0013 0.0086 0.0000 80.362 13.298 94 14 59 16 0.0004 0.0086 0.0000 36.236 8.673 94 14 10 5 +27 0 0.0015 0.0090 0.0000 81.949 13.371 106 14 74 14 0.0004 0.0090 0.0000 37.869 8.841 106 14 10 5 +28 0 0.0016 0.0098 0.0000 83.558 13.498 72 14 13 7 0.0004 0.0098 0.0000 39.444 9.001 72 14 10 5 +29 0 0.0019 0.0099 0.0000 86.010 13.665 80 17 68 15 0.0005 0.0099 0.0000 40.997 9.157 80 17 10 5 +30 0 0.0022 0.0130 0.0000 88.115 13.709 82 16 171 15 0.0005 0.0130 0.0000 42.517 9.304 82 16 10 5 +31 0 0.0027 0.0146 0.0000 90.180 13.891 80 16 91 15 0.0006 0.0146 0.0000 44.006 9.447 80 16 10 5 +32 0 0.0033 0.0150 0.0000 92.545 14.089 65 14 107 17 0.0007 0.0150 0.0000 45.477 9.588 65 14 10 5 +33 0 0.0039 0.0176 0.0000 94.433 14.404 88 17 157 17 0.0008 0.0176 0.0000 46.917 9.729 88 17 10 5 +34 0 0.0043 0.0217 0.0000 96.153 14.534 33 7 77 12 0.0009 0.0217 0.0000 48.324 9.867 33 7 10 5 +35 0 0.0046 0.0217 0.0000 97.286 14.619 33 7 92 14 0.0010 0.0217 0.0000 49.684 9.999 33 7 10 5 +36 0 0.0046 0.0987 0.0000 98.176 14.607 33 7 70 13 0.0011 0.0987 0.0000 50.994 10.123 33 7 10 5 +37 0 0.0050 0.1120 0.0000 101.010 14.738 38 11 99 16 0.0012 0.1120 0.0000 52.310 10.245 38 11 10 5 +38 0 0.0056 0.1539 0.0000 101.574 14.694 34 7 90 14 0.0013 0.1539 0.0000 53.574 10.359 34 7 10 5 +39 0 0.0067 0.1799 0.0000 98.799 14.397 32 7 103 16 0.0014 0.1799 0.0000 54.704 10.460 32 7 10 5 +40 0 0.0092 0.1799 0.0000 92.606 13.975 32 7 132 16 0.0016 0.1799 0.0000 55.629 10.545 32 7 10 5 +41 0 0.0145 0.1799 0.0000 80.731 13.514 32 7 59 12 0.0019 0.1799 0.0000 56.226 10.616 32 7 10 5 +42 0 0.0213 0.2024 0.0000 66.210 12.864 62 15 88 14 0.0024 0.2024 0.0000 56.458 10.668 62 15 10 5 +43 0 0.0301 0.5368 0.0000 59.249 12.818 95 12 56 13 0.0030 0.5368 0.0000 56.522 10.717 95 12 10 5 +44 0 0.0394 0.6463 0.0000 56.874 13.024 105 13 63 16 0.0038 0.6463 0.0000 56.530 10.769 105 13 10 5 +45 0 0.0566 0.9654 0.0000 58.431 13.116 104 17 36 10 0.0050 0.9654 0.0000 56.571 10.820 104 17 10 5 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.sys b/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.sys new file mode 100644 index 0000000..4654861 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_4/regress.sys @@ -0,0 +1,188 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 1594. +creating initial population(s): + 5640 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 257840577 + freed: 256938237 + not freed: 902340 + max allocated: 11457521 + malloc'ed blocks: 669349 + realloc'ed blocks: 11 + free'ed blocks: 669214 + +------- time ------- + overall: 4s wall + evaluation: 4s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 400 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 31385 + freed: 31385 + allocated: 13500 + blocks: 26 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.bst b/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.bst new file mode 100644 index 0000000..a23b3f3 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.bst @@ -0,0 +1,29 @@ +=== BEST-OF-RUN === + generation: 31 + nodes: 25 + depth: 8 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (* (* x + (- x + (- (- (/ (- x x) + (* x + (- (- (/ (sin -0.35838) x) + (* x x)) + (- (/ (log (sin (* x x))) + (/ 0.82606 x)) + (sin (exp (cos (sin (log (/ -0.74506 0.76407)))))))))) + (+ (/ x x) + (/ (/ x x) x))) + (* x x)))) x) +TREE-equ: +y = ((x * (x - ((((x - x) / (x * (((sin(-0.35838) / x) - (x * x)) - ((log(sin((x * x))) / (0.82606 / x)) - sin(exp(cos(sin(log((-0.74506 / 0.76407)))))))))) - ((x / x) + ((x / x) / x))) - (x * x)))) * x) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.fn b/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.fn new file mode 100644 index 0000000..8287311 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.fn @@ -0,0 +1,2 @@ + +y = ((x * (x - ((((x - x) / (x * (((sin(-0.35838) / x) - (x * x)) - ((log(sin((x * x))) / (0.82606 / x)) - sin(exp(cos(sin(log((-0.74506 / 0.76407)))))))))) - ((x / x) + ((x / x) / x))) - (x * x)))) * x) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.gen b/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.his b/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.his new file mode 100644 index 0000000..2f941db --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.his @@ -0,0 +1,743 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 8 + depth: 3 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 6886.1808 + standardized fitness: 6886.1808 + adjusted fitness: 0.0001 +TREE: + (* (/ (log x) + (/ 0.08965 x)) x) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 8 + depth: 3 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 6886.1808 + standardized fitness: 6886.1808 + adjusted fitness: 0.0001 +TREE: + (* (/ (log x) + (/ 0.08965 x)) x) +=== BEST-OF-RUN === + current generation: 2 + generation: 0 + nodes: 8 + depth: 3 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 6886.1808 + standardized fitness: 6886.1808 + adjusted fitness: 0.0001 +TREE: + (* (/ (log x) + (/ 0.08965 x)) x) +=== BEST-OF-RUN === + current generation: 3 + generation: 0 + nodes: 8 + depth: 3 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 6886.1808 + standardized fitness: 6886.1808 + adjusted fitness: 0.0001 +TREE: + (* (/ (log x) + (/ 0.08965 x)) x) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 24 + depth: 4 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 6672.3508 + standardized fitness: 6672.3508 + adjusted fitness: 0.0001 +TREE: + (/ (+ (/ (* x x) + (/ -0.46030 x)) + (log -0.45036)) + (/ (- (exp -0.94614) + (/ 0.55565 0.40093)) + (- (sin x) + (* x -0.69090)))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 11 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5238.9407 + standardized fitness: 5238.9407 + adjusted fitness: 0.0002 +TREE: + (- (exp (log (* x + (exp x)))) + (/ x + (exp x))) +=== BEST-OF-RUN === + current generation: 6 + generation: 5 + nodes: 11 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5238.9407 + standardized fitness: 5238.9407 + adjusted fitness: 0.0002 +TREE: + (- (exp (log (* x + (exp x)))) + (/ x + (exp x))) +=== BEST-OF-RUN === + current generation: 7 + generation: 5 + nodes: 11 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5238.9407 + standardized fitness: 5238.9407 + adjusted fitness: 0.0002 +TREE: + (- (exp (log (* x + (exp x)))) + (/ x + (exp x))) +=== BEST-OF-RUN === + current generation: 8 + generation: 5 + nodes: 11 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5238.9407 + standardized fitness: 5238.9407 + adjusted fitness: 0.0002 +TREE: + (- (exp (log (* x + (exp x)))) + (/ x + (exp x))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 14 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1122.2377 + standardized fitness: 1122.2377 + adjusted fitness: 0.0009 +TREE: + (* (* x + (- (+ 0.45717 x) + (- (sin x) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 14 + depth: 5 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 690.3496 + standardized fitness: 690.3496 + adjusted fitness: 0.0014 +TREE: + (* (* x + (- (+ 0.45717 x) + (- (cos x) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 15 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 628.8371 + standardized fitness: 628.8371 + adjusted fitness: 0.0016 +TREE: + (* (* x + (- (+ 0.45717 x) + (- (sin (cos x)) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 25 + depth: 8 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 448.4438 + standardized fitness: 448.4438 + adjusted fitness: 0.0022 +TREE: + (* (* x + (- (+ 0.45717 x) + (- (- (/ (/ -0.34518 -0.75873) x) + (+ (cos (exp -0.47848)) + (/ 0.82606 x))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 29 + depth: 9 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 281.0330 + standardized fitness: 281.0330 + adjusted fitness: 0.0035 +TREE: + (* (* x + (- (+ 0.45717 x) + (- (- (/ (/ (cos (sin x)) -0.75873) + (log (log (sin 0.07944)))) + (+ (cos x) + (/ 0.82606 x))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 28 + depth: 10 + hits: 7 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 7 + raw fitness: 240.4887 + standardized fitness: 240.4887 + adjusted fitness: 0.0041 +TREE: + (* (* x + (- (+ 0.45717 x) + (- (- (/ (sin -0.36526) x) + (+ (cos (cos (+ (log x) + (log x)))) + (/ 0.82606 x))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 20 + depth: 7 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 83.0783 + standardized fitness: 83.0783 + adjusted fitness: 0.0119 +TREE: + (* (* x + (- (+ 0.45717 x) + (- (- 0.45717 + (+ (/ 0.82606 x) + (cos 0.06888))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 16 + generation: 15 + nodes: 20 + depth: 7 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 83.0783 + standardized fitness: 83.0783 + adjusted fitness: 0.0119 +TREE: + (* (* x + (- (+ 0.45717 x) + (- (- 0.45717 + (+ (/ 0.82606 x) + (cos 0.06888))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 17 + generation: 15 + nodes: 20 + depth: 7 + hits: 5 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 5 + raw fitness: 83.0783 + standardized fitness: 83.0783 + adjusted fitness: 0.0119 +TREE: + (* (* x + (- (+ 0.45717 x) + (- (- 0.45717 + (+ (/ 0.82606 x) + (cos 0.06888))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 26 + depth: 9 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 81.9200 + standardized fitness: 81.9200 + adjusted fitness: 0.0121 +TREE: + (* (* x + (- (+ 0.45717 x) + (- (- (/ (log -0.99758) x) + (+ (cos (cos (/ -0.03410 x))) + (/ 0.82606 x))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 19 + generation: 18 + nodes: 26 + depth: 9 + hits: 6 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 6 + raw fitness: 81.9200 + standardized fitness: 81.9200 + adjusted fitness: 0.0121 +TREE: + (* (* x + (- (+ 0.45717 x) + (- (- (/ (log -0.99758) x) + (+ (cos (cos (/ -0.03410 x))) + (/ 0.82606 x))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 55 + depth: 17 + hits: 13 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 13 + raw fitness: 60.6717 + standardized fitness: 60.6717 + adjusted fitness: 0.0162 +TREE: + (* (* x + (- x + (- (- (/ (/ (/ 0.82606 x) -0.75873) + (* x + (- (- x + (sin (- (cos 0.75457) + (exp (exp (log (/ (cos (exp 0.31527)) + (+ (log -0.89139) + (sin -0.32496))))))))) + (- (/ (log (sin (* x x))) x) + (/ 0.82606 x))))) + (+ (cos -0.18805) + (/ 0.82606 x))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 40 + depth: 13 + hits: 11 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 11 + raw fitness: 47.9454 + standardized fitness: 47.9454 + adjusted fitness: 0.0204 +TREE: + (* (* x + (- x + (- (- (/ (/ -0.34518 -0.75873) + (* x + (- (- x x) + (exp (+ (exp (* x -0.08718)) + (sin (+ (sin x) + (/ -0.41395 x)))))))) + (+ (cos -0.18805) + (/ 0.82606 x))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 22 + generation: 22 + nodes: 34 + depth: 13 + hits: 29 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 29 + raw fitness: 26.7386 + standardized fitness: 26.7386 + adjusted fitness: 0.0361 +TREE: + (* (* x + (- x + (- (- (/ (/ -0.34518 -0.75873) + (* x + (- (- x x) + (exp (cos (sin (log (/ -0.74506 0.76407)))))))) + (+ (cos -0.18805) + (/ 0.82606 x))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 23 + generation: 22 + nodes: 34 + depth: 13 + hits: 29 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 29 + raw fitness: 26.7386 + standardized fitness: 26.7386 + adjusted fitness: 0.0361 +TREE: + (* (* x + (- x + (- (- (/ (/ -0.34518 -0.75873) + (* x + (- (- x x) + (exp (cos (sin (log (/ -0.74506 0.76407)))))))) + (+ (cos -0.18805) + (/ 0.82606 x))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 41 + depth: 14 + hits: 14 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 14 + raw fitness: 16.6328 + standardized fitness: 16.6328 + adjusted fitness: 0.0567 +TREE: + (* (* x + (- x + (- (- (/ (/ -0.34518 -0.75873) + (* x + (- (+ (log -0.89139) + (sin -0.32496)) + (exp (exp (/ (/ (+ (cos -0.18805) + (/ 0.82606 x)) x) -0.75873)))))) + (+ (cos -0.18805) + (/ 0.82606 x))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 25 + generation: 24 + nodes: 41 + depth: 14 + hits: 14 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 14 + raw fitness: 16.6328 + standardized fitness: 16.6328 + adjusted fitness: 0.0567 +TREE: + (* (* x + (- x + (- (- (/ (/ -0.34518 -0.75873) + (* x + (- (+ (log -0.89139) + (sin -0.32496)) + (exp (exp (/ (/ (+ (cos -0.18805) + (/ 0.82606 x)) x) -0.75873)))))) + (+ (cos -0.18805) + (/ 0.82606 x))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 26 + generation: 24 + nodes: 41 + depth: 14 + hits: 14 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 14 + raw fitness: 16.6328 + standardized fitness: 16.6328 + adjusted fitness: 0.0567 +TREE: + (* (* x + (- x + (- (- (/ (/ -0.34518 -0.75873) + (* x + (- (+ (log -0.89139) + (sin -0.32496)) + (exp (exp (/ (/ (+ (cos -0.18805) + (/ 0.82606 x)) x) -0.75873)))))) + (+ (cos -0.18805) + (/ 0.82606 x))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 27 + generation: 27 + nodes: 38 + depth: 14 + hits: 11 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 11 + raw fitness: 16.1963 + standardized fitness: 16.1963 + adjusted fitness: 0.0582 +TREE: + (* (* x + (- x + (- (- (/ (/ -0.34518 -0.75873) + (* x + (- (sin -0.32496) + (exp (exp (/ (/ (+ (cos -0.18805) + (/ 0.82606 x)) x) -0.75873)))))) + (+ (cos -0.18805) + (/ 0.82606 x))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 28 + generation: 27 + nodes: 38 + depth: 14 + hits: 11 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 11 + raw fitness: 16.1963 + standardized fitness: 16.1963 + adjusted fitness: 0.0582 +TREE: + (* (* x + (- x + (- (- (/ (/ -0.34518 -0.75873) + (* x + (- (sin -0.32496) + (exp (exp (/ (/ (+ (cos -0.18805) + (/ 0.82606 x)) x) -0.75873)))))) + (+ (cos -0.18805) + (/ 0.82606 x))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 29 + generation: 29 + nodes: 53 + depth: 17 + hits: 24 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 24 + raw fitness: 8.6551 + standardized fitness: 8.6551 + adjusted fitness: 0.1036 +TREE: + (* (* x + (- x + (- (- (/ (/ (cos (exp 0.31527)) + (+ -0.32496 + (sin -0.32496))) + (* x + (- (- (+ 0.45717 x) + (sin (- (cos 0.75457) + (exp (exp (log (/ (cos (exp 0.31527)) + (+ (log -0.89139) + (sin -0.32496))))))))) + (+ x -0.77163)))) + (+ (log (exp 0.99904)) + (/ 0.82606 x))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 30 + generation: 30 + nodes: 53 + depth: 17 + hits: 143 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 143 + raw fitness: 1.7242 + standardized fitness: 1.7242 + adjusted fitness: 0.3671 +TREE: + (* (* x + (- x + (- (- (/ (/ (cos (exp 0.31527)) + (+ -0.32496 + (sin -0.32496))) + (* x + (- (- (+ 0.45717 x) + (sin (- (cos 0.75457) + (exp (exp (log (/ (cos (exp 0.31527)) + (+ (cos -0.18805) + (sin -0.32496))))))))) + (+ x -0.77163)))) + (+ (log (exp 0.99904)) + (/ 0.82606 x))) + (* x x)))) x) +=== BEST-OF-RUN === + current generation: 31 + generation: 31 + nodes: 25 + depth: 8 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (* (* x + (- x + (- (- (/ (- x x) + (* x + (- (- (/ (sin -0.35838) x) + (* x x)) + (- (/ (log (sin (* x x))) + (/ 0.82606 x)) + (sin (exp (cos (sin (log (/ -0.74506 0.76407)))))))))) + (+ (/ x x) + (/ (/ x x) x))) + (* x x)))) x) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.prg b/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.prg new file mode 100644 index 0000000..6810c6b --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 0.02060, y = 0.02103 + x = 1.95345, y = 27.78523 + x = 4.11625, y = 377.88719 + x = -2.79586, y = 44.26915 + x = -1.22779, y = 0.70130 + x = 3.61826, y = 235.47523 + x = -4.17066, y = 243.24169 + x = -4.81479, y = 444.16296 + x = -1.64379, y = 3.91769 + x = 3.11408, y = 137.05253 + x = -2.29593, y = 18.65946 + x = -3.92569, y = 188.48720 + x = -2.93178, y = 54.34337 + x = -1.24613, y = 0.78300 + x = -2.93110, y = 54.28940 + x = -4.29880, y = 276.24040 + x = -4.79555, y = 436.79285 + x = 1.49671, y = 12.10785 + x = -3.09971, y = 69.04321 + x = -1.15457, y = 0.41635 + x = -4.63339, y = 378.25124 + x = -3.61732, y = 133.35299 + x = 4.43739, y = 499.21330 + x = 0.61528, y = 1.37009 + x = -0.56052, y = -0.32373 + x = 4.23039, y = 418.10662 + x = 3.77986, y = 276.19895 + x = 1.83138, y = 22.57685 + x = -2.72300, y = 39.47938 + x = 3.82602, y = 288.75525 + x = -2.31812, y = 19.47524 + x = -3.40041, y = 102.54171 + x = 0.88919, y = 3.00804 + x = -3.37666, y = 99.52710 + x = -3.87088, y = 177.62431 + x = -3.08840, y = 67.96962 + x = -2.23265, y = 16.47049 + x = 4.30159, y = 444.78769 + x = 2.65088, y = 77.68716 + x = 0.28960, y = 0.40480 + x = -0.32286, y = -0.24141 + x = -0.51184, y = -0.31532 + x = 0.06014, y = 0.06399 + x = -2.88763, y = 50.90165 + x = 3.17506, y = 146.88972 + x = -2.63651, y = 34.30667 + x = -2.72622, y = 39.68307 + x = 1.19419, y = 6.35705 + x = -2.06732, y = 11.63652 + x = -4.27670, y = 270.32145 + x = 1.93586, y = 26.98249 + x = -2.98573, y = 58.78237 + x = -0.41088, y = -0.28292 + x = -0.32922, y = -0.24477 + x = 3.46056, y = 200.29053 + x = -1.57900, y = 3.19363 + x = -3.93574, y = 190.53154 + x = 2.49291, y = 62.82164 + x = -3.92498, y = 188.34298 + x = -3.13939, y = 72.91167 + x = 0.85091, y = 2.71532 + x = -3.47225, y = 112.08042 + x = -2.46567, y = 25.58419 + x = 3.06661, y = 129.74614 + x = -1.56305, y = 3.03023 + x = 3.21591, y = 153.77505 + x = 1.01416, y = 4.14366 + x = 4.95585, y = 754.45272 + x = 0.57881, y = 1.21999 + x = 4.70541, y = 621.24595 + x = 3.42742, y = 193.43414 + x = -0.98974, y = -0.02010 + x = -1.43598, y = 1.91699 + x = -3.82301, y = 168.52763 + x = 1.90957, y = 25.81580 + x = 3.35234, y = 178.56246 + x = 1.79356, y = 21.12818 + x = -0.23339, y = -0.18867 + x = 2.15472, y = 38.35715 + x = -3.98153, y = 200.05701 + x = 3.16613, y = 145.41668 + x = -3.71306, y = 148.95823 + x = 0.75636, y = 2.08845 + x = -4.58360, y = 361.52290 + x = -2.02489, y = 10.58440 + x = -3.84587, y = 172.82772 + x = 4.06526, y = 360.89501 + x = 2.82258, y = 96.74957 + x = 3.18639, y = 148.77621 + x = -2.08679, y = 12.14381 + x = 0.89743, y = 3.07426 + x = -2.18851, y = 15.05898 + x = -1.27722, y = 0.93165 + x = 2.94547, y = 112.44508 + x = 1.86218, y = 23.81261 + x = -4.33312, y = 285.62052 + x = -4.07586, y = 220.80586 + x = -1.11685, y = 0.29328 + x = 0.20280, y = 0.25396 + x = 4.82271, y = 681.20969 + x = 0.56993, y = 1.18539 + x = 2.50717, y = 64.06510 + x = 4.03947, y = 352.52593 + x = -3.08579, y = 67.72350 + x = -2.44283, y = 24.55706 + x = 0.64892, y = 1.52060 + x = 1.25790, y = 7.33435 + x = -0.82728, y = -0.24068 + x = -3.30433, y = 90.75149 + x = 2.30644, y = 48.19422 + x = -0.64426, y = -0.32432 + x = -1.75832, y = 5.45579 + x = 4.30653, y = 446.68213 + x = 3.16180, y = 144.70764 + x = 0.96317, y = 3.64504 + x = -1.96058, y = 9.12244 + x = 2.80497, y = 94.64510 + x = -0.41114, y = -0.28303 + x = -3.79558, y = 163.47453 + x = -2.22993, y = 16.38076 + x = 2.29177, y = 47.16634 + x = -2.86899, y = 49.49815 + x = -0.24695, y = -0.19730 + x = 0.75610, y = 2.08687 + x = -0.86452, y = -0.20466 + x = -4.07975, y = 221.69359 + x = -0.02921, y = -0.02838 + x = -3.35019, y = 96.24452 + x = 3.61981, y = 235.84373 + x = -3.73935, y = 153.47436 + x = -2.90556, y = 52.27901 + x = -2.37916, y = 21.85448 + x = -1.92906, y = 8.46152 + x = 4.84828, y = 694.84095 + x = 1.66273, y = 16.66771 + x = -0.07555, y = -0.07024 + x = -3.01958, y = 61.70177 + x = 2.59456, y = 72.10855 + x = -0.54678, y = -0.32190 + x = 4.93569, y = 742.99418 + x = -1.65084, y = 4.00260 + x = -0.52360, y = -0.31783 + x = 1.61816, y = 15.32984 + x = 0.41632, y = 0.69184 + x = 0.62145, y = 1.39679 + x = -1.23358, y = 0.72659 + x = 3.05844, y = 128.51936 + x = 2.96668, y = 115.33927 + x = -1.19000, y = 0.54630 + x = 0.94193, y = 3.45205 + x = 0.69609, y = 1.75271 + x = 4.27433, y = 434.42342 + x = 0.26334, y = 0.35576 + x = -1.05785, y = 0.12967 + x = 2.72827, y = 85.88421 + x = -2.05091, y = 11.22098 + x = -0.56377, y = -0.32410 + x = 4.19119, y = 403.94767 + x = 0.25148, y = 0.33463 + x = 2.63272, y = 75.85402 + x = -1.33150, y = 1.22392 + x = 3.66334, y = 246.34414 + x = 4.71950, y = 628.22965 + x = -3.24002, y = 83.44707 + x = -1.04272, y = 0.09297 + x = 4.87935, y = 711.67825 + x = 1.62352, y = 15.48611 + x = -1.10980, y = 0.27193 + x = -2.45964, y = 25.31031 + x = -2.80325, y = 44.77797 + x = -0.01902, y = -0.01866 + x = 4.83829, y = 689.49021 + x = -4.22113, y = 255.86442 + x = 0.26249, y = 0.35423 + x = 2.07398, y = 33.79825 + x = 3.01744, y = 122.49616 + x = 1.86767, y = 24.03825 + x = -4.18910, y = 247.79796 + x = 3.02783, y = 124.00229 + x = -3.81362, y = 166.78508 + x = 1.48403, y = 11.80500 + x = 0.77959, y = 2.23055 + x = 1.39833, y = 9.91121 + x = -4.01291, y = 206.78963 + x = 2.59215, y = 71.87640 + x = -1.56890, y = 3.08949 + x = -2.09866, y = 12.46094 + x = -3.68904, y = 144.92126 + x = 0.89100, y = 3.02248 + x = 1.78338, y = 20.75103 + x = 3.30093, y = 168.89086 + x = 3.09021, y = 133.34071 + x = 0.05420, y = 0.05731 + x = -2.74353, y = 40.78782 + x = -0.04529, y = -0.04333 + x = -1.48913, y = 2.34359 + x = -1.30247, y = 1.06230 + x = -3.64434, y = 137.62562 + x = 3.34234, y = 176.64856 + x = 2.60401, y = 73.02211 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.stt b/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.stt new file mode 100644 index 0000000..3c83b5f --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.stt @@ -0,0 +1,33 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 12.913 3.682 8 3 9 4 0.0000 0.0001 0.0000 12.913 3.682 8 3 9 4 +1 0 0.0000 0.0001 0.0000 12.281 3.897 8 3 12 5 0.0000 0.0001 0.0000 12.597 3.790 8 3 9 4 +2 0 0.0000 0.0001 0.0000 11.966 4.022 8 3 11 5 0.0000 0.0001 0.0000 12.386 3.867 8 3 9 4 +3 0 0.0000 0.0001 0.0000 11.982 4.139 8 3 7 4 0.0000 0.0001 0.0000 12.285 3.935 8 3 9 4 +4 0 0.0000 0.0001 0.0000 11.830 4.186 24 4 8 4 0.0000 0.0001 0.0000 12.194 3.985 24 4 8 4 +5 0 0.0000 0.0002 0.0000 11.875 4.299 11 5 8 4 0.0000 0.0002 0.0000 12.141 4.037 11 5 8 4 +6 0 0.0000 0.0002 0.0000 12.058 4.372 11 5 18 8 0.0000 0.0002 0.0000 12.129 4.085 11 5 8 4 +7 0 0.0000 0.0002 0.0000 12.272 4.469 11 5 12 4 0.0000 0.0002 0.0000 12.147 4.133 11 5 8 4 +8 0 0.0000 0.0002 0.0000 12.275 4.490 11 5 10 5 0.0000 0.0002 0.0000 12.161 4.173 11 5 8 4 +9 0 0.0000 0.0009 0.0000 12.429 4.556 14 5 10 5 0.0000 0.0009 0.0000 12.188 4.211 14 5 8 4 +10 0 0.0000 0.0014 0.0000 12.589 4.620 14 5 6 5 0.0000 0.0014 0.0000 12.224 4.248 14 5 8 4 +11 0 0.0000 0.0016 0.0000 12.717 4.672 15 6 21 9 0.0000 0.0016 0.0000 12.265 4.284 15 6 8 4 +12 0 0.0001 0.0022 0.0000 13.491 4.902 25 8 22 10 0.0000 0.0022 0.0000 12.360 4.331 25 8 8 4 +13 0 0.0001 0.0035 0.0000 15.323 5.468 29 9 18 8 0.0001 0.0035 0.0000 12.571 4.412 29 9 8 4 +14 0 0.0003 0.0041 0.0000 19.399 6.738 28 10 34 14 0.0001 0.0041 0.0000 13.027 4.567 28 10 8 4 +15 0 0.0004 0.0119 0.0000 24.105 8.144 20 7 36 8 0.0001 0.0119 0.0000 13.719 4.791 20 7 8 4 +16 0 0.0005 0.0119 0.0000 28.511 9.345 20 7 22 9 0.0001 0.0119 0.0000 14.589 5.059 20 7 8 4 +17 0 0.0007 0.0119 0.0000 31.977 10.183 20 7 41 17 0.0001 0.0119 0.0000 15.555 5.344 20 7 8 4 +18 0 0.0008 0.0121 0.0000 34.620 10.775 26 9 19 7 0.0002 0.0121 0.0000 16.558 5.629 26 9 8 4 +19 0 0.0011 0.0121 0.0000 37.684 11.388 26 9 14 6 0.0002 0.0121 0.0000 17.615 5.917 26 9 8 4 +20 0 0.0015 0.0162 0.0000 40.053 11.940 55 17 25 10 0.0003 0.0162 0.0000 18.683 6.204 55 17 8 4 +21 0 0.0022 0.0204 0.0000 42.356 12.389 40 13 72 17 0.0004 0.0204 0.0000 19.759 6.485 40 13 8 4 +22 0 0.0033 0.0361 0.0000 44.594 12.784 34 13 25 9 0.0005 0.0361 0.0000 20.839 6.759 34 13 8 4 +23 0 0.0044 0.0361 0.0000 46.127 13.095 34 13 57 14 0.0007 0.0361 0.0000 21.893 7.023 34 13 8 4 +24 0 0.0052 0.0567 0.0000 46.795 13.112 41 14 49 15 0.0008 0.0567 0.0000 22.889 7.267 41 14 8 4 +25 0 0.0059 0.0567 0.0000 47.127 13.056 41 14 64 17 0.0010 0.0567 0.0000 23.821 7.489 41 14 8 4 +26 0 0.0067 0.0567 0.0000 47.865 13.121 41 14 41 14 0.0012 0.0567 0.0000 24.712 7.698 41 14 8 4 +27 0 0.0075 0.0582 0.0000 48.209 13.150 38 14 15 5 0.0015 0.0582 0.0000 25.551 7.893 38 14 8 4 +28 0 0.0087 0.0582 0.0000 48.428 13.158 38 14 44 13 0.0017 0.0582 0.0000 26.340 8.074 38 14 8 4 +29 0 0.0107 0.1036 0.0000 47.719 13.021 53 17 30 9 0.0020 0.1036 0.0000 27.052 8.239 53 17 8 4 +30 0 0.0137 0.3671 0.0000 46.929 12.849 53 17 63 17 0.0024 0.3671 0.0000 27.693 8.388 53 17 8 4 +31 0 0.0177 1.0000 0.0000 45.876 12.619 25 8 55 16 0.0029 1.0000 0.0000 28.262 8.520 25 8 8 4 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.sys b/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.sys new file mode 100644 index 0000000..2c271f2 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_5/regress.sys @@ -0,0 +1,146 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 370. +creating initial population(s): + 5575 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 96482434 + freed: 95860822 + not freed: 621612 + max allocated: 6266664 + malloc'ed blocks: 464108 + realloc'ed blocks: 9 + free'ed blocks: 464015 + +------- time ------- + overall: 2s wall + evaluation: 2s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 25696 + freed: 25696 + allocated: 13500 + blocks: 26 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.bst b/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.bst new file mode 100644 index 0000000..c5f2b6f --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.bst @@ -0,0 +1,48 @@ +=== BEST-OF-RUN === + generation: 50 + nodes: 109 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 913.0117 + standardized fitness: 913.0117 + adjusted fitness: 0.0011 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (cos (+ (- x x) + (sin -0.44166))) + (+ (+ (log 0.23646) + (/ (/ x x) 0.46439)) + (+ (+ x + (+ x + (exp x))) + (exp (+ -0.09443 -0.72949)))))))))))))) + (/ (+ (log (/ 0.16648 + (- -0.73826 x))) + (+ x + (+ (sin (* (/ (cos x) + (* (* (- -0.73826 x) + (exp x)) + (- -0.50956 + (+ x + (+ (+ (+ (sin (log 0.65898)) x) + (- -0.48219 x)) + (exp x)))))) + (- (sin -0.99802) -0.95484))) + (- -0.48219 x)))) + (exp x))) +TREE-equ: +y = (((-0.48219 - exp(x)) * ((x / (exp(0.62403) / sin((((-0.73826 - x) * -0.35168) + x)))) - ((x / x) + (x - sin(log(sin((-0.90433 - (x + (cos(((x - x) + sin(-0.44166))) / ((log(0.23646) + ((x / x) / 0.46439)) + ((x + (x + exp(x))) + exp((-0.09443 + -0.72949)))))))))))))) - ((log((0.16648 / (-0.73826 - x))) + (x + (sin(((cos(x) / (((-0.73826 - x) * exp(x)) * (-0.50956 - (x + (((sin(log(0.65898)) + x) + (-0.48219 - x)) + exp(x)))))) * (sin(-0.99802) - -0.95484))) + (-0.48219 - x)))) / exp(x))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.fn b/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.fn new file mode 100644 index 0000000..1d33952 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.fn @@ -0,0 +1,2 @@ + +y = (((-0.48219 - exp(x)) * ((x / (exp(0.62403) / sin((((-0.73826 - x) * -0.35168) + x)))) - ((x / x) + (x - sin(log(sin((-0.90433 - (x + (cos(((x - x) + sin(-0.44166))) / ((log(0.23646) + ((x / x) / 0.46439)) + ((x + (x + exp(x))) + exp((-0.09443 + -0.72949)))))))))))))) - ((log((0.16648 / (-0.73826 - x))) + (x + (sin(((cos(x) / (((-0.73826 - x) * exp(x)) * (-0.50956 - (x + (((sin(log(0.65898)) + x) + (-0.48219 - x)) + exp(x)))))) * (sin(-0.99802) - -0.95484))) + (-0.48219 - x)))) / exp(x))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.gen b/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.his b/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.his new file mode 100644 index 0000000..a696dc3 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.his @@ -0,0 +1,1615 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 22 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 9493.7357 + standardized fitness: 9493.7357 + adjusted fitness: 0.0001 +TREE: + (+ (exp (+ (cos (log (exp x))) + (log (* (/ x 0.14703) + (* x x))))) + (exp (log (sin (log (* x 0.92770)))))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 22 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 9493.7357 + standardized fitness: 9493.7357 + adjusted fitness: 0.0001 +TREE: + (+ (exp (+ (cos (log (exp x))) + (log (* (/ x 0.14703) + (* x x))))) + (exp (log (sin (log (* x 0.92770)))))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 29 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9464.5661 + standardized fitness: 9464.5661 + adjusted fitness: 0.0001 +TREE: + (+ (exp (+ (cos (log (exp x))) + (log (* (/ x 0.14703) + (* x x))))) + (exp (- (exp (log (+ 0.31760 0.22702))) + (exp (* (/ x 0.44028) + (log -0.63169)))))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 25 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 9187.3915 + standardized fitness: 9187.3915 + adjusted fitness: 0.0001 +TREE: + (+ (exp (+ (sin (log 0.40402)) + (log (* (/ x 0.14703) + (* x x))))) + (exp (log (sin (log (* x + (* -0.02163 + (+ 0.83440 0.44311)))))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 29 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3327.9502 + standardized fitness: 3327.9502 + adjusted fitness: 0.0003 +TREE: + (- (* (- -0.48219 x) + (- (log 0.23646) + (+ x + (+ (- x x) + (exp x))))) + (/ (+ (log (* (- -0.73826 x) + (exp x))) + (sin -0.44166)) + (exp x))) +=== BEST-OF-RUN === + current generation: 5 + generation: 4 + nodes: 29 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3327.9502 + standardized fitness: 3327.9502 + adjusted fitness: 0.0003 +TREE: + (- (* (- -0.48219 x) + (- (log 0.23646) + (+ x + (+ (- x x) + (exp x))))) + (/ (+ (log (* (- -0.73826 x) + (exp x))) + (sin -0.44166)) + (exp x))) +=== BEST-OF-RUN === + current generation: 6 + generation: 4 + nodes: 29 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3327.9502 + standardized fitness: 3327.9502 + adjusted fitness: 0.0003 +TREE: + (- (* (- -0.48219 x) + (- (log 0.23646) + (+ x + (+ (- x x) + (exp x))))) + (/ (+ (log (* (- -0.73826 x) + (exp x))) + (sin -0.44166)) + (exp x))) +=== BEST-OF-RUN === + current generation: 7 + generation: 4 + nodes: 29 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3327.9502 + standardized fitness: 3327.9502 + adjusted fitness: 0.0003 +TREE: + (- (* (- -0.48219 x) + (- (log 0.23646) + (+ x + (+ (- x x) + (exp x))))) + (/ (+ (log (* (- -0.73826 x) + (exp x))) + (sin -0.44166)) + (exp x))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 29 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3275.5833 + standardized fitness: 3275.5833 + adjusted fitness: 0.0003 +TREE: + (- (* (- -0.50478 x) + (- (log 0.23646) + (+ x + (+ (- x x) + (exp x))))) + (/ (+ (log (* (- -0.73826 x) + (exp x))) + (sin -0.44166)) + (exp x))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 33 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2722.3732 + standardized fitness: 2722.3732 + adjusted fitness: 0.0004 +TREE: + (- (* (- -0.48219 x) + (- (log 0.23646) + (+ x + (+ (+ (exp (log (- x x))) x) + (exp x))))) + (/ (+ (log (* (- -0.73826 x) + (exp x))) + (sin -0.44166)) + (exp x))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 24 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2457.0729 + standardized fitness: 2457.0729 + adjusted fitness: 0.0004 +TREE: + (- (* (- -0.48219 x) + (- (log 0.23646) + (+ x + (+ x + (exp x))))) + (/ (+ (log (/ -0.25316 x)) + (sin -0.44166)) + (exp x))) +=== BEST-OF-RUN === + current generation: 11 + generation: 10 + nodes: 24 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2457.0729 + standardized fitness: 2457.0729 + adjusted fitness: 0.0004 +TREE: + (- (* (- -0.48219 x) + (- (log 0.23646) + (+ x + (+ x + (exp x))))) + (/ (+ (log (/ -0.25316 x)) + (sin -0.44166)) + (exp x))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 32 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2048.5100 + standardized fitness: 2048.5100 + adjusted fitness: 0.0005 +TREE: + (- (* (- -0.48219 x) + (- (log 0.23646) + (+ x + (+ (- (sin -0.36297) + (- -0.69642 x)) + (exp x))))) + (/ (+ (log (* (exp 0.24261) + (exp x))) + (exp (cos x))) + (exp x))) +=== BEST-OF-RUN === + current generation: 13 + generation: 12 + nodes: 32 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2048.5100 + standardized fitness: 2048.5100 + adjusted fitness: 0.0005 +TREE: + (- (* (- -0.48219 x) + (- (log 0.23646) + (+ x + (+ (- (sin -0.36297) + (- -0.69642 x)) + (exp x))))) + (/ (+ (log (* (exp 0.24261) + (exp x))) + (exp (cos x))) + (exp x))) +=== BEST-OF-RUN === + current generation: 14 + generation: 12 + nodes: 32 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2048.5100 + standardized fitness: 2048.5100 + adjusted fitness: 0.0005 +TREE: + (- (* (- -0.48219 x) + (- (log 0.23646) + (+ x + (+ (- (sin -0.36297) + (- -0.69642 x)) + (exp x))))) + (/ (+ (log (* (exp 0.24261) + (exp x))) + (exp (cos x))) + (exp x))) +=== BEST-OF-RUN === + current generation: 15 + generation: 12 + nodes: 32 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2048.5100 + standardized fitness: 2048.5100 + adjusted fitness: 0.0005 +TREE: + (- (* (- -0.48219 x) + (- (log 0.23646) + (+ x + (+ (- (sin -0.36297) + (- -0.69642 x)) + (exp x))))) + (/ (+ (log (* (exp 0.24261) + (exp x))) + (exp (cos x))) + (exp x))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 56 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2021.8713 + standardized fitness: 2021.8713 + adjusted fitness: 0.0005 +TREE: + (- (* (- -0.48219 x) + (- (log (cos x)) + (+ x + (+ (* (- (log (- x + (/ (+ x x) -0.89933))) + (sin -0.19068)) + (* (cos (- x + (cos (- -0.17338 + (- -0.73826 x))))) + (- -0.62846 x))) + (exp x))))) + (/ (+ (log (* (- (cos (sin (cos (cos -0.77443)))) x) + (exp x))) + (sin -0.44166)) + (exp x))) +=== BEST-OF-RUN === + current generation: 17 + generation: 16 + nodes: 56 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2021.8713 + standardized fitness: 2021.8713 + adjusted fitness: 0.0005 +TREE: + (- (* (- -0.48219 x) + (- (log (cos x)) + (+ x + (+ (* (- (log (- x + (/ (+ x x) -0.89933))) + (sin -0.19068)) + (* (cos (- x + (cos (- -0.17338 + (- -0.73826 x))))) + (- -0.62846 x))) + (exp x))))) + (/ (+ (log (* (- (cos (sin (cos (cos -0.77443)))) x) + (exp x))) + (sin -0.44166)) + (exp x))) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 53 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1904.4205 + standardized fitness: 1904.4205 + adjusted fitness: 0.0005 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (exp (- x + (* x 0.07519))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 19 + generation: 18 + nodes: 53 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1904.4205 + standardized fitness: 1904.4205 + adjusted fitness: 0.0005 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (exp (- x + (* x 0.07519))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 68 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1645.8971 + standardized fitness: 1645.8971 + adjusted fitness: 0.0006 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin (+ (log x) + (cos 0.93960))) + (- (+ (* -0.01509 x) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 21 + generation: 20 + nodes: 68 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1645.8971 + standardized fitness: 1645.8971 + adjusted fitness: 0.0006 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin (+ (log x) + (cos 0.93960))) + (- (+ (* -0.01509 x) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 22 + generation: 22 + nodes: 65 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1459.5285 + standardized fitness: 1459.5285 + adjusted fitness: 0.0007 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin (+ (log x) + (cos 0.93960))) + (- (+ (* -0.01509 x) + (- -0.48219 x)) x))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 65 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1252.9225 + standardized fitness: 1252.9225 + adjusted fitness: 0.0008 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin (exp x)) + (- (+ (* -0.01509 x) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 24 + generation: 23 + nodes: 65 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1252.9225 + standardized fitness: 1252.9225 + adjusted fitness: 0.0008 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin (exp x)) + (- (+ (* -0.01509 x) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 25 + generation: 25 + nodes: 76 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1243.7186 + standardized fitness: 1243.7186 + adjusted fitness: 0.0008 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin (- -0.73826 x)) + (+ (log (* (- -0.73826 x) + (exp x))) + (+ (log (+ (- x x) x)) + (+ (sin (- x x)) + (exp x)))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 26 + generation: 25 + nodes: 76 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1243.7186 + standardized fitness: 1243.7186 + adjusted fitness: 0.0008 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin (- -0.73826 x)) + (+ (log (* (- -0.73826 x) + (exp x))) + (+ (log (+ (- x x) x)) + (+ (sin (- x x)) + (exp x)))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 27 + generation: 27 + nodes: 67 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1043.2089 + standardized fitness: 1043.2089 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin (+ x + (cos 0.93960))) + (- (+ (* -0.01509 x) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 28 + generation: 27 + nodes: 67 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1043.2089 + standardized fitness: 1043.2089 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin (+ x + (cos 0.93960))) + (- (+ (* -0.01509 x) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 29 + generation: 29 + nodes: 64 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 962.3597 + standardized fitness: 962.3597 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin x) + (- (+ (* -0.01509 x) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 30 + generation: 29 + nodes: 64 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 962.3597 + standardized fitness: 962.3597 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin x) + (- (+ (* -0.01509 x) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 31 + generation: 29 + nodes: 64 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 962.3597 + standardized fitness: 962.3597 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin x) + (- (+ (* -0.01509 x) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 32 + generation: 29 + nodes: 64 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 962.3597 + standardized fitness: 962.3597 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin x) + (- (+ (* -0.01509 x) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 33 + generation: 29 + nodes: 64 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 962.3597 + standardized fitness: 962.3597 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin x) + (- (+ (* -0.01509 x) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 34 + generation: 34 + nodes: 63 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 960.4557 + standardized fitness: 960.4557 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin x) + (- (+ (sin -0.12057) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 35 + generation: 34 + nodes: 63 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 960.4557 + standardized fitness: 960.4557 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin x) + (- (+ (sin -0.12057) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 36 + generation: 34 + nodes: 63 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 960.4557 + standardized fitness: 960.4557 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin x) + (- (+ (sin -0.12057) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 37 + generation: 34 + nodes: 63 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 960.4557 + standardized fitness: 960.4557 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin x) + (- (+ (sin -0.12057) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 38 + generation: 34 + nodes: 63 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 960.4557 + standardized fitness: 960.4557 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin x) + (- (+ (sin -0.12057) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 39 + generation: 34 + nodes: 63 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 960.4557 + standardized fitness: 960.4557 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin x) + (- (+ (sin -0.12057) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 40 + generation: 34 + nodes: 63 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 960.4557 + standardized fitness: 960.4557 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin x) + (- (+ (sin -0.12057) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 41 + generation: 34 + nodes: 63 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 960.4557 + standardized fitness: 960.4557 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin x) + (- (+ (sin -0.12057) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 42 + generation: 34 + nodes: 63 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 960.4557 + standardized fitness: 960.4557 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (sin x) + (- (+ (sin -0.12057) + (- -0.48219 x)) + (* -0.30398 + (cos x))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 43 + generation: 43 + nodes: 59 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 956.6505 + standardized fitness: 956.6505 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (* (* 0.34282 + (- -0.48219 x)) + (/ (log 0.92267) 0.79366))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 44 + generation: 43 + nodes: 59 + depth: 13 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 956.6505 + standardized fitness: 956.6505 + adjusted fitness: 0.0010 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (* (* 0.34282 + (- -0.48219 x)) + (/ (log 0.92267) 0.79366))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 45 + generation: 45 + nodes: 65 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 942.7117 + standardized fitness: 942.7117 + adjusted fitness: 0.0011 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (cos (+ (* 0.92532 + (/ (+ (+ x 0.25238) + (sin -0.44166)) x)) + (sin x))) x)))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 46 + generation: 45 + nodes: 65 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 942.7117 + standardized fitness: 942.7117 + adjusted fitness: 0.0011 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (cos (+ (* 0.92532 + (/ (+ (+ x 0.25238) + (sin -0.44166)) x)) + (sin x))) x)))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 47 + generation: 47 + nodes: 63 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 939.2316 + standardized fitness: 939.2316 + adjusted fitness: 0.0011 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (cos (+ (* 0.92532 + (/ (+ x + (sin -0.44166)) x)) + (sin x))) x)))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 48 + generation: 48 + nodes: 89 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 930.4123 + standardized fitness: 930.4123 + adjusted fitness: 0.0011 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (cos (+ (* 0.92532 + (/ (+ (+ x 0.25238) + (sin -0.44166)) x)) + (sin x))) + (+ (+ (log (* (- -0.73826 x) + (exp x))) + (/ (/ x x) 0.46439)) + (+ (* (exp x) + (* 0.41862 -0.07745)) + (exp (+ -0.09443 -0.72949)))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 49 + generation: 48 + nodes: 89 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 930.4123 + standardized fitness: 930.4123 + adjusted fitness: 0.0011 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (cos (+ (* 0.92532 + (/ (+ (+ x 0.25238) + (sin -0.44166)) x)) + (sin x))) + (+ (+ (log (* (- -0.73826 x) + (exp x))) + (/ (/ x x) 0.46439)) + (+ (* (exp x) + (* 0.41862 -0.07745)) + (exp (+ -0.09443 -0.72949)))))))))))))) + (/ (+ (log (/ 0.16648 x)) + (+ x + (+ (exp x) + (- -0.48219 x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 50 + generation: 50 + nodes: 109 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 913.0117 + standardized fitness: 913.0117 + adjusted fitness: 0.0011 +TREE: + (- (* (- -0.48219 + (exp x)) + (- (/ x + (/ (exp 0.62403) + (sin (+ (* (- -0.73826 x) -0.35168) x)))) + (+ (/ x x) + (- x + (sin (log (sin (- -0.90433 + (+ x + (/ (cos (+ (- x x) + (sin -0.44166))) + (+ (+ (log 0.23646) + (/ (/ x x) 0.46439)) + (+ (+ x + (+ x + (exp x))) + (exp (+ -0.09443 -0.72949)))))))))))))) + (/ (+ (log (/ 0.16648 + (- -0.73826 x))) + (+ x + (+ (sin (* (/ (cos x) + (* (* (- -0.73826 x) + (exp x)) + (- -0.50956 + (+ x + (+ (+ (+ (sin (log 0.65898)) x) + (- -0.48219 x)) + (exp x)))))) + (- (sin -0.99802) -0.95484))) + (- -0.48219 x)))) + (exp x))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.prg b/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.prg new file mode 100644 index 0000000..ba17201 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 0.48051, y = 0.87566 + x = 4.60190, y = 571.72371 + x = -3.17859, y = 76.88935 + x = 0.97611, y = 3.76670 + x = -2.62503, y = 33.65996 + x = -3.13045, y = 72.02650 + x = -1.01141, y = 0.02334 + x = -1.47508, y = 2.22562 + x = 3.91576, y = 314.39568 + x = 2.93507, y = 111.04582 + x = 2.04429, y = 32.23175 + x = -2.07256, y = 11.77167 + x = 3.73836, y = 265.26827 + x = 4.74359, y = 640.30992 + x = -4.49956, y = 334.54942 + x = 3.38608, y = 185.13261 + x = 4.25424, y = 426.90509 + x = 2.79135, y = 93.04197 + x = -3.70195, y = 147.08153 + x = 2.13474, y = 37.18712 + x = -1.40109, y = 1.66512 + x = -1.02494, y = 0.05241 + x = -0.50455, y = -0.31362 + x = -1.49777, y = 2.41801 + x = 1.85611, y = 23.56488 + x = 3.47047, y = 202.37453 + x = -1.26805, y = 0.88646 + x = -4.01978, y = 208.28651 + x = 2.07564, y = 33.88760 + x = 1.07120, y = 4.76447 + x = 4.60788, y = 574.49718 + x = 0.71235, y = 1.83877 + x = 1.44672, y = 10.94830 + x = -4.00329, y = 204.70741 + x = -0.65231, y = -0.32331 + x = -2.93843, y = 54.87665 + x = 1.38434, y = 9.62624 + x = -1.01672, y = 0.03458 + x = -3.18415, y = 77.46614 + x = 4.97178, y = 763.59654 + x = -4.05831, y = 216.82796 + x = 4.00188, y = 340.59008 + x = -2.50455, y = 27.40521 + x = -1.07062, y = 0.16227 + x = 4.41927, y = 491.67658 + x = 3.93128, y = 318.99989 + x = -1.38378, y = 1.54796 + x = 2.66141, y = 78.76570 + x = 1.78960, y = 20.98070 + x = 0.84768, y = 2.69169 + x = 1.74015, y = 19.20711 + x = 1.66892, y = 16.86054 + x = 2.07693, y = 33.95711 + x = 1.36250, y = 9.19443 + x = 4.22650, y = 416.68662 + x = 4.76816, y = 652.80645 + x = -1.84481, y = 6.86271 + x = -4.17530, y = 244.38380 + x = -3.37158, y = 98.89097 + x = -4.68660, y = 396.76669 + x = 0.48521, y = 0.89029 + x = -4.99468, y = 517.69670 + x = -3.29094, y = 89.19251 + x = 3.94398, y = 322.80332 + x = 1.99337, y = 29.67668 + x = 3.04241, y = 126.13759 + x = -4.56802, y = 356.40111 + x = -0.19102, y = -0.16017 + x = -4.67568, y = 392.91193 + x = -3.43084, y = 106.50467 + x = -0.23015, y = -0.18656 + x = -3.40717, y = 103.41300 + x = -3.99824, y = 203.62272 + x = 0.45037, y = 0.78568 + x = -4.60541, y = 368.78124 + x = 1.92999, y = 26.71839 + x = 1.89813, y = 25.32071 + x = 3.13295, y = 140.04101 + x = -0.72427, y = -0.30446 + x = 2.08795, y = 34.55547 + x = 0.31528, y = 0.45590 + x = -2.09275, y = 12.30238 + x = 4.35180, y = 464.35949 + x = 1.76224, y = 19.98434 + x = -4.41401, y = 308.67622 + x = 4.60256, y = 572.02787 + x = -0.99671, y = -0.00654 + x = 2.50274, y = 63.67717 + x = -0.99666, y = -0.00664 + x = 1.30528, y = 8.13577 + x = -3.37041, y = 98.74474 + x = -3.42464, y = 105.68864 + x = -1.34105, y = 1.27987 + x = -4.75331, y = 420.93067 + x = 0.20193, y = 0.25260 + x = 4.34886, y = 463.19701 + x = 3.00013, y = 120.01818 + x = 2.04509, y = 32.27321 + x = -1.46521, y = 2.14497 + x = -2.51072, y = 27.70291 + x = -2.96685, y = 57.19933 + x = 0.48327, y = 0.88424 + x = -1.61433, y = 3.57619 + x = 4.70165, y = 619.39176 + x = -4.46760, y = 324.70034 + x = -1.16710, y = 0.46067 + x = 2.31712, y = 48.95353 + x = -4.68531, y = 396.30994 + x = 0.77651, y = 2.21125 + x = 4.62394, y = 582.00791 + x = 0.76487, y = 2.13963 + x = 0.65244, y = 1.53706 + x = 1.82136, y = 22.18555 + x = 0.32313, y = 0.47219 + x = 3.68381, y = 251.40327 + x = -1.09015, y = 0.21507 + x = 1.34636, y = 8.88542 + x = -3.53763, y = 121.32539 + x = -1.25795, y = 0.83799 + x = 2.64451, y = 77.04025 + x = -4.95772, y = 501.89343 + x = -1.61311, y = 3.56249 + x = -3.72581, y = 151.13625 + x = 2.83504, y = 98.25986 + x = 4.53601, y = 541.78988 + x = 4.28658, y = 439.05836 + x = 3.20715, y = 152.27969 + x = -3.69989, y = 146.73480 + x = -0.08204, y = -0.07581 + x = 1.56169, y = 13.75739 + x = 4.61287, y = 576.82424 + x = 1.58344, y = 14.34732 + x = -2.64356, y = 34.70838 + x = -0.34821, y = -0.25448 + x = -3.67692, y = 142.91570 + x = 4.66284, y = 600.50121 + x = 1.08589, y = 4.93591 + x = -0.97133, y = -0.05412 + x = 3.07842, y = 131.53629 + x = 1.67614, y = 17.08753 + x = -1.74380, y = 5.24114 + x = -2.45908, y = 25.28482 + x = -1.23930, y = 0.75206 + x = 1.35883, y = 9.12348 + x = 1.26301, y = 7.41755 + x = 3.24269, y = 158.42130 + x = -4.69883, y = 401.11672 + x = 0.82391, y = 2.52286 + x = -4.28932, y = 273.68963 + x = 0.91535, y = 3.22217 + x = -3.85829, y = 175.19701 + x = 1.70002, y = 17.85572 + x = -2.87288, y = 49.78831 + x = 1.97310, y = 28.70435 + x = -2.12359, y = 13.14620 + x = 0.44971, y = 0.78380 + x = -1.87317, y = 7.37448 + x = 3.73388, y = 264.10894 + x = 3.37857, y = 183.65497 + x = -4.13044, y = 233.52347 + x = 2.74701, y = 87.96504 + x = -1.71155, y = 4.78541 + x = -2.76373, y = 42.10696 + x = 4.10037, y = 372.53152 + x = 1.36774, y = 9.29669 + x = -1.77605, y = 5.72595 + x = -3.10825, y = 69.86310 + x = -4.53747, y = 346.52334 + x = 4.06013, y = 359.21720 + x = -4.55888, y = 353.42471 + x = -1.39132, y = 1.59840 + x = -4.47755, y = 327.74407 + x = -4.24831, y = 262.86076 + x = 2.82669, y = 97.24614 + x = 1.50280, y = 12.25555 + x = -1.65774, y = 4.08681 + x = -3.74023, y = 153.62690 + x = -0.69892, y = -0.31323 + x = -0.04137, y = -0.03973 + x = -0.91369, y = -0.14469 + x = 1.15975, y = 5.87371 + x = 4.47327, y = 514.40093 + x = -2.07846, y = 11.92499 + x = -0.95160, y = -0.08776 + x = 3.81468, y = 285.63126 + x = 1.32442, y = 8.47845 + x = -0.65283, y = -0.32324 + x = -1.74393, y = 5.24302 + x = 3.28405, y = 165.80371 + x = 3.09913, y = 134.71751 + x = 2.77109, y = 90.69541 + x = 0.62336, y = 1.40517 + x = -0.03146, y = -0.03050 + x = 2.63730, y = 76.31341 + x = -1.93254, y = 8.53276 + x = -2.26625, y = 17.60775 + x = -3.21077, y = 80.27469 + x = 0.93400, y = 3.38217 + x = 4.85603, y = 699.01209 + x = -2.07925, y = 11.94563 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.stt b/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.stt new file mode 100644 index 0000000..8f0811b --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 12.914 3.654 22 6 41 6 0.0000 0.0001 0.0000 12.914 3.654 22 6 41 6 +1 0 0.0000 0.0001 0.0000 12.030 3.802 22 6 31 6 0.0000 0.0001 0.0000 12.472 3.728 22 6 41 6 +2 0 0.0000 0.0001 0.0000 11.890 3.937 29 6 35 13 0.0000 0.0001 0.0000 12.278 3.798 29 6 41 6 +3 0 0.0000 0.0001 0.0000 11.795 4.039 25 8 6 5 0.0000 0.0001 0.0000 12.157 3.858 25 8 41 6 +4 0 0.0000 0.0003 0.0000 11.679 4.136 29 6 4 3 0.0000 0.0003 0.0000 12.062 3.914 29 6 41 6 +5 0 0.0000 0.0003 0.0000 11.926 4.283 29 6 34 9 0.0000 0.0003 0.0000 12.039 3.975 29 6 41 6 +6 0 0.0000 0.0003 0.0000 11.879 4.299 29 6 15 5 0.0000 0.0003 0.0000 12.016 4.022 29 6 41 6 +7 0 0.0000 0.0003 0.0000 12.355 4.455 29 6 43 12 0.0000 0.0003 0.0000 12.059 4.076 29 6 41 6 +8 0 0.0000 0.0003 0.0000 12.866 4.569 29 6 10 7 0.0000 0.0003 0.0000 12.148 4.131 29 6 41 6 +9 0 0.0000 0.0004 0.0000 14.282 4.847 33 9 43 8 0.0000 0.0004 0.0000 12.362 4.202 33 9 41 6 +10 0 0.0000 0.0004 0.0000 16.842 5.342 24 6 28 8 0.0000 0.0004 0.0000 12.769 4.306 24 6 41 6 +11 0 0.0001 0.0004 0.0000 20.952 6.036 24 6 64 14 0.0000 0.0004 0.0000 13.451 4.450 24 6 41 6 +12 0 0.0001 0.0005 0.0000 26.517 6.946 32 7 85 14 0.0000 0.0005 0.0000 14.456 4.642 32 7 41 6 +13 0 0.0001 0.0005 0.0000 32.744 7.963 32 7 34 9 0.0000 0.0005 0.0000 15.762 4.879 32 7 41 6 +14 0 0.0001 0.0005 0.0000 38.389 8.843 32 7 38 10 0.0000 0.0005 0.0000 17.271 5.143 32 7 41 6 +15 0 0.0001 0.0005 0.0000 43.024 9.510 32 7 70 15 0.0001 0.0005 0.0000 18.880 5.416 32 7 41 6 +16 0 0.0001 0.0005 0.0000 47.519 10.155 56 12 73 15 0.0001 0.0005 0.0000 20.565 5.695 56 12 41 6 +17 0 0.0001 0.0005 0.0000 51.717 10.731 56 12 75 14 0.0001 0.0005 0.0000 22.296 5.975 56 12 41 6 +18 0 0.0001 0.0005 0.0000 54.898 11.152 53 12 59 11 0.0001 0.0005 0.0000 24.011 6.247 53 12 41 6 +19 0 0.0002 0.0005 0.0000 57.872 11.555 53 12 50 13 0.0001 0.0005 0.0000 25.704 6.513 53 12 41 6 +20 0 0.0002 0.0006 0.0000 60.608 11.817 68 14 65 12 0.0001 0.0006 0.0000 27.367 6.765 68 14 41 6 +21 0 0.0002 0.0006 0.0000 63.663 12.088 68 14 94 17 0.0001 0.0006 0.0000 29.016 7.007 68 14 41 6 +22 0 0.0002 0.0007 0.0000 66.347 12.369 65 14 78 15 0.0001 0.0007 0.0000 30.639 7.240 65 14 41 6 +23 0 0.0002 0.0008 0.0000 68.637 12.575 65 14 82 12 0.0001 0.0008 0.0000 32.223 7.463 65 14 41 6 +24 0 0.0002 0.0008 0.0000 70.341 12.674 65 14 70 11 0.0001 0.0008 0.0000 33.747 7.671 65 14 41 6 +25 0 0.0002 0.0008 0.0000 73.223 12.904 76 16 80 17 0.0001 0.0008 0.0000 35.266 7.872 76 16 41 6 +26 0 0.0002 0.0008 0.0000 75.009 13.028 76 16 153 16 0.0001 0.0008 0.0000 36.738 8.063 76 16 41 6 +27 0 0.0002 0.0010 0.0000 76.116 13.156 67 14 80 15 0.0001 0.0010 0.0000 38.144 8.245 67 14 41 6 +28 0 0.0002 0.0010 0.0000 77.687 13.259 67 14 116 14 0.0001 0.0010 0.0000 39.508 8.418 67 14 41 6 +29 0 0.0002 0.0010 0.0000 79.559 13.383 64 14 107 16 0.0001 0.0010 0.0000 40.843 8.584 64 14 41 6 +30 0 0.0002 0.0010 0.0000 80.819 13.461 64 14 149 17 0.0001 0.0010 0.0000 42.132 8.741 64 14 41 6 +31 0 0.0002 0.0010 0.0000 82.987 13.587 64 14 70 15 0.0001 0.0010 0.0000 43.409 8.892 64 14 41 6 +32 0 0.0002 0.0010 0.0000 84.811 13.688 64 14 71 16 0.0001 0.0010 0.0000 44.664 9.038 64 14 41 6 +33 0 0.0002 0.0010 0.0000 87.645 13.760 64 14 79 17 0.0001 0.0010 0.0000 45.928 9.177 64 14 41 6 +34 0 0.0003 0.0010 0.0000 90.057 13.896 63 14 100 14 0.0001 0.0010 0.0000 47.189 9.311 63 14 41 6 +35 0 0.0003 0.0010 0.0000 91.163 13.984 63 14 127 16 0.0001 0.0010 0.0000 48.410 9.441 63 14 41 6 +36 0 0.0003 0.0010 0.0000 91.265 13.954 63 14 101 15 0.0001 0.0010 0.0000 49.568 9.563 63 14 41 6 +37 0 0.0003 0.0010 0.0000 93.478 14.050 63 14 94 14 0.0001 0.0010 0.0000 50.724 9.681 63 14 41 6 +38 0 0.0003 0.0010 0.0000 94.937 14.132 63 14 183 16 0.0001 0.0010 0.0000 51.858 9.795 63 14 41 6 +39 0 0.0003 0.0010 0.0000 96.486 14.288 63 14 70 12 0.0001 0.0010 0.0000 52.973 9.908 63 14 41 6 +40 0 0.0003 0.0010 0.0000 97.316 14.407 63 14 126 16 0.0002 0.0010 0.0000 54.055 10.017 63 14 41 6 +41 0 0.0003 0.0010 0.0000 97.749 14.513 63 14 217 17 0.0002 0.0010 0.0000 55.095 10.124 63 14 41 6 +42 0 0.0003 0.0010 0.0000 96.912 14.473 63 14 24 7 0.0002 0.0010 0.0000 56.068 10.226 63 14 41 6 +43 0 0.0003 0.0010 0.0000 97.670 14.551 59 13 111 16 0.0002 0.0010 0.0000 57.013 10.324 59 13 41 6 +44 0 0.0003 0.0010 0.0000 96.612 14.581 59 13 91 15 0.0002 0.0010 0.0000 57.893 10.419 59 13 41 6 +45 0 0.0003 0.0011 0.0000 96.138 14.635 65 17 51 10 0.0002 0.0011 0.0000 58.724 10.510 65 17 41 6 +46 0 0.0003 0.0011 0.0000 95.775 14.642 65 17 69 14 0.0002 0.0011 0.0000 59.513 10.598 65 17 41 6 +47 0 0.0003 0.0011 0.0000 96.477 14.774 63 17 104 17 0.0002 0.0011 0.0000 60.283 10.685 63 17 41 6 +48 0 0.0003 0.0011 0.0000 96.265 14.862 89 17 112 17 0.0002 0.0011 0.0000 61.017 10.770 89 17 41 6 +49 0 0.0004 0.0011 0.0000 94.967 14.858 89 17 98 17 0.0002 0.0011 0.0000 61.696 10.852 89 17 41 6 +50 0 0.0004 0.0011 0.0000 94.681 14.891 109 16 108 17 0.0002 0.0011 0.0000 62.343 10.931 109 16 41 6 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.sys b/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.sys new file mode 100644 index 0000000..7394e75 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_6/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 107. +creating initial population(s): + 5552 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 306168805 + freed: 305166205 + not freed: 1002600 + max allocated: 11099920 + malloc'ed blocks: 743375 + realloc'ed blocks: 11 + free'ed blocks: 743225 + +------- time ------- + overall: 5s wall + evaluation: 5s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 400 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 33776 + freed: 33776 + allocated: 13500 + blocks: 26 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.bst b/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.bst new file mode 100644 index 0000000..67f76e3 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.bst @@ -0,0 +1,39 @@ +=== BEST-OF-RUN === + generation: 50 + nodes: 97 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 595.4151 + standardized fitness: 595.4151 + adjusted fitness: 0.0017 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) + (/ 0.13246 + (exp (* (cos 0.04404) + (/ 0.13246 x))))) + (- (+ -0.10795 + (exp (+ (sin (- (+ (cos x) + (cos (+ x x))) + (log (log (/ 0.13246 + (log x)))))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (cos (log -0.63967)) + (/ (cos -0.31502) x)) + (/ x -0.63967)))) -0.26210) + (* (- (sin (- (+ (cos x) + (cos (/ x -0.63967))) + (/ 0.13246 x))) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +TREE-equ: +y = exp(exp(log(((((((cos(x) * log(x)) - (0.13246 / exp((cos(0.04404) * (0.13246 / x))))) / ((-0.10795 + exp((sin(((cos(x) + cos((x + x))) - log(log((0.13246 / log(x)))))) + (0.17439 + cos(cos(-0.31502)))))) - ((sin(cos(((cos(log(-0.63967)) / (cos(-0.31502) / x)) + (x / -0.63967)))) - -0.26210) - ((sin(((cos(x) + cos((x / -0.63967))) - (0.13246 / x))) - (x / -0.63967)) * cos(exp(cos((x * -0.07133)))))))) - -0.26210) - (x / -0.63967)) * cos(exp(cos((x * -0.07133)))))))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.fn b/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.fn new file mode 100644 index 0000000..d50d50e --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.fn @@ -0,0 +1,2 @@ + +y = exp(exp(log(((((((cos(x) * log(x)) - (0.13246 / exp((cos(0.04404) * (0.13246 / x))))) / ((-0.10795 + exp((sin(((cos(x) + cos((x + x))) - log(log((0.13246 / log(x)))))) + (0.17439 + cos(cos(-0.31502)))))) - ((sin(cos(((cos(log(-0.63967)) / (cos(-0.31502) / x)) + (x / -0.63967)))) - -0.26210) - ((sin(((cos(x) + cos((x / -0.63967))) - (0.13246 / x))) - (x / -0.63967)) * cos(exp(cos((x * -0.07133)))))))) - -0.26210) - (x / -0.63967)) * cos(exp(cos((x * -0.07133)))))))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.gen b/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.his b/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.his new file mode 100644 index 0000000..58c447a --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.his @@ -0,0 +1,1451 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 7 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11649.8331 + standardized fitness: 11649.8331 + adjusted fitness: 0.0001 +TREE: + (exp (exp (+ (log x) + (sin 0.34177)))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 7 + depth: 4 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11649.8331 + standardized fitness: 11649.8331 + adjusted fitness: 0.0001 +TREE: + (exp (exp (+ (log x) + (sin 0.34177)))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 17 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11536.9939 + standardized fitness: 11536.9939 + adjusted fitness: 0.0001 +TREE: + (+ (/ (+ x x) + (/ 0.13246 x)) + (exp (* (cos (+ x x)) + (* x -0.76856)))) +=== BEST-OF-RUN === + current generation: 3 + generation: 2 + nodes: 17 + depth: 5 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 11536.9939 + standardized fitness: 11536.9939 + adjusted fitness: 0.0001 +TREE: + (+ (/ (+ x x) + (/ 0.13246 x)) + (exp (* (cos (+ x x)) + (* x -0.76856)))) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 27 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8216.2452 + standardized fitness: 8216.2452 + adjusted fitness: 0.0001 +TREE: + (exp (exp (log (* (- (- (log (sin (log x))) + (+ (exp (log -0.56757)) + (log (cos (cos 0.04404))))) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 4 + nodes: 27 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8216.2452 + standardized fitness: 8216.2452 + adjusted fitness: 0.0001 +TREE: + (exp (exp (log (* (- (- (log (sin (log x))) + (+ (exp (log -0.56757)) + (log (cos (cos 0.04404))))) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 4 + nodes: 27 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8216.2452 + standardized fitness: 8216.2452 + adjusted fitness: 0.0001 +TREE: + (exp (exp (log (* (- (- (log (sin (log x))) + (+ (exp (log -0.56757)) + (log (cos (cos 0.04404))))) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 24 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6449.6732 + standardized fitness: 6449.6732 + adjusted fitness: 0.0002 +TREE: + (exp (exp (log (* (- (- (log x) + (+ (exp (log -0.56757)) + (log (log x)))) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 8 + generation: 7 + nodes: 24 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6449.6732 + standardized fitness: 6449.6732 + adjusted fitness: 0.0002 +TREE: + (exp (exp (log (* (- (- (log x) + (+ (exp (log -0.56757)) + (log (log x)))) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 9 + generation: 7 + nodes: 24 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 6449.6732 + standardized fitness: 6449.6732 + adjusted fitness: 0.0002 +TREE: + (exp (exp (log (* (- (- (log x) + (+ (exp (log -0.56757)) + (log (log x)))) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 20 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4758.3653 + standardized fitness: 4758.3653 + adjusted fitness: 0.0002 +TREE: + (exp (exp (log (* (- (- (log (sin (log x))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 10 + nodes: 20 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4758.3653 + standardized fitness: 4758.3653 + adjusted fitness: 0.0002 +TREE: + (exp (exp (log (* (- (- (log (sin (log x))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 10 + nodes: 20 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4758.3653 + standardized fitness: 4758.3653 + adjusted fitness: 0.0002 +TREE: + (exp (exp (log (* (- (- (log (sin (log x))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 39 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 4107.1612 + standardized fitness: 4107.1612 + adjusted fitness: 0.0002 +TREE: + (exp (exp (log (* (- (- (/ (/ -0.18067 x) + (- (+ (/ (+ x x) + (/ 0.13246 x)) + (exp (+ x + (+ 0.17439 + (cos (cos -0.31502)))))) + (exp x))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 54 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3557.1203 + standardized fitness: 3557.1203 + adjusted fitness: 0.0003 +TREE: + (exp (exp (log (* (- (- (/ (- (+ x + (+ x x)) + (sin (log (/ (sin (- (log 0.70326) + (- x 0.19231))) + (log x))))) + (- (+ (/ (+ x x) + (/ 0.13246 x)) + (exp (+ x + (+ 0.17439 + (cos (cos -0.31502)))))) + (exp x))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 14 + nodes: 54 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3557.1203 + standardized fitness: 3557.1203 + adjusted fitness: 0.0003 +TREE: + (exp (exp (log (* (- (- (/ (- (+ x + (+ x x)) + (sin (log (/ (sin (- (log 0.70326) + (- x 0.19231))) + (log x))))) + (- (+ (/ (+ x x) + (/ 0.13246 x)) + (exp (+ x + (+ 0.17439 + (cos (cos -0.31502)))))) + (exp x))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 55 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3486.7899 + standardized fitness: 3486.7899 + adjusted fitness: 0.0003 +TREE: + (exp (exp (log (* (- (- (/ (- (+ x + (+ x x)) + (sin (log (/ (sin (- (log 0.70326) + (- x 0.19231))) + (log x))))) + (- (+ (/ (+ x x) + (/ 0.13246 x)) + (+ (- (exp 0.86316) + (sin x)) + (+ x -0.51638))) + (exp x))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 17 + generation: 16 + nodes: 55 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3486.7899 + standardized fitness: 3486.7899 + adjusted fitness: 0.0003 +TREE: + (exp (exp (log (* (- (- (/ (- (+ x + (+ x x)) + (sin (log (/ (sin (- (log 0.70326) + (- x 0.19231))) + (log x))))) + (- (+ (/ (+ x x) + (/ 0.13246 x)) + (+ (- (exp 0.86316) + (sin x)) + (+ x -0.51638))) + (exp x))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 18 + generation: 18 + nodes: 54 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3315.5987 + standardized fitness: 3315.5987 + adjusted fitness: 0.0003 +TREE: + (exp (exp (log (* (- (- (/ (- (+ x + (+ x x)) + (sin (log (- (* (cos (cos (log x))) + (exp x)) + (exp (- 0.18865 x)))))) + (- (+ (/ x + (/ 0.13246 x)) + (exp (+ x + (+ 0.17439 + (cos (cos -0.31502)))))) + (exp x))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 19 + nodes: 54 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3301.7543 + standardized fitness: 3301.7543 + adjusted fitness: 0.0003 +TREE: + (exp (exp (log (* (- (- (/ (- (+ x + (+ x x)) + (sin (log (- (* (cos (cos (log x))) + (exp x)) + (exp (+ x 0.43273)))))) + (- (+ (/ x + (/ 0.13246 x)) + (exp (+ x + (+ 0.17439 + (cos (cos -0.31502)))))) + (exp x))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 74 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3103.5371 + standardized fitness: 3103.5371 + adjusted fitness: 0.0003 +TREE: + (exp (exp (log (* (- (- (/ (+ (cos (/ (- (exp (exp x)) + (- (sin (* x x)) + (log x))) + (/ 0.20618 0.89010))) + (+ (- (- x x) + (/ x -0.10795)) + (cos (cos (cos (log (- x x))))))) + (- (+ (/ (+ x x) + (/ 0.13246 x)) + (exp (+ x + (+ 0.17439 + (cos (cos (exp 0.55222))))))) + (- (- x x) + (/ x -0.10795)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 21 + generation: 20 + nodes: 74 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3103.5371 + standardized fitness: 3103.5371 + adjusted fitness: 0.0003 +TREE: + (exp (exp (log (* (- (- (/ (+ (cos (/ (- (exp (exp x)) + (- (sin (* x x)) + (log x))) + (/ 0.20618 0.89010))) + (+ (- (- x x) + (/ x -0.10795)) + (cos (cos (cos (log (- x x))))))) + (- (+ (/ (+ x x) + (/ 0.13246 x)) + (exp (+ x + (+ 0.17439 + (cos (cos (exp 0.55222))))))) + (- (- x x) + (/ x -0.10795)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 22 + generation: 20 + nodes: 74 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3103.5371 + standardized fitness: 3103.5371 + adjusted fitness: 0.0003 +TREE: + (exp (exp (log (* (- (- (/ (+ (cos (/ (- (exp (exp x)) + (- (sin (* x x)) + (log x))) + (/ 0.20618 0.89010))) + (+ (- (- x x) + (/ x -0.10795)) + (cos (cos (cos (log (- x x))))))) + (- (+ (/ (+ x x) + (/ 0.13246 x)) + (exp (+ x + (+ 0.17439 + (cos (cos (exp 0.55222))))))) + (- (- x x) + (/ x -0.10795)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 66 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3085.7191 + standardized fitness: 3085.7191 + adjusted fitness: 0.0003 +TREE: + (exp (exp (log (* (- (- (/ (- (+ x + (+ x x)) + (+ x x)) + (- (+ (/ (+ x x) + (/ (cos -0.31502) x)) + (exp (+ (sin (- (+ (* -0.69639 0.46626) + (cos (log -0.19244))) + (log (exp (* (cos 0.04404) + (sin 0.22158)))))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (sin (- (log 0.70326) + (- x 0.19231))))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 67 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3043.6916 + standardized fitness: 3043.6916 + adjusted fitness: 0.0003 +TREE: + (exp (exp (log (* (- (- (/ (+ (cos (/ (sin x) + (/ 0.20618 0.89010))) + (+ (- (- x x) + (/ x -0.10795)) + (cos (cos (cos (log (- x x))))))) + (- (+ (/ (+ x x) + (/ 0.13246 x)) + (exp (+ (* x -0.07133) + (+ 0.17439 + (cos (cos (exp 0.55222))))))) + (- (- x x) + (/ x -0.10795)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 25 + generation: 24 + nodes: 67 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3043.6916 + standardized fitness: 3043.6916 + adjusted fitness: 0.0003 +TREE: + (exp (exp (log (* (- (- (/ (+ (cos (/ (sin x) + (/ 0.20618 0.89010))) + (+ (- (- x x) + (/ x -0.10795)) + (cos (cos (cos (log (- x x))))))) + (- (+ (/ (+ x x) + (/ 0.13246 x)) + (exp (+ (* x -0.07133) + (+ 0.17439 + (cos (cos (exp 0.55222))))))) + (- (- x x) + (/ x -0.10795)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 74 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2552.3268 + standardized fitness: 2552.3268 + adjusted fitness: 0.0004 +TREE: + (exp (exp (log (* (- (- (/ (+ (cos (/ (- (exp (exp x)) + (- (sin (* x x)) + (log x))) + (/ 0.20618 0.89010))) + (+ (- (cos (log 0.70326)) + (/ x -0.10795)) + (cos -0.69201))) + (- (+ (/ (+ x x) + (/ 0.13246 x)) + (exp (+ x + (+ 0.17439 + (* (cos (- 0.27523 x)) + (exp (exp (sin 0.52257)))))))) + (- (- x x) + (/ x -0.10795)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 27 + generation: 26 + nodes: 74 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2552.3268 + standardized fitness: 2552.3268 + adjusted fitness: 0.0004 +TREE: + (exp (exp (log (* (- (- (/ (+ (cos (/ (- (exp (exp x)) + (- (sin (* x x)) + (log x))) + (/ 0.20618 0.89010))) + (+ (- (cos (log 0.70326)) + (/ x -0.10795)) + (cos -0.69201))) + (- (+ (/ (+ x x) + (/ 0.13246 x)) + (exp (+ x + (+ 0.17439 + (* (cos (- 0.27523 x)) + (exp (exp (sin 0.52257)))))))) + (- (- x x) + (/ x -0.10795)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 28 + generation: 28 + nodes: 81 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1585.2925 + standardized fitness: 1585.2925 + adjusted fitness: 0.0006 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) + (/ 0.13246 x)) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (* x x)))) + (log (exp (* (cos 0.04404) + (sin 0.22158)))))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (+ x x) + (/ 0.13246 x)) + (+ (- (exp 0.86316) + (sin x)) + (+ x -0.51638))))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 29 + generation: 28 + nodes: 81 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1585.2925 + standardized fitness: 1585.2925 + adjusted fitness: 0.0006 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) + (/ 0.13246 x)) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (* x x)))) + (log (exp (* (cos 0.04404) + (sin 0.22158)))))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (+ x x) + (/ 0.13246 x)) + (+ (- (exp 0.86316) + (sin x)) + (+ x -0.51638))))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 30 + generation: 30 + nodes: 79 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1409.9411 + standardized fitness: 1409.9411 + adjusted fitness: 0.0007 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (* x x)))) + (log (exp (* (cos 0.04404) + (sin 0.22158)))))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (+ x x) + (/ 0.13246 x)) + (+ (- (exp 0.86316) + (sin x)) + (+ x -0.51638))))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 31 + generation: 30 + nodes: 79 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1409.9411 + standardized fitness: 1409.9411 + adjusted fitness: 0.0007 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (* x x)))) + (log (exp (* (cos 0.04404) + (sin 0.22158)))))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (+ x x) + (/ 0.13246 x)) + (+ (- (exp 0.86316) + (sin x)) + (+ x -0.51638))))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 32 + generation: 30 + nodes: 79 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1409.9411 + standardized fitness: 1409.9411 + adjusted fitness: 0.0007 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (* x x)))) + (log (exp (* (cos 0.04404) + (sin 0.22158)))))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (+ x x) + (/ 0.13246 x)) + (+ (- (exp 0.86316) + (sin x)) + (+ x -0.51638))))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 33 + generation: 33 + nodes: 42 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1409.0322 + standardized fitness: 1409.0322 + adjusted fitness: 0.0007 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) + (/ 0.13246 x)) + (- (exp (/ 0.13246 + (* x x))) + (- (- (sin (sin -0.77694)) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 34 + generation: 34 + nodes: 82 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1368.5677 + standardized fitness: 1368.5677 + adjusted fitness: 0.0007 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (* x x)))) + (log (exp (* (cos 0.04404) + (sin 0.22158)))))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (+ x x) + (/ 0.13246 x)) + (+ (- (exp 0.86316) + (/ (cos x) + (log x))) + (+ x -0.51638))))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 35 + generation: 35 + nodes: 66 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1314.4280 + standardized fitness: 1314.4280 + adjusted fitness: 0.0008 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (* x x)))) + (log (exp (* (cos 0.04404) + (sin 0.22158)))))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (cos (* x -0.07133)))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 36 + generation: 36 + nodes: 63 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1305.6918 + standardized fitness: 1305.6918 + adjusted fitness: 0.0008 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (* x x)))) + (log (/ x -0.63967)))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (cos (* x -0.07133)))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 37 + generation: 37 + nodes: 76 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1217.3913 + standardized fitness: 1217.3913 + adjusted fitness: 0.0008 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (* x x)))) + (log (exp (* (cos 0.04404) + (sin 0.22158)))))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (+ x x) + (/ (/ x -0.63967) x)) + (cos (* x -0.07133))))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 38 + generation: 38 + nodes: 47 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1085.7635 + standardized fitness: 1085.7635 + adjusted fitness: 0.0009 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) + (/ 0.13246 x)) + (- (exp (* (cos (exp (cos (+ -0.20651 -0.80452)))) + (- 0.27523 x))) + (- (- (sin (sin -0.77694)) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 39 + generation: 39 + nodes: 64 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 904.6618 + standardized fitness: 904.6618 + adjusted fitness: 0.0011 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (* x x)))) + (log (exp (* (cos 0.04404) + (sin 0.22158)))))) + (+ 0.17439 + (cos (/ (sin x) + (sin 0.63564))))))) + (- (/ 0.13246 x) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 40 + generation: 40 + nodes: 63 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 808.9279 + standardized fitness: 808.9279 + adjusted fitness: 0.0012 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x x))) + (log (exp (* (cos 0.04404) + (sin 0.22158)))))) + (+ 0.17439 + (cos (sin (exp 0.41814))))))) + (- (- (sin (* x -0.07133)) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 41 + generation: 41 + nodes: 73 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 748.2187 + standardized fitness: 748.2187 + adjusted fitness: 0.0013 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (* x x)))) + (log (exp 0.79077)))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (cos (* x -0.07133)) + (cos -0.31502)) + (+ (/ 0.13246 x) + (+ x -0.51638))))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 42 + generation: 41 + nodes: 73 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 748.2187 + standardized fitness: 748.2187 + adjusted fitness: 0.0013 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (* x x)))) + (log (exp 0.79077)))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (cos (* x -0.07133)) + (cos -0.31502)) + (+ (/ 0.13246 x) + (+ x -0.51638))))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 43 + generation: 41 + nodes: 73 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 748.2187 + standardized fitness: 748.2187 + adjusted fitness: 0.0013 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (* x x)))) + (log (exp 0.79077)))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (cos (* x -0.07133)) + (cos -0.31502)) + (+ (/ 0.13246 x) + (+ x -0.51638))))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 44 + generation: 41 + nodes: 73 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 748.2187 + standardized fitness: 748.2187 + adjusted fitness: 0.0013 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (* x x)))) + (log (exp 0.79077)))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (cos (* x -0.07133)) + (cos -0.31502)) + (+ (/ 0.13246 x) + (+ x -0.51638))))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 45 + generation: 41 + nodes: 73 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 748.2187 + standardized fitness: 748.2187 + adjusted fitness: 0.0013 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (* x x)))) + (log (exp 0.79077)))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (cos (* x -0.07133)) + (cos -0.31502)) + (+ (/ 0.13246 x) + (+ x -0.51638))))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 46 + generation: 46 + nodes: 73 + depth: 17 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 730.8580 + standardized fitness: 730.8580 + adjusted fitness: 0.0014 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (* x x)))) + (log (exp 0.79077)))) + (+ 0.17439 + (cos (cos 0.13246)))))) + (- (- (sin (cos (+ (/ (cos (* x -0.07133)) + (cos -0.31502)) + (+ (/ 0.13246 x) + (+ x -0.51638))))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 47 + generation: 47 + nodes: 80 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 649.9953 + standardized fitness: 649.9953 + adjusted fitness: 0.0015 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (/ x -0.63967)))) + (log (exp (* (+ x -0.51638) + (sin 0.22158)))))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (+ x x) + (cos 0.04404)) + (+ (- (exp 0.86316) + (/ (cos x) + (log x))) -0.31502)))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 48 + generation: 47 + nodes: 80 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 649.9953 + standardized fitness: 649.9953 + adjusted fitness: 0.0015 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (/ x -0.63967)))) + (log (exp (* (+ x -0.51638) + (sin 0.22158)))))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (+ x x) + (cos 0.04404)) + (+ (- (exp 0.86316) + (/ (cos x) + (log x))) -0.31502)))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 49 + generation: 47 + nodes: 80 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 649.9953 + standardized fitness: 649.9953 + adjusted fitness: 0.0015 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) 0.37744) + (- (+ (/ 0.13246 x) + (exp (+ (sin (- (+ (cos x) + (cos (+ x + (/ x -0.63967)))) + (log (exp (* (+ x -0.51638) + (sin 0.22158)))))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (+ x x) + (cos 0.04404)) + (+ (- (exp 0.86316) + (/ (cos x) + (log x))) -0.31502)))) -0.26210) + (/ x -0.63967)))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) +=== BEST-OF-RUN === + current generation: 50 + generation: 50 + nodes: 97 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 595.4151 + standardized fitness: 595.4151 + adjusted fitness: 0.0017 +TREE: + (exp (exp (log (* (- (- (/ (- (* (cos x) + (log x)) + (/ 0.13246 + (exp (* (cos 0.04404) + (/ 0.13246 x))))) + (- (+ -0.10795 + (exp (+ (sin (- (+ (cos x) + (cos (+ x x))) + (log (log (/ 0.13246 + (log x)))))) + (+ 0.17439 + (cos (cos -0.31502)))))) + (- (- (sin (cos (+ (/ (cos (log -0.63967)) + (/ (cos -0.31502) x)) + (/ x -0.63967)))) -0.26210) + (* (- (sin (- (+ (cos x) + (cos (/ x -0.63967))) + (/ 0.13246 x))) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) -0.26210) + (/ x -0.63967)) + (cos (exp (cos (* x -0.07133)))))))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.prg b/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.prg new file mode 100644 index 0000000..06baf7d --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = -1.56005, y = 3.00006 + x = 1.88494, y = 24.75910 + x = -1.78753, y = 5.90578 + x = -4.57411, y = 358.39821 + x = -3.54659, y = 122.63484 + x = -3.19521, y = 78.62457 + x = -1.35975, y = 1.39358 + x = -4.39040, y = 301.80794 + x = -4.16060, y = 240.78464 + x = 4.69495, y = 616.09898 + x = 3.42243, y = 192.41727 + x = 0.82498, y = 2.53024 + x = 4.38926, y = 479.37967 + x = 1.15511, y = 5.81098 + x = 3.17406, y = 146.72549 + x = 4.32862, y = 455.24249 + x = 3.42282, y = 192.49618 + x = 1.70565, y = 18.04079 + x = 3.75641, y = 269.98072 + x = 4.88341, y = 713.90438 + x = 4.23757, y = 420.74281 + x = -2.30238, y = 18.89387 + x = -2.18415, y = 14.92475 + x = 3.40191, y = 188.27991 + x = 3.57367, y = 225.08621 + x = -3.21899, y = 81.15740 + x = -1.93079, y = 8.49694 + x = 1.24578, y = 7.13973 + x = 1.91654, y = 26.12117 + x = -0.28765, y = -0.22186 + x = 2.96120, y = 114.58544 + x = 3.00073, y = 120.10384 + x = -3.68976, y = 145.04125 + x = -4.68745, y = 397.06681 + x = 3.92815, y = 318.06708 + x = -2.50861, y = 27.60083 + x = 1.97428, y = 28.76003 + x = 0.21118, y = 0.26718 + x = 4.07569, y = 364.32448 + x = 4.40964, y = 487.70602 + x = 4.99873, y = 779.25780 + x = -2.88664, y = 50.82600 + x = -1.92581, y = 8.39530 + x = 0.14278, y = 0.16649 + x = 3.94071, y = 321.82217 + x = -4.53680, y = 346.30836 + x = -4.08746, y = 223.46349 + x = -0.75381, y = -0.29103 + x = -3.24432, y = 83.92179 + x = -4.76646, y = 425.82180 + x = 4.20871, y = 410.22998 + x = 3.17328, y = 146.59613 + x = 0.24901, y = 0.33030 + x = 2.26396, y = 45.26407 + x = 1.33608, y = 8.69286 + x = 0.43922, y = 0.75409 + x = 0.57471, y = 1.20390 + x = -2.10008, y = 12.49932 + x = -3.50226, y = 116.25635 + x = 3.96202, y = 328.26887 + x = -0.16949, y = -0.14481 + x = 3.42908, y = 193.77243 + x = -3.46610, y = 111.23898 + x = -3.57024, y = 126.14481 + x = 4.69621, y = 616.72065 + x = 1.30907, y = 8.20260 + x = -2.24922, y = 17.02424 + x = -0.75352, y = -0.29118 + x = 2.21440, y = 42.02159 + x = 2.71086, y = 83.98571 + x = 3.41607, y = 191.12819 + x = -0.82337, y = -0.24402 + x = -0.05002, y = -0.04764 + x = 3.52286, y = 213.67667 + x = -4.32529, y = 283.45983 + x = -3.93571, y = 190.52500 + x = 2.44861, y = 59.07380 + x = 0.55189, y = 1.11734 + x = -2.93417, y = 54.53461 + x = -1.86555, y = 7.23444 + x = 1.20630, y = 6.53431 + x = -4.83071, y = 450.33481 + x = -0.25196, y = -0.20044 + x = 2.95452, y = 113.67273 + x = 4.88185, y = 713.04528 + x = 4.53212, y = 540.05867 + x = 1.46683, y = 11.40378 + x = 4.88048, y = 712.29859 + x = -4.38366, y = 299.86723 + x = -2.38092, y = 21.92585 + x = 4.74061, y = 638.80348 + x = -2.27220, y = 17.81507 + x = 2.99678, y = 119.54272 + x = -3.63517, y = 136.16414 + x = -4.00643, y = 205.38597 + x = 0.82210, y = 2.51036 + x = 2.16339, y = 38.87355 + x = -0.44867, y = -0.29716 + x = -0.53193, y = -0.31943 + x = 2.87642, y = 103.40487 + x = -1.98541, y = 9.66848 + x = 0.36065, y = 0.55455 + x = -2.81964, y = 45.92228 + x = 3.62123, y = 236.17894 + x = -0.97276, y = -0.05157 + x = 4.03942, y = 352.50856 + x = -1.57476, y = 3.14966 + x = 2.29449, y = 47.35591 + x = 2.38211, y = 53.77300 + x = 1.80396, y = 21.51909 + x = 3.97239, y = 331.44142 + x = 0.69422, y = 1.74302 + x = -2.71642, y = 39.06707 + x = 3.87865, y = 303.59326 + x = 4.22141, y = 414.83278 + x = -2.89729, y = 51.64048 + x = -4.56770, y = 356.29752 + x = -4.83093, y = 450.42052 + x = -4.56381, y = 355.03015 + x = -1.12589, y = 0.32141 + x = 4.14568, y = 387.96308 + x = 3.19946, y = 150.97341 + x = 4.77841, y = 658.07210 + x = 4.33798, y = 458.90903 + x = -0.30373, y = -0.23099 + x = -1.94458, y = 8.78251 + x = -3.00373, y = 60.32108 + x = 1.32875, y = 8.55758 + x = -0.50438, y = -0.31357 + x = -3.36471, y = 98.03524 + x = 2.63905, y = 76.48897 + x = -4.84588, y = 456.27333 + x = 3.16978, y = 146.01819 + x = 0.26187, y = 0.35311 + x = -0.83794, y = -0.23114 + x = -4.48792, y = 330.93836 + x = 2.88571, y = 104.58769 + x = 0.86939, y = 2.85363 + x = 3.73311, y = 263.90813 + x = 2.77914, y = 91.62184 + x = 4.09982, y = 372.34641 + x = 1.29776, y = 8.00409 + x = 4.44430, y = 502.11190 + x = 1.74223, y = 19.27934 + x = -1.52659, y = 2.67736 + x = -3.45885, y = 110.25270 + x = -2.05061, y = 11.21359 + x = 3.65879, y = 245.23048 + x = 1.66856, y = 16.84919 + x = 2.93815, y = 111.45907 + x = -1.17417, y = 0.48645 + x = -4.16536, y = 241.94545 + x = -4.94430, y = 496.24277 + x = -2.16722, y = 14.41074 + x = -4.76263, y = 424.39296 + x = -2.13953, y = 13.59852 + x = 2.19087, y = 40.54604 + x = 1.91848, y = 26.20679 + x = -0.54083, y = -0.32097 + x = -1.48484, y = 2.30710 + x = -3.84629, y = 172.90709 + x = 2.55585, y = 68.45601 + x = 3.56139, y = 222.28601 + x = 4.60297, y = 572.21850 + x = 2.70414, y = 83.26110 + x = -2.32537, y = 19.74725 + x = 1.24992, y = 7.20583 + x = 0.54135, y = 1.07893 + x = 0.40525, y = 0.66299 + x = 2.68026, y = 80.72538 + x = 4.15332, y = 390.61255 + x = -3.22649, y = 81.96849 + x = -1.49949, y = 2.43303 + x = -2.50196, y = 27.28145 + x = -4.95172, y = 499.36136 + x = 3.31104, y = 170.75960 + x = 3.14375, y = 141.77404 + x = 1.94562, y = 27.42580 + x = 4.10061, y = 372.61202 + x = -3.16419, y = 75.41035 + x = 0.86455, y = 2.81686 + x = 0.07779, y = 0.08435 + x = -3.13042, y = 72.02334 + x = -4.01954, y = 208.23367 + x = -4.51842, y = 340.46702 + x = -4.91680, y = 484.82255 + x = -3.40727, y = 103.42527 + x = 3.56681, y = 223.51906 + x = 2.55773, y = 68.63006 + x = -3.51257, y = 117.71744 + x = -0.73785, y = -0.29873 + x = -2.65564, y = 35.40459 + x = -4.53586, y = 346.00717 + x = -3.94715, y = 192.87349 + x = 3.62582, y = 237.27181 + x = 2.32631, y = 49.61413 + x = -2.20275, y = 15.50433 + x = 1.94626, y = 27.45502 + x = 1.69395, y = 17.65799 + x = 0.16237, y = 0.19371 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.stt b/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.stt new file mode 100644 index 0000000..7a9be05 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.010 3.668 7 4 18 5 0.0000 0.0001 0.0000 13.010 3.668 7 4 18 5 +1 0 0.0000 0.0001 0.0000 12.571 3.904 7 4 27 7 0.0000 0.0001 0.0000 12.791 3.786 7 4 27 7 +2 0 0.0000 0.0001 0.0000 12.588 4.116 17 5 16 7 0.0000 0.0001 0.0000 12.723 3.896 17 5 27 7 +3 0 0.0000 0.0001 0.0000 12.558 4.251 17 5 5 3 0.0000 0.0001 0.0000 12.682 3.985 17 5 27 7 +4 0 0.0000 0.0001 0.0000 12.761 4.375 27 10 24 8 0.0000 0.0001 0.0000 12.698 4.063 27 10 27 7 +5 0 0.0000 0.0001 0.0000 12.688 4.440 27 10 13 7 0.0000 0.0001 0.0000 12.696 4.126 27 10 27 7 +6 0 0.0000 0.0001 0.0000 12.975 4.572 27 10 11 7 0.0000 0.0001 0.0000 12.736 4.189 27 10 27 7 +7 0 0.0000 0.0002 0.0000 13.472 4.729 24 9 10 4 0.0000 0.0002 0.0000 12.828 4.257 24 9 27 7 +8 0 0.0000 0.0002 0.0000 13.966 4.879 24 9 16 5 0.0000 0.0002 0.0000 12.954 4.326 24 9 27 7 +9 0 0.0000 0.0002 0.0000 14.687 5.001 24 9 34 12 0.0000 0.0002 0.0000 13.128 4.394 24 9 27 7 +10 0 0.0000 0.0002 0.0000 15.994 5.256 20 9 20 7 0.0000 0.0002 0.0000 13.388 4.472 20 9 27 7 +11 0 0.0000 0.0002 0.0000 17.983 5.633 20 9 41 10 0.0000 0.0002 0.0000 13.771 4.569 20 9 27 7 +12 0 0.0000 0.0002 0.0000 20.907 6.196 20 9 45 8 0.0000 0.0002 0.0000 14.320 4.694 20 9 27 7 +13 0 0.0000 0.0002 0.0000 24.030 6.761 39 14 20 6 0.0000 0.0002 0.0000 15.014 4.841 39 14 27 7 +14 0 0.0000 0.0003 0.0000 27.590 7.376 54 14 34 8 0.0000 0.0003 0.0000 15.852 5.010 54 14 27 7 +15 0 0.0001 0.0003 0.0000 31.106 7.987 54 14 72 12 0.0000 0.0003 0.0000 16.805 5.196 54 14 27 7 +16 0 0.0001 0.0003 0.0000 34.457 8.531 55 14 45 12 0.0000 0.0003 0.0000 17.844 5.393 55 14 27 7 +17 0 0.0001 0.0003 0.0000 37.336 9.021 55 14 55 17 0.0000 0.0003 0.0000 18.927 5.594 55 14 27 7 +18 0 0.0001 0.0003 0.0000 40.317 9.555 54 15 67 13 0.0000 0.0003 0.0000 20.052 5.803 54 15 27 7 +19 0 0.0001 0.0003 0.0000 42.753 10.106 54 15 37 12 0.0000 0.0003 0.0000 21.187 6.018 54 15 27 7 +20 0 0.0001 0.0003 0.0000 46.432 10.802 74 15 38 13 0.0000 0.0003 0.0000 22.390 6.246 74 15 27 7 +21 0 0.0001 0.0003 0.0000 49.861 11.568 74 15 33 13 0.0000 0.0003 0.0000 23.638 6.488 74 15 27 7 +22 0 0.0001 0.0003 0.0000 52.112 12.335 74 15 25 9 0.0000 0.0003 0.0000 24.876 6.742 74 15 27 7 +23 0 0.0001 0.0003 0.0000 53.785 12.938 66 17 10 6 0.0001 0.0003 0.0000 26.081 7.000 66 17 27 7 +24 0 0.0001 0.0003 0.0000 55.382 13.401 67 15 61 16 0.0001 0.0003 0.0000 27.253 7.256 67 15 27 7 +25 0 0.0001 0.0003 0.0000 57.032 13.727 67 15 30 11 0.0001 0.0003 0.0000 28.398 7.505 67 15 27 7 +26 0 0.0002 0.0004 0.0000 59.138 14.121 74 16 26 7 0.0001 0.0004 0.0000 29.537 7.750 74 16 27 7 +27 0 0.0002 0.0004 0.0000 59.802 14.152 74 16 83 17 0.0001 0.0004 0.0000 30.618 7.979 74 16 27 7 +28 0 0.0002 0.0006 0.0000 60.545 14.190 81 17 5 4 0.0001 0.0006 0.0000 31.650 8.193 81 17 27 7 +29 0 0.0002 0.0006 0.0000 60.695 14.178 81 17 31 11 0.0001 0.0006 0.0000 32.618 8.392 81 17 27 7 +30 0 0.0002 0.0007 0.0000 61.628 14.234 79 17 9 4 0.0001 0.0007 0.0000 33.554 8.581 79 17 27 7 +31 0 0.0002 0.0007 0.0000 63.592 14.479 79 17 10 7 0.0001 0.0007 0.0000 34.492 8.765 79 17 27 7 +32 0 0.0002 0.0007 0.0000 64.374 14.449 79 17 31 10 0.0001 0.0007 0.0000 35.398 8.937 79 17 27 7 +33 0 0.0002 0.0007 0.0000 65.607 14.549 42 12 26 10 0.0001 0.0007 0.0000 36.286 9.102 42 12 27 7 +34 0 0.0002 0.0007 0.0000 66.469 14.555 82 17 54 17 0.0001 0.0007 0.0000 37.149 9.258 82 17 27 7 +35 0 0.0002 0.0008 0.0000 67.719 14.626 66 17 41 13 0.0001 0.0008 0.0000 37.998 9.407 66 17 27 7 +36 0 0.0002 0.0008 0.0000 68.320 14.667 63 17 33 11 0.0001 0.0008 0.0000 38.817 9.549 63 17 27 7 +37 0 0.0002 0.0008 0.0000 68.028 14.635 76 17 16 7 0.0001 0.0008 0.0000 39.586 9.683 76 17 27 7 +38 0 0.0002 0.0009 0.0000 68.541 14.679 47 14 37 12 0.0001 0.0009 0.0000 40.328 9.811 47 14 27 7 +39 0 0.0002 0.0011 0.0000 69.061 14.753 64 17 21 8 0.0001 0.0011 0.0000 41.047 9.935 64 17 27 7 +40 0 0.0002 0.0012 0.0000 69.305 14.852 63 17 34 11 0.0001 0.0012 0.0000 41.736 10.055 63 17 27 7 +41 0 0.0002 0.0013 0.0000 69.690 14.898 73 17 34 9 0.0001 0.0013 0.0000 42.402 10.170 73 17 27 7 +42 0 0.0002 0.0013 0.0000 69.745 15.017 73 17 52 15 0.0001 0.0013 0.0000 43.037 10.283 73 17 27 7 +43 0 0.0002 0.0013 0.0000 69.028 14.988 73 17 57 16 0.0001 0.0013 0.0000 43.628 10.390 73 17 27 7 +44 0 0.0003 0.0013 0.0000 69.164 15.148 73 17 18 7 0.0001 0.0013 0.0000 44.196 10.496 73 17 27 7 +45 0 0.0003 0.0013 0.0000 68.080 15.124 73 17 85 17 0.0001 0.0013 0.0000 44.715 10.596 73 17 27 7 +46 0 0.0003 0.0014 0.0000 67.649 15.141 73 17 28 8 0.0001 0.0014 0.0000 45.203 10.693 73 17 27 7 +47 0 0.0003 0.0015 0.0000 67.151 15.230 80 17 16 8 0.0001 0.0015 0.0000 45.660 10.787 80 17 27 7 +48 0 0.0003 0.0015 0.0000 66.125 15.186 80 17 52 12 0.0001 0.0015 0.0000 46.078 10.877 80 17 27 7 +49 0 0.0004 0.0015 0.0000 66.446 15.273 80 17 115 17 0.0001 0.0015 0.0000 46.485 10.965 80 17 27 7 +50 0 0.0004 0.0017 0.0000 66.025 15.191 97 17 26 7 0.0001 0.0017 0.0000 46.868 11.048 97 17 27 7 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.sys b/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.sys new file mode 100644 index 0000000..af5edc9 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_7/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 1687. +creating initial population(s): + 5666 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 237452614 + freed: 236450014 + not freed: 1002600 + max allocated: 8624841 + malloc'ed blocks: 730667 + realloc'ed blocks: 10 + free'ed blocks: 730517 + +------- time ------- + overall: 4s wall + evaluation: 3s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 300 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 33552 + freed: 33552 + allocated: 13500 + blocks: 26 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.bst b/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.bst new file mode 100644 index 0000000..338cbb2 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.bst @@ -0,0 +1,44 @@ +=== BEST-OF-RUN === + generation: 50 + nodes: 117 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1501.6787 + standardized fitness: 1501.6787 + adjusted fitness: 0.0007 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (+ (sin 0.03372) + (cos (exp (+ (exp (+ x 0.69175)) 0.81505))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (cos 0.07980)))) + (sin (* (cos (+ x -0.99222)) + (cos (* x -0.62435))))) 0.81505)))) + (sin (exp (exp (+ (- (* 0.00559 0.20695) + (exp (+ 0.91897 x))) + (sin 0.25235)))))) + (sin (+ (+ (/ (+ (- 0.81664 + (log x)) x) + (cos -0.06996)) + (cos (* 0.03372 x))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (cos x)) + (/ (+ -0.33718 0.37605) + (+ x x)))) + (exp x))) +TREE-equ: +y = (((log(((x + ((exp(exp(((x + (0.09009 * 0.49060)) - (0.03372 + cos(x))))) + (sin(0.03372) + cos(exp((exp((x + 0.69175)) + 0.81505))))) + cos(sin(0.25235)))) - ((0.69146 * -0.86201) - (((exp(exp((log(x) + log(x)))) + log(log(cos(0.07980)))) + sin((cos((x + -0.99222)) * cos((x * -0.62435))))) + 0.81505)))) - sin(exp(exp((((0.00559 * 0.20695) - exp((0.91897 + x))) + sin(0.25235)))))) - sin((((((0.81664 - log(x)) + x) / cos(-0.06996)) + cos((0.03372 * x))) + 0.81505))) + ((exp(exp((log(x) + sin(0.25235)))) + (log(cos(x)) + ((-0.33718 + 0.37605) / (x + x)))) + exp(x))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.fn b/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.fn new file mode 100644 index 0000000..5aca5ea --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.fn @@ -0,0 +1,2 @@ + +y = (((log(((x + ((exp(exp(((x + (0.09009 * 0.49060)) - (0.03372 + cos(x))))) + (sin(0.03372) + cos(exp((exp((x + 0.69175)) + 0.81505))))) + cos(sin(0.25235)))) - ((0.69146 * -0.86201) - (((exp(exp((log(x) + log(x)))) + log(log(cos(0.07980)))) + sin((cos((x + -0.99222)) * cos((x * -0.62435))))) + 0.81505)))) - sin(exp(exp((((0.00559 * 0.20695) - exp((0.91897 + x))) + sin(0.25235)))))) - sin((((((0.81664 - log(x)) + x) / cos(-0.06996)) + cos((0.03372 * x))) + 0.81505))) + ((exp(exp((log(x) + sin(0.25235)))) + (log(cos(x)) + ((-0.33718 + 0.37605) / (x + x)))) + exp(x))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.gen b/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.his b/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.his new file mode 100644 index 0000000..50e8c25 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.his @@ -0,0 +1,1847 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 30 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8291.4058 + standardized fitness: 8291.4058 + adjusted fitness: 0.0001 +TREE: + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (cos (sin 0.83643)) + (- (- x x) + (+ x 0.81505))))) + (cos (sin (exp (+ (* 0.03372 x) + (sin x)))))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 30 + depth: 6 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8291.4058 + standardized fitness: 8291.4058 + adjusted fitness: 0.0001 +TREE: + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (cos (sin 0.83643)) + (- (- x x) + (+ x 0.81505))))) + (cos (sin (exp (+ (* 0.03372 x) + (sin x)))))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 48 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8125.4155 + standardized fitness: 8125.4155 + adjusted fitness: 0.0001 +TREE: + (+ (- (- (log (sin (exp 0.08645))) + (sin (exp (- 0.67540 0.47532)))) + (- (- -0.71478 x) + (exp 0.26101))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (cos (sin 0.83643)) + (- (- x x) + (+ x 0.81505))))) + (cos (sin (exp (+ (* 0.03372 x) + (sin x))))))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 43 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 8119.2476 + standardized fitness: 8119.2476 + adjusted fitness: 0.0001 +TREE: + (+ (- (- (log (sin (exp 0.08645))) + (sin (exp (- 0.67540 0.47532)))) + (- (- -0.71478 x) + (exp 0.26101))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (cos (sin 0.83643)) + (- (- x x) + (+ x 0.81505))))) + (cos (sin (cos -0.72423))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 52 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7992.5955 + standardized fitness: 7992.5955 + adjusted fitness: 0.0001 +TREE: + (+ (- (- (log (sin (exp 0.08645))) + (sin (exp (- 0.67540 0.47532)))) + (- (- -0.71478 x) + (exp (exp (cos (/ -0.95937 0.94890)))))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (cos (sin 0.83643)) + (- (- x x) + (+ x 0.81505))))) + (cos (sin (exp (+ (* 0.03372 x) + (sin x))))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 4 + nodes: 52 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7992.5955 + standardized fitness: 7992.5955 + adjusted fitness: 0.0001 +TREE: + (+ (- (- (log (sin (exp 0.08645))) + (sin (exp (- 0.67540 0.47532)))) + (- (- -0.71478 x) + (exp (exp (cos (/ -0.95937 0.94890)))))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (cos (sin 0.83643)) + (- (- x x) + (+ x 0.81505))))) + (cos (sin (exp (+ (* 0.03372 x) + (sin x))))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 49 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 7356.1034 + standardized fitness: 7356.1034 + adjusted fitness: 0.0001 +TREE: + (+ (- (- (- (* x x) + (log x)) + (sin (exp (- 0.67540 0.47532)))) + (- (- -0.71478 x) + (exp 0.26101))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (+ (- -0.05821 x) + (* x -0.34706)) + (- (- x x) + (+ x 0.81505))))) + (cos (sin (exp x))))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 44 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 5729.2451 + standardized fitness: 5729.2451 + adjusted fitness: 0.0002 +TREE: + (+ (- (- (log (sin (exp 0.08645))) + (sin (exp (- 0.67540 0.47532)))) + (- (- -0.71478 x) + (exp x))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (cos (sin 0.83643)) + (- (- (log (log 0.55206)) x) + (+ x 0.81505))))) + (cos (sin -0.72423)))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 32 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3944.6753 + standardized fitness: 3944.6753 + adjusted fitness: 0.0003 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (cos (sin 0.83643)) + (- (- x x) + (+ x 0.81505))))) + (+ x + (* (exp 0.44831) 0.49060)))) +=== BEST-OF-RUN === + current generation: 9 + generation: 8 + nodes: 32 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3944.6753 + standardized fitness: 3944.6753 + adjusted fitness: 0.0003 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (cos (sin 0.83643)) + (- (- x x) + (+ x 0.81505))))) + (+ x + (* (exp 0.44831) 0.49060)))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 58 + depth: 10 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3515.3285 + standardized fitness: 3515.3285 + adjusted fitness: 0.0003 +TREE: + (+ (- (- (log (sin (exp 0.08645))) + (sin (exp (- (* x + (+ x + (exp (cos -0.11063)))) 0.47532)))) + (- (- -0.71478 x) + (exp (+ 0.91897 x)))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (sin 0.87169)) + (cos (+ (- (+ x + (/ x -0.97178)) + (log (sin -0.39903))) + (- (+ (cos -0.25723) + (+ x 0.37316)) + (sin (log -0.41614))))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 11 + nodes: 63 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3507.1350 + standardized fitness: 3507.1350 + adjusted fitness: 0.0003 +TREE: + (+ (- (- (log (sin (exp 0.08645))) + (sin (exp (- (* x + (+ x + (exp (cos (* (- 0.22543 0.75090) + (exp x)))))) 0.47532)))) + (- (- -0.71478 x) + (exp (+ 0.91897 x)))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (sin 0.87169)) + (cos (+ (- (+ x + (/ x -0.97178)) + (log (sin -0.39903))) + (- (+ (cos -0.25723) + (+ x 0.37316)) + (sin (log -0.41614))))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 11 + nodes: 63 + depth: 12 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3507.1350 + standardized fitness: 3507.1350 + adjusted fitness: 0.0003 +TREE: + (+ (- (- (log (sin (exp 0.08645))) + (sin (exp (- (* x + (+ x + (exp (cos (* (- 0.22543 0.75090) + (exp x)))))) 0.47532)))) + (- (- -0.71478 x) + (exp (+ 0.91897 x)))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (sin 0.87169)) + (cos (+ (- (+ x + (/ x -0.97178)) + (log (sin -0.39903))) + (- (+ (cos -0.25723) + (+ x 0.37316)) + (sin (log -0.41614))))))) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 36 + depth: 9 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3423.1451 + standardized fitness: 3423.1451 + adjusted fitness: 0.0003 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (cos (sin 0.83643)) + (- (- x x) + (- (cos (sin 0.83643)) + (* x x)))))) + (+ x + (* (exp x) 0.49060)))) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 43 + depth: 8 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3198.9977 + standardized fitness: 3198.9977 + adjusted fitness: 0.0003 +TREE: + (+ (- (exp (+ (- 0.60729 0.15679) + (+ 0.16061 x))) + (- 0.67540 0.47532)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ x + (* (sin 0.83643) + (* (+ x x) + (- x 0.24908))))) + (cos (sin (exp (+ (log (log x)) + (sin x))))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 69 + depth: 11 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 3131.9731 + standardized fitness: 3131.9731 + adjusted fitness: 0.0003 +TREE: + (+ (- (- (- (* x x) + (log x)) + (- 0.67540 0.47532)) + (- (cos (sin 0.16823)) + (exp 0.26101))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (+ (- -0.05821 x) + (* x -0.34706)) + (- (* (exp x) -0.98893) + (+ x 0.81505))))) + (- (- (log (sin (exp 0.08645))) + (sin (exp (- (* x + (+ x + (exp (cos -0.11063)))) 0.47532)))) + (- (- -0.71478 x) + (exp (+ 0.91897 x)))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 30 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2840.5418 + standardized fitness: 2840.5418 + adjusted fitness: 0.0004 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (+ (sin 0.83643) x))) + (* (exp (sin 0.97081)) + (* (+ 0.81505 x) + (- x 0.24908))))) +=== BEST-OF-RUN === + current generation: 17 + generation: 16 + nodes: 30 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2840.5418 + standardized fitness: 2840.5418 + adjusted fitness: 0.0004 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (+ (sin 0.83643) x))) + (* (exp (sin 0.97081)) + (* (+ 0.81505 x) + (- x 0.24908))))) +=== BEST-OF-RUN === + current generation: 18 + generation: 16 + nodes: 30 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2840.5418 + standardized fitness: 2840.5418 + adjusted fitness: 0.0004 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (+ (sin 0.83643) x))) + (* (exp (sin 0.97081)) + (* (+ 0.81505 x) + (- x 0.24908))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 16 + nodes: 30 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2840.5418 + standardized fitness: 2840.5418 + adjusted fitness: 0.0004 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (+ (sin 0.83643) x))) + (* (exp (sin 0.97081)) + (* (+ 0.81505 x) + (- x 0.24908))))) +=== BEST-OF-RUN === + current generation: 20 + generation: 16 + nodes: 30 + depth: 7 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2840.5418 + standardized fitness: 2840.5418 + adjusted fitness: 0.0004 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (+ (sin 0.83643) x))) + (* (exp (sin 0.97081)) + (* (+ 0.81505 x) + (- x 0.24908))))) +=== BEST-OF-RUN === + current generation: 21 + generation: 21 + nodes: 79 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2395.5934 + standardized fitness: 2395.5934 + adjusted fitness: 0.0004 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (+ x + (exp (exp (cos (log (cos x)))))) + (- (- x x) + (sin (exp (+ (log (log x)) + (sin x)))))))) + (log (* (+ (* (+ (+ (exp (exp (+ (+ (log (cos x)) x) + (sin 0.25235)))) + (log 0.03372)) + (cos (sin x))) + (log (cos -0.59564))) + (- (log (+ (+ (exp x) + (/ x -0.34006)) + (log (+ x 0.12547)))) 0.24908)) + (+ (log x) + (sin 0.25235)))))) +=== BEST-OF-RUN === + current generation: 22 + generation: 22 + nodes: 82 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2391.8549 + standardized fitness: 2391.8549 + adjusted fitness: 0.0004 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (+ x + (exp (exp (cos (log (cos x)))))) + (- (- x x) + (sin (exp (- (+ (exp 0.34759) + (- -0.33310 x)) + (cos -0.72423)))))))) + (log (* (+ (* (+ (+ (exp (exp (+ (+ (log (cos x)) x) + (sin 0.25235)))) + (log 0.03372)) + (cos (sin x))) + (log (cos -0.59564))) + (- (log (+ (+ (exp x) + (/ x -0.34006)) + (log (+ x 0.12547)))) 0.24908)) + (+ (log x) + (sin 0.25235)))))) +=== BEST-OF-RUN === + current generation: 23 + generation: 23 + nodes: 126 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2381.7534 + standardized fitness: 2381.7534 + adjusted fitness: 0.0004 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (+ x + (exp (exp (cos (log (cos x)))))) + (- (- x + (cos (+ (exp (exp (+ (+ x -0.79113) + (sin 0.25235)))) + (log (- (cos (sin (exp (cos x)))) + (- (/ x -0.20124) + (exp (- (* 0.00559 0.20695) 0.77195)))))))) + (sin (exp (+ (log (log x)) + (sin x)))))))) + (log (* (+ (* (+ (+ (exp (exp (+ (+ (log (cos x)) x) + (sin 0.25235)))) + (log 0.03372)) + (cos (sin x))) + (log (- (* (* (log (exp x)) + (log (- 0.78129 x))) + (cos (log (+ x -0.72707)))) + (log (- (- x x) + (+ x -0.50497)))))) + (- (log (+ (+ (exp x) + (/ x -0.34006)) + (log (+ x 0.12547)))) 0.24908)) + (+ (log x) + (sin 0.25235)))))) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 106 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2290.0124 + standardized fitness: 2290.0124 + adjusted fitness: 0.0004 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (+ x + (exp (exp (cos (log (cos x)))))) + (- (- x + (cos (+ (exp (exp (+ (+ x -0.79113) + (sin 0.25235)))) + (log (- (cos (sin (exp (cos x)))) + (- (/ x -0.20124) + (exp (- (* 0.00559 0.20695) 0.77195)))))))) + (sin (exp (+ (log (log x)) + (sin x)))))))) + (log (* (+ (* (+ (+ (exp (exp (+ (+ (log (cos x)) x) + (sin 0.25235)))) + (log 0.03372)) + (cos (sin x))) + (log (exp (cos x)))) + (- (log (+ (+ (exp x) + (/ x -0.34006)) + (log (+ x 0.12547)))) 0.24908)) + (+ (log x) + (sin 0.25235)))))) +=== BEST-OF-RUN === + current generation: 25 + generation: 24 + nodes: 106 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2290.0124 + standardized fitness: 2290.0124 + adjusted fitness: 0.0004 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (+ x + (exp (exp (cos (log (cos x)))))) + (- (- x + (cos (+ (exp (exp (+ (+ x -0.79113) + (sin 0.25235)))) + (log (- (cos (sin (exp (cos x)))) + (- (/ x -0.20124) + (exp (- (* 0.00559 0.20695) 0.77195)))))))) + (sin (exp (+ (log (log x)) + (sin x)))))))) + (log (* (+ (* (+ (+ (exp (exp (+ (+ (log (cos x)) x) + (sin 0.25235)))) + (log 0.03372)) + (cos (sin x))) + (log (exp (cos x)))) + (- (log (+ (+ (exp x) + (/ x -0.34006)) + (log (+ x 0.12547)))) 0.24908)) + (+ (log x) + (sin 0.25235)))))) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 126 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2277.4764 + standardized fitness: 2277.4764 + adjusted fitness: 0.0004 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (+ x + (exp (exp (cos (log (cos x)))))) + (- (- x + (cos (+ (exp (exp (+ (+ x -0.79113) + (sin 0.25235)))) + (log (- (cos (sin (exp (cos x)))) + (- (/ x -0.20124) + (exp (- (* 0.00559 0.20695) 0.77195)))))))) + (sin (exp (/ (/ (- (* (/ x + (cos x)) + (- x -0.77728)) + (log x)) + (exp (+ (log x) + (sin 0.25235)))) + (+ (/ x 0.47681) + (log (sin 0.55274)))))))))) + (log (* (+ (* (+ (+ (exp (exp (+ (+ (log (cos x)) x) + (sin 0.25235)))) + (log 0.03372)) + (cos (sin x))) + (log (exp (cos x)))) + (- (log (+ (+ (exp x) + (/ x -0.34006)) + (log (+ x 0.12547)))) 0.24908)) + (+ (log x) + (sin 0.25235)))))) +=== BEST-OF-RUN === + current generation: 27 + generation: 27 + nodes: 83 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2263.1279 + standardized fitness: 2263.1279 + adjusted fitness: 0.0004 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (* x x))) + (log (* (+ (* (+ (+ (exp (exp (+ (+ (log (cos x)) x) + (sin 0.25235)))) + (log 0.03372)) + (log x)) + (log (- (* (* (log (exp x)) + (log (- 0.78129 x))) + (cos (log (+ x -0.72707)))) + (log (- (- x x) + (+ x -0.50497)))))) + (- (log (+ (+ (exp x) + (/ x -0.34006)) + (log (+ x 0.12547)))) 0.24908)) + (exp (exp (+ (log x) + (sin 0.25235)))))))) +=== BEST-OF-RUN === + current generation: 28 + generation: 28 + nodes: 120 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 2206.3834 + standardized fitness: 2206.3834 + adjusted fitness: 0.0005 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (cos (+ (+ -0.63725 x) + (log x))) + (- (+ (/ (exp (sin -0.37711)) + (/ (exp x) + (- 0.77654 x))) + (* (- x + (sin -0.58772)) + (exp x))) + (- (exp (cos (log (cos x)))) -0.68141))))) + (- (log (* (+ (* (+ (+ (exp (exp (+ (+ (log (cos x)) x) + (sin 0.25235)))) + (log 0.03372)) + (log x)) + (log (- (* (* (log (exp x)) + (log (- 0.78129 x))) + (cos (log (+ x -0.72707)))) + (log (- (- x x) + (+ x -0.50497)))))) + (- (log (+ (+ (exp x) + (/ x -0.34006)) + (log (+ x 0.12547)))) 0.24908)) + (exp (exp (+ (log x) + (sin 0.25235)))))) + (sin (cos (- x 0.13289)))))) +=== BEST-OF-RUN === + current generation: 29 + generation: 29 + nodes: 133 + depth: 17 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1962.9158 + standardized fitness: 1962.9158 + adjusted fitness: 0.0005 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (/ x + (sin -0.37379))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (cos (log (- (cos (log (/ x -0.97178))) + (exp -0.44274)))) + (- (- x x) + (cos (+ (+ (cos x) + (exp x)) + (+ 0.91897 x))))))) + (cos (+ (- (+ x + (/ x + (log (- x + (exp -0.57158))))) + (log (sin -0.39903))) + (- (+ (cos -0.25723) + (+ x 0.37316)) x)))) 0.81505)))) + (sin (sin x))) + (sin -0.67217)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (sin (- (+ (exp (exp (+ (sin (+ 0.77120 -0.15835)) + (sin 0.25235)))) -0.47078) 0.49023))) + (/ (+ -0.33718 0.37605) + (+ x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 30 + generation: 30 + nodes: 95 + depth: 15 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1952.4671 + standardized fitness: 1952.4671 + adjusted fitness: 0.0005 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (+ x + (exp (exp (+ (log x) + (log x))))) + (- (- x + (cos (+ (exp (exp (+ (+ x -0.79113) + (sin 0.25235)))) + (log (- (cos (sin (exp (cos x)))) + (- (/ x -0.20124) + (exp (- (* 0.00559 0.20695) 0.77195)))))))) + (exp x))))) + (log (* (+ (* (+ (+ (exp (exp (+ (+ (log (cos x)) x) + (sin 0.25235)))) + (log 0.03372)) + (cos (sin x))) + (log (exp (cos x)))) + (- (log (+ (log x) + (sin 0.25235))) 0.24908)) + (+ (log x) + (sin 0.25235)))))) +=== BEST-OF-RUN === + current generation: 31 + generation: 31 + nodes: 92 + depth: 15 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1918.3475 + standardized fitness: 1918.3475 + adjusted fitness: 0.0005 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (+ x + (exp (exp (+ (log x) + (log x))))) + (- (- x + (cos (+ (exp (exp (+ (+ x -0.79113) + (sin 0.25235)))) + (log (- (cos (sin (exp (cos x)))) + (- (/ x -0.20124) + (exp (- (* 0.00559 0.20695) 0.77195)))))))) + (exp x))))) + (log (* (+ (* (+ (+ (exp (exp (+ (+ (log (cos x)) x) + (sin 0.25235)))) + (log 0.03372)) + (cos (sin x))) + (log (exp (cos x)))) + (- (log (+ (log x) + (sin 0.25235))) 0.24908)) + (sin 0.25235))))) +=== BEST-OF-RUN === + current generation: 32 + generation: 32 + nodes: 70 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1862.1622 + standardized fitness: 1862.1622 + adjusted fitness: 0.0005 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (+ x + (exp (exp (+ (log x) + (log x))))) + (- (exp (+ x 0.69175)) + (exp x))))) + (log (* (+ (* (+ (+ (exp (exp (+ (+ (log (cos x)) x) + (sin 0.25235)))) + (log 0.03372)) + (cos (sin x))) + (log (exp (cos x)))) + (- (log (+ (log x) + (sin 0.25235))) 0.24908)) + (+ (log x) + (sin 0.25235)))))) +=== BEST-OF-RUN === + current generation: 33 + generation: 32 + nodes: 70 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1862.1622 + standardized fitness: 1862.1622 + adjusted fitness: 0.0005 +TREE: + (+ (exp (+ x 0.69175)) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (log (- (+ x + (exp (exp (+ (log x) + (log x))))) + (- (exp (+ x 0.69175)) + (exp x))))) + (log (* (+ (* (+ (+ (exp (exp (+ (+ (log (cos x)) x) + (sin 0.25235)))) + (log 0.03372)) + (cos (sin x))) + (log (exp (cos x)))) + (- (log (+ (log x) + (sin 0.25235))) 0.24908)) + (+ (log x) + (sin 0.25235)))))) +=== BEST-OF-RUN === + current generation: 34 + generation: 34 + nodes: 135 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1698.0245 + standardized fitness: 1698.0245 + adjusted fitness: 0.0006 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (/ x + (sin -0.37379))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (sin 0.25235)))) + (cos (+ (- (+ x + (/ x + (log (- x + (exp -0.57158))))) + (log (sin -0.39903))) + (- (+ (cos -0.25723) + (+ x 0.37316)) x)))) 0.81505)))) + (sin (sin x))) + (sin (+ (+ (+ (exp (+ x x)) + (log (- (* x x) + (- (- x x) + (exp (+ x 0.69175)))))) + (cos (* 0.03372 x))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (sin (- (+ (exp (exp (+ (sin (+ 0.77120 -0.15835)) + (sin 0.25235)))) -0.47078) 0.49023))) + (/ (+ -0.33718 0.37605) + (+ x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 35 + generation: 35 + nodes: 133 + depth: 16 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 1692.5241 + standardized fitness: 1692.5241 + adjusted fitness: 0.0006 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (/ x + (sin -0.37379))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (sin 0.25235)))) + (cos (+ (- (+ x + (/ x + (log (- x + (exp -0.57158))))) + (log (sin -0.39903))) + (- (+ (cos -0.25723) + (+ x 0.37316)) x)))) 0.81505)))) + (sin (sin x))) + (sin (+ (+ (+ (sin x) + (log (- (* x x) + (- (- x x) + (exp (+ x 0.69175)))))) + (cos (* 0.03372 x))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (sin (- (+ (exp (exp (+ (sin (+ 0.77120 -0.15835)) + (sin 0.25235)))) -0.47078) 0.49023))) + (/ (+ -0.33718 0.37605) + (+ x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 36 + generation: 35 + nodes: 133 + depth: 16 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 1692.5241 + standardized fitness: 1692.5241 + adjusted fitness: 0.0006 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (/ x + (sin -0.37379))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (sin 0.25235)))) + (cos (+ (- (+ x + (/ x + (log (- x + (exp -0.57158))))) + (log (sin -0.39903))) + (- (+ (cos -0.25723) + (+ x 0.37316)) x)))) 0.81505)))) + (sin (sin x))) + (sin (+ (+ (+ (sin x) + (log (- (* x x) + (- (- x x) + (exp (+ x 0.69175)))))) + (cos (* 0.03372 x))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (sin (- (+ (exp (exp (+ (sin (+ 0.77120 -0.15835)) + (sin 0.25235)))) -0.47078) 0.49023))) + (/ (+ -0.33718 0.37605) + (+ x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 37 + generation: 37 + nodes: 139 + depth: 16 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1647.7987 + standardized fitness: 1647.7987 + adjusted fitness: 0.0006 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (/ x + (sin -0.37379))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (cos 0.07980)))) + (cos (+ (- (+ x + (/ x + (log (- x + (exp -0.57158))))) + (log (sin -0.39903))) + (- (+ (cos -0.25723) + (+ x 0.37316)) x)))) 0.81505)))) + (sin (exp x))) + (sin (+ (+ (+ (exp (+ x x)) + (log (- (* x x) + (- (- x x) + (exp (+ x 0.69175)))))) + (cos (* 0.03372 x))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (sin (- (+ (exp (exp (+ (sin (/ (+ x x) + (* x 0.21836))) + (sin 0.25235)))) -0.47078) 0.49023))) + (/ (+ -0.33718 0.37605) + (+ x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 38 + generation: 37 + nodes: 139 + depth: 16 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1647.7987 + standardized fitness: 1647.7987 + adjusted fitness: 0.0006 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (/ x + (sin -0.37379))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (cos 0.07980)))) + (cos (+ (- (+ x + (/ x + (log (- x + (exp -0.57158))))) + (log (sin -0.39903))) + (- (+ (cos -0.25723) + (+ x 0.37316)) x)))) 0.81505)))) + (sin (exp x))) + (sin (+ (+ (+ (exp (+ x x)) + (log (- (* x x) + (- (- x x) + (exp (+ x 0.69175)))))) + (cos (* 0.03372 x))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (sin (- (+ (exp (exp (+ (sin (/ (+ x x) + (* x 0.21836))) + (sin 0.25235)))) -0.47078) 0.49023))) + (/ (+ -0.33718 0.37605) + (+ x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 39 + generation: 39 + nodes: 119 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1642.3396 + standardized fitness: 1642.3396 + adjusted fitness: 0.0006 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (/ x + (sin -0.37379))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (sin 0.25235)))) + (cos (+ (- (+ x + (/ x + (log (- x + (exp -0.57158))))) + (log (sin -0.39903))) + (- (+ (cos -0.25723) + (+ x 0.37316)) x)))) 0.81505)))) + (sin (exp x))) + (sin (+ (+ (+ (exp (+ x x)) + (log x)) + (cos (* 0.03372 x))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (sin (- (+ (exp (+ -0.35284 0.17960)) -0.47078) 0.49023))) + (/ (+ -0.33718 0.37605) + (+ x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 40 + generation: 40 + nodes: 147 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1595.7431 + standardized fitness: 1595.7431 + adjusted fitness: 0.0006 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (/ x + (sin -0.37379))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (cos 0.07980)))) + (cos (+ (exp (log (- (log x) + (* 0.30691 -0.71954)))) + (- (+ (cos -0.25723) + (+ x 0.37316)) x)))) 0.81505)))) + (sin (- (exp (exp (+ (- (* 0.00559 0.20695) + (exp (+ 0.91897 x))) + (sin 0.25235)))) -0.39714))) + (sin (+ (+ (+ (exp (+ x x)) + (log (- (* x x) + (- (- x x) + (exp (+ x 0.69175)))))) + (cos (* 0.03372 x))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (sin (- (+ (exp (exp (+ (sin (/ (+ x x) + (* x 0.21836))) + (sin 0.25235)))) -0.47078) 0.49023))) + (/ (+ -0.33718 0.37605) + (+ x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 41 + generation: 41 + nodes: 136 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1571.3973 + standardized fitness: 1571.3973 + adjusted fitness: 0.0006 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (/ x + (sin -0.37379))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (cos 0.07980)))) + (cos (+ (exp (log (- (log x) + (* 0.30691 -0.71954)))) + (- (+ (cos -0.25723) + (+ x 0.37316)) x)))) 0.81505)))) + (sin (exp x))) + (sin (+ (+ (+ (exp (+ x x)) + (log (- (* x x) + (- (- x x) + (exp (+ x 0.69175)))))) + (cos (sin (exp (exp -0.63636))))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (sin (- (+ (exp (exp (+ (sin (/ (+ x x) + (* x 0.21836))) + (log (cos x))))) -0.47078) 0.49023))) + (/ (+ -0.33718 0.37605) + (+ x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 42 + generation: 41 + nodes: 136 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1571.3973 + standardized fitness: 1571.3973 + adjusted fitness: 0.0006 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (/ x + (sin -0.37379))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (cos 0.07980)))) + (cos (+ (exp (log (- (log x) + (* 0.30691 -0.71954)))) + (- (+ (cos -0.25723) + (+ x 0.37316)) x)))) 0.81505)))) + (sin (exp x))) + (sin (+ (+ (+ (exp (+ x x)) + (log (- (* x x) + (- (- x x) + (exp (+ x 0.69175)))))) + (cos (sin (exp (exp -0.63636))))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (sin (- (+ (exp (exp (+ (sin (/ (+ x x) + (* x 0.21836))) + (log (cos x))))) -0.47078) 0.49023))) + (/ (+ -0.33718 0.37605) + (+ x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 43 + generation: 43 + nodes: 137 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1570.1861 + standardized fitness: 1570.1861 + adjusted fitness: 0.0006 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (/ x + (sin -0.37379))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (cos 0.07980)))) + (cos (+ (exp (log (- (log x) + (* 0.30691 -0.71954)))) + (- (+ (cos -0.25723) + (+ x 0.37316)) x)))) 0.81505)))) + (sin (exp x))) + (sin (+ (+ (+ (exp (+ x x)) + (log (- (* x x) + (- (- x x) + (exp (+ x 0.69175)))))) + (cos (sin (exp (exp -0.63636))))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (sin (- (+ (exp (exp (+ (sin (/ (+ x x) + (* x 0.21836))) + (log (cos x))))) -0.47078) 0.49023))) + (/ (+ -0.33718 0.37605) + (+ x + (sin 0.25235))))) + (exp x))) +=== BEST-OF-RUN === + current generation: 44 + generation: 44 + nodes: 155 + depth: 16 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1564.1918 + standardized fitness: 1564.1918 + adjusted fitness: 0.0006 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (/ x + (sin -0.37379))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (cos 0.07980)))) + (cos (+ (exp (log (- (log x) + (* 0.30691 -0.71954)))) + (- (+ (cos -0.25723) + (+ x 0.37316)) + (/ (/ -0.24809 + (log (* 0.00559 0.20695))) + (- (+ 0.40893 -0.99837) + (/ (cos (- x x)) 0.05130))))))) 0.81505)))) + (sin (exp (exp (+ (- (* 0.00559 0.20695) + (exp (+ 0.91897 x))) + (sin 0.25235)))))) + (sin (+ (+ (+ (exp (+ x x)) + (log (exp (+ (log x) + (sin 0.25235))))) + (cos (* 0.03372 x))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (sin (- (+ (exp (exp (+ (sin (/ (+ x x) + (cos (sin 0.25235)))) + (sin 0.25235)))) -0.47078) 0.49023))) + (/ (+ -0.33718 0.37605) + (+ x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 45 + generation: 45 + nodes: 141 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1548.0757 + standardized fitness: 1548.0757 + adjusted fitness: 0.0006 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (exp (- x x))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (cos 0.07980)))) + (exp (exp (+ (log x) + (sin 0.25235))))) 0.81505)))) + (sin (- (exp (exp (+ (- (* 0.00559 0.20695) + (exp (+ 0.91897 x))) + (sin 0.25235)))) -0.39714))) + (sin (+ (+ (+ (exp (+ x x)) + (log (- (* x x) + (- (- x x) + (exp (+ x 0.69175)))))) + (cos (* 0.03372 x))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (sin (- (+ (exp (exp (+ (sin (/ (+ x x) + (* x 0.21836))) + (sin 0.25235)))) + (+ (sin (exp (- 0.67540 x))) 0.81505)) 0.49023))) + (log (+ (log x) + (sin 0.25235))))) + (exp x))) +=== BEST-OF-RUN === + current generation: 46 + generation: 46 + nodes: 120 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1538.5039 + standardized fitness: 1538.5039 + adjusted fitness: 0.0006 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (/ x + (sin -0.37379))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (cos 0.07980)))) + (cos (+ (exp (log (- (log x) + (* 0.30691 -0.71954)))) + (- (+ (cos -0.25723) + (+ x 0.37316)) x)))) 0.81505)))) + (sin (exp (exp (+ (- (* 0.00559 0.20695) + (exp (+ 0.91897 x))) + (sin 0.25235)))))) + (sin (+ (+ (+ (exp (+ x x)) + (log (exp (cos -0.11063)))) + (cos (* 0.03372 x))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (cos x)) + (/ (+ -0.33718 0.37605) + (+ x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 47 + generation: 46 + nodes: 120 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1538.5039 + standardized fitness: 1538.5039 + adjusted fitness: 0.0006 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (/ x + (sin -0.37379))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (cos 0.07980)))) + (cos (+ (exp (log (- (log x) + (* 0.30691 -0.71954)))) + (- (+ (cos -0.25723) + (+ x 0.37316)) x)))) 0.81505)))) + (sin (exp (exp (+ (- (* 0.00559 0.20695) + (exp (+ 0.91897 x))) + (sin 0.25235)))))) + (sin (+ (+ (+ (exp (+ x x)) + (log (exp (cos -0.11063)))) + (cos (* 0.03372 x))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (cos x)) + (/ (+ -0.33718 0.37605) + (+ x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 48 + generation: 48 + nodes: 124 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1510.9928 + standardized fitness: 1510.9928 + adjusted fitness: 0.0007 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (/ x + (sin -0.37379))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (cos 0.07980)))) + (cos (+ (exp (log (- (log x) + (* 0.30691 -0.71954)))) + (+ 0.03372 + (cos x))))) 0.81505)))) + (sin (exp (exp (+ (- (/ -0.39105 + (- -0.26640 x)) + (exp (+ 0.91897 x))) + (sin 0.25235)))))) + (sin (+ (+ (+ (exp (+ x x)) + (log (exp (+ (log x) + (sin 0.25235))))) + (cos (* 0.03372 x))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (sin (+ 0.03372 + (cos x)))) + (/ (+ -0.33718 0.37605) + (+ x x)))) + (exp x))) +=== BEST-OF-RUN === + current generation: 49 + generation: 49 + nodes: 122 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1510.7186 + standardized fitness: 1510.7186 + adjusted fitness: 0.0007 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (log (sin (/ x + (sin -0.37379))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (cos 0.07980)))) + (cos (+ (exp (log (- (log x) + (* 0.30691 -0.71954)))) + (+ 0.03372 + (cos x))))) 0.81505)))) + (sin (exp (exp (+ (- (/ -0.39105 + (- -0.26640 x)) + (exp (+ 0.91897 x))) + (sin 0.25235)))))) + (sin (+ (+ (+ (exp (+ x x)) + (log (exp (+ (log x) + (sin 0.25235))))) + (cos (* 0.03372 x))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (sin (+ 0.03372 + (cos x)))) + (/ (+ -0.33718 0.37605) x))) + (exp x))) +=== BEST-OF-RUN === + current generation: 50 + generation: 50 + nodes: 117 + depth: 14 + hits: 0 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 0 + raw fitness: 1501.6787 + standardized fitness: 1501.6787 + adjusted fitness: 0.0007 +TREE: + (+ (- (- (log (- (+ x + (+ (+ (exp (exp (- (+ x + (* 0.09009 0.49060)) + (+ 0.03372 + (cos x))))) + (+ (sin 0.03372) + (cos (exp (+ (exp (+ x 0.69175)) 0.81505))))) + (cos (sin 0.25235)))) + (- (* 0.69146 -0.86201) + (+ (+ (+ (exp (exp (+ (log x) + (log x)))) + (log (log (cos 0.07980)))) + (sin (* (cos (+ x -0.99222)) + (cos (* x -0.62435))))) 0.81505)))) + (sin (exp (exp (+ (- (* 0.00559 0.20695) + (exp (+ 0.91897 x))) + (sin 0.25235)))))) + (sin (+ (+ (/ (+ (- 0.81664 + (log x)) x) + (cos -0.06996)) + (cos (* 0.03372 x))) 0.81505))) + (+ (+ (exp (exp (+ (log x) + (sin 0.25235)))) + (+ (log (cos x)) + (/ (+ -0.33718 0.37605) + (+ x x)))) + (exp x))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.prg b/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.prg new file mode 100644 index 0000000..e5e9d94 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 0.93624, y = 3.40178 + x = -4.36805, y = 295.41055 + x = 3.77878, y = 275.91183 + x = 4.97114, y = 763.22695 + x = -4.51150, y = 338.28675 + x = 2.27923, y = 46.30169 + x = 2.48969, y = 62.54248 + x = -3.43167, y = 106.61448 + x = 1.44553, y = 10.92176 + x = 0.14072, y = 0.16370 + x = -0.84804, y = -0.22154 + x = 1.52739, y = 12.86600 + x = -0.43406, y = -0.29194 + x = -4.96738, y = 505.98782 + x = -4.73751, y = 415.11209 + x = 4.46502, y = 510.87976 + x = 4.04983, y = 355.87052 + x = -2.35599, y = 20.92740 + x = 3.09668, y = 134.33830 + x = -4.38505, y = 300.26618 + x = 1.77940, y = 20.60505 + x = -1.89227, y = 7.73406 + x = -0.96607, y = -0.06336 + x = -3.80135, y = 164.52866 + x = 1.15778, y = 5.84704 + x = 1.07101, y = 4.76239 + x = -4.38824, y = 301.18448 + x = 1.51949, y = 12.66740 + x = -1.91878, y = 8.25359 + x = -1.93281, y = 8.53836 + x = -4.27994, y = 271.18345 + x = 3.27471, y = 164.11328 + x = -4.10186, y = 226.79731 + x = 0.49412, y = 0.91853 + x = 0.75134, y = 2.05867 + x = -2.63194, y = 34.04849 + x = -4.01083, y = 206.33909 + x = 2.14826, y = 37.97585 + x = -2.71394, y = 38.91205 + x = 3.00332, y = 120.47143 + x = -2.90946, y = 52.58247 + x = 2.99546, y = 119.35664 + x = -3.82516, y = 168.92816 + x = -3.75554, y = 156.30537 + x = -0.88060, y = -0.18668 + x = -4.08122, y = 222.03018 + x = 3.01501, y = 122.14545 + x = 0.69344, y = 1.73899 + x = -3.67031, y = 141.82972 + x = 3.79681, y = 280.76163 + x = -1.42198, y = 1.81336 + x = -3.96725, y = 197.04876 + x = -4.22577, y = 257.04967 + x = 4.43635, y = 498.77910 + x = 1.33630, y = 8.69687 + x = 2.66153, y = 78.77868 + x = 4.73381, y = 635.38387 + x = -1.71534, y = 4.83749 + x = -0.78020, y = -0.27588 + x = 3.12045, y = 138.05456 + x = 1.29007, y = 7.87118 + x = -4.65857, y = 386.93155 + x = 4.28227, y = 437.42354 + x = 3.44221, y = 196.47161 + x = -1.94982, y = 8.89278 + x = 1.15650, y = 5.82965 + x = 0.35254, y = 0.53610 + x = -1.67852, y = 4.34771 + x = 0.91322, y = 3.20429 + x = 4.34370, y = 461.15959 + x = -3.54998, y = 123.13413 + x = -1.64361, y = 3.91557 + x = -3.68568, y = 144.36290 + x = 4.29987, y = 444.12538 + x = 2.03693, y = 31.85236 + x = 0.74665, y = 2.03117 + x = -2.66649, y = 36.03916 + x = -0.40242, y = -0.27942 + x = -0.13765, y = -0.12095 + x = 3.49625, y = 207.87754 + x = 1.33720, y = 8.71375 + x = 2.32710, y = 49.67094 + x = -2.70031, y = 38.07016 + x = -0.03923, y = -0.03775 + x = 1.77712, y = 20.52161 + x = -4.62137, y = 374.16017 + x = 3.99244, y = 337.63932 + x = -2.54407, y = 29.35277 + x = -2.55606, y = 29.96338 + x = 4.59484, y = 568.45801 + x = 2.01551, y = 30.76758 + x = 2.66769, y = 79.41432 + x = -3.76496, y = 157.97058 + x = -2.05764, y = 11.39020 + x = 1.55330, y = 13.53502 + x = 3.73415, y = 264.17875 + x = 1.68114, y = 17.24625 + x = -3.12502, y = 71.49273 + x = -0.79247, y = -0.26774 + x = 3.37275, y = 182.51521 + x = 3.58528, y = 227.75614 + x = -1.58257, y = 3.23104 + x = -4.16891, y = 242.81361 + x = -2.16656, y = 14.39101 + x = -2.54039, y = 29.16734 + x = 1.25092, y = 7.22181 + x = 3.73306, y = 263.89754 + x = 0.81345, y = 2.45127 + x = -2.34077, y = 20.33459 + x = 0.95766, y = 3.59419 + x = 3.66910, y = 247.75830 + x = 2.27788, y = 46.20886 + x = -4.15928, y = 240.46243 + x = -0.37504, y = -0.26735 + x = -3.89507, y = 182.35812 + x = 3.62238, y = 236.45316 + x = 4.10639, y = 374.55409 + x = 1.33991, y = 8.76418 + x = -3.11109, y = 70.13637 + x = -0.68397, y = -0.31728 + x = 4.47536, y = 515.29394 + x = -1.52243, y = 2.63888 + x = 4.11395, y = 377.10767 + x = 2.54047, y = 67.04458 + x = -4.24157, y = 261.11371 + x = 3.03259, y = 124.69591 + x = -2.47470, y = 25.99921 + x = 3.48088, y = 204.58313 + x = 1.84026, y = 22.92757 + x = -4.21399, y = 254.04973 + x = 2.01359, y = 30.67146 + x = 1.52006, y = 12.68156 + x = -3.06165, y = 65.47942 + x = 3.90469, y = 311.14320 + x = 4.82715, y = 683.56354 + x = 4.05933, y = 358.95591 + x = 1.48637, y = 11.86060 + x = 2.67473, y = 80.14692 + x = -1.14416, y = 0.38086 + x = 3.15474, y = 143.55394 + x = -3.72776, y = 151.47047 + x = -2.34747, y = 20.59406 + x = -4.43298, y = 314.27911 + x = 3.12791, y = 139.23780 + x = -4.88051, y = 470.05212 + x = -1.46205, y = 2.11961 + x = 3.55373, y = 220.55546 + x = -1.30543, y = 1.07820 + x = -2.81607, y = 45.67063 + x = 3.52071, y = 213.20263 + x = 1.20885, y = 6.57219 + x = 3.20026, y = 151.11010 + x = 0.03472, y = 0.03597 + x = -1.57848, y = 3.18825 + x = -3.64084, y = 137.06646 + x = -2.93478, y = 54.58363 + x = -3.52092, y = 118.91012 + x = -3.07360, y = 66.58301 + x = -1.99371, y = 9.85608 + x = -1.59972, y = 3.41450 + x = 4.76455, y = 650.95674 + x = -3.94167, y = 191.74488 + x = -3.04239, y = 63.72904 + x = -0.49551, y = -0.31136 + x = -0.31458, y = -0.23696 + x = 1.01657, y = 4.16844 + x = 1.71086, y = 18.21327 + x = -2.28719, y = 18.34499 + x = -0.49453, y = -0.31110 + x = 2.56699, y = 69.49195 + x = -4.93135, y = 490.84238 + x = 0.41182, y = 0.68002 + x = -0.84403, y = -0.22543 + x = -1.63180, y = 3.77618 + x = 3.10718, y = 135.97028 + x = -3.72491, y = 150.98076 + x = 3.44285, y = 196.60282 + x = 0.69243, y = 1.73377 + x = 1.18131, y = 6.17267 + x = 3.69321, y = 253.75055 + x = 1.55351, y = 13.54055 + x = -4.40110, y = 304.90639 + x = 0.47459, y = 0.85744 + x = -1.56003, y = 2.99987 + x = -3.97854, y = 199.42510 + x = 0.95525, y = 3.57212 + x = -0.43755, y = -0.29322 + x = 2.43386, y = 57.86469 + x = -0.78073, y = -0.27554 + x = -1.18941, y = 0.54401 + x = -2.65154, y = 35.16705 + x = -1.22644, y = 0.69543 + x = -1.83074, y = 6.61819 + x = 1.28885, y = 7.85036 + x = 3.08609, y = 132.70777 + x = 0.86042, y = 2.78583 + x = 3.49655, y = 207.94331 + x = 2.19881, y = 41.03957 + x = -4.97927, y = 511.05974 + x = 3.84439, y = 293.87082 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.stt b/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.stt new file mode 100644 index 0000000..a76ea99 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0001 0.0000 13.190 3.688 30 6 36 6 0.0000 0.0001 0.0000 13.190 3.688 30 6 36 6 +1 0 0.0000 0.0001 0.0000 12.478 3.919 30 6 11 4 0.0000 0.0001 0.0000 12.834 3.803 30 6 36 6 +2 0 0.0000 0.0001 0.0000 12.503 4.038 48 7 11 6 0.0000 0.0001 0.0000 12.723 3.882 48 7 36 6 +3 0 0.0000 0.0001 0.0000 12.316 4.114 43 7 27 8 0.0000 0.0001 0.0000 12.622 3.940 43 7 36 6 +4 0 0.0000 0.0001 0.0000 12.629 4.291 52 7 7 4 0.0000 0.0001 0.0000 12.623 4.010 52 7 36 6 +5 0 0.0000 0.0001 0.0000 12.753 4.425 52 7 15 4 0.0000 0.0001 0.0000 12.645 4.079 52 7 15 4 +6 0 0.0000 0.0001 0.0000 13.383 4.603 49 7 34 10 0.0000 0.0001 0.0000 12.750 4.154 49 7 15 4 +7 0 0.0000 0.0002 0.0000 14.394 4.812 44 9 9 5 0.0000 0.0002 0.0000 12.956 4.236 44 9 15 4 +8 0 0.0000 0.0003 0.0000 15.586 5.009 32 7 24 7 0.0000 0.0003 0.0000 13.248 4.322 32 7 15 4 +9 0 0.0000 0.0003 0.0000 18.227 5.411 32 7 53 12 0.0000 0.0003 0.0000 13.746 4.431 32 7 15 4 +10 0 0.0001 0.0003 0.0000 23.616 6.256 58 10 66 12 0.0000 0.0003 0.0000 14.643 4.597 58 10 15 4 +11 0 0.0001 0.0003 0.0000 30.448 7.257 63 12 84 12 0.0000 0.0003 0.0000 15.960 4.819 63 12 15 4 +12 0 0.0001 0.0003 0.0000 38.070 8.365 63 12 59 11 0.0000 0.0003 0.0000 17.661 5.091 63 12 15 4 +13 0 0.0001 0.0003 0.0000 44.328 9.252 36 9 62 12 0.0000 0.0003 0.0000 19.566 5.389 36 9 15 4 +14 0 0.0001 0.0003 0.0000 48.578 9.802 43 8 47 11 0.0001 0.0003 0.0000 21.500 5.683 43 8 15 4 +15 0 0.0001 0.0003 0.0000 51.660 10.231 69 11 48 14 0.0001 0.0003 0.0000 23.385 5.967 69 11 15 4 +16 0 0.0001 0.0004 0.0000 54.293 10.528 30 7 54 12 0.0001 0.0004 0.0000 25.203 6.235 30 7 15 4 +17 0 0.0001 0.0004 0.0000 56.568 10.845 30 7 129 17 0.0001 0.0004 0.0000 26.945 6.491 30 7 15 4 +18 0 0.0001 0.0004 0.0000 58.188 11.103 30 7 55 14 0.0001 0.0004 0.0000 28.590 6.734 30 7 15 4 +19 0 0.0001 0.0004 0.0000 60.616 11.456 30 7 95 12 0.0001 0.0004 0.0000 30.191 6.970 30 7 15 4 +20 0 0.0002 0.0004 0.0000 62.770 11.699 30 7 98 16 0.0001 0.0004 0.0000 31.742 7.195 30 7 15 4 +21 0 0.0002 0.0004 0.0000 64.649 11.867 79 14 85 17 0.0001 0.0004 0.0000 33.238 7.408 79 14 15 4 +22 0 0.0002 0.0004 0.0000 66.766 12.050 82 14 126 17 0.0001 0.0004 0.0000 34.696 7.610 82 14 15 4 +23 0 0.0002 0.0004 0.0000 69.181 12.276 126 15 90 17 0.0001 0.0004 0.0000 36.133 7.804 126 15 15 4 +24 0 0.0002 0.0004 0.0000 72.083 12.465 106 15 47 13 0.0001 0.0004 0.0000 37.571 7.991 106 15 15 4 +25 0 0.0002 0.0004 0.0000 74.987 12.641 106 15 174 17 0.0001 0.0004 0.0000 39.010 8.169 106 15 15 4 +26 0 0.0002 0.0004 0.0000 77.557 12.819 126 15 97 13 0.0001 0.0004 0.0000 40.438 8.342 126 15 15 4 +27 0 0.0002 0.0004 0.0000 79.204 12.841 83 14 91 14 0.0001 0.0004 0.0000 41.822 8.502 83 14 15 4 +28 0 0.0002 0.0005 0.0000 81.219 13.049 120 15 19 8 0.0001 0.0005 0.0000 43.181 8.659 120 15 15 4 +29 0 0.0002 0.0005 0.0000 82.787 13.162 133 17 59 16 0.0001 0.0005 0.0000 44.501 8.809 133 17 15 4 +30 0 0.0002 0.0005 0.0000 84.361 13.192 95 15 108 14 0.0001 0.0005 0.0000 45.787 8.951 95 15 15 4 +31 0 0.0002 0.0005 0.0000 85.732 13.314 92 15 100 15 0.0001 0.0005 0.0000 47.035 9.087 92 15 15 4 +32 0 0.0002 0.0005 0.0000 89.064 13.460 70 14 68 13 0.0001 0.0005 0.0000 48.308 9.219 70 14 15 4 +33 0 0.0002 0.0005 0.0000 91.239 13.573 70 14 100 14 0.0001 0.0005 0.0000 49.571 9.348 70 14 15 4 +34 0 0.0002 0.0006 0.0000 93.315 13.728 135 16 233 16 0.0001 0.0006 0.0000 50.821 9.473 135 16 15 4 +35 0 0.0002 0.0006 0.0000 95.078 13.845 133 16 81 13 0.0001 0.0006 0.0000 52.050 9.594 133 16 15 4 +36 0 0.0002 0.0006 0.0000 96.543 13.909 133 16 140 15 0.0001 0.0006 0.0000 53.253 9.711 133 16 15 4 +37 0 0.0003 0.0006 0.0000 100.359 14.138 139 16 116 17 0.0001 0.0006 0.0000 54.492 9.827 139 16 15 4 +38 0 0.0003 0.0006 0.0000 102.999 14.304 139 16 81 13 0.0001 0.0006 0.0000 55.736 9.942 139 16 15 4 +39 0 0.0003 0.0006 0.0000 104.010 14.415 119 16 141 16 0.0001 0.0006 0.0000 56.943 10.054 119 16 15 4 +40 0 0.0003 0.0006 0.0000 105.812 14.483 147 14 69 15 0.0001 0.0006 0.0000 58.135 10.162 147 14 15 4 +41 0 0.0003 0.0006 0.0000 107.352 14.597 136 14 195 16 0.0001 0.0006 0.0000 59.307 10.267 136 14 15 4 +42 0 0.0003 0.0006 0.0000 109.203 14.702 136 14 106 15 0.0002 0.0006 0.0000 60.467 10.371 136 14 15 4 +43 0 0.0003 0.0006 0.0000 110.988 14.800 137 14 144 15 0.0002 0.0006 0.0000 61.615 10.471 137 14 15 4 +44 0 0.0003 0.0006 0.0000 112.525 14.856 155 16 87 14 0.0002 0.0006 0.0000 62.747 10.569 155 16 15 4 +45 0 0.0003 0.0006 0.0000 113.795 14.875 141 14 159 15 0.0002 0.0006 0.0000 63.856 10.662 141 14 15 4 +46 0 0.0003 0.0006 0.0000 116.163 14.963 120 14 152 16 0.0002 0.0006 0.0000 64.969 10.754 120 14 15 4 +47 0 0.0003 0.0006 0.0000 118.856 15.028 120 14 122 15 0.0002 0.0006 0.0000 66.092 10.843 120 14 15 4 +48 0 0.0003 0.0007 0.0000 119.481 15.024 124 14 121 17 0.0002 0.0007 0.0000 67.182 10.928 124 14 15 4 +49 0 0.0003 0.0007 0.0000 120.804 15.023 122 14 121 13 0.0002 0.0007 0.0000 68.254 11.010 122 14 15 4 +50 0 0.0004 0.0007 0.0000 122.482 15.117 117 14 138 16 0.0002 0.0007 0.0000 69.317 11.091 117 14 15 4 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.sys b/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.sys new file mode 100644 index 0000000..37ce1fa --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_8/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 303. +creating initial population(s): + 5631 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 346892553 + freed: 345889953 + not freed: 1002600 + max allocated: 13654128 + malloc'ed blocks: 746216 + realloc'ed blocks: 11 + free'ed blocks: 746066 + +------- time ------- + overall: 5s wall + evaluation: 3s wall + breeding: 2s wall + +------- generation spaces ------- + space 0 size: 400 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 33200 + freed: 33200 + allocated: 14000 + blocks: 27 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.bst b/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.bst new file mode 100644 index 0000000..28cdce6 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.bst @@ -0,0 +1,23 @@ +=== BEST-OF-RUN === + generation: 17 + nodes: 27 + depth: 7 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (* (+ (* x x) x) + (+ (cos (* (+ (* (* -0.17899 x) + (- x x)) + (cos x)) + (* (* -0.00069 x) -0.10147))) + (* x x))) +TREE-equ: +y = (((x * x) + x) * (cos(((((-0.17899 * x) * (x - x)) + cos(x)) * ((-0.00069 * x) * -0.10147))) + (x * x))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.fn b/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.fn new file mode 100644 index 0000000..e5844ed --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.fn @@ -0,0 +1,2 @@ + +y = (((x * x) + x) * (cos(((((-0.17899 * x) * (x - x)) + cos(x)) * ((-0.00069 * x) * -0.10147))) + (x * x))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.gen b/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.his b/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.his new file mode 100644 index 0000000..33e63e3 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.his @@ -0,0 +1,400 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 12 + depth: 6 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 4107.2013 + standardized fitness: 4107.2013 + adjusted fitness: 0.0002 +TREE: + (* (* (+ -0.70946 + (* x + (- x + (cos x)))) x) x) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 18 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2501.5435 + standardized fitness: 2501.5435 + adjusted fitness: 0.0004 +TREE: + (* (* (+ -0.70946 + (* x + (- x + (+ (- (- (log 0.38955) 0.58648) -0.06565) 0.17167)))) x) x) +=== BEST-OF-RUN === + current generation: 2 + generation: 1 + nodes: 18 + depth: 9 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 2501.5435 + standardized fitness: 2501.5435 + adjusted fitness: 0.0004 +TREE: + (* (* (+ -0.70946 + (* x + (- x + (+ (- (- (log 0.38955) 0.58648) -0.06565) 0.17167)))) x) x) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 29 + depth: 12 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 2300.6461 + standardized fitness: 2300.6461 + adjusted fitness: 0.0004 +TREE: + (* (* (+ -0.70946 + (* x + (- x + (+ (- (- (log 0.38955) 0.58648) + (log (cos (+ (- 0.52905 -0.92723) + (- (exp -0.76348) + (* 0.42215 x)))))) 0.17167)))) x) x) +=== BEST-OF-RUN === + current generation: 4 + generation: 3 + nodes: 29 + depth: 12 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 2300.6461 + standardized fitness: 2300.6461 + adjusted fitness: 0.0004 +TREE: + (* (* (+ -0.70946 + (* x + (- x + (+ (- (- (log 0.38955) 0.58648) + (log (cos (+ (- 0.52905 -0.92723) + (- (exp -0.76348) + (* 0.42215 x)))))) 0.17167)))) x) x) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 34 + depth: 15 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 1535.6154 + standardized fitness: 1535.6154 + adjusted fitness: 0.0007 +TREE: + (* (* (+ -0.70946 + (* x + (- x + (+ (- (- (log 0.38955) 0.58648) + (log (cos (* (/ (log (+ 0.87712 + (exp (sin x)))) + (exp (sin (* x 0.75765)))) + (sin x))))) 0.17167)))) x) x) +=== BEST-OF-RUN === + current generation: 6 + generation: 6 + nodes: 13 + depth: 3 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 863.4859 + standardized fitness: 863.4859 + adjusted fitness: 0.0012 +TREE: + (* (+ (* x x) x) + (+ (- -0.20976 -0.63300) + (* x x))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 46 + depth: 15 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 712.5638 + standardized fitness: 712.5638 + adjusted fitness: 0.0014 +TREE: + (* (* (+ (cos (exp (exp (sin (- (- (sin x) + (- -0.80538 x)) + (log 0.56794)))))) + (* x + (- x + (+ (- (- (log 0.38955) 0.58648) + (log (cos (* (/ (log (+ 0.87712 + (exp (sin x)))) + (exp (sin (* x 0.75765)))) + (sin x))))) 0.17167)))) x) x) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 18 + depth: 8 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 366.6820 + standardized fitness: 366.6820 + adjusted fitness: 0.0027 +TREE: + (* (* (+ (cos 0.11014) + (* x + (- x + (log (/ (log x) + (+ -0.02221 x)))))) x) x) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 28 + depth: 14 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 305.3262 + standardized fitness: 305.3262 + adjusted fitness: 0.0033 +TREE: + (* (* (+ (cos 0.11014) + (* x + (- x + (+ (- (- (log 0.38955) 0.58648) + (log (cos (sin (log (log (+ (- x -0.93678) x))))))) 0.17167)))) x) x) +=== BEST-OF-RUN === + current generation: 10 + generation: 9 + nodes: 28 + depth: 14 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 305.3262 + standardized fitness: 305.3262 + adjusted fitness: 0.0033 +TREE: + (* (* (+ (cos 0.11014) + (* x + (- x + (+ (- (- (log 0.38955) 0.58648) + (log (cos (sin (log (log (+ (- x -0.93678) x))))))) 0.17167)))) x) x) +=== BEST-OF-RUN === + current generation: 11 + generation: 9 + nodes: 28 + depth: 14 + hits: 2 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 2 + raw fitness: 305.3262 + standardized fitness: 305.3262 + adjusted fitness: 0.0033 +TREE: + (* (* (+ (cos 0.11014) + (* x + (- x + (+ (- (- (log 0.38955) 0.58648) + (log (cos (sin (log (log (+ (- x -0.93678) x))))))) 0.17167)))) x) x) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 27 + depth: 14 + hits: 1 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 1 + raw fitness: 239.3989 + standardized fitness: 239.3989 + adjusted fitness: 0.0042 +TREE: + (* (* (+ (cos 0.11014) + (* x + (- x + (+ (- (- (log 0.38955) 0.58648) + (log (cos (sin (log (log (- (log 0.38955) 0.58648))))))) 0.17167)))) x) x) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 49 + depth: 17 + hits: 11 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 11 + raw fitness: 149.0866 + standardized fitness: 149.0866 + adjusted fitness: 0.0067 +TREE: + (* (+ (* x x) x) + (+ (- -0.20976 + (- x + (- x + (+ (- (- (log 0.38955) 0.58648) + (log (cos (sin (exp (- 0.69982 + (cos (* (+ (* (* -0.17899 x) + (- x x)) + (cos x)) + (* (* -0.00069 x) + (* 0.09328 + (sin x))))))))))) 0.17167)))) + (* x x))) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 26 + depth: 13 + hits: 3 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 3 + raw fitness: 131.1934 + standardized fitness: 131.1934 + adjusted fitness: 0.0076 +TREE: + (* (* (+ (cos 0.11014) + (* x + (- x + (+ (- (- (log 0.38955) 0.58648) + (log (cos (sin (log (+ 0.87712 + (log x))))))) 0.17167)))) x) x) +=== BEST-OF-RUN === + current generation: 15 + generation: 15 + nodes: 29 + depth: 11 + hits: 25 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 25 + raw fitness: 75.2825 + standardized fitness: 75.2825 + adjusted fitness: 0.0131 +TREE: + (* (+ (* x x) x) + (+ (- -0.20976 + (- x + (- x + (+ (- (- (log 0.38955) 0.58648) + (log (cos (+ -0.17429 + (sin -0.26324))))) 0.17167)))) + (* x x))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 36 + depth: 17 + hits: 97 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 97 + raw fitness: 4.1041 + standardized fitness: 4.1041 + adjusted fitness: 0.1959 +TREE: + (* (+ (* x x) x) + (+ (- -0.20976 + (- x + (- x + (+ (- (- (log 0.38955) 0.58648) + (log (cos (sin (sin (log (log (- (log (- (log 0.38955) 0.58648)) 0.58648)))))))) 0.17167)))) + (* x x))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 27 + depth: 7 + hits: 200 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 200 + raw fitness: 0.0000 + standardized fitness: 0.0000 + adjusted fitness: 1.0000 +TREE: + (* (+ (* x x) x) + (+ (cos (* (+ (* (* -0.17899 x) + (- x x)) + (cos x)) + (* (* -0.00069 x) -0.10147))) + (* x x))) diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.prg b/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.prg new file mode 100644 index 0000000..af947ab --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.prg @@ -0,0 +1,202 @@ +not starting from checkpoint file. +200 fitness cases: + x = 2.36574, y = 52.52598 + x = -1.25731, y = 0.83496 + x = -2.47276, y = 25.90970 + x = -0.41956, y = -0.28640 + x = -4.09990, y = 226.34255 + x = -4.51805, y = 340.34988 + x = 0.38768, y = 0.61883 + x = 0.22154, y = 0.28391 + x = -4.05220, y = 215.45630 + x = -3.71838, y = 149.86515 + x = -0.47422, y = -0.30541 + x = 3.05367, y = 127.80781 + x = -0.77575, y = -0.27865 + x = -1.66901, y = 4.22699 + x = 4.44924, y = 504.19425 + x = -4.64319, y = 381.61218 + x = 2.47606, y = 61.37452 + x = -1.87562, y = 7.41993 + x = -4.41180, y = 308.02690 + x = 0.96576, y = 3.66915 + x = 1.74070, y = 19.22614 + x = -0.25796, y = -0.20416 + x = -4.66771, y = 390.11928 + x = 0.26036, y = 0.35039 + x = -2.63741, y = 34.35803 + x = -4.70600, y = 403.68394 + x = -2.43321, y = 24.13377 + x = 4.61749, y = 578.98523 + x = -2.23947, y = 16.69683 + x = 1.79323, y = 21.11594 + x = 3.91105, y = 313.00858 + x = 4.10375, y = 373.66580 + x = 0.10331, y = 0.11520 + x = 1.85438, y = 23.49456 + x = 4.90526, y = 725.95177 + x = 0.34039, y = 0.50913 + x = 2.54861, y = 67.78896 + x = -2.24913, y = 17.02140 + x = 4.39592, y = 482.08821 + x = 4.76389, y = 650.61988 + x = 0.14788, y = 0.17346 + x = 2.34279, y = 50.81583 + x = -0.95579, y = -0.08085 + x = 1.47152, y = 11.51209 + x = 0.00469, y = 0.00472 + x = -1.36449, y = 1.42330 + x = -0.17030, y = -0.14540 + x = 4.59925, y = 570.49256 + x = 3.91116, y = 313.04269 + x = -0.28941, y = -0.22288 + x = -4.76628, y = 425.75344 + x = 4.31568, y = 450.21368 + x = 4.39110, y = 480.12601 + x = -0.69584, y = -0.31413 + x = -2.56558, y = 30.45493 + x = 3.26199, y = 161.83359 + x = 3.63938, y = 240.52021 + x = 0.67286, y = 1.63521 + x = -0.32481, y = -0.24245 + x = 0.55970, y = 1.14644 + x = -2.06666, y = 11.61975 + x = -2.36319, y = 21.21227 + x = 0.82562, y = 2.53473 + x = -3.81609, y = 167.24158 + x = 1.13374, y = 5.52852 + x = 2.18299, y = 40.06089 + x = -0.99054, y = -0.01857 + x = 2.75273, y = 88.60797 + x = 3.32629, y = 173.61007 + x = 0.81373, y = 2.45317 + x = 0.52712, y = 1.02862 + x = 2.87681, y = 103.45407 + x = -0.78678, y = -0.27160 + x = 0.87762, y = 2.91699 + x = 0.73204, y = 1.94737 + x = 2.42502, y = 57.14950 + x = 0.35094, y = 0.53249 + x = 1.02812, y = 4.28926 + x = -2.17406, y = 14.61676 + x = -0.89940, y = -0.16367 + x = -3.34538, y = 95.65708 + x = 1.89393, y = 25.14086 + x = -0.05769, y = -0.05455 + x = 2.20083, y = 41.16526 + x = -1.14011, y = 0.36737 + x = 1.27424, y = 7.60319 + x = -1.72188, y = 4.92824 + x = -1.08060, y = 0.18881 + x = -4.27936, y = 271.02909 + x = -2.27774, y = 18.00945 + x = -3.66907, y = 141.62716 + x = 4.79588, y = 667.12677 + x = -0.57542, y = -0.32521 + x = -1.41781, y = 1.78319 + x = -0.76323, y = -0.28598 + x = 2.27107, y = 45.74480 + x = -1.87043, y = 7.32385 + x = 3.16659, y = 145.49329 + x = -4.26052, y = 266.05064 + x = 2.57967, y = 70.68676 + x = 3.28457, y = 165.89835 + x = 3.80157, y = 282.05223 + x = 1.77330, y = 20.38277 + x = -0.18943, y = -0.15906 + x = -1.94403, y = 8.77110 + x = -1.66021, y = 4.11722 + x = -0.62663, y = -0.32583 + x = -2.80973, y = 45.22757 + x = -4.55573, y = 352.40314 + x = 1.16018, y = 5.87961 + x = -0.01614, y = -0.01588 + x = -0.28002, y = -0.21742 + x = -0.04778, y = -0.04560 + x = -3.04707, y = 64.15154 + x = -0.77123, y = -0.28138 + x = -1.86254, y = 7.17970 + x = 3.21223, y = 153.14647 + x = -2.75656, y = 41.63514 + x = 1.94714, y = 27.49511 + x = 3.86267, y = 299.02772 + x = -0.94658, y = -0.09587 + x = 0.84287, y = 2.65682 + x = 2.01325, y = 30.65471 + x = -4.25338, y = 264.18300 + x = 2.52916, y = 66.02110 + x = 1.72554, y = 18.70638 + x = -3.89649, y = 182.64034 + x = 4.40265, y = 484.83858 + x = -2.17835, y = 14.74714 + x = -2.60775, y = 32.70398 + x = -1.94835, y = 8.86182 + x = -1.83933, y = 6.76674 + x = 0.58385, y = 1.23997 + x = 1.66576, y = 16.76190 + x = 4.11674, y = 378.05063 + x = 1.93464, y = 26.92734 + x = -3.05829, y = 65.17115 + x = -2.01062, y = 10.24641 + x = -2.02795, y = 10.65777 + x = -4.27756, y = 270.55098 + x = 3.06200, y = 129.05328 + x = -3.96531, y = 196.64436 + x = 1.97226, y = 28.66431 + x = -3.14203, y = 73.17444 + x = 3.66885, y = 247.69697 + x = 0.48806, y = 0.89926 + x = -2.21737, y = 15.97128 + x = -1.32204, y = 1.16987 + x = 1.05303, y = 4.55913 + x = 2.51123, y = 64.42313 + x = 1.16756, y = 5.98070 + x = -1.27308, y = 0.91110 + x = 0.34494, y = 0.51913 + x = 3.34723, y = 177.58222 + x = -0.47197, y = -0.30473 + x = 0.12390, y = 0.14140 + x = -1.78228, y = 5.82315 + x = -4.89246, y = 474.87615 + x = 0.69383, y = 1.74099 + x = 1.12132, y = 5.36958 + x = -3.60192, y = 130.96173 + x = -3.61601, y = 133.14741 + x = 4.21822, y = 413.67164 + x = 4.72183, y = 629.39169 + x = 3.09818, y = 134.57103 + x = -1.05082, y = 0.11237 + x = 2.74772, y = 88.04519 + x = -1.90575, y = 7.99525 + x = -1.71592, y = 4.84555 + x = 3.74071, y = 265.87965 + x = -4.64518, y = 382.29656 + x = -0.46573, y = -0.30280 + x = 1.19041, y = 6.30253 + x = 4.43591, y = 498.59555 + x = -2.30489, y = 18.98578 + x = -4.67350, y = 392.14837 + x = -4.50207, y = 335.33391 + x = 3.66602, y = 247.00106 + x = 1.21859, y = 6.71821 + x = -2.59475, y = 31.99758 + x = -1.49217, y = 2.36962 + x = -4.00404, y = 204.86913 + x = -1.29118, y = 1.00274 + x = 1.70033, y = 17.86577 + x = -4.00583, y = 205.25634 + x = -3.33234, y = 94.07839 + x = -1.05755, y = 0.12893 + x = 0.86202, y = 2.79784 + x = 3.56758, y = 223.69453 + x = 0.16756, y = 0.20112 + x = 4.18692, y = 402.42585 + x = 3.84746, y = 294.73229 + x = 4.70530, y = 621.19364 + x = -0.76866, y = -0.28289 + x = -4.63238, y = 377.90824 + x = -1.47227, y = 2.20247 + x = -0.15573, y = -0.13467 + x = 2.53635, y = 66.67026 + x = 4.16286, y = 393.94106 + x = 3.34235, y = 176.65027 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.stt b/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.stt new file mode 100644 index 0000000..cc07224 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.stt @@ -0,0 +1,19 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.0000 0.0002 0.0000 13.002 3.684 12 6 8 3 0.0000 0.0002 0.0000 13.002 3.684 12 6 8 3 +1 0 0.0000 0.0004 0.0000 12.407 3.877 18 9 39 8 0.0000 0.0004 0.0000 12.704 3.780 18 9 39 8 +2 0 0.0000 0.0004 0.0000 12.188 4.034 18 9 7 5 0.0000 0.0004 0.0000 12.532 3.865 18 9 39 8 +3 0 0.0000 0.0004 0.0000 12.267 4.185 29 12 13 8 0.0000 0.0004 0.0000 12.466 3.945 29 12 39 8 +4 0 0.0000 0.0004 0.0000 12.561 4.384 29 12 35 7 0.0000 0.0004 0.0000 12.485 4.033 29 12 39 8 +5 0 0.0000 0.0007 0.0000 12.786 4.657 34 15 26 13 0.0000 0.0007 0.0000 12.535 4.137 34 15 39 8 +6 0 0.0001 0.0012 0.0000 14.257 5.452 13 3 22 9 0.0000 0.0012 0.0000 12.781 4.325 13 3 39 8 +7 0 0.0001 0.0014 0.0000 17.072 6.877 46 15 8 4 0.0000 0.0014 0.0000 13.317 4.644 46 15 39 8 +8 0 0.0001 0.0027 0.0000 20.979 8.644 18 8 12 7 0.0001 0.0027 0.0000 14.169 5.088 18 8 39 8 +9 0 0.0002 0.0033 0.0000 25.001 10.205 28 14 53 15 0.0001 0.0033 0.0000 15.252 5.600 28 14 39 8 +10 0 0.0002 0.0033 0.0000 27.865 11.027 28 14 61 15 0.0001 0.0033 0.0000 16.398 6.093 28 14 39 8 +11 0 0.0003 0.0033 0.0000 29.799 11.455 28 14 36 11 0.0001 0.0033 0.0000 17.515 6.540 28 14 39 8 +12 0 0.0004 0.0042 0.0000 31.284 11.685 27 14 62 17 0.0001 0.0042 0.0000 18.574 6.936 27 14 39 8 +13 0 0.0004 0.0067 0.0000 32.661 11.941 49 17 58 16 0.0001 0.0067 0.0000 19.580 7.293 49 17 39 8 +14 0 0.0006 0.0076 0.0000 33.971 12.124 26 13 8 5 0.0002 0.0076 0.0000 20.540 7.615 26 13 39 8 +15 0 0.0008 0.0131 0.0000 34.668 12.207 29 11 46 16 0.0002 0.0131 0.0000 21.423 7.902 29 11 39 8 +16 0 0.0012 0.1959 0.0000 36.356 12.485 36 17 53 12 0.0003 0.1959 0.0000 22.301 8.172 36 17 39 8 +17 0 0.0044 1.0000 0.0000 37.081 12.690 27 7 32 15 0.0005 1.0000 0.0000 23.122 8.423 27 7 39 8 diff --git a/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.sys b/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.sys new file mode 100644 index 0000000..00eed10 --- /dev/null +++ b/PartA/crossover_90_mutation_10_elitism_2/run_9/regress.sys @@ -0,0 +1,104 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - sin cos exp log x R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 1225. +creating initial population(s): + 5611 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) +user termination criterion met. + +SYSTEM STATISTICS + +------- memory ------- + allocated: 46866977 + freed: 46526093 + not freed: 340884 + max allocated: 5070533 + malloc'ed blocks: 257935 + realloc'ed blocks: 9 + free'ed blocks: 257884 + +------- time ------- + overall: 1s wall + evaluation: 1s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 19899 + freed: 19899 + allocated: 13500 + blocks: 26 diff --git a/Rice_Cammeo_Osmancik.arff b/Rice_Cammeo_Osmancik.arff new file mode 100644 index 0000000..745655b --- /dev/null +++ b/Rice_Cammeo_Osmancik.arff @@ -0,0 +1,3826 @@ +% DATASET: https://www.muratkoklu.com/datasets/ +% Reference: Cinar, I. and Koklu, M. (2019). Classification of Rice Varieties Using Artificial Intelligence Methods. International Journal of Intelligent Systems and Applications in Engineering, vol.7, no.3 (Sep. 2019), pp.188-194. +% https://doi.org/10.18201/ijisae.2019355381(https://www.ijisae.org/IJISAE/article/view/1068) +% DATASET: https://www.muratkoklu.com/datasets/ + +@RELATION Rice_Cammeo_Osmancik +@ATTRIBUTE Area Integer +@ATTRIBUTE Perimeter Real +@ATTRIBUTE Major_Axis_Length Real +@ATTRIBUTE Minor_Axis_Length Real +@ATTRIBUTE Eccentricity Real +@ATTRIBUTE Convex_Area Integer +@ATTRIBUTE Extent Real +@ATTRIBUTE Class {Cammeo, Osmancik} + +@DATA +15231,525.5789794921875,229.7498779296875,85.09378814697266,0.9288820028305054,15617,0.5728955268859863,Cammeo +14656,494.3110046386719,206.0200653076172,91.73097229003906,0.8954049944877625,15072,0.615436315536499,Cammeo +14634,501.12200927734375,214.10678100585938,87.7682876586914,0.9121180772781372,14954,0.6932588219642639,Cammeo +13176,458.3429870605469,193.33738708496094,87.44839477539062,0.8918609023094177,13368,0.640669047832489,Cammeo +14688,507.1669921875,211.74337768554688,89.31245422363281,0.9066908955574036,15262,0.6460239291191101,Cammeo +13479,477.0159912109375,200.0530548095703,86.6502914428711,0.9013283252716064,13786,0.6578972935676575,Cammeo +15757,509.281005859375,207.2966766357422,98.33613586425781,0.8803234696388245,16150,0.5897080898284912,Cammeo +16405,526.5700073242188,221.61251831054688,95.43670654296875,0.9025205969810486,16837,0.6588882803916931,Cammeo +14534,483.6409912109375,196.65081787109375,95.0506820678711,0.8754285573959351,14932,0.6496513485908508,Cammeo +13485,471.57000732421875,198.27264404296875,87.72728729248047,0.8967893123626709,13734,0.5723198652267456,Cammeo +14930,499.92498779296875,212.24581909179688,90.0174789428711,0.9056064486503601,15248,0.6243727207183838,Cammeo +14626,496.58599853515625,204.5341339111328,92.97486877441406,0.8907115459442139,15070,0.5702144503593445,Cammeo +15926,522.739990234375,225.73605346679688,91.05709075927734,0.9150331616401672,16240,0.7797688841819763,Cammeo +14076,479.677001953125,199.48915100097656,90.7099838256836,0.8906388878822327,14434,0.7812187671661377,Cammeo +13500,476.9150085449219,202.5466766357422,85.40547180175781,0.9067548513412476,13800,0.7177033424377441,Cammeo +14349,496.9460144042969,213.5440216064453,86.16077423095703,0.9149883985519409,14678,0.6668370962142944,Cammeo +15209,496.56500244140625,214.05007934570312,91.02632141113281,0.9050725698471069,15395,0.5693695545196533,Cammeo +15238,496.8710021972656,208.5317840576172,93.82839965820312,0.8930549025535583,15487,0.7323144674301147,Cammeo +13509,480.46600341796875,207.1371612548828,83.9401626586914,0.9142105579376221,13732,0.595634937286377,Cammeo +13699,480.72900390625,197.97091674804688,89.9490737915039,0.8908207416534424,14178,0.6720467209815979,Cammeo +13921,481.9930114746094,203.4448699951172,88.12581634521484,0.9013131856918335,14210,0.5613306164741516,Cammeo +14405,488.23699951171875,204.4301300048828,90.62645721435547,0.896367073059082,14742,0.7637857794761658,Cammeo +13377,472.96099853515625,199.94078063964844,86.68286895751953,0.9011330008506775,13685,0.7948306798934937,Cammeo +15043,498.29901123046875,206.01170349121094,94.76668548583984,0.8879156708717346,15414,0.5868836045265198,Cammeo +14590,496.1719970703125,212.1007537841797,88.60240936279297,0.9085678458213806,14883,0.5714845061302185,Cammeo +13237,466.00299072265625,197.90480041503906,85.7095718383789,0.9013531804084778,13445,0.5924185514450073,Cammeo +16226,524.2050170898438,216.87326049804688,96.65367889404297,0.895197868347168,16748,0.6486248970031738,Cammeo +13203,469.46600341796875,199.34185791015625,85.38957214355469,0.9036093950271606,13431,0.6015582084655762,Cammeo +13328,473.04400634765625,201.39886474609375,85.25860595703125,0.9059745669364929,13588,0.7800995111465454,Cammeo +14945,493.1080017089844,202.04698181152344,95.07941436767578,0.8823569416999817,15357,0.7399980425834656,Cammeo +13130,467.9219970703125,196.1468048095703,86.20711517333984,0.8982411026954651,13462,0.5748183131217957,Cammeo +13414,479.9010009765625,203.08596801757812,85.73687744140625,0.9065164923667908,13735,0.7140423655509949,Cammeo +16104,507.4289855957031,206.07073974609375,100.75363159179688,0.8723244667053223,16457,0.605413556098938,Cammeo +11827,455.22100830078125,194.78445434570312,78.43153381347656,0.9153504967689514,12212,0.7699869871139526,Cammeo +14479,475.92498779296875,200.55194091796875,92.17806243896484,0.8881146907806396,14696,0.7114288806915283,Cammeo +14306,482.24798583984375,197.685791015625,94.05610656738281,0.8795611262321472,14667,0.5879500508308411,Cammeo +14415,488.12200927734375,203.5928497314453,91.03472900390625,0.8944634199142456,14758,0.6741021275520325,Cammeo +14415,490.0660095214844,206.53924560546875,90.01753234863281,0.9000254273414612,14671,0.653326690196991,Cammeo +14524,480.2120056152344,199.93301391601562,93.31210327148438,0.8844068050384521,14808,0.6112794876098633,Cammeo +13780,497.4280090332031,221.722900390625,79.95213317871094,0.9327225685119629,14010,0.5507814288139343,Cammeo +12768,464.82000732421875,195.38815307617188,84.35991668701172,0.9019906520843506,13085,0.5829870700836182,Cammeo +13047,486.3689880371094,213.19447326660156,79.28887176513672,0.9282693266868591,13621,0.6154245138168335,Cammeo +14456,492.95098876953125,212.41122436523438,87.3601303100586,0.9115098118782043,14726,0.7950283288955688,Cammeo +13973,474.00799560546875,192.3492889404297,93.77914428710938,0.8730972409248352,14354,0.6141977906227112,Cammeo +13858,482.5799865722656,205.02015686035156,86.96467590332031,0.905579686164856,14154,0.5559210777282715,Cammeo +13148,481.72198486328125,201.51889038085938,84.54153442382812,0.9077453017234802,13572,0.623748779296875,Cammeo +12792,462.072998046875,194.4810028076172,84.73088836669922,0.9001030921936035,13032,0.5939270257949829,Cammeo +15778,515.2730102539062,214.037841796875,95.49766540527344,0.8949472904205322,16283,0.6862983703613281,Cammeo +15404,509.5169982910156,217.29757690429688,91.39753723144531,0.9072415232658386,15696,0.6337008476257324,Cammeo +14911,494.0889892578125,207.56024169921875,92.41060638427734,0.895419716835022,15132,0.60476154088974,Cammeo +15360,504.23199462890625,210.3907470703125,94.74095916748047,0.8928725123405457,15751,0.7576579451560974,Cammeo +15746,503.2309875488281,204.8744354248047,99.4487075805664,0.8742849826812744,16171,0.7530367970466614,Cammeo +14304,489.0369873046875,211.026611328125,86.83942413330078,0.9114055633544922,14483,0.5777292847633362,Cammeo +15136,518.6439819335938,221.7091064453125,88.20763397216797,0.9174491763114929,15469,0.5297123193740845,Cammeo +12919,475.260009765625,201.81565856933594,83.20626831054688,0.9110533595085144,13256,0.7651622891426086,Cammeo +15224,510.8819885253906,213.1961669921875,92.32341003417969,0.9013726115226746,15686,0.6395295262336731,Cammeo +12950,468.57000732421875,196.61679077148438,84.8003158569336,0.9022098183631897,13584,0.7618095278739929,Cammeo +13536,478.0060119628906,203.1737823486328,85.91057586669922,0.906203031539917,13810,0.5528056621551514,Cammeo +15551,508.4070129394531,217.0155029296875,92.15181732177734,0.9053658246994019,15786,0.8074247241020203,Cammeo +14166,483.7049865722656,204.6273193359375,88.99236297607422,0.9004788994789124,14412,0.766061007976532,Cammeo +13916,478.87799072265625,201.63967895507812,88.56097412109375,0.8983873128890991,14221,0.6039930582046509,Cammeo +12308,451.6090087890625,193.2675323486328,81.6598892211914,0.9063524007797241,12488,0.7240425944328308,Cammeo +15127,499.79998779296875,212.90391540527344,91.1516342163086,0.9037147760391235,15370,0.7129996418952942,Cammeo +14115,486.2720031738281,207.55104064941406,87.78108978271484,0.9061589241027832,14422,0.6008172631263733,Cammeo +17313,531.9840087890625,225.5345916748047,98.4435043334961,0.8997092843055725,17582,0.5698814988136292,Cammeo +15147,511.29400634765625,216.0992889404297,90.9463882446289,0.907128095626831,15637,0.5348516702651978,Cammeo +16419,531.4210205078125,224.06594848632812,94.54113006591797,0.9066263437271118,16874,0.5504190325737,Cammeo +13737,484.385009765625,209.54351806640625,84.1657485961914,0.9157878160476685,13944,0.6052075028419495,Cammeo +14053,497.052001953125,216.19186401367188,84.1599349975586,0.9211179614067078,14416,0.808387041091919,Cammeo +11549,440.24798583984375,179.11688232421875,84.49580383300781,0.8817400932312012,11961,0.5954013466835022,Cammeo +16490,520.3189697265625,212.01075744628906,101.68000793457031,0.8774881362915039,16873,0.6293652653694153,Cammeo +14011,475.87298583984375,197.7286376953125,91.1590805053711,0.8873838782310486,14315,0.777611255645752,Cammeo +15809,518.4550170898438,221.0706787109375,92.2322998046875,0.9088113307952881,16079,0.8148128986358643,Cammeo +12473,470.3399963378906,202.4428253173828,79.02429962158203,0.9206649661064148,12806,0.5259762406349182,Cammeo +15319,506.0249938964844,208.22775268554688,94.8387451171875,0.8902578949928284,15813,0.573702335357666,Cammeo +15498,512.7039794921875,215.808349609375,92.62403106689453,0.9032114744186401,15914,0.5788884162902832,Cammeo +13902,479.23199462890625,201.11488342285156,89.12859344482422,0.896436333656311,14202,0.6986982822418213,Cammeo +14837,499.8320007324219,210.06724548339844,91.26864624023438,0.900684654712677,15263,0.6800971627235413,Cammeo +15113,493.7380065917969,206.56613159179688,94.19136810302734,0.8899866938591003,15374,0.6590353846549988,Cammeo +16091,508.83099365234375,209.1838836669922,99.23175811767578,0.8803225159645081,16431,0.6704583168029785,Cammeo +15543,507.385009765625,211.65121459960938,94.57139587402344,0.8946205973625183,15976,0.6529300808906555,Cammeo +13683,492.9750061035156,213.90919494628906,83.1207046508789,0.9214152693748474,14070,0.76126629114151,Cammeo +12161,445.0480041503906,182.33474731445312,86.272705078125,0.8809788823127747,12428,0.6028056144714355,Cammeo +13711,483.2149963378906,203.88076782226562,86.62690734863281,0.9052449464797974,14097,0.5614660382270813,Cammeo +12518,473.3840026855469,203.92205810546875,80.0076675415039,0.9198184013366699,12778,0.6803261041641235,Cammeo +13302,482.69000244140625,209.39710998535156,81.74890899658203,0.9206447601318359,13827,0.595327615737915,Cammeo +16418,534.989990234375,230.15858459472656,91.78717803955078,0.9170380234718323,16736,0.6462761759757996,Cammeo +14166,491.6130065917969,209.03634643554688,87.52461242675781,0.908122181892395,14386,0.6022959351539612,Cammeo +14988,499.3550109863281,212.26197814941406,90.98807525634766,0.9034662246704102,15245,0.5886881351470947,Cammeo +14223,480.9530029296875,201.38955688476562,90.3858871459961,0.8936265707015991,14441,0.6419479846954346,Cammeo +12518,460.72198486328125,195.6509246826172,82.36373901367188,0.9070731997489929,12813,0.6898870468139648,Cammeo +12854,474.13800048828125,202.19570922851562,81.74695587158203,0.9146281480789185,13242,0.643278956413269,Cammeo +15705,498.9639892578125,208.54116821289062,96.63723754882812,0.8861510753631592,16009,0.7736453413963318,Cammeo +14451,487.2200012207031,201.29469299316406,92.7395248413086,0.88754802942276,14776,0.6472722291946411,Cammeo +14064,486.8900146484375,204.16307067871094,88.52142333984375,0.9011141061782837,14388,0.6483795046806335,Cammeo +13524,487.468994140625,208.15342712402344,83.61426544189453,0.915773332118988,13830,0.6379245519638062,Cammeo +13677,494.635009765625,219.5995635986328,79.63166046142578,0.9319362640380859,13936,0.5320961475372314,Cammeo +12921,476.7460021972656,206.22262573242188,80.40367889404297,0.9208623766899109,13218,0.546920657157898,Cammeo +13251,460.5320129394531,190.9163055419922,88.99755859375,0.8847004175186157,13528,0.7499151229858398,Cammeo +14601,505.2489929199219,215.93438720703125,86.75872039794922,0.9157350063323975,14991,0.6685439348220825,Cammeo +15141,505.4209899902344,209.59359741210938,93.09237670898438,0.8959491848945618,15559,0.5663998126983643,Cammeo +12599,455.281005859375,188.0159149169922,86.3744888305664,0.8882295489311218,12897,0.6212524771690369,Cammeo +14709,515.8499755859375,222.72283935546875,85.43155670166016,0.9235085248947144,14941,0.5247966051101685,Cammeo +12047,455.6080017089844,195.66607666015625,80.2691421508789,0.9119796752929688,12339,0.5440300107002258,Cammeo +13158,470.9960021972656,201.0183868408203,84.50301361083984,0.9073506593704224,13462,0.619783341884613,Cammeo +15191,501.8919982910156,211.7231903076172,92.78570556640625,0.8988576531410217,15492,0.5683765411376953,Cammeo +13837,483.593994140625,204.31092834472656,87.28925323486328,0.904139518737793,14139,0.5694238543510437,Cammeo +13645,484.32501220703125,205.53897094726562,85.92192840576172,0.9084321856498718,13972,0.5471349954605103,Cammeo +16199,511.2279968261719,210.00164794921875,99.41775512695312,0.8808399438858032,16637,0.7382645010948181,Cammeo +13169,474.8370056152344,201.38011169433594,84.48709106445312,0.9077366590499878,13505,0.5471125841140747,Cammeo +14022,483.0190124511719,204.4829559326172,88.56926727294922,0.9013277888298035,14358,0.7047293782234192,Cammeo +12471,445.3739929199219,184.9920654296875,86.85975646972656,0.8829152584075928,12688,0.6717841029167175,Cammeo +12706,463.45098876953125,194.18145751953125,84.88485717773438,0.8993925452232361,13011,0.7973142862319946,Cammeo +14918,500.27099609375,210.4246063232422,91.21054077148438,0.9011730551719666,15185,0.6407250165939331,Cammeo +14641,505.00201416015625,211.58364868164062,90.03343200683594,0.9049482345581055,15034,0.6295579671859741,Cammeo +15216,500.3680114746094,208.22842407226562,94.30258178710938,0.8915712237358093,15558,0.5730425715446472,Cammeo +12349,467.6650085449219,202.68780517578125,78.67498016357422,0.921592652797699,12572,0.5481622815132141,Cammeo +13584,478.0570068359375,203.83694458007812,85.42742156982422,0.9079415202140808,13877,0.6763256192207336,Cammeo +14138,490.8340148925781,206.18084716796875,89.36727905273438,0.9011818170547485,14523,0.762567400932312,Cammeo +11956,438.89599609375,184.64370727539062,83.21842193603516,0.892676830291748,12121,0.5770270228385925,Cammeo +10604,425.9259948730469,179.15118408203125,76.35169219970703,0.9046356678009033,10830,0.574898362159729,Cammeo +14592,494.44000244140625,212.6799774169922,88.28739166259766,0.9097673296928406,14838,0.7456310391426086,Cammeo +12770,458.302001953125,196.63278198242188,83.19528198242188,0.9060831069946289,12949,0.6028703451156616,Cammeo +15143,504.1400146484375,207.7341766357422,94.14838409423828,0.8914008736610413,15628,0.5713261365890503,Cammeo +12917,473.2349853515625,200.32533264160156,83.20117950439453,0.9096706509590149,13302,0.6660994291305542,Cammeo +15714,501.1549987792969,205.0133056640625,99.27554321289062,0.8749354481697083,16074,0.7338875532150269,Cammeo +14655,491.7149963378906,200.1468963623047,94.78046417236328,0.8807644844055176,15181,0.6009103059768677,Cammeo +15639,499.1390075683594,207.98045349121094,96.29037475585938,0.8863697648048401,15895,0.7067835927009583,Cammeo +15166,502.1650085449219,214.13986206054688,91.3851089477539,0.9043676257133484,15475,0.794863760471344,Cammeo +13742,493.85400390625,212.60800170898438,84.88685607910156,0.9168357253074646,14272,0.5832272171974182,Cammeo +13983,483.6679992675781,201.48521423339844,89.05701446533203,0.8970137238502502,14320,0.567491888999939,Cammeo +11386,450.1199951171875,195.46043395996094,75.84288787841797,0.921650230884552,11612,0.5128597617149353,Cammeo +15636,513.2269897460938,214.38356018066406,93.9777603149414,0.8987981677055359,15913,0.5662755370140076,Cammeo +13507,468.239013671875,197.50924682617188,87.92959594726562,0.8954349756240845,13735,0.5772222280502319,Cammeo +13186,477.3340148925781,201.59677124023438,84.66999053955078,0.9075255990028381,13516,0.5418310165405273,Cammeo +14013,458.9110107421875,181.9514923095703,99.44376373291016,0.8374330401420593,14323,0.7943877577781677,Cammeo +16053,523.8400268554688,220.9137725830078,93.89167785644531,0.9051862955093384,16496,0.7479731440544128,Cammeo +13557,483.90899658203125,206.20372009277344,84.3873062133789,0.912425696849823,13845,0.5525801181793213,Cammeo +13104,476.989013671875,202.42510986328125,83.61328887939453,0.9107047915458679,13464,0.5388157963752747,Cammeo +15167,514.2310180664062,220.54652404785156,88.99761962890625,0.9149654507637024,15456,0.6280331015586853,Cammeo +14159,489.4360046386719,209.13131713867188,87.11465454101562,0.9091106057167053,14410,0.5479488968849182,Cammeo +14436,485.82598876953125,204.46995544433594,90.74992370605469,0.8961109519004822,14864,0.6144809126853943,Cammeo +15320,511.92999267578125,218.62315368652344,91.16981506347656,0.9088981747627258,15740,0.5456423163414001,Cammeo +15341,504.4630126953125,210.8721923828125,93.98657989501953,0.8951804041862488,15628,0.7689724564552307,Cammeo +14399,484.0820007324219,200.1735382080078,92.85159301757812,0.8859108686447144,14849,0.6047967076301575,Cammeo +16835,522.5349731445312,216.2716522216797,100.43251037597656,0.8856353759765625,17404,0.7352170348167419,Cammeo +13655,471.5249938964844,193.19618225097656,91.55775451660156,0.8805728554725647,14053,0.7109757661819458,Cammeo +14276,492.8399963378906,208.876953125,88.12108612060547,0.906651496887207,14706,0.582456111907959,Cammeo +12199,454.40399169921875,191.90957641601562,82.14076232910156,0.9037702083587646,12555,0.7505229711532593,Cammeo +12223,445.4389953613281,185.02908325195312,85.37150573730469,0.887194812297821,12460,0.7960273623466492,Cammeo +13884,491.6180114746094,207.6543731689453,86.34349060058594,0.909454345703125,14232,0.5423649549484253,Cammeo +15833,530.3350219726562,225.223388671875,91.51106262207031,0.9137341976165771,16337,0.5864074230194092,Cammeo +12861,471.9209899902344,193.25091552734375,86.45822143554688,0.8943397402763367,13330,0.6334219574928284,Cammeo +15080,500.0060119628906,209.5892791748047,92.79666137695312,0.8966427445411682,15614,0.7323232293128967,Cammeo +16898,526.9439697265625,217.87179565429688,100.34503173828125,0.8876237869262695,17274,0.6244641542434692,Cammeo +16254,532.7780151367188,223.5486297607422,94.11949920654297,0.9070491790771484,16680,0.5536857843399048,Cammeo +14274,488.8299865722656,203.56785583496094,89.92999267578125,0.8971287608146667,14529,0.5723565220832825,Cammeo +13965,478.5769958496094,203.27635192871094,88.10750579833984,0.9011838436126709,14135,0.8078792095184326,Cammeo +13860,484.7720031738281,200.77662658691406,88.84082794189453,0.896775484085083,14238,0.6608811616897583,Cammeo +13568,482.4570007324219,201.88047790527344,87.0738525390625,0.9022019505500793,14068,0.6358013153076172,Cammeo +14546,494.1679992675781,212.313720703125,87.87223815917969,0.9103317856788635,14826,0.6257420778274536,Cammeo +16559,524.1290283203125,223.6376190185547,94.94790649414062,0.9053991436958313,16961,0.775088906288147,Cammeo +15308,513.989990234375,219.46791076660156,90.02393341064453,0.9119992852210999,15720,0.7632628679275513,Cammeo +14741,497.2250061035156,212.46336364746094,89.45372772216797,0.9070461392402649,15036,0.5537149906158447,Cammeo +13397,474.864990234375,200.5462646484375,86.39673614501953,0.902444064617157,13762,0.6940371990203857,Cammeo +15559,514.2789916992188,221.11907958984375,90.46383666992188,0.912481427192688,15903,0.7757778167724609,Cammeo +13665,482.0769958496094,208.9640350341797,84.61726379394531,0.9143446087837219,13998,0.6012142896652222,Cammeo +15390,511.5090026855469,214.46609497070312,92.45722198486328,0.9023022055625916,15788,0.773289144039154,Cammeo +14017,471.8139953613281,194.64344787597656,92.3601303100586,0.8802504539489746,14314,0.7087884545326233,Cammeo +14209,496.2720031738281,208.82290649414062,87.7580337524414,0.9074078798294067,14667,0.5657349824905396,Cammeo +14786,505.3890075683594,214.2183837890625,89.42656707763672,0.9086975455284119,15177,0.7341609001159668,Cammeo +15540,516.3159790039062,217.38722229003906,92.47346496582031,0.9050120711326599,16084,0.632478654384613,Cammeo +17442,539.7760009765625,228.59347534179688,98.19204711914062,0.9030436277389526,17698,0.5762521624565125,Cammeo +17082,548.4459838867188,230.188720703125,95.75758361816406,0.9093664288520813,17576,0.5924667119979858,Cammeo +14195,488.4599914550781,203.51271057128906,89.95865631103516,0.8970004320144653,14555,0.7173539400100708,Cammeo +15172,504.1579895019531,213.22467041015625,91.66706085205078,0.9028725028038025,15477,0.6224410533905029,Cammeo +14434,486.6679992675781,201.27195739746094,92.73377227783203,0.887535810470581,14754,0.625986635684967,Cammeo +12863,457.1910095214844,195.7003936767578,84.50079345703125,0.9019758105278015,13023,0.8085868954658508,Cammeo +14019,475.7550048828125,194.51792907714844,92.81695556640625,0.8788142800331116,14308,0.5911199450492859,Cammeo +15888,518.5549926757812,218.194091796875,94.05685424804688,0.9023186564445496,16245,0.5575323700904846,Cammeo +13000,460.3710021972656,195.0987548828125,85.72264862060547,0.8983008861541748,13231,0.5828551054000854,Cammeo +14806,509.3760070800781,214.14242553710938,89.69170379638672,0.9080594182014465,15594,0.708794116973877,Cammeo +14713,493.2120056152344,206.91612243652344,91.64846801757812,0.8965583443641663,15162,0.5940326452255249,Cammeo +13722,482.3429870605469,202.27818298339844,87.75389099121094,0.9009958505630493,14189,0.6056673526763916,Cammeo +15713,518.4520263671875,218.7672576904297,92.4291763305664,0.9063628911972046,16038,0.5835190415382385,Cammeo +12765,460.34600830078125,196.3905487060547,83.89897155761719,0.904154896736145,13139,0.5743532180786133,Cammeo +13487,473.72198486328125,197.11965942382812,87.78462219238281,0.8953632116317749,13773,0.7514067888259888,Cammeo +15252,501.3320007324219,207.5240478515625,94.2730941772461,0.8908612132072449,15595,0.5917132496833801,Cammeo +13684,464.5660095214844,189.5310516357422,92.9057388305664,0.8716170787811279,13928,0.6056475043296814,Cammeo +14709,489.52899169921875,204.9234619140625,91.86573028564453,0.8938867449760437,15041,0.6397998929023743,Cammeo +14331,502.0299987792969,212.58145141601562,87.35810089111328,0.9116626381874084,14618,0.5427586436271667,Cammeo +15475,511.7969970703125,220.4769287109375,90.20722961425781,0.9124689698219299,15734,0.8273189067840576,Cammeo +14368,491.56298828125,211.2970733642578,87.20801544189453,0.9108547568321228,14596,0.624424159526825,Cammeo +13670,486.80999755859375,207.74220275878906,84.57769775390625,0.9133710861206055,13923,0.5809604525566101,Cammeo +14232,505.885009765625,214.10287475585938,86.41410827636719,0.914931058883667,14702,0.5260201096534729,Cammeo +14441,495.3659973144531,210.02328491210938,89.20301818847656,0.9053204655647278,14805,0.5402140021324158,Cammeo +14093,488.5979919433594,204.3924560546875,89.15960693359375,0.8998411297798157,14463,0.5811067223548889,Cammeo +15121,503.48699951171875,212.9385223388672,91.33050537109375,0.9033493399620056,15470,0.7837963700294495,Cammeo +15569,528.7890014648438,221.57684326171875,90.98238372802734,0.9118096232414246,16286,0.5656929016113281,Cammeo +15684,513.8909912109375,221.94532775878906,90.82513427734375,0.9124343991279602,15944,0.7820103764533997,Cammeo +14622,481.6159973144531,200.05355834960938,94.38363647460938,0.8817099928855896,14845,0.6089455485343933,Cammeo +14850,509.2749938964844,215.96319580078125,89.12654876708984,0.9108700752258301,15372,0.7994186282157898,Cammeo +14017,491.0979919433594,212.42835998535156,84.69094848632812,0.917090117931366,14287,0.7621248364448547,Cammeo +11513,438.625,189.7222137451172,77.68550872802734,0.9123237133026123,11736,0.6842386722564697,Cammeo +14793,501.3039855957031,211.60113525390625,90.11253356933594,0.9047889113426208,15049,0.6645253896713257,Cammeo +14466,497.8399963378906,204.4095458984375,91.21478271484375,0.8949156403541565,14885,0.6565009951591492,Cammeo +12162,454.7760009765625,191.1208038330078,82.31742858886719,0.9024909138679504,12493,0.7452206015586853,Cammeo +17180,547.2150268554688,238.43508911132812,93.01494598388672,0.920769989490509,17517,0.5722088813781738,Cammeo +13831,483.6159973144531,202.8757781982422,88.29086303710938,0.900335431098938,14270,0.5910683870315552,Cammeo +13925,478.2900085449219,196.57476806640625,91.43114471435547,0.8852468729019165,14323,0.6627796292304993,Cammeo +14045,482.74200439453125,200.02723693847656,90.7138442993164,0.8912524580955505,14305,0.5726109147071838,Cammeo +16588,531.39501953125,221.885498046875,96.65257263183594,0.9001420140266418,16854,0.5789877772331238,Cammeo +14966,499.63800048828125,205.47482299804688,93.38162231445312,0.8907633423805237,15387,0.581429660320282,Cammeo +16011,525.0689697265625,222.9464569091797,92.38245391845703,0.9101082682609558,16298,0.5566332936286926,Cammeo +14050,481.2510070800781,191.8238525390625,95.06197357177734,0.8685685396194458,14600,0.6076989769935608,Cammeo +14173,480.6830139160156,201.93576049804688,90.24497985839844,0.8945841789245605,14519,0.5975630283355713,Cammeo +14106,487.25201416015625,209.5693817138672,86.5551986694336,0.9107244610786438,14348,0.5427054762840271,Cammeo +15967,511.614990234375,211.69078063964844,96.97522735595703,0.88890141248703,16329,0.5866769552230835,Cammeo +11667,447.5249938964844,186.67124938964844,80.8428726196289,0.9013573527336121,12039,0.6672958135604858,Cammeo +14890,502.5409851074219,206.22853088378906,93.45731353759766,0.8914223313331604,15349,0.5898197889328003,Cammeo +13279,474.2359924316406,200.54470825195312,85.00814056396484,0.9057154655456543,13757,0.7284946441650391,Cammeo +13942,502.031005859375,214.33798217773438,83.7197036743164,0.9205619096755981,14273,0.6445081233978271,Cammeo +13545,482.7359924316406,208.8032684326172,83.3051528930664,0.9169662594795227,13759,0.5325548648834229,Cammeo +14126,498.42498779296875,216.88548278808594,83.81038665771484,0.9223200082778931,14410,0.7607712149620056,Cammeo +14530,487.09698486328125,201.8062286376953,93.05895233154297,0.8873324990272522,14926,0.6871275901794434,Cammeo +13708,486.39599609375,204.6237335205078,86.33972930908203,0.9066219329833984,14361,0.5806752443313599,Cammeo +14252,493.114013671875,202.65460205078125,91.30965423583984,0.8927421569824219,14627,0.563765823841095,Cammeo +14571,489.7309875488281,202.39376831054688,92.94208526611328,0.888325572013855,14884,0.584898829460144,Cammeo +16194,528.1209716796875,226.8743896484375,91.63518524169922,0.9148019552230835,16524,0.5520179867744446,Cammeo +14356,492.0220031738281,209.3755645751953,88.59430694580078,0.9060662388801575,14652,0.5768241882324219,Cammeo +15691,511.8489990234375,213.61216735839844,94.91934967041016,0.8958514332771301,16124,0.6591472625732422,Cammeo +14105,496.2279968261719,209.27542114257812,86.94194793701172,0.9096193313598633,14567,0.6037065386772156,Cammeo +14013,478.2770080566406,194.78256225585938,92.95032501220703,0.8787944912910461,14374,0.6040086150169373,Cammeo +15009,502.4880065917969,211.09036254882812,91.76154327392578,0.9005740284919739,15370,0.6157538294792175,Cammeo +13954,484.5320129394531,203.6781768798828,88.2087173461914,0.901356041431427,14288,0.7508609294891357,Cammeo +16226,517.6840209960938,217.08056640625,95.9383773803711,0.8970405459403992,16466,0.5831446647644043,Cammeo +14505,492.6820068359375,205.41213989257812,90.7625503540039,0.8970860838890076,14834,0.582951545715332,Cammeo +15281,509.5169982910156,212.69688415527344,92.99383544921875,0.8993580341339111,15689,0.6402295827865601,Cammeo +15009,507.4169921875,217.13299560546875,88.92488098144531,0.9122916460037231,15387,0.5985881686210632,Cammeo +14652,485.5469970703125,201.55360412597656,93.44861602783203,0.8860228657722473,14883,0.5931503772735596,Cammeo +15330,501.6969909667969,209.6793212890625,93.87272644042969,0.894185483455658,15617,0.5826238989830017,Cammeo +14407,482.7959899902344,202.83233642578125,91.19192504882812,0.8932337164878845,14671,0.7426288723945618,Cammeo +15741,523.7760009765625,227.50233459472656,89.12435150146484,0.9200711250305176,15999,0.5632245540618896,Cammeo +14589,495.92999267578125,210.283935546875,89.4249496459961,0.9050721526145935,14853,0.6651014089584351,Cammeo +16376,531.0009765625,227.94485473632812,92.66851806640625,0.9136333465576172,16667,0.7417674660682678,Cammeo +14294,484.1940002441406,205.12840270996094,89.00131225585938,0.9009702205657959,14542,0.704450249671936,Cammeo +14541,492.7850036621094,204.25714111328125,92.47101593017578,0.8916534185409546,14893,0.7582916021347046,Cammeo +16734,531.5070190429688,220.6954803466797,97.8393325805664,0.8963620662689209,17242,0.6571114659309387,Cammeo +13434,483.364990234375,204.56802368164062,84.15599822998047,0.911462128162384,13773,0.7222580909729004,Cammeo +14878,506.02099609375,212.18157958984375,90.43865203857422,0.904613733291626,15237,0.5757740139961243,Cammeo +14504,502.5069885253906,212.24757385253906,87.93212890625,0.9101447463035583,14895,0.5534188151359558,Cammeo +14723,491.05499267578125,204.17567443847656,93.06549072265625,0.8900766372680664,15021,0.575679361820221,Cammeo +15830,520.510009765625,219.44761657714844,92.66460418701172,0.9064733982086182,16121,0.5951128005981445,Cammeo +14549,485.4939880371094,199.7572784423828,93.64827728271484,0.8832988739013672,14846,0.6192381381988525,Cammeo +14700,506.4639892578125,215.4302978515625,87.76007843017578,0.9132627248764038,15050,0.7075471878051758,Cammeo +14842,505.72601318359375,214.95474243164062,88.66092681884766,0.9109742641448975,15313,0.5445007085800171,Cammeo +14400,486.8999938964844,200.13771057128906,93.24651336669922,0.8848311901092529,14714,0.6181318759918213,Cammeo +12892,473.5270080566406,199.93919372558594,83.23552703857422,0.9092254042625427,13193,0.5645471811294556,Cammeo +16588,519.5590209960938,218.3944549560547,97.66686248779297,0.894432008266449,16852,0.6400679349899292,Cammeo +15676,512.3350219726562,214.76785278320312,93.72193908691406,0.8997589945793152,15961,0.7792801856994629,Cammeo +16706,533.6259765625,228.1561737060547,94.2075424194336,0.9107726812362671,17037,0.6362493634223938,Cammeo +14301,497.77398681640625,209.87635803222656,87.29936981201172,0.9093846678733826,14591,0.6006804704666138,Cammeo +15070,504.0509948730469,210.02598571777344,92.37322235107422,0.8980869054794312,15400,0.6487300992012024,Cammeo +15381,503.5790100097656,211.88352966308594,93.30974578857422,0.8978103995323181,15749,0.740325391292572,Cammeo +15252,502.59100341796875,211.63116455078125,92.19615936279297,0.900118350982666,15495,0.5744632482528687,Cammeo +14887,493.0450134277344,199.1649169921875,96.6937026977539,0.8742390871047974,15347,0.6171289086341858,Cammeo +14493,506.84100341796875,219.00308227539062,84.91929626464844,0.9217629432678223,14804,0.541106641292572,Cammeo +14897,491.18499755859375,205.7198486328125,92.87569427490234,0.8922879099845886,15137,0.5944533348083496,Cammeo +14690,506.8550109863281,214.15948486328125,88.87600708007812,0.9098218083381653,15064,0.5843974947929382,Cammeo +13950,476.3370056152344,193.63523864746094,92.94416809082031,0.8772705793380737,14280,0.7156414985656738,Cammeo +14421,507.80499267578125,213.88568115234375,86.8762435913086,0.9137927889823914,14881,0.650943398475647,Cammeo +14517,495.614990234375,211.80282592773438,88.03250122070312,0.9095318913459778,14815,0.6875207424163818,Cammeo +14944,500.2380065917969,209.55764770507812,91.52841186523438,0.8995733857154846,15255,0.6289562582969666,Cammeo +14570,469.98199462890625,185.40145874023438,100.8879165649414,0.8389819860458374,14895,0.6545372605323792,Cammeo +11838,440.2560119628906,181.32327270507812,83.83839416503906,0.8866872191429138,12165,0.6015244126319885,Cammeo +15223,514.906982421875,220.36856079101562,89.4363784790039,0.9139401316642761,15492,0.5502819418907166,Cammeo +13694,464.55999755859375,191.3311004638672,91.70781707763672,0.8776430487632751,13918,0.7087991833686829,Cammeo +17948,526.9180297851562,214.0938262939453,107.54244995117188,0.8646849393844604,18322,0.666369616985321,Cammeo +14471,503.67401123046875,207.92872619628906,90.16022491455078,0.9011000394821167,14894,0.5549547672271729,Cammeo +16654,519.0360107421875,217.2497100830078,98.99957275390625,0.8901360630989075,16976,0.7633846998214722,Cammeo +14990,507.7850036621094,213.48545837402344,90.17632293701172,0.9064093828201294,15318,0.5659166574478149,Cammeo +16934,533.0859985351562,225.30267333984375,96.45010375976562,0.9037355184555054,17323,0.7526222467422485,Cammeo +16030,512.85302734375,210.2474822998047,97.63128662109375,0.8856446146965027,16306,0.5977997183799744,Cammeo +15035,486.65301513671875,198.21983337402344,97.85749816894531,0.8696426749229431,15279,0.6237553954124451,Cammeo +16008,521.0070190429688,222.84523010253906,92.12952423095703,0.9105387330055237,16315,0.611879825592041,Cammeo +14362,504.5769958496094,211.29306030273438,88.26586151123047,0.9085659980773926,14724,0.541860044002533,Cammeo +15815,506.2900085449219,210.50457763671875,96.50235748291016,0.888728678226471,16112,0.7958434224128723,Cammeo +14131,490.70098876953125,206.92666625976562,88.28404998779297,0.9044196009635925,14519,0.7529305219650269,Cammeo +12619,470.614013671875,202.76451110839844,80.1795425415039,0.9184952974319458,12937,0.6079394817352295,Cammeo +13792,475.7820129394531,196.7065887451172,90.34710693359375,0.8882818222045898,14183,0.7732675671577454,Cammeo +14573,493.7799987792969,209.35581970214844,89.43750762939453,0.9041555523872375,14847,0.6505803465843201,Cammeo +14345,491.0190124511719,207.21983337402344,88.91106414794922,0.9032729864120483,14650,0.5926216840744019,Cammeo +13166,461.9389953613281,185.6002960205078,91.29359436035156,0.8706614375114441,13562,0.6563310027122498,Cammeo +11794,456.322998046875,194.04307556152344,78.79869842529297,0.9138336777687073,12116,0.6534796357154846,Cammeo +13782,471.1310119628906,194.43833923339844,90.97846221923828,0.8837793469429016,14000,0.5966233611106873,Cammeo +14533,487.2040100097656,196.8149871826172,95.84307861328125,0.8734184503555298,14873,0.6511200666427612,Cammeo +12557,443.218994140625,175.5974884033203,92.33856964111328,0.8505750894546509,12860,0.6228670477867126,Cammeo +16431,509.385009765625,208.05287170410156,101.96148681640625,0.8716803193092346,16875,0.7322192788124084,Cammeo +11940,443.9679870605469,187.3336181640625,82.18278503417969,0.8986347913742065,12184,0.6363927125930786,Cammeo +15856,509.0199890136719,210.1643829345703,97.76021575927734,0.8852262496948242,16160,0.7626743912696838,Cammeo +15636,504.1820068359375,212.13624572753906,94.48931121826172,0.8953226804733276,15927,0.7449971437454224,Cammeo +14787,492.31298828125,209.67886352539062,90.46773529052734,0.9021327495574951,15066,0.7956844568252563,Cammeo +16412,508.36700439453125,210.57485961914062,99.99417877197266,0.8800598382949829,16759,0.7305911779403687,Cammeo +15137,494.6050109863281,206.45852661132812,93.99015045166016,0.890363872051239,15400,0.7617250680923462,Cammeo +16199,514.156005859375,217.63050842285156,95.51935577392578,0.8985329270362854,16475,0.7076889276504517,Cammeo +15375,515.4229736328125,215.99929809570312,91.61693572998047,0.9055901765823364,15780,0.5975979566574097,Cammeo +11447,447.34600830078125,190.38905334472656,79.03822326660156,0.9097572565078735,11753,0.5435422658920288,Cammeo +16094,504.1260070800781,208.37118530273438,99.0302963256836,0.879845917224884,16325,0.6485332250595093,Cammeo +11784,438.1199951171875,181.7578887939453,83.7443618774414,0.8875316381454468,11981,0.8037651181221008,Cammeo +15517,481.37799072265625,194.63751220703125,102.05838775634766,0.8515021800994873,15718,0.6501173377037048,Cammeo +15065,506.82000732421875,212.43690490722656,91.37027740478516,0.9027786254882812,15516,0.7246271967887878,Cammeo +15529,509.0169982910156,207.0513153076172,96.98811340332031,0.8835030198097229,15993,0.5997374057769775,Cammeo +13584,478.5369873046875,204.6206512451172,84.80614471435547,0.9100695848464966,13817,0.6760227084159851,Cammeo +12618,457.89801025390625,193.8157196044922,83.47735595703125,0.902492880821228,12851,0.5822259187698364,Cammeo +13253,473.4419860839844,198.61065673828125,85.91886901855469,0.9015861749649048,13535,0.6899729371070862,Cammeo +15907,527.2109985351562,224.252197265625,91.4411392211914,0.9130890369415283,16206,0.547667384147644,Cammeo +13084,473.7669982910156,195.83824157714844,86.37992858886719,0.8974688053131104,13453,0.5880449414253235,Cammeo +15367,501.9070129394531,210.0559844970703,94.47917938232422,0.8931388854980469,15644,0.7906055450439453,Cammeo +13319,468.23199462890625,192.92724609375,89.33763122558594,0.886324942111969,13694,0.6952186822891235,Cammeo +15715,511.25,210.91160583496094,96.0047378540039,0.8903946280479431,16096,0.5814125537872314,Cammeo +12745,453.0350036621094,187.00584411621094,87.66728973388672,0.8833073377609253,13040,0.6051756739616394,Cammeo +14400,481.5060119628906,193.782958984375,96.51618957519531,0.8671406507492065,14876,0.6838905811309814,Cammeo +14329,486.2770080566406,206.57229614257812,89.21240234375,0.9019358158111572,14588,0.8127623200416565,Cammeo +14818,487.0159912109375,197.8289794921875,97.38611602783203,0.8704401254653931,15261,0.6325990557670593,Cammeo +13391,486.12200927734375,213.11207580566406,80.99443817138672,0.924963653087616,13661,0.520240843296051,Cammeo +14500,495.10699462890625,214.287841796875,86.6611099243164,0.9145758152008057,14712,0.5812089443206787,Cammeo +15815,504.2239990234375,214.65469360351562,94.98798370361328,0.8967609405517578,16059,0.8097798228263855,Cammeo +12089,439.49200439453125,183.57666015625,84.6946792602539,0.8872137665748596,12302,0.8145128488540649,Cammeo +14746,504.3139953613281,220.34344482421875,85.93157958984375,0.9208194017410278,14995,0.7975121736526489,Cammeo +13569,490.5419921875,209.8494873046875,83.40635681152344,0.9176203608512878,14061,0.5300390720367432,Cammeo +15198,499.6260070800781,210.63348388671875,92.94599151611328,0.8973749279975891,15521,0.746097207069397,Cammeo +12720,472.2340087890625,201.64085388183594,82.2284164428711,0.9130728840827942,13352,0.7450796365737915,Cammeo +14229,485.1189880371094,206.59768676757812,88.72132873535156,0.9030953645706177,14455,0.7451688647270203,Cammeo +13567,481.4049987792969,202.0196990966797,86.41854858398438,0.9038862586021423,13976,0.7509270906448364,Cammeo +13431,482.5299987792969,212.4506072998047,81.18547821044922,0.9241052269935608,13786,0.7779772877693176,Cammeo +12985,466.135009765625,196.66615295410156,84.6930923461914,0.9025219082832336,13221,0.5888888835906982,Cammeo +15725,515.2579956054688,221.66009521484375,91.23171997070312,0.9113718867301941,16027,0.6004887819290161,Cammeo +15486,509.135986328125,211.11355590820312,94.82223510742188,0.8934549689292908,15921,0.6863449215888977,Cammeo +14674,497.1029968261719,208.43646240234375,91.08699035644531,0.8994609117507935,15049,0.6822894811630249,Cammeo +13286,480.0710144042969,202.54840087890625,85.11695098876953,0.9074175357818604,13633,0.5501449108123779,Cammeo +15398,513.0230102539062,214.05426025390625,93.68448638916016,0.8991371393203735,15936,0.6950438022613525,Cammeo +14145,486.6080017089844,209.35321044921875,86.78947448730469,0.910021960735321,14370,0.7666666507720947,Cammeo +16412,515.114990234375,208.69454956054688,101.94175720214844,0.8725787401199341,16857,0.7737859487533569,Cammeo +15094,506.5069885253906,217.93829345703125,89.09558868408203,0.9126190543174744,15346,0.6685565114021301,Cammeo +15360,515.2979736328125,220.9217529296875,89.95549011230469,0.9133467674255371,15662,0.6416040062904358,Cammeo +13567,473.57501220703125,195.35311889648438,89.23707580566406,0.8895700573921204,14020,0.6467868089675903,Cammeo +13413,475.3900146484375,196.85678100585938,87.7881851196289,0.8950580954551697,13917,0.5710089206695557,Cammeo +15236,497.2770080566406,209.16156005859375,94.06529998779297,0.8931667804718018,15563,0.7637092471122742,Cammeo +15028,498.8290100097656,205.5384521484375,94.58416748046875,0.8878269195556641,15382,0.5777778029441833,Cammeo +15249,506.04998779296875,212.0909423828125,92.49422454833984,0.8998951315879822,15582,0.7830440402030945,Cammeo +14363,499.1709899902344,210.24554443359375,88.11177825927734,0.9079447388648987,14669,0.6068531274795532,Cammeo +14988,491.7070007324219,205.0606689453125,94.85704040527344,0.8865773677825928,15270,0.5820130705833435,Cammeo +14318,477.4939880371094,195.0235595703125,94.5947265625,0.8744905591011047,14585,0.7608672380447388,Cammeo +14456,497.9880065917969,210.53189086914062,88.88429260253906,0.9065077304840088,14865,0.6780487895011902,Cammeo +15857,515.322021484375,219.96548461914062,93.15426635742188,0.9058984518051147,16109,0.6991622447967529,Cammeo +15037,501.4670104980469,208.90557861328125,92.3045654296875,0.8970897793769836,15452,0.5786132216453552,Cammeo +12286,444.8869934082031,183.28871154785156,86.7310562133789,0.8809584379196167,12583,0.6818736791610718,Cammeo +16990,535.3389892578125,224.08717346191406,98.66263580322266,0.8978571891784668,17371,0.6009054183959961,Cammeo +14172,500.4289855957031,218.57156372070312,83.36390686035156,0.9244087338447571,14399,0.6088151931762695,Cammeo +15074,497.1780090332031,205.6398162841797,94.62220001220703,0.8878486752510071,15536,0.7211059927940369,Cammeo +17353,539.0339965820312,220.96119689941406,101.4541015625,0.8883593082427979,17845,0.630307674407959,Cammeo +13415,470.3550109863281,197.02993774414062,87.65262603759766,0.895595371723175,13629,0.5822482705116272,Cammeo +16085,520.7059936523438,217.49630737304688,95.40557098388672,0.8986561298370361,16514,0.7027086019515991,Cammeo +14023,491.66900634765625,211.15919494628906,85.5013656616211,0.914354681968689,14262,0.5391387939453125,Cammeo +13687,481.7449951171875,201.17457580566406,87.9571762084961,0.8993554711341858,13979,0.6983163356781006,Cammeo +14758,500.010009765625,206.28514099121094,92.72486877441406,0.893281102180481,15166,0.5823993682861328,Cammeo +14944,490.04400634765625,201.34654235839844,96.04631805419922,0.8788924813270569,15305,0.6106570959091187,Cammeo +16182,509.9219970703125,211.16502380371094,98.31332397460938,0.8850080370903015,16522,0.7481275796890259,Cammeo +14413,502.04998779296875,211.99163818359375,88.64776611328125,0.9083704948425293,14826,0.576082170009613,Cammeo +14321,494.3450012207031,211.6689910888672,86.8254165649414,0.9119981527328491,14583,0.5612776875495911,Cammeo +15276,506.68499755859375,212.13568115234375,93.06375122070312,0.8986339569091797,15574,0.5792287588119507,Cammeo +14407,494.989990234375,208.74903869628906,88.66285705566406,0.9053180813789368,14716,0.5737555027008057,Cammeo +13272,471.8999938964844,201.49468994140625,84.15379333496094,0.9086090326309204,13492,0.5657289028167725,Cammeo +14965,483.50799560546875,203.52345275878906,94.31124877929688,0.8861531019210815,15151,0.7755493521690369,Cammeo +16122,539.0,233.91351318359375,89.53108215332031,0.9238507151603699,16440,0.5111604332923889,Cammeo +14969,515.0980224609375,222.0448455810547,87.43668365478516,0.9192049503326416,15269,0.54621422290802,Cammeo +12347,475.3900146484375,207.096923828125,77.0804443359375,0.9281545281410217,12857,0.5209484696388245,Cammeo +13816,484.2760009765625,199.01348876953125,89.86624908447266,0.8922414779663086,14356,0.6424552202224731,Cammeo +12991,472.8290100097656,196.89683532714844,85.49542999267578,0.9008095860481262,13380,0.736451268196106,Cammeo +13606,480.9460144042969,204.2897186279297,85.2839126586914,0.9086927771568298,13861,0.5836979746818542,Cammeo +14340,499.09600830078125,207.25108337402344,89.85896301269531,0.9011173248291016,14863,0.6631520390510559,Cammeo +14360,494.4570007324219,205.0970001220703,90.11699676513672,0.8982977867126465,14825,0.6575091481208801,Cammeo +13675,478.60699462890625,194.80291748046875,90.3221664428711,0.8860136270523071,14146,0.5814200639724731,Cammeo +14489,496.385009765625,210.03639221191406,88.53156280517578,0.9068256616592407,14843,0.6153486967086792,Cammeo +14751,499.02099609375,214.03713989257812,88.62864685058594,0.9102401733398438,14955,0.5526788830757141,Cammeo +15136,503.260009765625,208.7720184326172,94.06877899169922,0.8927353620529175,15471,0.5959054827690125,Cammeo +13132,480.0190124511719,199.2529296875,85.41971588134766,0.9034469127655029,13594,0.5809077024459839,Cammeo +13689,483.6549987792969,202.7220001220703,86.94031524658203,0.9033687114715576,14183,0.776460587978363,Cammeo +14412,490.3240051269531,207.47613525390625,89.68951416015625,0.9017354249954224,14703,0.5988531708717346,Cammeo +12901,475.3030090332031,209.58596801757812,79.26891326904297,0.9257170557975769,13219,0.6828093528747559,Cammeo +13920,480.11199951171875,195.67007446289062,92.5484390258789,0.8810720443725586,14350,0.5771144032478333,Cammeo +13410,483.1520080566406,205.87576293945312,84.65060424804688,0.9115571975708008,13866,0.7314279675483704,Cammeo +12865,460.6659851074219,193.34823608398438,85.72440338134766,0.8963397145271301,13120,0.6345565915107727,Cammeo +12859,462.87200927734375,193.3418426513672,85.90898895263672,0.8958595395088196,13279,0.7089145183563232,Cammeo +16523,531.8920288085938,224.99542236328125,94.4177017211914,0.9076893329620361,16911,0.5770412683486938,Cammeo +15488,507.88299560546875,206.6395263671875,96.87207794189453,0.8833057284355164,15968,0.6025521159172058,Cammeo +9908,432.7690124511719,188.18768310546875,67.69534301757812,0.9330593347549438,10205,0.6116804480552673,Cammeo +13418,474.9010009765625,194.5457000732422,89.70830535888672,0.8873394131660461,13973,0.6043055057525635,Cammeo +15558,511.7179870605469,213.97760009765625,94.46471405029297,0.8972759246826172,15926,0.6324390172958374,Cammeo +13244,467.6440124511719,193.4249725341797,88.63653564453125,0.8888245820999146,13672,0.7979274392127991,Cammeo +14064,488.947998046875,206.93328857421875,87.47862243652344,0.9062517881393433,14315,0.7585760354995728,Cammeo +15830,520.781982421875,215.13917541503906,95.17147064208984,0.8968318104743958,16326,0.6105133295059204,Cammeo +15813,495.26800537109375,203.794677734375,99.68769073486328,0.8721954822540283,16095,0.7352489829063416,Cammeo +16155,515.280029296875,217.60548400878906,95.48460388183594,0.8985862731933594,16418,0.583318293094635,Cammeo +15593,512.427978515625,216.61570739746094,92.91001892089844,0.9033442139625549,16050,0.7774730920791626,Cammeo +13234,472.3500061035156,198.57501220703125,86.26436614990234,0.9007118344306946,13512,0.742648720741272,Cammeo +14862,507.489990234375,216.3203125,88.60250091552734,0.9122700095176697,15125,0.775273859500885,Cammeo +13375,474.0870056152344,198.76869201660156,86.6867904663086,0.8998890519142151,13768,0.6963244676589966,Cammeo +13077,472.9049987792969,203.445068359375,82.57012939453125,0.9139354228973389,13405,0.6273747682571411,Cammeo +14947,506.6510009765625,214.3443145751953,89.52690124511719,0.9085951447486877,15364,0.5629967451095581,Cammeo +14588,502.5690002441406,214.89561462402344,88.2072982788086,0.9118760228157043,14923,0.5361461043357849,Cammeo +11981,448.8269958496094,190.12899780273438,81.32439422607422,0.9039052724838257,12154,0.5620924234390259,Cammeo +12461,454.09600830078125,191.91452026367188,83.66120147705078,0.8999807834625244,12683,0.5615086555480957,Cammeo +13980,479.17999267578125,206.32904052734375,87.0367202758789,0.9066728353500366,14137,0.8610495328903198,Cammeo +14680,502.90399169921875,217.19500732421875,87.0027847290039,0.9162641763687134,15000,0.5808570384979248,Cammeo +13272,474.927001953125,195.77854919433594,87.16515350341797,0.8954196572303772,13597,0.5860637426376343,Cammeo +14817,502.5830078125,211.52902221679688,90.38519287109375,0.9041125178337097,15113,0.5680276155471802,Cammeo +13080,474.260009765625,198.95736694335938,84.75006103515625,0.9047368168830872,13511,0.7027723789215088,Cammeo +16519,533.218017578125,224.2022705078125,95.21685791015625,0.9053379893302917,17041,0.7407623529434204,Cammeo +13787,476.89599609375,201.33831787109375,88.16448211669922,0.8990274667739868,14045,0.5759943127632141,Cammeo +16019,509.01300048828125,214.7909393310547,96.12420654296875,0.8942716717720032,16248,0.6575944423675537,Cammeo +12714,461.8900146484375,196.56031799316406,83.11239624023438,0.9062071442604065,12900,0.6414085626602173,Cammeo +12509,464.5090026855469,201.531494140625,79.65081024169922,0.9185832142829895,12703,0.5448170900344849,Cammeo +15437,512.947998046875,211.4087677001953,94.91480255126953,0.8935501575469971,15984,0.7316113710403442,Cammeo +12927,453.0150146484375,184.32379150390625,89.8613052368164,0.8731124997138977,13196,0.7369171380996704,Cammeo +13682,488.8999938964844,199.5596923828125,89.44221496582031,0.8939343690872192,14457,0.5996668934822083,Cammeo +14317,499.1109924316406,206.7794189453125,89.8253402709961,0.9007192254066467,14815,0.8042354583740234,Cammeo +16190,529.6610107421875,224.38685607910156,93.107421875,0.9098480939865112,16530,0.534817636013031,Cammeo +14788,480.9620056152344,199.0625457763672,95.53791809082031,0.8773017525672913,15044,0.6575074195861816,Cammeo +14795,497.5159912109375,213.60317993164062,89.84618377685547,0.9072360396385193,15002,0.8030722737312317,Cammeo +14625,492.9519958496094,206.58921813964844,91.4307861328125,0.8967325091362,14972,0.7395327687263489,Cammeo +14982,505.0780029296875,217.364990234375,88.59523010253906,0.9131662249565125,15325,0.5592384934425354,Cammeo +15118,514.9669799804688,224.1865997314453,87.6922378540039,0.9203237891197205,15454,0.654119074344635,Cammeo +14337,494.29901123046875,206.69277954101562,89.74820709228516,0.9008113741874695,14859,0.7098930478096008,Cammeo +13969,486.5090026855469,206.02857971191406,87.72612762451172,0.9048192501068115,14277,0.6527569890022278,Cammeo +12333,463.1549987792969,196.5994415283203,81.60153198242188,0.9097918272018433,12705,0.5920218825340271,Cammeo +15200,502.5880126953125,214.13380432128906,91.1175308227539,0.9049504995346069,15461,0.6241274476051331,Cammeo +12292,457.2860107421875,194.88832092285156,80.99093627929688,0.9095583558082581,12561,0.5638273358345032,Cammeo +15290,519.3170166015625,221.42962646484375,88.8773422241211,0.9159117937088013,15699,0.6615610718727112,Cammeo +13858,490.57000732421875,203.70947265625,88.1739273071289,0.9014700055122375,14265,0.6531862616539001,Cammeo +16259,522.6220092773438,215.50918579101562,97.42145538330078,0.891991376876831,16728,0.584351658821106,Cammeo +15929,513.9400024414062,212.6575164794922,96.99799346923828,0.889916718006134,16293,0.7258601188659668,Cammeo +12580,479.2170104980469,208.4237518310547,77.74034118652344,0.9278346300125122,12879,0.5730684995651245,Cammeo +13269,485.614990234375,207.12245178222656,83.323974609375,0.9155108332633972,13741,0.714770495891571,Cammeo +13893,474.1340026855469,200.7359161376953,89.16996765136719,0.8959200382232666,14123,0.5693385601043701,Cammeo +13724,481.77099609375,200.89266967773438,88.16831970214844,0.8985443711280823,14038,0.6795405149459839,Cammeo +11689,444.89801025390625,191.93597412109375,78.10004425048828,0.913469672203064,11935,0.5492951273918152,Cammeo +15676,511.6659851074219,215.813720703125,93.565673828125,0.9011303186416626,16016,0.7792801856994629,Cammeo +14401,482.1759948730469,203.0722198486328,91.35160064697266,0.8931052088737488,14608,0.7165033221244812,Cammeo +13731,489.0580139160156,212.43545532226562,82.9146728515625,0.9206855297088623,14014,0.5917259454727173,Cammeo +14274,499.0880126953125,214.40252685546875,85.24676513671875,0.9175581932067871,14559,0.6567288041114807,Cammeo +13445,490.81500244140625,216.1729736328125,79.60009765625,0.9297370910644531,13640,0.5354440212249756,Cammeo +12800,471.3340148925781,203.55943298339844,81.30859375,0.9167618751525879,13141,0.6116207838058472,Cammeo +14683,493.5719909667969,209.05197143554688,90.5843276977539,0.9012448787689209,14947,0.7021998763084412,Cammeo +13846,479.5870056152344,197.0045928955078,90.9155044555664,0.8871458172798157,14200,0.7175580263137817,Cammeo +14352,484.0840148925781,203.49685668945312,91.2685317993164,0.893782377243042,14656,0.5680585503578186,Cammeo +14071,479.0929870605469,197.40496826171875,92.30098724365234,0.8839551210403442,14398,0.5989953875541687,Cammeo +14476,489.2380065917969,203.8588409423828,91.66152954101562,0.89321368932724,14807,0.6798478364944458,Cammeo +13516,483.6889953613281,207.53192138671875,83.68568420410156,0.915093183517456,13746,0.7008556127548218,Cammeo +12346,456.9049987792969,193.61288452148438,82.03561401367188,0.9057981371879578,12529,0.5867313146591187,Cammeo +13092,465.43701171875,197.0418701171875,85.83563995361328,0.900130033493042,13369,0.7688512802124023,Cammeo +12860,469.5589904785156,197.66102600097656,84.11711120605469,0.9049290418624878,13269,0.5645303130149841,Cammeo +13746,483.82000732421875,205.84219360351562,86.18869018554688,0.9081188440322876,14060,0.7159374952316284,Cammeo +13277,486.95599365234375,201.83914184570312,85.2598648071289,0.906402587890625,13771,0.6110548377037048,Cammeo +15651,512.2919921875,212.77301025390625,95.72537994384766,0.893081784248352,16022,0.5720394849777222,Cammeo +16094,509.97900390625,215.54759216308594,95.61666107177734,0.8962254524230957,16403,0.7587929964065552,Cammeo +15694,506.5060119628906,211.83493041992188,96.02246856689453,0.8913635611534119,16010,0.5765401721000671,Cammeo +14254,500.4939880371094,213.0753173828125,86.7843246459961,0.9132970571517944,14644,0.6228533983230591,Cammeo +12801,459.42401123046875,195.09933471679688,84.79960632324219,0.900600254535675,13058,0.7616016268730164,Cammeo +14646,511.4519958496094,220.48257446289062,85.63170623779297,0.9214980006217957,14999,0.6366719007492065,Cammeo +14805,499.6369934082031,214.28244018554688,89.17408752441406,0.9092950224876404,15090,0.5767882466316223,Cammeo +14811,512.1099853515625,217.7383270263672,87.48340606689453,0.9157352447509766,15090,0.5491657257080078,Cammeo +16513,525.9840087890625,219.2754364013672,97.95169067382812,0.8946807384490967,16950,0.6101463437080383,Cammeo +12149,455.56201171875,191.4457244873047,82.05867004394531,0.9034819006919861,12510,0.7142269015312195,Cammeo +13457,483.614013671875,211.0124969482422,81.87439727783203,0.9216563105583191,13763,0.6731192469596863,Cammeo +13066,478.00201416015625,207.51675415039062,80.51567077636719,0.9216610789299011,13348,0.5578039884567261,Cammeo +13293,470.2659912109375,197.9593505859375,86.07606506347656,0.9005188941955566,13553,0.7137564420700073,Cammeo +11935,464.9330139160156,196.53504943847656,79.72299194335938,0.9140317440032959,12358,0.566633403301239,Cammeo +12986,462.1109924316406,195.517578125,86.10846710205078,0.8977953195571899,13288,0.7905759215354919,Cammeo +14003,489.2900085449219,208.33290100097656,87.19222259521484,0.9082059264183044,14421,0.5791149735450745,Cammeo +12377,465.0469970703125,197.08140563964844,81.92232513427734,0.9095120429992676,12669,0.6296805143356323,Cammeo +12840,466.90301513671875,198.15597534179688,83.2342529296875,0.9075036644935608,13091,0.5913780331611633,Cammeo +13819,487.6700134277344,207.97076416015625,86.187744140625,0.9100846648216248,14181,0.5696912407875061,Cammeo +14755,499.8179931640625,202.61227416992188,95.51608276367188,0.8819072246551514,15123,0.6005290746688843,Cammeo +14485,495.46600341796875,212.0016632080078,88.2376480102539,0.9092675447463989,14745,0.6450966596603394,Cammeo +14478,469.1610107421875,190.84771728515625,97.34318542480469,0.8601406812667847,14686,0.7654242515563965,Cammeo +16933,521.9219970703125,221.33297729492188,98.09829711914062,0.8964148759841919,17212,0.7767431139945984,Cammeo +14363,493.260986328125,210.5697479248047,87.41584014892578,0.9097577333450317,14621,0.5770590305328369,Cammeo +13927,479.3550109863281,202.7936248779297,88.48321533203125,0.8997908234596252,14264,0.7708529233932495,Cammeo +15303,505.9280090332031,209.6199188232422,94.1570053100586,0.8934414386749268,15746,0.6246122717857361,Cammeo +14060,496.0350036621094,211.37551879882812,85.93526458740234,0.9136273860931396,14448,0.6725985407829285,Cammeo +12682,459.9649963378906,195.4355010986328,83.60432434082031,0.9038806557655334,12892,0.582812488079071,Cammeo +13059,456.4410095214844,185.9820098876953,90.20448303222656,0.874504566192627,13339,0.6194384098052979,Cammeo +14557,492.4129943847656,205.1066436767578,91.4497299194336,0.8951005935668945,14961,0.7356478571891785,Cammeo +13582,476.6659851074219,199.45188903808594,88.40869903564453,0.8963939547538757,13825,0.5689987540245056,Cammeo +13678,472.12298583984375,200.2535400390625,88.02668762207031,0.8982053399085999,13879,0.578840434551239,Cammeo +11589,449.3609924316406,196.64669799804688,75.97959899902344,0.9223412871360779,11783,0.5629280805587769,Cammeo +13681,485.4129943847656,205.00643920898438,86.4876708984375,0.9066526889801025,14146,0.5598936080932617,Cammeo +13919,482.3489990234375,204.29425048828125,87.654052734375,0.9032769799232483,14274,0.7489776015281677,Cammeo +13439,477.75,199.38160705566406,87.62736511230469,0.8982446789741516,13852,0.7512437701225281,Cammeo +13693,479.47900390625,200.3972930908203,88.1744613647461,0.8979986310005188,14097,0.6952525973320007,Cammeo +13870,484.12701416015625,203.4182586669922,88.50323486328125,0.9003917574882507,14266,0.7565179467201233,Cammeo +15285,516.4669799804688,216.2804412841797,91.34656524658203,0.9064317345619202,15704,0.5878846049308777,Cammeo +16263,546.56201171875,230.9595489501953,91.65092468261719,0.9178935289382935,16796,0.5712328553199768,Cammeo +14295,489.2149963378906,203.30189514160156,90.60995483398438,0.8951865434646606,14660,0.6066972017288208,Cammeo +14720,494.86199951171875,207.09271240234375,91.49889373779297,0.8971008658409119,15071,0.7040030360221863,Cammeo +15550,505.76300048828125,211.3788299560547,94.41613006591797,0.8946998715400696,15896,0.7188424468040466,Cammeo +15189,506.8219909667969,209.18954467773438,93.61980438232422,0.8942660093307495,15629,0.6740780472755432,Cammeo +12832,464.5260009765625,196.61117553710938,83.98688507080078,0.9041701555252075,13148,0.5629057884216309,Cammeo +14146,481.1860046386719,202.5872039794922,89.94490051269531,0.8960361480712891,14495,0.6036012768745422,Cammeo +13006,486.7070007324219,213.1280517578125,78.45640563964844,0.9297788143157959,13399,0.6224455833435059,Cammeo +15196,501.3030090332031,212.3297576904297,92.00544738769531,0.9012430310249329,15463,0.7684061527252197,Cammeo +14517,488.3240051269531,196.16448974609375,95.58290100097656,0.8732575178146362,14976,0.5951297283172607,Cammeo +13964,480.0260009765625,199.82313537597656,90.06546783447266,0.8926624059677124,14298,0.6577484607696533,Cammeo +12414,453.38299560546875,188.5623016357422,85.32583618164062,0.8917606472969055,12721,0.5881739854812622,Cammeo +13818,475.0169982910156,198.49920654296875,89.095703125,0.893608808517456,14008,0.5960144996643066,Cammeo +11530,458.7120056152344,197.87550354003906,75.38201904296875,0.9245928525924683,11918,0.7003158330917358,Cammeo +16436,529.8629760742188,230.93104553222656,91.065185546875,0.9189649224281311,16648,0.6341049671173096,Cammeo +11809,455.0830078125,185.42010498046875,83.61376190185547,0.8925531506538391,12318,0.6488461494445801,Cammeo +14818,499.3599853515625,208.87550354003906,91.91077423095703,0.8979847431182861,15204,0.5754116177558899,Cammeo +12368,455.02398681640625,195.93934631347656,80.8090591430664,0.9109944105148315,12573,0.7969072461128235,Cammeo +11491,440.468994140625,183.99533081054688,80.8708724975586,0.8982294797897339,11819,0.6649883985519409,Cammeo +11493,447.15399169921875,185.53111267089844,79.75233459472656,0.9028957486152649,11801,0.5700892806053162,Cammeo +13235,465.8160095214844,193.54562377929688,88.63944244384766,0.888964056968689,13629,0.5654774904251099,Cammeo +16593,524.8380126953125,218.10382080078125,97.85260009765625,0.8937067985534668,16814,0.5932852029800415,Cammeo +15326,505.37799072265625,208.0990753173828,95.35768127441406,0.8888325691223145,15684,0.5862147808074951,Cammeo +15385,505.5780029296875,211.73011779785156,94.12325286865234,0.895757257938385,15726,0.5879093408584595,Cammeo +12907,465.3420104980469,195.65496826171875,84.8821792602539,0.9009918570518494,13151,0.5733386874198914,Cammeo +13413,465.6050109863281,198.85272216796875,86.09415435791016,0.9014158248901367,13620,0.6353259086608887,Cammeo +14369,491.04400634765625,207.94737243652344,89.12214660644531,0.9035037159919739,14679,0.60399329662323,Cammeo +13907,485.7200012207031,202.58108520507812,89.20242309570312,0.8978362679481506,14358,0.5557242631912231,Cammeo +14577,489.9079895019531,204.8460235595703,91.23347473144531,0.8953436613082886,14870,0.7813990712165833,Cammeo +15168,504.9800109863281,212.82603454589844,91.61981964111328,0.9025945663452148,15432,0.58365398645401,Cammeo +15159,515.1309814453125,216.06192016601562,91.02570343017578,0.9069238901138306,15685,0.6507125496864319,Cammeo +16024,527.4210205078125,226.2627716064453,91.60111236572266,0.9143857955932617,16355,0.5356868505477905,Cammeo +13200,472.4649963378906,203.31373596191406,83.57887268066406,0.9115977883338928,13467,0.7452995181083679,Cammeo +12396,460.00201416015625,195.32330322265625,81.92961120605469,0.9077754616737366,12676,0.7330573797225952,Cammeo +13201,461.5190124511719,192.8850860595703,87.83331298828125,0.8903043270111084,13408,0.6349076628684998,Cammeo +14843,510.10198974609375,220.03585815429688,86.50135803222656,0.9194855093955994,15155,0.5331537127494812,Cammeo +14331,495.14300537109375,212.02896118164062,86.86128997802734,0.9122350811958313,14723,0.6657840013504028,Cammeo +16606,516.364990234375,211.59420776367188,101.76990509033203,0.8767384886741638,17032,0.7071197628974915,Cammeo +15953,522.1859741210938,220.75523376464844,93.04209899902344,0.906841516494751,16307,0.7893617153167725,Cammeo +12072,452.2619934082031,192.72190856933594,80.28836822509766,0.9090889096260071,12342,0.6941521763801575,Cammeo +12417,455.0830078125,187.2952117919922,85.61137390136719,0.8894187808036804,12851,0.658761739730835,Cammeo +13029,466.8869934082031,197.7262420654297,84.60392761230469,0.9038335680961609,13300,0.6100575923919678,Cammeo +13919,472.2279968261719,194.6864013671875,91.6257553100586,0.8823293447494507,14169,0.7013857364654541,Cammeo +14675,493.27301025390625,206.79371643066406,91.58906555175781,0.8965706825256348,15039,0.5661651492118835,Cammeo +13256,462.7239990234375,194.1487579345703,87.72887420654297,0.8920867443084717,13465,0.6474236845970154,Cammeo +13862,482.2139892578125,199.17962646484375,89.91951751708984,0.8922967314720154,14218,0.575903594493866,Cammeo +15178,514.7420043945312,219.3329620361328,89.01123809814453,0.9139499068260193,15638,0.7875674366950989,Cammeo +13964,481.2300109863281,201.55929565429688,89.30014038085938,0.8964986205101013,14275,0.5832915902137756,Cammeo +13422,474.9549865722656,196.45425415039062,88.85059356689453,0.8918805122375488,13817,0.5598098039627075,Cammeo +14855,495.89898681640625,208.57061767578125,92.4272232055664,0.8964495062828064,15191,0.590609073638916,Cammeo +12971,458.0350036621094,192.33746337890625,86.75472259521484,0.8924962878227234,13248,0.7774514555931091,Cammeo +14950,496.8840026855469,207.8227996826172,93.10913848876953,0.8940226435661316,15422,0.5793226361274719,Cammeo +14944,512.1370239257812,227.416259765625,84.24710845947266,0.9288510680198669,15147,0.8123505115509033,Cammeo +16283,516.7360229492188,217.70950317382812,96.08863067626953,0.8973292708396912,16649,0.7800613045692444,Cammeo +12653,461.6199951171875,195.89385986328125,83.49929809570312,0.9046065211296082,12973,0.5764989852905273,Cammeo +14007,490.6600036621094,205.3961181640625,88.06983947753906,0.9034087061882019,14433,0.7689393758773804,Cammeo +15401,499.2640075683594,202.64988708496094,97.76850128173828,0.8759233355522156,15760,0.6173240542411804,Cammeo +14625,497.25201416015625,212.7985076904297,88.36369323730469,0.9097092151641846,14924,0.5489452481269836,Cammeo +14626,502.35699462890625,212.7346954345703,88.58338928222656,0.9091801047325134,14997,0.5815044641494751,Cammeo +13998,484.8819885253906,198.72129821777344,90.92340850830078,0.8891878128051758,14328,0.5995117425918579,Cammeo +17250,528.0989990234375,220.79893493652344,101.24916076660156,0.8886643648147583,17570,0.8396612405776978,Cammeo +14819,497.8349914550781,210.3746795654297,90.70984649658203,0.9022648334503174,15119,0.5906807780265808,Cammeo +14794,501.5690002441406,213.49099731445312,89.19424438476562,0.9085439443588257,15202,0.6806219816207886,Cammeo +13368,487.5509948730469,202.5396270751953,86.57293701171875,0.9040451049804688,13965,0.7182462811470032,Cammeo +14586,484.0530090332031,196.4033966064453,95.85621643066406,0.8728113174438477,14976,0.7715418934822083,Cammeo +12210,453.1239929199219,189.4207763671875,83.1553955078125,0.89848792552948,12641,0.6373316645622253,Cammeo +14732,497.6940002441406,207.46820068359375,91.29447174072266,0.8979777693748474,15000,0.5803655982017517,Cammeo +13410,477.0849914550781,195.79893493652344,88.77674865722656,0.8913032412528992,13842,0.5723431706428528,Cammeo +13658,499.3739929199219,206.50973510742188,85.75654602050781,0.9096998572349548,14177,0.5402689576148987,Cammeo +13072,484.7879943847656,206.88693237304688,81.92671966552734,0.9182515740394592,13593,0.70415860414505,Cammeo +16059,522.7239990234375,217.8501434326172,95.15388488769531,0.8995654582977295,16675,0.6884592175483704,Cammeo +13002,472.4739990234375,198.0772705078125,85.7991714477539,0.9013170003890991,13432,0.6947368383407593,Cammeo +12752,462.3599853515625,190.7341766357422,86.67176055908203,0.8907920122146606,13112,0.6284250020980835,Cammeo +13153,479.56201171875,207.92393493652344,80.9425048828125,0.9211156368255615,13339,0.6847667694091797,Cammeo +13857,498.02899169921875,220.26657104492188,80.39958190917969,0.9310034513473511,14053,0.5079545378684998,Cammeo +13929,487.98199462890625,202.9543914794922,87.97098541259766,0.9011766314506531,14266,0.6553281545639038,Cammeo +16253,525.4819946289062,218.52755737304688,95.9118423461914,0.8985357284545898,16690,0.5679689645767212,Cammeo +14850,511.9909973144531,223.14736938476562,85.4997329711914,0.9236845970153809,15131,0.5766990184783936,Cammeo +14560,487.1289978027344,200.73951721191406,93.2265853881836,0.8856173157691956,14867,0.6734505295753479,Cammeo +15164,501.6520080566406,212.1584014892578,92.44684600830078,0.9000704288482666,15461,0.701063334941864,Cammeo +14566,498.0260009765625,208.22543334960938,90.54054260253906,0.9005175232887268,14927,0.5608347654342651,Cammeo +14627,498.072998046875,205.78753662109375,92.42831420898438,0.8934592008590698,15091,0.6055224537849426,Cammeo +16454,518.1090087890625,217.09852600097656,97.78069305419922,0.8928279876708984,16893,0.7971899509429932,Cammeo +15458,511.9519958496094,216.607666015625,91.7917251586914,0.9057700634002686,15854,0.5840480327606201,Cammeo +14189,483.93701171875,203.37759399414062,90.07769012451172,0.8965667486190796,14538,0.7131226062774658,Cammeo +15545,516.8690185546875,217.11868286132812,92.24694061279297,0.9052549600601196,16019,0.6574884653091431,Cammeo +14522,499.82501220703125,217.6743621826172,85.6878890991211,0.9192596673965454,14719,0.5319414138793945,Cammeo +16566,527.5859985351562,217.09457397460938,98.10107421875,0.8920778632164001,16987,0.7519063353538513,Cammeo +13970,494.6289978027344,210.52755737304688,85.43404388427734,0.9139577746391296,14308,0.550541877746582,Cammeo +14488,489.8179931640625,204.66519165039062,91.22494506835938,0.8951686024665833,14826,0.6382941007614136,Cammeo +14483,512.7210083007812,215.76815795898438,86.27912139892578,0.9165720343589783,14912,0.5322871208190918,Cammeo +13853,471.6409912109375,195.21249389648438,91.29154205322266,0.8839125633239746,14213,0.6533201336860657,Cammeo +15700,525.8090209960938,224.03887939453125,90.31891632080078,0.9151385426521301,16308,0.6761703491210938,Cammeo +13777,480.83599853515625,197.00587463378906,90.18474578857422,0.8890670537948608,14266,0.6326399445533752,Cammeo +15069,505.4549865722656,211.906494140625,91.93553924560547,0.9009853601455688,15431,0.5535189509391785,Cammeo +15764,513.843994140625,212.16506958007812,95.95990753173828,0.891871452331543,16258,0.604702889919281,Cammeo +16258,518.77001953125,214.28646850585938,97.3790054321289,0.890780508518219,16551,0.7075771689414978,Cammeo +18313,538.4979858398438,222.46424865722656,106.18474578857422,0.8787341713905334,18724,0.6244203448295593,Cammeo +13605,466.93701171875,191.52223205566406,91.73204803466797,0.8778351545333862,13919,0.6120107769966125,Cammeo +13930,484.86199951171875,205.2724609375,87.23548889160156,0.905205488204956,14330,0.7994261384010315,Cammeo +15301,515.5269775390625,220.29212951660156,89.46644592285156,0.9138169288635254,15690,0.5376695394515991,Cammeo +14277,492.031005859375,213.29962158203125,85.51837158203125,0.9161083698272705,14481,0.5425216555595398,Cammeo +15077,504.6369934082031,212.9424591064453,91.2126693725586,0.9036156535148621,15404,0.7864893078804016,Cammeo +13102,479.27301025390625,202.50767517089844,83.75623321533203,0.9104608297348022,13528,0.617989718914032,Cammeo +15975,522.8040161132812,218.4176788330078,94.04412841796875,0.9025571346282959,16290,0.5676367282867432,Cammeo +15258,505.1629943847656,214.0193328857422,91.61249542236328,0.9037516713142395,15497,0.5741270184516907,Cammeo +14260,501.0409851074219,208.8331756591797,88.9631576538086,0.9047226309776306,14737,0.613175094127655,Cammeo +14706,503.3070068359375,212.68402099609375,89.08658599853516,0.9080470204353333,15074,0.595963716506958,Cammeo +13789,471.3030090332031,198.52346801757812,88.71288299560547,0.8946021795272827,14025,0.6313644647598267,Cammeo +13342,488.2699890136719,208.66551208496094,83.16635131835938,0.9171409606933594,13703,0.5259382128715515,Cammeo +13555,477.8699951171875,202.6370849609375,85.78795623779297,0.9059626460075378,13851,0.5780630111694336,Cammeo +14436,486.989013671875,204.49769592285156,90.86436462402344,0.89586341381073,14709,0.6418567299842834,Cammeo +14421,489.8179931640625,204.9568328857422,90.34169006347656,0.8976131677627563,14716,0.6252601742744446,Cammeo +13501,472.4830017089844,198.07203674316406,87.68961334228516,0.8966619968414307,13787,0.6340283751487732,Cammeo +14287,486.4020080566406,200.142578125,91.99419403076172,0.8881036043167114,14654,0.7113268375396729,Cammeo +14633,495.093994140625,208.78053283691406,90.25591278076172,0.9017296433448792,14978,0.6436048746109009,Cammeo +14682,505.031005859375,219.88632202148438,86.04150390625,0.9202631711959839,15155,0.5529110431671143,Cammeo +12240,454.31298828125,190.9279022216797,83.64929962158203,0.8989166021347046,12555,0.75789475440979,Cammeo +14985,516.9609985351562,219.53338623046875,88.00939178466797,0.9161248803138733,15412,0.6229733228683472,Cammeo +14826,514.531982421875,219.37294006347656,86.88575744628906,0.9182228446006775,15170,0.5430769324302673,Cammeo +14954,501.85699462890625,212.0377655029297,90.79552459716797,0.9036818742752075,15225,0.8146211504936218,Cammeo +14930,506.781005859375,207.59666442871094,92.551513671875,0.8951207995414734,15361,0.6125128269195557,Cammeo +16401,521.0770263671875,213.10256958007812,99.5418930053711,0.8842003345489502,16781,0.7266082167625427,Cammeo +13237,478.010986328125,199.68923950195312,85.27763366699219,0.9042271971702576,13627,0.5585231781005859,Cammeo +14536,501.9209899902344,216.37054443359375,86.67998504638672,0.9162490963935852,14988,0.5440527200698853,Cammeo +12016,469.42498779296875,196.94924926757812,79.83517456054688,0.914157509803772,12464,0.5629684925079346,Cammeo +15369,499.2659912109375,205.8752899169922,95.93621826171875,0.884788990020752,15666,0.616041362285614,Cammeo +16156,495.7139892578125,197.27430725097656,105.53797912597656,0.8448641896247864,16434,0.7094054818153381,Cammeo +15554,502.09600830078125,206.27752685546875,97.223388671875,0.8819605708122253,15826,0.8273404240608215,Cammeo +12347,438.8059997558594,181.89268493652344,86.8776626586914,0.8785603046417236,12529,0.8065717220306396,Cammeo +12688,466.8380126953125,193.7866668701172,84.3717041015625,0.9002445936203003,12956,0.6018975377082825,Cammeo +14587,491.8039855957031,204.83462524414062,91.91319274902344,0.8936728835105896,14926,0.6098244190216064,Cammeo +15398,518.7449951171875,215.32907104492188,93.0628890991211,0.9017829895019531,15753,0.7981546521186829,Cammeo +14881,495.6180114746094,206.66783142089844,93.32417297363281,0.8922377228736877,15225,0.5839808583259583,Cammeo +14800,502.6189880371094,213.9949188232422,88.85567474365234,0.9097195267677307,15123,0.7912322878837585,Cammeo +15480,494.2760009765625,201.78700256347656,98.61820220947266,0.8724383115768433,15760,0.6623876690864563,Cammeo +13952,484.9469909667969,201.3228302001953,89.5103759765625,0.8957237005233765,14349,0.656410276889801,Cammeo +14243,481.322998046875,198.6628875732422,92.82254028320312,0.8841323852539062,14592,0.794499933719635,Cammeo +15056,499.1709899902344,202.8936004638672,96.13976287841797,0.8806092143058777,15517,0.7035514116287231,Cammeo +15072,511.1759948730469,221.7821044921875,87.38172912597656,0.9191112518310547,15392,0.5508772134780884,Cammeo +13560,479.1990051269531,197.5580291748047,88.77228546142578,0.8933568596839905,14033,0.6917661428451538,Cammeo +17192,528.3419799804688,222.94993591308594,99.0926742553711,0.8957979083061218,17457,0.6289142370223999,Cammeo +15196,498.1449890136719,212.24375915527344,91.67678833007812,0.9019018411636353,15427,0.71275794506073,Cammeo +16318,537.447021484375,232.0368194580078,90.71050262451172,0.9204197525978088,16592,0.5981671810150146,Cammeo +15521,506.0480041503906,209.5179901123047,95.46241760253906,0.8901699185371399,15956,0.5784510970115662,Cammeo +12573,471.6449890136719,199.3369903564453,81.58099365234375,0.9124170541763306,12979,0.534566342830658,Cammeo +13607,482.8179931640625,202.8472442626953,86.15413665771484,0.905322790145874,13901,0.5568423867225647,Cammeo +12809,455.1440124511719,189.0794677734375,87.2080307006836,0.8872836232185364,13025,0.5900046229362488,Cammeo +13183,464.5719909667969,190.69126892089844,88.76956176757812,0.8850402235984802,13473,0.5939090847969055,Cammeo +14528,475.447998046875,192.1985626220703,97.41742706298828,0.8620294332504272,14795,0.6294900178909302,Cammeo +17048,525.5380249023438,219.48858642578125,99.73429870605469,0.8908008337020874,17318,0.6923326849937439,Cammeo +14559,496.52398681640625,213.3963623046875,87.1353988647461,0.912835955619812,14765,0.7108192443847656,Cammeo +13698,478.5989990234375,199.0602569580078,88.7896499633789,0.8950110077857971,13932,0.5755946040153503,Cammeo +14005,485.45599365234375,207.13385009765625,86.8755111694336,0.9077935814857483,14212,0.5638083815574646,Cammeo +15560,502.96600341796875,213.9631805419922,93.12080383300781,0.9003247022628784,15789,0.7836816906929016,Cammeo +13853,479.7229919433594,193.40188598632812,92.85980987548828,0.8771923780441284,14338,0.5863703489303589,Cammeo +16138,531.0590209960938,224.3472137451172,92.94733428955078,0.910139799118042,16482,0.5396602749824524,Cammeo +14686,490.406005859375,203.03379821777344,93.82804107666016,0.886812150478363,15065,0.6146827340126038,Cammeo +15264,506.6659851074219,208.7614288330078,95.73719024658203,0.888644814491272,15712,0.6075223684310913,Cammeo +13895,488.25299072265625,207.03448486328125,86.1609878540039,0.9092880487442017,14228,0.782905101776123,Cammeo +13290,469.7120056152344,197.26925659179688,86.32833862304688,0.8991615772247314,13570,0.6826937794685364,Cammeo +13909,474.11199951171875,197.4583740234375,90.17406463623047,0.8896341919898987,14227,0.7429624199867249,Cammeo +14730,483.70599365234375,196.45126342773438,96.88642883300781,0.8699255585670471,15006,0.6530992388725281,Cammeo +14523,491.93701171875,205.1251220703125,91.14208221435547,0.8958659768104553,14849,0.6100050210952759,Cammeo +13983,481.65899658203125,198.3904571533203,90.4981460571289,0.8898968696594238,14306,0.5880151391029358,Cammeo +12549,456.93499755859375,193.39151000976562,83.70135498046875,0.9014862179756165,12905,0.7970655560493469,Cammeo +14289,502.8139953613281,216.60838317871094,85.56938171386719,0.9186630845069885,14612,0.5410040616989136,Cammeo +14994,508.3070068359375,215.56980895996094,89.61988067626953,0.9094858765602112,15246,0.5507640242576599,Cammeo +13283,477.28900146484375,198.27066040039062,86.35545349121094,0.9001677632331848,13616,0.6111341118812561,Cammeo +14958,505.2569885253906,216.3762969970703,88.34890747070312,0.9128426909446716,15235,0.7086076736450195,Cammeo +14852,495.8169860839844,205.71363830566406,92.94775390625,0.8921036720275879,15202,0.601295530796051,Cammeo +14966,490.7430114746094,207.63941955566406,92.16422271728516,0.8960928320884705,15158,0.7888467311859131,Cammeo +13394,480.5719909667969,205.4011688232422,83.80127716064453,0.9129871726036072,13699,0.6501941680908203,Cammeo +16678,523.3099975585938,216.89736938476562,99.0448989868164,0.8896494507789612,17089,0.803449273109436,Cammeo +17253,536.6939697265625,223.62705993652344,98.94525146484375,0.8967899680137634,17678,0.6729989051818848,Cammeo +13822,491.6610107421875,212.13540649414062,83.65462493896484,0.918962299823761,14073,0.6546987295150757,Cammeo +14747,501.7659912109375,213.7421875,88.5816421508789,0.9100801944732666,15070,0.764410138130188,Cammeo +15274,511.0539855957031,211.2999267578125,93.12004852294922,0.8976540565490723,15669,0.693264365196228,Cammeo +14471,491.3420104980469,200.4131622314453,92.81940460205078,0.8862850069999695,14736,0.5859653353691101,Cammeo +15119,508.3420104980469,213.37930297851562,91.25335693359375,0.9039406180381775,15612,0.7237780690193176,Cammeo +13277,463.9679870605469,193.06089782714844,88.17571258544922,0.8896080255508423,13454,0.610156238079071,Cammeo +12988,461.9909973144531,188.7729034423828,88.50921630859375,0.8832692503929138,13259,0.5951519012451172,Cammeo +11638,451.0090026855469,195.0361328125,76.92903137207031,0.9189239144325256,11843,0.5405982732772827,Cammeo +13321,467.4079895019531,200.9202880859375,85.13778686523438,0.9057843089103699,13543,0.5986966490745544,Cammeo +15368,503.3070068359375,209.4185028076172,94.39366912841797,0.8926543593406677,15709,0.640333354473114,Cammeo +13385,477.92999267578125,199.84268188476562,87.0465087890625,0.9001523852348328,13656,0.5659140944480896,Cammeo +14784,481.9859924316406,200.02716064453125,94.98056030273438,0.880073070526123,15005,0.7215931415557861,Cammeo +16963,536.0330200195312,220.32757568359375,99.40977478027344,0.8924275040626526,17467,0.5920767784118652,Cammeo +15140,502.5530090332031,213.89561462402344,90.89737701416016,0.9052115082740784,15491,0.7582131624221802,Cammeo +14713,500.1600036621094,207.158203125,91.4610595703125,0.8972595930099487,15111,0.571933925151825,Cammeo +13684,505.6549987792969,213.5936279296875,83.51058959960938,0.9203996658325195,14158,0.5776277184486389,Cammeo +13424,461.468994140625,186.50674438476562,92.6717529296875,0.8678184151649475,13702,0.6755233407020569,Cammeo +14020,488.5820007324219,207.2651824951172,86.79779815673828,0.908089280128479,14271,0.5539093613624573,Cammeo +14725,472.9020080566406,193.12355041503906,97.7160873413086,0.8625469207763672,15084,0.6343154907226562,Cammeo +15603,511.7439880371094,211.1042022705078,95.43998718261719,0.8919677734375,16021,0.5805119276046753,Cammeo +15433,519.52197265625,218.3880157470703,91.67455291748047,0.9076266884803772,15887,0.7794444561004639,Cammeo +15371,497.6650085449219,212.74893188476562,92.46556854248047,0.9006125330924988,15587,0.8120773434638977,Cammeo +14018,480.8680114746094,203.97837829589844,88.12711334228516,0.9018537402153015,14287,0.7224283814430237,Cammeo +12879,476.5769958496094,203.1659698486328,81.26083374023438,0.9165270924568176,13105,0.6603938341140747,Cammeo +14992,502.61700439453125,213.9413299560547,89.97850036621094,0.9072574973106384,15162,0.5546429753303528,Cammeo +15275,509.8550109863281,217.5546875,90.1838150024414,0.9100338220596313,15582,0.6676136255264282,Cammeo +13762,481.7699890136719,205.04078674316406,86.93547058105469,0.9056663513183594,14101,0.755489706993103,Cammeo +15762,507.6409912109375,205.60055541992188,99.32084655761719,0.8755780458450317,16261,0.6636351943016052,Cammeo +14143,483.864990234375,200.8781280517578,90.59234619140625,0.8925332427024841,14427,0.5976588726043701,Cammeo +15226,500.1700134277344,205.31500244140625,96.17768859863281,0.8834955096244812,15594,0.7934340834617615,Cammeo +14226,491.3890075683594,213.78671264648438,85.35411834716797,0.9168425798416138,14483,0.6643937826156616,Cammeo +14654,498.1029968261719,214.654296875,87.38054656982422,0.9133944511413574,14907,0.8037516474723816,Cammeo +14928,499.39300537109375,212.40379333496094,90.70808410644531,0.9042257070541382,15269,0.7974358797073364,Cammeo +15050,502.59100341796875,206.38658142089844,93.80850219726562,0.8907324075698853,15464,0.5912162065505981,Cammeo +12158,441.4779968261719,182.28729248046875,85.52101135253906,0.8831157684326172,12359,0.7155131697654724,Cammeo +15783,510.1940002441406,219.55177307128906,92.24810791015625,0.9074474573135376,16024,0.79792720079422,Cammeo +14236,486.1789855957031,201.70468139648438,90.64240264892578,0.8933398127555847,14545,0.6561577916145325,Cammeo +15373,489.1310119628906,200.1409149169922,98.96591186523438,0.8691883087158203,15617,0.776414155960083,Cammeo +15139,508.9700012207031,217.3360137939453,89.95793151855469,0.9103170037269592,15394,0.5498892068862915,Cammeo +15228,505.2650146484375,209.62527465820312,93.52686309814453,0.8949521780014038,15501,0.739223301410675,Cammeo +14556,487.41900634765625,208.73126220703125,89.19512176513672,0.9041002988815308,14819,0.7764856219291687,Cammeo +13279,483.6579895019531,201.33822631835938,85.47550201416016,0.905410647392273,13691,0.5763455033302307,Cammeo +16000,515.3809814453125,215.71432495117188,94.95480346679688,0.8979057669639587,16289,0.6736558675765991,Cammeo +14712,503.71099853515625,217.60972595214844,87.28523254394531,0.9160302877426147,15109,0.8031444549560547,Cammeo +13840,476.9010009765625,201.6256866455078,88.24250030517578,0.8991429805755615,14205,0.6305813789367676,Cammeo +12975,458.5469970703125,189.81834411621094,87.655029296875,0.8869925141334534,13254,0.7090163826942444,Cammeo +15862,507.5480041503906,214.8732452392578,94.80011749267578,0.8974133133888245,16098,0.8083371520042419,Cammeo +17338,530.0440063476562,222.08436584472656,100.54911804199219,0.8916365504264832,17725,0.7924493551254272,Cammeo +16893,523.2540283203125,216.24049377441406,100.40816497802734,0.8856593370437622,17293,0.6810594797134399,Cammeo +15546,518.9429931640625,219.22653198242188,91.38640594482422,0.9089714884757996,15967,0.5535141825675964,Cammeo +15269,519.7659912109375,222.4195556640625,88.28182983398438,0.9178550243377686,15620,0.5657489895820618,Cammeo +15583,510.6910095214844,217.35154724121094,92.12089538574219,0.9057400822639465,15826,0.686959981918335,Cammeo +14840,512.0079956054688,220.51431274414062,86.41502380371094,0.9200165867805481,15160,0.5641727447509766,Cammeo +14805,484.6319885253906,202.98023986816406,93.69647216796875,0.8870861530303955,15090,0.7842046618461609,Cammeo +13860,483.97100830078125,207.78919982910156,85.96106719970703,0.9104161858558655,14047,0.6481481194496155,Cammeo +12468,461.54998779296875,196.8182830810547,81.54729461669922,0.9101276993751526,12786,0.6765056848526001,Cammeo +13913,493.60699462890625,212.9854736328125,83.99134826660156,0.9189592599868774,14218,0.572127640247345,Cammeo +12978,465.8500061035156,199.12939453125,83.91191864013672,0.9068776965141296,13210,0.7351308465003967,Cammeo +13657,469.23699951171875,193.107421875,90.77803802490234,0.8826180100440979,13930,0.6153464913368225,Cammeo +14246,488.9159851074219,210.75372314453125,86.88517761230469,0.9110665321350098,14453,0.7480571269989014,Cammeo +13651,502.0799865722656,222.0735626220703,79.33726501464844,0.9340062141418457,14034,0.7926489114761353,Cammeo +13677,485.52899169921875,207.3946075439453,85.14314270019531,0.9118439555168152,13874,0.5856634974479675,Cammeo +15107,488.8659973144531,205.2152099609375,94.36981964111328,0.8879925608634949,15322,0.7872329354286194,Cammeo +14956,490.2560119628906,204.54122924804688,93.75128936767578,0.8887722492218018,15196,0.6727845072746277,Cammeo +15448,521.3179931640625,224.89053344726562,88.73651123046875,0.9188631176948547,15847,0.7053881287574768,Cammeo +14898,501.4949951171875,215.56333923339844,88.77059936523438,0.9112708568572998,15156,0.6585042476654053,Cammeo +13683,490.7929992675781,210.28196716308594,84.0450210571289,0.9166557192802429,14187,0.7739253640174866,Cammeo +12412,456.5799865722656,191.57162475585938,83.44985961914062,0.9001371264457703,12779,0.6495028734207153,Cammeo +13933,471.7139892578125,193.5167236328125,91.8762435913086,0.8801090717315674,14177,0.7446421980857849,Cammeo +15500,502.3210144042969,213.36700439453125,93.55457305908203,0.8987468481063843,15724,0.8149744868278503,Cammeo +14747,494.9419860839844,209.20590209960938,90.64753723144531,0.9012529253959656,15124,0.5560289621353149,Cammeo +15144,503.3240051269531,212.1953887939453,91.77615356445312,0.9016302227973938,15469,0.6278607249259949,Cammeo +13970,494.65399169921875,211.74269104003906,85.07025146484375,0.9157439470291138,14280,0.6962719559669495,Cammeo +12375,451.08099365234375,185.78115844726562,86.23738098144531,0.8857367038726807,12755,0.6497427225112915,Cammeo +15484,504.8190002441406,211.28805541992188,94.47180938720703,0.8944723606109619,15795,0.679122805595398,Cammeo +13541,478.46099853515625,206.69949340820312,84.09855651855469,0.9134888052940369,13768,0.8134686946868896,Cammeo +13455,468.86199951171875,196.68490600585938,87.98445129394531,0.8943654298782349,13730,0.6549357771873474,Cammeo +13043,471.35699462890625,199.28964233398438,84.55069732666016,0.9055402278900146,13422,0.7364349961280823,Cammeo +13697,482.3840026855469,206.7344512939453,85.1809310913086,0.9111700057983398,13927,0.597079336643219,Cammeo +15004,506.9440002441406,218.60362243652344,88.09037017822266,0.9152138829231262,15277,0.7148846983909607,Cammeo +14634,493.0270080566406,208.1361541748047,90.37943267822266,0.9008009433746338,14898,0.7102504372596741,Cammeo +13814,481.4159851074219,203.06234741210938,87.3184814453125,0.9028249382972717,14112,0.6374711394309998,Cammeo +16480,525.1539916992188,220.30812072753906,96.4774398803711,0.8990136981010437,16842,0.5762640833854675,Cammeo +12403,451.2439880371094,194.00619506835938,82.41925048828125,0.9052740931510925,12596,0.8306878209114075,Cammeo +13574,481.1570129394531,206.4676513671875,84.42449188232422,0.9125794768333435,13870,0.8096147179603577,Cammeo +14253,485.02301025390625,202.32994079589844,90.59917449951172,0.8941440582275391,14522,0.6226192712783813,Cammeo +15586,505.87701416015625,218.57321166992188,91.24372100830078,0.9086992144584656,15814,0.823784351348877,Cammeo +14906,497.82501220703125,211.34190368652344,90.6529541015625,0.9033330678939819,15150,0.5974827408790588,Cammeo +15123,518.2579956054688,226.38143920898438,85.84078216552734,0.9253202676773071,15378,0.6369187831878662,Cammeo +12974,460.4169921875,191.32577514648438,87.28570556640625,0.8898695707321167,13310,0.6772105693817139,Cammeo +15513,522.5040283203125,224.2758331298828,89.01466369628906,0.9178626537322998,15967,0.5661678910255432,Cammeo +12684,461.3580017089844,198.20211791992188,81.89427947998047,0.9106467962265015,12912,0.5471014380455017,Cammeo +13170,472.10198974609375,200.1954345703125,84.87551879882812,0.9056794047355652,13383,0.5449354648590088,Cammeo +15375,494.3160095214844,204.47073364257812,96.98160552978516,0.8803603053092957,15631,0.739182710647583,Cammeo +17856,530.416015625,223.2923583984375,102.90127563476562,0.8874850273132324,18062,0.7957219481468201,Cammeo +15655,513.301025390625,216.0989990234375,93.56714630126953,0.9014021754264832,16085,0.5656525492668152,Cammeo +17404,521.864990234375,211.06301879882812,106.33782196044922,0.8638085126876831,17739,0.6846577525138855,Cammeo +12060,450.1549987792969,188.96038818359375,82.32945251464844,0.9000934362411499,12480,0.6227087378501892,Cammeo +12519,455.406005859375,192.00218200683594,83.87214660644531,0.8995444774627686,12770,0.6706846952438354,Cammeo +15806,513.844970703125,221.1923828125,91.62950897216797,0.9101619720458984,16043,0.5748681426048279,Cammeo +14124,486.59100341796875,202.96083068847656,89.87580108642578,0.8966088891029358,14576,0.7027215361595154,Cammeo +16618,513.7529907226562,213.21713256835938,99.89234161376953,0.8834632039070129,16892,0.6364123821258545,Cammeo +15321,513.0070190429688,218.7119598388672,90.26066589355469,0.9108706712722778,15646,0.7118762135505676,Cammeo +12752,459.447998046875,196.4300537109375,83.10926818847656,0.9060837030410767,13059,0.79067462682724,Cammeo +14479,473.9570007324219,193.13182067871094,96.94859313964844,0.8648784160614014,14812,0.636635422706604,Cammeo +12685,468.59600830078125,199.6599884033203,82.1983871459961,0.9113231301307678,13042,0.6959074139595032,Cammeo +14339,492.3080139160156,205.77316284179688,90.8565902709961,0.8972427248954773,14818,0.627472460269928,Cammeo +14115,483.7799987792969,206.8418731689453,88.06864929199219,0.9048278331756592,14312,0.7476561069488525,Cammeo +13864,491.4460144042969,206.88369750976562,86.35062408447266,0.9087287187576294,14221,0.7159677743911743,Cammeo +14096,476.9540100097656,198.7421875,91.36670684814453,0.8880614638328552,14346,0.5993197560310364,Cammeo +15779,506.37701416015625,209.40489196777344,97.43090057373047,0.8851661086082458,16201,0.6194645166397095,Cammeo +15218,508.135986328125,214.27706909179688,91.71027374267578,0.9037794470787048,15685,0.668012797832489,Cammeo +13814,477.58599853515625,198.903076171875,89.67539978027344,0.892599880695343,14168,0.6909763813018799,Cammeo +13337,471.84698486328125,199.14466857910156,86.46564483642578,0.900823712348938,13686,0.6644579768180847,Cammeo +13024,459.77099609375,191.90499877929688,88.0344467163086,0.8885706663131714,13325,0.7796934843063354,Cammeo +14836,495.1050109863281,208.59527587890625,91.38999938964844,0.8989159464836121,15164,0.6005505323410034,Cammeo +14296,484.2439880371094,202.9798583984375,91.07144927978516,0.8936963081359863,14572,0.7572435140609741,Cammeo +10785,437.8840026855469,181.26580810546875,77.6593017578125,0.9035760760307312,11209,0.5501428246498108,Cammeo +14871,487.6180114746094,204.19110107421875,93.79976654052734,0.8882437348365784,15067,0.7630849480628967,Cammeo +14449,496.32598876953125,209.7057647705078,89.79036712646484,0.9036967158317566,14810,0.6623120903968811,Cammeo +14463,480.489990234375,201.93421936035156,91.94389343261719,0.890329897403717,14698,0.6751155257225037,Cammeo +12887,468.8330078125,197.76321411132812,83.72417449951172,0.9059635400772095,13241,0.5567700862884521,Cammeo +13138,470.4150085449219,203.86282348632812,82.98421478271484,0.9134018421173096,13361,0.810987651348114,Cammeo +14833,496.9360046386719,209.31231689453125,91.47589874267578,0.8994466066360474,15072,0.5567525029182434,Cammeo +12256,453.4649963378906,189.97113037109375,83.10529327392578,0.8992365598678589,12565,0.5836190581321716,Cammeo +15475,511.427001953125,219.1482391357422,91.4625473022461,0.908743679523468,15759,0.7887359857559204,Cammeo +15248,509.00299072265625,217.9924774169922,90.10746765136719,0.9105716347694397,15557,0.7353395223617554,Cammeo +14750,482.82501220703125,198.50335693359375,95.47468566894531,0.8767356276512146,15046,0.6055008172988892,Cammeo +12711,470.1629943847656,196.36380004882812,83.78096008300781,0.9044111967086792,13007,0.5604497194290161,Cammeo +13495,466.9590148925781,196.39553833007812,88.21305847167969,0.8934512138366699,13725,0.6895759105682373,Cammeo +13884,478.7019958496094,201.31629943847656,89.18120574951172,0.8965263366699219,14217,0.7979310154914856,Cammeo +15613,509.760986328125,210.278076171875,96.02433013916016,0.8896443843841553,15975,0.5725969076156616,Cammeo +14645,485.1130065917969,201.15377807617188,93.58039855957031,0.8851960301399231,14889,0.6464071273803711,Cammeo +12699,458.01300048828125,192.59449768066406,85.203857421875,0.896817684173584,12965,0.5906511545181274,Cammeo +15322,506.39801025390625,217.86375427246094,90.17707061767578,0.9103155732154846,15531,0.8136151432991028,Cammeo +13340,471.6390075683594,197.41006469726562,87.4258041381836,0.8965888023376465,13712,0.7656106352806091,Cammeo +15404,499.2309875488281,206.08692932128906,95.63304138183594,0.8858130574226379,15740,0.6247566342353821,Cammeo +13789,494.3800048828125,216.91551208496094,82.15644836425781,0.9254996180534363,14109,0.532743513584137,Cammeo +12491,457.1409912109375,194.87545776367188,82.4910888671875,0.9059888124465942,12721,0.7704786658287048,Cammeo +14880,502.8810119628906,217.9986572265625,87.55461120605469,0.9158024191856384,15129,0.5766994953155518,Cammeo +13568,478.3110046386719,204.06912231445312,85.50912475585938,0.9079768061637878,13819,0.5683169960975647,Cammeo +12819,472.69000244140625,202.34402465820312,81.20730590820312,0.915932297706604,13137,0.6539638638496399,Cammeo +17246,540.5419921875,225.98886108398438,98.57315063476562,0.8998565673828125,17704,0.5739292502403259,Cammeo +12068,450.14599609375,187.2999267578125,83.14625549316406,0.8960662484169006,12426,0.6500754356384277,Cammeo +14053,482.0840148925781,204.37863159179688,88.23910522460938,0.9019964933395386,14316,0.713350236415863,Cammeo +12711,459.6180114746094,192.97462463378906,84.95108032226562,0.8978904485702515,13028,0.5819522142410278,Cammeo +11746,450.8290100097656,194.19091796875,77.743896484375,0.9163632988929749,11953,0.5552089214324951,Cammeo +14291,481.239990234375,196.50100708007812,93.87129211425781,0.878515362739563,14618,0.589198112487793,Cammeo +15366,508.7929992675781,211.37265014648438,93.96780395507812,0.8957491517066956,15746,0.5645943284034729,Cammeo +15557,509.0220031738281,211.9335479736328,94.75859832763672,0.8944766521453857,16075,0.6431170105934143,Cammeo +13652,486.62799072265625,210.34523010253906,83.29913330078125,0.9182455539703369,13950,0.5798012614250183,Cammeo +13574,488.49700927734375,210.68630981445312,83.74446868896484,0.9176090359687805,13856,0.5516765117645264,Cammeo +13621,473.89898681640625,198.8458709716797,88.4286880493164,0.8956747651100159,13989,0.6084606647491455,Cammeo +14025,475.9570007324219,197.39190673828125,91.75456237792969,0.8853976130485535,14423,0.679901123046875,Cammeo +14431,497.06298828125,212.04566955566406,87.8514175415039,0.9101384878158569,14805,0.6486425995826721,Cammeo +13469,475.0870056152344,203.24781799316406,84.86798095703125,0.908649742603302,13739,0.7277786731719971,Cammeo +13632,485.93701171875,205.21495056152344,85.83135223388672,0.9083315134048462,13905,0.5501210689544678,Cammeo +11151,438.2619934082031,191.6008758544922,74.8474349975586,0.9205424785614014,11325,0.6659699082374573,Cammeo +12878,459.60400390625,192.17227172851562,85.9566879272461,0.8943890929222107,13213,0.5762484073638916,Cammeo +11625,437.3599853515625,186.70814514160156,79.7237777709961,0.9042531251907349,11830,0.7218703627586365,Cammeo +14312,488.41900634765625,208.1702423095703,88.40865325927734,0.9053369164466858,14692,0.7933481335639954,Cammeo +13806,490.510009765625,209.72084045410156,85.13124084472656,0.9139057397842407,14284,0.7958725094795227,Cammeo +13928,479.7239990234375,204.43028259277344,87.08270263671875,0.9047337174415588,14158,0.5662709474563599,Cammeo +13139,472.2510070800781,202.59767150878906,83.79177856445312,0.9104645848274231,13379,0.7836693525314331,Cammeo +12234,449.3800048828125,188.6259307861328,83.90933227539062,0.8956074714660645,12492,0.5947496294975281,Cammeo +13990,484.0469970703125,205.39779663085938,87.6490478515625,0.9043799042701721,14315,0.5907939076423645,Cammeo +15307,489.47100830078125,197.20265197753906,100.13298797607422,0.8614944815635681,15628,0.6791037917137146,Cammeo +11377,452.4079895019531,201.30625915527344,72.28141784667969,0.9333137273788452,11555,0.525545060634613,Cammeo +13207,469.70001220703125,196.4875030517578,87.3390121459961,0.8957780599594116,13546,0.5745421051979065,Cammeo +13404,476.20599365234375,203.3115692138672,84.62199401855469,0.9092647433280945,13751,0.6346591114997864,Cammeo +13334,470.52398681640625,194.31919860839844,89.29185485839844,0.8881719708442688,13738,0.6243094205856323,Cammeo +11671,459.7799987792969,199.40321350097656,75.45848083496094,0.9256333708763123,12110,0.6432074904441833,Cammeo +17135,525.93798828125,217.7283477783203,101.15462493896484,0.8855254054069519,17471,0.5937283635139465,Cammeo +14816,496.3160095214844,206.6574249267578,92.17412567138672,0.8950211405754089,15194,0.5814985036849976,Cammeo +15336,508.7850036621094,219.26229858398438,89.7419662475586,0.9124041199684143,15599,0.580008327960968,Cammeo +14989,484.30999755859375,195.342041015625,98.70047760009766,0.8629612922668457,15393,0.761056125164032,Cammeo +16302,526.3400268554688,225.32296752929688,92.9941635131836,0.9108602404594421,16669,0.6083517074584961,Cammeo +15739,525.0009765625,228.24459838867188,88.84927368164062,0.9211227893829346,15978,0.5732444524765015,Cammeo +14851,512.3189697265625,218.00836181640625,88.49666595458984,0.9139030575752258,15556,0.717751681804657,Cammeo +12651,467.56500244140625,200.0503692626953,81.17269897460938,0.9139790534973145,12991,0.5941110253334045,Cammeo +12709,456.17401123046875,191.3734130859375,85.73983764648438,0.8940216898918152,12934,0.7828149199485779,Cammeo +13874,486.8179931640625,207.80723571777344,85.49026489257812,0.911458432674408,14116,0.5694000124931335,Cammeo +16291,523.1929931640625,223.25233459472656,93.60415649414062,0.907859206199646,16595,0.5811572670936584,Cammeo +14318,491.2959899902344,207.61473083496094,89.12659454345703,0.9031674861907959,14629,0.562460720539093,Cammeo +13975,482.5889892578125,203.41641235351562,88.66715240478516,0.9000000357627869,14275,0.6726511120796204,Cammeo +14806,497.8559875488281,211.1334991455078,90.01241302490234,0.9045680165290833,15114,0.6512139439582825,Cammeo +14789,492.9519958496094,206.70867919921875,92.60356903076172,0.894038200378418,15069,0.7478256225585938,Cammeo +12990,469.4800109863281,200.51541137695312,83.43035125732422,0.9093282222747803,13214,0.7012145519256592,Cammeo +12045,452.3089904785156,193.51351928710938,80.27761840820312,0.909893274307251,12368,0.5524215698242188,Cammeo +13946,482.1400146484375,203.25732421875,88.27828979492188,0.9007596969604492,14233,0.5715105533599854,Cammeo +14569,500.3689880371094,216.66966247558594,86.4575424194336,0.9169381856918335,14801,0.8066998720169067,Cammeo +15306,524.6849975585938,227.7818603515625,87.04252624511719,0.9241081476211548,15837,0.5125063061714172,Cammeo +13568,482.1419982910156,206.3412628173828,84.97628021240234,0.9112634062767029,13798,0.772841215133667,Cammeo +14289,488.4849853515625,208.57388305664062,88.30962371826172,0.9059441089630127,14572,0.7920731902122498,Cammeo +14619,493.52398681640625,209.5328826904297,89.80801391601562,0.903489351272583,14973,0.6123141646385193,Cammeo +13338,462.53399658203125,194.25833129882812,88.3823471069336,0.8905050754547119,13639,0.7431054711341858,Cammeo +12935,462.9800109863281,195.3043212890625,85.48748016357422,0.8991141319274902,13213,0.7530418634414673,Cammeo +13211,476.65899658203125,204.86453247070312,82.88511657714844,0.9145004153251648,13608,0.7108803391456604,Cammeo +13785,489.9159851074219,213.3764190673828,82.7899169921875,0.9216596484184265,14130,0.7966366410255432,Cammeo +12982,466.1570129394531,200.51947021484375,82.79619598388672,0.9107725024223328,13188,0.6222797632217407,Cammeo +14999,498.5409851074219,213.50802612304688,90.1097412109375,0.9065754413604736,15295,0.7987112998962402,Cammeo +15790,516.47998046875,218.4259033203125,92.9359359741211,0.9049676656723022,16197,0.7501543760299683,Cammeo +13719,487.1470031738281,208.86477661132812,84.30043029785156,0.9149300456047058,14111,0.6044144630432129,Cammeo +13118,480.08599853515625,207.10903930664062,81.7057113647461,0.9188934564590454,13652,0.5687651634216309,Cammeo +11975,458.9020080566406,199.04269409179688,78.0367660522461,0.9199394583702087,12288,0.7998263239860535,Cammeo +11958,444.927001953125,187.75836181640625,81.88331604003906,0.8998933434486389,12240,0.7266650199890137,Cammeo +12621,444.5880126953125,184.94313049316406,87.62445831298828,0.8806371092796326,12832,0.7339924573898315,Cammeo +11747,452.12701416015625,194.49485778808594,78.74446105957031,0.9143757820129395,11935,0.5426367521286011,Cammeo +13372,472.1700134277344,197.78036499023438,87.60530853271484,0.8965500593185425,13750,0.6073488593101501,Cammeo +15773,515.7940063476562,219.4337615966797,92.62104797363281,0.9065533876419067,16089,0.705411434173584,Cammeo +15556,510.510009765625,217.10223388671875,92.7732162475586,0.9040980935096741,15781,0.607418954372406,Cammeo +11421,441.1610107421875,189.5218505859375,77.25662231445312,0.9131428599357605,11610,0.5517924427986145,Cammeo +13949,479.4020080566406,200.0951385498047,90.09468841552734,0.8928978443145752,14286,0.5815475583076477,Cammeo +13266,466.0,198.06138610839844,86.09347534179688,0.9005845785140991,13514,0.654335618019104,Cammeo +14715,497.5570068359375,212.0353240966797,89.50563049316406,0.9065371751785278,15094,0.7948898077011108,Cammeo +14439,492.322998046875,205.41563415527344,91.421630859375,0.8955023288726807,14867,0.7808241248130798,Cammeo +14975,508.0780029296875,212.55642700195312,91.27476501464844,0.9031076431274414,15482,0.6313770413398743,Cammeo +11411,430.9339904785156,184.3092498779297,79.25812530517578,0.902815580368042,11587,0.6478737592697144,Cammeo +11359,441.3659973144531,185.1977081298828,78.98223114013672,0.9044992327690125,11755,0.5807259678840637,Cammeo +13090,472.94500732421875,202.60157775878906,83.23017883300781,0.9117222428321838,13331,0.7752901911735535,Cammeo +11898,453.9800109863281,195.36004638671875,78.36910247802734,0.9160114526748657,12134,0.548042356967926,Cammeo +12919,474.60101318359375,207.93020629882812,79.46932983398438,0.9240828156471252,13187,0.633781373500824,Cammeo +13935,483.2439880371094,196.78610229492188,91.71784973144531,0.8847431540489197,14428,0.5932311415672302,Cammeo +13909,488.7080078125,206.3518524169922,86.97563171386719,0.9068321585655212,14362,0.5433415174484253,Cammeo +13295,475.7430114746094,199.24073791503906,86.08377838134766,0.9018452763557434,13639,0.6159940958023071,Cammeo +14009,487.06298828125,208.6516571044922,86.59980773925781,0.9098009467124939,14333,0.7501071095466614,Cammeo +15350,498.1789855957031,204.62120056152344,96.89340209960938,0.8807799816131592,15751,0.6636976599693298,Cammeo +13263,474.49798583984375,197.8428955078125,86.68631744384766,0.8988983035087585,13607,0.5600929260253906,Cammeo +13650,491.02398681640625,210.6749725341797,83.69099426269531,0.9177097082138062,14011,0.5385890007019043,Cammeo +12598,466.8370056152344,199.0391387939453,81.86654663085938,0.9114960432052612,13072,0.5754088163375854,Cammeo +14551,502.11199951171875,208.19244384765625,90.84801483154297,0.8997694253921509,14962,0.558022677898407,Cammeo +15700,505.3030090332031,209.98841857910156,96.19488525390625,0.8889026641845703,16040,0.5900703072547913,Cammeo +14969,494.4169921875,207.2099151611328,92.91051483154297,0.8938388228416443,15286,0.6397008299827576,Cammeo +14424,497.7699890136719,210.74310302734375,88.51709747314453,0.9075131416320801,14920,0.5582043528556824,Cammeo +11571,432.6709899902344,183.70559692382812,80.5602035522461,0.8987171053886414,11741,0.6622217297554016,Cammeo +15204,510.48699951171875,216.31686401367188,90.85395050048828,0.9075222611427307,15535,0.5621117949485779,Cammeo +14019,482.4540100097656,197.1981964111328,92.6700439453125,0.8827018141746521,14411,0.5761548280715942,Cammeo +11874,433.843994140625,176.6112518310547,87.04949188232422,0.8700929880142212,12138,0.7344136834144592,Cammeo +13888,481.74798583984375,205.74632263183594,87.00279998779297,0.90619295835495,14178,0.5851027965545654,Cammeo +13087,468.8110046386719,198.28671264648438,84.87167358398438,0.9037668704986572,13488,0.7724589705467224,Cammeo +14410,483.8089904785156,200.6350555419922,92.52117919921875,0.8873265385627747,14788,0.5832118988037109,Cammeo +14542,490.14599609375,208.429931640625,89.25757598876953,0.903666079044342,14747,0.5541287064552307,Cammeo +15595,501.4939880371094,207.8909454345703,96.88516235351562,0.8847644925117493,16030,0.7684158682823181,Cammeo +10761,429.01800537109375,183.56710815429688,75.22785186767578,0.91217041015625,11031,0.5787973403930664,Cammeo +15907,527.3499755859375,226.89300537109375,90.79046630859375,0.9164511561393738,16288,0.573845624923706,Cammeo +13848,492.9100036621094,207.0145721435547,86.98444366455078,0.9074383974075317,14383,0.668791651725769,Cammeo +14493,487.33599853515625,205.8022918701172,90.5387954711914,0.8980315923690796,14835,0.7557885050773621,Cammeo +13468,470.76300048828125,194.47349548339844,89.7410659790039,0.8871628046035767,14022,0.69183748960495,Cammeo +12483,451.8139953613281,189.89942932128906,84.86184692382812,0.8945949673652649,12686,0.5957050919532776,Cammeo +16799,524.2470092773438,218.34255981445312,99.16317749023438,0.890918493270874,17283,0.6237097978591919,Cammeo +12110,458.07598876953125,192.4991455078125,81.79428100585938,0.9052368998527527,12562,0.7086844444274902,Cammeo +14934,488.27099609375,201.0799560546875,95.97958374023438,0.8787292838096619,15193,0.6503788828849792,Cammeo +13274,471.0539855957031,197.61219787597656,86.34553527832031,0.8994885087013245,13615,0.623778223991394,Cammeo +13891,486.93798828125,209.8047637939453,85.7384262084961,0.9126875400543213,14170,0.8284726142883301,Cammeo +12723,465.9419860839844,197.7523193359375,83.90299987792969,0.9055295586585999,12974,0.6831507682800293,Cammeo +14587,497.9469909667969,211.68728637695312,88.9132080078125,0.9075141549110413,14926,0.6486859321594238,Cammeo +14202,485.93798828125,202.6140594482422,90.65028381347656,0.8943321108818054,14640,0.561765730381012,Cammeo +15526,514.3909912109375,216.9185791015625,91.82958221435547,0.9059724807739258,15936,0.5808454751968384,Cammeo +13839,481.5880126953125,201.34278869628906,88.88829803466797,0.8972723484039307,14165,0.7169352173805237,Cammeo +13852,490.27899169921875,213.98568725585938,82.96648406982422,0.9217773079872131,14158,0.728324294090271,Cammeo +14935,489.2340087890625,202.40664672851562,94.64573669433594,0.8839391469955444,15251,0.6090449094772339,Cammeo +13576,475.04998779296875,200.99942016601562,86.54899597167969,0.9025461077690125,13888,0.5832867622375488,Cammeo +13998,486.3760070800781,204.20379638671875,88.51287841796875,0.901175856590271,14401,0.5468823313713074,Cammeo +14469,484.4670104980469,204.24917602539062,90.72005462646484,0.8959457278251648,14701,0.6587297916412354,Cammeo +14686,503.69000244140625,212.25868225097656,89.78369140625,0.9061334729194641,15003,0.5521467924118042,Cammeo +15269,496.6889953613281,210.45181274414062,92.70919799804688,0.8977405428886414,15474,0.8066884875297546,Cammeo +12993,466.239013671875,199.0335235595703,83.48303985595703,0.9077820777893066,13230,0.7866440415382385,Cammeo +13414,480.2879943847656,199.48291015625,86.84285736083984,0.9002662301063538,13933,0.5550544261932373,Cammeo +15035,506.1520080566406,216.935302734375,89.38923645019531,0.9111590385437012,15432,0.6092965006828308,Cammeo +13034,474.3689880371094,203.995849609375,81.98089599609375,0.9156944155693054,13316,0.6157407164573669,Cammeo +13315,476.2030029296875,205.18861389160156,83.06101989746094,0.9144037961959839,13510,0.551574170589447,Cammeo +13620,479.87701416015625,203.39710998535156,86.375732421875,0.9053503274917603,13987,0.6357653141021729,Cammeo +14734,498.7070007324219,211.00096130371094,90.11148071289062,0.9042201638221741,15171,0.7845998406410217,Cammeo +14652,499.33599853515625,212.50393676757812,88.7513427734375,0.9086099863052368,15039,0.7679245471954346,Cammeo +14295,484.22698974609375,202.77056884765625,91.3971176147461,0.8926544785499573,14528,0.5518239736557007,Cammeo +12655,459.9049987792969,192.9947967529297,84.90269470214844,0.8980358839035034,12959,0.645334005355835,Cammeo +13444,474.5929870605469,197.95042419433594,87.63919067382812,0.8966534733772278,13881,0.65660560131073,Cammeo +14115,490.4079895019531,207.9595489501953,87.42121124267578,0.9073500037193298,14580,0.5705796480178833,Cammeo +15192,494.8890075683594,208.7244873046875,93.38067626953125,0.8943403363227844,15410,0.6264742016792297,Cammeo +11128,441.4330139160156,184.41098022460938,79.25365447998047,0.9029400944709778,11403,0.5581021904945374,Cammeo +15144,505.9129943847656,212.36888122558594,92.02203369140625,0.9012438654899597,15609,0.609514594078064,Cammeo +14516,492.7860107421875,209.7601318359375,89.51319885253906,0.9043740034103394,14836,0.7335758805274963,Cammeo +13470,471.18798828125,200.50234985351562,86.78319549560547,0.9014761447906494,13729,0.5821089148521423,Cammeo +14617,495.45001220703125,207.31588745117188,90.70746612548828,0.8992025256156921,14950,0.6379069685935974,Cammeo +14359,506.0889892578125,223.26084899902344,82.48140716552734,0.9292547106742859,14698,0.5378708243370056,Cammeo +14204,489.44500732421875,211.88388061523438,85.94508361816406,0.9140402674674988,14487,0.6860841512680054,Cammeo +14440,498.1189880371094,210.27352905273438,88.98815155029297,0.9060354232788086,14918,0.7763023376464844,Cammeo +13921,486.38800048828125,203.18417358398438,88.83795928955078,0.8993503451347351,14334,0.5801867246627808,Cammeo +14054,486.7650146484375,207.58250427246094,87.13072967529297,0.9076442718505859,14343,0.7894618511199951,Cammeo +13039,476.697998046875,198.8969268798828,85.5302734375,0.9028179049491882,13383,0.5517985820770264,Cammeo +13350,466.6189880371094,196.50897216796875,87.16155242919922,0.8962496519088745,13562,0.7992097735404968,Cammeo +14850,498.4429931640625,213.7612762451172,88.9886703491211,0.9092276096343994,15071,0.6964964270591736,Cammeo +11836,456.3789978027344,201.86959838867188,75.45857238769531,0.9275099039077759,12084,0.7532137036323547,Cammeo +13333,472.3840026855469,200.93856811523438,85.17280578613281,0.9057207703590393,13585,0.680255115032196,Cammeo +13062,467.4639892578125,197.80242919921875,85.39855194091797,0.9019997119903564,13272,0.624080240726471,Cammeo +12886,463.90301513671875,193.8765869140625,85.47773742675781,0.8975624442100525,13196,0.5952513217926025,Cammeo +13437,476.1130065917969,202.8204803466797,85.11241912841797,0.9076887369155884,13700,0.7841386795043945,Cammeo +11963,448.4259948730469,191.07705688476562,80.8142318725586,0.9061574339866638,12205,0.7559080123901367,Cammeo +12213,459.1669921875,195.5865478515625,80.64010620117188,0.9110486507415771,12571,0.5434038043022156,Cammeo +13970,481.8840026855469,201.4725799560547,89.4972152709961,0.8959200382232666,14310,0.5678861737251282,Cammeo +14511,510.2850036621094,216.34649658203125,87.13011169433594,0.9153170585632324,14957,0.5299853682518005,Cammeo +14055,488.7489929199219,207.7517547607422,87.25032806396484,0.9075361490249634,14484,0.5500763058662415,Cammeo +16188,526.8759765625,224.0419158935547,93.17562103271484,0.9094173312187195,16605,0.6630078554153442,Cammeo +13064,469.83599853515625,199.5599822998047,84.36461639404297,0.9062448740005493,13382,0.6564164161682129,Cammeo +14161,488.68701171875,206.50746154785156,87.96766662597656,0.9047334790229797,14428,0.5939518213272095,Cammeo +13806,494.0320129394531,212.3868865966797,83.93067169189453,0.9186044931411743,14247,0.5336270928382874,Cammeo +13623,493.5679931640625,211.73048400878906,82.92393493652344,0.9201148748397827,14065,0.5265538096427917,Cammeo +15238,506.114990234375,218.3603973388672,89.61968994140625,0.9118961691856384,15529,0.5472240447998047,Cammeo +13688,481.3139953613281,204.308837890625,86.37803649902344,0.9062315821647644,14024,0.7893887162208557,Cammeo +14520,496.02099609375,208.4257049560547,90.74639129638672,0.9002420902252197,14930,0.5909646153450012,Cammeo +13263,480.1910095214844,205.57586669921875,83.13744354248047,0.9145767092704773,13517,0.6805726885795593,Cammeo +16602,528.35302734375,224.41542053222656,95.47276306152344,0.9049919247627258,16900,0.565482497215271,Cammeo +14525,487.21600341796875,206.4501190185547,90.84385681152344,0.897983968257904,14798,0.5933415293693542,Cammeo +12344,466.8420104980469,204.10877990722656,77.81432342529297,0.9244763255119324,12596,0.7212808132171631,Cammeo +14002,490.57000732421875,209.3342742919922,86.14630889892578,0.9113984107971191,14336,0.6569082736968994,Cammeo +12267,454.0249938964844,190.67359924316406,83.0182876586914,0.9002396464347839,12673,0.6516680717468262,Cammeo +15093,509.30499267578125,214.42811584472656,90.8832778930664,0.9057369232177734,15497,0.5726155042648315,Cammeo +12789,454.3890075683594,183.6245574951172,89.72113037109375,0.8725012540817261,13114,0.6950543522834778,Cammeo +12767,463.8420104980469,196.1930389404297,83.97356414794922,0.9037716388702393,13104,0.6062203049659729,Cammeo +12079,445.9949951171875,190.67359924316406,81.13324737548828,0.9049544334411621,12462,0.6426709294319153,Cammeo +14868,510.4339904785156,219.3337860107422,88.03911590576172,0.915905773639679,15190,0.7966991662979126,Cammeo +14531,492.9580078125,207.62460327148438,90.52266693115234,0.8999505639076233,14913,0.5712544918060303,Cammeo +13657,481.6189880371094,207.01315307617188,84.51869201660156,0.9128581285476685,13872,0.5673396587371826,Cammeo +12692,465.1719970703125,193.2073211669922,85.29054260253906,0.8972879648208618,13118,0.7148006558418274,Cammeo +12465,462.6159973144531,196.44573974609375,82.09127044677734,0.9085010290145874,12794,0.7301429510116577,Cammeo +15032,500.6090087890625,209.91653442382812,91.9253921508789,0.8990168571472168,15397,0.718924880027771,Cammeo +13493,480.52899169921875,205.57305908203125,84.68375396728516,0.9112110137939453,13843,0.7968934774398804,Cammeo +14729,496.9389953613281,209.52041625976562,90.88716125488281,0.9010156393051147,15131,0.6120761036872864,Cammeo +14242,495.739013671875,210.68092346191406,87.4284896850586,0.9098302721977234,14549,0.6409540772438049,Cammeo +13215,479.6099853515625,207.88800048828125,81.67606353759766,0.9195876717567444,13462,0.53667151927948,Cammeo +15568,519.4559936523438,222.22808837890625,90.8175277709961,0.9126830697059631,15984,0.7827048897743225,Cammeo +11332,449.260009765625,194.78192138671875,75.36934661865234,0.9221039414405823,11671,0.6736817359924316,Cammeo +13198,468.45599365234375,200.49114990234375,84.69168853759766,0.9063997268676758,13455,0.7319210171699524,Cammeo +12442,459.5350036621094,187.50885009765625,87.18730163574219,0.8853227496147156,12941,0.5875796675682068,Cammeo +14509,496.0660095214844,211.1375732421875,88.72329711914062,0.9074243307113647,14836,0.5582961440086365,Cammeo +16051,516.1740112304688,214.87718200683594,96.84510803222656,0.8926755785942078,16479,0.6796375513076782,Cammeo +14132,482.3689880371094,205.20066833496094,88.2963638305664,0.9026893973350525,14341,0.5860981941223145,Cammeo +14806,498.6319885253906,214.3899383544922,88.97662353515625,0.9098111987113953,15078,0.78338623046875,Cammeo +13662,476.3529968261719,204.18565368652344,85.61482238769531,0.9078482389450073,13894,0.674167275428772,Cammeo +16500,523.3460083007812,219.72413635253906,97.14173126220703,0.8969619870185852,16880,0.630637526512146,Cammeo +11702,432.77398681640625,177.724609375,84.66332244873047,0.8792428970336914,11975,0.597162663936615,Cammeo +13050,467.5220031738281,194.8988494873047,86.94762420654297,0.8949748277664185,13389,0.6197758316993713,Cammeo +15154,504.92999267578125,211.23309326171875,92.50810241699219,0.8990026712417603,15598,0.5750607252120972,Cammeo +14340,477.89599609375,196.47506713867188,94.2577896118164,0.8774083256721497,14700,0.6081424951553345,Cammeo +13451,485.5589904785156,205.9496612548828,84.31605529785156,0.9123544096946716,13862,0.5999553799629211,Cammeo +13959,477.26300048828125,200.49440002441406,89.4598388671875,0.8949351906776428,14242,0.7157360315322876,Cammeo +13491,475.3450012207031,198.66233825683594,87.65083312988281,0.897406280040741,13812,0.6988344788551331,Cammeo +13621,478.75299072265625,200.04331970214844,88.05669403076172,0.8979055881500244,14068,0.6245872974395752,Cammeo +16413,510.1099853515625,210.55511474609375,100.12189483642578,0.8797081708908081,16665,0.5998903512954712,Cammeo +13924,498.56201171875,212.0615692138672,84.91075134277344,0.916337788105011,14444,0.5474992394447327,Cammeo +13289,467.31500244140625,194.88418579101562,87.81411743164062,0.892727792263031,13628,0.6953950524330139,Cammeo +14403,491.05999755859375,207.68057250976562,89.8433609008789,0.9015842080116272,14708,0.5968918204307556,Cammeo +13764,479.47900390625,199.29568481445312,89.99370574951172,0.8922414183616638,14167,0.7771441340446472,Cammeo +14972,501.8659973144531,208.8384246826172,92.8932113647461,0.8956254720687866,15476,0.7270784974098206,Cammeo +15135,506.43499755859375,208.72265625,93.81930541992188,0.893284022808075,15656,0.5745141506195068,Cammeo +13484,468.8689880371094,195.4233856201172,88.78388977050781,0.8908408284187317,13786,0.724012017250061,Cammeo +11815,456.6029968261719,200.11070251464844,75.79281616210938,0.9254972338676453,12108,0.7337597608566284,Cammeo +14434,488.2869873046875,201.6492462158203,92.5337142944336,0.888495922088623,14826,0.7077571749687195,Cammeo +15389,521.3040161132812,226.96099853515625,87.38693237304688,0.922903835773468,15753,0.5746452808380127,Cammeo +14434,477.6189880371094,200.38987731933594,92.38155364990234,0.887395441532135,14660,0.7834346294403076,Cammeo +13933,483.9320068359375,207.2059326171875,86.29931640625,0.9091400504112244,14238,0.5883868336677551,Cammeo +14404,486.4840087890625,206.7757568359375,89.4742660522461,0.9015324115753174,14658,0.7945719361305237,Cammeo +14038,496.61199951171875,211.5649871826172,86.052490234375,0.9135428071022034,14389,0.5401723980903625,Cammeo +14759,483.2669982910156,203.9658660888672,92.55145263671875,0.8911241888999939,15002,0.7850531935691833,Cammeo +13429,491.37701416015625,208.90878295898438,83.84211730957031,0.9159319400787354,13837,0.5330660343170166,Cammeo +14560,493.9289855957031,209.5088348388672,89.21788787841797,0.9047970175743103,14971,0.6316977143287659,Cammeo +14623,499.31298828125,208.22837829589844,91.47314453125,0.898344099521637,15085,0.5835661292076111,Cammeo +14461,483.5660095214844,202.35305786132812,91.65203857421875,0.8915454149246216,14718,0.7454123497009277,Cammeo +15126,500.114013671875,209.16680908203125,93.814208984375,0.8937758803367615,15496,0.7060306072235107,Cammeo +15594,515.6610107421875,216.53427124023438,93.27998352050781,0.9024540185928345,16029,0.6666666865348816,Cammeo +13887,483.1679992675781,203.4208526611328,88.11791229248047,0.9013072848320007,14240,0.6843920946121216,Cammeo +15241,511.0610046386719,215.36917114257812,91.27434539794922,0.9057538509368896,15604,0.5432349443435669,Cammeo +14101,479.3160095214844,199.08714294433594,90.9801254272461,0.8894736766815186,14383,0.6196879744529724,Cammeo +15026,504.47198486328125,212.47598266601562,91.13345336914062,0.9033464193344116,15285,0.7224038243293762,Cammeo +13467,478.24700927734375,204.718505859375,85.14571380615234,0.9094030261039734,13732,0.547773003578186,Cammeo +13871,496.5790100097656,212.57080078125,83.77423858642578,0.9190673828125,14344,0.5278158187866211,Cammeo +15830,516.2319946289062,220.81924438476562,92.34398651123047,0.9083604216575623,16074,0.7014356851577759,Cammeo +14621,501.82501220703125,210.91648864746094,89.62992858886719,0.9052146673202515,15175,0.6890847682952881,Cammeo +13855,487.83099365234375,207.1084442138672,86.0237045288086,0.9096590280532837,14214,0.5515525341033936,Cammeo +11783,453.1050109863281,192.68429565429688,79.1737060546875,0.911681056022644,12102,0.6704409718513489,Cammeo +11739,448.6050109863281,187.68576049804688,80.84974670410156,0.9024608731269836,12118,0.5470176935195923,Cammeo +11538,446.85699462890625,189.68528747558594,78.97428894042969,0.909207284450531,11852,0.5799447298049927,Cammeo +13244,461.9389953613281,194.1837615966797,87.82101440429688,0.8918875455856323,13476,0.7112782001495361,Cammeo +13820,489.9419860839844,207.0041046142578,86.23710632324219,0.9090917110443115,14195,0.6394003629684448,Cammeo +12950,464.8869934082031,194.4283905029297,85.82198333740234,0.8973072171211243,13288,0.6002039313316345,Cammeo +15600,502.8429870605469,205.2755126953125,99.05281066894531,0.8758761882781982,16130,0.7214206457138062,Cammeo +13121,475.9100036621094,202.6862335205078,83.13021850585938,0.9120215177536011,13439,0.5719703435897827,Cammeo +14586,489.54400634765625,206.59869384765625,91.26046752929688,0.8971489071846008,14897,0.7955710887908936,Cammeo +13450,465.39801025390625,193.37496948242188,89.50689697265625,0.8864277005195618,13661,0.615786075592041,Cammeo +14251,492.0320129394531,202.8476104736328,91.00605010986328,0.8937113285064697,14658,0.5603790879249573,Cammeo +15161,498.7909851074219,208.25204467773438,93.86026000976562,0.8926728963851929,15541,0.6405695676803589,Cammeo +13476,478.2829895019531,199.0232696533203,87.9296646118164,0.897110641002655,13931,0.5991730093955994,Cammeo +14423,507.0820007324219,221.53347778320312,83.90892028808594,0.9254932403564453,14703,0.542218029499054,Cammeo +13580,464.35699462890625,190.38063049316406,91.37226867675781,0.8772984743118286,13781,0.6273096799850464,Cammeo +12974,469.27301025390625,197.63316345214844,84.73211669921875,0.9034306406974792,13219,0.6864550113677979,Cammeo +11995,477.4110107421875,216.4877471923828,70.77008056640625,0.9450585842132568,12168,0.6660558581352234,Cammeo +14244,488.0660095214844,199.89988708496094,92.31539916992188,0.8869798183441162,14691,0.6163299083709717,Cammeo +12844,454.8370056152344,191.9801788330078,85.41941833496094,0.8955609798431396,13043,0.6178861856460571,Cammeo +13424,481.17498779296875,195.9000244140625,89.30523681640625,0.8900455832481384,13950,0.6585557460784912,Cammeo +14035,480.6289978027344,199.1483917236328,91.41089630126953,0.8884316086769104,14422,0.7162907123565674,Cammeo +14162,480.25299072265625,202.8959197998047,89.4875259399414,0.8974818587303162,14414,0.5840240716934204,Cammeo +14143,481.9079895019531,199.99072265625,91.09355926513672,0.8902414441108704,14450,0.5842283368110657,Cammeo +14272,487.7030029296875,207.79873657226562,88.0671615600586,0.9057511687278748,14510,0.5830065608024597,Cammeo +14205,487.35101318359375,204.33224487304688,89.6342544555664,0.8986486196517944,14637,0.773692786693573,Cammeo +13226,480.1570129394531,202.7484130859375,84.34415435791016,0.90936279296875,13617,0.70704585313797,Cammeo +14399,492.3389892578125,210.13990783691406,88.10236358642578,0.9078681468963623,14636,0.5491818785667419,Cammeo +14561,493.5299987792969,208.69296264648438,89.70529174804688,0.9029034376144409,14986,0.7720572352409363,Cammeo +12968,469.34100341796875,199.905029296875,83.03522491455078,0.9096510410308838,13243,0.6412500739097595,Cammeo +12029,441.739990234375,181.79627990722656,85.41960144042969,0.8827385902404785,12275,0.5965582132339478,Cammeo +13450,470.97601318359375,200.60816955566406,85.92671966552734,0.9036218523979187,13728,0.5637521743774414,Cammeo +15809,521.4970092773438,224.5216522216797,90.60511779785156,0.9149587750434875,16150,0.5646071434020996,Cammeo +13205,475.6000061035156,197.54896545410156,86.34487915039062,0.8994221687316895,13607,0.691107988357544,Cammeo +14031,494.2650146484375,213.7095184326172,84.46609497070312,0.9185788035392761,14265,0.7388625741004944,Cammeo +15811,514.3779907226562,218.7313690185547,93.16437530517578,0.9047558307647705,16135,0.8186713457107544,Cammeo +14693,484.56298828125,199.6199951171875,94.80760955810547,0.8800179362297058,15034,0.6091625094413757,Cammeo +15209,517.68798828125,221.2523956298828,89.17511749267578,0.9151792526245117,15653,0.6352965831756592,Cammeo +13468,475.39801025390625,199.7535858154297,87.04467010498047,0.9000627994537354,13817,0.5700740814208984,Cammeo +16505,516.2210083007812,212.8531036376953,99.69015502929688,0.883542001247406,16820,0.5884135365486145,Cammeo +12422,482.197998046875,209.213623046875,76.8370361328125,0.9301159977912903,12783,0.49807536602020264,Cammeo +14316,488.9859924316406,204.4242706298828,90.14910125732422,0.897511899471283,14731,0.5641773343086243,Cammeo +14839,504.0840148925781,211.36959838867188,91.34764099121094,0.901792049407959,15274,0.6263824105262756,Cammeo +13269,470.635009765625,197.38409423828125,86.42864990234375,0.8990381360054016,13626,0.5663252472877502,Cammeo +13913,474.4519958496094,199.117431640625,89.71703338623047,0.8927393555641174,14164,0.6731011271476746,Cammeo +12411,466.02801513671875,204.51339721679688,78.29598236083984,0.9238145351409912,12707,0.5305659770965576,Cammeo +12602,465.9169921875,194.45513916015625,84.8320083618164,0.8998231291770935,13039,0.6502580046653748,Cammeo +12820,467.3529968261719,197.33740234375,83.9720687866211,0.904946506023407,13104,0.5568344593048096,Cammeo +15087,510.6050109863281,218.17434692382812,89.15250396728516,0.9127002954483032,15506,0.5494973659515381,Cammeo +11161,433.8299865722656,182.0749053955078,78.95067596435547,0.9010975360870361,11490,0.6112267374992371,Cammeo +16037,523.9140014648438,223.0234375,92.54743957519531,0.9098362922668457,16404,0.8010489344596863,Cammeo +15809,517.2329711914062,222.42066955566406,91.56285858154297,0.9113351106643677,16025,0.5568902492523193,Cammeo +11803,463.8089904785156,201.65069580078125,76.42430877685547,0.9253993034362793,12138,0.5494878888130188,Cammeo +14620,493.9440002441406,212.26605224609375,88.77167510986328,0.9083505868911743,14931,0.7241926193237305,Cammeo +15936,522.7670288085938,224.6175079345703,91.12374114990234,0.9140133857727051,16298,0.6090812087059021,Cammeo +15557,514.5369873046875,214.0751190185547,93.85389709472656,0.8987722992897034,15942,0.6955646872520447,Cammeo +15042,504.7200012207031,214.52120971679688,90.20870971679688,0.907287061214447,15375,0.6956160068511963,Cammeo +12861,455.8659973144531,191.82275390625,86.29828643798828,0.8930861949920654,13058,0.5867244601249695,Cammeo +13877,489.62298583984375,205.14512634277344,86.93637084960938,0.9057652354240417,14176,0.5638077259063721,Cammeo +13503,477.2439880371094,201.1717071533203,87.36241912841797,0.9007837772369385,13743,0.5631881952285767,Cammeo +14254,491.260986328125,207.76718139648438,88.61370086669922,0.904485285282135,14607,0.5696131587028503,Cammeo +14061,470.7489929199219,190.29000854492188,95.00540161132812,0.8664485812187195,14347,0.6180115938186646,Cammeo +15311,507.9949951171875,215.14144897460938,91.6197509765625,0.904789924621582,15690,0.7044074535369873,Cammeo +14227,490.5039978027344,206.49131774902344,88.69171905517578,0.9030583500862122,14529,0.6871287226676941,Cammeo +13867,494.65301513671875,213.1222381591797,84.20591735839844,0.9186354875564575,14200,0.5335924029350281,Cammeo +13639,482.4150085449219,200.73622131347656,87.73310089111328,0.899433970451355,14042,0.7302955389022827,Cammeo +14998,496.90399169921875,215.9502716064453,89.39608764648438,0.9102923274040222,15279,0.8248363733291626,Cammeo +16005,518.8930053710938,221.2155303955078,93.1329574584961,0.90705806016922,16343,0.5510414838790894,Cammeo +12536,475.14599609375,205.7659454345703,78.26070404052734,0.9248473644256592,12798,0.6949002146720886,Cammeo +14268,485.6340026855469,202.2508544921875,91.0527114868164,0.8929293155670166,14586,0.6169946193695068,Cammeo +15290,501.0570068359375,209.3677520751953,94.17389678955078,0.8931286334991455,15582,0.7578310966491699,Cammeo +15373,522.2109985351562,229.4937286376953,86.34156799316406,0.9265277981758118,15757,0.6716033220291138,Cammeo +15609,492.6629943847656,202.23016357421875,99.01204681396484,0.8719467520713806,15884,0.6810209155082703,Cammeo +15256,495.77099609375,209.62132263183594,93.42301940917969,0.8951947689056396,15449,0.5749821066856384,Cammeo +16625,535.989013671875,229.79359436035156,93.0896224975586,0.9142719507217407,16951,0.6541412472724915,Cammeo +14817,502.6440124511719,214.59085083007812,89.05412292480469,0.9098237156867981,15275,0.7979857921600342,Cammeo +14198,485.90301513671875,205.10435485839844,89.31971740722656,0.9001963138580322,14414,0.5658377408981323,Cammeo +14825,499.94000244140625,210.27120971679688,91.82390594482422,0.8996107578277588,15274,0.7747178077697754,Cammeo +14470,489.7860107421875,207.36265563964844,89.8126449584961,0.9013369083404541,14724,0.6196206212043762,Cammeo +12279,462.0060119628906,197.84625244140625,80.54206085205078,0.9133861660957336,12619,0.6369436383247375,Cammeo +14828,494.2560119628906,209.66268920898438,90.79800415039062,0.9013617038726807,15038,0.5709225535392761,Cammeo +13858,475.3689880371094,201.44203186035156,87.92324829101562,0.8997191786766052,14083,0.7785392999649048,Cammeo +17437,536.8989868164062,230.25746154785156,97.31147766113281,0.9063068628311157,17650,0.7591536641120911,Cammeo +15265,505.0989990234375,211.44300842285156,93.12213897705078,0.897795557975769,15639,0.7413073182106018,Cammeo +14953,503.75201416015625,217.1036834716797,88.61492156982422,0.9129065275192261,15229,0.7231357097625732,Cammeo +12243,449.6239929199219,191.07899475097656,82.63934326171875,0.9016397595405579,12464,0.7997256517410278,Cammeo +16453,523.8740234375,222.31219482421875,96.17852020263672,0.9015724658966064,16803,0.7547247409820557,Cammeo +16386,515.0969848632812,208.953125,100.7425765991211,0.8760996460914612,16813,0.6075639724731445,Cammeo +14204,482.1700134277344,201.07388305664062,91.0908432006836,0.8914994597434998,14523,0.6160117983818054,Cammeo +13589,483.8840026855469,205.35475158691406,85.41032409667969,0.9094030261039734,13883,0.5457429885864258,Cammeo +14439,492.5530090332031,211.85214233398438,87.4346694946289,0.9108599424362183,14614,0.5727943778038025,Cammeo +13982,495.34100341796875,214.1675567626953,84.77728271484375,0.9183170795440674,14298,0.7814666032791138,Cammeo +14410,477.6619873046875,197.17637634277344,93.66033935546875,0.879981517791748,14645,0.6572705507278442,Cammeo +12244,455.2749938964844,192.50738525390625,81.42861938476562,0.9061345458030701,12480,0.5752407908439636,Cammeo +14070,484.21600341796875,203.28004455566406,89.09188079833984,0.8988425731658936,14448,0.5673387050628662,Cammeo +14687,498.3909912109375,210.5804443359375,90.29588317871094,0.9034017324447632,14977,0.5661039352416992,Cammeo +11735,453.51800537109375,194.10484313964844,78.0198745727539,0.9156628847122192,11956,0.7153307199478149,Cammeo +12835,481.50299072265625,212.53753662109375,77.45262145996094,0.9312352538108826,13055,0.5119460821151733,Cammeo +14853,488.5610046386719,201.56312561035156,95.47245025634766,0.8807076215744019,15224,0.6785290241241455,Cammeo +15061,497.3590087890625,207.65042114257812,93.05584716796875,0.8939648866653442,15327,0.7167809009552002,Cammeo +13385,460.82501220703125,192.64614868164062,89.71348571777344,0.8849475979804993,13595,0.6127540469169617,Cammeo +12555,444.5799865722656,184.82533264160156,87.36722564697266,0.8812225461006165,12773,0.6522077918052673,Cammeo +16067,526.4249877929688,228.9422607421875,90.14622497558594,0.9192171692848206,16370,0.555855393409729,Cammeo +15105,503.2919921875,215.58267211914062,89.79667663574219,0.9091219305992126,15327,0.6004770398139954,Cammeo +13434,455.822998046875,184.1703338623047,93.38285064697266,0.8619189858436584,13686,0.6358386874198914,Cammeo +14961,502.90899658203125,215.1925048828125,89.2314224243164,0.9099770784378052,15218,0.6753182411193848,Cammeo +12429,469.6080017089844,202.4146728515625,78.8898696899414,0.9209232926368713,12714,0.5568548440933228,Cammeo +13002,460.12701416015625,191.42420959472656,87.7746353149414,0.8886765241622925,13325,0.6794523596763611,Cammeo +15147,510.0159912109375,213.1561737060547,91.69268798828125,0.9027494788169861,15719,0.5887359976768494,Cammeo +15055,508.2760009765625,218.9765167236328,88.49114990234375,0.9147092700004578,15361,0.6862208843231201,Cammeo +13540,458.5299987792969,189.1114044189453,92.39390563964844,0.8725254535675049,13710,0.7999527454376221,Cammeo +11962,449.4419860839844,192.0889129638672,80.96472930908203,0.9068301916122437,12171,0.5389016270637512,Cammeo +12692,443.14300537109375,182.93283081054688,88.95259857177734,0.87381511926651,12849,0.6382379531860352,Cammeo +11859,444.8009948730469,183.55276489257812,83.57420349121094,0.8903307914733887,12213,0.7631273865699768,Cammeo +13627,476.989013671875,201.19451904296875,86.95225524902344,0.9017873406410217,13926,0.7805590629577637,Cammeo +13982,479.7850036621094,204.54238891601562,88.27964782714844,0.9020670652389526,14221,0.7729132175445557,Cammeo +14870,506.5610046386719,214.9312286376953,89.40025329589844,0.9093883037567139,15202,0.5797271132469177,Cammeo +14263,490.7510070800781,203.7784423828125,90.26588439941406,0.8965409398078918,14779,0.7315484285354614,Cammeo +13954,481.2879943847656,204.77745056152344,87.50462341308594,0.9041024446487427,14277,0.5811260938644409,Cammeo +13425,477.197998046875,199.75636291503906,86.6409683227539,0.9010413289070129,13784,0.6116730570793152,Cammeo +14057,463.1419982910156,189.7926025390625,95.08885192871094,0.8654388785362244,14259,0.626119077205658,Cammeo +17198,520.9920043945312,209.97021484375,105.67058563232422,0.8641323447227478,17586,0.6061609983444214,Cammeo +14675,493.9289855957031,199.23362731933594,95.68336486816406,0.8771277666091919,15317,0.616855800151825,Cammeo +12291,440.9570007324219,186.18777465820312,84.68074035644531,0.8905866146087646,12476,0.730172872543335,Cammeo +15072,487.5849914550781,202.49473571777344,95.35527038574219,0.8821852803230286,15267,0.7905586361885071,Cammeo +16390,502.6780090332031,207.0486602783203,101.51714324951172,0.8715505003929138,16635,0.7145037055015564,Cammeo +13142,464.6510009765625,194.7449951171875,86.58729553222656,0.8957198858261108,13406,0.6613325476646423,Cammeo +12759,463.6409912109375,200.95745849609375,81.2090835571289,0.9147100448608398,12993,0.7789377570152283,Cammeo +16944,543.1259765625,236.12521362304688,92.6810302734375,0.9197486042976379,17189,0.651943027973175,Cammeo +15510,507.3190002441406,215.95481872558594,92.47437286376953,0.9036784768104553,15862,0.599536120891571,Cammeo +12859,445.010009765625,184.30517578125,89.47380828857422,0.8742557764053345,13030,0.7104420065879822,Cammeo +14470,486.260009765625,208.3336639404297,89.34396362304688,0.9033755660057068,14657,0.576539933681488,Cammeo +17079,520.4500122070312,216.1599884033203,101.76249694824219,0.8822538256645203,17418,0.7943720817565918,Cammeo +13858,475.9570007324219,205.8739013671875,86.04458618164062,0.9084709286689758,14042,0.6512218117713928,Cammeo +12324,449.1520080566406,190.39248657226562,83.20513916015625,0.899452269077301,12595,0.7671335339546204,Cammeo +17263,520.302978515625,215.00440979003906,103.36721801757812,0.8768479228019714,17565,0.6618741154670715,Cammeo +16079,522.7589721679688,223.40591430664062,92.64324951171875,0.9099646806716919,16392,0.641722559928894,Cammeo +14806,481.9119873046875,198.24391174316406,95.78669738769531,0.8755232691764832,15162,0.7010416388511658,Cammeo +14957,505.11700439453125,213.04562377929688,90.70896911621094,0.9048302173614502,15347,0.6541152596473694,Cammeo +15460,507.0769958496094,213.57232666015625,93.55609893798828,0.8989489078521729,15819,0.5822098255157471,Cammeo +12716,444.1080017089844,186.89639282226562,87.27814483642578,0.8842642903327942,12872,0.7473844885826111,Cammeo +16798,529.0770263671875,222.796630859375,97.68342590332031,0.8987594246864319,17173,0.6381734013557434,Cammeo +14015,475.7239990234375,195.32164001464844,92.48479461669922,0.8807938098907471,14492,0.7486245632171631,Cammeo +14927,502.01800537109375,212.02854919433594,90.8161392211914,0.9036269783973694,15392,0.5949856638908386,Cammeo +15158,513.7260131835938,218.82000732421875,89.37168884277344,0.9127916097640991,15591,0.7017592787742615,Cammeo +14676,481.6310119628906,202.40206909179688,92.94723510742188,0.8883221745491028,14936,0.6505318880081177,Cammeo +15094,513.9240112304688,224.7196502685547,86.43656158447266,0.9230659008026123,15292,0.7941702604293823,Cammeo +18913,541.7459716796875,227.13548278808594,106.94835662841797,0.8822094798088074,19099,0.8041241765022278,Cammeo +14013,480.83099365234375,191.84507751464844,94.87568664550781,0.8691530227661133,14622,0.6259156465530396,Cammeo +16176,522.9910278320312,221.92739868164062,93.98418426513672,0.9059004783630371,16639,0.6023459434509277,Cammeo +15904,511.0220031738281,214.35055541992188,96.21209716796875,0.89360511302948,16248,0.7178515195846558,Cammeo +16580,530.094970703125,226.4449462890625,94.47407531738281,0.9088121652603149,16928,0.5961884260177612,Cammeo +15915,528.156982421875,231.594482421875,88.5710220336914,0.9239802956581116,16251,0.8130268454551697,Cammeo +15007,500.3070068359375,210.71775817871094,92.17046356201172,0.8992612361907959,15431,0.5807662606239319,Cammeo +14892,486.3349914550781,203.06918334960938,94.12496185302734,0.8860907554626465,15111,0.7921276688575745,Cammeo +12239,473.5140075683594,208.0478973388672,75.60643768310547,0.9316297769546509,12622,0.5171990990638733,Cammeo +17335,544.093017578125,239.010498046875,92.99298095703125,0.9212061166763306,17526,0.8210970163345337,Cammeo +16788,533.4879760742188,230.12933349609375,93.76287841796875,0.9132339358329773,17041,0.5726761221885681,Cammeo +14968,514.801025390625,220.2239990234375,87.73534393310547,0.9172155261039734,15438,0.7409167289733887,Cammeo +17425,541.802978515625,232.05755615234375,96.44174194335938,0.9095501899719238,17758,0.7039550542831421,Cammeo +16570,519.1229858398438,221.0144805908203,96.22779083251953,0.9002413153648376,16757,0.5923357605934143,Cammeo +13352,514.4869995117188,232.48020935058594,73.98676300048828,0.9480069279670715,13585,0.5928162336349487,Cammeo +14824,513.2169799804688,220.1602020263672,86.8072509765625,0.9189855456352234,15150,0.5683613419532776,Cammeo +15786,500.8609924316406,205.4672393798828,98.816650390625,0.8767555356025696,16127,0.6109133362770081,Cammeo +14571,489.4330139160156,206.7878875732422,90.45136260986328,0.8992615342140198,14839,0.6055102944374084,Cammeo +14601,476.22601318359375,192.60653686523438,97.93213653564453,0.8610873818397522,14815,0.6278379559516907,Cammeo +15581,517.3319702148438,221.95938110351562,90.30760955810547,0.9134880900382996,15901,0.5540896058082581,Cammeo +12930,474.0780029296875,205.35633850097656,80.71208190917969,0.9195238351821899,13181,0.7406346797943115,Cammeo +16505,506.89599609375,207.34584045410156,103.24419403076172,0.8672158718109131,16782,0.778170645236969,Cammeo +16006,528.176025390625,222.67190551757812,93.09613037109375,0.9084072113037109,16466,0.6118501424789429,Cammeo +14477,499.4700012207031,217.10546875,85.79216766357422,0.9186108112335205,14726,0.5755118131637573,Cammeo +15071,494.135009765625,200.59483337402344,97.3932876586914,0.8742242455482483,15575,0.6892120838165283,Cammeo +14181,485.2449951171875,206.8582763671875,87.94334411621094,0.9051284790039062,14423,0.647830069065094,Cammeo +13680,473.08599853515625,194.9403839111328,91.22505187988281,0.8837476372718811,14077,0.7794871926307678,Cammeo +15551,515.7839965820312,215.08973693847656,93.75079345703125,0.9000104665756226,15908,0.5656554698944092,Cammeo +16865,517.7470092773438,210.4794464111328,103.80493927001953,0.8699254393577576,17234,0.6502043604850769,Cammeo +16258,533.3410034179688,229.1129913330078,91.12013244628906,0.9175119400024414,16705,0.5708166360855103,Cammeo +15133,503.218994140625,216.5750274658203,89.47614288330078,0.910666823387146,15359,0.5926143527030945,Cammeo +15742,499.98199462890625,209.39419555664062,96.45911407470703,0.8875777125358582,15950,0.7566086649894714,Cammeo +12181,456.93798828125,194.85516357421875,80.28486633300781,0.9111733436584473,12489,0.5848938822746277,Cammeo +16679,528.552001953125,222.7795867919922,96.64006805419922,0.9010128974914551,17006,0.5691714286804199,Cammeo +16862,519.4710083007812,219.6599578857422,98.39157104492188,0.8940702676773071,17104,0.6122730374336243,Cammeo +13013,470.95599365234375,197.69464111328125,84.80590057373047,0.9033167362213135,13376,0.5756436586380005,Cammeo +15042,502.2139892578125,212.09437561035156,91.29269409179688,0.9026219248771667,15416,0.7021097540855408,Cammeo +15486,492.6940002441406,204.37213134765625,97.6780014038086,0.878391444683075,15688,0.6011645793914795,Cammeo +13109,484.9930114746094,204.72830200195312,82.84823608398438,0.9144610166549683,13497,0.5251161456108093,Cammeo +14759,493.8039855957031,207.78457641601562,91.68565368652344,0.8973825573921204,15106,0.7058683037757874,Cammeo +11396,446.2829895019531,192.23240661621094,76.52645874023438,0.917344868183136,11692,0.6451539993286133,Cammeo +14324,487.25299072265625,195.9451446533203,94.84135437011719,0.8750569820404053,14822,0.7574027180671692,Cammeo +14850,500.2980041503906,213.07789611816406,89.35130310058594,0.9078309535980225,15124,0.5802140831947327,Cammeo +13909,475.6180114746094,199.60726928710938,89.94419860839844,0.892723023891449,14241,0.7278769016265869,Cammeo +15454,500.8970031738281,208.54159545898438,95.32327270507812,0.8894180059432983,15773,0.583433985710144,Cammeo +14938,502.68701171875,209.6447296142578,92.03596496582031,0.8984825611114502,15331,0.6352000832557678,Cammeo +11966,456.84600830078125,194.270263671875,79.3506851196289,0.912778377532959,12337,0.5745978355407715,Cammeo +15644,501.114013671875,210.3576202392578,95.27698516845703,0.8915467858314514,15858,0.7879123687744141,Cammeo +15552,492.98199462890625,198.20626831054688,101.64401245117188,0.8584965467453003,15936,0.6274510025978088,Cammeo +15807,513.510986328125,219.29632568359375,92.29656982421875,0.9071182012557983,16078,0.780978262424469,Cammeo +13824,491.6199951171875,206.38902282714844,86.8548812866211,0.9071391224861145,14268,0.6338667273521423,Cammeo +13282,470.25799560546875,199.7113800048828,85.10118103027344,0.9046662449836731,13513,0.6716221570968628,Cammeo +14332,497.1409912109375,206.54681396484375,90.75944519042969,0.898284912109375,14830,0.5665717720985413,Cammeo +13779,481.97601318359375,200.47857666015625,88.84671020507812,0.8964360952377319,14192,0.5719800591468811,Cammeo +13644,473.1780090332031,200.29051208496094,87.84367370605469,0.8986915349960327,13859,0.6767857074737549,Cammeo +13809,489.0220031738281,213.82554626464844,82.49403381347656,0.9225821495056152,14070,0.8057532906532288,Cammeo +13726,484.24700927734375,209.70306396484375,83.88441467285156,0.9165084958076477,13969,0.5555960536003113,Cammeo +14266,486.4779968261719,207.72604370117188,88.09992218017578,0.9056079387664795,14485,0.603851854801178,Cammeo +13200,477.85101318359375,202.59695434570312,83.68836975097656,0.9106956124305725,13585,0.6413994431495667,Cammeo +16146,509.3320007324219,213.62002563476562,96.6488037109375,0.8917982578277588,16404,0.5967622995376587,Cammeo +12820,459.1709899902344,193.70509338378906,84.8340835571289,0.8989970088005066,13002,0.5961681604385376,Cammeo +12575,456.75299072265625,188.6798553466797,85.98197174072266,0.8901318907737732,12936,0.7392710447311401,Cammeo +14057,483.4800109863281,201.57481384277344,89.90643310546875,0.8950228691101074,14388,0.5672720074653625,Cammeo +14305,490.1820068359375,206.8847198486328,88.67579650878906,0.9034829139709473,14695,0.6541820764541626,Cammeo +12626,455.2969970703125,188.6578826904297,86.60137939453125,0.8884159922599792,12911,0.7338991165161133,Cammeo +15655,488.90301513671875,199.5566864013672,101.02620697021484,0.8623848557472229,15880,0.6337543725967407,Cammeo +11797,451.9599914550781,195.59365844726562,77.40120697021484,0.9183692336082458,11988,0.5701512694358826,Cammeo +15199,489.54400634765625,205.31573486328125,94.80870056152344,0.8869995474815369,15419,0.7639992237091064,Cammeo +12921,477.1210021972656,197.7001495361328,84.82759094238281,0.9032703042030334,13557,0.7239466309547424,Cammeo +13724,468.5719909667969,191.87159729003906,92.48851013183594,0.8761528730392456,14048,0.7407167553901672,Cammeo +13520,471.52899169921875,195.30615234375,89.44055938720703,0.8889776468276978,13950,0.5701273679733276,Cammeo +14261,496.3590087890625,208.8519744873047,88.2422103881836,0.9063578844070435,14763,0.6956585645675659,Cammeo +13567,481.0950012207031,206.62841796875,84.00917053222656,0.9136191010475159,13818,0.601107656955719,Cammeo +14850,499.2070007324219,210.13363647460938,91.14337158203125,0.9010380506515503,15327,0.5890052318572998,Cammeo +15522,507.24200439453125,213.6819305419922,94.90153503417969,0.8959647417068481,15782,0.7789040803909302,Cammeo +13241,466.989990234375,193.54421997070312,88.058349609375,0.8905026912689209,13577,0.5776546597480774,Cammeo +16063,520.7449951171875,217.913818359375,95.20046997070312,0.8995236158370972,16561,0.5567571520805359,Cammeo +13494,479.4460144042969,203.02734375,85.75126647949219,0.906426727771759,13842,0.7729407548904419,Cammeo +15569,504.7539978027344,214.50677490234375,93.19715881347656,0.9006854295730591,15815,0.7730387449264526,Cammeo +13621,477.5429992675781,200.9577178955078,87.28850555419922,0.9007381200790405,13956,0.7958980798721313,Cammeo +13875,490.8380126953125,207.13223266601562,87.32526397705078,0.9067856669425964,14243,0.5756306052207947,Cammeo +14265,480.927001953125,200.18844604492188,91.48053741455078,0.8894810080528259,14627,0.754562258720398,Cammeo +12612,463.5950012207031,197.6829376220703,82.37692260742188,0.9090384244918823,12919,0.5840511322021484,Cammeo +13268,473.4339904785156,200.70083618164062,84.70034790039062,0.906585156917572,13562,0.7162213325500488,Cammeo +14910,511.6000061035156,221.61228942871094,86.21698760986328,0.9212190508842468,15215,0.6996386647224426,Cammeo +14146,504.3559875488281,214.06288146972656,85.74496459960938,0.9162706732749939,14716,0.6252651810646057,Cammeo +13568,484.64801025390625,208.0720977783203,83.69619750976562,0.915531575679779,13962,0.7879210114479065,Cammeo +14212,484.9460144042969,205.00323486328125,89.6155014038086,0.8993925452232361,14502,0.7521964907646179,Cammeo +14458,475.04400634765625,196.98611450195312,93.99989318847656,0.8787999153137207,14669,0.6018900275230408,Cammeo +12734,470.614013671875,204.4029083251953,80.16529846191406,0.919883131980896,12982,0.7145903706550598,Cammeo +14753,489.5360107421875,207.46600341796875,92.00662994384766,0.8962852358818054,14984,0.804679811000824,Cammeo +13901,478.8489990234375,200.44190979003906,89.34198760986328,0.8951699137687683,14232,0.5685480833053589,Cammeo +14819,496.62298583984375,205.99134826660156,92.82656860351562,0.8927091360092163,15194,0.726421594619751,Cammeo +12006,467.6409912109375,207.447998046875,74.46878814697266,0.9333469271659851,12237,0.5487453937530518,Cammeo +15344,501.79998779296875,212.42269897460938,92.9614028930664,0.8991577625274658,15604,0.7942029237747192,Cammeo +12450,456.22100830078125,191.1428680419922,84.21341705322266,0.8977141380310059,12740,0.572150707244873,Cammeo +12817,460.552001953125,191.18788146972656,86.31359100341797,0.8922916054725647,13132,0.6023309230804443,Cammeo +14908,499.468994140625,209.11947631835938,92.06287384033203,0.8978798985481262,15324,0.7633384466171265,Cammeo +14980,503.8169860839844,214.18650817871094,89.89457702636719,0.9076617956161499,15361,0.7353951930999756,Cammeo +15213,495.4169921875,206.2999725341797,94.53257751464844,0.8888342976570129,15516,0.7013508081436157,Cammeo +12899,472.26300048828125,205.5205535888672,80.43336486816406,0.9202359318733215,13107,0.585918664932251,Cammeo +13263,487.8909912109375,214.42803955078125,79.64109802246094,0.9284682869911194,13491,0.6744470000267029,Cammeo +13988,491.489013671875,208.36463928222656,86.78496551513672,0.9091333150863647,14427,0.6131054162979126,Cammeo +13181,470.3890075683594,199.47207641601562,84.90553283691406,0.904887318611145,13429,0.7343584895133972,Cammeo +12220,465.6860046386719,200.17416381835938,79.0418472290039,0.9187389612197876,12588,0.5743830800056458,Cammeo +13834,480.27398681640625,202.77027893066406,87.72439575195312,0.9015718102455139,14151,0.7281052470207214,Cammeo +16249,512.7919921875,215.7268524169922,96.96568298339844,0.8932885527610779,16493,0.7371835708618164,Cammeo +11993,444.56500244140625,187.1829071044922,82.64057159423828,0.8972630500793457,12276,0.5873739123344421,Cammeo +14313,482.9750061035156,204.72007751464844,89.7869873046875,0.8986901044845581,14622,0.5732997059822083,Cammeo +14563,496.7760009765625,206.1271514892578,91.53044128417969,0.8960027694702148,15116,0.5910548567771912,Cammeo +14176,513.1489868164062,220.0369873046875,83.43087005615234,0.9253280758857727,14675,0.5437876582145691,Cammeo +14041,491.6610107421875,212.85693359375,84.56730651855469,0.9176903367042542,14289,0.7866106629371643,Cammeo +13022,467.0769958496094,194.75408935546875,86.67639923095703,0.8955029249191284,13355,0.5962454080581665,Cammeo +12796,471.2090148925781,203.92962646484375,80.33000946044922,0.919148862361908,13022,0.6840586066246033,Cammeo +13811,482.2980041503906,206.71475219726562,85.73661804199219,0.9099317193031311,14000,0.5559312701225281,Cammeo +13053,480.95098876953125,205.95242309570312,81.65559387207031,0.9180442690849304,13478,0.683582067489624,Cammeo +12879,469.13299560546875,200.79550170898438,82.0430908203125,0.912717878818512,13132,0.7691251039505005,Cammeo +14768,499.87701416015625,210.55880737304688,90.47418212890625,0.9029783606529236,15158,0.5831161737442017,Cammeo +12040,441.02301025390625,182.7528076171875,85.1511459350586,0.8848183155059814,12372,0.7474082708358765,Cammeo +13023,480.447998046875,205.3120880126953,82.03385162353516,0.9167084097862244,13444,0.6324300765991211,Cammeo +14712,496.0360107421875,212.73992919921875,89.09264373779297,0.9080846309661865,14925,0.7339485883712769,Cammeo +11353,431.47900390625,182.00241088867188,80.06295776367188,0.8980464935302734,11579,0.7166393399238586,Cammeo +15534,521.9299926757812,221.58566284179688,90.55494689941406,0.9126831889152527,16187,0.7083447575569153,Cammeo +13337,468.6210021972656,196.7711944580078,87.31040954589844,0.8961677551269531,13598,0.6944184303283691,Cammeo +10951,432.61199951171875,182.0443115234375,78.215576171875,0.9029948711395264,11242,0.5471122860908508,Cammeo +12590,461.1369934082031,195.53488159179688,82.96224212646484,0.9055293798446655,12915,0.676009476184845,Cammeo +12932,456.6549987792969,191.32862854003906,86.72583770751953,0.8913671374320984,13098,0.6630434989929199,Cammeo +11941,452.60198974609375,196.03004455566406,78.68724060058594,0.9159011244773865,12131,0.6513391137123108,Cammeo +13665,472.5159912109375,199.54421997070312,87.68463897705078,0.8982794880867004,13944,0.711422324180603,Cammeo +14272,491.4540100097656,210.5023193359375,87.93792724609375,0.9085607528686523,14545,0.8033774495124817,Cammeo +14874,487.5039978027344,204.91339111328125,92.88920593261719,0.8913531303405762,15065,0.6144757270812988,Cammeo +14418,480.322998046875,199.11843872070312,93.31120300292969,0.8833990097045898,14780,0.7585227489471436,Cammeo +12434,454.89300537109375,193.157958984375,82.85859680175781,0.9033196568489075,12652,0.703678548336029,Cammeo +13328,489.385986328125,217.28561401367188,78.70890808105469,0.9320859909057617,13530,0.7574448585510254,Cammeo +12104,441.7749938964844,182.46212768554688,85.51346588134766,0.88337641954422,12378,0.739130437374115,Cammeo +14398,487.7239990234375,210.09169006347656,87.59719848632812,0.9089305996894836,14654,0.7853168845176697,Cammeo +12352,453.135009765625,191.1118927001953,83.35073852539062,0.8998808860778809,12683,0.5784667134284973,Cammeo +14609,490.24700927734375,206.06227111816406,91.49974060058594,0.8960072994232178,14837,0.7196551561355591,Cammeo +12663,468.2239990234375,199.69749450683594,81.61620330810547,0.9126691222190857,12979,0.6233938932418823,Cammeo +13900,475.8890075683594,198.16893005371094,90.5426025390625,0.8895201086997986,14161,0.7172342538833618,Cammeo +14439,490.4700012207031,204.82806396484375,91.0484619140625,0.8957730531692505,14815,0.7913948893547058,Cammeo +14333,493.89898681640625,207.50994873046875,89.44615936279297,0.9023303389549255,14772,0.5597953200340271,Cammeo +13848,475.5899963378906,196.22555541992188,90.74702453613281,0.8866387009620667,14260,0.5863820910453796,Cammeo +13582,475.8559875488281,195.6396942138672,89.24896240234375,0.8898821473121643,13890,0.7218324542045593,Cammeo +14212,485.9859924316406,203.41848754882812,90.01188659667969,0.8967704176902771,14508,0.5732032060623169,Cammeo +15236,514.7930297851562,223.32785034179688,87.76150512695312,0.9195505976676941,15686,0.6562432646751404,Cammeo +14955,508.7170104980469,217.98155212402344,88.6121826171875,0.913645327091217,15363,0.5694106221199036,Cammeo +14364,497.1199951171875,212.0083465576172,87.53479766845703,0.9107837677001953,14805,0.6412500143051147,Cammeo +12975,463.85101318359375,196.42396545410156,85.06411743164062,0.9013632535934448,13358,0.6091263294219971,Cammeo +12579,452.2170104980469,191.24317932128906,84.36917114257812,0.8974276185035706,12889,0.6002863049507141,Cammeo +15982,523.1740112304688,220.01499938964844,94.2184829711914,0.903666615486145,16337,0.5692000985145569,Cammeo +10959,447.2330017089844,197.35841369628906,71.06098175048828,0.9329289197921753,11133,0.49741286039352417,Cammeo +13631,473.5469970703125,193.4940185546875,91.50906372070312,0.8811001777648926,14141,0.5802894830703735,Cammeo +14482,489.3179931640625,205.3863067626953,90.80043029785156,0.8969678282737732,14781,0.5689032077789307,Cammeo +14892,503.6470031738281,213.27195739746094,90.4786605834961,0.9055494070053101,15279,0.5939220190048218,Cammeo +14608,504.3059997558594,210.26992797851562,90.16651916503906,0.9033931493759155,15125,0.6351304054260254,Cammeo +12326,459.6820068359375,194.34097290039062,82.0794677734375,0.9064338803291321,12686,0.6193347573280334,Cammeo +13467,473.3009948730469,203.08192443847656,84.99755859375,0.9081991910934448,13753,0.7739655375480652,Cammeo +15158,505.2760009765625,209.4760284423828,93.92682647705078,0.8938383460044861,15586,0.6093668341636658,Cammeo +13132,471.8039855957031,199.55653381347656,84.98833465576172,0.9047768115997314,13423,0.7536730766296387,Cammeo +14178,488.8810119628906,207.39559936523438,88.0680923461914,0.905363142490387,14406,0.5577498078346252,Cammeo +15232,508.8169860839844,216.76290893554688,90.63308715820312,0.9083914160728455,15603,0.590822696685791,Cammeo +10885,434.27301025390625,191.09132385253906,73.5486068725586,0.9229636192321777,11024,0.7998971343040466,Cammeo +14802,497.8320007324219,209.61795043945312,91.14713287353516,0.9005149602890015,15208,0.6229798197746277,Cammeo +14889,499.20599365234375,210.3841552734375,91.71178436279297,0.8999828100204468,15221,0.6046294569969177,Cammeo +15547,501.80499267578125,208.49917602539062,95.807861328125,0.8881716132164001,15867,0.5982837080955505,Cammeo +11377,456.4540100097656,200.8426055908203,72.35116577148438,0.9328603744506836,11573,0.7522481083869934,Cammeo +12709,461.0119934082031,190.77874755859375,87.41279602050781,0.8888545632362366,13064,0.7869349718093872,Cammeo +12384,460.135986328125,190.87037658691406,85.09120178222656,0.8951295018196106,12811,0.6048351526260376,Cammeo +12219,438.281005859375,182.18772888183594,86.19641876220703,0.8809986710548401,12471,0.6017729640007019,Cammeo +13125,475.3550109863281,198.59844970703125,85.407958984375,0.9028034210205078,13575,0.5831778049468994,Cammeo +13014,459.5570068359375,193.65951538085938,86.19818878173828,0.8954799771308899,13253,0.67507004737854,Cammeo +13523,468.1669921875,195.4015350341797,88.65399932861328,0.8911536335945129,13811,0.6679344177246094,Cammeo +14851,517.3469848632812,217.69839477539062,88.81024932861328,0.9130038619041443,15256,0.7280615568161011,Cammeo +14467,498.6239929199219,213.5956268310547,86.99999237060547,0.9132892489433289,14857,0.7407578229904175,Cammeo +14560,501.2460021972656,212.10609436035156,89.3213119506836,0.9070066809654236,14988,0.6895571947097778,Cammeo +15007,506.5799865722656,217.26747131347656,88.55015563964844,0.9131771326065063,15314,0.7373722195625305,Cammeo +14500,504.0679931640625,218.905029296875,85.14116668701172,0.9212626218795776,14864,0.6198965311050415,Cammeo +13637,466.65301513671875,193.53421020507812,90.35423278808594,0.8843289017677307,13838,0.6916717290878296,Cammeo +16471,523.989013671875,219.86912536621094,96.81116485595703,0.8978444933891296,16844,0.7330217957496643,Cammeo +15452,513.2620239257812,220.03907775878906,90.55233764648438,0.9113969206809998,15775,0.7811931371688843,Cammeo +14041,481.947998046875,204.59848022460938,88.18790435791016,0.9023380279541016,14284,0.572307825088501,Cammeo +14865,495.0710144042969,202.86785888671875,94.2719497680664,0.8854700922966003,15235,0.6041945815086365,Cammeo +12720,461.8059997558594,197.94400024414062,82.811279296875,0.9082826375961304,12974,0.7567824721336365,Cammeo +12972,467.3800048828125,194.52908325195312,86.50667572021484,0.8956806063652039,13425,0.7746790051460266,Cammeo +12931,460.5350036621094,192.90802001953125,86.566650390625,0.8936594724655151,13302,0.6070607304573059,Cammeo +14017,474.30999755859375,198.33673095703125,90.86869049072266,0.8888730406761169,14320,0.7605534195899963,Cammeo +13269,491.89300537109375,212.57470703125,81.0641098022461,0.924433171749115,13728,0.6509517431259155,Cammeo +13734,487.8399963378906,213.2474365234375,83.18276977539062,0.9207825064659119,13941,0.8052298426628113,Cammeo +14549,488.9530029296875,206.69482421875,90.76068878173828,0.8984358310699463,14856,0.582472562789917,Cammeo +14831,493.760986328125,208.26853942871094,91.54232025146484,0.8982231020927429,15099,0.7902280688285828,Cammeo +13669,481.66900634765625,201.90663146972656,87.06825256347656,0.9022418856620789,14065,0.5583741664886475,Cammeo +13735,484.77099609375,204.81063842773438,86.75872039794922,0.9058471918106079,13960,0.5536966919898987,Cammeo +15583,504.1830139160156,207.84683227539062,96.91175842285156,0.8846449851989746,15906,0.6853888034820557,Cammeo +11856,456.4219970703125,201.0033721923828,75.42108154296875,0.9269345998764038,12027,0.716461181640625,Cammeo +12735,473.0509948730469,200.6844482421875,81.7311782836914,0.9133113026618958,13140,0.5376139879226685,Cammeo +14378,491.4800109863281,202.71188354492188,91.38580322265625,0.8926168084144592,14805,0.6402173042297363,Cammeo +14403,510.5589904785156,223.41207885742188,83.20211029052734,0.9280661344528198,14781,0.5987777709960938,Cammeo +12274,456.1239929199219,194.4873809814453,81.23902893066406,0.9085810780525208,12562,0.7096438407897949,Cammeo +12172,452.3290100097656,193.69253540039062,80.80777740478516,0.9088164567947388,12430,0.6780303120613098,Cammeo +14085,489.4549865722656,200.52655029296875,91.23562622070312,0.8905014991760254,14670,0.627170741558075,Cammeo +12410,463.489990234375,195.17149353027344,82.36030578613281,0.9066007137298584,12849,0.5640909075737,Cammeo +13196,474.9880065917969,199.98130798339844,85.65816497802734,0.9036219716072083,13463,0.5564645528793335,Cammeo +13455,467.197998046875,195.92857360839844,88.51917266845703,0.892122745513916,13723,0.7535282373428345,Cammeo +12593,463.3689880371094,195.75762939453125,83.07966613769531,0.9054744839668274,12907,0.697750449180603,Cammeo +14608,498.35198974609375,210.69137573242188,89.91736602783203,0.9043588638305664,14951,0.6598012447357178,Cammeo +12939,469.4809875488281,202.04331970214844,83.09899139404297,0.911503255367279,13165,0.6577034592628479,Cammeo +13193,469.4150085449219,201.6045684814453,83.729736328125,0.9096769094467163,13535,0.7359290719032288,Cammeo +11883,448.21600341796875,191.74635314941406,79.46400451660156,0.91008460521698,12103,0.5503172278404236,Cammeo +13501,485.7560119628906,205.77101135253906,84.90839385986328,0.9108963012695312,13896,0.6585211157798767,Cammeo +12202,442.36199951171875,180.03778076171875,87.39917755126953,0.8742649555206299,12521,0.7791826128959656,Cammeo +13273,463.3330078125,197.45278930664062,85.99746704101562,0.9001721143722534,13462,0.5858233571052551,Cammeo +12899,468.3890075683594,201.04827880859375,82.38740539550781,0.9121802449226379,13132,0.7004995942115784,Cammeo +13885,479.2879943847656,198.09417724609375,90.59051513671875,0.8893071413040161,14271,0.7871315479278564,Cammeo +13574,473.22100830078125,197.87277221679688,88.44189453125,0.8945522308349609,13879,0.6412509679794312,Cammeo +14913,502.8680114746094,215.6001434326172,88.82379913330078,0.9111911058425903,15300,0.6927257776260376,Cammeo +16582,532.3579711914062,223.3588409423828,95.74971771240234,0.9034558534622192,17089,0.714310348033905,Cammeo +12467,467.20599365234375,199.80615234375,80.19140625,0.9159265160560608,12900,0.7870580554008484,Cammeo +13167,466.66400146484375,197.12506103515625,86.2164077758789,0.8992820978164673,13448,0.5809910297393799,Cammeo +13062,469.42401123046875,200.6288299560547,83.27462005615234,0.9097903370857239,13279,0.6632140278816223,Cammeo +14677,498.7980041503906,209.8741455078125,90.27247619628906,0.9027685523033142,15060,0.6478481292724609,Cammeo +14106,485.5799865722656,199.9210662841797,91.59041595458984,0.8888837099075317,14515,0.5762255191802979,Cammeo +14640,501.3240051269531,210.29159545898438,90.33173370361328,0.903040885925293,15119,0.5865384340286255,Cammeo +12256,470.1080017089844,207.9800567626953,75.71490478515625,0.9313798546791077,12541,0.7383132576942444,Cammeo +14362,479.9309997558594,202.70265197753906,90.70674896240234,0.894290566444397,14606,0.5914669036865234,Cammeo +12091,463.35101318359375,203.59439086914062,76.65410614013672,0.926414966583252,12298,0.7930604815483093,Cammeo +12605,447.6610107421875,183.50119018554688,88.51618957519531,0.875965416431427,12859,0.5957557559013367,Cammeo +14697,495.88299560546875,208.15838623046875,90.96687316894531,0.8994576334953308,15073,0.5949239134788513,Cammeo +14337,501.7659912109375,219.3126678466797,83.44644165039062,0.9247847199440002,14631,0.7431578040122986,Cammeo +13760,474.18798828125,198.3915557861328,89.04605102539062,0.8936122059822083,13989,0.6337509155273438,Cammeo +16022,524.8729858398438,221.5270538330078,93.63528442382812,0.9062784910202026,16545,0.5422363877296448,Cammeo +11510,433.5140075683594,180.38232421875,82.62195587158203,0.8889326453208923,11827,0.7670265436172485,Cammeo +12798,469.2980041503906,202.1654052734375,81.58068084716797,0.914964497089386,13152,0.7803658246994019,Cammeo +13683,481.5710144042969,206.92677307128906,84.89906311035156,0.9119571447372437,13922,0.7621992230415344,Cammeo +14379,495.1510009765625,212.02096557617188,87.81466674804688,0.9101953506469727,14834,0.7907935976982117,Cammeo +13404,468.2149963378906,191.5484161376953,90.53829956054688,0.881242036819458,13804,0.706514835357666,Cammeo +12858,466.1629943847656,198.54737854003906,83.75962829589844,0.9066599607467651,13095,0.5492759346961975,Cammeo +15456,508.8210144042969,214.30441284179688,93.45649719238281,0.8999019265174866,15884,0.7802513837814331,Cammeo +14149,474.9519958496094,195.3551025390625,93.33526611328125,0.8784837126731873,14454,0.605693519115448,Cammeo +13091,473.1520080566406,203.86270141601562,82.55069732666016,0.91434645652771,13451,0.7523563504219055,Cammeo +16403,521.9089965820312,215.15090942382812,98.40094757080078,0.889282763004303,16867,0.5887652635574341,Cammeo +13681,478.5379943847656,202.76107788085938,87.02304077148438,0.9032142162322998,14015,0.6419388055801392,Cammeo +14263,489.4460144042969,205.81178283691406,89.50908660888672,0.9004751443862915,14637,0.6631794571876526,Cammeo +12068,457.739013671875,196.4420623779297,79.54393768310547,0.9143507480621338,12347,0.599503219127655,Cammeo +15710,517.0700073242188,214.75021362304688,95.24736022949219,0.8962613940238953,16259,0.6075959205627441,Cammeo +15545,510.28399658203125,213.4366455078125,93.55502319335938,0.8988156318664551,15909,0.5681651830673218,Cammeo +12720,449.6239929199219,178.61477661132812,92.7516860961914,0.8546020984649658,13095,0.7438596487045288,Cammeo +15073,498.36199951171875,205.8031005859375,93.99627685546875,0.8896057605743408,15476,0.6139214634895325,Cammeo +11771,441.8599853515625,186.99777221679688,81.26961517333984,0.9006226062774658,12109,0.6192655563354492,Cammeo +14873,499.6159973144531,210.27749633789062,91.5836181640625,0.9001708626747131,15195,0.5730302333831787,Cammeo +14092,499.4169921875,210.9630126953125,86.7967300415039,0.911440908908844,14618,0.7729267477989197,Cammeo +14558,496.30499267578125,204.36062622070312,91.95660400390625,0.8930425643920898,14908,0.5694726705551147,Cammeo +13321,473.9930114746094,199.27256774902344,85.9288330078125,0.902250349521637,13758,0.5645687580108643,Cammeo +10796,413.4200134277344,170.78164672851562,80.99688720703125,0.8803785443305969,10980,0.6230378746986389,Cammeo +14444,491.1440124511719,203.50718688964844,91.60269927978516,0.8929679989814758,14773,0.5779449343681335,Cammeo +13313,470.9070129394531,198.21493530273438,86.27212524414062,0.9003118872642517,13560,0.5769697427749634,Cammeo +15578,509.5989990234375,216.90948486328125,92.61865234375,0.9042553305625916,15864,0.8088265657424927,Cammeo +13930,495.27099609375,213.52664184570312,84.43373107910156,0.9184983372688293,14564,0.5496370196342468,Cammeo +12092,449.1889953613281,192.57949829101562,80.42227935791016,0.9086284041404724,12298,0.5839289426803589,Cammeo +13245,476.1369934082031,204.94439697265625,83.15824890136719,0.9139796495437622,13536,0.7996256947517395,Cammeo +14572,497.5509948730469,211.08045959472656,88.70967864990234,0.9074015617370605,14926,0.6265909671783447,Cammeo +12470,455.8970031738281,192.46115112304688,83.3955307006836,0.9012444615364075,12704,0.581297755241394,Cammeo +15777,515.6840209960938,218.6982421875,93.20509338378906,0.9046378135681152,16111,0.5671915411949158,Cammeo +14435,491.90399169921875,207.46263122558594,89.70562744140625,0.9016847014427185,14842,0.5779779553413391,Cammeo +12745,470.3039855957031,205.09268188476562,79.50904083251953,0.9217966794967651,12940,0.5331743359565735,Cammeo +13533,473.9320068359375,196.1175537109375,88.91679382324219,0.891314685344696,13897,0.6045566201210022,Cammeo +12551,459.72900390625,197.68234252929688,81.57028198242188,0.9108973145484924,12741,0.8189351558685303,Cammeo +14078,478.4700012207031,203.6454620361328,88.56031036376953,0.9004908800125122,14280,0.7443950772285461,Cammeo +13057,460.1679992675781,187.12847900390625,90.31277465820312,0.875827431678772,13385,0.7507906556129456,Cammeo +14824,499.07501220703125,212.48641967773438,89.89486694335938,0.906100869178772,15141,0.5791982412338257,Cammeo +14189,491.9729919433594,209.93643188476562,86.80909729003906,0.9105032682418823,14496,0.5509863495826721,Cammeo +15418,504.7590026855469,209.9239959716797,94.43704986572266,0.8930975794792175,15779,0.5826908349990845,Cammeo +14828,493.5,209.903564453125,90.66991424560547,0.9018928408622742,15090,0.6065117716789246,Cammeo +11774,447.9330139160156,186.01792907714844,81.67400360107422,0.8984552025794983,12103,0.5600266456604004,Cammeo +13335,469.7139892578125,199.29722595214844,85.91238403320312,0.9023153185844421,13657,0.6167899966239929,Cammeo +11350,445.8210144042969,195.95208740234375,74.59088134765625,0.9247155785560608,11544,0.5842986106872559,Cammeo +13484,480.7860107421875,204.2075958251953,84.90129089355469,0.9094744920730591,13827,0.6585592031478882,Cammeo +13189,482.36700439453125,203.71743774414062,84.41487121582031,0.910107433795929,13635,0.5963555574417114,Cammeo +12495,458.4070129394531,187.6042022705078,87.02569580078125,0.8858984112739563,12993,0.6749311089515686,Cammeo +12712,470.56201171875,202.1971435546875,81.3008804321289,0.915601372718811,13053,0.8148717880249023,Cammeo +13446,475.12799072265625,198.69955444335938,87.3792953491211,0.8981173634529114,13765,0.5757225155830383,Cammeo +14294,514.4769897460938,226.4072723388672,81.59251403808594,0.9328058362007141,14731,0.511011004447937,Cammeo +12158,447.37701416015625,184.09530639648438,84.91305541992188,0.8872727751731873,12467,0.6315844058990479,Cammeo +13918,489.0400085449219,207.88174438476562,86.49022674560547,0.9093394875526428,14263,0.7187564373016357,Cammeo +13502,473.0119934082031,198.1473846435547,88.03559112548828,0.8958812952041626,13778,0.753880500793457,Cammeo +13314,474.0870056152344,203.94801330566406,83.662841796875,0.9119881391525269,13627,0.7471380233764648,Cammeo +14226,492.19500732421875,207.01956176757812,88.36334228515625,0.9043291807174683,14465,0.5791401863098145,Cammeo +12916,471.1960144042969,201.00291442871094,82.65473937988281,0.9115399122238159,13199,0.557036280632019,Cammeo +13372,470.40301513671875,196.0814666748047,88.7110824584961,0.8918052315711975,13745,0.5836243033409119,Cammeo +14314,484.7309875488281,206.86553955078125,88.56289672851562,0.9037227630615234,14536,0.7533684372901917,Cammeo +13567,475.1709899902344,197.294677734375,88.9129409790039,0.8926953673362732,13940,0.6376968026161194,Cammeo +14602,500.2330017089844,218.48805236816406,85.67758178710938,0.9199061989784241,14827,0.583636462688446,Cammeo +11846,445.8909912109375,192.9521942138672,78.47179412841797,0.9135660529136658,12010,0.5779664516448975,Cammeo +14482,486.1629943847656,201.8145294189453,92.54988098144531,0.8886485695838928,14825,0.6425592303276062,Cammeo +12886,455.51800537109375,189.85989379882812,87.49918365478516,0.8874719142913818,13080,0.5922963619232178,Cammeo +11718,449.343994140625,189.1406707763672,80.11981964111328,0.9058497548103333,12133,0.6305423974990845,Cammeo +13790,479.29998779296875,198.9013214111328,90.13603210449219,0.891424298286438,14190,0.5869084000587463,Cammeo +14379,494.3030090332031,205.52626037597656,90.39722442626953,0.8980796337127686,14768,0.5788647532463074,Cammeo +11931,445.10101318359375,187.92051696777344,82.14220428466797,0.8994073867797852,12174,0.6481420993804932,Cammeo +12732,465.4909973144531,192.45367431640625,85.18263244628906,0.8967124223709106,13105,0.569970428943634,Cammeo +12044,449.1669921875,188.36325073242188,82.49445343017578,0.8989973664283752,12342,0.5683813095092773,Cammeo +14256,492.927001953125,209.80320739746094,87.69036865234375,0.908463180065155,14730,0.7022660374641418,Cammeo +14283,482.697998046875,202.36563110351562,90.6138916015625,0.8941472172737122,14595,0.6364973187446594,Cammeo +11852,446.0769958496094,192.0542755126953,79.09918975830078,0.9112477898597717,12029,0.7169994115829468,Cammeo +13204,473.8160095214844,203.774658203125,83.10990142822266,0.9130480289459229,13430,0.5930650234222412,Cammeo +13615,468.0559997558594,192.82778930664062,91.15475463867188,0.8812093138694763,13855,0.5836334228515625,Cammeo +13309,460.9219970703125,191.4629669189453,88.95413970947266,0.8855194449424744,13540,0.6537479162216187,Cammeo +12736,447.8699951171875,182.77117919921875,89.68170928955078,0.8713412880897522,12964,0.7527186870574951,Cammeo +14184,479.2340087890625,197.4643096923828,92.07521057128906,0.8846330642700195,14537,0.60383141040802,Cammeo +14792,499.2030029296875,206.16061401367188,92.68034362792969,0.8932531476020813,15326,0.6946883797645569,Cammeo +10937,424.58599853515625,177.16705322265625,79.75700378417969,0.8929380178451538,11103,0.5952109098434448,Cammeo +14011,493.8789978027344,212.63031005859375,85.02820587158203,0.9165642261505127,14336,0.6279861927032471,Cammeo +13487,477.2539978027344,205.04571533203125,84.28226470947266,0.9116167426109314,13772,0.7373571991920471,Cammeo +13115,461.0360107421875,195.01873779296875,86.7828369140625,0.8955318331718445,13381,0.738457202911377,Cammeo +14518,491.22198486328125,203.7610626220703,92.3428955078125,0.8914129137992859,14877,0.7413194179534912,Cammeo +10610,410.5060119628906,171.1561737060547,79.34595489501953,0.8860508799552917,10769,0.8251030445098877,Cammeo +13173,467.47601318359375,194.67645263671875,87.36396026611328,0.8936498761177063,13443,0.5731627941131592,Cammeo +14232,492.5459899902344,205.02694702148438,89.5580825805664,0.8995531797409058,14620,0.7151758670806885,Cammeo +12888,467.197998046875,199.1564178466797,83.28892517089844,0.9083510041236877,13222,0.7258391380310059,Cammeo +14300,504.37701416015625,212.59837341308594,87.49030303955078,0.911396861076355,14772,0.5404384136199951,Cammeo +13446,476.0419921875,200.05267333984375,86.5904769897461,0.9014715552330017,13814,0.6039345860481262,Cammeo +14250,486.1239929199219,201.21893310546875,91.9398193359375,0.8895106911659241,14636,0.5936757922172546,Cammeo +13634,491.17999267578125,209.13352966308594,83.73373413085938,0.9163474440574646,14075,0.7879102826118469,Cammeo +15752,519.8889770507812,216.70204162597656,94.21913146972656,0.9005335569381714,16426,0.6012213826179504,Cammeo +14892,503.3389892578125,209.6208953857422,91.80297088623047,0.8990005254745483,15338,0.6556597352027893,Cammeo +13636,482.0530090332031,202.40467834472656,86.88379669189453,0.9031819701194763,13982,0.5840078592300415,Cammeo +13548,479.7489929199219,203.27188110351562,85.60246276855469,0.9070035219192505,13850,0.5544279217720032,Cammeo +13655,477.6260070800781,203.95603942871094,86.22283172607422,0.9062454104423523,13857,0.7378289103507996,Cammeo +14974,498.625,210.9239501953125,90.90399932861328,0.9023615121841431,15212,0.6409005522727966,Cammeo +14695,506.9159851074219,214.10552978515625,88.91370391845703,0.909693717956543,15086,0.5466076731681824,Cammeo +15080,512.9459838867188,211.92611694335938,92.14079284667969,0.9005377292633057,15533,0.5667681694030762,Cammeo +15977,516.208984375,216.75784301757812,94.9293441772461,0.8989987373352051,16401,0.6275087594985962,Cammeo +13380,469.177001953125,190.81332397460938,91.01315307617188,0.8789169192314148,13747,0.6196165680885315,Cammeo +12006,463.3810119628906,198.9684295654297,77.81851959228516,0.9203439950942993,12344,0.5350267291069031,Cammeo +14275,485.7879943847656,206.4619140625,88.92573547363281,0.902489185333252,14469,0.5475642681121826,Cammeo +15469,514.906982421875,221.01834106445312,89.76701354980469,0.9138056039810181,15860,0.5417833924293518,Cammeo +13436,467.9590148925781,195.02281188964844,89.14904022216797,0.8894044756889343,13798,0.7960658669471741,Cammeo +13147,468.9200134277344,199.22775268554688,84.48080444335938,0.9056428074836731,13431,0.6847395896911621,Cammeo +13912,480.8429870605469,206.90704345703125,86.2638168334961,0.9089428782463074,14107,0.806259036064148,Cammeo +15153,514.4039916992188,218.09231567382812,90.05229187011719,0.9107722640037537,15628,0.680850088596344,Cammeo +11965,455.8179931640625,196.161865234375,78.4288101196289,0.9165950417518616,12247,0.659446656703949,Cammeo +10727,425.9020080566406,178.7144317626953,77.53144073486328,0.9009953737258911,10960,0.5643413066864014,Cammeo +13636,481.2560119628906,203.92857360839844,86.18013763427734,0.9063165187835693,13888,0.5497057437896729,Cammeo +13650,475.24200439453125,199.32608032226562,87.9747085571289,0.8973297476768494,13859,0.5721351504325867,Cammeo +14284,499.9150085449219,213.1660614013672,86.92615509033203,0.9130774736404419,14678,0.7045824527740479,Cammeo +13654,477.92999267578125,199.3771514892578,87.6778335571289,0.8981159925460815,13914,0.5757537484169006,Cammeo +14828,494.2879943847656,202.1031494140625,95.03462219238281,0.8825448155403137,15197,0.5917943716049194,Cammeo +13787,474.3380126953125,194.6946258544922,91.07733154296875,0.883836567401886,14075,0.6161787509918213,Cammeo +12744,467.92498779296875,200.61216735839844,81.70650482177734,0.9133006930351257,13047,0.7145099639892578,Cammeo +15149,509.1369934082031,214.00746154785156,91.28372955322266,0.9044665098190308,15516,0.7071042060852051,Cammeo +13728,488.10198974609375,208.97412109375,84.64085388183594,0.9143032431602478,14052,0.557935357093811,Cammeo +12386,467.8500061035156,201.90130615234375,79.30883026123047,0.9196196794509888,12679,0.7918424606323242,Cammeo +14753,494.85198974609375,212.10301208496094,89.36529541015625,0.9069075584411621,15051,0.816888153553009,Cammeo +12924,474.42401123046875,203.01992797851562,81.82215881347656,0.9151888489723206,13150,0.5357320308685303,Cammeo +14761,499.510986328125,210.79876708984375,90.55553436279297,0.9030274152755737,15197,0.6583266258239746,Cammeo +13513,473.1029968261719,196.27908325195312,89.51602935791016,0.889946460723877,13867,0.7493899464607239,Cammeo +15868,519.5289916992188,219.17892456054688,93.26964569091797,0.9049391150474548,16281,0.5712639689445496,Cammeo +14755,510.13800048828125,218.69915771484375,86.8123550415039,0.9178407788276672,15025,0.5333260893821716,Cammeo +11141,431.92498779296875,181.2401123046875,79.11578369140625,0.8996922969818115,11372,0.790646493434906,Cammeo +14814,503.14801025390625,217.25677490234375,88.17826843261719,0.9139302968978882,15110,0.5451133251190186,Cammeo +12153,451.21099853515625,187.76919555664062,83.64883422851562,0.8952881097793579,12497,0.7064875960350037,Cammeo +14026,494.6029968261719,212.81454467773438,84.92227172851562,0.9169319868087769,14267,0.5463965535163879,Cammeo +14269,501.0400085449219,214.6693572998047,85.64315795898438,0.9169710278511047,14733,0.700009822845459,Cammeo +11999,465.6579895019531,194.7842559814453,80.43824005126953,0.9107488393783569,12364,0.5370121598243713,Cammeo +13932,495.52801513671875,213.34854125976562,84.32090759277344,0.918583869934082,14297,0.5548387169837952,Cammeo +11733,436.260009765625,182.88922119140625,82.62609100341797,0.8921282887458801,11955,0.6866222023963928,Cammeo +14321,490.42498779296875,204.28038024902344,90.68297576904297,0.8960692882537842,14622,0.573872983455658,Cammeo +13637,482.510986328125,205.19894409179688,85.42422485351562,0.9092275500297546,13952,0.5566122531890869,Cammeo +13803,492.02099609375,207.04994201660156,87.1841049194336,0.907024621963501,14174,0.5691489577293396,Cammeo +13533,469.5320129394531,192.3960418701172,91.23041534423828,0.8804277181625366,13954,0.621606707572937,Cammeo +12892,482.6300048828125,204.59776306152344,82.35201263427734,0.915416955947876,13376,0.6512426733970642,Cammeo +14960,496.9280090332031,209.6621551513672,91.68534088134766,0.8993154764175415,15198,0.7601625919342041,Cammeo +16603,513.5230102539062,213.520263671875,99.96153259277344,0.8836439847946167,16922,0.6089045405387878,Cammeo +15676,509.2239990234375,212.90774536132812,94.76166534423828,0.8954892158508301,16009,0.5746334195137024,Cammeo +14136,488.9679870605469,203.39065551757812,89.7869873046875,0.8972854018211365,14475,0.5920589566230774,Cammeo +12758,456.63800048828125,190.36831665039062,86.16264343261719,0.891708493232727,13177,0.7033463716506958,Cammeo +16608,516.0919799804688,207.67137145996094,103.35087585449219,0.8673690557479858,17111,0.6967611908912659,Cammeo +12318,448.6860046386719,187.7010040283203,84.14411926269531,0.8938891291618347,12579,0.5826868414878845,Cammeo +11068,419.92999267578125,174.13009643554688,81.8095474243164,0.8827630281448364,11242,0.6039177179336548,Cammeo +14235,505.8450012207031,214.15660095214844,87.47984313964844,0.912764847278595,14687,0.6825700998306274,Cammeo +13117,460.5740051269531,192.40406799316406,87.62899017333984,0.8902652263641357,13575,0.784509539604187,Cammeo +13562,474.218994140625,194.61276245117188,90.66897583007812,0.8848403692245483,13871,0.7133389711380005,Cammeo +14897,509.6310119628906,219.6719207763672,87.50059509277344,0.9172447919845581,15330,0.7136629223823547,Cammeo +13662,466.74798583984375,191.40512084960938,91.91515350341797,0.877152144908905,13875,0.5874612927436829,Cammeo +11694,432.97698974609375,181.48440551757812,82.97145080566406,0.8893730044364929,11893,0.7639142870903015,Cammeo +15151,496.1929931640625,207.93148803710938,93.96302032470703,0.892071545124054,15547,0.7613950371742249,Cammeo +12597,451.5429992675781,189.60536193847656,85.23102569580078,0.893271267414093,12858,0.6815451979637146,Cammeo +13923,488.7080078125,209.73745727539062,85.71607971191406,0.9126765131950378,14165,0.5342260599136353,Cammeo +15323,487.8659973144531,192.2308349609375,102.96282958984375,0.8444586396217346,15769,0.7136934995651245,Cammeo +14390,497.91900634765625,216.37559509277344,85.1957015991211,0.9192219376564026,14586,0.5379037261009216,Cammeo +14952,488.6300048828125,203.00296020507812,94.55452728271484,0.8849010467529297,15187,0.6156126260757446,Cammeo +14419,491.6709899902344,203.912353515625,91.03684997558594,0.8948081731796265,14906,0.6278138160705566,Cammeo +12556,474.02398681640625,207.9544219970703,77.71006774902344,0.9275544881820679,12832,0.5648223161697388,Cammeo +14658,486.1789855957031,201.88653564453125,93.20777130126953,0.8870444893836975,14892,0.6482971906661987,Cammeo +12907,466.239990234375,194.46926879882812,85.91094970703125,0.8971276879310608,13268,0.6354058980941772,Cammeo +14838,500.1619873046875,211.9825439453125,90.94657135009766,0.9032909274101257,15165,0.7864108681678772,Cammeo +15681,507.6969909667969,207.02450561523438,97.75848388671875,0.8814875483512878,16088,0.6925013065338135,Cammeo +14734,507.28399658203125,217.82444763183594,86.65876007080078,0.9174558520317078,15039,0.6813725233078003,Cammeo +15607,505.90301513671875,208.01101684570312,96.8890380859375,0.8848963379859924,16030,0.7249965071678162,Cammeo +15292,510.4830017089844,219.65902709960938,89.13313293457031,0.9139710068702698,15511,0.5431941151618958,Cammeo +11577,431.156005859375,178.8362579345703,83.40615844726562,0.8845829963684082,11810,0.7560736536979675,Cammeo +13174,480.5769958496094,203.50645446777344,83.42044067382812,0.9121235013008118,13606,0.5494661331176758,Cammeo +14305,491.1610107421875,207.8712921142578,88.60971069335938,0.9045950174331665,14633,0.5795251727104187,Cammeo +14547,491.04400634765625,206.65707397460938,90.17514038085938,0.8997762203216553,14780,0.593222439289093,Cammeo +11794,430.3800048828125,178.4458465576172,84.78594207763672,0.8799126744270325,12056,0.7529366612434387,Cammeo +12004,449.0350036621094,186.64852905273438,83.41326904296875,0.8945838212966919,12417,0.7581154704093933,Cammeo +15285,495.8389892578125,206.3328857421875,94.79103088378906,0.8882251977920532,15517,0.6688692569732666,Cammeo +14385,496.9779968261719,214.26954650878906,86.03324127197266,0.915850818157196,14604,0.7762668132781982,Cammeo +14034,491.73199462890625,205.50511169433594,88.35205841064453,0.9028639793395996,14448,0.5559120774269104,Cammeo +13399,490.55999755859375,209.36595153808594,82.76702117919922,0.9185425043106079,13654,0.5170963406562805,Cammeo +14960,510.72900390625,218.369873046875,88.05952453613281,0.9150860905647278,15235,0.5782759785652161,Cammeo +13811,485.69000244140625,209.27276611328125,85.2002944946289,0.9133721590042114,14083,0.6906190514564514,Cammeo +17564,527.1160278320312,221.60293579101562,101.65879821777344,0.8885689973831177,17808,0.7711626291275024,Cammeo +14680,495.4440002441406,206.75375366210938,91.29646301269531,0.8972263336181641,15091,0.6115902066230774,Cammeo +14180,485.1709899902344,204.107177734375,89.36077880859375,0.8990660905838013,14471,0.6198094487190247,Cammeo +13387,464.64300537109375,192.3996124267578,90.31411743164062,0.8829808235168457,13746,0.7535179853439331,Cammeo +15611,506.5469970703125,215.2007293701172,93.39228820800781,0.9009236693382263,15806,0.7321889400482178,Cammeo +12426,451.0889892578125,185.19102478027344,87.46067810058594,0.8814524412155151,12779,0.6245790123939514,Cammeo +14196,499.2300109863281,210.18011474609375,87.10346984863281,0.9100843667984009,14509,0.6188586950302124,Cammeo +12609,475.3599853515625,202.75440979003906,81.27371978759766,0.9161445498466492,13210,0.7069410085678101,Cammeo +14750,484.1520080566406,201.24700927734375,94.8591537475586,0.8819425702095032,14967,0.7806711196899414,Cammeo +15290,500.18798828125,204.1533660888672,96.6903305053711,0.8807314038276672,15605,0.7889577150344849,Cammeo +15879,517.927001953125,216.65013122558594,94.65620422363281,0.899506151676178,16484,0.6877598762512207,Cammeo +14330,493.18499755859375,209.76731872558594,87.8989486694336,0.9079720377922058,14701,0.6195952892303467,Cammeo +14155,480.5220031738281,200.54673767089844,91.05967712402344,0.8909725546836853,14462,0.7221938967704773,Cammeo +13939,484.39300537109375,207.02627563476562,86.22347259521484,0.9091423153877258,14233,0.6424686312675476,Cammeo +12488,469.8280029296875,200.74375915527344,80.0468521118164,0.917059063911438,12932,0.7446630597114563,Cammeo +13447,455.64801025390625,183.95758056640625,94.45813751220703,0.8581028580665588,13867,0.6259076595306396,Osmancik +13233,459.8590087890625,192.59071350097656,88.34671783447266,0.8885768055915833,13436,0.5887351632118225,Osmancik +12538,452.6600036621094,188.80528259277344,86.1097183227539,0.8899403810501099,12846,0.6841645836830139,Osmancik +11881,439.18499755859375,183.8895263671875,83.34947204589844,0.891379177570343,12097,0.5828304886817932,Osmancik +11750,428.375,178.55361938476562,84.70418548583984,0.8803143501281738,11869,0.6086821556091309,Osmancik +13700,455.625,185.9585418701172,94.56549072265625,0.8610442876815796,13893,0.6145151257514954,Osmancik +12121,439.8420104980469,183.46702575683594,84.764404296875,0.886872410774231,12389,0.6487368941307068,Osmancik +12148,434.3070068359375,177.47769165039062,88.51750183105469,0.8667442202568054,12437,0.7550500631332397,Osmancik +12675,456.572998046875,186.80682373046875,88.42378234863281,0.8808779716491699,13098,0.6138609051704407,Osmancik +12432,453.0400085449219,190.5436553955078,84.25045776367188,0.8969370126724243,12728,0.7657530307769775,Osmancik +10982,421.4100036621094,177.80026245117188,78.93739318847656,0.8960433006286621,11167,0.5940712094306946,Osmancik +11672,430.6419982910156,177.94815063476562,84.6797866821289,0.8795168399810791,11849,0.5974611043930054,Osmancik +12546,442.0660095214844,184.26483154296875,87.304931640625,0.8806317448616028,12744,0.6788961291313171,Osmancik +12357,452.9830017089844,189.57810974121094,84.28502655029297,0.8957328796386719,12666,0.6466248035430908,Osmancik +11455,405.6189880371094,159.5702667236328,92.32996368408203,0.8155998587608337,11639,0.7761892080307007,Osmancik +13054,478.4530029296875,203.21963500976562,83.08084869384766,0.9126137495040894,13329,0.7998774647712708,Osmancik +12233,425.1809997558594,170.94610595703125,92.01290893554688,0.8427808284759521,12388,0.6427595615386963,Osmancik +13518,451.1629943847656,185.55758666992188,93.29590606689453,0.8644104599952698,13741,0.7818391919136047,Osmancik +11605,429.2250061035156,175.01449584960938,85.50439453125,0.8725324869155884,11933,0.6097624897956848,Osmancik +13010,463.41900634765625,194.76756286621094,86.11576843261719,0.8969429135322571,13349,0.7769483327865601,Osmancik +12293,442.052001953125,180.37217712402344,88.52130889892578,0.8712890148162842,12607,0.6020668148994446,Osmancik +11903,433.7130126953125,180.90603637695312,84.3602523803711,0.8846156597137451,12104,0.6864475011825562,Osmancik +11136,427.1099853515625,175.653076171875,81.91877746582031,0.8845914006233215,11474,0.5743759274482727,Osmancik +10681,421.2560119628906,178.36944580078125,77.96080780029297,0.8994250893592834,10929,0.5571726560592651,Osmancik +13333,467.0249938964844,196.7969970703125,87.27310943603516,0.8962903618812561,13589,0.6944270730018616,Osmancik +11438,433.9179992675781,178.3515625,83.54765319824219,0.8834933638572693,11767,0.74301677942276,Osmancik +11480,419.10699462890625,170.62240600585938,86.62786865234375,0.8615239858627319,11674,0.7854406237602234,Osmancik +12725,441.67999267578125,170.23275756835938,97.73902893066406,0.8187506198883057,13081,0.641219437122345,Osmancik +11715,439.7030029296875,183.2227325439453,82.48322296142578,0.8929377794265747,11948,0.6044891476631165,Osmancik +12659,453.76800537109375,188.04029846191406,86.7074966430664,0.8873423337936401,12887,0.664340078830719,Osmancik +11201,423.281005859375,175.0401611328125,83.43683624267578,0.8790809512138367,11386,0.592645525932312,Osmancik +11382,418.33599853515625,169.88296508789062,86.66008758544922,0.8601053953170776,11575,0.6200021505355835,Osmancik +12388,440.4490051269531,175.24246215820312,92.2320785522461,0.8502919673919678,12753,0.6134799122810364,Osmancik +13078,452.9909973144531,183.97897338867188,91.69001007080078,0.8669632077217102,13385,0.7327431440353394,Osmancik +10774,401.74200439453125,164.3202362060547,83.7188720703125,0.860478937625885,10944,0.66179358959198,Osmancik +12408,454.3909912109375,191.8965301513672,83.03347778320312,0.9015383720397949,12664,0.5839058756828308,Osmancik +12345,440.1960144042969,180.38937377929688,88.1568603515625,0.8724501132965088,12591,0.7336859703063965,Osmancik +10286,401.78900146484375,159.0746612548828,83.59862518310547,0.8507745862007141,10524,0.7701407670974731,Osmancik +12340,466.7430114746094,196.69354248046875,80.84041595458984,0.9116367697715759,12774,0.7444947361946106,Osmancik +14723,490.7090148925781,205.41712951660156,92.4997329711914,0.8928763270378113,15013,0.5701947808265686,Osmancik +11042,411.62298583984375,168.3597412109375,84.19003295898438,0.8659905195236206,11217,0.791881799697876,Osmancik +13335,474.37701416015625,197.83990478515625,87.5825424194336,0.8966727256774902,13702,0.6670168042182922,Osmancik +12274,441.8529968261719,179.85391235351562,87.76013946533203,0.8728702664375305,12587,0.6159791350364685,Osmancik +11358,430.7919921875,177.45648193359375,82.11936950683594,0.8864847421646118,11546,0.7503964304924011,Osmancik +12289,444.55499267578125,186.3528594970703,84.85929870605469,0.890302836894989,12448,0.7676786780357361,Osmancik +12900,461.83599853515625,195.3451385498047,84.57197570800781,0.9014245867729187,13160,0.591797411441803,Osmancik +12288,437.8219909667969,179.18795776367188,88.10448455810547,0.8707717061042786,12498,0.8027175068855286,Osmancik +12466,439.1830139160156,177.4193115234375,90.0172119140625,0.8617283701896667,12707,0.6098825931549072,Osmancik +11380,423.614990234375,172.17388916015625,85.65729522705078,0.8674613833427429,11620,0.6731736063957214,Osmancik +12016,443.2229919433594,189.28106689453125,81.1222152709961,0.9035034775733948,12186,0.7465672492980957,Osmancik +9431,383.9590148925781,159.65594482421875,75.79572296142578,0.8801238536834717,9556,0.7755756378173828,Osmancik +11413,421.9530029296875,171.32528686523438,85.99931335449219,0.8648878931999207,11688,0.6993259787559509,Osmancik +11108,416.8340148925781,166.3365936279297,86.45924377441406,0.8542971611022949,11420,0.6800122261047363,Osmancik +12994,453.9410095214844,192.16598510742188,86.55552673339844,0.8928164839744568,13152,0.8141604065895081,Osmancik +10862,412.4259948730469,167.38694763183594,83.53160095214844,0.866582989692688,11050,0.6721534729003906,Osmancik +11883,429.1310119628906,171.33428955078125,89.82450866699219,0.8515554070472717,12179,0.7636398673057556,Osmancik +12673,441.7139892578125,177.02992248535156,92.58748626708984,0.8523297905921936,12950,0.6217741370201111,Osmancik +12921,449.48699951171875,181.03468322753906,92.02006530761719,0.8611796498298645,13209,0.623871386051178,Osmancik +10685,416.7170104980469,173.275146484375,79.70606994628906,0.8879203796386719,10871,0.7066798806190491,Osmancik +10267,424.9490051269531,182.40911865234375,72.5378646850586,0.917530357837677,10455,0.5474273562431335,Osmancik +12042,441.80999755859375,182.17674255371094,85.04359436035156,0.8843528032302856,12302,0.6408045887947083,Osmancik +11465,410.5150146484375,160.70632934570312,92.14432525634766,0.8192959427833557,11706,0.7575657367706299,Osmancik +11592,428.427001953125,177.6215057373047,83.73834991455078,0.8818967342376709,11764,0.7527272701263428,Osmancik +12110,448.8399963378906,191.8042755126953,80.65459442138672,0.9072903990745544,12313,0.6178571581840515,Osmancik +11077,417.3219909667969,175.95758056640625,80.57662963867188,0.8889871835708618,11246,0.6713333129882812,Osmancik +11539,434.34100341796875,178.92832946777344,83.03778076171875,0.8857911825180054,11788,0.7086097002029419,Osmancik +12526,439.22198486328125,178.21603393554688,90.40444946289062,0.8617845773696899,12819,0.6689452528953552,Osmancik +9967,400.218994140625,167.23887634277344,76.9632339477539,0.8878155946731567,10128,0.6646438837051392,Osmancik +11395,421.9630126953125,169.7467803955078,86.97183227539062,0.8587694764137268,11586,0.6237000823020935,Osmancik +11022,417.2590026855469,168.6112518310547,84.6778793334961,0.8647469878196716,11259,0.607272744178772,Osmancik +12495,451.3169860839844,182.64161682128906,88.68121337890625,0.8742101788520813,12902,0.5906125903129578,Osmancik +11545,431.1159973144531,174.73683166503906,85.66143798828125,0.8715924620628357,11911,0.6529977321624756,Osmancik +13021,455.97698974609375,185.1043701171875,91.06282043457031,0.8706212043762207,13380,0.7006564736366272,Osmancik +11267,421.8689880371094,170.35621643066406,86.010986328125,0.8631842732429504,11576,0.7407626509666443,Osmancik +11329,414.61700439453125,168.9134979248047,86.12175750732422,0.8602590560913086,11540,0.7841223478317261,Osmancik +12743,435.8179931640625,176.11099243164062,92.47711181640625,0.8510361909866333,12897,0.6320932507514954,Osmancik +11739,434.6289978027344,179.1478271484375,84.45870971679688,0.8818944096565247,12032,0.7758757472038269,Osmancik +11489,432.2070007324219,182.3623809814453,81.07017517089844,0.8957513570785522,11683,0.799068033695221,Osmancik +12059,431.64599609375,171.6719970703125,90.91513061523438,0.8482561111450195,12359,0.6995590925216675,Osmancik +11316,418.54901123046875,170.68569946289062,85.69087982177734,0.8648449778556824,11497,0.6083871126174927,Osmancik +9776,403.6759948730469,170.8800506591797,73.11127471923828,0.9038490653038025,9969,0.6419331431388855,Osmancik +11319,414.0140075683594,164.7808074951172,88.50933074951172,0.843497097492218,11563,0.7466851472854614,Osmancik +10561,405.739013671875,168.9385223388672,80.0907974243164,0.8804804086685181,10709,0.6022468209266663,Osmancik +10640,411.8800048828125,169.39047241210938,81.02848052978516,0.8781675100326538,10901,0.6608695387840271,Osmancik +10030,414.3840026855469,181.60057067871094,70.75994873046875,0.9209646582603455,10152,0.7718946933746338,Osmancik +9746,382.73699951171875,154.09608459472656,81.20333862304688,0.8498865962028503,9935,0.6675342321395874,Osmancik +11990,416.75299072265625,166.58201599121094,91.98353576660156,0.833723783493042,12145,0.6616997718811035,Osmancik +11941,434.8039855957031,174.22988891601562,89.47452545166016,0.8580639362335205,12249,0.7541366815567017,Osmancik +13002,458.3160095214844,187.3974609375,89.5873794555664,0.8783267736434937,13319,0.6763420701026917,Osmancik +10387,400.58099365234375,164.7608642578125,81.01570129394531,0.870755136013031,10536,0.8066319823265076,Osmancik +11462,432.1080017089844,180.28005981445312,81.89021301269531,0.8908799290657043,11725,0.6999267339706421,Osmancik +11955,454.08599853515625,196.8355255126953,78.12479400634766,0.9178601503372192,12127,0.5581232309341431,Osmancik +12571,453.3370056152344,188.70254516601562,86.54855346679688,0.8886166214942932,12847,0.7918241620063782,Osmancik +9760,399.57501220703125,167.36521911621094,75.544921875,0.8923330307006836,10012,0.6138364672660828,Osmancik +12912,459.739013671875,188.73036193847656,88.96232604980469,0.8819341659545898,13205,0.6904813051223755,Osmancik +12358,447.17401123046875,183.46461486816406,87.74208068847656,0.8782233595848083,12586,0.5845789909362793,Osmancik +12556,437.91400146484375,180.21121215820312,89.38488006591797,0.8683221340179443,12735,0.7185944318771362,Osmancik +10335,416.8500061035156,178.7991943359375,74.70861053466797,0.9085227847099304,10504,0.7115318179130554,Osmancik +12387,444.2250061035156,178.0975799560547,90.58177185058594,0.8609985113143921,12753,0.643280029296875,Osmancik +11674,425.0719909667969,175.75723266601562,85.50615692138672,0.8736797571182251,11865,0.644047200679779,Osmancik +12243,449.6809997558594,182.0261993408203,87.13170623779297,0.8779911994934082,12744,0.7785691618919373,Osmancik +11928,427.07501220703125,175.03939819335938,87.81713104248047,0.8650421500205994,12121,0.6277894973754883,Osmancik +12994,457.19000244140625,187.3347930908203,89.40962982177734,0.8787556886672974,13335,0.7635893225669861,Osmancik +11310,424.2179870605469,173.26937866210938,84.4845962524414,0.8730721473693848,11629,0.7111865878105164,Osmancik +10151,420.8999938964844,181.99557495117188,72.0995101928711,0.9181811213493347,10407,0.5216341018676758,Osmancik +11818,433.8280029296875,175.9639129638672,86.7737808227539,0.8699533939361572,12118,0.7149425148963928,Osmancik +11622,425.89300537109375,173.19540405273438,86.71649169921875,0.8656290769577026,11941,0.6035208106040955,Osmancik +10650,407.1610107421875,165.6199951171875,83.14749145507812,0.8648456931114197,10851,0.6155002117156982,Osmancik +10736,416.79998779296875,176.13525390625,78.64362335205078,0.8947858214378357,10930,0.7980969548225403,Osmancik +11893,435.2829895019531,176.6593475341797,87.10894012451172,0.8699783682823181,12243,0.7723228931427002,Osmancik +11866,436.1289978027344,176.12086486816406,87.78805541992188,0.8669164776802063,12210,0.6162235140800476,Osmancik +11168,440.8630065917969,182.7832794189453,79.52693176269531,0.9003876447677612,11628,0.5471023321151733,Osmancik +12405,437.08599853515625,178.09365844726562,89.96076965332031,0.8630422353744507,12615,0.8101488947868347,Osmancik +11327,415.81500244140625,171.68101501464844,84.50090026855469,0.8704837560653687,11497,0.8027639985084534,Osmancik +11533,424.5660095214844,174.2148895263672,85.42398834228516,0.8715329766273499,11773,0.7364622950553894,Osmancik +11658,424.53399658203125,170.7699432373047,88.24642181396484,0.8561326265335083,11963,0.6829925775527954,Osmancik +13259,464.4079895019531,198.21151733398438,85.81574249267578,0.9014177918434143,13445,0.5820456743240356,Osmancik +12031,446.989990234375,178.5896453857422,88.84149169921875,0.8674860000610352,12425,0.5804505944252014,Osmancik +10924,414.31201171875,170.80723571777344,82.64398193359375,0.8751544952392578,11171,0.672825813293457,Osmancik +13388,466.4620056152344,191.9375,90.36680603027344,0.882232666015625,13644,0.7539986371994019,Osmancik +12723,460.8800048828125,185.75474548339844,89.16934967041016,0.8772476315498352,13302,0.674996018409729,Osmancik +12190,440.6820068359375,185.85618591308594,83.88790130615234,0.8923423290252686,12349,0.5839800834655762,Osmancik +9778,395.20001220703125,168.14675903320312,74.49897766113281,0.8964923024177551,9956,0.6205889582633972,Osmancik +12994,460.94500732421875,195.22109985351562,86.21172332763672,0.8972067832946777,13196,0.8153865337371826,Osmancik +12482,448.53900146484375,185.0900421142578,87.2516098022461,0.8819190263748169,12744,0.5926875472068787,Osmancik +12590,463.7760009765625,197.3787384033203,82.68568420410156,0.9080236554145813,12880,0.6065423488616943,Osmancik +10369,402.9830017089844,159.2870330810547,84.89051055908203,0.8461527228355408,10723,0.6375430226325989,Osmancik +10037,395.3399963378906,164.24314880371094,78.49976348876953,0.8783878684043884,10210,0.7648986577987671,Osmancik +10964,417.98699951171875,171.39022827148438,82.60121154785156,0.8761997222900391,11247,0.5966802835464478,Osmancik +12024,436.5260009765625,182.35009765625,84.88275146484375,0.8850513696670532,12235,0.6266416311264038,Osmancik +9753,402.5790100097656,170.6141815185547,73.31348419189453,0.9029701352119446,10028,0.5642138123512268,Osmancik +11350,445.9110107421875,187.85491943359375,78.40882110595703,0.9087273478507996,11771,0.6705660223960876,Osmancik +13693,474.75201416015625,198.11575317382812,89.03109741210938,0.8933360576629639,14050,0.5976344347000122,Osmancik +12140,441.4989929199219,182.43399047851562,85.4981918334961,0.8833824992179871,12358,0.5896065831184387,Osmancik +10249,404.0889892578125,165.6824493408203,80.38426208496094,0.8744194507598877,10486,0.6714491844177246,Osmancik +8813,387.72100830078125,164.17770385742188,68.986083984375,0.907435417175293,9005,0.7373661398887634,Osmancik +11889,426.6470031738281,172.2679901123047,89.44281005859375,0.8546482920646667,12162,0.6115740537643433,Osmancik +10886,409.7380065917969,166.07925415039062,84.13433837890625,0.8621861934661865,11055,0.6803749799728394,Osmancik +9772,392.23699951171875,164.40335083007812,76.18343353271484,0.8861526846885681,9971,0.7833894491195679,Osmancik +11343,416.468994140625,171.67860412597656,84.90172576904297,0.8691555857658386,11492,0.734745442867279,Osmancik +10792,416.6289978027344,171.38180541992188,81.65258026123047,0.8792088031768799,11037,0.5936846733093262,Osmancik +10788,414.9070129394531,169.60159301757812,82.25015258789062,0.8745357990264893,11083,0.6483173370361328,Osmancik +11626,420.78900146484375,168.46971130371094,89.0751953125,0.8487893342971802,11857,0.6363437175750732,Osmancik +9903,398.6679992675781,163.00584411621094,79.13223266601562,0.8742608428001404,10152,0.5944177508354187,Osmancik +10445,405.59600830078125,167.45883178710938,80.50414276123047,0.8768632411956787,10680,0.6338754892349243,Osmancik +9961,397.92999267578125,166.0079803466797,77.44358825683594,0.8845184445381165,10130,0.6279788017272949,Osmancik +10694,405.677001953125,163.3674774169922,84.68367004394531,0.855160653591156,10891,0.7501403093338013,Osmancik +11719,430.5119934082031,175.5174560546875,86.510009765625,0.8700941801071167,12000,0.6993077993392944,Osmancik +12415,445.9949951171875,184.3671875,87.04115295410156,0.8815408945083618,12719,0.6579923629760742,Osmancik +10587,399.635009765625,166.3654327392578,81.32897186279297,0.8723636865615845,10723,0.6373487710952759,Osmancik +11725,427.1400146484375,174.7940216064453,86.76219940185547,0.8681120872497559,11954,0.6342637538909912,Osmancik +11659,429.7149963378906,173.34828186035156,87.54778289794922,0.8630960583686829,11912,0.6087614893913269,Osmancik +10733,402.41900634765625,166.23431396484375,82.70548248291016,0.867450475692749,10876,0.7061184048652649,Osmancik +12215,445.2950134277344,180.9094696044922,87.40585327148438,0.8755393028259277,12448,0.5881078243255615,Osmancik +10727,420.364990234375,174.384521484375,79.60275268554688,0.8897345066070557,11009,0.6706051230430603,Osmancik +11304,419.1809997558594,171.37911987304688,84.67481231689453,0.8694170117378235,11504,0.7209183573722839,Osmancik +11321,424.57598876953125,173.9976348876953,84.7398910522461,0.8733922243118286,11631,0.6218962669372559,Osmancik +10488,416.6090087890625,175.39788818359375,77.31370544433594,0.897610068321228,10720,0.7175697684288025,Osmancik +13002,465.17999267578125,191.29664611816406,87.9218978881836,0.888120710849762,13345,0.7357401251792908,Osmancik +11772,434.08599853515625,183.58831787109375,82.08576965332031,0.8944746255874634,11937,0.6509981751441956,Osmancik +10951,415.1390075683594,173.7579345703125,81.30049133300781,0.8837839961051941,11116,0.6522723436355591,Osmancik +11639,432.3869934082031,178.69485473632812,83.95451354980469,0.8827619552612305,11940,0.5935842394828796,Osmancik +11580,428.7090148925781,173.4880828857422,86.6391830444336,0.8663740754127502,11921,0.7477721571922302,Osmancik +10380,399.177001953125,164.590576171875,80.95957946777344,0.8706603646278381,10630,0.7064107656478882,Osmancik +11329,419.4049987792969,173.3904571533203,84.3458251953125,0.8737083077430725,11560,0.803247332572937,Osmancik +11528,433.3479919433594,182.11395263671875,81.49728393554688,0.8942803740501404,11777,0.7853931188583374,Osmancik +9428,398.9200134277344,164.8453826904297,74.65758514404297,0.8915640711784363,9760,0.6767154932022095,Osmancik +11480,422.54901123046875,171.27105712890625,86.8359603881836,0.8619408011436462,11781,0.6482213735580444,Osmancik +10737,414.47198486328125,170.45758056640625,81.1702880859375,0.8793421387672424,10986,0.6117948889732361,Osmancik +11144,410.343994140625,164.0940704345703,87.66368103027344,0.8453402519226074,11378,0.6338300704956055,Osmancik +11696,443.52801513671875,186.5877227783203,80.95197296142578,0.9009827971458435,11952,0.739130437374115,Osmancik +11226,413.54998779296875,168.53347778320312,85.62770080566406,0.8613126277923584,11424,0.7723957896232605,Osmancik +12478,439.22198486328125,176.3439483642578,91.28974914550781,0.8555743098258972,12754,0.6358216404914856,Osmancik +12756,442.9750061035156,177.98634338378906,92.229248046875,0.8552706241607666,13028,0.7037404775619507,Osmancik +11769,426.30999755859375,176.11459350585938,85.90213775634766,0.8729762434959412,11928,0.7911933064460754,Osmancik +11962,440.5450134277344,181.72340393066406,85.19718170166016,0.8832889795303345,12283,0.6228586435317993,Osmancik +12734,462.2330017089844,188.1563720703125,87.74284362792969,0.884611189365387,13069,0.5852022171020508,Osmancik +10765,413.677001953125,164.79502868652344,84.79120635986328,0.857475221157074,11127,0.6087079644203186,Osmancik +10926,416.2229919433594,173.41998291015625,80.86934661865234,0.8846156597137451,11113,0.6323648691177368,Osmancik +11080,429.4179992675781,175.21588134765625,82.17780303955078,0.8831934332847595,11277,0.5695486664772034,Osmancik +10536,412.5069885253906,162.7202911376953,84.62435150146484,0.8541295528411865,10974,0.6859375238418579,Osmancik +10066,413.2829895019531,177.30690002441406,73.48820495605469,0.9100634455680847,10262,0.5464118719100952,Osmancik +11398,431.739990234375,179.46734619140625,81.84264373779297,0.8899639844894409,11627,0.5940170884132385,Osmancik +11363,416.04998779296875,168.4384765625,86.90823364257812,0.856610119342804,11594,0.6302623748779297,Osmancik +11074,426.5249938964844,182.83189392089844,77.69914245605469,0.9052046537399292,11291,0.7448210716247559,Osmancik +10612,413.8559875488281,169.87916564941406,80.89677429199219,0.8793359994888306,10924,0.6719858050346375,Osmancik +10846,418.85198974609375,172.20677185058594,81.69290161132812,0.8803156018257141,11069,0.6827394962310791,Osmancik +12275,454.6929931640625,181.8712921142578,87.00899505615234,0.8781367540359497,12709,0.6926810145378113,Osmancik +13111,467.6210021972656,193.56771850585938,88.06787109375,0.8905057907104492,13456,0.619173526763916,Osmancik +11327,423.1679992675781,169.2954559326172,86.5684585571289,0.8593752384185791,11657,0.7199974656105042,Osmancik +10831,425.60101318359375,182.23545837402344,76.19515991210938,0.9083946943283081,11017,0.5886412858963013,Osmancik +10878,423.7929992675781,179.84693908691406,77.79789733886719,0.9015963673591614,11015,0.5801600217819214,Osmancik +11166,414.8900146484375,165.73878479003906,87.03055572509766,0.8510363698005676,11478,0.6709530353546143,Osmancik +11280,420.10101318359375,170.6703643798828,85.49736785888672,0.8654760718345642,11582,0.6431748270988464,Osmancik +8810,384.74700927734375,164.35394287109375,68.90158081054688,0.907881498336792,8987,0.5875683426856995,Osmancik +12742,446.8110046386719,180.0201416015625,91.0481185913086,0.8626705408096313,12954,0.7910846471786499,Osmancik +10724,421.697998046875,168.3685302734375,83.7353286743164,0.8675593733787537,10988,0.5944567918777466,Osmancik +11277,417.97698974609375,166.91297912597656,87.66714477539062,0.8509624004364014,11597,0.6426007151603699,Osmancik +11000,413.260986328125,167.33331298828125,84.73780059814453,0.8622979521751404,11158,0.7936508059501648,Osmancik +11678,423.6759948730469,173.4139404296875,86.46707153320312,0.8668226599693298,11839,0.6211041212081909,Osmancik +11679,439.1860046386719,181.42677307128906,83.5256576538086,0.8877208232879639,11949,0.5674927234649658,Osmancik +10756,420.08599853515625,170.6370849609375,81.58211517333984,0.8783037662506104,10957,0.5949773192405701,Osmancik +10271,415.53900146484375,177.82223510742188,74.39627838134766,0.9082746505737305,10422,0.5660824775695801,Osmancik +11740,440.5639953613281,181.2036895751953,83.45518493652344,0.8876285552978516,12030,0.5790096521377563,Osmancik +10150,405.3559875488281,169.0958251953125,76.93233489990234,0.8905103802680969,10358,0.6360446214675903,Osmancik +10691,407.0870056152344,163.291748046875,84.58920288085938,0.855365514755249,10921,0.6121035218238831,Osmancik +11756,438.7749938964844,184.13534545898438,82.26663970947266,0.8946475386619568,11969,0.6567597985267639,Osmancik +12504,445.5870056152344,182.37852478027344,88.6329574584961,0.8739679455757141,12781,0.7988755702972412,Osmancik +11440,425.8160095214844,170.72097778320312,87.25543975830078,0.8595214486122131,11750,0.6650776267051697,Osmancik +10943,411.385986328125,171.01792907714844,82.0599594116211,0.8773601055145264,11155,0.6247787475585938,Osmancik +12840,454.4049987792969,184.815185546875,89.92162322998047,0.8736533522605896,13185,0.7266553640365601,Osmancik +11546,429.52398681640625,175.65869140625,84.90682220458984,0.875420331954956,11757,0.6063120365142822,Osmancik +10774,428.79998779296875,179.6996612548828,77.9217529296875,0.9010947942733765,11033,0.7165469527244568,Osmancik +11392,427.5719909667969,173.07945251464844,85.3546371459961,0.8699426651000977,11638,0.5984764695167542,Osmancik +10360,427.3320007324219,187.57418823242188,70.72579193115234,0.9261908531188965,10525,0.5432331562042236,Osmancik +12075,430.47100830078125,176.1828155517578,88.5140609741211,0.8646359443664551,12248,0.8023256063461304,Osmancik +10796,410.1099853515625,165.7333526611328,84.24877166748047,0.8611568808555603,11060,0.6800201535224915,Osmancik +10549,414.44500732421875,170.02101135253906,80.4247817993164,0.8810471296310425,10868,0.6171171069145203,Osmancik +10950,412.3340148925781,166.30606079101562,85.29817199707031,0.8584491014480591,11172,0.7760453820228577,Osmancik +11923,437.9389953613281,184.99966430664062,83.11607360839844,0.8933925628662109,12093,0.7623401284217834,Osmancik +12181,430.9490051269531,177.65762329101562,87.49514770507812,0.8703163862228394,12353,0.7565838694572449,Osmancik +10898,414.8110046386719,170.23533630371094,82.55313873291016,0.8745499849319458,11094,0.6027321219444275,Osmancik +11642,427.95599365234375,171.07894897460938,87.56867218017578,0.8590682148933411,11946,0.7363693714141846,Osmancik +12170,441.47698974609375,181.88800048828125,86.5787353515625,0.8794451355934143,12373,0.7725512385368347,Osmancik +11774,433.72900390625,180.2784881591797,84.2235107421875,0.8841592669487,12036,0.7976964712142944,Osmancik +10842,412.7489929199219,167.04510498046875,84.00162506103516,0.8643632531166077,11105,0.6705009341239929,Osmancik +11914,430.6440124511719,172.00987243652344,90.05436706542969,0.8519999384880066,12215,0.7163299918174744,Osmancik +11766,423.9809875488281,171.2086181640625,88.11246490478516,0.8574005365371704,11954,0.6391786336898804,Osmancik +11293,424.6239929199219,178.36341857910156,81.41404724121094,0.8897488713264465,11473,0.7461020350456238,Osmancik +10222,423.49700927734375,182.8002471923828,72.12429809570312,0.9188733696937561,10421,0.820385217666626,Osmancik +13218,454.99798583984375,182.57839965820312,93.23714447021484,0.8597773313522339,13459,0.7333148121833801,Osmancik +10693,408.7040100097656,167.5240936279297,82.57571411132812,0.870075523853302,10911,0.7409229278564453,Osmancik +9963,410.0840148925781,171.16845703125,75.23148345947266,0.8982341885566711,10251,0.719298243522644,Osmancik +9028,390.4419860839844,165.4956817626953,69.93974304199219,0.9063127040863037,9260,0.7722840309143066,Osmancik +10728,415.927001953125,169.2743377685547,81.99688720703125,0.8748453259468079,10996,0.593100368976593,Osmancik +12558,439.7760009765625,173.44276428222656,93.39813995361328,0.8426284193992615,12804,0.6388888955116272,Osmancik +12362,448.11199951171875,181.0390625,88.52607727050781,0.8722900748252869,12720,0.6327804923057556,Osmancik +11242,418.64599609375,172.5299072265625,83.84862518310547,0.8739617466926575,11409,0.648888885974884,Osmancik +11969,431.1289978027344,177.24331665039062,86.83843231201172,0.8717566728591919,12135,0.602790117263794,Osmancik +10085,412.135009765625,172.9621124267578,75.26065826416016,0.9003685712814331,10351,0.6983104944229126,Osmancik +13050,460.8190002441406,187.39630126953125,89.7934799194336,0.8777256011962891,13379,0.5959992408752441,Osmancik +11618,434.177001953125,179.4154510498047,83.34638214111328,0.8855500221252441,11820,0.6167649030685425,Osmancik +11572,418.6289978027344,164.12326049804688,90.98297119140625,0.8322786092758179,11861,0.6616352200508118,Osmancik +10666,416.42401123046875,173.8935089111328,78.45743560791016,0.8924325108528137,10825,0.5947362780570984,Osmancik +10182,404.8489990234375,168.11895751953125,77.88880920410156,0.8862037062644958,10369,0.7927436828613281,Osmancik +9764,390.9570007324219,160.2270965576172,78.86163330078125,0.8704897165298462,9956,0.6488139033317566,Osmancik +11856,431.8630065917969,174.35243225097656,88.68266296386719,0.8609791994094849,12188,0.6150653958320618,Osmancik +12060,438.7749938964844,177.40103149414062,87.37784576416016,0.8702874779701233,12420,0.6486660838127136,Osmancik +11765,429.3349914550781,174.33135986328125,86.89266967773438,0.8669276833534241,11963,0.6146813035011292,Osmancik +15420,503.4599914550781,206.05654907226562,96.41728210449219,0.883772611618042,15800,0.5846223831176758,Osmancik +11101,418.0329895019531,169.87318420410156,84.64671325683594,0.86700838804245,11340,0.6595959663391113,Osmancik +10360,408.281005859375,165.73292541503906,81.28663635253906,0.871459424495697,10649,0.7852649092674255,Osmancik +10392,416.489013671875,177.36634826660156,75.56694793701172,0.9046995639801025,10559,0.562459409236908,Osmancik +9359,395.9880065917969,168.2939453125,71.10741424560547,0.9063540101051331,9555,0.5751597881317139,Osmancik +10367,413.9599914550781,176.56651306152344,75.28861999511719,0.9045329689979553,10529,0.56037837266922,Osmancik +11652,428.8080139160156,169.5898895263672,89.57380676269531,0.8491331338882446,12067,0.737001895904541,Osmancik +11211,410.57598876953125,162.87139892578125,88.59012603759766,0.8391326665878296,11408,0.6434228420257568,Osmancik +11525,433.781005859375,184.42333984375,80.1666259765625,0.9005810618400574,11697,0.6127060055732727,Osmancik +10908,414.99700927734375,174.44915771484375,80.5641860961914,0.8869734406471252,11062,0.7549833655357361,Osmancik +12444,445.87200927734375,183.35057067871094,87.90731048583984,0.8775695562362671,12630,0.6045472025871277,Osmancik +10442,407.2820129394531,166.1415252685547,81.03927612304688,0.8729707598686218,10668,0.6562342643737793,Osmancik +13672,467.9549865722656,183.5563201904297,97.4687271118164,0.8473706841468811,14027,0.615855872631073,Osmancik +11297,418.9530029296875,172.96742248535156,84.43346405029297,0.8727616667747498,11482,0.6229390501976013,Osmancik +12075,434.6600036621094,179.1971435546875,86.49069213867188,0.8758096694946289,12229,0.6030865907669067,Osmancik +11274,425.05499267578125,173.3803253173828,83.83379364013672,0.8753303289413452,11526,0.6527705192565918,Osmancik +11458,418.8599853515625,169.07266235351562,87.52144622802734,0.855588972568512,11668,0.7578042149543762,Osmancik +11675,429.1300048828125,173.41819763183594,86.83406066894531,0.8656089901924133,11888,0.7373373508453369,Osmancik +11048,424.2749938964844,169.5191192626953,84.77814483642578,0.8659620881080627,11419,0.691623866558075,Osmancik +12624,451.7569885253906,188.23635864257812,86.35598754882812,0.8885583877563477,12878,0.8090233206748962,Osmancik +11540,427.52301025390625,172.7949981689453,86.44035339355469,0.8658822178840637,11765,0.6071127653121948,Osmancik +12531,459.3059997558594,192.8181915283203,84.02542877197266,0.9000554084777832,12846,0.5617267489433289,Osmancik +11480,432.8240051269531,174.96246337890625,85.08846282958984,0.8737785220146179,11833,0.5908389091491699,Osmancik +11815,430.10699462890625,177.7969207763672,85.67855072021484,0.8762317299842834,11993,0.7061741948127747,Osmancik +12469,446.84100341796875,191.38665771484375,83.25487518310547,0.9004262089729309,12625,0.591452419757843,Osmancik +11363,419.4549865722656,170.0657501220703,86.50566864013672,0.8609673976898193,11699,0.6943052411079407,Osmancik +12661,436.9219970703125,174.83229064941406,93.07769775390625,0.8465037941932678,12898,0.7019849419593811,Osmancik +11069,419.63800048828125,170.6001739501953,83.60846710205078,0.8716750144958496,11333,0.6593007445335388,Osmancik +9843,383.1159973144531,154.9503173828125,81.3568344116211,0.8510707020759583,10024,0.7022688388824463,Osmancik +12058,445.8280029296875,184.82801818847656,84.49703216552734,0.8893815279006958,12308,0.704816460609436,Osmancik +12287,444.17498779296875,181.92105102539062,87.73918151855469,0.8760101795196533,12508,0.6537377238273621,Osmancik +11693,424.5039978027344,176.02406311035156,84.99131774902344,0.875709056854248,11842,0.6067351698875427,Osmancik +11341,437.5660095214844,181.9034423828125,80.57669067382812,0.8965393900871277,11669,0.7662838101387024,Osmancik +12960,460.86700439453125,191.5177001953125,86.79779052734375,0.8914036154747009,13211,0.5882353186607361,Osmancik +12172,433.5979919433594,174.29940795898438,90.6949462890625,0.8539592027664185,12401,0.6384474039077759,Osmancik +12396,443.15399169921875,184.8018341064453,86.46865844726562,0.8837817311286926,12546,0.5870985984802246,Osmancik +12203,442.60198974609375,184.23643493652344,85.572021484375,0.8855896592140198,12418,0.7990440130233765,Osmancik +13049,469.5379943847656,196.46617126464844,85.99484252929688,0.899117112159729,13409,0.7270042896270752,Osmancik +12507,458.6499938964844,184.4170379638672,88.10064697265625,0.8785093426704407,12877,0.5772638916969299,Osmancik +10499,403.27801513671875,162.45733642578125,83.75511932373047,0.8568586111068726,10749,0.744926929473877,Osmancik +11543,431.76300048828125,179.59811401367188,82.5225830078125,0.8881856799125671,11786,0.602641761302948,Osmancik +12311,450.3349914550781,194.44674682617188,81.31934356689453,0.9083508849143982,12441,0.5565551519393921,Osmancik +10563,408.9729919433594,167.47096252441406,81.02894592285156,0.8751571774482727,10782,0.6173582673072815,Osmancik +12683,448.6369934082031,186.15756225585938,87.55859375,0.8824816942214966,12847,0.5909514427185059,Osmancik +12665,445.6629943847656,186.2803955078125,87.28702545166016,0.883421778678894,12811,0.7100807428359985,Osmancik +13818,467.89599609375,189.28475952148438,94.47992706298828,0.866520345211029,14142,0.6174538731575012,Osmancik +12771,449.260009765625,190.35739135742188,85.92546081542969,0.8923266530036926,12939,0.7760695219039917,Osmancik +12213,450.218994140625,188.31678771972656,83.71768951416016,0.8957501649856567,12447,0.717989444732666,Osmancik +11875,429.9490051269531,173.6934814453125,88.04170989990234,0.8620167374610901,12128,0.7844497561454773,Osmancik +11846,437.34698486328125,182.62881469726562,82.9129638671875,0.8910031318664551,12019,0.5793231725692749,Osmancik +11952,443.4909973144531,181.7682647705078,85.3275146484375,0.8829695582389832,12224,0.5901347994804382,Osmancik +10919,413.08099365234375,167.12600708007812,84.21858215332031,0.8637487888336182,11120,0.6398851275444031,Osmancik +12023,442.3349914550781,181.17674255371094,85.41496276855469,0.8818951845169067,12282,0.6013002991676331,Osmancik +11953,443.51800537109375,183.4257354736328,84.54717254638672,0.8874343633651733,12283,0.5707123875617981,Osmancik +12544,442.1719970703125,178.022705078125,90.75762939453125,0.8602874279022217,12835,0.7707526683807373,Osmancik +12045,438.3940124511719,182.43557739257812,85.0350570678711,0.8847267627716064,12276,0.7312852740287781,Osmancik +12076,452.5429992675781,188.35916137695312,82.79437255859375,0.8982152938842773,12367,0.7058686017990112,Osmancik +11773,433.9809875488281,174.7171630859375,87.27269744873047,0.8663090467453003,12005,0.6094631552696228,Osmancik +11939,437.7330017089844,178.8988800048828,86.44242095947266,0.8755146861076355,12204,0.6389959454536438,Osmancik +10191,419.5790100097656,174.73423767089844,75.53466796875,0.9017379283905029,10470,0.6273314952850342,Osmancik +12406,449.7139892578125,188.50738525390625,84.51765441894531,0.8938571214675903,12602,0.7983269095420837,Osmancik +12249,456.2489929199219,188.55091857910156,84.38185119628906,0.8942698240280151,12578,0.6534193754196167,Osmancik +11394,416.1629943847656,167.26898193359375,88.10797119140625,0.8500238656997681,11543,0.7842246294021606,Osmancik +11732,433.864013671875,173.9580841064453,86.97465515136719,0.8660399317741394,12054,0.629601776599884,Osmancik +10260,417.0,172.99356079101562,76.9076919555664,0.895744264125824,10527,0.5882353186607361,Osmancik +11808,431.4570007324219,176.30458068847656,85.55895233154297,0.8743529319763184,12006,0.6183493733406067,Osmancik +12235,443.45599365234375,187.66253662109375,83.75172424316406,0.8948888778686523,12442,0.6583266258239746,Osmancik +12084,433.5050048828125,171.52261352539062,91.3299560546875,0.8464514017105103,12356,0.7017421722412109,Osmancik +10873,416.0409851074219,170.91297912597656,82.10005950927734,0.8770704865455627,11085,0.6453585028648376,Osmancik +12906,461.2030029296875,191.54367065429688,86.72735595703125,0.8916217088699341,13272,0.7383295297622681,Osmancik +12539,442.2969970703125,178.60105895996094,90.33457946777344,0.862656831741333,12790,0.7344775199890137,Osmancik +11343,420.7239990234375,173.50665283203125,83.82770538330078,0.8755440711975098,11512,0.6098387241363525,Osmancik +10613,423.3290100097656,172.11276245117188,79.71240234375,0.8862848281860352,10881,0.5869697332382202,Osmancik +11659,429.0830078125,171.0142364501953,87.78890228271484,0.858183741569519,12017,0.6308982968330383,Osmancik +12671,448.8380126953125,180.471435546875,90.69844055175781,0.8645400404930115,12963,0.6616019010543823,Osmancik +10304,416.5610046386719,174.27423095703125,76.18439483642578,0.8993874788284302,10541,0.6122400760650635,Osmancik +10928,410.94000244140625,171.7461395263672,81.38594055175781,0.880592942237854,11132,0.6111856698989868,Osmancik +12385,444.6780090332031,177.64163208007812,90.33319091796875,0.8610539436340332,12724,0.7365447282791138,Osmancik +11682,423.3739929199219,168.3994903564453,89.37419128417969,0.8475427031517029,11963,0.7158088088035583,Osmancik +13043,442.49798583984375,173.8036346435547,96.697509765625,0.8309409022331238,13278,0.647648811340332,Osmancik +11116,419.7139892578125,173.07705688476562,82.31733703613281,0.8796557784080505,11335,0.6016453504562378,Osmancik +12569,454.10400390625,192.0917205810547,83.93650817871094,0.8994806408882141,12811,0.5667839050292969,Osmancik +11081,414.0790100097656,169.0088348388672,84.32627868652344,0.8666331171989441,11289,0.7899201512336731,Osmancik +11813,430.2550048828125,172.5695343017578,88.02676391601562,0.8601183891296387,12088,0.7175048589706421,Osmancik +13111,457.01800537109375,188.33433532714844,90.13023376464844,0.8780521154403687,13323,0.7794423699378967,Osmancik +13400,468.2279968261719,187.6287384033203,92.69112396240234,0.8694542646408081,13756,0.5997135639190674,Osmancik +11154,427.22198486328125,174.31781005859375,82.17609405517578,0.8819112777709961,11506,0.6085770130157471,Osmancik +10236,398.5379943847656,160.84901428222656,82.4916000366211,0.8584775924682617,10392,0.7956470847129822,Osmancik +11342,429.781005859375,179.1381378173828,81.86804962158203,0.8894611597061157,11532,0.5789393186569214,Osmancik +12445,440.5769958496094,184.65521240234375,86.31019592285156,0.8840392231941223,12597,0.6723029613494873,Osmancik +10737,412.3059997558594,165.55162048339844,83.92192840576172,0.8619913458824158,11017,0.6141043305397034,Osmancik +10897,420.55499267578125,168.11865234375,83.5630111694336,0.8677231073379517,11174,0.640849232673645,Osmancik +8499,370.4460144042969,156.07228088378906,70.63035583496094,0.891739547252655,8648,0.7615591287612915,Osmancik +12231,450.5589904785156,187.54214477539062,84.03810119628906,0.8939821720123291,12504,0.7071577310562134,Osmancik +10841,419.1000061035156,166.86517333984375,84.30315399169922,0.8629922270774841,11258,0.6947577595710754,Osmancik +10023,413.2040100097656,173.62322998046875,74.2406005859375,0.903969943523407,10221,0.5797327756881714,Osmancik +12959,455.2669982910156,181.2097930908203,92.44759368896484,0.8600742816925049,13375,0.622191309928894,Osmancik +11219,433.7130126953125,180.31642150878906,80.25337982177734,0.8954958915710449,11485,0.7004870176315308,Osmancik +12759,455.31500244140625,188.19117736816406,87.0829086303711,0.8864959478378296,13082,0.675079345703125,Osmancik +12091,436.27801513671875,180.92755126953125,85.87905883789062,0.8801692724227905,12303,0.6206560134887695,Osmancik +12263,444.9540100097656,180.22085571289062,87.5452880859375,0.8740885257720947,12478,0.6045055985450745,Osmancik +11537,428.3869934082031,177.81396484375,83.65266418457031,0.882426381111145,11733,0.7449954748153687,Osmancik +11601,416.64599609375,165.78099060058594,89.89610290527344,0.8402119278907776,11782,0.6452168822288513,Osmancik +10984,421.9599914550781,170.8734893798828,83.75952911376953,0.8716187477111816,11201,0.69554203748703,Osmancik +11065,416.0840148925781,172.1811981201172,82.18488311767578,0.8787316083908081,11222,0.6178802847862244,Osmancik +11179,418.7099914550781,171.10838317871094,84.56639099121094,0.8693328499794006,11440,0.7356057167053223,Osmancik +12188,435.8609924316406,182.0326690673828,85.78117370605469,0.8820047378540039,12363,0.7657703161239624,Osmancik +11338,420.79400634765625,177.27418518066406,82.13945770263672,0.8861769437789917,11481,0.8201084733009338,Osmancik +11718,427.14599609375,164.74819946289062,93.12975311279297,0.8248953819274902,12155,0.7203097939491272,Osmancik +11280,421.6830139160156,170.83091735839844,85.05522155761719,0.8672394752502441,11510,0.6054750680923462,Osmancik +10841,413.4599914550781,170.9647979736328,81.6749038696289,0.8785070776939392,11070,0.654491662979126,Osmancik +10020,411.6109924316406,177.4746551513672,72.4375,0.9129118323326111,10217,0.5474213361740112,Osmancik +11490,421.1669921875,167.71011352539062,88.5562744140625,0.8492246270179749,11793,0.7554240822792053,Osmancik +10588,404.3240051269531,163.66207885742188,83.96915435791016,0.8583502173423767,10756,0.6148664355278015,Osmancik +12303,439.34100341796875,184.30001831054688,85.29237365722656,0.886467456817627,12468,0.5974650382995605,Osmancik +12120,439.7139892578125,181.69793701171875,85.99253845214844,0.8809163570404053,12335,0.6025354266166687,Osmancik +10286,406.7130126953125,171.05067443847656,77.44872283935547,0.8916210532188416,10469,0.6184463500976562,Osmancik +11130,413.40899658203125,168.74588012695312,85.28479766845703,0.8628829717636108,11320,0.7888022661209106,Osmancik +11802,430.052001953125,175.27474975585938,86.66316986083984,0.8692107200622559,12024,0.6212559938430786,Osmancik +8702,381.20599365234375,160.7188262939453,69.73334503173828,0.9009686708450317,8924,0.6411730051040649,Osmancik +10783,418.6809997558594,171.36520385742188,82.1244125366211,0.8776859641075134,11133,0.5934507250785828,Osmancik +12146,442.24700927734375,176.50616455078125,89.7515869140625,0.8610680103302002,12502,0.7754085659980774,Osmancik +10844,412.66400146484375,171.02999877929688,81.49285125732422,0.8791837692260742,11046,0.8170584440231323,Osmancik +12502,443.58599853515625,179.12814331054688,89.94932556152344,0.8647801280021667,12788,0.7892676591873169,Osmancik +12061,432.6889953613281,174.20278930664062,90.0654296875,0.855976402759552,12378,0.628013551235199,Osmancik +11543,432.3139953613281,174.8412628173828,86.6676025390625,0.8684977889060974,11940,0.6911976337432861,Osmancik +11088,418.2080078125,172.0274200439453,82.9356689453125,0.876112163066864,11284,0.6249929666519165,Osmancik +10600,414.8659973144531,174.65054321289062,78.23210906982422,0.8940660953521729,10800,0.6028207540512085,Osmancik +11173,420.9339904785156,175.6545867919922,81.66387176513672,0.8853570222854614,11396,0.801966667175293,Osmancik +12292,447.4859924316406,181.35670471191406,87.98662567138672,0.8744266033172607,12535,0.5938737988471985,Osmancik +10986,425.12701416015625,172.6788330078125,83.54908752441406,0.8751559257507324,11450,0.7299183011054993,Osmancik +10916,416.3290100097656,172.5072479248047,81.98931121826172,0.8798344135284424,11093,0.7214804887771606,Osmancik +12452,445.0790100097656,179.02613830566406,89.89112854003906,0.8648027181625366,12710,0.6179652810096741,Osmancik +10311,408.3399963378906,168.2056884765625,79.92363739013672,0.8799025416374207,10593,0.6535049080848694,Osmancik +11719,436.42498779296875,180.11569213867188,83.87120056152344,0.8849679827690125,11922,0.6833236217498779,Osmancik +10173,406.96600341796875,174.5035858154297,74.86865234375,0.9032865166664124,10342,0.7627080678939819,Osmancik +11708,433.6650085449219,184.30308532714844,81.25191497802734,0.8975757360458374,11888,0.6117032170295715,Osmancik +12218,442.6860046386719,184.35350036621094,85.83971405029297,0.8849817514419556,12468,0.642038881778717,Osmancik +12084,434.67401123046875,177.52542114257812,88.04617309570312,0.8683432340621948,12321,0.6272189617156982,Osmancik +11908,447.6340026855469,187.82113647460938,81.9485092163086,0.8997957110404968,12287,0.5803118944168091,Osmancik +13039,480.1109924316406,205.85757446289062,81.43621063232422,0.9184250831604004,13288,0.5763093829154968,Osmancik +10005,394.0989990234375,161.2628936767578,79.95714569091797,0.8684260845184326,10220,0.71875,Osmancik +11467,448.6830139160156,192.0872344970703,77.16972351074219,0.9157524108886719,11739,0.5697888135910034,Osmancik +12277,450.32598876953125,190.7417755126953,82.85999298095703,0.9007155895233154,12482,0.7634000778198242,Osmancik +12232,440.40301513671875,175.67868041992188,90.06195068359375,0.8585967421531677,12525,0.772514820098877,Osmancik +10594,409.8219909667969,164.287841796875,84.05598449707031,0.8592008352279663,10977,0.6279042363166809,Osmancik +10806,408.6759948730469,163.7159423828125,85.63248443603516,0.8522987961769104,11069,0.6114411950111389,Osmancik +12625,445.9280090332031,181.6507568359375,89.60035705566406,0.8698841333389282,12905,0.6514447927474976,Osmancik +11604,433.11700439453125,175.14181518554688,86.71931457519531,0.8688145279884338,12006,0.6825882196426392,Osmancik +10662,420.19500732421875,175.88250732421875,78.51628112792969,0.8948269486427307,10944,0.5694296360015869,Osmancik +11758,436.38299560546875,177.34860229492188,85.9665756225586,0.8746626377105713,12190,0.7635560631752014,Osmancik +9070,375.093994140625,156.98489379882812,74.22942352294922,0.8811459541320801,9233,0.7373983860015869,Osmancik +11536,426.85198974609375,172.18907165527344,87.07992553710938,0.8626960515975952,11891,0.6058823466300964,Osmancik +11741,445.9800109863281,184.416259765625,82.47528076171875,0.8944222331047058,12215,0.5703944563865662,Osmancik +11693,446.4840087890625,185.65159606933594,81.72230529785156,0.8979038000106812,12064,0.572793185710907,Osmancik +12261,443.281005859375,183.63693237304688,86.09529876708984,0.8832861185073853,12507,0.7170175313949585,Osmancik +11730,424.16400146484375,172.73736572265625,87.71980285644531,0.8614621162414551,11913,0.6228098273277283,Osmancik +12164,436.6090087890625,180.3756561279297,86.53324890136719,0.8774111866950989,12351,0.6371922492980957,Osmancik +11337,427.9530029296875,174.94444274902344,83.92398071289062,0.8774227499961853,11617,0.5953368544578552,Osmancik +10937,411.9580078125,165.00778198242188,85.26155090332031,0.8561590909957886,11135,0.6249714493751526,Osmancik +11550,420.27398681640625,170.95306396484375,87.15016174316406,0.8602988719940186,11776,0.6946950554847717,Osmancik +12262,443.1669921875,190.6796417236328,82.12512969970703,0.9024966359138489,12404,0.6181690096855164,Osmancik +9911,390.4599914550781,157.0979461669922,81.44798278808594,0.8551058173179626,10178,0.7313311696052551,Osmancik +12281,442.1109924316406,177.95753479003906,89.7089614868164,0.8636434674263,12666,0.5990731716156006,Osmancik +8628,372.3340148925781,157.33303833007812,70.1250228881836,0.8951770067214966,8782,0.6026402115821838,Osmancik +11921,422.3590087890625,168.49954223632812,91.07193756103516,0.8413518667221069,12169,0.6590557098388672,Osmancik +10144,403.64300537109375,165.46890258789062,79.17584228515625,0.8780909180641174,10399,0.659300684928894,Osmancik +11549,425.2200012207031,174.2269744873047,85.78465270996094,0.8703843355178833,11805,0.6301287412643433,Osmancik +10973,419.9429931640625,171.83343505859375,82.90455627441406,0.8759122490882874,11239,0.7047527432441711,Osmancik +10785,423.7950134277344,175.26901245117188,79.07759094238281,0.892433762550354,11069,0.7084209322929382,Osmancik +11635,436.3340148925781,179.39749145507812,84.01840209960938,0.8835501670837402,11920,0.6659226417541504,Osmancik +11239,419.86199951171875,170.46189880371094,85.56314849853516,0.8648973107337952,11609,0.6225213408470154,Osmancik +12043,444.0580139160156,179.91720581054688,86.48320007324219,0.8768942356109619,12364,0.69612717628479,Osmancik +11721,442.3500061035156,186.25233459472656,81.25922393798828,0.8998082280158997,11950,0.5777876377105713,Osmancik +11869,434.25201416015625,177.87265014648438,86.1655502319336,0.8748340606689453,12144,0.6215112209320068,Osmancik +11819,434.03399658203125,176.3721160888672,86.8189468383789,0.8704545497894287,12193,0.7718782424926758,Osmancik +11490,445.6860046386719,179.86175537109375,83.7257308959961,0.8850476145744324,12020,0.5689245462417603,Osmancik +11614,437.656005859375,184.90213012695312,81.87991333007812,0.8966063857078552,11812,0.8181177973747253,Osmancik +10386,411.1390075683594,171.52732849121094,77.87589263916016,0.8909943103790283,10636,0.591963529586792,Osmancik +11891,446.4070129394531,189.0554656982422,81.91354370117188,0.9012603759765625,12125,0.5519145727157593,Osmancik +10585,409.3160095214844,167.74827575683594,81.42166137695312,0.8743032813072205,10819,0.6835647225379944,Osmancik +11546,429.6809997558594,179.21595764160156,82.65701293945312,0.8872886300086975,11698,0.5995742082595825,Osmancik +10572,412.25201416015625,163.65118408203125,84.48179626464844,0.8564494848251343,10911,0.662198543548584,Osmancik +10262,412.76800537109375,166.6488037109375,80.32595825195312,0.8761671185493469,10554,0.5758051872253418,Osmancik +10272,403.0459899902344,171.3836669921875,76.66117858886719,0.8943802714347839,10419,0.7592017650604248,Osmancik +9165,380.6600036621094,156.67039489746094,75.54000854492188,0.8760838508605957,9366,0.6543624401092529,Osmancik +11273,432.6549987792969,185.89279174804688,77.61039733886719,0.9086765646934509,11440,0.6197361350059509,Osmancik +10215,401.4840087890625,164.2425994873047,80.21561431884766,0.872621476650238,10435,0.6822280287742615,Osmancik +10519,406.7560119628906,169.01904296875,80.37228393554688,0.8797037601470947,10684,0.6054449081420898,Osmancik +12643,449.3420104980469,184.778076171875,87.98870849609375,0.879344642162323,12903,0.7720444798469543,Osmancik +12598,445.18499755859375,178.979248046875,91.10215759277344,0.8607608675956726,12923,0.6314154267311096,Osmancik +10327,403.39599609375,166.0811309814453,79.95890045166016,0.8764764070510864,10576,0.6233099699020386,Osmancik +10965,416.9739990234375,174.35174560546875,80.79745483398438,0.8861406445503235,11224,0.7010869383811951,Osmancik +10818,416.76800537109375,175.70875549316406,78.83265686035156,0.893704891204834,10987,0.6344867944717407,Osmancik +13667,463.8420104980469,197.35565185546875,88.58672332763672,0.8935978412628174,13829,0.6345234513282776,Osmancik +12274,453.1289978027344,190.98403930664062,82.71131134033203,0.9013556241989136,12466,0.5603542923927307,Osmancik +11817,426.60198974609375,179.5654296875,84.24079132080078,0.8831254243850708,11977,0.6573765277862549,Osmancik +11248,420.2900085449219,171.22312927246094,84.84221649169922,0.8686040639877319,11521,0.7156581878662109,Osmancik +9225,387.8240051269531,163.4049835205078,72.74552154541016,0.8954383730888367,9422,0.5850456357002258,Osmancik +11986,433.29400634765625,173.2250518798828,89.39892578125,0.8565371036529541,12243,0.622422993183136,Osmancik +14153,480.3219909667969,196.978271484375,92.7987289428711,0.8820736408233643,14555,0.7721222043037415,Osmancik +10843,412.36700439453125,168.27450561523438,83.94273376464844,0.8666917681694031,11082,0.7874364852905273,Osmancik +10903,419.65399169921875,169.51708984375,83.22001647949219,0.8712023496627808,11232,0.6978366374969482,Osmancik +12712,456.0669860839844,186.16053771972656,88.90030670166016,0.8786064982414246,13092,0.6448863744735718,Osmancik +12532,449.7430114746094,179.28526306152344,90.64862060546875,0.8627614974975586,12874,0.6027898192405701,Osmancik +11050,416.41900634765625,168.31764221191406,85.2559814453125,0.8622291684150696,11323,0.691749095916748,Osmancik +12647,451.0559997558594,180.34434509277344,91.42808532714844,0.8619672656059265,13120,0.6585950255393982,Osmancik +11323,420.0580139160156,169.97677612304688,86.36136627197266,0.8613113760948181,11586,0.7191945910453796,Osmancik +11149,411.3089904785156,164.6722869873047,87.50299072265625,0.8471357226371765,11393,0.7592100501060486,Osmancik +11355,428.99200439453125,172.28126525878906,85.36949157714844,0.8685942888259888,11690,0.6142486333847046,Osmancik +12476,452.75799560546875,192.3231201171875,83.67256927490234,0.9004002809524536,12654,0.8064119815826416,Osmancik +10114,398.36700439453125,161.02005004882812,80.84944915771484,0.8648049235343933,10305,0.6745364665985107,Osmancik +11919,435.2619934082031,171.84518432617188,89.98160552978516,0.8519518375396729,12168,0.6112307906150818,Osmancik +11994,444.760986328125,183.44912719726562,84.42697143554688,0.8878048658370972,12262,0.7241879105567932,Osmancik +10782,412.8800048828125,165.54586791992188,84.3469009399414,0.8604660630226135,11112,0.6947165131568909,Osmancik +12191,441.68798828125,180.11627197265625,87.87493896484375,0.872911274433136,12481,0.6011341214179993,Osmancik +9822,398.3349914550781,160.62322998046875,79.28845977783203,0.8696719408035278,10085,0.6315180063247681,Osmancik +11944,442.78900146484375,182.6370391845703,84.1004867553711,0.8876706957817078,12128,0.5845445990562439,Osmancik +10523,429.0570068359375,173.88426208496094,78.8567886352539,0.8912554979324341,11003,0.5865663290023804,Osmancik +10541,406.5360107421875,162.99107360839844,83.69825744628906,0.8580809831619263,10901,0.7746178507804871,Osmancik +12091,442.0,181.21177673339844,86.2992172241211,0.8793185353279114,12400,0.635031521320343,Osmancik +10899,421.44000244140625,173.6383819580078,81.15625762939453,0.8840529918670654,11267,0.6934529542922974,Osmancik +12192,428.5929870605469,172.9495849609375,90.53118896484375,0.8520538210868835,12383,0.7405247688293457,Osmancik +12549,448.8479919433594,175.84603881835938,92.87818908691406,0.8491330146789551,12989,0.6649885773658752,Osmancik +11465,419.5950012207031,167.98751831054688,88.07779693603516,0.8515264987945557,11685,0.7537804245948792,Osmancik +10567,398.5920104980469,161.4571533203125,83.76702117919922,0.854884147644043,10720,0.6411236524581909,Osmancik +11542,426.40399169921875,175.2760772705078,84.45689392089844,0.8762533664703369,11738,0.6272826194763184,Osmancik +10689,416.2550048828125,170.62423706054688,80.48485565185547,0.8817546963691711,10892,0.6269208192825317,Osmancik +9933,397.7200012207031,160.8506317138672,79.78276824951172,0.8683194518089294,10161,0.7063717842102051,Osmancik +11237,429.5299987792969,179.38392639160156,80.49434661865234,0.893669068813324,11430,0.5904266238212585,Osmancik +12155,434.2749938964844,174.7768096923828,89.50150299072266,0.8589316010475159,12388,0.8029462099075317,Osmancik +11095,423.2409973144531,170.15504455566406,84.6175765991211,0.8675804138183594,11350,0.7723633646965027,Osmancik +12344,442.7019958496094,179.73577880859375,88.92992401123047,0.869017481803894,12609,0.7189702391624451,Osmancik +11607,426.4280090332031,172.18153381347656,87.2635269165039,0.862057089805603,11842,0.6441891193389893,Osmancik +10381,414.18798828125,174.74462890625,77.07955169677734,0.8974587917327881,10556,0.6072891354560852,Osmancik +11083,421.7869873046875,171.4856719970703,83.67474365234375,0.8728771209716797,11415,0.6976583003997803,Osmancik +9017,378.7909851074219,155.36972045898438,74.75442504882812,0.8766443729400635,9290,0.6640889644622803,Osmancik +12404,454.3840026855469,186.0759735107422,85.9878158569336,0.8868219256401062,12659,0.5729859471321106,Osmancik +10198,400.19500732421875,166.5941162109375,78.23194122314453,0.8828814029693604,10351,0.624992311000824,Osmancik +9817,407.7460021972656,170.08865356445312,74.70610809326172,0.8983802199363708,10032,0.5830610990524292,Osmancik +11251,431.7090148925781,181.78958129882812,79.82994079589844,0.8984217047691345,11408,0.562268853187561,Osmancik +11489,447.23699951171875,182.1021270751953,82.12137603759766,0.8925424814224243,11913,0.5594565868377686,Osmancik +10832,420.0769958496094,167.8293914794922,84.05239868164062,0.8655511736869812,11207,0.5972980260848999,Osmancik +12992,458.8940124511719,183.4208221435547,92.05143737792969,0.8649492859840393,13372,0.7759197354316711,Osmancik +10787,401.2550048828125,160.01788330078125,86.63780212402344,0.8407486081123352,11010,0.6583460569381714,Osmancik +12440,434.80499267578125,173.39279174804688,92.69048309326172,0.8451246023178101,12716,0.6803390979766846,Osmancik +9585,397.7200012207031,163.85311889648438,75.4080581665039,0.887806236743927,9759,0.7263014316558838,Osmancik +10803,411.30999755859375,165.22312927246094,84.7822036743164,0.858306348323822,11098,0.6430739760398865,Osmancik +14092,466.447998046875,185.17823791503906,98.08610534667969,0.8481945395469666,14434,0.6638402342796326,Osmancik +10623,423.02301025390625,175.03427124023438,78.42090606689453,0.8940176963806152,10897,0.5872954726219177,Osmancik +10589,408.7560119628906,167.88340759277344,81.0369873046875,0.8757868409156799,10775,0.6179388165473938,Osmancik +12899,462.2690124511719,190.43052673339844,87.37380981445312,0.8885279297828674,13132,0.6829565167427063,Osmancik +11462,424.5570068359375,175.4199981689453,84.14051818847656,0.877458930015564,11650,0.7982450127601624,Osmancik +12433,442.48199462890625,173.85931396484375,93.10706329345703,0.8445155620574951,12769,0.6298378705978394,Osmancik +10150,405.73699951171875,164.7185516357422,80.26424407958984,0.8732451796531677,10338,0.592700719833374,Osmancik +11850,434.62200927734375,180.00144958496094,84.98844909667969,0.8815159797668457,12073,0.7921122908592224,Osmancik +10763,411.2829895019531,168.57058715820312,81.79901885986328,0.8743749856948853,10963,0.7673059105873108,Osmancik +11764,428.5610046386719,171.58627319335938,88.72550201416016,0.8559311628341675,12125,0.6880336999893188,Osmancik +11665,435.70599365234375,182.75189208984375,81.97319793701172,0.8937581777572632,11895,0.6459025740623474,Osmancik +11147,417.4620056152344,169.3327178955078,84.87739562988281,0.865304708480835,11331,0.7154685258865356,Osmancik +13645,454.614990234375,182.60464477539062,95.70824432373047,0.8516393899917603,13819,0.6275294423103333,Osmancik +10854,415.2799987792969,170.14402770996094,82.0053939819336,0.8761842250823975,11071,0.6237214207649231,Osmancik +12312,447.7170104980469,178.9607391357422,88.51752471923828,0.8691094517707825,12593,0.6183205842971802,Osmancik +11652,429.52099609375,172.41204833984375,87.48265838623047,0.8617079854011536,11982,0.6305195093154907,Osmancik +13460,451.0480041503906,181.47499084472656,95.35157775878906,0.8508396744728088,13697,0.7259978652000427,Osmancik +11444,424.3689880371094,174.2206573486328,84.26457214355469,0.8752527832984924,11638,0.6565691232681274,Osmancik +11859,436.25299072265625,184.6353759765625,82.17491149902344,0.8954977989196777,12049,0.6481390595436096,Osmancik +12650,438.1449890136719,175.83982849121094,92.56993865966797,0.8502093553543091,12871,0.7943485379219055,Osmancik +11227,427.8110046386719,179.55543518066406,80.32018280029297,0.8943699598312378,11430,0.5927040576934814,Osmancik +12279,455.4150085449219,191.65333557128906,82.47570037841797,0.9026678800582886,12549,0.5920443534851074,Osmancik +11694,431.3890075683594,177.07015991210938,85.11002349853516,0.8769086599349976,11875,0.6878823637962341,Osmancik +11419,431.51300048828125,175.95652770996094,83.67269897460938,0.8796992301940918,11732,0.6677777767181396,Osmancik +11357,427.0409851074219,178.59515380859375,81.39303588867188,0.8901126980781555,11546,0.5967318415641785,Osmancik +12339,453.2640075683594,191.50437927246094,82.77468872070312,0.901761531829834,12534,0.6189305782318115,Osmancik +11792,443.9110107421875,186.19723510742188,81.23108673095703,0.8998188972473145,12012,0.625338077545166,Osmancik +11377,429.385986328125,172.53964233398438,85.88433837890625,0.8673114776611328,11746,0.7354233860969543,Osmancik +12073,439.79901123046875,177.38650512695312,87.63169860839844,0.8694530725479126,12337,0.6841776967048645,Osmancik +13010,450.5610046386719,186.14744567871094,90.26013946533203,0.8745778203010559,13184,0.6333674192428589,Osmancik +12188,434.2130126953125,171.75889587402344,91.43890380859375,0.8465131521224976,12529,0.6219636797904968,Osmancik +11417,419.2749938964844,170.1563720703125,86.50347137451172,0.8611350059509277,11584,0.631436288356781,Osmancik +10811,420.23199462890625,174.5891571044922,79.97838592529297,0.8889033198356628,11027,0.6838077306747437,Osmancik +11062,411.1090087890625,167.80319213867188,84.98282623291016,0.8622731566429138,11242,0.8225758671760559,Osmancik +11745,426.7659912109375,179.01527404785156,84.02513885498047,0.8829994201660156,11904,0.6853991746902466,Osmancik +11363,423.2659912109375,175.87416076660156,83.8426284790039,0.8790555000305176,11548,0.7913503646850586,Osmancik +13524,472.7349853515625,192.08578491210938,91.37776947021484,0.8796003460884094,13947,0.5962963104248047,Osmancik +10491,411.9949951171875,174.705810546875,77.0362548828125,0.8975324034690857,10658,0.7676154375076294,Osmancik +10815,414.06201171875,171.3505096435547,80.88232421875,0.8815832734107971,11015,0.7276458144187927,Osmancik +13269,458.4939880371094,183.40435791015625,93.34014129638672,0.8608073592185974,13619,0.6107428669929504,Osmancik +9962,408.72100830078125,165.83377075195312,78.49386596679688,0.880885899066925,10231,0.6186808943748474,Osmancik +12164,435.08599853515625,177.58580017089844,88.19933319091797,0.8679465651512146,12354,0.7102236151695251,Osmancik +12434,437.8970031738281,183.22872924804688,87.0101547241211,0.8800550103187561,12605,0.7250145673751831,Osmancik +11107,408.4580078125,162.17628479003906,87.87323760986328,0.8404830694198608,11330,0.661130964756012,Osmancik +12483,437.4020080566406,173.49197387695312,92.70433807373047,0.8452672958374023,12767,0.7753416299819946,Osmancik +12494,437.218994140625,179.2800750732422,89.5073013305664,0.8664524555206299,12729,0.7052382230758667,Osmancik +13415,464.2929992675781,191.95777893066406,89.88296508789062,0.8835995197296143,13660,0.5806605219841003,Osmancik +12868,454.8590087890625,191.58615112304688,86.50890350341797,0.892250657081604,13082,0.7867449522018433,Osmancik +13034,449.85101318359375,180.1970977783203,93.86511993408203,0.8536161780357361,13333,0.6231592893600464,Osmancik +12918,459.8280029296875,193.34657287597656,86.05883026123047,0.8954801559448242,13179,0.7766955494880676,Osmancik +12260,453.2380065917969,190.84686279296875,83.03070831298828,0.9003992676734924,12586,0.7883230447769165,Osmancik +12419,452.1990051269531,183.38661193847656,87.75106811523438,0.8780858516693115,12720,0.5822861790657043,Osmancik +12881,457.78399658203125,192.62716674804688,86.60134887695312,0.8932399749755859,13109,0.5720312595367432,Osmancik +12624,452.73199462890625,192.1109619140625,84.61237335205078,0.8977845311164856,12791,0.5655913949012756,Osmancik +12437,434.6719970703125,174.9661865234375,91.87350463867188,0.8510448932647705,12670,0.7286308407783508,Osmancik +14026,467.7650146484375,191.73541259765625,94.24736785888672,0.8708498477935791,14222,0.6277300119400024,Osmancik +11271,404.4639892578125,158.98883056640625,91.34058380126953,0.8184979557991028,11462,0.6700951457023621,Osmancik +11929,436.8630065917969,177.18954467773438,86.98806762695312,0.8711977005004883,12230,0.6935465335845947,Osmancik +12387,442.2699890136719,177.71963500976562,90.97150421142578,0.8590556979179382,12754,0.5850651860237122,Osmancik +12837,445.63800048828125,178.1982879638672,93.73123168945312,0.8504882454872131,13197,0.7629263997077942,Osmancik +12638,454.5610046386719,187.56936645507812,86.9849624633789,0.8859670162200928,12902,0.7685945630073547,Osmancik +10594,401.2439880371094,167.18780517578125,81.09770965576172,0.8744755983352661,10738,0.7877751588821411,Osmancik +12337,446.2200012207031,180.54180908203125,87.79290771484375,0.8738059997558594,12628,0.612927258014679,Osmancik +12249,440.385986328125,178.58810424804688,88.6604995727539,0.8680639266967773,12538,0.7731978297233582,Osmancik +12198,442.4209899902344,183.6641845703125,85.49795532226562,0.885041356086731,12391,0.713834285736084,Osmancik +11523,441.40301513671875,183.05059814453125,81.2724609375,0.8960322141647339,11815,0.7828124761581421,Osmancik +12094,432.3909912109375,173.41880798339844,89.67160034179688,0.8559363484382629,12318,0.6378691792488098,Osmancik +10246,419.95001220703125,178.9237060546875,74.24162292480469,0.9098512530326843,10525,0.7778621315956116,Osmancik +10578,414.6199951171875,167.75192260742188,81.58570098876953,0.8737655878067017,10899,0.6039739847183228,Osmancik +12131,444.9259948730469,183.8380889892578,85.05927276611328,0.8865223526954651,12419,0.7841628789901733,Osmancik +13340,474.6820068359375,201.3853302001953,85.88858795166016,0.9044928550720215,13603,0.7016621232032776,Osmancik +11387,434.7929992675781,182.10693359375,80.46818542480469,0.8970775008201599,11612,0.5647193193435669,Osmancik +12331,441.44000244140625,175.60992431640625,90.82543182373047,0.8558646440505981,12617,0.6193992495536804,Osmancik +12297,440.60101318359375,173.32635498046875,92.03753662109375,0.8473673462867737,12678,0.7221634984016418,Osmancik +11776,430.3330078125,173.56930541992188,87.4663314819336,0.8637459874153137,12011,0.6166736483573914,Osmancik +12823,450.6409912109375,180.69752502441406,91.78144836425781,0.8613991737365723,13195,0.6978503465652466,Osmancik +10973,419.26300048828125,169.8407745361328,83.49603271484375,0.8708134889602661,11285,0.7776753902435303,Osmancik +13361,456.7449951171875,183.19627380371094,93.64110565185547,0.8594904541969299,13610,0.6856014132499695,Osmancik +9414,407.82501220703125,179.54588317871094,66.91815948486328,0.9279487133026123,9583,0.8104338645935059,Osmancik +10997,421.4849853515625,171.56141662597656,82.59305572509766,0.8764901757240295,11249,0.6103340983390808,Osmancik +11502,425.95599365234375,173.273193359375,85.45619201660156,0.8699229955673218,11776,0.6375831365585327,Osmancik +12031,444.4620056152344,184.78298950195312,84.4842758178711,0.8893597722053528,12253,0.5884568095207214,Osmancik +13095,449.34600830078125,180.78140258789062,92.73416137695312,0.8584107160568237,13294,0.6372262835502625,Osmancik +11670,434.08599853515625,172.9773406982422,87.95358276367188,0.8610804080963135,12102,0.666476309299469,Osmancik +12214,444.2919921875,180.87539672851562,87.68394470214844,0.8746386766433716,12525,0.6258454322814941,Osmancik +10819,413.2569885253906,165.16139221191406,84.57161712646484,0.8589529991149902,11091,0.6095211505889893,Osmancik +11217,424.0849914550781,168.65383911132812,86.48292541503906,0.8585178852081299,11546,0.7718827128410339,Osmancik +12574,466.5199890136719,197.8632354736328,81.88799285888672,0.9103398323059082,12902,0.6617894768714905,Osmancik +10884,406.718994140625,156.77713012695312,89.60812377929688,0.8205576539039612,11233,0.7236701846122742,Osmancik +12749,443.43701171875,177.17320251464844,92.91597747802734,0.8514499664306641,13028,0.7401021718978882,Osmancik +10412,408.7200012207031,163.75291442871094,82.41429138183594,0.8641208410263062,10735,0.6893081665039062,Osmancik +12737,445.15399169921875,178.9357452392578,91.93397521972656,0.8579207062721252,12942,0.6185411810874939,Osmancik +10360,411.239990234375,169.40110778808594,78.57222747802734,0.8859275579452515,10538,0.7848485112190247,Osmancik +10809,426.0539855957031,176.31655883789062,79.29938507080078,0.893151581287384,11121,0.7489606142044067,Osmancik +11890,434.0260009765625,178.1897735595703,85.3498764038086,0.8778241872787476,12132,0.7159200310707092,Osmancik +12013,443.4779968261719,189.2869110107422,81.28727722167969,0.9030956029891968,12160,0.5677757859230042,Osmancik +12323,438.65301513671875,174.60475158691406,91.00724792480469,0.8534231781959534,12504,0.6156574487686157,Osmancik +11669,432.0989990234375,175.2770538330078,86.8415298461914,0.8686347603797913,11886,0.7798048853874207,Osmancik +11658,443.260986328125,179.81419372558594,83.87640380859375,0.8845415115356445,12024,0.5931013226509094,Osmancik +10800,406.4830017089844,163.40896606445312,85.19110107421875,0.8533509969711304,10960,0.6306569576263428,Osmancik +12280,444.4230041503906,182.70724487304688,86.7157974243164,0.8801929354667664,12565,0.6633893251419067,Osmancik +11639,428.31201171875,172.37147521972656,87.17017364501953,0.8627029061317444,11836,0.7069363594055176,Osmancik +11145,420.31500244140625,169.13233947753906,85.58922576904297,0.8625048398971558,11364,0.7712802886962891,Osmancik +10036,402.8590087890625,166.15658569335938,77.91069030761719,0.8832516670227051,10255,0.5915708541870117,Osmancik +11860,432.0589904785156,174.31382751464844,88.15498352050781,0.8626943230628967,12140,0.7108607292175293,Osmancik +11778,432.2569885253906,173.4862060546875,87.75865173339844,0.8626192808151245,12104,0.6649729013442993,Osmancik +11759,426.13800048828125,173.68907165527344,87.18202209472656,0.8649007081985474,11941,0.6936644911766052,Osmancik +12373,438.8810119628906,175.82730102539062,90.91231536865234,0.8559523820877075,12622,0.7681753039360046,Osmancik +13218,458.76300048828125,183.6306610107422,93.50395965576172,0.8606507182121277,13547,0.7766157388687134,Osmancik +11656,434.39599609375,175.59007263183594,85.7183837890625,0.8727467060089111,11955,0.5951797366142273,Osmancik +12086,438.50299072265625,179.41664123535156,86.54946899414062,0.8759545087814331,12292,0.629479169845581,Osmancik +14009,481.97698974609375,198.52508544921875,91.063232421875,0.8885917663574219,14455,0.6842002272605896,Osmancik +11454,419.31298828125,174.1763153076172,84.37673950195312,0.8748283982276917,11604,0.8221361041069031,Osmancik +11923,432.3340148925781,174.2366180419922,88.13159942626953,0.8626416325569153,12187,0.624502420425415,Osmancik +11469,429.8580017089844,175.50994873046875,85.11319732666016,0.8745430111885071,11709,0.7892237901687622,Osmancik +11451,426.24700927734375,176.12179565429688,84.35531616210938,0.8778366446495056,11666,0.6084808111190796,Osmancik +12831,452.7200012207031,184.24652099609375,89.2625732421875,0.8748058676719666,13073,0.6112328767776489,Osmancik +12201,443.45599365234375,178.08555603027344,88.4778060913086,0.8678492903709412,12544,0.6391304135322571,Osmancik +11794,434.6189880371094,176.44444274902344,86.10284423828125,0.8728501200675964,12110,0.598376452922821,Osmancik +11487,428.0889892578125,173.95477294921875,85.4876937866211,0.8709135055541992,11695,0.64861661195755,Osmancik +12863,448.50799560546875,182.86190795898438,90.77281188964844,0.8680933713912964,13133,0.7362065315246582,Osmancik +11070,419.40301513671875,173.57504272460938,82.15421295166016,0.8808977603912354,11266,0.6005859375,Osmancik +12220,436.98199462890625,171.41091918945312,92.14522552490234,0.8432196378707886,12653,0.6239787340164185,Osmancik +11690,432.5190124511719,183.02662658691406,82.30772399902344,0.89317786693573,11846,0.5789135098457336,Osmancik +12416,449.739990234375,190.60755920410156,83.51945495605469,0.8988897204399109,12607,0.6772117614746094,Osmancik +10629,416.8900146484375,172.19091796875,79.67411804199219,0.8865107297897339,10819,0.6949329972267151,Osmancik +11379,438.16400146484375,182.20008850097656,80.88666534423828,0.8960544466972351,11735,0.5941416025161743,Osmancik +11825,437.45098876953125,182.35557556152344,83.6619873046875,0.8885473608970642,12044,0.7300283908843994,Osmancik +11314,424.0849914550781,178.7831573486328,81.83676147460938,0.8890844583511353,11482,0.7604516744613647,Osmancik +10805,410.44500732421875,164.70443725585938,84.794677734375,0.8572927117347717,11050,0.584971010684967,Osmancik +12613,450.20599365234375,184.875732421875,88.0660400390625,0.8792543411254883,12832,0.6072993278503418,Osmancik +10289,406.5379943847656,170.2439727783203,77.37797546386719,0.8907404541969299,10522,0.6244083046913147,Osmancik +10852,433.6449890136719,177.96263122558594,80.45235443115234,0.8919802308082581,11315,0.7760852575302124,Osmancik +9798,416.6679992675781,182.42518615722656,69.40626525878906,0.9247956275939941,9994,0.5867065787315369,Osmancik +10847,414.45098876953125,165.58517456054688,85.00729370117188,0.858164370059967,11148,0.6797217726707458,Osmancik +11433,426.92498779296875,175.86851501464844,84.19808197021484,0.8779481053352356,11719,0.6075243353843689,Osmancik +10502,402.8340148925781,162.62513732910156,83.3145980834961,0.8588001728057861,10798,0.6391965746879578,Osmancik +11296,424.70098876953125,169.20689392089844,87.00450134277344,0.8576762676239014,11626,0.6110239624977112,Osmancik +11378,426.614013671875,179.3922119140625,81.97147369384766,0.8894975185394287,11535,0.5968004465103149,Osmancik +10318,413.21099853515625,173.1609649658203,76.91556549072266,0.8959349393844604,10614,0.6819563508033752,Osmancik +9862,396.86199951171875,166.76165771484375,75.71849060058594,0.8909751176834106,10064,0.640389621257782,Osmancik +11139,423.3240051269531,173.0767059326172,82.68975067138672,0.8784884214401245,11380,0.7164265513420105,Osmancik +12269,435.656005859375,175.9555206298828,90.298095703125,0.8582767844200134,12583,0.7788357734680176,Osmancik +10780,407.1579895019531,163.3930206298828,85.59427642822266,0.8518073558807373,11096,0.6737499833106995,Osmancik +11867,434.81298828125,185.70448303222656,81.84722900390625,0.8976352214813232,12004,0.6810720562934875,Osmancik +10968,406.79400634765625,161.5101318359375,87.89692687988281,0.8389430046081543,11184,0.6937381625175476,Osmancik +12381,434.15899658203125,173.10073852539062,91.9629135131836,0.8472037315368652,12643,0.7431572675704956,Osmancik +10745,422.2330017089844,183.7095489501953,75.0377426147461,0.9127768278121948,10883,0.8223004341125488,Osmancik +11366,423.114990234375,171.90664672851562,85.57929992675781,0.8672779202461243,11599,0.6114040017127991,Osmancik +12605,448.84600830078125,186.71644592285156,86.67118072509766,0.8857377171516418,12804,0.7259690165519714,Osmancik +11983,430.6310119628906,175.67864990234375,87.90483093261719,0.8658100366592407,12248,0.6222672462463379,Osmancik +11385,436.60699462890625,180.0699005126953,82.65318298339844,0.8884330987930298,11778,0.759759783744812,Osmancik +12053,449.60400390625,189.50099182128906,82.26611328125,0.9008551836013794,12295,0.5644640326499939,Osmancik +11964,447.5060119628906,191.44384765625,80.27490997314453,0.907841682434082,12166,0.7546836733818054,Osmancik +12577,443.14599609375,181.53054809570312,89.8194351196289,0.8690127730369568,12826,0.6055659651756287,Osmancik +10492,405.9100036621094,162.7976531982422,83.49519348144531,0.8584620356559753,10888,0.629129946231842,Osmancik +11342,440.1990051269531,188.0708465576172,77.18611145019531,0.9119012355804443,11532,0.5785554051399231,Osmancik +12071,438.70001220703125,178.78460693359375,87.50312042236328,0.8720408082008362,12437,0.6453699469566345,Osmancik +11790,432.3269958496094,181.3406982421875,83.6561279296875,0.8872337341308594,11990,0.6046153903007507,Osmancik +11634,427.1050109863281,171.3263397216797,88.26649475097656,0.8570728898048401,11967,0.7096931338310242,Osmancik +10915,419.58599853515625,171.54232788085938,82.83171081542969,0.8756950497627258,11246,0.7834481596946716,Osmancik +9117,393.8380126953125,167.6113739013672,69.95188903808594,0.9087477922439575,9333,0.5402666926383972,Osmancik +10390,420.79400634765625,174.04563903808594,77.64330291748047,0.8949787020683289,10689,0.7288159132003784,Osmancik +11174,430.30499267578125,175.48277282714844,83.01683807373047,0.8810211420059204,11604,0.6736600995063782,Osmancik +12027,445.2019958496094,178.7362518310547,87.69733428955078,0.8713554739952087,12455,0.6118742227554321,Osmancik +12537,440.1059875488281,177.27471923828125,91.0868148803711,0.8578996062278748,12845,0.6704277992248535,Osmancik +11392,424.52398681640625,172.1981658935547,85.84371948242188,0.8668798804283142,11707,0.6780952215194702,Osmancik +10538,401.3429870605469,166.76625061035156,81.17021179199219,0.8735522031784058,10682,0.7935240864753723,Osmancik +11912,430.3710021972656,177.48220825195312,86.58567810058594,0.8729243874549866,12119,0.7223771810531616,Osmancik +11335,426.5840148925781,172.7469940185547,85.12076568603516,0.8701719641685486,11618,0.6667646765708923,Osmancik +12067,440.0010070800781,187.7613525390625,82.31121063232422,0.8987886905670166,12200,0.6172378659248352,Osmancik +12416,447.9630126953125,187.29954528808594,85.3917465209961,0.8900258541107178,12660,0.6205828189849854,Osmancik +11447,436.8689880371094,180.43731689453125,82.31012725830078,0.889892578125,11733,0.572579026222229,Osmancik +12683,444.531005859375,176.62496948242188,92.58024597167969,0.8516180515289307,13094,0.6680889129638672,Osmancik +10584,437.0480041503906,188.44142150878906,72.54808807373047,0.9229207038879395,10936,0.5580512285232544,Osmancik +10817,403.99798583984375,167.42335510253906,82.72126770019531,0.8694139719009399,10953,0.7850921750068665,Osmancik +11926,435.7539978027344,173.26959228515625,89.6329116821289,0.8558021783828735,12308,0.7531893253326416,Osmancik +10941,423.4079895019531,172.85108947753906,81.42478942871094,0.8820963501930237,11248,0.6295166611671448,Osmancik +9679,399.8479919433594,168.53921508789062,74.09880065917969,0.898167610168457,9917,0.62509685754776,Osmancik +12735,441.3800048828125,174.73751831054688,94.10659790039062,0.8425873517990112,13066,0.6974260807037354,Osmancik +11691,426.2799987792969,176.18995666503906,85.12367248535156,0.8755454421043396,11908,0.6182442903518677,Osmancik +11573,427.281005859375,176.7890625,84.6452865600586,0.8779280781745911,11828,0.6068376302719116,Osmancik +11490,424.56201171875,172.40646362304688,85.88819885253906,0.8670778274536133,11733,0.614274263381958,Osmancik +10380,399.0530090332031,161.87367248535156,82.76502227783203,0.8594059348106384,10606,0.68596351146698,Osmancik +10032,403.09600830078125,165.6066131591797,78.4832763671875,0.880571186542511,10307,0.7459845542907715,Osmancik +11287,421.9930114746094,176.18260192871094,82.7287368774414,0.882899284362793,11469,0.8164195418357849,Osmancik +11201,416.5350036621094,171.00299072265625,84.2417984008789,0.870236873626709,11384,0.7576434016227722,Osmancik +13387,458.95599365234375,180.40081787109375,95.74205780029297,0.8475481271743774,13653,0.6329550743103027,Osmancik +12188,441.2829895019531,181.4772491455078,86.31768798828125,0.8796404600143433,12364,0.6014606952667236,Osmancik +11016,404.35400390625,166.7065887451172,84.5053482055664,0.8619986176490784,11146,0.7633037567138672,Osmancik +11881,429.802001953125,173.52503967285156,88.33555603027344,0.8607279658317566,12215,0.6467962265014648,Osmancik +10816,417.781005859375,170.9293212890625,81.6661148071289,0.8784810900688171,11119,0.5891067385673523,Osmancik +11125,420.2090148925781,173.17193603515625,82.77818298339844,0.8783535361289978,11408,0.6421356201171875,Osmancik +9369,396.760009765625,164.61721801757812,73.85871124267578,0.8936977982521057,9592,0.652800977230072,Osmancik +11601,447.12799072265625,191.382568359375,78.36670684814453,0.9123205542564392,11925,0.5786612033843994,Osmancik +12945,454.6780090332031,185.91017150878906,89.5959701538086,0.8762089014053345,13220,0.6526013016700745,Osmancik +12070,444.4549865722656,183.93946838378906,85.0807113647461,0.8865945935249329,12400,0.6819208860397339,Osmancik +12036,436.1549987792969,177.33657836914062,87.9798583984375,0.8682551383972168,12353,0.6154317855834961,Osmancik +12419,439.1570129394531,175.85406494140625,90.91184997558594,0.8560015559196472,12675,0.6238195896148682,Osmancik +11334,433.3890075683594,178.98973083496094,82.29804229736328,0.8880266547203064,11566,0.7115771174430847,Osmancik +10562,407.1940002441406,168.7752685546875,80.46923065185547,0.8790208697319031,10724,0.6112268567085266,Osmancik +10895,411.5899963378906,167.44122314453125,84.25878143310547,0.8641617894172668,11155,0.6862559914588928,Osmancik +10583,401.30999755859375,164.73561096191406,82.48628234863281,0.8656097650527954,10769,0.7234755158424377,Osmancik +10440,405.614990234375,165.24684143066406,82.02889251708984,0.8680926561355591,10716,0.5984179973602295,Osmancik +10365,416.3389892578125,169.58657836914062,79.64149475097656,0.8828678727149963,10684,0.5929633975028992,Osmancik +11632,442.4440002441406,187.0115203857422,80.88976287841797,0.9016152620315552,11860,0.7945355176925659,Osmancik +11535,420.81201171875,169.7304229736328,87.86319732666016,0.855584442615509,11793,0.6601991653442383,Osmancik +9762,397.2489929199219,161.86630249023438,78.29550170898438,0.8752312064170837,10126,0.7486196160316467,Osmancik +11119,415.02398681640625,171.28150939941406,83.17961883544922,0.8741638660430908,11346,0.6323361992835999,Osmancik +11396,431.2969970703125,177.63839721679688,82.85763549804688,0.8845528960227966,11612,0.7532055377960205,Osmancik +12126,432.95098876953125,169.80474853515625,92.4389877319336,0.838836133480072,12476,0.7518601417541504,Osmancik +11243,430.9330139160156,179.99966430664062,81.03175354003906,0.8929392099380493,11524,0.7389418482780457,Osmancik +12574,444.6310119628906,174.5602569580078,93.24240112304688,0.8453859686851501,12964,0.6547253131866455,Osmancik +13098,458.7330017089844,187.31576538085938,90.63008117675781,0.8751587867736816,13423,0.6019301414489746,Osmancik +10961,419.38800048828125,169.5791473388672,84.24118041992188,0.8678844571113586,11323,0.7585467100143433,Osmancik +10590,412.5069885253906,173.71124267578125,78.52342224121094,0.8920006155967712,10743,0.7839218378067017,Osmancik +10579,405.12200927734375,167.2933349609375,81.34564971923828,0.8738221526145935,10750,0.796371579170227,Osmancik +11323,422.43798828125,169.98455810546875,86.26496124267578,0.8616593480110168,11628,0.6031213402748108,Osmancik +10512,418.0669860839844,170.818359375,79.28153991699219,0.8857682347297668,10776,0.5879194736480713,Osmancik +10866,404.3580017089844,163.93235778808594,85.32536315917969,0.8538669943809509,11039,0.6286739110946655,Osmancik +11919,434.26300048828125,175.56417846679688,87.84673309326172,0.8658127188682556,12152,0.6096363067626953,Osmancik +12692,456.7929992675781,181.23281860351562,91.12804412841797,0.8643893599510193,13147,0.7835535407066345,Osmancik +8328,369.7380065917969,152.56585693359375,70.568603515625,0.8865957260131836,8579,0.5844210386276245,Osmancik +11354,426.87298583984375,172.39625549316406,85.40240478515625,0.8686739206314087,11703,0.7292228937149048,Osmancik +11291,432.64599609375,177.01272583007812,82.56719207763672,0.8845487236976624,11586,0.6526589393615723,Osmancik +11905,433.25,172.77059936523438,89.23660278320312,0.8562851548194885,12224,0.7320747971534729,Osmancik +10725,411.6910095214844,164.600341796875,84.29296875,0.8589217066764832,11009,0.6661490797996521,Osmancik +11907,448.1650085449219,185.9811553955078,82.81884002685547,0.8953775763511658,12209,0.5653846263885498,Osmancik +11862,436.29998779296875,177.20021057128906,86.44499206542969,0.8729342222213745,12146,0.7615562677383423,Osmancik +11912,439.635986328125,179.97760009765625,85.30269622802734,0.8805448412895203,12222,0.6039649248123169,Osmancik +12101,435.9289855957031,178.39732360839844,86.9837646484375,0.8730758428573608,12302,0.7405752539634705,Osmancik +11749,455.2569885253906,192.58999633789062,78.04095458984375,0.9142200350761414,12001,0.6066504716873169,Osmancik +13325,468.3500061035156,188.90274047851562,90.83171081542969,0.8768091797828674,13643,0.6126436591148376,Osmancik +10272,413.6919860839844,175.9196319580078,74.96435546875,0.9046626687049866,10462,0.594788670539856,Osmancik +11259,421.5050048828125,172.2118377685547,84.22154998779297,0.8722513318061829,11522,0.7936698198318481,Osmancik +10574,415.9570007324219,172.7042999267578,78.681396484375,0.8901925683021545,10831,0.6727747321128845,Osmancik +11443,427.2309875488281,176.9819793701172,82.91759490966797,0.8834589123725891,11618,0.6289781928062439,Osmancik +9346,383.7439880371094,158.0488739013672,75.9828872680664,0.8768545985221863,9539,0.6790177226066589,Osmancik +11432,424.177001953125,170.66464233398438,86.86542510986328,0.8607764840126038,11702,0.6601986885070801,Osmancik +10993,428.7040100097656,179.57823181152344,78.64100646972656,0.8990136384963989,11169,0.568760335445404,Osmancik +10218,401.77301025390625,163.24476623535156,80.51644897460938,0.8699015974998474,10516,0.6953858733177185,Osmancik +11200,428.1669921875,176.10751342773438,82.36244201660156,0.8838964104652405,11424,0.5842462182044983,Osmancik +9080,396.5400085449219,165.68701171875,70.25222778320312,0.905659556388855,9387,0.5780861973762512,Osmancik +13103,456.7860107421875,184.17466735839844,91.96734619140625,0.866401195526123,13401,0.7616252303123474,Osmancik +10561,417.9330139160156,172.89071655273438,79.52290344238281,0.8879393935203552,10804,0.6479141116142273,Osmancik +11249,418.93798828125,168.60862731933594,86.19229125976562,0.8594633340835571,11423,0.6219040155410767,Osmancik +10214,392.239990234375,158.93234252929688,82.07255554199219,0.856347918510437,10371,0.6645413041114807,Osmancik +12042,440.70001220703125,177.11135864257812,88.22966003417969,0.8670855760574341,12424,0.751685380935669,Osmancik +11226,425.01300048828125,180.23428344726562,79.79391479492188,0.8966583013534546,11414,0.7130788564682007,Osmancik +14932,488.864990234375,203.93930053710938,94.11239624023438,0.8871544599533081,15200,0.7816163897514343,Osmancik +10873,416.66900634765625,168.9403533935547,83.3411636352539,0.8698495626449585,11151,0.6822916865348816,Osmancik +11859,421.81298828125,169.9307861328125,89.38180541992188,0.8504910469055176,12056,0.7014669179916382,Osmancik +9519,402.218994140625,173.3811798095703,70.5107192993164,0.9135705232620239,9682,0.7510058879852295,Osmancik +11565,428.4859924316406,180.7183380126953,81.82832336425781,0.8916147947311401,11737,0.7640724182128906,Osmancik +11860,429.7929992675781,178.2135772705078,85.30594635009766,0.8779935240745544,12032,0.7005729675292969,Osmancik +13085,446.3070068359375,179.1730499267578,94.19095611572266,0.850671112537384,13319,0.7945712804794312,Osmancik +10453,421.5159912109375,171.9844512939453,78.82699584960938,0.888778030872345,10701,0.5789852738380432,Osmancik +9120,383.572998046875,158.46270751953125,74.15767669677734,0.8837380409240723,9293,0.6176351308822632,Osmancik +11316,429.635009765625,177.27830505371094,82.78518676757812,0.884268581867218,11544,0.7564170956611633,Osmancik +12800,448.2919921875,185.55368041992188,88.7669448852539,0.8781477212905884,13000,0.781440794467926,Osmancik +11599,432.3169860839844,180.88185119628906,82.32106018066406,0.8904354572296143,11788,0.6150053143501282,Osmancik +11715,430.3789978027344,172.7517852783203,87.85530853271484,0.8610243201255798,12009,0.7783535718917847,Osmancik +10132,398.6719970703125,162.84519958496094,80.07435607910156,0.8707529902458191,10306,0.668911337852478,Osmancik +11828,437.9070129394531,184.95726013183594,82.3454360961914,0.8954245448112488,12020,0.616426944732666,Osmancik +11624,452.3710021972656,190.01771545410156,79.30647277832031,0.9087396264076233,11979,0.5860052704811096,Osmancik +11910,434.7380065917969,178.36727905273438,86.32251739501953,0.875090479850769,12118,0.7916251420974731,Osmancik +12136,455.4289855957031,195.57040405273438,80.09986877441406,0.9122784733772278,12334,0.7723049521446228,Osmancik +11787,434.5140075683594,181.29046630859375,83.34933471679688,0.8880454301834106,11965,0.7441287636756897,Osmancik +12347,452.2900085449219,186.8960418701172,85.22989654541016,0.8899652361869812,12659,0.6052451133728027,Osmancik +11247,419.1910095214844,173.84548950195312,82.95931243896484,0.8787939548492432,11439,0.6927198767662048,Osmancik +12037,436.2019958496094,177.2335205078125,87.29960632324219,0.8702738285064697,12285,0.671932578086853,Osmancik +11765,429.2929992675781,175.06307983398438,86.72859954833984,0.8686573505401611,11969,0.6111688017845154,Osmancik +10536,425.36700439453125,182.95021057128906,73.8676528930664,0.9148657321929932,10704,0.7504273653030396,Osmancik +11320,423.99200439453125,173.091064453125,84.60881805419922,0.8723897337913513,11556,0.5989418029785156,Osmancik +11569,433.01300048828125,183.72030639648438,80.48042297363281,0.8989459872245789,11734,0.6103724837303162,Osmancik +12182,433.8370056152344,180.6137237548828,86.60643768310547,0.877535343170166,12341,0.7779054641723633,Osmancik +11584,434.739013671875,180.84742736816406,82.18374633789062,0.8907789587974548,11863,0.6817325949668884,Osmancik +10803,409.125,169.41493225097656,81.78897094726562,0.8757454752922058,10968,0.7435473799705505,Osmancik +11908,430.7030029296875,174.3730010986328,88.10850524902344,0.8629510402679443,12162,0.6883236765861511,Osmancik +10144,416.1510009765625,173.6658172607422,75.35470581054688,0.9009580016136169,10414,0.5704003572463989,Osmancik +12608,440.125,174.60252380371094,93.52519989013672,0.8444424271583557,12835,0.6310310363769531,Osmancik +12099,427.1789855957031,170.9197998046875,91.33011627197266,0.845266580581665,12326,0.786159873008728,Osmancik +12579,445.88800048828125,185.28030395507812,86.882080078125,0.8832393884658813,12794,0.6529796719551086,Osmancik +10685,421.0379943847656,172.41818237304688,79.99727630615234,0.88584965467453,10971,0.5863147377967834,Osmancik +12120,441.0,180.37652587890625,86.71607971191406,0.8768575191497803,12479,0.6422553062438965,Osmancik +9468,386.49798583984375,162.47389221191406,74.97503662109375,0.8871615529060364,9608,0.7537616491317749,Osmancik +12663,441.2879943847656,180.87673950195312,89.98505401611328,0.8674675226211548,12833,0.7164356708526611,Osmancik +11266,414.72900390625,166.42735290527344,87.76852416992188,0.8496367335319519,11452,0.6190109848976135,Osmancik +12161,430.5870056152344,171.624755859375,92.09138488769531,0.8438458442687988,12460,0.6886963248252869,Osmancik +10035,398.09698486328125,162.661865234375,79.6461181640625,0.8719234466552734,10236,0.5980690121650696,Osmancik +12161,448.5920104980469,186.4012908935547,84.4188232421875,0.8915676474571228,12453,0.6078372597694397,Osmancik +12397,433.35198974609375,171.6092987060547,92.98809814453125,0.8404691815376282,12631,0.6347669959068298,Osmancik +11410,436.3689880371094,180.80259704589844,81.64021301269531,0.8922491669654846,11710,0.617825448513031,Osmancik +11703,422.0530090332031,166.01040649414062,91.12495422363281,0.835880696773529,12023,0.6537623405456543,Osmancik +12535,442.93798828125,185.83670043945312,86.9127197265625,0.8838961124420166,12669,0.6017184853553772,Osmancik +11782,433.73699951171875,182.74081420898438,83.04752349853516,0.8907695412635803,12083,0.7565658688545227,Osmancik +12693,448.1579895019531,180.089599609375,91.82331848144531,0.8602480888366699,13035,0.5934081077575684,Osmancik +12678,452.9259948730469,190.83859252929688,85.6509017944336,0.8936255574226379,12930,0.6395278573036194,Osmancik +11840,420.1409912109375,166.92889404296875,90.98128509521484,0.8384163975715637,12021,0.7966090440750122,Osmancik +12397,446.3190002441406,184.80026245117188,86.4162368774414,0.8839297890663147,12594,0.5978491306304932,Osmancik +13056,485.6610107421875,205.52964782714844,82.62532806396484,0.9156345129013062,13492,0.5364230275154114,Osmancik +12266,438.822998046875,178.84243774414062,88.80107116699219,0.8680181503295898,12554,0.7699937224388123,Osmancik +9571,388.5920104980469,160.93658447265625,76.43877410888672,0.8800062537193298,9720,0.6374292373657227,Osmancik +11236,421.4440002441406,171.7626495361328,84.28899383544922,0.8713120222091675,11440,0.6083049178123474,Osmancik +14658,477.11700439453125,189.56663513183594,99.9977798461914,0.8495505452156067,15048,0.6495037078857422,Osmancik +11553,432.4779968261719,177.9644012451172,84.0633773803711,0.8814053535461426,11845,0.5815463662147522,Osmancik +12615,458.2349853515625,185.04196166992188,88.18565368652344,0.8791359066963196,13014,0.621673583984375,Osmancik +12692,447.739013671875,174.88063049316406,94.1607894897461,0.8426709771156311,13148,0.6457061171531677,Osmancik +10975,420.5220031738281,169.9667510986328,83.40963745117188,0.871305525302887,11305,0.6867960095405579,Osmancik +13553,455.19000244140625,179.3602294921875,97.49701690673828,0.839356005191803,13877,0.7212111353874207,Osmancik +12213,442.2720031738281,183.69931030273438,85.81993103027344,0.8841642737388611,12474,0.7953761219978333,Osmancik +12837,464.76800537109375,194.30072021484375,85.33184051513672,0.8984019756317139,13053,0.584270179271698,Osmancik +12885,463.43798828125,192.96786499023438,86.65742492675781,0.8934930562973022,13263,0.5890285968780518,Osmancik +11911,441.05999755859375,185.20558166503906,82.24365234375,0.8959936499595642,12119,0.5804581046104431,Osmancik +13045,446.0060119628906,174.6897735595703,96.45601654052734,0.833740770816803,13351,0.6327916383743286,Osmancik +12637,455.2909851074219,187.80650329589844,86.84584045410156,0.8866600394248962,12958,0.617342472076416,Osmancik +11483,429.552001953125,173.86204528808594,85.40531921386719,0.8710329532623291,11770,0.7723298072814941,Osmancik +12237,432.3900146484375,169.6468048095703,93.41069030761719,0.8347569704055786,12577,0.7045716047286987,Osmancik +12675,466.10101318359375,195.8082275390625,83.4039535522461,0.9047480225563049,12977,0.5802508592605591,Osmancik +12649,459.94500732421875,190.4369659423828,85.74949645996094,0.892888605594635,12886,0.6981840133666992,Osmancik +13217,471.7510070800781,194.13131713867188,88.09217834472656,0.891115665435791,13520,0.572090208530426,Osmancik +11372,435.5929870605469,179.56715393066406,81.47212982177734,0.8911473751068115,11608,0.5799673795700073,Osmancik +12831,455.24200439453125,187.26712036132812,88.07061767578125,0.8825097680091858,13084,0.6165193319320679,Osmancik +11742,428.03399658203125,171.2318878173828,88.02339935302734,0.8577544689178467,11951,0.6304429769515991,Osmancik +10667,411.74700927734375,163.9302520751953,84.71981048583984,0.8561037182807922,10987,0.6661046743392944,Osmancik +11470,427.197998046875,174.03909301757812,85.10541534423828,0.8722828030586243,11767,0.6397813558578491,Osmancik +10167,406.82598876953125,160.96185302734375,82.92120361328125,0.8570936918258667,10479,0.665031373500824,Osmancik +12720,443.4549865722656,183.202392578125,89.49655151367188,0.8725572228431702,12904,0.7765567898750305,Osmancik +11027,422.3890075683594,172.867431640625,82.66506958007812,0.8782514333724976,11350,0.7818349599838257,Osmancik +11794,422.10198974609375,169.28565979003906,89.53070831298828,0.8487006425857544,12026,0.7639590501785278,Osmancik +12301,440.0069885253906,175.4166717529297,90.57799530029297,0.8563721776008606,12591,0.669624388217926,Osmancik +12204,436.8550109863281,169.29322814941406,93.1858139038086,0.8348745107650757,12505,0.7477940917015076,Osmancik +11458,437.4410095214844,178.6035919189453,83.98284912109375,0.8825496435165405,11732,0.7620377540588379,Osmancik +10882,411.7460021972656,168.95947265625,83.18147277832031,0.8704164624214172,11033,0.7540188431739807,Osmancik +12053,440.9779968261719,180.0957489013672,86.76284790039062,0.8763034343719482,12351,0.5904859900474548,Osmancik +11281,424.97100830078125,170.97596740722656,85.2737808227539,0.8667474985122681,11543,0.6894633769989014,Osmancik +10948,408.4389953613281,167.17611694335938,83.6878890991211,0.8656803965568542,11132,0.7546701431274414,Osmancik +11525,432.29901123046875,177.11610412597656,83.65916442871094,0.8814160227775574,11794,0.6449717283248901,Osmancik +12340,456.3970031738281,189.22506713867188,84.49087524414062,0.8947786688804626,12624,0.6361480355262756,Osmancik +11340,420.9209899902344,169.63531494140625,86.17671966552734,0.8613501787185669,11639,0.630630612373352,Osmancik +12326,444.0669860839844,181.0114288330078,87.66716766357422,0.8748918175697327,12597,0.6708027124404907,Osmancik +11975,434.9110107421875,176.540283203125,87.28521728515625,0.8692225813865662,12216,0.7603174448013306,Osmancik +9944,407.3609924316406,169.64474487304688,75.97413635253906,0.8941124081611633,10212,0.5585889220237732,Osmancik +11432,428.5369873046875,172.69300842285156,85.30267333984375,0.8694871664047241,11696,0.6228615045547485,Osmancik +12695,447.8340148925781,179.08238220214844,91.4732437133789,0.8597063422203064,12947,0.6079689860343933,Osmancik +10864,426.5780029296875,174.11013793945312,81.12305450439453,0.8848218321800232,11170,0.5781183242797852,Osmancik +12913,449.02398681640625,178.16380310058594,93.14697265625,0.8524452447891235,13198,0.6256298422813416,Osmancik +13117,451.8680114746094,173.7209014892578,98.30622100830078,0.8244835138320923,13453,0.6556205153465271,Osmancik +10713,443.40399169921875,192.8861846923828,71.78689575195312,0.9281636476516724,10969,0.6961013674736023,Osmancik +10344,406.1889953613281,169.3666534423828,78.96368408203125,0.8846639394760132,10533,0.7174365520477295,Osmancik +10483,419.0159912109375,176.62010192871094,76.32421875,0.9018076062202454,10773,0.6928618550300598,Osmancik +11697,424.14801025390625,170.55209350585938,88.91114807128906,0.8533651232719421,11939,0.6272522807121277,Osmancik +12764,449.54901123046875,185.93809509277344,88.23936462402344,0.8802214860916138,12950,0.7243218421936035,Osmancik +10784,424.1440124511719,176.9599609375,78.4612808227539,0.8963316082954407,11091,0.6369005441665649,Osmancik +12811,453.93701171875,185.72889709472656,89.51058959960938,0.8762030005455017,13112,0.5850840210914612,Osmancik +12593,449.57000732421875,179.3675537109375,90.69927978515625,0.86273193359375,12945,0.6275789737701416,Osmancik +10767,410.62298583984375,166.02317810058594,83.88679504394531,0.8629603981971741,10978,0.7721600532531738,Osmancik +10572,403.2690124511719,164.572509765625,81.97684478759766,0.8671081066131592,10745,0.7470850348472595,Osmancik +11312,421.5459899902344,168.25601196289062,87.21075439453125,0.8551856875419617,11622,0.7692098617553711,Osmancik +10740,422.76800537109375,182.9649200439453,75.03801727294922,0.9120304584503174,10886,0.5563613772392273,Osmancik +11052,418.95001220703125,170.46644592285156,83.59331512451172,0.871508777141571,11338,0.7019817233085632,Osmancik +11906,433.8559875488281,174.29978942871094,88.25260925292969,0.8623418211936951,12179,0.6208478808403015,Osmancik +12466,453.4469909667969,185.61611938476562,86.58856964111328,0.8845250010490417,12706,0.6019895672798157,Osmancik +12871,448.5820007324219,183.87454223632812,90.27629852294922,0.8711782693862915,13102,0.7337247729301453,Osmancik +12714,434.1180114746094,169.25521850585938,96.89130401611328,0.8199349045753479,12993,0.7419467568397522,Osmancik +13066,458.2619934082031,186.34585571289062,90.90145874023438,0.8729495406150818,13315,0.6148127317428589,Osmancik +11682,437.0400085449219,176.23098754882812,86.32249450683594,0.8718202710151672,11969,0.5811940431594849,Osmancik +11422,421.06500244140625,169.5421905517578,87.03211975097656,0.8581876754760742,11669,0.61181640625,Osmancik +11278,422.1860046386719,170.4181671142578,86.04627990722656,0.8631704449653625,11642,0.6246469020843506,Osmancik +11462,423.2349853515625,171.58929443359375,85.72185516357422,0.8662701845169067,11712,0.6946666836738586,Osmancik +12057,448.4410095214844,183.94496154785156,85.17786407470703,0.8863260746002197,12295,0.7326810956001282,Osmancik +10989,431.1239929199219,180.48004150390625,78.81407928466797,0.8996113538742065,11268,0.6859550476074219,Osmancik +9516,386.8210144042969,155.5244903564453,79.22835540771484,0.8605139255523682,9753,0.6988836526870728,Osmancik +12317,432.3009948730469,174.63092041015625,90.63893127441406,0.854755163192749,12506,0.6380212306976318,Osmancik +12675,453.35198974609375,191.33682250976562,85.12999725341797,0.8955692052841187,12856,0.5718474984169006,Osmancik +9292,414.1189880371094,183.63970947265625,64.8710708618164,0.9355282783508301,9442,0.5010784864425659,Osmancik +12540,456.2019958496094,185.98069763183594,87.51024627685547,0.8823818564414978,12854,0.590062141418457,Osmancik +9373,383.04901123046875,159.3786163330078,75.7503662109375,0.8798315525054932,9520,0.7238956093788147,Osmancik +14350,472.02099609375,189.9021759033203,97.03052520751953,0.8596104383468628,14577,0.651798665523529,Osmancik +11870,432.2980041503906,177.3648223876953,86.76658630371094,0.8721725344657898,12143,0.7708292603492737,Osmancik +9732,395.6239929199219,166.2510528564453,75.5727767944336,0.8907108902931213,9887,0.5865477323532104,Osmancik +11671,430.239990234375,177.18014526367188,84.81885528564453,0.8779701590538025,11895,0.6746242642402649,Osmancik +10851,408.92999267578125,168.0082244873047,83.32894897460938,0.8683331608772278,11007,0.6155548095703125,Osmancik +13314,457.697998046875,182.6723175048828,94.06268310546875,0.85723477602005,13562,0.6145111918449402,Osmancik +10510,416.71099853515625,174.78028869628906,77.30442810058594,0.8968696594238281,10691,0.5883340835571289,Osmancik +10874,426.87298583984375,177.25033569335938,79.62494659423828,0.893419623374939,11211,0.6396470665931702,Osmancik +12539,437.4259948730469,174.90057373046875,92.7246322631836,0.8478999733924866,12835,0.7873783111572266,Osmancik +11102,423.593994140625,173.86256408691406,82.35933685302734,0.8806842565536499,11332,0.5915387868881226,Osmancik +10395,415.2959899902344,170.19351196289062,79.3372802734375,0.8847008347511292,10725,0.6096774339675903,Osmancik +10669,404.8009948730469,162.4951934814453,84.97767639160156,0.8523603081703186,10908,0.67525315284729,Osmancik +9768,413.5580139160156,179.79776000976562,69.92797088623047,0.9212691187858582,9943,0.702531635761261,Osmancik +11423,418.60400390625,169.0732879638672,87.28488159179688,0.8564351201057434,11717,0.6554771065711975,Osmancik +13135,459.2560119628906,189.78062438964844,89.05083465576172,0.8830757737159729,13353,0.5800653696060181,Osmancik +10815,420.81500244140625,179.9677276611328,77.099365234375,0.9035860300064087,10981,0.5692105293273926,Osmancik +10829,404.7510070800781,160.11788940429688,87.50862121582031,0.8374419808387756,11138,0.7214523553848267,Osmancik +11686,433.4389953613281,176.76243591308594,85.64665222167969,0.8747748136520386,12038,0.7815676927566528,Osmancik +9763,404.14599609375,169.18585205078125,74.55428314208984,0.897671639919281,10047,0.7086963057518005,Osmancik +12366,451.8609924316406,180.86585998535156,89.14078521728516,0.8701110482215881,12620,0.586622416973114,Osmancik +9621,408.7170104980469,175.7335662841797,70.45018005371094,0.9161252975463867,9779,0.5164251327514648,Osmancik +11590,435.84600830078125,176.9395294189453,84.80960083007812,0.8776434659957886,11880,0.7236513495445251,Osmancik +13060,465.64801025390625,192.37200927734375,87.5980453491211,0.890308678150177,13352,0.5805476307868958,Osmancik +11928,439.91900634765625,181.0348358154297,85.22491455078125,0.8822584748268127,12218,0.59061199426651,Osmancik +11230,422.7179870605469,172.90003967285156,83.8480224609375,0.8745414018630981,11462,0.6066007614135742,Osmancik +11603,427.5249938964844,175.94041442871094,84.68665313720703,0.8765355348587036,11807,0.8034206032752991,Osmancik +10589,411.9289855957031,170.27212524414062,80.86865997314453,0.8800193667411804,10850,0.7242817878723145,Osmancik +11245,421.5480041503906,174.5754852294922,82.91380310058594,0.8800153136253357,11475,0.6819284558296204,Osmancik +10190,397.7860107421875,161.47743225097656,81.71532440185547,0.8625053763389587,10476,0.7862654328346252,Osmancik +12019,442.11199951171875,183.98193359375,84.30915069580078,0.8888249397277832,12290,0.5800675749778748,Osmancik +11746,431.8269958496094,174.58006286621094,87.34896087646484,0.8658304214477539,12096,0.7188494205474854,Osmancik +12613,459.9129943847656,193.3721466064453,84.31452941894531,0.8999359607696533,12937,0.6278873085975647,Osmancik +11559,435.18499755859375,178.78207397460938,83.54547119140625,0.8840970396995544,11796,0.6663784384727478,Osmancik +13950,490.427001953125,209.6511688232422,85.3592529296875,0.9133617877960205,14158,0.5502958297729492,Osmancik +11224,424.74700927734375,174.42144775390625,83.19822692871094,0.8789057731628418,11544,0.7134503126144409,Osmancik +11993,438.0740051269531,175.5400848388672,88.08393096923828,0.8649905323982239,12359,0.6077328324317932,Osmancik +11479,421.07501220703125,171.3476104736328,85.80913543701172,0.8655689358711243,11677,0.7990950345993042,Osmancik +11485,424.4880065917969,175.31536865234375,84.48103332519531,0.8762369751930237,11688,0.6062605381011963,Osmancik +12837,463.3219909667969,192.92367553710938,86.35762023925781,0.8942209482192993,13229,0.5888261795043945,Osmancik +10873,408.489013671875,167.7020263671875,83.42141723632812,0.8674993515014648,11073,0.6681209206581116,Osmancik +10664,414.9389953613281,168.07908630371094,81.73141479492188,0.8738099336624146,10929,0.6453643441200256,Osmancik +10729,414.6990051269531,171.72987365722656,81.4269790649414,0.8804401159286499,10987,0.7942112684249878,Osmancik +10841,410.3320007324219,167.11495971679688,84.25271606445312,0.8636101484298706,11079,0.7344850897789001,Osmancik +12020,425.7340087890625,175.54869079589844,87.59830474853516,0.8666036128997803,12176,0.6468625664710999,Osmancik +12314,440.14599609375,180.83665466308594,87.92053985595703,0.8738544583320618,12587,0.804836630821228,Osmancik +11792,427.7829895019531,180.8717498779297,83.27078247070312,0.8877189755439758,11923,0.7183235883712769,Osmancik +8505,359.1000061035156,147.79888916015625,73.80868530273438,0.8663796782493591,8651,0.6772575378417969,Osmancik +11928,432.52301025390625,171.01953125,90.0660171508789,0.8500873446464539,12195,0.6348733305931091,Osmancik +11915,433.28399658203125,178.5229034423828,86.50725555419922,0.8747512102127075,12101,0.626314103603363,Osmancik +10789,413.739990234375,170.51829528808594,81.97903442382812,0.8768500685691833,11016,0.6905401945114136,Osmancik +10366,403.4599914550781,162.35617065429688,83.0684814453125,0.8591978549957275,10680,0.7075284719467163,Osmancik +11476,424.7829895019531,169.09042358398438,88.18059539794922,0.8532515168190002,11845,0.6245442032814026,Osmancik +12368,449.8580017089844,182.7323760986328,87.26390838623047,0.8786044120788574,12722,0.608661413192749,Osmancik +10695,406.45098876953125,164.57029724121094,84.04563903808594,0.8597604632377625,10930,0.6123325228691101,Osmancik +11240,426.6440124511719,175.5941162109375,82.95658874511719,0.8813661932945251,11427,0.6065184473991394,Osmancik +11552,432.81201171875,178.89076232910156,84.07980346679688,0.8826630115509033,11838,0.6364738345146179,Osmancik +11122,410.98699951171875,165.03631591796875,87.14314270019531,0.8492293953895569,11379,0.7138639092445374,Osmancik +13099,453.3659973144531,180.98263549804688,93.60396575927734,0.8558654189109802,13377,0.6273167133331299,Osmancik +9510,401.49200439453125,169.67100524902344,72.38471221923828,0.9044318795204163,9764,0.6545529365539551,Osmancik +12466,448.85699462890625,181.19337463378906,88.6875,0.8720239400863647,12779,0.6040899157524109,Osmancik +10595,407.2669982910156,166.13063049316406,82.56895446777344,0.8677435517311096,10849,0.642705500125885,Osmancik +10828,415.85101318359375,167.3562774658203,83.59038543701172,0.8663279414176941,11225,0.6537068486213684,Osmancik +10667,415.23699951171875,170.33615112304688,81.36894226074219,0.8785250782966614,11041,0.6877498626708984,Osmancik +12845,464.1210021972656,194.33221435546875,85.52433776855469,0.8979519605636597,13125,0.774962306022644,Osmancik +11072,421.0,174.789306640625,81.57894134521484,0.884401261806488,11245,0.7954022884368896,Osmancik +12495,443.6780090332031,184.9876708984375,87.13018035888672,0.8821303844451904,12690,0.7426007390022278,Osmancik +9723,388.61700439453125,158.36082458496094,79.34258270263672,0.8654333353042603,9949,0.6251928806304932,Osmancik +11905,443.7690124511719,185.27023315429688,83.6057357788086,0.8923906683921814,12209,0.6272061467170715,Osmancik +11809,433.0539855957031,170.8712158203125,89.4826431274414,0.8519121408462524,12129,0.6174317598342896,Osmancik +12219,436.20599365234375,179.4359130859375,87.93396759033203,0.8716899752616882,12434,0.6034073829650879,Osmancik +12898,454.7669982910156,184.3739776611328,90.95403289794922,0.8698520064353943,13223,0.757814347743988,Osmancik +11659,442.3380126953125,186.14996337890625,81.04517364501953,0.9002488255500793,11974,0.6890661716461182,Osmancik +11119,427.0459899902344,178.81312561035156,80.61784362792969,0.892599880695343,11420,0.7907125353813171,Osmancik +11128,423.23699951171875,173.3953399658203,82.44134521484375,0.8797410726547241,11372,0.5991492867469788,Osmancik +11504,432.4440002441406,175.7850799560547,84.95903015136719,0.8754482269287109,11861,0.5880188345909119,Osmancik +12093,432.8280029296875,176.8203125,88.0972671508789,0.8670446276664734,12351,0.7051311731338501,Osmancik +12239,432.2980041503906,168.49008178710938,94.25421905517578,0.8288943767547607,12489,0.6825990080833435,Osmancik +11180,415.4100036621094,169.46371459960938,85.45352172851562,0.8635527491569519,11359,0.7788227200508118,Osmancik +9622,403.77398681640625,170.71798706054688,72.92540740966797,0.904171884059906,9897,0.7029001116752625,Osmancik +10088,406.6610107421875,169.06802368164062,77.43072509765625,0.8889595866203308,10331,0.6759582161903381,Osmancik +12525,455.1809997558594,183.66934204101562,88.25433349609375,0.8769910931587219,12911,0.7094709277153015,Osmancik +10386,405.9679870605469,165.675048828125,81.03001403808594,0.8722332715988159,10684,0.6362411379814148,Osmancik +12378,459.97601318359375,191.24949645996094,83.99846649169922,0.8983849883079529,12800,0.5655153393745422,Osmancik +12588,445.2980041503906,181.65675354003906,89.52711486816406,0.8701218366622925,12865,0.7771329879760742,Osmancik +10227,403.9989929199219,164.80865478515625,80.2197265625,0.8735443353652954,10496,0.6305956244468689,Osmancik +10870,414.27801513671875,164.70440673828125,85.4057846069336,0.8550534844398499,11183,0.6615946292877197,Osmancik +11031,414.44000244140625,170.68466186523438,83.09671020507812,0.873489260673523,11200,0.6055665612220764,Osmancik +9918,398.9549865722656,161.4676055908203,79.8935317993164,0.8690091371536255,10270,0.6220911741256714,Osmancik +9976,406.0790100097656,168.0612030029297,76.86061096191406,0.8892934322357178,10295,0.5733662843704224,Osmancik +10007,391.4590148925781,163.92861938476562,78.13725280761719,0.8790909051895142,10146,0.8017144799232483,Osmancik +10427,405.5780029296875,170.56106567382812,78.14707946777344,0.8888611793518066,10588,0.6760681867599487,Osmancik +12895,449.51300048828125,186.66151428222656,88.5887451171875,0.880203902721405,13072,0.584754228591919,Osmancik +10918,422.489013671875,176.80490112304688,79.60382080078125,0.8929098844528198,11118,0.7988585829734802,Osmancik +11485,419.4049987792969,175.8681182861328,83.69998168945312,0.8794860243797302,11610,0.7998467683792114,Osmancik +10388,400.59100341796875,166.18580627441406,80.09373474121094,0.876197099685669,10536,0.6701935529708862,Osmancik +11470,426.625,175.5956573486328,83.90218353271484,0.8784606456756592,11719,0.732252299785614,Osmancik +12714,454.5450134277344,185.12327575683594,88.69658660888672,0.877748429775238,12939,0.6226858496665955,Osmancik +10510,420.0220031738281,175.7176971435547,78.4013900756836,0.8949441909790039,10756,0.5728144645690918,Osmancik +11983,432.4389953613281,172.42494201660156,89.33903503417969,0.8553001284599304,12238,0.7008422017097473,Osmancik +11415,438.92999267578125,184.56710815429688,80.09941864013672,0.9009199142456055,11745,0.7910602688789368,Osmancik +11300,415.4729919433594,166.07296752929688,87.74008178710938,0.8490438461303711,11579,0.612632155418396,Osmancik +11597,433.6820068359375,180.84388732910156,82.677978515625,0.889374852180481,11803,0.6055242419242859,Osmancik +11501,439.5379943847656,182.66307067871094,81.62102508544922,0.8946142792701721,11878,0.5833333134651184,Osmancik +11646,435.60699462890625,177.84078979492188,84.54723358154297,0.8797644972801208,11902,0.6221153736114502,Osmancik +10539,420.6369934082031,174.81980895996094,77.63504028320312,0.8959841132164001,10775,0.66270512342453,Osmancik +9801,391.9649963378906,162.8990478515625,76.97164916992188,0.8813245892524719,9964,0.6647449731826782,Osmancik +11780,435.6709899902344,181.6983184814453,83.58512115478516,0.8879078030586243,11975,0.8079560995101929,Osmancik +10468,427.7139892578125,182.20401000976562,74.52765655517578,0.912519097328186,10672,0.5399215817451477,Osmancik +10787,405.89898681640625,167.38528442382812,82.4420166015625,0.8702963590621948,10956,0.7217315435409546,Osmancik +10796,416.2590026855469,168.6011962890625,82.71273040771484,0.8713949918746948,10985,0.5981826186180115,Osmancik +9972,397.63800048828125,165.3995819091797,77.7096176147461,0.8827571272850037,10230,0.7952153086662292,Osmancik +9751,412.5979919433594,175.4506378173828,71.44275665283203,0.9133408665657043,10034,0.7143589854240417,Osmancik +11102,425.97100830078125,174.85110473632812,81.74403381347656,0.8839896321296692,11333,0.7015925049781799,Osmancik +11364,428.9530029296875,180.7597198486328,80.28202056884766,0.8959590196609497,11551,0.5802696347236633,Osmancik +12587,461.781005859375,193.9949493408203,83.73388671875,0.9020511507987976,12910,0.6695212721824646,Osmancik +9335,388.8059997558594,160.15615844726562,75.16480255126953,0.8830270767211914,9536,0.6233306527137756,Osmancik +12106,448.5,186.505126953125,83.69871520996094,0.8936451077461243,12389,0.6513855457305908,Osmancik +12411,443.55499267578125,178.2272186279297,90.22404479980469,0.8623982667922974,12780,0.6405346989631653,Osmancik +12387,445.614013671875,175.62965393066406,91.3113021850586,0.8542221188545227,12789,0.6551195383071899,Osmancik +10683,408.2820129394531,170.3451690673828,80.44705963134766,0.8814597725868225,10845,0.6883376240730286,Osmancik +11071,419.593994140625,170.46420288085938,83.97248077392578,0.8702498078346252,11303,0.7706926465034485,Osmancik +11617,418.4540100097656,167.9147491455078,88.9075698852539,0.8483221530914307,11822,0.7606731057167053,Osmancik +12630,444.0589904785156,180.0848846435547,90.35011291503906,0.8650367856025696,12855,0.6776114702224731,Osmancik +11992,431.1570129394531,173.3000030517578,89.58513641357422,0.8560236096382141,12274,0.7701991200447083,Osmancik +9544,386.56298828125,161.74830627441406,75.56025695800781,0.8841795921325684,9664,0.8111507892608643,Osmancik +12261,438.89801025390625,173.36474609375,90.88268280029297,0.8515778183937073,12499,0.7788223624229431,Osmancik +11392,427.7449951171875,174.0228729248047,84.5270767211914,0.8741122484207153,11609,0.6025600433349609,Osmancik +11465,423.7879943847656,174.07296752929688,84.73954772949219,0.8735107779502869,11673,0.7338069677352905,Osmancik +11111,419.92999267578125,175.13714599609375,81.1183853149414,0.8862690925598145,11278,0.5883193612098694,Osmancik +11234,425.9309997558594,176.30198669433594,82.10153198242188,0.8849495053291321,11452,0.6555789113044739,Osmancik +9520,394.8909912109375,161.31520080566406,76.16378021240234,0.8815221786499023,9852,0.7780320644378662,Osmancik +11889,440.947998046875,178.9921417236328,85.9199447631836,0.8772571086883545,12185,0.7637800574302673,Osmancik +11197,429.45001220703125,178.2169189453125,81.27737426757812,0.8899496793746948,11461,0.5688376426696777,Osmancik +10445,409.9599914550781,168.47454833984375,80.43508911132812,0.8786688446998596,10653,0.7402551174163818,Osmancik +12638,450.40301513671875,185.53121948242188,87.92227935791016,0.8805814981460571,12864,0.6321528553962708,Osmancik +10497,405.34600830078125,165.34815979003906,81.9766616821289,0.868446946144104,10735,0.6685987114906311,Osmancik +10531,415.1059875488281,171.4884490966797,78.90145111083984,0.8878682851791382,10796,0.6012560725212097,Osmancik +13677,467.24798583984375,191.0117950439453,91.82099151611328,0.8768804669380188,13901,0.655028760433197,Osmancik +11075,416.8500061035156,165.2962646484375,86.27912139892578,0.8529659509658813,11315,0.6612730026245117,Osmancik +10598,411.47900390625,162.20228576660156,85.22140502929688,0.8508540987968445,10936,0.5935260057449341,Osmancik +11297,416.67999267578125,165.3592071533203,88.23674774169922,0.8457328677177429,11535,0.6292892098426819,Osmancik +12199,438.06298828125,178.8557586669922,88.10279846191406,0.8702607154846191,12496,0.7833429574966431,Osmancik +12840,470.09600830078125,199.26148986816406,82.79352569580078,0.90959233045578,13072,0.5578727722167969,Osmancik +9221,387.093994140625,159.22450256347656,74.90332794189453,0.8824394941329956,9418,0.7684166431427002,Osmancik +9154,383.677001953125,158.31736755371094,74.56001281738281,0.8821583986282349,9346,0.7475094199180603,Osmancik +12198,432.0270080566406,176.9954376220703,88.56768798828125,0.8657970428466797,12400,0.7494930624961853,Osmancik +11149,416.8909912109375,167.29212951660156,86.69961547851562,0.8552274703979492,11323,0.6908966898918152,Osmancik +10632,405.4159851074219,167.32594299316406,81.34428405761719,0.8738794326782227,10762,0.6231756806373596,Osmancik +12956,458.656005859375,187.21145629882812,89.15869140625,0.8793121576309204,13310,0.7107746601104736,Osmancik +12418,453.0459899902344,187.8212127685547,85.17218780517578,0.8912690877914429,12719,0.7799761295318604,Osmancik +11573,446.92401123046875,186.34878540039062,80.14228820800781,0.9027974009513855,11884,0.5722408890724182,Osmancik +11816,446.1000061035156,187.14315795898438,81.8201904296875,0.8993611931800842,12069,0.7467138767242432,Osmancik +10655,417.9739990234375,177.50758361816406,77.1575927734375,0.9005888104438782,10822,0.7335628271102905,Osmancik +11764,430.1839904785156,171.96673583984375,88.35490417480469,0.8579155802726746,12010,0.6269118189811707,Osmancik +12635,439.0830078125,171.2287139892578,94.81417846679688,0.8326973915100098,12929,0.631118893623352,Osmancik +12089,440.72601318359375,179.9623260498047,86.6595687866211,0.8764225244522095,12390,0.6668689250946045,Osmancik +12173,438.3190002441406,180.33273315429688,87.05815124511719,0.8757504820823669,12375,0.6587121486663818,Osmancik +11185,414.1809997558594,170.01824951171875,84.11061096191406,0.8690551519393921,11370,0.6220800876617432,Osmancik +13076,450.3450012207031,183.59693908691406,91.70958709716797,0.8663047552108765,13253,0.677021861076355,Osmancik +10557,412.6679992675781,168.80857849121094,80.59271240234375,0.8786748051643372,10778,0.6160714030265808,Osmancik +12349,452.0090026855469,187.96873474121094,84.54865264892578,0.8931284546852112,12646,0.5857603549957275,Osmancik +11449,411.29998779296875,156.9254913330078,94.25743103027344,0.7995114326477051,11696,0.7242535352706909,Osmancik +11875,425.45098876953125,174.09417724609375,87.36473083496094,0.8649694323539734,12041,0.6945256590843201,Osmancik +11322,415.4859924316406,165.3483428955078,88.39618682861328,0.845101535320282,11545,0.6506896615028381,Osmancik +13183,462.73199462890625,190.42669677734375,89.31358337402344,0.8831885457038879,13493,0.6881198287010193,Osmancik +11509,435.86700439453125,178.42445373535156,83.85386657714844,0.8826832175254822,11792,0.5846583843231201,Osmancik +10156,409.2900085449219,177.7449951171875,73.22962951660156,0.9111871719360352,10327,0.7517951130867004,Osmancik +10134,406.0450134277344,167.6055145263672,78.04085540771484,0.8849835991859436,10358,0.5873080492019653,Osmancik +10420,415.0559997558594,170.51255798339844,79.28839111328125,0.8853105306625366,10647,0.6277108192443848,Osmancik +12181,434.81298828125,179.22531127929688,86.98540496826172,0.8743249177932739,12387,0.7280062437057495,Osmancik +12124,446.44000244140625,188.975341796875,82.716796875,0.8991152048110962,12336,0.7403517365455627,Osmancik +11930,434.8059997558594,175.3011932373047,87.9839096069336,0.8649248480796814,12260,0.6438208222389221,Osmancik +10900,417.59698486328125,172.6920623779297,81.00117492675781,0.8831717371940613,11091,0.5853920578956604,Osmancik +12213,452.40399169921875,192.34182739257812,81.44419860839844,0.9059266448020935,12406,0.6426203846931458,Osmancik +11917,437.3039855957031,179.57647705078125,85.6493148803711,0.8789294958114624,12192,0.6393583416938782,Osmancik +12406,434.7309875488281,172.18394470214844,92.85658264160156,0.842121958732605,12704,0.6444675326347351,Osmancik +11923,434.4200134277344,182.19357299804688,84.1408462524414,0.8869730830192566,12086,0.6009576320648193,Osmancik +10896,419.385009765625,174.1399688720703,80.5483627319336,0.8865934014320374,11145,0.5896103978157043,Osmancik +12209,445.8890075683594,184.875732421875,85.02140808105469,0.8879789710044861,12418,0.6173956990242004,Osmancik +8604,373.6830139160156,153.57960510253906,72.30964660644531,0.8822247982025146,8787,0.602563202381134,Osmancik +12633,452.00299072265625,186.43447875976562,87.42463684082031,0.8832355737686157,12863,0.5846174955368042,Osmancik +10524,402.4949951171875,164.08193969726562,82.4643783569336,0.8645304441452026,10713,0.6325279474258423,Osmancik +12625,448.3370056152344,182.10194396972656,89.70994567871094,0.8702355623245239,12833,0.60987389087677,Osmancik +11977,442.364013671875,185.26541137695312,83.16057586669922,0.8935957551002502,12186,0.6817508935928345,Osmancik +11961,429.36700439453125,175.44313049316406,87.6479263305664,0.8662676215171814,12149,0.6110345125198364,Osmancik +11281,407.10101318359375,160.9100799560547,90.44052124023438,0.8270989656448364,11483,0.6700124740600586,Osmancik +13751,451.9410095214844,175.4111785888672,101.14427185058594,0.8170177936553955,14063,0.7570052146911621,Osmancik +12382,453.04998779296875,187.10699462890625,85.7300796508789,0.8888555765151978,12771,0.6134561896324158,Osmancik +13825,483.20001220703125,205.75503540039062,86.98259735107422,0.9062471389770508,14023,0.7395816445350647,Osmancik +13589,479.83599853515625,201.71177673339844,87.16551208496094,0.9018117785453796,13908,0.5893399119377136,Osmancik +11771,430.4700012207031,181.30299377441406,83.21956634521484,0.8884320259094238,11919,0.7967374920845032,Osmancik +11711,447.0039978027344,190.94491577148438,79.28987121582031,0.9097073674201965,11904,0.591464638710022,Osmancik +12331,431.364013671875,177.13047790527344,89.42496490478516,0.8632049560546875,12502,0.7477865219116211,Osmancik +11046,423.49798583984375,183.4550018310547,76.97341918945312,0.9077199697494507,11198,0.8227933049201965,Osmancik +12258,447.84600830078125,186.68014526367188,84.94548034667969,0.8904749751091003,12616,0.7054557800292969,Osmancik +12162,450.7909851074219,186.69236755371094,84.6376724243164,0.8913307189941406,12502,0.6580100655555725,Osmancik +11106,415.9849853515625,175.18675231933594,81.15784454345703,0.8862199187278748,11257,0.6099851727485657,Osmancik +12081,431.52099609375,173.5222930908203,89.55706787109375,0.8565206527709961,12315,0.7804263830184937,Osmancik +12397,435.9490051269531,174.231689453125,91.89647674560547,0.8495933413505554,12761,0.6430646181106567,Osmancik +13799,454.7409973144531,184.86827087402344,95.91585540771484,0.8548752665519714,13965,0.6218006610870361,Osmancik +11133,431.7019958496094,184.95298767089844,77.73632049560547,0.9073837399482727,11287,0.5522321462631226,Osmancik +12955,451.8030090332031,191.71456909179688,86.6250991821289,0.8920969367027283,13143,0.6024460792541504,Osmancik +12056,431.85101318359375,182.36312866210938,84.43254089355469,0.8863628506660461,12191,0.797354519367218,Osmancik +12558,452.6929931640625,189.47816467285156,85.08824920654297,0.8934984803199768,12799,0.6240310072898865,Osmancik +12326,441.5849914550781,179.06637573242188,89.27005004882812,0.8668721318244934,12673,0.7651623487472534,Osmancik +12406,433.5719909667969,175.8928680419922,91.14063262939453,0.8552837371826172,12639,0.796532928943634,Osmancik +11686,441.1839904785156,180.6960906982422,83.45304107666016,0.8869622349739075,12023,0.5770864486694336,Osmancik +12393,438.8909912109375,184.77484130859375,86.0099868774414,0.8850556015968323,12582,0.7064759135246277,Osmancik +12345,438.0249938964844,177.2792205810547,89.73426055908203,0.862430989742279,12586,0.6214134693145752,Osmancik +11511,439.51300048828125,183.24234008789062,81.7984848022461,0.8948359489440918,11736,0.5731713175773621,Osmancik +11635,449.3089904785156,197.57064819335938,75.25814056396484,0.9246090054512024,11842,0.5218892693519592,Osmancik +11720,425.45001220703125,171.5880126953125,88.36038208007812,0.8572162389755249,11912,0.7792035341262817,Osmancik +12450,443.37200927734375,181.68209838867188,88.5052490234375,0.8733219504356384,12730,0.714531660079956,Osmancik +10074,416.97198486328125,172.34532165527344,75.89259338378906,0.8978252410888672,10422,0.5547051429748535,Osmancik +13320,467.63800048828125,200.382080078125,85.12557220458984,0.9052795767784119,13504,0.6465705633163452,Osmancik +11895,429.39599609375,179.25186157226562,85.53614044189453,0.8788033723831177,12072,0.7906281352043152,Osmancik +11621,402.21099853515625,153.58499145507812,96.63773345947266,0.7772325873374939,11797,0.8101080656051636,Osmancik +12272,439.9169921875,181.7063751220703,86.9454345703125,0.8780907392501831,12495,0.64117032289505,Osmancik +12695,464.9679870605469,197.8196563720703,82.43714141845703,0.9090308547019958,12981,0.6019440293312073,Osmancik +10777,409.27301025390625,165.1380157470703,84.58021545410156,0.8588787317276001,10987,0.8064805865287781,Osmancik +12734,466.3059997558594,198.72567749023438,82.2880859375,0.9102410674095154,13021,0.6349538564682007,Osmancik +13295,465.3330078125,187.3797607421875,91.90882873535156,0.8714439868927002,13633,0.6124470233917236,Osmancik +12581,439.1549987792969,171.1239013671875,95.38031005859375,0.8302603960037231,12858,0.6957363486289978,Osmancik +11097,422.3680114746094,172.16371154785156,83.62702941894531,0.8741026520729065,11393,0.6124172210693359,Osmancik +11625,430.4339904785156,176.33294677734375,86.15995025634766,0.8724962472915649,11838,0.5967965722084045,Osmancik +10665,422.3999938964844,176.84193420410156,77.75227355957031,0.8981589078903198,10884,0.6298724412918091,Osmancik +12206,441.2850036621094,186.76031494140625,83.65754699707031,0.8940632939338684,12404,0.5905176401138306,Osmancik +12646,473.8559875488281,204.0325164794922,79.89774322509766,0.9201384782791138,12949,0.6760397553443909,Osmancik +11553,428.6969909667969,170.7067413330078,87.52906799316406,0.8585408329963684,11845,0.6010613441467285,Osmancik +13028,467.2770080566406,194.73336791992188,87.140625,0.8942905068397522,13304,0.5662132501602173,Osmancik +12103,439.2179870605469,181.98512268066406,85.55490112304688,0.882602334022522,12339,0.5992770791053772,Osmancik +11718,439.2040100097656,182.26458740234375,82.5956039428711,0.8914275765419006,11967,0.6488372087478638,Osmancik +11672,435.7139892578125,179.92755126953125,83.97663116455078,0.8844026327133179,11941,0.6577627658843994,Osmancik +11793,417.1600036621094,163.04383850097656,93.5010986328125,0.8192250728607178,12022,0.661710262298584,Osmancik +11695,434.1340026855469,183.09246826171875,82.14225769042969,0.8937135338783264,11845,0.7988387942314148,Osmancik +10975,412.7380065917969,169.4501190185547,83.24361419677734,0.8710144758224487,11149,0.7870768904685974,Osmancik +11089,421.6549987792969,173.62539672851562,82.34242248535156,0.8803884387016296,11345,0.6664062738418579,Osmancik +10833,427.6839904785156,177.2799072265625,79.53668975830078,0.8937073945999146,11158,0.7631022930145264,Osmancik +11550,426.843994140625,173.18565368652344,86.17210388183594,0.867423415184021,11766,0.6137414574623108,Osmancik +12339,435.93701171875,173.0274200439453,92.28986358642578,0.8458738923072815,12646,0.7374932765960693,Osmancik +7943,362.6730041503906,154.88632202148438,65.9308853149414,0.9048771858215332,8080,0.608659029006958,Osmancik +13207,458.87799072265625,187.83358764648438,90.63804626464844,0.875871479511261,13501,0.7324201464653015,Osmancik +12437,462.72698974609375,193.92091369628906,83.32164764404297,0.9029868245124817,12841,0.5759470462799072,Osmancik +10964,412.8219909667969,168.77947998046875,83.76622009277344,0.8681478500366211,11118,0.7460533380508423,Osmancik +11322,415.60101318359375,164.59805297851562,88.87003326416016,0.8417153358459473,11619,0.7540459632873535,Osmancik +10760,420.9490051269531,173.4446563720703,80.4667739868164,0.8858700394630432,11046,0.5871118903160095,Osmancik +11739,430.49200439453125,170.79736328125,89.44210052490234,0.8519188761711121,11963,0.5825806260108948,Osmancik +15115,492.0159912109375,200.45362854003906,97.0486068725586,0.8749878406524658,15411,0.7238291501998901,Osmancik +11385,419.010009765625,163.70387268066406,89.73258972167969,0.8363867998123169,11767,0.6401821970939636,Osmancik +13753,461.1300048828125,185.53103637695312,95.4274673461914,0.8575817346572876,13962,0.6511837244033813,Osmancik +11701,432.97601318359375,184.51922607421875,81.00479125976562,0.8984848260879517,11887,0.760101318359375,Osmancik +12754,450.7239990234375,186.26734924316406,88.71730041503906,0.8792881965637207,13063,0.8016341924667358,Osmancik +12147,436.07000732421875,177.5502166748047,88.56140899658203,0.8667191863059998,12421,0.6870474815368652,Osmancik +12784,468.7139892578125,197.1924285888672,84.30416107177734,0.9040048122406006,13140,0.5824676752090454,Osmancik +11742,437.90301513671875,182.25706481933594,83.00418090820312,0.8902748227119446,11974,0.5888961553573608,Osmancik +12526,441.3299865722656,179.24624633789062,90.15467834472656,0.8643065094947815,12768,0.7188934683799744,Osmancik +10925,415.17498779296875,170.68759155273438,82.24396514892578,0.8762596845626831,11155,0.6063380837440491,Osmancik +12752,455.35198974609375,191.76223754882812,85.68017578125,0.8946318030357361,12938,0.5724032521247864,Osmancik +12848,455.6449890136719,184.63604736328125,90.01097869873047,0.8731202483177185,13227,0.690159022808075,Osmancik +12730,462.3699951171875,192.69361877441406,85.33430480957031,0.8965958952903748,13160,0.6337116956710815,Osmancik +11017,416.9320068359375,168.36868286132812,84.20006561279297,0.8659714460372925,11303,0.7368245124816895,Osmancik +12391,437.6189880371094,175.3672332763672,90.81942749023438,0.8554524183273315,12600,0.6347848176956177,Osmancik +8848,369.77801513671875,150.2787628173828,76.50944519042969,0.8606974482536316,9009,0.635814905166626,Osmancik +11298,436.656005859375,183.29942321777344,79.59326171875,0.9008042812347412,11650,0.7258126735687256,Osmancik +10647,411.13299560546875,170.0608367919922,80.81935119628906,0.8798573613166809,10829,0.8065909147262573,Osmancik +7833,373.1570129394531,162.5164337158203,63.56500244140625,0.920335590839386,8015,0.7697523832321167,Osmancik +11189,427.47100830078125,176.9429931640625,81.42933654785156,0.8878147602081299,11422,0.5991111397743225,Osmancik +10386,403.2959899902344,166.78656005859375,80.29826354980469,0.8764772415161133,10554,0.644452691078186,Osmancik +11753,425.385986328125,176.00820922851562,85.75704193115234,0.8732719421386719,11919,0.6555666923522949,Osmancik +10802,424.64801025390625,177.29661560058594,78.94319152832031,0.8954010605812073,11019,0.6560981273651123,Osmancik +11278,430.26300048828125,174.44517517089844,83.7923355102539,0.8770844340324402,11637,0.736546516418457,Osmancik +11418,432.8949890136719,184.0161590576172,79.63114166259766,0.9015188217163086,11608,0.6314218044281006,Osmancik +11980,434.6260070800781,180.02220153808594,85.45048522949219,0.8801658153533936,12190,0.6117238402366638,Osmancik +11370,444.68798828125,188.17796325683594,77.82491302490234,0.9104719758033752,11676,0.5885093212127686,Osmancik +11422,414.8160095214844,166.04940795898438,88.44297790527344,0.8463479280471802,11624,0.7094410061836243,Osmancik +10463,417.35699462890625,177.17611694335938,76.04583740234375,0.9032045006752014,10681,0.5832218527793884,Osmancik +12184,437.8389892578125,180.10708618164062,87.29169464111328,0.874699592590332,12398,0.7737346887588501,Osmancik +12407,460.1789855957031,187.73658752441406,85.86541748046875,0.8892756104469299,12849,0.5824609398841858,Osmancik +11479,429.17401123046875,176.47830200195312,83.61653900146484,0.8806290626525879,11739,0.6196156740188599,Osmancik +10265,400.3219909667969,163.16632080078125,81.64381408691406,0.8658106923103333,10450,0.6110119223594666,Osmancik +12748,461.88800048828125,190.70799255371094,86.64506530761719,0.8908315896987915,13158,0.7863311171531677,Osmancik +11475,447.4809875488281,185.65426635742188,80.18083190917969,0.9019298553466797,11818,0.7589285969734192,Osmancik +10554,406.91900634765625,165.53138732910156,82.37078857421875,0.8673983812332153,10841,0.6402183771133423,Osmancik +11497,438.9100036621094,179.6929168701172,82.84305572509766,0.8873867392539978,11820,0.5743904709815979,Osmancik +13221,448.6449890136719,181.138916015625,93.82220458984375,0.8554065227508545,13378,0.6254020929336548,Osmancik +11906,435.760009765625,178.80706787109375,85.96841430664062,0.8768364787101746,12194,0.6049796938896179,Osmancik +10849,410.4939880371094,167.98471069335938,82.65473175048828,0.8705741763114929,11025,0.6091521382331848,Osmancik +10474,403.4599914550781,167.8843994140625,80.18859100341797,0.8785547018051147,10611,0.7887048125267029,Osmancik +9834,401.0050048828125,164.2058868408203,77.195068359375,0.8826070427894592,10076,0.6972489953041077,Osmancik +11502,428.53900146484375,174.30467224121094,85.41966247558594,0.871688961982727,11760,0.5914232730865479,Osmancik +9584,390.0039978027344,162.296630859375,75.98748016357422,0.883621871471405,9757,0.8094594478607178,Osmancik +10527,408.9779968261719,170.8900146484375,79.37977600097656,0.8855689167976379,10692,0.6510204076766968,Osmancik +10773,407.84698486328125,167.35784912109375,82.6438217163086,0.8695669770240784,10931,0.625319242477417,Osmancik +12013,458.3590087890625,195.08230590820312,79.64270782470703,0.9128693342208862,12330,0.6101686358451843,Osmancik +10746,423.9909973144531,177.9532470703125,78.12187957763672,0.8984859585762024,10942,0.5814934968948364,Osmancik +10852,412.6400146484375,168.35569763183594,83.54549407958984,0.8681831359863281,11028,0.7784792184829712,Osmancik +11521,429.2340087890625,176.80731201171875,84.10377502441406,0.8796181678771973,11732,0.5929490327835083,Osmancik +11986,432.2909851074219,172.400634765625,89.62593841552734,0.8542453050613403,12279,0.6588248014450073,Osmancik +11706,433.06500244140625,181.55389404296875,82.64781188964844,0.890376627445221,11928,0.5867668986320496,Osmancik +11231,427.6669921875,183.58709716796875,78.86173248291016,0.9030381441116333,11427,0.7211840748786926,Osmancik +13109,457.1700134277344,195.07041931152344,86.00750732421875,0.8975538015365601,13271,0.5992685556411743,Osmancik +11144,427.1210021972656,182.21641540527344,78.3183364868164,0.902919590473175,11332,0.6843527555465698,Osmancik +9961,392.14300537109375,159.5180206298828,80.50272369384766,0.8633168339729309,10156,0.6177364587783813,Osmancik +12234,440.0,178.696533203125,88.44730377197266,0.8689168095588684,12435,0.6241199970245361,Osmancik +11722,423.7019958496094,174.956298828125,85.81461334228516,0.871445894241333,11891,0.6112530827522278,Osmancik +10550,411.0299987792969,162.71360778808594,83.67723083496094,0.8576338887214661,10875,0.6186957359313965,Osmancik +12299,446.10198974609375,185.85789489746094,85.45247650146484,0.8880363702774048,12528,0.6684238910675049,Osmancik +11968,430.0669860839844,170.00137329101562,90.97499084472656,0.8447616696357727,12252,0.6398289203643799,Osmancik +10191,403.218994140625,168.60902404785156,77.5280532836914,0.888017475605011,10352,0.7972930669784546,Osmancik +11397,425.7560119628906,172.88916015625,85.73677062988281,0.8683761954307556,11726,0.7529730200767517,Osmancik +11916,432.6809997558594,176.1549835205078,87.22029876708984,0.8688166737556458,12189,0.6468704342842102,Osmancik +11063,428.239013671875,177.53921508789062,80.86370849609375,0.8902513384819031,11362,0.6061253547668457,Osmancik +10698,416.7980041503906,171.64697265625,81.13961791992188,0.8812168836593628,10909,0.5878021717071533,Osmancik +11485,429.3909912109375,173.49945068359375,85.60888671875,0.8697885870933533,11758,0.6057489514350891,Osmancik +11742,439.7560119628906,183.10055541992188,83.15660858154297,0.8909210562705994,12016,0.5722222328186035,Osmancik +10102,411.8080139160156,176.8137664794922,74.26673126220703,0.9075111746788025,10350,0.5779176354408264,Osmancik +13033,466.1390075683594,198.2071075439453,84.51666259765625,0.9045319557189941,13234,0.7692716121673584,Osmancik +10208,394.5299987792969,161.667236328125,81.41670227050781,0.8639330267906189,10361,0.6609686613082886,Osmancik +12605,445.6929931640625,183.26925659179688,88.23682403564453,0.8764680624008179,12787,0.6175894141197205,Osmancik +11505,444.3940124511719,187.2300567626953,79.44548797607422,0.9055122137069702,11745,0.5592553019523621,Osmancik +12406,441.87799072265625,177.86268615722656,90.56725311279297,0.8606496453285217,12864,0.6238560080528259,Osmancik +11902,454.9419860839844,196.46929931640625,78.05166625976562,0.9177010655403137,12214,0.7007771730422974,Osmancik +11339,425.5060119628906,177.04713439941406,82.54740905761719,0.8846554160118103,11533,0.5920530557632446,Osmancik +12599,450.2040100097656,184.96914672851562,87.25172424316406,0.8817539811134338,12818,0.7364391088485718,Osmancik +11961,448.56500244140625,189.18014526367188,81.78645324707031,0.9017200469970703,12275,0.7534013390541077,Osmancik +10786,408.0249938964844,165.1299285888672,84.93224334716797,0.8575888276100159,11022,0.7875866889953613,Osmancik +12454,437.4949951171875,175.82174682617188,91.22920227050781,0.8548511862754822,12655,0.6322469115257263,Osmancik +11181,420.4129943847656,171.03382873535156,84.87569427490234,0.8681791424751282,11406,0.7924167513847351,Osmancik +11500,424.39898681640625,171.81744384765625,86.84950256347656,0.862841010093689,11838,0.7865937352180481,Osmancik +10958,422.8800048828125,172.1343231201172,82.23724365234375,0.8784956336021423,11351,0.6419825553894043,Osmancik +10427,408.1570129394531,164.55422973632812,81.85787200927734,0.8674913644790649,10689,0.795104444026947,Osmancik +10475,410.9939880371094,170.85870361328125,79.55013275146484,0.885000467300415,10739,0.7909241914749146,Osmancik +11075,412.2380065917969,165.43394470214844,86.41810607910156,0.8527175188064575,11354,0.6321346759796143,Osmancik +10980,428.0840148925781,181.87335205078125,77.56380462646484,0.9045009613037109,11174,0.5828025341033936,Osmancik +11542,424.5159912109375,171.50450134277344,87.68061065673828,0.8594357371330261,11811,0.699515163898468,Osmancik +11715,429.1659851074219,171.09963989257812,89.10729217529297,0.8536837100982666,12066,0.649534285068512,Osmancik +11322,435.20098876953125,180.42849731445312,82.20979309082031,0.8901659846305847,11650,0.6594059467315674,Osmancik +12295,439.8240051269531,176.58267211914062,89.81163787841797,0.8609972596168518,12566,0.6734772324562073,Osmancik +12587,451.1719970703125,185.70013427734375,87.76485443115234,0.8812685012817383,12941,0.6980368494987488,Osmancik +10364,417.1029968261719,171.7311553955078,78.38077545166016,0.8897667527198792,10737,0.571208119392395,Osmancik +10862,421.010986328125,175.22003173828125,80.57564544677734,0.8879944682121277,11066,0.6120126247406006,Osmancik +10951,424.7690124511719,179.13131713867188,78.75501251220703,0.8981693983078003,11138,0.5672623515129089,Osmancik +10472,412.989013671875,168.20355224609375,80.14659881591797,0.8791822195053101,10772,0.6194250583648682,Osmancik +11577,418.760009765625,168.28863525390625,89.30425262451172,0.8475840091705322,11746,0.8060855269432068,Osmancik +11178,419.27801513671875,166.6143035888672,87.07088470458984,0.8525844812393188,11507,0.60447758436203,Osmancik +12244,442.19000244140625,179.90145874023438,87.8075942993164,0.8727948665618896,12568,0.6326994895935059,Osmancik +12279,441.2279968261719,180.48394775390625,88.03797912597656,0.8729618787765503,12525,0.5964733362197876,Osmancik +11295,417.3370056152344,174.0199432373047,83.1422348022461,0.8784826993942261,11476,0.7685765027999878,Osmancik +12752,453.4949951171875,185.51084899902344,89.19170379638672,0.8768359422683716,13105,0.6831672787666321,Osmancik +8965,383.48199462890625,156.28944396972656,74.67707824707031,0.8784617185592651,9317,0.6202864646911621,Osmancik +10604,409.1910095214844,169.17115783691406,80.42681121826172,0.8797606825828552,10780,0.7843195199966431,Osmancik +11166,419.4330139160156,171.46438598632812,84.32466125488281,0.8707131743431091,11437,0.6043515801429749,Osmancik +10106,408.9419860839844,167.79525756835938,78.3033676147461,0.8844367265701294,10424,0.7812306880950928,Osmancik +11274,426.8500061035156,177.39810180664062,82.0010986328125,0.8867530822753906,11539,0.6353338956832886,Osmancik +11437,430.61199951171875,184.13446044921875,79.24053955078125,0.9026665687561035,11587,0.6879398226737976,Osmancik +10983,417.7099914550781,171.84034729003906,82.69300842285156,0.8765998482704163,11229,0.7748148441314697,Osmancik +11090,416.0140075683594,174.90943908691406,81.36546325683594,0.8852128386497498,11277,0.7417067885398865,Osmancik +13005,467.79998779296875,199.96499633789062,83.3613052368164,0.9089617729187012,13251,0.5529336929321289,Osmancik +10680,413.8030090332031,171.88201904296875,79.86556243896484,0.8854926228523254,10848,0.590773344039917,Osmancik +10138,414.0090026855469,171.61973571777344,77.15938568115234,0.8932324647903442,10425,0.566431999206543,Osmancik +11440,425.75201416015625,170.7078399658203,87.12855529785156,0.8599396347999573,11816,0.6121575236320496,Osmancik +10168,400.4779968261719,162.56297302246094,81.08890533447266,0.8667082786560059,10424,0.6237271428108215,Osmancik +11910,427.27899169921875,173.29544067382812,88.56226348876953,0.859552264213562,12191,0.7733766436576843,Osmancik +11987,440.78399658203125,180.04774475097656,86.14134979248047,0.8781223297119141,12299,0.6879591345787048,Osmancik +10472,403.6919860839844,164.48243713378906,81.67547607421875,0.8680021166801453,10688,0.6947982907295227,Osmancik +10860,411.84600830078125,165.19398498535156,85.32477569580078,0.8562795519828796,11212,0.7519733905792236,Osmancik +11242,427.25201416015625,180.30348205566406,80.25297546386719,0.8954811692237854,11402,0.7702110409736633,Osmancik +9876,384.4599914550781,156.16476440429688,81.2388687133789,0.854036808013916,9999,0.6323472857475281,Osmancik +12058,433.3900146484375,175.53602600097656,88.45160675048828,0.863765299320221,12283,0.6860491633415222,Osmancik +10560,400.1789855957031,168.26905822753906,80.58906555175781,0.8778532147407532,10691,0.6373732686042786,Osmancik +12837,448.2749938964844,180.26524353027344,92.16251373291016,0.8594257235527039,13157,0.7677631378173828,Osmancik +11726,450.7449951171875,189.09307861328125,80.3167495727539,0.9053120017051697,12061,0.5562618374824524,Osmancik +11639,434.6059875488281,178.85333251953125,84.30603790283203,0.881935715675354,11941,0.6995432376861572,Osmancik +12483,440.6159973144531,176.6435089111328,91.67730712890625,0.8547765612602234,12747,0.6205816268920898,Osmancik +11660,433.3089904785156,178.63858032226562,84.48658752441406,0.8810908198356628,11974,0.6179120540618896,Osmancik +12172,431.1960144042969,175.63827514648438,89.33348846435547,0.8609899282455444,12368,0.6026936173439026,Osmancik +11795,446.1839904785156,189.04287719726562,80.70845794677734,0.9042837023735046,12081,0.6328129172325134,Osmancik +11873,430.04400634765625,176.72914123535156,86.37124633789062,0.8724400997161865,12086,0.604223906993866,Osmancik +11657,432.56500244140625,177.71994018554688,84.21096801757812,0.880610466003418,11946,0.6078636050224304,Osmancik +10513,410.0350036621094,165.65660095214844,82.55253601074219,0.8669843673706055,10789,0.7255348563194275,Osmancik +10499,408.72900390625,165.5593719482422,82.35824584960938,0.8674901127815247,10785,0.6613126993179321,Osmancik +10657,412.8389892578125,171.12416076660156,80.39784240722656,0.8827613592147827,10879,0.7248180508613586,Osmancik +11176,427.3330078125,176.65585327148438,82.13243103027344,0.8853479623794556,11438,0.5808731913566589,Osmancik +9819,410.64801025390625,172.6212615966797,73.48200225830078,0.9048721790313721,10096,0.5882458686828613,Osmancik +10349,408.07598876953125,169.3677215576172,79.00406646728516,0.884539783000946,10608,0.657329797744751,Osmancik +11366,431.9360046386719,179.07125854492188,81.93755340576172,0.8891738653182983,11737,0.6063483357429504,Osmancik +10536,397.4989929199219,160.96791076660156,83.69868469238281,0.8541837930679321,10711,0.6753846406936646,Osmancik +11933,430.86700439453125,178.96299743652344,85.46997833251953,0.8785857558250427,12118,0.7980872392654419,Osmancik +11512,414.6000061035156,166.64419555664062,88.62690734863281,0.8468491435050964,11700,0.7705488801002502,Osmancik +10608,404.6929931640625,161.5894012451172,85.35478973388672,0.8491074442863464,10895,0.7084752321243286,Osmancik +10061,393.38299560546875,160.8769073486328,80.60932922363281,0.8654112815856934,10242,0.6200542449951172,Osmancik +9251,375.6090087890625,151.8241729736328,79.25946807861328,0.8529163002967834,9431,0.6278675198554993,Osmancik +11088,421.1570129394531,169.4209442138672,85.37567138671875,0.8637466430664062,11373,0.7541317939758301,Osmancik +10360,404.3290100097656,165.8590545654297,81.19802856445312,0.8719694018363953,10556,0.6761519312858582,Osmancik +11857,434.0889892578125,175.60728454589844,87.40577697753906,0.8673295378684998,12176,0.6051959991455078,Osmancik +11186,416.67498779296875,166.87655639648438,86.70951080322266,0.8544080257415771,11537,0.7617296576499939,Osmancik +11112,429.65301513671875,172.42713928222656,83.92387390136719,0.8735575675964355,11472,0.6092105507850647,Osmancik +12260,453.572998046875,193.1613311767578,81.175537109375,0.9074096083641052,12508,0.5741581916809082,Osmancik +11599,431.0559997558594,171.9973907470703,86.98844909667969,0.8626774549484253,11913,0.7796598672866821,Osmancik +11531,445.739013671875,187.9770965576172,79.08082580566406,0.9072026610374451,11918,0.60542893409729,Osmancik +11786,424.6189880371094,171.84385681152344,88.34416198730469,0.857732892036438,11946,0.6247879266738892,Osmancik +11003,417.0589904785156,168.2343292236328,85.01897430419922,0.8629083633422852,11270,0.6112777590751648,Osmancik +11973,438.14801025390625,178.08877563476562,87.27424621582031,0.8716884851455688,12367,0.6271213293075562,Osmancik +10187,409.35699462890625,170.06361389160156,77.55086517333984,0.8899741768836975,10391,0.6853932738304138,Osmancik +11746,436.95001220703125,185.25390625,81.15396118164062,0.8989414572715759,11926,0.5894810557365417,Osmancik +12163,435.49798583984375,178.53915405273438,87.81410217285156,0.8706811666488647,12443,0.7854191064834595,Osmancik +11422,419.9070129394531,168.03189086914062,88.29070281982422,0.8508305549621582,11687,0.618073582649231,Osmancik +10971,407.3559875488281,167.4046630859375,84.57907104492188,0.8629804849624634,11108,0.7396345734596252,Osmancik +9441,384.3399963378906,164.22637939453125,73.37516784667969,0.8946374654769897,9566,0.7245030999183655,Osmancik +10925,437.2590026855469,181.5909423828125,77.65763092041016,0.9039437174797058,11231,0.7795775532722473,Osmancik +11710,424.4909973144531,173.7900390625,86.49894714355469,0.8673372268676758,11880,0.732791006565094,Osmancik +11337,417.27099609375,174.46319580078125,83.50515747070312,0.8780109286308289,11477,0.8180834054946899,Osmancik +11681,431.2279968261719,183.79638671875,81.16801452636719,0.8972026109695435,11857,0.5911437273025513,Osmancik +11465,434.135009765625,180.8350830078125,82.00426483154297,0.891268789768219,11727,0.650607168674469,Osmancik +12183,450.6659851074219,189.07366943359375,83.80858612060547,0.8963936567306519,12432,0.8100398778915405,Osmancik +12008,440.51800537109375,185.98866271972656,83.02412414550781,0.8948367834091187,12227,0.6994000673294067,Osmancik +10985,419.53399658203125,171.9523162841797,83.11388397216797,0.875424861907959,11253,0.5860542058944702,Osmancik +10979,417.3630065917969,175.8724365234375,80.27777099609375,0.8897467255592346,11146,0.66684889793396,Osmancik +10928,408.8630065917969,168.12872314453125,83.06417846679688,0.8694328665733337,11113,0.6268571019172668,Osmancik +10409,391.5790100097656,159.81532287597656,83.15290069580078,0.853979766368866,10549,0.6532981991767883,Osmancik +11961,445.0530090332031,182.4438934326172,85.08979034423828,0.8845798373222351,12370,0.6122543215751648,Osmancik +10351,408.9960021972656,168.56788635253906,78.96163940429688,0.8835025429725647,10526,0.594099760055542,Osmancik +12225,436.4840087890625,172.7252197265625,91.47328186035156,0.8482546806335449,12537,0.6461074948310852,Osmancik +11550,420.8370056152344,172.53936767578125,85.41178894042969,0.868877112865448,11734,0.6946950554847717,Osmancik +10389,403.0350036621094,164.52462768554688,81.01020050048828,0.8703749775886536,10664,0.6076504588127136,Osmancik +11240,438.51300048828125,186.479736328125,77.6025619506836,0.9092984199523926,11492,0.5652217864990234,Osmancik +12019,439.7250061035156,180.4368133544922,85.92943572998047,0.8793207406997681,12346,0.7040182948112488,Osmancik +11210,428.8919982910156,181.87332153320312,79.41140747070312,0.8996410369873047,11456,0.6317272186279297,Osmancik +11184,419.4750061035156,172.6215057373047,83.55088806152344,0.8750613331794739,11347,0.6086530685424805,Osmancik +10550,404.2950134277344,160.47012329101562,85.45003509521484,0.8464311957359314,10846,0.7798063158988953,Osmancik +11544,421.84600830078125,170.3458251953125,87.4175033569336,0.8582829833030701,11800,0.6565059423446655,Osmancik +12743,449.2300109863281,180.94476318359375,90.8077163696289,0.864952802658081,13044,0.6193739771842957,Osmancik +12711,458.7330017089844,188.3154296875,86.86006927490234,0.8872714042663574,13092,0.5782984495162964,Osmancik +11545,427.6199951171875,167.41209411621094,89.44892120361328,0.8452925086021423,11925,0.6323948502540588,Osmancik +11253,422.87799072265625,173.48373413085938,84.1268081665039,0.8745550513267517,11556,0.7520048022270203,Osmancik +9216,384.3420104980469,163.2916259765625,72.26079559326172,0.8967556357383728,9352,0.6247711777687073,Osmancik +11814,428.0140075683594,175.57937622070312,86.32158660888672,0.8707993626594543,12000,0.7849833965301514,Osmancik +9677,390.61700439453125,160.35305786132812,77.40150451660156,0.8757889270782471,9913,0.7658277750015259,Osmancik +12010,428.1400146484375,171.22218322753906,90.10307312011719,0.8503392934799194,12222,0.665742814540863,Osmancik +11016,416.8970031738281,174.62754821777344,81.19021606445312,0.8853455185890198,11149,0.5869565010070801,Osmancik +12152,454.2120056152344,198.89959716796875,78.32300567626953,0.9192039966583252,12338,0.7854695916175842,Osmancik +10870,409.4909973144531,169.20606994628906,82.09532165527344,0.8744145631790161,11030,0.670242965221405,Osmancik +10546,428.5450134277344,179.59661865234375,77.14633178710938,0.9030414819717407,10893,0.5976425409317017,Osmancik +10673,404.13800048828125,162.79039001464844,84.19615936279297,0.8558609485626221,10869,0.7389227151870728,Osmancik +10000,415.27398681640625,180.15187072753906,71.0128402709961,0.9190319180488586,10176,0.5428292155265808,Osmancik +11486,420.8529968261719,175.25750732421875,83.86408233642578,0.8780770897865295,11615,0.7765008211135864,Osmancik +12610,454.68701171875,185.64877319335938,87.92713165283203,0.8807288408279419,12934,0.5978853702545166,Osmancik +11973,436.1830139160156,177.13417053222656,87.45832061767578,0.8696092367172241,12197,0.5988895297050476,Osmancik +11285,425.7550048828125,175.4243927001953,82.95138549804688,0.8811368942260742,11525,0.7502825856208801,Osmancik +11588,428.7279968261719,172.88258361816406,86.25784301757812,0.8666371703147888,11777,0.6100552678108215,Osmancik +12895,461.5820007324219,189.0320281982422,88.76390838623047,0.8828948736190796,13267,0.7671942114830017,Osmancik +12152,447.9169921875,185.24630737304688,85.78560638427734,0.8863115906715393,12449,0.5753787755966187,Osmancik +9447,407.0920104980469,173.82240295410156,70.0859375,0.9151099920272827,9698,0.5825009346008301,Osmancik +11700,436.9289855957031,179.57484436035156,83.98395538330078,0.8838967084884644,11980,0.7385430932044983,Osmancik +11783,429.3949890136719,172.83700561523438,88.3060531616211,0.8596276640892029,12031,0.7339146733283997,Osmancik +12070,432.8680114746094,177.19439697265625,87.37620544433594,0.8699673414230347,12283,0.7627654075622559,Osmancik +11790,444.3429870605469,184.4224853515625,82.4476089477539,0.8945047855377197,12103,0.5960566401481628,Osmancik +10962,415.0,170.09814453125,82.88566589355469,0.8732450008392334,11152,0.6203734874725342,Osmancik +11587,423.1889953613281,168.640380859375,88.72871398925781,0.850396990776062,11826,0.6117094159126282,Osmancik +10965,416.62701416015625,171.80995178222656,82.71228790283203,0.8764914870262146,11167,0.6605421900749207,Osmancik +12093,440.43798828125,176.48048400878906,88.96029663085938,0.8636569380760193,12421,0.6222599744796753,Osmancik +11303,422.20001220703125,168.05589294433594,87.12608337402344,0.8551169633865356,11569,0.7642325758934021,Osmancik +11165,424.1610107421875,174.63153076171875,82.31620788574219,0.8819351196289062,11467,0.6421095132827759,Osmancik +12743,442.7349853515625,181.13967895507812,90.30118560791016,0.8668799996376038,12899,0.7251052856445312,Osmancik +10697,407.8070068359375,168.21783447265625,81.61740112304688,0.8744094371795654,10824,0.6002805829048157,Osmancik +11115,424.7300109863281,177.78541564941406,80.5449447631836,0.8914872407913208,11318,0.734633207321167,Osmancik +11251,422.11700439453125,171.55084228515625,84.83971405029297,0.8691516518592834,11538,0.7606138586997986,Osmancik +10443,406.52899169921875,164.56837463378906,81.95932006835938,0.8671621680259705,10722,0.7718403339385986,Osmancik +11359,420.87200927734375,170.85472106933594,85.41527557373047,0.8660662174224854,11580,0.6174712181091309,Osmancik +12465,445.0669860839844,177.52952575683594,91.50624084472656,0.8569242358207703,12882,0.7611749172210693,Osmancik +12500,444.8450012207031,182.47979736328125,88.28197479248047,0.8751838803291321,12734,0.6690216064453125,Osmancik +11529,420.45599365234375,168.25746154785156,88.4854965209961,0.8505504727363586,11748,0.7100886702537537,Osmancik +11481,419.0669860839844,170.32955932617188,86.68470764160156,0.8608117699623108,11674,0.7416666746139526,Osmancik +11760,432.5320129394531,176.14376831054688,86.0240478515625,0.8726344108581543,12055,0.6328704953193665,Osmancik +13344,469.52801513671875,196.68789672851562,87.38163757324219,0.8958951830863953,13609,0.5991379022598267,Osmancik +11044,420.218994140625,165.99221801757812,87.13151550292969,0.851155698299408,11328,0.612942636013031,Osmancik +10705,414.3349914550781,169.6468963623047,81.65567779541016,0.8765409588813782,10882,0.7734826803207397,Osmancik +10697,408.843994140625,163.87522888183594,84.58505249023438,0.8564950823783875,10995,0.7581148147583008,Osmancik +10735,421.4880065917969,172.7793731689453,80.1673812866211,0.8858420252799988,11021,0.7809544801712036,Osmancik +11706,428.5539855957031,175.84959411621094,85.54583740234375,0.8736963868141174,11944,0.622328519821167,Osmancik +13443,469.4540100097656,196.6380157470703,87.9791488647461,0.8943255543708801,13686,0.5722616910934448,Osmancik +10955,419.9949951171875,172.93109130859375,81.46966552734375,0.8820741772651672,11147,0.6145862340927124,Osmancik +12915,456.1449890136719,181.74844360351562,92.09656524658203,0.8621074557304382,13284,0.6059966087341309,Osmancik +9945,396.7080078125,166.42352294921875,76.66471862792969,0.8875764608383179,10085,0.6019975543022156,Osmancik +10121,405.7090148925781,168.87710571289062,77.08663177490234,0.8897409439086914,10373,0.7435351014137268,Osmancik +11445,426.1809997558594,172.9773712158203,86.0035400390625,0.8676386475563049,11734,0.6113781929016113,Osmancik +11601,435.5570068359375,187.09185791015625,79.52678680419922,0.9051613211631775,11757,0.7201117277145386,Osmancik +11358,421.8219909667969,171.41607666015625,85.97815704345703,0.8651137351989746,11637,0.6433305144309998,Osmancik +11184,416.92498779296875,171.3773956298828,83.96449279785156,0.8717566728591919,11349,0.6494019031524658,Osmancik +10993,422.5150146484375,174.53636169433594,80.96794891357422,0.885886013507843,11179,0.6649125814437866,Osmancik +12876,445.76300048828125,177.98281860351562,93.84100341796875,0.8497117161750793,13200,0.7299319505691528,Osmancik +11393,428.27899169921875,177.33169555664062,82.80522918701172,0.8842831254005432,11627,0.6940180063247681,Osmancik +9975,393.1889953613281,161.056640625,79.77388000488281,0.8687130808830261,10162,0.7745166420936584,Osmancik +12473,440.9259948730469,180.6456756591797,88.5600814819336,0.8715863823890686,12673,0.6298540830612183,Osmancik +11593,442.6700134277344,189.76744079589844,78.48375701904297,0.9104683995246887,11806,0.6306713223457336,Osmancik +10788,402.3349914550781,160.86863708496094,86.55402374267578,0.8429182767868042,10961,0.7623489499092102,Osmancik +9322,385.4159851074219,157.35145568847656,76.35234069824219,0.8743841052055359,9566,0.6365312337875366,Osmancik +10819,409.1499938964844,164.46438598632812,84.92332458496094,0.8563697934150696,10988,0.7181069850921631,Osmancik +11669,417.84100341796875,170.12774658203125,87.8072738647461,0.8565129637718201,11847,0.7697737216949463,Osmancik +13029,460.4169921875,184.94789123535156,91.33196258544922,0.8695610761642456,13410,0.7615735530853271,Osmancik +9495,386.5899963378906,160.57244873046875,75.85517883300781,0.8813817501068115,9640,0.6689445972442627,Osmancik +10645,417.802001953125,172.54458618164062,79.69215393066406,0.886950671672821,10838,0.6142172813415527,Osmancik +10880,394.6449890136719,153.79481506347656,90.9881820678711,0.8062164783477783,11057,0.7477663159370422,Osmancik +12198,440.20098876953125,180.95660400390625,86.97328186035156,0.876923143863678,12412,0.6002953052520752,Osmancik +12309,434.375,179.00167846679688,88.09722900390625,0.8705055117607117,12462,0.680694580078125,Osmancik +12067,438.8819885253906,177.97764587402344,87.73780059814453,0.8700457811355591,12423,0.6673118472099304,Osmancik +11422,429.2049865722656,178.55897521972656,82.38754272460938,0.8871909379959106,11668,0.6855942606925964,Osmancik +10293,413.2869873046875,171.63894653320312,77.05096435546875,0.8935754299163818,10560,0.5893839001655579,Osmancik +12715,462.61700439453125,197.49363708496094,82.3947525024414,0.9088137745857239,12924,0.6827211976051331,Osmancik +11993,427.53900146484375,168.4983673095703,91.95948028564453,0.8379422426223755,12286,0.6392857432365417,Osmancik +11932,436.7590026855469,178.31655883789062,86.7889404296875,0.8735620975494385,12152,0.5998994708061218,Osmancik +12282,430.760986328125,173.74224853515625,90.9186019897461,0.8521510362625122,12484,0.6643946766853333,Osmancik +10638,407.2070007324219,168.5521240234375,81.18849182128906,0.8763461709022522,10834,0.6758147478103638,Osmancik +11578,431.5060119628906,181.23451232910156,82.66642761230469,0.8899133801460266,11747,0.6190119981765747,Osmancik +11944,424.5469970703125,171.6155242919922,89.76213836669922,0.8523069024085999,12177,0.6272121071815491,Osmancik +10074,397.39801025390625,166.98960876464844,77.15100860595703,0.886874258518219,10249,0.7039832472801208,Osmancik +11247,418.0820007324219,174.79653930664062,82.57595825195312,0.8813779354095459,11407,0.7882674336433411,Osmancik +11562,424.97100830078125,174.394775390625,85.48675537109375,0.8716149926185608,11739,0.7552913427352905,Osmancik +12989,450.2380065917969,182.6436004638672,91.99092864990234,0.8638998866081238,13259,0.6380292773246765,Osmancik +12558,453.22900390625,192.45639038085938,84.1114273071289,0.8994413614273071,12747,0.7868421077728271,Osmancik +7551,369.0639953613281,163.40882873535156,59.532405853271484,0.931275486946106,7723,0.7564616203308105,Osmancik +11353,418.5050048828125,166.9860076904297,87.75209045410156,0.8507900834083557,11587,0.6414124369621277,Osmancik +9371,394.4280090332031,169.18408203125,70.86470031738281,0.9080501198768616,9528,0.7779991626739502,Osmancik +10878,410.72198486328125,168.7978057861328,82.68656921386719,0.8718035221099854,11079,0.6894409656524658,Osmancik +11322,415.885986328125,169.72361755371094,85.80435180664062,0.862795352935791,11512,0.6142578125,Osmancik +10586,423.7460021972656,181.4046630859375,75.15120697021484,0.9101522564888,10760,0.7885288596153259,Osmancik +11428,418.614990234375,168.17898559570312,87.29834747314453,0.8547256588935852,11589,0.6282918453216553,Osmancik +9908,400.9989929199219,170.60487365722656,74.514404296875,0.8995751738548279,10075,0.5860987901687622,Osmancik +12273,441.1910095214844,182.09915161132812,86.593505859375,0.8796998262405396,12469,0.620977520942688,Osmancik +10482,402.52099609375,164.54212951660156,82.02778625488281,0.8668773770332336,10679,0.6181153655052185,Osmancik +12228,441.156005859375,176.1103515625,90.8132095336914,0.8567928075790405,12587,0.692961573600769,Osmancik +12074,435.0780029296875,181.3903045654297,85.69111633300781,0.8813773989677429,12257,0.6990909576416016,Osmancik +9360,399.3919982910156,171.0101776123047,70.23106384277344,0.911777913570404,9533,0.692307710647583,Osmancik +11447,419.6199951171875,163.9205322265625,91.2741470336914,0.8306335210800171,11831,0.7329832911491394,Osmancik +10949,417.406005859375,168.07644653320312,84.67337036132812,0.8638326525688171,11280,0.6196377873420715,Osmancik +13808,466.77801513671875,190.80783081054688,93.22654724121094,0.8725142478942871,14023,0.6236957311630249,Osmancik +12261,457.5119934082031,201.01792907714844,78.15812683105469,0.9213172197341919,12431,0.8124171495437622,Osmancik +11496,440.468994140625,185.72256469726562,79.85572052001953,0.9028416872024536,11759,0.7509308457374573,Osmancik +10638,407.6629943847656,166.20762634277344,82.3642349243164,0.8685792684555054,10912,0.6494505405426025,Osmancik +11835,418.7130126953125,168.20982360839844,90.15866088867188,0.8442248106002808,12025,0.6654858589172363,Osmancik +10083,402.9320068359375,169.0268096923828,76.9822998046875,0.8902642726898193,10283,0.6446106433868408,Osmancik +12780,437.02899169921875,175.1168212890625,93.66058349609375,0.8449493646621704,12940,0.7063114643096924,Osmancik +12802,457.6610107421875,192.06297302246094,85.54149627685547,0.8953403830528259,13001,0.7563511729240417,Osmancik +10589,439.7080078125,191.7048797607422,71.42118072509766,0.9280089139938354,10817,0.5109534859657288,Osmancik +11502,429.74200439453125,178.2637481689453,83.29379272460938,0.8841250538825989,11715,0.7736077308654785,Osmancik +12415,438.9960021972656,181.10888671875,88.23397827148438,0.873297393321991,12586,0.6016185283660889,Osmancik +14217,472.31500244140625,196.74447631835938,92.9037857055664,0.8814886212348938,14426,0.599873423576355,Osmancik +10842,434.27301025390625,179.43487548828125,79.00735473632812,0.8978447318077087,11251,0.545784056186676,Osmancik +12003,433.52099609375,178.55038452148438,86.43273162841797,0.8750235438346863,12171,0.7664750814437866,Osmancik +11630,425.5169982910156,173.09642028808594,87.19287109375,0.8638644814491272,11766,0.7816910743713379,Osmancik +12267,429.6940002441406,171.37063598632812,92.45801544189453,0.841972291469574,12520,0.7759013175964355,Osmancik +10297,397.125,160.8275909423828,82.35851287841797,0.8589306473731995,10488,0.7847126722335815,Osmancik +10821,418.00201416015625,176.5582275390625,79.08771514892578,0.8940629959106445,10986,0.5904081463813782,Osmancik +11393,415.79998779296875,164.91043090820312,88.90424346923828,0.8422377705574036,11638,0.6955433487892151,Osmancik +11901,436.1409912109375,174.57289123535156,88.44688415527344,0.8621534109115601,12172,0.5830965042114258,Osmancik +11759,429.3380126953125,169.32891845703125,89.80245208740234,0.8477830290794373,12011,0.6704869270324707,Osmancik +12573,444.96099853515625,180.3715057373047,89.74238586425781,0.8674399256706238,12827,0.6629230976104736,Osmancik +12325,454.04901123046875,192.69505310058594,82.55290985107422,0.9035834074020386,12583,0.7860331535339355,Osmancik +13443,459.7309875488281,188.01235961914062,92.69482421875,0.870015025138855,13707,0.7420102953910828,Osmancik +12171,431.9490051269531,174.38002014160156,90.05057525634766,0.856344997882843,12366,0.618822455406189,Osmancik +13580,460.54901123046875,192.75961303710938,90.22404479980469,0.8836939930915833,13753,0.794152021408081,Osmancik +11681,422.04901123046875,174.08575439453125,85.92031860351562,0.869716465473175,11832,0.6090198159217834,Osmancik +12110,421.9549865722656,164.96595764160156,94.69145965576172,0.8188510537147522,12319,0.6610983610153198,Osmancik +12666,453.677001953125,191.36474609375,85.13594818115234,0.8955860137939453,12866,0.6701587438583374,Osmancik +11623,427.4700012207031,178.89151000976562,83.5600814819336,0.8842049241065979,11798,0.6262392401695251,Osmancik +10727,406.4530029296875,168.96371459960938,81.32386779785156,0.8765506148338318,10868,0.7977837324142456,Osmancik +13683,461.5679931640625,189.24533081054688,93.11316680908203,0.870581865310669,13944,0.6265109777450562,Osmancik +14142,470.7130126953125,180.69857788085938,101.76226043701172,0.8263476490974426,14709,0.7027429938316345,Osmancik +12808,466.92401123046875,197.17466735839844,83.79329681396484,0.9052074551582336,13186,0.5437256097793579,Osmancik +13923,462.70001220703125,189.5257110595703,94.52521514892578,0.8667480945587158,14186,0.7299465537071228,Osmancik +11488,416.37799072265625,170.40480041503906,86.13888549804688,0.8628291487693787,11663,0.7532126903533936,Osmancik +13347,461.87200927734375,193.52735900878906,88.68710327148438,0.8888148069381714,13536,0.777027428150177,Osmancik +9741,430.55999755859375,180.0662841796875,71.17449188232422,0.9185657501220703,10204,0.7645996809005737,Osmancik +12708,437.4540100097656,174.35812377929688,93.84774780273438,0.8427870869636536,12893,0.6434430480003357,Osmancik +12448,443.968994140625,187.10293579101562,85.64952850341797,0.8890722393989563,12621,0.6258421540260315,Osmancik +10719,418.6700134277344,175.00836181640625,78.8310775756836,0.892805814743042,10983,0.636898398399353,Osmancik +11353,418.7560119628906,169.48007202148438,86.20268249511719,0.8609851002693176,11510,0.6229696869850159,Osmancik +12382,453.6029968261719,190.1286163330078,83.85016632080078,0.8974981904029846,12605,0.6383132338523865,Osmancik +12657,455.1820068359375,189.77093505859375,85.68873596191406,0.8922520279884338,12926,0.7675560712814331,Osmancik +11232,427.42999267578125,180.43719482421875,80.56560516357422,0.894782543182373,11424,0.5987845063209534,Osmancik +11206,427.1390075683594,171.67591857910156,84.98906707763672,0.8688614964485168,11588,0.6087570786476135,Osmancik +12278,453.6929931640625,184.05015563964844,86.66008758544922,0.8822130560874939,12601,0.6298348307609558,Osmancik +12547,434.93701171875,174.37940979003906,92.45401763916016,0.8478795886039734,12856,0.779316782951355,Osmancik +10910,445.27398681640625,190.248046875,73.87875366210938,0.9215209484100342,11229,0.6278775334358215,Osmancik +10213,430.04400634765625,187.31439208984375,69.94136047363281,0.9276743531227112,10392,0.5634447932243347,Osmancik +12557,443.010009765625,177.72877502441406,91.59944152832031,0.856956422328949,12896,0.639293372631073,Osmancik +12193,436.2850036621094,182.62728881835938,85.25560760498047,0.8843479156494141,12336,0.6830812096595764,Osmancik +10577,402.1700134277344,162.5910186767578,83.96336364746094,0.8563424348831177,10771,0.7607163190841675,Osmancik +12095,444.03399658203125,186.0676727294922,83.80880737304688,0.8928162455558777,12290,0.6999421119689941,Osmancik +11879,446.14300537109375,187.9102325439453,81.5909194946289,0.9008157253265381,12095,0.6526923179626465,Osmancik +12784,448.34698486328125,186.11672973632812,88.22885131835938,0.8804972767829895,12937,0.6047303676605225,Osmancik +13172,450.2900085449219,178.6181182861328,95.82071685791016,0.8439284563064575,13499,0.6363285183906555,Osmancik +12532,454.0669860839844,186.8625946044922,87.04252624511719,0.8848845958709717,12888,0.6307312846183777,Osmancik +11962,429.1809997558594,175.88784790039062,87.96854400634766,0.8659445643424988,12152,0.785681426525116,Osmancik +12890,462.802001953125,190.34347534179688,87.71855926513672,0.8874813914299011,13227,0.5856961011886597,Osmancik +13328,462.2560119628906,187.22998046875,91.63737487792969,0.8720383644104004,13606,0.6098375916481018,Osmancik +11811,427.7510070800781,170.10205078125,89.35462951660156,0.8509169816970825,12066,0.6454098224639893,Osmancik +13426,460.22698974609375,187.6688995361328,91.77645111083984,0.8722648024559021,13666,0.6526980996131897,Osmancik +11511,438.9729919433594,182.59437561035156,81.35918426513672,0.8952454924583435,11806,0.6569080352783203,Osmancik +11810,444.35198974609375,187.80738830566406,80.46891021728516,0.9035583734512329,11977,0.5730783939361572,Osmancik +12974,460.3039855957031,192.93104553222656,86.72413635253906,0.8932760953903198,13232,0.5959303379058838,Osmancik +12726,455.34600830078125,188.7777862548828,86.93991088867188,0.8876383900642395,13010,0.768478274345398,Osmancik +11644,444.6310119628906,186.58460998535156,80.90866088867188,0.9010910987854004,11850,0.606964111328125,Osmancik +12317,442.80999755859375,179.3353271484375,88.76384735107422,0.8689156770706177,12589,0.6606060862541199,Osmancik +11711,423.93701171875,175.1188201904297,85.90812683105469,0.8714014887809753,11866,0.810562014579773,Osmancik +12604,452.7250061035156,182.71681213378906,89.78499603271484,0.8709403276443481,12945,0.7370760440826416,Osmancik +11929,439.89599609375,177.00547790527344,87.95028686523438,0.8678199052810669,12262,0.5917162895202637,Osmancik +10911,424.5570068359375,173.75375366210938,81.3233871459961,0.8837082386016846,11135,0.6494643092155457,Osmancik +11585,428.37298583984375,171.56198120117188,87.44052124023438,0.8603681921958923,11939,0.6089035868644714,Osmancik +11492,419.2969970703125,165.42955017089844,89.53146362304688,0.8408900499343872,11747,0.7873389720916748,Osmancik +12434,450.4960021972656,176.91012573242188,91.67809295654297,0.8552482724189758,12847,0.6123916506767273,Osmancik +12503,446.3110046386719,177.33737182617188,91.15876770019531,0.8577653169631958,12777,0.6293667554855347,Osmancik +11665,430.44000244140625,172.60128784179688,87.7052230834961,0.861275851726532,11972,0.610221803188324,Osmancik +11183,414.3489990234375,170.64938354492188,83.88195037841797,0.8708518743515015,11321,0.6169931292533875,Osmancik +11850,440.864990234375,178.6224365234375,86.1668701171875,0.8759528994560242,12201,0.783730149269104,Osmancik +13410,464.7760009765625,186.42898559570312,93.2944564819336,0.8657776117324829,13894,0.716690719127655,Osmancik +11031,421.2909851074219,172.6673583984375,82.59618377685547,0.878166913986206,11298,0.7287923097610474,Osmancik +11757,441.24200439453125,182.59585571289062,82.91639709472656,0.8909518122673035,11967,0.6017196178436279,Osmancik +11199,421.0429992675781,170.6911163330078,85.02394104003906,0.8671104907989502,11405,0.8033716082572937,Osmancik +10326,427.7250061035156,174.47438049316406,77.73373413085938,0.8952665328979492,10691,0.6070546507835388,Osmancik +12831,446.6310119628906,181.8717803955078,90.23387145996094,0.8682425022125244,13061,0.6699561476707458,Osmancik +12085,431.2080078125,168.88475036621094,92.54956817626953,0.8364755511283875,12279,0.7025754451751709,Osmancik +13012,466.1189880371094,196.22711181640625,85.11974334716797,0.901017963886261,13242,0.581932008266449,Osmancik +9236,394.34100341796875,160.92889404296875,74.24967956542969,0.8872016668319702,9465,0.5773943662643433,Osmancik +11679,417.82501220703125,170.5679931640625,87.63663482666016,0.8579142093658447,11853,0.7943276762962341,Osmancik +11145,421.2430114746094,170.03070068359375,84.5774917602539,0.8675071001052856,11376,0.636130154132843,Osmancik +14414,476.3210144042969,194.85975646972656,94.98594665527344,0.8731464147567749,14664,0.6638725399971008,Osmancik +12876,448.4419860839844,179.54049682617188,92.54550170898438,0.8569151163101196,13229,0.7047619223594666,Osmancik +11840,432.3840026855469,175.83688354492188,86.64778137207031,0.8701575398445129,12032,0.6257597208023071,Osmancik +10457,402.06298828125,157.96170043945312,85.70410919189453,0.8400153517723083,10719,0.6770914196968079,Osmancik +11243,419.0270080566406,168.205078125,86.01402282714844,0.8593642115592957,11421,0.6376474499702454,Osmancik +11080,424.7690124511719,175.1816864013672,81.33550262451172,0.8856820464134216,11337,0.5829124450683594,Osmancik +12908,462.2099914550781,185.85093688964844,89.38809967041016,0.8767389059066772,13199,0.7277032136917114,Osmancik +12308,436.6400146484375,174.93844604492188,90.61617279052734,0.8553873300552368,12544,0.6865238547325134,Osmancik +11831,428.70098876953125,167.41664123535156,92.25314331054688,0.8344793319702148,12116,0.7732679843902588,Osmancik +12025,447.22698974609375,184.91464233398438,84.1479721069336,0.8904588222503662,12373,0.6470271944999695,Osmancik +12758,451.3699951171875,180.73944091796875,91.56465148925781,0.8621745705604553,13170,0.6490638852119446,Osmancik +10702,409.2659912109375,160.7001495361328,85.87031555175781,0.8452625274658203,10990,0.6860256195068359,Osmancik +11732,441.12298583984375,176.48348999023438,86.19246673583984,0.8726264238357544,12076,0.6374701261520386,Osmancik +11898,420.77899169921875,166.07846069335938,92.47577667236328,0.830633282661438,12133,0.7624967694282532,Osmancik +10187,404.9679870605469,160.2264404296875,82.3290023803711,0.8578925728797913,10489,0.6162734627723694,Osmancik +12205,438.3559875488281,174.43572998046875,90.32647705078125,0.8554890155792236,12491,0.6184757351875305,Osmancik +14186,490.7139892578125,198.1422119140625,92.53504943847656,0.884250283241272,14721,0.5936806797981262,Osmancik +10497,417.5060119628906,169.24020385742188,80.1222915649414,0.8808349370956421,10753,0.581615686416626,Osmancik +11884,434.8399963378906,172.12608337402344,89.20809173583984,0.8552159667015076,12184,0.6295825242996216,Osmancik +10952,421.1050109863281,176.87213134765625,79.6222915649414,0.8929435610771179,11105,0.5810079574584961,Osmancik +12792,443.72698974609375,179.13026428222656,92.19039154052734,0.8573970198631287,13044,0.7941888570785522,Osmancik +12512,454.510009765625,186.95083618164062,86.5754165649414,0.8863102793693542,12817,0.5713242292404175,Osmancik +11814,424.5320129394531,172.85595703125,87.35523986816406,0.8629060387611389,11970,0.7381443381309509,Osmancik +12376,455.7330017089844,188.8243408203125,85.17462921142578,0.892484188079834,12702,0.5639553666114807,Osmancik +10917,420.9110107421875,176.4309539794922,80.17512512207031,0.8907835483551025,11128,0.659079909324646,Osmancik +12293,445.68701171875,181.87916564941406,87.02767944335938,0.8780920505523682,12524,0.7763673067092896,Osmancik +11191,431.0570068359375,184.31167602539062,78.07806396484375,0.9058400988578796,11358,0.7858848571777344,Osmancik +12364,442.8550109863281,175.35739135742188,91.60602569580078,0.8527029156684875,12679,0.6178910732269287,Osmancik +10651,411.00299072265625,167.1800994873047,82.50652313232422,0.8697351217269897,10893,0.6750538945198059,Osmancik +11515,425.4989929199219,177.835205078125,83.02623748779297,0.8843250274658203,11672,0.8077300786972046,Osmancik +12670,462.91400146484375,190.20509338378906,86.2152328491211,0.8913706541061401,13047,0.7132000923156738,Osmancik +13166,465.9670104980469,195.90541076660156,86.00589752197266,0.8984785079956055,13383,0.6580039262771606,Osmancik +11501,428.50299072265625,180.48878479003906,81.40830993652344,0.892501950263977,11676,0.6765294075012207,Osmancik +11303,423.9549865722656,173.8369598388672,83.3764877319336,0.877473771572113,11527,0.6196820139884949,Osmancik +11508,429.2040100097656,178.3140106201172,83.02278137207031,0.8849959373474121,11772,0.788435161113739,Osmancik +12502,431.31298828125,172.89813232421875,92.5653305053711,0.8446145057678223,12679,0.8081448078155518,Osmancik +10296,415.7510070800781,172.33287048339844,77.06074523925781,0.8944528698921204,10514,0.6108935475349426,Osmancik +11299,429.4389953613281,174.44161987304688,84.42338562011719,0.8750881552696228,11663,0.6133760213851929,Osmancik +10231,404.364013671875,159.63926696777344,82.99382781982422,0.8542371392250061,10640,0.6299876570701599,Osmancik +11097,436.1449890136719,182.74285888671875,78.44047546386719,0.9031906127929688,11472,0.6288677453994751,Osmancik +9127,381.8789978027344,160.80465698242188,72.84465789794922,0.8915100693702698,9260,0.589561402797699,Osmancik +11014,413.44000244140625,165.74520874023438,86.5546646118164,0.8528137803077698,11182,0.5826280117034912,Osmancik +12709,446.2049865722656,180.19741821289062,90.73625946044922,0.863973081111908,12958,0.6262441873550415,Osmancik +13154,451.56201171875,179.95359802246094,94.31381225585938,0.8516562581062317,13428,0.6502224206924438,Osmancik +14104,467.8009948730469,189.49490356445312,95.64701080322266,0.8632672429084778,14409,0.7896976470947266,Osmancik +12906,449.7909851074219,180.67588806152344,92.46822357177734,0.8591101765632629,13278,0.6359201669692993,Osmancik +10533,411.01300048828125,168.51832580566406,80.8294448852539,0.8774611353874207,10834,0.6369738578796387,Osmancik +12416,441.9280090332031,175.2147216796875,91.56061553955078,0.8526011109352112,12738,0.629167914390564,Osmancik +9802,412.3689880371094,176.1655731201172,71.48280334472656,0.9139750003814697,9991,0.5669500827789307,Osmancik +13003,478.5870056152344,197.88121032714844,85.5315933227539,0.9017599821090698,13402,0.5888506770133972,Osmancik +10148,408.2279968261719,168.72535705566406,77.14332580566406,0.8893575668334961,10409,0.5832518935203552,Osmancik +10085,404.67999267578125,168.40106201171875,77.30437469482422,0.8884108662605286,10342,0.5717120170593262,Osmancik +10462,415.77398681640625,169.77206420898438,80.69159698486328,0.8798272013664246,10789,0.7458472847938538,Osmancik +11459,435.4530029296875,175.3064422607422,85.23181915283203,0.8738544583320618,11833,0.5838980674743652,Osmancik +12408,437.0140075683594,179.7411651611328,88.82960510253906,0.8693434000015259,12598,0.6369282603263855,Osmancik +10949,420.1700134277344,176.24952697753906,79.89092254638672,0.8913666605949402,11132,0.5790058374404907,Osmancik +11241,417.15899658203125,169.24778747558594,85.45878601074219,0.8631585836410522,11390,0.6286912560462952,Osmancik +11937,427.3349914550781,172.931640625,88.59191131591797,0.8588098883628845,12111,0.7723214030265808,Osmancik +9994,406.64300537109375,173.0985107421875,74.46515655517578,0.902738630771637,10123,0.8070090413093567,Osmancik +11203,424.8039855957031,176.5013427734375,82.42084503173828,0.884273111820221,11406,0.5757529139518738,Osmancik +12311,446.1759948730469,182.64903259277344,86.82935333251953,0.8797756433486938,12608,0.6908917427062988,Osmancik +11999,440.66900634765625,176.701904296875,88.94086456298828,0.86408931016922,12483,0.646846354007721,Osmancik +11029,415.0480041503906,176.2147674560547,80.01405334472656,0.8909654021263123,11182,0.6305888891220093,Osmancik +10527,403.3479919433594,163.06924438476562,83.8401870727539,0.857707142829895,10725,0.6350364685058594,Osmancik +12271,443.7869873046875,179.8376922607422,87.74169158935547,0.8729029893875122,12510,0.623526394367218,Osmancik +11623,424.3590087890625,167.40399169921875,90.13301086425781,0.8426791429519653,11990,0.7602694630622864,Osmancik +11549,432.62298583984375,170.7567901611328,88.04955291748047,0.8568035364151001,11910,0.6222521662712097,Osmancik +11872,429.5379943847656,180.0838623046875,84.3775405883789,0.8834391832351685,12041,0.640448808670044,Osmancik +11717,430.9179992675781,174.6403350830078,86.09232330322266,0.8700467348098755,11948,0.6514873504638672,Osmancik +11543,428.60198974609375,175.3706817626953,85.05824279785156,0.8745031952857971,11859,0.671065628528595,Osmancik +9598,397.0,172.0067901611328,72.28364562988281,0.9074143171310425,9766,0.7968451380729675,Osmancik +11770,429.2449951171875,177.57814025878906,85.31318664550781,0.8770351409912109,11938,0.5924993753433228,Osmancik +10481,413.72198486328125,174.1646270751953,77.66029357910156,0.8950819373130798,10648,0.8064789175987244,Osmancik +11318,427.7560119628906,175.5746612548828,83.88063049316406,0.8784963488578796,11628,0.5894791483879089,Osmancik +10871,416.5379943847656,171.44371032714844,82.22730255126953,0.8774780035018921,11156,0.6008400917053223,Osmancik +10453,411.447998046875,175.73219299316406,76.61852264404297,0.8999485969543457,10589,0.8056262135505676,Osmancik +11087,432.38299560546875,177.4989776611328,80.54419708251953,0.8911174535751343,11380,0.5946366190910339,Osmancik +12593,432.1839904785156,171.4846954345703,93.9250259399414,0.8366639018058777,12785,0.6637676358222961,Osmancik +9878,406.9779968261719,169.36671447753906,74.97759246826172,0.8966728448867798,10098,0.5813323855400085,Osmancik +11734,430.2799987792969,181.88729858398438,82.55502319335938,0.8910627961158752,11875,0.7994276881217957,Osmancik +11835,431.03399658203125,180.4618377685547,84.1444091796875,0.8846410512924194,12016,0.6330230832099915,Osmancik +11699,434.8919982910156,178.2296905517578,85.4521484375,0.8775694370269775,12005,0.5889252424240112,Osmancik +10921,425.0119934082031,175.63832092285156,80.60688018798828,0.8884689211845398,11271,0.770440936088562,Osmancik +12544,437.2690124511719,175.67208862304688,91.52434539794922,0.8535594940185547,12753,0.7881377339363098,Osmancik +10662,415.2699890136719,172.5750274658203,79.8096694946289,0.8866382837295532,10945,0.7250102162361145,Osmancik +10984,416.99798583984375,171.7176513671875,82.50672149658203,0.8770062327384949,11199,0.7470584511756897,Osmancik +12573,461.46600341796875,192.90335083007812,84.57207489013672,0.8987717628479004,12893,0.5504333972930908,Osmancik +12318,442.5870056152344,189.56443786621094,83.20392608642578,0.8985253572463989,12495,0.6517460346221924,Osmancik +12563,457.3630065917969,183.5114288330078,88.70046997070312,0.8754265308380127,12877,0.5934901833534241,Osmancik +12024,432.41900634765625,172.9061737060547,89.97196960449219,0.8539522290229797,12323,0.6272300481796265,Osmancik +12062,432.6239929199219,175.8968048095703,88.78304290771484,0.8632684946060181,12318,0.6159109473228455,Osmancik +11889,428.6969909667969,173.63134765625,88.43959045410156,0.8605578541755676,12113,0.6109455227851868,Osmancik +12076,443.99200439453125,181.71148681640625,85.558349609375,0.8822147846221924,12329,0.6478888392448425,Osmancik +12746,446.1340026855469,182.34104919433594,89.76050567626953,0.8704441785812378,12993,0.8091670870780945,Osmancik +10858,412.2170104980469,166.9623260498047,84.06575012207031,0.8639944791793823,11171,0.7929019927978516,Osmancik +11723,427.625,175.98422241210938,85.70833587646484,0.8733892440795898,11916,0.8020662069320679,Osmancik +11302,418.9540100097656,172.08990478515625,84.01642608642578,0.8727248311042786,11501,0.6200351119041443,Osmancik +11176,418.0559997558594,171.31558227539062,83.93949127197266,0.8717393279075623,11387,0.7970332503318787,Osmancik +8992,377.3320007324219,158.27891540527344,73.05545043945312,0.8871082067489624,9105,0.594512403011322,Osmancik +11123,426.8559875488281,181.08180236816406,79.00098419189453,0.8998146653175354,11362,0.7620580792427063,Osmancik +8709,383.5270080566406,164.1938934326172,67.9328842163086,0.9103970527648926,8873,0.7679893970489502,Osmancik +10458,396.0920104980469,161.55184936523438,83.1700439453125,0.8572986125946045,10642,0.6955769658088684,Osmancik +9854,397.0669860839844,169.15322875976562,74.63223266601562,0.8974034786224365,9992,0.7239200472831726,Osmancik +10863,411.62200927734375,168.27142333984375,83.16527557373047,0.8693295121192932,11057,0.7028338313102722,Osmancik +12148,440.6199951171875,184.95330810546875,84.6978530883789,0.8889821767807007,12328,0.6342940926551819,Osmancik +11014,411.2179870605469,167.1317138671875,85.07861328125,0.8607361912727356,11185,0.6966036558151245,Osmancik +10617,425.4750061035156,180.49880981445312,76.52987670898438,0.9056664109230042,10911,0.7718086838722229,Osmancik +11548,433.51300048828125,176.97808837890625,84.34710693359375,0.879122257232666,11821,0.6881592273712158,Osmancik +12431,437.6570129394531,178.19419860839844,89.48651885986328,0.8647599816322327,12657,0.7355621457099915,Osmancik +9577,403.1709899902344,174.98220825195312,70.26763153076172,0.915828287601471,9769,0.6270953416824341,Osmancik +12315,444.62298583984375,183.17518615722656,86.46495819091797,0.8815802335739136,12523,0.61116623878479,Osmancik +12361,443.8190002441406,178.172119140625,89.32095336914062,0.8652629256248474,12581,0.7803661823272705,Osmancik +11865,426.7279968261719,170.8717041015625,89.45922088623047,0.8519973158836365,12085,0.6418023705482483,Osmancik +10889,409.0169982910156,165.91946411132812,84.85234832763672,0.8593387603759766,11123,0.8048041462898254,Osmancik +10359,409.510986328125,173.3379669189453,76.87580871582031,0.896273136138916,10510,0.5735880136489868,Osmancik +11748,433.77099609375,178.3394775390625,85.6252212524414,0.8772001266479492,12053,0.6529568433761597,Osmancik +10901,410.3900146484375,174.69857788085938,79.8648910522461,0.8893854022026062,11038,0.8269609808921814,Osmancik +10566,405.302001953125,164.9469757080078,82.92601776123047,0.864435613155365,10834,0.6040130257606506,Osmancik +11857,433.20001220703125,177.90762329101562,86.17068481445312,0.874870777130127,12171,0.7166948914527893,Osmancik +10620,404.9320068359375,164.5205535888672,83.29569244384766,0.8623611927032471,10863,0.7618364691734314,Osmancik +10622,408.02801513671875,166.3291015625,81.88404846191406,0.8704248070716858,10808,0.6208065748214722,Osmancik +13133,450.1319885253906,179.15121459960938,94.11334991455078,0.8508991003036499,13351,0.635303795337677,Osmancik +11034,414.5010070800781,169.0801544189453,84.23165893554688,0.8670759797096252,11256,0.7681704163551331,Osmancik +11051,421.3479919433594,166.91262817382812,85.74882507324219,0.8579490184783936,11421,0.6933308243751526,Osmancik +10627,411.4410095214844,172.2612762451172,79.84104919433594,0.8861031532287598,10800,0.802401065826416,Osmancik +11540,427.3190002441406,174.0828094482422,85.4178695678711,0.8713433742523193,11829,0.7451891899108887,Osmancik +11494,433.0580139160156,171.58245849609375,86.87869262695312,0.862335205078125,11858,0.7593815922737122,Osmancik +12253,437.9429931640625,177.7510528564453,89.38975524902344,0.8643487095832825,12595,0.61492520570755,Osmancik +13089,458.0769958496094,182.1092071533203,92.58979797363281,0.8611032962799072,13562,0.7129085063934326,Osmancik +12267,438.2640075683594,175.59097290039062,90.1874771118164,0.8580162525177002,12519,0.6240842342376709,Osmancik +9646,390.95599365234375,162.013671875,76.31642150878906,0.8821069002151489,9815,0.6751120090484619,Osmancik +12115,449.197998046875,187.59158325195312,83.3702392578125,0.895816445350647,12440,0.5668631792068481,Osmancik +10189,454.3160095214844,180.73765563964844,73.32643127441406,0.9140034317970276,11000,0.5197939276695251,Osmancik +10628,418.3039855957031,171.82481384277344,80.32759857177734,0.8839946389198303,10828,0.7150642275810242,Osmancik +10962,418.6610107421875,171.63890075683594,82.79927062988281,0.8759489059448242,11258,0.7164705991744995,Osmancik +12620,458.8869934082031,193.89642333984375,84.08606719970703,0.901074230670929,12866,0.7525342702865601,Osmancik +12164,443.72900390625,185.80194091796875,84.33197784423828,0.8910622596740723,12442,0.6363255977630615,Osmancik +12763,454.9020080566406,185.22537231445312,89.68470001220703,0.8749616146087646,13081,0.6227068901062012,Osmancik +10509,405.0570068359375,166.5041046142578,81.1501235961914,0.8731921315193176,10722,0.6744320392608643,Osmancik +10570,419.9530029296875,181.80636596679688,74.52000427246094,0.9121364951133728,10781,0.5859201550483704,Osmancik +10264,410.1390075683594,169.6039581298828,78.00386047363281,0.8879615664482117,10572,0.5957742929458618,Osmancik +11502,423.8320007324219,167.89208984375,88.34923553466797,0.8503445386886597,11770,0.6275986433029175,Osmancik +12387,449.135986328125,185.4027557373047,86.05038452148438,0.8857687711715698,12662,0.7164256572723389,Osmancik +11339,423.9700012207031,171.7066192626953,85.35773468017578,0.8676853179931641,11531,0.6791853904724121,Osmancik +11063,418.7749938964844,171.65377807617188,83.65955352783203,0.8731934428215027,11318,0.8034132122993469,Osmancik +11365,421.1759948730469,179.13287353515625,81.11463928222656,0.8916028141975403,11499,0.652036726474762,Osmancik +12042,433.7699890136719,178.7764434814453,86.52510070800781,0.8750763535499573,12257,0.78644198179245,Osmancik +11532,422.6910095214844,168.923095703125,88.04035949707031,0.8534430861473083,11798,0.6306808590888977,Osmancik +10723,431.16400146484375,182.3251190185547,76.51873016357422,0.907670795917511,11059,0.7812750339508057,Osmancik +9593,396.04998779296875,162.59072875976562,75.99917602539062,0.8840320706367493,9828,0.7447981238365173,Osmancik +9936,398.2760009765625,161.48193359375,80.27461242675781,0.8676863312721252,10216,0.6719415783882141,Osmancik +10201,403.3070068359375,166.2338409423828,78.98983764648438,0.8798923492431641,10432,0.6097065210342407,Osmancik +12054,439.65899658203125,184.57615661621094,84.05713653564453,0.8902837634086609,12227,0.7322762608528137,Osmancik +10474,420.1239929199219,176.76693725585938,76.98861694335938,0.900170624256134,10762,0.6886259317398071,Osmancik +9733,396.65399169921875,163.66455078125,76.42941284179688,0.8842635750770569,9903,0.8118952512741089,Osmancik +11016,421.1000061035156,173.156005859375,82.32682037353516,0.8797433972358704,11302,0.7816091775894165,Osmancik +11279,426.2120056152344,168.4024658203125,86.92972564697266,0.8564667701721191,11651,0.6609047055244446,Osmancik +12289,451.57598876953125,189.72537231445312,83.07782745361328,0.8990311622619629,12649,0.6882280707359314,Osmancik +12899,456.0,184.99937438964844,90.23584747314453,0.8729761242866516,13167,0.6836442947387695,Osmancik +9962,404.94500732421875,170.91648864746094,74.79293823242188,0.8991701006889343,10137,0.5761045813560486,Osmancik +11559,427.0299987792969,173.23777770996094,87.18897247314453,0.8641170859336853,11840,0.6991471648216248,Osmancik +11023,416.8919982910156,163.0191650390625,88.5920181274414,0.8394445180892944,11343,0.7107027769088745,Osmancik +12135,432.81298828125,180.8758544921875,86.0537338256836,0.8795744180679321,12304,0.6430501937866211,Osmancik +14498,496.54998779296875,200.71026611328125,93.5765380859375,0.8846651315689087,15053,0.6530630588531494,Osmancik +12451,461.3450012207031,191.40777587890625,84.1614990234375,0.8981459736824036,12833,0.5812791585922241,Osmancik +11104,420.9700012207031,164.93902587890625,87.29203033447266,0.848473310470581,11429,0.6327065229415894,Osmancik +9592,385.77801513671875,157.76795959472656,78.3910903930664,0.8678216338157654,9760,0.7884267568588257,Osmancik +11288,429.6470031738281,173.53558349609375,84.29547119140625,0.8740959763526917,11665,0.5931063294410706,Osmancik +11769,427.7699890136719,171.65777587890625,88.38392639160156,0.8572595715522766,12007,0.6285516023635864,Osmancik +10798,412.01300048828125,169.9911346435547,81.7766342163086,0.8766854405403137,11000,0.6488403081893921,Osmancik +10241,411.9469909667969,167.7476806640625,79.10550689697266,0.8818262815475464,10486,0.5897495150566101,Osmancik +12465,451.5150146484375,190.45494079589844,84.1636962890625,0.8970600366592407,12640,0.5959552526473999,Osmancik +10749,412.42498779296875,168.1168212890625,82.58827209472656,0.8710156679153442,11012,0.7081027626991272,Osmancik +10826,414.2229919433594,168.25279235839844,82.88858795166016,0.8702313899993896,11040,0.6154983043670654,Osmancik +11518,428.7099914550781,175.9360809326172,84.25155639648438,0.8778825998306274,11754,0.6603978872299194,Osmancik +10588,410.9360046386719,169.827880859375,80.41876220703125,0.8807771801948547,10783,0.7837737798690796,Osmancik +12489,444.00799560546875,175.32974243164062,92.4818115234375,0.8495714068412781,12853,0.744234561920166,Osmancik +11386,431.7850036621094,176.87677001953125,83.32332611083984,0.8820898532867432,11713,0.6809808611869812,Osmancik +11907,448.0610046386719,188.30239868164062,82.26176452636719,0.8995295763015747,12156,0.7613171339035034,Osmancik +11411,429.10101318359375,175.35614013671875,83.65203094482422,0.8788811564445496,11636,0.5980607867240906,Osmancik +9371,401.89599609375,170.56948852539062,70.65042114257812,0.9101844429969788,9542,0.7783222794532776,Osmancik +11264,423.3909912109375,172.13951110839844,84.22161102294922,0.8721358776092529,11476,0.7324273586273193,Osmancik +12495,454.7929992675781,186.77662658691406,86.49271392822266,0.8863159418106079,12774,0.750315248966217,Osmancik +11024,414.8590087890625,165.83213806152344,85.64083099365234,0.8563289046287537,11342,0.6350230574607849,Osmancik +11512,427.5679931640625,172.21009826660156,85.44306182861328,0.8682334423065186,11802,0.6907891035079956,Osmancik +11708,423.9410095214844,173.9320068359375,85.92610931396484,0.86944979429245,11918,0.6113199591636658,Osmancik +10015,402.1789855957031,160.38682556152344,81.07691192626953,0.8628215789794922,10338,0.6946178674697876,Osmancik +10820,424.781005859375,178.76576232910156,78.07855987548828,0.8995758295059204,11081,0.7148520350456238,Osmancik +9802,396.8160095214844,166.8902130126953,75.11701202392578,0.8929789662361145,9948,0.5711788535118103,Osmancik +10470,419.01800537109375,177.06436157226562,75.6327896118164,0.9041814804077148,10682,0.5986278057098389,Osmancik +11553,433.7770080566406,183.22137451171875,80.94514465332031,0.8971191048622131,11729,0.8067737221717834,Osmancik +10731,414.17498779296875,170.21009826660156,81.19894409179688,0.8788754940032959,10922,0.59320068359375,Osmancik +11352,422.3240051269531,171.01980590820312,85.81471252441406,0.8649939298629761,11581,0.7857142686843872,Osmancik +11454,424.9540100097656,175.07666015625,84.24492645263672,0.8766170144081116,11646,0.7331029176712036,Osmancik +10634,409.5060119628906,167.4369659423828,81.81295776367188,0.872497022151947,10809,0.6837705969810486,Osmancik +12422,444.0849914550781,183.13438415527344,86.95216369628906,0.8800938129425049,12658,0.6234065890312195,Osmancik +12190,441.7850036621094,178.55238342285156,87.93262481689453,0.8703264594078064,12478,0.6502026915550232,Osmancik +10534,409.625,167.9882049560547,80.67377471923828,0.8771399855613708,10753,0.6096065044403076,Osmancik +12224,438.97601318359375,177.13861083984375,88.4313735961914,0.8664745092391968,12445,0.6062589883804321,Osmancik +10382,405.2130126953125,168.42626953125,78.9587173461914,0.8833028078079224,10599,0.8018226623535156,Osmancik +10763,416.0169982910156,171.06178283691406,80.66741943359375,0.8818292021751404,10951,0.5950353741645813,Osmancik +13362,460.07000732421875,186.35324096679688,92.15919494628906,0.869154691696167,13612,0.7410159707069397,Osmancik +10875,418.98199462890625,166.69039916992188,85.32958221435547,0.8590422868728638,11334,0.7621951103210449,Osmancik +10657,407.7650146484375,168.73733520507812,80.82007598876953,0.8778314590454102,10826,0.6095287203788757,Osmancik +11568,429.5480041503906,174.58656311035156,85.20391845703125,0.8728254437446594,11800,0.6018730401992798,Osmancik +9483,390.99798583984375,157.25991821289062,78.63333129882812,0.8660130500793457,9817,0.6578564047813416,Osmancik +10312,398.7950134277344,163.5423126220703,80.67044830322266,0.869876503944397,10507,0.8057509064674377,Osmancik +10355,402.6679992675781,159.89141845703125,83.47418212890625,0.8529039025306702,10621,0.6360564827919006,Osmancik +11592,436.3999938964844,178.1359405517578,83.72199249267578,0.8826720714569092,11844,0.7235954999923706,Osmancik +10384,416.0429992675781,176.7415771484375,75.5928726196289,0.9039193987846375,10557,0.566874086856842,Osmancik +11752,428.6610107421875,172.259765625,89.06375122070312,0.8559662699699402,12082,0.6499999761581421,Osmancik +15062,492.06500244140625,198.02740478515625,99.11066436767578,0.8657425045967102,15584,0.7841524481773376,Osmancik +12700,452.4280090332031,185.6102294921875,88.25029754638672,0.8797371983528137,12910,0.6807461380958557,Osmancik +12324,465.66900634765625,198.52171325683594,80.21651458740234,0.9147284030914307,12557,0.6416744589805603,Osmancik +9638,398.9119873046875,168.10983276367188,73.46514129638672,0.8994582295417786,9798,0.7257530093193054,Osmancik +12734,447.0840148925781,180.24822998046875,91.31795501708984,0.8621675372123718,13019,0.7948814034461975,Osmancik +10576,417.0199890136719,175.3908233642578,77.4555892944336,0.8972036242485046,10729,0.5659246444702148,Osmancik +9858,388.6669921875,155.12448120117188,81.84178161621094,0.8495005369186401,10101,0.6565434336662292,Osmancik +12672,450.343994140625,184.4046173095703,88.78121185302734,0.8764747381210327,12939,0.782608687877655,Osmancik +10559,411.0880126953125,160.0530242919922,86.12352752685547,0.8428850173950195,10889,0.6267212629318237,Osmancik +11062,410.09600830078125,165.46946716308594,86.05538940429688,0.8541247844696045,11213,0.6308165788650513,Osmancik +12423,436.4930114746094,180.1210174560547,88.61711120605469,0.8706028461456299,12567,0.6622421145439148,Osmancik +10469,423.7850036621094,177.03677368164062,76.73817443847656,0.9011732935905457,10859,0.5702069997787476,Osmancik +12220,425.0459899902344,170.33270263671875,91.9388656616211,0.841818630695343,12385,0.7217103838920593,Osmancik +10974,413.5,170.5678253173828,83.24488067626953,0.872818112373352,11142,0.7640997171401978,Osmancik +11940,423.67498779296875,168.63401794433594,91.36426544189453,0.8405137062072754,12191,0.6639973521232605,Osmancik +12659,445.3190002441406,179.94334411621094,90.13162994384766,0.8655115962028503,12848,0.6169103384017944,Osmancik +8990,389.37701416015625,157.74960327148438,73.91918182373047,0.8834181427955627,9297,0.6252608299255371,Osmancik +9577,404.54400634765625,166.9007568359375,74.35095977783203,0.8952918648719788,9855,0.6122618317604065,Osmancik +11226,416.0820007324219,166.27264404296875,87.09693908691406,0.8518289923667908,11515,0.6354579329490662,Osmancik +10496,407.322998046875,167.9293670654297,80.18907165527344,0.8786227107048035,10666,0.7032967209815979,Osmancik +10821,425.26800537109375,178.35679626464844,78.2489242553711,0.8986231684684753,11101,0.7793863415718079,Osmancik +11898,422.3680114746094,166.2357177734375,91.87953186035156,0.8333761096000671,12063,0.6627673506736755,Osmancik +10871,414.67401123046875,165.7461395263672,85.62849426269531,0.8562121391296387,11224,0.7661029100418091,Osmancik +11732,428.1830139160156,172.9629669189453,86.98690032958984,0.8643317222595215,11900,0.6310920119285583,Osmancik +12051,423.22698974609375,168.01327514648438,92.19841766357422,0.835982084274292,12216,0.7660183310508728,Osmancik +11976,444.6440124511719,188.9818572998047,81.36695861816406,0.9025646448135376,12149,0.5580095052719116,Osmancik +10855,417.3169860839844,167.3380126953125,84.22980499267578,0.864081859588623,11135,0.6048364639282227,Osmancik +11212,413.5660095214844,169.6781005859375,84.63475036621094,0.8667194247245789,11400,0.8088882565498352,Osmancik +10221,405.29998779296875,168.6337432861328,78.04261016845703,0.8864660859107971,10368,0.6027243733406067,Osmancik +10580,409.0889892578125,173.31698608398438,78.047119140625,0.8928701281547546,10731,0.5813186764717102,Osmancik +12712,453.0799865722656,192.81546020507812,84.60753631591797,0.8985844850540161,12891,0.5687695741653442,Osmancik +10015,402.45599365234375,159.7266845703125,81.87760925292969,0.8586211204528809,10408,0.6069697141647339,Osmancik +11606,432.3139953613281,185.7037353515625,80.28008270263672,0.9017289280891418,11756,0.8327473402023315,Osmancik +10770,405.5039978027344,158.72882080078125,87.61263275146484,0.8338677883148193,11097,0.6660482287406921,Osmancik +10773,414.8919982910156,159.67530822753906,88.12444305419922,0.8339118361473083,11174,0.6328125,Osmancik +12249,438.9020080566406,181.72555541992188,86.3648910522461,0.8798513412475586,12428,0.6275102496147156,Osmancik +12356,427.89801025390625,173.0211639404297,91.67183685302734,0.8481037616729736,12524,0.7987071871757507,Osmancik +12911,446.7539978027344,187.87210083007812,88.20014190673828,0.8829489350318909,13071,0.7710821628570557,Osmancik +12074,436.4620056152344,178.20761108398438,87.64710998535156,0.870693564414978,12300,0.6017743349075317,Osmancik +8652,374.4020080566406,151.8221435546875,74.14385223388672,0.8726422786712646,8866,0.6091241836547852,Osmancik +10591,410.7340087890625,169.7548065185547,80.39869689941406,0.8807311058044434,10751,0.6033382415771484,Osmancik +11782,436.53399658203125,183.45022583007812,82.57640075683594,0.892963171005249,11985,0.614029586315155,Osmancik +12627,453.5190124511719,191.8118896484375,84.54081726074219,0.8976305723190308,12830,0.7261069416999817,Osmancik +11945,414.14599609375,162.352783203125,94.94728088378906,0.811162531375885,12106,0.79776930809021,Osmancik +11506,433.7049865722656,183.94097900390625,80.15775299072266,0.9000533223152161,11676,0.718227207660675,Osmancik +13057,445.177001953125,177.8078155517578,94.50707244873047,0.8470504879951477,13348,0.643360435962677,Osmancik +11415,424.9630126953125,172.69561767578125,85.28923797607422,0.8695355653762817,11735,0.6913154125213623,Osmancik +12067,423.36199951171875,168.36907958984375,92.05317687988281,0.837306022644043,12274,0.6496016383171082,Osmancik +11506,433.3420104980469,183.44586181640625,80.39727020263672,0.8988474607467651,11675,0.6170098781585693,Osmancik +12483,428.1470031738281,170.29612731933594,94.28094482421875,0.832763135433197,12680,0.7373737096786499,Osmancik +11714,412.2019958496094,161.3081817626953,93.22561645507812,0.8160828948020935,11886,0.76432204246521,Osmancik +10119,403.5429992675781,168.57598876953125,77.2408447265625,0.8888511657714844,10317,0.7722069621086121,Osmancik +12175,431.7279968261719,178.5574493408203,87.7936782836914,0.8707742094993591,12345,0.800197184085846,Osmancik +12487,437.1210021972656,174.2112274169922,92.41957092285156,0.8476830720901489,12808,0.695460855960846,Osmancik +13619,467.7659912109375,193.68093872070312,90.47348022460938,0.884190559387207,13926,0.5866718292236328,Osmancik +12184,434.4079895019531,181.74607849121094,85.9719467163086,0.8810445666313171,12336,0.7287081480026245,Osmancik +13481,447.9209899902344,182.98513793945312,94.3671875,0.856763482093811,13647,0.7807830572128296,Osmancik +13267,465.0320129394531,193.76559448242188,88.83869934082031,0.8887019157409668,13543,0.6644130349159241,Osmancik +12378,454.06201171875,195.47213745117188,81.28996276855469,0.9094265103340149,12570,0.5565647482872009,Osmancik +12942,441.7439880371094,175.5592498779297,95.2850112915039,0.8398934602737427,13310,0.7016916275024414,Osmancik +10919,428.7019958496094,182.93264770507812,77.90177154541016,0.9047940373420715,11162,0.6090472936630249,Osmancik +13635,455.5459899902344,189.43157958984375,92.07763671875,0.8739180564880371,13785,0.7485178112983704,Osmancik +12676,437.95599365234375,178.2371063232422,91.69775390625,0.8575080037117004,12887,0.6912422180175781,Osmancik +13079,436.0450134277344,174.89231872558594,95.94194793701172,0.8360998630523682,13228,0.7725796103477478,Osmancik +11779,440.97601318359375,191.88247680664062,78.73442840576172,0.9119387865066528,11918,0.5837545990943909,Osmancik +12583,434.00299072265625,171.65707397460938,94.46522521972656,0.834958016872406,12897,0.7432807683944702,Osmancik +14608,483.1610107421875,201.03494262695312,93.46073150634766,0.885364294052124,14845,0.6550084948539734,Osmancik +11108,403.6180114746094,164.1064453125,86.64311981201172,0.849263608455658,11256,0.7968435883522034,Osmancik +13932,462.0220031738281,187.78028869628906,95.78060150146484,0.8601344227790833,14180,0.7049180269241333,Osmancik +11772,436.59600830078125,181.49266052246094,83.73271942138672,0.8872151374816895,11984,0.5720116496086121,Osmancik +14960,482.1400146484375,199.54397583007812,96.21820068359375,0.8760663866996765,15149,0.6118609309196472,Osmancik +10956,422.1719970703125,178.35186767578125,79.15714263916016,0.8961131572723389,11131,0.5731324553489685,Osmancik +12818,439.9519958496094,179.20169067382812,91.86772155761719,0.8585977554321289,13005,0.6258177757263184,Osmancik +11091,416.94500732421875,171.77407836914062,82.73455047607422,0.876365065574646,11292,0.6101331114768982,Osmancik +10246,406.3710021972656,163.8946990966797,81.50821685791016,0.8675668239593506,10655,0.7071083784103394,Osmancik +13710,467.4049987792969,193.88870239257812,90.85185241699219,0.8834224939346313,13915,0.7288676500320435,Osmancik +11051,424.97601318359375,180.8719024658203,78.26737976074219,0.9015271067619324,11240,0.5680579543113708,Osmancik +10690,404.6400146484375,165.3701934814453,83.37030792236328,0.8636199235916138,10855,0.6207897663116455,Osmancik +11337,433.9779968261719,184.34811401367188,78.8676986694336,0.9038642644882202,11506,0.6566083431243896,Osmancik +11088,430.5870056152344,184.72201538085938,77.0133056640625,0.9089456796646118,11263,0.6283577084541321,Osmancik +12735,440.7330017089844,175.24607849121094,94.10066986083984,0.8436057567596436,13037,0.7996860146522522,Osmancik +13607,461.0509948730469,190.51434326171875,91.71279907226562,0.8765033483505249,13772,0.6091413497924805,Osmancik +10193,409.7950134277344,174.16961669921875,75.0309066772461,0.9024511575698853,10377,0.7564378380775452,Osmancik +11883,440.5419921875,187.20535278320312,82.01986694335938,0.8989127278327942,12057,0.5621097683906555,Osmancik +12154,448.06201171875,186.7820587158203,83.89810180664062,0.8934430480003357,12445,0.6292844414710999,Osmancik +13629,470.6780090332031,202.24447631835938,86.40013122558594,0.9041541218757629,13785,0.5667650699615479,Osmancik +11848,432.3689880371094,178.35079956054688,86.1173095703125,0.8757011294364929,12045,0.6002938747406006,Osmancik +11923,439.7130126953125,183.15695190429688,83.90174865722656,0.8889075517654419,12116,0.5859255790710449,Osmancik +13264,447.947998046875,175.38497924804688,98.2975845336914,0.8281764388084412,13502,0.6609527468681335,Osmancik +11116,409.54400634765625,166.3851318359375,86.12647247314453,0.8556026220321655,11313,0.6218741536140442,Osmancik +12200,447.2139892578125,191.1407012939453,81.57138061523438,0.9043644666671753,12367,0.5697473287582397,Osmancik +13617,465.00299072265625,189.25547790527344,92.44890594482422,0.8725709915161133,13872,0.6161259412765503,Osmancik +13270,459.8659973144531,188.89337158203125,90.74984741210938,0.8770336508750916,13507,0.5994488596916199,Osmancik +10559,424.84698486328125,179.20773315429688,76.38801574707031,0.9046035408973694,10770,0.6703276038169861,Osmancik +12005,440.2650146484375,180.68211364746094,85.73722839355469,0.8802448511123657,12319,0.603023886680603,Osmancik +12128,441.7120056152344,184.30514526367188,84.94325256347656,0.8874605298042297,12327,0.6223316788673401,Osmancik +11923,435.2869873046875,174.07080078125,88.94534301757812,0.8595972657203674,12187,0.6155394911766052,Osmancik +11942,424.781005859375,168.7167510986328,91.57379913330078,0.8398836255073547,12188,0.789814829826355,Osmancik +10877,424.57501220703125,175.6068878173828,80.03326416015625,0.8901065587997437,11152,0.61598140001297,Osmancik +12676,431.7699890136719,172.60964965820312,94.47388458251953,0.8369189500808716,12872,0.7310265302658081,Osmancik +12124,431.75201416015625,173.8032684326172,89.89888000488281,0.855837345123291,12389,0.7701200246810913,Osmancik +12299,437.1319885253906,175.00462341308594,91.06095886230469,0.8539624810218811,12551,0.6234286427497864,Osmancik +12799,443.4169921875,175.32969665527344,94.25945281982422,0.8431919813156128,13066,0.6316127181053162,Osmancik +13414,459.28399658203125,191.06317138671875,90.2098388671875,0.8815200328826904,13611,0.7631564140319824,Osmancik +14771,471.9100036621094,193.90542602539062,98.03417205810547,0.8627813458442688,14976,0.6148179173469543,Osmancik +11146,425.9599914550781,179.80117797851562,79.56255340576172,0.8967670202255249,11302,0.5810655951499939,Osmancik +13149,463.3110046386719,189.8730926513672,89.2320327758789,0.8826897740364075,13421,0.7871767282485962,Osmancik +13880,479.635986328125,203.02256774902344,87.3761978149414,0.9026493430137634,14160,0.7682514786720276,Osmancik +12432,446.4880065917969,183.415283203125,87.7301025390625,0.8781888484954834,12677,0.5873016119003296,Osmancik +12962,456.7139892578125,185.9990997314453,90.16757202148438,0.8746393322944641,13224,0.60837322473526,Osmancik +12826,452.8219909667969,181.85797119140625,91.52682495117188,0.8641191124916077,13129,0.6062009930610657,Osmancik +12281,437.4590148925781,179.5417938232422,88.17609405517578,0.8710933923721313,12532,0.7457493543624878,Osmancik +12622,458.2749938964844,189.6963348388672,86.54058837890625,0.8898742198944092,13019,0.7644137740135193,Osmancik +12060,451.593994140625,187.8306884765625,82.86117553710938,0.8974342346191406,12367,0.5975029468536377,Osmancik +11140,429.7969970703125,179.19674682617188,80.07656860351562,0.8946019411087036,11346,0.5891063213348389,Osmancik +12421,464.6390075683594,200.59527587890625,79.92349243164062,0.9171980619430542,12699,0.5538166761398315,Osmancik +12900,442.6860046386719,181.08026123046875,91.61207580566406,0.8625805377960205,13112,0.7875458002090454,Osmancik +11307,437.8800048828125,181.03758239746094,80.66364288330078,0.8952506184577942,11662,0.7184521555900574,Osmancik +11290,427.5899963378906,180.13841247558594,80.42607116699219,0.8947994709014893,11427,0.5725151896476746,Osmancik +11415,426.1650085449219,173.8845977783203,85.3283462524414,0.8713182806968689,11634,0.596394956111908,Osmancik +10767,428.35198974609375,181.7823028564453,75.89606475830078,0.9086719751358032,11002,0.699155867099762,Osmancik +10516,423.3999938964844,175.92066955566406,77.73805236816406,0.8970679640769958,10787,0.6368701457977295,Osmancik +11568,429.072998046875,178.33297729492188,83.63752746582031,0.8832000494003296,11790,0.7512176036834717,Osmancik +12503,449.5989990234375,184.0143280029297,88.25849914550781,0.8774717450141907,12803,0.7816329002380371,Osmancik +12496,449.7409973144531,181.1239013671875,89.78373718261719,0.8684918284416199,12870,0.6835512518882751,Osmancik +11842,441.9100036621094,187.6987762451172,80.8131103515625,0.9025682210922241,12044,0.6324165463447571,Osmancik +13130,463.27801513671875,184.31396484375,91.93473815917969,0.86672043800354,13485,0.7103825211524963,Osmancik +13355,466.3160095214844,193.7286834716797,88.69730377197266,0.8890331387519836,13597,0.6054218411445618,Osmancik +12653,441.4939880371094,176.01510620117188,93.18790435791016,0.84835284948349,12955,0.7648090124130249,Osmancik +12518,460.85400390625,188.437744140625,86.61429595947266,0.8881032466888428,12903,0.7325608730316162,Osmancik +13704,472.0610046386719,191.9680938720703,92.88043975830078,0.8751605153083801,14102,0.7474229335784912,Osmancik +14561,487.6510009765625,202.9112091064453,92.16223907470703,0.8908998370170593,14862,0.700384795665741,Osmancik +12729,458.385986328125,184.9995880126953,88.83807373046875,0.8771552443504333,13085,0.6021286845207214,Osmancik +11215,421.17999267578125,179.53350830078125,79.69017791748047,0.8960894346237183,11373,0.5829002261161804,Osmancik +12822,459.6809997558594,190.30259704589844,87.41133880615234,0.8882666826248169,13167,0.6559239029884338,Osmancik +12770,451.739990234375,191.07308959960938,86.15909576416016,0.8925632238388062,12910,0.5809826850891113,Osmancik +13316,445.04998779296875,179.4551239013672,95.03306579589844,0.8482696413993835,13517,0.8141354918479919,Osmancik +11169,431.8009948730469,188.45394897460938,75.71424102783203,0.9157426953315735,11332,0.5386544466018677,Osmancik +12071,441.17999267578125,178.04119873046875,87.77051544189453,0.8700413703918457,12442,0.7380166053771973,Osmancik +10250,407.28900146484375,165.72189331054688,79.96314239501953,0.8758882284164429,10512,0.7223396897315979,Osmancik +12730,454.4389953613281,186.89358520507812,87.86869812011719,0.8825845718383789,12943,0.6661433577537537,Osmancik +12768,450.6000061035156,188.6433563232422,86.66716003417969,0.8882173895835876,12961,0.7981995344161987,Osmancik +11182,429.5950012207031,181.4321746826172,79.18195343017578,0.8997395038604736,11389,0.6797568202018738,Osmancik +12390,454.4909973144531,195.73446655273438,81.36215209960938,0.9095126986503601,12550,0.5983772873878479,Osmancik +14753,495.260009765625,203.72470092773438,93.18321990966797,0.8892621994018555,15153,0.6346468329429626,Osmancik +13742,484.3420104980469,195.28494262695312,91.24281311035156,0.8841362595558167,14224,0.672407865524292,Osmancik +12981,451.3269958496094,183.76185607910156,91.07872772216797,0.8685311675071716,13231,0.7549287676811218,Osmancik +11255,442.6180114746094,189.49684143066406,76.36518096923828,0.9152047038078308,11500,0.775351345539093,Osmancik +13331,461.3089904785156,193.5599365234375,88.79623413085938,0.8885637521743774,13500,0.5795078873634338,Osmancik +12914,464.17999267578125,182.70155334472656,91.95509338378906,0.8641072511672974,13385,0.6435120701789856,Osmancik +11470,428.5360107421875,177.71078491210938,82.36468505859375,0.886109471321106,11663,0.6515564918518066,Osmancik +12671,448.1199951171875,181.4938201904297,90.35111236572266,0.8672808408737183,12949,0.7406476736068726,Osmancik +10879,427.135986328125,179.45077514648438,78.29277801513672,0.8998056054115295,11110,0.7354651093482971,Osmancik +13308,464.13299560546875,196.2423095703125,87.26089477539062,0.8956999778747559,13486,0.5975215435028076,Osmancik +12448,438.9150085449219,174.413330078125,92.27671813964844,0.848578691482544,12750,0.6817086338996887,Osmancik +11963,432.2980041503906,177.85711669921875,86.44562530517578,0.8739367127418518,12162,0.8091856241226196,Osmancik +12357,447.3909912109375,186.28785705566406,85.0143051147461,0.8897953033447266,12602,0.7636262774467468,Osmancik +11049,412.8139953613281,169.61973571777344,83.3963623046875,0.8707835078239441,11244,0.7923838496208191,Osmancik +12310,438.1619873046875,177.79843139648438,89.22602844238281,0.864961564540863,12528,0.7858784198760986,Osmancik +11381,434.3179931640625,174.8636932373047,85.03392028808594,0.873799204826355,11692,0.6018508672714233,Osmancik +12193,433.9570007324219,170.4727783203125,92.6531753540039,0.8394045233726501,12558,0.6246733665466309,Osmancik +12259,440.0299987792969,177.31454467773438,89.53556823730469,0.8631466627120972,12533,0.7241420149803162,Osmancik +13058,451.3139953613281,181.87367248535156,92.20594024658203,0.8619590401649475,13310,0.6280904412269592,Osmancik +9929,395.87200927734375,164.90814208984375,77.17048645019531,0.8837494254112244,10070,0.6133555769920349,Osmancik +12343,443.6130065917969,177.4236297607422,90.40623474121094,0.8604409694671631,12712,0.6629605889320374,Osmancik +10847,417.92401123046875,170.36679077148438,82.47300720214844,0.8750177025794983,11107,0.7463189959526062,Osmancik +11012,428.23699951171875,176.37896728515625,80.69747161865234,0.8891976475715637,11325,0.7587157487869263,Osmancik +11077,427.66400146484375,181.1168670654297,78.34978485107422,0.901589572429657,11275,0.5552380681037903,Osmancik +11893,441.3999938964844,182.08619689941406,84.24276733398438,0.8865393400192261,12092,0.5783970355987549,Osmancik +12330,433.0690002441406,173.93455505371094,91.46205139160156,0.8505824208259583,12550,0.6842397451400757,Osmancik +10824,416.4150085449219,170.8782196044922,81.7323989868164,0.8781922459602356,11046,0.5905073881149292,Osmancik +11119,419.7279968261719,174.08106994628906,82.1559066772461,0.8816304206848145,11314,0.7695874571800232,Osmancik +11161,420.9100036621094,169.3504638671875,85.33821868896484,0.8637533187866211,11363,0.6805487871170044,Osmancik +12237,438.156005859375,178.05892944335938,88.28736114501953,0.8684183359146118,12489,0.6308382153511047,Osmancik +12103,446.08099365234375,181.47109985351562,86.55187225341797,0.8789327144622803,12444,0.5746913552284241,Osmancik +10891,406.5710144042969,159.8688201904297,87.57321166992188,0.8366213440895081,11103,0.6759558320045471,Osmancik +10413,427.3680114746094,183.97604370117188,72.4298324584961,0.9192425608634949,10591,0.7713333368301392,Osmancik +11221,418.5610046386719,168.1425018310547,85.76485443115234,0.8601314425468445,11455,0.7677202820777893,Osmancik +11084,435.1449890136719,180.9138946533203,79.56829833984375,0.8980893492698669,11451,0.6079421043395996,Osmancik +11883,438.218994140625,178.86167907714844,86.5658950805664,0.8750777840614319,12204,0.6712800860404968,Osmancik +11593,435.3909912109375,182.1506805419922,81.85136413574219,0.8933504223823547,11845,0.6928640007972717,Osmancik +13241,458.010986328125,184.9142303466797,93.20130920410156,0.8636893630027771,13560,0.7781042456626892,Osmancik +10759,401.927001953125,158.9398651123047,87.47952270507812,0.8349051475524902,10955,0.6192229986190796,Osmancik +10690,411.3840026855469,169.08860778808594,81.66603088378906,0.875632643699646,10915,0.6611008048057556,Osmancik +10192,404.1820068359375,171.13255310058594,76.47444915771484,0.894597589969635,10346,0.6105918884277344,Osmancik +13140,467.0169982910156,192.61575317382812,89.4725570678711,0.885566234588623,13570,0.6389185786247253,Osmancik +11295,430.6199951171875,179.13636779785156,81.1850357055664,0.8914076089859009,11516,0.6912484765052795,Osmancik +11004,412.22698974609375,171.55355834960938,82.59552001953125,0.876470148563385,11199,0.698932945728302,Osmancik +11287,419.9179992675781,170.10755920410156,85.72703552246094,0.8637282848358154,11557,0.6696926355361938,Osmancik +10919,428.3489990234375,179.68310546875,77.92034149169922,0.9010793566703796,11143,0.5958201289176941,Osmancik +10309,396.53900146484375,161.23341369628906,81.93710327148438,0.861245334148407,10478,0.7075497508049011,Osmancik +12043,441.156005859375,175.5320587158203,88.68824768066406,0.862970769405365,12376,0.6677201390266418,Osmancik +10712,417.2510070800781,174.89871215820312,79.08196258544922,0.8919375538825989,10940,0.5838238596916199,Osmancik +12345,448.7690124511719,180.52049255371094,88.84284973144531,0.8705114126205444,12676,0.5949971079826355,Osmancik +12263,438.13800048828125,175.74044799804688,90.18716430664062,0.8582786917686462,12634,0.7183107137680054,Osmancik +11036,435.4989929199219,186.0784149169922,76.30805969238281,0.9120470881462097,11305,0.5975741744041443,Osmancik +12590,447.5320129394531,180.0244598388672,89.97459411621094,0.8661460876464844,12875,0.6691113710403442,Osmancik +9273,406.4020080566406,173.41409301757812,68.80253601074219,0.9179254770278931,9445,0.5300977826118469,Osmancik +11717,439.7300109863281,182.04054260253906,82.6197280883789,0.8910763263702393,11965,0.5614817142486572,Osmancik +11359,422.84698486328125,171.239990234375,85.91520690917969,0.8650277853012085,11665,0.6596399545669556,Osmancik +11136,417.7669982910156,170.42234802246094,84.60591888427734,0.868066132068634,11384,0.7846121191978455,Osmancik +8679,380.60101318359375,158.23526000976562,70.78799438476562,0.8943544030189514,8889,0.7180441617965698,Osmancik +12777,462.66900634765625,183.2349090576172,90.69457244873047,0.8689138293266296,13148,0.5724462270736694,Osmancik +10669,403.67498779296875,164.54737854003906,83.43628692626953,0.8619075417518616,10885,0.7138364911079407,Osmancik +12981,449.61700439453125,177.62295532226562,94.24237060546875,0.8476377129554749,13389,0.6514604091644287,Osmancik +10534,409.3399963378906,163.8759307861328,83.27369689941406,0.8612681031227112,10899,0.7261322140693665,Osmancik +10842,415.65899658203125,169.43460083007812,82.63616943359375,0.8730016946792603,11153,0.7330628633499146,Osmancik +11274,422.6629943847656,174.38633728027344,82.87808227539062,0.8798477649688721,11459,0.7405412793159485,Osmancik +11472,420.2569885253906,174.82525634765625,83.87501525878906,0.8773971199989319,11617,0.7422360181808472,Osmancik +10847,417.6700134277344,168.35777282714844,82.870849609375,0.8704648017883301,11152,0.6241081953048706,Osmancik +10982,411.5740051269531,164.91136169433594,86.45071411132812,0.8515796065330505,11289,0.7037938833236694,Osmancik +10736,417.3949890136719,178.90367126464844,76.73338317871094,0.9033477306365967,10901,0.7433873414993286,Osmancik +8850,381.4339904785156,159.25120544433594,71.76094818115234,0.892718493938446,9063,0.572519063949585,Osmancik +12959,473.6099853515625,206.2255096435547,80.63357543945312,0.9203919172286987,13309,0.5951593518257141,Osmancik +12150,435.90399169921875,175.48321533203125,89.56684112548828,0.8599364161491394,12460,0.7105262875556946,Osmancik +12583,451.8190002441406,180.2173309326172,90.56421661376953,0.8645610213279724,12901,0.6078450083732605,Osmancik +8968,390.4909973144531,166.47694396972656,69.36820983886719,0.9090515971183777,9150,0.7897146940231323,Osmancik +9759,391.4840087890625,159.02813720703125,79.177978515625,0.867242157459259,9999,0.7321080565452576,Osmancik +12536,460.28399658203125,195.9936981201172,82.31514739990234,0.9075292944908142,12778,0.6480562686920166,Osmancik +13093,470.1000061035156,197.197021484375,85.79728698730469,0.9003897905349731,13358,0.5573861002922058,Osmancik +10663,403.2550048828125,163.936279296875,83.7474136352539,0.8596677780151367,10884,0.65217125415802,Osmancik +10972,425.3999938964844,178.52015686035156,78.78364562988281,0.8973522186279297,11192,0.7209409475326538,Osmancik +11302,418.20098876953125,167.57505798339844,86.95643615722656,0.8548286557197571,11591,0.6235586404800415,Osmancik +10443,404.9849853515625,165.2056121826172,81.7027816772461,0.8691479563713074,10701,0.6189544796943665,Osmancik +12582,446.2900085449219,180.48826599121094,89.40398406982422,0.8686962723731995,12801,0.7033765912055969,Osmancik +10611,414.4020080566406,171.14273071289062,79.86785888671875,0.884429395198822,10874,0.7139204740524292,Osmancik +12142,443.5150146484375,177.7447509765625,88.197509765625,0.8682064414024353,12459,0.6156264543533325,Osmancik +9669,388.60699462890625,151.43846130371094,83.59090423583984,0.8338577747344971,10012,0.7338899374008179,Osmancik +10534,423.6210021972656,176.34371948242188,77.70800018310547,0.8976730704307556,10826,0.8042449355125427,Osmancik +10595,403.82000732421875,163.12149047851562,83.77961730957031,0.8580281734466553,10832,0.6192285418510437,Osmancik +11500,442.3340148925781,178.8392791748047,84.1364974975586,0.8824220299720764,12070,0.5880247354507446,Osmancik +12776,457.47100830078125,184.2328643798828,89.64103698730469,0.8736450672149658,13089,0.743006706237793,Osmancik +11483,437.0249938964844,185.75238037109375,79.08173370361328,0.9048467874526978,11665,0.5750700831413269,Osmancik +14186,484.05999755859375,201.1923065185547,91.25877380371094,0.8912106156349182,14560,0.7665207982063293,Osmancik +12008,433.2340087890625,184.12741088867188,83.70603942871094,0.8906909227371216,12129,0.6440332531929016,Osmancik +11073,431.1570129394531,182.7000274658203,77.7221450805664,0.9050014615058899,11367,0.7511192560195923,Osmancik +11249,423.0950012207031,167.86300659179688,86.53877258300781,0.8568702936172485,11560,0.618893027305603,Osmancik +10727,408.0419921875,163.17135620117188,84.78304290771484,0.8544126152992249,11017,0.6920645236968994,Osmancik +11957,441.88299560546875,186.96121215820312,81.9699935913086,0.8987637758255005,12137,0.7736154198646545,Osmancik +10828,410.0690002441406,166.37713623046875,84.09659576416016,0.8628514409065247,11093,0.7285205125808716,Osmancik +11303,426.510009765625,171.101318359375,85.57962036132812,0.8659276962280273,11623,0.6484796404838562,Osmancik +11594,437.9100036621094,178.67660522460938,84.30540466308594,0.8816882967948914,11969,0.6006008982658386,Osmancik +8501,371.0249938964844,153.89625549316406,71.51190948486328,0.8854807615280151,8738,0.6398464441299438,Osmancik +11858,437.1090087890625,185.81817626953125,82.01721954345703,0.8973181843757629,12017,0.569056510925293,Osmancik +11191,426.13800048828125,177.49659729003906,81.30754852294922,0.888911247253418,11456,0.6431609392166138,Osmancik +9249,390.2040100097656,162.3269805908203,73.78990936279297,0.8907080888748169,9522,0.6175881624221802,Osmancik +12022,431.2309875488281,176.25048828125,87.95137786865234,0.8665941953659058,12205,0.7853410243988037,Osmancik +11270,422.6090087890625,173.2342071533203,83.39991760253906,0.876485288143158,11449,0.6139013171195984,Osmancik +11752,422.5320129394531,171.08529663085938,88.01459503173828,0.8575211763381958,11997,0.6929244995117188,Osmancik +10398,405.6789855957031,162.22715759277344,82.3934555053711,0.8614223003387451,10658,0.644717276096344,Osmancik +12958,445.6969909667969,178.81097412109375,93.6661605834961,0.851824164390564,13223,0.711978018283844,Osmancik +12225,444.14898681640625,190.22061157226562,82.50628662109375,0.9010381102561951,12408,0.7985498905181885,Osmancik +11443,421.6719970703125,173.6322021484375,84.6323471069336,0.8731659054756165,11644,0.6337856650352478,Osmancik +12287,451.2070007324219,190.11932373046875,83.28186798095703,0.8989503383636475,12599,0.5900120139122009,Osmancik +12511,448.7590026855469,183.9769744873047,87.3428726196289,0.8801212906837463,12694,0.6047759652137756,Osmancik +11891,430.3009948730469,175.01673889160156,87.99028778076172,0.864429771900177,12170,0.6103895902633667,Osmancik +11001,415.03900146484375,173.10415649414062,82.06340026855469,0.8804874420166016,11132,0.7896209955215454,Osmancik +10940,421.17401123046875,179.4857635498047,78.21934509277344,0.9000450372695923,11097,0.8014652132987976,Osmancik +10211,392.3529968261719,163.19708251953125,80.244873046875,0.8707616925239563,10348,0.7534680962562561,Osmancik +10044,410.1910095214844,168.5531005859375,77.07965850830078,0.8893114924430847,10317,0.7574660778045654,Osmancik +11026,425.010009765625,179.95877075195312,79.05262756347656,0.8983492851257324,11185,0.558617889881134,Osmancik +9050,379.89898681640625,152.8709259033203,77.10934448242188,0.8634653687477112,9387,0.6748694777488708,Osmancik +12096,438.85699462890625,179.34835815429688,86.9610366821289,0.8745850324630737,12333,0.6610919833183289,Osmancik +11710,429.06298828125,178.28359985351562,84.48762512207031,0.8805816173553467,11906,0.5933921337127686,Osmancik +11309,427.6579895019531,176.28146362304688,83.04570007324219,0.8820813298225403,11508,0.8124281764030457,Osmancik +11881,424.26800537109375,171.05517578125,89.53733825683594,0.8520617485046387,12060,0.7725470066070557,Osmancik +10286,418.28900146484375,175.14859008789062,75.85381317138672,0.901354193687439,10548,0.6415917873382568,Osmancik +12567,453.7720031738281,192.22377014160156,83.54117584228516,0.900621771812439,12778,0.5753594040870667,Osmancik +11139,419.447998046875,172.12557983398438,83.78206634521484,0.873541533946991,11442,0.62889564037323,Osmancik +11153,426.5589904785156,178.85000610351562,80.41410064697266,0.8932211995124817,11371,0.72838294506073,Osmancik +10767,425.0360107421875,182.06407165527344,76.10566711425781,0.9084397554397583,11004,0.7426029443740845,Osmancik +10965,433.77801513671875,179.33522033691406,78.85895538330078,0.8981303572654724,11295,0.663339376449585,Osmancik +11900,442.4230041503906,184.06094360351562,83.16404724121094,0.8921046257019043,12119,0.6038770079612732,Osmancik +11890,430.3389892578125,174.82278442382812,87.97628021240234,0.8641518354415894,12142,0.6872832179069519,Osmancik +10427,398.6919860839844,161.216796875,83.80955505371094,0.8542537689208984,10639,0.6284353733062744,Osmancik +11867,431.9429931640625,178.59091186523438,85.77666473388672,0.8771059513092041,12126,0.6403518319129944,Osmancik +12489,442.8699951171875,176.2430419921875,91.78190612792969,0.853697657585144,12812,0.6210034489631653,Osmancik +10795,411.29998779296875,168.38955688476562,82.64344787597656,0.8712794780731201,11029,0.7604254484176636,Osmancik +11422,425.1289978027344,176.6568603515625,82.95215606689453,0.8828970789909363,11608,0.6509003639221191,Osmancik +10574,398.6809997558594,157.8083953857422,86.85958862304688,0.8348933458328247,10829,0.6935589909553528,Osmancik +10910,413.0950012207031,165.88043212890625,85.08663177490234,0.858424723148346,11243,0.7077062726020813,Osmancik +11874,435.9360046386719,177.280029296875,86.48963928222656,0.8729162216186523,12097,0.7224825024604797,Osmancik +10525,409.73199462890625,170.31515502929688,79.0376205444336,0.8858001828193665,10682,0.6067681312561035,Osmancik +13549,464.0050048828125,189.97265625,91.63721466064453,0.875967264175415,13772,0.7393320798873901,Osmancik +10781,414.9549865722656,169.73617553710938,82.24104309082031,0.8747786283493042,11069,0.6993383765220642,Osmancik +11070,413.4200134277344,168.51966857910156,84.49382781982422,0.8652222752571106,11328,0.6265919804573059,Osmancik +10662,408.2829895019531,162.6809844970703,84.36328887939453,0.8550284504890442,10934,0.6531487107276917,Osmancik +9517,389.0010070800781,163.5093231201172,74.76004791259766,0.8893526196479797,9649,0.5810134410858154,Osmancik +12192,442.5299987792969,179.94479370117188,87.39317321777344,0.8741441369056702,12483,0.6254231929779053,Osmancik +9679,390.22198486328125,154.20059204101562,81.98645782470703,0.8469408750534058,10003,0.6206874251365662,Osmancik +13586,467.02398681640625,191.151123046875,91.84376525878906,0.8770071864128113,13888,0.7987066507339478,Osmancik +10696,409.2690124511719,166.3798828125,82.3561782836914,0.8688993453979492,10883,0.6130918264389038,Osmancik +11030,417.4880065917969,172.4484405517578,82.73074340820312,0.8774096369743347,11275,0.6514292359352112,Osmancik +11433,421.4639892578125,168.75270080566406,87.52690124511719,0.8549747467041016,11678,0.7293779850006104,Osmancik +11391,434.7869873046875,186.01837158203125,78.78858947753906,0.9058714509010315,11623,0.7794046998023987,Osmancik +10574,411.1189880371094,170.14016723632812,79.7742691040039,0.8832651972770691,10782,0.6870695352554321,Osmancik +9885,385.6000061035156,157.2108917236328,81.19732666015625,0.8562952280044556,10042,0.6284170150756836,Osmancik +12328,444.70599365234375,183.82814025878906,86.61965942382812,0.8820268511772156,12659,0.6254058480262756,Osmancik +11435,424.2430114746094,175.18496704101562,84.44194793701172,0.8761624693870544,11660,0.8014438152313232,Osmancik +10395,403.010009765625,169.2574920654297,78.73081970214844,0.8852297067642212,10559,0.5933219194412231,Osmancik +11011,414.302001953125,170.3466033935547,83.2529525756836,0.8724368810653687,11188,0.7209926843643188,Osmancik +13576,477.82501220703125,190.02635192871094,91.82109832763672,0.8755089640617371,14137,0.6832754611968994,Osmancik +12529,437.8389892578125,174.8614501953125,92.18926239013672,0.8497330546379089,12840,0.7660185694694519,Osmancik +11734,432.6210021972656,177.3172607421875,86.10055541992188,0.8741958737373352,11972,0.6445835828781128,Osmancik +11861,438.6449890136719,177.91551208496094,86.466064453125,0.8739615082740784,12150,0.5893957614898682,Osmancik +11564,428.0830078125,171.938720703125,86.84310913085938,0.8630715012550354,11839,0.6167466640472412,Osmancik +11972,433.0920104980469,177.81423950195312,86.38817596435547,0.8740512132644653,12249,0.7144050598144531,Osmancik +9630,396.89300537109375,163.84654235839844,75.7757339477539,0.8866297602653503,9935,0.7251505851745605,Osmancik +12354,453.0899963378906,192.00674438476562,82.87370300292969,0.9020561575889587,12602,0.6576173901557922,Osmancik +10297,426.22198486328125,180.04319763183594,73.69879913330078,0.9123821258544922,10621,0.5645285248756409,Osmancik +11268,429.3070068359375,171.2643280029297,85.810791015625,0.8654223680496216,11576,0.6086533665657043,Osmancik +14101,464.96600341796875,186.4838409423828,97.53321075439453,0.8523255586624146,14346,0.6789772510528564,Osmancik +9330,391.1659851074219,161.4254150390625,74.86387634277344,0.885956883430481,9624,0.5763528347015381,Osmancik +9424,387.9739990234375,154.5109405517578,79.71231842041016,0.856648325920105,9633,0.6045288443565369,Osmancik +11768,433.4800109863281,179.8342742919922,83.9647445678711,0.8843097686767578,11993,0.7556668519973755,Osmancik +12600,441.2340087890625,182.6632537841797,88.160888671875,0.8758179545402527,12767,0.6006864905357361,Osmancik +11960,440.9419860839844,182.05343627929688,84.72266387939453,0.8851149082183838,12191,0.6265060305595398,Osmancik +10128,403.7250061035156,166.96295166015625,78.24747467041016,0.88338303565979,10383,0.6722421050071716,Osmancik +11780,444.99200439453125,190.9602813720703,78.85173797607422,0.9107663035392761,11956,0.7807011604309082,Osmancik +13819,478.4989929199219,195.7261505126953,91.83905029296875,0.8830801248550415,14321,0.5882678627967834,Osmancik +11584,431.3580017089844,170.8294219970703,87.8700942993164,0.8575663566589355,11897,0.6135593056678772,Osmancik +13024,469.6470031738281,193.92214965820312,87.51404571533203,0.8923801779747009,13422,0.5395641922950745,Osmancik +11969,442.15899658203125,177.60011291503906,87.86295318603516,0.8690504431724548,12352,0.5927301645278931,Osmancik +10367,412.0050048828125,173.7205047607422,76.78864288330078,0.897003173828125,10591,0.6197393536567688,Osmancik +11816,453.989990234375,191.0656280517578,79.93447875976562,0.9082806706428528,12079,0.767771303653717,Osmancik +9920,398.5260009765625,162.0756378173828,79.1380615234375,0.872687816619873,10171,0.6093366146087646,Osmancik +10101,405.5119934082031,168.01747131347656,77.90595245361328,0.8860039710998535,10384,0.6187821626663208,Osmancik +9722,373.75299072265625,145.26446533203125,87.05447387695312,0.8005375266075134,9839,0.8191086053848267,Osmancik +11114,413.0790100097656,170.0994110107422,84.00698852539062,0.8695357441902161,11293,0.760399580001831,Osmancik +13720,477.635009765625,201.15786743164062,87.30999755859375,0.9008949398994446,13936,0.6645355224609375,Osmancik +11997,429.6600036621094,170.9993896484375,90.55361938476562,0.8482754826545715,12253,0.7463605999946594,Osmancik +11626,433.2380065917969,178.07923889160156,84.56312561035156,0.880060076713562,11972,0.5896733403205872,Osmancik +8546,388.58099365234375,172.51995849609375,63.34475326538086,0.9301524758338928,8685,0.735456109046936,Osmancik +11307,427.6099853515625,176.07467651367188,82.24739837646484,0.8841957449913025,11492,0.6566202044487,Osmancik +12664,442.85101318359375,178.654052734375,91.11915588378906,0.8601558208465576,12895,0.679107666015625,Osmancik +11332,428.6059875488281,173.0604705810547,84.94743347167969,0.8712418079376221,11628,0.5981841087341309,Osmancik +12103,456.364990234375,189.7859344482422,82.76078033447266,0.8999106287956238,12483,0.629054069519043,Osmancik +11960,436.3710021972656,183.8168182373047,83.23420715332031,0.8916067481040955,12142,0.5895691514015198,Osmancik +9487,394.2799987792969,165.9357452392578,73.33003997802734,0.8970553278923035,9659,0.7229843139648438,Osmancik +11099,421.9159851074219,168.93263244628906,86.08985137939453,0.8604052066802979,11415,0.5980064868927002,Osmancik +9842,395.572998046875,159.49900817871094,80.37096405029297,0.8637641072273254,10102,0.6166666746139526,Osmancik +11614,418.8680114746094,168.9307861328125,88.24199676513672,0.8527275323867798,11803,0.6707091927528381,Osmancik +11074,421.3070068359375,173.0513153076172,82.40327453613281,0.8793487548828125,11326,0.7045873999595642,Osmancik +12341,451.1159973144531,183.64559936523438,86.6964340209961,0.8815527558326721,12676,0.6021174788475037,Osmancik +12570,450.8590087890625,178.9602508544922,91.11515808105469,0.8606858849525452,12886,0.6104905009269714,Osmancik +11539,423.6910095214844,172.53591918945312,86.0599594116211,0.8667203187942505,11767,0.6416972279548645,Osmancik +12000,440.48699951171875,181.4352264404297,84.99417114257812,0.8834875822067261,12196,0.6377550959587097,Osmancik +10810,415.3030090332031,169.00445556640625,82.43157958984375,0.8729844689369202,11029,0.69809490442276,Osmancik +11743,432.5469970703125,175.7979278564453,86.18153381347656,0.8715927600860596,12077,0.7332043051719666,Osmancik +12190,445.8949890136719,185.75694274902344,84.6490249633789,0.8901345729827881,12386,0.7162162065505981,Osmancik +11150,416.89898681640625,168.02024841308594,85.60216522216797,0.8604852557182312,11420,0.7257224917411804,Osmancik +12672,445.5429992675781,180.4552764892578,90.30992889404297,0.8657619953155518,12900,0.6256850957870483,Osmancik +11317,420.15301513671875,169.62474060058594,86.4443359375,0.8603989481925964,11479,0.6134873032569885,Osmancik +11619,432.4540100097656,178.3415069580078,83.9134521484375,0.882388710975647,11824,0.7676400542259216,Osmancik +9772,394.9830017089844,155.2926483154297,82.31694030761719,0.8479499816894531,10154,0.6912846565246582,Osmancik +9212,384.59600830078125,155.8399658203125,76.30696105957031,0.8719193935394287,9453,0.659649133682251,Osmancik +12867,449.0799865722656,181.7005615234375,91.341064453125,0.8644603490829468,13152,0.6490617394447327,Osmancik +9749,398.6820068359375,162.8812255859375,77.19672393798828,0.8805544972419739,9941,0.5991273522377014,Osmancik +9561,386.0849914550781,159.9705352783203,76.79644775390625,0.8772322535514832,9708,0.7009530663490295,Osmancik +11332,427.3240051269531,175.54055786132812,83.60845184326172,0.8792874813079834,11563,0.5954182147979736,Osmancik +12311,441.406005859375,174.58282470703125,90.74132537841797,0.8543117642402649,12538,0.619265615940094,Osmancik +10152,399.7969970703125,162.20396423339844,80.65750122070312,0.867601752281189,10393,0.661281943321228,Osmancik +11619,447.3169860839844,193.12086486816406,77.05213165283203,0.9169579148292542,11811,0.6645504236221313,Osmancik +10692,410.25299072265625,170.17922973632812,80.28888702392578,0.8817108869552612,10863,0.6307964324951172,Osmancik +10600,429.510986328125,182.30606079101562,75.09999084472656,0.9112089276313782,10829,0.7221692204475403,Osmancik +11307,424.89599609375,173.9436492919922,83.69766235351562,0.8766235113143921,11499,0.738633394241333,Osmancik +11327,422.68499755859375,175.85305786132812,82.81970977783203,0.8821547031402588,11475,0.5963148474693298,Osmancik +13002,448.114990234375,182.62786865234375,91.4712142944336,0.8655276298522949,13200,0.6058149337768555,Osmancik +11287,429.32501220703125,171.89573669433594,85.3603744506836,0.8679896593093872,11599,0.5901390910148621,Osmancik +12172,434.0270080566406,180.72369384765625,86.31446838378906,0.8785749077796936,12311,0.7951397895812988,Osmancik +10528,411.1199951171875,164.81996154785156,83.14048767089844,0.8634513020515442,10862,0.6214876174926758,Osmancik +11748,446.69500732421875,190.21331787109375,79.88955688476562,0.9075242280960083,11926,0.8097601532936096,Osmancik +13032,459.6310119628906,186.47349548339844,90.25482177734375,0.8750631213188171,13247,0.8004913926124573,Osmancik +12032,437.635986328125,177.40347290039062,87.80332946777344,0.8689295053482056,12291,0.6054750680923462,Osmancik +13446,461.4389953613281,188.98297119140625,91.78732299804688,0.8741306066513062,13643,0.598557710647583,Osmancik +11050,424.7340087890625,175.59835815429688,80.98214721679688,0.8873075246810913,11295,0.5930020213127136,Osmancik +13258,476.09100341796875,195.30477905273438,88.26482391357422,0.8920515179634094,13583,0.5754340291023254,Osmancik +12509,439.447998046875,177.0833740234375,90.62299346923828,0.8591324687004089,12723,0.6282141208648682,Osmancik +11264,429.5429992675781,177.6937255859375,81.9813003540039,0.8872115015983582,11513,0.7954802513122559,Osmancik +11220,418.54901123046875,172.75802612304688,83.32672119140625,0.8759885430335999,11380,0.6066176295280457,Osmancik +11621,444.6619873046875,188.64219665527344,79.06629180908203,0.9079245328903198,11849,0.6198527812957764,Osmancik +12780,448.6610107421875,181.93516540527344,90.70710754394531,0.8668504357337952,13038,0.6073567271232605,Osmancik +11249,419.00299072265625,166.28651428222656,87.62982940673828,0.8498770594596863,11593,0.6300548911094666,Osmancik +11982,448.864013671875,188.14598083496094,81.85521697998047,0.9004004001617432,12206,0.6281520128250122,Osmancik +11180,425.49700927734375,177.01858520507812,81.56251525878906,0.8875264525413513,11353,0.5793946981430054,Osmancik +10719,422.3739929199219,173.34385681152344,80.0229263305664,0.8870659470558167,11007,0.7665736675262451,Osmancik +10171,400.4440002441406,165.21347045898438,79.21732330322266,0.8775502443313599,10339,0.6233376264572144,Osmancik +12459,434.2879943847656,175.2012481689453,91.2686996459961,0.8535955548286438,12651,0.6368329524993896,Osmancik +9983,402.6619873046875,167.3749542236328,76.76596069335938,0.8886187672615051,10187,0.5969265699386597,Osmancik +11622,419.5660095214844,167.30706787109375,89.68018341064453,0.8442043662071228,11854,0.6311159133911133,Osmancik +12402,437.6579895019531,175.23165893554688,91.14551544189453,0.8540792465209961,12595,0.7659338116645813,Osmancik +10913,427.6180114746094,170.72329711914062,83.15889739990234,0.8733475804328918,11311,0.6257095336914062,Osmancik +10228,403.8909912109375,164.95042419433594,79.7054672241211,0.875505268573761,10475,0.6497681140899658,Osmancik +9426,402.7099914550781,175.9742889404297,68.60753631591797,0.9208688735961914,9578,0.5774319767951965,Osmancik +12692,448.0610046386719,182.19317626953125,90.43366241455078,0.8681159615516663,12999,0.7350863218307495,Osmancik +10040,394.7130126953125,157.8847198486328,81.77407836914062,0.8554197549819946,10231,0.6263647079467773,Osmancik +11136,419.52099609375,172.73733520507812,82.87893676757812,0.877379298210144,11373,0.7061509490013123,Osmancik +9668,393.7139892578125,159.52293395996094,78.49076843261719,0.8705757856369019,9882,0.6041744947433472,Osmancik +10912,424.8819885253906,171.8625030517578,81.76659393310547,0.8795710802078247,11282,0.6127583384513855,Osmancik +12035,431.9540100097656,176.02255249023438,88.00274658203125,0.8660534024238586,12226,0.6178448796272278,Osmancik +13112,456.21600341796875,182.46421813964844,93.33448028564453,0.8592700958251953,13413,0.6807891726493835,Osmancik +12103,440.6109924316406,179.44920349121094,87.91256713867188,0.8717774152755737,12405,0.6302004456520081,Osmancik +13782,457.49200439453125,180.915283203125,97.973876953125,0.8406713604927063,14147,0.6552560329437256,Osmancik +10810,418.2049865722656,173.54800415039062,80.10408782958984,0.8871051669120789,11047,0.7352241277694702,Osmancik +12642,462.8089904785156,198.4047088623047,81.74517059326172,0.9111783504486084,12878,0.6059821844100952,Osmancik +11042,430.760009765625,185.5081024169922,76.13742065429688,0.9118937253952026,11224,0.678463876247406,Osmancik +10469,402.45098876953125,159.3994903564453,84.83900451660156,0.8465926051139832,10746,0.7741053104400635,Osmancik +12032,437.3030090332031,176.75155639648438,87.45618438720703,0.8690084218978882,12264,0.6414330005645752,Osmancik +12524,444.010009765625,179.05950927734375,90.16651153564453,0.8639625310897827,12746,0.6456668376922607,Osmancik +11299,420.7380065917969,170.82081604003906,84.8657455444336,0.8678584694862366,11488,0.642572820186615,Osmancik +11530,425.3919982910156,177.0152130126953,83.92691802978516,0.8804587721824646,11686,0.8081020712852478,Osmancik +12226,436.2229919433594,178.5447540283203,87.98953247070312,0.8701341152191162,12400,0.6133854985237122,Osmancik +11723,432.7460021972656,176.97508239746094,85.09567260742188,0.8768115639686584,12013,0.6655879020690918,Osmancik +11068,423.9729919433594,172.0155792236328,82.98536682128906,0.8759348392486572,11323,0.6053048968315125,Osmancik +11689,434.87701416015625,183.5699920654297,81.76420593261719,0.8953258991241455,11856,0.5723168849945068,Osmancik +12041,427.2900085449219,174.14544677734375,88.9172592163086,0.8598231673240662,12291,0.6346721649169922,Osmancik +10025,400.510986328125,167.5635223388672,77.07865142822266,0.8879206776618958,10181,0.5950261354446411,Osmancik +9711,396.468994140625,166.69046020507812,74.74411010742188,0.8938326835632324,9859,0.5878329277038574,Osmancik +10775,414.99798583984375,165.7289581298828,84.27123260498047,0.8610689043998718,11036,0.6344580054283142,Osmancik +11860,427.0260009765625,174.9904327392578,87.09915161132812,0.8673282265663147,12064,0.6122870445251465,Osmancik +10838,412.4909973144531,165.1974639892578,84.85578918457031,0.8579921722412109,11167,0.7183191776275635,Osmancik +13088,450.21099853515625,184.7501983642578,91.24625396728516,0.8695244193077087,13266,0.7992183566093445,Osmancik +11730,429.8219909667969,176.97291564941406,85.21744537353516,0.8764305710792542,11900,0.5951293706893921,Osmancik +11873,432.3330078125,175.09715270996094,87.68571472167969,0.8655727505683899,12162,0.6509320139884949,Osmancik +11100,416.35699462890625,160.55812072753906,90.1011734008789,0.8276972770690918,11456,0.6362490057945251,Osmancik +10451,419.6960144042969,174.2336883544922,78.35890197753906,0.8931623101234436,10722,0.5868710875511169,Osmancik +11180,427.7080078125,174.70352172851562,82.88113403320312,0.8803039193153381,11518,0.7219424247741699,Osmancik +11351,417.6929931640625,171.05105590820312,85.54869079589844,0.8659471869468689,11549,0.743255615234375,Osmancik +12894,480.0849914550781,192.82174682617188,85.92984008789062,0.895210325717926,13141,0.622627854347229,Osmancik +10516,409.5570068359375,168.52023315429688,80.24091339111328,0.8793640732765198,10726,0.6364076733589172,Osmancik +12563,444.8689880371094,183.2237548828125,88.04947662353516,0.8769634366035461,12767,0.7669719457626343,Osmancik +10949,414.27398681640625,168.0638885498047,84.0328369140625,0.8660223484039307,11192,0.6158042550086975,Osmancik +9853,395.5010070800781,159.91612243652344,80.05778503417969,0.865665078163147,10102,0.6019672751426697,Osmancik +11889,439.989013671875,186.10784912109375,82.1430435180664,0.8973235487937927,12096,0.7977052927017212,Osmancik +10346,402.58099365234375,167.27845764160156,79.82421875,0.8787981867790222,10479,0.5897172689437866,Osmancik +10943,412.0610046386719,169.8902587890625,82.82929992675781,0.8730973601341248,11132,0.7413956522941589,Osmancik +12300,434.6470031738281,177.62545776367188,89.04188537597656,0.8652792572975159,12472,0.7852400541305542,Osmancik +11944,434.92401123046875,182.87396240234375,83.63843536376953,0.8892838954925537,12090,0.6171972155570984,Osmancik +12800,447.0249938964844,181.7690887451172,90.76634216308594,0.8664005398750305,12958,0.6102212071418762,Osmancik +11605,425.697998046875,173.5166778564453,86.1351089477539,0.8680891990661621,11781,0.7984176278114319,Osmancik +10780,410.8550109863281,162.427734375,86.18075561523438,0.8476354479789734,11047,0.6670792102813721,Osmancik +12043,442.07000732421875,181.1095428466797,85.57943725585938,0.8813153505325317,12276,0.6001694202423096,Osmancik +13626,469.3429870605469,191.38023376464844,92.17391967773438,0.876376211643219,13931,0.6072192788124084,Osmancik +10185,397.9800109863281,163.8427276611328,79.58455657958984,0.8741047382354736,10335,0.6315104365348816,Osmancik +12159,437.822998046875,177.58453369140625,88.5802993774414,0.8667134046554565,12377,0.6701388955116272,Osmancik +9884,389.29400634765625,164.0706329345703,76.87023162841797,0.883453369140625,10021,0.7359642386436462,Osmancik +12726,434.7720031738281,175.73175048828125,93.30850982666016,0.847389817237854,12896,0.8080000281333923,Osmancik +12269,436.0119934082031,177.88475036621094,88.84811401367188,0.8663311004638672,12466,0.7458358407020569,Osmancik +11140,414.364990234375,170.64981079101562,83.77877044677734,0.871193528175354,11280,0.6077468395233154,Osmancik +10480,414.8089904785156,177.8561248779297,75.26310729980469,0.9060510396957397,10657,0.6303380131721497,Osmancik +13121,456.7720031738281,181.99807739257812,93.46143341064453,0.8580717444419861,13490,0.627318799495697,Osmancik +11661,418.0150146484375,168.95513916015625,88.93134307861328,0.850261390209198,11819,0.7892919778823853,Osmancik +11957,437.4469909667969,176.08248901367188,87.90863800048828,0.8664597868919373,12314,0.6044383645057678,Osmancik +12174,435.3680114746094,174.20001220703125,90.66159057617188,0.8538949489593506,12471,0.6638673543930054,Osmancik +9405,389.7749938964844,162.36822509765625,74.43762969970703,0.8887204527854919,9594,0.6076366305351257,Osmancik +11545,429.0979919433594,176.99929809570312,84.10533905029297,0.8798922300338745,11816,0.7058571577072144,Osmancik +13537,467.5870056152344,199.57315063476562,86.72982788085938,0.9006348848342896,13745,0.7306239008903503,Osmancik +11795,428.75,175.9600067138672,86.4206314086914,0.8710818290710449,12016,0.7381101250648499,Osmancik +11611,431.27301025390625,178.51394653320312,84.11251831054688,0.8820361495018005,11775,0.6919134855270386,Osmancik +10604,409.510986328125,172.30270385742188,78.91883087158203,0.8889396786689758,10755,0.5861802101135254,Osmancik +12349,434.13800048828125,180.24192810058594,88.26457977294922,0.871890664100647,12526,0.6274898648262024,Osmancik +11538,418.6610107421875,170.8509063720703,86.49839782714844,0.862369179725647,11741,0.7135435938835144,Osmancik +12501,451.79901123046875,192.73880004882812,83.19506072998047,0.9020427465438843,12687,0.7188200950622559,Osmancik +11441,415.8580017089844,170.4867706298828,85.756591796875,0.8642804622650146,11628,0.6810119152069092,Osmancik +11625,421.3900146484375,167.7147979736328,89.46257019042969,0.8458499312400818,11904,0.6942785382270813,Osmancik +12437,442.4989929199219,183.5729217529297,86.8019790649414,0.8811443448066711,12645,0.6267385482788086,Osmancik +9882,392.2969970703125,161.19398498535156,78.21047973632812,0.874406099319458,10097,0.6590636372566223,Osmancik +11434,404.7099914550781,161.0792694091797,90.86819458007812,0.8256921768188477,11591,0.8029494285583496,Osmancik \ No newline at end of file diff --git a/cmake-build-debug/.cmake/api/v1/query/cache-v2 b/cmake-build-debug/.cmake/api/v1/query/cache-v2 new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-debug/.cmake/api/v1/query/cmakeFiles-v1 b/cmake-build-debug/.cmake/api/v1/query/cmakeFiles-v1 new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-debug/.cmake/api/v1/query/codemodel-v2 b/cmake-build-debug/.cmake/api/v1/query/codemodel-v2 new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-debug/.cmake/api/v1/query/toolchains-v1 b/cmake-build-debug/.cmake/api/v1/query/toolchains-v1 new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-debug/.cmake/api/v1/reply/cache-v2-91be3a29863a11271d8a.json b/cmake-build-debug/.cmake/api/v1/reply/cache-v2-91be3a29863a11271d8a.json new file mode 100644 index 0000000..4325566 --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/cache-v2-91be3a29863a11271d8a.json @@ -0,0 +1,1859 @@ +{ + "entries" : + [ + { + "name" : "Assignment_1_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" + }, + { + "name" : "Assignment_1_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "Assignment_1_RUNNER_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" + }, + { + "name" : "Assignment_1_RUNNER_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "Assignment_1_RUNNER_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1" + }, + { + "name" : "Assignment_1_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1" + }, + { + "name" : "BLT_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt" + }, + { + "name" : "BLT_DISABLE_DEBUG", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_DEBUG macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_ERROR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_ERROR macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_FATAL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_FATAL macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_INFO", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_INFO macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_LOGGING", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging (all macros and will safely disable logging function!)" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_TRACE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_TRACE macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_WARN", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_WARN macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "OFF" + }, + { + "name" : "BLT_LIB_DEPENDS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Dependencies for the target" + } + ], + "type" : "STATIC", + "value" : "general;ZLIB::ZLIB;" + }, + { + "name" : "BLT_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt" + }, + { + "name" : "BUILD_FS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build the BLT FS utilities including the NBT + eNBT extension" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "BUILD_PARSE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build the BLT parsers" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "BUILD_PROFILING", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build the BLT profiler extension" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "BUILD_STD", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build the BLT standard utilities." + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "BUILD_TESTS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build the BLT test set" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "CMAKE_ADDR2LINE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/addr2line" + }, + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ar" + }, + { + "name" : "CMAKE_BUILD_TYPE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ..." + } + ], + "type" : "STRING", + "value" : "Debug" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "25" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_COLOR_DIAGNOSTICS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enable colored diagnostics throughout." + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/cmake" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/cpack" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/ctest" + }, + { + "name" : "CMAKE_CXX_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "CXX compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/c++" + }, + { + "name" : "CMAKE_CXX_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ar-12" + }, + { + "name" : "CMAKE_CXX_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ranlib-12" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "-g" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "-O3 -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_C_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "C compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/cc" + }, + { + "name" : "CMAKE_C_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ar-12" + }, + { + "name" : "CMAKE_C_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ranlib-12" + }, + { + "name" : "CMAKE_C_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "-g" + }, + { + "name" : "CMAKE_C_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "-O3 -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_DLLTOOL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "CMAKE_DLLTOOL-NOTFOUND" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "ELF" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Enable/Disable output of compile commands during generation." + } + ], + "type" : "BOOL", + "value" : "" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_FIND_PACKAGE_REDIRECTS_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake." + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/pkgRedirects" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Ninja" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_HAVE_LIBC_PTHREAD", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Test CMAKE_HAVE_LIBC_PTHREAD" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1" + }, + { + "name" : "CMAKE_INSTALL_BINDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "User executables (bin)" + } + ], + "type" : "PATH", + "value" : "bin" + }, + { + "name" : "CMAKE_INSTALL_DATADIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Read-only architecture-independent data (DATAROOTDIR)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_DATAROOTDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Read-only architecture-independent data root (share)" + } + ], + "type" : "PATH", + "value" : "share" + }, + { + "name" : "CMAKE_INSTALL_DOCDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Documentation root (DATAROOTDIR/doc/PROJECT_NAME)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_INCLUDEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "C header files (include)" + } + ], + "type" : "PATH", + "value" : "include" + }, + { + "name" : "CMAKE_INSTALL_INFODIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Info documentation (DATAROOTDIR/info)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_LIBDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Object code libraries (lib)" + } + ], + "type" : "PATH", + "value" : "lib" + }, + { + "name" : "CMAKE_INSTALL_LIBEXECDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Program executables (libexec)" + } + ], + "type" : "PATH", + "value" : "libexec" + }, + { + "name" : "CMAKE_INSTALL_LOCALEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Locale-dependent data (DATAROOTDIR/locale)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_LOCALSTATEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Modifiable single-machine data (var)" + } + ], + "type" : "PATH", + "value" : "var" + }, + { + "name" : "CMAKE_INSTALL_MANDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Man documentation (DATAROOTDIR/man)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_OLDINCLUDEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "C header files for non-gcc (/usr/include)" + } + ], + "type" : "PATH", + "value" : "/usr/include" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "/usr/local" + }, + { + "name" : "CMAKE_INSTALL_RUNSTATEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Run-time variable data (LOCALSTATEDIR/run)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_SBINDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "System admin executables (sbin)" + } + ], + "type" : "PATH", + "value" : "sbin" + }, + { + "name" : "CMAKE_INSTALL_SHAREDSTATEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Modifiable architecture-independent data (com)" + } + ], + "type" : "PATH", + "value" : "com" + }, + { + "name" : "CMAKE_INSTALL_SO_NO_EXE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install .so files without execute permission." + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_INSTALL_SYSCONFDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Read-only single-machine data (etc)" + } + ], + "type" : "PATH", + "value" : "etc" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ld" + }, + { + "name" : "CMAKE_MAKE_PROGRAM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_NM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/nm" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "2" + }, + { + "name" : "CMAKE_OBJCOPY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/objcopy" + }, + { + "name" : "CMAKE_OBJDUMP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/objdump" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "Assignment_1_RUNNER" + }, + { + "name" : "CMAKE_PROJECT_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "0.11.3" + }, + { + "name" : "CMAKE_PROJECT_VERSION_MAJOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "0" + }, + { + "name" : "CMAKE_PROJECT_VERSION_MINOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "11" + }, + { + "name" : "CMAKE_PROJECT_VERSION_PATCH", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "3" + }, + { + "name" : "CMAKE_PROJECT_VERSION_TWEAK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ranlib" + }, + { + "name" : "CMAKE_READELF", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/readelf" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "/usr/share/cmake-3.25" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STRIP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/strip" + }, + { + "name" : "CMAKE_UNAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "uname command" + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/uname" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "ENABLE_ADDRSAN", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enable the address sanitizer" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "ENABLE_TSAN", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enable the thread data race sanitizer" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "ENABLE_UBSAN", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enable the ub sanitizer" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "FIND_PACKAGE_MESSAGE_DETAILS_Threads", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Details about finding Threads" + } + ], + "type" : "INTERNAL", + "value" : "[TRUE][v()]" + }, + { + "name" : "PART_B", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build for part B version of the assignment" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "ZLIB_INCLUDE_DIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a file." + } + ], + "type" : "PATH", + "value" : "/usr/include" + }, + { + "name" : "ZLIB_LIBRARY_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a library." + } + ], + "type" : "FILEPATH", + "value" : "ZLIB_LIBRARY_DEBUG-NOTFOUND" + }, + { + "name" : "ZLIB_LIBRARY_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a library." + } + ], + "type" : "FILEPATH", + "value" : "/usr/lib/x86_64-linux-gnu/libz.so" + }, + { + "name" : "_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "linker supports push/pop state" + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "CMAKE_INSTALL_PREFIX during last run" + } + ], + "type" : "INTERNAL", + "value" : "/usr/local" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/cmakeFiles-v1-bf7e046ecc867d1856cc.json b/cmake-build-debug/.cmake/api/v1/reply/cmakeFiles-v1-bf7e046ecc867d1856cc.json new file mode 100644 index 0000000..4979769 --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/cmakeFiles-v1-bf7e046ecc867d1856cc.json @@ -0,0 +1,202 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isGenerated" : true, + "path" : "cmake-build-debug/CMakeFiles/3.25.1/CMakeSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isGenerated" : true, + "path" : "cmake-build-debug/CMakeFiles/3.25.1/CMakeCCompiler.cmake" + }, + { + "isGenerated" : true, + "path" : "cmake-build-debug/CMakeFiles/3.25.1/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/UnixPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GNU-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux-GNU-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux-GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindThreads.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CheckLibraryExists.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CheckIncludeFile.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CheckCSourceCompiles.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Internal/CheckSourceCompiles.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageMessage.cmake" + }, + { + "path" : "lib/blt/CMakeLists.txt" + }, + { + "path" : "lib/blt/include/blt/config.h.in" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindZLIB.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/SelectLibraryConfigurations.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageMessage.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/GNUInstallDirs.cmake" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug", + "source" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1" + }, + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-d87faa9a42fcaaeaaeda.json b/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-d87faa9a42fcaaeaaeda.json new file mode 100644 index 0000000..660975d --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-d87faa9a42fcaaeaaeda.json @@ -0,0 +1,113 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "childIndexes" : + [ + 1 + ], + "hasInstallRule" : true, + "jsonFile" : "directory-.-Debug-f5ebdc15457944623624.json", + "minimumCMakeVersion" : + { + "string" : "3.25" + }, + "projectIndex" : 0, + "source" : ".", + "targetIndexes" : + [ + 0, + 1 + ] + }, + { + "build" : "lib/blt", + "hasInstallRule" : true, + "jsonFile" : "directory-lib.blt-Debug-6455c37b480bfc4f167f.json", + "minimumCMakeVersion" : + { + "string" : "3.5" + }, + "parentIndex" : 0, + "projectIndex" : 1, + "source" : "lib/blt", + "targetIndexes" : + [ + 2 + ] + } + ], + "name" : "Debug", + "projects" : + [ + { + "childIndexes" : + [ + 1 + ], + "directoryIndexes" : + [ + 0 + ], + "name" : "Assignment_1_RUNNER", + "targetIndexes" : + [ + 0, + 1 + ] + }, + { + "directoryIndexes" : + [ + 1 + ], + "name" : "BLT", + "parentIndex" : 0, + "targetIndexes" : + [ + 2 + ] + } + ], + "targets" : + [ + { + "directoryIndex" : 0, + "id" : "Assignment_1::@6890427a1f51a3e7e1df", + "jsonFile" : "target-Assignment_1-Debug-cfaea6d89dc80b328532.json", + "name" : "Assignment_1", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "Assignment_1_RUNNER::@6890427a1f51a3e7e1df", + "jsonFile" : "target-Assignment_1_RUNNER-Debug-0af6fcd355c066abcc22.json", + "name" : "Assignment_1_RUNNER", + "projectIndex" : 0 + }, + { + "directoryIndex" : 1, + "id" : "BLT::@93fa9f0522c937b42b32", + "jsonFile" : "target-BLT-Debug-e05c66c66ee7fdadae06.json", + "name" : "BLT", + "projectIndex" : 1 + } + ] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug", + "source" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1" + }, + "version" : + { + "major" : 2, + "minor" : 4 + } +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json b/cmake-build-debug/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json new file mode 100644 index 0000000..3a67af9 --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/directory-lib.blt-Debug-6455c37b480bfc4f167f.json b/cmake-build-debug/.cmake/api/v1/reply/directory-lib.blt-Debug-6455c37b480bfc4f167f.json new file mode 100644 index 0000000..0d5a0e9 --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/directory-lib.blt-Debug-6455c37b480bfc4f167f.json @@ -0,0 +1,603 @@ +{ + "backtraceGraph" : + { + "commands" : + [ + "install" + ], + "files" : + [ + "lib/blt/CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 122, + "parent" : 0 + } + ] + }, + "installers" : + [ + { + "backtrace" : 1, + "component" : "Unspecified", + "destination" : "include/blt", + "paths" : + [ + "lib/blt/include/blt/compatibility.h" + ], + "type" : "file" + }, + { + "backtrace" : 2, + "component" : "Unspecified", + "destination" : "include/blt/fs", + "paths" : + [ + "lib/blt/include/blt/fs/filesystem.h" + ], + "type" : "file" + }, + { + "backtrace" : 3, + "component" : "Unspecified", + "destination" : "include/blt/fs", + "paths" : + [ + "lib/blt/include/blt/fs/loader.h" + ], + "type" : "file" + }, + { + "backtrace" : 4, + "component" : "Unspecified", + "destination" : "include/blt/fs", + "paths" : + [ + "lib/blt/include/blt/fs/nbt.h" + ], + "type" : "file" + }, + { + "backtrace" : 5, + "component" : "Unspecified", + "destination" : "include/blt/fs", + "paths" : + [ + "lib/blt/include/blt/fs/nbt_block.h" + ], + "type" : "file" + }, + { + "backtrace" : 6, + "component" : "Unspecified", + "destination" : "include/blt/math", + "paths" : + [ + "lib/blt/include/blt/math/averages.h" + ], + "type" : "file" + }, + { + "backtrace" : 7, + "component" : "Unspecified", + "destination" : "include/blt/math", + "paths" : + [ + "lib/blt/include/blt/math/log_util.h" + ], + "type" : "file" + }, + { + "backtrace" : 8, + "component" : "Unspecified", + "destination" : "include/blt/math", + "paths" : + [ + "lib/blt/include/blt/math/math.h" + ], + "type" : "file" + }, + { + "backtrace" : 9, + "component" : "Unspecified", + "destination" : "include/blt/math", + "paths" : + [ + "lib/blt/include/blt/math/matrix.h" + ], + "type" : "file" + }, + { + "backtrace" : 10, + "component" : "Unspecified", + "destination" : "include/blt/math", + "paths" : + [ + "lib/blt/include/blt/math/vectors.h" + ], + "type" : "file" + }, + { + "backtrace" : 11, + "component" : "Unspecified", + "destination" : "include/blt/parse", + "paths" : + [ + "lib/blt/include/blt/parse/argparse.h" + ], + "type" : "file" + }, + { + "backtrace" : 12, + "component" : "Unspecified", + "destination" : "include/blt/parse", + "paths" : + [ + "lib/blt/include/blt/parse/mustache.h" + ], + "type" : "file" + }, + { + "backtrace" : 13, + "component" : "Unspecified", + "destination" : "include/blt/parse", + "paths" : + [ + "lib/blt/include/blt/parse/obj_loader.h" + ], + "type" : "file" + }, + { + "backtrace" : 14, + "component" : "Unspecified", + "destination" : "include/blt/profiling", + "paths" : + [ + "lib/blt/include/blt/profiling/profiler.h" + ], + "type" : "file" + }, + { + "backtrace" : 15, + "component" : "Unspecified", + "destination" : "include/blt/profiling", + "paths" : + [ + "lib/blt/include/blt/profiling/profiler_v2.h" + ], + "type" : "file" + }, + { + "backtrace" : 16, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/allocator.h" + ], + "type" : "file" + }, + { + "backtrace" : 17, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/assert.h" + ], + "type" : "file" + }, + { + "backtrace" : 18, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/binary_tree.h" + ], + "type" : "file" + }, + { + "backtrace" : 19, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/expected.h" + ], + "type" : "file" + }, + { + "backtrace" : 20, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/format.h" + ], + "type" : "file" + }, + { + "backtrace" : 21, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/hashmap.h" + ], + "type" : "file" + }, + { + "backtrace" : 22, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/logging.h" + ], + "type" : "file" + }, + { + "backtrace" : 23, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/memory.h" + ], + "type" : "file" + }, + { + "backtrace" : 24, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/memory_util.h" + ], + "type" : "file" + }, + { + "backtrace" : 25, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/queue.h" + ], + "type" : "file" + }, + { + "backtrace" : 26, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/random.h" + ], + "type" : "file" + }, + { + "backtrace" : 27, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/ranges.h" + ], + "type" : "file" + }, + { + "backtrace" : 28, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/string.h" + ], + "type" : "file" + }, + { + "backtrace" : 29, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/system.h" + ], + "type" : "file" + }, + { + "backtrace" : 30, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/thread.h" + ], + "type" : "file" + }, + { + "backtrace" : 31, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/time.h" + ], + "type" : "file" + }, + { + "backtrace" : 32, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/types.h" + ], + "type" : "file" + }, + { + "backtrace" : 33, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/utility.h" + ], + "type" : "file" + }, + { + "backtrace" : 34, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/uuid.h" + ], + "type" : "file" + }, + { + "backtrace" : 35, + "component" : "Unspecified", + "destination" : "include/blt/window", + "paths" : + [ + "lib/blt/include/blt/window/window.h" + ], + "type" : "file" + }, + { + "backtrace" : 36, + "component" : "Unspecified", + "destination" : "include/blt", + "paths" : + [ + "cmake-build-debug/config/blt/config.h" + ], + "type" : "file" + } + ], + "paths" : + { + "build" : "lib/blt", + "source" : "lib/blt" + } +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/index-2024-02-13T19-03-24-0166.json b/cmake-build-debug/.cmake/api/v1/reply/index-2024-02-13T19-03-24-0166.json new file mode 100644 index 0000000..6117d56 --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/index-2024-02-13T19-03-24-0166.json @@ -0,0 +1,108 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : false, + "name" : "Ninja" + }, + "paths" : + { + "cmake" : "/usr/bin/cmake", + "cpack" : "/usr/bin/cpack", + "ctest" : "/usr/bin/ctest", + "root" : "/usr/share/cmake-3.25" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 25, + "patch" : 1, + "string" : "3.25.1", + "suffix" : "" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-d87faa9a42fcaaeaaeda.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 4 + } + }, + { + "jsonFile" : "cache-v2-91be3a29863a11271d8a.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-bf7e046ecc867d1856cc.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + { + "jsonFile" : "toolchains-v1-a68c232ca45b00aa6bba.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "cache-v2" : + { + "jsonFile" : "cache-v2-91be3a29863a11271d8a.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + "cmakeFiles-v1" : + { + "jsonFile" : "cmakeFiles-v1-bf7e046ecc867d1856cc.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + "codemodel-v2" : + { + "jsonFile" : "codemodel-v2-d87faa9a42fcaaeaaeda.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 4 + } + }, + "toolchains-v1" : + { + "jsonFile" : "toolchains-v1-a68c232ca45b00aa6bba.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + } +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/target-Assignment_1-Debug-cfaea6d89dc80b328532.json b/cmake-build-debug/.cmake/api/v1/reply/target-Assignment_1-Debug-cfaea6d89dc80b328532.json new file mode 100644 index 0000000..f07ea80 --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/target-Assignment_1-Debug-cfaea6d89dc80b328532.json @@ -0,0 +1,648 @@ +{ + "artifacts" : + [ + { + "path" : "Assignment_1" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable", + "target_link_options", + "target_link_libraries", + "add_compile_options", + "target_compile_options", + "add_compile_definitions", + "include_directories" + ], + "files" : + [ + "CMakeLists.txt", + "lib/blt/CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 35, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 40, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 46, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 51, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 37, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 41, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 42, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 2, + "file" : 1, + "line" : 91, + "parent" : 8 + }, + { + "command" : 3, + "file" : 0, + "line" : 12, + "parent" : 0 + }, + { + "command" : 4, + "file" : 0, + "line" : 39, + "parent" : 0 + }, + { + "command" : 4, + "file" : 0, + "line" : 45, + "parent" : 0 + }, + { + "command" : 4, + "file" : 0, + "line" : 50, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 17, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 15, + "parent" : 0 + }, + { + "command" : 6, + "file" : 0, + "line" : 25, + "parent" : 0 + }, + { + "command" : 6, + "file" : 0, + "line" : 26, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "-g -fdiagnostics-color=always" + }, + { + "backtrace" : 10, + "fragment" : "-mieee-fp" + }, + { + "backtrace" : 11, + "fragment" : "-Wall" + }, + { + "backtrace" : 11, + "fragment" : "-Wextra" + }, + { + "backtrace" : 11, + "fragment" : "-Wpedantic" + }, + { + "backtrace" : 11, + "fragment" : "-Wno-comment" + }, + { + "backtrace" : 12, + "fragment" : "-fsanitize=address" + }, + { + "backtrace" : 13, + "fragment" : "-fsanitize=undefined" + } + ], + "defines" : + [ + { + "backtrace" : 14, + "define" : "PART_B" + }, + { + "backtrace" : 15, + "define" : "POSIX_MT" + }, + { + "backtrace" : 15, + "define" : "RANDOMSEEDTIME" + }, + { + "backtrace" : 15, + "define" : "USEVFORK" + } + ], + "includes" : + [ + { + "backtrace" : 16, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" + }, + { + "backtrace" : 17, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "17" + }, + "sourceIndexes" : + [ + 0, + 1 + ] + }, + { + "compileCommandFragments" : + [ + { + "fragment" : "-g -fdiagnostics-color=always" + }, + { + "backtrace" : 10, + "fragment" : "-mieee-fp" + }, + { + "backtrace" : 11, + "fragment" : "-Wall" + }, + { + "backtrace" : 11, + "fragment" : "-Wextra" + }, + { + "backtrace" : 11, + "fragment" : "-Wpedantic" + }, + { + "backtrace" : 11, + "fragment" : "-Wno-comment" + }, + { + "backtrace" : 12, + "fragment" : "-fsanitize=address" + }, + { + "backtrace" : 13, + "fragment" : "-fsanitize=undefined" + }, + { + "fragment" : "-std=gnu11" + } + ], + "defines" : + [ + { + "backtrace" : 14, + "define" : "PART_B" + }, + { + "backtrace" : 15, + "define" : "POSIX_MT" + }, + { + "backtrace" : 15, + "define" : "RANDOMSEEDTIME" + }, + { + "backtrace" : 15, + "define" : "USEVFORK" + } + ], + "includes" : + [ + { + "backtrace" : 16, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" + }, + { + "backtrace" : 17, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + } + ], + "language" : "C", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "11" + }, + "sourceIndexes" : + [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + } + ], + "dependencies" : + [ + { + "backtrace" : 5, + "id" : "BLT::@93fa9f0522c937b42b32" + } + ], + "id" : "Assignment_1::@6890427a1f51a3e7e1df", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-g", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wall", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wextra", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wpedantic", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wno-comment", + "role" : "flags" + }, + { + "backtrace" : 3, + "fragment" : "-fsanitize=address", + "role" : "flags" + }, + { + "backtrace" : 4, + "fragment" : "-fsanitize=undefined", + "role" : "flags" + }, + { + "backtrace" : 5, + "fragment" : "-rdynamic", + "role" : "flags" + }, + { + "backtrace" : 5, + "fragment" : "lib/blt/libBLT.a", + "role" : "libraries" + }, + { + "backtrace" : 6, + "fragment" : "-lm", + "role" : "libraries" + }, + { + "backtrace" : 7, + "fragment" : "-lpthread", + "role" : "libraries" + }, + { + "backtrace" : 9, + "fragment" : "/usr/lib/x86_64-linux-gnu/libz.so", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "Assignment_1", + "nameOnDisk" : "Assignment_1", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/program/app.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/program/function.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/main.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/gp.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/eval.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/tree.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/change.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/crossovr.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/reproduc.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/mutate.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/select.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/tournmnt.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/bstworst.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/fitness.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/genspace.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/exch.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/populate.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/ephem.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/ckpoint.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/event.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/pretty.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/individ.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/params.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/random.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/memory.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/output.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/boltzman.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/sigma.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/fsetupdate.c", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/target-Assignment_1_RUNNER-Debug-0af6fcd355c066abcc22.json b/cmake-build-debug/.cmake/api/v1/reply/target-Assignment_1_RUNNER-Debug-0af6fcd355c066abcc22.json new file mode 100644 index 0000000..efb73da --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/target-Assignment_1_RUNNER-Debug-0af6fcd355c066abcc22.json @@ -0,0 +1,353 @@ +{ + "artifacts" : + [ + { + "path" : "Assignment_1_RUNNER" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable", + "target_link_options", + "target_link_libraries", + "add_dependencies", + "add_compile_options", + "target_compile_options", + "add_compile_definitions", + "include_directories", + "target_include_directories" + ], + "files" : + [ + "CMakeLists.txt", + "lib/blt/CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 62, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 69, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 74, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 79, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 64, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 65, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 66, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 2, + "file" : 1, + "line" : 91, + "parent" : 8 + }, + { + "command" : 3, + "file" : 0, + "line" : 70, + "parent" : 0 + }, + { + "command" : 4, + "file" : 0, + "line" : 12, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 68, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 73, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 78, + "parent" : 0 + }, + { + "command" : 6, + "file" : 0, + "line" : 17, + "parent" : 0 + }, + { + "command" : 6, + "file" : 0, + "line" : 15, + "parent" : 0 + }, + { + "command" : 7, + "file" : 0, + "line" : 25, + "parent" : 0 + }, + { + "command" : 7, + "file" : 0, + "line" : 26, + "parent" : 0 + }, + { + "command" : 8, + "file" : 0, + "line" : 67, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "-g -fdiagnostics-color=always" + }, + { + "backtrace" : 11, + "fragment" : "-mieee-fp" + }, + { + "backtrace" : 12, + "fragment" : "-Wall" + }, + { + "backtrace" : 12, + "fragment" : "-Wextra" + }, + { + "backtrace" : 12, + "fragment" : "-Wpedantic" + }, + { + "backtrace" : 12, + "fragment" : "-Wno-comment" + }, + { + "backtrace" : 13, + "fragment" : "-fsanitize=address" + }, + { + "backtrace" : 14, + "fragment" : "-fsanitize=undefined" + } + ], + "defines" : + [ + { + "backtrace" : 15, + "define" : "PART_B" + }, + { + "backtrace" : 16, + "define" : "POSIX_MT" + }, + { + "backtrace" : 16, + "define" : "RANDOMSEEDTIME" + }, + { + "backtrace" : 16, + "define" : "USEVFORK" + } + ], + "includes" : + [ + { + "backtrace" : 17, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" + }, + { + "backtrace" : 18, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" + }, + { + "backtrace" : 19, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/RUNNER" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "17" + }, + "sourceIndexes" : + [ + 0 + ] + } + ], + "dependencies" : + [ + { + "backtrace" : 10, + "id" : "Assignment_1::@6890427a1f51a3e7e1df" + }, + { + "backtrace" : 5, + "id" : "BLT::@93fa9f0522c937b42b32" + } + ], + "id" : "Assignment_1_RUNNER::@6890427a1f51a3e7e1df", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-g", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wall", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wextra", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wpedantic", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wno-comment", + "role" : "flags" + }, + { + "backtrace" : 3, + "fragment" : "-fsanitize=address", + "role" : "flags" + }, + { + "backtrace" : 4, + "fragment" : "-fsanitize=undefined", + "role" : "flags" + }, + { + "backtrace" : 5, + "fragment" : "-rdynamic", + "role" : "flags" + }, + { + "backtrace" : 5, + "fragment" : "lib/blt/libBLT.a", + "role" : "libraries" + }, + { + "backtrace" : 6, + "fragment" : "-lm", + "role" : "libraries" + }, + { + "backtrace" : 7, + "fragment" : "-lpthread", + "role" : "libraries" + }, + { + "backtrace" : 9, + "fragment" : "/usr/lib/x86_64-linux-gnu/libz.so", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "Assignment_1_RUNNER", + "nameOnDisk" : "Assignment_1_RUNNER", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/runner/main.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/target-BLT-Debug-e05c66c66ee7fdadae06.json b/cmake-build-debug/.cmake/api/v1/reply/target-BLT-Debug-e05c66c66ee7fdadae06.json new file mode 100644 index 0000000..223ac5d --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/target-BLT-Debug-e05c66c66ee7fdadae06.json @@ -0,0 +1,305 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "lib/blt/libBLT.a" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "install", + "add_compile_options", + "target_compile_options", + "add_compile_definitions", + "include_directories" + ], + "files" : + [ + "lib/blt/CMakeLists.txt", + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 86, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 127, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 2, + "file" : 1, + "line" : 12, + "parent" : 3 + }, + { + "command" : 3, + "file" : 0, + "line" : 102, + "parent" : 0 + }, + { + "command" : 4, + "file" : 1, + "line" : 17, + "parent" : 3 + }, + { + "command" : 4, + "file" : 1, + "line" : 15, + "parent" : 3 + }, + { + "command" : 5, + "file" : 0, + "line" : 64, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 76, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 77, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "-g -fdiagnostics-color=always" + }, + { + "backtrace" : 4, + "fragment" : "-mieee-fp" + }, + { + "backtrace" : 5, + "fragment" : "-Wall" + }, + { + "backtrace" : 5, + "fragment" : "-Wextra" + }, + { + "backtrace" : 5, + "fragment" : "-Wpedantic" + }, + { + "fragment" : "-std=gnu++17" + } + ], + "defines" : + [ + { + "backtrace" : 6, + "define" : "PART_B" + }, + { + "backtrace" : 7, + "define" : "POSIX_MT" + }, + { + "backtrace" : 7, + "define" : "RANDOMSEEDTIME" + }, + { + "backtrace" : 7, + "define" : "USEVFORK" + } + ], + "includes" : + [ + { + "backtrace" : 8, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + }, + { + "backtrace" : 9, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" + }, + { + "backtrace" : 10, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "17" + }, + "sourceIndexes" : + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ] + } + ], + "id" : "BLT::@93fa9f0522c937b42b32", + "install" : + { + "destinations" : + [ + { + "backtrace" : 2, + "path" : "lib" + } + ], + "prefix" : + { + "path" : "/usr/local" + } + }, + "name" : "BLT", + "nameOnDisk" : "libBLT.a", + "paths" : + { + "build" : "lib/blt", + "source" : "lib/blt" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/std/assert.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/std/format.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/std/logging.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/std/string.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/std/system.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/profiling/profiler.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/profiling/profiler_v2.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/fs/filesystem.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/fs/loader.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/fs/nbt.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/fs/nbt_block.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/parse/argparse.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/parse/obj_loader.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/cmake-build-debug/.cmake/api/v1/reply/toolchains-v1-a68c232ca45b00aa6bba.json b/cmake-build-debug/.cmake/api/v1/reply/toolchains-v1-a68c232ca45b00aa6bba.json new file mode 100644 index 0000000..d98e41f --- /dev/null +++ b/cmake-build-debug/.cmake/api/v1/reply/toolchains-v1-a68c232ca45b00aa6bba.json @@ -0,0 +1,107 @@ +{ + "kind" : "toolchains", + "toolchains" : + [ + { + "compiler" : + { + "id" : "GNU", + "implicit" : + { + "includeDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/12/include", + "/usr/local/include", + "/usr/include/x86_64-linux-gnu", + "/usr/include" + ], + "linkDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/12", + "/usr/lib/x86_64-linux-gnu", + "/usr/lib", + "/lib/x86_64-linux-gnu", + "/lib" + ], + "linkFrameworkDirectories" : [], + "linkLibraries" : + [ + "gcc", + "gcc_s", + "c", + "gcc", + "gcc_s" + ] + }, + "path" : "/usr/bin/cc", + "version" : "12.2.0" + }, + "language" : "C", + "sourceFileExtensions" : + [ + "c", + "m" + ] + }, + { + "compiler" : + { + "id" : "GNU", + "implicit" : + { + "includeDirectories" : + [ + "/usr/include/c++/12", + "/usr/include/x86_64-linux-gnu/c++/12", + "/usr/include/c++/12/backward", + "/usr/lib/gcc/x86_64-linux-gnu/12/include", + "/usr/local/include", + "/usr/include/x86_64-linux-gnu", + "/usr/include" + ], + "linkDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/12", + "/usr/lib/x86_64-linux-gnu", + "/usr/lib", + "/lib/x86_64-linux-gnu", + "/lib" + ], + "linkFrameworkDirectories" : [], + "linkLibraries" : + [ + "stdc++", + "m", + "gcc_s", + "gcc", + "c", + "gcc_s", + "gcc" + ] + }, + "path" : "/usr/bin/c++", + "version" : "12.2.0" + }, + "language" : "CXX", + "sourceFileExtensions" : + [ + "C", + "M", + "c++", + "cc", + "cpp", + "cxx", + "mm", + "mpp", + "CPP", + "ixx", + "cppm" + ] + } + ], + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/cmake-build-debug/.ninja_deps b/cmake-build-debug/.ninja_deps new file mode 100644 index 0000000..4585c74 Binary files /dev/null and b/cmake-build-debug/.ninja_deps differ diff --git a/cmake-build-debug/.ninja_log b/cmake-build-debug/.ninja_log new file mode 100644 index 0000000..084d59f --- /dev/null +++ b/cmake-build-debug/.ninja_log @@ -0,0 +1,50 @@ +# ninja log v5 +2 385 1707846142161085810 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o 2ea489bc8e928b3b +2 448 1707846142225084738 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o c0f41a3861313dd7 +373 470 1707846142249084336 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o fa79ed52151ec9bc +85 314 1707846142093086948 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o 6e7f8368d46a82a0 +409 2347 1707846144125052926 lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o c25fb457b5e25b1 +2 84 1707846141861090831 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o b12085c2e5f363be +503 1302 1707846143081070407 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o 369e966f856be955 +4 57 1706793715383150273 lib/lilgp/CMakeFiles/lilgp.dir/kernel/event.c.o 57db3946c181fb88 +107 366 1707846142145086077 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o e480e06409f6fd44 +260 366 1707846142145086077 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o 30b64ae68d375dc3 +2 122 1707846141901090162 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o ed1b5a49d32c3f2c +99 715 1707846142493080251 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o 4e33268dd671a38a +3 53 1706793715379150310 lib/lilgp/CMakeFiles/lilgp.dir/kernel/ev_none.c.o 1f5822be491deb3c +606 2026 1707846143801058351 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o db9b4603a9b0b434 +2 98 1707846141877090564 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o 67b16ea5ea0712ba +790 2544 1707846144321049644 lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o 38c55cdcd59afaf4 +0 46 1707851004153947857 build.ninja 842159349a622894 +1 77 1707846536738346724 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o cd51e11346a9d8e8 +77 153 1707846536810345475 Assignment_1 bc686299aaf437b3 +617 1113 1707846142893073555 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o 238ba558ea7a62c6 +385 456 1707846142233084604 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o 576c6a6729ece687 +457 2077 1707846143857057413 lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o bea520b810c81166 +1 2137 1707846143913056476 CMakeFiles/Assignment_1.dir/src/program/app.cpp.o 10b265fa5fa5a0cf +3 106 1707846141885090430 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o 70c374031733948f +183 260 1707846142037087886 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o 95dacd51059647b3 +1 71 1707846489575163412 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o 9ab28a6ffe7282aa +715 2805 1707846144581045289 lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o 1135ce7d5e217207 +442 1565 1707846143345065986 lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o 9ee63da9912d14ed +1 183 1707846141961089158 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o 8cd76fe33cfe6c0a +366 449 1707846142225084738 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o 77f19ae41ac580f1 +172 409 1707846142185085408 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o f744a17e7df1decb +1 442 1707846142217084872 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o 3fe3e042b994e671 +314 576 1707846142353082595 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o 7e8ac3bfc61d53f +1 372 1707846142149086010 CMakeFiles/Assignment_1.dir/src/program/function.cpp.o d954c2b20c6d56a8 +471 2734 1707846144509046495 lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o 915881ae34579f8c +122 354 1707846142133086278 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o 26addf6cb5f5ce69 +470 2471 1707846144249050849 lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o cd2fea25f741f535 +384 471 1707846142249084336 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o def4442f6452ee4e +3 64 1706793758086758231 lib/lilgp/CMakeFiles/lilgp.dir/kernel/ev_times.c.o 9f81d4a5a23b670d +3 225 1707846142001088488 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o 7d0cde4c84e66f4d +1 789 1707846142565079046 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o c2f7474bd7bd5b0e +355 503 1707846142281083800 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o e1fcd0f93782296c +225 384 1707846142161085810 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o 9c8ffa8d96693059 +3 55 1706793715383150273 lib/lilgp/CMakeFiles/lilgp.dir/kernel/ev_time.c.o 83e2354eb712c6c3 +576 1664 1707846143441064379 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o 35f16795f4edc60b +1 606 1707846142385082059 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o b92fb1dd3fc20bad +449 2427 1707846144205051586 lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o 5128184286f41d3e +2805 2927 1707846144697043347 lib/blt/libBLT.a f612e81ed877f804 +449 1351 1707846143129069603 lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o a06d58894a7c334b diff --git a/cmake-build-debug/.ninja_log (conflicted copy 2024-02-13 123738) b/cmake-build-debug/.ninja_log (conflicted copy 2024-02-13 123738) new file mode 100644 index 0000000..8c03fcc --- /dev/null +++ b/cmake-build-debug/.ninja_log (conflicted copy 2024-02-13 123738) @@ -0,0 +1,34 @@ +# ninja log v5 +4 126 1706797281353019710 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o 1c90ae69243b6469 +4 181 1706797281409020354 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o 750c324fad5550ca +207 308 1706797281537021822 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o a72ec30982744596 +88 207 1706797281437020675 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o 36a8b32dd54453c3 +4 118 1706797281349019665 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o 913e55bce0c763fd +4 57 1706793715383150273 lib/lilgp/CMakeFiles/lilgp.dir/kernel/event.c.o 57db3946c181fb88 +116 281 1706797281513021547 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o 39304073c06a128e +132 249 1706797281481021180 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o 56a1a5e81c0af4f +4 129 1706797281357019757 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o 2496fe2ac7ba9e0c +114 291 1706797281521021638 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o 18cd887f6a89b2ea +3 53 1706793715379150310 lib/lilgp/CMakeFiles/lilgp.dir/kernel/ev_none.c.o 1f5822be491deb3c +5 114 1706797281341019573 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o ae3c70238d913183 +0 46 1707845858757724201 build.ninja 842159349a622894 +181 327 1706797281557022052 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o ccacacc97c28b493 +336 381 1706797281609022649 Assignment_1 f29593c9b99f8aa +238 336 1706797281565022144 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o 50c00450ea4f51a1 +5 88 1706797281317019297 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o c3a557da8a30d3e3 +126 178 1706797281409020354 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o e7a5b081f6da96c3 +1 137 1706797281365019849 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o fea9278e9d3b312a +1 125 1706797281353019710 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o 1e50d43701eaac14 +180 286 1706797281517021593 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o 69cad22c8832c9bc +125 290 1706797281521021638 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o d8ac47d5aee92c42 +1 221 1706797281449020812 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o f177658399ca5fb2 +133 317 1706797281545021915 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o f9f5a22e9d267b4e +118 238 1706797281469021041 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o 3da1e3dfacbd027e +221 329 1706797281561022098 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o b9e6055a7fe8d8c2 +3 64 1706793758086758231 lib/lilgp/CMakeFiles/lilgp.dir/kernel/ev_times.c.o 9f81d4a5a23b670d +5 131 1706797281361019802 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o 164056a395fe49f1 +3 293 1706797281525021685 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o d70102ffc32c78be +137 264 1706797281493021317 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o b0c06317867a7a3 +129 251 1706797281481021180 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o f5ef0f214c487a4b +3 55 1706793715383150273 lib/lilgp/CMakeFiles/lilgp.dir/kernel/ev_time.c.o 83e2354eb712c6c3 +3 245 1706797281473021088 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o 97d719d6f0b821a8 diff --git a/cmake-build-debug/Assignment_1 b/cmake-build-debug/Assignment_1 new file mode 100755 index 0000000..86f7aef Binary files /dev/null and b/cmake-build-debug/Assignment_1 differ diff --git a/cmake-build-debug/CMakeCache (conflicted copy 2024-02-13 123738).txt b/cmake-build-debug/CMakeCache (conflicted copy 2024-02-13 123738).txt new file mode 100644 index 0000000..b6817cc --- /dev/null +++ b/cmake-build-debug/CMakeCache (conflicted copy 2024-02-13 123738).txt @@ -0,0 +1,556 @@ +# This is the CMakeCache file. +# For build in directory: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Value Computed by CMake +Assignment_1_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug + +//Value Computed by CMake +Assignment_1_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Assignment_1_RUNNER_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug + +//Value Computed by CMake +Assignment_1_RUNNER_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Assignment_1_RUNNER_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1 + +//Value Computed by CMake +Assignment_1_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1 + +//Value Computed by CMake +BLT_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt + +//Disable blt::logging BLT_DEBUG macro +BLT_DISABLE_DEBUG:BOOL=OFF + +//Disable blt::logging BLT_ERROR macro +BLT_DISABLE_ERROR:BOOL=OFF + +//Disable blt::logging BLT_FATAL macro +BLT_DISABLE_FATAL:BOOL=OFF + +//Disable blt::logging BLT_INFO macro +BLT_DISABLE_INFO:BOOL=OFF + +//Disable blt::logging (all macros and will safely disable logging +// function!) +BLT_DISABLE_LOGGING:BOOL=OFF + +//Disable blt::logging BLT_TRACE macro +BLT_DISABLE_TRACE:BOOL=OFF + +//Disable blt::logging BLT_WARN macro +BLT_DISABLE_WARN:BOOL=OFF + +//Value Computed by CMake +BLT_IS_TOP_LEVEL:STATIC=OFF + +//Dependencies for the target +BLT_LIB_DEPENDS:STATIC=general;ZLIB::ZLIB; + +//Value Computed by CMake +BLT_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt + +//Build the BLT FS utilities including the NBT + eNBT extension +BUILD_FS:BOOL=ON + +//Build the BLT parsers +BUILD_PARSE:BOOL=ON + +//Build the BLT profiler extension +BUILD_PROFILING:BOOL=ON + +//Build the BLT standard utilities. +BUILD_STD:BOOL=ON + +//Build the BLT test set +BUILD_TESTS:BOOL=OFF + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=Debug + +//Enable colored diagnostics throughout. +CMAKE_COLOR_DIAGNOSTICS:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-12 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-12 + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-12 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-12 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/pkgRedirects + +//User executables (bin) +CMAKE_INSTALL_BINDIR:PATH=bin + +//Read-only architecture-independent data (DATAROOTDIR) +CMAKE_INSTALL_DATADIR:PATH= + +//Read-only architecture-independent data root (share) +CMAKE_INSTALL_DATAROOTDIR:PATH=share + +//Documentation root (DATAROOTDIR/doc/PROJECT_NAME) +CMAKE_INSTALL_DOCDIR:PATH= + +//C header files (include) +CMAKE_INSTALL_INCLUDEDIR:PATH=include + +//Info documentation (DATAROOTDIR/info) +CMAKE_INSTALL_INFODIR:PATH= + +//Object code libraries (lib) +CMAKE_INSTALL_LIBDIR:PATH=lib + +//Program executables (libexec) +CMAKE_INSTALL_LIBEXECDIR:PATH=libexec + +//Locale-dependent data (DATAROOTDIR/locale) +CMAKE_INSTALL_LOCALEDIR:PATH= + +//Modifiable single-machine data (var) +CMAKE_INSTALL_LOCALSTATEDIR:PATH=var + +//Man documentation (DATAROOTDIR/man) +CMAKE_INSTALL_MANDIR:PATH= + +//C header files for non-gcc (/usr/include) +CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Run-time variable data (LOCALSTATEDIR/run) +CMAKE_INSTALL_RUNSTATEDIR:PATH= + +//System admin executables (sbin) +CMAKE_INSTALL_SBINDIR:PATH=sbin + +//Modifiable architecture-independent data (com) +CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com + +//Read-only single-machine data (etc) +CMAKE_INSTALL_SYSCONFDIR:PATH=etc + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Assignment_1_RUNNER + +//Value Computed by CMake +CMAKE_PROJECT_VERSION:STATIC=0.11.3 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MAJOR:STATIC=0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MINOR:STATIC=11 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_PATCH:STATIC=3 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_TWEAK:STATIC= + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Enable the address sanitizer +ENABLE_ADDRSAN:BOOL=OFF + +//Enable the thread data race sanitizer +ENABLE_TSAN:BOOL=OFF + +//Enable the ub sanitizer +ENABLE_UBSAN:BOOL=OFF + +//Build for part B version of the assignment +PART_B:BOOL=ON + +//Path to a file. +ZLIB_INCLUDE_DIR:PATH=/usr/include + +//Path to a library. +ZLIB_LIBRARY_DEBUG:FILEPATH=ZLIB_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +ZLIB_LIBRARY_RELEASE:FILEPATH=/usr/lib/x86_64-linux-gnu/libz.so + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=25 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Test CMAKE_HAVE_LIBC_PTHREAD +CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1 +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/brett/Documents/Brock/CS 4P82/Assignment 1 +//ADVANCED property for variable: CMAKE_INSTALL_BINDIR +CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATADIR +CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR +CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR +CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR +CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INFODIR +CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR +CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR +CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR +CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR +CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_MANDIR +CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR +CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR +CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR +CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR +CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1 +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR +CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=2 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.25 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding Threads +FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] +//ADVANCED property for variable: ZLIB_INCLUDE_DIR +ZLIB_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: ZLIB_LIBRARY_DEBUG +ZLIB_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: ZLIB_LIBRARY_RELEASE +ZLIB_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//linker supports push/pop state +_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE +//CMAKE_INSTALL_PREFIX during last run +_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local + diff --git a/cmake-build-debug/CMakeCache.txt b/cmake-build-debug/CMakeCache.txt new file mode 100644 index 0000000..fcb00df --- /dev/null +++ b/cmake-build-debug/CMakeCache.txt @@ -0,0 +1,556 @@ +# This is the CMakeCache file. +# For build in directory: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Value Computed by CMake +Assignment_1_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug + +//Value Computed by CMake +Assignment_1_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Assignment_1_RUNNER_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug + +//Value Computed by CMake +Assignment_1_RUNNER_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Assignment_1_RUNNER_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1 + +//Value Computed by CMake +Assignment_1_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1 + +//Value Computed by CMake +BLT_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt + +//Disable blt::logging BLT_DEBUG macro +BLT_DISABLE_DEBUG:BOOL=OFF + +//Disable blt::logging BLT_ERROR macro +BLT_DISABLE_ERROR:BOOL=OFF + +//Disable blt::logging BLT_FATAL macro +BLT_DISABLE_FATAL:BOOL=OFF + +//Disable blt::logging BLT_INFO macro +BLT_DISABLE_INFO:BOOL=OFF + +//Disable blt::logging (all macros and will safely disable logging +// function!) +BLT_DISABLE_LOGGING:BOOL=OFF + +//Disable blt::logging BLT_TRACE macro +BLT_DISABLE_TRACE:BOOL=OFF + +//Disable blt::logging BLT_WARN macro +BLT_DISABLE_WARN:BOOL=OFF + +//Value Computed by CMake +BLT_IS_TOP_LEVEL:STATIC=OFF + +//Dependencies for the target +BLT_LIB_DEPENDS:STATIC=general;ZLIB::ZLIB; + +//Value Computed by CMake +BLT_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt + +//Build the BLT FS utilities including the NBT + eNBT extension +BUILD_FS:BOOL=ON + +//Build the BLT parsers +BUILD_PARSE:BOOL=ON + +//Build the BLT profiler extension +BUILD_PROFILING:BOOL=ON + +//Build the BLT standard utilities. +BUILD_STD:BOOL=ON + +//Build the BLT test set +BUILD_TESTS:BOOL=OFF + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=Debug + +//Enable colored diagnostics throughout. +CMAKE_COLOR_DIAGNOSTICS:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-12 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-12 + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-12 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-12 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/pkgRedirects + +//User executables (bin) +CMAKE_INSTALL_BINDIR:PATH=bin + +//Read-only architecture-independent data (DATAROOTDIR) +CMAKE_INSTALL_DATADIR:PATH= + +//Read-only architecture-independent data root (share) +CMAKE_INSTALL_DATAROOTDIR:PATH=share + +//Documentation root (DATAROOTDIR/doc/PROJECT_NAME) +CMAKE_INSTALL_DOCDIR:PATH= + +//C header files (include) +CMAKE_INSTALL_INCLUDEDIR:PATH=include + +//Info documentation (DATAROOTDIR/info) +CMAKE_INSTALL_INFODIR:PATH= + +//Object code libraries (lib) +CMAKE_INSTALL_LIBDIR:PATH=lib + +//Program executables (libexec) +CMAKE_INSTALL_LIBEXECDIR:PATH=libexec + +//Locale-dependent data (DATAROOTDIR/locale) +CMAKE_INSTALL_LOCALEDIR:PATH= + +//Modifiable single-machine data (var) +CMAKE_INSTALL_LOCALSTATEDIR:PATH=var + +//Man documentation (DATAROOTDIR/man) +CMAKE_INSTALL_MANDIR:PATH= + +//C header files for non-gcc (/usr/include) +CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Run-time variable data (LOCALSTATEDIR/run) +CMAKE_INSTALL_RUNSTATEDIR:PATH= + +//System admin executables (sbin) +CMAKE_INSTALL_SBINDIR:PATH=sbin + +//Modifiable architecture-independent data (com) +CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com + +//Read-only single-machine data (etc) +CMAKE_INSTALL_SYSCONFDIR:PATH=etc + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Assignment_1_RUNNER + +//Value Computed by CMake +CMAKE_PROJECT_VERSION:STATIC=0.11.3 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MAJOR:STATIC=0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MINOR:STATIC=11 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_PATCH:STATIC=3 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_TWEAK:STATIC= + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Enable the address sanitizer +ENABLE_ADDRSAN:BOOL=ON + +//Enable the thread data race sanitizer +ENABLE_TSAN:BOOL=OFF + +//Enable the ub sanitizer +ENABLE_UBSAN:BOOL=ON + +//Build for part B version of the assignment +PART_B:BOOL=ON + +//Path to a file. +ZLIB_INCLUDE_DIR:PATH=/usr/include + +//Path to a library. +ZLIB_LIBRARY_DEBUG:FILEPATH=ZLIB_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +ZLIB_LIBRARY_RELEASE:FILEPATH=/usr/lib/x86_64-linux-gnu/libz.so + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=25 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Test CMAKE_HAVE_LIBC_PTHREAD +CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1 +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/brett/Documents/Brock/CS 4P82/Assignment 1 +//ADVANCED property for variable: CMAKE_INSTALL_BINDIR +CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATADIR +CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR +CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR +CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR +CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INFODIR +CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR +CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR +CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR +CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR +CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_MANDIR +CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR +CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR +CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR +CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR +CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1 +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR +CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=2 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.25 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding Threads +FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] +//ADVANCED property for variable: ZLIB_INCLUDE_DIR +ZLIB_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: ZLIB_LIBRARY_DEBUG +ZLIB_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: ZLIB_LIBRARY_RELEASE +ZLIB_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//linker supports push/pop state +_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE +//CMAKE_INSTALL_PREFIX during last run +_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local + diff --git a/cmake-build-debug/CMakeFiles/3.25.1/CMakeCCompiler.cmake b/cmake-build-debug/CMakeFiles/3.25.1/CMakeCCompiler.cmake new file mode 100644 index 0000000..14ce679 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.25.1/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "12.2.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-12") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-12") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/12/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/12;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/cmake-build-debug/CMakeFiles/3.25.1/CMakeCXXCompiler.cmake b/cmake-build-debug/CMakeFiles/3.25.1/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..1be14a5 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.25.1/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "12.2.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-12") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-12") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/12;/usr/include/x86_64-linux-gnu/c++/12;/usr/include/c++/12/backward;/usr/lib/gcc/x86_64-linux-gnu/12/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/12;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/cmake-build-debug/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_C.bin b/cmake-build-debug/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000..f38c8e7 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_C.bin differ diff --git a/cmake-build-debug/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_CXX.bin b/cmake-build-debug/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000..60578f9 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/cmake-build-debug/CMakeFiles/3.25.1/CMakeSystem.cmake b/cmake-build-debug/CMakeFiles/3.25.1/CMakeSystem.cmake new file mode 100644 index 0000000..8e69a26 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.25.1/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-6.1.0-16-amd64") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "6.1.0-16-amd64") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Linux-6.1.0-16-amd64") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "6.1.0-16-amd64") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/cmake-build-debug/CMakeFiles/3.25.1/CompilerIdC/CMakeCCompilerId.c b/cmake-build-debug/CMakeFiles/3.25.1/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..a83e378 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.25.1/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,868 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(1) +# if defined(__LCC__) +# define COMPILER_VERSION_MINOR DEC(__LCC__- 100) +# endif +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/cmake-build-debug/CMakeFiles/3.25.1/CompilerIdC/a.out b/cmake-build-debug/CMakeFiles/3.25.1/CompilerIdC/a.out new file mode 100755 index 0000000..2842992 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/3.25.1/CompilerIdC/a.out differ diff --git a/cmake-build-debug/CMakeFiles/3.25.1/CompilerIdCXX/CMakeCXXCompilerId.cpp b/cmake-build-debug/CMakeFiles/3.25.1/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..c9ba632 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/3.25.1/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,857 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(1) +# if defined(__LCC__) +# define COMPILER_VERSION_MINOR DEC(__LCC__- 100) +# endif +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/cmake-build-debug/CMakeFiles/3.25.1/CompilerIdCXX/a.out b/cmake-build-debug/CMakeFiles/3.25.1/CompilerIdCXX/a.out new file mode 100755 index 0000000..af69ab5 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/3.25.1/CompilerIdCXX/a.out differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o new file mode 100644 index 0000000..f81358f Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o new file mode 100644 index 0000000..fbcd2d5 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o new file mode 100644 index 0000000..1711e46 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o new file mode 100644 index 0000000..db4842b Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o new file mode 100644 index 0000000..6724767 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o new file mode 100644 index 0000000..23af5ef Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o new file mode 100644 index 0000000..ae4bd37 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o new file mode 100644 index 0000000..5ec68e6 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o new file mode 100644 index 0000000..cd0bac4 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o new file mode 100644 index 0000000..8bd682d Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o new file mode 100644 index 0000000..421eecc Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o new file mode 100644 index 0000000..8c587f3 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o new file mode 100644 index 0000000..aadde0d Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o new file mode 100644 index 0000000..079118c Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o new file mode 100644 index 0000000..6763797 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o new file mode 100644 index 0000000..b4561c7 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o new file mode 100644 index 0000000..94b9d6a Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o new file mode 100644 index 0000000..768ac36 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o new file mode 100644 index 0000000..6407724 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o new file mode 100644 index 0000000..f84073d Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o new file mode 100644 index 0000000..6b39965 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o new file mode 100644 index 0000000..38f98cc Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o new file mode 100644 index 0000000..436b9b9 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o new file mode 100644 index 0000000..06e2497 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o new file mode 100644 index 0000000..39ad312 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o new file mode 100644 index 0000000..14dee4d Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o new file mode 100644 index 0000000..f6045d2 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/src/program/app.cpp.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/src/program/app.cpp.o new file mode 100644 index 0000000..a818a6d Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/src/program/app.cpp.o differ diff --git a/cmake-build-debug/CMakeFiles/Assignment_1.dir/src/program/function.cpp.o b/cmake-build-debug/CMakeFiles/Assignment_1.dir/src/program/function.cpp.o new file mode 100644 index 0000000..c658aa7 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/Assignment_1.dir/src/program/function.cpp.o differ diff --git a/cmake-build-debug/CMakeFiles/CMakeOutput.log b/cmake-build-debug/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..cfe9443 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/CMakeOutput.log @@ -0,0 +1,460 @@ +The system is: Linux - 6.1.0-16-amd64 - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/cc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/3.25.1/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/3.25.1/CompilerIdCXX/a.out" + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-FQn2dO + +Run Build Command(s):/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja cmTC_4269b && [1/2] Building C object CMakeFiles/cmTC_4269b.dir/CMakeCCompilerABI.c.o +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 12.2.0 (Debian 12.2.0-14) +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_4269b.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4269b.dir/' + /usr/lib/gcc/x86_64-linux-gnu/12/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_4269b.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -o /tmp/ccyhK2kz.s +GNU C17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu) + compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.1-p1, MPC version 1.3.1, isl version isl-0.25-GMP + +warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0. +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/12/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +GNU C17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu) + compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.1-p1, MPC version 1.3.1, isl version isl-0.25-GMP + +warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0. +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: cc72d2b9b5048fedc2be9051c917b40b +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_4269b.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4269b.dir/' + as -v --64 -o CMakeFiles/cmTC_4269b.dir/CMakeCCompilerABI.c.o /tmp/ccyhK2kz.s +GNU assembler version 2.40 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.40 +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_4269b.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4269b.dir/CMakeCCompilerABI.c.' +[2/2] Linking C executable cmTC_4269b +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 12.2.0 (Debian 12.2.0-14) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4269b' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4269b.' + /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/cc6QbI9Z.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_4269b /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/12/../../.. CMakeFiles/cmTC_4269b.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4269b' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4269b.' + + + +Parsed C implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-linux-gnu/12/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/12/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/12/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/12/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-FQn2dO] + ignore line: [] + ignore line: [Run Build Command(s):/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja cmTC_4269b && [1/2] Building C object CMakeFiles/cmTC_4269b.dir/CMakeCCompilerABI.c.o] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 12.2.0 (Debian 12.2.0-14) ] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_4269b.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4269b.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/12/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_4269b.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -o /tmp/ccyhK2kz.s] + ignore line: [GNU C17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 12.2.0 GMP version 6.2.1 MPFR version 4.1.1-p1 MPC version 1.3.1 isl version isl-0.25-GMP] + ignore line: [] + ignore line: [warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/12/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 12.2.0 GMP version 6.2.1 MPFR version 4.1.1-p1 MPC version 1.3.1 isl version isl-0.25-GMP] + ignore line: [] + ignore line: [warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: cc72d2b9b5048fedc2be9051c917b40b] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_4269b.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4269b.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_4269b.dir/CMakeCCompilerABI.c.o /tmp/ccyhK2kz.s] + ignore line: [GNU assembler version 2.40 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.40] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_4269b.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4269b.dir/CMakeCCompilerABI.c.'] + ignore line: [[2/2] Linking C executable cmTC_4269b] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 12.2.0 (Debian 12.2.0-14) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4269b' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4269b.'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/cc6QbI9Z.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_4269b /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/12/../../.. CMakeFiles/cmTC_4269b.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/cc6QbI9Z.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-o] ==> ignore + arg [cmTC_4269b] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../..] + arg [CMakeFiles/cmTC_4269b.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12] ==> [/usr/lib/gcc/x86_64-linux-gnu/12] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/12;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-wFZtcB + +Run Build Command(s):/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja cmTC_8fe41 && [1/2] Building CXX object CMakeFiles/cmTC_8fe41.dir/CMakeCXXCompilerABI.cpp.o +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 12.2.0 (Debian 12.2.0-14) +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_8fe41.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8fe41.dir/' + /usr/lib/gcc/x86_64-linux-gnu/12/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_8fe41.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -o /tmp/ccSymYtX.s +GNU C++17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu) + compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.1-p1, MPC version 1.3.1, isl version isl-0.25-GMP + +warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0. +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/12" +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/include/c++/12 + /usr/include/x86_64-linux-gnu/c++/12 + /usr/include/c++/12/backward + /usr/lib/gcc/x86_64-linux-gnu/12/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +GNU C++17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu) + compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.1-p1, MPC version 1.3.1, isl version isl-0.25-GMP + +warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0. +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 62b090dbbefa50644117a3c13d47369a +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_8fe41.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8fe41.dir/' + as -v --64 -o CMakeFiles/cmTC_8fe41.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccSymYtX.s +GNU assembler version 2.40 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.40 +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_8fe41.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8fe41.dir/CMakeCXXCompilerABI.cpp.' +[2/2] Linking CXX executable cmTC_8fe41 +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 12.2.0 (Debian 12.2.0-14) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8fe41' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_8fe41.' + /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/cc6lXPgk.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_8fe41 /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/12/../../.. CMakeFiles/cmTC_8fe41.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8fe41' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_8fe41.' + + + +Parsed CXX implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/include/c++/12] + add: [/usr/include/x86_64-linux-gnu/c++/12] + add: [/usr/include/c++/12/backward] + add: [/usr/lib/gcc/x86_64-linux-gnu/12/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/include/c++/12] ==> [/usr/include/c++/12] + collapse include dir [/usr/include/x86_64-linux-gnu/c++/12] ==> [/usr/include/x86_64-linux-gnu/c++/12] + collapse include dir [/usr/include/c++/12/backward] ==> [/usr/include/c++/12/backward] + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/12/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/12/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/12;/usr/include/x86_64-linux-gnu/c++/12;/usr/include/c++/12/backward;/usr/lib/gcc/x86_64-linux-gnu/12/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-wFZtcB] + ignore line: [] + ignore line: [Run Build Command(s):/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja cmTC_8fe41 && [1/2] Building CXX object CMakeFiles/cmTC_8fe41.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 12.2.0 (Debian 12.2.0-14) ] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_8fe41.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8fe41.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/12/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_8fe41.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -o /tmp/ccSymYtX.s] + ignore line: [GNU C++17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 12.2.0 GMP version 6.2.1 MPFR version 4.1.1-p1 MPC version 1.3.1 isl version isl-0.25-GMP] + ignore line: [] + ignore line: [warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/12"] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/include/c++/12] + ignore line: [ /usr/include/x86_64-linux-gnu/c++/12] + ignore line: [ /usr/include/c++/12/backward] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/12/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C++17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 12.2.0 GMP version 6.2.1 MPFR version 4.1.1-p1 MPC version 1.3.1 isl version isl-0.25-GMP] + ignore line: [] + ignore line: [warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 62b090dbbefa50644117a3c13d47369a] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_8fe41.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8fe41.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_8fe41.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccSymYtX.s] + ignore line: [GNU assembler version 2.40 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.40] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_8fe41.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_8fe41.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [[2/2] Linking CXX executable cmTC_8fe41] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 12.2.0 (Debian 12.2.0-14) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_8fe41' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_8fe41.'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/cc6lXPgk.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_8fe41 /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/12/../../.. CMakeFiles/cmTC_8fe41.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/cc6lXPgk.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-o] ==> ignore + arg [cmTC_8fe41] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../..] + arg [CMakeFiles/cmTC_8fe41.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12] ==> [/usr/lib/gcc/x86_64-linux-gnu/12] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/12;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + +Performing C SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD succeeded with the following output: +Change Dir: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-sHuuzi + +Run Build Command(s):/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja cmTC_3711d && [1/2] Building C object CMakeFiles/cmTC_3711d.dir/src.c.o +[2/2] Linking C executable cmTC_3711d + + +Source file was: +#include + +static void* test_func(void* data) +{ + return data; +} + +int main(void) +{ + pthread_t thread; + pthread_create(&thread, NULL, test_func, NULL); + pthread_detach(thread); + pthread_cancel(thread); + pthread_join(thread, NULL); + pthread_atfork(NULL, NULL, NULL); + pthread_exit(NULL); + + return 0; +} + + diff --git a/cmake-build-debug/CMakeFiles/TargetDirectories.txt b/cmake-build-debug/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..62853ef --- /dev/null +++ b/cmake-build-debug/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,15 @@ +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/Assignment_1.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/Assignment_1_RUNNER.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/edit_cache.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/rebuild_cache.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/list_install_components.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/install.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/install/local.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/CMakeFiles/install/strip.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/CMakeFiles/edit_cache.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/CMakeFiles/rebuild_cache.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/CMakeFiles/list_install_components.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/CMakeFiles/install.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/CMakeFiles/install/local.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/CMakeFiles/install/strip.dir diff --git a/cmake-build-debug/CMakeFiles/clion-Debug-log.txt b/cmake-build-debug/CMakeFiles/clion-Debug-log.txt new file mode 100644 index 0000000..e91fe65 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/clion-Debug-log.txt @@ -0,0 +1,20 @@ +/usr/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja -DENABLE_ADDRSAN:BOOL=ON -DENABLE_UBSAN:BOOL=ON -G Ninja -S "/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" + + +Building STD +Building Profiling +Building FS +Building Parsers +Found Parallel Hashmaps +Standard Files /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/std/assert.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/std/format.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/std/logging.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/std/string.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/std/system.cpp +Profiler Files /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/profiling/profiler.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/profiling/profiler_v2.cpp +FS Files /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/fs/filesystem.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/fs/loader.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/fs/nbt.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/fs/nbt_block.cpp +Parser Files /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/parse/argparse.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/parse/obj_loader.cpp +Source: /home/brett/Documents/Brock/CS 4P82/Assignment 1 +Current Source: /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt +Including phmap +BLT Successfully included! +Installing to lib with headers at include +-- Configuring done +-- Generating done +-- Build files have been written to: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug diff --git a/cmake-build-debug/CMakeFiles/clion-environment.txt b/cmake-build-debug/CMakeFiles/clion-environment.txt new file mode 100644 index 0000000..0623744 Binary files /dev/null and b/cmake-build-debug/CMakeFiles/clion-environment.txt differ diff --git a/cmake-build-debug/CMakeFiles/cmake.check_cache b/cmake-build-debug/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/cmake-build-debug/CMakeFiles/rules.ninja b/cmake-build-debug/CMakeFiles/rules.ninja new file mode 100644 index 0000000..704bc19 --- /dev/null +++ b/cmake-build-debug/CMakeFiles/rules.ninja @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.25 + +# This file contains all the rules used to get the outputs files +# built from the input files. +# It is included in the main 'build.ninja'. + +# ============================================================================= +# Project: Assignment_1_RUNNER +# Configurations: Debug +# ============================================================================= +# ============================================================================= + +############################################# +# Rule for compiling C files. + +rule C_COMPILER__Assignment_1_Debug + depfile = $DEP_FILE + deps = gcc + command = /usr/bin/cc $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building C object $out + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__Assignment_1_Debug + depfile = $DEP_FILE + deps = gcc + command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX executable. + +rule CXX_EXECUTABLE_LINKER__Assignment_1_Debug + command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD + description = Linking CXX executable $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__Assignment_1_RUNNER_Debug + depfile = $DEP_FILE + deps = gcc + command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX executable. + +rule CXX_EXECUTABLE_LINKER__Assignment_1_RUNNER_Debug + command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD + description = Linking CXX executable $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for running custom commands. + +rule CUSTOM_COMMAND + command = $COMMAND + description = $DESC + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__BLT_Debug + depfile = $DEP_FILE + deps = gcc + command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX static library. + +rule CXX_STATIC_LIBRARY_LINKER__BLT_Debug + command = $PRE_LINK && /usr/bin/cmake -E rm -f $TARGET_FILE && /usr/bin/ar qc $TARGET_FILE $LINK_FLAGS $in && /usr/bin/ranlib $TARGET_FILE && $POST_BUILD + description = Linking CXX static library $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for re-running cmake. + +rule RERUN_CMAKE + command = /usr/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" + description = Re-running CMake... + generator = 1 + + +############################################# +# Rule for cleaning all built files. + +rule CLEAN + command = /opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja $FILE_ARG -t clean $TARGETS + description = Cleaning all built files... + + +############################################# +# Rule for printing all primary targets available. + +rule HELP + command = /opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja -t targets + description = All primary targets available: + diff --git a/cmake-build-debug/Testing/Temporary/LastTest.log b/cmake-build-debug/Testing/Temporary/LastTest.log new file mode 100644 index 0000000..d4f8604 --- /dev/null +++ b/cmake-build-debug/Testing/Temporary/LastTest.log @@ -0,0 +1,3 @@ +Start testing: Feb 13 12:48 EST +---------------------------------------------------------- +End testing: Feb 13 12:48 EST diff --git a/cmake-build-debug/build (conflicted copy 2024-02-13 123738).ninja b/cmake-build-debug/build (conflicted copy 2024-02-13 123738).ninja new file mode 100644 index 0000000..74c042f --- /dev/null +++ b/cmake-build-debug/build (conflicted copy 2024-02-13 123738).ninja @@ -0,0 +1,746 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.25 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: Assignment_1_RUNNER +# Configurations: Debug +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = Debug +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/cmake-build-debug/ +# ============================================================================= +# Object build statements for EXECUTABLE target Assignment_1 + + +############################################# +# Order-only phony target for Assignment_1 + +build cmake_object_order_depends_target_Assignment_1: phony || cmake_object_order_depends_target_BLT + +build CMakeFiles/Assignment_1.dir/src/program/app.cpp.o: CXX_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/program/app.cpp || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/src/program/app.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/src/program + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/src/program/function.cpp.o: CXX_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/program/function.cpp || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/src/program/function.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/src/program + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/main.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/gp.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/eval.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/tree.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/change.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/crossovr.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/reproduc.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/mutate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/select.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/tournmnt.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/bstworst.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/fitness.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/genspace.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/exch.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/populate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/ephem.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/ckpoint.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/event.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/pretty.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/individ.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/params.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/random.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/memory.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/output.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/boltzman.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/sigma.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/fsetupdate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + + +# ============================================================================= +# Link build statements for EXECUTABLE target Assignment_1 + + +############################################# +# Link the executable Assignment_1 + +build Assignment_1: CXX_EXECUTABLE_LINKER__Assignment_1_Debug CMakeFiles/Assignment_1.dir/src/program/app.cpp.o CMakeFiles/Assignment_1.dir/src/program/function.cpp.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o | lib/blt/libBLT.a /usr/lib/x86_64-linux-gnu/libz.so || lib/blt/libBLT.a + FLAGS = -g + LINK_FLAGS = -Wall -Wextra -Wpedantic -Wno-comment -rdynamic + LINK_LIBRARIES = lib/blt/libBLT.a -lm -lpthread /usr/lib/x86_64-linux-gnu/libz.so + OBJECT_DIR = CMakeFiles/Assignment_1.dir + POST_BUILD = : + PRE_LINK = : + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_FILE = Assignment_1 + TARGET_PDB = Assignment_1.pdb + +# ============================================================================= +# Object build statements for EXECUTABLE target Assignment_1_RUNNER + + +############################################# +# Order-only phony target for Assignment_1_RUNNER + +build cmake_object_order_depends_target_Assignment_1_RUNNER: phony || Assignment_1 cmake_object_order_depends_target_BLT + +build CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o: CXX_COMPILER__Assignment_1_RUNNER_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/runner/main.cpp || cmake_object_order_depends_target_Assignment_1_RUNNER + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/RUNNER" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1_RUNNER.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1_RUNNER.dir/src/runner + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1_RUNNER.dir/ + TARGET_PDB = Assignment_1_RUNNER.pdb + + +# ============================================================================= +# Link build statements for EXECUTABLE target Assignment_1_RUNNER + + +############################################# +# Link the executable Assignment_1_RUNNER + +build Assignment_1_RUNNER: CXX_EXECUTABLE_LINKER__Assignment_1_RUNNER_Debug CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o | lib/blt/libBLT.a /usr/lib/x86_64-linux-gnu/libz.so || Assignment_1 lib/blt/libBLT.a + FLAGS = -g + LINK_FLAGS = -Wall -Wextra -Wpedantic -Wno-comment -rdynamic + LINK_LIBRARIES = lib/blt/libBLT.a -lm -lpthread /usr/lib/x86_64-linux-gnu/libz.so + OBJECT_DIR = CMakeFiles/Assignment_1_RUNNER.dir + POST_BUILD = : + PRE_LINK = : + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1_RUNNER.dir/ + TARGET_FILE = Assignment_1_RUNNER + TARGET_PDB = Assignment_1_RUNNER.pdb + + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" && /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" && /usr/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build list_install_components: phony + + +############################################# +# Utility command for install + +build CMakeFiles/install.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" && /usr/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build install: phony CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build CMakeFiles/install/local.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" && /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build install/local: phony CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build CMakeFiles/install/strip.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" && /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build install/strip: phony CMakeFiles/install/strip.util + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# /home/brett/Documents/Brock/CS 4P82/Assignment 1/CMakeLists.txt +# ============================================================================= + +# ============================================================================= +# Object build statements for STATIC_LIBRARY target BLT + + +############################################# +# Order-only phony target for BLT + +build cmake_object_order_depends_target_BLT: phony || lib/blt/CMakeFiles/BLT.dir + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/assert.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/format.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/logging.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/string.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/system.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/profiling/profiler.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/profiling/profiler_v2.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/filesystem.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/loader.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/nbt.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/nbt_block.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/parse/argparse.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/parse + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/parse/obj_loader.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/parse + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + + +# ============================================================================= +# Link build statements for STATIC_LIBRARY target BLT + + +############################################# +# Link the static library lib/blt/libBLT.a + +build lib/blt/libBLT.a: CXX_STATIC_LIBRARY_LINKER__BLT_Debug lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o + LANGUAGE_COMPILE_FLAGS = -g + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + POST_BUILD = : + PRE_LINK = : + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_FILE = lib/blt/libBLT.a + TARGET_PDB = lib/blt/libBLT.pdb + + +############################################# +# Utility command for edit_cache + +build lib/blt/CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt" && /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build lib/blt/edit_cache: phony lib/blt/CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build lib/blt/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt" && /usr/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build lib/blt/rebuild_cache: phony lib/blt/CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build lib/blt/list_install_components: phony + + +############################################# +# Utility command for install + +build lib/blt/CMakeFiles/install.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt" && /usr/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build lib/blt/install: phony lib/blt/CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build lib/blt/CMakeFiles/install/local.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt" && /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build lib/blt/install/local: phony lib/blt/CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build lib/blt/CMakeFiles/install/strip.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt" && /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build lib/blt/install/strip: phony lib/blt/CMakeFiles/install/strip.util + +# ============================================================================= +# Target aliases. + +build BLT: phony lib/blt/libBLT.a + +build libBLT.a: phony lib/blt/libBLT.a + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug + +build all: phony Assignment_1 Assignment_1_RUNNER lib/blt/all + +# ============================================================================= + +############################################# +# Folder: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt + +build lib/blt/all: phony lib/blt/libBLT.a + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/include/blt/config.h.in /usr/share/cmake-3.25/Modules/CMakeCCompiler.cmake.in /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c /usr/share/cmake-3.25/Modules/CMakeCInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCXXCompiler.cmake.in /usr/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp /usr/share/cmake-3.25/Modules/CMakeCXXInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake-3.25/Modules/CMakeCompilerIdDetection.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCXXCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompileFeatures.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompilerABI.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompilerId.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineSystem.cmake /usr/share/cmake-3.25/Modules/CMakeFindBinUtils.cmake /usr/share/cmake-3.25/Modules/CMakeGenericSystem.cmake /usr/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake /usr/share/cmake-3.25/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/share/cmake-3.25/Modules/CMakeParseImplicitLinkInfo.cmake /usr/share/cmake-3.25/Modules/CMakeParseLibraryArchitecture.cmake /usr/share/cmake-3.25/Modules/CMakeSystem.cmake.in /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake-3.25/Modules/CMakeTestCCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeTestCXXCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeTestCompilerCommon.cmake /usr/share/cmake-3.25/Modules/CheckCSourceCompiles.cmake /usr/share/cmake-3.25/Modules/CheckIncludeFile.cmake /usr/share/cmake-3.25/Modules/CheckLibraryExists.cmake /usr/share/cmake-3.25/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake-3.25/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-FindBinUtils.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU.cmake /usr/share/cmake-3.25/Modules/Compiler/HP-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/LCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/NVHPC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/TI-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Tasking-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XL-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/zOS-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake /usr/share/cmake-3.25/Modules/FindPackageMessage.cmake /usr/share/cmake-3.25/Modules/FindThreads.cmake /usr/share/cmake-3.25/Modules/FindZLIB.cmake /usr/share/cmake-3.25/Modules/GNUInstallDirs.cmake /usr/share/cmake-3.25/Modules/Internal/CheckSourceCompiles.cmake /usr/share/cmake-3.25/Modules/Internal/FeatureTesting.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-Determine-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake /usr/share/cmake-3.25/Modules/Platform/Linux.cmake /usr/share/cmake-3.25/Modules/Platform/UnixPaths.cmake /usr/share/cmake-3.25/Modules/SelectLibraryConfigurations.cmake CMakeCache.txt CMakeFiles/3.25.1/CMakeCCompiler.cmake CMakeFiles/3.25.1/CMakeCXXCompiler.cmake CMakeFiles/3.25.1/CMakeSystem.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/include/blt/config.h.in /usr/share/cmake-3.25/Modules/CMakeCCompiler.cmake.in /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c /usr/share/cmake-3.25/Modules/CMakeCInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCXXCompiler.cmake.in /usr/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp /usr/share/cmake-3.25/Modules/CMakeCXXInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake-3.25/Modules/CMakeCompilerIdDetection.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCXXCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompileFeatures.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompilerABI.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompilerId.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineSystem.cmake /usr/share/cmake-3.25/Modules/CMakeFindBinUtils.cmake /usr/share/cmake-3.25/Modules/CMakeGenericSystem.cmake /usr/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake /usr/share/cmake-3.25/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/share/cmake-3.25/Modules/CMakeParseImplicitLinkInfo.cmake /usr/share/cmake-3.25/Modules/CMakeParseLibraryArchitecture.cmake /usr/share/cmake-3.25/Modules/CMakeSystem.cmake.in /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake-3.25/Modules/CMakeTestCCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeTestCXXCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeTestCompilerCommon.cmake /usr/share/cmake-3.25/Modules/CheckCSourceCompiles.cmake /usr/share/cmake-3.25/Modules/CheckIncludeFile.cmake /usr/share/cmake-3.25/Modules/CheckLibraryExists.cmake /usr/share/cmake-3.25/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake-3.25/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-FindBinUtils.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU.cmake /usr/share/cmake-3.25/Modules/Compiler/HP-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/LCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/NVHPC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/TI-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Tasking-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XL-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/zOS-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake /usr/share/cmake-3.25/Modules/FindPackageMessage.cmake /usr/share/cmake-3.25/Modules/FindThreads.cmake /usr/share/cmake-3.25/Modules/FindZLIB.cmake /usr/share/cmake-3.25/Modules/GNUInstallDirs.cmake /usr/share/cmake-3.25/Modules/Internal/CheckSourceCompiles.cmake /usr/share/cmake-3.25/Modules/Internal/FeatureTesting.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-Determine-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake /usr/share/cmake-3.25/Modules/Platform/Linux.cmake /usr/share/cmake-3.25/Modules/Platform/UnixPaths.cmake /usr/share/cmake-3.25/Modules/SelectLibraryConfigurations.cmake CMakeCache.txt CMakeFiles/3.25.1/CMakeCCompiler.cmake CMakeFiles/3.25.1/CMakeCXXCompiler.cmake CMakeFiles/3.25.1/CMakeSystem.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/cmake-build-debug/build.ninja b/cmake-build-debug/build.ninja new file mode 100644 index 0000000..4312af5 --- /dev/null +++ b/cmake-build-debug/build.ninja @@ -0,0 +1,657 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.25 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: Assignment_1_RUNNER +# Configurations: Debug +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = Debug +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/cmake-build-debug/ +# ============================================================================= +# Object build statements for EXECUTABLE target Assignment_1 + + +############################################# +# Order-only phony target for Assignment_1 + +build cmake_object_order_depends_target_Assignment_1: phony || cmake_object_order_depends_target_BLT + +build CMakeFiles/Assignment_1.dir/src/program/app.cpp.o: CXX_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/program/app.cpp || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/src/program/app.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/src/program + +build CMakeFiles/Assignment_1.dir/src/program/function.cpp.o: CXX_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/program/function.cpp || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/src/program/function.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/src/program + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/main.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/gp.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/eval.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/tree.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/change.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/crossovr.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/reproduc.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/mutate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/select.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/tournmnt.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/bstworst.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/fitness.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/genspace.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/exch.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/populate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/ephem.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/ckpoint.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/event.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/pretty.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/individ.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/params.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/random.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/memory.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/output.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/boltzman.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/sigma.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o: C_COMPILER__Assignment_1_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/fsetupdate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + + +# ============================================================================= +# Link build statements for EXECUTABLE target Assignment_1 + + +############################################# +# Link the executable Assignment_1 + +build Assignment_1: CXX_EXECUTABLE_LINKER__Assignment_1_Debug CMakeFiles/Assignment_1.dir/src/program/app.cpp.o CMakeFiles/Assignment_1.dir/src/program/function.cpp.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o | lib/blt/libBLT.a /usr/lib/x86_64-linux-gnu/libz.so || lib/blt/libBLT.a + FLAGS = -g + LINK_FLAGS = -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -rdynamic + LINK_LIBRARIES = lib/blt/libBLT.a -lm -lpthread /usr/lib/x86_64-linux-gnu/libz.so + OBJECT_DIR = CMakeFiles/Assignment_1.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = Assignment_1 + TARGET_PDB = Assignment_1.dbg + +# ============================================================================= +# Object build statements for EXECUTABLE target Assignment_1_RUNNER + + +############################################# +# Order-only phony target for Assignment_1_RUNNER + +build cmake_object_order_depends_target_Assignment_1_RUNNER: phony || Assignment_1 cmake_object_order_depends_target_BLT + +build CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o: CXX_COMPILER__Assignment_1_RUNNER_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/runner/main.cpp || cmake_object_order_depends_target_Assignment_1_RUNNER + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/RUNNER" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1_RUNNER.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1_RUNNER.dir/src/runner + + +# ============================================================================= +# Link build statements for EXECUTABLE target Assignment_1_RUNNER + + +############################################# +# Link the executable Assignment_1_RUNNER + +build Assignment_1_RUNNER: CXX_EXECUTABLE_LINKER__Assignment_1_RUNNER_Debug CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o | lib/blt/libBLT.a /usr/lib/x86_64-linux-gnu/libz.so || Assignment_1 lib/blt/libBLT.a + FLAGS = -g + LINK_FLAGS = -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -rdynamic + LINK_LIBRARIES = lib/blt/libBLT.a -lm -lpthread /usr/lib/x86_64-linux-gnu/libz.so + OBJECT_DIR = CMakeFiles/Assignment_1_RUNNER.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = Assignment_1_RUNNER + TARGET_PDB = Assignment_1_RUNNER.dbg + + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" && /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" && /usr/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build list_install_components: phony + + +############################################# +# Utility command for install + +build CMakeFiles/install.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" && /usr/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build install: phony CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build CMakeFiles/install/local.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" && /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build install/local: phony CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build CMakeFiles/install/strip.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" && /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build install/strip: phony CMakeFiles/install/strip.util + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# /home/brett/Documents/Brock/CS 4P82/Assignment 1/CMakeLists.txt +# ============================================================================= + +# ============================================================================= +# Object build statements for STATIC_LIBRARY target BLT + + +############################################# +# Order-only phony target for BLT + +build cmake_object_order_depends_target_BLT: phony || lib/blt/CMakeFiles/BLT.dir + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/assert.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/format.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/logging.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/string.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/system.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/profiling/profiler.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling + +build lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/profiling/profiler_v2.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/filesystem.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/loader.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/nbt.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/nbt_block.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + +build lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/parse/argparse.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/parse + +build lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o: CXX_COMPILER__BLT_Debug /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/parse/obj_loader.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o.d + FLAGS = -g -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/parse + + +# ============================================================================= +# Link build statements for STATIC_LIBRARY target BLT + + +############################################# +# Link the static library lib/blt/libBLT.a + +build lib/blt/libBLT.a: CXX_STATIC_LIBRARY_LINKER__BLT_Debug lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o + LANGUAGE_COMPILE_FLAGS = -g + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = lib/blt/libBLT.a + TARGET_PDB = BLT.a.dbg + + +############################################# +# Utility command for edit_cache + +build lib/blt/CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt" && /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build lib/blt/edit_cache: phony lib/blt/CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build lib/blt/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt" && /usr/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug" + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build lib/blt/rebuild_cache: phony lib/blt/CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build lib/blt/list_install_components: phony + + +############################################# +# Utility command for install + +build lib/blt/CMakeFiles/install.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt" && /usr/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build lib/blt/install: phony lib/blt/CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build lib/blt/CMakeFiles/install/local.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt" && /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build lib/blt/install/local: phony lib/blt/CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build lib/blt/CMakeFiles/install/strip.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt" && /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build lib/blt/install/strip: phony lib/blt/CMakeFiles/install/strip.util + +# ============================================================================= +# Target aliases. + +build BLT: phony lib/blt/libBLT.a + +build libBLT.a: phony lib/blt/libBLT.a + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug + +build all: phony Assignment_1 Assignment_1_RUNNER lib/blt/all + +# ============================================================================= + +############################################# +# Folder: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt + +build lib/blt/all: phony lib/blt/libBLT.a + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/include/blt/config.h.in /usr/share/cmake-3.25/Modules/CMakeCInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCXXInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake-3.25/Modules/CMakeGenericSystem.cmake /usr/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake-3.25/Modules/CheckCSourceCompiles.cmake /usr/share/cmake-3.25/Modules/CheckIncludeFile.cmake /usr/share/cmake-3.25/Modules/CheckLibraryExists.cmake /usr/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU.cmake /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake /usr/share/cmake-3.25/Modules/FindPackageMessage.cmake /usr/share/cmake-3.25/Modules/FindThreads.cmake /usr/share/cmake-3.25/Modules/FindZLIB.cmake /usr/share/cmake-3.25/Modules/GNUInstallDirs.cmake /usr/share/cmake-3.25/Modules/Internal/CheckSourceCompiles.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake /usr/share/cmake-3.25/Modules/Platform/Linux.cmake /usr/share/cmake-3.25/Modules/Platform/UnixPaths.cmake /usr/share/cmake-3.25/Modules/SelectLibraryConfigurations.cmake CMakeCache.txt CMakeFiles/3.25.1/CMakeCCompiler.cmake CMakeFiles/3.25.1/CMakeCXXCompiler.cmake CMakeFiles/3.25.1/CMakeSystem.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/include/blt/config.h.in /usr/share/cmake-3.25/Modules/CMakeCInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCXXInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake-3.25/Modules/CMakeGenericSystem.cmake /usr/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake-3.25/Modules/CheckCSourceCompiles.cmake /usr/share/cmake-3.25/Modules/CheckIncludeFile.cmake /usr/share/cmake-3.25/Modules/CheckLibraryExists.cmake /usr/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU.cmake /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake /usr/share/cmake-3.25/Modules/FindPackageMessage.cmake /usr/share/cmake-3.25/Modules/FindThreads.cmake /usr/share/cmake-3.25/Modules/FindZLIB.cmake /usr/share/cmake-3.25/Modules/GNUInstallDirs.cmake /usr/share/cmake-3.25/Modules/Internal/CheckSourceCompiles.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake /usr/share/cmake-3.25/Modules/Platform/Linux.cmake /usr/share/cmake-3.25/Modules/Platform/UnixPaths.cmake /usr/share/cmake-3.25/Modules/SelectLibraryConfigurations.cmake CMakeCache.txt CMakeFiles/3.25.1/CMakeCCompiler.cmake CMakeFiles/3.25.1/CMakeCXXCompiler.cmake CMakeFiles/3.25.1/CMakeSystem.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/cmake-build-debug/cmake_install.cmake b/cmake-build-debug/cmake_install.cmake new file mode 100644 index 0000000..037c79e --- /dev/null +++ b/cmake-build-debug/cmake_install.cmake @@ -0,0 +1,59 @@ +# Install script for directory: /home/brett/Documents/Brock/CS 4P82/Assignment 1 + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Debug") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for the subdirectory. + include("/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/cmake_install.cmake") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o new file mode 100644 index 0000000..bb52116 Binary files /dev/null and b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o differ diff --git a/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o new file mode 100644 index 0000000..23ac812 Binary files /dev/null and b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o differ diff --git a/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o new file mode 100644 index 0000000..a204789 Binary files /dev/null and b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o differ diff --git a/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o new file mode 100644 index 0000000..b3a7c0f Binary files /dev/null and b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o differ diff --git a/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o new file mode 100644 index 0000000..fe193b6 Binary files /dev/null and b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o differ diff --git a/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o new file mode 100644 index 0000000..1c0806d Binary files /dev/null and b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o differ diff --git a/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o new file mode 100644 index 0000000..1a6aed3 Binary files /dev/null and b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o differ diff --git a/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o new file mode 100644 index 0000000..9a3a116 Binary files /dev/null and b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o differ diff --git a/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o new file mode 100644 index 0000000..8e7131c Binary files /dev/null and b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o differ diff --git a/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o new file mode 100644 index 0000000..71f064b Binary files /dev/null and b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o differ diff --git a/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o new file mode 100644 index 0000000..fd88d12 Binary files /dev/null and b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o differ diff --git a/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o new file mode 100644 index 0000000..94b7026 Binary files /dev/null and b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o differ diff --git a/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o new file mode 100644 index 0000000..63f89a7 Binary files /dev/null and b/cmake-build-debug/lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o differ diff --git a/cmake-build-debug/lib/blt/cmake_install.cmake b/cmake-build-debug/lib/blt/cmake_install.cmake new file mode 100644 index 0000000..38266d3 --- /dev/null +++ b/cmake-build-debug/lib/blt/cmake_install.cmake @@ -0,0 +1,194 @@ +# Install script for directory: /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Debug") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/compatibility.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/fs" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/fs/filesystem.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/fs" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/fs/loader.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/fs" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/fs/nbt.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/fs" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/fs/nbt_block.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/math" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/math/averages.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/math" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/math/log_util.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/math" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/math/math.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/math" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/math/matrix.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/math" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/math/vectors.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/parse" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/parse/argparse.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/parse" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/parse/mustache.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/parse" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/parse/obj_loader.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/profiling" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/profiling/profiler.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/profiling" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/profiling/profiler_v2.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/allocator.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/assert.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/binary_tree.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/expected.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/format.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/hashmap.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/logging.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/memory.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/memory_util.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/queue.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/random.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/ranges.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/string.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/system.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/thread.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/time.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/types.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/utility.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/uuid.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/window" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/window/window.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/config/blt/config.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + if(CMAKE_INSTALL_CONFIG_NAME MATCHES "^([Rr][Ee][Ll][Ww][Ii][Tt][Hh][Dd][Ee][Bb][Ii][Nn][Ff][Oo])$") + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-debug/lib/blt/libBLT.a") + endif() +endif() + diff --git a/cmake-build-debug/lib/blt/config/blt/config.h b/cmake-build-debug/lib/blt/config/blt/config.h new file mode 100755 index 0000000..c59bead --- /dev/null +++ b/cmake-build-debug/lib/blt/config/blt/config.h @@ -0,0 +1,13 @@ +#ifndef BLT_CONFIG_H +#define BLT_CONFIG_H + +/* #undef ZLIB_FOUND */ +/* #undef BLT_DISABLE_LOGGING */ +/* #undef BLT_DISABLE_TRACE */ +/* #undef BLT_DISABLE_DEBUG */ +/* #undef BLT_DISABLE_INFO */ +/* #undef BLT_DISABLE_WARN */ +/* #undef BLT_DISABLE_ERROR */ +/* #undef BLT_DISABLE_FATAL */ + +#endif // BLT_CONFIG_H diff --git a/cmake-build-debug/lib/blt/libBLT.a b/cmake-build-debug/lib/blt/libBLT.a new file mode 100644 index 0000000..2cb094a Binary files /dev/null and b/cmake-build-debug/lib/blt/libBLT.a differ diff --git a/cmake-build-debug/lib/lilgp/CMakeFiles/lilgp.dir/kernel/ev_none.c.o b/cmake-build-debug/lib/lilgp/CMakeFiles/lilgp.dir/kernel/ev_none.c.o new file mode 100644 index 0000000..e97814e Binary files /dev/null and b/cmake-build-debug/lib/lilgp/CMakeFiles/lilgp.dir/kernel/ev_none.c.o differ diff --git a/cmake-build-debug/lib/lilgp/CMakeFiles/lilgp.dir/kernel/ev_time.c.o b/cmake-build-debug/lib/lilgp/CMakeFiles/lilgp.dir/kernel/ev_time.c.o new file mode 100644 index 0000000..65358f4 Binary files /dev/null and b/cmake-build-debug/lib/lilgp/CMakeFiles/lilgp.dir/kernel/ev_time.c.o differ diff --git a/cmake-build-debug/lib/lilgp/CMakeFiles/lilgp.dir/kernel/ev_times.c.o b/cmake-build-debug/lib/lilgp/CMakeFiles/lilgp.dir/kernel/ev_times.c.o new file mode 100644 index 0000000..d8cd534 Binary files /dev/null and b/cmake-build-debug/lib/lilgp/CMakeFiles/lilgp.dir/kernel/ev_times.c.o differ diff --git a/cmake-build-debug/lib/lilgp/CMakeFiles/lilgp.dir/kernel/event.c.o b/cmake-build-debug/lib/lilgp/CMakeFiles/lilgp.dir/kernel/event.c.o new file mode 100644 index 0000000..3a15fc1 Binary files /dev/null and b/cmake-build-debug/lib/lilgp/CMakeFiles/lilgp.dir/kernel/event.c.o differ diff --git a/cmake-build-debug/lib/lilgp/cmake_install.cmake b/cmake-build-debug/lib/lilgp/cmake_install.cmake new file mode 100644 index 0000000..081757e --- /dev/null +++ b/cmake-build-debug/lib/lilgp/cmake_install.cmake @@ -0,0 +1,44 @@ +# Install script for directory: /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Debug") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + diff --git a/cmake-build-debug/regress.bst b/cmake-build-debug/regress.bst new file mode 100644 index 0000000..6394aff --- /dev/null +++ b/cmake-build-debug/regress.bst @@ -0,0 +1,21 @@ +=== BEST-OF-RUN === + generation: 50 + nodes: 20 + depth: 7 + hits: 920 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 920 + raw fitness: 920.0000 + standardized fitness: 920.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log 0.12638) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (/ (+ 0.17803 extent) area))) +TREE-equ: +y = log(((exp((log(0.12638) - ((-0.32650 + major) + (minor + perimeter)))) * perimeter) * ((0.17803 + extent) / area))) diff --git a/cmake-build-debug/regress.fn b/cmake-build-debug/regress.fn new file mode 100644 index 0000000..02dfdbe --- /dev/null +++ b/cmake-build-debug/regress.fn @@ -0,0 +1,13 @@ + +y = log(((exp((log(0.12638) - ((-0.32650 + major) + (minor + perimeter)))) * perimeter) * ((0.17803 + extent) / area))) + + (log (* (* (exp (- (log 0.12638) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (/ (+ 0.17803 extent) area))) + +Hits: 2563, Total Size: 2810, Percent Hit: 91.209964 +CC: 990 +CO: 145 +OO: 1573 +OC: 102 diff --git a/cmake-build-debug/regress.gen b/cmake-build-debug/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-debug/regress.his b/cmake-build-debug/regress.his new file mode 100644 index 0000000..7d683fd --- /dev/null +++ b/cmake-build-debug/regress.his @@ -0,0 +1,1054 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 14 + depth: 4 + hits: 686 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 686 + raw fitness: 686.0000 + standardized fitness: 686.0000 + adjusted fitness: 0.9985 +TREE: + (log (* (/ (log 0.50660) + (log eccentricity)) + (* (/ 0.20488 minor) + (- extent minor)))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 3 + depth: 1 + hits: 757 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 757 + raw fitness: 757.0000 + standardized fitness: 757.0000 + adjusted fitness: 0.9987 +TREE: + (- eccentricity 0.89484) +=== BEST-OF-RUN === + current generation: 2 + generation: 1 + nodes: 3 + depth: 1 + hits: 757 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 757 + raw fitness: 757.0000 + standardized fitness: 757.0000 + adjusted fitness: 0.9987 +TREE: + (- eccentricity 0.89484) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 34 + depth: 11 + hits: 767 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 767 + raw fitness: 767.0000 + standardized fitness: 767.0000 + adjusted fitness: 0.9987 +TREE: + (log (/ (/ eccentricity perimeter) + (log (exp (/ (+ (+ extent 0.87825) + (log eccentricity)) + (+ (* (exp (- minor area)) + (/ (+ perimeter major) + (exp (+ (exp perimeter) + (/ eccentricity eccentricity))))) + (/ eccentricity perimeter))))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 3 + nodes: 34 + depth: 11 + hits: 767 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 767 + raw fitness: 767.0000 + standardized fitness: 767.0000 + adjusted fitness: 0.9987 +TREE: + (log (/ (/ eccentricity perimeter) + (log (exp (/ (+ (+ extent 0.87825) + (log eccentricity)) + (+ (* (exp (- minor area)) + (/ (+ perimeter major) + (exp (+ (exp perimeter) + (/ eccentricity eccentricity))))) + (/ eccentricity perimeter))))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 3 + nodes: 34 + depth: 11 + hits: 767 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 767 + raw fitness: 767.0000 + standardized fitness: 767.0000 + adjusted fitness: 0.9987 +TREE: + (log (/ (/ eccentricity perimeter) + (log (exp (/ (+ (+ extent 0.87825) + (log eccentricity)) + (+ (* (exp (- minor area)) + (/ (+ perimeter major) + (exp (+ (exp perimeter) + (/ eccentricity eccentricity))))) + (/ eccentricity perimeter))))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 3 + nodes: 34 + depth: 11 + hits: 767 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 767 + raw fitness: 767.0000 + standardized fitness: 767.0000 + adjusted fitness: 0.9987 +TREE: + (log (/ (/ eccentricity perimeter) + (log (exp (/ (+ (+ extent 0.87825) + (log eccentricity)) + (+ (* (exp (- minor area)) + (/ (+ perimeter major) + (exp (+ (exp perimeter) + (/ eccentricity eccentricity))))) + (/ eccentricity perimeter))))))) +=== BEST-OF-RUN === + current generation: 7 + generation: 3 + nodes: 34 + depth: 11 + hits: 767 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 767 + raw fitness: 767.0000 + standardized fitness: 767.0000 + adjusted fitness: 0.9987 +TREE: + (log (/ (/ eccentricity perimeter) + (log (exp (/ (+ (+ extent 0.87825) + (log eccentricity)) + (+ (* (exp (- minor area)) + (/ (+ perimeter major) + (exp (+ (exp perimeter) + (/ eccentricity eccentricity))))) + (/ eccentricity perimeter))))))) +=== BEST-OF-RUN === + current generation: 8 + generation: 3 + nodes: 34 + depth: 11 + hits: 767 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 767 + raw fitness: 767.0000 + standardized fitness: 767.0000 + adjusted fitness: 0.9987 +TREE: + (log (/ (/ eccentricity perimeter) + (log (exp (/ (+ (+ extent 0.87825) + (log eccentricity)) + (+ (* (exp (- minor area)) + (/ (+ perimeter major) + (exp (+ (exp perimeter) + (/ eccentricity eccentricity))))) + (/ eccentricity perimeter))))))) +=== BEST-OF-RUN === + current generation: 9 + generation: 3 + nodes: 34 + depth: 11 + hits: 767 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 767 + raw fitness: 767.0000 + standardized fitness: 767.0000 + adjusted fitness: 0.9987 +TREE: + (log (/ (/ eccentricity perimeter) + (log (exp (/ (+ (+ extent 0.87825) + (log eccentricity)) + (+ (* (exp (- minor area)) + (/ (+ perimeter major) + (exp (+ (exp perimeter) + (/ eccentricity eccentricity))))) + (/ eccentricity perimeter))))))) +=== BEST-OF-RUN === + current generation: 10 + generation: 3 + nodes: 34 + depth: 11 + hits: 767 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 767 + raw fitness: 767.0000 + standardized fitness: 767.0000 + adjusted fitness: 0.9987 +TREE: + (log (/ (/ eccentricity perimeter) + (log (exp (/ (+ (+ extent 0.87825) + (log eccentricity)) + (+ (* (exp (- minor area)) + (/ (+ perimeter major) + (exp (+ (exp perimeter) + (/ eccentricity eccentricity))))) + (/ eccentricity perimeter))))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 3 + nodes: 34 + depth: 11 + hits: 767 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 767 + raw fitness: 767.0000 + standardized fitness: 767.0000 + adjusted fitness: 0.9987 +TREE: + (log (/ (/ eccentricity perimeter) + (log (exp (/ (+ (+ extent 0.87825) + (log eccentricity)) + (+ (* (exp (- minor area)) + (/ (+ perimeter major) + (exp (+ (exp perimeter) + (/ eccentricity eccentricity))))) + (/ eccentricity perimeter))))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 3 + nodes: 34 + depth: 11 + hits: 767 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 767 + raw fitness: 767.0000 + standardized fitness: 767.0000 + adjusted fitness: 0.9987 +TREE: + (log (/ (/ eccentricity perimeter) + (log (exp (/ (+ (+ extent 0.87825) + (log eccentricity)) + (+ (* (exp (- minor area)) + (/ (+ perimeter major) + (exp (+ (exp perimeter) + (/ eccentricity eccentricity))))) + (/ eccentricity perimeter))))))) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 14 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 15 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 16 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 17 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 18 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 19 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 20 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 21 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 22 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 23 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 24 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 25 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 26 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 27 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 28 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 29 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 30 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 31 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 32 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 33 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 34 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 35 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 36 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 37 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 38 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 39 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 40 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 41 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 42 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 43 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 44 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 45 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 46 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 47 + generation: 13 + nodes: 17 + depth: 7 + hits: 911 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 911 + raw fitness: 911.0000 + standardized fitness: 911.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log -0.95243) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 48 + generation: 48 + nodes: 17 + depth: 7 + hits: 913 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 913 + raw fitness: 913.0000 + standardized fitness: 913.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log 0.12638) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 49 + generation: 48 + nodes: 17 + depth: 7 + hits: 913 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 913 + raw fitness: 913.0000 + standardized fitness: 913.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log 0.12638) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (exp minor))) +=== BEST-OF-RUN === + current generation: 50 + generation: 50 + nodes: 20 + depth: 7 + hits: 920 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 920 + raw fitness: 920.0000 + standardized fitness: 920.0000 + adjusted fitness: 0.9989 +TREE: + (log (* (* (exp (- (log 0.12638) + (+ (+ -0.32650 major) + (+ minor perimeter)))) perimeter) + (/ (+ 0.17803 extent) area))) diff --git a/cmake-build-debug/regress.prg b/cmake-build-debug/regress.prg new file mode 100644 index 0000000..decdcf5 --- /dev/null +++ b/cmake-build-debug/regress.prg @@ -0,0 +1,1002 @@ +not starting from checkpoint file. +1000 fitness cases: + area = 15700.00000, perimeter = 505.30301, major_axis_length = 209.98842, minor_axis_length = 96.19489, eccentricity = 0.88890, convex_area = 16040.00000, extent = 0.59007, type = C + area = 10951.00000, perimeter = 424.76901, major_axis_length = 179.13132, minor_axis_length = 78.75501, eccentricity = 0.89817, convex_area = 11138.00000, extent = 0.56726, type = O + area = 13424.00000, perimeter = 461.46899, major_axis_length = 186.50674, minor_axis_length = 92.67175, eccentricity = 0.86782, convex_area = 13702.00000, extent = 0.67552, type = C + area = 10695.00000, perimeter = 406.45099, major_axis_length = 164.57030, minor_axis_length = 84.04564, eccentricity = 0.85976, convex_area = 10930.00000, extent = 0.61233, type = O + area = 10919.00000, perimeter = 428.34900, major_axis_length = 179.68311, minor_axis_length = 77.92034, eccentricity = 0.90108, convex_area = 11143.00000, extent = 0.59582, type = O + area = 12960.00000, perimeter = 460.86700, major_axis_length = 191.51770, minor_axis_length = 86.79779, eccentricity = 0.89140, convex_area = 13211.00000, extent = 0.58824, type = O + area = 13167.00000, perimeter = 466.66400, major_axis_length = 197.12506, minor_axis_length = 86.21641, eccentricity = 0.89928, convex_area = 13448.00000, extent = 0.58099, type = C + area = 16588.00000, perimeter = 531.39502, major_axis_length = 221.88550, minor_axis_length = 96.65257, eccentricity = 0.90014, convex_area = 16854.00000, extent = 0.57899, type = C + area = 11392.00000, perimeter = 427.74500, major_axis_length = 174.02287, minor_axis_length = 84.52708, eccentricity = 0.87411, convex_area = 11609.00000, extent = 0.60256, type = O + area = 11458.00000, perimeter = 437.44101, major_axis_length = 178.60359, minor_axis_length = 83.98285, eccentricity = 0.88255, convex_area = 11732.00000, extent = 0.76204, type = O + area = 11568.00000, perimeter = 429.54800, major_axis_length = 174.58656, minor_axis_length = 85.20392, eccentricity = 0.87283, convex_area = 11800.00000, extent = 0.60187, type = O + area = 13460.00000, perimeter = 451.04800, major_axis_length = 181.47499, minor_axis_length = 95.35158, eccentricity = 0.85084, convex_area = 13697.00000, extent = 0.72600, type = O + area = 14747.00000, perimeter = 494.94199, major_axis_length = 209.20590, minor_axis_length = 90.64754, eccentricity = 0.90125, convex_area = 15124.00000, extent = 0.55603, type = C + area = 12152.00000, perimeter = 454.21201, major_axis_length = 198.89960, minor_axis_length = 78.32301, eccentricity = 0.91920, convex_area = 12338.00000, extent = 0.78547, type = O + area = 11145.00000, perimeter = 421.24301, major_axis_length = 170.03070, minor_axis_length = 84.57749, eccentricity = 0.86751, convex_area = 11376.00000, extent = 0.63613, type = O + area = 11097.00000, perimeter = 436.14499, major_axis_length = 182.74286, minor_axis_length = 78.44048, eccentricity = 0.90319, convex_area = 11472.00000, extent = 0.62887, type = O + area = 14682.00000, perimeter = 505.03101, major_axis_length = 219.88632, minor_axis_length = 86.04150, eccentricity = 0.92026, convex_area = 15155.00000, extent = 0.55291, type = C + area = 13520.00000, perimeter = 471.52899, major_axis_length = 195.30615, minor_axis_length = 89.44056, eccentricity = 0.88898, convex_area = 13950.00000, extent = 0.57013, type = C + area = 11569.00000, perimeter = 433.01300, major_axis_length = 183.72031, minor_axis_length = 80.48042, eccentricity = 0.89895, convex_area = 11734.00000, extent = 0.61037, type = O + area = 14489.00000, perimeter = 496.38501, major_axis_length = 210.03639, minor_axis_length = 88.53156, eccentricity = 0.90683, convex_area = 14843.00000, extent = 0.61535, type = C + area = 11116.00000, perimeter = 419.71399, major_axis_length = 173.07706, minor_axis_length = 82.31734, eccentricity = 0.87966, convex_area = 11335.00000, extent = 0.60165, type = O + area = 14161.00000, perimeter = 488.68701, major_axis_length = 206.50746, minor_axis_length = 87.96767, eccentricity = 0.90473, convex_area = 14428.00000, extent = 0.59395, type = C + area = 12908.00000, perimeter = 462.20999, major_axis_length = 185.85094, minor_axis_length = 89.38810, eccentricity = 0.87674, convex_area = 13199.00000, extent = 0.72770, type = O + area = 13867.00000, perimeter = 494.65302, major_axis_length = 213.12224, minor_axis_length = 84.20592, eccentricity = 0.91864, convex_area = 14200.00000, extent = 0.53359, type = C + area = 11353.00000, perimeter = 418.50500, major_axis_length = 166.98601, minor_axis_length = 87.75209, eccentricity = 0.85079, convex_area = 11587.00000, extent = 0.64141, type = O + area = 10719.00000, perimeter = 422.37399, major_axis_length = 173.34386, minor_axis_length = 80.02293, eccentricity = 0.88707, convex_area = 11007.00000, extent = 0.76657, type = O + area = 12900.00000, perimeter = 442.68600, major_axis_length = 181.08026, minor_axis_length = 91.61208, eccentricity = 0.86258, convex_area = 13112.00000, extent = 0.78755, type = O + area = 12244.00000, perimeter = 455.27499, major_axis_length = 192.50739, minor_axis_length = 81.42862, eccentricity = 0.90613, convex_area = 12480.00000, extent = 0.57524, type = C + area = 11624.00000, perimeter = 452.37100, major_axis_length = 190.01772, minor_axis_length = 79.30647, eccentricity = 0.90874, convex_area = 11979.00000, extent = 0.58601, type = O + area = 12752.00000, perimeter = 462.35999, major_axis_length = 190.73418, minor_axis_length = 86.67176, eccentricity = 0.89079, convex_area = 13112.00000, extent = 0.62843, type = C + area = 10563.00000, perimeter = 408.97299, major_axis_length = 167.47096, minor_axis_length = 81.02895, eccentricity = 0.87516, convex_area = 10782.00000, extent = 0.61736, type = O + area = 12362.00000, perimeter = 448.11200, major_axis_length = 181.03906, minor_axis_length = 88.52608, eccentricity = 0.87229, convex_area = 12720.00000, extent = 0.63278, type = O + area = 10884.00000, perimeter = 406.71899, major_axis_length = 156.77713, minor_axis_length = 89.60812, eccentricity = 0.82056, convex_area = 11233.00000, extent = 0.72367, type = O + area = 14294.00000, perimeter = 484.19400, major_axis_length = 205.12840, minor_axis_length = 89.00131, eccentricity = 0.90097, convex_area = 14542.00000, extent = 0.70445, type = C + area = 14268.00000, perimeter = 485.63400, major_axis_length = 202.25085, minor_axis_length = 91.05271, eccentricity = 0.89293, convex_area = 14586.00000, extent = 0.61699, type = C + area = 10968.00000, perimeter = 406.79401, major_axis_length = 161.51013, minor_axis_length = 87.89693, eccentricity = 0.83894, convex_area = 11184.00000, extent = 0.69374, type = O + area = 8499.00000, perimeter = 370.44601, major_axis_length = 156.07228, minor_axis_length = 70.63036, eccentricity = 0.89174, convex_area = 8648.00000, extent = 0.76156, type = O + area = 13429.00000, perimeter = 491.37701, major_axis_length = 208.90878, minor_axis_length = 83.84212, eccentricity = 0.91593, convex_area = 13837.00000, extent = 0.53307, type = C + area = 14026.00000, perimeter = 494.60300, major_axis_length = 212.81454, minor_axis_length = 84.92227, eccentricity = 0.91693, convex_area = 14267.00000, extent = 0.54640, type = C + area = 13635.00000, perimeter = 455.54599, major_axis_length = 189.43158, minor_axis_length = 92.07764, eccentricity = 0.87392, convex_area = 13785.00000, extent = 0.74852, type = O + area = 10066.00000, perimeter = 413.28299, major_axis_length = 177.30690, minor_axis_length = 73.48820, eccentricity = 0.91006, convex_area = 10262.00000, extent = 0.54641, type = O + area = 14178.00000, perimeter = 488.88101, major_axis_length = 207.39560, minor_axis_length = 88.06809, eccentricity = 0.90536, convex_area = 14406.00000, extent = 0.55775, type = C + area = 10366.00000, perimeter = 403.45999, major_axis_length = 162.35617, minor_axis_length = 83.06848, eccentricity = 0.85920, convex_area = 10680.00000, extent = 0.70753, type = O + area = 14586.00000, perimeter = 484.05301, major_axis_length = 196.40340, minor_axis_length = 95.85622, eccentricity = 0.87281, convex_area = 14976.00000, extent = 0.77154, type = C + area = 12495.00000, perimeter = 443.67801, major_axis_length = 184.98767, minor_axis_length = 87.13018, eccentricity = 0.88213, convex_area = 12690.00000, extent = 0.74260, type = O + area = 15967.00000, perimeter = 511.61499, major_axis_length = 211.69078, minor_axis_length = 96.97523, eccentricity = 0.88890, convex_area = 16329.00000, extent = 0.58668, type = C + area = 14434.00000, perimeter = 486.66800, major_axis_length = 201.27196, minor_axis_length = 92.73377, eccentricity = 0.88754, convex_area = 14754.00000, extent = 0.62599, type = C + area = 11366.00000, perimeter = 431.93600, major_axis_length = 179.07126, minor_axis_length = 81.93755, eccentricity = 0.88917, convex_area = 11737.00000, extent = 0.60635, type = O + area = 9646.00000, perimeter = 390.95599, major_axis_length = 162.01367, minor_axis_length = 76.31642, eccentricity = 0.88211, convex_area = 9815.00000, extent = 0.67511, type = O + area = 15200.00000, perimeter = 502.58801, major_axis_length = 214.13380, minor_axis_length = 91.11753, eccentricity = 0.90495, convex_area = 15461.00000, extent = 0.62413, type = C + area = 12986.00000, perimeter = 462.11099, major_axis_length = 195.51758, minor_axis_length = 86.10847, eccentricity = 0.89780, convex_area = 13288.00000, extent = 0.79058, type = C + area = 14700.00000, perimeter = 506.46399, major_axis_length = 215.43030, minor_axis_length = 87.76008, eccentricity = 0.91326, convex_area = 15050.00000, extent = 0.70755, type = C + area = 11858.00000, perimeter = 437.10901, major_axis_length = 185.81818, minor_axis_length = 82.01722, eccentricity = 0.89732, convex_area = 12017.00000, extent = 0.56906, type = O + area = 12043.00000, perimeter = 441.15601, major_axis_length = 175.53206, minor_axis_length = 88.68825, eccentricity = 0.86297, convex_area = 12376.00000, extent = 0.66772, type = O + area = 11291.00000, perimeter = 432.64600, major_axis_length = 177.01273, minor_axis_length = 82.56719, eccentricity = 0.88455, convex_area = 11586.00000, extent = 0.65266, type = O + area = 12040.00000, perimeter = 441.02301, major_axis_length = 182.75281, minor_axis_length = 85.15115, eccentricity = 0.88482, convex_area = 12372.00000, extent = 0.74741, type = C + area = 12277.00000, perimeter = 450.32599, major_axis_length = 190.74178, minor_axis_length = 82.85999, eccentricity = 0.90072, convex_area = 12482.00000, extent = 0.76340, type = O + area = 10497.00000, perimeter = 417.50601, major_axis_length = 169.24020, minor_axis_length = 80.12229, eccentricity = 0.88083, convex_area = 10753.00000, extent = 0.58162, type = O + area = 12811.00000, perimeter = 453.93701, major_axis_length = 185.72890, minor_axis_length = 89.51059, eccentricity = 0.87620, convex_area = 13112.00000, extent = 0.58508, type = O + area = 14013.00000, perimeter = 458.91101, major_axis_length = 181.95149, minor_axis_length = 99.44376, eccentricity = 0.83743, convex_area = 14323.00000, extent = 0.79439, type = C + area = 14784.00000, perimeter = 481.98599, major_axis_length = 200.02716, minor_axis_length = 94.98056, eccentricity = 0.88007, convex_area = 15005.00000, extent = 0.72159, type = C + area = 14018.00000, perimeter = 480.86801, major_axis_length = 203.97838, minor_axis_length = 88.12711, eccentricity = 0.90185, convex_area = 14287.00000, extent = 0.72243, type = C + area = 11898.00000, perimeter = 422.36801, major_axis_length = 166.23572, minor_axis_length = 91.87953, eccentricity = 0.83338, convex_area = 12063.00000, extent = 0.66277, type = O + area = 14935.00000, perimeter = 489.23401, major_axis_length = 202.40665, minor_axis_length = 94.64574, eccentricity = 0.88394, convex_area = 15251.00000, extent = 0.60904, type = C + area = 11465.00000, perimeter = 434.13501, major_axis_length = 180.83508, minor_axis_length = 82.00426, eccentricity = 0.89127, convex_area = 11727.00000, extent = 0.65061, type = O + area = 14968.00000, perimeter = 514.80103, major_axis_length = 220.22400, minor_axis_length = 87.73534, eccentricity = 0.91722, convex_area = 15438.00000, extent = 0.74092, type = C + area = 13321.00000, perimeter = 473.99301, major_axis_length = 199.27257, minor_axis_length = 85.92883, eccentricity = 0.90225, convex_area = 13758.00000, extent = 0.56457, type = C + area = 13885.00000, perimeter = 479.28799, major_axis_length = 198.09418, minor_axis_length = 90.59052, eccentricity = 0.88931, convex_area = 14271.00000, extent = 0.78713, type = C + area = 10138.00000, perimeter = 414.00900, major_axis_length = 171.61974, minor_axis_length = 77.15939, eccentricity = 0.89323, convex_area = 10425.00000, extent = 0.56643, type = O + area = 12120.00000, perimeter = 439.71399, major_axis_length = 181.69794, minor_axis_length = 85.99254, eccentricity = 0.88092, convex_area = 12335.00000, extent = 0.60254, type = O + area = 12396.00000, perimeter = 460.00201, major_axis_length = 195.32330, minor_axis_length = 81.92961, eccentricity = 0.90778, convex_area = 12676.00000, extent = 0.73306, type = C + area = 14345.00000, perimeter = 491.01901, major_axis_length = 207.21983, minor_axis_length = 88.91106, eccentricity = 0.90327, convex_area = 14650.00000, extent = 0.59262, type = C + area = 11976.00000, perimeter = 444.64401, major_axis_length = 188.98186, minor_axis_length = 81.36696, eccentricity = 0.90256, convex_area = 12149.00000, extent = 0.55801, type = O + area = 15256.00000, perimeter = 495.77100, major_axis_length = 209.62132, minor_axis_length = 93.42302, eccentricity = 0.89519, convex_area = 15449.00000, extent = 0.57498, type = C + area = 12688.00000, perimeter = 466.83801, major_axis_length = 193.78667, minor_axis_length = 84.37170, eccentricity = 0.90024, convex_area = 12956.00000, extent = 0.60190, type = C + area = 10344.00000, perimeter = 406.18900, major_axis_length = 169.36665, minor_axis_length = 78.96368, eccentricity = 0.88466, convex_area = 10533.00000, extent = 0.71744, type = O + area = 10910.00000, perimeter = 445.27399, major_axis_length = 190.24805, minor_axis_length = 73.87875, eccentricity = 0.92152, convex_area = 11229.00000, extent = 0.62788, type = O + area = 14146.00000, perimeter = 504.35599, major_axis_length = 214.06288, minor_axis_length = 85.74496, eccentricity = 0.91627, convex_area = 14716.00000, extent = 0.62527, type = C + area = 11941.00000, perimeter = 434.80399, major_axis_length = 174.22989, minor_axis_length = 89.47453, eccentricity = 0.85806, convex_area = 12249.00000, extent = 0.75414, type = O + area = 10871.00000, perimeter = 414.67401, major_axis_length = 165.74614, minor_axis_length = 85.62849, eccentricity = 0.85621, convex_area = 11224.00000, extent = 0.76610, type = O + area = 15144.00000, perimeter = 505.91299, major_axis_length = 212.36888, minor_axis_length = 92.02203, eccentricity = 0.90124, convex_area = 15609.00000, extent = 0.60951, type = C + area = 13087.00000, perimeter = 468.81100, major_axis_length = 198.28671, minor_axis_length = 84.87167, eccentricity = 0.90377, convex_area = 13488.00000, extent = 0.77246, type = C + area = 14517.00000, perimeter = 495.61499, major_axis_length = 211.80283, minor_axis_length = 88.03250, eccentricity = 0.90953, convex_area = 14815.00000, extent = 0.68752, type = C + area = 10483.00000, perimeter = 419.01599, major_axis_length = 176.62010, minor_axis_length = 76.32422, eccentricity = 0.90181, convex_area = 10773.00000, extent = 0.69286, type = O + area = 13308.00000, perimeter = 464.13300, major_axis_length = 196.24231, minor_axis_length = 87.26089, eccentricity = 0.89570, convex_area = 13486.00000, extent = 0.59752, type = O + area = 10657.00000, perimeter = 407.76501, major_axis_length = 168.73734, minor_axis_length = 80.82008, eccentricity = 0.87783, convex_area = 10826.00000, extent = 0.60953, type = O + area = 14212.00000, perimeter = 484.94601, major_axis_length = 205.00323, minor_axis_length = 89.61550, eccentricity = 0.89939, convex_area = 14502.00000, extent = 0.75220, type = C + area = 11359.00000, perimeter = 420.87201, major_axis_length = 170.85472, minor_axis_length = 85.41528, eccentricity = 0.86607, convex_area = 11580.00000, extent = 0.61747, type = O + area = 10975.00000, perimeter = 420.52200, major_axis_length = 169.96675, minor_axis_length = 83.40964, eccentricity = 0.87131, convex_area = 11305.00000, extent = 0.68680, type = O + area = 11366.00000, perimeter = 423.11499, major_axis_length = 171.90665, minor_axis_length = 85.57930, eccentricity = 0.86728, convex_area = 11599.00000, extent = 0.61140, type = O + area = 15369.00000, perimeter = 499.26599, major_axis_length = 205.87529, minor_axis_length = 95.93622, eccentricity = 0.88479, convex_area = 15666.00000, extent = 0.61604, type = C + area = 14399.00000, perimeter = 492.33899, major_axis_length = 210.13991, minor_axis_length = 88.10236, eccentricity = 0.90787, convex_area = 14636.00000, extent = 0.54918, type = C + area = 15147.00000, perimeter = 511.29401, major_axis_length = 216.09929, minor_axis_length = 90.94639, eccentricity = 0.90713, convex_area = 15637.00000, extent = 0.53485, type = C + area = 14910.00000, perimeter = 511.60001, major_axis_length = 221.61229, minor_axis_length = 86.21699, eccentricity = 0.92122, convex_area = 15215.00000, extent = 0.69964, type = C + area = 11411.00000, perimeter = 429.10101, major_axis_length = 175.35614, minor_axis_length = 83.65203, eccentricity = 0.87888, convex_area = 11636.00000, extent = 0.59806, type = O + area = 10470.00000, perimeter = 419.01801, major_axis_length = 177.06436, minor_axis_length = 75.63279, eccentricity = 0.90418, convex_area = 10682.00000, extent = 0.59863, type = O + area = 11986.00000, perimeter = 432.29099, major_axis_length = 172.40063, minor_axis_length = 89.62594, eccentricity = 0.85425, convex_area = 12279.00000, extent = 0.65882, type = O + area = 12597.00000, perimeter = 451.54300, major_axis_length = 189.60536, minor_axis_length = 85.23103, eccentricity = 0.89327, convex_area = 12858.00000, extent = 0.68155, type = C + area = 14865.00000, perimeter = 495.07101, major_axis_length = 202.86786, minor_axis_length = 94.27195, eccentricity = 0.88547, convex_area = 15235.00000, extent = 0.60419, type = C + area = 10524.00000, perimeter = 402.49500, major_axis_length = 164.08194, minor_axis_length = 82.46438, eccentricity = 0.86453, convex_area = 10713.00000, extent = 0.63253, type = O + area = 9483.00000, perimeter = 390.99799, major_axis_length = 157.25992, minor_axis_length = 78.63333, eccentricity = 0.86601, convex_area = 9817.00000, extent = 0.65786, type = O + area = 12610.00000, perimeter = 454.68701, major_axis_length = 185.64877, minor_axis_length = 87.92713, eccentricity = 0.88073, convex_area = 12934.00000, extent = 0.59789, type = O + area = 14057.00000, perimeter = 483.48001, major_axis_length = 201.57481, minor_axis_length = 89.90643, eccentricity = 0.89502, convex_area = 14388.00000, extent = 0.56727, type = C + area = 12060.00000, perimeter = 438.77499, major_axis_length = 177.40103, minor_axis_length = 87.37785, eccentricity = 0.87029, convex_area = 12420.00000, extent = 0.64867, type = O + area = 11752.00000, perimeter = 428.66101, major_axis_length = 172.25977, minor_axis_length = 89.06375, eccentricity = 0.85597, convex_area = 12082.00000, extent = 0.65000, type = O + area = 12079.00000, perimeter = 445.99500, major_axis_length = 190.67360, minor_axis_length = 81.13325, eccentricity = 0.90495, convex_area = 12462.00000, extent = 0.64267, type = C + area = 10785.00000, perimeter = 423.79501, major_axis_length = 175.26901, minor_axis_length = 79.07759, eccentricity = 0.89243, convex_area = 11069.00000, extent = 0.70842, type = O + area = 11874.00000, perimeter = 435.93600, major_axis_length = 177.28003, minor_axis_length = 86.48964, eccentricity = 0.87292, convex_area = 12097.00000, extent = 0.72248, type = O + area = 15069.00000, perimeter = 505.45499, major_axis_length = 211.90649, minor_axis_length = 91.93554, eccentricity = 0.90099, convex_area = 15431.00000, extent = 0.55352, type = C + area = 14003.00000, perimeter = 489.29001, major_axis_length = 208.33290, minor_axis_length = 87.19222, eccentricity = 0.90821, convex_area = 14421.00000, extent = 0.57911, type = C + area = 12190.00000, perimeter = 441.78500, major_axis_length = 178.55238, minor_axis_length = 87.93262, eccentricity = 0.87033, convex_area = 12478.00000, extent = 0.65020, type = O + area = 10580.00000, perimeter = 409.08899, major_axis_length = 173.31699, minor_axis_length = 78.04712, eccentricity = 0.89287, convex_area = 10731.00000, extent = 0.58132, type = O + area = 11903.00000, perimeter = 433.71301, major_axis_length = 180.90604, minor_axis_length = 84.36025, eccentricity = 0.88462, convex_area = 12104.00000, extent = 0.68645, type = O + area = 13909.00000, perimeter = 475.61801, major_axis_length = 199.60727, minor_axis_length = 89.94420, eccentricity = 0.89272, convex_area = 14241.00000, extent = 0.72788, type = C + area = 11543.00000, perimeter = 432.31400, major_axis_length = 174.84126, minor_axis_length = 86.66760, eccentricity = 0.86850, convex_area = 11940.00000, extent = 0.69120, type = O + area = 13824.00000, perimeter = 491.62000, major_axis_length = 206.38902, minor_axis_length = 86.85488, eccentricity = 0.90714, convex_area = 14268.00000, extent = 0.63387, type = C + area = 15306.00000, perimeter = 524.68500, major_axis_length = 227.78186, minor_axis_length = 87.04253, eccentricity = 0.92411, convex_area = 15837.00000, extent = 0.51251, type = C + area = 12067.00000, perimeter = 440.00101, major_axis_length = 187.76135, minor_axis_length = 82.31121, eccentricity = 0.89879, convex_area = 12200.00000, extent = 0.61724, type = O + area = 11910.00000, perimeter = 427.27899, major_axis_length = 173.29544, minor_axis_length = 88.56226, eccentricity = 0.85955, convex_area = 12191.00000, extent = 0.77338, type = O + area = 12685.00000, perimeter = 468.59601, major_axis_length = 199.65999, minor_axis_length = 82.19839, eccentricity = 0.91132, convex_area = 13042.00000, extent = 0.69591, type = C + area = 12575.00000, perimeter = 456.75299, major_axis_length = 188.67986, minor_axis_length = 85.98197, eccentricity = 0.89013, convex_area = 12936.00000, extent = 0.73927, type = C + area = 14055.00000, perimeter = 488.74899, major_axis_length = 207.75175, minor_axis_length = 87.25033, eccentricity = 0.90754, convex_area = 14484.00000, extent = 0.55008, type = C + area = 10264.00000, perimeter = 410.13901, major_axis_length = 169.60396, minor_axis_length = 78.00386, eccentricity = 0.88796, convex_area = 10572.00000, extent = 0.59577, type = O + area = 13722.00000, perimeter = 482.34299, major_axis_length = 202.27818, minor_axis_length = 87.75389, eccentricity = 0.90100, convex_area = 14189.00000, extent = 0.60567, type = C + area = 10908.00000, perimeter = 414.99701, major_axis_length = 174.44916, minor_axis_length = 80.56419, eccentricity = 0.88697, convex_area = 11062.00000, extent = 0.75498, type = O + area = 15655.00000, perimeter = 488.90302, major_axis_length = 199.55669, minor_axis_length = 101.02621, eccentricity = 0.86238, convex_area = 15880.00000, extent = 0.63375, type = C + area = 15065.00000, perimeter = 506.82001, major_axis_length = 212.43690, minor_axis_length = 91.37028, eccentricity = 0.90278, convex_area = 15516.00000, extent = 0.72463, type = C + area = 11774.00000, perimeter = 447.93301, major_axis_length = 186.01793, minor_axis_length = 81.67400, eccentricity = 0.89846, convex_area = 12103.00000, extent = 0.56003, type = C + area = 13779.00000, perimeter = 481.97601, major_axis_length = 200.47858, minor_axis_length = 88.84671, eccentricity = 0.89644, convex_area = 14192.00000, extent = 0.57198, type = C + area = 10696.00000, perimeter = 409.26901, major_axis_length = 166.37988, minor_axis_length = 82.35618, eccentricity = 0.86890, convex_area = 10883.00000, extent = 0.61309, type = O + area = 10534.00000, perimeter = 409.62500, major_axis_length = 167.98820, minor_axis_length = 80.67377, eccentricity = 0.87714, convex_area = 10753.00000, extent = 0.60961, type = O + area = 13568.00000, perimeter = 484.64801, major_axis_length = 208.07210, minor_axis_length = 83.69620, eccentricity = 0.91553, convex_area = 13962.00000, extent = 0.78792, type = C + area = 10811.00000, perimeter = 420.23199, major_axis_length = 174.58916, minor_axis_length = 79.97839, eccentricity = 0.88890, convex_area = 11027.00000, extent = 0.68381, type = O + area = 14349.00000, perimeter = 496.94601, major_axis_length = 213.54402, minor_axis_length = 86.16077, eccentricity = 0.91499, convex_area = 14678.00000, extent = 0.66684, type = C + area = 13694.00000, perimeter = 464.56000, major_axis_length = 191.33110, minor_axis_length = 91.70782, eccentricity = 0.87764, convex_area = 13918.00000, extent = 0.70880, type = C + area = 14557.00000, perimeter = 492.41299, major_axis_length = 205.10664, minor_axis_length = 91.44973, eccentricity = 0.89510, convex_area = 14961.00000, extent = 0.73565, type = C + area = 10574.00000, perimeter = 415.95700, major_axis_length = 172.70430, minor_axis_length = 78.68140, eccentricity = 0.89019, convex_area = 10831.00000, extent = 0.67277, type = O + area = 11874.00000, perimeter = 433.84399, major_axis_length = 176.61125, minor_axis_length = 87.04949, eccentricity = 0.87009, convex_area = 12138.00000, extent = 0.73441, type = C + area = 10737.00000, perimeter = 412.30600, major_axis_length = 165.55162, minor_axis_length = 83.92193, eccentricity = 0.86199, convex_area = 11017.00000, extent = 0.61410, type = O + area = 12647.00000, perimeter = 451.05600, major_axis_length = 180.34435, minor_axis_length = 91.42809, eccentricity = 0.86197, convex_area = 13120.00000, extent = 0.65860, type = O + area = 15607.00000, perimeter = 505.90302, major_axis_length = 208.01102, minor_axis_length = 96.88904, eccentricity = 0.88490, convex_area = 16030.00000, extent = 0.72500, type = C + area = 15475.00000, perimeter = 511.79700, major_axis_length = 220.47693, minor_axis_length = 90.20723, eccentricity = 0.91247, convex_area = 15734.00000, extent = 0.82732, type = C + area = 13328.00000, perimeter = 462.25601, major_axis_length = 187.22998, minor_axis_length = 91.63737, eccentricity = 0.87204, convex_area = 13606.00000, extent = 0.60984, type = O + area = 12495.00000, perimeter = 458.40701, major_axis_length = 187.60420, minor_axis_length = 87.02570, eccentricity = 0.88590, convex_area = 12993.00000, extent = 0.67493, type = C + area = 14332.00000, perimeter = 497.14099, major_axis_length = 206.54681, minor_axis_length = 90.75945, eccentricity = 0.89828, convex_area = 14830.00000, extent = 0.56657, type = C + area = 13410.00000, perimeter = 483.15201, major_axis_length = 205.87576, minor_axis_length = 84.65060, eccentricity = 0.91156, convex_area = 13866.00000, extent = 0.73143, type = C + area = 10993.00000, perimeter = 428.70401, major_axis_length = 179.57823, minor_axis_length = 78.64101, eccentricity = 0.89901, convex_area = 11169.00000, extent = 0.56876, type = O + area = 10943.00000, perimeter = 412.06100, major_axis_length = 169.89026, minor_axis_length = 82.82930, eccentricity = 0.87310, convex_area = 11132.00000, extent = 0.74140, type = O + area = 10061.00000, perimeter = 393.38300, major_axis_length = 160.87691, minor_axis_length = 80.60933, eccentricity = 0.86541, convex_area = 10242.00000, extent = 0.62005, type = O + area = 9884.00000, perimeter = 389.29401, major_axis_length = 164.07063, minor_axis_length = 76.87023, eccentricity = 0.88345, convex_area = 10021.00000, extent = 0.73596, type = O + area = 10681.00000, perimeter = 421.25601, major_axis_length = 178.36945, minor_axis_length = 77.96081, eccentricity = 0.89943, convex_area = 10929.00000, extent = 0.55717, type = O + area = 9962.00000, perimeter = 404.94501, major_axis_length = 170.91649, minor_axis_length = 74.79294, eccentricity = 0.89917, convex_area = 10137.00000, extent = 0.57610, type = O + area = 10198.00000, perimeter = 400.19501, major_axis_length = 166.59412, minor_axis_length = 78.23194, eccentricity = 0.88288, convex_area = 10351.00000, extent = 0.62499, type = O + area = 15953.00000, perimeter = 522.18597, major_axis_length = 220.75523, minor_axis_length = 93.04210, eccentricity = 0.90684, convex_area = 16307.00000, extent = 0.78936, type = C + area = 14504.00000, perimeter = 502.50699, major_axis_length = 212.24757, minor_axis_length = 87.93213, eccentricity = 0.91014, convex_area = 14895.00000, extent = 0.55342, type = C + area = 15725.00000, perimeter = 515.25800, major_axis_length = 221.66010, minor_axis_length = 91.23172, eccentricity = 0.91137, convex_area = 16027.00000, extent = 0.60049, type = C + area = 12672.00000, perimeter = 445.54300, major_axis_length = 180.45528, minor_axis_length = 90.30993, eccentricity = 0.86576, convex_area = 12900.00000, extent = 0.62569, type = O + area = 12029.00000, perimeter = 441.73999, major_axis_length = 181.79628, minor_axis_length = 85.41960, eccentricity = 0.88274, convex_area = 12275.00000, extent = 0.59656, type = C + area = 13258.00000, perimeter = 476.09100, major_axis_length = 195.30478, minor_axis_length = 88.26482, eccentricity = 0.89205, convex_area = 13583.00000, extent = 0.57543, type = O + area = 12267.00000, perimeter = 429.69400, major_axis_length = 171.37064, minor_axis_length = 92.45802, eccentricity = 0.84197, convex_area = 12520.00000, extent = 0.77590, type = O + area = 10594.00000, perimeter = 409.82199, major_axis_length = 164.28784, minor_axis_length = 84.05598, eccentricity = 0.85920, convex_area = 10977.00000, extent = 0.62790, type = O + area = 13029.00000, perimeter = 466.88699, major_axis_length = 197.72624, minor_axis_length = 84.60393, eccentricity = 0.90383, convex_area = 13300.00000, extent = 0.61006, type = C + area = 12183.00000, perimeter = 450.66599, major_axis_length = 189.07367, minor_axis_length = 83.80859, eccentricity = 0.89639, convex_area = 12432.00000, extent = 0.81004, type = O + area = 14573.00000, perimeter = 493.78000, major_axis_length = 209.35582, minor_axis_length = 89.43751, eccentricity = 0.90416, convex_area = 14847.00000, extent = 0.65058, type = C + area = 14202.00000, perimeter = 485.93799, major_axis_length = 202.61406, minor_axis_length = 90.65028, eccentricity = 0.89433, convex_area = 14640.00000, extent = 0.56177, type = C + area = 15830.00000, perimeter = 520.51001, major_axis_length = 219.44762, minor_axis_length = 92.66460, eccentricity = 0.90647, convex_area = 16121.00000, extent = 0.59511, type = C + area = 10809.00000, perimeter = 426.05399, major_axis_length = 176.31656, minor_axis_length = 79.29939, eccentricity = 0.89315, convex_area = 11121.00000, extent = 0.74896, type = O + area = 15238.00000, perimeter = 496.87100, major_axis_length = 208.53178, minor_axis_length = 93.82840, eccentricity = 0.89305, convex_area = 15487.00000, extent = 0.73231, type = C + area = 16006.00000, perimeter = 528.17603, major_axis_length = 222.67191, minor_axis_length = 93.09613, eccentricity = 0.90841, convex_area = 16466.00000, extent = 0.61185, type = C + area = 15074.00000, perimeter = 497.17801, major_axis_length = 205.63982, minor_axis_length = 94.62220, eccentricity = 0.88785, convex_area = 15536.00000, extent = 0.72111, type = C + area = 14300.00000, perimeter = 504.37701, major_axis_length = 212.59837, minor_axis_length = 87.49030, eccentricity = 0.91140, convex_area = 14772.00000, extent = 0.54044, type = C + area = 13912.00000, perimeter = 480.84299, major_axis_length = 206.90704, minor_axis_length = 86.26382, eccentricity = 0.90894, convex_area = 14107.00000, extent = 0.80626, type = C + area = 15026.00000, perimeter = 504.47198, major_axis_length = 212.47598, minor_axis_length = 91.13345, eccentricity = 0.90335, convex_area = 15285.00000, extent = 0.72240, type = C + area = 12777.00000, perimeter = 462.66901, major_axis_length = 183.23491, minor_axis_length = 90.69457, eccentricity = 0.86891, convex_area = 13148.00000, extent = 0.57245, type = O + area = 11719.00000, perimeter = 430.51199, major_axis_length = 175.51746, minor_axis_length = 86.51001, eccentricity = 0.87009, convex_area = 12000.00000, extent = 0.69931, type = O + area = 12299.00000, perimeter = 446.10199, major_axis_length = 185.85789, minor_axis_length = 85.45248, eccentricity = 0.88804, convex_area = 12528.00000, extent = 0.66842, type = O + area = 13728.00000, perimeter = 488.10199, major_axis_length = 208.97412, minor_axis_length = 84.64085, eccentricity = 0.91430, convex_area = 14052.00000, extent = 0.55794, type = C + area = 14734.00000, perimeter = 498.70700, major_axis_length = 211.00096, minor_axis_length = 90.11148, eccentricity = 0.90422, convex_area = 15171.00000, extent = 0.78460, type = C + area = 10587.00000, perimeter = 399.63501, major_axis_length = 166.36543, minor_axis_length = 81.32897, eccentricity = 0.87236, convex_area = 10723.00000, extent = 0.63735, type = O + area = 12333.00000, perimeter = 463.15500, major_axis_length = 196.59944, minor_axis_length = 81.60153, eccentricity = 0.90979, convex_area = 12705.00000, extent = 0.59202, type = C + area = 11357.00000, perimeter = 427.04099, major_axis_length = 178.59515, minor_axis_length = 81.39304, eccentricity = 0.89011, convex_area = 11546.00000, extent = 0.59673, type = O + area = 11883.00000, perimeter = 448.21600, major_axis_length = 191.74635, minor_axis_length = 79.46400, eccentricity = 0.91008, convex_area = 12103.00000, extent = 0.55032, type = C + area = 16199.00000, perimeter = 511.22800, major_axis_length = 210.00165, minor_axis_length = 99.41776, eccentricity = 0.88084, convex_area = 16637.00000, extent = 0.73826, type = C + area = 13568.00000, perimeter = 482.14200, major_axis_length = 206.34126, minor_axis_length = 84.97628, eccentricity = 0.91126, convex_area = 13798.00000, extent = 0.77284, type = C + area = 10727.00000, perimeter = 406.45300, major_axis_length = 168.96371, minor_axis_length = 81.32387, eccentricity = 0.87655, convex_area = 10868.00000, extent = 0.79778, type = O + area = 13825.00000, perimeter = 483.20001, major_axis_length = 205.75504, minor_axis_length = 86.98260, eccentricity = 0.90625, convex_area = 14023.00000, extent = 0.73958, type = O + area = 14022.00000, perimeter = 483.01901, major_axis_length = 204.48296, minor_axis_length = 88.56927, eccentricity = 0.90133, convex_area = 14358.00000, extent = 0.70473, type = C + area = 14751.00000, perimeter = 499.02100, major_axis_length = 214.03714, minor_axis_length = 88.62865, eccentricity = 0.91024, convex_area = 14955.00000, extent = 0.55268, type = C + area = 11136.00000, perimeter = 417.76700, major_axis_length = 170.42235, minor_axis_length = 84.60592, eccentricity = 0.86807, convex_area = 11384.00000, extent = 0.78461, type = O + area = 13820.00000, perimeter = 489.94199, major_axis_length = 207.00410, minor_axis_length = 86.23711, eccentricity = 0.90909, convex_area = 14195.00000, extent = 0.63940, type = C + area = 10420.00000, perimeter = 415.05600, major_axis_length = 170.51256, minor_axis_length = 79.28839, eccentricity = 0.88531, convex_area = 10647.00000, extent = 0.62771, type = O + area = 15676.00000, perimeter = 509.22400, major_axis_length = 212.90775, minor_axis_length = 94.76167, eccentricity = 0.89549, convex_area = 16009.00000, extent = 0.57463, type = C + area = 14608.00000, perimeter = 498.35199, major_axis_length = 210.69138, minor_axis_length = 89.91737, eccentricity = 0.90436, convex_area = 14951.00000, extent = 0.65980, type = C + area = 12163.00000, perimeter = 435.49799, major_axis_length = 178.53915, minor_axis_length = 87.81410, eccentricity = 0.87068, convex_area = 12443.00000, extent = 0.78542, type = O + area = 11928.00000, perimeter = 439.91901, major_axis_length = 181.03484, minor_axis_length = 85.22491, eccentricity = 0.88226, convex_area = 12218.00000, extent = 0.59061, type = O + area = 9733.00000, perimeter = 396.65399, major_axis_length = 163.66455, minor_axis_length = 76.42941, eccentricity = 0.88426, convex_area = 9903.00000, extent = 0.81190, type = O + area = 15513.00000, perimeter = 522.50403, major_axis_length = 224.27583, minor_axis_length = 89.01466, eccentricity = 0.91786, convex_area = 15967.00000, extent = 0.56617, type = C + area = 11422.00000, perimeter = 419.90701, major_axis_length = 168.03189, minor_axis_length = 88.29070, eccentricity = 0.85083, convex_area = 11687.00000, extent = 0.61807, type = O + area = 12714.00000, perimeter = 434.11801, major_axis_length = 169.25522, minor_axis_length = 96.89130, eccentricity = 0.81993, convex_area = 12993.00000, extent = 0.74195, type = O + area = 10843.00000, perimeter = 412.36700, major_axis_length = 168.27451, minor_axis_length = 83.94273, eccentricity = 0.86669, convex_area = 11082.00000, extent = 0.78744, type = O + area = 14686.00000, perimeter = 503.69000, major_axis_length = 212.25868, minor_axis_length = 89.78369, eccentricity = 0.90613, convex_area = 15003.00000, extent = 0.55215, type = C + area = 10572.00000, perimeter = 412.25201, major_axis_length = 163.65118, minor_axis_length = 84.48180, eccentricity = 0.85645, convex_area = 10911.00000, extent = 0.66220, type = O + area = 11191.00000, perimeter = 426.13800, major_axis_length = 177.49660, minor_axis_length = 81.30755, eccentricity = 0.88891, convex_area = 11456.00000, extent = 0.64316, type = O + area = 15264.00000, perimeter = 506.66599, major_axis_length = 208.76143, minor_axis_length = 95.73719, eccentricity = 0.88864, convex_area = 15712.00000, extent = 0.60752, type = C + area = 13352.00000, perimeter = 514.48700, major_axis_length = 232.48021, minor_axis_length = 73.98676, eccentricity = 0.94801, convex_area = 13585.00000, extent = 0.59282, type = C + area = 11319.00000, perimeter = 414.01401, major_axis_length = 164.78081, minor_axis_length = 88.50933, eccentricity = 0.84350, convex_area = 11563.00000, extent = 0.74669, type = O + area = 12059.00000, perimeter = 431.64600, major_axis_length = 171.67200, minor_axis_length = 90.91513, eccentricity = 0.84826, convex_area = 12359.00000, extent = 0.69956, type = O + area = 10780.00000, perimeter = 410.85501, major_axis_length = 162.42773, minor_axis_length = 86.18076, eccentricity = 0.84764, convex_area = 11047.00000, extent = 0.66708, type = O + area = 14695.00000, perimeter = 506.91599, major_axis_length = 214.10553, minor_axis_length = 88.91370, eccentricity = 0.90969, convex_area = 15086.00000, extent = 0.54661, type = C + area = 10577.00000, perimeter = 402.17001, major_axis_length = 162.59102, minor_axis_length = 83.96336, eccentricity = 0.85634, convex_area = 10771.00000, extent = 0.76072, type = O + area = 12556.00000, perimeter = 474.02399, major_axis_length = 207.95442, minor_axis_length = 77.71007, eccentricity = 0.92755, convex_area = 12832.00000, extent = 0.56482, type = C + area = 12292.00000, perimeter = 447.48599, major_axis_length = 181.35670, minor_axis_length = 87.98663, eccentricity = 0.87443, convex_area = 12535.00000, extent = 0.59387, type = O + area = 12720.00000, perimeter = 472.23401, major_axis_length = 201.64085, minor_axis_length = 82.22842, eccentricity = 0.91307, convex_area = 13352.00000, extent = 0.74508, type = C + area = 11957.00000, perimeter = 437.44699, major_axis_length = 176.08249, minor_axis_length = 87.90864, eccentricity = 0.86646, convex_area = 12314.00000, extent = 0.60444, type = O + area = 15367.00000, perimeter = 501.90701, major_axis_length = 210.05598, minor_axis_length = 94.47918, eccentricity = 0.89314, convex_area = 15644.00000, extent = 0.79061, type = C + area = 10663.00000, perimeter = 403.25500, major_axis_length = 163.93628, minor_axis_length = 83.74741, eccentricity = 0.85967, convex_area = 10884.00000, extent = 0.65217, type = O + area = 12587.00000, perimeter = 451.17200, major_axis_length = 185.70013, minor_axis_length = 87.76485, eccentricity = 0.88127, convex_area = 12941.00000, extent = 0.69804, type = O + area = 14379.00000, perimeter = 495.15100, major_axis_length = 212.02097, minor_axis_length = 87.81467, eccentricity = 0.91020, convex_area = 14834.00000, extent = 0.79079, type = C + area = 11584.00000, perimeter = 434.73901, major_axis_length = 180.84743, minor_axis_length = 82.18375, eccentricity = 0.89078, convex_area = 11863.00000, extent = 0.68173, type = O + area = 12981.00000, perimeter = 449.61700, major_axis_length = 177.62296, minor_axis_length = 94.24237, eccentricity = 0.84764, convex_area = 13389.00000, extent = 0.65146, type = O + area = 14166.00000, perimeter = 483.70499, major_axis_length = 204.62732, minor_axis_length = 88.99236, eccentricity = 0.90048, convex_area = 14412.00000, extent = 0.76606, type = C + area = 10533.00000, perimeter = 411.01300, major_axis_length = 168.51833, minor_axis_length = 80.82944, eccentricity = 0.87746, convex_area = 10834.00000, extent = 0.63697, type = O + area = 13536.00000, perimeter = 478.00601, major_axis_length = 203.17378, minor_axis_length = 85.91058, eccentricity = 0.90620, convex_area = 13810.00000, extent = 0.55281, type = C + area = 11587.00000, perimeter = 423.18900, major_axis_length = 168.64038, minor_axis_length = 88.72871, eccentricity = 0.85040, convex_area = 11826.00000, extent = 0.61171, type = O + area = 10798.00000, perimeter = 412.01300, major_axis_length = 169.99113, minor_axis_length = 81.77663, eccentricity = 0.87669, convex_area = 11000.00000, extent = 0.64884, type = O + area = 13039.00000, perimeter = 480.11099, major_axis_length = 205.85757, minor_axis_length = 81.43621, eccentricity = 0.91843, convex_area = 13288.00000, extent = 0.57631, type = O + area = 12387.00000, perimeter = 445.61401, major_axis_length = 175.62965, minor_axis_length = 91.31130, eccentricity = 0.85422, convex_area = 12789.00000, extent = 0.65512, type = O + area = 12483.00000, perimeter = 451.81400, major_axis_length = 189.89943, minor_axis_length = 84.86185, eccentricity = 0.89459, convex_area = 12686.00000, extent = 0.59571, type = C + area = 11835.00000, perimeter = 418.71301, major_axis_length = 168.20982, minor_axis_length = 90.15866, eccentricity = 0.84422, convex_area = 12025.00000, extent = 0.66549, type = O + area = 14244.00000, perimeter = 488.06601, major_axis_length = 199.89989, minor_axis_length = 92.31540, eccentricity = 0.88698, convex_area = 14691.00000, extent = 0.61633, type = C + area = 14471.00000, perimeter = 503.67401, major_axis_length = 207.92873, minor_axis_length = 90.16022, eccentricity = 0.90110, convex_area = 14894.00000, extent = 0.55495, type = C + area = 11769.00000, perimeter = 427.76999, major_axis_length = 171.65778, minor_axis_length = 88.38393, eccentricity = 0.85726, convex_area = 12007.00000, extent = 0.62855, type = O + area = 11614.00000, perimeter = 418.86801, major_axis_length = 168.93079, minor_axis_length = 88.24200, eccentricity = 0.85273, convex_area = 11803.00000, extent = 0.67071, type = O + area = 13487.00000, perimeter = 477.25400, major_axis_length = 205.04572, minor_axis_length = 84.28226, eccentricity = 0.91162, convex_area = 13772.00000, extent = 0.73736, type = C + area = 16582.00000, perimeter = 532.35797, major_axis_length = 223.35884, minor_axis_length = 95.74972, eccentricity = 0.90346, convex_area = 17089.00000, extent = 0.71431, type = C + area = 10831.00000, perimeter = 425.60101, major_axis_length = 182.23546, minor_axis_length = 76.19516, eccentricity = 0.90839, convex_area = 11017.00000, extent = 0.58864, type = O + area = 10784.00000, perimeter = 424.14401, major_axis_length = 176.95996, minor_axis_length = 78.46128, eccentricity = 0.89633, convex_area = 11091.00000, extent = 0.63690, type = O + area = 13949.00000, perimeter = 479.40201, major_axis_length = 200.09514, minor_axis_length = 90.09469, eccentricity = 0.89290, convex_area = 14286.00000, extent = 0.58155, type = C + area = 13399.00000, perimeter = 490.56000, major_axis_length = 209.36595, minor_axis_length = 82.76702, eccentricity = 0.91854, convex_area = 13654.00000, extent = 0.51710, type = C + area = 9834.00000, perimeter = 401.00500, major_axis_length = 164.20589, minor_axis_length = 77.19507, eccentricity = 0.88261, convex_area = 10076.00000, extent = 0.69725, type = O + area = 12483.00000, perimeter = 440.61600, major_axis_length = 176.64351, minor_axis_length = 91.67731, eccentricity = 0.85478, convex_area = 12747.00000, extent = 0.62058, type = O + area = 13455.00000, perimeter = 467.19800, major_axis_length = 195.92857, minor_axis_length = 88.51917, eccentricity = 0.89212, convex_area = 13723.00000, extent = 0.75353, type = C + area = 10832.00000, perimeter = 420.07700, major_axis_length = 167.82939, minor_axis_length = 84.05240, eccentricity = 0.86555, convex_area = 11207.00000, extent = 0.59730, type = O + area = 11906.00000, perimeter = 435.76001, major_axis_length = 178.80707, minor_axis_length = 85.96841, eccentricity = 0.87684, convex_area = 12194.00000, extent = 0.60498, type = O + area = 14470.00000, perimeter = 489.78601, major_axis_length = 207.36266, minor_axis_length = 89.81264, eccentricity = 0.90134, convex_area = 14724.00000, extent = 0.61962, type = C + area = 14511.00000, perimeter = 510.28500, major_axis_length = 216.34650, minor_axis_length = 87.13011, eccentricity = 0.91532, convex_area = 14957.00000, extent = 0.52999, type = C + area = 14828.00000, perimeter = 494.28799, major_axis_length = 202.10315, minor_axis_length = 95.03462, eccentricity = 0.88254, convex_area = 15197.00000, extent = 0.59179, type = C + area = 10852.00000, perimeter = 412.64001, major_axis_length = 168.35570, minor_axis_length = 83.54549, eccentricity = 0.86818, convex_area = 11028.00000, extent = 0.77848, type = O + area = 11475.00000, perimeter = 447.48099, major_axis_length = 185.65427, minor_axis_length = 80.18083, eccentricity = 0.90193, convex_area = 11818.00000, extent = 0.75893, type = O + area = 10821.00000, perimeter = 418.00201, major_axis_length = 176.55823, minor_axis_length = 79.08772, eccentricity = 0.89406, convex_area = 10986.00000, extent = 0.59041, type = O + area = 14362.00000, perimeter = 504.57700, major_axis_length = 211.29306, minor_axis_length = 88.26586, eccentricity = 0.90857, convex_area = 14724.00000, extent = 0.54186, type = C + area = 15269.00000, perimeter = 519.76599, major_axis_length = 222.41956, minor_axis_length = 88.28183, eccentricity = 0.91786, convex_area = 15620.00000, extent = 0.56575, type = C + area = 15389.00000, perimeter = 521.30402, major_axis_length = 226.96100, minor_axis_length = 87.38693, eccentricity = 0.92290, convex_area = 15753.00000, extent = 0.57465, type = C + area = 12930.00000, perimeter = 474.07800, major_axis_length = 205.35634, minor_axis_length = 80.71208, eccentricity = 0.91952, convex_area = 13181.00000, extent = 0.74063, type = C + area = 14256.00000, perimeter = 492.92700, major_axis_length = 209.80321, minor_axis_length = 87.69037, eccentricity = 0.90846, convex_area = 14730.00000, extent = 0.70227, type = C + area = 15167.00000, perimeter = 514.23102, major_axis_length = 220.54652, minor_axis_length = 88.99762, eccentricity = 0.91497, convex_area = 15456.00000, extent = 0.62803, type = C + area = 12164.00000, perimeter = 436.60901, major_axis_length = 180.37566, minor_axis_length = 86.53325, eccentricity = 0.87741, convex_area = 12351.00000, extent = 0.63719, type = O + area = 14954.00000, perimeter = 501.85699, major_axis_length = 212.03777, minor_axis_length = 90.79552, eccentricity = 0.90368, convex_area = 15225.00000, extent = 0.81462, type = C + area = 15336.00000, perimeter = 508.78500, major_axis_length = 219.26230, minor_axis_length = 89.74197, eccentricity = 0.91240, convex_area = 15599.00000, extent = 0.58001, type = C + area = 11415.00000, perimeter = 426.16501, major_axis_length = 173.88460, minor_axis_length = 85.32835, eccentricity = 0.87132, convex_area = 11634.00000, extent = 0.59639, type = O + area = 14019.00000, perimeter = 482.45401, major_axis_length = 197.19820, minor_axis_length = 92.67004, eccentricity = 0.88270, convex_area = 14411.00000, extent = 0.57615, type = C + area = 12070.00000, perimeter = 444.45499, major_axis_length = 183.93947, minor_axis_length = 85.08071, eccentricity = 0.88659, convex_area = 12400.00000, extent = 0.68192, type = O + area = 12364.00000, perimeter = 442.85501, major_axis_length = 175.35739, minor_axis_length = 91.60603, eccentricity = 0.85270, convex_area = 12679.00000, extent = 0.61789, type = O + area = 13654.00000, perimeter = 477.92999, major_axis_length = 199.37715, minor_axis_length = 87.67783, eccentricity = 0.89812, convex_area = 13914.00000, extent = 0.57575, type = C + area = 11671.00000, perimeter = 459.78000, major_axis_length = 199.40321, minor_axis_length = 75.45848, eccentricity = 0.92563, convex_area = 12110.00000, extent = 0.64321, type = C + area = 10880.00000, perimeter = 394.64499, major_axis_length = 153.79482, minor_axis_length = 90.98818, eccentricity = 0.80622, convex_area = 11057.00000, extent = 0.74777, type = O + area = 10445.00000, perimeter = 409.95999, major_axis_length = 168.47455, minor_axis_length = 80.43509, eccentricity = 0.87867, convex_area = 10653.00000, extent = 0.74026, type = O + area = 14851.00000, perimeter = 512.31897, major_axis_length = 218.00836, minor_axis_length = 88.49667, eccentricity = 0.91390, convex_area = 15556.00000, extent = 0.71775, type = C + area = 13207.00000, perimeter = 469.70001, major_axis_length = 196.48750, minor_axis_length = 87.33901, eccentricity = 0.89578, convex_area = 13546.00000, extent = 0.57454, type = C + area = 13043.00000, perimeter = 442.49799, major_axis_length = 173.80363, minor_axis_length = 96.69751, eccentricity = 0.83094, convex_area = 13278.00000, extent = 0.64765, type = O + area = 14623.00000, perimeter = 499.31299, major_axis_length = 208.22838, minor_axis_length = 91.47314, eccentricity = 0.89834, convex_area = 15085.00000, extent = 0.58357, type = C + area = 12135.00000, perimeter = 432.81299, major_axis_length = 180.87585, minor_axis_length = 86.05373, eccentricity = 0.87957, convex_area = 12304.00000, extent = 0.64305, type = O + area = 13088.00000, perimeter = 450.21100, major_axis_length = 184.75020, minor_axis_length = 91.24625, eccentricity = 0.86952, convex_area = 13266.00000, extent = 0.79922, type = O + area = 16431.00000, perimeter = 509.38501, major_axis_length = 208.05287, minor_axis_length = 101.96149, eccentricity = 0.87168, convex_area = 16875.00000, extent = 0.73222, type = C + area = 12352.00000, perimeter = 453.13501, major_axis_length = 191.11189, minor_axis_length = 83.35074, eccentricity = 0.89988, convex_area = 12683.00000, extent = 0.57847, type = C + area = 15189.00000, perimeter = 506.82199, major_axis_length = 209.18954, minor_axis_length = 93.61980, eccentricity = 0.89427, convex_area = 15629.00000, extent = 0.67408, type = C + area = 14061.00000, perimeter = 470.74899, major_axis_length = 190.29001, minor_axis_length = 95.00540, eccentricity = 0.86645, convex_area = 14347.00000, extent = 0.61801, type = C + area = 14242.00000, perimeter = 495.73901, major_axis_length = 210.68092, minor_axis_length = 87.42849, eccentricity = 0.90983, convex_area = 14549.00000, extent = 0.64095, type = C + area = 10613.00000, perimeter = 423.32901, major_axis_length = 172.11276, minor_axis_length = 79.71240, eccentricity = 0.88628, convex_area = 10881.00000, extent = 0.58697, type = O + area = 14246.00000, perimeter = 488.91599, major_axis_length = 210.75372, minor_axis_length = 86.88518, eccentricity = 0.91107, convex_area = 14453.00000, extent = 0.74806, type = C + area = 15330.00000, perimeter = 501.69699, major_axis_length = 209.67932, minor_axis_length = 93.87273, eccentricity = 0.89419, convex_area = 15617.00000, extent = 0.58262, type = C + area = 17425.00000, perimeter = 541.80298, major_axis_length = 232.05756, minor_axis_length = 96.44174, eccentricity = 0.90955, convex_area = 17758.00000, extent = 0.70396, type = C + area = 11672.00000, perimeter = 430.64200, major_axis_length = 177.94815, minor_axis_length = 84.67979, eccentricity = 0.87952, convex_area = 11849.00000, extent = 0.59746, type = O + area = 14850.00000, perimeter = 500.29800, major_axis_length = 213.07790, minor_axis_length = 89.35130, eccentricity = 0.90783, convex_area = 15124.00000, extent = 0.58021, type = C + area = 16226.00000, perimeter = 517.68402, major_axis_length = 217.08057, minor_axis_length = 95.93838, eccentricity = 0.89704, convex_area = 16466.00000, extent = 0.58314, type = C + area = 11819.00000, perimeter = 434.03400, major_axis_length = 176.37212, minor_axis_length = 86.81895, eccentricity = 0.87045, convex_area = 12193.00000, extent = 0.77188, type = O + area = 12650.00000, perimeter = 438.14499, major_axis_length = 175.83983, minor_axis_length = 92.56994, eccentricity = 0.85021, convex_area = 12871.00000, extent = 0.79435, type = O + area = 11945.00000, perimeter = 414.14600, major_axis_length = 162.35278, minor_axis_length = 94.94728, eccentricity = 0.81116, convex_area = 12106.00000, extent = 0.79777, type = O + area = 11690.00000, perimeter = 432.51901, major_axis_length = 183.02663, minor_axis_length = 82.30772, eccentricity = 0.89318, convex_area = 11846.00000, extent = 0.57891, type = O + area = 11546.00000, perimeter = 429.68100, major_axis_length = 179.21596, minor_axis_length = 82.65701, eccentricity = 0.88729, convex_area = 11698.00000, extent = 0.59957, type = O + area = 14534.00000, perimeter = 483.64099, major_axis_length = 196.65082, minor_axis_length = 95.05068, eccentricity = 0.87543, convex_area = 14932.00000, extent = 0.64965, type = C + area = 11614.00000, perimeter = 437.65601, major_axis_length = 184.90213, minor_axis_length = 81.87991, eccentricity = 0.89661, convex_area = 11812.00000, extent = 0.81812, type = O + area = 15517.00000, perimeter = 481.37799, major_axis_length = 194.63751, minor_axis_length = 102.05839, eccentricity = 0.85150, convex_area = 15718.00000, extent = 0.65012, type = C + area = 8505.00000, perimeter = 359.10001, major_axis_length = 147.79889, minor_axis_length = 73.80869, eccentricity = 0.86638, convex_area = 8651.00000, extent = 0.67726, type = O + area = 12347.00000, perimeter = 475.39001, major_axis_length = 207.09692, minor_axis_length = 77.08044, eccentricity = 0.92815, convex_area = 12857.00000, extent = 0.52095, type = C + area = 13494.00000, perimeter = 479.44601, major_axis_length = 203.02734, minor_axis_length = 85.75127, eccentricity = 0.90643, convex_area = 13842.00000, extent = 0.77294, type = C + area = 9933.00000, perimeter = 397.72000, major_axis_length = 160.85063, minor_axis_length = 79.78277, eccentricity = 0.86832, convex_area = 10161.00000, extent = 0.70637, type = O + area = 14683.00000, perimeter = 493.57199, major_axis_length = 209.05197, minor_axis_length = 90.58433, eccentricity = 0.90124, convex_area = 14947.00000, extent = 0.70220, type = C + area = 13253.00000, perimeter = 473.44199, major_axis_length = 198.61066, minor_axis_length = 85.91887, eccentricity = 0.90159, convex_area = 13535.00000, extent = 0.68997, type = C + area = 13267.00000, perimeter = 465.03201, major_axis_length = 193.76559, minor_axis_length = 88.83870, eccentricity = 0.88870, convex_area = 13543.00000, extent = 0.66441, type = O + area = 10782.00000, perimeter = 412.88000, major_axis_length = 165.54587, minor_axis_length = 84.34690, eccentricity = 0.86047, convex_area = 11112.00000, extent = 0.69472, type = O + area = 9468.00000, perimeter = 386.49799, major_axis_length = 162.47389, minor_axis_length = 74.97504, eccentricity = 0.88716, convex_area = 9608.00000, extent = 0.75376, type = O + area = 10173.00000, perimeter = 406.96600, major_axis_length = 174.50359, minor_axis_length = 74.86865, eccentricity = 0.90329, convex_area = 10342.00000, extent = 0.76271, type = O + area = 13803.00000, perimeter = 492.02100, major_axis_length = 207.04994, minor_axis_length = 87.18410, eccentricity = 0.90702, convex_area = 14174.00000, extent = 0.56915, type = C + area = 14958.00000, perimeter = 505.25699, major_axis_length = 216.37630, minor_axis_length = 88.34891, eccentricity = 0.91284, convex_area = 15235.00000, extent = 0.70861, type = C + area = 10819.00000, perimeter = 413.25699, major_axis_length = 165.16139, minor_axis_length = 84.57162, eccentricity = 0.85895, convex_area = 11091.00000, extent = 0.60952, type = O + area = 10510.00000, perimeter = 416.71100, major_axis_length = 174.78029, minor_axis_length = 77.30443, eccentricity = 0.89687, convex_area = 10691.00000, extent = 0.58833, type = O + area = 13645.00000, perimeter = 454.61499, major_axis_length = 182.60464, minor_axis_length = 95.70824, eccentricity = 0.85164, convex_area = 13819.00000, extent = 0.62753, type = O + area = 13089.00000, perimeter = 458.07700, major_axis_length = 182.10921, minor_axis_length = 92.58980, eccentricity = 0.86110, convex_area = 13562.00000, extent = 0.71291, type = O + area = 15028.00000, perimeter = 498.82901, major_axis_length = 205.53845, minor_axis_length = 94.58417, eccentricity = 0.88783, convex_area = 15382.00000, extent = 0.57778, type = C + area = 11733.00000, perimeter = 436.26001, major_axis_length = 182.88922, minor_axis_length = 82.62609, eccentricity = 0.89213, convex_area = 11955.00000, extent = 0.68662, type = C + area = 14674.00000, perimeter = 497.10300, major_axis_length = 208.43646, minor_axis_length = 91.08699, eccentricity = 0.89946, convex_area = 15049.00000, extent = 0.68229, type = C + area = 13410.00000, perimeter = 477.08499, major_axis_length = 195.79893, minor_axis_length = 88.77675, eccentricity = 0.89130, convex_area = 13842.00000, extent = 0.57234, type = C + area = 11385.00000, perimeter = 419.01001, major_axis_length = 163.70387, minor_axis_length = 89.73259, eccentricity = 0.83639, convex_area = 11767.00000, extent = 0.64018, type = O + area = 16654.00000, perimeter = 519.03601, major_axis_length = 217.24971, minor_axis_length = 98.99957, eccentricity = 0.89014, convex_area = 16976.00000, extent = 0.76338, type = C + area = 15437.00000, perimeter = 512.94800, major_axis_length = 211.40877, minor_axis_length = 94.91480, eccentricity = 0.89355, convex_area = 15984.00000, extent = 0.73161, type = C + area = 15056.00000, perimeter = 499.17099, major_axis_length = 202.89360, minor_axis_length = 96.13976, eccentricity = 0.88061, convex_area = 15517.00000, extent = 0.70355, type = C + area = 14407.00000, perimeter = 494.98999, major_axis_length = 208.74904, minor_axis_length = 88.66286, eccentricity = 0.90532, convex_area = 14716.00000, extent = 0.57376, type = C + area = 9621.00000, perimeter = 408.71701, major_axis_length = 175.73357, minor_axis_length = 70.45018, eccentricity = 0.91613, convex_area = 9779.00000, extent = 0.51643, type = O + area = 11619.00000, perimeter = 447.31699, major_axis_length = 193.12086, minor_axis_length = 77.05213, eccentricity = 0.91696, convex_area = 11811.00000, extent = 0.66455, type = O + area = 11848.00000, perimeter = 432.36899, major_axis_length = 178.35080, minor_axis_length = 86.11731, eccentricity = 0.87570, convex_area = 12045.00000, extent = 0.60029, type = O + area = 12859.00000, perimeter = 445.01001, major_axis_length = 184.30518, minor_axis_length = 89.47381, eccentricity = 0.87426, convex_area = 13030.00000, extent = 0.71044, type = C + area = 12863.00000, perimeter = 448.50800, major_axis_length = 182.86191, minor_axis_length = 90.77281, eccentricity = 0.86809, convex_area = 13133.00000, extent = 0.73621, type = O + area = 12124.00000, perimeter = 431.75201, major_axis_length = 173.80327, minor_axis_length = 89.89888, eccentricity = 0.85584, convex_area = 12389.00000, extent = 0.77012, type = O + area = 9516.00000, perimeter = 386.82101, major_axis_length = 155.52449, minor_axis_length = 79.22836, eccentricity = 0.86051, convex_area = 9753.00000, extent = 0.69888, type = O + area = 14880.00000, perimeter = 502.88101, major_axis_length = 217.99866, minor_axis_length = 87.55461, eccentricity = 0.91580, convex_area = 15129.00000, extent = 0.57670, type = C + area = 13183.00000, perimeter = 464.57199, major_axis_length = 190.69127, minor_axis_length = 88.76956, eccentricity = 0.88504, convex_area = 13473.00000, extent = 0.59391, type = C + area = 11440.00000, perimeter = 425.75201, major_axis_length = 170.70784, minor_axis_length = 87.12856, eccentricity = 0.85994, convex_area = 11816.00000, extent = 0.61216, type = O + area = 10398.00000, perimeter = 405.67899, major_axis_length = 162.22716, minor_axis_length = 82.39346, eccentricity = 0.86142, convex_area = 10658.00000, extent = 0.64472, type = O + area = 12042.00000, perimeter = 441.81000, major_axis_length = 182.17674, minor_axis_length = 85.04359, eccentricity = 0.88435, convex_area = 12302.00000, extent = 0.64080, type = O + area = 14250.00000, perimeter = 486.12399, major_axis_length = 201.21893, minor_axis_length = 91.93982, eccentricity = 0.88951, convex_area = 14636.00000, extent = 0.59368, type = C + area = 13834.00000, perimeter = 480.27399, major_axis_length = 202.77028, minor_axis_length = 87.72440, eccentricity = 0.90157, convex_area = 14151.00000, extent = 0.72811, type = C + area = 11553.00000, perimeter = 428.69699, major_axis_length = 170.70674, minor_axis_length = 87.52907, eccentricity = 0.85854, convex_area = 11845.00000, extent = 0.60106, type = O + area = 11813.00000, perimeter = 430.25500, major_axis_length = 172.56953, minor_axis_length = 88.02676, eccentricity = 0.86012, convex_area = 12088.00000, extent = 0.71750, type = O + area = 11363.00000, perimeter = 423.26599, major_axis_length = 175.87416, minor_axis_length = 83.84263, eccentricity = 0.87906, convex_area = 11548.00000, extent = 0.79135, type = O + area = 13731.00000, perimeter = 489.05801, major_axis_length = 212.43546, minor_axis_length = 82.91467, eccentricity = 0.92069, convex_area = 14014.00000, extent = 0.59173, type = C + area = 13053.00000, perimeter = 480.95099, major_axis_length = 205.95242, minor_axis_length = 81.65559, eccentricity = 0.91804, convex_area = 13478.00000, extent = 0.68358, type = C + area = 11084.00000, perimeter = 435.14499, major_axis_length = 180.91389, minor_axis_length = 79.56830, eccentricity = 0.89809, convex_area = 11451.00000, extent = 0.60794, type = O + area = 12347.00000, perimeter = 438.80600, major_axis_length = 181.89268, minor_axis_length = 86.87766, eccentricity = 0.87856, convex_area = 12529.00000, extent = 0.80657, type = C + area = 10187.00000, perimeter = 404.96799, major_axis_length = 160.22644, minor_axis_length = 82.32900, eccentricity = 0.85789, convex_area = 10489.00000, extent = 0.61627, type = O + area = 13090.00000, perimeter = 472.94501, major_axis_length = 202.60158, minor_axis_length = 83.23018, eccentricity = 0.91172, convex_area = 13331.00000, extent = 0.77529, type = C + area = 14640.00000, perimeter = 501.32401, major_axis_length = 210.29160, minor_axis_length = 90.33173, eccentricity = 0.90304, convex_area = 15119.00000, extent = 0.58654, type = C + area = 13973.00000, perimeter = 474.00800, major_axis_length = 192.34929, minor_axis_length = 93.77914, eccentricity = 0.87310, convex_area = 14354.00000, extent = 0.61420, type = C + area = 11543.00000, perimeter = 428.60199, major_axis_length = 175.37068, minor_axis_length = 85.05824, eccentricity = 0.87450, convex_area = 11859.00000, extent = 0.67107, type = O + area = 12256.00000, perimeter = 453.46500, major_axis_length = 189.97113, minor_axis_length = 83.10529, eccentricity = 0.89924, convex_area = 12565.00000, extent = 0.58362, type = C + area = 14407.00000, perimeter = 482.79599, major_axis_length = 202.83234, minor_axis_length = 91.19193, eccentricity = 0.89323, convex_area = 14671.00000, extent = 0.74263, type = C + area = 12725.00000, perimeter = 441.67999, major_axis_length = 170.23276, minor_axis_length = 97.73903, eccentricity = 0.81875, convex_area = 13081.00000, extent = 0.64122, type = O + area = 11242.00000, perimeter = 418.64600, major_axis_length = 172.52991, minor_axis_length = 83.84863, eccentricity = 0.87396, convex_area = 11409.00000, extent = 0.64889, type = O + area = 11867.00000, perimeter = 431.94299, major_axis_length = 178.59091, minor_axis_length = 85.77666, eccentricity = 0.87711, convex_area = 12126.00000, extent = 0.64035, type = O + area = 13132.00000, perimeter = 480.01901, major_axis_length = 199.25293, minor_axis_length = 85.41972, eccentricity = 0.90345, convex_area = 13594.00000, extent = 0.58091, type = C + area = 12219.00000, perimeter = 438.28101, major_axis_length = 182.18773, minor_axis_length = 86.19642, eccentricity = 0.88100, convex_area = 12471.00000, extent = 0.60177, type = C + area = 12723.00000, perimeter = 460.88000, major_axis_length = 185.75475, minor_axis_length = 89.16935, eccentricity = 0.87725, convex_area = 13302.00000, extent = 0.67500, type = O + area = 11518.00000, perimeter = 428.70999, major_axis_length = 175.93608, minor_axis_length = 84.25156, eccentricity = 0.87788, convex_area = 11754.00000, extent = 0.66040, type = O + area = 11395.00000, perimeter = 421.96301, major_axis_length = 169.74678, minor_axis_length = 86.97183, eccentricity = 0.85877, convex_area = 11586.00000, extent = 0.62370, type = O + area = 11144.00000, perimeter = 427.12100, major_axis_length = 182.21642, minor_axis_length = 78.31834, eccentricity = 0.90292, convex_area = 11332.00000, extent = 0.68435, type = O + area = 12800.00000, perimeter = 448.29199, major_axis_length = 185.55368, minor_axis_length = 88.76694, eccentricity = 0.87815, convex_area = 13000.00000, extent = 0.78144, type = O + area = 10805.00000, perimeter = 410.44501, major_axis_length = 164.70444, minor_axis_length = 84.79468, eccentricity = 0.85729, convex_area = 11050.00000, extent = 0.58497, type = O + area = 11617.00000, perimeter = 418.45401, major_axis_length = 167.91475, minor_axis_length = 88.90757, eccentricity = 0.84832, convex_area = 11822.00000, extent = 0.76067, type = O + area = 11795.00000, perimeter = 446.18399, major_axis_length = 189.04288, minor_axis_length = 80.70846, eccentricity = 0.90428, convex_area = 12081.00000, extent = 0.63281, type = O + area = 13443.00000, perimeter = 469.45401, major_axis_length = 196.63802, minor_axis_length = 87.97915, eccentricity = 0.89433, convex_area = 13686.00000, extent = 0.57226, type = O + area = 13913.00000, perimeter = 474.45200, major_axis_length = 199.11743, minor_axis_length = 89.71703, eccentricity = 0.89274, convex_area = 14164.00000, extent = 0.67310, type = C + area = 11184.00000, perimeter = 419.47501, major_axis_length = 172.62151, minor_axis_length = 83.55089, eccentricity = 0.87506, convex_area = 11347.00000, extent = 0.60865, type = O + area = 10628.00000, perimeter = 418.30399, major_axis_length = 171.82481, minor_axis_length = 80.32760, eccentricity = 0.88399, convex_area = 10828.00000, extent = 0.71506, type = O + area = 14953.00000, perimeter = 503.75201, major_axis_length = 217.10368, minor_axis_length = 88.61492, eccentricity = 0.91291, convex_area = 15229.00000, extent = 0.72314, type = C + area = 12295.00000, perimeter = 439.82401, major_axis_length = 176.58267, minor_axis_length = 89.81164, eccentricity = 0.86100, convex_area = 12566.00000, extent = 0.67348, type = O + area = 12959.00000, perimeter = 473.60999, major_axis_length = 206.22551, minor_axis_length = 80.63358, eccentricity = 0.92039, convex_area = 13309.00000, extent = 0.59516, type = O + area = 11929.00000, perimeter = 436.86301, major_axis_length = 177.18954, minor_axis_length = 86.98807, eccentricity = 0.87120, convex_area = 12230.00000, extent = 0.69355, type = O + area = 13921.00000, perimeter = 481.99301, major_axis_length = 203.44487, minor_axis_length = 88.12582, eccentricity = 0.90131, convex_area = 14210.00000, extent = 0.56133, type = C + area = 11506.00000, perimeter = 433.70499, major_axis_length = 183.94098, minor_axis_length = 80.15775, eccentricity = 0.90005, convex_area = 11676.00000, extent = 0.71823, type = O + area = 12397.00000, perimeter = 446.31900, major_axis_length = 184.80026, minor_axis_length = 86.41624, eccentricity = 0.88393, convex_area = 12594.00000, extent = 0.59785, type = O + area = 17442.00000, perimeter = 539.77600, major_axis_length = 228.59348, minor_axis_length = 98.19205, eccentricity = 0.90304, convex_area = 17698.00000, extent = 0.57625, type = C + area = 14149.00000, perimeter = 474.95200, major_axis_length = 195.35510, minor_axis_length = 93.33527, eccentricity = 0.87848, convex_area = 14454.00000, extent = 0.60569, type = C + area = 12671.00000, perimeter = 448.12000, major_axis_length = 181.49382, minor_axis_length = 90.35111, eccentricity = 0.86728, convex_area = 12949.00000, extent = 0.74065, type = O + area = 12437.00000, perimeter = 442.49899, major_axis_length = 183.57292, minor_axis_length = 86.80198, eccentricity = 0.88114, convex_area = 12645.00000, extent = 0.62674, type = O + area = 9920.00000, perimeter = 398.52600, major_axis_length = 162.07564, minor_axis_length = 79.13806, eccentricity = 0.87269, convex_area = 10171.00000, extent = 0.60934, type = O + area = 8652.00000, perimeter = 374.40201, major_axis_length = 151.82214, minor_axis_length = 74.14385, eccentricity = 0.87264, convex_area = 8866.00000, extent = 0.60912, type = O + area = 14166.00000, perimeter = 491.61301, major_axis_length = 209.03635, minor_axis_length = 87.52461, eccentricity = 0.90812, convex_area = 14386.00000, extent = 0.60230, type = C + area = 12916.00000, perimeter = 471.19601, major_axis_length = 201.00291, minor_axis_length = 82.65474, eccentricity = 0.91154, convex_area = 13199.00000, extent = 0.55704, type = C + area = 15360.00000, perimeter = 504.23199, major_axis_length = 210.39075, minor_axis_length = 94.74096, eccentricity = 0.89287, convex_area = 15751.00000, extent = 0.75766, type = C + area = 10989.00000, perimeter = 431.12399, major_axis_length = 180.48004, minor_axis_length = 78.81408, eccentricity = 0.89961, convex_area = 11268.00000, extent = 0.68596, type = O + area = 12466.00000, perimeter = 439.18301, major_axis_length = 177.41931, minor_axis_length = 90.01721, eccentricity = 0.86173, convex_area = 12707.00000, extent = 0.60988, type = O + area = 14989.00000, perimeter = 484.31000, major_axis_length = 195.34204, minor_axis_length = 98.70048, eccentricity = 0.86296, convex_area = 15393.00000, extent = 0.76106, type = C + area = 11469.00000, perimeter = 429.85800, major_axis_length = 175.50995, minor_axis_length = 85.11320, eccentricity = 0.87454, convex_area = 11709.00000, extent = 0.78922, type = O + area = 12288.00000, perimeter = 437.82199, major_axis_length = 179.18796, minor_axis_length = 88.10448, eccentricity = 0.87077, convex_area = 12498.00000, extent = 0.80272, type = O + area = 13862.00000, perimeter = 482.21399, major_axis_length = 199.17963, minor_axis_length = 89.91952, eccentricity = 0.89230, convex_area = 14218.00000, extent = 0.57590, type = C + area = 11322.00000, perimeter = 415.60101, major_axis_length = 164.59805, minor_axis_length = 88.87003, eccentricity = 0.84172, convex_area = 11619.00000, extent = 0.75405, type = O + area = 13446.00000, perimeter = 475.12799, major_axis_length = 198.69955, minor_axis_length = 87.37930, eccentricity = 0.89812, convex_area = 13765.00000, extent = 0.57572, type = C + area = 12450.00000, perimeter = 443.37201, major_axis_length = 181.68210, minor_axis_length = 88.50525, eccentricity = 0.87332, convex_area = 12730.00000, extent = 0.71453, type = O + area = 13840.00000, perimeter = 476.90100, major_axis_length = 201.62569, minor_axis_length = 88.24250, eccentricity = 0.89914, convex_area = 14205.00000, extent = 0.63058, type = C + area = 13650.00000, perimeter = 491.02399, major_axis_length = 210.67497, minor_axis_length = 83.69099, eccentricity = 0.91771, convex_area = 14011.00000, extent = 0.53859, type = C + area = 13064.00000, perimeter = 469.83600, major_axis_length = 199.55998, minor_axis_length = 84.36462, eccentricity = 0.90624, convex_area = 13382.00000, extent = 0.65642, type = C + area = 11694.00000, perimeter = 431.38901, major_axis_length = 177.07016, minor_axis_length = 85.11002, eccentricity = 0.87691, convex_area = 11875.00000, extent = 0.68788, type = O + area = 12993.00000, perimeter = 466.23901, major_axis_length = 199.03352, minor_axis_length = 83.48304, eccentricity = 0.90778, convex_area = 13230.00000, extent = 0.78664, type = C + area = 12759.00000, perimeter = 463.64099, major_axis_length = 200.95746, minor_axis_length = 81.20908, eccentricity = 0.91471, convex_area = 12993.00000, extent = 0.77894, type = C + area = 12982.00000, perimeter = 466.15701, major_axis_length = 200.51947, minor_axis_length = 82.79620, eccentricity = 0.91077, convex_area = 13188.00000, extent = 0.62228, type = C + area = 10666.00000, perimeter = 416.42401, major_axis_length = 173.89351, minor_axis_length = 78.45744, eccentricity = 0.89243, convex_area = 10825.00000, extent = 0.59474, type = O + area = 11102.00000, perimeter = 423.59399, major_axis_length = 173.86256, minor_axis_length = 82.35934, eccentricity = 0.88068, convex_area = 11332.00000, extent = 0.59154, type = O + area = 11026.00000, perimeter = 425.01001, major_axis_length = 179.95877, minor_axis_length = 79.05263, eccentricity = 0.89835, convex_area = 11185.00000, extent = 0.55862, type = O + area = 11075.00000, perimeter = 412.23801, major_axis_length = 165.43394, minor_axis_length = 86.41811, eccentricity = 0.85272, convex_area = 11354.00000, extent = 0.63213, type = O + area = 11327.00000, perimeter = 423.16800, major_axis_length = 169.29546, minor_axis_length = 86.56846, eccentricity = 0.85938, convex_area = 11657.00000, extent = 0.72000, type = O + area = 11604.00000, perimeter = 433.11700, major_axis_length = 175.14182, minor_axis_length = 86.71931, eccentricity = 0.86881, convex_area = 12006.00000, extent = 0.68259, type = O + area = 14831.00000, perimeter = 493.76099, major_axis_length = 208.26854, minor_axis_length = 91.54232, eccentricity = 0.89822, convex_area = 15099.00000, extent = 0.79023, type = C + area = 15830.00000, perimeter = 520.78198, major_axis_length = 215.13918, minor_axis_length = 95.17147, eccentricity = 0.89683, convex_area = 16326.00000, extent = 0.61051, type = C + area = 15199.00000, perimeter = 489.54401, major_axis_length = 205.31573, minor_axis_length = 94.80870, eccentricity = 0.88700, convex_area = 15419.00000, extent = 0.76400, type = C + area = 13387.00000, perimeter = 464.64301, major_axis_length = 192.39961, minor_axis_length = 90.31412, eccentricity = 0.88298, convex_area = 13746.00000, extent = 0.75352, type = C + area = 14212.00000, perimeter = 485.98599, major_axis_length = 203.41849, minor_axis_length = 90.01189, eccentricity = 0.89677, convex_area = 14508.00000, extent = 0.57320, type = C + area = 13014.00000, perimeter = 459.55701, major_axis_length = 193.65952, minor_axis_length = 86.19819, eccentricity = 0.89548, convex_area = 13253.00000, extent = 0.67507, type = C + area = 13344.00000, perimeter = 469.52802, major_axis_length = 196.68790, minor_axis_length = 87.38164, eccentricity = 0.89590, convex_area = 13609.00000, extent = 0.59914, type = O + area = 10727.00000, perimeter = 420.36499, major_axis_length = 174.38452, minor_axis_length = 79.60275, eccentricity = 0.88973, convex_area = 11009.00000, extent = 0.67061, type = O + area = 13502.00000, perimeter = 473.01199, major_axis_length = 198.14738, minor_axis_length = 88.03559, eccentricity = 0.89588, convex_area = 13778.00000, extent = 0.75388, type = C + area = 13117.00000, perimeter = 460.57401, major_axis_length = 192.40407, minor_axis_length = 87.62899, eccentricity = 0.89027, convex_area = 13575.00000, extent = 0.78451, type = C + area = 14536.00000, perimeter = 501.92099, major_axis_length = 216.37054, minor_axis_length = 86.67999, eccentricity = 0.91625, convex_area = 14988.00000, extent = 0.54405, type = C + area = 14479.00000, perimeter = 475.92499, major_axis_length = 200.55194, minor_axis_length = 92.17806, eccentricity = 0.88811, convex_area = 14696.00000, extent = 0.71143, type = C + area = 15929.00000, perimeter = 513.94000, major_axis_length = 212.65752, minor_axis_length = 96.99799, eccentricity = 0.88992, convex_area = 16293.00000, extent = 0.72586, type = C + area = 13316.00000, perimeter = 445.04999, major_axis_length = 179.45512, minor_axis_length = 95.03307, eccentricity = 0.84827, convex_area = 13517.00000, extent = 0.81414, type = O + area = 11827.00000, perimeter = 455.22101, major_axis_length = 194.78445, minor_axis_length = 78.43153, eccentricity = 0.91535, convex_area = 12212.00000, extent = 0.76999, type = C + area = 13884.00000, perimeter = 478.70200, major_axis_length = 201.31630, minor_axis_length = 89.18121, eccentricity = 0.89653, convex_area = 14217.00000, extent = 0.79793, type = C + area = 14115.00000, perimeter = 483.78000, major_axis_length = 206.84187, minor_axis_length = 88.06865, eccentricity = 0.90483, convex_area = 14312.00000, extent = 0.74766, type = C + area = 11136.00000, perimeter = 427.10999, major_axis_length = 175.65308, minor_axis_length = 81.91878, eccentricity = 0.88459, convex_area = 11474.00000, extent = 0.57438, type = O + area = 16122.00000, perimeter = 539.00000, major_axis_length = 233.91351, minor_axis_length = 89.53108, eccentricity = 0.92385, convex_area = 16440.00000, extent = 0.51116, type = C + area = 15172.00000, perimeter = 504.15799, major_axis_length = 213.22467, minor_axis_length = 91.66706, eccentricity = 0.90287, convex_area = 15477.00000, extent = 0.62244, type = C + area = 9741.00000, perimeter = 430.56000, major_axis_length = 180.06628, minor_axis_length = 71.17449, eccentricity = 0.91857, convex_area = 10204.00000, extent = 0.76460, type = O + area = 15480.00000, perimeter = 494.27600, major_axis_length = 201.78700, minor_axis_length = 98.61820, eccentricity = 0.87244, convex_area = 15760.00000, extent = 0.66239, type = C + area = 12539.00000, perimeter = 437.42599, major_axis_length = 174.90057, minor_axis_length = 92.72463, eccentricity = 0.84790, convex_area = 12835.00000, extent = 0.78738, type = O + area = 13062.00000, perimeter = 469.42401, major_axis_length = 200.62883, minor_axis_length = 83.27462, eccentricity = 0.90979, convex_area = 13279.00000, extent = 0.66321, type = C + area = 13436.00000, perimeter = 467.95901, major_axis_length = 195.02281, minor_axis_length = 89.14904, eccentricity = 0.88940, convex_area = 13798.00000, extent = 0.79607, type = C + area = 16053.00000, perimeter = 523.84003, major_axis_length = 220.91377, minor_axis_length = 93.89168, eccentricity = 0.90519, convex_area = 16496.00000, extent = 0.74797, type = C + area = 9842.00000, perimeter = 395.57300, major_axis_length = 159.49901, minor_axis_length = 80.37096, eccentricity = 0.86376, convex_area = 10102.00000, extent = 0.61667, type = O + area = 15815.00000, perimeter = 506.29001, major_axis_length = 210.50458, minor_axis_length = 96.50236, eccentricity = 0.88873, convex_area = 16112.00000, extent = 0.79584, type = C + area = 13062.00000, perimeter = 467.46399, major_axis_length = 197.80243, minor_axis_length = 85.39855, eccentricity = 0.90200, convex_area = 13272.00000, extent = 0.62408, type = C + area = 12471.00000, perimeter = 445.37399, major_axis_length = 184.99207, minor_axis_length = 86.85976, eccentricity = 0.88292, convex_area = 12688.00000, extent = 0.67178, type = C + area = 13665.00000, perimeter = 472.51599, major_axis_length = 199.54422, minor_axis_length = 87.68464, eccentricity = 0.89828, convex_area = 13944.00000, extent = 0.71142, type = C + area = 15209.00000, perimeter = 496.56500, major_axis_length = 214.05008, minor_axis_length = 91.02632, eccentricity = 0.90507, convex_area = 15395.00000, extent = 0.56937, type = C + area = 11465.00000, perimeter = 419.59500, major_axis_length = 167.98752, minor_axis_length = 88.07780, eccentricity = 0.85153, convex_area = 11685.00000, extent = 0.75378, type = O + area = 12378.00000, perimeter = 454.06201, major_axis_length = 195.47214, minor_axis_length = 81.28996, eccentricity = 0.90943, convex_area = 12570.00000, extent = 0.55656, type = O + area = 17564.00000, perimeter = 527.11603, major_axis_length = 221.60294, minor_axis_length = 101.65880, eccentricity = 0.88857, convex_area = 17808.00000, extent = 0.77116, type = C + area = 11850.00000, perimeter = 440.86499, major_axis_length = 178.62244, minor_axis_length = 86.16687, eccentricity = 0.87595, convex_area = 12201.00000, extent = 0.78373, type = O + area = 14881.00000, perimeter = 495.61801, major_axis_length = 206.66783, minor_axis_length = 93.32417, eccentricity = 0.89224, convex_area = 15225.00000, extent = 0.58398, type = C + area = 15857.00000, perimeter = 515.32202, major_axis_length = 219.96548, minor_axis_length = 93.15427, eccentricity = 0.90590, convex_area = 16109.00000, extent = 0.69916, type = C + area = 10574.00000, perimeter = 411.11899, major_axis_length = 170.14017, minor_axis_length = 79.77427, eccentricity = 0.88327, convex_area = 10782.00000, extent = 0.68707, type = O + area = 14145.00000, perimeter = 486.60800, major_axis_length = 209.35321, minor_axis_length = 86.78947, eccentricity = 0.91002, convex_area = 14370.00000, extent = 0.76667, type = C + area = 14750.00000, perimeter = 484.15201, major_axis_length = 201.24701, minor_axis_length = 94.85915, eccentricity = 0.88194, convex_area = 14967.00000, extent = 0.78067, type = C + area = 13580.00000, perimeter = 464.35699, major_axis_length = 190.38063, minor_axis_length = 91.37227, eccentricity = 0.87730, convex_area = 13781.00000, extent = 0.62731, type = C + area = 12326.00000, perimeter = 459.68201, major_axis_length = 194.34097, minor_axis_length = 82.07947, eccentricity = 0.90643, convex_area = 12686.00000, extent = 0.61933, type = C + area = 11410.00000, perimeter = 436.36899, major_axis_length = 180.80260, minor_axis_length = 81.64021, eccentricity = 0.89225, convex_area = 11710.00000, extent = 0.61783, type = O + area = 12404.00000, perimeter = 454.38400, major_axis_length = 186.07597, minor_axis_length = 85.98782, eccentricity = 0.88682, convex_area = 12659.00000, extent = 0.57299, type = O + area = 13115.00000, perimeter = 461.03601, major_axis_length = 195.01874, minor_axis_length = 86.78284, eccentricity = 0.89553, convex_area = 13381.00000, extent = 0.73846, type = C + area = 13782.00000, perimeter = 457.49200, major_axis_length = 180.91528, minor_axis_length = 97.97388, eccentricity = 0.84067, convex_area = 14147.00000, extent = 0.65526, type = O + area = 11180.00000, perimeter = 415.41000, major_axis_length = 169.46371, minor_axis_length = 85.45352, eccentricity = 0.86355, convex_area = 11359.00000, extent = 0.77882, type = O + area = 11521.00000, perimeter = 429.23401, major_axis_length = 176.80731, minor_axis_length = 84.10378, eccentricity = 0.87962, convex_area = 11732.00000, extent = 0.59295, type = O + area = 15249.00000, perimeter = 506.04999, major_axis_length = 212.09094, minor_axis_length = 92.49422, eccentricity = 0.89990, convex_area = 15582.00000, extent = 0.78304, type = C + area = 10627.00000, perimeter = 411.44101, major_axis_length = 172.26128, minor_axis_length = 79.84105, eccentricity = 0.88610, convex_area = 10800.00000, extent = 0.80240, type = O + area = 12058.00000, perimeter = 433.39001, major_axis_length = 175.53603, minor_axis_length = 88.45161, eccentricity = 0.86377, convex_area = 12283.00000, extent = 0.68605, type = O + area = 11421.00000, perimeter = 441.16101, major_axis_length = 189.52185, minor_axis_length = 77.25662, eccentricity = 0.91314, convex_area = 11610.00000, extent = 0.55179, type = C + area = 11635.00000, perimeter = 449.30899, major_axis_length = 197.57065, minor_axis_length = 75.25814, eccentricity = 0.92461, convex_area = 11842.00000, extent = 0.52189, type = O + area = 12339.00000, perimeter = 435.93701, major_axis_length = 173.02742, minor_axis_length = 92.28986, eccentricity = 0.84587, convex_area = 12646.00000, extent = 0.73749, type = O + area = 12988.00000, perimeter = 461.99100, major_axis_length = 188.77290, minor_axis_length = 88.50922, eccentricity = 0.88327, convex_area = 13259.00000, extent = 0.59515, type = C + area = 13139.00000, perimeter = 472.25101, major_axis_length = 202.59767, minor_axis_length = 83.79178, eccentricity = 0.91046, convex_area = 13379.00000, extent = 0.78367, type = C + area = 11962.00000, perimeter = 449.44199, major_axis_length = 192.08891, minor_axis_length = 80.96473, eccentricity = 0.90683, convex_area = 12171.00000, extent = 0.53890, type = C + area = 14439.00000, perimeter = 492.32300, major_axis_length = 205.41563, minor_axis_length = 91.42163, eccentricity = 0.89550, convex_area = 14867.00000, extent = 0.78082, type = C + area = 16618.00000, perimeter = 513.75299, major_axis_length = 213.21713, minor_axis_length = 99.89234, eccentricity = 0.88346, convex_area = 16892.00000, extent = 0.63641, type = C + area = 12315.00000, perimeter = 444.62299, major_axis_length = 183.17519, minor_axis_length = 86.46496, eccentricity = 0.88158, convex_area = 12523.00000, extent = 0.61117, type = O + area = 13138.00000, perimeter = 470.41501, major_axis_length = 203.86282, minor_axis_length = 82.98421, eccentricity = 0.91340, convex_area = 13361.00000, extent = 0.81099, type = C + area = 13385.00000, perimeter = 460.82501, major_axis_length = 192.64615, minor_axis_length = 89.71349, eccentricity = 0.88495, convex_area = 13595.00000, extent = 0.61275, type = C + area = 14274.00000, perimeter = 499.08801, major_axis_length = 214.40253, minor_axis_length = 85.24677, eccentricity = 0.91756, convex_area = 14559.00000, extent = 0.65673, type = C + area = 12613.00000, perimeter = 450.20599, major_axis_length = 184.87573, minor_axis_length = 88.06604, eccentricity = 0.87925, convex_area = 12832.00000, extent = 0.60730, type = O + area = 12154.00000, perimeter = 448.06201, major_axis_length = 186.78206, minor_axis_length = 83.89810, eccentricity = 0.89344, convex_area = 12445.00000, extent = 0.62928, type = O + area = 14419.00000, perimeter = 491.67099, major_axis_length = 203.91235, minor_axis_length = 91.03685, eccentricity = 0.89481, convex_area = 14906.00000, extent = 0.62781, type = C + area = 12323.00000, perimeter = 438.65302, major_axis_length = 174.60475, minor_axis_length = 91.00725, eccentricity = 0.85342, convex_area = 12504.00000, extent = 0.61566, type = O + area = 11618.00000, perimeter = 434.17700, major_axis_length = 179.41545, minor_axis_length = 83.34638, eccentricity = 0.88555, convex_area = 11820.00000, extent = 0.61676, type = O + area = 12261.00000, perimeter = 443.28101, major_axis_length = 183.63693, minor_axis_length = 86.09530, eccentricity = 0.88329, convex_area = 12507.00000, extent = 0.71702, type = O + area = 11621.00000, perimeter = 444.66199, major_axis_length = 188.64220, minor_axis_length = 79.06629, eccentricity = 0.90792, convex_area = 11849.00000, extent = 0.61985, type = O + area = 10962.00000, perimeter = 415.00000, major_axis_length = 170.09814, minor_axis_length = 82.88567, eccentricity = 0.87325, convex_area = 11152.00000, extent = 0.62037, type = O + area = 14317.00000, perimeter = 499.11099, major_axis_length = 206.77942, minor_axis_length = 89.82534, eccentricity = 0.90072, convex_area = 14815.00000, extent = 0.80424, type = C + area = 13066.00000, perimeter = 458.26199, major_axis_length = 186.34586, minor_axis_length = 90.90146, eccentricity = 0.87295, convex_area = 13315.00000, extent = 0.61481, type = O + area = 17082.00000, perimeter = 548.44598, major_axis_length = 230.18872, minor_axis_length = 95.75758, eccentricity = 0.90937, convex_area = 17576.00000, extent = 0.59247, type = C + area = 10727.00000, perimeter = 425.90201, major_axis_length = 178.71443, minor_axis_length = 77.53144, eccentricity = 0.90100, convex_area = 10960.00000, extent = 0.56434, type = C + area = 15418.00000, perimeter = 504.75900, major_axis_length = 209.92400, minor_axis_length = 94.43705, eccentricity = 0.89310, convex_area = 15779.00000, extent = 0.58269, type = C + area = 14115.00000, perimeter = 490.40799, major_axis_length = 207.95955, minor_axis_length = 87.42121, eccentricity = 0.90735, convex_area = 14580.00000, extent = 0.57058, type = C + area = 14633.00000, perimeter = 495.09399, major_axis_length = 208.78053, minor_axis_length = 90.25591, eccentricity = 0.90173, convex_area = 14978.00000, extent = 0.64360, type = C + area = 15236.00000, perimeter = 497.27701, major_axis_length = 209.16156, minor_axis_length = 94.06530, eccentricity = 0.89317, convex_area = 15563.00000, extent = 0.76371, type = C + area = 11083.00000, perimeter = 421.78699, major_axis_length = 171.48567, minor_axis_length = 83.67474, eccentricity = 0.87288, convex_area = 11415.00000, extent = 0.69766, type = O + area = 14551.00000, perimeter = 502.11200, major_axis_length = 208.19244, minor_axis_length = 90.84801, eccentricity = 0.89977, convex_area = 14962.00000, extent = 0.55802, type = C + area = 10360.00000, perimeter = 404.32901, major_axis_length = 165.85905, minor_axis_length = 81.19803, eccentricity = 0.87197, convex_area = 10556.00000, extent = 0.67615, type = O + area = 10588.00000, perimeter = 404.32401, major_axis_length = 163.66208, minor_axis_length = 83.96915, eccentricity = 0.85835, convex_area = 10756.00000, extent = 0.61487, type = O + area = 15676.00000, perimeter = 512.33502, major_axis_length = 214.76785, minor_axis_length = 93.72194, eccentricity = 0.89976, convex_area = 15961.00000, extent = 0.77928, type = C + area = 14814.00000, perimeter = 503.14801, major_axis_length = 217.25677, minor_axis_length = 88.17827, eccentricity = 0.91393, convex_area = 15110.00000, extent = 0.54511, type = C + area = 11675.00000, perimeter = 429.13000, major_axis_length = 173.41820, minor_axis_length = 86.83406, eccentricity = 0.86561, convex_area = 11888.00000, extent = 0.73734, type = O + area = 12693.00000, perimeter = 448.15799, major_axis_length = 180.08960, minor_axis_length = 91.82332, eccentricity = 0.86025, convex_area = 13035.00000, extent = 0.59341, type = O + area = 11719.00000, perimeter = 436.42499, major_axis_length = 180.11569, minor_axis_length = 83.87120, eccentricity = 0.88497, convex_area = 11922.00000, extent = 0.68332, type = O + area = 11859.00000, perimeter = 421.81299, major_axis_length = 169.93079, minor_axis_length = 89.38181, eccentricity = 0.85049, convex_area = 12056.00000, extent = 0.70147, type = O + area = 12593.00000, perimeter = 463.36899, major_axis_length = 195.75763, minor_axis_length = 83.07967, eccentricity = 0.90547, convex_area = 12907.00000, extent = 0.69775, type = C + area = 11838.00000, perimeter = 440.25601, major_axis_length = 181.32327, minor_axis_length = 83.83839, eccentricity = 0.88669, convex_area = 12165.00000, extent = 0.60152, type = C + area = 13200.00000, perimeter = 472.46500, major_axis_length = 203.31374, minor_axis_length = 83.57887, eccentricity = 0.91160, convex_area = 13467.00000, extent = 0.74530, type = C + area = 13670.00000, perimeter = 486.81000, major_axis_length = 207.74220, minor_axis_length = 84.57770, eccentricity = 0.91337, convex_area = 13923.00000, extent = 0.58096, type = C + area = 12531.00000, perimeter = 459.30600, major_axis_length = 192.81819, minor_axis_length = 84.02543, eccentricity = 0.90006, convex_area = 12846.00000, extent = 0.56173, type = O + area = 14887.00000, perimeter = 493.04501, major_axis_length = 199.16492, minor_axis_length = 96.69370, eccentricity = 0.87424, convex_area = 15347.00000, extent = 0.61713, type = C + area = 10844.00000, perimeter = 412.66400, major_axis_length = 171.03000, minor_axis_length = 81.49285, eccentricity = 0.87918, convex_area = 11046.00000, extent = 0.81706, type = O + area = 15684.00000, perimeter = 513.89099, major_axis_length = 221.94533, minor_axis_length = 90.82513, eccentricity = 0.91243, convex_area = 15944.00000, extent = 0.78201, type = C + area = 12058.00000, perimeter = 445.82800, major_axis_length = 184.82802, minor_axis_length = 84.49703, eccentricity = 0.88938, convex_area = 12308.00000, extent = 0.70482, type = O + area = 15077.00000, perimeter = 504.63699, major_axis_length = 212.94246, minor_axis_length = 91.21267, eccentricity = 0.90362, convex_area = 15404.00000, extent = 0.78649, type = C + area = 11351.00000, perimeter = 417.69299, major_axis_length = 171.05106, minor_axis_length = 85.54869, eccentricity = 0.86595, convex_area = 11549.00000, extent = 0.74326, type = O + area = 11983.00000, perimeter = 432.43900, major_axis_length = 172.42494, minor_axis_length = 89.33904, eccentricity = 0.85530, convex_area = 12238.00000, extent = 0.70084, type = O + area = 7551.00000, perimeter = 369.06400, major_axis_length = 163.40883, minor_axis_length = 59.53241, eccentricity = 0.93128, convex_area = 7723.00000, extent = 0.75646, type = O + area = 14725.00000, perimeter = 472.90201, major_axis_length = 193.12355, minor_axis_length = 97.71609, eccentricity = 0.86255, convex_area = 15084.00000, extent = 0.63432, type = C + area = 14235.00000, perimeter = 505.84500, major_axis_length = 214.15660, minor_axis_length = 87.47984, eccentricity = 0.91276, convex_area = 14687.00000, extent = 0.68257, type = C + area = 10579.00000, perimeter = 405.12201, major_axis_length = 167.29333, minor_axis_length = 81.34565, eccentricity = 0.87382, convex_area = 10750.00000, extent = 0.79637, type = O + area = 10910.00000, perimeter = 413.09500, major_axis_length = 165.88043, minor_axis_length = 85.08663, eccentricity = 0.85842, convex_area = 11243.00000, extent = 0.70771, type = O + area = 14146.00000, perimeter = 481.18600, major_axis_length = 202.58720, minor_axis_length = 89.94490, eccentricity = 0.89604, convex_area = 14495.00000, extent = 0.60360, type = C + area = 13891.00000, perimeter = 486.93799, major_axis_length = 209.80476, minor_axis_length = 85.73843, eccentricity = 0.91269, convex_area = 14170.00000, extent = 0.82847, type = C + area = 10211.00000, perimeter = 392.35300, major_axis_length = 163.19708, minor_axis_length = 80.24487, eccentricity = 0.87076, convex_area = 10348.00000, extent = 0.75347, type = O + area = 12422.00000, perimeter = 444.08499, major_axis_length = 183.13438, minor_axis_length = 86.95216, eccentricity = 0.88009, convex_area = 12658.00000, extent = 0.62341, type = O + area = 14305.00000, perimeter = 491.16101, major_axis_length = 207.87129, minor_axis_length = 88.60971, eccentricity = 0.90460, convex_area = 14633.00000, extent = 0.57953, type = C + area = 12239.00000, perimeter = 473.51401, major_axis_length = 208.04790, minor_axis_length = 75.60644, eccentricity = 0.93163, convex_area = 12622.00000, extent = 0.51720, type = C + area = 12726.00000, perimeter = 455.34601, major_axis_length = 188.77779, minor_axis_length = 86.93991, eccentricity = 0.88764, convex_area = 13010.00000, extent = 0.76848, type = O + area = 11139.00000, perimeter = 419.44800, major_axis_length = 172.12558, minor_axis_length = 83.78207, eccentricity = 0.87354, convex_area = 11442.00000, extent = 0.62890, type = O + area = 15830.00000, perimeter = 516.23199, major_axis_length = 220.81924, minor_axis_length = 92.34399, eccentricity = 0.90836, convex_area = 16074.00000, extent = 0.70144, type = C + area = 14697.00000, perimeter = 495.88300, major_axis_length = 208.15839, minor_axis_length = 90.96687, eccentricity = 0.89946, convex_area = 15073.00000, extent = 0.59492, type = C + area = 12551.00000, perimeter = 459.72900, major_axis_length = 197.68234, minor_axis_length = 81.57028, eccentricity = 0.91090, convex_area = 12741.00000, extent = 0.81894, type = C + area = 12837.00000, perimeter = 463.32199, major_axis_length = 192.92368, minor_axis_length = 86.35762, eccentricity = 0.89422, convex_area = 13229.00000, extent = 0.58883, type = O + area = 13970.00000, perimeter = 494.62900, major_axis_length = 210.52756, minor_axis_length = 85.43404, eccentricity = 0.91396, convex_area = 14308.00000, extent = 0.55054, type = C + area = 13455.00000, perimeter = 468.86200, major_axis_length = 196.68491, minor_axis_length = 87.98445, eccentricity = 0.89437, convex_area = 13730.00000, extent = 0.65494, type = C + area = 12204.00000, perimeter = 436.85501, major_axis_length = 169.29323, minor_axis_length = 93.18581, eccentricity = 0.83487, convex_area = 12505.00000, extent = 0.74779, type = O + area = 11977.00000, perimeter = 442.36401, major_axis_length = 185.26541, minor_axis_length = 83.16058, eccentricity = 0.89360, convex_area = 12186.00000, extent = 0.68175, type = O + area = 12921.00000, perimeter = 477.12100, major_axis_length = 197.70015, minor_axis_length = 84.82759, eccentricity = 0.90327, convex_area = 13557.00000, extent = 0.72395, type = C + area = 13645.00000, perimeter = 484.32501, major_axis_length = 205.53897, minor_axis_length = 85.92193, eccentricity = 0.90843, convex_area = 13972.00000, extent = 0.54713, type = C + area = 13970.00000, perimeter = 494.65399, major_axis_length = 211.74269, minor_axis_length = 85.07025, eccentricity = 0.91574, convex_area = 14280.00000, extent = 0.69627, type = C + area = 15611.00000, perimeter = 506.54700, major_axis_length = 215.20073, minor_axis_length = 93.39229, eccentricity = 0.90092, convex_area = 15806.00000, extent = 0.73219, type = C + area = 10956.00000, perimeter = 422.17200, major_axis_length = 178.35187, minor_axis_length = 79.15714, eccentricity = 0.89611, convex_area = 11131.00000, extent = 0.57313, type = O + area = 11659.00000, perimeter = 429.71500, major_axis_length = 173.34828, minor_axis_length = 87.54778, eccentricity = 0.86310, convex_area = 11912.00000, extent = 0.60876, type = O + area = 10896.00000, perimeter = 419.38501, major_axis_length = 174.13997, minor_axis_length = 80.54836, eccentricity = 0.88659, convex_area = 11145.00000, extent = 0.58961, type = O + area = 12361.00000, perimeter = 443.81900, major_axis_length = 178.17212, minor_axis_length = 89.32095, eccentricity = 0.86526, convex_area = 12581.00000, extent = 0.78037, type = O + area = 13923.00000, perimeter = 462.70001, major_axis_length = 189.52571, minor_axis_length = 94.52522, eccentricity = 0.86675, convex_area = 14186.00000, extent = 0.72995, type = O + area = 11377.00000, perimeter = 429.38599, major_axis_length = 172.53964, minor_axis_length = 85.88434, eccentricity = 0.86731, convex_area = 11746.00000, extent = 0.73542, type = O + area = 14403.00000, perimeter = 491.06000, major_axis_length = 207.68057, minor_axis_length = 89.84336, eccentricity = 0.90158, convex_area = 14708.00000, extent = 0.59689, type = C + area = 14965.00000, perimeter = 483.50800, major_axis_length = 203.52345, minor_axis_length = 94.31125, eccentricity = 0.88615, convex_area = 15151.00000, extent = 0.77555, type = C + area = 11438.00000, perimeter = 433.91800, major_axis_length = 178.35156, minor_axis_length = 83.54765, eccentricity = 0.88349, convex_area = 11767.00000, extent = 0.74302, type = O + area = 10775.00000, perimeter = 414.99799, major_axis_length = 165.72896, minor_axis_length = 84.27123, eccentricity = 0.86107, convex_area = 11036.00000, extent = 0.63446, type = O + area = 13787.00000, perimeter = 474.33801, major_axis_length = 194.69463, minor_axis_length = 91.07733, eccentricity = 0.88384, convex_area = 14075.00000, extent = 0.61618, type = C + area = 10740.00000, perimeter = 422.76801, major_axis_length = 182.96492, minor_axis_length = 75.03802, eccentricity = 0.91203, convex_area = 10886.00000, extent = 0.55636, type = O + area = 10899.00000, perimeter = 421.44000, major_axis_length = 173.63838, minor_axis_length = 81.15626, eccentricity = 0.88405, convex_area = 11267.00000, extent = 0.69345, type = O + area = 12346.00000, perimeter = 456.90500, major_axis_length = 193.61288, minor_axis_length = 82.03561, eccentricity = 0.90580, convex_area = 12529.00000, extent = 0.58673, type = C + area = 10572.00000, perimeter = 403.26901, major_axis_length = 164.57251, minor_axis_length = 81.97684, eccentricity = 0.86711, convex_area = 10745.00000, extent = 0.74709, type = O + area = 14260.00000, perimeter = 501.04099, major_axis_length = 208.83318, minor_axis_length = 88.96316, eccentricity = 0.90472, convex_area = 14737.00000, extent = 0.61318, type = C + area = 11715.00000, perimeter = 429.16599, major_axis_length = 171.09964, minor_axis_length = 89.10729, eccentricity = 0.85368, convex_area = 12066.00000, extent = 0.64953, type = O + area = 13431.00000, perimeter = 482.53000, major_axis_length = 212.45061, minor_axis_length = 81.18548, eccentricity = 0.92411, convex_area = 13786.00000, extent = 0.77798, type = C + area = 15975.00000, perimeter = 522.80402, major_axis_length = 218.41768, minor_axis_length = 94.04413, eccentricity = 0.90256, convex_area = 16290.00000, extent = 0.56764, type = C + area = 10360.00000, perimeter = 427.33200, major_axis_length = 187.57419, minor_axis_length = 70.72579, eccentricity = 0.92619, convex_area = 10525.00000, extent = 0.54323, type = O + area = 14318.00000, perimeter = 491.29599, major_axis_length = 207.61473, minor_axis_length = 89.12659, eccentricity = 0.90317, convex_area = 14629.00000, extent = 0.56246, type = C + area = 9961.00000, perimeter = 397.92999, major_axis_length = 166.00798, minor_axis_length = 77.44359, eccentricity = 0.88452, convex_area = 10130.00000, extent = 0.62798, type = O + area = 12465.00000, perimeter = 445.06699, major_axis_length = 177.52953, minor_axis_length = 91.50624, eccentricity = 0.85692, convex_area = 12882.00000, extent = 0.76117, type = O + area = 12337.00000, perimeter = 446.22000, major_axis_length = 180.54181, minor_axis_length = 87.79291, eccentricity = 0.87381, convex_area = 12628.00000, extent = 0.61293, type = O + area = 11621.00000, perimeter = 402.21100, major_axis_length = 153.58499, minor_axis_length = 96.63773, eccentricity = 0.77723, convex_area = 11797.00000, extent = 0.81011, type = O + area = 11385.00000, perimeter = 436.60699, major_axis_length = 180.06990, minor_axis_length = 82.65318, eccentricity = 0.88843, convex_area = 11778.00000, extent = 0.75976, type = O + area = 12861.00000, perimeter = 471.92099, major_axis_length = 193.25092, minor_axis_length = 86.45822, eccentricity = 0.89434, convex_area = 13330.00000, extent = 0.63342, type = C + area = 12047.00000, perimeter = 455.60800, major_axis_length = 195.66608, minor_axis_length = 80.26914, eccentricity = 0.91198, convex_area = 12339.00000, extent = 0.54403, type = C + area = 13734.00000, perimeter = 487.84000, major_axis_length = 213.24744, minor_axis_length = 83.18277, eccentricity = 0.92078, convex_area = 13941.00000, extent = 0.80523, type = C + area = 11682.00000, perimeter = 437.04001, major_axis_length = 176.23099, minor_axis_length = 86.32249, eccentricity = 0.87182, convex_area = 11969.00000, extent = 0.58119, type = O + area = 13418.00000, perimeter = 474.90100, major_axis_length = 194.54570, minor_axis_length = 89.70831, eccentricity = 0.88734, convex_area = 13973.00000, extent = 0.60431, type = C + area = 12519.00000, perimeter = 455.40601, major_axis_length = 192.00218, minor_axis_length = 83.87215, eccentricity = 0.89954, convex_area = 12770.00000, extent = 0.67068, type = C + area = 13092.00000, perimeter = 465.43701, major_axis_length = 197.04187, minor_axis_length = 85.83564, eccentricity = 0.90013, convex_area = 13369.00000, extent = 0.76885, type = C + area = 12756.00000, perimeter = 442.97501, major_axis_length = 177.98634, minor_axis_length = 92.22925, eccentricity = 0.85527, convex_area = 13028.00000, extent = 0.70374, type = O + area = 11295.00000, perimeter = 430.62000, major_axis_length = 179.13637, minor_axis_length = 81.18504, eccentricity = 0.89141, convex_area = 11516.00000, extent = 0.69125, type = O + area = 13555.00000, perimeter = 477.87000, major_axis_length = 202.63708, minor_axis_length = 85.78796, eccentricity = 0.90596, convex_area = 13851.00000, extent = 0.57806, type = C + area = 10293.00000, perimeter = 413.28699, major_axis_length = 171.63895, minor_axis_length = 77.05096, eccentricity = 0.89358, convex_area = 10560.00000, extent = 0.58938, type = O + area = 15143.00000, perimeter = 504.14001, major_axis_length = 207.73418, minor_axis_length = 94.14838, eccentricity = 0.89140, convex_area = 15628.00000, extent = 0.57133, type = C + area = 15236.00000, perimeter = 514.79303, major_axis_length = 223.32785, minor_axis_length = 87.76151, eccentricity = 0.91955, convex_area = 15686.00000, extent = 0.65624, type = C + area = 16403.00000, perimeter = 521.90900, major_axis_length = 215.15091, minor_axis_length = 98.40095, eccentricity = 0.88928, convex_area = 16867.00000, extent = 0.58877, type = C + area = 14675.00000, perimeter = 493.27301, major_axis_length = 206.79372, minor_axis_length = 91.58907, eccentricity = 0.89657, convex_area = 15039.00000, extent = 0.56617, type = C + area = 10536.00000, perimeter = 425.36700, major_axis_length = 182.95021, minor_axis_length = 73.86765, eccentricity = 0.91487, convex_area = 10704.00000, extent = 0.75043, type = O + area = 12172.00000, perimeter = 431.19601, major_axis_length = 175.63828, minor_axis_length = 89.33349, eccentricity = 0.86099, convex_area = 12368.00000, extent = 0.60269, type = O + area = 15773.00000, perimeter = 515.79401, major_axis_length = 219.43376, minor_axis_length = 92.62105, eccentricity = 0.90655, convex_area = 16089.00000, extent = 0.70541, type = C + area = 12638.00000, perimeter = 454.56100, major_axis_length = 187.56937, minor_axis_length = 86.98496, eccentricity = 0.88597, convex_area = 12902.00000, extent = 0.76859, type = O + area = 15488.00000, perimeter = 507.88300, major_axis_length = 206.63953, minor_axis_length = 96.87208, eccentricity = 0.88331, convex_area = 15968.00000, extent = 0.60255, type = C + area = 11492.00000, perimeter = 419.29700, major_axis_length = 165.42955, minor_axis_length = 89.53146, eccentricity = 0.84089, convex_area = 11747.00000, extent = 0.78734, type = O + area = 11240.00000, perimeter = 438.51300, major_axis_length = 186.47974, minor_axis_length = 77.60256, eccentricity = 0.90930, convex_area = 11492.00000, extent = 0.56522, type = O + area = 13871.00000, perimeter = 496.57901, major_axis_length = 212.57080, minor_axis_length = 83.77424, eccentricity = 0.91907, convex_area = 14344.00000, extent = 0.52782, type = C + area = 10634.00000, perimeter = 409.50601, major_axis_length = 167.43697, minor_axis_length = 81.81296, eccentricity = 0.87250, convex_area = 10809.00000, extent = 0.68377, type = O + area = 13269.00000, perimeter = 458.49399, major_axis_length = 183.40436, minor_axis_length = 93.34014, eccentricity = 0.86081, convex_area = 13619.00000, extent = 0.61074, type = O + area = 15907.00000, perimeter = 527.34998, major_axis_length = 226.89301, minor_axis_length = 90.79047, eccentricity = 0.91645, convex_area = 16288.00000, extent = 0.57385, type = C + area = 11479.00000, perimeter = 421.07501, major_axis_length = 171.34761, minor_axis_length = 85.80914, eccentricity = 0.86557, convex_area = 11677.00000, extent = 0.79910, type = O + area = 10662.00000, perimeter = 420.19501, major_axis_length = 175.88251, minor_axis_length = 78.51628, eccentricity = 0.89483, convex_area = 10944.00000, extent = 0.56943, type = O + area = 12708.00000, perimeter = 437.45401, major_axis_length = 174.35812, minor_axis_length = 93.84775, eccentricity = 0.84279, convex_area = 12893.00000, extent = 0.64344, type = O + area = 15094.00000, perimeter = 513.92401, major_axis_length = 224.71965, minor_axis_length = 86.43656, eccentricity = 0.92307, convex_area = 15292.00000, extent = 0.79417, type = C + area = 12205.00000, perimeter = 438.35599, major_axis_length = 174.43573, minor_axis_length = 90.32648, eccentricity = 0.85549, convex_area = 12491.00000, extent = 0.61848, type = O + area = 14340.00000, perimeter = 499.09601, major_axis_length = 207.25108, minor_axis_length = 89.85896, eccentricity = 0.90112, convex_area = 14863.00000, extent = 0.66315, type = C + area = 16318.00000, perimeter = 537.44702, major_axis_length = 232.03682, minor_axis_length = 90.71050, eccentricity = 0.92042, convex_area = 16592.00000, extent = 0.59817, type = C + area = 11462.00000, perimeter = 423.23499, major_axis_length = 171.58929, minor_axis_length = 85.72186, eccentricity = 0.86627, convex_area = 11712.00000, extent = 0.69467, type = O + area = 16030.00000, perimeter = 512.85303, major_axis_length = 210.24748, minor_axis_length = 97.63129, eccentricity = 0.88564, convex_area = 16306.00000, extent = 0.59780, type = C + area = 11016.00000, perimeter = 421.10001, major_axis_length = 173.15601, minor_axis_length = 82.32682, eccentricity = 0.87974, convex_area = 11302.00000, extent = 0.78161, type = O + area = 16413.00000, perimeter = 510.10999, major_axis_length = 210.55511, minor_axis_length = 100.12189, eccentricity = 0.87971, convex_area = 16665.00000, extent = 0.59989, type = C + area = 12888.00000, perimeter = 467.19800, major_axis_length = 199.15642, minor_axis_length = 83.28893, eccentricity = 0.90835, convex_area = 13222.00000, extent = 0.72584, type = C + area = 14955.00000, perimeter = 508.71701, major_axis_length = 217.98155, minor_axis_length = 88.61218, eccentricity = 0.91365, convex_area = 15363.00000, extent = 0.56941, type = C + area = 10816.00000, perimeter = 417.78101, major_axis_length = 170.92932, minor_axis_length = 81.66611, eccentricity = 0.87848, convex_area = 11119.00000, extent = 0.58911, type = O + area = 11397.00000, perimeter = 425.75601, major_axis_length = 172.88916, minor_axis_length = 85.73677, eccentricity = 0.86838, convex_area = 11726.00000, extent = 0.75297, type = O + area = 10510.00000, perimeter = 420.02200, major_axis_length = 175.71770, minor_axis_length = 78.40139, eccentricity = 0.89494, convex_area = 10756.00000, extent = 0.57281, type = O + area = 10453.00000, perimeter = 411.44800, major_axis_length = 175.73219, minor_axis_length = 76.61852, eccentricity = 0.89995, convex_area = 10589.00000, extent = 0.80563, type = O + area = 14263.00000, perimeter = 490.75101, major_axis_length = 203.77844, minor_axis_length = 90.26588, eccentricity = 0.89654, convex_area = 14779.00000, extent = 0.73155, type = C + area = 12599.00000, perimeter = 450.20401, major_axis_length = 184.96915, minor_axis_length = 87.25172, eccentricity = 0.88175, convex_area = 12818.00000, extent = 0.73644, type = O + area = 11355.00000, perimeter = 428.99200, major_axis_length = 172.28127, minor_axis_length = 85.36949, eccentricity = 0.86859, convex_area = 11690.00000, extent = 0.61425, type = O + area = 12625.00000, perimeter = 445.92801, major_axis_length = 181.65076, minor_axis_length = 89.60036, eccentricity = 0.86988, convex_area = 12905.00000, extent = 0.65144, type = O + area = 14363.00000, perimeter = 493.26099, major_axis_length = 210.56975, minor_axis_length = 87.41584, eccentricity = 0.90976, convex_area = 14621.00000, extent = 0.57706, type = C + area = 14312.00000, perimeter = 488.41901, major_axis_length = 208.17024, minor_axis_length = 88.40865, eccentricity = 0.90534, convex_area = 14692.00000, extent = 0.79335, type = C + area = 15368.00000, perimeter = 503.30701, major_axis_length = 209.41850, minor_axis_length = 94.39367, eccentricity = 0.89265, convex_area = 15709.00000, extent = 0.64033, type = C + area = 10847.00000, perimeter = 414.45099, major_axis_length = 165.58517, minor_axis_length = 85.00729, eccentricity = 0.85816, convex_area = 11148.00000, extent = 0.67972, type = O + area = 12232.00000, perimeter = 440.40302, major_axis_length = 175.67868, minor_axis_length = 90.06195, eccentricity = 0.85860, convex_area = 12525.00000, extent = 0.77251, type = O + area = 13503.00000, perimeter = 477.24399, major_axis_length = 201.17171, minor_axis_length = 87.36242, eccentricity = 0.90078, convex_area = 13743.00000, extent = 0.56319, type = C + area = 11605.00000, perimeter = 429.22501, major_axis_length = 175.01450, minor_axis_length = 85.50439, eccentricity = 0.87253, convex_area = 11933.00000, extent = 0.60976, type = O + area = 13404.00000, perimeter = 476.20599, major_axis_length = 203.31157, minor_axis_length = 84.62199, eccentricity = 0.90926, convex_area = 13751.00000, extent = 0.63466, type = C + area = 11321.00000, perimeter = 424.57599, major_axis_length = 173.99763, minor_axis_length = 84.73989, eccentricity = 0.87339, convex_area = 11631.00000, extent = 0.62190, type = O + area = 12171.00000, perimeter = 431.94901, major_axis_length = 174.38002, minor_axis_length = 90.05058, eccentricity = 0.85634, convex_area = 12366.00000, extent = 0.61882, type = O + area = 13391.00000, perimeter = 486.12201, major_axis_length = 213.11208, minor_axis_length = 80.99444, eccentricity = 0.92496, convex_area = 13661.00000, extent = 0.52024, type = C + area = 14990.00000, perimeter = 507.78500, major_axis_length = 213.48546, minor_axis_length = 90.17632, eccentricity = 0.90641, convex_area = 15318.00000, extent = 0.56592, type = C + area = 11689.00000, perimeter = 444.89801, major_axis_length = 191.93597, minor_axis_length = 78.10004, eccentricity = 0.91347, convex_area = 11935.00000, extent = 0.54930, type = C + area = 17948.00000, perimeter = 526.91803, major_axis_length = 214.09383, minor_axis_length = 107.54245, eccentricity = 0.86468, convex_area = 18322.00000, extent = 0.66637, type = C + area = 15926.00000, perimeter = 522.73999, major_axis_length = 225.73605, minor_axis_length = 91.05709, eccentricity = 0.91503, convex_area = 16240.00000, extent = 0.77977, type = C + area = 10020.00000, perimeter = 411.61099, major_axis_length = 177.47466, minor_axis_length = 72.43750, eccentricity = 0.91291, convex_area = 10217.00000, extent = 0.54742, type = O + area = 12003.00000, perimeter = 433.52100, major_axis_length = 178.55038, minor_axis_length = 86.43273, eccentricity = 0.87502, convex_area = 12171.00000, extent = 0.76648, type = O + area = 15469.00000, perimeter = 514.90698, major_axis_length = 221.01834, minor_axis_length = 89.76701, eccentricity = 0.91381, convex_area = 15860.00000, extent = 0.54178, type = C + area = 11071.00000, perimeter = 419.59399, major_axis_length = 170.46420, minor_axis_length = 83.97248, eccentricity = 0.87025, convex_area = 11303.00000, extent = 0.77069, type = O + area = 13619.00000, perimeter = 467.76599, major_axis_length = 193.68094, minor_axis_length = 90.47348, eccentricity = 0.88419, convex_area = 13926.00000, extent = 0.58667, type = O + area = 16051.00000, perimeter = 516.17401, major_axis_length = 214.87718, minor_axis_length = 96.84511, eccentricity = 0.89268, convex_area = 16479.00000, extent = 0.67964, type = C + area = 11034.00000, perimeter = 414.50101, major_axis_length = 169.08015, minor_axis_length = 84.23166, eccentricity = 0.86708, convex_area = 11256.00000, extent = 0.76817, type = O + area = 11794.00000, perimeter = 430.38000, major_axis_length = 178.44585, minor_axis_length = 84.78594, eccentricity = 0.87991, convex_area = 12056.00000, extent = 0.75294, type = C + area = 13493.00000, perimeter = 480.52899, major_axis_length = 205.57306, minor_axis_length = 84.68375, eccentricity = 0.91121, convex_area = 13843.00000, extent = 0.79689, type = C + area = 12301.00000, perimeter = 440.00699, major_axis_length = 175.41667, minor_axis_length = 90.57800, eccentricity = 0.85637, convex_area = 12591.00000, extent = 0.66962, type = O + area = 14992.00000, perimeter = 502.61700, major_axis_length = 213.94133, minor_axis_length = 89.97850, eccentricity = 0.90726, convex_area = 15162.00000, extent = 0.55464, type = C + area = 16608.00000, perimeter = 516.09198, major_axis_length = 207.67137, minor_axis_length = 103.35088, eccentricity = 0.86737, convex_area = 17111.00000, extent = 0.69676, type = C + area = 13589.00000, perimeter = 483.88400, major_axis_length = 205.35475, minor_axis_length = 85.41032, eccentricity = 0.90940, convex_area = 13883.00000, extent = 0.54574, type = C + area = 11817.00000, perimeter = 426.60199, major_axis_length = 179.56543, minor_axis_length = 84.24079, eccentricity = 0.88313, convex_area = 11977.00000, extent = 0.65738, type = O + area = 14566.00000, perimeter = 498.02600, major_axis_length = 208.22543, minor_axis_length = 90.54054, eccentricity = 0.90052, convex_area = 14927.00000, extent = 0.56083, type = C + area = 12618.00000, perimeter = 457.89801, major_axis_length = 193.81572, minor_axis_length = 83.47736, eccentricity = 0.90249, convex_area = 12851.00000, extent = 0.58223, type = C + area = 9763.00000, perimeter = 404.14600, major_axis_length = 169.18585, minor_axis_length = 74.55428, eccentricity = 0.89767, convex_area = 10047.00000, extent = 0.70870, type = O + area = 11012.00000, perimeter = 428.23700, major_axis_length = 176.37897, minor_axis_length = 80.69747, eccentricity = 0.88920, convex_area = 11325.00000, extent = 0.75872, type = O + area = 14897.00000, perimeter = 509.63101, major_axis_length = 219.67192, minor_axis_length = 87.50060, eccentricity = 0.91724, convex_area = 15330.00000, extent = 0.71366, type = C + area = 11070.00000, perimeter = 413.42001, major_axis_length = 168.51967, minor_axis_length = 84.49383, eccentricity = 0.86522, convex_area = 11328.00000, extent = 0.62659, type = O + area = 15307.00000, perimeter = 489.47101, major_axis_length = 197.20265, minor_axis_length = 100.13299, eccentricity = 0.86149, convex_area = 15628.00000, extent = 0.67910, type = C + area = 15159.00000, perimeter = 515.13098, major_axis_length = 216.06192, minor_axis_length = 91.02570, eccentricity = 0.90692, convex_area = 15685.00000, extent = 0.65071, type = C + area = 11674.00000, perimeter = 425.07199, major_axis_length = 175.75723, minor_axis_length = 85.50616, eccentricity = 0.87368, convex_area = 11865.00000, extent = 0.64405, type = O + area = 16490.00000, perimeter = 520.31897, major_axis_length = 212.01076, minor_axis_length = 101.68001, eccentricity = 0.87749, convex_area = 16873.00000, extent = 0.62937, type = C + area = 12210.00000, perimeter = 453.12399, major_axis_length = 189.42078, minor_axis_length = 83.15540, eccentricity = 0.89849, convex_area = 12641.00000, extent = 0.63733, type = C + area = 12213.00000, perimeter = 442.27200, major_axis_length = 183.69931, minor_axis_length = 85.81993, eccentricity = 0.88416, convex_area = 12474.00000, extent = 0.79538, type = O + area = 10218.00000, perimeter = 401.77301, major_axis_length = 163.24477, minor_axis_length = 80.51645, eccentricity = 0.86990, convex_area = 10516.00000, extent = 0.69539, type = O + area = 10842.00000, perimeter = 415.65900, major_axis_length = 169.43460, minor_axis_length = 82.63617, eccentricity = 0.87300, convex_area = 11153.00000, extent = 0.73306, type = O + area = 11088.00000, perimeter = 418.20801, major_axis_length = 172.02742, minor_axis_length = 82.93567, eccentricity = 0.87611, convex_area = 11284.00000, extent = 0.62499, type = O + area = 14818.00000, perimeter = 499.35999, major_axis_length = 208.87550, minor_axis_length = 91.91077, eccentricity = 0.89798, convex_area = 15204.00000, extent = 0.57541, type = C + area = 12942.00000, perimeter = 441.74399, major_axis_length = 175.55925, minor_axis_length = 95.28501, eccentricity = 0.83989, convex_area = 13310.00000, extent = 0.70169, type = O + area = 12412.00000, perimeter = 456.57999, major_axis_length = 191.57162, minor_axis_length = 83.44986, eccentricity = 0.90014, convex_area = 12779.00000, extent = 0.64950, type = C + area = 10733.00000, perimeter = 402.41901, major_axis_length = 166.23431, minor_axis_length = 82.70548, eccentricity = 0.86745, convex_area = 10876.00000, extent = 0.70612, type = O + area = 11580.00000, perimeter = 428.70901, major_axis_length = 173.48808, minor_axis_length = 86.63918, eccentricity = 0.86637, convex_area = 11921.00000, extent = 0.74777, type = O + area = 15252.00000, perimeter = 502.59100, major_axis_length = 211.63116, minor_axis_length = 92.19616, eccentricity = 0.90012, convex_area = 15495.00000, extent = 0.57446, type = C + area = 12743.00000, perimeter = 442.73499, major_axis_length = 181.13968, minor_axis_length = 90.30119, eccentricity = 0.86688, convex_area = 12899.00000, extent = 0.72511, type = O + area = 13811.00000, perimeter = 482.29800, major_axis_length = 206.71475, minor_axis_length = 85.73662, eccentricity = 0.90993, convex_area = 14000.00000, extent = 0.55593, type = C + area = 12823.00000, perimeter = 450.64099, major_axis_length = 180.69753, minor_axis_length = 91.78145, eccentricity = 0.86140, convex_area = 13195.00000, extent = 0.69785, type = O + area = 11944.00000, perimeter = 434.92401, major_axis_length = 182.87396, minor_axis_length = 83.63844, eccentricity = 0.88928, convex_area = 12090.00000, extent = 0.61720, type = O + area = 11255.00000, perimeter = 442.61801, major_axis_length = 189.49684, minor_axis_length = 76.36518, eccentricity = 0.91520, convex_area = 11500.00000, extent = 0.77535, type = O + area = 12483.00000, perimeter = 437.40201, major_axis_length = 173.49197, minor_axis_length = 92.70434, eccentricity = 0.84527, convex_area = 12767.00000, extent = 0.77534, type = O + area = 14802.00000, perimeter = 497.83200, major_axis_length = 209.61795, minor_axis_length = 91.14713, eccentricity = 0.90051, convex_area = 15208.00000, extent = 0.62298, type = C + area = 14641.00000, perimeter = 505.00201, major_axis_length = 211.58365, minor_axis_length = 90.03343, eccentricity = 0.90495, convex_area = 15034.00000, extent = 0.62956, type = C + area = 12201.00000, perimeter = 443.45599, major_axis_length = 178.08556, minor_axis_length = 88.47781, eccentricity = 0.86785, convex_area = 12544.00000, extent = 0.63913, type = O + area = 14469.00000, perimeter = 484.46701, major_axis_length = 204.24918, minor_axis_length = 90.72005, eccentricity = 0.89595, convex_area = 14701.00000, extent = 0.65873, type = C + area = 10550.00000, perimeter = 404.29501, major_axis_length = 160.47012, minor_axis_length = 85.45004, eccentricity = 0.84643, convex_area = 10846.00000, extent = 0.77981, type = O + area = 15813.00000, perimeter = 495.26801, major_axis_length = 203.79468, minor_axis_length = 99.68769, eccentricity = 0.87220, convex_area = 16095.00000, extent = 0.73525, type = C + area = 13091.00000, perimeter = 473.15201, major_axis_length = 203.86270, minor_axis_length = 82.55070, eccentricity = 0.91435, convex_area = 13451.00000, extent = 0.75236, type = C + area = 12376.00000, perimeter = 455.73300, major_axis_length = 188.82434, minor_axis_length = 85.17463, eccentricity = 0.89248, convex_area = 12702.00000, extent = 0.56396, type = O + area = 13562.00000, perimeter = 474.21899, major_axis_length = 194.61276, minor_axis_length = 90.66898, eccentricity = 0.88484, convex_area = 13871.00000, extent = 0.71334, type = C + area = 12174.00000, perimeter = 435.36801, major_axis_length = 174.20001, minor_axis_length = 90.66159, eccentricity = 0.85389, convex_area = 12471.00000, extent = 0.66387, type = O + area = 14482.00000, perimeter = 486.16299, major_axis_length = 201.81453, minor_axis_length = 92.54988, eccentricity = 0.88865, convex_area = 14825.00000, extent = 0.64256, type = C + area = 14982.00000, perimeter = 505.07800, major_axis_length = 217.36499, minor_axis_length = 88.59523, eccentricity = 0.91317, convex_area = 15325.00000, extent = 0.55924, type = C + area = 13888.00000, perimeter = 481.74799, major_axis_length = 205.74632, minor_axis_length = 87.00280, eccentricity = 0.90619, convex_area = 14178.00000, extent = 0.58510, type = C + area = 14423.00000, perimeter = 507.08200, major_axis_length = 221.53348, minor_axis_length = 83.90892, eccentricity = 0.92549, convex_area = 14703.00000, extent = 0.54222, type = C + area = 12489.00000, perimeter = 444.00800, major_axis_length = 175.32974, minor_axis_length = 92.48181, eccentricity = 0.84957, convex_area = 12853.00000, extent = 0.74423, type = O + area = 12831.00000, perimeter = 455.24200, major_axis_length = 187.26712, minor_axis_length = 88.07062, eccentricity = 0.88251, convex_area = 13084.00000, extent = 0.61652, type = O + area = 11116.00000, perimeter = 409.54401, major_axis_length = 166.38513, minor_axis_length = 86.12647, eccentricity = 0.85560, convex_area = 11313.00000, extent = 0.62187, type = O + area = 10519.00000, perimeter = 406.75601, major_axis_length = 169.01904, minor_axis_length = 80.37228, eccentricity = 0.87970, convex_area = 10684.00000, extent = 0.60544, type = O + area = 11535.00000, perimeter = 420.81201, major_axis_length = 169.73042, minor_axis_length = 87.86320, eccentricity = 0.85558, convex_area = 11793.00000, extent = 0.66020, type = O + area = 16188.00000, perimeter = 526.87598, major_axis_length = 224.04192, minor_axis_length = 93.17562, eccentricity = 0.90942, convex_area = 16605.00000, extent = 0.66301, type = C + area = 14057.00000, perimeter = 463.14200, major_axis_length = 189.79260, minor_axis_length = 95.08885, eccentricity = 0.86544, convex_area = 14259.00000, extent = 0.62612, type = C + area = 11027.00000, perimeter = 422.38901, major_axis_length = 172.86743, minor_axis_length = 82.66507, eccentricity = 0.87825, convex_area = 11350.00000, extent = 0.78183, type = O + area = 13002.00000, perimeter = 472.47400, major_axis_length = 198.07727, minor_axis_length = 85.79917, eccentricity = 0.90132, convex_area = 13432.00000, extent = 0.69474, type = C + area = 11957.00000, perimeter = 441.88300, major_axis_length = 186.96121, minor_axis_length = 81.96999, eccentricity = 0.89876, convex_area = 12137.00000, extent = 0.77362, type = O + area = 11217.00000, perimeter = 424.08499, major_axis_length = 168.65384, minor_axis_length = 86.48293, eccentricity = 0.85852, convex_area = 11546.00000, extent = 0.77188, type = O + area = 12820.00000, perimeter = 459.17099, major_axis_length = 193.70509, minor_axis_length = 84.83408, eccentricity = 0.89900, convex_area = 13002.00000, extent = 0.59617, type = C + area = 11447.00000, perimeter = 447.34601, major_axis_length = 190.38905, minor_axis_length = 79.03822, eccentricity = 0.90976, convex_area = 11753.00000, extent = 0.54354, type = C + area = 11721.00000, perimeter = 442.35001, major_axis_length = 186.25233, minor_axis_length = 81.25922, eccentricity = 0.89981, convex_area = 11950.00000, extent = 0.57779, type = O + area = 11339.00000, perimeter = 425.50601, major_axis_length = 177.04713, minor_axis_length = 82.54741, eccentricity = 0.88466, convex_area = 11533.00000, extent = 0.59205, type = O + area = 12665.00000, perimeter = 445.66299, major_axis_length = 186.28040, minor_axis_length = 87.28703, eccentricity = 0.88342, convex_area = 12811.00000, extent = 0.71008, type = O + area = 11720.00000, perimeter = 425.45001, major_axis_length = 171.58801, minor_axis_length = 88.36038, eccentricity = 0.85722, convex_area = 11912.00000, extent = 0.77920, type = O + area = 11455.00000, perimeter = 405.61899, major_axis_length = 159.57027, minor_axis_length = 92.32996, eccentricity = 0.81560, convex_area = 11639.00000, extent = 0.77619, type = O + area = 14269.00000, perimeter = 501.04001, major_axis_length = 214.66936, minor_axis_length = 85.64316, eccentricity = 0.91697, convex_area = 14733.00000, extent = 0.70001, type = C + area = 13929.00000, perimeter = 487.98199, major_axis_length = 202.95439, minor_axis_length = 87.97099, eccentricity = 0.90118, convex_area = 14266.00000, extent = 0.65533, type = C + area = 16480.00000, perimeter = 525.15399, major_axis_length = 220.30812, minor_axis_length = 96.47744, eccentricity = 0.89901, convex_area = 16842.00000, extent = 0.57626, type = C + area = 13077.00000, perimeter = 472.90500, major_axis_length = 203.44507, minor_axis_length = 82.57013, eccentricity = 0.91394, convex_area = 13405.00000, extent = 0.62737, type = C + area = 14533.00000, perimeter = 487.20401, major_axis_length = 196.81499, minor_axis_length = 95.84308, eccentricity = 0.87342, convex_area = 14873.00000, extent = 0.65112, type = C + area = 15681.00000, perimeter = 507.69699, major_axis_length = 207.02451, minor_axis_length = 97.75848, eccentricity = 0.88149, convex_area = 16088.00000, extent = 0.69250, type = C + area = 14466.00000, perimeter = 497.84000, major_axis_length = 204.40955, minor_axis_length = 91.21478, eccentricity = 0.89492, convex_area = 14885.00000, extent = 0.65650, type = C + area = 13662.00000, perimeter = 466.74799, major_axis_length = 191.40512, minor_axis_length = 91.91515, eccentricity = 0.87715, convex_area = 13875.00000, extent = 0.58746, type = C + area = 11232.00000, perimeter = 427.42999, major_axis_length = 180.43719, minor_axis_length = 80.56561, eccentricity = 0.89478, convex_area = 11424.00000, extent = 0.59878, type = O + area = 12279.00000, perimeter = 441.22800, major_axis_length = 180.48395, minor_axis_length = 88.03798, eccentricity = 0.87296, convex_area = 12525.00000, extent = 0.59647, type = O + area = 14930.00000, perimeter = 499.92499, major_axis_length = 212.24582, minor_axis_length = 90.01748, eccentricity = 0.90561, convex_area = 15248.00000, extent = 0.62437, type = C + area = 16500.00000, perimeter = 523.34601, major_axis_length = 219.72414, minor_axis_length = 97.14173, eccentricity = 0.89696, convex_area = 16880.00000, extent = 0.63064, type = C + area = 16302.00000, perimeter = 526.34003, major_axis_length = 225.32297, minor_axis_length = 92.99416, eccentricity = 0.91086, convex_area = 16669.00000, extent = 0.60835, type = C + area = 12780.00000, perimeter = 448.66101, major_axis_length = 181.93517, minor_axis_length = 90.70711, eccentricity = 0.86685, convex_area = 13038.00000, extent = 0.60736, type = O + area = 13909.00000, perimeter = 488.70801, major_axis_length = 206.35185, minor_axis_length = 86.97563, eccentricity = 0.90683, convex_area = 14362.00000, extent = 0.54334, type = C + area = 11080.00000, perimeter = 424.76901, major_axis_length = 175.18169, minor_axis_length = 81.33550, eccentricity = 0.88568, convex_area = 11337.00000, extent = 0.58291, type = O + area = 12190.00000, perimeter = 445.89499, major_axis_length = 185.75694, minor_axis_length = 84.64902, eccentricity = 0.89013, convex_area = 12386.00000, extent = 0.71622, type = O + area = 13900.00000, perimeter = 475.88901, major_axis_length = 198.16893, minor_axis_length = 90.54260, eccentricity = 0.88952, convex_area = 14161.00000, extent = 0.71723, type = C + area = 14944.00000, perimeter = 500.23801, major_axis_length = 209.55765, minor_axis_length = 91.52841, eccentricity = 0.89957, convex_area = 15255.00000, extent = 0.62896, type = C + area = 15552.00000, perimeter = 492.98199, major_axis_length = 198.20627, minor_axis_length = 101.64401, eccentricity = 0.85850, convex_area = 15936.00000, extent = 0.62745, type = C + area = 14969.00000, perimeter = 494.41699, major_axis_length = 207.20992, minor_axis_length = 92.91051, eccentricity = 0.89384, convex_area = 15286.00000, extent = 0.63970, type = C + area = 18913.00000, perimeter = 541.74597, major_axis_length = 227.13548, minor_axis_length = 106.94836, eccentricity = 0.88221, convex_area = 19099.00000, extent = 0.80412, type = C + area = 14011.00000, perimeter = 475.87299, major_axis_length = 197.72864, minor_axis_length = 91.15908, eccentricity = 0.88738, convex_area = 14315.00000, extent = 0.77761, type = C + area = 11337.00000, perimeter = 433.97800, major_axis_length = 184.34811, minor_axis_length = 78.86770, eccentricity = 0.90386, convex_area = 11506.00000, extent = 0.65661, type = O + area = 13632.00000, perimeter = 485.93701, major_axis_length = 205.21495, minor_axis_length = 85.83135, eccentricity = 0.90833, convex_area = 13905.00000, extent = 0.55012, type = C + area = 14274.00000, perimeter = 488.82999, major_axis_length = 203.56786, minor_axis_length = 89.92999, eccentricity = 0.89713, convex_area = 14529.00000, extent = 0.57236, type = C + area = 10795.00000, perimeter = 411.29999, major_axis_length = 168.38956, minor_axis_length = 82.64345, eccentricity = 0.87128, convex_area = 11029.00000, extent = 0.76043, type = O + area = 10469.00000, perimeter = 423.78500, major_axis_length = 177.03677, minor_axis_length = 76.73817, eccentricity = 0.90117, convex_area = 10859.00000, extent = 0.57021, type = O + area = 12994.00000, perimeter = 457.19000, major_axis_length = 187.33479, minor_axis_length = 89.40963, eccentricity = 0.87876, convex_area = 13335.00000, extent = 0.76359, type = O + area = 12406.00000, perimeter = 441.87799, major_axis_length = 177.86269, minor_axis_length = 90.56725, eccentricity = 0.86065, convex_area = 12864.00000, extent = 0.62386, type = O + area = 12170.00000, perimeter = 441.47699, major_axis_length = 181.88800, minor_axis_length = 86.57874, eccentricity = 0.87945, convex_area = 12373.00000, extent = 0.77255, type = O + area = 11114.00000, perimeter = 413.07901, major_axis_length = 170.09941, minor_axis_length = 84.00699, eccentricity = 0.86954, convex_area = 11293.00000, extent = 0.76040, type = O + area = 13434.00000, perimeter = 455.82300, major_axis_length = 184.17033, minor_axis_length = 93.38285, eccentricity = 0.86192, convex_area = 13686.00000, extent = 0.63584, type = C + area = 10773.00000, perimeter = 414.89200, major_axis_length = 159.67531, minor_axis_length = 88.12444, eccentricity = 0.83391, convex_area = 11174.00000, extent = 0.63281, type = O + area = 14824.00000, perimeter = 513.21698, major_axis_length = 220.16020, minor_axis_length = 86.80725, eccentricity = 0.91899, convex_area = 15150.00000, extent = 0.56836, type = C + area = 13983.00000, perimeter = 481.65900, major_axis_length = 198.39046, minor_axis_length = 90.49815, eccentricity = 0.88990, convex_area = 14306.00000, extent = 0.58802, type = C + area = 14898.00000, perimeter = 501.49500, major_axis_length = 215.56334, minor_axis_length = 88.77060, eccentricity = 0.91127, convex_area = 15156.00000, extent = 0.65850, type = C + area = 12378.00000, perimeter = 459.97601, major_axis_length = 191.24950, minor_axis_length = 83.99847, eccentricity = 0.89838, convex_area = 12800.00000, extent = 0.56552, type = O + area = 16559.00000, perimeter = 524.12903, major_axis_length = 223.63762, minor_axis_length = 94.94791, eccentricity = 0.90540, convex_area = 16961.00000, extent = 0.77509, type = C + area = 12924.00000, perimeter = 474.42401, major_axis_length = 203.01993, minor_axis_length = 81.82216, eccentricity = 0.91519, convex_area = 13150.00000, extent = 0.53573, type = C + area = 14461.00000, perimeter = 483.56601, major_axis_length = 202.35306, minor_axis_length = 91.65204, eccentricity = 0.89155, convex_area = 14718.00000, extent = 0.74541, type = C + area = 13658.00000, perimeter = 499.37399, major_axis_length = 206.50974, minor_axis_length = 85.75655, eccentricity = 0.90970, convex_area = 14177.00000, extent = 0.54027, type = C + area = 11711.00000, perimeter = 447.00400, major_axis_length = 190.94492, minor_axis_length = 79.28987, eccentricity = 0.90971, convex_area = 11904.00000, extent = 0.59146, type = O + area = 16963.00000, perimeter = 536.03302, major_axis_length = 220.32758, minor_axis_length = 99.40977, eccentricity = 0.89243, convex_area = 17467.00000, extent = 0.59208, type = C + area = 9963.00000, perimeter = 410.08401, major_axis_length = 171.16846, minor_axis_length = 75.23148, eccentricity = 0.89823, convex_area = 10251.00000, extent = 0.71930, type = O + area = 10381.00000, perimeter = 414.18799, major_axis_length = 174.74463, minor_axis_length = 77.07955, eccentricity = 0.89746, convex_area = 10556.00000, extent = 0.60729, type = O + area = 15778.00000, perimeter = 515.27301, major_axis_length = 214.03784, minor_axis_length = 95.49767, eccentricity = 0.89495, convex_area = 16283.00000, extent = 0.68630, type = C + area = 14414.00000, perimeter = 476.32101, major_axis_length = 194.85976, minor_axis_length = 94.98595, eccentricity = 0.87315, convex_area = 14664.00000, extent = 0.66387, type = O + area = 13988.00000, perimeter = 491.48901, major_axis_length = 208.36464, minor_axis_length = 86.78497, eccentricity = 0.90913, convex_area = 14427.00000, extent = 0.61311, type = C + area = 12509.00000, perimeter = 464.50900, major_axis_length = 201.53149, minor_axis_length = 79.65081, eccentricity = 0.91858, convex_area = 12703.00000, extent = 0.54482, type = C + area = 15252.00000, perimeter = 501.33200, major_axis_length = 207.52405, minor_axis_length = 94.27309, eccentricity = 0.89086, convex_area = 15595.00000, extent = 0.59171, type = C + area = 11742.00000, perimeter = 428.03400, major_axis_length = 171.23189, minor_axis_length = 88.02340, eccentricity = 0.85775, convex_area = 11951.00000, extent = 0.63044, type = O + area = 12106.00000, perimeter = 448.50000, major_axis_length = 186.50513, minor_axis_length = 83.69872, eccentricity = 0.89365, convex_area = 12389.00000, extent = 0.65139, type = O + area = 9517.00000, perimeter = 389.00101, major_axis_length = 163.50932, minor_axis_length = 74.76005, eccentricity = 0.88935, convex_area = 9649.00000, extent = 0.58101, type = O + area = 12060.00000, perimeter = 451.59399, major_axis_length = 187.83069, minor_axis_length = 82.86118, eccentricity = 0.89743, convex_area = 12367.00000, extent = 0.59750, type = O + area = 16412.00000, perimeter = 515.11499, major_axis_length = 208.69455, minor_axis_length = 101.94176, eccentricity = 0.87258, convex_area = 16857.00000, extent = 0.77379, type = C + area = 14449.00000, perimeter = 496.32599, major_axis_length = 209.70576, minor_axis_length = 89.79037, eccentricity = 0.90370, convex_area = 14810.00000, extent = 0.66231, type = C + area = 14002.00000, perimeter = 490.57001, major_axis_length = 209.33427, minor_axis_length = 86.14631, eccentricity = 0.91140, convex_area = 14336.00000, extent = 0.65691, type = C + area = 12086.00000, perimeter = 438.50299, major_axis_length = 179.41664, minor_axis_length = 86.54947, eccentricity = 0.87595, convex_area = 12292.00000, extent = 0.62948, type = O + area = 11540.00000, perimeter = 427.52301, major_axis_length = 172.79500, minor_axis_length = 86.44035, eccentricity = 0.86588, convex_area = 11765.00000, extent = 0.60711, type = O + area = 13263.00000, perimeter = 474.49799, major_axis_length = 197.84290, minor_axis_length = 86.68632, eccentricity = 0.89890, convex_area = 13607.00000, extent = 0.56009, type = C + area = 12992.00000, perimeter = 458.89401, major_axis_length = 183.42082, minor_axis_length = 92.05144, eccentricity = 0.86495, convex_area = 13372.00000, extent = 0.77592, type = O + area = 11418.00000, perimeter = 432.89499, major_axis_length = 184.01616, minor_axis_length = 79.63114, eccentricity = 0.90152, convex_area = 11608.00000, extent = 0.63142, type = O + area = 15070.00000, perimeter = 504.05099, major_axis_length = 210.02599, minor_axis_length = 92.37322, eccentricity = 0.89809, convex_area = 15400.00000, extent = 0.64873, type = C + area = 12709.00000, perimeter = 456.17401, major_axis_length = 191.37341, minor_axis_length = 85.73984, eccentricity = 0.89402, convex_area = 12934.00000, extent = 0.78281, type = C + area = 12103.00000, perimeter = 456.36499, major_axis_length = 189.78593, minor_axis_length = 82.76078, eccentricity = 0.89991, convex_area = 12483.00000, extent = 0.62905, type = O + area = 13846.00000, perimeter = 479.58701, major_axis_length = 197.00459, minor_axis_length = 90.91550, eccentricity = 0.88715, convex_area = 14200.00000, extent = 0.71756, type = C + area = 14730.00000, perimeter = 483.70599, major_axis_length = 196.45126, minor_axis_length = 96.88643, eccentricity = 0.86993, convex_area = 15006.00000, extent = 0.65310, type = C + area = 11210.00000, perimeter = 428.89200, major_axis_length = 181.87332, minor_axis_length = 79.41141, eccentricity = 0.89964, convex_area = 11456.00000, extent = 0.63173, type = O + area = 11173.00000, perimeter = 420.93399, major_axis_length = 175.65459, minor_axis_length = 81.66387, eccentricity = 0.88536, convex_area = 11396.00000, extent = 0.80197, type = O + area = 16376.00000, perimeter = 531.00098, major_axis_length = 227.94485, minor_axis_length = 92.66852, eccentricity = 0.91363, convex_area = 16667.00000, extent = 0.74177, type = C + area = 10168.00000, perimeter = 400.47800, major_axis_length = 162.56297, minor_axis_length = 81.08891, eccentricity = 0.86671, convex_area = 10424.00000, extent = 0.62373, type = O + area = 12071.00000, perimeter = 438.70001, major_axis_length = 178.78461, minor_axis_length = 87.50312, eccentricity = 0.87204, convex_area = 12437.00000, extent = 0.64537, type = O + area = 14444.00000, perimeter = 491.14401, major_axis_length = 203.50719, minor_axis_length = 91.60270, eccentricity = 0.89297, convex_area = 14773.00000, extent = 0.57794, type = C + area = 12588.00000, perimeter = 445.29800, major_axis_length = 181.65675, minor_axis_length = 89.52711, eccentricity = 0.87012, convex_area = 12865.00000, extent = 0.77713, type = O + area = 11771.00000, perimeter = 441.85999, major_axis_length = 186.99777, minor_axis_length = 81.26962, eccentricity = 0.90062, convex_area = 12109.00000, extent = 0.61927, type = C + area = 11601.00000, perimeter = 416.64600, major_axis_length = 165.78099, minor_axis_length = 89.89610, eccentricity = 0.84021, convex_area = 11782.00000, extent = 0.64522, type = O + area = 14362.00000, perimeter = 479.93100, major_axis_length = 202.70265, minor_axis_length = 90.70675, eccentricity = 0.89429, convex_area = 14606.00000, extent = 0.59147, type = C + area = 15140.00000, perimeter = 502.55301, major_axis_length = 213.89561, minor_axis_length = 90.89738, eccentricity = 0.90521, convex_area = 15491.00000, extent = 0.75821, type = C + area = 11884.00000, perimeter = 434.84000, major_axis_length = 172.12608, minor_axis_length = 89.20809, eccentricity = 0.85522, convex_area = 12184.00000, extent = 0.62958, type = O + area = 14732.00000, perimeter = 497.69400, major_axis_length = 207.46820, minor_axis_length = 91.29447, eccentricity = 0.89798, convex_area = 15000.00000, extent = 0.58037, type = C + area = 10369.00000, perimeter = 402.98300, major_axis_length = 159.28703, minor_axis_length = 84.89051, eccentricity = 0.84615, convex_area = 10723.00000, extent = 0.63754, type = O + area = 9584.00000, perimeter = 390.00400, major_axis_length = 162.29663, minor_axis_length = 75.98748, eccentricity = 0.88362, convex_area = 9757.00000, extent = 0.80946, type = O + area = 12630.00000, perimeter = 444.05899, major_axis_length = 180.08488, minor_axis_length = 90.35011, eccentricity = 0.86504, convex_area = 12855.00000, extent = 0.67761, type = O + area = 12045.00000, perimeter = 452.30899, major_axis_length = 193.51352, minor_axis_length = 80.27762, eccentricity = 0.90989, convex_area = 12368.00000, extent = 0.55242, type = C + area = 10667.00000, perimeter = 411.74701, major_axis_length = 163.93025, minor_axis_length = 84.71981, eccentricity = 0.85610, convex_area = 10987.00000, extent = 0.66610, type = O + area = 13540.00000, perimeter = 458.53000, major_axis_length = 189.11140, minor_axis_length = 92.39391, eccentricity = 0.87253, convex_area = 13710.00000, extent = 0.79995, type = C + area = 11660.00000, perimeter = 433.30899, major_axis_length = 178.63858, minor_axis_length = 84.48659, eccentricity = 0.88109, convex_area = 11974.00000, extent = 0.61791, type = O + area = 11264.00000, perimeter = 423.39099, major_axis_length = 172.13951, minor_axis_length = 84.22161, eccentricity = 0.87214, convex_area = 11476.00000, extent = 0.73243, type = O + area = 14994.00000, perimeter = 508.30701, major_axis_length = 215.56981, minor_axis_length = 89.61988, eccentricity = 0.90949, convex_area = 15246.00000, extent = 0.55076, type = C + area = 10918.00000, perimeter = 422.48901, major_axis_length = 176.80490, minor_axis_length = 79.60382, eccentricity = 0.89291, convex_area = 11118.00000, extent = 0.79886, type = O + area = 12859.00000, perimeter = 462.87201, major_axis_length = 193.34184, minor_axis_length = 85.90899, eccentricity = 0.89586, convex_area = 13279.00000, extent = 0.70891, type = C + area = 15032.00000, perimeter = 500.60901, major_axis_length = 209.91653, minor_axis_length = 91.92539, eccentricity = 0.89902, convex_area = 15397.00000, extent = 0.71892, type = C + area = 13340.00000, perimeter = 474.68201, major_axis_length = 201.38533, minor_axis_length = 85.88859, eccentricity = 0.90449, convex_area = 13603.00000, extent = 0.70166, type = O + area = 13468.00000, perimeter = 470.76300, major_axis_length = 194.47350, minor_axis_length = 89.74107, eccentricity = 0.88716, convex_area = 14022.00000, extent = 0.69184, type = C + area = 9908.00000, perimeter = 432.76901, major_axis_length = 188.18768, minor_axis_length = 67.69534, eccentricity = 0.93306, convex_area = 10205.00000, extent = 0.61168, type = C + area = 12921.00000, perimeter = 476.74600, major_axis_length = 206.22263, minor_axis_length = 80.40368, eccentricity = 0.92086, convex_area = 13218.00000, extent = 0.54692, type = C + area = 12448.00000, perimeter = 443.96899, major_axis_length = 187.10294, minor_axis_length = 85.64953, eccentricity = 0.88907, convex_area = 12621.00000, extent = 0.62584, type = O + area = 12796.00000, perimeter = 471.20901, major_axis_length = 203.92963, minor_axis_length = 80.33001, eccentricity = 0.91915, convex_area = 13022.00000, extent = 0.68406, type = C + area = 12386.00000, perimeter = 467.85001, major_axis_length = 201.90131, minor_axis_length = 79.30883, eccentricity = 0.91962, convex_area = 12679.00000, extent = 0.79184, type = C + area = 11165.00000, perimeter = 424.16101, major_axis_length = 174.63153, minor_axis_length = 82.31621, eccentricity = 0.88194, convex_area = 11467.00000, extent = 0.64211, type = O + area = 10250.00000, perimeter = 407.28900, major_axis_length = 165.72189, minor_axis_length = 79.96314, eccentricity = 0.87589, convex_area = 10512.00000, extent = 0.72234, type = O + area = 14517.00000, perimeter = 488.32401, major_axis_length = 196.16449, minor_axis_length = 95.58290, eccentricity = 0.87326, convex_area = 14976.00000, extent = 0.59513, type = C + area = 14421.00000, perimeter = 489.81799, major_axis_length = 204.95683, minor_axis_length = 90.34169, eccentricity = 0.89761, convex_area = 14716.00000, extent = 0.62526, type = C + area = 16405.00000, perimeter = 526.57001, major_axis_length = 221.61252, minor_axis_length = 95.43671, eccentricity = 0.90252, convex_area = 16837.00000, extent = 0.65889, type = C + area = 10788.00000, perimeter = 414.90701, major_axis_length = 169.60159, minor_axis_length = 82.25015, eccentricity = 0.87454, convex_area = 11083.00000, extent = 0.64832, type = O + area = 11287.00000, perimeter = 429.32501, major_axis_length = 171.89574, minor_axis_length = 85.36037, eccentricity = 0.86799, convex_area = 11599.00000, extent = 0.59014, type = O + area = 12161.00000, perimeter = 448.59201, major_axis_length = 186.40129, minor_axis_length = 84.41882, eccentricity = 0.89157, convex_area = 12453.00000, extent = 0.60784, type = O + area = 13103.00000, perimeter = 456.78601, major_axis_length = 184.17467, minor_axis_length = 91.96735, eccentricity = 0.86640, convex_area = 13401.00000, extent = 0.76163, type = O + area = 14305.00000, perimeter = 490.18201, major_axis_length = 206.88472, minor_axis_length = 88.67580, eccentricity = 0.90348, convex_area = 14695.00000, extent = 0.65418, type = C + area = 14352.00000, perimeter = 484.08401, major_axis_length = 203.49686, minor_axis_length = 91.26853, eccentricity = 0.89378, convex_area = 14656.00000, extent = 0.56806, type = C + area = 13173.00000, perimeter = 467.47601, major_axis_length = 194.67645, minor_axis_length = 87.36396, eccentricity = 0.89365, convex_area = 13443.00000, extent = 0.57316, type = C + area = 14729.00000, perimeter = 496.93900, major_axis_length = 209.52042, minor_axis_length = 90.88716, eccentricity = 0.90102, convex_area = 15131.00000, extent = 0.61208, type = C + area = 10815.00000, perimeter = 420.81500, major_axis_length = 179.96773, minor_axis_length = 77.09937, eccentricity = 0.90359, convex_area = 10981.00000, extent = 0.56921, type = O + area = 13954.00000, perimeter = 484.53201, major_axis_length = 203.67818, minor_axis_length = 88.20872, eccentricity = 0.90136, convex_area = 14288.00000, extent = 0.75086, type = C + area = 10965.00000, perimeter = 433.77802, major_axis_length = 179.33522, minor_axis_length = 78.85896, eccentricity = 0.89813, convex_area = 11295.00000, extent = 0.66334, type = O + area = 11133.00000, perimeter = 431.70200, major_axis_length = 184.95299, minor_axis_length = 77.73632, eccentricity = 0.90738, convex_area = 11287.00000, extent = 0.55223, type = O + area = 14656.00000, perimeter = 494.31100, major_axis_length = 206.02007, minor_axis_length = 91.73097, eccentricity = 0.89540, convex_area = 15072.00000, extent = 0.61544, type = C + area = 14622.00000, perimeter = 481.61600, major_axis_length = 200.05356, minor_axis_length = 94.38364, eccentricity = 0.88171, convex_area = 14845.00000, extent = 0.60895, type = C + area = 10390.00000, perimeter = 420.79401, major_axis_length = 174.04564, minor_axis_length = 77.64330, eccentricity = 0.89498, convex_area = 10689.00000, extent = 0.72882, type = O + area = 11764.00000, perimeter = 428.56100, major_axis_length = 171.58627, minor_axis_length = 88.72550, eccentricity = 0.85593, convex_area = 12125.00000, extent = 0.68803, type = O + area = 12278.00000, perimeter = 453.69299, major_axis_length = 184.05016, minor_axis_length = 86.66009, eccentricity = 0.88221, convex_area = 12601.00000, extent = 0.62983, type = O + area = 14209.00000, perimeter = 496.27200, major_axis_length = 208.82291, minor_axis_length = 87.75803, eccentricity = 0.90741, convex_area = 14667.00000, extent = 0.56573, type = C + area = 12426.00000, perimeter = 451.08899, major_axis_length = 185.19102, minor_axis_length = 87.46068, eccentricity = 0.88145, convex_area = 12779.00000, extent = 0.62458, type = C + area = 10040.00000, perimeter = 394.71301, major_axis_length = 157.88472, minor_axis_length = 81.77408, eccentricity = 0.85542, convex_area = 10231.00000, extent = 0.62636, type = O + area = 14525.00000, perimeter = 487.21600, major_axis_length = 206.45012, minor_axis_length = 90.84386, eccentricity = 0.89798, convex_area = 14798.00000, extent = 0.59334, type = C + area = 12538.00000, perimeter = 452.66000, major_axis_length = 188.80528, minor_axis_length = 86.10972, eccentricity = 0.88994, convex_area = 12846.00000, extent = 0.68416, type = O + area = 10480.00000, perimeter = 414.80899, major_axis_length = 177.85612, minor_axis_length = 75.26311, eccentricity = 0.90605, convex_area = 10657.00000, extent = 0.63034, type = O + area = 9764.00000, perimeter = 390.95700, major_axis_length = 160.22710, minor_axis_length = 78.86163, eccentricity = 0.87049, convex_area = 9956.00000, extent = 0.64881, type = O + area = 13445.00000, perimeter = 490.81500, major_axis_length = 216.17297, minor_axis_length = 79.60010, eccentricity = 0.92974, convex_area = 13640.00000, extent = 0.53544, type = C + area = 11051.00000, perimeter = 421.34799, major_axis_length = 166.91263, minor_axis_length = 85.74883, eccentricity = 0.85795, convex_area = 11421.00000, extent = 0.69333, type = O + area = 13580.00000, perimeter = 460.54901, major_axis_length = 192.75961, minor_axis_length = 90.22404, eccentricity = 0.88369, convex_area = 13753.00000, extent = 0.79415, type = O + area = 11790.00000, perimeter = 432.32700, major_axis_length = 181.34070, minor_axis_length = 83.65613, eccentricity = 0.88723, convex_area = 11990.00000, extent = 0.60462, type = O + area = 12470.00000, perimeter = 455.89700, major_axis_length = 192.46115, minor_axis_length = 83.39553, eccentricity = 0.90124, convex_area = 12704.00000, extent = 0.58130, type = C + area = 12020.00000, perimeter = 425.73401, major_axis_length = 175.54869, minor_axis_length = 87.59830, eccentricity = 0.86660, convex_area = 12176.00000, extent = 0.64686, type = O + area = 11859.00000, perimeter = 444.80099, major_axis_length = 183.55276, minor_axis_length = 83.57420, eccentricity = 0.89033, convex_area = 12213.00000, extent = 0.76313, type = C + area = 10912.00000, perimeter = 424.88199, major_axis_length = 171.86250, minor_axis_length = 81.76659, eccentricity = 0.87957, convex_area = 11282.00000, extent = 0.61276, type = O + area = 12563.00000, perimeter = 444.86899, major_axis_length = 183.22375, minor_axis_length = 88.04948, eccentricity = 0.87696, convex_area = 12767.00000, extent = 0.76697, type = O + area = 11472.00000, perimeter = 420.25699, major_axis_length = 174.82526, minor_axis_length = 83.87502, eccentricity = 0.87740, convex_area = 11617.00000, extent = 0.74224, type = O + area = 17135.00000, perimeter = 525.93799, major_axis_length = 217.72835, minor_axis_length = 101.15462, eccentricity = 0.88553, convex_area = 17471.00000, extent = 0.59373, type = C + area = 10781.00000, perimeter = 414.95499, major_axis_length = 169.73618, minor_axis_length = 82.24104, eccentricity = 0.87478, convex_area = 11069.00000, extent = 0.69934, type = O + area = 12411.00000, perimeter = 443.55499, major_axis_length = 178.22722, minor_axis_length = 90.22404, eccentricity = 0.86240, convex_area = 12780.00000, extent = 0.64053, type = O + area = 12593.00000, perimeter = 449.57001, major_axis_length = 179.36755, minor_axis_length = 90.69928, eccentricity = 0.86273, convex_area = 12945.00000, extent = 0.62758, type = O + area = 14176.00000, perimeter = 513.14899, major_axis_length = 220.03699, minor_axis_length = 83.43087, eccentricity = 0.92533, convex_area = 14675.00000, extent = 0.54379, type = C + area = 12881.00000, perimeter = 457.78400, major_axis_length = 192.62717, minor_axis_length = 86.60135, eccentricity = 0.89324, convex_area = 13109.00000, extent = 0.57203, type = O + area = 11136.00000, perimeter = 419.52100, major_axis_length = 172.73734, minor_axis_length = 82.87894, eccentricity = 0.87738, convex_area = 11373.00000, extent = 0.70615, type = O + area = 15344.00000, perimeter = 501.79999, major_axis_length = 212.42270, minor_axis_length = 92.96140, eccentricity = 0.89916, convex_area = 15604.00000, extent = 0.79420, type = C + area = 13277.00000, perimeter = 463.96799, major_axis_length = 193.06090, minor_axis_length = 88.17571, eccentricity = 0.88961, convex_area = 13454.00000, extent = 0.61016, type = C + area = 15458.00000, perimeter = 511.95200, major_axis_length = 216.60767, minor_axis_length = 91.79173, eccentricity = 0.90577, convex_area = 15854.00000, extent = 0.58405, type = C + area = 13816.00000, perimeter = 484.27600, major_axis_length = 199.01349, minor_axis_length = 89.86625, eccentricity = 0.89224, convex_area = 14356.00000, extent = 0.64246, type = C + area = 12956.00000, perimeter = 458.65601, major_axis_length = 187.21146, minor_axis_length = 89.15869, eccentricity = 0.87931, convex_area = 13310.00000, extent = 0.71077, type = O + area = 11893.00000, perimeter = 435.28299, major_axis_length = 176.65935, minor_axis_length = 87.10894, eccentricity = 0.86998, convex_area = 12243.00000, extent = 0.77232, type = O + area = 16263.00000, perimeter = 546.56201, major_axis_length = 230.95955, minor_axis_length = 91.65092, eccentricity = 0.91789, convex_area = 16796.00000, extent = 0.57123, type = C + area = 11051.00000, perimeter = 424.97601, major_axis_length = 180.87190, minor_axis_length = 78.26738, eccentricity = 0.90153, convex_area = 11240.00000, extent = 0.56806, type = O + area = 10481.00000, perimeter = 413.72198, major_axis_length = 174.16463, minor_axis_length = 77.66029, eccentricity = 0.89508, convex_area = 10648.00000, extent = 0.80648, type = O + area = 15275.00000, perimeter = 509.85501, major_axis_length = 217.55469, minor_axis_length = 90.18382, eccentricity = 0.91003, convex_area = 15582.00000, extent = 0.66761, type = C + area = 15319.00000, perimeter = 506.02499, major_axis_length = 208.22775, minor_axis_length = 94.83875, eccentricity = 0.89026, convex_area = 15813.00000, extent = 0.57370, type = C + area = 10598.00000, perimeter = 411.47900, major_axis_length = 162.20229, minor_axis_length = 85.22141, eccentricity = 0.85085, convex_area = 10936.00000, extent = 0.59353, type = O + area = 12789.00000, perimeter = 454.38901, major_axis_length = 183.62456, minor_axis_length = 89.72113, eccentricity = 0.87250, convex_area = 13114.00000, extent = 0.69505, type = C + area = 14205.00000, perimeter = 487.35101, major_axis_length = 204.33224, minor_axis_length = 89.63425, eccentricity = 0.89865, convex_area = 14637.00000, extent = 0.77369, type = C + area = 11279.00000, perimeter = 426.21201, major_axis_length = 168.40247, minor_axis_length = 86.92973, eccentricity = 0.85647, convex_area = 11651.00000, extent = 0.66090, type = O + area = 10469.00000, perimeter = 402.45099, major_axis_length = 159.39949, minor_axis_length = 84.83900, eccentricity = 0.84659, convex_area = 10746.00000, extent = 0.77411, type = O + area = 10359.00000, perimeter = 409.51099, major_axis_length = 173.33797, minor_axis_length = 76.87581, eccentricity = 0.89627, convex_area = 10510.00000, extent = 0.57359, type = O + area = 12128.00000, perimeter = 441.71201, major_axis_length = 184.30515, minor_axis_length = 84.94325, eccentricity = 0.88746, convex_area = 12327.00000, extent = 0.62233, type = O + area = 11459.00000, perimeter = 435.45300, major_axis_length = 175.30644, minor_axis_length = 85.23182, eccentricity = 0.87385, convex_area = 11833.00000, extent = 0.58390, type = O + area = 14560.00000, perimeter = 501.24600, major_axis_length = 212.10609, minor_axis_length = 89.32131, eccentricity = 0.90701, convex_area = 14988.00000, extent = 0.68956, type = C + area = 17437.00000, perimeter = 536.89899, major_axis_length = 230.25746, minor_axis_length = 97.31148, eccentricity = 0.90631, convex_area = 17650.00000, extent = 0.75915, type = C + area = 10680.00000, perimeter = 413.80301, major_axis_length = 171.88202, minor_axis_length = 79.86556, eccentricity = 0.88549, convex_area = 10848.00000, extent = 0.59077, type = O + area = 15460.00000, perimeter = 507.07700, major_axis_length = 213.57233, minor_axis_length = 93.55610, eccentricity = 0.89895, convex_area = 15819.00000, extent = 0.58221, type = C + area = 11803.00000, perimeter = 463.80899, major_axis_length = 201.65070, minor_axis_length = 76.42431, eccentricity = 0.92540, convex_area = 12138.00000, extent = 0.54949, type = C + area = 11302.00000, perimeter = 418.20099, major_axis_length = 167.57506, minor_axis_length = 86.95644, eccentricity = 0.85483, convex_area = 11591.00000, extent = 0.62356, type = O + area = 13617.00000, perimeter = 465.00299, major_axis_length = 189.25548, minor_axis_length = 92.44891, eccentricity = 0.87257, convex_area = 13872.00000, extent = 0.61613, type = O + area = 15713.00000, perimeter = 518.45203, major_axis_length = 218.76726, minor_axis_length = 92.42918, eccentricity = 0.90636, convex_area = 16038.00000, extent = 0.58352, type = C + area = 13450.00000, perimeter = 465.39801, major_axis_length = 193.37497, minor_axis_length = 89.50690, eccentricity = 0.88643, convex_area = 13661.00000, extent = 0.61579, type = C + area = 11259.00000, perimeter = 421.50500, major_axis_length = 172.21184, minor_axis_length = 84.22155, eccentricity = 0.87225, convex_area = 11522.00000, extent = 0.79367, type = O + area = 13790.00000, perimeter = 479.29999, major_axis_length = 198.90132, minor_axis_length = 90.13603, eccentricity = 0.89142, convex_area = 14190.00000, extent = 0.58691, type = C + area = 11391.00000, perimeter = 434.78699, major_axis_length = 186.01837, minor_axis_length = 78.78859, eccentricity = 0.90587, convex_area = 11623.00000, extent = 0.77940, type = O + area = 15807.00000, perimeter = 513.51099, major_axis_length = 219.29633, minor_axis_length = 92.29657, eccentricity = 0.90712, convex_area = 16078.00000, extent = 0.78098, type = C + area = 10891.00000, perimeter = 406.57101, major_axis_length = 159.86882, minor_axis_length = 87.57321, eccentricity = 0.83662, convex_area = 11103.00000, extent = 0.67596, type = O + area = 14715.00000, perimeter = 497.55701, major_axis_length = 212.03532, minor_axis_length = 89.50563, eccentricity = 0.90654, convex_area = 15094.00000, extent = 0.79489, type = C + area = 13870.00000, perimeter = 484.12701, major_axis_length = 203.41826, minor_axis_length = 88.50323, eccentricity = 0.90039, convex_area = 14266.00000, extent = 0.75652, type = C + area = 12416.00000, perimeter = 449.73999, major_axis_length = 190.60756, minor_axis_length = 83.51945, eccentricity = 0.89889, convex_area = 12607.00000, extent = 0.67721, type = O + area = 13933.00000, perimeter = 483.93201, major_axis_length = 207.20593, minor_axis_length = 86.29932, eccentricity = 0.90914, convex_area = 14238.00000, extent = 0.58839, type = C + area = 14850.00000, perimeter = 499.20700, major_axis_length = 210.13364, minor_axis_length = 91.14337, eccentricity = 0.90104, convex_area = 15327.00000, extent = 0.58901, type = C + area = 13682.00000, perimeter = 488.89999, major_axis_length = 199.55969, minor_axis_length = 89.44221, eccentricity = 0.89393, convex_area = 14457.00000, extent = 0.59967, type = C + area = 14645.00000, perimeter = 485.11301, major_axis_length = 201.15378, minor_axis_length = 93.58040, eccentricity = 0.88520, convex_area = 14889.00000, extent = 0.64641, type = C + area = 13567.00000, perimeter = 481.09500, major_axis_length = 206.62842, minor_axis_length = 84.00917, eccentricity = 0.91362, convex_area = 13818.00000, extent = 0.60111, type = C + area = 12330.00000, perimeter = 433.06900, major_axis_length = 173.93456, minor_axis_length = 91.46205, eccentricity = 0.85058, convex_area = 12550.00000, extent = 0.68424, type = O + area = 10499.00000, perimeter = 408.72900, major_axis_length = 165.55937, minor_axis_length = 82.35825, eccentricity = 0.86749, convex_area = 10785.00000, extent = 0.66131, type = O + area = 14608.00000, perimeter = 483.16101, major_axis_length = 201.03494, minor_axis_length = 93.46073, eccentricity = 0.88536, convex_area = 14845.00000, extent = 0.65501, type = O + area = 15786.00000, perimeter = 500.86099, major_axis_length = 205.46724, minor_axis_length = 98.81665, eccentricity = 0.87676, convex_area = 16127.00000, extent = 0.61091, type = C + area = 13328.00000, perimeter = 473.04401, major_axis_length = 201.39886, minor_axis_length = 85.25861, eccentricity = 0.90597, convex_area = 13588.00000, extent = 0.78010, type = C + area = 13335.00000, perimeter = 474.37701, major_axis_length = 197.83990, minor_axis_length = 87.58254, eccentricity = 0.89667, convex_area = 13702.00000, extent = 0.66702, type = O + area = 12799.00000, perimeter = 443.41699, major_axis_length = 175.32970, minor_axis_length = 94.25945, eccentricity = 0.84319, convex_area = 13066.00000, extent = 0.63161, type = O + area = 15198.00000, perimeter = 499.62601, major_axis_length = 210.63348, minor_axis_length = 92.94599, eccentricity = 0.89737, convex_area = 15521.00000, extent = 0.74610, type = C + area = 12062.00000, perimeter = 432.62399, major_axis_length = 175.89680, minor_axis_length = 88.78304, eccentricity = 0.86327, convex_area = 12318.00000, extent = 0.61591, type = O + area = 13450.00000, perimeter = 470.97601, major_axis_length = 200.60817, minor_axis_length = 85.92672, eccentricity = 0.90362, convex_area = 13728.00000, extent = 0.56375, type = C + area = 14483.00000, perimeter = 512.72101, major_axis_length = 215.76816, minor_axis_length = 86.27912, eccentricity = 0.91657, convex_area = 14912.00000, extent = 0.53229, type = C + area = 12529.00000, perimeter = 437.83899, major_axis_length = 174.86145, minor_axis_length = 92.18926, eccentricity = 0.84973, convex_area = 12840.00000, extent = 0.76602, type = O + area = 13235.00000, perimeter = 465.81601, major_axis_length = 193.54562, minor_axis_length = 88.63944, eccentricity = 0.88896, convex_area = 13629.00000, extent = 0.56548, type = C + area = 12347.00000, perimeter = 452.29001, major_axis_length = 186.89604, minor_axis_length = 85.22990, eccentricity = 0.88997, convex_area = 12659.00000, extent = 0.60525, type = O + area = 12994.00000, perimeter = 453.94101, major_axis_length = 192.16599, minor_axis_length = 86.55553, eccentricity = 0.89282, convex_area = 13152.00000, extent = 0.81416, type = O + area = 15420.00000, perimeter = 503.45999, major_axis_length = 206.05655, minor_axis_length = 96.41728, eccentricity = 0.88377, convex_area = 15800.00000, extent = 0.58462, type = O + area = 14415.00000, perimeter = 488.12201, major_axis_length = 203.59285, minor_axis_length = 91.03473, eccentricity = 0.89446, convex_area = 14758.00000, extent = 0.67410, type = C + area = 14786.00000, perimeter = 505.38901, major_axis_length = 214.21838, minor_axis_length = 89.42657, eccentricity = 0.90870, convex_area = 15177.00000, extent = 0.73416, type = C + area = 13753.00000, perimeter = 461.13000, major_axis_length = 185.53104, minor_axis_length = 95.42747, eccentricity = 0.85758, convex_area = 13962.00000, extent = 0.65118, type = O + area = 9487.00000, perimeter = 394.28000, major_axis_length = 165.93575, minor_axis_length = 73.33004, eccentricity = 0.89706, convex_area = 9659.00000, extent = 0.72298, type = O + area = 12974.00000, perimeter = 460.41699, major_axis_length = 191.32578, minor_axis_length = 87.28571, eccentricity = 0.88987, convex_area = 13310.00000, extent = 0.67721, type = C + area = 10983.00000, perimeter = 417.70999, major_axis_length = 171.84035, minor_axis_length = 82.69301, eccentricity = 0.87660, convex_area = 11229.00000, extent = 0.77481, type = O + area = 14463.00000, perimeter = 480.48999, major_axis_length = 201.93422, minor_axis_length = 91.94389, eccentricity = 0.89033, convex_area = 14698.00000, extent = 0.67512, type = C + area = 13806.00000, perimeter = 490.51001, major_axis_length = 209.72084, minor_axis_length = 85.13124, eccentricity = 0.91391, convex_area = 14284.00000, extent = 0.79587, type = C + area = 14549.00000, perimeter = 488.95300, major_axis_length = 206.69482, minor_axis_length = 90.76069, eccentricity = 0.89844, convex_area = 14856.00000, extent = 0.58247, type = C + area = 13627.00000, perimeter = 476.98901, major_axis_length = 201.19452, minor_axis_length = 86.95226, eccentricity = 0.90179, convex_area = 13926.00000, extent = 0.78056, type = C + area = 14132.00000, perimeter = 482.36899, major_axis_length = 205.20067, minor_axis_length = 88.29636, eccentricity = 0.90269, convex_area = 14341.00000, extent = 0.58610, type = C + area = 13024.00000, perimeter = 469.64700, major_axis_length = 193.92215, minor_axis_length = 87.51405, eccentricity = 0.89238, convex_area = 13422.00000, extent = 0.53956, type = O + area = 12734.00000, perimeter = 447.08401, major_axis_length = 180.24823, minor_axis_length = 91.31796, eccentricity = 0.86217, convex_area = 13019.00000, extent = 0.79488, type = O + area = 11183.00000, perimeter = 414.34900, major_axis_length = 170.64938, minor_axis_length = 83.88195, eccentricity = 0.87085, convex_area = 11321.00000, extent = 0.61699, type = O + area = 15907.00000, perimeter = 527.21100, major_axis_length = 224.25220, minor_axis_length = 91.44114, eccentricity = 0.91309, convex_area = 16206.00000, extent = 0.54767, type = C + area = 12600.00000, perimeter = 441.23401, major_axis_length = 182.66325, minor_axis_length = 88.16089, eccentricity = 0.87582, convex_area = 12767.00000, extent = 0.60069, type = O + area = 16253.00000, perimeter = 525.48199, major_axis_length = 218.52756, minor_axis_length = 95.91184, eccentricity = 0.89854, convex_area = 16690.00000, extent = 0.56797, type = C + area = 14314.00000, perimeter = 484.73099, major_axis_length = 206.86554, minor_axis_length = 88.56290, eccentricity = 0.90372, convex_area = 14536.00000, extent = 0.75337, type = C + area = 11889.00000, perimeter = 439.98901, major_axis_length = 186.10785, minor_axis_length = 82.14304, eccentricity = 0.89732, convex_area = 12096.00000, extent = 0.79771, type = O + area = 15366.00000, perimeter = 508.79300, major_axis_length = 211.37265, minor_axis_length = 93.96780, eccentricity = 0.89575, convex_area = 15746.00000, extent = 0.56459, type = C + area = 12345.00000, perimeter = 438.02499, major_axis_length = 177.27922, minor_axis_length = 89.73426, eccentricity = 0.86243, convex_area = 12586.00000, extent = 0.62141, type = O + area = 13684.00000, perimeter = 505.65500, major_axis_length = 213.59363, minor_axis_length = 83.51059, eccentricity = 0.92040, convex_area = 14158.00000, extent = 0.57763, type = C + area = 13858.00000, perimeter = 475.36899, major_axis_length = 201.44203, minor_axis_length = 87.92325, eccentricity = 0.89972, convex_area = 14083.00000, extent = 0.77854, type = C + area = 9212.00000, perimeter = 384.59601, major_axis_length = 155.83997, minor_axis_length = 76.30696, eccentricity = 0.87192, convex_area = 9453.00000, extent = 0.65965, type = O + area = 14324.00000, perimeter = 487.25299, major_axis_length = 195.94514, minor_axis_length = 94.84135, eccentricity = 0.87506, convex_area = 14822.00000, extent = 0.75740, type = C + area = 9221.00000, perimeter = 387.09399, major_axis_length = 159.22450, minor_axis_length = 74.90333, eccentricity = 0.88244, convex_area = 9418.00000, extent = 0.76842, type = O + area = 15856.00000, perimeter = 509.01999, major_axis_length = 210.16438, minor_axis_length = 97.76022, eccentricity = 0.88523, convex_area = 16160.00000, extent = 0.76267, type = C + area = 10241.00000, perimeter = 411.94699, major_axis_length = 167.74768, minor_axis_length = 79.10551, eccentricity = 0.88183, convex_area = 10486.00000, extent = 0.58975, type = O + area = 11297.00000, perimeter = 416.67999, major_axis_length = 165.35921, minor_axis_length = 88.23675, eccentricity = 0.84573, convex_area = 11535.00000, extent = 0.62929, type = O + area = 17192.00000, perimeter = 528.34198, major_axis_length = 222.94994, minor_axis_length = 99.09267, eccentricity = 0.89580, convex_area = 17457.00000, extent = 0.62891, type = C + area = 15311.00000, perimeter = 507.99500, major_axis_length = 215.14145, minor_axis_length = 91.61975, eccentricity = 0.90479, convex_area = 15690.00000, extent = 0.70441, type = C + area = 14263.00000, perimeter = 489.44601, major_axis_length = 205.81178, minor_axis_length = 89.50909, eccentricity = 0.90048, convex_area = 14637.00000, extent = 0.66318, type = C + area = 11898.00000, perimeter = 453.98001, major_axis_length = 195.36005, minor_axis_length = 78.36910, eccentricity = 0.91601, convex_area = 12134.00000, extent = 0.54804, type = C + area = 10327.00000, perimeter = 403.39600, major_axis_length = 166.08113, minor_axis_length = 79.95890, eccentricity = 0.87648, convex_area = 10576.00000, extent = 0.62331, type = O + area = 11119.00000, perimeter = 427.04599, major_axis_length = 178.81313, minor_axis_length = 80.61784, eccentricity = 0.89260, convex_area = 11420.00000, extent = 0.79071, type = O + area = 11339.00000, perimeter = 423.97000, major_axis_length = 171.70662, minor_axis_length = 85.35773, eccentricity = 0.86769, convex_area = 11531.00000, extent = 0.67919, type = O + area = 12382.00000, perimeter = 453.04999, major_axis_length = 187.10699, minor_axis_length = 85.73008, eccentricity = 0.88886, convex_area = 12771.00000, extent = 0.61346, type = O + area = 14608.00000, perimeter = 504.30600, major_axis_length = 210.26993, minor_axis_length = 90.16652, eccentricity = 0.90339, convex_area = 15125.00000, extent = 0.63513, type = C + area = 11973.00000, perimeter = 436.18301, major_axis_length = 177.13417, minor_axis_length = 87.45832, eccentricity = 0.86961, convex_area = 12197.00000, extent = 0.59889, type = O + area = 12005.00000, perimeter = 440.26501, major_axis_length = 180.68211, minor_axis_length = 85.73723, eccentricity = 0.88024, convex_area = 12319.00000, extent = 0.60302, type = O + area = 11718.00000, perimeter = 427.14600, major_axis_length = 164.74820, minor_axis_length = 93.12975, eccentricity = 0.82490, convex_area = 12155.00000, extent = 0.72031, type = O + area = 10737.00000, perimeter = 414.47198, major_axis_length = 170.45758, minor_axis_length = 81.17029, eccentricity = 0.87934, convex_area = 10986.00000, extent = 0.61179, type = O + area = 11180.00000, perimeter = 425.49701, major_axis_length = 177.01859, minor_axis_length = 81.56252, eccentricity = 0.88753, convex_area = 11353.00000, extent = 0.57939, type = O + area = 15741.00000, perimeter = 523.77600, major_axis_length = 227.50233, minor_axis_length = 89.12435, eccentricity = 0.92007, convex_area = 15999.00000, extent = 0.56322, type = C + area = 10546.00000, perimeter = 428.54501, major_axis_length = 179.59662, minor_axis_length = 77.14633, eccentricity = 0.90304, convex_area = 10893.00000, extent = 0.59764, type = O + area = 11691.00000, perimeter = 426.28000, major_axis_length = 176.18996, minor_axis_length = 85.12367, eccentricity = 0.87555, convex_area = 11908.00000, extent = 0.61824, type = O + area = 12899.00000, perimeter = 472.26300, major_axis_length = 205.52055, minor_axis_length = 80.43336, eccentricity = 0.92024, convex_area = 13107.00000, extent = 0.58592, type = C + area = 13799.00000, perimeter = 454.74100, major_axis_length = 184.86827, minor_axis_length = 95.91586, eccentricity = 0.85488, convex_area = 13965.00000, extent = 0.62180, type = O + area = 12599.00000, perimeter = 455.28101, major_axis_length = 188.01591, minor_axis_length = 86.37449, eccentricity = 0.88823, convex_area = 12897.00000, extent = 0.62125, type = C + area = 12274.00000, perimeter = 456.12399, major_axis_length = 194.48738, minor_axis_length = 81.23903, eccentricity = 0.90858, convex_area = 12562.00000, extent = 0.70964, type = C + area = 10878.00000, perimeter = 423.79300, major_axis_length = 179.84694, minor_axis_length = 77.79790, eccentricity = 0.90160, convex_area = 11015.00000, extent = 0.58016, type = O + area = 13467.00000, perimeter = 473.30099, major_axis_length = 203.08192, minor_axis_length = 84.99756, eccentricity = 0.90820, convex_area = 13753.00000, extent = 0.77397, type = C + area = 10847.00000, perimeter = 417.67001, major_axis_length = 168.35777, minor_axis_length = 82.87085, eccentricity = 0.87046, convex_area = 11152.00000, extent = 0.62411, type = O + area = 12913.00000, perimeter = 449.02399, major_axis_length = 178.16380, minor_axis_length = 93.14697, eccentricity = 0.85245, convex_area = 13198.00000, extent = 0.62563, type = O + area = 12736.00000, perimeter = 447.87000, major_axis_length = 182.77118, minor_axis_length = 89.68171, eccentricity = 0.87134, convex_area = 12964.00000, extent = 0.75272, type = C + area = 13742.00000, perimeter = 493.85400, major_axis_length = 212.60800, minor_axis_length = 84.88686, eccentricity = 0.91684, convex_area = 14272.00000, extent = 0.58323, type = C + area = 11108.00000, perimeter = 403.61801, major_axis_length = 164.10645, minor_axis_length = 86.64312, eccentricity = 0.84926, convex_area = 11256.00000, extent = 0.79684, type = O + area = 11552.00000, perimeter = 432.81201, major_axis_length = 178.89076, minor_axis_length = 84.07980, eccentricity = 0.88266, convex_area = 11838.00000, extent = 0.63647, type = O + area = 16104.00000, perimeter = 507.42899, major_axis_length = 206.07074, minor_axis_length = 100.75363, eccentricity = 0.87232, convex_area = 16457.00000, extent = 0.60541, type = C + area = 11750.00000, perimeter = 428.37500, major_axis_length = 178.55362, minor_axis_length = 84.70419, eccentricity = 0.88031, convex_area = 11869.00000, extent = 0.60868, type = O + area = 16146.00000, perimeter = 509.33200, major_axis_length = 213.62003, minor_axis_length = 96.64880, eccentricity = 0.89180, convex_area = 16404.00000, extent = 0.59676, type = C + area = 16067.00000, perimeter = 526.42499, major_axis_length = 228.94226, minor_axis_length = 90.14622, eccentricity = 0.91922, convex_area = 16370.00000, extent = 0.55586, type = C + area = 14498.00000, perimeter = 496.54999, major_axis_length = 200.71027, minor_axis_length = 93.57654, eccentricity = 0.88467, convex_area = 15053.00000, extent = 0.65306, type = O + area = 10246.00000, perimeter = 419.95001, major_axis_length = 178.92371, minor_axis_length = 74.24162, eccentricity = 0.90985, convex_area = 10525.00000, extent = 0.77786, type = O + area = 10513.00000, perimeter = 410.03500, major_axis_length = 165.65660, minor_axis_length = 82.55254, eccentricity = 0.86698, convex_area = 10789.00000, extent = 0.72553, type = O + area = 16156.00000, perimeter = 495.71399, major_axis_length = 197.27431, minor_axis_length = 105.53798, eccentricity = 0.84486, convex_area = 16434.00000, extent = 0.70941, type = C + area = 13176.00000, perimeter = 458.34299, major_axis_length = 193.33739, minor_axis_length = 87.44839, eccentricity = 0.89186, convex_area = 13368.00000, extent = 0.64067, type = C + area = 9154.00000, perimeter = 383.67700, major_axis_length = 158.31737, minor_axis_length = 74.56001, eccentricity = 0.88216, convex_area = 9346.00000, extent = 0.74751, type = O + area = 9918.00000, perimeter = 398.95499, major_axis_length = 161.46761, minor_axis_length = 79.89353, eccentricity = 0.86901, convex_area = 10270.00000, extent = 0.62209, type = O + area = 15290.00000, perimeter = 501.05701, major_axis_length = 209.36775, minor_axis_length = 94.17390, eccentricity = 0.89313, convex_area = 15582.00000, extent = 0.75783, type = C + area = 12019.00000, perimeter = 442.11200, major_axis_length = 183.98193, minor_axis_length = 84.30915, eccentricity = 0.88882, convex_area = 12290.00000, extent = 0.58007, type = O + area = 10265.00000, perimeter = 400.32199, major_axis_length = 163.16632, minor_axis_length = 81.64381, eccentricity = 0.86581, convex_area = 10450.00000, extent = 0.61101, type = O + area = 13675.00000, perimeter = 478.60699, major_axis_length = 194.80292, minor_axis_length = 90.32217, eccentricity = 0.88601, convex_area = 14146.00000, extent = 0.58142, type = C + area = 10015.00000, perimeter = 402.17899, major_axis_length = 160.38683, minor_axis_length = 81.07691, eccentricity = 0.86282, convex_area = 10338.00000, extent = 0.69462, type = O + area = 10451.00000, perimeter = 419.69601, major_axis_length = 174.23369, minor_axis_length = 78.35890, eccentricity = 0.89316, convex_area = 10722.00000, extent = 0.58687, type = O + area = 10148.00000, perimeter = 408.22800, major_axis_length = 168.72536, minor_axis_length = 77.14333, eccentricity = 0.88936, convex_area = 10409.00000, extent = 0.58325, type = O + area = 12397.00000, perimeter = 433.35199, major_axis_length = 171.60930, minor_axis_length = 92.98810, eccentricity = 0.84047, convex_area = 12631.00000, extent = 0.63477, type = O + area = 13334.00000, perimeter = 470.52399, major_axis_length = 194.31920, minor_axis_length = 89.29185, eccentricity = 0.88817, convex_area = 13738.00000, extent = 0.62431, type = C + area = 12615.00000, perimeter = 458.23499, major_axis_length = 185.04196, minor_axis_length = 88.18565, eccentricity = 0.87914, convex_area = 13014.00000, extent = 0.62167, type = O + area = 13174.00000, perimeter = 480.57700, major_axis_length = 203.50645, minor_axis_length = 83.42044, eccentricity = 0.91212, convex_area = 13606.00000, extent = 0.54947, type = C + area = 11544.00000, perimeter = 421.84601, major_axis_length = 170.34583, minor_axis_length = 87.41750, eccentricity = 0.85828, convex_area = 11800.00000, extent = 0.65651, type = O + area = 12837.00000, perimeter = 445.63800, major_axis_length = 178.19829, minor_axis_length = 93.73123, eccentricity = 0.85049, convex_area = 13197.00000, extent = 0.76293, type = O + area = 9598.00000, perimeter = 397.00000, major_axis_length = 172.00679, minor_axis_length = 72.28365, eccentricity = 0.90741, convex_area = 9766.00000, extent = 0.79685, type = O + area = 10863.00000, perimeter = 411.62201, major_axis_length = 168.27142, minor_axis_length = 83.16528, eccentricity = 0.86933, convex_area = 11057.00000, extent = 0.70283, type = O + area = 11363.00000, perimeter = 416.04999, major_axis_length = 168.43848, minor_axis_length = 86.90823, eccentricity = 0.85661, convex_area = 11594.00000, extent = 0.63026, type = O + area = 12809.00000, perimeter = 455.14401, major_axis_length = 189.07947, minor_axis_length = 87.20803, eccentricity = 0.88728, convex_area = 13025.00000, extent = 0.59000, type = C + area = 13789.00000, perimeter = 471.30301, major_axis_length = 198.52347, minor_axis_length = 88.71288, eccentricity = 0.89460, convex_area = 14025.00000, extent = 0.63136, type = C + area = 11149.00000, perimeter = 416.89099, major_axis_length = 167.29213, minor_axis_length = 86.69962, eccentricity = 0.85523, convex_area = 11323.00000, extent = 0.69090, type = O + area = 13331.00000, perimeter = 461.30899, major_axis_length = 193.55994, minor_axis_length = 88.79623, eccentricity = 0.88856, convex_area = 13500.00000, extent = 0.57951, type = O + area = 15321.00000, perimeter = 513.00702, major_axis_length = 218.71196, minor_axis_length = 90.26067, eccentricity = 0.91087, convex_area = 15646.00000, extent = 0.71188, type = C + area = 15265.00000, perimeter = 505.09900, major_axis_length = 211.44301, minor_axis_length = 93.12214, eccentricity = 0.89780, convex_area = 15639.00000, extent = 0.74131, type = C + area = 13533.00000, perimeter = 473.93201, major_axis_length = 196.11755, minor_axis_length = 88.91679, eccentricity = 0.89131, convex_area = 13897.00000, extent = 0.60456, type = C + area = 12146.00000, perimeter = 442.24701, major_axis_length = 176.50616, minor_axis_length = 89.75159, eccentricity = 0.86107, convex_area = 12502.00000, extent = 0.77541, type = O + area = 15594.00000, perimeter = 515.66101, major_axis_length = 216.53427, minor_axis_length = 93.27998, eccentricity = 0.90245, convex_area = 16029.00000, extent = 0.66667, type = C + area = 10312.00000, perimeter = 398.79501, major_axis_length = 163.54231, minor_axis_length = 80.67045, eccentricity = 0.86988, convex_area = 10507.00000, extent = 0.80575, type = O + area = 15168.00000, perimeter = 504.98001, major_axis_length = 212.82603, minor_axis_length = 91.61982, eccentricity = 0.90259, convex_area = 15432.00000, extent = 0.58365, type = C + area = 13513.00000, perimeter = 473.10300, major_axis_length = 196.27908, minor_axis_length = 89.51603, eccentricity = 0.88995, convex_area = 13867.00000, extent = 0.74939, type = C + area = 11380.00000, perimeter = 423.61499, major_axis_length = 172.17389, minor_axis_length = 85.65730, eccentricity = 0.86746, convex_area = 11620.00000, extent = 0.67317, type = O + area = 13719.00000, perimeter = 487.14700, major_axis_length = 208.86478, minor_axis_length = 84.30043, eccentricity = 0.91493, convex_area = 14111.00000, extent = 0.60441, type = C + area = 10928.00000, perimeter = 410.94000, major_axis_length = 171.74614, minor_axis_length = 81.38594, eccentricity = 0.88059, convex_area = 11132.00000, extent = 0.61119, type = O + area = 10650.00000, perimeter = 407.16101, major_axis_length = 165.62000, minor_axis_length = 83.14749, eccentricity = 0.86485, convex_area = 10851.00000, extent = 0.61550, type = O + area = 14969.00000, perimeter = 515.09802, major_axis_length = 222.04485, minor_axis_length = 87.43668, eccentricity = 0.91920, convex_area = 15269.00000, extent = 0.54621, type = C + area = 11106.00000, perimeter = 415.98499, major_axis_length = 175.18675, minor_axis_length = 81.15784, eccentricity = 0.88622, convex_area = 11257.00000, extent = 0.60999, type = O + area = 9070.00000, perimeter = 375.09399, major_axis_length = 156.98489, minor_axis_length = 74.22942, eccentricity = 0.88115, convex_area = 9233.00000, extent = 0.73740, type = O + area = 11538.00000, perimeter = 446.85699, major_axis_length = 189.68529, minor_axis_length = 78.97429, eccentricity = 0.90921, convex_area = 11852.00000, extent = 0.57994, type = C + area = 11044.00000, perimeter = 420.21899, major_axis_length = 165.99222, minor_axis_length = 87.13152, eccentricity = 0.85116, convex_area = 11328.00000, extent = 0.61294, type = O + area = 15904.00000, perimeter = 511.02200, major_axis_length = 214.35056, minor_axis_length = 96.21210, eccentricity = 0.89361, convex_area = 16248.00000, extent = 0.71785, type = C + area = 12798.00000, perimeter = 469.29800, major_axis_length = 202.16541, minor_axis_length = 81.58068, eccentricity = 0.91496, convex_area = 13152.00000, extent = 0.78037, type = C diff --git a/cmake-build-debug/regress.stt b/cmake-build-debug/regress.stt new file mode 100644 index 0000000..d8a6932 --- /dev/null +++ b/cmake-build-debug/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.9539 0.9985 0.0000 18.344 3.465 14 4 44 5 0.9539 0.9985 0.0000 18.344 3.465 14 4 44 5 +1 0 0.9900 0.9987 0.0000 16.765 3.618 3 1 85 6 0.9719 0.9987 0.0000 17.555 3.542 3 1 44 5 +2 0 0.9908 0.9987 0.0000 16.273 3.752 3 1 94 12 0.9782 0.9987 0.0000 17.127 3.612 3 1 44 5 +3 0 0.9915 0.9987 0.0000 16.067 3.885 34 11 44 8 0.9815 0.9987 0.0000 16.862 3.680 34 11 44 5 +4 0 0.9919 0.9987 0.0000 16.151 3.962 34 11 33 9 0.9836 0.9987 0.0000 16.720 3.736 34 11 44 5 +5 0 0.9912 0.9987 0.0000 16.120 4.062 34 11 88 11 0.9849 0.9987 0.0000 16.620 3.791 34 11 44 5 +6 0 0.9938 0.9987 0.0000 15.383 4.053 34 11 14 6 0.9862 0.9987 0.0000 16.443 3.828 34 11 44 5 +7 0 0.9926 0.9987 0.0000 15.317 4.105 34 11 8 3 0.9870 0.9987 0.0000 16.302 3.863 34 11 44 5 +8 0 0.9918 0.9987 0.0000 15.057 4.121 34 11 12 6 0.9875 0.9987 0.0000 16.164 3.891 34 11 44 5 +9 0 0.9954 0.9987 0.0000 14.618 4.157 34 11 68 13 0.9883 0.9987 0.0000 16.009 3.918 34 11 44 5 +10 0 0.9916 0.9987 0.0000 13.829 4.107 34 11 34 8 0.9886 0.9987 0.0000 15.811 3.935 34 11 44 5 +11 0 0.9958 0.9987 0.0000 13.919 4.163 34 11 39 7 0.9892 0.9987 0.0000 15.654 3.954 34 11 44 5 +12 0 0.9938 0.9987 0.0000 14.179 4.243 34 11 41 11 0.9895 0.9987 0.0000 15.540 3.976 34 11 44 5 +13 0 0.9936 0.9989 0.0000 13.673 4.199 17 7 15 6 0.9898 0.9989 0.0000 15.407 3.992 17 7 44 5 +14 0 0.9934 0.9989 0.0000 13.504 4.225 17 7 66 15 0.9901 0.9989 0.0000 15.280 4.008 17 7 44 5 +15 0 0.9954 0.9989 0.0000 13.713 4.257 17 7 85 13 0.9904 0.9989 0.0000 15.182 4.023 17 7 44 5 +16 0 0.9944 0.9989 0.0000 13.759 4.294 17 7 21 5 0.9906 0.9989 0.0000 15.098 4.039 17 7 44 5 +17 0 0.9966 0.9989 0.0000 13.434 4.263 17 7 26 8 0.9910 0.9989 0.0000 15.006 4.052 17 7 44 5 +18 0 0.9962 0.9989 0.0000 13.260 4.259 17 7 34 9 0.9912 0.9989 0.0000 14.914 4.063 17 7 44 5 +19 0 0.9938 0.9989 0.0000 13.037 4.220 17 7 26 9 0.9914 0.9989 0.0000 14.820 4.070 17 7 44 5 +20 0 0.9952 0.9989 0.0000 12.735 4.157 17 7 14 7 0.9916 0.9989 0.0000 14.721 4.075 17 7 44 5 +21 0 0.9946 0.9989 0.0000 12.235 4.062 17 7 39 15 0.9917 0.9989 0.0000 14.608 4.074 17 7 44 5 +22 0 0.9970 0.9989 0.0000 12.180 4.072 17 7 18 7 0.9919 0.9989 0.0000 14.502 4.074 17 7 44 5 +23 0 0.9950 0.9989 0.0000 12.188 4.108 17 7 25 6 0.9920 0.9989 0.0000 14.406 4.075 17 7 44 5 +24 0 0.9956 0.9989 0.0000 11.953 4.083 17 7 19 7 0.9922 0.9989 0.0000 14.308 4.076 17 7 44 5 +25 0 0.9968 0.9989 0.0000 11.992 4.106 17 7 44 13 0.9924 0.9989 0.0000 14.219 4.077 17 7 44 5 +26 0 0.9970 0.9989 0.0000 11.823 4.035 17 7 32 7 0.9925 0.9989 0.0000 14.130 4.075 17 7 44 5 +27 0 0.9958 0.9989 0.0000 11.802 4.044 17 7 22 7 0.9927 0.9989 0.0000 14.047 4.074 17 7 44 5 +28 0 0.9964 0.9989 0.0000 11.506 4.007 17 7 44 13 0.9928 0.9989 0.0000 13.959 4.072 17 7 44 5 +29 0 0.9974 0.9989 0.0000 11.257 3.940 17 7 48 9 0.9929 0.9989 0.0000 13.869 4.067 17 7 44 5 +30 0 0.9968 0.9989 0.0000 11.172 3.922 17 7 20 9 0.9931 0.9989 0.0000 13.782 4.063 17 7 44 5 +31 0 0.9970 0.9989 0.0000 10.993 3.888 17 7 25 8 0.9932 0.9989 0.0000 13.695 4.057 17 7 44 5 +32 0 0.9962 0.9989 0.0000 10.884 3.892 17 7 19 8 0.9933 0.9989 0.0000 13.610 4.052 17 7 44 5 +33 0 0.9972 0.9989 0.0000 10.599 3.839 17 7 13 6 0.9934 0.9989 0.0000 13.521 4.046 17 7 44 5 +34 0 0.9964 0.9989 0.0000 10.400 3.773 17 7 25 9 0.9935 0.9989 0.0000 13.432 4.038 17 7 44 5 +35 0 0.9964 0.9989 0.0000 10.521 3.795 17 7 22 9 0.9936 0.9989 0.0000 13.351 4.031 17 7 44 5 +36 0 0.9970 0.9989 0.0000 10.526 3.815 17 7 19 6 0.9937 0.9989 0.0000 13.275 4.026 17 7 44 5 +37 0 0.9974 0.9989 0.0000 10.652 3.825 17 7 24 6 0.9938 0.9989 0.0000 13.206 4.020 17 7 44 5 +38 0 0.9962 0.9989 0.0000 10.555 3.827 17 7 28 10 0.9938 0.9989 0.0000 13.138 4.015 17 7 44 5 +39 0 0.9962 0.9989 0.0000 10.173 3.741 17 7 20 7 0.9939 0.9989 0.0000 13.064 4.009 17 7 44 5 +40 0 0.9976 0.9989 0.0000 10.108 3.728 17 7 45 14 0.9940 0.9989 0.0000 12.992 4.002 17 7 44 5 +41 0 0.9956 0.9989 0.0000 9.855 3.654 17 7 34 9 0.9940 0.9989 0.0000 12.917 3.993 17 7 44 5 +42 0 0.9978 0.9989 0.0000 9.836 3.653 17 7 19 6 0.9941 0.9989 0.0000 12.845 3.985 17 7 44 5 +43 0 0.9974 0.9989 0.0000 9.662 3.610 17 7 9 3 0.9942 0.9989 0.0000 12.773 3.977 17 7 44 5 +44 0 0.9974 0.9989 0.0000 9.569 3.612 17 7 20 7 0.9942 0.9989 0.0000 12.702 3.969 17 7 44 5 +45 0 0.9968 0.9989 0.0000 9.338 3.551 17 7 46 13 0.9943 0.9989 0.0000 12.629 3.960 17 7 44 5 +46 0 0.9974 0.9989 0.0000 9.079 3.486 17 7 12 5 0.9944 0.9989 0.0000 12.553 3.950 17 7 44 5 +47 0 0.9968 0.9989 0.0000 9.028 3.477 17 7 19 6 0.9944 0.9989 0.0000 12.480 3.940 17 7 44 5 +48 0 0.9968 0.9989 0.0000 9.124 3.515 17 7 21 7 0.9945 0.9989 0.0000 12.411 3.931 17 7 44 5 +49 0 0.9970 0.9989 0.0000 9.049 3.499 17 7 35 9 0.9945 0.9989 0.0000 12.344 3.923 17 7 44 5 +50 0 0.9974 0.9989 0.0000 8.907 3.459 20 7 52 13 0.9946 0.9989 0.0000 12.276 3.913 20 7 44 5 diff --git a/cmake-build-debug/regress.sys b/cmake-build-debug/regress.sys new file mode 100644 index 0000000..5f0fa48 --- /dev/null +++ b/cmake-build-debug/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - exp log area perimeter major minor eccentricity convex extent R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 365. +creating initial population(s): + 7346 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 79881449 + freed: 79833449 + not freed: 48000 + max allocated: 2534380 + malloc'ed blocks: 830883 + realloc'ed blocks: 7 + free'ed blocks: 830877 + +------- time ------- + overall: 16s wall + evaluation: 15s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 8087 + freed: 8087 + allocated: 5500 + blocks: 10 diff --git a/cmake-build-release/.cmake/api/v1/query/cache-v2 b/cmake-build-release/.cmake/api/v1/query/cache-v2 new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-release/.cmake/api/v1/query/cmakeFiles-v1 b/cmake-build-release/.cmake/api/v1/query/cmakeFiles-v1 new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-release/.cmake/api/v1/query/codemodel-v2 b/cmake-build-release/.cmake/api/v1/query/codemodel-v2 new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-release/.cmake/api/v1/query/toolchains-v1 b/cmake-build-release/.cmake/api/v1/query/toolchains-v1 new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-release/.cmake/api/v1/reply/cache-v2-8cb0f3e46ac4f0bbcc36.json b/cmake-build-release/.cmake/api/v1/reply/cache-v2-8cb0f3e46ac4f0bbcc36.json new file mode 100644 index 0000000..2414868 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/cache-v2-8cb0f3e46ac4f0bbcc36.json @@ -0,0 +1,1859 @@ +{ + "entries" : + [ + { + "name" : "Assignment_1_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" + }, + { + "name" : "Assignment_1_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "Assignment_1_RUNNER_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" + }, + { + "name" : "Assignment_1_RUNNER_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "Assignment_1_RUNNER_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1" + }, + { + "name" : "Assignment_1_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1" + }, + { + "name" : "BLT_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt" + }, + { + "name" : "BLT_DISABLE_DEBUG", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_DEBUG macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_ERROR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_ERROR macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_FATAL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_FATAL macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_INFO", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_INFO macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_LOGGING", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging (all macros and will safely disable logging function!)" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_TRACE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_TRACE macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_WARN", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_WARN macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "OFF" + }, + { + "name" : "BLT_LIB_DEPENDS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Dependencies for the target" + } + ], + "type" : "STATIC", + "value" : "general;ZLIB::ZLIB;" + }, + { + "name" : "BLT_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt" + }, + { + "name" : "BUILD_FS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build the BLT FS utilities including the NBT + eNBT extension" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "BUILD_PARSE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build the BLT parsers" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "BUILD_PROFILING", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build the BLT profiler extension" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "BUILD_STD", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build the BLT standard utilities." + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "BUILD_TESTS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build the BLT test set" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "CMAKE_ADDR2LINE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/addr2line" + }, + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ar" + }, + { + "name" : "CMAKE_BUILD_TYPE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ..." + } + ], + "type" : "STRING", + "value" : "Release" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "25" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_COLOR_DIAGNOSTICS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enable colored diagnostics throughout." + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/cmake" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/cpack" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/ctest" + }, + { + "name" : "CMAKE_CXX_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "CXX compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/c++" + }, + { + "name" : "CMAKE_CXX_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ar-12" + }, + { + "name" : "CMAKE_CXX_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ranlib-12" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "-g" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "-O3 -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_C_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "C compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/cc" + }, + { + "name" : "CMAKE_C_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ar-12" + }, + { + "name" : "CMAKE_C_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ranlib-12" + }, + { + "name" : "CMAKE_C_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "-g" + }, + { + "name" : "CMAKE_C_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "-O3 -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_DLLTOOL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "CMAKE_DLLTOOL-NOTFOUND" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "ELF" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Enable/Disable output of compile commands during generation." + } + ], + "type" : "BOOL", + "value" : "" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_FIND_PACKAGE_REDIRECTS_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake." + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/pkgRedirects" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Ninja" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_HAVE_LIBC_PTHREAD", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Test CMAKE_HAVE_LIBC_PTHREAD" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1" + }, + { + "name" : "CMAKE_INSTALL_BINDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "User executables (bin)" + } + ], + "type" : "PATH", + "value" : "bin" + }, + { + "name" : "CMAKE_INSTALL_DATADIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Read-only architecture-independent data (DATAROOTDIR)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_DATAROOTDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Read-only architecture-independent data root (share)" + } + ], + "type" : "PATH", + "value" : "share" + }, + { + "name" : "CMAKE_INSTALL_DOCDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Documentation root (DATAROOTDIR/doc/PROJECT_NAME)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_INCLUDEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "C header files (include)" + } + ], + "type" : "PATH", + "value" : "include" + }, + { + "name" : "CMAKE_INSTALL_INFODIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Info documentation (DATAROOTDIR/info)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_LIBDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Object code libraries (lib)" + } + ], + "type" : "PATH", + "value" : "lib" + }, + { + "name" : "CMAKE_INSTALL_LIBEXECDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Program executables (libexec)" + } + ], + "type" : "PATH", + "value" : "libexec" + }, + { + "name" : "CMAKE_INSTALL_LOCALEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Locale-dependent data (DATAROOTDIR/locale)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_LOCALSTATEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Modifiable single-machine data (var)" + } + ], + "type" : "PATH", + "value" : "var" + }, + { + "name" : "CMAKE_INSTALL_MANDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Man documentation (DATAROOTDIR/man)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_OLDINCLUDEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "C header files for non-gcc (/usr/include)" + } + ], + "type" : "PATH", + "value" : "/usr/include" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "/usr/local" + }, + { + "name" : "CMAKE_INSTALL_RUNSTATEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Run-time variable data (LOCALSTATEDIR/run)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_SBINDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "System admin executables (sbin)" + } + ], + "type" : "PATH", + "value" : "sbin" + }, + { + "name" : "CMAKE_INSTALL_SHAREDSTATEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Modifiable architecture-independent data (com)" + } + ], + "type" : "PATH", + "value" : "com" + }, + { + "name" : "CMAKE_INSTALL_SO_NO_EXE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install .so files without execute permission." + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_INSTALL_SYSCONFDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Read-only single-machine data (etc)" + } + ], + "type" : "PATH", + "value" : "etc" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ld" + }, + { + "name" : "CMAKE_MAKE_PROGRAM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_NM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/nm" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "2" + }, + { + "name" : "CMAKE_OBJCOPY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/objcopy" + }, + { + "name" : "CMAKE_OBJDUMP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/objdump" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "Assignment_1_RUNNER" + }, + { + "name" : "CMAKE_PROJECT_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "0.11.3" + }, + { + "name" : "CMAKE_PROJECT_VERSION_MAJOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "0" + }, + { + "name" : "CMAKE_PROJECT_VERSION_MINOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "11" + }, + { + "name" : "CMAKE_PROJECT_VERSION_PATCH", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "3" + }, + { + "name" : "CMAKE_PROJECT_VERSION_TWEAK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ranlib" + }, + { + "name" : "CMAKE_READELF", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/readelf" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "/usr/share/cmake-3.25" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STRIP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/strip" + }, + { + "name" : "CMAKE_UNAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "uname command" + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/uname" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "ENABLE_ADDRSAN", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enable the address sanitizer" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "ENABLE_TSAN", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enable the thread data race sanitizer" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "ENABLE_UBSAN", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enable the ub sanitizer" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "FIND_PACKAGE_MESSAGE_DETAILS_Threads", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Details about finding Threads" + } + ], + "type" : "INTERNAL", + "value" : "[TRUE][v()]" + }, + { + "name" : "PART_B", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build for part B version of the assignment" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "ZLIB_INCLUDE_DIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a file." + } + ], + "type" : "PATH", + "value" : "/usr/include" + }, + { + "name" : "ZLIB_LIBRARY_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a library." + } + ], + "type" : "FILEPATH", + "value" : "ZLIB_LIBRARY_DEBUG-NOTFOUND" + }, + { + "name" : "ZLIB_LIBRARY_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a library." + } + ], + "type" : "FILEPATH", + "value" : "/usr/lib/x86_64-linux-gnu/libz.so" + }, + { + "name" : "_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "linker supports push/pop state" + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "CMAKE_INSTALL_PREFIX during last run" + } + ], + "type" : "INTERNAL", + "value" : "/usr/local" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/cmakeFiles-v1-341e53faefc35ad9b82e.json b/cmake-build-release/.cmake/api/v1/reply/cmakeFiles-v1-341e53faefc35ad9b82e.json new file mode 100644 index 0000000..a9151d5 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/cmakeFiles-v1-341e53faefc35ad9b82e.json @@ -0,0 +1,202 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isGenerated" : true, + "path" : "cmake-build-release/CMakeFiles/3.25.1/CMakeSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isGenerated" : true, + "path" : "cmake-build-release/CMakeFiles/3.25.1/CMakeCCompiler.cmake" + }, + { + "isGenerated" : true, + "path" : "cmake-build-release/CMakeFiles/3.25.1/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/UnixPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GNU-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux-GNU-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux-GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindThreads.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CheckLibraryExists.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CheckIncludeFile.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CheckCSourceCompiles.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Internal/CheckSourceCompiles.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageMessage.cmake" + }, + { + "path" : "lib/blt/CMakeLists.txt" + }, + { + "path" : "lib/blt/include/blt/config.h.in" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindZLIB.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/SelectLibraryConfigurations.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageMessage.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/GNUInstallDirs.cmake" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release", + "source" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1" + }, + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/codemodel-v2-351ccbfe9dfa3cdb348f.json b/cmake-build-release/.cmake/api/v1/reply/codemodel-v2-351ccbfe9dfa3cdb348f.json new file mode 100644 index 0000000..7b645f6 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/codemodel-v2-351ccbfe9dfa3cdb348f.json @@ -0,0 +1,113 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "childIndexes" : + [ + 1 + ], + "hasInstallRule" : true, + "jsonFile" : "directory-.-Release-f5ebdc15457944623624.json", + "minimumCMakeVersion" : + { + "string" : "3.25" + }, + "projectIndex" : 0, + "source" : ".", + "targetIndexes" : + [ + 0, + 1 + ] + }, + { + "build" : "lib/blt", + "hasInstallRule" : true, + "jsonFile" : "directory-lib.blt-Release-4a6521f6b492a611bd43.json", + "minimumCMakeVersion" : + { + "string" : "3.5" + }, + "parentIndex" : 0, + "projectIndex" : 1, + "source" : "lib/blt", + "targetIndexes" : + [ + 2 + ] + } + ], + "name" : "Release", + "projects" : + [ + { + "childIndexes" : + [ + 1 + ], + "directoryIndexes" : + [ + 0 + ], + "name" : "Assignment_1_RUNNER", + "targetIndexes" : + [ + 0, + 1 + ] + }, + { + "directoryIndexes" : + [ + 1 + ], + "name" : "BLT", + "parentIndex" : 0, + "targetIndexes" : + [ + 2 + ] + } + ], + "targets" : + [ + { + "directoryIndex" : 0, + "id" : "Assignment_1::@6890427a1f51a3e7e1df", + "jsonFile" : "target-Assignment_1-Release-c6931c5ba78c2f26bcc1.json", + "name" : "Assignment_1", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "Assignment_1_RUNNER::@6890427a1f51a3e7e1df", + "jsonFile" : "target-Assignment_1_RUNNER-Release-87cd1a0ee81780ed9495.json", + "name" : "Assignment_1_RUNNER", + "projectIndex" : 0 + }, + { + "directoryIndex" : 1, + "id" : "BLT::@93fa9f0522c937b42b32", + "jsonFile" : "target-BLT-Release-1ae59c8526fbaab38b54.json", + "name" : "BLT", + "projectIndex" : 1 + } + ] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release", + "source" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1" + }, + "version" : + { + "major" : 2, + "minor" : 4 + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-.-Release-f5ebdc15457944623624.json b/cmake-build-release/.cmake/api/v1/reply/directory-.-Release-f5ebdc15457944623624.json new file mode 100644 index 0000000..3a67af9 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/directory-.-Release-f5ebdc15457944623624.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/directory-lib.blt-Release-4a6521f6b492a611bd43.json b/cmake-build-release/.cmake/api/v1/reply/directory-lib.blt-Release-4a6521f6b492a611bd43.json new file mode 100644 index 0000000..582957e --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/directory-lib.blt-Release-4a6521f6b492a611bd43.json @@ -0,0 +1,603 @@ +{ + "backtraceGraph" : + { + "commands" : + [ + "install" + ], + "files" : + [ + "lib/blt/CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 122, + "parent" : 0 + } + ] + }, + "installers" : + [ + { + "backtrace" : 1, + "component" : "Unspecified", + "destination" : "include/blt", + "paths" : + [ + "lib/blt/include/blt/compatibility.h" + ], + "type" : "file" + }, + { + "backtrace" : 2, + "component" : "Unspecified", + "destination" : "include/blt/fs", + "paths" : + [ + "lib/blt/include/blt/fs/filesystem.h" + ], + "type" : "file" + }, + { + "backtrace" : 3, + "component" : "Unspecified", + "destination" : "include/blt/fs", + "paths" : + [ + "lib/blt/include/blt/fs/loader.h" + ], + "type" : "file" + }, + { + "backtrace" : 4, + "component" : "Unspecified", + "destination" : "include/blt/fs", + "paths" : + [ + "lib/blt/include/blt/fs/nbt.h" + ], + "type" : "file" + }, + { + "backtrace" : 5, + "component" : "Unspecified", + "destination" : "include/blt/fs", + "paths" : + [ + "lib/blt/include/blt/fs/nbt_block.h" + ], + "type" : "file" + }, + { + "backtrace" : 6, + "component" : "Unspecified", + "destination" : "include/blt/math", + "paths" : + [ + "lib/blt/include/blt/math/averages.h" + ], + "type" : "file" + }, + { + "backtrace" : 7, + "component" : "Unspecified", + "destination" : "include/blt/math", + "paths" : + [ + "lib/blt/include/blt/math/log_util.h" + ], + "type" : "file" + }, + { + "backtrace" : 8, + "component" : "Unspecified", + "destination" : "include/blt/math", + "paths" : + [ + "lib/blt/include/blt/math/math.h" + ], + "type" : "file" + }, + { + "backtrace" : 9, + "component" : "Unspecified", + "destination" : "include/blt/math", + "paths" : + [ + "lib/blt/include/blt/math/matrix.h" + ], + "type" : "file" + }, + { + "backtrace" : 10, + "component" : "Unspecified", + "destination" : "include/blt/math", + "paths" : + [ + "lib/blt/include/blt/math/vectors.h" + ], + "type" : "file" + }, + { + "backtrace" : 11, + "component" : "Unspecified", + "destination" : "include/blt/parse", + "paths" : + [ + "lib/blt/include/blt/parse/argparse.h" + ], + "type" : "file" + }, + { + "backtrace" : 12, + "component" : "Unspecified", + "destination" : "include/blt/parse", + "paths" : + [ + "lib/blt/include/blt/parse/mustache.h" + ], + "type" : "file" + }, + { + "backtrace" : 13, + "component" : "Unspecified", + "destination" : "include/blt/parse", + "paths" : + [ + "lib/blt/include/blt/parse/obj_loader.h" + ], + "type" : "file" + }, + { + "backtrace" : 14, + "component" : "Unspecified", + "destination" : "include/blt/profiling", + "paths" : + [ + "lib/blt/include/blt/profiling/profiler.h" + ], + "type" : "file" + }, + { + "backtrace" : 15, + "component" : "Unspecified", + "destination" : "include/blt/profiling", + "paths" : + [ + "lib/blt/include/blt/profiling/profiler_v2.h" + ], + "type" : "file" + }, + { + "backtrace" : 16, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/allocator.h" + ], + "type" : "file" + }, + { + "backtrace" : 17, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/assert.h" + ], + "type" : "file" + }, + { + "backtrace" : 18, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/binary_tree.h" + ], + "type" : "file" + }, + { + "backtrace" : 19, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/expected.h" + ], + "type" : "file" + }, + { + "backtrace" : 20, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/format.h" + ], + "type" : "file" + }, + { + "backtrace" : 21, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/hashmap.h" + ], + "type" : "file" + }, + { + "backtrace" : 22, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/logging.h" + ], + "type" : "file" + }, + { + "backtrace" : 23, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/memory.h" + ], + "type" : "file" + }, + { + "backtrace" : 24, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/memory_util.h" + ], + "type" : "file" + }, + { + "backtrace" : 25, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/queue.h" + ], + "type" : "file" + }, + { + "backtrace" : 26, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/random.h" + ], + "type" : "file" + }, + { + "backtrace" : 27, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/ranges.h" + ], + "type" : "file" + }, + { + "backtrace" : 28, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/string.h" + ], + "type" : "file" + }, + { + "backtrace" : 29, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/system.h" + ], + "type" : "file" + }, + { + "backtrace" : 30, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/thread.h" + ], + "type" : "file" + }, + { + "backtrace" : 31, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/time.h" + ], + "type" : "file" + }, + { + "backtrace" : 32, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/types.h" + ], + "type" : "file" + }, + { + "backtrace" : 33, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/utility.h" + ], + "type" : "file" + }, + { + "backtrace" : 34, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/uuid.h" + ], + "type" : "file" + }, + { + "backtrace" : 35, + "component" : "Unspecified", + "destination" : "include/blt/window", + "paths" : + [ + "lib/blt/include/blt/window/window.h" + ], + "type" : "file" + }, + { + "backtrace" : 36, + "component" : "Unspecified", + "destination" : "include/blt", + "paths" : + [ + "cmake-build-release/config/blt/config.h" + ], + "type" : "file" + } + ], + "paths" : + { + "build" : "lib/blt", + "source" : "lib/blt" + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/index-2024-02-13T19-03-24-0166.json b/cmake-build-release/.cmake/api/v1/reply/index-2024-02-13T19-03-24-0166.json new file mode 100644 index 0000000..be4bf76 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/index-2024-02-13T19-03-24-0166.json @@ -0,0 +1,108 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : false, + "name" : "Ninja" + }, + "paths" : + { + "cmake" : "/usr/bin/cmake", + "cpack" : "/usr/bin/cpack", + "ctest" : "/usr/bin/ctest", + "root" : "/usr/share/cmake-3.25" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 25, + "patch" : 1, + "string" : "3.25.1", + "suffix" : "" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-351ccbfe9dfa3cdb348f.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 4 + } + }, + { + "jsonFile" : "cache-v2-8cb0f3e46ac4f0bbcc36.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-341e53faefc35ad9b82e.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + { + "jsonFile" : "toolchains-v1-a68c232ca45b00aa6bba.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "cache-v2" : + { + "jsonFile" : "cache-v2-8cb0f3e46ac4f0bbcc36.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + "cmakeFiles-v1" : + { + "jsonFile" : "cmakeFiles-v1-341e53faefc35ad9b82e.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + "codemodel-v2" : + { + "jsonFile" : "codemodel-v2-351ccbfe9dfa3cdb348f.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 4 + } + }, + "toolchains-v1" : + { + "jsonFile" : "toolchains-v1-a68c232ca45b00aa6bba.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + } +} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-Assignment_1-Release-c6931c5ba78c2f26bcc1.json b/cmake-build-release/.cmake/api/v1/reply/target-Assignment_1-Release-c6931c5ba78c2f26bcc1.json new file mode 100644 index 0000000..b742d73 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/target-Assignment_1-Release-c6931c5ba78c2f26bcc1.json @@ -0,0 +1,598 @@ +{ + "artifacts" : + [ + { + "path" : "Assignment_1" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable", + "target_link_options", + "target_link_libraries", + "add_compile_options", + "target_compile_options", + "add_compile_definitions", + "include_directories" + ], + "files" : + [ + "CMakeLists.txt", + "lib/blt/CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 35, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 40, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 37, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 41, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 42, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 2, + "file" : 1, + "line" : 91, + "parent" : 6 + }, + { + "command" : 3, + "file" : 0, + "line" : 12, + "parent" : 0 + }, + { + "command" : 4, + "file" : 0, + "line" : 39, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 17, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 15, + "parent" : 0 + }, + { + "command" : 6, + "file" : 0, + "line" : 25, + "parent" : 0 + }, + { + "command" : 6, + "file" : 0, + "line" : 26, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "-O3 -DNDEBUG -fdiagnostics-color=always" + }, + { + "backtrace" : 8, + "fragment" : "-mieee-fp" + }, + { + "backtrace" : 9, + "fragment" : "-Wall" + }, + { + "backtrace" : 9, + "fragment" : "-Wextra" + }, + { + "backtrace" : 9, + "fragment" : "-Wpedantic" + }, + { + "backtrace" : 9, + "fragment" : "-Wno-comment" + } + ], + "defines" : + [ + { + "backtrace" : 10, + "define" : "PART_B" + }, + { + "backtrace" : 11, + "define" : "POSIX_MT" + }, + { + "backtrace" : 11, + "define" : "RANDOMSEEDTIME" + }, + { + "backtrace" : 11, + "define" : "USEVFORK" + } + ], + "includes" : + [ + { + "backtrace" : 12, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" + }, + { + "backtrace" : 13, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" + }, + { + "backtrace" : 3, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" + }, + { + "backtrace" : 3, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + }, + { + "backtrace" : 3, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "17" + }, + "sourceIndexes" : + [ + 0, + 1 + ] + }, + { + "compileCommandFragments" : + [ + { + "fragment" : "-O3 -DNDEBUG -fdiagnostics-color=always" + }, + { + "backtrace" : 8, + "fragment" : "-mieee-fp" + }, + { + "backtrace" : 9, + "fragment" : "-Wall" + }, + { + "backtrace" : 9, + "fragment" : "-Wextra" + }, + { + "backtrace" : 9, + "fragment" : "-Wpedantic" + }, + { + "backtrace" : 9, + "fragment" : "-Wno-comment" + }, + { + "fragment" : "-std=gnu11" + } + ], + "defines" : + [ + { + "backtrace" : 10, + "define" : "PART_B" + }, + { + "backtrace" : 11, + "define" : "POSIX_MT" + }, + { + "backtrace" : 11, + "define" : "RANDOMSEEDTIME" + }, + { + "backtrace" : 11, + "define" : "USEVFORK" + } + ], + "includes" : + [ + { + "backtrace" : 12, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" + }, + { + "backtrace" : 13, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" + }, + { + "backtrace" : 3, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" + }, + { + "backtrace" : 3, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + }, + { + "backtrace" : 3, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + } + ], + "language" : "C", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "11" + }, + "sourceIndexes" : + [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + } + ], + "dependencies" : + [ + { + "backtrace" : 3, + "id" : "BLT::@93fa9f0522c937b42b32" + } + ], + "id" : "Assignment_1::@6890427a1f51a3e7e1df", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-O3 -DNDEBUG", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wall", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wextra", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wpedantic", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wno-comment", + "role" : "flags" + }, + { + "backtrace" : 3, + "fragment" : "-rdynamic", + "role" : "flags" + }, + { + "backtrace" : 3, + "fragment" : "lib/blt/libBLT.a", + "role" : "libraries" + }, + { + "backtrace" : 4, + "fragment" : "-lm", + "role" : "libraries" + }, + { + "backtrace" : 5, + "fragment" : "-lpthread", + "role" : "libraries" + }, + { + "backtrace" : 7, + "fragment" : "/usr/lib/x86_64-linux-gnu/libz.so", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "Assignment_1", + "nameOnDisk" : "Assignment_1", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/program/app.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/program/function.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/main.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/gp.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/eval.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/tree.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/change.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/crossovr.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/reproduc.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/mutate.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/select.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/tournmnt.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/bstworst.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/fitness.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/genspace.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/exch.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/populate.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/ephem.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/ckpoint.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/event.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/pretty.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/individ.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/params.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/random.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/memory.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/output.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/boltzman.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/sigma.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/fsetupdate.c", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-Assignment_1_RUNNER-Release-87cd1a0ee81780ed9495.json b/cmake-build-release/.cmake/api/v1/reply/target-Assignment_1_RUNNER-Release-87cd1a0ee81780ed9495.json new file mode 100644 index 0000000..1bcb527 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/target-Assignment_1_RUNNER-Release-87cd1a0ee81780ed9495.json @@ -0,0 +1,311 @@ +{ + "artifacts" : + [ + { + "path" : "Assignment_1_RUNNER" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable", + "target_link_options", + "target_link_libraries", + "add_dependencies", + "add_compile_options", + "target_compile_options", + "add_compile_definitions", + "include_directories", + "target_include_directories" + ], + "files" : + [ + "CMakeLists.txt", + "lib/blt/CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 62, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 69, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 64, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 65, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 66, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 2, + "file" : 1, + "line" : 91, + "parent" : 6 + }, + { + "command" : 3, + "file" : 0, + "line" : 70, + "parent" : 0 + }, + { + "command" : 4, + "file" : 0, + "line" : 12, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 68, + "parent" : 0 + }, + { + "command" : 6, + "file" : 0, + "line" : 17, + "parent" : 0 + }, + { + "command" : 6, + "file" : 0, + "line" : 15, + "parent" : 0 + }, + { + "command" : 7, + "file" : 0, + "line" : 25, + "parent" : 0 + }, + { + "command" : 7, + "file" : 0, + "line" : 26, + "parent" : 0 + }, + { + "command" : 8, + "file" : 0, + "line" : 67, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "-O3 -DNDEBUG -fdiagnostics-color=always" + }, + { + "backtrace" : 9, + "fragment" : "-mieee-fp" + }, + { + "backtrace" : 10, + "fragment" : "-Wall" + }, + { + "backtrace" : 10, + "fragment" : "-Wextra" + }, + { + "backtrace" : 10, + "fragment" : "-Wpedantic" + }, + { + "backtrace" : 10, + "fragment" : "-Wno-comment" + } + ], + "defines" : + [ + { + "backtrace" : 11, + "define" : "PART_B" + }, + { + "backtrace" : 12, + "define" : "POSIX_MT" + }, + { + "backtrace" : 12, + "define" : "RANDOMSEEDTIME" + }, + { + "backtrace" : 12, + "define" : "USEVFORK" + } + ], + "includes" : + [ + { + "backtrace" : 13, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" + }, + { + "backtrace" : 14, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" + }, + { + "backtrace" : 15, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/RUNNER" + }, + { + "backtrace" : 3, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" + }, + { + "backtrace" : 3, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + }, + { + "backtrace" : 3, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "17" + }, + "sourceIndexes" : + [ + 0 + ] + } + ], + "dependencies" : + [ + { + "backtrace" : 8, + "id" : "Assignment_1::@6890427a1f51a3e7e1df" + }, + { + "backtrace" : 3, + "id" : "BLT::@93fa9f0522c937b42b32" + } + ], + "id" : "Assignment_1_RUNNER::@6890427a1f51a3e7e1df", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-O3 -DNDEBUG", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wall", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wextra", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wpedantic", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wno-comment", + "role" : "flags" + }, + { + "backtrace" : 3, + "fragment" : "-rdynamic", + "role" : "flags" + }, + { + "backtrace" : 3, + "fragment" : "lib/blt/libBLT.a", + "role" : "libraries" + }, + { + "backtrace" : 4, + "fragment" : "-lm", + "role" : "libraries" + }, + { + "backtrace" : 5, + "fragment" : "-lpthread", + "role" : "libraries" + }, + { + "backtrace" : 7, + "fragment" : "/usr/lib/x86_64-linux-gnu/libz.so", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "Assignment_1_RUNNER", + "nameOnDisk" : "Assignment_1_RUNNER", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/runner/main.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/cmake-build-release/.cmake/api/v1/reply/target-BLT-Release-1ae59c8526fbaab38b54.json b/cmake-build-release/.cmake/api/v1/reply/target-BLT-Release-1ae59c8526fbaab38b54.json new file mode 100644 index 0000000..491e557 --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/target-BLT-Release-1ae59c8526fbaab38b54.json @@ -0,0 +1,305 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "lib/blt/libBLT.a" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "install", + "add_compile_options", + "target_compile_options", + "add_compile_definitions", + "include_directories" + ], + "files" : + [ + "lib/blt/CMakeLists.txt", + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 86, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 127, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 2, + "file" : 1, + "line" : 12, + "parent" : 3 + }, + { + "command" : 3, + "file" : 0, + "line" : 102, + "parent" : 0 + }, + { + "command" : 4, + "file" : 1, + "line" : 17, + "parent" : 3 + }, + { + "command" : 4, + "file" : 1, + "line" : 15, + "parent" : 3 + }, + { + "command" : 5, + "file" : 0, + "line" : 64, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 76, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 77, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "-O3 -DNDEBUG -fdiagnostics-color=always" + }, + { + "backtrace" : 4, + "fragment" : "-mieee-fp" + }, + { + "backtrace" : 5, + "fragment" : "-Wall" + }, + { + "backtrace" : 5, + "fragment" : "-Wextra" + }, + { + "backtrace" : 5, + "fragment" : "-Wpedantic" + }, + { + "fragment" : "-std=gnu++17" + } + ], + "defines" : + [ + { + "backtrace" : 6, + "define" : "PART_B" + }, + { + "backtrace" : 7, + "define" : "POSIX_MT" + }, + { + "backtrace" : 7, + "define" : "RANDOMSEEDTIME" + }, + { + "backtrace" : 7, + "define" : "USEVFORK" + } + ], + "includes" : + [ + { + "backtrace" : 8, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + }, + { + "backtrace" : 9, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" + }, + { + "backtrace" : 10, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "17" + }, + "sourceIndexes" : + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ] + } + ], + "id" : "BLT::@93fa9f0522c937b42b32", + "install" : + { + "destinations" : + [ + { + "backtrace" : 2, + "path" : "lib" + } + ], + "prefix" : + { + "path" : "/usr/local" + } + }, + "name" : "BLT", + "nameOnDisk" : "libBLT.a", + "paths" : + { + "build" : "lib/blt", + "source" : "lib/blt" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/std/assert.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/std/format.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/std/logging.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/std/string.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/std/system.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/profiling/profiler.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/profiling/profiler_v2.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/fs/filesystem.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/fs/loader.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/fs/nbt.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/fs/nbt_block.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/parse/argparse.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/parse/obj_loader.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/cmake-build-release/.cmake/api/v1/reply/toolchains-v1-a68c232ca45b00aa6bba.json b/cmake-build-release/.cmake/api/v1/reply/toolchains-v1-a68c232ca45b00aa6bba.json new file mode 100644 index 0000000..d98e41f --- /dev/null +++ b/cmake-build-release/.cmake/api/v1/reply/toolchains-v1-a68c232ca45b00aa6bba.json @@ -0,0 +1,107 @@ +{ + "kind" : "toolchains", + "toolchains" : + [ + { + "compiler" : + { + "id" : "GNU", + "implicit" : + { + "includeDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/12/include", + "/usr/local/include", + "/usr/include/x86_64-linux-gnu", + "/usr/include" + ], + "linkDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/12", + "/usr/lib/x86_64-linux-gnu", + "/usr/lib", + "/lib/x86_64-linux-gnu", + "/lib" + ], + "linkFrameworkDirectories" : [], + "linkLibraries" : + [ + "gcc", + "gcc_s", + "c", + "gcc", + "gcc_s" + ] + }, + "path" : "/usr/bin/cc", + "version" : "12.2.0" + }, + "language" : "C", + "sourceFileExtensions" : + [ + "c", + "m" + ] + }, + { + "compiler" : + { + "id" : "GNU", + "implicit" : + { + "includeDirectories" : + [ + "/usr/include/c++/12", + "/usr/include/x86_64-linux-gnu/c++/12", + "/usr/include/c++/12/backward", + "/usr/lib/gcc/x86_64-linux-gnu/12/include", + "/usr/local/include", + "/usr/include/x86_64-linux-gnu", + "/usr/include" + ], + "linkDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/12", + "/usr/lib/x86_64-linux-gnu", + "/usr/lib", + "/lib/x86_64-linux-gnu", + "/lib" + ], + "linkFrameworkDirectories" : [], + "linkLibraries" : + [ + "stdc++", + "m", + "gcc_s", + "gcc", + "c", + "gcc_s", + "gcc" + ] + }, + "path" : "/usr/bin/c++", + "version" : "12.2.0" + }, + "language" : "CXX", + "sourceFileExtensions" : + [ + "C", + "M", + "c++", + "cc", + "cpp", + "cxx", + "mm", + "mpp", + "CPP", + "ixx", + "cppm" + ] + } + ], + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/cmake-build-release/.ninja_deps b/cmake-build-release/.ninja_deps new file mode 100644 index 0000000..e435d18 Binary files /dev/null and b/cmake-build-release/.ninja_deps differ diff --git a/cmake-build-release/.ninja_log b/cmake-build-release/.ninja_log new file mode 100644 index 0000000..a98c14a --- /dev/null +++ b/cmake-build-release/.ninja_log @@ -0,0 +1,45 @@ +# ninja log v5 +3 210 1707839803974784221 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o 6bdb517936faad9 +3 246 1707839804010782964 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o 829dfd8c0bb445b +275 362 1707839804126770103 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o 40a34b81b0c3d57f +72 165 1707839803930785167 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o 52d524e2795e6c45 +333 2872 1707839806638494770 lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o ebd3e069adf60b2d +3 74 1707839803838786798 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o 8e94a42eb84dcb73 +374 1169 1707839804934680511 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o 239f1f40e0c59c05 +90 330 1707839804094773650 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o 7997578b5e4e33d +165 295 1707839804058777642 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o e5af6f051eb9f32f +3 126 1707839803890786027 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o 3afce1152ec93877 +75 317 1707839804082774981 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o f992824a4fa5f250 +422 2462 1707839806226539295 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o 1704d011727459e2 +3 72 1707839803838786798 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o 5220ec212f6eb925 +945 2920 1707839806686489583 lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o 66972e5153be633c +246 441 1707839804206761231 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o 5b6d5eeef7732060 +442 945 1707839804710705349 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o ecd9c24cc58bfb29 +3633 3673 1707839807438408909 Assignment_1 a4f975f4965fa966 +301 374 1707839804138768771 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o 67f4ca3efabaea2b +340 2316 1707839806082554857 lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o 4a603351abd3001e +1 1775 1707839805542613859 CMakeFiles/Assignment_1.dir/src/program/app.cpp.o c88edbbbc3b946c3 +3 90 1707839803854786636 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o 779318f392333d6f +127 191 1707839803954784651 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o ec52487dac2a3c06 +2 161 1707839803922785339 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o 4c3b77d88e6e3bd7 +476 3572 1707839807338419579 lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o 2534b5df0bb27770 +323 1767 1707839805530615172 lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o 1f114bb098178639 +2 91 1707839803854786636 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o 3ce554fb2f5a8bc +222 343 1707839804110771876 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o b93a7400959bf4e8 +118 340 1707839804106772319 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o 938970d2b03ac251 +2 1517 1707839805282642319 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o 7cbb91af0a5b833b +192 476 1707839804242757240 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o a81da3a3a5c61832 +1 333 1707839804098773206 CMakeFiles/Assignment_1.dir/src/program/function.cpp.o b315fa1763e3aabc +362 2989 1707839806754482235 lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o d6d6013886a64fe2 +92 222 1707839803986783962 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o 27ced9725de8e97d +343 2907 1707839806670491311 lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o 2f5650505c213984 +295 391 1707839804154766997 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o 3d6dc01c45573cf4 +4 118 1707839803882786199 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o 8cf90ba8e1177543 +2 422 1707839804186763449 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o 9b6e6f5d069502bc +210 323 1707839804086774537 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o cd2aa91f7a50e953 +161 300 1707839804066776755 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o 26e32837b036fe3c +391 1749 1707839805514616924 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o 23ec5b2cc6ef112a +1 275 1707839804042779416 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o 1ba8b373f9ce3a6c +330 3103 1707839806870469698 lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o c5767b08a71f36fa +3572 3633 1707839807398413177 lib/blt/libBLT.a f612e81ed877f804 +318 1095 1707839804862688495 lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o 27dda911f4f395d9 diff --git a/cmake-build-release/Assignment_1 b/cmake-build-release/Assignment_1 new file mode 100755 index 0000000..b5ecd02 Binary files /dev/null and b/cmake-build-release/Assignment_1 differ diff --git a/cmake-build-release/CMakeCache (conflicted copy 2024-02-13 123738).txt b/cmake-build-release/CMakeCache (conflicted copy 2024-02-13 123738).txt new file mode 100644 index 0000000..c7868f0 --- /dev/null +++ b/cmake-build-release/CMakeCache (conflicted copy 2024-02-13 123738).txt @@ -0,0 +1,556 @@ +# This is the CMakeCache file. +# For build in directory: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Value Computed by CMake +Assignment_1_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release + +//Value Computed by CMake +Assignment_1_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Assignment_1_RUNNER_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release + +//Value Computed by CMake +Assignment_1_RUNNER_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Assignment_1_RUNNER_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1 + +//Value Computed by CMake +Assignment_1_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1 + +//Value Computed by CMake +BLT_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt + +//Disable blt::logging BLT_DEBUG macro +BLT_DISABLE_DEBUG:BOOL=OFF + +//Disable blt::logging BLT_ERROR macro +BLT_DISABLE_ERROR:BOOL=OFF + +//Disable blt::logging BLT_FATAL macro +BLT_DISABLE_FATAL:BOOL=OFF + +//Disable blt::logging BLT_INFO macro +BLT_DISABLE_INFO:BOOL=OFF + +//Disable blt::logging (all macros and will safely disable logging +// function!) +BLT_DISABLE_LOGGING:BOOL=OFF + +//Disable blt::logging BLT_TRACE macro +BLT_DISABLE_TRACE:BOOL=OFF + +//Disable blt::logging BLT_WARN macro +BLT_DISABLE_WARN:BOOL=OFF + +//Value Computed by CMake +BLT_IS_TOP_LEVEL:STATIC=OFF + +//Dependencies for the target +BLT_LIB_DEPENDS:STATIC=general;ZLIB::ZLIB; + +//Value Computed by CMake +BLT_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt + +//Build the BLT FS utilities including the NBT + eNBT extension +BUILD_FS:BOOL=ON + +//Build the BLT parsers +BUILD_PARSE:BOOL=ON + +//Build the BLT profiler extension +BUILD_PROFILING:BOOL=ON + +//Build the BLT standard utilities. +BUILD_STD:BOOL=ON + +//Build the BLT test set +BUILD_TESTS:BOOL=OFF + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=Release + +//Enable colored diagnostics throughout. +CMAKE_COLOR_DIAGNOSTICS:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-12 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-12 + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-12 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-12 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/pkgRedirects + +//User executables (bin) +CMAKE_INSTALL_BINDIR:PATH=bin + +//Read-only architecture-independent data (DATAROOTDIR) +CMAKE_INSTALL_DATADIR:PATH= + +//Read-only architecture-independent data root (share) +CMAKE_INSTALL_DATAROOTDIR:PATH=share + +//Documentation root (DATAROOTDIR/doc/PROJECT_NAME) +CMAKE_INSTALL_DOCDIR:PATH= + +//C header files (include) +CMAKE_INSTALL_INCLUDEDIR:PATH=include + +//Info documentation (DATAROOTDIR/info) +CMAKE_INSTALL_INFODIR:PATH= + +//Object code libraries (lib) +CMAKE_INSTALL_LIBDIR:PATH=lib + +//Program executables (libexec) +CMAKE_INSTALL_LIBEXECDIR:PATH=libexec + +//Locale-dependent data (DATAROOTDIR/locale) +CMAKE_INSTALL_LOCALEDIR:PATH= + +//Modifiable single-machine data (var) +CMAKE_INSTALL_LOCALSTATEDIR:PATH=var + +//Man documentation (DATAROOTDIR/man) +CMAKE_INSTALL_MANDIR:PATH= + +//C header files for non-gcc (/usr/include) +CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Run-time variable data (LOCALSTATEDIR/run) +CMAKE_INSTALL_RUNSTATEDIR:PATH= + +//System admin executables (sbin) +CMAKE_INSTALL_SBINDIR:PATH=sbin + +//Modifiable architecture-independent data (com) +CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com + +//Read-only single-machine data (etc) +CMAKE_INSTALL_SYSCONFDIR:PATH=etc + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Assignment_1_RUNNER + +//Value Computed by CMake +CMAKE_PROJECT_VERSION:STATIC=0.11.3 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MAJOR:STATIC=0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MINOR:STATIC=11 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_PATCH:STATIC=3 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_TWEAK:STATIC= + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Enable the address sanitizer +ENABLE_ADDRSAN:BOOL=OFF + +//Enable the thread data race sanitizer +ENABLE_TSAN:BOOL=OFF + +//Enable the ub sanitizer +ENABLE_UBSAN:BOOL=OFF + +//Build for part B version of the assignment +PART_B:BOOL=ON + +//Path to a file. +ZLIB_INCLUDE_DIR:PATH=/usr/include + +//Path to a library. +ZLIB_LIBRARY_DEBUG:FILEPATH=ZLIB_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +ZLIB_LIBRARY_RELEASE:FILEPATH=/usr/lib/x86_64-linux-gnu/libz.so + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=25 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Test CMAKE_HAVE_LIBC_PTHREAD +CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1 +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/brett/Documents/Brock/CS 4P82/Assignment 1 +//ADVANCED property for variable: CMAKE_INSTALL_BINDIR +CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATADIR +CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR +CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR +CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR +CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INFODIR +CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR +CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR +CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR +CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR +CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_MANDIR +CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR +CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR +CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR +CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR +CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1 +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR +CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=2 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.25 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding Threads +FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] +//ADVANCED property for variable: ZLIB_INCLUDE_DIR +ZLIB_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: ZLIB_LIBRARY_DEBUG +ZLIB_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: ZLIB_LIBRARY_RELEASE +ZLIB_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//linker supports push/pop state +_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE +//CMAKE_INSTALL_PREFIX during last run +_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local + diff --git a/cmake-build-release/CMakeCache.txt b/cmake-build-release/CMakeCache.txt new file mode 100644 index 0000000..c7868f0 --- /dev/null +++ b/cmake-build-release/CMakeCache.txt @@ -0,0 +1,556 @@ +# This is the CMakeCache file. +# For build in directory: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Value Computed by CMake +Assignment_1_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release + +//Value Computed by CMake +Assignment_1_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Assignment_1_RUNNER_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release + +//Value Computed by CMake +Assignment_1_RUNNER_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Assignment_1_RUNNER_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1 + +//Value Computed by CMake +Assignment_1_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1 + +//Value Computed by CMake +BLT_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt + +//Disable blt::logging BLT_DEBUG macro +BLT_DISABLE_DEBUG:BOOL=OFF + +//Disable blt::logging BLT_ERROR macro +BLT_DISABLE_ERROR:BOOL=OFF + +//Disable blt::logging BLT_FATAL macro +BLT_DISABLE_FATAL:BOOL=OFF + +//Disable blt::logging BLT_INFO macro +BLT_DISABLE_INFO:BOOL=OFF + +//Disable blt::logging (all macros and will safely disable logging +// function!) +BLT_DISABLE_LOGGING:BOOL=OFF + +//Disable blt::logging BLT_TRACE macro +BLT_DISABLE_TRACE:BOOL=OFF + +//Disable blt::logging BLT_WARN macro +BLT_DISABLE_WARN:BOOL=OFF + +//Value Computed by CMake +BLT_IS_TOP_LEVEL:STATIC=OFF + +//Dependencies for the target +BLT_LIB_DEPENDS:STATIC=general;ZLIB::ZLIB; + +//Value Computed by CMake +BLT_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt + +//Build the BLT FS utilities including the NBT + eNBT extension +BUILD_FS:BOOL=ON + +//Build the BLT parsers +BUILD_PARSE:BOOL=ON + +//Build the BLT profiler extension +BUILD_PROFILING:BOOL=ON + +//Build the BLT standard utilities. +BUILD_STD:BOOL=ON + +//Build the BLT test set +BUILD_TESTS:BOOL=OFF + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=Release + +//Enable colored diagnostics throughout. +CMAKE_COLOR_DIAGNOSTICS:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-12 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-12 + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-12 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-12 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/pkgRedirects + +//User executables (bin) +CMAKE_INSTALL_BINDIR:PATH=bin + +//Read-only architecture-independent data (DATAROOTDIR) +CMAKE_INSTALL_DATADIR:PATH= + +//Read-only architecture-independent data root (share) +CMAKE_INSTALL_DATAROOTDIR:PATH=share + +//Documentation root (DATAROOTDIR/doc/PROJECT_NAME) +CMAKE_INSTALL_DOCDIR:PATH= + +//C header files (include) +CMAKE_INSTALL_INCLUDEDIR:PATH=include + +//Info documentation (DATAROOTDIR/info) +CMAKE_INSTALL_INFODIR:PATH= + +//Object code libraries (lib) +CMAKE_INSTALL_LIBDIR:PATH=lib + +//Program executables (libexec) +CMAKE_INSTALL_LIBEXECDIR:PATH=libexec + +//Locale-dependent data (DATAROOTDIR/locale) +CMAKE_INSTALL_LOCALEDIR:PATH= + +//Modifiable single-machine data (var) +CMAKE_INSTALL_LOCALSTATEDIR:PATH=var + +//Man documentation (DATAROOTDIR/man) +CMAKE_INSTALL_MANDIR:PATH= + +//C header files for non-gcc (/usr/include) +CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Run-time variable data (LOCALSTATEDIR/run) +CMAKE_INSTALL_RUNSTATEDIR:PATH= + +//System admin executables (sbin) +CMAKE_INSTALL_SBINDIR:PATH=sbin + +//Modifiable architecture-independent data (com) +CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com + +//Read-only single-machine data (etc) +CMAKE_INSTALL_SYSCONFDIR:PATH=etc + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Assignment_1_RUNNER + +//Value Computed by CMake +CMAKE_PROJECT_VERSION:STATIC=0.11.3 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MAJOR:STATIC=0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MINOR:STATIC=11 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_PATCH:STATIC=3 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_TWEAK:STATIC= + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Enable the address sanitizer +ENABLE_ADDRSAN:BOOL=OFF + +//Enable the thread data race sanitizer +ENABLE_TSAN:BOOL=OFF + +//Enable the ub sanitizer +ENABLE_UBSAN:BOOL=OFF + +//Build for part B version of the assignment +PART_B:BOOL=ON + +//Path to a file. +ZLIB_INCLUDE_DIR:PATH=/usr/include + +//Path to a library. +ZLIB_LIBRARY_DEBUG:FILEPATH=ZLIB_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +ZLIB_LIBRARY_RELEASE:FILEPATH=/usr/lib/x86_64-linux-gnu/libz.so + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=25 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Test CMAKE_HAVE_LIBC_PTHREAD +CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1 +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/brett/Documents/Brock/CS 4P82/Assignment 1 +//ADVANCED property for variable: CMAKE_INSTALL_BINDIR +CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATADIR +CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR +CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR +CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR +CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INFODIR +CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR +CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR +CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR +CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR +CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_MANDIR +CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR +CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR +CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR +CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR +CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1 +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR +CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=2 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.25 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding Threads +FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] +//ADVANCED property for variable: ZLIB_INCLUDE_DIR +ZLIB_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: ZLIB_LIBRARY_DEBUG +ZLIB_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: ZLIB_LIBRARY_RELEASE +ZLIB_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//linker supports push/pop state +_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE +//CMAKE_INSTALL_PREFIX during last run +_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local + diff --git a/cmake-build-release/CMakeFiles/3.25.1/CMakeCCompiler.cmake b/cmake-build-release/CMakeFiles/3.25.1/CMakeCCompiler.cmake new file mode 100644 index 0000000..14ce679 --- /dev/null +++ b/cmake-build-release/CMakeFiles/3.25.1/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "12.2.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-12") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-12") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/12/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/12;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/cmake-build-release/CMakeFiles/3.25.1/CMakeCXXCompiler.cmake b/cmake-build-release/CMakeFiles/3.25.1/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..1be14a5 --- /dev/null +++ b/cmake-build-release/CMakeFiles/3.25.1/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "12.2.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-12") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-12") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/12;/usr/include/x86_64-linux-gnu/c++/12;/usr/include/c++/12/backward;/usr/lib/gcc/x86_64-linux-gnu/12/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/12;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/cmake-build-release/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_C.bin b/cmake-build-release/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000..f38c8e7 Binary files /dev/null and b/cmake-build-release/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_C.bin differ diff --git a/cmake-build-release/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_CXX.bin b/cmake-build-release/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000..60578f9 Binary files /dev/null and b/cmake-build-release/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/cmake-build-release/CMakeFiles/3.25.1/CMakeSystem.cmake b/cmake-build-release/CMakeFiles/3.25.1/CMakeSystem.cmake new file mode 100644 index 0000000..8e69a26 --- /dev/null +++ b/cmake-build-release/CMakeFiles/3.25.1/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-6.1.0-16-amd64") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "6.1.0-16-amd64") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Linux-6.1.0-16-amd64") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "6.1.0-16-amd64") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/cmake-build-release/CMakeFiles/3.25.1/CompilerIdC/CMakeCCompilerId.c b/cmake-build-release/CMakeFiles/3.25.1/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..a83e378 --- /dev/null +++ b/cmake-build-release/CMakeFiles/3.25.1/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,868 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(1) +# if defined(__LCC__) +# define COMPILER_VERSION_MINOR DEC(__LCC__- 100) +# endif +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/cmake-build-release/CMakeFiles/3.25.1/CompilerIdC/a.out b/cmake-build-release/CMakeFiles/3.25.1/CompilerIdC/a.out new file mode 100755 index 0000000..2842992 Binary files /dev/null and b/cmake-build-release/CMakeFiles/3.25.1/CompilerIdC/a.out differ diff --git a/cmake-build-release/CMakeFiles/3.25.1/CompilerIdCXX/CMakeCXXCompilerId.cpp b/cmake-build-release/CMakeFiles/3.25.1/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..c9ba632 --- /dev/null +++ b/cmake-build-release/CMakeFiles/3.25.1/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,857 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(1) +# if defined(__LCC__) +# define COMPILER_VERSION_MINOR DEC(__LCC__- 100) +# endif +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/cmake-build-release/CMakeFiles/3.25.1/CompilerIdCXX/a.out b/cmake-build-release/CMakeFiles/3.25.1/CompilerIdCXX/a.out new file mode 100755 index 0000000..af69ab5 Binary files /dev/null and b/cmake-build-release/CMakeFiles/3.25.1/CompilerIdCXX/a.out differ diff --git a/cmake-build-release/CMakeFiles/CMakeOutput.log b/cmake-build-release/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..3509be7 --- /dev/null +++ b/cmake-build-release/CMakeFiles/CMakeOutput.log @@ -0,0 +1,460 @@ +The system is: Linux - 6.1.0-16-amd64 - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/cc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/3.25.1/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/3.25.1/CompilerIdCXX/a.out" + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-tREVUU + +Run Build Command(s):/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja cmTC_2c5ab && [1/2] Building C object CMakeFiles/cmTC_2c5ab.dir/CMakeCCompilerABI.c.o +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 12.2.0 (Debian 12.2.0-14) +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_2c5ab.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2c5ab.dir/' + /usr/lib/gcc/x86_64-linux-gnu/12/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_2c5ab.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -o /tmp/ccoVHnpd.s +GNU C17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu) + compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.1-p1, MPC version 1.3.1, isl version isl-0.25-GMP + +warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0. +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/12/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +GNU C17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu) + compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.1-p1, MPC version 1.3.1, isl version isl-0.25-GMP + +warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0. +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: cc72d2b9b5048fedc2be9051c917b40b +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_2c5ab.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2c5ab.dir/' + as -v --64 -o CMakeFiles/cmTC_2c5ab.dir/CMakeCCompilerABI.c.o /tmp/ccoVHnpd.s +GNU assembler version 2.40 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.40 +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_2c5ab.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2c5ab.dir/CMakeCCompilerABI.c.' +[2/2] Linking C executable cmTC_2c5ab +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 12.2.0 (Debian 12.2.0-14) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_2c5ab' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_2c5ab.' + /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/ccwlkBmo.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_2c5ab /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/12/../../.. CMakeFiles/cmTC_2c5ab.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_2c5ab' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_2c5ab.' + + + +Parsed C implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-linux-gnu/12/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/12/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/12/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/12/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-tREVUU] + ignore line: [] + ignore line: [Run Build Command(s):/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja cmTC_2c5ab && [1/2] Building C object CMakeFiles/cmTC_2c5ab.dir/CMakeCCompilerABI.c.o] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 12.2.0 (Debian 12.2.0-14) ] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_2c5ab.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2c5ab.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/12/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_2c5ab.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -o /tmp/ccoVHnpd.s] + ignore line: [GNU C17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 12.2.0 GMP version 6.2.1 MPFR version 4.1.1-p1 MPC version 1.3.1 isl version isl-0.25-GMP] + ignore line: [] + ignore line: [warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/12/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 12.2.0 GMP version 6.2.1 MPFR version 4.1.1-p1 MPC version 1.3.1 isl version isl-0.25-GMP] + ignore line: [] + ignore line: [warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: cc72d2b9b5048fedc2be9051c917b40b] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_2c5ab.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2c5ab.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_2c5ab.dir/CMakeCCompilerABI.c.o /tmp/ccoVHnpd.s] + ignore line: [GNU assembler version 2.40 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.40] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_2c5ab.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_2c5ab.dir/CMakeCCompilerABI.c.'] + ignore line: [[2/2] Linking C executable cmTC_2c5ab] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 12.2.0 (Debian 12.2.0-14) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_2c5ab' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_2c5ab.'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/ccwlkBmo.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_2c5ab /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/12/../../.. CMakeFiles/cmTC_2c5ab.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccwlkBmo.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-o] ==> ignore + arg [cmTC_2c5ab] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../..] + arg [CMakeFiles/cmTC_2c5ab.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12] ==> [/usr/lib/gcc/x86_64-linux-gnu/12] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/12;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-JWnzYS + +Run Build Command(s):/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja cmTC_4ca05 && [1/2] Building CXX object CMakeFiles/cmTC_4ca05.dir/CMakeCXXCompilerABI.cpp.o +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 12.2.0 (Debian 12.2.0-14) +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_4ca05.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4ca05.dir/' + /usr/lib/gcc/x86_64-linux-gnu/12/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_4ca05.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -o /tmp/ccXebQaM.s +GNU C++17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu) + compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.1-p1, MPC version 1.3.1, isl version isl-0.25-GMP + +warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0. +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/12" +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/include/c++/12 + /usr/include/x86_64-linux-gnu/c++/12 + /usr/include/c++/12/backward + /usr/lib/gcc/x86_64-linux-gnu/12/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +GNU C++17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu) + compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.1-p1, MPC version 1.3.1, isl version isl-0.25-GMP + +warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0. +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 62b090dbbefa50644117a3c13d47369a +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_4ca05.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4ca05.dir/' + as -v --64 -o CMakeFiles/cmTC_4ca05.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccXebQaM.s +GNU assembler version 2.40 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.40 +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_4ca05.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4ca05.dir/CMakeCXXCompilerABI.cpp.' +[2/2] Linking CXX executable cmTC_4ca05 +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 12.2.0 (Debian 12.2.0-14) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4ca05' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4ca05.' + /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/cc42HtEz.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_4ca05 /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/12/../../.. CMakeFiles/cmTC_4ca05.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4ca05' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4ca05.' + + + +Parsed CXX implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/include/c++/12] + add: [/usr/include/x86_64-linux-gnu/c++/12] + add: [/usr/include/c++/12/backward] + add: [/usr/lib/gcc/x86_64-linux-gnu/12/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/include/c++/12] ==> [/usr/include/c++/12] + collapse include dir [/usr/include/x86_64-linux-gnu/c++/12] ==> [/usr/include/x86_64-linux-gnu/c++/12] + collapse include dir [/usr/include/c++/12/backward] ==> [/usr/include/c++/12/backward] + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/12/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/12/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/12;/usr/include/x86_64-linux-gnu/c++/12;/usr/include/c++/12/backward;/usr/lib/gcc/x86_64-linux-gnu/12/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-JWnzYS] + ignore line: [] + ignore line: [Run Build Command(s):/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja cmTC_4ca05 && [1/2] Building CXX object CMakeFiles/cmTC_4ca05.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 12.2.0 (Debian 12.2.0-14) ] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_4ca05.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4ca05.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/12/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_4ca05.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -o /tmp/ccXebQaM.s] + ignore line: [GNU C++17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 12.2.0 GMP version 6.2.1 MPFR version 4.1.1-p1 MPC version 1.3.1 isl version isl-0.25-GMP] + ignore line: [] + ignore line: [warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/12"] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/include/c++/12] + ignore line: [ /usr/include/x86_64-linux-gnu/c++/12] + ignore line: [ /usr/include/c++/12/backward] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/12/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C++17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 12.2.0 GMP version 6.2.1 MPFR version 4.1.1-p1 MPC version 1.3.1 isl version isl-0.25-GMP] + ignore line: [] + ignore line: [warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 62b090dbbefa50644117a3c13d47369a] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_4ca05.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4ca05.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_4ca05.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccXebQaM.s] + ignore line: [GNU assembler version 2.40 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.40] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_4ca05.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_4ca05.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [[2/2] Linking CXX executable cmTC_4ca05] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 12.2.0 (Debian 12.2.0-14) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_4ca05' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_4ca05.'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/cc42HtEz.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_4ca05 /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/12/../../.. CMakeFiles/cmTC_4ca05.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/cc42HtEz.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-o] ==> ignore + arg [cmTC_4ca05] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../..] + arg [CMakeFiles/cmTC_4ca05.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12] ==> [/usr/lib/gcc/x86_64-linux-gnu/12] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/12;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + +Performing C SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD succeeded with the following output: +Change Dir: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/CMakeScratch/TryCompile-oBGsV4 + +Run Build Command(s):/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja cmTC_36a46 && [1/2] Building C object CMakeFiles/cmTC_36a46.dir/src.c.o +[2/2] Linking C executable cmTC_36a46 + + +Source file was: +#include + +static void* test_func(void* data) +{ + return data; +} + +int main(void) +{ + pthread_t thread; + pthread_create(&thread, NULL, test_func, NULL); + pthread_detach(thread); + pthread_cancel(thread); + pthread_join(thread, NULL); + pthread_atfork(NULL, NULL, NULL); + pthread_exit(NULL); + + return 0; +} + + diff --git a/cmake-build-release/CMakeFiles/TargetDirectories.txt b/cmake-build-release/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..232e920 --- /dev/null +++ b/cmake-build-release/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,15 @@ +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/Assignment_1.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/Assignment_1_RUNNER.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/edit_cache.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/rebuild_cache.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/list_install_components.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/install.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/install/local.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/CMakeFiles/install/strip.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/CMakeFiles/BLT.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/CMakeFiles/edit_cache.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/CMakeFiles/rebuild_cache.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/CMakeFiles/list_install_components.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/CMakeFiles/install.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/CMakeFiles/install/local.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/CMakeFiles/install/strip.dir diff --git a/cmake-build-release/CMakeFiles/clion-Release-log.txt b/cmake-build-release/CMakeFiles/clion-Release-log.txt new file mode 100644 index 0000000..64a83df --- /dev/null +++ b/cmake-build-release/CMakeFiles/clion-Release-log.txt @@ -0,0 +1,20 @@ +/usr/bin/cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja -G Ninja -S "/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" + + +Building STD +Building Profiling +Building FS +Building Parsers +Found Parallel Hashmaps +Standard Files /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/std/assert.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/std/format.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/std/logging.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/std/string.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/std/system.cpp +Profiler Files /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/profiling/profiler.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/profiling/profiler_v2.cpp +FS Files /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/fs/filesystem.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/fs/loader.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/fs/nbt.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/fs/nbt_block.cpp +Parser Files /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/parse/argparse.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/parse/obj_loader.cpp +Source: /home/brett/Documents/Brock/CS 4P82/Assignment 1 +Current Source: /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt +Including phmap +BLT Successfully included! +Installing to lib with headers at include +-- Configuring done +-- Generating done +-- Build files have been written to: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release diff --git a/cmake-build-release/CMakeFiles/clion-environment.txt b/cmake-build-release/CMakeFiles/clion-environment.txt new file mode 100644 index 0000000..d1d0a61 --- /dev/null +++ b/cmake-build-release/CMakeFiles/clion-environment.txt @@ -0,0 +1,3 @@ +ToolSet: 1.0 (local)Options: + +Options:-DCMAKE_MAKE_PROGRAM=/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja \ No newline at end of file diff --git a/cmake-build-release/CMakeFiles/cmake.check_cache b/cmake-build-release/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/cmake-build-release/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/cmake-build-release/CMakeFiles/rules.ninja b/cmake-build-release/CMakeFiles/rules.ninja new file mode 100644 index 0000000..c7f20c9 --- /dev/null +++ b/cmake-build-release/CMakeFiles/rules.ninja @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.25 + +# This file contains all the rules used to get the outputs files +# built from the input files. +# It is included in the main 'build.ninja'. + +# ============================================================================= +# Project: Assignment_1_RUNNER +# Configurations: Release +# ============================================================================= +# ============================================================================= + +############################################# +# Rule for compiling C files. + +rule C_COMPILER__Assignment_1_Release + depfile = $DEP_FILE + deps = gcc + command = /usr/bin/cc $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building C object $out + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__Assignment_1_Release + depfile = $DEP_FILE + deps = gcc + command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX executable. + +rule CXX_EXECUTABLE_LINKER__Assignment_1_Release + command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD + description = Linking CXX executable $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__Assignment_1_RUNNER_Release + depfile = $DEP_FILE + deps = gcc + command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX executable. + +rule CXX_EXECUTABLE_LINKER__Assignment_1_RUNNER_Release + command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD + description = Linking CXX executable $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for running custom commands. + +rule CUSTOM_COMMAND + command = $COMMAND + description = $DESC + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__BLT_Release + depfile = $DEP_FILE + deps = gcc + command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX static library. + +rule CXX_STATIC_LIBRARY_LINKER__BLT_Release + command = $PRE_LINK && /usr/bin/cmake -E rm -f $TARGET_FILE && /usr/bin/ar qc $TARGET_FILE $LINK_FLAGS $in && /usr/bin/ranlib $TARGET_FILE && $POST_BUILD + description = Linking CXX static library $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for re-running cmake. + +rule RERUN_CMAKE + command = /usr/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" + description = Re-running CMake... + generator = 1 + + +############################################# +# Rule for cleaning all built files. + +rule CLEAN + command = /opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja $FILE_ARG -t clean $TARGETS + description = Cleaning all built files... + + +############################################# +# Rule for printing all primary targets available. + +rule HELP + command = /opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja -t targets + description = All primary targets available: + diff --git a/cmake-build-release/Testing/Temporary/LastTest.log b/cmake-build-release/Testing/Temporary/LastTest.log new file mode 100644 index 0000000..6dd3906 --- /dev/null +++ b/cmake-build-release/Testing/Temporary/LastTest.log @@ -0,0 +1,3 @@ +Start testing: Feb 13 10:57 EST +---------------------------------------------------------- +End testing: Feb 13 10:57 EST diff --git a/cmake-build-release/build (conflicted copy 2024-02-13 123738).ninja b/cmake-build-release/build (conflicted copy 2024-02-13 123738).ninja new file mode 100644 index 0000000..4f14c81 --- /dev/null +++ b/cmake-build-release/build (conflicted copy 2024-02-13 123738).ninja @@ -0,0 +1,746 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.25 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: Assignment_1_RUNNER +# Configurations: Release +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = Release +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/cmake-build-release/ +# ============================================================================= +# Object build statements for EXECUTABLE target Assignment_1 + + +############################################# +# Order-only phony target for Assignment_1 + +build cmake_object_order_depends_target_Assignment_1: phony || cmake_object_order_depends_target_BLT + +build CMakeFiles/Assignment_1.dir/src/program/app.cpp.o: CXX_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/program/app.cpp || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/src/program/app.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/src/program + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/src/program/function.cpp.o: CXX_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/program/function.cpp || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/src/program/function.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/src/program + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/main.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/gp.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/eval.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/tree.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/change.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/crossovr.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/reproduc.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/mutate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/select.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/tournmnt.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/bstworst.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/fitness.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/genspace.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/exch.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/populate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/ephem.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/ckpoint.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/event.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/pretty.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/individ.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/params.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/random.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/memory.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/output.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/boltzman.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/sigma.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/fsetupdate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + + +# ============================================================================= +# Link build statements for EXECUTABLE target Assignment_1 + + +############################################# +# Link the executable Assignment_1 + +build Assignment_1: CXX_EXECUTABLE_LINKER__Assignment_1_Release CMakeFiles/Assignment_1.dir/src/program/app.cpp.o CMakeFiles/Assignment_1.dir/src/program/function.cpp.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o | lib/blt/libBLT.a /usr/lib/x86_64-linux-gnu/libz.so || lib/blt/libBLT.a + FLAGS = -O3 -DNDEBUG + LINK_FLAGS = -Wall -Wextra -Wpedantic -Wno-comment -rdynamic + LINK_LIBRARIES = lib/blt/libBLT.a -lm -lpthread /usr/lib/x86_64-linux-gnu/libz.so + OBJECT_DIR = CMakeFiles/Assignment_1.dir + POST_BUILD = : + PRE_LINK = : + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_FILE = Assignment_1 + TARGET_PDB = Assignment_1.pdb + +# ============================================================================= +# Object build statements for EXECUTABLE target Assignment_1_RUNNER + + +############################################# +# Order-only phony target for Assignment_1_RUNNER + +build cmake_object_order_depends_target_Assignment_1_RUNNER: phony || Assignment_1 cmake_object_order_depends_target_BLT + +build CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o: CXX_COMPILER__Assignment_1_RUNNER_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/runner/main.cpp || cmake_object_order_depends_target_Assignment_1_RUNNER + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/RUNNER" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1_RUNNER.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1_RUNNER.dir/src/runner + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1_RUNNER.dir/ + TARGET_PDB = Assignment_1_RUNNER.pdb + + +# ============================================================================= +# Link build statements for EXECUTABLE target Assignment_1_RUNNER + + +############################################# +# Link the executable Assignment_1_RUNNER + +build Assignment_1_RUNNER: CXX_EXECUTABLE_LINKER__Assignment_1_RUNNER_Release CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o | lib/blt/libBLT.a /usr/lib/x86_64-linux-gnu/libz.so || Assignment_1 lib/blt/libBLT.a + FLAGS = -O3 -DNDEBUG + LINK_FLAGS = -Wall -Wextra -Wpedantic -Wno-comment -rdynamic + LINK_LIBRARIES = lib/blt/libBLT.a -lm -lpthread /usr/lib/x86_64-linux-gnu/libz.so + OBJECT_DIR = CMakeFiles/Assignment_1_RUNNER.dir + POST_BUILD = : + PRE_LINK = : + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1_RUNNER.dir/ + TARGET_FILE = Assignment_1_RUNNER + TARGET_PDB = Assignment_1_RUNNER.pdb + + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" && /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" && /usr/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build list_install_components: phony + + +############################################# +# Utility command for install + +build CMakeFiles/install.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" && /usr/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build install: phony CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build CMakeFiles/install/local.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" && /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build install/local: phony CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build CMakeFiles/install/strip.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" && /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build install/strip: phony CMakeFiles/install/strip.util + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# /home/brett/Documents/Brock/CS 4P82/Assignment 1/CMakeLists.txt +# ============================================================================= + +# ============================================================================= +# Object build statements for STATIC_LIBRARY target BLT + + +############################################# +# Order-only phony target for BLT + +build cmake_object_order_depends_target_BLT: phony || lib/blt/CMakeFiles/BLT.dir + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/assert.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/format.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/logging.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/string.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/system.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/profiling/profiler.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/profiling/profiler_v2.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/filesystem.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/loader.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/nbt.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/nbt_block.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/parse/argparse.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/parse + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/parse/obj_loader.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/parse + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + + +# ============================================================================= +# Link build statements for STATIC_LIBRARY target BLT + + +############################################# +# Link the static library lib/blt/libBLT.a + +build lib/blt/libBLT.a: CXX_STATIC_LIBRARY_LINKER__BLT_Release lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o + LANGUAGE_COMPILE_FLAGS = -O3 -DNDEBUG + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + POST_BUILD = : + PRE_LINK = : + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_FILE = lib/blt/libBLT.a + TARGET_PDB = lib/blt/libBLT.pdb + + +############################################# +# Utility command for edit_cache + +build lib/blt/CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt" && /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build lib/blt/edit_cache: phony lib/blt/CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build lib/blt/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt" && /usr/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build lib/blt/rebuild_cache: phony lib/blt/CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build lib/blt/list_install_components: phony + + +############################################# +# Utility command for install + +build lib/blt/CMakeFiles/install.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt" && /usr/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build lib/blt/install: phony lib/blt/CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build lib/blt/CMakeFiles/install/local.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt" && /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build lib/blt/install/local: phony lib/blt/CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build lib/blt/CMakeFiles/install/strip.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt" && /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build lib/blt/install/strip: phony lib/blt/CMakeFiles/install/strip.util + +# ============================================================================= +# Target aliases. + +build BLT: phony lib/blt/libBLT.a + +build libBLT.a: phony lib/blt/libBLT.a + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release + +build all: phony Assignment_1 Assignment_1_RUNNER lib/blt/all + +# ============================================================================= + +############################################# +# Folder: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt + +build lib/blt/all: phony lib/blt/libBLT.a + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/include/blt/config.h.in /usr/share/cmake-3.25/Modules/CMakeCCompiler.cmake.in /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c /usr/share/cmake-3.25/Modules/CMakeCInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCXXCompiler.cmake.in /usr/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp /usr/share/cmake-3.25/Modules/CMakeCXXInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake-3.25/Modules/CMakeCompilerIdDetection.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCXXCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompileFeatures.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompilerABI.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompilerId.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineSystem.cmake /usr/share/cmake-3.25/Modules/CMakeFindBinUtils.cmake /usr/share/cmake-3.25/Modules/CMakeGenericSystem.cmake /usr/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake /usr/share/cmake-3.25/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/share/cmake-3.25/Modules/CMakeParseImplicitLinkInfo.cmake /usr/share/cmake-3.25/Modules/CMakeParseLibraryArchitecture.cmake /usr/share/cmake-3.25/Modules/CMakeSystem.cmake.in /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake-3.25/Modules/CMakeTestCCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeTestCXXCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeTestCompilerCommon.cmake /usr/share/cmake-3.25/Modules/CheckCSourceCompiles.cmake /usr/share/cmake-3.25/Modules/CheckIncludeFile.cmake /usr/share/cmake-3.25/Modules/CheckLibraryExists.cmake /usr/share/cmake-3.25/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake-3.25/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-FindBinUtils.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU.cmake /usr/share/cmake-3.25/Modules/Compiler/HP-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/LCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/NVHPC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/TI-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Tasking-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XL-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/zOS-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake /usr/share/cmake-3.25/Modules/FindPackageMessage.cmake /usr/share/cmake-3.25/Modules/FindThreads.cmake /usr/share/cmake-3.25/Modules/FindZLIB.cmake /usr/share/cmake-3.25/Modules/GNUInstallDirs.cmake /usr/share/cmake-3.25/Modules/Internal/CheckSourceCompiles.cmake /usr/share/cmake-3.25/Modules/Internal/FeatureTesting.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-Determine-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake /usr/share/cmake-3.25/Modules/Platform/Linux.cmake /usr/share/cmake-3.25/Modules/Platform/UnixPaths.cmake /usr/share/cmake-3.25/Modules/SelectLibraryConfigurations.cmake CMakeCache.txt CMakeFiles/3.25.1/CMakeCCompiler.cmake CMakeFiles/3.25.1/CMakeCXXCompiler.cmake CMakeFiles/3.25.1/CMakeSystem.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/include/blt/config.h.in /usr/share/cmake-3.25/Modules/CMakeCCompiler.cmake.in /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c /usr/share/cmake-3.25/Modules/CMakeCInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCXXCompiler.cmake.in /usr/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp /usr/share/cmake-3.25/Modules/CMakeCXXInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake-3.25/Modules/CMakeCompilerIdDetection.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCXXCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompileFeatures.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompilerABI.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompilerId.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineSystem.cmake /usr/share/cmake-3.25/Modules/CMakeFindBinUtils.cmake /usr/share/cmake-3.25/Modules/CMakeGenericSystem.cmake /usr/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake /usr/share/cmake-3.25/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/share/cmake-3.25/Modules/CMakeParseImplicitLinkInfo.cmake /usr/share/cmake-3.25/Modules/CMakeParseLibraryArchitecture.cmake /usr/share/cmake-3.25/Modules/CMakeSystem.cmake.in /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake-3.25/Modules/CMakeTestCCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeTestCXXCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeTestCompilerCommon.cmake /usr/share/cmake-3.25/Modules/CheckCSourceCompiles.cmake /usr/share/cmake-3.25/Modules/CheckIncludeFile.cmake /usr/share/cmake-3.25/Modules/CheckLibraryExists.cmake /usr/share/cmake-3.25/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake-3.25/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-FindBinUtils.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU.cmake /usr/share/cmake-3.25/Modules/Compiler/HP-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/LCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/NVHPC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/TI-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Tasking-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XL-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/zOS-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake /usr/share/cmake-3.25/Modules/FindPackageMessage.cmake /usr/share/cmake-3.25/Modules/FindThreads.cmake /usr/share/cmake-3.25/Modules/FindZLIB.cmake /usr/share/cmake-3.25/Modules/GNUInstallDirs.cmake /usr/share/cmake-3.25/Modules/Internal/CheckSourceCompiles.cmake /usr/share/cmake-3.25/Modules/Internal/FeatureTesting.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-Determine-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake /usr/share/cmake-3.25/Modules/Platform/Linux.cmake /usr/share/cmake-3.25/Modules/Platform/UnixPaths.cmake /usr/share/cmake-3.25/Modules/SelectLibraryConfigurations.cmake CMakeCache.txt CMakeFiles/3.25.1/CMakeCCompiler.cmake CMakeFiles/3.25.1/CMakeCXXCompiler.cmake CMakeFiles/3.25.1/CMakeSystem.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/cmake-build-release/build.ninja b/cmake-build-release/build.ninja new file mode 100644 index 0000000..0f9ebc5 --- /dev/null +++ b/cmake-build-release/build.ninja @@ -0,0 +1,657 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.25 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: Assignment_1_RUNNER +# Configurations: Release +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = Release +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/cmake-build-release/ +# ============================================================================= +# Object build statements for EXECUTABLE target Assignment_1 + + +############################################# +# Order-only phony target for Assignment_1 + +build cmake_object_order_depends_target_Assignment_1: phony || cmake_object_order_depends_target_BLT + +build CMakeFiles/Assignment_1.dir/src/program/app.cpp.o: CXX_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/program/app.cpp || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/src/program/app.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/src/program + +build CMakeFiles/Assignment_1.dir/src/program/function.cpp.o: CXX_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/program/function.cpp || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/src/program/function.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/src/program + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/main.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/gp.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/eval.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/tree.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/change.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/crossovr.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/reproduc.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/mutate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/select.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/tournmnt.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/bstworst.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/fitness.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/genspace.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/exch.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/populate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/ephem.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/ckpoint.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/event.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/pretty.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/individ.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/params.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/random.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/memory.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/output.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/boltzman.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/sigma.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o: C_COMPILER__Assignment_1_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/fsetupdate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + + +# ============================================================================= +# Link build statements for EXECUTABLE target Assignment_1 + + +############################################# +# Link the executable Assignment_1 + +build Assignment_1: CXX_EXECUTABLE_LINKER__Assignment_1_Release CMakeFiles/Assignment_1.dir/src/program/app.cpp.o CMakeFiles/Assignment_1.dir/src/program/function.cpp.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o | lib/blt/libBLT.a /usr/lib/x86_64-linux-gnu/libz.so || lib/blt/libBLT.a + FLAGS = -O3 -DNDEBUG + LINK_FLAGS = -Wall -Wextra -Wpedantic -Wno-comment -rdynamic + LINK_LIBRARIES = lib/blt/libBLT.a -lm -lpthread /usr/lib/x86_64-linux-gnu/libz.so + OBJECT_DIR = CMakeFiles/Assignment_1.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = Assignment_1 + TARGET_PDB = Assignment_1.dbg + +# ============================================================================= +# Object build statements for EXECUTABLE target Assignment_1_RUNNER + + +############################################# +# Order-only phony target for Assignment_1_RUNNER + +build cmake_object_order_depends_target_Assignment_1_RUNNER: phony || Assignment_1 cmake_object_order_depends_target_BLT + +build CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o: CXX_COMPILER__Assignment_1_RUNNER_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/runner/main.cpp || cmake_object_order_depends_target_Assignment_1_RUNNER + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/RUNNER" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1_RUNNER.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1_RUNNER.dir/src/runner + + +# ============================================================================= +# Link build statements for EXECUTABLE target Assignment_1_RUNNER + + +############################################# +# Link the executable Assignment_1_RUNNER + +build Assignment_1_RUNNER: CXX_EXECUTABLE_LINKER__Assignment_1_RUNNER_Release CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o | lib/blt/libBLT.a /usr/lib/x86_64-linux-gnu/libz.so || Assignment_1 lib/blt/libBLT.a + FLAGS = -O3 -DNDEBUG + LINK_FLAGS = -Wall -Wextra -Wpedantic -Wno-comment -rdynamic + LINK_LIBRARIES = lib/blt/libBLT.a -lm -lpthread /usr/lib/x86_64-linux-gnu/libz.so + OBJECT_DIR = CMakeFiles/Assignment_1_RUNNER.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = Assignment_1_RUNNER + TARGET_PDB = Assignment_1_RUNNER.dbg + + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" && /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" && /usr/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build list_install_components: phony + + +############################################# +# Utility command for install + +build CMakeFiles/install.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" && /usr/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build install: phony CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build CMakeFiles/install/local.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" && /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build install/local: phony CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build CMakeFiles/install/strip.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" && /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build install/strip: phony CMakeFiles/install/strip.util + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# /home/brett/Documents/Brock/CS 4P82/Assignment 1/CMakeLists.txt +# ============================================================================= + +# ============================================================================= +# Object build statements for STATIC_LIBRARY target BLT + + +############################################# +# Order-only phony target for BLT + +build cmake_object_order_depends_target_BLT: phony || lib/blt/CMakeFiles/BLT.dir + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/assert.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/format.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/logging.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/string.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/system.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/profiling/profiler.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling + +build lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/profiling/profiler_v2.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/filesystem.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/loader.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/nbt.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/nbt_block.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + +build lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/parse/argparse.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/parse + +build lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o: CXX_COMPILER__BLT_Release /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/parse/obj_loader.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o.d + FLAGS = -O3 -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/parse + + +# ============================================================================= +# Link build statements for STATIC_LIBRARY target BLT + + +############################################# +# Link the static library lib/blt/libBLT.a + +build lib/blt/libBLT.a: CXX_STATIC_LIBRARY_LINKER__BLT_Release lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o + LANGUAGE_COMPILE_FLAGS = -O3 -DNDEBUG + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = lib/blt/libBLT.a + TARGET_PDB = BLT.a.dbg + + +############################################# +# Utility command for edit_cache + +build lib/blt/CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt" && /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build lib/blt/edit_cache: phony lib/blt/CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build lib/blt/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt" && /usr/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release" + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build lib/blt/rebuild_cache: phony lib/blt/CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build lib/blt/list_install_components: phony + + +############################################# +# Utility command for install + +build lib/blt/CMakeFiles/install.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt" && /usr/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build lib/blt/install: phony lib/blt/CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build lib/blt/CMakeFiles/install/local.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt" && /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build lib/blt/install/local: phony lib/blt/CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build lib/blt/CMakeFiles/install/strip.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt" && /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build lib/blt/install/strip: phony lib/blt/CMakeFiles/install/strip.util + +# ============================================================================= +# Target aliases. + +build BLT: phony lib/blt/libBLT.a + +build libBLT.a: phony lib/blt/libBLT.a + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release + +build all: phony Assignment_1 Assignment_1_RUNNER lib/blt/all + +# ============================================================================= + +############################################# +# Folder: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt + +build lib/blt/all: phony lib/blt/libBLT.a + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/include/blt/config.h.in /usr/share/cmake-3.25/Modules/CMakeCInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCXXInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake-3.25/Modules/CMakeGenericSystem.cmake /usr/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake-3.25/Modules/CheckCSourceCompiles.cmake /usr/share/cmake-3.25/Modules/CheckIncludeFile.cmake /usr/share/cmake-3.25/Modules/CheckLibraryExists.cmake /usr/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU.cmake /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake /usr/share/cmake-3.25/Modules/FindPackageMessage.cmake /usr/share/cmake-3.25/Modules/FindThreads.cmake /usr/share/cmake-3.25/Modules/FindZLIB.cmake /usr/share/cmake-3.25/Modules/GNUInstallDirs.cmake /usr/share/cmake-3.25/Modules/Internal/CheckSourceCompiles.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake /usr/share/cmake-3.25/Modules/Platform/Linux.cmake /usr/share/cmake-3.25/Modules/Platform/UnixPaths.cmake /usr/share/cmake-3.25/Modules/SelectLibraryConfigurations.cmake CMakeCache.txt CMakeFiles/3.25.1/CMakeCCompiler.cmake CMakeFiles/3.25.1/CMakeCXXCompiler.cmake CMakeFiles/3.25.1/CMakeSystem.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/include/blt/config.h.in /usr/share/cmake-3.25/Modules/CMakeCInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCXXInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake-3.25/Modules/CMakeGenericSystem.cmake /usr/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake-3.25/Modules/CheckCSourceCompiles.cmake /usr/share/cmake-3.25/Modules/CheckIncludeFile.cmake /usr/share/cmake-3.25/Modules/CheckLibraryExists.cmake /usr/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU.cmake /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake /usr/share/cmake-3.25/Modules/FindPackageMessage.cmake /usr/share/cmake-3.25/Modules/FindThreads.cmake /usr/share/cmake-3.25/Modules/FindZLIB.cmake /usr/share/cmake-3.25/Modules/GNUInstallDirs.cmake /usr/share/cmake-3.25/Modules/Internal/CheckSourceCompiles.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake /usr/share/cmake-3.25/Modules/Platform/Linux.cmake /usr/share/cmake-3.25/Modules/Platform/UnixPaths.cmake /usr/share/cmake-3.25/Modules/SelectLibraryConfigurations.cmake CMakeCache.txt CMakeFiles/3.25.1/CMakeCCompiler.cmake CMakeFiles/3.25.1/CMakeCXXCompiler.cmake CMakeFiles/3.25.1/CMakeSystem.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/cmake-build-release/cmake_install.cmake b/cmake-build-release/cmake_install.cmake new file mode 100644 index 0000000..0f92809 --- /dev/null +++ b/cmake-build-release/cmake_install.cmake @@ -0,0 +1,59 @@ +# Install script for directory: /home/brett/Documents/Brock/CS 4P82/Assignment 1 + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for the subdirectory. + include("/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/cmake_install.cmake") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o new file mode 100644 index 0000000..47ea357 Binary files /dev/null and b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o differ diff --git a/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o new file mode 100644 index 0000000..1ea4b14 Binary files /dev/null and b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o differ diff --git a/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o new file mode 100644 index 0000000..d7f8da4 Binary files /dev/null and b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o differ diff --git a/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o new file mode 100644 index 0000000..204b1fc Binary files /dev/null and b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o differ diff --git a/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o new file mode 100644 index 0000000..ae71160 Binary files /dev/null and b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o differ diff --git a/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o new file mode 100644 index 0000000..b13a5a3 Binary files /dev/null and b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o differ diff --git a/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o new file mode 100644 index 0000000..dfe2562 Binary files /dev/null and b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o differ diff --git a/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o new file mode 100644 index 0000000..bf75f0c Binary files /dev/null and b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o differ diff --git a/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o new file mode 100644 index 0000000..6c67cbe Binary files /dev/null and b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o differ diff --git a/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o new file mode 100644 index 0000000..365111a Binary files /dev/null and b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o differ diff --git a/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o new file mode 100644 index 0000000..37896eb Binary files /dev/null and b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o differ diff --git a/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o new file mode 100644 index 0000000..0390f85 Binary files /dev/null and b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o differ diff --git a/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o new file mode 100644 index 0000000..90e7d45 Binary files /dev/null and b/cmake-build-release/lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o differ diff --git a/cmake-build-release/lib/blt/cmake_install.cmake b/cmake-build-release/lib/blt/cmake_install.cmake new file mode 100644 index 0000000..1f8dd5f --- /dev/null +++ b/cmake-build-release/lib/blt/cmake_install.cmake @@ -0,0 +1,194 @@ +# Install script for directory: /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/compatibility.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/fs" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/fs/filesystem.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/fs" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/fs/loader.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/fs" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/fs/nbt.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/fs" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/fs/nbt_block.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/math" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/math/averages.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/math" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/math/log_util.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/math" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/math/math.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/math" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/math/matrix.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/math" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/math/vectors.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/parse" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/parse/argparse.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/parse" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/parse/mustache.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/parse" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/parse/obj_loader.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/profiling" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/profiling/profiler.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/profiling" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/profiling/profiler_v2.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/allocator.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/assert.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/binary_tree.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/expected.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/format.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/hashmap.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/logging.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/memory.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/memory_util.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/queue.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/random.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/ranges.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/string.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/system.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/thread.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/time.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/types.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/utility.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/uuid.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/window" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/window/window.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/config/blt/config.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + if(CMAKE_INSTALL_CONFIG_NAME MATCHES "^([Rr][Ee][Ll][Ww][Ii][Tt][Hh][Dd][Ee][Bb][Ii][Nn][Ff][Oo])$") + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-release/lib/blt/libBLT.a") + endif() +endif() + diff --git a/cmake-build-release/lib/blt/config/blt/config.h b/cmake-build-release/lib/blt/config/blt/config.h new file mode 100755 index 0000000..c59bead --- /dev/null +++ b/cmake-build-release/lib/blt/config/blt/config.h @@ -0,0 +1,13 @@ +#ifndef BLT_CONFIG_H +#define BLT_CONFIG_H + +/* #undef ZLIB_FOUND */ +/* #undef BLT_DISABLE_LOGGING */ +/* #undef BLT_DISABLE_TRACE */ +/* #undef BLT_DISABLE_DEBUG */ +/* #undef BLT_DISABLE_INFO */ +/* #undef BLT_DISABLE_WARN */ +/* #undef BLT_DISABLE_ERROR */ +/* #undef BLT_DISABLE_FATAL */ + +#endif // BLT_CONFIG_H diff --git a/cmake-build-release/lib/blt/libBLT.a b/cmake-build-release/lib/blt/libBLT.a new file mode 100644 index 0000000..305f4ae Binary files /dev/null and b/cmake-build-release/lib/blt/libBLT.a differ diff --git a/cmake-build-release/regress.bst b/cmake-build-release/regress.bst new file mode 100644 index 0000000..37a64e7 --- /dev/null +++ b/cmake-build-release/regress.bst @@ -0,0 +1,18 @@ +=== BEST-OF-RUN === + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +TREE-equ: +y = -0.37303 diff --git a/cmake-build-release/regress.fn b/cmake-build-release/regress.fn new file mode 100644 index 0000000..64d39cf --- /dev/null +++ b/cmake-build-release/regress.fn @@ -0,0 +1,10 @@ + +y = -0.37303 + + -0.37303 + +Hits: 1670, Total Size: 2810, Percent Hit: 59.430605 +CC: 0 +CO: 1140 +OO: 1670 +OC: 0 diff --git a/cmake-build-release/regress.gen b/cmake-build-release/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-release/regress.his b/cmake-build-release/regress.his new file mode 100644 index 0000000..0df704f --- /dev/null +++ b/cmake-build-release/regress.his @@ -0,0 +1,867 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 2 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 3 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 4 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 5 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 6 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 7 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 8 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 9 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 10 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 11 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 12 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 13 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 14 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 15 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 16 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 17 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 18 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 19 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 20 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 21 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 22 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 23 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 24 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 25 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 26 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 27 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 28 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 29 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 30 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 31 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 32 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 33 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 34 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 35 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 36 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 37 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 38 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 39 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 40 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 41 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 42 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 43 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 44 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 45 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 46 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 47 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 48 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 49 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 +=== BEST-OF-RUN === + current generation: 50 + generation: 0 + nodes: 1 + depth: 0 + hits: 510 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 510 + raw fitness: 510.0000 + standardized fitness: 510.0000 + adjusted fitness: 0.9980 +TREE: + -0.37303 diff --git a/cmake-build-release/regress.prg b/cmake-build-release/regress.prg new file mode 100644 index 0000000..52dae9b --- /dev/null +++ b/cmake-build-release/regress.prg @@ -0,0 +1,1002 @@ +not starting from checkpoint file. +1000 fitness cases: + area = 13708.00000, perimeter = 486.39600, major_axis_length = 204.62373, minor_axis_length = 86.33973, eccentricity = 0.90662, convex_area = 14361.00000, extent = 0.58068, type = C + area = 10919.00000, perimeter = 413.08099, major_axis_length = 167.12601, minor_axis_length = 84.21858, eccentricity = 0.86375, convex_area = 11120.00000, extent = 0.63989, type = O + area = 10910.00000, perimeter = 445.27399, major_axis_length = 190.24805, minor_axis_length = 73.87875, eccentricity = 0.92152, convex_area = 11229.00000, extent = 0.62788, type = O + area = 14031.00000, perimeter = 494.26501, major_axis_length = 213.70952, minor_axis_length = 84.46609, eccentricity = 0.91858, convex_area = 14265.00000, extent = 0.73886, type = C + area = 12684.00000, perimeter = 461.35800, major_axis_length = 198.20212, minor_axis_length = 81.89428, eccentricity = 0.91065, convex_area = 12912.00000, extent = 0.54710, type = C + area = 12635.00000, perimeter = 439.08301, major_axis_length = 171.22871, minor_axis_length = 94.81418, eccentricity = 0.83270, convex_area = 12929.00000, extent = 0.63112, type = O + area = 12411.00000, perimeter = 443.55499, major_axis_length = 178.22722, minor_axis_length = 90.22404, eccentricity = 0.86240, convex_area = 12780.00000, extent = 0.64053, type = O + area = 14956.00000, perimeter = 490.25601, major_axis_length = 204.54123, minor_axis_length = 93.75129, eccentricity = 0.88877, convex_area = 15196.00000, extent = 0.67278, type = C + area = 10561.00000, perimeter = 405.73901, major_axis_length = 168.93852, minor_axis_length = 80.09080, eccentricity = 0.88048, convex_area = 10709.00000, extent = 0.60225, type = O + area = 12308.00000, perimeter = 451.60901, major_axis_length = 193.26753, minor_axis_length = 81.65989, eccentricity = 0.90635, convex_area = 12488.00000, extent = 0.72404, type = C + area = 12384.00000, perimeter = 460.13599, major_axis_length = 190.87038, minor_axis_length = 85.09120, eccentricity = 0.89513, convex_area = 12811.00000, extent = 0.60484, type = C + area = 12974.00000, perimeter = 460.41699, major_axis_length = 191.32578, minor_axis_length = 87.28571, eccentricity = 0.88987, convex_area = 13310.00000, extent = 0.67721, type = C + area = 12496.00000, perimeter = 449.74100, major_axis_length = 181.12390, minor_axis_length = 89.78374, eccentricity = 0.86849, convex_area = 12870.00000, extent = 0.68355, type = O + area = 10655.00000, perimeter = 417.97400, major_axis_length = 177.50758, minor_axis_length = 77.15759, eccentricity = 0.90059, convex_area = 10822.00000, extent = 0.73356, type = O + area = 9802.00000, perimeter = 412.36899, major_axis_length = 176.16557, minor_axis_length = 71.48280, eccentricity = 0.91398, convex_area = 9991.00000, extent = 0.56695, type = O + area = 11323.00000, perimeter = 420.05801, major_axis_length = 169.97678, minor_axis_length = 86.36137, eccentricity = 0.86131, convex_area = 11586.00000, extent = 0.71919, type = O + area = 11385.00000, perimeter = 436.60699, major_axis_length = 180.06990, minor_axis_length = 82.65318, eccentricity = 0.88843, convex_area = 11778.00000, extent = 0.75976, type = O + area = 12555.00000, perimeter = 444.57999, major_axis_length = 184.82533, minor_axis_length = 87.36723, eccentricity = 0.88122, convex_area = 12773.00000, extent = 0.65221, type = C + area = 11161.00000, perimeter = 420.91000, major_axis_length = 169.35046, minor_axis_length = 85.33822, eccentricity = 0.86375, convex_area = 11363.00000, extent = 0.68055, type = O + area = 10513.00000, perimeter = 410.03500, major_axis_length = 165.65660, minor_axis_length = 82.55254, eccentricity = 0.86698, convex_area = 10789.00000, extent = 0.72553, type = O + area = 15398.00000, perimeter = 513.02301, major_axis_length = 214.05426, minor_axis_length = 93.68449, eccentricity = 0.89914, convex_area = 15936.00000, extent = 0.69504, type = C + area = 14485.00000, perimeter = 495.46600, major_axis_length = 212.00166, minor_axis_length = 88.23765, eccentricity = 0.90927, convex_area = 14745.00000, extent = 0.64510, type = C + area = 13455.00000, perimeter = 467.19800, major_axis_length = 195.92857, minor_axis_length = 88.51917, eccentricity = 0.89212, convex_area = 13723.00000, extent = 0.75353, type = C + area = 13839.00000, perimeter = 481.58801, major_axis_length = 201.34279, minor_axis_length = 88.88830, eccentricity = 0.89727, convex_area = 14165.00000, extent = 0.71694, type = C + area = 13684.00000, perimeter = 505.65500, major_axis_length = 213.59363, minor_axis_length = 83.51059, eccentricity = 0.92040, convex_area = 14158.00000, extent = 0.57763, type = C + area = 11240.00000, perimeter = 426.64401, major_axis_length = 175.59412, minor_axis_length = 82.95659, eccentricity = 0.88137, convex_area = 11427.00000, extent = 0.60652, type = O + area = 10767.00000, perimeter = 428.35199, major_axis_length = 181.78230, minor_axis_length = 75.89606, eccentricity = 0.90867, convex_area = 11002.00000, extent = 0.69916, type = O + area = 14889.00000, perimeter = 499.20599, major_axis_length = 210.38416, minor_axis_length = 91.71178, eccentricity = 0.89998, convex_area = 15221.00000, extent = 0.60463, type = C + area = 10756.00000, perimeter = 420.08600, major_axis_length = 170.63708, minor_axis_length = 81.58212, eccentricity = 0.87830, convex_area = 10957.00000, extent = 0.59498, type = O + area = 12415.00000, perimeter = 445.99500, major_axis_length = 184.36719, minor_axis_length = 87.04115, eccentricity = 0.88154, convex_area = 12719.00000, extent = 0.65799, type = O + area = 12223.00000, perimeter = 445.43900, major_axis_length = 185.02908, minor_axis_length = 85.37151, eccentricity = 0.88719, convex_area = 12460.00000, extent = 0.79603, type = C + area = 10736.00000, perimeter = 416.79999, major_axis_length = 176.13525, minor_axis_length = 78.64362, eccentricity = 0.89479, convex_area = 10930.00000, extent = 0.79810, type = O + area = 11811.00000, perimeter = 427.75101, major_axis_length = 170.10205, minor_axis_length = 89.35463, eccentricity = 0.85092, convex_area = 12066.00000, extent = 0.64541, type = O + area = 14022.00000, perimeter = 483.01901, major_axis_length = 204.48296, minor_axis_length = 88.56927, eccentricity = 0.90133, convex_area = 14358.00000, extent = 0.70473, type = C + area = 13683.00000, perimeter = 492.97501, major_axis_length = 213.90919, minor_axis_length = 83.12070, eccentricity = 0.92142, convex_area = 14070.00000, extent = 0.76127, type = C + area = 14316.00000, perimeter = 488.98599, major_axis_length = 204.42427, minor_axis_length = 90.14910, eccentricity = 0.89751, convex_area = 14731.00000, extent = 0.56418, type = C + area = 12469.00000, perimeter = 446.84100, major_axis_length = 191.38666, minor_axis_length = 83.25488, eccentricity = 0.90043, convex_area = 12625.00000, extent = 0.59145, type = O + area = 9817.00000, perimeter = 407.74600, major_axis_length = 170.08865, minor_axis_length = 74.70611, eccentricity = 0.89838, convex_area = 10032.00000, extent = 0.58306, type = O + area = 11722.00000, perimeter = 423.70200, major_axis_length = 174.95630, minor_axis_length = 85.81461, eccentricity = 0.87145, convex_area = 11891.00000, extent = 0.61125, type = O + area = 10620.00000, perimeter = 404.93201, major_axis_length = 164.52055, minor_axis_length = 83.29569, eccentricity = 0.86236, convex_area = 10863.00000, extent = 0.76184, type = O + area = 11986.00000, perimeter = 433.29401, major_axis_length = 173.22505, minor_axis_length = 89.39893, eccentricity = 0.85654, convex_area = 12243.00000, extent = 0.62242, type = O + area = 14793.00000, perimeter = 501.30399, major_axis_length = 211.60114, minor_axis_length = 90.11253, eccentricity = 0.90479, convex_area = 15049.00000, extent = 0.66453, type = C + area = 14023.00000, perimeter = 491.66901, major_axis_length = 211.15919, minor_axis_length = 85.50137, eccentricity = 0.91435, convex_area = 14262.00000, extent = 0.53914, type = C + area = 11678.00000, perimeter = 423.67599, major_axis_length = 173.41394, minor_axis_length = 86.46707, eccentricity = 0.86682, convex_area = 11839.00000, extent = 0.62110, type = O + area = 14999.00000, perimeter = 498.54099, major_axis_length = 213.50803, minor_axis_length = 90.10974, eccentricity = 0.90658, convex_area = 15295.00000, extent = 0.79871, type = C + area = 16580.00000, perimeter = 530.09497, major_axis_length = 226.44495, minor_axis_length = 94.47408, eccentricity = 0.90881, convex_area = 16928.00000, extent = 0.59619, type = C + area = 8813.00000, perimeter = 387.72101, major_axis_length = 164.17770, minor_axis_length = 68.98608, eccentricity = 0.90744, convex_area = 9005.00000, extent = 0.73737, type = O + area = 13567.00000, perimeter = 481.40500, major_axis_length = 202.01970, minor_axis_length = 86.41855, eccentricity = 0.90389, convex_area = 13976.00000, extent = 0.75093, type = C + area = 12624.00000, perimeter = 452.73199, major_axis_length = 192.11096, minor_axis_length = 84.61237, eccentricity = 0.89778, convex_area = 12791.00000, extent = 0.56559, type = O + area = 12199.00000, perimeter = 454.40399, major_axis_length = 191.90958, minor_axis_length = 82.14076, eccentricity = 0.90377, convex_area = 12555.00000, extent = 0.75052, type = C + area = 12599.00000, perimeter = 455.28101, major_axis_length = 188.01591, minor_axis_length = 86.37449, eccentricity = 0.88823, convex_area = 12897.00000, extent = 0.62125, type = C + area = 13518.00000, perimeter = 451.16299, major_axis_length = 185.55759, minor_axis_length = 93.29591, eccentricity = 0.86441, convex_area = 13741.00000, extent = 0.78184, type = O + area = 14947.00000, perimeter = 506.65100, major_axis_length = 214.34431, minor_axis_length = 89.52690, eccentricity = 0.90860, convex_area = 15364.00000, extent = 0.56300, type = C + area = 12544.00000, perimeter = 437.26901, major_axis_length = 175.67209, minor_axis_length = 91.52435, eccentricity = 0.85356, convex_area = 12753.00000, extent = 0.78814, type = O + area = 11706.00000, perimeter = 428.55399, major_axis_length = 175.84959, minor_axis_length = 85.54584, eccentricity = 0.87370, convex_area = 11944.00000, extent = 0.62233, type = O + area = 14076.00000, perimeter = 479.67700, major_axis_length = 199.48915, minor_axis_length = 90.70998, eccentricity = 0.89064, convex_area = 14434.00000, extent = 0.78122, type = C + area = 12291.00000, perimeter = 440.95700, major_axis_length = 186.18777, minor_axis_length = 84.68074, eccentricity = 0.89059, convex_area = 12476.00000, extent = 0.73017, type = C + area = 11703.00000, perimeter = 422.05301, major_axis_length = 166.01041, minor_axis_length = 91.12495, eccentricity = 0.83588, convex_area = 12023.00000, extent = 0.65376, type = O + area = 10560.00000, perimeter = 400.17899, major_axis_length = 168.26906, minor_axis_length = 80.58907, eccentricity = 0.87785, convex_area = 10691.00000, extent = 0.63737, type = O + area = 15568.00000, perimeter = 519.45599, major_axis_length = 222.22809, minor_axis_length = 90.81753, eccentricity = 0.91268, convex_area = 15984.00000, extent = 0.78270, type = C + area = 15545.00000, perimeter = 516.86902, major_axis_length = 217.11868, minor_axis_length = 92.24694, eccentricity = 0.90525, convex_area = 16019.00000, extent = 0.65749, type = C + area = 9598.00000, perimeter = 397.00000, major_axis_length = 172.00679, minor_axis_length = 72.28365, eccentricity = 0.90741, convex_area = 9766.00000, extent = 0.79685, type = O + area = 12507.00000, perimeter = 458.64999, major_axis_length = 184.41704, minor_axis_length = 88.10065, eccentricity = 0.87851, convex_area = 12877.00000, extent = 0.57726, type = O + area = 11538.00000, perimeter = 418.66101, major_axis_length = 170.85091, minor_axis_length = 86.49840, eccentricity = 0.86237, convex_area = 11741.00000, extent = 0.71354, type = O + area = 12483.00000, perimeter = 451.81400, major_axis_length = 189.89943, minor_axis_length = 84.86185, eccentricity = 0.89459, convex_area = 12686.00000, extent = 0.59571, type = C + area = 10211.00000, perimeter = 392.35300, major_axis_length = 163.19708, minor_axis_length = 80.24487, eccentricity = 0.87076, convex_area = 10348.00000, extent = 0.75347, type = O + area = 12692.00000, perimeter = 443.14301, major_axis_length = 182.93283, minor_axis_length = 88.95260, eccentricity = 0.87382, convex_area = 12849.00000, extent = 0.63824, type = C + area = 11338.00000, perimeter = 420.79401, major_axis_length = 177.27419, minor_axis_length = 82.13946, eccentricity = 0.88618, convex_area = 11481.00000, extent = 0.82011, type = O + area = 16011.00000, perimeter = 525.06897, major_axis_length = 222.94646, minor_axis_length = 92.38245, eccentricity = 0.91011, convex_area = 16298.00000, extent = 0.55663, type = C + area = 15586.00000, perimeter = 505.87701, major_axis_length = 218.57321, minor_axis_length = 91.24372, eccentricity = 0.90870, convex_area = 15814.00000, extent = 0.82378, type = C + area = 11145.00000, perimeter = 421.24301, major_axis_length = 170.03070, minor_axis_length = 84.57749, eccentricity = 0.86751, convex_area = 11376.00000, extent = 0.63613, type = O + area = 12193.00000, perimeter = 433.95700, major_axis_length = 170.47278, minor_axis_length = 92.65318, eccentricity = 0.83940, convex_area = 12558.00000, extent = 0.62467, type = O + area = 13241.00000, perimeter = 458.01099, major_axis_length = 184.91423, minor_axis_length = 93.20131, eccentricity = 0.86369, convex_area = 13560.00000, extent = 0.77810, type = O + area = 11023.00000, perimeter = 416.89200, major_axis_length = 163.01917, minor_axis_length = 88.59202, eccentricity = 0.83944, convex_area = 11343.00000, extent = 0.71070, type = O + area = 15777.00000, perimeter = 515.68402, major_axis_length = 218.69824, minor_axis_length = 93.20509, eccentricity = 0.90464, convex_area = 16111.00000, extent = 0.56719, type = C + area = 15252.00000, perimeter = 502.59100, major_axis_length = 211.63116, minor_axis_length = 92.19616, eccentricity = 0.90012, convex_area = 15495.00000, extent = 0.57446, type = C + area = 13503.00000, perimeter = 477.24399, major_axis_length = 201.17171, minor_axis_length = 87.36242, eccentricity = 0.90078, convex_area = 13743.00000, extent = 0.56319, type = C + area = 11166.00000, perimeter = 414.89001, major_axis_length = 165.73878, minor_axis_length = 87.03056, eccentricity = 0.85104, convex_area = 11478.00000, extent = 0.67095, type = O + area = 14549.00000, perimeter = 488.95300, major_axis_length = 206.69482, minor_axis_length = 90.76069, eccentricity = 0.89844, convex_area = 14856.00000, extent = 0.58247, type = C + area = 12593.00000, perimeter = 463.36899, major_axis_length = 195.75763, minor_axis_length = 83.07967, eccentricity = 0.90547, convex_area = 12907.00000, extent = 0.69775, type = C + area = 10781.00000, perimeter = 414.95499, major_axis_length = 169.73618, minor_axis_length = 82.24104, eccentricity = 0.87478, convex_area = 11069.00000, extent = 0.69934, type = O + area = 13667.00000, perimeter = 463.84201, major_axis_length = 197.35565, minor_axis_length = 88.58672, eccentricity = 0.89360, convex_area = 13829.00000, extent = 0.63452, type = O + area = 12181.00000, perimeter = 456.93799, major_axis_length = 194.85516, minor_axis_length = 80.28487, eccentricity = 0.91117, convex_area = 12489.00000, extent = 0.58489, type = C + area = 11049.00000, perimeter = 412.81400, major_axis_length = 169.61974, minor_axis_length = 83.39636, eccentricity = 0.87078, convex_area = 11244.00000, extent = 0.79238, type = O + area = 10144.00000, perimeter = 403.64301, major_axis_length = 165.46890, minor_axis_length = 79.17584, eccentricity = 0.87809, convex_area = 10399.00000, extent = 0.65930, type = O + area = 15341.00000, perimeter = 504.46301, major_axis_length = 210.87219, minor_axis_length = 93.98658, eccentricity = 0.89518, convex_area = 15628.00000, extent = 0.76897, type = C + area = 13446.00000, perimeter = 475.12799, major_axis_length = 198.69955, minor_axis_length = 87.37930, eccentricity = 0.89812, convex_area = 13765.00000, extent = 0.57572, type = C + area = 11451.00000, perimeter = 426.24701, major_axis_length = 176.12180, minor_axis_length = 84.35532, eccentricity = 0.87784, convex_area = 11666.00000, extent = 0.60848, type = O + area = 13569.00000, perimeter = 490.54199, major_axis_length = 209.84949, minor_axis_length = 83.40636, eccentricity = 0.91762, convex_area = 14061.00000, extent = 0.53004, type = C + area = 12931.00000, perimeter = 460.53500, major_axis_length = 192.90802, minor_axis_length = 86.56665, eccentricity = 0.89366, convex_area = 13302.00000, extent = 0.60706, type = C + area = 11784.00000, perimeter = 438.12000, major_axis_length = 181.75789, minor_axis_length = 83.74436, eccentricity = 0.88753, convex_area = 11981.00000, extent = 0.80377, type = C + area = 13846.00000, perimeter = 479.58701, major_axis_length = 197.00459, minor_axis_length = 90.91550, eccentricity = 0.88715, convex_area = 14200.00000, extent = 0.71756, type = C + area = 12676.00000, perimeter = 437.95599, major_axis_length = 178.23711, minor_axis_length = 91.69775, eccentricity = 0.85751, convex_area = 12887.00000, extent = 0.69124, type = O + area = 12235.00000, perimeter = 443.45599, major_axis_length = 187.66254, minor_axis_length = 83.75172, eccentricity = 0.89489, convex_area = 12442.00000, extent = 0.65833, type = O + area = 11353.00000, perimeter = 418.75601, major_axis_length = 169.48007, minor_axis_length = 86.20268, eccentricity = 0.86099, convex_area = 11510.00000, extent = 0.62297, type = O + area = 13811.00000, perimeter = 482.29800, major_axis_length = 206.71475, minor_axis_length = 85.73662, eccentricity = 0.90993, convex_area = 14000.00000, extent = 0.55593, type = C + area = 13954.00000, perimeter = 484.53201, major_axis_length = 203.67818, minor_axis_length = 88.20872, eccentricity = 0.90136, convex_area = 14288.00000, extent = 0.75086, type = C + area = 14035.00000, perimeter = 480.62900, major_axis_length = 199.14839, minor_axis_length = 91.41090, eccentricity = 0.88843, convex_area = 14422.00000, extent = 0.71629, type = C + area = 12950.00000, perimeter = 468.57001, major_axis_length = 196.61679, minor_axis_length = 84.80032, eccentricity = 0.90221, convex_area = 13584.00000, extent = 0.76181, type = C + area = 13606.00000, perimeter = 480.94601, major_axis_length = 204.28972, minor_axis_length = 85.28391, eccentricity = 0.90869, convex_area = 13861.00000, extent = 0.58370, type = C + area = 14329.00000, perimeter = 486.27701, major_axis_length = 206.57230, minor_axis_length = 89.21240, eccentricity = 0.90194, convex_area = 14588.00000, extent = 0.81276, type = C + area = 11739.00000, perimeter = 434.62900, major_axis_length = 179.14783, minor_axis_length = 84.45871, eccentricity = 0.88189, convex_area = 12032.00000, extent = 0.77588, type = O + area = 12312.00000, perimeter = 447.71701, major_axis_length = 178.96074, minor_axis_length = 88.51752, eccentricity = 0.86911, convex_area = 12593.00000, extent = 0.61832, type = O + area = 9165.00000, perimeter = 380.66000, major_axis_length = 156.67039, minor_axis_length = 75.54001, eccentricity = 0.87608, convex_area = 9366.00000, extent = 0.65436, type = O + area = 12726.00000, perimeter = 455.34601, major_axis_length = 188.77779, minor_axis_length = 86.93991, eccentricity = 0.88764, convex_area = 13010.00000, extent = 0.76848, type = O + area = 11859.00000, perimeter = 436.25299, major_axis_length = 184.63538, minor_axis_length = 82.17491, eccentricity = 0.89550, convex_area = 12049.00000, extent = 0.64814, type = O + area = 11548.00000, perimeter = 433.51300, major_axis_length = 176.97809, minor_axis_length = 84.34711, eccentricity = 0.87912, convex_area = 11821.00000, extent = 0.68816, type = O + area = 11889.00000, perimeter = 426.64700, major_axis_length = 172.26799, minor_axis_length = 89.44281, eccentricity = 0.85465, convex_area = 12162.00000, extent = 0.61157, type = O + area = 11875.00000, perimeter = 429.94901, major_axis_length = 173.69348, minor_axis_length = 88.04171, eccentricity = 0.86202, convex_area = 12128.00000, extent = 0.78445, type = O + area = 11014.00000, perimeter = 413.44000, major_axis_length = 165.74521, minor_axis_length = 86.55466, eccentricity = 0.85281, convex_area = 11182.00000, extent = 0.58263, type = O + area = 13468.00000, perimeter = 475.39801, major_axis_length = 199.75359, minor_axis_length = 87.04467, eccentricity = 0.90006, convex_area = 13817.00000, extent = 0.57007, type = C + area = 14360.00000, perimeter = 494.45700, major_axis_length = 205.09700, minor_axis_length = 90.11700, eccentricity = 0.89830, convex_area = 14825.00000, extent = 0.65751, type = C + area = 11031.00000, perimeter = 421.29099, major_axis_length = 172.66736, minor_axis_length = 82.59618, eccentricity = 0.87817, convex_area = 11298.00000, extent = 0.72879, type = O + area = 10516.00000, perimeter = 409.55701, major_axis_length = 168.52023, minor_axis_length = 80.24091, eccentricity = 0.87936, convex_area = 10726.00000, extent = 0.63641, type = O + area = 16079.00000, perimeter = 522.75897, major_axis_length = 223.40591, minor_axis_length = 92.64325, eccentricity = 0.90996, convex_area = 16392.00000, extent = 0.64172, type = C + area = 9441.00000, perimeter = 384.34000, major_axis_length = 164.22638, minor_axis_length = 73.37517, eccentricity = 0.89464, convex_area = 9566.00000, extent = 0.72450, type = O + area = 11459.00000, perimeter = 435.45300, major_axis_length = 175.30644, minor_axis_length = 85.23182, eccentricity = 0.87385, convex_area = 11833.00000, extent = 0.58390, type = O + area = 15141.00000, perimeter = 505.42099, major_axis_length = 209.59360, minor_axis_length = 93.09238, eccentricity = 0.89595, convex_area = 15559.00000, extent = 0.56640, type = C + area = 13279.00000, perimeter = 474.23599, major_axis_length = 200.54471, minor_axis_length = 85.00814, eccentricity = 0.90572, convex_area = 13757.00000, extent = 0.72849, type = C + area = 12911.00000, perimeter = 446.75400, major_axis_length = 187.87210, minor_axis_length = 88.20014, eccentricity = 0.88295, convex_area = 13071.00000, extent = 0.77108, type = O + area = 10866.00000, perimeter = 404.35800, major_axis_length = 163.93236, minor_axis_length = 85.32536, eccentricity = 0.85387, convex_area = 11039.00000, extent = 0.62867, type = O + area = 11504.00000, perimeter = 432.44400, major_axis_length = 175.78508, minor_axis_length = 84.95903, eccentricity = 0.87545, convex_area = 11861.00000, extent = 0.58802, type = O + area = 11910.00000, perimeter = 427.27899, major_axis_length = 173.29544, minor_axis_length = 88.56226, eccentricity = 0.85955, convex_area = 12191.00000, extent = 0.77338, type = O + area = 12771.00000, perimeter = 449.26001, major_axis_length = 190.35739, minor_axis_length = 85.92546, eccentricity = 0.89233, convex_area = 12939.00000, extent = 0.77607, type = O + area = 16453.00000, perimeter = 523.87402, major_axis_length = 222.31219, minor_axis_length = 96.17852, eccentricity = 0.90157, convex_area = 16803.00000, extent = 0.75472, type = C + area = 10427.00000, perimeter = 405.57800, major_axis_length = 170.56107, minor_axis_length = 78.14708, eccentricity = 0.88886, convex_area = 10588.00000, extent = 0.67607, type = O + area = 10847.00000, perimeter = 414.45099, major_axis_length = 165.58517, minor_axis_length = 85.00729, eccentricity = 0.85816, convex_area = 11148.00000, extent = 0.67972, type = O + area = 11234.00000, perimeter = 425.93100, major_axis_length = 176.30199, minor_axis_length = 82.10153, eccentricity = 0.88495, convex_area = 11452.00000, extent = 0.65558, type = O + area = 13335.00000, perimeter = 474.37701, major_axis_length = 197.83990, minor_axis_length = 87.58254, eccentricity = 0.89667, convex_area = 13702.00000, extent = 0.66702, type = O + area = 11161.00000, perimeter = 433.82999, major_axis_length = 182.07491, minor_axis_length = 78.95068, eccentricity = 0.90110, convex_area = 11490.00000, extent = 0.61123, type = C + area = 12172.00000, perimeter = 452.32901, major_axis_length = 193.69254, minor_axis_length = 80.80778, eccentricity = 0.90882, convex_area = 12430.00000, extent = 0.67803, type = C + area = 14734.00000, perimeter = 498.70700, major_axis_length = 211.00096, minor_axis_length = 90.11148, eccentricity = 0.90422, convex_area = 15171.00000, extent = 0.78460, type = C + area = 14070.00000, perimeter = 484.21600, major_axis_length = 203.28004, minor_axis_length = 89.09188, eccentricity = 0.89884, convex_area = 14448.00000, extent = 0.56734, type = C + area = 12190.00000, perimeter = 440.68201, major_axis_length = 185.85619, minor_axis_length = 83.88790, eccentricity = 0.89234, convex_area = 12349.00000, extent = 0.58398, type = O + area = 14819.00000, perimeter = 496.62299, major_axis_length = 205.99135, minor_axis_length = 92.82657, eccentricity = 0.89271, convex_area = 15194.00000, extent = 0.72642, type = C + area = 13907.00000, perimeter = 485.72000, major_axis_length = 202.58109, minor_axis_length = 89.20242, eccentricity = 0.89784, convex_area = 14358.00000, extent = 0.55572, type = C + area = 15275.00000, perimeter = 509.85501, major_axis_length = 217.55469, minor_axis_length = 90.18382, eccentricity = 0.91003, convex_area = 15582.00000, extent = 0.66761, type = C + area = 11874.00000, perimeter = 433.84399, major_axis_length = 176.61125, minor_axis_length = 87.04949, eccentricity = 0.87009, convex_area = 12138.00000, extent = 0.73441, type = C + area = 11667.00000, perimeter = 447.52499, major_axis_length = 186.67125, minor_axis_length = 80.84287, eccentricity = 0.90136, convex_area = 12039.00000, extent = 0.66730, type = C + area = 11422.00000, perimeter = 425.12900, major_axis_length = 176.65686, minor_axis_length = 82.95216, eccentricity = 0.88290, convex_area = 11608.00000, extent = 0.65090, type = O + area = 11749.00000, perimeter = 455.25699, major_axis_length = 192.59000, minor_axis_length = 78.04095, eccentricity = 0.91422, convex_area = 12001.00000, extent = 0.60665, type = O + area = 12103.00000, perimeter = 439.21799, major_axis_length = 181.98512, minor_axis_length = 85.55490, eccentricity = 0.88260, convex_area = 12339.00000, extent = 0.59928, type = O + area = 14236.00000, perimeter = 486.17899, major_axis_length = 201.70468, minor_axis_length = 90.64240, eccentricity = 0.89334, convex_area = 14545.00000, extent = 0.65616, type = C + area = 11573.00000, perimeter = 446.92401, major_axis_length = 186.34879, minor_axis_length = 80.14229, eccentricity = 0.90280, convex_area = 11884.00000, extent = 0.57224, type = O + area = 14254.00000, perimeter = 500.49399, major_axis_length = 213.07532, minor_axis_length = 86.78432, eccentricity = 0.91330, convex_area = 14644.00000, extent = 0.62285, type = C + area = 14898.00000, perimeter = 501.49500, major_axis_length = 215.56334, minor_axis_length = 88.77060, eccentricity = 0.91127, convex_area = 15156.00000, extent = 0.65850, type = C + area = 13130.00000, perimeter = 467.92200, major_axis_length = 196.14680, minor_axis_length = 86.20712, eccentricity = 0.89824, convex_area = 13462.00000, extent = 0.57482, type = C + area = 12518.00000, perimeter = 460.72198, major_axis_length = 195.65092, minor_axis_length = 82.36374, eccentricity = 0.90707, convex_area = 12813.00000, extent = 0.68989, type = C + area = 13057.00000, perimeter = 460.16800, major_axis_length = 187.12848, minor_axis_length = 90.31277, eccentricity = 0.87583, convex_area = 13385.00000, extent = 0.75079, type = C + area = 14843.00000, perimeter = 510.10199, major_axis_length = 220.03586, minor_axis_length = 86.50136, eccentricity = 0.91949, convex_area = 15155.00000, extent = 0.53315, type = C + area = 10367.00000, perimeter = 413.95999, major_axis_length = 176.56651, minor_axis_length = 75.28862, eccentricity = 0.90453, convex_area = 10529.00000, extent = 0.56038, type = O + area = 12491.00000, perimeter = 457.14099, major_axis_length = 194.87546, minor_axis_length = 82.49109, eccentricity = 0.90599, convex_area = 12721.00000, extent = 0.77048, type = C + area = 15004.00000, perimeter = 506.94400, major_axis_length = 218.60362, minor_axis_length = 88.09037, eccentricity = 0.91521, convex_area = 15277.00000, extent = 0.71488, type = C + area = 9221.00000, perimeter = 387.09399, major_axis_length = 159.22450, minor_axis_length = 74.90333, eccentricity = 0.88244, convex_area = 9418.00000, extent = 0.76842, type = O + area = 15252.00000, perimeter = 501.33200, major_axis_length = 207.52405, minor_axis_length = 94.27309, eccentricity = 0.89086, convex_area = 15595.00000, extent = 0.59171, type = C + area = 9677.00000, perimeter = 390.61700, major_axis_length = 160.35306, minor_axis_length = 77.40150, eccentricity = 0.87579, convex_area = 9913.00000, extent = 0.76583, type = O + area = 11382.00000, perimeter = 418.33600, major_axis_length = 169.88297, minor_axis_length = 86.66009, eccentricity = 0.86011, convex_area = 11575.00000, extent = 0.62000, type = O + area = 15484.00000, perimeter = 504.81900, major_axis_length = 211.28806, minor_axis_length = 94.47181, eccentricity = 0.89447, convex_area = 15795.00000, extent = 0.67912, type = C + area = 12135.00000, perimeter = 432.81299, major_axis_length = 180.87585, minor_axis_length = 86.05373, eccentricity = 0.87957, convex_area = 12304.00000, extent = 0.64305, type = O + area = 11295.00000, perimeter = 417.33701, major_axis_length = 174.01994, minor_axis_length = 83.14223, eccentricity = 0.87848, convex_area = 11476.00000, extent = 0.76858, type = O + area = 12431.00000, perimeter = 437.65701, major_axis_length = 178.19420, minor_axis_length = 89.48652, eccentricity = 0.86476, convex_area = 12657.00000, extent = 0.73556, type = O + area = 12840.00000, perimeter = 454.40500, major_axis_length = 184.81519, minor_axis_length = 89.92162, eccentricity = 0.87365, convex_area = 13185.00000, extent = 0.72666, type = O + area = 13350.00000, perimeter = 466.61899, major_axis_length = 196.50897, minor_axis_length = 87.16155, eccentricity = 0.89625, convex_area = 13562.00000, extent = 0.79921, type = C + area = 15043.00000, perimeter = 498.29901, major_axis_length = 206.01170, minor_axis_length = 94.76669, eccentricity = 0.88792, convex_area = 15414.00000, extent = 0.58688, type = C + area = 10663.00000, perimeter = 403.25500, major_axis_length = 163.93628, minor_axis_length = 83.74741, eccentricity = 0.85967, convex_area = 10884.00000, extent = 0.65217, type = O + area = 11730.00000, perimeter = 424.16400, major_axis_length = 172.73737, minor_axis_length = 87.71980, eccentricity = 0.86146, convex_area = 11913.00000, extent = 0.62281, type = O + area = 15071.00000, perimeter = 494.13501, major_axis_length = 200.59483, minor_axis_length = 97.39329, eccentricity = 0.87422, convex_area = 15575.00000, extent = 0.68921, type = C + area = 13295.00000, perimeter = 475.74301, major_axis_length = 199.24074, minor_axis_length = 86.08378, eccentricity = 0.90185, convex_area = 13639.00000, extent = 0.61599, type = C + area = 14470.00000, perimeter = 486.26001, major_axis_length = 208.33366, minor_axis_length = 89.34396, eccentricity = 0.90338, convex_area = 14657.00000, extent = 0.57654, type = C + area = 11732.00000, perimeter = 441.12299, major_axis_length = 176.48349, minor_axis_length = 86.19247, eccentricity = 0.87263, convex_area = 12076.00000, extent = 0.63747, type = O + area = 16254.00000, perimeter = 532.77802, major_axis_length = 223.54863, minor_axis_length = 94.11950, eccentricity = 0.90705, convex_area = 16680.00000, extent = 0.55369, type = C + area = 8810.00000, perimeter = 384.74701, major_axis_length = 164.35394, minor_axis_length = 68.90158, eccentricity = 0.90788, convex_area = 8987.00000, extent = 0.58757, type = O + area = 9571.00000, perimeter = 388.59201, major_axis_length = 160.93658, minor_axis_length = 76.43877, eccentricity = 0.88001, convex_area = 9720.00000, extent = 0.63743, type = O + area = 14640.00000, perimeter = 501.32401, major_axis_length = 210.29160, minor_axis_length = 90.33173, eccentricity = 0.90304, convex_area = 15119.00000, extent = 0.58654, type = C + area = 11745.00000, perimeter = 426.76599, major_axis_length = 179.01527, minor_axis_length = 84.02514, eccentricity = 0.88300, convex_area = 11904.00000, extent = 0.68540, type = O + area = 11447.00000, perimeter = 436.86899, major_axis_length = 180.43732, minor_axis_length = 82.31013, eccentricity = 0.88989, convex_area = 11733.00000, extent = 0.57258, type = O + area = 12452.00000, perimeter = 445.07901, major_axis_length = 179.02614, minor_axis_length = 89.89113, eccentricity = 0.86480, convex_area = 12710.00000, extent = 0.61797, type = O + area = 15856.00000, perimeter = 509.01999, major_axis_length = 210.16438, minor_axis_length = 97.76022, eccentricity = 0.88523, convex_area = 16160.00000, extent = 0.76267, type = C + area = 11717.00000, perimeter = 430.91800, major_axis_length = 174.64034, minor_axis_length = 86.09232, eccentricity = 0.87005, convex_area = 11948.00000, extent = 0.65149, type = O + area = 14254.00000, perimeter = 491.26099, major_axis_length = 207.76718, minor_axis_length = 88.61370, eccentricity = 0.90449, convex_area = 14607.00000, extent = 0.56961, type = C + area = 12597.00000, perimeter = 451.54300, major_axis_length = 189.60536, minor_axis_length = 85.23103, eccentricity = 0.89327, convex_area = 12858.00000, extent = 0.68155, type = C + area = 14522.00000, perimeter = 499.82501, major_axis_length = 217.67436, minor_axis_length = 85.68789, eccentricity = 0.91926, convex_area = 14719.00000, extent = 0.53194, type = C + area = 13460.00000, perimeter = 451.04800, major_axis_length = 181.47499, minor_axis_length = 95.35158, eccentricity = 0.85084, convex_area = 13697.00000, extent = 0.72600, type = O + area = 12692.00000, perimeter = 448.06100, major_axis_length = 182.19318, minor_axis_length = 90.43366, eccentricity = 0.86812, convex_area = 12999.00000, extent = 0.73509, type = O + area = 13410.00000, perimeter = 483.15201, major_axis_length = 205.87576, minor_axis_length = 84.65060, eccentricity = 0.91156, convex_area = 13866.00000, extent = 0.73143, type = C + area = 11795.00000, perimeter = 428.75000, major_axis_length = 175.96001, minor_axis_length = 86.42063, eccentricity = 0.87108, convex_area = 12016.00000, extent = 0.73811, type = O + area = 8992.00000, perimeter = 377.33200, major_axis_length = 158.27892, minor_axis_length = 73.05545, eccentricity = 0.88711, convex_area = 9105.00000, extent = 0.59451, type = O + area = 14557.00000, perimeter = 492.41299, major_axis_length = 205.10664, minor_axis_length = 91.44973, eccentricity = 0.89510, convex_area = 14961.00000, extent = 0.73565, type = C + area = 14990.00000, perimeter = 507.78500, major_axis_length = 213.48546, minor_axis_length = 90.17632, eccentricity = 0.90641, convex_area = 15318.00000, extent = 0.56592, type = C + area = 11506.00000, perimeter = 433.34201, major_axis_length = 183.44586, minor_axis_length = 80.39727, eccentricity = 0.89885, convex_area = 11675.00000, extent = 0.61701, type = O + area = 15061.00000, perimeter = 497.35901, major_axis_length = 207.65042, minor_axis_length = 93.05585, eccentricity = 0.89396, convex_area = 15327.00000, extent = 0.71678, type = C + area = 11480.00000, perimeter = 432.82401, major_axis_length = 174.96246, minor_axis_length = 85.08846, eccentricity = 0.87378, convex_area = 11833.00000, extent = 0.59084, type = O + area = 12311.00000, perimeter = 450.33499, major_axis_length = 194.44675, minor_axis_length = 81.31934, eccentricity = 0.90835, convex_area = 12441.00000, extent = 0.55656, type = O + area = 11889.00000, perimeter = 439.98901, major_axis_length = 186.10785, minor_axis_length = 82.14304, eccentricity = 0.89732, convex_area = 12096.00000, extent = 0.79771, type = O + area = 13816.00000, perimeter = 484.27600, major_axis_length = 199.01349, minor_axis_length = 89.86625, eccentricity = 0.89224, convex_area = 14356.00000, extent = 0.64246, type = C + area = 10828.00000, perimeter = 415.85101, major_axis_length = 167.35628, minor_axis_length = 83.59039, eccentricity = 0.86633, convex_area = 11225.00000, extent = 0.65371, type = O + area = 12396.00000, perimeter = 460.00201, major_axis_length = 195.32330, minor_axis_length = 81.92961, eccentricity = 0.90778, convex_area = 12676.00000, extent = 0.73306, type = C + area = 12972.00000, perimeter = 467.38000, major_axis_length = 194.52908, minor_axis_length = 86.50668, eccentricity = 0.89568, convex_area = 13425.00000, extent = 0.77468, type = C + area = 11322.00000, perimeter = 415.60101, major_axis_length = 164.59805, minor_axis_length = 88.87003, eccentricity = 0.84172, convex_area = 11619.00000, extent = 0.75405, type = O + area = 17198.00000, perimeter = 520.99200, major_axis_length = 209.97021, minor_axis_length = 105.67059, eccentricity = 0.86413, convex_area = 17586.00000, extent = 0.60616, type = C + area = 13932.00000, perimeter = 495.52802, major_axis_length = 213.34854, minor_axis_length = 84.32091, eccentricity = 0.91858, convex_area = 14297.00000, extent = 0.55484, type = C + area = 15684.00000, perimeter = 513.89099, major_axis_length = 221.94533, minor_axis_length = 90.82513, eccentricity = 0.91243, convex_area = 15944.00000, extent = 0.78201, type = C + area = 12301.00000, perimeter = 440.00699, major_axis_length = 175.41667, minor_axis_length = 90.57800, eccentricity = 0.85637, convex_area = 12591.00000, extent = 0.66962, type = O + area = 11515.00000, perimeter = 425.49899, major_axis_length = 177.83521, minor_axis_length = 83.02624, eccentricity = 0.88433, convex_area = 11672.00000, extent = 0.80773, type = O + area = 12907.00000, perimeter = 466.23999, major_axis_length = 194.46927, minor_axis_length = 85.91095, eccentricity = 0.89713, convex_area = 13268.00000, extent = 0.63541, type = C + area = 12921.00000, perimeter = 449.48700, major_axis_length = 181.03468, minor_axis_length = 92.02007, eccentricity = 0.86118, convex_area = 13209.00000, extent = 0.62387, type = O + area = 11370.00000, perimeter = 444.68799, major_axis_length = 188.17796, minor_axis_length = 77.82491, eccentricity = 0.91047, convex_area = 11676.00000, extent = 0.58851, type = O + area = 10510.00000, perimeter = 420.02200, major_axis_length = 175.71770, minor_axis_length = 78.40139, eccentricity = 0.89494, convex_area = 10756.00000, extent = 0.57281, type = O + area = 12608.00000, perimeter = 440.12500, major_axis_length = 174.60252, minor_axis_length = 93.52520, eccentricity = 0.84444, convex_area = 12835.00000, extent = 0.63103, type = O + area = 10463.00000, perimeter = 417.35699, major_axis_length = 177.17612, minor_axis_length = 76.04584, eccentricity = 0.90320, convex_area = 10681.00000, extent = 0.58322, type = O + area = 11944.00000, perimeter = 434.92401, major_axis_length = 182.87396, minor_axis_length = 83.63844, eccentricity = 0.88928, convex_area = 12090.00000, extent = 0.61720, type = O + area = 12720.00000, perimeter = 449.62399, major_axis_length = 178.61478, minor_axis_length = 92.75169, eccentricity = 0.85460, convex_area = 13095.00000, extent = 0.74386, type = C + area = 13385.00000, perimeter = 477.92999, major_axis_length = 199.84268, minor_axis_length = 87.04651, eccentricity = 0.90015, convex_area = 13656.00000, extent = 0.56591, type = C + area = 12711.00000, perimeter = 459.61801, major_axis_length = 192.97462, minor_axis_length = 84.95108, eccentricity = 0.89789, convex_area = 13028.00000, extent = 0.58195, type = C + area = 15258.00000, perimeter = 505.16299, major_axis_length = 214.01933, minor_axis_length = 91.61250, eccentricity = 0.90375, convex_area = 15497.00000, extent = 0.57413, type = C + area = 14268.00000, perimeter = 485.63400, major_axis_length = 202.25085, minor_axis_length = 91.05271, eccentricity = 0.89293, convex_area = 14586.00000, extent = 0.61699, type = C + area = 10993.00000, perimeter = 422.51501, major_axis_length = 174.53636, minor_axis_length = 80.96795, eccentricity = 0.88589, convex_area = 11179.00000, extent = 0.66491, type = O + area = 9994.00000, perimeter = 406.64301, major_axis_length = 173.09851, minor_axis_length = 74.46516, eccentricity = 0.90274, convex_area = 10123.00000, extent = 0.80701, type = O + area = 13028.00000, perimeter = 467.27701, major_axis_length = 194.73337, minor_axis_length = 87.14062, eccentricity = 0.89429, convex_area = 13304.00000, extent = 0.56621, type = O + area = 10951.00000, perimeter = 415.13901, major_axis_length = 173.75793, minor_axis_length = 81.30049, eccentricity = 0.88378, convex_area = 11116.00000, extent = 0.65227, type = O + area = 14456.00000, perimeter = 492.95099, major_axis_length = 212.41122, minor_axis_length = 87.36013, eccentricity = 0.91151, convex_area = 14726.00000, extent = 0.79503, type = C + area = 10980.00000, perimeter = 428.08401, major_axis_length = 181.87335, minor_axis_length = 77.56380, eccentricity = 0.90450, convex_area = 11174.00000, extent = 0.58280, type = O + area = 11772.00000, perimeter = 436.59601, major_axis_length = 181.49266, minor_axis_length = 83.73272, eccentricity = 0.88722, convex_area = 11984.00000, extent = 0.57201, type = O + area = 12073.00000, perimeter = 439.79901, major_axis_length = 177.38651, minor_axis_length = 87.63170, eccentricity = 0.86945, convex_area = 12337.00000, extent = 0.68418, type = O + area = 10965.00000, perimeter = 416.97400, major_axis_length = 174.35175, minor_axis_length = 80.79745, eccentricity = 0.88614, convex_area = 11224.00000, extent = 0.70109, type = O + area = 11487.00000, perimeter = 428.08899, major_axis_length = 173.95477, minor_axis_length = 85.48769, eccentricity = 0.87091, convex_area = 11695.00000, extent = 0.64862, type = O + area = 11102.00000, perimeter = 423.59399, major_axis_length = 173.86256, minor_axis_length = 82.35934, eccentricity = 0.88068, convex_area = 11332.00000, extent = 0.59154, type = O + area = 15307.00000, perimeter = 489.47101, major_axis_length = 197.20265, minor_axis_length = 100.13299, eccentricity = 0.86149, convex_area = 15628.00000, extent = 0.67910, type = C + area = 9414.00000, perimeter = 407.82501, major_axis_length = 179.54588, minor_axis_length = 66.91816, eccentricity = 0.92795, convex_area = 9583.00000, extent = 0.81043, type = O + area = 10480.00000, perimeter = 414.80899, major_axis_length = 177.85612, minor_axis_length = 75.26311, eccentricity = 0.90605, convex_area = 10657.00000, extent = 0.63034, type = O + area = 11603.00000, perimeter = 427.52499, major_axis_length = 175.94041, minor_axis_length = 84.68665, eccentricity = 0.87654, convex_area = 11807.00000, extent = 0.80342, type = O + area = 10032.00000, perimeter = 403.09601, major_axis_length = 165.60661, minor_axis_length = 78.48328, eccentricity = 0.88057, convex_area = 10307.00000, extent = 0.74598, type = O + area = 10774.00000, perimeter = 401.74200, major_axis_length = 164.32024, minor_axis_length = 83.71887, eccentricity = 0.86048, convex_area = 10944.00000, extent = 0.66179, type = O + area = 11572.00000, perimeter = 418.62900, major_axis_length = 164.12326, minor_axis_length = 90.98297, eccentricity = 0.83228, convex_area = 11861.00000, extent = 0.66164, type = O + area = 10662.00000, perimeter = 420.19501, major_axis_length = 175.88251, minor_axis_length = 78.51628, eccentricity = 0.89483, convex_area = 10944.00000, extent = 0.56943, type = O + area = 14814.00000, perimeter = 503.14801, major_axis_length = 217.25677, minor_axis_length = 88.17827, eccentricity = 0.91393, convex_area = 15110.00000, extent = 0.54511, type = C + area = 11434.00000, perimeter = 404.70999, major_axis_length = 161.07927, minor_axis_length = 90.86819, eccentricity = 0.82569, convex_area = 11591.00000, extent = 0.80295, type = O + area = 13658.00000, perimeter = 499.37399, major_axis_length = 206.50974, minor_axis_length = 85.75655, eccentricity = 0.90970, convex_area = 14177.00000, extent = 0.54027, type = C + area = 11377.00000, perimeter = 452.40799, major_axis_length = 201.30626, minor_axis_length = 72.28142, eccentricity = 0.93331, convex_area = 11555.00000, extent = 0.52555, type = C + area = 15204.00000, perimeter = 510.48700, major_axis_length = 216.31686, minor_axis_length = 90.85395, eccentricity = 0.90752, convex_area = 15535.00000, extent = 0.56211, type = C + area = 12692.00000, perimeter = 465.17200, major_axis_length = 193.20732, minor_axis_length = 85.29054, eccentricity = 0.89729, convex_area = 13118.00000, extent = 0.71480, type = C + area = 14204.00000, perimeter = 482.17001, major_axis_length = 201.07388, minor_axis_length = 91.09084, eccentricity = 0.89150, convex_area = 14523.00000, extent = 0.61601, type = C + area = 10469.00000, perimeter = 423.78500, major_axis_length = 177.03677, minor_axis_length = 76.73817, eccentricity = 0.90117, convex_area = 10859.00000, extent = 0.57021, type = O + area = 11973.00000, perimeter = 438.14801, major_axis_length = 178.08878, minor_axis_length = 87.27425, eccentricity = 0.87169, convex_area = 12367.00000, extent = 0.62712, type = O + area = 14645.00000, perimeter = 485.11301, major_axis_length = 201.15378, minor_axis_length = 93.58040, eccentricity = 0.88520, convex_area = 14889.00000, extent = 0.64641, type = C + area = 13584.00000, perimeter = 478.05701, major_axis_length = 203.83694, minor_axis_length = 85.42742, eccentricity = 0.90794, convex_area = 13877.00000, extent = 0.67633, type = C + area = 13372.00000, perimeter = 472.17001, major_axis_length = 197.78036, minor_axis_length = 87.60531, eccentricity = 0.89655, convex_area = 13750.00000, extent = 0.60735, type = C + area = 13181.00000, perimeter = 470.38901, major_axis_length = 199.47208, minor_axis_length = 84.90553, eccentricity = 0.90489, convex_area = 13429.00000, extent = 0.73436, type = C + area = 12650.00000, perimeter = 438.14499, major_axis_length = 175.83983, minor_axis_length = 92.56994, eccentricity = 0.85021, convex_area = 12871.00000, extent = 0.79435, type = O + area = 12692.00000, perimeter = 447.73901, major_axis_length = 174.88063, minor_axis_length = 94.16079, eccentricity = 0.84267, convex_area = 13148.00000, extent = 0.64571, type = O + area = 15136.00000, perimeter = 503.26001, major_axis_length = 208.77202, minor_axis_length = 94.06878, eccentricity = 0.89274, convex_area = 15471.00000, extent = 0.59591, type = C + area = 14818.00000, perimeter = 487.01599, major_axis_length = 197.82898, minor_axis_length = 97.38612, eccentricity = 0.87044, convex_area = 15261.00000, extent = 0.63260, type = C + area = 10841.00000, perimeter = 410.33200, major_axis_length = 167.11496, minor_axis_length = 84.25272, eccentricity = 0.86361, convex_area = 11079.00000, extent = 0.73449, type = O + area = 13607.00000, perimeter = 461.05099, major_axis_length = 190.51434, minor_axis_length = 91.71280, eccentricity = 0.87650, convex_area = 13772.00000, extent = 0.60914, type = O + area = 12800.00000, perimeter = 471.33401, major_axis_length = 203.55943, minor_axis_length = 81.30859, eccentricity = 0.91676, convex_area = 13141.00000, extent = 0.61162, type = C + area = 12573.00000, perimeter = 471.64499, major_axis_length = 199.33699, minor_axis_length = 81.58099, eccentricity = 0.91242, convex_area = 12979.00000, extent = 0.53457, type = C + area = 12714.00000, perimeter = 461.89001, major_axis_length = 196.56032, minor_axis_length = 83.11240, eccentricity = 0.90621, convex_area = 12900.00000, extent = 0.64141, type = C + area = 14622.00000, perimeter = 481.61600, major_axis_length = 200.05356, minor_axis_length = 94.38364, eccentricity = 0.88171, convex_area = 14845.00000, extent = 0.60895, type = C + area = 11438.00000, perimeter = 433.91800, major_axis_length = 178.35156, minor_axis_length = 83.54765, eccentricity = 0.88349, convex_area = 11767.00000, extent = 0.74302, type = O + area = 13549.00000, perimeter = 464.00500, major_axis_length = 189.97266, minor_axis_length = 91.63721, eccentricity = 0.87597, convex_area = 13772.00000, extent = 0.73933, type = O + area = 16138.00000, perimeter = 531.05902, major_axis_length = 224.34721, minor_axis_length = 92.94733, eccentricity = 0.91014, convex_area = 16482.00000, extent = 0.53966, type = C + area = 13439.00000, perimeter = 477.75000, major_axis_length = 199.38161, minor_axis_length = 87.62737, eccentricity = 0.89824, convex_area = 13852.00000, extent = 0.75124, type = C + area = 10900.00000, perimeter = 417.59698, major_axis_length = 172.69206, minor_axis_length = 81.00117, eccentricity = 0.88317, convex_area = 11091.00000, extent = 0.58539, type = O + area = 12347.00000, perimeter = 452.29001, major_axis_length = 186.89604, minor_axis_length = 85.22990, eccentricity = 0.88997, convex_area = 12659.00000, extent = 0.60525, type = O + area = 11718.00000, perimeter = 439.20401, major_axis_length = 182.26459, minor_axis_length = 82.59560, eccentricity = 0.89143, convex_area = 11967.00000, extent = 0.64884, type = O + area = 13237.00000, perimeter = 466.00299, major_axis_length = 197.90480, minor_axis_length = 85.70957, eccentricity = 0.90135, convex_area = 13445.00000, extent = 0.59242, type = C + area = 10474.00000, perimeter = 420.12399, major_axis_length = 176.76694, minor_axis_length = 76.98862, eccentricity = 0.90017, convex_area = 10762.00000, extent = 0.68863, type = O + area = 10036.00000, perimeter = 402.85901, major_axis_length = 166.15659, minor_axis_length = 77.91069, eccentricity = 0.88325, convex_area = 10255.00000, extent = 0.59157, type = O + area = 10860.00000, perimeter = 411.84601, major_axis_length = 165.19398, minor_axis_length = 85.32478, eccentricity = 0.85628, convex_area = 11212.00000, extent = 0.75197, type = O + area = 12863.00000, perimeter = 457.19101, major_axis_length = 195.70039, minor_axis_length = 84.50079, eccentricity = 0.90198, convex_area = 13023.00000, extent = 0.80859, type = C + area = 14345.00000, perimeter = 491.01901, major_axis_length = 207.21983, minor_axis_length = 88.91106, eccentricity = 0.90327, convex_area = 14650.00000, extent = 0.59262, type = C + area = 14890.00000, perimeter = 502.54099, major_axis_length = 206.22853, minor_axis_length = 93.45731, eccentricity = 0.89142, convex_area = 15349.00000, extent = 0.58982, type = C + area = 10304.00000, perimeter = 416.56100, major_axis_length = 174.27423, minor_axis_length = 76.18439, eccentricity = 0.89939, convex_area = 10541.00000, extent = 0.61224, type = O + area = 13200.00000, perimeter = 477.85101, major_axis_length = 202.59695, minor_axis_length = 83.68837, eccentricity = 0.91070, convex_area = 13585.00000, extent = 0.64140, type = C + area = 14202.00000, perimeter = 485.93799, major_axis_length = 202.61406, minor_axis_length = 90.65028, eccentricity = 0.89433, convex_area = 14640.00000, extent = 0.56177, type = C + area = 12006.00000, perimeter = 463.38101, major_axis_length = 198.96843, minor_axis_length = 77.81852, eccentricity = 0.92034, convex_area = 12344.00000, extent = 0.53503, type = C + area = 9544.00000, perimeter = 386.56299, major_axis_length = 161.74831, minor_axis_length = 75.56026, eccentricity = 0.88418, convex_area = 9664.00000, extent = 0.81115, type = O + area = 14734.00000, perimeter = 507.28400, major_axis_length = 217.82445, minor_axis_length = 86.65876, eccentricity = 0.91746, convex_area = 15039.00000, extent = 0.68137, type = C + area = 13283.00000, perimeter = 477.28900, major_axis_length = 198.27066, minor_axis_length = 86.35545, eccentricity = 0.90017, convex_area = 13616.00000, extent = 0.61113, type = C + area = 14313.00000, perimeter = 482.97501, major_axis_length = 204.72008, minor_axis_length = 89.78699, eccentricity = 0.89869, convex_area = 14622.00000, extent = 0.57330, type = C + area = 11720.00000, perimeter = 425.45001, major_axis_length = 171.58801, minor_axis_length = 88.36038, eccentricity = 0.85722, convex_area = 11912.00000, extent = 0.77920, type = O + area = 12244.00000, perimeter = 442.19000, major_axis_length = 179.90146, minor_axis_length = 87.80759, eccentricity = 0.87279, convex_area = 12568.00000, extent = 0.63270, type = O + area = 10896.00000, perimeter = 419.38501, major_axis_length = 174.13997, minor_axis_length = 80.54836, eccentricity = 0.88659, convex_area = 11145.00000, extent = 0.58961, type = O + area = 13509.00000, perimeter = 480.46600, major_axis_length = 207.13716, minor_axis_length = 83.94016, eccentricity = 0.91421, convex_area = 13732.00000, extent = 0.59563, type = C + area = 12482.00000, perimeter = 448.53900, major_axis_length = 185.09004, minor_axis_length = 87.25161, eccentricity = 0.88192, convex_area = 12744.00000, extent = 0.59269, type = O + area = 13313.00000, perimeter = 470.90701, major_axis_length = 198.21494, minor_axis_length = 86.27213, eccentricity = 0.90031, convex_area = 13560.00000, extent = 0.57697, type = C + area = 14906.00000, perimeter = 497.82501, major_axis_length = 211.34190, minor_axis_length = 90.65295, eccentricity = 0.90333, convex_area = 15150.00000, extent = 0.59748, type = C + area = 11621.00000, perimeter = 444.66199, major_axis_length = 188.64220, minor_axis_length = 79.06629, eccentricity = 0.90792, convex_area = 11849.00000, extent = 0.61985, type = O + area = 11077.00000, perimeter = 417.32199, major_axis_length = 175.95758, minor_axis_length = 80.57663, eccentricity = 0.88899, convex_area = 11246.00000, extent = 0.67133, type = O + area = 11070.00000, perimeter = 419.40302, major_axis_length = 173.57504, minor_axis_length = 82.15421, eccentricity = 0.88090, convex_area = 11266.00000, extent = 0.60059, type = O + area = 12198.00000, perimeter = 440.20099, major_axis_length = 180.95660, minor_axis_length = 86.97328, eccentricity = 0.87692, convex_area = 12412.00000, extent = 0.60030, type = O + area = 11342.00000, perimeter = 429.78101, major_axis_length = 179.13814, minor_axis_length = 81.86805, eccentricity = 0.88946, convex_area = 11532.00000, extent = 0.57894, type = O + area = 10873.00000, perimeter = 408.48901, major_axis_length = 167.70203, minor_axis_length = 83.42142, eccentricity = 0.86750, convex_area = 11073.00000, extent = 0.66812, type = O + area = 11231.00000, perimeter = 427.66699, major_axis_length = 183.58710, minor_axis_length = 78.86173, eccentricity = 0.90304, convex_area = 11427.00000, extent = 0.72118, type = O + area = 12826.00000, perimeter = 452.82199, major_axis_length = 181.85797, minor_axis_length = 91.52682, eccentricity = 0.86412, convex_area = 13129.00000, extent = 0.60620, type = O + area = 12120.00000, perimeter = 441.00000, major_axis_length = 180.37653, minor_axis_length = 86.71608, eccentricity = 0.87686, convex_area = 12479.00000, extent = 0.64226, type = O + area = 10863.00000, perimeter = 411.62201, major_axis_length = 168.27142, minor_axis_length = 83.16528, eccentricity = 0.86933, convex_area = 11057.00000, extent = 0.70283, type = O + area = 15401.00000, perimeter = 499.26401, major_axis_length = 202.64989, minor_axis_length = 97.76850, eccentricity = 0.87592, convex_area = 15760.00000, extent = 0.61732, type = C + area = 13753.00000, perimeter = 461.13000, major_axis_length = 185.53104, minor_axis_length = 95.42747, eccentricity = 0.85758, convex_area = 13962.00000, extent = 0.65118, type = O + area = 13884.00000, perimeter = 478.70200, major_axis_length = 201.31630, minor_axis_length = 89.18121, eccentricity = 0.89653, convex_area = 14217.00000, extent = 0.79793, type = C + area = 15915.00000, perimeter = 528.15698, major_axis_length = 231.59448, minor_axis_length = 88.57102, eccentricity = 0.92398, convex_area = 16251.00000, extent = 0.81303, type = C + area = 15290.00000, perimeter = 519.31702, major_axis_length = 221.42963, minor_axis_length = 88.87734, eccentricity = 0.91591, convex_area = 15699.00000, extent = 0.66156, type = C + area = 11545.00000, perimeter = 429.09799, major_axis_length = 176.99930, minor_axis_length = 84.10534, eccentricity = 0.87989, convex_area = 11816.00000, extent = 0.70586, type = O + area = 13263.00000, perimeter = 474.49799, major_axis_length = 197.84290, minor_axis_length = 86.68632, eccentricity = 0.89890, convex_area = 13607.00000, extent = 0.56009, type = C + area = 11191.00000, perimeter = 426.13800, major_axis_length = 177.49660, minor_axis_length = 81.30755, eccentricity = 0.88891, convex_area = 11456.00000, extent = 0.64316, type = O + area = 11485.00000, perimeter = 424.48801, major_axis_length = 175.31537, minor_axis_length = 84.48103, eccentricity = 0.87624, convex_area = 11688.00000, extent = 0.60626, type = O + area = 14505.00000, perimeter = 492.68201, major_axis_length = 205.41214, minor_axis_length = 90.76255, eccentricity = 0.89709, convex_area = 14834.00000, extent = 0.58295, type = C + area = 15583.00000, perimeter = 510.69101, major_axis_length = 217.35155, minor_axis_length = 92.12090, eccentricity = 0.90574, convex_area = 15826.00000, extent = 0.68696, type = C + area = 12155.00000, perimeter = 434.27499, major_axis_length = 174.77681, minor_axis_length = 89.50150, eccentricity = 0.85893, convex_area = 12388.00000, extent = 0.80295, type = O + area = 13024.00000, perimeter = 459.77100, major_axis_length = 191.90500, minor_axis_length = 88.03445, eccentricity = 0.88857, convex_area = 13325.00000, extent = 0.77969, type = C + area = 11916.00000, perimeter = 432.68100, major_axis_length = 176.15498, minor_axis_length = 87.22030, eccentricity = 0.86882, convex_area = 12189.00000, extent = 0.64687, type = O + area = 12204.00000, perimeter = 436.85501, major_axis_length = 169.29323, minor_axis_length = 93.18581, eccentricity = 0.83487, convex_area = 12505.00000, extent = 0.74779, type = O + area = 11182.00000, perimeter = 429.59500, major_axis_length = 181.43217, minor_axis_length = 79.18195, eccentricity = 0.89974, convex_area = 11389.00000, extent = 0.67976, type = O + area = 13949.00000, perimeter = 479.40201, major_axis_length = 200.09514, minor_axis_length = 90.09469, eccentricity = 0.89290, convex_area = 14286.00000, extent = 0.58155, type = C + area = 11091.00000, perimeter = 416.94501, major_axis_length = 171.77408, minor_axis_length = 82.73455, eccentricity = 0.87637, convex_area = 11292.00000, extent = 0.61013, type = O + area = 14750.00000, perimeter = 484.15201, major_axis_length = 201.24701, minor_axis_length = 94.85915, eccentricity = 0.88194, convex_area = 14967.00000, extent = 0.78067, type = C + area = 12730.00000, perimeter = 462.37000, major_axis_length = 192.69362, minor_axis_length = 85.33430, eccentricity = 0.89660, convex_area = 13160.00000, extent = 0.63371, type = O + area = 13513.00000, perimeter = 473.10300, major_axis_length = 196.27908, minor_axis_length = 89.51603, eccentricity = 0.88995, convex_area = 13867.00000, extent = 0.74939, type = C + area = 12010.00000, perimeter = 428.14001, major_axis_length = 171.22218, minor_axis_length = 90.10307, eccentricity = 0.85034, convex_area = 12222.00000, extent = 0.66574, type = O + area = 11165.00000, perimeter = 424.16101, major_axis_length = 174.63153, minor_axis_length = 82.31621, eccentricity = 0.88194, convex_area = 11467.00000, extent = 0.64211, type = O + area = 14436.00000, perimeter = 485.82599, major_axis_length = 204.46996, minor_axis_length = 90.74992, eccentricity = 0.89611, convex_area = 14864.00000, extent = 0.61448, type = C + area = 11050.00000, perimeter = 424.73401, major_axis_length = 175.59836, minor_axis_length = 80.98215, eccentricity = 0.88731, convex_area = 11295.00000, extent = 0.59300, type = O + area = 15778.00000, perimeter = 515.27301, major_axis_length = 214.03784, minor_axis_length = 95.49767, eccentricity = 0.89495, convex_area = 16283.00000, extent = 0.68630, type = C + area = 13308.00000, perimeter = 464.13300, major_axis_length = 196.24231, minor_axis_length = 87.26089, eccentricity = 0.89570, convex_area = 13486.00000, extent = 0.59752, type = O + area = 11488.00000, perimeter = 416.37799, major_axis_length = 170.40480, minor_axis_length = 86.13889, eccentricity = 0.86283, convex_area = 11663.00000, extent = 0.75321, type = O + area = 10871.00000, perimeter = 416.53799, major_axis_length = 171.44371, minor_axis_length = 82.22730, eccentricity = 0.87748, convex_area = 11156.00000, extent = 0.60084, type = O + area = 10895.00000, perimeter = 411.59000, major_axis_length = 167.44122, minor_axis_length = 84.25878, eccentricity = 0.86416, convex_area = 11155.00000, extent = 0.68626, type = O + area = 14274.00000, perimeter = 499.08801, major_axis_length = 214.40253, minor_axis_length = 85.24677, eccentricity = 0.91756, convex_area = 14559.00000, extent = 0.65673, type = C + area = 13493.00000, perimeter = 480.52899, major_axis_length = 205.57306, minor_axis_length = 84.68375, eccentricity = 0.91121, convex_area = 13843.00000, extent = 0.79689, type = C + area = 10187.00000, perimeter = 404.96799, major_axis_length = 160.22644, minor_axis_length = 82.32900, eccentricity = 0.85789, convex_area = 10489.00000, extent = 0.61627, type = O + area = 12695.00000, perimeter = 464.96799, major_axis_length = 197.81966, minor_axis_length = 82.43714, eccentricity = 0.90903, convex_area = 12981.00000, extent = 0.60194, type = O + area = 11087.00000, perimeter = 432.38300, major_axis_length = 177.49898, minor_axis_length = 80.54420, eccentricity = 0.89112, convex_area = 11380.00000, extent = 0.59464, type = O + area = 14294.00000, perimeter = 484.19400, major_axis_length = 205.12840, minor_axis_length = 89.00131, eccentricity = 0.90097, convex_area = 14542.00000, extent = 0.70445, type = C + area = 14523.00000, perimeter = 491.93701, major_axis_length = 205.12512, minor_axis_length = 91.14208, eccentricity = 0.89587, convex_area = 14849.00000, extent = 0.61001, type = C + area = 15739.00000, perimeter = 525.00098, major_axis_length = 228.24460, minor_axis_length = 88.84927, eccentricity = 0.92112, convex_area = 15978.00000, extent = 0.57324, type = C + area = 12483.00000, perimeter = 428.14700, major_axis_length = 170.29613, minor_axis_length = 94.28094, eccentricity = 0.83276, convex_area = 12680.00000, extent = 0.73737, type = O + area = 11657.00000, perimeter = 432.56500, major_axis_length = 177.71994, minor_axis_length = 84.21097, eccentricity = 0.88061, convex_area = 11946.00000, extent = 0.60786, type = O + area = 10951.00000, perimeter = 432.61200, major_axis_length = 182.04431, minor_axis_length = 78.21558, eccentricity = 0.90299, convex_area = 11242.00000, extent = 0.54711, type = C + area = 14732.00000, perimeter = 497.69400, major_axis_length = 207.46820, minor_axis_length = 91.29447, eccentricity = 0.89798, convex_area = 15000.00000, extent = 0.58037, type = C + area = 14838.00000, perimeter = 500.16199, major_axis_length = 211.98254, minor_axis_length = 90.94657, eccentricity = 0.90329, convex_area = 15165.00000, extent = 0.78641, type = C + area = 13568.00000, perimeter = 478.31100, major_axis_length = 204.06912, minor_axis_length = 85.50912, eccentricity = 0.90798, convex_area = 13819.00000, extent = 0.56832, type = C + area = 16678.00000, perimeter = 523.31000, major_axis_length = 216.89737, minor_axis_length = 99.04490, eccentricity = 0.88965, convex_area = 17089.00000, extent = 0.80345, type = C + area = 10952.00000, perimeter = 421.10501, major_axis_length = 176.87213, minor_axis_length = 79.62229, eccentricity = 0.89294, convex_area = 11105.00000, extent = 0.58101, type = O + area = 14677.00000, perimeter = 498.79800, major_axis_length = 209.87415, minor_axis_length = 90.27248, eccentricity = 0.90277, convex_area = 15060.00000, extent = 0.64785, type = C + area = 10246.00000, perimeter = 406.37100, major_axis_length = 163.89470, minor_axis_length = 81.50822, eccentricity = 0.86757, convex_area = 10655.00000, extent = 0.70711, type = O + area = 10496.00000, perimeter = 407.32300, major_axis_length = 167.92937, minor_axis_length = 80.18907, eccentricity = 0.87862, convex_area = 10666.00000, extent = 0.70330, type = O + area = 10645.00000, perimeter = 417.80200, major_axis_length = 172.54459, minor_axis_length = 79.69215, eccentricity = 0.88695, convex_area = 10838.00000, extent = 0.61422, type = O + area = 11259.00000, perimeter = 421.50500, major_axis_length = 172.21184, minor_axis_length = 84.22155, eccentricity = 0.87225, convex_area = 11522.00000, extent = 0.79367, type = O + area = 13290.00000, perimeter = 469.71201, major_axis_length = 197.26926, minor_axis_length = 86.32834, eccentricity = 0.89916, convex_area = 13570.00000, extent = 0.68269, type = C + area = 10873.00000, perimeter = 416.04099, major_axis_length = 170.91298, minor_axis_length = 82.10006, eccentricity = 0.87707, convex_area = 11085.00000, extent = 0.64536, type = O + area = 15028.00000, perimeter = 498.82901, major_axis_length = 205.53845, minor_axis_length = 94.58417, eccentricity = 0.88783, convex_area = 15382.00000, extent = 0.57778, type = C + area = 13975.00000, perimeter = 482.58899, major_axis_length = 203.41641, minor_axis_length = 88.66715, eccentricity = 0.90000, convex_area = 14275.00000, extent = 0.67265, type = C + area = 13930.00000, perimeter = 484.86200, major_axis_length = 205.27246, minor_axis_length = 87.23549, eccentricity = 0.90521, convex_area = 14330.00000, extent = 0.79943, type = C + area = 10128.00000, perimeter = 403.72501, major_axis_length = 166.96295, minor_axis_length = 78.24747, eccentricity = 0.88338, convex_area = 10383.00000, extent = 0.67224, type = O + area = 14212.00000, perimeter = 485.98599, major_axis_length = 203.41849, minor_axis_length = 90.01189, eccentricity = 0.89677, convex_area = 14508.00000, extent = 0.57320, type = C + area = 15344.00000, perimeter = 501.79999, major_axis_length = 212.42270, minor_axis_length = 92.96140, eccentricity = 0.89916, convex_area = 15604.00000, extent = 0.79420, type = C + area = 11746.00000, perimeter = 450.82901, major_axis_length = 194.19092, minor_axis_length = 77.74390, eccentricity = 0.91636, convex_area = 11953.00000, extent = 0.55521, type = C + area = 11994.00000, perimeter = 444.76099, major_axis_length = 183.44913, minor_axis_length = 84.42697, eccentricity = 0.88780, convex_area = 12262.00000, extent = 0.72419, type = O + area = 11281.00000, perimeter = 424.97101, major_axis_length = 170.97597, minor_axis_length = 85.27378, eccentricity = 0.86675, convex_area = 11543.00000, extent = 0.68946, type = O + area = 11462.00000, perimeter = 432.10800, major_axis_length = 180.28006, minor_axis_length = 81.89021, eccentricity = 0.89088, convex_area = 11725.00000, extent = 0.69993, type = O + area = 13444.00000, perimeter = 474.59299, major_axis_length = 197.95042, minor_axis_length = 87.63919, eccentricity = 0.89665, convex_area = 13881.00000, extent = 0.65661, type = C + area = 13333.00000, perimeter = 472.38400, major_axis_length = 200.93857, minor_axis_length = 85.17281, eccentricity = 0.90572, convex_area = 13585.00000, extent = 0.68026, type = C + area = 15265.00000, perimeter = 505.09900, major_axis_length = 211.44301, minor_axis_length = 93.12214, eccentricity = 0.89780, convex_area = 15639.00000, extent = 0.74131, type = C + area = 10327.00000, perimeter = 403.39600, major_axis_length = 166.08113, minor_axis_length = 79.95890, eccentricity = 0.87648, convex_area = 10576.00000, extent = 0.62331, type = O + area = 12084.00000, perimeter = 434.67401, major_axis_length = 177.52542, minor_axis_length = 88.04617, eccentricity = 0.86834, convex_area = 12321.00000, extent = 0.62722, type = O + area = 10959.00000, perimeter = 447.23300, major_axis_length = 197.35841, minor_axis_length = 71.06098, eccentricity = 0.93293, convex_area = 11133.00000, extent = 0.49741, type = C + area = 15241.00000, perimeter = 511.06100, major_axis_length = 215.36917, minor_axis_length = 91.27435, eccentricity = 0.90575, convex_area = 15604.00000, extent = 0.54323, type = C + area = 9592.00000, perimeter = 385.77802, major_axis_length = 157.76796, minor_axis_length = 78.39109, eccentricity = 0.86782, convex_area = 9760.00000, extent = 0.78843, type = O + area = 16386.00000, perimeter = 515.09698, major_axis_length = 208.95312, minor_axis_length = 100.74258, eccentricity = 0.87610, convex_area = 16813.00000, extent = 0.60756, type = C + area = 12818.00000, perimeter = 439.95200, major_axis_length = 179.20169, minor_axis_length = 91.86772, eccentricity = 0.85860, convex_area = 13005.00000, extent = 0.62582, type = O + area = 15189.00000, perimeter = 506.82199, major_axis_length = 209.18954, minor_axis_length = 93.61980, eccentricity = 0.89427, convex_area = 15629.00000, extent = 0.67408, type = C + area = 11410.00000, perimeter = 436.36899, major_axis_length = 180.80260, minor_axis_length = 81.64021, eccentricity = 0.89225, convex_area = 11710.00000, extent = 0.61783, type = O + area = 10566.00000, perimeter = 405.30200, major_axis_length = 164.94698, minor_axis_length = 82.92602, eccentricity = 0.86444, convex_area = 10834.00000, extent = 0.60401, type = O + area = 12837.00000, perimeter = 463.32199, major_axis_length = 192.92368, minor_axis_length = 86.35762, eccentricity = 0.89422, convex_area = 13229.00000, extent = 0.58883, type = O + area = 11016.00000, perimeter = 404.35400, major_axis_length = 166.70659, minor_axis_length = 84.50535, eccentricity = 0.86200, convex_area = 11146.00000, extent = 0.76330, type = O + area = 13269.00000, perimeter = 470.63501, major_axis_length = 197.38409, minor_axis_length = 86.42865, eccentricity = 0.89904, convex_area = 13626.00000, extent = 0.56633, type = C + area = 14294.00000, perimeter = 514.47699, major_axis_length = 226.40727, minor_axis_length = 81.59251, eccentricity = 0.93281, convex_area = 14731.00000, extent = 0.51101, type = C + area = 14518.00000, perimeter = 491.22198, major_axis_length = 203.76106, minor_axis_length = 92.34290, eccentricity = 0.89141, convex_area = 14877.00000, extent = 0.74132, type = C + area = 12051.00000, perimeter = 423.22699, major_axis_length = 168.01328, minor_axis_length = 92.19842, eccentricity = 0.83598, convex_area = 12216.00000, extent = 0.76602, type = O + area = 15522.00000, perimeter = 507.24200, major_axis_length = 213.68193, minor_axis_length = 94.90154, eccentricity = 0.89596, convex_area = 15782.00000, extent = 0.77890, type = C + area = 14551.00000, perimeter = 502.11200, major_axis_length = 208.19244, minor_axis_length = 90.84801, eccentricity = 0.89977, convex_area = 14962.00000, extent = 0.55802, type = C + area = 11293.00000, perimeter = 424.62399, major_axis_length = 178.36342, minor_axis_length = 81.41405, eccentricity = 0.88975, convex_area = 11473.00000, extent = 0.74610, type = O + area = 13576.00000, perimeter = 477.82501, major_axis_length = 190.02635, minor_axis_length = 91.82110, eccentricity = 0.87551, convex_area = 14137.00000, extent = 0.68328, type = O + area = 12602.00000, perimeter = 465.91699, major_axis_length = 194.45514, minor_axis_length = 84.83201, eccentricity = 0.89982, convex_area = 13039.00000, extent = 0.65026, type = C + area = 11686.00000, perimeter = 441.18399, major_axis_length = 180.69609, minor_axis_length = 83.45304, eccentricity = 0.88696, convex_area = 12023.00000, extent = 0.57709, type = O + area = 13901.00000, perimeter = 478.84900, major_axis_length = 200.44191, minor_axis_length = 89.34199, eccentricity = 0.89517, convex_area = 14232.00000, extent = 0.56855, type = C + area = 13282.00000, perimeter = 470.25800, major_axis_length = 199.71138, minor_axis_length = 85.10118, eccentricity = 0.90467, convex_area = 13513.00000, extent = 0.67162, type = C + area = 11842.00000, perimeter = 441.91000, major_axis_length = 187.69878, minor_axis_length = 80.81311, eccentricity = 0.90257, convex_area = 12044.00000, extent = 0.63242, type = O + area = 10956.00000, perimeter = 422.17200, major_axis_length = 178.35187, minor_axis_length = 79.15714, eccentricity = 0.89611, convex_area = 11131.00000, extent = 0.57313, type = O + area = 12079.00000, perimeter = 445.99500, major_axis_length = 190.67360, minor_axis_length = 81.13325, eccentricity = 0.90495, convex_area = 12462.00000, extent = 0.64267, type = C + area = 12672.00000, perimeter = 445.54300, major_axis_length = 180.45528, minor_axis_length = 90.30993, eccentricity = 0.86576, convex_area = 12900.00000, extent = 0.62569, type = O + area = 14369.00000, perimeter = 491.04401, major_axis_length = 207.94737, minor_axis_length = 89.12215, eccentricity = 0.90350, convex_area = 14679.00000, extent = 0.60399, type = C + area = 10695.00000, perimeter = 406.45099, major_axis_length = 164.57030, minor_axis_length = 84.04564, eccentricity = 0.85976, convex_area = 10930.00000, extent = 0.61233, type = O + area = 13049.00000, perimeter = 469.53799, major_axis_length = 196.46617, minor_axis_length = 85.99484, eccentricity = 0.89912, convex_area = 13409.00000, extent = 0.72700, type = O + area = 14356.00000, perimeter = 492.02200, major_axis_length = 209.37556, minor_axis_length = 88.59431, eccentricity = 0.90607, convex_area = 14652.00000, extent = 0.57682, type = C + area = 12583.00000, perimeter = 451.81900, major_axis_length = 180.21733, minor_axis_length = 90.56422, eccentricity = 0.86456, convex_area = 12901.00000, extent = 0.60785, type = O + area = 12792.00000, perimeter = 462.07300, major_axis_length = 194.48100, minor_axis_length = 84.73089, eccentricity = 0.90010, convex_area = 13032.00000, extent = 0.59393, type = C + area = 13431.00000, perimeter = 482.53000, major_axis_length = 212.45061, minor_axis_length = 81.18548, eccentricity = 0.92411, convex_area = 13786.00000, extent = 0.77798, type = C + area = 12470.00000, perimeter = 455.89700, major_axis_length = 192.46115, minor_axis_length = 83.39553, eccentricity = 0.90124, convex_area = 12704.00000, extent = 0.58130, type = C + area = 12152.00000, perimeter = 447.91699, major_axis_length = 185.24631, minor_axis_length = 85.78561, eccentricity = 0.88631, convex_area = 12449.00000, extent = 0.57538, type = O + area = 10786.00000, perimeter = 408.02499, major_axis_length = 165.12993, minor_axis_length = 84.93224, eccentricity = 0.85759, convex_area = 11022.00000, extent = 0.78759, type = O + area = 15147.00000, perimeter = 511.29401, major_axis_length = 216.09929, minor_axis_length = 90.94639, eccentricity = 0.90713, convex_area = 15637.00000, extent = 0.53485, type = C + area = 11321.00000, perimeter = 424.57599, major_axis_length = 173.99763, minor_axis_length = 84.73989, eccentricity = 0.87339, convex_area = 11631.00000, extent = 0.62190, type = O + area = 11312.00000, perimeter = 421.54599, major_axis_length = 168.25601, minor_axis_length = 87.21075, eccentricity = 0.85519, convex_area = 11622.00000, extent = 0.76921, type = O + area = 13319.00000, perimeter = 468.23199, major_axis_length = 192.92725, minor_axis_length = 89.33763, eccentricity = 0.88632, convex_area = 13694.00000, extent = 0.69522, type = C + area = 15469.00000, perimeter = 514.90698, major_axis_length = 221.01834, minor_axis_length = 89.76701, eccentricity = 0.91381, convex_area = 15860.00000, extent = 0.54178, type = C + area = 11490.00000, perimeter = 421.16699, major_axis_length = 167.71011, minor_axis_length = 88.55627, eccentricity = 0.84922, convex_area = 11793.00000, extent = 0.75542, type = O + area = 12260.00000, perimeter = 453.23801, major_axis_length = 190.84686, minor_axis_length = 83.03071, eccentricity = 0.90040, convex_area = 12586.00000, extent = 0.78832, type = O + area = 10369.00000, perimeter = 402.98300, major_axis_length = 159.28703, minor_axis_length = 84.89051, eccentricity = 0.84615, convex_area = 10723.00000, extent = 0.63754, type = O + area = 15904.00000, perimeter = 511.02200, major_axis_length = 214.35056, minor_axis_length = 96.21210, eccentricity = 0.89361, convex_area = 16248.00000, extent = 0.71785, type = C + area = 14212.00000, perimeter = 484.94601, major_axis_length = 205.00323, minor_axis_length = 89.61550, eccentricity = 0.89939, convex_area = 14502.00000, extent = 0.75220, type = C + area = 13410.00000, perimeter = 477.08499, major_axis_length = 195.79893, minor_axis_length = 88.77675, eccentricity = 0.89130, convex_area = 13842.00000, extent = 0.57234, type = C + area = 11443.00000, perimeter = 427.23099, major_axis_length = 176.98198, minor_axis_length = 82.91759, eccentricity = 0.88346, convex_area = 11618.00000, extent = 0.62898, type = O + area = 11859.00000, perimeter = 444.80099, major_axis_length = 183.55276, minor_axis_length = 83.57420, eccentricity = 0.89033, convex_area = 12213.00000, extent = 0.76313, type = C + area = 14658.00000, perimeter = 477.11700, major_axis_length = 189.56664, minor_axis_length = 99.99778, eccentricity = 0.84955, convex_area = 15048.00000, extent = 0.64950, type = O + area = 10005.00000, perimeter = 394.09900, major_axis_length = 161.26289, minor_axis_length = 79.95715, eccentricity = 0.86843, convex_area = 10220.00000, extent = 0.71875, type = O + area = 11850.00000, perimeter = 440.86499, major_axis_length = 178.62244, minor_axis_length = 86.16687, eccentricity = 0.87595, convex_area = 12201.00000, extent = 0.78373, type = O + area = 12942.00000, perimeter = 441.74399, major_axis_length = 175.55925, minor_axis_length = 95.28501, eccentricity = 0.83989, convex_area = 13310.00000, extent = 0.70169, type = O + area = 14686.00000, perimeter = 490.40601, major_axis_length = 203.03380, minor_axis_length = 93.82804, eccentricity = 0.88681, convex_area = 15065.00000, extent = 0.61468, type = C + area = 12278.00000, perimeter = 453.69299, major_axis_length = 184.05016, minor_axis_length = 86.66009, eccentricity = 0.88221, convex_area = 12601.00000, extent = 0.62983, type = O + area = 11589.00000, perimeter = 449.36099, major_axis_length = 196.64670, minor_axis_length = 75.97960, eccentricity = 0.92234, convex_area = 11783.00000, extent = 0.56293, type = C + area = 12068.00000, perimeter = 457.73901, major_axis_length = 196.44206, minor_axis_length = 79.54394, eccentricity = 0.91435, convex_area = 12347.00000, extent = 0.59950, type = C + area = 13397.00000, perimeter = 474.86499, major_axis_length = 200.54626, minor_axis_length = 86.39674, eccentricity = 0.90244, convex_area = 13762.00000, extent = 0.69404, type = C + area = 9359.00000, perimeter = 395.98801, major_axis_length = 168.29395, minor_axis_length = 71.10741, eccentricity = 0.90635, convex_area = 9555.00000, extent = 0.57516, type = O + area = 12352.00000, perimeter = 453.13501, major_axis_length = 191.11189, minor_axis_length = 83.35074, eccentricity = 0.89988, convex_area = 12683.00000, extent = 0.57847, type = C + area = 11726.00000, perimeter = 450.74500, major_axis_length = 189.09308, minor_axis_length = 80.31675, eccentricity = 0.90531, convex_area = 12061.00000, extent = 0.55626, type = O + area = 11395.00000, perimeter = 421.96301, major_axis_length = 169.74678, minor_axis_length = 86.97183, eccentricity = 0.85877, convex_area = 11586.00000, extent = 0.62370, type = O + area = 15321.00000, perimeter = 513.00702, major_axis_length = 218.71196, minor_axis_length = 90.26067, eccentricity = 0.91087, convex_area = 15646.00000, extent = 0.71188, type = C + area = 11299.00000, perimeter = 429.43900, major_axis_length = 174.44162, minor_axis_length = 84.42339, eccentricity = 0.87509, convex_area = 11663.00000, extent = 0.61338, type = O + area = 11691.00000, perimeter = 426.28000, major_axis_length = 176.18996, minor_axis_length = 85.12367, eccentricity = 0.87555, convex_area = 11908.00000, extent = 0.61824, type = O + area = 10746.00000, perimeter = 423.99100, major_axis_length = 177.95325, minor_axis_length = 78.12188, eccentricity = 0.89849, convex_area = 10942.00000, extent = 0.58149, type = O + area = 13337.00000, perimeter = 468.62100, major_axis_length = 196.77119, minor_axis_length = 87.31041, eccentricity = 0.89617, convex_area = 13598.00000, extent = 0.69442, type = C + area = 14910.00000, perimeter = 511.60001, major_axis_length = 221.61229, minor_axis_length = 86.21699, eccentricity = 0.92122, convex_area = 15215.00000, extent = 0.69964, type = C + area = 12612.00000, perimeter = 463.59500, major_axis_length = 197.68294, minor_axis_length = 82.37692, eccentricity = 0.90904, convex_area = 12919.00000, extent = 0.58405, type = C + area = 14289.00000, perimeter = 502.81400, major_axis_length = 216.60838, minor_axis_length = 85.56938, eccentricity = 0.91866, convex_area = 14612.00000, extent = 0.54100, type = C + area = 10926.00000, perimeter = 416.22299, major_axis_length = 173.41998, minor_axis_length = 80.86935, eccentricity = 0.88462, convex_area = 11113.00000, extent = 0.63236, type = O + area = 11299.00000, perimeter = 420.73801, major_axis_length = 170.82082, minor_axis_length = 84.86575, eccentricity = 0.86786, convex_area = 11488.00000, extent = 0.64257, type = O + area = 12162.00000, perimeter = 454.77600, major_axis_length = 191.12080, minor_axis_length = 82.31743, eccentricity = 0.90249, convex_area = 12493.00000, extent = 0.74522, type = C + area = 14017.00000, perimeter = 474.31000, major_axis_length = 198.33673, minor_axis_length = 90.86869, eccentricity = 0.88887, convex_area = 14320.00000, extent = 0.76055, type = C + area = 11440.00000, perimeter = 425.81601, major_axis_length = 170.72098, minor_axis_length = 87.25544, eccentricity = 0.85952, convex_area = 11750.00000, extent = 0.66508, type = O + area = 15192.00000, perimeter = 494.88901, major_axis_length = 208.72449, minor_axis_length = 93.38068, eccentricity = 0.89434, convex_area = 15410.00000, extent = 0.62647, type = C + area = 12990.00000, perimeter = 469.48001, major_axis_length = 200.51541, minor_axis_length = 83.43035, eccentricity = 0.90933, convex_area = 13214.00000, extent = 0.70121, type = C + area = 11810.00000, perimeter = 444.35199, major_axis_length = 187.80739, minor_axis_length = 80.46891, eccentricity = 0.90356, convex_area = 11977.00000, extent = 0.57308, type = O + area = 14918.00000, perimeter = 500.27100, major_axis_length = 210.42461, minor_axis_length = 91.21054, eccentricity = 0.90117, convex_area = 15185.00000, extent = 0.64073, type = C + area = 11303.00000, perimeter = 422.20001, major_axis_length = 168.05589, minor_axis_length = 87.12608, eccentricity = 0.85512, convex_area = 11569.00000, extent = 0.76423, type = O + area = 13501.00000, perimeter = 472.48300, major_axis_length = 198.07204, minor_axis_length = 87.68961, eccentricity = 0.89666, convex_area = 13787.00000, extent = 0.63403, type = C + area = 10899.00000, perimeter = 421.44000, major_axis_length = 173.63838, minor_axis_length = 81.15626, eccentricity = 0.88405, convex_area = 11267.00000, extent = 0.69345, type = O + area = 16706.00000, perimeter = 533.62598, major_axis_length = 228.15617, minor_axis_length = 94.20754, eccentricity = 0.91077, convex_area = 17037.00000, extent = 0.63625, type = C + area = 16523.00000, perimeter = 531.89203, major_axis_length = 224.99542, minor_axis_length = 94.41770, eccentricity = 0.90769, convex_area = 16911.00000, extent = 0.57704, type = C + area = 12854.00000, perimeter = 474.13800, major_axis_length = 202.19571, minor_axis_length = 81.74696, eccentricity = 0.91463, convex_area = 13242.00000, extent = 0.64328, type = C + area = 12907.00000, perimeter = 465.34201, major_axis_length = 195.65497, minor_axis_length = 84.88218, eccentricity = 0.90099, convex_area = 13151.00000, extent = 0.57334, type = C + area = 10697.00000, perimeter = 408.84399, major_axis_length = 163.87523, minor_axis_length = 84.58505, eccentricity = 0.85650, convex_area = 10995.00000, extent = 0.75811, type = O + area = 11732.00000, perimeter = 433.86401, major_axis_length = 173.95808, minor_axis_length = 86.97466, eccentricity = 0.86604, convex_area = 12054.00000, extent = 0.62960, type = O + area = 13857.00000, perimeter = 498.02899, major_axis_length = 220.26657, minor_axis_length = 80.39958, eccentricity = 0.93100, convex_area = 14053.00000, extent = 0.50795, type = C + area = 12115.00000, perimeter = 449.19800, major_axis_length = 187.59158, minor_axis_length = 83.37024, eccentricity = 0.89582, convex_area = 12440.00000, extent = 0.56686, type = O + area = 12184.00000, perimeter = 434.40799, major_axis_length = 181.74608, minor_axis_length = 85.97195, eccentricity = 0.88104, convex_area = 12336.00000, extent = 0.72871, type = O + area = 12672.00000, perimeter = 450.34399, major_axis_length = 184.40462, minor_axis_length = 88.78121, eccentricity = 0.87647, convex_area = 12939.00000, extent = 0.78261, type = O + area = 16934.00000, perimeter = 533.08600, major_axis_length = 225.30267, minor_axis_length = 96.45010, eccentricity = 0.90374, convex_area = 17323.00000, extent = 0.75262, type = C + area = 13580.00000, perimeter = 464.35699, major_axis_length = 190.38063, minor_axis_length = 91.37227, eccentricity = 0.87730, convex_area = 13781.00000, extent = 0.62731, type = C + area = 14261.00000, perimeter = 496.35901, major_axis_length = 208.85197, minor_axis_length = 88.24221, eccentricity = 0.90636, convex_area = 14763.00000, extent = 0.69566, type = C + area = 10826.00000, perimeter = 414.22299, major_axis_length = 168.25279, minor_axis_length = 82.88859, eccentricity = 0.87023, convex_area = 11040.00000, extent = 0.61550, type = O + area = 15594.00000, perimeter = 515.66101, major_axis_length = 216.53427, minor_axis_length = 93.27998, eccentricity = 0.90245, convex_area = 16029.00000, extent = 0.66667, type = C + area = 10472.00000, perimeter = 403.69199, major_axis_length = 164.48244, minor_axis_length = 81.67548, eccentricity = 0.86800, convex_area = 10688.00000, extent = 0.69480, type = O + area = 14713.00000, perimeter = 493.21201, major_axis_length = 206.91612, minor_axis_length = 91.64847, eccentricity = 0.89656, convex_area = 15162.00000, extent = 0.59403, type = C + area = 11359.00000, perimeter = 441.36600, major_axis_length = 185.19771, minor_axis_length = 78.98223, eccentricity = 0.90450, convex_area = 11755.00000, extent = 0.58073, type = C + area = 14911.00000, perimeter = 494.08899, major_axis_length = 207.56024, minor_axis_length = 92.41061, eccentricity = 0.89542, convex_area = 15132.00000, extent = 0.60476, type = C + area = 13803.00000, perimeter = 492.02100, major_axis_length = 207.04994, minor_axis_length = 87.18410, eccentricity = 0.90702, convex_area = 14174.00000, extent = 0.56915, type = C + area = 16933.00000, perimeter = 521.92200, major_axis_length = 221.33298, minor_axis_length = 98.09830, eccentricity = 0.89641, convex_area = 17212.00000, extent = 0.77674, type = C + area = 13928.00000, perimeter = 479.72400, major_axis_length = 204.43028, minor_axis_length = 87.08270, eccentricity = 0.90473, convex_area = 14158.00000, extent = 0.56627, type = C + area = 15166.00000, perimeter = 502.16501, major_axis_length = 214.13986, minor_axis_length = 91.38511, eccentricity = 0.90437, convex_area = 15475.00000, extent = 0.79486, type = C + area = 10187.00000, perimeter = 409.35699, major_axis_length = 170.06361, minor_axis_length = 77.55087, eccentricity = 0.88997, convex_area = 10391.00000, extent = 0.68539, type = O + area = 14423.00000, perimeter = 507.08200, major_axis_length = 221.53348, minor_axis_length = 83.90892, eccentricity = 0.92549, convex_area = 14703.00000, extent = 0.54222, type = C + area = 12099.00000, perimeter = 427.17899, major_axis_length = 170.91980, minor_axis_length = 91.33012, eccentricity = 0.84527, convex_area = 12326.00000, extent = 0.78616, type = O + area = 17564.00000, perimeter = 527.11603, major_axis_length = 221.60294, minor_axis_length = 101.65880, eccentricity = 0.88857, convex_area = 17808.00000, extent = 0.77116, type = C + area = 12357.00000, perimeter = 452.98300, major_axis_length = 189.57811, minor_axis_length = 84.28503, eccentricity = 0.89573, convex_area = 12666.00000, extent = 0.64662, type = O + area = 11739.00000, perimeter = 448.60501, major_axis_length = 187.68576, minor_axis_length = 80.84975, eccentricity = 0.90246, convex_area = 12118.00000, extent = 0.54702, type = C + area = 12228.00000, perimeter = 441.15601, major_axis_length = 176.11035, minor_axis_length = 90.81321, eccentricity = 0.85679, convex_area = 12587.00000, extent = 0.69296, type = O + area = 12633.00000, perimeter = 452.00299, major_axis_length = 186.43448, minor_axis_length = 87.42464, eccentricity = 0.88324, convex_area = 12863.00000, extent = 0.58462, type = O + area = 10950.00000, perimeter = 412.33401, major_axis_length = 166.30606, minor_axis_length = 85.29817, eccentricity = 0.85845, convex_area = 11172.00000, extent = 0.77605, type = O + area = 9487.00000, perimeter = 394.28000, major_axis_length = 165.93575, minor_axis_length = 73.33004, eccentricity = 0.89706, convex_area = 9659.00000, extent = 0.72298, type = O + area = 11578.00000, perimeter = 431.50601, major_axis_length = 181.23451, minor_axis_length = 82.66643, eccentricity = 0.88991, convex_area = 11747.00000, extent = 0.61901, type = O + area = 14516.00000, perimeter = 492.78601, major_axis_length = 209.76013, minor_axis_length = 89.51320, eccentricity = 0.90437, convex_area = 14836.00000, extent = 0.73358, type = C + area = 15486.00000, perimeter = 509.13599, major_axis_length = 211.11356, minor_axis_length = 94.82224, eccentricity = 0.89345, convex_area = 15921.00000, extent = 0.68634, type = C + area = 11836.00000, perimeter = 456.37900, major_axis_length = 201.86960, minor_axis_length = 75.45857, eccentricity = 0.92751, convex_area = 12084.00000, extent = 0.75321, type = C + area = 13093.00000, perimeter = 470.10001, major_axis_length = 197.19702, minor_axis_length = 85.79729, eccentricity = 0.90039, convex_area = 13358.00000, extent = 0.55739, type = O + area = 14530.00000, perimeter = 487.09698, major_axis_length = 201.80623, minor_axis_length = 93.05895, eccentricity = 0.88733, convex_area = 14926.00000, extent = 0.68713, type = C + area = 11778.00000, perimeter = 432.25699, major_axis_length = 173.48621, minor_axis_length = 87.75865, eccentricity = 0.86262, convex_area = 12104.00000, extent = 0.66497, type = O + area = 13627.00000, perimeter = 476.98901, major_axis_length = 201.19452, minor_axis_length = 86.95226, eccentricity = 0.90179, convex_area = 13926.00000, extent = 0.78056, type = C + area = 12626.00000, perimeter = 455.29700, major_axis_length = 188.65788, minor_axis_length = 86.60138, eccentricity = 0.88842, convex_area = 12911.00000, extent = 0.73390, type = C + area = 16258.00000, perimeter = 533.34100, major_axis_length = 229.11299, minor_axis_length = 91.12013, eccentricity = 0.91751, convex_area = 16705.00000, extent = 0.57082, type = C + area = 11672.00000, perimeter = 430.64200, major_axis_length = 177.94815, minor_axis_length = 84.67979, eccentricity = 0.87952, convex_area = 11849.00000, extent = 0.59746, type = O + area = 11226.00000, perimeter = 416.08200, major_axis_length = 166.27264, minor_axis_length = 87.09694, eccentricity = 0.85183, convex_area = 11515.00000, extent = 0.63546, type = O + area = 11185.00000, perimeter = 414.18100, major_axis_length = 170.01825, minor_axis_length = 84.11061, eccentricity = 0.86906, convex_area = 11370.00000, extent = 0.62208, type = O + area = 12341.00000, perimeter = 451.11600, major_axis_length = 183.64560, minor_axis_length = 86.69643, eccentricity = 0.88155, convex_area = 12676.00000, extent = 0.60212, type = O + area = 15158.00000, perimeter = 513.72601, major_axis_length = 218.82001, minor_axis_length = 89.37169, eccentricity = 0.91279, convex_area = 15591.00000, extent = 0.70176, type = C + area = 15556.00000, perimeter = 510.51001, major_axis_length = 217.10223, minor_axis_length = 92.77322, eccentricity = 0.90410, convex_area = 15781.00000, extent = 0.60742, type = C + area = 14026.00000, perimeter = 494.60300, major_axis_length = 212.81454, minor_axis_length = 84.92227, eccentricity = 0.91693, convex_area = 14267.00000, extent = 0.54640, type = C + area = 12653.00000, perimeter = 461.62000, major_axis_length = 195.89386, minor_axis_length = 83.49930, eccentricity = 0.90461, convex_area = 12973.00000, extent = 0.57650, type = C + area = 11502.00000, perimeter = 425.95599, major_axis_length = 173.27319, minor_axis_length = 85.45619, eccentricity = 0.86992, convex_area = 11776.00000, extent = 0.63758, type = O + area = 13485.00000, perimeter = 471.57001, major_axis_length = 198.27264, minor_axis_length = 87.72729, eccentricity = 0.89679, convex_area = 13734.00000, extent = 0.57232, type = C + area = 14242.00000, perimeter = 495.73901, major_axis_length = 210.68092, minor_axis_length = 87.42849, eccentricity = 0.90983, convex_area = 14549.00000, extent = 0.64095, type = C + area = 13043.00000, perimeter = 471.35699, major_axis_length = 199.28964, minor_axis_length = 84.55070, eccentricity = 0.90554, convex_area = 13422.00000, extent = 0.73643, type = C + area = 11112.00000, perimeter = 429.65302, major_axis_length = 172.42714, minor_axis_length = 83.92387, eccentricity = 0.87356, convex_area = 11472.00000, extent = 0.60921, type = O + area = 14274.00000, perimeter = 488.82999, major_axis_length = 203.56786, minor_axis_length = 89.92999, eccentricity = 0.89713, convex_area = 14529.00000, extent = 0.57236, type = C + area = 15133.00000, perimeter = 503.21899, major_axis_length = 216.57503, minor_axis_length = 89.47614, eccentricity = 0.91067, convex_area = 15359.00000, extent = 0.59261, type = C + area = 11062.00000, perimeter = 411.10901, major_axis_length = 167.80319, minor_axis_length = 84.98283, eccentricity = 0.86227, convex_area = 11242.00000, extent = 0.82258, type = O + area = 14002.00000, perimeter = 490.57001, major_axis_length = 209.33427, minor_axis_length = 86.14631, eccentricity = 0.91140, convex_area = 14336.00000, extent = 0.65691, type = C + area = 13637.00000, perimeter = 466.65302, major_axis_length = 193.53421, minor_axis_length = 90.35423, eccentricity = 0.88433, convex_area = 13838.00000, extent = 0.69167, type = C + area = 10392.00000, perimeter = 416.48901, major_axis_length = 177.36635, minor_axis_length = 75.56695, eccentricity = 0.90470, convex_area = 10559.00000, extent = 0.56246, type = O + area = 14982.00000, perimeter = 505.07800, major_axis_length = 217.36499, minor_axis_length = 88.59523, eccentricity = 0.91317, convex_area = 15325.00000, extent = 0.55924, type = C + area = 14534.00000, perimeter = 483.64099, major_axis_length = 196.65082, minor_axis_length = 95.05068, eccentricity = 0.87543, convex_area = 14932.00000, extent = 0.64965, type = C + area = 10030.00000, perimeter = 414.38400, major_axis_length = 181.60057, minor_axis_length = 70.75995, eccentricity = 0.92096, convex_area = 10152.00000, extent = 0.77189, type = O + area = 10664.00000, perimeter = 414.93900, major_axis_length = 168.07909, minor_axis_length = 81.73141, eccentricity = 0.87381, convex_area = 10929.00000, extent = 0.64536, type = O + area = 16862.00000, perimeter = 519.47101, major_axis_length = 219.65996, minor_axis_length = 98.39157, eccentricity = 0.89407, convex_area = 17104.00000, extent = 0.61227, type = C + area = 10271.00000, perimeter = 415.53900, major_axis_length = 177.82224, minor_axis_length = 74.39628, eccentricity = 0.90827, convex_area = 10422.00000, extent = 0.56608, type = O + area = 14246.00000, perimeter = 488.91599, major_axis_length = 210.75372, minor_axis_length = 86.88518, eccentricity = 0.91107, convex_area = 14453.00000, extent = 0.74806, type = C + area = 14085.00000, perimeter = 489.45499, major_axis_length = 200.52655, minor_axis_length = 91.23563, eccentricity = 0.89050, convex_area = 14670.00000, extent = 0.62717, type = C + area = 11396.00000, perimeter = 431.29700, major_axis_length = 177.63840, minor_axis_length = 82.85764, eccentricity = 0.88455, convex_area = 11612.00000, extent = 0.75321, type = O + area = 9080.00000, perimeter = 396.54001, major_axis_length = 165.68701, minor_axis_length = 70.25223, eccentricity = 0.90566, convex_area = 9387.00000, extent = 0.57809, type = O + area = 12625.00000, perimeter = 448.33701, major_axis_length = 182.10194, minor_axis_length = 89.70995, eccentricity = 0.87024, convex_area = 12833.00000, extent = 0.60987, type = O + area = 12461.00000, perimeter = 454.09601, major_axis_length = 191.91452, minor_axis_length = 83.66120, eccentricity = 0.89998, convex_area = 12683.00000, extent = 0.56151, type = C + area = 13548.00000, perimeter = 479.74899, major_axis_length = 203.27188, minor_axis_length = 85.60246, eccentricity = 0.90700, convex_area = 13850.00000, extent = 0.55443, type = C + area = 12489.00000, perimeter = 444.00800, major_axis_length = 175.32974, minor_axis_length = 92.48181, eccentricity = 0.84957, convex_area = 12853.00000, extent = 0.74423, type = O + area = 12991.00000, perimeter = 472.82901, major_axis_length = 196.89684, minor_axis_length = 85.49543, eccentricity = 0.90081, convex_area = 13380.00000, extent = 0.73645, type = C + area = 13000.00000, perimeter = 460.37100, major_axis_length = 195.09875, minor_axis_length = 85.72265, eccentricity = 0.89830, convex_area = 13231.00000, extent = 0.58286, type = C + area = 12174.00000, perimeter = 435.36801, major_axis_length = 174.20001, minor_axis_length = 90.66159, eccentricity = 0.85389, convex_area = 12471.00000, extent = 0.66387, type = O + area = 13916.00000, perimeter = 478.87799, major_axis_length = 201.63968, minor_axis_length = 88.56097, eccentricity = 0.89839, convex_area = 14221.00000, extent = 0.60399, type = C + area = 11307.00000, perimeter = 424.89600, major_axis_length = 173.94365, minor_axis_length = 83.69766, eccentricity = 0.87662, convex_area = 11499.00000, extent = 0.73863, type = O + area = 13808.00000, perimeter = 466.77802, major_axis_length = 190.80783, minor_axis_length = 93.22655, eccentricity = 0.87251, convex_area = 14023.00000, extent = 0.62370, type = O + area = 12466.00000, perimeter = 448.85699, major_axis_length = 181.19337, minor_axis_length = 88.68750, eccentricity = 0.87202, convex_area = 12779.00000, extent = 0.60409, type = O + area = 12898.00000, perimeter = 454.76700, major_axis_length = 184.37398, minor_axis_length = 90.95403, eccentricity = 0.86985, convex_area = 13223.00000, extent = 0.75781, type = O + area = 11759.00000, perimeter = 429.33801, major_axis_length = 169.32892, minor_axis_length = 89.80245, eccentricity = 0.84778, convex_area = 12011.00000, extent = 0.67049, type = O + area = 17048.00000, perimeter = 525.53802, major_axis_length = 219.48859, minor_axis_length = 99.73430, eccentricity = 0.89080, convex_area = 17318.00000, extent = 0.69233, type = C + area = 11617.00000, perimeter = 418.45401, major_axis_length = 167.91475, minor_axis_length = 88.90757, eccentricity = 0.84832, convex_area = 11822.00000, extent = 0.76067, type = O + area = 14399.00000, perimeter = 484.08200, major_axis_length = 200.17354, minor_axis_length = 92.85159, eccentricity = 0.88591, convex_area = 14849.00000, extent = 0.60480, type = C + area = 11249.00000, perimeter = 419.00299, major_axis_length = 166.28651, minor_axis_length = 87.62983, eccentricity = 0.84988, convex_area = 11593.00000, extent = 0.63005, type = O + area = 12293.00000, perimeter = 445.68701, major_axis_length = 181.87917, minor_axis_length = 87.02768, eccentricity = 0.87809, convex_area = 12524.00000, extent = 0.77637, type = O + area = 14295.00000, perimeter = 489.21500, major_axis_length = 203.30190, minor_axis_length = 90.60995, eccentricity = 0.89519, convex_area = 14660.00000, extent = 0.60670, type = C + area = 12202.00000, perimeter = 442.36200, major_axis_length = 180.03778, minor_axis_length = 87.39918, eccentricity = 0.87426, convex_area = 12521.00000, extent = 0.77918, type = C + area = 13541.00000, perimeter = 478.46100, major_axis_length = 206.69949, minor_axis_length = 84.09856, eccentricity = 0.91349, convex_area = 13768.00000, extent = 0.81347, type = C + area = 13629.00000, perimeter = 470.67801, major_axis_length = 202.24448, minor_axis_length = 86.40013, eccentricity = 0.90415, convex_area = 13785.00000, extent = 0.56677, type = O + area = 15460.00000, perimeter = 507.07700, major_axis_length = 213.57233, minor_axis_length = 93.55610, eccentricity = 0.89895, convex_area = 15819.00000, extent = 0.58221, type = C + area = 15153.00000, perimeter = 514.40399, major_axis_length = 218.09232, minor_axis_length = 90.05229, eccentricity = 0.91077, convex_area = 15628.00000, extent = 0.68085, type = C + area = 14449.00000, perimeter = 496.32599, major_axis_length = 209.70576, minor_axis_length = 89.79037, eccentricity = 0.90370, convex_area = 14810.00000, extent = 0.66231, type = C + area = 13335.00000, perimeter = 469.71399, major_axis_length = 199.29723, minor_axis_length = 85.91238, eccentricity = 0.90232, convex_area = 13657.00000, extent = 0.61679, type = C + area = 11605.00000, perimeter = 425.69800, major_axis_length = 173.51668, minor_axis_length = 86.13511, eccentricity = 0.86809, convex_area = 11781.00000, extent = 0.79842, type = O + area = 14730.00000, perimeter = 483.70599, major_axis_length = 196.45126, minor_axis_length = 96.88643, eccentricity = 0.86993, convex_area = 15006.00000, extent = 0.65310, type = C + area = 14852.00000, perimeter = 495.81699, major_axis_length = 205.71364, minor_axis_length = 92.94775, eccentricity = 0.89210, convex_area = 15202.00000, extent = 0.60130, type = C + area = 11702.00000, perimeter = 432.77399, major_axis_length = 177.72461, minor_axis_length = 84.66332, eccentricity = 0.87924, convex_area = 11975.00000, extent = 0.59716, type = C + area = 14654.00000, perimeter = 498.10300, major_axis_length = 214.65430, minor_axis_length = 87.38055, eccentricity = 0.91339, convex_area = 14907.00000, extent = 0.80375, type = C + area = 11953.00000, perimeter = 443.51801, major_axis_length = 183.42574, minor_axis_length = 84.54717, eccentricity = 0.88743, convex_area = 12283.00000, extent = 0.57071, type = O + area = 10536.00000, perimeter = 425.36700, major_axis_length = 182.95021, minor_axis_length = 73.86765, eccentricity = 0.91487, convex_area = 10704.00000, extent = 0.75043, type = O + area = 12619.00000, perimeter = 470.61401, major_axis_length = 202.76451, minor_axis_length = 80.17954, eccentricity = 0.91850, convex_area = 12937.00000, extent = 0.60794, type = C + area = 12968.00000, perimeter = 469.34100, major_axis_length = 199.90503, minor_axis_length = 83.03522, eccentricity = 0.90965, convex_area = 13243.00000, extent = 0.64125, type = C + area = 13241.00000, perimeter = 466.98999, major_axis_length = 193.54422, minor_axis_length = 88.05835, eccentricity = 0.89050, convex_area = 13577.00000, extent = 0.57765, type = C + area = 12989.00000, perimeter = 450.23801, major_axis_length = 182.64360, minor_axis_length = 91.99093, eccentricity = 0.86390, convex_area = 13259.00000, extent = 0.63803, type = O + area = 14359.00000, perimeter = 506.08899, major_axis_length = 223.26085, minor_axis_length = 82.48141, eccentricity = 0.92925, convex_area = 14698.00000, extent = 0.53787, type = C + area = 14173.00000, perimeter = 480.68301, major_axis_length = 201.93576, minor_axis_length = 90.24498, eccentricity = 0.89458, convex_area = 14519.00000, extent = 0.59756, type = C + area = 11908.00000, perimeter = 430.70300, major_axis_length = 174.37300, minor_axis_length = 88.10851, eccentricity = 0.86295, convex_area = 12162.00000, extent = 0.68832, type = O + area = 10595.00000, perimeter = 407.26700, major_axis_length = 166.13063, minor_axis_length = 82.56895, eccentricity = 0.86774, convex_area = 10849.00000, extent = 0.64271, type = O + area = 13256.00000, perimeter = 462.72400, major_axis_length = 194.14876, minor_axis_length = 87.72887, eccentricity = 0.89209, convex_area = 13465.00000, extent = 0.64742, type = C + area = 14525.00000, perimeter = 487.21600, major_axis_length = 206.45012, minor_axis_length = 90.84386, eccentricity = 0.89798, convex_area = 14798.00000, extent = 0.59334, type = C + area = 13422.00000, perimeter = 474.95499, major_axis_length = 196.45425, minor_axis_length = 88.85059, eccentricity = 0.89188, convex_area = 13817.00000, extent = 0.55981, type = C + area = 11502.00000, perimeter = 423.83200, major_axis_length = 167.89209, minor_axis_length = 88.34924, eccentricity = 0.85034, convex_area = 11770.00000, extent = 0.62760, type = O + area = 10474.00000, perimeter = 403.45999, major_axis_length = 167.88440, minor_axis_length = 80.18859, eccentricity = 0.87855, convex_area = 10611.00000, extent = 0.78870, type = O + area = 13909.00000, perimeter = 474.11200, major_axis_length = 197.45837, minor_axis_length = 90.17406, eccentricity = 0.88963, convex_area = 14227.00000, extent = 0.74296, type = C + area = 11719.00000, perimeter = 430.51199, major_axis_length = 175.51746, minor_axis_length = 86.51001, eccentricity = 0.87009, convex_area = 12000.00000, extent = 0.69931, type = O + area = 13540.00000, perimeter = 458.53000, major_axis_length = 189.11140, minor_axis_length = 92.39391, eccentricity = 0.87253, convex_area = 13710.00000, extent = 0.79995, type = C + area = 10192.00000, perimeter = 404.18201, major_axis_length = 171.13255, minor_axis_length = 76.47445, eccentricity = 0.89460, convex_area = 10346.00000, extent = 0.61059, type = O + area = 14291.00000, perimeter = 481.23999, major_axis_length = 196.50101, minor_axis_length = 93.87129, eccentricity = 0.87852, convex_area = 14618.00000, extent = 0.58920, type = C + area = 13158.00000, perimeter = 470.99600, major_axis_length = 201.01839, minor_axis_length = 84.50301, eccentricity = 0.90735, convex_area = 13462.00000, extent = 0.61978, type = C + area = 10451.00000, perimeter = 419.69601, major_axis_length = 174.23369, minor_axis_length = 78.35890, eccentricity = 0.89316, convex_area = 10722.00000, extent = 0.58687, type = O + area = 12092.00000, perimeter = 449.18900, major_axis_length = 192.57950, minor_axis_length = 80.42228, eccentricity = 0.90863, convex_area = 12298.00000, extent = 0.58393, type = C + area = 13253.00000, perimeter = 473.44199, major_axis_length = 198.61066, minor_axis_length = 85.91887, eccentricity = 0.90159, convex_area = 13535.00000, extent = 0.68997, type = C + area = 12618.00000, perimeter = 457.89801, major_axis_length = 193.81572, minor_axis_length = 83.47736, eccentricity = 0.90249, convex_area = 12851.00000, extent = 0.58223, type = C + area = 10610.00000, perimeter = 410.50601, major_axis_length = 171.15617, minor_axis_length = 79.34595, eccentricity = 0.88605, convex_area = 10769.00000, extent = 0.82510, type = C + area = 10818.00000, perimeter = 416.76801, major_axis_length = 175.70876, minor_axis_length = 78.83266, eccentricity = 0.89370, convex_area = 10987.00000, extent = 0.63449, type = O + area = 11496.00000, perimeter = 440.46899, major_axis_length = 185.72256, minor_axis_length = 79.85572, eccentricity = 0.90284, convex_area = 11759.00000, extent = 0.75093, type = O + area = 14520.00000, perimeter = 496.02100, major_axis_length = 208.42570, minor_axis_length = 90.74639, eccentricity = 0.90024, convex_area = 14930.00000, extent = 0.59096, type = C + area = 13251.00000, perimeter = 460.53201, major_axis_length = 190.91631, minor_axis_length = 88.99756, eccentricity = 0.88470, convex_area = 13528.00000, extent = 0.74992, type = C + area = 11562.00000, perimeter = 424.97101, major_axis_length = 174.39478, minor_axis_length = 85.48676, eccentricity = 0.87161, convex_area = 11739.00000, extent = 0.75529, type = O + area = 16618.00000, perimeter = 513.75299, major_axis_length = 213.21713, minor_axis_length = 99.89234, eccentricity = 0.88346, convex_area = 16892.00000, extent = 0.63641, type = C + area = 9772.00000, perimeter = 392.23700, major_axis_length = 164.40335, minor_axis_length = 76.18343, eccentricity = 0.88615, convex_area = 9971.00000, extent = 0.78339, type = O + area = 13919.00000, perimeter = 472.22800, major_axis_length = 194.68640, minor_axis_length = 91.62576, eccentricity = 0.88233, convex_area = 14169.00000, extent = 0.70139, type = C + area = 11625.00000, perimeter = 430.43399, major_axis_length = 176.33295, minor_axis_length = 86.15995, eccentricity = 0.87250, convex_area = 11838.00000, extent = 0.59680, type = O + area = 11809.00000, perimeter = 455.08301, major_axis_length = 185.42010, minor_axis_length = 83.61376, eccentricity = 0.89255, convex_area = 12318.00000, extent = 0.64885, type = C + area = 10919.00000, perimeter = 428.34900, major_axis_length = 179.68311, minor_axis_length = 77.92034, eccentricity = 0.90108, convex_area = 11143.00000, extent = 0.59582, type = O + area = 10525.00000, perimeter = 409.73199, major_axis_length = 170.31516, minor_axis_length = 79.03762, eccentricity = 0.88580, convex_area = 10682.00000, extent = 0.60677, type = O + area = 13198.00000, perimeter = 468.45599, major_axis_length = 200.49115, minor_axis_length = 84.69169, eccentricity = 0.90640, convex_area = 13455.00000, extent = 0.73192, type = C + area = 10821.00000, perimeter = 418.00201, major_axis_length = 176.55823, minor_axis_length = 79.08772, eccentricity = 0.89406, convex_area = 10986.00000, extent = 0.59041, type = O + area = 13621.00000, perimeter = 473.89899, major_axis_length = 198.84587, minor_axis_length = 88.42869, eccentricity = 0.89567, convex_area = 13989.00000, extent = 0.60846, type = C + area = 14674.00000, perimeter = 497.10300, major_axis_length = 208.43646, minor_axis_length = 91.08699, eccentricity = 0.89946, convex_area = 15049.00000, extent = 0.68229, type = C + area = 11986.00000, perimeter = 432.29099, major_axis_length = 172.40063, minor_axis_length = 89.62594, eccentricity = 0.85425, convex_area = 12279.00000, extent = 0.65882, type = O + area = 16431.00000, perimeter = 509.38501, major_axis_length = 208.05287, minor_axis_length = 101.96149, eccentricity = 0.87168, convex_area = 16875.00000, extent = 0.73222, type = C + area = 11237.00000, perimeter = 429.53000, major_axis_length = 179.38393, minor_axis_length = 80.49435, eccentricity = 0.89367, convex_area = 11430.00000, extent = 0.59043, type = O + area = 11239.00000, perimeter = 419.86200, major_axis_length = 170.46190, minor_axis_length = 85.56315, eccentricity = 0.86490, convex_area = 11609.00000, extent = 0.62252, type = O + area = 12605.00000, perimeter = 447.66101, major_axis_length = 183.50119, minor_axis_length = 88.51619, eccentricity = 0.87597, convex_area = 12859.00000, extent = 0.59576, type = C + area = 15158.00000, perimeter = 505.27600, major_axis_length = 209.47603, minor_axis_length = 93.92683, eccentricity = 0.89384, convex_area = 15586.00000, extent = 0.60937, type = C + area = 12239.00000, perimeter = 473.51401, major_axis_length = 208.04790, minor_axis_length = 75.60644, eccentricity = 0.93163, convex_area = 12622.00000, extent = 0.51720, type = C + area = 13746.00000, perimeter = 483.82001, major_axis_length = 205.84219, minor_axis_length = 86.18869, eccentricity = 0.90812, convex_area = 14060.00000, extent = 0.71594, type = C + area = 9963.00000, perimeter = 410.08401, major_axis_length = 171.16846, minor_axis_length = 75.23148, eccentricity = 0.89823, convex_area = 10251.00000, extent = 0.71930, type = O + area = 11502.00000, perimeter = 429.74200, major_axis_length = 178.26375, minor_axis_length = 83.29379, eccentricity = 0.88413, convex_area = 11715.00000, extent = 0.77361, type = O + area = 15705.00000, perimeter = 498.96399, major_axis_length = 208.54117, minor_axis_length = 96.63724, eccentricity = 0.88615, convex_area = 16009.00000, extent = 0.77365, type = C + area = 14747.00000, perimeter = 501.76599, major_axis_length = 213.74219, minor_axis_length = 88.58164, eccentricity = 0.91008, convex_area = 15070.00000, extent = 0.76441, type = C + area = 12745.00000, perimeter = 453.03500, major_axis_length = 187.00584, minor_axis_length = 87.66729, eccentricity = 0.88331, convex_area = 13040.00000, extent = 0.60518, type = C + area = 11752.00000, perimeter = 428.66101, major_axis_length = 172.25977, minor_axis_length = 89.06375, eccentricity = 0.85597, convex_area = 12082.00000, extent = 0.65000, type = O + area = 12071.00000, perimeter = 438.70001, major_axis_length = 178.78461, minor_axis_length = 87.50312, eccentricity = 0.87204, convex_area = 12437.00000, extent = 0.64537, type = O + area = 9753.00000, perimeter = 402.57901, major_axis_length = 170.61418, minor_axis_length = 73.31348, eccentricity = 0.90297, convex_area = 10028.00000, extent = 0.56421, type = O + area = 14892.00000, perimeter = 503.64700, major_axis_length = 213.27196, minor_axis_length = 90.47866, eccentricity = 0.90555, convex_area = 15279.00000, extent = 0.59392, type = C + area = 11031.00000, perimeter = 414.44000, major_axis_length = 170.68466, minor_axis_length = 83.09671, eccentricity = 0.87349, convex_area = 11200.00000, extent = 0.60557, type = O + area = 12532.00000, perimeter = 449.74301, major_axis_length = 179.28526, minor_axis_length = 90.64862, eccentricity = 0.86276, convex_area = 12874.00000, extent = 0.60279, type = O + area = 10912.00000, perimeter = 424.88199, major_axis_length = 171.86250, minor_axis_length = 81.76659, eccentricity = 0.87957, convex_area = 11282.00000, extent = 0.61276, type = O + area = 11723.00000, perimeter = 427.62500, major_axis_length = 175.98422, minor_axis_length = 85.70834, eccentricity = 0.87339, convex_area = 11916.00000, extent = 0.80207, type = O + area = 9447.00000, perimeter = 407.09201, major_axis_length = 173.82240, minor_axis_length = 70.08594, eccentricity = 0.91511, convex_area = 9698.00000, extent = 0.58250, type = O + area = 15373.00000, perimeter = 522.21100, major_axis_length = 229.49373, minor_axis_length = 86.34157, eccentricity = 0.92653, convex_area = 15757.00000, extent = 0.67160, type = C + area = 9936.00000, perimeter = 398.27600, major_axis_length = 161.48193, minor_axis_length = 80.27461, eccentricity = 0.86769, convex_area = 10216.00000, extent = 0.67194, type = O + area = 10651.00000, perimeter = 411.00299, major_axis_length = 167.18010, minor_axis_length = 82.50652, eccentricity = 0.86974, convex_area = 10893.00000, extent = 0.67505, type = O + area = 13852.00000, perimeter = 490.27899, major_axis_length = 213.98569, minor_axis_length = 82.96648, eccentricity = 0.92178, convex_area = 14158.00000, extent = 0.72832, type = C + area = 14572.00000, perimeter = 497.55099, major_axis_length = 211.08046, minor_axis_length = 88.70968, eccentricity = 0.90740, convex_area = 14926.00000, extent = 0.62659, type = C + area = 14272.00000, perimeter = 487.70300, major_axis_length = 207.79874, minor_axis_length = 88.06716, eccentricity = 0.90575, convex_area = 14510.00000, extent = 0.58301, type = C + area = 11296.00000, perimeter = 424.70099, major_axis_length = 169.20689, minor_axis_length = 87.00450, eccentricity = 0.85768, convex_area = 11626.00000, extent = 0.61102, type = O + area = 15676.00000, perimeter = 511.66599, major_axis_length = 215.81372, minor_axis_length = 93.56567, eccentricity = 0.90113, convex_area = 16016.00000, extent = 0.77928, type = C + area = 13677.00000, perimeter = 467.24799, major_axis_length = 191.01180, minor_axis_length = 91.82099, eccentricity = 0.87688, convex_area = 13901.00000, extent = 0.65503, type = O + area = 14300.00000, perimeter = 504.37701, major_axis_length = 212.59837, minor_axis_length = 87.49030, eccentricity = 0.91140, convex_area = 14772.00000, extent = 0.54044, type = C + area = 12939.00000, perimeter = 469.48099, major_axis_length = 202.04332, minor_axis_length = 83.09899, eccentricity = 0.91150, convex_area = 13165.00000, extent = 0.65770, type = C + area = 12005.00000, perimeter = 440.26501, major_axis_length = 180.68211, minor_axis_length = 85.73723, eccentricity = 0.88024, convex_area = 12319.00000, extent = 0.60302, type = O + area = 12729.00000, perimeter = 458.38599, major_axis_length = 184.99959, minor_axis_length = 88.83807, eccentricity = 0.87716, convex_area = 13085.00000, extent = 0.60213, type = O + area = 14908.00000, perimeter = 499.46899, major_axis_length = 209.11948, minor_axis_length = 92.06287, eccentricity = 0.89788, convex_area = 15324.00000, extent = 0.76334, type = C + area = 13806.00000, perimeter = 490.51001, major_axis_length = 209.72084, minor_axis_length = 85.13124, eccentricity = 0.91391, convex_area = 14284.00000, extent = 0.79587, type = C + area = 12709.00000, perimeter = 456.17401, major_axis_length = 191.37341, minor_axis_length = 85.73984, eccentricity = 0.89402, convex_area = 12934.00000, extent = 0.78281, type = C + area = 10102.00000, perimeter = 411.80801, major_axis_length = 176.81377, minor_axis_length = 74.26673, eccentricity = 0.90751, convex_area = 10350.00000, extent = 0.57792, type = O + area = 10951.00000, perimeter = 424.76901, major_axis_length = 179.13132, minor_axis_length = 78.75501, eccentricity = 0.89817, convex_area = 11138.00000, extent = 0.56726, type = O + area = 11814.00000, perimeter = 424.53201, major_axis_length = 172.85596, minor_axis_length = 87.35524, eccentricity = 0.86291, convex_area = 11970.00000, extent = 0.73814, type = O + area = 14244.00000, perimeter = 488.06601, major_axis_length = 199.89989, minor_axis_length = 92.31540, eccentricity = 0.88698, convex_area = 14691.00000, extent = 0.61633, type = C + area = 11553.00000, perimeter = 433.77701, major_axis_length = 183.22137, minor_axis_length = 80.94514, eccentricity = 0.89712, convex_area = 11729.00000, extent = 0.80677, type = O + area = 12831.00000, perimeter = 452.72000, major_axis_length = 184.24652, minor_axis_length = 89.26257, eccentricity = 0.87481, convex_area = 13073.00000, extent = 0.61123, type = O + area = 12465.00000, perimeter = 445.06699, major_axis_length = 177.52953, minor_axis_length = 91.50624, eccentricity = 0.85692, convex_area = 12882.00000, extent = 0.76117, type = O + area = 12110.00000, perimeter = 448.84000, major_axis_length = 191.80428, minor_axis_length = 80.65459, eccentricity = 0.90729, convex_area = 12313.00000, extent = 0.61786, type = O + area = 16603.00000, perimeter = 513.52301, major_axis_length = 213.52026, minor_axis_length = 99.96153, eccentricity = 0.88364, convex_area = 16922.00000, extent = 0.60890, type = C + area = 15118.00000, perimeter = 514.96698, major_axis_length = 224.18660, minor_axis_length = 87.69224, eccentricity = 0.92032, convex_area = 15454.00000, extent = 0.65412, type = C + area = 13034.00000, perimeter = 474.36899, major_axis_length = 203.99585, minor_axis_length = 81.98090, eccentricity = 0.91569, convex_area = 13316.00000, extent = 0.61574, type = C + area = 13858.00000, perimeter = 482.57999, major_axis_length = 205.02016, minor_axis_length = 86.96468, eccentricity = 0.90558, convex_area = 14154.00000, extent = 0.55592, type = C + area = 11102.00000, perimeter = 425.97101, major_axis_length = 174.85110, minor_axis_length = 81.74403, eccentricity = 0.88399, convex_area = 11333.00000, extent = 0.70159, type = O + area = 14020.00000, perimeter = 488.58200, major_axis_length = 207.26518, minor_axis_length = 86.79780, eccentricity = 0.90809, convex_area = 14271.00000, extent = 0.55391, type = C + area = 11674.00000, perimeter = 425.07199, major_axis_length = 175.75723, minor_axis_length = 85.50616, eccentricity = 0.87368, convex_area = 11865.00000, extent = 0.64405, type = O + area = 16490.00000, perimeter = 520.31897, major_axis_length = 212.01076, minor_axis_length = 101.68001, eccentricity = 0.87749, convex_area = 16873.00000, extent = 0.62937, type = C + area = 12318.00000, perimeter = 448.68600, major_axis_length = 187.70100, minor_axis_length = 84.14412, eccentricity = 0.89389, convex_area = 12579.00000, extent = 0.58269, type = C + area = 9776.00000, perimeter = 403.67599, major_axis_length = 170.88005, minor_axis_length = 73.11127, eccentricity = 0.90385, convex_area = 9969.00000, extent = 0.64193, type = O + area = 12501.00000, perimeter = 451.79901, major_axis_length = 192.73880, minor_axis_length = 83.19506, eccentricity = 0.90204, convex_area = 12687.00000, extent = 0.71882, type = O + area = 12734.00000, perimeter = 470.61401, major_axis_length = 204.40291, minor_axis_length = 80.16530, eccentricity = 0.91988, convex_area = 12982.00000, extent = 0.71459, type = C + area = 11253.00000, perimeter = 422.87799, major_axis_length = 173.48373, minor_axis_length = 84.12681, eccentricity = 0.87456, convex_area = 11556.00000, extent = 0.75200, type = O + area = 10761.00000, perimeter = 429.01801, major_axis_length = 183.56711, minor_axis_length = 75.22785, eccentricity = 0.91217, convex_area = 11031.00000, extent = 0.57880, type = C + area = 11510.00000, perimeter = 433.51401, major_axis_length = 180.38232, minor_axis_length = 82.62196, eccentricity = 0.88893, convex_area = 11827.00000, extent = 0.76703, type = C + area = 13102.00000, perimeter = 479.27301, major_axis_length = 202.50768, minor_axis_length = 83.75623, eccentricity = 0.91046, convex_area = 13528.00000, extent = 0.61799, type = C + area = 13983.00000, perimeter = 483.66800, major_axis_length = 201.48521, minor_axis_length = 89.05701, eccentricity = 0.89701, convex_area = 14320.00000, extent = 0.56749, type = C + area = 11911.00000, perimeter = 441.06000, major_axis_length = 185.20558, minor_axis_length = 82.24365, eccentricity = 0.89599, convex_area = 12119.00000, extent = 0.58046, type = O + area = 13066.00000, perimeter = 458.26199, major_axis_length = 186.34586, minor_axis_length = 90.90146, eccentricity = 0.87295, convex_area = 13315.00000, extent = 0.61481, type = O + area = 14146.00000, perimeter = 504.35599, major_axis_length = 214.06288, minor_axis_length = 85.74496, eccentricity = 0.91627, convex_area = 14716.00000, extent = 0.62527, type = C + area = 11074.00000, perimeter = 426.52499, major_axis_length = 182.83189, minor_axis_length = 77.69914, eccentricity = 0.90520, convex_area = 11291.00000, extent = 0.74482, type = O + area = 12274.00000, perimeter = 456.12399, major_axis_length = 194.48738, minor_axis_length = 81.23903, eccentricity = 0.90858, convex_area = 12562.00000, extent = 0.70964, type = C + area = 15560.00000, perimeter = 502.96600, major_axis_length = 213.96318, minor_axis_length = 93.12080, eccentricity = 0.90032, convex_area = 15789.00000, extent = 0.78368, type = C + area = 15710.00000, perimeter = 517.07001, major_axis_length = 214.75021, minor_axis_length = 95.24736, eccentricity = 0.89626, convex_area = 16259.00000, extent = 0.60760, type = C + area = 10516.00000, perimeter = 423.39999, major_axis_length = 175.92067, minor_axis_length = 77.73805, eccentricity = 0.89707, convex_area = 10787.00000, extent = 0.63687, type = O + area = 12234.00000, perimeter = 449.38000, major_axis_length = 188.62593, minor_axis_length = 83.90933, eccentricity = 0.89561, convex_area = 12492.00000, extent = 0.59475, type = C + area = 15545.00000, perimeter = 510.28400, major_axis_length = 213.43665, minor_axis_length = 93.55502, eccentricity = 0.89882, convex_area = 15909.00000, extent = 0.56817, type = C + area = 15907.00000, perimeter = 527.34998, major_axis_length = 226.89301, minor_axis_length = 90.79047, eccentricity = 0.91645, convex_area = 16288.00000, extent = 0.57385, type = C + area = 11398.00000, perimeter = 431.73999, major_axis_length = 179.46735, minor_axis_length = 81.84264, eccentricity = 0.88996, convex_area = 11627.00000, extent = 0.59402, type = O + area = 10937.00000, perimeter = 424.58600, major_axis_length = 177.16705, minor_axis_length = 79.75700, eccentricity = 0.89294, convex_area = 11103.00000, extent = 0.59521, type = C + area = 18913.00000, perimeter = 541.74597, major_axis_length = 227.13548, minor_axis_length = 106.94836, eccentricity = 0.88221, convex_area = 19099.00000, extent = 0.80412, type = C + area = 14601.00000, perimeter = 476.22601, major_axis_length = 192.60654, minor_axis_length = 97.93214, eccentricity = 0.86109, convex_area = 14815.00000, extent = 0.62784, type = C + area = 11327.00000, perimeter = 422.68500, major_axis_length = 175.85306, minor_axis_length = 82.81971, eccentricity = 0.88215, convex_area = 11475.00000, extent = 0.59631, type = O + area = 14561.00000, perimeter = 487.65100, major_axis_length = 202.91121, minor_axis_length = 92.16224, eccentricity = 0.89090, convex_area = 14862.00000, extent = 0.70038, type = O + area = 14806.00000, perimeter = 481.91199, major_axis_length = 198.24391, minor_axis_length = 95.78670, eccentricity = 0.87552, convex_area = 15162.00000, extent = 0.70104, type = C + area = 11961.00000, perimeter = 448.56500, major_axis_length = 189.18015, minor_axis_length = 81.78645, eccentricity = 0.90172, convex_area = 12275.00000, extent = 0.75340, type = O + area = 11543.00000, perimeter = 428.60199, major_axis_length = 175.37068, minor_axis_length = 85.05824, eccentricity = 0.87450, convex_area = 11859.00000, extent = 0.67107, type = O + area = 17353.00000, perimeter = 539.03400, major_axis_length = 220.96120, minor_axis_length = 101.45410, eccentricity = 0.88836, convex_area = 17845.00000, extent = 0.63031, type = C + area = 11016.00000, perimeter = 416.89700, major_axis_length = 174.62755, minor_axis_length = 81.19022, eccentricity = 0.88535, convex_area = 11149.00000, extent = 0.58696, type = O + area = 14945.00000, perimeter = 493.10800, major_axis_length = 202.04698, minor_axis_length = 95.07941, eccentricity = 0.88236, convex_area = 15357.00000, extent = 0.74000, type = C + area = 15694.00000, perimeter = 506.50601, major_axis_length = 211.83493, minor_axis_length = 96.02247, eccentricity = 0.89136, convex_area = 16010.00000, extent = 0.57654, type = C + area = 14753.00000, perimeter = 495.26001, major_axis_length = 203.72470, minor_axis_length = 93.18322, eccentricity = 0.88926, convex_area = 15153.00000, extent = 0.63465, type = O + area = 15926.00000, perimeter = 522.73999, major_axis_length = 225.73605, minor_axis_length = 91.05709, eccentricity = 0.91503, convex_area = 16240.00000, extent = 0.77977, type = C + area = 14189.00000, perimeter = 483.93701, major_axis_length = 203.37759, minor_axis_length = 90.07769, eccentricity = 0.89657, convex_area = 14538.00000, extent = 0.71312, type = C + area = 9638.00000, perimeter = 398.91199, major_axis_length = 168.10983, minor_axis_length = 73.46514, eccentricity = 0.89946, convex_area = 9798.00000, extent = 0.72575, type = O + area = 10221.00000, perimeter = 405.29999, major_axis_length = 168.63374, minor_axis_length = 78.04261, eccentricity = 0.88647, convex_area = 10368.00000, extent = 0.60272, type = O + area = 15975.00000, perimeter = 522.80402, major_axis_length = 218.41768, minor_axis_length = 94.04413, eccentricity = 0.90256, convex_area = 16290.00000, extent = 0.56764, type = C + area = 13362.00000, perimeter = 460.07001, major_axis_length = 186.35324, minor_axis_length = 92.15919, eccentricity = 0.86915, convex_area = 13612.00000, extent = 0.74102, type = O + area = 11444.00000, perimeter = 424.36899, major_axis_length = 174.22066, minor_axis_length = 84.26457, eccentricity = 0.87525, convex_area = 11638.00000, extent = 0.65657, type = O + area = 12274.00000, perimeter = 441.85300, major_axis_length = 179.85391, minor_axis_length = 87.76014, eccentricity = 0.87287, convex_area = 12587.00000, extent = 0.61598, type = O + area = 11912.00000, perimeter = 430.37100, major_axis_length = 177.48221, minor_axis_length = 86.58568, eccentricity = 0.87292, convex_area = 12119.00000, extent = 0.72238, type = O + area = 12043.00000, perimeter = 442.07001, major_axis_length = 181.10954, minor_axis_length = 85.57944, eccentricity = 0.88132, convex_area = 12276.00000, extent = 0.60017, type = O + area = 15862.00000, perimeter = 507.54800, major_axis_length = 214.87325, minor_axis_length = 94.80012, eccentricity = 0.89741, convex_area = 16098.00000, extent = 0.80834, type = C + area = 16582.00000, perimeter = 532.35797, major_axis_length = 223.35884, minor_axis_length = 95.74972, eccentricity = 0.90346, convex_area = 17089.00000, extent = 0.71431, type = C + area = 9944.00000, perimeter = 407.36099, major_axis_length = 169.64474, minor_axis_length = 75.97414, eccentricity = 0.89411, convex_area = 10212.00000, extent = 0.55859, type = O + area = 12057.00000, perimeter = 448.44101, major_axis_length = 183.94496, minor_axis_length = 85.17786, eccentricity = 0.88633, convex_area = 12295.00000, extent = 0.73268, type = O + area = 12349.00000, perimeter = 452.00900, major_axis_length = 187.96873, minor_axis_length = 84.54865, eccentricity = 0.89313, convex_area = 12646.00000, extent = 0.58576, type = O + area = 13970.00000, perimeter = 494.62900, major_axis_length = 210.52756, minor_axis_length = 85.43404, eccentricity = 0.91396, convex_area = 14308.00000, extent = 0.55054, type = C + area = 10168.00000, perimeter = 400.47800, major_axis_length = 162.56297, minor_axis_length = 81.08891, eccentricity = 0.86671, convex_area = 10424.00000, extent = 0.62373, type = O + area = 10713.00000, perimeter = 443.40399, major_axis_length = 192.88618, minor_axis_length = 71.78690, eccentricity = 0.92816, convex_area = 10969.00000, extent = 0.69610, type = O + area = 11573.00000, perimeter = 427.28101, major_axis_length = 176.78906, minor_axis_length = 84.64529, eccentricity = 0.87793, convex_area = 11828.00000, extent = 0.60684, type = O + area = 12661.00000, perimeter = 436.92200, major_axis_length = 174.83229, minor_axis_length = 93.07770, eccentricity = 0.84650, convex_area = 12898.00000, extent = 0.70198, type = O + area = 13457.00000, perimeter = 483.61401, major_axis_length = 211.01250, minor_axis_length = 81.87440, eccentricity = 0.92166, convex_area = 13763.00000, extent = 0.67312, type = C + area = 14368.00000, perimeter = 491.56299, major_axis_length = 211.29707, minor_axis_length = 87.20802, eccentricity = 0.91085, convex_area = 14596.00000, extent = 0.62442, type = C + area = 11972.00000, perimeter = 433.09201, major_axis_length = 177.81424, minor_axis_length = 86.38818, eccentricity = 0.87405, convex_area = 12249.00000, extent = 0.71441, type = O + area = 14289.00000, perimeter = 488.48499, major_axis_length = 208.57388, minor_axis_length = 88.30962, eccentricity = 0.90594, convex_area = 14572.00000, extent = 0.79207, type = C + area = 12563.00000, perimeter = 444.86899, major_axis_length = 183.22375, minor_axis_length = 88.04948, eccentricity = 0.87696, convex_area = 12767.00000, extent = 0.76697, type = O + area = 16799.00000, perimeter = 524.24701, major_axis_length = 218.34256, minor_axis_length = 99.16318, eccentricity = 0.89092, convex_area = 17283.00000, extent = 0.62371, type = C + area = 10412.00000, perimeter = 408.72000, major_axis_length = 163.75291, minor_axis_length = 82.41429, eccentricity = 0.86412, convex_area = 10735.00000, extent = 0.68931, type = O + area = 14588.00000, perimeter = 502.56900, major_axis_length = 214.89561, minor_axis_length = 88.20730, eccentricity = 0.91188, convex_area = 14923.00000, extent = 0.53615, type = C + area = 12647.00000, perimeter = 451.05600, major_axis_length = 180.34435, minor_axis_length = 91.42809, eccentricity = 0.86197, convex_area = 13120.00000, extent = 0.65860, type = O + area = 13404.00000, perimeter = 468.21500, major_axis_length = 191.54842, minor_axis_length = 90.53830, eccentricity = 0.88124, convex_area = 13804.00000, extent = 0.70651, type = C + area = 13023.00000, perimeter = 480.44800, major_axis_length = 205.31209, minor_axis_length = 82.03385, eccentricity = 0.91671, convex_area = 13444.00000, extent = 0.63243, type = C + area = 11251.00000, perimeter = 422.11700, major_axis_length = 171.55084, minor_axis_length = 84.83971, eccentricity = 0.86915, convex_area = 11538.00000, extent = 0.76061, type = O + area = 11585.00000, perimeter = 428.37299, major_axis_length = 171.56198, minor_axis_length = 87.44052, eccentricity = 0.86037, convex_area = 11939.00000, extent = 0.60890, type = O + area = 15389.00000, perimeter = 521.30402, major_axis_length = 226.96100, minor_axis_length = 87.38693, eccentricity = 0.92290, convex_area = 15753.00000, extent = 0.57465, type = C + area = 15360.00000, perimeter = 504.23199, major_axis_length = 210.39075, minor_axis_length = 94.74096, eccentricity = 0.89287, convex_area = 15751.00000, extent = 0.75766, type = C + area = 13021.00000, perimeter = 455.97699, major_axis_length = 185.10437, minor_axis_length = 91.06282, eccentricity = 0.87062, convex_area = 13380.00000, extent = 0.70066, type = O + area = 12418.00000, perimeter = 453.04599, major_axis_length = 187.82121, minor_axis_length = 85.17219, eccentricity = 0.89127, convex_area = 12719.00000, extent = 0.77998, type = O + area = 11794.00000, perimeter = 422.10199, major_axis_length = 169.28566, minor_axis_length = 89.53071, eccentricity = 0.84870, convex_area = 12026.00000, extent = 0.76396, type = O + area = 9426.00000, perimeter = 402.70999, major_axis_length = 175.97429, minor_axis_length = 68.60754, eccentricity = 0.92087, convex_area = 9578.00000, extent = 0.57743, type = O + area = 15373.00000, perimeter = 489.13101, major_axis_length = 200.14091, minor_axis_length = 98.96591, eccentricity = 0.86919, convex_area = 15617.00000, extent = 0.77641, type = C + area = 13501.00000, perimeter = 485.75601, major_axis_length = 205.77101, minor_axis_length = 84.90839, eccentricity = 0.91090, convex_area = 13896.00000, extent = 0.65852, type = C + area = 13295.00000, perimeter = 465.33301, major_axis_length = 187.37976, minor_axis_length = 91.90883, eccentricity = 0.87144, convex_area = 13633.00000, extent = 0.61245, type = O + area = 15375.00000, perimeter = 494.31601, major_axis_length = 204.47073, minor_axis_length = 96.98161, eccentricity = 0.88036, convex_area = 15631.00000, extent = 0.73918, type = C + area = 11742.00000, perimeter = 439.75601, major_axis_length = 183.10056, minor_axis_length = 83.15661, eccentricity = 0.89092, convex_area = 12016.00000, extent = 0.57222, type = O + area = 10380.00000, perimeter = 399.05301, major_axis_length = 161.87367, minor_axis_length = 82.76502, eccentricity = 0.85941, convex_area = 10606.00000, extent = 0.68596, type = O + area = 10267.00000, perimeter = 424.94901, major_axis_length = 182.40912, minor_axis_length = 72.53786, eccentricity = 0.91753, convex_area = 10455.00000, extent = 0.54743, type = O + area = 9903.00000, perimeter = 398.66800, major_axis_length = 163.00584, minor_axis_length = 79.13223, eccentricity = 0.87426, convex_area = 10152.00000, extent = 0.59442, type = O + area = 11224.00000, perimeter = 424.74701, major_axis_length = 174.42145, minor_axis_length = 83.19823, eccentricity = 0.87891, convex_area = 11544.00000, extent = 0.71345, type = O + area = 11508.00000, perimeter = 429.20401, major_axis_length = 178.31401, minor_axis_length = 83.02278, eccentricity = 0.88500, convex_area = 11772.00000, extent = 0.78844, type = O + area = 11221.00000, perimeter = 418.56100, major_axis_length = 168.14250, minor_axis_length = 85.76485, eccentricity = 0.86013, convex_area = 11455.00000, extent = 0.76772, type = O + area = 14314.00000, perimeter = 484.73099, major_axis_length = 206.86554, minor_axis_length = 88.56290, eccentricity = 0.90372, convex_area = 14536.00000, extent = 0.75337, type = C + area = 13574.00000, perimeter = 488.49701, major_axis_length = 210.68631, minor_axis_length = 83.74447, eccentricity = 0.91761, convex_area = 13856.00000, extent = 0.55168, type = C + area = 13494.00000, perimeter = 479.44601, major_axis_length = 203.02734, minor_axis_length = 85.75127, eccentricity = 0.90643, convex_area = 13842.00000, extent = 0.77294, type = C + area = 10025.00000, perimeter = 400.51099, major_axis_length = 167.56352, minor_axis_length = 77.07865, eccentricity = 0.88792, convex_area = 10181.00000, extent = 0.59503, type = O + area = 11004.00000, perimeter = 412.22699, major_axis_length = 171.55356, minor_axis_length = 82.59552, eccentricity = 0.87647, convex_area = 11199.00000, extent = 0.69893, type = O + area = 13221.00000, perimeter = 448.64499, major_axis_length = 181.13892, minor_axis_length = 93.82220, eccentricity = 0.85541, convex_area = 13378.00000, extent = 0.62540, type = O + area = 13047.00000, perimeter = 486.36899, major_axis_length = 213.19447, minor_axis_length = 79.28887, eccentricity = 0.92827, convex_area = 13621.00000, extent = 0.61542, type = C + area = 14601.00000, perimeter = 505.24899, major_axis_length = 215.93439, minor_axis_length = 86.75872, eccentricity = 0.91574, convex_area = 14991.00000, extent = 0.66854, type = C + area = 11136.00000, perimeter = 417.76700, major_axis_length = 170.42235, minor_axis_length = 84.60592, eccentricity = 0.86807, convex_area = 11384.00000, extent = 0.78461, type = O + area = 13010.00000, perimeter = 450.56100, major_axis_length = 186.14745, minor_axis_length = 90.26014, eccentricity = 0.87458, convex_area = 13184.00000, extent = 0.63337, type = O + area = 12688.00000, perimeter = 466.83801, major_axis_length = 193.78667, minor_axis_length = 84.37170, eccentricity = 0.90024, convex_area = 12956.00000, extent = 0.60190, type = C + area = 12198.00000, perimeter = 432.02701, major_axis_length = 176.99544, minor_axis_length = 88.56769, eccentricity = 0.86580, convex_area = 12400.00000, extent = 0.74949, type = O + area = 11080.00000, perimeter = 424.76901, major_axis_length = 175.18169, minor_axis_length = 81.33550, eccentricity = 0.88568, convex_area = 11337.00000, extent = 0.58291, type = O + area = 11809.00000, perimeter = 433.05399, major_axis_length = 170.87122, minor_axis_length = 89.48264, eccentricity = 0.85191, convex_area = 12129.00000, extent = 0.61743, type = O + area = 9967.00000, perimeter = 400.21899, major_axis_length = 167.23888, minor_axis_length = 76.96323, eccentricity = 0.88782, convex_area = 10128.00000, extent = 0.66464, type = O + area = 13476.00000, perimeter = 478.28299, major_axis_length = 199.02327, minor_axis_length = 87.92966, eccentricity = 0.89711, convex_area = 13931.00000, extent = 0.59917, type = C + area = 12093.00000, perimeter = 432.82800, major_axis_length = 176.82031, minor_axis_length = 88.09727, eccentricity = 0.86704, convex_area = 12351.00000, extent = 0.70513, type = O + area = 13677.00000, perimeter = 494.63501, major_axis_length = 219.59956, minor_axis_length = 79.63166, eccentricity = 0.93194, convex_area = 13936.00000, extent = 0.53210, type = C + area = 16412.00000, perimeter = 508.36700, major_axis_length = 210.57486, minor_axis_length = 99.99418, eccentricity = 0.88006, convex_area = 16759.00000, extent = 0.73059, type = C + area = 12404.00000, perimeter = 454.38400, major_axis_length = 186.07597, minor_axis_length = 85.98782, eccentricity = 0.88682, convex_area = 12659.00000, extent = 0.57299, type = O + area = 10228.00000, perimeter = 403.89099, major_axis_length = 164.95042, minor_axis_length = 79.70547, eccentricity = 0.87551, convex_area = 10475.00000, extent = 0.64977, type = O + area = 10612.00000, perimeter = 413.85599, major_axis_length = 169.87917, minor_axis_length = 80.89677, eccentricity = 0.87934, convex_area = 10924.00000, extent = 0.67199, type = O + area = 14331.00000, perimeter = 495.14301, major_axis_length = 212.02896, minor_axis_length = 86.86129, eccentricity = 0.91224, convex_area = 14723.00000, extent = 0.66578, type = C + area = 12406.00000, perimeter = 441.87799, major_axis_length = 177.86269, minor_axis_length = 90.56725, eccentricity = 0.86065, convex_area = 12864.00000, extent = 0.62386, type = O + area = 10191.00000, perimeter = 419.57901, major_axis_length = 174.73424, minor_axis_length = 75.53467, eccentricity = 0.90174, convex_area = 10470.00000, extent = 0.62733, type = O + area = 12373.00000, perimeter = 438.88101, major_axis_length = 175.82730, minor_axis_length = 90.91232, eccentricity = 0.85595, convex_area = 12622.00000, extent = 0.76818, type = O + area = 12282.00000, perimeter = 430.76099, major_axis_length = 173.74225, minor_axis_length = 90.91860, eccentricity = 0.85215, convex_area = 12484.00000, extent = 0.66439, type = O + area = 11095.00000, perimeter = 423.24100, major_axis_length = 170.15504, minor_axis_length = 84.61758, eccentricity = 0.86758, convex_area = 11350.00000, extent = 0.77236, type = O + area = 10201.00000, perimeter = 403.30701, major_axis_length = 166.23384, minor_axis_length = 78.98984, eccentricity = 0.87989, convex_area = 10432.00000, extent = 0.60971, type = O + area = 12711.00000, perimeter = 470.16299, major_axis_length = 196.36380, minor_axis_length = 83.78096, eccentricity = 0.90441, convex_area = 13007.00000, extent = 0.56045, type = C + area = 11101.00000, perimeter = 418.03299, major_axis_length = 169.87318, minor_axis_length = 84.64671, eccentricity = 0.86701, convex_area = 11340.00000, extent = 0.65960, type = O + area = 14398.00000, perimeter = 487.72400, major_axis_length = 210.09169, minor_axis_length = 87.59720, eccentricity = 0.90893, convex_area = 14654.00000, extent = 0.78532, type = C + area = 14944.00000, perimeter = 490.04401, major_axis_length = 201.34654, minor_axis_length = 96.04632, eccentricity = 0.87889, convex_area = 15305.00000, extent = 0.61066, type = C + area = 10719.00000, perimeter = 422.37399, major_axis_length = 173.34386, minor_axis_length = 80.02293, eccentricity = 0.88707, convex_area = 11007.00000, extent = 0.76657, type = O + area = 14928.00000, perimeter = 499.39301, major_axis_length = 212.40379, minor_axis_length = 90.70808, eccentricity = 0.90423, convex_area = 15269.00000, extent = 0.79744, type = C + area = 14608.00000, perimeter = 498.35199, major_axis_length = 210.69138, minor_axis_length = 89.91737, eccentricity = 0.90436, convex_area = 14951.00000, extent = 0.65980, type = C + area = 9584.00000, perimeter = 390.00400, major_axis_length = 162.29663, minor_axis_length = 75.98748, eccentricity = 0.88362, convex_area = 9757.00000, extent = 0.80946, type = O + area = 13698.00000, perimeter = 478.59900, major_axis_length = 199.06026, minor_axis_length = 88.78965, eccentricity = 0.89501, convex_area = 13932.00000, extent = 0.57559, type = C + area = 11332.00000, perimeter = 428.60599, major_axis_length = 173.06047, minor_axis_length = 84.94743, eccentricity = 0.87124, convex_area = 11628.00000, extent = 0.59818, type = O + area = 13091.00000, perimeter = 473.15201, major_axis_length = 203.86270, minor_axis_length = 82.55070, eccentricity = 0.91435, convex_area = 13451.00000, extent = 0.75236, type = C + area = 11675.00000, perimeter = 429.13000, major_axis_length = 173.41820, minor_axis_length = 86.83406, eccentricity = 0.86561, convex_area = 11888.00000, extent = 0.73734, type = O + area = 13760.00000, perimeter = 474.18799, major_axis_length = 198.39156, minor_axis_length = 89.04605, eccentricity = 0.89361, convex_area = 13989.00000, extent = 0.63375, type = C + area = 15583.00000, perimeter = 504.18301, major_axis_length = 207.84683, minor_axis_length = 96.91176, eccentricity = 0.88464, convex_area = 15906.00000, extent = 0.68539, type = C + area = 11322.00000, perimeter = 415.88599, major_axis_length = 169.72362, minor_axis_length = 85.80435, eccentricity = 0.86280, convex_area = 11512.00000, extent = 0.61426, type = O + area = 12158.00000, perimeter = 441.47800, major_axis_length = 182.28729, minor_axis_length = 85.52101, eccentricity = 0.88312, convex_area = 12359.00000, extent = 0.71551, type = C + area = 13742.00000, perimeter = 493.85400, major_axis_length = 212.60800, minor_axis_length = 84.88686, eccentricity = 0.91684, convex_area = 14272.00000, extent = 0.58323, type = C + area = 11088.00000, perimeter = 421.15701, major_axis_length = 169.42094, minor_axis_length = 85.37567, eccentricity = 0.86375, convex_area = 11373.00000, extent = 0.75413, type = O + area = 12526.00000, perimeter = 439.22198, major_axis_length = 178.21603, minor_axis_length = 90.40445, eccentricity = 0.86178, convex_area = 12819.00000, extent = 0.66895, type = O + area = 14418.00000, perimeter = 480.32300, major_axis_length = 199.11844, minor_axis_length = 93.31120, eccentricity = 0.88340, convex_area = 14780.00000, extent = 0.75852, type = C + area = 11771.00000, perimeter = 430.47000, major_axis_length = 181.30299, minor_axis_length = 83.21957, eccentricity = 0.88843, convex_area = 11919.00000, extent = 0.79674, type = O + area = 14050.00000, perimeter = 481.25101, major_axis_length = 191.82385, minor_axis_length = 95.06197, eccentricity = 0.86857, convex_area = 14600.00000, extent = 0.60770, type = C + area = 11546.00000, perimeter = 429.52399, major_axis_length = 175.65869, minor_axis_length = 84.90682, eccentricity = 0.87542, convex_area = 11757.00000, extent = 0.60631, type = O + area = 13787.00000, perimeter = 476.89600, major_axis_length = 201.33832, minor_axis_length = 88.16448, eccentricity = 0.89903, convex_area = 14045.00000, extent = 0.57599, type = C + area = 12171.00000, perimeter = 431.94901, major_axis_length = 174.38002, minor_axis_length = 90.05058, eccentricity = 0.85634, convex_area = 12366.00000, extent = 0.61882, type = O + area = 10427.00000, perimeter = 408.15701, major_axis_length = 164.55423, minor_axis_length = 81.85787, eccentricity = 0.86749, convex_area = 10689.00000, extent = 0.79510, type = O + area = 12867.00000, perimeter = 449.07999, major_axis_length = 181.70056, minor_axis_length = 91.34106, eccentricity = 0.86446, convex_area = 13152.00000, extent = 0.64906, type = O + area = 12237.00000, perimeter = 438.15601, major_axis_length = 178.05893, minor_axis_length = 88.28736, eccentricity = 0.86842, convex_area = 12489.00000, extent = 0.63084, type = O + area = 12364.00000, perimeter = 442.85501, major_axis_length = 175.35739, minor_axis_length = 91.60603, eccentricity = 0.85270, convex_area = 12679.00000, extent = 0.61789, type = O + area = 12266.00000, perimeter = 438.82300, major_axis_length = 178.84244, minor_axis_length = 88.80107, eccentricity = 0.86802, convex_area = 12554.00000, extent = 0.76999, type = O + area = 11817.00000, perimeter = 426.60199, major_axis_length = 179.56543, minor_axis_length = 84.24079, eccentricity = 0.88313, convex_area = 11977.00000, extent = 0.65738, type = O + area = 14617.00000, perimeter = 495.45001, major_axis_length = 207.31589, minor_axis_length = 90.70747, eccentricity = 0.89920, convex_area = 14950.00000, extent = 0.63791, type = C + area = 12653.00000, perimeter = 441.49399, major_axis_length = 176.01511, minor_axis_length = 93.18790, eccentricity = 0.84835, convex_area = 12955.00000, extent = 0.76481, type = O + area = 14229.00000, perimeter = 485.11899, major_axis_length = 206.59769, minor_axis_length = 88.72133, eccentricity = 0.90310, convex_area = 14455.00000, extent = 0.74517, type = C + area = 11780.00000, perimeter = 444.99200, major_axis_length = 190.96028, minor_axis_length = 78.85174, eccentricity = 0.91077, convex_area = 11956.00000, extent = 0.78070, type = O + area = 13589.00000, perimeter = 483.88400, major_axis_length = 205.35475, minor_axis_length = 85.41032, eccentricity = 0.90940, convex_area = 13883.00000, extent = 0.54574, type = C + area = 17082.00000, perimeter = 548.44598, major_axis_length = 230.18872, minor_axis_length = 95.75758, eccentricity = 0.90937, convex_area = 17576.00000, extent = 0.59247, type = C + area = 14952.00000, perimeter = 488.63000, major_axis_length = 203.00296, minor_axis_length = 94.55453, eccentricity = 0.88490, convex_area = 15187.00000, extent = 0.61561, type = C + area = 10638.00000, perimeter = 407.20700, major_axis_length = 168.55212, minor_axis_length = 81.18849, eccentricity = 0.87635, convex_area = 10834.00000, extent = 0.67581, type = O + area = 13495.00000, perimeter = 466.95901, major_axis_length = 196.39554, minor_axis_length = 88.21306, eccentricity = 0.89345, convex_area = 13725.00000, extent = 0.68958, type = C + area = 9236.00000, perimeter = 394.34100, major_axis_length = 160.92889, minor_axis_length = 74.24968, eccentricity = 0.88720, convex_area = 9465.00000, extent = 0.57739, type = O + area = 11489.00000, perimeter = 432.20700, major_axis_length = 182.36238, minor_axis_length = 81.07018, eccentricity = 0.89575, convex_area = 11683.00000, extent = 0.79907, type = O + area = 15977.00000, perimeter = 516.20898, major_axis_length = 216.75784, minor_axis_length = 94.92934, eccentricity = 0.89900, convex_area = 16401.00000, extent = 0.62751, type = C + area = 15713.00000, perimeter = 518.45203, major_axis_length = 218.76726, minor_axis_length = 92.42918, eccentricity = 0.90636, convex_area = 16038.00000, extent = 0.58352, type = C + area = 11945.00000, perimeter = 414.14600, major_axis_length = 162.35278, minor_axis_length = 94.94728, eccentricity = 0.81116, convex_area = 12106.00000, extent = 0.79777, type = O + area = 14850.00000, perimeter = 498.44299, major_axis_length = 213.76128, minor_axis_length = 88.98867, eccentricity = 0.90923, convex_area = 15071.00000, extent = 0.69650, type = C + area = 12982.00000, perimeter = 466.15701, major_axis_length = 200.51947, minor_axis_length = 82.79620, eccentricity = 0.91077, convex_area = 13188.00000, extent = 0.62228, type = C + area = 13148.00000, perimeter = 481.72198, major_axis_length = 201.51889, minor_axis_length = 84.54153, eccentricity = 0.90775, convex_area = 13572.00000, extent = 0.62375, type = C + area = 11168.00000, perimeter = 440.86301, major_axis_length = 182.78328, minor_axis_length = 79.52693, eccentricity = 0.90039, convex_area = 11628.00000, extent = 0.54710, type = O + area = 14851.00000, perimeter = 517.34698, major_axis_length = 217.69839, minor_axis_length = 88.81025, eccentricity = 0.91300, convex_area = 15256.00000, extent = 0.72806, type = C + area = 13655.00000, perimeter = 471.52499, major_axis_length = 193.19618, minor_axis_length = 91.55775, eccentricity = 0.88057, convex_area = 14053.00000, extent = 0.71098, type = C + area = 11614.00000, perimeter = 437.65601, major_axis_length = 184.90213, minor_axis_length = 81.87991, eccentricity = 0.89661, convex_area = 11812.00000, extent = 0.81812, type = O + area = 12326.00000, perimeter = 441.58499, major_axis_length = 179.06638, minor_axis_length = 89.27005, eccentricity = 0.86687, convex_area = 12673.00000, extent = 0.76516, type = O + area = 11065.00000, perimeter = 416.08401, major_axis_length = 172.18120, minor_axis_length = 82.18488, eccentricity = 0.87873, convex_area = 11222.00000, extent = 0.61788, type = O + area = 11908.00000, perimeter = 447.63400, major_axis_length = 187.82114, minor_axis_length = 81.94851, eccentricity = 0.89980, convex_area = 12287.00000, extent = 0.58031, type = O + area = 12344.00000, perimeter = 466.84201, major_axis_length = 204.10878, minor_axis_length = 77.81432, eccentricity = 0.92448, convex_area = 12596.00000, extent = 0.72128, type = C + area = 11790.00000, perimeter = 444.34299, major_axis_length = 184.42249, minor_axis_length = 82.44761, eccentricity = 0.89450, convex_area = 12103.00000, extent = 0.59606, type = O + area = 13469.00000, perimeter = 475.08701, major_axis_length = 203.24782, minor_axis_length = 84.86798, eccentricity = 0.90865, convex_area = 13739.00000, extent = 0.72778, type = C + area = 12831.00000, perimeter = 455.24200, major_axis_length = 187.26712, minor_axis_length = 88.07062, eccentricity = 0.88251, convex_area = 13084.00000, extent = 0.61652, type = O + area = 14686.00000, perimeter = 503.69000, major_axis_length = 212.25868, minor_axis_length = 89.78369, eccentricity = 0.90613, convex_area = 15003.00000, extent = 0.55215, type = C + area = 13688.00000, perimeter = 481.31400, major_axis_length = 204.30884, minor_axis_length = 86.37804, eccentricity = 0.90623, convex_area = 14024.00000, extent = 0.78939, type = C + area = 12075.00000, perimeter = 430.47101, major_axis_length = 176.18282, minor_axis_length = 88.51406, eccentricity = 0.86464, convex_area = 12248.00000, extent = 0.80233, type = O + area = 14621.00000, perimeter = 501.82501, major_axis_length = 210.91649, minor_axis_length = 89.62993, eccentricity = 0.90521, convex_area = 15175.00000, extent = 0.68908, type = C + area = 14955.00000, perimeter = 508.71701, major_axis_length = 217.98155, minor_axis_length = 88.61218, eccentricity = 0.91365, convex_area = 15363.00000, extent = 0.56941, type = C + area = 11090.00000, perimeter = 416.01401, major_axis_length = 174.90944, minor_axis_length = 81.36546, eccentricity = 0.88521, convex_area = 11277.00000, extent = 0.74171, type = O + area = 10527.00000, perimeter = 403.34799, major_axis_length = 163.06924, minor_axis_length = 83.84019, eccentricity = 0.85771, convex_area = 10725.00000, extent = 0.63504, type = O + area = 9798.00000, perimeter = 416.66800, major_axis_length = 182.42519, minor_axis_length = 69.40627, eccentricity = 0.92480, convex_area = 9994.00000, extent = 0.58671, type = O + area = 16094.00000, perimeter = 504.12601, major_axis_length = 208.37119, minor_axis_length = 99.03030, eccentricity = 0.87985, convex_area = 16325.00000, extent = 0.64853, type = C + area = 12164.00000, perimeter = 435.08600, major_axis_length = 177.58580, minor_axis_length = 88.19933, eccentricity = 0.86795, convex_area = 12354.00000, extent = 0.71022, type = O + area = 11511.00000, perimeter = 439.51300, major_axis_length = 183.24234, minor_axis_length = 81.79848, eccentricity = 0.89484, convex_area = 11736.00000, extent = 0.57317, type = O + area = 11139.00000, perimeter = 419.44800, major_axis_length = 172.12558, minor_axis_length = 83.78207, eccentricity = 0.87354, convex_area = 11442.00000, extent = 0.62890, type = O + area = 13425.00000, perimeter = 477.19800, major_axis_length = 199.75636, minor_axis_length = 86.64097, eccentricity = 0.90104, convex_area = 13784.00000, extent = 0.61167, type = C + area = 12267.00000, perimeter = 438.26401, major_axis_length = 175.59097, minor_axis_length = 90.18748, eccentricity = 0.85802, convex_area = 12519.00000, extent = 0.62408, type = O + area = 13186.00000, perimeter = 477.33401, major_axis_length = 201.59677, minor_axis_length = 84.66999, eccentricity = 0.90753, convex_area = 13516.00000, extent = 0.54183, type = C + area = 12314.00000, perimeter = 440.14600, major_axis_length = 180.83665, minor_axis_length = 87.92054, eccentricity = 0.87385, convex_area = 12587.00000, extent = 0.80484, type = O + area = 11274.00000, perimeter = 425.05499, major_axis_length = 173.38033, minor_axis_length = 83.83379, eccentricity = 0.87533, convex_area = 11526.00000, extent = 0.65277, type = O + area = 12467.00000, perimeter = 467.20599, major_axis_length = 199.80615, minor_axis_length = 80.19141, eccentricity = 0.91593, convex_area = 12900.00000, extent = 0.78706, type = C + area = 13484.00000, perimeter = 468.86899, major_axis_length = 195.42339, minor_axis_length = 88.78389, eccentricity = 0.89084, convex_area = 13786.00000, extent = 0.72401, type = C + area = 15136.00000, perimeter = 518.64398, major_axis_length = 221.70911, minor_axis_length = 88.20763, eccentricity = 0.91745, convex_area = 15469.00000, extent = 0.52971, type = C + area = 13057.00000, perimeter = 445.17700, major_axis_length = 177.80782, minor_axis_length = 94.50707, eccentricity = 0.84705, convex_area = 13348.00000, extent = 0.64336, type = O + area = 15007.00000, perimeter = 500.30701, major_axis_length = 210.71776, minor_axis_length = 92.17046, eccentricity = 0.89926, convex_area = 15431.00000, extent = 0.58077, type = C + area = 11983.00000, perimeter = 432.43900, major_axis_length = 172.42494, minor_axis_length = 89.33904, eccentricity = 0.85530, convex_area = 12238.00000, extent = 0.70084, type = O + area = 12570.00000, perimeter = 450.85901, major_axis_length = 178.96025, minor_axis_length = 91.11516, eccentricity = 0.86069, convex_area = 12886.00000, extent = 0.61049, type = O + area = 10851.00000, perimeter = 408.92999, major_axis_length = 168.00822, minor_axis_length = 83.32895, eccentricity = 0.86833, convex_area = 11007.00000, extent = 0.61555, type = O + area = 13902.00000, perimeter = 479.23199, major_axis_length = 201.11488, minor_axis_length = 89.12859, eccentricity = 0.89644, convex_area = 14202.00000, extent = 0.69870, type = C + area = 11322.00000, perimeter = 415.48599, major_axis_length = 165.34834, minor_axis_length = 88.39619, eccentricity = 0.84510, convex_area = 11545.00000, extent = 0.65069, type = O + area = 13782.00000, perimeter = 471.13101, major_axis_length = 194.43834, minor_axis_length = 90.97846, eccentricity = 0.88378, convex_area = 14000.00000, extent = 0.59662, type = C + area = 10297.00000, perimeter = 426.22198, major_axis_length = 180.04320, minor_axis_length = 73.69880, eccentricity = 0.91238, convex_area = 10621.00000, extent = 0.56453, type = O + area = 11928.00000, perimeter = 439.91901, major_axis_length = 181.03484, minor_axis_length = 85.22491, eccentricity = 0.88226, convex_area = 12218.00000, extent = 0.59061, type = O + area = 12590.00000, perimeter = 463.77600, major_axis_length = 197.37874, minor_axis_length = 82.68568, eccentricity = 0.90802, convex_area = 12880.00000, extent = 0.60654, type = O + area = 11490.00000, perimeter = 424.56201, major_axis_length = 172.40646, minor_axis_length = 85.88820, eccentricity = 0.86708, convex_area = 11733.00000, extent = 0.61427, type = O + area = 14755.00000, perimeter = 510.13800, major_axis_length = 218.69916, minor_axis_length = 86.81236, eccentricity = 0.91784, convex_area = 15025.00000, extent = 0.53333, type = C + area = 12188.00000, perimeter = 434.21301, major_axis_length = 171.75890, minor_axis_length = 91.43890, eccentricity = 0.84651, convex_area = 12529.00000, extent = 0.62196, type = O + area = 14589.00000, perimeter = 495.92999, major_axis_length = 210.28394, minor_axis_length = 89.42495, eccentricity = 0.90507, convex_area = 14853.00000, extent = 0.66510, type = C + area = 10488.00000, perimeter = 416.60901, major_axis_length = 175.39789, minor_axis_length = 77.31371, eccentricity = 0.89761, convex_area = 10720.00000, extent = 0.71757, type = O + area = 14897.00000, perimeter = 491.18500, major_axis_length = 205.71985, minor_axis_length = 92.87569, eccentricity = 0.89229, convex_area = 15137.00000, extent = 0.59445, type = C + area = 11593.00000, perimeter = 435.39099, major_axis_length = 182.15068, minor_axis_length = 81.85136, eccentricity = 0.89335, convex_area = 11845.00000, extent = 0.69286, type = O + area = 11428.00000, perimeter = 418.61499, major_axis_length = 168.17899, minor_axis_length = 87.29835, eccentricity = 0.85473, convex_area = 11589.00000, extent = 0.62829, type = O + area = 13888.00000, perimeter = 481.74799, major_axis_length = 205.74632, minor_axis_length = 87.00280, eccentricity = 0.90619, convex_area = 14178.00000, extent = 0.58510, type = C + area = 14819.00000, perimeter = 497.83499, major_axis_length = 210.37468, minor_axis_length = 90.70985, eccentricity = 0.90226, convex_area = 15119.00000, extent = 0.59068, type = C + area = 11467.00000, perimeter = 448.68301, major_axis_length = 192.08723, minor_axis_length = 77.16972, eccentricity = 0.91575, convex_area = 11739.00000, extent = 0.56979, type = O + area = 14547.00000, perimeter = 491.04401, major_axis_length = 206.65707, minor_axis_length = 90.17514, eccentricity = 0.89978, convex_area = 14780.00000, extent = 0.59322, type = C + area = 13207.00000, perimeter = 469.70001, major_axis_length = 196.48750, minor_axis_length = 87.33901, eccentricity = 0.89578, convex_area = 13546.00000, extent = 0.57454, type = C + area = 11355.00000, perimeter = 428.99200, major_axis_length = 172.28127, minor_axis_length = 85.36949, eccentricity = 0.86859, convex_area = 11690.00000, extent = 0.61425, type = O + area = 12074.00000, perimeter = 435.07800, major_axis_length = 181.39030, minor_axis_length = 85.69112, eccentricity = 0.88138, convex_area = 12257.00000, extent = 0.69909, type = O + area = 12844.00000, perimeter = 454.83701, major_axis_length = 191.98018, minor_axis_length = 85.41942, eccentricity = 0.89556, convex_area = 13043.00000, extent = 0.61789, type = C + area = 14337.00000, perimeter = 494.29901, major_axis_length = 206.69278, minor_axis_length = 89.74821, eccentricity = 0.90081, convex_area = 14859.00000, extent = 0.70989, type = C + area = 14321.00000, perimeter = 494.34500, major_axis_length = 211.66899, minor_axis_length = 86.82542, eccentricity = 0.91200, convex_area = 14583.00000, extent = 0.56128, type = C + area = 13683.00000, perimeter = 490.79300, major_axis_length = 210.28197, minor_axis_length = 84.04502, eccentricity = 0.91666, convex_area = 14187.00000, extent = 0.77393, type = C + area = 14563.00000, perimeter = 496.77600, major_axis_length = 206.12715, minor_axis_length = 91.53044, eccentricity = 0.89600, convex_area = 15116.00000, extent = 0.59105, type = C + area = 12382.00000, perimeter = 453.60300, major_axis_length = 190.12862, minor_axis_length = 83.85017, eccentricity = 0.89750, convex_area = 12605.00000, extent = 0.63831, type = O + area = 14227.00000, perimeter = 490.50400, major_axis_length = 206.49132, minor_axis_length = 88.69172, eccentricity = 0.90306, convex_area = 14529.00000, extent = 0.68713, type = C + area = 12945.00000, perimeter = 454.67801, major_axis_length = 185.91017, minor_axis_length = 89.59597, eccentricity = 0.87621, convex_area = 13220.00000, extent = 0.65260, type = O + area = 15554.00000, perimeter = 502.09601, major_axis_length = 206.27753, minor_axis_length = 97.22339, eccentricity = 0.88196, convex_area = 15826.00000, extent = 0.82734, type = C + area = 10924.00000, perimeter = 414.31201, major_axis_length = 170.80724, minor_axis_length = 82.64398, eccentricity = 0.87515, convex_area = 11171.00000, extent = 0.67283, type = O + area = 14806.00000, perimeter = 509.37601, major_axis_length = 214.14243, minor_axis_length = 89.69170, eccentricity = 0.90806, convex_area = 15594.00000, extent = 0.70879, type = C + area = 12004.00000, perimeter = 449.03500, major_axis_length = 186.64853, minor_axis_length = 83.41327, eccentricity = 0.89458, convex_area = 12417.00000, extent = 0.75812, type = C + area = 12671.00000, perimeter = 448.12000, major_axis_length = 181.49382, minor_axis_length = 90.35111, eccentricity = 0.86728, convex_area = 12949.00000, extent = 0.74065, type = O + area = 10773.00000, perimeter = 407.84698, major_axis_length = 167.35785, minor_axis_length = 82.64382, eccentricity = 0.86957, convex_area = 10931.00000, extent = 0.62532, type = O + area = 13983.00000, perimeter = 481.65900, major_axis_length = 198.39046, minor_axis_length = 90.49815, eccentricity = 0.88990, convex_area = 14306.00000, extent = 0.58802, type = C + area = 14287.00000, perimeter = 486.40201, major_axis_length = 200.14258, minor_axis_length = 91.99419, eccentricity = 0.88810, convex_area = 14654.00000, extent = 0.71133, type = C + area = 15456.00000, perimeter = 508.82101, major_axis_length = 214.30441, minor_axis_length = 93.45650, eccentricity = 0.89990, convex_area = 15884.00000, extent = 0.78025, type = C + area = 15050.00000, perimeter = 502.59100, major_axis_length = 206.38658, minor_axis_length = 93.80850, eccentricity = 0.89073, convex_area = 15464.00000, extent = 0.59122, type = C + area = 14092.00000, perimeter = 499.41699, major_axis_length = 210.96301, minor_axis_length = 86.79673, eccentricity = 0.91144, convex_area = 14618.00000, extent = 0.77293, type = C + area = 10780.00000, perimeter = 407.15799, major_axis_length = 163.39302, minor_axis_length = 85.59428, eccentricity = 0.85181, convex_area = 11096.00000, extent = 0.67375, type = O + area = 12763.00000, perimeter = 454.90201, major_axis_length = 185.22537, minor_axis_length = 89.68470, eccentricity = 0.87496, convex_area = 13081.00000, extent = 0.62271, type = O + area = 12604.00000, perimeter = 452.72501, major_axis_length = 182.71681, minor_axis_length = 89.78500, eccentricity = 0.87094, convex_area = 12945.00000, extent = 0.73708, type = O + area = 10915.00000, perimeter = 419.58600, major_axis_length = 171.54233, minor_axis_length = 82.83171, eccentricity = 0.87570, convex_area = 11246.00000, extent = 0.78345, type = O + area = 14421.00000, perimeter = 489.81799, major_axis_length = 204.95683, minor_axis_length = 90.34169, eccentricity = 0.89761, convex_area = 14716.00000, extent = 0.62526, type = C + area = 11658.00000, perimeter = 424.53400, major_axis_length = 170.76994, minor_axis_length = 88.24642, eccentricity = 0.85613, convex_area = 11963.00000, extent = 0.68299, type = O + area = 13302.00000, perimeter = 482.69000, major_axis_length = 209.39711, minor_axis_length = 81.74891, eccentricity = 0.92064, convex_area = 13827.00000, extent = 0.59533, type = C + area = 16094.00000, perimeter = 509.97900, major_axis_length = 215.54759, minor_axis_length = 95.61666, eccentricity = 0.89623, convex_area = 16403.00000, extent = 0.75879, type = C + area = 12416.00000, perimeter = 447.96301, major_axis_length = 187.29955, minor_axis_length = 85.39175, eccentricity = 0.89003, convex_area = 12660.00000, extent = 0.62058, type = O + area = 13568.00000, perimeter = 484.64801, major_axis_length = 208.07210, minor_axis_length = 83.69620, eccentricity = 0.91553, convex_area = 13962.00000, extent = 0.78792, type = C + area = 10443.00000, perimeter = 406.52899, major_axis_length = 164.56837, minor_axis_length = 81.95932, eccentricity = 0.86716, convex_area = 10722.00000, extent = 0.77184, type = O + area = 11108.00000, perimeter = 403.61801, major_axis_length = 164.10645, minor_axis_length = 86.64312, eccentricity = 0.84926, convex_area = 11256.00000, extent = 0.79684, type = O + area = 13140.00000, perimeter = 467.01700, major_axis_length = 192.61575, minor_axis_length = 89.47256, eccentricity = 0.88557, convex_area = 13570.00000, extent = 0.63892, type = O + area = 16199.00000, perimeter = 511.22800, major_axis_length = 210.00165, minor_axis_length = 99.41776, eccentricity = 0.88084, convex_area = 16637.00000, extent = 0.73826, type = C + area = 14266.00000, perimeter = 486.47800, major_axis_length = 207.72604, minor_axis_length = 88.09992, eccentricity = 0.90561, convex_area = 14485.00000, extent = 0.60385, type = C + area = 12593.00000, perimeter = 449.57001, major_axis_length = 179.36755, minor_axis_length = 90.69928, eccentricity = 0.86273, convex_area = 12945.00000, extent = 0.62758, type = O + area = 14350.00000, perimeter = 472.02100, major_axis_length = 189.90218, minor_axis_length = 97.03053, eccentricity = 0.85961, convex_area = 14577.00000, extent = 0.65180, type = O + area = 15144.00000, perimeter = 505.91299, major_axis_length = 212.36888, minor_axis_length = 92.02203, eccentricity = 0.90124, convex_area = 15609.00000, extent = 0.60951, type = C + area = 14968.00000, perimeter = 514.80103, major_axis_length = 220.22400, minor_axis_length = 87.73534, eccentricity = 0.91722, convex_area = 15438.00000, extent = 0.74092, type = C + area = 13900.00000, perimeter = 475.88901, major_axis_length = 198.16893, minor_axis_length = 90.54260, eccentricity = 0.88952, convex_area = 14161.00000, extent = 0.71723, type = C + area = 14324.00000, perimeter = 487.25299, major_axis_length = 195.94514, minor_axis_length = 94.84135, eccentricity = 0.87506, convex_area = 14822.00000, extent = 0.75740, type = C + area = 14500.00000, perimeter = 504.06799, major_axis_length = 218.90503, minor_axis_length = 85.14117, eccentricity = 0.92126, convex_area = 14864.00000, extent = 0.61990, type = C + area = 12149.00000, perimeter = 455.56201, major_axis_length = 191.44572, minor_axis_length = 82.05867, eccentricity = 0.90348, convex_area = 12510.00000, extent = 0.71423, type = C + area = 14960.00000, perimeter = 510.72900, major_axis_length = 218.36987, minor_axis_length = 88.05952, eccentricity = 0.91509, convex_area = 15235.00000, extent = 0.57828, type = C + area = 11219.00000, perimeter = 433.71301, major_axis_length = 180.31642, minor_axis_length = 80.25338, eccentricity = 0.89550, convex_area = 11485.00000, extent = 0.70049, type = O + area = 11489.00000, perimeter = 447.23700, major_axis_length = 182.10213, minor_axis_length = 82.12138, eccentricity = 0.89254, convex_area = 11913.00000, extent = 0.55946, type = O + area = 14404.00000, perimeter = 486.48401, major_axis_length = 206.77576, minor_axis_length = 89.47427, eccentricity = 0.90153, convex_area = 14658.00000, extent = 0.79457, type = C + area = 12317.00000, perimeter = 442.81000, major_axis_length = 179.33533, minor_axis_length = 88.76385, eccentricity = 0.86892, convex_area = 12589.00000, extent = 0.66061, type = O + area = 11787.00000, perimeter = 434.51401, major_axis_length = 181.29047, minor_axis_length = 83.34933, eccentricity = 0.88805, convex_area = 11965.00000, extent = 0.74413, type = O + area = 13132.00000, perimeter = 471.80399, major_axis_length = 199.55653, minor_axis_length = 84.98833, eccentricity = 0.90478, convex_area = 13423.00000, extent = 0.75367, type = C + area = 11337.00000, perimeter = 427.95300, major_axis_length = 174.94444, minor_axis_length = 83.92398, eccentricity = 0.87742, convex_area = 11617.00000, extent = 0.59534, type = O + area = 11682.00000, perimeter = 437.04001, major_axis_length = 176.23099, minor_axis_length = 86.32249, eccentricity = 0.87182, convex_area = 11969.00000, extent = 0.58119, type = O + area = 11320.00000, perimeter = 423.99200, major_axis_length = 173.09106, minor_axis_length = 84.60882, eccentricity = 0.87239, convex_area = 11556.00000, extent = 0.59894, type = O + area = 11287.00000, perimeter = 429.32501, major_axis_length = 171.89574, minor_axis_length = 85.36037, eccentricity = 0.86799, convex_area = 11599.00000, extent = 0.59014, type = O + area = 12292.00000, perimeter = 457.28601, major_axis_length = 194.88832, minor_axis_length = 80.99094, eccentricity = 0.90956, convex_area = 12561.00000, extent = 0.56383, type = C + area = 14061.00000, perimeter = 470.74899, major_axis_length = 190.29001, minor_axis_length = 95.00540, eccentricity = 0.86645, convex_area = 14347.00000, extent = 0.61801, type = C + area = 11281.00000, perimeter = 407.10101, major_axis_length = 160.91008, minor_axis_length = 90.44052, eccentricity = 0.82710, convex_area = 11483.00000, extent = 0.67001, type = O + area = 11051.00000, perimeter = 421.34799, major_axis_length = 166.91263, minor_axis_length = 85.74883, eccentricity = 0.85795, convex_area = 11421.00000, extent = 0.69333, type = O + area = 11108.00000, perimeter = 416.83401, major_axis_length = 166.33659, minor_axis_length = 86.45924, eccentricity = 0.85430, convex_area = 11420.00000, extent = 0.68001, type = O + area = 12397.00000, perimeter = 446.31900, major_axis_length = 184.80026, minor_axis_length = 86.41624, eccentricity = 0.88393, convex_area = 12594.00000, extent = 0.59785, type = O + area = 12784.00000, perimeter = 468.71399, major_axis_length = 197.19243, minor_axis_length = 84.30416, eccentricity = 0.90400, convex_area = 13140.00000, extent = 0.58247, type = O + area = 11024.00000, perimeter = 414.85901, major_axis_length = 165.83214, minor_axis_length = 85.64083, eccentricity = 0.85633, convex_area = 11342.00000, extent = 0.63502, type = O + area = 12019.00000, perimeter = 442.11200, major_axis_length = 183.98193, minor_axis_length = 84.30915, eccentricity = 0.88882, convex_area = 12290.00000, extent = 0.58007, type = O + area = 11332.00000, perimeter = 449.26001, major_axis_length = 194.78192, minor_axis_length = 75.36935, eccentricity = 0.92210, convex_area = 11671.00000, extent = 0.67368, type = C + area = 14401.00000, perimeter = 482.17599, major_axis_length = 203.07222, minor_axis_length = 91.35160, eccentricity = 0.89311, convex_area = 14608.00000, extent = 0.71650, type = C + area = 10908.00000, perimeter = 414.99701, major_axis_length = 174.44916, minor_axis_length = 80.56419, eccentricity = 0.88697, convex_area = 11062.00000, extent = 0.75498, type = O + area = 11485.00000, perimeter = 429.39099, major_axis_length = 173.49945, minor_axis_length = 85.60889, eccentricity = 0.86979, convex_area = 11758.00000, extent = 0.60575, type = O + area = 15113.00000, perimeter = 493.73801, major_axis_length = 206.56613, minor_axis_length = 94.19137, eccentricity = 0.88999, convex_area = 15374.00000, extent = 0.65904, type = C + area = 12146.00000, perimeter = 442.24701, major_axis_length = 176.50616, minor_axis_length = 89.75159, eccentricity = 0.86107, convex_area = 12502.00000, extent = 0.77541, type = O + area = 14352.00000, perimeter = 484.08401, major_axis_length = 203.49686, minor_axis_length = 91.26853, eccentricity = 0.89378, convex_area = 14656.00000, extent = 0.56806, type = C + area = 14019.00000, perimeter = 482.45401, major_axis_length = 197.19820, minor_axis_length = 92.67004, eccentricity = 0.88270, convex_area = 14411.00000, extent = 0.57615, type = C + area = 13819.00000, perimeter = 478.49899, major_axis_length = 195.72615, minor_axis_length = 91.83905, eccentricity = 0.88308, convex_area = 14321.00000, extent = 0.58827, type = O + area = 12273.00000, perimeter = 441.19101, major_axis_length = 182.09915, minor_axis_length = 86.59351, eccentricity = 0.87970, convex_area = 12469.00000, extent = 0.62098, type = O + area = 14934.00000, perimeter = 488.27100, major_axis_length = 201.07996, minor_axis_length = 95.97958, eccentricity = 0.87873, convex_area = 15193.00000, extent = 0.65038, type = C + area = 10817.00000, perimeter = 403.99799, major_axis_length = 167.42336, minor_axis_length = 82.72127, eccentricity = 0.86941, convex_area = 10953.00000, extent = 0.78509, type = O + area = 12574.00000, perimeter = 466.51999, major_axis_length = 197.86324, minor_axis_length = 81.88799, eccentricity = 0.91034, convex_area = 12902.00000, extent = 0.66179, type = O + area = 9762.00000, perimeter = 397.24899, major_axis_length = 161.86630, minor_axis_length = 78.29550, eccentricity = 0.87523, convex_area = 10126.00000, extent = 0.74862, type = O + area = 12693.00000, perimeter = 448.15799, major_axis_length = 180.08960, minor_axis_length = 91.82332, eccentricity = 0.86025, convex_area = 13035.00000, extent = 0.59341, type = O + area = 15311.00000, perimeter = 507.99500, major_axis_length = 215.14145, minor_axis_length = 91.61975, eccentricity = 0.90479, convex_area = 15690.00000, extent = 0.70441, type = C + area = 10760.00000, perimeter = 420.94901, major_axis_length = 173.44466, minor_axis_length = 80.46677, eccentricity = 0.88587, convex_area = 11046.00000, extent = 0.58711, type = O + area = 16253.00000, perimeter = 525.48199, major_axis_length = 218.52756, minor_axis_length = 95.91184, eccentricity = 0.89854, convex_area = 16690.00000, extent = 0.56797, type = C + area = 11215.00000, perimeter = 421.17999, major_axis_length = 179.53351, minor_axis_length = 79.69018, eccentricity = 0.89609, convex_area = 11373.00000, extent = 0.58290, type = O + area = 15700.00000, perimeter = 525.80902, major_axis_length = 224.03888, minor_axis_length = 90.31892, eccentricity = 0.91514, convex_area = 16308.00000, extent = 0.67617, type = C + area = 11316.00000, perimeter = 418.54901, major_axis_length = 170.68570, minor_axis_length = 85.69088, eccentricity = 0.86484, convex_area = 11497.00000, extent = 0.60839, type = O + area = 16226.00000, perimeter = 517.68402, major_axis_length = 217.08057, minor_axis_length = 95.93838, eccentricity = 0.89704, convex_area = 16466.00000, extent = 0.58314, type = C + area = 11794.00000, perimeter = 430.38000, major_axis_length = 178.44585, minor_axis_length = 84.78594, eccentricity = 0.87991, convex_area = 12056.00000, extent = 0.75294, type = C + area = 10763.00000, perimeter = 416.01700, major_axis_length = 171.06178, minor_axis_length = 80.66742, eccentricity = 0.88183, convex_area = 10951.00000, extent = 0.59504, type = O + area = 11982.00000, perimeter = 448.86401, major_axis_length = 188.14598, minor_axis_length = 81.85522, eccentricity = 0.90040, convex_area = 12206.00000, extent = 0.62815, type = O + area = 12387.00000, perimeter = 444.22501, major_axis_length = 178.09758, minor_axis_length = 90.58177, eccentricity = 0.86100, convex_area = 12753.00000, extent = 0.64328, type = O + area = 14729.00000, perimeter = 496.93900, major_axis_length = 209.52042, minor_axis_length = 90.88716, eccentricity = 0.90102, convex_area = 15131.00000, extent = 0.61208, type = C + area = 14818.00000, perimeter = 499.35999, major_axis_length = 208.87550, minor_axis_length = 91.91077, eccentricity = 0.89798, convex_area = 15204.00000, extent = 0.57541, type = C + area = 10554.00000, perimeter = 406.91901, major_axis_length = 165.53139, minor_axis_length = 82.37079, eccentricity = 0.86740, convex_area = 10841.00000, extent = 0.64022, type = O + area = 13694.00000, perimeter = 464.56000, major_axis_length = 191.33110, minor_axis_length = 91.70782, eccentricity = 0.87764, convex_area = 13918.00000, extent = 0.70880, type = C + area = 15458.00000, perimeter = 511.95200, major_axis_length = 216.60767, minor_axis_length = 91.79173, eccentricity = 0.90577, convex_area = 15854.00000, extent = 0.58405, type = C + area = 13235.00000, perimeter = 465.81601, major_axis_length = 193.54562, minor_axis_length = 88.63944, eccentricity = 0.88896, convex_area = 13629.00000, extent = 0.56548, type = C + area = 11314.00000, perimeter = 424.08499, major_axis_length = 178.78316, minor_axis_length = 81.83676, eccentricity = 0.88908, convex_area = 11482.00000, extent = 0.76045, type = O + area = 15121.00000, perimeter = 503.48700, major_axis_length = 212.93852, minor_axis_length = 91.33051, eccentricity = 0.90335, convex_area = 15470.00000, extent = 0.78380, type = C + area = 10667.00000, perimeter = 415.23700, major_axis_length = 170.33615, minor_axis_length = 81.36894, eccentricity = 0.87853, convex_area = 11041.00000, extent = 0.68775, type = O + area = 10326.00000, perimeter = 427.72501, major_axis_length = 174.47438, minor_axis_length = 77.73373, eccentricity = 0.89527, convex_area = 10691.00000, extent = 0.60705, type = O + area = 11568.00000, perimeter = 429.54800, major_axis_length = 174.58656, minor_axis_length = 85.20392, eccentricity = 0.87283, convex_area = 11800.00000, extent = 0.60187, type = O + area = 12190.00000, perimeter = 441.78500, major_axis_length = 178.55238, minor_axis_length = 87.93262, eccentricity = 0.87033, convex_area = 12478.00000, extent = 0.65020, type = O + area = 12811.00000, perimeter = 453.93701, major_axis_length = 185.72890, minor_axis_length = 89.51059, eccentricity = 0.87620, convex_area = 13112.00000, extent = 0.58508, type = O + area = 11303.00000, perimeter = 426.51001, major_axis_length = 171.10132, minor_axis_length = 85.57962, eccentricity = 0.86593, convex_area = 11623.00000, extent = 0.64848, type = O + area = 11679.00000, perimeter = 417.82501, major_axis_length = 170.56799, minor_axis_length = 87.63663, eccentricity = 0.85791, convex_area = 11853.00000, extent = 0.79433, type = O + area = 11366.00000, perimeter = 431.93600, major_axis_length = 179.07126, minor_axis_length = 81.93755, eccentricity = 0.88917, convex_area = 11737.00000, extent = 0.60635, type = O + area = 11552.00000, perimeter = 432.81201, major_axis_length = 178.89076, minor_axis_length = 84.07980, eccentricity = 0.88266, convex_area = 11838.00000, extent = 0.63647, type = O + area = 10470.00000, perimeter = 419.01801, major_axis_length = 177.06436, minor_axis_length = 75.63279, eccentricity = 0.90418, convex_area = 10682.00000, extent = 0.59863, type = O + area = 13279.00000, perimeter = 483.65799, major_axis_length = 201.33823, minor_axis_length = 85.47550, eccentricity = 0.90541, convex_area = 13691.00000, extent = 0.57635, type = C + area = 14695.00000, perimeter = 506.91599, major_axis_length = 214.10553, minor_axis_length = 88.91370, eccentricity = 0.90969, convex_area = 15086.00000, extent = 0.54661, type = C + area = 14306.00000, perimeter = 482.24799, major_axis_length = 197.68579, minor_axis_length = 94.05611, eccentricity = 0.87956, convex_area = 14667.00000, extent = 0.58795, type = C + area = 13726.00000, perimeter = 484.24701, major_axis_length = 209.70306, minor_axis_length = 83.88441, eccentricity = 0.91651, convex_area = 13969.00000, extent = 0.55560, type = C + area = 15655.00000, perimeter = 488.90302, major_axis_length = 199.55669, minor_axis_length = 101.02621, eccentricity = 0.86238, convex_area = 15880.00000, extent = 0.63375, type = C + area = 11364.00000, perimeter = 428.95300, major_axis_length = 180.75972, minor_axis_length = 80.28202, eccentricity = 0.89596, convex_area = 11551.00000, extent = 0.58027, type = O + area = 10737.00000, perimeter = 412.30600, major_axis_length = 165.55162, minor_axis_length = 83.92193, eccentricity = 0.86199, convex_area = 11017.00000, extent = 0.61410, type = O + area = 12243.00000, perimeter = 449.62399, major_axis_length = 191.07899, minor_axis_length = 82.63934, eccentricity = 0.90164, convex_area = 12464.00000, extent = 0.79973, type = C + area = 13342.00000, perimeter = 488.26999, major_axis_length = 208.66551, minor_axis_length = 83.16635, eccentricity = 0.91714, convex_area = 13703.00000, extent = 0.52594, type = C + area = 15172.00000, perimeter = 504.15799, major_axis_length = 213.22467, minor_axis_length = 91.66706, eccentricity = 0.90287, convex_area = 15477.00000, extent = 0.62244, type = C + area = 15248.00000, perimeter = 509.00299, major_axis_length = 217.99248, minor_axis_length = 90.10747, eccentricity = 0.91057, convex_area = 15557.00000, extent = 0.73534, type = C + area = 14723.00000, perimeter = 491.05499, major_axis_length = 204.17567, minor_axis_length = 93.06549, eccentricity = 0.89008, convex_area = 15021.00000, extent = 0.57568, type = C + area = 12518.00000, perimeter = 473.38400, major_axis_length = 203.92206, minor_axis_length = 80.00767, eccentricity = 0.91982, convex_area = 12778.00000, extent = 0.68033, type = C + area = 13620.00000, perimeter = 479.87701, major_axis_length = 203.39711, minor_axis_length = 86.37573, eccentricity = 0.90535, convex_area = 13987.00000, extent = 0.63577, type = C + area = 16505.00000, perimeter = 506.89600, major_axis_length = 207.34584, minor_axis_length = 103.24419, eccentricity = 0.86722, convex_area = 16782.00000, extent = 0.77817, type = C + area = 11365.00000, perimeter = 421.17599, major_axis_length = 179.13287, minor_axis_length = 81.11464, eccentricity = 0.89160, convex_area = 11499.00000, extent = 0.65204, type = O + area = 12899.00000, perimeter = 468.38901, major_axis_length = 201.04828, minor_axis_length = 82.38741, eccentricity = 0.91218, convex_area = 13132.00000, extent = 0.70050, type = C + area = 13293.00000, perimeter = 470.26599, major_axis_length = 197.95935, minor_axis_length = 86.07607, eccentricity = 0.90052, convex_area = 13553.00000, extent = 0.71376, type = C + area = 13380.00000, perimeter = 469.17700, major_axis_length = 190.81332, minor_axis_length = 91.01315, eccentricity = 0.87892, convex_area = 13747.00000, extent = 0.61962, type = C + area = 13697.00000, perimeter = 482.38400, major_axis_length = 206.73445, minor_axis_length = 85.18093, eccentricity = 0.91117, convex_area = 13927.00000, extent = 0.59708, type = C + area = 13244.00000, perimeter = 461.93900, major_axis_length = 194.18376, minor_axis_length = 87.82101, eccentricity = 0.89189, convex_area = 13476.00000, extent = 0.71128, type = C + area = 11062.00000, perimeter = 410.09601, major_axis_length = 165.46947, minor_axis_length = 86.05539, eccentricity = 0.85412, convex_area = 11213.00000, extent = 0.63082, type = O + area = 11903.00000, perimeter = 433.71301, major_axis_length = 180.90604, minor_axis_length = 84.36025, eccentricity = 0.88462, convex_area = 12104.00000, extent = 0.68645, type = O + area = 11011.00000, perimeter = 414.30200, major_axis_length = 170.34660, minor_axis_length = 83.25295, eccentricity = 0.87244, convex_area = 11188.00000, extent = 0.72099, type = O + area = 14571.00000, perimeter = 489.43301, major_axis_length = 206.78789, minor_axis_length = 90.45136, eccentricity = 0.89926, convex_area = 14839.00000, extent = 0.60551, type = C + area = 13711.00000, perimeter = 483.21500, major_axis_length = 203.88077, minor_axis_length = 86.62691, eccentricity = 0.90524, convex_area = 14097.00000, extent = 0.56147, type = C + area = 10928.00000, perimeter = 410.94000, major_axis_length = 171.74614, minor_axis_length = 81.38594, eccentricity = 0.88059, convex_area = 11132.00000, extent = 0.61119, type = O + area = 13263.00000, perimeter = 487.89099, major_axis_length = 214.42804, minor_axis_length = 79.64110, eccentricity = 0.92847, convex_area = 13491.00000, extent = 0.67445, type = C + area = 16419.00000, perimeter = 531.42102, major_axis_length = 224.06595, minor_axis_length = 94.54113, eccentricity = 0.90663, convex_area = 16874.00000, extent = 0.55042, type = C + area = 13683.00000, perimeter = 461.56799, major_axis_length = 189.24533, minor_axis_length = 93.11317, eccentricity = 0.87058, convex_area = 13944.00000, extent = 0.62651, type = O diff --git a/cmake-build-release/regress.stt b/cmake-build-release/regress.stt new file mode 100644 index 0000000..b2270eb --- /dev/null +++ b/cmake-build-release/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.9980 0.9980 0.9980 4.600 1.200 1 0 1 0 0.9980 0.9980 0.9980 4.600 1.200 1 0 1 0 +1 0 0.9980 0.9980 0.9980 3.400 0.800 1 0 1 0 0.9980 0.9980 0.9980 4.000 1.000 1 0 1 0 +2 0 0.9980 0.9980 0.9980 3.400 0.800 1 0 13 4 0.9980 0.9980 0.9980 3.800 0.933 1 0 1 0 +3 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 3.100 0.700 1 0 1 0 +4 0 0.9980 0.9980 0.9980 1.200 0.200 1 0 1 0 0.9980 0.9980 0.9980 2.720 0.600 1 0 1 0 +5 0 0.9980 0.9980 0.9980 1.200 0.200 1 0 1 0 0.9980 0.9980 0.9980 2.467 0.533 1 0 1 0 +6 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 2.257 0.457 1 0 1 0 +7 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 2.100 0.400 1 0 1 0 +8 0 0.9980 0.9980 0.9980 1.200 0.200 1 0 2 1 0.9980 0.9980 0.9980 2.000 0.378 1 0 1 0 +9 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.900 0.340 1 0 1 0 +10 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.818 0.309 1 0 1 0 +11 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.750 0.283 1 0 1 0 +12 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.692 0.262 1 0 1 0 +13 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.643 0.243 1 0 1 0 +14 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.600 0.227 1 0 1 0 +15 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.562 0.212 1 0 1 0 +16 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.529 0.200 1 0 1 0 +17 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.500 0.189 1 0 1 0 +18 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.474 0.179 1 0 1 0 +19 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.450 0.170 1 0 1 0 +20 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.429 0.162 1 0 1 0 +21 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.409 0.155 1 0 1 0 +22 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.391 0.148 1 0 1 0 +23 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.375 0.142 1 0 1 0 +24 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.360 0.136 1 0 1 0 +25 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.346 0.131 1 0 1 0 +26 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.333 0.126 1 0 1 0 +27 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.321 0.121 1 0 1 0 +28 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.310 0.117 1 0 1 0 +29 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.300 0.113 1 0 1 0 +30 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.290 0.110 1 0 1 0 +31 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.281 0.106 1 0 1 0 +32 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.273 0.103 1 0 1 0 +33 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.265 0.100 1 0 1 0 +34 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.257 0.097 1 0 1 0 +35 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.250 0.094 1 0 1 0 +36 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.243 0.092 1 0 1 0 +37 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.237 0.089 1 0 1 0 +38 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.231 0.087 1 0 1 0 +39 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.225 0.085 1 0 1 0 +40 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.220 0.083 1 0 1 0 +41 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.214 0.081 1 0 1 0 +42 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.209 0.079 1 0 1 0 +43 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.205 0.077 1 0 1 0 +44 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.200 0.076 1 0 1 0 +45 0 0.9980 0.9980 0.9980 1.000 0.000 1 0 1 0 0.9980 0.9980 0.9980 1.196 0.074 1 0 1 0 +46 0 0.9980 0.9980 0.9980 2.400 0.800 1 0 1 0 0.9980 0.9980 0.9980 1.221 0.089 1 0 1 0 +47 0 0.9980 0.9980 0.9980 2.400 0.800 1 0 1 0 0.9980 0.9980 0.9980 1.246 0.104 1 0 1 0 +48 0 0.9980 0.9980 0.9980 2.400 0.800 1 0 1 0 0.9980 0.9980 0.9980 1.269 0.118 1 0 1 0 +49 0 0.9980 0.9980 0.9980 2.400 0.800 1 0 1 0 0.9980 0.9980 0.9980 1.292 0.132 1 0 1 0 +50 0 0.9980 0.9980 0.9980 2.400 0.800 1 0 5 2 0.9980 0.9980 0.9980 1.314 0.145 1 0 1 0 diff --git a/cmake-build-release/regress.sys b/cmake-build-release/regress.sys new file mode 100644 index 0000000..16103b6 --- /dev/null +++ b/cmake-build-release/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - exp log area perimeter major minor eccentricity convex extent R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 760. +creating initial population(s): + 5 trees were generated to fill the population of 5 (5 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 168846 + freed: 117246 + not freed: 51600 + max allocated: 107409 + malloc'ed blocks: 2132 + realloc'ed blocks: 6 + free'ed blocks: 1976 + +------- time ------- + overall: 26s wall + evaluation: 26s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 100 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 4 + freed: 4 + allocated: 1000 + blocks: 1 diff --git a/cmake-build-relwithdebinfo/.cmake/api/v1/query/cache-v2 b/cmake-build-relwithdebinfo/.cmake/api/v1/query/cache-v2 new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/.cmake/api/v1/query/cmakeFiles-v1 b/cmake-build-relwithdebinfo/.cmake/api/v1/query/cmakeFiles-v1 new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/.cmake/api/v1/query/codemodel-v2 b/cmake-build-relwithdebinfo/.cmake/api/v1/query/codemodel-v2 new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/.cmake/api/v1/query/toolchains-v1 b/cmake-build-relwithdebinfo/.cmake/api/v1/query/toolchains-v1 new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/.cmake/api/v1/reply/cache-v2-c62c442ed7da132f16e2.json b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/cache-v2-c62c442ed7da132f16e2.json new file mode 100644 index 0000000..ea849bc --- /dev/null +++ b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/cache-v2-c62c442ed7da132f16e2.json @@ -0,0 +1,1859 @@ +{ + "entries" : + [ + { + "name" : "Assignment_1_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" + }, + { + "name" : "Assignment_1_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "Assignment_1_RUNNER_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" + }, + { + "name" : "Assignment_1_RUNNER_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "Assignment_1_RUNNER_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1" + }, + { + "name" : "Assignment_1_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1" + }, + { + "name" : "BLT_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt" + }, + { + "name" : "BLT_DISABLE_DEBUG", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_DEBUG macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_ERROR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_ERROR macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_FATAL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_FATAL macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_INFO", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_INFO macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_LOGGING", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging (all macros and will safely disable logging function!)" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_TRACE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_TRACE macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_DISABLE_WARN", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Disable blt::logging BLT_WARN macro" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "BLT_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "OFF" + }, + { + "name" : "BLT_LIB_DEPENDS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Dependencies for the target" + } + ], + "type" : "STATIC", + "value" : "general;ZLIB::ZLIB;" + }, + { + "name" : "BLT_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt" + }, + { + "name" : "BUILD_FS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build the BLT FS utilities including the NBT + eNBT extension" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "BUILD_PARSE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build the BLT parsers" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "BUILD_PROFILING", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build the BLT profiler extension" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "BUILD_STD", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build the BLT standard utilities." + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "BUILD_TESTS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build the BLT test set" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "CMAKE_ADDR2LINE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/addr2line" + }, + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ar" + }, + { + "name" : "CMAKE_BUILD_TYPE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel ..." + } + ], + "type" : "STRING", + "value" : "RelWithDebInfo" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "25" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_COLOR_DIAGNOSTICS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enable colored diagnostics throughout." + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/cmake" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/cpack" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/ctest" + }, + { + "name" : "CMAKE_CXX_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "CXX compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/c++" + }, + { + "name" : "CMAKE_CXX_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ar-12" + }, + { + "name" : "CMAKE_CXX_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ranlib-12" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "-g" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "-O3 -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_C_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "C compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/cc" + }, + { + "name" : "CMAKE_C_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ar' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ar-12" + }, + { + "name" : "CMAKE_C_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "A wrapper around 'ranlib' adding the appropriate '--plugin' option for the GCC compiler" + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gcc-ranlib-12" + }, + { + "name" : "CMAKE_C_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "-g" + }, + { + "name" : "CMAKE_C_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "-O3 -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_DLLTOOL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "CMAKE_DLLTOOL-NOTFOUND" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "ELF" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Enable/Disable output of compile commands during generation." + } + ], + "type" : "BOOL", + "value" : "" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_FIND_PACKAGE_REDIRECTS_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake." + } + ], + "type" : "STATIC", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/pkgRedirects" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Ninja" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_HAVE_LIBC_PTHREAD", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Test CMAKE_HAVE_LIBC_PTHREAD" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1" + }, + { + "name" : "CMAKE_INSTALL_BINDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "User executables (bin)" + } + ], + "type" : "PATH", + "value" : "bin" + }, + { + "name" : "CMAKE_INSTALL_DATADIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Read-only architecture-independent data (DATAROOTDIR)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_DATAROOTDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Read-only architecture-independent data root (share)" + } + ], + "type" : "PATH", + "value" : "share" + }, + { + "name" : "CMAKE_INSTALL_DOCDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Documentation root (DATAROOTDIR/doc/PROJECT_NAME)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_INCLUDEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "C header files (include)" + } + ], + "type" : "PATH", + "value" : "include" + }, + { + "name" : "CMAKE_INSTALL_INFODIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Info documentation (DATAROOTDIR/info)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_LIBDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Object code libraries (lib)" + } + ], + "type" : "PATH", + "value" : "lib" + }, + { + "name" : "CMAKE_INSTALL_LIBEXECDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Program executables (libexec)" + } + ], + "type" : "PATH", + "value" : "libexec" + }, + { + "name" : "CMAKE_INSTALL_LOCALEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Locale-dependent data (DATAROOTDIR/locale)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_LOCALSTATEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Modifiable single-machine data (var)" + } + ], + "type" : "PATH", + "value" : "var" + }, + { + "name" : "CMAKE_INSTALL_MANDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Man documentation (DATAROOTDIR/man)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_OLDINCLUDEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "C header files for non-gcc (/usr/include)" + } + ], + "type" : "PATH", + "value" : "/usr/include" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "/usr/local" + }, + { + "name" : "CMAKE_INSTALL_RUNSTATEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Run-time variable data (LOCALSTATEDIR/run)" + } + ], + "type" : "PATH", + "value" : "" + }, + { + "name" : "CMAKE_INSTALL_SBINDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "System admin executables (sbin)" + } + ], + "type" : "PATH", + "value" : "sbin" + }, + { + "name" : "CMAKE_INSTALL_SHAREDSTATEDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Modifiable architecture-independent data (com)" + } + ], + "type" : "PATH", + "value" : "com" + }, + { + "name" : "CMAKE_INSTALL_SO_NO_EXE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install .so files without execute permission." + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_INSTALL_SYSCONFDIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Read-only single-machine data (etc)" + } + ], + "type" : "PATH", + "value" : "etc" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ld" + }, + { + "name" : "CMAKE_MAKE_PROGRAM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_NM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/nm" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "2" + }, + { + "name" : "CMAKE_OBJCOPY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/objcopy" + }, + { + "name" : "CMAKE_OBJDUMP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/objdump" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "Assignment_1_RUNNER" + }, + { + "name" : "CMAKE_PROJECT_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "0.11.3" + }, + { + "name" : "CMAKE_PROJECT_VERSION_MAJOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "0" + }, + { + "name" : "CMAKE_PROJECT_VERSION_MINOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "11" + }, + { + "name" : "CMAKE_PROJECT_VERSION_PATCH", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "3" + }, + { + "name" : "CMAKE_PROJECT_VERSION_TWEAK", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ranlib" + }, + { + "name" : "CMAKE_READELF", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/readelf" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "/usr/share/cmake-3.25" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STRIP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/strip" + }, + { + "name" : "CMAKE_UNAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "uname command" + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/uname" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "ENABLE_ADDRSAN", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enable the address sanitizer" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "ENABLE_TSAN", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enable the thread data race sanitizer" + } + ], + "type" : "BOOL", + "value" : "OFF" + }, + { + "name" : "ENABLE_UBSAN", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Enable the ub sanitizer" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "FIND_PACKAGE_MESSAGE_DETAILS_Threads", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Details about finding Threads" + } + ], + "type" : "INTERNAL", + "value" : "[TRUE][v()]" + }, + { + "name" : "PART_B", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Build for part B version of the assignment" + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "ZLIB_INCLUDE_DIR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a file." + } + ], + "type" : "PATH", + "value" : "/usr/include" + }, + { + "name" : "ZLIB_LIBRARY_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a library." + } + ], + "type" : "FILEPATH", + "value" : "ZLIB_LIBRARY_DEBUG-NOTFOUND" + }, + { + "name" : "ZLIB_LIBRARY_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a library." + } + ], + "type" : "FILEPATH", + "value" : "/usr/lib/x86_64-linux-gnu/libz.so" + }, + { + "name" : "_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "linker supports push/pop state" + } + ], + "type" : "INTERNAL", + "value" : "TRUE" + }, + { + "name" : "_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "CMAKE_INSTALL_PREFIX during last run" + } + ], + "type" : "INTERNAL", + "value" : "/usr/local" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/cmake-build-relwithdebinfo/.cmake/api/v1/reply/cmakeFiles-v1-492203bbc5784e2cacb0.json b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/cmakeFiles-v1-492203bbc5784e2cacb0.json new file mode 100644 index 0000000..d536748 --- /dev/null +++ b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/cmakeFiles-v1-492203bbc5784e2cacb0.json @@ -0,0 +1,202 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isGenerated" : true, + "path" : "cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isGenerated" : true, + "path" : "cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeCCompiler.cmake" + }, + { + "isGenerated" : true, + "path" : "cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/UnixPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GNU-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux-GNU-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux-GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindThreads.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CheckLibraryExists.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CheckIncludeFile.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/CheckCSourceCompiles.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/Internal/CheckSourceCompiles.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageMessage.cmake" + }, + { + "path" : "lib/blt/CMakeLists.txt" + }, + { + "path" : "lib/blt/include/blt/config.h.in" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindZLIB.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/SelectLibraryConfigurations.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/FindPackageMessage.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.25/Modules/GNUInstallDirs.cmake" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo", + "source" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1" + }, + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/cmake-build-relwithdebinfo/.cmake/api/v1/reply/codemodel-v2-918e45983a52bd747e65.json b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/codemodel-v2-918e45983a52bd747e65.json new file mode 100644 index 0000000..4a4c437 --- /dev/null +++ b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/codemodel-v2-918e45983a52bd747e65.json @@ -0,0 +1,113 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "childIndexes" : + [ + 1 + ], + "hasInstallRule" : true, + "jsonFile" : "directory-.-RelWithDebInfo-f5ebdc15457944623624.json", + "minimumCMakeVersion" : + { + "string" : "3.25" + }, + "projectIndex" : 0, + "source" : ".", + "targetIndexes" : + [ + 0, + 1 + ] + }, + { + "build" : "lib/blt", + "hasInstallRule" : true, + "jsonFile" : "directory-lib.blt-RelWithDebInfo-3898dbe430797f8d5d1c.json", + "minimumCMakeVersion" : + { + "string" : "3.5" + }, + "parentIndex" : 0, + "projectIndex" : 1, + "source" : "lib/blt", + "targetIndexes" : + [ + 2 + ] + } + ], + "name" : "RelWithDebInfo", + "projects" : + [ + { + "childIndexes" : + [ + 1 + ], + "directoryIndexes" : + [ + 0 + ], + "name" : "Assignment_1_RUNNER", + "targetIndexes" : + [ + 0, + 1 + ] + }, + { + "directoryIndexes" : + [ + 1 + ], + "name" : "BLT", + "parentIndex" : 0, + "targetIndexes" : + [ + 2 + ] + } + ], + "targets" : + [ + { + "directoryIndex" : 0, + "id" : "Assignment_1::@6890427a1f51a3e7e1df", + "jsonFile" : "target-Assignment_1-RelWithDebInfo-407003c56c1b7d165329.json", + "name" : "Assignment_1", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "Assignment_1_RUNNER::@6890427a1f51a3e7e1df", + "jsonFile" : "target-Assignment_1_RUNNER-RelWithDebInfo-94573580af7bb3676c7e.json", + "name" : "Assignment_1_RUNNER", + "projectIndex" : 0 + }, + { + "directoryIndex" : 1, + "id" : "BLT::@93fa9f0522c937b42b32", + "jsonFile" : "target-BLT-RelWithDebInfo-e1db335905ec712d489d.json", + "name" : "BLT", + "projectIndex" : 1 + } + ] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo", + "source" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1" + }, + "version" : + { + "major" : 2, + "minor" : 4 + } +} diff --git a/cmake-build-relwithdebinfo/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json new file mode 100644 index 0000000..3a67af9 --- /dev/null +++ b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/directory-.-RelWithDebInfo-f5ebdc15457944623624.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/cmake-build-relwithdebinfo/.cmake/api/v1/reply/directory-lib.blt-RelWithDebInfo-3898dbe430797f8d5d1c.json b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/directory-lib.blt-RelWithDebInfo-3898dbe430797f8d5d1c.json new file mode 100644 index 0000000..ce70dcc --- /dev/null +++ b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/directory-lib.blt-RelWithDebInfo-3898dbe430797f8d5d1c.json @@ -0,0 +1,621 @@ +{ + "backtraceGraph" : + { + "commands" : + [ + "install" + ], + "files" : + [ + "lib/blt/CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 119, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 122, + "parent" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 127, + "parent" : 0 + } + ] + }, + "installers" : + [ + { + "backtrace" : 1, + "component" : "Unspecified", + "destination" : "include/blt", + "paths" : + [ + "lib/blt/include/blt/compatibility.h" + ], + "type" : "file" + }, + { + "backtrace" : 2, + "component" : "Unspecified", + "destination" : "include/blt/fs", + "paths" : + [ + "lib/blt/include/blt/fs/filesystem.h" + ], + "type" : "file" + }, + { + "backtrace" : 3, + "component" : "Unspecified", + "destination" : "include/blt/fs", + "paths" : + [ + "lib/blt/include/blt/fs/loader.h" + ], + "type" : "file" + }, + { + "backtrace" : 4, + "component" : "Unspecified", + "destination" : "include/blt/fs", + "paths" : + [ + "lib/blt/include/blt/fs/nbt.h" + ], + "type" : "file" + }, + { + "backtrace" : 5, + "component" : "Unspecified", + "destination" : "include/blt/fs", + "paths" : + [ + "lib/blt/include/blt/fs/nbt_block.h" + ], + "type" : "file" + }, + { + "backtrace" : 6, + "component" : "Unspecified", + "destination" : "include/blt/math", + "paths" : + [ + "lib/blt/include/blt/math/averages.h" + ], + "type" : "file" + }, + { + "backtrace" : 7, + "component" : "Unspecified", + "destination" : "include/blt/math", + "paths" : + [ + "lib/blt/include/blt/math/log_util.h" + ], + "type" : "file" + }, + { + "backtrace" : 8, + "component" : "Unspecified", + "destination" : "include/blt/math", + "paths" : + [ + "lib/blt/include/blt/math/math.h" + ], + "type" : "file" + }, + { + "backtrace" : 9, + "component" : "Unspecified", + "destination" : "include/blt/math", + "paths" : + [ + "lib/blt/include/blt/math/matrix.h" + ], + "type" : "file" + }, + { + "backtrace" : 10, + "component" : "Unspecified", + "destination" : "include/blt/math", + "paths" : + [ + "lib/blt/include/blt/math/vectors.h" + ], + "type" : "file" + }, + { + "backtrace" : 11, + "component" : "Unspecified", + "destination" : "include/blt/parse", + "paths" : + [ + "lib/blt/include/blt/parse/argparse.h" + ], + "type" : "file" + }, + { + "backtrace" : 12, + "component" : "Unspecified", + "destination" : "include/blt/parse", + "paths" : + [ + "lib/blt/include/blt/parse/mustache.h" + ], + "type" : "file" + }, + { + "backtrace" : 13, + "component" : "Unspecified", + "destination" : "include/blt/parse", + "paths" : + [ + "lib/blt/include/blt/parse/obj_loader.h" + ], + "type" : "file" + }, + { + "backtrace" : 14, + "component" : "Unspecified", + "destination" : "include/blt/profiling", + "paths" : + [ + "lib/blt/include/blt/profiling/profiler.h" + ], + "type" : "file" + }, + { + "backtrace" : 15, + "component" : "Unspecified", + "destination" : "include/blt/profiling", + "paths" : + [ + "lib/blt/include/blt/profiling/profiler_v2.h" + ], + "type" : "file" + }, + { + "backtrace" : 16, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/allocator.h" + ], + "type" : "file" + }, + { + "backtrace" : 17, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/assert.h" + ], + "type" : "file" + }, + { + "backtrace" : 18, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/binary_tree.h" + ], + "type" : "file" + }, + { + "backtrace" : 19, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/expected.h" + ], + "type" : "file" + }, + { + "backtrace" : 20, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/format.h" + ], + "type" : "file" + }, + { + "backtrace" : 21, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/hashmap.h" + ], + "type" : "file" + }, + { + "backtrace" : 22, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/logging.h" + ], + "type" : "file" + }, + { + "backtrace" : 23, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/memory.h" + ], + "type" : "file" + }, + { + "backtrace" : 24, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/memory_util.h" + ], + "type" : "file" + }, + { + "backtrace" : 25, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/queue.h" + ], + "type" : "file" + }, + { + "backtrace" : 26, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/random.h" + ], + "type" : "file" + }, + { + "backtrace" : 27, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/ranges.h" + ], + "type" : "file" + }, + { + "backtrace" : 28, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/string.h" + ], + "type" : "file" + }, + { + "backtrace" : 29, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/system.h" + ], + "type" : "file" + }, + { + "backtrace" : 30, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/thread.h" + ], + "type" : "file" + }, + { + "backtrace" : 31, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/time.h" + ], + "type" : "file" + }, + { + "backtrace" : 32, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/types.h" + ], + "type" : "file" + }, + { + "backtrace" : 33, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/utility.h" + ], + "type" : "file" + }, + { + "backtrace" : 34, + "component" : "Unspecified", + "destination" : "include/blt/std", + "paths" : + [ + "lib/blt/include/blt/std/uuid.h" + ], + "type" : "file" + }, + { + "backtrace" : 35, + "component" : "Unspecified", + "destination" : "include/blt/window", + "paths" : + [ + "lib/blt/include/blt/window/window.h" + ], + "type" : "file" + }, + { + "backtrace" : 36, + "component" : "Unspecified", + "destination" : "include/blt", + "paths" : + [ + "cmake-build-relwithdebinfo/config/blt/config.h" + ], + "type" : "file" + }, + { + "backtrace" : 37, + "component" : "Unspecified", + "destination" : "lib", + "paths" : + [ + "lib/blt/libBLT.a" + ], + "targetId" : "BLT::@93fa9f0522c937b42b32", + "targetIndex" : 2, + "type" : "target" + } + ], + "paths" : + { + "build" : "lib/blt", + "source" : "lib/blt" + } +} diff --git a/cmake-build-relwithdebinfo/.cmake/api/v1/reply/index-2024-02-13T19-03-24-0167.json b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/index-2024-02-13T19-03-24-0167.json new file mode 100644 index 0000000..96145b2 --- /dev/null +++ b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/index-2024-02-13T19-03-24-0167.json @@ -0,0 +1,108 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : false, + "name" : "Ninja" + }, + "paths" : + { + "cmake" : "/usr/bin/cmake", + "cpack" : "/usr/bin/cpack", + "ctest" : "/usr/bin/ctest", + "root" : "/usr/share/cmake-3.25" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 25, + "patch" : 1, + "string" : "3.25.1", + "suffix" : "" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-918e45983a52bd747e65.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 4 + } + }, + { + "jsonFile" : "cache-v2-c62c442ed7da132f16e2.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-492203bbc5784e2cacb0.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + { + "jsonFile" : "toolchains-v1-a68c232ca45b00aa6bba.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "cache-v2" : + { + "jsonFile" : "cache-v2-c62c442ed7da132f16e2.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + "cmakeFiles-v1" : + { + "jsonFile" : "cmakeFiles-v1-492203bbc5784e2cacb0.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + "codemodel-v2" : + { + "jsonFile" : "codemodel-v2-918e45983a52bd747e65.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 4 + } + }, + "toolchains-v1" : + { + "jsonFile" : "toolchains-v1-a68c232ca45b00aa6bba.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + } +} diff --git a/cmake-build-relwithdebinfo/.cmake/api/v1/reply/target-Assignment_1-RelWithDebInfo-407003c56c1b7d165329.json b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/target-Assignment_1-RelWithDebInfo-407003c56c1b7d165329.json new file mode 100644 index 0000000..f140b30 --- /dev/null +++ b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/target-Assignment_1-RelWithDebInfo-407003c56c1b7d165329.json @@ -0,0 +1,648 @@ +{ + "artifacts" : + [ + { + "path" : "Assignment_1" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable", + "target_link_options", + "target_link_libraries", + "add_compile_options", + "target_compile_options", + "add_compile_definitions", + "include_directories" + ], + "files" : + [ + "CMakeLists.txt", + "lib/blt/CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 35, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 40, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 46, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 51, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 37, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 41, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 42, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 2, + "file" : 1, + "line" : 91, + "parent" : 8 + }, + { + "command" : 3, + "file" : 0, + "line" : 12, + "parent" : 0 + }, + { + "command" : 4, + "file" : 0, + "line" : 39, + "parent" : 0 + }, + { + "command" : 4, + "file" : 0, + "line" : 45, + "parent" : 0 + }, + { + "command" : 4, + "file" : 0, + "line" : 50, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 17, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 15, + "parent" : 0 + }, + { + "command" : 6, + "file" : 0, + "line" : 25, + "parent" : 0 + }, + { + "command" : 6, + "file" : 0, + "line" : 26, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "-O2 -g -DNDEBUG -fdiagnostics-color=always" + }, + { + "backtrace" : 10, + "fragment" : "-mieee-fp" + }, + { + "backtrace" : 11, + "fragment" : "-Wall" + }, + { + "backtrace" : 11, + "fragment" : "-Wextra" + }, + { + "backtrace" : 11, + "fragment" : "-Wpedantic" + }, + { + "backtrace" : 11, + "fragment" : "-Wno-comment" + }, + { + "backtrace" : 12, + "fragment" : "-fsanitize=address" + }, + { + "backtrace" : 13, + "fragment" : "-fsanitize=undefined" + } + ], + "defines" : + [ + { + "backtrace" : 14, + "define" : "PART_B" + }, + { + "backtrace" : 15, + "define" : "POSIX_MT" + }, + { + "backtrace" : 15, + "define" : "RANDOMSEEDTIME" + }, + { + "backtrace" : 15, + "define" : "USEVFORK" + } + ], + "includes" : + [ + { + "backtrace" : 16, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" + }, + { + "backtrace" : 17, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "17" + }, + "sourceIndexes" : + [ + 0, + 1 + ] + }, + { + "compileCommandFragments" : + [ + { + "fragment" : "-O2 -g -DNDEBUG -fdiagnostics-color=always" + }, + { + "backtrace" : 10, + "fragment" : "-mieee-fp" + }, + { + "backtrace" : 11, + "fragment" : "-Wall" + }, + { + "backtrace" : 11, + "fragment" : "-Wextra" + }, + { + "backtrace" : 11, + "fragment" : "-Wpedantic" + }, + { + "backtrace" : 11, + "fragment" : "-Wno-comment" + }, + { + "backtrace" : 12, + "fragment" : "-fsanitize=address" + }, + { + "backtrace" : 13, + "fragment" : "-fsanitize=undefined" + }, + { + "fragment" : "-std=gnu11" + } + ], + "defines" : + [ + { + "backtrace" : 14, + "define" : "PART_B" + }, + { + "backtrace" : 15, + "define" : "POSIX_MT" + }, + { + "backtrace" : 15, + "define" : "RANDOMSEEDTIME" + }, + { + "backtrace" : 15, + "define" : "USEVFORK" + } + ], + "includes" : + [ + { + "backtrace" : 16, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" + }, + { + "backtrace" : 17, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + } + ], + "language" : "C", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "11" + }, + "sourceIndexes" : + [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + } + ], + "dependencies" : + [ + { + "backtrace" : 5, + "id" : "BLT::@93fa9f0522c937b42b32" + } + ], + "id" : "Assignment_1::@6890427a1f51a3e7e1df", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-O2 -g -DNDEBUG", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wall", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wextra", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wpedantic", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wno-comment", + "role" : "flags" + }, + { + "backtrace" : 3, + "fragment" : "-fsanitize=address", + "role" : "flags" + }, + { + "backtrace" : 4, + "fragment" : "-fsanitize=undefined", + "role" : "flags" + }, + { + "backtrace" : 5, + "fragment" : "-rdynamic", + "role" : "flags" + }, + { + "backtrace" : 5, + "fragment" : "lib/blt/libBLT.a", + "role" : "libraries" + }, + { + "backtrace" : 6, + "fragment" : "-lm", + "role" : "libraries" + }, + { + "backtrace" : 7, + "fragment" : "-lpthread", + "role" : "libraries" + }, + { + "backtrace" : 9, + "fragment" : "/usr/lib/x86_64-linux-gnu/libz.so", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "Assignment_1", + "nameOnDisk" : "Assignment_1", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/program/app.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/program/function.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/main.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/gp.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/eval.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/tree.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/change.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/crossovr.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/reproduc.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/mutate.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/select.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/tournmnt.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/bstworst.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/fitness.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/genspace.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/exch.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/populate.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/ephem.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/ckpoint.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/event.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/pretty.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/individ.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/params.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/random.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/memory.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/output.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/boltzman.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/sigma.c", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 1, + "path" : "lib/lilgp/kernel/fsetupdate.c", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/cmake-build-relwithdebinfo/.cmake/api/v1/reply/target-Assignment_1_RUNNER-RelWithDebInfo-94573580af7bb3676c7e.json b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/target-Assignment_1_RUNNER-RelWithDebInfo-94573580af7bb3676c7e.json new file mode 100644 index 0000000..4012bbe --- /dev/null +++ b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/target-Assignment_1_RUNNER-RelWithDebInfo-94573580af7bb3676c7e.json @@ -0,0 +1,353 @@ +{ + "artifacts" : + [ + { + "path" : "Assignment_1_RUNNER" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable", + "target_link_options", + "target_link_libraries", + "add_dependencies", + "add_compile_options", + "target_compile_options", + "add_compile_definitions", + "include_directories", + "target_include_directories" + ], + "files" : + [ + "CMakeLists.txt", + "lib/blt/CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 62, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 69, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 74, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 79, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 64, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 65, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 66, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 2, + "file" : 1, + "line" : 91, + "parent" : 8 + }, + { + "command" : 3, + "file" : 0, + "line" : 70, + "parent" : 0 + }, + { + "command" : 4, + "file" : 0, + "line" : 12, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 68, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 73, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 78, + "parent" : 0 + }, + { + "command" : 6, + "file" : 0, + "line" : 17, + "parent" : 0 + }, + { + "command" : 6, + "file" : 0, + "line" : 15, + "parent" : 0 + }, + { + "command" : 7, + "file" : 0, + "line" : 25, + "parent" : 0 + }, + { + "command" : 7, + "file" : 0, + "line" : 26, + "parent" : 0 + }, + { + "command" : 8, + "file" : 0, + "line" : 67, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "-O2 -g -DNDEBUG -fdiagnostics-color=always" + }, + { + "backtrace" : 11, + "fragment" : "-mieee-fp" + }, + { + "backtrace" : 12, + "fragment" : "-Wall" + }, + { + "backtrace" : 12, + "fragment" : "-Wextra" + }, + { + "backtrace" : 12, + "fragment" : "-Wpedantic" + }, + { + "backtrace" : 12, + "fragment" : "-Wno-comment" + }, + { + "backtrace" : 13, + "fragment" : "-fsanitize=address" + }, + { + "backtrace" : 14, + "fragment" : "-fsanitize=undefined" + } + ], + "defines" : + [ + { + "backtrace" : 15, + "define" : "PART_B" + }, + { + "backtrace" : 16, + "define" : "POSIX_MT" + }, + { + "backtrace" : 16, + "define" : "RANDOMSEEDTIME" + }, + { + "backtrace" : 16, + "define" : "USEVFORK" + } + ], + "includes" : + [ + { + "backtrace" : 17, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" + }, + { + "backtrace" : 18, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" + }, + { + "backtrace" : 19, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/RUNNER" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + }, + { + "backtrace" : 5, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "17" + }, + "sourceIndexes" : + [ + 0 + ] + } + ], + "dependencies" : + [ + { + "backtrace" : 10, + "id" : "Assignment_1::@6890427a1f51a3e7e1df" + }, + { + "backtrace" : 5, + "id" : "BLT::@93fa9f0522c937b42b32" + } + ], + "id" : "Assignment_1_RUNNER::@6890427a1f51a3e7e1df", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-O2 -g -DNDEBUG", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wall", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wextra", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wpedantic", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "-Wno-comment", + "role" : "flags" + }, + { + "backtrace" : 3, + "fragment" : "-fsanitize=address", + "role" : "flags" + }, + { + "backtrace" : 4, + "fragment" : "-fsanitize=undefined", + "role" : "flags" + }, + { + "backtrace" : 5, + "fragment" : "-rdynamic", + "role" : "flags" + }, + { + "backtrace" : 5, + "fragment" : "lib/blt/libBLT.a", + "role" : "libraries" + }, + { + "backtrace" : 6, + "fragment" : "-lm", + "role" : "libraries" + }, + { + "backtrace" : 7, + "fragment" : "-lpthread", + "role" : "libraries" + }, + { + "backtrace" : 9, + "fragment" : "/usr/lib/x86_64-linux-gnu/libz.so", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "Assignment_1_RUNNER", + "nameOnDisk" : "Assignment_1_RUNNER", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/runner/main.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/cmake-build-relwithdebinfo/.cmake/api/v1/reply/target-BLT-RelWithDebInfo-e1db335905ec712d489d.json b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/target-BLT-RelWithDebInfo-e1db335905ec712d489d.json new file mode 100644 index 0000000..bdc0fb1 --- /dev/null +++ b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/target-BLT-RelWithDebInfo-e1db335905ec712d489d.json @@ -0,0 +1,305 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "lib/blt/libBLT.a" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "install", + "add_compile_options", + "target_compile_options", + "add_compile_definitions", + "include_directories" + ], + "files" : + [ + "lib/blt/CMakeLists.txt", + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 86, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 127, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 2, + "file" : 1, + "line" : 12, + "parent" : 3 + }, + { + "command" : 3, + "file" : 0, + "line" : 102, + "parent" : 0 + }, + { + "command" : 4, + "file" : 1, + "line" : 17, + "parent" : 3 + }, + { + "command" : 4, + "file" : 1, + "line" : 15, + "parent" : 3 + }, + { + "command" : 5, + "file" : 0, + "line" : 64, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 76, + "parent" : 0 + }, + { + "command" : 5, + "file" : 0, + "line" : 77, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : "-O2 -g -DNDEBUG -fdiagnostics-color=always" + }, + { + "backtrace" : 4, + "fragment" : "-mieee-fp" + }, + { + "backtrace" : 5, + "fragment" : "-Wall" + }, + { + "backtrace" : 5, + "fragment" : "-Wextra" + }, + { + "backtrace" : 5, + "fragment" : "-Wpedantic" + }, + { + "fragment" : "-std=gnu++17" + } + ], + "defines" : + [ + { + "backtrace" : 6, + "define" : "PART_B" + }, + { + "backtrace" : 7, + "define" : "POSIX_MT" + }, + { + "backtrace" : 7, + "define" : "RANDOMSEEDTIME" + }, + { + "backtrace" : 7, + "define" : "USEVFORK" + } + ], + "includes" : + [ + { + "backtrace" : 8, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + }, + { + "backtrace" : 9, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" + }, + { + "backtrace" : 10, + "path" : "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "17" + }, + "sourceIndexes" : + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ] + } + ], + "id" : "BLT::@93fa9f0522c937b42b32", + "install" : + { + "destinations" : + [ + { + "backtrace" : 2, + "path" : "lib" + } + ], + "prefix" : + { + "path" : "/usr/local" + } + }, + "name" : "BLT", + "nameOnDisk" : "libBLT.a", + "paths" : + { + "build" : "lib/blt", + "source" : "lib/blt" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/std/assert.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/std/format.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/std/logging.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/std/string.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/std/system.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/profiling/profiler.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/profiling/profiler_v2.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/fs/filesystem.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/fs/loader.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/fs/nbt.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/fs/nbt_block.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/parse/argparse.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "lib/blt/src/blt/parse/obj_loader.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/cmake-build-relwithdebinfo/.cmake/api/v1/reply/toolchains-v1-a68c232ca45b00aa6bba.json b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/toolchains-v1-a68c232ca45b00aa6bba.json new file mode 100644 index 0000000..d98e41f --- /dev/null +++ b/cmake-build-relwithdebinfo/.cmake/api/v1/reply/toolchains-v1-a68c232ca45b00aa6bba.json @@ -0,0 +1,107 @@ +{ + "kind" : "toolchains", + "toolchains" : + [ + { + "compiler" : + { + "id" : "GNU", + "implicit" : + { + "includeDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/12/include", + "/usr/local/include", + "/usr/include/x86_64-linux-gnu", + "/usr/include" + ], + "linkDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/12", + "/usr/lib/x86_64-linux-gnu", + "/usr/lib", + "/lib/x86_64-linux-gnu", + "/lib" + ], + "linkFrameworkDirectories" : [], + "linkLibraries" : + [ + "gcc", + "gcc_s", + "c", + "gcc", + "gcc_s" + ] + }, + "path" : "/usr/bin/cc", + "version" : "12.2.0" + }, + "language" : "C", + "sourceFileExtensions" : + [ + "c", + "m" + ] + }, + { + "compiler" : + { + "id" : "GNU", + "implicit" : + { + "includeDirectories" : + [ + "/usr/include/c++/12", + "/usr/include/x86_64-linux-gnu/c++/12", + "/usr/include/c++/12/backward", + "/usr/lib/gcc/x86_64-linux-gnu/12/include", + "/usr/local/include", + "/usr/include/x86_64-linux-gnu", + "/usr/include" + ], + "linkDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/12", + "/usr/lib/x86_64-linux-gnu", + "/usr/lib", + "/lib/x86_64-linux-gnu", + "/lib" + ], + "linkFrameworkDirectories" : [], + "linkLibraries" : + [ + "stdc++", + "m", + "gcc_s", + "gcc", + "c", + "gcc_s", + "gcc" + ] + }, + "path" : "/usr/bin/c++", + "version" : "12.2.0" + }, + "language" : "CXX", + "sourceFileExtensions" : + [ + "C", + "M", + "c++", + "cc", + "cpp", + "cxx", + "mm", + "mpp", + "CPP", + "ixx", + "cppm" + ] + } + ], + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/cmake-build-relwithdebinfo/.ninja_deps b/cmake-build-relwithdebinfo/.ninja_deps new file mode 100644 index 0000000..c16d110 Binary files /dev/null and b/cmake-build-relwithdebinfo/.ninja_deps differ diff --git a/cmake-build-relwithdebinfo/.ninja_deps (conflicted copy 2024-02-13 123743) b/cmake-build-relwithdebinfo/.ninja_deps (conflicted copy 2024-02-13 123743) new file mode 100644 index 0000000..35deb45 Binary files /dev/null and b/cmake-build-relwithdebinfo/.ninja_deps (conflicted copy 2024-02-13 123743) differ diff --git a/cmake-build-relwithdebinfo/.ninja_log b/cmake-build-relwithdebinfo/.ninja_log new file mode 100644 index 0000000..5678000 --- /dev/null +++ b/cmake-build-relwithdebinfo/.ninja_log @@ -0,0 +1,100 @@ +# ninja log v5 +3 1184 1707850420551604413 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o 502d4943079f85f1 +1916 25186 1707506450883411156 CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o 599c9fdb3b074007 +2 1427 1707850420791602672 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o 8485b7d148faef40 +138 507 1707850419871609345 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o 99e078cd8d0af3c7 +719 853 1707850420219606822 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o b6352714cea76af3 +2219 7170 1707506502975490153 lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o 693cadc3d3bf397e +2 175 1707850419539611750 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o 6a2712e8e4ded033 +4 1509 1707507803498731771 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o e1f18b3901b1f831 +220 963 1707850420327606039 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o abd43556413d9b8a +419 603 1707850419971608622 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o a4c0e5e0de78523d +3 310 1707850419675610765 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o cc0b01becbd77be1 +175 1705 1707850421071600640 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o 624bee95d3c6aaf9 +1066 2792 1707839940686889360 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o cd1c3be570864c29 +1208 3255 1707839941146875174 lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o e81ac5d10c15d64a +3 138 1707850419503612011 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o 4a6ae4fea2f82da9 +0 3857 1707851004153947857 build.ninja a6945914c7734fcf +671 1155 1707850420523604617 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o 8a43066936494a18 +4 907 1707507802898775350 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o f65a51c1c8e89419 +3048 3119 1707850422483590375 Assignment_1 40985ab8c97b1528 +798 901 1707850420267606474 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o 429a91c5ac3c2db3 +3 3458 1707507805446590530 lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o c38566eac1c53edd +1 3048 1707850422411590899 CMakeFiles/Assignment_1.dir/src/program/app.cpp.o dea1d44578d86b75 +3 220 1707850419587611402 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o b4fd5ac7adc823d5 +414 479 1707846036398843345 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o f1afcfc13472a960 +2 419 1707850419783609983 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o a8cfbc2cbddc002b +1107 4554 1707839942442835427 lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o d20d564c95dca27d +869 2326 1707839940218903817 lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o c51fbc58e90c835a +2 537 1707850419903609114 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o 5a2cd8f9f9408879 +603 718 1707850420083607809 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o f7e449585390e816 +397 928 1707850420295606270 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o c0e225ce65665cc5 +2 1197 1707850420563604326 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o 9c79b3626f791704 +1 394 1707850419759610157 CMakeFiles/Assignment_1.dir/src/program/function.cpp.o 467357436b300f41 +507 1056 1707850420423605342 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o 6d4015489d8a6ffd +991 3930 1707839941822854405 lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o 7e47be106444ecf6 +310 668 1707850420035608156 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o 105a5cb4ce489543 +957 3630 1707839941522863621 lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o 56105b07de15cff6 +748 918 1707850420283606357 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o f07768707f6fb6d9 +3 402 1707850419767610099 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o da420d76b8ce707b +1 1931 1707850421295599013 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o 385b6627b900c5b5 +25186 25391 1707506451103411490 Assignment_1_RUNNER d78a6d7696122619 +537 748 1707850420115607577 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o afd2770ef2d6db2b +403 798 1707850420163607228 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o d5f4051900b1522b +2028 4354 1707506500163485889 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o a77d249b4cdb9e3 +1 1737 1707850421103600408 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o c60a90969ff62c74 +927 3695 1707839941586861655 lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o 21ae7f064436c6a +4554 4672 1707839942562831759 lib/blt/libBLT.a f612e81ed877f804 +2 1325 1707507803314745131 lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o 732222e8762e1977 +1 9642 1707851765112595405 CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o 1d3ce78ae2ef3bbd +9642 9737 1707851765216594068 Assignment_1_RUNNER d78a6d7696122619 +2 8589 1707852135293714564 CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o 1d3ce78ae2ef3bbd +8589 8674 1707852135389711792 Assignment_1_RUNNER d78a6d7696122619 +1 754 1707852373919430378 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o c60a90969ff62c74 +754 825 1707852373991428639 Assignment_1 40985ab8c97b1528 +1 712 1707852823177786660 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o c60a90969ff62c74 +712 785 1707852823249785259 Assignment_1 40985ab8c97b1528 +2 2230 1707853370791829548 CMakeFiles/Assignment_1.dir/src/program/app.cpp.o dea1d44578d86b75 +2230 2299 1707853370859828373 Assignment_1 40985ab8c97b1528 +1 9312 1707853639827248239 CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o 1d3ce78ae2ef3bbd +9312 9401 1707853639919246692 Assignment_1_RUNNER d78a6d7696122619 +2 919 1707854478940860261 lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o c51fbc58e90c835a +2 1430 1707854479452853824 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o cd1c3be570864c29 +3 1752 1707854479772849801 lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o e81ac5d10c15d64a +2 2223 1707854480244843867 lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o 21ae7f064436c6a +2 2236 1707854480256843716 lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o 56105b07de15cff6 +2 2368 1707854480388842056 lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o 7e47be106444ecf6 +1 2710 1707854480728837781 CMakeFiles/Assignment_1.dir/src/program/app.cpp.o dea1d44578d86b75 +3 3034 1707854481052833705 lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o d20d564c95dca27d +3034 3166 1707854481180832095 lib/blt/libBLT.a f612e81ed877f804 +3167 3233 1707854481256831138 Assignment_1 40985ab8c97b1528 +1 1003 1707857220222561687 lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o c51fbc58e90c835a +2 1506 1707857220722554288 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o cd1c3be570864c29 +2 1870 1707857221086548901 lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o e81ac5d10c15d64a +1 2381 1707857221598541325 lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o 21ae7f064436c6a +2 2401 1707857221614541087 lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o 56105b07de15cff6 +2 2528 1707857221746539134 lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o 7e47be106444ecf6 +1 2887 1707857222102533867 CMakeFiles/Assignment_1.dir/src/program/app.cpp.o dea1d44578d86b75 +2 3199 1707857222410529309 lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o d20d564c95dca27d +3199 3328 1707857222542527356 lib/blt/libBLT.a f612e81ed877f804 +3328 3405 1707857222622526171 Assignment_1 40985ab8c97b1528 +1 9612 1707857238902285264 CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o 1d3ce78ae2ef3bbd +9613 9704 1707857239002283784 Assignment_1_RUNNER d78a6d7696122619 +1 9683 1707857335672853153 CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o 1d3ce78ae2ef3bbd +9683 9775 1707857335772851673 Assignment_1_RUNNER d78a6d7696122619 +1 10080 1707857614577667883 CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o 1d3ce78ae2ef3bbd +10080 10178 1707857614685767244 Assignment_1_RUNNER d78a6d7696122619 +1 1413 1707862737715408816 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o cd1c3be570864c29 +1 2255 1707862738555365586 lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o 21ae7f064436c6a +1 2273 1707862738571364763 lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o 56105b07de15cff6 +1 2450 1707862738751355504 lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o 7e47be106444ecf6 +2451 2576 1707862738871349332 lib/blt/libBLT.a f612e81ed877f804 +2576 2649 1707862738951345217 Assignment_1 40985ab8c97b1528 +2 9194 1707863086113415707 CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o 1d3ce78ae2ef3bbd +9194 9284 1707863086217412471 Assignment_1_RUNNER d78a6d7696122619 +2 9376 1707863367438016159 CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o 1d3ce78ae2ef3bbd +9376 9485 1707863367554013573 Assignment_1_RUNNER d78a6d7696122619 +1 9396 1707863443600383618 CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o 1d3ce78ae2ef3bbd +9396 9493 1707863443704381473 Assignment_1_RUNNER d78a6d7696122619 +2 9453 1707863837877492077 CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o 1d3ce78ae2ef3bbd +9453 9544 1707863837977490572 Assignment_1_RUNNER d78a6d7696122619 diff --git a/cmake-build-relwithdebinfo/.ninja_log (conflicted copy 2024-02-13 123743) b/cmake-build-relwithdebinfo/.ninja_log (conflicted copy 2024-02-13 123743) new file mode 100644 index 0000000..f06420d --- /dev/null +++ b/cmake-build-relwithdebinfo/.ninja_log (conflicted copy 2024-02-13 123743) @@ -0,0 +1,78 @@ +# ninja log v5 +4 1408 1707839939302932232 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o 502d4943079f85f1 +1916 25186 1707506450883411156 CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o 599c9fdb3b074007 +3 2037 1707839939930912726 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o 8485b7d148faef40 +142 512 1707839938406960165 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o 99e078cd8d0af3c7 +706 868 1707839938762949046 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o b6352714cea76af3 +2219 7170 1707506502975490153 lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o 693cadc3d3bf397e +4 176 1707839938070970658 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o 6a2712e8e4ded033 +4 1509 1707507803498731771 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o e1f18b3901b1f831 +224 991 1707839938886945174 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o abd43556413d9b8a +482 661 1707839938554955542 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o a4c0e5e0de78523d +4 267 1707839938162967785 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o cc0b01becbd77be1 +176 2134 1707839940026909748 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o 624bee95d3c6aaf9 +1066 2792 1707839940686889360 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o cd1c3be570864c29 +1208 3255 1707839941146875174 lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o e81ac5d10c15d64a +5 142 1707839938034971783 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o 4a6ae4fea2f82da9 +3 115 1707845858777723884 build.ninja 5cf21a7a40b05896 +661 1208 1707839939102938444 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o 8a43066936494a18 +4 907 1707507802898775350 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o f65a51c1c8e89419 +638 731 1707840535016000624 Assignment_1 40985ab8c97b1528 +853 957 1707839938850946298 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o 429a91c5ac3c2db3 +3 3458 1707507805446590530 lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o c38566eac1c53edd +2 3811 1707839941702858092 CMakeFiles/Assignment_1.dir/src/program/app.cpp.o dea1d44578d86b75 +5 224 1707839938118969159 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o b4fd5ac7adc823d5 +392 482 1707839938374961164 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o f1afcfc13472a960 +3 342 1707839938238965411 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o a8cfbc2cbddc002b +1107 4554 1707839942442835427 lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o d20d564c95dca27d +869 2326 1707839940218903817 lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o c51fbc58e90c835a +3 592 1707839938486957666 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o 5a2cd8f9f9408879 +592 706 1707839938602954043 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o f7e449585390e816 +343 926 1707839938818947297 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o c0e225ce65665cc5 +1 638 1707840534924002358 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o 9c79b3626f791704 +2 392 1707839938286963913 CMakeFiles/Assignment_1.dir/src/program/function.cpp.o 467357436b300f41 +513 1107 1707839939002941551 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o 6d4015489d8a6ffd +991 3930 1707839941822854405 lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o 7e47be106444ecf6 +267 589 1707839938482957791 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o 105a5cb4ce489543 +957 3630 1707839941522863621 lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o 56105b07de15cff6 +848 1066 1707839938958942925 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o f07768707f6fb6d9 +11 462 1707839938354961789 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o da420d76b8ce707b +3 2338 1707839940230903447 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o 385b6627b900c5b5 +25186 25391 1707506451103411490 Assignment_1_RUNNER d78a6d7696122619 +589 852 1707839938746949546 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o afd2770ef2d6db2b +462 848 1707839938742949671 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o d5f4051900b1522b +2028 4354 1707506500163485889 lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o a77d249b4cdb9e3 +2 2245 1707839940138906288 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o c60a90969ff62c74 +927 3695 1707839941586861655 lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o 21ae7f064436c6a +4554 4672 1707839942562831759 lib/blt/libBLT.a f612e81ed877f804 +2 1325 1707507803314745131 lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o 732222e8762e1977 +4 129 1707845860421697712 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o 4a6ae4fea2f82da9 +3 180 1707845860473696884 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o 6a2712e8e4ded033 +4 237 1707845860529695993 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o b4fd5ac7adc823d5 +4 274 1707845860565695419 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o cc0b01becbd77be1 +3 425 1707845860717692999 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o a8cfbc2cbddc002b +4 440 1707845860733692743 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o da420d76b8ce707b +2 500 1707845860793691789 CMakeFiles/Assignment_1.dir/src/program/function.cpp.o 467357436b300f41 +3 561 1707845860853690834 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o 5a2cd8f9f9408879 +441 569 1707845860861690706 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o f1afcfc13472a960 +129 571 1707845860861690706 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o 99e078cd8d0af3c7 +562 769 1707845861061687520 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o a4c0e5e0de78523d +274 788 1707845861081687202 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o 105a5cb4ce489543 +571 831 1707845861125686502 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o afd2770ef2d6db2b +771 913 1707845861205685228 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o f7e449585390e816 +501 928 1707845861221684972 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o d5f4051900b1522b +426 973 1707845861265684272 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o c0e225ce65665cc5 +832 1022 1707845861317683444 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o b6352714cea76af3 +238 1079 1707845861373682553 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o abd43556413d9b8a +928 1083 1707845861377682489 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o 429a91c5ac3c2db3 +913 1129 1707845861421681787 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o f07768707f6fb6d9 +570 1209 1707845861501680513 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o 6d4015489d8a6ffd +788 1301 1707845861593679049 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o 8a43066936494a18 +3 1317 1707845861609678793 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o 9c79b3626f791704 +4 1393 1707845861685677583 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o 502d4943079f85f1 +3 1999 1707845862293667898 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o 8485b7d148faef40 +3 2003 1707845862297667835 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o c60a90969ff62c74 +181 2075 1707845862369666687 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o 624bee95d3c6aaf9 +3 2369 1707845862661662036 CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o 385b6627b900c5b5 +2 3448 1707845863741644830 CMakeFiles/Assignment_1.dir/src/program/app.cpp.o dea1d44578d86b75 +3449 3521 1707845863813643684 Assignment_1 40985ab8c97b1528 diff --git a/cmake-build-relwithdebinfo/Assignment_1 b/cmake-build-relwithdebinfo/Assignment_1 new file mode 100755 index 0000000..119923d Binary files /dev/null and b/cmake-build-relwithdebinfo/Assignment_1 differ diff --git a/cmake-build-relwithdebinfo/Assignment_1_RUNNER b/cmake-build-relwithdebinfo/Assignment_1_RUNNER new file mode 100755 index 0000000..ad36bf3 Binary files /dev/null and b/cmake-build-relwithdebinfo/Assignment_1_RUNNER differ diff --git a/cmake-build-relwithdebinfo/CMakeCache (conflicted copy 2024-02-13 123738).txt b/cmake-build-relwithdebinfo/CMakeCache (conflicted copy 2024-02-13 123738).txt new file mode 100644 index 0000000..bfc8cb7 --- /dev/null +++ b/cmake-build-relwithdebinfo/CMakeCache (conflicted copy 2024-02-13 123738).txt @@ -0,0 +1,556 @@ +# This is the CMakeCache file. +# For build in directory: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Value Computed by CMake +Assignment_1_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo + +//Value Computed by CMake +Assignment_1_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Assignment_1_RUNNER_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo + +//Value Computed by CMake +Assignment_1_RUNNER_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Assignment_1_RUNNER_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1 + +//Value Computed by CMake +Assignment_1_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1 + +//Value Computed by CMake +BLT_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt + +//Disable blt::logging BLT_DEBUG macro +BLT_DISABLE_DEBUG:BOOL=OFF + +//Disable blt::logging BLT_ERROR macro +BLT_DISABLE_ERROR:BOOL=OFF + +//Disable blt::logging BLT_FATAL macro +BLT_DISABLE_FATAL:BOOL=OFF + +//Disable blt::logging BLT_INFO macro +BLT_DISABLE_INFO:BOOL=OFF + +//Disable blt::logging (all macros and will safely disable logging +// function!) +BLT_DISABLE_LOGGING:BOOL=OFF + +//Disable blt::logging BLT_TRACE macro +BLT_DISABLE_TRACE:BOOL=OFF + +//Disable blt::logging BLT_WARN macro +BLT_DISABLE_WARN:BOOL=OFF + +//Value Computed by CMake +BLT_IS_TOP_LEVEL:STATIC=OFF + +//Dependencies for the target +BLT_LIB_DEPENDS:STATIC=general;ZLIB::ZLIB; + +//Value Computed by CMake +BLT_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt + +//Build the BLT FS utilities including the NBT + eNBT extension +BUILD_FS:BOOL=ON + +//Build the BLT parsers +BUILD_PARSE:BOOL=ON + +//Build the BLT profiler extension +BUILD_PROFILING:BOOL=ON + +//Build the BLT standard utilities. +BUILD_STD:BOOL=ON + +//Build the BLT test set +BUILD_TESTS:BOOL=OFF + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=RelWithDebInfo + +//Enable colored diagnostics throughout. +CMAKE_COLOR_DIAGNOSTICS:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-12 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-12 + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-12 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-12 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/pkgRedirects + +//User executables (bin) +CMAKE_INSTALL_BINDIR:PATH=bin + +//Read-only architecture-independent data (DATAROOTDIR) +CMAKE_INSTALL_DATADIR:PATH= + +//Read-only architecture-independent data root (share) +CMAKE_INSTALL_DATAROOTDIR:PATH=share + +//Documentation root (DATAROOTDIR/doc/PROJECT_NAME) +CMAKE_INSTALL_DOCDIR:PATH= + +//C header files (include) +CMAKE_INSTALL_INCLUDEDIR:PATH=include + +//Info documentation (DATAROOTDIR/info) +CMAKE_INSTALL_INFODIR:PATH= + +//Object code libraries (lib) +CMAKE_INSTALL_LIBDIR:PATH=lib + +//Program executables (libexec) +CMAKE_INSTALL_LIBEXECDIR:PATH=libexec + +//Locale-dependent data (DATAROOTDIR/locale) +CMAKE_INSTALL_LOCALEDIR:PATH= + +//Modifiable single-machine data (var) +CMAKE_INSTALL_LOCALSTATEDIR:PATH=var + +//Man documentation (DATAROOTDIR/man) +CMAKE_INSTALL_MANDIR:PATH= + +//C header files for non-gcc (/usr/include) +CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Run-time variable data (LOCALSTATEDIR/run) +CMAKE_INSTALL_RUNSTATEDIR:PATH= + +//System admin executables (sbin) +CMAKE_INSTALL_SBINDIR:PATH=sbin + +//Modifiable architecture-independent data (com) +CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com + +//Read-only single-machine data (etc) +CMAKE_INSTALL_SYSCONFDIR:PATH=etc + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Assignment_1_RUNNER + +//Value Computed by CMake +CMAKE_PROJECT_VERSION:STATIC=0.11.3 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MAJOR:STATIC=0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MINOR:STATIC=11 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_PATCH:STATIC=3 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_TWEAK:STATIC= + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Enable the address sanitizer +ENABLE_ADDRSAN:BOOL=ON + +//Enable the thread data race sanitizer +ENABLE_TSAN:BOOL=OFF + +//Enable the ub sanitizer +ENABLE_UBSAN:BOOL=ON + +//Build for part B version of the assignment +PART_B:BOOL=ON + +//Path to a file. +ZLIB_INCLUDE_DIR:PATH=/usr/include + +//Path to a library. +ZLIB_LIBRARY_DEBUG:FILEPATH=ZLIB_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +ZLIB_LIBRARY_RELEASE:FILEPATH=/usr/lib/x86_64-linux-gnu/libz.so + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=25 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Test CMAKE_HAVE_LIBC_PTHREAD +CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1 +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/brett/Documents/Brock/CS 4P82/Assignment 1 +//ADVANCED property for variable: CMAKE_INSTALL_BINDIR +CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATADIR +CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR +CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR +CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR +CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INFODIR +CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR +CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR +CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR +CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR +CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_MANDIR +CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR +CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR +CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR +CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR +CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1 +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR +CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=2 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.25 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding Threads +FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] +//ADVANCED property for variable: ZLIB_INCLUDE_DIR +ZLIB_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: ZLIB_LIBRARY_DEBUG +ZLIB_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: ZLIB_LIBRARY_RELEASE +ZLIB_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//linker supports push/pop state +_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE +//CMAKE_INSTALL_PREFIX during last run +_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local + diff --git a/cmake-build-relwithdebinfo/CMakeCache.txt b/cmake-build-relwithdebinfo/CMakeCache.txt new file mode 100644 index 0000000..bfc8cb7 --- /dev/null +++ b/cmake-build-relwithdebinfo/CMakeCache.txt @@ -0,0 +1,556 @@ +# This is the CMakeCache file. +# For build in directory: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Value Computed by CMake +Assignment_1_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo + +//Value Computed by CMake +Assignment_1_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Assignment_1_RUNNER_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo + +//Value Computed by CMake +Assignment_1_RUNNER_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Assignment_1_RUNNER_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1 + +//Value Computed by CMake +Assignment_1_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1 + +//Value Computed by CMake +BLT_BINARY_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt + +//Disable blt::logging BLT_DEBUG macro +BLT_DISABLE_DEBUG:BOOL=OFF + +//Disable blt::logging BLT_ERROR macro +BLT_DISABLE_ERROR:BOOL=OFF + +//Disable blt::logging BLT_FATAL macro +BLT_DISABLE_FATAL:BOOL=OFF + +//Disable blt::logging BLT_INFO macro +BLT_DISABLE_INFO:BOOL=OFF + +//Disable blt::logging (all macros and will safely disable logging +// function!) +BLT_DISABLE_LOGGING:BOOL=OFF + +//Disable blt::logging BLT_TRACE macro +BLT_DISABLE_TRACE:BOOL=OFF + +//Disable blt::logging BLT_WARN macro +BLT_DISABLE_WARN:BOOL=OFF + +//Value Computed by CMake +BLT_IS_TOP_LEVEL:STATIC=OFF + +//Dependencies for the target +BLT_LIB_DEPENDS:STATIC=general;ZLIB::ZLIB; + +//Value Computed by CMake +BLT_SOURCE_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt + +//Build the BLT FS utilities including the NBT + eNBT extension +BUILD_FS:BOOL=ON + +//Build the BLT parsers +BUILD_PARSE:BOOL=ON + +//Build the BLT profiler extension +BUILD_PROFILING:BOOL=ON + +//Build the BLT standard utilities. +BUILD_STD:BOOL=ON + +//Build the BLT test set +BUILD_TESTS:BOOL=OFF + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING=RelWithDebInfo + +//Enable colored diagnostics throughout. +CMAKE_COLOR_DIAGNOSTICS:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-12 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-12 + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-12 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-12 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/pkgRedirects + +//User executables (bin) +CMAKE_INSTALL_BINDIR:PATH=bin + +//Read-only architecture-independent data (DATAROOTDIR) +CMAKE_INSTALL_DATADIR:PATH= + +//Read-only architecture-independent data root (share) +CMAKE_INSTALL_DATAROOTDIR:PATH=share + +//Documentation root (DATAROOTDIR/doc/PROJECT_NAME) +CMAKE_INSTALL_DOCDIR:PATH= + +//C header files (include) +CMAKE_INSTALL_INCLUDEDIR:PATH=include + +//Info documentation (DATAROOTDIR/info) +CMAKE_INSTALL_INFODIR:PATH= + +//Object code libraries (lib) +CMAKE_INSTALL_LIBDIR:PATH=lib + +//Program executables (libexec) +CMAKE_INSTALL_LIBEXECDIR:PATH=libexec + +//Locale-dependent data (DATAROOTDIR/locale) +CMAKE_INSTALL_LOCALEDIR:PATH= + +//Modifiable single-machine data (var) +CMAKE_INSTALL_LOCALSTATEDIR:PATH=var + +//Man documentation (DATAROOTDIR/man) +CMAKE_INSTALL_MANDIR:PATH= + +//C header files for non-gcc (/usr/include) +CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Run-time variable data (LOCALSTATEDIR/run) +CMAKE_INSTALL_RUNSTATEDIR:PATH= + +//System admin executables (sbin) +CMAKE_INSTALL_SBINDIR:PATH=sbin + +//Modifiable architecture-independent data (com) +CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com + +//Read-only single-machine data (etc) +CMAKE_INSTALL_SYSCONFDIR:PATH=etc + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//No help, variable specified on the command line. +CMAKE_MAKE_PROGRAM:UNINITIALIZED=/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Assignment_1_RUNNER + +//Value Computed by CMake +CMAKE_PROJECT_VERSION:STATIC=0.11.3 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MAJOR:STATIC=0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MINOR:STATIC=11 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_PATCH:STATIC=3 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_TWEAK:STATIC= + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Enable the address sanitizer +ENABLE_ADDRSAN:BOOL=ON + +//Enable the thread data race sanitizer +ENABLE_TSAN:BOOL=OFF + +//Enable the ub sanitizer +ENABLE_UBSAN:BOOL=ON + +//Build for part B version of the assignment +PART_B:BOOL=ON + +//Path to a file. +ZLIB_INCLUDE_DIR:PATH=/usr/include + +//Path to a library. +ZLIB_LIBRARY_DEBUG:FILEPATH=ZLIB_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +ZLIB_LIBRARY_RELEASE:FILEPATH=/usr/lib/x86_64-linux-gnu/libz.so + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=25 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Ninja +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Test CMAKE_HAVE_LIBC_PTHREAD +CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1 +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/brett/Documents/Brock/CS 4P82/Assignment 1 +//ADVANCED property for variable: CMAKE_INSTALL_BINDIR +CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATADIR +CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR +CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR +CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR +CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INFODIR +CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR +CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR +CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR +CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR +CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_MANDIR +CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR +CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR +CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR +CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR +CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1 +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR +CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=2 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.25 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding Threads +FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] +//ADVANCED property for variable: ZLIB_INCLUDE_DIR +ZLIB_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: ZLIB_LIBRARY_DEBUG +ZLIB_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: ZLIB_LIBRARY_RELEASE +ZLIB_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//linker supports push/pop state +_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE +//CMAKE_INSTALL_PREFIX during last run +_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local + diff --git a/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeCCompiler.cmake b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeCCompiler.cmake new file mode 100644 index 0000000..14ce679 --- /dev/null +++ b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "12.2.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-12") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-12") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/12/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/12;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeCXXCompiler.cmake b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..1be14a5 --- /dev/null +++ b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "12.2.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-12") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-12") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/12;/usr/include/x86_64-linux-gnu/c++/12;/usr/include/c++/12/backward;/usr/lib/gcc/x86_64-linux-gnu/12/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/12;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_C.bin b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000..f38c8e7 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_C.bin differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_CXX.bin b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000..60578f9 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeSystem.cmake b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeSystem.cmake new file mode 100644 index 0000000..8e69a26 --- /dev/null +++ b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-6.1.0-16-amd64") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "6.1.0-16-amd64") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Linux-6.1.0-16-amd64") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "6.1.0-16-amd64") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CompilerIdC/CMakeCCompilerId.c b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..a83e378 --- /dev/null +++ b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,868 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(1) +# if defined(__LCC__) +# define COMPILER_VERSION_MINOR DEC(__LCC__- 100) +# endif +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CompilerIdC/a.out b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CompilerIdC/a.out new file mode 100755 index 0000000..2842992 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CompilerIdC/a.out differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CompilerIdCXX/CMakeCXXCompilerId.cpp b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..c9ba632 --- /dev/null +++ b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,857 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(1) +# if defined(__LCC__) +# define COMPILER_VERSION_MINOR DEC(__LCC__- 100) +# endif +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CompilerIdCXX/a.out b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CompilerIdCXX/a.out new file mode 100755 index 0000000..af69ab5 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CompilerIdCXX/a.out differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o new file mode 100644 index 0000000..2c0294e Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o new file mode 100644 index 0000000..703bfcc Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o new file mode 100644 index 0000000..62f71ef Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o new file mode 100644 index 0000000..6613a63 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o new file mode 100644 index 0000000..f842826 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o new file mode 100644 index 0000000..a1ba812 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o new file mode 100644 index 0000000..2658369 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o new file mode 100644 index 0000000..15edbd6 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o new file mode 100644 index 0000000..4f8c739 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o new file mode 100644 index 0000000..435cce7 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o new file mode 100644 index 0000000..6f67fc6 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o new file mode 100644 index 0000000..6ab6686 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o new file mode 100644 index 0000000..4ca12b5 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o new file mode 100644 index 0000000..a0ddfa2 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o new file mode 100644 index 0000000..d552ac4 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o new file mode 100644 index 0000000..be8d83d Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o new file mode 100644 index 0000000..a2f90c9 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o new file mode 100644 index 0000000..0611a83 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o new file mode 100644 index 0000000..d6fb0d9 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o new file mode 100644 index 0000000..950e25e Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o new file mode 100644 index 0000000..d095718 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o new file mode 100644 index 0000000..450c046 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o new file mode 100644 index 0000000..28fb78a Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o new file mode 100644 index 0000000..9de44e2 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o new file mode 100644 index 0000000..737e073 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o new file mode 100644 index 0000000..357e989 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o new file mode 100644 index 0000000..5ce96d6 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/src/program/app.cpp.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/src/program/app.cpp.o new file mode 100644 index 0000000..31c9bed Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/src/program/app.cpp.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/src/program/function.cpp.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/src/program/function.cpp.o new file mode 100644 index 0000000..cc90118 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir/src/program/function.cpp.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o new file mode 100644 index 0000000..c034abe Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/CMakeOutput.log b/cmake-build-relwithdebinfo/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..b7462b8 --- /dev/null +++ b/cmake-build-relwithdebinfo/CMakeFiles/CMakeOutput.log @@ -0,0 +1,460 @@ +The system is: Linux - 6.1.0-16-amd64 - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/cc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/3.25.1/CompilerIdCXX/a.out" + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/CMakeScratch/TryCompile-mSB904 + +Run Build Command(s):/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja cmTC_70d3c && [1/2] Building C object CMakeFiles/cmTC_70d3c.dir/CMakeCCompilerABI.c.o +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 12.2.0 (Debian 12.2.0-14) +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_70d3c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_70d3c.dir/' + /usr/lib/gcc/x86_64-linux-gnu/12/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_70d3c.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -o /tmp/ccxRJuIz.s +GNU C17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu) + compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.1-p1, MPC version 1.3.1, isl version isl-0.25-GMP + +warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0. +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/12/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +GNU C17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu) + compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.1-p1, MPC version 1.3.1, isl version isl-0.25-GMP + +warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0. +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: cc72d2b9b5048fedc2be9051c917b40b +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_70d3c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_70d3c.dir/' + as -v --64 -o CMakeFiles/cmTC_70d3c.dir/CMakeCCompilerABI.c.o /tmp/ccxRJuIz.s +GNU assembler version 2.40 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.40 +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_70d3c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_70d3c.dir/CMakeCCompilerABI.c.' +[2/2] Linking C executable cmTC_70d3c +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 12.2.0 (Debian 12.2.0-14) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_70d3c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_70d3c.' + /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/ccOLEOYV.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_70d3c /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/12/../../.. CMakeFiles/cmTC_70d3c.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_70d3c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_70d3c.' + + + +Parsed C implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-linux-gnu/12/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/12/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/12/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/12/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/CMakeScratch/TryCompile-mSB904] + ignore line: [] + ignore line: [Run Build Command(s):/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja cmTC_70d3c && [1/2] Building C object CMakeFiles/cmTC_70d3c.dir/CMakeCCompilerABI.c.o] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 12.2.0 (Debian 12.2.0-14) ] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_70d3c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_70d3c.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/12/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_70d3c.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -o /tmp/ccxRJuIz.s] + ignore line: [GNU C17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 12.2.0 GMP version 6.2.1 MPFR version 4.1.1-p1 MPC version 1.3.1 isl version isl-0.25-GMP] + ignore line: [] + ignore line: [warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/12/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 12.2.0 GMP version 6.2.1 MPFR version 4.1.1-p1 MPC version 1.3.1 isl version isl-0.25-GMP] + ignore line: [] + ignore line: [warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: cc72d2b9b5048fedc2be9051c917b40b] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_70d3c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_70d3c.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_70d3c.dir/CMakeCCompilerABI.c.o /tmp/ccxRJuIz.s] + ignore line: [GNU assembler version 2.40 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.40] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_70d3c.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_70d3c.dir/CMakeCCompilerABI.c.'] + ignore line: [[2/2] Linking C executable cmTC_70d3c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 12.2.0 (Debian 12.2.0-14) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_70d3c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_70d3c.'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/ccOLEOYV.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_70d3c /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/12/../../.. CMakeFiles/cmTC_70d3c.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccOLEOYV.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-o] ==> ignore + arg [cmTC_70d3c] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../..] + arg [CMakeFiles/cmTC_70d3c.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12] ==> [/usr/lib/gcc/x86_64-linux-gnu/12] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/12;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/CMakeScratch/TryCompile-qvMOWK + +Run Build Command(s):/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja cmTC_b750c && [1/2] Building CXX object CMakeFiles/cmTC_b750c.dir/CMakeCXXCompilerABI.cpp.o +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 12.2.0 (Debian 12.2.0-14) +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b750c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b750c.dir/' + /usr/lib/gcc/x86_64-linux-gnu/12/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_b750c.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -o /tmp/ccFo28sc.s +GNU C++17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu) + compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.1-p1, MPC version 1.3.1, isl version isl-0.25-GMP + +warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0. +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/12" +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/include/c++/12 + /usr/include/x86_64-linux-gnu/c++/12 + /usr/include/c++/12/backward + /usr/lib/gcc/x86_64-linux-gnu/12/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +GNU C++17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu) + compiled by GNU C version 12.2.0, GMP version 6.2.1, MPFR version 4.1.1-p1, MPC version 1.3.1, isl version isl-0.25-GMP + +warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0. +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 62b090dbbefa50644117a3c13d47369a +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b750c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b750c.dir/' + as -v --64 -o CMakeFiles/cmTC_b750c.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccFo28sc.s +GNU assembler version 2.40 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.40 +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b750c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b750c.dir/CMakeCXXCompilerABI.cpp.' +[2/2] Linking CXX executable cmTC_b750c +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 12.2.0 (Debian 12.2.0-14) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_b750c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_b750c.' + /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/cc2Xo48h.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_b750c /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/12/../../.. CMakeFiles/cmTC_b750c.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_b750c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_b750c.' + + + +Parsed CXX implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/include/c++/12] + add: [/usr/include/x86_64-linux-gnu/c++/12] + add: [/usr/include/c++/12/backward] + add: [/usr/lib/gcc/x86_64-linux-gnu/12/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/include/c++/12] ==> [/usr/include/c++/12] + collapse include dir [/usr/include/x86_64-linux-gnu/c++/12] ==> [/usr/include/x86_64-linux-gnu/c++/12] + collapse include dir [/usr/include/c++/12/backward] ==> [/usr/include/c++/12/backward] + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/12/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/12/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/12;/usr/include/x86_64-linux-gnu/c++/12;/usr/include/c++/12/backward;/usr/lib/gcc/x86_64-linux-gnu/12/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/CMakeScratch/TryCompile-qvMOWK] + ignore line: [] + ignore line: [Run Build Command(s):/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja cmTC_b750c && [1/2] Building CXX object CMakeFiles/cmTC_b750c.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 12.2.0 (Debian 12.2.0-14) ] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b750c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b750c.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/12/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_b750c.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -fasynchronous-unwind-tables -o /tmp/ccFo28sc.s] + ignore line: [GNU C++17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 12.2.0 GMP version 6.2.1 MPFR version 4.1.1-p1 MPC version 1.3.1 isl version isl-0.25-GMP] + ignore line: [] + ignore line: [warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/12"] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/include/c++/12] + ignore line: [ /usr/include/x86_64-linux-gnu/c++/12] + ignore line: [ /usr/include/c++/12/backward] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/12/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C++17 (Debian 12.2.0-14) version 12.2.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 12.2.0 GMP version 6.2.1 MPFR version 4.1.1-p1 MPC version 1.3.1 isl version isl-0.25-GMP] + ignore line: [] + ignore line: [warning: MPFR header version 4.1.1-p1 differs from library version 4.2.0.] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 62b090dbbefa50644117a3c13d47369a] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b750c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b750c.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_b750c.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccFo28sc.s] + ignore line: [GNU assembler version 2.40 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.40] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-o' 'CMakeFiles/cmTC_b750c.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_b750c.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [[2/2] Linking CXX executable cmTC_b750c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c ada c++ go d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 12.2.0 (Debian 12.2.0-14) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/12/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/12/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_b750c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_b750c.'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/12/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper -plugin-opt=-fresolution=/tmp/cc2Xo48h.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_b750c /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/12/../../.. CMakeFiles/cmTC_b750c.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/cc2Xo48h.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-o] ==> ignore + arg [cmTC_b750c] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/12/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../..] + arg [CMakeFiles/cmTC_b750c.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12] ==> [/usr/lib/gcc/x86_64-linux-gnu/12] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/12/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/12;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + +Performing C SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD succeeded with the following output: +Change Dir: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/CMakeScratch/TryCompile-CN8Zci + +Run Build Command(s):/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja cmTC_d3dab && [1/2] Building C object CMakeFiles/cmTC_d3dab.dir/src.c.o +[2/2] Linking C executable cmTC_d3dab + + +Source file was: +#include + +static void* test_func(void* data) +{ + return data; +} + +int main(void) +{ + pthread_t thread; + pthread_create(&thread, NULL, test_func, NULL); + pthread_detach(thread); + pthread_cancel(thread); + pthread_join(thread, NULL); + pthread_atfork(NULL, NULL, NULL); + pthread_exit(NULL); + + return 0; +} + + diff --git a/cmake-build-relwithdebinfo/CMakeFiles/TargetDirectories.txt b/cmake-build-relwithdebinfo/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..862da72 --- /dev/null +++ b/cmake-build-relwithdebinfo/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,15 @@ +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/Assignment_1_RUNNER.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/edit_cache.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/rebuild_cache.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/list_install_components.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/install.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/install/local.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/CMakeFiles/install/strip.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/edit_cache.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/rebuild_cache.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/list_install_components.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/install.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/install/local.dir +/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/install/strip.dir diff --git a/cmake-build-relwithdebinfo/CMakeFiles/clion-RelWithDebInfo-log.txt b/cmake-build-relwithdebinfo/CMakeFiles/clion-RelWithDebInfo-log.txt new file mode 100644 index 0000000..8ec4ea4 --- /dev/null +++ b/cmake-build-relwithdebinfo/CMakeFiles/clion-RelWithDebInfo-log.txt @@ -0,0 +1,20 @@ +/usr/bin/cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_MAKE_PROGRAM=/opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja -DENABLE_ADDRSAN:BOOL=ON -DENABLE_UBSAN:BOOL=ON -G Ninja -S "/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" + + +Building STD +Building Profiling +Building FS +Building Parsers +Found Parallel Hashmaps +Standard Files /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/std/assert.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/std/format.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/std/logging.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/std/string.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/std/system.cpp +Profiler Files /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/profiling/profiler.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/profiling/profiler_v2.cpp +FS Files /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/fs/filesystem.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/fs/loader.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/fs/nbt.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/fs/nbt_block.cpp +Parser Files /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/parse/argparse.cpp;/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/src/blt/parse/obj_loader.cpp +Source: /home/brett/Documents/Brock/CS 4P82/Assignment 1 +Current Source: /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt +Including phmap +BLT Successfully included! +Installing to lib with headers at include +-- Configuring done +-- Generating done +-- Build files have been written to: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo diff --git a/cmake-build-relwithdebinfo/CMakeFiles/clion-environment.txt b/cmake-build-relwithdebinfo/CMakeFiles/clion-environment.txt new file mode 100644 index 0000000..0623744 Binary files /dev/null and b/cmake-build-relwithdebinfo/CMakeFiles/clion-environment.txt differ diff --git a/cmake-build-relwithdebinfo/CMakeFiles/cmake.check_cache b/cmake-build-relwithdebinfo/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/cmake-build-relwithdebinfo/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/cmake-build-relwithdebinfo/CMakeFiles/rules.ninja b/cmake-build-relwithdebinfo/CMakeFiles/rules.ninja new file mode 100644 index 0000000..c4dd916 --- /dev/null +++ b/cmake-build-relwithdebinfo/CMakeFiles/rules.ninja @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.25 + +# This file contains all the rules used to get the outputs files +# built from the input files. +# It is included in the main 'build.ninja'. + +# ============================================================================= +# Project: Assignment_1_RUNNER +# Configurations: RelWithDebInfo +# ============================================================================= +# ============================================================================= + +############################################# +# Rule for compiling C files. + +rule C_COMPILER__Assignment_1_RelWithDebInfo + depfile = $DEP_FILE + deps = gcc + command = /usr/bin/cc $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building C object $out + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__Assignment_1_RelWithDebInfo + depfile = $DEP_FILE + deps = gcc + command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX executable. + +rule CXX_EXECUTABLE_LINKER__Assignment_1_RelWithDebInfo + command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD + description = Linking CXX executable $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__Assignment_1_RUNNER_RelWithDebInfo + depfile = $DEP_FILE + deps = gcc + command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX executable. + +rule CXX_EXECUTABLE_LINKER__Assignment_1_RUNNER_RelWithDebInfo + command = $PRE_LINK && /usr/bin/c++ $FLAGS $LINK_FLAGS $in -o $TARGET_FILE $LINK_PATH $LINK_LIBRARIES && $POST_BUILD + description = Linking CXX executable $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for running custom commands. + +rule CUSTOM_COMMAND + command = $COMMAND + description = $DESC + + +############################################# +# Rule for compiling CXX files. + +rule CXX_COMPILER__BLT_RelWithDebInfo + depfile = $DEP_FILE + deps = gcc + command = /usr/bin/c++ $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $in + description = Building CXX object $out + + +############################################# +# Rule for linking CXX static library. + +rule CXX_STATIC_LIBRARY_LINKER__BLT_RelWithDebInfo + command = $PRE_LINK && /usr/bin/cmake -E rm -f $TARGET_FILE && /usr/bin/ar qc $TARGET_FILE $LINK_FLAGS $in && /usr/bin/ranlib $TARGET_FILE && $POST_BUILD + description = Linking CXX static library $TARGET_FILE + restat = $RESTAT + + +############################################# +# Rule for re-running cmake. + +rule RERUN_CMAKE + command = /usr/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" + description = Re-running CMake... + generator = 1 + + +############################################# +# Rule for cleaning all built files. + +rule CLEAN + command = /opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja $FILE_ARG -t clean $TARGETS + description = Cleaning all built files... + + +############################################# +# Rule for printing all primary targets available. + +rule HELP + command = /opt/brett/jetbrains/clion-install/bin/ninja/linux/x64/ninja -t targets + description = All primary targets available: + diff --git a/cmake-build-relwithdebinfo/CMakeFiles/rules.ninja.tmp7a1fd b/cmake-build-relwithdebinfo/CMakeFiles/rules.ninja.tmp7a1fd new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/Testing/Temporary/LastTest.log b/cmake-build-relwithdebinfo/Testing/Temporary/LastTest.log new file mode 100644 index 0000000..f5d3fcb --- /dev/null +++ b/cmake-build-relwithdebinfo/Testing/Temporary/LastTest.log @@ -0,0 +1,3 @@ +Start testing: Feb 13 17:37 EST +---------------------------------------------------------- +End testing: Feb 13 17:37 EST diff --git a/cmake-build-relwithdebinfo/aggregated.tsv b/cmake-build-relwithdebinfo/aggregated.tsv new file mode 100644 index 0000000..086c300 --- /dev/null +++ b/cmake-build-relwithdebinfo/aggregated.tsv @@ -0,0 +1,54 @@ +Runs Generation Count Mean: 50 +Runs Generation Count Mode: 50 occurred (10) time(s) +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +50 0 0 0.99718 0.9989 0 8.9623 3 23 6 21 7.5 0.99454 0.9989 0 12.3943 3 23 6 52 +49 0 0 0.99686 0.9989 0 9.081 3 23 6 21 7.1 0.99448 0.9989 0 12.4629 3 23 6 52 +48 0 0 0.99687 0.9989 0 9.1176 3 23 6 20 7.4 0.99443 0.9989 0 12.5318 3 23 6 52 +47 0 0 0.99673 0.9989 0 9.1868 3 23 6 25 8.1 0.99438 0.9989 0 12.603 3 23 6 52 +46 0 0 0.99698 0.9989 0 9.3163 3 24 6 28 8.7 0.99434 0.9989 0 12.6757 3 24 6 52 +45 0 0 0.99659 0.9989 0 9.4413 3 24 6 22 7 0.99428 0.9989 0 12.7489 3 24 6 52 +44 0 0 0.9966 0.9989 0 9.5599 3 24 6 31 8.6 0.99422 0.9989 0 12.8223 3 24 6 52 +43 0 0 0.99671 0.9989 0 9.6086 3 24 6 25 7.6 0.99418 0.9989 0 12.8963 3 24 6 52 +42 0 0 0.99689 0.9989 0 9.7005 3 26 6 17 6.4 0.99411 0.9989 0 12.9728 3 26 6 52 +41 0 0 0.99657 0.9989 0 9.8046 3 26 6 28 8 0.99405 0.9989 0 13.0508 3 26 6 52 +40 0 0 0.99655 0.9989 0 9.9402 3 26 6 32 8.6 0.99399 0.9989 0 13.13 3 26 6 52 +39 0 0 0.99661 0.9989 0 9.9586 3 26 6 23 7.4 0.99393 0.9989 0 13.2096 3 26 6 52 +38 0 0 0.99658 0.9989 0 10.1059 3 26 6 25 7.9 0.99384 0.9989 0 13.2931 3 26 6 52 +37 0 0 0.99654 0.9989 0 10.2773 3 26 6 16 5.8 0.99377 0.9989 0 13.3771 3 26 6 52 +36 0 0 0.9965 0.9989 0 10.4164 3 26 6 23 7.7 0.99371 0.9989 0 13.4606 3 26 6 52 +35 0 0 0.99643 0.9989 0 10.5104 3 26 6 26 8.5 0.99362 0.9989 0 13.5452 3 26 6 52 +34 0 0 0.99637 0.9989 0 10.6247 3 26 6 27 8.6 0.99354 0.9989 0 13.632 3 26 6 52 +33 0 0 0.99619 0.9989 0 10.7821 3 26 6 33 9.1 0.99347 0.9989 0 13.7203 3 26 6 52 +32 0 0 0.99655 0.9989 0 10.9023 3 26 6 37 9.4 0.99337 0.9989 0 13.8095 3 26 6 52 +31 0 0 0.99599 0.9989 0 11.0417 3 26 6 28 7.8 0.99328 0.9989 0 13.9003 3 26 6 52 +30 0 0 0.99621 0.9989 0 11.2312 3 26 6 22 7 0.99319 0.9989 0 13.9926 3 26 6 52 +29 0 0 0.99639 0.9989 0 11.4079 3 26 6 27 7.8 0.99311 0.9989 0 14.0846 3 26 6 52 +12 0 0 0.99438 0.99888 0 14.4441 3 26 5 32 7.1 0.99004 0.99888 0 15.8091 3 26 5 52 +11 0 0 0.99435 0.99888 0 14.6403 3 26 5 37 9.2 0.98969 0.99888 0 15.9228 3 26 5 52 +10 0 0 0.99357 0.99888 0 14.877 3 26 5 36 7.8 0.98927 0.99888 0 16.0394 3 26 5 52 +9 0 0 0.99441 0.99888 0 15.0039 3 32 6 39 7.6 0.98883 0.99888 0 16.1556 3 32 6 52 +8 0 0 0.99382 0.99884 0 15.182 3 32 5 33 7.7 0.9882 0.99884 0 16.2836 3 32 5 52 +7 0 0 0.99352 0.99883 0 15.4616 3 32 6 40 7.2 0.98751 0.99883 0 16.4215 3 32 6 52 +6 0 0 0.99226 0.99882 0 15.7311 3 31 6 38 7.3 0.98665 0.99882 0 16.5586 3 31 6 52 +5 0 0 0.99199 0.99882 0 15.8528 3 31 6 42 7.4 0.98572 0.99882 0 16.6964 3 31 6 52 +4 0 0 0.99196 0.99879 0 16.0565 3 33 5 37 6.9 0.98447 0.99879 0 16.8649 3 33 5 52 +3 0 0 0.99126 0.99879 0 16.3962 3 39 5 36 6.9 0.98259 0.99879 0 17.0671 3 39 5 52 +2 0 0 0.99063 0.99878 0 16.7032 3 36 5 41 6.6 0.97969 0.99878 0 17.2911 3 36 5 52 +1 0 0 0.99071 0.99874 0 16.8485 3 31 5 45 6.2 0.9742 0.99874 0 17.5848 3 31 5 52 +0 0 0 0.95773 0.99869 0 18.3213 3 33 4 52 5.7 0.95773 0.99869 0 18.3213 3 33 4 52 +13 0 0 0.99508 0.99888 0 14.3384 3 25 5 31 7.4 0.99039 0.99888 0 15.704 3 25 5 52 +14 0 0 0.99451 0.99889 0 14.0877 3 26 5 23 6.6 0.99068 0.99889 0 15.5961 3 26 5 52 +15 0 0 0.9948 0.99889 0 13.8261 3 26 5 34 8.7 0.99092 0.99889 0 15.4856 3 26 5 52 +16 0 0 0.99461 0.9989 0 13.6167 3 23 5 41 9.7 0.99113 0.9989 0 15.3757 3 23 5 52 +17 0 0 0.99495 0.9989 0 13.4132 3 24 6 25 8.3 0.99135 0.9989 0 15.2668 3 24 6 52 +18 0 0 0.99554 0.9989 0 13.1941 3 24 6 27 7.8 0.99158 0.9989 0 15.1575 3 24 6 52 +19 0 0 0.99536 0.9989 0 13.033 3 24 6 33 10 0.99178 0.9989 0 15.0514 3 24 6 52 +20 0 0 0.99568 0.9989 0 12.8674 3 25 6 32 8.6 0.99195 0.9989 0 14.9475 3 25 6 52 +21 0 0 0.99572 0.9989 0 12.7323 3 25 6 16 5.9 0.99211 0.9989 0 14.8466 3 25 6 52 +22 0 0 0.99527 0.9989 0 12.5712 3 25 6 33 9.3 0.99229 0.9989 0 14.7477 3 25 6 52 +23 0 0 0.99578 0.9989 0 12.4062 3 25 6 30 8.2 0.99239 0.9989 0 14.6501 3 25 6 52 +24 0 0 0.99558 0.9989 0 12.2327 3 26 6 38 9 0.99251 0.9989 0 14.5535 3 26 6 52 +25 0 0 0.996 0.9989 0 12.0757 3 26 6 34 9.4 0.99266 0.9989 0 14.4581 3 26 6 52 +26 0 0 0.99568 0.9989 0 11.951 3 26 6 29 7.3 0.99277 0.9989 0 14.3652 3 26 6 52 +27 0 0 0.99588 0.9989 0 11.731 3 27 6 34 9.4 0.99289 0.9989 0 14.2711 3 27 6 52 +28 0 0 0.99593 0.9989 0 11.533 3 26 6 28 8.7 0.99298 0.9989 0 14.1768 3 26 6 52 diff --git a/cmake-build-relwithdebinfo/build (conflicted copy 2024-02-13 123738).ninja b/cmake-build-relwithdebinfo/build (conflicted copy 2024-02-13 123738).ninja new file mode 100644 index 0000000..9e106e8 --- /dev/null +++ b/cmake-build-relwithdebinfo/build (conflicted copy 2024-02-13 123738).ninja @@ -0,0 +1,746 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.25 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: Assignment_1_RUNNER +# Configurations: RelWithDebInfo +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = RelWithDebInfo +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/cmake-build-relwithdebinfo/ +# ============================================================================= +# Object build statements for EXECUTABLE target Assignment_1 + + +############################################# +# Order-only phony target for Assignment_1 + +build cmake_object_order_depends_target_Assignment_1: phony || cmake_object_order_depends_target_BLT + +build CMakeFiles/Assignment_1.dir/src/program/app.cpp.o: CXX_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/program/app.cpp || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/src/program/app.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/src/program + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/src/program/function.cpp.o: CXX_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/program/function.cpp || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/src/program/function.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/src/program + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/main.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/gp.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/eval.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/tree.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/change.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/crossovr.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/reproduc.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/mutate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/select.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/tournmnt.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/bstworst.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/fitness.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/genspace.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/exch.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/populate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/ephem.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/ckpoint.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/event.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/pretty.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/individ.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/params.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/random.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/memory.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/output.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/boltzman.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/sigma.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/fsetupdate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_PDB = Assignment_1.pdb + + +# ============================================================================= +# Link build statements for EXECUTABLE target Assignment_1 + + +############################################# +# Link the executable Assignment_1 + +build Assignment_1: CXX_EXECUTABLE_LINKER__Assignment_1_RelWithDebInfo CMakeFiles/Assignment_1.dir/src/program/app.cpp.o CMakeFiles/Assignment_1.dir/src/program/function.cpp.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o | lib/blt/libBLT.a /usr/lib/x86_64-linux-gnu/libz.so || lib/blt/libBLT.a + FLAGS = -O2 -g -DNDEBUG + LINK_FLAGS = -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -rdynamic + LINK_LIBRARIES = lib/blt/libBLT.a -lm -lpthread /usr/lib/x86_64-linux-gnu/libz.so + OBJECT_DIR = CMakeFiles/Assignment_1.dir + POST_BUILD = : + PRE_LINK = : + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1.dir/ + TARGET_FILE = Assignment_1 + TARGET_PDB = Assignment_1.pdb + +# ============================================================================= +# Object build statements for EXECUTABLE target Assignment_1_RUNNER + + +############################################# +# Order-only phony target for Assignment_1_RUNNER + +build cmake_object_order_depends_target_Assignment_1_RUNNER: phony || Assignment_1 cmake_object_order_depends_target_BLT + +build CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o: CXX_COMPILER__Assignment_1_RUNNER_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/runner/main.cpp || cmake_object_order_depends_target_Assignment_1_RUNNER + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/RUNNER" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1_RUNNER.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1_RUNNER.dir/src/runner + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1_RUNNER.dir/ + TARGET_PDB = Assignment_1_RUNNER.pdb + + +# ============================================================================= +# Link build statements for EXECUTABLE target Assignment_1_RUNNER + + +############################################# +# Link the executable Assignment_1_RUNNER + +build Assignment_1_RUNNER: CXX_EXECUTABLE_LINKER__Assignment_1_RUNNER_RelWithDebInfo CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o | lib/blt/libBLT.a /usr/lib/x86_64-linux-gnu/libz.so || Assignment_1 lib/blt/libBLT.a + FLAGS = -O2 -g -DNDEBUG + LINK_FLAGS = -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -rdynamic + LINK_LIBRARIES = lib/blt/libBLT.a -lm -lpthread /usr/lib/x86_64-linux-gnu/libz.so + OBJECT_DIR = CMakeFiles/Assignment_1_RUNNER.dir + POST_BUILD = : + PRE_LINK = : + TARGET_COMPILE_PDB = CMakeFiles/Assignment_1_RUNNER.dir/ + TARGET_FILE = Assignment_1_RUNNER + TARGET_PDB = Assignment_1_RUNNER.pdb + + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" && /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" && /usr/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build list_install_components: phony + + +############################################# +# Utility command for install + +build CMakeFiles/install.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" && /usr/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build install: phony CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build CMakeFiles/install/local.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" && /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build install/local: phony CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build CMakeFiles/install/strip.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" && /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build install/strip: phony CMakeFiles/install/strip.util + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# /home/brett/Documents/Brock/CS 4P82/Assignment 1/CMakeLists.txt +# ============================================================================= + +# ============================================================================= +# Object build statements for STATIC_LIBRARY target BLT + + +############################################# +# Order-only phony target for BLT + +build cmake_object_order_depends_target_BLT: phony || lib/blt/CMakeFiles/BLT.dir + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/assert.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/format.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/logging.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/string.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/system.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/profiling/profiler.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/profiling/profiler_v2.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/filesystem.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/loader.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/nbt.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/nbt_block.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/parse/argparse.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/parse + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + +build lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/parse/obj_loader.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/parse + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_PDB = lib/blt/libBLT.pdb + + +# ============================================================================= +# Link build statements for STATIC_LIBRARY target BLT + + +############################################# +# Link the static library lib/blt/libBLT.a + +build lib/blt/libBLT.a: CXX_STATIC_LIBRARY_LINKER__BLT_RelWithDebInfo lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o + LANGUAGE_COMPILE_FLAGS = -O2 -g -DNDEBUG + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + POST_BUILD = : + PRE_LINK = : + TARGET_COMPILE_PDB = lib/blt/CMakeFiles/BLT.dir/BLT.pdb + TARGET_FILE = lib/blt/libBLT.a + TARGET_PDB = lib/blt/libBLT.pdb + + +############################################# +# Utility command for edit_cache + +build lib/blt/CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt" && /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build lib/blt/edit_cache: phony lib/blt/CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build lib/blt/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt" && /usr/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build lib/blt/rebuild_cache: phony lib/blt/CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build lib/blt/list_install_components: phony + + +############################################# +# Utility command for install + +build lib/blt/CMakeFiles/install.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt" && /usr/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build lib/blt/install: phony lib/blt/CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build lib/blt/CMakeFiles/install/local.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt" && /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build lib/blt/install/local: phony lib/blt/CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build lib/blt/CMakeFiles/install/strip.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt" && /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build lib/blt/install/strip: phony lib/blt/CMakeFiles/install/strip.util + +# ============================================================================= +# Target aliases. + +build BLT: phony lib/blt/libBLT.a + +build libBLT.a: phony lib/blt/libBLT.a + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo + +build all: phony Assignment_1 Assignment_1_RUNNER lib/blt/all + +# ============================================================================= + +############################################# +# Folder: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt + +build lib/blt/all: phony lib/blt/libBLT.a + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/include/blt/config.h.in /usr/share/cmake-3.25/Modules/CMakeCCompiler.cmake.in /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c /usr/share/cmake-3.25/Modules/CMakeCInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCXXCompiler.cmake.in /usr/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp /usr/share/cmake-3.25/Modules/CMakeCXXInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake-3.25/Modules/CMakeCompilerIdDetection.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCXXCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompileFeatures.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompilerABI.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompilerId.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineSystem.cmake /usr/share/cmake-3.25/Modules/CMakeFindBinUtils.cmake /usr/share/cmake-3.25/Modules/CMakeGenericSystem.cmake /usr/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake /usr/share/cmake-3.25/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/share/cmake-3.25/Modules/CMakeParseImplicitLinkInfo.cmake /usr/share/cmake-3.25/Modules/CMakeParseLibraryArchitecture.cmake /usr/share/cmake-3.25/Modules/CMakeSystem.cmake.in /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake-3.25/Modules/CMakeTestCCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeTestCXXCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeTestCompilerCommon.cmake /usr/share/cmake-3.25/Modules/CheckCSourceCompiles.cmake /usr/share/cmake-3.25/Modules/CheckIncludeFile.cmake /usr/share/cmake-3.25/Modules/CheckLibraryExists.cmake /usr/share/cmake-3.25/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake-3.25/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-FindBinUtils.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU.cmake /usr/share/cmake-3.25/Modules/Compiler/HP-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/LCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/NVHPC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/TI-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Tasking-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XL-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/zOS-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake /usr/share/cmake-3.25/Modules/FindPackageMessage.cmake /usr/share/cmake-3.25/Modules/FindThreads.cmake /usr/share/cmake-3.25/Modules/FindZLIB.cmake /usr/share/cmake-3.25/Modules/GNUInstallDirs.cmake /usr/share/cmake-3.25/Modules/Internal/CheckSourceCompiles.cmake /usr/share/cmake-3.25/Modules/Internal/FeatureTesting.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-Determine-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake /usr/share/cmake-3.25/Modules/Platform/Linux.cmake /usr/share/cmake-3.25/Modules/Platform/UnixPaths.cmake /usr/share/cmake-3.25/Modules/SelectLibraryConfigurations.cmake CMakeCache.txt CMakeFiles/3.25.1/CMakeCCompiler.cmake CMakeFiles/3.25.1/CMakeCXXCompiler.cmake CMakeFiles/3.25.1/CMakeSystem.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/include/blt/config.h.in /usr/share/cmake-3.25/Modules/CMakeCCompiler.cmake.in /usr/share/cmake-3.25/Modules/CMakeCCompilerABI.c /usr/share/cmake-3.25/Modules/CMakeCInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCXXCompiler.cmake.in /usr/share/cmake-3.25/Modules/CMakeCXXCompilerABI.cpp /usr/share/cmake-3.25/Modules/CMakeCXXInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake-3.25/Modules/CMakeCompilerIdDetection.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCXXCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompileFeatures.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompilerABI.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineCompilerId.cmake /usr/share/cmake-3.25/Modules/CMakeDetermineSystem.cmake /usr/share/cmake-3.25/Modules/CMakeFindBinUtils.cmake /usr/share/cmake-3.25/Modules/CMakeGenericSystem.cmake /usr/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake /usr/share/cmake-3.25/Modules/CMakeParseImplicitIncludeInfo.cmake /usr/share/cmake-3.25/Modules/CMakeParseImplicitLinkInfo.cmake /usr/share/cmake-3.25/Modules/CMakeParseLibraryArchitecture.cmake /usr/share/cmake-3.25/Modules/CMakeSystem.cmake.in /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake-3.25/Modules/CMakeTestCCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeTestCXXCompiler.cmake /usr/share/cmake-3.25/Modules/CMakeTestCompilerCommon.cmake /usr/share/cmake-3.25/Modules/CheckCSourceCompiles.cmake /usr/share/cmake-3.25/Modules/CheckIncludeFile.cmake /usr/share/cmake-3.25/Modules/CheckLibraryExists.cmake /usr/share/cmake-3.25/Modules/Compiler/ADSP-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/ARMCC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/ARMClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/AppleClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Borland-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Bruce-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake-3.25/Modules/Compiler/Clang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Clang-DetermineCompilerInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Compaq-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Cray-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Embarcadero-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Fujitsu-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GHS-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-FindBinUtils.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU.cmake /usr/share/cmake-3.25/Modules/Compiler/HP-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/HP-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IAR-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Intel-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/LCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/MSVC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/NVHPC-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/NVIDIA-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/PGI-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/PathScale-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SCO-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SDCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SunPro-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/TI-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Tasking-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/Watcom-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XL-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XL-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XLClang-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/zOS-C-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake /usr/share/cmake-3.25/Modules/FindPackageMessage.cmake /usr/share/cmake-3.25/Modules/FindThreads.cmake /usr/share/cmake-3.25/Modules/FindZLIB.cmake /usr/share/cmake-3.25/Modules/GNUInstallDirs.cmake /usr/share/cmake-3.25/Modules/Internal/CheckSourceCompiles.cmake /usr/share/cmake-3.25/Modules/Internal/FeatureTesting.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-Determine-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake /usr/share/cmake-3.25/Modules/Platform/Linux.cmake /usr/share/cmake-3.25/Modules/Platform/UnixPaths.cmake /usr/share/cmake-3.25/Modules/SelectLibraryConfigurations.cmake CMakeCache.txt CMakeFiles/3.25.1/CMakeCCompiler.cmake CMakeFiles/3.25.1/CMakeCXXCompiler.cmake CMakeFiles/3.25.1/CMakeSystem.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/cmake-build-relwithdebinfo/build.ninja b/cmake-build-relwithdebinfo/build.ninja new file mode 100644 index 0000000..c9bde05 --- /dev/null +++ b/cmake-build-relwithdebinfo/build.ninja @@ -0,0 +1,657 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.25 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: Assignment_1_RUNNER +# Configurations: RelWithDebInfo +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = RelWithDebInfo +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/cmake-build-relwithdebinfo/ +# ============================================================================= +# Object build statements for EXECUTABLE target Assignment_1 + + +############################################# +# Order-only phony target for Assignment_1 + +build cmake_object_order_depends_target_Assignment_1: phony || cmake_object_order_depends_target_BLT + +build CMakeFiles/Assignment_1.dir/src/program/app.cpp.o: CXX_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/program/app.cpp || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/src/program/app.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/src/program + +build CMakeFiles/Assignment_1.dir/src/program/function.cpp.o: CXX_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/program/function.cpp || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/src/program/function.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/src/program + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/main.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/gp.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/eval.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/tree.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/change.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/crossovr.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/reproduc.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/mutate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/select.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/tournmnt.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/bstworst.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/fitness.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/genspace.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/exch.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/populate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/ephem.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/ckpoint.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/event.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/pretty.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/individ.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/params.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/random.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/memory.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/output.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/boltzman.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/sigma.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/fsetupdate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + + +# ============================================================================= +# Link build statements for EXECUTABLE target Assignment_1 + + +############################################# +# Link the executable Assignment_1 + +build Assignment_1: CXX_EXECUTABLE_LINKER__Assignment_1_RelWithDebInfo CMakeFiles/Assignment_1.dir/src/program/app.cpp.o CMakeFiles/Assignment_1.dir/src/program/function.cpp.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o | lib/blt/libBLT.a /usr/lib/x86_64-linux-gnu/libz.so || lib/blt/libBLT.a + FLAGS = -O2 -g -DNDEBUG + LINK_FLAGS = -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -rdynamic + LINK_LIBRARIES = lib/blt/libBLT.a -lm -lpthread /usr/lib/x86_64-linux-gnu/libz.so + OBJECT_DIR = CMakeFiles/Assignment_1.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = Assignment_1 + TARGET_PDB = Assignment_1.dbg + +# ============================================================================= +# Object build statements for EXECUTABLE target Assignment_1_RUNNER + + +############################################# +# Order-only phony target for Assignment_1_RUNNER + +build cmake_object_order_depends_target_Assignment_1_RUNNER: phony || Assignment_1 cmake_object_order_depends_target_BLT + +build CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o: CXX_COMPILER__Assignment_1_RUNNER_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/src/runner/main.cpp || cmake_object_order_depends_target_Assignment_1_RUNNER + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/RUNNER" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1_RUNNER.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1_RUNNER.dir/src/runner + + +# ============================================================================= +# Link build statements for EXECUTABLE target Assignment_1_RUNNER + + +############################################# +# Link the executable Assignment_1_RUNNER + +build Assignment_1_RUNNER: CXX_EXECUTABLE_LINKER__Assignment_1_RUNNER_RelWithDebInfo CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o | lib/blt/libBLT.a /usr/lib/x86_64-linux-gnu/libz.so || Assignment_1 lib/blt/libBLT.a + FLAGS = -O2 -g -DNDEBUG + LINK_FLAGS = -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -rdynamic + LINK_LIBRARIES = lib/blt/libBLT.a -lm -lpthread /usr/lib/x86_64-linux-gnu/libz.so + OBJECT_DIR = CMakeFiles/Assignment_1_RUNNER.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = Assignment_1_RUNNER + TARGET_PDB = Assignment_1_RUNNER.dbg + + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" && /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" && /usr/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build list_install_components: phony + + +############################################# +# Utility command for install + +build CMakeFiles/install.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" && /usr/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build install: phony CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build CMakeFiles/install/local.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" && /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build install/local: phony CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build CMakeFiles/install/strip.util: CUSTOM_COMMAND all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" && /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build install/strip: phony CMakeFiles/install/strip.util + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# /home/brett/Documents/Brock/CS 4P82/Assignment 1/CMakeLists.txt +# ============================================================================= + +# ============================================================================= +# Object build statements for STATIC_LIBRARY target BLT + + +############################################# +# Order-only phony target for BLT + +build cmake_object_order_depends_target_BLT: phony || lib/blt/CMakeFiles/BLT.dir + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/assert.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/format.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/logging.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/string.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/system.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/profiling/profiler.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling + +build lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/profiling/profiler_v2.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/filesystem.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/loader.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/nbt.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/nbt_block.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + +build lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/parse/argparse.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/parse + +build lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/parse/obj_loader.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/parse + + +# ============================================================================= +# Link build statements for STATIC_LIBRARY target BLT + + +############################################# +# Link the static library lib/blt/libBLT.a + +build lib/blt/libBLT.a: CXX_STATIC_LIBRARY_LINKER__BLT_RelWithDebInfo lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o + LANGUAGE_COMPILE_FLAGS = -O2 -g -DNDEBUG + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = lib/blt/libBLT.a + TARGET_PDB = BLT.a.dbg + + +############################################# +# Utility command for edit_cache + +build lib/blt/CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt" && /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build lib/blt/edit_cache: phony lib/blt/CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build lib/blt/CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt" && /usr/bin/cmake --regenerate-during-build -S"/home/brett/Documents/Brock/CS 4P82/Assignment 1" -B"/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build lib/blt/rebuild_cache: phony lib/blt/CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build lib/blt/list_install_components: phony + + +############################################# +# Utility command for install + +build lib/blt/CMakeFiles/install.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt" && /usr/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build lib/blt/install: phony lib/blt/CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build lib/blt/CMakeFiles/install/local.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt" && /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build lib/blt/install/local: phony lib/blt/CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build lib/blt/CMakeFiles/install/strip.util: CUSTOM_COMMAND lib/blt/all + COMMAND = cd "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt" && /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build lib/blt/install/strip: phony lib/blt/CMakeFiles/install/strip.util + +# ============================================================================= +# Target aliases. + +build BLT: phony lib/blt/libBLT.a + +build libBLT.a: phony lib/blt/libBLT.a + +# ============================================================================= +# Folder targets. + +# ============================================================================= + +############################################# +# Folder: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo + +build all: phony Assignment_1 Assignment_1_RUNNER lib/blt/all + +# ============================================================================= + +############################################# +# Folder: /home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt + +build lib/blt/all: phony lib/blt/libBLT.a + +# ============================================================================= +# Built-in targets + + +############################################# +# Re-run CMake if any of its inputs changed. + +build build.ninja: RERUN_CMAKE | /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/include/blt/config.h.in /usr/share/cmake-3.25/Modules/CMakeCInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCXXInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake-3.25/Modules/CMakeGenericSystem.cmake /usr/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake-3.25/Modules/CheckCSourceCompiles.cmake /usr/share/cmake-3.25/Modules/CheckIncludeFile.cmake /usr/share/cmake-3.25/Modules/CheckLibraryExists.cmake /usr/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU.cmake /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake /usr/share/cmake-3.25/Modules/FindPackageMessage.cmake /usr/share/cmake-3.25/Modules/FindThreads.cmake /usr/share/cmake-3.25/Modules/FindZLIB.cmake /usr/share/cmake-3.25/Modules/GNUInstallDirs.cmake /usr/share/cmake-3.25/Modules/Internal/CheckSourceCompiles.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake /usr/share/cmake-3.25/Modules/Platform/Linux.cmake /usr/share/cmake-3.25/Modules/Platform/UnixPaths.cmake /usr/share/cmake-3.25/Modules/SelectLibraryConfigurations.cmake CMakeCache.txt CMakeFiles/3.25.1/CMakeCCompiler.cmake CMakeFiles/3.25.1/CMakeCXXCompiler.cmake CMakeFiles/3.25.1/CMakeSystem.cmake + pool = console + + +############################################# +# A missing CMake input file is not an error. + +build /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/CMakeLists.txt /home/brett/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/include/blt/config.h.in /usr/share/cmake-3.25/Modules/CMakeCInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCXXInformation.cmake /usr/share/cmake-3.25/Modules/CMakeCommonLanguageInclude.cmake /usr/share/cmake-3.25/Modules/CMakeGenericSystem.cmake /usr/share/cmake-3.25/Modules/CMakeInitializeConfigs.cmake /usr/share/cmake-3.25/Modules/CMakeLanguageInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInformation.cmake /usr/share/cmake-3.25/Modules/CMakeSystemSpecificInitialize.cmake /usr/share/cmake-3.25/Modules/CheckCSourceCompiles.cmake /usr/share/cmake-3.25/Modules/CheckIncludeFile.cmake /usr/share/cmake-3.25/Modules/CheckLibraryExists.cmake /usr/share/cmake-3.25/Modules/Compiler/CMakeCommonCompilerMacros.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-C.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Compiler/GNU.cmake /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake /usr/share/cmake-3.25/Modules/FindPackageMessage.cmake /usr/share/cmake-3.25/Modules/FindThreads.cmake /usr/share/cmake-3.25/Modules/FindZLIB.cmake /usr/share/cmake-3.25/Modules/GNUInstallDirs.cmake /usr/share/cmake-3.25/Modules/Internal/CheckSourceCompiles.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-C.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU-CXX.cmake /usr/share/cmake-3.25/Modules/Platform/Linux-GNU.cmake /usr/share/cmake-3.25/Modules/Platform/Linux.cmake /usr/share/cmake-3.25/Modules/Platform/UnixPaths.cmake /usr/share/cmake-3.25/Modules/SelectLibraryConfigurations.cmake CMakeCache.txt CMakeFiles/3.25.1/CMakeCCompiler.cmake CMakeFiles/3.25.1/CMakeCXXCompiler.cmake CMakeFiles/3.25.1/CMakeSystem.cmake: phony + + +############################################# +# Clean all the built files. + +build clean: CLEAN + + +############################################# +# Print all primary targets available. + +build help: HELP + + +############################################# +# Make the all target the default. + +default all diff --git a/cmake-build-relwithdebinfo/build.ninja.tmpdfbd4 b/cmake-build-relwithdebinfo/build.ninja.tmpdfbd4 new file mode 100644 index 0000000..a6250c0 --- /dev/null +++ b/cmake-build-relwithdebinfo/build.ninja.tmpdfbd4 @@ -0,0 +1,525 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Ninja" Generator, CMake Version 3.25 + +# This file contains all the build statements describing the +# compilation DAG. + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# +# Which is the root file. +# ============================================================================= + +# ============================================================================= +# Project: Assignment_1_RUNNER +# Configurations: RelWithDebInfo +# ============================================================================= + +############################################# +# Minimal version of Ninja required by this file + +ninja_required_version = 1.5 + + +############################################# +# Set configuration variable for custom commands. + +CONFIGURATION = RelWithDebInfo +# ============================================================================= +# Include auxiliary files. + + +############################################# +# Include rules file. + +include CMakeFiles/rules.ninja + +# ============================================================================= + +############################################# +# Logical path to working directory; prefix for absolute paths. + +cmake_ninja_workdir = /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/cmake-build-relwithdebinfo/ +# ============================================================================= +# Object build statements for EXECUTABLE target Assignment_1 + + +############################################# +# Order-only phony target for Assignment_1 + +build cmake_object_order_depends_target_Assignment_1: phony || cmake_object_order_depends_target_BLT + +build CMakeFiles/Assignment_1.dir/src/program/app.cpp.o: CXX_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/src/program/app.cpp || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/src/program/app.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/src/program + +build CMakeFiles/Assignment_1.dir/src/program/function.cpp.o: CXX_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/src/program/function.cpp || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/src/program/function.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/src/program + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/main.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/gp.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/eval.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/tree.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/change.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/crossovr.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/reproduc.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/mutate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/select.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/tournmnt.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/bstworst.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/fitness.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/genspace.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/exch.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/populate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/ephem.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/ckpoint.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/event.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/pretty.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/individ.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/params.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/random.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/memory.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/output.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/boltzman.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/sigma.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + +build CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o: C_COMPILER__Assignment_1_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/lilgp/kernel/fsetupdate.c || cmake_object_order_depends_target_Assignment_1 + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -std=gnu11 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1.dir/lib/lilgp/kernel + + +# ============================================================================= +# Link build statements for EXECUTABLE target Assignment_1 + + +############################################# +# Link the executable Assignment_1 + +build Assignment_1: CXX_EXECUTABLE_LINKER__Assignment_1_RelWithDebInfo CMakeFiles/Assignment_1.dir/src/program/app.cpp.o CMakeFiles/Assignment_1.dir/src/program/function.cpp.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/main.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/gp.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/eval.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tree.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/change.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/crossovr.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/reproduc.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/mutate.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/select.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/tournmnt.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/bstworst.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fitness.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/genspace.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/exch.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/populate.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ephem.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/ckpoint.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/event.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/pretty.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/individ.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/params.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/random.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/memory.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/output.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/boltzman.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/sigma.c.o CMakeFiles/Assignment_1.dir/lib/lilgp/kernel/fsetupdate.c.o | lib/blt/libBLT.a /usr/lib/x86_64-linux-gnu/libz.so || lib/blt/libBLT.a + FLAGS = -O2 -g -DNDEBUG + LINK_FLAGS = -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -rdynamic + LINK_LIBRARIES = lib/blt/libBLT.a -lm -lpthread /usr/lib/x86_64-linux-gnu/libz.so + OBJECT_DIR = CMakeFiles/Assignment_1.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = Assignment_1 + TARGET_PDB = Assignment_1.dbg + +# ============================================================================= +# Object build statements for EXECUTABLE target Assignment_1_RUNNER + + +############################################# +# Order-only phony target for Assignment_1_RUNNER + +build cmake_object_order_depends_target_Assignment_1_RUNNER: phony || Assignment_1 cmake_object_order_depends_target_BLT + +build CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o: CXX_COMPILER__Assignment_1_RUNNER_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/src/runner/main.cpp || cmake_object_order_depends_target_Assignment_1_RUNNER + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/lilgp/kernel" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/RUNNER" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" + OBJECT_DIR = CMakeFiles/Assignment_1_RUNNER.dir + OBJECT_FILE_DIR = CMakeFiles/Assignment_1_RUNNER.dir/src/runner + + +# ============================================================================= +# Link build statements for EXECUTABLE target Assignment_1_RUNNER + + +############################################# +# Link the executable Assignment_1_RUNNER + +build Assignment_1_RUNNER: CXX_EXECUTABLE_LINKER__Assignment_1_RUNNER_RelWithDebInfo CMakeFiles/Assignment_1_RUNNER.dir/src/runner/main.cpp.o | lib/blt/libBLT.a /usr/lib/x86_64-linux-gnu/libz.so || Assignment_1 lib/blt/libBLT.a + FLAGS = -O2 -g -DNDEBUG + LINK_FLAGS = -Wall -Wextra -Wpedantic -Wno-comment -fsanitize=address -fsanitize=undefined -rdynamic + LINK_LIBRARIES = lib/blt/libBLT.a -lm -lpthread /usr/lib/x86_64-linux-gnu/libz.so + OBJECT_DIR = CMakeFiles/Assignment_1_RUNNER.dir + POST_BUILD = : + PRE_LINK = : + TARGET_FILE = Assignment_1_RUNNER + TARGET_PDB = Assignment_1_RUNNER.dbg + + +############################################# +# Utility command for edit_cache + +build CMakeFiles/edit_cache.util: CUSTOM_COMMAND + COMMAND = cd "/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" && /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. + DESC = No interactive CMake dialog available... + restat = 1 + +build edit_cache: phony CMakeFiles/edit_cache.util + + +############################################# +# Utility command for rebuild_cache + +build CMakeFiles/rebuild_cache.util: CUSTOM_COMMAND + COMMAND = cd "/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" && /usr/bin/cmake --regenerate-during-build -S"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1" -B"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" + DESC = Running CMake to regenerate build system... + pool = console + restat = 1 + +build rebuild_cache: phony CMakeFiles/rebuild_cache.util + + +############################################# +# Utility command for list_install_components + +build list_install_components: phony + + +############################################# +# Utility command for install + +build CMakeFiles/install.util: CUSTOM_COMMAND all + COMMAND = cd "/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" && /usr/bin/cmake -P cmake_install.cmake + DESC = Install the project... + pool = console + restat = 1 + +build install: phony CMakeFiles/install.util + + +############################################# +# Utility command for install/local + +build CMakeFiles/install/local.util: CUSTOM_COMMAND all + COMMAND = cd "/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" && /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake + DESC = Installing only the local directory... + pool = console + restat = 1 + +build install/local: phony CMakeFiles/install/local.util + + +############################################# +# Utility command for install/strip + +build CMakeFiles/install/strip.util: CUSTOM_COMMAND all + COMMAND = cd "/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo" && /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake + DESC = Installing the project stripped... + pool = console + restat = 1 + +build install/strip: phony CMakeFiles/install/strip.util + +# ============================================================================= +# Write statements declared in CMakeLists.txt: +# /mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/CMakeLists.txt +# ============================================================================= + +# ============================================================================= +# Object build statements for STATIC_LIBRARY target BLT + + +############################################# +# Order-only phony target for BLT + +build cmake_object_order_depends_target_BLT: phony || lib/blt/CMakeFiles/BLT.dir + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/assert.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/format.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/logging.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/string.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/std/system.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/std + +build lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/profiling/profiler.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling + +build lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/profiling/profiler_v2.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/profiling + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/filesystem.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/loader.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/nbt.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + +build lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/fs/nbt_block.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/fs + +build lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/parse/argparse.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/parse + +build lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o: CXX_COMPILER__BLT_RelWithDebInfo /mnt/laforge/Documents/Brock/CS$ 4P82/Assignment$ 1/lib/blt/src/blt/parse/obj_loader.cpp || cmake_object_order_depends_target_BLT + DEFINES = -DPART_B -DPOSIX_MT -DRANDOMSEEDTIME -DUSEVFORK + DEP_FILE = lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o.d + FLAGS = -O2 -g -DNDEBUG -fdiagnostics-color=always -mieee-fp -Wall -Wextra -Wpedantic -std=gnu++17 + INCLUDES = -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/libraries/parallel-hashmap" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include" -I"/mnt/laforge/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/config" + OBJECT_DIR = lib/blt/CMakeFiles/BLT.dir + OBJECT_FILE_DIR = lib/blt/CMakeFiles/BLT.dir/src/blt/parse + + +# ============================================================================= +# Link build statements for STATIC_LIBRARY target BLT + + +############################################# diff --git a/cmake-build-relwithdebinfo/cmake_install.cmake b/cmake-build-relwithdebinfo/cmake_install.cmake new file mode 100644 index 0000000..c56c4b4 --- /dev/null +++ b/cmake-build-relwithdebinfo/cmake_install.cmake @@ -0,0 +1,59 @@ +# Install script for directory: /home/brett/Documents/Brock/CS 4P82/Assignment 1 + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for the subdirectory. + include("/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/cmake_install.cmake") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o new file mode 100644 index 0000000..24ee57b Binary files /dev/null and b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/filesystem.cpp.o differ diff --git a/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o new file mode 100644 index 0000000..fd626ec Binary files /dev/null and b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/loader.cpp.o differ diff --git a/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o new file mode 100644 index 0000000..807c03d Binary files /dev/null and b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt.cpp.o differ diff --git a/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o new file mode 100644 index 0000000..628c38e Binary files /dev/null and b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/fs/nbt_block.cpp.o differ diff --git a/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o new file mode 100644 index 0000000..53c6404 Binary files /dev/null and b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/argparse.cpp.o differ diff --git a/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o new file mode 100644 index 0000000..5ea7b37 Binary files /dev/null and b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/parse/obj_loader.cpp.o differ diff --git a/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o new file mode 100644 index 0000000..56ae7ba Binary files /dev/null and b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler.cpp.o differ diff --git a/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o new file mode 100644 index 0000000..3a4256d Binary files /dev/null and b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/profiling/profiler_v2.cpp.o differ diff --git a/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o new file mode 100644 index 0000000..ad72f73 Binary files /dev/null and b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/std/assert.cpp.o differ diff --git a/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o new file mode 100644 index 0000000..daab01d Binary files /dev/null and b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/std/format.cpp.o differ diff --git a/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o new file mode 100644 index 0000000..9d1d3b0 Binary files /dev/null and b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/std/logging.cpp.o differ diff --git a/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o new file mode 100644 index 0000000..ca3f26e Binary files /dev/null and b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/std/string.cpp.o differ diff --git a/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o new file mode 100644 index 0000000..6c439fd Binary files /dev/null and b/cmake-build-relwithdebinfo/lib/blt/CMakeFiles/BLT.dir/src/blt/std/system.cpp.o differ diff --git a/cmake-build-relwithdebinfo/lib/blt/cmake_install.cmake b/cmake-build-relwithdebinfo/lib/blt/cmake_install.cmake new file mode 100644 index 0000000..29e66c5 --- /dev/null +++ b/cmake-build-relwithdebinfo/lib/blt/cmake_install.cmake @@ -0,0 +1,194 @@ +# Install script for directory: /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/compatibility.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/fs" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/fs/filesystem.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/fs" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/fs/loader.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/fs" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/fs/nbt.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/fs" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/fs/nbt_block.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/math" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/math/averages.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/math" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/math/log_util.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/math" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/math/math.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/math" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/math/matrix.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/math" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/math/vectors.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/parse" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/parse/argparse.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/parse" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/parse/mustache.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/parse" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/parse/obj_loader.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/profiling" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/profiling/profiler.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/profiling" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/profiling/profiler_v2.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/allocator.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/assert.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/binary_tree.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/expected.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/format.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/hashmap.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/logging.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/memory.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/memory_util.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/queue.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/random.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/ranges.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/string.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/system.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/thread.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/time.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/types.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/utility.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/std" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/std/uuid.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt/window" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/blt/include/blt/window/window.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/blt" TYPE FILE FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/config/blt/config.h") +endif() + +if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) + if(CMAKE_INSTALL_CONFIG_NAME MATCHES "^([Rr][Ee][Ll][Ww][Ii][Tt][Hh][Dd][Ee][Bb][Ii][Nn][Ff][Oo])$") + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/home/brett/Documents/Brock/CS 4P82/Assignment 1/cmake-build-relwithdebinfo/lib/blt/libBLT.a") + endif() +endif() + diff --git a/cmake-build-relwithdebinfo/lib/blt/config/blt/config.h b/cmake-build-relwithdebinfo/lib/blt/config/blt/config.h new file mode 100755 index 0000000..c59bead --- /dev/null +++ b/cmake-build-relwithdebinfo/lib/blt/config/blt/config.h @@ -0,0 +1,13 @@ +#ifndef BLT_CONFIG_H +#define BLT_CONFIG_H + +/* #undef ZLIB_FOUND */ +/* #undef BLT_DISABLE_LOGGING */ +/* #undef BLT_DISABLE_TRACE */ +/* #undef BLT_DISABLE_DEBUG */ +/* #undef BLT_DISABLE_INFO */ +/* #undef BLT_DISABLE_WARN */ +/* #undef BLT_DISABLE_ERROR */ +/* #undef BLT_DISABLE_FATAL */ + +#endif // BLT_CONFIG_H diff --git a/cmake-build-relwithdebinfo/lib/blt/libBLT.a b/cmake-build-relwithdebinfo/lib/blt/libBLT.a new file mode 100644 index 0000000..8a02b61 Binary files /dev/null and b/cmake-build-relwithdebinfo/lib/blt/libBLT.a differ diff --git a/cmake-build-relwithdebinfo/regress.bst b/cmake-build-relwithdebinfo/regress.bst new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/regress.fn b/cmake-build-relwithdebinfo/regress.fn new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/regress.gen b/cmake-build-relwithdebinfo/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/regress.his b/cmake-build-relwithdebinfo/regress.his new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/regress.prg b/cmake-build-relwithdebinfo/regress.prg new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/regress.stt b/cmake-build-relwithdebinfo/regress.stt new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/regress.sys b/cmake-build-relwithdebinfo/regress.sys new file mode 100644 index 0000000..d62cd83 --- /dev/null +++ b/cmake-build-relwithdebinfo/regress.sys @@ -0,0 +1,17 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - exp log area perimeter major minor eccentricity convex extent R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 10444. diff --git a/cmake-build-relwithdebinfo/run_0/regress.bst b/cmake-build-relwithdebinfo/run_0/regress.bst new file mode 100644 index 0000000..cebebdd --- /dev/null +++ b/cmake-build-relwithdebinfo/run_0/regress.bst @@ -0,0 +1,38 @@ +=== BEST-OF-RUN === + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +TREE-equ: +y = ((((perimeter * convex) * (0.59404 / extent)) + ((((((-0.13956 + major) - log(area)) / ((0.32630 * major) - exp(convex))) + exp(area)) - log(((log(convex) + (perimeter * eccentricity)) + exp((major / minor))))) * (((exp((extent - major)) - log((area + minor))) * log(((area + minor) - (minor / (minor / major))))) + (log(minor) * (major / log(convex)))))) + (((area / major) - (major / major)) * exp((0.53203 * extent)))) diff --git a/cmake-build-relwithdebinfo/run_0/regress.fn b/cmake-build-relwithdebinfo/run_0/regress.fn new file mode 100644 index 0000000..b5d6d4a --- /dev/null +++ b/cmake-build-relwithdebinfo/run_0/regress.fn @@ -0,0 +1,30 @@ +Hits: 2586, Total Size: 2810, Percent Hit: 92.028470 +CC: 1070 +CO: 71 +OO: 1516 +OC: 153 + + +y = ((((perimeter * convex) * (0.59404 / extent)) + ((((((-0.13956 + major) - log(area)) / ((0.32630 * major) - exp(convex))) + exp(area)) - log(((log(convex) + (perimeter * eccentricity)) + exp((major / minor))))) * (((exp((extent - major)) - log((area + minor))) * log(((area + minor) - (minor / (minor / major))))) + (log(minor) * (major / log(convex)))))) + (((area / major) - (major / major)) * exp((0.53203 * extent)))) + + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) diff --git a/cmake-build-relwithdebinfo/run_0/regress.gen b/cmake-build-relwithdebinfo/run_0/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/run_0/regress.his b/cmake-build-relwithdebinfo/run_0/regress.his new file mode 100644 index 0000000..f898c92 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_0/regress.his @@ -0,0 +1,1851 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 55 + depth: 6 + hits: 769 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 769 + raw fitness: 769.0000 + standardized fitness: 769.0000 + adjusted fitness: 0.9987 +TREE: + (* (+ (exp (* (- (+ eccentricity -0.10364) + (exp perimeter)) + (+ (+ perimeter convex) + (log minor)))) + (log (+ (log (+ minor perimeter)) + (/ (/ perimeter eccentricity) + (- minor major))))) + (log (+ (+ (* (* major eccentricity) + (* extent extent)) + (exp (+ major extent))) + (+ (+ (+ convex -0.69783) + (/ major minor)) + (exp (+ convex 0.25407)))))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 55 + depth: 6 + hits: 769 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 769 + raw fitness: 769.0000 + standardized fitness: 769.0000 + adjusted fitness: 0.9987 +TREE: + (* (+ (exp (* (- (+ eccentricity -0.10364) + (exp perimeter)) + (+ (+ perimeter convex) + (log minor)))) + (log (+ (log (+ minor perimeter)) + (/ (/ perimeter eccentricity) + (- minor major))))) + (log (+ (+ (* (* major eccentricity) + (* extent extent)) + (exp (+ major extent))) + (+ (+ (+ convex -0.69783) + (/ major minor)) + (exp (+ convex 0.25407)))))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 28 + depth: 5 + hits: 840 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 840 + raw fitness: 840.0000 + standardized fitness: 840.0000 + adjusted fitness: 0.9988 +TREE: + (/ (log (+ (* (+ minor convex) + (exp 0.85307)) extent)) + (* (- (* (+ minor area) + (log convex)) + (+ (exp major) + (/ perimeter convex))) + (exp (+ minor perimeter)))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 77 + depth: 8 + hits: 907 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 907 + raw fitness: 907.0000 + standardized fitness: 907.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor -0.82248)))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 4 + generation: 3 + nodes: 77 + depth: 8 + hits: 907 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 907 + raw fitness: 907.0000 + standardized fitness: 907.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor -0.82248)))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 5 + generation: 3 + nodes: 77 + depth: 8 + hits: 907 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 907 + raw fitness: 907.0000 + standardized fitness: 907.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor -0.82248)))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 6 + generation: 3 + nodes: 77 + depth: 8 + hits: 907 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 907 + raw fitness: 907.0000 + standardized fitness: 907.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor -0.82248)))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 7 + generation: 3 + nodes: 77 + depth: 8 + hits: 907 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 907 + raw fitness: 907.0000 + standardized fitness: 907.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor -0.82248)))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 8 + generation: 3 + nodes: 77 + depth: 8 + hits: 907 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 907 + raw fitness: 907.0000 + standardized fitness: 907.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor -0.82248)))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 10 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 11 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 12 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 13 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 14 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 15 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 16 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 17 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 18 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 19 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 20 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 21 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 22 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 23 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 24 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 25 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 26 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 27 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 28 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 29 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 30 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 31 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 32 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 33 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 34 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 35 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 36 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 37 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 38 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 39 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 40 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 41 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 42 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 43 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 44 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 45 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 46 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 47 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 48 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 49 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) +=== BEST-OF-RUN === + current generation: 50 + generation: 9 + nodes: 79 + depth: 9 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (+ (+ (* (* perimeter convex) + (/ 0.59404 extent)) + (* (- (+ (/ (- (+ -0.13956 major) + (log area)) + (- (* 0.32630 major) + (exp convex))) + (exp area)) + (log (+ (+ (log convex) + (* perimeter eccentricity)) + (exp (/ major minor))))) + (+ (* (- (exp (- extent major)) + (log (+ area minor))) + (log (- (+ area minor) + (/ minor + (/ minor major))))) + (* (log minor) + (/ major + (log convex)))))) + (* (- (/ area major) + (/ major major)) + (exp (* 0.53203 extent)))) diff --git a/cmake-build-relwithdebinfo/run_0/regress.prg b/cmake-build-relwithdebinfo/run_0/regress.prg new file mode 100644 index 0000000..aebfa30 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_0/regress.prg @@ -0,0 +1,1002 @@ +not starting from checkpoint file. +1000 fitness cases: + area = 14557.00000, perimeter = 492.41299, major_axis_length = 205.10664, minor_axis_length = 91.44973, eccentricity = 0.89510, convex_area = 14961.00000, extent = 0.73565, type = C + area = 10390.00000, perimeter = 420.79401, major_axis_length = 174.04564, minor_axis_length = 77.64330, eccentricity = 0.89498, convex_area = 10689.00000, extent = 0.72882, type = O + area = 12128.00000, perimeter = 441.71201, major_axis_length = 184.30515, minor_axis_length = 84.94325, eccentricity = 0.88746, convex_area = 12327.00000, extent = 0.62233, type = O + area = 14364.00000, perimeter = 497.12000, major_axis_length = 212.00835, minor_axis_length = 87.53480, eccentricity = 0.91078, convex_area = 14805.00000, extent = 0.64125, type = C + area = 16190.00000, perimeter = 529.66101, major_axis_length = 224.38686, minor_axis_length = 93.10742, eccentricity = 0.90985, convex_area = 16530.00000, extent = 0.53482, type = C + area = 11776.00000, perimeter = 430.33301, major_axis_length = 173.56931, minor_axis_length = 87.46633, eccentricity = 0.86375, convex_area = 12011.00000, extent = 0.61667, type = O + area = 14316.00000, perimeter = 488.98599, major_axis_length = 204.42427, minor_axis_length = 90.14910, eccentricity = 0.89751, convex_area = 14731.00000, extent = 0.56418, type = C + area = 12386.00000, perimeter = 467.85001, major_axis_length = 201.90131, minor_axis_length = 79.30883, eccentricity = 0.91962, convex_area = 12679.00000, extent = 0.79184, type = C + area = 11962.00000, perimeter = 429.18100, major_axis_length = 175.88785, minor_axis_length = 87.96854, eccentricity = 0.86594, convex_area = 12152.00000, extent = 0.78568, type = O + area = 13694.00000, perimeter = 464.56000, major_axis_length = 191.33110, minor_axis_length = 91.70782, eccentricity = 0.87764, convex_area = 13918.00000, extent = 0.70880, type = C + area = 11287.00000, perimeter = 429.32501, major_axis_length = 171.89574, minor_axis_length = 85.36037, eccentricity = 0.86799, convex_area = 11599.00000, extent = 0.59014, type = O + area = 14441.00000, perimeter = 495.36600, major_axis_length = 210.02328, minor_axis_length = 89.20302, eccentricity = 0.90532, convex_area = 14805.00000, extent = 0.54021, type = C + area = 12234.00000, perimeter = 449.38000, major_axis_length = 188.62593, minor_axis_length = 83.90933, eccentricity = 0.89561, convex_area = 12492.00000, extent = 0.59475, type = C + area = 11530.00000, perimeter = 458.71201, major_axis_length = 197.87550, minor_axis_length = 75.38202, eccentricity = 0.92459, convex_area = 11918.00000, extent = 0.70032, type = C + area = 16471.00000, perimeter = 523.98901, major_axis_length = 219.86913, minor_axis_length = 96.81116, eccentricity = 0.89784, convex_area = 16844.00000, extent = 0.73302, type = C + area = 12709.00000, perimeter = 461.01199, major_axis_length = 190.77875, minor_axis_length = 87.41280, eccentricity = 0.88885, convex_area = 13064.00000, extent = 0.78693, type = C + area = 15249.00000, perimeter = 506.04999, major_axis_length = 212.09094, minor_axis_length = 92.49422, eccentricity = 0.89990, convex_area = 15582.00000, extent = 0.78304, type = C + area = 13839.00000, perimeter = 481.58801, major_axis_length = 201.34279, minor_axis_length = 88.88830, eccentricity = 0.89727, convex_area = 14165.00000, extent = 0.71694, type = C + area = 10783.00000, perimeter = 418.68100, major_axis_length = 171.36520, minor_axis_length = 82.12441, eccentricity = 0.87769, convex_area = 11133.00000, extent = 0.59345, type = O + area = 11297.00000, perimeter = 418.95300, major_axis_length = 172.96742, minor_axis_length = 84.43346, eccentricity = 0.87276, convex_area = 11482.00000, extent = 0.62294, type = O + area = 15586.00000, perimeter = 505.87701, major_axis_length = 218.57321, minor_axis_length = 91.24372, eccentricity = 0.90870, convex_area = 15814.00000, extent = 0.82378, type = C + area = 12147.00000, perimeter = 436.07001, major_axis_length = 177.55022, minor_axis_length = 88.56141, eccentricity = 0.86672, convex_area = 12421.00000, extent = 0.68705, type = O + area = 11601.00000, perimeter = 447.12799, major_axis_length = 191.38257, minor_axis_length = 78.36671, eccentricity = 0.91232, convex_area = 11925.00000, extent = 0.57866, type = O + area = 10250.00000, perimeter = 407.28900, major_axis_length = 165.72189, minor_axis_length = 79.96314, eccentricity = 0.87589, convex_area = 10512.00000, extent = 0.72234, type = O + area = 12503.00000, perimeter = 449.59900, major_axis_length = 184.01433, minor_axis_length = 88.25850, eccentricity = 0.87747, convex_area = 12803.00000, extent = 0.78163, type = O + area = 13523.00000, perimeter = 468.16699, major_axis_length = 195.40154, minor_axis_length = 88.65400, eccentricity = 0.89115, convex_area = 13811.00000, extent = 0.66793, type = C + area = 13203.00000, perimeter = 469.46600, major_axis_length = 199.34186, minor_axis_length = 85.38957, eccentricity = 0.90361, convex_area = 13431.00000, extent = 0.60156, type = C + area = 10541.00000, perimeter = 406.53601, major_axis_length = 162.99107, minor_axis_length = 83.69826, eccentricity = 0.85808, convex_area = 10901.00000, extent = 0.77462, type = O + area = 10499.00000, perimeter = 408.72900, major_axis_length = 165.55937, minor_axis_length = 82.35825, eccentricity = 0.86749, convex_area = 10785.00000, extent = 0.66131, type = O + area = 16030.00000, perimeter = 512.85303, major_axis_length = 210.24748, minor_axis_length = 97.63129, eccentricity = 0.88564, convex_area = 16306.00000, extent = 0.59780, type = C + area = 11573.00000, perimeter = 446.92401, major_axis_length = 186.34879, minor_axis_length = 80.14229, eccentricity = 0.90280, convex_area = 11884.00000, extent = 0.57224, type = O + area = 14143.00000, perimeter = 483.86499, major_axis_length = 200.87813, minor_axis_length = 90.59235, eccentricity = 0.89253, convex_area = 14427.00000, extent = 0.59766, type = C + area = 15809.00000, perimeter = 517.23297, major_axis_length = 222.42067, minor_axis_length = 91.56286, eccentricity = 0.91134, convex_area = 16025.00000, extent = 0.55689, type = C + area = 14561.00000, perimeter = 487.65100, major_axis_length = 202.91121, minor_axis_length = 92.16224, eccentricity = 0.89090, convex_area = 14862.00000, extent = 0.70038, type = O + area = 10286.00000, perimeter = 401.78900, major_axis_length = 159.07466, minor_axis_length = 83.59863, eccentricity = 0.85077, convex_area = 10524.00000, extent = 0.77014, type = O + area = 12292.00000, perimeter = 447.48599, major_axis_length = 181.35670, minor_axis_length = 87.98663, eccentricity = 0.87443, convex_area = 12535.00000, extent = 0.59387, type = O + area = 16618.00000, perimeter = 513.75299, major_axis_length = 213.21713, minor_axis_length = 99.89234, eccentricity = 0.88346, convex_area = 16892.00000, extent = 0.63641, type = C + area = 11119.00000, perimeter = 427.04599, major_axis_length = 178.81313, minor_axis_length = 80.61784, eccentricity = 0.89260, convex_area = 11420.00000, extent = 0.79071, type = O + area = 12434.00000, perimeter = 450.49600, major_axis_length = 176.91013, minor_axis_length = 91.67809, eccentricity = 0.85525, convex_area = 12847.00000, extent = 0.61239, type = O + area = 12124.00000, perimeter = 446.44000, major_axis_length = 188.97534, minor_axis_length = 82.71680, eccentricity = 0.89912, convex_area = 12336.00000, extent = 0.74035, type = O + area = 13858.00000, perimeter = 475.95700, major_axis_length = 205.87390, minor_axis_length = 86.04459, eccentricity = 0.90847, convex_area = 14042.00000, extent = 0.65122, type = C + area = 10858.00000, perimeter = 412.21701, major_axis_length = 166.96233, minor_axis_length = 84.06575, eccentricity = 0.86399, convex_area = 11171.00000, extent = 0.79290, type = O + area = 10919.00000, perimeter = 413.08099, major_axis_length = 167.12601, minor_axis_length = 84.21858, eccentricity = 0.86375, convex_area = 11120.00000, extent = 0.63989, type = O + area = 12267.00000, perimeter = 429.69400, major_axis_length = 171.37064, minor_axis_length = 92.45802, eccentricity = 0.84197, convex_area = 12520.00000, extent = 0.77590, type = O + area = 14126.00000, perimeter = 498.42499, major_axis_length = 216.88548, minor_axis_length = 83.81039, eccentricity = 0.92232, convex_area = 14410.00000, extent = 0.76077, type = C + area = 12950.00000, perimeter = 464.88699, major_axis_length = 194.42839, minor_axis_length = 85.82198, eccentricity = 0.89731, convex_area = 13288.00000, extent = 0.60020, type = C + area = 13681.00000, perimeter = 485.41299, major_axis_length = 205.00644, minor_axis_length = 86.48767, eccentricity = 0.90665, convex_area = 14146.00000, extent = 0.55989, type = C + area = 12886.00000, perimeter = 463.90302, major_axis_length = 193.87659, minor_axis_length = 85.47774, eccentricity = 0.89756, convex_area = 13196.00000, extent = 0.59525, type = C + area = 12416.00000, perimeter = 447.96301, major_axis_length = 187.29955, minor_axis_length = 85.39175, eccentricity = 0.89003, convex_area = 12660.00000, extent = 0.62058, type = O + area = 12468.00000, perimeter = 461.54999, major_axis_length = 196.81828, minor_axis_length = 81.54729, eccentricity = 0.91013, convex_area = 12786.00000, extent = 0.67651, type = C + area = 12743.00000, perimeter = 449.23001, major_axis_length = 180.94476, minor_axis_length = 90.80772, eccentricity = 0.86495, convex_area = 13044.00000, extent = 0.61937, type = O + area = 13200.00000, perimeter = 472.46500, major_axis_length = 203.31374, minor_axis_length = 83.57887, eccentricity = 0.91160, convex_area = 13467.00000, extent = 0.74530, type = C + area = 12699.00000, perimeter = 458.01300, major_axis_length = 192.59450, minor_axis_length = 85.20386, eccentricity = 0.89682, convex_area = 12965.00000, extent = 0.59065, type = C + area = 12809.00000, perimeter = 455.14401, major_axis_length = 189.07947, minor_axis_length = 87.20803, eccentricity = 0.88728, convex_area = 13025.00000, extent = 0.59000, type = C + area = 9972.00000, perimeter = 397.63800, major_axis_length = 165.39958, minor_axis_length = 77.70962, eccentricity = 0.88276, convex_area = 10230.00000, extent = 0.79522, type = O + area = 8328.00000, perimeter = 369.73801, major_axis_length = 152.56586, minor_axis_length = 70.56860, eccentricity = 0.88660, convex_area = 8579.00000, extent = 0.58442, type = O + area = 14750.00000, perimeter = 484.15201, major_axis_length = 201.24701, minor_axis_length = 94.85915, eccentricity = 0.88194, convex_area = 14967.00000, extent = 0.78067, type = C + area = 11895.00000, perimeter = 429.39600, major_axis_length = 179.25186, minor_axis_length = 85.53614, eccentricity = 0.87880, convex_area = 12072.00000, extent = 0.79063, type = O + area = 14954.00000, perimeter = 501.85699, major_axis_length = 212.03777, minor_axis_length = 90.79552, eccentricity = 0.90368, convex_area = 15225.00000, extent = 0.81462, type = C + area = 14359.00000, perimeter = 506.08899, major_axis_length = 223.26085, minor_axis_length = 82.48141, eccentricity = 0.92925, convex_area = 14698.00000, extent = 0.53787, type = C + area = 14850.00000, perimeter = 511.99100, major_axis_length = 223.14737, minor_axis_length = 85.49973, eccentricity = 0.92368, convex_area = 15131.00000, extent = 0.57670, type = C + area = 9373.00000, perimeter = 383.04901, major_axis_length = 159.37862, minor_axis_length = 75.75037, eccentricity = 0.87983, convex_area = 9520.00000, extent = 0.72390, type = O + area = 15375.00000, perimeter = 515.42297, major_axis_length = 215.99930, minor_axis_length = 91.61694, eccentricity = 0.90559, convex_area = 15780.00000, extent = 0.59760, type = C + area = 11538.00000, perimeter = 418.66101, major_axis_length = 170.85091, minor_axis_length = 86.49840, eccentricity = 0.86237, convex_area = 11741.00000, extent = 0.71354, type = O + area = 12326.00000, perimeter = 444.06699, major_axis_length = 181.01143, minor_axis_length = 87.66717, eccentricity = 0.87489, convex_area = 12597.00000, extent = 0.67080, type = O + area = 10928.00000, perimeter = 408.86301, major_axis_length = 168.12872, minor_axis_length = 83.06418, eccentricity = 0.86943, convex_area = 11113.00000, extent = 0.62686, type = O + area = 14330.00000, perimeter = 493.18500, major_axis_length = 209.76732, minor_axis_length = 87.89895, eccentricity = 0.90797, convex_area = 14701.00000, extent = 0.61960, type = C + area = 12579.00000, perimeter = 445.88800, major_axis_length = 185.28030, minor_axis_length = 86.88208, eccentricity = 0.88324, convex_area = 12794.00000, extent = 0.65298, type = O + area = 14674.00000, perimeter = 497.10300, major_axis_length = 208.43646, minor_axis_length = 91.08699, eccentricity = 0.89946, convex_area = 15049.00000, extent = 0.68229, type = C + area = 9911.00000, perimeter = 390.45999, major_axis_length = 157.09795, minor_axis_length = 81.44798, eccentricity = 0.85511, convex_area = 10178.00000, extent = 0.73133, type = O + area = 15607.00000, perimeter = 505.90302, major_axis_length = 208.01102, minor_axis_length = 96.88904, eccentricity = 0.88490, convex_area = 16030.00000, extent = 0.72500, type = C + area = 14482.00000, perimeter = 489.31799, major_axis_length = 205.38631, minor_axis_length = 90.80043, eccentricity = 0.89697, convex_area = 14781.00000, extent = 0.56890, type = C + area = 12974.00000, perimeter = 460.30399, major_axis_length = 192.93105, minor_axis_length = 86.72414, eccentricity = 0.89328, convex_area = 13232.00000, extent = 0.59593, type = O + area = 11050.00000, perimeter = 416.41901, major_axis_length = 168.31764, minor_axis_length = 85.25598, eccentricity = 0.86223, convex_area = 11323.00000, extent = 0.69175, type = O + area = 11605.00000, perimeter = 425.69800, major_axis_length = 173.51668, minor_axis_length = 86.13511, eccentricity = 0.86809, convex_area = 11781.00000, extent = 0.79842, type = O + area = 12622.00000, perimeter = 458.27499, major_axis_length = 189.69633, minor_axis_length = 86.54059, eccentricity = 0.88987, convex_area = 13019.00000, extent = 0.76441, type = O + area = 11278.00000, perimeter = 422.18600, major_axis_length = 170.41817, minor_axis_length = 86.04628, eccentricity = 0.86317, convex_area = 11642.00000, extent = 0.62465, type = O + area = 13560.00000, perimeter = 479.19901, major_axis_length = 197.55803, minor_axis_length = 88.77229, eccentricity = 0.89336, convex_area = 14033.00000, extent = 0.69177, type = C + area = 13711.00000, perimeter = 483.21500, major_axis_length = 203.88077, minor_axis_length = 86.62691, eccentricity = 0.90524, convex_area = 14097.00000, extent = 0.56147, type = C + area = 14676.00000, perimeter = 481.63101, major_axis_length = 202.40207, minor_axis_length = 92.94724, eccentricity = 0.88832, convex_area = 14936.00000, extent = 0.65053, type = C + area = 12405.00000, perimeter = 437.08600, major_axis_length = 178.09366, minor_axis_length = 89.96077, eccentricity = 0.86304, convex_area = 12615.00000, extent = 0.81015, type = O + area = 11748.00000, perimeter = 433.77100, major_axis_length = 178.33948, minor_axis_length = 85.62522, eccentricity = 0.87720, convex_area = 12053.00000, extent = 0.65296, type = O + area = 12361.00000, perimeter = 443.81900, major_axis_length = 178.17212, minor_axis_length = 89.32095, eccentricity = 0.86526, convex_area = 12581.00000, extent = 0.78037, type = O + area = 11433.00000, perimeter = 426.92499, major_axis_length = 175.86852, minor_axis_length = 84.19808, eccentricity = 0.87795, convex_area = 11719.00000, extent = 0.60752, type = O + area = 14015.00000, perimeter = 475.72400, major_axis_length = 195.32164, minor_axis_length = 92.48479, eccentricity = 0.88079, convex_area = 14492.00000, extent = 0.74862, type = C + area = 10413.00000, perimeter = 427.36801, major_axis_length = 183.97604, minor_axis_length = 72.42983, eccentricity = 0.91924, convex_area = 10591.00000, extent = 0.77133, type = O + area = 14805.00000, perimeter = 499.63699, major_axis_length = 214.28244, minor_axis_length = 89.17409, eccentricity = 0.90930, convex_area = 15090.00000, extent = 0.57679, type = C + area = 12172.00000, perimeter = 452.32901, major_axis_length = 193.69254, minor_axis_length = 80.80778, eccentricity = 0.90882, convex_area = 12430.00000, extent = 0.67803, type = C + area = 16283.00000, perimeter = 516.73602, major_axis_length = 217.70950, minor_axis_length = 96.08863, eccentricity = 0.89733, convex_area = 16649.00000, extent = 0.78006, type = C + area = 14159.00000, perimeter = 489.43600, major_axis_length = 209.13132, minor_axis_length = 87.11465, eccentricity = 0.90911, convex_area = 14410.00000, extent = 0.54795, type = C + area = 9519.00000, perimeter = 402.21899, major_axis_length = 173.38118, minor_axis_length = 70.51072, eccentricity = 0.91357, convex_area = 9682.00000, extent = 0.75101, type = O + area = 14003.00000, perimeter = 489.29001, major_axis_length = 208.33290, minor_axis_length = 87.19222, eccentricity = 0.90821, convex_area = 14421.00000, extent = 0.57911, type = C + area = 11327.00000, perimeter = 423.16800, major_axis_length = 169.29546, minor_axis_length = 86.56846, eccentricity = 0.85938, convex_area = 11657.00000, extent = 0.72000, type = O + area = 12605.00000, perimeter = 448.84601, major_axis_length = 186.71645, minor_axis_length = 86.67118, eccentricity = 0.88574, convex_area = 12804.00000, extent = 0.72597, type = O + area = 14589.00000, perimeter = 495.92999, major_axis_length = 210.28394, minor_axis_length = 89.42495, eccentricity = 0.90507, convex_area = 14853.00000, extent = 0.66510, type = C + area = 11682.00000, perimeter = 423.37399, major_axis_length = 168.39949, minor_axis_length = 89.37419, eccentricity = 0.84754, convex_area = 11963.00000, extent = 0.71581, type = O + area = 12734.00000, perimeter = 447.08401, major_axis_length = 180.24823, minor_axis_length = 91.31796, eccentricity = 0.86217, convex_area = 13019.00000, extent = 0.79488, type = O + area = 13520.00000, perimeter = 471.52899, major_axis_length = 195.30615, minor_axis_length = 89.44056, eccentricity = 0.88898, convex_area = 13950.00000, extent = 0.57013, type = C + area = 11911.00000, perimeter = 441.06000, major_axis_length = 185.20558, minor_axis_length = 82.24365, eccentricity = 0.89599, convex_area = 12119.00000, extent = 0.58046, type = O + area = 11715.00000, perimeter = 429.16599, major_axis_length = 171.09964, minor_axis_length = 89.10729, eccentricity = 0.85368, convex_area = 12066.00000, extent = 0.64953, type = O + area = 13605.00000, perimeter = 466.93701, major_axis_length = 191.52223, minor_axis_length = 91.73205, eccentricity = 0.87784, convex_area = 13919.00000, extent = 0.61201, type = C + area = 12106.00000, perimeter = 448.50000, major_axis_length = 186.50513, minor_axis_length = 83.69872, eccentricity = 0.89365, convex_area = 12389.00000, extent = 0.65139, type = O + area = 13090.00000, perimeter = 472.94501, major_axis_length = 202.60158, minor_axis_length = 83.23018, eccentricity = 0.91172, convex_area = 13331.00000, extent = 0.77529, type = C + area = 12978.00000, perimeter = 465.85001, major_axis_length = 199.12939, minor_axis_length = 83.91192, eccentricity = 0.90688, convex_area = 13210.00000, extent = 0.73513, type = C + area = 13814.00000, perimeter = 477.58600, major_axis_length = 198.90308, minor_axis_length = 89.67540, eccentricity = 0.89260, convex_area = 14168.00000, extent = 0.69098, type = C + area = 11771.00000, perimeter = 430.47000, major_axis_length = 181.30299, minor_axis_length = 83.21957, eccentricity = 0.88843, convex_area = 11919.00000, extent = 0.79674, type = O + area = 11051.00000, perimeter = 421.34799, major_axis_length = 166.91263, minor_axis_length = 85.74883, eccentricity = 0.85795, convex_area = 11421.00000, extent = 0.69333, type = O + area = 14013.00000, perimeter = 480.83099, major_axis_length = 191.84508, minor_axis_length = 94.87569, eccentricity = 0.86915, convex_area = 14622.00000, extent = 0.62592, type = C + area = 14680.00000, perimeter = 502.90399, major_axis_length = 217.19501, minor_axis_length = 87.00278, eccentricity = 0.91626, convex_area = 15000.00000, extent = 0.58086, type = C + area = 12337.00000, perimeter = 446.22000, major_axis_length = 180.54181, minor_axis_length = 87.79291, eccentricity = 0.87381, convex_area = 12628.00000, extent = 0.61293, type = O + area = 14819.00000, perimeter = 496.62299, major_axis_length = 205.99135, minor_axis_length = 92.82657, eccentricity = 0.89271, convex_area = 15194.00000, extent = 0.72642, type = C + area = 13125.00000, perimeter = 475.35501, major_axis_length = 198.59845, minor_axis_length = 85.40796, eccentricity = 0.90280, convex_area = 13575.00000, extent = 0.58318, type = C + area = 14560.00000, perimeter = 493.92899, major_axis_length = 209.50883, minor_axis_length = 89.21789, eccentricity = 0.90480, convex_area = 14971.00000, extent = 0.63170, type = C + area = 14730.00000, perimeter = 483.70599, major_axis_length = 196.45126, minor_axis_length = 96.88643, eccentricity = 0.86993, convex_area = 15006.00000, extent = 0.65310, type = C + area = 14274.00000, perimeter = 488.82999, major_axis_length = 203.56786, minor_axis_length = 89.92999, eccentricity = 0.89713, convex_area = 14529.00000, extent = 0.57236, type = C + area = 15778.00000, perimeter = 515.27301, major_axis_length = 214.03784, minor_axis_length = 95.49767, eccentricity = 0.89495, convex_area = 16283.00000, extent = 0.68630, type = C + area = 12356.00000, perimeter = 427.89801, major_axis_length = 173.02116, minor_axis_length = 91.67184, eccentricity = 0.84810, convex_area = 12524.00000, extent = 0.79871, type = O + area = 12800.00000, perimeter = 471.33401, major_axis_length = 203.55943, minor_axis_length = 81.30859, eccentricity = 0.91676, convex_area = 13141.00000, extent = 0.61162, type = C + area = 15154.00000, perimeter = 504.92999, major_axis_length = 211.23309, minor_axis_length = 92.50810, eccentricity = 0.89900, convex_area = 15598.00000, extent = 0.57506, type = C + area = 14478.00000, perimeter = 469.16101, major_axis_length = 190.84772, minor_axis_length = 97.34319, eccentricity = 0.86014, convex_area = 14686.00000, extent = 0.76542, type = C + area = 12768.00000, perimeter = 450.60001, major_axis_length = 188.64336, minor_axis_length = 86.66716, eccentricity = 0.88822, convex_area = 12961.00000, extent = 0.79820, type = O + area = 11447.00000, perimeter = 419.62000, major_axis_length = 163.92053, minor_axis_length = 91.27415, eccentricity = 0.83063, convex_area = 11831.00000, extent = 0.73298, type = O + area = 13060.00000, perimeter = 465.64801, major_axis_length = 192.37201, minor_axis_length = 87.59805, eccentricity = 0.89031, convex_area = 13352.00000, extent = 0.58055, type = O + area = 14031.00000, perimeter = 494.26501, major_axis_length = 213.70952, minor_axis_length = 84.46609, eccentricity = 0.91858, convex_area = 14265.00000, extent = 0.73886, type = C + area = 13102.00000, perimeter = 479.27301, major_axis_length = 202.50768, minor_axis_length = 83.75623, eccentricity = 0.91046, convex_area = 13528.00000, extent = 0.61799, type = C + area = 14439.00000, perimeter = 492.32300, major_axis_length = 205.41563, minor_axis_length = 91.42163, eccentricity = 0.89550, convex_area = 14867.00000, extent = 0.78082, type = C + area = 14007.00000, perimeter = 490.66000, major_axis_length = 205.39612, minor_axis_length = 88.06984, eccentricity = 0.90341, convex_area = 14433.00000, extent = 0.76894, type = C + area = 13789.00000, perimeter = 471.30301, major_axis_length = 198.52347, minor_axis_length = 88.71288, eccentricity = 0.89460, convex_area = 14025.00000, extent = 0.63136, type = C + area = 11546.00000, perimeter = 429.52399, major_axis_length = 175.65869, minor_axis_length = 84.90682, eccentricity = 0.87542, convex_area = 11757.00000, extent = 0.60631, type = O + area = 11077.00000, perimeter = 417.32199, major_axis_length = 175.95758, minor_axis_length = 80.57663, eccentricity = 0.88899, convex_area = 11246.00000, extent = 0.67133, type = O + area = 11923.00000, perimeter = 432.33401, major_axis_length = 174.23662, minor_axis_length = 88.13160, eccentricity = 0.86264, convex_area = 12187.00000, extent = 0.62450, type = O + area = 12198.00000, perimeter = 440.20099, major_axis_length = 180.95660, minor_axis_length = 86.97328, eccentricity = 0.87692, convex_area = 12412.00000, extent = 0.60030, type = O + area = 11634.00000, perimeter = 427.10501, major_axis_length = 171.32634, minor_axis_length = 88.26649, eccentricity = 0.85707, convex_area = 11967.00000, extent = 0.70969, type = O + area = 15147.00000, perimeter = 510.01599, major_axis_length = 213.15617, minor_axis_length = 91.69269, eccentricity = 0.90275, convex_area = 15719.00000, extent = 0.58874, type = C + area = 13858.00000, perimeter = 475.36899, major_axis_length = 201.44203, minor_axis_length = 87.92325, eccentricity = 0.89972, convex_area = 14083.00000, extent = 0.77854, type = C + area = 12711.00000, perimeter = 470.16299, major_axis_length = 196.36380, minor_axis_length = 83.78096, eccentricity = 0.90441, convex_area = 13007.00000, extent = 0.56045, type = C + area = 11511.00000, perimeter = 438.97299, major_axis_length = 182.59438, minor_axis_length = 81.35918, eccentricity = 0.89525, convex_area = 11806.00000, extent = 0.65691, type = O + area = 12831.00000, perimeter = 455.24200, major_axis_length = 187.26712, minor_axis_length = 88.07062, eccentricity = 0.88251, convex_area = 13084.00000, extent = 0.61652, type = O + area = 11075.00000, perimeter = 412.23801, major_axis_length = 165.43394, minor_axis_length = 86.41811, eccentricity = 0.85272, convex_area = 11354.00000, extent = 0.63213, type = O + area = 15141.00000, perimeter = 505.42099, major_axis_length = 209.59360, minor_axis_length = 93.09238, eccentricity = 0.89595, convex_area = 15559.00000, extent = 0.56640, type = C + area = 11316.00000, perimeter = 429.63501, major_axis_length = 177.27831, minor_axis_length = 82.78519, eccentricity = 0.88427, convex_area = 11544.00000, extent = 0.75642, type = O + area = 14817.00000, perimeter = 502.64401, major_axis_length = 214.59085, minor_axis_length = 89.05412, eccentricity = 0.90982, convex_area = 15275.00000, extent = 0.79799, type = C + area = 12301.00000, perimeter = 440.00699, major_axis_length = 175.41667, minor_axis_length = 90.57800, eccentricity = 0.85637, convex_area = 12591.00000, extent = 0.66962, type = O + area = 10761.00000, perimeter = 429.01801, major_axis_length = 183.56711, minor_axis_length = 75.22785, eccentricity = 0.91217, convex_area = 11031.00000, extent = 0.57880, type = C + area = 13142.00000, perimeter = 464.65100, major_axis_length = 194.74500, minor_axis_length = 86.58730, eccentricity = 0.89572, convex_area = 13406.00000, extent = 0.66133, type = C + area = 11318.00000, perimeter = 427.75601, major_axis_length = 175.57466, minor_axis_length = 83.88063, eccentricity = 0.87850, convex_area = 11628.00000, extent = 0.58948, type = O + area = 10231.00000, perimeter = 404.36401, major_axis_length = 159.63927, minor_axis_length = 82.99383, eccentricity = 0.85424, convex_area = 10640.00000, extent = 0.62999, type = O + area = 15381.00000, perimeter = 503.57901, major_axis_length = 211.88353, minor_axis_length = 93.30975, eccentricity = 0.89781, convex_area = 15749.00000, extent = 0.74033, type = C + area = 16005.00000, perimeter = 518.89301, major_axis_length = 221.21553, minor_axis_length = 93.13296, eccentricity = 0.90706, convex_area = 16343.00000, extent = 0.55104, type = C + area = 11621.00000, perimeter = 402.21100, major_axis_length = 153.58499, minor_axis_length = 96.63773, eccentricity = 0.77723, convex_area = 11797.00000, extent = 0.81011, type = O + area = 13555.00000, perimeter = 477.87000, major_axis_length = 202.63708, minor_axis_length = 85.78796, eccentricity = 0.90596, convex_area = 13851.00000, extent = 0.57806, type = C + area = 11889.00000, perimeter = 426.64700, major_axis_length = 172.26799, minor_axis_length = 89.44281, eccentricity = 0.85465, convex_area = 12162.00000, extent = 0.61157, type = O + area = 11515.00000, perimeter = 425.49899, major_axis_length = 177.83521, minor_axis_length = 83.02624, eccentricity = 0.88433, convex_area = 11672.00000, extent = 0.80773, type = O + area = 13627.00000, perimeter = 476.98901, major_axis_length = 201.19452, minor_axis_length = 86.95226, eccentricity = 0.90179, convex_area = 13926.00000, extent = 0.78056, type = C + area = 11726.00000, perimeter = 450.74500, major_axis_length = 189.09308, minor_axis_length = 80.31675, eccentricity = 0.90531, convex_area = 12061.00000, extent = 0.55626, type = O + area = 13235.00000, perimeter = 465.81601, major_axis_length = 193.54562, minor_axis_length = 88.63944, eccentricity = 0.88896, convex_area = 13629.00000, extent = 0.56548, type = C + area = 8709.00000, perimeter = 383.52701, major_axis_length = 164.19389, minor_axis_length = 67.93288, eccentricity = 0.91040, convex_area = 8873.00000, extent = 0.76799, type = O + area = 11718.00000, perimeter = 427.14600, major_axis_length = 164.74820, minor_axis_length = 93.12975, eccentricity = 0.82490, convex_area = 12155.00000, extent = 0.72031, type = O + area = 12792.00000, perimeter = 443.72699, major_axis_length = 179.13026, minor_axis_length = 92.19039, eccentricity = 0.85740, convex_area = 13044.00000, extent = 0.79419, type = O + area = 12053.00000, perimeter = 440.97800, major_axis_length = 180.09575, minor_axis_length = 86.76285, eccentricity = 0.87630, convex_area = 12351.00000, extent = 0.59049, type = O + area = 16990.00000, perimeter = 535.33899, major_axis_length = 224.08717, minor_axis_length = 98.66264, eccentricity = 0.89786, convex_area = 17371.00000, extent = 0.60091, type = C + area = 10662.00000, perimeter = 415.26999, major_axis_length = 172.57503, minor_axis_length = 79.80967, eccentricity = 0.88664, convex_area = 10945.00000, extent = 0.72501, type = O + area = 12574.00000, perimeter = 444.63101, major_axis_length = 174.56026, minor_axis_length = 93.24240, eccentricity = 0.84539, convex_area = 12964.00000, extent = 0.65473, type = O + area = 11083.00000, perimeter = 421.78699, major_axis_length = 171.48567, minor_axis_length = 83.67474, eccentricity = 0.87288, convex_area = 11415.00000, extent = 0.69766, type = O + area = 14173.00000, perimeter = 480.68301, major_axis_length = 201.93576, minor_axis_length = 90.24498, eccentricity = 0.89458, convex_area = 14519.00000, extent = 0.59756, type = C + area = 12683.00000, perimeter = 448.63699, major_axis_length = 186.15756, minor_axis_length = 87.55859, eccentricity = 0.88248, convex_area = 12847.00000, extent = 0.59095, type = O + area = 14461.00000, perimeter = 483.56601, major_axis_length = 202.35306, minor_axis_length = 91.65204, eccentricity = 0.89155, convex_area = 14718.00000, extent = 0.74541, type = C + area = 11859.00000, perimeter = 444.80099, major_axis_length = 183.55276, minor_axis_length = 83.57420, eccentricity = 0.89033, convex_area = 12213.00000, extent = 0.76313, type = C + area = 12780.00000, perimeter = 437.02899, major_axis_length = 175.11682, minor_axis_length = 93.66058, eccentricity = 0.84495, convex_area = 12940.00000, extent = 0.70631, type = O + area = 9983.00000, perimeter = 402.66199, major_axis_length = 167.37495, minor_axis_length = 76.76596, eccentricity = 0.88862, convex_area = 10187.00000, extent = 0.59693, type = O + area = 13481.00000, perimeter = 447.92099, major_axis_length = 182.98514, minor_axis_length = 94.36719, eccentricity = 0.85676, convex_area = 13647.00000, extent = 0.78078, type = O + area = 11454.00000, perimeter = 424.95401, major_axis_length = 175.07666, minor_axis_length = 84.24493, eccentricity = 0.87662, convex_area = 11646.00000, extent = 0.73310, type = O + area = 11621.00000, perimeter = 444.66199, major_axis_length = 188.64220, minor_axis_length = 79.06629, eccentricity = 0.90792, convex_area = 11849.00000, extent = 0.61985, type = O + area = 12899.00000, perimeter = 472.26300, major_axis_length = 205.52055, minor_axis_length = 80.43336, eccentricity = 0.92024, convex_area = 13107.00000, extent = 0.58592, type = C + area = 11000.00000, perimeter = 413.26099, major_axis_length = 167.33331, minor_axis_length = 84.73780, eccentricity = 0.86230, convex_area = 11158.00000, extent = 0.79365, type = O + area = 11966.00000, perimeter = 456.84601, major_axis_length = 194.27026, minor_axis_length = 79.35069, eccentricity = 0.91278, convex_area = 12337.00000, extent = 0.57460, type = C + area = 15153.00000, perimeter = 514.40399, major_axis_length = 218.09232, minor_axis_length = 90.05229, eccentricity = 0.91077, convex_area = 15628.00000, extent = 0.68085, type = C + area = 12275.00000, perimeter = 454.69299, major_axis_length = 181.87129, minor_axis_length = 87.00900, eccentricity = 0.87814, convex_area = 12709.00000, extent = 0.69268, type = O + area = 9976.00000, perimeter = 406.07901, major_axis_length = 168.06120, minor_axis_length = 76.86061, eccentricity = 0.88929, convex_area = 10295.00000, extent = 0.57337, type = O + area = 13655.00000, perimeter = 471.52499, major_axis_length = 193.19618, minor_axis_length = 91.55775, eccentricity = 0.88057, convex_area = 14053.00000, extent = 0.71098, type = C + area = 13104.00000, perimeter = 476.98901, major_axis_length = 202.42511, minor_axis_length = 83.61329, eccentricity = 0.91070, convex_area = 13464.00000, extent = 0.53882, type = C + area = 10380.00000, perimeter = 399.17700, major_axis_length = 164.59058, minor_axis_length = 80.95958, eccentricity = 0.87066, convex_area = 10630.00000, extent = 0.70641, type = O + area = 10786.00000, perimeter = 408.02499, major_axis_length = 165.12993, minor_axis_length = 84.93224, eccentricity = 0.85759, convex_area = 11022.00000, extent = 0.78759, type = O + area = 13076.00000, perimeter = 450.34500, major_axis_length = 183.59694, minor_axis_length = 91.70959, eccentricity = 0.86630, convex_area = 13253.00000, extent = 0.67702, type = O + area = 12637.00000, perimeter = 455.29099, major_axis_length = 187.80650, minor_axis_length = 86.84584, eccentricity = 0.88666, convex_area = 12958.00000, extent = 0.61734, type = O + area = 14654.00000, perimeter = 498.10300, major_axis_length = 214.65430, minor_axis_length = 87.38055, eccentricity = 0.91339, convex_area = 14907.00000, extent = 0.80375, type = C + area = 10604.00000, perimeter = 425.92599, major_axis_length = 179.15118, minor_axis_length = 76.35169, eccentricity = 0.90464, convex_area = 10830.00000, extent = 0.57490, type = C + area = 11958.00000, perimeter = 444.92700, major_axis_length = 187.75836, minor_axis_length = 81.88332, eccentricity = 0.89989, convex_area = 12240.00000, extent = 0.72667, type = C + area = 12340.00000, perimeter = 466.74301, major_axis_length = 196.69354, minor_axis_length = 80.84042, eccentricity = 0.91164, convex_area = 12774.00000, extent = 0.74449, type = O + area = 11573.00000, perimeter = 427.28101, major_axis_length = 176.78906, minor_axis_length = 84.64529, eccentricity = 0.87793, convex_area = 11828.00000, extent = 0.60684, type = O + area = 12397.00000, perimeter = 433.35199, major_axis_length = 171.60930, minor_axis_length = 92.98810, eccentricity = 0.84047, convex_area = 12631.00000, extent = 0.63477, type = O + area = 12403.00000, perimeter = 451.24399, major_axis_length = 194.00620, minor_axis_length = 82.41925, eccentricity = 0.90527, convex_area = 12596.00000, extent = 0.83069, type = C + area = 10763.00000, perimeter = 416.01700, major_axis_length = 171.06178, minor_axis_length = 80.66742, eccentricity = 0.88183, convex_area = 10951.00000, extent = 0.59504, type = O + area = 15764.00000, perimeter = 513.84399, major_axis_length = 212.16507, minor_axis_length = 95.95991, eccentricity = 0.89187, convex_area = 16258.00000, extent = 0.60470, type = C + area = 13328.00000, perimeter = 473.04401, major_axis_length = 201.39886, minor_axis_length = 85.25861, eccentricity = 0.90597, convex_area = 13588.00000, extent = 0.78010, type = C + area = 13439.00000, perimeter = 477.75000, major_axis_length = 199.38161, minor_axis_length = 87.62737, eccentricity = 0.89824, convex_area = 13852.00000, extent = 0.75124, type = C + area = 12907.00000, perimeter = 466.23999, major_axis_length = 194.46927, minor_axis_length = 85.91095, eccentricity = 0.89713, convex_area = 13268.00000, extent = 0.63541, type = C + area = 10919.00000, perimeter = 428.70200, major_axis_length = 182.93265, minor_axis_length = 77.90177, eccentricity = 0.90479, convex_area = 11162.00000, extent = 0.60905, type = O + area = 13589.00000, perimeter = 479.83600, major_axis_length = 201.71178, minor_axis_length = 87.16551, eccentricity = 0.90181, convex_area = 13908.00000, extent = 0.58934, type = O + area = 11814.00000, perimeter = 424.53201, major_axis_length = 172.85596, minor_axis_length = 87.35524, eccentricity = 0.86291, convex_area = 11970.00000, extent = 0.73814, type = O + area = 12311.00000, perimeter = 450.33499, major_axis_length = 194.44675, minor_axis_length = 81.31934, eccentricity = 0.90835, convex_area = 12441.00000, extent = 0.55656, type = O + area = 12121.00000, perimeter = 439.84201, major_axis_length = 183.46703, minor_axis_length = 84.76440, eccentricity = 0.88687, convex_area = 12389.00000, extent = 0.64874, type = O + area = 15552.00000, perimeter = 492.98199, major_axis_length = 198.20627, minor_axis_length = 101.64401, eccentricity = 0.85850, convex_area = 15936.00000, extent = 0.62745, type = C + area = 12198.00000, perimeter = 442.42099, major_axis_length = 183.66418, minor_axis_length = 85.49796, eccentricity = 0.88504, convex_area = 12391.00000, extent = 0.71383, type = O + area = 10727.00000, perimeter = 425.90201, major_axis_length = 178.71443, minor_axis_length = 77.53144, eccentricity = 0.90100, convex_area = 10960.00000, extent = 0.56434, type = C + area = 10296.00000, perimeter = 415.75101, major_axis_length = 172.33287, minor_axis_length = 77.06075, eccentricity = 0.89445, convex_area = 10514.00000, extent = 0.61089, type = O + area = 9080.00000, perimeter = 396.54001, major_axis_length = 165.68701, minor_axis_length = 70.25223, eccentricity = 0.90566, convex_area = 9387.00000, extent = 0.57809, type = O + area = 10910.00000, perimeter = 413.09500, major_axis_length = 165.88043, minor_axis_length = 85.08663, eccentricity = 0.85842, convex_area = 11243.00000, extent = 0.70771, type = O + area = 14479.00000, perimeter = 473.95700, major_axis_length = 193.13182, minor_axis_length = 96.94859, eccentricity = 0.86488, convex_area = 14812.00000, extent = 0.63664, type = C + area = 13867.00000, perimeter = 494.65302, major_axis_length = 213.12224, minor_axis_length = 84.20592, eccentricity = 0.91864, convex_area = 14200.00000, extent = 0.53359, type = C + area = 16011.00000, perimeter = 525.06897, major_axis_length = 222.94646, minor_axis_length = 92.38245, eccentricity = 0.91011, convex_area = 16298.00000, extent = 0.55663, type = C + area = 10733.00000, perimeter = 402.41901, major_axis_length = 166.23431, minor_axis_length = 82.70548, eccentricity = 0.86745, convex_area = 10876.00000, extent = 0.70612, type = O + area = 10895.00000, perimeter = 411.59000, major_axis_length = 167.44122, minor_axis_length = 84.25878, eccentricity = 0.86416, convex_area = 11155.00000, extent = 0.68626, type = O + area = 11658.00000, perimeter = 424.53400, major_axis_length = 170.76994, minor_axis_length = 88.24642, eccentricity = 0.85613, convex_area = 11963.00000, extent = 0.68299, type = O + area = 13479.00000, perimeter = 477.01599, major_axis_length = 200.05305, minor_axis_length = 86.65029, eccentricity = 0.90133, convex_area = 13786.00000, extent = 0.65790, type = C + area = 10236.00000, perimeter = 398.53799, major_axis_length = 160.84901, minor_axis_length = 82.49160, eccentricity = 0.85848, convex_area = 10392.00000, extent = 0.79565, type = O + area = 13980.00000, perimeter = 479.17999, major_axis_length = 206.32904, minor_axis_length = 87.03672, eccentricity = 0.90667, convex_area = 14137.00000, extent = 0.86105, type = C + area = 11459.00000, perimeter = 435.45300, major_axis_length = 175.30644, minor_axis_length = 85.23182, eccentricity = 0.87385, convex_area = 11833.00000, extent = 0.58390, type = O + area = 15256.00000, perimeter = 495.77100, major_axis_length = 209.62132, minor_axis_length = 93.42302, eccentricity = 0.89519, convex_area = 15449.00000, extent = 0.57498, type = C + area = 10246.00000, perimeter = 419.95001, major_axis_length = 178.92371, minor_axis_length = 74.24162, eccentricity = 0.90985, convex_area = 10525.00000, extent = 0.77786, type = O + area = 11758.00000, perimeter = 436.38300, major_axis_length = 177.34860, minor_axis_length = 85.96658, eccentricity = 0.87466, convex_area = 12190.00000, extent = 0.76356, type = O + area = 10841.00000, perimeter = 410.33200, major_axis_length = 167.11496, minor_axis_length = 84.25272, eccentricity = 0.86361, convex_area = 11079.00000, extent = 0.73449, type = O + area = 12417.00000, perimeter = 455.08301, major_axis_length = 187.29521, minor_axis_length = 85.61137, eccentricity = 0.88942, convex_area = 12851.00000, extent = 0.65876, type = C + area = 12470.00000, perimeter = 455.89700, major_axis_length = 192.46115, minor_axis_length = 83.39553, eccentricity = 0.90124, convex_area = 12704.00000, extent = 0.58130, type = C + area = 11217.00000, perimeter = 424.08499, major_axis_length = 168.65384, minor_axis_length = 86.48293, eccentricity = 0.85852, convex_area = 11546.00000, extent = 0.77188, type = O + area = 12249.00000, perimeter = 438.90201, major_axis_length = 181.72556, minor_axis_length = 86.36489, eccentricity = 0.87985, convex_area = 12428.00000, extent = 0.62751, type = O + area = 12706.00000, perimeter = 463.45099, major_axis_length = 194.18146, minor_axis_length = 84.88486, eccentricity = 0.89939, convex_area = 13011.00000, extent = 0.79731, type = C + area = 14517.00000, perimeter = 488.32401, major_axis_length = 196.16449, minor_axis_length = 95.58290, eccentricity = 0.87326, convex_area = 14976.00000, extent = 0.59513, type = C + area = 12518.00000, perimeter = 473.38400, major_axis_length = 203.92206, minor_axis_length = 80.00767, eccentricity = 0.91982, convex_area = 12778.00000, extent = 0.68033, type = C + area = 9908.00000, perimeter = 400.99899, major_axis_length = 170.60487, minor_axis_length = 74.51440, eccentricity = 0.89958, convex_area = 10075.00000, extent = 0.58610, type = O + area = 16734.00000, perimeter = 531.50702, major_axis_length = 220.69548, minor_axis_length = 97.83933, eccentricity = 0.89636, convex_area = 17242.00000, extent = 0.65711, type = C + area = 14953.00000, perimeter = 503.75201, major_axis_length = 217.10368, minor_axis_length = 88.61492, eccentricity = 0.91291, convex_area = 15229.00000, extent = 0.72314, type = C + area = 13634.00000, perimeter = 491.17999, major_axis_length = 209.13353, minor_axis_length = 83.73373, eccentricity = 0.91635, convex_area = 14075.00000, extent = 0.78791, type = C + area = 11794.00000, perimeter = 456.32300, major_axis_length = 194.04308, minor_axis_length = 78.79870, eccentricity = 0.91383, convex_area = 12116.00000, extent = 0.65348, type = C + area = 10025.00000, perimeter = 400.51099, major_axis_length = 167.56352, minor_axis_length = 77.07865, eccentricity = 0.88792, convex_area = 10181.00000, extent = 0.59503, type = O + area = 10803.00000, perimeter = 411.31000, major_axis_length = 165.22313, minor_axis_length = 84.78220, eccentricity = 0.85831, convex_area = 11098.00000, extent = 0.64307, type = O + area = 11249.00000, perimeter = 423.09500, major_axis_length = 167.86301, minor_axis_length = 86.53877, eccentricity = 0.85687, convex_area = 11560.00000, extent = 0.61889, type = O + area = 13537.00000, perimeter = 467.58701, major_axis_length = 199.57315, minor_axis_length = 86.72983, eccentricity = 0.90063, convex_area = 13745.00000, extent = 0.73062, type = O + area = 14958.00000, perimeter = 505.25699, major_axis_length = 216.37630, minor_axis_length = 88.34891, eccentricity = 0.91284, convex_area = 15235.00000, extent = 0.70861, type = C + area = 12135.00000, perimeter = 432.81299, major_axis_length = 180.87585, minor_axis_length = 86.05373, eccentricity = 0.87957, convex_area = 12304.00000, extent = 0.64305, type = O + area = 11200.00000, perimeter = 428.16699, major_axis_length = 176.10751, minor_axis_length = 82.36244, eccentricity = 0.88390, convex_area = 11424.00000, extent = 0.58425, type = O + area = 11932.00000, perimeter = 436.75900, major_axis_length = 178.31656, minor_axis_length = 86.78894, eccentricity = 0.87356, convex_area = 12152.00000, extent = 0.59990, type = O + area = 12115.00000, perimeter = 449.19800, major_axis_length = 187.59158, minor_axis_length = 83.37024, eccentricity = 0.89582, convex_area = 12440.00000, extent = 0.56686, type = O + area = 11454.00000, perimeter = 419.31299, major_axis_length = 174.17632, minor_axis_length = 84.37674, eccentricity = 0.87483, convex_area = 11604.00000, extent = 0.82214, type = O + area = 14155.00000, perimeter = 480.52200, major_axis_length = 200.54674, minor_axis_length = 91.05968, eccentricity = 0.89097, convex_area = 14462.00000, extent = 0.72219, type = C + area = 15569.00000, perimeter = 504.75400, major_axis_length = 214.50677, minor_axis_length = 93.19716, eccentricity = 0.90069, convex_area = 15815.00000, extent = 0.77304, type = C + area = 9967.00000, perimeter = 400.21899, major_axis_length = 167.23888, minor_axis_length = 76.96323, eccentricity = 0.88782, convex_area = 10128.00000, extent = 0.66464, type = O + area = 10842.00000, perimeter = 415.65900, major_axis_length = 169.43460, minor_axis_length = 82.63617, eccentricity = 0.87300, convex_area = 11153.00000, extent = 0.73306, type = O + area = 13289.00000, perimeter = 467.31500, major_axis_length = 194.88419, minor_axis_length = 87.81412, eccentricity = 0.89273, convex_area = 13628.00000, extent = 0.69540, type = C + area = 10735.00000, perimeter = 421.48801, major_axis_length = 172.77937, minor_axis_length = 80.16738, eccentricity = 0.88584, convex_area = 11021.00000, extent = 0.78095, type = O + area = 15546.00000, perimeter = 518.94299, major_axis_length = 219.22653, minor_axis_length = 91.38641, eccentricity = 0.90897, convex_area = 15967.00000, extent = 0.55351, type = C + area = 10380.00000, perimeter = 399.05301, major_axis_length = 161.87367, minor_axis_length = 82.76502, eccentricity = 0.85941, convex_area = 10606.00000, extent = 0.68596, type = O + area = 14023.00000, perimeter = 491.66901, major_axis_length = 211.15919, minor_axis_length = 85.50137, eccentricity = 0.91435, convex_area = 14262.00000, extent = 0.53914, type = C + area = 11042.00000, perimeter = 430.76001, major_axis_length = 185.50810, minor_axis_length = 76.13742, eccentricity = 0.91189, convex_area = 11224.00000, extent = 0.67846, type = O + area = 14362.00000, perimeter = 479.93100, major_axis_length = 202.70265, minor_axis_length = 90.70675, eccentricity = 0.89429, convex_area = 14606.00000, extent = 0.59147, type = C + area = 15094.00000, perimeter = 506.50699, major_axis_length = 217.93829, minor_axis_length = 89.09559, eccentricity = 0.91262, convex_area = 15346.00000, extent = 0.66856, type = C + area = 10304.00000, perimeter = 416.56100, major_axis_length = 174.27423, minor_axis_length = 76.18439, eccentricity = 0.89939, convex_area = 10541.00000, extent = 0.61224, type = O + area = 10398.00000, perimeter = 405.67899, major_axis_length = 162.22716, minor_axis_length = 82.39346, eccentricity = 0.86142, convex_area = 10658.00000, extent = 0.64472, type = O + area = 10919.00000, perimeter = 428.34900, major_axis_length = 179.68311, minor_axis_length = 77.92034, eccentricity = 0.90108, convex_area = 11143.00000, extent = 0.59582, type = O + area = 14824.00000, perimeter = 513.21698, major_axis_length = 220.16020, minor_axis_length = 86.80725, eccentricity = 0.91899, convex_area = 15150.00000, extent = 0.56836, type = C + area = 16606.00000, perimeter = 516.36499, major_axis_length = 211.59421, minor_axis_length = 101.76991, eccentricity = 0.87674, convex_area = 17032.00000, extent = 0.70712, type = C + area = 14132.00000, perimeter = 482.36899, major_axis_length = 205.20067, minor_axis_length = 88.29636, eccentricity = 0.90269, convex_area = 14341.00000, extent = 0.58610, type = C + area = 11723.00000, perimeter = 432.74600, major_axis_length = 176.97508, minor_axis_length = 85.09567, eccentricity = 0.87681, convex_area = 12013.00000, extent = 0.66559, type = O + area = 15460.00000, perimeter = 507.07700, major_axis_length = 213.57233, minor_axis_length = 93.55610, eccentricity = 0.89895, convex_area = 15819.00000, extent = 0.58221, type = C + area = 11689.00000, perimeter = 444.89801, major_axis_length = 191.93597, minor_axis_length = 78.10004, eccentricity = 0.91347, convex_area = 11935.00000, extent = 0.54930, type = C + area = 10440.00000, perimeter = 405.61499, major_axis_length = 165.24684, minor_axis_length = 82.02889, eccentricity = 0.86809, convex_area = 10716.00000, extent = 0.59842, type = O + area = 14911.00000, perimeter = 494.08899, major_axis_length = 207.56024, minor_axis_length = 92.41061, eccentricity = 0.89542, convex_area = 15132.00000, extent = 0.60476, type = C + area = 14085.00000, perimeter = 489.45499, major_axis_length = 200.52655, minor_axis_length = 91.23563, eccentricity = 0.89050, convex_area = 14670.00000, extent = 0.62717, type = C + area = 11961.00000, perimeter = 448.56500, major_axis_length = 189.18015, minor_axis_length = 81.78645, eccentricity = 0.90172, convex_area = 12275.00000, extent = 0.75340, type = O + area = 11973.00000, perimeter = 436.18301, major_axis_length = 177.13417, minor_axis_length = 87.45832, eccentricity = 0.86961, convex_area = 12197.00000, extent = 0.59889, type = O + area = 11898.00000, perimeter = 422.36801, major_axis_length = 166.23572, minor_axis_length = 91.87953, eccentricity = 0.83338, convex_area = 12063.00000, extent = 0.66277, type = O + area = 14525.00000, perimeter = 487.21600, major_axis_length = 206.45012, minor_axis_length = 90.84386, eccentricity = 0.89798, convex_area = 14798.00000, extent = 0.59334, type = C + area = 14547.00000, perimeter = 491.04401, major_axis_length = 206.65707, minor_axis_length = 90.17514, eccentricity = 0.89978, convex_area = 14780.00000, extent = 0.59322, type = C + area = 15568.00000, perimeter = 519.45599, major_axis_length = 222.22809, minor_axis_length = 90.81753, eccentricity = 0.91268, convex_area = 15984.00000, extent = 0.78270, type = C + area = 10512.00000, perimeter = 418.06699, major_axis_length = 170.81836, minor_axis_length = 79.28154, eccentricity = 0.88577, convex_area = 10776.00000, extent = 0.58792, type = O + area = 15281.00000, perimeter = 509.51700, major_axis_length = 212.69688, minor_axis_length = 92.99384, eccentricity = 0.89936, convex_area = 15689.00000, extent = 0.64023, type = C + area = 11510.00000, perimeter = 433.51401, major_axis_length = 180.38232, minor_axis_length = 82.62196, eccentricity = 0.88893, convex_area = 11827.00000, extent = 0.76703, type = C + area = 13269.00000, perimeter = 491.89301, major_axis_length = 212.57471, minor_axis_length = 81.06411, eccentricity = 0.92443, convex_area = 13728.00000, extent = 0.65095, type = C + area = 15522.00000, perimeter = 507.24200, major_axis_length = 213.68193, minor_axis_length = 94.90154, eccentricity = 0.89596, convex_area = 15782.00000, extent = 0.77890, type = C + area = 12131.00000, perimeter = 444.92599, major_axis_length = 183.83809, minor_axis_length = 85.05927, eccentricity = 0.88652, convex_area = 12419.00000, extent = 0.78416, type = O + area = 15196.00000, perimeter = 501.30301, major_axis_length = 212.32976, minor_axis_length = 92.00545, eccentricity = 0.90124, convex_area = 15463.00000, extent = 0.76841, type = C + area = 11594.00000, perimeter = 437.91000, major_axis_length = 178.67661, minor_axis_length = 84.30540, eccentricity = 0.88169, convex_area = 11969.00000, extent = 0.60060, type = O + area = 13785.00000, perimeter = 489.91599, major_axis_length = 213.37642, minor_axis_length = 82.78992, eccentricity = 0.92166, convex_area = 14130.00000, extent = 0.79664, type = C + area = 14054.00000, perimeter = 486.76501, major_axis_length = 207.58250, minor_axis_length = 87.13073, eccentricity = 0.90764, convex_area = 14343.00000, extent = 0.78946, type = C + area = 10828.00000, perimeter = 410.06900, major_axis_length = 166.37714, minor_axis_length = 84.09660, eccentricity = 0.86285, convex_area = 11093.00000, extent = 0.72852, type = O + area = 14057.00000, perimeter = 483.48001, major_axis_length = 201.57481, minor_axis_length = 89.90643, eccentricity = 0.89502, convex_area = 14388.00000, extent = 0.56727, type = C + area = 12032.00000, perimeter = 437.30301, major_axis_length = 176.75156, minor_axis_length = 87.45618, eccentricity = 0.86901, convex_area = 12264.00000, extent = 0.64143, type = O + area = 11597.00000, perimeter = 433.68201, major_axis_length = 180.84389, minor_axis_length = 82.67798, eccentricity = 0.88937, convex_area = 11803.00000, extent = 0.60552, type = O + area = 14498.00000, perimeter = 496.54999, major_axis_length = 200.71027, minor_axis_length = 93.57654, eccentricity = 0.88467, convex_area = 15053.00000, extent = 0.65306, type = O + area = 11493.00000, perimeter = 447.15399, major_axis_length = 185.53111, minor_axis_length = 79.75233, eccentricity = 0.90290, convex_area = 11801.00000, extent = 0.57009, type = C + area = 10810.00000, perimeter = 418.20499, major_axis_length = 173.54800, minor_axis_length = 80.10409, eccentricity = 0.88711, convex_area = 11047.00000, extent = 0.73522, type = O + area = 13619.00000, perimeter = 467.76599, major_axis_length = 193.68094, minor_axis_length = 90.47348, eccentricity = 0.88419, convex_area = 13926.00000, extent = 0.58667, type = O + area = 13115.00000, perimeter = 461.03601, major_axis_length = 195.01874, minor_axis_length = 86.78284, eccentricity = 0.89553, convex_area = 13381.00000, extent = 0.73846, type = C + area = 12256.00000, perimeter = 470.10800, major_axis_length = 207.98006, minor_axis_length = 75.71490, eccentricity = 0.93138, convex_area = 12541.00000, extent = 0.73831, type = C + area = 10562.00000, perimeter = 407.19400, major_axis_length = 168.77527, minor_axis_length = 80.46923, eccentricity = 0.87902, convex_area = 10724.00000, extent = 0.61123, type = O + area = 14106.00000, perimeter = 485.57999, major_axis_length = 199.92107, minor_axis_length = 91.59042, eccentricity = 0.88888, convex_area = 14515.00000, extent = 0.57623, type = C + area = 14321.00000, perimeter = 490.42499, major_axis_length = 204.28038, minor_axis_length = 90.68298, eccentricity = 0.89607, convex_area = 14622.00000, extent = 0.57387, type = C + area = 11483.00000, perimeter = 437.02499, major_axis_length = 185.75238, minor_axis_length = 79.08173, eccentricity = 0.90485, convex_area = 11665.00000, extent = 0.57507, type = O + area = 11465.00000, perimeter = 423.78799, major_axis_length = 174.07297, minor_axis_length = 84.73955, eccentricity = 0.87351, convex_area = 11673.00000, extent = 0.73381, type = O + area = 11795.00000, perimeter = 428.75000, major_axis_length = 175.96001, minor_axis_length = 86.42063, eccentricity = 0.87108, convex_area = 12016.00000, extent = 0.73811, type = O + area = 12823.00000, perimeter = 450.64099, major_axis_length = 180.69753, minor_axis_length = 91.78145, eccentricity = 0.86140, convex_area = 13195.00000, extent = 0.69785, type = O + area = 12140.00000, perimeter = 441.49899, major_axis_length = 182.43399, minor_axis_length = 85.49819, eccentricity = 0.88338, convex_area = 12358.00000, extent = 0.58961, type = O + area = 12158.00000, perimeter = 441.47800, major_axis_length = 182.28729, minor_axis_length = 85.52101, eccentricity = 0.88312, convex_area = 12359.00000, extent = 0.71551, type = C + area = 14968.00000, perimeter = 514.80103, major_axis_length = 220.22400, minor_axis_length = 87.73534, eccentricity = 0.91722, convex_area = 15438.00000, extent = 0.74092, type = C + area = 14244.00000, perimeter = 488.06601, major_axis_length = 199.89989, minor_axis_length = 92.31540, eccentricity = 0.88698, convex_area = 14691.00000, extent = 0.61633, type = C + area = 11366.00000, perimeter = 423.11499, major_axis_length = 171.90665, minor_axis_length = 85.57930, eccentricity = 0.86728, convex_area = 11599.00000, extent = 0.61140, type = O + area = 12675.00000, perimeter = 466.10101, major_axis_length = 195.80823, minor_axis_length = 83.40395, eccentricity = 0.90475, convex_area = 12977.00000, extent = 0.58025, type = O + area = 14910.00000, perimeter = 511.60001, major_axis_length = 221.61229, minor_axis_length = 86.21699, eccentricity = 0.92122, convex_area = 15215.00000, extent = 0.69964, type = C + area = 12832.00000, perimeter = 464.52600, major_axis_length = 196.61118, minor_axis_length = 83.98689, eccentricity = 0.90417, convex_area = 13148.00000, extent = 0.56291, type = C + area = 10817.00000, perimeter = 403.99799, major_axis_length = 167.42336, minor_axis_length = 82.72127, eccentricity = 0.86941, convex_area = 10953.00000, extent = 0.78509, type = O + area = 12345.00000, perimeter = 448.76901, major_axis_length = 180.52049, minor_axis_length = 88.84285, eccentricity = 0.87051, convex_area = 12676.00000, extent = 0.59500, type = O + area = 13574.00000, perimeter = 473.22101, major_axis_length = 197.87277, minor_axis_length = 88.44189, eccentricity = 0.89455, convex_area = 13879.00000, extent = 0.64125, type = C + area = 14840.00000, perimeter = 512.00800, major_axis_length = 220.51431, minor_axis_length = 86.41502, eccentricity = 0.92002, convex_area = 15160.00000, extent = 0.56417, type = C + area = 12104.00000, perimeter = 441.77499, major_axis_length = 182.46213, minor_axis_length = 85.51347, eccentricity = 0.88338, convex_area = 12378.00000, extent = 0.73913, type = C + area = 13080.00000, perimeter = 474.26001, major_axis_length = 198.95737, minor_axis_length = 84.75006, eccentricity = 0.90474, convex_area = 13511.00000, extent = 0.70277, type = C + area = 12921.00000, perimeter = 476.74600, major_axis_length = 206.22263, minor_axis_length = 80.40368, eccentricity = 0.92086, convex_area = 13218.00000, extent = 0.54692, type = C + area = 14646.00000, perimeter = 511.45200, major_axis_length = 220.48257, minor_axis_length = 85.63171, eccentricity = 0.92150, convex_area = 14999.00000, extent = 0.63667, type = C + area = 14483.00000, perimeter = 512.72101, major_axis_length = 215.76816, minor_axis_length = 86.27912, eccentricity = 0.91657, convex_area = 14912.00000, extent = 0.53229, type = C + area = 12495.00000, perimeter = 454.79300, major_axis_length = 186.77663, minor_axis_length = 86.49271, eccentricity = 0.88632, convex_area = 12774.00000, extent = 0.75032, type = O + area = 11144.00000, perimeter = 427.12100, major_axis_length = 182.21642, minor_axis_length = 78.31834, eccentricity = 0.90292, convex_area = 11332.00000, extent = 0.68435, type = O + area = 15303.00000, perimeter = 505.92801, major_axis_length = 209.61992, minor_axis_length = 94.15701, eccentricity = 0.89344, convex_area = 15746.00000, extent = 0.62461, type = C + area = 12972.00000, perimeter = 467.38000, major_axis_length = 194.52908, minor_axis_length = 86.50668, eccentricity = 0.89568, convex_area = 13425.00000, extent = 0.77468, type = C + area = 16006.00000, perimeter = 528.17603, major_axis_length = 222.67191, minor_axis_length = 93.09613, eccentricity = 0.90841, convex_area = 16466.00000, extent = 0.61185, type = C + area = 14851.00000, perimeter = 512.31897, major_axis_length = 218.00836, minor_axis_length = 88.49667, eccentricity = 0.91390, convex_area = 15556.00000, extent = 0.71775, type = C + area = 14680.00000, perimeter = 495.44400, major_axis_length = 206.75375, minor_axis_length = 91.29646, eccentricity = 0.89723, convex_area = 15091.00000, extent = 0.61159, type = C + area = 12406.00000, perimeter = 434.73099, major_axis_length = 172.18394, minor_axis_length = 92.85658, eccentricity = 0.84212, convex_area = 12704.00000, extent = 0.64447, type = O + area = 11933.00000, perimeter = 430.86700, major_axis_length = 178.96300, minor_axis_length = 85.46998, eccentricity = 0.87859, convex_area = 12118.00000, extent = 0.79809, type = O + area = 14410.00000, perimeter = 483.80899, major_axis_length = 200.63506, minor_axis_length = 92.52118, eccentricity = 0.88733, convex_area = 14788.00000, extent = 0.58321, type = C + area = 11935.00000, perimeter = 464.93301, major_axis_length = 196.53505, minor_axis_length = 79.72299, eccentricity = 0.91403, convex_area = 12358.00000, extent = 0.56663, type = C + area = 12642.00000, perimeter = 462.80899, major_axis_length = 198.40471, minor_axis_length = 81.74517, eccentricity = 0.91118, convex_area = 12878.00000, extent = 0.60598, type = O + area = 10201.00000, perimeter = 403.30701, major_axis_length = 166.23384, minor_axis_length = 78.98984, eccentricity = 0.87989, convex_area = 10432.00000, extent = 0.60971, type = O + area = 12597.00000, perimeter = 451.54300, major_axis_length = 189.60536, minor_axis_length = 85.23103, eccentricity = 0.89327, convex_area = 12858.00000, extent = 0.68155, type = C + area = 9221.00000, perimeter = 387.09399, major_axis_length = 159.22450, minor_axis_length = 74.90333, eccentricity = 0.88244, convex_area = 9418.00000, extent = 0.76842, type = O + area = 11639.00000, perimeter = 432.38699, major_axis_length = 178.69485, minor_axis_length = 83.95451, eccentricity = 0.88276, convex_area = 11940.00000, extent = 0.59358, type = O + area = 15107.00000, perimeter = 488.86600, major_axis_length = 205.21521, minor_axis_length = 94.36982, eccentricity = 0.88799, convex_area = 15322.00000, extent = 0.78723, type = C + area = 13443.00000, perimeter = 469.45401, major_axis_length = 196.63802, minor_axis_length = 87.97915, eccentricity = 0.89433, convex_area = 13686.00000, extent = 0.57226, type = O + area = 11630.00000, perimeter = 425.51700, major_axis_length = 173.09642, minor_axis_length = 87.19287, eccentricity = 0.86386, convex_area = 11766.00000, extent = 0.78169, type = O + area = 11339.00000, perimeter = 425.50601, major_axis_length = 177.04713, minor_axis_length = 82.54741, eccentricity = 0.88466, convex_area = 11533.00000, extent = 0.59205, type = O + area = 13584.00000, perimeter = 478.05701, major_axis_length = 203.83694, minor_axis_length = 85.42742, eccentricity = 0.90794, convex_area = 13877.00000, extent = 0.67633, type = C + area = 12593.00000, perimeter = 432.18399, major_axis_length = 171.48470, minor_axis_length = 93.92503, eccentricity = 0.83666, convex_area = 12785.00000, extent = 0.66377, type = O + area = 13623.00000, perimeter = 493.56799, major_axis_length = 211.73048, minor_axis_length = 82.92393, eccentricity = 0.92011, convex_area = 14065.00000, extent = 0.52655, type = C + area = 11542.00000, perimeter = 426.40399, major_axis_length = 175.27608, minor_axis_length = 84.45689, eccentricity = 0.87625, convex_area = 11738.00000, extent = 0.62728, type = O + area = 11422.00000, perimeter = 429.20499, major_axis_length = 178.55898, minor_axis_length = 82.38754, eccentricity = 0.88719, convex_area = 11668.00000, extent = 0.68559, type = O + area = 14434.00000, perimeter = 488.28699, major_axis_length = 201.64925, minor_axis_length = 92.53371, eccentricity = 0.88850, convex_area = 14826.00000, extent = 0.70776, type = C + area = 15306.00000, perimeter = 524.68500, major_axis_length = 227.78186, minor_axis_length = 87.04253, eccentricity = 0.92411, convex_area = 15837.00000, extent = 0.51251, type = C + area = 13269.00000, perimeter = 458.49399, major_axis_length = 183.40436, minor_axis_length = 93.34014, eccentricity = 0.86081, convex_area = 13619.00000, extent = 0.61074, type = O + area = 14439.00000, perimeter = 492.55301, major_axis_length = 211.85214, minor_axis_length = 87.43467, eccentricity = 0.91086, convex_area = 14614.00000, extent = 0.57279, type = C + area = 13567.00000, perimeter = 473.57501, major_axis_length = 195.35312, minor_axis_length = 89.23708, eccentricity = 0.88957, convex_area = 14020.00000, extent = 0.64679, type = C + area = 12465.00000, perimeter = 462.61600, major_axis_length = 196.44574, minor_axis_length = 82.09127, eccentricity = 0.90850, convex_area = 12794.00000, extent = 0.73014, type = C + area = 13410.00000, perimeter = 464.77600, major_axis_length = 186.42899, minor_axis_length = 93.29446, eccentricity = 0.86578, convex_area = 13894.00000, extent = 0.71669, type = O + area = 10993.00000, perimeter = 428.70401, major_axis_length = 179.57823, minor_axis_length = 78.64101, eccentricity = 0.89901, convex_area = 11169.00000, extent = 0.56876, type = O + area = 11422.00000, perimeter = 414.81601, major_axis_length = 166.04941, minor_axis_length = 88.44298, eccentricity = 0.84635, convex_area = 11624.00000, extent = 0.70944, type = O + area = 12901.00000, perimeter = 475.30301, major_axis_length = 209.58597, minor_axis_length = 79.26891, eccentricity = 0.92572, convex_area = 13219.00000, extent = 0.68281, type = C + area = 14205.00000, perimeter = 487.35101, major_axis_length = 204.33224, minor_axis_length = 89.63425, eccentricity = 0.89865, convex_area = 14637.00000, extent = 0.77369, type = C + area = 12672.00000, perimeter = 450.34399, major_axis_length = 184.40462, minor_axis_length = 88.78121, eccentricity = 0.87647, convex_area = 12939.00000, extent = 0.78261, type = O + area = 10388.00000, perimeter = 400.59100, major_axis_length = 166.18581, minor_axis_length = 80.09373, eccentricity = 0.87620, convex_area = 10536.00000, extent = 0.67019, type = O + area = 12955.00000, perimeter = 451.80301, major_axis_length = 191.71457, minor_axis_length = 86.62510, eccentricity = 0.89210, convex_area = 13143.00000, extent = 0.60245, type = O + area = 10632.00000, perimeter = 405.41599, major_axis_length = 167.32594, minor_axis_length = 81.34428, eccentricity = 0.87388, convex_area = 10762.00000, extent = 0.62318, type = O + area = 11506.00000, perimeter = 433.70499, major_axis_length = 183.94098, minor_axis_length = 80.15775, eccentricity = 0.90005, convex_area = 11676.00000, extent = 0.71823, type = O + area = 10563.00000, perimeter = 408.97299, major_axis_length = 167.47096, minor_axis_length = 81.02895, eccentricity = 0.87516, convex_area = 10782.00000, extent = 0.61736, type = O + area = 11281.00000, perimeter = 407.10101, major_axis_length = 160.91008, minor_axis_length = 90.44052, eccentricity = 0.82710, convex_area = 11483.00000, extent = 0.67001, type = O + area = 12150.00000, perimeter = 435.90399, major_axis_length = 175.48322, minor_axis_length = 89.56684, eccentricity = 0.85994, convex_area = 12460.00000, extent = 0.71053, type = O + area = 11320.00000, perimeter = 423.99200, major_axis_length = 173.09106, minor_axis_length = 84.60882, eccentricity = 0.87239, convex_area = 11556.00000, extent = 0.59894, type = O + area = 16024.00000, perimeter = 527.42102, major_axis_length = 226.26277, minor_axis_length = 91.60111, eccentricity = 0.91439, convex_area = 16355.00000, extent = 0.53569, type = C + area = 13469.00000, perimeter = 475.08701, major_axis_length = 203.24782, minor_axis_length = 84.86798, eccentricity = 0.90865, convex_area = 13739.00000, extent = 0.72778, type = C + area = 12263.00000, perimeter = 438.13800, major_axis_length = 175.74045, minor_axis_length = 90.18716, eccentricity = 0.85828, convex_area = 12634.00000, extent = 0.71831, type = O + area = 15454.00000, perimeter = 500.89700, major_axis_length = 208.54160, minor_axis_length = 95.32327, eccentricity = 0.88942, convex_area = 15773.00000, extent = 0.58343, type = C + area = 14992.00000, perimeter = 502.61700, major_axis_length = 213.94133, minor_axis_length = 89.97850, eccentricity = 0.90726, convex_area = 15162.00000, extent = 0.55464, type = C + area = 12190.00000, perimeter = 440.68201, major_axis_length = 185.85619, minor_axis_length = 83.88790, eccentricity = 0.89234, convex_area = 12349.00000, extent = 0.58398, type = O + area = 15321.00000, perimeter = 513.00702, major_axis_length = 218.71196, minor_axis_length = 90.26067, eccentricity = 0.91087, convex_area = 15646.00000, extent = 0.71188, type = C + area = 11580.00000, perimeter = 428.70901, major_axis_length = 173.48808, minor_axis_length = 86.63918, eccentricity = 0.86637, convex_area = 11921.00000, extent = 0.74777, type = O + area = 11462.00000, perimeter = 424.55701, major_axis_length = 175.42000, minor_axis_length = 84.14052, eccentricity = 0.87746, convex_area = 11650.00000, extent = 0.79825, type = O + area = 14956.00000, perimeter = 490.25601, major_axis_length = 204.54123, minor_axis_length = 93.75129, eccentricity = 0.88877, convex_area = 15196.00000, extent = 0.67278, type = C + area = 13724.00000, perimeter = 468.57199, major_axis_length = 191.87160, minor_axis_length = 92.48851, eccentricity = 0.87615, convex_area = 14048.00000, extent = 0.74072, type = C + area = 16588.00000, perimeter = 531.39502, major_axis_length = 221.88550, minor_axis_length = 96.65257, eccentricity = 0.90014, convex_area = 16854.00000, extent = 0.57899, type = C + area = 11130.00000, perimeter = 413.40900, major_axis_length = 168.74588, minor_axis_length = 85.28480, eccentricity = 0.86288, convex_area = 11320.00000, extent = 0.78880, type = O + area = 15513.00000, perimeter = 522.50403, major_axis_length = 224.27583, minor_axis_length = 89.01466, eccentricity = 0.91786, convex_area = 15967.00000, extent = 0.56617, type = C + area = 10657.00000, perimeter = 412.83899, major_axis_length = 171.12416, minor_axis_length = 80.39784, eccentricity = 0.88276, convex_area = 10879.00000, extent = 0.72482, type = O + area = 13735.00000, perimeter = 484.77100, major_axis_length = 204.81064, minor_axis_length = 86.75872, eccentricity = 0.90585, convex_area = 13960.00000, extent = 0.55370, type = C + area = 12653.00000, perimeter = 461.62000, major_axis_length = 195.89386, minor_axis_length = 83.49930, eccentricity = 0.90461, convex_area = 12973.00000, extent = 0.57650, type = C + area = 14500.00000, perimeter = 504.06799, major_axis_length = 218.90503, minor_axis_length = 85.14117, eccentricity = 0.92126, convex_area = 14864.00000, extent = 0.61990, type = C + area = 10497.00000, perimeter = 417.50601, major_axis_length = 169.24020, minor_axis_length = 80.12229, eccentricity = 0.88083, convex_area = 10753.00000, extent = 0.58162, type = O + area = 14166.00000, perimeter = 491.61301, major_axis_length = 209.03635, minor_axis_length = 87.52461, eccentricity = 0.90812, convex_area = 14386.00000, extent = 0.60230, type = C + area = 10989.00000, perimeter = 431.12399, major_axis_length = 180.48004, minor_axis_length = 78.81408, eccentricity = 0.89961, convex_area = 11268.00000, extent = 0.68596, type = O + area = 13028.00000, perimeter = 467.27701, major_axis_length = 194.73337, minor_axis_length = 87.14062, eccentricity = 0.89429, convex_area = 13304.00000, extent = 0.56621, type = O + area = 13245.00000, perimeter = 476.13699, major_axis_length = 204.94440, minor_axis_length = 83.15825, eccentricity = 0.91398, convex_area = 13536.00000, extent = 0.79963, type = C + area = 13309.00000, perimeter = 460.92200, major_axis_length = 191.46297, minor_axis_length = 88.95414, eccentricity = 0.88552, convex_area = 13540.00000, extent = 0.65375, type = C + area = 11525.00000, perimeter = 433.78101, major_axis_length = 184.42334, minor_axis_length = 80.16663, eccentricity = 0.90058, convex_area = 11697.00000, extent = 0.61271, type = O + area = 15252.00000, perimeter = 502.59100, major_axis_length = 211.63116, minor_axis_length = 92.19616, eccentricity = 0.90012, convex_area = 15495.00000, extent = 0.57446, type = C + area = 15700.00000, perimeter = 505.30301, major_axis_length = 209.98842, minor_axis_length = 96.19489, eccentricity = 0.88890, convex_area = 16040.00000, extent = 0.59007, type = C + area = 12556.00000, perimeter = 474.02399, major_axis_length = 207.95442, minor_axis_length = 77.71007, eccentricity = 0.92755, convex_area = 12832.00000, extent = 0.56482, type = C + area = 12385.00000, perimeter = 444.67801, major_axis_length = 177.64163, minor_axis_length = 90.33319, eccentricity = 0.86105, convex_area = 12724.00000, extent = 0.73654, type = O + area = 11734.00000, perimeter = 432.62100, major_axis_length = 177.31726, minor_axis_length = 86.10056, eccentricity = 0.87420, convex_area = 11972.00000, extent = 0.64458, type = O + area = 13079.00000, perimeter = 436.04501, major_axis_length = 174.89232, minor_axis_length = 95.94195, eccentricity = 0.83610, convex_area = 13228.00000, extent = 0.77258, type = O + area = 14536.00000, perimeter = 501.92099, major_axis_length = 216.37054, minor_axis_length = 86.67999, eccentricity = 0.91625, convex_area = 14988.00000, extent = 0.54405, type = C + area = 12720.00000, perimeter = 443.45499, major_axis_length = 183.20239, minor_axis_length = 89.49655, eccentricity = 0.87256, convex_area = 12904.00000, extent = 0.77656, type = O + area = 10574.00000, perimeter = 398.68100, major_axis_length = 157.80840, minor_axis_length = 86.85959, eccentricity = 0.83489, convex_area = 10829.00000, extent = 0.69356, type = O + area = 14463.00000, perimeter = 480.48999, major_axis_length = 201.93422, minor_axis_length = 91.94389, eccentricity = 0.89033, convex_area = 14698.00000, extent = 0.67512, type = C + area = 13487.00000, perimeter = 473.72198, major_axis_length = 197.11966, minor_axis_length = 87.78462, eccentricity = 0.89536, convex_area = 13773.00000, extent = 0.75141, type = C + area = 14505.00000, perimeter = 492.68201, major_axis_length = 205.41214, minor_axis_length = 90.76255, eccentricity = 0.89709, convex_area = 14834.00000, extent = 0.58295, type = C + area = 10760.00000, perimeter = 420.94901, major_axis_length = 173.44466, minor_axis_length = 80.46677, eccentricity = 0.88587, convex_area = 11046.00000, extent = 0.58711, type = O + area = 12095.00000, perimeter = 444.03400, major_axis_length = 186.06767, minor_axis_length = 83.80881, eccentricity = 0.89282, convex_area = 12290.00000, extent = 0.69994, type = O + area = 13457.00000, perimeter = 483.61401, major_axis_length = 211.01250, minor_axis_length = 81.87440, eccentricity = 0.92166, convex_area = 13763.00000, extent = 0.67312, type = C + area = 13621.00000, perimeter = 477.54300, major_axis_length = 200.95772, minor_axis_length = 87.28851, eccentricity = 0.90074, convex_area = 13956.00000, extent = 0.79590, type = C + area = 9577.00000, perimeter = 403.17099, major_axis_length = 174.98221, minor_axis_length = 70.26763, eccentricity = 0.91583, convex_area = 9769.00000, extent = 0.62710, type = O + area = 12863.00000, perimeter = 448.50800, major_axis_length = 182.86191, minor_axis_length = 90.77281, eccentricity = 0.86809, convex_area = 13133.00000, extent = 0.73621, type = O + area = 15700.00000, perimeter = 525.80902, major_axis_length = 224.03888, minor_axis_length = 90.31892, eccentricity = 0.91514, convex_area = 16308.00000, extent = 0.67617, type = C + area = 11550.00000, perimeter = 420.83701, major_axis_length = 172.53937, minor_axis_length = 85.41179, eccentricity = 0.86888, convex_area = 11734.00000, extent = 0.69470, type = O + area = 11485.00000, perimeter = 419.40500, major_axis_length = 175.86812, minor_axis_length = 83.69998, eccentricity = 0.87949, convex_area = 11610.00000, extent = 0.79985, type = O + area = 12031.00000, perimeter = 444.46201, major_axis_length = 184.78299, minor_axis_length = 84.48428, eccentricity = 0.88936, convex_area = 12253.00000, extent = 0.58846, type = O + area = 14149.00000, perimeter = 474.95200, major_axis_length = 195.35510, minor_axis_length = 93.33527, eccentricity = 0.87848, convex_area = 14454.00000, extent = 0.60569, type = C + area = 15613.00000, perimeter = 509.76099, major_axis_length = 210.27808, minor_axis_length = 96.02433, eccentricity = 0.88964, convex_area = 15975.00000, extent = 0.57260, type = C + area = 11497.00000, perimeter = 438.91000, major_axis_length = 179.69292, minor_axis_length = 82.84306, eccentricity = 0.88739, convex_area = 11820.00000, extent = 0.57439, type = O + area = 12535.00000, perimeter = 442.93799, major_axis_length = 185.83670, minor_axis_length = 86.91272, eccentricity = 0.88390, convex_area = 12669.00000, extent = 0.60172, type = O + area = 13855.00000, perimeter = 487.83099, major_axis_length = 207.10844, minor_axis_length = 86.02370, eccentricity = 0.90966, convex_area = 14214.00000, extent = 0.55155, type = C + area = 12429.00000, perimeter = 469.60800, major_axis_length = 202.41467, minor_axis_length = 78.88987, eccentricity = 0.92092, convex_area = 12714.00000, extent = 0.55685, type = C + area = 13724.00000, perimeter = 481.77100, major_axis_length = 200.89267, minor_axis_length = 88.16832, eccentricity = 0.89854, convex_area = 14038.00000, extent = 0.67954, type = C + area = 10662.00000, perimeter = 408.28299, major_axis_length = 162.68098, minor_axis_length = 84.36329, eccentricity = 0.85503, convex_area = 10934.00000, extent = 0.65315, type = O + area = 14180.00000, perimeter = 485.17099, major_axis_length = 204.10718, minor_axis_length = 89.36078, eccentricity = 0.89907, convex_area = 14471.00000, extent = 0.61981, type = C + area = 11245.00000, perimeter = 421.54800, major_axis_length = 174.57549, minor_axis_length = 82.91380, eccentricity = 0.88002, convex_area = 11475.00000, extent = 0.68193, type = O + area = 11004.00000, perimeter = 412.22699, major_axis_length = 171.55356, minor_axis_length = 82.59552, eccentricity = 0.87647, convex_area = 11199.00000, extent = 0.69893, type = O + area = 12328.00000, perimeter = 444.70599, major_axis_length = 183.82814, minor_axis_length = 86.61966, eccentricity = 0.88203, convex_area = 12659.00000, extent = 0.62541, type = O + area = 12440.00000, perimeter = 434.80499, major_axis_length = 173.39279, minor_axis_length = 92.69048, eccentricity = 0.84512, convex_area = 12716.00000, extent = 0.68034, type = O + area = 15433.00000, perimeter = 519.52197, major_axis_length = 218.38802, minor_axis_length = 91.67455, eccentricity = 0.90763, convex_area = 15887.00000, extent = 0.77944, type = C + area = 14828.00000, perimeter = 493.50000, major_axis_length = 209.90356, minor_axis_length = 90.66991, eccentricity = 0.90189, convex_area = 15090.00000, extent = 0.60651, type = C + area = 11151.00000, perimeter = 438.26199, major_axis_length = 191.60088, minor_axis_length = 74.84743, eccentricity = 0.92054, convex_area = 11325.00000, extent = 0.66597, type = C + area = 10916.00000, perimeter = 416.32901, major_axis_length = 172.50725, minor_axis_length = 81.98931, eccentricity = 0.87983, convex_area = 11093.00000, extent = 0.72148, type = O + area = 13410.00000, perimeter = 477.08499, major_axis_length = 195.79893, minor_axis_length = 88.77675, eccentricity = 0.89130, convex_area = 13842.00000, extent = 0.57234, type = C + area = 14246.00000, perimeter = 488.91599, major_axis_length = 210.75372, minor_axis_length = 86.88518, eccentricity = 0.91107, convex_area = 14453.00000, extent = 0.74806, type = C + area = 14952.00000, perimeter = 488.63000, major_axis_length = 203.00296, minor_axis_length = 94.55453, eccentricity = 0.88490, convex_area = 15187.00000, extent = 0.61561, type = C + area = 15547.00000, perimeter = 501.80499, major_axis_length = 208.49918, minor_axis_length = 95.80786, eccentricity = 0.88817, convex_area = 15867.00000, extent = 0.59828, type = C + area = 13002.00000, perimeter = 458.31601, major_axis_length = 187.39746, minor_axis_length = 89.58738, eccentricity = 0.87833, convex_area = 13319.00000, extent = 0.67634, type = O + area = 10666.00000, perimeter = 416.42401, major_axis_length = 173.89351, minor_axis_length = 78.45744, eccentricity = 0.89243, convex_area = 10825.00000, extent = 0.59474, type = O + area = 13975.00000, perimeter = 482.58899, major_axis_length = 203.41641, minor_axis_length = 88.66715, eccentricity = 0.90000, convex_area = 14275.00000, extent = 0.67265, type = C + area = 12349.00000, perimeter = 434.13800, major_axis_length = 180.24193, minor_axis_length = 88.26458, eccentricity = 0.87189, convex_area = 12526.00000, extent = 0.62749, type = O + area = 9426.00000, perimeter = 402.70999, major_axis_length = 175.97429, minor_axis_length = 68.60754, eccentricity = 0.92087, convex_area = 9578.00000, extent = 0.57743, type = O + area = 11860.00000, perimeter = 429.79300, major_axis_length = 178.21358, minor_axis_length = 85.30595, eccentricity = 0.87799, convex_area = 12032.00000, extent = 0.70057, type = O + area = 10962.00000, perimeter = 418.66101, major_axis_length = 171.63890, minor_axis_length = 82.79927, eccentricity = 0.87595, convex_area = 11258.00000, extent = 0.71647, type = O + area = 10773.00000, perimeter = 414.89200, major_axis_length = 159.67531, minor_axis_length = 88.12444, eccentricity = 0.83391, convex_area = 11174.00000, extent = 0.63281, type = O + area = 11681.00000, perimeter = 431.22800, major_axis_length = 183.79639, minor_axis_length = 81.16801, eccentricity = 0.89720, convex_area = 11857.00000, extent = 0.59114, type = O + area = 12563.00000, perimeter = 457.36301, major_axis_length = 183.51143, minor_axis_length = 88.70047, eccentricity = 0.87543, convex_area = 12877.00000, extent = 0.59349, type = O + area = 10088.00000, perimeter = 406.66101, major_axis_length = 169.06802, minor_axis_length = 77.43073, eccentricity = 0.88896, convex_area = 10331.00000, extent = 0.67596, type = O + area = 12286.00000, perimeter = 444.88699, major_axis_length = 183.28871, minor_axis_length = 86.73106, eccentricity = 0.88096, convex_area = 12583.00000, extent = 0.68187, type = C + area = 14570.00000, perimeter = 469.98199, major_axis_length = 185.40146, minor_axis_length = 100.88792, eccentricity = 0.83898, convex_area = 14895.00000, extent = 0.65454, type = C + area = 10561.00000, perimeter = 417.93301, major_axis_length = 172.89072, minor_axis_length = 79.52290, eccentricity = 0.88794, convex_area = 10804.00000, extent = 0.64791, type = O + area = 14115.00000, perimeter = 486.27200, major_axis_length = 207.55104, minor_axis_length = 87.78109, eccentricity = 0.90616, convex_area = 14422.00000, extent = 0.60082, type = C + area = 11310.00000, perimeter = 424.21799, major_axis_length = 173.26938, minor_axis_length = 84.48460, eccentricity = 0.87307, convex_area = 11629.00000, extent = 0.71119, type = O + area = 11605.00000, perimeter = 429.22501, major_axis_length = 175.01450, minor_axis_length = 85.50439, eccentricity = 0.87253, convex_area = 11933.00000, extent = 0.60976, type = O + area = 14195.00000, perimeter = 488.45999, major_axis_length = 203.51271, minor_axis_length = 89.95866, eccentricity = 0.89700, convex_area = 14555.00000, extent = 0.71735, type = C + area = 13050.00000, perimeter = 460.81900, major_axis_length = 187.39630, minor_axis_length = 89.79348, eccentricity = 0.87773, convex_area = 13379.00000, extent = 0.59600, type = O + area = 11264.00000, perimeter = 423.39099, major_axis_length = 172.13951, minor_axis_length = 84.22161, eccentricity = 0.87214, convex_area = 11476.00000, extent = 0.73243, type = O + area = 15292.00000, perimeter = 510.48300, major_axis_length = 219.65903, minor_axis_length = 89.13313, eccentricity = 0.91397, convex_area = 15511.00000, extent = 0.54319, type = C + area = 12743.00000, perimeter = 442.73499, major_axis_length = 181.13968, minor_axis_length = 90.30119, eccentricity = 0.86688, convex_area = 12899.00000, extent = 0.72511, type = O + area = 12215.00000, perimeter = 445.29501, major_axis_length = 180.90947, minor_axis_length = 87.40585, eccentricity = 0.87554, convex_area = 12448.00000, extent = 0.58811, type = O + area = 11359.00000, perimeter = 441.36600, major_axis_length = 185.19771, minor_axis_length = 78.98223, eccentricity = 0.90450, convex_area = 11755.00000, extent = 0.58073, type = C + area = 13742.00000, perimeter = 484.34201, major_axis_length = 195.28494, minor_axis_length = 91.24281, eccentricity = 0.88414, convex_area = 14224.00000, extent = 0.67241, type = O + area = 8965.00000, perimeter = 383.48199, major_axis_length = 156.28944, minor_axis_length = 74.67708, eccentricity = 0.87846, convex_area = 9317.00000, extent = 0.62029, type = O + area = 14283.00000, perimeter = 482.69800, major_axis_length = 202.36563, minor_axis_length = 90.61389, eccentricity = 0.89415, convex_area = 14595.00000, extent = 0.63650, type = C + area = 11973.00000, perimeter = 438.14801, major_axis_length = 178.08878, minor_axis_length = 87.27425, eccentricity = 0.87169, convex_area = 12367.00000, extent = 0.62712, type = O + area = 12945.00000, perimeter = 454.67801, major_axis_length = 185.91017, minor_axis_length = 89.59597, eccentricity = 0.87621, convex_area = 13220.00000, extent = 0.65260, type = O + area = 12483.00000, perimeter = 428.14700, major_axis_length = 170.29613, minor_axis_length = 94.28094, eccentricity = 0.83276, convex_area = 12680.00000, extent = 0.73737, type = O + area = 12540.00000, perimeter = 456.20200, major_axis_length = 185.98070, minor_axis_length = 87.51025, eccentricity = 0.88238, convex_area = 12854.00000, extent = 0.59006, type = O + area = 13166.00000, perimeter = 465.96701, major_axis_length = 195.90541, minor_axis_length = 86.00590, eccentricity = 0.89848, convex_area = 13383.00000, extent = 0.65800, type = O + area = 14057.00000, perimeter = 463.14200, major_axis_length = 189.79260, minor_axis_length = 95.08885, eccentricity = 0.86544, convex_area = 14259.00000, extent = 0.62612, type = C + area = 14332.00000, perimeter = 497.14099, major_axis_length = 206.54681, minor_axis_length = 90.75945, eccentricity = 0.89828, convex_area = 14830.00000, extent = 0.56657, type = C + area = 13468.00000, perimeter = 470.76300, major_axis_length = 194.47350, minor_axis_length = 89.74107, eccentricity = 0.88716, convex_area = 14022.00000, extent = 0.69184, type = C + area = 16453.00000, perimeter = 523.87402, major_axis_length = 222.31219, minor_axis_length = 96.17852, eccentricity = 0.90157, convex_area = 16803.00000, extent = 0.75472, type = C + area = 11774.00000, perimeter = 433.72900, major_axis_length = 180.27849, minor_axis_length = 84.22351, eccentricity = 0.88416, convex_area = 12036.00000, extent = 0.79770, type = O + area = 12243.00000, perimeter = 449.68100, major_axis_length = 182.02620, minor_axis_length = 87.13171, eccentricity = 0.87799, convex_area = 12744.00000, extent = 0.77857, type = O + area = 14026.00000, perimeter = 467.76501, major_axis_length = 191.73541, minor_axis_length = 94.24737, eccentricity = 0.87085, convex_area = 14222.00000, extent = 0.62773, type = O + area = 12563.00000, perimeter = 444.86899, major_axis_length = 183.22375, minor_axis_length = 88.04948, eccentricity = 0.87696, convex_area = 12767.00000, extent = 0.76697, type = O + area = 11638.00000, perimeter = 451.00900, major_axis_length = 195.03613, minor_axis_length = 76.92903, eccentricity = 0.91892, convex_area = 11843.00000, extent = 0.54060, type = C + area = 15168.00000, perimeter = 504.98001, major_axis_length = 212.82603, minor_axis_length = 91.61982, eccentricity = 0.90259, convex_area = 15432.00000, extent = 0.58365, type = C + area = 12289.00000, perimeter = 451.57599, major_axis_length = 189.72537, minor_axis_length = 83.07783, eccentricity = 0.89903, convex_area = 12649.00000, extent = 0.68823, type = O + area = 10297.00000, perimeter = 426.22198, major_axis_length = 180.04320, minor_axis_length = 73.69880, eccentricity = 0.91238, convex_area = 10621.00000, extent = 0.56453, type = O + area = 11467.00000, perimeter = 448.68301, major_axis_length = 192.08723, minor_axis_length = 77.16972, eccentricity = 0.91575, convex_area = 11739.00000, extent = 0.56979, type = O + area = 12650.00000, perimeter = 438.14499, major_axis_length = 175.83983, minor_axis_length = 92.56994, eccentricity = 0.85021, convex_area = 12871.00000, extent = 0.79435, type = O + area = 14092.00000, perimeter = 466.44800, major_axis_length = 185.17824, minor_axis_length = 98.08611, eccentricity = 0.84819, convex_area = 14434.00000, extent = 0.66384, type = O + area = 15319.00000, perimeter = 506.02499, major_axis_length = 208.22775, minor_axis_length = 94.83875, eccentricity = 0.89026, convex_area = 15813.00000, extent = 0.57370, type = C + area = 14076.00000, perimeter = 479.67700, major_axis_length = 199.48915, minor_axis_length = 90.70998, eccentricity = 0.89064, convex_area = 14434.00000, extent = 0.78122, type = C + area = 17442.00000, perimeter = 539.77600, major_axis_length = 228.59348, minor_axis_length = 98.19205, eccentricity = 0.90304, convex_area = 17698.00000, extent = 0.57625, type = C + area = 16580.00000, perimeter = 530.09497, major_axis_length = 226.44495, minor_axis_length = 94.47408, eccentricity = 0.90881, convex_area = 16928.00000, extent = 0.59619, type = C + area = 13470.00000, perimeter = 471.18799, major_axis_length = 200.50235, minor_axis_length = 86.78320, eccentricity = 0.90148, convex_area = 13729.00000, extent = 0.58211, type = C + area = 12020.00000, perimeter = 425.73401, major_axis_length = 175.54869, minor_axis_length = 87.59830, eccentricity = 0.86660, convex_area = 12176.00000, extent = 0.64686, type = O + area = 13169.00000, perimeter = 474.83701, major_axis_length = 201.38011, minor_axis_length = 84.48709, eccentricity = 0.90774, convex_area = 13505.00000, extent = 0.54711, type = C + area = 12019.00000, perimeter = 442.11200, major_axis_length = 183.98193, minor_axis_length = 84.30915, eccentricity = 0.88882, convex_area = 12290.00000, extent = 0.58007, type = O + area = 14272.00000, perimeter = 491.45401, major_axis_length = 210.50232, minor_axis_length = 87.93793, eccentricity = 0.90856, convex_area = 14545.00000, extent = 0.80338, type = C + area = 12433.00000, perimeter = 442.48199, major_axis_length = 173.85931, minor_axis_length = 93.10706, eccentricity = 0.84452, convex_area = 12769.00000, extent = 0.62984, type = O + area = 11530.00000, perimeter = 425.39200, major_axis_length = 177.01521, minor_axis_length = 83.92692, eccentricity = 0.88046, convex_area = 11686.00000, extent = 0.80810, type = O + area = 14999.00000, perimeter = 498.54099, major_axis_length = 213.50803, minor_axis_length = 90.10974, eccentricity = 0.90658, convex_area = 15295.00000, extent = 0.79871, type = C + area = 13888.00000, perimeter = 481.74799, major_axis_length = 205.74632, minor_axis_length = 87.00280, eccentricity = 0.90619, convex_area = 14178.00000, extent = 0.58510, type = C + area = 11589.00000, perimeter = 449.36099, major_axis_length = 196.64670, minor_axis_length = 75.97960, eccentricity = 0.92234, convex_area = 11783.00000, extent = 0.56293, type = C + area = 16146.00000, perimeter = 509.33200, major_axis_length = 213.62003, minor_axis_length = 96.64880, eccentricity = 0.89180, convex_area = 16404.00000, extent = 0.59676, type = C + area = 13237.00000, perimeter = 478.01099, major_axis_length = 199.68924, minor_axis_length = 85.27763, eccentricity = 0.90423, convex_area = 13627.00000, extent = 0.55852, type = C + area = 14839.00000, perimeter = 504.08401, major_axis_length = 211.36960, minor_axis_length = 91.34764, eccentricity = 0.90179, convex_area = 15274.00000, extent = 0.62638, type = C + area = 14546.00000, perimeter = 494.16800, major_axis_length = 212.31372, minor_axis_length = 87.87224, eccentricity = 0.91033, convex_area = 14826.00000, extent = 0.62574, type = C + area = 14011.00000, perimeter = 475.87299, major_axis_length = 197.72864, minor_axis_length = 91.15908, eccentricity = 0.88738, convex_area = 14315.00000, extent = 0.77761, type = C + area = 15488.00000, perimeter = 507.88300, major_axis_length = 206.63953, minor_axis_length = 96.87208, eccentricity = 0.88331, convex_area = 15968.00000, extent = 0.60255, type = C + area = 13181.00000, perimeter = 470.38901, major_axis_length = 199.47208, minor_axis_length = 84.90553, eccentricity = 0.90489, convex_area = 13429.00000, extent = 0.73436, type = C + area = 9936.00000, perimeter = 398.27600, major_axis_length = 161.48193, minor_axis_length = 80.27461, eccentricity = 0.86769, convex_area = 10216.00000, extent = 0.67194, type = O + area = 14470.00000, perimeter = 486.26001, major_axis_length = 208.33366, minor_axis_length = 89.34396, eccentricity = 0.90338, convex_area = 14657.00000, extent = 0.57654, type = C + area = 12840.00000, perimeter = 466.90302, major_axis_length = 198.15598, minor_axis_length = 83.23425, eccentricity = 0.90750, convex_area = 13091.00000, extent = 0.59138, type = C + area = 11972.00000, perimeter = 433.09201, major_axis_length = 177.81424, minor_axis_length = 86.38818, eccentricity = 0.87405, convex_area = 12249.00000, extent = 0.71441, type = O + area = 11770.00000, perimeter = 429.24500, major_axis_length = 177.57814, minor_axis_length = 85.31319, eccentricity = 0.87704, convex_area = 11938.00000, extent = 0.59250, type = O + area = 10915.00000, perimeter = 419.58600, major_axis_length = 171.54233, minor_axis_length = 82.83171, eccentricity = 0.87570, convex_area = 11246.00000, extent = 0.78345, type = O + area = 14990.00000, perimeter = 507.78500, major_axis_length = 213.48546, minor_axis_length = 90.17632, eccentricity = 0.90641, convex_area = 15318.00000, extent = 0.56592, type = C + area = 14321.00000, perimeter = 494.34500, major_axis_length = 211.66899, minor_axis_length = 86.82542, eccentricity = 0.91200, convex_area = 14583.00000, extent = 0.56128, type = C + area = 12042.00000, perimeter = 433.76999, major_axis_length = 178.77644, minor_axis_length = 86.52510, eccentricity = 0.87508, convex_area = 12257.00000, extent = 0.78644, type = O + area = 11268.00000, perimeter = 429.30701, major_axis_length = 171.26433, minor_axis_length = 85.81079, eccentricity = 0.86542, convex_area = 11576.00000, extent = 0.60865, type = O + area = 10961.00000, perimeter = 419.38800, major_axis_length = 169.57915, minor_axis_length = 84.24118, eccentricity = 0.86788, convex_area = 11323.00000, extent = 0.75855, type = O + area = 12960.00000, perimeter = 460.86700, major_axis_length = 191.51770, minor_axis_length = 86.79779, eccentricity = 0.89140, convex_area = 13211.00000, extent = 0.58824, type = O + area = 11352.00000, perimeter = 422.32401, major_axis_length = 171.01981, minor_axis_length = 85.81471, eccentricity = 0.86499, convex_area = 11581.00000, extent = 0.78571, type = O + area = 15037.00000, perimeter = 501.46701, major_axis_length = 208.90558, minor_axis_length = 92.30457, eccentricity = 0.89709, convex_area = 15452.00000, extent = 0.57861, type = C + area = 12200.00000, perimeter = 447.21399, major_axis_length = 191.14070, minor_axis_length = 81.57138, eccentricity = 0.90436, convex_area = 12367.00000, extent = 0.56975, type = O + area = 11447.00000, perimeter = 436.86899, major_axis_length = 180.43732, minor_axis_length = 82.31013, eccentricity = 0.88989, convex_area = 11733.00000, extent = 0.57258, type = O + area = 13029.00000, perimeter = 460.41699, major_axis_length = 184.94789, minor_axis_length = 91.33196, eccentricity = 0.86956, convex_area = 13410.00000, extent = 0.76157, type = O + area = 14005.00000, perimeter = 485.45599, major_axis_length = 207.13385, minor_axis_length = 86.87551, eccentricity = 0.90779, convex_area = 14212.00000, extent = 0.56381, type = C + area = 16318.00000, perimeter = 537.44702, major_axis_length = 232.03682, minor_axis_length = 90.71050, eccentricity = 0.92042, convex_area = 16592.00000, extent = 0.59817, type = C + area = 11740.00000, perimeter = 440.56400, major_axis_length = 181.20369, minor_axis_length = 83.45518, eccentricity = 0.88763, convex_area = 12030.00000, extent = 0.57901, type = O + area = 12181.00000, perimeter = 434.81299, major_axis_length = 179.22531, minor_axis_length = 86.98540, eccentricity = 0.87432, convex_area = 12387.00000, extent = 0.72801, type = O + area = 10943.00000, perimeter = 412.06100, major_axis_length = 169.89026, minor_axis_length = 82.82930, eccentricity = 0.87310, convex_area = 11132.00000, extent = 0.74140, type = O + area = 15074.00000, perimeter = 497.17801, major_axis_length = 205.63982, minor_axis_length = 94.62220, eccentricity = 0.88785, convex_area = 15536.00000, extent = 0.72111, type = C + area = 14242.00000, perimeter = 495.73901, major_axis_length = 210.68092, minor_axis_length = 87.42849, eccentricity = 0.90983, convex_area = 14549.00000, extent = 0.64095, type = C + area = 11088.00000, perimeter = 421.15701, major_axis_length = 169.42094, minor_axis_length = 85.37567, eccentricity = 0.86375, convex_area = 11373.00000, extent = 0.75413, type = O + area = 11790.00000, perimeter = 432.32700, major_axis_length = 181.34070, minor_axis_length = 83.65613, eccentricity = 0.88723, convex_area = 11990.00000, extent = 0.60462, type = O + area = 11014.00000, perimeter = 411.21799, major_axis_length = 167.13171, minor_axis_length = 85.07861, eccentricity = 0.86074, convex_area = 11185.00000, extent = 0.69660, type = O + area = 13049.00000, perimeter = 469.53799, major_axis_length = 196.46617, minor_axis_length = 85.99484, eccentricity = 0.89912, convex_area = 13409.00000, extent = 0.72700, type = O + area = 15072.00000, perimeter = 487.58499, major_axis_length = 202.49474, minor_axis_length = 95.35527, eccentricity = 0.88219, convex_area = 15267.00000, extent = 0.79056, type = C + area = 13928.00000, perimeter = 479.72400, major_axis_length = 204.43028, minor_axis_length = 87.08270, eccentricity = 0.90473, convex_area = 14158.00000, extent = 0.56627, type = C + area = 14998.00000, perimeter = 496.90399, major_axis_length = 215.95027, minor_axis_length = 89.39609, eccentricity = 0.91029, convex_area = 15279.00000, extent = 0.82484, type = C + area = 12478.00000, perimeter = 439.22198, major_axis_length = 176.34395, minor_axis_length = 91.28975, eccentricity = 0.85557, convex_area = 12754.00000, extent = 0.63582, type = O + area = 14189.00000, perimeter = 491.97299, major_axis_length = 209.93643, minor_axis_length = 86.80910, eccentricity = 0.91050, convex_area = 14496.00000, extent = 0.55099, type = C + area = 12593.00000, perimeter = 463.36899, major_axis_length = 195.75763, minor_axis_length = 83.07967, eccentricity = 0.90547, convex_area = 12907.00000, extent = 0.69775, type = C + area = 12900.00000, perimeter = 461.83600, major_axis_length = 195.34514, minor_axis_length = 84.57198, eccentricity = 0.90142, convex_area = 13160.00000, extent = 0.59180, type = O + area = 15164.00000, perimeter = 501.65201, major_axis_length = 212.15840, minor_axis_length = 92.44685, eccentricity = 0.90007, convex_area = 15461.00000, extent = 0.70106, type = C + area = 15189.00000, perimeter = 506.82199, major_axis_length = 209.18954, minor_axis_length = 93.61980, eccentricity = 0.89427, convex_area = 15629.00000, extent = 0.67408, type = C + area = 14850.00000, perimeter = 509.27499, major_axis_length = 215.96320, minor_axis_length = 89.12655, eccentricity = 0.91087, convex_area = 15372.00000, extent = 0.79942, type = C + area = 15915.00000, perimeter = 528.15698, major_axis_length = 231.59448, minor_axis_length = 88.57102, eccentricity = 0.92398, convex_area = 16251.00000, extent = 0.81303, type = C + area = 12612.00000, perimeter = 463.59500, major_axis_length = 197.68294, minor_axis_length = 82.37692, eccentricity = 0.90904, convex_area = 12919.00000, extent = 0.58405, type = C + area = 15777.00000, perimeter = 515.68402, major_axis_length = 218.69824, minor_axis_length = 93.20509, eccentricity = 0.90464, convex_area = 16111.00000, extent = 0.56719, type = C + area = 12512.00000, perimeter = 454.51001, major_axis_length = 186.95084, minor_axis_length = 86.57542, eccentricity = 0.88631, convex_area = 12817.00000, extent = 0.57132, type = O + area = 14055.00000, perimeter = 488.74899, major_axis_length = 207.75175, minor_axis_length = 87.25033, eccentricity = 0.90754, convex_area = 14484.00000, extent = 0.55008, type = C + area = 16835.00000, perimeter = 522.53497, major_axis_length = 216.27165, minor_axis_length = 100.43251, eccentricity = 0.88564, convex_area = 17404.00000, extent = 0.73522, type = C + area = 13683.00000, perimeter = 490.79300, major_axis_length = 210.28197, minor_axis_length = 84.04502, eccentricity = 0.91666, convex_area = 14187.00000, extent = 0.77393, type = C + area = 11304.00000, perimeter = 419.18100, major_axis_length = 171.37912, minor_axis_length = 84.67481, eccentricity = 0.86942, convex_area = 11504.00000, extent = 0.72092, type = O + area = 14950.00000, perimeter = 496.88400, major_axis_length = 207.82280, minor_axis_length = 93.10914, eccentricity = 0.89402, convex_area = 15422.00000, extent = 0.57932, type = C + area = 13295.00000, perimeter = 475.74301, major_axis_length = 199.24074, minor_axis_length = 86.08378, eccentricity = 0.90185, convex_area = 13639.00000, extent = 0.61599, type = C + area = 11280.00000, perimeter = 420.10101, major_axis_length = 170.67036, minor_axis_length = 85.49737, eccentricity = 0.86548, convex_area = 11582.00000, extent = 0.64317, type = O + area = 12487.00000, perimeter = 437.12100, major_axis_length = 174.21123, minor_axis_length = 92.41957, eccentricity = 0.84768, convex_area = 12808.00000, extent = 0.69546, type = O + area = 15694.00000, perimeter = 506.50601, major_axis_length = 211.83493, minor_axis_length = 96.02247, eccentricity = 0.89136, convex_area = 16010.00000, extent = 0.57654, type = C + area = 11752.00000, perimeter = 422.53201, major_axis_length = 171.08530, minor_axis_length = 88.01460, eccentricity = 0.85752, convex_area = 11997.00000, extent = 0.69292, type = O + area = 16386.00000, perimeter = 515.09698, major_axis_length = 208.95312, minor_axis_length = 100.74258, eccentricity = 0.87610, convex_area = 16813.00000, extent = 0.60756, type = C + area = 8505.00000, perimeter = 359.10001, major_axis_length = 147.79889, minor_axis_length = 73.80869, eccentricity = 0.86638, convex_area = 8651.00000, extent = 0.67726, type = O + area = 11513.00000, perimeter = 438.62500, major_axis_length = 189.72221, minor_axis_length = 77.68551, eccentricity = 0.91232, convex_area = 11736.00000, extent = 0.68424, type = C + area = 12770.00000, perimeter = 458.30200, major_axis_length = 196.63278, minor_axis_length = 83.19528, eccentricity = 0.90608, convex_area = 12949.00000, extent = 0.60287, type = C + area = 16104.00000, perimeter = 507.42899, major_axis_length = 206.07074, minor_axis_length = 100.75363, eccentricity = 0.87232, convex_area = 16457.00000, extent = 0.60541, type = C + area = 13226.00000, perimeter = 480.15701, major_axis_length = 202.74841, minor_axis_length = 84.34415, eccentricity = 0.90936, convex_area = 13617.00000, extent = 0.70705, type = C + area = 13135.00000, perimeter = 459.25601, major_axis_length = 189.78062, minor_axis_length = 89.05083, eccentricity = 0.88308, convex_area = 13353.00000, extent = 0.58007, type = O + area = 10101.00000, perimeter = 405.51199, major_axis_length = 168.01747, minor_axis_length = 77.90595, eccentricity = 0.88600, convex_area = 10384.00000, extent = 0.61878, type = O + area = 11270.00000, perimeter = 422.60901, major_axis_length = 173.23421, minor_axis_length = 83.39992, eccentricity = 0.87649, convex_area = 11449.00000, extent = 0.61390, type = O + area = 10803.00000, perimeter = 409.12500, major_axis_length = 169.41493, minor_axis_length = 81.78897, eccentricity = 0.87575, convex_area = 10968.00000, extent = 0.74355, type = O + area = 12272.00000, perimeter = 439.91699, major_axis_length = 181.70638, minor_axis_length = 86.94543, eccentricity = 0.87809, convex_area = 12495.00000, extent = 0.64117, type = O + area = 14022.00000, perimeter = 483.01901, major_axis_length = 204.48296, minor_axis_length = 88.56927, eccentricity = 0.90133, convex_area = 14358.00000, extent = 0.70473, type = C + area = 13557.00000, perimeter = 483.90900, major_axis_length = 206.20372, minor_axis_length = 84.38731, eccentricity = 0.91243, convex_area = 13845.00000, extent = 0.55258, type = C + area = 9677.00000, perimeter = 390.61700, major_axis_length = 160.35306, minor_axis_length = 77.40150, eccentricity = 0.87579, convex_area = 9913.00000, extent = 0.76583, type = O + area = 13455.00000, perimeter = 467.19800, major_axis_length = 195.92857, minor_axis_length = 88.51917, eccentricity = 0.89212, convex_area = 13723.00000, extent = 0.75353, type = C + area = 10020.00000, perimeter = 411.61099, major_axis_length = 177.47466, minor_axis_length = 72.43750, eccentricity = 0.91291, convex_area = 10217.00000, extent = 0.54742, type = O + area = 14833.00000, perimeter = 496.93600, major_axis_length = 209.31232, minor_axis_length = 91.47590, eccentricity = 0.89945, convex_area = 15072.00000, extent = 0.55675, type = C + area = 14559.00000, perimeter = 496.52399, major_axis_length = 213.39636, minor_axis_length = 87.13540, eccentricity = 0.91284, convex_area = 14765.00000, extent = 0.71082, type = C + area = 15554.00000, perimeter = 502.09601, major_axis_length = 206.27753, minor_axis_length = 97.22339, eccentricity = 0.88196, convex_area = 15826.00000, extent = 0.82734, type = C + area = 13484.00000, perimeter = 480.78601, major_axis_length = 204.20760, minor_axis_length = 84.90129, eccentricity = 0.90947, convex_area = 13827.00000, extent = 0.65856, type = C + area = 11964.00000, perimeter = 447.50601, major_axis_length = 191.44385, minor_axis_length = 80.27491, eccentricity = 0.90784, convex_area = 12166.00000, extent = 0.75468, type = O + area = 11747.00000, perimeter = 452.12701, major_axis_length = 194.49486, minor_axis_length = 78.74446, eccentricity = 0.91438, convex_area = 11935.00000, extent = 0.54264, type = C + area = 15178.00000, perimeter = 514.74200, major_axis_length = 219.33296, minor_axis_length = 89.01124, eccentricity = 0.91395, convex_area = 15638.00000, extent = 0.78757, type = C + area = 12060.00000, perimeter = 450.15500, major_axis_length = 188.96039, minor_axis_length = 82.32945, eccentricity = 0.90009, convex_area = 12480.00000, extent = 0.62271, type = C + area = 13891.00000, perimeter = 486.93799, major_axis_length = 209.80476, minor_axis_length = 85.73843, eccentricity = 0.91269, convex_area = 14170.00000, extent = 0.82847, type = C + area = 12204.00000, perimeter = 436.85501, major_axis_length = 169.29323, minor_axis_length = 93.18581, eccentricity = 0.83487, convex_area = 12505.00000, extent = 0.74779, type = O + area = 12404.00000, perimeter = 454.38400, major_axis_length = 186.07597, minor_axis_length = 85.98782, eccentricity = 0.88682, convex_area = 12659.00000, extent = 0.57299, type = O + area = 14842.00000, perimeter = 505.72601, major_axis_length = 214.95474, minor_axis_length = 88.66093, eccentricity = 0.91097, convex_area = 15313.00000, extent = 0.54450, type = C + area = 12524.00000, perimeter = 444.01001, major_axis_length = 179.05951, minor_axis_length = 90.16651, eccentricity = 0.86396, convex_area = 12746.00000, extent = 0.64567, type = O + area = 12860.00000, perimeter = 469.55899, major_axis_length = 197.66103, minor_axis_length = 84.11711, eccentricity = 0.90493, convex_area = 13269.00000, extent = 0.56453, type = C + area = 14189.00000, perimeter = 483.93701, major_axis_length = 203.37759, minor_axis_length = 90.07769, eccentricity = 0.89657, convex_area = 14538.00000, extent = 0.71312, type = C + area = 15360.00000, perimeter = 515.29797, major_axis_length = 220.92175, minor_axis_length = 89.95549, eccentricity = 0.91335, convex_area = 15662.00000, extent = 0.64160, type = C + area = 10595.00000, perimeter = 407.26700, major_axis_length = 166.13063, minor_axis_length = 82.56895, eccentricity = 0.86774, convex_area = 10849.00000, extent = 0.64271, type = O + area = 12223.00000, perimeter = 445.43900, major_axis_length = 185.02908, minor_axis_length = 85.37151, eccentricity = 0.88719, convex_area = 12460.00000, extent = 0.79603, type = C + area = 13290.00000, perimeter = 469.71201, major_axis_length = 197.26926, minor_axis_length = 86.32834, eccentricity = 0.89916, convex_area = 13570.00000, extent = 0.68269, type = C + area = 14268.00000, perimeter = 485.63400, major_axis_length = 202.25085, minor_axis_length = 91.05271, eccentricity = 0.89293, convex_area = 14586.00000, extent = 0.61699, type = C + area = 15786.00000, perimeter = 500.86099, major_axis_length = 205.46724, minor_axis_length = 98.81665, eccentricity = 0.87676, convex_area = 16127.00000, extent = 0.61091, type = C + area = 12318.00000, perimeter = 442.58701, major_axis_length = 189.56444, minor_axis_length = 83.20393, eccentricity = 0.89853, convex_area = 12495.00000, extent = 0.65175, type = O + area = 11062.00000, perimeter = 410.09601, major_axis_length = 165.46947, minor_axis_length = 86.05539, eccentricity = 0.85412, convex_area = 11213.00000, extent = 0.63082, type = O + area = 9212.00000, perimeter = 384.59601, major_axis_length = 155.83997, minor_axis_length = 76.30696, eccentricity = 0.87192, convex_area = 9453.00000, extent = 0.65965, type = O + area = 13720.00000, perimeter = 477.63501, major_axis_length = 201.15787, minor_axis_length = 87.31000, eccentricity = 0.90089, convex_area = 13936.00000, extent = 0.66454, type = O + area = 12411.00000, perimeter = 466.02802, major_axis_length = 204.51340, minor_axis_length = 78.29598, eccentricity = 0.92381, convex_area = 12707.00000, extent = 0.53057, type = C + area = 11322.00000, perimeter = 415.60101, major_axis_length = 164.59805, minor_axis_length = 88.87003, eccentricity = 0.84172, convex_area = 11619.00000, extent = 0.75405, type = O + area = 11671.00000, perimeter = 459.78000, major_axis_length = 199.40321, minor_axis_length = 75.45848, eccentricity = 0.92563, convex_area = 12110.00000, extent = 0.64321, type = C + area = 10492.00000, perimeter = 405.91000, major_axis_length = 162.79765, minor_axis_length = 83.49519, eccentricity = 0.85846, convex_area = 10888.00000, extent = 0.62913, type = O + area = 13024.00000, perimeter = 459.77100, major_axis_length = 191.90500, minor_axis_length = 88.03445, eccentricity = 0.88857, convex_area = 13325.00000, extent = 0.77969, type = C + area = 11919.00000, perimeter = 435.26199, major_axis_length = 171.84518, minor_axis_length = 89.98161, eccentricity = 0.85195, convex_area = 12168.00000, extent = 0.61123, type = O + area = 12663.00000, perimeter = 468.22400, major_axis_length = 199.69749, minor_axis_length = 81.61620, eccentricity = 0.91267, convex_area = 12979.00000, extent = 0.62339, type = C + area = 15815.00000, perimeter = 504.22400, major_axis_length = 214.65469, minor_axis_length = 94.98798, eccentricity = 0.89676, convex_area = 16059.00000, extent = 0.80978, type = C + area = 13251.00000, perimeter = 460.53201, major_axis_length = 190.91631, minor_axis_length = 88.99756, eccentricity = 0.88470, convex_area = 13528.00000, extent = 0.74992, type = C + area = 11343.00000, perimeter = 416.46899, major_axis_length = 171.67860, minor_axis_length = 84.90173, eccentricity = 0.86916, convex_area = 11492.00000, extent = 0.73475, type = O + area = 13680.00000, perimeter = 473.08600, major_axis_length = 194.94038, minor_axis_length = 91.22505, eccentricity = 0.88375, convex_area = 14077.00000, extent = 0.77949, type = C + area = 10855.00000, perimeter = 417.31699, major_axis_length = 167.33801, minor_axis_length = 84.22980, eccentricity = 0.86408, convex_area = 11135.00000, extent = 0.60484, type = O + area = 11866.00000, perimeter = 436.12900, major_axis_length = 176.12086, minor_axis_length = 87.78806, eccentricity = 0.86692, convex_area = 12210.00000, extent = 0.61622, type = O + area = 15113.00000, perimeter = 493.73801, major_axis_length = 206.56613, minor_axis_length = 94.19137, eccentricity = 0.88999, convex_area = 15374.00000, extent = 0.65904, type = C + area = 15290.00000, perimeter = 519.31702, major_axis_length = 221.42963, minor_axis_length = 88.87734, eccentricity = 0.91591, convex_area = 15699.00000, extent = 0.66156, type = C + area = 14528.00000, perimeter = 475.44800, major_axis_length = 192.19856, minor_axis_length = 97.41743, eccentricity = 0.86203, convex_area = 14795.00000, extent = 0.62949, type = C + area = 11690.00000, perimeter = 432.51901, major_axis_length = 183.02663, minor_axis_length = 82.30772, eccentricity = 0.89318, convex_area = 11846.00000, extent = 0.57891, type = O + area = 12368.00000, perimeter = 455.02399, major_axis_length = 195.93935, minor_axis_length = 80.80906, eccentricity = 0.91099, convex_area = 12573.00000, extent = 0.79691, type = C + area = 17192.00000, perimeter = 528.34198, major_axis_length = 222.94994, minor_axis_length = 99.09267, eccentricity = 0.89580, convex_area = 17457.00000, extent = 0.62891, type = C + area = 11915.00000, perimeter = 433.28400, major_axis_length = 178.52290, minor_axis_length = 86.50726, eccentricity = 0.87475, convex_area = 12101.00000, extent = 0.62631, type = O + area = 14819.00000, perimeter = 497.83499, major_axis_length = 210.37468, minor_axis_length = 90.70985, eccentricity = 0.90226, convex_area = 15119.00000, extent = 0.59068, type = C + area = 10696.00000, perimeter = 409.26901, major_axis_length = 166.37988, minor_axis_length = 82.35618, eccentricity = 0.86890, convex_area = 10883.00000, extent = 0.61309, type = O + area = 13728.00000, perimeter = 488.10199, major_axis_length = 208.97412, minor_axis_length = 84.64085, eccentricity = 0.91430, convex_area = 14052.00000, extent = 0.55794, type = C + area = 11479.00000, perimeter = 421.07501, major_axis_length = 171.34761, minor_axis_length = 85.80914, eccentricity = 0.86557, convex_area = 11677.00000, extent = 0.79910, type = O + area = 12266.00000, perimeter = 438.82300, major_axis_length = 178.84244, minor_axis_length = 88.80107, eccentricity = 0.86802, convex_area = 12554.00000, extent = 0.76999, type = O + area = 14934.00000, perimeter = 488.27100, major_axis_length = 201.07996, minor_axis_length = 95.97958, eccentricity = 0.87873, convex_area = 15193.00000, extent = 0.65038, type = C + area = 12061.00000, perimeter = 432.68900, major_axis_length = 174.20279, minor_axis_length = 90.06543, eccentricity = 0.85598, convex_area = 12378.00000, extent = 0.62801, type = O + area = 14609.00000, perimeter = 490.24701, major_axis_length = 206.06227, minor_axis_length = 91.49974, eccentricity = 0.89601, convex_area = 14837.00000, extent = 0.71966, type = C + area = 15517.00000, perimeter = 481.37799, major_axis_length = 194.63751, minor_axis_length = 102.05839, eccentricity = 0.85150, convex_area = 15718.00000, extent = 0.65012, type = C + area = 14101.00000, perimeter = 479.31601, major_axis_length = 199.08714, minor_axis_length = 90.98013, eccentricity = 0.88947, convex_area = 14383.00000, extent = 0.61969, type = C + area = 14511.00000, perimeter = 510.28500, major_axis_length = 216.34650, minor_axis_length = 87.13011, eccentricity = 0.91532, convex_area = 14957.00000, extent = 0.52999, type = C + area = 10546.00000, perimeter = 428.54501, major_axis_length = 179.59662, minor_axis_length = 77.14633, eccentricity = 0.90304, convex_area = 10893.00000, extent = 0.59764, type = O + area = 15806.00000, perimeter = 513.84497, major_axis_length = 221.19238, minor_axis_length = 91.62951, eccentricity = 0.91016, convex_area = 16043.00000, extent = 0.57487, type = C + area = 13277.00000, perimeter = 463.96799, major_axis_length = 193.06090, minor_axis_length = 88.17571, eccentricity = 0.88961, convex_area = 13454.00000, extent = 0.61016, type = C + area = 15595.00000, perimeter = 501.49399, major_axis_length = 207.89095, minor_axis_length = 96.88516, eccentricity = 0.88476, convex_area = 16030.00000, extent = 0.76842, type = C + area = 11281.00000, perimeter = 424.97101, major_axis_length = 170.97597, minor_axis_length = 85.27378, eccentricity = 0.86675, convex_area = 11543.00000, extent = 0.68946, type = O + area = 12643.00000, perimeter = 449.34201, major_axis_length = 184.77808, minor_axis_length = 87.98871, eccentricity = 0.87934, convex_area = 12903.00000, extent = 0.77204, type = O + area = 11183.00000, perimeter = 414.34900, major_axis_length = 170.64938, minor_axis_length = 83.88195, eccentricity = 0.87085, convex_area = 11321.00000, extent = 0.61699, type = O + area = 10638.00000, perimeter = 407.20700, major_axis_length = 168.55212, minor_axis_length = 81.18849, eccentricity = 0.87635, convex_area = 10834.00000, extent = 0.67581, type = O + area = 11553.00000, perimeter = 428.69699, major_axis_length = 170.70674, minor_axis_length = 87.52907, eccentricity = 0.85854, convex_area = 11845.00000, extent = 0.60106, type = O + area = 12192.00000, perimeter = 442.53000, major_axis_length = 179.94479, minor_axis_length = 87.39317, eccentricity = 0.87414, convex_area = 12483.00000, extent = 0.62542, type = O + area = 15127.00000, perimeter = 499.79999, major_axis_length = 212.90392, minor_axis_length = 91.15163, eccentricity = 0.90371, convex_area = 15370.00000, extent = 0.71300, type = C + area = 10185.00000, perimeter = 397.98001, major_axis_length = 163.84273, minor_axis_length = 79.58456, eccentricity = 0.87410, convex_area = 10335.00000, extent = 0.63151, type = O + area = 12958.00000, perimeter = 445.69699, major_axis_length = 178.81097, minor_axis_length = 93.66616, eccentricity = 0.85182, convex_area = 13223.00000, extent = 0.71198, type = O + area = 12267.00000, perimeter = 438.26401, major_axis_length = 175.59097, minor_axis_length = 90.18748, eccentricity = 0.85802, convex_area = 12519.00000, extent = 0.62408, type = O + area = 11753.00000, perimeter = 425.38599, major_axis_length = 176.00821, minor_axis_length = 85.75704, eccentricity = 0.87327, convex_area = 11919.00000, extent = 0.65557, type = O + area = 12244.00000, perimeter = 455.27499, major_axis_length = 192.50739, minor_axis_length = 81.42862, eccentricity = 0.90613, convex_area = 12480.00000, extent = 0.57524, type = C + area = 12406.00000, perimeter = 449.71399, major_axis_length = 188.50739, minor_axis_length = 84.51765, eccentricity = 0.89386, convex_area = 12602.00000, extent = 0.79833, type = O + area = 14750.00000, perimeter = 482.82501, major_axis_length = 198.50336, minor_axis_length = 95.47469, eccentricity = 0.87674, convex_area = 15046.00000, extent = 0.60550, type = C + area = 11706.00000, perimeter = 428.55399, major_axis_length = 175.84959, minor_axis_length = 85.54584, eccentricity = 0.87370, convex_area = 11944.00000, extent = 0.62233, type = O + area = 9487.00000, perimeter = 394.28000, major_axis_length = 165.93575, minor_axis_length = 73.33004, eccentricity = 0.89706, convex_area = 9659.00000, extent = 0.72298, type = O + area = 11667.00000, perimeter = 447.52499, major_axis_length = 186.67125, minor_axis_length = 80.84287, eccentricity = 0.90136, convex_area = 12039.00000, extent = 0.66730, type = C + area = 12655.00000, perimeter = 459.90500, major_axis_length = 192.99480, minor_axis_length = 84.90269, eccentricity = 0.89804, convex_area = 12959.00000, extent = 0.64533, type = C + area = 15569.00000, perimeter = 528.78900, major_axis_length = 221.57684, minor_axis_length = 90.98238, eccentricity = 0.91181, convex_area = 16286.00000, extent = 0.56569, type = C + area = 12415.00000, perimeter = 445.99500, major_axis_length = 184.36719, minor_axis_length = 87.04115, eccentricity = 0.88154, convex_area = 12719.00000, extent = 0.65799, type = O + area = 13158.00000, perimeter = 470.99600, major_axis_length = 201.01839, minor_axis_length = 84.50301, eccentricity = 0.90735, convex_area = 13462.00000, extent = 0.61978, type = C + area = 11279.00000, perimeter = 426.21201, major_axis_length = 168.40247, minor_axis_length = 86.92973, eccentricity = 0.85647, convex_area = 11651.00000, extent = 0.66090, type = O + area = 13540.00000, perimeter = 458.53000, major_axis_length = 189.11140, minor_axis_length = 92.39391, eccentricity = 0.87253, convex_area = 13710.00000, extent = 0.79995, type = C + area = 11765.00000, perimeter = 429.29300, major_axis_length = 175.06308, minor_axis_length = 86.72860, eccentricity = 0.86866, convex_area = 11969.00000, extent = 0.61117, type = O + area = 14608.00000, perimeter = 498.35199, major_axis_length = 210.69138, minor_axis_length = 89.91737, eccentricity = 0.90436, convex_area = 14951.00000, extent = 0.65980, type = C + area = 12056.00000, perimeter = 431.85101, major_axis_length = 182.36313, minor_axis_length = 84.43254, eccentricity = 0.88636, convex_area = 12191.00000, extent = 0.79735, type = O + area = 10445.00000, perimeter = 405.59601, major_axis_length = 167.45883, minor_axis_length = 80.50414, eccentricity = 0.87686, convex_area = 10680.00000, extent = 0.63388, type = O + area = 15004.00000, perimeter = 506.94400, major_axis_length = 218.60362, minor_axis_length = 88.09037, eccentricity = 0.91521, convex_area = 15277.00000, extent = 0.71488, type = C + area = 11052.00000, perimeter = 418.95001, major_axis_length = 170.46645, minor_axis_length = 83.59332, eccentricity = 0.87151, convex_area = 11338.00000, extent = 0.70198, type = O + area = 9405.00000, perimeter = 389.77499, major_axis_length = 162.36823, minor_axis_length = 74.43763, eccentricity = 0.88872, convex_area = 9594.00000, extent = 0.60764, type = O + area = 12599.00000, perimeter = 455.28101, major_axis_length = 188.01591, minor_axis_length = 86.37449, eccentricity = 0.88823, convex_area = 12897.00000, extent = 0.62125, type = C + area = 13930.00000, perimeter = 484.86200, major_axis_length = 205.27246, minor_axis_length = 87.23549, eccentricity = 0.90521, convex_area = 14330.00000, extent = 0.79943, type = C + area = 16000.00000, perimeter = 515.38098, major_axis_length = 215.71432, minor_axis_length = 94.95480, eccentricity = 0.89791, convex_area = 16289.00000, extent = 0.67366, type = C + area = 13109.00000, perimeter = 457.17001, major_axis_length = 195.07042, minor_axis_length = 86.00751, eccentricity = 0.89755, convex_area = 13271.00000, extent = 0.59927, type = O + area = 12673.00000, perimeter = 441.71399, major_axis_length = 177.02992, minor_axis_length = 92.58749, eccentricity = 0.85233, convex_area = 12950.00000, extent = 0.62177, type = O + area = 10622.00000, perimeter = 408.02802, major_axis_length = 166.32910, minor_axis_length = 81.88405, eccentricity = 0.87042, convex_area = 10808.00000, extent = 0.62081, type = O + area = 8628.00000, perimeter = 372.33401, major_axis_length = 157.33304, minor_axis_length = 70.12502, eccentricity = 0.89518, convex_area = 8782.00000, extent = 0.60264, type = O + area = 15366.00000, perimeter = 508.79300, major_axis_length = 211.37265, minor_axis_length = 93.96780, eccentricity = 0.89575, convex_area = 15746.00000, extent = 0.56459, type = C + area = 10472.00000, perimeter = 412.98901, major_axis_length = 168.20355, minor_axis_length = 80.14660, eccentricity = 0.87918, convex_area = 10772.00000, extent = 0.61943, type = O + area = 10151.00000, perimeter = 420.89999, major_axis_length = 181.99557, minor_axis_length = 72.09951, eccentricity = 0.91818, convex_area = 10407.00000, extent = 0.52163, type = O + area = 13780.00000, perimeter = 497.42801, major_axis_length = 221.72290, minor_axis_length = 79.95213, eccentricity = 0.93272, convex_area = 14010.00000, extent = 0.55078, type = C + area = 17437.00000, perimeter = 536.89899, major_axis_length = 230.25746, minor_axis_length = 97.31148, eccentricity = 0.90631, convex_area = 17650.00000, extent = 0.75915, type = C + area = 14573.00000, perimeter = 493.78000, major_axis_length = 209.35582, minor_axis_length = 89.43751, eccentricity = 0.90416, convex_area = 14847.00000, extent = 0.65058, type = C + area = 10798.00000, perimeter = 412.01300, major_axis_length = 169.99113, minor_axis_length = 81.77663, eccentricity = 0.87669, convex_area = 11000.00000, extent = 0.64884, type = O + area = 16302.00000, perimeter = 526.34003, major_axis_length = 225.32297, minor_axis_length = 92.99416, eccentricity = 0.91086, convex_area = 16669.00000, extent = 0.60835, type = C + area = 12473.00000, perimeter = 470.34000, major_axis_length = 202.44283, minor_axis_length = 79.02430, eccentricity = 0.92066, convex_area = 12806.00000, extent = 0.52598, type = C + area = 14870.00000, perimeter = 506.56100, major_axis_length = 214.93123, minor_axis_length = 89.40025, eccentricity = 0.90939, convex_area = 15202.00000, extent = 0.57973, type = C + area = 11961.00000, perimeter = 445.05301, major_axis_length = 182.44389, minor_axis_length = 85.08979, eccentricity = 0.88458, convex_area = 12370.00000, extent = 0.61225, type = O + area = 14379.00000, perimeter = 495.15100, major_axis_length = 212.02097, minor_axis_length = 87.81467, eccentricity = 0.91020, convex_area = 14834.00000, extent = 0.79079, type = C + area = 14284.00000, perimeter = 499.91501, major_axis_length = 213.16606, minor_axis_length = 86.92616, eccentricity = 0.91308, convex_area = 14678.00000, extent = 0.70458, type = C + area = 11939.00000, perimeter = 437.73300, major_axis_length = 178.89888, minor_axis_length = 86.44242, eccentricity = 0.87551, convex_area = 12204.00000, extent = 0.63900, type = O + area = 11365.00000, perimeter = 421.17599, major_axis_length = 179.13287, minor_axis_length = 81.11464, eccentricity = 0.89160, convex_area = 11499.00000, extent = 0.65204, type = O + area = 10481.00000, perimeter = 413.72198, major_axis_length = 174.16463, minor_axis_length = 77.66029, eccentricity = 0.89508, convex_area = 10648.00000, extent = 0.80648, type = O + area = 10574.00000, perimeter = 415.95700, major_axis_length = 172.70430, minor_axis_length = 78.68140, eccentricity = 0.89019, convex_area = 10831.00000, extent = 0.67277, type = O + area = 14853.00000, perimeter = 488.56100, major_axis_length = 201.56313, minor_axis_length = 95.47245, eccentricity = 0.88071, convex_area = 15224.00000, extent = 0.67853, type = C + area = 11300.00000, perimeter = 415.47299, major_axis_length = 166.07297, minor_axis_length = 87.74008, eccentricity = 0.84904, convex_area = 11579.00000, extent = 0.61263, type = O + area = 13308.00000, perimeter = 464.13300, major_axis_length = 196.24231, minor_axis_length = 87.26089, eccentricity = 0.89570, convex_area = 13486.00000, extent = 0.59752, type = O + area = 12154.00000, perimeter = 448.06201, major_axis_length = 186.78206, minor_axis_length = 83.89810, eccentricity = 0.89344, convex_area = 12445.00000, extent = 0.62928, type = O + area = 12820.00000, perimeter = 467.35300, major_axis_length = 197.33740, minor_axis_length = 83.97207, eccentricity = 0.90495, convex_area = 13104.00000, extent = 0.55683, type = C + area = 13964.00000, perimeter = 480.02600, major_axis_length = 199.82314, minor_axis_length = 90.06547, eccentricity = 0.89266, convex_area = 14298.00000, extent = 0.65775, type = C + area = 12526.00000, perimeter = 441.32999, major_axis_length = 179.24625, minor_axis_length = 90.15468, eccentricity = 0.86431, convex_area = 12768.00000, extent = 0.71889, type = O + area = 14041.00000, perimeter = 491.66101, major_axis_length = 212.85693, minor_axis_length = 84.56731, eccentricity = 0.91769, convex_area = 14289.00000, extent = 0.78661, type = C + area = 15655.00000, perimeter = 513.30103, major_axis_length = 216.09900, minor_axis_length = 93.56715, eccentricity = 0.90140, convex_area = 16085.00000, extent = 0.56565, type = C + area = 12712.00000, perimeter = 453.07999, major_axis_length = 192.81546, minor_axis_length = 84.60754, eccentricity = 0.89858, convex_area = 12891.00000, extent = 0.56877, type = O + area = 12573.00000, perimeter = 444.96100, major_axis_length = 180.37151, minor_axis_length = 89.74239, eccentricity = 0.86744, convex_area = 12827.00000, extent = 0.66292, type = O + area = 13809.00000, perimeter = 489.02200, major_axis_length = 213.82555, minor_axis_length = 82.49403, eccentricity = 0.92258, convex_area = 14070.00000, extent = 0.80575, type = C + area = 10015.00000, perimeter = 402.17899, major_axis_length = 160.38683, minor_axis_length = 81.07691, eccentricity = 0.86282, convex_area = 10338.00000, extent = 0.69462, type = O + area = 10900.00000, perimeter = 417.59698, major_axis_length = 172.69206, minor_axis_length = 81.00117, eccentricity = 0.88317, convex_area = 11091.00000, extent = 0.58539, type = O + area = 12583.00000, perimeter = 434.00299, major_axis_length = 171.65707, minor_axis_length = 94.46523, eccentricity = 0.83496, convex_area = 12897.00000, extent = 0.74328, type = O + area = 13337.00000, perimeter = 471.84698, major_axis_length = 199.14467, minor_axis_length = 86.46564, eccentricity = 0.90082, convex_area = 13686.00000, extent = 0.66446, type = C + area = 11578.00000, perimeter = 431.50601, major_axis_length = 181.23451, minor_axis_length = 82.66643, eccentricity = 0.88991, convex_area = 11747.00000, extent = 0.61901, type = O + area = 14571.00000, perimeter = 489.43301, major_axis_length = 206.78789, minor_axis_length = 90.45136, eccentricity = 0.89926, convex_area = 14839.00000, extent = 0.60551, type = C + area = 11322.00000, perimeter = 415.88599, major_axis_length = 169.72362, minor_axis_length = 85.80435, eccentricity = 0.86280, convex_area = 11512.00000, extent = 0.61426, type = O + area = 12692.00000, perimeter = 465.17200, major_axis_length = 193.20732, minor_axis_length = 85.29054, eccentricity = 0.89729, convex_area = 13118.00000, extent = 0.71480, type = C + area = 17564.00000, perimeter = 527.11603, major_axis_length = 221.60294, minor_axis_length = 101.65880, eccentricity = 0.88857, convex_area = 17808.00000, extent = 0.77116, type = C + area = 12288.00000, perimeter = 437.82199, major_axis_length = 179.18796, minor_axis_length = 88.10448, eccentricity = 0.87077, convex_area = 12498.00000, extent = 0.80272, type = O + area = 10474.00000, perimeter = 403.45999, major_axis_length = 167.88440, minor_axis_length = 80.18859, eccentricity = 0.87855, convex_area = 10611.00000, extent = 0.78870, type = O + area = 11710.00000, perimeter = 424.49100, major_axis_length = 173.79004, minor_axis_length = 86.49895, eccentricity = 0.86734, convex_area = 11880.00000, extent = 0.73279, type = O + area = 13460.00000, perimeter = 451.04800, major_axis_length = 181.47499, minor_axis_length = 95.35158, eccentricity = 0.85084, convex_area = 13697.00000, extent = 0.72600, type = O + area = 13860.00000, perimeter = 483.97101, major_axis_length = 207.78920, minor_axis_length = 85.96107, eccentricity = 0.91042, convex_area = 14047.00000, extent = 0.64815, type = C + area = 11396.00000, perimeter = 446.28299, major_axis_length = 192.23241, minor_axis_length = 76.52646, eccentricity = 0.91734, convex_area = 11692.00000, extent = 0.64515, type = C + area = 11145.00000, perimeter = 421.24301, major_axis_length = 170.03070, minor_axis_length = 84.57749, eccentricity = 0.86751, convex_area = 11376.00000, extent = 0.63613, type = O + area = 13333.00000, perimeter = 472.38400, major_axis_length = 200.93857, minor_axis_length = 85.17281, eccentricity = 0.90572, convex_area = 13585.00000, extent = 0.68026, type = C + area = 12796.00000, perimeter = 471.20901, major_axis_length = 203.92963, minor_axis_length = 80.33001, eccentricity = 0.91915, convex_area = 13022.00000, extent = 0.68406, type = C + area = 10533.00000, perimeter = 411.01300, major_axis_length = 168.51833, minor_axis_length = 80.82944, eccentricity = 0.87746, convex_area = 10834.00000, extent = 0.63697, type = O + area = 13631.00000, perimeter = 473.54700, major_axis_length = 193.49402, minor_axis_length = 91.50906, eccentricity = 0.88110, convex_area = 14141.00000, extent = 0.58029, type = C + area = 13344.00000, perimeter = 469.52802, major_axis_length = 196.68790, minor_axis_length = 87.38164, eccentricity = 0.89590, convex_area = 13609.00000, extent = 0.59914, type = O + area = 15322.00000, perimeter = 506.39801, major_axis_length = 217.86375, minor_axis_length = 90.17707, eccentricity = 0.91032, convex_area = 15531.00000, extent = 0.81362, type = C + area = 11898.00000, perimeter = 453.98001, major_axis_length = 195.36005, minor_axis_length = 78.36910, eccentricity = 0.91601, convex_area = 12134.00000, extent = 0.54804, type = C + area = 11140.00000, perimeter = 414.36499, major_axis_length = 170.64981, minor_axis_length = 83.77877, eccentricity = 0.87119, convex_area = 11280.00000, extent = 0.60775, type = O + area = 14172.00000, perimeter = 500.42899, major_axis_length = 218.57156, minor_axis_length = 83.36391, eccentricity = 0.92441, convex_area = 14399.00000, extent = 0.60882, type = C + area = 11106.00000, perimeter = 415.98499, major_axis_length = 175.18675, minor_axis_length = 81.15784, eccentricity = 0.88622, convex_area = 11257.00000, extent = 0.60999, type = O + area = 10847.00000, perimeter = 417.67001, major_axis_length = 168.35777, minor_axis_length = 82.87085, eccentricity = 0.87046, convex_area = 11152.00000, extent = 0.62411, type = O + area = 12615.00000, perimeter = 458.23499, major_axis_length = 185.04196, minor_axis_length = 88.18565, eccentricity = 0.87914, convex_area = 13014.00000, extent = 0.62167, type = O + area = 13316.00000, perimeter = 445.04999, major_axis_length = 179.45512, minor_axis_length = 95.03307, eccentricity = 0.84827, convex_area = 13517.00000, extent = 0.81414, type = O + area = 11862.00000, perimeter = 436.29999, major_axis_length = 177.20021, minor_axis_length = 86.44499, eccentricity = 0.87293, convex_area = 12146.00000, extent = 0.76156, type = O + area = 15594.00000, perimeter = 515.66101, major_axis_length = 216.53427, minor_axis_length = 93.27998, eccentricity = 0.90245, convex_area = 16029.00000, extent = 0.66667, type = C + area = 14272.00000, perimeter = 487.70300, major_axis_length = 207.79874, minor_axis_length = 88.06716, eccentricity = 0.90575, convex_area = 14510.00000, extent = 0.58301, type = C + area = 11419.00000, perimeter = 431.51300, major_axis_length = 175.95653, minor_axis_length = 83.67270, eccentricity = 0.87970, convex_area = 11732.00000, extent = 0.66778, type = O + area = 14686.00000, perimeter = 503.69000, major_axis_length = 212.25868, minor_axis_length = 89.78369, eccentricity = 0.90613, convex_area = 15003.00000, extent = 0.55215, type = C + area = 12539.00000, perimeter = 437.42599, major_axis_length = 174.90057, minor_axis_length = 92.72463, eccentricity = 0.84790, convex_area = 12835.00000, extent = 0.78738, type = O + area = 15583.00000, perimeter = 510.69101, major_axis_length = 217.35155, minor_axis_length = 92.12090, eccentricity = 0.90574, convex_area = 15826.00000, extent = 0.68696, type = C + area = 15500.00000, perimeter = 502.32101, major_axis_length = 213.36700, minor_axis_length = 93.55457, eccentricity = 0.89875, convex_area = 15724.00000, extent = 0.81497, type = C + area = 14313.00000, perimeter = 482.97501, major_axis_length = 204.72008, minor_axis_length = 89.78699, eccentricity = 0.89869, convex_area = 14622.00000, extent = 0.57330, type = C + area = 14625.00000, perimeter = 497.25201, major_axis_length = 212.79851, minor_axis_length = 88.36369, eccentricity = 0.90971, convex_area = 14924.00000, extent = 0.54895, type = C + area = 11678.00000, perimeter = 423.67599, major_axis_length = 173.41394, minor_axis_length = 86.46707, eccentricity = 0.86682, convex_area = 11839.00000, extent = 0.62110, type = O + area = 12053.00000, perimeter = 449.60400, major_axis_length = 189.50099, minor_axis_length = 82.26611, eccentricity = 0.90086, convex_area = 12295.00000, extent = 0.56446, type = O + area = 12450.00000, perimeter = 456.22101, major_axis_length = 191.14287, minor_axis_length = 84.21342, eccentricity = 0.89771, convex_area = 12740.00000, extent = 0.57215, type = C + area = 11960.00000, perimeter = 440.94199, major_axis_length = 182.05344, minor_axis_length = 84.72266, eccentricity = 0.88511, convex_area = 12191.00000, extent = 0.62651, type = O + area = 13335.00000, perimeter = 474.37701, major_axis_length = 197.83990, minor_axis_length = 87.58254, eccentricity = 0.89667, convex_area = 13702.00000, extent = 0.66702, type = O + area = 14720.00000, perimeter = 494.86200, major_axis_length = 207.09271, minor_axis_length = 91.49889, eccentricity = 0.89710, convex_area = 15071.00000, extent = 0.70400, type = C + area = 16085.00000, perimeter = 520.70599, major_axis_length = 217.49631, minor_axis_length = 95.40557, eccentricity = 0.89866, convex_area = 16514.00000, extent = 0.70271, type = C + area = 14421.00000, perimeter = 489.81799, major_axis_length = 204.95683, minor_axis_length = 90.34169, eccentricity = 0.89761, convex_area = 14716.00000, extent = 0.62526, type = C + area = 14932.00000, perimeter = 488.86499, major_axis_length = 203.93930, minor_axis_length = 94.11240, eccentricity = 0.88715, convex_area = 15200.00000, extent = 0.78162, type = O + area = 11179.00000, perimeter = 418.70999, major_axis_length = 171.10838, minor_axis_length = 84.56639, eccentricity = 0.86933, convex_area = 11440.00000, extent = 0.73561, type = O + area = 13147.00000, perimeter = 468.92001, major_axis_length = 199.22775, minor_axis_length = 84.48080, eccentricity = 0.90564, convex_area = 13431.00000, extent = 0.68474, type = C + area = 12205.00000, perimeter = 438.35599, major_axis_length = 174.43573, minor_axis_length = 90.32648, eccentricity = 0.85549, convex_area = 12491.00000, extent = 0.61848, type = O + area = 11733.00000, perimeter = 436.26001, major_axis_length = 182.88922, minor_axis_length = 82.62609, eccentricity = 0.89213, convex_area = 11955.00000, extent = 0.68662, type = C + area = 15336.00000, perimeter = 508.78500, major_axis_length = 219.26230, minor_axis_length = 89.74197, eccentricity = 0.91240, convex_area = 15599.00000, extent = 0.58001, type = C + area = 15977.00000, perimeter = 516.20898, major_axis_length = 216.75784, minor_axis_length = 94.92934, eccentricity = 0.89900, convex_area = 16401.00000, extent = 0.62751, type = C + area = 14818.00000, perimeter = 499.35999, major_axis_length = 208.87550, minor_axis_length = 91.91077, eccentricity = 0.89798, convex_area = 15204.00000, extent = 0.57541, type = C + area = 14541.00000, perimeter = 492.78500, major_axis_length = 204.25714, minor_axis_length = 92.47102, eccentricity = 0.89165, convex_area = 14893.00000, extent = 0.75829, type = C + area = 12437.00000, perimeter = 462.72699, major_axis_length = 193.92091, minor_axis_length = 83.32165, eccentricity = 0.90299, convex_area = 12841.00000, extent = 0.57595, type = O + area = 15830.00000, perimeter = 516.23199, major_axis_length = 220.81924, minor_axis_length = 92.34399, eccentricity = 0.90836, convex_area = 16074.00000, extent = 0.70144, type = C + area = 11016.00000, perimeter = 421.10001, major_axis_length = 173.15601, minor_axis_length = 82.32682, eccentricity = 0.87974, convex_area = 11302.00000, extent = 0.78161, type = O + area = 10469.00000, perimeter = 402.45099, major_axis_length = 159.39949, minor_axis_length = 84.83900, eccentricity = 0.84659, convex_area = 10746.00000, extent = 0.77411, type = O + area = 12519.00000, perimeter = 455.40601, major_axis_length = 192.00218, minor_axis_length = 83.87215, eccentricity = 0.89954, convex_area = 12770.00000, extent = 0.67068, type = C + area = 11559.00000, perimeter = 427.03000, major_axis_length = 173.23778, minor_axis_length = 87.18897, eccentricity = 0.86412, convex_area = 11840.00000, extent = 0.69915, type = O + area = 10536.00000, perimeter = 425.36700, major_axis_length = 182.95021, minor_axis_length = 73.86765, eccentricity = 0.91487, convex_area = 10704.00000, extent = 0.75043, type = O + area = 12571.00000, perimeter = 453.33701, major_axis_length = 188.70255, minor_axis_length = 86.54855, eccentricity = 0.88862, convex_area = 12847.00000, extent = 0.79182, type = O + area = 14687.00000, perimeter = 498.39099, major_axis_length = 210.58044, minor_axis_length = 90.29588, eccentricity = 0.90340, convex_area = 14977.00000, extent = 0.56610, type = C + area = 11487.00000, perimeter = 428.08899, major_axis_length = 173.95477, minor_axis_length = 85.48769, eccentricity = 0.87091, convex_area = 11695.00000, extent = 0.64862, type = O + area = 8702.00000, perimeter = 381.20599, major_axis_length = 160.71883, minor_axis_length = 69.73335, eccentricity = 0.90097, convex_area = 8924.00000, extent = 0.64117, type = O + area = 12089.00000, perimeter = 440.72601, major_axis_length = 179.96233, minor_axis_length = 86.65957, eccentricity = 0.87642, convex_area = 12390.00000, extent = 0.66687, type = O + area = 12758.00000, perimeter = 451.37000, major_axis_length = 180.73944, minor_axis_length = 91.56465, eccentricity = 0.86217, convex_area = 13170.00000, extent = 0.64906, type = O + area = 12927.00000, perimeter = 453.01501, major_axis_length = 184.32379, minor_axis_length = 89.86131, eccentricity = 0.87311, convex_area = 13196.00000, extent = 0.73692, type = C + area = 11364.00000, perimeter = 428.95300, major_axis_length = 180.75972, minor_axis_length = 80.28202, eccentricity = 0.89596, convex_area = 11551.00000, extent = 0.58027, type = O + area = 11802.00000, perimeter = 430.05200, major_axis_length = 175.27475, minor_axis_length = 86.66317, eccentricity = 0.86921, convex_area = 12024.00000, extent = 0.62126, type = O + area = 12297.00000, perimeter = 440.60101, major_axis_length = 173.32635, minor_axis_length = 92.03754, eccentricity = 0.84737, convex_area = 12678.00000, extent = 0.72216, type = O + area = 11930.00000, perimeter = 434.80600, major_axis_length = 175.30119, minor_axis_length = 87.98391, eccentricity = 0.86492, convex_area = 12260.00000, extent = 0.64382, type = O + area = 11618.00000, perimeter = 434.17700, major_axis_length = 179.41545, minor_axis_length = 83.34638, eccentricity = 0.88555, convex_area = 11820.00000, extent = 0.61676, type = O + area = 10297.00000, perimeter = 397.12500, major_axis_length = 160.82759, minor_axis_length = 82.35851, eccentricity = 0.85893, convex_area = 10488.00000, extent = 0.78471, type = O + area = 12159.00000, perimeter = 437.82300, major_axis_length = 177.58453, minor_axis_length = 88.58030, eccentricity = 0.86671, convex_area = 12377.00000, extent = 0.67014, type = O + area = 14212.00000, perimeter = 484.94601, major_axis_length = 205.00323, minor_axis_length = 89.61550, eccentricity = 0.89939, convex_area = 14502.00000, extent = 0.75220, type = C + area = 14092.00000, perimeter = 499.41699, major_axis_length = 210.96301, minor_axis_length = 86.79673, eccentricity = 0.91144, convex_area = 14618.00000, extent = 0.77293, type = C + area = 12193.00000, perimeter = 433.95700, major_axis_length = 170.47278, minor_axis_length = 92.65318, eccentricity = 0.83940, convex_area = 12558.00000, extent = 0.62467, type = O + area = 13501.00000, perimeter = 485.75601, major_axis_length = 205.77101, minor_axis_length = 84.90839, eccentricity = 0.91090, convex_area = 13896.00000, extent = 0.65852, type = C + area = 10937.00000, perimeter = 424.58600, major_axis_length = 177.16705, minor_axis_length = 79.75700, eccentricity = 0.89294, convex_area = 11103.00000, extent = 0.59521, type = C + area = 13900.00000, perimeter = 475.88901, major_axis_length = 198.16893, minor_axis_length = 90.54260, eccentricity = 0.88952, convex_area = 14161.00000, extent = 0.71723, type = C + area = 15373.00000, perimeter = 489.13101, major_axis_length = 200.14091, minor_axis_length = 98.96591, eccentricity = 0.86919, convex_area = 15617.00000, extent = 0.77641, type = C + area = 13887.00000, perimeter = 483.16800, major_axis_length = 203.42085, minor_axis_length = 88.11791, eccentricity = 0.90131, convex_area = 14240.00000, extent = 0.68439, type = C + area = 11149.00000, perimeter = 416.89099, major_axis_length = 167.29213, minor_axis_length = 86.69962, eccentricity = 0.85523, convex_area = 11323.00000, extent = 0.69090, type = O + area = 14379.00000, perimeter = 494.30301, major_axis_length = 205.52626, minor_axis_length = 90.39722, eccentricity = 0.89808, convex_area = 14768.00000, extent = 0.57886, type = C + area = 11031.00000, perimeter = 414.44000, major_axis_length = 170.68466, minor_axis_length = 83.09671, eccentricity = 0.87349, convex_area = 11200.00000, extent = 0.60557, type = O + area = 14700.00000, perimeter = 506.46399, major_axis_length = 215.43030, minor_axis_length = 87.76008, eccentricity = 0.91326, convex_area = 15050.00000, extent = 0.70755, type = C + area = 12354.00000, perimeter = 453.09000, major_axis_length = 192.00674, minor_axis_length = 82.87370, eccentricity = 0.90206, convex_area = 12602.00000, extent = 0.65762, type = O + area = 12720.00000, perimeter = 461.80600, major_axis_length = 197.94400, minor_axis_length = 82.81128, eccentricity = 0.90828, convex_area = 12974.00000, extent = 0.75678, type = C + area = 17338.00000, perimeter = 530.04401, major_axis_length = 222.08437, minor_axis_length = 100.54912, eccentricity = 0.89164, convex_area = 17725.00000, extent = 0.79245, type = C + area = 12295.00000, perimeter = 439.82401, major_axis_length = 176.58267, minor_axis_length = 89.81164, eccentricity = 0.86100, convex_area = 12566.00000, extent = 0.67348, type = O + area = 15390.00000, perimeter = 511.50900, major_axis_length = 214.46609, minor_axis_length = 92.45722, eccentricity = 0.90230, convex_area = 15788.00000, extent = 0.77329, type = C + area = 13263.00000, perimeter = 480.19101, major_axis_length = 205.57587, minor_axis_length = 83.13744, eccentricity = 0.91458, convex_area = 13517.00000, extent = 0.68057, type = C + area = 10600.00000, perimeter = 414.86600, major_axis_length = 174.65054, minor_axis_length = 78.23211, eccentricity = 0.89407, convex_area = 10800.00000, extent = 0.60282, type = O + area = 13746.00000, perimeter = 483.82001, major_axis_length = 205.84219, minor_axis_length = 86.18869, eccentricity = 0.90812, convex_area = 14060.00000, extent = 0.71594, type = C + area = 12918.00000, perimeter = 459.82800, major_axis_length = 193.34657, minor_axis_length = 86.05883, eccentricity = 0.89548, convex_area = 13179.00000, extent = 0.77670, type = O + area = 11303.00000, perimeter = 423.95499, major_axis_length = 173.83696, minor_axis_length = 83.37649, eccentricity = 0.87747, convex_area = 11527.00000, extent = 0.61968, type = O + area = 14855.00000, perimeter = 495.89899, major_axis_length = 208.57062, minor_axis_length = 92.42722, eccentricity = 0.89645, convex_area = 15191.00000, extent = 0.59061, type = C + area = 13399.00000, perimeter = 490.56000, major_axis_length = 209.36595, minor_axis_length = 82.76702, eccentricity = 0.91854, convex_area = 13654.00000, extent = 0.51710, type = C + area = 10516.00000, perimeter = 423.39999, major_axis_length = 175.92067, minor_axis_length = 77.73805, eccentricity = 0.89707, convex_area = 10787.00000, extent = 0.63687, type = O + area = 12649.00000, perimeter = 459.94501, major_axis_length = 190.43697, minor_axis_length = 85.74950, eccentricity = 0.89289, convex_area = 12886.00000, extent = 0.69818, type = O + area = 13803.00000, perimeter = 492.02100, major_axis_length = 207.04994, minor_axis_length = 87.18410, eccentricity = 0.90702, convex_area = 14174.00000, extent = 0.56915, type = C + area = 10917.00000, perimeter = 420.91101, major_axis_length = 176.43095, minor_axis_length = 80.17513, eccentricity = 0.89078, convex_area = 11128.00000, extent = 0.65908, type = O + area = 13414.00000, perimeter = 479.90100, major_axis_length = 203.08597, minor_axis_length = 85.73688, eccentricity = 0.90652, convex_area = 13735.00000, extent = 0.71404, type = C + area = 13172.00000, perimeter = 450.29001, major_axis_length = 178.61812, minor_axis_length = 95.82072, eccentricity = 0.84393, convex_area = 13499.00000, extent = 0.63633, type = O + area = 14312.00000, perimeter = 488.41901, major_axis_length = 208.17024, minor_axis_length = 88.40865, eccentricity = 0.90534, convex_area = 14692.00000, extent = 0.79335, type = C + area = 11433.00000, perimeter = 421.46399, major_axis_length = 168.75270, minor_axis_length = 87.52690, eccentricity = 0.85497, convex_area = 11678.00000, extent = 0.72938, type = O + area = 16706.00000, perimeter = 533.62598, major_axis_length = 228.15617, minor_axis_length = 94.20754, eccentricity = 0.91077, convex_area = 17037.00000, extent = 0.63625, type = C + area = 12164.00000, perimeter = 435.08600, major_axis_length = 177.58580, minor_axis_length = 88.19933, eccentricity = 0.86795, convex_area = 12354.00000, extent = 0.71022, type = O + area = 12991.00000, perimeter = 472.82901, major_axis_length = 196.89684, minor_axis_length = 85.49543, eccentricity = 0.90081, convex_area = 13380.00000, extent = 0.73645, type = C + area = 13244.00000, perimeter = 461.93900, major_axis_length = 194.18376, minor_axis_length = 87.82101, eccentricity = 0.89189, convex_area = 13476.00000, extent = 0.71128, type = C + area = 9961.00000, perimeter = 397.92999, major_axis_length = 166.00798, minor_axis_length = 77.44359, eccentricity = 0.88452, convex_area = 10130.00000, extent = 0.62798, type = O + area = 11370.00000, perimeter = 444.68799, major_axis_length = 188.17796, minor_axis_length = 77.82491, eccentricity = 0.91047, convex_area = 11676.00000, extent = 0.58851, type = O + area = 15676.00000, perimeter = 509.22400, major_axis_length = 212.90775, minor_axis_length = 94.76167, eccentricity = 0.89549, convex_area = 16009.00000, extent = 0.57463, type = C + area = 9236.00000, perimeter = 394.34100, major_axis_length = 160.92889, minor_axis_length = 74.24968, eccentricity = 0.88720, convex_area = 9465.00000, extent = 0.57739, type = O + area = 11976.00000, perimeter = 444.64401, major_axis_length = 188.98186, minor_axis_length = 81.36696, eccentricity = 0.90256, convex_area = 12149.00000, extent = 0.55801, type = O + area = 12228.00000, perimeter = 441.15601, major_axis_length = 176.11035, minor_axis_length = 90.81321, eccentricity = 0.85679, convex_area = 12587.00000, extent = 0.69296, type = O + area = 10727.00000, perimeter = 420.36499, major_axis_length = 174.38452, minor_axis_length = 79.60275, eccentricity = 0.88973, convex_area = 11009.00000, extent = 0.67061, type = O + area = 12161.00000, perimeter = 430.58701, major_axis_length = 171.62476, minor_axis_length = 92.09138, eccentricity = 0.84385, convex_area = 12460.00000, extent = 0.68870, type = O + area = 11572.00000, perimeter = 418.62900, major_axis_length = 164.12326, minor_axis_length = 90.98297, eccentricity = 0.83228, convex_area = 11861.00000, extent = 0.66164, type = O + area = 17250.00000, perimeter = 528.09900, major_axis_length = 220.79893, minor_axis_length = 101.24916, eccentricity = 0.88866, convex_area = 17570.00000, extent = 0.83966, type = C + area = 11867.00000, perimeter = 434.81299, major_axis_length = 185.70448, minor_axis_length = 81.84723, eccentricity = 0.89764, convex_area = 12004.00000, extent = 0.68107, type = O + area = 13066.00000, perimeter = 458.26199, major_axis_length = 186.34586, minor_axis_length = 90.90146, eccentricity = 0.87295, convex_area = 13315.00000, extent = 0.61481, type = O + area = 10119.00000, perimeter = 403.54300, major_axis_length = 168.57599, minor_axis_length = 77.24084, eccentricity = 0.88885, convex_area = 10317.00000, extent = 0.77221, type = O + area = 11119.00000, perimeter = 419.72800, major_axis_length = 174.08107, minor_axis_length = 82.15591, eccentricity = 0.88163, convex_area = 11314.00000, extent = 0.76959, type = O + area = 13871.00000, perimeter = 496.57901, major_axis_length = 212.57080, minor_axis_length = 83.77424, eccentricity = 0.91907, convex_area = 14344.00000, extent = 0.52782, type = C + area = 14509.00000, perimeter = 496.06601, major_axis_length = 211.13757, minor_axis_length = 88.72330, eccentricity = 0.90742, convex_area = 14836.00000, extent = 0.55830, type = C + area = 12504.00000, perimeter = 445.58701, major_axis_length = 182.37852, minor_axis_length = 88.63296, eccentricity = 0.87397, convex_area = 12781.00000, extent = 0.79888, type = O + area = 15276.00000, perimeter = 506.68500, major_axis_length = 212.13568, minor_axis_length = 93.06375, eccentricity = 0.89863, convex_area = 15574.00000, extent = 0.57923, type = C + area = 14407.00000, perimeter = 494.98999, major_axis_length = 208.74904, minor_axis_length = 88.66286, eccentricity = 0.90532, convex_area = 14716.00000, extent = 0.57376, type = C + area = 11296.00000, perimeter = 424.70099, major_axis_length = 169.20689, minor_axis_length = 87.00450, eccentricity = 0.85768, convex_area = 11626.00000, extent = 0.61102, type = O + area = 12811.00000, perimeter = 453.93701, major_axis_length = 185.72890, minor_axis_length = 89.51059, eccentricity = 0.87620, convex_area = 13112.00000, extent = 0.58508, type = O + area = 14761.00000, perimeter = 499.51099, major_axis_length = 210.79877, minor_axis_length = 90.55553, eccentricity = 0.90303, convex_area = 15197.00000, extent = 0.65833, type = C + area = 10510.00000, perimeter = 416.71100, major_axis_length = 174.78029, minor_axis_length = 77.30443, eccentricity = 0.89687, convex_area = 10691.00000, extent = 0.58833, type = O + area = 13681.00000, perimeter = 478.53799, major_axis_length = 202.76108, minor_axis_length = 87.02304, eccentricity = 0.90321, convex_area = 14015.00000, extent = 0.64194, type = C + area = 11494.00000, perimeter = 433.05801, major_axis_length = 171.58246, minor_axis_length = 86.87869, eccentricity = 0.86234, convex_area = 11858.00000, extent = 0.75938, type = O + area = 9843.00000, perimeter = 383.11600, major_axis_length = 154.95032, minor_axis_length = 81.35683, eccentricity = 0.85107, convex_area = 10024.00000, extent = 0.70227, type = O + area = 9862.00000, perimeter = 396.86200, major_axis_length = 166.76166, minor_axis_length = 75.71849, eccentricity = 0.89098, convex_area = 10064.00000, extent = 0.64039, type = O + area = 13484.00000, perimeter = 468.86899, major_axis_length = 195.42339, minor_axis_length = 88.78389, eccentricity = 0.89084, convex_area = 13786.00000, extent = 0.72401, type = C + area = 16798.00000, perimeter = 529.07703, major_axis_length = 222.79663, minor_axis_length = 97.68343, eccentricity = 0.89876, convex_area = 17173.00000, extent = 0.63817, type = C + area = 13350.00000, perimeter = 466.61899, major_axis_length = 196.50897, minor_axis_length = 87.16155, eccentricity = 0.89625, convex_area = 13562.00000, extent = 0.79921, type = C + area = 13837.00000, perimeter = 483.59399, major_axis_length = 204.31093, minor_axis_length = 87.28925, eccentricity = 0.90414, convex_area = 14139.00000, extent = 0.56942, type = C + area = 9359.00000, perimeter = 395.98801, major_axis_length = 168.29395, minor_axis_length = 71.10741, eccentricity = 0.90635, convex_area = 9555.00000, extent = 0.57516, type = O + area = 10729.00000, perimeter = 414.69901, major_axis_length = 171.72987, minor_axis_length = 81.42698, eccentricity = 0.88044, convex_area = 10987.00000, extent = 0.79421, type = O + area = 15953.00000, perimeter = 522.18597, major_axis_length = 220.75523, minor_axis_length = 93.04210, eccentricity = 0.90684, convex_area = 16307.00000, extent = 0.78936, type = C + area = 12588.00000, perimeter = 445.29800, major_axis_length = 181.65675, minor_axis_length = 89.52711, eccentricity = 0.87012, convex_area = 12865.00000, extent = 0.77713, type = O + area = 9520.00000, perimeter = 394.89099, major_axis_length = 161.31520, minor_axis_length = 76.16378, eccentricity = 0.88152, convex_area = 9852.00000, extent = 0.77803, type = O + area = 15486.00000, perimeter = 492.69400, major_axis_length = 204.37213, minor_axis_length = 97.67800, eccentricity = 0.87839, convex_area = 15688.00000, extent = 0.60116, type = C + area = 12260.00000, perimeter = 453.23801, major_axis_length = 190.84686, minor_axis_length = 83.03071, eccentricity = 0.90040, convex_area = 12586.00000, extent = 0.78832, type = O + area = 11145.00000, perimeter = 420.31500, major_axis_length = 169.13234, minor_axis_length = 85.58923, eccentricity = 0.86250, convex_area = 11364.00000, extent = 0.77128, type = O + area = 15929.00000, perimeter = 513.94000, major_axis_length = 212.65752, minor_axis_length = 96.99799, eccentricity = 0.88992, convex_area = 16293.00000, extent = 0.72586, type = C + area = 10809.00000, perimeter = 426.05399, major_axis_length = 176.31656, minor_axis_length = 79.29939, eccentricity = 0.89315, convex_area = 11121.00000, extent = 0.74896, type = O + area = 12895.00000, perimeter = 461.58200, major_axis_length = 189.03203, minor_axis_length = 88.76391, eccentricity = 0.88289, convex_area = 13267.00000, extent = 0.76719, type = O + area = 11288.00000, perimeter = 429.64700, major_axis_length = 173.53558, minor_axis_length = 84.29547, eccentricity = 0.87410, convex_area = 11665.00000, extent = 0.59311, type = O + area = 12317.00000, perimeter = 442.81000, major_axis_length = 179.33533, minor_axis_length = 88.76385, eccentricity = 0.86892, convex_area = 12589.00000, extent = 0.66061, type = O + area = 14824.00000, perimeter = 499.07501, major_axis_length = 212.48642, minor_axis_length = 89.89487, eccentricity = 0.90610, convex_area = 15141.00000, extent = 0.57920, type = C + area = 11532.00000, perimeter = 422.69101, major_axis_length = 168.92310, minor_axis_length = 88.04036, eccentricity = 0.85344, convex_area = 11798.00000, extent = 0.63068, type = O + area = 10524.00000, perimeter = 402.49500, major_axis_length = 164.08194, minor_axis_length = 82.46438, eccentricity = 0.86453, convex_area = 10713.00000, extent = 0.63253, type = O + area = 12396.00000, perimeter = 443.15399, major_axis_length = 184.80183, minor_axis_length = 86.46866, eccentricity = 0.88378, convex_area = 12546.00000, extent = 0.58710, type = O + area = 16788.00000, perimeter = 533.48798, major_axis_length = 230.12933, minor_axis_length = 93.76288, eccentricity = 0.91323, convex_area = 17041.00000, extent = 0.57268, type = C + area = 11746.00000, perimeter = 450.82901, major_axis_length = 194.19092, minor_axis_length = 77.74390, eccentricity = 0.91636, convex_area = 11953.00000, extent = 0.55521, type = C + area = 15320.00000, perimeter = 511.92999, major_axis_length = 218.62315, minor_axis_length = 91.16982, eccentricity = 0.90890, convex_area = 15740.00000, extent = 0.54564, type = C + area = 15200.00000, perimeter = 502.58801, major_axis_length = 214.13380, minor_axis_length = 91.11753, eccentricity = 0.90495, convex_area = 15461.00000, extent = 0.62413, type = C + area = 10561.00000, perimeter = 405.73901, major_axis_length = 168.93852, minor_axis_length = 80.09080, eccentricity = 0.88048, convex_area = 10709.00000, extent = 0.60225, type = O + area = 10475.00000, perimeter = 410.99399, major_axis_length = 170.85870, minor_axis_length = 79.55013, eccentricity = 0.88500, convex_area = 10739.00000, extent = 0.79092, type = O + area = 12300.00000, perimeter = 434.64700, major_axis_length = 177.62546, minor_axis_length = 89.04189, eccentricity = 0.86528, convex_area = 12472.00000, extent = 0.78524, type = O + area = 16454.00000, perimeter = 518.10901, major_axis_length = 217.09853, minor_axis_length = 97.78069, eccentricity = 0.89283, convex_area = 16893.00000, extent = 0.79719, type = C + area = 10667.00000, perimeter = 411.74701, major_axis_length = 163.93025, minor_axis_length = 84.71981, eccentricity = 0.85610, convex_area = 10987.00000, extent = 0.66610, type = O + area = 12419.00000, perimeter = 439.15701, major_axis_length = 175.85406, minor_axis_length = 90.91185, eccentricity = 0.85600, convex_area = 12675.00000, extent = 0.62382, type = O + area = 14026.00000, perimeter = 494.60300, major_axis_length = 212.81454, minor_axis_length = 84.92227, eccentricity = 0.91693, convex_area = 14267.00000, extent = 0.54640, type = C + area = 15311.00000, perimeter = 507.99500, major_axis_length = 215.14145, minor_axis_length = 91.61975, eccentricity = 0.90479, convex_area = 15690.00000, extent = 0.70441, type = C + area = 10767.00000, perimeter = 410.62299, major_axis_length = 166.02318, minor_axis_length = 83.88680, eccentricity = 0.86296, convex_area = 10978.00000, extent = 0.77216, type = O + area = 11549.00000, perimeter = 432.62299, major_axis_length = 170.75679, minor_axis_length = 88.04955, eccentricity = 0.85680, convex_area = 11910.00000, extent = 0.62225, type = O + area = 11027.00000, perimeter = 422.38901, major_axis_length = 172.86743, minor_axis_length = 82.66507, eccentricity = 0.87825, convex_area = 11350.00000, extent = 0.78183, type = O + area = 11665.00000, perimeter = 435.70599, major_axis_length = 182.75189, minor_axis_length = 81.97320, eccentricity = 0.89376, convex_area = 11895.00000, extent = 0.64590, type = O + area = 14331.00000, perimeter = 502.03000, major_axis_length = 212.58145, minor_axis_length = 87.35810, eccentricity = 0.91166, convex_area = 14618.00000, extent = 0.54276, type = C + area = 13337.00000, perimeter = 468.62100, major_axis_length = 196.77119, minor_axis_length = 87.31041, eccentricity = 0.89617, convex_area = 13598.00000, extent = 0.69442, type = C + area = 12711.00000, perimeter = 458.73300, major_axis_length = 188.31543, minor_axis_length = 86.86007, eccentricity = 0.88727, convex_area = 13092.00000, extent = 0.57830, type = O + area = 12537.00000, perimeter = 440.10599, major_axis_length = 177.27472, minor_axis_length = 91.08681, eccentricity = 0.85790, convex_area = 12845.00000, extent = 0.67043, type = O + area = 11883.00000, perimeter = 448.21600, major_axis_length = 191.74635, minor_axis_length = 79.46400, eccentricity = 0.91008, convex_area = 12103.00000, extent = 0.55032, type = C + area = 10036.00000, perimeter = 402.85901, major_axis_length = 166.15659, minor_axis_length = 77.91069, eccentricity = 0.88325, convex_area = 10255.00000, extent = 0.59157, type = O + area = 12016.00000, perimeter = 469.42499, major_axis_length = 196.94925, minor_axis_length = 79.83517, eccentricity = 0.91416, convex_area = 12464.00000, extent = 0.56297, type = C + area = 11569.00000, perimeter = 433.01300, major_axis_length = 183.72031, minor_axis_length = 80.48042, eccentricity = 0.89895, convex_area = 11734.00000, extent = 0.61037, type = O + area = 13415.00000, perimeter = 464.29300, major_axis_length = 191.95778, minor_axis_length = 89.88297, eccentricity = 0.88360, convex_area = 13660.00000, extent = 0.58066, type = O + area = 11287.00000, perimeter = 421.99301, major_axis_length = 176.18260, minor_axis_length = 82.72874, eccentricity = 0.88290, convex_area = 11469.00000, extent = 0.81642, type = O + area = 13853.00000, perimeter = 479.72299, major_axis_length = 193.40189, minor_axis_length = 92.85981, eccentricity = 0.87719, convex_area = 14338.00000, extent = 0.58637, type = C + area = 14784.00000, perimeter = 481.98599, major_axis_length = 200.02716, minor_axis_length = 94.98056, eccentricity = 0.88007, convex_area = 15005.00000, extent = 0.72159, type = C + area = 14969.00000, perimeter = 515.09802, major_axis_length = 222.04485, minor_axis_length = 87.43668, eccentricity = 0.91920, convex_area = 15269.00000, extent = 0.54621, type = C + area = 11981.00000, perimeter = 448.82700, major_axis_length = 190.12900, minor_axis_length = 81.32439, eccentricity = 0.90391, convex_area = 12154.00000, extent = 0.56209, type = C + area = 12058.00000, perimeter = 445.82800, major_axis_length = 184.82802, minor_axis_length = 84.49703, eccentricity = 0.88938, convex_area = 12308.00000, extent = 0.70482, type = O + area = 13234.00000, perimeter = 472.35001, major_axis_length = 198.57501, minor_axis_length = 86.26437, eccentricity = 0.90071, convex_area = 13512.00000, extent = 0.74265, type = C + area = 14551.00000, perimeter = 502.11200, major_axis_length = 208.19244, minor_axis_length = 90.84801, eccentricity = 0.89977, convex_area = 14962.00000, extent = 0.55802, type = C + area = 14608.00000, perimeter = 504.30600, major_axis_length = 210.26993, minor_axis_length = 90.16652, eccentricity = 0.90339, convex_area = 15125.00000, extent = 0.63513, type = C + area = 11790.00000, perimeter = 444.34299, major_axis_length = 184.42249, minor_axis_length = 82.44761, eccentricity = 0.89450, convex_area = 12103.00000, extent = 0.59606, type = O + area = 11332.00000, perimeter = 428.60599, major_axis_length = 173.06047, minor_axis_length = 84.94743, eccentricity = 0.87124, convex_area = 11628.00000, extent = 0.59818, type = O + area = 14477.00000, perimeter = 499.47000, major_axis_length = 217.10547, minor_axis_length = 85.79217, eccentricity = 0.91861, convex_area = 14726.00000, extent = 0.57551, type = C + area = 14250.00000, perimeter = 486.12399, major_axis_length = 201.21893, minor_axis_length = 91.93982, eccentricity = 0.88951, convex_area = 14636.00000, extent = 0.59368, type = C + area = 10896.00000, perimeter = 419.38501, major_axis_length = 174.13997, minor_axis_length = 80.54836, eccentricity = 0.88659, convex_area = 11145.00000, extent = 0.58961, type = O + area = 12975.00000, perimeter = 458.54700, major_axis_length = 189.81834, minor_axis_length = 87.65503, eccentricity = 0.88699, convex_area = 13254.00000, extent = 0.70902, type = C + area = 12085.00000, perimeter = 431.20801, major_axis_length = 168.88475, minor_axis_length = 92.54957, eccentricity = 0.83648, convex_area = 12279.00000, extent = 0.70258, type = O + area = 14232.00000, perimeter = 505.88501, major_axis_length = 214.10287, minor_axis_length = 86.41411, eccentricity = 0.91493, convex_area = 14702.00000, extent = 0.52602, type = C + area = 12950.00000, perimeter = 468.57001, major_axis_length = 196.61679, minor_axis_length = 84.80032, eccentricity = 0.90221, convex_area = 13584.00000, extent = 0.76181, type = C + area = 9819.00000, perimeter = 410.64801, major_axis_length = 172.62126, minor_axis_length = 73.48200, eccentricity = 0.90487, convex_area = 10096.00000, extent = 0.58825, type = O + area = 14291.00000, perimeter = 481.23999, major_axis_length = 196.50101, minor_axis_length = 93.87129, eccentricity = 0.87852, convex_area = 14618.00000, extent = 0.58920, type = C + area = 12621.00000, perimeter = 444.58801, major_axis_length = 184.94313, minor_axis_length = 87.62446, eccentricity = 0.88064, convex_area = 12832.00000, extent = 0.73399, type = C + area = 14626.00000, perimeter = 502.35699, major_axis_length = 212.73470, minor_axis_length = 88.58339, eccentricity = 0.90918, convex_area = 14997.00000, extent = 0.58150, type = C + area = 12708.00000, perimeter = 437.45401, major_axis_length = 174.35812, minor_axis_length = 93.84775, eccentricity = 0.84279, convex_area = 12893.00000, extent = 0.64344, type = O + area = 13066.00000, perimeter = 478.00201, major_axis_length = 207.51675, minor_axis_length = 80.51567, eccentricity = 0.92166, convex_area = 13348.00000, extent = 0.55780, type = C + area = 11715.00000, perimeter = 439.70300, major_axis_length = 183.22273, minor_axis_length = 82.48322, eccentricity = 0.89294, convex_area = 11948.00000, extent = 0.60449, type = O + area = 11661.00000, perimeter = 418.01501, major_axis_length = 168.95514, minor_axis_length = 88.93134, eccentricity = 0.85026, convex_area = 11819.00000, extent = 0.78929, type = O + area = 10780.00000, perimeter = 410.85501, major_axis_length = 162.42773, minor_axis_length = 86.18076, eccentricity = 0.84764, convex_area = 11047.00000, extent = 0.66708, type = O + area = 14723.00000, perimeter = 490.70901, major_axis_length = 205.41713, minor_axis_length = 92.49973, eccentricity = 0.89288, convex_area = 15013.00000, extent = 0.57019, type = O + area = 12071.00000, perimeter = 441.17999, major_axis_length = 178.04120, minor_axis_length = 87.77052, eccentricity = 0.87004, convex_area = 12442.00000, extent = 0.73802, type = O + area = 11693.00000, perimeter = 446.48401, major_axis_length = 185.65160, minor_axis_length = 81.72231, eccentricity = 0.89790, convex_area = 12064.00000, extent = 0.57279, type = O + area = 11906.00000, perimeter = 433.85599, major_axis_length = 174.29979, minor_axis_length = 88.25261, eccentricity = 0.86234, convex_area = 12179.00000, extent = 0.62085, type = O + area = 11669.00000, perimeter = 417.84100, major_axis_length = 170.12775, minor_axis_length = 87.80727, eccentricity = 0.85651, convex_area = 11847.00000, extent = 0.76977, type = O + area = 11773.00000, perimeter = 433.98099, major_axis_length = 174.71716, minor_axis_length = 87.27270, eccentricity = 0.86631, convex_area = 12005.00000, extent = 0.60946, type = O + area = 15611.00000, perimeter = 506.54700, major_axis_length = 215.20073, minor_axis_length = 93.39229, eccentricity = 0.90092, convex_area = 15806.00000, extent = 0.73219, type = C + area = 13580.00000, perimeter = 464.35699, major_axis_length = 190.38063, minor_axis_length = 91.37227, eccentricity = 0.87730, convex_area = 13781.00000, extent = 0.62731, type = C + area = 14181.00000, perimeter = 485.24500, major_axis_length = 206.85828, minor_axis_length = 87.94334, eccentricity = 0.90513, convex_area = 14423.00000, extent = 0.64783, type = C + area = 13413.00000, perimeter = 475.39001, major_axis_length = 196.85678, minor_axis_length = 87.78819, eccentricity = 0.89506, convex_area = 13917.00000, extent = 0.57101, type = C + area = 14715.00000, perimeter = 497.55701, major_axis_length = 212.03532, minor_axis_length = 89.50563, eccentricity = 0.90654, convex_area = 15094.00000, extent = 0.79489, type = C + area = 9854.00000, perimeter = 397.06699, major_axis_length = 169.15323, minor_axis_length = 74.63223, eccentricity = 0.89740, convex_area = 9992.00000, extent = 0.72392, type = O + area = 10074.00000, perimeter = 416.97198, major_axis_length = 172.34532, minor_axis_length = 75.89259, eccentricity = 0.89783, convex_area = 10422.00000, extent = 0.55471, type = O + area = 11359.00000, perimeter = 420.87201, major_axis_length = 170.85472, minor_axis_length = 85.41528, eccentricity = 0.86607, convex_area = 11580.00000, extent = 0.61747, type = O + area = 14266.00000, perimeter = 486.47800, major_axis_length = 207.72604, minor_axis_length = 88.09992, eccentricity = 0.90561, convex_area = 14485.00000, extent = 0.60385, type = C + area = 14947.00000, perimeter = 506.65100, major_axis_length = 214.34431, minor_axis_length = 89.52690, eccentricity = 0.90860, convex_area = 15364.00000, extent = 0.56300, type = C + area = 11385.00000, perimeter = 436.60699, major_axis_length = 180.06990, minor_axis_length = 82.65318, eccentricity = 0.88843, convex_area = 11778.00000, extent = 0.75976, type = O + area = 15385.00000, perimeter = 505.57800, major_axis_length = 211.73012, minor_axis_length = 94.12325, eccentricity = 0.89576, convex_area = 15726.00000, extent = 0.58791, type = C + area = 12551.00000, perimeter = 459.72900, major_axis_length = 197.68234, minor_axis_length = 81.57028, eccentricity = 0.91090, convex_area = 12741.00000, extent = 0.81894, type = C + area = 16094.00000, perimeter = 509.97900, major_axis_length = 215.54759, minor_axis_length = 95.61666, eccentricity = 0.89623, convex_area = 16403.00000, extent = 0.75879, type = C + area = 15904.00000, perimeter = 511.02200, major_axis_length = 214.35056, minor_axis_length = 96.21210, eccentricity = 0.89361, convex_area = 16248.00000, extent = 0.71785, type = C + area = 11857.00000, perimeter = 433.20001, major_axis_length = 177.90762, minor_axis_length = 86.17068, eccentricity = 0.87487, convex_area = 12171.00000, extent = 0.71669, type = O + area = 12598.00000, perimeter = 466.83701, major_axis_length = 199.03914, minor_axis_length = 81.86655, eccentricity = 0.91150, convex_area = 13072.00000, extent = 0.57541, type = C + area = 10882.00000, perimeter = 411.74600, major_axis_length = 168.95947, minor_axis_length = 83.18147, eccentricity = 0.87042, convex_area = 11033.00000, extent = 0.75402, type = O + area = 13576.00000, perimeter = 475.04999, major_axis_length = 200.99942, minor_axis_length = 86.54900, eccentricity = 0.90255, convex_area = 13888.00000, extent = 0.58329, type = C + area = 15139.00000, perimeter = 508.97000, major_axis_length = 217.33601, minor_axis_length = 89.95793, eccentricity = 0.91032, convex_area = 15394.00000, extent = 0.54989, type = C + area = 10842.00000, perimeter = 412.74899, major_axis_length = 167.04510, minor_axis_length = 84.00163, eccentricity = 0.86436, convex_area = 11105.00000, extent = 0.67050, type = O + area = 13241.00000, perimeter = 458.01099, major_axis_length = 184.91423, minor_axis_length = 93.20131, eccentricity = 0.86369, convex_area = 13560.00000, extent = 0.77810, type = O + area = 12262.00000, perimeter = 443.16699, major_axis_length = 190.67964, minor_axis_length = 82.12513, eccentricity = 0.90250, convex_area = 12404.00000, extent = 0.61817, type = O + area = 11779.00000, perimeter = 440.97601, major_axis_length = 191.88248, minor_axis_length = 78.73443, eccentricity = 0.91194, convex_area = 11918.00000, extent = 0.58375, type = O + area = 12466.00000, perimeter = 453.44699, major_axis_length = 185.61612, minor_axis_length = 86.58857, eccentricity = 0.88453, convex_area = 12706.00000, extent = 0.60199, type = O + area = 11702.00000, perimeter = 432.77399, major_axis_length = 177.72461, minor_axis_length = 84.66332, eccentricity = 0.87924, convex_area = 11975.00000, extent = 0.59716, type = C + area = 13533.00000, perimeter = 473.93201, major_axis_length = 196.11755, minor_axis_length = 88.91679, eccentricity = 0.89131, convex_area = 13897.00000, extent = 0.60456, type = C + area = 15238.00000, perimeter = 506.11499, major_axis_length = 218.36040, minor_axis_length = 89.61969, eccentricity = 0.91190, convex_area = 15529.00000, extent = 0.54722, type = C + area = 13699.00000, perimeter = 480.72900, major_axis_length = 197.97092, minor_axis_length = 89.94907, eccentricity = 0.89082, convex_area = 14178.00000, extent = 0.67205, type = C + area = 10844.00000, perimeter = 412.66400, major_axis_length = 171.03000, minor_axis_length = 81.49285, eccentricity = 0.87918, convex_area = 11046.00000, extent = 0.81706, type = O + area = 12892.00000, perimeter = 473.52701, major_axis_length = 199.93919, minor_axis_length = 83.23553, eccentricity = 0.90923, convex_area = 13193.00000, extent = 0.56455, type = C + area = 12201.00000, perimeter = 443.45599, major_axis_length = 178.08556, minor_axis_length = 88.47781, eccentricity = 0.86785, convex_area = 12544.00000, extent = 0.63913, type = O + area = 15545.00000, perimeter = 510.28400, major_axis_length = 213.43665, minor_axis_length = 93.55502, eccentricity = 0.89882, convex_area = 15909.00000, extent = 0.56817, type = C + area = 13355.00000, perimeter = 466.31601, major_axis_length = 193.72868, minor_axis_length = 88.69730, eccentricity = 0.88903, convex_area = 13597.00000, extent = 0.60542, type = O + area = 10886.00000, perimeter = 409.73801, major_axis_length = 166.07925, minor_axis_length = 84.13434, eccentricity = 0.86219, convex_area = 11055.00000, extent = 0.68037, type = O + area = 10852.00000, perimeter = 412.64001, major_axis_length = 168.35570, minor_axis_length = 83.54549, eccentricity = 0.86818, convex_area = 11028.00000, extent = 0.77848, type = O + area = 11230.00000, perimeter = 422.71799, major_axis_length = 172.90004, minor_axis_length = 83.84802, eccentricity = 0.87454, convex_area = 11462.00000, extent = 0.60660, type = O + area = 11114.00000, perimeter = 413.07901, major_axis_length = 170.09941, minor_axis_length = 84.00699, eccentricity = 0.86954, convex_area = 11293.00000, extent = 0.76040, type = O + area = 11592.00000, perimeter = 428.42700, major_axis_length = 177.62151, minor_axis_length = 83.73835, eccentricity = 0.88190, convex_area = 11764.00000, extent = 0.75273, type = O + area = 10007.00000, perimeter = 391.45901, major_axis_length = 163.92862, minor_axis_length = 78.13725, eccentricity = 0.87909, convex_area = 10146.00000, extent = 0.80171, type = O + area = 16226.00000, perimeter = 524.20502, major_axis_length = 216.87326, minor_axis_length = 96.65368, eccentricity = 0.89520, convex_area = 16748.00000, extent = 0.64862, type = C + area = 12324.00000, perimeter = 465.66901, major_axis_length = 198.52171, minor_axis_length = 80.21651, eccentricity = 0.91473, convex_area = 12557.00000, extent = 0.64167, type = O + area = 14725.00000, perimeter = 472.90201, major_axis_length = 193.12355, minor_axis_length = 97.71609, eccentricity = 0.86255, convex_area = 15084.00000, extent = 0.63432, type = C + area = 12164.00000, perimeter = 443.72900, major_axis_length = 185.80194, minor_axis_length = 84.33198, eccentricity = 0.89106, convex_area = 12442.00000, extent = 0.63633, type = O + area = 12202.00000, perimeter = 442.36200, major_axis_length = 180.03778, minor_axis_length = 87.39918, eccentricity = 0.87426, convex_area = 12521.00000, extent = 0.77918, type = C + area = 14566.00000, perimeter = 498.02600, major_axis_length = 208.22543, minor_axis_length = 90.54054, eccentricity = 0.90052, convex_area = 14927.00000, extent = 0.56083, type = C + area = 12723.00000, perimeter = 465.94199, major_axis_length = 197.75232, minor_axis_length = 83.90300, eccentricity = 0.90553, convex_area = 12974.00000, extent = 0.68315, type = C + area = 13831.00000, perimeter = 483.61600, major_axis_length = 202.87578, minor_axis_length = 88.29086, eccentricity = 0.90034, convex_area = 14270.00000, extent = 0.59107, type = C + area = 13450.00000, perimeter = 470.97601, major_axis_length = 200.60817, minor_axis_length = 85.92672, eccentricity = 0.90362, convex_area = 13728.00000, extent = 0.56375, type = C + area = 13651.00000, perimeter = 502.07999, major_axis_length = 222.07356, minor_axis_length = 79.33727, eccentricity = 0.93401, convex_area = 14034.00000, extent = 0.79265, type = C + area = 12008.00000, perimeter = 440.51801, major_axis_length = 185.98866, minor_axis_length = 83.02412, eccentricity = 0.89484, convex_area = 12227.00000, extent = 0.69940, type = O + area = 14424.00000, perimeter = 497.76999, major_axis_length = 210.74310, minor_axis_length = 88.51710, eccentricity = 0.90751, convex_area = 14920.00000, extent = 0.55820, type = C + area = 11816.00000, perimeter = 446.10001, major_axis_length = 187.14316, minor_axis_length = 81.82019, eccentricity = 0.89936, convex_area = 12069.00000, extent = 0.74671, type = O + area = 13858.00000, perimeter = 490.57001, major_axis_length = 203.70947, minor_axis_length = 88.17393, eccentricity = 0.90147, convex_area = 14265.00000, extent = 0.65319, type = C + area = 13683.00000, perimeter = 481.57101, major_axis_length = 206.92677, minor_axis_length = 84.89906, eccentricity = 0.91196, convex_area = 13922.00000, extent = 0.76220, type = C + area = 13998.00000, perimeter = 484.88199, major_axis_length = 198.72130, minor_axis_length = 90.92341, eccentricity = 0.88919, convex_area = 14328.00000, extent = 0.59951, type = C + area = 10198.00000, perimeter = 400.19501, major_axis_length = 166.59412, minor_axis_length = 78.23194, eccentricity = 0.88288, convex_area = 10351.00000, extent = 0.62499, type = O + area = 10774.00000, perimeter = 401.74200, major_axis_length = 164.32024, minor_axis_length = 83.71887, eccentricity = 0.86048, convex_area = 10944.00000, extent = 0.66179, type = O + area = 10037.00000, perimeter = 395.34000, major_axis_length = 164.24315, minor_axis_length = 78.49976, eccentricity = 0.87839, convex_area = 10210.00000, extent = 0.76490, type = O + area = 12274.00000, perimeter = 453.12900, major_axis_length = 190.98404, minor_axis_length = 82.71131, eccentricity = 0.90136, convex_area = 12466.00000, extent = 0.56035, type = O + area = 12861.00000, perimeter = 471.92099, major_axis_length = 193.25092, minor_axis_length = 86.45822, eccentricity = 0.89434, convex_area = 13330.00000, extent = 0.63342, type = C + area = 15556.00000, perimeter = 510.51001, major_axis_length = 217.10223, minor_axis_length = 92.77322, eccentricity = 0.90410, convex_area = 15781.00000, extent = 0.60742, type = C + area = 14471.00000, perimeter = 503.67401, major_axis_length = 207.92873, minor_axis_length = 90.16022, eccentricity = 0.90110, convex_area = 14894.00000, extent = 0.55495, type = C + area = 12378.00000, perimeter = 454.06201, major_axis_length = 195.47214, minor_axis_length = 81.28996, eccentricity = 0.90943, convex_area = 12570.00000, extent = 0.55656, type = O + area = 11068.00000, perimeter = 423.97299, major_axis_length = 172.01558, minor_axis_length = 82.98537, eccentricity = 0.87593, convex_area = 11323.00000, extent = 0.60530, type = O + area = 13089.00000, perimeter = 458.07700, major_axis_length = 182.10921, minor_axis_length = 92.58980, eccentricity = 0.86110, convex_area = 13562.00000, extent = 0.71291, type = O + area = 14002.00000, perimeter = 490.57001, major_axis_length = 209.33427, minor_axis_length = 86.14631, eccentricity = 0.91140, convex_area = 14336.00000, extent = 0.65691, type = C + area = 12638.00000, perimeter = 454.56100, major_axis_length = 187.56937, minor_axis_length = 86.98496, eccentricity = 0.88597, convex_area = 12902.00000, extent = 0.76859, type = O + area = 13093.00000, perimeter = 470.10001, major_axis_length = 197.19702, minor_axis_length = 85.79729, eccentricity = 0.90039, convex_area = 13358.00000, extent = 0.55739, type = O + area = 14560.00000, perimeter = 487.12900, major_axis_length = 200.73952, minor_axis_length = 93.22659, eccentricity = 0.88562, convex_area = 14867.00000, extent = 0.67345, type = C + area = 14723.00000, perimeter = 491.05499, major_axis_length = 204.17567, minor_axis_length = 93.06549, eccentricity = 0.89008, convex_area = 15021.00000, extent = 0.57568, type = C + area = 13272.00000, perimeter = 474.92700, major_axis_length = 195.77855, minor_axis_length = 87.16515, eccentricity = 0.89542, convex_area = 13597.00000, extent = 0.58606, type = C + area = 15600.00000, perimeter = 502.84299, major_axis_length = 205.27551, minor_axis_length = 99.05281, eccentricity = 0.87588, convex_area = 16130.00000, extent = 0.72142, type = C + area = 14451.00000, perimeter = 487.22000, major_axis_length = 201.29469, minor_axis_length = 92.73952, eccentricity = 0.88755, convex_area = 14776.00000, extent = 0.64727, type = C + area = 10664.00000, perimeter = 414.93900, major_axis_length = 168.07909, minor_axis_length = 81.73141, eccentricity = 0.87381, convex_area = 10929.00000, extent = 0.64536, type = O + area = 14136.00000, perimeter = 488.96799, major_axis_length = 203.39066, minor_axis_length = 89.78699, eccentricity = 0.89729, convex_area = 14475.00000, extent = 0.59206, type = C + area = 12613.00000, perimeter = 459.91299, major_axis_length = 193.37215, minor_axis_length = 84.31453, eccentricity = 0.89994, convex_area = 12937.00000, extent = 0.62789, type = O + area = 15975.00000, perimeter = 522.80402, major_axis_length = 218.41768, minor_axis_length = 94.04413, eccentricity = 0.90256, convex_area = 16290.00000, extent = 0.56764, type = C + area = 10712.00000, perimeter = 417.25101, major_axis_length = 174.89871, minor_axis_length = 79.08196, eccentricity = 0.89194, convex_area = 10940.00000, extent = 0.58382, type = O + area = 12153.00000, perimeter = 451.21100, major_axis_length = 187.76920, minor_axis_length = 83.64883, eccentricity = 0.89529, convex_area = 12497.00000, extent = 0.70649, type = C + area = 10775.00000, perimeter = 414.99799, major_axis_length = 165.72896, minor_axis_length = 84.27123, eccentricity = 0.86107, convex_area = 11036.00000, extent = 0.63446, type = O + area = 11443.00000, perimeter = 427.23099, major_axis_length = 176.98198, minor_axis_length = 82.91759, eccentricity = 0.88346, convex_area = 11618.00000, extent = 0.62898, type = O + area = 14456.00000, perimeter = 492.95099, major_axis_length = 212.41122, minor_axis_length = 87.36013, eccentricity = 0.91151, convex_area = 14726.00000, extent = 0.79503, type = C + area = 11599.00000, perimeter = 431.05600, major_axis_length = 171.99739, minor_axis_length = 86.98845, eccentricity = 0.86268, convex_area = 11913.00000, extent = 0.77966, type = O + area = 12620.00000, perimeter = 458.88699, major_axis_length = 193.89642, minor_axis_length = 84.08607, eccentricity = 0.90107, convex_area = 12866.00000, extent = 0.75253, type = O + area = 11350.00000, perimeter = 445.82101, major_axis_length = 195.95209, minor_axis_length = 74.59088, eccentricity = 0.92472, convex_area = 11544.00000, extent = 0.58430, type = C + area = 12496.00000, perimeter = 449.74100, major_axis_length = 181.12390, minor_axis_length = 89.78374, eccentricity = 0.86849, convex_area = 12870.00000, extent = 0.68355, type = O + area = 11719.00000, perimeter = 430.51199, major_axis_length = 175.51746, minor_axis_length = 86.51001, eccentricity = 0.87009, convex_area = 12000.00000, extent = 0.69931, type = O diff --git a/cmake-build-relwithdebinfo/run_0/regress.stt b/cmake-build-relwithdebinfo/run_0/regress.stt new file mode 100644 index 0000000..0432b1c --- /dev/null +++ b/cmake-build-relwithdebinfo/run_0/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.9616 0.9987 0.0000 17.863 3.442 55 6 68 6 0.9616 0.9987 0.0000 17.863 3.442 55 6 68 6 +1 0 0.9915 0.9987 0.0000 16.703 3.620 55 6 68 6 0.9765 0.9987 0.0000 17.283 3.531 55 6 68 6 +2 0 0.9916 0.9988 0.0000 16.623 3.767 28 5 31 8 0.9816 0.9988 0.0000 17.063 3.610 28 5 68 6 +3 0 0.9912 0.9989 0.0000 16.416 3.877 77 8 43 7 0.9840 0.9989 0.0000 16.901 3.676 77 8 68 6 +4 0 0.9936 0.9989 0.0000 15.961 3.923 77 8 21 5 0.9859 0.9989 0.0000 16.713 3.726 77 8 68 6 +5 0 0.9920 0.9989 0.0000 15.845 3.993 77 8 33 7 0.9869 0.9989 0.0000 16.569 3.770 77 8 68 6 +6 0 0.9918 0.9989 0.0000 15.848 4.079 77 8 21 6 0.9876 0.9989 0.0000 16.466 3.814 77 8 68 6 +7 0 0.9941 0.9989 0.0000 15.415 4.085 77 8 68 8 0.9884 0.9989 0.0000 16.334 3.848 77 8 68 6 +8 0 0.9946 0.9989 0.0000 15.306 4.146 77 8 24 6 0.9891 0.9989 0.0000 16.220 3.881 77 8 68 6 +9 0 0.9936 0.9989 0.0000 14.837 4.108 79 9 35 8 0.9896 0.9989 0.0000 16.082 3.904 79 9 68 6 +10 0 0.9934 0.9989 0.0000 14.882 4.155 79 9 21 6 0.9899 0.9989 0.0000 15.973 3.927 79 9 68 6 +11 0 0.9946 0.9989 0.0000 14.887 4.211 79 9 16 7 0.9903 0.9989 0.0000 15.882 3.950 79 9 68 6 +12 0 0.9938 0.9989 0.0000 14.756 4.252 79 9 42 7 0.9906 0.9989 0.0000 15.796 3.974 79 9 68 6 +13 0 0.9950 0.9989 0.0000 14.275 4.166 79 9 15 6 0.9909 0.9989 0.0000 15.687 3.987 79 9 68 6 +14 0 0.9952 0.9989 0.0000 13.784 4.127 79 9 11 5 0.9912 0.9989 0.0000 15.560 3.997 79 9 68 6 +15 0 0.9942 0.9989 0.0000 13.808 4.194 79 9 20 7 0.9913 0.9989 0.0000 15.451 4.009 79 9 68 6 +16 0 0.9956 0.9989 0.0000 13.581 4.127 79 9 69 9 0.9916 0.9989 0.0000 15.341 4.016 79 9 68 6 +17 0 0.9970 0.9989 0.0000 13.289 4.163 79 9 20 8 0.9919 0.9989 0.0000 15.227 4.024 79 9 68 6 +18 0 0.9954 0.9989 0.0000 13.146 4.162 79 9 49 16 0.9921 0.9989 0.0000 15.117 4.031 79 9 68 6 +19 0 0.9958 0.9989 0.0000 13.016 4.150 79 9 33 14 0.9923 0.9989 0.0000 15.012 4.037 79 9 68 6 +20 0 0.9962 0.9989 0.0000 12.673 4.100 79 9 20 10 0.9925 0.9989 0.0000 14.901 4.040 79 9 68 6 +21 0 0.9950 0.9989 0.0000 12.626 4.075 79 9 16 5 0.9926 0.9989 0.0000 14.797 4.042 79 9 68 6 +22 0 0.9968 0.9989 0.0000 12.419 4.095 79 9 17 6 0.9928 0.9989 0.0000 14.694 4.044 79 9 68 6 +23 0 0.9960 0.9989 0.0000 12.492 4.117 79 9 58 16 0.9929 0.9989 0.0000 14.602 4.047 79 9 68 6 +24 0 0.9964 0.9989 0.0000 12.377 4.095 79 9 22 7 0.9930 0.9989 0.0000 14.513 4.049 79 9 68 6 +25 0 0.9962 0.9989 0.0000 12.438 4.122 79 9 39 11 0.9931 0.9989 0.0000 14.433 4.052 79 9 68 6 +26 0 0.9962 0.9989 0.0000 12.138 4.044 79 9 61 8 0.9933 0.9989 0.0000 14.348 4.052 79 9 68 6 +27 0 0.9970 0.9989 0.0000 11.974 4.054 79 9 36 10 0.9934 0.9989 0.0000 14.264 4.052 79 9 68 6 +28 0 0.9966 0.9989 0.0000 11.865 4.040 79 9 12 4 0.9935 0.9989 0.0000 14.181 4.051 79 9 68 6 +29 0 0.9954 0.9989 0.0000 12.073 4.116 79 9 18 7 0.9936 0.9989 0.0000 14.111 4.053 79 9 68 6 +30 0 0.9954 0.9989 0.0000 11.907 4.092 79 9 16 5 0.9936 0.9989 0.0000 14.040 4.055 79 9 68 6 +31 0 0.9960 0.9989 0.0000 11.632 3.986 79 9 9 4 0.9937 0.9989 0.0000 13.964 4.053 79 9 68 6 +32 0 0.9972 0.9989 0.0000 11.502 3.965 79 9 95 15 0.9938 0.9989 0.0000 13.890 4.050 79 9 68 6 +33 0 0.9962 0.9989 0.0000 11.476 3.959 79 9 39 11 0.9939 0.9989 0.0000 13.819 4.047 79 9 68 6 +34 0 0.9958 0.9989 0.0000 11.518 4.007 79 9 55 14 0.9939 0.9989 0.0000 13.753 4.046 79 9 68 6 +35 0 0.9966 0.9989 0.0000 11.174 3.949 79 9 11 4 0.9940 0.9989 0.0000 13.681 4.043 79 9 68 6 +36 0 0.9958 0.9989 0.0000 10.916 3.881 79 9 20 7 0.9941 0.9989 0.0000 13.607 4.039 79 9 68 6 +37 0 0.9962 0.9989 0.0000 10.644 3.790 79 9 17 7 0.9941 0.9989 0.0000 13.529 4.032 79 9 68 6 +38 0 0.9964 0.9989 0.0000 10.825 3.834 79 9 31 7 0.9942 0.9989 0.0000 13.459 4.027 79 9 68 6 +39 0 0.9964 0.9989 0.0000 10.776 3.824 79 9 29 7 0.9942 0.9989 0.0000 13.392 4.022 79 9 68 6 +40 0 0.9964 0.9989 0.0000 10.800 3.838 79 9 29 12 0.9943 0.9989 0.0000 13.329 4.018 79 9 68 6 +41 0 0.9962 0.9989 0.0000 10.557 3.758 79 9 45 7 0.9943 0.9989 0.0000 13.263 4.012 79 9 68 6 +42 0 0.9974 0.9989 0.0000 10.530 3.737 79 9 12 5 0.9944 0.9989 0.0000 13.199 4.005 79 9 68 6 +43 0 0.9950 0.9989 0.0000 10.365 3.747 79 9 10 3 0.9944 0.9989 0.0000 13.135 3.999 79 9 68 6 +44 0 0.9972 0.9989 0.0000 10.287 3.733 79 9 24 6 0.9945 0.9989 0.0000 13.072 3.993 79 9 68 6 +45 0 0.9966 0.9989 0.0000 10.082 3.696 79 9 28 8 0.9945 0.9989 0.0000 13.007 3.987 79 9 68 6 +46 0 0.9970 0.9989 0.0000 9.984 3.640 79 9 22 5 0.9946 0.9989 0.0000 12.942 3.980 79 9 68 6 +47 0 0.9976 0.9989 0.0000 9.851 3.620 79 9 22 7 0.9946 0.9989 0.0000 12.878 3.972 79 9 68 6 +48 0 0.9976 0.9989 0.0000 9.884 3.616 79 9 6 3 0.9947 0.9989 0.0000 12.817 3.965 79 9 68 6 +49 0 0.9968 0.9989 0.0000 9.953 3.627 79 9 13 4 0.9947 0.9989 0.0000 12.760 3.958 79 9 68 6 +50 0 0.9966 0.9989 0.0000 9.725 3.559 79 9 24 7 0.9948 0.9989 0.0000 12.700 3.950 79 9 68 6 diff --git a/cmake-build-relwithdebinfo/run_0/regress.sys b/cmake-build-relwithdebinfo/run_0/regress.sys new file mode 100644 index 0000000..4407af2 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_0/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - exp log area perimeter major minor eccentricity convex extent R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 310. +creating initial population(s): + 7431 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (1s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 81843997 + freed: 81795997 + not freed: 48000 + max allocated: 2510942 + malloc'ed blocks: 830013 + realloc'ed blocks: 7 + free'ed blocks: 830007 + +------- time ------- + overall: 57s wall + evaluation: 54s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 8085 + freed: 8085 + allocated: 5500 + blocks: 10 diff --git a/cmake-build-relwithdebinfo/run_1/regress.bst b/cmake-build-relwithdebinfo/run_1/regress.bst new file mode 100644 index 0000000..e93d8dc --- /dev/null +++ b/cmake-build-relwithdebinfo/run_1/regress.bst @@ -0,0 +1,26 @@ +=== BEST-OF-RUN === + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +TREE-equ: +y = (exp(((major / log(convex)) - log((-0.45715 * log(area))))) - exp((log((perimeter * log(-0.26317))) + ((log(log(area)) + log(area)) - ((extent / perimeter) - 0.37683))))) diff --git a/cmake-build-relwithdebinfo/run_1/regress.fn b/cmake-build-relwithdebinfo/run_1/regress.fn new file mode 100644 index 0000000..f0c0819 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_1/regress.fn @@ -0,0 +1,18 @@ +Hits: 2547, Total Size: 2810, Percent Hit: 90.640569 +CC: 1089 +CO: 60 +OO: 1458 +OC: 203 + + +y = (exp(((major / log(convex)) - log((-0.45715 * log(area))))) - exp((log((perimeter * log(-0.26317))) + ((log(log(area)) + log(area)) - ((extent / perimeter) - 0.37683))))) + + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) diff --git a/cmake-build-relwithdebinfo/run_1/regress.gen b/cmake-build-relwithdebinfo/run_1/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/run_1/regress.his b/cmake-build-relwithdebinfo/run_1/regress.his new file mode 100644 index 0000000..63ccbb4 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_1/regress.his @@ -0,0 +1,1165 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 10 + depth: 6 + hits: 750 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 750 + raw fitness: 750.0000 + standardized fitness: 750.0000 + adjusted fitness: 0.9987 +TREE: + (log (exp (log (log (- (exp eccentricity) + (/ perimeter minor)))))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 21 + depth: 6 + hits: 782 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 782 + raw fitness: 782.0000 + standardized fitness: 782.0000 + adjusted fitness: 0.9987 +TREE: + (log (+ (* (exp eccentricity) + (- (/ (log area) + (log area)) + (+ (/ eccentricity major) + (log major)))) + (log (+ perimeter convex)))) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 18 + depth: 5 + hits: 815 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 815 + raw fitness: 815.0000 + standardized fitness: 815.0000 + adjusted fitness: 0.9988 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log minor)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 3 + generation: 2 + nodes: 18 + depth: 5 + hits: 815 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 815 + raw fitness: 815.0000 + standardized fitness: 815.0000 + adjusted fitness: 0.9988 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log minor)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 4 + generation: 2 + nodes: 18 + depth: 5 + hits: 815 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 815 + raw fitness: 815.0000 + standardized fitness: 815.0000 + adjusted fitness: 0.9988 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log minor)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 5 + generation: 2 + nodes: 18 + depth: 5 + hits: 815 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 815 + raw fitness: 815.0000 + standardized fitness: 815.0000 + adjusted fitness: 0.9988 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log minor)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 6 + generation: 2 + nodes: 18 + depth: 5 + hits: 815 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 815 + raw fitness: 815.0000 + standardized fitness: 815.0000 + adjusted fitness: 0.9988 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log minor)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 7 + generation: 2 + nodes: 18 + depth: 5 + hits: 815 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 815 + raw fitness: 815.0000 + standardized fitness: 815.0000 + adjusted fitness: 0.9988 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log minor)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 8 + generation: 2 + nodes: 18 + depth: 5 + hits: 815 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 815 + raw fitness: 815.0000 + standardized fitness: 815.0000 + adjusted fitness: 0.9988 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log minor)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 9 + generation: 2 + nodes: 18 + depth: 5 + hits: 815 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 815 + raw fitness: 815.0000 + standardized fitness: 815.0000 + adjusted fitness: 0.9988 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log minor)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 10 + generation: 2 + nodes: 18 + depth: 5 + hits: 815 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 815 + raw fitness: 815.0000 + standardized fitness: 815.0000 + adjusted fitness: 0.9988 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log minor)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 11 + generation: 2 + nodes: 18 + depth: 5 + hits: 815 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 815 + raw fitness: 815.0000 + standardized fitness: 815.0000 + adjusted fitness: 0.9988 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log minor)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 12 + generation: 2 + nodes: 18 + depth: 5 + hits: 815 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 815 + raw fitness: 815.0000 + standardized fitness: 815.0000 + adjusted fitness: 0.9988 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log minor)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 13 + generation: 2 + nodes: 18 + depth: 5 + hits: 815 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 815 + raw fitness: 815.0000 + standardized fitness: 815.0000 + adjusted fitness: 0.9988 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log minor)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 18 + depth: 5 + hits: 883 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 883 + raw fitness: 883.0000 + standardized fitness: 883.0000 + adjusted fitness: 0.9989 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log major)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 15 + generation: 14 + nodes: 18 + depth: 5 + hits: 883 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 883 + raw fitness: 883.0000 + standardized fitness: 883.0000 + adjusted fitness: 0.9989 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log major)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 16 + generation: 14 + nodes: 18 + depth: 5 + hits: 883 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 883 + raw fitness: 883.0000 + standardized fitness: 883.0000 + adjusted fitness: 0.9989 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log major)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 17 + generation: 14 + nodes: 18 + depth: 5 + hits: 883 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 883 + raw fitness: 883.0000 + standardized fitness: 883.0000 + adjusted fitness: 0.9989 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log major)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 18 + generation: 14 + nodes: 18 + depth: 5 + hits: 883 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 883 + raw fitness: 883.0000 + standardized fitness: 883.0000 + adjusted fitness: 0.9989 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log major)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 19 + generation: 14 + nodes: 18 + depth: 5 + hits: 883 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 883 + raw fitness: 883.0000 + standardized fitness: 883.0000 + adjusted fitness: 0.9989 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log major)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 20 + generation: 14 + nodes: 18 + depth: 5 + hits: 883 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 883 + raw fitness: 883.0000 + standardized fitness: 883.0000 + adjusted fitness: 0.9989 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log major)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 21 + generation: 14 + nodes: 18 + depth: 5 + hits: 883 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 883 + raw fitness: 883.0000 + standardized fitness: 883.0000 + adjusted fitness: 0.9989 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log major)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 22 + generation: 14 + nodes: 18 + depth: 5 + hits: 883 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 883 + raw fitness: 883.0000 + standardized fitness: 883.0000 + adjusted fitness: 0.9989 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log major)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 23 + generation: 14 + nodes: 18 + depth: 5 + hits: 883 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 883 + raw fitness: 883.0000 + standardized fitness: 883.0000 + adjusted fitness: 0.9989 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log major)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 24 + generation: 14 + nodes: 18 + depth: 5 + hits: 883 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 883 + raw fitness: 883.0000 + standardized fitness: 883.0000 + adjusted fitness: 0.9989 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log major)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 25 + generation: 14 + nodes: 18 + depth: 5 + hits: 883 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 883 + raw fitness: 883.0000 + standardized fitness: 883.0000 + adjusted fitness: 0.9989 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log major)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 26 + generation: 14 + nodes: 18 + depth: 5 + hits: 883 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 883 + raw fitness: 883.0000 + standardized fitness: 883.0000 + adjusted fitness: 0.9989 +TREE: + (- (* (- (- -0.86773 0.33652) + (log minor)) + (log (/ (/ minor eccentricity) + (log major)))) + (* major -0.08692)) +=== BEST-OF-RUN === + current generation: 27 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 28 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 29 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 30 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 31 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 32 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 33 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 34 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 35 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 36 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 37 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 38 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 39 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 40 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 41 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 42 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 43 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 44 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 45 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 46 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 47 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 48 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 49 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) +=== BEST-OF-RUN === + current generation: 50 + generation: 27 + nodes: 31 + depth: 7 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (- (exp (- (/ major + (log convex)) + (log (* -0.45715 + (log area))))) + (exp (+ (log (* perimeter + (log -0.26317))) + (- (+ (log (log area)) + (log area)) + (- (/ extent perimeter) 0.37683))))) diff --git a/cmake-build-relwithdebinfo/run_1/regress.prg b/cmake-build-relwithdebinfo/run_1/regress.prg new file mode 100644 index 0000000..a2238c1 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_1/regress.prg @@ -0,0 +1,1002 @@ +not starting from checkpoint file. +1000 fitness cases: + area = 10088.00000, perimeter = 406.66101, major_axis_length = 169.06802, minor_axis_length = 77.43073, eccentricity = 0.88896, convex_area = 10331.00000, extent = 0.67596, type = O + area = 15783.00000, perimeter = 510.19400, major_axis_length = 219.55177, minor_axis_length = 92.24811, eccentricity = 0.90745, convex_area = 16024.00000, extent = 0.79793, type = C + area = 12848.00000, perimeter = 455.64499, major_axis_length = 184.63605, minor_axis_length = 90.01098, eccentricity = 0.87312, convex_area = 13227.00000, extent = 0.69016, type = O + area = 13404.00000, perimeter = 476.20599, major_axis_length = 203.31157, minor_axis_length = 84.62199, eccentricity = 0.90926, convex_area = 13751.00000, extent = 0.63466, type = C + area = 11234.00000, perimeter = 425.93100, major_axis_length = 176.30199, minor_axis_length = 82.10153, eccentricity = 0.88495, convex_area = 11452.00000, extent = 0.65558, type = O + area = 8702.00000, perimeter = 381.20599, major_axis_length = 160.71883, minor_axis_length = 69.73335, eccentricity = 0.90097, convex_area = 8924.00000, extent = 0.64117, type = O + area = 10800.00000, perimeter = 406.48300, major_axis_length = 163.40897, minor_axis_length = 85.19110, eccentricity = 0.85335, convex_area = 10960.00000, extent = 0.63066, type = O + area = 13970.00000, perimeter = 494.65399, major_axis_length = 211.74269, minor_axis_length = 85.07025, eccentricity = 0.91574, convex_area = 14280.00000, extent = 0.69627, type = C + area = 15223.00000, perimeter = 514.90698, major_axis_length = 220.36856, minor_axis_length = 89.43638, eccentricity = 0.91394, convex_area = 15492.00000, extent = 0.55028, type = C + area = 13724.00000, perimeter = 481.77100, major_axis_length = 200.89267, minor_axis_length = 88.16832, eccentricity = 0.89854, convex_area = 14038.00000, extent = 0.67954, type = C + area = 8990.00000, perimeter = 389.37701, major_axis_length = 157.74960, minor_axis_length = 73.91918, eccentricity = 0.88342, convex_area = 9297.00000, extent = 0.62526, type = O + area = 11031.00000, perimeter = 421.29099, major_axis_length = 172.66736, minor_axis_length = 82.59618, eccentricity = 0.87817, convex_area = 11298.00000, extent = 0.72879, type = O + area = 14458.00000, perimeter = 475.04401, major_axis_length = 196.98611, minor_axis_length = 93.99989, eccentricity = 0.87880, convex_area = 14669.00000, extent = 0.60189, type = C + area = 12089.00000, perimeter = 440.72601, major_axis_length = 179.96233, minor_axis_length = 86.65957, eccentricity = 0.87642, convex_area = 12390.00000, extent = 0.66687, type = O + area = 11259.00000, perimeter = 421.50500, major_axis_length = 172.21184, minor_axis_length = 84.22155, eccentricity = 0.87225, convex_area = 11522.00000, extent = 0.79367, type = O + area = 11386.00000, perimeter = 431.78500, major_axis_length = 176.87677, minor_axis_length = 83.32333, eccentricity = 0.88209, convex_area = 11713.00000, extent = 0.68098, type = O + area = 12861.00000, perimeter = 455.86600, major_axis_length = 191.82275, minor_axis_length = 86.29829, eccentricity = 0.89309, convex_area = 13058.00000, extent = 0.58672, type = C + area = 11511.00000, perimeter = 439.51300, major_axis_length = 183.24234, minor_axis_length = 81.79848, eccentricity = 0.89484, convex_area = 11736.00000, extent = 0.57317, type = O + area = 12539.00000, perimeter = 437.42599, major_axis_length = 174.90057, minor_axis_length = 92.72463, eccentricity = 0.84790, convex_area = 12835.00000, extent = 0.78738, type = O + area = 12684.00000, perimeter = 461.35800, major_axis_length = 198.20212, minor_axis_length = 81.89428, eccentricity = 0.91065, convex_area = 12912.00000, extent = 0.54710, type = C + area = 14675.00000, perimeter = 493.27301, major_axis_length = 206.79372, minor_axis_length = 91.58907, eccentricity = 0.89657, convex_area = 15039.00000, extent = 0.56617, type = C + area = 13824.00000, perimeter = 491.62000, major_axis_length = 206.38902, minor_axis_length = 86.85488, eccentricity = 0.90714, convex_area = 14268.00000, extent = 0.63387, type = C + area = 12397.00000, perimeter = 433.35199, major_axis_length = 171.60930, minor_axis_length = 92.98810, eccentricity = 0.84047, convex_area = 12631.00000, extent = 0.63477, type = O + area = 11973.00000, perimeter = 438.14801, major_axis_length = 178.08878, minor_axis_length = 87.27425, eccentricity = 0.87169, convex_area = 12367.00000, extent = 0.62712, type = O + area = 12025.00000, perimeter = 447.22699, major_axis_length = 184.91464, minor_axis_length = 84.14797, eccentricity = 0.89046, convex_area = 12373.00000, extent = 0.64703, type = O + area = 12676.00000, perimeter = 437.95599, major_axis_length = 178.23711, minor_axis_length = 91.69775, eccentricity = 0.85751, convex_area = 12887.00000, extent = 0.69124, type = O + area = 15613.00000, perimeter = 509.76099, major_axis_length = 210.27808, minor_axis_length = 96.02433, eccentricity = 0.88964, convex_area = 15975.00000, extent = 0.57260, type = C + area = 10187.00000, perimeter = 404.96799, major_axis_length = 160.22644, minor_axis_length = 82.32900, eccentricity = 0.85789, convex_area = 10489.00000, extent = 0.61627, type = O + area = 13361.00000, perimeter = 456.74500, major_axis_length = 183.19627, minor_axis_length = 93.64111, eccentricity = 0.85949, convex_area = 13610.00000, extent = 0.68560, type = O + area = 16138.00000, perimeter = 531.05902, major_axis_length = 224.34721, minor_axis_length = 92.94733, eccentricity = 0.91014, convex_area = 16482.00000, extent = 0.53966, type = C + area = 15545.00000, perimeter = 516.86902, major_axis_length = 217.11868, minor_axis_length = 92.24694, eccentricity = 0.90525, convex_area = 16019.00000, extent = 0.65749, type = C + area = 12655.00000, perimeter = 459.90500, major_axis_length = 192.99480, minor_axis_length = 84.90269, eccentricity = 0.89804, convex_area = 12959.00000, extent = 0.64533, type = C + area = 9346.00000, perimeter = 383.74399, major_axis_length = 158.04887, minor_axis_length = 75.98289, eccentricity = 0.87685, convex_area = 9539.00000, extent = 0.67902, type = O + area = 15373.00000, perimeter = 522.21100, major_axis_length = 229.49373, minor_axis_length = 86.34157, eccentricity = 0.92653, convex_area = 15757.00000, extent = 0.67160, type = C + area = 12000.00000, perimeter = 440.48700, major_axis_length = 181.43523, minor_axis_length = 84.99417, eccentricity = 0.88349, convex_area = 12196.00000, extent = 0.63776, type = O + area = 12749.00000, perimeter = 443.43701, major_axis_length = 177.17320, minor_axis_length = 92.91598, eccentricity = 0.85145, convex_area = 13028.00000, extent = 0.74010, type = O + area = 8679.00000, perimeter = 380.60101, major_axis_length = 158.23526, minor_axis_length = 70.78799, eccentricity = 0.89435, convex_area = 8889.00000, extent = 0.71804, type = O + area = 14712.00000, perimeter = 496.03601, major_axis_length = 212.73993, minor_axis_length = 89.09264, eccentricity = 0.90808, convex_area = 14925.00000, extent = 0.73395, type = C + area = 16625.00000, perimeter = 535.98901, major_axis_length = 229.79359, minor_axis_length = 93.08962, eccentricity = 0.91427, convex_area = 16951.00000, extent = 0.65414, type = C + area = 10541.00000, perimeter = 406.53601, major_axis_length = 162.99107, minor_axis_length = 83.69826, eccentricity = 0.85808, convex_area = 10901.00000, extent = 0.77462, type = O + area = 11185.00000, perimeter = 414.18100, major_axis_length = 170.01825, minor_axis_length = 84.11061, eccentricity = 0.86906, convex_area = 11370.00000, extent = 0.62208, type = O + area = 12918.00000, perimeter = 459.82800, major_axis_length = 193.34657, minor_axis_length = 86.05883, eccentricity = 0.89548, convex_area = 13179.00000, extent = 0.77670, type = O + area = 14788.00000, perimeter = 480.96201, major_axis_length = 199.06255, minor_axis_length = 95.53792, eccentricity = 0.87730, convex_area = 15044.00000, extent = 0.65751, type = C + area = 13256.00000, perimeter = 462.72400, major_axis_length = 194.14876, minor_axis_length = 87.72887, eccentricity = 0.89209, convex_area = 13465.00000, extent = 0.64742, type = C + area = 15977.00000, perimeter = 516.20898, major_axis_length = 216.75784, minor_axis_length = 94.92934, eccentricity = 0.89900, convex_area = 16401.00000, extent = 0.62751, type = C + area = 12292.00000, perimeter = 457.28601, major_axis_length = 194.88832, minor_axis_length = 80.99094, eccentricity = 0.90956, convex_area = 12561.00000, extent = 0.56383, type = C + area = 14640.00000, perimeter = 501.32401, major_axis_length = 210.29160, minor_axis_length = 90.33173, eccentricity = 0.90304, convex_area = 15119.00000, extent = 0.58654, type = C + area = 15249.00000, perimeter = 506.04999, major_axis_length = 212.09094, minor_axis_length = 92.49422, eccentricity = 0.89990, convex_area = 15582.00000, extent = 0.78304, type = C + area = 10351.00000, perimeter = 408.99600, major_axis_length = 168.56789, minor_axis_length = 78.96164, eccentricity = 0.88350, convex_area = 10526.00000, extent = 0.59410, type = O + area = 11957.00000, perimeter = 437.44699, major_axis_length = 176.08249, minor_axis_length = 87.90864, eccentricity = 0.86646, convex_area = 12314.00000, extent = 0.60444, type = O + area = 12770.00000, perimeter = 451.73999, major_axis_length = 191.07309, minor_axis_length = 86.15910, eccentricity = 0.89256, convex_area = 12910.00000, extent = 0.58098, type = O + area = 12609.00000, perimeter = 475.35999, major_axis_length = 202.75441, minor_axis_length = 81.27372, eccentricity = 0.91614, convex_area = 13210.00000, extent = 0.70694, type = C + area = 11907.00000, perimeter = 448.16501, major_axis_length = 185.98116, minor_axis_length = 82.81884, eccentricity = 0.89538, convex_area = 12209.00000, extent = 0.56538, type = O + area = 14862.00000, perimeter = 507.48999, major_axis_length = 216.32031, minor_axis_length = 88.60250, eccentricity = 0.91227, convex_area = 15125.00000, extent = 0.77527, type = C + area = 12146.00000, perimeter = 442.24701, major_axis_length = 176.50616, minor_axis_length = 89.75159, eccentricity = 0.86107, convex_area = 12502.00000, extent = 0.77541, type = O + area = 12495.00000, perimeter = 451.31699, major_axis_length = 182.64162, minor_axis_length = 88.68121, eccentricity = 0.87421, convex_area = 12902.00000, extent = 0.59061, type = O + area = 13645.00000, perimeter = 454.61499, major_axis_length = 182.60464, minor_axis_length = 95.70824, eccentricity = 0.85164, convex_area = 13819.00000, extent = 0.62753, type = O + area = 12840.00000, perimeter = 470.09601, major_axis_length = 199.26149, minor_axis_length = 82.79353, eccentricity = 0.90959, convex_area = 13072.00000, extent = 0.55787, type = O + area = 14753.00000, perimeter = 495.26001, major_axis_length = 203.72470, minor_axis_length = 93.18322, eccentricity = 0.88926, convex_area = 15153.00000, extent = 0.63465, type = O + area = 13050.00000, perimeter = 460.81900, major_axis_length = 187.39630, minor_axis_length = 89.79348, eccentricity = 0.87773, convex_area = 13379.00000, extent = 0.59600, type = O + area = 13921.00000, perimeter = 486.38800, major_axis_length = 203.18417, minor_axis_length = 88.83796, eccentricity = 0.89935, convex_area = 14334.00000, extent = 0.58019, type = C + area = 12040.00000, perimeter = 441.02301, major_axis_length = 182.75281, minor_axis_length = 85.15115, eccentricity = 0.88482, convex_area = 12372.00000, extent = 0.74741, type = C + area = 13523.00000, perimeter = 468.16699, major_axis_length = 195.40154, minor_axis_length = 88.65400, eccentricity = 0.89115, convex_area = 13811.00000, extent = 0.66793, type = C + area = 9711.00000, perimeter = 396.46899, major_axis_length = 166.69046, minor_axis_length = 74.74411, eccentricity = 0.89383, convex_area = 9859.00000, extent = 0.58783, type = O + area = 14331.00000, perimeter = 495.14301, major_axis_length = 212.02896, minor_axis_length = 86.86129, eccentricity = 0.91224, convex_area = 14723.00000, extent = 0.66578, type = C + area = 11669.00000, perimeter = 432.09900, major_axis_length = 175.27705, minor_axis_length = 86.84153, eccentricity = 0.86863, convex_area = 11886.00000, extent = 0.77980, type = O + area = 12070.00000, perimeter = 432.86801, major_axis_length = 177.19440, minor_axis_length = 87.37621, eccentricity = 0.86997, convex_area = 12283.00000, extent = 0.76277, type = O + area = 10975.00000, perimeter = 412.73801, major_axis_length = 169.45012, minor_axis_length = 83.24361, eccentricity = 0.87101, convex_area = 11149.00000, extent = 0.78708, type = O + area = 14330.00000, perimeter = 493.18500, major_axis_length = 209.76732, minor_axis_length = 87.89895, eccentricity = 0.90797, convex_area = 14701.00000, extent = 0.61960, type = C + area = 14304.00000, perimeter = 489.03699, major_axis_length = 211.02661, minor_axis_length = 86.83942, eccentricity = 0.91141, convex_area = 14483.00000, extent = 0.57773, type = C + area = 13606.00000, perimeter = 480.94601, major_axis_length = 204.28972, minor_axis_length = 85.28391, eccentricity = 0.90869, convex_area = 13861.00000, extent = 0.58370, type = C + area = 15004.00000, perimeter = 506.94400, major_axis_length = 218.60362, minor_axis_length = 88.09037, eccentricity = 0.91521, convex_area = 15277.00000, extent = 0.71488, type = C + area = 13637.00000, perimeter = 466.65302, major_axis_length = 193.53421, minor_axis_length = 90.35423, eccentricity = 0.88433, convex_area = 13838.00000, extent = 0.69167, type = C + area = 14019.00000, perimeter = 475.75500, major_axis_length = 194.51793, minor_axis_length = 92.81696, eccentricity = 0.87881, convex_area = 14308.00000, extent = 0.59112, type = C + area = 13117.00000, perimeter = 460.57401, major_axis_length = 192.40407, minor_axis_length = 87.62899, eccentricity = 0.89027, convex_area = 13575.00000, extent = 0.78451, type = C + area = 15929.00000, perimeter = 513.94000, major_axis_length = 212.65752, minor_axis_length = 96.99799, eccentricity = 0.88992, convex_area = 16293.00000, extent = 0.72586, type = C + area = 11715.00000, perimeter = 429.16599, major_axis_length = 171.09964, minor_axis_length = 89.10729, eccentricity = 0.85368, convex_area = 12066.00000, extent = 0.64953, type = O + area = 11656.00000, perimeter = 434.39600, major_axis_length = 175.59007, minor_axis_length = 85.71838, eccentricity = 0.87275, convex_area = 11955.00000, extent = 0.59518, type = O + area = 10919.00000, perimeter = 428.34900, major_axis_length = 179.68311, minor_axis_length = 77.92034, eccentricity = 0.90108, convex_area = 11143.00000, extent = 0.59582, type = O + area = 11227.00000, perimeter = 427.81100, major_axis_length = 179.55544, minor_axis_length = 80.32018, eccentricity = 0.89437, convex_area = 11430.00000, extent = 0.59270, type = O + area = 11458.00000, perimeter = 437.44101, major_axis_length = 178.60359, minor_axis_length = 83.98285, eccentricity = 0.88255, convex_area = 11732.00000, extent = 0.76204, type = O + area = 11605.00000, perimeter = 429.22501, major_axis_length = 175.01450, minor_axis_length = 85.50439, eccentricity = 0.87253, convex_area = 11933.00000, extent = 0.60976, type = O + area = 10774.00000, perimeter = 428.79999, major_axis_length = 179.69966, minor_axis_length = 77.92175, eccentricity = 0.90109, convex_area = 11033.00000, extent = 0.71655, type = O + area = 13263.00000, perimeter = 480.19101, major_axis_length = 205.57587, minor_axis_length = 83.13744, eccentricity = 0.91458, convex_area = 13517.00000, extent = 0.68057, type = C + area = 9236.00000, perimeter = 394.34100, major_axis_length = 160.92889, minor_axis_length = 74.24968, eccentricity = 0.88720, convex_area = 9465.00000, extent = 0.57739, type = O + area = 12962.00000, perimeter = 456.71399, major_axis_length = 185.99910, minor_axis_length = 90.16757, eccentricity = 0.87464, convex_area = 13224.00000, extent = 0.60837, type = O + area = 14291.00000, perimeter = 481.23999, major_axis_length = 196.50101, minor_axis_length = 93.87129, eccentricity = 0.87852, convex_area = 14618.00000, extent = 0.58920, type = C + area = 12198.00000, perimeter = 432.02701, major_axis_length = 176.99544, minor_axis_length = 88.56769, eccentricity = 0.86580, convex_area = 12400.00000, extent = 0.74949, type = O + area = 12919.00000, perimeter = 474.60101, major_axis_length = 207.93021, minor_axis_length = 79.46933, eccentricity = 0.92408, convex_area = 13187.00000, extent = 0.63378, type = C + area = 11342.00000, perimeter = 429.78101, major_axis_length = 179.13814, minor_axis_length = 81.86805, eccentricity = 0.88946, convex_area = 11532.00000, extent = 0.57894, type = O + area = 14274.00000, perimeter = 499.08801, major_axis_length = 214.40253, minor_axis_length = 85.24677, eccentricity = 0.91756, convex_area = 14559.00000, extent = 0.65673, type = C + area = 13501.00000, perimeter = 485.75601, major_axis_length = 205.77101, minor_axis_length = 84.90839, eccentricity = 0.91090, convex_area = 13896.00000, extent = 0.65852, type = C + area = 11302.00000, perimeter = 418.95401, major_axis_length = 172.08990, minor_axis_length = 84.01643, eccentricity = 0.87272, convex_area = 11501.00000, extent = 0.62004, type = O + area = 14751.00000, perimeter = 499.02100, major_axis_length = 214.03714, minor_axis_length = 88.62865, eccentricity = 0.91024, convex_area = 14955.00000, extent = 0.55268, type = C + area = 10445.00000, perimeter = 409.95999, major_axis_length = 168.47455, minor_axis_length = 80.43509, eccentricity = 0.87867, convex_area = 10653.00000, extent = 0.74026, type = O + area = 11501.00000, perimeter = 428.50299, major_axis_length = 180.48878, minor_axis_length = 81.40831, eccentricity = 0.89250, convex_area = 11676.00000, extent = 0.67653, type = O + area = 14421.00000, perimeter = 489.81799, major_axis_length = 204.95683, minor_axis_length = 90.34169, eccentricity = 0.89761, convex_area = 14716.00000, extent = 0.62526, type = C + area = 14076.00000, perimeter = 479.67700, major_axis_length = 199.48915, minor_axis_length = 90.70998, eccentricity = 0.89064, convex_area = 14434.00000, extent = 0.78122, type = C + area = 13965.00000, perimeter = 478.57700, major_axis_length = 203.27635, minor_axis_length = 88.10751, eccentricity = 0.90118, convex_area = 14135.00000, extent = 0.80788, type = C + area = 12331.00000, perimeter = 431.36401, major_axis_length = 177.13048, minor_axis_length = 89.42496, eccentricity = 0.86320, convex_area = 12502.00000, extent = 0.74779, type = O + area = 15042.00000, perimeter = 504.72000, major_axis_length = 214.52121, minor_axis_length = 90.20871, eccentricity = 0.90729, convex_area = 15375.00000, extent = 0.69562, type = C + area = 11969.00000, perimeter = 442.15900, major_axis_length = 177.60011, minor_axis_length = 87.86295, eccentricity = 0.86905, convex_area = 12352.00000, extent = 0.59273, type = O + area = 12975.00000, perimeter = 463.85101, major_axis_length = 196.42397, minor_axis_length = 85.06412, eccentricity = 0.90136, convex_area = 13358.00000, extent = 0.60913, type = C + area = 13362.00000, perimeter = 460.07001, major_axis_length = 186.35324, minor_axis_length = 92.15919, eccentricity = 0.86915, convex_area = 13612.00000, extent = 0.74102, type = O + area = 12907.00000, perimeter = 466.23999, major_axis_length = 194.46927, minor_axis_length = 85.91095, eccentricity = 0.89713, convex_area = 13268.00000, extent = 0.63541, type = C + area = 14504.00000, perimeter = 502.50699, major_axis_length = 212.24757, minor_axis_length = 87.93213, eccentricity = 0.91014, convex_area = 14895.00000, extent = 0.55342, type = C + area = 16944.00000, perimeter = 543.12598, major_axis_length = 236.12521, minor_axis_length = 92.68103, eccentricity = 0.91975, convex_area = 17189.00000, extent = 0.65194, type = C + area = 12074.00000, perimeter = 435.07800, major_axis_length = 181.39030, minor_axis_length = 85.69112, eccentricity = 0.88138, convex_area = 12257.00000, extent = 0.69909, type = O + area = 14747.00000, perimeter = 494.94199, major_axis_length = 209.20590, minor_axis_length = 90.64754, eccentricity = 0.90125, convex_area = 15124.00000, extent = 0.55603, type = C + area = 14828.00000, perimeter = 494.25601, major_axis_length = 209.66269, minor_axis_length = 90.79800, eccentricity = 0.90136, convex_area = 15038.00000, extent = 0.57092, type = C + area = 13337.00000, perimeter = 471.84698, major_axis_length = 199.14467, minor_axis_length = 86.46564, eccentricity = 0.90082, convex_area = 13686.00000, extent = 0.66446, type = C + area = 13615.00000, perimeter = 468.05600, major_axis_length = 192.82779, minor_axis_length = 91.15475, eccentricity = 0.88121, convex_area = 13855.00000, extent = 0.58363, type = C + area = 13200.00000, perimeter = 477.85101, major_axis_length = 202.59695, minor_axis_length = 83.68837, eccentricity = 0.91070, convex_area = 13585.00000, extent = 0.64140, type = C + area = 13429.00000, perimeter = 491.37701, major_axis_length = 208.90878, minor_axis_length = 83.84212, eccentricity = 0.91593, convex_area = 13837.00000, extent = 0.53307, type = C + area = 13410.00000, perimeter = 464.77600, major_axis_length = 186.42899, minor_axis_length = 93.29446, eccentricity = 0.86578, convex_area = 13894.00000, extent = 0.71669, type = O + area = 11611.00000, perimeter = 431.27301, major_axis_length = 178.51395, minor_axis_length = 84.11252, eccentricity = 0.88204, convex_area = 11775.00000, extent = 0.69191, type = O + area = 15087.00000, perimeter = 510.60501, major_axis_length = 218.17435, minor_axis_length = 89.15250, eccentricity = 0.91270, convex_area = 15506.00000, extent = 0.54950, type = C + area = 11396.00000, perimeter = 446.28299, major_axis_length = 192.23241, minor_axis_length = 76.52646, eccentricity = 0.91734, convex_area = 11692.00000, extent = 0.64515, type = C + area = 10712.00000, perimeter = 417.25101, major_axis_length = 174.89871, minor_axis_length = 79.08196, eccentricity = 0.89194, convex_area = 10940.00000, extent = 0.58382, type = O + area = 12282.00000, perimeter = 430.76099, major_axis_length = 173.74225, minor_axis_length = 90.91860, eccentricity = 0.85215, convex_area = 12484.00000, extent = 0.66439, type = O + area = 11184.00000, perimeter = 419.47501, major_axis_length = 172.62151, minor_axis_length = 83.55089, eccentricity = 0.87506, convex_area = 11347.00000, extent = 0.60865, type = O + area = 13193.00000, perimeter = 469.41501, major_axis_length = 201.60457, minor_axis_length = 83.72974, eccentricity = 0.90968, convex_area = 13535.00000, extent = 0.73593, type = C + area = 10083.00000, perimeter = 402.93201, major_axis_length = 169.02681, minor_axis_length = 76.98230, eccentricity = 0.89026, convex_area = 10283.00000, extent = 0.64461, type = O + area = 9428.00000, perimeter = 398.92001, major_axis_length = 164.84538, minor_axis_length = 74.65759, eccentricity = 0.89156, convex_area = 9760.00000, extent = 0.67672, type = O + area = 11443.00000, perimeter = 421.67200, major_axis_length = 173.63220, minor_axis_length = 84.63235, eccentricity = 0.87317, convex_area = 11644.00000, extent = 0.63379, type = O + area = 12726.00000, perimeter = 455.34601, major_axis_length = 188.77779, minor_axis_length = 86.93991, eccentricity = 0.88764, convex_area = 13010.00000, extent = 0.76848, type = O + area = 8965.00000, perimeter = 383.48199, major_axis_length = 156.28944, minor_axis_length = 74.67708, eccentricity = 0.87846, convex_area = 9317.00000, extent = 0.62029, type = O + area = 16413.00000, perimeter = 510.10999, major_axis_length = 210.55511, minor_axis_length = 100.12189, eccentricity = 0.87971, convex_area = 16665.00000, extent = 0.59989, type = C + area = 13174.00000, perimeter = 480.57700, major_axis_length = 203.50645, minor_axis_length = 83.42044, eccentricity = 0.91212, convex_area = 13606.00000, extent = 0.54947, type = C + area = 11639.00000, perimeter = 428.31201, major_axis_length = 172.37148, minor_axis_length = 87.17017, eccentricity = 0.86270, convex_area = 11836.00000, extent = 0.70694, type = O + area = 15594.00000, perimeter = 515.66101, major_axis_length = 216.53427, minor_axis_length = 93.27998, eccentricity = 0.90245, convex_area = 16029.00000, extent = 0.66667, type = C + area = 11700.00000, perimeter = 436.92899, major_axis_length = 179.57484, minor_axis_length = 83.98396, eccentricity = 0.88390, convex_area = 11980.00000, extent = 0.73854, type = O + area = 13258.00000, perimeter = 476.09100, major_axis_length = 195.30478, minor_axis_length = 88.26482, eccentricity = 0.89205, convex_area = 13583.00000, extent = 0.57543, type = O + area = 12770.00000, perimeter = 458.30200, major_axis_length = 196.63278, minor_axis_length = 83.19528, eccentricity = 0.90608, convex_area = 12949.00000, extent = 0.60287, type = C + area = 11543.00000, perimeter = 428.60199, major_axis_length = 175.37068, minor_axis_length = 85.05824, eccentricity = 0.87450, convex_area = 11859.00000, extent = 0.67107, type = O + area = 10841.00000, perimeter = 410.33200, major_axis_length = 167.11496, minor_axis_length = 84.25272, eccentricity = 0.86361, convex_area = 11079.00000, extent = 0.73449, type = O + area = 14558.00000, perimeter = 496.30499, major_axis_length = 204.36063, minor_axis_length = 91.95660, eccentricity = 0.89304, convex_area = 14908.00000, extent = 0.56947, type = C + area = 10546.00000, perimeter = 428.54501, major_axis_length = 179.59662, minor_axis_length = 77.14633, eccentricity = 0.90304, convex_area = 10893.00000, extent = 0.59764, type = O + area = 11860.00000, perimeter = 432.05899, major_axis_length = 174.31383, minor_axis_length = 88.15498, eccentricity = 0.86269, convex_area = 12140.00000, extent = 0.71086, type = O + area = 11693.00000, perimeter = 424.50400, major_axis_length = 176.02406, minor_axis_length = 84.99132, eccentricity = 0.87571, convex_area = 11842.00000, extent = 0.60674, type = O + area = 14693.00000, perimeter = 484.56299, major_axis_length = 199.62000, minor_axis_length = 94.80761, eccentricity = 0.88002, convex_area = 15034.00000, extent = 0.60916, type = C + area = 11778.00000, perimeter = 432.25699, major_axis_length = 173.48621, minor_axis_length = 87.75865, eccentricity = 0.86262, convex_area = 12104.00000, extent = 0.66497, type = O + area = 12053.00000, perimeter = 449.60400, major_axis_length = 189.50099, minor_axis_length = 82.26611, eccentricity = 0.90086, convex_area = 12295.00000, extent = 0.56446, type = O + area = 13263.00000, perimeter = 474.49799, major_axis_length = 197.84290, minor_axis_length = 86.68632, eccentricity = 0.89890, convex_area = 13607.00000, extent = 0.56009, type = C + area = 12580.00000, perimeter = 479.21701, major_axis_length = 208.42375, minor_axis_length = 77.74034, eccentricity = 0.92783, convex_area = 12879.00000, extent = 0.57307, type = C + area = 14161.00000, perimeter = 488.68701, major_axis_length = 206.50746, minor_axis_length = 87.96767, eccentricity = 0.90473, convex_area = 14428.00000, extent = 0.59395, type = C + area = 12354.00000, perimeter = 453.09000, major_axis_length = 192.00674, minor_axis_length = 82.87370, eccentricity = 0.90206, convex_area = 12602.00000, extent = 0.65762, type = O + area = 13207.00000, perimeter = 458.87799, major_axis_length = 187.83359, minor_axis_length = 90.63805, eccentricity = 0.87587, convex_area = 13501.00000, extent = 0.73242, type = O + area = 10727.00000, perimeter = 425.90201, major_axis_length = 178.71443, minor_axis_length = 77.53144, eccentricity = 0.90100, convex_area = 10960.00000, extent = 0.56434, type = C + area = 13434.00000, perimeter = 455.82300, major_axis_length = 184.17033, minor_axis_length = 93.38285, eccentricity = 0.86192, convex_area = 13686.00000, extent = 0.63584, type = C + area = 11073.00000, perimeter = 431.15701, major_axis_length = 182.70003, minor_axis_length = 77.72215, eccentricity = 0.90500, convex_area = 11367.00000, extent = 0.75112, type = O + area = 11274.00000, perimeter = 422.66299, major_axis_length = 174.38634, minor_axis_length = 82.87808, eccentricity = 0.87985, convex_area = 11459.00000, extent = 0.74054, type = O + area = 13822.00000, perimeter = 491.66101, major_axis_length = 212.13541, minor_axis_length = 83.65462, eccentricity = 0.91896, convex_area = 14073.00000, extent = 0.65470, type = C + area = 12886.00000, perimeter = 463.90302, major_axis_length = 193.87659, minor_axis_length = 85.47774, eccentricity = 0.89756, convex_area = 13196.00000, extent = 0.59525, type = C + area = 10420.00000, perimeter = 415.05600, major_axis_length = 170.51256, minor_axis_length = 79.28839, eccentricity = 0.88531, convex_area = 10647.00000, extent = 0.62771, type = O + area = 13893.00000, perimeter = 474.13400, major_axis_length = 200.73592, minor_axis_length = 89.16997, eccentricity = 0.89592, convex_area = 14123.00000, extent = 0.56934, type = C + area = 11329.00000, perimeter = 419.40500, major_axis_length = 173.39046, minor_axis_length = 84.34583, eccentricity = 0.87371, convex_area = 11560.00000, extent = 0.80325, type = O + area = 17180.00000, perimeter = 547.21503, major_axis_length = 238.43509, minor_axis_length = 93.01495, eccentricity = 0.92077, convex_area = 17517.00000, extent = 0.57221, type = C + area = 12924.00000, perimeter = 474.42401, major_axis_length = 203.01993, minor_axis_length = 81.82216, eccentricity = 0.91519, convex_area = 13150.00000, extent = 0.53573, type = C + area = 12448.00000, perimeter = 443.96899, major_axis_length = 187.10294, minor_axis_length = 85.64953, eccentricity = 0.88907, convex_area = 12621.00000, extent = 0.62584, type = O + area = 14003.00000, perimeter = 489.29001, major_axis_length = 208.33290, minor_axis_length = 87.19222, eccentricity = 0.90821, convex_area = 14421.00000, extent = 0.57911, type = C + area = 9519.00000, perimeter = 402.21899, major_axis_length = 173.38118, minor_axis_length = 70.51072, eccentricity = 0.91357, convex_area = 9682.00000, extent = 0.75101, type = O + area = 10360.00000, perimeter = 411.23999, major_axis_length = 169.40111, minor_axis_length = 78.57223, eccentricity = 0.88593, convex_area = 10538.00000, extent = 0.78485, type = O + area = 13372.00000, perimeter = 470.40302, major_axis_length = 196.08147, minor_axis_length = 88.71108, eccentricity = 0.89181, convex_area = 13745.00000, extent = 0.58362, type = C + area = 11454.00000, perimeter = 424.95401, major_axis_length = 175.07666, minor_axis_length = 84.24493, eccentricity = 0.87662, convex_area = 11646.00000, extent = 0.73310, type = O + area = 11746.00000, perimeter = 450.82901, major_axis_length = 194.19092, minor_axis_length = 77.74390, eccentricity = 0.91636, convex_area = 11953.00000, extent = 0.55521, type = C + area = 10132.00000, perimeter = 398.67200, major_axis_length = 162.84520, minor_axis_length = 80.07436, eccentricity = 0.87075, convex_area = 10306.00000, extent = 0.66891, type = O + area = 12376.00000, perimeter = 455.73300, major_axis_length = 188.82434, minor_axis_length = 85.17463, eccentricity = 0.89248, convex_area = 12702.00000, extent = 0.56396, type = O + area = 14379.00000, perimeter = 495.15100, major_axis_length = 212.02097, minor_axis_length = 87.81467, eccentricity = 0.91020, convex_area = 14834.00000, extent = 0.79079, type = C + area = 12387.00000, perimeter = 445.61401, major_axis_length = 175.62965, minor_axis_length = 91.31130, eccentricity = 0.85422, convex_area = 12789.00000, extent = 0.65512, type = O + area = 12220.00000, perimeter = 436.98199, major_axis_length = 171.41092, minor_axis_length = 92.14523, eccentricity = 0.84322, convex_area = 12653.00000, extent = 0.62398, type = O + area = 10731.00000, perimeter = 414.17499, major_axis_length = 170.21010, minor_axis_length = 81.19894, eccentricity = 0.87888, convex_area = 10922.00000, extent = 0.59320, type = O + area = 13885.00000, perimeter = 479.28799, major_axis_length = 198.09418, minor_axis_length = 90.59052, eccentricity = 0.88931, convex_area = 14271.00000, extent = 0.78713, type = C + area = 13170.00000, perimeter = 472.10199, major_axis_length = 200.19543, minor_axis_length = 84.87552, eccentricity = 0.90568, convex_area = 13383.00000, extent = 0.54494, type = C + area = 10617.00000, perimeter = 425.47501, major_axis_length = 180.49881, minor_axis_length = 76.52988, eccentricity = 0.90567, convex_area = 10911.00000, extent = 0.77181, type = O + area = 14592.00000, perimeter = 494.44000, major_axis_length = 212.67998, minor_axis_length = 88.28739, eccentricity = 0.90977, convex_area = 14838.00000, extent = 0.74563, type = C + area = 10819.00000, perimeter = 413.25699, major_axis_length = 165.16139, minor_axis_length = 84.57162, eccentricity = 0.85895, convex_area = 11091.00000, extent = 0.60952, type = O + area = 13476.00000, perimeter = 478.28299, major_axis_length = 199.02327, minor_axis_length = 87.92966, eccentricity = 0.89711, convex_area = 13931.00000, extent = 0.59917, type = C + area = 14855.00000, perimeter = 495.89899, major_axis_length = 208.57062, minor_axis_length = 92.42722, eccentricity = 0.89645, convex_area = 15191.00000, extent = 0.59061, type = C + area = 12333.00000, perimeter = 463.15500, major_axis_length = 196.59944, minor_axis_length = 81.60153, eccentricity = 0.90979, convex_area = 12705.00000, extent = 0.59202, type = C + area = 10951.00000, perimeter = 424.76901, major_axis_length = 179.13132, minor_axis_length = 78.75501, eccentricity = 0.89817, convex_area = 11138.00000, extent = 0.56726, type = O + area = 11966.00000, perimeter = 456.84601, major_axis_length = 194.27026, minor_axis_length = 79.35069, eccentricity = 0.91278, convex_area = 12337.00000, extent = 0.57460, type = C + area = 11487.00000, perimeter = 428.08899, major_axis_length = 173.95477, minor_axis_length = 85.48769, eccentricity = 0.87091, convex_area = 11695.00000, extent = 0.64862, type = O + area = 14625.00000, perimeter = 497.25201, major_axis_length = 212.79851, minor_axis_length = 88.36369, eccentricity = 0.90971, convex_area = 14924.00000, extent = 0.54895, type = C + area = 16005.00000, perimeter = 518.89301, major_axis_length = 221.21553, minor_axis_length = 93.13296, eccentricity = 0.90706, convex_area = 16343.00000, extent = 0.55104, type = C + area = 12300.00000, perimeter = 434.64700, major_axis_length = 177.62546, minor_axis_length = 89.04189, eccentricity = 0.86528, convex_area = 12472.00000, extent = 0.78524, type = O + area = 13860.00000, perimeter = 483.97101, major_axis_length = 207.78920, minor_axis_length = 85.96107, eccentricity = 0.91042, convex_area = 14047.00000, extent = 0.64815, type = C + area = 14071.00000, perimeter = 479.09299, major_axis_length = 197.40497, minor_axis_length = 92.30099, eccentricity = 0.88396, convex_area = 14398.00000, extent = 0.59900, type = C + area = 9802.00000, perimeter = 396.81601, major_axis_length = 166.89021, minor_axis_length = 75.11701, eccentricity = 0.89298, convex_area = 9948.00000, extent = 0.57118, type = O + area = 11322.00000, perimeter = 415.88599, major_axis_length = 169.72362, minor_axis_length = 85.80435, eccentricity = 0.86280, convex_area = 11512.00000, extent = 0.61426, type = O + area = 13909.00000, perimeter = 475.61801, major_axis_length = 199.60727, minor_axis_length = 89.94420, eccentricity = 0.89272, convex_area = 14241.00000, extent = 0.72788, type = C + area = 16608.00000, perimeter = 516.09198, major_axis_length = 207.67137, minor_axis_length = 103.35088, eccentricity = 0.86737, convex_area = 17111.00000, extent = 0.69676, type = C + area = 10227.00000, perimeter = 403.99899, major_axis_length = 164.80865, minor_axis_length = 80.21973, eccentricity = 0.87354, convex_area = 10496.00000, extent = 0.63060, type = O + area = 11497.00000, perimeter = 438.91000, major_axis_length = 179.69292, minor_axis_length = 82.84306, eccentricity = 0.88739, convex_area = 11820.00000, extent = 0.57439, type = O + area = 13399.00000, perimeter = 490.56000, major_axis_length = 209.36595, minor_axis_length = 82.76702, eccentricity = 0.91854, convex_area = 13654.00000, extent = 0.51710, type = C + area = 11411.00000, perimeter = 430.93399, major_axis_length = 184.30925, minor_axis_length = 79.25813, eccentricity = 0.90282, convex_area = 11587.00000, extent = 0.64787, type = C + area = 13846.00000, perimeter = 479.58701, major_axis_length = 197.00459, minor_axis_length = 90.91550, eccentricity = 0.88715, convex_area = 14200.00000, extent = 0.71756, type = C + area = 14969.00000, perimeter = 515.09802, major_axis_length = 222.04485, minor_axis_length = 87.43668, eccentricity = 0.91920, convex_area = 15269.00000, extent = 0.54621, type = C + area = 13803.00000, perimeter = 492.02100, major_axis_length = 207.04994, minor_axis_length = 87.18410, eccentricity = 0.90702, convex_area = 14174.00000, extent = 0.56915, type = C + area = 14403.00000, perimeter = 491.06000, major_axis_length = 207.68057, minor_axis_length = 89.84336, eccentricity = 0.90158, convex_area = 14708.00000, extent = 0.59689, type = C + area = 15762.00000, perimeter = 507.64099, major_axis_length = 205.60056, minor_axis_length = 99.32085, eccentricity = 0.87558, convex_area = 16261.00000, extent = 0.66364, type = C + area = 15336.00000, perimeter = 508.78500, major_axis_length = 219.26230, minor_axis_length = 89.74197, eccentricity = 0.91240, convex_area = 15599.00000, extent = 0.58001, type = C + area = 15454.00000, perimeter = 500.89700, major_axis_length = 208.54160, minor_axis_length = 95.32327, eccentricity = 0.88942, convex_area = 15773.00000, extent = 0.58343, type = C + area = 15026.00000, perimeter = 504.47198, major_axis_length = 212.47598, minor_axis_length = 91.13345, eccentricity = 0.90335, convex_area = 15285.00000, extent = 0.72240, type = C + area = 10634.00000, perimeter = 409.50601, major_axis_length = 167.43697, minor_axis_length = 81.81296, eccentricity = 0.87250, convex_area = 10809.00000, extent = 0.68377, type = O + area = 11759.00000, perimeter = 429.33801, major_axis_length = 169.32892, minor_axis_length = 89.80245, eccentricity = 0.84778, convex_area = 12011.00000, extent = 0.67049, type = O + area = 10870.00000, perimeter = 409.49100, major_axis_length = 169.20607, minor_axis_length = 82.09532, eccentricity = 0.87441, convex_area = 11030.00000, extent = 0.67024, type = O + area = 11335.00000, perimeter = 426.58401, major_axis_length = 172.74699, minor_axis_length = 85.12077, eccentricity = 0.87017, convex_area = 11618.00000, extent = 0.66676, type = O + area = 11381.00000, perimeter = 434.31799, major_axis_length = 174.86369, minor_axis_length = 85.03392, eccentricity = 0.87380, convex_area = 11692.00000, extent = 0.60185, type = O + area = 13350.00000, perimeter = 466.61899, major_axis_length = 196.50897, minor_axis_length = 87.16155, eccentricity = 0.89625, convex_area = 13562.00000, extent = 0.79921, type = C + area = 10173.00000, perimeter = 406.96600, major_axis_length = 174.50359, minor_axis_length = 74.86865, eccentricity = 0.90329, convex_area = 10342.00000, extent = 0.76271, type = O + area = 12784.00000, perimeter = 448.34698, major_axis_length = 186.11673, minor_axis_length = 88.22885, eccentricity = 0.88050, convex_area = 12937.00000, extent = 0.60473, type = O + area = 14060.00000, perimeter = 496.03500, major_axis_length = 211.37552, minor_axis_length = 85.93526, eccentricity = 0.91363, convex_area = 14448.00000, extent = 0.67260, type = C + area = 11140.00000, perimeter = 429.79700, major_axis_length = 179.19675, minor_axis_length = 80.07657, eccentricity = 0.89460, convex_area = 11346.00000, extent = 0.58911, type = O + area = 11626.00000, perimeter = 420.78900, major_axis_length = 168.46971, minor_axis_length = 89.07520, eccentricity = 0.84879, convex_area = 11857.00000, extent = 0.63634, type = O + area = 15292.00000, perimeter = 510.48300, major_axis_length = 219.65903, minor_axis_length = 89.13313, eccentricity = 0.91397, convex_area = 15511.00000, extent = 0.54319, type = C + area = 11462.00000, perimeter = 432.10800, major_axis_length = 180.28006, minor_axis_length = 81.89021, eccentricity = 0.89088, convex_area = 11725.00000, extent = 0.69993, type = O + area = 12800.00000, perimeter = 447.02499, major_axis_length = 181.76909, minor_axis_length = 90.76634, eccentricity = 0.86640, convex_area = 12958.00000, extent = 0.61022, type = O + area = 16030.00000, perimeter = 512.85303, major_axis_length = 210.24748, minor_axis_length = 97.63129, eccentricity = 0.88564, convex_area = 16306.00000, extent = 0.59780, type = C + area = 11337.00000, perimeter = 433.97800, major_axis_length = 184.34811, minor_axis_length = 78.86770, eccentricity = 0.90386, convex_area = 11506.00000, extent = 0.65661, type = O + area = 11472.00000, perimeter = 420.25699, major_axis_length = 174.82526, minor_axis_length = 83.87502, eccentricity = 0.87740, convex_area = 11617.00000, extent = 0.74224, type = O + area = 10782.00000, perimeter = 412.88000, major_axis_length = 165.54587, minor_axis_length = 84.34690, eccentricity = 0.86047, convex_area = 11112.00000, extent = 0.69472, type = O + area = 13424.00000, perimeter = 481.17499, major_axis_length = 195.90002, minor_axis_length = 89.30524, eccentricity = 0.89005, convex_area = 13950.00000, extent = 0.65856, type = C + area = 8546.00000, perimeter = 388.58099, major_axis_length = 172.51996, minor_axis_length = 63.34475, eccentricity = 0.93015, convex_area = 8685.00000, extent = 0.73546, type = O + area = 13133.00000, perimeter = 450.13199, major_axis_length = 179.15121, minor_axis_length = 94.11335, eccentricity = 0.85090, convex_area = 13351.00000, extent = 0.63530, type = O + area = 12663.00000, perimeter = 468.22400, major_axis_length = 199.69749, minor_axis_length = 81.61620, eccentricity = 0.91267, convex_area = 12979.00000, extent = 0.62339, type = C + area = 13076.00000, perimeter = 450.34500, major_axis_length = 183.59694, minor_axis_length = 91.70959, eccentricity = 0.86630, convex_area = 13253.00000, extent = 0.67702, type = O + area = 11212.00000, perimeter = 413.56601, major_axis_length = 169.67810, minor_axis_length = 84.63475, eccentricity = 0.86672, convex_area = 11400.00000, extent = 0.80889, type = O + area = 13158.00000, perimeter = 470.99600, major_axis_length = 201.01839, minor_axis_length = 84.50301, eccentricity = 0.90735, convex_area = 13462.00000, extent = 0.61978, type = C + area = 9936.00000, perimeter = 398.27600, major_axis_length = 161.48193, minor_axis_length = 80.27461, eccentricity = 0.86769, convex_area = 10216.00000, extent = 0.67194, type = O + area = 16419.00000, perimeter = 531.42102, major_axis_length = 224.06595, minor_axis_length = 94.54113, eccentricity = 0.90663, convex_area = 16874.00000, extent = 0.55042, type = C + area = 11440.00000, perimeter = 425.81601, major_axis_length = 170.72098, minor_axis_length = 87.25544, eccentricity = 0.85952, convex_area = 11750.00000, extent = 0.66508, type = O + area = 14944.00000, perimeter = 500.23801, major_axis_length = 209.55765, minor_axis_length = 91.52841, eccentricity = 0.89957, convex_area = 15255.00000, extent = 0.62896, type = C + area = 12154.00000, perimeter = 448.06201, major_axis_length = 186.78206, minor_axis_length = 83.89810, eccentricity = 0.89344, convex_area = 12445.00000, extent = 0.62928, type = O + area = 11732.00000, perimeter = 441.12299, major_axis_length = 176.48349, minor_axis_length = 86.19247, eccentricity = 0.87263, convex_area = 12076.00000, extent = 0.63747, type = O + area = 12871.00000, perimeter = 448.58200, major_axis_length = 183.87454, minor_axis_length = 90.27630, eccentricity = 0.87118, convex_area = 13102.00000, extent = 0.73372, type = O + area = 12709.00000, perimeter = 446.20499, major_axis_length = 180.19742, minor_axis_length = 90.73626, eccentricity = 0.86397, convex_area = 12958.00000, extent = 0.62624, type = O + area = 11180.00000, perimeter = 425.49701, major_axis_length = 177.01859, minor_axis_length = 81.56252, eccentricity = 0.88753, convex_area = 11353.00000, extent = 0.57939, type = O + area = 10781.00000, perimeter = 414.95499, major_axis_length = 169.73618, minor_axis_length = 82.24104, eccentricity = 0.87478, convex_area = 11069.00000, extent = 0.69934, type = O + area = 12135.00000, perimeter = 432.81299, major_axis_length = 180.87585, minor_axis_length = 86.05373, eccentricity = 0.87957, convex_area = 12304.00000, extent = 0.64305, type = O + area = 11189.00000, perimeter = 427.47101, major_axis_length = 176.94299, minor_axis_length = 81.42934, eccentricity = 0.88781, convex_area = 11422.00000, extent = 0.59911, type = O + area = 14041.00000, perimeter = 491.66101, major_axis_length = 212.85693, minor_axis_length = 84.56731, eccentricity = 0.91769, convex_area = 14289.00000, extent = 0.78661, type = C + area = 11255.00000, perimeter = 442.61801, major_axis_length = 189.49684, minor_axis_length = 76.36518, eccentricity = 0.91520, convex_area = 11500.00000, extent = 0.77535, type = O + area = 12939.00000, perimeter = 469.48099, major_axis_length = 202.04332, minor_axis_length = 83.09899, eccentricity = 0.91150, convex_area = 13165.00000, extent = 0.65770, type = C + area = 15398.00000, perimeter = 513.02301, major_axis_length = 214.05426, minor_axis_length = 93.68449, eccentricity = 0.89914, convex_area = 15936.00000, extent = 0.69504, type = C + area = 11247.00000, perimeter = 419.19101, major_axis_length = 173.84549, minor_axis_length = 82.95931, eccentricity = 0.87879, convex_area = 11439.00000, extent = 0.69272, type = O + area = 9414.00000, perimeter = 407.82501, major_axis_length = 179.54588, minor_axis_length = 66.91816, eccentricity = 0.92795, convex_area = 9583.00000, extent = 0.81043, type = O + area = 14379.00000, perimeter = 494.30301, major_axis_length = 205.52626, minor_axis_length = 90.39722, eccentricity = 0.89808, convex_area = 14768.00000, extent = 0.57886, type = C + area = 12324.00000, perimeter = 449.15201, major_axis_length = 190.39249, minor_axis_length = 83.20514, eccentricity = 0.89945, convex_area = 12595.00000, extent = 0.76713, type = C + area = 11068.00000, perimeter = 419.92999, major_axis_length = 174.13010, minor_axis_length = 81.80955, eccentricity = 0.88276, convex_area = 11242.00000, extent = 0.60392, type = C + area = 13567.00000, perimeter = 481.09500, major_axis_length = 206.62842, minor_axis_length = 84.00917, eccentricity = 0.91362, convex_area = 13818.00000, extent = 0.60111, type = C + area = 14892.00000, perimeter = 486.33499, major_axis_length = 203.06918, minor_axis_length = 94.12496, eccentricity = 0.88609, convex_area = 15111.00000, extent = 0.79213, type = C + area = 12861.00000, perimeter = 471.92099, major_axis_length = 193.25092, minor_axis_length = 86.45822, eccentricity = 0.89434, convex_area = 13330.00000, extent = 0.63342, type = C + area = 11905.00000, perimeter = 443.76901, major_axis_length = 185.27023, minor_axis_length = 83.60574, eccentricity = 0.89239, convex_area = 12209.00000, extent = 0.62721, type = O + area = 12796.00000, perimeter = 471.20901, major_axis_length = 203.92963, minor_axis_length = 80.33001, eccentricity = 0.91915, convex_area = 13022.00000, extent = 0.68406, type = C + area = 10638.00000, perimeter = 407.20700, major_axis_length = 168.55212, minor_axis_length = 81.18849, eccentricity = 0.87635, convex_area = 10834.00000, extent = 0.67581, type = O + area = 11803.00000, perimeter = 463.80899, major_axis_length = 201.65070, minor_axis_length = 76.42431, eccentricity = 0.92540, convex_area = 12138.00000, extent = 0.54949, type = C + area = 16156.00000, perimeter = 495.71399, major_axis_length = 197.27431, minor_axis_length = 105.53798, eccentricity = 0.84486, convex_area = 16434.00000, extent = 0.70941, type = C + area = 14960.00000, perimeter = 510.72900, major_axis_length = 218.36987, minor_axis_length = 88.05952, eccentricity = 0.91509, convex_area = 15235.00000, extent = 0.57828, type = C + area = 11146.00000, perimeter = 425.95999, major_axis_length = 179.80118, minor_axis_length = 79.56255, eccentricity = 0.89677, convex_area = 11302.00000, extent = 0.58107, type = O + area = 13820.00000, perimeter = 489.94199, major_axis_length = 207.00410, minor_axis_length = 86.23711, eccentricity = 0.90909, convex_area = 14195.00000, extent = 0.63940, type = C + area = 12092.00000, perimeter = 449.18900, major_axis_length = 192.57950, minor_axis_length = 80.42228, eccentricity = 0.90863, convex_area = 12298.00000, extent = 0.58393, type = C + area = 14824.00000, perimeter = 513.21698, major_axis_length = 220.16020, minor_axis_length = 86.80725, eccentricity = 0.91899, convex_area = 15150.00000, extent = 0.56836, type = C + area = 11523.00000, perimeter = 441.40302, major_axis_length = 183.05060, minor_axis_length = 81.27246, eccentricity = 0.89603, convex_area = 11815.00000, extent = 0.78281, type = O + area = 12128.00000, perimeter = 441.71201, major_axis_length = 184.30515, minor_axis_length = 84.94325, eccentricity = 0.88746, convex_area = 12327.00000, extent = 0.62233, type = O + area = 11151.00000, perimeter = 438.26199, major_axis_length = 191.60088, minor_axis_length = 74.84743, eccentricity = 0.92054, convex_area = 11325.00000, extent = 0.66597, type = C + area = 13467.00000, perimeter = 473.30099, major_axis_length = 203.08192, minor_axis_length = 84.99756, eccentricity = 0.90820, convex_area = 13753.00000, extent = 0.77397, type = C + area = 8328.00000, perimeter = 369.73801, major_axis_length = 152.56586, minor_axis_length = 70.56860, eccentricity = 0.88660, convex_area = 8579.00000, extent = 0.58442, type = O + area = 11889.00000, perimeter = 439.98901, major_axis_length = 186.10785, minor_axis_length = 82.14304, eccentricity = 0.89732, convex_area = 12096.00000, extent = 0.79771, type = O + area = 14626.00000, perimeter = 502.35699, major_axis_length = 212.73470, minor_axis_length = 88.58339, eccentricity = 0.90918, convex_area = 14997.00000, extent = 0.58150, type = C + area = 16019.00000, perimeter = 509.01300, major_axis_length = 214.79094, minor_axis_length = 96.12421, eccentricity = 0.89427, convex_area = 16248.00000, extent = 0.65759, type = C + area = 13576.00000, perimeter = 477.82501, major_axis_length = 190.02635, minor_axis_length = 91.82110, eccentricity = 0.87551, convex_area = 14137.00000, extent = 0.68328, type = O + area = 14784.00000, perimeter = 481.98599, major_axis_length = 200.02716, minor_axis_length = 94.98056, eccentricity = 0.88007, convex_area = 15005.00000, extent = 0.72159, type = C + area = 13095.00000, perimeter = 449.34601, major_axis_length = 180.78140, minor_axis_length = 92.73416, eccentricity = 0.85841, convex_area = 13294.00000, extent = 0.63723, type = O + area = 10997.00000, perimeter = 421.48499, major_axis_length = 171.56142, minor_axis_length = 82.59306, eccentricity = 0.87649, convex_area = 11249.00000, extent = 0.61033, type = O + area = 10847.00000, perimeter = 417.92401, major_axis_length = 170.36679, minor_axis_length = 82.47301, eccentricity = 0.87502, convex_area = 11107.00000, extent = 0.74632, type = O + area = 14132.00000, perimeter = 482.36899, major_axis_length = 205.20067, minor_axis_length = 88.29636, eccentricity = 0.90269, convex_area = 14341.00000, extent = 0.58610, type = C + area = 12278.00000, perimeter = 453.69299, major_axis_length = 184.05016, minor_axis_length = 86.66009, eccentricity = 0.88221, convex_area = 12601.00000, extent = 0.62983, type = O + area = 10536.00000, perimeter = 412.50699, major_axis_length = 162.72029, minor_axis_length = 84.62435, eccentricity = 0.85413, convex_area = 10974.00000, extent = 0.68594, type = O + area = 10272.00000, perimeter = 413.69199, major_axis_length = 175.91963, minor_axis_length = 74.96436, eccentricity = 0.90466, convex_area = 10462.00000, extent = 0.59479, type = O + area = 12590.00000, perimeter = 461.13699, major_axis_length = 195.53488, minor_axis_length = 82.96224, eccentricity = 0.90553, convex_area = 12915.00000, extent = 0.67601, type = C + area = 12378.00000, perimeter = 459.97601, major_axis_length = 191.24950, minor_axis_length = 83.99847, eccentricity = 0.89838, convex_area = 12800.00000, extent = 0.56552, type = O + area = 13328.00000, perimeter = 462.25601, major_axis_length = 187.22998, minor_axis_length = 91.63737, eccentricity = 0.87204, convex_area = 13606.00000, extent = 0.60984, type = O + area = 11981.00000, perimeter = 448.82700, major_axis_length = 190.12900, minor_axis_length = 81.32439, eccentricity = 0.90391, convex_area = 12154.00000, extent = 0.56209, type = C + area = 11577.00000, perimeter = 431.15601, major_axis_length = 178.83626, minor_axis_length = 83.40616, eccentricity = 0.88458, convex_area = 11810.00000, extent = 0.75607, type = C + area = 12588.00000, perimeter = 445.29800, major_axis_length = 181.65675, minor_axis_length = 89.52711, eccentricity = 0.87012, convex_area = 12865.00000, extent = 0.77713, type = O + area = 15385.00000, perimeter = 505.57800, major_axis_length = 211.73012, minor_axis_length = 94.12325, eccentricity = 0.89576, convex_area = 15726.00000, extent = 0.58791, type = C + area = 12074.00000, perimeter = 436.46201, major_axis_length = 178.20761, minor_axis_length = 87.64711, eccentricity = 0.87069, convex_area = 12300.00000, extent = 0.60177, type = O + area = 15172.00000, perimeter = 504.15799, major_axis_length = 213.22467, minor_axis_length = 91.66706, eccentricity = 0.90287, convex_area = 15477.00000, extent = 0.62244, type = C + area = 13057.00000, perimeter = 460.16800, major_axis_length = 187.12848, minor_axis_length = 90.31277, eccentricity = 0.87583, convex_area = 13385.00000, extent = 0.75079, type = C + area = 11518.00000, perimeter = 428.70999, major_axis_length = 175.93608, minor_axis_length = 84.25156, eccentricity = 0.87788, convex_area = 11754.00000, extent = 0.66040, type = O + area = 15437.00000, perimeter = 512.94800, major_axis_length = 211.40877, minor_axis_length = 94.91480, eccentricity = 0.89355, convex_area = 15984.00000, extent = 0.73161, type = C + area = 10719.00000, perimeter = 418.67001, major_axis_length = 175.00836, minor_axis_length = 78.83108, eccentricity = 0.89281, convex_area = 10983.00000, extent = 0.63690, type = O + area = 12714.00000, perimeter = 461.89001, major_axis_length = 196.56032, minor_axis_length = 83.11240, eccentricity = 0.90621, convex_area = 12900.00000, extent = 0.64141, type = C + area = 12237.00000, perimeter = 432.39001, major_axis_length = 169.64680, minor_axis_length = 93.41069, eccentricity = 0.83476, convex_area = 12577.00000, extent = 0.70457, type = O + area = 12325.00000, perimeter = 454.04901, major_axis_length = 192.69505, minor_axis_length = 82.55291, eccentricity = 0.90358, convex_area = 12583.00000, extent = 0.78603, type = O + area = 12994.00000, perimeter = 460.94501, major_axis_length = 195.22110, minor_axis_length = 86.21172, eccentricity = 0.89721, convex_area = 13196.00000, extent = 0.81539, type = O + area = 12384.00000, perimeter = 460.13599, major_axis_length = 190.87038, minor_axis_length = 85.09120, eccentricity = 0.89513, convex_area = 12811.00000, extent = 0.60484, type = C + area = 11413.00000, perimeter = 421.95300, major_axis_length = 171.32529, minor_axis_length = 85.99931, eccentricity = 0.86489, convex_area = 11688.00000, extent = 0.69933, type = O + area = 15600.00000, perimeter = 502.84299, major_axis_length = 205.27551, minor_axis_length = 99.05281, eccentricity = 0.87588, convex_area = 16130.00000, extent = 0.72142, type = C + area = 10390.00000, perimeter = 420.79401, major_axis_length = 174.04564, minor_axis_length = 77.64330, eccentricity = 0.89498, convex_area = 10689.00000, extent = 0.72882, type = O + area = 12593.00000, perimeter = 449.57001, major_axis_length = 179.36755, minor_axis_length = 90.69928, eccentricity = 0.86273, convex_area = 12945.00000, extent = 0.62758, type = O + area = 12237.00000, perimeter = 438.15601, major_axis_length = 178.05893, minor_axis_length = 88.28736, eccentricity = 0.86842, convex_area = 12489.00000, extent = 0.63084, type = O + area = 15636.00000, perimeter = 513.22699, major_axis_length = 214.38356, minor_axis_length = 93.97776, eccentricity = 0.89880, convex_area = 15913.00000, extent = 0.56628, type = C + area = 15159.00000, perimeter = 515.13098, major_axis_length = 216.06192, minor_axis_length = 91.02570, eccentricity = 0.90692, convex_area = 15685.00000, extent = 0.65071, type = C + area = 10249.00000, perimeter = 404.08899, major_axis_length = 165.68245, minor_axis_length = 80.38426, eccentricity = 0.87442, convex_area = 10486.00000, extent = 0.67145, type = O + area = 9963.00000, perimeter = 410.08401, major_axis_length = 171.16846, minor_axis_length = 75.23148, eccentricity = 0.89823, convex_area = 10251.00000, extent = 0.71930, type = O + area = 15433.00000, perimeter = 519.52197, major_axis_length = 218.38802, minor_axis_length = 91.67455, eccentricity = 0.90763, convex_area = 15887.00000, extent = 0.77944, type = C + area = 12489.00000, perimeter = 442.87000, major_axis_length = 176.24304, minor_axis_length = 91.78191, eccentricity = 0.85370, convex_area = 12812.00000, extent = 0.62100, type = O + area = 10903.00000, perimeter = 419.65399, major_axis_length = 169.51709, minor_axis_length = 83.22002, eccentricity = 0.87120, convex_area = 11232.00000, extent = 0.69784, type = O + area = 12908.00000, perimeter = 462.20999, major_axis_length = 185.85094, minor_axis_length = 89.38810, eccentricity = 0.87674, convex_area = 13199.00000, extent = 0.72770, type = O + area = 12974.00000, perimeter = 469.27301, major_axis_length = 197.63316, minor_axis_length = 84.73212, eccentricity = 0.90343, convex_area = 13219.00000, extent = 0.68646, type = C + area = 11016.00000, perimeter = 404.35400, major_axis_length = 166.70659, minor_axis_length = 84.50535, eccentricity = 0.86200, convex_area = 11146.00000, extent = 0.76330, type = O + area = 11465.00000, perimeter = 419.59500, major_axis_length = 167.98752, minor_axis_length = 88.07780, eccentricity = 0.85153, convex_area = 11685.00000, extent = 0.75378, type = O + area = 12315.00000, perimeter = 444.62299, major_axis_length = 183.17519, minor_axis_length = 86.46496, eccentricity = 0.88158, convex_area = 12523.00000, extent = 0.61117, type = O + area = 13166.00000, perimeter = 465.96701, major_axis_length = 195.90541, minor_axis_length = 86.00590, eccentricity = 0.89848, convex_area = 13383.00000, extent = 0.65800, type = O + area = 10613.00000, perimeter = 423.32901, major_axis_length = 172.11276, minor_axis_length = 79.71240, eccentricity = 0.88628, convex_area = 10881.00000, extent = 0.58697, type = O + area = 15371.00000, perimeter = 497.66501, major_axis_length = 212.74893, minor_axis_length = 92.46557, eccentricity = 0.90061, convex_area = 15587.00000, extent = 0.81208, type = C + area = 10272.00000, perimeter = 403.04599, major_axis_length = 171.38367, minor_axis_length = 76.66118, eccentricity = 0.89438, convex_area = 10419.00000, extent = 0.75920, type = O + area = 14850.00000, perimeter = 499.20700, major_axis_length = 210.13364, minor_axis_length = 91.14337, eccentricity = 0.90104, convex_area = 15327.00000, extent = 0.58901, type = C + area = 14601.00000, perimeter = 476.22601, major_axis_length = 192.60654, minor_axis_length = 97.93214, eccentricity = 0.86109, convex_area = 14815.00000, extent = 0.62784, type = C + area = 11783.00000, perimeter = 453.10501, major_axis_length = 192.68430, minor_axis_length = 79.17371, eccentricity = 0.91168, convex_area = 12102.00000, extent = 0.67044, type = C + area = 15062.00000, perimeter = 492.06500, major_axis_length = 198.02740, minor_axis_length = 99.11066, eccentricity = 0.86574, convex_area = 15584.00000, extent = 0.78415, type = O + area = 12328.00000, perimeter = 444.70599, major_axis_length = 183.82814, minor_axis_length = 86.61966, eccentricity = 0.88203, convex_area = 12659.00000, extent = 0.62541, type = O + area = 14483.00000, perimeter = 512.72101, major_axis_length = 215.76816, minor_axis_length = 86.27912, eccentricity = 0.91657, convex_area = 14912.00000, extent = 0.53229, type = C + area = 14560.00000, perimeter = 493.92899, major_axis_length = 209.50883, minor_axis_length = 89.21789, eccentricity = 0.90480, convex_area = 14971.00000, extent = 0.63170, type = C + area = 14223.00000, perimeter = 480.95300, major_axis_length = 201.38956, minor_axis_length = 90.38589, eccentricity = 0.89363, convex_area = 14441.00000, extent = 0.64195, type = C + area = 12267.00000, perimeter = 429.69400, major_axis_length = 171.37064, minor_axis_length = 92.45802, eccentricity = 0.84197, convex_area = 12520.00000, extent = 0.77590, type = O + area = 14415.00000, perimeter = 490.06601, major_axis_length = 206.53925, minor_axis_length = 90.01753, eccentricity = 0.90003, convex_area = 14671.00000, extent = 0.65333, type = C + area = 12377.00000, perimeter = 465.04700, major_axis_length = 197.08141, minor_axis_length = 81.92233, eccentricity = 0.90951, convex_area = 12669.00000, extent = 0.62968, type = C + area = 12240.00000, perimeter = 454.31299, major_axis_length = 190.92790, minor_axis_length = 83.64930, eccentricity = 0.89892, convex_area = 12555.00000, extent = 0.75789, type = C + area = 12219.00000, perimeter = 438.28101, major_axis_length = 182.18773, minor_axis_length = 86.19642, eccentricity = 0.88100, convex_area = 12471.00000, extent = 0.60177, type = C + area = 11287.00000, perimeter = 421.99301, major_axis_length = 176.18260, minor_axis_length = 82.72874, eccentricity = 0.88290, convex_area = 11469.00000, extent = 0.81642, type = O + area = 10015.00000, perimeter = 402.17899, major_axis_length = 160.38683, minor_axis_length = 81.07691, eccentricity = 0.86282, convex_area = 10338.00000, extent = 0.69462, type = O + area = 11184.00000, perimeter = 416.92499, major_axis_length = 171.37740, minor_axis_length = 83.96449, eccentricity = 0.87176, convex_area = 11349.00000, extent = 0.64940, type = O + area = 13251.00000, perimeter = 460.53201, major_axis_length = 190.91631, minor_axis_length = 88.99756, eccentricity = 0.88470, convex_area = 13528.00000, extent = 0.74992, type = C + area = 9165.00000, perimeter = 380.66000, major_axis_length = 156.67039, minor_axis_length = 75.54001, eccentricity = 0.87608, convex_area = 9366.00000, extent = 0.65436, type = O + area = 14209.00000, perimeter = 496.27200, major_axis_length = 208.82291, minor_axis_length = 87.75803, eccentricity = 0.90741, convex_area = 14667.00000, extent = 0.56573, type = C + area = 15710.00000, perimeter = 517.07001, major_axis_length = 214.75021, minor_axis_length = 95.24736, eccentricity = 0.89626, convex_area = 16259.00000, extent = 0.60760, type = C + area = 12675.00000, perimeter = 456.57300, major_axis_length = 186.80682, minor_axis_length = 88.42378, eccentricity = 0.88088, convex_area = 13098.00000, extent = 0.61386, type = O + area = 14746.00000, perimeter = 504.31400, major_axis_length = 220.34344, minor_axis_length = 85.93158, eccentricity = 0.92082, convex_area = 14995.00000, extent = 0.79751, type = C + area = 9778.00000, perimeter = 395.20001, major_axis_length = 168.14676, minor_axis_length = 74.49898, eccentricity = 0.89649, convex_area = 9956.00000, extent = 0.62059, type = O + area = 12422.00000, perimeter = 482.19800, major_axis_length = 209.21362, minor_axis_length = 76.83704, eccentricity = 0.93012, convex_area = 12783.00000, extent = 0.49808, type = C + area = 11469.00000, perimeter = 429.85800, major_axis_length = 175.50995, minor_axis_length = 85.11320, eccentricity = 0.87454, convex_area = 11709.00000, extent = 0.78922, type = O + area = 13919.00000, perimeter = 482.34900, major_axis_length = 204.29425, minor_axis_length = 87.65405, eccentricity = 0.90328, convex_area = 14274.00000, extent = 0.74898, type = C + area = 15360.00000, perimeter = 515.29797, major_axis_length = 220.92175, minor_axis_length = 89.95549, eccentricity = 0.91335, convex_area = 15662.00000, extent = 0.64160, type = C + area = 9884.00000, perimeter = 389.29401, major_axis_length = 164.07063, minor_axis_length = 76.87023, eccentricity = 0.88345, convex_area = 10021.00000, extent = 0.73596, type = O + area = 13982.00000, perimeter = 479.78500, major_axis_length = 204.54239, minor_axis_length = 88.27965, eccentricity = 0.90207, convex_area = 14221.00000, extent = 0.77291, type = C + area = 11467.00000, perimeter = 448.68301, major_axis_length = 192.08723, minor_axis_length = 77.16972, eccentricity = 0.91575, convex_area = 11739.00000, extent = 0.56979, type = O + area = 13877.00000, perimeter = 489.62299, major_axis_length = 205.14513, minor_axis_length = 86.93637, eccentricity = 0.90577, convex_area = 14176.00000, extent = 0.56381, type = C + area = 15009.00000, perimeter = 502.48801, major_axis_length = 211.09036, minor_axis_length = 91.76154, eccentricity = 0.90057, convex_area = 15370.00000, extent = 0.61575, type = C + area = 10895.00000, perimeter = 411.59000, major_axis_length = 167.44122, minor_axis_length = 84.25878, eccentricity = 0.86416, convex_area = 11155.00000, extent = 0.68626, type = O + area = 11957.00000, perimeter = 441.88300, major_axis_length = 186.96121, minor_axis_length = 81.96999, eccentricity = 0.89876, convex_area = 12137.00000, extent = 0.77362, type = O + area = 13667.00000, perimeter = 463.84201, major_axis_length = 197.35565, minor_axis_length = 88.58672, eccentricity = 0.89360, convex_area = 13829.00000, extent = 0.63452, type = O + area = 8505.00000, perimeter = 359.10001, major_axis_length = 147.79889, minor_axis_length = 73.80869, eccentricity = 0.86638, convex_area = 8651.00000, extent = 0.67726, type = O + area = 13253.00000, perimeter = 473.44199, major_axis_length = 198.61066, minor_axis_length = 85.91887, eccentricity = 0.90159, convex_area = 13535.00000, extent = 0.68997, type = C + area = 10359.00000, perimeter = 409.51099, major_axis_length = 173.33797, minor_axis_length = 76.87581, eccentricity = 0.89627, convex_area = 10510.00000, extent = 0.57359, type = O + area = 11734.00000, perimeter = 432.62100, major_axis_length = 177.31726, minor_axis_length = 86.10056, eccentricity = 0.87420, convex_area = 11972.00000, extent = 0.64458, type = O + area = 12408.00000, perimeter = 437.01401, major_axis_length = 179.74117, minor_axis_length = 88.82961, eccentricity = 0.86934, convex_area = 12598.00000, extent = 0.63693, type = O + area = 14324.00000, perimeter = 487.25299, major_axis_length = 195.94514, minor_axis_length = 94.84135, eccentricity = 0.87506, convex_area = 14822.00000, extent = 0.75740, type = C + area = 14695.00000, perimeter = 506.91599, major_axis_length = 214.10553, minor_axis_length = 88.91370, eccentricity = 0.90969, convex_area = 15086.00000, extent = 0.54661, type = C + area = 10221.00000, perimeter = 405.29999, major_axis_length = 168.63374, minor_axis_length = 78.04261, eccentricity = 0.88647, convex_area = 10368.00000, extent = 0.60272, type = O + area = 11490.00000, perimeter = 445.68600, major_axis_length = 179.86176, minor_axis_length = 83.72573, eccentricity = 0.88505, convex_area = 12020.00000, extent = 0.56892, type = O + area = 12768.00000, perimeter = 450.60001, major_axis_length = 188.64336, minor_axis_length = 86.66716, eccentricity = 0.88822, convex_area = 12961.00000, extent = 0.79820, type = O + area = 9677.00000, perimeter = 390.61700, major_axis_length = 160.35306, minor_axis_length = 77.40150, eccentricity = 0.87579, convex_area = 9913.00000, extent = 0.76583, type = O + area = 11742.00000, perimeter = 437.90302, major_axis_length = 182.25706, minor_axis_length = 83.00418, eccentricity = 0.89027, convex_area = 11974.00000, extent = 0.58890, type = O + area = 10264.00000, perimeter = 410.13901, major_axis_length = 169.60396, minor_axis_length = 78.00386, eccentricity = 0.88796, convex_area = 10572.00000, extent = 0.59577, type = O + area = 11540.00000, perimeter = 427.31900, major_axis_length = 174.08281, minor_axis_length = 85.41787, eccentricity = 0.87134, convex_area = 11829.00000, extent = 0.74519, type = O + area = 11787.00000, perimeter = 434.51401, major_axis_length = 181.29047, minor_axis_length = 83.34933, eccentricity = 0.88805, convex_area = 11965.00000, extent = 0.74413, type = O + area = 11917.00000, perimeter = 437.30399, major_axis_length = 179.57648, minor_axis_length = 85.64931, eccentricity = 0.87893, convex_area = 12192.00000, extent = 0.63936, type = O + area = 10138.00000, perimeter = 414.00900, major_axis_length = 171.61974, minor_axis_length = 77.15939, eccentricity = 0.89323, convex_area = 10425.00000, extent = 0.56643, type = O + area = 14434.00000, perimeter = 488.28699, major_axis_length = 201.64925, minor_axis_length = 92.53371, eccentricity = 0.88850, convex_area = 14826.00000, extent = 0.70776, type = C + area = 10380.00000, perimeter = 399.05301, major_axis_length = 161.87367, minor_axis_length = 82.76502, eccentricity = 0.85941, convex_area = 10606.00000, extent = 0.68596, type = O + area = 11030.00000, perimeter = 417.48801, major_axis_length = 172.44844, minor_axis_length = 82.73074, eccentricity = 0.87741, convex_area = 11275.00000, extent = 0.65143, type = O + area = 10832.00000, perimeter = 420.07700, major_axis_length = 167.82939, minor_axis_length = 84.05240, eccentricity = 0.86555, convex_area = 11207.00000, extent = 0.59730, type = O + area = 10851.00000, perimeter = 408.92999, major_axis_length = 168.00822, minor_axis_length = 83.32895, eccentricity = 0.86833, convex_area = 11007.00000, extent = 0.61555, type = O + area = 13678.00000, perimeter = 472.12299, major_axis_length = 200.25354, minor_axis_length = 88.02669, eccentricity = 0.89821, convex_area = 13879.00000, extent = 0.57884, type = C + area = 16006.00000, perimeter = 528.17603, major_axis_length = 222.67191, minor_axis_length = 93.09613, eccentricity = 0.90841, convex_area = 16466.00000, extent = 0.61185, type = C + area = 16602.00000, perimeter = 528.35303, major_axis_length = 224.41542, minor_axis_length = 95.47276, eccentricity = 0.90499, convex_area = 16900.00000, extent = 0.56548, type = C + area = 15907.00000, perimeter = 527.21100, major_axis_length = 224.25220, minor_axis_length = 91.44114, eccentricity = 0.91309, convex_area = 16206.00000, extent = 0.54767, type = C + area = 11900.00000, perimeter = 442.42300, major_axis_length = 184.06094, minor_axis_length = 83.16405, eccentricity = 0.89210, convex_area = 12119.00000, extent = 0.60388, type = O + area = 11358.00000, perimeter = 421.82199, major_axis_length = 171.41608, minor_axis_length = 85.97816, eccentricity = 0.86511, convex_area = 11637.00000, extent = 0.64333, type = O + area = 15757.00000, perimeter = 509.28101, major_axis_length = 207.29668, minor_axis_length = 98.33614, eccentricity = 0.88032, convex_area = 16150.00000, extent = 0.58971, type = C + area = 14988.00000, perimeter = 499.35501, major_axis_length = 212.26198, minor_axis_length = 90.98808, eccentricity = 0.90347, convex_area = 15245.00000, extent = 0.58869, type = C + area = 13269.00000, perimeter = 485.61499, major_axis_length = 207.12245, minor_axis_length = 83.32397, eccentricity = 0.91551, convex_area = 13741.00000, extent = 0.71477, type = C + area = 10604.00000, perimeter = 409.19101, major_axis_length = 169.17116, minor_axis_length = 80.42681, eccentricity = 0.87976, convex_area = 10780.00000, extent = 0.78432, type = O + area = 11720.00000, perimeter = 425.45001, major_axis_length = 171.58801, minor_axis_length = 88.36038, eccentricity = 0.85722, convex_area = 11912.00000, extent = 0.77920, type = O + area = 11435.00000, perimeter = 424.24301, major_axis_length = 175.18497, minor_axis_length = 84.44195, eccentricity = 0.87616, convex_area = 11660.00000, extent = 0.80144, type = O + area = 12364.00000, perimeter = 442.85501, major_axis_length = 175.35739, minor_axis_length = 91.60603, eccentricity = 0.85270, convex_area = 12679.00000, extent = 0.61789, type = O + area = 10655.00000, perimeter = 417.97400, major_axis_length = 177.50758, minor_axis_length = 77.15759, eccentricity = 0.90059, convex_area = 10822.00000, extent = 0.73356, type = O + area = 9669.00000, perimeter = 388.60699, major_axis_length = 151.43846, minor_axis_length = 83.59090, eccentricity = 0.83386, convex_area = 10012.00000, extent = 0.73389, type = O + area = 11512.00000, perimeter = 414.60001, major_axis_length = 166.64420, minor_axis_length = 88.62691, eccentricity = 0.84685, convex_area = 11700.00000, extent = 0.77055, type = O + area = 13286.00000, perimeter = 480.07101, major_axis_length = 202.54840, minor_axis_length = 85.11695, eccentricity = 0.90742, convex_area = 13633.00000, extent = 0.55014, type = C + area = 12683.00000, perimeter = 448.63699, major_axis_length = 186.15756, minor_axis_length = 87.55859, eccentricity = 0.88248, convex_area = 12847.00000, extent = 0.59095, type = O + area = 10727.00000, perimeter = 406.45300, major_axis_length = 168.96371, minor_axis_length = 81.32387, eccentricity = 0.87655, convex_area = 10868.00000, extent = 0.79778, type = O + area = 13218.00000, perimeter = 458.76300, major_axis_length = 183.63066, minor_axis_length = 93.50396, eccentricity = 0.86065, convex_area = 13547.00000, extent = 0.77662, type = O + area = 11267.00000, perimeter = 421.86899, major_axis_length = 170.35622, minor_axis_length = 86.01099, eccentricity = 0.86318, convex_area = 11576.00000, extent = 0.74076, type = O + area = 11867.00000, perimeter = 434.81299, major_axis_length = 185.70448, minor_axis_length = 81.84723, eccentricity = 0.89764, convex_area = 12004.00000, extent = 0.68107, type = O + area = 15035.00000, perimeter = 486.65302, major_axis_length = 198.21983, minor_axis_length = 97.85750, eccentricity = 0.86964, convex_area = 15279.00000, extent = 0.62376, type = C + area = 15550.00000, perimeter = 505.76300, major_axis_length = 211.37883, minor_axis_length = 94.41613, eccentricity = 0.89470, convex_area = 15896.00000, extent = 0.71884, type = C + area = 10387.00000, perimeter = 400.58099, major_axis_length = 164.76086, minor_axis_length = 81.01570, eccentricity = 0.87076, convex_area = 10536.00000, extent = 0.80663, type = O + area = 13524.00000, perimeter = 472.73499, major_axis_length = 192.08578, minor_axis_length = 91.37777, eccentricity = 0.87960, convex_area = 13947.00000, extent = 0.59630, type = O + area = 12202.00000, perimeter = 442.36200, major_axis_length = 180.03778, minor_axis_length = 87.39918, eccentricity = 0.87426, convex_area = 12521.00000, extent = 0.77918, type = C + area = 11910.00000, perimeter = 434.73801, major_axis_length = 178.36728, minor_axis_length = 86.32252, eccentricity = 0.87509, convex_area = 12118.00000, extent = 0.79163, type = O + area = 14400.00000, perimeter = 481.50601, major_axis_length = 193.78296, minor_axis_length = 96.51619, eccentricity = 0.86714, convex_area = 14876.00000, extent = 0.68389, type = C + area = 12695.00000, perimeter = 447.83401, major_axis_length = 179.08238, minor_axis_length = 91.47324, eccentricity = 0.85971, convex_area = 12947.00000, extent = 0.60797, type = O + area = 12406.00000, perimeter = 441.87799, major_axis_length = 177.86269, minor_axis_length = 90.56725, eccentricity = 0.86065, convex_area = 12864.00000, extent = 0.62386, type = O + area = 13983.00000, perimeter = 481.65900, major_axis_length = 198.39046, minor_axis_length = 90.49815, eccentricity = 0.88990, convex_area = 14306.00000, extent = 0.58802, type = C + area = 13627.00000, perimeter = 476.98901, major_axis_length = 201.19452, minor_axis_length = 86.95226, eccentricity = 0.90179, convex_area = 13926.00000, extent = 0.78056, type = C + area = 11589.00000, perimeter = 449.36099, major_axis_length = 196.64670, minor_axis_length = 75.97960, eccentricity = 0.92234, convex_area = 11783.00000, extent = 0.56293, type = C + area = 15290.00000, perimeter = 501.05701, major_axis_length = 209.36775, minor_axis_length = 94.17390, eccentricity = 0.89313, convex_area = 15582.00000, extent = 0.75783, type = C + area = 13726.00000, perimeter = 484.24701, major_axis_length = 209.70306, minor_axis_length = 83.88441, eccentricity = 0.91651, convex_area = 13969.00000, extent = 0.55560, type = C + area = 9373.00000, perimeter = 383.04901, major_axis_length = 159.37862, minor_axis_length = 75.75037, eccentricity = 0.87983, convex_area = 9520.00000, extent = 0.72390, type = O + area = 16094.00000, perimeter = 504.12601, major_axis_length = 208.37119, minor_axis_length = 99.03030, eccentricity = 0.87985, convex_area = 16325.00000, extent = 0.64853, type = C + area = 12888.00000, perimeter = 467.19800, major_axis_length = 199.15642, minor_axis_length = 83.28893, eccentricity = 0.90835, convex_area = 13222.00000, extent = 0.72584, type = C + area = 13314.00000, perimeter = 457.69800, major_axis_length = 182.67232, minor_axis_length = 94.06268, eccentricity = 0.85723, convex_area = 13562.00000, extent = 0.61451, type = O + area = 12091.00000, perimeter = 442.00000, major_axis_length = 181.21178, minor_axis_length = 86.29922, eccentricity = 0.87932, convex_area = 12400.00000, extent = 0.63503, type = O + area = 12058.00000, perimeter = 433.39001, major_axis_length = 175.53603, minor_axis_length = 88.45161, eccentricity = 0.86377, convex_area = 12283.00000, extent = 0.68605, type = O + area = 12213.00000, perimeter = 452.40399, major_axis_length = 192.34183, minor_axis_length = 81.44420, eccentricity = 0.90593, convex_area = 12406.00000, extent = 0.64262, type = O + area = 11091.00000, perimeter = 416.94501, major_axis_length = 171.77408, minor_axis_length = 82.73455, eccentricity = 0.87637, convex_area = 11292.00000, extent = 0.61013, type = O + area = 13620.00000, perimeter = 479.87701, major_axis_length = 203.39711, minor_axis_length = 86.37573, eccentricity = 0.90535, convex_area = 13987.00000, extent = 0.63577, type = C + area = 12491.00000, perimeter = 457.14099, major_axis_length = 194.87546, minor_axis_length = 82.49109, eccentricity = 0.90599, convex_area = 12721.00000, extent = 0.77048, type = C + area = 12859.00000, perimeter = 445.01001, major_axis_length = 184.30518, minor_axis_length = 89.47381, eccentricity = 0.87426, convex_area = 13030.00000, extent = 0.71044, type = C + area = 12243.00000, perimeter = 449.68100, major_axis_length = 182.02620, minor_axis_length = 87.13171, eccentricity = 0.87799, convex_area = 12744.00000, extent = 0.77857, type = O + area = 11072.00000, perimeter = 421.00000, major_axis_length = 174.78931, minor_axis_length = 81.57894, eccentricity = 0.88440, convex_area = 11245.00000, extent = 0.79540, type = O + area = 11197.00000, perimeter = 429.45001, major_axis_length = 178.21692, minor_axis_length = 81.27737, eccentricity = 0.88995, convex_area = 11461.00000, extent = 0.56884, type = O + area = 13425.00000, perimeter = 477.19800, major_axis_length = 199.75636, minor_axis_length = 86.64097, eccentricity = 0.90104, convex_area = 13784.00000, extent = 0.61167, type = C + area = 13636.00000, perimeter = 481.25601, major_axis_length = 203.92857, minor_axis_length = 86.18014, eccentricity = 0.90632, convex_area = 13888.00000, extent = 0.54971, type = C + area = 14634.00000, perimeter = 493.02701, major_axis_length = 208.13615, minor_axis_length = 90.37943, eccentricity = 0.90080, convex_area = 14898.00000, extent = 0.71025, type = C + area = 13266.00000, perimeter = 466.00000, major_axis_length = 198.06139, minor_axis_length = 86.09348, eccentricity = 0.90058, convex_area = 13514.00000, extent = 0.65434, type = C + area = 11883.00000, perimeter = 429.13101, major_axis_length = 171.33429, minor_axis_length = 89.82451, eccentricity = 0.85156, convex_area = 12179.00000, extent = 0.76364, type = O + area = 11338.00000, perimeter = 420.79401, major_axis_length = 177.27419, minor_axis_length = 82.13946, eccentricity = 0.88618, convex_area = 11481.00000, extent = 0.82011, type = O + area = 12682.00000, perimeter = 459.96500, major_axis_length = 195.43550, minor_axis_length = 83.60432, eccentricity = 0.90388, convex_area = 12892.00000, extent = 0.58281, type = C + area = 12261.00000, perimeter = 438.89801, major_axis_length = 173.36475, minor_axis_length = 90.88268, eccentricity = 0.85158, convex_area = 12499.00000, extent = 0.77882, type = O + area = 12368.00000, perimeter = 449.85800, major_axis_length = 182.73238, minor_axis_length = 87.26391, eccentricity = 0.87860, convex_area = 12722.00000, extent = 0.60866, type = O + area = 11585.00000, perimeter = 428.37299, major_axis_length = 171.56198, minor_axis_length = 87.44052, eccentricity = 0.86037, convex_area = 11939.00000, extent = 0.60890, type = O + area = 9760.00000, perimeter = 399.57501, major_axis_length = 167.36522, minor_axis_length = 75.54492, eccentricity = 0.89233, convex_area = 10012.00000, extent = 0.61384, type = O + area = 15238.00000, perimeter = 506.11499, major_axis_length = 218.36040, minor_axis_length = 89.61969, eccentricity = 0.91190, convex_area = 15529.00000, extent = 0.54722, type = C + area = 11907.00000, perimeter = 448.06100, major_axis_length = 188.30240, minor_axis_length = 82.26176, eccentricity = 0.89953, convex_area = 12156.00000, extent = 0.76132, type = O + area = 12042.00000, perimeter = 440.70001, major_axis_length = 177.11136, minor_axis_length = 88.22966, eccentricity = 0.86709, convex_area = 12424.00000, extent = 0.75169, type = O + area = 10198.00000, perimeter = 400.19501, major_axis_length = 166.59412, minor_axis_length = 78.23194, eccentricity = 0.88288, convex_area = 10351.00000, extent = 0.62499, type = O + area = 15857.00000, perimeter = 515.32202, major_axis_length = 219.96548, minor_axis_length = 93.15427, eccentricity = 0.90590, convex_area = 16109.00000, extent = 0.69916, type = C + area = 10993.00000, perimeter = 428.70401, major_axis_length = 179.57823, minor_axis_length = 78.64101, eccentricity = 0.89901, convex_area = 11169.00000, extent = 0.56876, type = O + area = 12624.00000, perimeter = 451.75699, major_axis_length = 188.23636, minor_axis_length = 86.35599, eccentricity = 0.88856, convex_area = 12878.00000, extent = 0.80902, type = O + area = 14587.00000, perimeter = 491.80399, major_axis_length = 204.83463, minor_axis_length = 91.91319, eccentricity = 0.89367, convex_area = 14926.00000, extent = 0.60982, type = C + area = 10554.00000, perimeter = 406.91901, major_axis_length = 165.53139, minor_axis_length = 82.37079, eccentricity = 0.86740, convex_area = 10841.00000, extent = 0.64022, type = O + area = 14263.00000, perimeter = 490.75101, major_axis_length = 203.77844, minor_axis_length = 90.26588, eccentricity = 0.89654, convex_area = 14779.00000, extent = 0.73155, type = C + area = 13806.00000, perimeter = 494.03201, major_axis_length = 212.38689, minor_axis_length = 83.93067, eccentricity = 0.91860, convex_area = 14247.00000, extent = 0.53363, type = C + area = 13629.00000, perimeter = 470.67801, major_axis_length = 202.24448, minor_axis_length = 86.40013, eccentricity = 0.90415, convex_area = 13785.00000, extent = 0.56677, type = O + area = 12071.00000, perimeter = 438.70001, major_axis_length = 178.78461, minor_axis_length = 87.50312, eccentricity = 0.87204, convex_area = 12437.00000, extent = 0.64537, type = O + area = 12621.00000, perimeter = 444.58801, major_axis_length = 184.94313, minor_axis_length = 87.62446, eccentricity = 0.88064, convex_area = 12832.00000, extent = 0.73399, type = C + area = 11264.00000, perimeter = 423.39099, major_axis_length = 172.13951, minor_axis_length = 84.22161, eccentricity = 0.87214, convex_area = 11476.00000, extent = 0.73243, type = O + area = 12685.00000, perimeter = 468.59601, major_axis_length = 199.65999, minor_axis_length = 82.19839, eccentricity = 0.91132, convex_area = 13042.00000, extent = 0.69591, type = C + area = 13584.00000, perimeter = 478.53699, major_axis_length = 204.62065, minor_axis_length = 84.80614, eccentricity = 0.91007, convex_area = 13817.00000, extent = 0.67602, type = C + area = 12583.00000, perimeter = 434.00299, major_axis_length = 171.65707, minor_axis_length = 94.46523, eccentricity = 0.83496, convex_area = 12897.00000, extent = 0.74328, type = O + area = 12602.00000, perimeter = 465.91699, major_axis_length = 194.45514, minor_axis_length = 84.83201, eccentricity = 0.89982, convex_area = 13039.00000, extent = 0.65026, type = C + area = 15107.00000, perimeter = 488.86600, major_axis_length = 205.21521, minor_axis_length = 94.36982, eccentricity = 0.88799, convex_area = 15322.00000, extent = 0.78723, type = C + area = 12960.00000, perimeter = 460.86700, major_axis_length = 191.51770, minor_axis_length = 86.79779, eccentricity = 0.89140, convex_area = 13211.00000, extent = 0.58824, type = O + area = 11856.00000, perimeter = 456.42200, major_axis_length = 201.00337, minor_axis_length = 75.42108, eccentricity = 0.92693, convex_area = 12027.00000, extent = 0.71646, type = C + area = 14969.00000, perimeter = 494.41699, major_axis_length = 207.20992, minor_axis_length = 92.91051, eccentricity = 0.89384, convex_area = 15286.00000, extent = 0.63970, type = C + area = 14045.00000, perimeter = 482.74200, major_axis_length = 200.02724, minor_axis_length = 90.71384, eccentricity = 0.89125, convex_area = 14305.00000, extent = 0.57261, type = C + area = 14434.00000, perimeter = 477.61899, major_axis_length = 200.38988, minor_axis_length = 92.38155, eccentricity = 0.88740, convex_area = 14660.00000, extent = 0.78343, type = C + area = 11891.00000, perimeter = 430.30099, major_axis_length = 175.01674, minor_axis_length = 87.99029, eccentricity = 0.86443, convex_area = 12170.00000, extent = 0.61039, type = O + area = 15200.00000, perimeter = 502.58801, major_axis_length = 214.13380, minor_axis_length = 91.11753, eccentricity = 0.90495, convex_area = 15461.00000, extent = 0.62413, type = C + area = 15681.00000, perimeter = 507.69699, major_axis_length = 207.02451, minor_axis_length = 97.75848, eccentricity = 0.88149, convex_area = 16088.00000, extent = 0.69250, type = C + area = 12860.00000, perimeter = 469.55899, major_axis_length = 197.66103, minor_axis_length = 84.11711, eccentricity = 0.90493, convex_area = 13269.00000, extent = 0.56453, type = C + area = 17313.00000, perimeter = 531.98401, major_axis_length = 225.53459, minor_axis_length = 98.44350, eccentricity = 0.89971, convex_area = 17582.00000, extent = 0.56988, type = C + area = 11694.00000, perimeter = 432.97699, major_axis_length = 181.48441, minor_axis_length = 82.97145, eccentricity = 0.88937, convex_area = 11893.00000, extent = 0.76391, type = C + area = 13862.00000, perimeter = 482.21399, major_axis_length = 199.17963, minor_axis_length = 89.91952, eccentricity = 0.89230, convex_area = 14218.00000, extent = 0.57590, type = C + area = 12172.00000, perimeter = 434.02701, major_axis_length = 180.72369, minor_axis_length = 86.31447, eccentricity = 0.87857, convex_area = 12311.00000, extent = 0.79514, type = O + area = 15077.00000, perimeter = 504.63699, major_axis_length = 212.94246, minor_axis_length = 91.21267, eccentricity = 0.90362, convex_area = 15404.00000, extent = 0.78649, type = C + area = 12752.00000, perimeter = 453.49500, major_axis_length = 185.51085, minor_axis_length = 89.19170, eccentricity = 0.87684, convex_area = 13105.00000, extent = 0.68317, type = O + area = 13874.00000, perimeter = 486.81799, major_axis_length = 207.80724, minor_axis_length = 85.49026, eccentricity = 0.91146, convex_area = 14116.00000, extent = 0.56940, type = C + area = 10858.00000, perimeter = 412.21701, major_axis_length = 166.96233, minor_axis_length = 84.06575, eccentricity = 0.86399, convex_area = 11171.00000, extent = 0.79290, type = O + area = 12016.00000, perimeter = 469.42499, major_axis_length = 196.94925, minor_axis_length = 79.83517, eccentricity = 0.91416, convex_area = 12464.00000, extent = 0.56297, type = C + area = 12347.00000, perimeter = 438.80600, major_axis_length = 181.89268, minor_axis_length = 86.87766, eccentricity = 0.87856, convex_area = 12529.00000, extent = 0.80657, type = C + area = 15486.00000, perimeter = 509.13599, major_axis_length = 211.11356, minor_axis_length = 94.82224, eccentricity = 0.89345, convex_area = 15921.00000, extent = 0.68634, type = C + area = 12060.00000, perimeter = 438.77499, major_axis_length = 177.40103, minor_axis_length = 87.37785, eccentricity = 0.87029, convex_area = 12420.00000, extent = 0.64867, type = O + area = 14439.00000, perimeter = 492.32300, major_axis_length = 205.41563, minor_axis_length = 91.42163, eccentricity = 0.89550, convex_area = 14867.00000, extent = 0.78082, type = C + area = 13541.00000, perimeter = 478.46100, major_axis_length = 206.69949, minor_axis_length = 84.09856, eccentricity = 0.91349, convex_area = 13768.00000, extent = 0.81347, type = C + area = 12061.00000, perimeter = 432.68900, major_axis_length = 174.20279, minor_axis_length = 90.06543, eccentricity = 0.85598, convex_area = 12378.00000, extent = 0.62801, type = O + area = 13621.00000, perimeter = 477.54300, major_axis_length = 200.95772, minor_axis_length = 87.28851, eccentricity = 0.90074, convex_area = 13956.00000, extent = 0.79590, type = C + area = 15809.00000, perimeter = 518.45502, major_axis_length = 221.07068, minor_axis_length = 92.23230, eccentricity = 0.90881, convex_area = 16079.00000, extent = 0.81481, type = C + area = 14966.00000, perimeter = 490.74301, major_axis_length = 207.63942, minor_axis_length = 92.16422, eccentricity = 0.89609, convex_area = 15158.00000, extent = 0.78885, type = C + area = 11398.00000, perimeter = 431.73999, major_axis_length = 179.46735, minor_axis_length = 81.84264, eccentricity = 0.88996, convex_area = 11627.00000, extent = 0.59402, type = O + area = 12975.00000, perimeter = 458.54700, major_axis_length = 189.81834, minor_axis_length = 87.65503, eccentricity = 0.88699, convex_area = 13254.00000, extent = 0.70902, type = C + area = 12768.00000, perimeter = 464.82001, major_axis_length = 195.38815, minor_axis_length = 84.35992, eccentricity = 0.90199, convex_area = 13085.00000, extent = 0.58299, type = C + area = 14842.00000, perimeter = 505.72601, major_axis_length = 214.95474, minor_axis_length = 88.66093, eccentricity = 0.91097, convex_area = 15313.00000, extent = 0.54450, type = C + area = 14556.00000, perimeter = 487.41901, major_axis_length = 208.73126, minor_axis_length = 89.19512, eccentricity = 0.90410, convex_area = 14819.00000, extent = 0.77649, type = C + area = 14730.00000, perimeter = 483.70599, major_axis_length = 196.45126, minor_axis_length = 96.88643, eccentricity = 0.86993, convex_area = 15006.00000, extent = 0.65310, type = C + area = 13751.00000, perimeter = 451.94101, major_axis_length = 175.41118, minor_axis_length = 101.14427, eccentricity = 0.81702, convex_area = 14063.00000, extent = 0.75701, type = O + area = 13918.00000, perimeter = 489.04001, major_axis_length = 207.88174, minor_axis_length = 86.49023, eccentricity = 0.90934, convex_area = 14263.00000, extent = 0.71876, type = C + area = 11440.00000, perimeter = 425.75201, major_axis_length = 170.70784, minor_axis_length = 87.12856, eccentricity = 0.85994, convex_area = 11816.00000, extent = 0.61216, type = O + area = 13737.00000, perimeter = 484.38501, major_axis_length = 209.54352, minor_axis_length = 84.16575, eccentricity = 0.91579, convex_area = 13944.00000, extent = 0.60521, type = C + area = 14013.00000, perimeter = 480.83099, major_axis_length = 191.84508, minor_axis_length = 94.87569, eccentricity = 0.86915, convex_area = 14622.00000, extent = 0.62592, type = C + area = 14294.00000, perimeter = 514.47699, major_axis_length = 226.40727, minor_axis_length = 81.59251, eccentricity = 0.93281, convex_area = 14731.00000, extent = 0.51101, type = C + area = 11794.00000, perimeter = 430.38000, major_axis_length = 178.44585, minor_axis_length = 84.78594, eccentricity = 0.87991, convex_area = 12056.00000, extent = 0.75294, type = C + area = 12907.00000, perimeter = 465.34201, major_axis_length = 195.65497, minor_axis_length = 84.88218, eccentricity = 0.90099, convex_area = 13151.00000, extent = 0.57334, type = C + area = 14368.00000, perimeter = 491.56299, major_axis_length = 211.29707, minor_axis_length = 87.20802, eccentricity = 0.91085, convex_area = 14596.00000, extent = 0.62442, type = C + area = 13652.00000, perimeter = 486.62799, major_axis_length = 210.34523, minor_axis_length = 83.29913, eccentricity = 0.91825, convex_area = 13950.00000, extent = 0.57980, type = C + area = 12405.00000, perimeter = 437.08600, major_axis_length = 178.09366, minor_axis_length = 89.96077, eccentricity = 0.86304, convex_area = 12615.00000, extent = 0.81015, type = O + area = 13268.00000, perimeter = 473.43399, major_axis_length = 200.70084, minor_axis_length = 84.70035, eccentricity = 0.90659, convex_area = 13562.00000, extent = 0.71622, type = C + area = 12801.00000, perimeter = 459.42401, major_axis_length = 195.09933, minor_axis_length = 84.79961, eccentricity = 0.90060, convex_area = 13058.00000, extent = 0.76160, type = C + area = 11512.00000, perimeter = 427.56799, major_axis_length = 172.21010, minor_axis_length = 85.44306, eccentricity = 0.86823, convex_area = 11802.00000, extent = 0.69079, type = O + area = 10962.00000, perimeter = 418.66101, major_axis_length = 171.63890, minor_axis_length = 82.79927, eccentricity = 0.87595, convex_area = 11258.00000, extent = 0.71647, type = O + area = 14549.00000, perimeter = 488.95300, major_axis_length = 206.69482, minor_axis_length = 90.76069, eccentricity = 0.89844, convex_area = 14856.00000, extent = 0.58247, type = C + area = 13111.00000, perimeter = 467.62100, major_axis_length = 193.56772, minor_axis_length = 88.06787, eccentricity = 0.89051, convex_area = 13456.00000, extent = 0.61917, type = O + area = 11201.00000, perimeter = 416.53500, major_axis_length = 171.00299, minor_axis_length = 84.24180, eccentricity = 0.87024, convex_area = 11384.00000, extent = 0.75764, type = O + area = 12921.00000, perimeter = 477.12100, major_axis_length = 197.70015, minor_axis_length = 84.82759, eccentricity = 0.90327, convex_area = 13557.00000, extent = 0.72395, type = C + area = 11226.00000, perimeter = 413.54999, major_axis_length = 168.53348, minor_axis_length = 85.62770, eccentricity = 0.86131, convex_area = 11424.00000, extent = 0.77240, type = O + area = 14850.00000, perimeter = 509.27499, major_axis_length = 215.96320, minor_axis_length = 89.12655, eccentricity = 0.91087, convex_area = 15372.00000, extent = 0.79942, type = C + area = 13831.00000, perimeter = 483.61600, major_axis_length = 202.87578, minor_axis_length = 88.29086, eccentricity = 0.90034, convex_area = 14270.00000, extent = 0.59107, type = C + area = 10286.00000, perimeter = 418.28900, major_axis_length = 175.14859, minor_axis_length = 75.85381, eccentricity = 0.90135, convex_area = 10548.00000, extent = 0.64159, type = O + area = 11449.00000, perimeter = 411.29999, major_axis_length = 156.92549, minor_axis_length = 94.25743, eccentricity = 0.79951, convex_area = 11696.00000, extent = 0.72425, type = O + area = 12269.00000, perimeter = 436.01199, major_axis_length = 177.88475, minor_axis_length = 88.84811, eccentricity = 0.86633, convex_area = 12466.00000, extent = 0.74584, type = O + area = 12692.00000, perimeter = 465.17200, major_axis_length = 193.20732, minor_axis_length = 85.29054, eccentricity = 0.89729, convex_area = 13118.00000, extent = 0.71480, type = C + area = 11316.00000, perimeter = 418.54901, major_axis_length = 170.68570, minor_axis_length = 85.69088, eccentricity = 0.86484, convex_area = 11497.00000, extent = 0.60839, type = O + area = 12935.00000, perimeter = 462.98001, major_axis_length = 195.30432, minor_axis_length = 85.48748, eccentricity = 0.89911, convex_area = 13213.00000, extent = 0.75304, type = C + area = 11748.00000, perimeter = 446.69501, major_axis_length = 190.21332, minor_axis_length = 79.88956, eccentricity = 0.90752, convex_area = 11926.00000, extent = 0.80976, type = O + area = 14953.00000, perimeter = 503.75201, major_axis_length = 217.10368, minor_axis_length = 88.61492, eccentricity = 0.91291, convex_area = 15229.00000, extent = 0.72314, type = C + area = 12056.00000, perimeter = 431.85101, major_axis_length = 182.36313, minor_axis_length = 84.43254, eccentricity = 0.88636, convex_area = 12191.00000, extent = 0.79735, type = O + area = 11445.00000, perimeter = 426.18100, major_axis_length = 172.97737, minor_axis_length = 86.00354, eccentricity = 0.86764, convex_area = 11734.00000, extent = 0.61138, type = O + area = 12397.00000, perimeter = 446.31900, major_axis_length = 184.80026, minor_axis_length = 86.41624, eccentricity = 0.88393, convex_area = 12594.00000, extent = 0.59785, type = O + area = 14434.00000, perimeter = 486.66800, major_axis_length = 201.27196, minor_axis_length = 92.73377, eccentricity = 0.88754, convex_area = 14754.00000, extent = 0.62599, type = C + area = 10664.00000, perimeter = 414.93900, major_axis_length = 168.07909, minor_axis_length = 81.73141, eccentricity = 0.87381, convex_area = 10929.00000, extent = 0.64536, type = O + area = 14493.00000, perimeter = 506.84100, major_axis_length = 219.00308, minor_axis_length = 84.91930, eccentricity = 0.92176, convex_area = 14804.00000, extent = 0.54111, type = C + area = 11869.00000, perimeter = 434.25201, major_axis_length = 177.87265, minor_axis_length = 86.16555, eccentricity = 0.87483, convex_area = 12144.00000, extent = 0.62151, type = O + area = 13983.00000, perimeter = 483.66800, major_axis_length = 201.48521, minor_axis_length = 89.05701, eccentricity = 0.89701, convex_area = 14320.00000, extent = 0.56749, type = C + area = 13760.00000, perimeter = 474.18799, major_axis_length = 198.39156, minor_axis_length = 89.04605, eccentricity = 0.89361, convex_area = 13989.00000, extent = 0.63375, type = C + area = 11592.00000, perimeter = 436.39999, major_axis_length = 178.13594, minor_axis_length = 83.72199, eccentricity = 0.88267, convex_area = 11844.00000, extent = 0.72360, type = O + area = 11003.00000, perimeter = 417.05899, major_axis_length = 168.23433, minor_axis_length = 85.01897, eccentricity = 0.86291, convex_area = 11270.00000, extent = 0.61128, type = O + area = 11879.00000, perimeter = 446.14301, major_axis_length = 187.91023, minor_axis_length = 81.59092, eccentricity = 0.90082, convex_area = 12095.00000, extent = 0.65269, type = O + area = 11975.00000, perimeter = 458.90201, major_axis_length = 199.04269, minor_axis_length = 78.03677, eccentricity = 0.91994, convex_area = 12288.00000, extent = 0.79983, type = C + area = 12317.00000, perimeter = 432.30099, major_axis_length = 174.63092, minor_axis_length = 90.63893, eccentricity = 0.85476, convex_area = 12506.00000, extent = 0.63802, type = O + area = 15543.00000, perimeter = 507.38501, major_axis_length = 211.65121, minor_axis_length = 94.57140, eccentricity = 0.89462, convex_area = 15976.00000, extent = 0.65293, type = C + area = 11901.00000, perimeter = 436.14099, major_axis_length = 174.57289, minor_axis_length = 88.44688, eccentricity = 0.86215, convex_area = 12172.00000, extent = 0.58310, type = O + area = 18913.00000, perimeter = 541.74597, major_axis_length = 227.13548, minor_axis_length = 106.94836, eccentricity = 0.88221, convex_area = 19099.00000, extent = 0.80412, type = C + area = 11419.00000, perimeter = 431.51300, major_axis_length = 175.95653, minor_axis_length = 83.67270, eccentricity = 0.87970, convex_area = 11732.00000, extent = 0.66778, type = O + area = 11000.00000, perimeter = 413.26099, major_axis_length = 167.33331, minor_axis_length = 84.73780, eccentricity = 0.86230, convex_area = 11158.00000, extent = 0.79365, type = O + area = 11962.00000, perimeter = 449.44199, major_axis_length = 192.08891, minor_axis_length = 80.96473, eccentricity = 0.90683, convex_area = 12171.00000, extent = 0.53890, type = C + area = 11321.00000, perimeter = 424.57599, major_axis_length = 173.99763, minor_axis_length = 84.73989, eccentricity = 0.87339, convex_area = 11631.00000, extent = 0.62190, type = O + area = 11760.00000, perimeter = 432.53201, major_axis_length = 176.14377, minor_axis_length = 86.02405, eccentricity = 0.87263, convex_area = 12055.00000, extent = 0.63287, type = O + area = 13186.00000, perimeter = 477.33401, major_axis_length = 201.59677, minor_axis_length = 84.66999, eccentricity = 0.90753, convex_area = 13516.00000, extent = 0.54183, type = C + area = 10536.00000, perimeter = 397.49899, major_axis_length = 160.96791, minor_axis_length = 83.69868, eccentricity = 0.85418, convex_area = 10711.00000, extent = 0.67538, type = O + area = 10085.00000, perimeter = 412.13501, major_axis_length = 172.96211, minor_axis_length = 75.26066, eccentricity = 0.90037, convex_area = 10351.00000, extent = 0.69831, type = O + area = 10572.00000, perimeter = 403.26901, major_axis_length = 164.57251, minor_axis_length = 81.97684, eccentricity = 0.86711, convex_area = 10745.00000, extent = 0.74709, type = O + area = 11489.00000, perimeter = 432.20700, major_axis_length = 182.36238, minor_axis_length = 81.07018, eccentricity = 0.89575, convex_area = 11683.00000, extent = 0.79907, type = O + area = 12259.00000, perimeter = 440.03000, major_axis_length = 177.31454, minor_axis_length = 89.53557, eccentricity = 0.86315, convex_area = 12533.00000, extent = 0.72414, type = O + area = 10964.00000, perimeter = 417.98700, major_axis_length = 171.39023, minor_axis_length = 82.60121, eccentricity = 0.87620, convex_area = 11247.00000, extent = 0.59668, type = O + area = 14363.00000, perimeter = 493.26099, major_axis_length = 210.56975, minor_axis_length = 87.41584, eccentricity = 0.90976, convex_area = 14621.00000, extent = 0.57706, type = C + area = 11999.00000, perimeter = 465.65799, major_axis_length = 194.78426, minor_axis_length = 80.43824, eccentricity = 0.91075, convex_area = 12364.00000, extent = 0.53701, type = C + area = 11014.00000, perimeter = 411.21799, major_axis_length = 167.13171, minor_axis_length = 85.07861, eccentricity = 0.86074, convex_area = 11185.00000, extent = 0.69660, type = O + area = 14363.00000, perimeter = 499.17099, major_axis_length = 210.24554, minor_axis_length = 88.11178, eccentricity = 0.90794, convex_area = 14669.00000, extent = 0.60685, type = C + area = 13217.00000, perimeter = 471.75101, major_axis_length = 194.13132, minor_axis_length = 88.09218, eccentricity = 0.89112, convex_area = 13520.00000, extent = 0.57209, type = O + area = 13651.00000, perimeter = 502.07999, major_axis_length = 222.07356, minor_axis_length = 79.33727, eccentricity = 0.93401, convex_area = 14034.00000, extent = 0.79265, type = C + area = 11268.00000, perimeter = 429.30701, major_axis_length = 171.26433, minor_axis_length = 85.81079, eccentricity = 0.86542, convex_area = 11576.00000, extent = 0.60865, type = O + area = 13825.00000, perimeter = 483.20001, major_axis_length = 205.75504, minor_axis_length = 86.98260, eccentricity = 0.90625, convex_area = 14023.00000, extent = 0.73958, type = O + area = 10463.00000, perimeter = 417.35699, major_axis_length = 177.17612, minor_axis_length = 76.04584, eccentricity = 0.90320, convex_area = 10681.00000, extent = 0.58322, type = O + area = 13080.00000, perimeter = 474.26001, major_axis_length = 198.95737, minor_axis_length = 84.75006, eccentricity = 0.90474, convex_area = 13511.00000, extent = 0.70277, type = C + area = 12950.00000, perimeter = 468.57001, major_axis_length = 196.61679, minor_axis_length = 84.80032, eccentricity = 0.90221, convex_area = 13584.00000, extent = 0.76181, type = C + area = 14023.00000, perimeter = 491.66901, major_axis_length = 211.15919, minor_axis_length = 85.50137, eccentricity = 0.91435, convex_area = 14262.00000, extent = 0.53914, type = C + area = 11303.00000, perimeter = 426.51001, major_axis_length = 171.10132, minor_axis_length = 85.57962, eccentricity = 0.86593, convex_area = 11623.00000, extent = 0.64848, type = O + area = 12974.00000, perimeter = 460.41699, major_axis_length = 191.32578, minor_axis_length = 87.28571, eccentricity = 0.88987, convex_area = 13310.00000, extent = 0.67721, type = C + area = 14850.00000, perimeter = 498.44299, major_axis_length = 213.76128, minor_axis_length = 88.98867, eccentricity = 0.90923, convex_area = 15071.00000, extent = 0.69650, type = C + area = 14586.00000, perimeter = 484.05301, major_axis_length = 196.40340, minor_axis_length = 95.85622, eccentricity = 0.87281, convex_area = 14976.00000, extent = 0.77154, type = C + area = 10349.00000, perimeter = 408.07599, major_axis_length = 169.36772, minor_axis_length = 79.00407, eccentricity = 0.88454, convex_area = 10608.00000, extent = 0.65733, type = O + area = 13183.00000, perimeter = 464.57199, major_axis_length = 190.69127, minor_axis_length = 88.76956, eccentricity = 0.88504, convex_area = 13473.00000, extent = 0.59391, type = C + area = 14787.00000, perimeter = 492.31299, major_axis_length = 209.67886, minor_axis_length = 90.46774, eccentricity = 0.90213, convex_area = 15066.00000, extent = 0.79568, type = C + area = 10382.00000, perimeter = 405.21301, major_axis_length = 168.42627, minor_axis_length = 78.95872, eccentricity = 0.88330, convex_area = 10599.00000, extent = 0.80182, type = O + area = 11659.00000, perimeter = 429.71500, major_axis_length = 173.34828, minor_axis_length = 87.54778, eccentricity = 0.86310, convex_area = 11912.00000, extent = 0.60876, type = O + area = 11540.00000, perimeter = 427.52301, major_axis_length = 172.79500, minor_axis_length = 86.44035, eccentricity = 0.86588, convex_area = 11765.00000, extent = 0.60711, type = O + area = 16570.00000, perimeter = 519.12299, major_axis_length = 221.01448, minor_axis_length = 96.22779, eccentricity = 0.90024, convex_area = 16757.00000, extent = 0.59234, type = C + area = 11377.00000, perimeter = 429.38599, major_axis_length = 172.53964, minor_axis_length = 85.88434, eccentricity = 0.86731, convex_area = 11746.00000, extent = 0.73542, type = O + area = 9426.00000, perimeter = 402.70999, major_axis_length = 175.97429, minor_axis_length = 68.60754, eccentricity = 0.92087, convex_area = 9578.00000, extent = 0.57743, type = O + area = 11063.00000, perimeter = 418.77499, major_axis_length = 171.65378, minor_axis_length = 83.65955, eccentricity = 0.87319, convex_area = 11318.00000, extent = 0.80341, type = O + area = 12437.00000, perimeter = 434.67200, major_axis_length = 174.96619, minor_axis_length = 91.87350, eccentricity = 0.85104, convex_area = 12670.00000, extent = 0.72863, type = O + area = 14551.00000, perimeter = 502.11200, major_axis_length = 208.19244, minor_axis_length = 90.84801, eccentricity = 0.89977, convex_area = 14962.00000, extent = 0.55802, type = C + area = 11220.00000, perimeter = 418.54901, major_axis_length = 172.75803, minor_axis_length = 83.32672, eccentricity = 0.87599, convex_area = 11380.00000, extent = 0.60662, type = O + area = 14759.00000, perimeter = 483.26700, major_axis_length = 203.96587, minor_axis_length = 92.55145, eccentricity = 0.89112, convex_area = 15002.00000, extent = 0.78505, type = C + area = 12120.00000, perimeter = 439.71399, major_axis_length = 181.69794, minor_axis_length = 85.99254, eccentricity = 0.88092, convex_area = 12335.00000, extent = 0.60254, type = O + area = 9723.00000, perimeter = 388.61700, major_axis_length = 158.36082, minor_axis_length = 79.34258, eccentricity = 0.86543, convex_area = 9949.00000, extent = 0.62519, type = O + area = 10395.00000, perimeter = 415.29599, major_axis_length = 170.19351, minor_axis_length = 79.33728, eccentricity = 0.88470, convex_area = 10725.00000, extent = 0.60968, type = O + area = 10250.00000, perimeter = 407.28900, major_axis_length = 165.72189, minor_axis_length = 79.96314, eccentricity = 0.87589, convex_area = 10512.00000, extent = 0.72234, type = O + area = 14682.00000, perimeter = 505.03101, major_axis_length = 219.88632, minor_axis_length = 86.04150, eccentricity = 0.92026, convex_area = 15155.00000, extent = 0.55291, type = C + area = 14217.00000, perimeter = 472.31500, major_axis_length = 196.74448, minor_axis_length = 92.90379, eccentricity = 0.88149, convex_area = 14426.00000, extent = 0.59987, type = O + area = 10525.00000, perimeter = 409.73199, major_axis_length = 170.31516, minor_axis_length = 79.03762, eccentricity = 0.88580, convex_area = 10682.00000, extent = 0.60677, type = O + area = 11459.00000, perimeter = 435.45300, major_axis_length = 175.30644, minor_axis_length = 85.23182, eccentricity = 0.87385, convex_area = 11833.00000, extent = 0.58390, type = O + area = 13662.00000, perimeter = 476.35300, major_axis_length = 204.18565, minor_axis_length = 85.61482, eccentricity = 0.90785, convex_area = 13894.00000, extent = 0.67417, type = C + area = 14321.00000, perimeter = 494.34500, major_axis_length = 211.66899, minor_axis_length = 86.82542, eccentricity = 0.91200, convex_area = 14583.00000, extent = 0.56128, type = C + area = 11080.00000, perimeter = 424.76901, major_axis_length = 175.18169, minor_axis_length = 81.33550, eccentricity = 0.88568, convex_area = 11337.00000, extent = 0.58291, type = O + area = 14436.00000, perimeter = 485.82599, major_axis_length = 204.46996, minor_axis_length = 90.74992, eccentricity = 0.89611, convex_area = 14864.00000, extent = 0.61448, type = C + area = 14022.00000, perimeter = 483.01901, major_axis_length = 204.48296, minor_axis_length = 88.56927, eccentricity = 0.90133, convex_area = 14358.00000, extent = 0.70473, type = C + area = 11128.00000, perimeter = 441.43301, major_axis_length = 184.41098, minor_axis_length = 79.25365, eccentricity = 0.90294, convex_area = 11403.00000, extent = 0.55810, type = C + area = 11359.00000, perimeter = 441.36600, major_axis_length = 185.19771, minor_axis_length = 78.98223, eccentricity = 0.90450, convex_area = 11755.00000, extent = 0.58073, type = C + area = 11237.00000, perimeter = 429.53000, major_axis_length = 179.38393, minor_axis_length = 80.49435, eccentricity = 0.89367, convex_area = 11430.00000, extent = 0.59043, type = O + area = 12551.00000, perimeter = 459.72900, major_axis_length = 197.68234, minor_axis_length = 81.57028, eccentricity = 0.91090, convex_area = 12741.00000, extent = 0.81894, type = C + area = 13102.00000, perimeter = 479.27301, major_axis_length = 202.50768, minor_axis_length = 83.75623, eccentricity = 0.91046, convex_area = 13528.00000, extent = 0.61799, type = C + area = 12643.00000, perimeter = 449.34201, major_axis_length = 184.77808, minor_axis_length = 87.98871, eccentricity = 0.87934, convex_area = 12903.00000, extent = 0.77204, type = O + area = 11624.00000, perimeter = 452.37100, major_axis_length = 190.01772, minor_axis_length = 79.30647, eccentricity = 0.90874, convex_area = 11979.00000, extent = 0.58601, type = O + area = 12919.00000, perimeter = 475.26001, major_axis_length = 201.81566, minor_axis_length = 83.20627, eccentricity = 0.91105, convex_area = 13256.00000, extent = 0.76516, type = C + area = 12932.00000, perimeter = 456.65500, major_axis_length = 191.32863, minor_axis_length = 86.72584, eccentricity = 0.89137, convex_area = 13098.00000, extent = 0.66304, type = C + area = 12094.00000, perimeter = 432.39099, major_axis_length = 173.41881, minor_axis_length = 89.67160, eccentricity = 0.85594, convex_area = 12318.00000, extent = 0.63787, type = O + area = 12854.00000, perimeter = 474.13800, major_axis_length = 202.19571, minor_axis_length = 81.74696, eccentricity = 0.91463, convex_area = 13242.00000, extent = 0.64328, type = C + area = 15265.00000, perimeter = 505.09900, major_axis_length = 211.44301, minor_axis_length = 93.12214, eccentricity = 0.89780, convex_area = 15639.00000, extent = 0.74131, type = C + area = 16253.00000, perimeter = 525.48199, major_axis_length = 218.52756, minor_axis_length = 95.91184, eccentricity = 0.89854, convex_area = 16690.00000, extent = 0.56797, type = C + area = 14277.00000, perimeter = 492.03101, major_axis_length = 213.29962, minor_axis_length = 85.51837, eccentricity = 0.91611, convex_area = 14481.00000, extent = 0.54252, type = C + area = 14085.00000, perimeter = 489.45499, major_axis_length = 200.52655, minor_axis_length = 91.23563, eccentricity = 0.89050, convex_area = 14670.00000, extent = 0.62717, type = C + area = 9746.00000, perimeter = 382.73700, major_axis_length = 154.09608, minor_axis_length = 81.20334, eccentricity = 0.84989, convex_area = 9935.00000, extent = 0.66753, type = O + area = 10915.00000, perimeter = 419.58600, major_axis_length = 171.54233, minor_axis_length = 82.83171, eccentricity = 0.87570, convex_area = 11246.00000, extent = 0.78345, type = O + area = 10579.00000, perimeter = 405.12201, major_axis_length = 167.29333, minor_axis_length = 81.34565, eccentricity = 0.87382, convex_area = 10750.00000, extent = 0.79637, type = O + area = 11278.00000, perimeter = 422.18600, major_axis_length = 170.41817, minor_axis_length = 86.04628, eccentricity = 0.86317, convex_area = 11642.00000, extent = 0.62465, type = O + area = 11538.00000, perimeter = 418.66101, major_axis_length = 170.85091, minor_axis_length = 86.49840, eccentricity = 0.86237, convex_area = 11741.00000, extent = 0.71354, type = O + area = 13789.00000, perimeter = 494.38000, major_axis_length = 216.91551, minor_axis_length = 82.15645, eccentricity = 0.92550, convex_area = 14109.00000, extent = 0.53274, type = C + area = 12275.00000, perimeter = 454.69299, major_axis_length = 181.87129, minor_axis_length = 87.00900, eccentricity = 0.87814, convex_area = 12709.00000, extent = 0.69268, type = O + area = 13010.00000, perimeter = 450.56100, major_axis_length = 186.14745, minor_axis_length = 90.26014, eccentricity = 0.87458, convex_area = 13184.00000, extent = 0.63337, type = O + area = 14057.00000, perimeter = 483.48001, major_axis_length = 201.57481, minor_axis_length = 89.90643, eccentricity = 0.89502, convex_area = 14388.00000, extent = 0.56727, type = C + area = 14715.00000, perimeter = 497.55701, major_axis_length = 212.03532, minor_axis_length = 89.50563, eccentricity = 0.90654, convex_area = 15094.00000, extent = 0.79489, type = C + area = 14041.00000, perimeter = 481.94800, major_axis_length = 204.59848, minor_axis_length = 88.18790, eccentricity = 0.90234, convex_area = 14284.00000, extent = 0.57231, type = C + area = 12045.00000, perimeter = 438.39401, major_axis_length = 182.43558, minor_axis_length = 85.03506, eccentricity = 0.88473, convex_area = 12276.00000, extent = 0.73129, type = O + area = 13645.00000, perimeter = 484.32501, major_axis_length = 205.53897, minor_axis_length = 85.92193, eccentricity = 0.90843, convex_area = 13972.00000, extent = 0.54713, type = C + area = 12799.00000, perimeter = 443.41699, major_axis_length = 175.32970, minor_axis_length = 94.25945, eccentricity = 0.84319, convex_area = 13066.00000, extent = 0.63161, type = O + area = 14331.00000, perimeter = 502.03000, major_axis_length = 212.58145, minor_axis_length = 87.35810, eccentricity = 0.91166, convex_area = 14618.00000, extent = 0.54276, type = C + area = 14407.00000, perimeter = 494.98999, major_axis_length = 208.74904, minor_axis_length = 88.66286, eccentricity = 0.90532, convex_area = 14716.00000, extent = 0.57376, type = C + area = 11944.00000, perimeter = 434.92401, major_axis_length = 182.87396, minor_axis_length = 83.63844, eccentricity = 0.88928, convex_area = 12090.00000, extent = 0.61720, type = O + area = 9431.00000, perimeter = 383.95901, major_axis_length = 159.65594, minor_axis_length = 75.79572, eccentricity = 0.88012, convex_area = 9556.00000, extent = 0.77558, type = O + area = 11792.00000, perimeter = 443.91101, major_axis_length = 186.19724, minor_axis_length = 81.23109, eccentricity = 0.89982, convex_area = 12012.00000, extent = 0.62534, type = O + area = 15569.00000, perimeter = 528.78900, major_axis_length = 221.57684, minor_axis_length = 90.98238, eccentricity = 0.91181, convex_area = 16286.00000, extent = 0.56569, type = C + area = 9679.00000, perimeter = 390.22198, major_axis_length = 154.20059, minor_axis_length = 81.98646, eccentricity = 0.84694, convex_area = 10003.00000, extent = 0.62069, type = O + area = 12590.00000, perimeter = 463.77600, major_axis_length = 197.37874, minor_axis_length = 82.68568, eccentricity = 0.90802, convex_area = 12880.00000, extent = 0.60654, type = O + area = 13002.00000, perimeter = 460.12701, major_axis_length = 191.42421, minor_axis_length = 87.77464, eccentricity = 0.88868, convex_area = 13325.00000, extent = 0.67945, type = C + area = 12901.00000, perimeter = 475.30301, major_axis_length = 209.58597, minor_axis_length = 79.26891, eccentricity = 0.92572, convex_area = 13219.00000, extent = 0.68281, type = C + area = 14035.00000, perimeter = 480.62900, major_axis_length = 199.14839, minor_axis_length = 91.41090, eccentricity = 0.88843, convex_area = 14422.00000, extent = 0.71629, type = C + area = 11580.00000, perimeter = 428.70901, major_axis_length = 173.48808, minor_axis_length = 86.63918, eccentricity = 0.86637, convex_area = 11921.00000, extent = 0.74777, type = O + area = 12892.00000, perimeter = 473.52701, major_axis_length = 199.93919, minor_axis_length = 83.23553, eccentricity = 0.90923, convex_area = 13193.00000, extent = 0.56455, type = C + area = 9944.00000, perimeter = 407.36099, major_axis_length = 169.64474, minor_axis_length = 75.97414, eccentricity = 0.89411, convex_area = 10212.00000, extent = 0.55859, type = O + area = 13735.00000, perimeter = 484.77100, major_axis_length = 204.81064, minor_axis_length = 86.75872, eccentricity = 0.90585, convex_area = 13960.00000, extent = 0.55370, type = C + area = 16401.00000, perimeter = 521.07703, major_axis_length = 213.10257, minor_axis_length = 99.54189, eccentricity = 0.88420, convex_area = 16781.00000, extent = 0.72661, type = C + area = 10462.00000, perimeter = 415.77399, major_axis_length = 169.77206, minor_axis_length = 80.69160, eccentricity = 0.87983, convex_area = 10789.00000, extent = 0.74585, type = O + area = 10787.00000, perimeter = 401.25500, major_axis_length = 160.01788, minor_axis_length = 86.63780, eccentricity = 0.84075, convex_area = 11010.00000, extent = 0.65835, type = O + area = 11112.00000, perimeter = 429.65302, major_axis_length = 172.42714, minor_axis_length = 83.92387, eccentricity = 0.87356, convex_area = 11472.00000, extent = 0.60921, type = O + area = 9154.00000, perimeter = 383.67700, major_axis_length = 158.31737, minor_axis_length = 74.56001, eccentricity = 0.88216, convex_area = 9346.00000, extent = 0.74751, type = O + area = 13834.00000, perimeter = 480.27399, major_axis_length = 202.77028, minor_axis_length = 87.72440, eccentricity = 0.90157, convex_area = 14151.00000, extent = 0.72811, type = C + area = 13493.00000, perimeter = 480.52899, major_axis_length = 205.57306, minor_axis_length = 84.68375, eccentricity = 0.91121, convex_area = 13843.00000, extent = 0.79689, type = C + area = 12416.00000, perimeter = 447.96301, major_axis_length = 187.29955, minor_axis_length = 85.39175, eccentricity = 0.89003, convex_area = 12660.00000, extent = 0.62058, type = O + area = 12809.00000, perimeter = 455.14401, major_axis_length = 189.07947, minor_axis_length = 87.20803, eccentricity = 0.88728, convex_area = 13025.00000, extent = 0.59000, type = C + area = 14316.00000, perimeter = 488.98599, major_axis_length = 204.42427, minor_axis_length = 90.14910, eccentricity = 0.89751, convex_area = 14731.00000, extent = 0.56418, type = C + area = 12570.00000, perimeter = 450.85901, major_axis_length = 178.96025, minor_axis_length = 91.11516, eccentricity = 0.86069, convex_area = 12886.00000, extent = 0.61049, type = O + area = 12188.00000, perimeter = 435.86099, major_axis_length = 182.03267, minor_axis_length = 85.78117, eccentricity = 0.88200, convex_area = 12363.00000, extent = 0.76577, type = O + area = 13669.00000, perimeter = 481.66901, major_axis_length = 201.90663, minor_axis_length = 87.06825, eccentricity = 0.90224, convex_area = 14065.00000, extent = 0.55837, type = C + area = 12483.00000, perimeter = 437.40201, major_axis_length = 173.49197, minor_axis_length = 92.70434, eccentricity = 0.84527, convex_area = 12767.00000, extent = 0.77534, type = O + area = 10189.00000, perimeter = 454.31601, major_axis_length = 180.73766, minor_axis_length = 73.32643, eccentricity = 0.91400, convex_area = 11000.00000, extent = 0.51979, type = O + area = 13196.00000, perimeter = 474.98801, major_axis_length = 199.98131, minor_axis_length = 85.65816, eccentricity = 0.90362, convex_area = 13463.00000, extent = 0.55646, type = C + area = 11765.00000, perimeter = 429.29300, major_axis_length = 175.06308, minor_axis_length = 86.72860, eccentricity = 0.86866, convex_area = 11969.00000, extent = 0.61117, type = O + area = 12650.00000, perimeter = 438.14499, major_axis_length = 175.83983, minor_axis_length = 92.56994, eccentricity = 0.85021, convex_area = 12871.00000, extent = 0.79435, type = O + area = 15517.00000, perimeter = 481.37799, major_axis_length = 194.63751, minor_axis_length = 102.05839, eccentricity = 0.85150, convex_area = 15718.00000, extent = 0.65012, type = C + area = 10874.00000, perimeter = 426.87299, major_axis_length = 177.25034, minor_axis_length = 79.62495, eccentricity = 0.89342, convex_area = 11211.00000, extent = 0.63965, type = O + area = 13201.00000, perimeter = 461.51901, major_axis_length = 192.88509, minor_axis_length = 87.83331, eccentricity = 0.89030, convex_area = 13408.00000, extent = 0.63491, type = C + area = 11780.00000, perimeter = 444.99200, major_axis_length = 190.96028, minor_axis_length = 78.85174, eccentricity = 0.91077, convex_area = 11956.00000, extent = 0.78070, type = O + area = 11773.00000, perimeter = 433.98099, major_axis_length = 174.71716, minor_axis_length = 87.27270, eccentricity = 0.86631, convex_area = 12005.00000, extent = 0.60946, type = O + area = 13418.00000, perimeter = 474.90100, major_axis_length = 194.54570, minor_axis_length = 89.70831, eccentricity = 0.88734, convex_area = 13973.00000, extent = 0.60431, type = C + area = 14166.00000, perimeter = 483.70499, major_axis_length = 204.62732, minor_axis_length = 88.99236, eccentricity = 0.90048, convex_area = 14412.00000, extent = 0.76606, type = C + area = 13277.00000, perimeter = 486.95599, major_axis_length = 201.83914, minor_axis_length = 85.25986, eccentricity = 0.90640, convex_area = 13771.00000, extent = 0.61105, type = C + area = 15285.00000, perimeter = 516.46698, major_axis_length = 216.28044, minor_axis_length = 91.34657, eccentricity = 0.90643, convex_area = 15704.00000, extent = 0.58788, type = C + area = 10719.00000, perimeter = 422.37399, major_axis_length = 173.34386, minor_axis_length = 80.02293, eccentricity = 0.88707, convex_area = 11007.00000, extent = 0.76657, type = O + area = 14260.00000, perimeter = 501.04099, major_axis_length = 208.83318, minor_axis_length = 88.96316, eccentricity = 0.90472, convex_area = 14737.00000, extent = 0.61318, type = C + area = 12147.00000, perimeter = 436.07001, major_axis_length = 177.55022, minor_axis_length = 88.56141, eccentricity = 0.86672, convex_area = 12421.00000, extent = 0.68705, type = O + area = 11443.00000, perimeter = 427.23099, major_axis_length = 176.98198, minor_axis_length = 82.91759, eccentricity = 0.88346, convex_area = 11618.00000, extent = 0.62898, type = O + area = 14101.00000, perimeter = 479.31601, major_axis_length = 199.08714, minor_axis_length = 90.98013, eccentricity = 0.88947, convex_area = 14383.00000, extent = 0.61969, type = C + area = 12234.00000, perimeter = 440.00000, major_axis_length = 178.69653, minor_axis_length = 88.44730, eccentricity = 0.86892, convex_area = 12435.00000, extent = 0.62412, type = O + area = 12158.00000, perimeter = 447.37701, major_axis_length = 184.09531, minor_axis_length = 84.91306, eccentricity = 0.88727, convex_area = 12467.00000, extent = 0.63158, type = C + area = 11438.00000, perimeter = 433.91800, major_axis_length = 178.35156, minor_axis_length = 83.54765, eccentricity = 0.88349, convex_area = 11767.00000, extent = 0.74302, type = O + area = 15276.00000, perimeter = 506.68500, major_axis_length = 212.13568, minor_axis_length = 93.06375, eccentricity = 0.89863, convex_area = 15574.00000, extent = 0.57923, type = C + area = 14050.00000, perimeter = 481.25101, major_axis_length = 191.82385, minor_axis_length = 95.06197, eccentricity = 0.86857, convex_area = 14600.00000, extent = 0.60770, type = C + area = 15522.00000, perimeter = 507.24200, major_axis_length = 213.68193, minor_axis_length = 94.90154, eccentricity = 0.89596, convex_area = 15782.00000, extent = 0.77890, type = C + area = 9801.00000, perimeter = 391.96500, major_axis_length = 162.89905, minor_axis_length = 76.97165, eccentricity = 0.88132, convex_area = 9964.00000, extent = 0.66474, type = O + area = 14911.00000, perimeter = 494.08899, major_axis_length = 207.56024, minor_axis_length = 92.41061, eccentricity = 0.89542, convex_area = 15132.00000, extent = 0.60476, type = C + area = 11840.00000, perimeter = 420.14099, major_axis_length = 166.92889, minor_axis_length = 90.98129, eccentricity = 0.83842, convex_area = 12021.00000, extent = 0.79661, type = O + area = 11835.00000, perimeter = 431.03400, major_axis_length = 180.46184, minor_axis_length = 84.14441, eccentricity = 0.88464, convex_area = 12016.00000, extent = 0.63302, type = O + area = 12899.00000, perimeter = 456.00000, major_axis_length = 184.99937, minor_axis_length = 90.23585, eccentricity = 0.87298, convex_area = 13167.00000, extent = 0.68364, type = O + area = 14306.00000, perimeter = 482.24799, major_axis_length = 197.68579, minor_axis_length = 94.05611, eccentricity = 0.87956, convex_area = 14667.00000, extent = 0.58795, type = C + area = 10724.00000, perimeter = 421.69800, major_axis_length = 168.36853, minor_axis_length = 83.73533, eccentricity = 0.86756, convex_area = 10988.00000, extent = 0.59446, type = O + area = 10841.00000, perimeter = 413.45999, major_axis_length = 170.96480, minor_axis_length = 81.67490, eccentricity = 0.87851, convex_area = 11070.00000, extent = 0.65449, type = O + area = 14413.00000, perimeter = 502.04999, major_axis_length = 211.99164, minor_axis_length = 88.64777, eccentricity = 0.90837, convex_area = 14826.00000, extent = 0.57608, type = C + area = 16418.00000, perimeter = 534.98999, major_axis_length = 230.15858, minor_axis_length = 91.78718, eccentricity = 0.91704, convex_area = 16736.00000, extent = 0.64628, type = C + area = 12408.00000, perimeter = 454.39099, major_axis_length = 191.89653, minor_axis_length = 83.03348, eccentricity = 0.90154, convex_area = 12664.00000, extent = 0.58391, type = O + area = 14166.00000, perimeter = 491.61301, major_axis_length = 209.03635, minor_axis_length = 87.52461, eccentricity = 0.90812, convex_area = 14386.00000, extent = 0.60230, type = C + area = 14641.00000, perimeter = 505.00201, major_axis_length = 211.58365, minor_axis_length = 90.03343, eccentricity = 0.90495, convex_area = 15034.00000, extent = 0.62956, type = C + area = 11119.00000, perimeter = 427.04599, major_axis_length = 178.81313, minor_axis_length = 80.61784, eccentricity = 0.89260, convex_area = 11420.00000, extent = 0.79071, type = O + area = 11327.00000, perimeter = 423.16800, major_axis_length = 169.29546, minor_axis_length = 86.56846, eccentricity = 0.85938, convex_area = 11657.00000, extent = 0.72000, type = O + area = 10538.00000, perimeter = 401.34299, major_axis_length = 166.76625, minor_axis_length = 81.17021, eccentricity = 0.87355, convex_area = 10682.00000, extent = 0.79352, type = O + area = 11181.00000, perimeter = 420.41299, major_axis_length = 171.03383, minor_axis_length = 84.87569, eccentricity = 0.86818, convex_area = 11406.00000, extent = 0.79242, type = O + area = 10657.00000, perimeter = 412.83899, major_axis_length = 171.12416, minor_axis_length = 80.39784, eccentricity = 0.88276, convex_area = 10879.00000, extent = 0.72482, type = O + area = 10746.00000, perimeter = 423.99100, major_axis_length = 177.95325, minor_axis_length = 78.12188, eccentricity = 0.89849, convex_area = 10942.00000, extent = 0.58149, type = O + area = 16566.00000, perimeter = 527.58600, major_axis_length = 217.09457, minor_axis_length = 98.10107, eccentricity = 0.89208, convex_area = 16987.00000, extent = 0.75191, type = C + area = 15811.00000, perimeter = 514.37799, major_axis_length = 218.73137, minor_axis_length = 93.16438, eccentricity = 0.90476, convex_area = 16135.00000, extent = 0.81867, type = C + area = 13413.00000, perimeter = 475.39001, major_axis_length = 196.85678, minor_axis_length = 87.78819, eccentricity = 0.89506, convex_area = 13917.00000, extent = 0.57101, type = C + area = 12434.00000, perimeter = 454.89301, major_axis_length = 193.15796, minor_axis_length = 82.85860, eccentricity = 0.90332, convex_area = 12652.00000, extent = 0.70368, type = C + area = 15373.00000, perimeter = 489.13101, major_axis_length = 200.14091, minor_axis_length = 98.96591, eccentricity = 0.86919, convex_area = 15617.00000, extent = 0.77641, type = C + area = 14646.00000, perimeter = 511.45200, major_axis_length = 220.48257, minor_axis_length = 85.63171, eccentricity = 0.92150, convex_area = 14999.00000, extent = 0.63667, type = C + area = 15301.00000, perimeter = 515.52698, major_axis_length = 220.29213, minor_axis_length = 89.46645, eccentricity = 0.91382, convex_area = 15690.00000, extent = 0.53767, type = C + area = 14878.00000, perimeter = 506.02100, major_axis_length = 212.18158, minor_axis_length = 90.43865, eccentricity = 0.90461, convex_area = 15237.00000, extent = 0.57577, type = C + area = 14838.00000, perimeter = 500.16199, major_axis_length = 211.98254, minor_axis_length = 90.94657, eccentricity = 0.90329, convex_area = 15165.00000, extent = 0.78641, type = C + area = 13589.00000, perimeter = 483.88400, major_axis_length = 205.35475, minor_axis_length = 85.41032, eccentricity = 0.90940, convex_area = 13883.00000, extent = 0.54574, type = C + area = 10549.00000, perimeter = 414.44501, major_axis_length = 170.02101, minor_axis_length = 80.42478, eccentricity = 0.88105, convex_area = 10868.00000, extent = 0.61712, type = O + area = 14843.00000, perimeter = 510.10199, major_axis_length = 220.03586, minor_axis_length = 86.50136, eccentricity = 0.91949, convex_area = 15155.00000, extent = 0.53315, type = C + area = 9878.00000, perimeter = 406.97800, major_axis_length = 169.36671, minor_axis_length = 74.97759, eccentricity = 0.89667, convex_area = 10098.00000, extent = 0.58133, type = O + area = 13415.00000, perimeter = 470.35501, major_axis_length = 197.02994, minor_axis_length = 87.65263, eccentricity = 0.89560, convex_area = 13629.00000, extent = 0.58225, type = C + area = 10638.00000, perimeter = 407.66299, major_axis_length = 166.20763, minor_axis_length = 82.36423, eccentricity = 0.86858, convex_area = 10912.00000, extent = 0.64945, type = O + area = 14633.00000, perimeter = 495.09399, major_axis_length = 208.78053, minor_axis_length = 90.25591, eccentricity = 0.90173, convex_area = 14978.00000, extent = 0.64360, type = C + area = 10167.00000, perimeter = 406.82599, major_axis_length = 160.96185, minor_axis_length = 82.92120, eccentricity = 0.85709, convex_area = 10479.00000, extent = 0.66503, type = O + area = 14477.00000, perimeter = 499.47000, major_axis_length = 217.10547, minor_axis_length = 85.79217, eccentricity = 0.91861, convex_area = 14726.00000, extent = 0.57551, type = C + area = 11444.00000, perimeter = 424.36899, major_axis_length = 174.22066, minor_axis_length = 84.26457, eccentricity = 0.87525, convex_area = 11638.00000, extent = 0.65657, type = O + area = 12958.00000, perimeter = 445.69699, major_axis_length = 178.81097, minor_axis_length = 93.66616, eccentricity = 0.85182, convex_area = 13223.00000, extent = 0.71198, type = O + area = 12220.00000, perimeter = 465.68600, major_axis_length = 200.17416, minor_axis_length = 79.04185, eccentricity = 0.91874, convex_area = 12588.00000, extent = 0.57438, type = C + area = 11465.00000, perimeter = 434.13501, major_axis_length = 180.83508, minor_axis_length = 82.00426, eccentricity = 0.89127, convex_area = 11727.00000, extent = 0.65061, type = O + area = 14908.00000, perimeter = 499.46899, major_axis_length = 209.11948, minor_axis_length = 92.06287, eccentricity = 0.89788, convex_area = 15324.00000, extent = 0.76334, type = C + area = 15218.00000, perimeter = 508.13599, major_axis_length = 214.27707, minor_axis_length = 91.71027, eccentricity = 0.90378, convex_area = 15685.00000, extent = 0.66801, type = C + area = 13964.00000, perimeter = 480.02600, major_axis_length = 199.82314, minor_axis_length = 90.06547, eccentricity = 0.89266, convex_area = 14298.00000, extent = 0.65775, type = C + area = 15323.00000, perimeter = 487.86600, major_axis_length = 192.23083, minor_axis_length = 102.96283, eccentricity = 0.84446, convex_area = 15769.00000, extent = 0.71369, type = C + area = 15238.00000, perimeter = 496.87100, major_axis_length = 208.53178, minor_axis_length = 93.82840, eccentricity = 0.89305, convex_area = 15487.00000, extent = 0.73231, type = C + area = 11873.00000, perimeter = 430.04401, major_axis_length = 176.72914, minor_axis_length = 86.37125, eccentricity = 0.87244, convex_area = 12086.00000, extent = 0.60422, type = O + area = 11106.00000, perimeter = 415.98499, major_axis_length = 175.18675, minor_axis_length = 81.15784, eccentricity = 0.88622, convex_area = 11257.00000, extent = 0.60999, type = O + area = 11635.00000, perimeter = 436.33401, major_axis_length = 179.39749, minor_axis_length = 84.01840, eccentricity = 0.88355, convex_area = 11920.00000, extent = 0.66592, type = O + area = 12899.00000, perimeter = 462.26901, major_axis_length = 190.43053, minor_axis_length = 87.37381, eccentricity = 0.88853, convex_area = 13132.00000, extent = 0.68296, type = O + area = 11638.00000, perimeter = 451.00900, major_axis_length = 195.03613, minor_axis_length = 76.92903, eccentricity = 0.91892, convex_area = 11843.00000, extent = 0.54060, type = C + area = 16283.00000, perimeter = 516.73602, major_axis_length = 217.70950, minor_axis_length = 96.08863, eccentricity = 0.89733, convex_area = 16649.00000, extent = 0.78006, type = C + area = 11290.00000, perimeter = 427.59000, major_axis_length = 180.13841, minor_axis_length = 80.42607, eccentricity = 0.89480, convex_area = 11427.00000, extent = 0.57252, type = O + area = 12203.00000, perimeter = 442.60199, major_axis_length = 184.23643, minor_axis_length = 85.57202, eccentricity = 0.88559, convex_area = 12418.00000, extent = 0.79904, type = O + area = 12473.00000, perimeter = 440.92599, major_axis_length = 180.64568, minor_axis_length = 88.56008, eccentricity = 0.87159, convex_area = 12673.00000, extent = 0.62985, type = O + area = 11342.00000, perimeter = 440.19901, major_axis_length = 188.07085, minor_axis_length = 77.18611, eccentricity = 0.91190, convex_area = 11532.00000, extent = 0.57856, type = O + area = 12837.00000, perimeter = 463.32199, major_axis_length = 192.92368, minor_axis_length = 86.35762, eccentricity = 0.89422, convex_area = 13229.00000, extent = 0.58883, type = O + area = 10713.00000, perimeter = 443.40399, major_axis_length = 192.88618, minor_axis_length = 71.78690, eccentricity = 0.92816, convex_area = 10969.00000, extent = 0.69610, type = O + area = 11161.00000, perimeter = 433.82999, major_axis_length = 182.07491, minor_axis_length = 78.95068, eccentricity = 0.90110, convex_area = 11490.00000, extent = 0.61123, type = C + area = 12432.00000, perimeter = 446.48801, major_axis_length = 183.41528, minor_axis_length = 87.73010, eccentricity = 0.87819, convex_area = 12677.00000, extent = 0.58730, type = O + area = 15868.00000, perimeter = 519.52899, major_axis_length = 219.17892, minor_axis_length = 93.26965, eccentricity = 0.90494, convex_area = 16281.00000, extent = 0.57126, type = C + area = 11618.00000, perimeter = 434.17700, major_axis_length = 179.41545, minor_axis_length = 83.34638, eccentricity = 0.88555, convex_area = 11820.00000, extent = 0.61676, type = O + area = 16053.00000, perimeter = 523.84003, major_axis_length = 220.91377, minor_axis_length = 93.89168, eccentricity = 0.90519, convex_area = 16496.00000, extent = 0.74797, type = C + area = 12274.00000, perimeter = 453.12900, major_axis_length = 190.98404, minor_axis_length = 82.71131, eccentricity = 0.90136, convex_area = 12466.00000, extent = 0.56035, type = O + area = 14723.00000, perimeter = 491.05499, major_axis_length = 204.17567, minor_axis_length = 93.06549, eccentricity = 0.89008, convex_area = 15021.00000, extent = 0.57568, type = C + area = 11249.00000, perimeter = 419.00299, major_axis_length = 166.28651, minor_axis_length = 87.62983, eccentricity = 0.84988, convex_area = 11593.00000, extent = 0.63005, type = O + area = 11905.00000, perimeter = 433.25000, major_axis_length = 172.77060, minor_axis_length = 89.23660, eccentricity = 0.85629, convex_area = 12224.00000, extent = 0.73207, type = O + area = 13066.00000, perimeter = 458.26199, major_axis_length = 186.34586, minor_axis_length = 90.90146, eccentricity = 0.87295, convex_area = 13315.00000, extent = 0.61481, type = O + area = 12444.00000, perimeter = 445.87201, major_axis_length = 183.35057, minor_axis_length = 87.90731, eccentricity = 0.87757, convex_area = 12630.00000, extent = 0.60455, type = O + area = 10815.00000, perimeter = 420.81500, major_axis_length = 179.96773, minor_axis_length = 77.09937, eccentricity = 0.90359, convex_area = 10981.00000, extent = 0.56921, type = O + area = 9369.00000, perimeter = 396.76001, major_axis_length = 164.61722, minor_axis_length = 73.85871, eccentricity = 0.89370, convex_area = 9592.00000, extent = 0.65280, type = O + area = 13237.00000, perimeter = 466.00299, major_axis_length = 197.90480, minor_axis_length = 85.70957, eccentricity = 0.90135, convex_area = 13445.00000, extent = 0.59242, type = C + area = 11718.00000, perimeter = 439.20401, major_axis_length = 182.26459, minor_axis_length = 82.59560, eccentricity = 0.89143, convex_area = 11967.00000, extent = 0.64884, type = O + area = 10860.00000, perimeter = 411.84601, major_axis_length = 165.19398, minor_axis_length = 85.32478, eccentricity = 0.85628, convex_area = 11212.00000, extent = 0.75197, type = O + area = 12483.00000, perimeter = 428.14700, major_axis_length = 170.29613, minor_axis_length = 94.28094, eccentricity = 0.83276, convex_area = 12680.00000, extent = 0.73737, type = O + area = 15264.00000, perimeter = 506.66599, major_axis_length = 208.76143, minor_axis_length = 95.73719, eccentricity = 0.88864, convex_area = 15712.00000, extent = 0.60752, type = C + area = 11273.00000, perimeter = 432.65500, major_axis_length = 185.89279, minor_axis_length = 77.61040, eccentricity = 0.90868, convex_area = 11440.00000, extent = 0.61974, type = O + area = 10849.00000, perimeter = 410.49399, major_axis_length = 167.98471, minor_axis_length = 82.65473, eccentricity = 0.87057, convex_area = 11025.00000, extent = 0.60915, type = O + area = 12103.00000, perimeter = 439.21799, major_axis_length = 181.98512, minor_axis_length = 85.55490, eccentricity = 0.88260, convex_area = 12339.00000, extent = 0.59928, type = O + area = 16249.00000, perimeter = 512.79199, major_axis_length = 215.72685, minor_axis_length = 96.96568, eccentricity = 0.89329, convex_area = 16493.00000, extent = 0.73718, type = C + area = 14176.00000, perimeter = 513.14899, major_axis_length = 220.03699, minor_axis_length = 83.43087, eccentricity = 0.92533, convex_area = 14675.00000, extent = 0.54379, type = C + area = 11549.00000, perimeter = 432.62299, major_axis_length = 170.75679, minor_axis_length = 88.04955, eccentricity = 0.85680, convex_area = 11910.00000, extent = 0.62225, type = O + area = 10497.00000, perimeter = 417.50601, major_axis_length = 169.24020, minor_axis_length = 80.12229, eccentricity = 0.88083, convex_area = 10753.00000, extent = 0.58162, type = O + area = 10665.00000, perimeter = 422.39999, major_axis_length = 176.84193, minor_axis_length = 77.75227, eccentricity = 0.89816, convex_area = 10884.00000, extent = 0.62987, type = O + area = 13553.00000, perimeter = 455.19000, major_axis_length = 179.36023, minor_axis_length = 97.49702, eccentricity = 0.83936, convex_area = 13877.00000, extent = 0.72121, type = O + area = 14312.00000, perimeter = 488.41901, major_axis_length = 208.17024, minor_axis_length = 88.40865, eccentricity = 0.90534, convex_area = 14692.00000, extent = 0.79335, type = C + area = 11860.00000, perimeter = 429.79300, major_axis_length = 178.21358, minor_axis_length = 85.30595, eccentricity = 0.87799, convex_area = 12032.00000, extent = 0.70057, type = O + area = 13785.00000, perimeter = 489.91599, major_axis_length = 213.37642, minor_axis_length = 82.78992, eccentricity = 0.92166, convex_area = 14130.00000, extent = 0.79664, type = C + area = 12104.00000, perimeter = 441.77499, major_axis_length = 182.46213, minor_axis_length = 85.51347, eccentricity = 0.88338, convex_area = 12378.00000, extent = 0.73913, type = C + area = 11634.00000, perimeter = 427.10501, major_axis_length = 171.32634, minor_axis_length = 88.26649, eccentricity = 0.85707, convex_area = 11967.00000, extent = 0.70969, type = O + area = 15833.00000, perimeter = 530.33502, major_axis_length = 225.22339, minor_axis_length = 91.51106, eccentricity = 0.91373, convex_area = 16337.00000, extent = 0.58641, type = C + area = 10841.00000, perimeter = 419.10001, major_axis_length = 166.86517, minor_axis_length = 84.30315, eccentricity = 0.86299, convex_area = 11258.00000, extent = 0.69476, type = O + area = 11665.00000, perimeter = 435.70599, major_axis_length = 182.75189, minor_axis_length = 81.97320, eccentricity = 0.89376, convex_area = 11895.00000, extent = 0.64590, type = O + area = 10916.00000, perimeter = 416.32901, major_axis_length = 172.50725, minor_axis_length = 81.98931, eccentricity = 0.87983, convex_area = 11093.00000, extent = 0.72148, type = O + area = 12411.00000, perimeter = 466.02802, major_axis_length = 204.51340, minor_axis_length = 78.29598, eccentricity = 0.92381, convex_area = 12707.00000, extent = 0.53057, type = C + area = 11723.00000, perimeter = 427.62500, major_axis_length = 175.98422, minor_axis_length = 85.70834, eccentricity = 0.87339, convex_area = 11916.00000, extent = 0.80207, type = O + area = 12895.00000, perimeter = 449.51300, major_axis_length = 186.66151, minor_axis_length = 88.58875, eccentricity = 0.88020, convex_area = 13072.00000, extent = 0.58475, type = O + area = 12126.00000, perimeter = 432.95099, major_axis_length = 169.80475, minor_axis_length = 92.43899, eccentricity = 0.83884, convex_area = 12476.00000, extent = 0.75186, type = O + area = 12605.00000, perimeter = 447.66101, major_axis_length = 183.50119, minor_axis_length = 88.51619, eccentricity = 0.87597, convex_area = 12859.00000, extent = 0.59576, type = C + area = 16059.00000, perimeter = 522.72400, major_axis_length = 217.85014, minor_axis_length = 95.15388, eccentricity = 0.89957, convex_area = 16675.00000, extent = 0.68846, type = C + area = 14172.00000, perimeter = 500.42899, major_axis_length = 218.57156, minor_axis_length = 83.36391, eccentricity = 0.92441, convex_area = 14399.00000, extent = 0.60882, type = C + area = 15127.00000, perimeter = 499.79999, major_axis_length = 212.90392, minor_axis_length = 91.15163, eccentricity = 0.90371, convex_area = 15370.00000, extent = 0.71300, type = C + area = 12837.00000, perimeter = 445.63800, major_axis_length = 178.19829, minor_axis_length = 93.73123, eccentricity = 0.85049, convex_area = 13197.00000, extent = 0.76293, type = O + area = 14212.00000, perimeter = 485.98599, major_axis_length = 203.41849, minor_axis_length = 90.01189, eccentricity = 0.89677, convex_area = 14508.00000, extent = 0.57320, type = C + area = 11846.00000, perimeter = 437.34698, major_axis_length = 182.62881, minor_axis_length = 82.91296, eccentricity = 0.89100, convex_area = 12019.00000, extent = 0.57932, type = O + area = 10482.00000, perimeter = 402.52100, major_axis_length = 164.54213, minor_axis_length = 82.02779, eccentricity = 0.86688, convex_area = 10679.00000, extent = 0.61812, type = O + area = 10896.00000, perimeter = 419.38501, major_axis_length = 174.13997, minor_axis_length = 80.54836, eccentricity = 0.88659, convex_area = 11145.00000, extent = 0.58961, type = O + area = 14289.00000, perimeter = 488.48499, major_axis_length = 208.57388, minor_axis_length = 88.30962, eccentricity = 0.90594, convex_area = 14572.00000, extent = 0.79207, type = C + area = 12412.00000, perimeter = 456.57999, major_axis_length = 191.57162, minor_axis_length = 83.44986, eccentricity = 0.90014, convex_area = 12779.00000, extent = 0.64950, type = C + area = 11285.00000, perimeter = 425.75500, major_axis_length = 175.42439, minor_axis_length = 82.95139, eccentricity = 0.88114, convex_area = 11525.00000, extent = 0.75028, type = O + area = 14345.00000, perimeter = 491.01901, major_axis_length = 207.21983, minor_axis_length = 88.91106, eccentricity = 0.90327, convex_area = 14650.00000, extent = 0.59262, type = C + area = 15028.00000, perimeter = 498.82901, major_axis_length = 205.53845, minor_axis_length = 94.58417, eccentricity = 0.88783, convex_area = 15382.00000, extent = 0.57778, type = C + area = 13494.00000, perimeter = 479.44601, major_axis_length = 203.02734, minor_axis_length = 85.75127, eccentricity = 0.90643, convex_area = 13842.00000, extent = 0.77294, type = C + area = 11941.00000, perimeter = 452.60199, major_axis_length = 196.03004, minor_axis_length = 78.68724, eccentricity = 0.91590, convex_area = 12131.00000, extent = 0.65134, type = C + area = 13537.00000, perimeter = 467.58701, major_axis_length = 199.57315, minor_axis_length = 86.72983, eccentricity = 0.90063, convex_area = 13745.00000, extent = 0.73062, type = O + area = 14652.00000, perimeter = 499.33600, major_axis_length = 212.50394, minor_axis_length = 88.75134, eccentricity = 0.90861, convex_area = 15039.00000, extent = 0.76792, type = C + area = 13032.00000, perimeter = 459.63101, major_axis_length = 186.47350, minor_axis_length = 90.25482, eccentricity = 0.87506, convex_area = 13247.00000, extent = 0.80049, type = O + area = 14385.00000, perimeter = 496.97800, major_axis_length = 214.26955, minor_axis_length = 86.03324, eccentricity = 0.91585, convex_area = 14604.00000, extent = 0.77627, type = C + area = 11392.00000, perimeter = 427.74500, major_axis_length = 174.02287, minor_axis_length = 84.52708, eccentricity = 0.87411, convex_area = 11609.00000, extent = 0.60256, type = O + area = 11139.00000, perimeter = 423.32401, major_axis_length = 173.07671, minor_axis_length = 82.68975, eccentricity = 0.87849, convex_area = 11380.00000, extent = 0.71643, type = O + area = 12263.00000, perimeter = 444.95401, major_axis_length = 180.22086, minor_axis_length = 87.54529, eccentricity = 0.87409, convex_area = 12478.00000, extent = 0.60451, type = O + area = 14362.00000, perimeter = 479.93100, major_axis_length = 202.70265, minor_axis_length = 90.70675, eccentricity = 0.89429, convex_area = 14606.00000, extent = 0.59147, type = C + area = 12630.00000, perimeter = 444.05899, major_axis_length = 180.08488, minor_axis_length = 90.35011, eccentricity = 0.86504, convex_area = 12855.00000, extent = 0.67761, type = O + area = 12142.00000, perimeter = 443.51501, major_axis_length = 177.74475, minor_axis_length = 88.19751, eccentricity = 0.86821, convex_area = 12459.00000, extent = 0.61563, type = O + area = 10965.00000, perimeter = 433.77802, major_axis_length = 179.33522, minor_axis_length = 78.85896, eccentricity = 0.89813, convex_area = 11295.00000, extent = 0.66334, type = O + area = 12378.00000, perimeter = 454.06201, major_axis_length = 195.47214, minor_axis_length = 81.28996, eccentricity = 0.90943, convex_area = 12570.00000, extent = 0.55656, type = O + area = 14189.00000, perimeter = 483.93701, major_axis_length = 203.37759, minor_axis_length = 90.07769, eccentricity = 0.89657, convex_area = 14538.00000, extent = 0.71312, type = C + area = 12068.00000, perimeter = 457.73901, major_axis_length = 196.44206, minor_axis_length = 79.54394, eccentricity = 0.91435, convex_area = 12347.00000, extent = 0.59950, type = C + area = 11710.00000, perimeter = 424.49100, major_axis_length = 173.79004, minor_axis_length = 86.49895, eccentricity = 0.86734, convex_area = 11880.00000, extent = 0.73279, type = O + area = 12205.00000, perimeter = 438.35599, major_axis_length = 174.43573, minor_axis_length = 90.32648, eccentricity = 0.85549, convex_area = 12491.00000, extent = 0.61848, type = O + area = 15390.00000, perimeter = 511.50900, major_axis_length = 214.46609, minor_axis_length = 92.45722, eccentricity = 0.90230, convex_area = 15788.00000, extent = 0.77329, type = C + area = 11784.00000, perimeter = 438.12000, major_axis_length = 181.75789, minor_axis_length = 83.74436, eccentricity = 0.88753, convex_area = 11981.00000, extent = 0.80377, type = C + area = 11136.00000, perimeter = 419.52100, major_axis_length = 172.73734, minor_axis_length = 82.87894, eccentricity = 0.87738, convex_area = 11373.00000, extent = 0.70615, type = O + area = 10727.00000, perimeter = 420.36499, major_axis_length = 174.38452, minor_axis_length = 79.60275, eccentricity = 0.88973, convex_area = 11009.00000, extent = 0.67061, type = O + area = 10852.00000, perimeter = 433.64499, major_axis_length = 177.96263, minor_axis_length = 80.45235, eccentricity = 0.89198, convex_area = 11315.00000, extent = 0.77609, type = O + area = 14947.00000, perimeter = 506.65100, major_axis_length = 214.34431, minor_axis_length = 89.52690, eccentricity = 0.90860, convex_area = 15364.00000, extent = 0.56300, type = C + area = 11029.00000, perimeter = 415.04800, major_axis_length = 176.21477, minor_axis_length = 80.01405, eccentricity = 0.89097, convex_area = 11182.00000, extent = 0.63059, type = O + area = 12309.00000, perimeter = 434.37500, major_axis_length = 179.00168, minor_axis_length = 88.09723, eccentricity = 0.87051, convex_area = 12462.00000, extent = 0.68069, type = O + area = 13870.00000, perimeter = 484.12701, major_axis_length = 203.41826, minor_axis_length = 88.50323, eccentricity = 0.90039, convex_area = 14266.00000, extent = 0.75652, type = C + area = 11176.00000, perimeter = 427.33301, major_axis_length = 176.65585, minor_axis_length = 82.13243, eccentricity = 0.88535, convex_area = 11438.00000, extent = 0.58087, type = O + area = 15069.00000, perimeter = 505.45499, major_axis_length = 211.90649, minor_axis_length = 91.93554, eccentricity = 0.90099, convex_area = 15431.00000, extent = 0.55352, type = C + area = 13000.00000, perimeter = 460.37100, major_axis_length = 195.09875, minor_axis_length = 85.72265, eccentricity = 0.89830, convex_area = 13231.00000, extent = 0.58286, type = C + area = 14287.00000, perimeter = 486.40201, major_axis_length = 200.14258, minor_axis_length = 91.99419, eccentricity = 0.88810, convex_area = 14654.00000, extent = 0.71133, type = C + area = 12986.00000, perimeter = 462.11099, major_axis_length = 195.51758, minor_axis_length = 86.10847, eccentricity = 0.89780, convex_area = 13288.00000, extent = 0.79058, type = C + area = 11819.00000, perimeter = 434.03400, major_axis_length = 176.37212, minor_axis_length = 86.81895, eccentricity = 0.87045, convex_area = 12193.00000, extent = 0.77188, type = O + area = 15123.00000, perimeter = 518.25800, major_axis_length = 226.38144, minor_axis_length = 85.84078, eccentricity = 0.92532, convex_area = 15378.00000, extent = 0.63692, type = C + area = 12239.00000, perimeter = 432.29800, major_axis_length = 168.49008, minor_axis_length = 94.25422, eccentricity = 0.82889, convex_area = 12489.00000, extent = 0.68260, type = O + area = 10683.00000, perimeter = 408.28201, major_axis_length = 170.34517, minor_axis_length = 80.44706, eccentricity = 0.88146, convex_area = 10845.00000, extent = 0.68834, type = O + area = 10589.00000, perimeter = 411.92899, major_axis_length = 170.27213, minor_axis_length = 80.86866, eccentricity = 0.88002, convex_area = 10850.00000, extent = 0.72428, type = O + area = 11690.00000, perimeter = 432.51901, major_axis_length = 183.02663, minor_axis_length = 82.30772, eccentricity = 0.89318, convex_area = 11846.00000, extent = 0.57891, type = O + area = 12260.00000, perimeter = 453.57300, major_axis_length = 193.16133, minor_axis_length = 81.17554, eccentricity = 0.90741, convex_area = 12508.00000, extent = 0.57416, type = O + area = 11075.00000, perimeter = 416.85001, major_axis_length = 165.29626, minor_axis_length = 86.27912, eccentricity = 0.85297, convex_area = 11315.00000, extent = 0.66127, type = O + area = 11774.00000, perimeter = 433.72900, major_axis_length = 180.27849, minor_axis_length = 84.22351, eccentricity = 0.88416, convex_area = 12036.00000, extent = 0.79770, type = O + area = 10669.00000, perimeter = 403.67499, major_axis_length = 164.54738, minor_axis_length = 83.43629, eccentricity = 0.86191, convex_area = 10885.00000, extent = 0.71384, type = O + area = 14608.00000, perimeter = 498.35199, major_axis_length = 210.69138, minor_axis_length = 89.91737, eccentricity = 0.90436, convex_area = 14951.00000, extent = 0.65980, type = C + area = 10924.00000, perimeter = 414.31201, major_axis_length = 170.80724, minor_axis_length = 82.64398, eccentricity = 0.87515, convex_area = 11171.00000, extent = 0.67283, type = O + area = 14571.00000, perimeter = 489.43301, major_axis_length = 206.78789, minor_axis_length = 90.45136, eccentricity = 0.89926, convex_area = 14839.00000, extent = 0.60551, type = C + area = 12381.00000, perimeter = 434.15900, major_axis_length = 173.10074, minor_axis_length = 91.96291, eccentricity = 0.84720, convex_area = 12643.00000, extent = 0.74316, type = O + area = 13021.00000, perimeter = 455.97699, major_axis_length = 185.10437, minor_axis_length = 91.06282, eccentricity = 0.87062, convex_area = 13380.00000, extent = 0.70066, type = O + area = 11042.00000, perimeter = 430.76001, major_axis_length = 185.50810, minor_axis_length = 76.13742, eccentricity = 0.91189, convex_area = 11224.00000, extent = 0.67846, type = O + area = 9070.00000, perimeter = 375.09399, major_axis_length = 156.98489, minor_axis_length = 74.22942, eccentricity = 0.88115, convex_area = 9233.00000, extent = 0.73740, type = O + area = 14892.00000, perimeter = 503.64700, major_axis_length = 213.27196, minor_axis_length = 90.47866, eccentricity = 0.90555, convex_area = 15279.00000, extent = 0.59392, type = C + area = 11983.00000, perimeter = 430.63101, major_axis_length = 175.67865, minor_axis_length = 87.90483, eccentricity = 0.86581, convex_area = 12248.00000, extent = 0.62227, type = O + area = 10574.00000, perimeter = 415.95700, major_axis_length = 172.70430, minor_axis_length = 78.68140, eccentricity = 0.89019, convex_area = 10831.00000, extent = 0.67277, type = O + area = 11210.00000, perimeter = 428.89200, major_axis_length = 181.87332, minor_axis_length = 79.41141, eccentricity = 0.89964, convex_area = 11456.00000, extent = 0.63173, type = O + area = 15248.00000, perimeter = 509.00299, major_axis_length = 217.99248, minor_axis_length = 90.10747, eccentricity = 0.91057, convex_area = 15557.00000, extent = 0.73534, type = C + area = 14906.00000, perimeter = 497.82501, major_axis_length = 211.34190, minor_axis_length = 90.65295, eccentricity = 0.90333, convex_area = 15150.00000, extent = 0.59748, type = C + area = 12914.00000, perimeter = 464.17999, major_axis_length = 182.70155, minor_axis_length = 91.95509, eccentricity = 0.86411, convex_area = 13385.00000, extent = 0.64351, type = O + area = 12324.00000, perimeter = 465.66901, major_axis_length = 198.52171, minor_axis_length = 80.21651, eccentricity = 0.91473, convex_area = 12557.00000, extent = 0.64167, type = O + area = 14561.00000, perimeter = 493.53000, major_axis_length = 208.69296, minor_axis_length = 89.70529, eccentricity = 0.90290, convex_area = 14986.00000, extent = 0.77206, type = C + area = 10870.00000, perimeter = 414.27802, major_axis_length = 164.70441, minor_axis_length = 85.40578, eccentricity = 0.85505, convex_area = 11183.00000, extent = 0.66159, type = O + area = 11993.00000, perimeter = 444.56500, major_axis_length = 187.18291, minor_axis_length = 82.64057, eccentricity = 0.89726, convex_area = 12276.00000, extent = 0.58737, type = C + area = 12403.00000, perimeter = 451.24399, major_axis_length = 194.00620, minor_axis_length = 82.41925, eccentricity = 0.90527, convex_area = 12596.00000, extent = 0.83069, type = C + area = 12653.00000, perimeter = 461.62000, major_axis_length = 195.89386, minor_axis_length = 83.49930, eccentricity = 0.90461, convex_area = 12973.00000, extent = 0.57650, type = C + area = 14818.00000, perimeter = 499.35999, major_axis_length = 208.87550, minor_axis_length = 91.91077, eccentricity = 0.89798, convex_area = 15204.00000, extent = 0.57541, type = C + area = 14683.00000, perimeter = 493.57199, major_axis_length = 209.05197, minor_axis_length = 90.58433, eccentricity = 0.90124, convex_area = 14947.00000, extent = 0.70220, type = C + area = 15281.00000, perimeter = 509.51700, major_axis_length = 212.69688, minor_axis_length = 92.99384, eccentricity = 0.89936, convex_area = 15689.00000, extent = 0.64023, type = C + area = 11415.00000, perimeter = 424.96301, major_axis_length = 172.69562, minor_axis_length = 85.28924, eccentricity = 0.86954, convex_area = 11735.00000, extent = 0.69132, type = O + area = 14802.00000, perimeter = 497.83200, major_axis_length = 209.61795, minor_axis_length = 91.14713, eccentricity = 0.90051, convex_area = 15208.00000, extent = 0.62298, type = C + area = 10864.00000, perimeter = 426.57800, major_axis_length = 174.11014, minor_axis_length = 81.12305, eccentricity = 0.88482, convex_area = 11170.00000, extent = 0.57812, type = O + area = 11046.00000, perimeter = 423.49799, major_axis_length = 183.45500, minor_axis_length = 76.97342, eccentricity = 0.90772, convex_area = 11198.00000, extent = 0.82279, type = O + area = 12730.00000, perimeter = 454.43900, major_axis_length = 186.89359, minor_axis_length = 87.86870, eccentricity = 0.88258, convex_area = 12943.00000, extent = 0.66614, type = O + area = 15070.00000, perimeter = 504.05099, major_axis_length = 210.02599, minor_axis_length = 92.37322, eccentricity = 0.89809, convex_area = 15400.00000, extent = 0.64873, type = C + area = 13167.00000, perimeter = 466.66400, major_axis_length = 197.12506, minor_axis_length = 86.21641, eccentricity = 0.89928, convex_area = 13448.00000, extent = 0.58099, type = C + area = 13681.00000, perimeter = 478.53799, major_axis_length = 202.76108, minor_axis_length = 87.02304, eccentricity = 0.90321, convex_area = 14015.00000, extent = 0.64194, type = C + area = 13927.00000, perimeter = 479.35501, major_axis_length = 202.79362, minor_axis_length = 88.48322, eccentricity = 0.89979, convex_area = 14264.00000, extent = 0.77085, type = C + area = 11355.00000, perimeter = 428.99200, major_axis_length = 172.28127, minor_axis_length = 85.36949, eccentricity = 0.86859, convex_area = 11690.00000, extent = 0.61425, type = O + area = 14489.00000, perimeter = 496.38501, major_axis_length = 210.03639, minor_axis_length = 88.53156, eccentricity = 0.90683, convex_area = 14843.00000, extent = 0.61535, type = C + area = 11088.00000, perimeter = 421.15701, major_axis_length = 169.42094, minor_axis_length = 85.37567, eccentricity = 0.86375, convex_area = 11373.00000, extent = 0.75413, type = O + area = 12482.00000, perimeter = 448.53900, major_axis_length = 185.09004, minor_axis_length = 87.25161, eccentricity = 0.88192, convex_area = 12744.00000, extent = 0.59269, type = O + area = 14466.00000, perimeter = 497.84000, major_axis_length = 204.40955, minor_axis_length = 91.21478, eccentricity = 0.89492, convex_area = 14885.00000, extent = 0.65650, type = C + area = 15752.00000, perimeter = 519.88898, major_axis_length = 216.70204, minor_axis_length = 94.21913, eccentricity = 0.90053, convex_area = 16426.00000, extent = 0.60122, type = C + area = 17338.00000, perimeter = 530.04401, major_axis_length = 222.08437, minor_axis_length = 100.54912, eccentricity = 0.89164, convex_area = 17725.00000, extent = 0.79245, type = C + area = 11571.00000, perimeter = 432.67099, major_axis_length = 183.70560, minor_axis_length = 80.56020, eccentricity = 0.89872, convex_area = 11741.00000, extent = 0.66222, type = C + area = 11504.00000, perimeter = 432.44400, major_axis_length = 175.78508, minor_axis_length = 84.95903, eccentricity = 0.87545, convex_area = 11861.00000, extent = 0.58802, type = O + area = 12008.00000, perimeter = 433.23401, major_axis_length = 184.12741, minor_axis_length = 83.70604, eccentricity = 0.89069, convex_area = 12129.00000, extent = 0.64403, type = O + area = 15258.00000, perimeter = 505.16299, major_axis_length = 214.01933, minor_axis_length = 91.61250, eccentricity = 0.90375, convex_area = 15497.00000, extent = 0.57413, type = C + area = 12927.00000, perimeter = 453.01501, major_axis_length = 184.32379, minor_axis_length = 89.86131, eccentricity = 0.87311, convex_area = 13196.00000, extent = 0.73692, type = C + area = 11672.00000, perimeter = 430.64200, major_axis_length = 177.94815, minor_axis_length = 84.67979, eccentricity = 0.87952, convex_area = 11849.00000, extent = 0.59746, type = O + area = 11816.00000, perimeter = 446.10001, major_axis_length = 187.14316, minor_axis_length = 81.82019, eccentricity = 0.89936, convex_area = 12069.00000, extent = 0.74671, type = O + area = 12886.00000, perimeter = 455.51801, major_axis_length = 189.85989, minor_axis_length = 87.49918, eccentricity = 0.88747, convex_area = 13080.00000, extent = 0.59230, type = C + area = 11253.00000, perimeter = 422.87799, major_axis_length = 173.48373, minor_axis_length = 84.12681, eccentricity = 0.87456, convex_area = 11556.00000, extent = 0.75200, type = O + area = 13858.00000, perimeter = 490.57001, major_axis_length = 203.70947, minor_axis_length = 88.17393, eccentricity = 0.90147, convex_area = 14265.00000, extent = 0.65319, type = C + area = 12503.00000, perimeter = 449.59900, major_axis_length = 184.01433, minor_axis_length = 88.25850, eccentricity = 0.87747, convex_area = 12803.00000, extent = 0.78163, type = O + area = 15330.00000, perimeter = 501.69699, major_axis_length = 209.67932, minor_axis_length = 93.87273, eccentricity = 0.89419, convex_area = 15617.00000, extent = 0.58262, type = C + area = 12181.00000, perimeter = 434.81299, major_axis_length = 179.22531, minor_axis_length = 86.98540, eccentricity = 0.87432, convex_area = 12387.00000, extent = 0.72801, type = O + area = 13321.00000, perimeter = 467.40799, major_axis_length = 200.92029, minor_axis_length = 85.13779, eccentricity = 0.90578, convex_area = 13543.00000, extent = 0.59870, type = C + area = 10191.00000, perimeter = 419.57901, major_axis_length = 174.73424, minor_axis_length = 75.53467, eccentricity = 0.90174, convex_area = 10470.00000, extent = 0.62733, type = O + area = 15713.00000, perimeter = 518.45203, major_axis_length = 218.76726, minor_axis_length = 92.42918, eccentricity = 0.90636, convex_area = 16038.00000, extent = 0.58352, type = C + area = 15326.00000, perimeter = 505.37799, major_axis_length = 208.09908, minor_axis_length = 95.35768, eccentricity = 0.88883, convex_area = 15684.00000, extent = 0.58621, type = C + area = 10367.00000, perimeter = 412.00500, major_axis_length = 173.72050, minor_axis_length = 76.78864, eccentricity = 0.89700, convex_area = 10591.00000, extent = 0.61974, type = O + area = 10509.00000, perimeter = 405.05701, major_axis_length = 166.50410, minor_axis_length = 81.15012, eccentricity = 0.87319, convex_area = 10722.00000, extent = 0.67443, type = O + area = 11733.00000, perimeter = 436.26001, major_axis_length = 182.88922, minor_axis_length = 82.62609, eccentricity = 0.89213, convex_area = 11955.00000, extent = 0.68662, type = C + area = 11958.00000, perimeter = 444.92700, major_axis_length = 187.75836, minor_axis_length = 81.88332, eccentricity = 0.89989, convex_area = 12240.00000, extent = 0.72667, type = C + area = 10523.00000, perimeter = 429.05701, major_axis_length = 173.88426, minor_axis_length = 78.85679, eccentricity = 0.89126, convex_area = 11003.00000, extent = 0.58657, type = O + area = 11149.00000, perimeter = 416.89099, major_axis_length = 167.29213, minor_axis_length = 86.69962, eccentricity = 0.85523, convex_area = 11323.00000, extent = 0.69090, type = O + area = 10959.00000, perimeter = 447.23300, major_axis_length = 197.35841, minor_axis_length = 71.06098, eccentricity = 0.93293, convex_area = 11133.00000, extent = 0.49741, type = C + area = 11975.00000, perimeter = 434.91101, major_axis_length = 176.54028, minor_axis_length = 87.28522, eccentricity = 0.86922, convex_area = 12216.00000, extent = 0.76032, type = O + area = 11852.00000, perimeter = 446.07700, major_axis_length = 192.05428, minor_axis_length = 79.09919, eccentricity = 0.91125, convex_area = 12029.00000, extent = 0.71700, type = C + area = 13837.00000, perimeter = 483.59399, major_axis_length = 204.31093, minor_axis_length = 87.28925, eccentricity = 0.90414, convex_area = 14139.00000, extent = 0.56942, type = C + area = 15118.00000, perimeter = 514.96698, major_axis_length = 224.18660, minor_axis_length = 87.69224, eccentricity = 0.92032, convex_area = 15454.00000, extent = 0.65412, type = C + area = 11995.00000, perimeter = 477.41101, major_axis_length = 216.48775, minor_axis_length = 70.77008, eccentricity = 0.94506, convex_area = 12168.00000, extent = 0.66606, type = C + area = 11363.00000, perimeter = 416.04999, major_axis_length = 168.43848, minor_axis_length = 86.90823, eccentricity = 0.85661, convex_area = 11594.00000, extent = 0.63026, type = O + area = 12311.00000, perimeter = 450.33499, major_axis_length = 194.44675, minor_axis_length = 81.31934, eccentricity = 0.90835, convex_area = 12441.00000, extent = 0.55656, type = O + area = 12152.00000, perimeter = 447.91699, major_axis_length = 185.24631, minor_axis_length = 85.78561, eccentricity = 0.88631, convex_area = 12449.00000, extent = 0.57538, type = O + area = 10451.00000, perimeter = 419.69601, major_axis_length = 174.23369, minor_axis_length = 78.35890, eccentricity = 0.89316, convex_area = 10722.00000, extent = 0.58687, type = O + area = 11319.00000, perimeter = 414.01401, major_axis_length = 164.78081, minor_axis_length = 88.50933, eccentricity = 0.84350, convex_area = 11563.00000, extent = 0.74669, type = O + area = 15035.00000, perimeter = 506.15201, major_axis_length = 216.93530, minor_axis_length = 89.38924, eccentricity = 0.91116, convex_area = 15432.00000, extent = 0.60930, type = C + area = 12159.00000, perimeter = 437.82300, major_axis_length = 177.58453, minor_axis_length = 88.58030, eccentricity = 0.86671, convex_area = 12377.00000, extent = 0.67014, type = O + area = 11245.00000, perimeter = 421.54800, major_axis_length = 174.57549, minor_axis_length = 82.91380, eccentricity = 0.88002, convex_area = 11475.00000, extent = 0.68193, type = O + area = 13975.00000, perimeter = 482.58899, major_axis_length = 203.41641, minor_axis_length = 88.66715, eccentricity = 0.90000, convex_area = 14275.00000, extent = 0.67265, type = C + area = 12356.00000, perimeter = 427.89801, major_axis_length = 173.02116, minor_axis_length = 91.67184, eccentricity = 0.84810, convex_area = 12524.00000, extent = 0.79871, type = O + area = 14573.00000, perimeter = 493.78000, major_axis_length = 209.35582, minor_axis_length = 89.43751, eccentricity = 0.90416, convex_area = 14847.00000, extent = 0.65058, type = C + area = 11891.00000, perimeter = 446.40701, major_axis_length = 189.05547, minor_axis_length = 81.91354, eccentricity = 0.90126, convex_area = 12125.00000, extent = 0.55191, type = O + area = 14528.00000, perimeter = 475.44800, major_axis_length = 192.19856, minor_axis_length = 97.41743, eccentricity = 0.86203, convex_area = 14795.00000, extent = 0.62949, type = C + area = 12729.00000, perimeter = 458.38599, major_axis_length = 184.99959, minor_axis_length = 88.83807, eccentricity = 0.87716, convex_area = 13085.00000, extent = 0.60213, type = O + area = 10843.00000, perimeter = 412.36700, major_axis_length = 168.27451, minor_axis_length = 83.94273, eccentricity = 0.86669, convex_area = 11082.00000, extent = 0.78744, type = O + area = 12792.00000, perimeter = 443.72699, major_axis_length = 179.13026, minor_axis_length = 92.19039, eccentricity = 0.85740, convex_area = 13044.00000, extent = 0.79419, type = O + area = 13580.00000, perimeter = 460.54901, major_axis_length = 192.75961, minor_axis_length = 90.22404, eccentricity = 0.88369, convex_area = 13753.00000, extent = 0.79415, type = O + area = 14471.00000, perimeter = 491.34201, major_axis_length = 200.41316, minor_axis_length = 92.81940, eccentricity = 0.88629, convex_area = 14736.00000, extent = 0.58597, type = C + area = 12124.00000, perimeter = 446.44000, major_axis_length = 188.97534, minor_axis_length = 82.71680, eccentricity = 0.89912, convex_area = 12336.00000, extent = 0.74035, type = O + area = 10574.00000, perimeter = 411.11899, major_axis_length = 170.14017, minor_axis_length = 79.77427, eccentricity = 0.88327, convex_area = 10782.00000, extent = 0.68707, type = O + area = 14910.00000, perimeter = 511.60001, major_axis_length = 221.61229, minor_axis_length = 86.21699, eccentricity = 0.92122, convex_area = 15215.00000, extent = 0.69964, type = C + area = 14482.00000, perimeter = 489.31799, major_axis_length = 205.38631, minor_axis_length = 90.80043, eccentricity = 0.89697, convex_area = 14781.00000, extent = 0.56890, type = C + area = 15456.00000, perimeter = 508.82101, major_axis_length = 214.30441, minor_axis_length = 93.45650, eccentricity = 0.89990, convex_area = 15884.00000, extent = 0.78025, type = C + area = 11573.00000, perimeter = 427.28101, major_axis_length = 176.78906, minor_axis_length = 84.64529, eccentricity = 0.87793, convex_area = 11828.00000, extent = 0.60684, type = O + area = 9598.00000, perimeter = 397.00000, major_axis_length = 172.00679, minor_axis_length = 72.28365, eccentricity = 0.90741, convex_area = 9766.00000, extent = 0.79685, type = O + area = 13424.00000, perimeter = 461.46899, major_axis_length = 186.50674, minor_axis_length = 92.67175, eccentricity = 0.86782, convex_area = 13702.00000, extent = 0.67552, type = C + area = 10297.00000, perimeter = 426.22198, major_axis_length = 180.04320, minor_axis_length = 73.69880, eccentricity = 0.91238, convex_area = 10621.00000, extent = 0.56453, type = O + area = 11764.00000, perimeter = 428.56100, major_axis_length = 171.58627, minor_axis_length = 88.72550, eccentricity = 0.85593, convex_area = 12125.00000, extent = 0.68803, type = O + area = 15080.00000, perimeter = 500.00601, major_axis_length = 209.58928, minor_axis_length = 92.79666, eccentricity = 0.89664, convex_area = 15614.00000, extent = 0.73232, type = C + area = 14654.00000, perimeter = 498.10300, major_axis_length = 214.65430, minor_axis_length = 87.38055, eccentricity = 0.91339, convex_area = 14907.00000, extent = 0.80375, type = C + area = 10121.00000, perimeter = 405.70901, major_axis_length = 168.87711, minor_axis_length = 77.08663, eccentricity = 0.88974, convex_area = 10373.00000, extent = 0.74354, type = O + area = 13683.00000, perimeter = 492.97501, major_axis_length = 213.90919, minor_axis_length = 83.12070, eccentricity = 0.92142, convex_area = 14070.00000, extent = 0.76127, type = C + area = 12093.00000, perimeter = 440.43799, major_axis_length = 176.48048, minor_axis_length = 88.96030, eccentricity = 0.86366, convex_area = 12421.00000, extent = 0.62226, type = O + area = 16259.00000, perimeter = 522.62201, major_axis_length = 215.50919, minor_axis_length = 97.42146, eccentricity = 0.89199, convex_area = 16728.00000, extent = 0.58435, type = C + area = 12906.00000, perimeter = 449.79099, major_axis_length = 180.67589, minor_axis_length = 92.46822, eccentricity = 0.85911, convex_area = 13278.00000, extent = 0.63592, type = O + area = 12224.00000, perimeter = 438.97601, major_axis_length = 177.13861, minor_axis_length = 88.43137, eccentricity = 0.86647, convex_area = 12445.00000, extent = 0.60626, type = O + area = 11051.00000, perimeter = 424.97601, major_axis_length = 180.87190, minor_axis_length = 78.26738, eccentricity = 0.90153, convex_area = 11240.00000, extent = 0.56806, type = O + area = 13988.00000, perimeter = 491.48901, major_axis_length = 208.36464, minor_axis_length = 86.78497, eccentricity = 0.90913, convex_area = 14427.00000, extent = 0.61311, type = C + area = 13039.00000, perimeter = 476.69800, major_axis_length = 198.89693, minor_axis_length = 85.53027, eccentricity = 0.90282, convex_area = 13383.00000, extent = 0.55180, type = C + area = 10784.00000, perimeter = 424.14401, major_axis_length = 176.95996, minor_axis_length = 78.46128, eccentricity = 0.89633, convex_area = 11091.00000, extent = 0.63690, type = O + area = 12084.00000, perimeter = 434.67401, major_axis_length = 177.52542, minor_axis_length = 88.04617, eccentricity = 0.86834, convex_area = 12321.00000, extent = 0.62722, type = O + area = 12406.00000, perimeter = 449.71399, major_axis_length = 188.50739, minor_axis_length = 84.51765, eccentricity = 0.89386, convex_area = 12602.00000, extent = 0.79833, type = O + area = 9819.00000, perimeter = 410.64801, major_axis_length = 172.62126, minor_axis_length = 73.48200, eccentricity = 0.90487, convex_area = 10096.00000, extent = 0.58825, type = O + area = 11278.00000, perimeter = 430.26300, major_axis_length = 174.44518, minor_axis_length = 83.79234, eccentricity = 0.87708, convex_area = 11637.00000, extent = 0.73655, type = O + area = 11068.00000, perimeter = 423.97299, major_axis_length = 172.01558, minor_axis_length = 82.98537, eccentricity = 0.87593, convex_area = 11323.00000, extent = 0.60530, type = O + area = 14570.00000, perimeter = 469.98199, major_axis_length = 185.40146, minor_axis_length = 100.88792, eccentricity = 0.83898, convex_area = 14895.00000, extent = 0.65454, type = C + area = 14814.00000, perimeter = 503.14801, major_axis_length = 217.25677, minor_axis_length = 88.17827, eccentricity = 0.91393, convex_area = 15110.00000, extent = 0.54511, type = C + area = 13693.00000, perimeter = 479.47900, major_axis_length = 200.39729, minor_axis_length = 88.17446, eccentricity = 0.89800, convex_area = 14097.00000, extent = 0.69525, type = C + area = 11421.00000, perimeter = 441.16101, major_axis_length = 189.52185, minor_axis_length = 77.25662, eccentricity = 0.91314, convex_area = 11610.00000, extent = 0.55179, type = C + area = 13970.00000, perimeter = 494.62900, major_axis_length = 210.52756, minor_axis_length = 85.43404, eccentricity = 0.91396, convex_area = 14308.00000, extent = 0.55054, type = C + area = 10667.00000, perimeter = 411.74701, major_axis_length = 163.93025, minor_axis_length = 84.71981, eccentricity = 0.85610, convex_area = 10987.00000, extent = 0.66610, type = O + area = 16403.00000, perimeter = 521.90900, major_axis_length = 215.15091, minor_axis_length = 98.40095, eccentricity = 0.88928, convex_area = 16867.00000, extent = 0.58877, type = C + area = 13698.00000, perimeter = 478.59900, major_axis_length = 199.06026, minor_axis_length = 88.78965, eccentricity = 0.89501, convex_area = 13932.00000, extent = 0.57559, type = C + area = 15655.00000, perimeter = 488.90302, major_axis_length = 199.55669, minor_axis_length = 101.02621, eccentricity = 0.86238, convex_area = 15880.00000, extent = 0.63375, type = C + area = 12419.00000, perimeter = 439.15701, major_axis_length = 175.85406, minor_axis_length = 90.91185, eccentricity = 0.85600, convex_area = 12675.00000, extent = 0.62382, type = O + area = 10657.00000, perimeter = 407.76501, major_axis_length = 168.73734, minor_axis_length = 80.82008, eccentricity = 0.87783, convex_area = 10826.00000, extent = 0.60953, type = O + area = 12942.00000, perimeter = 441.74399, major_axis_length = 175.55925, minor_axis_length = 95.28501, eccentricity = 0.83989, convex_area = 13310.00000, extent = 0.70169, type = O + area = 13002.00000, perimeter = 472.47400, major_axis_length = 198.07727, minor_axis_length = 85.79917, eccentricity = 0.90132, convex_area = 13432.00000, extent = 0.69474, type = C + area = 15269.00000, perimeter = 519.76599, major_axis_length = 222.41956, minor_axis_length = 88.28183, eccentricity = 0.91786, convex_area = 15620.00000, extent = 0.56575, type = C + area = 13711.00000, perimeter = 483.21500, major_axis_length = 203.88077, minor_axis_length = 86.62691, eccentricity = 0.90524, convex_area = 14097.00000, extent = 0.56147, type = C + area = 13062.00000, perimeter = 469.42401, major_axis_length = 200.62883, minor_axis_length = 83.27462, eccentricity = 0.90979, convex_area = 13279.00000, extent = 0.66321, type = C + area = 12808.00000, perimeter = 466.92401, major_axis_length = 197.17467, minor_axis_length = 83.79330, eccentricity = 0.90521, convex_area = 13186.00000, extent = 0.54373, type = O + area = 12121.00000, perimeter = 439.84201, major_axis_length = 183.46703, minor_axis_length = 84.76440, eccentricity = 0.88687, convex_area = 12389.00000, extent = 0.64874, type = O + area = 14806.00000, perimeter = 497.85599, major_axis_length = 211.13350, minor_axis_length = 90.01241, eccentricity = 0.90457, convex_area = 15114.00000, extent = 0.65121, type = C + area = 12518.00000, perimeter = 473.38400, major_axis_length = 203.92206, minor_axis_length = 80.00767, eccentricity = 0.91982, convex_area = 12778.00000, extent = 0.68033, type = C + area = 16318.00000, perimeter = 537.44702, major_axis_length = 232.03682, minor_axis_length = 90.71050, eccentricity = 0.92042, convex_area = 16592.00000, extent = 0.59817, type = C + area = 10574.00000, perimeter = 398.68100, major_axis_length = 157.80840, minor_axis_length = 86.85959, eccentricity = 0.83489, convex_area = 10829.00000, extent = 0.69356, type = O + area = 14015.00000, perimeter = 475.72400, major_axis_length = 195.32164, minor_axis_length = 92.48479, eccentricity = 0.88079, convex_area = 14492.00000, extent = 0.74862, type = C + area = 11411.00000, perimeter = 429.10101, major_axis_length = 175.35614, minor_axis_length = 83.65203, eccentricity = 0.87888, convex_area = 11636.00000, extent = 0.59806, type = O + area = 14534.00000, perimeter = 483.64099, major_axis_length = 196.65082, minor_axis_length = 95.05068, eccentricity = 0.87543, convex_area = 14932.00000, extent = 0.64965, type = C + area = 13446.00000, perimeter = 475.12799, major_axis_length = 198.69955, minor_axis_length = 87.37930, eccentricity = 0.89812, convex_area = 13765.00000, extent = 0.57572, type = C + area = 13949.00000, perimeter = 479.40201, major_axis_length = 200.09514, minor_axis_length = 90.09469, eccentricity = 0.89290, convex_area = 14286.00000, extent = 0.58155, type = C + area = 14658.00000, perimeter = 486.17899, major_axis_length = 201.88654, minor_axis_length = 93.20777, eccentricity = 0.88704, convex_area = 14892.00000, extent = 0.64830, type = C + area = 14928.00000, perimeter = 499.39301, major_axis_length = 212.40379, minor_axis_length = 90.70808, eccentricity = 0.90423, convex_area = 15269.00000, extent = 0.79744, type = C + area = 13925.00000, perimeter = 478.29001, major_axis_length = 196.57477, minor_axis_length = 91.43114, eccentricity = 0.88525, convex_area = 14323.00000, extent = 0.66278, type = C + area = 14889.00000, perimeter = 499.20599, major_axis_length = 210.38416, minor_axis_length = 91.71178, eccentricity = 0.89998, convex_area = 15221.00000, extent = 0.60463, type = C + area = 12466.00000, perimeter = 439.18301, major_axis_length = 177.41931, minor_axis_length = 90.01721, eccentricity = 0.86173, convex_area = 12707.00000, extent = 0.60988, type = O + area = 14750.00000, perimeter = 484.15201, major_axis_length = 201.24701, minor_axis_length = 94.85915, eccentricity = 0.88194, convex_area = 14967.00000, extent = 0.78067, type = C + area = 15367.00000, perimeter = 501.90701, major_axis_length = 210.05598, minor_axis_length = 94.47918, eccentricity = 0.89314, convex_area = 15644.00000, extent = 0.79061, type = C + area = 11219.00000, perimeter = 433.71301, major_axis_length = 180.31642, minor_axis_length = 80.25338, eccentricity = 0.89550, convex_area = 11485.00000, extent = 0.70049, type = O + area = 13684.00000, perimeter = 505.65500, major_axis_length = 213.59363, minor_axis_length = 83.51059, eccentricity = 0.92040, convex_area = 14158.00000, extent = 0.57763, type = C + area = 10550.00000, perimeter = 404.29501, major_axis_length = 160.47012, minor_axis_length = 85.45004, eccentricity = 0.84643, convex_area = 10846.00000, extent = 0.77981, type = O + area = 14732.00000, perimeter = 497.69400, major_axis_length = 207.46820, minor_axis_length = 91.29447, eccentricity = 0.89798, convex_area = 15000.00000, extent = 0.58037, type = C + area = 11953.00000, perimeter = 443.51801, major_axis_length = 183.42574, minor_axis_length = 84.54717, eccentricity = 0.88743, convex_area = 12283.00000, extent = 0.57071, type = O + area = 13024.00000, perimeter = 469.64700, major_axis_length = 193.92215, minor_axis_length = 87.51405, eccentricity = 0.89238, convex_area = 13422.00000, extent = 0.53956, type = O + area = 12917.00000, perimeter = 473.23499, major_axis_length = 200.32533, minor_axis_length = 83.20118, eccentricity = 0.90967, convex_area = 13302.00000, extent = 0.66610, type = C + area = 10829.00000, perimeter = 404.75101, major_axis_length = 160.11789, minor_axis_length = 87.50862, eccentricity = 0.83744, convex_area = 11138.00000, extent = 0.72145, type = O + area = 14093.00000, perimeter = 488.59799, major_axis_length = 204.39246, minor_axis_length = 89.15961, eccentricity = 0.89984, convex_area = 14463.00000, extent = 0.58111, type = C + area = 11249.00000, perimeter = 423.09500, major_axis_length = 167.86301, minor_axis_length = 86.53877, eccentricity = 0.85687, convex_area = 11560.00000, extent = 0.61889, type = O + area = 13923.00000, perimeter = 488.70801, major_axis_length = 209.73746, minor_axis_length = 85.71608, eccentricity = 0.91268, convex_area = 14165.00000, extent = 0.53423, type = C + area = 15071.00000, perimeter = 494.13501, major_axis_length = 200.59483, minor_axis_length = 97.39329, eccentricity = 0.87422, convex_area = 15575.00000, extent = 0.68921, type = C + area = 12101.00000, perimeter = 435.92899, major_axis_length = 178.39732, minor_axis_length = 86.98376, eccentricity = 0.87308, convex_area = 12302.00000, extent = 0.74058, type = O + area = 15224.00000, perimeter = 510.88199, major_axis_length = 213.19617, minor_axis_length = 92.32341, eccentricity = 0.90137, convex_area = 15686.00000, extent = 0.63953, type = C + area = 12495.00000, perimeter = 458.40701, major_axis_length = 187.60420, minor_axis_length = 87.02570, eccentricity = 0.88590, convex_area = 12993.00000, extent = 0.67493, type = C + area = 13789.00000, perimeter = 471.30301, major_axis_length = 198.52347, minor_axis_length = 88.71288, eccentricity = 0.89460, convex_area = 14025.00000, extent = 0.63136, type = C + area = 12895.00000, perimeter = 461.58200, major_axis_length = 189.03203, minor_axis_length = 88.76391, eccentricity = 0.88289, convex_area = 13267.00000, extent = 0.76719, type = O + area = 11722.00000, perimeter = 423.70200, major_axis_length = 174.95630, minor_axis_length = 85.81461, eccentricity = 0.87145, convex_area = 11891.00000, extent = 0.61125, type = O + area = 11299.00000, perimeter = 420.73801, major_axis_length = 170.82082, minor_axis_length = 84.86575, eccentricity = 0.86786, convex_area = 11488.00000, extent = 0.64257, type = O + area = 14852.00000, perimeter = 495.81699, major_axis_length = 205.71364, minor_axis_length = 92.94775, eccentricity = 0.89210, convex_area = 15202.00000, extent = 0.60130, type = C + area = 15158.00000, perimeter = 513.72601, major_axis_length = 218.82001, minor_axis_length = 89.37169, eccentricity = 0.91279, convex_area = 15591.00000, extent = 0.70176, type = C + area = 12800.00000, perimeter = 471.33401, major_axis_length = 203.55943, minor_axis_length = 81.30859, eccentricity = 0.91676, convex_area = 13141.00000, extent = 0.61162, type = C + area = 16199.00000, perimeter = 514.15601, major_axis_length = 217.63051, minor_axis_length = 95.51936, eccentricity = 0.89853, convex_area = 16475.00000, extent = 0.70769, type = C + area = 11997.00000, perimeter = 429.66000, major_axis_length = 170.99939, minor_axis_length = 90.55362, eccentricity = 0.84828, convex_area = 12253.00000, extent = 0.74636, type = O + area = 14974.00000, perimeter = 498.62500, major_axis_length = 210.92395, minor_axis_length = 90.90400, eccentricity = 0.90236, convex_area = 15212.00000, extent = 0.64090, type = C diff --git a/cmake-build-relwithdebinfo/run_1/regress.stt b/cmake-build-relwithdebinfo/run_1/regress.stt new file mode 100644 index 0000000..21aa126 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_1/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.9595 0.9987 0.0000 18.357 3.479 10 6 33 5 0.9595 0.9987 0.0000 18.357 3.479 10 6 33 5 +1 0 0.9914 0.9987 0.0000 16.772 3.623 21 6 67 6 0.9755 0.9987 0.0000 17.564 3.551 21 6 33 5 +2 0 0.9898 0.9988 0.0000 16.279 3.760 18 5 17 6 0.9802 0.9988 0.0000 17.136 3.621 18 5 33 5 +3 0 0.9904 0.9988 0.0000 16.019 3.901 18 5 16 6 0.9828 0.9988 0.0000 16.857 3.691 18 5 33 5 +4 0 0.9930 0.9988 0.0000 15.934 3.976 18 5 31 8 0.9848 0.9988 0.0000 16.672 3.748 18 5 33 5 +5 0 0.9930 0.9988 0.0000 15.752 4.081 18 5 27 5 0.9862 0.9988 0.0000 16.519 3.803 18 5 33 5 +6 0 0.9914 0.9988 0.0000 15.685 4.121 18 5 52 8 0.9869 0.9988 0.0000 16.400 3.849 18 5 33 5 +7 0 0.9926 0.9988 0.0000 15.551 4.172 18 5 31 9 0.9876 0.9988 0.0000 16.294 3.889 18 5 33 5 +8 0 0.9932 0.9988 0.0000 15.437 4.213 18 5 43 9 0.9882 0.9988 0.0000 16.198 3.925 18 5 33 5 +9 0 0.9942 0.9988 0.0000 15.599 4.307 18 5 44 6 0.9888 0.9988 0.0000 16.138 3.963 18 5 33 5 +10 0 0.9936 0.9988 0.0000 15.274 4.289 18 5 92 15 0.9893 0.9988 0.0000 16.060 3.993 18 5 33 5 +11 0 0.9940 0.9988 0.0000 14.878 4.260 18 5 24 8 0.9897 0.9988 0.0000 15.961 4.015 18 5 33 5 +12 0 0.9938 0.9988 0.0000 14.551 4.272 18 5 13 5 0.9900 0.9988 0.0000 15.853 4.035 18 5 33 5 +13 0 0.9960 0.9988 0.0000 14.685 4.333 18 5 39 9 0.9904 0.9988 0.0000 15.769 4.056 18 5 33 5 +14 0 0.9946 0.9989 0.0000 14.253 4.283 18 5 29 8 0.9907 0.9989 0.0000 15.668 4.071 18 5 33 5 +15 0 0.9956 0.9989 0.0000 13.860 4.260 18 5 39 12 0.9910 0.9989 0.0000 15.555 4.083 18 5 33 5 +16 0 0.9956 0.9989 0.0000 13.640 4.226 18 5 53 13 0.9912 0.9989 0.0000 15.443 4.092 18 5 33 5 +17 0 0.9958 0.9989 0.0000 13.645 4.225 18 5 52 12 0.9915 0.9989 0.0000 15.343 4.099 18 5 33 5 +18 0 0.9948 0.9989 0.0000 13.167 4.177 18 5 16 4 0.9917 0.9989 0.0000 15.228 4.103 18 5 33 5 +19 0 0.9934 0.9989 0.0000 12.862 4.188 18 5 34 13 0.9918 0.9989 0.0000 15.110 4.107 18 5 33 5 +20 0 0.9950 0.9989 0.0000 13.081 4.260 18 5 31 7 0.9919 0.9989 0.0000 15.013 4.115 18 5 33 5 +21 0 0.9950 0.9989 0.0000 12.965 4.218 18 5 15 4 0.9920 0.9989 0.0000 14.920 4.119 18 5 33 5 +22 0 0.9960 0.9989 0.0000 12.638 4.178 18 5 46 16 0.9922 0.9989 0.0000 14.821 4.122 18 5 33 5 +23 0 0.9953 0.9989 0.0000 12.335 4.156 18 5 6 2 0.9923 0.9989 0.0000 14.717 4.123 18 5 33 5 +24 0 0.9948 0.9989 0.0000 12.338 4.140 18 5 20 7 0.9924 0.9989 0.0000 14.622 4.124 18 5 33 5 +25 0 0.9960 0.9989 0.0000 12.090 4.132 18 5 25 7 0.9926 0.9989 0.0000 14.525 4.124 18 5 33 5 +26 0 0.9954 0.9989 0.0000 12.135 4.129 18 5 9 3 0.9927 0.9989 0.0000 14.436 4.125 18 5 33 5 +27 0 0.9947 0.9989 0.0000 11.981 4.119 31 7 23 7 0.9928 0.9989 0.0000 14.349 4.124 31 7 33 5 +28 0 0.9966 0.9989 0.0000 11.502 4.035 31 7 29 9 0.9929 0.9989 0.0000 14.250 4.121 31 7 33 5 +29 0 0.9960 0.9989 0.0000 11.140 3.944 31 7 13 5 0.9930 0.9989 0.0000 14.147 4.115 31 7 33 5 +30 0 0.9968 0.9989 0.0000 11.049 3.902 31 7 16 5 0.9931 0.9989 0.0000 14.047 4.108 31 7 33 5 +31 0 0.9962 0.9989 0.0000 11.056 3.945 31 7 26 8 0.9932 0.9989 0.0000 13.953 4.103 31 7 33 5 +32 0 0.9964 0.9989 0.0000 10.729 3.863 31 7 21 6 0.9933 0.9989 0.0000 13.856 4.096 31 7 33 5 +33 0 0.9960 0.9989 0.0000 10.441 3.773 31 7 15 6 0.9934 0.9989 0.0000 13.755 4.087 31 7 33 5 +34 0 0.9960 0.9989 0.0000 10.584 3.787 31 7 16 5 0.9935 0.9989 0.0000 13.665 4.078 31 7 33 5 +35 0 0.9964 0.9989 0.0000 10.685 3.819 31 7 29 7 0.9935 0.9989 0.0000 13.582 4.071 31 7 33 5 +36 0 0.9970 0.9989 0.0000 10.534 3.799 31 7 15 6 0.9936 0.9989 0.0000 13.499 4.063 31 7 33 5 +37 0 0.9964 0.9989 0.0000 10.442 3.784 31 7 7 3 0.9937 0.9989 0.0000 13.419 4.056 31 7 33 5 +38 0 0.9970 0.9989 0.0000 10.420 3.833 31 7 23 7 0.9938 0.9989 0.0000 13.342 4.050 31 7 33 5 +39 0 0.9966 0.9989 0.0000 10.515 3.880 31 7 14 5 0.9939 0.9989 0.0000 13.271 4.046 31 7 33 5 +40 0 0.9960 0.9989 0.0000 10.518 3.881 31 7 71 15 0.9939 0.9989 0.0000 13.204 4.042 31 7 33 5 +41 0 0.9964 0.9989 0.0000 10.332 3.854 31 7 30 8 0.9940 0.9989 0.0000 13.136 4.038 31 7 33 5 +42 0 0.9966 0.9989 0.0000 10.107 3.839 31 7 11 4 0.9940 0.9989 0.0000 13.065 4.033 31 7 33 5 +43 0 0.9972 0.9989 0.0000 10.103 3.792 31 7 18 8 0.9941 0.9989 0.0000 12.998 4.028 31 7 33 5 +44 0 0.9965 0.9989 0.0000 10.028 3.737 31 7 47 10 0.9941 0.9989 0.0000 12.932 4.021 31 7 33 5 +45 0 0.9956 0.9989 0.0000 10.068 3.754 31 7 29 11 0.9942 0.9989 0.0000 12.870 4.015 31 7 33 5 +46 0 0.9966 0.9989 0.0000 10.063 3.760 31 7 32 9 0.9942 0.9989 0.0000 12.810 4.010 31 7 33 5 +47 0 0.9962 0.9989 0.0000 9.837 3.698 31 7 23 8 0.9943 0.9989 0.0000 12.748 4.003 31 7 33 5 +48 0 0.9962 0.9989 0.0000 9.917 3.712 31 7 45 14 0.9943 0.9989 0.0000 12.690 3.997 31 7 33 5 +49 0 0.9966 0.9989 0.0000 9.855 3.728 31 7 19 7 0.9944 0.9989 0.0000 12.634 3.992 31 7 33 5 +50 0 0.9968 0.9989 0.0000 9.684 3.721 31 7 60 15 0.9944 0.9989 0.0000 12.576 3.987 31 7 33 5 diff --git a/cmake-build-relwithdebinfo/run_1/regress.sys b/cmake-build-relwithdebinfo/run_1/regress.sys new file mode 100644 index 0000000..0484054 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_1/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - exp log area perimeter major minor eccentricity convex extent R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 150. +creating initial population(s): + 7380 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 1. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 8. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 11. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 14. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 81004122 + freed: 80956122 + not freed: 48000 + max allocated: 2533542 + malloc'ed blocks: 830811 + realloc'ed blocks: 7 + free'ed blocks: 830805 + +------- time ------- + overall: 57s wall + evaluation: 52s wall + breeding: 4s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 8147 + freed: 8147 + allocated: 5500 + blocks: 10 diff --git a/cmake-build-relwithdebinfo/run_2/regress.bst b/cmake-build-relwithdebinfo/run_2/regress.bst new file mode 100644 index 0000000..663606d --- /dev/null +++ b/cmake-build-relwithdebinfo/run_2/regress.bst @@ -0,0 +1,19 @@ +=== BEST-OF-RUN === + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +TREE-equ: +y = (0.05003 - (log(convex) / major)) diff --git a/cmake-build-relwithdebinfo/run_2/regress.fn b/cmake-build-relwithdebinfo/run_2/regress.fn new file mode 100644 index 0000000..7f19c80 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_2/regress.fn @@ -0,0 +1,11 @@ +Hits: 2579, Total Size: 2810, Percent Hit: 91.779359 +CC: 1042 +CO: 65 +OO: 1537 +OC: 166 + + +y = (0.05003 - (log(convex) / major)) + + (- 0.05003 + (/ (log convex) major)) diff --git a/cmake-build-relwithdebinfo/run_2/regress.gen b/cmake-build-relwithdebinfo/run_2/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/run_2/regress.his b/cmake-build-relwithdebinfo/run_2/regress.his new file mode 100644 index 0000000..2b41cab --- /dev/null +++ b/cmake-build-relwithdebinfo/run_2/regress.his @@ -0,0 +1,1054 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 72 + depth: 6 + hits: 695 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 695 + raw fitness: 695.0000 + standardized fitness: 695.0000 + adjusted fitness: 0.9986 +TREE: + (/ (log (/ (* (+ (+ convex eccentricity) + (- extent area)) + (* (- perimeter minor) + (- 0.42561 minor))) + (exp (- (log -0.89430) + (* eccentricity minor))))) + (* (/ (- (+ (- -0.76234 extent) + (/ minor 0.95878)) + (+ (/ minor area) + (- area minor))) + (- (exp (- perimeter major)) + (exp (/ perimeter extent)))) + (- (log (/ (/ perimeter area) + (exp eccentricity))) + (* (- (- 0.91910 perimeter) + (log area)) + (/ (* major minor) + (exp convex)))))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 41 + depth: 6 + hits: 816 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 816 + raw fitness: 816.0000 + standardized fitness: 816.0000 + adjusted fitness: 0.9988 +TREE: + (/ (/ (- (- (+ minor minor) + (* major eccentricity)) + (exp (* eccentricity eccentricity))) + (- (/ (exp major) + (+ eccentricity minor)) + (- (exp (+ major perimeter)) + (exp major)))) + (- (exp (log (* perimeter extent))) + (log (- (+ -0.83916 convex) + (exp major))))) +=== BEST-OF-RUN === + current generation: 2 + generation: 1 + nodes: 41 + depth: 6 + hits: 816 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 816 + raw fitness: 816.0000 + standardized fitness: 816.0000 + adjusted fitness: 0.9988 +TREE: + (/ (/ (- (- (+ minor minor) + (* major eccentricity)) + (exp (* eccentricity eccentricity))) + (- (/ (exp major) + (+ eccentricity minor)) + (- (exp (+ major perimeter)) + (exp major)))) + (- (exp (log (* perimeter extent))) + (log (- (+ -0.83916 convex) + (exp major))))) +=== BEST-OF-RUN === + current generation: 3 + generation: 1 + nodes: 41 + depth: 6 + hits: 816 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 816 + raw fitness: 816.0000 + standardized fitness: 816.0000 + adjusted fitness: 0.9988 +TREE: + (/ (/ (- (- (+ minor minor) + (* major eccentricity)) + (exp (* eccentricity eccentricity))) + (- (/ (exp major) + (+ eccentricity minor)) + (- (exp (+ major perimeter)) + (exp major)))) + (- (exp (log (* perimeter extent))) + (log (- (+ -0.83916 convex) + (exp major))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 1 + nodes: 41 + depth: 6 + hits: 816 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 816 + raw fitness: 816.0000 + standardized fitness: 816.0000 + adjusted fitness: 0.9988 +TREE: + (/ (/ (- (- (+ minor minor) + (* major eccentricity)) + (exp (* eccentricity eccentricity))) + (- (/ (exp major) + (+ eccentricity minor)) + (- (exp (+ major perimeter)) + (exp major)))) + (- (exp (log (* perimeter extent))) + (log (- (+ -0.83916 convex) + (exp major))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 1 + nodes: 41 + depth: 6 + hits: 816 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 816 + raw fitness: 816.0000 + standardized fitness: 816.0000 + adjusted fitness: 0.9988 +TREE: + (/ (/ (- (- (+ minor minor) + (* major eccentricity)) + (exp (* eccentricity eccentricity))) + (- (/ (exp major) + (+ eccentricity minor)) + (- (exp (+ major perimeter)) + (exp major)))) + (- (exp (log (* perimeter extent))) + (log (- (+ -0.83916 convex) + (exp major))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 1 + nodes: 41 + depth: 6 + hits: 816 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 816 + raw fitness: 816.0000 + standardized fitness: 816.0000 + adjusted fitness: 0.9988 +TREE: + (/ (/ (- (- (+ minor minor) + (* major eccentricity)) + (exp (* eccentricity eccentricity))) + (- (/ (exp major) + (+ eccentricity minor)) + (- (exp (+ major perimeter)) + (exp major)))) + (- (exp (log (* perimeter extent))) + (log (- (+ -0.83916 convex) + (exp major))))) +=== BEST-OF-RUN === + current generation: 7 + generation: 1 + nodes: 41 + depth: 6 + hits: 816 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 816 + raw fitness: 816.0000 + standardized fitness: 816.0000 + adjusted fitness: 0.9988 +TREE: + (/ (/ (- (- (+ minor minor) + (* major eccentricity)) + (exp (* eccentricity eccentricity))) + (- (/ (exp major) + (+ eccentricity minor)) + (- (exp (+ major perimeter)) + (exp major)))) + (- (exp (log (* perimeter extent))) + (log (- (+ -0.83916 convex) + (exp major))))) +=== BEST-OF-RUN === + current generation: 8 + generation: 1 + nodes: 41 + depth: 6 + hits: 816 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 816 + raw fitness: 816.0000 + standardized fitness: 816.0000 + adjusted fitness: 0.9988 +TREE: + (/ (/ (- (- (+ minor minor) + (* major eccentricity)) + (exp (* eccentricity eccentricity))) + (- (/ (exp major) + (+ eccentricity minor)) + (- (exp (+ major perimeter)) + (exp major)))) + (- (exp (log (* perimeter extent))) + (log (- (+ -0.83916 convex) + (exp major))))) +=== BEST-OF-RUN === + current generation: 9 + generation: 1 + nodes: 41 + depth: 6 + hits: 816 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 816 + raw fitness: 816.0000 + standardized fitness: 816.0000 + adjusted fitness: 0.9988 +TREE: + (/ (/ (- (- (+ minor minor) + (* major eccentricity)) + (exp (* eccentricity eccentricity))) + (- (/ (exp major) + (+ eccentricity minor)) + (- (exp (+ major perimeter)) + (exp major)))) + (- (exp (log (* perimeter extent))) + (log (- (+ -0.83916 convex) + (exp major))))) +=== BEST-OF-RUN === + current generation: 10 + generation: 1 + nodes: 41 + depth: 6 + hits: 816 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 816 + raw fitness: 816.0000 + standardized fitness: 816.0000 + adjusted fitness: 0.9988 +TREE: + (/ (/ (- (- (+ minor minor) + (* major eccentricity)) + (exp (* eccentricity eccentricity))) + (- (/ (exp major) + (+ eccentricity minor)) + (- (exp (+ major perimeter)) + (exp major)))) + (- (exp (log (* perimeter extent))) + (log (- (+ -0.83916 convex) + (exp major))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 1 + nodes: 41 + depth: 6 + hits: 816 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 816 + raw fitness: 816.0000 + standardized fitness: 816.0000 + adjusted fitness: 0.9988 +TREE: + (/ (/ (- (- (+ minor minor) + (* major eccentricity)) + (exp (* eccentricity eccentricity))) + (- (/ (exp major) + (+ eccentricity minor)) + (- (exp (+ major perimeter)) + (exp major)))) + (- (exp (log (* perimeter extent))) + (log (- (+ -0.83916 convex) + (exp major))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 1 + nodes: 41 + depth: 6 + hits: 816 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 816 + raw fitness: 816.0000 + standardized fitness: 816.0000 + adjusted fitness: 0.9988 +TREE: + (/ (/ (- (- (+ minor minor) + (* major eccentricity)) + (exp (* eccentricity eccentricity))) + (- (/ (exp major) + (+ eccentricity minor)) + (- (exp (+ major perimeter)) + (exp major)))) + (- (exp (log (* perimeter extent))) + (log (- (+ -0.83916 convex) + (exp major))))) +=== BEST-OF-RUN === + current generation: 13 + generation: 1 + nodes: 41 + depth: 6 + hits: 816 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 816 + raw fitness: 816.0000 + standardized fitness: 816.0000 + adjusted fitness: 0.9988 +TREE: + (/ (/ (- (- (+ minor minor) + (* major eccentricity)) + (exp (* eccentricity eccentricity))) + (- (/ (exp major) + (+ eccentricity minor)) + (- (exp (+ major perimeter)) + (exp major)))) + (- (exp (log (* perimeter extent))) + (log (- (+ -0.83916 convex) + (exp major))))) +=== BEST-OF-RUN === + current generation: 14 + generation: 1 + nodes: 41 + depth: 6 + hits: 816 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 816 + raw fitness: 816.0000 + standardized fitness: 816.0000 + adjusted fitness: 0.9988 +TREE: + (/ (/ (- (- (+ minor minor) + (* major eccentricity)) + (exp (* eccentricity eccentricity))) + (- (/ (exp major) + (+ eccentricity minor)) + (- (exp (+ major perimeter)) + (exp major)))) + (- (exp (log (* perimeter extent))) + (log (- (+ -0.83916 convex) + (exp major))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 1 + nodes: 41 + depth: 6 + hits: 816 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 816 + raw fitness: 816.0000 + standardized fitness: 816.0000 + adjusted fitness: 0.9988 +TREE: + (/ (/ (- (- (+ minor minor) + (* major eccentricity)) + (exp (* eccentricity eccentricity))) + (- (/ (exp major) + (+ eccentricity minor)) + (- (exp (+ major perimeter)) + (exp major)))) + (- (exp (log (* perimeter extent))) + (log (- (+ -0.83916 convex) + (exp major))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 6 + depth: 3 + hits: 920 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 920 + raw fitness: 920.0000 + standardized fitness: 920.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log area) major)) +=== BEST-OF-RUN === + current generation: 17 + generation: 16 + nodes: 6 + depth: 3 + hits: 920 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 920 + raw fitness: 920.0000 + standardized fitness: 920.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log area) major)) +=== BEST-OF-RUN === + current generation: 18 + generation: 16 + nodes: 6 + depth: 3 + hits: 920 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 920 + raw fitness: 920.0000 + standardized fitness: 920.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log area) major)) +=== BEST-OF-RUN === + current generation: 19 + generation: 16 + nodes: 6 + depth: 3 + hits: 920 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 920 + raw fitness: 920.0000 + standardized fitness: 920.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log area) major)) +=== BEST-OF-RUN === + current generation: 20 + generation: 16 + nodes: 6 + depth: 3 + hits: 920 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 920 + raw fitness: 920.0000 + standardized fitness: 920.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log area) major)) +=== BEST-OF-RUN === + current generation: 21 + generation: 16 + nodes: 6 + depth: 3 + hits: 920 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 920 + raw fitness: 920.0000 + standardized fitness: 920.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log area) major)) +=== BEST-OF-RUN === + current generation: 22 + generation: 16 + nodes: 6 + depth: 3 + hits: 920 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 920 + raw fitness: 920.0000 + standardized fitness: 920.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log area) major)) +=== BEST-OF-RUN === + current generation: 23 + generation: 16 + nodes: 6 + depth: 3 + hits: 920 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 920 + raw fitness: 920.0000 + standardized fitness: 920.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log area) major)) +=== BEST-OF-RUN === + current generation: 24 + generation: 16 + nodes: 6 + depth: 3 + hits: 920 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 920 + raw fitness: 920.0000 + standardized fitness: 920.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log area) major)) +=== BEST-OF-RUN === + current generation: 25 + generation: 16 + nodes: 6 + depth: 3 + hits: 920 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 920 + raw fitness: 920.0000 + standardized fitness: 920.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log area) major)) +=== BEST-OF-RUN === + current generation: 26 + generation: 16 + nodes: 6 + depth: 3 + hits: 920 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 920 + raw fitness: 920.0000 + standardized fitness: 920.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log area) major)) +=== BEST-OF-RUN === + current generation: 27 + generation: 16 + nodes: 6 + depth: 3 + hits: 920 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 920 + raw fitness: 920.0000 + standardized fitness: 920.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log area) major)) +=== BEST-OF-RUN === + current generation: 28 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 29 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 30 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 31 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 32 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 33 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 34 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 35 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 36 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 37 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 38 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 39 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 40 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 41 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 42 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 43 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 44 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 45 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 46 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 47 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 48 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 49 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) +=== BEST-OF-RUN === + current generation: 50 + generation: 28 + nodes: 6 + depth: 3 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (- 0.05003 + (/ (log convex) major)) diff --git a/cmake-build-relwithdebinfo/run_2/regress.prg b/cmake-build-relwithdebinfo/run_2/regress.prg new file mode 100644 index 0000000..2c545e8 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_2/regress.prg @@ -0,0 +1,1002 @@ +not starting from checkpoint file. +1000 fitness cases: + area = 12932.00000, perimeter = 456.65500, major_axis_length = 191.32863, minor_axis_length = 86.72584, eccentricity = 0.89137, convex_area = 13098.00000, extent = 0.66304, type = C + area = 12583.00000, perimeter = 434.00299, major_axis_length = 171.65707, minor_axis_length = 94.46523, eccentricity = 0.83496, convex_area = 12897.00000, extent = 0.74328, type = O + area = 14712.00000, perimeter = 496.03601, major_axis_length = 212.73993, minor_axis_length = 89.09264, eccentricity = 0.90808, convex_area = 14925.00000, extent = 0.73395, type = C + area = 15752.00000, perimeter = 519.88898, major_axis_length = 216.70204, minor_axis_length = 94.21913, eccentricity = 0.90053, convex_area = 16426.00000, extent = 0.60122, type = C + area = 15228.00000, perimeter = 505.26501, major_axis_length = 209.62527, minor_axis_length = 93.52686, eccentricity = 0.89495, convex_area = 15501.00000, extent = 0.73922, type = C + area = 12921.00000, perimeter = 476.74600, major_axis_length = 206.22263, minor_axis_length = 80.40368, eccentricity = 0.92086, convex_area = 13218.00000, extent = 0.54692, type = C + area = 13267.00000, perimeter = 465.03201, major_axis_length = 193.76559, minor_axis_length = 88.83870, eccentricity = 0.88870, convex_area = 13543.00000, extent = 0.66441, type = O + area = 12461.00000, perimeter = 454.09601, major_axis_length = 191.91452, minor_axis_length = 83.66120, eccentricity = 0.89998, convex_area = 12683.00000, extent = 0.56151, type = C + area = 13286.00000, perimeter = 480.07101, major_axis_length = 202.54840, minor_axis_length = 85.11695, eccentricity = 0.90742, convex_area = 13633.00000, extent = 0.55014, type = C + area = 13990.00000, perimeter = 484.04700, major_axis_length = 205.39780, minor_axis_length = 87.64905, eccentricity = 0.90438, convex_area = 14315.00000, extent = 0.59079, type = C + area = 15437.00000, perimeter = 512.94800, major_axis_length = 211.40877, minor_axis_length = 94.91480, eccentricity = 0.89355, convex_area = 15984.00000, extent = 0.73161, type = C + area = 14274.00000, perimeter = 488.82999, major_axis_length = 203.56786, minor_axis_length = 89.92999, eccentricity = 0.89713, convex_area = 14529.00000, extent = 0.57236, type = C + area = 13509.00000, perimeter = 480.46600, major_axis_length = 207.13716, minor_axis_length = 83.94016, eccentricity = 0.91421, convex_area = 13732.00000, extent = 0.59563, type = C + area = 13720.00000, perimeter = 477.63501, major_axis_length = 201.15787, minor_axis_length = 87.31000, eccentricity = 0.90089, convex_area = 13936.00000, extent = 0.66454, type = O + area = 10227.00000, perimeter = 403.99899, major_axis_length = 164.80865, minor_axis_length = 80.21973, eccentricity = 0.87354, convex_area = 10496.00000, extent = 0.63060, type = O + area = 9753.00000, perimeter = 402.57901, major_axis_length = 170.61418, minor_axis_length = 73.31348, eccentricity = 0.90297, convex_area = 10028.00000, extent = 0.56421, type = O + area = 14085.00000, perimeter = 489.45499, major_axis_length = 200.52655, minor_axis_length = 91.23563, eccentricity = 0.89050, convex_area = 14670.00000, extent = 0.62717, type = C + area = 15741.00000, perimeter = 523.77600, major_axis_length = 227.50233, minor_axis_length = 89.12435, eccentricity = 0.92007, convex_area = 15999.00000, extent = 0.56322, type = C + area = 14026.00000, perimeter = 467.76501, major_axis_length = 191.73541, minor_axis_length = 94.24737, eccentricity = 0.87085, convex_area = 14222.00000, extent = 0.62773, type = O + area = 12532.00000, perimeter = 449.74301, major_axis_length = 179.28526, minor_axis_length = 90.64862, eccentricity = 0.86276, convex_area = 12874.00000, extent = 0.60279, type = O + area = 11742.00000, perimeter = 437.90302, major_axis_length = 182.25706, minor_axis_length = 83.00418, eccentricity = 0.89027, convex_area = 11974.00000, extent = 0.58890, type = O + area = 12131.00000, perimeter = 444.92599, major_axis_length = 183.83809, minor_axis_length = 85.05927, eccentricity = 0.88652, convex_area = 12419.00000, extent = 0.78416, type = O + area = 10943.00000, perimeter = 411.38599, major_axis_length = 171.01793, minor_axis_length = 82.05996, eccentricity = 0.87736, convex_area = 11155.00000, extent = 0.62478, type = O + area = 13333.00000, perimeter = 467.02499, major_axis_length = 196.79700, minor_axis_length = 87.27311, eccentricity = 0.89629, convex_area = 13589.00000, extent = 0.69443, type = O + area = 14706.00000, perimeter = 503.30701, major_axis_length = 212.68402, minor_axis_length = 89.08659, eccentricity = 0.90805, convex_area = 15074.00000, extent = 0.59596, type = C + area = 14041.00000, perimeter = 491.66101, major_axis_length = 212.85693, minor_axis_length = 84.56731, eccentricity = 0.91769, convex_area = 14289.00000, extent = 0.78661, type = C + area = 11893.00000, perimeter = 441.39999, major_axis_length = 182.08620, minor_axis_length = 84.24277, eccentricity = 0.88654, convex_area = 12092.00000, extent = 0.57840, type = O + area = 10928.00000, perimeter = 410.94000, major_axis_length = 171.74614, minor_axis_length = 81.38594, eccentricity = 0.88059, convex_area = 11132.00000, extent = 0.61119, type = O + area = 14260.00000, perimeter = 501.04099, major_axis_length = 208.83318, minor_axis_length = 88.96316, eccentricity = 0.90472, convex_area = 14737.00000, extent = 0.61318, type = C + area = 16079.00000, perimeter = 522.75897, major_axis_length = 223.40591, minor_axis_length = 92.64325, eccentricity = 0.90996, convex_area = 16392.00000, extent = 0.64172, type = C + area = 15141.00000, perimeter = 505.42099, major_axis_length = 209.59360, minor_axis_length = 93.09238, eccentricity = 0.89595, convex_area = 15559.00000, extent = 0.56640, type = C + area = 11372.00000, perimeter = 435.59299, major_axis_length = 179.56715, minor_axis_length = 81.47213, eccentricity = 0.89115, convex_area = 11608.00000, extent = 0.57997, type = O + area = 15373.00000, perimeter = 522.21100, major_axis_length = 229.49373, minor_axis_length = 86.34157, eccentricity = 0.92653, convex_area = 15757.00000, extent = 0.67160, type = C + area = 13837.00000, perimeter = 483.59399, major_axis_length = 204.31093, minor_axis_length = 87.28925, eccentricity = 0.90414, convex_area = 14139.00000, extent = 0.56942, type = C + area = 11714.00000, perimeter = 412.20200, major_axis_length = 161.30818, minor_axis_length = 93.22562, eccentricity = 0.81608, convex_area = 11886.00000, extent = 0.76432, type = O + area = 13217.00000, perimeter = 471.75101, major_axis_length = 194.13132, minor_axis_length = 88.09218, eccentricity = 0.89112, convex_area = 13520.00000, extent = 0.57209, type = O + area = 14934.00000, perimeter = 488.27100, major_axis_length = 201.07996, minor_axis_length = 95.97958, eccentricity = 0.87873, convex_area = 15193.00000, extent = 0.65038, type = C + area = 11176.00000, perimeter = 418.05600, major_axis_length = 171.31558, minor_axis_length = 83.93949, eccentricity = 0.87174, convex_area = 11387.00000, extent = 0.79703, type = O + area = 14026.00000, perimeter = 494.60300, major_axis_length = 212.81454, minor_axis_length = 84.92227, eccentricity = 0.91693, convex_area = 14267.00000, extent = 0.54640, type = C + area = 12917.00000, perimeter = 473.23499, major_axis_length = 200.32533, minor_axis_length = 83.20118, eccentricity = 0.90967, convex_area = 13302.00000, extent = 0.66610, type = C + area = 8813.00000, perimeter = 387.72101, major_axis_length = 164.17770, minor_axis_length = 68.98608, eccentricity = 0.90744, convex_area = 9005.00000, extent = 0.73737, type = O + area = 12758.00000, perimeter = 451.37000, major_axis_length = 180.73944, minor_axis_length = 91.56465, eccentricity = 0.86217, convex_area = 13170.00000, extent = 0.64906, type = O + area = 16799.00000, perimeter = 524.24701, major_axis_length = 218.34256, minor_axis_length = 99.16318, eccentricity = 0.89092, convex_area = 17283.00000, extent = 0.62371, type = C + area = 11353.00000, perimeter = 431.47900, major_axis_length = 182.00241, minor_axis_length = 80.06296, eccentricity = 0.89805, convex_area = 11579.00000, extent = 0.71664, type = C + area = 11068.00000, perimeter = 419.92999, major_axis_length = 174.13010, minor_axis_length = 81.80955, eccentricity = 0.88276, convex_area = 11242.00000, extent = 0.60392, type = C + area = 11626.00000, perimeter = 420.78900, major_axis_length = 168.46971, minor_axis_length = 89.07520, eccentricity = 0.84879, convex_area = 11857.00000, extent = 0.63634, type = O + area = 11726.00000, perimeter = 450.74500, major_axis_length = 189.09308, minor_axis_length = 80.31675, eccentricity = 0.90531, convex_area = 12061.00000, extent = 0.55626, type = O + area = 13072.00000, perimeter = 484.78799, major_axis_length = 206.88693, minor_axis_length = 81.92672, eccentricity = 0.91825, convex_area = 13593.00000, extent = 0.70416, type = C + area = 14988.00000, perimeter = 499.35501, major_axis_length = 212.26198, minor_axis_length = 90.98808, eccentricity = 0.90347, convex_area = 15245.00000, extent = 0.58869, type = C + area = 15904.00000, perimeter = 511.02200, major_axis_length = 214.35056, minor_axis_length = 96.21210, eccentricity = 0.89361, convex_area = 16248.00000, extent = 0.71785, type = C + area = 12459.00000, perimeter = 434.28799, major_axis_length = 175.20125, minor_axis_length = 91.26870, eccentricity = 0.85360, convex_area = 12651.00000, extent = 0.63683, type = O + area = 12692.00000, perimeter = 465.17200, major_axis_length = 193.20732, minor_axis_length = 85.29054, eccentricity = 0.89729, convex_area = 13118.00000, extent = 0.71480, type = C + area = 11480.00000, perimeter = 422.54901, major_axis_length = 171.27106, minor_axis_length = 86.83596, eccentricity = 0.86194, convex_area = 11781.00000, extent = 0.64822, type = O + area = 10560.00000, perimeter = 400.17899, major_axis_length = 168.26906, minor_axis_length = 80.58907, eccentricity = 0.87785, convex_area = 10691.00000, extent = 0.63737, type = O + area = 14608.00000, perimeter = 483.16101, major_axis_length = 201.03494, minor_axis_length = 93.46073, eccentricity = 0.88536, convex_area = 14845.00000, extent = 0.65501, type = O + area = 12226.00000, perimeter = 436.22299, major_axis_length = 178.54475, minor_axis_length = 87.98953, eccentricity = 0.87013, convex_area = 12400.00000, extent = 0.61339, type = O + area = 13623.00000, perimeter = 493.56799, major_axis_length = 211.73048, minor_axis_length = 82.92393, eccentricity = 0.92011, convex_area = 14065.00000, extent = 0.52655, type = C + area = 11765.00000, perimeter = 429.29300, major_axis_length = 175.06308, minor_axis_length = 86.72860, eccentricity = 0.86866, convex_area = 11969.00000, extent = 0.61117, type = O + area = 14626.00000, perimeter = 502.35699, major_axis_length = 212.73470, minor_axis_length = 88.58339, eccentricity = 0.90918, convex_area = 14997.00000, extent = 0.58150, type = C + area = 10924.00000, perimeter = 414.31201, major_axis_length = 170.80724, minor_axis_length = 82.64398, eccentricity = 0.87515, convex_area = 11171.00000, extent = 0.67283, type = O + area = 10622.00000, perimeter = 408.02802, major_axis_length = 166.32910, minor_axis_length = 81.88405, eccentricity = 0.87042, convex_area = 10808.00000, extent = 0.62081, type = O + area = 12045.00000, perimeter = 452.30899, major_axis_length = 193.51352, minor_axis_length = 80.27762, eccentricity = 0.90989, convex_area = 12368.00000, extent = 0.55242, type = C + area = 12500.00000, perimeter = 444.84500, major_axis_length = 182.47980, minor_axis_length = 88.28197, eccentricity = 0.87518, convex_area = 12734.00000, extent = 0.66902, type = O + area = 13731.00000, perimeter = 489.05801, major_axis_length = 212.43546, minor_axis_length = 82.91467, eccentricity = 0.92069, convex_area = 14014.00000, extent = 0.59173, type = C + area = 14274.00000, perimeter = 499.08801, major_axis_length = 214.40253, minor_axis_length = 85.24677, eccentricity = 0.91756, convex_area = 14559.00000, extent = 0.65673, type = C + area = 11285.00000, perimeter = 425.75500, major_axis_length = 175.42439, minor_axis_length = 82.95139, eccentricity = 0.88114, convex_area = 11525.00000, extent = 0.75028, type = O + area = 14968.00000, perimeter = 514.80103, major_axis_length = 220.22400, minor_axis_length = 87.73534, eccentricity = 0.91722, convex_area = 15438.00000, extent = 0.74092, type = C + area = 10453.00000, perimeter = 421.51599, major_axis_length = 171.98445, minor_axis_length = 78.82700, eccentricity = 0.88878, convex_area = 10701.00000, extent = 0.57899, type = O + area = 9584.00000, perimeter = 390.00400, major_axis_length = 162.29663, minor_axis_length = 75.98748, eccentricity = 0.88362, convex_area = 9757.00000, extent = 0.80946, type = O + area = 12373.00000, perimeter = 438.88101, major_axis_length = 175.82730, minor_axis_length = 90.91232, eccentricity = 0.85595, convex_area = 12622.00000, extent = 0.76818, type = O + area = 13218.00000, perimeter = 458.76300, major_axis_length = 183.63066, minor_axis_length = 93.50396, eccentricity = 0.86065, convex_area = 13547.00000, extent = 0.77662, type = O + area = 12115.00000, perimeter = 449.19800, major_axis_length = 187.59158, minor_axis_length = 83.37024, eccentricity = 0.89582, convex_area = 12440.00000, extent = 0.56686, type = O + area = 14143.00000, perimeter = 483.86499, major_axis_length = 200.87813, minor_axis_length = 90.59235, eccentricity = 0.89253, convex_area = 14427.00000, extent = 0.59766, type = C + area = 12093.00000, perimeter = 432.82800, major_axis_length = 176.82031, minor_axis_length = 88.09727, eccentricity = 0.86704, convex_area = 12351.00000, extent = 0.70513, type = O + area = 10512.00000, perimeter = 418.06699, major_axis_length = 170.81836, minor_axis_length = 79.28154, eccentricity = 0.88577, convex_area = 10776.00000, extent = 0.58792, type = O + area = 11921.00000, perimeter = 422.35901, major_axis_length = 168.49954, minor_axis_length = 91.07194, eccentricity = 0.84135, convex_area = 12169.00000, extent = 0.65906, type = O + area = 10527.00000, perimeter = 408.97800, major_axis_length = 170.89001, minor_axis_length = 79.37978, eccentricity = 0.88557, convex_area = 10692.00000, extent = 0.65102, type = O + area = 15168.00000, perimeter = 504.98001, major_axis_length = 212.82603, minor_axis_length = 91.61982, eccentricity = 0.90259, convex_area = 15432.00000, extent = 0.58365, type = C + area = 11490.00000, perimeter = 421.16699, major_axis_length = 167.71011, minor_axis_length = 88.55627, eccentricity = 0.84922, convex_area = 11793.00000, extent = 0.75542, type = O + area = 11784.00000, perimeter = 438.12000, major_axis_length = 181.75789, minor_axis_length = 83.74436, eccentricity = 0.88753, convex_area = 11981.00000, extent = 0.80377, type = C + area = 11070.00000, perimeter = 413.42001, major_axis_length = 168.51967, minor_axis_length = 84.49383, eccentricity = 0.86522, convex_area = 11328.00000, extent = 0.62659, type = O + area = 10773.00000, perimeter = 407.84698, major_axis_length = 167.35785, minor_axis_length = 82.64382, eccentricity = 0.86957, convex_area = 10931.00000, extent = 0.62532, type = O + area = 12730.00000, perimeter = 462.37000, major_axis_length = 192.69362, minor_axis_length = 85.33430, eccentricity = 0.89660, convex_area = 13160.00000, extent = 0.63371, type = O + area = 12907.00000, perimeter = 466.23999, major_axis_length = 194.46927, minor_axis_length = 85.91095, eccentricity = 0.89713, convex_area = 13268.00000, extent = 0.63541, type = C + area = 14690.00000, perimeter = 506.85501, major_axis_length = 214.15948, minor_axis_length = 88.87601, eccentricity = 0.90982, convex_area = 15064.00000, extent = 0.58440, type = C + area = 11470.00000, perimeter = 426.62500, major_axis_length = 175.59566, minor_axis_length = 83.90218, eccentricity = 0.87846, convex_area = 11719.00000, extent = 0.73225, type = O + area = 11215.00000, perimeter = 421.17999, major_axis_length = 179.53351, minor_axis_length = 79.69018, eccentricity = 0.89609, convex_area = 11373.00000, extent = 0.58290, type = O + area = 11898.00000, perimeter = 422.36801, major_axis_length = 166.23572, minor_axis_length = 91.87953, eccentricity = 0.83338, convex_area = 12063.00000, extent = 0.66277, type = O + area = 14294.00000, perimeter = 514.47699, major_axis_length = 226.40727, minor_axis_length = 81.59251, eccentricity = 0.93281, convex_area = 14731.00000, extent = 0.51101, type = C + area = 13923.00000, perimeter = 488.70801, major_axis_length = 209.73746, minor_axis_length = 85.71608, eccentricity = 0.91268, convex_area = 14165.00000, extent = 0.53423, type = C + area = 11502.00000, perimeter = 425.95599, major_axis_length = 173.27319, minor_axis_length = 85.45619, eccentricity = 0.86992, convex_area = 11776.00000, extent = 0.63758, type = O + area = 10694.00000, perimeter = 405.67700, major_axis_length = 163.36748, minor_axis_length = 84.68367, eccentricity = 0.85516, convex_area = 10891.00000, extent = 0.75014, type = O + area = 12234.00000, perimeter = 449.38000, major_axis_length = 188.62593, minor_axis_length = 83.90933, eccentricity = 0.89561, convex_area = 12492.00000, extent = 0.59475, type = C + area = 16000.00000, perimeter = 515.38098, major_axis_length = 215.71432, minor_axis_length = 94.95480, eccentricity = 0.89791, convex_area = 16289.00000, extent = 0.67366, type = C + area = 12494.00000, perimeter = 437.21899, major_axis_length = 179.28008, minor_axis_length = 89.50730, eccentricity = 0.86645, convex_area = 12729.00000, extent = 0.70524, type = O + area = 10632.00000, perimeter = 405.41599, major_axis_length = 167.32594, minor_axis_length = 81.34428, eccentricity = 0.87388, convex_area = 10762.00000, extent = 0.62318, type = O + area = 11298.00000, perimeter = 436.65601, major_axis_length = 183.29942, minor_axis_length = 79.59326, eccentricity = 0.90080, convex_area = 11650.00000, extent = 0.72581, type = O + area = 12709.00000, perimeter = 461.01199, major_axis_length = 190.77875, minor_axis_length = 87.41280, eccentricity = 0.88885, convex_area = 13064.00000, extent = 0.78693, type = C + area = 13268.00000, perimeter = 473.43399, major_axis_length = 200.70084, minor_axis_length = 84.70035, eccentricity = 0.90659, convex_area = 13562.00000, extent = 0.71622, type = C + area = 10898.00000, perimeter = 414.81100, major_axis_length = 170.23534, minor_axis_length = 82.55314, eccentricity = 0.87455, convex_area = 11094.00000, extent = 0.60273, type = O + area = 14788.00000, perimeter = 480.96201, major_axis_length = 199.06255, minor_axis_length = 95.53792, eccentricity = 0.87730, convex_area = 15044.00000, extent = 0.65751, type = C + area = 16199.00000, perimeter = 511.22800, major_axis_length = 210.00165, minor_axis_length = 99.41776, eccentricity = 0.88084, convex_area = 16637.00000, extent = 0.73826, type = C + area = 15813.00000, perimeter = 495.26801, major_axis_length = 203.79468, minor_axis_length = 99.68769, eccentricity = 0.87220, convex_area = 16095.00000, extent = 0.73525, type = C + area = 12675.00000, perimeter = 456.57300, major_axis_length = 186.80682, minor_axis_length = 88.42378, eccentricity = 0.88088, convex_area = 13098.00000, extent = 0.61386, type = O + area = 11986.00000, perimeter = 433.29401, major_axis_length = 173.22505, minor_axis_length = 89.39893, eccentricity = 0.85654, convex_area = 12243.00000, extent = 0.62242, type = O + area = 14634.00000, perimeter = 493.02701, major_axis_length = 208.13615, minor_axis_length = 90.37943, eccentricity = 0.90080, convex_area = 14898.00000, extent = 0.71025, type = C + area = 15307.00000, perimeter = 489.47101, major_axis_length = 197.20265, minor_axis_length = 100.13299, eccentricity = 0.86149, convex_area = 15628.00000, extent = 0.67910, type = C + area = 12310.00000, perimeter = 438.16199, major_axis_length = 177.79843, minor_axis_length = 89.22603, eccentricity = 0.86496, convex_area = 12528.00000, extent = 0.78588, type = O + area = 13050.00000, perimeter = 460.81900, major_axis_length = 187.39630, minor_axis_length = 89.79348, eccentricity = 0.87773, convex_area = 13379.00000, extent = 0.59600, type = O + area = 10900.00000, perimeter = 417.59698, major_axis_length = 172.69206, minor_axis_length = 81.00117, eccentricity = 0.88317, convex_area = 11091.00000, extent = 0.58539, type = O + area = 13397.00000, perimeter = 474.86499, major_axis_length = 200.54626, minor_axis_length = 86.39674, eccentricity = 0.90244, convex_area = 13762.00000, extent = 0.69404, type = C + area = 11530.00000, perimeter = 425.39200, major_axis_length = 177.01521, minor_axis_length = 83.92692, eccentricity = 0.88046, convex_area = 11686.00000, extent = 0.80810, type = O + area = 11717.00000, perimeter = 430.91800, major_axis_length = 174.64034, minor_axis_length = 86.09232, eccentricity = 0.87005, convex_area = 11948.00000, extent = 0.65149, type = O + area = 12720.00000, perimeter = 443.45499, major_axis_length = 183.20239, minor_axis_length = 89.49655, eccentricity = 0.87256, convex_area = 12904.00000, extent = 0.77656, type = O + area = 15757.00000, perimeter = 509.28101, major_axis_length = 207.29668, minor_axis_length = 98.33614, eccentricity = 0.88032, convex_area = 16150.00000, extent = 0.58971, type = C + area = 11765.00000, perimeter = 429.33499, major_axis_length = 174.33136, minor_axis_length = 86.89267, eccentricity = 0.86693, convex_area = 11963.00000, extent = 0.61468, type = O + area = 14229.00000, perimeter = 485.11899, major_axis_length = 206.59769, minor_axis_length = 88.72133, eccentricity = 0.90310, convex_area = 14455.00000, extent = 0.74517, type = C + area = 10499.00000, perimeter = 403.27802, major_axis_length = 162.45734, minor_axis_length = 83.75512, eccentricity = 0.85686, convex_area = 10749.00000, extent = 0.74493, type = O + area = 13112.00000, perimeter = 456.21600, major_axis_length = 182.46422, minor_axis_length = 93.33448, eccentricity = 0.85927, convex_area = 13413.00000, extent = 0.68079, type = O + area = 12720.00000, perimeter = 461.80600, major_axis_length = 197.94400, minor_axis_length = 82.81128, eccentricity = 0.90828, convex_area = 12974.00000, extent = 0.75678, type = C + area = 13818.00000, perimeter = 467.89600, major_axis_length = 189.28476, minor_axis_length = 94.47993, eccentricity = 0.86652, convex_area = 14142.00000, extent = 0.61745, type = O + area = 12366.00000, perimeter = 451.86099, major_axis_length = 180.86586, minor_axis_length = 89.14079, eccentricity = 0.87011, convex_area = 12620.00000, extent = 0.58662, type = O + area = 12454.00000, perimeter = 437.49500, major_axis_length = 175.82175, minor_axis_length = 91.22920, eccentricity = 0.85485, convex_area = 12655.00000, extent = 0.63225, type = O + area = 14019.00000, perimeter = 475.75500, major_axis_length = 194.51793, minor_axis_length = 92.81696, eccentricity = 0.87881, convex_area = 14308.00000, extent = 0.59112, type = C + area = 12043.00000, perimeter = 441.15601, major_axis_length = 175.53206, minor_axis_length = 88.68825, eccentricity = 0.86297, convex_area = 12376.00000, extent = 0.66772, type = O + area = 11619.00000, perimeter = 432.45401, major_axis_length = 178.34151, minor_axis_length = 83.91345, eccentricity = 0.88239, convex_area = 11824.00000, extent = 0.76764, type = O + area = 12519.00000, perimeter = 455.40601, major_axis_length = 192.00218, minor_axis_length = 83.87215, eccentricity = 0.89954, convex_area = 12770.00000, extent = 0.67068, type = C + area = 13533.00000, perimeter = 469.53201, major_axis_length = 192.39604, minor_axis_length = 91.23042, eccentricity = 0.88043, convex_area = 13954.00000, extent = 0.62161, type = C + area = 11063.00000, perimeter = 428.23901, major_axis_length = 177.53922, minor_axis_length = 80.86371, eccentricity = 0.89025, convex_area = 11362.00000, extent = 0.60613, type = O + area = 12429.00000, perimeter = 469.60800, major_axis_length = 202.41467, minor_axis_length = 78.88987, eccentricity = 0.92092, convex_area = 12714.00000, extent = 0.55685, type = C + area = 14680.00000, perimeter = 495.44400, major_axis_length = 206.75375, minor_axis_length = 91.29646, eccentricity = 0.89723, convex_area = 15091.00000, extent = 0.61159, type = C + area = 13722.00000, perimeter = 482.34299, major_axis_length = 202.27818, minor_axis_length = 87.75389, eccentricity = 0.90100, convex_area = 14189.00000, extent = 0.60567, type = C + area = 16011.00000, perimeter = 525.06897, major_axis_length = 222.94646, minor_axis_length = 92.38245, eccentricity = 0.91011, convex_area = 16298.00000, extent = 0.55663, type = C + area = 12478.00000, perimeter = 439.22198, major_axis_length = 176.34395, minor_axis_length = 91.28975, eccentricity = 0.85557, convex_area = 12754.00000, extent = 0.63582, type = O + area = 12153.00000, perimeter = 451.21100, major_axis_length = 187.76920, minor_axis_length = 83.64883, eccentricity = 0.89529, convex_area = 12497.00000, extent = 0.70649, type = C + area = 11458.00000, perimeter = 437.44101, major_axis_length = 178.60359, minor_axis_length = 83.98285, eccentricity = 0.88255, convex_area = 11732.00000, extent = 0.76204, type = O + area = 15967.00000, perimeter = 511.61499, major_axis_length = 211.69078, minor_axis_length = 96.97523, eccentricity = 0.88890, convex_area = 16329.00000, extent = 0.58668, type = C + area = 15264.00000, perimeter = 506.66599, major_axis_length = 208.76143, minor_axis_length = 95.73719, eccentricity = 0.88864, convex_area = 15712.00000, extent = 0.60752, type = C + area = 11986.00000, perimeter = 432.29099, major_axis_length = 172.40063, minor_axis_length = 89.62594, eccentricity = 0.85425, convex_area = 12279.00000, extent = 0.65882, type = O + area = 15556.00000, perimeter = 510.51001, major_axis_length = 217.10223, minor_axis_length = 92.77322, eccentricity = 0.90410, convex_area = 15781.00000, extent = 0.60742, type = C + area = 11889.00000, perimeter = 426.64700, major_axis_length = 172.26799, minor_axis_length = 89.44281, eccentricity = 0.85465, convex_area = 12162.00000, extent = 0.61157, type = O + area = 12593.00000, perimeter = 463.36899, major_axis_length = 195.75763, minor_axis_length = 83.07967, eccentricity = 0.90547, convex_area = 12907.00000, extent = 0.69775, type = C + area = 14892.00000, perimeter = 503.33899, major_axis_length = 209.62090, minor_axis_length = 91.80297, eccentricity = 0.89900, convex_area = 15338.00000, extent = 0.65566, type = C + area = 12982.00000, perimeter = 466.15701, major_axis_length = 200.51947, minor_axis_length = 82.79620, eccentricity = 0.91077, convex_area = 13188.00000, extent = 0.62228, type = C + area = 15639.00000, perimeter = 499.13901, major_axis_length = 207.98045, minor_axis_length = 96.29037, eccentricity = 0.88637, convex_area = 15895.00000, extent = 0.70678, type = C + area = 13555.00000, perimeter = 477.87000, major_axis_length = 202.63708, minor_axis_length = 85.78796, eccentricity = 0.90596, convex_area = 13851.00000, extent = 0.57806, type = C + area = 12085.00000, perimeter = 431.20801, major_axis_length = 168.88475, minor_axis_length = 92.54957, eccentricity = 0.83648, convex_area = 12279.00000, extent = 0.70258, type = O + area = 11919.00000, perimeter = 434.26300, major_axis_length = 175.56418, minor_axis_length = 87.84673, eccentricity = 0.86581, convex_area = 12152.00000, extent = 0.60964, type = O + area = 11304.00000, perimeter = 419.18100, major_axis_length = 171.37912, minor_axis_length = 84.67481, eccentricity = 0.86942, convex_area = 11504.00000, extent = 0.72092, type = O + area = 11694.00000, perimeter = 432.97699, major_axis_length = 181.48441, minor_axis_length = 82.97145, eccentricity = 0.88937, convex_area = 11893.00000, extent = 0.76391, type = C + area = 13399.00000, perimeter = 490.56000, major_axis_length = 209.36595, minor_axis_length = 82.76702, eccentricity = 0.91854, convex_area = 13654.00000, extent = 0.51710, type = C + area = 10035.00000, perimeter = 398.09698, major_axis_length = 162.66187, minor_axis_length = 79.64612, eccentricity = 0.87192, convex_area = 10236.00000, extent = 0.59807, type = O + area = 11923.00000, perimeter = 432.33401, major_axis_length = 174.23662, minor_axis_length = 88.13160, eccentricity = 0.86264, convex_area = 12187.00000, extent = 0.62450, type = O + area = 12293.00000, perimeter = 445.68701, major_axis_length = 181.87917, minor_axis_length = 87.02768, eccentricity = 0.87809, convex_area = 12524.00000, extent = 0.77637, type = O + area = 11161.00000, perimeter = 433.82999, major_axis_length = 182.07491, minor_axis_length = 78.95068, eccentricity = 0.90110, convex_area = 11490.00000, extent = 0.61123, type = C + area = 11725.00000, perimeter = 427.14001, major_axis_length = 174.79402, minor_axis_length = 86.76220, eccentricity = 0.86811, convex_area = 11954.00000, extent = 0.63426, type = O + area = 11518.00000, perimeter = 428.70999, major_axis_length = 175.93608, minor_axis_length = 84.25156, eccentricity = 0.87788, convex_area = 11754.00000, extent = 0.66040, type = O + area = 13907.00000, perimeter = 485.72000, major_axis_length = 202.58109, minor_axis_length = 89.20242, eccentricity = 0.89784, convex_area = 14358.00000, extent = 0.55572, type = C + area = 11983.00000, perimeter = 432.43900, major_axis_length = 172.42494, minor_axis_length = 89.33904, eccentricity = 0.85530, convex_area = 12238.00000, extent = 0.70084, type = O + area = 10150.00000, perimeter = 405.73700, major_axis_length = 164.71855, minor_axis_length = 80.26424, eccentricity = 0.87325, convex_area = 10338.00000, extent = 0.59270, type = O + area = 14641.00000, perimeter = 505.00201, major_axis_length = 211.58365, minor_axis_length = 90.03343, eccentricity = 0.90495, convex_area = 15034.00000, extent = 0.62956, type = C + area = 9764.00000, perimeter = 390.95700, major_axis_length = 160.22710, minor_axis_length = 78.86163, eccentricity = 0.87049, convex_area = 9956.00000, extent = 0.64881, type = O + area = 11857.00000, perimeter = 433.20001, major_axis_length = 177.90762, minor_axis_length = 86.17068, eccentricity = 0.87487, convex_area = 12171.00000, extent = 0.71669, type = O + area = 14850.00000, perimeter = 511.99100, major_axis_length = 223.14737, minor_axis_length = 85.49973, eccentricity = 0.92368, convex_area = 15131.00000, extent = 0.57670, type = C + area = 12556.00000, perimeter = 474.02399, major_axis_length = 207.95442, minor_axis_length = 77.71007, eccentricity = 0.92755, convex_area = 12832.00000, extent = 0.56482, type = C + area = 15290.00000, perimeter = 501.05701, major_axis_length = 209.36775, minor_axis_length = 94.17390, eccentricity = 0.89313, convex_area = 15582.00000, extent = 0.75783, type = C + area = 14022.00000, perimeter = 483.01901, major_axis_length = 204.48296, minor_axis_length = 88.56927, eccentricity = 0.90133, convex_area = 14358.00000, extent = 0.70473, type = C + area = 12683.00000, perimeter = 448.63699, major_axis_length = 186.15756, minor_axis_length = 87.55859, eccentricity = 0.88248, convex_area = 12847.00000, extent = 0.59095, type = O + area = 9249.00000, perimeter = 390.20401, major_axis_length = 162.32698, minor_axis_length = 73.78991, eccentricity = 0.89071, convex_area = 9522.00000, extent = 0.61759, type = O + area = 16679.00000, perimeter = 528.55200, major_axis_length = 222.77959, minor_axis_length = 96.64007, eccentricity = 0.90101, convex_area = 17006.00000, extent = 0.56917, type = C + area = 14556.00000, perimeter = 487.41901, major_axis_length = 208.73126, minor_axis_length = 89.19512, eccentricity = 0.90410, convex_area = 14819.00000, extent = 0.77649, type = C + area = 12175.00000, perimeter = 431.72800, major_axis_length = 178.55745, minor_axis_length = 87.79368, eccentricity = 0.87077, convex_area = 12345.00000, extent = 0.80020, type = O + area = 12942.00000, perimeter = 441.74399, major_axis_length = 175.55925, minor_axis_length = 95.28501, eccentricity = 0.83989, convex_area = 13310.00000, extent = 0.70169, type = O + area = 14407.00000, perimeter = 494.98999, major_axis_length = 208.74904, minor_axis_length = 88.66286, eccentricity = 0.90532, convex_area = 14716.00000, extent = 0.57376, type = C + area = 14806.00000, perimeter = 509.37601, major_axis_length = 214.14243, minor_axis_length = 89.69170, eccentricity = 0.90806, convex_area = 15594.00000, extent = 0.70879, type = C + area = 14957.00000, perimeter = 505.11700, major_axis_length = 213.04562, minor_axis_length = 90.70897, eccentricity = 0.90483, convex_area = 15347.00000, extent = 0.65412, type = C + area = 12188.00000, perimeter = 435.86099, major_axis_length = 182.03267, minor_axis_length = 85.78117, eccentricity = 0.88200, convex_area = 12363.00000, extent = 0.76577, type = O + area = 14173.00000, perimeter = 480.68301, major_axis_length = 201.93576, minor_axis_length = 90.24498, eccentricity = 0.89458, convex_area = 14519.00000, extent = 0.59756, type = C + area = 16403.00000, perimeter = 521.90900, major_axis_length = 215.15091, minor_axis_length = 98.40095, eccentricity = 0.88928, convex_area = 16867.00000, extent = 0.58877, type = C + area = 14908.00000, perimeter = 499.46899, major_axis_length = 209.11948, minor_axis_length = 92.06287, eccentricity = 0.89788, convex_area = 15324.00000, extent = 0.76334, type = C + area = 13988.00000, perimeter = 491.48901, major_axis_length = 208.36464, minor_axis_length = 86.78497, eccentricity = 0.90913, convex_area = 14427.00000, extent = 0.61311, type = C + area = 14301.00000, perimeter = 497.77399, major_axis_length = 209.87636, minor_axis_length = 87.29937, eccentricity = 0.90938, convex_area = 14591.00000, extent = 0.60068, type = C + area = 13414.00000, perimeter = 459.28400, major_axis_length = 191.06317, minor_axis_length = 90.20984, eccentricity = 0.88152, convex_area = 13611.00000, extent = 0.76316, type = O + area = 11224.00000, perimeter = 424.74701, major_axis_length = 174.42145, minor_axis_length = 83.19823, eccentricity = 0.87891, convex_area = 11544.00000, extent = 0.71345, type = O + area = 11075.00000, perimeter = 416.85001, major_axis_length = 165.29626, minor_axis_length = 86.27912, eccentricity = 0.85297, convex_area = 11315.00000, extent = 0.66127, type = O + area = 12104.00000, perimeter = 441.77499, major_axis_length = 182.46213, minor_axis_length = 85.51347, eccentricity = 0.88338, convex_area = 12378.00000, extent = 0.73913, type = C + area = 14994.00000, perimeter = 508.30701, major_axis_length = 215.56981, minor_axis_length = 89.61988, eccentricity = 0.90949, convex_area = 15246.00000, extent = 0.55076, type = C + area = 13933.00000, perimeter = 471.71399, major_axis_length = 193.51672, minor_axis_length = 91.87624, eccentricity = 0.88011, convex_area = 14177.00000, extent = 0.74464, type = C + area = 11080.00000, perimeter = 424.76901, major_axis_length = 175.18169, minor_axis_length = 81.33550, eccentricity = 0.88568, convex_area = 11337.00000, extent = 0.58291, type = O + area = 14620.00000, perimeter = 493.94400, major_axis_length = 212.26605, minor_axis_length = 88.77168, eccentricity = 0.90835, convex_area = 14931.00000, extent = 0.72419, type = C + area = 10805.00000, perimeter = 410.44501, major_axis_length = 164.70444, minor_axis_length = 84.79468, eccentricity = 0.85729, convex_area = 11050.00000, extent = 0.58497, type = O + area = 11329.00000, perimeter = 414.61700, major_axis_length = 168.91350, minor_axis_length = 86.12176, eccentricity = 0.86026, convex_area = 11540.00000, extent = 0.78412, type = O + area = 12275.00000, perimeter = 454.69299, major_axis_length = 181.87129, minor_axis_length = 87.00900, eccentricity = 0.87814, convex_area = 12709.00000, extent = 0.69268, type = O + area = 12860.00000, perimeter = 469.55899, major_axis_length = 197.66103, minor_axis_length = 84.11711, eccentricity = 0.90493, convex_area = 13269.00000, extent = 0.56453, type = C + area = 10588.00000, perimeter = 404.32401, major_axis_length = 163.66208, minor_axis_length = 83.96915, eccentricity = 0.85835, convex_area = 10756.00000, extent = 0.61487, type = O + area = 12919.00000, perimeter = 475.26001, major_axis_length = 201.81566, minor_axis_length = 83.20627, eccentricity = 0.91105, convex_area = 13256.00000, extent = 0.76516, type = C + area = 11772.00000, perimeter = 436.59601, major_axis_length = 181.49266, minor_axis_length = 83.73272, eccentricity = 0.88722, convex_area = 11984.00000, extent = 0.57201, type = O + area = 10844.00000, perimeter = 412.66400, major_axis_length = 171.03000, minor_axis_length = 81.49285, eccentricity = 0.87918, convex_area = 11046.00000, extent = 0.81706, type = O + area = 11293.00000, perimeter = 424.62399, major_axis_length = 178.36342, minor_axis_length = 81.41405, eccentricity = 0.88975, convex_area = 11473.00000, extent = 0.74610, type = O + area = 13104.00000, perimeter = 476.98901, major_axis_length = 202.42511, minor_axis_length = 83.61329, eccentricity = 0.91070, convex_area = 13464.00000, extent = 0.53882, type = C + area = 10191.00000, perimeter = 403.21899, major_axis_length = 168.60902, minor_axis_length = 77.52805, eccentricity = 0.88802, convex_area = 10352.00000, extent = 0.79729, type = O + area = 12743.00000, perimeter = 449.23001, major_axis_length = 180.94476, minor_axis_length = 90.80772, eccentricity = 0.86495, convex_area = 13044.00000, extent = 0.61937, type = O + area = 14493.00000, perimeter = 506.84100, major_axis_length = 219.00308, minor_axis_length = 84.91930, eccentricity = 0.92176, convex_area = 14804.00000, extent = 0.54111, type = C + area = 11679.00000, perimeter = 439.18600, major_axis_length = 181.42677, minor_axis_length = 83.52566, eccentricity = 0.88772, convex_area = 11949.00000, extent = 0.56749, type = O + area = 11569.00000, perimeter = 433.01300, major_axis_length = 183.72031, minor_axis_length = 80.48042, eccentricity = 0.89895, convex_area = 11734.00000, extent = 0.61037, type = O + area = 9975.00000, perimeter = 393.18900, major_axis_length = 161.05664, minor_axis_length = 79.77388, eccentricity = 0.86871, convex_area = 10162.00000, extent = 0.77452, type = O + area = 11993.00000, perimeter = 444.56500, major_axis_length = 187.18291, minor_axis_length = 82.64057, eccentricity = 0.89726, convex_area = 12276.00000, extent = 0.58737, type = C + area = 10191.00000, perimeter = 419.57901, major_axis_length = 174.73424, minor_axis_length = 75.53467, eccentricity = 0.90174, convex_area = 10470.00000, extent = 0.62733, type = O + area = 9028.00000, perimeter = 390.44199, major_axis_length = 165.49568, minor_axis_length = 69.93974, eccentricity = 0.90631, convex_area = 9260.00000, extent = 0.77228, type = O + area = 10819.00000, perimeter = 409.14999, major_axis_length = 164.46439, minor_axis_length = 84.92332, eccentricity = 0.85637, convex_area = 10988.00000, extent = 0.71811, type = O + area = 12315.00000, perimeter = 444.62299, major_axis_length = 183.17519, minor_axis_length = 86.46496, eccentricity = 0.88158, convex_area = 12523.00000, extent = 0.61117, type = O + area = 11392.00000, perimeter = 424.52399, major_axis_length = 172.19817, minor_axis_length = 85.84372, eccentricity = 0.86688, convex_area = 11707.00000, extent = 0.67810, type = O + area = 10483.00000, perimeter = 419.01599, major_axis_length = 176.62010, minor_axis_length = 76.32422, eccentricity = 0.90181, convex_area = 10773.00000, extent = 0.69286, type = O + area = 14570.00000, perimeter = 469.98199, major_axis_length = 185.40146, minor_axis_length = 100.88792, eccentricity = 0.83898, convex_area = 14895.00000, extent = 0.65454, type = C + area = 14017.00000, perimeter = 471.81400, major_axis_length = 194.64345, minor_axis_length = 92.36013, eccentricity = 0.88025, convex_area = 14314.00000, extent = 0.70879, type = C + area = 15306.00000, perimeter = 524.68500, major_axis_length = 227.78186, minor_axis_length = 87.04253, eccentricity = 0.92411, convex_area = 15837.00000, extent = 0.51251, type = C + area = 13470.00000, perimeter = 471.18799, major_axis_length = 200.50235, minor_axis_length = 86.78320, eccentricity = 0.90148, convex_area = 13729.00000, extent = 0.58211, type = C + area = 14276.00000, perimeter = 492.84000, major_axis_length = 208.87695, minor_axis_length = 88.12109, eccentricity = 0.90665, convex_area = 14706.00000, extent = 0.58246, type = C + area = 14586.00000, perimeter = 484.05301, major_axis_length = 196.40340, minor_axis_length = 95.85622, eccentricity = 0.87281, convex_area = 14976.00000, extent = 0.77154, type = C + area = 12487.00000, perimeter = 437.12100, major_axis_length = 174.21123, minor_axis_length = 92.41957, eccentricity = 0.84768, convex_area = 12808.00000, extent = 0.69546, type = O + area = 11929.00000, perimeter = 436.86301, major_axis_length = 177.18954, minor_axis_length = 86.98807, eccentricity = 0.87120, convex_area = 12230.00000, extent = 0.69355, type = O + area = 13493.00000, perimeter = 480.52899, major_axis_length = 205.57306, minor_axis_length = 84.68375, eccentricity = 0.91121, convex_area = 13843.00000, extent = 0.79689, type = C + area = 14252.00000, perimeter = 493.11401, major_axis_length = 202.65460, minor_axis_length = 91.30965, eccentricity = 0.89274, convex_area = 14627.00000, extent = 0.56377, type = C + area = 13667.00000, perimeter = 463.84201, major_axis_length = 197.35565, minor_axis_length = 88.58672, eccentricity = 0.89360, convex_area = 13829.00000, extent = 0.63452, type = O + area = 15540.00000, perimeter = 516.31598, major_axis_length = 217.38722, minor_axis_length = 92.47346, eccentricity = 0.90501, convex_area = 16084.00000, extent = 0.63248, type = C + area = 12292.00000, perimeter = 447.48599, major_axis_length = 181.35670, minor_axis_length = 87.98663, eccentricity = 0.87443, convex_area = 12535.00000, extent = 0.59387, type = O + area = 11537.00000, perimeter = 428.38699, major_axis_length = 177.81396, minor_axis_length = 83.65266, eccentricity = 0.88243, convex_area = 11733.00000, extent = 0.74500, type = O + area = 11652.00000, perimeter = 429.52100, major_axis_length = 172.41205, minor_axis_length = 87.48266, eccentricity = 0.86171, convex_area = 11982.00000, extent = 0.63052, type = O + area = 12495.00000, perimeter = 454.79300, major_axis_length = 186.77663, minor_axis_length = 86.49271, eccentricity = 0.88632, convex_area = 12774.00000, extent = 0.75032, type = O + area = 15568.00000, perimeter = 519.45599, major_axis_length = 222.22809, minor_axis_length = 90.81753, eccentricity = 0.91268, convex_area = 15984.00000, extent = 0.78270, type = C + area = 13142.00000, perimeter = 464.65100, major_axis_length = 194.74500, minor_axis_length = 86.58730, eccentricity = 0.89572, convex_area = 13406.00000, extent = 0.66133, type = C + area = 14363.00000, perimeter = 493.26099, major_axis_length = 210.56975, minor_axis_length = 87.41584, eccentricity = 0.90976, convex_area = 14621.00000, extent = 0.57706, type = C + area = 14826.00000, perimeter = 514.53198, major_axis_length = 219.37294, minor_axis_length = 86.88576, eccentricity = 0.91822, convex_area = 15170.00000, extent = 0.54308, type = C + area = 14819.00000, perimeter = 496.62299, major_axis_length = 205.99135, minor_axis_length = 92.82657, eccentricity = 0.89271, convex_area = 15194.00000, extent = 0.72642, type = C + area = 11549.00000, perimeter = 425.22000, major_axis_length = 174.22697, minor_axis_length = 85.78465, eccentricity = 0.87038, convex_area = 11805.00000, extent = 0.63013, type = O + area = 14862.00000, perimeter = 507.48999, major_axis_length = 216.32031, minor_axis_length = 88.60250, eccentricity = 0.91227, convex_area = 15125.00000, extent = 0.77527, type = C + area = 14500.00000, perimeter = 495.10699, major_axis_length = 214.28784, minor_axis_length = 86.66111, eccentricity = 0.91458, convex_area = 14712.00000, extent = 0.58121, type = C + area = 10005.00000, perimeter = 394.09900, major_axis_length = 161.26289, minor_axis_length = 79.95715, eccentricity = 0.86843, convex_area = 10220.00000, extent = 0.71875, type = O + area = 17948.00000, perimeter = 526.91803, major_axis_length = 214.09383, minor_axis_length = 107.54245, eccentricity = 0.86468, convex_area = 18322.00000, extent = 0.66637, type = C + area = 12540.00000, perimeter = 456.20200, major_axis_length = 185.98070, minor_axis_length = 87.51025, eccentricity = 0.88238, convex_area = 12854.00000, extent = 0.59006, type = O + area = 11343.00000, perimeter = 420.72400, major_axis_length = 173.50665, minor_axis_length = 83.82771, eccentricity = 0.87554, convex_area = 11512.00000, extent = 0.60984, type = O + area = 10572.00000, perimeter = 412.25201, major_axis_length = 163.65118, minor_axis_length = 84.48180, eccentricity = 0.85645, convex_area = 10911.00000, extent = 0.66220, type = O + area = 9487.00000, perimeter = 394.28000, major_axis_length = 165.93575, minor_axis_length = 73.33004, eccentricity = 0.89706, convex_area = 9659.00000, extent = 0.72298, type = O + area = 10824.00000, perimeter = 416.41501, major_axis_length = 170.87822, minor_axis_length = 81.73240, eccentricity = 0.87819, convex_area = 11046.00000, extent = 0.59051, type = O + area = 14400.00000, perimeter = 486.89999, major_axis_length = 200.13771, minor_axis_length = 93.24651, eccentricity = 0.88483, convex_area = 14714.00000, extent = 0.61813, type = C + area = 14969.00000, perimeter = 515.09802, major_axis_length = 222.04485, minor_axis_length = 87.43668, eccentricity = 0.91920, convex_area = 15269.00000, extent = 0.54621, type = C + area = 12867.00000, perimeter = 449.07999, major_axis_length = 181.70056, minor_axis_length = 91.34106, eccentricity = 0.86446, convex_area = 13152.00000, extent = 0.64906, type = O + area = 9483.00000, perimeter = 390.99799, major_axis_length = 157.25992, minor_axis_length = 78.63333, eccentricity = 0.86601, convex_area = 9817.00000, extent = 0.65786, type = O + area = 11322.00000, perimeter = 415.88599, major_axis_length = 169.72362, minor_axis_length = 85.80435, eccentricity = 0.86280, convex_area = 11512.00000, extent = 0.61426, type = O + area = 11470.00000, perimeter = 427.19800, major_axis_length = 174.03909, minor_axis_length = 85.10542, eccentricity = 0.87228, convex_area = 11767.00000, extent = 0.63978, type = O + area = 8328.00000, perimeter = 369.73801, major_axis_length = 152.56586, minor_axis_length = 70.56860, eccentricity = 0.88660, convex_area = 8579.00000, extent = 0.58442, type = O + area = 15133.00000, perimeter = 503.21899, major_axis_length = 216.57503, minor_axis_length = 89.47614, eccentricity = 0.91067, convex_area = 15359.00000, extent = 0.59261, type = C + area = 12962.00000, perimeter = 456.71399, major_axis_length = 185.99910, minor_axis_length = 90.16757, eccentricity = 0.87464, convex_area = 13224.00000, extent = 0.60837, type = O + area = 15375.00000, perimeter = 515.42297, major_axis_length = 215.99930, minor_axis_length = 91.61694, eccentricity = 0.90559, convex_area = 15780.00000, extent = 0.59760, type = C + area = 11317.00000, perimeter = 420.15302, major_axis_length = 169.62474, minor_axis_length = 86.44434, eccentricity = 0.86040, convex_area = 11479.00000, extent = 0.61349, type = O + area = 15815.00000, perimeter = 506.29001, major_axis_length = 210.50458, minor_axis_length = 96.50236, eccentricity = 0.88873, convex_area = 16112.00000, extent = 0.79584, type = C + area = 12994.00000, perimeter = 457.19000, major_axis_length = 187.33479, minor_axis_length = 89.40963, eccentricity = 0.87876, convex_area = 13335.00000, extent = 0.76359, type = O + area = 10874.00000, perimeter = 426.87299, major_axis_length = 177.25034, minor_axis_length = 79.62495, eccentricity = 0.89342, convex_area = 11211.00000, extent = 0.63965, type = O + area = 13952.00000, perimeter = 484.94699, major_axis_length = 201.32283, minor_axis_length = 89.51038, eccentricity = 0.89572, convex_area = 14349.00000, extent = 0.65641, type = C + area = 10724.00000, perimeter = 421.69800, major_axis_length = 168.36853, minor_axis_length = 83.73533, eccentricity = 0.86756, convex_area = 10988.00000, extent = 0.59446, type = O + area = 11776.00000, perimeter = 430.33301, major_axis_length = 173.56931, minor_axis_length = 87.46633, eccentricity = 0.86375, convex_area = 12011.00000, extent = 0.61667, type = O + area = 12511.00000, perimeter = 448.75900, major_axis_length = 183.97697, minor_axis_length = 87.34287, eccentricity = 0.88012, convex_area = 12694.00000, extent = 0.60478, type = O + area = 13954.00000, perimeter = 484.53201, major_axis_length = 203.67818, minor_axis_length = 88.20872, eccentricity = 0.90136, convex_area = 14288.00000, extent = 0.75086, type = C + area = 12871.00000, perimeter = 448.58200, major_axis_length = 183.87454, minor_axis_length = 90.27630, eccentricity = 0.87118, convex_area = 13102.00000, extent = 0.73372, type = O + area = 15907.00000, perimeter = 527.21100, major_axis_length = 224.25220, minor_axis_length = 91.44114, eccentricity = 0.91309, convex_area = 16206.00000, extent = 0.54767, type = C + area = 11931.00000, perimeter = 445.10101, major_axis_length = 187.92052, minor_axis_length = 82.14220, eccentricity = 0.89941, convex_area = 12174.00000, extent = 0.64814, type = C + area = 14560.00000, perimeter = 501.24600, major_axis_length = 212.10609, minor_axis_length = 89.32131, eccentricity = 0.90701, convex_area = 14988.00000, extent = 0.68956, type = C + area = 14478.00000, perimeter = 469.16101, major_axis_length = 190.84772, minor_axis_length = 97.34319, eccentricity = 0.86014, convex_area = 14686.00000, extent = 0.76542, type = C + area = 14938.00000, perimeter = 502.68701, major_axis_length = 209.64473, minor_axis_length = 92.03596, eccentricity = 0.89848, convex_area = 15331.00000, extent = 0.63520, type = C + area = 10286.00000, perimeter = 406.71301, major_axis_length = 171.05067, minor_axis_length = 77.44872, eccentricity = 0.89162, convex_area = 10469.00000, extent = 0.61845, type = O + area = 13959.00000, perimeter = 477.26300, major_axis_length = 200.49440, minor_axis_length = 89.45984, eccentricity = 0.89494, convex_area = 14242.00000, extent = 0.71574, type = C + area = 13930.00000, perimeter = 484.86200, major_axis_length = 205.27246, minor_axis_length = 87.23549, eccentricity = 0.90521, convex_area = 14330.00000, extent = 0.79943, type = C + area = 13154.00000, perimeter = 451.56201, major_axis_length = 179.95360, minor_axis_length = 94.31381, eccentricity = 0.85166, convex_area = 13428.00000, extent = 0.65022, type = O + area = 12059.00000, perimeter = 431.64600, major_axis_length = 171.67200, minor_axis_length = 90.91513, eccentricity = 0.84826, convex_area = 12359.00000, extent = 0.69956, type = O + area = 15385.00000, perimeter = 505.57800, major_axis_length = 211.73012, minor_axis_length = 94.12325, eccentricity = 0.89576, convex_area = 15726.00000, extent = 0.58791, type = C + area = 10921.00000, perimeter = 425.01199, major_axis_length = 175.63832, minor_axis_length = 80.60688, eccentricity = 0.88847, convex_area = 11271.00000, extent = 0.77044, type = O + area = 10702.00000, perimeter = 409.26599, major_axis_length = 160.70015, minor_axis_length = 85.87032, eccentricity = 0.84526, convex_area = 10990.00000, extent = 0.68603, type = O + area = 10767.00000, perimeter = 428.35199, major_axis_length = 181.78230, minor_axis_length = 75.89606, eccentricity = 0.90867, convex_area = 11002.00000, extent = 0.69916, type = O + area = 14272.00000, perimeter = 491.45401, major_axis_length = 210.50232, minor_axis_length = 87.93793, eccentricity = 0.90856, convex_area = 14545.00000, extent = 0.80338, type = C + area = 11635.00000, perimeter = 449.30899, major_axis_length = 197.57065, minor_axis_length = 75.25814, eccentricity = 0.92461, convex_area = 11842.00000, extent = 0.52189, type = O + area = 13391.00000, perimeter = 486.12201, major_axis_length = 213.11208, minor_axis_length = 80.99444, eccentricity = 0.92496, convex_area = 13661.00000, extent = 0.52024, type = C + area = 15319.00000, perimeter = 506.02499, major_axis_length = 208.22775, minor_axis_length = 94.83875, eccentricity = 0.89026, convex_area = 15813.00000, extent = 0.57370, type = C + area = 14101.00000, perimeter = 464.96600, major_axis_length = 186.48384, minor_axis_length = 97.53321, eccentricity = 0.85233, convex_area = 14346.00000, extent = 0.67898, type = O + area = 12588.00000, perimeter = 445.29800, major_axis_length = 181.65675, minor_axis_length = 89.52711, eccentricity = 0.87012, convex_area = 12865.00000, extent = 0.77713, type = O + area = 12303.00000, perimeter = 439.34100, major_axis_length = 184.30002, minor_axis_length = 85.29237, eccentricity = 0.88647, convex_area = 12468.00000, extent = 0.59747, type = O + area = 13331.00000, perimeter = 461.30899, major_axis_length = 193.55994, minor_axis_length = 88.79623, eccentricity = 0.88856, convex_area = 13500.00000, extent = 0.57951, type = O + area = 13032.00000, perimeter = 459.63101, major_axis_length = 186.47350, minor_axis_length = 90.25482, eccentricity = 0.87506, convex_area = 13247.00000, extent = 0.80049, type = O + area = 10260.00000, perimeter = 417.00000, major_axis_length = 172.99356, minor_axis_length = 76.90769, eccentricity = 0.89574, convex_area = 10527.00000, extent = 0.58824, type = O + area = 15196.00000, perimeter = 498.14499, major_axis_length = 212.24376, minor_axis_length = 91.67679, eccentricity = 0.90190, convex_area = 15427.00000, extent = 0.71276, type = C + area = 15341.00000, perimeter = 504.46301, major_axis_length = 210.87219, minor_axis_length = 93.98658, eccentricity = 0.89518, convex_area = 15628.00000, extent = 0.76897, type = C + area = 10562.00000, perimeter = 407.19400, major_axis_length = 168.77527, minor_axis_length = 80.46923, eccentricity = 0.87902, convex_area = 10724.00000, extent = 0.61123, type = O + area = 13080.00000, perimeter = 474.26001, major_axis_length = 198.95737, minor_axis_length = 84.75006, eccentricity = 0.90474, convex_area = 13511.00000, extent = 0.70277, type = C + area = 13683.00000, perimeter = 481.57101, major_axis_length = 206.92677, minor_axis_length = 84.89906, eccentricity = 0.91196, convex_area = 13922.00000, extent = 0.76220, type = C + area = 10795.00000, perimeter = 411.29999, major_axis_length = 168.38956, minor_axis_length = 82.64345, eccentricity = 0.87128, convex_area = 11029.00000, extent = 0.76043, type = O + area = 12748.00000, perimeter = 461.88800, major_axis_length = 190.70799, minor_axis_length = 86.64507, eccentricity = 0.89083, convex_area = 13158.00000, extent = 0.78633, type = O + area = 12016.00000, perimeter = 469.42499, major_axis_length = 196.94925, minor_axis_length = 79.83517, eccentricity = 0.91416, convex_area = 12464.00000, extent = 0.56297, type = C + area = 12128.00000, perimeter = 441.71201, major_axis_length = 184.30515, minor_axis_length = 84.94325, eccentricity = 0.88746, convex_area = 12327.00000, extent = 0.62233, type = O + area = 14974.00000, perimeter = 498.62500, major_axis_length = 210.92395, minor_axis_length = 90.90400, eccentricity = 0.90236, convex_area = 15212.00000, extent = 0.64090, type = C + area = 11465.00000, perimeter = 419.59500, major_axis_length = 167.98752, minor_axis_length = 88.07780, eccentricity = 0.85153, convex_area = 11685.00000, extent = 0.75378, type = O + area = 14034.00000, perimeter = 491.73199, major_axis_length = 205.50511, minor_axis_length = 88.35206, eccentricity = 0.90286, convex_area = 14448.00000, extent = 0.55591, type = C + area = 12502.00000, perimeter = 443.58600, major_axis_length = 179.12814, minor_axis_length = 89.94933, eccentricity = 0.86478, convex_area = 12788.00000, extent = 0.78927, type = O + area = 12557.00000, perimeter = 443.01001, major_axis_length = 177.72878, minor_axis_length = 91.59944, eccentricity = 0.85696, convex_area = 12896.00000, extent = 0.63929, type = O + area = 13536.00000, perimeter = 478.00601, major_axis_length = 203.17378, minor_axis_length = 85.91058, eccentricity = 0.90620, convex_area = 13810.00000, extent = 0.55281, type = C + area = 15061.00000, perimeter = 497.35901, major_axis_length = 207.65042, minor_axis_length = 93.05585, eccentricity = 0.89396, convex_area = 15327.00000, extent = 0.71678, type = C + area = 15087.00000, perimeter = 510.60501, major_axis_length = 218.17435, minor_axis_length = 89.15250, eccentricity = 0.91270, convex_area = 15506.00000, extent = 0.54950, type = C + area = 15469.00000, perimeter = 514.90698, major_axis_length = 221.01834, minor_axis_length = 89.76701, eccentricity = 0.91381, convex_area = 15860.00000, extent = 0.54178, type = C + area = 12590.00000, perimeter = 447.53201, major_axis_length = 180.02446, minor_axis_length = 89.97459, eccentricity = 0.86615, convex_area = 12875.00000, extent = 0.66911, type = O + area = 12763.00000, perimeter = 454.90201, major_axis_length = 185.22537, minor_axis_length = 89.68470, eccentricity = 0.87496, convex_area = 13081.00000, extent = 0.62271, type = O + area = 13337.00000, perimeter = 471.84698, major_axis_length = 199.14467, minor_axis_length = 86.46564, eccentricity = 0.90082, convex_area = 13686.00000, extent = 0.66446, type = C + area = 13443.00000, perimeter = 459.73099, major_axis_length = 188.01236, minor_axis_length = 92.69482, eccentricity = 0.87002, convex_area = 13707.00000, extent = 0.74201, type = O + area = 14828.00000, perimeter = 493.50000, major_axis_length = 209.90356, minor_axis_length = 90.66991, eccentricity = 0.90189, convex_area = 15090.00000, extent = 0.60651, type = C + area = 12437.00000, perimeter = 434.67200, major_axis_length = 174.96619, minor_axis_length = 91.87350, eccentricity = 0.85104, convex_area = 12670.00000, extent = 0.72863, type = O + area = 11081.00000, perimeter = 414.07901, major_axis_length = 169.00883, minor_axis_length = 84.32628, eccentricity = 0.86663, convex_area = 11289.00000, extent = 0.78992, type = O + area = 15371.00000, perimeter = 497.66501, major_axis_length = 212.74893, minor_axis_length = 92.46557, eccentricity = 0.90061, convex_area = 15587.00000, extent = 0.81208, type = C + area = 10481.00000, perimeter = 413.72198, major_axis_length = 174.16463, minor_axis_length = 77.66029, eccentricity = 0.89508, convex_area = 10648.00000, extent = 0.80648, type = O + area = 14887.00000, perimeter = 493.04501, major_axis_length = 199.16492, minor_axis_length = 96.69370, eccentricity = 0.87424, convex_area = 15347.00000, extent = 0.61713, type = C + area = 14482.00000, perimeter = 489.31799, major_axis_length = 205.38631, minor_axis_length = 90.80043, eccentricity = 0.89697, convex_area = 14781.00000, extent = 0.56890, type = C + area = 10497.00000, perimeter = 405.34601, major_axis_length = 165.34816, minor_axis_length = 81.97666, eccentricity = 0.86845, convex_area = 10735.00000, extent = 0.66860, type = O + area = 14071.00000, perimeter = 479.09299, major_axis_length = 197.40497, minor_axis_length = 92.30099, eccentricity = 0.88396, convex_area = 14398.00000, extent = 0.59900, type = C + area = 10598.00000, perimeter = 411.47900, major_axis_length = 162.20229, minor_axis_length = 85.22141, eccentricity = 0.85085, convex_area = 10936.00000, extent = 0.59353, type = O + area = 13111.00000, perimeter = 457.01801, major_axis_length = 188.33434, minor_axis_length = 90.13023, eccentricity = 0.87805, convex_area = 13323.00000, extent = 0.77944, type = O + area = 9732.00000, perimeter = 395.62399, major_axis_length = 166.25105, minor_axis_length = 75.57278, eccentricity = 0.89071, convex_area = 9887.00000, extent = 0.58655, type = O + area = 16194.00000, perimeter = 528.12097, major_axis_length = 226.87439, minor_axis_length = 91.63519, eccentricity = 0.91480, convex_area = 16524.00000, extent = 0.55202, type = C + area = 15189.00000, perimeter = 506.82199, major_axis_length = 209.18954, minor_axis_length = 93.61980, eccentricity = 0.89427, convex_area = 15629.00000, extent = 0.67408, type = C + area = 10000.00000, perimeter = 415.27399, major_axis_length = 180.15187, minor_axis_length = 71.01284, eccentricity = 0.91903, convex_area = 10176.00000, extent = 0.54283, type = O + area = 11875.00000, perimeter = 425.45099, major_axis_length = 174.09418, minor_axis_length = 87.36473, eccentricity = 0.86497, convex_area = 12041.00000, extent = 0.69453, type = O + area = 11097.00000, perimeter = 422.36801, major_axis_length = 172.16371, minor_axis_length = 83.62703, eccentricity = 0.87410, convex_area = 11393.00000, extent = 0.61242, type = O + area = 10910.00000, perimeter = 413.09500, major_axis_length = 165.88043, minor_axis_length = 85.08663, eccentricity = 0.85842, convex_area = 11243.00000, extent = 0.70771, type = O + area = 12720.00000, perimeter = 449.62399, major_axis_length = 178.61478, minor_axis_length = 92.75169, eccentricity = 0.85460, convex_area = 13095.00000, extent = 0.74386, type = C + area = 12422.00000, perimeter = 444.08499, major_axis_length = 183.13438, minor_axis_length = 86.95216, eccentricity = 0.88009, convex_area = 12658.00000, extent = 0.62341, type = O + area = 10878.00000, perimeter = 410.72198, major_axis_length = 168.79781, minor_axis_length = 82.68657, eccentricity = 0.87180, convex_area = 11079.00000, extent = 0.68944, type = O + area = 12780.00000, perimeter = 437.02899, major_axis_length = 175.11682, minor_axis_length = 93.66058, eccentricity = 0.84495, convex_area = 12940.00000, extent = 0.70631, type = O + area = 13139.00000, perimeter = 472.25101, major_axis_length = 202.59767, minor_axis_length = 83.79178, eccentricity = 0.91046, convex_area = 13379.00000, extent = 0.78367, type = C + area = 9428.00000, perimeter = 398.92001, major_axis_length = 164.84538, minor_axis_length = 74.65759, eccentricity = 0.89156, convex_area = 9760.00000, extent = 0.67672, type = O + area = 12796.00000, perimeter = 471.20901, major_axis_length = 203.92963, minor_axis_length = 80.33001, eccentricity = 0.91915, convex_area = 13022.00000, extent = 0.68406, type = C + area = 15360.00000, perimeter = 515.29797, major_axis_length = 220.92175, minor_axis_length = 89.95549, eccentricity = 0.91335, convex_area = 15662.00000, extent = 0.64160, type = C + area = 14517.00000, perimeter = 495.61499, major_axis_length = 211.80283, minor_axis_length = 88.03250, eccentricity = 0.90953, convex_area = 14815.00000, extent = 0.68752, type = C + area = 10786.00000, perimeter = 408.02499, major_axis_length = 165.12993, minor_axis_length = 84.93224, eccentricity = 0.85759, convex_area = 11022.00000, extent = 0.78759, type = O + area = 15600.00000, perimeter = 502.84299, major_axis_length = 205.27551, minor_axis_length = 99.05281, eccentricity = 0.87588, convex_area = 16130.00000, extent = 0.72142, type = C + area = 12931.00000, perimeter = 460.53500, major_axis_length = 192.90802, minor_axis_length = 86.56665, eccentricity = 0.89366, convex_area = 13302.00000, extent = 0.60706, type = C + area = 12262.00000, perimeter = 443.16699, major_axis_length = 190.67964, minor_axis_length = 82.12513, eccentricity = 0.90250, convex_area = 12404.00000, extent = 0.61817, type = O + area = 14960.00000, perimeter = 510.72900, major_axis_length = 218.36987, minor_axis_length = 88.05952, eccentricity = 0.91509, convex_area = 15235.00000, extent = 0.57828, type = C + area = 13429.00000, perimeter = 491.37701, major_axis_length = 208.90878, minor_axis_length = 83.84212, eccentricity = 0.91593, convex_area = 13837.00000, extent = 0.53307, type = C + area = 12233.00000, perimeter = 425.18100, major_axis_length = 170.94611, minor_axis_length = 92.01291, eccentricity = 0.84278, convex_area = 12388.00000, extent = 0.64276, type = O + area = 12451.00000, perimeter = 461.34500, major_axis_length = 191.40778, minor_axis_length = 84.16150, eccentricity = 0.89815, convex_area = 12833.00000, extent = 0.58128, type = O + area = 15830.00000, perimeter = 520.78198, major_axis_length = 215.13918, minor_axis_length = 95.17147, eccentricity = 0.89683, convex_area = 16326.00000, extent = 0.61051, type = C + area = 14407.00000, perimeter = 482.79599, major_axis_length = 202.83234, minor_axis_length = 91.19193, eccentricity = 0.89323, convex_area = 14671.00000, extent = 0.74263, type = C + area = 14204.00000, perimeter = 482.17001, major_axis_length = 201.07388, minor_axis_length = 91.09084, eccentricity = 0.89150, convex_area = 14523.00000, extent = 0.61601, type = C + area = 13913.00000, perimeter = 493.60699, major_axis_length = 212.98547, minor_axis_length = 83.99135, eccentricity = 0.91896, convex_area = 14218.00000, extent = 0.57213, type = C + area = 14246.00000, perimeter = 488.91599, major_axis_length = 210.75372, minor_axis_length = 86.88518, eccentricity = 0.91107, convex_area = 14453.00000, extent = 0.74806, type = C + area = 14180.00000, perimeter = 485.17099, major_axis_length = 204.10718, minor_axis_length = 89.36078, eccentricity = 0.89907, convex_area = 14471.00000, extent = 0.61981, type = C + area = 10539.00000, perimeter = 420.63699, major_axis_length = 174.81981, minor_axis_length = 77.63504, eccentricity = 0.89598, convex_area = 10775.00000, extent = 0.66271, type = O + area = 14800.00000, perimeter = 502.61899, major_axis_length = 213.99492, minor_axis_length = 88.85567, eccentricity = 0.90972, convex_area = 15123.00000, extent = 0.79123, type = C + area = 15144.00000, perimeter = 505.91299, major_axis_length = 212.36888, minor_axis_length = 92.02203, eccentricity = 0.90124, convex_area = 15609.00000, extent = 0.60951, type = C + area = 13541.00000, perimeter = 478.46100, major_axis_length = 206.69949, minor_axis_length = 84.09856, eccentricity = 0.91349, convex_area = 13768.00000, extent = 0.81347, type = C + area = 14449.00000, perimeter = 496.32599, major_axis_length = 209.70576, minor_axis_length = 89.79037, eccentricity = 0.90370, convex_area = 14810.00000, extent = 0.66231, type = C + area = 11682.00000, perimeter = 437.04001, major_axis_length = 176.23099, minor_axis_length = 86.32249, eccentricity = 0.87182, convex_area = 11969.00000, extent = 0.58119, type = O + area = 11545.00000, perimeter = 427.62000, major_axis_length = 167.41209, minor_axis_length = 89.44892, eccentricity = 0.84529, convex_area = 11925.00000, extent = 0.63239, type = O + area = 12068.00000, perimeter = 457.73901, major_axis_length = 196.44206, minor_axis_length = 79.54394, eccentricity = 0.91435, convex_area = 12347.00000, extent = 0.59950, type = C + area = 11023.00000, perimeter = 416.89200, major_axis_length = 163.01917, minor_axis_length = 88.59202, eccentricity = 0.83944, convex_area = 11343.00000, extent = 0.71070, type = O + area = 16865.00000, perimeter = 517.74701, major_axis_length = 210.47945, minor_axis_length = 103.80494, eccentricity = 0.86993, convex_area = 17234.00000, extent = 0.65020, type = C + area = 12569.00000, perimeter = 454.10400, major_axis_length = 192.09172, minor_axis_length = 83.93651, eccentricity = 0.89948, convex_area = 12811.00000, extent = 0.56678, type = O + area = 9519.00000, perimeter = 402.21899, major_axis_length = 173.38118, minor_axis_length = 70.51072, eccentricity = 0.91357, convex_area = 9682.00000, extent = 0.75101, type = O + area = 14806.00000, perimeter = 498.63199, major_axis_length = 214.38994, minor_axis_length = 88.97662, eccentricity = 0.90981, convex_area = 15078.00000, extent = 0.78339, type = C + area = 13924.00000, perimeter = 498.56201, major_axis_length = 212.06157, minor_axis_length = 84.91075, eccentricity = 0.91634, convex_area = 14444.00000, extent = 0.54750, type = C + area = 10604.00000, perimeter = 425.92599, major_axis_length = 179.15118, minor_axis_length = 76.35169, eccentricity = 0.90464, convex_area = 10830.00000, extent = 0.57490, type = C + area = 9117.00000, perimeter = 393.83801, major_axis_length = 167.61137, minor_axis_length = 69.95189, eccentricity = 0.90875, convex_area = 9333.00000, extent = 0.54027, type = O + area = 10312.00000, perimeter = 398.79501, major_axis_length = 163.54231, minor_axis_length = 80.67045, eccentricity = 0.86988, convex_area = 10507.00000, extent = 0.80575, type = O + area = 13568.00000, perimeter = 482.14200, major_axis_length = 206.34126, minor_axis_length = 84.97628, eccentricity = 0.91126, convex_area = 13798.00000, extent = 0.77284, type = C + area = 12890.00000, perimeter = 462.80200, major_axis_length = 190.34348, minor_axis_length = 87.71856, eccentricity = 0.88748, convex_area = 13227.00000, extent = 0.58570, type = O + area = 11548.00000, perimeter = 433.51300, major_axis_length = 176.97809, minor_axis_length = 84.34711, eccentricity = 0.87912, convex_area = 11821.00000, extent = 0.68816, type = O + area = 10594.00000, perimeter = 401.24399, major_axis_length = 167.18781, minor_axis_length = 81.09771, eccentricity = 0.87448, convex_area = 10738.00000, extent = 0.78778, type = O + area = 16431.00000, perimeter = 509.38501, major_axis_length = 208.05287, minor_axis_length = 101.96149, eccentricity = 0.87168, convex_area = 16875.00000, extent = 0.73222, type = C + area = 12224.00000, perimeter = 438.97601, major_axis_length = 177.13861, minor_axis_length = 88.43137, eccentricity = 0.86647, convex_area = 12445.00000, extent = 0.60626, type = O + area = 11000.00000, perimeter = 413.26099, major_axis_length = 167.33331, minor_axis_length = 84.73780, eccentricity = 0.86230, convex_area = 11158.00000, extent = 0.79365, type = O + area = 12192.00000, perimeter = 428.59299, major_axis_length = 172.94958, minor_axis_length = 90.53119, eccentricity = 0.85205, convex_area = 12383.00000, extent = 0.74052, type = O + area = 15926.00000, perimeter = 522.73999, major_axis_length = 225.73605, minor_axis_length = 91.05709, eccentricity = 0.91503, convex_area = 16240.00000, extent = 0.77977, type = C + area = 10817.00000, perimeter = 403.99799, major_axis_length = 167.42336, minor_axis_length = 82.72127, eccentricity = 0.86941, convex_area = 10953.00000, extent = 0.78509, type = O + area = 11626.00000, perimeter = 433.23801, major_axis_length = 178.07924, minor_axis_length = 84.56313, eccentricity = 0.88006, convex_area = 11972.00000, extent = 0.58967, type = O + area = 12095.00000, perimeter = 444.03400, major_axis_length = 186.06767, minor_axis_length = 83.80881, eccentricity = 0.89282, convex_area = 12290.00000, extent = 0.69994, type = O + area = 11906.00000, perimeter = 433.85599, major_axis_length = 174.29979, minor_axis_length = 88.25261, eccentricity = 0.86234, convex_area = 12179.00000, extent = 0.62085, type = O + area = 11455.00000, perimeter = 405.61899, major_axis_length = 159.57027, minor_axis_length = 92.32996, eccentricity = 0.81560, convex_area = 11639.00000, extent = 0.77619, type = O + area = 12042.00000, perimeter = 433.76999, major_axis_length = 178.77644, minor_axis_length = 86.52510, eccentricity = 0.87508, convex_area = 12257.00000, extent = 0.78644, type = O + area = 16580.00000, perimeter = 530.09497, major_axis_length = 226.44495, minor_axis_length = 94.47408, eccentricity = 0.90881, convex_area = 16928.00000, extent = 0.59619, type = C + area = 14654.00000, perimeter = 498.10300, major_axis_length = 214.65430, minor_axis_length = 87.38055, eccentricity = 0.91339, convex_area = 14907.00000, extent = 0.80375, type = C + area = 16401.00000, perimeter = 521.07703, major_axis_length = 213.10257, minor_axis_length = 99.54189, eccentricity = 0.88420, convex_area = 16781.00000, extent = 0.72661, type = C + area = 13034.00000, perimeter = 474.36899, major_axis_length = 203.99585, minor_axis_length = 81.98090, eccentricity = 0.91569, convex_area = 13316.00000, extent = 0.61574, type = C + area = 14013.00000, perimeter = 480.83099, major_axis_length = 191.84508, minor_axis_length = 94.87569, eccentricity = 0.86915, convex_area = 14622.00000, extent = 0.62592, type = C + area = 12911.00000, perimeter = 446.75400, major_axis_length = 187.87210, minor_axis_length = 88.20014, eccentricity = 0.88295, convex_area = 13071.00000, extent = 0.77108, type = O + area = 14652.00000, perimeter = 485.54700, major_axis_length = 201.55360, minor_axis_length = 93.44862, eccentricity = 0.88602, convex_area = 14883.00000, extent = 0.59315, type = C + area = 12072.00000, perimeter = 452.26199, major_axis_length = 192.72191, minor_axis_length = 80.28837, eccentricity = 0.90909, convex_area = 12342.00000, extent = 0.69415, type = C + area = 13293.00000, perimeter = 470.26599, major_axis_length = 197.95935, minor_axis_length = 86.07607, eccentricity = 0.90052, convex_area = 13553.00000, extent = 0.71376, type = C + area = 12181.00000, perimeter = 456.93799, major_axis_length = 194.85516, minor_axis_length = 80.28487, eccentricity = 0.91117, convex_area = 12489.00000, extent = 0.58489, type = C + area = 14078.00000, perimeter = 478.47000, major_axis_length = 203.64546, minor_axis_length = 88.56031, eccentricity = 0.90049, convex_area = 14280.00000, extent = 0.74440, type = C + area = 13002.00000, perimeter = 460.12701, major_axis_length = 191.42421, minor_axis_length = 87.77464, eccentricity = 0.88868, convex_area = 13325.00000, extent = 0.67945, type = C + area = 15593.00000, perimeter = 512.42798, major_axis_length = 216.61571, minor_axis_length = 92.91002, eccentricity = 0.90334, convex_area = 16050.00000, extent = 0.77747, type = C + area = 13680.00000, perimeter = 473.08600, major_axis_length = 194.94038, minor_axis_length = 91.22505, eccentricity = 0.88375, convex_area = 14077.00000, extent = 0.77949, type = C + area = 13567.00000, perimeter = 475.17099, major_axis_length = 197.29468, minor_axis_length = 88.91294, eccentricity = 0.89270, convex_area = 13940.00000, extent = 0.63770, type = C + area = 13693.00000, perimeter = 474.75201, major_axis_length = 198.11575, minor_axis_length = 89.03110, eccentricity = 0.89334, convex_area = 14050.00000, extent = 0.59763, type = O + area = 14145.00000, perimeter = 486.60800, major_axis_length = 209.35321, minor_axis_length = 86.78947, eccentricity = 0.91002, convex_area = 14370.00000, extent = 0.76667, type = C + area = 12732.00000, perimeter = 465.49100, major_axis_length = 192.45367, minor_axis_length = 85.18263, eccentricity = 0.89671, convex_area = 13105.00000, extent = 0.56997, type = C + area = 14436.00000, perimeter = 485.82599, major_axis_length = 204.46996, minor_axis_length = 90.74992, eccentricity = 0.89611, convex_area = 14864.00000, extent = 0.61448, type = C + area = 10538.00000, perimeter = 401.34299, major_axis_length = 166.76625, minor_axis_length = 81.17021, eccentricity = 0.87355, convex_area = 10682.00000, extent = 0.79352, type = O + area = 11783.00000, perimeter = 453.10501, major_axis_length = 192.68430, minor_axis_length = 79.17371, eccentricity = 0.91168, convex_area = 12102.00000, extent = 0.67044, type = C + area = 11133.00000, perimeter = 431.70200, major_axis_length = 184.95299, minor_axis_length = 77.73632, eccentricity = 0.90738, convex_area = 11287.00000, extent = 0.55223, type = O + area = 11234.00000, perimeter = 425.93100, major_axis_length = 176.30199, minor_axis_length = 82.10153, eccentricity = 0.88495, convex_area = 11452.00000, extent = 0.65558, type = O + area = 14682.00000, perimeter = 505.03101, major_axis_length = 219.88632, minor_axis_length = 86.04150, eccentricity = 0.92026, convex_area = 15155.00000, extent = 0.55291, type = C + area = 14930.00000, perimeter = 499.92499, major_axis_length = 212.24582, minor_axis_length = 90.01748, eccentricity = 0.90561, convex_area = 15248.00000, extent = 0.62437, type = C + area = 10777.00000, perimeter = 409.27301, major_axis_length = 165.13802, minor_axis_length = 84.58022, eccentricity = 0.85888, convex_area = 10987.00000, extent = 0.80648, type = O + area = 13858.00000, perimeter = 475.95700, major_axis_length = 205.87390, minor_axis_length = 86.04459, eccentricity = 0.90847, convex_area = 14042.00000, extent = 0.65122, type = C + area = 9585.00000, perimeter = 397.72000, major_axis_length = 163.85312, minor_axis_length = 75.40806, eccentricity = 0.88781, convex_area = 9759.00000, extent = 0.72630, type = O + area = 16146.00000, perimeter = 509.33200, major_axis_length = 213.62003, minor_axis_length = 96.64880, eccentricity = 0.89180, convex_area = 16404.00000, extent = 0.59676, type = C + area = 13524.00000, perimeter = 487.46899, major_axis_length = 208.15343, minor_axis_length = 83.61427, eccentricity = 0.91577, convex_area = 13830.00000, extent = 0.63792, type = C + area = 14003.00000, perimeter = 489.29001, major_axis_length = 208.33290, minor_axis_length = 87.19222, eccentricity = 0.90821, convex_area = 14421.00000, extent = 0.57911, type = C + area = 12570.00000, perimeter = 450.85901, major_axis_length = 178.96025, minor_axis_length = 91.11516, eccentricity = 0.86069, convex_area = 12886.00000, extent = 0.61049, type = O + area = 12318.00000, perimeter = 442.58701, major_axis_length = 189.56444, minor_axis_length = 83.20393, eccentricity = 0.89853, convex_area = 12495.00000, extent = 0.65175, type = O + area = 13803.00000, perimeter = 492.02100, major_axis_length = 207.04994, minor_axis_length = 87.18410, eccentricity = 0.90702, convex_area = 14174.00000, extent = 0.56915, type = C + area = 15862.00000, perimeter = 507.54800, major_axis_length = 214.87325, minor_axis_length = 94.80012, eccentricity = 0.89741, convex_area = 16098.00000, extent = 0.80834, type = C + area = 11718.00000, perimeter = 427.14600, major_axis_length = 164.74820, minor_axis_length = 93.12975, eccentricity = 0.82490, convex_area = 12155.00000, extent = 0.72031, type = O + area = 15218.00000, perimeter = 508.13599, major_axis_length = 214.27707, minor_axis_length = 91.71027, eccentricity = 0.90378, convex_area = 15685.00000, extent = 0.66801, type = C + area = 16990.00000, perimeter = 535.33899, major_axis_length = 224.08717, minor_axis_length = 98.66264, eccentricity = 0.89786, convex_area = 17371.00000, extent = 0.60091, type = C + area = 15691.00000, perimeter = 511.84900, major_axis_length = 213.61217, minor_axis_length = 94.91935, eccentricity = 0.89585, convex_area = 16124.00000, extent = 0.65915, type = C + area = 10318.00000, perimeter = 413.21100, major_axis_length = 173.16096, minor_axis_length = 76.91557, eccentricity = 0.89593, convex_area = 10614.00000, extent = 0.68196, type = O + area = 12470.00000, perimeter = 455.89700, major_axis_length = 192.46115, minor_axis_length = 83.39553, eccentricity = 0.90124, convex_area = 12704.00000, extent = 0.58130, type = C + area = 12892.00000, perimeter = 473.52701, major_axis_length = 199.93919, minor_axis_length = 83.23553, eccentricity = 0.90923, convex_area = 13193.00000, extent = 0.56455, type = C + area = 13516.00000, perimeter = 483.68900, major_axis_length = 207.53192, minor_axis_length = 83.68568, eccentricity = 0.91509, convex_area = 13746.00000, extent = 0.70086, type = C + area = 10577.00000, perimeter = 402.17001, major_axis_length = 162.59102, minor_axis_length = 83.96336, eccentricity = 0.85634, convex_area = 10771.00000, extent = 0.76072, type = O + area = 13871.00000, perimeter = 496.57901, major_axis_length = 212.57080, minor_axis_length = 83.77424, eccentricity = 0.91907, convex_area = 14344.00000, extent = 0.52782, type = C + area = 10955.00000, perimeter = 419.99500, major_axis_length = 172.93109, minor_axis_length = 81.46967, eccentricity = 0.88207, convex_area = 11147.00000, extent = 0.61459, type = O + area = 13970.00000, perimeter = 481.88400, major_axis_length = 201.47258, minor_axis_length = 89.49722, eccentricity = 0.89592, convex_area = 14310.00000, extent = 0.56789, type = C + area = 14851.00000, perimeter = 512.31897, major_axis_length = 218.00836, minor_axis_length = 88.49667, eccentricity = 0.91390, convex_area = 15556.00000, extent = 0.71775, type = C + area = 11742.00000, perimeter = 439.75601, major_axis_length = 183.10056, minor_axis_length = 83.15661, eccentricity = 0.89092, convex_area = 12016.00000, extent = 0.57222, type = O + area = 12403.00000, perimeter = 451.24399, major_axis_length = 194.00620, minor_axis_length = 82.41925, eccentricity = 0.90527, convex_area = 12596.00000, extent = 0.83069, type = C + area = 13724.00000, perimeter = 481.77100, major_axis_length = 200.89267, minor_axis_length = 88.16832, eccentricity = 0.89854, convex_area = 14038.00000, extent = 0.67954, type = C + area = 11977.00000, perimeter = 442.36401, major_axis_length = 185.26541, minor_axis_length = 83.16058, eccentricity = 0.89360, convex_area = 12186.00000, extent = 0.68175, type = O + area = 11070.00000, perimeter = 419.40302, major_axis_length = 173.57504, minor_axis_length = 82.15421, eccentricity = 0.88090, convex_area = 11266.00000, extent = 0.60059, type = O + area = 12067.00000, perimeter = 440.00101, major_axis_length = 187.76135, minor_axis_length = 82.31121, eccentricity = 0.89879, convex_area = 12200.00000, extent = 0.61724, type = O + area = 11749.00000, perimeter = 455.25699, major_axis_length = 192.59000, minor_axis_length = 78.04095, eccentricity = 0.91422, convex_area = 12001.00000, extent = 0.60665, type = O + area = 12377.00000, perimeter = 465.04700, major_axis_length = 197.08141, minor_axis_length = 81.92233, eccentricity = 0.90951, convex_area = 12669.00000, extent = 0.62968, type = C + area = 16593.00000, perimeter = 524.83801, major_axis_length = 218.10382, minor_axis_length = 97.85260, eccentricity = 0.89371, convex_area = 16814.00000, extent = 0.59329, type = C + area = 13132.00000, perimeter = 480.01901, major_axis_length = 199.25293, minor_axis_length = 85.41972, eccentricity = 0.90345, convex_area = 13594.00000, extent = 0.58091, type = C + area = 11396.00000, perimeter = 446.28299, major_axis_length = 192.23241, minor_axis_length = 76.52646, eccentricity = 0.91734, convex_area = 11692.00000, extent = 0.64515, type = C + area = 15072.00000, perimeter = 487.58499, major_axis_length = 202.49474, minor_axis_length = 95.35527, eccentricity = 0.88219, convex_area = 15267.00000, extent = 0.79056, type = C + area = 9962.00000, perimeter = 408.72101, major_axis_length = 165.83377, minor_axis_length = 78.49387, eccentricity = 0.88089, convex_area = 10231.00000, extent = 0.61868, type = O + area = 9577.00000, perimeter = 404.54401, major_axis_length = 166.90076, minor_axis_length = 74.35096, eccentricity = 0.89529, convex_area = 9855.00000, extent = 0.61226, type = O + area = 14226.00000, perimeter = 491.38901, major_axis_length = 213.78671, minor_axis_length = 85.35412, eccentricity = 0.91684, convex_area = 14483.00000, extent = 0.66439, type = C + area = 10264.00000, perimeter = 410.13901, major_axis_length = 169.60396, minor_axis_length = 78.00386, eccentricity = 0.88796, convex_area = 10572.00000, extent = 0.59577, type = O + area = 14824.00000, perimeter = 499.07501, major_axis_length = 212.48642, minor_axis_length = 89.89487, eccentricity = 0.90610, convex_area = 15141.00000, extent = 0.57920, type = C + area = 13682.00000, perimeter = 488.89999, major_axis_length = 199.55969, minor_axis_length = 89.44221, eccentricity = 0.89393, convex_area = 14457.00000, extent = 0.59967, type = C + area = 13092.00000, perimeter = 465.43701, major_axis_length = 197.04187, minor_axis_length = 85.83564, eccentricity = 0.90013, convex_area = 13369.00000, extent = 0.76885, type = C + area = 9972.00000, perimeter = 397.63800, major_axis_length = 165.39958, minor_axis_length = 77.70962, eccentricity = 0.88276, convex_area = 10230.00000, extent = 0.79522, type = O + area = 11237.00000, perimeter = 429.53000, major_axis_length = 179.38393, minor_axis_length = 80.49435, eccentricity = 0.89367, convex_area = 11430.00000, extent = 0.59043, type = O + area = 12013.00000, perimeter = 443.47800, major_axis_length = 189.28691, minor_axis_length = 81.28728, eccentricity = 0.90310, convex_area = 12160.00000, extent = 0.56778, type = O + area = 11867.00000, perimeter = 434.81299, major_axis_length = 185.70448, minor_axis_length = 81.84723, eccentricity = 0.89764, convex_area = 12004.00000, extent = 0.68107, type = O + area = 13764.00000, perimeter = 479.47900, major_axis_length = 199.29568, minor_axis_length = 89.99371, eccentricity = 0.89224, convex_area = 14167.00000, extent = 0.77714, type = C + area = 13319.00000, perimeter = 468.23199, major_axis_length = 192.92725, minor_axis_length = 89.33763, eccentricity = 0.88632, convex_area = 13694.00000, extent = 0.69522, type = C + area = 11564.00000, perimeter = 428.08301, major_axis_length = 171.93872, minor_axis_length = 86.84311, eccentricity = 0.86307, convex_area = 11839.00000, extent = 0.61675, type = O + area = 12274.00000, perimeter = 453.12900, major_axis_length = 190.98404, minor_axis_length = 82.71131, eccentricity = 0.90136, convex_area = 12466.00000, extent = 0.56035, type = O + area = 15292.00000, perimeter = 510.48300, major_axis_length = 219.65903, minor_axis_length = 89.13313, eccentricity = 0.91397, convex_area = 15511.00000, extent = 0.54319, type = C + area = 14723.00000, perimeter = 491.05499, major_axis_length = 204.17567, minor_axis_length = 93.06549, eccentricity = 0.89008, convex_area = 15021.00000, extent = 0.57568, type = C + area = 12994.00000, perimeter = 460.94501, major_axis_length = 195.22110, minor_axis_length = 86.21172, eccentricity = 0.89721, convex_area = 13196.00000, extent = 0.81539, type = O + area = 14828.00000, perimeter = 494.25601, major_axis_length = 209.66269, minor_axis_length = 90.79800, eccentricity = 0.90136, convex_area = 15038.00000, extent = 0.57092, type = C + area = 11150.00000, perimeter = 416.89899, major_axis_length = 168.02025, minor_axis_length = 85.60217, eccentricity = 0.86049, convex_area = 11420.00000, extent = 0.72572, type = O + area = 11699.00000, perimeter = 434.89200, major_axis_length = 178.22969, minor_axis_length = 85.45215, eccentricity = 0.87757, convex_area = 12005.00000, extent = 0.58893, type = O + area = 13503.00000, perimeter = 477.24399, major_axis_length = 201.17171, minor_axis_length = 87.36242, eccentricity = 0.90078, convex_area = 13743.00000, extent = 0.56319, type = C + area = 10462.00000, perimeter = 415.77399, major_axis_length = 169.77206, minor_axis_length = 80.69160, eccentricity = 0.87983, convex_area = 10789.00000, extent = 0.74585, type = O + area = 10838.00000, perimeter = 412.49100, major_axis_length = 165.19746, minor_axis_length = 84.85579, eccentricity = 0.85799, convex_area = 11167.00000, extent = 0.71832, type = O + area = 14680.00000, perimeter = 502.90399, major_axis_length = 217.19501, minor_axis_length = 87.00278, eccentricity = 0.91626, convex_area = 15000.00000, extent = 0.58086, type = C + area = 13852.00000, perimeter = 490.27899, major_axis_length = 213.98569, minor_axis_length = 82.96648, eccentricity = 0.92178, convex_area = 14158.00000, extent = 0.72832, type = C + area = 12711.00000, perimeter = 458.73300, major_axis_length = 188.31543, minor_axis_length = 86.86007, eccentricity = 0.88727, convex_area = 13092.00000, extent = 0.57830, type = O + area = 14195.00000, perimeter = 488.45999, major_axis_length = 203.51271, minor_axis_length = 89.95866, eccentricity = 0.89700, convex_area = 14555.00000, extent = 0.71735, type = C + area = 15073.00000, perimeter = 498.36200, major_axis_length = 205.80310, minor_axis_length = 93.99628, eccentricity = 0.88961, convex_area = 15476.00000, extent = 0.61392, type = C + area = 11572.00000, perimeter = 418.62900, major_axis_length = 164.12326, minor_axis_length = 90.98297, eccentricity = 0.83228, convex_area = 11861.00000, extent = 0.66164, type = O + area = 14551.00000, perimeter = 502.11200, major_axis_length = 208.19244, minor_axis_length = 90.84801, eccentricity = 0.89977, convex_area = 14962.00000, extent = 0.55802, type = C + area = 10516.00000, perimeter = 409.55701, major_axis_length = 168.52023, minor_axis_length = 80.24091, eccentricity = 0.87936, convex_area = 10726.00000, extent = 0.63641, type = O + area = 13226.00000, perimeter = 480.15701, major_axis_length = 202.74841, minor_axis_length = 84.34415, eccentricity = 0.90936, convex_area = 13617.00000, extent = 0.70705, type = C + area = 11088.00000, perimeter = 421.15701, major_axis_length = 169.42094, minor_axis_length = 85.37567, eccentricity = 0.86375, convex_area = 11373.00000, extent = 0.75413, type = O + area = 13385.00000, perimeter = 460.82501, major_axis_length = 192.64615, minor_axis_length = 89.71349, eccentricity = 0.88495, convex_area = 13595.00000, extent = 0.61275, type = C + area = 14467.00000, perimeter = 498.62399, major_axis_length = 213.59563, minor_axis_length = 86.99999, eccentricity = 0.91329, convex_area = 14857.00000, extent = 0.74076, type = C + area = 14732.00000, perimeter = 497.69400, major_axis_length = 207.46820, minor_axis_length = 91.29447, eccentricity = 0.89798, convex_area = 15000.00000, extent = 0.58037, type = C + area = 11831.00000, perimeter = 428.70099, major_axis_length = 167.41664, minor_axis_length = 92.25314, eccentricity = 0.83448, convex_area = 12116.00000, extent = 0.77327, type = O + area = 14747.00000, perimeter = 494.94199, major_axis_length = 209.20590, minor_axis_length = 90.64754, eccentricity = 0.90125, convex_area = 15124.00000, extent = 0.55603, type = C + area = 14753.00000, perimeter = 494.85199, major_axis_length = 212.10301, minor_axis_length = 89.36530, eccentricity = 0.90691, convex_area = 15051.00000, extent = 0.81689, type = C + area = 16788.00000, perimeter = 533.48798, major_axis_length = 230.12933, minor_axis_length = 93.76288, eccentricity = 0.91323, convex_area = 17041.00000, extent = 0.57268, type = C + area = 11865.00000, perimeter = 426.72800, major_axis_length = 170.87170, minor_axis_length = 89.45922, eccentricity = 0.85200, convex_area = 12085.00000, extent = 0.64180, type = O + area = 10982.00000, perimeter = 411.57401, major_axis_length = 164.91136, minor_axis_length = 86.45071, eccentricity = 0.85158, convex_area = 11289.00000, extent = 0.70379, type = O + area = 14476.00000, perimeter = 489.23801, major_axis_length = 203.85884, minor_axis_length = 91.66153, eccentricity = 0.89321, convex_area = 14807.00000, extent = 0.67985, type = C + area = 13279.00000, perimeter = 483.65799, major_axis_length = 201.33823, minor_axis_length = 85.47550, eccentricity = 0.90541, convex_area = 13691.00000, extent = 0.57635, type = C + area = 13820.00000, perimeter = 489.94199, major_axis_length = 207.00410, minor_axis_length = 86.23711, eccentricity = 0.90909, convex_area = 14195.00000, extent = 0.63940, type = C + area = 12678.00000, perimeter = 452.92599, major_axis_length = 190.83859, minor_axis_length = 85.65090, eccentricity = 0.89363, convex_area = 12930.00000, extent = 0.63953, type = O + area = 13697.00000, perimeter = 482.38400, major_axis_length = 206.73445, minor_axis_length = 85.18093, eccentricity = 0.91117, convex_area = 13927.00000, extent = 0.59708, type = C + area = 12181.00000, perimeter = 434.81299, major_axis_length = 179.22531, minor_axis_length = 86.98540, eccentricity = 0.87432, convex_area = 12387.00000, extent = 0.72801, type = O + area = 10101.00000, perimeter = 405.51199, major_axis_length = 168.01747, minor_axis_length = 77.90595, eccentricity = 0.88600, convex_area = 10384.00000, extent = 0.61878, type = O + area = 13670.00000, perimeter = 486.81000, major_axis_length = 207.74220, minor_axis_length = 84.57770, eccentricity = 0.91337, convex_area = 13923.00000, extent = 0.58096, type = C + area = 15486.00000, perimeter = 509.13599, major_axis_length = 211.11356, minor_axis_length = 94.82224, eccentricity = 0.89345, convex_area = 15921.00000, extent = 0.68634, type = C + area = 14227.00000, perimeter = 490.50400, major_axis_length = 206.49132, minor_axis_length = 88.69172, eccentricity = 0.90306, convex_area = 14529.00000, extent = 0.68713, type = C + area = 15366.00000, perimeter = 508.79300, major_axis_length = 211.37265, minor_axis_length = 93.96780, eccentricity = 0.89575, convex_area = 15746.00000, extent = 0.56459, type = C + area = 14295.00000, perimeter = 484.22699, major_axis_length = 202.77057, minor_axis_length = 91.39712, eccentricity = 0.89265, convex_area = 14528.00000, extent = 0.55182, type = C + area = 14889.00000, perimeter = 499.20599, major_axis_length = 210.38416, minor_axis_length = 91.71178, eccentricity = 0.89998, convex_area = 15221.00000, extent = 0.60463, type = C + area = 10634.00000, perimeter = 409.50601, major_axis_length = 167.43697, minor_axis_length = 81.81296, eccentricity = 0.87250, convex_area = 10809.00000, extent = 0.68377, type = O + area = 12269.00000, perimeter = 435.65601, major_axis_length = 175.95552, minor_axis_length = 90.29810, eccentricity = 0.85828, convex_area = 12583.00000, extent = 0.77884, type = O + area = 15249.00000, perimeter = 506.04999, major_axis_length = 212.09094, minor_axis_length = 92.49422, eccentricity = 0.89990, convex_area = 15582.00000, extent = 0.78304, type = C + area = 9050.00000, perimeter = 379.89899, major_axis_length = 152.87093, minor_axis_length = 77.10934, eccentricity = 0.86347, convex_area = 9387.00000, extent = 0.67487, type = O + area = 11585.00000, perimeter = 428.37299, major_axis_length = 171.56198, minor_axis_length = 87.44052, eccentricity = 0.86037, convex_area = 11939.00000, extent = 0.60890, type = O + area = 12225.00000, perimeter = 444.14899, major_axis_length = 190.22061, minor_axis_length = 82.50629, eccentricity = 0.90104, convex_area = 12408.00000, extent = 0.79855, type = O + area = 13900.00000, perimeter = 475.88901, major_axis_length = 198.16893, minor_axis_length = 90.54260, eccentricity = 0.88952, convex_area = 14161.00000, extent = 0.71723, type = C + area = 14750.00000, perimeter = 482.82501, major_axis_length = 198.50336, minor_axis_length = 95.47469, eccentricity = 0.87674, convex_area = 15046.00000, extent = 0.60550, type = C + area = 14256.00000, perimeter = 492.92700, major_axis_length = 209.80321, minor_axis_length = 87.69037, eccentricity = 0.90846, convex_area = 14730.00000, extent = 0.70227, type = C + area = 11480.00000, perimeter = 432.82401, major_axis_length = 174.96246, minor_axis_length = 85.08846, eccentricity = 0.87378, convex_area = 11833.00000, extent = 0.59084, type = O + area = 11900.00000, perimeter = 442.42300, major_axis_length = 184.06094, minor_axis_length = 83.16405, eccentricity = 0.89210, convex_area = 12119.00000, extent = 0.60388, type = O + area = 13589.00000, perimeter = 483.88400, major_axis_length = 205.35475, minor_axis_length = 85.41032, eccentricity = 0.90940, convex_area = 13883.00000, extent = 0.54574, type = C + area = 14950.00000, perimeter = 496.88400, major_axis_length = 207.82280, minor_axis_length = 93.10914, eccentricity = 0.89402, convex_area = 15422.00000, extent = 0.57932, type = C + area = 12271.00000, perimeter = 443.78699, major_axis_length = 179.83769, minor_axis_length = 87.74169, eccentricity = 0.87290, convex_area = 12510.00000, extent = 0.62353, type = O + area = 11475.00000, perimeter = 447.48099, major_axis_length = 185.65427, minor_axis_length = 80.18083, eccentricity = 0.90193, convex_area = 11818.00000, extent = 0.75893, type = O + area = 15126.00000, perimeter = 500.11401, major_axis_length = 209.16681, minor_axis_length = 93.81421, eccentricity = 0.89378, convex_area = 15496.00000, extent = 0.70603, type = C + area = 11587.00000, perimeter = 423.18900, major_axis_length = 168.64038, minor_axis_length = 88.72871, eccentricity = 0.85040, convex_area = 11826.00000, extent = 0.61171, type = O + area = 12777.00000, perimeter = 462.66901, major_axis_length = 183.23491, minor_axis_length = 90.69457, eccentricity = 0.86891, convex_area = 13148.00000, extent = 0.57245, type = O + area = 11251.00000, perimeter = 431.70901, major_axis_length = 181.78958, minor_axis_length = 79.82994, eccentricity = 0.89842, convex_area = 11408.00000, extent = 0.56227, type = O + area = 14212.00000, perimeter = 485.98599, major_axis_length = 203.41849, minor_axis_length = 90.01189, eccentricity = 0.89677, convex_area = 14508.00000, extent = 0.57320, type = C + area = 13537.00000, perimeter = 467.58701, major_axis_length = 199.57315, minor_axis_length = 86.72983, eccentricity = 0.90063, convex_area = 13745.00000, extent = 0.73062, type = O + area = 12471.00000, perimeter = 445.37399, major_axis_length = 184.99207, minor_axis_length = 86.85976, eccentricity = 0.88292, convex_area = 12688.00000, extent = 0.67178, type = C + area = 12147.00000, perimeter = 436.07001, major_axis_length = 177.55022, minor_axis_length = 88.56141, eccentricity = 0.86672, convex_area = 12421.00000, extent = 0.68705, type = O + area = 11881.00000, perimeter = 424.26801, major_axis_length = 171.05518, minor_axis_length = 89.53734, eccentricity = 0.85206, convex_area = 12060.00000, extent = 0.77255, type = O + area = 14031.00000, perimeter = 494.26501, major_axis_length = 213.70952, minor_axis_length = 84.46609, eccentricity = 0.91858, convex_area = 14265.00000, extent = 0.73886, type = C + area = 14493.00000, perimeter = 487.33600, major_axis_length = 205.80229, minor_axis_length = 90.53880, eccentricity = 0.89803, convex_area = 14835.00000, extent = 0.75579, type = C + area = 12148.00000, perimeter = 440.62000, major_axis_length = 184.95331, minor_axis_length = 84.69785, eccentricity = 0.88898, convex_area = 12328.00000, extent = 0.63429, type = O + area = 15321.00000, perimeter = 513.00702, major_axis_length = 218.71196, minor_axis_length = 90.26067, eccentricity = 0.91087, convex_area = 15646.00000, extent = 0.71188, type = C + area = 12608.00000, perimeter = 440.12500, major_axis_length = 174.60252, minor_axis_length = 93.52520, eccentricity = 0.84444, convex_area = 12835.00000, extent = 0.63103, type = O + area = 12244.00000, perimeter = 455.27499, major_axis_length = 192.50739, minor_axis_length = 81.42862, eccentricity = 0.90613, convex_area = 12480.00000, extent = 0.57524, type = C + area = 16030.00000, perimeter = 512.85303, major_axis_length = 210.24748, minor_axis_length = 97.63129, eccentricity = 0.88564, convex_area = 16306.00000, extent = 0.59780, type = C + area = 12532.00000, perimeter = 454.06699, major_axis_length = 186.86259, minor_axis_length = 87.04253, eccentricity = 0.88488, convex_area = 12888.00000, extent = 0.63073, type = O + area = 15694.00000, perimeter = 506.50601, major_axis_length = 211.83493, minor_axis_length = 96.02247, eccentricity = 0.89136, convex_area = 16010.00000, extent = 0.57654, type = C + area = 14413.00000, perimeter = 502.04999, major_axis_length = 211.99164, minor_axis_length = 88.64777, eccentricity = 0.90837, convex_area = 14826.00000, extent = 0.57608, type = C + area = 13006.00000, perimeter = 486.70700, major_axis_length = 213.12805, minor_axis_length = 78.45641, eccentricity = 0.92978, convex_area = 13399.00000, extent = 0.62245, type = C + area = 11221.00000, perimeter = 418.56100, major_axis_length = 168.14250, minor_axis_length = 85.76485, eccentricity = 0.86013, convex_area = 11455.00000, extent = 0.76772, type = O + area = 11797.00000, perimeter = 451.95999, major_axis_length = 195.59366, minor_axis_length = 77.40121, eccentricity = 0.91837, convex_area = 11988.00000, extent = 0.57015, type = C + area = 14713.00000, perimeter = 493.21201, major_axis_length = 206.91612, minor_axis_length = 91.64847, eccentricity = 0.89656, convex_area = 15162.00000, extent = 0.59403, type = C + area = 11321.00000, perimeter = 424.57599, major_axis_length = 173.99763, minor_axis_length = 84.73989, eccentricity = 0.87339, convex_area = 11631.00000, extent = 0.62190, type = O + area = 12364.00000, perimeter = 442.85501, major_axis_length = 175.35739, minor_axis_length = 91.60603, eccentricity = 0.85270, convex_area = 12679.00000, extent = 0.61789, type = O + area = 15077.00000, perimeter = 504.63699, major_axis_length = 212.94246, minor_axis_length = 91.21267, eccentricity = 0.90362, convex_area = 15404.00000, extent = 0.78649, type = C + area = 11667.00000, perimeter = 447.52499, major_axis_length = 186.67125, minor_axis_length = 80.84287, eccentricity = 0.90136, convex_area = 12039.00000, extent = 0.66730, type = C + area = 12225.00000, perimeter = 436.48401, major_axis_length = 172.72522, minor_axis_length = 91.47328, eccentricity = 0.84825, convex_area = 12537.00000, extent = 0.64611, type = O + area = 12220.00000, perimeter = 465.68600, major_axis_length = 200.17416, minor_axis_length = 79.04185, eccentricity = 0.91874, convex_area = 12588.00000, extent = 0.57438, type = C + area = 12734.00000, perimeter = 466.30600, major_axis_length = 198.72568, minor_axis_length = 82.28809, eccentricity = 0.91024, convex_area = 13021.00000, extent = 0.63495, type = O + area = 14061.00000, perimeter = 470.74899, major_axis_length = 190.29001, minor_axis_length = 95.00540, eccentricity = 0.86645, convex_area = 14347.00000, extent = 0.61801, type = C + area = 10534.00000, perimeter = 423.62100, major_axis_length = 176.34372, minor_axis_length = 77.70800, eccentricity = 0.89767, convex_area = 10826.00000, extent = 0.80424, type = O + area = 14621.00000, perimeter = 501.82501, major_axis_length = 210.91649, minor_axis_length = 89.62993, eccentricity = 0.90521, convex_area = 15175.00000, extent = 0.68908, type = C + area = 13513.00000, perimeter = 473.10300, major_axis_length = 196.27908, minor_axis_length = 89.51603, eccentricity = 0.88995, convex_area = 13867.00000, extent = 0.74939, type = C + area = 12625.00000, perimeter = 445.92801, major_axis_length = 181.65076, minor_axis_length = 89.60036, eccentricity = 0.86988, convex_area = 12905.00000, extent = 0.65144, type = O + area = 14640.00000, perimeter = 501.32401, major_axis_length = 210.29160, minor_axis_length = 90.33173, eccentricity = 0.90304, convex_area = 15119.00000, extent = 0.58654, type = C + area = 12071.00000, perimeter = 438.70001, major_axis_length = 178.78461, minor_axis_length = 87.50312, eccentricity = 0.87204, convex_area = 12437.00000, extent = 0.64537, type = O + area = 17048.00000, perimeter = 525.53802, major_axis_length = 219.48859, minor_axis_length = 99.73430, eccentricity = 0.89080, convex_area = 17318.00000, extent = 0.69233, type = C + area = 15191.00000, perimeter = 501.89200, major_axis_length = 211.72319, minor_axis_length = 92.78571, eccentricity = 0.89886, convex_area = 15492.00000, extent = 0.56838, type = C + area = 11227.00000, perimeter = 427.81100, major_axis_length = 179.55544, minor_axis_length = 80.32018, eccentricity = 0.89437, convex_area = 11430.00000, extent = 0.59270, type = O + area = 10228.00000, perimeter = 403.89099, major_axis_length = 164.95042, minor_axis_length = 79.70547, eccentricity = 0.87551, convex_area = 10475.00000, extent = 0.64977, type = O + area = 16608.00000, perimeter = 516.09198, major_axis_length = 207.67137, minor_axis_length = 103.35088, eccentricity = 0.86737, convex_area = 17111.00000, extent = 0.69676, type = C + area = 10727.00000, perimeter = 425.90201, major_axis_length = 178.71443, minor_axis_length = 77.53144, eccentricity = 0.90100, convex_area = 10960.00000, extent = 0.56434, type = C + area = 14479.00000, perimeter = 475.92499, major_axis_length = 200.55194, minor_axis_length = 92.17806, eccentricity = 0.88811, convex_area = 14696.00000, extent = 0.71143, type = C + area = 15557.00000, perimeter = 509.02200, major_axis_length = 211.93355, minor_axis_length = 94.75860, eccentricity = 0.89448, convex_area = 16075.00000, extent = 0.64312, type = C + area = 14531.00000, perimeter = 492.95801, major_axis_length = 207.62460, minor_axis_length = 90.52267, eccentricity = 0.89995, convex_area = 14913.00000, extent = 0.57125, type = C + area = 12818.00000, perimeter = 439.95200, major_axis_length = 179.20169, minor_axis_length = 91.86772, eccentricity = 0.85860, convex_area = 13005.00000, extent = 0.62582, type = O + area = 11525.00000, perimeter = 433.78101, major_axis_length = 184.42334, minor_axis_length = 80.16663, eccentricity = 0.90058, convex_area = 11697.00000, extent = 0.61271, type = O + area = 12811.00000, perimeter = 453.93701, major_axis_length = 185.72890, minor_axis_length = 89.51059, eccentricity = 0.87620, convex_area = 13112.00000, extent = 0.58508, type = O + area = 14339.00000, perimeter = 492.30801, major_axis_length = 205.77316, minor_axis_length = 90.85659, eccentricity = 0.89724, convex_area = 14818.00000, extent = 0.62747, type = C + area = 11939.00000, perimeter = 437.73300, major_axis_length = 178.89888, minor_axis_length = 86.44242, eccentricity = 0.87551, convex_area = 12204.00000, extent = 0.63900, type = O + area = 13501.00000, perimeter = 472.48300, major_axis_length = 198.07204, minor_axis_length = 87.68961, eccentricity = 0.89666, convex_area = 13787.00000, extent = 0.63403, type = C + area = 13130.00000, perimeter = 463.27802, major_axis_length = 184.31396, minor_axis_length = 91.93474, eccentricity = 0.86672, convex_area = 13485.00000, extent = 0.71038, type = O + area = 14483.00000, perimeter = 512.72101, major_axis_length = 215.76816, minor_axis_length = 86.27912, eccentricity = 0.91657, convex_area = 14912.00000, extent = 0.53229, type = C + area = 9598.00000, perimeter = 397.00000, major_axis_length = 172.00679, minor_axis_length = 72.28365, eccentricity = 0.90741, convex_area = 9766.00000, extent = 0.79685, type = O + area = 13545.00000, perimeter = 482.73599, major_axis_length = 208.80327, minor_axis_length = 83.30515, eccentricity = 0.91697, convex_area = 13759.00000, extent = 0.53255, type = C + area = 11492.00000, perimeter = 419.29700, major_axis_length = 165.42955, minor_axis_length = 89.53146, eccentricity = 0.84089, convex_area = 11747.00000, extent = 0.78734, type = O + area = 14421.00000, perimeter = 507.80499, major_axis_length = 213.88568, minor_axis_length = 86.87624, eccentricity = 0.91379, convex_area = 14881.00000, extent = 0.65094, type = C + area = 12817.00000, perimeter = 460.55200, major_axis_length = 191.18788, minor_axis_length = 86.31359, eccentricity = 0.89229, convex_area = 13132.00000, extent = 0.60233, type = C + area = 10781.00000, perimeter = 414.95499, major_axis_length = 169.73618, minor_axis_length = 82.24104, eccentricity = 0.87478, convex_area = 11069.00000, extent = 0.69934, type = O + area = 10941.00000, perimeter = 423.40799, major_axis_length = 172.85109, minor_axis_length = 81.42479, eccentricity = 0.88210, convex_area = 11248.00000, extent = 0.62952, type = O + area = 11792.00000, perimeter = 427.78299, major_axis_length = 180.87175, minor_axis_length = 83.27078, eccentricity = 0.88772, convex_area = 11923.00000, extent = 0.71832, type = O + area = 14988.00000, perimeter = 491.70700, major_axis_length = 205.06067, minor_axis_length = 94.85704, eccentricity = 0.88658, convex_area = 15270.00000, extent = 0.58201, type = C + area = 10587.00000, perimeter = 399.63501, major_axis_length = 166.36543, minor_axis_length = 81.32897, eccentricity = 0.87236, convex_area = 10723.00000, extent = 0.63735, type = O + area = 12331.00000, perimeter = 431.36401, major_axis_length = 177.13048, minor_axis_length = 89.42496, eccentricity = 0.86320, convex_area = 12502.00000, extent = 0.74779, type = O + area = 11264.00000, perimeter = 423.39099, major_axis_length = 172.13951, minor_axis_length = 84.22161, eccentricity = 0.87214, convex_area = 11476.00000, extent = 0.73243, type = O + area = 11380.00000, perimeter = 423.61499, major_axis_length = 172.17389, minor_axis_length = 85.65730, eccentricity = 0.86746, convex_area = 11620.00000, extent = 0.67317, type = O + area = 12894.00000, perimeter = 480.08499, major_axis_length = 192.82175, minor_axis_length = 85.92984, eccentricity = 0.89521, convex_area = 13141.00000, extent = 0.62263, type = O + area = 11447.00000, perimeter = 419.62000, major_axis_length = 163.92053, minor_axis_length = 91.27415, eccentricity = 0.83063, convex_area = 11831.00000, extent = 0.73298, type = O + area = 12223.00000, perimeter = 445.43900, major_axis_length = 185.02908, minor_axis_length = 85.37151, eccentricity = 0.88719, convex_area = 12460.00000, extent = 0.79603, type = C + area = 12103.00000, perimeter = 439.21799, major_axis_length = 181.98512, minor_axis_length = 85.55490, eccentricity = 0.88260, convex_area = 12339.00000, extent = 0.59928, type = O + area = 13468.00000, perimeter = 470.76300, major_axis_length = 194.47350, minor_axis_length = 89.74107, eccentricity = 0.88716, convex_area = 14022.00000, extent = 0.69184, type = C + area = 10989.00000, perimeter = 431.12399, major_axis_length = 180.48004, minor_axis_length = 78.81408, eccentricity = 0.89961, convex_area = 11268.00000, extent = 0.68596, type = O + area = 14146.00000, perimeter = 504.35599, major_axis_length = 214.06288, minor_axis_length = 85.74496, eccentricity = 0.91627, convex_area = 14716.00000, extent = 0.62527, type = C + area = 14944.00000, perimeter = 512.13702, major_axis_length = 227.41626, minor_axis_length = 84.24711, eccentricity = 0.92885, convex_area = 15147.00000, extent = 0.81235, type = C + area = 13652.00000, perimeter = 486.62799, major_axis_length = 210.34523, minor_axis_length = 83.29913, eccentricity = 0.91825, convex_area = 13950.00000, extent = 0.57980, type = C + area = 12473.00000, perimeter = 470.34000, major_axis_length = 202.44283, minor_axis_length = 79.02430, eccentricity = 0.92066, convex_area = 12806.00000, extent = 0.52598, type = C + area = 11340.00000, perimeter = 420.92099, major_axis_length = 169.63531, minor_axis_length = 86.17672, eccentricity = 0.86135, convex_area = 11639.00000, extent = 0.63063, type = O + area = 12888.00000, perimeter = 467.19800, major_axis_length = 199.15642, minor_axis_length = 83.28893, eccentricity = 0.90835, convex_area = 13222.00000, extent = 0.72584, type = C + area = 11808.00000, perimeter = 431.45700, major_axis_length = 176.30458, minor_axis_length = 85.55895, eccentricity = 0.87435, convex_area = 12006.00000, extent = 0.61835, type = O + area = 10311.00000, perimeter = 408.34000, major_axis_length = 168.20569, minor_axis_length = 79.92364, eccentricity = 0.87990, convex_area = 10593.00000, extent = 0.65350, type = O + area = 13848.00000, perimeter = 475.59000, major_axis_length = 196.22556, minor_axis_length = 90.74702, eccentricity = 0.88664, convex_area = 14260.00000, extent = 0.58638, type = C + area = 10516.00000, perimeter = 423.39999, major_axis_length = 175.92067, minor_axis_length = 77.73805, eccentricity = 0.89707, convex_area = 10787.00000, extent = 0.63687, type = O + area = 12714.00000, perimeter = 461.89001, major_axis_length = 196.56032, minor_axis_length = 83.11240, eccentricity = 0.90621, convex_area = 12900.00000, extent = 0.64141, type = C + area = 13582.00000, perimeter = 476.66599, major_axis_length = 199.45189, minor_axis_length = 88.40870, eccentricity = 0.89639, convex_area = 13825.00000, extent = 0.56900, type = C + area = 13169.00000, perimeter = 474.83701, major_axis_length = 201.38011, minor_axis_length = 84.48709, eccentricity = 0.90774, convex_area = 13505.00000, extent = 0.54711, type = C + area = 14656.00000, perimeter = 494.31100, major_axis_length = 206.02007, minor_axis_length = 91.73097, eccentricity = 0.89540, convex_area = 15072.00000, extent = 0.61544, type = C + area = 15856.00000, perimeter = 509.01999, major_axis_length = 210.16438, minor_axis_length = 97.76022, eccentricity = 0.88523, convex_area = 16160.00000, extent = 0.76267, type = C + area = 12927.00000, perimeter = 453.01501, major_axis_length = 184.32379, minor_axis_length = 89.86131, eccentricity = 0.87311, convex_area = 13196.00000, extent = 0.73692, type = C + area = 10803.00000, perimeter = 411.31000, major_axis_length = 165.22313, minor_axis_length = 84.78220, eccentricity = 0.85831, convex_area = 11098.00000, extent = 0.64307, type = O + area = 15118.00000, perimeter = 514.96698, major_axis_length = 224.18660, minor_axis_length = 87.69224, eccentricity = 0.92032, convex_area = 15454.00000, extent = 0.65412, type = C + area = 11546.00000, perimeter = 429.52399, major_axis_length = 175.65869, minor_axis_length = 84.90682, eccentricity = 0.87542, convex_area = 11757.00000, extent = 0.60631, type = O + area = 10600.00000, perimeter = 429.51099, major_axis_length = 182.30606, minor_axis_length = 75.09999, eccentricity = 0.91121, convex_area = 10829.00000, extent = 0.72217, type = O + area = 16523.00000, perimeter = 531.89203, major_axis_length = 224.99542, minor_axis_length = 94.41770, eccentricity = 0.90769, convex_area = 16911.00000, extent = 0.57704, type = C + area = 16862.00000, perimeter = 519.47101, major_axis_length = 219.65996, minor_axis_length = 98.39157, eccentricity = 0.89407, convex_area = 17104.00000, extent = 0.61227, type = C + area = 12432.00000, perimeter = 446.48801, major_axis_length = 183.41528, minor_axis_length = 87.73010, eccentricity = 0.87819, convex_area = 12677.00000, extent = 0.58730, type = O + area = 13848.00000, perimeter = 492.91000, major_axis_length = 207.01457, minor_axis_length = 86.98444, eccentricity = 0.90744, convex_area = 14383.00000, extent = 0.66879, type = C + area = 10785.00000, perimeter = 437.88400, major_axis_length = 181.26581, minor_axis_length = 77.65930, eccentricity = 0.90358, convex_area = 11209.00000, extent = 0.55014, type = C + area = 13117.00000, perimeter = 460.57401, major_axis_length = 192.40407, minor_axis_length = 87.62899, eccentricity = 0.89027, convex_area = 13575.00000, extent = 0.78451, type = C + area = 12161.00000, perimeter = 430.58701, major_axis_length = 171.62476, minor_axis_length = 92.09138, eccentricity = 0.84385, convex_area = 12460.00000, extent = 0.68870, type = O + area = 12346.00000, perimeter = 456.90500, major_axis_length = 193.61288, minor_axis_length = 82.03561, eccentricity = 0.90580, convex_area = 12529.00000, extent = 0.58673, type = C + area = 10852.00000, perimeter = 412.64001, major_axis_length = 168.35570, minor_axis_length = 83.54549, eccentricity = 0.86818, convex_area = 11028.00000, extent = 0.77848, type = O + area = 14013.00000, perimeter = 478.27701, major_axis_length = 194.78256, minor_axis_length = 92.95033, eccentricity = 0.87879, convex_area = 14374.00000, extent = 0.60401, type = C + area = 14558.00000, perimeter = 496.30499, major_axis_length = 204.36063, minor_axis_length = 91.95660, eccentricity = 0.89304, convex_area = 14908.00000, extent = 0.56947, type = C + area = 12291.00000, perimeter = 440.95700, major_axis_length = 186.18777, minor_axis_length = 84.68074, eccentricity = 0.89059, convex_area = 12476.00000, extent = 0.73017, type = C + area = 10151.00000, perimeter = 420.89999, major_axis_length = 181.99557, minor_axis_length = 72.09951, eccentricity = 0.91818, convex_area = 10407.00000, extent = 0.52163, type = O + area = 12990.00000, perimeter = 469.48001, major_axis_length = 200.51541, minor_axis_length = 83.43035, eccentricity = 0.90933, convex_area = 13214.00000, extent = 0.70121, type = C + area = 15275.00000, perimeter = 509.85501, major_axis_length = 217.55469, minor_axis_length = 90.18382, eccentricity = 0.91003, convex_area = 15582.00000, extent = 0.66761, type = C + area = 11483.00000, perimeter = 437.02499, major_axis_length = 185.75238, minor_axis_length = 79.08173, eccentricity = 0.90485, convex_area = 11665.00000, extent = 0.57507, type = O + area = 9802.00000, perimeter = 396.81601, major_axis_length = 166.89021, minor_axis_length = 75.11701, eccentricity = 0.89298, convex_area = 9948.00000, extent = 0.57118, type = O + area = 11658.00000, perimeter = 443.26099, major_axis_length = 179.81419, minor_axis_length = 83.87640, eccentricity = 0.88454, convex_area = 12024.00000, extent = 0.59310, type = O + area = 10583.00000, perimeter = 401.31000, major_axis_length = 164.73561, minor_axis_length = 82.48628, eccentricity = 0.86561, convex_area = 10769.00000, extent = 0.72348, type = O + area = 14619.00000, perimeter = 493.52399, major_axis_length = 209.53288, minor_axis_length = 89.80801, eccentricity = 0.90349, convex_area = 14973.00000, extent = 0.61231, type = C + area = 15607.00000, perimeter = 505.90302, major_axis_length = 208.01102, minor_axis_length = 96.88904, eccentricity = 0.88490, convex_area = 16030.00000, extent = 0.72500, type = C + area = 10727.00000, perimeter = 420.36499, major_axis_length = 174.38452, minor_axis_length = 79.60275, eccentricity = 0.88973, convex_area = 11009.00000, extent = 0.67061, type = O + area = 12538.00000, perimeter = 452.66000, major_axis_length = 188.80528, minor_axis_length = 86.10972, eccentricity = 0.88994, convex_area = 12846.00000, extent = 0.68416, type = O + area = 11869.00000, perimeter = 434.25201, major_axis_length = 177.87265, minor_axis_length = 86.16555, eccentricity = 0.87483, convex_area = 12144.00000, extent = 0.62151, type = O + area = 11860.00000, perimeter = 432.05899, major_axis_length = 174.31383, minor_axis_length = 88.15498, eccentricity = 0.86269, convex_area = 12140.00000, extent = 0.71086, type = O + area = 11451.00000, perimeter = 426.24701, major_axis_length = 176.12180, minor_axis_length = 84.35532, eccentricity = 0.87784, convex_area = 11666.00000, extent = 0.60848, type = O + area = 12735.00000, perimeter = 473.05099, major_axis_length = 200.68445, minor_axis_length = 81.73118, eccentricity = 0.91331, convex_area = 13140.00000, extent = 0.53761, type = C + area = 13840.00000, perimeter = 476.90100, major_axis_length = 201.62569, minor_axis_length = 88.24250, eccentricity = 0.89914, convex_area = 14205.00000, extent = 0.63058, type = C + area = 14064.00000, perimeter = 488.94800, major_axis_length = 206.93329, minor_axis_length = 87.47862, eccentricity = 0.90625, convex_area = 14315.00000, extent = 0.75858, type = C + area = 15144.00000, perimeter = 503.32401, major_axis_length = 212.19539, minor_axis_length = 91.77615, eccentricity = 0.90163, convex_area = 15469.00000, extent = 0.62786, type = C + area = 17564.00000, perimeter = 527.11603, major_axis_length = 221.60294, minor_axis_length = 101.65880, eccentricity = 0.88857, convex_area = 17808.00000, extent = 0.77116, type = C + area = 14806.00000, perimeter = 481.91199, major_axis_length = 198.24391, minor_axis_length = 95.78670, eccentricity = 0.87552, convex_area = 15162.00000, extent = 0.70104, type = C + area = 13484.00000, perimeter = 480.78601, major_axis_length = 204.20760, minor_axis_length = 84.90129, eccentricity = 0.90947, convex_area = 13827.00000, extent = 0.65856, type = C + area = 14831.00000, perimeter = 493.76099, major_axis_length = 208.26854, minor_axis_length = 91.54232, eccentricity = 0.89822, convex_area = 15099.00000, extent = 0.79023, type = C + area = 13746.00000, perimeter = 483.82001, major_axis_length = 205.84219, minor_axis_length = 86.18869, eccentricity = 0.90812, convex_area = 14060.00000, extent = 0.71594, type = C + area = 11867.00000, perimeter = 431.94299, major_axis_length = 178.59091, minor_axis_length = 85.77666, eccentricity = 0.87711, convex_area = 12126.00000, extent = 0.64035, type = O + area = 12627.00000, perimeter = 453.51901, major_axis_length = 191.81189, minor_axis_length = 84.54082, eccentricity = 0.89763, convex_area = 12830.00000, extent = 0.72611, type = O + area = 13549.00000, perimeter = 464.00500, major_axis_length = 189.97266, minor_axis_length = 91.63721, eccentricity = 0.87597, convex_area = 13772.00000, extent = 0.73933, type = O + area = 15143.00000, perimeter = 504.14001, major_axis_length = 207.73418, minor_axis_length = 94.14838, eccentricity = 0.89140, convex_area = 15628.00000, extent = 0.57133, type = C + area = 15655.00000, perimeter = 488.90302, major_axis_length = 199.55669, minor_axis_length = 101.02621, eccentricity = 0.86238, convex_area = 15880.00000, extent = 0.63375, type = C + area = 9669.00000, perimeter = 388.60699, major_axis_length = 151.43846, minor_axis_length = 83.59090, eccentricity = 0.83386, convex_area = 10012.00000, extent = 0.73389, type = O + area = 12622.00000, perimeter = 458.27499, major_axis_length = 189.69633, minor_axis_length = 86.54059, eccentricity = 0.88987, convex_area = 13019.00000, extent = 0.76441, type = O + area = 12577.00000, perimeter = 443.14600, major_axis_length = 181.53055, minor_axis_length = 89.81944, eccentricity = 0.86901, convex_area = 12826.00000, extent = 0.60557, type = O + area = 15833.00000, perimeter = 530.33502, major_axis_length = 225.22339, minor_axis_length = 91.51106, eccentricity = 0.91373, convex_area = 16337.00000, extent = 0.58641, type = C + area = 11116.00000, perimeter = 419.71399, major_axis_length = 173.07706, minor_axis_length = 82.31734, eccentricity = 0.87966, convex_area = 11335.00000, extent = 0.60165, type = O + area = 13683.00000, perimeter = 461.56799, major_axis_length = 189.24533, minor_axis_length = 93.11317, eccentricity = 0.87058, convex_area = 13944.00000, extent = 0.62651, type = O + area = 10826.00000, perimeter = 414.22299, major_axis_length = 168.25279, minor_axis_length = 82.88859, eccentricity = 0.87023, convex_area = 11040.00000, extent = 0.61550, type = O + area = 11437.00000, perimeter = 430.61200, major_axis_length = 184.13446, minor_axis_length = 79.24054, eccentricity = 0.90267, convex_area = 11587.00000, extent = 0.68794, type = O + area = 11992.00000, perimeter = 431.15701, major_axis_length = 173.30000, minor_axis_length = 89.58514, eccentricity = 0.85602, convex_area = 12274.00000, extent = 0.77020, type = O + area = 11987.00000, perimeter = 440.78400, major_axis_length = 180.04774, minor_axis_length = 86.14135, eccentricity = 0.87812, convex_area = 12299.00000, extent = 0.68796, type = O + area = 12700.00000, perimeter = 452.42801, major_axis_length = 185.61023, minor_axis_length = 88.25030, eccentricity = 0.87974, convex_area = 12910.00000, extent = 0.68075, type = O + area = 15778.00000, perimeter = 515.27301, major_axis_length = 214.03784, minor_axis_length = 95.49767, eccentricity = 0.89495, convex_area = 16283.00000, extent = 0.68630, type = C + area = 14017.00000, perimeter = 474.31000, major_axis_length = 198.33673, minor_axis_length = 90.86869, eccentricity = 0.88887, convex_area = 14320.00000, extent = 0.76055, type = C + area = 10889.00000, perimeter = 409.01700, major_axis_length = 165.91946, minor_axis_length = 84.85235, eccentricity = 0.85934, convex_area = 11123.00000, extent = 0.80480, type = O + area = 11816.00000, perimeter = 446.10001, major_axis_length = 187.14316, minor_axis_length = 81.82019, eccentricity = 0.89936, convex_area = 12069.00000, extent = 0.74671, type = O + area = 12331.00000, perimeter = 441.44000, major_axis_length = 175.60992, minor_axis_length = 90.82543, eccentricity = 0.85586, convex_area = 12617.00000, extent = 0.61940, type = O + area = 14041.00000, perimeter = 481.94800, major_axis_length = 204.59848, minor_axis_length = 88.18790, eccentricity = 0.90234, convex_area = 14284.00000, extent = 0.57231, type = C + area = 13066.00000, perimeter = 478.00201, major_axis_length = 207.51675, minor_axis_length = 80.51567, eccentricity = 0.92166, convex_area = 13348.00000, extent = 0.55780, type = C + area = 11771.00000, perimeter = 430.47000, major_axis_length = 181.30299, minor_axis_length = 83.21957, eccentricity = 0.88843, convex_area = 11919.00000, extent = 0.79674, type = O + area = 13115.00000, perimeter = 461.03601, major_axis_length = 195.01874, minor_axis_length = 86.78284, eccentricity = 0.89553, convex_area = 13381.00000, extent = 0.73846, type = C + area = 14547.00000, perimeter = 491.04401, major_axis_length = 206.65707, minor_axis_length = 90.17514, eccentricity = 0.89978, convex_area = 14780.00000, extent = 0.59322, type = C + area = 15953.00000, perimeter = 522.18597, major_axis_length = 220.75523, minor_axis_length = 93.04210, eccentricity = 0.90684, convex_area = 16307.00000, extent = 0.78936, type = C + area = 12720.00000, perimeter = 472.23401, major_axis_length = 201.64085, minor_axis_length = 82.22842, eccentricity = 0.91307, convex_area = 13352.00000, extent = 0.74508, type = C + area = 14379.00000, perimeter = 494.30301, major_axis_length = 205.52626, minor_axis_length = 90.39722, eccentricity = 0.89808, convex_area = 14768.00000, extent = 0.57886, type = C + area = 11342.00000, perimeter = 440.19901, major_axis_length = 188.07085, minor_axis_length = 77.18611, eccentricity = 0.91190, convex_area = 11532.00000, extent = 0.57856, type = O + area = 14712.00000, perimeter = 503.71100, major_axis_length = 217.60973, minor_axis_length = 87.28523, eccentricity = 0.91603, convex_area = 15109.00000, extent = 0.80314, type = C + area = 12190.00000, perimeter = 441.78500, major_axis_length = 178.55238, minor_axis_length = 87.93262, eccentricity = 0.87033, convex_area = 12478.00000, extent = 0.65020, type = O + area = 12444.00000, perimeter = 445.87201, major_axis_length = 183.35057, minor_axis_length = 87.90731, eccentricity = 0.87757, convex_area = 12630.00000, extent = 0.60455, type = O + area = 14890.00000, perimeter = 502.54099, major_axis_length = 206.22853, minor_axis_length = 93.45731, eccentricity = 0.89142, convex_area = 15349.00000, extent = 0.58982, type = C + area = 15595.00000, perimeter = 501.49399, major_axis_length = 207.89095, minor_axis_length = 96.88516, eccentricity = 0.88476, convex_area = 16030.00000, extent = 0.76842, type = C + area = 11975.00000, perimeter = 458.90201, major_axis_length = 199.04269, minor_axis_length = 78.03677, eccentricity = 0.91994, convex_area = 12288.00000, extent = 0.79983, type = C + area = 12193.00000, perimeter = 433.95700, major_axis_length = 170.47278, minor_axis_length = 92.65318, eccentricity = 0.83940, convex_area = 12558.00000, extent = 0.62467, type = O + area = 14686.00000, perimeter = 490.40601, major_axis_length = 203.03380, minor_axis_length = 93.82804, eccentricity = 0.88681, convex_area = 15065.00000, extent = 0.61468, type = C + area = 10574.00000, perimeter = 398.68100, major_axis_length = 157.80840, minor_axis_length = 86.85959, eccentricity = 0.83489, convex_area = 10829.00000, extent = 0.69356, type = O + area = 11898.00000, perimeter = 453.98001, major_axis_length = 195.36005, minor_axis_length = 78.36910, eccentricity = 0.91601, convex_area = 12134.00000, extent = 0.54804, type = C + area = 11962.00000, perimeter = 440.54501, major_axis_length = 181.72340, minor_axis_length = 85.19718, eccentricity = 0.88329, convex_area = 12283.00000, extent = 0.62286, type = O + area = 15322.00000, perimeter = 506.39801, major_axis_length = 217.86375, minor_axis_length = 90.17707, eccentricity = 0.91032, convex_area = 15531.00000, extent = 0.81362, type = C + area = 10559.00000, perimeter = 424.84698, major_axis_length = 179.20773, minor_axis_length = 76.38802, eccentricity = 0.90460, convex_area = 10770.00000, extent = 0.67033, type = O + area = 13954.00000, perimeter = 481.28799, major_axis_length = 204.77745, minor_axis_length = 87.50462, eccentricity = 0.90410, convex_area = 14277.00000, extent = 0.58113, type = C + area = 12075.00000, perimeter = 430.47101, major_axis_length = 176.18282, minor_axis_length = 88.51406, eccentricity = 0.86464, convex_area = 12248.00000, extent = 0.80233, type = O + area = 9967.00000, perimeter = 400.21899, major_axis_length = 167.23888, minor_axis_length = 76.96323, eccentricity = 0.88782, convex_area = 10128.00000, extent = 0.66464, type = O + area = 13215.00000, perimeter = 479.60999, major_axis_length = 207.88800, minor_axis_length = 81.67606, eccentricity = 0.91959, convex_area = 13462.00000, extent = 0.53667, type = C + area = 15140.00000, perimeter = 502.55301, major_axis_length = 213.89561, minor_axis_length = 90.89738, eccentricity = 0.90521, convex_area = 15491.00000, extent = 0.75821, type = C + area = 12234.00000, perimeter = 440.00000, major_axis_length = 178.69653, minor_axis_length = 88.44730, eccentricity = 0.86892, convex_area = 12435.00000, extent = 0.62412, type = O + area = 14622.00000, perimeter = 481.61600, major_axis_length = 200.05356, minor_axis_length = 94.38364, eccentricity = 0.88171, convex_area = 14845.00000, extent = 0.60895, type = C + area = 16024.00000, perimeter = 527.42102, major_axis_length = 226.26277, minor_axis_length = 91.60111, eccentricity = 0.91439, convex_area = 16355.00000, extent = 0.53569, type = C + area = 10879.00000, perimeter = 427.13599, major_axis_length = 179.45078, minor_axis_length = 78.29278, eccentricity = 0.89981, convex_area = 11110.00000, extent = 0.73547, type = O + area = 12089.00000, perimeter = 439.49200, major_axis_length = 183.57666, minor_axis_length = 84.69468, eccentricity = 0.88721, convex_area = 12302.00000, extent = 0.81451, type = C + area = 11691.00000, perimeter = 426.28000, major_axis_length = 176.18996, minor_axis_length = 85.12367, eccentricity = 0.87555, convex_area = 11908.00000, extent = 0.61824, type = O + area = 12886.00000, perimeter = 455.51801, major_axis_length = 189.85989, minor_axis_length = 87.49918, eccentricity = 0.88747, convex_area = 13080.00000, extent = 0.59230, type = C + area = 12716.00000, perimeter = 444.10800, major_axis_length = 186.89639, minor_axis_length = 87.27814, eccentricity = 0.88426, convex_area = 12872.00000, extent = 0.74738, type = C + area = 11730.00000, perimeter = 429.82199, major_axis_length = 176.97292, minor_axis_length = 85.21745, eccentricity = 0.87643, convex_area = 11900.00000, extent = 0.59513, type = O + area = 14404.00000, perimeter = 486.48401, major_axis_length = 206.77576, minor_axis_length = 89.47427, eccentricity = 0.90153, convex_area = 14658.00000, extent = 0.79457, type = C + area = 11973.00000, perimeter = 436.18301, major_axis_length = 177.13417, minor_axis_length = 87.45832, eccentricity = 0.86961, convex_area = 12197.00000, extent = 0.59889, type = O + area = 12182.00000, perimeter = 433.83701, major_axis_length = 180.61372, minor_axis_length = 86.60644, eccentricity = 0.87754, convex_area = 12341.00000, extent = 0.77791, type = O + area = 11771.00000, perimeter = 441.85999, major_axis_length = 186.99777, minor_axis_length = 81.26962, eccentricity = 0.90062, convex_area = 12109.00000, extent = 0.61927, type = C + area = 12549.00000, perimeter = 448.84799, major_axis_length = 175.84604, minor_axis_length = 92.87819, eccentricity = 0.84913, convex_area = 12989.00000, extent = 0.66499, type = O + area = 15238.00000, perimeter = 506.11499, major_axis_length = 218.36040, minor_axis_length = 89.61969, eccentricity = 0.91190, convex_area = 15529.00000, extent = 0.54722, type = C + area = 12193.00000, perimeter = 436.28500, major_axis_length = 182.62729, minor_axis_length = 85.25561, eccentricity = 0.88435, convex_area = 12336.00000, extent = 0.68308, type = O + area = 13053.00000, perimeter = 480.95099, major_axis_length = 205.95242, minor_axis_length = 81.65559, eccentricity = 0.91804, convex_area = 13478.00000, extent = 0.68358, type = C + area = 14011.00000, perimeter = 493.87900, major_axis_length = 212.63031, minor_axis_length = 85.02821, eccentricity = 0.91656, convex_area = 14336.00000, extent = 0.62799, type = C + area = 12635.00000, perimeter = 439.08301, major_axis_length = 171.22871, minor_axis_length = 94.81418, eccentricity = 0.83270, convex_area = 12929.00000, extent = 0.63112, type = O + area = 13814.00000, perimeter = 481.41599, major_axis_length = 203.06235, minor_axis_length = 87.31848, eccentricity = 0.90282, convex_area = 14112.00000, extent = 0.63747, type = C + area = 11732.00000, perimeter = 433.86401, major_axis_length = 173.95808, minor_axis_length = 86.97466, eccentricity = 0.86604, convex_area = 12054.00000, extent = 0.62960, type = O + area = 11016.00000, perimeter = 416.89700, major_axis_length = 174.62755, minor_axis_length = 81.19022, eccentricity = 0.88535, convex_area = 11149.00000, extent = 0.58696, type = O + area = 13789.00000, perimeter = 494.38000, major_axis_length = 216.91551, minor_axis_length = 82.15645, eccentricity = 0.92550, convex_area = 14109.00000, extent = 0.53274, type = C + area = 13404.00000, perimeter = 476.20599, major_axis_length = 203.31157, minor_axis_length = 84.62199, eccentricity = 0.90926, convex_area = 13751.00000, extent = 0.63466, type = C + area = 13269.00000, perimeter = 491.89301, major_axis_length = 212.57471, minor_axis_length = 81.06411, eccentricity = 0.92443, convex_area = 13728.00000, extent = 0.65095, type = C + area = 12267.00000, perimeter = 454.02499, major_axis_length = 190.67360, minor_axis_length = 83.01829, eccentricity = 0.90024, convex_area = 12673.00000, extent = 0.65167, type = C + area = 12682.00000, perimeter = 459.96500, major_axis_length = 195.43550, minor_axis_length = 83.60432, eccentricity = 0.90388, convex_area = 12892.00000, extent = 0.58281, type = C + area = 14263.00000, perimeter = 490.75101, major_axis_length = 203.77844, minor_axis_length = 90.26588, eccentricity = 0.89654, convex_area = 14779.00000, extent = 0.73155, type = C + area = 14954.00000, perimeter = 501.85699, major_axis_length = 212.03777, minor_axis_length = 90.79552, eccentricity = 0.90368, convex_area = 15225.00000, extent = 0.81462, type = C + area = 13846.00000, perimeter = 479.58701, major_axis_length = 197.00459, minor_axis_length = 90.91550, eccentricity = 0.88715, convex_area = 14200.00000, extent = 0.71756, type = C + area = 15786.00000, perimeter = 500.86099, major_axis_length = 205.46724, minor_axis_length = 98.81665, eccentricity = 0.87676, convex_area = 16127.00000, extent = 0.61091, type = C + area = 10536.00000, perimeter = 397.49899, major_axis_length = 160.96791, minor_axis_length = 83.69868, eccentricity = 0.85418, convex_area = 10711.00000, extent = 0.67538, type = O + area = 14969.00000, perimeter = 494.41699, major_axis_length = 207.20992, minor_axis_length = 92.91051, eccentricity = 0.89384, convex_area = 15286.00000, extent = 0.63970, type = C + area = 12219.00000, perimeter = 436.20599, major_axis_length = 179.43591, minor_axis_length = 87.93397, eccentricity = 0.87169, convex_area = 12434.00000, extent = 0.60341, type = O + area = 16944.00000, perimeter = 543.12598, major_axis_length = 236.12521, minor_axis_length = 92.68103, eccentricity = 0.91975, convex_area = 17189.00000, extent = 0.65194, type = C + area = 15868.00000, perimeter = 519.52899, major_axis_length = 219.17892, minor_axis_length = 93.26965, eccentricity = 0.90494, convex_area = 16281.00000, extent = 0.57126, type = C + area = 13062.00000, perimeter = 467.46399, major_axis_length = 197.80243, minor_axis_length = 85.39855, eccentricity = 0.90200, convex_area = 13272.00000, extent = 0.62408, type = C + area = 14878.00000, perimeter = 506.02100, major_axis_length = 212.18158, minor_axis_length = 90.43865, eccentricity = 0.90461, convex_area = 15237.00000, extent = 0.57577, type = C + area = 9441.00000, perimeter = 384.34000, major_axis_length = 164.22638, minor_axis_length = 73.37517, eccentricity = 0.89464, convex_area = 9566.00000, extent = 0.72450, type = O + area = 10474.00000, perimeter = 403.45999, major_axis_length = 167.88440, minor_axis_length = 80.18859, eccentricity = 0.87855, convex_area = 10611.00000, extent = 0.78870, type = O + area = 11907.00000, perimeter = 448.06100, major_axis_length = 188.30240, minor_axis_length = 82.26176, eccentricity = 0.89953, convex_area = 12156.00000, extent = 0.76132, type = O + area = 12950.00000, perimeter = 468.57001, major_axis_length = 196.61679, minor_axis_length = 84.80032, eccentricity = 0.90221, convex_area = 13584.00000, extent = 0.76181, type = C + area = 11470.00000, perimeter = 428.53601, major_axis_length = 177.71078, minor_axis_length = 82.36469, eccentricity = 0.88611, convex_area = 11663.00000, extent = 0.65156, type = O + area = 12587.00000, perimeter = 461.78101, major_axis_length = 193.99495, minor_axis_length = 83.73389, eccentricity = 0.90205, convex_area = 12910.00000, extent = 0.66952, type = O + area = 13049.00000, perimeter = 469.53799, major_axis_length = 196.46617, minor_axis_length = 85.99484, eccentricity = 0.89912, convex_area = 13409.00000, extent = 0.72700, type = O + area = 11787.00000, perimeter = 434.51401, major_axis_length = 181.29047, minor_axis_length = 83.34933, eccentricity = 0.88805, convex_area = 11965.00000, extent = 0.74413, type = O + area = 12602.00000, perimeter = 465.91699, major_axis_length = 194.45514, minor_axis_length = 84.83201, eccentricity = 0.89982, convex_area = 13039.00000, extent = 0.65026, type = C + area = 10541.00000, perimeter = 406.53601, major_axis_length = 162.99107, minor_axis_length = 83.69826, eccentricity = 0.85808, convex_area = 10901.00000, extent = 0.77462, type = O + area = 10803.00000, perimeter = 409.12500, major_axis_length = 169.41493, minor_axis_length = 81.78897, eccentricity = 0.87575, convex_area = 10968.00000, extent = 0.74355, type = O + area = 13742.00000, perimeter = 484.34201, major_axis_length = 195.28494, minor_axis_length = 91.24281, eccentricity = 0.88414, convex_area = 14224.00000, extent = 0.67241, type = O + area = 10761.00000, perimeter = 429.01801, major_axis_length = 183.56711, minor_axis_length = 75.22785, eccentricity = 0.91217, convex_area = 11031.00000, extent = 0.57880, type = C + area = 13637.00000, perimeter = 466.65302, major_axis_length = 193.53421, minor_axis_length = 90.35423, eccentricity = 0.88433, convex_area = 13838.00000, extent = 0.69167, type = C + area = 14966.00000, perimeter = 490.74301, major_axis_length = 207.63942, minor_axis_length = 92.16422, eccentricity = 0.89609, convex_area = 15158.00000, extent = 0.78885, type = C + area = 16412.00000, perimeter = 508.36700, major_axis_length = 210.57486, minor_axis_length = 99.99418, eccentricity = 0.88006, convex_area = 16759.00000, extent = 0.73059, type = C + area = 13494.00000, perimeter = 479.44601, major_axis_length = 203.02734, minor_axis_length = 85.75127, eccentricity = 0.90643, convex_area = 13842.00000, extent = 0.77294, type = C + area = 11850.00000, perimeter = 440.86499, major_axis_length = 178.62244, minor_axis_length = 86.16687, eccentricity = 0.87595, convex_area = 12201.00000, extent = 0.78373, type = O + area = 13352.00000, perimeter = 514.48700, major_axis_length = 232.48021, minor_axis_length = 73.98676, eccentricity = 0.94801, convex_area = 13585.00000, extent = 0.59282, type = C + area = 14115.00000, perimeter = 490.40799, major_axis_length = 207.95955, minor_axis_length = 87.42121, eccentricity = 0.90735, convex_area = 14580.00000, extent = 0.57058, type = C + area = 12442.00000, perimeter = 459.53500, major_axis_length = 187.50885, minor_axis_length = 87.18730, eccentricity = 0.88532, convex_area = 12941.00000, extent = 0.58758, type = C + area = 16254.00000, perimeter = 532.77802, major_axis_length = 223.54863, minor_axis_length = 94.11950, eccentricity = 0.90705, convex_area = 16680.00000, extent = 0.55369, type = C + area = 11639.00000, perimeter = 434.60599, major_axis_length = 178.85333, minor_axis_length = 84.30604, eccentricity = 0.88194, convex_area = 11941.00000, extent = 0.69954, type = O + area = 16454.00000, perimeter = 518.10901, major_axis_length = 217.09853, minor_axis_length = 97.78069, eccentricity = 0.89283, convex_area = 16893.00000, extent = 0.79719, type = C + area = 14897.00000, perimeter = 491.18500, major_axis_length = 205.71985, minor_axis_length = 92.87569, eccentricity = 0.89229, convex_area = 15137.00000, extent = 0.59445, type = C + area = 14096.00000, perimeter = 476.95401, major_axis_length = 198.74219, minor_axis_length = 91.36671, eccentricity = 0.88806, convex_area = 14346.00000, extent = 0.59932, type = C + area = 11496.00000, perimeter = 440.46899, major_axis_length = 185.72256, minor_axis_length = 79.85572, eccentricity = 0.90284, convex_area = 11759.00000, extent = 0.75093, type = O + area = 13621.00000, perimeter = 473.89899, major_axis_length = 198.84587, minor_axis_length = 88.42869, eccentricity = 0.89567, convex_area = 13989.00000, extent = 0.60846, type = C + area = 14060.00000, perimeter = 496.03500, major_axis_length = 211.37552, minor_axis_length = 85.93526, eccentricity = 0.91363, convex_area = 14448.00000, extent = 0.67260, type = C + area = 13635.00000, perimeter = 455.54599, major_axis_length = 189.43158, minor_axis_length = 92.07764, eccentricity = 0.87392, convex_area = 13785.00000, extent = 0.74852, type = O + area = 11944.00000, perimeter = 442.78900, major_axis_length = 182.63704, minor_axis_length = 84.10049, eccentricity = 0.88767, convex_area = 12128.00000, extent = 0.58454, type = O + area = 13320.00000, perimeter = 467.63800, major_axis_length = 200.38208, minor_axis_length = 85.12557, eccentricity = 0.90528, convex_area = 13504.00000, extent = 0.64657, type = O + area = 10736.00000, perimeter = 417.39499, major_axis_length = 178.90367, minor_axis_length = 76.73338, eccentricity = 0.90335, convex_area = 10901.00000, extent = 0.74339, type = O + area = 10951.00000, perimeter = 424.76901, major_axis_length = 179.13132, minor_axis_length = 78.75501, eccentricity = 0.89817, convex_area = 11138.00000, extent = 0.56726, type = O + area = 14253.00000, perimeter = 485.02301, major_axis_length = 202.32994, minor_axis_length = 90.59917, eccentricity = 0.89414, convex_area = 14522.00000, extent = 0.62262, type = C + area = 14811.00000, perimeter = 512.10999, major_axis_length = 217.73833, minor_axis_length = 87.48341, eccentricity = 0.91574, convex_area = 15090.00000, extent = 0.54917, type = C + area = 12899.00000, perimeter = 456.00000, major_axis_length = 184.99937, minor_axis_length = 90.23585, eccentricity = 0.87298, convex_area = 13167.00000, extent = 0.68364, type = O + area = 10297.00000, perimeter = 397.12500, major_axis_length = 160.82759, minor_axis_length = 82.35851, eccentricity = 0.85893, convex_area = 10488.00000, extent = 0.78471, type = O + area = 13277.00000, perimeter = 463.96799, major_axis_length = 193.06090, minor_axis_length = 88.17571, eccentricity = 0.88961, convex_area = 13454.00000, extent = 0.61016, type = C + area = 11119.00000, perimeter = 415.02399, major_axis_length = 171.28151, minor_axis_length = 83.17962, eccentricity = 0.87416, convex_area = 11346.00000, extent = 0.63234, type = O + area = 16283.00000, perimeter = 516.73602, major_axis_length = 217.70950, minor_axis_length = 96.08863, eccentricity = 0.89733, convex_area = 16649.00000, extent = 0.78006, type = C + area = 18913.00000, perimeter = 541.74597, major_axis_length = 227.13548, minor_axis_length = 106.94836, eccentricity = 0.88221, convex_area = 19099.00000, extent = 0.80412, type = C + area = 13574.00000, perimeter = 488.49701, major_axis_length = 210.68631, minor_axis_length = 83.74447, eccentricity = 0.91761, convex_area = 13856.00000, extent = 0.55168, type = C + area = 11512.00000, perimeter = 427.56799, major_axis_length = 172.21010, minor_axis_length = 85.44306, eccentricity = 0.86823, convex_area = 11802.00000, extent = 0.69079, type = O + area = 13814.00000, perimeter = 477.58600, major_axis_length = 198.90308, minor_axis_length = 89.67540, eccentricity = 0.89260, convex_area = 14168.00000, extent = 0.69098, type = C + area = 15375.00000, perimeter = 494.31601, major_axis_length = 204.47073, minor_axis_length = 96.98161, eccentricity = 0.88036, convex_area = 15631.00000, extent = 0.73918, type = C + area = 9621.00000, perimeter = 408.71701, major_axis_length = 175.73357, minor_axis_length = 70.45018, eccentricity = 0.91613, convex_area = 9779.00000, extent = 0.51643, type = O + area = 10492.00000, perimeter = 405.91000, major_axis_length = 162.79765, minor_axis_length = 83.49519, eccentricity = 0.85846, convex_area = 10888.00000, extent = 0.62913, type = O + area = 14202.00000, perimeter = 485.93799, major_axis_length = 202.61406, minor_axis_length = 90.65028, eccentricity = 0.89433, convex_area = 14640.00000, extent = 0.56177, type = C + area = 15779.00000, perimeter = 506.37701, major_axis_length = 209.40489, minor_axis_length = 97.43090, eccentricity = 0.88517, convex_area = 16201.00000, extent = 0.61946, type = C + area = 13495.00000, perimeter = 466.95901, major_axis_length = 196.39554, minor_axis_length = 88.21306, eccentricity = 0.89345, convex_area = 13725.00000, extent = 0.68958, type = C + area = 11782.00000, perimeter = 436.53400, major_axis_length = 183.45023, minor_axis_length = 82.57640, eccentricity = 0.89296, convex_area = 11985.00000, extent = 0.61403, type = O + area = 11963.00000, perimeter = 432.29800, major_axis_length = 177.85712, minor_axis_length = 86.44563, eccentricity = 0.87394, convex_area = 12162.00000, extent = 0.80919, type = O + area = 10875.00000, perimeter = 418.98199, major_axis_length = 166.69040, minor_axis_length = 85.32958, eccentricity = 0.85904, convex_area = 11334.00000, extent = 0.76220, type = O + area = 11363.00000, perimeter = 416.04999, major_axis_length = 168.43848, minor_axis_length = 86.90823, eccentricity = 0.85661, convex_area = 11594.00000, extent = 0.63026, type = O + area = 16412.00000, perimeter = 515.11499, major_axis_length = 208.69455, minor_axis_length = 101.94176, eccentricity = 0.87258, convex_area = 16857.00000, extent = 0.77379, type = C + area = 14038.00000, perimeter = 496.61200, major_axis_length = 211.56499, minor_axis_length = 86.05249, eccentricity = 0.91354, convex_area = 14389.00000, extent = 0.54017, type = C + area = 14906.00000, perimeter = 497.82501, major_axis_length = 211.34190, minor_axis_length = 90.65295, eccentricity = 0.90333, convex_area = 15150.00000, extent = 0.59748, type = C + area = 13677.00000, perimeter = 485.52899, major_axis_length = 207.39461, minor_axis_length = 85.14314, eccentricity = 0.91184, convex_area = 13874.00000, extent = 0.58566, type = C + area = 11074.00000, perimeter = 421.30701, major_axis_length = 173.05132, minor_axis_length = 82.40327, eccentricity = 0.87935, convex_area = 11326.00000, extent = 0.70459, type = O + area = 14965.00000, perimeter = 483.50800, major_axis_length = 203.52345, minor_axis_length = 94.31125, eccentricity = 0.88615, convex_area = 15151.00000, extent = 0.77555, type = C + area = 14533.00000, perimeter = 487.20401, major_axis_length = 196.81499, minor_axis_length = 95.84308, eccentricity = 0.87342, convex_area = 14873.00000, extent = 0.65112, type = C + area = 10841.00000, perimeter = 413.45999, major_axis_length = 170.96480, minor_axis_length = 81.67490, eccentricity = 0.87851, convex_area = 11070.00000, extent = 0.65449, type = O + area = 11774.00000, perimeter = 447.93301, major_axis_length = 186.01793, minor_axis_length = 81.67400, eccentricity = 0.89846, convex_area = 12103.00000, extent = 0.56003, type = C + area = 17079.00000, perimeter = 520.45001, major_axis_length = 216.15999, minor_axis_length = 101.76250, eccentricity = 0.88225, convex_area = 17418.00000, extent = 0.79437, type = C + area = 11319.00000, perimeter = 414.01401, major_axis_length = 164.78081, minor_axis_length = 88.50933, eccentricity = 0.84350, convex_area = 11563.00000, extent = 0.74669, type = O + area = 15094.00000, perimeter = 506.50699, major_axis_length = 217.93829, minor_axis_length = 89.09559, eccentricity = 0.91262, convex_area = 15346.00000, extent = 0.66856, type = C + area = 14318.00000, perimeter = 477.49399, major_axis_length = 195.02356, minor_axis_length = 94.59473, eccentricity = 0.87449, convex_area = 14585.00000, extent = 0.76087, type = C + area = 15486.00000, perimeter = 492.69400, major_axis_length = 204.37213, minor_axis_length = 97.67800, eccentricity = 0.87839, convex_area = 15688.00000, extent = 0.60116, type = C + area = 12573.00000, perimeter = 461.46600, major_axis_length = 192.90335, minor_axis_length = 84.57207, eccentricity = 0.89877, convex_area = 12893.00000, extent = 0.55043, type = O + area = 12152.00000, perimeter = 447.91699, major_axis_length = 185.24631, minor_axis_length = 85.78561, eccentricity = 0.88631, convex_area = 12449.00000, extent = 0.57538, type = O + area = 14789.00000, perimeter = 492.95200, major_axis_length = 206.70868, minor_axis_length = 92.60357, eccentricity = 0.89404, convex_area = 15069.00000, extent = 0.74783, type = C + area = 13245.00000, perimeter = 476.13699, major_axis_length = 204.94440, minor_axis_length = 83.15825, eccentricity = 0.91398, convex_area = 13536.00000, extent = 0.79963, type = C + area = 15807.00000, perimeter = 513.51099, major_axis_length = 219.29633, minor_axis_length = 92.29657, eccentricity = 0.90712, convex_area = 16078.00000, extent = 0.78098, type = C + area = 15231.00000, perimeter = 525.57898, major_axis_length = 229.74988, minor_axis_length = 85.09379, eccentricity = 0.92888, convex_area = 15617.00000, extent = 0.57290, type = C + area = 11895.00000, perimeter = 429.39600, major_axis_length = 179.25186, minor_axis_length = 85.53614, eccentricity = 0.87880, convex_area = 12072.00000, extent = 0.79063, type = O + area = 13274.00000, perimeter = 471.05399, major_axis_length = 197.61220, minor_axis_length = 86.34554, eccentricity = 0.89949, convex_area = 13615.00000, extent = 0.62378, type = C + area = 16505.00000, perimeter = 506.89600, major_axis_length = 207.34584, minor_axis_length = 103.24419, eccentricity = 0.86722, convex_area = 16782.00000, extent = 0.77817, type = C + area = 14340.00000, perimeter = 477.89600, major_axis_length = 196.47507, minor_axis_length = 94.25779, eccentricity = 0.87741, convex_area = 14700.00000, extent = 0.60814, type = C + area = 14181.00000, perimeter = 485.24500, major_axis_length = 206.85828, minor_axis_length = 87.94334, eccentricity = 0.90513, convex_area = 14423.00000, extent = 0.64783, type = C + area = 15762.00000, perimeter = 507.64099, major_axis_length = 205.60056, minor_axis_length = 99.32085, eccentricity = 0.87558, convex_area = 16261.00000, extent = 0.66364, type = C + area = 12714.00000, perimeter = 454.54501, major_axis_length = 185.12328, minor_axis_length = 88.69659, eccentricity = 0.87775, convex_area = 12939.00000, extent = 0.62269, type = O + area = 14226.00000, perimeter = 492.19501, major_axis_length = 207.01956, minor_axis_length = 88.36334, eccentricity = 0.90433, convex_area = 14465.00000, extent = 0.57914, type = C + area = 15777.00000, perimeter = 515.68402, major_axis_length = 218.69824, minor_axis_length = 93.20509, eccentricity = 0.90464, convex_area = 16111.00000, extent = 0.56719, type = C + area = 12820.00000, perimeter = 459.17099, major_axis_length = 193.70509, minor_axis_length = 84.83408, eccentricity = 0.89900, convex_area = 13002.00000, extent = 0.59617, type = C + area = 11273.00000, perimeter = 432.65500, major_axis_length = 185.89279, minor_axis_length = 77.61040, eccentricity = 0.90868, convex_area = 11440.00000, extent = 0.61974, type = O + area = 11961.00000, perimeter = 445.05301, major_axis_length = 182.44389, minor_axis_length = 85.08979, eccentricity = 0.88458, convex_area = 12370.00000, extent = 0.61225, type = O + area = 11945.00000, perimeter = 414.14600, major_axis_length = 162.35278, minor_axis_length = 94.94728, eccentricity = 0.81116, convex_area = 12106.00000, extent = 0.79777, type = O + area = 14759.00000, perimeter = 493.80399, major_axis_length = 207.78458, minor_axis_length = 91.68565, eccentricity = 0.89738, convex_area = 15106.00000, extent = 0.70587, type = C + area = 10880.00000, perimeter = 394.64499, major_axis_length = 153.79482, minor_axis_length = 90.98818, eccentricity = 0.80622, convex_area = 11057.00000, extent = 0.74777, type = O + area = 10213.00000, perimeter = 430.04401, major_axis_length = 187.31439, minor_axis_length = 69.94136, eccentricity = 0.92767, convex_area = 10392.00000, extent = 0.56344, type = O + area = 10842.00000, perimeter = 412.74899, major_axis_length = 167.04510, minor_axis_length = 84.00163, eccentricity = 0.86436, convex_area = 11105.00000, extent = 0.67050, type = O + area = 10713.00000, perimeter = 443.40399, major_axis_length = 192.88618, minor_axis_length = 71.78690, eccentricity = 0.92816, convex_area = 10969.00000, extent = 0.69610, type = O + area = 12218.00000, perimeter = 442.68600, major_axis_length = 184.35350, minor_axis_length = 85.83971, eccentricity = 0.88498, convex_area = 12468.00000, extent = 0.64204, type = O + area = 8848.00000, perimeter = 369.77802, major_axis_length = 150.27876, minor_axis_length = 76.50945, eccentricity = 0.86070, convex_area = 9009.00000, extent = 0.63581, type = O + area = 9679.00000, perimeter = 390.22198, major_axis_length = 154.20059, minor_axis_length = 81.98646, eccentricity = 0.84694, convex_area = 10003.00000, extent = 0.62069, type = O + area = 11243.00000, perimeter = 430.93301, major_axis_length = 179.99966, minor_axis_length = 81.03175, eccentricity = 0.89294, convex_area = 11524.00000, extent = 0.73894, type = O + area = 15569.00000, perimeter = 504.75400, major_axis_length = 214.50677, minor_axis_length = 93.19716, eccentricity = 0.90069, convex_area = 15815.00000, extent = 0.77304, type = C + area = 11553.00000, perimeter = 428.69699, major_axis_length = 170.70674, minor_axis_length = 87.52907, eccentricity = 0.85854, convex_area = 11845.00000, extent = 0.60106, type = O + area = 15290.00000, perimeter = 519.31702, major_axis_length = 221.42963, minor_axis_length = 88.87734, eccentricity = 0.91591, convex_area = 15699.00000, extent = 0.66156, type = C + area = 13711.00000, perimeter = 483.21500, major_axis_length = 203.88077, minor_axis_length = 86.62691, eccentricity = 0.90524, convex_area = 14097.00000, extent = 0.56147, type = C + area = 12921.00000, perimeter = 477.12100, major_axis_length = 197.70015, minor_axis_length = 84.82759, eccentricity = 0.90327, convex_area = 13557.00000, extent = 0.72395, type = C + area = 10032.00000, perimeter = 403.09601, major_axis_length = 165.60661, minor_axis_length = 78.48328, eccentricity = 0.88057, convex_area = 10307.00000, extent = 0.74598, type = O + area = 13580.00000, perimeter = 464.35699, major_axis_length = 190.38063, minor_axis_length = 91.37227, eccentricity = 0.87730, convex_area = 13781.00000, extent = 0.62731, type = C + area = 14674.00000, perimeter = 497.10300, major_axis_length = 208.43646, minor_axis_length = 91.08699, eccentricity = 0.89946, convex_area = 15049.00000, extent = 0.68229, type = C + area = 15147.00000, perimeter = 511.29401, major_axis_length = 216.09929, minor_axis_length = 90.94639, eccentricity = 0.90713, convex_area = 15637.00000, extent = 0.53485, type = C + area = 14918.00000, perimeter = 500.27100, major_axis_length = 210.42461, minor_axis_length = 91.21054, eccentricity = 0.90117, convex_area = 15185.00000, extent = 0.64073, type = C + area = 14054.00000, perimeter = 486.76501, major_axis_length = 207.58250, minor_axis_length = 87.13073, eccentricity = 0.90764, convex_area = 14343.00000, extent = 0.78946, type = C + area = 13790.00000, perimeter = 479.29999, major_axis_length = 198.90132, minor_axis_length = 90.13603, eccentricity = 0.89142, convex_area = 14190.00000, extent = 0.58691, type = C + area = 11364.00000, perimeter = 428.95300, major_axis_length = 180.75972, minor_axis_length = 80.28202, eccentricity = 0.89596, convex_area = 11551.00000, extent = 0.58027, type = O + area = 13064.00000, perimeter = 469.83600, major_axis_length = 199.55998, minor_axis_length = 84.36462, eccentricity = 0.90624, convex_area = 13382.00000, extent = 0.65642, type = C + area = 12692.00000, perimeter = 447.73901, major_axis_length = 174.88063, minor_axis_length = 94.16079, eccentricity = 0.84267, convex_area = 13148.00000, extent = 0.64571, type = O + area = 10580.00000, perimeter = 409.08899, major_axis_length = 173.31699, minor_axis_length = 78.04712, eccentricity = 0.89287, convex_area = 10731.00000, extent = 0.58132, type = O + area = 10246.00000, perimeter = 406.37100, major_axis_length = 163.89470, minor_axis_length = 81.50822, eccentricity = 0.86757, convex_area = 10655.00000, extent = 0.70711, type = O + area = 11753.00000, perimeter = 425.38599, major_axis_length = 176.00821, minor_axis_length = 85.75704, eccentricity = 0.87327, convex_area = 11919.00000, extent = 0.65557, type = O + area = 15072.00000, perimeter = 511.17599, major_axis_length = 221.78210, minor_axis_length = 87.38173, eccentricity = 0.91911, convex_area = 15392.00000, extent = 0.55088, type = C + area = 14155.00000, perimeter = 480.52200, major_axis_length = 200.54674, minor_axis_length = 91.05968, eccentricity = 0.89097, convex_area = 14462.00000, extent = 0.72219, type = C + area = 17437.00000, perimeter = 536.89899, major_axis_length = 230.25746, minor_axis_length = 97.31148, eccentricity = 0.90631, convex_area = 17650.00000, extent = 0.75915, type = C + area = 12092.00000, perimeter = 449.18900, major_axis_length = 192.57950, minor_axis_length = 80.42228, eccentricity = 0.90863, convex_area = 12298.00000, extent = 0.58393, type = C + area = 13207.00000, perimeter = 458.87799, major_axis_length = 187.83359, minor_axis_length = 90.63805, eccentricity = 0.87587, convex_area = 13501.00000, extent = 0.73242, type = O + area = 14956.00000, perimeter = 490.25601, major_axis_length = 204.54123, minor_axis_length = 93.75129, eccentricity = 0.88877, convex_area = 15196.00000, extent = 0.67278, type = C + area = 10735.00000, perimeter = 421.48801, major_axis_length = 172.77937, minor_axis_length = 80.16738, eccentricity = 0.88584, convex_area = 11021.00000, extent = 0.78095, type = O + area = 11189.00000, perimeter = 427.47101, major_axis_length = 176.94299, minor_axis_length = 81.42934, eccentricity = 0.88781, convex_area = 11422.00000, extent = 0.59911, type = O + area = 17338.00000, perimeter = 530.04401, major_axis_length = 222.08437, minor_axis_length = 100.54912, eccentricity = 0.89164, convex_area = 17725.00000, extent = 0.79245, type = C + area = 12799.00000, perimeter = 443.41699, major_axis_length = 175.32970, minor_axis_length = 94.25945, eccentricity = 0.84319, convex_area = 13066.00000, extent = 0.63161, type = O + area = 13548.00000, perimeter = 479.74899, major_axis_length = 203.27188, minor_axis_length = 85.60246, eccentricity = 0.90700, convex_area = 13850.00000, extent = 0.55443, type = C + area = 14587.00000, perimeter = 497.94699, major_axis_length = 211.68729, minor_axis_length = 88.91321, eccentricity = 0.90751, convex_area = 14926.00000, extent = 0.64869, type = C + area = 14592.00000, perimeter = 494.44000, major_axis_length = 212.67998, minor_axis_length = 88.28739, eccentricity = 0.90977, convex_area = 14838.00000, extent = 0.74563, type = C + area = 12892.00000, perimeter = 482.63000, major_axis_length = 204.59776, minor_axis_length = 82.35201, eccentricity = 0.91542, convex_area = 13376.00000, extent = 0.65124, type = C + area = 13980.00000, perimeter = 479.17999, major_axis_length = 206.32904, minor_axis_length = 87.03672, eccentricity = 0.90667, convex_area = 14137.00000, extent = 0.86105, type = C + area = 14805.00000, perimeter = 484.63199, major_axis_length = 202.98024, minor_axis_length = 93.69647, eccentricity = 0.88709, convex_area = 15090.00000, extent = 0.78420, type = C + area = 10044.00000, perimeter = 410.19101, major_axis_length = 168.55310, minor_axis_length = 77.07966, eccentricity = 0.88931, convex_area = 10317.00000, extent = 0.75747, type = O + area = 12308.00000, perimeter = 436.64001, major_axis_length = 174.93845, minor_axis_length = 90.61617, eccentricity = 0.85539, convex_area = 12544.00000, extent = 0.68652, type = O + area = 14189.00000, perimeter = 483.93701, major_axis_length = 203.37759, minor_axis_length = 90.07769, eccentricity = 0.89657, convex_area = 14538.00000, extent = 0.71312, type = C + area = 10975.00000, perimeter = 412.73801, major_axis_length = 169.45012, minor_axis_length = 83.24361, eccentricity = 0.87101, convex_area = 11149.00000, extent = 0.78708, type = O + area = 12081.00000, perimeter = 431.52100, major_axis_length = 173.52229, minor_axis_length = 89.55707, eccentricity = 0.85652, convex_area = 12315.00000, extent = 0.78043, type = O + area = 16249.00000, perimeter = 512.79199, major_axis_length = 215.72685, minor_axis_length = 96.96568, eccentricity = 0.89329, convex_area = 16493.00000, extent = 0.73718, type = C + area = 14833.00000, perimeter = 496.93600, major_axis_length = 209.31232, minor_axis_length = 91.47590, eccentricity = 0.89945, convex_area = 15072.00000, extent = 0.55675, type = C + area = 15783.00000, perimeter = 510.19400, major_axis_length = 219.55177, minor_axis_length = 92.24811, eccentricity = 0.90745, convex_area = 16024.00000, extent = 0.79793, type = C + area = 14683.00000, perimeter = 493.57199, major_axis_length = 209.05197, minor_axis_length = 90.58433, eccentricity = 0.90124, convex_area = 14947.00000, extent = 0.70220, type = C + area = 10775.00000, perimeter = 414.99799, major_axis_length = 165.72896, minor_axis_length = 84.27123, eccentricity = 0.86107, convex_area = 11036.00000, extent = 0.63446, type = O + area = 14955.00000, perimeter = 508.71701, major_axis_length = 217.98155, minor_axis_length = 88.61218, eccentricity = 0.91365, convex_area = 15363.00000, extent = 0.56941, type = C + area = 11891.00000, perimeter = 446.40701, major_axis_length = 189.05547, minor_axis_length = 81.91354, eccentricity = 0.90126, convex_area = 12125.00000, extent = 0.55191, type = O + area = 10218.00000, perimeter = 401.77301, major_axis_length = 163.24477, minor_axis_length = 80.51645, eccentricity = 0.86990, convex_area = 10516.00000, extent = 0.69539, type = O + area = 15223.00000, perimeter = 514.90698, major_axis_length = 220.36856, minor_axis_length = 89.43638, eccentricity = 0.91394, convex_area = 15492.00000, extent = 0.55028, type = C + area = 10974.00000, perimeter = 413.50000, major_axis_length = 170.56783, minor_axis_length = 83.24488, eccentricity = 0.87282, convex_area = 11142.00000, extent = 0.76410, type = O + area = 10623.00000, perimeter = 423.02301, major_axis_length = 175.03427, minor_axis_length = 78.42091, eccentricity = 0.89402, convex_area = 10897.00000, extent = 0.58730, type = O + area = 14561.00000, perimeter = 493.53000, major_axis_length = 208.69296, minor_axis_length = 89.70529, eccentricity = 0.90290, convex_area = 14986.00000, extent = 0.77206, type = C + area = 12190.00000, perimeter = 445.89499, major_axis_length = 185.75694, minor_axis_length = 84.64902, eccentricity = 0.89013, convex_area = 12386.00000, extent = 0.71622, type = O + area = 11337.00000, perimeter = 433.97800, major_axis_length = 184.34811, minor_axis_length = 78.86770, eccentricity = 0.90386, convex_area = 11506.00000, extent = 0.65661, type = O + area = 10657.00000, perimeter = 412.83899, major_axis_length = 171.12416, minor_axis_length = 80.39784, eccentricity = 0.88276, convex_area = 10879.00000, extent = 0.72482, type = O + area = 13658.00000, perimeter = 499.37399, major_axis_length = 206.50974, minor_axis_length = 85.75655, eccentricity = 0.90970, convex_area = 14177.00000, extent = 0.54027, type = C + area = 11106.00000, perimeter = 415.98499, major_axis_length = 175.18675, minor_axis_length = 81.15784, eccentricity = 0.88622, convex_area = 11257.00000, extent = 0.60999, type = O + area = 11835.00000, perimeter = 418.71301, major_axis_length = 168.20982, minor_axis_length = 90.15866, eccentricity = 0.84422, convex_area = 12025.00000, extent = 0.66549, type = O + area = 14305.00000, perimeter = 491.16101, major_axis_length = 207.87129, minor_axis_length = 88.60971, eccentricity = 0.90460, convex_area = 14633.00000, extent = 0.57953, type = C + area = 12158.00000, perimeter = 441.47800, major_axis_length = 182.28729, minor_axis_length = 85.52101, eccentricity = 0.88312, convex_area = 12359.00000, extent = 0.71551, type = C + area = 14138.00000, perimeter = 490.83401, major_axis_length = 206.18085, minor_axis_length = 89.36728, eccentricity = 0.90118, convex_area = 14523.00000, extent = 0.76257, type = C + area = 13447.00000, perimeter = 455.64801, major_axis_length = 183.95758, minor_axis_length = 94.45814, eccentricity = 0.85810, convex_area = 13867.00000, extent = 0.62591, type = O + area = 11779.00000, perimeter = 440.97601, major_axis_length = 191.88248, minor_axis_length = 78.73443, eccentricity = 0.91194, convex_area = 11918.00000, extent = 0.58375, type = O + area = 13574.00000, perimeter = 481.15701, major_axis_length = 206.46765, minor_axis_length = 84.42449, eccentricity = 0.91258, convex_area = 13870.00000, extent = 0.80961, type = C + area = 12975.00000, perimeter = 458.54700, major_axis_length = 189.81834, minor_axis_length = 87.65503, eccentricity = 0.88699, convex_area = 13254.00000, extent = 0.70902, type = C + area = 11231.00000, perimeter = 427.66699, major_axis_length = 183.58710, minor_axis_length = 78.86173, eccentricity = 0.90304, convex_area = 11427.00000, extent = 0.72118, type = O + area = 13891.00000, perimeter = 486.93799, major_axis_length = 209.80476, minor_axis_length = 85.73843, eccentricity = 0.91269, convex_area = 14170.00000, extent = 0.82847, type = C + area = 16091.00000, perimeter = 508.83099, major_axis_length = 209.18388, minor_axis_length = 99.23176, eccentricity = 0.88032, convex_area = 16431.00000, extent = 0.67046, type = C + area = 12503.00000, perimeter = 446.31100, major_axis_length = 177.33737, minor_axis_length = 91.15877, eccentricity = 0.85777, convex_area = 12777.00000, extent = 0.62937, type = O + area = 11671.00000, perimeter = 459.78000, major_axis_length = 199.40321, minor_axis_length = 75.45848, eccentricity = 0.92563, convex_area = 12110.00000, extent = 0.64321, type = C + area = 13029.00000, perimeter = 466.88699, major_axis_length = 197.72624, minor_axis_length = 84.60393, eccentricity = 0.90383, convex_area = 13300.00000, extent = 0.61006, type = C + area = 14458.00000, perimeter = 475.04401, major_axis_length = 196.98611, minor_axis_length = 93.99989, eccentricity = 0.87880, convex_area = 14669.00000, extent = 0.60189, type = C + area = 10463.00000, perimeter = 417.35699, major_axis_length = 177.17612, minor_axis_length = 76.04584, eccentricity = 0.90320, convex_area = 10681.00000, extent = 0.58322, type = O + area = 12390.00000, perimeter = 454.49100, major_axis_length = 195.73447, minor_axis_length = 81.36215, eccentricity = 0.90951, convex_area = 12550.00000, extent = 0.59838, type = O + area = 11908.00000, perimeter = 447.63400, major_axis_length = 187.82114, minor_axis_length = 81.94851, eccentricity = 0.89980, convex_area = 12287.00000, extent = 0.58031, type = O + area = 12879.00000, perimeter = 476.57700, major_axis_length = 203.16597, minor_axis_length = 81.26083, eccentricity = 0.91653, convex_area = 13105.00000, extent = 0.66039, type = C + area = 11601.00000, perimeter = 416.64600, major_axis_length = 165.78099, minor_axis_length = 89.89610, eccentricity = 0.84021, convex_area = 11782.00000, extent = 0.64522, type = O + area = 10138.00000, perimeter = 414.00900, major_axis_length = 171.61974, minor_axis_length = 77.15939, eccentricity = 0.89323, convex_area = 10425.00000, extent = 0.56643, type = O + area = 13684.00000, perimeter = 505.65500, major_axis_length = 213.59363, minor_axis_length = 83.51059, eccentricity = 0.92040, convex_area = 14158.00000, extent = 0.57763, type = C + area = 14019.00000, perimeter = 482.45401, major_axis_length = 197.19820, minor_axis_length = 92.67004, eccentricity = 0.88270, convex_area = 14411.00000, extent = 0.57615, type = C + area = 13200.00000, perimeter = 472.46500, major_axis_length = 203.31374, minor_axis_length = 83.57887, eccentricity = 0.91160, convex_area = 13467.00000, extent = 0.74530, type = C + area = 14805.00000, perimeter = 499.63699, major_axis_length = 214.28244, minor_axis_length = 89.17409, eccentricity = 0.90930, convex_area = 15090.00000, extent = 0.57679, type = C + area = 16188.00000, perimeter = 526.87598, major_axis_length = 224.04192, minor_axis_length = 93.17562, eccentricity = 0.90942, convex_area = 16605.00000, extent = 0.66301, type = C + area = 13375.00000, perimeter = 474.08701, major_axis_length = 198.76869, minor_axis_length = 86.68679, eccentricity = 0.89989, convex_area = 13768.00000, extent = 0.69632, type = C + area = 12989.00000, perimeter = 450.23801, major_axis_length = 182.64360, minor_axis_length = 91.99093, eccentricity = 0.86390, convex_area = 13259.00000, extent = 0.63803, type = O + area = 9976.00000, perimeter = 406.07901, major_axis_length = 168.06120, minor_axis_length = 76.86061, eccentricity = 0.88929, convex_area = 10295.00000, extent = 0.57337, type = O + area = 14463.00000, perimeter = 480.48999, major_axis_length = 201.93422, minor_axis_length = 91.94389, eccentricity = 0.89033, convex_area = 14698.00000, extent = 0.67512, type = C + area = 11302.00000, perimeter = 418.20099, major_axis_length = 167.57506, minor_axis_length = 86.95644, eccentricity = 0.85483, convex_area = 11591.00000, extent = 0.62356, type = O + area = 13414.00000, perimeter = 479.90100, major_axis_length = 203.08597, minor_axis_length = 85.73688, eccentricity = 0.90652, convex_area = 13735.00000, extent = 0.71404, type = C + area = 12190.00000, perimeter = 440.68201, major_axis_length = 185.85619, minor_axis_length = 83.88790, eccentricity = 0.89234, convex_area = 12349.00000, extent = 0.58398, type = O + area = 13809.00000, perimeter = 489.02200, major_axis_length = 213.82555, minor_axis_length = 82.49403, eccentricity = 0.92258, convex_area = 14070.00000, extent = 0.80575, type = C + area = 10770.00000, perimeter = 405.50400, major_axis_length = 158.72882, minor_axis_length = 87.61263, eccentricity = 0.83387, convex_area = 11097.00000, extent = 0.66605, type = O + area = 11029.00000, perimeter = 415.04800, major_axis_length = 176.21477, minor_axis_length = 80.01405, eccentricity = 0.89097, convex_area = 11182.00000, extent = 0.63059, type = O + area = 12440.00000, perimeter = 434.80499, major_axis_length = 173.39279, minor_axis_length = 92.69048, eccentricity = 0.84512, convex_area = 12716.00000, extent = 0.68034, type = O + area = 12358.00000, perimeter = 447.17401, major_axis_length = 183.46461, minor_axis_length = 87.74208, eccentricity = 0.87822, convex_area = 12586.00000, extent = 0.58458, type = O + area = 13087.00000, perimeter = 468.81100, major_axis_length = 198.28671, minor_axis_length = 84.87167, eccentricity = 0.90377, convex_area = 13488.00000, extent = 0.77246, type = C + area = 13586.00000, perimeter = 467.02399, major_axis_length = 191.15112, minor_axis_length = 91.84377, eccentricity = 0.87701, convex_area = 13888.00000, extent = 0.79871, type = O + area = 12375.00000, perimeter = 451.08099, major_axis_length = 185.78116, minor_axis_length = 86.23738, eccentricity = 0.88574, convex_area = 12755.00000, extent = 0.64974, type = C + area = 14196.00000, perimeter = 499.23001, major_axis_length = 210.18011, minor_axis_length = 87.10347, eccentricity = 0.91008, convex_area = 14509.00000, extent = 0.61886, type = C + area = 13149.00000, perimeter = 463.31100, major_axis_length = 189.87309, minor_axis_length = 89.23203, eccentricity = 0.88269, convex_area = 13421.00000, extent = 0.78718, type = O + area = 15241.00000, perimeter = 511.06100, major_axis_length = 215.36917, minor_axis_length = 91.27435, eccentricity = 0.90575, convex_area = 15604.00000, extent = 0.54323, type = C + area = 13779.00000, perimeter = 481.97601, major_axis_length = 200.47858, minor_axis_length = 88.84671, eccentricity = 0.89644, convex_area = 14192.00000, extent = 0.57198, type = C + area = 13950.00000, perimeter = 476.33701, major_axis_length = 193.63524, minor_axis_length = 92.94417, eccentricity = 0.87727, convex_area = 14280.00000, extent = 0.71564, type = C + area = 13314.00000, perimeter = 457.69800, major_axis_length = 182.67232, minor_axis_length = 94.06268, eccentricity = 0.85723, convex_area = 13562.00000, extent = 0.61451, type = O + area = 13580.00000, perimeter = 460.54901, major_axis_length = 192.75961, minor_axis_length = 90.22404, eccentricity = 0.88369, convex_area = 13753.00000, extent = 0.79415, type = O + area = 12495.00000, perimeter = 443.67801, major_axis_length = 184.98767, minor_axis_length = 87.13018, eccentricity = 0.88213, convex_area = 12690.00000, extent = 0.74260, type = O + area = 12228.00000, perimeter = 441.15601, major_axis_length = 176.11035, minor_axis_length = 90.81321, eccentricity = 0.85679, convex_area = 12587.00000, extent = 0.69296, type = O + area = 13816.00000, perimeter = 484.27600, major_axis_length = 199.01349, minor_axis_length = 89.86625, eccentricity = 0.89224, convex_area = 14356.00000, extent = 0.64246, type = C + area = 11104.00000, perimeter = 420.97000, major_axis_length = 164.93903, minor_axis_length = 87.29203, eccentricity = 0.84847, convex_area = 11429.00000, extent = 0.63271, type = O + area = 12509.00000, perimeter = 439.44800, major_axis_length = 177.08337, minor_axis_length = 90.62299, eccentricity = 0.85913, convex_area = 12723.00000, extent = 0.62821, type = O + area = 15159.00000, perimeter = 515.13098, major_axis_length = 216.06192, minor_axis_length = 91.02570, eccentricity = 0.90692, convex_area = 15685.00000, extent = 0.65071, type = C + area = 13024.00000, perimeter = 469.64700, major_axis_length = 193.92215, minor_axis_length = 87.51405, eccentricity = 0.89238, convex_area = 13422.00000, extent = 0.53956, type = O + area = 14403.00000, perimeter = 491.06000, major_axis_length = 207.68057, minor_axis_length = 89.84336, eccentricity = 0.90158, convex_area = 14708.00000, extent = 0.59689, type = C + area = 13751.00000, perimeter = 451.94101, major_axis_length = 175.41118, minor_axis_length = 101.14427, eccentricity = 0.81702, convex_area = 14063.00000, extent = 0.75701, type = O + area = 14254.00000, perimeter = 491.26099, major_axis_length = 207.76718, minor_axis_length = 88.61370, eccentricity = 0.90449, convex_area = 14607.00000, extent = 0.56961, type = C + area = 12047.00000, perimeter = 455.60800, major_axis_length = 195.66608, minor_axis_length = 80.26914, eccentricity = 0.91198, convex_area = 12339.00000, extent = 0.54403, type = C + area = 9070.00000, perimeter = 375.09399, major_axis_length = 156.98489, minor_axis_length = 74.22942, eccentricity = 0.88115, convex_area = 9233.00000, extent = 0.73740, type = O + area = 10152.00000, perimeter = 399.79700, major_axis_length = 162.20396, minor_axis_length = 80.65750, eccentricity = 0.86760, convex_area = 10393.00000, extent = 0.66128, type = O + area = 14855.00000, perimeter = 495.89899, major_axis_length = 208.57062, minor_axis_length = 92.42722, eccentricity = 0.89645, convex_area = 15191.00000, extent = 0.59061, type = C + area = 10926.00000, perimeter = 416.22299, major_axis_length = 173.41998, minor_axis_length = 80.86935, eccentricity = 0.88462, convex_area = 11113.00000, extent = 0.63236, type = O + area = 13672.00000, perimeter = 467.95499, major_axis_length = 183.55632, minor_axis_length = 97.46873, eccentricity = 0.84737, convex_area = 14027.00000, extent = 0.61586, type = O + area = 11656.00000, perimeter = 434.39600, major_axis_length = 175.59007, minor_axis_length = 85.71838, eccentricity = 0.87275, convex_area = 11955.00000, extent = 0.59518, type = O + area = 14792.00000, perimeter = 499.20300, major_axis_length = 206.16061, minor_axis_length = 92.68034, eccentricity = 0.89325, convex_area = 15326.00000, extent = 0.69469, type = C + area = 12397.00000, perimeter = 435.94901, major_axis_length = 174.23169, minor_axis_length = 91.89648, eccentricity = 0.84959, convex_area = 12761.00000, extent = 0.64306, type = O + area = 11966.00000, perimeter = 456.84601, major_axis_length = 194.27026, minor_axis_length = 79.35069, eccentricity = 0.91278, convex_area = 12337.00000, extent = 0.57460, type = C + area = 13066.00000, perimeter = 458.26199, major_axis_length = 186.34586, minor_axis_length = 90.90146, eccentricity = 0.87295, convex_area = 13315.00000, extent = 0.61481, type = O + area = 11185.00000, perimeter = 414.18100, major_axis_length = 170.01825, minor_axis_length = 84.11061, eccentricity = 0.86906, convex_area = 11370.00000, extent = 0.62208, type = O + area = 11144.00000, perimeter = 427.12100, major_axis_length = 182.21642, minor_axis_length = 78.31834, eccentricity = 0.90292, convex_area = 11332.00000, extent = 0.68435, type = O + area = 13884.00000, perimeter = 491.61801, major_axis_length = 207.65437, minor_axis_length = 86.34349, eccentricity = 0.90945, convex_area = 14232.00000, extent = 0.54236, type = C + area = 13211.00000, perimeter = 476.65900, major_axis_length = 204.86453, minor_axis_length = 82.88512, eccentricity = 0.91450, convex_area = 13608.00000, extent = 0.71088, type = C + area = 14601.00000, perimeter = 505.24899, major_axis_length = 215.93439, minor_axis_length = 86.75872, eccentricity = 0.91574, convex_area = 14991.00000, extent = 0.66854, type = C + area = 12483.00000, perimeter = 451.81400, major_axis_length = 189.89943, minor_axis_length = 84.86185, eccentricity = 0.89459, convex_area = 12686.00000, extent = 0.59571, type = C + area = 11299.00000, perimeter = 420.73801, major_axis_length = 170.82082, minor_axis_length = 84.86575, eccentricity = 0.86786, convex_area = 11488.00000, extent = 0.64257, type = O + area = 11335.00000, perimeter = 426.58401, major_axis_length = 172.74699, minor_axis_length = 85.12077, eccentricity = 0.87017, convex_area = 11618.00000, extent = 0.66676, type = O + area = 15369.00000, perimeter = 499.26599, major_axis_length = 205.87529, minor_axis_length = 95.93622, eccentricity = 0.88479, convex_area = 15666.00000, extent = 0.61604, type = C + area = 9762.00000, perimeter = 397.24899, major_axis_length = 161.86630, minor_axis_length = 78.29550, eccentricity = 0.87523, convex_area = 10126.00000, extent = 0.74862, type = O + area = 14263.00000, perimeter = 489.44601, major_axis_length = 205.81178, minor_axis_length = 89.50909, eccentricity = 0.90048, convex_area = 14637.00000, extent = 0.66318, type = C + area = 11730.00000, perimeter = 424.16400, major_axis_length = 172.73737, minor_axis_length = 87.71980, eccentricity = 0.86146, convex_area = 11913.00000, extent = 0.62281, type = O + area = 14337.00000, perimeter = 494.29901, major_axis_length = 206.69278, minor_axis_length = 89.74821, eccentricity = 0.90081, convex_area = 14859.00000, extent = 0.70989, type = C + area = 12076.00000, perimeter = 443.99200, major_axis_length = 181.71149, minor_axis_length = 85.55835, eccentricity = 0.88221, convex_area = 12329.00000, extent = 0.64789, type = O + area = 9944.00000, perimeter = 407.36099, major_axis_length = 169.64474, minor_axis_length = 75.97414, eccentricity = 0.89411, convex_area = 10212.00000, extent = 0.55859, type = O + area = 15545.00000, perimeter = 510.28400, major_axis_length = 213.43665, minor_axis_length = 93.55502, eccentricity = 0.89882, convex_area = 15909.00000, extent = 0.56817, type = C + area = 10951.00000, perimeter = 415.13901, major_axis_length = 173.75793, minor_axis_length = 81.30049, eccentricity = 0.88378, convex_area = 11116.00000, extent = 0.65227, type = O + area = 12213.00000, perimeter = 452.40399, major_axis_length = 192.34183, minor_axis_length = 81.44420, eccentricity = 0.90593, convex_area = 12406.00000, extent = 0.64262, type = O + area = 16019.00000, perimeter = 509.01300, major_axis_length = 214.79094, minor_axis_length = 96.12421, eccentricity = 0.89427, convex_area = 16248.00000, extent = 0.65759, type = C + area = 11769.00000, perimeter = 426.31000, major_axis_length = 176.11459, minor_axis_length = 85.90214, eccentricity = 0.87298, convex_area = 11928.00000, extent = 0.79119, type = O + area = 12549.00000, perimeter = 456.93500, major_axis_length = 193.39151, minor_axis_length = 83.70135, eccentricity = 0.90149, convex_area = 12905.00000, extent = 0.79707, type = C + area = 15115.00000, perimeter = 492.01599, major_axis_length = 200.45363, minor_axis_length = 97.04861, eccentricity = 0.87499, convex_area = 15411.00000, extent = 0.72383, type = O + area = 16654.00000, perimeter = 519.03601, major_axis_length = 217.24971, minor_axis_length = 98.99957, eccentricity = 0.89014, convex_area = 16976.00000, extent = 0.76338, type = C + area = 15456.00000, perimeter = 508.82101, major_axis_length = 214.30441, minor_axis_length = 93.45650, eccentricity = 0.89990, convex_area = 15884.00000, extent = 0.78025, type = C + area = 12768.00000, perimeter = 450.60001, major_axis_length = 188.64336, minor_axis_length = 86.66716, eccentricity = 0.88822, convex_area = 12961.00000, extent = 0.79820, type = O + area = 9561.00000, perimeter = 386.08499, major_axis_length = 159.97054, minor_axis_length = 76.79645, eccentricity = 0.87723, convex_area = 9708.00000, extent = 0.70095, type = O + area = 13259.00000, perimeter = 464.40799, major_axis_length = 198.21152, minor_axis_length = 85.81574, eccentricity = 0.90142, convex_area = 13445.00000, extent = 0.58205, type = O + area = 12488.00000, perimeter = 469.82800, major_axis_length = 200.74376, minor_axis_length = 80.04685, eccentricity = 0.91706, convex_area = 12932.00000, extent = 0.74466, type = C + area = 11873.00000, perimeter = 430.04401, major_axis_length = 176.72914, minor_axis_length = 86.37125, eccentricity = 0.87244, convex_area = 12086.00000, extent = 0.60422, type = O + area = 11553.00000, perimeter = 432.47800, major_axis_length = 177.96440, minor_axis_length = 84.06338, eccentricity = 0.88141, convex_area = 11845.00000, extent = 0.58155, type = O + area = 10440.00000, perimeter = 405.61499, major_axis_length = 165.24684, minor_axis_length = 82.02889, eccentricity = 0.86809, convex_area = 10716.00000, extent = 0.59842, type = O + area = 15136.00000, perimeter = 503.26001, major_axis_length = 208.77202, minor_axis_length = 94.06878, eccentricity = 0.89274, convex_area = 15471.00000, extent = 0.59591, type = C + area = 13636.00000, perimeter = 481.25601, major_axis_length = 203.92857, minor_axis_length = 86.18014, eccentricity = 0.90632, convex_area = 13888.00000, extent = 0.54971, type = C + area = 12349.00000, perimeter = 452.00900, major_axis_length = 187.96873, minor_axis_length = 84.54865, eccentricity = 0.89313, convex_area = 12646.00000, extent = 0.58576, type = O + area = 12956.00000, perimeter = 458.65601, major_axis_length = 187.21146, minor_axis_length = 89.15869, eccentricity = 0.87931, convex_area = 13310.00000, extent = 0.71077, type = O + area = 12800.00000, perimeter = 471.33401, major_axis_length = 203.55943, minor_axis_length = 81.30859, eccentricity = 0.91676, convex_area = 13141.00000, extent = 0.61162, type = C + area = 13344.00000, perimeter = 469.52802, major_axis_length = 196.68790, minor_axis_length = 87.38164, eccentricity = 0.89590, convex_area = 13609.00000, extent = 0.59914, type = O + area = 12899.00000, perimeter = 468.38901, major_axis_length = 201.04828, minor_axis_length = 82.38741, eccentricity = 0.91218, convex_area = 13132.00000, extent = 0.70050, type = C + area = 14850.00000, perimeter = 499.20700, major_axis_length = 210.13364, minor_axis_length = 91.14337, eccentricity = 0.90104, convex_area = 15327.00000, extent = 0.58901, type = C + area = 13132.00000, perimeter = 471.80399, major_axis_length = 199.55653, minor_axis_length = 84.98833, eccentricity = 0.90478, convex_area = 13423.00000, extent = 0.75367, type = C + area = 17313.00000, perimeter = 531.98401, major_axis_length = 225.53459, minor_axis_length = 98.44350, eccentricity = 0.89971, convex_area = 17582.00000, extent = 0.56988, type = C + area = 12974.00000, perimeter = 469.27301, major_axis_length = 197.63316, minor_axis_length = 84.73212, eccentricity = 0.90343, convex_area = 13219.00000, extent = 0.68646, type = C + area = 14243.00000, perimeter = 481.32300, major_axis_length = 198.66289, minor_axis_length = 92.82254, eccentricity = 0.88413, convex_area = 14592.00000, extent = 0.79450, type = C + area = 12924.00000, perimeter = 474.42401, major_axis_length = 203.01993, minor_axis_length = 81.82216, eccentricity = 0.91519, convex_area = 13150.00000, extent = 0.53573, type = C + area = 16798.00000, perimeter = 529.07703, major_axis_length = 222.79663, minor_axis_length = 97.68343, eccentricity = 0.89876, convex_area = 17173.00000, extent = 0.63817, type = C + area = 14818.00000, perimeter = 499.35999, major_axis_length = 208.87550, minor_axis_length = 91.91077, eccentricity = 0.89798, convex_area = 15204.00000, extent = 0.57541, type = C + area = 15655.00000, perimeter = 513.30103, major_axis_length = 216.09900, minor_axis_length = 93.56715, eccentricity = 0.90140, convex_area = 16085.00000, extent = 0.56565, type = C + area = 11703.00000, perimeter = 422.05301, major_axis_length = 166.01041, minor_axis_length = 91.12495, eccentricity = 0.83588, convex_area = 12023.00000, extent = 0.65376, type = O + area = 12036.00000, perimeter = 436.15500, major_axis_length = 177.33658, minor_axis_length = 87.97986, eccentricity = 0.86826, convex_area = 12353.00000, extent = 0.61543, type = O + area = 15404.00000, perimeter = 499.23099, major_axis_length = 206.08693, minor_axis_length = 95.63304, eccentricity = 0.88581, convex_area = 15740.00000, extent = 0.62476, type = C diff --git a/cmake-build-relwithdebinfo/run_2/regress.stt b/cmake-build-relwithdebinfo/run_2/regress.stt new file mode 100644 index 0000000..716c63a --- /dev/null +++ b/cmake-build-relwithdebinfo/run_2/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.9565 0.9986 0.0000 18.376 3.453 72 6 36 5 0.9565 0.9986 0.0000 18.376 3.453 72 6 36 5 +1 0 0.9884 0.9988 0.0000 16.463 3.609 41 6 58 6 0.9724 0.9988 0.0000 17.419 3.531 41 6 36 5 +2 0 0.9907 0.9988 0.0000 16.285 3.781 41 6 18 5 0.9785 0.9988 0.0000 17.041 3.614 41 6 36 5 +3 0 0.9918 0.9988 0.0000 16.106 3.906 41 6 26 8 0.9818 0.9988 0.0000 16.807 3.687 41 6 36 5 +4 0 0.9924 0.9988 0.0000 15.342 3.927 41 6 24 6 0.9840 0.9988 0.0000 16.514 3.735 41 6 36 5 +5 0 0.9895 0.9988 0.0000 14.961 3.954 41 6 70 7 0.9849 0.9988 0.0000 16.255 3.772 41 6 36 5 +6 0 0.9919 0.9988 0.0000 14.558 3.994 41 6 28 7 0.9859 0.9988 0.0000 16.013 3.804 41 6 36 5 +7 0 0.9949 0.9988 0.0000 14.502 4.051 41 6 91 9 0.9870 0.9988 0.0000 15.824 3.834 41 6 36 5 +8 0 0.9951 0.9988 0.0000 14.508 4.138 41 6 32 11 0.9879 0.9988 0.0000 15.678 3.868 41 6 36 5 +9 0 0.9946 0.9988 0.0000 14.731 4.227 41 6 38 8 0.9886 0.9988 0.0000 15.583 3.904 41 6 36 5 +10 0 0.9927 0.9988 0.0000 14.672 4.279 41 6 17 5 0.9889 0.9988 0.0000 15.500 3.938 41 6 36 5 +11 0 0.9935 0.9988 0.0000 14.810 4.354 41 6 44 10 0.9893 0.9988 0.0000 15.443 3.973 41 6 36 5 +12 0 0.9940 0.9988 0.0000 14.314 4.314 41 6 53 9 0.9897 0.9988 0.0000 15.356 3.999 41 6 36 5 +13 0 0.9960 0.9988 0.0000 14.169 4.341 41 6 36 8 0.9901 0.9988 0.0000 15.271 4.023 41 6 36 5 +14 0 0.9949 0.9988 0.0000 13.834 4.266 41 6 42 10 0.9904 0.9988 0.0000 15.175 4.040 41 6 36 5 +15 0 0.9943 0.9988 0.0000 13.703 4.297 41 6 21 7 0.9907 0.9988 0.0000 15.083 4.056 41 6 36 5 +16 0 0.9943 0.9989 0.0000 13.491 4.309 6 3 28 9 0.9909 0.9989 0.0000 14.990 4.071 6 3 36 5 +17 0 0.9957 0.9989 0.0000 13.260 4.233 6 3 18 7 0.9912 0.9989 0.0000 14.894 4.080 6 3 36 5 +18 0 0.9974 0.9989 0.0000 13.312 4.246 6 3 13 4 0.9915 0.9989 0.0000 14.810 4.088 6 3 36 5 +19 0 0.9964 0.9989 0.0000 13.288 4.264 6 3 56 13 0.9917 0.9989 0.0000 14.734 4.097 6 3 36 5 +20 0 0.9966 0.9989 0.0000 13.254 4.268 6 3 44 7 0.9920 0.9989 0.0000 14.664 4.105 6 3 36 5 +21 0 0.9959 0.9989 0.0000 13.230 4.280 6 3 29 10 0.9921 0.9989 0.0000 14.599 4.113 6 3 36 5 +22 0 0.9946 0.9989 0.0000 13.210 4.310 6 3 27 10 0.9923 0.9989 0.0000 14.538 4.122 6 3 36 5 +23 0 0.9966 0.9989 0.0000 13.092 4.290 6 3 7 3 0.9924 0.9989 0.0000 14.478 4.129 6 3 36 5 +24 0 0.9956 0.9989 0.0000 12.902 4.277 6 3 43 12 0.9926 0.9989 0.0000 14.415 4.135 6 3 36 5 +25 0 0.9966 0.9989 0.0000 12.652 4.239 6 3 33 12 0.9927 0.9989 0.0000 14.347 4.139 6 3 36 5 +26 0 0.9966 0.9989 0.0000 12.336 4.169 6 3 67 9 0.9929 0.9989 0.0000 14.273 4.140 6 3 36 5 +27 0 0.9961 0.9989 0.0000 12.100 4.091 6 3 20 5 0.9930 0.9989 0.0000 14.195 4.138 6 3 36 5 +28 0 0.9955 0.9989 0.0000 11.739 3.987 6 3 12 5 0.9931 0.9989 0.0000 14.110 4.133 6 3 36 5 +29 0 0.9967 0.9989 0.0000 11.830 4.038 6 3 13 6 0.9932 0.9989 0.0000 14.034 4.130 6 3 36 5 +30 0 0.9961 0.9989 0.0000 11.679 4.038 6 3 5 2 0.9933 0.9989 0.0000 13.958 4.127 6 3 36 5 +31 0 0.9957 0.9989 0.0000 11.385 3.998 6 3 20 8 0.9934 0.9989 0.0000 13.878 4.123 6 3 36 5 +32 0 0.9965 0.9989 0.0000 11.275 3.983 6 3 26 10 0.9934 0.9989 0.0000 13.799 4.119 6 3 36 5 +33 0 0.9965 0.9989 0.0000 10.990 3.943 6 3 42 10 0.9935 0.9989 0.0000 13.716 4.113 6 3 36 5 +34 0 0.9974 0.9989 0.0000 10.754 3.893 6 3 22 7 0.9936 0.9989 0.0000 13.632 4.107 6 3 36 5 +35 0 0.9973 0.9989 0.0000 10.593 3.837 6 3 21 8 0.9937 0.9989 0.0000 13.547 4.100 6 3 36 5 +36 0 0.9963 0.9989 0.0000 10.615 3.862 6 3 29 13 0.9938 0.9989 0.0000 13.468 4.093 6 3 36 5 +37 0 0.9961 0.9989 0.0000 10.715 3.866 6 3 13 5 0.9939 0.9989 0.0000 13.396 4.087 6 3 36 5 +38 0 0.9963 0.9989 0.0000 10.162 3.742 6 3 19 8 0.9939 0.9989 0.0000 13.313 4.078 6 3 36 5 +39 0 0.9976 0.9989 0.0000 9.900 3.690 6 3 52 13 0.9940 0.9989 0.0000 13.227 4.069 6 3 36 5 +40 0 0.9973 0.9989 0.0000 9.594 3.601 6 3 56 11 0.9941 0.9989 0.0000 13.139 4.057 6 3 36 5 +41 0 0.9967 0.9989 0.0000 9.265 3.527 6 3 28 10 0.9942 0.9989 0.0000 13.047 4.045 6 3 36 5 +42 0 0.9971 0.9989 0.0000 9.259 3.564 6 3 10 4 0.9942 0.9989 0.0000 12.959 4.033 6 3 36 5 +43 0 0.9969 0.9989 0.0000 9.036 3.476 6 3 19 6 0.9943 0.9989 0.0000 12.869 4.021 6 3 36 5 +44 0 0.9967 0.9989 0.0000 8.760 3.386 6 3 9 4 0.9943 0.9989 0.0000 12.778 4.007 6 3 36 5 +45 0 0.9967 0.9989 0.0000 8.479 3.302 6 3 20 8 0.9944 0.9989 0.0000 12.685 3.991 6 3 36 5 +46 0 0.9976 0.9989 0.0000 8.410 3.279 6 3 19 7 0.9945 0.9989 0.0000 12.594 3.976 6 3 36 5 +47 0 0.9967 0.9989 0.0000 8.228 3.244 6 3 13 5 0.9945 0.9989 0.0000 12.503 3.961 6 3 36 5 +48 0 0.9965 0.9989 0.0000 8.005 3.172 6 3 18 7 0.9945 0.9989 0.0000 12.411 3.945 6 3 36 5 +49 0 0.9975 0.9989 0.0000 7.877 3.133 6 3 15 6 0.9946 0.9989 0.0000 12.320 3.929 6 3 36 5 +50 0 0.9975 0.9989 0.0000 7.812 3.108 6 3 10 4 0.9947 0.9989 0.0000 12.232 3.913 6 3 36 5 diff --git a/cmake-build-relwithdebinfo/run_2/regress.sys b/cmake-build-relwithdebinfo/run_2/regress.sys new file mode 100644 index 0000000..e74cd56 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_2/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - exp log area perimeter major minor eccentricity convex extent R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 1216. +creating initial population(s): + 7291 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 9. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (1s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 79705578 + freed: 79657578 + not freed: 48000 + max allocated: 2523071 + malloc'ed blocks: 831656 + realloc'ed blocks: 7 + free'ed blocks: 831650 + +------- time ------- + overall: 56s wall + evaluation: 53s wall + breeding: 3s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 8283 + freed: 8283 + allocated: 5500 + blocks: 10 diff --git a/cmake-build-relwithdebinfo/run_3/regress.bst b/cmake-build-relwithdebinfo/run_3/regress.bst new file mode 100644 index 0000000..fc61244 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_3/regress.bst @@ -0,0 +1,28 @@ +=== BEST-OF-RUN === + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +TREE-equ: +y = log((((((extent - major) * log(0.94549)) - log(convex)) * ((exp((extent - ((area - (log(eccentricity) * exp(0.52971))) - log((area * convex))))) + log(convex)) - 0.89628)) / ((major - major) - log(area)))) diff --git a/cmake-build-relwithdebinfo/run_3/regress.fn b/cmake-build-relwithdebinfo/run_3/regress.fn new file mode 100644 index 0000000..6809cb7 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_3/regress.fn @@ -0,0 +1,20 @@ +Hits: 2570, Total Size: 2810, Percent Hit: 91.459075 +CC: 1047 +CO: 72 +OO: 1523 +OC: 168 + + +y = log((((((extent - major) * log(0.94549)) - log(convex)) * ((exp((extent - ((area - (log(eccentricity) * exp(0.52971))) - log((area * convex))))) + log(convex)) - 0.89628)) / ((major - major) - log(area)))) + + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) diff --git a/cmake-build-relwithdebinfo/run_3/regress.gen b/cmake-build-relwithdebinfo/run_3/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/run_3/regress.his b/cmake-build-relwithdebinfo/run_3/regress.his new file mode 100644 index 0000000..92b32ee --- /dev/null +++ b/cmake-build-relwithdebinfo/run_3/regress.his @@ -0,0 +1,1359 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 4 + depth: 2 + hits: 794 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 794 + raw fitness: 794.0000 + standardized fitness: 794.0000 + adjusted fitness: 0.9987 +TREE: + (log (/ eccentricity 0.88860)) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 4 + depth: 2 + hits: 794 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 794 + raw fitness: 794.0000 + standardized fitness: 794.0000 + adjusted fitness: 0.9987 +TREE: + (log (/ eccentricity 0.88860)) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 48 + depth: 8 + hits: 881 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 881 + raw fitness: 881.0000 + standardized fitness: 881.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp eccentricity) + (log 0.69962)) + (/ (- perimeter minor) + (exp minor)))) + (- (log (exp (exp 0.45696))) + (* (/ (- -0.75188 perimeter) + (- minor major)) + (/ (log (+ (- area major) + (* convex area))) + (exp perimeter)))))) +=== BEST-OF-RUN === + current generation: 3 + generation: 2 + nodes: 48 + depth: 8 + hits: 881 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 881 + raw fitness: 881.0000 + standardized fitness: 881.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp eccentricity) + (log 0.69962)) + (/ (- perimeter minor) + (exp minor)))) + (- (log (exp (exp 0.45696))) + (* (/ (- -0.75188 perimeter) + (- minor major)) + (/ (log (+ (- area major) + (* convex area))) + (exp perimeter)))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 2 + nodes: 48 + depth: 8 + hits: 881 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 881 + raw fitness: 881.0000 + standardized fitness: 881.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp eccentricity) + (log 0.69962)) + (/ (- perimeter minor) + (exp minor)))) + (- (log (exp (exp 0.45696))) + (* (/ (- -0.75188 perimeter) + (- minor major)) + (/ (log (+ (- area major) + (* convex area))) + (exp perimeter)))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 2 + nodes: 48 + depth: 8 + hits: 881 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 881 + raw fitness: 881.0000 + standardized fitness: 881.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp eccentricity) + (log 0.69962)) + (/ (- perimeter minor) + (exp minor)))) + (- (log (exp (exp 0.45696))) + (* (/ (- -0.75188 perimeter) + (- minor major)) + (/ (log (+ (- area major) + (* convex area))) + (exp perimeter)))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 2 + nodes: 48 + depth: 8 + hits: 881 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 881 + raw fitness: 881.0000 + standardized fitness: 881.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp eccentricity) + (log 0.69962)) + (/ (- perimeter minor) + (exp minor)))) + (- (log (exp (exp 0.45696))) + (* (/ (- -0.75188 perimeter) + (- minor major)) + (/ (log (+ (- area major) + (* convex area))) + (exp perimeter)))))) +=== BEST-OF-RUN === + current generation: 7 + generation: 2 + nodes: 48 + depth: 8 + hits: 881 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 881 + raw fitness: 881.0000 + standardized fitness: 881.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp eccentricity) + (log 0.69962)) + (/ (- perimeter minor) + (exp minor)))) + (- (log (exp (exp 0.45696))) + (* (/ (- -0.75188 perimeter) + (- minor major)) + (/ (log (+ (- area major) + (* convex area))) + (exp perimeter)))))) +=== BEST-OF-RUN === + current generation: 8 + generation: 2 + nodes: 48 + depth: 8 + hits: 881 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 881 + raw fitness: 881.0000 + standardized fitness: 881.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp eccentricity) + (log 0.69962)) + (/ (- perimeter minor) + (exp minor)))) + (- (log (exp (exp 0.45696))) + (* (/ (- -0.75188 perimeter) + (- minor major)) + (/ (log (+ (- area major) + (* convex area))) + (exp perimeter)))))) +=== BEST-OF-RUN === + current generation: 9 + generation: 2 + nodes: 48 + depth: 8 + hits: 881 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 881 + raw fitness: 881.0000 + standardized fitness: 881.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp eccentricity) + (log 0.69962)) + (/ (- perimeter minor) + (exp minor)))) + (- (log (exp (exp 0.45696))) + (* (/ (- -0.75188 perimeter) + (- minor major)) + (/ (log (+ (- area major) + (* convex area))) + (exp perimeter)))))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 31 + depth: 6 + hits: 928 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 928 + raw fitness: 928.0000 + standardized fitness: 928.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp eccentricity) + (log 0.69962)) + (/ (- perimeter minor) + (exp minor)))) + (- (log (exp -0.42545)) + (log (log perimeter))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 10 + nodes: 31 + depth: 6 + hits: 928 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 928 + raw fitness: 928.0000 + standardized fitness: 928.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp eccentricity) + (log 0.69962)) + (/ (- perimeter minor) + (exp minor)))) + (- (log (exp -0.42545)) + (log (log perimeter))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 10 + nodes: 31 + depth: 6 + hits: 928 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 928 + raw fitness: 928.0000 + standardized fitness: 928.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp eccentricity) + (log 0.69962)) + (/ (- perimeter minor) + (exp minor)))) + (- (log (exp -0.42545)) + (log (log perimeter))))) +=== BEST-OF-RUN === + current generation: 13 + generation: 10 + nodes: 31 + depth: 6 + hits: 928 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 928 + raw fitness: 928.0000 + standardized fitness: 928.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp eccentricity) + (log 0.69962)) + (/ (- perimeter minor) + (exp minor)))) + (- (log (exp -0.42545)) + (log (log perimeter))))) +=== BEST-OF-RUN === + current generation: 14 + generation: 10 + nodes: 31 + depth: 6 + hits: 928 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 928 + raw fitness: 928.0000 + standardized fitness: 928.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp eccentricity) + (log 0.69962)) + (/ (- perimeter minor) + (exp minor)))) + (- (log (exp -0.42545)) + (log (log perimeter))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 10 + nodes: 31 + depth: 6 + hits: 928 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 928 + raw fitness: 928.0000 + standardized fitness: 928.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp eccentricity) + (log 0.69962)) + (/ (- perimeter minor) + (exp minor)))) + (- (log (exp -0.42545)) + (log (log perimeter))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 10 + nodes: 31 + depth: 6 + hits: 928 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 928 + raw fitness: 928.0000 + standardized fitness: 928.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp eccentricity) + (log 0.69962)) + (/ (- perimeter minor) + (exp minor)))) + (- (log (exp -0.42545)) + (log (log perimeter))))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 43 + depth: 11 + hits: 929 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 929 + raw fitness: 929.0000 + standardized fitness: 929.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log 0.69962)) 0.89628)) + (- (log (exp (exp 0.45696))) + (log (* (- extent extent) -0.28118))))) +=== BEST-OF-RUN === + current generation: 18 + generation: 17 + nodes: 43 + depth: 11 + hits: 929 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 929 + raw fitness: 929.0000 + standardized fitness: 929.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log 0.69962)) 0.89628)) + (- (log (exp (exp 0.45696))) + (log (* (- extent extent) -0.28118))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 17 + nodes: 43 + depth: 11 + hits: 929 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 929 + raw fitness: 929.0000 + standardized fitness: 929.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log 0.69962)) 0.89628)) + (- (log (exp (exp 0.45696))) + (log (* (- extent extent) -0.28118))))) +=== BEST-OF-RUN === + current generation: 20 + generation: 17 + nodes: 43 + depth: 11 + hits: 929 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 929 + raw fitness: 929.0000 + standardized fitness: 929.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log 0.69962)) 0.89628)) + (- (log (exp (exp 0.45696))) + (log (* (- extent extent) -0.28118))))) +=== BEST-OF-RUN === + current generation: 21 + generation: 17 + nodes: 43 + depth: 11 + hits: 929 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 929 + raw fitness: 929.0000 + standardized fitness: 929.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log 0.69962)) 0.89628)) + (- (log (exp (exp 0.45696))) + (log (* (- extent extent) -0.28118))))) +=== BEST-OF-RUN === + current generation: 22 + generation: 17 + nodes: 43 + depth: 11 + hits: 929 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 929 + raw fitness: 929.0000 + standardized fitness: 929.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log 0.69962)) 0.89628)) + (- (log (exp (exp 0.45696))) + (log (* (- extent extent) -0.28118))))) +=== BEST-OF-RUN === + current generation: 23 + generation: 17 + nodes: 43 + depth: 11 + hits: 929 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 929 + raw fitness: 929.0000 + standardized fitness: 929.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log 0.69962)) 0.89628)) + (- (log (exp (exp 0.45696))) + (log (* (- extent extent) -0.28118))))) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 25 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 26 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 27 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 28 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 29 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 30 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 31 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 32 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 33 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 34 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 35 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 36 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 37 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 38 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 39 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 40 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 41 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 42 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 43 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 44 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 45 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 46 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 47 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 48 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 49 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) +=== BEST-OF-RUN === + current generation: 50 + generation: 24 + nodes: 38 + depth: 11 + hits: 932 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 932 + raw fitness: 932.0000 + standardized fitness: 932.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* (- (* (- extent major) + (log 0.94549)) + (log convex)) + (- (+ (exp (- extent + (- (- area + (* (log eccentricity) + (exp 0.52971))) + (log (* area convex))))) + (log convex)) 0.89628)) + (- (- major major) + (log area)))) diff --git a/cmake-build-relwithdebinfo/run_3/regress.prg b/cmake-build-relwithdebinfo/run_3/regress.prg new file mode 100644 index 0000000..8b85375 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_3/regress.prg @@ -0,0 +1,1002 @@ +not starting from checkpoint file. +1000 fitness cases: + area = 10074.00000, perimeter = 397.39801, major_axis_length = 166.98961, minor_axis_length = 77.15101, eccentricity = 0.88687, convex_area = 10249.00000, extent = 0.70398, type = O + area = 11711.00000, perimeter = 447.00400, major_axis_length = 190.94492, minor_axis_length = 79.28987, eccentricity = 0.90971, convex_area = 11904.00000, extent = 0.59146, type = O + area = 14404.00000, perimeter = 486.48401, major_axis_length = 206.77576, minor_axis_length = 89.47427, eccentricity = 0.90153, convex_area = 14658.00000, extent = 0.79457, type = C + area = 14449.00000, perimeter = 496.32599, major_axis_length = 209.70576, minor_axis_length = 89.79037, eccentricity = 0.90370, convex_area = 14810.00000, extent = 0.66231, type = C + area = 12495.00000, perimeter = 458.40701, major_axis_length = 187.60420, minor_axis_length = 87.02570, eccentricity = 0.88590, convex_area = 12993.00000, extent = 0.67493, type = C + area = 14436.00000, perimeter = 485.82599, major_axis_length = 204.46996, minor_axis_length = 90.74992, eccentricity = 0.89611, convex_area = 14864.00000, extent = 0.61448, type = C + area = 11153.00000, perimeter = 426.55899, major_axis_length = 178.85001, minor_axis_length = 80.41410, eccentricity = 0.89322, convex_area = 11371.00000, extent = 0.72838, type = O + area = 13658.00000, perimeter = 499.37399, major_axis_length = 206.50974, minor_axis_length = 85.75655, eccentricity = 0.90970, convex_area = 14177.00000, extent = 0.54027, type = C + area = 15336.00000, perimeter = 508.78500, major_axis_length = 219.26230, minor_axis_length = 89.74197, eccentricity = 0.91240, convex_area = 15599.00000, extent = 0.58001, type = C + area = 11327.00000, perimeter = 423.16800, major_axis_length = 169.29546, minor_axis_length = 86.56846, eccentricity = 0.85938, convex_area = 11657.00000, extent = 0.72000, type = O + area = 12347.00000, perimeter = 452.29001, major_axis_length = 186.89604, minor_axis_length = 85.22990, eccentricity = 0.88997, convex_area = 12659.00000, extent = 0.60525, type = O + area = 7833.00000, perimeter = 373.15701, major_axis_length = 162.51643, minor_axis_length = 63.56500, eccentricity = 0.92034, convex_area = 8015.00000, extent = 0.76975, type = O + area = 11044.00000, perimeter = 420.21899, major_axis_length = 165.99222, minor_axis_length = 87.13152, eccentricity = 0.85116, convex_area = 11328.00000, extent = 0.61294, type = O + area = 10453.00000, perimeter = 411.44800, major_axis_length = 175.73219, minor_axis_length = 76.61852, eccentricity = 0.89995, convex_area = 10589.00000, extent = 0.80563, type = O + area = 15568.00000, perimeter = 519.45599, major_axis_length = 222.22809, minor_axis_length = 90.81753, eccentricity = 0.91268, convex_area = 15984.00000, extent = 0.78270, type = C + area = 12419.00000, perimeter = 439.15701, major_axis_length = 175.85406, minor_axis_length = 90.91185, eccentricity = 0.85600, convex_area = 12675.00000, extent = 0.62382, type = O + area = 17198.00000, perimeter = 520.99200, major_axis_length = 209.97021, minor_axis_length = 105.67059, eccentricity = 0.86413, convex_area = 17586.00000, extent = 0.60616, type = C + area = 11815.00000, perimeter = 430.10699, major_axis_length = 177.79692, minor_axis_length = 85.67855, eccentricity = 0.87623, convex_area = 11993.00000, extent = 0.70617, type = O + area = 12912.00000, perimeter = 459.73901, major_axis_length = 188.73036, minor_axis_length = 88.96233, eccentricity = 0.88193, convex_area = 13205.00000, extent = 0.69048, type = O + area = 9236.00000, perimeter = 394.34100, major_axis_length = 160.92889, minor_axis_length = 74.24968, eccentricity = 0.88720, convex_area = 9465.00000, extent = 0.57739, type = O + area = 14818.00000, perimeter = 499.35999, major_axis_length = 208.87550, minor_axis_length = 91.91077, eccentricity = 0.89798, convex_area = 15204.00000, extent = 0.57541, type = C + area = 11513.00000, perimeter = 438.62500, major_axis_length = 189.72221, minor_axis_length = 77.68551, eccentricity = 0.91232, convex_area = 11736.00000, extent = 0.68424, type = C + area = 16490.00000, perimeter = 520.31897, major_axis_length = 212.01076, minor_axis_length = 101.68001, eccentricity = 0.87749, convex_area = 16873.00000, extent = 0.62937, type = C + area = 15311.00000, perimeter = 507.99500, major_axis_length = 215.14145, minor_axis_length = 91.61975, eccentricity = 0.90479, convex_area = 15690.00000, extent = 0.70441, type = C + area = 11200.00000, perimeter = 428.16699, major_axis_length = 176.10751, minor_axis_length = 82.36244, eccentricity = 0.88390, convex_area = 11424.00000, extent = 0.58425, type = O + area = 13422.00000, perimeter = 474.95499, major_axis_length = 196.45425, minor_axis_length = 88.85059, eccentricity = 0.89188, convex_area = 13817.00000, extent = 0.55981, type = C + area = 11883.00000, perimeter = 448.21600, major_axis_length = 191.74635, minor_axis_length = 79.46400, eccentricity = 0.91008, convex_area = 12103.00000, extent = 0.55032, type = C + area = 11883.00000, perimeter = 438.21899, major_axis_length = 178.86168, minor_axis_length = 86.56590, eccentricity = 0.87508, convex_area = 12204.00000, extent = 0.67128, type = O + area = 12419.00000, perimeter = 452.19901, major_axis_length = 183.38661, minor_axis_length = 87.75107, eccentricity = 0.87809, convex_area = 12720.00000, extent = 0.58229, type = O + area = 12191.00000, perimeter = 441.68799, major_axis_length = 180.11627, minor_axis_length = 87.87494, eccentricity = 0.87291, convex_area = 12481.00000, extent = 0.60113, type = O + area = 11479.00000, perimeter = 421.07501, major_axis_length = 171.34761, minor_axis_length = 85.80914, eccentricity = 0.86557, convex_area = 11677.00000, extent = 0.79910, type = O + area = 14947.00000, perimeter = 506.65100, major_axis_length = 214.34431, minor_axis_length = 89.52690, eccentricity = 0.90860, convex_area = 15364.00000, extent = 0.56300, type = C + area = 8505.00000, perimeter = 359.10001, major_axis_length = 147.79889, minor_axis_length = 73.80869, eccentricity = 0.86638, convex_area = 8651.00000, extent = 0.67726, type = O + area = 13413.00000, perimeter = 475.39001, major_axis_length = 196.85678, minor_axis_length = 87.78819, eccentricity = 0.89506, convex_area = 13917.00000, extent = 0.57101, type = C + area = 11818.00000, perimeter = 433.82800, major_axis_length = 175.96391, minor_axis_length = 86.77378, eccentricity = 0.86995, convex_area = 12118.00000, extent = 0.71494, type = O + area = 14747.00000, perimeter = 501.76599, major_axis_length = 213.74219, minor_axis_length = 88.58164, eccentricity = 0.91008, convex_area = 15070.00000, extent = 0.76441, type = C + area = 8992.00000, perimeter = 377.33200, major_axis_length = 158.27892, minor_axis_length = 73.05545, eccentricity = 0.88711, convex_area = 9105.00000, extent = 0.59451, type = O + area = 15368.00000, perimeter = 503.30701, major_axis_length = 209.41850, minor_axis_length = 94.39367, eccentricity = 0.89265, convex_area = 15709.00000, extent = 0.64033, type = C + area = 15113.00000, perimeter = 493.73801, major_axis_length = 206.56613, minor_axis_length = 94.19137, eccentricity = 0.88999, convex_area = 15374.00000, extent = 0.65904, type = C + area = 12960.00000, perimeter = 460.86700, major_axis_length = 191.51770, minor_axis_length = 86.79779, eccentricity = 0.89140, convex_area = 13211.00000, extent = 0.58824, type = O + area = 16079.00000, perimeter = 522.75897, major_axis_length = 223.40591, minor_axis_length = 92.64325, eccentricity = 0.90996, convex_area = 16392.00000, extent = 0.64172, type = C + area = 14045.00000, perimeter = 482.74200, major_axis_length = 200.02724, minor_axis_length = 90.71384, eccentricity = 0.89125, convex_area = 14305.00000, extent = 0.57261, type = C + area = 11321.00000, perimeter = 424.57599, major_axis_length = 173.99763, minor_axis_length = 84.73989, eccentricity = 0.87339, convex_area = 11631.00000, extent = 0.62190, type = O + area = 12349.00000, perimeter = 467.66501, major_axis_length = 202.68781, minor_axis_length = 78.67498, eccentricity = 0.92159, convex_area = 12572.00000, extent = 0.54816, type = C + area = 11813.00000, perimeter = 430.25500, major_axis_length = 172.56953, minor_axis_length = 88.02676, eccentricity = 0.86012, convex_area = 12088.00000, extent = 0.71750, type = O + area = 16734.00000, perimeter = 531.50702, major_axis_length = 220.69548, minor_axis_length = 97.83933, eccentricity = 0.89636, convex_area = 17242.00000, extent = 0.65711, type = C + area = 11743.00000, perimeter = 432.54700, major_axis_length = 175.79793, minor_axis_length = 86.18153, eccentricity = 0.87159, convex_area = 12077.00000, extent = 0.73320, type = O + area = 10735.00000, perimeter = 421.48801, major_axis_length = 172.77937, minor_axis_length = 80.16738, eccentricity = 0.88584, convex_area = 11021.00000, extent = 0.78095, type = O + area = 10819.00000, perimeter = 409.14999, major_axis_length = 164.46439, minor_axis_length = 84.92332, eccentricity = 0.85637, convex_area = 10988.00000, extent = 0.71811, type = O + area = 13021.00000, perimeter = 455.97699, major_axis_length = 185.10437, minor_axis_length = 91.06282, eccentricity = 0.87062, convex_area = 13380.00000, extent = 0.70066, type = O + area = 15977.00000, perimeter = 516.20898, major_axis_length = 216.75784, minor_axis_length = 94.92934, eccentricity = 0.89900, convex_area = 16401.00000, extent = 0.62751, type = C + area = 10937.00000, perimeter = 411.95801, major_axis_length = 165.00778, minor_axis_length = 85.26155, eccentricity = 0.85616, convex_area = 11135.00000, extent = 0.62497, type = O + area = 14750.00000, perimeter = 484.15201, major_axis_length = 201.24701, minor_axis_length = 94.85915, eccentricity = 0.88194, convex_area = 14967.00000, extent = 0.78067, type = C + area = 14340.00000, perimeter = 477.89600, major_axis_length = 196.47507, minor_axis_length = 94.25779, eccentricity = 0.87741, convex_area = 14700.00000, extent = 0.60814, type = C + area = 15136.00000, perimeter = 518.64398, major_axis_length = 221.70911, minor_axis_length = 88.20763, eccentricity = 0.91745, convex_area = 15469.00000, extent = 0.52971, type = C + area = 16199.00000, perimeter = 514.15601, major_axis_length = 217.63051, minor_axis_length = 95.51936, eccentricity = 0.89853, convex_area = 16475.00000, extent = 0.70769, type = C + area = 12043.00000, perimeter = 442.07001, major_axis_length = 181.10954, minor_axis_length = 85.57944, eccentricity = 0.88132, convex_area = 12276.00000, extent = 0.60017, type = O + area = 12478.00000, perimeter = 439.22198, major_axis_length = 176.34395, minor_axis_length = 91.28975, eccentricity = 0.85557, convex_area = 12754.00000, extent = 0.63582, type = O + area = 11363.00000, perimeter = 423.26599, major_axis_length = 175.87416, minor_axis_length = 83.84263, eccentricity = 0.87906, convex_area = 11548.00000, extent = 0.79135, type = O + area = 11577.00000, perimeter = 431.15601, major_axis_length = 178.83626, minor_axis_length = 83.40616, eccentricity = 0.88458, convex_area = 11810.00000, extent = 0.75607, type = C + area = 11307.00000, perimeter = 437.88000, major_axis_length = 181.03758, minor_axis_length = 80.66364, eccentricity = 0.89525, convex_area = 11662.00000, extent = 0.71845, type = O + area = 11480.00000, perimeter = 422.54901, major_axis_length = 171.27106, minor_axis_length = 86.83596, eccentricity = 0.86194, convex_area = 11781.00000, extent = 0.64822, type = O + area = 9577.00000, perimeter = 403.17099, major_axis_length = 174.98221, minor_axis_length = 70.26763, eccentricity = 0.91583, convex_area = 9769.00000, extent = 0.62710, type = O + area = 15166.00000, perimeter = 502.16501, major_axis_length = 214.13986, minor_axis_length = 91.38511, eccentricity = 0.90437, convex_area = 15475.00000, extent = 0.79486, type = C + area = 9908.00000, perimeter = 432.76901, major_axis_length = 188.18768, minor_axis_length = 67.69534, eccentricity = 0.93306, convex_area = 10205.00000, extent = 0.61168, type = C + area = 15158.00000, perimeter = 505.27600, major_axis_length = 209.47603, minor_axis_length = 93.92683, eccentricity = 0.89384, convex_area = 15586.00000, extent = 0.60937, type = C + area = 10880.00000, perimeter = 394.64499, major_axis_length = 153.79482, minor_axis_length = 90.98818, eccentricity = 0.80622, convex_area = 11057.00000, extent = 0.74777, type = O + area = 10980.00000, perimeter = 428.08401, major_axis_length = 181.87335, minor_axis_length = 77.56380, eccentricity = 0.90450, convex_area = 11174.00000, extent = 0.58280, type = O + area = 12917.00000, perimeter = 473.23499, major_axis_length = 200.32533, minor_axis_length = 83.20118, eccentricity = 0.90967, convex_area = 13302.00000, extent = 0.66610, type = C + area = 14015.00000, perimeter = 475.72400, major_axis_length = 195.32164, minor_axis_length = 92.48479, eccentricity = 0.88079, convex_area = 14492.00000, extent = 0.74862, type = C + area = 11639.00000, perimeter = 434.60599, major_axis_length = 178.85333, minor_axis_length = 84.30604, eccentricity = 0.88194, convex_area = 11941.00000, extent = 0.69954, type = O + area = 9165.00000, perimeter = 380.66000, major_axis_length = 156.67039, minor_axis_length = 75.54001, eccentricity = 0.87608, convex_area = 9366.00000, extent = 0.65436, type = O + area = 12730.00000, perimeter = 454.43900, major_axis_length = 186.89359, minor_axis_length = 87.86870, eccentricity = 0.88258, convex_area = 12943.00000, extent = 0.66614, type = O + area = 13491.00000, perimeter = 475.34500, major_axis_length = 198.66234, minor_axis_length = 87.65083, eccentricity = 0.89741, convex_area = 13812.00000, extent = 0.69883, type = C + area = 11898.00000, perimeter = 453.98001, major_axis_length = 195.36005, minor_axis_length = 78.36910, eccentricity = 0.91601, convex_area = 12134.00000, extent = 0.54804, type = C + area = 16799.00000, perimeter = 524.24701, major_axis_length = 218.34256, minor_axis_length = 99.16318, eccentricity = 0.89092, convex_area = 17283.00000, extent = 0.62371, type = C + area = 14329.00000, perimeter = 486.27701, major_axis_length = 206.57230, minor_axis_length = 89.21240, eccentricity = 0.90194, convex_area = 14588.00000, extent = 0.81276, type = C + area = 11926.00000, perimeter = 435.75400, major_axis_length = 173.26959, minor_axis_length = 89.63291, eccentricity = 0.85580, convex_area = 12308.00000, extent = 0.75319, type = O + area = 14467.00000, perimeter = 498.62399, major_axis_length = 213.59563, minor_axis_length = 86.99999, eccentricity = 0.91329, convex_area = 14857.00000, extent = 0.74076, type = C + area = 13693.00000, perimeter = 479.47900, major_axis_length = 200.39729, minor_axis_length = 88.17446, eccentricity = 0.89800, convex_area = 14097.00000, extent = 0.69525, type = C + area = 15475.00000, perimeter = 511.42700, major_axis_length = 219.14824, minor_axis_length = 91.46255, eccentricity = 0.90874, convex_area = 15759.00000, extent = 0.78874, type = C + area = 15204.00000, perimeter = 510.48700, major_axis_length = 216.31686, minor_axis_length = 90.85395, eccentricity = 0.90752, convex_area = 15535.00000, extent = 0.56211, type = C + area = 14305.00000, perimeter = 491.16101, major_axis_length = 207.87129, minor_axis_length = 88.60971, eccentricity = 0.90460, convex_area = 14633.00000, extent = 0.57953, type = C + area = 11686.00000, perimeter = 441.18399, major_axis_length = 180.69609, minor_axis_length = 83.45304, eccentricity = 0.88696, convex_area = 12023.00000, extent = 0.57709, type = O + area = 12759.00000, perimeter = 463.64099, major_axis_length = 200.95746, minor_axis_length = 81.20908, eccentricity = 0.91471, convex_area = 12993.00000, extent = 0.77894, type = C + area = 11437.00000, perimeter = 430.61200, major_axis_length = 184.13446, minor_axis_length = 79.24054, eccentricity = 0.90267, convex_area = 11587.00000, extent = 0.68794, type = O + area = 12915.00000, perimeter = 456.14499, major_axis_length = 181.74844, minor_axis_length = 92.09657, eccentricity = 0.86211, convex_area = 13284.00000, extent = 0.60600, type = O + area = 12746.00000, perimeter = 446.13400, major_axis_length = 182.34105, minor_axis_length = 89.76051, eccentricity = 0.87044, convex_area = 12993.00000, extent = 0.80917, type = O + area = 10524.00000, perimeter = 402.49500, major_axis_length = 164.08194, minor_axis_length = 82.46438, eccentricity = 0.86453, convex_area = 10713.00000, extent = 0.63253, type = O + area = 14339.00000, perimeter = 492.30801, major_axis_length = 205.77316, minor_axis_length = 90.85659, eccentricity = 0.89724, convex_area = 14818.00000, extent = 0.62747, type = C + area = 9598.00000, perimeter = 397.00000, major_axis_length = 172.00679, minor_axis_length = 72.28365, eccentricity = 0.90741, convex_area = 9766.00000, extent = 0.79685, type = O + area = 13540.00000, perimeter = 458.53000, major_axis_length = 189.11140, minor_axis_length = 92.39391, eccentricity = 0.87253, convex_area = 13710.00000, extent = 0.79995, type = C + area = 16190.00000, perimeter = 529.66101, major_axis_length = 224.38686, minor_axis_length = 93.10742, eccentricity = 0.90985, convex_area = 16530.00000, extent = 0.53482, type = C + area = 14641.00000, perimeter = 505.00201, major_axis_length = 211.58365, minor_axis_length = 90.03343, eccentricity = 0.90495, convex_area = 15034.00000, extent = 0.62956, type = C + area = 9414.00000, perimeter = 407.82501, major_axis_length = 179.54588, minor_axis_length = 66.91816, eccentricity = 0.92795, convex_area = 9583.00000, extent = 0.81043, type = O + area = 14646.00000, perimeter = 511.45200, major_axis_length = 220.48257, minor_axis_length = 85.63171, eccentricity = 0.92150, convex_area = 14999.00000, extent = 0.63667, type = C + area = 10727.00000, perimeter = 420.36499, major_axis_length = 174.38452, minor_axis_length = 79.60275, eccentricity = 0.88973, convex_area = 11009.00000, extent = 0.67061, type = O + area = 11433.00000, perimeter = 426.92499, major_axis_length = 175.86852, minor_axis_length = 84.19808, eccentricity = 0.87795, convex_area = 11719.00000, extent = 0.60752, type = O + area = 10965.00000, perimeter = 416.62701, major_axis_length = 171.80995, minor_axis_length = 82.71229, eccentricity = 0.87649, convex_area = 11167.00000, extent = 0.66054, type = O + area = 16602.00000, perimeter = 528.35303, major_axis_length = 224.41542, minor_axis_length = 95.47276, eccentricity = 0.90499, convex_area = 16900.00000, extent = 0.56548, type = C + area = 14620.00000, perimeter = 493.94400, major_axis_length = 212.26605, minor_axis_length = 88.77168, eccentricity = 0.90835, convex_area = 14931.00000, extent = 0.72419, type = C + area = 13665.00000, perimeter = 482.07700, major_axis_length = 208.96404, minor_axis_length = 84.61726, eccentricity = 0.91434, convex_area = 13998.00000, extent = 0.60121, type = C + area = 12551.00000, perimeter = 459.72900, major_axis_length = 197.68234, minor_axis_length = 81.57028, eccentricity = 0.91090, convex_area = 12741.00000, extent = 0.81894, type = C + area = 14410.00000, perimeter = 477.66199, major_axis_length = 197.17638, minor_axis_length = 93.66034, eccentricity = 0.87998, convex_area = 14645.00000, extent = 0.65727, type = C + area = 14421.00000, perimeter = 489.81799, major_axis_length = 204.95683, minor_axis_length = 90.34169, eccentricity = 0.89761, convex_area = 14716.00000, extent = 0.62526, type = C + area = 16593.00000, perimeter = 524.83801, major_axis_length = 218.10382, minor_axis_length = 97.85260, eccentricity = 0.89371, convex_area = 16814.00000, extent = 0.59329, type = C + area = 12831.00000, perimeter = 446.63101, major_axis_length = 181.87178, minor_axis_length = 90.23387, eccentricity = 0.86824, convex_area = 13061.00000, extent = 0.66996, type = O + area = 14304.00000, perimeter = 489.03699, major_axis_length = 211.02661, minor_axis_length = 86.83942, eccentricity = 0.91141, convex_area = 14483.00000, extent = 0.57773, type = C + area = 14013.00000, perimeter = 478.27701, major_axis_length = 194.78256, minor_axis_length = 92.95033, eccentricity = 0.87879, convex_area = 14374.00000, extent = 0.60401, type = C + area = 14085.00000, perimeter = 489.45499, major_axis_length = 200.52655, minor_axis_length = 91.23563, eccentricity = 0.89050, convex_area = 14670.00000, extent = 0.62717, type = C + area = 15710.00000, perimeter = 517.07001, major_axis_length = 214.75021, minor_axis_length = 95.24736, eccentricity = 0.89626, convex_area = 16259.00000, extent = 0.60760, type = C + area = 14017.00000, perimeter = 471.81400, major_axis_length = 194.64345, minor_axis_length = 92.36013, eccentricity = 0.88025, convex_area = 14314.00000, extent = 0.70879, type = C + area = 11774.00000, perimeter = 433.72900, major_axis_length = 180.27849, minor_axis_length = 84.22351, eccentricity = 0.88416, convex_area = 12036.00000, extent = 0.79770, type = O + area = 13436.00000, perimeter = 467.95901, major_axis_length = 195.02281, minor_axis_length = 89.14904, eccentricity = 0.88940, convex_area = 13798.00000, extent = 0.79607, type = C + area = 12437.00000, perimeter = 442.49899, major_axis_length = 183.57292, minor_axis_length = 86.80198, eccentricity = 0.88114, convex_area = 12645.00000, extent = 0.62674, type = O + area = 12416.00000, perimeter = 441.92801, major_axis_length = 175.21472, minor_axis_length = 91.56062, eccentricity = 0.85260, convex_area = 12738.00000, extent = 0.62917, type = O + area = 10882.00000, perimeter = 411.74600, major_axis_length = 168.95947, minor_axis_length = 83.18147, eccentricity = 0.87042, convex_area = 11033.00000, extent = 0.75402, type = O + area = 13029.00000, perimeter = 466.88699, major_axis_length = 197.72624, minor_axis_length = 84.60393, eccentricity = 0.90383, convex_area = 13300.00000, extent = 0.61006, type = C + area = 12126.00000, perimeter = 432.95099, major_axis_length = 169.80475, minor_axis_length = 92.43899, eccentricity = 0.83884, convex_area = 12476.00000, extent = 0.75186, type = O + area = 11545.00000, perimeter = 431.11600, major_axis_length = 174.73683, minor_axis_length = 85.66144, eccentricity = 0.87159, convex_area = 11911.00000, extent = 0.65300, type = O + area = 11808.00000, perimeter = 431.45700, major_axis_length = 176.30458, minor_axis_length = 85.55895, eccentricity = 0.87435, convex_area = 12006.00000, extent = 0.61835, type = O + area = 10759.00000, perimeter = 401.92700, major_axis_length = 158.93987, minor_axis_length = 87.47952, eccentricity = 0.83491, convex_area = 10955.00000, extent = 0.61922, type = O + area = 11594.00000, perimeter = 437.91000, major_axis_length = 178.67661, minor_axis_length = 84.30540, eccentricity = 0.88169, convex_area = 11969.00000, extent = 0.60060, type = O + area = 11766.00000, perimeter = 423.98099, major_axis_length = 171.20862, minor_axis_length = 88.11246, eccentricity = 0.85740, convex_area = 11954.00000, extent = 0.63918, type = O + area = 13002.00000, perimeter = 448.11499, major_axis_length = 182.62787, minor_axis_length = 91.47121, eccentricity = 0.86553, convex_area = 13200.00000, extent = 0.60581, type = O + area = 11432.00000, perimeter = 424.17700, major_axis_length = 170.66464, minor_axis_length = 86.86543, eccentricity = 0.86078, convex_area = 11702.00000, extent = 0.66020, type = O + area = 13509.00000, perimeter = 480.46600, major_axis_length = 207.13716, minor_axis_length = 83.94016, eccentricity = 0.91421, convex_area = 13732.00000, extent = 0.59563, type = C + area = 11438.00000, perimeter = 433.91800, major_axis_length = 178.35156, minor_axis_length = 83.54765, eccentricity = 0.88349, convex_area = 11767.00000, extent = 0.74302, type = O + area = 14294.00000, perimeter = 484.19400, major_axis_length = 205.12840, minor_axis_length = 89.00131, eccentricity = 0.90097, convex_area = 14542.00000, extent = 0.70445, type = C + area = 11081.00000, perimeter = 414.07901, major_axis_length = 169.00883, minor_axis_length = 84.32628, eccentricity = 0.86663, convex_area = 11289.00000, extent = 0.78992, type = O + area = 10536.00000, perimeter = 412.50699, major_axis_length = 162.72029, minor_axis_length = 84.62435, eccentricity = 0.85413, convex_area = 10974.00000, extent = 0.68594, type = O + area = 11183.00000, perimeter = 414.34900, major_axis_length = 170.64938, minor_axis_length = 83.88195, eccentricity = 0.87085, convex_area = 11321.00000, extent = 0.61699, type = O + area = 13507.00000, perimeter = 468.23901, major_axis_length = 197.50925, minor_axis_length = 87.92960, eccentricity = 0.89543, convex_area = 13735.00000, extent = 0.57722, type = C + area = 12411.00000, perimeter = 466.02802, major_axis_length = 204.51340, minor_axis_length = 78.29598, eccentricity = 0.92381, convex_area = 12707.00000, extent = 0.53057, type = C + area = 13340.00000, perimeter = 474.68201, major_axis_length = 201.38533, minor_axis_length = 85.88859, eccentricity = 0.90449, convex_area = 13603.00000, extent = 0.70166, type = O + area = 13787.00000, perimeter = 476.89600, major_axis_length = 201.33832, minor_axis_length = 88.16448, eccentricity = 0.89903, convex_area = 14045.00000, extent = 0.57599, type = C + area = 11975.00000, perimeter = 434.91101, major_axis_length = 176.54028, minor_axis_length = 87.28522, eccentricity = 0.86922, convex_area = 12216.00000, extent = 0.76032, type = O + area = 11739.00000, perimeter = 434.62900, major_axis_length = 179.14783, minor_axis_length = 84.45871, eccentricity = 0.88189, convex_area = 12032.00000, extent = 0.77588, type = O + area = 12240.00000, perimeter = 454.31299, major_axis_length = 190.92790, minor_axis_length = 83.64930, eccentricity = 0.89892, convex_area = 12555.00000, extent = 0.75789, type = C + area = 12950.00000, perimeter = 468.57001, major_axis_length = 196.61679, minor_axis_length = 84.80032, eccentricity = 0.90221, convex_area = 13584.00000, extent = 0.76181, type = C + area = 11536.00000, perimeter = 426.85199, major_axis_length = 172.18907, minor_axis_length = 87.07993, eccentricity = 0.86270, convex_area = 11891.00000, extent = 0.60588, type = O + area = 10293.00000, perimeter = 413.28699, major_axis_length = 171.63895, minor_axis_length = 77.05096, eccentricity = 0.89358, convex_area = 10560.00000, extent = 0.58938, type = O + area = 11351.00000, perimeter = 417.69299, major_axis_length = 171.05106, minor_axis_length = 85.54869, eccentricity = 0.86595, convex_area = 11549.00000, extent = 0.74326, type = O + area = 16431.00000, perimeter = 509.38501, major_axis_length = 208.05287, minor_axis_length = 101.96149, eccentricity = 0.87168, convex_area = 16875.00000, extent = 0.73222, type = C + area = 13174.00000, perimeter = 480.57700, major_axis_length = 203.50645, minor_axis_length = 83.42044, eccentricity = 0.91212, convex_area = 13606.00000, extent = 0.54947, type = C + area = 12887.00000, perimeter = 468.83301, major_axis_length = 197.76321, minor_axis_length = 83.72417, eccentricity = 0.90596, convex_area = 13241.00000, extent = 0.55677, type = C + area = 15613.00000, perimeter = 509.76099, major_axis_length = 210.27808, minor_axis_length = 96.02433, eccentricity = 0.88964, convex_area = 15975.00000, extent = 0.57260, type = C + area = 14750.00000, perimeter = 482.82501, major_axis_length = 198.50336, minor_axis_length = 95.47469, eccentricity = 0.87674, convex_area = 15046.00000, extent = 0.60550, type = C + area = 12734.00000, perimeter = 466.30600, major_axis_length = 198.72568, minor_axis_length = 82.28809, eccentricity = 0.91024, convex_area = 13021.00000, extent = 0.63495, type = O + area = 13320.00000, perimeter = 467.63800, major_axis_length = 200.38208, minor_axis_length = 85.12557, eccentricity = 0.90528, convex_area = 13504.00000, extent = 0.64657, type = O + area = 12326.00000, perimeter = 459.68201, major_axis_length = 194.34097, minor_axis_length = 82.07947, eccentricity = 0.90643, convex_area = 12686.00000, extent = 0.61933, type = C + area = 13621.00000, perimeter = 477.54300, major_axis_length = 200.95772, minor_axis_length = 87.28851, eccentricity = 0.90074, convex_area = 13956.00000, extent = 0.79590, type = C + area = 12653.00000, perimeter = 441.49399, major_axis_length = 176.01511, minor_axis_length = 93.18790, eccentricity = 0.84835, convex_area = 12955.00000, extent = 0.76481, type = O + area = 12051.00000, perimeter = 423.22699, major_axis_length = 168.01328, minor_axis_length = 92.19842, eccentricity = 0.83598, convex_area = 12216.00000, extent = 0.76602, type = O + area = 14800.00000, perimeter = 502.61899, major_axis_length = 213.99492, minor_axis_length = 88.85567, eccentricity = 0.90972, convex_area = 15123.00000, extent = 0.79123, type = C + area = 14793.00000, perimeter = 501.30399, major_axis_length = 211.60114, minor_axis_length = 90.11253, eccentricity = 0.90479, convex_area = 15049.00000, extent = 0.66453, type = C + area = 16094.00000, perimeter = 504.12601, major_axis_length = 208.37119, minor_axis_length = 99.03030, eccentricity = 0.87985, convex_area = 16325.00000, extent = 0.64853, type = C + area = 14569.00000, perimeter = 500.36899, major_axis_length = 216.66966, minor_axis_length = 86.45754, eccentricity = 0.91694, convex_area = 14801.00000, extent = 0.80670, type = C + area = 11682.00000, perimeter = 437.04001, major_axis_length = 176.23099, minor_axis_length = 86.32249, eccentricity = 0.87182, convex_area = 11969.00000, extent = 0.58119, type = O + area = 11069.00000, perimeter = 419.63800, major_axis_length = 170.60017, minor_axis_length = 83.60847, eccentricity = 0.87168, convex_area = 11333.00000, extent = 0.65930, type = O + area = 12765.00000, perimeter = 460.34601, major_axis_length = 196.39055, minor_axis_length = 83.89897, eccentricity = 0.90415, convex_area = 13139.00000, extent = 0.57435, type = C + area = 14003.00000, perimeter = 489.29001, major_axis_length = 208.33290, minor_axis_length = 87.19222, eccentricity = 0.90821, convex_area = 14421.00000, extent = 0.57911, type = C + area = 11549.00000, perimeter = 425.22000, major_axis_length = 174.22697, minor_axis_length = 85.78465, eccentricity = 0.87038, convex_area = 11805.00000, extent = 0.63013, type = O + area = 11144.00000, perimeter = 427.12100, major_axis_length = 182.21642, minor_axis_length = 78.31834, eccentricity = 0.90292, convex_area = 11332.00000, extent = 0.68435, type = O + area = 12202.00000, perimeter = 442.36200, major_axis_length = 180.03778, minor_axis_length = 87.39918, eccentricity = 0.87426, convex_area = 12521.00000, extent = 0.77918, type = C + area = 16588.00000, perimeter = 531.39502, major_axis_length = 221.88550, minor_axis_length = 96.65257, eccentricity = 0.90014, convex_area = 16854.00000, extent = 0.57899, type = C + area = 11101.00000, perimeter = 418.03299, major_axis_length = 169.87318, minor_axis_length = 84.64671, eccentricity = 0.86701, convex_area = 11340.00000, extent = 0.65960, type = O + area = 14715.00000, perimeter = 497.55701, major_axis_length = 212.03532, minor_axis_length = 89.50563, eccentricity = 0.90654, convex_area = 15094.00000, extent = 0.79489, type = C + area = 12053.00000, perimeter = 449.60400, major_axis_length = 189.50099, minor_axis_length = 82.26611, eccentricity = 0.90086, convex_area = 12295.00000, extent = 0.56446, type = O + area = 13909.00000, perimeter = 475.61801, major_axis_length = 199.60727, minor_axis_length = 89.94420, eccentricity = 0.89272, convex_area = 14241.00000, extent = 0.72788, type = C + area = 12981.00000, perimeter = 449.61700, major_axis_length = 177.62296, minor_axis_length = 94.24237, eccentricity = 0.84764, convex_area = 13389.00000, extent = 0.65146, type = O + area = 12507.00000, perimeter = 458.64999, major_axis_length = 184.41704, minor_axis_length = 88.10065, eccentricity = 0.87851, convex_area = 12877.00000, extent = 0.57726, type = O + area = 11715.00000, perimeter = 429.16599, major_axis_length = 171.09964, minor_axis_length = 89.10729, eccentricity = 0.85368, convex_area = 12066.00000, extent = 0.64953, type = O + area = 13269.00000, perimeter = 491.89301, major_axis_length = 212.57471, minor_axis_length = 81.06411, eccentricity = 0.92443, convex_area = 13728.00000, extent = 0.65095, type = C + area = 10470.00000, perimeter = 419.01801, major_axis_length = 177.06436, minor_axis_length = 75.63279, eccentricity = 0.90418, convex_area = 10682.00000, extent = 0.59863, type = O + area = 12103.00000, perimeter = 446.08099, major_axis_length = 181.47110, minor_axis_length = 86.55187, eccentricity = 0.87893, convex_area = 12444.00000, extent = 0.57469, type = O + area = 13176.00000, perimeter = 458.34299, major_axis_length = 193.33739, minor_axis_length = 87.44839, eccentricity = 0.89186, convex_area = 13368.00000, extent = 0.64067, type = C + area = 15265.00000, perimeter = 505.09900, major_axis_length = 211.44301, minor_axis_length = 93.12214, eccentricity = 0.89780, convex_area = 15639.00000, extent = 0.74131, type = C + area = 13700.00000, perimeter = 455.62500, major_axis_length = 185.95854, minor_axis_length = 94.56549, eccentricity = 0.86104, convex_area = 13893.00000, extent = 0.61452, type = O + area = 14379.00000, perimeter = 495.15100, major_axis_length = 212.02097, minor_axis_length = 87.81467, eccentricity = 0.91020, convex_area = 14834.00000, extent = 0.79079, type = C + area = 13567.00000, perimeter = 475.17099, major_axis_length = 197.29468, minor_axis_length = 88.91294, eccentricity = 0.89270, convex_area = 13940.00000, extent = 0.63770, type = C + area = 12906.00000, perimeter = 449.79099, major_axis_length = 180.67589, minor_axis_length = 92.46822, eccentricity = 0.85911, convex_area = 13278.00000, extent = 0.63592, type = O + area = 11957.00000, perimeter = 441.88300, major_axis_length = 186.96121, minor_axis_length = 81.96999, eccentricity = 0.89876, convex_area = 12137.00000, extent = 0.77362, type = O + area = 15560.00000, perimeter = 502.96600, major_axis_length = 213.96318, minor_axis_length = 93.12080, eccentricity = 0.90032, convex_area = 15789.00000, extent = 0.78368, type = C + area = 11768.00000, perimeter = 433.48001, major_axis_length = 179.83427, minor_axis_length = 83.96474, eccentricity = 0.88431, convex_area = 11993.00000, extent = 0.75567, type = O + area = 11686.00000, perimeter = 433.43900, major_axis_length = 176.76244, minor_axis_length = 85.64665, eccentricity = 0.87477, convex_area = 12038.00000, extent = 0.78157, type = O + area = 10150.00000, perimeter = 405.73700, major_axis_length = 164.71855, minor_axis_length = 80.26424, eccentricity = 0.87325, convex_area = 10338.00000, extent = 0.59270, type = O + area = 11901.00000, perimeter = 436.14099, major_axis_length = 174.57289, minor_axis_length = 88.44688, eccentricity = 0.86215, convex_area = 12172.00000, extent = 0.58310, type = O + area = 10132.00000, perimeter = 398.67200, major_axis_length = 162.84520, minor_axis_length = 80.07436, eccentricity = 0.87075, convex_area = 10306.00000, extent = 0.66891, type = O + area = 15276.00000, perimeter = 506.68500, major_axis_length = 212.13568, minor_axis_length = 93.06375, eccentricity = 0.89863, convex_area = 15574.00000, extent = 0.57923, type = C + area = 13467.00000, perimeter = 478.24701, major_axis_length = 204.71851, minor_axis_length = 85.14571, eccentricity = 0.90940, convex_area = 13732.00000, extent = 0.54777, type = C + area = 11573.00000, perimeter = 446.92401, major_axis_length = 186.34879, minor_axis_length = 80.14229, eccentricity = 0.90280, convex_area = 11884.00000, extent = 0.57224, type = O + area = 12269.00000, perimeter = 436.01199, major_axis_length = 177.88475, minor_axis_length = 88.84811, eccentricity = 0.86633, convex_area = 12466.00000, extent = 0.74584, type = O + area = 15401.00000, perimeter = 499.26401, major_axis_length = 202.64989, minor_axis_length = 97.76850, eccentricity = 0.87592, convex_area = 15760.00000, extent = 0.61732, type = C + area = 11730.00000, perimeter = 424.16400, major_axis_length = 172.73737, minor_axis_length = 87.71980, eccentricity = 0.86146, convex_area = 11913.00000, extent = 0.62281, type = O + area = 12675.00000, perimeter = 456.57300, major_axis_length = 186.80682, minor_axis_length = 88.42378, eccentricity = 0.88088, convex_area = 13098.00000, extent = 0.61386, type = O + area = 13455.00000, perimeter = 468.86200, major_axis_length = 196.68491, minor_axis_length = 87.98445, eccentricity = 0.89437, convex_area = 13730.00000, extent = 0.65494, type = C + area = 10036.00000, perimeter = 402.85901, major_axis_length = 166.15659, minor_axis_length = 77.91069, eccentricity = 0.88325, convex_area = 10255.00000, extent = 0.59157, type = O + area = 13831.00000, perimeter = 483.61600, major_axis_length = 202.87578, minor_axis_length = 88.29086, eccentricity = 0.90034, convex_area = 14270.00000, extent = 0.59107, type = C + area = 11003.00000, perimeter = 417.05899, major_axis_length = 168.23433, minor_axis_length = 85.01897, eccentricity = 0.86291, convex_area = 11270.00000, extent = 0.61128, type = O + area = 11779.00000, perimeter = 440.97601, major_axis_length = 191.88248, minor_axis_length = 78.73443, eccentricity = 0.91194, convex_area = 11918.00000, extent = 0.58375, type = O + area = 11940.00000, perimeter = 443.96799, major_axis_length = 187.33362, minor_axis_length = 82.18279, eccentricity = 0.89863, convex_area = 12184.00000, extent = 0.63639, type = C + area = 10926.00000, perimeter = 416.22299, major_axis_length = 173.41998, minor_axis_length = 80.86935, eccentricity = 0.88462, convex_area = 11113.00000, extent = 0.63236, type = O + area = 10468.00000, perimeter = 427.71399, major_axis_length = 182.20401, minor_axis_length = 74.52766, eccentricity = 0.91252, convex_area = 10672.00000, extent = 0.53992, type = O + area = 15757.00000, perimeter = 509.28101, major_axis_length = 207.29668, minor_axis_length = 98.33614, eccentricity = 0.88032, convex_area = 16150.00000, extent = 0.58971, type = C + area = 15929.00000, perimeter = 513.94000, major_axis_length = 212.65752, minor_axis_length = 96.99799, eccentricity = 0.88992, convex_area = 16293.00000, extent = 0.72586, type = C + area = 9920.00000, perimeter = 398.52600, major_axis_length = 162.07564, minor_axis_length = 79.13806, eccentricity = 0.87269, convex_area = 10171.00000, extent = 0.60934, type = O + area = 12095.00000, perimeter = 444.03400, major_axis_length = 186.06767, minor_axis_length = 83.80881, eccentricity = 0.89282, convex_area = 12290.00000, extent = 0.69994, type = O + area = 11869.00000, perimeter = 434.25201, major_axis_length = 177.87265, minor_axis_length = 86.16555, eccentricity = 0.87483, convex_area = 12144.00000, extent = 0.62151, type = O + area = 8328.00000, perimeter = 369.73801, major_axis_length = 152.56586, minor_axis_length = 70.56860, eccentricity = 0.88660, convex_area = 8579.00000, extent = 0.58442, type = O + area = 14935.00000, perimeter = 489.23401, major_axis_length = 202.40665, minor_axis_length = 94.64574, eccentricity = 0.88394, convex_area = 15251.00000, extent = 0.60904, type = C + area = 12337.00000, perimeter = 446.22000, major_axis_length = 180.54181, minor_axis_length = 87.79291, eccentricity = 0.87381, convex_area = 12628.00000, extent = 0.61293, type = O + area = 10767.00000, perimeter = 410.62299, major_axis_length = 166.02318, minor_axis_length = 83.88680, eccentricity = 0.86296, convex_area = 10978.00000, extent = 0.77216, type = O + area = 12388.00000, perimeter = 440.44901, major_axis_length = 175.24246, minor_axis_length = 92.23208, eccentricity = 0.85029, convex_area = 12753.00000, extent = 0.61348, type = O + area = 12526.00000, perimeter = 441.32999, major_axis_length = 179.24625, minor_axis_length = 90.15468, eccentricity = 0.86431, convex_area = 12768.00000, extent = 0.71889, type = O + area = 10638.00000, perimeter = 407.20700, major_axis_length = 168.55212, minor_axis_length = 81.18849, eccentricity = 0.87635, convex_area = 10834.00000, extent = 0.67581, type = O + area = 9862.00000, perimeter = 396.86200, major_axis_length = 166.76166, minor_axis_length = 75.71849, eccentricity = 0.89098, convex_area = 10064.00000, extent = 0.64039, type = O + area = 10474.00000, perimeter = 403.45999, major_axis_length = 167.88440, minor_axis_length = 80.18859, eccentricity = 0.87855, convex_area = 10611.00000, extent = 0.78870, type = O + area = 13181.00000, perimeter = 470.38901, major_axis_length = 199.47208, minor_axis_length = 84.90553, eccentricity = 0.90489, convex_area = 13429.00000, extent = 0.73436, type = C + area = 10620.00000, perimeter = 404.93201, major_axis_length = 164.52055, minor_axis_length = 83.29569, eccentricity = 0.86236, convex_area = 10863.00000, extent = 0.76184, type = O + area = 10550.00000, perimeter = 411.03000, major_axis_length = 162.71361, minor_axis_length = 83.67723, eccentricity = 0.85763, convex_area = 10875.00000, extent = 0.61870, type = O + area = 11386.00000, perimeter = 450.12000, major_axis_length = 195.46043, minor_axis_length = 75.84289, eccentricity = 0.92165, convex_area = 11612.00000, extent = 0.51286, type = C + area = 13840.00000, perimeter = 476.90100, major_axis_length = 201.62569, minor_axis_length = 88.24250, eccentricity = 0.89914, convex_area = 14205.00000, extent = 0.63058, type = C + area = 12886.00000, perimeter = 455.51801, major_axis_length = 189.85989, minor_axis_length = 87.49918, eccentricity = 0.88747, convex_area = 13080.00000, extent = 0.59230, type = C + area = 12844.00000, perimeter = 454.83701, major_axis_length = 191.98018, minor_axis_length = 85.41942, eccentricity = 0.89556, convex_area = 13043.00000, extent = 0.61789, type = C + area = 11304.00000, perimeter = 419.18100, major_axis_length = 171.37912, minor_axis_length = 84.67481, eccentricity = 0.86942, convex_area = 11504.00000, extent = 0.72092, type = O + area = 15529.00000, perimeter = 509.01700, major_axis_length = 207.05132, minor_axis_length = 96.98811, eccentricity = 0.88350, convex_area = 15993.00000, extent = 0.59974, type = C + area = 11543.00000, perimeter = 428.60199, major_axis_length = 175.37068, minor_axis_length = 85.05824, eccentricity = 0.87450, convex_area = 11859.00000, extent = 0.67107, type = O + area = 13413.00000, perimeter = 465.60501, major_axis_length = 198.85272, minor_axis_length = 86.09415, eccentricity = 0.90142, convex_area = 13620.00000, extent = 0.63533, type = C + area = 14588.00000, perimeter = 502.56900, major_axis_length = 214.89561, minor_axis_length = 88.20730, eccentricity = 0.91188, convex_area = 14923.00000, extent = 0.53615, type = C + area = 11180.00000, perimeter = 427.70801, major_axis_length = 174.70352, minor_axis_length = 82.88113, eccentricity = 0.88030, convex_area = 11518.00000, extent = 0.72194, type = O + area = 13237.00000, perimeter = 478.01099, major_axis_length = 199.68924, minor_axis_length = 85.27763, eccentricity = 0.90423, convex_area = 13627.00000, extent = 0.55852, type = C + area = 12587.00000, perimeter = 451.17200, major_axis_length = 185.70013, minor_axis_length = 87.76485, eccentricity = 0.88127, convex_area = 12941.00000, extent = 0.69804, type = O + area = 15043.00000, perimeter = 498.29901, major_axis_length = 206.01170, minor_axis_length = 94.76669, eccentricity = 0.88792, convex_area = 15414.00000, extent = 0.58688, type = C + area = 11458.00000, perimeter = 437.44101, major_axis_length = 178.60359, minor_axis_length = 83.98285, eccentricity = 0.88255, convex_area = 11732.00000, extent = 0.76204, type = O + area = 13574.00000, perimeter = 488.49701, major_axis_length = 210.68631, minor_axis_length = 83.74447, eccentricity = 0.91761, convex_area = 13856.00000, extent = 0.55168, type = C + area = 11702.00000, perimeter = 432.77399, major_axis_length = 177.72461, minor_axis_length = 84.66332, eccentricity = 0.87924, convex_area = 11975.00000, extent = 0.59716, type = C + area = 14254.00000, perimeter = 500.49399, major_axis_length = 213.07532, minor_axis_length = 86.78432, eccentricity = 0.91330, convex_area = 14644.00000, extent = 0.62285, type = C + area = 14989.00000, perimeter = 484.31000, major_axis_length = 195.34204, minor_axis_length = 98.70048, eccentricity = 0.86296, convex_area = 15393.00000, extent = 0.76106, type = C + area = 17079.00000, perimeter = 520.45001, major_axis_length = 216.15999, minor_axis_length = 101.76250, eccentricity = 0.88225, convex_area = 17418.00000, extent = 0.79437, type = C + area = 10271.00000, perimeter = 415.53900, major_axis_length = 177.82224, minor_axis_length = 74.39628, eccentricity = 0.90827, convex_area = 10422.00000, extent = 0.56608, type = O + area = 11140.00000, perimeter = 429.79700, major_axis_length = 179.19675, minor_axis_length = 80.07657, eccentricity = 0.89460, convex_area = 11346.00000, extent = 0.58911, type = O + area = 12990.00000, perimeter = 469.48001, major_axis_length = 200.51541, minor_axis_length = 83.43035, eccentricity = 0.90933, convex_area = 13214.00000, extent = 0.70121, type = C + area = 14918.00000, perimeter = 500.27100, major_axis_length = 210.42461, minor_axis_length = 91.21054, eccentricity = 0.90117, convex_area = 15185.00000, extent = 0.64073, type = C + area = 11281.00000, perimeter = 407.10101, major_axis_length = 160.91008, minor_axis_length = 90.44052, eccentricity = 0.82710, convex_area = 11483.00000, extent = 0.67001, type = O + area = 14687.00000, perimeter = 498.39099, major_axis_length = 210.58044, minor_axis_length = 90.29588, eccentricity = 0.90340, convex_area = 14977.00000, extent = 0.56610, type = C + area = 12036.00000, perimeter = 436.15500, major_axis_length = 177.33658, minor_axis_length = 87.97986, eccentricity = 0.86826, convex_area = 12353.00000, extent = 0.61543, type = O + area = 11097.00000, perimeter = 436.14499, major_axis_length = 182.74286, minor_axis_length = 78.44048, eccentricity = 0.90319, convex_area = 11472.00000, extent = 0.62887, type = O + area = 12093.00000, perimeter = 432.82800, major_axis_length = 176.82031, minor_axis_length = 88.09727, eccentricity = 0.86704, convex_area = 12351.00000, extent = 0.70513, type = O + area = 12381.00000, perimeter = 434.15900, major_axis_length = 173.10074, minor_axis_length = 91.96291, eccentricity = 0.84720, convex_area = 12643.00000, extent = 0.74316, type = O + area = 12279.00000, perimeter = 455.41501, major_axis_length = 191.65334, minor_axis_length = 82.47570, eccentricity = 0.90267, convex_area = 12549.00000, extent = 0.59204, type = O + area = 13909.00000, perimeter = 488.70801, major_axis_length = 206.35185, minor_axis_length = 86.97563, eccentricity = 0.90683, convex_area = 14362.00000, extent = 0.54334, type = C + area = 11421.00000, perimeter = 441.16101, major_axis_length = 189.52185, minor_axis_length = 77.25662, eccentricity = 0.91314, convex_area = 11610.00000, extent = 0.55179, type = C + area = 10965.00000, perimeter = 433.77802, major_axis_length = 179.33522, minor_axis_length = 78.85896, eccentricity = 0.89813, convex_area = 11295.00000, extent = 0.66334, type = O + area = 13056.00000, perimeter = 485.66101, major_axis_length = 205.52965, minor_axis_length = 82.62533, eccentricity = 0.91563, convex_area = 13492.00000, extent = 0.53642, type = O + area = 15975.00000, perimeter = 522.80402, major_axis_length = 218.41768, minor_axis_length = 94.04413, eccentricity = 0.90256, convex_area = 16290.00000, extent = 0.56764, type = C + area = 12199.00000, perimeter = 454.40399, major_axis_length = 191.90958, minor_axis_length = 82.14076, eccentricity = 0.90377, convex_area = 12555.00000, extent = 0.75052, type = C + area = 12657.00000, perimeter = 455.18201, major_axis_length = 189.77094, minor_axis_length = 85.68874, eccentricity = 0.89225, convex_area = 12926.00000, extent = 0.76756, type = O + area = 13029.00000, perimeter = 460.41699, major_axis_length = 184.94789, minor_axis_length = 91.33196, eccentricity = 0.86956, convex_area = 13410.00000, extent = 0.76157, type = O + area = 10499.00000, perimeter = 408.72900, major_axis_length = 165.55937, minor_axis_length = 82.35825, eccentricity = 0.86749, convex_area = 10785.00000, extent = 0.66131, type = O + area = 12104.00000, perimeter = 441.77499, major_axis_length = 182.46213, minor_axis_length = 85.51347, eccentricity = 0.88338, convex_area = 12378.00000, extent = 0.73913, type = C + area = 10451.00000, perimeter = 419.69601, major_axis_length = 174.23369, minor_axis_length = 78.35890, eccentricity = 0.89316, convex_area = 10722.00000, extent = 0.58687, type = O + area = 12519.00000, perimeter = 455.40601, major_axis_length = 192.00218, minor_axis_length = 83.87215, eccentricity = 0.89954, convex_area = 12770.00000, extent = 0.67068, type = C + area = 12263.00000, perimeter = 438.13800, major_axis_length = 175.74045, minor_axis_length = 90.18716, eccentricity = 0.85828, convex_area = 12634.00000, extent = 0.71831, type = O + area = 10190.00000, perimeter = 397.78601, major_axis_length = 161.47743, minor_axis_length = 81.71532, eccentricity = 0.86251, convex_area = 10476.00000, extent = 0.78627, type = O + area = 10899.00000, perimeter = 421.44000, major_axis_length = 173.63838, minor_axis_length = 81.15626, eccentricity = 0.88405, convex_area = 11267.00000, extent = 0.69345, type = O + area = 12832.00000, perimeter = 464.52600, major_axis_length = 196.61118, minor_axis_length = 83.98689, eccentricity = 0.90417, convex_area = 13148.00000, extent = 0.56291, type = C + area = 11928.00000, perimeter = 432.52301, major_axis_length = 171.01953, minor_axis_length = 90.06602, eccentricity = 0.85009, convex_area = 12195.00000, extent = 0.63487, type = O + area = 15373.00000, perimeter = 522.21100, major_axis_length = 229.49373, minor_axis_length = 86.34157, eccentricity = 0.92653, convex_area = 15757.00000, extent = 0.67160, type = C + area = 14020.00000, perimeter = 488.58200, major_axis_length = 207.26518, minor_axis_length = 86.79780, eccentricity = 0.90809, convex_area = 14271.00000, extent = 0.55391, type = C + area = 14805.00000, perimeter = 499.63699, major_axis_length = 214.28244, minor_axis_length = 89.17409, eccentricity = 0.90930, convex_area = 15090.00000, extent = 0.57679, type = C + area = 13606.00000, perimeter = 480.94601, major_axis_length = 204.28972, minor_axis_length = 85.28391, eccentricity = 0.90869, convex_area = 13861.00000, extent = 0.58370, type = C + area = 15073.00000, perimeter = 498.36200, major_axis_length = 205.80310, minor_axis_length = 93.99628, eccentricity = 0.88961, convex_area = 15476.00000, extent = 0.61392, type = C + area = 10915.00000, perimeter = 419.58600, major_axis_length = 171.54233, minor_axis_length = 82.83171, eccentricity = 0.87570, convex_area = 11246.00000, extent = 0.78345, type = O + area = 12848.00000, perimeter = 455.64499, major_axis_length = 184.63605, minor_axis_length = 90.01098, eccentricity = 0.87312, convex_area = 13227.00000, extent = 0.69016, type = O + area = 14566.00000, perimeter = 498.02600, major_axis_length = 208.22543, minor_axis_length = 90.54054, eccentricity = 0.90052, convex_area = 14927.00000, extent = 0.56083, type = C + area = 11217.00000, perimeter = 424.08499, major_axis_length = 168.65384, minor_axis_length = 86.48293, eccentricity = 0.85852, convex_area = 11546.00000, extent = 0.77188, type = O + area = 12950.00000, perimeter = 464.88699, major_axis_length = 194.42839, minor_axis_length = 85.82198, eccentricity = 0.89731, convex_area = 13288.00000, extent = 0.60020, type = C + area = 9426.00000, perimeter = 402.70999, major_axis_length = 175.97429, minor_axis_length = 68.60754, eccentricity = 0.92087, convex_area = 9578.00000, extent = 0.57743, type = O + area = 13493.00000, perimeter = 480.52899, major_axis_length = 205.57306, minor_axis_length = 84.68375, eccentricity = 0.91121, convex_area = 13843.00000, extent = 0.79689, type = C + area = 13087.00000, perimeter = 468.81100, major_axis_length = 198.28671, minor_axis_length = 84.87167, eccentricity = 0.90377, convex_area = 13488.00000, extent = 0.77246, type = C + area = 14002.00000, perimeter = 490.57001, major_axis_length = 209.33427, minor_axis_length = 86.14631, eccentricity = 0.91140, convex_area = 14336.00000, extent = 0.65691, type = C + area = 12053.00000, perimeter = 440.97800, major_axis_length = 180.09575, minor_axis_length = 86.76285, eccentricity = 0.87630, convex_area = 12351.00000, extent = 0.59049, type = O + area = 10574.00000, perimeter = 415.95700, major_axis_length = 172.70430, minor_axis_length = 78.68140, eccentricity = 0.89019, convex_area = 10831.00000, extent = 0.67277, type = O + area = 14831.00000, perimeter = 493.76099, major_axis_length = 208.26854, minor_axis_length = 91.54232, eccentricity = 0.89822, convex_area = 15099.00000, extent = 0.79023, type = C + area = 14686.00000, perimeter = 490.40601, major_axis_length = 203.03380, minor_axis_length = 93.82804, eccentricity = 0.88681, convex_area = 15065.00000, extent = 0.61468, type = C + area = 14026.00000, perimeter = 467.76501, major_axis_length = 191.73541, minor_axis_length = 94.24737, eccentricity = 0.87085, convex_area = 14222.00000, extent = 0.62773, type = O + area = 15094.00000, perimeter = 506.50699, major_axis_length = 217.93829, minor_axis_length = 89.09559, eccentricity = 0.91262, convex_area = 15346.00000, extent = 0.66856, type = C + area = 14852.00000, perimeter = 495.81699, major_axis_length = 205.71364, minor_axis_length = 92.94775, eccentricity = 0.89210, convex_area = 15202.00000, extent = 0.60130, type = C + area = 12377.00000, perimeter = 465.04700, major_axis_length = 197.08141, minor_axis_length = 81.92233, eccentricity = 0.90951, convex_area = 12669.00000, extent = 0.62968, type = C + area = 12712.00000, perimeter = 453.07999, major_axis_length = 192.81546, minor_axis_length = 84.60754, eccentricity = 0.89858, convex_area = 12891.00000, extent = 0.56877, type = O + area = 15557.00000, perimeter = 509.02200, major_axis_length = 211.93355, minor_axis_length = 94.75860, eccentricity = 0.89448, convex_area = 16075.00000, extent = 0.64312, type = C + area = 14317.00000, perimeter = 499.11099, major_axis_length = 206.77942, minor_axis_length = 89.82534, eccentricity = 0.90072, convex_area = 14815.00000, extent = 0.80424, type = C + area = 10786.00000, perimeter = 408.02499, major_axis_length = 165.12993, minor_axis_length = 84.93224, eccentricity = 0.85759, convex_area = 11022.00000, extent = 0.78759, type = O + area = 10964.00000, perimeter = 417.98700, major_axis_length = 171.39023, minor_axis_length = 82.60121, eccentricity = 0.87620, convex_area = 11247.00000, extent = 0.59668, type = O + area = 10349.00000, perimeter = 408.07599, major_axis_length = 169.36772, minor_axis_length = 79.00407, eccentricity = 0.88454, convex_area = 10608.00000, extent = 0.65733, type = O + area = 14296.00000, perimeter = 484.24399, major_axis_length = 202.97986, minor_axis_length = 91.07145, eccentricity = 0.89370, convex_area = 14572.00000, extent = 0.75724, type = C + area = 8848.00000, perimeter = 369.77802, major_axis_length = 150.27876, minor_axis_length = 76.50945, eccentricity = 0.86070, convex_area = 9009.00000, extent = 0.63581, type = O + area = 13102.00000, perimeter = 479.27301, major_axis_length = 202.50768, minor_axis_length = 83.75623, eccentricity = 0.91046, convex_area = 13528.00000, extent = 0.61799, type = C + area = 10662.00000, perimeter = 408.28299, major_axis_length = 162.68098, minor_axis_length = 84.36329, eccentricity = 0.85503, convex_area = 10934.00000, extent = 0.65315, type = O + area = 16024.00000, perimeter = 527.42102, major_axis_length = 226.26277, minor_axis_length = 91.60111, eccentricity = 0.91439, convex_area = 16355.00000, extent = 0.53569, type = C + area = 16155.00000, perimeter = 515.28003, major_axis_length = 217.60548, minor_axis_length = 95.48460, eccentricity = 0.89859, convex_area = 16418.00000, extent = 0.58332, type = C + area = 11500.00000, perimeter = 424.39899, major_axis_length = 171.81744, minor_axis_length = 86.84950, eccentricity = 0.86284, convex_area = 11838.00000, extent = 0.78659, type = O + area = 12921.00000, perimeter = 477.12100, major_axis_length = 197.70015, minor_axis_length = 84.82759, eccentricity = 0.90327, convex_area = 13557.00000, extent = 0.72395, type = C + area = 13211.00000, perimeter = 476.65900, major_axis_length = 204.86453, minor_axis_length = 82.88512, eccentricity = 0.91450, convex_area = 13608.00000, extent = 0.71088, type = C + area = 14009.00000, perimeter = 481.97699, major_axis_length = 198.52509, minor_axis_length = 91.06323, eccentricity = 0.88859, convex_area = 14455.00000, extent = 0.68420, type = O + area = 11323.00000, perimeter = 422.43799, major_axis_length = 169.98456, minor_axis_length = 86.26496, eccentricity = 0.86166, convex_area = 11628.00000, extent = 0.60312, type = O + area = 11144.00000, perimeter = 410.34399, major_axis_length = 164.09407, minor_axis_length = 87.66368, eccentricity = 0.84534, convex_area = 11378.00000, extent = 0.63383, type = O + area = 14451.00000, perimeter = 487.22000, major_axis_length = 201.29469, minor_axis_length = 92.73952, eccentricity = 0.88755, convex_area = 14776.00000, extent = 0.64727, type = C + area = 14410.00000, perimeter = 483.80899, major_axis_length = 200.63506, minor_axis_length = 92.52118, eccentricity = 0.88733, convex_area = 14788.00000, extent = 0.58321, type = C + area = 14518.00000, perimeter = 491.22198, major_axis_length = 203.76106, minor_axis_length = 92.34290, eccentricity = 0.89141, convex_area = 14877.00000, extent = 0.74132, type = C + area = 10796.00000, perimeter = 413.42001, major_axis_length = 170.78165, minor_axis_length = 80.99689, eccentricity = 0.88038, convex_area = 10980.00000, extent = 0.62304, type = C + area = 11715.00000, perimeter = 439.70300, major_axis_length = 183.22273, minor_axis_length = 82.48322, eccentricity = 0.89294, convex_area = 11948.00000, extent = 0.60449, type = O + area = 11280.00000, perimeter = 420.10101, major_axis_length = 170.67036, minor_axis_length = 85.49737, eccentricity = 0.86548, convex_area = 11582.00000, extent = 0.64317, type = O + area = 12643.00000, perimeter = 449.34201, major_axis_length = 184.77808, minor_axis_length = 87.98871, eccentricity = 0.87934, convex_area = 12903.00000, extent = 0.77204, type = O + area = 13785.00000, perimeter = 489.91599, major_axis_length = 213.37642, minor_axis_length = 82.78992, eccentricity = 0.92166, convex_area = 14130.00000, extent = 0.79664, type = C + area = 10469.00000, perimeter = 402.45099, major_axis_length = 159.39949, minor_axis_length = 84.83900, eccentricity = 0.84659, convex_area = 10746.00000, extent = 0.77411, type = O + area = 12580.00000, perimeter = 479.21701, major_axis_length = 208.42375, minor_axis_length = 77.74034, eccentricity = 0.92783, convex_area = 12879.00000, extent = 0.57307, type = C + area = 12368.00000, perimeter = 455.02399, major_axis_length = 195.93935, minor_axis_length = 80.80906, eccentricity = 0.91099, convex_area = 12573.00000, extent = 0.79691, type = C + area = 15143.00000, perimeter = 504.14001, major_axis_length = 207.73418, minor_axis_length = 94.14838, eccentricity = 0.89140, convex_area = 15628.00000, extent = 0.57133, type = C + area = 14405.00000, perimeter = 488.23700, major_axis_length = 204.43013, minor_axis_length = 90.62646, eccentricity = 0.89637, convex_area = 14742.00000, extent = 0.76379, type = C + area = 10774.00000, perimeter = 401.74200, major_axis_length = 164.32024, minor_axis_length = 83.71887, eccentricity = 0.86048, convex_area = 10944.00000, extent = 0.66179, type = O + area = 10211.00000, perimeter = 392.35300, major_axis_length = 163.19708, minor_axis_length = 80.24487, eccentricity = 0.87076, convex_area = 10348.00000, extent = 0.75347, type = O + area = 14159.00000, perimeter = 489.43600, major_axis_length = 209.13132, minor_axis_length = 87.11465, eccentricity = 0.90911, convex_area = 14410.00000, extent = 0.54795, type = C + area = 15715.00000, perimeter = 511.25000, major_axis_length = 210.91161, minor_axis_length = 96.00474, eccentricity = 0.89039, convex_area = 16096.00000, extent = 0.58141, type = C + area = 15200.00000, perimeter = 502.58801, major_axis_length = 214.13380, minor_axis_length = 91.11753, eccentricity = 0.90495, convex_area = 15461.00000, extent = 0.62413, type = C + area = 13237.00000, perimeter = 466.00299, major_axis_length = 197.90480, minor_axis_length = 85.70957, eccentricity = 0.90135, convex_area = 13445.00000, extent = 0.59242, type = C + area = 16022.00000, perimeter = 524.87299, major_axis_length = 221.52705, minor_axis_length = 93.63528, eccentricity = 0.90628, convex_area = 16545.00000, extent = 0.54224, type = C + area = 10667.00000, perimeter = 415.23700, major_axis_length = 170.33615, minor_axis_length = 81.36894, eccentricity = 0.87853, convex_area = 11041.00000, extent = 0.68775, type = O + area = 10488.00000, perimeter = 416.60901, major_axis_length = 175.39789, minor_axis_length = 77.31371, eccentricity = 0.89761, convex_area = 10720.00000, extent = 0.71757, type = O + area = 10576.00000, perimeter = 417.01999, major_axis_length = 175.39082, minor_axis_length = 77.45559, eccentricity = 0.89720, convex_area = 10729.00000, extent = 0.56592, type = O + area = 10044.00000, perimeter = 410.19101, major_axis_length = 168.55310, minor_axis_length = 77.07966, eccentricity = 0.88931, convex_area = 10317.00000, extent = 0.75747, type = O + area = 14471.00000, perimeter = 491.34201, major_axis_length = 200.41316, minor_axis_length = 92.81940, eccentricity = 0.88629, convex_area = 14736.00000, extent = 0.58597, type = C + area = 11986.00000, perimeter = 433.29401, major_axis_length = 173.22505, minor_axis_length = 89.39893, eccentricity = 0.85654, convex_area = 12243.00000, extent = 0.62242, type = O + area = 14235.00000, perimeter = 505.84500, major_axis_length = 214.15660, minor_axis_length = 87.47984, eccentricity = 0.91276, convex_area = 14687.00000, extent = 0.68257, type = C + area = 14938.00000, perimeter = 502.68701, major_axis_length = 209.64473, minor_axis_length = 92.03596, eccentricity = 0.89848, convex_area = 15331.00000, extent = 0.63520, type = C + area = 13760.00000, perimeter = 474.18799, major_axis_length = 198.39156, minor_axis_length = 89.04605, eccentricity = 0.89361, convex_area = 13989.00000, extent = 0.63375, type = C + area = 9853.00000, perimeter = 395.50101, major_axis_length = 159.91612, minor_axis_length = 80.05779, eccentricity = 0.86567, convex_area = 10102.00000, extent = 0.60197, type = O + area = 14500.00000, perimeter = 495.10699, major_axis_length = 214.28784, minor_axis_length = 86.66111, eccentricity = 0.91458, convex_area = 14712.00000, extent = 0.58121, type = C + area = 12982.00000, perimeter = 466.15701, major_axis_length = 200.51947, minor_axis_length = 82.79620, eccentricity = 0.91077, convex_area = 13188.00000, extent = 0.62228, type = C + area = 10528.00000, perimeter = 411.12000, major_axis_length = 164.81996, minor_axis_length = 83.14049, eccentricity = 0.86345, convex_area = 10862.00000, extent = 0.62149, type = O + area = 11681.00000, perimeter = 422.04901, major_axis_length = 174.08575, minor_axis_length = 85.92032, eccentricity = 0.86972, convex_area = 11832.00000, extent = 0.60902, type = O + area = 12744.00000, perimeter = 467.92499, major_axis_length = 200.61217, minor_axis_length = 81.70650, eccentricity = 0.91330, convex_area = 13047.00000, extent = 0.71451, type = C + area = 14560.00000, perimeter = 493.92899, major_axis_length = 209.50883, minor_axis_length = 89.21789, eccentricity = 0.90480, convex_area = 14971.00000, extent = 0.63170, type = C + area = 12234.00000, perimeter = 449.38000, major_axis_length = 188.62593, minor_axis_length = 83.90933, eccentricity = 0.89561, convex_area = 12492.00000, extent = 0.59475, type = C + area = 11906.00000, perimeter = 435.76001, major_axis_length = 178.80707, minor_axis_length = 85.96841, eccentricity = 0.87684, convex_area = 12194.00000, extent = 0.60498, type = O + area = 11378.00000, perimeter = 426.61401, major_axis_length = 179.39221, minor_axis_length = 81.97147, eccentricity = 0.88950, convex_area = 11535.00000, extent = 0.59680, type = O + area = 12860.00000, perimeter = 469.55899, major_axis_length = 197.66103, minor_axis_length = 84.11711, eccentricity = 0.90493, convex_area = 13269.00000, extent = 0.56453, type = C + area = 12289.00000, perimeter = 451.57599, major_axis_length = 189.72537, minor_axis_length = 83.07783, eccentricity = 0.89903, convex_area = 12649.00000, extent = 0.68823, type = O + area = 18913.00000, perimeter = 541.74597, major_axis_length = 227.13548, minor_axis_length = 106.94836, eccentricity = 0.88221, convex_area = 19099.00000, extent = 0.80412, type = C + area = 12612.00000, perimeter = 463.59500, major_axis_length = 197.68294, minor_axis_length = 82.37692, eccentricity = 0.90904, convex_area = 12919.00000, extent = 0.58405, type = C + area = 14265.00000, perimeter = 480.92700, major_axis_length = 200.18845, minor_axis_length = 91.48054, eccentricity = 0.88948, convex_area = 14627.00000, extent = 0.75456, type = C + area = 12942.00000, perimeter = 441.74399, major_axis_length = 175.55925, minor_axis_length = 95.28501, eccentricity = 0.83989, convex_area = 13310.00000, extent = 0.70169, type = O + area = 12768.00000, perimeter = 464.82001, major_axis_length = 195.38815, minor_axis_length = 84.35992, eccentricity = 0.90199, convex_area = 13085.00000, extent = 0.58299, type = C + area = 13719.00000, perimeter = 487.14700, major_axis_length = 208.86478, minor_axis_length = 84.30043, eccentricity = 0.91493, convex_area = 14111.00000, extent = 0.60441, type = C + area = 12378.00000, perimeter = 454.06201, major_axis_length = 195.47214, minor_axis_length = 81.28996, eccentricity = 0.90943, convex_area = 12570.00000, extent = 0.55656, type = O + area = 13245.00000, perimeter = 476.13699, major_axis_length = 204.94440, minor_axis_length = 83.15825, eccentricity = 0.91398, convex_area = 13536.00000, extent = 0.79963, type = C + area = 14363.00000, perimeter = 499.17099, major_axis_length = 210.24554, minor_axis_length = 88.11178, eccentricity = 0.90794, convex_area = 14669.00000, extent = 0.60685, type = C + area = 11883.00000, perimeter = 429.13101, major_axis_length = 171.33429, minor_axis_length = 89.82451, eccentricity = 0.85156, convex_area = 12179.00000, extent = 0.76364, type = O + area = 13952.00000, perimeter = 484.94699, major_axis_length = 201.32283, minor_axis_length = 89.51038, eccentricity = 0.89572, convex_area = 14349.00000, extent = 0.65641, type = C + area = 14818.00000, perimeter = 487.01599, major_axis_length = 197.82898, minor_axis_length = 97.38612, eccentricity = 0.87044, convex_area = 15261.00000, extent = 0.63260, type = C + area = 14817.00000, perimeter = 502.58301, major_axis_length = 211.52902, minor_axis_length = 90.38519, eccentricity = 0.90411, convex_area = 15113.00000, extent = 0.56803, type = C + area = 11689.00000, perimeter = 444.89801, major_axis_length = 191.93597, minor_axis_length = 78.10004, eccentricity = 0.91347, convex_area = 11935.00000, extent = 0.54930, type = C + area = 10364.00000, perimeter = 417.10300, major_axis_length = 171.73116, minor_axis_length = 78.38078, eccentricity = 0.88977, convex_area = 10737.00000, extent = 0.57121, type = O + area = 14041.00000, perimeter = 491.66101, major_axis_length = 212.85693, minor_axis_length = 84.56731, eccentricity = 0.91769, convex_area = 14289.00000, extent = 0.78661, type = C + area = 11710.00000, perimeter = 429.06299, major_axis_length = 178.28360, minor_axis_length = 84.48763, eccentricity = 0.88058, convex_area = 11906.00000, extent = 0.59339, type = O + area = 14054.00000, perimeter = 486.76501, major_axis_length = 207.58250, minor_axis_length = 87.13073, eccentricity = 0.90764, convex_area = 14343.00000, extent = 0.78946, type = C + area = 15390.00000, perimeter = 511.50900, major_axis_length = 214.46609, minor_axis_length = 92.45722, eccentricity = 0.90230, convex_area = 15788.00000, extent = 0.77329, type = C + area = 10381.00000, perimeter = 414.18799, major_axis_length = 174.74463, minor_axis_length = 77.07955, eccentricity = 0.89746, convex_area = 10556.00000, extent = 0.60729, type = O + area = 10874.00000, perimeter = 426.87299, major_axis_length = 177.25034, minor_axis_length = 79.62495, eccentricity = 0.89342, convex_area = 11211.00000, extent = 0.63965, type = O + area = 11836.00000, perimeter = 456.37900, major_axis_length = 201.86960, minor_axis_length = 75.45857, eccentricity = 0.92751, convex_area = 12084.00000, extent = 0.75321, type = C + area = 11248.00000, perimeter = 420.29001, major_axis_length = 171.22313, minor_axis_length = 84.84222, eccentricity = 0.86860, convex_area = 11521.00000, extent = 0.71566, type = O + area = 15228.00000, perimeter = 505.26501, major_axis_length = 209.62527, minor_axis_length = 93.52686, eccentricity = 0.89495, convex_area = 15501.00000, extent = 0.73922, type = C + area = 13361.00000, perimeter = 456.74500, major_axis_length = 183.19627, minor_axis_length = 93.64111, eccentricity = 0.85949, convex_area = 13610.00000, extent = 0.68560, type = O + area = 12429.00000, perimeter = 469.60800, major_axis_length = 202.41467, minor_axis_length = 78.88987, eccentricity = 0.92092, convex_area = 12714.00000, extent = 0.55685, type = C + area = 11794.00000, perimeter = 434.61899, major_axis_length = 176.44444, minor_axis_length = 86.10284, eccentricity = 0.87285, convex_area = 12110.00000, extent = 0.59838, type = O + area = 15080.00000, perimeter = 500.00601, major_axis_length = 209.58928, minor_axis_length = 92.79666, eccentricity = 0.89664, convex_area = 15614.00000, extent = 0.73232, type = C + area = 13935.00000, perimeter = 483.24399, major_axis_length = 196.78610, minor_axis_length = 91.71785, eccentricity = 0.88474, convex_area = 14428.00000, extent = 0.59323, type = C + area = 12068.00000, perimeter = 457.73901, major_axis_length = 196.44206, minor_axis_length = 79.54394, eccentricity = 0.91435, convex_area = 12347.00000, extent = 0.59950, type = C + area = 14753.00000, perimeter = 489.53601, major_axis_length = 207.46600, minor_axis_length = 92.00663, eccentricity = 0.89629, convex_area = 14984.00000, extent = 0.80468, type = C + area = 15308.00000, perimeter = 513.98999, major_axis_length = 219.46791, minor_axis_length = 90.02393, eccentricity = 0.91200, convex_area = 15720.00000, extent = 0.76326, type = C + area = 15488.00000, perimeter = 507.88300, major_axis_length = 206.63953, minor_axis_length = 96.87208, eccentricity = 0.88331, convex_area = 15968.00000, extent = 0.60255, type = C + area = 12799.00000, perimeter = 443.41699, major_axis_length = 175.32970, minor_axis_length = 94.25945, eccentricity = 0.84319, convex_area = 13066.00000, extent = 0.63161, type = O + area = 10775.00000, perimeter = 414.99799, major_axis_length = 165.72896, minor_axis_length = 84.27123, eccentricity = 0.86107, convex_area = 11036.00000, extent = 0.63446, type = O + area = 13218.00000, perimeter = 454.99799, major_axis_length = 182.57840, minor_axis_length = 93.23714, eccentricity = 0.85978, convex_area = 13459.00000, extent = 0.73331, type = O + area = 14189.00000, perimeter = 491.97299, major_axis_length = 209.93643, minor_axis_length = 86.80910, eccentricity = 0.91050, convex_area = 14496.00000, extent = 0.55099, type = C + area = 14695.00000, perimeter = 506.91599, major_axis_length = 214.10553, minor_axis_length = 88.91370, eccentricity = 0.90969, convex_area = 15086.00000, extent = 0.54661, type = C + area = 10697.00000, perimeter = 407.80701, major_axis_length = 168.21783, minor_axis_length = 81.61740, eccentricity = 0.87441, convex_area = 10824.00000, extent = 0.60028, type = O + area = 12106.00000, perimeter = 448.50000, major_axis_length = 186.50513, minor_axis_length = 83.69872, eccentricity = 0.89365, convex_area = 12389.00000, extent = 0.65139, type = O + area = 11014.00000, perimeter = 411.21799, major_axis_length = 167.13171, minor_axis_length = 85.07861, eccentricity = 0.86074, convex_area = 11185.00000, extent = 0.69660, type = O + area = 10774.00000, perimeter = 428.79999, major_axis_length = 179.69966, minor_axis_length = 77.92175, eccentricity = 0.90109, convex_area = 11033.00000, extent = 0.71655, type = O + area = 15209.00000, perimeter = 496.56500, major_axis_length = 214.05008, minor_axis_length = 91.02632, eccentricity = 0.90507, convex_area = 15395.00000, extent = 0.56937, type = C + area = 14850.00000, perimeter = 509.27499, major_axis_length = 215.96320, minor_axis_length = 89.12655, eccentricity = 0.91087, convex_area = 15372.00000, extent = 0.79942, type = C + area = 12837.00000, perimeter = 448.27499, major_axis_length = 180.26524, minor_axis_length = 92.16251, eccentricity = 0.85943, convex_area = 13157.00000, extent = 0.76776, type = O + area = 13088.00000, perimeter = 450.21100, major_axis_length = 184.75020, minor_axis_length = 91.24625, eccentricity = 0.86952, convex_area = 13266.00000, extent = 0.79922, type = O + area = 10690.00000, perimeter = 404.64001, major_axis_length = 165.37019, minor_axis_length = 83.37031, eccentricity = 0.86362, convex_area = 10855.00000, extent = 0.62079, type = O + area = 14732.00000, perimeter = 497.69400, major_axis_length = 207.46820, minor_axis_length = 91.29447, eccentricity = 0.89798, convex_area = 15000.00000, extent = 0.58037, type = C + area = 15127.00000, perimeter = 499.79999, major_axis_length = 212.90392, minor_axis_length = 91.15163, eccentricity = 0.90371, convex_area = 15370.00000, extent = 0.71300, type = C + area = 10842.00000, perimeter = 412.74899, major_axis_length = 167.04510, minor_axis_length = 84.00163, eccentricity = 0.86436, convex_area = 11105.00000, extent = 0.67050, type = O + area = 12918.00000, perimeter = 459.82800, major_axis_length = 193.34657, minor_axis_length = 86.05883, eccentricity = 0.89548, convex_area = 13179.00000, extent = 0.77670, type = O + area = 11354.00000, perimeter = 426.87299, major_axis_length = 172.39626, minor_axis_length = 85.40240, eccentricity = 0.86867, convex_area = 11703.00000, extent = 0.72922, type = O + area = 10499.00000, perimeter = 403.27802, major_axis_length = 162.45734, minor_axis_length = 83.75512, eccentricity = 0.85686, convex_area = 10749.00000, extent = 0.74493, type = O + area = 12579.00000, perimeter = 452.21701, major_axis_length = 191.24318, minor_axis_length = 84.36917, eccentricity = 0.89743, convex_area = 12889.00000, extent = 0.60029, type = C + area = 11136.00000, perimeter = 427.10999, major_axis_length = 175.65308, minor_axis_length = 81.91878, eccentricity = 0.88459, convex_area = 11474.00000, extent = 0.57438, type = O + area = 12287.00000, perimeter = 444.17499, major_axis_length = 181.92105, minor_axis_length = 87.73918, eccentricity = 0.87601, convex_area = 12508.00000, extent = 0.65374, type = O + area = 12397.00000, perimeter = 433.35199, major_axis_length = 171.60930, minor_axis_length = 92.98810, eccentricity = 0.84047, convex_area = 12631.00000, extent = 0.63477, type = O + area = 9746.00000, perimeter = 382.73700, major_axis_length = 154.09608, minor_axis_length = 81.20334, eccentricity = 0.84989, convex_area = 9935.00000, extent = 0.66753, type = O + area = 12259.00000, perimeter = 440.03000, major_axis_length = 177.31454, minor_axis_length = 89.53557, eccentricity = 0.86315, convex_area = 12533.00000, extent = 0.72414, type = O + area = 12557.00000, perimeter = 443.21899, major_axis_length = 175.59749, minor_axis_length = 92.33857, eccentricity = 0.85058, convex_area = 12860.00000, extent = 0.62287, type = C + area = 14223.00000, perimeter = 480.95300, major_axis_length = 201.38956, minor_axis_length = 90.38589, eccentricity = 0.89363, convex_area = 14441.00000, extent = 0.64195, type = C + area = 11491.00000, perimeter = 440.46899, major_axis_length = 183.99533, minor_axis_length = 80.87087, eccentricity = 0.89823, convex_area = 11819.00000, extent = 0.66499, type = C + area = 12262.00000, perimeter = 443.16699, major_axis_length = 190.67964, minor_axis_length = 82.12513, eccentricity = 0.90250, convex_area = 12404.00000, extent = 0.61817, type = O + area = 17353.00000, perimeter = 539.03400, major_axis_length = 220.96120, minor_axis_length = 101.45410, eccentricity = 0.88836, convex_area = 17845.00000, extent = 0.63031, type = C + area = 17404.00000, perimeter = 521.86499, major_axis_length = 211.06302, minor_axis_length = 106.33782, eccentricity = 0.86381, convex_area = 17739.00000, extent = 0.68466, type = C + area = 15830.00000, perimeter = 520.51001, major_axis_length = 219.44762, minor_axis_length = 92.66460, eccentricity = 0.90647, convex_area = 16121.00000, extent = 0.59511, type = C + area = 13043.00000, perimeter = 471.35699, major_axis_length = 199.28964, minor_axis_length = 84.55070, eccentricity = 0.90554, convex_area = 13422.00000, extent = 0.73643, type = C + area = 12482.00000, perimeter = 448.53900, major_axis_length = 185.09004, minor_axis_length = 87.25161, eccentricity = 0.88192, convex_area = 12744.00000, extent = 0.59269, type = O + area = 15196.00000, perimeter = 501.30301, major_axis_length = 212.32976, minor_axis_length = 92.00545, eccentricity = 0.90124, convex_area = 15463.00000, extent = 0.76841, type = C + area = 10725.00000, perimeter = 411.69101, major_axis_length = 164.60034, minor_axis_length = 84.29297, eccentricity = 0.85892, convex_area = 11009.00000, extent = 0.66615, type = O + area = 13494.00000, perimeter = 479.44601, major_axis_length = 203.02734, minor_axis_length = 85.75127, eccentricity = 0.90643, convex_area = 13842.00000, extent = 0.77294, type = C + area = 14759.00000, perimeter = 483.26700, major_axis_length = 203.96587, minor_axis_length = 92.55145, eccentricity = 0.89112, convex_area = 15002.00000, extent = 0.78505, type = C + area = 12899.00000, perimeter = 462.26901, major_axis_length = 190.43053, minor_axis_length = 87.37381, eccentricity = 0.88853, convex_area = 13132.00000, extent = 0.68296, type = O + area = 13683.00000, perimeter = 492.97501, major_axis_length = 213.90919, minor_axis_length = 83.12070, eccentricity = 0.92142, convex_area = 14070.00000, extent = 0.76127, type = C + area = 13799.00000, perimeter = 454.74100, major_axis_length = 184.86827, minor_axis_length = 95.91586, eccentricity = 0.85488, convex_area = 13965.00000, extent = 0.62180, type = O + area = 11537.00000, perimeter = 428.38699, major_axis_length = 177.81396, minor_axis_length = 83.65266, eccentricity = 0.88243, convex_area = 11733.00000, extent = 0.74500, type = O + area = 12213.00000, perimeter = 452.40399, major_axis_length = 192.34183, minor_axis_length = 81.44420, eccentricity = 0.90593, convex_area = 12406.00000, extent = 0.64262, type = O + area = 12574.00000, perimeter = 444.63101, major_axis_length = 174.56026, minor_axis_length = 93.24240, eccentricity = 0.84539, convex_area = 12964.00000, extent = 0.65473, type = O + area = 15545.00000, perimeter = 510.28400, major_axis_length = 213.43665, minor_axis_length = 93.55502, eccentricity = 0.89882, convex_area = 15909.00000, extent = 0.56817, type = C + area = 12583.00000, perimeter = 434.00299, major_axis_length = 171.65707, minor_axis_length = 94.46523, eccentricity = 0.83496, convex_area = 12897.00000, extent = 0.74328, type = O + area = 11488.00000, perimeter = 416.37799, major_axis_length = 170.40480, minor_axis_length = 86.13889, eccentricity = 0.86283, convex_area = 11663.00000, extent = 0.75321, type = O + area = 11327.00000, perimeter = 415.81500, major_axis_length = 171.68102, minor_axis_length = 84.50090, eccentricity = 0.87048, convex_area = 11497.00000, extent = 0.80276, type = O + area = 14243.00000, perimeter = 481.32300, major_axis_length = 198.66289, minor_axis_length = 92.82254, eccentricity = 0.88413, convex_area = 14592.00000, extent = 0.79450, type = C + area = 16199.00000, perimeter = 511.22800, major_axis_length = 210.00165, minor_axis_length = 99.41776, eccentricity = 0.88084, convex_area = 16637.00000, extent = 0.73826, type = C + area = 11423.00000, perimeter = 418.60400, major_axis_length = 169.07329, minor_axis_length = 87.28488, eccentricity = 0.85644, convex_area = 11717.00000, extent = 0.65548, type = O + area = 16798.00000, perimeter = 529.07703, major_axis_length = 222.79663, minor_axis_length = 97.68343, eccentricity = 0.89876, convex_area = 17173.00000, extent = 0.63817, type = C + area = 13891.00000, perimeter = 486.93799, major_axis_length = 209.80476, minor_axis_length = 85.73843, eccentricity = 0.91269, convex_area = 14170.00000, extent = 0.82847, type = C + area = 14038.00000, perimeter = 496.61200, major_axis_length = 211.56499, minor_axis_length = 86.05249, eccentricity = 0.91354, convex_area = 14389.00000, extent = 0.54017, type = C + area = 11443.00000, perimeter = 421.67200, major_axis_length = 173.63220, minor_axis_length = 84.63235, eccentricity = 0.87317, convex_area = 11644.00000, extent = 0.63379, type = O + area = 11725.00000, perimeter = 427.14001, major_axis_length = 174.79402, minor_axis_length = 86.76220, eccentricity = 0.86811, convex_area = 11954.00000, extent = 0.63426, type = O + area = 13375.00000, perimeter = 474.08701, major_axis_length = 198.76869, minor_axis_length = 86.68679, eccentricity = 0.89989, convex_area = 13768.00000, extent = 0.69632, type = C + area = 14456.00000, perimeter = 497.98801, major_axis_length = 210.53189, minor_axis_length = 88.88429, eccentricity = 0.90651, convex_area = 14865.00000, extent = 0.67805, type = C + area = 12135.00000, perimeter = 432.81299, major_axis_length = 180.87585, minor_axis_length = 86.05373, eccentricity = 0.87957, convex_area = 12304.00000, extent = 0.64305, type = O + area = 14531.00000, perimeter = 492.95801, major_axis_length = 207.62460, minor_axis_length = 90.52267, eccentricity = 0.89995, convex_area = 14913.00000, extent = 0.57125, type = C + area = 10409.00000, perimeter = 391.57901, major_axis_length = 159.81532, minor_axis_length = 83.15290, eccentricity = 0.85398, convex_area = 10549.00000, extent = 0.65330, type = O + area = 16176.00000, perimeter = 522.99103, major_axis_length = 221.92740, minor_axis_length = 93.98418, eccentricity = 0.90590, convex_area = 16639.00000, extent = 0.60235, type = C + area = 14842.00000, perimeter = 505.72601, major_axis_length = 214.95474, minor_axis_length = 88.66093, eccentricity = 0.91097, convex_area = 15313.00000, extent = 0.54450, type = C + area = 13347.00000, perimeter = 461.87201, major_axis_length = 193.52736, minor_axis_length = 88.68710, eccentricity = 0.88881, convex_area = 13536.00000, extent = 0.77703, type = O + area = 12131.00000, perimeter = 444.92599, major_axis_length = 183.83809, minor_axis_length = 85.05927, eccentricity = 0.88652, convex_area = 12419.00000, extent = 0.78416, type = O + area = 10832.00000, perimeter = 420.07700, major_axis_length = 167.82939, minor_axis_length = 84.05240, eccentricity = 0.86555, convex_area = 11207.00000, extent = 0.59730, type = O + area = 14461.00000, perimeter = 483.56601, major_axis_length = 202.35306, minor_axis_length = 91.65204, eccentricity = 0.89155, convex_area = 14718.00000, extent = 0.74541, type = C + area = 14013.00000, perimeter = 480.83099, major_axis_length = 191.84508, minor_axis_length = 94.87569, eccentricity = 0.86915, convex_area = 14622.00000, extent = 0.62592, type = C + area = 15809.00000, perimeter = 518.45502, major_axis_length = 221.07068, minor_axis_length = 92.23230, eccentricity = 0.90881, convex_area = 16079.00000, extent = 0.81481, type = C + area = 16254.00000, perimeter = 532.77802, major_axis_length = 223.54863, minor_axis_length = 94.11950, eccentricity = 0.90705, convex_area = 16680.00000, extent = 0.55369, type = C + area = 11434.00000, perimeter = 404.70999, major_axis_length = 161.07927, minor_axis_length = 90.86819, eccentricity = 0.82569, convex_area = 11591.00000, extent = 0.80295, type = O + area = 12489.00000, perimeter = 444.00800, major_axis_length = 175.32974, minor_axis_length = 92.48181, eccentricity = 0.84957, convex_area = 12853.00000, extent = 0.74423, type = O + area = 15071.00000, perimeter = 494.13501, major_axis_length = 200.59483, minor_axis_length = 97.39329, eccentricity = 0.87422, convex_area = 15575.00000, extent = 0.68921, type = C + area = 13860.00000, perimeter = 483.97101, major_axis_length = 207.78920, minor_axis_length = 85.96107, eccentricity = 0.91042, convex_area = 14047.00000, extent = 0.64815, type = C + area = 15676.00000, perimeter = 512.33502, major_axis_length = 214.76785, minor_axis_length = 93.72194, eccentricity = 0.89976, convex_area = 15961.00000, extent = 0.77928, type = C + area = 15830.00000, perimeter = 520.78198, major_axis_length = 215.13918, minor_axis_length = 95.17147, eccentricity = 0.89683, convex_area = 16326.00000, extent = 0.61051, type = C + area = 12188.00000, perimeter = 435.86099, major_axis_length = 182.03267, minor_axis_length = 85.78117, eccentricity = 0.88200, convex_area = 12363.00000, extent = 0.76577, type = O + area = 13090.00000, perimeter = 472.94501, major_axis_length = 202.60158, minor_axis_length = 83.23018, eccentricity = 0.91172, convex_area = 13331.00000, extent = 0.77529, type = C + area = 11206.00000, perimeter = 427.13901, major_axis_length = 171.67592, minor_axis_length = 84.98907, eccentricity = 0.86886, convex_area = 11588.00000, extent = 0.60876, type = O + area = 10588.00000, perimeter = 410.93600, major_axis_length = 169.82788, minor_axis_length = 80.41876, eccentricity = 0.88078, convex_area = 10783.00000, extent = 0.78377, type = O + area = 12861.00000, perimeter = 471.92099, major_axis_length = 193.25092, minor_axis_length = 86.45822, eccentricity = 0.89434, convex_area = 13330.00000, extent = 0.63342, type = C + area = 11874.00000, perimeter = 433.84399, major_axis_length = 176.61125, minor_axis_length = 87.04949, eccentricity = 0.87009, convex_area = 12138.00000, extent = 0.73441, type = C + area = 11928.00000, perimeter = 427.07501, major_axis_length = 175.03940, minor_axis_length = 87.81713, eccentricity = 0.86504, convex_area = 12121.00000, extent = 0.62779, type = O + area = 14092.00000, perimeter = 499.41699, major_axis_length = 210.96301, minor_axis_length = 86.79673, eccentricity = 0.91144, convex_area = 14618.00000, extent = 0.77293, type = C + area = 10796.00000, perimeter = 410.10999, major_axis_length = 165.73335, minor_axis_length = 84.24877, eccentricity = 0.86116, convex_area = 11060.00000, extent = 0.68002, type = O + area = 11592.00000, perimeter = 436.39999, major_axis_length = 178.13594, minor_axis_length = 83.72199, eccentricity = 0.88267, convex_area = 11844.00000, extent = 0.72360, type = O + area = 16146.00000, perimeter = 509.33200, major_axis_length = 213.62003, minor_axis_length = 96.64880, eccentricity = 0.89180, convex_area = 16404.00000, extent = 0.59676, type = C + area = 12198.00000, perimeter = 432.02701, major_axis_length = 176.99544, minor_axis_length = 88.56769, eccentricity = 0.86580, convex_area = 12400.00000, extent = 0.74949, type = O + area = 10588.00000, perimeter = 404.32401, major_axis_length = 163.66208, minor_axis_length = 83.96915, eccentricity = 0.85835, convex_area = 10756.00000, extent = 0.61487, type = O + area = 12249.00000, perimeter = 440.38599, major_axis_length = 178.58810, minor_axis_length = 88.66050, eccentricity = 0.86806, convex_area = 12538.00000, extent = 0.77320, type = O + area = 12172.00000, perimeter = 431.19601, major_axis_length = 175.63828, minor_axis_length = 89.33349, eccentricity = 0.86099, convex_area = 12368.00000, extent = 0.60269, type = O + area = 14930.00000, perimeter = 499.92499, major_axis_length = 212.24582, minor_axis_length = 90.01748, eccentricity = 0.90561, convex_area = 15248.00000, extent = 0.62437, type = C + area = 14956.00000, perimeter = 490.25601, major_axis_length = 204.54123, minor_axis_length = 93.75129, eccentricity = 0.88877, convex_area = 15196.00000, extent = 0.67278, type = C + area = 12489.00000, perimeter = 442.87000, major_axis_length = 176.24304, minor_axis_length = 91.78191, eccentricity = 0.85370, convex_area = 12812.00000, extent = 0.62100, type = O + area = 11327.00000, perimeter = 422.68500, major_axis_length = 175.85306, minor_axis_length = 82.81971, eccentricity = 0.88215, convex_area = 11475.00000, extent = 0.59631, type = O + area = 12735.00000, perimeter = 440.73300, major_axis_length = 175.24608, minor_axis_length = 94.10067, eccentricity = 0.84361, convex_area = 13037.00000, extent = 0.79969, type = O + area = 11714.00000, perimeter = 412.20200, major_axis_length = 161.30818, minor_axis_length = 93.22562, eccentricity = 0.81608, convex_area = 11886.00000, extent = 0.76432, type = O + area = 15072.00000, perimeter = 487.58499, major_axis_length = 202.49474, minor_axis_length = 95.35527, eccentricity = 0.88219, convex_area = 15267.00000, extent = 0.79056, type = C + area = 13139.00000, perimeter = 472.25101, major_axis_length = 202.59767, minor_axis_length = 83.79178, eccentricity = 0.91046, convex_area = 13379.00000, extent = 0.78367, type = C + area = 14802.00000, perimeter = 497.83200, major_axis_length = 209.61795, minor_axis_length = 91.14713, eccentricity = 0.90051, convex_area = 15208.00000, extent = 0.62298, type = C + area = 13054.00000, perimeter = 478.45300, major_axis_length = 203.21964, minor_axis_length = 83.08085, eccentricity = 0.91261, convex_area = 13329.00000, extent = 0.79988, type = O + area = 10557.00000, perimeter = 412.66800, major_axis_length = 168.80858, minor_axis_length = 80.59271, eccentricity = 0.87867, convex_area = 10778.00000, extent = 0.61607, type = O + area = 13982.00000, perimeter = 479.78500, major_axis_length = 204.54239, minor_axis_length = 88.27965, eccentricity = 0.90207, convex_area = 14221.00000, extent = 0.77291, type = C + area = 17564.00000, perimeter = 527.11603, major_axis_length = 221.60294, minor_axis_length = 101.65880, eccentricity = 0.88857, convex_area = 17808.00000, extent = 0.77116, type = C + area = 12467.00000, perimeter = 467.20599, major_axis_length = 199.80615, minor_axis_length = 80.19141, eccentricity = 0.91593, convex_area = 12900.00000, extent = 0.78706, type = C + area = 11532.00000, perimeter = 422.69101, major_axis_length = 168.92310, minor_axis_length = 88.04036, eccentricity = 0.85344, convex_area = 11798.00000, extent = 0.63068, type = O + area = 14934.00000, perimeter = 488.27100, major_axis_length = 201.07996, minor_axis_length = 95.97958, eccentricity = 0.87873, convex_area = 15193.00000, extent = 0.65038, type = C + area = 13109.00000, perimeter = 457.17001, major_axis_length = 195.07042, minor_axis_length = 86.00751, eccentricity = 0.89755, convex_area = 13271.00000, extent = 0.59927, type = O + area = 13173.00000, perimeter = 467.47601, major_axis_length = 194.67645, minor_axis_length = 87.36396, eccentricity = 0.89365, convex_area = 13443.00000, extent = 0.57316, type = C + area = 12590.00000, perimeter = 447.53201, major_axis_length = 180.02446, minor_axis_length = 89.97459, eccentricity = 0.86615, convex_area = 12875.00000, extent = 0.66911, type = O + area = 12620.00000, perimeter = 458.88699, major_axis_length = 193.89642, minor_axis_length = 84.08607, eccentricity = 0.90107, convex_area = 12866.00000, extent = 0.75253, type = O + area = 12823.00000, perimeter = 450.64099, major_axis_length = 180.69753, minor_axis_length = 91.78145, eccentricity = 0.86140, convex_area = 13195.00000, extent = 0.69785, type = O + area = 10984.00000, perimeter = 421.95999, major_axis_length = 170.87349, minor_axis_length = 83.75953, eccentricity = 0.87162, convex_area = 11201.00000, extent = 0.69554, type = O + area = 13399.00000, perimeter = 490.56000, major_axis_length = 209.36595, minor_axis_length = 82.76702, eccentricity = 0.91854, convex_area = 13654.00000, extent = 0.51710, type = C + area = 11550.00000, perimeter = 420.83701, major_axis_length = 172.53937, minor_axis_length = 85.41179, eccentricity = 0.86888, convex_area = 11734.00000, extent = 0.69470, type = O + area = 14350.00000, perimeter = 472.02100, major_axis_length = 189.90218, minor_axis_length = 97.03053, eccentricity = 0.85961, convex_area = 14577.00000, extent = 0.65180, type = O + area = 11031.00000, perimeter = 414.44000, major_axis_length = 170.68466, minor_axis_length = 83.09671, eccentricity = 0.87349, convex_area = 11200.00000, extent = 0.60557, type = O + area = 12792.00000, perimeter = 462.07300, major_axis_length = 194.48100, minor_axis_length = 84.73089, eccentricity = 0.90010, convex_area = 13032.00000, extent = 0.59393, type = C + area = 13636.00000, perimeter = 482.05301, major_axis_length = 202.40468, minor_axis_length = 86.88380, eccentricity = 0.90318, convex_area = 13982.00000, extent = 0.58401, type = C + area = 11077.00000, perimeter = 417.32199, major_axis_length = 175.95758, minor_axis_length = 80.57663, eccentricity = 0.88899, convex_area = 11246.00000, extent = 0.67133, type = O + area = 9677.00000, perimeter = 390.61700, major_axis_length = 160.35306, minor_axis_length = 77.40150, eccentricity = 0.87579, convex_area = 9913.00000, extent = 0.76583, type = O + area = 9577.00000, perimeter = 404.54401, major_axis_length = 166.90076, minor_axis_length = 74.35096, eccentricity = 0.89529, convex_area = 9855.00000, extent = 0.61226, type = O + area = 12154.00000, perimeter = 448.06201, major_axis_length = 186.78206, minor_axis_length = 83.89810, eccentricity = 0.89344, convex_area = 12445.00000, extent = 0.62928, type = O + area = 16679.00000, perimeter = 528.55200, major_axis_length = 222.77959, minor_axis_length = 96.64007, eccentricity = 0.90101, convex_area = 17006.00000, extent = 0.56917, type = C + area = 13875.00000, perimeter = 490.83801, major_axis_length = 207.13223, minor_axis_length = 87.32526, eccentricity = 0.90679, convex_area = 14243.00000, extent = 0.57563, type = C + area = 14493.00000, perimeter = 506.84100, major_axis_length = 219.00308, minor_axis_length = 84.91930, eccentricity = 0.92176, convex_area = 14804.00000, extent = 0.54111, type = C + area = 12061.00000, perimeter = 432.68900, major_axis_length = 174.20279, minor_axis_length = 90.06543, eccentricity = 0.85598, convex_area = 12378.00000, extent = 0.62801, type = O + area = 11470.00000, perimeter = 427.19800, major_axis_length = 174.03909, minor_axis_length = 85.10542, eccentricity = 0.87228, convex_area = 11767.00000, extent = 0.63978, type = O + area = 10119.00000, perimeter = 403.54300, major_axis_length = 168.57599, minor_axis_length = 77.24084, eccentricity = 0.88885, convex_area = 10317.00000, extent = 0.77221, type = O + area = 14189.00000, perimeter = 483.93701, major_axis_length = 203.37759, minor_axis_length = 90.07769, eccentricity = 0.89657, convex_area = 14538.00000, extent = 0.71312, type = C + area = 11603.00000, perimeter = 427.52499, major_axis_length = 175.94041, minor_axis_length = 84.68665, eccentricity = 0.87654, convex_area = 11807.00000, extent = 0.80342, type = O + area = 12032.00000, perimeter = 437.30301, major_axis_length = 176.75156, minor_axis_length = 87.45618, eccentricity = 0.86901, convex_area = 12264.00000, extent = 0.64143, type = O + area = 13726.00000, perimeter = 484.24701, major_axis_length = 209.70306, minor_axis_length = 83.88441, eccentricity = 0.91651, convex_area = 13969.00000, extent = 0.55560, type = C + area = 10866.00000, perimeter = 404.35800, major_axis_length = 163.93236, minor_axis_length = 85.32536, eccentricity = 0.85387, convex_area = 11039.00000, extent = 0.62867, type = O + area = 10719.00000, perimeter = 422.37399, major_axis_length = 173.34386, minor_axis_length = 80.02293, eccentricity = 0.88707, convex_area = 11007.00000, extent = 0.76657, type = O + area = 13560.00000, perimeter = 479.19901, major_axis_length = 197.55803, minor_axis_length = 88.77229, eccentricity = 0.89336, convex_area = 14033.00000, extent = 0.69177, type = C + area = 12483.00000, perimeter = 440.61600, major_axis_length = 176.64351, minor_axis_length = 91.67731, eccentricity = 0.85478, convex_area = 12747.00000, extent = 0.62058, type = O + area = 11510.00000, perimeter = 433.51401, major_axis_length = 180.38232, minor_axis_length = 82.62196, eccentricity = 0.88893, convex_area = 11827.00000, extent = 0.76703, type = C + area = 14913.00000, perimeter = 502.86801, major_axis_length = 215.60014, minor_axis_length = 88.82380, eccentricity = 0.91119, convex_area = 15300.00000, extent = 0.69273, type = C + area = 13277.00000, perimeter = 486.95599, major_axis_length = 201.83914, minor_axis_length = 85.25986, eccentricity = 0.90640, convex_area = 13771.00000, extent = 0.61105, type = C + area = 13949.00000, perimeter = 479.40201, major_axis_length = 200.09514, minor_axis_length = 90.09469, eccentricity = 0.89290, convex_area = 14286.00000, extent = 0.58155, type = C + area = 14412.00000, perimeter = 490.32401, major_axis_length = 207.47614, minor_axis_length = 89.68951, eccentricity = 0.90174, convex_area = 14703.00000, extent = 0.59885, type = C + area = 13946.00000, perimeter = 482.14001, major_axis_length = 203.25732, minor_axis_length = 88.27829, eccentricity = 0.90076, convex_area = 14233.00000, extent = 0.57151, type = C + area = 13450.00000, perimeter = 470.97601, major_axis_length = 200.60817, minor_axis_length = 85.92672, eccentricity = 0.90362, convex_area = 13728.00000, extent = 0.56375, type = C + area = 12308.00000, perimeter = 451.60901, major_axis_length = 193.26753, minor_axis_length = 81.65989, eccentricity = 0.90635, convex_area = 12488.00000, extent = 0.72404, type = C + area = 16376.00000, perimeter = 531.00098, major_axis_length = 227.94485, minor_axis_length = 92.66852, eccentricity = 0.91363, convex_area = 16667.00000, extent = 0.74177, type = C + area = 12745.00000, perimeter = 453.03500, major_axis_length = 187.00584, minor_axis_length = 87.66729, eccentricity = 0.88331, convex_area = 13040.00000, extent = 0.60518, type = C + area = 13034.00000, perimeter = 449.85101, major_axis_length = 180.19710, minor_axis_length = 93.86512, eccentricity = 0.85362, convex_area = 13333.00000, extent = 0.62316, type = O + area = 10951.00000, perimeter = 424.76901, major_axis_length = 179.13132, minor_axis_length = 78.75501, eccentricity = 0.89817, convex_area = 11138.00000, extent = 0.56726, type = O + area = 12047.00000, perimeter = 455.60800, major_axis_length = 195.66608, minor_axis_length = 80.26914, eccentricity = 0.91198, convex_area = 12339.00000, extent = 0.54403, type = C + area = 16059.00000, perimeter = 522.72400, major_axis_length = 217.85014, minor_axis_length = 95.15388, eccentricity = 0.89957, convex_area = 16675.00000, extent = 0.68846, type = C + area = 13302.00000, perimeter = 482.69000, major_axis_length = 209.39711, minor_axis_length = 81.74891, eccentricity = 0.92064, convex_area = 13827.00000, extent = 0.59533, type = C + area = 14881.00000, perimeter = 495.61801, major_axis_length = 206.66783, minor_axis_length = 93.32417, eccentricity = 0.89224, convex_area = 15225.00000, extent = 0.58398, type = C + area = 10917.00000, perimeter = 420.91101, major_axis_length = 176.43095, minor_axis_length = 80.17513, eccentricity = 0.89078, convex_area = 11128.00000, extent = 0.65908, type = O + area = 11990.00000, perimeter = 416.75299, major_axis_length = 166.58202, minor_axis_length = 91.98354, eccentricity = 0.83372, convex_area = 12145.00000, extent = 0.66170, type = O + area = 10841.00000, perimeter = 419.10001, major_axis_length = 166.86517, minor_axis_length = 84.30315, eccentricity = 0.86299, convex_area = 11258.00000, extent = 0.69476, type = O + area = 15344.00000, perimeter = 501.79999, major_axis_length = 212.42270, minor_axis_length = 92.96140, eccentricity = 0.89916, convex_area = 15604.00000, extent = 0.79420, type = C + area = 14153.00000, perimeter = 480.32199, major_axis_length = 196.97827, minor_axis_length = 92.79873, eccentricity = 0.88207, convex_area = 14555.00000, extent = 0.77212, type = O + area = 13104.00000, perimeter = 476.98901, major_axis_length = 202.42511, minor_axis_length = 83.61329, eccentricity = 0.91070, convex_area = 13464.00000, extent = 0.53882, type = C + area = 12274.00000, perimeter = 456.12399, major_axis_length = 194.48738, minor_axis_length = 81.23903, eccentricity = 0.90858, convex_area = 12562.00000, extent = 0.70964, type = C + area = 12688.00000, perimeter = 466.83801, major_axis_length = 193.78667, minor_axis_length = 84.37170, eccentricity = 0.90024, convex_area = 12956.00000, extent = 0.60190, type = C + area = 9961.00000, perimeter = 397.92999, major_axis_length = 166.00798, minor_axis_length = 77.44359, eccentricity = 0.88452, convex_area = 10130.00000, extent = 0.62798, type = O + area = 10975.00000, perimeter = 420.52200, major_axis_length = 169.96675, minor_axis_length = 83.40964, eccentricity = 0.87131, convex_area = 11305.00000, extent = 0.68680, type = O + area = 14379.00000, perimeter = 494.30301, major_axis_length = 205.52626, minor_axis_length = 90.39722, eccentricity = 0.89808, convex_area = 14768.00000, extent = 0.57886, type = C + area = 15741.00000, perimeter = 523.77600, major_axis_length = 227.50233, minor_axis_length = 89.12435, eccentricity = 0.92007, convex_area = 15999.00000, extent = 0.56322, type = C + area = 14431.00000, perimeter = 497.06299, major_axis_length = 212.04567, minor_axis_length = 87.85142, eccentricity = 0.91014, convex_area = 14805.00000, extent = 0.64864, type = C + area = 13388.00000, perimeter = 466.46201, major_axis_length = 191.93750, minor_axis_length = 90.36681, eccentricity = 0.88223, convex_area = 13644.00000, extent = 0.75400, type = O + area = 13970.00000, perimeter = 494.65399, major_axis_length = 211.74269, minor_axis_length = 85.07025, eccentricity = 0.91574, convex_area = 14280.00000, extent = 0.69627, type = C + area = 12366.00000, perimeter = 451.86099, major_axis_length = 180.86586, minor_axis_length = 89.14079, eccentricity = 0.87011, convex_area = 12620.00000, extent = 0.58662, type = O + area = 14753.00000, perimeter = 494.85199, major_axis_length = 212.10301, minor_axis_length = 89.36530, eccentricity = 0.90691, convex_area = 15051.00000, extent = 0.81689, type = C + area = 12826.00000, perimeter = 452.82199, major_axis_length = 181.85797, minor_axis_length = 91.52682, eccentricity = 0.86412, convex_area = 13129.00000, extent = 0.60620, type = O + area = 8810.00000, perimeter = 384.74701, major_axis_length = 164.35394, minor_axis_length = 68.90158, eccentricity = 0.90788, convex_area = 8987.00000, extent = 0.58757, type = O + area = 13615.00000, perimeter = 468.05600, major_axis_length = 192.82779, minor_axis_length = 91.15475, eccentricity = 0.88121, convex_area = 13855.00000, extent = 0.58363, type = C + area = 12994.00000, perimeter = 457.19000, major_axis_length = 187.33479, minor_axis_length = 89.40963, eccentricity = 0.87876, convex_area = 13335.00000, extent = 0.76359, type = O + area = 10815.00000, perimeter = 420.81500, major_axis_length = 179.96773, minor_axis_length = 77.09937, eccentricity = 0.90359, convex_area = 10981.00000, extent = 0.56921, type = O + area = 12027.00000, perimeter = 445.20200, major_axis_length = 178.73625, minor_axis_length = 87.69733, eccentricity = 0.87136, convex_area = 12455.00000, extent = 0.61187, type = O + area = 10897.00000, perimeter = 420.55499, major_axis_length = 168.11865, minor_axis_length = 83.56301, eccentricity = 0.86772, convex_area = 11174.00000, extent = 0.64085, type = O + area = 11521.00000, perimeter = 429.23401, major_axis_length = 176.80731, minor_axis_length = 84.10378, eccentricity = 0.87962, convex_area = 11732.00000, extent = 0.59295, type = O + area = 11873.00000, perimeter = 432.33301, major_axis_length = 175.09715, minor_axis_length = 87.68571, eccentricity = 0.86557, convex_area = 12162.00000, extent = 0.65093, type = O + area = 12730.00000, perimeter = 462.37000, major_axis_length = 192.69362, minor_axis_length = 85.33430, eccentricity = 0.89660, convex_area = 13160.00000, extent = 0.63371, type = O + area = 11873.00000, perimeter = 430.04401, major_axis_length = 176.72914, minor_axis_length = 86.37125, eccentricity = 0.87244, convex_area = 12086.00000, extent = 0.60422, type = O + area = 9517.00000, perimeter = 389.00101, major_axis_length = 163.50932, minor_axis_length = 74.76005, eccentricity = 0.88935, convex_area = 9649.00000, extent = 0.58101, type = O + area = 12916.00000, perimeter = 471.19601, major_axis_length = 201.00291, minor_axis_length = 82.65474, eccentricity = 0.91154, convex_area = 13199.00000, extent = 0.55704, type = C + area = 15307.00000, perimeter = 489.47101, major_axis_length = 197.20265, minor_axis_length = 100.13299, eccentricity = 0.86149, convex_area = 15628.00000, extent = 0.67910, type = C + area = 11742.00000, perimeter = 439.75601, major_axis_length = 183.10056, minor_axis_length = 83.15661, eccentricity = 0.89092, convex_area = 12016.00000, extent = 0.57222, type = O + area = 11657.00000, perimeter = 432.56500, major_axis_length = 177.71994, minor_axis_length = 84.21097, eccentricity = 0.88061, convex_area = 11946.00000, extent = 0.60786, type = O + area = 12776.00000, perimeter = 457.47101, major_axis_length = 184.23286, minor_axis_length = 89.64104, eccentricity = 0.87365, convex_area = 13089.00000, extent = 0.74301, type = O + area = 12495.00000, perimeter = 454.79300, major_axis_length = 186.77663, minor_axis_length = 86.49271, eccentricity = 0.88632, convex_area = 12774.00000, extent = 0.75032, type = O + area = 12695.00000, perimeter = 447.83401, major_axis_length = 179.08238, minor_axis_length = 91.47324, eccentricity = 0.85971, convex_area = 12947.00000, extent = 0.60797, type = O + area = 11506.00000, perimeter = 433.34201, major_axis_length = 183.44586, minor_axis_length = 80.39727, eccentricity = 0.89885, convex_area = 11675.00000, extent = 0.61701, type = O + area = 15547.00000, perimeter = 501.80499, major_axis_length = 208.49918, minor_axis_length = 95.80786, eccentricity = 0.88817, convex_area = 15867.00000, extent = 0.59828, type = C + area = 13263.00000, perimeter = 474.49799, major_axis_length = 197.84290, minor_axis_length = 86.68632, eccentricity = 0.89890, convex_area = 13607.00000, extent = 0.56009, type = C + area = 14957.00000, perimeter = 505.11700, major_axis_length = 213.04562, minor_axis_length = 90.70897, eccentricity = 0.90483, convex_area = 15347.00000, extent = 0.65412, type = C + area = 12840.00000, perimeter = 470.09601, major_axis_length = 199.26149, minor_axis_length = 82.79353, eccentricity = 0.90959, convex_area = 13072.00000, extent = 0.55787, type = O + area = 12201.00000, perimeter = 443.45599, major_axis_length = 178.08556, minor_axis_length = 88.47781, eccentricity = 0.86785, convex_area = 12544.00000, extent = 0.63913, type = O + area = 12067.00000, perimeter = 440.00101, major_axis_length = 187.76135, minor_axis_length = 82.31121, eccentricity = 0.89879, convex_area = 12200.00000, extent = 0.61724, type = O + area = 11810.00000, perimeter = 444.35199, major_axis_length = 187.80739, minor_axis_length = 80.46891, eccentricity = 0.90356, convex_area = 11977.00000, extent = 0.57308, type = O + area = 13777.00000, perimeter = 480.83600, major_axis_length = 197.00587, minor_axis_length = 90.18475, eccentricity = 0.88907, convex_area = 14266.00000, extent = 0.63264, type = C + area = 14572.00000, perimeter = 497.55099, major_axis_length = 211.08046, minor_axis_length = 88.70968, eccentricity = 0.90740, convex_area = 14926.00000, extent = 0.62659, type = C + area = 12164.00000, perimeter = 443.72900, major_axis_length = 185.80194, minor_axis_length = 84.33198, eccentricity = 0.89106, convex_area = 12442.00000, extent = 0.63633, type = O + area = 14712.00000, perimeter = 503.71100, major_axis_length = 217.60973, minor_axis_length = 87.28523, eccentricity = 0.91603, convex_area = 15109.00000, extent = 0.80314, type = C + area = 10651.00000, perimeter = 411.00299, major_axis_length = 167.18010, minor_axis_length = 82.50652, eccentricity = 0.86974, convex_area = 10893.00000, extent = 0.67505, type = O + area = 11739.00000, perimeter = 430.49200, major_axis_length = 170.79736, minor_axis_length = 89.44210, eccentricity = 0.85192, convex_area = 11963.00000, extent = 0.58258, type = O + area = 11652.00000, perimeter = 428.80801, major_axis_length = 169.58989, minor_axis_length = 89.57381, eccentricity = 0.84913, convex_area = 12067.00000, extent = 0.73700, type = O + area = 12333.00000, perimeter = 463.15500, major_axis_length = 196.59944, minor_axis_length = 81.60153, eccentricity = 0.90979, convex_area = 12705.00000, extent = 0.59202, type = C + area = 12149.00000, perimeter = 455.56201, major_axis_length = 191.44572, minor_axis_length = 82.05867, eccentricity = 0.90348, convex_area = 12510.00000, extent = 0.71423, type = C + area = 13154.00000, perimeter = 451.56201, major_axis_length = 179.95360, minor_axis_length = 94.31381, eccentricity = 0.85166, convex_area = 13428.00000, extent = 0.65022, type = O + area = 10390.00000, perimeter = 420.79401, major_axis_length = 174.04564, minor_axis_length = 77.64330, eccentricity = 0.89498, convex_area = 10689.00000, extent = 0.72882, type = O + area = 13121.00000, perimeter = 456.77200, major_axis_length = 181.99808, minor_axis_length = 93.46143, eccentricity = 0.85807, convex_area = 13490.00000, extent = 0.62732, type = O + area = 9878.00000, perimeter = 406.97800, major_axis_length = 169.36671, minor_axis_length = 74.97759, eccentricity = 0.89667, convex_area = 10098.00000, extent = 0.58133, type = O + area = 14623.00000, perimeter = 499.31299, major_axis_length = 208.22838, minor_axis_length = 91.47314, eccentricity = 0.89834, convex_area = 15085.00000, extent = 0.58357, type = C + area = 12056.00000, perimeter = 431.85101, major_axis_length = 182.36313, minor_axis_length = 84.43254, eccentricity = 0.88636, convex_area = 12191.00000, extent = 0.79735, type = O + area = 12406.00000, perimeter = 434.73099, major_axis_length = 172.18394, minor_axis_length = 92.85658, eccentricity = 0.84212, convex_area = 12704.00000, extent = 0.64447, type = O + area = 11708.00000, perimeter = 423.94101, major_axis_length = 173.93201, minor_axis_length = 85.92611, eccentricity = 0.86945, convex_area = 11918.00000, extent = 0.61132, type = O + area = 11745.00000, perimeter = 426.76599, major_axis_length = 179.01527, minor_axis_length = 84.02514, eccentricity = 0.88300, convex_area = 11904.00000, extent = 0.68540, type = O + area = 9711.00000, perimeter = 396.46899, major_axis_length = 166.69046, minor_axis_length = 74.74411, eccentricity = 0.89383, convex_area = 9859.00000, extent = 0.58783, type = O + area = 13434.00000, perimeter = 455.82300, major_axis_length = 184.17033, minor_axis_length = 93.38285, eccentricity = 0.86192, convex_area = 13686.00000, extent = 0.63584, type = C + area = 10191.00000, perimeter = 419.57901, major_axis_length = 174.73424, minor_axis_length = 75.53467, eccentricity = 0.90174, convex_area = 10470.00000, extent = 0.62733, type = O + area = 12650.00000, perimeter = 438.14499, major_axis_length = 175.83983, minor_axis_length = 92.56994, eccentricity = 0.85021, convex_area = 12871.00000, extent = 0.79435, type = O + area = 11271.00000, perimeter = 404.46399, major_axis_length = 158.98883, minor_axis_length = 91.34058, eccentricity = 0.81850, convex_area = 11462.00000, extent = 0.67010, type = O + area = 14399.00000, perimeter = 492.33899, major_axis_length = 210.13991, minor_axis_length = 88.10236, eccentricity = 0.90787, convex_area = 14636.00000, extent = 0.54918, type = C + area = 12158.00000, perimeter = 447.37701, major_axis_length = 184.09531, minor_axis_length = 84.91306, eccentricity = 0.88727, convex_area = 12467.00000, extent = 0.63158, type = C + area = 14806.00000, perimeter = 509.37601, major_axis_length = 214.14243, minor_axis_length = 89.69170, eccentricity = 0.90806, convex_area = 15594.00000, extent = 0.70879, type = C + area = 10427.00000, perimeter = 405.57800, major_axis_length = 170.56107, minor_axis_length = 78.14708, eccentricity = 0.88886, convex_area = 10588.00000, extent = 0.67607, type = O + area = 15209.00000, perimeter = 517.68799, major_axis_length = 221.25240, minor_axis_length = 89.17512, eccentricity = 0.91518, convex_area = 15653.00000, extent = 0.63530, type = C + area = 15694.00000, perimeter = 506.50601, major_axis_length = 211.83493, minor_axis_length = 96.02247, eccentricity = 0.89136, convex_area = 16010.00000, extent = 0.57654, type = C + area = 13183.00000, perimeter = 464.57199, major_axis_length = 190.69127, minor_axis_length = 88.76956, eccentricity = 0.88504, convex_area = 13473.00000, extent = 0.59391, type = C + area = 14061.00000, perimeter = 470.74899, major_axis_length = 190.29001, minor_axis_length = 95.00540, eccentricity = 0.86645, convex_area = 14347.00000, extent = 0.61801, type = C + area = 13415.00000, perimeter = 464.29300, major_axis_length = 191.95778, minor_axis_length = 89.88297, eccentricity = 0.88360, convex_area = 13660.00000, extent = 0.58066, type = O + area = 10598.00000, perimeter = 411.47900, major_axis_length = 162.20229, minor_axis_length = 85.22141, eccentricity = 0.85085, convex_area = 10936.00000, extent = 0.59353, type = O + area = 11846.00000, perimeter = 437.34698, major_axis_length = 182.62881, minor_axis_length = 82.91296, eccentricity = 0.89100, convex_area = 12019.00000, extent = 0.57932, type = O + area = 10860.00000, perimeter = 411.84601, major_axis_length = 165.19398, minor_axis_length = 85.32478, eccentricity = 0.85628, convex_area = 11212.00000, extent = 0.75197, type = O + area = 13574.00000, perimeter = 481.15701, major_axis_length = 206.46765, minor_axis_length = 84.42449, eccentricity = 0.91258, convex_area = 13870.00000, extent = 0.80961, type = C + area = 10574.00000, perimeter = 398.68100, major_axis_length = 157.80840, minor_axis_length = 86.85959, eccentricity = 0.83489, convex_area = 10829.00000, extent = 0.69356, type = O + area = 11944.00000, perimeter = 434.92401, major_axis_length = 182.87396, minor_axis_length = 83.63844, eccentricity = 0.88928, convex_area = 12090.00000, extent = 0.61720, type = O + area = 12538.00000, perimeter = 452.66000, major_axis_length = 188.80528, minor_axis_length = 86.10972, eccentricity = 0.88994, convex_area = 12846.00000, extent = 0.68416, type = O + area = 11307.00000, perimeter = 424.89600, major_axis_length = 173.94365, minor_axis_length = 83.69766, eccentricity = 0.87662, convex_area = 11499.00000, extent = 0.73863, type = O + area = 11622.00000, perimeter = 425.89301, major_axis_length = 173.19540, minor_axis_length = 86.71649, eccentricity = 0.86563, convex_area = 11941.00000, extent = 0.60352, type = O + area = 11792.00000, perimeter = 427.78299, major_axis_length = 180.87175, minor_axis_length = 83.27078, eccentricity = 0.88772, convex_area = 11923.00000, extent = 0.71832, type = O + area = 11749.00000, perimeter = 455.25699, major_axis_length = 192.59000, minor_axis_length = 78.04095, eccentricity = 0.91422, convex_area = 12001.00000, extent = 0.60665, type = O + area = 11352.00000, perimeter = 422.32401, major_axis_length = 171.01981, minor_axis_length = 85.81471, eccentricity = 0.86499, convex_area = 11581.00000, extent = 0.78571, type = O + area = 10795.00000, perimeter = 411.29999, major_axis_length = 168.38956, minor_axis_length = 82.64345, eccentricity = 0.87128, convex_area = 11029.00000, extent = 0.76043, type = O + area = 15448.00000, perimeter = 521.31799, major_axis_length = 224.89053, minor_axis_length = 88.73651, eccentricity = 0.91886, convex_area = 15847.00000, extent = 0.70539, type = C + area = 14385.00000, perimeter = 496.97800, major_axis_length = 214.26955, minor_axis_length = 86.03324, eccentricity = 0.91585, convex_area = 14604.00000, extent = 0.77627, type = C + area = 11624.00000, perimeter = 452.37100, major_axis_length = 190.01772, minor_axis_length = 79.30647, eccentricity = 0.90874, convex_area = 11979.00000, extent = 0.58601, type = O + area = 14969.00000, perimeter = 515.09802, major_axis_length = 222.04485, minor_axis_length = 87.43668, eccentricity = 0.91920, convex_area = 15269.00000, extent = 0.54621, type = C + area = 13855.00000, perimeter = 487.83099, major_axis_length = 207.10844, minor_axis_length = 86.02370, eccentricity = 0.90966, convex_area = 14214.00000, extent = 0.55155, type = C + area = 10312.00000, perimeter = 398.79501, major_axis_length = 163.54231, minor_axis_length = 80.67045, eccentricity = 0.86988, convex_area = 10507.00000, extent = 0.80575, type = O + area = 9468.00000, perimeter = 386.49799, major_axis_length = 162.47389, minor_axis_length = 74.97504, eccentricity = 0.88716, convex_area = 9608.00000, extent = 0.75376, type = O + area = 11063.00000, perimeter = 428.23901, major_axis_length = 177.53922, minor_axis_length = 80.86371, eccentricity = 0.89025, convex_area = 11362.00000, extent = 0.60613, type = O + area = 10360.00000, perimeter = 404.32901, major_axis_length = 165.85905, minor_axis_length = 81.19803, eccentricity = 0.87197, convex_area = 10556.00000, extent = 0.67615, type = O + area = 11667.00000, perimeter = 447.52499, major_axis_length = 186.67125, minor_axis_length = 80.84287, eccentricity = 0.90136, convex_area = 12039.00000, extent = 0.66730, type = C + area = 12500.00000, perimeter = 444.84500, major_axis_length = 182.47980, minor_axis_length = 88.28197, eccentricity = 0.87518, convex_area = 12734.00000, extent = 0.66902, type = O + area = 10380.00000, perimeter = 399.05301, major_axis_length = 161.87367, minor_axis_length = 82.76502, eccentricity = 0.85941, convex_area = 10606.00000, extent = 0.68596, type = O + area = 14092.00000, perimeter = 466.44800, major_axis_length = 185.17824, minor_axis_length = 98.08611, eccentricity = 0.84819, convex_area = 14434.00000, extent = 0.66384, type = O + area = 13687.00000, perimeter = 481.74500, major_axis_length = 201.17458, minor_axis_length = 87.95718, eccentricity = 0.89936, convex_area = 13979.00000, extent = 0.69832, type = C + area = 10445.00000, perimeter = 409.95999, major_axis_length = 168.47455, minor_axis_length = 80.43509, eccentricity = 0.87867, convex_area = 10653.00000, extent = 0.74026, type = O + area = 13920.00000, perimeter = 480.11200, major_axis_length = 195.67007, minor_axis_length = 92.54844, eccentricity = 0.88107, convex_area = 14350.00000, extent = 0.57711, type = C + area = 15777.00000, perimeter = 515.68402, major_axis_length = 218.69824, minor_axis_length = 93.20509, eccentricity = 0.90464, convex_area = 16111.00000, extent = 0.56719, type = C + area = 14489.00000, perimeter = 496.38501, major_axis_length = 210.03639, minor_axis_length = 88.53156, eccentricity = 0.90683, convex_area = 14843.00000, extent = 0.61535, type = C + area = 12432.00000, perimeter = 453.04001, major_axis_length = 190.54366, minor_axis_length = 84.25046, eccentricity = 0.89694, convex_area = 12728.00000, extent = 0.76575, type = O + area = 11542.00000, perimeter = 426.40399, major_axis_length = 175.27608, minor_axis_length = 84.45689, eccentricity = 0.87625, convex_area = 11738.00000, extent = 0.62728, type = O + area = 11757.00000, perimeter = 441.24200, major_axis_length = 182.59586, minor_axis_length = 82.91640, eccentricity = 0.89095, convex_area = 11967.00000, extent = 0.60172, type = O + area = 15373.00000, perimeter = 489.13101, major_axis_length = 200.14091, minor_axis_length = 98.96591, eccentricity = 0.86919, convex_area = 15617.00000, extent = 0.77641, type = C + area = 15285.00000, perimeter = 495.83899, major_axis_length = 206.33289, minor_axis_length = 94.79103, eccentricity = 0.88823, convex_area = 15517.00000, extent = 0.66887, type = C + area = 11908.00000, perimeter = 447.63400, major_axis_length = 187.82114, minor_axis_length = 81.94851, eccentricity = 0.89980, convex_area = 12287.00000, extent = 0.58031, type = O + area = 12935.00000, perimeter = 462.98001, major_axis_length = 195.30432, minor_axis_length = 85.48748, eccentricity = 0.89911, convex_area = 13213.00000, extent = 0.75304, type = C + area = 12993.00000, perimeter = 466.23901, major_axis_length = 199.03352, minor_axis_length = 83.48304, eccentricity = 0.90778, convex_area = 13230.00000, extent = 0.78664, type = C + area = 15534.00000, perimeter = 521.92999, major_axis_length = 221.58566, minor_axis_length = 90.55495, eccentricity = 0.91268, convex_area = 16187.00000, extent = 0.70834, type = C + area = 12622.00000, perimeter = 458.27499, major_axis_length = 189.69633, minor_axis_length = 86.54059, eccentricity = 0.88987, convex_area = 13019.00000, extent = 0.76441, type = O + area = 14656.00000, perimeter = 494.31100, major_axis_length = 206.02007, minor_axis_length = 91.73097, eccentricity = 0.89540, convex_area = 15072.00000, extent = 0.61544, type = C + area = 15552.00000, perimeter = 492.98199, major_axis_length = 198.20627, minor_axis_length = 101.64401, eccentricity = 0.85850, convex_area = 15936.00000, extent = 0.62745, type = C + area = 11644.00000, perimeter = 444.63101, major_axis_length = 186.58461, minor_axis_length = 80.90866, eccentricity = 0.90109, convex_area = 11850.00000, extent = 0.60696, type = O + area = 11191.00000, perimeter = 426.13800, major_axis_length = 177.49660, minor_axis_length = 81.30755, eccentricity = 0.88891, convex_area = 11456.00000, extent = 0.64316, type = O + area = 15319.00000, perimeter = 506.02499, major_axis_length = 208.22775, minor_axis_length = 94.83875, eccentricity = 0.89026, convex_area = 15813.00000, extent = 0.57370, type = C + area = 12573.00000, perimeter = 471.64499, major_axis_length = 199.33699, minor_axis_length = 81.58099, eccentricity = 0.91242, convex_area = 12979.00000, extent = 0.53457, type = C + area = 13964.00000, perimeter = 480.02600, major_axis_length = 199.82314, minor_axis_length = 90.06547, eccentricity = 0.89266, convex_area = 14298.00000, extent = 0.65775, type = C + area = 10962.00000, perimeter = 415.00000, major_axis_length = 170.09814, minor_axis_length = 82.88567, eccentricity = 0.87325, convex_area = 11152.00000, extent = 0.62037, type = O + area = 13337.00000, perimeter = 468.62100, major_axis_length = 196.77119, minor_axis_length = 87.31041, eccentricity = 0.89617, convex_area = 13598.00000, extent = 0.69442, type = C + area = 12239.00000, perimeter = 432.29800, major_axis_length = 168.49008, minor_axis_length = 94.25422, eccentricity = 0.82889, convex_area = 12489.00000, extent = 0.68260, type = O + area = 11342.00000, perimeter = 440.19901, major_axis_length = 188.07085, minor_axis_length = 77.18611, eccentricity = 0.91190, convex_area = 11532.00000, extent = 0.57856, type = O + area = 14817.00000, perimeter = 502.64401, major_axis_length = 214.59085, minor_axis_length = 89.05412, eccentricity = 0.90982, convex_area = 15275.00000, extent = 0.79799, type = C + area = 12396.00000, perimeter = 460.00201, major_axis_length = 195.32330, minor_axis_length = 81.92961, eccentricity = 0.90778, convex_area = 12676.00000, extent = 0.73306, type = C + area = 14676.00000, perimeter = 481.63101, major_axis_length = 202.40207, minor_axis_length = 92.94724, eccentricity = 0.88832, convex_area = 14936.00000, extent = 0.65053, type = C + area = 11585.00000, perimeter = 428.37299, major_axis_length = 171.56198, minor_axis_length = 87.44052, eccentricity = 0.86037, convex_area = 11939.00000, extent = 0.60890, type = O + area = 13964.00000, perimeter = 481.23001, major_axis_length = 201.55930, minor_axis_length = 89.30014, eccentricity = 0.89650, convex_area = 14275.00000, extent = 0.58329, type = C + area = 12408.00000, perimeter = 454.39099, major_axis_length = 191.89653, minor_axis_length = 83.03348, eccentricity = 0.90154, convex_area = 12664.00000, extent = 0.58391, type = O + area = 13632.00000, perimeter = 485.93701, major_axis_length = 205.21495, minor_axis_length = 85.83135, eccentricity = 0.90833, convex_area = 13905.00000, extent = 0.55012, type = C + area = 9622.00000, perimeter = 403.77399, major_axis_length = 170.71799, minor_axis_length = 72.92541, eccentricity = 0.90417, convex_area = 9897.00000, extent = 0.70290, type = O + area = 13266.00000, perimeter = 466.00000, major_axis_length = 198.06139, minor_axis_length = 86.09348, eccentricity = 0.90058, convex_area = 13514.00000, extent = 0.65434, type = C + area = 15035.00000, perimeter = 506.15201, major_axis_length = 216.93530, minor_axis_length = 89.38924, eccentricity = 0.91116, convex_area = 15432.00000, extent = 0.60930, type = C + area = 11935.00000, perimeter = 464.93301, major_axis_length = 196.53505, minor_axis_length = 79.72299, eccentricity = 0.91403, convex_area = 12358.00000, extent = 0.56663, type = C + area = 15249.00000, perimeter = 506.04999, major_axis_length = 212.09094, minor_axis_length = 92.49422, eccentricity = 0.89990, convex_area = 15582.00000, extent = 0.78304, type = C + area = 14226.00000, perimeter = 491.38901, major_axis_length = 213.78671, minor_axis_length = 85.35412, eccentricity = 0.91684, convex_area = 14483.00000, extent = 0.66439, type = C + area = 10482.00000, perimeter = 402.52100, major_axis_length = 164.54213, minor_axis_length = 82.02779, eccentricity = 0.86688, convex_area = 10679.00000, extent = 0.61812, type = O + area = 13655.00000, perimeter = 477.62601, major_axis_length = 203.95604, minor_axis_length = 86.22283, eccentricity = 0.90625, convex_area = 13857.00000, extent = 0.73783, type = C + area = 13567.00000, perimeter = 481.40500, major_axis_length = 202.01970, minor_axis_length = 86.41855, eccentricity = 0.90389, convex_area = 13976.00000, extent = 0.75093, type = C + area = 10896.00000, perimeter = 419.38501, major_axis_length = 174.13997, minor_axis_length = 80.54836, eccentricity = 0.88659, convex_area = 11145.00000, extent = 0.58961, type = O + area = 12452.00000, perimeter = 445.07901, major_axis_length = 179.02614, minor_axis_length = 89.89113, eccentricity = 0.86480, convex_area = 12710.00000, extent = 0.61797, type = O + area = 15594.00000, perimeter = 515.66101, major_axis_length = 216.53427, minor_axis_length = 93.27998, eccentricity = 0.90245, convex_area = 16029.00000, extent = 0.66667, type = C + area = 11512.00000, perimeter = 427.56799, major_axis_length = 172.21010, minor_axis_length = 85.44306, eccentricity = 0.86823, convex_area = 11802.00000, extent = 0.69079, type = O + area = 14944.00000, perimeter = 500.23801, major_axis_length = 209.55765, minor_axis_length = 91.52841, eccentricity = 0.89957, convex_area = 15255.00000, extent = 0.62896, type = C + area = 13574.00000, perimeter = 473.22101, major_axis_length = 197.87277, minor_axis_length = 88.44189, eccentricity = 0.89455, convex_area = 13879.00000, extent = 0.64125, type = C + area = 15389.00000, perimeter = 521.30402, major_axis_length = 226.96100, minor_axis_length = 87.38693, eccentricity = 0.92290, convex_area = 15753.00000, extent = 0.57465, type = C + area = 12093.00000, perimeter = 440.43799, major_axis_length = 176.48048, minor_axis_length = 88.96030, eccentricity = 0.86366, convex_area = 12421.00000, extent = 0.62226, type = O + area = 11963.00000, perimeter = 448.42599, major_axis_length = 191.07706, minor_axis_length = 80.81423, eccentricity = 0.90616, convex_area = 12205.00000, extent = 0.75591, type = C + area = 14202.00000, perimeter = 485.93799, major_axis_length = 202.61406, minor_axis_length = 90.65028, eccentricity = 0.89433, convex_area = 14640.00000, extent = 0.56177, type = C + area = 13983.00000, perimeter = 481.65900, major_axis_length = 198.39046, minor_axis_length = 90.49815, eccentricity = 0.88990, convex_area = 14306.00000, extent = 0.58802, type = C + area = 14476.00000, perimeter = 489.23801, major_axis_length = 203.85884, minor_axis_length = 91.66153, eccentricity = 0.89321, convex_area = 14807.00000, extent = 0.67985, type = C + area = 12488.00000, perimeter = 469.82800, major_axis_length = 200.74376, minor_axis_length = 80.04685, eccentricity = 0.91706, convex_area = 12932.00000, extent = 0.74466, type = C + area = 14590.00000, perimeter = 496.17200, major_axis_length = 212.10075, minor_axis_length = 88.60241, eccentricity = 0.90857, convex_area = 14883.00000, extent = 0.57148, type = C + area = 12042.00000, perimeter = 440.70001, major_axis_length = 177.11136, minor_axis_length = 88.22966, eccentricity = 0.86709, convex_area = 12424.00000, extent = 0.75169, type = O + area = 11342.00000, perimeter = 429.78101, major_axis_length = 179.13814, minor_axis_length = 81.86805, eccentricity = 0.88946, convex_area = 11532.00000, extent = 0.57894, type = O + area = 13568.00000, perimeter = 484.64801, major_axis_length = 208.07210, minor_axis_length = 83.69620, eccentricity = 0.91553, convex_area = 13962.00000, extent = 0.78792, type = C + area = 13806.00000, perimeter = 494.03201, major_axis_length = 212.38689, minor_axis_length = 83.93067, eccentricity = 0.91860, convex_area = 14247.00000, extent = 0.53363, type = C + area = 13657.00000, perimeter = 469.23700, major_axis_length = 193.10742, minor_axis_length = 90.77804, eccentricity = 0.88262, convex_area = 13930.00000, extent = 0.61535, type = C + area = 14897.00000, perimeter = 491.18500, major_axis_length = 205.71985, minor_axis_length = 92.87569, eccentricity = 0.89229, convex_area = 15137.00000, extent = 0.59445, type = C + area = 9070.00000, perimeter = 375.09399, major_axis_length = 156.98489, minor_axis_length = 74.22942, eccentricity = 0.88115, convex_area = 9233.00000, extent = 0.73740, type = O + area = 12291.00000, perimeter = 440.95700, major_axis_length = 186.18777, minor_axis_length = 84.68074, eccentricity = 0.89059, convex_area = 12476.00000, extent = 0.73017, type = C + area = 12723.00000, perimeter = 460.88000, major_axis_length = 185.75475, minor_axis_length = 89.16935, eccentricity = 0.87725, convex_area = 13302.00000, extent = 0.67500, type = O + area = 14212.00000, perimeter = 484.94601, major_axis_length = 205.00323, minor_axis_length = 89.61550, eccentricity = 0.89939, convex_area = 14502.00000, extent = 0.75220, type = C + area = 11718.00000, perimeter = 449.34399, major_axis_length = 189.14067, minor_axis_length = 80.11982, eccentricity = 0.90585, convex_area = 12133.00000, extent = 0.63054, type = C + area = 14505.00000, perimeter = 492.68201, major_axis_length = 205.41214, minor_axis_length = 90.76255, eccentricity = 0.89709, convex_area = 14834.00000, extent = 0.58295, type = C + area = 16654.00000, perimeter = 519.03601, major_axis_length = 217.24971, minor_axis_length = 98.99957, eccentricity = 0.89014, convex_area = 16976.00000, extent = 0.76338, type = C + area = 12518.00000, perimeter = 473.38400, major_axis_length = 203.92206, minor_axis_length = 80.00767, eccentricity = 0.91982, convex_area = 12778.00000, extent = 0.68033, type = C + area = 12010.00000, perimeter = 428.14001, major_axis_length = 171.22218, minor_axis_length = 90.10307, eccentricity = 0.85034, convex_area = 12222.00000, extent = 0.66574, type = O + area = 11350.00000, perimeter = 445.82101, major_axis_length = 195.95209, minor_axis_length = 74.59088, eccentricity = 0.92472, convex_area = 11544.00000, extent = 0.58430, type = C + area = 15042.00000, perimeter = 504.72000, major_axis_length = 214.52121, minor_axis_length = 90.20871, eccentricity = 0.90729, convex_area = 15375.00000, extent = 0.69562, type = C + area = 11889.00000, perimeter = 428.69699, major_axis_length = 173.63135, minor_axis_length = 88.43959, eccentricity = 0.86056, convex_area = 12113.00000, extent = 0.61095, type = O + area = 10862.00000, perimeter = 412.42599, major_axis_length = 167.38695, minor_axis_length = 83.53160, eccentricity = 0.86658, convex_area = 11050.00000, extent = 0.67215, type = O + area = 9346.00000, perimeter = 383.74399, major_axis_length = 158.04887, minor_axis_length = 75.98289, eccentricity = 0.87685, convex_area = 9539.00000, extent = 0.67902, type = O + area = 14524.00000, perimeter = 480.21201, major_axis_length = 199.93301, minor_axis_length = 93.31210, eccentricity = 0.88441, convex_area = 14808.00000, extent = 0.61128, type = C + area = 11835.00000, perimeter = 418.71301, major_axis_length = 168.20982, minor_axis_length = 90.15866, eccentricity = 0.84422, convex_area = 12025.00000, extent = 0.66549, type = O + area = 13183.00000, perimeter = 462.73199, major_axis_length = 190.42670, minor_axis_length = 89.31358, eccentricity = 0.88319, convex_area = 13493.00000, extent = 0.68812, type = O + area = 10666.00000, perimeter = 416.42401, major_axis_length = 173.89351, minor_axis_length = 78.45744, eccentricity = 0.89243, convex_area = 10825.00000, extent = 0.59474, type = O + area = 11769.00000, perimeter = 426.31000, major_axis_length = 176.11459, minor_axis_length = 85.90214, eccentricity = 0.87298, convex_area = 11928.00000, extent = 0.79119, type = O + area = 12323.00000, perimeter = 438.65302, major_axis_length = 174.60475, minor_axis_length = 91.00725, eccentricity = 0.85342, convex_area = 12504.00000, extent = 0.61566, type = O + area = 14517.00000, perimeter = 488.32401, major_axis_length = 196.16449, minor_axis_length = 95.58290, eccentricity = 0.87326, convex_area = 14976.00000, extent = 0.59513, type = C + area = 11840.00000, perimeter = 420.14099, major_axis_length = 166.92889, minor_axis_length = 90.98129, eccentricity = 0.83842, convex_area = 12021.00000, extent = 0.79661, type = O + area = 14520.00000, perimeter = 496.02100, major_axis_length = 208.42570, minor_axis_length = 90.74639, eccentricity = 0.90024, convex_area = 14930.00000, extent = 0.59096, type = C + area = 17338.00000, perimeter = 530.04401, major_axis_length = 222.08437, minor_axis_length = 100.54912, eccentricity = 0.89164, convex_area = 17725.00000, extent = 0.79245, type = C + area = 14786.00000, perimeter = 505.38901, major_axis_length = 214.21838, minor_axis_length = 89.42657, eccentricity = 0.90870, convex_area = 15177.00000, extent = 0.73416, type = C + area = 14592.00000, perimeter = 494.44000, major_axis_length = 212.67998, minor_axis_length = 88.28739, eccentricity = 0.90977, convex_area = 14838.00000, extent = 0.74563, type = C + area = 12182.00000, perimeter = 433.83701, major_axis_length = 180.61372, minor_axis_length = 86.60644, eccentricity = 0.87754, convex_area = 12341.00000, extent = 0.77791, type = O + area = 13980.00000, perimeter = 479.17999, major_axis_length = 206.32904, minor_axis_length = 87.03672, eccentricity = 0.90667, convex_area = 14137.00000, extent = 0.86105, type = C + area = 14950.00000, perimeter = 496.88400, major_axis_length = 207.82280, minor_axis_length = 93.10914, eccentricity = 0.89402, convex_area = 15422.00000, extent = 0.57932, type = C + area = 14843.00000, perimeter = 510.10199, major_axis_length = 220.03586, minor_axis_length = 86.50136, eccentricity = 0.91949, convex_area = 15155.00000, extent = 0.53315, type = C + area = 12558.00000, perimeter = 452.69299, major_axis_length = 189.47816, minor_axis_length = 85.08825, eccentricity = 0.89350, convex_area = 12799.00000, extent = 0.62403, type = O + area = 11625.00000, perimeter = 421.39001, major_axis_length = 167.71480, minor_axis_length = 89.46257, eccentricity = 0.84585, convex_area = 11904.00000, extent = 0.69428, type = O + area = 11562.00000, perimeter = 424.97101, major_axis_length = 174.39478, minor_axis_length = 85.48676, eccentricity = 0.87161, convex_area = 11739.00000, extent = 0.75529, type = O + area = 12173.00000, perimeter = 438.31900, major_axis_length = 180.33273, minor_axis_length = 87.05815, eccentricity = 0.87575, convex_area = 12375.00000, extent = 0.65871, type = O + area = 12375.00000, perimeter = 451.08099, major_axis_length = 185.78116, minor_axis_length = 86.23738, eccentricity = 0.88574, convex_area = 12755.00000, extent = 0.64974, type = C + area = 15636.00000, perimeter = 513.22699, major_axis_length = 214.38356, minor_axis_length = 93.97776, eccentricity = 0.89880, convex_area = 15913.00000, extent = 0.56628, type = C + area = 11752.00000, perimeter = 422.53201, major_axis_length = 171.08530, minor_axis_length = 88.01460, eccentricity = 0.85752, convex_area = 11997.00000, extent = 0.69292, type = O + area = 10961.00000, perimeter = 419.38800, major_axis_length = 169.57915, minor_axis_length = 84.24118, eccentricity = 0.86788, convex_area = 11323.00000, extent = 0.75855, type = O + area = 14149.00000, perimeter = 474.95200, major_axis_length = 195.35510, minor_axis_length = 93.33527, eccentricity = 0.87848, convex_area = 14454.00000, extent = 0.60569, type = C + area = 12273.00000, perimeter = 441.19101, major_axis_length = 182.09915, minor_axis_length = 86.59351, eccentricity = 0.87970, convex_area = 12469.00000, extent = 0.62098, type = O + area = 14556.00000, perimeter = 487.41901, major_axis_length = 208.73126, minor_axis_length = 89.19512, eccentricity = 0.90410, convex_area = 14819.00000, extent = 0.77649, type = C + area = 13309.00000, perimeter = 460.92200, major_axis_length = 191.46297, minor_axis_length = 88.95414, eccentricity = 0.88552, convex_area = 13540.00000, extent = 0.65375, type = C + area = 12959.00000, perimeter = 455.26700, major_axis_length = 181.20979, minor_axis_length = 92.44759, eccentricity = 0.86007, convex_area = 13375.00000, extent = 0.62219, type = O + area = 13678.00000, perimeter = 472.12299, major_axis_length = 200.25354, minor_axis_length = 88.02669, eccentricity = 0.89821, convex_area = 13879.00000, extent = 0.57884, type = C + area = 14658.00000, perimeter = 477.11700, major_axis_length = 189.56664, minor_axis_length = 99.99778, eccentricity = 0.84955, convex_area = 15048.00000, extent = 0.64950, type = O + area = 9723.00000, perimeter = 388.61700, major_axis_length = 158.36082, minor_axis_length = 79.34258, eccentricity = 0.86543, convex_area = 9949.00000, extent = 0.62519, type = O + area = 12213.00000, perimeter = 459.16699, major_axis_length = 195.58655, minor_axis_length = 80.64011, eccentricity = 0.91105, convex_area = 12571.00000, extent = 0.54340, type = C + area = 15330.00000, perimeter = 501.69699, major_axis_length = 209.67932, minor_axis_length = 93.87273, eccentricity = 0.89419, convex_area = 15617.00000, extent = 0.58262, type = C + area = 11618.00000, perimeter = 434.17700, major_axis_length = 179.41545, minor_axis_length = 83.34638, eccentricity = 0.88555, convex_area = 11820.00000, extent = 0.61676, type = O + area = 11322.00000, perimeter = 415.48599, major_axis_length = 165.34834, minor_axis_length = 88.39619, eccentricity = 0.84510, convex_area = 11545.00000, extent = 0.65069, type = O + area = 12653.00000, perimeter = 461.62000, major_axis_length = 195.89386, minor_axis_length = 83.49930, eccentricity = 0.90461, convex_area = 12973.00000, extent = 0.57650, type = C + area = 13698.00000, perimeter = 478.59900, major_axis_length = 199.06026, minor_axis_length = 88.78965, eccentricity = 0.89501, convex_area = 13932.00000, extent = 0.57559, type = C + area = 13091.00000, perimeter = 473.15201, major_axis_length = 203.86270, minor_axis_length = 82.55070, eccentricity = 0.91435, convex_area = 13451.00000, extent = 0.75236, type = C + area = 13002.00000, perimeter = 458.31601, major_axis_length = 187.39746, minor_axis_length = 89.58738, eccentricity = 0.87833, convex_area = 13319.00000, extent = 0.67634, type = O + area = 14609.00000, perimeter = 490.24701, major_axis_length = 206.06227, minor_axis_length = 91.49974, eccentricity = 0.89601, convex_area = 14837.00000, extent = 0.71966, type = C + area = 11372.00000, perimeter = 435.59299, major_axis_length = 179.56715, minor_axis_length = 81.47213, eccentricity = 0.89115, convex_area = 11608.00000, extent = 0.57997, type = O + area = 10849.00000, perimeter = 410.49399, major_axis_length = 167.98471, minor_axis_length = 82.65473, eccentricity = 0.87057, convex_area = 11025.00000, extent = 0.60915, type = O + area = 10854.00000, perimeter = 415.28000, major_axis_length = 170.14403, minor_axis_length = 82.00539, eccentricity = 0.87618, convex_area = 11071.00000, extent = 0.62372, type = O + area = 12955.00000, perimeter = 451.80301, major_axis_length = 191.71457, minor_axis_length = 86.62510, eccentricity = 0.89210, convex_area = 13143.00000, extent = 0.60245, type = O + area = 15232.00000, perimeter = 508.81699, major_axis_length = 216.76291, minor_axis_length = 90.63309, eccentricity = 0.90839, convex_area = 15603.00000, extent = 0.59082, type = C + area = 11494.00000, perimeter = 433.05801, major_axis_length = 171.58246, minor_axis_length = 86.87869, eccentricity = 0.86234, convex_area = 11858.00000, extent = 0.75938, type = O + area = 9292.00000, perimeter = 414.11899, major_axis_length = 183.63971, minor_axis_length = 64.87107, eccentricity = 0.93553, convex_area = 9442.00000, extent = 0.50108, type = O + area = 12911.00000, perimeter = 446.75400, major_axis_length = 187.87210, minor_axis_length = 88.20014, eccentricity = 0.88295, convex_area = 13071.00000, extent = 0.77108, type = O + area = 12210.00000, perimeter = 453.12399, major_axis_length = 189.42078, minor_axis_length = 83.15540, eccentricity = 0.89849, convex_area = 12641.00000, extent = 0.63733, type = C + area = 11339.00000, perimeter = 425.50601, major_axis_length = 177.04713, minor_axis_length = 82.54741, eccentricity = 0.88466, convex_area = 11533.00000, extent = 0.59205, type = O + area = 12711.00000, perimeter = 470.16299, major_axis_length = 196.36380, minor_axis_length = 83.78096, eccentricity = 0.90441, convex_area = 13007.00000, extent = 0.56045, type = C + area = 12005.00000, perimeter = 440.26501, major_axis_length = 180.68211, minor_axis_length = 85.73723, eccentricity = 0.88024, convex_area = 12319.00000, extent = 0.60302, type = O + area = 12278.00000, perimeter = 453.69299, major_axis_length = 184.05016, minor_axis_length = 86.66009, eccentricity = 0.88221, convex_area = 12601.00000, extent = 0.62983, type = O + area = 11428.00000, perimeter = 418.61499, major_axis_length = 168.17899, minor_axis_length = 87.29835, eccentricity = 0.85473, convex_area = 11589.00000, extent = 0.62829, type = O + area = 15857.00000, perimeter = 515.32202, major_axis_length = 219.96548, minor_axis_length = 93.15427, eccentricity = 0.90590, convex_area = 16109.00000, extent = 0.69916, type = C + area = 15500.00000, perimeter = 502.32101, major_axis_length = 213.36700, minor_axis_length = 93.55457, eccentricity = 0.89875, convex_area = 15724.00000, extent = 0.81497, type = C + area = 12831.00000, perimeter = 452.72000, major_axis_length = 184.24652, minor_axis_length = 89.26257, eccentricity = 0.87481, convex_area = 13073.00000, extent = 0.61123, type = O + area = 12272.00000, perimeter = 439.91699, major_axis_length = 181.70638, minor_axis_length = 86.94543, eccentricity = 0.87809, convex_area = 12495.00000, extent = 0.64117, type = O + area = 10664.00000, perimeter = 414.93900, major_axis_length = 168.07909, minor_axis_length = 81.73141, eccentricity = 0.87381, convex_area = 10929.00000, extent = 0.64536, type = O + area = 10968.00000, perimeter = 406.79401, major_axis_length = 161.51013, minor_axis_length = 87.89693, eccentricity = 0.83894, convex_area = 11184.00000, extent = 0.69374, type = O + area = 15256.00000, perimeter = 495.77100, major_axis_length = 209.62132, minor_axis_length = 93.42302, eccentricity = 0.89519, convex_area = 15449.00000, extent = 0.57498, type = C + area = 15077.00000, perimeter = 504.63699, major_axis_length = 212.94246, minor_axis_length = 91.21267, eccentricity = 0.90362, convex_area = 15404.00000, extent = 0.78649, type = C + area = 10841.00000, perimeter = 410.33200, major_axis_length = 167.11496, minor_axis_length = 84.25272, eccentricity = 0.86361, convex_area = 11079.00000, extent = 0.73449, type = O + area = 16788.00000, perimeter = 533.48798, major_axis_length = 230.12933, minor_axis_length = 93.76288, eccentricity = 0.91323, convex_area = 17041.00000, extent = 0.57268, type = C + area = 13621.00000, perimeter = 473.89899, major_axis_length = 198.84587, minor_axis_length = 88.42869, eccentricity = 0.89567, convex_area = 13989.00000, extent = 0.60846, type = C + area = 16283.00000, perimeter = 516.73602, major_axis_length = 217.70950, minor_axis_length = 96.08863, eccentricity = 0.89733, convex_area = 16649.00000, extent = 0.78006, type = C + area = 11332.00000, perimeter = 449.26001, major_axis_length = 194.78192, minor_axis_length = 75.36935, eccentricity = 0.92210, convex_area = 11671.00000, extent = 0.67368, type = C + area = 11773.00000, perimeter = 433.98099, major_axis_length = 174.71716, minor_axis_length = 87.27270, eccentricity = 0.86631, convex_area = 12005.00000, extent = 0.60946, type = O + area = 13333.00000, perimeter = 472.38400, major_axis_length = 200.93857, minor_axis_length = 85.17281, eccentricity = 0.90572, convex_area = 13585.00000, extent = 0.68026, type = C + area = 13682.00000, perimeter = 488.89999, major_axis_length = 199.55969, minor_axis_length = 89.44221, eccentricity = 0.89393, convex_area = 14457.00000, extent = 0.59967, type = C + area = 11051.00000, perimeter = 421.34799, major_axis_length = 166.91263, minor_axis_length = 85.74883, eccentricity = 0.85795, convex_area = 11421.00000, extent = 0.69333, type = O + area = 13697.00000, perimeter = 482.38400, major_axis_length = 206.73445, minor_axis_length = 85.18093, eccentricity = 0.91117, convex_area = 13927.00000, extent = 0.59708, type = C + area = 12081.00000, perimeter = 431.52100, major_axis_length = 173.52229, minor_axis_length = 89.55707, eccentricity = 0.85652, convex_area = 12315.00000, extent = 0.78043, type = O + area = 12103.00000, perimeter = 440.61099, major_axis_length = 179.44920, minor_axis_length = 87.91257, eccentricity = 0.87178, convex_area = 12405.00000, extent = 0.63020, type = O + area = 14587.00000, perimeter = 491.80399, major_axis_length = 204.83463, minor_axis_length = 91.91319, eccentricity = 0.89367, convex_area = 14926.00000, extent = 0.60982, type = C + area = 13893.00000, perimeter = 474.13400, major_axis_length = 200.73592, minor_axis_length = 89.16997, eccentricity = 0.89592, convex_area = 14123.00000, extent = 0.56934, type = C + area = 15398.00000, perimeter = 518.74500, major_axis_length = 215.32907, minor_axis_length = 93.06289, eccentricity = 0.90178, convex_area = 15753.00000, extent = 0.79815, type = C + area = 14966.00000, perimeter = 499.63800, major_axis_length = 205.47482, minor_axis_length = 93.38162, eccentricity = 0.89076, convex_area = 15387.00000, extent = 0.58143, type = C + area = 11792.00000, perimeter = 443.91101, major_axis_length = 186.19724, minor_axis_length = 81.23109, eccentricity = 0.89982, convex_area = 12012.00000, extent = 0.62534, type = O + area = 9221.00000, perimeter = 387.09399, major_axis_length = 159.22450, minor_axis_length = 74.90333, eccentricity = 0.88244, convex_area = 9418.00000, extent = 0.76842, type = O + area = 11734.00000, perimeter = 432.62100, major_axis_length = 177.31726, minor_axis_length = 86.10056, eccentricity = 0.87420, convex_area = 11972.00000, extent = 0.64458, type = O + area = 10746.00000, perimeter = 423.99100, major_axis_length = 177.95325, minor_axis_length = 78.12188, eccentricity = 0.89849, convex_area = 10942.00000, extent = 0.58149, type = O + area = 11898.00000, perimeter = 420.77899, major_axis_length = 166.07846, minor_axis_length = 92.47578, eccentricity = 0.83063, convex_area = 12133.00000, extent = 0.76250, type = O + area = 16005.00000, perimeter = 518.89301, major_axis_length = 221.21553, minor_axis_length = 93.13296, eccentricity = 0.90706, convex_area = 16343.00000, extent = 0.55104, type = C + area = 11220.00000, perimeter = 418.54901, major_axis_length = 172.75803, minor_axis_length = 83.32672, eccentricity = 0.87599, convex_area = 11380.00000, extent = 0.60662, type = O + area = 9733.00000, perimeter = 396.65399, major_axis_length = 163.66455, minor_axis_length = 76.42941, eccentricity = 0.88426, convex_area = 9903.00000, extent = 0.81190, type = O + area = 14017.00000, perimeter = 474.31000, major_axis_length = 198.33673, minor_axis_length = 90.86869, eccentricity = 0.88887, convex_area = 14320.00000, extent = 0.76055, type = C + area = 11802.00000, perimeter = 430.05200, major_axis_length = 175.27475, minor_axis_length = 86.66317, eccentricity = 0.86921, convex_area = 12024.00000, extent = 0.62126, type = O + area = 14403.00000, perimeter = 491.06000, major_axis_length = 207.68057, minor_axis_length = 89.84336, eccentricity = 0.90158, convex_area = 14708.00000, extent = 0.59689, type = C + area = 10971.00000, perimeter = 407.35599, major_axis_length = 167.40466, minor_axis_length = 84.57907, eccentricity = 0.86298, convex_area = 11108.00000, extent = 0.73963, type = O + area = 16085.00000, perimeter = 520.70599, major_axis_length = 217.49631, minor_axis_length = 95.40557, eccentricity = 0.89866, convex_area = 16514.00000, extent = 0.70271, type = C + area = 15275.00000, perimeter = 509.85501, major_axis_length = 217.55469, minor_axis_length = 90.18382, eccentricity = 0.91003, convex_area = 15582.00000, extent = 0.66761, type = C + area = 15521.00000, perimeter = 506.04800, major_axis_length = 209.51799, minor_axis_length = 95.46242, eccentricity = 0.89017, convex_area = 15956.00000, extent = 0.57845, type = C + area = 13495.00000, perimeter = 466.95901, major_axis_length = 196.39554, minor_axis_length = 88.21306, eccentricity = 0.89345, convex_area = 13725.00000, extent = 0.68958, type = C + area = 12192.00000, perimeter = 442.53000, major_axis_length = 179.94479, minor_axis_length = 87.39317, eccentricity = 0.87414, convex_area = 12483.00000, extent = 0.62542, type = O + area = 15126.00000, perimeter = 500.11401, major_axis_length = 209.16681, minor_axis_length = 93.81421, eccentricity = 0.89378, convex_area = 15496.00000, extent = 0.70603, type = C + area = 11518.00000, perimeter = 428.70999, major_axis_length = 175.93608, minor_axis_length = 84.25156, eccentricity = 0.87788, convex_area = 11754.00000, extent = 0.66040, type = O + area = 11679.00000, perimeter = 417.82501, major_axis_length = 170.56799, minor_axis_length = 87.63663, eccentricity = 0.85791, convex_area = 11853.00000, extent = 0.79433, type = O + area = 13912.00000, perimeter = 480.84299, major_axis_length = 206.90704, minor_axis_length = 86.26382, eccentricity = 0.90894, convex_area = 14107.00000, extent = 0.80626, type = C + area = 16453.00000, perimeter = 523.87402, major_axis_length = 222.31219, minor_axis_length = 96.17852, eccentricity = 0.90157, convex_area = 16803.00000, extent = 0.75472, type = C + area = 14549.00000, perimeter = 485.49399, major_axis_length = 199.75728, minor_axis_length = 93.64828, eccentricity = 0.88330, convex_area = 14846.00000, extent = 0.61924, type = C + area = 12341.00000, perimeter = 451.11600, major_axis_length = 183.64560, minor_axis_length = 86.69643, eccentricity = 0.88155, convex_area = 12676.00000, extent = 0.60212, type = O + area = 11747.00000, perimeter = 452.12701, major_axis_length = 194.49486, minor_axis_length = 78.74446, eccentricity = 0.91438, convex_area = 11935.00000, extent = 0.54264, type = C + area = 11392.00000, perimeter = 427.74500, major_axis_length = 174.02287, minor_axis_length = 84.52708, eccentricity = 0.87411, convex_area = 11609.00000, extent = 0.60256, type = O + area = 16030.00000, perimeter = 512.85303, major_axis_length = 210.24748, minor_axis_length = 97.63129, eccentricity = 0.88564, convex_area = 16306.00000, extent = 0.59780, type = C + area = 15061.00000, perimeter = 497.35901, major_axis_length = 207.65042, minor_axis_length = 93.05585, eccentricity = 0.89396, convex_area = 15327.00000, extent = 0.71678, type = C + area = 13484.00000, perimeter = 468.86899, major_axis_length = 195.42339, minor_axis_length = 88.78389, eccentricity = 0.89084, convex_area = 13786.00000, extent = 0.72401, type = C + area = 13711.00000, perimeter = 483.21500, major_axis_length = 203.88077, minor_axis_length = 86.62691, eccentricity = 0.90524, convex_area = 14097.00000, extent = 0.56147, type = C + area = 14784.00000, perimeter = 481.98599, major_axis_length = 200.02716, minor_axis_length = 94.98056, eccentricity = 0.88007, convex_area = 15005.00000, extent = 0.72159, type = C + area = 12422.00000, perimeter = 482.19800, major_axis_length = 209.21362, minor_axis_length = 76.83704, eccentricity = 0.93012, convex_area = 12783.00000, extent = 0.49808, type = C + area = 15806.00000, perimeter = 513.84497, major_axis_length = 221.19238, minor_axis_length = 91.62951, eccentricity = 0.91016, convex_area = 16043.00000, extent = 0.57487, type = C + area = 14078.00000, perimeter = 478.47000, major_axis_length = 203.64546, minor_axis_length = 88.56031, eccentricity = 0.90049, convex_area = 14280.00000, extent = 0.74440, type = C + area = 13047.00000, perimeter = 486.36899, major_axis_length = 213.19447, minor_axis_length = 79.28887, eccentricity = 0.92827, convex_area = 13621.00000, extent = 0.61542, type = C + area = 13887.00000, perimeter = 483.16800, major_axis_length = 203.42085, minor_axis_length = 88.11791, eccentricity = 0.90131, convex_area = 14240.00000, extent = 0.68439, type = C + area = 14561.00000, perimeter = 487.65100, major_axis_length = 202.91121, minor_axis_length = 92.16224, eccentricity = 0.89090, convex_area = 14862.00000, extent = 0.70038, type = O + area = 12932.00000, perimeter = 456.65500, major_axis_length = 191.32863, minor_axis_length = 86.72584, eccentricity = 0.89137, convex_area = 13098.00000, extent = 0.66304, type = C + area = 15042.00000, perimeter = 502.21399, major_axis_length = 212.09438, minor_axis_length = 91.29269, eccentricity = 0.90262, convex_area = 15416.00000, extent = 0.70211, type = C + area = 13404.00000, perimeter = 476.20599, major_axis_length = 203.31157, minor_axis_length = 84.62199, eccentricity = 0.90926, convex_area = 13751.00000, extent = 0.63466, type = C + area = 11742.00000, perimeter = 437.90302, major_axis_length = 182.25706, minor_axis_length = 83.00418, eccentricity = 0.89027, convex_area = 11974.00000, extent = 0.58890, type = O + area = 11740.00000, perimeter = 440.56400, major_axis_length = 181.20369, minor_axis_length = 83.45518, eccentricity = 0.88763, convex_area = 12030.00000, extent = 0.57901, type = O + area = 13394.00000, perimeter = 480.57199, major_axis_length = 205.40117, minor_axis_length = 83.80128, eccentricity = 0.91299, convex_area = 13699.00000, extent = 0.65019, type = C + area = 12042.00000, perimeter = 441.81000, major_axis_length = 182.17674, minor_axis_length = 85.04359, eccentricity = 0.88435, convex_area = 12302.00000, extent = 0.64080, type = O + area = 14071.00000, perimeter = 479.09299, major_axis_length = 197.40497, minor_axis_length = 92.30099, eccentricity = 0.88396, convex_area = 14398.00000, extent = 0.59900, type = C + area = 13790.00000, perimeter = 479.29999, major_axis_length = 198.90132, minor_axis_length = 90.13603, eccentricity = 0.89142, convex_area = 14190.00000, extent = 0.58691, type = C + area = 11814.00000, perimeter = 424.53201, major_axis_length = 172.85596, minor_axis_length = 87.35524, eccentricity = 0.86291, convex_area = 11970.00000, extent = 0.73814, type = O + area = 12818.00000, perimeter = 439.95200, major_axis_length = 179.20169, minor_axis_length = 91.86772, eccentricity = 0.85860, convex_area = 13005.00000, extent = 0.62582, type = O + area = 11625.00000, perimeter = 430.43399, major_axis_length = 176.33295, minor_axis_length = 86.15995, eccentricity = 0.87250, convex_area = 11838.00000, extent = 0.59680, type = O + area = 12720.00000, perimeter = 449.62399, major_axis_length = 178.61478, minor_axis_length = 92.75169, eccentricity = 0.85460, convex_area = 13095.00000, extent = 0.74386, type = C + area = 13457.00000, perimeter = 483.61401, major_axis_length = 211.01250, minor_axis_length = 81.87440, eccentricity = 0.92166, convex_area = 13763.00000, extent = 0.67312, type = C + area = 16249.00000, perimeter = 512.79199, major_axis_length = 215.72685, minor_axis_length = 96.96568, eccentricity = 0.89329, convex_area = 16493.00000, extent = 0.73718, type = C + area = 13005.00000, perimeter = 467.79999, major_axis_length = 199.96500, minor_axis_length = 83.36131, eccentricity = 0.90896, convex_area = 13251.00000, extent = 0.55293, type = O + area = 10787.00000, perimeter = 405.89899, major_axis_length = 167.38528, minor_axis_length = 82.44202, eccentricity = 0.87030, convex_area = 10956.00000, extent = 0.72173, type = O + area = 13582.00000, perimeter = 475.85599, major_axis_length = 195.63969, minor_axis_length = 89.24896, eccentricity = 0.88988, convex_area = 13890.00000, extent = 0.72183, type = C + area = 10538.00000, perimeter = 401.34299, major_axis_length = 166.76625, minor_axis_length = 81.17021, eccentricity = 0.87355, convex_area = 10682.00000, extent = 0.79352, type = O + area = 14439.00000, perimeter = 492.55301, major_axis_length = 211.85214, minor_axis_length = 87.43467, eccentricity = 0.91086, convex_area = 14614.00000, extent = 0.57279, type = C + area = 13569.00000, perimeter = 490.54199, major_axis_length = 209.84949, minor_axis_length = 83.40636, eccentricity = 0.91762, convex_area = 14061.00000, extent = 0.53004, type = C + area = 14868.00000, perimeter = 510.43399, major_axis_length = 219.33379, minor_axis_length = 88.03912, eccentricity = 0.91591, convex_area = 15190.00000, extent = 0.79670, type = C + area = 13965.00000, perimeter = 478.57700, major_axis_length = 203.27635, minor_axis_length = 88.10751, eccentricity = 0.90118, convex_area = 14135.00000, extent = 0.80788, type = C + area = 12437.00000, perimeter = 434.67200, major_axis_length = 174.96619, minor_axis_length = 91.87350, eccentricity = 0.85104, convex_area = 12670.00000, extent = 0.72863, type = O + area = 11141.00000, perimeter = 431.92499, major_axis_length = 181.24011, minor_axis_length = 79.11578, eccentricity = 0.89969, convex_area = 11372.00000, extent = 0.79065, type = C + area = 13645.00000, perimeter = 454.61499, major_axis_length = 182.60464, minor_axis_length = 95.70824, eccentricity = 0.85164, convex_area = 13819.00000, extent = 0.62753, type = O + area = 14992.00000, perimeter = 502.61700, major_axis_length = 213.94133, minor_axis_length = 89.97850, eccentricity = 0.90726, convex_area = 15162.00000, extent = 0.55464, type = C + area = 11601.00000, perimeter = 447.12799, major_axis_length = 191.38257, minor_axis_length = 78.36671, eccentricity = 0.91232, convex_area = 11925.00000, extent = 0.57866, type = O + area = 15752.00000, perimeter = 519.88898, major_axis_length = 216.70204, minor_axis_length = 94.21913, eccentricity = 0.90053, convex_area = 16426.00000, extent = 0.60122, type = C + area = 10873.00000, perimeter = 416.66901, major_axis_length = 168.94035, minor_axis_length = 83.34116, eccentricity = 0.86985, convex_area = 11151.00000, extent = 0.68229, type = O + area = 13969.00000, perimeter = 486.50900, major_axis_length = 206.02858, minor_axis_length = 87.72613, eccentricity = 0.90482, convex_area = 14277.00000, extent = 0.65276, type = C + area = 10810.00000, perimeter = 415.30301, major_axis_length = 169.00446, minor_axis_length = 82.43158, eccentricity = 0.87298, convex_area = 11029.00000, extent = 0.69809, type = O + area = 10798.00000, perimeter = 412.01300, major_axis_length = 169.99113, minor_axis_length = 81.77663, eccentricity = 0.87669, convex_area = 11000.00000, extent = 0.64884, type = O + area = 11095.00000, perimeter = 423.24100, major_axis_length = 170.15504, minor_axis_length = 84.61758, eccentricity = 0.86758, convex_area = 11350.00000, extent = 0.77236, type = O + area = 13884.00000, perimeter = 491.61801, major_axis_length = 207.65437, minor_axis_length = 86.34349, eccentricity = 0.90945, convex_area = 14232.00000, extent = 0.54236, type = C + area = 14683.00000, perimeter = 493.57199, major_axis_length = 209.05197, minor_axis_length = 90.58433, eccentricity = 0.90124, convex_area = 14947.00000, extent = 0.70220, type = C + area = 11500.00000, perimeter = 442.33401, major_axis_length = 178.83928, minor_axis_length = 84.13650, eccentricity = 0.88242, convex_area = 12070.00000, extent = 0.58802, type = O + area = 12931.00000, perimeter = 460.53500, major_axis_length = 192.90802, minor_axis_length = 86.56665, eccentricity = 0.89366, convex_area = 13302.00000, extent = 0.60706, type = C + area = 10222.00000, perimeter = 423.49701, major_axis_length = 182.80025, minor_axis_length = 72.12430, eccentricity = 0.91887, convex_area = 10421.00000, extent = 0.82039, type = O + area = 12019.00000, perimeter = 442.11200, major_axis_length = 183.98193, minor_axis_length = 84.30915, eccentricity = 0.88882, convex_area = 12290.00000, extent = 0.58007, type = O + area = 16386.00000, perimeter = 515.09698, major_axis_length = 208.95312, minor_axis_length = 100.74258, eccentricity = 0.87610, convex_area = 16813.00000, extent = 0.60756, type = C + area = 14399.00000, perimeter = 484.08200, major_axis_length = 200.17354, minor_axis_length = 92.85159, eccentricity = 0.88591, convex_area = 14849.00000, extent = 0.60480, type = C + area = 12089.00000, perimeter = 439.49200, major_axis_length = 183.57666, minor_axis_length = 84.69468, eccentricity = 0.88721, convex_area = 12302.00000, extent = 0.81451, type = C + area = 12418.00000, perimeter = 453.04599, major_axis_length = 187.82121, minor_axis_length = 85.17219, eccentricity = 0.89127, convex_area = 12719.00000, extent = 0.77998, type = O + area = 11166.00000, perimeter = 414.89001, major_axis_length = 165.73878, minor_axis_length = 87.03056, eccentricity = 0.85104, convex_area = 11478.00000, extent = 0.67095, type = O + area = 13665.00000, perimeter = 472.51599, major_axis_length = 199.54422, minor_axis_length = 87.68464, eccentricity = 0.89828, convex_area = 13944.00000, extent = 0.71142, type = C + area = 11296.00000, perimeter = 424.70099, major_axis_length = 169.20689, minor_axis_length = 87.00450, eccentricity = 0.85768, convex_area = 11626.00000, extent = 0.61102, type = O + area = 13848.00000, perimeter = 475.59000, major_axis_length = 196.22556, minor_axis_length = 90.74702, eccentricity = 0.88664, convex_area = 14260.00000, extent = 0.58638, type = C + area = 13501.00000, perimeter = 472.48300, major_axis_length = 198.07204, minor_axis_length = 87.68961, eccentricity = 0.89666, convex_area = 13787.00000, extent = 0.63403, type = C + area = 12181.00000, perimeter = 430.94901, major_axis_length = 177.65762, minor_axis_length = 87.49515, eccentricity = 0.87032, convex_area = 12353.00000, extent = 0.75658, type = O + area = 12410.00000, perimeter = 463.48999, major_axis_length = 195.17149, minor_axis_length = 82.36031, eccentricity = 0.90660, convex_area = 12849.00000, extent = 0.56409, type = C + area = 12537.00000, perimeter = 440.10599, major_axis_length = 177.27472, minor_axis_length = 91.08681, eccentricity = 0.85790, convex_area = 12845.00000, extent = 0.67043, type = O + area = 16625.00000, perimeter = 535.98901, major_axis_length = 229.79359, minor_axis_length = 93.08962, eccentricity = 0.91427, convex_area = 16951.00000, extent = 0.65414, type = C + area = 12220.00000, perimeter = 425.04599, major_axis_length = 170.33270, minor_axis_length = 91.93887, eccentricity = 0.84182, convex_area = 12385.00000, extent = 0.72171, type = O + area = 10241.00000, perimeter = 411.94699, major_axis_length = 167.74768, minor_axis_length = 79.10551, eccentricity = 0.88183, convex_area = 10486.00000, extent = 0.58975, type = O + area = 11546.00000, perimeter = 429.52399, major_axis_length = 175.65869, minor_axis_length = 84.90682, eccentricity = 0.87542, convex_area = 11757.00000, extent = 0.60631, type = O + area = 12939.00000, perimeter = 469.48099, major_axis_length = 202.04332, minor_axis_length = 83.09899, eccentricity = 0.91150, convex_area = 13165.00000, extent = 0.65770, type = C + area = 15290.00000, perimeter = 501.05701, major_axis_length = 209.36775, minor_axis_length = 94.17390, eccentricity = 0.89313, convex_area = 15582.00000, extent = 0.75783, type = C + area = 12473.00000, perimeter = 470.34000, major_axis_length = 202.44283, minor_axis_length = 79.02430, eccentricity = 0.92066, convex_area = 12806.00000, extent = 0.52598, type = C + area = 13874.00000, perimeter = 486.81799, major_axis_length = 207.80724, minor_axis_length = 85.49026, eccentricity = 0.91146, convex_area = 14116.00000, extent = 0.56940, type = C + area = 11237.00000, perimeter = 429.53000, major_axis_length = 179.38393, minor_axis_length = 80.49435, eccentricity = 0.89367, convex_area = 11430.00000, extent = 0.59043, type = O + area = 11201.00000, perimeter = 416.53500, major_axis_length = 171.00299, minor_axis_length = 84.24180, eccentricity = 0.87024, convex_area = 11384.00000, extent = 0.75764, type = O + area = 11210.00000, perimeter = 428.89200, major_axis_length = 181.87332, minor_axis_length = 79.41141, eccentricity = 0.89964, convex_area = 11456.00000, extent = 0.63173, type = O + area = 13867.00000, perimeter = 494.65302, major_axis_length = 213.12224, minor_axis_length = 84.20592, eccentricity = 0.91864, convex_area = 14200.00000, extent = 0.53359, type = C + area = 10589.00000, perimeter = 411.92899, major_axis_length = 170.27213, minor_axis_length = 80.86866, eccentricity = 0.88002, convex_area = 10850.00000, extent = 0.72428, type = O + area = 11543.00000, perimeter = 432.31400, major_axis_length = 174.84126, minor_axis_length = 86.66760, eccentricity = 0.86850, convex_area = 11940.00000, extent = 0.69120, type = O + area = 15072.00000, perimeter = 511.17599, major_axis_length = 221.78210, minor_axis_length = 87.38173, eccentricity = 0.91911, convex_area = 15392.00000, extent = 0.55088, type = C + area = 11941.00000, perimeter = 452.60199, major_axis_length = 196.03004, minor_axis_length = 78.68724, eccentricity = 0.91590, convex_area = 12131.00000, extent = 0.65134, type = C + area = 13079.00000, perimeter = 436.04501, major_axis_length = 174.89232, minor_axis_length = 95.94195, eccentricity = 0.83610, convex_area = 13228.00000, extent = 0.77258, type = O + area = 10736.00000, perimeter = 417.39499, major_axis_length = 178.90367, minor_axis_length = 76.73338, eccentricity = 0.90335, convex_area = 10901.00000, extent = 0.74339, type = O + area = 9593.00000, perimeter = 396.04999, major_axis_length = 162.59073, minor_axis_length = 75.99918, eccentricity = 0.88403, convex_area = 9828.00000, extent = 0.74480, type = O + area = 10736.00000, perimeter = 416.79999, major_axis_length = 176.13525, minor_axis_length = 78.64362, eccentricity = 0.89479, convex_area = 10930.00000, extent = 0.79810, type = O + area = 14064.00000, perimeter = 486.89001, major_axis_length = 204.16307, minor_axis_length = 88.52142, eccentricity = 0.90111, convex_area = 14388.00000, extent = 0.64838, type = C + area = 13502.00000, perimeter = 473.01199, major_axis_length = 198.14738, minor_axis_length = 88.03559, eccentricity = 0.89588, convex_area = 13778.00000, extent = 0.75388, type = C + area = 13484.00000, perimeter = 480.78601, major_axis_length = 204.20760, minor_axis_length = 84.90129, eccentricity = 0.90947, convex_area = 13827.00000, extent = 0.65856, type = C + area = 14794.00000, perimeter = 501.56900, major_axis_length = 213.49100, minor_axis_length = 89.19424, eccentricity = 0.90854, convex_area = 15202.00000, extent = 0.68062, type = C + area = 11366.00000, perimeter = 431.93600, major_axis_length = 179.07126, minor_axis_length = 81.93755, eccentricity = 0.88917, convex_area = 11737.00000, extent = 0.60635, type = O + area = 12387.00000, perimeter = 449.13599, major_axis_length = 185.40276, minor_axis_length = 86.05038, eccentricity = 0.88577, convex_area = 12662.00000, extent = 0.71643, type = O + area = 11905.00000, perimeter = 443.76901, major_axis_length = 185.27023, minor_axis_length = 83.60574, eccentricity = 0.89239, convex_area = 12209.00000, extent = 0.62721, type = O + area = 12525.00000, perimeter = 455.18100, major_axis_length = 183.66934, minor_axis_length = 88.25433, eccentricity = 0.87699, convex_area = 12911.00000, extent = 0.70947, type = O + area = 10886.00000, perimeter = 409.73801, major_axis_length = 166.07925, minor_axis_length = 84.13434, eccentricity = 0.86219, convex_area = 11055.00000, extent = 0.68037, type = O + area = 13282.00000, perimeter = 470.25800, major_axis_length = 199.71138, minor_axis_length = 85.10118, eccentricity = 0.90467, convex_area = 13513.00000, extent = 0.67162, type = C + area = 15004.00000, perimeter = 506.94400, major_axis_length = 218.60362, minor_axis_length = 88.09037, eccentricity = 0.91521, convex_area = 15277.00000, extent = 0.71488, type = C + area = 9679.00000, perimeter = 390.22198, major_axis_length = 154.20059, minor_axis_length = 81.98646, eccentricity = 0.84694, convex_area = 10003.00000, extent = 0.62069, type = O + area = 15087.00000, perimeter = 510.60501, major_axis_length = 218.17435, minor_axis_length = 89.15250, eccentricity = 0.91270, convex_area = 15506.00000, extent = 0.54950, type = C + area = 11940.00000, perimeter = 423.67499, major_axis_length = 168.63402, minor_axis_length = 91.36427, eccentricity = 0.84051, convex_area = 12191.00000, extent = 0.66400, type = O + area = 11068.00000, perimeter = 423.97299, major_axis_length = 172.01558, minor_axis_length = 82.98537, eccentricity = 0.87593, convex_area = 11323.00000, extent = 0.60530, type = O + area = 14788.00000, perimeter = 480.96201, major_axis_length = 199.06255, minor_axis_length = 95.53792, eccentricity = 0.87730, convex_area = 15044.00000, extent = 0.65751, type = C + area = 11856.00000, perimeter = 431.86301, major_axis_length = 174.35243, minor_axis_length = 88.68266, eccentricity = 0.86098, convex_area = 12188.00000, extent = 0.61507, type = O + area = 14865.00000, perimeter = 495.07101, major_axis_length = 202.86786, minor_axis_length = 94.27195, eccentricity = 0.88547, convex_area = 15235.00000, extent = 0.60419, type = C + area = 15926.00000, perimeter = 522.73999, major_axis_length = 225.73605, minor_axis_length = 91.05709, eccentricity = 0.91503, convex_area = 16240.00000, extent = 0.77977, type = C + area = 16226.00000, perimeter = 524.20502, major_axis_length = 216.87326, minor_axis_length = 96.65368, eccentricity = 0.89520, convex_area = 16748.00000, extent = 0.64862, type = C + area = 14559.00000, perimeter = 496.52399, major_axis_length = 213.39636, minor_axis_length = 87.13540, eccentricity = 0.91284, convex_area = 14765.00000, extent = 0.71082, type = C + area = 15238.00000, perimeter = 506.11499, major_axis_length = 218.36040, minor_axis_length = 89.61969, eccentricity = 0.91190, convex_area = 15529.00000, extent = 0.54722, type = C + area = 14965.00000, perimeter = 483.50800, major_axis_length = 203.52345, minor_axis_length = 94.31125, eccentricity = 0.88615, convex_area = 15151.00000, extent = 0.77555, type = C + area = 14674.00000, perimeter = 497.10300, major_axis_length = 208.43646, minor_axis_length = 91.08699, eccentricity = 0.89946, convex_area = 15049.00000, extent = 0.68229, type = C + area = 13970.00000, perimeter = 494.62900, major_axis_length = 210.52756, minor_axis_length = 85.43404, eccentricity = 0.91396, convex_area = 14308.00000, extent = 0.55054, type = C + area = 16580.00000, perimeter = 530.09497, major_axis_length = 226.44495, minor_axis_length = 94.47408, eccentricity = 0.90881, convex_area = 16928.00000, extent = 0.59619, type = C + area = 13444.00000, perimeter = 474.59299, major_axis_length = 197.95042, minor_axis_length = 87.63919, eccentricity = 0.89665, convex_area = 13881.00000, extent = 0.65661, type = C + area = 10833.00000, perimeter = 427.68399, major_axis_length = 177.27991, minor_axis_length = 79.53669, eccentricity = 0.89371, convex_area = 11158.00000, extent = 0.76310, type = O + area = 13652.00000, perimeter = 486.62799, major_axis_length = 210.34523, minor_axis_length = 83.29913, eccentricity = 0.91825, convex_area = 13950.00000, extent = 0.57980, type = C + area = 13133.00000, perimeter = 450.13199, major_axis_length = 179.15121, minor_axis_length = 94.11335, eccentricity = 0.85090, convex_area = 13351.00000, extent = 0.63530, type = O + area = 14466.00000, perimeter = 497.84000, major_axis_length = 204.40955, minor_axis_length = 91.21478, eccentricity = 0.89492, convex_area = 14885.00000, extent = 0.65650, type = C + area = 17948.00000, perimeter = 526.91803, major_axis_length = 214.09383, minor_axis_length = 107.54245, eccentricity = 0.86468, convex_area = 18322.00000, extent = 0.66637, type = C + area = 14586.00000, perimeter = 484.05301, major_axis_length = 196.40340, minor_axis_length = 95.85622, eccentricity = 0.87281, convex_area = 14976.00000, extent = 0.77154, type = C + area = 14434.00000, perimeter = 488.28699, major_axis_length = 201.64925, minor_axis_length = 92.53371, eccentricity = 0.88850, convex_area = 14826.00000, extent = 0.70776, type = C + area = 14345.00000, perimeter = 491.01901, major_axis_length = 207.21983, minor_axis_length = 88.91106, eccentricity = 0.90327, convex_area = 14650.00000, extent = 0.59262, type = C + area = 15725.00000, perimeter = 515.25800, major_axis_length = 221.66010, minor_axis_length = 91.23172, eccentricity = 0.91137, convex_area = 16027.00000, extent = 0.60049, type = C + area = 10852.00000, perimeter = 433.64499, major_axis_length = 177.96263, minor_axis_length = 80.45235, eccentricity = 0.89198, convex_area = 11315.00000, extent = 0.77609, type = O + area = 11550.00000, perimeter = 426.84399, major_axis_length = 173.18565, minor_axis_length = 86.17210, eccentricity = 0.86742, convex_area = 11766.00000, extent = 0.61374, type = O + area = 13010.00000, perimeter = 463.41901, major_axis_length = 194.76756, minor_axis_length = 86.11577, eccentricity = 0.89694, convex_area = 13349.00000, extent = 0.77695, type = O + area = 13269.00000, perimeter = 470.63501, major_axis_length = 197.38409, minor_axis_length = 86.42865, eccentricity = 0.89904, convex_area = 13626.00000, extent = 0.56633, type = C + area = 16302.00000, perimeter = 526.34003, major_axis_length = 225.32297, minor_axis_length = 92.99416, eccentricity = 0.91086, convex_area = 16669.00000, extent = 0.60835, type = C + area = 14723.00000, perimeter = 490.70901, major_axis_length = 205.41713, minor_axis_length = 92.49973, eccentricity = 0.89288, convex_area = 15013.00000, extent = 0.57019, type = O + area = 13350.00000, perimeter = 466.61899, major_axis_length = 196.50897, minor_axis_length = 87.16155, eccentricity = 0.89625, convex_area = 13562.00000, extent = 0.79921, type = C + area = 14132.00000, perimeter = 482.36899, major_axis_length = 205.20067, minor_axis_length = 88.29636, eccentricity = 0.90269, convex_area = 14341.00000, extent = 0.58610, type = C + area = 13064.00000, perimeter = 469.83600, major_axis_length = 199.55998, minor_axis_length = 84.36462, eccentricity = 0.90624, convex_area = 13382.00000, extent = 0.65642, type = C + area = 9918.00000, perimeter = 398.95499, major_axis_length = 161.46761, minor_axis_length = 79.89353, eccentricity = 0.86901, convex_area = 10270.00000, extent = 0.62209, type = O + area = 11353.00000, perimeter = 418.75601, major_axis_length = 169.48007, minor_axis_length = 86.20268, eccentricity = 0.86099, convex_area = 11510.00000, extent = 0.62297, type = O + area = 12624.00000, perimeter = 452.73199, major_axis_length = 192.11096, minor_axis_length = 84.61237, eccentricity = 0.89778, convex_area = 12791.00000, extent = 0.56559, type = O + area = 13234.00000, perimeter = 472.35001, major_axis_length = 198.57501, minor_axis_length = 86.26437, eccentricity = 0.90071, convex_area = 13512.00000, extent = 0.74265, type = C + area = 12324.00000, perimeter = 449.15201, major_axis_length = 190.39249, minor_axis_length = 83.20514, eccentricity = 0.89945, convex_area = 12595.00000, extent = 0.76713, type = C + area = 13675.00000, perimeter = 478.60699, major_axis_length = 194.80292, minor_axis_length = 90.32217, eccentricity = 0.88601, convex_area = 14146.00000, extent = 0.58142, type = C + area = 13637.00000, perimeter = 466.65302, major_axis_length = 193.53421, minor_axis_length = 90.35423, eccentricity = 0.88433, convex_area = 13838.00000, extent = 0.69167, type = C + area = 13077.00000, perimeter = 472.90500, major_axis_length = 203.44507, minor_axis_length = 82.57013, eccentricity = 0.91394, convex_area = 13405.00000, extent = 0.62737, type = C + area = 15367.00000, perimeter = 501.90701, major_axis_length = 210.05598, minor_axis_length = 94.47918, eccentricity = 0.89314, convex_area = 15644.00000, extent = 0.79061, type = C + area = 10623.00000, perimeter = 423.02301, major_axis_length = 175.03427, minor_axis_length = 78.42091, eccentricity = 0.89402, convex_area = 10897.00000, extent = 0.58730, type = O + area = 12675.00000, perimeter = 453.35199, major_axis_length = 191.33682, minor_axis_length = 85.13000, eccentricity = 0.89557, convex_area = 12856.00000, extent = 0.57185, type = O + area = 13806.00000, perimeter = 490.51001, major_axis_length = 209.72084, minor_axis_length = 85.13124, eccentricity = 0.91391, convex_area = 14284.00000, extent = 0.79587, type = C + area = 9561.00000, perimeter = 386.08499, major_axis_length = 159.97054, minor_axis_length = 76.79645, eccentricity = 0.87723, convex_area = 9708.00000, extent = 0.70095, type = O + area = 12074.00000, perimeter = 435.07800, major_axis_length = 181.39030, minor_axis_length = 85.69112, eccentricity = 0.88138, convex_area = 12257.00000, extent = 0.69909, type = O + area = 11295.00000, perimeter = 417.33701, major_axis_length = 174.01994, minor_axis_length = 83.14223, eccentricity = 0.87848, convex_area = 11476.00000, extent = 0.76858, type = O + area = 12544.00000, perimeter = 442.17200, major_axis_length = 178.02271, minor_axis_length = 90.75763, eccentricity = 0.86029, convex_area = 12835.00000, extent = 0.77075, type = O + area = 13567.00000, perimeter = 473.57501, major_axis_length = 195.35312, minor_axis_length = 89.23708, eccentricity = 0.88957, convex_area = 14020.00000, extent = 0.64679, type = C + area = 13814.00000, perimeter = 477.58600, major_axis_length = 198.90308, minor_axis_length = 89.67540, eccentricity = 0.89260, convex_area = 14168.00000, extent = 0.69098, type = C + area = 10919.00000, perimeter = 428.70200, major_axis_length = 182.93265, minor_axis_length = 77.90177, eccentricity = 0.90479, convex_area = 11162.00000, extent = 0.60905, type = O + area = 12035.00000, perimeter = 431.95401, major_axis_length = 176.02255, minor_axis_length = 88.00275, eccentricity = 0.86605, convex_area = 12226.00000, extent = 0.61784, type = O + area = 15639.00000, perimeter = 499.13901, major_axis_length = 207.98045, minor_axis_length = 96.29037, eccentricity = 0.88637, convex_area = 15895.00000, extent = 0.70678, type = C + area = 14640.00000, perimeter = 501.32401, major_axis_length = 210.29160, minor_axis_length = 90.33173, eccentricity = 0.90304, convex_area = 15119.00000, extent = 0.58654, type = C + area = 13500.00000, perimeter = 476.91501, major_axis_length = 202.54668, minor_axis_length = 85.40547, eccentricity = 0.90675, convex_area = 13800.00000, extent = 0.71770, type = C + area = 12364.00000, perimeter = 442.85501, major_axis_length = 175.35739, minor_axis_length = 91.60603, eccentricity = 0.85270, convex_area = 12679.00000, extent = 0.61789, type = O + area = 10585.00000, perimeter = 409.31601, major_axis_length = 167.74828, minor_axis_length = 81.42166, eccentricity = 0.87430, convex_area = 10819.00000, extent = 0.68356, type = O + area = 10803.00000, perimeter = 411.31000, major_axis_length = 165.22313, minor_axis_length = 84.78220, eccentricity = 0.85831, convex_area = 11098.00000, extent = 0.64307, type = O + area = 13737.00000, perimeter = 484.38501, major_axis_length = 209.54352, minor_axis_length = 84.16575, eccentricity = 0.91579, convex_area = 13944.00000, extent = 0.60521, type = C + area = 15213.00000, perimeter = 495.41699, major_axis_length = 206.29997, minor_axis_length = 94.53258, eccentricity = 0.88883, convex_area = 15516.00000, extent = 0.70135, type = C + area = 13639.00000, perimeter = 482.41501, major_axis_length = 200.73622, minor_axis_length = 87.73310, eccentricity = 0.89943, convex_area = 14042.00000, extent = 0.73030, type = C + area = 10595.00000, perimeter = 403.82001, major_axis_length = 163.12149, minor_axis_length = 83.77962, eccentricity = 0.85803, convex_area = 10832.00000, extent = 0.61923, type = O + area = 11512.00000, perimeter = 414.60001, major_axis_length = 166.64420, minor_axis_length = 88.62691, eccentricity = 0.84685, convex_area = 11700.00000, extent = 0.77055, type = O + area = 14994.00000, perimeter = 508.30701, major_axis_length = 215.56981, minor_axis_length = 89.61988, eccentricity = 0.90949, convex_area = 15246.00000, extent = 0.55076, type = C + area = 12573.00000, perimeter = 444.96100, major_axis_length = 180.37151, minor_axis_length = 89.74239, eccentricity = 0.86744, convex_area = 12827.00000, extent = 0.66292, type = O + area = 11145.00000, perimeter = 421.24301, major_axis_length = 170.03070, minor_axis_length = 84.57749, eccentricity = 0.86751, convex_area = 11376.00000, extent = 0.63613, type = O + area = 12324.00000, perimeter = 465.66901, major_axis_length = 198.52171, minor_axis_length = 80.21651, eccentricity = 0.91473, convex_area = 12557.00000, extent = 0.64167, type = O + area = 13002.00000, perimeter = 460.12701, major_axis_length = 191.42421, minor_axis_length = 87.77464, eccentricity = 0.88868, convex_area = 13325.00000, extent = 0.67945, type = C + area = 13557.00000, perimeter = 483.90900, major_axis_length = 206.20372, minor_axis_length = 84.38731, eccentricity = 0.91243, convex_area = 13845.00000, extent = 0.55258, type = C + area = 14469.00000, perimeter = 484.46701, major_axis_length = 204.24918, minor_axis_length = 90.72005, eccentricity = 0.89595, convex_area = 14701.00000, extent = 0.65873, type = C + area = 12974.00000, perimeter = 460.41699, major_axis_length = 191.32578, minor_axis_length = 87.28571, eccentricity = 0.88987, convex_area = 13310.00000, extent = 0.67721, type = C + area = 13476.00000, perimeter = 478.28299, major_axis_length = 199.02327, minor_axis_length = 87.92966, eccentricity = 0.89711, convex_area = 13931.00000, extent = 0.59917, type = C + area = 11145.00000, perimeter = 420.31500, major_axis_length = 169.13234, minor_axis_length = 85.58923, eccentricity = 0.86250, convex_area = 11364.00000, extent = 0.77128, type = O + area = 14652.00000, perimeter = 499.33600, major_axis_length = 212.50394, minor_axis_length = 88.75134, eccentricity = 0.90861, convex_area = 15039.00000, extent = 0.76792, type = C + area = 11392.00000, perimeter = 427.57199, major_axis_length = 173.07945, minor_axis_length = 85.35464, eccentricity = 0.86994, convex_area = 11638.00000, extent = 0.59848, type = O + area = 16606.00000, perimeter = 516.36499, major_axis_length = 211.59421, minor_axis_length = 101.76991, eccentricity = 0.87674, convex_area = 17032.00000, extent = 0.70712, type = C + area = 12022.00000, perimeter = 431.23099, major_axis_length = 176.25049, minor_axis_length = 87.95138, eccentricity = 0.86659, convex_area = 12205.00000, extent = 0.78534, type = O + area = 13244.00000, perimeter = 461.93900, major_axis_length = 194.18376, minor_axis_length = 87.82101, eccentricity = 0.89189, convex_area = 13476.00000, extent = 0.71128, type = C + area = 14851.00000, perimeter = 512.31897, major_axis_length = 218.00836, minor_axis_length = 88.49667, eccentricity = 0.91390, convex_area = 15556.00000, extent = 0.71775, type = C + area = 12368.00000, perimeter = 449.85800, major_axis_length = 182.73238, minor_axis_length = 87.26391, eccentricity = 0.87860, convex_area = 12722.00000, extent = 0.60866, type = O + area = 13218.00000, perimeter = 458.76300, major_axis_length = 183.63066, minor_axis_length = 93.50396, eccentricity = 0.86065, convex_area = 13547.00000, extent = 0.77662, type = O + area = 14272.00000, perimeter = 487.70300, major_axis_length = 207.79874, minor_axis_length = 88.06716, eccentricity = 0.90575, convex_area = 14510.00000, extent = 0.58301, type = C + area = 12192.00000, perimeter = 428.59299, major_axis_length = 172.94958, minor_axis_length = 90.53119, eccentricity = 0.85205, convex_area = 12383.00000, extent = 0.74052, type = O + area = 13724.00000, perimeter = 468.57199, major_axis_length = 191.87160, minor_axis_length = 92.48851, eccentricity = 0.87615, convex_area = 14048.00000, extent = 0.74072, type = C + area = 14284.00000, perimeter = 499.91501, major_axis_length = 213.16606, minor_axis_length = 86.92616, eccentricity = 0.91308, convex_area = 14678.00000, extent = 0.70458, type = C diff --git a/cmake-build-relwithdebinfo/run_3/regress.stt b/cmake-build-relwithdebinfo/run_3/regress.stt new file mode 100644 index 0000000..c66b201 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_3/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.9577 0.9987 0.0000 18.660 3.501 4 2 84 6 0.9577 0.9987 0.0000 18.660 3.501 4 2 84 6 +1 0 0.9914 0.9987 0.0000 17.244 3.675 4 2 12 3 0.9745 0.9987 0.0000 17.952 3.588 4 2 84 6 +2 0 0.9904 0.9989 0.0000 17.023 3.789 48 8 49 8 0.9798 0.9989 0.0000 17.642 3.655 48 8 84 6 +3 0 0.9916 0.9989 0.0000 16.617 3.886 48 8 53 7 0.9828 0.9989 0.0000 17.386 3.713 48 8 84 6 +4 0 0.9926 0.9989 0.0000 16.404 3.991 48 8 17 4 0.9848 0.9989 0.0000 17.189 3.768 48 8 84 6 +5 0 0.9902 0.9989 0.0000 16.368 4.089 48 8 35 9 0.9857 0.9989 0.0000 17.053 3.822 48 8 84 6 +6 0 0.9920 0.9989 0.0000 15.901 4.111 48 8 24 5 0.9866 0.9989 0.0000 16.888 3.863 48 8 84 6 +7 0 0.9954 0.9989 0.0000 15.844 4.171 48 8 14 5 0.9877 0.9989 0.0000 16.758 3.902 48 8 84 6 +8 0 0.9922 0.9989 0.0000 15.281 4.132 48 8 21 5 0.9882 0.9989 0.0000 16.593 3.927 48 8 84 6 +9 0 0.9950 0.9989 0.0000 15.074 4.174 48 8 39 8 0.9889 0.9989 0.0000 16.442 3.952 48 8 84 6 +10 0 0.9946 0.9989 0.0000 14.934 4.210 31 6 14 6 0.9894 0.9989 0.0000 16.304 3.975 31 6 84 6 +11 0 0.9952 0.9989 0.0000 14.760 4.201 31 6 11 5 0.9899 0.9989 0.0000 16.176 3.994 31 6 84 6 +12 0 0.9958 0.9989 0.0000 14.376 4.181 31 6 25 8 0.9903 0.9989 0.0000 16.037 4.009 31 6 84 6 +13 0 0.9956 0.9989 0.0000 14.572 4.260 31 6 7 3 0.9907 0.9989 0.0000 15.933 4.026 31 6 84 6 +14 0 0.9946 0.9989 0.0000 14.069 4.218 31 6 13 5 0.9910 0.9989 0.0000 15.808 4.039 31 6 84 6 +15 0 0.9958 0.9989 0.0000 14.019 4.257 31 6 107 14 0.9913 0.9989 0.0000 15.697 4.053 31 6 84 6 +16 0 0.9938 0.9989 0.0000 13.874 4.271 31 6 15 5 0.9914 0.9989 0.0000 15.589 4.066 31 6 84 6 +17 0 0.9950 0.9989 0.0000 13.531 4.267 43 11 10 6 0.9916 0.9989 0.0000 15.475 4.077 43 11 84 6 +18 0 0.9958 0.9989 0.0000 13.415 4.257 43 11 16 6 0.9918 0.9989 0.0000 15.367 4.086 43 11 84 6 +19 0 0.9960 0.9989 0.0000 13.311 4.270 43 11 20 6 0.9921 0.9989 0.0000 15.264 4.095 43 11 84 6 +20 0 0.9948 0.9989 0.0000 13.181 4.298 43 11 22 7 0.9922 0.9989 0.0000 15.165 4.105 43 11 84 6 +21 0 0.9970 0.9989 0.0000 12.895 4.244 43 11 7 4 0.9924 0.9989 0.0000 15.061 4.111 43 11 84 6 +22 0 0.9956 0.9989 0.0000 12.468 4.186 43 11 68 15 0.9926 0.9989 0.0000 14.949 4.115 43 11 84 6 +23 0 0.9962 0.9989 0.0000 12.085 4.132 43 11 57 13 0.9927 0.9989 0.0000 14.829 4.115 43 11 84 6 +24 0 0.9958 0.9989 0.0000 11.897 4.077 38 11 26 7 0.9928 0.9989 0.0000 14.712 4.114 38 11 84 6 +25 0 0.9962 0.9989 0.0000 11.847 4.074 38 11 38 11 0.9930 0.9989 0.0000 14.602 4.112 38 11 84 6 +26 0 0.9950 0.9989 0.0000 12.035 4.125 38 11 16 5 0.9930 0.9989 0.0000 14.507 4.113 38 11 84 6 +27 0 0.9954 0.9989 0.0000 11.778 4.052 38 11 29 8 0.9931 0.9989 0.0000 14.409 4.111 38 11 84 6 +28 0 0.9964 0.9989 0.0000 11.616 4.046 38 11 58 16 0.9932 0.9989 0.0000 14.313 4.108 38 11 84 6 +29 0 0.9962 0.9989 0.0000 11.183 3.925 38 11 9 5 0.9933 0.9989 0.0000 14.209 4.102 38 11 84 6 +30 0 0.9962 0.9989 0.0000 10.897 3.897 38 11 12 3 0.9934 0.9989 0.0000 14.102 4.096 38 11 84 6 +31 0 0.9970 0.9989 0.0000 10.475 3.804 38 11 39 9 0.9935 0.9989 0.0000 13.989 4.087 38 11 84 6 +32 0 0.9964 0.9989 0.0000 10.289 3.767 38 11 18 8 0.9936 0.9989 0.0000 13.876 4.077 38 11 84 6 +33 0 0.9968 0.9989 0.0000 10.213 3.731 38 11 60 15 0.9937 0.9989 0.0000 13.769 4.067 38 11 84 6 +34 0 0.9962 0.9989 0.0000 10.017 3.703 38 11 15 6 0.9938 0.9989 0.0000 13.662 4.056 38 11 84 6 +35 0 0.9966 0.9989 0.0000 9.886 3.683 38 11 58 10 0.9939 0.9989 0.0000 13.557 4.046 38 11 84 6 +36 0 0.9964 0.9989 0.0000 10.012 3.747 38 11 29 9 0.9939 0.9989 0.0000 13.461 4.038 38 11 84 6 +37 0 0.9966 0.9989 0.0000 10.004 3.751 38 11 5 2 0.9940 0.9989 0.0000 13.370 4.030 38 11 84 6 +38 0 0.9974 0.9989 0.0000 9.779 3.697 38 11 14 5 0.9941 0.9989 0.0000 13.278 4.022 38 11 84 6 +39 0 0.9968 0.9989 0.0000 9.729 3.694 38 11 29 14 0.9942 0.9989 0.0000 13.189 4.014 38 11 84 6 +40 0 0.9956 0.9989 0.0000 10.018 3.796 38 11 9 4 0.9942 0.9989 0.0000 13.112 4.008 38 11 84 6 +41 0 0.9974 0.9989 0.0000 10.053 3.826 38 11 17 6 0.9943 0.9989 0.0000 13.039 4.004 38 11 84 6 +42 0 0.9962 0.9989 0.0000 9.826 3.734 38 11 15 6 0.9943 0.9989 0.0000 12.964 3.998 38 11 84 6 +43 0 0.9962 0.9989 0.0000 9.830 3.732 38 11 19 8 0.9944 0.9989 0.0000 12.893 3.992 38 11 84 6 +44 0 0.9956 0.9989 0.0000 9.919 3.768 38 11 40 13 0.9944 0.9989 0.0000 12.827 3.987 38 11 84 6 +45 0 0.9968 0.9989 0.0000 9.795 3.726 38 11 7 3 0.9945 0.9989 0.0000 12.761 3.981 38 11 84 6 +46 0 0.9968 0.9989 0.0000 9.659 3.686 38 11 9 5 0.9945 0.9989 0.0000 12.695 3.975 38 11 84 6 +47 0 0.9966 0.9989 0.0000 9.604 3.645 38 11 27 11 0.9945 0.9989 0.0000 12.631 3.968 38 11 84 6 +48 0 0.9972 0.9989 0.0000 9.454 3.619 38 11 17 9 0.9946 0.9989 0.0000 12.566 3.961 38 11 84 6 +49 0 0.9958 0.9989 0.0000 9.438 3.582 38 11 54 12 0.9946 0.9989 0.0000 12.503 3.953 38 11 84 6 +50 0 0.9974 0.9989 0.0000 9.482 3.592 38 11 12 5 0.9947 0.9989 0.0000 12.444 3.946 38 11 84 6 diff --git a/cmake-build-relwithdebinfo/run_3/regress.sys b/cmake-build-relwithdebinfo/run_3/regress.sys new file mode 100644 index 0000000..5b94d26 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_3/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - exp log area perimeter major minor eccentricity convex extent R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 26. +creating initial population(s): + 7274 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 19. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (1s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 80751885 + freed: 80703885 + not freed: 48000 + max allocated: 2567869 + malloc'ed blocks: 831885 + realloc'ed blocks: 7 + free'ed blocks: 831879 + +------- time ------- + overall: 57s wall + evaluation: 55s wall + breeding: 2s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 8241 + freed: 8241 + allocated: 5500 + blocks: 10 diff --git a/cmake-build-relwithdebinfo/run_4/regress.bst b/cmake-build-relwithdebinfo/run_4/regress.bst new file mode 100644 index 0000000..869a733 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_4/regress.bst @@ -0,0 +1,21 @@ +=== BEST-OF-RUN === + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +TREE-equ: +y = ((exp((major / -0.26087)) * major) / ((extent + minor) - ((perimeter * (perimeter * convex)) / extent))) diff --git a/cmake-build-relwithdebinfo/run_4/regress.fn b/cmake-build-relwithdebinfo/run_4/regress.fn new file mode 100644 index 0000000..d787852 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_4/regress.fn @@ -0,0 +1,13 @@ +Hits: 2594, Total Size: 2810, Percent Hit: 92.313167 +CC: 1049 +CO: 79 +OO: 1545 +OC: 137 + + +y = ((exp((major / -0.26087)) * major) / ((extent + minor) - ((perimeter * (perimeter * convex)) / extent))) + + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) diff --git a/cmake-build-relwithdebinfo/run_4/regress.gen b/cmake-build-relwithdebinfo/run_4/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/run_4/regress.his b/cmake-build-relwithdebinfo/run_4/regress.his new file mode 100644 index 0000000..e2474d0 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_4/regress.his @@ -0,0 +1,1124 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 45 + depth: 5 + hits: 690 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 690 + raw fitness: 690.0000 + standardized fitness: 690.0000 + adjusted fitness: 0.9986 +TREE: + (/ (- (- (* (log major) + (exp major)) + (- (log eccentricity) + (log area))) + (/ (exp (+ area extent)) + (+ (log extent) + (exp eccentricity)))) + (* (- (log (/ eccentricity major)) + (log (log major))) + (* (+ (log major) + (log -0.00478)) + (/ (* convex extent) + (/ extent convex))))) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 26 + depth: 5 + hits: 757 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 757 + raw fitness: 757.0000 + standardized fitness: 757.0000 + adjusted fitness: 0.9987 +TREE: + (* eccentricity + (+ (/ (log (* major -0.21575)) + (exp (exp minor))) + (* (* (/ convex 0.16779) + (- eccentricity 0.89623)) + (- (* major area) + (+ 0.11839 convex))))) +=== BEST-OF-RUN === + current generation: 2 + generation: 1 + nodes: 26 + depth: 5 + hits: 757 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 757 + raw fitness: 757.0000 + standardized fitness: 757.0000 + adjusted fitness: 0.9987 +TREE: + (* eccentricity + (+ (/ (log (* major -0.21575)) + (exp (exp minor))) + (* (* (/ convex 0.16779) + (- eccentricity 0.89623)) + (- (* major area) + (+ 0.11839 convex))))) +=== BEST-OF-RUN === + current generation: 3 + generation: 1 + nodes: 26 + depth: 5 + hits: 757 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 757 + raw fitness: 757.0000 + standardized fitness: 757.0000 + adjusted fitness: 0.9987 +TREE: + (* eccentricity + (+ (/ (log (* major -0.21575)) + (exp (exp minor))) + (* (* (/ convex 0.16779) + (- eccentricity 0.89623)) + (- (* major area) + (+ 0.11839 convex))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 1 + nodes: 26 + depth: 5 + hits: 757 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 757 + raw fitness: 757.0000 + standardized fitness: 757.0000 + adjusted fitness: 0.9987 +TREE: + (* eccentricity + (+ (/ (log (* major -0.21575)) + (exp (exp minor))) + (* (* (/ convex 0.16779) + (- eccentricity 0.89623)) + (- (* major area) + (+ 0.11839 convex))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 65 + depth: 10 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (- (+ (* (+ (log eccentricity) + (* -0.95926 minor)) + (+ (+ (log minor) + (+ major perimeter)) + (exp extent))) + (* (* (exp eccentricity) + (/ -0.34529 + (* (log (/ (log eccentricity) + (log eccentricity))) eccentricity))) + (log (* minor area)))) + (* (/ convex 0.28217) + (exp 0.65757))) + (+ (log (/ (+ (/ -0.83252 major) + (- perimeter area)) + (log (log convex)))) + (log (exp (- (- area area) + (/ major -0.26087)))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 5 + nodes: 65 + depth: 10 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (- (+ (* (+ (log eccentricity) + (* -0.95926 minor)) + (+ (+ (log minor) + (+ major perimeter)) + (exp extent))) + (* (* (exp eccentricity) + (/ -0.34529 + (* (log (/ (log eccentricity) + (log eccentricity))) eccentricity))) + (log (* minor area)))) + (* (/ convex 0.28217) + (exp 0.65757))) + (+ (log (/ (+ (/ -0.83252 major) + (- perimeter area)) + (log (log convex)))) + (log (exp (- (- area area) + (/ major -0.26087)))))) +=== BEST-OF-RUN === + current generation: 7 + generation: 5 + nodes: 65 + depth: 10 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (- (+ (* (+ (log eccentricity) + (* -0.95926 minor)) + (+ (+ (log minor) + (+ major perimeter)) + (exp extent))) + (* (* (exp eccentricity) + (/ -0.34529 + (* (log (/ (log eccentricity) + (log eccentricity))) eccentricity))) + (log (* minor area)))) + (* (/ convex 0.28217) + (exp 0.65757))) + (+ (log (/ (+ (/ -0.83252 major) + (- perimeter area)) + (log (log convex)))) + (log (exp (- (- area area) + (/ major -0.26087)))))) +=== BEST-OF-RUN === + current generation: 8 + generation: 5 + nodes: 65 + depth: 10 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (- (+ (* (+ (log eccentricity) + (* -0.95926 minor)) + (+ (+ (log minor) + (+ major perimeter)) + (exp extent))) + (* (* (exp eccentricity) + (/ -0.34529 + (* (log (/ (log eccentricity) + (log eccentricity))) eccentricity))) + (log (* minor area)))) + (* (/ convex 0.28217) + (exp 0.65757))) + (+ (log (/ (+ (/ -0.83252 major) + (- perimeter area)) + (log (log convex)))) + (log (exp (- (- area area) + (/ major -0.26087)))))) +=== BEST-OF-RUN === + current generation: 9 + generation: 5 + nodes: 65 + depth: 10 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (- (+ (* (+ (log eccentricity) + (* -0.95926 minor)) + (+ (+ (log minor) + (+ major perimeter)) + (exp extent))) + (* (* (exp eccentricity) + (/ -0.34529 + (* (log (/ (log eccentricity) + (log eccentricity))) eccentricity))) + (log (* minor area)))) + (* (/ convex 0.28217) + (exp 0.65757))) + (+ (log (/ (+ (/ -0.83252 major) + (- perimeter area)) + (log (log convex)))) + (log (exp (- (- area area) + (/ major -0.26087)))))) +=== BEST-OF-RUN === + current generation: 10 + generation: 10 + nodes: 16 + depth: 4 + hits: 912 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 912 + raw fitness: 912.0000 + standardized fitness: 912.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (- eccentricity extent) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 11 + generation: 10 + nodes: 16 + depth: 4 + hits: 912 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 912 + raw fitness: 912.0000 + standardized fitness: 912.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (- eccentricity extent) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 12 + generation: 12 + nodes: 18 + depth: 6 + hits: 917 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 917 + raw fitness: 917.0000 + standardized fitness: 917.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (log (log (/ area convex))) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 13 + generation: 12 + nodes: 18 + depth: 6 + hits: 917 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 917 + raw fitness: 917.0000 + standardized fitness: 917.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (log (log (/ area convex))) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 14 + generation: 12 + nodes: 18 + depth: 6 + hits: 917 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 917 + raw fitness: 917.0000 + standardized fitness: 917.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (log (log (/ area convex))) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 15 + generation: 12 + nodes: 18 + depth: 6 + hits: 917 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 917 + raw fitness: 917.0000 + standardized fitness: 917.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (log (log (/ area convex))) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 16 + generation: 12 + nodes: 18 + depth: 6 + hits: 917 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 917 + raw fitness: 917.0000 + standardized fitness: 917.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (log (log (/ area convex))) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 17 + generation: 17 + nodes: 17 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (log (/ extent minor)) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 18 + generation: 17 + nodes: 17 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (log (/ extent minor)) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 19 + generation: 17 + nodes: 17 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (log (/ extent minor)) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 20 + generation: 17 + nodes: 17 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (log (/ extent minor)) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 21 + generation: 17 + nodes: 17 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (log (/ extent minor)) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 22 + generation: 17 + nodes: 17 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (log (/ extent minor)) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 23 + generation: 17 + nodes: 17 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (log (/ extent minor)) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 24 + generation: 17 + nodes: 17 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (log (/ extent minor)) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 25 + generation: 17 + nodes: 17 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (log (/ extent minor)) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 26 + generation: 17 + nodes: 17 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (log (/ extent minor)) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 27 + generation: 17 + nodes: 17 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (* (* major + (- eccentricity + (* perimeter minor))) + (exp (+ (log (/ extent minor)) + (/ major -0.26087)))) +=== BEST-OF-RUN === + current generation: 28 + generation: 28 + nodes: 19 + depth: 5 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (- (+ convex area) + (log convex)) extent))) +=== BEST-OF-RUN === + current generation: 29 + generation: 28 + nodes: 19 + depth: 5 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (- (+ convex area) + (log convex)) extent))) +=== BEST-OF-RUN === + current generation: 30 + generation: 28 + nodes: 19 + depth: 5 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (- (+ convex area) + (log convex)) extent))) +=== BEST-OF-RUN === + current generation: 31 + generation: 28 + nodes: 19 + depth: 5 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (- (+ convex area) + (log convex)) extent))) +=== BEST-OF-RUN === + current generation: 32 + generation: 28 + nodes: 19 + depth: 5 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (- (+ convex area) + (log convex)) extent))) +=== BEST-OF-RUN === + current generation: 33 + generation: 28 + nodes: 19 + depth: 5 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (- (+ convex area) + (log convex)) extent))) +=== BEST-OF-RUN === + current generation: 34 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +=== BEST-OF-RUN === + current generation: 35 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +=== BEST-OF-RUN === + current generation: 36 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +=== BEST-OF-RUN === + current generation: 37 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +=== BEST-OF-RUN === + current generation: 38 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +=== BEST-OF-RUN === + current generation: 39 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +=== BEST-OF-RUN === + current generation: 40 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +=== BEST-OF-RUN === + current generation: 41 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +=== BEST-OF-RUN === + current generation: 42 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +=== BEST-OF-RUN === + current generation: 43 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +=== BEST-OF-RUN === + current generation: 44 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +=== BEST-OF-RUN === + current generation: 45 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +=== BEST-OF-RUN === + current generation: 46 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +=== BEST-OF-RUN === + current generation: 47 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +=== BEST-OF-RUN === + current generation: 48 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +=== BEST-OF-RUN === + current generation: 49 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) +=== BEST-OF-RUN === + current generation: 50 + generation: 34 + nodes: 18 + depth: 5 + hits: 930 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 930 + raw fitness: 930.0000 + standardized fitness: 930.0000 + adjusted fitness: 0.9989 +TREE: + (/ (* (exp (/ major -0.26087)) major) + (- (+ extent minor) + (/ (* perimeter + (* perimeter convex)) extent))) diff --git a/cmake-build-relwithdebinfo/run_4/regress.prg b/cmake-build-relwithdebinfo/run_4/regress.prg new file mode 100644 index 0000000..44430a1 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_4/regress.prg @@ -0,0 +1,1002 @@ +not starting from checkpoint file. +1000 fitness cases: + area = 14456.00000, perimeter = 492.95099, major_axis_length = 212.41122, minor_axis_length = 87.36013, eccentricity = 0.91151, convex_area = 14726.00000, extent = 0.79503, type = C + area = 12673.00000, perimeter = 441.71399, major_axis_length = 177.02992, minor_axis_length = 92.58749, eccentricity = 0.85233, convex_area = 12950.00000, extent = 0.62177, type = O + area = 13279.00000, perimeter = 483.65799, major_axis_length = 201.33823, minor_axis_length = 85.47550, eccentricity = 0.90541, convex_area = 13691.00000, extent = 0.57635, type = C + area = 9918.00000, perimeter = 398.95499, major_axis_length = 161.46761, minor_axis_length = 79.89353, eccentricity = 0.86901, convex_area = 10270.00000, extent = 0.62209, type = O + area = 11550.00000, perimeter = 420.83701, major_axis_length = 172.53937, minor_axis_length = 85.41179, eccentricity = 0.86888, convex_area = 11734.00000, extent = 0.69470, type = O + area = 12262.00000, perimeter = 443.16699, major_axis_length = 190.67964, minor_axis_length = 82.12513, eccentricity = 0.90250, convex_area = 12404.00000, extent = 0.61817, type = O + area = 11836.00000, perimeter = 456.37900, major_axis_length = 201.86960, minor_axis_length = 75.45857, eccentricity = 0.92751, convex_area = 12084.00000, extent = 0.75321, type = C + area = 11274.00000, perimeter = 425.05499, major_axis_length = 173.38033, minor_axis_length = 83.83379, eccentricity = 0.87533, convex_area = 11526.00000, extent = 0.65277, type = O + area = 13617.00000, perimeter = 465.00299, major_axis_length = 189.25548, minor_axis_length = 92.44891, eccentricity = 0.87257, convex_area = 13872.00000, extent = 0.61613, type = O + area = 12124.00000, perimeter = 431.75201, major_axis_length = 173.80327, minor_axis_length = 89.89888, eccentricity = 0.85584, convex_area = 12389.00000, extent = 0.77012, type = O + area = 16094.00000, perimeter = 504.12601, major_axis_length = 208.37119, minor_axis_length = 99.03030, eccentricity = 0.87985, convex_area = 16325.00000, extent = 0.64853, type = C + area = 15121.00000, perimeter = 503.48700, major_axis_length = 212.93852, minor_axis_length = 91.33051, eccentricity = 0.90335, convex_area = 15470.00000, extent = 0.78380, type = C + area = 14212.00000, perimeter = 485.98599, major_axis_length = 203.41849, minor_axis_length = 90.01189, eccentricity = 0.89677, convex_area = 14508.00000, extent = 0.57320, type = C + area = 11266.00000, perimeter = 414.72900, major_axis_length = 166.42735, minor_axis_length = 87.76852, eccentricity = 0.84964, convex_area = 11452.00000, extent = 0.61901, type = O + area = 9017.00000, perimeter = 378.79099, major_axis_length = 155.36972, minor_axis_length = 74.75443, eccentricity = 0.87664, convex_area = 9290.00000, extent = 0.66409, type = O + area = 11030.00000, perimeter = 417.48801, major_axis_length = 172.44844, minor_axis_length = 82.73074, eccentricity = 0.87741, convex_area = 11275.00000, extent = 0.65143, type = O + area = 10959.00000, perimeter = 447.23300, major_axis_length = 197.35841, minor_axis_length = 71.06098, eccentricity = 0.93293, convex_area = 11133.00000, extent = 0.49741, type = C + area = 9426.00000, perimeter = 402.70999, major_axis_length = 175.97429, minor_axis_length = 68.60754, eccentricity = 0.92087, convex_area = 9578.00000, extent = 0.57743, type = O + area = 11875.00000, perimeter = 429.94901, major_axis_length = 173.69348, minor_axis_length = 88.04171, eccentricity = 0.86202, convex_area = 12128.00000, extent = 0.78445, type = O + area = 16454.00000, perimeter = 518.10901, major_axis_length = 217.09853, minor_axis_length = 97.78069, eccentricity = 0.89283, convex_area = 16893.00000, extent = 0.79719, type = C + area = 16085.00000, perimeter = 520.70599, major_axis_length = 217.49631, minor_axis_length = 95.40557, eccentricity = 0.89866, convex_area = 16514.00000, extent = 0.70271, type = C + area = 13005.00000, perimeter = 467.79999, major_axis_length = 199.96500, minor_axis_length = 83.36131, eccentricity = 0.90896, convex_area = 13251.00000, extent = 0.55293, type = O + area = 14092.00000, perimeter = 466.44800, major_axis_length = 185.17824, minor_axis_length = 98.08611, eccentricity = 0.84819, convex_area = 14434.00000, extent = 0.66384, type = O + area = 14142.00000, perimeter = 470.71301, major_axis_length = 180.69858, minor_axis_length = 101.76226, eccentricity = 0.82635, convex_area = 14709.00000, extent = 0.70274, type = O + area = 12886.00000, perimeter = 455.51801, major_axis_length = 189.85989, minor_axis_length = 87.49918, eccentricity = 0.88747, convex_area = 13080.00000, extent = 0.59230, type = C + area = 13803.00000, perimeter = 492.02100, major_axis_length = 207.04994, minor_axis_length = 87.18410, eccentricity = 0.90702, convex_area = 14174.00000, extent = 0.56915, type = C + area = 12378.00000, perimeter = 454.06201, major_axis_length = 195.47214, minor_axis_length = 81.28996, eccentricity = 0.90943, convex_area = 12570.00000, extent = 0.55656, type = O + area = 9764.00000, perimeter = 390.95700, major_axis_length = 160.22710, minor_axis_length = 78.86163, eccentricity = 0.87049, convex_area = 9956.00000, extent = 0.64881, type = O + area = 11489.00000, perimeter = 432.20700, major_axis_length = 182.36238, minor_axis_length = 81.07018, eccentricity = 0.89575, convex_area = 11683.00000, extent = 0.79907, type = O + area = 12303.00000, perimeter = 439.34100, major_axis_length = 184.30002, minor_axis_length = 85.29237, eccentricity = 0.88647, convex_area = 12468.00000, extent = 0.59747, type = O + area = 13545.00000, perimeter = 482.73599, major_axis_length = 208.80327, minor_axis_length = 83.30515, eccentricity = 0.91697, convex_area = 13759.00000, extent = 0.53255, type = C + area = 14542.00000, perimeter = 490.14600, major_axis_length = 208.42993, minor_axis_length = 89.25758, eccentricity = 0.90367, convex_area = 14747.00000, extent = 0.55413, type = C + area = 11929.00000, perimeter = 436.86301, major_axis_length = 177.18954, minor_axis_length = 86.98807, eccentricity = 0.87120, convex_area = 12230.00000, extent = 0.69355, type = O + area = 10106.00000, perimeter = 408.94199, major_axis_length = 167.79526, minor_axis_length = 78.30337, eccentricity = 0.88444, convex_area = 10424.00000, extent = 0.78123, type = O + area = 14407.00000, perimeter = 494.98999, major_axis_length = 208.74904, minor_axis_length = 88.66286, eccentricity = 0.90532, convex_area = 14716.00000, extent = 0.57376, type = C + area = 13424.00000, perimeter = 481.17499, major_axis_length = 195.90002, minor_axis_length = 89.30524, eccentricity = 0.89005, convex_area = 13950.00000, extent = 0.65856, type = C + area = 14768.00000, perimeter = 499.87701, major_axis_length = 210.55881, minor_axis_length = 90.47418, eccentricity = 0.90298, convex_area = 15158.00000, extent = 0.58312, type = C + area = 13722.00000, perimeter = 482.34299, major_axis_length = 202.27818, minor_axis_length = 87.75389, eccentricity = 0.90100, convex_area = 14189.00000, extent = 0.60567, type = C + area = 13536.00000, perimeter = 478.00601, major_axis_length = 203.17378, minor_axis_length = 85.91058, eccentricity = 0.90620, convex_area = 13810.00000, extent = 0.55281, type = C + area = 14421.00000, perimeter = 507.80499, major_axis_length = 213.88568, minor_axis_length = 86.87624, eccentricity = 0.91379, convex_area = 14881.00000, extent = 0.65094, type = C + area = 13980.00000, perimeter = 479.17999, major_axis_length = 206.32904, minor_axis_length = 87.03672, eccentricity = 0.90667, convex_area = 14137.00000, extent = 0.86105, type = C + area = 14019.00000, perimeter = 482.45401, major_axis_length = 197.19820, minor_axis_length = 92.67004, eccentricity = 0.88270, convex_area = 14411.00000, extent = 0.57615, type = C + area = 11538.00000, perimeter = 418.66101, major_axis_length = 170.85091, minor_axis_length = 86.49840, eccentricity = 0.86237, convex_area = 11741.00000, extent = 0.71354, type = O + area = 14364.00000, perimeter = 497.12000, major_axis_length = 212.00835, minor_axis_length = 87.53480, eccentricity = 0.91078, convex_area = 14805.00000, extent = 0.64125, type = C + area = 10948.00000, perimeter = 408.43900, major_axis_length = 167.17612, minor_axis_length = 83.68789, eccentricity = 0.86568, convex_area = 11132.00000, extent = 0.75467, type = O + area = 12388.00000, perimeter = 440.44901, major_axis_length = 175.24246, minor_axis_length = 92.23208, eccentricity = 0.85029, convex_area = 12753.00000, extent = 0.61348, type = O + area = 14985.00000, perimeter = 516.96100, major_axis_length = 219.53339, minor_axis_length = 88.00939, eccentricity = 0.91612, convex_area = 15412.00000, extent = 0.62297, type = C + area = 14590.00000, perimeter = 496.17200, major_axis_length = 212.10075, minor_axis_length = 88.60241, eccentricity = 0.90857, convex_area = 14883.00000, extent = 0.57148, type = C + area = 11343.00000, perimeter = 416.46899, major_axis_length = 171.67860, minor_axis_length = 84.90173, eccentricity = 0.86916, convex_area = 11492.00000, extent = 0.73475, type = O + area = 13667.00000, perimeter = 463.84201, major_axis_length = 197.35565, minor_axis_length = 88.58672, eccentricity = 0.89360, convex_area = 13829.00000, extent = 0.63452, type = O + area = 12047.00000, perimeter = 455.60800, major_axis_length = 195.66608, minor_axis_length = 80.26914, eccentricity = 0.91198, convex_area = 12339.00000, extent = 0.54403, type = C + area = 15198.00000, perimeter = 499.62601, major_axis_length = 210.63348, minor_axis_length = 92.94599, eccentricity = 0.89737, convex_area = 15521.00000, extent = 0.74610, type = C + area = 11504.00000, perimeter = 432.44400, major_axis_length = 175.78508, minor_axis_length = 84.95903, eccentricity = 0.87545, convex_area = 11861.00000, extent = 0.58802, type = O + area = 15226.00000, perimeter = 500.17001, major_axis_length = 205.31500, minor_axis_length = 96.17769, eccentricity = 0.88350, convex_area = 15594.00000, extent = 0.79343, type = C + area = 11992.00000, perimeter = 431.15701, major_axis_length = 173.30000, minor_axis_length = 89.58514, eccentricity = 0.85602, convex_area = 12274.00000, extent = 0.77020, type = O + area = 14898.00000, perimeter = 501.49500, major_axis_length = 215.56334, minor_axis_length = 88.77060, eccentricity = 0.91127, convex_area = 15156.00000, extent = 0.65850, type = C + area = 16053.00000, perimeter = 523.84003, major_axis_length = 220.91377, minor_axis_length = 93.89168, eccentricity = 0.90519, convex_area = 16496.00000, extent = 0.74797, type = C + area = 14434.00000, perimeter = 477.61899, major_axis_length = 200.38988, minor_axis_length = 92.38155, eccentricity = 0.88740, convex_area = 14660.00000, extent = 0.78343, type = C + area = 11363.00000, perimeter = 416.04999, major_axis_length = 168.43848, minor_axis_length = 86.90823, eccentricity = 0.85661, convex_area = 11594.00000, extent = 0.63026, type = O + area = 14272.00000, perimeter = 487.70300, major_axis_length = 207.79874, minor_axis_length = 88.06716, eccentricity = 0.90575, convex_area = 14510.00000, extent = 0.58301, type = C + area = 12558.00000, perimeter = 453.22900, major_axis_length = 192.45639, minor_axis_length = 84.11143, eccentricity = 0.89944, convex_area = 12747.00000, extent = 0.78684, type = O + area = 14085.00000, perimeter = 489.45499, major_axis_length = 200.52655, minor_axis_length = 91.23563, eccentricity = 0.89050, convex_area = 14670.00000, extent = 0.62717, type = C + area = 12347.00000, perimeter = 475.39001, major_axis_length = 207.09692, minor_axis_length = 77.08044, eccentricity = 0.92815, convex_area = 12857.00000, extent = 0.52095, type = C + area = 17425.00000, perimeter = 541.80298, major_axis_length = 232.05756, minor_axis_length = 96.44174, eccentricity = 0.90955, convex_area = 17758.00000, extent = 0.70396, type = C + area = 13918.00000, perimeter = 489.04001, major_axis_length = 207.88174, minor_axis_length = 86.49023, eccentricity = 0.90934, convex_area = 14263.00000, extent = 0.71876, type = C + area = 12382.00000, perimeter = 453.60300, major_axis_length = 190.12862, minor_axis_length = 83.85017, eccentricity = 0.89750, convex_area = 12605.00000, extent = 0.63831, type = O + area = 12103.00000, perimeter = 446.08099, major_axis_length = 181.47110, minor_axis_length = 86.55187, eccentricity = 0.87893, convex_area = 12444.00000, extent = 0.57469, type = O + area = 10763.00000, perimeter = 411.28299, major_axis_length = 168.57059, minor_axis_length = 81.79902, eccentricity = 0.87437, convex_area = 10963.00000, extent = 0.76731, type = O + area = 16156.00000, perimeter = 495.71399, major_axis_length = 197.27431, minor_axis_length = 105.53798, eccentricity = 0.84486, convex_area = 16434.00000, extent = 0.70941, type = C + area = 16570.00000, perimeter = 519.12299, major_axis_length = 221.01448, minor_axis_length = 96.22779, eccentricity = 0.90024, convex_area = 16757.00000, extent = 0.59234, type = C + area = 13204.00000, perimeter = 473.81601, major_axis_length = 203.77466, minor_axis_length = 83.10990, eccentricity = 0.91305, convex_area = 13430.00000, extent = 0.59307, type = C + area = 10628.00000, perimeter = 418.30399, major_axis_length = 171.82481, minor_axis_length = 80.32760, eccentricity = 0.88399, convex_area = 10828.00000, extent = 0.71506, type = O + area = 10662.00000, perimeter = 408.28299, major_axis_length = 162.68098, minor_axis_length = 84.36329, eccentricity = 0.85503, convex_area = 10934.00000, extent = 0.65315, type = O + area = 10483.00000, perimeter = 419.01599, major_axis_length = 176.62010, minor_axis_length = 76.32422, eccentricity = 0.90181, convex_area = 10773.00000, extent = 0.69286, type = O + area = 15199.00000, perimeter = 489.54401, major_axis_length = 205.31573, minor_axis_length = 94.80870, eccentricity = 0.88700, convex_area = 15419.00000, extent = 0.76400, type = C + area = 10962.00000, perimeter = 418.66101, major_axis_length = 171.63890, minor_axis_length = 82.79927, eccentricity = 0.87595, convex_area = 11258.00000, extent = 0.71647, type = O + area = 15879.00000, perimeter = 517.92700, major_axis_length = 216.65013, minor_axis_length = 94.65620, eccentricity = 0.89951, convex_area = 16484.00000, extent = 0.68776, type = C + area = 11960.00000, perimeter = 440.94199, major_axis_length = 182.05344, minor_axis_length = 84.72266, eccentricity = 0.88511, convex_area = 12191.00000, extent = 0.62651, type = O + area = 13576.00000, perimeter = 475.04999, major_axis_length = 200.99942, minor_axis_length = 86.54900, eccentricity = 0.90255, convex_area = 13888.00000, extent = 0.58329, type = C + area = 17437.00000, perimeter = 536.89899, major_axis_length = 230.25746, minor_axis_length = 97.31148, eccentricity = 0.90631, convex_area = 17650.00000, extent = 0.75915, type = C + area = 11592.00000, perimeter = 436.39999, major_axis_length = 178.13594, minor_axis_length = 83.72199, eccentricity = 0.88267, convex_area = 11844.00000, extent = 0.72360, type = O + area = 11458.00000, perimeter = 418.85999, major_axis_length = 169.07266, minor_axis_length = 87.52145, eccentricity = 0.85559, convex_area = 11668.00000, extent = 0.75780, type = O + area = 17048.00000, perimeter = 525.53802, major_axis_length = 219.48859, minor_axis_length = 99.73430, eccentricity = 0.89080, convex_area = 17318.00000, extent = 0.69233, type = C + area = 10608.00000, perimeter = 404.69299, major_axis_length = 161.58940, minor_axis_length = 85.35479, eccentricity = 0.84911, convex_area = 10895.00000, extent = 0.70848, type = O + area = 11501.00000, perimeter = 428.50299, major_axis_length = 180.48878, minor_axis_length = 81.40831, eccentricity = 0.89250, convex_area = 11676.00000, extent = 0.67653, type = O + area = 13533.00000, perimeter = 473.93201, major_axis_length = 196.11755, minor_axis_length = 88.91679, eccentricity = 0.89131, convex_area = 13897.00000, extent = 0.60456, type = C + area = 15568.00000, perimeter = 519.45599, major_axis_length = 222.22809, minor_axis_length = 90.81753, eccentricity = 0.91268, convex_area = 15984.00000, extent = 0.78270, type = C + area = 10851.00000, perimeter = 408.92999, major_axis_length = 168.00822, minor_axis_length = 83.32895, eccentricity = 0.86833, convex_area = 11007.00000, extent = 0.61555, type = O + area = 13907.00000, perimeter = 485.72000, major_axis_length = 202.58109, minor_axis_length = 89.20242, eccentricity = 0.89784, convex_area = 14358.00000, extent = 0.55572, type = C + area = 14530.00000, perimeter = 487.09698, major_axis_length = 201.80623, minor_axis_length = 93.05895, eccentricity = 0.88733, convex_area = 14926.00000, extent = 0.68713, type = C + area = 10286.00000, perimeter = 418.28900, major_axis_length = 175.14859, minor_axis_length = 75.85381, eccentricity = 0.90135, convex_area = 10548.00000, extent = 0.64159, type = O + area = 14253.00000, perimeter = 485.02301, major_axis_length = 202.32994, minor_axis_length = 90.59917, eccentricity = 0.89414, convex_area = 14522.00000, extent = 0.62262, type = C + area = 16024.00000, perimeter = 527.42102, major_axis_length = 226.26277, minor_axis_length = 91.60111, eccentricity = 0.91439, convex_area = 16355.00000, extent = 0.53569, type = C + area = 11995.00000, perimeter = 477.41101, major_axis_length = 216.48775, minor_axis_length = 70.77008, eccentricity = 0.94506, convex_area = 12168.00000, extent = 0.66606, type = C + area = 13657.00000, perimeter = 469.23700, major_axis_length = 193.10742, minor_axis_length = 90.77804, eccentricity = 0.88262, convex_area = 13930.00000, extent = 0.61535, type = C + area = 12153.00000, perimeter = 451.21100, major_axis_length = 187.76920, minor_axis_length = 83.64883, eccentricity = 0.89529, convex_area = 12497.00000, extent = 0.70649, type = C + area = 17353.00000, perimeter = 539.03400, major_axis_length = 220.96120, minor_axis_length = 101.45410, eccentricity = 0.88836, convex_area = 17845.00000, extent = 0.63031, type = C + area = 9945.00000, perimeter = 396.70801, major_axis_length = 166.42352, minor_axis_length = 76.66472, eccentricity = 0.88758, convex_area = 10085.00000, extent = 0.60200, type = O + area = 14682.00000, perimeter = 505.03101, major_axis_length = 219.88632, minor_axis_length = 86.04150, eccentricity = 0.92026, convex_area = 15155.00000, extent = 0.55291, type = C + area = 11323.00000, perimeter = 422.43799, major_axis_length = 169.98456, minor_axis_length = 86.26496, eccentricity = 0.86166, convex_area = 11628.00000, extent = 0.60312, type = O + area = 14434.00000, perimeter = 488.28699, major_axis_length = 201.64925, minor_axis_length = 92.53371, eccentricity = 0.88850, convex_area = 14826.00000, extent = 0.70776, type = C + area = 14549.00000, perimeter = 488.95300, major_axis_length = 206.69482, minor_axis_length = 90.76069, eccentricity = 0.89844, convex_area = 14856.00000, extent = 0.58247, type = C + area = 14850.00000, perimeter = 509.27499, major_axis_length = 215.96320, minor_axis_length = 89.12655, eccentricity = 0.91087, convex_area = 15372.00000, extent = 0.79942, type = C + area = 16226.00000, perimeter = 517.68402, major_axis_length = 217.08057, minor_axis_length = 95.93838, eccentricity = 0.89704, convex_area = 16466.00000, extent = 0.58314, type = C + area = 11953.00000, perimeter = 443.51801, major_axis_length = 183.42574, minor_axis_length = 84.54717, eccentricity = 0.88743, convex_area = 12283.00000, extent = 0.57071, type = O + area = 12635.00000, perimeter = 439.08301, major_axis_length = 171.22871, minor_axis_length = 94.81418, eccentricity = 0.83270, convex_area = 12929.00000, extent = 0.63112, type = O + area = 14608.00000, perimeter = 504.30600, major_axis_length = 210.26993, minor_axis_length = 90.16652, eccentricity = 0.90339, convex_area = 15125.00000, extent = 0.63513, type = C + area = 13684.00000, perimeter = 464.56601, major_axis_length = 189.53105, minor_axis_length = 92.90574, eccentricity = 0.87162, convex_area = 13928.00000, extent = 0.60565, type = C + area = 8328.00000, perimeter = 369.73801, major_axis_length = 152.56586, minor_axis_length = 70.56860, eccentricity = 0.88660, convex_area = 8579.00000, extent = 0.58442, type = O + area = 9741.00000, perimeter = 430.56000, major_axis_length = 180.06628, minor_axis_length = 71.17449, eccentricity = 0.91857, convex_area = 10204.00000, extent = 0.76460, type = O + area = 13920.00000, perimeter = 480.11200, major_axis_length = 195.67007, minor_axis_length = 92.54844, eccentricity = 0.88107, convex_area = 14350.00000, extent = 0.57711, type = C + area = 13787.00000, perimeter = 474.33801, major_axis_length = 194.69463, minor_axis_length = 91.07733, eccentricity = 0.88384, convex_area = 14075.00000, extent = 0.61618, type = C + area = 12411.00000, perimeter = 443.55499, major_axis_length = 178.22722, minor_axis_length = 90.22404, eccentricity = 0.86240, convex_area = 12780.00000, extent = 0.64053, type = O + area = 13173.00000, perimeter = 467.47601, major_axis_length = 194.67645, minor_axis_length = 87.36396, eccentricity = 0.89365, convex_area = 13443.00000, extent = 0.57316, type = C + area = 10040.00000, perimeter = 394.71301, major_axis_length = 157.88472, minor_axis_length = 81.77408, eccentricity = 0.85542, convex_area = 10231.00000, extent = 0.62636, type = O + area = 13831.00000, perimeter = 483.61600, major_axis_length = 202.87578, minor_axis_length = 88.29086, eccentricity = 0.90034, convex_area = 14270.00000, extent = 0.59107, type = C + area = 12404.00000, perimeter = 454.38400, major_axis_length = 186.07597, minor_axis_length = 85.98782, eccentricity = 0.88682, convex_area = 12659.00000, extent = 0.57299, type = O + area = 14483.00000, perimeter = 512.72101, major_axis_length = 215.76816, minor_axis_length = 86.27912, eccentricity = 0.91657, convex_area = 14912.00000, extent = 0.53229, type = C + area = 12340.00000, perimeter = 456.39700, major_axis_length = 189.22507, minor_axis_length = 84.49088, eccentricity = 0.89478, convex_area = 12624.00000, extent = 0.63615, type = O + area = 9371.00000, perimeter = 394.42801, major_axis_length = 169.18408, minor_axis_length = 70.86470, eccentricity = 0.90805, convex_area = 9528.00000, extent = 0.77800, type = O + area = 11077.00000, perimeter = 427.66400, major_axis_length = 181.11687, minor_axis_length = 78.34978, eccentricity = 0.90159, convex_area = 11275.00000, extent = 0.55524, type = O + area = 11480.00000, perimeter = 432.82401, major_axis_length = 174.96246, minor_axis_length = 85.08846, eccentricity = 0.87378, convex_area = 11833.00000, extent = 0.59084, type = O + area = 14002.00000, perimeter = 490.57001, major_axis_length = 209.33427, minor_axis_length = 86.14631, eccentricity = 0.91140, convex_area = 14336.00000, extent = 0.65691, type = C + area = 12906.00000, perimeter = 461.20300, major_axis_length = 191.54367, minor_axis_length = 86.72736, eccentricity = 0.89162, convex_area = 13272.00000, extent = 0.73833, type = O + area = 14294.00000, perimeter = 484.19400, major_axis_length = 205.12840, minor_axis_length = 89.00131, eccentricity = 0.90097, convex_area = 14542.00000, extent = 0.70445, type = C + area = 11568.00000, perimeter = 429.07300, major_axis_length = 178.33298, minor_axis_length = 83.63753, eccentricity = 0.88320, convex_area = 11790.00000, extent = 0.75122, type = O + area = 10367.00000, perimeter = 413.95999, major_axis_length = 176.56651, minor_axis_length = 75.28862, eccentricity = 0.90453, convex_area = 10529.00000, extent = 0.56038, type = O + area = 12188.00000, perimeter = 434.21301, major_axis_length = 171.75890, minor_axis_length = 91.43890, eccentricity = 0.84651, convex_area = 12529.00000, extent = 0.62196, type = O + area = 12861.00000, perimeter = 455.86600, major_axis_length = 191.82275, minor_axis_length = 86.29829, eccentricity = 0.89309, convex_area = 13058.00000, extent = 0.58672, type = C + area = 17079.00000, perimeter = 520.45001, major_axis_length = 216.15999, minor_axis_length = 101.76250, eccentricity = 0.88225, convex_area = 17418.00000, extent = 0.79437, type = C + area = 13295.00000, perimeter = 475.74301, major_axis_length = 199.24074, minor_axis_length = 86.08378, eccentricity = 0.90185, convex_area = 13639.00000, extent = 0.61599, type = C + area = 11249.00000, perimeter = 419.00299, major_axis_length = 166.28651, minor_axis_length = 87.62983, eccentricity = 0.84988, convex_area = 11593.00000, extent = 0.63005, type = O + area = 9842.00000, perimeter = 395.57300, major_axis_length = 159.49901, minor_axis_length = 80.37096, eccentricity = 0.86376, convex_area = 10102.00000, extent = 0.61667, type = O + area = 14478.00000, perimeter = 469.16101, major_axis_length = 190.84772, minor_axis_length = 97.34319, eccentricity = 0.86014, convex_area = 14686.00000, extent = 0.76542, type = C + area = 14842.00000, perimeter = 505.72601, major_axis_length = 214.95474, minor_axis_length = 88.66093, eccentricity = 0.91097, convex_area = 15313.00000, extent = 0.54450, type = C + area = 11341.00000, perimeter = 437.56601, major_axis_length = 181.90344, minor_axis_length = 80.57669, eccentricity = 0.89654, convex_area = 11669.00000, extent = 0.76628, type = O + area = 11553.00000, perimeter = 432.47800, major_axis_length = 177.96440, minor_axis_length = 84.06338, eccentricity = 0.88141, convex_area = 11845.00000, extent = 0.58155, type = O + area = 13540.00000, perimeter = 458.53000, major_axis_length = 189.11140, minor_axis_length = 92.39391, eccentricity = 0.87253, convex_area = 13710.00000, extent = 0.79995, type = C + area = 13091.00000, perimeter = 473.15201, major_axis_length = 203.86270, minor_axis_length = 82.55070, eccentricity = 0.91435, convex_area = 13451.00000, extent = 0.75236, type = C + area = 11251.00000, perimeter = 422.11700, major_axis_length = 171.55084, minor_axis_length = 84.83971, eccentricity = 0.86915, convex_area = 11538.00000, extent = 0.76061, type = O + area = 11081.00000, perimeter = 414.07901, major_axis_length = 169.00883, minor_axis_length = 84.32628, eccentricity = 0.86663, convex_area = 11289.00000, extent = 0.78992, type = O + area = 13548.00000, perimeter = 479.74899, major_axis_length = 203.27188, minor_axis_length = 85.60246, eccentricity = 0.90700, convex_area = 13850.00000, extent = 0.55443, type = C + area = 13983.00000, perimeter = 481.65900, major_axis_length = 198.39046, minor_axis_length = 90.49815, eccentricity = 0.88990, convex_area = 14306.00000, extent = 0.58802, type = C + area = 12609.00000, perimeter = 475.35999, major_axis_length = 202.75441, minor_axis_length = 81.27372, eccentricity = 0.91614, convex_area = 13210.00000, extent = 0.70694, type = C + area = 11243.00000, perimeter = 419.02701, major_axis_length = 168.20508, minor_axis_length = 86.01402, eccentricity = 0.85936, convex_area = 11421.00000, extent = 0.63765, type = O + area = 11014.00000, perimeter = 411.21799, major_axis_length = 167.13171, minor_axis_length = 85.07861, eccentricity = 0.86074, convex_area = 11185.00000, extent = 0.69660, type = O + area = 15529.00000, perimeter = 509.01700, major_axis_length = 207.05132, minor_axis_length = 96.98811, eccentricity = 0.88350, convex_area = 15993.00000, extent = 0.59974, type = C + area = 15398.00000, perimeter = 518.74500, major_axis_length = 215.32907, minor_axis_length = 93.06289, eccentricity = 0.90178, convex_area = 15753.00000, extent = 0.79815, type = C + area = 14178.00000, perimeter = 488.88101, major_axis_length = 207.39560, minor_axis_length = 88.06809, eccentricity = 0.90536, convex_area = 14406.00000, extent = 0.55775, type = C + area = 12244.00000, perimeter = 442.19000, major_axis_length = 179.90146, minor_axis_length = 87.80759, eccentricity = 0.87279, convex_area = 12568.00000, extent = 0.63270, type = O + area = 11790.00000, perimeter = 432.32700, major_axis_length = 181.34070, minor_axis_length = 83.65613, eccentricity = 0.88723, convex_area = 11990.00000, extent = 0.60462, type = O + area = 10023.00000, perimeter = 413.20401, major_axis_length = 173.62323, minor_axis_length = 74.24060, eccentricity = 0.90397, convex_area = 10221.00000, extent = 0.57973, type = O + area = 12593.00000, perimeter = 432.18399, major_axis_length = 171.48470, minor_axis_length = 93.92503, eccentricity = 0.83666, convex_area = 12785.00000, extent = 0.66377, type = O + area = 10828.00000, perimeter = 410.06900, major_axis_length = 166.37714, minor_axis_length = 84.09660, eccentricity = 0.86285, convex_area = 11093.00000, extent = 0.72852, type = O + area = 14589.00000, perimeter = 495.92999, major_axis_length = 210.28394, minor_axis_length = 89.42495, eccentricity = 0.90507, convex_area = 14853.00000, extent = 0.66510, type = C + area = 9749.00000, perimeter = 398.68201, major_axis_length = 162.88123, minor_axis_length = 77.19672, eccentricity = 0.88055, convex_area = 9941.00000, extent = 0.59913, type = O + area = 10190.00000, perimeter = 397.78601, major_axis_length = 161.47743, minor_axis_length = 81.71532, eccentricity = 0.86251, convex_area = 10476.00000, extent = 0.78627, type = O + area = 12768.00000, perimeter = 464.82001, major_axis_length = 195.38815, minor_axis_length = 84.35992, eccentricity = 0.90199, convex_area = 13085.00000, extent = 0.58299, type = C + area = 13352.00000, perimeter = 514.48700, major_axis_length = 232.48021, minor_axis_length = 73.98676, eccentricity = 0.94801, convex_area = 13585.00000, extent = 0.59282, type = C + area = 12110.00000, perimeter = 458.07599, major_axis_length = 192.49915, minor_axis_length = 81.79428, eccentricity = 0.90524, convex_area = 12562.00000, extent = 0.70868, type = C + area = 15080.00000, perimeter = 512.94598, major_axis_length = 211.92612, minor_axis_length = 92.14079, eccentricity = 0.90054, convex_area = 15533.00000, extent = 0.56677, type = C + area = 14793.00000, perimeter = 501.30399, major_axis_length = 211.60114, minor_axis_length = 90.11253, eccentricity = 0.90479, convex_area = 15049.00000, extent = 0.66453, type = C + area = 11782.00000, perimeter = 433.73700, major_axis_length = 182.74081, minor_axis_length = 83.04752, eccentricity = 0.89077, convex_area = 12083.00000, extent = 0.75657, type = O + area = 11721.00000, perimeter = 442.35001, major_axis_length = 186.25233, minor_axis_length = 81.25922, eccentricity = 0.89981, convex_area = 11950.00000, extent = 0.57779, type = O + area = 14518.00000, perimeter = 491.22198, major_axis_length = 203.76106, minor_axis_length = 92.34290, eccentricity = 0.89141, convex_area = 14877.00000, extent = 0.74132, type = C + area = 12714.00000, perimeter = 434.11801, major_axis_length = 169.25522, minor_axis_length = 96.89130, eccentricity = 0.81993, convex_area = 12993.00000, extent = 0.74195, type = O + area = 12822.00000, perimeter = 459.68100, major_axis_length = 190.30260, minor_axis_length = 87.41134, eccentricity = 0.88827, convex_area = 13167.00000, extent = 0.65592, type = O + area = 13274.00000, perimeter = 471.05399, major_axis_length = 197.61220, minor_axis_length = 86.34554, eccentricity = 0.89949, convex_area = 13615.00000, extent = 0.62378, type = C + area = 11116.00000, perimeter = 419.71399, major_axis_length = 173.07706, minor_axis_length = 82.31734, eccentricity = 0.87966, convex_area = 11335.00000, extent = 0.60165, type = O + area = 10862.00000, perimeter = 412.42599, major_axis_length = 167.38695, minor_axis_length = 83.53160, eccentricity = 0.86658, convex_area = 11050.00000, extent = 0.67215, type = O + area = 9593.00000, perimeter = 396.04999, major_axis_length = 162.59073, minor_axis_length = 75.99918, eccentricity = 0.88403, convex_area = 9828.00000, extent = 0.74480, type = O + area = 14520.00000, perimeter = 496.02100, major_axis_length = 208.42570, minor_axis_length = 90.74639, eccentricity = 0.90024, convex_area = 14930.00000, extent = 0.59096, type = C + area = 15545.00000, perimeter = 516.86902, major_axis_length = 217.11868, minor_axis_length = 92.24694, eccentricity = 0.90525, convex_area = 16019.00000, extent = 0.65749, type = C + area = 9819.00000, perimeter = 410.64801, major_axis_length = 172.62126, minor_axis_length = 73.48200, eccentricity = 0.90487, convex_area = 10096.00000, extent = 0.58825, type = O + area = 13002.00000, perimeter = 448.11499, major_axis_length = 182.62787, minor_axis_length = 91.47121, eccentricity = 0.86553, convex_area = 13200.00000, extent = 0.60581, type = O + area = 14980.00000, perimeter = 503.81699, major_axis_length = 214.18651, minor_axis_length = 89.89458, eccentricity = 0.90766, convex_area = 15361.00000, extent = 0.73540, type = C + area = 13698.00000, perimeter = 478.59900, major_axis_length = 199.06026, minor_axis_length = 88.78965, eccentricity = 0.89501, convex_area = 13932.00000, extent = 0.57559, type = C + area = 14559.00000, perimeter = 496.52399, major_axis_length = 213.39636, minor_axis_length = 87.13540, eccentricity = 0.91284, convex_area = 14765.00000, extent = 0.71082, type = C + area = 14817.00000, perimeter = 502.58301, major_axis_length = 211.52902, minor_axis_length = 90.38519, eccentricity = 0.90411, convex_area = 15113.00000, extent = 0.56803, type = C + area = 9843.00000, perimeter = 383.11600, major_axis_length = 154.95032, minor_axis_length = 81.35683, eccentricity = 0.85107, convex_area = 10024.00000, extent = 0.70227, type = O + area = 14013.00000, perimeter = 478.27701, major_axis_length = 194.78256, minor_axis_length = 92.95033, eccentricity = 0.87879, convex_area = 14374.00000, extent = 0.60401, type = C + area = 12000.00000, perimeter = 440.48700, major_axis_length = 181.43523, minor_axis_length = 84.99417, eccentricity = 0.88349, convex_area = 12196.00000, extent = 0.63776, type = O + area = 11933.00000, perimeter = 430.86700, major_axis_length = 178.96300, minor_axis_length = 85.46998, eccentricity = 0.87859, convex_area = 12118.00000, extent = 0.79809, type = O + area = 14608.00000, perimeter = 498.35199, major_axis_length = 210.69138, minor_axis_length = 89.91737, eccentricity = 0.90436, convex_area = 14951.00000, extent = 0.65980, type = C + area = 14256.00000, perimeter = 492.92700, major_axis_length = 209.80321, minor_axis_length = 87.69037, eccentricity = 0.90846, convex_area = 14730.00000, extent = 0.70227, type = C + area = 15072.00000, perimeter = 487.58499, major_axis_length = 202.49474, minor_axis_length = 95.35527, eccentricity = 0.88219, convex_area = 15267.00000, extent = 0.79056, type = C + area = 12079.00000, perimeter = 445.99500, major_axis_length = 190.67360, minor_axis_length = 81.13325, eccentricity = 0.90495, convex_area = 12462.00000, extent = 0.64267, type = C + area = 10697.00000, perimeter = 407.80701, major_axis_length = 168.21783, minor_axis_length = 81.61740, eccentricity = 0.87441, convex_area = 10824.00000, extent = 0.60028, type = O + area = 12266.00000, perimeter = 438.82300, major_axis_length = 178.84244, minor_axis_length = 88.80107, eccentricity = 0.86802, convex_area = 12554.00000, extent = 0.76999, type = O + area = 13619.00000, perimeter = 467.76599, major_axis_length = 193.68094, minor_axis_length = 90.47348, eccentricity = 0.88419, convex_area = 13926.00000, extent = 0.58667, type = O + area = 13135.00000, perimeter = 459.25601, major_axis_length = 189.78062, minor_axis_length = 89.05083, eccentricity = 0.88308, convex_area = 13353.00000, extent = 0.58007, type = O + area = 13855.00000, perimeter = 487.83099, major_axis_length = 207.10844, minor_axis_length = 86.02370, eccentricity = 0.90966, convex_area = 14214.00000, extent = 0.55155, type = C + area = 9768.00000, perimeter = 413.55801, major_axis_length = 179.79776, minor_axis_length = 69.92797, eccentricity = 0.92127, convex_area = 9943.00000, extent = 0.70253, type = O + area = 14041.00000, perimeter = 491.66101, major_axis_length = 212.85693, minor_axis_length = 84.56731, eccentricity = 0.91769, convex_area = 14289.00000, extent = 0.78661, type = C + area = 10246.00000, perimeter = 419.95001, major_axis_length = 178.92371, minor_axis_length = 74.24162, eccentricity = 0.90985, convex_area = 10525.00000, extent = 0.77786, type = O + area = 12235.00000, perimeter = 443.45599, major_axis_length = 187.66254, minor_axis_length = 83.75172, eccentricity = 0.89489, convex_area = 12442.00000, extent = 0.65833, type = O + area = 11136.00000, perimeter = 417.76700, major_axis_length = 170.42235, minor_axis_length = 84.60592, eccentricity = 0.86807, convex_area = 11384.00000, extent = 0.78461, type = O + area = 11940.00000, perimeter = 443.96799, major_axis_length = 187.33362, minor_axis_length = 82.18279, eccentricity = 0.89863, convex_area = 12184.00000, extent = 0.63639, type = C + area = 13501.00000, perimeter = 472.48300, major_axis_length = 198.07204, minor_axis_length = 87.68961, eccentricity = 0.89666, convex_area = 13787.00000, extent = 0.63403, type = C + area = 11626.00000, perimeter = 433.23801, major_axis_length = 178.07924, minor_axis_length = 84.56313, eccentricity = 0.88006, convex_area = 11972.00000, extent = 0.58967, type = O + area = 12732.00000, perimeter = 465.49100, major_axis_length = 192.45367, minor_axis_length = 85.18263, eccentricity = 0.89671, convex_area = 13105.00000, extent = 0.56997, type = C + area = 14359.00000, perimeter = 506.08899, major_axis_length = 223.26085, minor_axis_length = 82.48141, eccentricity = 0.92925, convex_area = 14698.00000, extent = 0.53787, type = C + area = 12518.00000, perimeter = 460.72198, major_axis_length = 195.65092, minor_axis_length = 82.36374, eccentricity = 0.90707, convex_area = 12813.00000, extent = 0.68989, type = C + area = 14862.00000, perimeter = 507.48999, major_axis_length = 216.32031, minor_axis_length = 88.60250, eccentricity = 0.91227, convex_area = 15125.00000, extent = 0.77527, type = C + area = 13338.00000, perimeter = 462.53400, major_axis_length = 194.25833, minor_axis_length = 88.38235, eccentricity = 0.89051, convex_area = 13639.00000, extent = 0.74311, type = C + area = 13589.00000, perimeter = 483.88400, major_axis_length = 205.35475, minor_axis_length = 85.41032, eccentricity = 0.90940, convex_area = 13883.00000, extent = 0.54574, type = C + area = 12930.00000, perimeter = 474.07800, major_axis_length = 205.35634, minor_axis_length = 80.71208, eccentricity = 0.91952, convex_area = 13181.00000, extent = 0.74063, type = C + area = 13901.00000, perimeter = 478.84900, major_axis_length = 200.44191, minor_axis_length = 89.34199, eccentricity = 0.89517, convex_area = 14232.00000, extent = 0.56855, type = C + area = 13142.00000, perimeter = 464.65100, major_axis_length = 194.74500, minor_axis_length = 86.58730, eccentricity = 0.89572, convex_area = 13406.00000, extent = 0.66133, type = C + area = 9854.00000, perimeter = 397.06699, major_axis_length = 169.15323, minor_axis_length = 74.63223, eccentricity = 0.89740, convex_area = 9992.00000, extent = 0.72392, type = O + area = 15073.00000, perimeter = 498.36200, major_axis_length = 205.80310, minor_axis_length = 93.99628, eccentricity = 0.88961, convex_area = 15476.00000, extent = 0.61392, type = C + area = 14261.00000, perimeter = 496.35901, major_axis_length = 208.85197, minor_axis_length = 88.24221, eccentricity = 0.90636, convex_area = 14763.00000, extent = 0.69566, type = C + area = 13443.00000, perimeter = 469.45401, major_axis_length = 196.63802, minor_axis_length = 87.97915, eccentricity = 0.89433, convex_area = 13686.00000, extent = 0.57226, type = O + area = 11681.00000, perimeter = 422.04901, major_axis_length = 174.08575, minor_axis_length = 85.92032, eccentricity = 0.86972, convex_area = 11832.00000, extent = 0.60902, type = O + area = 13710.00000, perimeter = 467.40500, major_axis_length = 193.88870, minor_axis_length = 90.85185, eccentricity = 0.88342, convex_area = 13915.00000, extent = 0.72887, type = O + area = 14588.00000, perimeter = 502.56900, major_axis_length = 214.89561, minor_axis_length = 88.20730, eccentricity = 0.91188, convex_area = 14923.00000, extent = 0.53615, type = C + area = 12164.00000, perimeter = 436.60901, major_axis_length = 180.37566, minor_axis_length = 86.53325, eccentricity = 0.87741, convex_area = 12351.00000, extent = 0.63719, type = O + area = 14013.00000, perimeter = 480.83099, major_axis_length = 191.84508, minor_axis_length = 94.87569, eccentricity = 0.86915, convex_area = 14622.00000, extent = 0.62592, type = C + area = 11975.00000, perimeter = 434.91101, major_axis_length = 176.54028, minor_axis_length = 87.28522, eccentricity = 0.86922, convex_area = 12216.00000, extent = 0.76032, type = O + area = 8546.00000, perimeter = 388.58099, major_axis_length = 172.51996, minor_axis_length = 63.34475, eccentricity = 0.93015, convex_area = 8685.00000, extent = 0.73546, type = O + area = 13893.00000, perimeter = 474.13400, major_axis_length = 200.73592, minor_axis_length = 89.16997, eccentricity = 0.89592, convex_area = 14123.00000, extent = 0.56934, type = C + area = 11253.00000, perimeter = 422.87799, major_axis_length = 173.48373, minor_axis_length = 84.12681, eccentricity = 0.87456, convex_area = 11556.00000, extent = 0.75200, type = O + area = 12994.00000, perimeter = 460.94501, major_axis_length = 195.22110, minor_axis_length = 86.21172, eccentricity = 0.89721, convex_area = 13196.00000, extent = 0.81539, type = O + area = 12598.00000, perimeter = 466.83701, major_axis_length = 199.03914, minor_axis_length = 81.86655, eccentricity = 0.91150, convex_area = 13072.00000, extent = 0.57541, type = C + area = 11271.00000, perimeter = 404.46399, major_axis_length = 158.98883, minor_axis_length = 91.34058, eccentricity = 0.81850, convex_area = 11462.00000, extent = 0.67010, type = O + area = 11485.00000, perimeter = 429.39099, major_axis_length = 173.49945, minor_axis_length = 85.60889, eccentricity = 0.86979, convex_area = 11758.00000, extent = 0.60575, type = O + area = 9994.00000, perimeter = 406.64301, major_axis_length = 173.09851, minor_axis_length = 74.46516, eccentricity = 0.90274, convex_area = 10123.00000, extent = 0.80701, type = O + area = 12451.00000, perimeter = 461.34500, major_axis_length = 191.40778, minor_axis_length = 84.16150, eccentricity = 0.89815, convex_area = 12833.00000, extent = 0.58128, type = O + area = 16431.00000, perimeter = 509.38501, major_axis_length = 208.05287, minor_axis_length = 101.96149, eccentricity = 0.87168, convex_area = 16875.00000, extent = 0.73222, type = C + area = 14041.00000, perimeter = 481.94800, major_axis_length = 204.59848, minor_axis_length = 88.18790, eccentricity = 0.90234, convex_area = 14284.00000, extent = 0.57231, type = C + area = 11714.00000, perimeter = 412.20200, major_axis_length = 161.30818, minor_axis_length = 93.22562, eccentricity = 0.81608, convex_area = 11886.00000, extent = 0.76432, type = O + area = 13621.00000, perimeter = 478.75299, major_axis_length = 200.04332, minor_axis_length = 88.05669, eccentricity = 0.89791, convex_area = 14068.00000, extent = 0.62459, type = C + area = 14759.00000, perimeter = 483.26700, major_axis_length = 203.96587, minor_axis_length = 92.55145, eccentricity = 0.89112, convex_area = 15002.00000, extent = 0.78505, type = C + area = 13724.00000, perimeter = 481.77100, major_axis_length = 200.89267, minor_axis_length = 88.16832, eccentricity = 0.89854, convex_area = 14038.00000, extent = 0.67954, type = C + area = 12509.00000, perimeter = 464.50900, major_axis_length = 201.53149, minor_axis_length = 79.65081, eccentricity = 0.91858, convex_area = 12703.00000, extent = 0.54482, type = C + area = 15389.00000, perimeter = 521.30402, major_axis_length = 226.96100, minor_axis_length = 87.38693, eccentricity = 0.92290, convex_area = 15753.00000, extent = 0.57465, type = C + area = 12688.00000, perimeter = 466.83801, major_axis_length = 193.78667, minor_axis_length = 84.37170, eccentricity = 0.90024, convex_area = 12956.00000, extent = 0.60190, type = C + area = 13809.00000, perimeter = 489.02200, major_axis_length = 213.82555, minor_axis_length = 82.49403, eccentricity = 0.92258, convex_area = 14070.00000, extent = 0.80575, type = C + area = 14897.00000, perimeter = 509.63101, major_axis_length = 219.67192, minor_axis_length = 87.50060, eccentricity = 0.91724, convex_area = 15330.00000, extent = 0.71366, type = C + area = 13251.00000, perimeter = 460.53201, major_axis_length = 190.91631, minor_axis_length = 88.99756, eccentricity = 0.88470, convex_area = 13528.00000, extent = 0.74992, type = C + area = 14401.00000, perimeter = 482.17599, major_axis_length = 203.07222, minor_axis_length = 91.35160, eccentricity = 0.89311, convex_area = 14608.00000, extent = 0.71650, type = C + area = 9577.00000, perimeter = 403.17099, major_axis_length = 174.98221, minor_axis_length = 70.26763, eccentricity = 0.91583, convex_area = 9769.00000, extent = 0.62710, type = O + area = 11710.00000, perimeter = 429.06299, major_axis_length = 178.28360, minor_axis_length = 84.48763, eccentricity = 0.88058, convex_area = 11906.00000, extent = 0.59339, type = O + area = 11976.00000, perimeter = 444.64401, major_axis_length = 188.98186, minor_axis_length = 81.36696, eccentricity = 0.90256, convex_area = 12149.00000, extent = 0.55801, type = O + area = 12249.00000, perimeter = 440.38599, major_axis_length = 178.58810, minor_axis_length = 88.66050, eccentricity = 0.86806, convex_area = 12538.00000, extent = 0.77320, type = O + area = 13568.00000, perimeter = 482.45700, major_axis_length = 201.88048, minor_axis_length = 87.07385, eccentricity = 0.90220, convex_area = 14068.00000, extent = 0.63580, type = C + area = 10264.00000, perimeter = 410.13901, major_axis_length = 169.60396, minor_axis_length = 78.00386, eccentricity = 0.88796, convex_area = 10572.00000, extent = 0.59577, type = O + area = 13272.00000, perimeter = 474.92700, major_axis_length = 195.77855, minor_axis_length = 87.16515, eccentricity = 0.89542, convex_area = 13597.00000, extent = 0.58606, type = C + area = 15360.00000, perimeter = 504.23199, major_axis_length = 210.39075, minor_axis_length = 94.74096, eccentricity = 0.89287, convex_area = 15751.00000, extent = 0.75766, type = C + area = 13282.00000, perimeter = 470.25800, major_axis_length = 199.71138, minor_axis_length = 85.10118, eccentricity = 0.90467, convex_area = 13513.00000, extent = 0.67162, type = C + area = 15303.00000, perimeter = 505.92801, major_axis_length = 209.61992, minor_axis_length = 94.15701, eccentricity = 0.89344, convex_area = 15746.00000, extent = 0.62461, type = C + area = 13218.00000, perimeter = 458.76300, major_axis_length = 183.63066, minor_axis_length = 93.50396, eccentricity = 0.86065, convex_area = 13547.00000, extent = 0.77662, type = O + area = 11987.00000, perimeter = 440.78400, major_axis_length = 180.04774, minor_axis_length = 86.14135, eccentricity = 0.87812, convex_area = 12299.00000, extent = 0.68796, type = O + area = 11327.00000, perimeter = 422.68500, major_axis_length = 175.85306, minor_axis_length = 82.81971, eccentricity = 0.88215, convex_area = 11475.00000, extent = 0.59631, type = O + area = 11221.00000, perimeter = 418.56100, major_axis_length = 168.14250, minor_axis_length = 85.76485, eccentricity = 0.86013, convex_area = 11455.00000, extent = 0.76772, type = O + area = 14421.00000, perimeter = 489.81799, major_axis_length = 204.95683, minor_axis_length = 90.34169, eccentricity = 0.89761, convex_area = 14716.00000, extent = 0.62526, type = C + area = 15811.00000, perimeter = 514.37799, major_axis_length = 218.73137, minor_axis_length = 93.16438, eccentricity = 0.90476, convex_area = 16135.00000, extent = 0.81867, type = C + area = 13266.00000, perimeter = 466.00000, major_axis_length = 198.06139, minor_axis_length = 86.09348, eccentricity = 0.90058, convex_area = 13514.00000, extent = 0.65434, type = C + area = 12709.00000, perimeter = 456.17401, major_axis_length = 191.37341, minor_axis_length = 85.73984, eccentricity = 0.89402, convex_area = 12934.00000, extent = 0.78281, type = C + area = 10878.00000, perimeter = 410.72198, major_axis_length = 168.79781, minor_axis_length = 82.68657, eccentricity = 0.87180, convex_area = 11079.00000, extent = 0.68944, type = O + area = 14217.00000, perimeter = 472.31500, major_axis_length = 196.74448, minor_axis_length = 92.90379, eccentricity = 0.88149, convex_area = 14426.00000, extent = 0.59987, type = O + area = 11852.00000, perimeter = 446.07700, major_axis_length = 192.05428, minor_axis_length = 79.09919, eccentricity = 0.91125, convex_area = 12029.00000, extent = 0.71700, type = C + area = 13665.00000, perimeter = 482.07700, major_axis_length = 208.96404, minor_axis_length = 84.61726, eccentricity = 0.91434, convex_area = 13998.00000, extent = 0.60121, type = C + area = 12086.00000, perimeter = 438.50299, major_axis_length = 179.41664, minor_axis_length = 86.54947, eccentricity = 0.87595, convex_area = 12292.00000, extent = 0.62948, type = O + area = 13912.00000, perimeter = 480.84299, major_axis_length = 206.90704, minor_axis_length = 86.26382, eccentricity = 0.90894, convex_area = 14107.00000, extent = 0.80626, type = C + area = 10997.00000, perimeter = 421.48499, major_axis_length = 171.56142, minor_axis_length = 82.59306, eccentricity = 0.87649, convex_area = 11249.00000, extent = 0.61033, type = O + area = 13476.00000, perimeter = 478.28299, major_axis_length = 199.02327, minor_axis_length = 87.92966, eccentricity = 0.89711, convex_area = 13931.00000, extent = 0.59917, type = C + area = 13683.00000, perimeter = 492.97501, major_axis_length = 213.90919, minor_axis_length = 83.12070, eccentricity = 0.92142, convex_area = 14070.00000, extent = 0.76127, type = C + area = 11835.00000, perimeter = 418.71301, major_axis_length = 168.20982, minor_axis_length = 90.15866, eccentricity = 0.84422, convex_area = 12025.00000, extent = 0.66549, type = O + area = 14061.00000, perimeter = 470.74899, major_axis_length = 190.29001, minor_axis_length = 95.00540, eccentricity = 0.86645, convex_area = 14347.00000, extent = 0.61801, type = C + area = 13189.00000, perimeter = 482.36700, major_axis_length = 203.71744, minor_axis_length = 84.41487, eccentricity = 0.91011, convex_area = 13635.00000, extent = 0.59636, type = C + area = 13397.00000, perimeter = 474.86499, major_axis_length = 200.54626, minor_axis_length = 86.39674, eccentricity = 0.90244, convex_area = 13762.00000, extent = 0.69404, type = C + area = 14626.00000, perimeter = 496.58600, major_axis_length = 204.53413, minor_axis_length = 92.97487, eccentricity = 0.89071, convex_area = 15070.00000, extent = 0.57021, type = C + area = 14227.00000, perimeter = 490.50400, major_axis_length = 206.49132, minor_axis_length = 88.69172, eccentricity = 0.90306, convex_area = 14529.00000, extent = 0.68713, type = C + area = 11278.00000, perimeter = 422.18600, major_axis_length = 170.41817, minor_axis_length = 86.04628, eccentricity = 0.86317, convex_area = 11642.00000, extent = 0.62465, type = O + area = 13102.00000, perimeter = 479.27301, major_axis_length = 202.50768, minor_axis_length = 83.75623, eccentricity = 0.91046, convex_area = 13528.00000, extent = 0.61799, type = C + area = 9858.00000, perimeter = 388.66699, major_axis_length = 155.12448, minor_axis_length = 81.84178, eccentricity = 0.84950, convex_area = 10101.00000, extent = 0.65654, type = O + area = 12198.00000, perimeter = 440.20099, major_axis_length = 180.95660, minor_axis_length = 86.97328, eccentricity = 0.87692, convex_area = 12412.00000, extent = 0.60030, type = O + area = 15862.00000, perimeter = 507.54800, major_axis_length = 214.87325, minor_axis_length = 94.80012, eccentricity = 0.89741, convex_area = 16098.00000, extent = 0.80834, type = C + area = 10249.00000, perimeter = 404.08899, major_axis_length = 165.68245, minor_axis_length = 80.38426, eccentricity = 0.87442, convex_area = 10486.00000, extent = 0.67145, type = O + area = 12831.00000, perimeter = 452.72000, major_axis_length = 184.24652, minor_axis_length = 89.26257, eccentricity = 0.87481, convex_area = 13073.00000, extent = 0.61123, type = O + area = 10549.00000, perimeter = 414.44501, major_axis_length = 170.02101, minor_axis_length = 80.42478, eccentricity = 0.88105, convex_area = 10868.00000, extent = 0.61712, type = O + area = 14746.00000, perimeter = 504.31400, major_axis_length = 220.34344, minor_axis_length = 85.93158, eccentricity = 0.92082, convex_area = 14995.00000, extent = 0.79751, type = C + area = 11387.00000, perimeter = 434.79300, major_axis_length = 182.10693, minor_axis_length = 80.46819, eccentricity = 0.89708, convex_area = 11612.00000, extent = 0.56472, type = O + area = 11395.00000, perimeter = 421.96301, major_axis_length = 169.74678, minor_axis_length = 86.97183, eccentricity = 0.85877, convex_area = 11586.00000, extent = 0.62370, type = O + area = 9638.00000, perimeter = 398.91199, major_axis_length = 168.10983, minor_axis_length = 73.46514, eccentricity = 0.89946, convex_area = 9798.00000, extent = 0.72575, type = O + area = 11447.00000, perimeter = 436.86899, major_axis_length = 180.43732, minor_axis_length = 82.31013, eccentricity = 0.88989, convex_area = 11733.00000, extent = 0.57258, type = O + area = 12695.00000, perimeter = 447.83401, major_axis_length = 179.08238, minor_axis_length = 91.47324, eccentricity = 0.85971, convex_area = 12947.00000, extent = 0.60797, type = O + area = 11199.00000, perimeter = 421.04300, major_axis_length = 170.69112, minor_axis_length = 85.02394, eccentricity = 0.86711, convex_area = 11405.00000, extent = 0.80337, type = O + area = 13022.00000, perimeter = 467.07700, major_axis_length = 194.75409, minor_axis_length = 86.67640, eccentricity = 0.89550, convex_area = 13355.00000, extent = 0.59625, type = C + area = 10912.00000, perimeter = 424.88199, major_axis_length = 171.86250, minor_axis_length = 81.76659, eccentricity = 0.87957, convex_area = 11282.00000, extent = 0.61276, type = O + area = 11231.00000, perimeter = 427.66699, major_axis_length = 183.58710, minor_axis_length = 78.86173, eccentricity = 0.90304, convex_area = 11427.00000, extent = 0.72118, type = O + area = 14173.00000, perimeter = 480.68301, major_axis_length = 201.93576, minor_axis_length = 90.24498, eccentricity = 0.89458, convex_area = 14519.00000, extent = 0.59756, type = C + area = 14753.00000, perimeter = 489.53601, major_axis_length = 207.46600, minor_axis_length = 92.00663, eccentricity = 0.89629, convex_area = 14984.00000, extent = 0.80468, type = C + area = 15213.00000, perimeter = 495.41699, major_axis_length = 206.29997, minor_axis_length = 94.53258, eccentricity = 0.88883, convex_area = 15516.00000, extent = 0.70135, type = C + area = 12865.00000, perimeter = 460.66599, major_axis_length = 193.34824, minor_axis_length = 85.72440, eccentricity = 0.89634, convex_area = 13120.00000, extent = 0.63456, type = C + area = 12031.00000, perimeter = 444.46201, major_axis_length = 184.78299, minor_axis_length = 84.48428, eccentricity = 0.88936, convex_area = 12253.00000, extent = 0.58846, type = O + area = 15252.00000, perimeter = 502.59100, major_axis_length = 211.63116, minor_axis_length = 92.19616, eccentricity = 0.90012, convex_area = 15495.00000, extent = 0.57446, type = C + area = 12324.00000, perimeter = 449.15201, major_axis_length = 190.39249, minor_axis_length = 83.20514, eccentricity = 0.89945, convex_area = 12595.00000, extent = 0.76713, type = C + area = 15705.00000, perimeter = 498.96399, major_axis_length = 208.54117, minor_axis_length = 96.63724, eccentricity = 0.88615, convex_area = 16009.00000, extent = 0.77365, type = C + area = 14950.00000, perimeter = 496.88400, major_axis_length = 207.82280, minor_axis_length = 93.10914, eccentricity = 0.89402, convex_area = 15422.00000, extent = 0.57932, type = C + area = 11513.00000, perimeter = 438.62500, major_axis_length = 189.72221, minor_axis_length = 77.68551, eccentricity = 0.91232, convex_area = 11736.00000, extent = 0.68424, type = C + area = 15636.00000, perimeter = 504.18201, major_axis_length = 212.13625, minor_axis_length = 94.48931, eccentricity = 0.89532, convex_area = 15927.00000, extent = 0.74500, type = C + area = 13853.00000, perimeter = 471.64099, major_axis_length = 195.21249, minor_axis_length = 91.29154, eccentricity = 0.88391, convex_area = 14213.00000, extent = 0.65332, type = C + area = 15074.00000, perimeter = 497.17801, major_axis_length = 205.63982, minor_axis_length = 94.62220, eccentricity = 0.88785, convex_area = 15536.00000, extent = 0.72111, type = C + area = 13970.00000, perimeter = 494.62900, major_axis_length = 210.52756, minor_axis_length = 85.43404, eccentricity = 0.91396, convex_area = 14308.00000, extent = 0.55054, type = C + area = 11293.00000, perimeter = 424.62399, major_axis_length = 178.36342, minor_axis_length = 81.41405, eccentricity = 0.88975, convex_area = 11473.00000, extent = 0.74610, type = O + area = 13043.00000, perimeter = 471.35699, major_axis_length = 199.28964, minor_axis_length = 84.55070, eccentricity = 0.90554, convex_area = 13422.00000, extent = 0.73643, type = C + area = 15498.00000, perimeter = 512.70398, major_axis_length = 215.80835, minor_axis_length = 92.62403, eccentricity = 0.90321, convex_area = 15914.00000, extent = 0.57889, type = C + area = 10697.00000, perimeter = 408.84399, major_axis_length = 163.87523, minor_axis_length = 84.58505, eccentricity = 0.85650, convex_area = 10995.00000, extent = 0.75811, type = O + area = 11879.00000, perimeter = 446.14301, major_axis_length = 187.91023, minor_axis_length = 81.59092, eccentricity = 0.90082, convex_area = 12095.00000, extent = 0.65269, type = O + area = 13969.00000, perimeter = 486.50900, major_axis_length = 206.02858, minor_axis_length = 87.72613, eccentricity = 0.90482, convex_area = 14277.00000, extent = 0.65276, type = C + area = 11168.00000, perimeter = 440.86301, major_axis_length = 182.78328, minor_axis_length = 79.52693, eccentricity = 0.90039, convex_area = 11628.00000, extent = 0.54710, type = O + area = 15710.00000, perimeter = 517.07001, major_axis_length = 214.75021, minor_axis_length = 95.24736, eccentricity = 0.89626, convex_area = 16259.00000, extent = 0.60760, type = C + area = 14198.00000, perimeter = 485.90302, major_axis_length = 205.10435, minor_axis_length = 89.31972, eccentricity = 0.90020, convex_area = 14414.00000, extent = 0.56584, type = C + area = 12670.00000, perimeter = 462.91400, major_axis_length = 190.20509, minor_axis_length = 86.21523, eccentricity = 0.89137, convex_area = 13047.00000, extent = 0.71320, type = O + area = 16051.00000, perimeter = 516.17401, major_axis_length = 214.87718, minor_axis_length = 96.84511, eccentricity = 0.89268, convex_area = 16479.00000, extent = 0.67964, type = C + area = 12563.00000, perimeter = 444.86899, major_axis_length = 183.22375, minor_axis_length = 88.04948, eccentricity = 0.87696, convex_area = 12767.00000, extent = 0.76697, type = O + area = 10842.00000, perimeter = 412.74899, major_axis_length = 167.04510, minor_axis_length = 84.00163, eccentricity = 0.86436, convex_area = 11105.00000, extent = 0.67050, type = O + area = 12233.00000, perimeter = 425.18100, major_axis_length = 170.94611, minor_axis_length = 92.01291, eccentricity = 0.84278, convex_area = 12388.00000, extent = 0.64276, type = O + area = 13174.00000, perimeter = 480.57700, major_axis_length = 203.50645, minor_axis_length = 83.42044, eccentricity = 0.91212, convex_area = 13606.00000, extent = 0.54947, type = C + area = 11508.00000, perimeter = 429.20401, major_axis_length = 178.31401, minor_axis_length = 83.02278, eccentricity = 0.88500, convex_area = 11772.00000, extent = 0.78844, type = O + area = 17856.00000, perimeter = 530.41602, major_axis_length = 223.29236, minor_axis_length = 102.90128, eccentricity = 0.88749, convex_area = 18062.00000, extent = 0.79572, type = C + area = 14172.00000, perimeter = 500.42899, major_axis_length = 218.57156, minor_axis_length = 83.36391, eccentricity = 0.92441, convex_area = 14399.00000, extent = 0.60882, type = C + area = 12053.00000, perimeter = 440.97800, major_axis_length = 180.09575, minor_axis_length = 86.76285, eccentricity = 0.87630, convex_area = 12351.00000, extent = 0.59049, type = O + area = 13533.00000, perimeter = 469.53201, major_axis_length = 192.39604, minor_axis_length = 91.23042, eccentricity = 0.88043, convex_area = 13954.00000, extent = 0.62161, type = C + area = 12387.00000, perimeter = 445.61401, major_axis_length = 175.62965, minor_axis_length = 91.31130, eccentricity = 0.85422, convex_area = 12789.00000, extent = 0.65512, type = O + area = 10843.00000, perimeter = 412.36700, major_axis_length = 168.27451, minor_axis_length = 83.94273, eccentricity = 0.86669, convex_area = 11082.00000, extent = 0.78744, type = O + area = 13682.00000, perimeter = 488.89999, major_axis_length = 199.55969, minor_axis_length = 89.44221, eccentricity = 0.89393, convex_area = 14457.00000, extent = 0.59967, type = C + area = 16263.00000, perimeter = 546.56201, major_axis_length = 230.95955, minor_axis_length = 91.65092, eccentricity = 0.91789, convex_area = 16796.00000, extent = 0.57123, type = C + area = 13270.00000, perimeter = 459.86600, major_axis_length = 188.89337, minor_axis_length = 90.74985, eccentricity = 0.87703, convex_area = 13507.00000, extent = 0.59945, type = O + area = 12771.00000, perimeter = 449.26001, major_axis_length = 190.35739, minor_axis_length = 85.92546, eccentricity = 0.89233, convex_area = 12939.00000, extent = 0.77607, type = O + area = 12684.00000, perimeter = 461.35800, major_axis_length = 198.20212, minor_axis_length = 81.89428, eccentricity = 0.91065, convex_area = 12912.00000, extent = 0.54710, type = C + area = 14620.00000, perimeter = 493.94400, major_axis_length = 212.26605, minor_axis_length = 88.77168, eccentricity = 0.90835, convex_area = 14931.00000, extent = 0.72419, type = C + area = 12274.00000, perimeter = 456.12399, major_axis_length = 194.48738, minor_axis_length = 81.23903, eccentricity = 0.90858, convex_area = 12562.00000, extent = 0.70964, type = C + area = 13079.00000, perimeter = 436.04501, major_axis_length = 174.89232, minor_axis_length = 95.94195, eccentricity = 0.83610, convex_area = 13228.00000, extent = 0.77258, type = O + area = 14930.00000, perimeter = 499.92499, major_axis_length = 212.24582, minor_axis_length = 90.01748, eccentricity = 0.90561, convex_area = 15248.00000, extent = 0.62437, type = C + area = 13670.00000, perimeter = 486.81000, major_axis_length = 207.74220, minor_axis_length = 84.57770, eccentricity = 0.91337, convex_area = 13923.00000, extent = 0.58096, type = C + area = 14795.00000, perimeter = 497.51599, major_axis_length = 213.60318, minor_axis_length = 89.84618, eccentricity = 0.90724, convex_area = 15002.00000, extent = 0.80307, type = C + area = 11589.00000, perimeter = 449.36099, major_axis_length = 196.64670, minor_axis_length = 75.97960, eccentricity = 0.92234, convex_area = 11783.00000, extent = 0.56293, type = C + area = 15087.00000, perimeter = 510.60501, major_axis_length = 218.17435, minor_axis_length = 89.15250, eccentricity = 0.91270, convex_area = 15506.00000, extent = 0.54950, type = C + area = 16008.00000, perimeter = 521.00702, major_axis_length = 222.84523, minor_axis_length = 92.12952, eccentricity = 0.91054, convex_area = 16315.00000, extent = 0.61188, type = C + area = 11982.00000, perimeter = 448.86401, major_axis_length = 188.14598, minor_axis_length = 81.85522, eccentricity = 0.90040, convex_area = 12206.00000, extent = 0.62815, type = O + area = 12434.00000, perimeter = 437.89700, major_axis_length = 183.22873, minor_axis_length = 87.01015, eccentricity = 0.88006, convex_area = 12605.00000, extent = 0.72501, type = O + area = 10480.00000, perimeter = 414.80899, major_axis_length = 177.85612, minor_axis_length = 75.26311, eccentricity = 0.90605, convex_area = 10657.00000, extent = 0.63034, type = O + area = 11549.00000, perimeter = 440.24799, major_axis_length = 179.11688, minor_axis_length = 84.49580, eccentricity = 0.88174, convex_area = 11961.00000, extent = 0.59540, type = C + area = 11856.00000, perimeter = 456.42200, major_axis_length = 201.00337, minor_axis_length = 75.42108, eccentricity = 0.92693, convex_area = 12027.00000, extent = 0.71646, type = C + area = 10949.00000, perimeter = 414.27399, major_axis_length = 168.06389, minor_axis_length = 84.03284, eccentricity = 0.86602, convex_area = 11192.00000, extent = 0.61580, type = O + area = 10037.00000, perimeter = 395.34000, major_axis_length = 164.24315, minor_axis_length = 78.49976, eccentricity = 0.87839, convex_area = 10210.00000, extent = 0.76490, type = O + area = 14124.00000, perimeter = 486.59100, major_axis_length = 202.96083, minor_axis_length = 89.87580, eccentricity = 0.89661, convex_area = 14576.00000, extent = 0.70272, type = C + area = 13500.00000, perimeter = 476.91501, major_axis_length = 202.54668, minor_axis_length = 85.40547, eccentricity = 0.90675, convex_area = 13800.00000, extent = 0.71770, type = C + area = 14275.00000, perimeter = 485.78799, major_axis_length = 206.46191, minor_axis_length = 88.92574, eccentricity = 0.90249, convex_area = 14469.00000, extent = 0.54756, type = C + area = 11910.00000, perimeter = 434.73801, major_axis_length = 178.36728, minor_axis_length = 86.32252, eccentricity = 0.87509, convex_area = 12118.00000, extent = 0.79163, type = O + area = 12287.00000, perimeter = 444.17499, major_axis_length = 181.92105, minor_axis_length = 87.73918, eccentricity = 0.87601, convex_area = 12508.00000, extent = 0.65374, type = O + area = 12281.00000, perimeter = 442.11099, major_axis_length = 177.95753, minor_axis_length = 89.70896, eccentricity = 0.86364, convex_area = 12666.00000, extent = 0.59907, type = O + area = 13217.00000, perimeter = 471.75101, major_axis_length = 194.13132, minor_axis_length = 88.09218, eccentricity = 0.89112, convex_area = 13520.00000, extent = 0.57209, type = O + area = 10787.00000, perimeter = 401.25500, major_axis_length = 160.01788, minor_axis_length = 86.63780, eccentricity = 0.84075, convex_area = 11010.00000, extent = 0.65835, type = O + area = 12237.00000, perimeter = 432.39001, major_axis_length = 169.64680, minor_axis_length = 93.41069, eccentricity = 0.83476, convex_area = 12577.00000, extent = 0.70457, type = O + area = 14641.00000, perimeter = 505.00201, major_axis_length = 211.58365, minor_axis_length = 90.03343, eccentricity = 0.90495, convex_area = 15034.00000, extent = 0.62956, type = C + area = 16436.00000, perimeter = 529.86298, major_axis_length = 230.93105, minor_axis_length = 91.06519, eccentricity = 0.91896, convex_area = 16648.00000, extent = 0.63410, type = C + area = 14313.00000, perimeter = 482.97501, major_axis_length = 204.72008, minor_axis_length = 89.78699, eccentricity = 0.89869, convex_area = 14622.00000, extent = 0.57330, type = C + area = 13183.00000, perimeter = 462.73199, major_axis_length = 190.42670, minor_axis_length = 89.31358, eccentricity = 0.88319, convex_area = 13493.00000, extent = 0.68812, type = O + area = 10151.00000, perimeter = 420.89999, major_axis_length = 181.99557, minor_axis_length = 72.09951, eccentricity = 0.91818, convex_area = 10407.00000, extent = 0.52163, type = O + area = 12720.00000, perimeter = 449.62399, major_axis_length = 178.61478, minor_axis_length = 92.75169, eccentricity = 0.85460, convex_area = 13095.00000, extent = 0.74386, type = C + area = 11639.00000, perimeter = 428.31201, major_axis_length = 172.37148, minor_axis_length = 87.17017, eccentricity = 0.86270, convex_area = 11836.00000, extent = 0.70694, type = O + area = 13569.00000, perimeter = 490.54199, major_axis_length = 209.84949, minor_axis_length = 83.40636, eccentricity = 0.91762, convex_area = 14061.00000, extent = 0.53004, type = C + area = 14031.00000, perimeter = 494.26501, major_axis_length = 213.70952, minor_axis_length = 84.46609, eccentricity = 0.91858, convex_area = 14265.00000, extent = 0.73886, type = C + area = 14658.00000, perimeter = 486.17899, major_axis_length = 201.88654, minor_axis_length = 93.20777, eccentricity = 0.88704, convex_area = 14892.00000, extent = 0.64830, type = C + area = 10910.00000, perimeter = 413.09500, major_axis_length = 165.88043, minor_axis_length = 85.08663, eccentricity = 0.85842, convex_area = 11243.00000, extent = 0.70771, type = O + area = 14954.00000, perimeter = 501.85699, major_axis_length = 212.03777, minor_axis_length = 90.79552, eccentricity = 0.90368, convex_area = 15225.00000, extent = 0.81462, type = C + area = 14805.00000, perimeter = 499.63699, major_axis_length = 214.28244, minor_axis_length = 89.17409, eccentricity = 0.90930, convex_area = 15090.00000, extent = 0.57679, type = C + area = 11332.00000, perimeter = 427.32401, major_axis_length = 175.54056, minor_axis_length = 83.60845, eccentricity = 0.87929, convex_area = 11563.00000, extent = 0.59542, type = O + area = 7551.00000, perimeter = 369.06400, major_axis_length = 163.40883, minor_axis_length = 59.53241, eccentricity = 0.93128, convex_area = 7723.00000, extent = 0.75646, type = O + area = 12647.00000, perimeter = 451.05600, major_axis_length = 180.34435, minor_axis_length = 91.42809, eccentricity = 0.86197, convex_area = 13120.00000, extent = 0.65860, type = O + area = 13589.00000, perimeter = 479.83600, major_axis_length = 201.71178, minor_axis_length = 87.16551, eccentricity = 0.90181, convex_area = 13908.00000, extent = 0.58934, type = O + area = 12440.00000, perimeter = 434.80499, major_axis_length = 173.39279, minor_axis_length = 92.69048, eccentricity = 0.84512, convex_area = 12716.00000, extent = 0.68034, type = O + area = 10304.00000, perimeter = 416.56100, major_axis_length = 174.27423, minor_axis_length = 76.18439, eccentricity = 0.89939, convex_area = 10541.00000, extent = 0.61224, type = O + area = 12749.00000, perimeter = 443.43701, major_axis_length = 177.17320, minor_axis_length = 92.91598, eccentricity = 0.85145, convex_area = 13028.00000, extent = 0.74010, type = O + area = 12036.00000, perimeter = 436.15500, major_axis_length = 177.33658, minor_axis_length = 87.97986, eccentricity = 0.86826, convex_area = 12353.00000, extent = 0.61543, type = O + area = 14106.00000, perimeter = 487.25201, major_axis_length = 209.56938, minor_axis_length = 86.55520, eccentricity = 0.91072, convex_area = 14348.00000, extent = 0.54271, type = C + area = 10610.00000, perimeter = 410.50601, major_axis_length = 171.15617, minor_axis_length = 79.34595, eccentricity = 0.88605, convex_area = 10769.00000, extent = 0.82510, type = C + area = 16283.00000, perimeter = 516.73602, major_axis_length = 217.70950, minor_axis_length = 96.08863, eccentricity = 0.89733, convex_area = 16649.00000, extent = 0.78006, type = C + area = 11281.00000, perimeter = 407.10101, major_axis_length = 160.91008, minor_axis_length = 90.44052, eccentricity = 0.82710, convex_area = 11483.00000, extent = 0.67001, type = O + area = 10651.00000, perimeter = 411.00299, major_axis_length = 167.18010, minor_axis_length = 82.50652, eccentricity = 0.86974, convex_area = 10893.00000, extent = 0.67505, type = O + area = 13637.00000, perimeter = 482.51099, major_axis_length = 205.19894, minor_axis_length = 85.42422, eccentricity = 0.90923, convex_area = 13952.00000, extent = 0.55661, type = C + area = 13507.00000, perimeter = 468.23901, major_axis_length = 197.50925, minor_axis_length = 87.92960, eccentricity = 0.89543, convex_area = 13735.00000, extent = 0.57722, type = C + area = 14482.00000, perimeter = 486.16299, major_axis_length = 201.81453, minor_axis_length = 92.54988, eccentricity = 0.88865, convex_area = 14825.00000, extent = 0.64256, type = C + area = 12291.00000, perimeter = 440.95700, major_axis_length = 186.18777, minor_axis_length = 84.68074, eccentricity = 0.89059, convex_area = 12476.00000, extent = 0.73017, type = C + area = 10972.00000, perimeter = 425.39999, major_axis_length = 178.52016, minor_axis_length = 78.78365, eccentricity = 0.89735, convex_area = 11192.00000, extent = 0.72094, type = O + area = 13054.00000, perimeter = 478.45300, major_axis_length = 203.21964, minor_axis_length = 83.08085, eccentricity = 0.91261, convex_area = 13329.00000, extent = 0.79988, type = O + area = 12292.00000, perimeter = 457.28601, major_axis_length = 194.88832, minor_axis_length = 80.99094, eccentricity = 0.90956, convex_area = 12561.00000, extent = 0.56383, type = C + area = 11675.00000, perimeter = 429.13000, major_axis_length = 173.41820, minor_axis_length = 86.83406, eccentricity = 0.86561, convex_area = 11888.00000, extent = 0.73734, type = O + area = 15460.00000, perimeter = 507.07700, major_axis_length = 213.57233, minor_axis_length = 93.55610, eccentricity = 0.89895, convex_area = 15819.00000, extent = 0.58221, type = C + area = 12323.00000, perimeter = 438.65302, major_axis_length = 174.60475, minor_axis_length = 91.00725, eccentricity = 0.85342, convex_area = 12504.00000, extent = 0.61566, type = O + area = 15373.00000, perimeter = 489.13101, major_axis_length = 200.14091, minor_axis_length = 98.96591, eccentricity = 0.86919, convex_area = 15617.00000, extent = 0.77641, type = C + area = 13387.00000, perimeter = 458.95599, major_axis_length = 180.40082, minor_axis_length = 95.74206, eccentricity = 0.84755, convex_area = 13653.00000, extent = 0.63296, type = O + area = 16067.00000, perimeter = 526.42499, major_axis_length = 228.94226, minor_axis_length = 90.14622, eccentricity = 0.91922, convex_area = 16370.00000, extent = 0.55586, type = C + area = 10917.00000, perimeter = 420.91101, major_axis_length = 176.43095, minor_axis_length = 80.17513, eccentricity = 0.89078, convex_area = 11128.00000, extent = 0.65908, type = O + area = 13871.00000, perimeter = 496.57901, major_axis_length = 212.57080, minor_axis_length = 83.77424, eccentricity = 0.91907, convex_area = 14344.00000, extent = 0.52782, type = C + area = 12232.00000, perimeter = 440.40302, major_axis_length = 175.67868, minor_axis_length = 90.06195, eccentricity = 0.85860, convex_area = 12525.00000, extent = 0.77251, type = O + area = 15301.00000, perimeter = 515.52698, major_axis_length = 220.29213, minor_axis_length = 89.46645, eccentricity = 0.91382, convex_area = 15690.00000, extent = 0.53767, type = C + area = 12358.00000, perimeter = 447.17401, major_axis_length = 183.46461, minor_axis_length = 87.74208, eccentricity = 0.87822, convex_area = 12586.00000, extent = 0.58458, type = O + area = 12536.00000, perimeter = 460.28400, major_axis_length = 195.99370, minor_axis_length = 82.31515, eccentricity = 0.90753, convex_area = 12778.00000, extent = 0.64806, type = O + area = 15072.00000, perimeter = 511.17599, major_axis_length = 221.78210, minor_axis_length = 87.38173, eccentricity = 0.91911, convex_area = 15392.00000, extent = 0.55088, type = C + area = 13799.00000, perimeter = 454.74100, major_axis_length = 184.86827, minor_axis_length = 95.91586, eccentricity = 0.85488, convex_area = 13965.00000, extent = 0.62180, type = O + area = 13010.00000, perimeter = 463.41901, major_axis_length = 194.76756, minor_axis_length = 86.11577, eccentricity = 0.89694, convex_area = 13349.00000, extent = 0.77695, type = O + area = 12019.00000, perimeter = 442.11200, major_axis_length = 183.98193, minor_axis_length = 84.30915, eccentricity = 0.88882, convex_area = 12290.00000, extent = 0.58007, type = O + area = 13002.00000, perimeter = 465.17999, major_axis_length = 191.29665, minor_axis_length = 87.92190, eccentricity = 0.88812, convex_area = 13345.00000, extent = 0.73574, type = O + area = 12347.00000, perimeter = 438.80600, major_axis_length = 181.89268, minor_axis_length = 86.87766, eccentricity = 0.87856, convex_area = 12529.00000, extent = 0.80657, type = C + area = 14204.00000, perimeter = 482.17001, major_axis_length = 201.07388, minor_axis_length = 91.09084, eccentricity = 0.89150, convex_area = 14523.00000, extent = 0.61601, type = C + area = 13414.00000, perimeter = 480.28799, major_axis_length = 199.48291, minor_axis_length = 86.84286, eccentricity = 0.90027, convex_area = 13933.00000, extent = 0.55505, type = C + area = 11730.00000, perimeter = 429.82199, major_axis_length = 176.97292, minor_axis_length = 85.21745, eccentricity = 0.87643, convex_area = 11900.00000, extent = 0.59513, type = O + area = 12299.00000, perimeter = 437.13199, major_axis_length = 175.00462, minor_axis_length = 91.06096, eccentricity = 0.85396, convex_area = 12551.00000, extent = 0.62343, type = O + area = 12142.00000, perimeter = 443.51501, major_axis_length = 177.74475, minor_axis_length = 88.19751, eccentricity = 0.86821, convex_area = 12459.00000, extent = 0.61563, type = O + area = 15790.00000, perimeter = 516.47998, major_axis_length = 218.42590, minor_axis_length = 92.93594, eccentricity = 0.90497, convex_area = 16197.00000, extent = 0.75015, type = C + area = 10574.00000, perimeter = 411.11899, major_axis_length = 170.14017, minor_axis_length = 79.77427, eccentricity = 0.88327, convex_area = 10782.00000, extent = 0.68707, type = O + area = 11831.00000, perimeter = 428.70099, major_axis_length = 167.41664, minor_axis_length = 92.25314, eccentricity = 0.83448, convex_area = 12116.00000, extent = 0.77327, type = O + area = 11264.00000, perimeter = 423.39099, major_axis_length = 172.13951, minor_axis_length = 84.22161, eccentricity = 0.87214, convex_area = 11476.00000, extent = 0.73243, type = O + area = 15929.00000, perimeter = 513.94000, major_axis_length = 212.65752, minor_axis_length = 96.99799, eccentricity = 0.88992, convex_area = 16293.00000, extent = 0.72586, type = C + area = 11682.00000, perimeter = 437.04001, major_axis_length = 176.23099, minor_axis_length = 86.32249, eccentricity = 0.87182, convex_area = 11969.00000, extent = 0.58119, type = O + area = 11964.00000, perimeter = 447.50601, major_axis_length = 191.44385, minor_axis_length = 80.27491, eccentricity = 0.90784, convex_area = 12166.00000, extent = 0.75468, type = O + area = 14747.00000, perimeter = 501.76599, major_axis_length = 213.74219, minor_axis_length = 88.58164, eccentricity = 0.91008, convex_area = 15070.00000, extent = 0.76441, type = C + area = 11952.00000, perimeter = 443.49100, major_axis_length = 181.76826, minor_axis_length = 85.32751, eccentricity = 0.88297, convex_area = 12224.00000, extent = 0.59013, type = O + area = 12763.00000, perimeter = 454.90201, major_axis_length = 185.22537, minor_axis_length = 89.68470, eccentricity = 0.87496, convex_area = 13081.00000, extent = 0.62271, type = O + area = 11569.00000, perimeter = 433.01300, major_axis_length = 183.72031, minor_axis_length = 80.48042, eccentricity = 0.89895, convex_area = 11734.00000, extent = 0.61037, type = O + area = 12518.00000, perimeter = 473.38400, major_axis_length = 203.92206, minor_axis_length = 80.00767, eccentricity = 0.91982, convex_area = 12778.00000, extent = 0.68033, type = C + area = 17180.00000, perimeter = 547.21503, major_axis_length = 238.43509, minor_axis_length = 93.01495, eccentricity = 0.92077, convex_area = 17517.00000, extent = 0.57221, type = C + area = 15071.00000, perimeter = 494.13501, major_axis_length = 200.59483, minor_axis_length = 97.39329, eccentricity = 0.87422, convex_area = 15575.00000, extent = 0.68921, type = C + area = 16513.00000, perimeter = 525.98401, major_axis_length = 219.27544, minor_axis_length = 97.95169, eccentricity = 0.89468, convex_area = 16950.00000, extent = 0.61015, type = C + area = 10442.00000, perimeter = 407.28201, major_axis_length = 166.14153, minor_axis_length = 81.03928, eccentricity = 0.87297, convex_area = 10668.00000, extent = 0.65623, type = O + area = 14729.00000, perimeter = 496.93900, major_axis_length = 209.52042, minor_axis_length = 90.88716, eccentricity = 0.90102, convex_area = 15131.00000, extent = 0.61208, type = C + area = 13479.00000, perimeter = 477.01599, major_axis_length = 200.05305, minor_axis_length = 86.65029, eccentricity = 0.90133, convex_area = 13786.00000, extent = 0.65790, type = C + area = 15385.00000, perimeter = 505.57800, major_axis_length = 211.73012, minor_axis_length = 94.12325, eccentricity = 0.89576, convex_area = 15726.00000, extent = 0.58791, type = C + area = 10612.00000, perimeter = 413.85599, major_axis_length = 169.87917, minor_axis_length = 80.89677, eccentricity = 0.87934, convex_area = 10924.00000, extent = 0.67199, type = O + area = 12758.00000, perimeter = 456.63800, major_axis_length = 190.36832, minor_axis_length = 86.16264, eccentricity = 0.89171, convex_area = 13177.00000, extent = 0.70335, type = C + area = 11212.00000, perimeter = 413.56601, major_axis_length = 169.67810, minor_axis_length = 84.63475, eccentricity = 0.86672, convex_area = 11400.00000, extent = 0.80889, type = O + area = 13503.00000, perimeter = 477.24399, major_axis_length = 201.17171, minor_axis_length = 87.36242, eccentricity = 0.90078, convex_area = 13743.00000, extent = 0.56319, type = C + area = 15113.00000, perimeter = 493.73801, major_axis_length = 206.56613, minor_axis_length = 94.19137, eccentricity = 0.88999, convex_area = 15374.00000, extent = 0.65904, type = C + area = 13870.00000, perimeter = 484.12701, major_axis_length = 203.41826, minor_axis_length = 88.50323, eccentricity = 0.90039, convex_area = 14266.00000, extent = 0.75652, type = C + area = 14720.00000, perimeter = 494.86200, major_axis_length = 207.09271, minor_axis_length = 91.49889, eccentricity = 0.89710, convex_area = 15071.00000, extent = 0.70400, type = C + area = 12091.00000, perimeter = 463.35101, major_axis_length = 203.59439, minor_axis_length = 76.65411, eccentricity = 0.92641, convex_area = 12298.00000, extent = 0.79306, type = C + area = 14470.00000, perimeter = 489.78601, major_axis_length = 207.36266, minor_axis_length = 89.81264, eccentricity = 0.90134, convex_area = 14724.00000, extent = 0.61962, type = C + area = 15164.00000, perimeter = 501.65201, major_axis_length = 212.15840, minor_axis_length = 92.44685, eccentricity = 0.90007, convex_area = 15461.00000, extent = 0.70106, type = C + area = 10346.00000, perimeter = 402.58099, major_axis_length = 167.27846, minor_axis_length = 79.82422, eccentricity = 0.87880, convex_area = 10479.00000, extent = 0.58972, type = O + area = 11656.00000, perimeter = 434.39600, major_axis_length = 175.59007, minor_axis_length = 85.71838, eccentricity = 0.87275, convex_area = 11955.00000, extent = 0.59518, type = O + area = 13014.00000, perimeter = 459.55701, major_axis_length = 193.65952, minor_axis_length = 86.19819, eccentricity = 0.89548, convex_area = 13253.00000, extent = 0.67507, type = C + area = 13895.00000, perimeter = 488.25299, major_axis_length = 207.03448, minor_axis_length = 86.16099, eccentricity = 0.90929, convex_area = 14228.00000, extent = 0.78291, type = C + area = 11279.00000, perimeter = 426.21201, major_axis_length = 168.40247, minor_axis_length = 86.92973, eccentricity = 0.85647, convex_area = 11651.00000, extent = 0.66090, type = O + area = 9711.00000, perimeter = 396.46899, major_axis_length = 166.69046, minor_axis_length = 74.74411, eccentricity = 0.89383, convex_area = 9859.00000, extent = 0.58783, type = O + area = 14999.00000, perimeter = 498.54099, major_axis_length = 213.50803, minor_axis_length = 90.10974, eccentricity = 0.90658, convex_area = 15295.00000, extent = 0.79871, type = C + area = 10617.00000, perimeter = 425.47501, major_axis_length = 180.49881, minor_axis_length = 76.52988, eccentricity = 0.90567, convex_area = 10911.00000, extent = 0.77181, type = O + area = 14469.00000, perimeter = 484.46701, major_axis_length = 204.24918, minor_axis_length = 90.72005, eccentricity = 0.89595, convex_area = 14701.00000, extent = 0.65873, type = C + area = 11694.00000, perimeter = 432.97699, major_axis_length = 181.48441, minor_axis_length = 82.97145, eccentricity = 0.88937, convex_area = 11893.00000, extent = 0.76391, type = C + area = 14369.00000, perimeter = 491.04401, major_axis_length = 207.94737, minor_axis_length = 89.12215, eccentricity = 0.90350, convex_area = 14679.00000, extent = 0.60399, type = C + area = 12193.00000, perimeter = 436.28500, major_axis_length = 182.62729, minor_axis_length = 85.25561, eccentricity = 0.88435, convex_area = 12336.00000, extent = 0.68308, type = O + area = 12326.00000, perimeter = 444.06699, major_axis_length = 181.01143, minor_axis_length = 87.66717, eccentricity = 0.87489, convex_area = 12597.00000, extent = 0.67080, type = O + area = 14461.00000, perimeter = 483.56601, major_axis_length = 202.35306, minor_axis_length = 91.65204, eccentricity = 0.89155, convex_area = 14718.00000, extent = 0.74541, type = C + area = 10829.00000, perimeter = 404.75101, major_axis_length = 160.11789, minor_axis_length = 87.50862, eccentricity = 0.83744, convex_area = 11138.00000, extent = 0.72145, type = O + area = 11671.00000, perimeter = 430.23999, major_axis_length = 177.18015, minor_axis_length = 84.81886, eccentricity = 0.87797, convex_area = 11895.00000, extent = 0.67462, type = O + area = 12563.00000, perimeter = 457.36301, major_axis_length = 183.51143, minor_axis_length = 88.70047, eccentricity = 0.87543, convex_area = 12877.00000, extent = 0.59349, type = O + area = 11016.00000, perimeter = 416.89700, major_axis_length = 174.62755, minor_axis_length = 81.19022, eccentricity = 0.88535, convex_area = 11149.00000, extent = 0.58696, type = O + area = 12279.00000, perimeter = 441.22800, major_axis_length = 180.48395, minor_axis_length = 88.03798, eccentricity = 0.87296, convex_area = 12525.00000, extent = 0.59647, type = O + area = 9487.00000, perimeter = 394.28000, major_axis_length = 165.93575, minor_axis_length = 73.33004, eccentricity = 0.89706, convex_area = 9659.00000, extent = 0.72298, type = O + area = 12219.00000, perimeter = 436.20599, major_axis_length = 179.43591, minor_axis_length = 87.93397, eccentricity = 0.87169, convex_area = 12434.00000, extent = 0.60341, type = O + area = 12031.00000, perimeter = 446.98999, major_axis_length = 178.58965, minor_axis_length = 88.84149, eccentricity = 0.86749, convex_area = 12425.00000, extent = 0.58045, type = O + area = 10499.00000, perimeter = 403.27802, major_axis_length = 162.45734, minor_axis_length = 83.75512, eccentricity = 0.85686, convex_area = 10749.00000, extent = 0.74493, type = O + area = 10312.00000, perimeter = 398.79501, major_axis_length = 163.54231, minor_axis_length = 80.67045, eccentricity = 0.86988, convex_area = 10507.00000, extent = 0.80575, type = O + area = 13415.00000, perimeter = 470.35501, major_axis_length = 197.02994, minor_axis_length = 87.65263, eccentricity = 0.89560, convex_area = 13629.00000, extent = 0.58225, type = C + area = 10915.00000, perimeter = 419.58600, major_axis_length = 171.54233, minor_axis_length = 82.83171, eccentricity = 0.87570, convex_area = 11246.00000, extent = 0.78345, type = O + area = 15593.00000, perimeter = 512.42798, major_axis_length = 216.61571, minor_axis_length = 92.91002, eccentricity = 0.90334, convex_area = 16050.00000, extent = 0.77747, type = C + area = 12386.00000, perimeter = 467.85001, major_axis_length = 201.90131, minor_axis_length = 79.30883, eccentricity = 0.91962, convex_area = 12679.00000, extent = 0.79184, type = C + area = 14870.00000, perimeter = 506.56100, major_axis_length = 214.93123, minor_axis_length = 89.40025, eccentricity = 0.90939, convex_area = 15202.00000, extent = 0.57973, type = C + area = 11322.00000, perimeter = 415.88599, major_axis_length = 169.72362, minor_axis_length = 85.80435, eccentricity = 0.86280, convex_area = 11512.00000, extent = 0.61426, type = O + area = 12148.00000, perimeter = 434.30701, major_axis_length = 177.47769, minor_axis_length = 88.51750, eccentricity = 0.86674, convex_area = 12437.00000, extent = 0.75505, type = O + area = 15204.00000, perimeter = 510.48700, major_axis_length = 216.31686, minor_axis_length = 90.85395, eccentricity = 0.90752, convex_area = 15535.00000, extent = 0.56211, type = C + area = 10574.00000, perimeter = 415.95700, major_axis_length = 172.70430, minor_axis_length = 78.68140, eccentricity = 0.89019, convex_area = 10831.00000, extent = 0.67277, type = O + area = 13425.00000, perimeter = 477.19800, major_axis_length = 199.75636, minor_axis_length = 86.64097, eccentricity = 0.90104, convex_area = 13784.00000, extent = 0.61167, type = C + area = 8499.00000, perimeter = 370.44601, major_axis_length = 156.07228, minor_axis_length = 70.63036, eccentricity = 0.89174, convex_area = 8648.00000, extent = 0.76156, type = O + area = 10462.00000, perimeter = 415.77399, major_axis_length = 169.77206, minor_axis_length = 80.69160, eccentricity = 0.87983, convex_area = 10789.00000, extent = 0.74585, type = O + area = 11893.00000, perimeter = 435.28299, major_axis_length = 176.65935, minor_axis_length = 87.10894, eccentricity = 0.86998, convex_area = 12243.00000, extent = 0.77232, type = O + area = 12712.00000, perimeter = 470.56201, major_axis_length = 202.19714, minor_axis_length = 81.30088, eccentricity = 0.91560, convex_area = 13053.00000, extent = 0.81487, type = C + area = 10895.00000, perimeter = 411.59000, major_axis_length = 167.44122, minor_axis_length = 84.25878, eccentricity = 0.86416, convex_area = 11155.00000, extent = 0.68626, type = O + area = 9762.00000, perimeter = 397.24899, major_axis_length = 161.86630, minor_axis_length = 78.29550, eccentricity = 0.87523, convex_area = 10126.00000, extent = 0.74862, type = O + area = 11774.00000, perimeter = 447.93301, major_axis_length = 186.01793, minor_axis_length = 81.67400, eccentricity = 0.89846, convex_area = 12103.00000, extent = 0.56003, type = C + area = 16005.00000, perimeter = 518.89301, major_axis_length = 221.21553, minor_axis_length = 93.13296, eccentricity = 0.90706, convex_area = 16343.00000, extent = 0.55104, type = C + area = 14734.00000, perimeter = 507.28400, major_axis_length = 217.82445, minor_axis_length = 86.65876, eccentricity = 0.91746, convex_area = 15039.00000, extent = 0.68137, type = C + area = 12023.00000, perimeter = 442.33499, major_axis_length = 181.17674, minor_axis_length = 85.41496, eccentricity = 0.88190, convex_area = 12282.00000, extent = 0.60130, type = O + area = 14283.00000, perimeter = 482.69800, major_axis_length = 202.36563, minor_axis_length = 90.61389, eccentricity = 0.89415, convex_area = 14595.00000, extent = 0.63650, type = C + area = 11699.00000, perimeter = 434.89200, major_axis_length = 178.22969, minor_axis_length = 85.45215, eccentricity = 0.87757, convex_area = 12005.00000, extent = 0.58893, type = O + area = 14385.00000, perimeter = 496.97800, major_axis_length = 214.26955, minor_axis_length = 86.03324, eccentricity = 0.91585, convex_area = 14604.00000, extent = 0.77627, type = C + area = 12637.00000, perimeter = 455.29099, major_axis_length = 187.80650, minor_axis_length = 86.84584, eccentricity = 0.88666, convex_area = 12958.00000, extent = 0.61734, type = O + area = 13410.00000, perimeter = 477.08499, major_axis_length = 195.79893, minor_axis_length = 88.77675, eccentricity = 0.89130, convex_area = 13842.00000, extent = 0.57234, type = C + area = 12981.00000, perimeter = 449.61700, major_axis_length = 177.62296, minor_axis_length = 94.24237, eccentricity = 0.84764, convex_area = 13389.00000, extent = 0.65146, type = O + area = 14732.00000, perimeter = 497.69400, major_axis_length = 207.46820, minor_axis_length = 91.29447, eccentricity = 0.89798, convex_area = 15000.00000, extent = 0.58037, type = C + area = 11915.00000, perimeter = 433.28400, major_axis_length = 178.52290, minor_axis_length = 86.50726, eccentricity = 0.87475, convex_area = 12101.00000, extent = 0.62631, type = O + area = 15026.00000, perimeter = 504.47198, major_axis_length = 212.47598, minor_axis_length = 91.13345, eccentricity = 0.90335, convex_area = 15285.00000, extent = 0.72240, type = C + area = 13839.00000, perimeter = 481.58801, major_axis_length = 201.34279, minor_axis_length = 88.88830, eccentricity = 0.89727, convex_area = 14165.00000, extent = 0.71694, type = C + area = 11166.00000, perimeter = 419.43301, major_axis_length = 171.46439, minor_axis_length = 84.32466, eccentricity = 0.87071, convex_area = 11437.00000, extent = 0.60435, type = O + area = 15166.00000, perimeter = 502.16501, major_axis_length = 214.13986, minor_axis_length = 91.38511, eccentricity = 0.90437, convex_area = 15475.00000, extent = 0.79486, type = C + area = 12010.00000, perimeter = 428.14001, major_axis_length = 171.22218, minor_axis_length = 90.10307, eccentricity = 0.85034, convex_area = 12222.00000, extent = 0.66574, type = O + area = 13584.00000, perimeter = 478.53699, major_axis_length = 204.62065, minor_axis_length = 84.80614, eccentricity = 0.91007, convex_area = 13817.00000, extent = 0.67602, type = C + area = 14747.00000, perimeter = 494.94199, major_axis_length = 209.20590, minor_axis_length = 90.64754, eccentricity = 0.90125, convex_area = 15124.00000, extent = 0.55603, type = C + area = 15815.00000, perimeter = 506.29001, major_axis_length = 210.50458, minor_axis_length = 96.50236, eccentricity = 0.88873, convex_area = 16112.00000, extent = 0.79584, type = C + area = 14528.00000, perimeter = 475.44800, major_axis_length = 192.19856, minor_axis_length = 97.41743, eccentricity = 0.86203, convex_area = 14795.00000, extent = 0.62949, type = C + area = 12256.00000, perimeter = 470.10800, major_axis_length = 207.98006, minor_axis_length = 75.71490, eccentricity = 0.93138, convex_area = 12541.00000, extent = 0.73831, type = C + area = 15856.00000, perimeter = 509.01999, major_axis_length = 210.16438, minor_axis_length = 97.76022, eccentricity = 0.88523, convex_area = 16160.00000, extent = 0.76267, type = C + area = 12736.00000, perimeter = 447.87000, major_axis_length = 182.77118, minor_axis_length = 89.68171, eccentricity = 0.87134, convex_area = 12964.00000, extent = 0.75272, type = C + area = 15065.00000, perimeter = 506.82001, major_axis_length = 212.43690, minor_axis_length = 91.37028, eccentricity = 0.90278, convex_area = 15516.00000, extent = 0.72463, type = C + area = 11479.00000, perimeter = 421.07501, major_axis_length = 171.34761, minor_axis_length = 85.80914, eccentricity = 0.86557, convex_area = 11677.00000, extent = 0.79910, type = O + area = 11200.00000, perimeter = 428.16699, major_axis_length = 176.10751, minor_axis_length = 82.36244, eccentricity = 0.88390, convex_area = 11424.00000, extent = 0.58425, type = O + area = 15269.00000, perimeter = 519.76599, major_axis_length = 222.41956, minor_axis_length = 88.28183, eccentricity = 0.91786, convex_area = 15620.00000, extent = 0.56575, type = C + area = 14143.00000, perimeter = 481.90799, major_axis_length = 199.99072, minor_axis_length = 91.09356, eccentricity = 0.89024, convex_area = 14450.00000, extent = 0.58423, type = C + area = 10213.00000, perimeter = 430.04401, major_axis_length = 187.31439, minor_axis_length = 69.94136, eccentricity = 0.92767, convex_area = 10392.00000, extent = 0.56344, type = O + area = 10943.00000, perimeter = 412.06100, major_axis_length = 169.89026, minor_axis_length = 82.82930, eccentricity = 0.87310, convex_area = 11132.00000, extent = 0.74140, type = O + area = 10578.00000, perimeter = 414.62000, major_axis_length = 167.75192, minor_axis_length = 81.58570, eccentricity = 0.87377, convex_area = 10899.00000, extent = 0.60397, type = O + area = 10727.00000, perimeter = 425.90201, major_axis_length = 178.71443, minor_axis_length = 77.53144, eccentricity = 0.90100, convex_area = 10960.00000, extent = 0.56434, type = C + area = 13099.00000, perimeter = 453.36600, major_axis_length = 180.98264, minor_axis_length = 93.60397, eccentricity = 0.85587, convex_area = 13377.00000, extent = 0.62732, type = O + area = 13241.00000, perimeter = 466.98999, major_axis_length = 193.54422, minor_axis_length = 88.05835, eccentricity = 0.89050, convex_area = 13577.00000, extent = 0.57765, type = C + area = 11881.00000, perimeter = 424.26801, major_axis_length = 171.05518, minor_axis_length = 89.53734, eccentricity = 0.85206, convex_area = 12060.00000, extent = 0.77255, type = O + area = 11003.00000, perimeter = 417.05899, major_axis_length = 168.23433, minor_axis_length = 85.01897, eccentricity = 0.86291, convex_area = 11270.00000, extent = 0.61128, type = O + area = 14560.00000, perimeter = 487.12900, major_axis_length = 200.73952, minor_axis_length = 93.22659, eccentricity = 0.88562, convex_area = 14867.00000, extent = 0.67345, type = C + area = 12387.00000, perimeter = 449.13599, major_axis_length = 185.40276, minor_axis_length = 86.05038, eccentricity = 0.88577, convex_area = 12662.00000, extent = 0.71643, type = O + area = 13399.00000, perimeter = 490.56000, major_axis_length = 209.36595, minor_axis_length = 82.76702, eccentricity = 0.91854, convex_area = 13654.00000, extent = 0.51710, type = C + area = 14988.00000, perimeter = 499.35501, major_axis_length = 212.26198, minor_axis_length = 90.98808, eccentricity = 0.90347, convex_area = 15245.00000, extent = 0.58869, type = C + area = 11584.00000, perimeter = 431.35800, major_axis_length = 170.82942, minor_axis_length = 87.87009, eccentricity = 0.85757, convex_area = 11897.00000, extent = 0.61356, type = O + area = 12008.00000, perimeter = 433.23401, major_axis_length = 184.12741, minor_axis_length = 83.70604, eccentricity = 0.89069, convex_area = 12129.00000, extent = 0.64403, type = O + area = 15151.00000, perimeter = 496.19299, major_axis_length = 207.93149, minor_axis_length = 93.96302, eccentricity = 0.89207, convex_area = 15547.00000, extent = 0.76140, type = C + area = 14619.00000, perimeter = 493.52399, major_axis_length = 209.53288, minor_axis_length = 89.80801, eccentricity = 0.90349, convex_area = 14973.00000, extent = 0.61231, type = C + area = 14831.00000, perimeter = 493.76099, major_axis_length = 208.26854, minor_axis_length = 91.54232, eccentricity = 0.89822, convex_area = 15099.00000, extent = 0.79023, type = C + area = 16254.00000, perimeter = 532.77802, major_axis_length = 223.54863, minor_axis_length = 94.11950, eccentricity = 0.90705, convex_area = 16680.00000, extent = 0.55369, type = C + area = 9598.00000, perimeter = 397.00000, major_axis_length = 172.00679, minor_axis_length = 72.28365, eccentricity = 0.90741, convex_area = 9766.00000, extent = 0.79685, type = O + area = 15306.00000, perimeter = 524.68500, major_axis_length = 227.78186, minor_axis_length = 87.04253, eccentricity = 0.92411, convex_area = 15837.00000, extent = 0.51251, type = C + area = 11353.00000, perimeter = 418.75601, major_axis_length = 169.48007, minor_axis_length = 86.20268, eccentricity = 0.86099, convex_area = 11510.00000, extent = 0.62297, type = O + area = 15147.00000, perimeter = 510.01599, major_axis_length = 213.15617, minor_axis_length = 91.69269, eccentricity = 0.90275, convex_area = 15719.00000, extent = 0.58874, type = C + area = 10719.00000, perimeter = 418.67001, major_axis_length = 175.00836, minor_axis_length = 78.83108, eccentricity = 0.89281, convex_area = 10983.00000, extent = 0.63690, type = O + area = 13913.00000, perimeter = 493.60699, major_axis_length = 212.98547, minor_axis_length = 83.99135, eccentricity = 0.91896, convex_area = 14218.00000, extent = 0.57213, type = C + area = 11114.00000, perimeter = 413.07901, major_axis_length = 170.09941, minor_axis_length = 84.00699, eccentricity = 0.86954, convex_area = 11293.00000, extent = 0.76040, type = O + area = 11359.00000, perimeter = 441.36600, major_axis_length = 185.19771, minor_axis_length = 78.98223, eccentricity = 0.90450, convex_area = 11755.00000, extent = 0.58073, type = C + area = 13196.00000, perimeter = 474.98801, major_axis_length = 199.98131, minor_axis_length = 85.65816, eccentricity = 0.90362, convex_area = 13463.00000, extent = 0.55646, type = C + area = 11264.00000, perimeter = 429.54300, major_axis_length = 177.69373, minor_axis_length = 81.98130, eccentricity = 0.88721, convex_area = 11513.00000, extent = 0.79548, type = O + area = 13056.00000, perimeter = 485.66101, major_axis_length = 205.52965, minor_axis_length = 82.62533, eccentricity = 0.91563, convex_area = 13492.00000, extent = 0.53642, type = O + area = 13644.00000, perimeter = 473.17801, major_axis_length = 200.29051, minor_axis_length = 87.84367, eccentricity = 0.89869, convex_area = 13859.00000, extent = 0.67679, type = C + area = 11511.00000, perimeter = 438.97299, major_axis_length = 182.59438, minor_axis_length = 81.35918, eccentricity = 0.89525, convex_area = 11806.00000, extent = 0.65691, type = O + area = 14523.00000, perimeter = 491.93701, major_axis_length = 205.12512, minor_axis_length = 91.14208, eccentricity = 0.89587, convex_area = 14849.00000, extent = 0.61001, type = C + area = 11814.00000, perimeter = 428.01401, major_axis_length = 175.57938, minor_axis_length = 86.32159, eccentricity = 0.87080, convex_area = 12000.00000, extent = 0.78498, type = O + area = 15418.00000, perimeter = 504.75900, major_axis_length = 209.92400, minor_axis_length = 94.43705, eccentricity = 0.89310, convex_area = 15779.00000, extent = 0.58269, type = C + area = 13560.00000, perimeter = 479.19901, major_axis_length = 197.55803, minor_axis_length = 88.77229, eccentricity = 0.89336, convex_area = 14033.00000, extent = 0.69177, type = C + area = 11080.00000, perimeter = 429.41800, major_axis_length = 175.21588, minor_axis_length = 82.17780, eccentricity = 0.88319, convex_area = 11277.00000, extent = 0.56955, type = O + area = 15368.00000, perimeter = 503.30701, major_axis_length = 209.41850, minor_axis_length = 94.39367, eccentricity = 0.89265, convex_area = 15709.00000, extent = 0.64033, type = C + area = 10519.00000, perimeter = 406.75601, major_axis_length = 169.01904, minor_axis_length = 80.37228, eccentricity = 0.87970, convex_area = 10684.00000, extent = 0.60544, type = O + area = 14918.00000, perimeter = 500.27100, major_axis_length = 210.42461, minor_axis_length = 91.21054, eccentricity = 0.90117, convex_area = 15185.00000, extent = 0.64073, type = C + area = 12921.00000, perimeter = 476.74600, major_axis_length = 206.22263, minor_axis_length = 80.40368, eccentricity = 0.92086, convex_area = 13218.00000, extent = 0.54692, type = C + area = 12213.00000, perimeter = 452.40399, major_axis_length = 192.34183, minor_axis_length = 81.44420, eccentricity = 0.90593, convex_area = 12406.00000, extent = 0.64262, type = O + area = 11741.00000, perimeter = 445.98001, major_axis_length = 184.41626, minor_axis_length = 82.47528, eccentricity = 0.89442, convex_area = 12215.00000, extent = 0.57039, type = O + area = 10664.00000, perimeter = 414.93900, major_axis_length = 168.07909, minor_axis_length = 81.73141, eccentricity = 0.87381, convex_area = 10929.00000, extent = 0.64536, type = O + area = 14413.00000, perimeter = 502.04999, major_axis_length = 211.99164, minor_axis_length = 88.64777, eccentricity = 0.90837, convex_area = 14826.00000, extent = 0.57608, type = C + area = 11671.00000, perimeter = 459.78000, major_axis_length = 199.40321, minor_axis_length = 75.45848, eccentricity = 0.92563, convex_area = 12110.00000, extent = 0.64321, type = C + area = 10685.00000, perimeter = 421.03799, major_axis_length = 172.41818, minor_axis_length = 79.99728, eccentricity = 0.88585, convex_area = 10971.00000, extent = 0.58631, type = O + area = 12318.00000, perimeter = 448.68600, major_axis_length = 187.70100, minor_axis_length = 84.14412, eccentricity = 0.89389, convex_area = 12579.00000, extent = 0.58269, type = C + area = 13921.00000, perimeter = 481.99301, major_axis_length = 203.44487, minor_axis_length = 88.12582, eccentricity = 0.90131, convex_area = 14210.00000, extent = 0.56133, type = C + area = 11239.00000, perimeter = 419.86200, major_axis_length = 170.46190, minor_axis_length = 85.56315, eccentricity = 0.86490, convex_area = 11609.00000, extent = 0.62252, type = O + area = 10828.00000, perimeter = 415.85101, major_axis_length = 167.35628, minor_axis_length = 83.59039, eccentricity = 0.86633, convex_area = 11225.00000, extent = 0.65371, type = O + area = 14646.00000, perimeter = 511.45200, major_axis_length = 220.48257, minor_axis_length = 85.63171, eccentricity = 0.92150, convex_area = 14999.00000, extent = 0.63667, type = C + area = 13858.00000, perimeter = 475.95700, major_axis_length = 205.87390, minor_axis_length = 86.04459, eccentricity = 0.90847, convex_area = 14042.00000, extent = 0.65122, type = C + area = 11273.00000, perimeter = 432.65500, major_axis_length = 185.89279, minor_axis_length = 77.61040, eccentricity = 0.90868, convex_area = 11440.00000, extent = 0.61974, type = O + area = 9908.00000, perimeter = 432.76901, major_axis_length = 188.18768, minor_axis_length = 67.69534, eccentricity = 0.93306, convex_area = 10205.00000, extent = 0.61168, type = C + area = 12956.00000, perimeter = 458.65601, major_axis_length = 187.21146, minor_axis_length = 89.15869, eccentricity = 0.87931, convex_area = 13310.00000, extent = 0.71077, type = O + area = 12205.00000, perimeter = 438.35599, major_axis_length = 174.43573, minor_axis_length = 90.32648, eccentricity = 0.85549, convex_area = 12491.00000, extent = 0.61848, type = O + area = 12507.00000, perimeter = 458.64999, major_axis_length = 184.41704, minor_axis_length = 88.10065, eccentricity = 0.87851, convex_area = 12877.00000, extent = 0.57726, type = O + area = 15655.00000, perimeter = 513.30103, major_axis_length = 216.09900, minor_axis_length = 93.56715, eccentricity = 0.90140, convex_area = 16085.00000, extent = 0.56565, type = C + area = 11883.00000, perimeter = 440.54199, major_axis_length = 187.20535, minor_axis_length = 82.01987, eccentricity = 0.89891, convex_area = 12057.00000, extent = 0.56211, type = O + area = 12384.00000, perimeter = 460.13599, major_axis_length = 190.87038, minor_axis_length = 85.09120, eccentricity = 0.89513, convex_area = 12811.00000, extent = 0.60484, type = C + area = 16505.00000, perimeter = 516.22101, major_axis_length = 212.85310, minor_axis_length = 99.69016, eccentricity = 0.88354, convex_area = 16820.00000, extent = 0.58841, type = C + area = 14622.00000, perimeter = 481.61600, major_axis_length = 200.05356, minor_axis_length = 94.38364, eccentricity = 0.88171, convex_area = 14845.00000, extent = 0.60895, type = C + area = 11861.00000, perimeter = 438.64499, major_axis_length = 177.91551, minor_axis_length = 86.46606, eccentricity = 0.87396, convex_area = 12150.00000, extent = 0.58940, type = O + area = 15547.00000, perimeter = 501.80499, major_axis_length = 208.49918, minor_axis_length = 95.80786, eccentricity = 0.88817, convex_area = 15867.00000, extent = 0.59828, type = C + area = 14850.00000, perimeter = 498.44299, major_axis_length = 213.76128, minor_axis_length = 88.98867, eccentricity = 0.90923, convex_area = 15071.00000, extent = 0.69650, type = C + area = 9776.00000, perimeter = 403.67599, major_axis_length = 170.88005, minor_axis_length = 73.11127, eccentricity = 0.90385, convex_area = 9969.00000, extent = 0.64193, type = O + area = 12482.00000, perimeter = 448.53900, major_axis_length = 185.09004, minor_axis_length = 87.25161, eccentricity = 0.88192, convex_area = 12744.00000, extent = 0.59269, type = O + area = 11123.00000, perimeter = 426.85599, major_axis_length = 181.08180, minor_axis_length = 79.00098, eccentricity = 0.89981, convex_area = 11362.00000, extent = 0.76206, type = O + area = 12269.00000, perimeter = 436.01199, major_axis_length = 177.88475, minor_axis_length = 88.84811, eccentricity = 0.86633, convex_area = 12466.00000, extent = 0.74584, type = O + area = 14840.00000, perimeter = 512.00800, major_axis_length = 220.51431, minor_axis_length = 86.41502, eccentricity = 0.92002, convex_area = 15160.00000, extent = 0.56417, type = C + area = 14333.00000, perimeter = 493.89899, major_axis_length = 207.50995, minor_axis_length = 89.44616, eccentricity = 0.90233, convex_area = 14772.00000, extent = 0.55980, type = C + area = 13321.00000, perimeter = 473.99301, major_axis_length = 199.27257, minor_axis_length = 85.92883, eccentricity = 0.90225, convex_area = 13758.00000, extent = 0.56457, type = C + area = 10810.00000, perimeter = 418.20499, major_axis_length = 173.54800, minor_axis_length = 80.10409, eccentricity = 0.88711, convex_area = 11047.00000, extent = 0.73522, type = O + area = 13237.00000, perimeter = 466.00299, major_axis_length = 197.90480, minor_axis_length = 85.70957, eccentricity = 0.90135, convex_area = 13445.00000, extent = 0.59242, type = C + area = 10950.00000, perimeter = 412.33401, major_axis_length = 166.30606, minor_axis_length = 85.29817, eccentricity = 0.85845, convex_area = 11172.00000, extent = 0.77605, type = O + area = 14897.00000, perimeter = 491.18500, major_axis_length = 205.71985, minor_axis_length = 92.87569, eccentricity = 0.89229, convex_area = 15137.00000, extent = 0.59445, type = C + area = 15982.00000, perimeter = 523.17401, major_axis_length = 220.01500, minor_axis_length = 94.21848, eccentricity = 0.90367, convex_area = 16337.00000, extent = 0.56920, type = C + area = 11295.00000, perimeter = 417.33701, major_axis_length = 174.01994, minor_axis_length = 83.14223, eccentricity = 0.87848, convex_area = 11476.00000, extent = 0.76858, type = O + area = 10509.00000, perimeter = 405.05701, major_axis_length = 166.50410, minor_axis_length = 81.15012, eccentricity = 0.87319, convex_area = 10722.00000, extent = 0.67443, type = O + area = 13059.00000, perimeter = 456.44101, major_axis_length = 185.98201, minor_axis_length = 90.20448, eccentricity = 0.87450, convex_area = 13339.00000, extent = 0.61944, type = C + area = 10557.00000, perimeter = 412.66800, major_axis_length = 168.80858, minor_axis_length = 80.59271, eccentricity = 0.87867, convex_area = 10778.00000, extent = 0.61607, type = O + area = 16259.00000, perimeter = 522.62201, major_axis_length = 215.50919, minor_axis_length = 97.42146, eccentricity = 0.89199, convex_area = 16728.00000, extent = 0.58435, type = C + area = 11621.00000, perimeter = 444.66199, major_axis_length = 188.64220, minor_axis_length = 79.06629, eccentricity = 0.90792, convex_area = 11849.00000, extent = 0.61985, type = O + area = 14485.00000, perimeter = 495.46600, major_axis_length = 212.00166, minor_axis_length = 88.23765, eccentricity = 0.90927, convex_area = 14745.00000, extent = 0.64510, type = C + area = 12461.00000, perimeter = 454.09601, major_axis_length = 191.91452, minor_axis_length = 83.66120, eccentricity = 0.89998, convex_area = 12683.00000, extent = 0.56151, type = C + area = 14911.00000, perimeter = 494.08899, major_axis_length = 207.56024, minor_axis_length = 92.41061, eccentricity = 0.89542, convex_area = 15132.00000, extent = 0.60476, type = C + area = 11912.00000, perimeter = 430.37100, major_axis_length = 177.48221, minor_axis_length = 86.58568, eccentricity = 0.87292, convex_area = 12119.00000, extent = 0.72238, type = O + area = 12942.00000, perimeter = 441.74399, major_axis_length = 175.55925, minor_axis_length = 95.28501, eccentricity = 0.83989, convex_area = 13310.00000, extent = 0.70169, type = O + area = 13487.00000, perimeter = 473.72198, major_axis_length = 197.11966, minor_axis_length = 87.78462, eccentricity = 0.89536, convex_area = 13773.00000, extent = 0.75141, type = C + area = 12845.00000, perimeter = 464.12100, major_axis_length = 194.33221, minor_axis_length = 85.52434, eccentricity = 0.89795, convex_area = 13125.00000, extent = 0.77496, type = O + area = 16453.00000, perimeter = 523.87402, major_axis_length = 222.31219, minor_axis_length = 96.17852, eccentricity = 0.90157, convex_area = 16803.00000, extent = 0.75472, type = C + area = 12503.00000, perimeter = 449.59900, major_axis_length = 184.01433, minor_axis_length = 88.25850, eccentricity = 0.87747, convex_area = 12803.00000, extent = 0.78163, type = O + area = 14525.00000, perimeter = 487.21600, major_axis_length = 206.45012, minor_axis_length = 90.84386, eccentricity = 0.89798, convex_area = 14798.00000, extent = 0.59334, type = C + area = 12613.00000, perimeter = 459.91299, major_axis_length = 193.37215, minor_axis_length = 84.31453, eccentricity = 0.89994, convex_area = 12937.00000, extent = 0.62789, type = O + area = 12612.00000, perimeter = 463.59500, major_axis_length = 197.68294, minor_axis_length = 82.37692, eccentricity = 0.90904, convex_area = 12919.00000, extent = 0.58405, type = C + area = 10388.00000, perimeter = 400.59100, major_axis_length = 166.18581, minor_axis_length = 80.09373, eccentricity = 0.87620, convex_area = 10536.00000, extent = 0.67019, type = O + area = 10951.00000, perimeter = 415.13901, major_axis_length = 173.75793, minor_axis_length = 81.30049, eccentricity = 0.88378, convex_area = 11116.00000, extent = 0.65227, type = O + area = 10886.00000, perimeter = 409.73801, major_axis_length = 166.07925, minor_axis_length = 84.13434, eccentricity = 0.86219, convex_area = 11055.00000, extent = 0.68037, type = O + area = 14609.00000, perimeter = 490.24701, major_axis_length = 206.06227, minor_axis_length = 91.49974, eccentricity = 0.89601, convex_area = 14837.00000, extent = 0.71966, type = C + area = 11694.00000, perimeter = 431.38901, major_axis_length = 177.07016, minor_axis_length = 85.11002, eccentricity = 0.87691, convex_area = 11875.00000, extent = 0.68788, type = O + area = 13273.00000, perimeter = 463.33301, major_axis_length = 197.45279, minor_axis_length = 85.99747, eccentricity = 0.90017, convex_area = 13462.00000, extent = 0.58582, type = C + area = 14784.00000, perimeter = 481.98599, major_axis_length = 200.02716, minor_axis_length = 94.98056, eccentricity = 0.88007, convex_area = 15005.00000, extent = 0.72159, type = C + area = 12599.00000, perimeter = 450.20401, major_axis_length = 184.96915, minor_axis_length = 87.25172, eccentricity = 0.88175, convex_area = 12818.00000, extent = 0.73644, type = O + area = 15028.00000, perimeter = 498.82901, major_axis_length = 205.53845, minor_axis_length = 94.58417, eccentricity = 0.88783, convex_area = 15382.00000, extent = 0.57778, type = C + area = 10187.00000, perimeter = 404.96799, major_axis_length = 160.22644, minor_axis_length = 82.32900, eccentricity = 0.85789, convex_area = 10489.00000, extent = 0.61627, type = O + area = 12659.00000, perimeter = 453.76801, major_axis_length = 188.04030, minor_axis_length = 86.70750, eccentricity = 0.88734, convex_area = 12887.00000, extent = 0.66434, type = O + area = 16390.00000, perimeter = 502.67801, major_axis_length = 207.04866, minor_axis_length = 101.51714, eccentricity = 0.87155, convex_area = 16635.00000, extent = 0.71450, type = C + area = 14071.00000, perimeter = 479.09299, major_axis_length = 197.40497, minor_axis_length = 92.30099, eccentricity = 0.88396, convex_area = 14398.00000, extent = 0.59900, type = C + area = 12537.00000, perimeter = 440.10599, major_axis_length = 177.27472, minor_axis_length = 91.08681, eccentricity = 0.85790, convex_area = 12845.00000, extent = 0.67043, type = O + area = 11411.00000, perimeter = 429.10101, major_axis_length = 175.35614, minor_axis_length = 83.65203, eccentricity = 0.87888, convex_area = 11636.00000, extent = 0.59806, type = O + area = 13970.00000, perimeter = 494.65399, major_axis_length = 211.74269, minor_axis_length = 85.07025, eccentricity = 0.91574, convex_area = 14280.00000, extent = 0.69627, type = C + area = 11619.00000, perimeter = 432.45401, major_axis_length = 178.34151, minor_axis_length = 83.91345, eccentricity = 0.88239, convex_area = 11824.00000, extent = 0.76764, type = O + area = 14572.00000, perimeter = 497.55099, major_axis_length = 211.08046, minor_axis_length = 88.70968, eccentricity = 0.90740, convex_area = 14926.00000, extent = 0.62659, type = C + area = 14318.00000, perimeter = 477.49399, major_axis_length = 195.02356, minor_axis_length = 94.59473, eccentricity = 0.87449, convex_area = 14585.00000, extent = 0.76087, type = C + area = 12651.00000, perimeter = 467.56500, major_axis_length = 200.05037, minor_axis_length = 81.17270, eccentricity = 0.91398, convex_area = 12991.00000, extent = 0.59411, type = C + area = 12695.00000, perimeter = 464.96799, major_axis_length = 197.81966, minor_axis_length = 82.43714, eccentricity = 0.90903, convex_area = 12981.00000, extent = 0.60194, type = O + area = 14656.00000, perimeter = 494.31100, major_axis_length = 206.02007, minor_axis_length = 91.73097, eccentricity = 0.89540, convex_area = 15072.00000, extent = 0.61544, type = C + area = 11285.00000, perimeter = 425.75500, major_axis_length = 175.42439, minor_axis_length = 82.95139, eccentricity = 0.88114, convex_area = 11525.00000, extent = 0.75028, type = O + area = 9802.00000, perimeter = 412.36899, major_axis_length = 176.16557, minor_axis_length = 71.48280, eccentricity = 0.91398, convex_area = 9991.00000, extent = 0.56695, type = O + area = 12172.00000, perimeter = 433.59799, major_axis_length = 174.29941, minor_axis_length = 90.69495, eccentricity = 0.85396, convex_area = 12401.00000, extent = 0.63845, type = O + area = 11977.00000, perimeter = 442.36401, major_axis_length = 185.26541, minor_axis_length = 83.16058, eccentricity = 0.89360, convex_area = 12186.00000, extent = 0.68175, type = O + area = 9322.00000, perimeter = 385.41599, major_axis_length = 157.35146, minor_axis_length = 76.35234, eccentricity = 0.87438, convex_area = 9566.00000, extent = 0.63653, type = O + area = 13076.00000, perimeter = 450.34500, major_axis_length = 183.59694, minor_axis_length = 91.70959, eccentricity = 0.86630, convex_area = 13253.00000, extent = 0.67702, type = O + area = 14398.00000, perimeter = 487.72400, major_axis_length = 210.09169, minor_axis_length = 87.59720, eccentricity = 0.90893, convex_area = 14654.00000, extent = 0.78532, type = C + area = 11905.00000, perimeter = 443.76901, major_axis_length = 185.27023, minor_axis_length = 83.60574, eccentricity = 0.89239, convex_area = 12209.00000, extent = 0.62721, type = O + area = 14966.00000, perimeter = 499.63800, major_axis_length = 205.47482, minor_axis_length = 93.38162, eccentricity = 0.89076, convex_area = 15387.00000, extent = 0.58143, type = C + area = 14994.00000, perimeter = 508.30701, major_axis_length = 215.56981, minor_axis_length = 89.61988, eccentricity = 0.90949, convex_area = 15246.00000, extent = 0.55076, type = C + area = 11665.00000, perimeter = 435.70599, major_axis_length = 182.75189, minor_axis_length = 81.97320, eccentricity = 0.89376, convex_area = 11895.00000, extent = 0.64590, type = O + area = 12345.00000, perimeter = 440.19601, major_axis_length = 180.38937, minor_axis_length = 88.15686, eccentricity = 0.87245, convex_area = 12591.00000, extent = 0.73369, type = O + area = 15888.00000, perimeter = 518.55499, major_axis_length = 218.19409, minor_axis_length = 94.05685, eccentricity = 0.90232, convex_area = 16245.00000, extent = 0.55753, type = C + area = 12292.00000, perimeter = 447.48599, major_axis_length = 181.35670, minor_axis_length = 87.98663, eccentricity = 0.87443, convex_area = 12535.00000, extent = 0.59387, type = O + area = 10168.00000, perimeter = 400.47800, major_axis_length = 162.56297, minor_axis_length = 81.08891, eccentricity = 0.86671, convex_area = 10424.00000, extent = 0.62373, type = O + area = 11249.00000, perimeter = 423.09500, major_axis_length = 167.86301, minor_axis_length = 86.53877, eccentricity = 0.85687, convex_area = 11560.00000, extent = 0.61889, type = O + area = 11379.00000, perimeter = 438.16400, major_axis_length = 182.20009, minor_axis_length = 80.88667, eccentricity = 0.89605, convex_area = 11735.00000, extent = 0.59414, type = O + area = 11016.00000, perimeter = 404.35400, major_axis_length = 166.70659, minor_axis_length = 84.50535, eccentricity = 0.86200, convex_area = 11146.00000, extent = 0.76330, type = O + area = 12574.00000, perimeter = 466.51999, major_axis_length = 197.86324, minor_axis_length = 81.88799, eccentricity = 0.91034, convex_area = 12902.00000, extent = 0.66179, type = O + area = 14115.00000, perimeter = 486.27200, major_axis_length = 207.55104, minor_axis_length = 87.78109, eccentricity = 0.90616, convex_area = 14422.00000, extent = 0.60082, type = C + area = 15126.00000, perimeter = 500.11401, major_axis_length = 209.16681, minor_axis_length = 93.81421, eccentricity = 0.89378, convex_area = 15496.00000, extent = 0.70603, type = C + area = 14843.00000, perimeter = 510.10199, major_axis_length = 220.03586, minor_axis_length = 86.50136, eccentricity = 0.91949, convex_area = 15155.00000, extent = 0.53315, type = C + area = 11022.00000, perimeter = 417.25900, major_axis_length = 168.61125, minor_axis_length = 84.67788, eccentricity = 0.86475, convex_area = 11259.00000, extent = 0.60727, type = O + area = 12075.00000, perimeter = 434.66000, major_axis_length = 179.19714, minor_axis_length = 86.49069, eccentricity = 0.87581, convex_area = 12229.00000, extent = 0.60309, type = O + area = 10620.00000, perimeter = 404.93201, major_axis_length = 164.52055, minor_axis_length = 83.29569, eccentricity = 0.86236, convex_area = 10863.00000, extent = 0.76184, type = O + area = 10482.00000, perimeter = 402.52100, major_axis_length = 164.54213, minor_axis_length = 82.02779, eccentricity = 0.86688, convex_area = 10679.00000, extent = 0.61812, type = O + area = 15578.00000, perimeter = 509.59900, major_axis_length = 216.90948, minor_axis_length = 92.61865, eccentricity = 0.90426, convex_area = 15864.00000, extent = 0.80883, type = C + area = 12281.00000, perimeter = 437.45901, major_axis_length = 179.54179, minor_axis_length = 88.17609, eccentricity = 0.87109, convex_area = 12532.00000, extent = 0.74575, type = O + area = 11639.00000, perimeter = 432.38699, major_axis_length = 178.69485, minor_axis_length = 83.95451, eccentricity = 0.88276, convex_area = 11940.00000, extent = 0.59358, type = O + area = 11928.00000, perimeter = 439.91901, major_axis_length = 181.03484, minor_axis_length = 85.22491, eccentricity = 0.88226, convex_area = 12218.00000, extent = 0.59061, type = O + area = 11646.00000, perimeter = 435.60699, major_axis_length = 177.84079, minor_axis_length = 84.54723, eccentricity = 0.87976, convex_area = 11902.00000, extent = 0.62212, type = O + area = 11433.00000, perimeter = 421.46399, major_axis_length = 168.75270, minor_axis_length = 87.52690, eccentricity = 0.85497, convex_area = 11678.00000, extent = 0.72938, type = O + area = 14189.00000, perimeter = 483.93701, major_axis_length = 203.37759, minor_axis_length = 90.07769, eccentricity = 0.89657, convex_area = 14538.00000, extent = 0.71312, type = C + area = 14677.00000, perimeter = 498.79800, major_axis_length = 209.87415, minor_axis_length = 90.27248, eccentricity = 0.90277, convex_area = 15060.00000, extent = 0.64785, type = C + area = 15560.00000, perimeter = 502.96600, major_axis_length = 213.96318, minor_axis_length = 93.12080, eccentricity = 0.90032, convex_area = 15789.00000, extent = 0.78368, type = C + area = 14266.00000, perimeter = 486.47800, major_axis_length = 207.72604, minor_axis_length = 88.09992, eccentricity = 0.90561, convex_area = 14485.00000, extent = 0.60385, type = C + area = 15556.00000, perimeter = 510.51001, major_axis_length = 217.10223, minor_axis_length = 92.77322, eccentricity = 0.90410, convex_area = 15781.00000, extent = 0.60742, type = C + area = 11386.00000, perimeter = 431.78500, major_axis_length = 176.87677, minor_axis_length = 83.32333, eccentricity = 0.88209, convex_area = 11713.00000, extent = 0.68098, type = O + area = 11385.00000, perimeter = 436.60699, major_axis_length = 180.06990, minor_axis_length = 82.65318, eccentricity = 0.88843, convex_area = 11778.00000, extent = 0.75976, type = O + area = 12331.00000, perimeter = 431.36401, major_axis_length = 177.13048, minor_axis_length = 89.42496, eccentricity = 0.86320, convex_area = 12502.00000, extent = 0.74779, type = O + area = 12397.00000, perimeter = 435.94901, major_axis_length = 174.23169, minor_axis_length = 91.89648, eccentricity = 0.84959, convex_area = 12761.00000, extent = 0.64306, type = O + area = 11462.00000, perimeter = 424.55701, major_axis_length = 175.42000, minor_axis_length = 84.14052, eccentricity = 0.87746, convex_area = 11650.00000, extent = 0.79825, type = O + area = 15381.00000, perimeter = 503.57901, major_axis_length = 211.88353, minor_axis_length = 93.30975, eccentricity = 0.89781, convex_area = 15749.00000, extent = 0.74033, type = C + area = 14317.00000, perimeter = 499.11099, major_axis_length = 206.77942, minor_axis_length = 89.82534, eccentricity = 0.90072, convex_area = 14815.00000, extent = 0.80424, type = C + area = 13198.00000, perimeter = 468.45599, major_axis_length = 200.49115, minor_axis_length = 84.69169, eccentricity = 0.90640, convex_area = 13455.00000, extent = 0.73192, type = C + area = 13737.00000, perimeter = 484.38501, major_axis_length = 209.54352, minor_axis_length = 84.16575, eccentricity = 0.91579, convex_area = 13944.00000, extent = 0.60521, type = C + area = 11997.00000, perimeter = 429.66000, major_axis_length = 170.99939, minor_axis_length = 90.55362, eccentricity = 0.84828, convex_area = 12253.00000, extent = 0.74636, type = O + area = 13315.00000, perimeter = 476.20300, major_axis_length = 205.18861, minor_axis_length = 83.06102, eccentricity = 0.91440, convex_area = 13510.00000, extent = 0.55157, type = C + area = 15595.00000, perimeter = 501.49399, major_axis_length = 207.89095, minor_axis_length = 96.88516, eccentricity = 0.88476, convex_area = 16030.00000, extent = 0.76842, type = C + area = 12538.00000, perimeter = 452.66000, major_axis_length = 188.80528, minor_axis_length = 86.10972, eccentricity = 0.88994, convex_area = 12846.00000, extent = 0.68416, type = O + area = 15375.00000, perimeter = 515.42297, major_axis_length = 215.99930, minor_axis_length = 91.61694, eccentricity = 0.90559, convex_area = 15780.00000, extent = 0.59760, type = C + area = 12800.00000, perimeter = 471.33401, major_axis_length = 203.55943, minor_axis_length = 81.30859, eccentricity = 0.91676, convex_area = 13141.00000, extent = 0.61162, type = C + area = 13888.00000, perimeter = 481.74799, major_axis_length = 205.74632, minor_axis_length = 87.00280, eccentricity = 0.90619, convex_area = 14178.00000, extent = 0.58510, type = C + area = 14226.00000, perimeter = 491.38901, major_axis_length = 213.78671, minor_axis_length = 85.35412, eccentricity = 0.91684, convex_area = 14483.00000, extent = 0.66439, type = C + area = 12199.00000, perimeter = 454.40399, major_axis_length = 191.90958, minor_axis_length = 82.14076, eccentricity = 0.90377, convex_area = 12555.00000, extent = 0.75052, type = C + area = 11377.00000, perimeter = 429.38599, major_axis_length = 172.53964, minor_axis_length = 85.88434, eccentricity = 0.86731, convex_area = 11746.00000, extent = 0.73542, type = O + area = 12417.00000, perimeter = 455.08301, major_axis_length = 187.29521, minor_axis_length = 85.61137, eccentricity = 0.88942, convex_area = 12851.00000, extent = 0.65876, type = C + area = 13062.00000, perimeter = 467.46399, major_axis_length = 197.80243, minor_axis_length = 85.39855, eccentricity = 0.90200, convex_area = 13272.00000, extent = 0.62408, type = C + area = 14706.00000, perimeter = 503.30701, major_axis_length = 212.68402, minor_axis_length = 89.08659, eccentricity = 0.90805, convex_area = 15074.00000, extent = 0.59596, type = C + area = 13088.00000, perimeter = 450.21100, major_axis_length = 184.75020, minor_axis_length = 91.24625, eccentricity = 0.86952, convex_area = 13266.00000, extent = 0.79922, type = O + area = 10088.00000, perimeter = 406.66101, major_axis_length = 169.06802, minor_axis_length = 77.43073, eccentricity = 0.88896, convex_area = 10331.00000, extent = 0.67596, type = O + area = 12524.00000, perimeter = 444.01001, major_axis_length = 179.05951, minor_axis_length = 90.16651, eccentricity = 0.86396, convex_area = 12746.00000, extent = 0.64567, type = O + area = 13726.00000, perimeter = 484.24701, major_axis_length = 209.70306, minor_axis_length = 83.88441, eccentricity = 0.91651, convex_area = 13969.00000, extent = 0.55560, type = C + area = 16291.00000, perimeter = 523.19299, major_axis_length = 223.25233, minor_axis_length = 93.60416, eccentricity = 0.90786, convex_area = 16595.00000, extent = 0.58116, type = C + area = 10387.00000, perimeter = 400.58099, major_axis_length = 164.76086, minor_axis_length = 81.01570, eccentricity = 0.87076, convex_area = 10536.00000, extent = 0.80663, type = O + area = 13410.00000, perimeter = 464.77600, major_axis_length = 186.42899, minor_axis_length = 93.29446, eccentricity = 0.86578, convex_area = 13894.00000, extent = 0.71669, type = O + area = 11765.00000, perimeter = 429.29300, major_axis_length = 175.06308, minor_axis_length = 86.72860, eccentricity = 0.86866, convex_area = 11969.00000, extent = 0.61117, type = O + area = 10889.00000, perimeter = 409.01700, major_axis_length = 165.91946, minor_axis_length = 84.85235, eccentricity = 0.85934, convex_area = 11123.00000, extent = 0.80480, type = O + area = 12511.00000, perimeter = 448.75900, major_axis_length = 183.97697, minor_axis_length = 87.34287, eccentricity = 0.88012, convex_area = 12694.00000, extent = 0.60478, type = O + area = 10690.00000, perimeter = 404.64001, major_axis_length = 165.37019, minor_axis_length = 83.37031, eccentricity = 0.86362, convex_area = 10855.00000, extent = 0.62079, type = O + area = 10667.00000, perimeter = 415.23700, major_axis_length = 170.33615, minor_axis_length = 81.36894, eccentricity = 0.87853, convex_area = 11041.00000, extent = 0.68775, type = O + area = 11848.00000, perimeter = 432.36899, major_axis_length = 178.35080, minor_axis_length = 86.11731, eccentricity = 0.87570, convex_area = 12045.00000, extent = 0.60029, type = O + area = 13884.00000, perimeter = 478.70200, major_axis_length = 201.31630, minor_axis_length = 89.18121, eccentricity = 0.89653, convex_area = 14217.00000, extent = 0.79793, type = C + area = 11088.00000, perimeter = 421.15701, major_axis_length = 169.42094, minor_axis_length = 85.37567, eccentricity = 0.86375, convex_area = 11373.00000, extent = 0.75413, type = O + area = 10600.00000, perimeter = 414.86600, major_axis_length = 174.65054, minor_axis_length = 78.23211, eccentricity = 0.89407, convex_area = 10800.00000, extent = 0.60282, type = O + area = 14159.00000, perimeter = 489.43600, major_axis_length = 209.13132, minor_axis_length = 87.11465, eccentricity = 0.90911, convex_area = 14410.00000, extent = 0.54795, type = C + area = 14009.00000, perimeter = 481.97699, major_axis_length = 198.52509, minor_axis_length = 91.06323, eccentricity = 0.88859, convex_area = 14455.00000, extent = 0.68420, type = O + area = 12174.00000, perimeter = 435.36801, major_axis_length = 174.20001, minor_axis_length = 90.66159, eccentricity = 0.85389, convex_area = 12471.00000, extent = 0.66387, type = O + area = 12556.00000, perimeter = 437.91400, major_axis_length = 180.21121, minor_axis_length = 89.38488, eccentricity = 0.86832, convex_area = 12735.00000, extent = 0.71859, type = O + area = 12172.00000, perimeter = 434.02701, major_axis_length = 180.72369, minor_axis_length = 86.31447, eccentricity = 0.87857, convex_area = 12311.00000, extent = 0.79514, type = O + area = 14479.00000, perimeter = 475.92499, major_axis_length = 200.55194, minor_axis_length = 92.17806, eccentricity = 0.88811, convex_area = 14696.00000, extent = 0.71143, type = C + area = 12152.00000, perimeter = 454.21201, major_axis_length = 198.89960, minor_axis_length = 78.32301, eccentricity = 0.91920, convex_area = 12338.00000, extent = 0.78547, type = O + area = 14645.00000, perimeter = 485.11301, major_axis_length = 201.15378, minor_axis_length = 93.58040, eccentricity = 0.88520, convex_area = 14889.00000, extent = 0.64641, type = C + area = 11274.00000, perimeter = 422.66299, major_axis_length = 174.38634, minor_axis_length = 82.87808, eccentricity = 0.87985, convex_area = 11459.00000, extent = 0.74054, type = O + area = 11983.00000, perimeter = 430.63101, major_axis_length = 175.67865, minor_axis_length = 87.90483, eccentricity = 0.86581, convex_area = 12248.00000, extent = 0.62227, type = O + area = 10847.00000, perimeter = 417.67001, major_axis_length = 168.35777, minor_axis_length = 82.87085, eccentricity = 0.87046, convex_area = 11152.00000, extent = 0.62411, type = O + area = 15009.00000, perimeter = 507.41699, major_axis_length = 217.13300, minor_axis_length = 88.92488, eccentricity = 0.91229, convex_area = 15387.00000, extent = 0.59859, type = C + area = 11965.00000, perimeter = 455.81799, major_axis_length = 196.16187, minor_axis_length = 78.42881, eccentricity = 0.91660, convex_area = 12247.00000, extent = 0.65945, type = C + area = 12172.00000, perimeter = 452.32901, major_axis_length = 193.69254, minor_axis_length = 80.80778, eccentricity = 0.90882, convex_area = 12430.00000, extent = 0.67803, type = C + area = 13677.00000, perimeter = 467.24799, major_axis_length = 191.01180, minor_axis_length = 91.82099, eccentricity = 0.87688, convex_area = 13901.00000, extent = 0.65503, type = O + area = 11392.00000, perimeter = 427.57199, major_axis_length = 173.07945, minor_axis_length = 85.35464, eccentricity = 0.86994, convex_area = 11638.00000, extent = 0.59848, type = O + area = 12608.00000, perimeter = 440.12500, major_axis_length = 174.60252, minor_axis_length = 93.52520, eccentricity = 0.84444, convex_area = 12835.00000, extent = 0.63103, type = O + area = 11510.00000, perimeter = 433.51401, major_axis_length = 180.38232, minor_axis_length = 82.62196, eccentricity = 0.88893, convex_area = 11827.00000, extent = 0.76703, type = C + area = 13814.00000, perimeter = 477.58600, major_axis_length = 198.90308, minor_axis_length = 89.67540, eccentricity = 0.89260, convex_area = 14168.00000, extent = 0.69098, type = C + area = 14602.00000, perimeter = 500.23300, major_axis_length = 218.48805, minor_axis_length = 85.67758, eccentricity = 0.91991, convex_area = 14827.00000, extent = 0.58364, type = C + area = 11562.00000, perimeter = 424.97101, major_axis_length = 174.39478, minor_axis_length = 85.48676, eccentricity = 0.87161, convex_area = 11739.00000, extent = 0.75529, type = O + area = 9373.00000, perimeter = 383.04901, major_axis_length = 159.37862, minor_axis_length = 75.75037, eccentricity = 0.87983, convex_area = 9520.00000, extent = 0.72390, type = O + area = 12501.00000, perimeter = 451.79901, major_axis_length = 192.73880, minor_axis_length = 83.19506, eccentricity = 0.90204, convex_area = 12687.00000, extent = 0.71882, type = O + area = 13002.00000, perimeter = 460.12701, major_axis_length = 191.42421, minor_axis_length = 87.77464, eccentricity = 0.88868, convex_area = 13325.00000, extent = 0.67945, type = C + area = 15557.00000, perimeter = 514.53699, major_axis_length = 214.07512, minor_axis_length = 93.85390, eccentricity = 0.89877, convex_area = 15942.00000, extent = 0.69556, type = C + area = 13562.00000, perimeter = 474.21899, major_axis_length = 194.61276, minor_axis_length = 90.66898, eccentricity = 0.88484, convex_area = 13871.00000, extent = 0.71334, type = C + area = 13909.00000, perimeter = 488.70801, major_axis_length = 206.35185, minor_axis_length = 86.97563, eccentricity = 0.90683, convex_area = 14362.00000, extent = 0.54334, type = C + area = 12352.00000, perimeter = 453.13501, major_axis_length = 191.11189, minor_axis_length = 83.35074, eccentricity = 0.89988, convex_area = 12683.00000, extent = 0.57847, type = C + area = 12411.00000, perimeter = 466.02802, major_axis_length = 204.51340, minor_axis_length = 78.29598, eccentricity = 0.92381, convex_area = 12707.00000, extent = 0.53057, type = C + area = 16376.00000, perimeter = 531.00098, major_axis_length = 227.94485, minor_axis_length = 92.66852, eccentricity = 0.91363, convex_area = 16667.00000, extent = 0.74177, type = C + area = 14390.00000, perimeter = 497.91901, major_axis_length = 216.37560, minor_axis_length = 85.19570, eccentricity = 0.91922, convex_area = 14586.00000, extent = 0.53790, type = C + area = 11545.00000, perimeter = 429.09799, major_axis_length = 176.99930, minor_axis_length = 84.10534, eccentricity = 0.87989, convex_area = 11816.00000, extent = 0.70586, type = O + area = 13221.00000, perimeter = 448.64499, major_axis_length = 181.13892, minor_axis_length = 93.82220, eccentricity = 0.85541, convex_area = 13378.00000, extent = 0.62540, type = O + area = 10756.00000, perimeter = 420.08600, major_axis_length = 170.63708, minor_axis_length = 81.58212, eccentricity = 0.87830, convex_area = 10957.00000, extent = 0.59498, type = O + area = 12016.00000, perimeter = 443.22299, major_axis_length = 189.28107, minor_axis_length = 81.12222, eccentricity = 0.90350, convex_area = 12186.00000, extent = 0.74657, type = O + area = 10474.00000, perimeter = 403.45999, major_axis_length = 167.88440, minor_axis_length = 80.18859, eccentricity = 0.87855, convex_area = 10611.00000, extent = 0.78870, type = O + area = 13445.00000, perimeter = 490.81500, major_axis_length = 216.17297, minor_axis_length = 79.60010, eccentricity = 0.92974, convex_area = 13640.00000, extent = 0.53544, type = C + area = 12231.00000, perimeter = 450.55899, major_axis_length = 187.54214, minor_axis_length = 84.03810, eccentricity = 0.89398, convex_area = 12504.00000, extent = 0.70716, type = O + area = 12062.00000, perimeter = 432.62399, major_axis_length = 175.89680, minor_axis_length = 88.78304, eccentricity = 0.86327, convex_area = 12318.00000, extent = 0.61591, type = O + area = 11316.00000, perimeter = 429.63501, major_axis_length = 177.27831, minor_axis_length = 82.78519, eccentricity = 0.88427, convex_area = 11544.00000, extent = 0.75642, type = O + area = 13900.00000, perimeter = 475.88901, major_axis_length = 198.16893, minor_axis_length = 90.54260, eccentricity = 0.88952, convex_area = 14161.00000, extent = 0.71723, type = C + area = 10984.00000, perimeter = 421.95999, major_axis_length = 170.87349, minor_axis_length = 83.75953, eccentricity = 0.87162, convex_area = 11201.00000, extent = 0.69554, type = O + area = 11017.00000, perimeter = 416.93201, major_axis_length = 168.36868, minor_axis_length = 84.20007, eccentricity = 0.86597, convex_area = 11303.00000, extent = 0.73682, type = O + area = 12711.00000, perimeter = 459.61801, major_axis_length = 192.97462, minor_axis_length = 84.95108, eccentricity = 0.89789, convex_area = 13028.00000, extent = 0.58195, type = C + area = 11102.00000, perimeter = 423.59399, major_axis_length = 173.86256, minor_axis_length = 82.35934, eccentricity = 0.88068, convex_area = 11332.00000, extent = 0.59154, type = O + area = 13662.00000, perimeter = 476.35300, major_axis_length = 204.18565, minor_axis_length = 85.61482, eccentricity = 0.90785, convex_area = 13894.00000, extent = 0.67417, type = C + area = 13860.00000, perimeter = 484.77200, major_axis_length = 200.77663, minor_axis_length = 88.84083, eccentricity = 0.89678, convex_area = 14238.00000, extent = 0.66088, type = C + area = 10241.00000, perimeter = 411.94699, major_axis_length = 167.74768, minor_axis_length = 79.10551, eccentricity = 0.88183, convex_area = 10486.00000, extent = 0.58975, type = O + area = 10858.00000, perimeter = 412.21701, major_axis_length = 166.96233, minor_axis_length = 84.06575, eccentricity = 0.86399, convex_area = 11171.00000, extent = 0.79290, type = O + area = 9630.00000, perimeter = 396.89301, major_axis_length = 163.84654, minor_axis_length = 75.77573, eccentricity = 0.88663, convex_area = 9935.00000, extent = 0.72515, type = O + area = 11961.00000, perimeter = 445.05301, major_axis_length = 182.44389, minor_axis_length = 85.08979, eccentricity = 0.88458, convex_area = 12370.00000, extent = 0.61225, type = O + area = 10792.00000, perimeter = 416.62900, major_axis_length = 171.38181, minor_axis_length = 81.65258, eccentricity = 0.87921, convex_area = 11037.00000, extent = 0.59368, type = O + area = 10921.00000, perimeter = 425.01199, major_axis_length = 175.63832, minor_axis_length = 80.60688, eccentricity = 0.88847, convex_area = 11271.00000, extent = 0.77044, type = O + area = 15546.00000, perimeter = 518.94299, major_axis_length = 219.22653, minor_axis_length = 91.38641, eccentricity = 0.90897, convex_area = 15967.00000, extent = 0.55351, type = C + area = 14865.00000, perimeter = 495.07101, major_axis_length = 202.86786, minor_axis_length = 94.27195, eccentricity = 0.88547, convex_area = 15235.00000, extent = 0.60419, type = C + area = 11601.00000, perimeter = 416.64600, major_axis_length = 165.78099, minor_axis_length = 89.89610, eccentricity = 0.84021, convex_area = 11782.00000, extent = 0.64522, type = O + area = 11867.00000, perimeter = 434.81299, major_axis_length = 185.70448, minor_axis_length = 81.84723, eccentricity = 0.89764, convex_area = 12004.00000, extent = 0.68107, type = O + area = 12053.00000, perimeter = 449.60400, major_axis_length = 189.50099, minor_axis_length = 82.26611, eccentricity = 0.90086, convex_area = 12295.00000, extent = 0.56446, type = O + area = 15773.00000, perimeter = 515.79401, major_axis_length = 219.43376, minor_axis_length = 92.62105, eccentricity = 0.90655, convex_area = 16089.00000, extent = 0.70541, type = C + area = 11476.00000, perimeter = 424.78299, major_axis_length = 169.09042, minor_axis_length = 88.18060, eccentricity = 0.85325, convex_area = 11845.00000, extent = 0.62454, type = O + area = 15158.00000, perimeter = 513.72601, major_axis_length = 218.82001, minor_axis_length = 89.37169, eccentricity = 0.91279, convex_area = 15591.00000, extent = 0.70176, type = C + area = 11063.00000, perimeter = 428.23901, major_axis_length = 177.53922, minor_axis_length = 80.86371, eccentricity = 0.89025, convex_area = 11362.00000, extent = 0.60613, type = O + area = 12655.00000, perimeter = 459.90500, major_axis_length = 192.99480, minor_axis_length = 84.90269, eccentricity = 0.89804, convex_area = 12959.00000, extent = 0.64533, type = C + area = 9920.00000, perimeter = 398.52600, major_axis_length = 162.07564, minor_axis_length = 79.13806, eccentricity = 0.87269, convex_area = 10171.00000, extent = 0.60934, type = O + area = 9722.00000, perimeter = 373.75299, major_axis_length = 145.26447, minor_axis_length = 87.05447, eccentricity = 0.80054, convex_area = 9839.00000, extent = 0.81911, type = O + area = 10842.00000, perimeter = 415.65900, major_axis_length = 169.43460, minor_axis_length = 82.63617, eccentricity = 0.87300, convex_area = 11153.00000, extent = 0.73306, type = O + area = 10819.00000, perimeter = 413.25699, major_axis_length = 165.16139, minor_axis_length = 84.57162, eccentricity = 0.85895, convex_area = 11091.00000, extent = 0.60952, type = O + area = 13062.00000, perimeter = 469.42401, major_axis_length = 200.62883, minor_axis_length = 83.27462, eccentricity = 0.90979, convex_area = 13279.00000, extent = 0.66321, type = C + area = 14235.00000, perimeter = 505.84500, major_axis_length = 214.15660, minor_axis_length = 87.47984, eccentricity = 0.91276, convex_area = 14687.00000, extent = 0.68257, type = C + area = 11746.00000, perimeter = 436.95001, major_axis_length = 185.25391, minor_axis_length = 81.15396, eccentricity = 0.89894, convex_area = 11926.00000, extent = 0.58948, type = O + area = 14337.00000, perimeter = 501.76599, major_axis_length = 219.31267, minor_axis_length = 83.44644, eccentricity = 0.92478, convex_area = 14631.00000, extent = 0.74316, type = C + area = 13933.00000, perimeter = 471.71399, major_axis_length = 193.51672, minor_axis_length = 91.87624, eccentricity = 0.88011, convex_area = 14177.00000, extent = 0.74464, type = C + area = 14232.00000, perimeter = 492.54599, major_axis_length = 205.02695, minor_axis_length = 89.55808, eccentricity = 0.89955, convex_area = 14620.00000, extent = 0.71518, type = C + area = 15569.00000, perimeter = 528.78900, major_axis_length = 221.57684, minor_axis_length = 90.98238, eccentricity = 0.91181, convex_area = 16286.00000, extent = 0.56569, type = C + area = 15323.00000, perimeter = 487.86600, major_axis_length = 192.23083, minor_axis_length = 102.96283, eccentricity = 0.84446, convex_area = 15769.00000, extent = 0.71369, type = C + area = 13680.00000, perimeter = 473.08600, major_axis_length = 194.94038, minor_axis_length = 91.22505, eccentricity = 0.88375, convex_area = 14077.00000, extent = 0.77949, type = C + area = 11735.00000, perimeter = 453.51801, major_axis_length = 194.10484, minor_axis_length = 78.01987, eccentricity = 0.91566, convex_area = 11956.00000, extent = 0.71533, type = C + area = 11226.00000, perimeter = 416.08200, major_axis_length = 166.27264, minor_axis_length = 87.09694, eccentricity = 0.85183, convex_area = 11515.00000, extent = 0.63546, type = O + area = 9495.00000, perimeter = 386.59000, major_axis_length = 160.57245, minor_axis_length = 75.85518, eccentricity = 0.88138, convex_area = 9640.00000, extent = 0.66894, type = O + area = 10382.00000, perimeter = 405.21301, major_axis_length = 168.42627, minor_axis_length = 78.95872, eccentricity = 0.88330, convex_area = 10599.00000, extent = 0.80182, type = O + area = 14003.00000, perimeter = 489.29001, major_axis_length = 208.33290, minor_axis_length = 87.19222, eccentricity = 0.90821, convex_area = 14421.00000, extent = 0.57911, type = C + area = 10665.00000, perimeter = 422.39999, major_axis_length = 176.84193, minor_axis_length = 77.75227, eccentricity = 0.89816, convex_area = 10884.00000, extent = 0.62987, type = O + area = 12627.00000, perimeter = 453.51901, major_axis_length = 191.81189, minor_axis_length = 84.54082, eccentricity = 0.89763, convex_area = 12830.00000, extent = 0.72611, type = O + area = 14741.00000, perimeter = 497.22501, major_axis_length = 212.46336, minor_axis_length = 89.45373, eccentricity = 0.90705, convex_area = 15036.00000, extent = 0.55371, type = C + area = 12056.00000, perimeter = 431.85101, major_axis_length = 182.36313, minor_axis_length = 84.43254, eccentricity = 0.88636, convex_area = 12191.00000, extent = 0.79735, type = O + area = 13013.00000, perimeter = 470.95599, major_axis_length = 197.69464, minor_axis_length = 84.80590, eccentricity = 0.90332, convex_area = 13376.00000, extent = 0.57564, type = C + area = 12184.00000, perimeter = 434.40799, major_axis_length = 181.74608, minor_axis_length = 85.97195, eccentricity = 0.88104, convex_area = 12336.00000, extent = 0.72871, type = O + area = 12203.00000, perimeter = 442.60199, major_axis_length = 184.23643, minor_axis_length = 85.57202, eccentricity = 0.88559, convex_area = 12418.00000, extent = 0.79904, type = O + area = 15857.00000, perimeter = 515.32202, major_axis_length = 219.96548, minor_axis_length = 93.15427, eccentricity = 0.90590, convex_area = 16109.00000, extent = 0.69916, type = C + area = 11128.00000, perimeter = 441.43301, major_axis_length = 184.41098, minor_axis_length = 79.25365, eccentricity = 0.90294, convex_area = 11403.00000, extent = 0.55810, type = C + area = 12013.00000, perimeter = 458.35901, major_axis_length = 195.08231, minor_axis_length = 79.64271, eccentricity = 0.91287, convex_area = 12330.00000, extent = 0.61017, type = O + area = 10885.00000, perimeter = 434.27301, major_axis_length = 191.09132, minor_axis_length = 73.54861, eccentricity = 0.92296, convex_area = 11024.00000, extent = 0.79990, type = C + area = 13891.00000, perimeter = 486.93799, major_axis_length = 209.80476, minor_axis_length = 85.73843, eccentricity = 0.91269, convex_area = 14170.00000, extent = 0.82847, type = C + area = 14415.00000, perimeter = 488.12201, major_axis_length = 203.59285, minor_axis_length = 91.03473, eccentricity = 0.89446, convex_area = 14758.00000, extent = 0.67410, type = C + area = 11779.00000, perimeter = 440.97601, major_axis_length = 191.88248, minor_axis_length = 78.73443, eccentricity = 0.91194, convex_area = 11918.00000, extent = 0.58375, type = O + area = 9561.00000, perimeter = 386.08499, major_axis_length = 159.97054, minor_axis_length = 76.79645, eccentricity = 0.87723, convex_area = 9708.00000, extent = 0.70095, type = O + area = 12070.00000, perimeter = 444.45499, major_axis_length = 183.93947, minor_axis_length = 85.08071, eccentricity = 0.88659, convex_area = 12400.00000, extent = 0.68192, type = O + area = 12362.00000, perimeter = 448.11200, major_axis_length = 181.03906, minor_axis_length = 88.52608, eccentricity = 0.87229, convex_area = 12720.00000, extent = 0.63278, type = O + area = 15161.00000, perimeter = 498.79099, major_axis_length = 208.25204, minor_axis_length = 93.86026, eccentricity = 0.89267, convex_area = 15541.00000, extent = 0.64057, type = C + area = 15486.00000, perimeter = 492.69400, major_axis_length = 204.37213, minor_axis_length = 97.67800, eccentricity = 0.87839, convex_area = 15688.00000, extent = 0.60116, type = C + area = 13267.00000, perimeter = 465.03201, major_axis_length = 193.76559, minor_axis_length = 88.83870, eccentricity = 0.88870, convex_area = 13543.00000, extent = 0.66441, type = O + area = 11652.00000, perimeter = 429.52100, major_axis_length = 172.41205, minor_axis_length = 87.48266, eccentricity = 0.86171, convex_area = 11982.00000, extent = 0.63052, type = O + area = 13118.00000, perimeter = 480.08600, major_axis_length = 207.10904, minor_axis_length = 81.70571, eccentricity = 0.91889, convex_area = 13652.00000, extent = 0.56877, type = C + area = 11932.00000, perimeter = 436.75900, major_axis_length = 178.31656, minor_axis_length = 86.78894, eccentricity = 0.87356, convex_area = 12152.00000, extent = 0.59990, type = O + area = 10975.00000, perimeter = 420.52200, major_axis_length = 169.96675, minor_axis_length = 83.40964, eccentricity = 0.87131, convex_area = 11305.00000, extent = 0.68680, type = O + area = 13418.00000, perimeter = 474.90100, major_axis_length = 194.54570, minor_axis_length = 89.70831, eccentricity = 0.88734, convex_area = 13973.00000, extent = 0.60431, type = C + area = 14436.00000, perimeter = 486.98901, major_axis_length = 204.49770, minor_axis_length = 90.86436, eccentricity = 0.89586, convex_area = 14709.00000, extent = 0.64186, type = C + area = 11760.00000, perimeter = 432.53201, major_axis_length = 176.14377, minor_axis_length = 86.02405, eccentricity = 0.87263, convex_area = 12055.00000, extent = 0.63287, type = O + area = 12994.00000, perimeter = 453.94101, major_axis_length = 192.16599, minor_axis_length = 86.55553, eccentricity = 0.89282, convex_area = 13152.00000, extent = 0.81416, type = O + area = 12917.00000, perimeter = 473.23499, major_axis_length = 200.32533, minor_axis_length = 83.20118, eccentricity = 0.90967, convex_area = 13302.00000, extent = 0.66610, type = C + area = 10533.00000, perimeter = 411.01300, major_axis_length = 168.51833, minor_axis_length = 80.82944, eccentricity = 0.87746, convex_area = 10834.00000, extent = 0.63697, type = O + area = 12483.00000, perimeter = 428.14700, major_axis_length = 170.29613, minor_axis_length = 94.28094, eccentricity = 0.83276, convex_area = 12680.00000, extent = 0.73737, type = O + area = 10663.00000, perimeter = 403.25500, major_axis_length = 163.93628, minor_axis_length = 83.74741, eccentricity = 0.85967, convex_area = 10884.00000, extent = 0.65217, type = O + area = 12570.00000, perimeter = 450.85901, major_axis_length = 178.96025, minor_axis_length = 91.11516, eccentricity = 0.86069, convex_area = 12886.00000, extent = 0.61049, type = O + area = 12878.00000, perimeter = 459.60400, major_axis_length = 192.17227, minor_axis_length = 85.95669, eccentricity = 0.89439, convex_area = 13213.00000, extent = 0.57625, type = C + area = 10815.00000, perimeter = 420.81500, major_axis_length = 179.96773, minor_axis_length = 77.09937, eccentricity = 0.90359, convex_area = 10981.00000, extent = 0.56921, type = O + area = 10066.00000, perimeter = 413.28299, major_axis_length = 177.30690, minor_axis_length = 73.48820, eccentricity = 0.91006, convex_area = 10262.00000, extent = 0.54641, type = O + area = 12587.00000, perimeter = 451.17200, major_axis_length = 185.70013, minor_axis_length = 87.76485, eccentricity = 0.88127, convex_area = 12941.00000, extent = 0.69804, type = O + area = 12295.00000, perimeter = 439.82401, major_axis_length = 176.58267, minor_axis_length = 89.81164, eccentricity = 0.86100, convex_area = 12566.00000, extent = 0.67348, type = O + area = 11151.00000, perimeter = 438.26199, major_axis_length = 191.60088, minor_axis_length = 74.84743, eccentricity = 0.92054, convex_area = 11325.00000, extent = 0.66597, type = C + area = 12820.00000, perimeter = 459.17099, major_axis_length = 193.70509, minor_axis_length = 84.83408, eccentricity = 0.89900, convex_area = 13002.00000, extent = 0.59617, type = C + area = 13684.00000, perimeter = 505.65500, major_axis_length = 213.59363, minor_axis_length = 83.51059, eccentricity = 0.92040, convex_area = 14158.00000, extent = 0.57763, type = C + area = 12188.00000, perimeter = 435.86099, major_axis_length = 182.03267, minor_axis_length = 85.78117, eccentricity = 0.88200, convex_area = 12363.00000, extent = 0.76577, type = O + area = 11197.00000, perimeter = 429.45001, major_axis_length = 178.21692, minor_axis_length = 81.27737, eccentricity = 0.88995, convex_area = 11461.00000, extent = 0.56884, type = O + area = 10250.00000, perimeter = 407.28900, major_axis_length = 165.72189, minor_axis_length = 79.96314, eccentricity = 0.87589, convex_area = 10512.00000, extent = 0.72234, type = O + area = 9330.00000, perimeter = 391.16599, major_axis_length = 161.42542, minor_axis_length = 74.86388, eccentricity = 0.88596, convex_area = 9624.00000, extent = 0.57635, type = O + area = 11594.00000, perimeter = 437.91000, major_axis_length = 178.67661, minor_axis_length = 84.30540, eccentricity = 0.88169, convex_area = 11969.00000, extent = 0.60060, type = O + area = 13928.00000, perimeter = 479.72400, major_axis_length = 204.43028, minor_axis_length = 87.08270, eccentricity = 0.90473, convex_area = 14158.00000, extent = 0.56627, type = C + area = 14093.00000, perimeter = 488.59799, major_axis_length = 204.39246, minor_axis_length = 89.15961, eccentricity = 0.89984, convex_area = 14463.00000, extent = 0.58111, type = C + area = 14688.00000, perimeter = 507.16699, major_axis_length = 211.74338, minor_axis_length = 89.31245, eccentricity = 0.90669, convex_area = 15262.00000, extent = 0.64602, type = C + area = 11525.00000, perimeter = 432.29901, major_axis_length = 177.11610, minor_axis_length = 83.65916, eccentricity = 0.88142, convex_area = 11794.00000, extent = 0.64497, type = O + area = 13002.00000, perimeter = 472.47400, major_axis_length = 198.07727, minor_axis_length = 85.79917, eccentricity = 0.90132, convex_area = 13432.00000, extent = 0.69474, type = C + area = 11780.00000, perimeter = 444.99200, major_axis_length = 190.96028, minor_axis_length = 78.85174, eccentricity = 0.91077, convex_area = 11956.00000, extent = 0.78070, type = O + area = 12726.00000, perimeter = 455.34601, major_axis_length = 188.77779, minor_axis_length = 86.93991, eccentricity = 0.88764, convex_area = 13010.00000, extent = 0.76848, type = O + area = 10231.00000, perimeter = 404.36401, major_axis_length = 159.63927, minor_axis_length = 82.99383, eccentricity = 0.85424, convex_area = 10640.00000, extent = 0.62999, type = O + area = 13072.00000, perimeter = 484.78799, major_axis_length = 206.88693, minor_axis_length = 81.92672, eccentricity = 0.91825, convex_area = 13593.00000, extent = 0.70416, type = C + area = 11295.00000, perimeter = 430.62000, major_axis_length = 179.13637, minor_axis_length = 81.18504, eccentricity = 0.89141, convex_area = 11516.00000, extent = 0.69125, type = O + area = 10803.00000, perimeter = 411.31000, major_axis_length = 165.22313, minor_axis_length = 84.78220, eccentricity = 0.85831, convex_area = 11098.00000, extent = 0.64307, type = O + area = 12711.00000, perimeter = 458.73300, major_axis_length = 188.31543, minor_axis_length = 86.86007, eccentricity = 0.88727, convex_area = 13092.00000, extent = 0.57830, type = O + area = 12416.00000, perimeter = 441.92801, major_axis_length = 175.21472, minor_axis_length = 91.56062, eccentricity = 0.85260, convex_area = 12738.00000, extent = 0.62917, type = O + area = 14806.00000, perimeter = 498.63199, major_axis_length = 214.38994, minor_axis_length = 88.97662, eccentricity = 0.90981, convex_area = 15078.00000, extent = 0.78339, type = C + area = 10774.00000, perimeter = 428.79999, major_axis_length = 179.69966, minor_axis_length = 77.92175, eccentricity = 0.90109, convex_area = 11033.00000, extent = 0.71655, type = O + area = 11739.00000, perimeter = 448.60501, major_axis_length = 187.68576, minor_axis_length = 80.84975, eccentricity = 0.90246, convex_area = 12118.00000, extent = 0.54702, type = C + area = 11917.00000, perimeter = 437.30399, major_axis_length = 179.57648, minor_axis_length = 85.64931, eccentricity = 0.87893, convex_area = 12192.00000, extent = 0.63936, type = O + area = 14928.00000, perimeter = 499.39301, major_axis_length = 212.40379, minor_axis_length = 90.70808, eccentricity = 0.90423, convex_area = 15269.00000, extent = 0.79744, type = C + area = 12743.00000, perimeter = 449.23001, major_axis_length = 180.94476, minor_axis_length = 90.80772, eccentricity = 0.86495, convex_area = 13044.00000, extent = 0.61937, type = O + area = 10916.00000, perimeter = 416.32901, major_axis_length = 172.50725, minor_axis_length = 81.98931, eccentricity = 0.87983, convex_area = 11093.00000, extent = 0.72148, type = O + area = 11605.00000, perimeter = 425.69800, major_axis_length = 173.51668, minor_axis_length = 86.13511, eccentricity = 0.86809, convex_area = 11781.00000, extent = 0.79842, type = O + area = 12164.00000, perimeter = 435.08600, major_axis_length = 177.58580, minor_axis_length = 88.19933, eccentricity = 0.86795, convex_area = 12354.00000, extent = 0.71022, type = O + area = 10877.00000, perimeter = 424.57501, major_axis_length = 175.60689, minor_axis_length = 80.03326, eccentricity = 0.89011, convex_area = 11152.00000, extent = 0.61598, type = O + area = 10878.00000, perimeter = 423.79300, major_axis_length = 179.84694, minor_axis_length = 77.79790, eccentricity = 0.90160, convex_area = 11015.00000, extent = 0.58016, type = O + area = 15398.00000, perimeter = 513.02301, major_axis_length = 214.05426, minor_axis_length = 93.68449, eccentricity = 0.89914, convex_area = 15936.00000, extent = 0.69504, type = C + area = 11898.00000, perimeter = 453.98001, major_axis_length = 195.36005, minor_axis_length = 78.36910, eccentricity = 0.91601, convex_area = 12134.00000, extent = 0.54804, type = C + area = 15600.00000, perimeter = 502.84299, major_axis_length = 205.27551, minor_axis_length = 99.05281, eccentricity = 0.87588, convex_area = 16130.00000, extent = 0.72142, type = C + area = 13655.00000, perimeter = 471.52499, major_axis_length = 193.19618, minor_axis_length = 91.55775, eccentricity = 0.88057, convex_area = 14053.00000, extent = 0.71098, type = C + area = 16000.00000, perimeter = 515.38098, major_axis_length = 215.71432, minor_axis_length = 94.95480, eccentricity = 0.89791, convex_area = 16289.00000, extent = 0.67366, type = C + area = 12331.00000, perimeter = 441.44000, major_axis_length = 175.60992, minor_axis_length = 90.82543, eccentricity = 0.85586, convex_area = 12617.00000, extent = 0.61940, type = O + area = 15290.00000, perimeter = 500.18799, major_axis_length = 204.15337, minor_axis_length = 96.69033, eccentricity = 0.88073, convex_area = 15605.00000, extent = 0.78896, type = C + area = 14301.00000, perimeter = 497.77399, major_axis_length = 209.87636, minor_axis_length = 87.29937, eccentricity = 0.90938, convex_area = 14591.00000, extent = 0.60068, type = C + area = 11972.00000, perimeter = 433.09201, major_axis_length = 177.81424, minor_axis_length = 86.38818, eccentricity = 0.87405, convex_area = 12249.00000, extent = 0.71441, type = O + area = 15714.00000, perimeter = 501.15500, major_axis_length = 205.01331, minor_axis_length = 99.27554, eccentricity = 0.87494, convex_area = 16074.00000, extent = 0.73389, type = C + area = 14321.00000, perimeter = 494.34500, major_axis_length = 211.66899, minor_axis_length = 86.82542, eccentricity = 0.91200, convex_area = 14583.00000, extent = 0.56128, type = C + area = 14439.00000, perimeter = 492.55301, major_axis_length = 211.85214, minor_axis_length = 87.43467, eccentricity = 0.91086, convex_area = 14614.00000, extent = 0.57279, type = C + area = 11625.00000, perimeter = 430.43399, major_axis_length = 176.33295, minor_axis_length = 86.15995, eccentricity = 0.87250, convex_area = 11838.00000, extent = 0.59680, type = O + area = 11386.00000, perimeter = 450.12000, major_axis_length = 195.46043, minor_axis_length = 75.84289, eccentricity = 0.92165, convex_area = 11612.00000, extent = 0.51286, type = C + area = 12901.00000, perimeter = 475.30301, major_axis_length = 209.58597, minor_axis_length = 79.26891, eccentricity = 0.92572, convex_area = 13219.00000, extent = 0.68281, type = C + area = 15475.00000, perimeter = 511.79700, major_axis_length = 220.47693, minor_axis_length = 90.20723, eccentricity = 0.91247, convex_area = 15734.00000, extent = 0.82732, type = C + area = 13541.00000, perimeter = 478.46100, major_axis_length = 206.69949, minor_axis_length = 84.09856, eccentricity = 0.91349, convex_area = 13768.00000, extent = 0.81347, type = C + area = 15178.00000, perimeter = 514.74200, major_axis_length = 219.33296, minor_axis_length = 89.01124, eccentricity = 0.91395, convex_area = 15638.00000, extent = 0.78757, type = C + area = 12615.00000, perimeter = 458.23499, major_axis_length = 185.04196, minor_axis_length = 88.18565, eccentricity = 0.87914, convex_area = 13014.00000, extent = 0.62167, type = O + area = 11070.00000, perimeter = 413.42001, major_axis_length = 168.51967, minor_axis_length = 84.49383, eccentricity = 0.86522, convex_area = 11328.00000, extent = 0.62659, type = O + area = 14713.00000, perimeter = 493.21201, major_axis_length = 206.91612, minor_axis_length = 91.64847, eccentricity = 0.89656, convex_area = 15162.00000, extent = 0.59403, type = C + area = 13735.00000, perimeter = 484.77100, major_axis_length = 204.81064, minor_axis_length = 86.75872, eccentricity = 0.90585, convex_area = 13960.00000, extent = 0.55370, type = C + area = 14195.00000, perimeter = 488.45999, major_axis_length = 203.51271, minor_axis_length = 89.95866, eccentricity = 0.89700, convex_area = 14555.00000, extent = 0.71735, type = C + area = 15551.00000, perimeter = 508.40701, major_axis_length = 217.01550, minor_axis_length = 92.15182, eccentricity = 0.90537, convex_area = 15786.00000, extent = 0.80742, type = C + area = 10211.00000, perimeter = 392.35300, major_axis_length = 163.19708, minor_axis_length = 80.24487, eccentricity = 0.87076, convex_area = 10348.00000, extent = 0.75347, type = O + area = 11652.00000, perimeter = 428.80801, major_axis_length = 169.58989, minor_axis_length = 89.57381, eccentricity = 0.84913, convex_area = 12067.00000, extent = 0.73700, type = O + area = 13662.00000, perimeter = 466.74799, major_axis_length = 191.40512, minor_axis_length = 91.91515, eccentricity = 0.87715, convex_area = 13875.00000, extent = 0.58746, type = C + area = 9746.00000, perimeter = 382.73700, major_axis_length = 154.09608, minor_axis_length = 81.20334, eccentricity = 0.84989, convex_area = 9935.00000, extent = 0.66753, type = O + area = 14546.00000, perimeter = 494.16800, major_axis_length = 212.31372, minor_axis_length = 87.87224, eccentricity = 0.91033, convex_area = 14826.00000, extent = 0.62574, type = C + area = 13484.00000, perimeter = 468.86899, major_axis_length = 195.42339, minor_axis_length = 88.78389, eccentricity = 0.89084, convex_area = 13786.00000, extent = 0.72401, type = C + area = 15042.00000, perimeter = 502.21399, major_axis_length = 212.09438, minor_axis_length = 91.29269, eccentricity = 0.90262, convex_area = 15416.00000, extent = 0.70211, type = C + area = 11846.00000, perimeter = 437.34698, major_axis_length = 182.62881, minor_axis_length = 82.91296, eccentricity = 0.89100, convex_area = 12019.00000, extent = 0.57932, type = O + area = 15158.00000, perimeter = 505.27600, major_axis_length = 209.47603, minor_axis_length = 93.92683, eccentricity = 0.89384, convex_area = 15586.00000, extent = 0.60937, type = C + area = 12558.00000, perimeter = 439.77600, major_axis_length = 173.44276, minor_axis_length = 93.39814, eccentricity = 0.84263, convex_area = 12804.00000, extent = 0.63889, type = O + area = 12758.00000, perimeter = 451.37000, major_axis_length = 180.73944, minor_axis_length = 91.56465, eccentricity = 0.86217, convex_area = 13170.00000, extent = 0.64906, type = O + area = 12272.00000, perimeter = 439.91699, major_axis_length = 181.70638, minor_axis_length = 86.94543, eccentricity = 0.87809, convex_area = 12495.00000, extent = 0.64117, type = O + area = 14811.00000, perimeter = 512.10999, major_axis_length = 217.73833, minor_axis_length = 87.48341, eccentricity = 0.91574, convex_area = 15090.00000, extent = 0.54917, type = C + area = 15513.00000, perimeter = 522.50403, major_axis_length = 224.27583, minor_axis_length = 89.01466, eccentricity = 0.91786, convex_area = 15967.00000, extent = 0.56617, type = C + area = 11182.00000, perimeter = 429.59500, major_axis_length = 181.43217, minor_axis_length = 79.18195, eccentricity = 0.89974, convex_area = 11389.00000, extent = 0.67976, type = O + area = 11601.00000, perimeter = 447.12799, major_axis_length = 191.38257, minor_axis_length = 78.36671, eccentricity = 0.91232, convex_area = 11925.00000, extent = 0.57866, type = O + area = 12754.00000, perimeter = 450.72400, major_axis_length = 186.26735, minor_axis_length = 88.71730, eccentricity = 0.87929, convex_area = 13063.00000, extent = 0.80163, type = O + area = 9944.00000, perimeter = 407.36099, major_axis_length = 169.64474, minor_axis_length = 75.97414, eccentricity = 0.89411, convex_area = 10212.00000, extent = 0.55859, type = O + area = 12239.00000, perimeter = 473.51401, major_axis_length = 208.04790, minor_axis_length = 75.60644, eccentricity = 0.93163, convex_area = 12622.00000, extent = 0.51720, type = C + area = 13263.00000, perimeter = 474.49799, major_axis_length = 197.84290, minor_axis_length = 86.68632, eccentricity = 0.89890, convex_area = 13607.00000, extent = 0.56009, type = C + area = 12152.00000, perimeter = 447.91699, major_axis_length = 185.24631, minor_axis_length = 85.78561, eccentricity = 0.88631, convex_area = 12449.00000, extent = 0.57538, type = O + area = 10871.00000, perimeter = 416.53799, major_axis_length = 171.44371, minor_axis_length = 82.22730, eccentricity = 0.87748, convex_area = 11156.00000, extent = 0.60084, type = O + area = 14244.00000, perimeter = 488.06601, major_axis_length = 199.89989, minor_axis_length = 92.31540, eccentricity = 0.88698, convex_area = 14691.00000, extent = 0.61633, type = C + area = 13852.00000, perimeter = 490.27899, major_axis_length = 213.98569, minor_axis_length = 82.96648, eccentricity = 0.92178, convex_area = 14158.00000, extent = 0.72832, type = C + area = 14687.00000, perimeter = 498.39099, major_axis_length = 210.58044, minor_axis_length = 90.29588, eccentricity = 0.90340, convex_area = 14977.00000, extent = 0.56610, type = C + area = 13029.00000, perimeter = 460.41699, major_axis_length = 184.94789, minor_axis_length = 91.33196, eccentricity = 0.86956, convex_area = 13410.00000, extent = 0.76157, type = O + area = 10820.00000, perimeter = 424.78101, major_axis_length = 178.76576, minor_axis_length = 78.07856, eccentricity = 0.89958, convex_area = 11081.00000, extent = 0.71485, type = O + area = 12345.00000, perimeter = 438.02499, major_axis_length = 177.27922, minor_axis_length = 89.73426, eccentricity = 0.86243, convex_area = 12586.00000, extent = 0.62141, type = O + area = 11717.00000, perimeter = 439.73001, major_axis_length = 182.04054, minor_axis_length = 82.61973, eccentricity = 0.89108, convex_area = 11965.00000, extent = 0.56148, type = O + area = 13651.00000, perimeter = 502.07999, major_axis_length = 222.07356, minor_axis_length = 79.33727, eccentricity = 0.93401, convex_area = 14034.00000, extent = 0.79265, type = C + area = 12193.00000, perimeter = 433.95700, major_axis_length = 170.47278, minor_axis_length = 92.65318, eccentricity = 0.83940, convex_area = 12558.00000, extent = 0.62467, type = O + area = 12859.00000, perimeter = 445.01001, major_axis_length = 184.30518, minor_axis_length = 89.47381, eccentricity = 0.87426, convex_area = 13030.00000, extent = 0.71044, type = C + area = 14547.00000, perimeter = 491.04401, major_axis_length = 206.65707, minor_axis_length = 90.17514, eccentricity = 0.89978, convex_area = 14780.00000, extent = 0.59322, type = C + area = 10695.00000, perimeter = 406.45099, major_axis_length = 164.57030, minor_axis_length = 84.04564, eccentricity = 0.85976, convex_area = 10930.00000, extent = 0.61233, type = O + area = 11462.00000, perimeter = 432.10800, major_axis_length = 180.28006, minor_axis_length = 81.89021, eccentricity = 0.89088, convex_area = 11725.00000, extent = 0.69993, type = O + area = 16249.00000, perimeter = 512.79199, major_axis_length = 215.72685, minor_axis_length = 96.96568, eccentricity = 0.89329, convex_area = 16493.00000, extent = 0.73718, type = C + area = 11068.00000, perimeter = 423.97299, major_axis_length = 172.01558, minor_axis_length = 82.98537, eccentricity = 0.87593, convex_area = 11323.00000, extent = 0.60530, type = O + area = 12308.00000, perimeter = 451.60901, major_axis_length = 193.26753, minor_axis_length = 81.65989, eccentricity = 0.90635, convex_area = 12488.00000, extent = 0.72404, type = C + area = 9405.00000, perimeter = 389.77499, major_axis_length = 162.36823, minor_axis_length = 74.43763, eccentricity = 0.88872, convex_area = 9594.00000, extent = 0.60764, type = O + area = 14652.00000, perimeter = 499.33600, major_axis_length = 212.50394, minor_axis_length = 88.75134, eccentricity = 0.90861, convex_area = 15039.00000, extent = 0.76792, type = C + area = 11321.00000, perimeter = 424.57599, major_axis_length = 173.99763, minor_axis_length = 84.73989, eccentricity = 0.87339, convex_area = 11631.00000, extent = 0.62190, type = O + area = 14674.00000, perimeter = 497.10300, major_axis_length = 208.43646, minor_axis_length = 91.08699, eccentricity = 0.89946, convex_area = 15049.00000, extent = 0.68229, type = C + area = 13837.00000, perimeter = 483.59399, major_axis_length = 204.31093, minor_axis_length = 87.28925, eccentricity = 0.90414, convex_area = 14139.00000, extent = 0.56942, type = C + area = 11396.00000, perimeter = 446.28299, major_axis_length = 192.23241, minor_axis_length = 76.52646, eccentricity = 0.91734, convex_area = 11692.00000, extent = 0.64515, type = C + area = 12916.00000, perimeter = 471.19601, major_axis_length = 201.00291, minor_axis_length = 82.65474, eccentricity = 0.91154, convex_area = 13199.00000, extent = 0.55704, type = C + area = 11428.00000, perimeter = 418.61499, major_axis_length = 168.17899, minor_axis_length = 87.29835, eccentricity = 0.85473, convex_area = 11589.00000, extent = 0.62829, type = O + area = 12416.00000, perimeter = 449.73999, major_axis_length = 190.60756, minor_axis_length = 83.51945, eccentricity = 0.89889, convex_area = 12607.00000, extent = 0.67721, type = O + area = 11070.00000, perimeter = 419.40302, major_axis_length = 173.57504, minor_axis_length = 82.15421, eccentricity = 0.88090, convex_area = 11266.00000, extent = 0.60059, type = O + area = 11111.00000, perimeter = 419.92999, major_axis_length = 175.13715, minor_axis_length = 81.11839, eccentricity = 0.88627, convex_area = 11278.00000, extent = 0.58832, type = O + area = 13537.00000, perimeter = 467.58701, major_axis_length = 199.57315, minor_axis_length = 86.72983, eccentricity = 0.90063, convex_area = 13745.00000, extent = 0.73062, type = O + area = 12683.00000, perimeter = 448.63699, major_axis_length = 186.15756, minor_axis_length = 87.55859, eccentricity = 0.88248, convex_area = 12847.00000, extent = 0.59095, type = O + area = 12708.00000, perimeter = 437.45401, major_axis_length = 174.35812, minor_axis_length = 93.84775, eccentricity = 0.84279, convex_area = 12893.00000, extent = 0.64344, type = O + area = 11075.00000, perimeter = 416.85001, major_axis_length = 165.29626, minor_axis_length = 86.27912, eccentricity = 0.85297, convex_area = 11315.00000, extent = 0.66127, type = O + area = 16019.00000, perimeter = 509.01300, major_axis_length = 214.79094, minor_axis_length = 96.12421, eccentricity = 0.89427, convex_area = 16248.00000, extent = 0.65759, type = C + area = 14471.00000, perimeter = 491.34201, major_axis_length = 200.41316, minor_axis_length = 92.81940, eccentricity = 0.88629, convex_area = 14736.00000, extent = 0.58597, type = C + area = 12892.00000, perimeter = 482.63000, major_axis_length = 204.59776, minor_axis_length = 82.35201, eccentricity = 0.91542, convex_area = 13376.00000, extent = 0.65124, type = C + area = 12840.00000, perimeter = 470.09601, major_axis_length = 199.26149, minor_axis_length = 82.79353, eccentricity = 0.90959, convex_area = 13072.00000, extent = 0.55787, type = O + area = 12035.00000, perimeter = 431.95401, major_axis_length = 176.02255, minor_axis_length = 88.00275, eccentricity = 0.86605, convex_area = 12226.00000, extent = 0.61784, type = O + area = 16862.00000, perimeter = 519.47101, major_axis_length = 219.65996, minor_axis_length = 98.39157, eccentricity = 0.89407, convex_area = 17104.00000, extent = 0.61227, type = C + area = 13806.00000, perimeter = 494.03201, major_axis_length = 212.38689, minor_axis_length = 83.93067, eccentricity = 0.91860, convex_area = 14247.00000, extent = 0.53363, type = C + area = 13385.00000, perimeter = 477.92999, major_axis_length = 199.84268, minor_axis_length = 87.04651, eccentricity = 0.90015, convex_area = 13656.00000, extent = 0.56591, type = C + area = 16963.00000, perimeter = 536.03302, major_axis_length = 220.32758, minor_axis_length = 99.40977, eccentricity = 0.89243, convex_area = 17467.00000, extent = 0.59208, type = C + area = 10821.00000, perimeter = 425.26801, major_axis_length = 178.35680, minor_axis_length = 78.24892, eccentricity = 0.89862, convex_area = 11101.00000, extent = 0.77939, type = O + area = 13205.00000, perimeter = 475.60001, major_axis_length = 197.54897, minor_axis_length = 86.34488, eccentricity = 0.89942, convex_area = 13607.00000, extent = 0.69111, type = C + area = 15586.00000, perimeter = 505.87701, major_axis_length = 218.57321, minor_axis_length = 91.24372, eccentricity = 0.90870, convex_area = 15814.00000, extent = 0.82378, type = C + area = 14852.00000, perimeter = 495.81699, major_axis_length = 205.71364, minor_axis_length = 92.94775, eccentricity = 0.89210, convex_area = 15202.00000, extent = 0.60130, type = C + area = 10128.00000, perimeter = 403.72501, major_axis_length = 166.96295, minor_axis_length = 78.24747, eccentricity = 0.88338, convex_area = 10383.00000, extent = 0.67224, type = O + area = 12396.00000, perimeter = 443.15399, major_axis_length = 184.80183, minor_axis_length = 86.46866, eccentricity = 0.88378, convex_area = 12546.00000, extent = 0.58710, type = O + area = 10463.00000, perimeter = 417.35699, major_axis_length = 177.17612, minor_axis_length = 76.04584, eccentricity = 0.90320, convex_area = 10681.00000, extent = 0.58322, type = O + area = 10386.00000, perimeter = 405.96799, major_axis_length = 165.67505, minor_axis_length = 81.03001, eccentricity = 0.87223, convex_area = 10684.00000, extent = 0.63624, type = O + area = 11302.00000, perimeter = 418.95401, major_axis_length = 172.08990, minor_axis_length = 84.01643, eccentricity = 0.87272, convex_area = 11501.00000, extent = 0.62004, type = O + area = 13930.00000, perimeter = 495.27100, major_axis_length = 213.52664, minor_axis_length = 84.43373, eccentricity = 0.91850, convex_area = 14564.00000, extent = 0.54964, type = C + area = 16618.00000, perimeter = 513.75299, major_axis_length = 213.21713, minor_axis_length = 99.89234, eccentricity = 0.88346, convex_area = 16892.00000, extent = 0.63641, type = C + area = 15521.00000, perimeter = 506.04800, major_axis_length = 209.51799, minor_axis_length = 95.46242, eccentricity = 0.89017, convex_area = 15956.00000, extent = 0.57845, type = C + area = 11906.00000, perimeter = 435.76001, major_axis_length = 178.80707, minor_axis_length = 85.96841, eccentricity = 0.87684, convex_area = 12194.00000, extent = 0.60498, type = O + area = 14205.00000, perimeter = 487.35101, major_axis_length = 204.33224, minor_axis_length = 89.63425, eccentricity = 0.89865, convex_area = 14637.00000, extent = 0.77369, type = C + area = 11178.00000, perimeter = 419.27802, major_axis_length = 166.61430, minor_axis_length = 87.07088, eccentricity = 0.85258, convex_area = 11507.00000, extent = 0.60448, type = O + area = 9584.00000, perimeter = 390.00400, major_axis_length = 162.29663, minor_axis_length = 75.98748, eccentricity = 0.88362, convex_area = 9757.00000, extent = 0.80946, type = O + area = 14115.00000, perimeter = 483.78000, major_axis_length = 206.84187, minor_axis_length = 88.06865, eccentricity = 0.90483, convex_area = 14312.00000, extent = 0.74766, type = C + area = 11734.00000, perimeter = 432.62100, major_axis_length = 177.31726, minor_axis_length = 86.10056, eccentricity = 0.87420, convex_area = 11972.00000, extent = 0.64458, type = O + area = 14291.00000, perimeter = 481.23999, major_axis_length = 196.50101, minor_axis_length = 93.87129, eccentricity = 0.87852, convex_area = 14618.00000, extent = 0.58920, type = C + area = 11217.00000, perimeter = 424.08499, major_axis_length = 168.65384, minor_axis_length = 86.48293, eccentricity = 0.85852, convex_area = 11546.00000, extent = 0.77188, type = O + area = 11303.00000, perimeter = 423.95499, major_axis_length = 173.83696, minor_axis_length = 83.37649, eccentricity = 0.87747, convex_area = 11527.00000, extent = 0.61968, type = O + area = 10221.00000, perimeter = 405.29999, major_axis_length = 168.63374, minor_axis_length = 78.04261, eccentricity = 0.88647, convex_area = 10368.00000, extent = 0.60272, type = O + area = 15779.00000, perimeter = 506.37701, major_axis_length = 209.40489, minor_axis_length = 97.43090, eccentricity = 0.88517, convex_area = 16201.00000, extent = 0.61946, type = C + area = 10453.00000, perimeter = 411.44800, major_axis_length = 175.73219, minor_axis_length = 76.61852, eccentricity = 0.89995, convex_area = 10589.00000, extent = 0.80563, type = O + area = 9414.00000, perimeter = 407.82501, major_axis_length = 179.54588, minor_axis_length = 66.91816, eccentricity = 0.92795, convex_area = 9583.00000, extent = 0.81043, type = O + area = 13431.00000, perimeter = 482.53000, major_axis_length = 212.45061, minor_axis_length = 81.18548, eccentricity = 0.92411, convex_area = 13786.00000, extent = 0.77798, type = C + area = 16523.00000, perimeter = 531.89203, major_axis_length = 224.99542, minor_axis_length = 94.41770, eccentricity = 0.90769, convex_area = 16911.00000, extent = 0.57704, type = C + area = 14467.00000, perimeter = 498.62399, major_axis_length = 213.59563, minor_axis_length = 86.99999, eccentricity = 0.91329, convex_area = 14857.00000, extent = 0.74076, type = C + area = 17442.00000, perimeter = 539.77600, major_axis_length = 228.59348, minor_axis_length = 98.19205, eccentricity = 0.90304, convex_area = 17698.00000, extent = 0.57625, type = C + area = 11322.00000, perimeter = 415.48599, major_axis_length = 165.34834, minor_axis_length = 88.39619, eccentricity = 0.84510, convex_area = 11545.00000, extent = 0.65069, type = O + area = 11665.00000, perimeter = 430.44000, major_axis_length = 172.60129, minor_axis_length = 87.70522, eccentricity = 0.86128, convex_area = 11972.00000, extent = 0.61022, type = O + area = 12324.00000, perimeter = 465.66901, major_axis_length = 198.52171, minor_axis_length = 80.21651, eccentricity = 0.91473, convex_area = 12557.00000, extent = 0.64167, type = O + area = 11742.00000, perimeter = 428.03400, major_axis_length = 171.23189, minor_axis_length = 88.02340, eccentricity = 0.85775, convex_area = 11951.00000, extent = 0.63044, type = O + area = 12269.00000, perimeter = 435.65601, major_axis_length = 175.95552, minor_axis_length = 90.29810, eccentricity = 0.85828, convex_area = 12583.00000, extent = 0.77884, type = O + area = 14586.00000, perimeter = 489.54401, major_axis_length = 206.59869, minor_axis_length = 91.26047, eccentricity = 0.89715, convex_area = 14897.00000, extent = 0.79557, type = C + area = 12716.00000, perimeter = 444.10800, major_axis_length = 186.89639, minor_axis_length = 87.27814, eccentricity = 0.88426, convex_area = 12872.00000, extent = 0.74738, type = C + area = 12879.00000, perimeter = 476.57700, major_axis_length = 203.16597, minor_axis_length = 81.26083, eccentricity = 0.91653, convex_area = 13105.00000, extent = 0.66039, type = C + area = 9335.00000, perimeter = 388.80600, major_axis_length = 160.15616, minor_axis_length = 75.16480, eccentricity = 0.88303, convex_area = 9536.00000, extent = 0.62333, type = O + area = 15032.00000, perimeter = 500.60901, major_axis_length = 209.91653, minor_axis_length = 91.92539, eccentricity = 0.89902, convex_area = 15397.00000, extent = 0.71892, type = C + area = 11180.00000, perimeter = 427.70801, major_axis_length = 174.70352, minor_axis_length = 82.88113, eccentricity = 0.88030, convex_area = 11518.00000, extent = 0.72194, type = O + area = 10746.00000, perimeter = 423.99100, major_axis_length = 177.95325, minor_axis_length = 78.12188, eccentricity = 0.89849, convex_area = 10942.00000, extent = 0.58149, type = O + area = 14955.00000, perimeter = 508.71701, major_axis_length = 217.98155, minor_axis_length = 88.61218, eccentricity = 0.91365, convex_area = 15363.00000, extent = 0.56941, type = C + area = 11483.00000, perimeter = 429.55200, major_axis_length = 173.86205, minor_axis_length = 85.40532, eccentricity = 0.87103, convex_area = 11770.00000, extent = 0.77233, type = O + area = 12971.00000, perimeter = 458.03500, major_axis_length = 192.33746, minor_axis_length = 86.75472, eccentricity = 0.89250, convex_area = 13248.00000, extent = 0.77745, type = C + area = 11542.00000, perimeter = 424.51599, major_axis_length = 171.50450, minor_axis_length = 87.68061, eccentricity = 0.85944, convex_area = 11811.00000, extent = 0.69952, type = O + area = 14982.00000, perimeter = 505.07800, major_axis_length = 217.36499, minor_axis_length = 88.59523, eccentricity = 0.91317, convex_area = 15325.00000, extent = 0.55924, type = C + area = 12549.00000, perimeter = 456.93500, major_axis_length = 193.39151, minor_axis_length = 83.70135, eccentricity = 0.90149, convex_area = 12905.00000, extent = 0.79707, type = C + area = 13637.00000, perimeter = 466.65302, major_axis_length = 193.53421, minor_axis_length = 90.35423, eccentricity = 0.88433, convex_area = 13838.00000, extent = 0.69167, type = C + area = 14070.00000, perimeter = 484.21600, major_axis_length = 203.28004, minor_axis_length = 89.09188, eccentricity = 0.89884, convex_area = 14448.00000, extent = 0.56734, type = C + area = 11757.00000, perimeter = 441.24200, major_axis_length = 182.59586, minor_axis_length = 82.91640, eccentricity = 0.89095, convex_area = 11967.00000, extent = 0.60172, type = O + area = 13256.00000, perimeter = 462.72400, major_axis_length = 194.14876, minor_axis_length = 87.72887, eccentricity = 0.89209, convex_area = 13465.00000, extent = 0.64742, type = C + area = 15404.00000, perimeter = 499.23099, major_axis_length = 206.08693, minor_axis_length = 95.63304, eccentricity = 0.88581, convex_area = 15740.00000, extent = 0.62476, type = C + area = 13493.00000, perimeter = 480.52899, major_axis_length = 205.57306, minor_axis_length = 84.68375, eccentricity = 0.91121, convex_area = 13843.00000, extent = 0.79689, type = C + area = 15613.00000, perimeter = 509.76099, major_axis_length = 210.27808, minor_axis_length = 96.02433, eccentricity = 0.88964, convex_area = 15975.00000, extent = 0.57260, type = C + area = 14836.00000, perimeter = 495.10501, major_axis_length = 208.59528, minor_axis_length = 91.39000, eccentricity = 0.89892, convex_area = 15164.00000, extent = 0.60055, type = C + area = 15274.00000, perimeter = 511.05399, major_axis_length = 211.29993, minor_axis_length = 93.12005, eccentricity = 0.89765, convex_area = 15669.00000, extent = 0.69326, type = C + area = 13337.00000, perimeter = 471.84698, major_axis_length = 199.14467, minor_axis_length = 86.46564, eccentricity = 0.90082, convex_area = 13686.00000, extent = 0.66446, type = C + area = 11181.00000, perimeter = 420.41299, major_axis_length = 171.03383, minor_axis_length = 84.87569, eccentricity = 0.86818, convex_area = 11406.00000, extent = 0.79242, type = O + area = 12240.00000, perimeter = 454.31299, major_axis_length = 190.92790, minor_axis_length = 83.64930, eccentricity = 0.89892, convex_area = 12555.00000, extent = 0.75789, type = C diff --git a/cmake-build-relwithdebinfo/run_4/regress.stt b/cmake-build-relwithdebinfo/run_4/regress.stt new file mode 100644 index 0000000..5c9553b --- /dev/null +++ b/cmake-build-relwithdebinfo/run_4/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.9579 0.9986 0.0000 18.172 3.459 45 5 44 6 0.9579 0.9986 0.0000 18.172 3.459 45 5 44 6 +1 0 0.9926 0.9987 0.0000 16.833 3.612 26 5 51 8 0.9752 0.9987 0.0000 17.502 3.535 26 5 44 6 +2 0 0.9910 0.9987 0.0000 17.044 3.817 26 5 10 4 0.9805 0.9987 0.0000 17.350 3.629 26 5 44 6 +3 0 0.9916 0.9987 0.0000 16.484 3.871 26 5 22 6 0.9833 0.9987 0.0000 17.133 3.690 26 5 44 6 +4 0 0.9906 0.9987 0.0000 16.235 3.935 26 5 64 8 0.9847 0.9987 0.0000 16.953 3.739 26 5 44 6 +5 0 0.9916 0.9989 0.0000 15.799 3.969 65 10 48 9 0.9859 0.9989 0.0000 16.761 3.777 65 10 44 6 +6 0 0.9932 0.9989 0.0000 15.745 4.028 65 10 36 7 0.9869 0.9989 0.0000 16.616 3.813 65 10 44 6 +7 0 0.9935 0.9989 0.0000 15.447 4.072 65 10 42 10 0.9878 0.9989 0.0000 16.470 3.845 65 10 44 6 +8 0 0.9944 0.9989 0.0000 15.131 4.045 65 10 21 7 0.9885 0.9989 0.0000 16.321 3.868 65 10 44 6 +9 0 0.9936 0.9989 0.0000 14.652 4.042 65 10 24 7 0.9890 0.9989 0.0000 16.154 3.885 65 10 44 6 +10 0 0.9928 0.9989 0.0000 14.528 4.075 16 4 21 5 0.9894 0.9989 0.0000 16.006 3.902 16 4 44 6 +11 0 0.9948 0.9989 0.0000 14.394 4.077 16 4 20 7 0.9898 0.9989 0.0000 15.872 3.917 16 4 44 6 +12 0 0.9948 0.9989 0.0000 14.213 4.120 18 6 17 6 0.9902 0.9989 0.0000 15.744 3.932 18 6 44 6 +13 0 0.9946 0.9989 0.0000 14.466 4.185 18 6 14 4 0.9905 0.9989 0.0000 15.653 3.951 18 6 44 6 +14 0 0.9944 0.9989 0.0000 14.371 4.230 18 6 31 7 0.9908 0.9989 0.0000 15.567 3.969 18 6 44 6 +15 0 0.9944 0.9989 0.0000 13.768 4.163 18 6 30 8 0.9910 0.9989 0.0000 15.455 3.981 18 6 44 6 +16 0 0.9933 0.9989 0.0000 13.768 4.184 18 6 26 8 0.9911 0.9989 0.0000 15.356 3.993 18 6 44 6 +17 0 0.9956 0.9989 0.0000 13.377 4.140 17 5 10 3 0.9914 0.9989 0.0000 15.246 4.001 17 5 44 6 +18 0 0.9948 0.9989 0.0000 13.180 4.122 17 5 14 6 0.9916 0.9989 0.0000 15.137 4.008 17 5 44 6 +19 0 0.9962 0.9989 0.0000 12.819 4.086 17 5 49 9 0.9918 0.9989 0.0000 15.021 4.012 17 5 44 6 +20 0 0.9948 0.9989 0.0000 12.700 4.111 17 5 39 13 0.9919 0.9989 0.0000 14.911 4.016 17 5 44 6 +21 0 0.9960 0.9989 0.0000 12.583 4.116 17 5 23 9 0.9921 0.9989 0.0000 14.805 4.021 17 5 44 6 +22 0 0.9960 0.9989 0.0000 12.555 4.129 17 5 45 9 0.9923 0.9989 0.0000 14.707 4.026 17 5 44 6 +23 0 0.9956 0.9989 0.0000 12.328 4.097 17 5 25 9 0.9924 0.9989 0.0000 14.608 4.029 17 5 44 6 +24 0 0.9954 0.9989 0.0000 12.151 4.059 17 5 11 5 0.9925 0.9989 0.0000 14.510 4.030 17 5 44 6 +25 0 0.9968 0.9989 0.0000 12.074 4.077 17 5 20 6 0.9927 0.9989 0.0000 14.416 4.032 17 5 44 6 +26 0 0.9952 0.9989 0.0000 11.858 4.029 17 5 32 12 0.9928 0.9989 0.0000 14.321 4.031 17 5 44 6 +27 0 0.9966 0.9989 0.0000 11.441 3.949 17 5 16 6 0.9929 0.9989 0.0000 14.218 4.029 17 5 44 6 +28 0 0.9956 0.9989 0.0000 11.249 3.900 19 5 28 10 0.9930 0.9989 0.0000 14.116 4.024 19 5 44 6 +29 0 0.9964 0.9989 0.0000 11.239 3.941 19 5 39 11 0.9931 0.9989 0.0000 14.020 4.021 19 5 44 6 +30 0 0.9954 0.9989 0.0000 11.211 3.905 19 5 38 12 0.9932 0.9989 0.0000 13.929 4.018 19 5 44 6 +31 0 0.9958 0.9989 0.0000 10.933 3.876 19 5 27 8 0.9933 0.9989 0.0000 13.836 4.013 19 5 44 6 +32 0 0.9966 0.9989 0.0000 10.800 3.842 19 5 67 15 0.9934 0.9989 0.0000 13.744 4.008 19 5 44 6 +33 0 0.9960 0.9989 0.0000 10.951 3.911 19 5 8 3 0.9935 0.9989 0.0000 13.662 4.005 19 5 44 6 +34 0 0.9956 0.9989 0.0000 10.791 3.860 18 5 17 6 0.9935 0.9989 0.0000 13.580 4.001 18 5 44 6 +35 0 0.9958 0.9989 0.0000 10.690 3.824 18 5 23 9 0.9936 0.9989 0.0000 13.499 3.996 18 5 44 6 +36 0 0.9960 0.9989 0.0000 10.752 3.859 18 5 5 2 0.9937 0.9989 0.0000 13.425 3.992 18 5 44 6 +37 0 0.9968 0.9989 0.0000 10.414 3.777 18 5 11 3 0.9937 0.9989 0.0000 13.346 3.987 18 5 44 6 +38 0 0.9960 0.9989 0.0000 10.191 3.730 18 5 18 8 0.9938 0.9989 0.0000 13.265 3.980 18 5 44 6 +39 0 0.9968 0.9989 0.0000 10.105 3.729 18 5 16 4 0.9939 0.9989 0.0000 13.186 3.974 18 5 44 6 +40 0 0.9962 0.9989 0.0000 9.993 3.692 18 5 48 15 0.9939 0.9989 0.0000 13.108 3.967 18 5 44 6 +41 0 0.9974 0.9989 0.0000 9.926 3.671 18 5 38 10 0.9940 0.9989 0.0000 13.032 3.960 18 5 44 6 +42 0 0.9966 0.9989 0.0000 9.869 3.666 18 5 10 4 0.9941 0.9989 0.0000 12.959 3.953 18 5 44 6 +43 0 0.9972 0.9989 0.0000 9.570 3.607 18 5 30 6 0.9942 0.9989 0.0000 12.882 3.945 18 5 44 6 +44 0 0.9960 0.9989 0.0000 9.525 3.583 18 5 20 7 0.9942 0.9989 0.0000 12.807 3.937 18 5 44 6 +45 0 0.9974 0.9989 0.0000 9.262 3.496 18 5 13 4 0.9943 0.9989 0.0000 12.730 3.928 18 5 44 6 +46 0 0.9972 0.9989 0.0000 9.343 3.531 18 5 48 9 0.9943 0.9989 0.0000 12.658 3.919 18 5 44 6 +47 0 0.9968 0.9989 0.0000 9.200 3.498 18 5 27 7 0.9944 0.9989 0.0000 12.586 3.910 18 5 44 6 +48 0 0.9964 0.9989 0.0000 9.174 3.468 18 5 8 4 0.9944 0.9989 0.0000 12.516 3.901 18 5 44 6 +49 0 0.9970 0.9989 0.0000 9.220 3.524 18 5 14 6 0.9945 0.9989 0.0000 12.450 3.894 18 5 44 6 +50 0 0.9968 0.9989 0.0000 9.045 3.496 18 5 14 6 0.9945 0.9989 0.0000 12.384 3.886 18 5 44 6 diff --git a/cmake-build-relwithdebinfo/run_4/regress.sys b/cmake-build-relwithdebinfo/run_4/regress.sys new file mode 100644 index 0000000..13a4737 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_4/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - exp log area perimeter major minor eccentricity convex extent R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 3165. +creating initial population(s): + 7274 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 4. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 12. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 19. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 27. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 40. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 80138958 + freed: 80090958 + not freed: 48000 + max allocated: 2528727 + malloc'ed blocks: 830451 + realloc'ed blocks: 7 + free'ed blocks: 830445 + +------- time ------- + overall: 57s wall + evaluation: 49s wall + breeding: 7s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 8037 + freed: 8037 + allocated: 5500 + blocks: 10 diff --git a/cmake-build-relwithdebinfo/run_5/regress.bst b/cmake-build-relwithdebinfo/run_5/regress.bst new file mode 100644 index 0000000..266ff81 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_5/regress.bst @@ -0,0 +1,22 @@ +=== BEST-OF-RUN === + generation: 43 + nodes: 15 + depth: 5 + hits: 924 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 924 + raw fitness: 924.0000 + standardized fitness: 924.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (exp 0.13878)) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +TREE-equ: +y = (((0.91448 - exp(0.13878)) * exp((major * (-0.69939 / 0.17834)))) * (area / eccentricity)) diff --git a/cmake-build-relwithdebinfo/run_5/regress.fn b/cmake-build-relwithdebinfo/run_5/regress.fn new file mode 100644 index 0000000..71b44b8 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_5/regress.fn @@ -0,0 +1,14 @@ +Hits: 2598, Total Size: 2810, Percent Hit: 92.455516 +CC: 1028 +CO: 70 +OO: 1570 +OC: 142 + + +y = (((0.91448 - exp(0.13878)) * exp((major * (-0.69939 / 0.17834)))) * (area / eccentricity)) + + (* (* (- 0.91448 + (exp 0.13878)) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) diff --git a/cmake-build-relwithdebinfo/run_5/regress.gen b/cmake-build-relwithdebinfo/run_5/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/run_5/regress.his b/cmake-build-relwithdebinfo/run_5/regress.his new file mode 100644 index 0000000..712bfc4 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_5/regress.his @@ -0,0 +1,1176 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 7 + depth: 2 + hits: 759 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 759 + raw fitness: 759.0000 + standardized fitness: 759.0000 + adjusted fitness: 0.9987 +TREE: + (+ (- major major) + (- eccentricity 0.87921)) +=== BEST-OF-RUN === + current generation: 1 + generation: 1 + nodes: 22 + depth: 5 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (+ (log (exp (+ -0.50630 -0.04081))) + (log (exp (log eccentricity)))) + (/ (exp major) + (exp (- (/ convex perimeter) + (+ perimeter minor))))) +=== BEST-OF-RUN === + current generation: 2 + generation: 1 + nodes: 22 + depth: 5 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (+ (log (exp (+ -0.50630 -0.04081))) + (log (exp (log eccentricity)))) + (/ (exp major) + (exp (- (/ convex perimeter) + (+ perimeter minor))))) +=== BEST-OF-RUN === + current generation: 3 + generation: 1 + nodes: 22 + depth: 5 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (+ (log (exp (+ -0.50630 -0.04081))) + (log (exp (log eccentricity)))) + (/ (exp major) + (exp (- (/ convex perimeter) + (+ perimeter minor))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 1 + nodes: 22 + depth: 5 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (+ (log (exp (+ -0.50630 -0.04081))) + (log (exp (log eccentricity)))) + (/ (exp major) + (exp (- (/ convex perimeter) + (+ perimeter minor))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 1 + nodes: 22 + depth: 5 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (+ (log (exp (+ -0.50630 -0.04081))) + (log (exp (log eccentricity)))) + (/ (exp major) + (exp (- (/ convex perimeter) + (+ perimeter minor))))) +=== BEST-OF-RUN === + current generation: 6 + generation: 1 + nodes: 22 + depth: 5 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (+ (log (exp (+ -0.50630 -0.04081))) + (log (exp (log eccentricity)))) + (/ (exp major) + (exp (- (/ convex perimeter) + (+ perimeter minor))))) +=== BEST-OF-RUN === + current generation: 7 + generation: 1 + nodes: 22 + depth: 5 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (+ (log (exp (+ -0.50630 -0.04081))) + (log (exp (log eccentricity)))) + (/ (exp major) + (exp (- (/ convex perimeter) + (+ perimeter minor))))) +=== BEST-OF-RUN === + current generation: 8 + generation: 1 + nodes: 22 + depth: 5 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (+ (log (exp (+ -0.50630 -0.04081))) + (log (exp (log eccentricity)))) + (/ (exp major) + (exp (- (/ convex perimeter) + (+ perimeter minor))))) +=== BEST-OF-RUN === + current generation: 9 + generation: 1 + nodes: 22 + depth: 5 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (+ (log (exp (+ -0.50630 -0.04081))) + (log (exp (log eccentricity)))) + (/ (exp major) + (exp (- (/ convex perimeter) + (+ perimeter minor))))) +=== BEST-OF-RUN === + current generation: 10 + generation: 1 + nodes: 22 + depth: 5 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (+ (log (exp (+ -0.50630 -0.04081))) + (log (exp (log eccentricity)))) + (/ (exp major) + (exp (- (/ convex perimeter) + (+ perimeter minor))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 1 + nodes: 22 + depth: 5 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (+ (log (exp (+ -0.50630 -0.04081))) + (log (exp (log eccentricity)))) + (/ (exp major) + (exp (- (/ convex perimeter) + (+ perimeter minor))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 1 + nodes: 22 + depth: 5 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (+ (log (exp (+ -0.50630 -0.04081))) + (log (exp (log eccentricity)))) + (/ (exp major) + (exp (- (/ convex perimeter) + (+ perimeter minor))))) +=== BEST-OF-RUN === + current generation: 13 + generation: 1 + nodes: 22 + depth: 5 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (+ (log (exp (+ -0.50630 -0.04081))) + (log (exp (log eccentricity)))) + (/ (exp major) + (exp (- (/ convex perimeter) + (+ perimeter minor))))) +=== BEST-OF-RUN === + current generation: 14 + generation: 1 + nodes: 22 + depth: 5 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (+ (log (exp (+ -0.50630 -0.04081))) + (log (exp (log eccentricity)))) + (/ (exp major) + (exp (- (/ convex perimeter) + (+ perimeter minor))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 1 + nodes: 22 + depth: 5 + hits: 910 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 910 + raw fitness: 910.0000 + standardized fitness: 910.0000 + adjusted fitness: 0.9989 +TREE: + (/ (+ (log (exp (+ -0.50630 -0.04081))) + (log (exp (log eccentricity)))) + (/ (exp major) + (exp (- (/ convex perimeter) + (+ perimeter minor))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 17 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 18 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 19 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 20 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 21 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 22 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 23 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 24 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 25 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 26 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 27 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 28 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 29 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 30 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 31 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 32 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 33 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 34 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 35 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 36 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 37 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 38 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 39 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 40 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 41 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 42 + generation: 16 + nodes: 32 + depth: 9 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (/ (exp major) + (+ (log (- (exp eccentricity) + (+ major eccentricity))) + (log (- (- 0.65402 + (/ perimeter convex)) major))))) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 43 + generation: 43 + nodes: 15 + depth: 5 + hits: 924 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 924 + raw fitness: 924.0000 + standardized fitness: 924.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (exp 0.13878)) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 44 + generation: 43 + nodes: 15 + depth: 5 + hits: 924 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 924 + raw fitness: 924.0000 + standardized fitness: 924.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (exp 0.13878)) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 45 + generation: 43 + nodes: 15 + depth: 5 + hits: 924 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 924 + raw fitness: 924.0000 + standardized fitness: 924.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (exp 0.13878)) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 46 + generation: 43 + nodes: 15 + depth: 5 + hits: 924 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 924 + raw fitness: 924.0000 + standardized fitness: 924.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (exp 0.13878)) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 47 + generation: 43 + nodes: 15 + depth: 5 + hits: 924 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 924 + raw fitness: 924.0000 + standardized fitness: 924.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (exp 0.13878)) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 48 + generation: 43 + nodes: 15 + depth: 5 + hits: 924 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 924 + raw fitness: 924.0000 + standardized fitness: 924.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (exp 0.13878)) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 49 + generation: 43 + nodes: 15 + depth: 5 + hits: 924 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 924 + raw fitness: 924.0000 + standardized fitness: 924.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (exp 0.13878)) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) +=== BEST-OF-RUN === + current generation: 50 + generation: 43 + nodes: 15 + depth: 5 + hits: 924 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 924 + raw fitness: 924.0000 + standardized fitness: 924.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (- 0.91448 + (exp 0.13878)) + (exp (* major + (/ -0.69939 0.17834)))) + (/ area eccentricity)) diff --git a/cmake-build-relwithdebinfo/run_5/regress.prg b/cmake-build-relwithdebinfo/run_5/regress.prg new file mode 100644 index 0000000..044d1c6 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_5/regress.prg @@ -0,0 +1,1002 @@ +not starting from checkpoint file. +1000 fitness cases: + area = 13010.00000, perimeter = 450.56100, major_axis_length = 186.14745, minor_axis_length = 90.26014, eccentricity = 0.87458, convex_area = 13184.00000, extent = 0.63337, type = O + area = 12859.00000, perimeter = 462.87201, major_axis_length = 193.34184, minor_axis_length = 85.90899, eccentricity = 0.89586, convex_area = 13279.00000, extent = 0.70891, type = C + area = 11769.00000, perimeter = 426.31000, major_axis_length = 176.11459, minor_axis_length = 85.90214, eccentricity = 0.87298, convex_area = 11928.00000, extent = 0.79119, type = O + area = 10982.00000, perimeter = 421.41000, major_axis_length = 177.80026, minor_axis_length = 78.93739, eccentricity = 0.89604, convex_area = 11167.00000, extent = 0.59407, type = O + area = 13983.00000, perimeter = 483.66800, major_axis_length = 201.48521, minor_axis_length = 89.05701, eccentricity = 0.89701, convex_area = 14320.00000, extent = 0.56749, type = C + area = 14534.00000, perimeter = 483.64099, major_axis_length = 196.65082, minor_axis_length = 95.05068, eccentricity = 0.87543, convex_area = 14932.00000, extent = 0.64965, type = C + area = 10346.00000, perimeter = 402.58099, major_axis_length = 167.27846, minor_axis_length = 79.82422, eccentricity = 0.87880, convex_area = 10479.00000, extent = 0.58972, type = O + area = 13111.00000, perimeter = 467.62100, major_axis_length = 193.56772, minor_axis_length = 88.06787, eccentricity = 0.89051, convex_area = 13456.00000, extent = 0.61917, type = O + area = 13174.00000, perimeter = 480.57700, major_axis_length = 203.50645, minor_axis_length = 83.42044, eccentricity = 0.91212, convex_area = 13606.00000, extent = 0.54947, type = C + area = 9749.00000, perimeter = 398.68201, major_axis_length = 162.88123, minor_axis_length = 77.19672, eccentricity = 0.88055, convex_area = 9941.00000, extent = 0.59913, type = O + area = 9585.00000, perimeter = 397.72000, major_axis_length = 163.85312, minor_axis_length = 75.40806, eccentricity = 0.88781, convex_area = 9759.00000, extent = 0.72630, type = O + area = 9520.00000, perimeter = 394.89099, major_axis_length = 161.31520, minor_axis_length = 76.16378, eccentricity = 0.88152, convex_area = 9852.00000, extent = 0.77803, type = O + area = 14159.00000, perimeter = 489.43600, major_axis_length = 209.13132, minor_axis_length = 87.11465, eccentricity = 0.90911, convex_area = 14410.00000, extent = 0.54795, type = C + area = 11669.00000, perimeter = 432.09900, major_axis_length = 175.27705, minor_axis_length = 86.84153, eccentricity = 0.86863, convex_area = 11886.00000, extent = 0.77980, type = O + area = 11481.00000, perimeter = 419.06699, major_axis_length = 170.32956, minor_axis_length = 86.68471, eccentricity = 0.86081, convex_area = 11674.00000, extent = 0.74167, type = O + area = 13636.00000, perimeter = 481.25601, major_axis_length = 203.92857, minor_axis_length = 86.18014, eccentricity = 0.90632, convex_area = 13888.00000, extent = 0.54971, type = C + area = 15276.00000, perimeter = 506.68500, major_axis_length = 212.13568, minor_axis_length = 93.06375, eccentricity = 0.89863, convex_area = 15574.00000, extent = 0.57923, type = C + area = 12375.00000, perimeter = 451.08099, major_axis_length = 185.78116, minor_axis_length = 86.23738, eccentricity = 0.88574, convex_area = 12755.00000, extent = 0.64974, type = C + area = 12181.00000, perimeter = 434.81299, major_axis_length = 179.22531, minor_axis_length = 86.98540, eccentricity = 0.87432, convex_area = 12387.00000, extent = 0.72801, type = O + area = 13269.00000, perimeter = 485.61499, major_axis_length = 207.12245, minor_axis_length = 83.32397, eccentricity = 0.91551, convex_area = 13741.00000, extent = 0.71477, type = C + area = 12225.00000, perimeter = 444.14899, major_axis_length = 190.22061, minor_axis_length = 82.50629, eccentricity = 0.90104, convex_area = 12408.00000, extent = 0.79855, type = O + area = 14242.00000, perimeter = 495.73901, major_axis_length = 210.68092, minor_axis_length = 87.42849, eccentricity = 0.90983, convex_area = 14549.00000, extent = 0.64095, type = C + area = 11435.00000, perimeter = 424.24301, major_axis_length = 175.18497, minor_axis_length = 84.44195, eccentricity = 0.87616, convex_area = 11660.00000, extent = 0.80144, type = O + area = 15321.00000, perimeter = 513.00702, major_axis_length = 218.71196, minor_axis_length = 90.26067, eccentricity = 0.91087, convex_area = 15646.00000, extent = 0.71188, type = C + area = 15777.00000, perimeter = 515.68402, major_axis_length = 218.69824, minor_axis_length = 93.20509, eccentricity = 0.90464, convex_area = 16111.00000, extent = 0.56719, type = C + area = 11840.00000, perimeter = 420.14099, major_axis_length = 166.92889, minor_axis_length = 90.98129, eccentricity = 0.83842, convex_area = 12021.00000, extent = 0.79661, type = O + area = 9776.00000, perimeter = 403.67599, major_axis_length = 170.88005, minor_axis_length = 73.11127, eccentricity = 0.90385, convex_area = 9969.00000, extent = 0.64193, type = O + area = 14379.00000, perimeter = 494.30301, major_axis_length = 205.52626, minor_axis_length = 90.39722, eccentricity = 0.89808, convex_area = 14768.00000, extent = 0.57886, type = C + area = 14483.00000, perimeter = 512.72101, major_axis_length = 215.76816, minor_axis_length = 86.27912, eccentricity = 0.91657, convex_area = 14912.00000, extent = 0.53229, type = C + area = 13916.00000, perimeter = 478.87799, major_axis_length = 201.63968, minor_axis_length = 88.56097, eccentricity = 0.89839, convex_area = 14221.00000, extent = 0.60399, type = C + area = 14312.00000, perimeter = 488.41901, major_axis_length = 208.17024, minor_axis_length = 88.40865, eccentricity = 0.90534, convex_area = 14692.00000, extent = 0.79335, type = C + area = 12602.00000, perimeter = 465.91699, major_axis_length = 194.45514, minor_axis_length = 84.83201, eccentricity = 0.89982, convex_area = 13039.00000, extent = 0.65026, type = C + area = 13753.00000, perimeter = 461.13000, major_axis_length = 185.53104, minor_axis_length = 95.42747, eccentricity = 0.85758, convex_area = 13962.00000, extent = 0.65118, type = O + area = 12317.00000, perimeter = 442.81000, major_axis_length = 179.33533, minor_axis_length = 88.76385, eccentricity = 0.86892, convex_area = 12589.00000, extent = 0.66061, type = O + area = 10497.00000, perimeter = 417.50601, major_axis_length = 169.24020, minor_axis_length = 80.12229, eccentricity = 0.88083, convex_area = 10753.00000, extent = 0.58162, type = O + area = 14198.00000, perimeter = 485.90302, major_axis_length = 205.10435, minor_axis_length = 89.31972, eccentricity = 0.90020, convex_area = 14414.00000, extent = 0.56584, type = C + area = 13117.00000, perimeter = 451.86801, major_axis_length = 173.72090, minor_axis_length = 98.30622, eccentricity = 0.82448, convex_area = 13453.00000, extent = 0.65562, type = O + area = 15369.00000, perimeter = 499.26599, major_axis_length = 205.87529, minor_axis_length = 95.93622, eccentricity = 0.88479, convex_area = 15666.00000, extent = 0.61604, type = C + area = 11298.00000, perimeter = 436.65601, major_axis_length = 183.29942, minor_axis_length = 79.59326, eccentricity = 0.90080, convex_area = 11650.00000, extent = 0.72581, type = O + area = 12091.00000, perimeter = 436.27802, major_axis_length = 180.92755, minor_axis_length = 85.87906, eccentricity = 0.88017, convex_area = 12303.00000, extent = 0.62066, type = O + area = 10549.00000, perimeter = 414.44501, major_axis_length = 170.02101, minor_axis_length = 80.42478, eccentricity = 0.88105, convex_area = 10868.00000, extent = 0.61712, type = O + area = 13334.00000, perimeter = 470.52399, major_axis_length = 194.31920, minor_axis_length = 89.29185, eccentricity = 0.88817, convex_area = 13738.00000, extent = 0.62431, type = C + area = 16706.00000, perimeter = 533.62598, major_axis_length = 228.15617, minor_axis_length = 94.20754, eccentricity = 0.91077, convex_area = 17037.00000, extent = 0.63625, type = C + area = 15308.00000, perimeter = 513.98999, major_axis_length = 219.46791, minor_axis_length = 90.02393, eccentricity = 0.91200, convex_area = 15720.00000, extent = 0.76326, type = C + area = 12269.00000, perimeter = 436.01199, major_axis_length = 177.88475, minor_axis_length = 88.84811, eccentricity = 0.86633, convex_area = 12466.00000, extent = 0.74584, type = O + area = 11226.00000, perimeter = 413.54999, major_axis_length = 168.53348, minor_axis_length = 85.62770, eccentricity = 0.86131, convex_area = 11424.00000, extent = 0.77240, type = O + area = 15676.00000, perimeter = 512.33502, major_axis_length = 214.76785, minor_axis_length = 93.72194, eccentricity = 0.89976, convex_area = 15961.00000, extent = 0.77928, type = C + area = 15166.00000, perimeter = 502.16501, major_axis_length = 214.13986, minor_axis_length = 91.38511, eccentricity = 0.90437, convex_area = 15475.00000, extent = 0.79486, type = C + area = 12994.00000, perimeter = 460.94501, major_axis_length = 195.22110, minor_axis_length = 86.21172, eccentricity = 0.89721, convex_area = 13196.00000, extent = 0.81539, type = O + area = 12863.00000, perimeter = 448.50800, major_axis_length = 182.86191, minor_axis_length = 90.77281, eccentricity = 0.86809, convex_area = 13133.00000, extent = 0.73621, type = O + area = 12339.00000, perimeter = 453.26401, major_axis_length = 191.50438, minor_axis_length = 82.77469, eccentricity = 0.90176, convex_area = 12534.00000, extent = 0.61893, type = O + area = 12854.00000, perimeter = 474.13800, major_axis_length = 202.19571, minor_axis_length = 81.74696, eccentricity = 0.91463, convex_area = 13242.00000, extent = 0.64328, type = C + area = 13267.00000, perimeter = 465.03201, major_axis_length = 193.76559, minor_axis_length = 88.83870, eccentricity = 0.88870, convex_area = 13543.00000, extent = 0.66441, type = O + area = 10589.00000, perimeter = 408.75601, major_axis_length = 167.88341, minor_axis_length = 81.03699, eccentricity = 0.87579, convex_area = 10775.00000, extent = 0.61794, type = O + area = 12269.00000, perimeter = 435.65601, major_axis_length = 175.95552, minor_axis_length = 90.29810, eccentricity = 0.85828, convex_area = 12583.00000, extent = 0.77884, type = O + area = 11136.00000, perimeter = 419.52100, major_axis_length = 172.73734, minor_axis_length = 82.87894, eccentricity = 0.87738, convex_area = 11373.00000, extent = 0.70615, type = O + area = 10692.00000, perimeter = 410.25299, major_axis_length = 170.17923, minor_axis_length = 80.28889, eccentricity = 0.88171, convex_area = 10863.00000, extent = 0.63080, type = O + area = 11398.00000, perimeter = 431.73999, major_axis_length = 179.46735, minor_axis_length = 81.84264, eccentricity = 0.88996, convex_area = 11627.00000, extent = 0.59402, type = O + area = 12346.00000, perimeter = 456.90500, major_axis_length = 193.61288, minor_axis_length = 82.03561, eccentricity = 0.90580, convex_area = 12529.00000, extent = 0.58673, type = C + area = 10749.00000, perimeter = 412.42499, major_axis_length = 168.11682, minor_axis_length = 82.58827, eccentricity = 0.87102, convex_area = 11012.00000, extent = 0.70810, type = O + area = 11359.00000, perimeter = 420.87201, major_axis_length = 170.85472, minor_axis_length = 85.41528, eccentricity = 0.86607, convex_area = 11580.00000, extent = 0.61747, type = O + area = 10561.00000, perimeter = 405.73901, major_axis_length = 168.93852, minor_axis_length = 80.09080, eccentricity = 0.88048, convex_area = 10709.00000, extent = 0.60225, type = O + area = 12495.00000, perimeter = 451.31699, major_axis_length = 182.64162, minor_axis_length = 88.68121, eccentricity = 0.87421, convex_area = 12902.00000, extent = 0.59061, type = O + area = 11095.00000, perimeter = 423.24100, major_axis_length = 170.15504, minor_axis_length = 84.61758, eccentricity = 0.86758, convex_area = 11350.00000, extent = 0.77236, type = O + area = 12901.00000, perimeter = 475.30301, major_axis_length = 209.58597, minor_axis_length = 79.26891, eccentricity = 0.92572, convex_area = 13219.00000, extent = 0.68281, type = C + area = 13811.00000, perimeter = 482.29800, major_axis_length = 206.71475, minor_axis_length = 85.73662, eccentricity = 0.90993, convex_area = 14000.00000, extent = 0.55593, type = C + area = 12638.00000, perimeter = 454.56100, major_axis_length = 187.56937, minor_axis_length = 86.98496, eccentricity = 0.88597, convex_area = 12902.00000, extent = 0.76859, type = O + area = 10645.00000, perimeter = 417.80200, major_axis_length = 172.54459, minor_axis_length = 79.69215, eccentricity = 0.88695, convex_area = 10838.00000, extent = 0.61422, type = O + area = 13272.00000, perimeter = 471.89999, major_axis_length = 201.49469, minor_axis_length = 84.15379, eccentricity = 0.90861, convex_area = 13492.00000, extent = 0.56573, type = C + area = 11123.00000, perimeter = 426.85599, major_axis_length = 181.08180, minor_axis_length = 79.00098, eccentricity = 0.89981, convex_area = 11362.00000, extent = 0.76206, type = O + area = 13066.00000, perimeter = 478.00201, major_axis_length = 207.51675, minor_axis_length = 80.51567, eccentricity = 0.92166, convex_area = 13348.00000, extent = 0.55780, type = C + area = 14321.00000, perimeter = 490.42499, major_axis_length = 204.28038, minor_axis_length = 90.68298, eccentricity = 0.89607, convex_area = 14622.00000, extent = 0.57387, type = C + area = 13003.00000, perimeter = 478.58701, major_axis_length = 197.88121, minor_axis_length = 85.53159, eccentricity = 0.90176, convex_area = 13402.00000, extent = 0.58885, type = O + area = 12198.00000, perimeter = 440.20099, major_axis_length = 180.95660, minor_axis_length = 86.97328, eccentricity = 0.87692, convex_area = 12412.00000, extent = 0.60030, type = O + area = 12444.00000, perimeter = 445.87201, major_axis_length = 183.35057, minor_axis_length = 87.90731, eccentricity = 0.87757, convex_area = 12630.00000, extent = 0.60455, type = O + area = 10727.00000, perimeter = 425.90201, major_axis_length = 178.71443, minor_axis_length = 77.53144, eccentricity = 0.90100, convex_area = 10960.00000, extent = 0.56434, type = C + area = 12231.00000, perimeter = 450.55899, major_axis_length = 187.54214, minor_axis_length = 84.03810, eccentricity = 0.89398, convex_area = 12504.00000, extent = 0.70716, type = O + area = 11341.00000, perimeter = 437.56601, major_axis_length = 181.90344, minor_axis_length = 80.57669, eccentricity = 0.89654, convex_area = 11669.00000, extent = 0.76628, type = O + area = 14013.00000, perimeter = 458.91101, major_axis_length = 181.95149, minor_axis_length = 99.44376, eccentricity = 0.83743, convex_area = 14323.00000, extent = 0.79439, type = C + area = 14324.00000, perimeter = 487.25299, major_axis_length = 195.94514, minor_axis_length = 94.84135, eccentricity = 0.87506, convex_area = 14822.00000, extent = 0.75740, type = C + area = 14868.00000, perimeter = 510.43399, major_axis_length = 219.33379, minor_axis_length = 88.03912, eccentricity = 0.91591, convex_area = 15190.00000, extent = 0.79670, type = C + area = 12308.00000, perimeter = 451.60901, major_axis_length = 193.26753, minor_axis_length = 81.65989, eccentricity = 0.90635, convex_area = 12488.00000, extent = 0.72404, type = C + area = 11881.00000, perimeter = 424.26801, major_axis_length = 171.05518, minor_axis_length = 89.53734, eccentricity = 0.85206, convex_area = 12060.00000, extent = 0.77255, type = O + area = 14304.00000, perimeter = 489.03699, major_axis_length = 211.02661, minor_axis_length = 86.83942, eccentricity = 0.91141, convex_area = 14483.00000, extent = 0.57773, type = C + area = 16990.00000, perimeter = 535.33899, major_axis_length = 224.08717, minor_axis_length = 98.66264, eccentricity = 0.89786, convex_area = 17371.00000, extent = 0.60091, type = C + area = 14680.00000, perimeter = 502.90399, major_axis_length = 217.19501, minor_axis_length = 87.00278, eccentricity = 0.91626, convex_area = 15000.00000, extent = 0.58086, type = C + area = 13959.00000, perimeter = 477.26300, major_axis_length = 200.49440, minor_axis_length = 89.45984, eccentricity = 0.89494, convex_area = 14242.00000, extent = 0.71574, type = C + area = 13858.00000, perimeter = 475.95700, major_axis_length = 205.87390, minor_axis_length = 86.04459, eccentricity = 0.90847, convex_area = 14042.00000, extent = 0.65122, type = C + area = 10395.00000, perimeter = 415.29599, major_axis_length = 170.19351, minor_axis_length = 79.33728, eccentricity = 0.88470, convex_area = 10725.00000, extent = 0.60968, type = O + area = 11518.00000, perimeter = 428.70999, major_axis_length = 175.93608, minor_axis_length = 84.25156, eccentricity = 0.87788, convex_area = 11754.00000, extent = 0.66040, type = O + area = 14687.00000, perimeter = 498.39099, major_axis_length = 210.58044, minor_axis_length = 90.29588, eccentricity = 0.90340, convex_area = 14977.00000, extent = 0.56610, type = C + area = 13923.00000, perimeter = 488.70801, major_axis_length = 209.73746, minor_axis_length = 85.71608, eccentricity = 0.91268, convex_area = 14165.00000, extent = 0.53423, type = C + area = 14368.00000, perimeter = 491.56299, major_axis_length = 211.29707, minor_axis_length = 87.20802, eccentricity = 0.91085, convex_area = 14596.00000, extent = 0.62442, type = C + area = 14700.00000, perimeter = 506.46399, major_axis_length = 215.43030, minor_axis_length = 87.76008, eccentricity = 0.91326, convex_area = 15050.00000, extent = 0.70755, type = C + area = 13831.00000, perimeter = 483.61600, major_axis_length = 202.87578, minor_axis_length = 88.29086, eccentricity = 0.90034, convex_area = 14270.00000, extent = 0.59107, type = C + area = 12745.00000, perimeter = 470.30399, major_axis_length = 205.09268, minor_axis_length = 79.50904, eccentricity = 0.92180, convex_area = 12940.00000, extent = 0.53317, type = C + area = 12450.00000, perimeter = 443.37201, major_axis_length = 181.68210, minor_axis_length = 88.50525, eccentricity = 0.87332, convex_area = 12730.00000, extent = 0.71453, type = O + area = 11900.00000, perimeter = 442.42300, major_axis_length = 184.06094, minor_axis_length = 83.16405, eccentricity = 0.89210, convex_area = 12119.00000, extent = 0.60388, type = O + area = 15560.00000, perimeter = 502.96600, major_axis_length = 213.96318, minor_axis_length = 93.12080, eccentricity = 0.90032, convex_area = 15789.00000, extent = 0.78368, type = C + area = 11396.00000, perimeter = 446.28299, major_axis_length = 192.23241, minor_axis_length = 76.52646, eccentricity = 0.91734, convex_area = 11692.00000, extent = 0.64515, type = C + area = 12802.00000, perimeter = 457.66101, major_axis_length = 192.06297, minor_axis_length = 85.54150, eccentricity = 0.89534, convex_area = 13001.00000, extent = 0.75635, type = O + area = 12711.00000, perimeter = 470.16299, major_axis_length = 196.36380, minor_axis_length = 83.78096, eccentricity = 0.90441, convex_area = 13007.00000, extent = 0.56045, type = C + area = 14824.00000, perimeter = 499.07501, major_axis_length = 212.48642, minor_axis_length = 89.89487, eccentricity = 0.90610, convex_area = 15141.00000, extent = 0.57920, type = C + area = 11540.00000, perimeter = 427.52301, major_axis_length = 172.79500, minor_axis_length = 86.44035, eccentricity = 0.86588, convex_area = 11765.00000, extent = 0.60711, type = O + area = 12345.00000, perimeter = 440.19601, major_axis_length = 180.38937, minor_axis_length = 88.15686, eccentricity = 0.87245, convex_area = 12591.00000, extent = 0.73369, type = O + area = 13340.00000, perimeter = 474.68201, major_axis_length = 201.38533, minor_axis_length = 85.88859, eccentricity = 0.90449, convex_area = 13603.00000, extent = 0.70166, type = O + area = 12292.00000, perimeter = 447.48599, major_axis_length = 181.35670, minor_axis_length = 87.98663, eccentricity = 0.87443, convex_area = 12535.00000, extent = 0.59387, type = O + area = 11428.00000, perimeter = 418.61499, major_axis_length = 168.17899, minor_axis_length = 87.29835, eccentricity = 0.85473, convex_area = 11589.00000, extent = 0.62829, type = O + area = 13045.00000, perimeter = 446.00601, major_axis_length = 174.68977, minor_axis_length = 96.45602, eccentricity = 0.83374, convex_area = 13351.00000, extent = 0.63279, type = O + area = 10705.00000, perimeter = 414.33499, major_axis_length = 169.64690, minor_axis_length = 81.65568, eccentricity = 0.87654, convex_area = 10882.00000, extent = 0.77348, type = O + area = 11743.00000, perimeter = 432.54700, major_axis_length = 175.79793, minor_axis_length = 86.18153, eccentricity = 0.87159, convex_area = 12077.00000, extent = 0.73320, type = O + area = 14101.00000, perimeter = 479.31601, major_axis_length = 199.08714, minor_axis_length = 90.98013, eccentricity = 0.88947, convex_area = 14383.00000, extent = 0.61969, type = C + area = 14622.00000, perimeter = 481.61600, major_axis_length = 200.05356, minor_axis_length = 94.38364, eccentricity = 0.88171, convex_area = 14845.00000, extent = 0.60895, type = C + area = 16226.00000, perimeter = 524.20502, major_axis_length = 216.87326, minor_axis_length = 96.65368, eccentricity = 0.89520, convex_area = 16748.00000, extent = 0.64862, type = C + area = 9225.00000, perimeter = 387.82401, major_axis_length = 163.40498, minor_axis_length = 72.74552, eccentricity = 0.89544, convex_area = 9422.00000, extent = 0.58505, type = O + area = 12831.00000, perimeter = 452.72000, major_axis_length = 184.24652, minor_axis_length = 89.26257, eccentricity = 0.87481, convex_area = 13073.00000, extent = 0.61123, type = O + area = 10366.00000, perimeter = 403.45999, major_axis_length = 162.35617, minor_axis_length = 83.06848, eccentricity = 0.85920, convex_area = 10680.00000, extent = 0.70753, type = O + area = 16019.00000, perimeter = 509.01300, major_axis_length = 214.79094, minor_axis_length = 96.12421, eccentricity = 0.89427, convex_area = 16248.00000, extent = 0.65759, type = C + area = 11432.00000, perimeter = 424.17700, major_axis_length = 170.66464, minor_axis_length = 86.86543, eccentricity = 0.86078, convex_area = 11702.00000, extent = 0.66020, type = O + area = 9669.00000, perimeter = 388.60699, major_axis_length = 151.43846, minor_axis_length = 83.59090, eccentricity = 0.83386, convex_area = 10012.00000, extent = 0.73389, type = O + area = 14990.00000, perimeter = 507.78500, major_axis_length = 213.48546, minor_axis_length = 90.17632, eccentricity = 0.90641, convex_area = 15318.00000, extent = 0.56592, type = C + area = 11451.00000, perimeter = 426.24701, major_axis_length = 176.12180, minor_axis_length = 84.35532, eccentricity = 0.87784, convex_area = 11666.00000, extent = 0.60848, type = O + area = 13933.00000, perimeter = 483.93201, major_axis_length = 207.20593, minor_axis_length = 86.29932, eccentricity = 0.90914, convex_area = 14238.00000, extent = 0.58839, type = C + area = 18313.00000, perimeter = 538.49799, major_axis_length = 222.46425, minor_axis_length = 106.18475, eccentricity = 0.87873, convex_area = 18724.00000, extent = 0.62442, type = C + area = 12692.00000, perimeter = 465.17200, major_axis_length = 193.20732, minor_axis_length = 85.29054, eccentricity = 0.89729, convex_area = 13118.00000, extent = 0.71480, type = C + area = 15752.00000, perimeter = 519.88898, major_axis_length = 216.70204, minor_axis_length = 94.21913, eccentricity = 0.90053, convex_area = 16426.00000, extent = 0.60122, type = C + area = 12720.00000, perimeter = 472.23401, major_axis_length = 201.64085, minor_axis_length = 82.22842, eccentricity = 0.91307, convex_area = 13352.00000, extent = 0.74508, type = C + area = 11297.00000, perimeter = 418.95300, major_axis_length = 172.96742, minor_axis_length = 84.43346, eccentricity = 0.87276, convex_area = 11482.00000, extent = 0.62294, type = O + area = 12220.00000, perimeter = 436.98199, major_axis_length = 171.41092, minor_axis_length = 92.14523, eccentricity = 0.84322, convex_area = 12653.00000, extent = 0.62398, type = O + area = 10760.00000, perimeter = 420.94901, major_axis_length = 173.44466, minor_axis_length = 80.46677, eccentricity = 0.88587, convex_area = 11046.00000, extent = 0.58711, type = O + area = 13846.00000, perimeter = 479.58701, major_axis_length = 197.00459, minor_axis_length = 90.91550, eccentricity = 0.88715, convex_area = 14200.00000, extent = 0.71756, type = C + area = 11638.00000, perimeter = 451.00900, major_axis_length = 195.03613, minor_axis_length = 76.92903, eccentricity = 0.91892, convex_area = 11843.00000, extent = 0.54060, type = C + area = 10975.00000, perimeter = 412.73801, major_axis_length = 169.45012, minor_axis_length = 83.24361, eccentricity = 0.87101, convex_area = 11149.00000, extent = 0.78708, type = O + area = 11525.00000, perimeter = 432.29901, major_axis_length = 177.11610, minor_axis_length = 83.65916, eccentricity = 0.88142, convex_area = 11794.00000, extent = 0.64497, type = O + area = 13029.00000, perimeter = 466.88699, major_axis_length = 197.72624, minor_axis_length = 84.60393, eccentricity = 0.90383, convex_area = 13300.00000, extent = 0.61006, type = C + area = 12798.00000, perimeter = 469.29800, major_axis_length = 202.16541, minor_axis_length = 81.58068, eccentricity = 0.91496, convex_area = 13152.00000, extent = 0.78037, type = C + area = 11307.00000, perimeter = 424.89600, major_axis_length = 173.94365, minor_axis_length = 83.69766, eccentricity = 0.87662, convex_area = 11499.00000, extent = 0.73863, type = O + area = 14683.00000, perimeter = 493.57199, major_axis_length = 209.05197, minor_axis_length = 90.58433, eccentricity = 0.90124, convex_area = 14947.00000, extent = 0.70220, type = C + area = 14232.00000, perimeter = 505.88501, major_axis_length = 214.10287, minor_axis_length = 86.41411, eccentricity = 0.91493, convex_area = 14702.00000, extent = 0.52602, type = C + area = 13516.00000, perimeter = 483.68900, major_axis_length = 207.53192, minor_axis_length = 83.68568, eccentricity = 0.91509, convex_area = 13746.00000, extent = 0.70086, type = C + area = 13574.00000, perimeter = 488.49701, major_axis_length = 210.68631, minor_axis_length = 83.74447, eccentricity = 0.91761, convex_area = 13856.00000, extent = 0.55168, type = C + area = 17246.00000, perimeter = 540.54199, major_axis_length = 225.98886, minor_axis_length = 98.57315, eccentricity = 0.89986, convex_area = 17704.00000, extent = 0.57393, type = C + area = 13501.00000, perimeter = 472.48300, major_axis_length = 198.07204, minor_axis_length = 87.68961, eccentricity = 0.89666, convex_area = 13787.00000, extent = 0.63403, type = C + area = 11031.00000, perimeter = 421.29099, major_axis_length = 172.66736, minor_axis_length = 82.59618, eccentricity = 0.87817, convex_area = 11298.00000, extent = 0.72879, type = O + area = 13380.00000, perimeter = 469.17700, major_axis_length = 190.81332, minor_axis_length = 91.01315, eccentricity = 0.87892, convex_area = 13747.00000, extent = 0.61962, type = C + area = 14960.00000, perimeter = 510.72900, major_axis_length = 218.36987, minor_axis_length = 88.05952, eccentricity = 0.91509, convex_area = 15235.00000, extent = 0.57828, type = C + area = 14493.00000, perimeter = 487.33600, major_axis_length = 205.80229, minor_axis_length = 90.53880, eccentricity = 0.89803, convex_area = 14835.00000, extent = 0.75579, type = C + area = 12172.00000, perimeter = 431.19601, major_axis_length = 175.63828, minor_axis_length = 89.33349, eccentricity = 0.86099, convex_area = 12368.00000, extent = 0.60269, type = O + area = 11281.00000, perimeter = 424.97101, major_axis_length = 170.97597, minor_axis_length = 85.27378, eccentricity = 0.86675, convex_area = 11543.00000, extent = 0.68946, type = O + area = 14436.00000, perimeter = 486.98901, major_axis_length = 204.49770, minor_axis_length = 90.86436, eccentricity = 0.89586, convex_area = 14709.00000, extent = 0.64186, type = C + area = 11923.00000, perimeter = 432.33401, major_axis_length = 174.23662, minor_axis_length = 88.13160, eccentricity = 0.86264, convex_area = 12187.00000, extent = 0.62450, type = O + area = 14274.00000, perimeter = 499.08801, major_axis_length = 214.40253, minor_axis_length = 85.24677, eccentricity = 0.91756, convex_area = 14559.00000, extent = 0.65673, type = C + area = 13321.00000, perimeter = 467.40799, major_axis_length = 200.92029, minor_axis_length = 85.13779, eccentricity = 0.90578, convex_area = 13543.00000, extent = 0.59870, type = C + area = 14489.00000, perimeter = 496.38501, major_axis_length = 210.03639, minor_axis_length = 88.53156, eccentricity = 0.90683, convex_area = 14843.00000, extent = 0.61535, type = C + area = 13658.00000, perimeter = 499.37399, major_axis_length = 206.50974, minor_axis_length = 85.75655, eccentricity = 0.90970, convex_area = 14177.00000, extent = 0.54027, type = C + area = 16679.00000, perimeter = 528.55200, major_axis_length = 222.77959, minor_axis_length = 96.64007, eccentricity = 0.90101, convex_area = 17006.00000, extent = 0.56917, type = C + area = 11552.00000, perimeter = 432.81201, major_axis_length = 178.89076, minor_axis_length = 84.07980, eccentricity = 0.88266, convex_area = 11838.00000, extent = 0.63647, type = O + area = 12279.00000, perimeter = 455.41501, major_axis_length = 191.65334, minor_axis_length = 82.47570, eccentricity = 0.90267, convex_area = 12549.00000, extent = 0.59204, type = O + area = 15636.00000, perimeter = 504.18201, major_axis_length = 212.13625, minor_axis_length = 94.48931, eccentricity = 0.89532, convex_area = 15927.00000, extent = 0.74500, type = C + area = 14340.00000, perimeter = 499.09601, major_axis_length = 207.25108, minor_axis_length = 89.85896, eccentricity = 0.90112, convex_area = 14863.00000, extent = 0.66315, type = C + area = 11584.00000, perimeter = 434.73901, major_axis_length = 180.84743, minor_axis_length = 82.18375, eccentricity = 0.89078, convex_area = 11863.00000, extent = 0.68173, type = O + area = 11860.00000, perimeter = 427.02600, major_axis_length = 174.99043, minor_axis_length = 87.09915, eccentricity = 0.86733, convex_area = 12064.00000, extent = 0.61229, type = O + area = 12164.00000, perimeter = 436.60901, major_axis_length = 180.37566, minor_axis_length = 86.53325, eccentricity = 0.87741, convex_area = 12351.00000, extent = 0.63719, type = O + area = 11859.00000, perimeter = 436.25299, major_axis_length = 184.63538, minor_axis_length = 82.17491, eccentricity = 0.89550, convex_area = 12049.00000, extent = 0.64814, type = O + area = 13043.00000, perimeter = 471.35699, major_axis_length = 199.28964, minor_axis_length = 84.55070, eccentricity = 0.90554, convex_area = 13422.00000, extent = 0.73643, type = C + area = 13201.00000, perimeter = 461.51901, major_axis_length = 192.88509, minor_axis_length = 87.83331, eccentricity = 0.89030, convex_area = 13408.00000, extent = 0.63491, type = C + area = 14850.00000, perimeter = 500.29800, major_axis_length = 213.07790, minor_axis_length = 89.35130, eccentricity = 0.90783, convex_area = 15124.00000, extent = 0.58021, type = C + area = 12956.00000, perimeter = 458.65601, major_axis_length = 187.21146, minor_axis_length = 89.15869, eccentricity = 0.87931, convex_area = 13310.00000, extent = 0.71077, type = O + area = 14061.00000, perimeter = 470.74899, major_axis_length = 190.29001, minor_axis_length = 95.00540, eccentricity = 0.86645, convex_area = 14347.00000, extent = 0.61801, type = C + area = 11749.00000, perimeter = 455.25699, major_axis_length = 192.59000, minor_axis_length = 78.04095, eccentricity = 0.91422, convex_area = 12001.00000, extent = 0.60665, type = O + area = 13424.00000, perimeter = 481.17499, major_axis_length = 195.90002, minor_axis_length = 89.30524, eccentricity = 0.89005, convex_area = 13950.00000, extent = 0.65856, type = C + area = 10820.00000, perimeter = 424.78101, major_axis_length = 178.76576, minor_axis_length = 78.07856, eccentricity = 0.89958, convex_area = 11081.00000, extent = 0.71485, type = O + area = 10187.00000, perimeter = 404.96799, major_axis_length = 160.22644, minor_axis_length = 82.32900, eccentricity = 0.85789, convex_area = 10489.00000, extent = 0.61627, type = O + area = 13864.00000, perimeter = 491.44601, major_axis_length = 206.88370, minor_axis_length = 86.35062, eccentricity = 0.90873, convex_area = 14221.00000, extent = 0.71597, type = C + area = 12801.00000, perimeter = 459.42401, major_axis_length = 195.09933, minor_axis_length = 84.79961, eccentricity = 0.90060, convex_area = 13058.00000, extent = 0.76160, type = C + area = 14602.00000, perimeter = 500.23300, major_axis_length = 218.48805, minor_axis_length = 85.67758, eccentricity = 0.91991, convex_area = 14827.00000, extent = 0.58364, type = C + area = 14410.00000, perimeter = 483.80899, major_axis_length = 200.63506, minor_axis_length = 92.52118, eccentricity = 0.88733, convex_area = 14788.00000, extent = 0.58321, type = C + area = 12557.00000, perimeter = 443.01001, major_axis_length = 177.72878, minor_axis_length = 91.59944, eccentricity = 0.85696, convex_area = 12896.00000, extent = 0.63929, type = O + area = 11711.00000, perimeter = 447.00400, major_axis_length = 190.94492, minor_axis_length = 79.28987, eccentricity = 0.90971, convex_area = 11904.00000, extent = 0.59146, type = O + area = 13404.00000, perimeter = 476.20599, major_axis_length = 203.31157, minor_axis_length = 84.62199, eccentricity = 0.90926, convex_area = 13751.00000, extent = 0.63466, type = C + area = 14226.00000, perimeter = 491.38901, major_axis_length = 213.78671, minor_axis_length = 85.35412, eccentricity = 0.91684, convex_area = 14483.00000, extent = 0.66439, type = C + area = 11378.00000, perimeter = 426.61401, major_axis_length = 179.39221, minor_axis_length = 81.97147, eccentricity = 0.88950, convex_area = 11535.00000, extent = 0.59680, type = O + area = 12861.00000, perimeter = 471.92099, major_axis_length = 193.25092, minor_axis_length = 86.45822, eccentricity = 0.89434, convex_area = 13330.00000, extent = 0.63342, type = C + area = 11960.00000, perimeter = 440.94199, major_axis_length = 182.05344, minor_axis_length = 84.72266, eccentricity = 0.88511, convex_area = 12191.00000, extent = 0.62651, type = O + area = 14680.00000, perimeter = 495.44400, major_axis_length = 206.75375, minor_axis_length = 91.29646, eccentricity = 0.89723, convex_area = 15091.00000, extent = 0.61159, type = C + area = 14314.00000, perimeter = 484.73099, major_axis_length = 206.86554, minor_axis_length = 88.56290, eccentricity = 0.90372, convex_area = 14536.00000, extent = 0.75337, type = C + area = 11726.00000, perimeter = 450.74500, major_axis_length = 189.09308, minor_axis_length = 80.31675, eccentricity = 0.90531, convex_area = 12061.00000, extent = 0.55626, type = O + area = 10463.00000, perimeter = 417.35699, major_axis_length = 177.17612, minor_axis_length = 76.04584, eccentricity = 0.90320, convex_area = 10681.00000, extent = 0.58322, type = O + area = 13425.00000, perimeter = 477.19800, major_axis_length = 199.75636, minor_axis_length = 86.64097, eccentricity = 0.90104, convex_area = 13784.00000, extent = 0.61167, type = C + area = 14035.00000, perimeter = 480.62900, major_axis_length = 199.14839, minor_axis_length = 91.41090, eccentricity = 0.88843, convex_area = 14422.00000, extent = 0.71629, type = C + area = 9918.00000, perimeter = 398.95499, major_axis_length = 161.46761, minor_axis_length = 79.89353, eccentricity = 0.86901, convex_area = 10270.00000, extent = 0.62209, type = O + area = 13251.00000, perimeter = 460.53201, major_axis_length = 190.91631, minor_axis_length = 88.99756, eccentricity = 0.88470, convex_area = 13528.00000, extent = 0.74992, type = C + area = 15684.00000, perimeter = 513.89099, major_axis_length = 221.94533, minor_axis_length = 90.82513, eccentricity = 0.91243, convex_area = 15944.00000, extent = 0.78201, type = C + area = 14399.00000, perimeter = 484.08200, major_axis_length = 200.17354, minor_axis_length = 92.85159, eccentricity = 0.88591, convex_area = 14849.00000, extent = 0.60480, type = C + area = 14911.00000, perimeter = 494.08899, major_axis_length = 207.56024, minor_axis_length = 92.41061, eccentricity = 0.89542, convex_area = 15132.00000, extent = 0.60476, type = C + area = 11756.00000, perimeter = 438.77499, major_axis_length = 184.13535, minor_axis_length = 82.26664, eccentricity = 0.89465, convex_area = 11969.00000, extent = 0.65676, type = O + area = 10975.00000, perimeter = 420.52200, major_axis_length = 169.96675, minor_axis_length = 83.40964, eccentricity = 0.87131, convex_area = 11305.00000, extent = 0.68680, type = O + area = 11411.00000, perimeter = 430.93399, major_axis_length = 184.30925, minor_axis_length = 79.25813, eccentricity = 0.90282, convex_area = 11587.00000, extent = 0.64787, type = C + area = 15856.00000, perimeter = 509.01999, major_axis_length = 210.16438, minor_axis_length = 97.76022, eccentricity = 0.88523, convex_area = 16160.00000, extent = 0.76267, type = C + area = 12600.00000, perimeter = 441.23401, major_axis_length = 182.66325, minor_axis_length = 88.16089, eccentricity = 0.87582, convex_area = 12767.00000, extent = 0.60069, type = O + area = 13170.00000, perimeter = 472.10199, major_axis_length = 200.19543, minor_axis_length = 84.87552, eccentricity = 0.90568, convex_area = 13383.00000, extent = 0.54494, type = C + area = 11302.00000, perimeter = 418.95401, major_axis_length = 172.08990, minor_axis_length = 84.01643, eccentricity = 0.87272, convex_area = 11501.00000, extent = 0.62004, type = O + area = 13245.00000, perimeter = 476.13699, major_axis_length = 204.94440, minor_axis_length = 83.15825, eccentricity = 0.91398, convex_area = 13536.00000, extent = 0.79963, type = C + area = 14789.00000, perimeter = 492.95200, major_axis_length = 206.70868, minor_axis_length = 92.60357, eccentricity = 0.89404, convex_area = 15069.00000, extent = 0.74783, type = C + area = 11879.00000, perimeter = 446.14301, major_axis_length = 187.91023, minor_axis_length = 81.59092, eccentricity = 0.90082, convex_area = 12095.00000, extent = 0.65269, type = O + area = 14359.00000, perimeter = 506.08899, major_axis_length = 223.26085, minor_axis_length = 82.48141, eccentricity = 0.92925, convex_area = 14698.00000, extent = 0.53787, type = C + area = 12140.00000, perimeter = 441.49899, major_axis_length = 182.43399, minor_axis_length = 85.49819, eccentricity = 0.88338, convex_area = 12358.00000, extent = 0.58961, type = O + area = 11480.00000, perimeter = 432.82401, major_axis_length = 174.96246, minor_axis_length = 85.08846, eccentricity = 0.87378, convex_area = 11833.00000, extent = 0.59084, type = O + area = 16523.00000, perimeter = 531.89203, major_axis_length = 224.99542, minor_axis_length = 94.41770, eccentricity = 0.90769, convex_area = 16911.00000, extent = 0.57704, type = C + area = 16258.00000, perimeter = 518.77002, major_axis_length = 214.28647, minor_axis_length = 97.37901, eccentricity = 0.89078, convex_area = 16551.00000, extent = 0.70758, type = C + area = 10724.00000, perimeter = 421.69800, major_axis_length = 168.36853, minor_axis_length = 83.73533, eccentricity = 0.86756, convex_area = 10988.00000, extent = 0.59446, type = O + area = 9967.00000, perimeter = 400.21899, major_axis_length = 167.23888, minor_axis_length = 76.96323, eccentricity = 0.88782, convex_area = 10128.00000, extent = 0.66464, type = O + area = 10472.00000, perimeter = 412.98901, major_axis_length = 168.20355, minor_axis_length = 80.14660, eccentricity = 0.87918, convex_area = 10772.00000, extent = 0.61943, type = O + area = 11337.00000, perimeter = 427.95300, major_axis_length = 174.94444, minor_axis_length = 83.92398, eccentricity = 0.87742, convex_area = 11617.00000, extent = 0.59534, type = O + area = 12213.00000, perimeter = 452.40399, major_axis_length = 192.34183, minor_axis_length = 81.44420, eccentricity = 0.90593, convex_area = 12406.00000, extent = 0.64262, type = O + area = 10795.00000, perimeter = 411.29999, major_axis_length = 168.38956, minor_axis_length = 82.64345, eccentricity = 0.87128, convex_area = 11029.00000, extent = 0.76043, type = O + area = 9908.00000, perimeter = 432.76901, major_axis_length = 188.18768, minor_axis_length = 67.69534, eccentricity = 0.93306, convex_area = 10205.00000, extent = 0.61168, type = C + area = 12368.00000, perimeter = 455.02399, major_axis_length = 195.93935, minor_axis_length = 80.80906, eccentricity = 0.91099, convex_area = 12573.00000, extent = 0.79691, type = C + area = 14800.00000, perimeter = 502.61899, major_axis_length = 213.99492, minor_axis_length = 88.85567, eccentricity = 0.90972, convex_area = 15123.00000, extent = 0.79123, type = C + area = 14551.00000, perimeter = 502.11200, major_axis_length = 208.19244, minor_axis_length = 90.84801, eccentricity = 0.89977, convex_area = 14962.00000, extent = 0.55802, type = C + area = 15269.00000, perimeter = 519.76599, major_axis_length = 222.41956, minor_axis_length = 88.28183, eccentricity = 0.91786, convex_area = 15620.00000, extent = 0.56575, type = C + area = 11144.00000, perimeter = 427.12100, major_axis_length = 182.21642, minor_axis_length = 78.31834, eccentricity = 0.90292, convex_area = 11332.00000, extent = 0.68435, type = O + area = 13567.00000, perimeter = 475.17099, major_axis_length = 197.29468, minor_axis_length = 88.91294, eccentricity = 0.89270, convex_area = 13940.00000, extent = 0.63770, type = C + area = 11253.00000, perimeter = 422.87799, major_axis_length = 173.48373, minor_axis_length = 84.12681, eccentricity = 0.87456, convex_area = 11556.00000, extent = 0.75200, type = O + area = 13694.00000, perimeter = 464.56000, major_axis_length = 191.33110, minor_axis_length = 91.70782, eccentricity = 0.87764, convex_area = 13918.00000, extent = 0.70880, type = C + area = 14626.00000, perimeter = 496.58600, major_axis_length = 204.53413, minor_axis_length = 92.97487, eccentricity = 0.89071, convex_area = 15070.00000, extent = 0.57021, type = C + area = 13269.00000, perimeter = 458.49399, major_axis_length = 183.40436, minor_axis_length = 93.34014, eccentricity = 0.86081, convex_area = 13619.00000, extent = 0.61074, type = O + area = 12921.00000, perimeter = 477.12100, major_axis_length = 197.70015, minor_axis_length = 84.82759, eccentricity = 0.90327, convex_area = 13557.00000, extent = 0.72395, type = C + area = 13621.00000, perimeter = 478.75299, major_axis_length = 200.04332, minor_axis_length = 88.05669, eccentricity = 0.89791, convex_area = 14068.00000, extent = 0.62459, type = C + area = 13468.00000, perimeter = 475.39801, major_axis_length = 199.75359, minor_axis_length = 87.04467, eccentricity = 0.90006, convex_area = 13817.00000, extent = 0.57007, type = C + area = 12649.00000, perimeter = 459.94501, major_axis_length = 190.43697, minor_axis_length = 85.74950, eccentricity = 0.89289, convex_area = 12886.00000, extent = 0.69818, type = O + area = 12434.00000, perimeter = 437.89700, major_axis_length = 183.22873, minor_axis_length = 87.01015, eccentricity = 0.88006, convex_area = 12605.00000, extent = 0.72501, type = O + area = 12574.00000, perimeter = 444.63101, major_axis_length = 174.56026, minor_axis_length = 93.24240, eccentricity = 0.84539, convex_area = 12964.00000, extent = 0.65473, type = O + area = 15655.00000, perimeter = 488.90302, major_axis_length = 199.55669, minor_axis_length = 101.02621, eccentricity = 0.86238, convex_area = 15880.00000, extent = 0.63375, type = C + area = 10989.00000, perimeter = 431.12399, major_axis_length = 180.48004, minor_axis_length = 78.81408, eccentricity = 0.89961, convex_area = 11268.00000, extent = 0.68596, type = O + area = 15644.00000, perimeter = 501.11401, major_axis_length = 210.35762, minor_axis_length = 95.27699, eccentricity = 0.89155, convex_area = 15858.00000, extent = 0.78791, type = C + area = 11910.00000, perimeter = 427.27899, major_axis_length = 173.29544, minor_axis_length = 88.56226, eccentricity = 0.85955, convex_area = 12191.00000, extent = 0.77338, type = O + area = 13337.00000, perimeter = 471.84698, major_axis_length = 199.14467, minor_axis_length = 86.46564, eccentricity = 0.90082, convex_area = 13686.00000, extent = 0.66446, type = C + area = 12387.00000, perimeter = 445.61401, major_axis_length = 175.62965, minor_axis_length = 91.31130, eccentricity = 0.85422, convex_area = 12789.00000, extent = 0.65512, type = O + area = 10367.00000, perimeter = 412.00500, major_axis_length = 173.72050, minor_axis_length = 76.78864, eccentricity = 0.89700, convex_area = 10591.00000, extent = 0.61974, type = O + area = 14881.00000, perimeter = 495.61801, major_axis_length = 206.66783, minor_axis_length = 93.32417, eccentricity = 0.89224, convex_area = 15225.00000, extent = 0.58398, type = C + area = 10600.00000, perimeter = 414.86600, major_axis_length = 174.65054, minor_axis_length = 78.23211, eccentricity = 0.89407, convex_area = 10800.00000, extent = 0.60282, type = O + area = 13054.00000, perimeter = 478.45300, major_axis_length = 203.21964, minor_axis_length = 83.08085, eccentricity = 0.91261, convex_area = 13329.00000, extent = 0.79988, type = O + area = 15147.00000, perimeter = 510.01599, major_axis_length = 213.15617, minor_axis_length = 91.69269, eccentricity = 0.90275, convex_area = 15719.00000, extent = 0.58874, type = C + area = 10871.00000, perimeter = 414.67401, major_axis_length = 165.74614, minor_axis_length = 85.62849, eccentricity = 0.85621, convex_area = 11224.00000, extent = 0.76610, type = O + area = 11322.00000, perimeter = 415.88599, major_axis_length = 169.72362, minor_axis_length = 85.80435, eccentricity = 0.86280, convex_area = 11512.00000, extent = 0.61426, type = O + area = 14792.00000, perimeter = 499.20300, major_axis_length = 206.16061, minor_axis_length = 92.68034, eccentricity = 0.89325, convex_area = 15326.00000, extent = 0.69469, type = C + area = 13870.00000, perimeter = 484.12701, major_axis_length = 203.41826, minor_axis_length = 88.50323, eccentricity = 0.90039, convex_area = 14266.00000, extent = 0.75652, type = C + area = 11757.00000, perimeter = 441.24200, major_axis_length = 182.59586, minor_axis_length = 82.91640, eccentricity = 0.89095, convex_area = 11967.00000, extent = 0.60172, type = O + area = 15926.00000, perimeter = 522.73999, major_axis_length = 225.73605, minor_axis_length = 91.05709, eccentricity = 0.91503, convex_area = 16240.00000, extent = 0.77977, type = C + area = 11226.00000, perimeter = 416.08200, major_axis_length = 166.27264, minor_axis_length = 87.09694, eccentricity = 0.85183, convex_area = 11515.00000, extent = 0.63546, type = O + area = 14316.00000, perimeter = 488.98599, major_axis_length = 204.42427, minor_axis_length = 90.14910, eccentricity = 0.89751, convex_area = 14731.00000, extent = 0.56418, type = C + area = 16155.00000, perimeter = 515.28003, major_axis_length = 217.60548, minor_axis_length = 95.48460, eccentricity = 0.89859, convex_area = 16418.00000, extent = 0.58332, type = C + area = 9483.00000, perimeter = 390.99799, major_axis_length = 157.25992, minor_axis_length = 78.63333, eccentricity = 0.86601, convex_area = 9817.00000, extent = 0.65786, type = O + area = 13920.00000, perimeter = 480.11200, major_axis_length = 195.67007, minor_axis_length = 92.54844, eccentricity = 0.88107, convex_area = 14350.00000, extent = 0.57711, type = C + area = 13283.00000, perimeter = 477.28900, major_axis_length = 198.27066, minor_axis_length = 86.35545, eccentricity = 0.90017, convex_area = 13616.00000, extent = 0.61113, type = C + area = 12406.00000, perimeter = 433.57199, major_axis_length = 175.89287, minor_axis_length = 91.14063, eccentricity = 0.85528, convex_area = 12639.00000, extent = 0.79653, type = O + area = 14011.00000, perimeter = 475.87299, major_axis_length = 197.72864, minor_axis_length = 91.15908, eccentricity = 0.88738, convex_area = 14315.00000, extent = 0.77761, type = C + area = 14180.00000, perimeter = 485.17099, major_axis_length = 204.10718, minor_axis_length = 89.36078, eccentricity = 0.89907, convex_area = 14471.00000, extent = 0.61981, type = C + area = 13615.00000, perimeter = 468.05600, major_axis_length = 192.82779, minor_axis_length = 91.15475, eccentricity = 0.88121, convex_area = 13855.00000, extent = 0.58363, type = C + area = 15404.00000, perimeter = 499.23099, major_axis_length = 206.08693, minor_axis_length = 95.63304, eccentricity = 0.88581, convex_area = 15740.00000, extent = 0.62476, type = C + area = 16059.00000, perimeter = 522.72400, major_axis_length = 217.85014, minor_axis_length = 95.15388, eccentricity = 0.89957, convex_area = 16675.00000, extent = 0.68846, type = C + area = 14518.00000, perimeter = 491.22198, major_axis_length = 203.76106, minor_axis_length = 92.34290, eccentricity = 0.89141, convex_area = 14877.00000, extent = 0.74132, type = C + area = 14625.00000, perimeter = 492.95200, major_axis_length = 206.58922, minor_axis_length = 91.43079, eccentricity = 0.89673, convex_area = 14972.00000, extent = 0.73953, type = C + area = 9516.00000, perimeter = 386.82101, major_axis_length = 155.52449, minor_axis_length = 79.22836, eccentricity = 0.86051, convex_area = 9753.00000, extent = 0.69888, type = O + area = 11859.00000, perimeter = 444.80099, major_axis_length = 183.55276, minor_axis_length = 83.57420, eccentricity = 0.89033, convex_area = 12213.00000, extent = 0.76313, type = C + area = 12563.00000, perimeter = 457.36301, major_axis_length = 183.51143, minor_axis_length = 88.70047, eccentricity = 0.87543, convex_area = 12877.00000, extent = 0.59349, type = O + area = 16588.00000, perimeter = 531.39502, major_axis_length = 221.88550, minor_axis_length = 96.65257, eccentricity = 0.90014, convex_area = 16854.00000, extent = 0.57899, type = C + area = 11150.00000, perimeter = 416.89899, major_axis_length = 168.02025, minor_axis_length = 85.60217, eccentricity = 0.86049, convex_area = 11420.00000, extent = 0.72572, type = O + area = 12706.00000, perimeter = 463.45099, major_axis_length = 194.18146, minor_axis_length = 84.88486, eccentricity = 0.89939, convex_area = 13011.00000, extent = 0.79731, type = C + area = 12188.00000, perimeter = 441.28299, major_axis_length = 181.47725, minor_axis_length = 86.31769, eccentricity = 0.87964, convex_area = 12364.00000, extent = 0.60146, type = O + area = 12233.00000, perimeter = 425.18100, major_axis_length = 170.94611, minor_axis_length = 92.01291, eccentricity = 0.84278, convex_area = 12388.00000, extent = 0.64276, type = O + area = 16734.00000, perimeter = 531.50702, major_axis_length = 220.69548, minor_axis_length = 97.83933, eccentricity = 0.89636, convex_area = 17242.00000, extent = 0.65711, type = C + area = 14456.00000, perimeter = 497.98801, major_axis_length = 210.53189, minor_axis_length = 88.88429, eccentricity = 0.90651, convex_area = 14865.00000, extent = 0.67805, type = C + area = 12092.00000, perimeter = 449.18900, major_axis_length = 192.57950, minor_axis_length = 80.42228, eccentricity = 0.90863, convex_area = 12298.00000, extent = 0.58393, type = C + area = 13651.00000, perimeter = 502.07999, major_axis_length = 222.07356, minor_axis_length = 79.33727, eccentricity = 0.93401, convex_area = 14034.00000, extent = 0.79265, type = C + area = 13560.00000, perimeter = 479.19901, major_axis_length = 197.55803, minor_axis_length = 88.77229, eccentricity = 0.89336, convex_area = 14033.00000, extent = 0.69177, type = C + area = 13272.00000, perimeter = 474.92700, major_axis_length = 195.77855, minor_axis_length = 87.16515, eccentricity = 0.89542, convex_area = 13597.00000, extent = 0.58606, type = C + area = 12723.00000, perimeter = 465.94199, major_axis_length = 197.75232, minor_axis_length = 83.90300, eccentricity = 0.90553, convex_area = 12974.00000, extent = 0.68315, type = C + area = 14641.00000, perimeter = 505.00201, major_axis_length = 211.58365, minor_axis_length = 90.03343, eccentricity = 0.90495, convex_area = 15034.00000, extent = 0.62956, type = C + area = 14802.00000, perimeter = 497.83200, major_axis_length = 209.61795, minor_axis_length = 91.14713, eccentricity = 0.90051, convex_area = 15208.00000, extent = 0.62298, type = C + area = 11145.00000, perimeter = 421.24301, major_axis_length = 170.03070, minor_axis_length = 84.57749, eccentricity = 0.86751, convex_area = 11376.00000, extent = 0.63613, type = O + area = 14235.00000, perimeter = 505.84500, major_axis_length = 214.15660, minor_axis_length = 87.47984, eccentricity = 0.91276, convex_area = 14687.00000, extent = 0.68257, type = C + area = 12437.00000, perimeter = 434.67200, major_axis_length = 174.96619, minor_axis_length = 91.87350, eccentricity = 0.85104, convex_area = 12670.00000, extent = 0.72863, type = O + area = 13524.00000, perimeter = 472.73499, major_axis_length = 192.08578, minor_axis_length = 91.37777, eccentricity = 0.87960, convex_area = 13947.00000, extent = 0.59630, type = O + area = 10841.00000, perimeter = 410.33200, major_axis_length = 167.11496, minor_axis_length = 84.25272, eccentricity = 0.86361, convex_area = 11079.00000, extent = 0.73449, type = O + area = 13891.00000, perimeter = 486.93799, major_axis_length = 209.80476, minor_axis_length = 85.73843, eccentricity = 0.91269, convex_area = 14170.00000, extent = 0.82847, type = C + area = 12863.00000, perimeter = 457.19101, major_axis_length = 195.70039, minor_axis_length = 84.50079, eccentricity = 0.90198, convex_area = 13023.00000, extent = 0.80859, type = C + area = 14482.00000, perimeter = 486.16299, major_axis_length = 201.81453, minor_axis_length = 92.54988, eccentricity = 0.88865, convex_area = 14825.00000, extent = 0.64256, type = C + area = 12752.00000, perimeter = 462.35999, major_axis_length = 190.73418, minor_axis_length = 86.67176, eccentricity = 0.89079, convex_area = 13112.00000, extent = 0.62843, type = C + area = 17135.00000, perimeter = 525.93799, major_axis_length = 217.72835, minor_axis_length = 101.15462, eccentricity = 0.88553, convex_area = 17471.00000, extent = 0.59373, type = C + area = 12387.00000, perimeter = 444.22501, major_axis_length = 178.09758, minor_axis_length = 90.58177, eccentricity = 0.86100, convex_area = 12753.00000, extent = 0.64328, type = O + area = 15830.00000, perimeter = 516.23199, major_axis_length = 220.81924, minor_axis_length = 92.34399, eccentricity = 0.90836, convex_area = 16074.00000, extent = 0.70144, type = C + area = 14478.00000, perimeter = 469.16101, major_axis_length = 190.84772, minor_axis_length = 97.34319, eccentricity = 0.86014, convex_area = 14686.00000, extent = 0.76542, type = C + area = 13413.00000, perimeter = 465.60501, major_axis_length = 198.85272, minor_axis_length = 86.09415, eccentricity = 0.90142, convex_area = 13620.00000, extent = 0.63533, type = C + area = 14784.00000, perimeter = 481.98599, major_axis_length = 200.02716, minor_axis_length = 94.98056, eccentricity = 0.88007, convex_area = 15005.00000, extent = 0.72159, type = C + area = 14414.00000, perimeter = 476.32101, major_axis_length = 194.85976, minor_axis_length = 94.98595, eccentricity = 0.87315, convex_area = 14664.00000, extent = 0.66387, type = O + area = 13445.00000, perimeter = 490.81500, major_axis_length = 216.17297, minor_axis_length = 79.60010, eccentricity = 0.92974, convex_area = 13640.00000, extent = 0.53544, type = C + area = 12190.00000, perimeter = 445.89499, major_axis_length = 185.75694, minor_axis_length = 84.64902, eccentricity = 0.89013, convex_area = 12386.00000, extent = 0.71622, type = O + area = 12339.00000, perimeter = 435.93701, major_axis_length = 173.02742, minor_axis_length = 92.28986, eccentricity = 0.84587, convex_area = 12646.00000, extent = 0.73749, type = O + area = 13787.00000, perimeter = 474.33801, major_axis_length = 194.69463, minor_axis_length = 91.07733, eccentricity = 0.88384, convex_area = 14075.00000, extent = 0.61618, type = C + area = 13548.00000, perimeter = 479.74899, major_axis_length = 203.27188, minor_axis_length = 85.60246, eccentricity = 0.90700, convex_area = 13850.00000, extent = 0.55443, type = C + area = 14250.00000, perimeter = 486.12399, major_axis_length = 201.21893, minor_axis_length = 91.93982, eccentricity = 0.88951, convex_area = 14636.00000, extent = 0.59368, type = C + area = 12045.00000, perimeter = 452.30899, major_axis_length = 193.51352, minor_axis_length = 80.27762, eccentricity = 0.90989, convex_area = 12368.00000, extent = 0.55242, type = C + area = 15056.00000, perimeter = 499.17099, major_axis_length = 202.89360, minor_axis_length = 96.13976, eccentricity = 0.88061, convex_area = 15517.00000, extent = 0.70355, type = C + area = 12161.00000, perimeter = 430.58701, major_axis_length = 171.62476, minor_axis_length = 92.09138, eccentricity = 0.84385, convex_area = 12460.00000, extent = 0.68870, type = O + area = 12675.00000, perimeter = 453.35199, major_axis_length = 191.33682, minor_axis_length = 85.13000, eccentricity = 0.89557, convex_area = 12856.00000, extent = 0.57185, type = O + area = 13147.00000, perimeter = 468.92001, major_axis_length = 199.22775, minor_axis_length = 84.48080, eccentricity = 0.90564, convex_area = 13431.00000, extent = 0.68474, type = C + area = 15540.00000, perimeter = 516.31598, major_axis_length = 217.38722, minor_axis_length = 92.47346, eccentricity = 0.90501, convex_area = 16084.00000, extent = 0.63248, type = C + area = 10360.00000, perimeter = 411.23999, major_axis_length = 169.40111, minor_axis_length = 78.57223, eccentricity = 0.88593, convex_area = 10538.00000, extent = 0.78485, type = O + area = 12709.00000, perimeter = 461.01199, major_axis_length = 190.77875, minor_axis_length = 87.41280, eccentricity = 0.88885, convex_area = 13064.00000, extent = 0.78693, type = C + area = 13777.00000, perimeter = 480.83600, major_axis_length = 197.00587, minor_axis_length = 90.18475, eccentricity = 0.88907, convex_area = 14266.00000, extent = 0.63264, type = C + area = 11351.00000, perimeter = 417.69299, major_axis_length = 171.05106, minor_axis_length = 85.54869, eccentricity = 0.86595, convex_area = 11549.00000, extent = 0.74326, type = O + area = 12311.00000, perimeter = 450.33499, major_axis_length = 194.44675, minor_axis_length = 81.31934, eccentricity = 0.90835, convex_area = 12441.00000, extent = 0.55656, type = O + area = 13555.00000, perimeter = 477.87000, major_axis_length = 202.63708, minor_axis_length = 85.78796, eccentricity = 0.90596, convex_area = 13851.00000, extent = 0.57806, type = C + area = 12215.00000, perimeter = 445.29501, major_axis_length = 180.90947, minor_axis_length = 87.40585, eccentricity = 0.87554, convex_area = 12448.00000, extent = 0.58811, type = O + area = 12879.00000, perimeter = 476.57700, major_axis_length = 203.16597, minor_axis_length = 81.26083, eccentricity = 0.91653, convex_area = 13105.00000, extent = 0.66039, type = C + area = 15480.00000, perimeter = 494.27600, major_axis_length = 201.78700, minor_axis_length = 98.61820, eccentricity = 0.87244, convex_area = 15760.00000, extent = 0.66239, type = C + area = 14060.00000, perimeter = 496.03500, major_axis_length = 211.37552, minor_axis_length = 85.93526, eccentricity = 0.91363, convex_area = 14448.00000, extent = 0.67260, type = C + area = 14404.00000, perimeter = 486.48401, major_axis_length = 206.77576, minor_axis_length = 89.47427, eccentricity = 0.90153, convex_area = 14658.00000, extent = 0.79457, type = C + area = 17856.00000, perimeter = 530.41602, major_axis_length = 223.29236, minor_axis_length = 102.90128, eccentricity = 0.88749, convex_area = 18062.00000, extent = 0.79572, type = C + area = 10737.00000, perimeter = 412.30600, major_axis_length = 165.55162, minor_axis_length = 83.92193, eccentricity = 0.86199, convex_area = 11017.00000, extent = 0.61410, type = O + area = 14412.00000, perimeter = 490.32401, major_axis_length = 207.47614, minor_axis_length = 89.68951, eccentricity = 0.90174, convex_area = 14703.00000, extent = 0.59885, type = C + area = 11083.00000, perimeter = 421.78699, major_axis_length = 171.48567, minor_axis_length = 83.67474, eccentricity = 0.87288, convex_area = 11415.00000, extent = 0.69766, type = O + area = 13586.00000, perimeter = 467.02399, major_axis_length = 191.15112, minor_axis_length = 91.84377, eccentricity = 0.87701, convex_area = 13888.00000, extent = 0.79871, type = O + area = 13677.00000, perimeter = 467.24799, major_axis_length = 191.01180, minor_axis_length = 91.82099, eccentricity = 0.87688, convex_area = 13901.00000, extent = 0.65503, type = O + area = 13413.00000, perimeter = 475.39001, major_axis_length = 196.85678, minor_axis_length = 87.78819, eccentricity = 0.89506, convex_area = 13917.00000, extent = 0.57101, type = C + area = 13708.00000, perimeter = 486.39600, major_axis_length = 204.62373, minor_axis_length = 86.33973, eccentricity = 0.90662, convex_area = 14361.00000, extent = 0.58068, type = C + area = 10510.00000, perimeter = 416.71100, major_axis_length = 174.78029, minor_axis_length = 77.30443, eccentricity = 0.89687, convex_area = 10691.00000, extent = 0.58833, type = O + area = 12331.00000, perimeter = 441.44000, major_axis_length = 175.60992, minor_axis_length = 90.82543, eccentricity = 0.85586, convex_area = 12617.00000, extent = 0.61940, type = O + area = 10187.00000, perimeter = 409.35699, major_axis_length = 170.06361, minor_axis_length = 77.55087, eccentricity = 0.88997, convex_area = 10391.00000, extent = 0.68539, type = O + area = 11321.00000, perimeter = 424.57599, major_axis_length = 173.99763, minor_axis_length = 84.73989, eccentricity = 0.87339, convex_area = 11631.00000, extent = 0.62190, type = O + area = 14467.00000, perimeter = 498.62399, major_axis_length = 213.59563, minor_axis_length = 86.99999, eccentricity = 0.91329, convex_area = 14857.00000, extent = 0.74076, type = C + area = 13058.00000, perimeter = 451.31400, major_axis_length = 181.87367, minor_axis_length = 92.20594, eccentricity = 0.86196, convex_area = 13310.00000, extent = 0.62809, type = O + area = 11245.00000, perimeter = 421.54800, major_axis_length = 174.57549, minor_axis_length = 82.91380, eccentricity = 0.88002, convex_area = 11475.00000, extent = 0.68193, type = O + area = 11780.00000, perimeter = 444.99200, major_axis_length = 190.96028, minor_axis_length = 78.85174, eccentricity = 0.91077, convex_area = 11956.00000, extent = 0.78070, type = O + area = 10666.00000, perimeter = 416.42401, major_axis_length = 173.89351, minor_axis_length = 78.45744, eccentricity = 0.89243, convex_area = 10825.00000, extent = 0.59474, type = O + area = 10335.00000, perimeter = 416.85001, major_axis_length = 178.79919, minor_axis_length = 74.70861, eccentricity = 0.90852, convex_area = 10504.00000, extent = 0.71153, type = O + area = 11703.00000, perimeter = 422.05301, major_axis_length = 166.01041, minor_axis_length = 91.12495, eccentricity = 0.83588, convex_area = 12023.00000, extent = 0.65376, type = O + area = 12013.00000, perimeter = 458.35901, major_axis_length = 195.08231, minor_axis_length = 79.64271, eccentricity = 0.91287, convex_area = 12330.00000, extent = 0.61017, type = O + area = 11966.00000, perimeter = 456.84601, major_axis_length = 194.27026, minor_axis_length = 79.35069, eccentricity = 0.91278, convex_area = 12337.00000, extent = 0.57460, type = C + area = 12708.00000, perimeter = 437.45401, major_axis_length = 174.35812, minor_axis_length = 93.84775, eccentricity = 0.84279, convex_area = 12893.00000, extent = 0.64344, type = O + area = 11335.00000, perimeter = 426.58401, major_axis_length = 172.74699, minor_axis_length = 85.12077, eccentricity = 0.87017, convex_area = 11618.00000, extent = 0.66676, type = O + area = 11912.00000, perimeter = 439.63599, major_axis_length = 179.97760, minor_axis_length = 85.30270, eccentricity = 0.88054, convex_area = 12222.00000, extent = 0.60396, type = O + area = 13857.00000, perimeter = 498.02899, major_axis_length = 220.26657, minor_axis_length = 80.39958, eccentricity = 0.93100, convex_area = 14053.00000, extent = 0.50795, type = C + area = 13513.00000, perimeter = 473.10300, major_axis_length = 196.27908, minor_axis_length = 89.51603, eccentricity = 0.88995, convex_area = 13867.00000, extent = 0.74939, type = C + area = 11119.00000, perimeter = 427.04599, major_axis_length = 178.81313, minor_axis_length = 80.61784, eccentricity = 0.89260, convex_area = 11420.00000, extent = 0.79071, type = O + area = 15757.00000, perimeter = 509.28101, major_axis_length = 207.29668, minor_axis_length = 98.33614, eccentricity = 0.88032, convex_area = 16150.00000, extent = 0.58971, type = C + area = 13469.00000, perimeter = 475.08701, major_axis_length = 203.24782, minor_axis_length = 84.86798, eccentricity = 0.90865, convex_area = 13739.00000, extent = 0.72778, type = C + area = 11690.00000, perimeter = 432.51901, major_axis_length = 183.02663, minor_axis_length = 82.30772, eccentricity = 0.89318, convex_area = 11846.00000, extent = 0.57891, type = O + area = 12224.00000, perimeter = 438.97601, major_axis_length = 177.13861, minor_axis_length = 88.43137, eccentricity = 0.86647, convex_area = 12445.00000, extent = 0.60626, type = O + area = 11000.00000, perimeter = 413.26099, major_axis_length = 167.33331, minor_axis_length = 84.73780, eccentricity = 0.86230, convex_area = 11158.00000, extent = 0.79365, type = O + area = 13277.00000, perimeter = 486.95599, major_axis_length = 201.83914, minor_axis_length = 85.25986, eccentricity = 0.90640, convex_area = 13771.00000, extent = 0.61105, type = C + area = 11747.00000, perimeter = 452.12701, major_axis_length = 194.49486, minor_axis_length = 78.74446, eccentricity = 0.91438, convex_area = 11935.00000, extent = 0.54264, type = C + area = 10395.00000, perimeter = 403.01001, major_axis_length = 169.25749, minor_axis_length = 78.73082, eccentricity = 0.88523, convex_area = 10559.00000, extent = 0.59332, type = O + area = 13033.00000, perimeter = 466.13901, major_axis_length = 198.20711, minor_axis_length = 84.51666, eccentricity = 0.90453, convex_area = 13234.00000, extent = 0.76927, type = O + area = 14041.00000, perimeter = 481.94800, major_axis_length = 204.59848, minor_axis_length = 88.18790, eccentricity = 0.90234, convex_area = 14284.00000, extent = 0.57231, type = C + area = 13634.00000, perimeter = 491.17999, major_axis_length = 209.13353, minor_axis_length = 83.73373, eccentricity = 0.91635, convex_area = 14075.00000, extent = 0.78791, type = C + area = 12539.00000, perimeter = 437.42599, major_axis_length = 174.90057, minor_axis_length = 92.72463, eccentricity = 0.84790, convex_area = 12835.00000, extent = 0.78738, type = O + area = 10770.00000, perimeter = 405.50400, major_axis_length = 158.72882, minor_axis_length = 87.61263, eccentricity = 0.83387, convex_area = 11097.00000, extent = 0.66605, type = O + area = 14423.00000, perimeter = 507.08200, major_axis_length = 221.53348, minor_axis_length = 83.90892, eccentricity = 0.92549, convex_area = 14703.00000, extent = 0.54222, type = C + area = 14542.00000, perimeter = 490.14600, major_axis_length = 208.42993, minor_axis_length = 89.25758, eccentricity = 0.90367, convex_area = 14747.00000, extent = 0.55413, type = C + area = 16030.00000, perimeter = 512.85303, major_axis_length = 210.24748, minor_axis_length = 97.63129, eccentricity = 0.88564, convex_area = 16306.00000, extent = 0.59780, type = C + area = 14623.00000, perimeter = 499.31299, major_axis_length = 208.22838, minor_axis_length = 91.47314, eccentricity = 0.89834, convex_area = 15085.00000, extent = 0.58357, type = C + area = 13580.00000, perimeter = 464.35699, major_axis_length = 190.38063, minor_axis_length = 91.37227, eccentricity = 0.87730, convex_area = 13781.00000, extent = 0.62731, type = C + area = 16602.00000, perimeter = 528.35303, major_axis_length = 224.41542, minor_axis_length = 95.47276, eccentricity = 0.90499, convex_area = 16900.00000, extent = 0.56548, type = C + area = 13988.00000, perimeter = 491.48901, major_axis_length = 208.36464, minor_axis_length = 86.78497, eccentricity = 0.90913, convex_area = 14427.00000, extent = 0.61311, type = C + area = 12362.00000, perimeter = 448.11200, major_axis_length = 181.03906, minor_axis_length = 88.52608, eccentricity = 0.87229, convex_area = 12720.00000, extent = 0.63278, type = O + area = 13451.00000, perimeter = 485.55899, major_axis_length = 205.94966, minor_axis_length = 84.31606, eccentricity = 0.91235, convex_area = 13862.00000, extent = 0.59996, type = C + area = 11836.00000, perimeter = 456.37900, major_axis_length = 201.86960, minor_axis_length = 75.45857, eccentricity = 0.92751, convex_area = 12084.00000, extent = 0.75321, type = C + area = 12103.00000, perimeter = 446.08099, major_axis_length = 181.47110, minor_axis_length = 86.55187, eccentricity = 0.87893, convex_area = 12444.00000, extent = 0.57469, type = O + area = 11742.00000, perimeter = 428.03400, major_axis_length = 171.23189, minor_axis_length = 88.02340, eccentricity = 0.85775, convex_area = 11951.00000, extent = 0.63044, type = O + area = 10713.00000, perimeter = 443.40399, major_axis_length = 192.88618, minor_axis_length = 71.78690, eccentricity = 0.92816, convex_area = 10969.00000, extent = 0.69610, type = O + area = 12895.00000, perimeter = 449.51300, major_axis_length = 186.66151, minor_axis_length = 88.58875, eccentricity = 0.88020, convex_area = 13072.00000, extent = 0.58475, type = O + area = 13314.00000, perimeter = 457.69800, major_axis_length = 182.67232, minor_axis_length = 94.06268, eccentricity = 0.85723, convex_area = 13562.00000, extent = 0.61451, type = O + area = 16788.00000, perimeter = 533.48798, major_axis_length = 230.12933, minor_axis_length = 93.76288, eccentricity = 0.91323, convex_area = 17041.00000, extent = 0.57268, type = C + area = 9679.00000, perimeter = 399.84799, major_axis_length = 168.53922, minor_axis_length = 74.09880, eccentricity = 0.89817, convex_area = 9917.00000, extent = 0.62510, type = O + area = 14434.00000, perimeter = 477.61899, major_axis_length = 200.38988, minor_axis_length = 92.38155, eccentricity = 0.88740, convex_area = 14660.00000, extent = 0.78343, type = C + area = 13443.00000, perimeter = 459.73099, major_axis_length = 188.01236, minor_axis_length = 92.69482, eccentricity = 0.87002, convex_area = 13707.00000, extent = 0.74201, type = O + area = 13589.00000, perimeter = 479.83600, major_axis_length = 201.71178, minor_axis_length = 87.16551, eccentricity = 0.90181, convex_area = 13908.00000, extent = 0.58934, type = O + area = 10815.00000, perimeter = 414.06201, major_axis_length = 171.35051, minor_axis_length = 80.88232, eccentricity = 0.88158, convex_area = 11015.00000, extent = 0.72765, type = O + area = 11237.00000, perimeter = 429.53000, major_axis_length = 179.38393, minor_axis_length = 80.49435, eccentricity = 0.89367, convex_area = 11430.00000, extent = 0.59043, type = O + area = 11394.00000, perimeter = 416.16299, major_axis_length = 167.26898, minor_axis_length = 88.10797, eccentricity = 0.85002, convex_area = 11543.00000, extent = 0.78422, type = O + area = 14205.00000, perimeter = 487.35101, major_axis_length = 204.33224, minor_axis_length = 89.63425, eccentricity = 0.89865, convex_area = 14637.00000, extent = 0.77369, type = C + area = 13875.00000, perimeter = 490.83801, major_axis_length = 207.13223, minor_axis_length = 87.32526, eccentricity = 0.90679, convex_area = 14243.00000, extent = 0.57563, type = C + area = 11004.00000, perimeter = 412.22699, major_axis_length = 171.55356, minor_axis_length = 82.59552, eccentricity = 0.87647, convex_area = 11199.00000, extent = 0.69893, type = O + area = 12220.00000, perimeter = 425.04599, major_axis_length = 170.33270, minor_axis_length = 91.93887, eccentricity = 0.84182, convex_area = 12385.00000, extent = 0.72171, type = O + area = 13056.00000, perimeter = 485.66101, major_axis_length = 205.52965, minor_axis_length = 82.62533, eccentricity = 0.91563, convex_area = 13492.00000, extent = 0.53642, type = O + area = 12831.00000, perimeter = 455.24200, major_axis_length = 187.26712, minor_axis_length = 88.07062, eccentricity = 0.88251, convex_area = 13084.00000, extent = 0.61652, type = O + area = 15676.00000, perimeter = 509.22400, major_axis_length = 212.90775, minor_axis_length = 94.76167, eccentricity = 0.89549, convex_area = 16009.00000, extent = 0.57463, type = C + area = 12432.00000, perimeter = 453.04001, major_axis_length = 190.54366, minor_axis_length = 84.25046, eccentricity = 0.89694, convex_area = 12728.00000, extent = 0.76575, type = O + area = 13258.00000, perimeter = 476.09100, major_axis_length = 195.30478, minor_axis_length = 88.26482, eccentricity = 0.89205, convex_area = 13583.00000, extent = 0.57543, type = O + area = 10780.00000, perimeter = 407.15799, major_axis_length = 163.39302, minor_axis_length = 85.59428, eccentricity = 0.85181, convex_area = 11096.00000, extent = 0.67375, type = O + area = 12921.00000, perimeter = 476.74600, major_axis_length = 206.22263, minor_axis_length = 80.40368, eccentricity = 0.92086, convex_area = 13218.00000, extent = 0.54692, type = C + area = 13167.00000, perimeter = 466.66400, major_axis_length = 197.12506, minor_axis_length = 86.21641, eccentricity = 0.89928, convex_area = 13448.00000, extent = 0.58099, type = C + area = 12752.00000, perimeter = 453.49500, major_axis_length = 185.51085, minor_axis_length = 89.19170, eccentricity = 0.87684, convex_area = 13105.00000, extent = 0.68317, type = O + area = 12509.00000, perimeter = 464.50900, major_axis_length = 201.53149, minor_axis_length = 79.65081, eccentricity = 0.91858, convex_area = 12703.00000, extent = 0.54482, type = C + area = 12470.00000, perimeter = 455.89700, major_axis_length = 192.46115, minor_axis_length = 83.39553, eccentricity = 0.90124, convex_area = 12704.00000, extent = 0.58130, type = C + area = 13652.00000, perimeter = 486.62799, major_axis_length = 210.34523, minor_axis_length = 83.29913, eccentricity = 0.91825, convex_area = 13950.00000, extent = 0.57980, type = C + area = 11136.00000, perimeter = 417.76700, major_axis_length = 170.42235, minor_axis_length = 84.60592, eccentricity = 0.86807, convex_area = 11384.00000, extent = 0.78461, type = O + area = 14005.00000, perimeter = 485.45599, major_axis_length = 207.13385, minor_axis_length = 86.87551, eccentricity = 0.90779, convex_area = 14212.00000, extent = 0.56381, type = C + area = 11969.00000, perimeter = 442.15900, major_axis_length = 177.60011, minor_axis_length = 87.86295, eccentricity = 0.86905, convex_area = 12352.00000, extent = 0.59273, type = O + area = 14944.00000, perimeter = 490.04401, major_axis_length = 201.34654, minor_axis_length = 96.04632, eccentricity = 0.87889, convex_area = 15305.00000, extent = 0.61066, type = C + area = 14329.00000, perimeter = 486.27701, major_axis_length = 206.57230, minor_axis_length = 89.21240, eccentricity = 0.90194, convex_area = 14588.00000, extent = 0.81276, type = C + area = 15161.00000, perimeter = 498.79099, major_axis_length = 208.25204, minor_axis_length = 93.86026, eccentricity = 0.89267, convex_area = 15541.00000, extent = 0.64057, type = C + area = 14254.00000, perimeter = 500.49399, major_axis_length = 213.07532, minor_axis_length = 86.78432, eccentricity = 0.91330, convex_area = 14644.00000, extent = 0.62285, type = C + area = 14070.00000, perimeter = 484.21600, major_axis_length = 203.28004, minor_axis_length = 89.09188, eccentricity = 0.89884, convex_area = 14448.00000, extent = 0.56734, type = C + area = 13574.00000, perimeter = 473.22101, major_axis_length = 197.87277, minor_axis_length = 88.44189, eccentricity = 0.89455, convex_area = 13879.00000, extent = 0.64125, type = C + area = 11711.00000, perimeter = 423.93701, major_axis_length = 175.11882, minor_axis_length = 85.90813, eccentricity = 0.87140, convex_area = 11866.00000, extent = 0.81056, type = O + area = 14289.00000, perimeter = 488.48499, major_axis_length = 208.57388, minor_axis_length = 88.30962, eccentricity = 0.90594, convex_area = 14572.00000, extent = 0.79207, type = C + area = 14451.00000, perimeter = 487.22000, major_axis_length = 201.29469, minor_axis_length = 92.73952, eccentricity = 0.88755, convex_area = 14776.00000, extent = 0.64727, type = C + area = 13567.00000, perimeter = 473.57501, major_axis_length = 195.35312, minor_axis_length = 89.23708, eccentricity = 0.88957, convex_area = 14020.00000, extent = 0.64679, type = C + area = 12292.00000, perimeter = 457.28601, major_axis_length = 194.88832, minor_axis_length = 80.99094, eccentricity = 0.90956, convex_area = 12561.00000, extent = 0.56383, type = C + area = 11112.00000, perimeter = 429.65302, major_axis_length = 172.42714, minor_axis_length = 83.92387, eccentricity = 0.87356, convex_area = 11472.00000, extent = 0.60921, type = O + area = 10005.00000, perimeter = 394.09900, major_axis_length = 161.26289, minor_axis_length = 79.95715, eccentricity = 0.86843, convex_area = 10220.00000, extent = 0.71875, type = O + area = 13923.00000, perimeter = 462.70001, major_axis_length = 189.52571, minor_axis_length = 94.52522, eccentricity = 0.86675, convex_area = 14186.00000, extent = 0.72995, type = O + area = 16024.00000, perimeter = 527.42102, major_axis_length = 226.26277, minor_axis_length = 91.60111, eccentricity = 0.91439, convex_area = 16355.00000, extent = 0.53569, type = C + area = 10911.00000, perimeter = 424.55701, major_axis_length = 173.75375, minor_axis_length = 81.32339, eccentricity = 0.88371, convex_area = 11135.00000, extent = 0.64946, type = O + area = 11593.00000, perimeter = 442.67001, major_axis_length = 189.76744, minor_axis_length = 78.48376, eccentricity = 0.91047, convex_area = 11806.00000, extent = 0.63067, type = O + area = 12005.00000, perimeter = 440.26501, major_axis_length = 180.68211, minor_axis_length = 85.73723, eccentricity = 0.88024, convex_area = 12319.00000, extent = 0.60302, type = O + area = 13282.00000, perimeter = 470.25800, major_axis_length = 199.71138, minor_axis_length = 85.10118, eccentricity = 0.90467, convex_area = 13513.00000, extent = 0.67162, type = C + area = 14229.00000, perimeter = 485.11899, major_axis_length = 206.59769, minor_axis_length = 88.72133, eccentricity = 0.90310, convex_area = 14455.00000, extent = 0.74517, type = C + area = 10083.00000, perimeter = 402.93201, major_axis_length = 169.02681, minor_axis_length = 76.98230, eccentricity = 0.89026, convex_area = 10283.00000, extent = 0.64461, type = O + area = 15050.00000, perimeter = 502.59100, major_axis_length = 206.38658, minor_axis_length = 93.80850, eccentricity = 0.89073, convex_area = 15464.00000, extent = 0.59122, type = C + area = 11889.00000, perimeter = 439.98901, major_axis_length = 186.10785, minor_axis_length = 82.14304, eccentricity = 0.89732, convex_area = 12096.00000, extent = 0.79771, type = O + area = 11411.00000, perimeter = 429.10101, major_axis_length = 175.35614, minor_axis_length = 83.65203, eccentricity = 0.87888, convex_area = 11636.00000, extent = 0.59806, type = O + area = 12110.00000, perimeter = 421.95499, major_axis_length = 164.96596, minor_axis_length = 94.69146, eccentricity = 0.81885, convex_area = 12319.00000, extent = 0.66110, type = O + area = 9236.00000, perimeter = 394.34100, major_axis_length = 160.92889, minor_axis_length = 74.24968, eccentricity = 0.88720, convex_area = 9465.00000, extent = 0.57739, type = O + area = 13142.00000, perimeter = 464.65100, major_axis_length = 194.74500, minor_axis_length = 86.58730, eccentricity = 0.89572, convex_area = 13406.00000, extent = 0.66133, type = C + area = 14688.00000, perimeter = 507.16699, major_axis_length = 211.74338, minor_axis_length = 89.31245, eccentricity = 0.90669, convex_area = 15262.00000, extent = 0.64602, type = C + area = 14608.00000, perimeter = 483.16101, major_axis_length = 201.03494, minor_axis_length = 93.46073, eccentricity = 0.88536, convex_area = 14845.00000, extent = 0.65501, type = O + area = 14469.00000, perimeter = 484.46701, major_axis_length = 204.24918, minor_axis_length = 90.72005, eccentricity = 0.89595, convex_area = 14701.00000, extent = 0.65873, type = C + area = 11689.00000, perimeter = 434.87701, major_axis_length = 183.56999, minor_axis_length = 81.76421, eccentricity = 0.89533, convex_area = 11856.00000, extent = 0.57232, type = O + area = 8813.00000, perimeter = 387.72101, major_axis_length = 164.17770, minor_axis_length = 68.98608, eccentricity = 0.90744, convex_area = 9005.00000, extent = 0.73737, type = O + area = 12274.00000, perimeter = 456.12399, major_axis_length = 194.48738, minor_axis_length = 81.23903, eccentricity = 0.90858, convex_area = 12562.00000, extent = 0.70964, type = C + area = 10211.00000, perimeter = 392.35300, major_axis_length = 163.19708, minor_axis_length = 80.24487, eccentricity = 0.87076, convex_area = 10348.00000, extent = 0.75347, type = O + area = 10884.00000, perimeter = 406.71899, major_axis_length = 156.77713, minor_axis_length = 89.60812, eccentricity = 0.82056, convex_area = 11233.00000, extent = 0.72367, type = O + area = 15786.00000, perimeter = 500.86099, major_axis_length = 205.46724, minor_axis_length = 98.81665, eccentricity = 0.87676, convex_area = 16127.00000, extent = 0.61091, type = C + area = 10815.00000, perimeter = 420.81500, major_axis_length = 179.96773, minor_axis_length = 77.09937, eccentricity = 0.90359, convex_area = 10981.00000, extent = 0.56921, type = O + area = 14788.00000, perimeter = 480.96201, major_axis_length = 199.06255, minor_axis_length = 95.53792, eccentricity = 0.87730, convex_area = 15044.00000, extent = 0.65751, type = C + area = 14558.00000, perimeter = 496.30499, major_axis_length = 204.36063, minor_axis_length = 91.95660, eccentricity = 0.89304, convex_area = 14908.00000, extent = 0.56947, type = C + area = 11370.00000, perimeter = 444.68799, major_axis_length = 188.17796, minor_axis_length = 77.82491, eccentricity = 0.91047, convex_area = 11676.00000, extent = 0.58851, type = O + area = 11993.00000, perimeter = 438.07401, major_axis_length = 175.54008, minor_axis_length = 88.08393, eccentricity = 0.86499, convex_area = 12359.00000, extent = 0.60773, type = O + area = 14181.00000, perimeter = 485.24500, major_axis_length = 206.85828, minor_axis_length = 87.94334, eccentricity = 0.90513, convex_area = 14423.00000, extent = 0.64783, type = C + area = 11147.00000, perimeter = 417.46201, major_axis_length = 169.33272, minor_axis_length = 84.87740, eccentricity = 0.86530, convex_area = 11331.00000, extent = 0.71547, type = O + area = 14115.00000, perimeter = 490.40799, major_axis_length = 207.95955, minor_axis_length = 87.42121, eccentricity = 0.90735, convex_area = 14580.00000, extent = 0.57058, type = C + area = 13737.00000, perimeter = 484.38501, major_axis_length = 209.54352, minor_axis_length = 84.16575, eccentricity = 0.91579, convex_area = 13944.00000, extent = 0.60521, type = C + area = 12032.00000, perimeter = 437.30301, major_axis_length = 176.75156, minor_axis_length = 87.45618, eccentricity = 0.86901, convex_area = 12264.00000, extent = 0.64143, type = O + area = 11585.00000, perimeter = 428.37299, major_axis_length = 171.56198, minor_axis_length = 87.44052, eccentricity = 0.86037, convex_area = 11939.00000, extent = 0.60890, type = O + area = 14547.00000, perimeter = 491.04401, major_axis_length = 206.65707, minor_axis_length = 90.17514, eccentricity = 0.89978, convex_area = 14780.00000, extent = 0.59322, type = C + area = 12053.00000, perimeter = 449.60400, major_axis_length = 189.50099, minor_axis_length = 82.26611, eccentricity = 0.90086, convex_area = 12295.00000, extent = 0.56446, type = O + area = 11748.00000, perimeter = 446.69501, major_axis_length = 190.21332, minor_axis_length = 79.88956, eccentricity = 0.90752, convex_area = 11926.00000, extent = 0.80976, type = O + area = 15009.00000, perimeter = 507.41699, major_axis_length = 217.13300, minor_axis_length = 88.92488, eccentricity = 0.91229, convex_area = 15387.00000, extent = 0.59859, type = C + area = 13062.00000, perimeter = 467.46399, major_axis_length = 197.80243, minor_axis_length = 85.39855, eccentricity = 0.90200, convex_area = 13272.00000, extent = 0.62408, type = C + area = 14431.00000, perimeter = 497.06299, major_axis_length = 212.04567, minor_axis_length = 87.85142, eccentricity = 0.91014, convex_area = 14805.00000, extent = 0.64864, type = C + area = 11986.00000, perimeter = 433.29401, major_axis_length = 173.22505, minor_axis_length = 89.39893, eccentricity = 0.85654, convex_area = 12243.00000, extent = 0.62242, type = O + area = 11715.00000, perimeter = 429.16599, major_axis_length = 171.09964, minor_axis_length = 89.10729, eccentricity = 0.85368, convex_area = 12066.00000, extent = 0.64953, type = O + area = 9753.00000, perimeter = 402.57901, major_axis_length = 170.61418, minor_axis_length = 73.31348, eccentricity = 0.90297, convex_area = 10028.00000, extent = 0.56421, type = O + area = 14586.00000, perimeter = 489.54401, major_axis_length = 206.59869, minor_axis_length = 91.26047, eccentricity = 0.89715, convex_area = 14897.00000, extent = 0.79557, type = C + area = 12155.00000, perimeter = 434.27499, major_axis_length = 174.77681, minor_axis_length = 89.50150, eccentricity = 0.85893, convex_area = 12388.00000, extent = 0.80295, type = O + area = 14009.00000, perimeter = 481.97699, major_axis_length = 198.52509, minor_axis_length = 91.06323, eccentricity = 0.88859, convex_area = 14455.00000, extent = 0.68420, type = O + area = 11249.00000, perimeter = 418.93799, major_axis_length = 168.60863, minor_axis_length = 86.19229, eccentricity = 0.85946, convex_area = 11423.00000, extent = 0.62190, type = O + area = 11606.00000, perimeter = 432.31400, major_axis_length = 185.70374, minor_axis_length = 80.28008, eccentricity = 0.90173, convex_area = 11756.00000, extent = 0.83275, type = O + area = 14828.00000, perimeter = 493.50000, major_axis_length = 209.90356, minor_axis_length = 90.66991, eccentricity = 0.90189, convex_area = 15090.00000, extent = 0.60651, type = C + area = 11994.00000, perimeter = 444.76099, major_axis_length = 183.44913, minor_axis_length = 84.42697, eccentricity = 0.88780, convex_area = 12262.00000, extent = 0.72419, type = O + area = 11993.00000, perimeter = 444.56500, major_axis_length = 187.18291, minor_axis_length = 82.64057, eccentricity = 0.89726, convex_area = 12276.00000, extent = 0.58737, type = C + area = 11421.00000, perimeter = 441.16101, major_axis_length = 189.52185, minor_axis_length = 77.25662, eccentricity = 0.91314, convex_area = 11610.00000, extent = 0.55179, type = C + area = 13273.00000, perimeter = 463.33301, major_axis_length = 197.45279, minor_axis_length = 85.99747, eccentricity = 0.90017, convex_area = 13462.00000, extent = 0.58582, type = C + area = 16283.00000, perimeter = 516.73602, major_axis_length = 217.70950, minor_axis_length = 96.08863, eccentricity = 0.89733, convex_area = 16649.00000, extent = 0.78006, type = C + area = 13681.00000, perimeter = 478.53799, major_axis_length = 202.76108, minor_axis_length = 87.02304, eccentricity = 0.90321, convex_area = 14015.00000, extent = 0.64194, type = C + area = 14252.00000, perimeter = 493.11401, major_axis_length = 202.65460, minor_axis_length = 91.30965, eccentricity = 0.89274, convex_area = 14627.00000, extent = 0.56377, type = C + area = 13404.00000, perimeter = 468.21500, major_axis_length = 191.54842, minor_axis_length = 90.53830, eccentricity = 0.88124, convex_area = 13804.00000, extent = 0.70651, type = C + area = 11856.00000, perimeter = 456.42200, major_axis_length = 201.00337, minor_axis_length = 75.42108, eccentricity = 0.92693, convex_area = 12027.00000, extent = 0.71646, type = C + area = 12587.00000, perimeter = 461.78101, major_axis_length = 193.99495, minor_axis_length = 83.73389, eccentricity = 0.90205, convex_area = 12910.00000, extent = 0.66952, type = O + area = 14590.00000, perimeter = 496.17200, major_axis_length = 212.10075, minor_axis_length = 88.60241, eccentricity = 0.90857, convex_area = 14883.00000, extent = 0.57148, type = C + area = 14712.00000, perimeter = 503.71100, major_axis_length = 217.60973, minor_axis_length = 87.28523, eccentricity = 0.91603, convex_area = 15109.00000, extent = 0.80314, type = C + area = 12556.00000, perimeter = 474.02399, major_axis_length = 207.95442, minor_axis_length = 77.71007, eccentricity = 0.92755, convex_area = 12832.00000, extent = 0.56482, type = C + area = 11339.00000, perimeter = 423.97000, major_axis_length = 171.70662, minor_axis_length = 85.35773, eccentricity = 0.86769, convex_area = 11531.00000, extent = 0.67919, type = O + area = 12121.00000, perimeter = 439.84201, major_axis_length = 183.46703, minor_axis_length = 84.76440, eccentricity = 0.88687, convex_area = 12389.00000, extent = 0.64874, type = O + area = 13431.00000, perimeter = 482.53000, major_axis_length = 212.45061, minor_axis_length = 81.18548, eccentricity = 0.92411, convex_area = 13786.00000, extent = 0.77798, type = C + area = 13487.00000, perimeter = 473.72198, major_axis_length = 197.11966, minor_axis_length = 87.78462, eccentricity = 0.89536, convex_area = 13773.00000, extent = 0.75141, type = C + area = 13792.00000, perimeter = 475.78201, major_axis_length = 196.70659, minor_axis_length = 90.34711, eccentricity = 0.88828, convex_area = 14183.00000, extent = 0.77327, type = C + area = 13927.00000, perimeter = 479.35501, major_axis_length = 202.79362, minor_axis_length = 88.48322, eccentricity = 0.89979, convex_area = 14264.00000, extent = 0.77085, type = C + area = 9216.00000, perimeter = 384.34201, major_axis_length = 163.29163, minor_axis_length = 72.26080, eccentricity = 0.89676, convex_area = 9352.00000, extent = 0.62477, type = O + area = 10828.00000, perimeter = 410.06900, major_axis_length = 166.37714, minor_axis_length = 84.09660, eccentricity = 0.86285, convex_area = 11093.00000, extent = 0.72852, type = O + area = 10534.00000, perimeter = 409.62500, major_axis_length = 167.98820, minor_axis_length = 80.67377, eccentricity = 0.87714, convex_area = 10753.00000, extent = 0.60961, type = O + area = 14998.00000, perimeter = 496.90399, major_axis_length = 215.95027, minor_axis_length = 89.39609, eccentricity = 0.91029, convex_area = 15279.00000, extent = 0.82484, type = C + area = 13677.00000, perimeter = 485.52899, major_axis_length = 207.39461, minor_axis_length = 85.14314, eccentricity = 0.91184, convex_area = 13874.00000, extent = 0.58566, type = C + area = 10800.00000, perimeter = 406.48300, major_axis_length = 163.40897, minor_axis_length = 85.19110, eccentricity = 0.85335, convex_area = 10960.00000, extent = 0.63066, type = O + area = 11201.00000, perimeter = 416.53500, major_axis_length = 171.00299, minor_axis_length = 84.24180, eccentricity = 0.87024, convex_area = 11384.00000, extent = 0.75764, type = O + area = 15062.00000, perimeter = 492.06500, major_axis_length = 198.02740, minor_axis_length = 99.11066, eccentricity = 0.86574, convex_area = 15584.00000, extent = 0.78415, type = O + area = 15236.00000, perimeter = 497.27701, major_axis_length = 209.16156, minor_axis_length = 94.06530, eccentricity = 0.89317, convex_area = 15563.00000, extent = 0.76371, type = C + area = 14890.00000, perimeter = 502.54099, major_axis_length = 206.22853, minor_axis_length = 93.45731, eccentricity = 0.89142, convex_area = 15349.00000, extent = 0.58982, type = C + area = 10962.00000, perimeter = 415.00000, major_axis_length = 170.09814, minor_axis_length = 82.88567, eccentricity = 0.87325, convex_area = 11152.00000, extent = 0.62037, type = O + area = 12912.00000, perimeter = 459.73901, major_axis_length = 188.73036, minor_axis_length = 88.96233, eccentricity = 0.88193, convex_area = 13205.00000, extent = 0.69048, type = O + area = 12935.00000, perimeter = 462.98001, major_axis_length = 195.30432, minor_axis_length = 85.48748, eccentricity = 0.89911, convex_area = 13213.00000, extent = 0.75304, type = C + area = 10926.00000, perimeter = 416.22299, major_axis_length = 173.41998, minor_axis_length = 80.86935, eccentricity = 0.88462, convex_area = 11113.00000, extent = 0.63236, type = O + area = 11813.00000, perimeter = 430.25500, major_axis_length = 172.56953, minor_axis_length = 88.02676, eccentricity = 0.86012, convex_area = 12088.00000, extent = 0.71750, type = O + area = 10955.00000, perimeter = 419.99500, major_axis_length = 172.93109, minor_axis_length = 81.46967, eccentricity = 0.88207, convex_area = 11147.00000, extent = 0.61459, type = O + area = 14918.00000, perimeter = 500.27100, major_axis_length = 210.42461, minor_axis_length = 91.21054, eccentricity = 0.90117, convex_area = 15185.00000, extent = 0.64073, type = C + area = 14972.00000, perimeter = 501.86600, major_axis_length = 208.83842, minor_axis_length = 92.89321, eccentricity = 0.89563, convex_area = 15476.00000, extent = 0.72708, type = C + area = 10849.00000, perimeter = 410.49399, major_axis_length = 167.98471, minor_axis_length = 82.65473, eccentricity = 0.87057, convex_area = 11025.00000, extent = 0.60915, type = O + area = 13211.00000, perimeter = 476.65900, major_axis_length = 204.86453, minor_axis_length = 82.88512, eccentricity = 0.91450, convex_area = 13608.00000, extent = 0.71088, type = C + area = 13742.00000, perimeter = 493.85400, major_axis_length = 212.60800, minor_axis_length = 84.88686, eccentricity = 0.91684, convex_area = 14272.00000, extent = 0.58323, type = C + area = 14362.00000, perimeter = 479.93100, major_axis_length = 202.70265, minor_axis_length = 90.70675, eccentricity = 0.89429, convex_area = 14606.00000, extent = 0.59147, type = C + area = 16259.00000, perimeter = 522.62201, major_axis_length = 215.50919, minor_axis_length = 97.42146, eccentricity = 0.89199, convex_area = 16728.00000, extent = 0.58435, type = C + area = 15093.00000, perimeter = 509.30499, major_axis_length = 214.42812, minor_axis_length = 90.88328, eccentricity = 0.90574, convex_area = 15497.00000, extent = 0.57262, type = C + area = 11665.00000, perimeter = 430.44000, major_axis_length = 172.60129, minor_axis_length = 87.70522, eccentricity = 0.86128, convex_area = 11972.00000, extent = 0.61022, type = O + area = 13495.00000, perimeter = 466.95901, major_axis_length = 196.39554, minor_axis_length = 88.21306, eccentricity = 0.89345, convex_area = 13725.00000, extent = 0.68958, type = C + area = 14619.00000, perimeter = 493.52399, major_axis_length = 209.53288, minor_axis_length = 89.80801, eccentricity = 0.90349, convex_area = 14973.00000, extent = 0.61231, type = C + area = 12060.00000, perimeter = 438.77499, major_axis_length = 177.40103, minor_axis_length = 87.37785, eccentricity = 0.87029, convex_area = 12420.00000, extent = 0.64867, type = O + area = 11307.00000, perimeter = 437.88000, major_axis_length = 181.03758, minor_axis_length = 80.66364, eccentricity = 0.89525, convex_area = 11662.00000, extent = 0.71845, type = O + area = 13621.00000, perimeter = 473.89899, major_axis_length = 198.84587, minor_axis_length = 88.42869, eccentricity = 0.89567, convex_area = 13989.00000, extent = 0.60846, type = C + area = 9876.00000, perimeter = 384.45999, major_axis_length = 156.16476, minor_axis_length = 81.23887, eccentricity = 0.85404, convex_area = 9999.00000, extent = 0.63235, type = O + area = 14747.00000, perimeter = 494.94199, major_axis_length = 209.20590, minor_axis_length = 90.64754, eccentricity = 0.90125, convex_area = 15124.00000, extent = 0.55603, type = C + area = 11014.00000, perimeter = 411.21799, major_axis_length = 167.13171, minor_axis_length = 85.07861, eccentricity = 0.86074, convex_area = 11185.00000, extent = 0.69660, type = O + area = 15700.00000, perimeter = 505.30301, major_axis_length = 209.98842, minor_axis_length = 96.19489, eccentricity = 0.88890, convex_area = 16040.00000, extent = 0.59007, type = C + area = 15077.00000, perimeter = 504.63699, major_axis_length = 212.94246, minor_axis_length = 91.21267, eccentricity = 0.90362, convex_area = 15404.00000, extent = 0.78649, type = C + area = 12608.00000, perimeter = 440.12500, major_axis_length = 174.60252, minor_axis_length = 93.52520, eccentricity = 0.84444, convex_area = 12835.00000, extent = 0.63103, type = O + area = 15087.00000, perimeter = 510.60501, major_axis_length = 218.17435, minor_axis_length = 89.15250, eccentricity = 0.91270, convex_area = 15506.00000, extent = 0.54950, type = C + area = 14390.00000, perimeter = 497.91901, major_axis_length = 216.37560, minor_axis_length = 85.19570, eccentricity = 0.91922, convex_area = 14586.00000, extent = 0.53790, type = C + area = 12675.00000, perimeter = 456.57300, major_axis_length = 186.80682, minor_axis_length = 88.42378, eccentricity = 0.88088, convex_area = 13098.00000, extent = 0.61386, type = O + area = 12084.00000, perimeter = 433.50500, major_axis_length = 171.52261, minor_axis_length = 91.32996, eccentricity = 0.84645, convex_area = 12356.00000, extent = 0.70174, type = O + area = 12831.00000, perimeter = 446.63101, major_axis_length = 181.87178, minor_axis_length = 90.23387, eccentricity = 0.86824, convex_area = 13061.00000, extent = 0.66996, type = O + area = 13728.00000, perimeter = 488.10199, major_axis_length = 208.97412, minor_axis_length = 84.64085, eccentricity = 0.91430, convex_area = 14052.00000, extent = 0.55794, type = C + area = 15154.00000, perimeter = 504.92999, major_axis_length = 211.23309, minor_axis_length = 92.50810, eccentricity = 0.89900, convex_area = 15598.00000, extent = 0.57506, type = C + area = 13884.00000, perimeter = 478.70200, major_axis_length = 201.31630, minor_axis_length = 89.18121, eccentricity = 0.89653, convex_area = 14217.00000, extent = 0.79793, type = C + area = 10576.00000, perimeter = 417.01999, major_axis_length = 175.39082, minor_axis_length = 77.45559, eccentricity = 0.89720, convex_area = 10729.00000, extent = 0.56592, type = O + area = 10774.00000, perimeter = 401.74200, major_axis_length = 164.32024, minor_axis_length = 83.71887, eccentricity = 0.86048, convex_area = 10944.00000, extent = 0.66179, type = O + area = 10445.00000, perimeter = 409.95999, major_axis_length = 168.47455, minor_axis_length = 80.43509, eccentricity = 0.87867, convex_area = 10653.00000, extent = 0.74026, type = O + area = 9371.00000, perimeter = 394.42801, major_axis_length = 169.18408, minor_axis_length = 70.86470, eccentricity = 0.90805, convex_area = 9528.00000, extent = 0.77800, type = O + area = 14817.00000, perimeter = 502.64401, major_axis_length = 214.59085, minor_axis_length = 89.05412, eccentricity = 0.90982, convex_area = 15275.00000, extent = 0.79799, type = C + area = 15127.00000, perimeter = 499.79999, major_axis_length = 212.90392, minor_axis_length = 91.15163, eccentricity = 0.90371, convex_area = 15370.00000, extent = 0.71300, type = C + area = 16011.00000, perimeter = 525.06897, major_axis_length = 222.94646, minor_axis_length = 92.38245, eccentricity = 0.91011, convex_area = 16298.00000, extent = 0.55663, type = C + area = 13852.00000, perimeter = 490.27899, major_axis_length = 213.98569, minor_axis_length = 82.96648, eccentricity = 0.92178, convex_area = 14158.00000, extent = 0.72832, type = C + area = 10541.00000, perimeter = 406.53601, major_axis_length = 162.99107, minor_axis_length = 83.69826, eccentricity = 0.85808, convex_area = 10901.00000, extent = 0.77462, type = O + area = 16022.00000, perimeter = 524.87299, major_axis_length = 221.52705, minor_axis_length = 93.63528, eccentricity = 0.90628, convex_area = 16545.00000, extent = 0.54224, type = C + area = 13860.00000, perimeter = 483.97101, major_axis_length = 207.78920, minor_axis_length = 85.96107, eccentricity = 0.91042, convex_area = 14047.00000, extent = 0.64815, type = C + area = 13672.00000, perimeter = 467.95499, major_axis_length = 183.55632, minor_axis_length = 97.46873, eccentricity = 0.84737, convex_area = 14027.00000, extent = 0.61586, type = O + area = 12692.00000, perimeter = 443.14301, major_axis_length = 182.93283, minor_axis_length = 88.95260, eccentricity = 0.87382, convex_area = 12849.00000, extent = 0.63824, type = C + area = 14115.00000, perimeter = 486.27200, major_axis_length = 207.55104, minor_axis_length = 87.78109, eccentricity = 0.90616, convex_area = 14422.00000, extent = 0.60082, type = C + area = 15603.00000, perimeter = 511.74399, major_axis_length = 211.10420, minor_axis_length = 95.43999, eccentricity = 0.89197, convex_area = 16021.00000, extent = 0.58051, type = C + area = 14741.00000, perimeter = 497.22501, major_axis_length = 212.46336, minor_axis_length = 89.45373, eccentricity = 0.90705, convex_area = 15036.00000, extent = 0.55371, type = C + area = 12261.00000, perimeter = 443.28101, major_axis_length = 183.63693, minor_axis_length = 86.09530, eccentricity = 0.88329, convex_area = 12507.00000, extent = 0.71702, type = O + area = 16386.00000, perimeter = 515.09698, major_axis_length = 208.95312, minor_axis_length = 100.74258, eccentricity = 0.87610, convex_area = 16813.00000, extent = 0.60756, type = C + area = 12461.00000, perimeter = 454.09601, major_axis_length = 191.91452, minor_axis_length = 83.66120, eccentricity = 0.89998, convex_area = 12683.00000, extent = 0.56151, type = C + area = 11249.00000, perimeter = 423.09500, major_axis_length = 167.86301, minor_axis_length = 86.53877, eccentricity = 0.85687, convex_area = 11560.00000, extent = 0.61889, type = O + area = 9598.00000, perimeter = 397.00000, major_axis_length = 172.00679, minor_axis_length = 72.28365, eccentricity = 0.90741, convex_area = 9766.00000, extent = 0.79685, type = O + area = 12349.00000, perimeter = 452.00900, major_axis_length = 187.96873, minor_axis_length = 84.54865, eccentricity = 0.89313, convex_area = 12646.00000, extent = 0.58576, type = O + area = 12404.00000, perimeter = 454.38400, major_axis_length = 186.07597, minor_axis_length = 85.98782, eccentricity = 0.88682, convex_area = 12659.00000, extent = 0.57299, type = O + area = 14463.00000, perimeter = 480.48999, major_axis_length = 201.93422, minor_axis_length = 91.94389, eccentricity = 0.89033, convex_area = 14698.00000, extent = 0.67512, type = C + area = 13241.00000, perimeter = 466.98999, major_axis_length = 193.54422, minor_axis_length = 88.05835, eccentricity = 0.89050, convex_area = 13577.00000, extent = 0.57765, type = C + area = 11931.00000, perimeter = 445.10101, major_axis_length = 187.92052, minor_axis_length = 82.14220, eccentricity = 0.89941, convex_area = 12174.00000, extent = 0.64814, type = C + area = 12158.00000, perimeter = 447.37701, major_axis_length = 184.09531, minor_axis_length = 84.91306, eccentricity = 0.88727, convex_area = 12467.00000, extent = 0.63158, type = C + area = 11939.00000, perimeter = 437.73300, major_axis_length = 178.89888, minor_axis_length = 86.44242, eccentricity = 0.87551, convex_area = 12204.00000, extent = 0.63900, type = O + area = 14870.00000, perimeter = 506.56100, major_axis_length = 214.93123, minor_axis_length = 89.40025, eccentricity = 0.90939, convex_area = 15202.00000, extent = 0.57973, type = C + area = 15252.00000, perimeter = 502.59100, major_axis_length = 211.63116, minor_axis_length = 92.19616, eccentricity = 0.90012, convex_area = 15495.00000, extent = 0.57446, type = C + area = 15551.00000, perimeter = 508.40701, major_axis_length = 217.01550, minor_axis_length = 92.15182, eccentricity = 0.90537, convex_area = 15786.00000, extent = 0.80742, type = C + area = 16505.00000, perimeter = 516.22101, major_axis_length = 212.85310, minor_axis_length = 99.69016, eccentricity = 0.88354, convex_area = 16820.00000, extent = 0.58841, type = C + area = 10604.00000, perimeter = 409.19101, major_axis_length = 169.17116, minor_axis_length = 80.42681, eccentricity = 0.87976, convex_area = 10780.00000, extent = 0.78432, type = O + area = 16893.00000, perimeter = 523.25403, major_axis_length = 216.24049, minor_axis_length = 100.40816, eccentricity = 0.88566, convex_area = 17293.00000, extent = 0.68106, type = C + area = 11772.00000, perimeter = 434.08600, major_axis_length = 183.58832, minor_axis_length = 82.08577, eccentricity = 0.89447, convex_area = 11937.00000, extent = 0.65100, type = O + area = 11488.00000, perimeter = 416.37799, major_axis_length = 170.40480, minor_axis_length = 86.13889, eccentricity = 0.86283, convex_area = 11663.00000, extent = 0.75321, type = O + area = 13139.00000, perimeter = 472.25101, major_axis_length = 202.59767, minor_axis_length = 83.79178, eccentricity = 0.91046, convex_area = 13379.00000, extent = 0.78367, type = C + area = 17404.00000, perimeter = 521.86499, major_axis_length = 211.06302, minor_axis_length = 106.33782, eccentricity = 0.86381, convex_area = 17739.00000, extent = 0.68466, type = C + area = 11274.00000, perimeter = 426.85001, major_axis_length = 177.39810, minor_axis_length = 82.00110, eccentricity = 0.88675, convex_area = 11539.00000, extent = 0.63533, type = O + area = 10943.00000, perimeter = 412.06100, major_axis_length = 169.89026, minor_axis_length = 82.82930, eccentricity = 0.87310, convex_area = 11132.00000, extent = 0.74140, type = O + area = 12205.00000, perimeter = 438.35599, major_axis_length = 174.43573, minor_axis_length = 90.32648, eccentricity = 0.85549, convex_area = 12491.00000, extent = 0.61848, type = O + area = 13626.00000, perimeter = 469.34299, major_axis_length = 191.38023, minor_axis_length = 92.17392, eccentricity = 0.87638, convex_area = 13931.00000, extent = 0.60722, type = O + area = 7551.00000, perimeter = 369.06400, major_axis_length = 163.40883, minor_axis_length = 59.53241, eccentricity = 0.93128, convex_area = 7723.00000, extent = 0.75646, type = O + area = 12848.00000, perimeter = 455.64499, major_axis_length = 184.63605, minor_axis_length = 90.01098, eccentricity = 0.87312, convex_area = 13227.00000, extent = 0.69016, type = O + area = 11274.00000, perimeter = 422.66299, major_axis_length = 174.38634, minor_axis_length = 82.87808, eccentricity = 0.87985, convex_area = 11459.00000, extent = 0.74054, type = O + area = 10527.00000, perimeter = 408.97800, major_axis_length = 170.89001, minor_axis_length = 79.37978, eccentricity = 0.88557, convex_area = 10692.00000, extent = 0.65102, type = O + area = 13913.00000, perimeter = 474.45200, major_axis_length = 199.11743, minor_axis_length = 89.71703, eccentricity = 0.89274, convex_area = 14164.00000, extent = 0.67310, type = C + area = 14018.00000, perimeter = 480.86801, major_axis_length = 203.97838, minor_axis_length = 88.12711, eccentricity = 0.90185, convex_area = 14287.00000, extent = 0.72243, type = C + area = 17082.00000, perimeter = 548.44598, major_axis_length = 230.18872, minor_axis_length = 95.75758, eccentricity = 0.90937, convex_area = 17576.00000, extent = 0.59247, type = C + area = 15178.00000, perimeter = 514.74200, major_axis_length = 219.33296, minor_axis_length = 89.01124, eccentricity = 0.91395, convex_area = 15638.00000, extent = 0.78757, type = C + area = 11923.00000, perimeter = 434.42001, major_axis_length = 182.19357, minor_axis_length = 84.14085, eccentricity = 0.88697, convex_area = 12086.00000, extent = 0.60096, type = O + area = 11768.00000, perimeter = 433.48001, major_axis_length = 179.83427, minor_axis_length = 83.96474, eccentricity = 0.88431, convex_area = 11993.00000, extent = 0.75567, type = O + area = 16603.00000, perimeter = 513.52301, major_axis_length = 213.52026, minor_axis_length = 99.96153, eccentricity = 0.88364, convex_area = 16922.00000, extent = 0.60890, type = C + area = 10784.00000, perimeter = 424.14401, major_axis_length = 176.95996, minor_axis_length = 78.46128, eccentricity = 0.89633, convex_area = 11091.00000, extent = 0.63690, type = O + area = 13333.00000, perimeter = 472.38400, major_axis_length = 200.93857, minor_axis_length = 85.17281, eccentricity = 0.90572, convex_area = 13585.00000, extent = 0.68026, type = C + area = 10085.00000, perimeter = 404.67999, major_axis_length = 168.40106, minor_axis_length = 77.30437, eccentricity = 0.88841, convex_area = 10342.00000, extent = 0.57171, type = O + area = 12433.00000, perimeter = 442.48199, major_axis_length = 173.85931, minor_axis_length = 93.10706, eccentricity = 0.84452, convex_area = 12769.00000, extent = 0.62984, type = O + area = 10007.00000, perimeter = 391.45901, major_axis_length = 163.92862, minor_axis_length = 78.13725, eccentricity = 0.87909, convex_area = 10146.00000, extent = 0.80171, type = O + area = 14851.00000, perimeter = 512.31897, major_axis_length = 218.00836, minor_axis_length = 88.49667, eccentricity = 0.91390, convex_area = 15556.00000, extent = 0.71775, type = C + area = 16412.00000, perimeter = 515.11499, major_axis_length = 208.69455, minor_axis_length = 101.94176, eccentricity = 0.87258, convex_area = 16857.00000, extent = 0.77379, type = C + area = 13580.00000, perimeter = 460.54901, major_axis_length = 192.75961, minor_axis_length = 90.22404, eccentricity = 0.88369, convex_area = 13753.00000, extent = 0.79415, type = O + area = 13888.00000, perimeter = 481.74799, major_axis_length = 205.74632, minor_axis_length = 87.00280, eccentricity = 0.90619, convex_area = 14178.00000, extent = 0.58510, type = C + area = 11140.00000, perimeter = 414.36499, major_axis_length = 170.64981, minor_axis_length = 83.77877, eccentricity = 0.87119, convex_area = 11280.00000, extent = 0.60775, type = O + area = 14330.00000, perimeter = 493.18500, major_axis_length = 209.76732, minor_axis_length = 87.89895, eccentricity = 0.90797, convex_area = 14701.00000, extent = 0.61960, type = C + area = 12062.00000, perimeter = 432.62399, major_axis_length = 175.89680, minor_axis_length = 88.78304, eccentricity = 0.86327, convex_area = 12318.00000, extent = 0.61591, type = O + area = 11941.00000, perimeter = 434.80399, major_axis_length = 174.22989, minor_axis_length = 89.47453, eccentricity = 0.85806, convex_area = 12249.00000, extent = 0.75414, type = O + area = 12023.00000, perimeter = 442.33499, major_axis_length = 181.17674, minor_axis_length = 85.41496, eccentricity = 0.88190, convex_area = 12282.00000, extent = 0.60130, type = O + area = 11486.00000, perimeter = 420.85300, major_axis_length = 175.25751, minor_axis_length = 83.86408, eccentricity = 0.87808, convex_area = 11615.00000, extent = 0.77650, type = O + area = 15809.00000, perimeter = 517.23297, major_axis_length = 222.42067, minor_axis_length = 91.56286, eccentricity = 0.91134, convex_area = 16025.00000, extent = 0.55689, type = C + area = 13858.00000, perimeter = 475.36899, major_axis_length = 201.44203, minor_axis_length = 87.92325, eccentricity = 0.89972, convex_area = 14083.00000, extent = 0.77854, type = C + area = 12989.00000, perimeter = 450.23801, major_axis_length = 182.64360, minor_axis_length = 91.99093, eccentricity = 0.86390, convex_area = 13259.00000, extent = 0.63803, type = O + area = 14999.00000, perimeter = 498.54099, major_axis_length = 213.50803, minor_axis_length = 90.10974, eccentricity = 0.90658, convex_area = 15295.00000, extent = 0.79871, type = C + area = 13980.00000, perimeter = 479.17999, major_axis_length = 206.32904, minor_axis_length = 87.03672, eccentricity = 0.90667, convex_area = 14137.00000, extent = 0.86105, type = C + area = 15149.00000, perimeter = 509.13699, major_axis_length = 214.00746, minor_axis_length = 91.28373, eccentricity = 0.90447, convex_area = 15516.00000, extent = 0.70710, type = C + area = 12796.00000, perimeter = 471.20901, major_axis_length = 203.92963, minor_axis_length = 80.33001, eccentricity = 0.91915, convex_area = 13022.00000, extent = 0.68406, type = C + area = 15330.00000, perimeter = 501.69699, major_axis_length = 209.67932, minor_axis_length = 93.87273, eccentricity = 0.89419, convex_area = 15617.00000, extent = 0.58262, type = C + area = 12173.00000, perimeter = 438.31900, major_axis_length = 180.33273, minor_axis_length = 87.05815, eccentricity = 0.87575, convex_area = 12375.00000, extent = 0.65871, type = O + area = 14050.00000, perimeter = 481.25101, major_axis_length = 191.82385, minor_axis_length = 95.06197, eccentricity = 0.86857, convex_area = 14600.00000, extent = 0.60770, type = C + area = 12403.00000, perimeter = 451.24399, major_axis_length = 194.00620, minor_axis_length = 82.41925, eccentricity = 0.90527, convex_area = 12596.00000, extent = 0.83069, type = C + area = 12886.00000, perimeter = 463.90302, major_axis_length = 193.87659, minor_axis_length = 85.47774, eccentricity = 0.89756, convex_area = 13196.00000, extent = 0.59525, type = C + area = 11365.00000, perimeter = 421.17599, major_axis_length = 179.13287, minor_axis_length = 81.11464, eccentricity = 0.89160, convex_area = 11499.00000, extent = 0.65204, type = O + area = 13627.00000, perimeter = 476.98901, major_axis_length = 201.19452, minor_axis_length = 86.95226, eccentricity = 0.90179, convex_area = 13926.00000, extent = 0.78056, type = C + area = 14952.00000, perimeter = 488.63000, major_axis_length = 203.00296, minor_axis_length = 94.55453, eccentricity = 0.88490, convex_area = 15187.00000, extent = 0.61561, type = C + area = 13109.00000, perimeter = 484.99301, major_axis_length = 204.72830, minor_axis_length = 82.84824, eccentricity = 0.91446, convex_area = 13497.00000, extent = 0.52512, type = C + area = 10387.00000, perimeter = 400.58099, major_axis_length = 164.76086, minor_axis_length = 81.01570, eccentricity = 0.87076, convex_area = 10536.00000, extent = 0.80663, type = O + area = 10787.00000, perimeter = 405.89899, major_axis_length = 167.38528, minor_axis_length = 82.44202, eccentricity = 0.87030, convex_area = 10956.00000, extent = 0.72173, type = O + area = 13218.00000, perimeter = 454.99799, major_axis_length = 182.57840, minor_axis_length = 93.23714, eccentricity = 0.85978, convex_area = 13459.00000, extent = 0.73331, type = O + area = 11353.00000, perimeter = 431.47900, major_axis_length = 182.00241, minor_axis_length = 80.06296, eccentricity = 0.89805, convex_area = 11579.00000, extent = 0.71664, type = C + area = 15236.00000, perimeter = 514.79303, major_axis_length = 223.32785, minor_axis_length = 87.76151, eccentricity = 0.91955, convex_area = 15686.00000, extent = 0.65624, type = C + area = 12361.00000, perimeter = 443.81900, major_axis_length = 178.17212, minor_axis_length = 89.32095, eccentricity = 0.86526, convex_area = 12581.00000, extent = 0.78037, type = O + area = 15232.00000, perimeter = 508.81699, major_axis_length = 216.76291, minor_axis_length = 90.63309, eccentricity = 0.90839, convex_area = 15603.00000, extent = 0.59082, type = C + area = 12878.00000, perimeter = 459.60400, major_axis_length = 192.17227, minor_axis_length = 85.95669, eccentricity = 0.89439, convex_area = 13213.00000, extent = 0.57625, type = C + area = 13683.00000, perimeter = 492.97501, major_axis_length = 213.90919, minor_axis_length = 83.12070, eccentricity = 0.92142, convex_area = 14070.00000, extent = 0.76127, type = C + area = 14479.00000, perimeter = 473.95700, major_axis_length = 193.13182, minor_axis_length = 96.94859, eccentricity = 0.86488, convex_area = 14812.00000, extent = 0.63664, type = C + area = 12214.00000, perimeter = 444.29199, major_axis_length = 180.87540, minor_axis_length = 87.68394, eccentricity = 0.87464, convex_area = 12525.00000, extent = 0.62585, type = O + area = 12754.00000, perimeter = 450.72400, major_axis_length = 186.26735, minor_axis_length = 88.71730, eccentricity = 0.87929, convex_area = 13063.00000, extent = 0.80163, type = O + area = 14275.00000, perimeter = 485.78799, major_axis_length = 206.46191, minor_axis_length = 88.92574, eccentricity = 0.90249, convex_area = 14469.00000, extent = 0.54756, type = C + area = 13270.00000, perimeter = 459.86600, major_axis_length = 188.89337, minor_axis_length = 90.74985, eccentricity = 0.87703, convex_area = 13507.00000, extent = 0.59945, type = O + area = 13501.00000, perimeter = 485.75601, major_axis_length = 205.77101, minor_axis_length = 84.90839, eccentricity = 0.91090, convex_area = 13896.00000, extent = 0.65852, type = C + area = 13518.00000, perimeter = 451.16299, major_axis_length = 185.55759, minor_axis_length = 93.29591, eccentricity = 0.86441, convex_area = 13741.00000, extent = 0.78184, type = O + area = 11447.00000, perimeter = 447.34601, major_axis_length = 190.38905, minor_axis_length = 79.03822, eccentricity = 0.90976, convex_area = 11753.00000, extent = 0.54354, type = C + area = 14601.00000, perimeter = 505.24899, major_axis_length = 215.93439, minor_axis_length = 86.75872, eccentricity = 0.91574, convex_area = 14991.00000, extent = 0.66854, type = C + area = 10623.00000, perimeter = 423.02301, major_axis_length = 175.03427, minor_axis_length = 78.42091, eccentricity = 0.89402, convex_area = 10897.00000, extent = 0.58730, type = O + area = 12344.00000, perimeter = 466.84201, major_axis_length = 204.10878, minor_axis_length = 77.81432, eccentricity = 0.92448, convex_area = 12596.00000, extent = 0.72128, type = C + area = 14424.00000, perimeter = 497.76999, major_axis_length = 210.74310, minor_axis_length = 88.51710, eccentricity = 0.90751, convex_area = 14920.00000, extent = 0.55820, type = C + area = 15815.00000, perimeter = 506.29001, major_axis_length = 210.50458, minor_axis_length = 96.50236, eccentricity = 0.88873, convex_area = 16112.00000, extent = 0.79584, type = C + area = 9733.00000, perimeter = 396.65399, major_axis_length = 163.66455, minor_axis_length = 76.42941, eccentricity = 0.88426, convex_area = 9903.00000, extent = 0.81190, type = O + area = 11543.00000, perimeter = 432.31400, major_axis_length = 174.84126, minor_axis_length = 86.66760, eccentricity = 0.86850, convex_area = 11940.00000, extent = 0.69120, type = O + area = 14541.00000, perimeter = 492.78500, major_axis_length = 204.25714, minor_axis_length = 92.47102, eccentricity = 0.89165, convex_area = 14893.00000, extent = 0.75829, type = C + area = 12927.00000, perimeter = 453.01501, major_axis_length = 184.32379, minor_axis_length = 89.86131, eccentricity = 0.87311, convex_area = 13196.00000, extent = 0.73692, type = C + area = 11493.00000, perimeter = 447.15399, major_axis_length = 185.53111, minor_axis_length = 79.75233, eccentricity = 0.90290, convex_area = 11801.00000, extent = 0.57009, type = C + area = 13582.00000, perimeter = 476.66599, major_axis_length = 199.45189, minor_axis_length = 88.40870, eccentricity = 0.89639, convex_area = 13825.00000, extent = 0.56900, type = C + area = 16519.00000, perimeter = 533.21802, major_axis_length = 224.20227, minor_axis_length = 95.21686, eccentricity = 0.90534, convex_area = 17041.00000, extent = 0.74076, type = C + area = 9853.00000, perimeter = 395.50101, major_axis_length = 159.91612, minor_axis_length = 80.05779, eccentricity = 0.86567, convex_area = 10102.00000, extent = 0.60197, type = O + area = 13302.00000, perimeter = 482.69000, major_axis_length = 209.39711, minor_axis_length = 81.74891, eccentricity = 0.92064, convex_area = 13827.00000, extent = 0.59533, type = C + area = 12416.00000, perimeter = 441.92801, major_axis_length = 175.21472, minor_axis_length = 91.56062, eccentricity = 0.85260, convex_area = 12738.00000, extent = 0.62917, type = O + area = 11816.00000, perimeter = 446.10001, major_axis_length = 187.14316, minor_axis_length = 81.82019, eccentricity = 0.89936, convex_area = 12069.00000, extent = 0.74671, type = O + area = 11742.00000, perimeter = 439.75601, major_axis_length = 183.10056, minor_axis_length = 83.15661, eccentricity = 0.89092, convex_area = 12016.00000, extent = 0.57222, type = O + area = 14276.00000, perimeter = 492.84000, major_axis_length = 208.87695, minor_axis_length = 88.12109, eccentricity = 0.90665, convex_area = 14706.00000, extent = 0.58246, type = C + area = 12734.00000, perimeter = 466.30600, major_axis_length = 198.72568, minor_axis_length = 82.28809, eccentricity = 0.91024, convex_area = 13021.00000, extent = 0.63495, type = O + area = 10949.00000, perimeter = 420.17001, major_axis_length = 176.24953, minor_axis_length = 79.89092, eccentricity = 0.89137, convex_area = 11132.00000, extent = 0.57901, type = O + area = 9335.00000, perimeter = 388.80600, major_axis_length = 160.15616, minor_axis_length = 75.16480, eccentricity = 0.88303, convex_area = 9536.00000, extent = 0.62333, type = O + area = 9764.00000, perimeter = 390.95700, major_axis_length = 160.22710, minor_axis_length = 78.86163, eccentricity = 0.87049, convex_area = 9956.00000, extent = 0.64881, type = O + area = 10443.00000, perimeter = 404.98499, major_axis_length = 165.20561, minor_axis_length = 81.70278, eccentricity = 0.86915, convex_area = 10701.00000, extent = 0.61895, type = O + area = 11658.00000, perimeter = 443.26099, major_axis_length = 179.81419, minor_axis_length = 83.87640, eccentricity = 0.88454, convex_area = 12024.00000, extent = 0.59310, type = O + area = 14818.00000, perimeter = 499.35999, major_axis_length = 208.87550, minor_axis_length = 91.91077, eccentricity = 0.89798, convex_area = 15204.00000, extent = 0.57541, type = C + area = 11827.00000, perimeter = 455.22101, major_axis_length = 194.78445, minor_axis_length = 78.43153, eccentricity = 0.91535, convex_area = 12212.00000, extent = 0.76999, type = C + area = 13639.00000, perimeter = 482.41501, major_axis_length = 200.73622, minor_axis_length = 87.73310, eccentricity = 0.89943, convex_area = 14042.00000, extent = 0.73030, type = C + area = 14479.00000, perimeter = 475.92499, major_axis_length = 200.55194, minor_axis_length = 92.17806, eccentricity = 0.88811, convex_area = 14696.00000, extent = 0.71143, type = C + area = 9495.00000, perimeter = 386.59000, major_axis_length = 160.57245, minor_axis_length = 75.85518, eccentricity = 0.88138, convex_area = 9640.00000, extent = 0.66894, type = O + area = 12587.00000, perimeter = 451.17200, major_axis_length = 185.70013, minor_axis_length = 87.76485, eccentricity = 0.88127, convex_area = 12941.00000, extent = 0.69804, type = O + area = 14577.00000, perimeter = 489.90799, major_axis_length = 204.84602, minor_axis_length = 91.23347, eccentricity = 0.89534, convex_area = 14870.00000, extent = 0.78140, type = C + area = 17313.00000, perimeter = 531.98401, major_axis_length = 225.53459, minor_axis_length = 98.44350, eccentricity = 0.89971, convex_area = 17582.00000, extent = 0.56988, type = C + area = 14517.00000, perimeter = 495.61499, major_axis_length = 211.80283, minor_axis_length = 88.03250, eccentricity = 0.90953, convex_area = 14815.00000, extent = 0.68752, type = C + area = 9017.00000, perimeter = 378.79099, major_axis_length = 155.36972, minor_axis_length = 74.75443, eccentricity = 0.87664, convex_area = 9290.00000, extent = 0.66409, type = O + area = 12471.00000, perimeter = 445.37399, major_axis_length = 184.99207, minor_axis_length = 86.85976, eccentricity = 0.88292, convex_area = 12688.00000, extent = 0.67178, type = C + area = 12887.00000, perimeter = 468.83301, major_axis_length = 197.76321, minor_axis_length = 83.72417, eccentricity = 0.90596, convex_area = 13241.00000, extent = 0.55677, type = C + area = 11550.00000, perimeter = 420.83701, major_axis_length = 172.53937, minor_axis_length = 85.41179, eccentricity = 0.86888, convex_area = 11734.00000, extent = 0.69470, type = O + area = 11809.00000, perimeter = 455.08301, major_axis_length = 185.42010, minor_axis_length = 83.61376, eccentricity = 0.89255, convex_area = 12318.00000, extent = 0.64885, type = C + area = 14485.00000, perimeter = 495.46600, major_axis_length = 212.00166, minor_axis_length = 88.23765, eccentricity = 0.90927, convex_area = 14745.00000, extent = 0.64510, type = C + area = 14898.00000, perimeter = 501.49500, major_axis_length = 215.56334, minor_axis_length = 88.77060, eccentricity = 0.91127, convex_area = 15156.00000, extent = 0.65850, type = C + area = 16390.00000, perimeter = 502.67801, major_axis_length = 207.04866, minor_axis_length = 101.51714, eccentricity = 0.87155, convex_area = 16635.00000, extent = 0.71450, type = C + area = 11958.00000, perimeter = 444.92700, major_axis_length = 187.75836, minor_axis_length = 81.88332, eccentricity = 0.89989, convex_area = 12240.00000, extent = 0.72667, type = C + area = 14571.00000, perimeter = 489.73099, major_axis_length = 202.39377, minor_axis_length = 92.94209, eccentricity = 0.88833, convex_area = 14884.00000, extent = 0.58490, type = C + area = 12089.00000, perimeter = 439.49200, major_axis_length = 183.57666, minor_axis_length = 84.69468, eccentricity = 0.88721, convex_area = 12302.00000, extent = 0.81451, type = C + area = 14019.00000, perimeter = 475.75500, major_axis_length = 194.51793, minor_axis_length = 92.81696, eccentricity = 0.87881, convex_area = 14308.00000, extent = 0.59112, type = C + area = 11964.00000, perimeter = 447.50601, major_axis_length = 191.44385, minor_axis_length = 80.27491, eccentricity = 0.90784, convex_area = 12166.00000, extent = 0.75468, type = O + area = 13309.00000, perimeter = 460.92200, major_axis_length = 191.46297, minor_axis_length = 88.95414, eccentricity = 0.88552, convex_area = 13540.00000, extent = 0.65375, type = C + area = 12974.00000, perimeter = 460.41699, major_axis_length = 191.32578, minor_axis_length = 87.28571, eccentricity = 0.88987, convex_area = 13310.00000, extent = 0.67721, type = C + area = 14476.00000, perimeter = 489.23801, major_axis_length = 203.85884, minor_axis_length = 91.66153, eccentricity = 0.89321, convex_area = 14807.00000, extent = 0.67985, type = C + area = 13681.00000, perimeter = 485.41299, major_axis_length = 205.00644, minor_axis_length = 86.48767, eccentricity = 0.90665, convex_area = 14146.00000, extent = 0.55989, type = C + area = 14570.00000, perimeter = 469.98199, major_axis_length = 185.40146, minor_axis_length = 100.88792, eccentricity = 0.83898, convex_area = 14895.00000, extent = 0.65454, type = C + area = 11717.00000, perimeter = 430.91800, major_axis_length = 174.64034, minor_axis_length = 86.09232, eccentricity = 0.87005, convex_area = 11948.00000, extent = 0.65149, type = O + area = 13809.00000, perimeter = 489.02200, major_axis_length = 213.82555, minor_axis_length = 82.49403, eccentricity = 0.92258, convex_area = 14070.00000, extent = 0.80575, type = C + area = 12745.00000, perimeter = 453.03500, major_axis_length = 187.00584, minor_axis_length = 87.66729, eccentricity = 0.88331, convex_area = 13040.00000, extent = 0.60518, type = C + area = 11084.00000, perimeter = 435.14499, major_axis_length = 180.91389, minor_axis_length = 79.56830, eccentricity = 0.89809, convex_area = 11451.00000, extent = 0.60794, type = O + area = 15292.00000, perimeter = 510.48300, major_axis_length = 219.65903, minor_axis_length = 89.13313, eccentricity = 0.91397, convex_area = 15511.00000, extent = 0.54319, type = C + area = 12837.00000, perimeter = 448.27499, major_axis_length = 180.26524, minor_axis_length = 92.16251, eccentricity = 0.85943, convex_area = 13157.00000, extent = 0.76776, type = O + area = 15578.00000, perimeter = 509.59900, major_axis_length = 216.90948, minor_axis_length = 92.61865, eccentricity = 0.90426, convex_area = 15864.00000, extent = 0.80883, type = C + area = 13885.00000, perimeter = 479.28799, major_axis_length = 198.09418, minor_axis_length = 90.59052, eccentricity = 0.88931, convex_area = 14271.00000, extent = 0.78713, type = C + area = 12749.00000, perimeter = 443.43701, major_axis_length = 177.17320, minor_axis_length = 92.91598, eccentricity = 0.85145, convex_area = 13028.00000, extent = 0.74010, type = O + area = 12868.00000, perimeter = 454.85901, major_axis_length = 191.58615, minor_axis_length = 86.50890, eccentricity = 0.89225, convex_area = 13082.00000, extent = 0.78674, type = O + area = 13912.00000, perimeter = 480.84299, major_axis_length = 206.90704, minor_axis_length = 86.26382, eccentricity = 0.90894, convex_area = 14107.00000, extent = 0.80626, type = C + area = 11865.00000, perimeter = 426.72800, major_axis_length = 170.87170, minor_axis_length = 89.45922, eccentricity = 0.85200, convex_area = 12085.00000, extent = 0.64180, type = O + area = 11733.00000, perimeter = 436.26001, major_axis_length = 182.88922, minor_axis_length = 82.62609, eccentricity = 0.89213, convex_area = 11955.00000, extent = 0.68662, type = C + area = 10897.00000, perimeter = 420.55499, major_axis_length = 168.11865, minor_axis_length = 83.56301, eccentricity = 0.86772, convex_area = 11174.00000, extent = 0.64085, type = O + area = 14025.00000, perimeter = 475.95700, major_axis_length = 197.39191, minor_axis_length = 91.75456, eccentricity = 0.88540, convex_area = 14423.00000, extent = 0.67990, type = C + area = 12544.00000, perimeter = 442.17200, major_axis_length = 178.02271, minor_axis_length = 90.75763, eccentricity = 0.86029, convex_area = 12835.00000, extent = 0.77075, type = O + area = 11686.00000, perimeter = 441.18399, major_axis_length = 180.69609, minor_axis_length = 83.45304, eccentricity = 0.88696, convex_area = 12023.00000, extent = 0.57709, type = O + area = 14356.00000, perimeter = 492.02200, major_axis_length = 209.37556, minor_axis_length = 88.59431, eccentricity = 0.90607, convex_area = 14652.00000, extent = 0.57682, type = C + area = 10293.00000, perimeter = 413.28699, major_axis_length = 171.63895, minor_axis_length = 77.05096, eccentricity = 0.89358, convex_area = 10560.00000, extent = 0.58938, type = O + area = 14138.00000, perimeter = 490.83401, major_axis_length = 206.18085, minor_axis_length = 89.36728, eccentricity = 0.90118, convex_area = 14523.00000, extent = 0.76257, type = C + area = 15611.00000, perimeter = 506.54700, major_axis_length = 215.20073, minor_axis_length = 93.39229, eccentricity = 0.90092, convex_area = 15806.00000, extent = 0.73219, type = C + area = 14761.00000, perimeter = 499.51099, major_axis_length = 210.79877, minor_axis_length = 90.55553, eccentricity = 0.90303, convex_area = 15197.00000, extent = 0.65833, type = C + area = 13080.00000, perimeter = 474.26001, major_axis_length = 198.95737, minor_axis_length = 84.75006, eccentricity = 0.90474, convex_area = 13511.00000, extent = 0.70277, type = C + area = 11023.00000, perimeter = 416.89200, major_axis_length = 163.01917, minor_axis_length = 88.59202, eccentricity = 0.83944, convex_area = 11343.00000, extent = 0.71070, type = O + area = 11329.00000, perimeter = 414.61700, major_axis_length = 168.91350, minor_axis_length = 86.12176, eccentricity = 0.86026, convex_area = 11540.00000, extent = 0.78412, type = O + area = 15936.00000, perimeter = 522.76703, major_axis_length = 224.61751, minor_axis_length = 91.12374, eccentricity = 0.91401, convex_area = 16298.00000, extent = 0.60908, type = C + area = 13726.00000, perimeter = 484.24701, major_axis_length = 209.70306, minor_axis_length = 83.88441, eccentricity = 0.91651, convex_area = 13969.00000, extent = 0.55560, type = C + area = 15199.00000, perimeter = 489.54401, major_axis_length = 205.31573, minor_axis_length = 94.80870, eccentricity = 0.88700, convex_area = 15419.00000, extent = 0.76400, type = C + area = 12450.00000, perimeter = 456.22101, major_axis_length = 191.14287, minor_axis_length = 84.21342, eccentricity = 0.89771, convex_area = 12740.00000, extent = 0.57215, type = C + area = 15390.00000, perimeter = 511.50900, major_axis_length = 214.46609, minor_axis_length = 92.45722, eccentricity = 0.90230, convex_area = 15788.00000, extent = 0.77329, type = C + area = 13328.00000, perimeter = 489.38599, major_axis_length = 217.28561, minor_axis_length = 78.70891, eccentricity = 0.93209, convex_area = 13530.00000, extent = 0.75744, type = C + area = 16625.00000, perimeter = 535.98901, major_axis_length = 229.79359, minor_axis_length = 93.08962, eccentricity = 0.91427, convex_area = 16951.00000, extent = 0.65414, type = C + area = 13719.00000, perimeter = 487.14700, major_axis_length = 208.86478, minor_axis_length = 84.30043, eccentricity = 0.91493, convex_area = 14111.00000, extent = 0.60441, type = C + area = 10119.00000, perimeter = 403.54300, major_axis_length = 168.57599, minor_axis_length = 77.24084, eccentricity = 0.88885, convex_area = 10317.00000, extent = 0.77221, type = O + area = 15475.00000, perimeter = 511.79700, major_axis_length = 220.47693, minor_axis_length = 90.20723, eccentricity = 0.91247, convex_area = 15734.00000, extent = 0.82732, type = C + area = 13760.00000, perimeter = 474.18799, major_axis_length = 198.39156, minor_axis_length = 89.04605, eccentricity = 0.89361, convex_area = 13989.00000, extent = 0.63375, type = C + area = 11538.00000, perimeter = 446.85699, major_axis_length = 189.68529, minor_axis_length = 78.97429, eccentricity = 0.90921, convex_area = 11852.00000, extent = 0.57994, type = C + area = 16431.00000, perimeter = 509.38501, major_axis_length = 208.05287, minor_axis_length = 101.96149, eccentricity = 0.87168, convex_area = 16875.00000, extent = 0.73222, type = C + area = 16094.00000, perimeter = 504.12601, major_axis_length = 208.37119, minor_axis_length = 99.03030, eccentricity = 0.87985, convex_area = 16325.00000, extent = 0.64853, type = C + area = 14306.00000, perimeter = 482.24799, major_axis_length = 197.68579, minor_axis_length = 94.05611, eccentricity = 0.87956, convex_area = 14667.00000, extent = 0.58795, type = C + area = 10685.00000, perimeter = 421.03799, major_axis_length = 172.41818, minor_axis_length = 79.99728, eccentricity = 0.88585, convex_area = 10971.00000, extent = 0.58631, type = O + area = 13331.00000, perimeter = 461.30899, major_axis_length = 193.55994, minor_axis_length = 88.79623, eccentricity = 0.88856, convex_area = 13500.00000, extent = 0.57951, type = O + area = 14524.00000, perimeter = 480.21201, major_axis_length = 199.93301, minor_axis_length = 93.31210, eccentricity = 0.88441, convex_area = 14808.00000, extent = 0.61128, type = C + area = 11299.00000, perimeter = 429.43900, major_axis_length = 174.44162, minor_axis_length = 84.42339, eccentricity = 0.87509, convex_area = 11663.00000, extent = 0.61338, type = O + area = 11077.00000, perimeter = 427.66400, major_axis_length = 181.11687, minor_axis_length = 78.34978, eccentricity = 0.90159, convex_area = 11275.00000, extent = 0.55524, type = O + area = 13259.00000, perimeter = 464.40799, major_axis_length = 198.21152, minor_axis_length = 85.81574, eccentricity = 0.90142, convex_area = 13445.00000, extent = 0.58205, type = O + area = 11550.00000, perimeter = 426.84399, major_axis_length = 173.18565, minor_axis_length = 86.17210, eccentricity = 0.86742, convex_area = 11766.00000, extent = 0.61374, type = O + area = 12638.00000, perimeter = 450.40302, major_axis_length = 185.53122, minor_axis_length = 87.92228, eccentricity = 0.88058, convex_area = 12864.00000, extent = 0.63215, type = O + area = 11242.00000, perimeter = 427.25201, major_axis_length = 180.30348, minor_axis_length = 80.25298, eccentricity = 0.89548, convex_area = 11402.00000, extent = 0.77021, type = O + area = 10215.00000, perimeter = 401.48401, major_axis_length = 164.24260, minor_axis_length = 80.21561, eccentricity = 0.87262, convex_area = 10435.00000, extent = 0.68223, type = O + area = 10788.00000, perimeter = 414.90701, major_axis_length = 169.60159, minor_axis_length = 82.25015, eccentricity = 0.87454, convex_area = 11083.00000, extent = 0.64832, type = O + area = 12735.00000, perimeter = 473.05099, major_axis_length = 200.68445, minor_axis_length = 81.73118, eccentricity = 0.91331, convex_area = 13140.00000, extent = 0.53761, type = C + area = 15320.00000, perimeter = 511.92999, major_axis_length = 218.62315, minor_axis_length = 91.16982, eccentricity = 0.90890, convex_area = 15740.00000, extent = 0.54564, type = C + area = 11496.00000, perimeter = 440.46899, major_axis_length = 185.72256, minor_axis_length = 79.85572, eccentricity = 0.90284, convex_area = 11759.00000, extent = 0.75093, type = O + area = 11049.00000, perimeter = 412.81400, major_axis_length = 169.61974, minor_axis_length = 83.39636, eccentricity = 0.87078, convex_area = 11244.00000, extent = 0.79238, type = O + area = 12993.00000, perimeter = 466.23901, major_axis_length = 199.03352, minor_axis_length = 83.48304, eccentricity = 0.90778, convex_area = 13230.00000, extent = 0.78664, type = C + area = 10937.00000, perimeter = 411.95801, major_axis_length = 165.00778, minor_axis_length = 85.26155, eccentricity = 0.85616, convex_area = 11135.00000, extent = 0.62497, type = O + area = 16302.00000, perimeter = 526.34003, major_axis_length = 225.32297, minor_axis_length = 92.99416, eccentricity = 0.91086, convex_area = 16669.00000, extent = 0.60835, type = C + area = 15746.00000, perimeter = 503.23099, major_axis_length = 204.87444, minor_axis_length = 99.44871, eccentricity = 0.87428, convex_area = 16171.00000, extent = 0.75304, type = C + area = 13952.00000, perimeter = 484.94699, major_axis_length = 201.32283, minor_axis_length = 89.51038, eccentricity = 0.89572, convex_area = 14349.00000, extent = 0.65641, type = C + area = 11601.00000, perimeter = 416.64600, major_axis_length = 165.78099, minor_axis_length = 89.89610, eccentricity = 0.84021, convex_area = 11782.00000, extent = 0.64522, type = O + area = 12373.00000, perimeter = 438.88101, major_axis_length = 175.82730, minor_axis_length = 90.91232, eccentricity = 0.85595, convex_area = 12622.00000, extent = 0.76818, type = O + area = 13669.00000, perimeter = 481.66901, major_axis_length = 201.90663, minor_axis_length = 87.06825, eccentricity = 0.90224, convex_area = 14065.00000, extent = 0.55837, type = C + area = 14017.00000, perimeter = 491.09799, major_axis_length = 212.42836, minor_axis_length = 84.69095, eccentricity = 0.91709, convex_area = 14287.00000, extent = 0.76212, type = C + area = 12663.00000, perimeter = 468.22400, major_axis_length = 199.69749, minor_axis_length = 81.61620, eccentricity = 0.91267, convex_area = 12979.00000, extent = 0.62339, type = C + area = 15609.00000, perimeter = 492.66299, major_axis_length = 202.23016, minor_axis_length = 99.01205, eccentricity = 0.87195, convex_area = 15884.00000, extent = 0.68102, type = C + area = 12072.00000, perimeter = 452.26199, major_axis_length = 192.72191, minor_axis_length = 80.28837, eccentricity = 0.90909, convex_area = 12342.00000, extent = 0.69415, type = C + area = 11226.00000, perimeter = 425.01300, major_axis_length = 180.23428, minor_axis_length = 79.79391, eccentricity = 0.89666, convex_area = 11414.00000, extent = 0.71308, type = O + area = 13935.00000, perimeter = 483.24399, major_axis_length = 196.78610, minor_axis_length = 91.71785, eccentricity = 0.88474, convex_area = 14428.00000, extent = 0.59323, type = C + area = 11119.00000, perimeter = 415.02399, major_axis_length = 171.28151, minor_axis_length = 83.17962, eccentricity = 0.87416, convex_area = 11346.00000, extent = 0.63234, type = O + area = 10727.00000, perimeter = 408.04199, major_axis_length = 163.17136, minor_axis_length = 84.78304, eccentricity = 0.85441, convex_area = 11017.00000, extent = 0.69206, type = O + area = 9778.00000, perimeter = 395.20001, major_axis_length = 168.14676, minor_axis_length = 74.49898, eccentricity = 0.89649, convex_area = 9956.00000, extent = 0.62059, type = O + area = 14403.00000, perimeter = 510.55899, major_axis_length = 223.41208, minor_axis_length = 83.20211, eccentricity = 0.92807, convex_area = 14781.00000, extent = 0.59878, type = C + area = 12840.00000, perimeter = 454.40500, major_axis_length = 184.81519, minor_axis_length = 89.92162, eccentricity = 0.87365, convex_area = 13185.00000, extent = 0.72666, type = O + area = 15216.00000, perimeter = 500.36801, major_axis_length = 208.22842, minor_axis_length = 94.30258, eccentricity = 0.89157, convex_area = 15558.00000, extent = 0.57304, type = C + area = 12022.00000, perimeter = 431.23099, major_axis_length = 176.25049, minor_axis_length = 87.95138, eccentricity = 0.86659, convex_area = 12205.00000, extent = 0.78534, type = O + area = 12466.00000, perimeter = 439.18301, major_axis_length = 177.41931, minor_axis_length = 90.01721, eccentricity = 0.86173, convex_area = 12707.00000, extent = 0.60988, type = O + area = 12711.00000, perimeter = 459.61801, major_axis_length = 192.97462, minor_axis_length = 84.95108, eccentricity = 0.89789, convex_area = 13028.00000, extent = 0.58195, type = C + area = 13853.00000, perimeter = 471.64099, major_axis_length = 195.21249, minor_axis_length = 91.29154, eccentricity = 0.88391, convex_area = 14213.00000, extent = 0.65332, type = C + area = 10458.00000, perimeter = 396.09201, major_axis_length = 161.55185, minor_axis_length = 83.17004, eccentricity = 0.85730, convex_area = 10642.00000, extent = 0.69558, type = O + area = 12744.00000, perimeter = 467.92499, major_axis_length = 200.61217, minor_axis_length = 81.70650, eccentricity = 0.91330, convex_area = 13047.00000, extent = 0.71451, type = C + area = 15307.00000, perimeter = 489.47101, major_axis_length = 197.20265, minor_axis_length = 100.13299, eccentricity = 0.86149, convex_area = 15628.00000, extent = 0.67910, type = C + area = 11380.00000, perimeter = 423.61499, major_axis_length = 172.17389, minor_axis_length = 85.65730, eccentricity = 0.86746, convex_area = 11620.00000, extent = 0.67317, type = O + area = 10132.00000, perimeter = 398.67200, major_axis_length = 162.84520, minor_axis_length = 80.07436, eccentricity = 0.87075, convex_area = 10306.00000, extent = 0.66891, type = O + area = 13621.00000, perimeter = 477.54300, major_axis_length = 200.95772, minor_axis_length = 87.28851, eccentricity = 0.90074, convex_area = 13956.00000, extent = 0.79590, type = C + area = 13394.00000, perimeter = 480.57199, major_axis_length = 205.40117, minor_axis_length = 83.80128, eccentricity = 0.91299, convex_area = 13699.00000, extent = 0.65019, type = C + area = 12286.00000, perimeter = 444.88699, major_axis_length = 183.28871, minor_axis_length = 86.73106, eccentricity = 0.88096, convex_area = 12583.00000, extent = 0.68187, type = C + area = 15521.00000, perimeter = 506.04800, major_axis_length = 209.51799, minor_axis_length = 95.46242, eccentricity = 0.89017, convex_area = 15956.00000, extent = 0.57845, type = C + area = 12879.00000, perimeter = 469.13300, major_axis_length = 200.79550, minor_axis_length = 82.04309, eccentricity = 0.91272, convex_area = 13132.00000, extent = 0.76913, type = C + area = 14333.00000, perimeter = 493.89899, major_axis_length = 207.50995, minor_axis_length = 89.44616, eccentricity = 0.90233, convex_area = 14772.00000, extent = 0.55980, type = C + area = 12571.00000, perimeter = 453.33701, major_axis_length = 188.70255, minor_axis_length = 86.54855, eccentricity = 0.88862, convex_area = 12847.00000, extent = 0.79182, type = O + area = 15141.00000, perimeter = 505.42099, major_axis_length = 209.59360, minor_axis_length = 93.09238, eccentricity = 0.89595, convex_area = 15559.00000, extent = 0.56640, type = C + area = 14573.00000, perimeter = 493.78000, major_axis_length = 209.35582, minor_axis_length = 89.43751, eccentricity = 0.90416, convex_area = 14847.00000, extent = 0.65058, type = C + area = 11908.00000, perimeter = 447.63400, major_axis_length = 187.82114, minor_axis_length = 81.94851, eccentricity = 0.89980, convex_area = 12287.00000, extent = 0.58031, type = O + area = 15326.00000, perimeter = 505.37799, major_axis_length = 208.09908, minor_axis_length = 95.35768, eccentricity = 0.88883, convex_area = 15684.00000, extent = 0.58621, type = C + area = 10842.00000, perimeter = 415.65900, major_axis_length = 169.43460, minor_axis_length = 82.63617, eccentricity = 0.87300, convex_area = 11153.00000, extent = 0.73306, type = O + area = 14746.00000, perimeter = 504.31400, major_axis_length = 220.34344, minor_axis_length = 85.93158, eccentricity = 0.92082, convex_area = 14995.00000, extent = 0.79751, type = C + area = 15583.00000, perimeter = 504.18301, major_axis_length = 207.84683, minor_axis_length = 96.91176, eccentricity = 0.88464, convex_area = 15906.00000, extent = 0.68539, type = C + area = 11753.00000, perimeter = 425.38599, major_axis_length = 176.00821, minor_axis_length = 85.75704, eccentricity = 0.87327, convex_area = 11919.00000, extent = 0.65557, type = O + area = 14444.00000, perimeter = 491.14401, major_axis_length = 203.50719, minor_axis_length = 91.60270, eccentricity = 0.89297, convex_area = 14773.00000, extent = 0.57794, type = C + area = 14204.00000, perimeter = 489.44501, major_axis_length = 211.88388, minor_axis_length = 85.94508, eccentricity = 0.91404, convex_area = 14487.00000, extent = 0.68608, type = C + area = 11568.00000, perimeter = 429.07300, major_axis_length = 178.33298, minor_axis_length = 83.63753, eccentricity = 0.88320, convex_area = 11790.00000, extent = 0.75122, type = O + area = 13746.00000, perimeter = 483.82001, major_axis_length = 205.84219, minor_axis_length = 86.18869, eccentricity = 0.90812, convex_area = 14060.00000, extent = 0.71594, type = C + area = 11377.00000, perimeter = 456.45401, major_axis_length = 200.84261, minor_axis_length = 72.35117, eccentricity = 0.93286, convex_area = 11573.00000, extent = 0.75225, type = C + area = 14855.00000, perimeter = 495.89899, major_axis_length = 208.57062, minor_axis_length = 92.42722, eccentricity = 0.89645, convex_area = 15191.00000, extent = 0.59061, type = C + area = 12070.00000, perimeter = 444.45499, major_axis_length = 183.93947, minor_axis_length = 85.08071, eccentricity = 0.88659, convex_area = 12400.00000, extent = 0.68192, type = O + area = 15401.00000, perimeter = 499.26401, major_axis_length = 202.64989, minor_axis_length = 97.76850, eccentricity = 0.87592, convex_area = 15760.00000, extent = 0.61732, type = C + area = 11771.00000, perimeter = 430.47000, major_axis_length = 181.30299, minor_axis_length = 83.21957, eccentricity = 0.88843, convex_area = 11919.00000, extent = 0.79674, type = O + area = 14674.00000, perimeter = 497.10300, major_axis_length = 208.43646, minor_axis_length = 91.08699, eccentricity = 0.89946, convex_area = 15049.00000, extent = 0.68229, type = C + area = 14340.00000, perimeter = 477.89600, major_axis_length = 196.47507, minor_axis_length = 94.25779, eccentricity = 0.87741, convex_area = 14700.00000, extent = 0.60814, type = C + area = 16588.00000, perimeter = 519.55902, major_axis_length = 218.39445, minor_axis_length = 97.66686, eccentricity = 0.89443, convex_area = 16852.00000, extent = 0.64007, type = C + area = 12734.00000, perimeter = 470.61401, major_axis_length = 204.40291, minor_axis_length = 80.16530, eccentricity = 0.91988, convex_area = 12982.00000, extent = 0.71459, type = C + area = 11553.00000, perimeter = 433.77701, major_axis_length = 183.22137, minor_axis_length = 80.94514, eccentricity = 0.89712, convex_area = 11729.00000, extent = 0.80677, type = O + area = 14928.00000, perimeter = 499.39301, major_axis_length = 212.40379, minor_axis_length = 90.70808, eccentricity = 0.90423, convex_area = 15269.00000, extent = 0.79744, type = C + area = 17338.00000, perimeter = 530.04401, major_axis_length = 222.08437, minor_axis_length = 100.54912, eccentricity = 0.89164, convex_area = 17725.00000, extent = 0.79245, type = C + area = 10061.00000, perimeter = 393.38300, major_axis_length = 160.87691, minor_axis_length = 80.60933, eccentricity = 0.86541, convex_area = 10242.00000, extent = 0.62005, type = O + area = 10928.00000, perimeter = 410.94000, major_axis_length = 171.74614, minor_axis_length = 81.38594, eccentricity = 0.88059, convex_area = 11132.00000, extent = 0.61119, type = O + area = 12714.00000, perimeter = 461.89001, major_axis_length = 196.56032, minor_axis_length = 83.11240, eccentricity = 0.90621, convex_area = 12900.00000, extent = 0.64141, type = C + area = 13907.00000, perimeter = 485.72000, major_axis_length = 202.58109, minor_axis_length = 89.20242, eccentricity = 0.89784, convex_area = 14358.00000, extent = 0.55572, type = C + area = 13509.00000, perimeter = 480.46600, major_axis_length = 207.13716, minor_axis_length = 83.94016, eccentricity = 0.91421, convex_area = 13732.00000, extent = 0.59563, type = C + area = 16254.00000, perimeter = 532.77802, major_axis_length = 223.54863, minor_axis_length = 94.11950, eccentricity = 0.90705, convex_area = 16680.00000, extent = 0.55369, type = C + area = 12091.00000, perimeter = 442.00000, major_axis_length = 181.21178, minor_axis_length = 86.29922, eccentricity = 0.87932, convex_area = 12400.00000, extent = 0.63503, type = O + area = 11652.00000, perimeter = 428.80801, major_axis_length = 169.58989, minor_axis_length = 89.57381, eccentricity = 0.84913, convex_area = 12067.00000, extent = 0.73700, type = O + area = 11872.00000, perimeter = 429.53799, major_axis_length = 180.08386, minor_axis_length = 84.37754, eccentricity = 0.88344, convex_area = 12041.00000, extent = 0.64045, type = O + area = 14331.00000, perimeter = 502.03000, major_axis_length = 212.58145, minor_axis_length = 87.35810, eccentricity = 0.91166, convex_area = 14618.00000, extent = 0.54276, type = C + area = 10665.00000, perimeter = 422.39999, major_axis_length = 176.84193, minor_axis_length = 77.75227, eccentricity = 0.89816, convex_area = 10884.00000, extent = 0.62987, type = O + area = 11634.00000, perimeter = 427.10501, major_axis_length = 171.32634, minor_axis_length = 88.26649, eccentricity = 0.85707, convex_area = 11967.00000, extent = 0.70969, type = O + area = 11323.00000, perimeter = 422.43799, major_axis_length = 169.98456, minor_axis_length = 86.26496, eccentricity = 0.86166, convex_area = 11628.00000, extent = 0.60312, type = O + area = 12277.00000, perimeter = 450.32599, major_axis_length = 190.74178, minor_axis_length = 82.85999, eccentricity = 0.90072, convex_area = 12482.00000, extent = 0.76340, type = O + area = 10767.00000, perimeter = 425.03601, major_axis_length = 182.06407, minor_axis_length = 76.10567, eccentricity = 0.90844, convex_area = 11004.00000, extent = 0.74260, type = O + area = 12476.00000, perimeter = 452.75800, major_axis_length = 192.32312, minor_axis_length = 83.67257, eccentricity = 0.90040, convex_area = 12654.00000, extent = 0.80641, type = O + area = 14488.00000, perimeter = 489.81799, major_axis_length = 204.66519, minor_axis_length = 91.22495, eccentricity = 0.89517, convex_area = 14826.00000, extent = 0.63829, type = C + area = 11287.00000, perimeter = 419.91800, major_axis_length = 170.10756, minor_axis_length = 85.72704, eccentricity = 0.86373, convex_area = 11557.00000, extent = 0.66969, type = O + area = 11963.00000, perimeter = 448.42599, major_axis_length = 191.07706, minor_axis_length = 80.81423, eccentricity = 0.90616, convex_area = 12205.00000, extent = 0.75591, type = C + area = 13655.00000, perimeter = 477.62601, major_axis_length = 203.95604, minor_axis_length = 86.22283, eccentricity = 0.90625, convex_area = 13857.00000, extent = 0.73783, type = C + area = 14436.00000, perimeter = 485.82599, major_axis_length = 204.46996, minor_axis_length = 90.74992, eccentricity = 0.89611, convex_area = 14864.00000, extent = 0.61448, type = C + area = 14045.00000, perimeter = 482.74200, major_axis_length = 200.02724, minor_axis_length = 90.71384, eccentricity = 0.89125, convex_area = 14305.00000, extent = 0.57261, type = C + area = 12235.00000, perimeter = 443.45599, major_axis_length = 187.66254, minor_axis_length = 83.75172, eccentricity = 0.89489, convex_area = 12442.00000, extent = 0.65833, type = O + area = 11508.00000, perimeter = 429.20401, major_axis_length = 178.31401, minor_axis_length = 83.02278, eccentricity = 0.88500, convex_area = 11772.00000, extent = 0.78844, type = O + area = 14162.00000, perimeter = 480.25299, major_axis_length = 202.89592, minor_axis_length = 89.48753, eccentricity = 0.89748, convex_area = 14414.00000, extent = 0.58402, type = C + area = 13918.00000, perimeter = 489.04001, major_axis_length = 207.88174, minor_axis_length = 86.49023, eccentricity = 0.90934, convex_area = 14263.00000, extent = 0.71876, type = C + area = 11926.00000, perimeter = 435.75400, major_axis_length = 173.26959, minor_axis_length = 89.63291, eccentricity = 0.85580, convex_area = 12308.00000, extent = 0.75319, type = O + area = 11342.00000, perimeter = 440.19901, major_axis_length = 188.07085, minor_axis_length = 77.18611, eccentricity = 0.91190, convex_area = 11532.00000, extent = 0.57856, type = O + area = 15418.00000, perimeter = 504.75900, major_axis_length = 209.92400, minor_axis_length = 94.43705, eccentricity = 0.89310, convex_area = 15779.00000, extent = 0.58269, type = C + area = 12406.00000, perimeter = 441.87799, major_axis_length = 177.86269, minor_axis_length = 90.56725, eccentricity = 0.86065, convex_area = 12864.00000, extent = 0.62386, type = O + area = 12569.00000, perimeter = 454.10400, major_axis_length = 192.09172, minor_axis_length = 83.93651, eccentricity = 0.89948, convex_area = 12811.00000, extent = 0.56678, type = O + area = 12840.00000, perimeter = 466.90302, major_axis_length = 198.15598, minor_axis_length = 83.23425, eccentricity = 0.90750, convex_area = 13091.00000, extent = 0.59138, type = C + area = 12279.00000, perimeter = 462.00601, major_axis_length = 197.84625, minor_axis_length = 80.54206, eccentricity = 0.91339, convex_area = 12619.00000, extent = 0.63694, type = C + area = 14592.00000, perimeter = 494.44000, major_axis_length = 212.67998, minor_axis_length = 88.28739, eccentricity = 0.90977, convex_area = 14838.00000, extent = 0.74563, type = C + area = 15275.00000, perimeter = 509.85501, major_axis_length = 217.55469, minor_axis_length = 90.18382, eccentricity = 0.91003, convex_area = 15582.00000, extent = 0.66761, type = C + area = 13949.00000, perimeter = 479.40201, major_axis_length = 200.09514, minor_axis_length = 90.09469, eccentricity = 0.89290, convex_area = 14286.00000, extent = 0.58155, type = C + area = 11144.00000, perimeter = 410.34399, major_axis_length = 164.09407, minor_axis_length = 87.66368, eccentricity = 0.84534, convex_area = 11378.00000, extent = 0.63383, type = O + area = 15080.00000, perimeter = 512.94598, major_axis_length = 211.92612, minor_axis_length = 92.14079, eccentricity = 0.90054, convex_area = 15533.00000, extent = 0.56677, type = C + area = 14339.00000, perimeter = 492.30801, major_axis_length = 205.77316, minor_axis_length = 90.85659, eccentricity = 0.89724, convex_area = 14818.00000, extent = 0.62747, type = C + area = 14434.00000, perimeter = 488.28699, major_axis_length = 201.64925, minor_axis_length = 92.53371, eccentricity = 0.88850, convex_area = 14826.00000, extent = 0.70776, type = C + area = 12917.00000, perimeter = 473.23499, major_axis_length = 200.32533, minor_axis_length = 83.20118, eccentricity = 0.90967, convex_area = 13302.00000, extent = 0.66610, type = C + area = 11385.00000, perimeter = 419.01001, major_axis_length = 163.70387, minor_axis_length = 89.73259, eccentricity = 0.83639, convex_area = 11767.00000, extent = 0.64018, type = O + area = 12573.00000, perimeter = 461.46600, major_axis_length = 192.90335, minor_axis_length = 84.57207, eccentricity = 0.89877, convex_area = 12893.00000, extent = 0.55043, type = O + area = 10036.00000, perimeter = 402.85901, major_axis_length = 166.15659, minor_axis_length = 77.91069, eccentricity = 0.88325, convex_area = 10255.00000, extent = 0.59157, type = O + area = 12491.00000, perimeter = 457.14099, major_axis_length = 194.87546, minor_axis_length = 82.49109, eccentricity = 0.90599, convex_area = 12721.00000, extent = 0.77048, type = C + area = 8992.00000, perimeter = 377.33200, major_axis_length = 158.27892, minor_axis_length = 73.05545, eccentricity = 0.88711, convex_area = 9105.00000, extent = 0.59451, type = O + area = 10972.00000, perimeter = 425.39999, major_axis_length = 178.52016, minor_axis_length = 78.78365, eccentricity = 0.89735, convex_area = 11192.00000, extent = 0.72094, type = O + area = 11682.00000, perimeter = 423.37399, major_axis_length = 168.39949, minor_axis_length = 89.37419, eccentricity = 0.84754, convex_area = 11963.00000, extent = 0.71581, type = O + area = 12549.00000, perimeter = 456.93500, major_axis_length = 193.39151, minor_axis_length = 83.70135, eccentricity = 0.90149, convex_area = 12905.00000, extent = 0.79707, type = C + area = 11149.00000, perimeter = 416.89099, major_axis_length = 167.29213, minor_axis_length = 86.69962, eccentricity = 0.85523, convex_area = 11323.00000, extent = 0.69090, type = O + area = 13148.00000, perimeter = 481.72198, major_axis_length = 201.51889, minor_axis_length = 84.54153, eccentricity = 0.90775, convex_area = 13572.00000, extent = 0.62375, type = C + area = 14954.00000, perimeter = 501.85699, major_axis_length = 212.03777, minor_axis_length = 90.79552, eccentricity = 0.90368, convex_area = 15225.00000, extent = 0.81462, type = C + area = 13050.00000, perimeter = 460.81900, major_axis_length = 187.39630, minor_axis_length = 89.79348, eccentricity = 0.87773, convex_area = 13379.00000, extent = 0.59600, type = O + area = 16862.00000, perimeter = 519.47101, major_axis_length = 219.65996, minor_axis_length = 98.39157, eccentricity = 0.89407, convex_area = 17104.00000, extent = 0.61227, type = C + area = 14853.00000, perimeter = 488.56100, major_axis_length = 201.56313, minor_axis_length = 95.47245, eccentricity = 0.88071, convex_area = 15224.00000, extent = 0.67853, type = C + area = 11605.00000, perimeter = 429.22501, major_axis_length = 175.01450, minor_axis_length = 85.50439, eccentricity = 0.87253, convex_area = 11933.00000, extent = 0.60976, type = O + area = 15484.00000, perimeter = 504.81900, major_axis_length = 211.28806, minor_axis_length = 94.47181, eccentricity = 0.89447, convex_area = 15795.00000, extent = 0.67912, type = C + area = 15072.00000, perimeter = 487.58499, major_axis_length = 202.49474, minor_axis_length = 95.35527, eccentricity = 0.88219, convex_area = 15267.00000, extent = 0.79056, type = C + area = 15857.00000, perimeter = 515.32202, major_axis_length = 219.96548, minor_axis_length = 93.15427, eccentricity = 0.90590, convex_area = 16109.00000, extent = 0.69916, type = C + area = 13089.00000, perimeter = 458.07700, major_axis_length = 182.10921, minor_axis_length = 92.58980, eccentricity = 0.86110, convex_area = 13562.00000, extent = 0.71291, type = O + area = 13377.00000, perimeter = 472.96100, major_axis_length = 199.94078, minor_axis_length = 86.68287, eccentricity = 0.90113, convex_area = 13685.00000, extent = 0.79483, type = C + area = 11857.00000, perimeter = 434.08899, major_axis_length = 175.60728, minor_axis_length = 87.40578, eccentricity = 0.86733, convex_area = 12176.00000, extent = 0.60520, type = O + area = 14787.00000, perimeter = 492.31299, major_axis_length = 209.67886, minor_axis_length = 90.46774, eccentricity = 0.90213, convex_area = 15066.00000, extent = 0.79568, type = C + area = 11332.00000, perimeter = 449.26001, major_axis_length = 194.78192, minor_axis_length = 75.36935, eccentricity = 0.92210, convex_area = 11671.00000, extent = 0.67368, type = C + area = 12422.00000, perimeter = 482.19800, major_axis_length = 209.21362, minor_axis_length = 76.83704, eccentricity = 0.93012, convex_area = 12783.00000, extent = 0.49808, type = C + area = 11069.00000, perimeter = 419.63800, major_axis_length = 170.60017, minor_axis_length = 83.60847, eccentricity = 0.87168, convex_area = 11333.00000, extent = 0.65930, type = O + area = 12661.00000, perimeter = 436.92200, major_axis_length = 174.83229, minor_axis_length = 93.07770, eccentricity = 0.84650, convex_area = 12898.00000, extent = 0.70198, type = O + area = 14589.00000, perimeter = 495.92999, major_axis_length = 210.28394, minor_axis_length = 89.42495, eccentricity = 0.90507, convex_area = 14853.00000, extent = 0.66510, type = C + area = 13196.00000, perimeter = 474.98801, major_axis_length = 199.98131, minor_axis_length = 85.65816, eccentricity = 0.90362, convex_area = 13463.00000, extent = 0.55646, type = C + area = 14522.00000, perimeter = 499.82501, major_axis_length = 217.67436, minor_axis_length = 85.68789, eccentricity = 0.91926, convex_area = 14719.00000, extent = 0.53194, type = C + area = 13533.00000, perimeter = 469.53201, major_axis_length = 192.39604, minor_axis_length = 91.23042, eccentricity = 0.88043, convex_area = 13954.00000, extent = 0.62161, type = C + area = 10651.00000, perimeter = 411.00299, major_axis_length = 167.18010, minor_axis_length = 82.50652, eccentricity = 0.86974, convex_area = 10893.00000, extent = 0.67505, type = O + area = 16566.00000, perimeter = 527.58600, major_axis_length = 217.09457, minor_axis_length = 98.10107, eccentricity = 0.89208, convex_area = 16987.00000, extent = 0.75191, type = C + area = 10585.00000, perimeter = 409.31601, major_axis_length = 167.74828, minor_axis_length = 81.42166, eccentricity = 0.87430, convex_area = 10819.00000, extent = 0.68356, type = O + area = 13237.00000, perimeter = 478.01099, major_axis_length = 199.68924, minor_axis_length = 85.27763, eccentricity = 0.90423, convex_area = 13627.00000, extent = 0.55852, type = C + area = 12274.00000, perimeter = 453.12900, major_axis_length = 190.98404, minor_axis_length = 82.71131, eccentricity = 0.90136, convex_area = 12466.00000, extent = 0.56035, type = O + area = 9431.00000, perimeter = 383.95901, major_axis_length = 159.65594, minor_axis_length = 75.79572, eccentricity = 0.88012, convex_area = 9556.00000, extent = 0.77558, type = O + area = 11883.00000, perimeter = 429.13101, major_axis_length = 171.33429, minor_axis_length = 89.82451, eccentricity = 0.85156, convex_area = 12179.00000, extent = 0.76364, type = O + area = 11243.00000, perimeter = 430.93301, major_axis_length = 179.99966, minor_axis_length = 81.03175, eccentricity = 0.89294, convex_area = 11524.00000, extent = 0.73894, type = O + area = 14989.00000, perimeter = 484.31000, major_axis_length = 195.34204, minor_axis_length = 98.70048, eccentricity = 0.86296, convex_area = 15393.00000, extent = 0.76106, type = C + area = 14439.00000, perimeter = 490.47000, major_axis_length = 204.82806, minor_axis_length = 91.04846, eccentricity = 0.89577, convex_area = 14815.00000, extent = 0.79139, type = C + area = 14300.00000, perimeter = 504.37701, major_axis_length = 212.59837, minor_axis_length = 87.49030, eccentricity = 0.91140, convex_area = 14772.00000, extent = 0.54044, type = C + area = 13207.00000, perimeter = 469.70001, major_axis_length = 196.48750, minor_axis_length = 87.33901, eccentricity = 0.89578, convex_area = 13546.00000, extent = 0.57454, type = C + area = 13006.00000, perimeter = 486.70700, major_axis_length = 213.12805, minor_axis_length = 78.45641, eccentricity = 0.92978, convex_area = 13399.00000, extent = 0.62245, type = C + area = 10691.00000, perimeter = 407.08701, major_axis_length = 163.29175, minor_axis_length = 84.58920, eccentricity = 0.85537, convex_area = 10921.00000, extent = 0.61210, type = O + area = 13520.00000, perimeter = 471.52899, major_axis_length = 195.30615, minor_axis_length = 89.44056, eccentricity = 0.88898, convex_area = 13950.00000, extent = 0.57013, type = C + area = 11393.00000, perimeter = 428.27899, major_axis_length = 177.33170, minor_axis_length = 82.80523, eccentricity = 0.88428, convex_area = 11627.00000, extent = 0.69402, type = O + area = 11440.00000, perimeter = 425.75201, major_axis_length = 170.70784, minor_axis_length = 87.12856, eccentricity = 0.85994, convex_area = 11816.00000, extent = 0.61216, type = O + area = 14753.00000, perimeter = 495.26001, major_axis_length = 203.72470, minor_axis_length = 93.18322, eccentricity = 0.88926, convex_area = 15153.00000, extent = 0.63465, type = O + area = 14625.00000, perimeter = 497.25201, major_axis_length = 212.79851, minor_axis_length = 88.36369, eccentricity = 0.90971, convex_area = 14924.00000, extent = 0.54895, type = C + area = 11042.00000, perimeter = 430.76001, major_axis_length = 185.50810, minor_axis_length = 76.13742, eccentricity = 0.91189, convex_area = 11224.00000, extent = 0.67846, type = O + area = 10846.00000, perimeter = 418.85199, major_axis_length = 172.20677, minor_axis_length = 81.69290, eccentricity = 0.88032, convex_area = 11069.00000, extent = 0.68274, type = O + area = 12267.00000, perimeter = 454.02499, major_axis_length = 190.67360, minor_axis_length = 83.01829, eccentricity = 0.90024, convex_area = 12673.00000, extent = 0.65167, type = C + area = 12712.00000, perimeter = 470.56201, major_axis_length = 202.19714, minor_axis_length = 81.30088, eccentricity = 0.91560, convex_area = 13053.00000, extent = 0.81487, type = C + area = 12683.00000, perimeter = 448.63699, major_axis_length = 186.15756, minor_axis_length = 87.55859, eccentricity = 0.88248, convex_area = 12847.00000, extent = 0.59095, type = O + area = 11545.00000, perimeter = 429.09799, major_axis_length = 176.99930, minor_axis_length = 84.10534, eccentricity = 0.87989, convex_area = 11816.00000, extent = 0.70586, type = O + area = 14296.00000, perimeter = 484.24399, major_axis_length = 202.97986, minor_axis_length = 91.07145, eccentricity = 0.89370, convex_area = 14572.00000, extent = 0.75724, type = C + area = 10962.00000, perimeter = 418.66101, major_axis_length = 171.63890, minor_axis_length = 82.79927, eccentricity = 0.87595, convex_area = 11258.00000, extent = 0.71647, type = O + area = 11997.00000, perimeter = 429.66000, major_axis_length = 170.99939, minor_axis_length = 90.55362, eccentricity = 0.84828, convex_area = 12253.00000, extent = 0.74636, type = O + area = 10550.00000, perimeter = 404.29501, major_axis_length = 160.47012, minor_axis_length = 85.45004, eccentricity = 0.84643, convex_area = 10846.00000, extent = 0.77981, type = O + area = 13481.00000, perimeter = 447.92099, major_axis_length = 182.98514, minor_axis_length = 94.36719, eccentricity = 0.85676, convex_area = 13647.00000, extent = 0.78078, type = O + area = 11480.00000, perimeter = 422.54901, major_axis_length = 171.27106, minor_axis_length = 86.83596, eccentricity = 0.86194, convex_area = 11781.00000, extent = 0.64822, type = O + area = 16835.00000, perimeter = 522.53497, major_axis_length = 216.27165, minor_axis_length = 100.43251, eccentricity = 0.88564, convex_area = 17404.00000, extent = 0.73522, type = C + area = 11505.00000, perimeter = 444.39401, major_axis_length = 187.23006, minor_axis_length = 79.44549, eccentricity = 0.90551, convex_area = 11745.00000, extent = 0.55926, type = O + area = 13919.00000, perimeter = 482.34900, major_axis_length = 204.29425, minor_axis_length = 87.65405, eccentricity = 0.90328, convex_area = 14274.00000, extent = 0.74898, type = C + area = 13066.00000, perimeter = 458.26199, major_axis_length = 186.34586, minor_axis_length = 90.90146, eccentricity = 0.87295, convex_area = 13315.00000, extent = 0.61481, type = O + area = 12411.00000, perimeter = 466.02802, major_axis_length = 204.51340, minor_axis_length = 78.29598, eccentricity = 0.92381, convex_area = 12707.00000, extent = 0.53057, type = C + area = 12204.00000, perimeter = 436.85501, major_axis_length = 169.29323, minor_axis_length = 93.18581, eccentricity = 0.83487, convex_area = 12505.00000, extent = 0.74779, type = O + area = 13263.00000, perimeter = 474.49799, major_axis_length = 197.84290, minor_axis_length = 86.68632, eccentricity = 0.89890, convex_area = 13607.00000, extent = 0.56009, type = C + area = 11166.00000, perimeter = 419.43301, major_axis_length = 171.46439, minor_axis_length = 84.32466, eccentricity = 0.87071, convex_area = 11437.00000, extent = 0.60435, type = O + area = 15982.00000, perimeter = 523.17401, major_axis_length = 220.01500, minor_axis_length = 94.21848, eccentricity = 0.90367, convex_area = 16337.00000, extent = 0.56920, type = C + area = 12253.00000, perimeter = 437.94299, major_axis_length = 177.75105, minor_axis_length = 89.38976, eccentricity = 0.86435, convex_area = 12595.00000, extent = 0.61493, type = O + area = 15452.00000, perimeter = 513.26202, major_axis_length = 220.03908, minor_axis_length = 90.55234, eccentricity = 0.91140, convex_area = 15775.00000, extent = 0.78119, type = C + area = 9801.00000, perimeter = 391.96500, major_axis_length = 162.89905, minor_axis_length = 76.97165, eccentricity = 0.88132, convex_area = 9964.00000, extent = 0.66474, type = O + area = 12402.00000, perimeter = 437.65799, major_axis_length = 175.23166, minor_axis_length = 91.14552, eccentricity = 0.85408, convex_area = 12595.00000, extent = 0.76593, type = O + area = 12495.00000, perimeter = 443.67801, major_axis_length = 184.98767, minor_axis_length = 87.13018, eccentricity = 0.88213, convex_area = 12690.00000, extent = 0.74260, type = O + area = 12008.00000, perimeter = 433.23401, major_axis_length = 184.12741, minor_axis_length = 83.70604, eccentricity = 0.89069, convex_area = 12129.00000, extent = 0.64403, type = O + area = 11957.00000, perimeter = 441.88300, major_axis_length = 186.96121, minor_axis_length = 81.96999, eccentricity = 0.89876, convex_area = 12137.00000, extent = 0.77362, type = O + area = 10694.00000, perimeter = 405.67700, major_axis_length = 163.36748, minor_axis_length = 84.68367, eccentricity = 0.85516, convex_area = 10891.00000, extent = 0.75014, type = O + area = 15655.00000, perimeter = 513.30103, major_axis_length = 216.09900, minor_axis_length = 93.56715, eccentricity = 0.90140, convex_area = 16085.00000, extent = 0.56565, type = C + area = 11721.00000, perimeter = 442.35001, major_axis_length = 186.25233, minor_axis_length = 81.25922, eccentricity = 0.89981, convex_area = 11950.00000, extent = 0.57779, type = O + area = 14850.00000, perimeter = 499.20700, major_axis_length = 210.13364, minor_axis_length = 91.14337, eccentricity = 0.90104, convex_area = 15327.00000, extent = 0.58901, type = C + area = 14407.00000, perimeter = 494.98999, major_axis_length = 208.74904, minor_axis_length = 88.66286, eccentricity = 0.90532, convex_area = 14716.00000, extent = 0.57376, type = C + area = 13290.00000, perimeter = 469.71201, major_axis_length = 197.26926, minor_axis_length = 86.32834, eccentricity = 0.89916, convex_area = 13570.00000, extent = 0.68269, type = C + area = 11787.00000, perimeter = 434.51401, major_axis_length = 181.29047, minor_axis_length = 83.34933, eccentricity = 0.88805, convex_area = 11965.00000, extent = 0.74413, type = O + area = 12192.00000, perimeter = 442.53000, major_axis_length = 179.94479, minor_axis_length = 87.39317, eccentricity = 0.87414, convex_area = 12483.00000, extent = 0.62542, type = O + area = 10937.00000, perimeter = 424.58600, major_axis_length = 177.16705, minor_axis_length = 79.75700, eccentricity = 0.89294, convex_area = 11103.00000, extent = 0.59521, type = C + area = 13444.00000, perimeter = 474.59299, major_axis_length = 197.95042, minor_axis_length = 87.63919, eccentricity = 0.89665, convex_area = 13881.00000, extent = 0.65661, type = C + area = 11247.00000, perimeter = 418.08200, major_axis_length = 174.79654, minor_axis_length = 82.57596, eccentricity = 0.88138, convex_area = 11407.00000, extent = 0.78827, type = O + area = 11686.00000, perimeter = 433.43900, major_axis_length = 176.76244, minor_axis_length = 85.64665, eccentricity = 0.87477, convex_area = 12038.00000, extent = 0.78157, type = O + area = 12273.00000, perimeter = 441.19101, major_axis_length = 182.09915, minor_axis_length = 86.59351, eccentricity = 0.87970, convex_area = 12469.00000, extent = 0.62098, type = O + area = 12128.00000, perimeter = 441.71201, major_axis_length = 184.30515, minor_axis_length = 84.94325, eccentricity = 0.88746, convex_area = 12327.00000, extent = 0.62233, type = O + area = 13484.00000, perimeter = 468.86899, major_axis_length = 195.42339, minor_axis_length = 88.78389, eccentricity = 0.89084, convex_area = 13786.00000, extent = 0.72401, type = C + area = 11531.00000, perimeter = 445.73901, major_axis_length = 187.97710, minor_axis_length = 79.08083, eccentricity = 0.90720, convex_area = 11918.00000, extent = 0.60543, type = O + area = 14559.00000, perimeter = 496.52399, major_axis_length = 213.39636, minor_axis_length = 87.13540, eccentricity = 0.91284, convex_area = 14765.00000, extent = 0.71082, type = C + area = 12032.00000, perimeter = 437.63599, major_axis_length = 177.40347, minor_axis_length = 87.80333, eccentricity = 0.86893, convex_area = 12291.00000, extent = 0.60548, type = O + area = 12675.00000, perimeter = 466.10101, major_axis_length = 195.80823, minor_axis_length = 83.40395, eccentricity = 0.90475, convex_area = 12977.00000, extent = 0.58025, type = O + area = 17353.00000, perimeter = 539.03400, major_axis_length = 220.96120, minor_axis_length = 101.45410, eccentricity = 0.88836, convex_area = 17845.00000, extent = 0.63031, type = C + area = 10787.00000, perimeter = 401.25500, major_axis_length = 160.01788, minor_axis_length = 86.63780, eccentricity = 0.84075, convex_area = 11010.00000, extent = 0.65835, type = O + area = 14057.00000, perimeter = 463.14200, major_axis_length = 189.79260, minor_axis_length = 95.08885, eccentricity = 0.86544, convex_area = 14259.00000, extent = 0.62612, type = C + area = 15385.00000, perimeter = 505.57800, major_axis_length = 211.73012, minor_axis_length = 94.12325, eccentricity = 0.89576, convex_area = 15726.00000, extent = 0.58791, type = C + area = 11850.00000, perimeter = 440.86499, major_axis_length = 178.62244, minor_axis_length = 86.16687, eccentricity = 0.87595, convex_area = 12201.00000, extent = 0.78373, type = O + area = 13064.00000, perimeter = 469.83600, major_axis_length = 199.55998, minor_axis_length = 84.36462, eccentricity = 0.90624, convex_area = 13382.00000, extent = 0.65642, type = C + area = 13468.00000, perimeter = 470.76300, major_axis_length = 194.47350, minor_axis_length = 89.74107, eccentricity = 0.88716, convex_area = 14022.00000, extent = 0.69184, type = C + area = 11173.00000, perimeter = 420.93399, major_axis_length = 175.65459, minor_axis_length = 81.66387, eccentricity = 0.88536, convex_area = 11396.00000, extent = 0.80197, type = O + area = 12985.00000, perimeter = 466.13501, major_axis_length = 196.66615, minor_axis_length = 84.69309, eccentricity = 0.90252, convex_area = 13221.00000, extent = 0.58889, type = C + area = 10973.00000, perimeter = 419.94299, major_axis_length = 171.83344, minor_axis_length = 82.90456, eccentricity = 0.87591, convex_area = 11239.00000, extent = 0.70475, type = O + area = 13484.00000, perimeter = 480.78601, major_axis_length = 204.20760, minor_axis_length = 84.90129, eccentricity = 0.90947, convex_area = 13827.00000, extent = 0.65856, type = C + area = 11875.00000, perimeter = 425.45099, major_axis_length = 174.09418, minor_axis_length = 87.36473, eccentricity = 0.86497, convex_area = 12041.00000, extent = 0.69453, type = O + area = 13295.00000, perimeter = 475.74301, major_axis_length = 199.24074, minor_axis_length = 86.08378, eccentricity = 0.90185, convex_area = 13639.00000, extent = 0.61599, type = C + area = 11977.00000, perimeter = 442.36401, major_axis_length = 185.26541, minor_axis_length = 83.16058, eccentricity = 0.89360, convex_area = 12186.00000, extent = 0.68175, type = O + area = 14961.00000, perimeter = 502.90900, major_axis_length = 215.19250, minor_axis_length = 89.23142, eccentricity = 0.90998, convex_area = 15218.00000, extent = 0.67532, type = C + area = 11794.00000, perimeter = 434.61899, major_axis_length = 176.44444, minor_axis_length = 86.10284, eccentricity = 0.87285, convex_area = 12110.00000, extent = 0.59838, type = O + area = 11908.00000, perimeter = 430.70300, major_axis_length = 174.37300, minor_axis_length = 88.10851, eccentricity = 0.86295, convex_area = 12162.00000, extent = 0.68832, type = O + area = 14096.00000, perimeter = 476.95401, major_axis_length = 198.74219, minor_axis_length = 91.36671, eccentricity = 0.88806, convex_area = 14346.00000, extent = 0.59932, type = C + area = 14041.00000, perimeter = 491.66101, major_axis_length = 212.85693, minor_axis_length = 84.56731, eccentricity = 0.91769, convex_area = 14289.00000, extent = 0.78661, type = C + area = 13657.00000, perimeter = 481.61899, major_axis_length = 207.01315, minor_axis_length = 84.51869, eccentricity = 0.91286, convex_area = 13872.00000, extent = 0.56734, type = C + area = 11702.00000, perimeter = 432.77399, major_axis_length = 177.72461, minor_axis_length = 84.66332, eccentricity = 0.87924, convex_area = 11975.00000, extent = 0.59716, type = C + area = 14960.00000, perimeter = 496.92801, major_axis_length = 209.66216, minor_axis_length = 91.68534, eccentricity = 0.89932, convex_area = 15198.00000, extent = 0.76016, type = C + area = 11480.00000, perimeter = 419.10699, major_axis_length = 170.62241, minor_axis_length = 86.62787, eccentricity = 0.86152, convex_area = 11674.00000, extent = 0.78544, type = O + area = 11766.00000, perimeter = 423.98099, major_axis_length = 171.20862, minor_axis_length = 88.11246, eccentricity = 0.85740, convex_area = 11954.00000, extent = 0.63918, type = O + area = 15510.00000, perimeter = 507.31900, major_axis_length = 215.95482, minor_axis_length = 92.47437, eccentricity = 0.90368, convex_area = 15862.00000, extent = 0.59954, type = C + area = 9843.00000, perimeter = 383.11600, major_axis_length = 154.95032, minor_axis_length = 81.35683, eccentricity = 0.85107, convex_area = 10024.00000, extent = 0.70227, type = O + area = 11278.00000, perimeter = 422.18600, major_axis_length = 170.41817, minor_axis_length = 86.04628, eccentricity = 0.86317, convex_area = 11642.00000, extent = 0.62465, type = O + area = 14268.00000, perimeter = 485.63400, major_axis_length = 202.25085, minor_axis_length = 91.05271, eccentricity = 0.89293, convex_area = 14586.00000, extent = 0.61699, type = C + area = 10297.00000, perimeter = 397.12500, major_axis_length = 160.82759, minor_axis_length = 82.35851, eccentricity = 0.85893, convex_area = 10488.00000, extent = 0.78471, type = O + area = 18913.00000, perimeter = 541.74597, major_axis_length = 227.13548, minor_axis_length = 106.94836, eccentricity = 0.88221, convex_area = 19099.00000, extent = 0.80412, type = C + area = 15350.00000, perimeter = 498.17899, major_axis_length = 204.62120, minor_axis_length = 96.89340, eccentricity = 0.88078, convex_area = 15751.00000, extent = 0.66370, type = C + area = 12583.00000, perimeter = 434.00299, major_axis_length = 171.65707, minor_axis_length = 94.46523, eccentricity = 0.83496, convex_area = 12897.00000, extent = 0.74328, type = O + area = 13446.00000, perimeter = 461.43900, major_axis_length = 188.98297, minor_axis_length = 91.78732, eccentricity = 0.87413, convex_area = 13643.00000, extent = 0.59856, type = O + area = 10191.00000, perimeter = 419.57901, major_axis_length = 174.73424, minor_axis_length = 75.53467, eccentricity = 0.90174, convex_area = 10470.00000, extent = 0.62733, type = O + area = 9878.00000, perimeter = 406.97800, major_axis_length = 169.36671, minor_axis_length = 74.97759, eccentricity = 0.89667, convex_area = 10098.00000, extent = 0.58133, type = O + area = 10588.00000, perimeter = 404.32401, major_axis_length = 163.66208, minor_axis_length = 83.96915, eccentricity = 0.85835, convex_area = 10756.00000, extent = 0.61487, type = O + area = 13350.00000, perimeter = 466.61899, major_axis_length = 196.50897, minor_axis_length = 87.16155, eccentricity = 0.89625, convex_area = 13562.00000, extent = 0.79921, type = C + area = 12006.00000, perimeter = 463.38101, major_axis_length = 198.96843, minor_axis_length = 77.81852, eccentricity = 0.92034, convex_area = 12344.00000, extent = 0.53503, type = C + area = 12161.00000, perimeter = 445.04800, major_axis_length = 182.33475, minor_axis_length = 86.27271, eccentricity = 0.88098, convex_area = 12428.00000, extent = 0.60281, type = C + area = 11818.00000, perimeter = 433.82800, major_axis_length = 175.96391, minor_axis_length = 86.77378, eccentricity = 0.86995, convex_area = 12118.00000, extent = 0.71494, type = O + area = 11396.00000, perimeter = 431.29700, major_axis_length = 177.63840, minor_axis_length = 82.85764, eccentricity = 0.88455, convex_area = 11612.00000, extent = 0.75321, type = O + area = 14498.00000, perimeter = 496.54999, major_axis_length = 200.71027, minor_axis_length = 93.57654, eccentricity = 0.88467, convex_area = 15053.00000, extent = 0.65306, type = O + area = 13734.00000, perimeter = 487.84000, major_axis_length = 213.24744, minor_axis_length = 83.18277, eccentricity = 0.92078, convex_area = 13941.00000, extent = 0.80523, type = C + area = 11128.00000, perimeter = 441.43301, major_axis_length = 184.41098, minor_axis_length = 79.25365, eccentricity = 0.90294, convex_area = 11403.00000, extent = 0.55810, type = C + area = 15373.00000, perimeter = 522.21100, major_axis_length = 229.49373, minor_axis_length = 86.34157, eccentricity = 0.92653, convex_area = 15757.00000, extent = 0.67160, type = C + area = 10765.00000, perimeter = 413.67700, major_axis_length = 164.79503, minor_axis_length = 84.79121, eccentricity = 0.85748, convex_area = 11127.00000, extent = 0.60871, type = O + area = 10690.00000, perimeter = 411.38400, major_axis_length = 169.08861, minor_axis_length = 81.66603, eccentricity = 0.87563, convex_area = 10915.00000, extent = 0.66110, type = O + area = 12743.00000, perimeter = 449.23001, major_axis_length = 180.94476, minor_axis_length = 90.80772, eccentricity = 0.86495, convex_area = 13044.00000, extent = 0.61937, type = O + area = 10974.00000, perimeter = 413.50000, major_axis_length = 170.56783, minor_axis_length = 83.24488, eccentricity = 0.87282, convex_area = 11142.00000, extent = 0.76410, type = O + area = 12384.00000, perimeter = 460.13599, major_axis_length = 190.87038, minor_axis_length = 85.09120, eccentricity = 0.89513, convex_area = 12811.00000, extent = 0.60484, type = C + area = 13853.00000, perimeter = 479.72299, major_axis_length = 193.40189, minor_axis_length = 92.85981, eccentricity = 0.87719, convex_area = 14338.00000, extent = 0.58637, type = C + area = 12184.00000, perimeter = 437.83899, major_axis_length = 180.10709, minor_axis_length = 87.29169, eccentricity = 0.87470, convex_area = 12398.00000, extent = 0.77373, type = O + area = 10952.00000, perimeter = 421.10501, major_axis_length = 176.87213, minor_axis_length = 79.62229, eccentricity = 0.89294, convex_area = 11105.00000, extent = 0.58101, type = O + area = 17564.00000, perimeter = 527.11603, major_axis_length = 221.60294, minor_axis_length = 101.65880, eccentricity = 0.88857, convex_area = 17808.00000, extent = 0.77116, type = C + area = 13158.00000, perimeter = 470.99600, major_axis_length = 201.01839, minor_axis_length = 84.50301, eccentricity = 0.90735, convex_area = 13462.00000, extent = 0.61978, type = C + area = 11363.00000, perimeter = 416.04999, major_axis_length = 168.43848, minor_axis_length = 86.90823, eccentricity = 0.85661, convex_area = 11594.00000, extent = 0.63026, type = O + area = 15285.00000, perimeter = 516.46698, major_axis_length = 216.28044, minor_axis_length = 91.34657, eccentricity = 0.90643, convex_area = 15704.00000, extent = 0.58788, type = C + area = 15140.00000, perimeter = 502.55301, major_axis_length = 213.89561, minor_axis_length = 90.89738, eccentricity = 0.90521, convex_area = 15491.00000, extent = 0.75821, type = C + area = 11961.00000, perimeter = 448.56500, major_axis_length = 189.18015, minor_axis_length = 81.78645, eccentricity = 0.90172, convex_area = 12275.00000, extent = 0.75340, type = O + area = 11780.00000, perimeter = 435.67099, major_axis_length = 181.69832, minor_axis_length = 83.58512, eccentricity = 0.88791, convex_area = 11975.00000, extent = 0.80796, type = O + area = 11327.00000, perimeter = 422.68500, major_axis_length = 175.85306, minor_axis_length = 82.81971, eccentricity = 0.88215, convex_area = 11475.00000, extent = 0.59631, type = O + area = 10729.00000, perimeter = 414.69901, major_axis_length = 171.72987, minor_axis_length = 81.42698, eccentricity = 0.88044, convex_area = 10987.00000, extent = 0.79421, type = O + area = 12712.00000, perimeter = 456.06699, major_axis_length = 186.16054, minor_axis_length = 88.90031, eccentricity = 0.87861, convex_area = 13092.00000, extent = 0.64489, type = O + area = 12483.00000, perimeter = 428.14700, major_axis_length = 170.29613, minor_axis_length = 94.28094, eccentricity = 0.83276, convex_area = 12680.00000, extent = 0.73737, type = O + area = 10610.00000, perimeter = 410.50601, major_axis_length = 171.15617, minor_axis_length = 79.34595, eccentricity = 0.88605, convex_area = 10769.00000, extent = 0.82510, type = C + area = 11718.00000, perimeter = 439.20401, major_axis_length = 182.26459, minor_axis_length = 82.59560, eccentricity = 0.89143, convex_area = 11967.00000, extent = 0.64884, type = O + area = 12818.00000, perimeter = 439.95200, major_axis_length = 179.20169, minor_axis_length = 91.86772, eccentricity = 0.85860, convex_area = 13005.00000, extent = 0.62582, type = O + area = 11357.00000, perimeter = 427.04099, major_axis_length = 178.59515, minor_axis_length = 81.39304, eccentricity = 0.89011, convex_area = 11546.00000, extent = 0.59673, type = O + area = 13078.00000, perimeter = 452.99100, major_axis_length = 183.97897, minor_axis_length = 91.69001, eccentricity = 0.86696, convex_area = 13385.00000, extent = 0.73274, type = O diff --git a/cmake-build-relwithdebinfo/run_5/regress.stt b/cmake-build-relwithdebinfo/run_5/regress.stt new file mode 100644 index 0000000..c8131a0 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_5/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.9555 0.9987 0.0000 18.307 3.461 7 2 74 6 0.9555 0.9987 0.0000 18.307 3.461 7 2 74 6 +1 0 0.9909 0.9989 0.0000 16.899 3.648 22 5 14 5 0.9732 0.9989 0.0000 17.603 3.554 22 5 74 6 +2 0 0.9905 0.9989 0.0000 16.645 3.805 22 5 72 7 0.9790 0.9989 0.0000 17.284 3.638 22 5 74 6 +3 0 0.9915 0.9989 0.0000 16.747 3.932 22 5 25 5 0.9821 0.9989 0.0000 17.150 3.711 22 5 74 6 +4 0 0.9920 0.9989 0.0000 16.375 4.036 22 5 22 6 0.9841 0.9989 0.0000 16.995 3.776 22 5 74 6 +5 0 0.9935 0.9989 0.0000 16.644 4.147 22 5 41 9 0.9856 0.9989 0.0000 16.936 3.838 22 5 74 6 +6 0 0.9939 0.9989 0.0000 16.575 4.189 22 5 65 6 0.9868 0.9989 0.0000 16.885 3.888 22 5 74 6 +7 0 0.9925 0.9989 0.0000 16.153 4.209 22 5 18 7 0.9875 0.9989 0.0000 16.793 3.928 22 5 74 6 +8 0 0.9947 0.9989 0.0000 15.654 4.163 22 5 49 11 0.9883 0.9989 0.0000 16.667 3.954 22 5 74 6 +9 0 0.9955 0.9989 0.0000 15.458 4.234 22 5 11 5 0.9890 0.9989 0.0000 16.546 3.982 22 5 74 6 +10 0 0.9933 0.9989 0.0000 15.701 4.314 22 5 91 14 0.9894 0.9989 0.0000 16.469 4.012 22 5 74 6 +11 0 0.9924 0.9989 0.0000 15.475 4.304 22 5 51 13 0.9897 0.9989 0.0000 16.386 4.037 22 5 74 6 +12 0 0.9952 0.9989 0.0000 15.004 4.242 22 5 33 7 0.9901 0.9989 0.0000 16.280 4.053 22 5 74 6 +13 0 0.9952 0.9989 0.0000 14.904 4.269 22 5 70 11 0.9904 0.9989 0.0000 16.181 4.068 22 5 74 6 +14 0 0.9938 0.9989 0.0000 14.677 4.291 22 5 25 6 0.9907 0.9989 0.0000 16.081 4.083 22 5 74 6 +15 0 0.9949 0.9989 0.0000 13.889 4.179 22 5 18 8 0.9909 0.9989 0.0000 15.944 4.089 22 5 74 6 +16 0 0.9959 0.9989 0.0000 13.649 4.197 32 9 84 11 0.9912 0.9989 0.0000 15.809 4.095 32 9 74 6 +17 0 0.9943 0.9989 0.0000 13.347 4.180 32 9 15 7 0.9914 0.9989 0.0000 15.672 4.100 32 9 74 6 +18 0 0.9953 0.9989 0.0000 13.064 4.123 32 9 11 6 0.9916 0.9989 0.0000 15.535 4.101 32 9 74 6 +19 0 0.9955 0.9989 0.0000 12.807 4.131 32 9 16 6 0.9918 0.9989 0.0000 15.399 4.103 32 9 74 6 +20 0 0.9967 0.9989 0.0000 12.674 4.113 32 9 49 10 0.9920 0.9989 0.0000 15.269 4.103 32 9 74 6 +21 0 0.9958 0.9989 0.0000 12.649 4.108 32 9 14 5 0.9922 0.9989 0.0000 15.150 4.103 32 9 74 6 +22 0 0.9942 0.9989 0.0000 12.381 4.079 32 9 6 3 0.9923 0.9989 0.0000 15.029 4.102 32 9 74 6 +23 0 0.9971 0.9989 0.0000 12.230 4.045 32 9 44 11 0.9925 0.9989 0.0000 14.913 4.100 32 9 74 6 +24 0 0.9955 0.9989 0.0000 11.791 3.948 32 9 35 10 0.9926 0.9989 0.0000 14.788 4.094 32 9 74 6 +25 0 0.9955 0.9989 0.0000 11.490 3.906 32 9 13 6 0.9927 0.9989 0.0000 14.661 4.087 32 9 74 6 +26 0 0.9963 0.9989 0.0000 11.555 3.974 32 9 7 3 0.9928 0.9989 0.0000 14.546 4.082 32 9 74 6 +27 0 0.9959 0.9989 0.0000 11.080 3.862 32 9 10 4 0.9930 0.9989 0.0000 14.422 4.075 32 9 74 6 +28 0 0.9967 0.9989 0.0000 11.043 3.866 32 9 23 8 0.9931 0.9989 0.0000 14.306 4.067 32 9 74 6 +29 0 0.9967 0.9989 0.0000 10.840 3.827 32 9 35 8 0.9932 0.9989 0.0000 14.190 4.059 32 9 74 6 +30 0 0.9967 0.9989 0.0000 10.553 3.743 32 9 18 7 0.9933 0.9989 0.0000 14.073 4.049 32 9 74 6 +31 0 0.9963 0.9989 0.0000 10.698 3.833 32 9 20 6 0.9934 0.9989 0.0000 13.967 4.042 32 9 74 6 +32 0 0.9967 0.9989 0.0000 10.662 3.817 32 9 43 12 0.9935 0.9989 0.0000 13.867 4.036 32 9 74 6 +33 0 0.9967 0.9989 0.0000 10.542 3.823 32 9 66 17 0.9936 0.9989 0.0000 13.769 4.029 32 9 74 6 +34 0 0.9965 0.9989 0.0000 10.479 3.822 32 9 50 16 0.9937 0.9989 0.0000 13.675 4.023 32 9 74 6 +35 0 0.9961 0.9989 0.0000 10.365 3.803 32 9 27 12 0.9937 0.9989 0.0000 13.584 4.017 32 9 74 6 +36 0 0.9965 0.9989 0.0000 10.172 3.765 32 9 42 11 0.9938 0.9989 0.0000 13.491 4.010 32 9 74 6 +37 0 0.9965 0.9989 0.0000 9.982 3.727 32 9 31 11 0.9939 0.9989 0.0000 13.399 4.003 32 9 74 6 +38 0 0.9957 0.9989 0.0000 9.874 3.680 32 9 52 11 0.9939 0.9989 0.0000 13.309 3.995 32 9 74 6 +39 0 0.9961 0.9989 0.0000 9.678 3.639 32 9 20 6 0.9940 0.9989 0.0000 13.218 3.986 32 9 74 6 +40 0 0.9967 0.9989 0.0000 9.542 3.599 32 9 18 4 0.9941 0.9989 0.0000 13.128 3.976 32 9 74 6 +41 0 0.9963 0.9989 0.0000 9.439 3.564 32 9 14 6 0.9941 0.9989 0.0000 13.040 3.967 32 9 74 6 +42 0 0.9965 0.9989 0.0000 9.411 3.587 32 9 33 13 0.9942 0.9989 0.0000 12.956 3.958 32 9 74 6 +43 0 0.9971 0.9989 0.0000 9.521 3.617 15 5 47 12 0.9942 0.9989 0.0000 12.878 3.950 15 5 74 6 +44 0 0.9965 0.9989 0.0000 9.517 3.642 15 5 31 12 0.9943 0.9989 0.0000 12.803 3.943 15 5 74 6 +45 0 0.9965 0.9989 0.0000 9.488 3.632 15 5 18 6 0.9943 0.9989 0.0000 12.731 3.936 15 5 74 6 +46 0 0.9977 0.9989 0.0000 9.380 3.608 15 5 40 12 0.9944 0.9989 0.0000 12.660 3.929 15 5 74 6 +47 0 0.9973 0.9989 0.0000 9.409 3.622 15 5 43 10 0.9945 0.9989 0.0000 12.592 3.923 15 5 74 6 +48 0 0.9961 0.9989 0.0000 9.443 3.613 15 5 26 9 0.9945 0.9989 0.0000 12.528 3.917 15 5 74 6 +49 0 0.9965 0.9989 0.0000 9.307 3.580 15 5 27 12 0.9945 0.9989 0.0000 12.463 3.910 15 5 74 6 +50 0 0.9971 0.9989 0.0000 9.192 3.545 15 5 15 5 0.9946 0.9989 0.0000 12.399 3.903 15 5 74 6 diff --git a/cmake-build-relwithdebinfo/run_5/regress.sys b/cmake-build-relwithdebinfo/run_5/regress.sys new file mode 100644 index 0000000..52b2145 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_5/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - exp log area perimeter major minor eccentricity convex extent R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 1457. +creating initial population(s): + 7357 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 9. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 12. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 29. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (1s wall) +=== generation 43. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (1s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 80280994 + freed: 80232994 + not freed: 48000 + max allocated: 2537335 + malloc'ed blocks: 830554 + realloc'ed blocks: 8 + free'ed blocks: 830548 + +------- time ------- + overall: 56s wall + evaluation: 49s wall + breeding: 6s wall + +------- generation spaces ------- + space 0 size: 300 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 8017 + freed: 8017 + allocated: 5500 + blocks: 10 diff --git a/cmake-build-relwithdebinfo/run_6/regress.bst b/cmake-build-relwithdebinfo/run_6/regress.bst new file mode 100644 index 0000000..d85324a --- /dev/null +++ b/cmake-build-relwithdebinfo/run_6/regress.bst @@ -0,0 +1,19 @@ +=== BEST-OF-RUN === + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +TREE-equ: +y = log((exp((major / -0.34459)) / exp(major))) diff --git a/cmake-build-relwithdebinfo/run_6/regress.fn b/cmake-build-relwithdebinfo/run_6/regress.fn new file mode 100644 index 0000000..3763b36 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_6/regress.fn @@ -0,0 +1,11 @@ +Hits: 2614, Total Size: 2810, Percent Hit: 93.024911 +CC: 1024 +CO: 76 +OO: 1590 +OC: 120 + + +y = log((exp((major / -0.34459)) / exp(major))) + + (log (/ (exp (/ major -0.34459)) + (exp major))) diff --git a/cmake-build-relwithdebinfo/run_6/regress.gen b/cmake-build-relwithdebinfo/run_6/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/run_6/regress.his b/cmake-build-relwithdebinfo/run_6/regress.his new file mode 100644 index 0000000..9840322 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_6/regress.his @@ -0,0 +1,941 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 20 + depth: 4 + hits: 780 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 780 + raw fitness: 780.0000 + standardized fitness: 780.0000 + adjusted fitness: 0.9987 +TREE: + (- (log (log (log eccentricity))) + (/ (- (- perimeter -0.96684) + (/ extent major)) + (* (* perimeter minor) + (/ major area)))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 20 + depth: 4 + hits: 780 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 780 + raw fitness: 780.0000 + standardized fitness: 780.0000 + adjusted fitness: 0.9987 +TREE: + (- (log (log (log eccentricity))) + (/ (- (- perimeter -0.96684) + (/ extent major)) + (* (* perimeter minor) + (/ major area)))) +=== BEST-OF-RUN === + current generation: 2 + generation: 0 + nodes: 20 + depth: 4 + hits: 780 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 780 + raw fitness: 780.0000 + standardized fitness: 780.0000 + adjusted fitness: 0.9987 +TREE: + (- (log (log (log eccentricity))) + (/ (- (- perimeter -0.96684) + (/ extent major)) + (* (* perimeter minor) + (/ major area)))) +=== BEST-OF-RUN === + current generation: 3 + generation: 0 + nodes: 20 + depth: 4 + hits: 780 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 780 + raw fitness: 780.0000 + standardized fitness: 780.0000 + adjusted fitness: 0.9987 +TREE: + (- (log (log (log eccentricity))) + (/ (- (- perimeter -0.96684) + (/ extent major)) + (* (* perimeter minor) + (/ major area)))) +=== BEST-OF-RUN === + current generation: 4 + generation: 0 + nodes: 20 + depth: 4 + hits: 780 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 780 + raw fitness: 780.0000 + standardized fitness: 780.0000 + adjusted fitness: 0.9987 +TREE: + (- (log (log (log eccentricity))) + (/ (- (- perimeter -0.96684) + (/ extent major)) + (* (* perimeter minor) + (/ major area)))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 14 + depth: 4 + hits: 782 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 782 + raw fitness: 782.0000 + standardized fitness: 782.0000 + adjusted fitness: 0.9987 +TREE: + (- (log (log (log eccentricity))) + (/ perimeter + (* (* perimeter minor) + (/ major area)))) +=== BEST-OF-RUN === + current generation: 6 + generation: 5 + nodes: 14 + depth: 4 + hits: 782 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 782 + raw fitness: 782.0000 + standardized fitness: 782.0000 + adjusted fitness: 0.9987 +TREE: + (- (log (log (log eccentricity))) + (/ perimeter + (* (* perimeter minor) + (/ major area)))) +=== BEST-OF-RUN === + current generation: 7 + generation: 5 + nodes: 14 + depth: 4 + hits: 782 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 782 + raw fitness: 782.0000 + standardized fitness: 782.0000 + adjusted fitness: 0.9987 +TREE: + (- (log (log (log eccentricity))) + (/ perimeter + (* (* perimeter minor) + (/ major area)))) +=== BEST-OF-RUN === + current generation: 8 + generation: 5 + nodes: 14 + depth: 4 + hits: 782 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 782 + raw fitness: 782.0000 + standardized fitness: 782.0000 + adjusted fitness: 0.9987 +TREE: + (- (log (log (log eccentricity))) + (/ perimeter + (* (* perimeter minor) + (/ major area)))) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 10 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 11 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 12 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 13 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 14 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 15 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 16 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 17 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 18 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 19 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 20 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 21 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 22 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 23 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 24 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 25 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 26 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 27 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 28 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 29 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 30 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 31 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 32 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 33 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 34 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 35 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 36 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 37 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 38 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 39 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 40 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 41 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 42 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 43 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 44 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 45 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 46 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 47 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 48 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 49 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) +=== BEST-OF-RUN === + current generation: 50 + generation: 9 + nodes: 8 + depth: 4 + hits: 919 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 919 + raw fitness: 919.0000 + standardized fitness: 919.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (exp (/ major -0.34459)) + (exp major))) diff --git a/cmake-build-relwithdebinfo/run_6/regress.prg b/cmake-build-relwithdebinfo/run_6/regress.prg new file mode 100644 index 0000000..5bae649 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_6/regress.prg @@ -0,0 +1,1002 @@ +not starting from checkpoint file. +1000 fitness cases: + area = 14794.00000, perimeter = 501.56900, major_axis_length = 213.49100, minor_axis_length = 89.19424, eccentricity = 0.90854, convex_area = 15202.00000, extent = 0.68062, type = C + area = 11794.00000, perimeter = 456.32300, major_axis_length = 194.04308, minor_axis_length = 78.79870, eccentricity = 0.91383, convex_area = 12116.00000, extent = 0.65348, type = C + area = 14434.00000, perimeter = 488.28699, major_axis_length = 201.64925, minor_axis_length = 92.53371, eccentricity = 0.88850, convex_area = 14826.00000, extent = 0.70776, type = C + area = 13887.00000, perimeter = 483.16800, major_axis_length = 203.42085, minor_axis_length = 88.11791, eccentricity = 0.90131, convex_area = 14240.00000, extent = 0.68439, type = C + area = 12800.00000, perimeter = 448.29199, major_axis_length = 185.55368, minor_axis_length = 88.76694, eccentricity = 0.87815, convex_area = 13000.00000, extent = 0.78144, type = O + area = 14839.00000, perimeter = 504.08401, major_axis_length = 211.36960, minor_axis_length = 91.34764, eccentricity = 0.90179, convex_area = 15274.00000, extent = 0.62638, type = C + area = 14412.00000, perimeter = 490.32401, major_axis_length = 207.47614, minor_axis_length = 89.68951, eccentricity = 0.90174, convex_area = 14703.00000, extent = 0.59885, type = C + area = 12277.00000, perimeter = 450.32599, major_axis_length = 190.74178, minor_axis_length = 82.85999, eccentricity = 0.90072, convex_area = 12482.00000, extent = 0.76340, type = O + area = 13207.00000, perimeter = 469.70001, major_axis_length = 196.48750, minor_axis_length = 87.33901, eccentricity = 0.89578, convex_area = 13546.00000, extent = 0.57454, type = C + area = 11993.00000, perimeter = 427.53900, major_axis_length = 168.49837, minor_axis_length = 91.95948, eccentricity = 0.83794, convex_area = 12286.00000, extent = 0.63929, type = O + area = 9908.00000, perimeter = 400.99899, major_axis_length = 170.60487, minor_axis_length = 74.51440, eccentricity = 0.89958, convex_area = 10075.00000, extent = 0.58610, type = O + area = 13328.00000, perimeter = 462.25601, major_axis_length = 187.22998, minor_axis_length = 91.63737, eccentricity = 0.87204, convex_area = 13606.00000, extent = 0.60984, type = O + area = 11419.00000, perimeter = 431.51300, major_axis_length = 175.95653, minor_axis_length = 83.67270, eccentricity = 0.87970, convex_area = 11732.00000, extent = 0.66778, type = O + area = 12752.00000, perimeter = 455.35199, major_axis_length = 191.76224, minor_axis_length = 85.68018, eccentricity = 0.89463, convex_area = 12938.00000, extent = 0.57240, type = O + area = 11625.00000, perimeter = 437.35999, major_axis_length = 186.70815, minor_axis_length = 79.72378, eccentricity = 0.90425, convex_area = 11830.00000, extent = 0.72187, type = C + area = 11739.00000, perimeter = 430.49200, major_axis_length = 170.79736, minor_axis_length = 89.44210, eccentricity = 0.85192, convex_area = 11963.00000, extent = 0.58258, type = O + area = 12274.00000, perimeter = 456.12399, major_axis_length = 194.48738, minor_axis_length = 81.23903, eccentricity = 0.90858, convex_area = 12562.00000, extent = 0.70964, type = C + area = 14272.00000, perimeter = 487.70300, major_axis_length = 207.79874, minor_axis_length = 88.06716, eccentricity = 0.90575, convex_area = 14510.00000, extent = 0.58301, type = C + area = 13167.00000, perimeter = 466.66400, major_axis_length = 197.12506, minor_axis_length = 86.21641, eccentricity = 0.89928, convex_area = 13448.00000, extent = 0.58099, type = C + area = 12518.00000, perimeter = 460.72198, major_axis_length = 195.65092, minor_axis_length = 82.36374, eccentricity = 0.90707, convex_area = 12813.00000, extent = 0.68989, type = C + area = 15252.00000, perimeter = 501.33200, major_axis_length = 207.52405, minor_axis_length = 94.27309, eccentricity = 0.89086, convex_area = 15595.00000, extent = 0.59171, type = C + area = 12343.00000, perimeter = 443.61301, major_axis_length = 177.42363, minor_axis_length = 90.40623, eccentricity = 0.86044, convex_area = 12712.00000, extent = 0.66296, type = O + area = 13562.00000, perimeter = 474.21899, major_axis_length = 194.61276, minor_axis_length = 90.66898, eccentricity = 0.88484, convex_area = 13871.00000, extent = 0.71334, type = C + area = 16618.00000, perimeter = 513.75299, major_axis_length = 213.21713, minor_axis_length = 99.89234, eccentricity = 0.88346, convex_area = 16892.00000, extent = 0.63641, type = C + area = 14471.00000, perimeter = 491.34201, major_axis_length = 200.41316, minor_axis_length = 92.81940, eccentricity = 0.88629, convex_area = 14736.00000, extent = 0.58597, type = C + area = 13347.00000, perimeter = 461.87201, major_axis_length = 193.52736, minor_axis_length = 88.68710, eccentricity = 0.88881, convex_area = 13536.00000, extent = 0.77703, type = O + area = 13864.00000, perimeter = 491.44601, major_axis_length = 206.88370, minor_axis_length = 86.35062, eccentricity = 0.90873, convex_area = 14221.00000, extent = 0.71597, type = C + area = 13567.00000, perimeter = 475.17099, major_axis_length = 197.29468, minor_axis_length = 88.91294, eccentricity = 0.89270, convex_area = 13940.00000, extent = 0.63770, type = C + area = 12422.00000, perimeter = 482.19800, major_axis_length = 209.21362, minor_axis_length = 76.83704, eccentricity = 0.93012, convex_area = 12783.00000, extent = 0.49808, type = C + area = 10712.00000, perimeter = 417.25101, major_axis_length = 174.89871, minor_axis_length = 79.08196, eccentricity = 0.89194, convex_area = 10940.00000, extent = 0.58382, type = O + area = 13822.00000, perimeter = 491.66101, major_axis_length = 212.13541, minor_axis_length = 83.65462, eccentricity = 0.91896, convex_area = 14073.00000, extent = 0.65470, type = C + area = 14969.00000, perimeter = 494.41699, major_axis_length = 207.20992, minor_axis_length = 92.91051, eccentricity = 0.89384, convex_area = 15286.00000, extent = 0.63970, type = C + area = 12907.00000, perimeter = 466.23999, major_axis_length = 194.46927, minor_axis_length = 85.91095, eccentricity = 0.89713, convex_area = 13268.00000, extent = 0.63541, type = C + area = 12190.00000, perimeter = 440.68201, major_axis_length = 185.85619, minor_axis_length = 83.88790, eccentricity = 0.89234, convex_area = 12349.00000, extent = 0.58398, type = O + area = 11101.00000, perimeter = 418.03299, major_axis_length = 169.87318, minor_axis_length = 84.64671, eccentricity = 0.86701, convex_area = 11340.00000, extent = 0.65960, type = O + area = 12226.00000, perimeter = 436.22299, major_axis_length = 178.54475, minor_axis_length = 87.98953, eccentricity = 0.87013, convex_area = 12400.00000, extent = 0.61339, type = O + area = 12887.00000, perimeter = 468.83301, major_axis_length = 197.76321, minor_axis_length = 83.72417, eccentricity = 0.90596, convex_area = 13241.00000, extent = 0.55677, type = C + area = 12124.00000, perimeter = 446.44000, major_axis_length = 188.97534, minor_axis_length = 82.71680, eccentricity = 0.89912, convex_area = 12336.00000, extent = 0.74035, type = O + area = 12837.00000, perimeter = 463.32199, major_axis_length = 192.92368, minor_axis_length = 86.35762, eccentricity = 0.89422, convex_area = 13229.00000, extent = 0.58883, type = O + area = 15143.00000, perimeter = 504.14001, major_axis_length = 207.73418, minor_axis_length = 94.14838, eccentricity = 0.89140, convex_area = 15628.00000, extent = 0.57133, type = C + area = 12633.00000, perimeter = 452.00299, major_axis_length = 186.43448, minor_axis_length = 87.42464, eccentricity = 0.88324, convex_area = 12863.00000, extent = 0.58462, type = O + area = 10696.00000, perimeter = 409.26901, major_axis_length = 166.37988, minor_axis_length = 82.35618, eccentricity = 0.86890, convex_area = 10883.00000, extent = 0.61309, type = O + area = 14547.00000, perimeter = 491.04401, major_axis_length = 206.65707, minor_axis_length = 90.17514, eccentricity = 0.89978, convex_area = 14780.00000, extent = 0.59322, type = C + area = 11441.00000, perimeter = 415.85800, major_axis_length = 170.48677, minor_axis_length = 85.75659, eccentricity = 0.86428, convex_area = 11628.00000, extent = 0.68101, type = O + area = 11993.00000, perimeter = 438.07401, major_axis_length = 175.54008, minor_axis_length = 88.08393, eccentricity = 0.86499, convex_area = 12359.00000, extent = 0.60773, type = O + area = 11295.00000, perimeter = 417.33701, major_axis_length = 174.01994, minor_axis_length = 83.14223, eccentricity = 0.87848, convex_area = 11476.00000, extent = 0.76858, type = O + area = 10949.00000, perimeter = 414.27399, major_axis_length = 168.06389, minor_axis_length = 84.03284, eccentricity = 0.86602, convex_area = 11192.00000, extent = 0.61580, type = O + area = 12397.00000, perimeter = 435.94901, major_axis_length = 174.23169, minor_axis_length = 91.89648, eccentricity = 0.84959, convex_area = 12761.00000, extent = 0.64306, type = O + area = 11528.00000, perimeter = 433.34799, major_axis_length = 182.11395, minor_axis_length = 81.49728, eccentricity = 0.89428, convex_area = 11777.00000, extent = 0.78539, type = O + area = 12159.00000, perimeter = 437.82300, major_axis_length = 177.58453, minor_axis_length = 88.58030, eccentricity = 0.86671, convex_area = 12377.00000, extent = 0.67014, type = O + area = 16505.00000, perimeter = 516.22101, major_axis_length = 212.85310, minor_axis_length = 99.69016, eccentricity = 0.88354, convex_area = 16820.00000, extent = 0.58841, type = C + area = 10480.00000, perimeter = 414.80899, major_axis_length = 177.85612, minor_axis_length = 75.26311, eccentricity = 0.90605, convex_area = 10657.00000, extent = 0.63034, type = O + area = 16580.00000, perimeter = 530.09497, major_axis_length = 226.44495, minor_axis_length = 94.47408, eccentricity = 0.90881, convex_area = 16928.00000, extent = 0.59619, type = C + area = 14561.00000, perimeter = 493.53000, major_axis_length = 208.69296, minor_axis_length = 89.70529, eccentricity = 0.90290, convex_area = 14986.00000, extent = 0.77206, type = C + area = 10620.00000, perimeter = 404.93201, major_axis_length = 164.52055, minor_axis_length = 83.29569, eccentricity = 0.86236, convex_area = 10863.00000, extent = 0.76184, type = O + area = 13342.00000, perimeter = 488.26999, major_axis_length = 208.66551, minor_axis_length = 83.16635, eccentricity = 0.91714, convex_area = 13703.00000, extent = 0.52594, type = C + area = 12243.00000, perimeter = 449.62399, major_axis_length = 191.07899, minor_axis_length = 82.63934, eccentricity = 0.90164, convex_area = 12464.00000, extent = 0.79973, type = C + area = 16030.00000, perimeter = 512.85303, major_axis_length = 210.24748, minor_axis_length = 97.63129, eccentricity = 0.88564, convex_area = 16306.00000, extent = 0.59780, type = C + area = 13399.00000, perimeter = 490.56000, major_axis_length = 209.36595, minor_axis_length = 82.76702, eccentricity = 0.91854, convex_area = 13654.00000, extent = 0.51710, type = C + area = 13669.00000, perimeter = 481.66901, major_axis_length = 201.90663, minor_axis_length = 87.06825, eccentricity = 0.90224, convex_area = 14065.00000, extent = 0.55837, type = C + area = 14011.00000, perimeter = 493.87900, major_axis_length = 212.63031, minor_axis_length = 85.02821, eccentricity = 0.91656, convex_area = 14336.00000, extent = 0.62799, type = C + area = 13877.00000, perimeter = 489.62299, major_axis_length = 205.14513, minor_axis_length = 86.93637, eccentricity = 0.90577, convex_area = 14176.00000, extent = 0.56381, type = C + area = 12547.00000, perimeter = 434.93701, major_axis_length = 174.37941, minor_axis_length = 92.45402, eccentricity = 0.84788, convex_area = 12856.00000, extent = 0.77932, type = O + area = 12684.00000, perimeter = 461.35800, major_axis_length = 198.20212, minor_axis_length = 81.89428, eccentricity = 0.91065, convex_area = 12912.00000, extent = 0.54710, type = C + area = 15139.00000, perimeter = 508.97000, major_axis_length = 217.33601, minor_axis_length = 89.95793, eccentricity = 0.91032, convex_area = 15394.00000, extent = 0.54989, type = C + area = 12072.00000, perimeter = 452.26199, major_axis_length = 192.72191, minor_axis_length = 80.28837, eccentricity = 0.90909, convex_area = 12342.00000, extent = 0.69415, type = C + area = 11470.00000, perimeter = 427.19800, major_axis_length = 174.03909, minor_axis_length = 85.10542, eccentricity = 0.87228, convex_area = 11767.00000, extent = 0.63978, type = O + area = 14483.00000, perimeter = 512.72101, major_axis_length = 215.76816, minor_axis_length = 86.27912, eccentricity = 0.91657, convex_area = 14912.00000, extent = 0.53229, type = C + area = 11501.00000, perimeter = 428.50299, major_axis_length = 180.48878, minor_axis_length = 81.40831, eccentricity = 0.89250, convex_area = 11676.00000, extent = 0.67653, type = O + area = 14434.00000, perimeter = 486.66800, major_axis_length = 201.27196, minor_axis_length = 92.73377, eccentricity = 0.88754, convex_area = 14754.00000, extent = 0.62599, type = C + area = 10986.00000, perimeter = 425.12701, major_axis_length = 172.67883, minor_axis_length = 83.54909, eccentricity = 0.87516, convex_area = 11450.00000, extent = 0.72992, type = O + area = 10574.00000, perimeter = 411.11899, major_axis_length = 170.14017, minor_axis_length = 79.77427, eccentricity = 0.88327, convex_area = 10782.00000, extent = 0.68707, type = O + area = 13574.00000, perimeter = 473.22101, major_axis_length = 197.87277, minor_axis_length = 88.44189, eccentricity = 0.89455, convex_area = 13879.00000, extent = 0.64125, type = C + area = 15204.00000, perimeter = 510.48700, major_axis_length = 216.31686, minor_axis_length = 90.85395, eccentricity = 0.90752, convex_area = 15535.00000, extent = 0.56211, type = C + area = 14505.00000, perimeter = 492.68201, major_axis_length = 205.41214, minor_axis_length = 90.76255, eccentricity = 0.89709, convex_area = 14834.00000, extent = 0.58295, type = C + area = 15714.00000, perimeter = 501.15500, major_axis_length = 205.01331, minor_axis_length = 99.27554, eccentricity = 0.87494, convex_area = 16074.00000, extent = 0.73389, type = C + area = 13002.00000, perimeter = 472.47400, major_axis_length = 198.07727, minor_axis_length = 85.79917, eccentricity = 0.90132, convex_area = 13432.00000, extent = 0.69474, type = C + area = 13058.00000, perimeter = 451.31400, major_axis_length = 181.87367, minor_axis_length = 92.20594, eccentricity = 0.86196, convex_area = 13310.00000, extent = 0.62809, type = O + area = 13424.00000, perimeter = 461.46899, major_axis_length = 186.50674, minor_axis_length = 92.67175, eccentricity = 0.86782, convex_area = 13702.00000, extent = 0.67552, type = C + area = 15681.00000, perimeter = 507.69699, major_axis_length = 207.02451, minor_axis_length = 97.75848, eccentricity = 0.88149, convex_area = 16088.00000, extent = 0.69250, type = C + area = 13138.00000, perimeter = 470.41501, major_axis_length = 203.86282, minor_axis_length = 82.98421, eccentricity = 0.91340, convex_area = 13361.00000, extent = 0.81099, type = C + area = 11962.00000, perimeter = 449.44199, major_axis_length = 192.08891, minor_axis_length = 80.96473, eccentricity = 0.90683, convex_area = 12171.00000, extent = 0.53890, type = C + area = 11816.00000, perimeter = 453.98999, major_axis_length = 191.06563, minor_axis_length = 79.93448, eccentricity = 0.90828, convex_area = 12079.00000, extent = 0.76777, type = O + area = 13606.00000, perimeter = 480.94601, major_axis_length = 204.28972, minor_axis_length = 85.28391, eccentricity = 0.90869, convex_area = 13861.00000, extent = 0.58370, type = C + area = 9236.00000, perimeter = 394.34100, major_axis_length = 160.92889, minor_axis_length = 74.24968, eccentricity = 0.88720, convex_area = 9465.00000, extent = 0.57739, type = O + area = 16679.00000, perimeter = 528.55200, major_axis_length = 222.77959, minor_axis_length = 96.64007, eccentricity = 0.90101, convex_area = 17006.00000, extent = 0.56917, type = C + area = 12349.00000, perimeter = 452.00900, major_axis_length = 187.96873, minor_axis_length = 84.54865, eccentricity = 0.89313, convex_area = 12646.00000, extent = 0.58576, type = O + area = 9976.00000, perimeter = 406.07901, major_axis_length = 168.06120, minor_axis_length = 76.86061, eccentricity = 0.88929, convex_area = 10295.00000, extent = 0.57337, type = O + area = 12549.00000, perimeter = 456.93500, major_axis_length = 193.39151, minor_axis_length = 83.70135, eccentricity = 0.90149, convex_area = 12905.00000, extent = 0.79707, type = C + area = 12491.00000, perimeter = 457.14099, major_axis_length = 194.87546, minor_axis_length = 82.49109, eccentricity = 0.90599, convex_area = 12721.00000, extent = 0.77048, type = C + area = 14517.00000, perimeter = 488.32401, major_axis_length = 196.16449, minor_axis_length = 95.58290, eccentricity = 0.87326, convex_area = 14976.00000, extent = 0.59513, type = C + area = 10272.00000, perimeter = 413.69199, major_axis_length = 175.91963, minor_axis_length = 74.96436, eccentricity = 0.90466, convex_area = 10462.00000, extent = 0.59479, type = O + area = 14897.00000, perimeter = 509.63101, major_axis_length = 219.67192, minor_axis_length = 87.50060, eccentricity = 0.91724, convex_area = 15330.00000, extent = 0.71366, type = C + area = 12266.00000, perimeter = 438.82300, major_axis_length = 178.84244, minor_axis_length = 88.80107, eccentricity = 0.86802, convex_area = 12554.00000, extent = 0.76999, type = O + area = 11242.00000, perimeter = 418.64600, major_axis_length = 172.52991, minor_axis_length = 83.84863, eccentricity = 0.87396, convex_area = 11409.00000, extent = 0.64889, type = O + area = 12483.00000, perimeter = 451.81400, major_axis_length = 189.89943, minor_axis_length = 84.86185, eccentricity = 0.89459, convex_area = 12686.00000, extent = 0.59571, type = C + area = 12590.00000, perimeter = 447.53201, major_axis_length = 180.02446, minor_axis_length = 89.97459, eccentricity = 0.86615, convex_area = 12875.00000, extent = 0.66911, type = O + area = 12709.00000, perimeter = 461.01199, major_axis_length = 190.77875, minor_axis_length = 87.41280, eccentricity = 0.88885, convex_area = 13064.00000, extent = 0.78693, type = C + area = 10983.00000, perimeter = 417.70999, major_axis_length = 171.84035, minor_axis_length = 82.69301, eccentricity = 0.87660, convex_area = 11229.00000, extent = 0.77481, type = O + area = 15551.00000, perimeter = 515.78400, major_axis_length = 215.08974, minor_axis_length = 93.75079, eccentricity = 0.90001, convex_area = 15908.00000, extent = 0.56566, type = C + area = 12906.00000, perimeter = 461.20300, major_axis_length = 191.54367, minor_axis_length = 86.72736, eccentricity = 0.89162, convex_area = 13272.00000, extent = 0.73833, type = O + area = 10737.00000, perimeter = 414.47198, major_axis_length = 170.45758, minor_axis_length = 81.17029, eccentricity = 0.87934, convex_area = 10986.00000, extent = 0.61179, type = O + area = 11584.00000, perimeter = 434.73901, major_axis_length = 180.84743, minor_axis_length = 82.18375, eccentricity = 0.89078, convex_area = 11863.00000, extent = 0.68173, type = O + area = 13282.00000, perimeter = 470.25800, major_axis_length = 199.71138, minor_axis_length = 85.10118, eccentricity = 0.90467, convex_area = 13513.00000, extent = 0.67162, type = C + area = 17082.00000, perimeter = 548.44598, major_axis_length = 230.18872, minor_axis_length = 95.75758, eccentricity = 0.90937, convex_area = 17576.00000, extent = 0.59247, type = C + area = 12326.00000, perimeter = 459.68201, major_axis_length = 194.34097, minor_axis_length = 82.07947, eccentricity = 0.90643, convex_area = 12686.00000, extent = 0.61933, type = C + area = 10595.00000, perimeter = 407.26700, major_axis_length = 166.13063, minor_axis_length = 82.56895, eccentricity = 0.86774, convex_area = 10849.00000, extent = 0.64271, type = O + area = 10916.00000, perimeter = 416.32901, major_axis_length = 172.50725, minor_axis_length = 81.98931, eccentricity = 0.87983, convex_area = 11093.00000, extent = 0.72148, type = O + area = 14687.00000, perimeter = 498.39099, major_axis_length = 210.58044, minor_axis_length = 90.29588, eccentricity = 0.90340, convex_area = 14977.00000, extent = 0.56610, type = C + area = 12326.00000, perimeter = 441.58499, major_axis_length = 179.06638, minor_axis_length = 89.27005, eccentricity = 0.86687, convex_area = 12673.00000, extent = 0.76516, type = O + area = 13982.00000, perimeter = 495.34100, major_axis_length = 214.16756, minor_axis_length = 84.77728, eccentricity = 0.91832, convex_area = 14298.00000, extent = 0.78147, type = C + area = 13039.00000, perimeter = 476.69800, major_axis_length = 198.89693, minor_axis_length = 85.53027, eccentricity = 0.90282, convex_area = 13383.00000, extent = 0.55180, type = C + area = 10481.00000, perimeter = 413.72198, major_axis_length = 174.16463, minor_axis_length = 77.66029, eccentricity = 0.89508, convex_area = 10648.00000, extent = 0.80648, type = O + area = 12312.00000, perimeter = 447.71701, major_axis_length = 178.96074, minor_axis_length = 88.51752, eccentricity = 0.86911, convex_area = 12593.00000, extent = 0.61832, type = O + area = 9592.00000, perimeter = 385.77802, major_axis_length = 157.76796, minor_axis_length = 78.39109, eccentricity = 0.86782, convex_area = 9760.00000, extent = 0.78843, type = O + area = 10589.00000, perimeter = 411.92899, major_axis_length = 170.27213, minor_axis_length = 80.86866, eccentricity = 0.88002, convex_area = 10850.00000, extent = 0.72428, type = O + area = 12206.00000, perimeter = 441.28500, major_axis_length = 186.76031, minor_axis_length = 83.65755, eccentricity = 0.89406, convex_area = 12404.00000, extent = 0.59052, type = O + area = 11601.00000, perimeter = 447.12799, major_axis_length = 191.38257, minor_axis_length = 78.36671, eccentricity = 0.91232, convex_area = 11925.00000, extent = 0.57866, type = O + area = 14536.00000, perimeter = 501.92099, major_axis_length = 216.37054, minor_axis_length = 86.67999, eccentricity = 0.91625, convex_area = 14988.00000, extent = 0.54405, type = C + area = 16603.00000, perimeter = 513.52301, major_axis_length = 213.52026, minor_axis_length = 99.96153, eccentricity = 0.88364, convex_area = 16922.00000, extent = 0.60890, type = C + area = 17404.00000, perimeter = 521.86499, major_axis_length = 211.06302, minor_axis_length = 106.33782, eccentricity = 0.86381, convex_area = 17739.00000, extent = 0.68466, type = C + area = 10803.00000, perimeter = 409.12500, major_axis_length = 169.41493, minor_axis_length = 81.78897, eccentricity = 0.87575, convex_area = 10968.00000, extent = 0.74355, type = O + area = 12219.00000, perimeter = 438.28101, major_axis_length = 182.18773, minor_axis_length = 86.19642, eccentricity = 0.88100, convex_area = 12471.00000, extent = 0.60177, type = C + area = 15072.00000, perimeter = 487.58499, major_axis_length = 202.49474, minor_axis_length = 95.35527, eccentricity = 0.88219, convex_area = 15267.00000, extent = 0.79056, type = C + area = 11447.00000, perimeter = 447.34601, major_axis_length = 190.38905, minor_axis_length = 79.03822, eccentricity = 0.90976, convex_area = 11753.00000, extent = 0.54354, type = C + area = 14434.00000, perimeter = 477.61899, major_axis_length = 200.38988, minor_axis_length = 92.38155, eccentricity = 0.88740, convex_area = 14660.00000, extent = 0.78343, type = C + area = 11660.00000, perimeter = 433.30899, major_axis_length = 178.63858, minor_axis_length = 84.48659, eccentricity = 0.88109, convex_area = 11974.00000, extent = 0.61791, type = O + area = 15274.00000, perimeter = 511.05399, major_axis_length = 211.29993, minor_axis_length = 93.12005, eccentricity = 0.89765, convex_area = 15669.00000, extent = 0.69326, type = C + area = 11169.00000, perimeter = 431.80099, major_axis_length = 188.45395, minor_axis_length = 75.71424, eccentricity = 0.91574, convex_area = 11332.00000, extent = 0.53865, type = O + area = 14296.00000, perimeter = 484.24399, major_axis_length = 202.97986, minor_axis_length = 91.07145, eccentricity = 0.89370, convex_area = 14572.00000, extent = 0.75724, type = C + area = 9962.00000, perimeter = 404.94501, major_axis_length = 170.91649, minor_axis_length = 74.79294, eccentricity = 0.89917, convex_area = 10137.00000, extent = 0.57610, type = O + area = 14025.00000, perimeter = 475.95700, major_axis_length = 197.39191, minor_axis_length = 91.75456, eccentricity = 0.88540, convex_area = 14423.00000, extent = 0.67990, type = C + area = 13385.00000, perimeter = 477.92999, major_axis_length = 199.84268, minor_axis_length = 87.04651, eccentricity = 0.90015, convex_area = 13656.00000, extent = 0.56591, type = C + area = 11352.00000, perimeter = 422.32401, major_axis_length = 171.01981, minor_axis_length = 85.81471, eccentricity = 0.86499, convex_area = 11581.00000, extent = 0.78571, type = O + area = 10728.00000, perimeter = 415.92700, major_axis_length = 169.27434, minor_axis_length = 81.99689, eccentricity = 0.87485, convex_area = 10996.00000, extent = 0.59310, type = O + area = 12496.00000, perimeter = 449.74100, major_axis_length = 181.12390, minor_axis_length = 89.78374, eccentricity = 0.86849, convex_area = 12870.00000, extent = 0.68355, type = O + area = 12408.00000, perimeter = 437.01401, major_axis_length = 179.74117, minor_axis_length = 88.82961, eccentricity = 0.86934, convex_area = 12598.00000, extent = 0.63693, type = O + area = 9802.00000, perimeter = 412.36899, major_axis_length = 176.16557, minor_axis_length = 71.48280, eccentricity = 0.91398, convex_area = 9991.00000, extent = 0.56695, type = O + area = 12743.00000, perimeter = 449.23001, major_axis_length = 180.94476, minor_axis_length = 90.80772, eccentricity = 0.86495, convex_area = 13044.00000, extent = 0.61937, type = O + area = 14938.00000, perimeter = 502.68701, major_axis_length = 209.64473, minor_axis_length = 92.03596, eccentricity = 0.89848, convex_area = 15331.00000, extent = 0.63520, type = C + area = 13468.00000, perimeter = 470.76300, major_axis_length = 194.47350, minor_axis_length = 89.74107, eccentricity = 0.88716, convex_area = 14022.00000, extent = 0.69184, type = C + area = 14404.00000, perimeter = 486.48401, major_axis_length = 206.77576, minor_axis_length = 89.47427, eccentricity = 0.90153, convex_area = 14658.00000, extent = 0.79457, type = C + area = 13623.00000, perimeter = 493.56799, major_axis_length = 211.73048, minor_axis_length = 82.92393, eccentricity = 0.92011, convex_area = 14065.00000, extent = 0.52655, type = C + area = 10483.00000, perimeter = 419.01599, major_axis_length = 176.62010, minor_axis_length = 76.32422, eccentricity = 0.90181, convex_area = 10773.00000, extent = 0.69286, type = O + area = 10144.00000, perimeter = 416.15100, major_axis_length = 173.66582, minor_axis_length = 75.35471, eccentricity = 0.90096, convex_area = 10414.00000, extent = 0.57040, type = O + area = 11930.00000, perimeter = 434.80600, major_axis_length = 175.30119, minor_axis_length = 87.98391, eccentricity = 0.86492, convex_area = 12260.00000, extent = 0.64382, type = O + area = 12390.00000, perimeter = 454.49100, major_axis_length = 195.73447, minor_axis_length = 81.36215, eccentricity = 0.90951, convex_area = 12550.00000, extent = 0.59838, type = O + area = 12470.00000, perimeter = 455.89700, major_axis_length = 192.46115, minor_axis_length = 83.39553, eccentricity = 0.90124, convex_area = 12704.00000, extent = 0.58130, type = C + area = 14592.00000, perimeter = 494.44000, major_axis_length = 212.67998, minor_axis_length = 88.28739, eccentricity = 0.90977, convex_area = 14838.00000, extent = 0.74563, type = C + area = 15888.00000, perimeter = 518.55499, major_axis_length = 218.19409, minor_axis_length = 94.05685, eccentricity = 0.90232, convex_area = 16245.00000, extent = 0.55753, type = C + area = 13651.00000, perimeter = 502.07999, major_axis_length = 222.07356, minor_axis_length = 79.33727, eccentricity = 0.93401, convex_area = 14034.00000, extent = 0.79265, type = C + area = 10858.00000, perimeter = 412.21701, major_axis_length = 166.96233, minor_axis_length = 84.06575, eccentricity = 0.86399, convex_area = 11171.00000, extent = 0.79290, type = O + area = 8628.00000, perimeter = 372.33401, major_axis_length = 157.33304, minor_axis_length = 70.12502, eccentricity = 0.89518, convex_area = 8782.00000, extent = 0.60264, type = O + area = 12273.00000, perimeter = 441.19101, major_axis_length = 182.09915, minor_axis_length = 86.59351, eccentricity = 0.87970, convex_area = 12469.00000, extent = 0.62098, type = O + area = 12318.00000, perimeter = 448.68600, major_axis_length = 187.70100, minor_axis_length = 84.14412, eccentricity = 0.89389, convex_area = 12579.00000, extent = 0.58269, type = C + area = 11792.00000, perimeter = 427.78299, major_axis_length = 180.87175, minor_axis_length = 83.27078, eccentricity = 0.88772, convex_area = 11923.00000, extent = 0.71832, type = O + area = 11133.00000, perimeter = 431.70200, major_axis_length = 184.95299, minor_axis_length = 77.73632, eccentricity = 0.90738, convex_area = 11287.00000, extent = 0.55223, type = O + area = 13753.00000, perimeter = 461.13000, major_axis_length = 185.53104, minor_axis_length = 95.42747, eccentricity = 0.85758, convex_area = 13962.00000, extent = 0.65118, type = O + area = 11122.00000, perimeter = 410.98700, major_axis_length = 165.03632, minor_axis_length = 87.14314, eccentricity = 0.84923, convex_area = 11379.00000, extent = 0.71386, type = O + area = 10470.00000, perimeter = 419.01801, major_axis_length = 177.06436, minor_axis_length = 75.63279, eccentricity = 0.90418, convex_area = 10682.00000, extent = 0.59863, type = O + area = 15486.00000, perimeter = 509.13599, major_axis_length = 211.11356, minor_axis_length = 94.82224, eccentricity = 0.89345, convex_area = 15921.00000, extent = 0.68634, type = C + area = 14746.00000, perimeter = 504.31400, major_axis_length = 220.34344, minor_axis_length = 85.93158, eccentricity = 0.92082, convex_area = 14995.00000, extent = 0.79751, type = C + area = 11873.00000, perimeter = 430.04401, major_axis_length = 176.72914, minor_axis_length = 86.37125, eccentricity = 0.87244, convex_area = 12086.00000, extent = 0.60422, type = O + area = 16008.00000, perimeter = 521.00702, major_axis_length = 222.84523, minor_axis_length = 92.12952, eccentricity = 0.91054, convex_area = 16315.00000, extent = 0.61188, type = C + area = 13605.00000, perimeter = 466.93701, major_axis_length = 191.52223, minor_axis_length = 91.73205, eccentricity = 0.87784, convex_area = 13919.00000, extent = 0.61201, type = C + area = 13335.00000, perimeter = 469.71399, major_axis_length = 199.29723, minor_axis_length = 85.91238, eccentricity = 0.90232, convex_area = 13657.00000, extent = 0.61679, type = C + area = 13066.00000, perimeter = 478.00201, major_axis_length = 207.51675, minor_axis_length = 80.51567, eccentricity = 0.92166, convex_area = 13348.00000, extent = 0.55780, type = C + area = 11447.00000, perimeter = 419.62000, major_axis_length = 163.92053, minor_axis_length = 91.27415, eccentricity = 0.83063, convex_area = 11831.00000, extent = 0.73298, type = O + area = 11587.00000, perimeter = 423.18900, major_axis_length = 168.64038, minor_axis_length = 88.72871, eccentricity = 0.85040, convex_area = 11826.00000, extent = 0.61171, type = O + area = 11900.00000, perimeter = 442.42300, major_axis_length = 184.06094, minor_axis_length = 83.16405, eccentricity = 0.89210, convex_area = 12119.00000, extent = 0.60388, type = O + area = 12202.00000, perimeter = 442.36200, major_axis_length = 180.03778, minor_axis_length = 87.39918, eccentricity = 0.87426, convex_area = 12521.00000, extent = 0.77918, type = C + area = 11329.00000, perimeter = 419.40500, major_axis_length = 173.39046, minor_axis_length = 84.34583, eccentricity = 0.87371, convex_area = 11560.00000, extent = 0.80325, type = O + area = 14479.00000, perimeter = 475.92499, major_axis_length = 200.55194, minor_axis_length = 92.17806, eccentricity = 0.88811, convex_area = 14696.00000, extent = 0.71143, type = C + area = 11572.00000, perimeter = 418.62900, major_axis_length = 164.12326, minor_axis_length = 90.98297, eccentricity = 0.83228, convex_area = 11861.00000, extent = 0.66164, type = O + area = 12261.00000, perimeter = 438.89801, major_axis_length = 173.36475, minor_axis_length = 90.88268, eccentricity = 0.85158, convex_area = 12499.00000, extent = 0.77882, type = O + area = 14136.00000, perimeter = 488.96799, major_axis_length = 203.39066, minor_axis_length = 89.78699, eccentricity = 0.89729, convex_area = 14475.00000, extent = 0.59206, type = C + area = 11444.00000, perimeter = 424.36899, major_axis_length = 174.22066, minor_axis_length = 84.26457, eccentricity = 0.87525, convex_area = 11638.00000, extent = 0.65657, type = O + area = 11149.00000, perimeter = 411.30899, major_axis_length = 164.67229, minor_axis_length = 87.50299, eccentricity = 0.84714, convex_area = 11393.00000, extent = 0.75921, type = O + area = 13742.00000, perimeter = 493.85400, major_axis_length = 212.60800, minor_axis_length = 84.88686, eccentricity = 0.91684, convex_area = 14272.00000, extent = 0.58323, type = C + area = 11817.00000, perimeter = 426.60199, major_axis_length = 179.56543, minor_axis_length = 84.24079, eccentricity = 0.88313, convex_area = 11977.00000, extent = 0.65738, type = O + area = 11708.00000, perimeter = 433.66501, major_axis_length = 184.30309, minor_axis_length = 81.25191, eccentricity = 0.89758, convex_area = 11888.00000, extent = 0.61170, type = O + area = 12675.00000, perimeter = 466.10101, major_axis_length = 195.80823, minor_axis_length = 83.40395, eccentricity = 0.90475, convex_area = 12977.00000, extent = 0.58025, type = O + area = 11030.00000, perimeter = 417.48801, major_axis_length = 172.44844, minor_axis_length = 82.73074, eccentricity = 0.87741, convex_area = 11275.00000, extent = 0.65143, type = O + area = 15569.00000, perimeter = 528.78900, major_axis_length = 221.57684, minor_axis_length = 90.98238, eccentricity = 0.91181, convex_area = 16286.00000, extent = 0.56569, type = C + area = 11366.00000, perimeter = 423.11499, major_axis_length = 171.90665, minor_axis_length = 85.57930, eccentricity = 0.86728, convex_area = 11599.00000, extent = 0.61140, type = O + area = 13631.00000, perimeter = 473.54700, major_axis_length = 193.49402, minor_axis_length = 91.50906, eccentricity = 0.88110, convex_area = 14141.00000, extent = 0.58029, type = C + area = 10534.00000, perimeter = 409.34000, major_axis_length = 163.87593, minor_axis_length = 83.27370, eccentricity = 0.86127, convex_area = 10899.00000, extent = 0.72613, type = O + area = 12288.00000, perimeter = 437.82199, major_axis_length = 179.18796, minor_axis_length = 88.10448, eccentricity = 0.87077, convex_area = 12498.00000, extent = 0.80272, type = O + area = 11793.00000, perimeter = 417.16000, major_axis_length = 163.04384, minor_axis_length = 93.50110, eccentricity = 0.81923, convex_area = 12022.00000, extent = 0.66171, type = O + area = 11962.00000, perimeter = 440.54501, major_axis_length = 181.72340, minor_axis_length = 85.19718, eccentricity = 0.88329, convex_area = 12283.00000, extent = 0.62286, type = O + area = 12624.00000, perimeter = 451.75699, major_axis_length = 188.23636, minor_axis_length = 86.35599, eccentricity = 0.88856, convex_area = 12878.00000, extent = 0.80902, type = O + area = 12518.00000, perimeter = 460.85400, major_axis_length = 188.43774, minor_axis_length = 86.61430, eccentricity = 0.88810, convex_area = 12903.00000, extent = 0.73256, type = O + area = 12089.00000, perimeter = 439.49200, major_axis_length = 183.57666, minor_axis_length = 84.69468, eccentricity = 0.88721, convex_area = 12302.00000, extent = 0.81451, type = C + area = 12274.00000, perimeter = 453.12900, major_axis_length = 190.98404, minor_axis_length = 82.71131, eccentricity = 0.90136, convex_area = 12466.00000, extent = 0.56035, type = O + area = 13277.00000, perimeter = 463.96799, major_axis_length = 193.06090, minor_axis_length = 88.17571, eccentricity = 0.88961, convex_area = 13454.00000, extent = 0.61016, type = C + area = 11240.00000, perimeter = 426.64401, major_axis_length = 175.59412, minor_axis_length = 82.95659, eccentricity = 0.88137, convex_area = 11427.00000, extent = 0.60652, type = O + area = 10536.00000, perimeter = 425.36700, major_axis_length = 182.95021, minor_axis_length = 73.86765, eccentricity = 0.91487, convex_area = 10704.00000, extent = 0.75043, type = O + area = 11179.00000, perimeter = 418.70999, major_axis_length = 171.10838, minor_axis_length = 84.56639, eccentricity = 0.86933, convex_area = 11440.00000, extent = 0.73561, type = O + area = 11332.00000, perimeter = 427.32401, major_axis_length = 175.54056, minor_axis_length = 83.60845, eccentricity = 0.87929, convex_area = 11563.00000, extent = 0.59542, type = O + area = 13368.00000, perimeter = 487.55099, major_axis_length = 202.53963, minor_axis_length = 86.57294, eccentricity = 0.90405, convex_area = 13965.00000, extent = 0.71825, type = C + area = 16706.00000, perimeter = 533.62598, major_axis_length = 228.15617, minor_axis_length = 94.20754, eccentricity = 0.91077, convex_area = 17037.00000, extent = 0.63625, type = C + area = 11295.00000, perimeter = 430.62000, major_axis_length = 179.13637, minor_axis_length = 81.18504, eccentricity = 0.89141, convex_area = 11516.00000, extent = 0.69125, type = O + area = 13446.00000, perimeter = 476.04199, major_axis_length = 200.05267, minor_axis_length = 86.59048, eccentricity = 0.90147, convex_area = 13814.00000, extent = 0.60393, type = C + area = 15583.00000, perimeter = 504.18301, major_axis_length = 207.84683, minor_axis_length = 96.91176, eccentricity = 0.88464, convex_area = 15906.00000, extent = 0.68539, type = C + area = 12536.00000, perimeter = 475.14600, major_axis_length = 205.76595, minor_axis_length = 78.26070, eccentricity = 0.92485, convex_area = 12798.00000, extent = 0.69490, type = C + area = 10651.00000, perimeter = 411.00299, major_axis_length = 167.18010, minor_axis_length = 82.50652, eccentricity = 0.86974, convex_area = 10893.00000, extent = 0.67505, type = O + area = 11965.00000, perimeter = 455.81799, major_axis_length = 196.16187, minor_axis_length = 78.42881, eccentricity = 0.91660, convex_area = 12247.00000, extent = 0.65945, type = C + area = 13253.00000, perimeter = 473.44199, major_axis_length = 198.61066, minor_axis_length = 85.91887, eccentricity = 0.90159, convex_area = 13535.00000, extent = 0.68997, type = C + area = 12218.00000, perimeter = 442.68600, major_axis_length = 184.35350, minor_axis_length = 85.83971, eccentricity = 0.88498, convex_area = 12468.00000, extent = 0.64204, type = O + area = 10386.00000, perimeter = 411.13901, major_axis_length = 171.52733, minor_axis_length = 77.87589, eccentricity = 0.89099, convex_area = 10636.00000, extent = 0.59196, type = O + area = 11180.00000, perimeter = 415.41000, major_axis_length = 169.46371, minor_axis_length = 85.45352, eccentricity = 0.86355, convex_area = 11359.00000, extent = 0.77882, type = O + area = 12876.00000, perimeter = 445.76300, major_axis_length = 177.98282, minor_axis_length = 93.84100, eccentricity = 0.84971, convex_area = 13200.00000, extent = 0.72993, type = O + area = 15371.00000, perimeter = 497.66501, major_axis_length = 212.74893, minor_axis_length = 92.46557, eccentricity = 0.90061, convex_area = 15587.00000, extent = 0.81208, type = C + area = 15032.00000, perimeter = 500.60901, major_axis_length = 209.91653, minor_axis_length = 91.92539, eccentricity = 0.89902, convex_area = 15397.00000, extent = 0.71892, type = C + area = 16249.00000, perimeter = 512.79199, major_axis_length = 215.72685, minor_axis_length = 96.96568, eccentricity = 0.89329, convex_area = 16493.00000, extent = 0.73718, type = C + area = 14960.00000, perimeter = 482.14001, major_axis_length = 199.54398, minor_axis_length = 96.21820, eccentricity = 0.87607, convex_area = 15149.00000, extent = 0.61186, type = O + area = 14331.00000, perimeter = 502.03000, major_axis_length = 212.58145, minor_axis_length = 87.35810, eccentricity = 0.91166, convex_area = 14618.00000, extent = 0.54276, type = C + area = 12444.00000, perimeter = 445.87201, major_axis_length = 183.35057, minor_axis_length = 87.90731, eccentricity = 0.87757, convex_area = 12630.00000, extent = 0.60455, type = O + area = 15868.00000, perimeter = 519.52899, major_axis_length = 219.17892, minor_axis_length = 93.26965, eccentricity = 0.90494, convex_area = 16281.00000, extent = 0.57126, type = C + area = 11496.00000, perimeter = 440.46899, major_axis_length = 185.72256, minor_axis_length = 79.85572, eccentricity = 0.90284, convex_area = 11759.00000, extent = 0.75093, type = O + area = 11151.00000, perimeter = 438.26199, major_axis_length = 191.60088, minor_axis_length = 74.84743, eccentricity = 0.92054, convex_area = 11325.00000, extent = 0.66597, type = C + area = 14675.00000, perimeter = 493.92899, major_axis_length = 199.23363, minor_axis_length = 95.68336, eccentricity = 0.87713, convex_area = 15317.00000, extent = 0.61686, type = C + area = 13820.00000, perimeter = 489.94199, major_axis_length = 207.00410, minor_axis_length = 86.23711, eccentricity = 0.90909, convex_area = 14195.00000, extent = 0.63940, type = C + area = 13309.00000, perimeter = 460.92200, major_axis_length = 191.46297, minor_axis_length = 88.95414, eccentricity = 0.88552, convex_area = 13540.00000, extent = 0.65375, type = C + area = 8848.00000, perimeter = 369.77802, major_axis_length = 150.27876, minor_axis_length = 76.50945, eccentricity = 0.86070, convex_area = 9009.00000, extent = 0.63581, type = O + area = 15830.00000, perimeter = 520.51001, major_axis_length = 219.44762, minor_axis_length = 92.66460, eccentricity = 0.90647, convex_area = 16121.00000, extent = 0.59511, type = C + area = 14789.00000, perimeter = 492.95200, major_axis_length = 206.70868, minor_axis_length = 92.60357, eccentricity = 0.89404, convex_area = 15069.00000, extent = 0.74783, type = C + area = 14275.00000, perimeter = 485.78799, major_axis_length = 206.46191, minor_axis_length = 88.92574, eccentricity = 0.90249, convex_area = 14469.00000, extent = 0.54756, type = C + area = 10863.00000, perimeter = 411.62201, major_axis_length = 168.27142, minor_axis_length = 83.16528, eccentricity = 0.86933, convex_area = 11057.00000, extent = 0.70283, type = O + area = 11611.00000, perimeter = 431.27301, major_axis_length = 178.51395, minor_axis_length = 84.11252, eccentricity = 0.88204, convex_area = 11775.00000, extent = 0.69191, type = O + area = 12570.00000, perimeter = 450.85901, major_axis_length = 178.96025, minor_axis_length = 91.11516, eccentricity = 0.86069, convex_area = 12886.00000, extent = 0.61049, type = O + area = 17263.00000, perimeter = 520.30298, major_axis_length = 215.00441, minor_axis_length = 103.36722, eccentricity = 0.87685, convex_area = 17565.00000, extent = 0.66187, type = C + area = 11694.00000, perimeter = 432.97699, major_axis_length = 181.48441, minor_axis_length = 82.97145, eccentricity = 0.88937, convex_area = 11893.00000, extent = 0.76391, type = C + area = 14470.00000, perimeter = 486.26001, major_axis_length = 208.33366, minor_axis_length = 89.34396, eccentricity = 0.90338, convex_area = 14657.00000, extent = 0.57654, type = C + area = 10841.00000, perimeter = 419.10001, major_axis_length = 166.86517, minor_axis_length = 84.30315, eccentricity = 0.86299, convex_area = 11258.00000, extent = 0.69476, type = O + area = 12789.00000, perimeter = 454.38901, major_axis_length = 183.62456, minor_axis_length = 89.72113, eccentricity = 0.87250, convex_area = 13114.00000, extent = 0.69505, type = C + area = 14720.00000, perimeter = 494.86200, major_axis_length = 207.09271, minor_axis_length = 91.49889, eccentricity = 0.89710, convex_area = 15071.00000, extent = 0.70400, type = C + area = 15786.00000, perimeter = 500.86099, major_axis_length = 205.46724, minor_axis_length = 98.81665, eccentricity = 0.87676, convex_area = 16127.00000, extent = 0.61091, type = C + area = 12234.00000, perimeter = 440.00000, major_axis_length = 178.69653, minor_axis_length = 88.44730, eccentricity = 0.86892, convex_area = 12435.00000, extent = 0.62412, type = O + area = 12384.00000, perimeter = 460.13599, major_axis_length = 190.87038, minor_axis_length = 85.09120, eccentricity = 0.89513, convex_area = 12811.00000, extent = 0.60484, type = C + area = 11550.00000, perimeter = 426.84399, major_axis_length = 173.18565, minor_axis_length = 86.17210, eccentricity = 0.86742, convex_area = 11766.00000, extent = 0.61374, type = O + area = 14873.00000, perimeter = 499.61600, major_axis_length = 210.27750, minor_axis_length = 91.58362, eccentricity = 0.90017, convex_area = 15195.00000, extent = 0.57303, type = C + area = 12619.00000, perimeter = 470.61401, major_axis_length = 202.76451, minor_axis_length = 80.17954, eccentricity = 0.91850, convex_area = 12937.00000, extent = 0.60794, type = C + area = 11051.00000, perimeter = 421.34799, major_axis_length = 166.91263, minor_axis_length = 85.74883, eccentricity = 0.85795, convex_area = 11421.00000, extent = 0.69333, type = O + area = 11659.00000, perimeter = 429.08301, major_axis_length = 171.01424, minor_axis_length = 87.78890, eccentricity = 0.85818, convex_area = 12017.00000, extent = 0.63090, type = O + area = 11353.00000, perimeter = 431.47900, major_axis_length = 182.00241, minor_axis_length = 80.06296, eccentricity = 0.89805, convex_area = 11579.00000, extent = 0.71664, type = C + area = 13173.00000, perimeter = 467.47601, major_axis_length = 194.67645, minor_axis_length = 87.36396, eccentricity = 0.89365, convex_area = 13443.00000, extent = 0.57316, type = C + area = 12158.00000, perimeter = 441.47800, major_axis_length = 182.28729, minor_axis_length = 85.52101, eccentricity = 0.88312, convex_area = 12359.00000, extent = 0.71551, type = C + area = 14697.00000, perimeter = 495.88300, major_axis_length = 208.15839, minor_axis_length = 90.96687, eccentricity = 0.89946, convex_area = 15073.00000, extent = 0.59492, type = C + area = 13269.00000, perimeter = 485.61499, major_axis_length = 207.12245, minor_axis_length = 83.32397, eccentricity = 0.91551, convex_area = 13741.00000, extent = 0.71477, type = C + area = 14560.00000, perimeter = 487.12900, major_axis_length = 200.73952, minor_axis_length = 93.22659, eccentricity = 0.88562, convex_area = 14867.00000, extent = 0.67345, type = C + area = 12043.00000, perimeter = 442.07001, major_axis_length = 181.10954, minor_axis_length = 85.57944, eccentricity = 0.88132, convex_area = 12276.00000, extent = 0.60017, type = O + area = 15375.00000, perimeter = 494.31601, major_axis_length = 204.47073, minor_axis_length = 96.98161, eccentricity = 0.88036, convex_area = 15631.00000, extent = 0.73918, type = C + area = 14018.00000, perimeter = 480.86801, major_axis_length = 203.97838, minor_axis_length = 88.12711, eccentricity = 0.90185, convex_area = 14287.00000, extent = 0.72243, type = C + area = 9945.00000, perimeter = 396.70801, major_axis_length = 166.42352, minor_axis_length = 76.66472, eccentricity = 0.88758, convex_area = 10085.00000, extent = 0.60200, type = O + area = 13333.00000, perimeter = 472.38400, major_axis_length = 200.93857, minor_axis_length = 85.17281, eccentricity = 0.90572, convex_area = 13585.00000, extent = 0.68026, type = C + area = 12709.00000, perimeter = 456.17401, major_axis_length = 191.37341, minor_axis_length = 85.73984, eccentricity = 0.89402, convex_area = 12934.00000, extent = 0.78281, type = C + area = 11125.00000, perimeter = 420.20901, major_axis_length = 173.17194, minor_axis_length = 82.77818, eccentricity = 0.87835, convex_area = 11408.00000, extent = 0.64214, type = O + area = 12723.00000, perimeter = 465.94199, major_axis_length = 197.75232, minor_axis_length = 83.90300, eccentricity = 0.90553, convex_area = 12974.00000, extent = 0.68315, type = C + area = 14966.00000, perimeter = 499.63800, major_axis_length = 205.47482, minor_axis_length = 93.38162, eccentricity = 0.89076, convex_area = 15387.00000, extent = 0.58143, type = C + area = 13862.00000, perimeter = 482.21399, major_axis_length = 199.17963, minor_axis_length = 89.91952, eccentricity = 0.89230, convex_area = 14218.00000, extent = 0.57590, type = C + area = 12135.00000, perimeter = 432.81299, major_axis_length = 180.87585, minor_axis_length = 86.05373, eccentricity = 0.87957, convex_area = 12304.00000, extent = 0.64305, type = O + area = 11836.00000, perimeter = 456.37900, major_axis_length = 201.86960, minor_axis_length = 75.45857, eccentricity = 0.92751, convex_area = 12084.00000, extent = 0.75321, type = C + area = 14549.00000, perimeter = 485.49399, major_axis_length = 199.75728, minor_axis_length = 93.64828, eccentricity = 0.88330, convex_area = 14846.00000, extent = 0.61924, type = C + area = 11381.00000, perimeter = 434.31799, major_axis_length = 174.86369, minor_axis_length = 85.03392, eccentricity = 0.87380, convex_area = 11692.00000, extent = 0.60185, type = O + area = 12471.00000, perimeter = 445.37399, major_axis_length = 184.99207, minor_axis_length = 86.85976, eccentricity = 0.88292, convex_area = 12688.00000, extent = 0.67178, type = C + area = 10965.00000, perimeter = 433.77802, major_axis_length = 179.33522, minor_axis_length = 78.85896, eccentricity = 0.89813, convex_area = 11295.00000, extent = 0.66334, type = O + area = 13476.00000, perimeter = 478.28299, major_axis_length = 199.02327, minor_axis_length = 87.92966, eccentricity = 0.89711, convex_area = 13931.00000, extent = 0.59917, type = C + area = 14003.00000, perimeter = 489.29001, major_axis_length = 208.33290, minor_axis_length = 87.19222, eccentricity = 0.90821, convex_area = 14421.00000, extent = 0.57911, type = C + area = 14792.00000, perimeter = 499.20300, major_axis_length = 206.16061, minor_axis_length = 92.68034, eccentricity = 0.89325, convex_area = 15326.00000, extent = 0.69469, type = C + area = 12232.00000, perimeter = 440.40302, major_axis_length = 175.67868, minor_axis_length = 90.06195, eccentricity = 0.85860, convex_area = 12525.00000, extent = 0.77251, type = O + area = 17192.00000, perimeter = 528.34198, major_axis_length = 222.94994, minor_axis_length = 99.09267, eccentricity = 0.89580, convex_area = 17457.00000, extent = 0.62891, type = C + area = 14953.00000, perimeter = 503.75201, major_axis_length = 217.10368, minor_axis_length = 88.61492, eccentricity = 0.91291, convex_area = 15229.00000, extent = 0.72314, type = C + area = 11923.00000, perimeter = 435.28699, major_axis_length = 174.07080, minor_axis_length = 88.94534, eccentricity = 0.85960, convex_area = 12187.00000, extent = 0.61554, type = O + area = 11189.00000, perimeter = 427.47101, major_axis_length = 176.94299, minor_axis_length = 81.42934, eccentricity = 0.88781, convex_area = 11422.00000, extent = 0.59911, type = O + area = 11983.00000, perimeter = 432.43900, major_axis_length = 172.42494, minor_axis_length = 89.33904, eccentricity = 0.85530, convex_area = 12238.00000, extent = 0.70084, type = O + area = 8501.00000, perimeter = 371.02499, major_axis_length = 153.89626, minor_axis_length = 71.51191, eccentricity = 0.88548, convex_area = 8738.00000, extent = 0.63985, type = O + area = 14242.00000, perimeter = 495.73901, major_axis_length = 210.68092, minor_axis_length = 87.42849, eccentricity = 0.90983, convex_area = 14549.00000, extent = 0.64095, type = C + area = 11656.00000, perimeter = 434.39600, major_axis_length = 175.59007, minor_axis_length = 85.71838, eccentricity = 0.87275, convex_area = 11955.00000, extent = 0.59518, type = O + area = 11840.00000, perimeter = 420.14099, major_axis_length = 166.92889, minor_axis_length = 90.98129, eccentricity = 0.83842, convex_area = 12021.00000, extent = 0.79661, type = O + area = 14321.00000, perimeter = 490.42499, major_axis_length = 204.28038, minor_axis_length = 90.68298, eccentricity = 0.89607, convex_area = 14622.00000, extent = 0.57387, type = C + area = 8604.00000, perimeter = 373.68301, major_axis_length = 153.57961, minor_axis_length = 72.30965, eccentricity = 0.88222, convex_area = 8787.00000, extent = 0.60256, type = O + area = 12588.00000, perimeter = 445.29800, major_axis_length = 181.65675, minor_axis_length = 89.52711, eccentricity = 0.87012, convex_area = 12865.00000, extent = 0.77713, type = O + area = 11700.00000, perimeter = 436.92899, major_axis_length = 179.57484, minor_axis_length = 83.98396, eccentricity = 0.88390, convex_area = 11980.00000, extent = 0.73854, type = O + area = 11706.00000, perimeter = 433.06500, major_axis_length = 181.55389, minor_axis_length = 82.64781, eccentricity = 0.89038, convex_area = 11928.00000, extent = 0.58677, type = O + area = 14709.00000, perimeter = 489.52899, major_axis_length = 204.92346, minor_axis_length = 91.86573, eccentricity = 0.89389, convex_area = 15041.00000, extent = 0.63980, type = C + area = 11003.00000, perimeter = 417.05899, major_axis_length = 168.23433, minor_axis_length = 85.01897, eccentricity = 0.86291, convex_area = 11270.00000, extent = 0.61128, type = O + area = 16934.00000, perimeter = 533.08600, major_axis_length = 225.30267, minor_axis_length = 96.45010, eccentricity = 0.90374, convex_area = 17323.00000, extent = 0.75262, type = C + area = 12311.00000, perimeter = 450.33499, major_axis_length = 194.44675, minor_axis_length = 81.31934, eccentricity = 0.90835, convex_area = 12441.00000, extent = 0.55656, type = O + area = 14013.00000, perimeter = 458.91101, major_axis_length = 181.95149, minor_axis_length = 99.44376, eccentricity = 0.83743, convex_area = 14323.00000, extent = 0.79439, type = C + area = 11860.00000, perimeter = 429.79300, major_axis_length = 178.21358, minor_axis_length = 85.30595, eccentricity = 0.87799, convex_area = 12032.00000, extent = 0.70057, type = O + area = 11307.00000, perimeter = 427.60999, major_axis_length = 176.07468, minor_axis_length = 82.24740, eccentricity = 0.88420, convex_area = 11492.00000, extent = 0.65662, type = O + area = 12068.00000, perimeter = 450.14600, major_axis_length = 187.29993, minor_axis_length = 83.14626, eccentricity = 0.89607, convex_area = 12426.00000, extent = 0.65008, type = C + area = 11219.00000, perimeter = 433.71301, major_axis_length = 180.31642, minor_axis_length = 80.25338, eccentricity = 0.89550, convex_area = 11485.00000, extent = 0.70049, type = O + area = 10733.00000, perimeter = 402.41901, major_axis_length = 166.23431, minor_axis_length = 82.70548, eccentricity = 0.86745, convex_area = 10876.00000, extent = 0.70612, type = O + area = 13652.00000, perimeter = 486.62799, major_axis_length = 210.34523, minor_axis_length = 83.29913, eccentricity = 0.91825, convex_area = 13950.00000, extent = 0.57980, type = C + area = 11879.00000, perimeter = 446.14301, major_axis_length = 187.91023, minor_axis_length = 81.59092, eccentricity = 0.90082, convex_area = 12095.00000, extent = 0.65269, type = O + area = 14180.00000, perimeter = 485.17099, major_axis_length = 204.10718, minor_axis_length = 89.36078, eccentricity = 0.89907, convex_area = 14471.00000, extent = 0.61981, type = C + area = 11634.00000, perimeter = 427.10501, major_axis_length = 171.32634, minor_axis_length = 88.26649, eccentricity = 0.85707, convex_area = 11967.00000, extent = 0.70969, type = O + area = 13174.00000, perimeter = 480.57700, major_axis_length = 203.50645, minor_axis_length = 83.42044, eccentricity = 0.91212, convex_area = 13606.00000, extent = 0.54947, type = C + area = 14467.00000, perimeter = 498.62399, major_axis_length = 213.59563, minor_axis_length = 86.99999, eccentricity = 0.91329, convex_area = 14857.00000, extent = 0.74076, type = C + area = 14145.00000, perimeter = 486.60800, major_axis_length = 209.35321, minor_axis_length = 86.78947, eccentricity = 0.91002, convex_area = 14370.00000, extent = 0.76667, type = C + area = 10189.00000, perimeter = 454.31601, major_axis_length = 180.73766, minor_axis_length = 73.32643, eccentricity = 0.91400, convex_area = 11000.00000, extent = 0.51979, type = O + area = 12539.00000, perimeter = 437.42599, major_axis_length = 174.90057, minor_axis_length = 92.72463, eccentricity = 0.84790, convex_area = 12835.00000, extent = 0.78738, type = O + area = 12210.00000, perimeter = 453.12399, major_axis_length = 189.42078, minor_axis_length = 83.15540, eccentricity = 0.89849, convex_area = 12641.00000, extent = 0.63733, type = C + area = 14892.00000, perimeter = 503.33899, major_axis_length = 209.62090, minor_axis_length = 91.80297, eccentricity = 0.89900, convex_area = 15338.00000, extent = 0.65566, type = C + area = 14621.00000, perimeter = 501.82501, major_axis_length = 210.91649, minor_axis_length = 89.62993, eccentricity = 0.90521, convex_area = 15175.00000, extent = 0.68908, type = C + area = 11029.00000, perimeter = 415.04800, major_axis_length = 176.21477, minor_axis_length = 80.01405, eccentricity = 0.89097, convex_area = 11182.00000, extent = 0.63059, type = O + area = 12309.00000, perimeter = 434.37500, major_axis_length = 179.00168, minor_axis_length = 88.09723, eccentricity = 0.87051, convex_area = 12462.00000, extent = 0.68069, type = O + area = 13434.00000, perimeter = 483.36499, major_axis_length = 204.56802, minor_axis_length = 84.15600, eccentricity = 0.91146, convex_area = 13773.00000, extent = 0.72226, type = C + area = 13536.00000, perimeter = 478.00601, major_axis_length = 203.17378, minor_axis_length = 85.91058, eccentricity = 0.90620, convex_area = 13810.00000, extent = 0.55281, type = C + area = 12968.00000, perimeter = 469.34100, major_axis_length = 199.90503, minor_axis_length = 83.03522, eccentricity = 0.90965, convex_area = 13243.00000, extent = 0.64125, type = C + area = 10879.00000, perimeter = 427.13599, major_axis_length = 179.45078, minor_axis_length = 78.29278, eccentricity = 0.89981, convex_area = 11110.00000, extent = 0.73547, type = O + area = 13002.00000, perimeter = 448.11499, major_axis_length = 182.62787, minor_axis_length = 91.47121, eccentricity = 0.86553, convex_area = 13200.00000, extent = 0.60581, type = O + area = 10600.00000, perimeter = 429.51099, major_axis_length = 182.30606, minor_axis_length = 75.09999, eccentricity = 0.91121, convex_area = 10829.00000, extent = 0.72217, type = O + area = 16155.00000, perimeter = 515.28003, major_axis_length = 217.60548, minor_axis_length = 95.48460, eccentricity = 0.89859, convex_area = 16418.00000, extent = 0.58332, type = C + area = 15705.00000, perimeter = 498.96399, major_axis_length = 208.54117, minor_axis_length = 96.63724, eccentricity = 0.88615, convex_area = 16009.00000, extent = 0.77365, type = C + area = 14143.00000, perimeter = 483.86499, major_axis_length = 200.87813, minor_axis_length = 90.59235, eccentricity = 0.89253, convex_area = 14427.00000, extent = 0.59766, type = C + area = 13954.00000, perimeter = 481.28799, major_axis_length = 204.77745, minor_axis_length = 87.50462, eccentricity = 0.90410, convex_area = 14277.00000, extent = 0.58113, type = C + area = 10612.00000, perimeter = 413.85599, major_axis_length = 169.87917, minor_axis_length = 80.89677, eccentricity = 0.87934, convex_area = 10924.00000, extent = 0.67199, type = O + area = 14999.00000, perimeter = 498.54099, major_axis_length = 213.50803, minor_axis_length = 90.10974, eccentricity = 0.90658, convex_area = 15295.00000, extent = 0.79871, type = C + area = 12147.00000, perimeter = 436.07001, major_axis_length = 177.55022, minor_axis_length = 88.56141, eccentricity = 0.86672, convex_area = 12421.00000, extent = 0.68705, type = O + area = 12391.00000, perimeter = 437.61899, major_axis_length = 175.36723, minor_axis_length = 90.81943, eccentricity = 0.85545, convex_area = 12600.00000, extent = 0.63478, type = O + area = 14172.00000, perimeter = 500.42899, major_axis_length = 218.57156, minor_axis_length = 83.36391, eccentricity = 0.92441, convex_area = 14399.00000, extent = 0.60882, type = C + area = 14956.00000, perimeter = 490.25601, major_axis_length = 204.54123, minor_axis_length = 93.75129, eccentricity = 0.88877, convex_area = 15196.00000, extent = 0.67278, type = C + area = 11525.00000, perimeter = 433.78101, major_axis_length = 184.42334, minor_axis_length = 80.16663, eccentricity = 0.90058, convex_area = 11697.00000, extent = 0.61271, type = O + area = 14466.00000, perimeter = 497.84000, major_axis_length = 204.40955, minor_axis_length = 91.21478, eccentricity = 0.89492, convex_area = 14885.00000, extent = 0.65650, type = C + area = 14881.00000, perimeter = 495.61801, major_axis_length = 206.66783, minor_axis_length = 93.32417, eccentricity = 0.89224, convex_area = 15225.00000, extent = 0.58398, type = C + area = 12985.00000, perimeter = 466.13501, major_axis_length = 196.66615, minor_axis_length = 84.69309, eccentricity = 0.90252, convex_area = 13221.00000, extent = 0.58889, type = C + area = 10457.00000, perimeter = 402.06299, major_axis_length = 157.96170, minor_axis_length = 85.70411, eccentricity = 0.84002, convex_area = 10719.00000, extent = 0.67709, type = O + area = 11883.00000, perimeter = 438.21899, major_axis_length = 178.86168, minor_axis_length = 86.56590, eccentricity = 0.87508, convex_area = 12204.00000, extent = 0.67128, type = O + area = 13964.00000, perimeter = 481.23001, major_axis_length = 201.55930, minor_axis_length = 89.30014, eccentricity = 0.89650, convex_area = 14275.00000, extent = 0.58329, type = C + area = 15087.00000, perimeter = 510.60501, major_axis_length = 218.17435, minor_axis_length = 89.15250, eccentricity = 0.91270, convex_area = 15506.00000, extent = 0.54950, type = C + area = 10541.00000, perimeter = 406.53601, major_axis_length = 162.99107, minor_axis_length = 83.69826, eccentricity = 0.85808, convex_area = 10901.00000, extent = 0.77462, type = O + area = 12120.00000, perimeter = 441.00000, major_axis_length = 180.37653, minor_axis_length = 86.71608, eccentricity = 0.87686, convex_area = 12479.00000, extent = 0.64226, type = O + area = 13154.00000, perimeter = 451.56201, major_axis_length = 179.95360, minor_axis_length = 94.31381, eccentricity = 0.85166, convex_area = 13428.00000, extent = 0.65022, type = O + area = 12886.00000, perimeter = 455.51801, major_axis_length = 189.85989, minor_axis_length = 87.49918, eccentricity = 0.88747, convex_area = 13080.00000, extent = 0.59230, type = C + area = 10719.00000, perimeter = 418.67001, major_axis_length = 175.00836, minor_axis_length = 78.83108, eccentricity = 0.89281, convex_area = 10983.00000, extent = 0.63690, type = O + area = 13670.00000, perimeter = 486.81000, major_axis_length = 207.74220, minor_axis_length = 84.57770, eccentricity = 0.91337, convex_area = 13923.00000, extent = 0.58096, type = C + area = 8499.00000, perimeter = 370.44601, major_axis_length = 156.07228, minor_axis_length = 70.63036, eccentricity = 0.89174, convex_area = 8648.00000, extent = 0.76156, type = O + area = 12347.00000, perimeter = 475.39001, major_axis_length = 207.09692, minor_axis_length = 77.08044, eccentricity = 0.92815, convex_area = 12857.00000, extent = 0.52095, type = C + area = 11316.00000, perimeter = 418.54901, major_axis_length = 170.68570, minor_axis_length = 85.69088, eccentricity = 0.86484, convex_area = 11497.00000, extent = 0.60839, type = O + area = 16067.00000, perimeter = 526.42499, major_axis_length = 228.94226, minor_axis_length = 90.14622, eccentricity = 0.91922, convex_area = 16370.00000, extent = 0.55586, type = C + area = 11757.00000, perimeter = 441.24200, major_axis_length = 182.59586, minor_axis_length = 82.91640, eccentricity = 0.89095, convex_area = 11967.00000, extent = 0.60172, type = O + area = 11929.00000, perimeter = 436.86301, major_axis_length = 177.18954, minor_axis_length = 86.98807, eccentricity = 0.87120, convex_area = 12230.00000, extent = 0.69355, type = O + area = 10037.00000, perimeter = 395.34000, major_axis_length = 164.24315, minor_axis_length = 78.49976, eccentricity = 0.87839, convex_area = 10210.00000, extent = 0.76490, type = O + area = 12714.00000, perimeter = 454.54501, major_axis_length = 185.12328, minor_axis_length = 88.69659, eccentricity = 0.87775, convex_area = 12939.00000, extent = 0.62269, type = O + area = 13479.00000, perimeter = 477.01599, major_axis_length = 200.05305, minor_axis_length = 86.65029, eccentricity = 0.90133, convex_area = 13786.00000, extent = 0.65790, type = C + area = 13816.00000, perimeter = 484.27600, major_axis_length = 199.01349, minor_axis_length = 89.86625, eccentricity = 0.89224, convex_area = 14356.00000, extent = 0.64246, type = C + area = 10359.00000, perimeter = 409.51099, major_axis_length = 173.33797, minor_axis_length = 76.87581, eccentricity = 0.89627, convex_area = 10510.00000, extent = 0.57359, type = O + area = 13352.00000, perimeter = 514.48700, major_axis_length = 232.48021, minor_axis_length = 73.98676, eccentricity = 0.94801, convex_area = 13585.00000, extent = 0.59282, type = C + area = 13909.00000, perimeter = 475.61801, major_axis_length = 199.60727, minor_axis_length = 89.94420, eccentricity = 0.89272, convex_area = 14241.00000, extent = 0.72788, type = C + area = 10980.00000, perimeter = 428.08401, major_axis_length = 181.87335, minor_axis_length = 77.56380, eccentricity = 0.90450, convex_area = 11174.00000, extent = 0.58280, type = O + area = 15135.00000, perimeter = 506.43500, major_axis_length = 208.72266, minor_axis_length = 93.81931, eccentricity = 0.89328, convex_area = 15656.00000, extent = 0.57451, type = C + area = 11396.00000, perimeter = 446.28299, major_axis_length = 192.23241, minor_axis_length = 76.52646, eccentricity = 0.91734, convex_area = 11692.00000, extent = 0.64515, type = C + area = 12414.00000, perimeter = 453.38300, major_axis_length = 188.56230, minor_axis_length = 85.32584, eccentricity = 0.89176, convex_area = 12721.00000, extent = 0.58817, type = C + area = 15644.00000, perimeter = 501.11401, major_axis_length = 210.35762, minor_axis_length = 95.27699, eccentricity = 0.89155, convex_area = 15858.00000, extent = 0.78791, type = C + area = 10787.00000, perimeter = 401.25500, major_axis_length = 160.01788, minor_axis_length = 86.63780, eccentricity = 0.84075, convex_area = 11010.00000, extent = 0.65835, type = O + area = 11149.00000, perimeter = 416.89099, major_axis_length = 167.29213, minor_axis_length = 86.69962, eccentricity = 0.85523, convex_area = 11323.00000, extent = 0.69090, type = O + area = 12993.00000, perimeter = 466.23901, major_axis_length = 199.03352, minor_axis_length = 83.48304, eccentricity = 0.90778, convex_area = 13230.00000, extent = 0.78664, type = C + area = 12172.00000, perimeter = 433.59799, major_axis_length = 174.29941, minor_axis_length = 90.69495, eccentricity = 0.85396, convex_area = 12401.00000, extent = 0.63845, type = O + area = 13860.00000, perimeter = 483.97101, major_axis_length = 207.78920, minor_axis_length = 85.96107, eccentricity = 0.91042, convex_area = 14047.00000, extent = 0.64815, type = C + area = 15119.00000, perimeter = 508.34201, major_axis_length = 213.37930, minor_axis_length = 91.25336, eccentricity = 0.90394, convex_area = 15612.00000, extent = 0.72378, type = C + area = 14626.00000, perimeter = 496.58600, major_axis_length = 204.53413, minor_axis_length = 92.97487, eccentricity = 0.89071, convex_area = 15070.00000, extent = 0.57021, type = C + area = 13780.00000, perimeter = 497.42801, major_axis_length = 221.72290, minor_axis_length = 79.95213, eccentricity = 0.93272, convex_area = 14010.00000, extent = 0.55078, type = C + area = 14441.00000, perimeter = 495.36600, major_axis_length = 210.02328, minor_axis_length = 89.20302, eccentricity = 0.90532, convex_area = 14805.00000, extent = 0.54021, type = C + area = 15401.00000, perimeter = 499.26401, major_axis_length = 202.64989, minor_axis_length = 97.76850, eccentricity = 0.87592, convex_area = 15760.00000, extent = 0.61732, type = C + area = 13921.00000, perimeter = 481.99301, major_axis_length = 203.44487, minor_axis_length = 88.12582, eccentricity = 0.90131, convex_area = 14210.00000, extent = 0.56133, type = C + area = 9732.00000, perimeter = 395.62399, major_axis_length = 166.25105, minor_axis_length = 75.57278, eccentricity = 0.89071, convex_area = 9887.00000, extent = 0.58655, type = O + area = 16405.00000, perimeter = 526.57001, major_axis_length = 221.61252, minor_axis_length = 95.43671, eccentricity = 0.90252, convex_area = 16837.00000, extent = 0.65889, type = C + area = 11994.00000, perimeter = 444.76099, major_axis_length = 183.44913, minor_axis_length = 84.42697, eccentricity = 0.88780, convex_area = 12262.00000, extent = 0.72419, type = O + area = 10132.00000, perimeter = 398.67200, major_axis_length = 162.84520, minor_axis_length = 80.07436, eccentricity = 0.87075, convex_area = 10306.00000, extent = 0.66891, type = O + area = 13314.00000, perimeter = 474.08701, major_axis_length = 203.94801, minor_axis_length = 83.66284, eccentricity = 0.91199, convex_area = 13627.00000, extent = 0.74714, type = C + area = 14690.00000, perimeter = 506.85501, major_axis_length = 214.15948, minor_axis_length = 88.87601, eccentricity = 0.90982, convex_area = 15064.00000, extent = 0.58440, type = C + area = 12512.00000, perimeter = 454.51001, major_axis_length = 186.95084, minor_axis_length = 86.57542, eccentricity = 0.88631, convex_area = 12817.00000, extent = 0.57132, type = O + area = 13062.00000, perimeter = 469.42401, major_axis_length = 200.62883, minor_axis_length = 83.27462, eccentricity = 0.90979, convex_area = 13279.00000, extent = 0.66321, type = C + area = 15238.00000, perimeter = 506.11499, major_axis_length = 218.36040, minor_axis_length = 89.61969, eccentricity = 0.91190, convex_area = 15529.00000, extent = 0.54722, type = C + area = 13825.00000, perimeter = 483.20001, major_axis_length = 205.75504, minor_axis_length = 86.98260, eccentricity = 0.90625, convex_area = 14023.00000, extent = 0.73958, type = O + area = 14686.00000, perimeter = 503.69000, major_axis_length = 212.25868, minor_axis_length = 89.78369, eccentricity = 0.90613, convex_area = 15003.00000, extent = 0.55215, type = C + area = 11538.00000, perimeter = 446.85699, major_axis_length = 189.68529, minor_axis_length = 78.97429, eccentricity = 0.90921, convex_area = 11852.00000, extent = 0.57994, type = C + area = 11048.00000, perimeter = 424.27499, major_axis_length = 169.51912, minor_axis_length = 84.77814, eccentricity = 0.86596, convex_area = 11419.00000, extent = 0.69162, type = O + area = 11694.00000, perimeter = 431.38901, major_axis_length = 177.07016, minor_axis_length = 85.11002, eccentricity = 0.87691, convex_area = 11875.00000, extent = 0.68788, type = O + area = 13493.00000, perimeter = 480.52899, major_axis_length = 205.57306, minor_axis_length = 84.68375, eccentricity = 0.91121, convex_area = 13843.00000, extent = 0.79689, type = C + area = 15136.00000, perimeter = 503.26001, major_axis_length = 208.77202, minor_axis_length = 94.06878, eccentricity = 0.89274, convex_area = 15471.00000, extent = 0.59591, type = C + area = 13380.00000, perimeter = 469.17700, major_axis_length = 190.81332, minor_axis_length = 91.01315, eccentricity = 0.87892, convex_area = 13747.00000, extent = 0.61962, type = C + area = 11176.00000, perimeter = 418.05600, major_axis_length = 171.31558, minor_axis_length = 83.93949, eccentricity = 0.87174, convex_area = 11387.00000, extent = 0.79703, type = O + area = 12148.00000, perimeter = 434.30701, major_axis_length = 177.47769, minor_axis_length = 88.51750, eccentricity = 0.86674, convex_area = 12437.00000, extent = 0.75505, type = O + area = 15975.00000, perimeter = 522.80402, major_axis_length = 218.41768, minor_axis_length = 94.04413, eccentricity = 0.90256, convex_area = 16290.00000, extent = 0.56764, type = C + area = 12501.00000, perimeter = 451.79901, major_axis_length = 192.73880, minor_axis_length = 83.19506, eccentricity = 0.90204, convex_area = 12687.00000, extent = 0.71882, type = O + area = 11907.00000, perimeter = 448.06100, major_axis_length = 188.30240, minor_axis_length = 82.26176, eccentricity = 0.89953, convex_area = 12156.00000, extent = 0.76132, type = O + area = 12672.00000, perimeter = 450.34399, major_axis_length = 184.40462, minor_axis_length = 88.78121, eccentricity = 0.87647, convex_area = 12939.00000, extent = 0.78261, type = O + area = 14489.00000, perimeter = 496.38501, major_axis_length = 210.03639, minor_axis_length = 88.53156, eccentricity = 0.90683, convex_area = 14843.00000, extent = 0.61535, type = C + area = 13871.00000, perimeter = 496.57901, major_axis_length = 212.57080, minor_axis_length = 83.77424, eccentricity = 0.91907, convex_area = 14344.00000, extent = 0.52782, type = C + area = 11630.00000, perimeter = 425.51700, major_axis_length = 173.09642, minor_axis_length = 87.19287, eccentricity = 0.86386, convex_area = 11766.00000, extent = 0.78169, type = O + area = 11794.00000, perimeter = 430.38000, major_axis_length = 178.44585, minor_axis_length = 84.78594, eccentricity = 0.87991, convex_area = 12056.00000, extent = 0.75294, type = C + area = 10576.00000, perimeter = 417.01999, major_axis_length = 175.39082, minor_axis_length = 77.45559, eccentricity = 0.89720, convex_area = 10729.00000, extent = 0.56592, type = O + area = 13098.00000, perimeter = 458.73300, major_axis_length = 187.31577, minor_axis_length = 90.63008, eccentricity = 0.87516, convex_area = 13423.00000, extent = 0.60193, type = O + area = 11940.00000, perimeter = 423.67499, major_axis_length = 168.63402, minor_axis_length = 91.36427, eccentricity = 0.84051, convex_area = 12191.00000, extent = 0.66400, type = O + area = 16933.00000, perimeter = 521.92200, major_axis_length = 221.33298, minor_axis_length = 98.09830, eccentricity = 0.89641, convex_area = 17212.00000, extent = 0.77674, type = C + area = 10550.00000, perimeter = 404.29501, major_axis_length = 160.47012, minor_axis_length = 85.45004, eccentricity = 0.84643, convex_area = 10846.00000, extent = 0.77981, type = O + area = 14842.00000, perimeter = 505.72601, major_axis_length = 214.95474, minor_axis_length = 88.66093, eccentricity = 0.91097, convex_area = 15313.00000, extent = 0.54450, type = C + area = 13677.00000, perimeter = 467.24799, major_axis_length = 191.01180, minor_axis_length = 91.82099, eccentricity = 0.87688, convex_area = 13901.00000, extent = 0.65503, type = O + area = 14570.00000, perimeter = 469.98199, major_axis_length = 185.40146, minor_axis_length = 100.88792, eccentricity = 0.83898, convex_area = 14895.00000, extent = 0.65454, type = C + area = 11809.00000, perimeter = 433.05399, major_axis_length = 170.87122, minor_axis_length = 89.48264, eccentricity = 0.85191, convex_area = 12129.00000, extent = 0.61743, type = O + area = 12817.00000, perimeter = 460.55200, major_axis_length = 191.18788, minor_axis_length = 86.31359, eccentricity = 0.89229, convex_area = 13132.00000, extent = 0.60233, type = C + area = 13848.00000, perimeter = 492.91000, major_axis_length = 207.01457, minor_axis_length = 86.98444, eccentricity = 0.90744, convex_area = 14383.00000, extent = 0.66879, type = C + area = 14569.00000, perimeter = 500.36899, major_axis_length = 216.66966, minor_axis_length = 86.45754, eccentricity = 0.91694, convex_area = 14801.00000, extent = 0.80670, type = C + area = 14244.00000, perimeter = 488.06601, major_axis_length = 199.89989, minor_axis_length = 92.31540, eccentricity = 0.88698, convex_area = 14691.00000, extent = 0.61633, type = C + area = 14686.00000, perimeter = 490.40601, major_axis_length = 203.03380, minor_axis_length = 93.82804, eccentricity = 0.88681, convex_area = 15065.00000, extent = 0.61468, type = C + area = 13689.00000, perimeter = 483.65500, major_axis_length = 202.72200, minor_axis_length = 86.94032, eccentricity = 0.90337, convex_area = 14183.00000, extent = 0.77646, type = C + area = 13054.00000, perimeter = 478.45300, major_axis_length = 203.21964, minor_axis_length = 83.08085, eccentricity = 0.91261, convex_area = 13329.00000, extent = 0.79988, type = O + area = 15094.00000, perimeter = 513.92401, major_axis_length = 224.71965, minor_axis_length = 86.43656, eccentricity = 0.92307, convex_area = 15292.00000, extent = 0.79417, type = C + area = 15071.00000, perimeter = 494.13501, major_axis_length = 200.59483, minor_axis_length = 97.39329, eccentricity = 0.87422, convex_area = 15575.00000, extent = 0.68921, type = C + area = 10862.00000, perimeter = 412.42599, major_axis_length = 167.38695, minor_axis_length = 83.53160, eccentricity = 0.86658, convex_area = 11050.00000, extent = 0.67215, type = O + area = 11540.00000, perimeter = 427.52301, major_axis_length = 172.79500, minor_axis_length = 86.44035, eccentricity = 0.86588, convex_area = 11765.00000, extent = 0.60711, type = O + area = 12863.00000, perimeter = 457.19101, major_axis_length = 195.70039, minor_axis_length = 84.50079, eccentricity = 0.90198, convex_area = 13023.00000, extent = 0.80859, type = C + area = 11873.00000, perimeter = 432.33301, major_axis_length = 175.09715, minor_axis_length = 87.68571, eccentricity = 0.86557, convex_area = 12162.00000, extent = 0.65093, type = O + area = 14534.00000, perimeter = 483.64099, major_axis_length = 196.65082, minor_axis_length = 95.05068, eccentricity = 0.87543, convex_area = 14932.00000, extent = 0.64965, type = C + area = 12725.00000, perimeter = 441.67999, major_axis_length = 170.23276, minor_axis_length = 97.73903, eccentricity = 0.81875, convex_area = 13081.00000, extent = 0.64122, type = O + area = 13268.00000, perimeter = 473.43399, major_axis_length = 200.70084, minor_axis_length = 84.70035, eccentricity = 0.90659, convex_area = 13562.00000, extent = 0.71622, type = C + area = 14741.00000, perimeter = 497.22501, major_axis_length = 212.46336, minor_axis_length = 89.45373, eccentricity = 0.90705, convex_area = 15036.00000, extent = 0.55371, type = C + area = 11999.00000, perimeter = 465.65799, major_axis_length = 194.78426, minor_axis_length = 80.43824, eccentricity = 0.91075, convex_area = 12364.00000, extent = 0.53701, type = C + area = 14549.00000, perimeter = 488.95300, major_axis_length = 206.69482, minor_axis_length = 90.76069, eccentricity = 0.89844, convex_area = 14856.00000, extent = 0.58247, type = C + area = 12432.00000, perimeter = 453.04001, major_axis_length = 190.54366, minor_axis_length = 84.25046, eccentricity = 0.89694, convex_area = 12728.00000, extent = 0.76575, type = O + area = 10727.00000, perimeter = 420.36499, major_axis_length = 174.38452, minor_axis_length = 79.60275, eccentricity = 0.88973, convex_area = 11009.00000, extent = 0.67061, type = O + area = 10844.00000, perimeter = 412.66400, major_axis_length = 171.03000, minor_axis_length = 81.49285, eccentricity = 0.87918, convex_area = 11046.00000, extent = 0.81706, type = O + area = 10940.00000, perimeter = 421.17401, major_axis_length = 179.48576, minor_axis_length = 78.21935, eccentricity = 0.90005, convex_area = 11097.00000, extent = 0.80147, type = O + area = 10993.00000, perimeter = 422.51501, major_axis_length = 174.53636, minor_axis_length = 80.96795, eccentricity = 0.88589, convex_area = 11179.00000, extent = 0.66491, type = O + area = 11544.00000, perimeter = 421.84601, major_axis_length = 170.34583, minor_axis_length = 87.41750, eccentricity = 0.85828, convex_area = 11800.00000, extent = 0.65651, type = O + area = 14399.00000, perimeter = 484.08200, major_axis_length = 200.17354, minor_axis_length = 92.85159, eccentricity = 0.88591, convex_area = 14849.00000, extent = 0.60480, type = C + area = 12532.00000, perimeter = 454.06699, major_axis_length = 186.86259, minor_axis_length = 87.04253, eccentricity = 0.88488, convex_area = 12888.00000, extent = 0.63073, type = O + area = 11247.00000, perimeter = 418.08200, major_axis_length = 174.79654, minor_axis_length = 82.57596, eccentricity = 0.88138, convex_area = 11407.00000, extent = 0.78827, type = O + area = 14734.00000, perimeter = 507.28400, major_axis_length = 217.82445, minor_axis_length = 86.65876, eccentricity = 0.91746, convex_area = 15039.00000, extent = 0.68137, type = C + area = 14252.00000, perimeter = 493.11401, major_axis_length = 202.65460, minor_axis_length = 91.30965, eccentricity = 0.89274, convex_area = 14627.00000, extent = 0.56377, type = C + area = 10491.00000, perimeter = 411.99500, major_axis_length = 174.70581, minor_axis_length = 77.03625, eccentricity = 0.89753, convex_area = 10658.00000, extent = 0.76762, type = O + area = 11363.00000, perimeter = 419.45499, major_axis_length = 170.06575, minor_axis_length = 86.50567, eccentricity = 0.86097, convex_area = 11699.00000, extent = 0.69431, type = O + area = 10864.00000, perimeter = 426.57800, major_axis_length = 174.11014, minor_axis_length = 81.12305, eccentricity = 0.88482, convex_area = 11170.00000, extent = 0.57812, type = O + area = 14656.00000, perimeter = 494.31100, major_axis_length = 206.02007, minor_axis_length = 91.73097, eccentricity = 0.89540, convex_area = 15072.00000, extent = 0.61544, type = C + area = 13927.00000, perimeter = 479.35501, major_axis_length = 202.79362, minor_axis_length = 88.48322, eccentricity = 0.89979, convex_area = 14264.00000, extent = 0.77085, type = C + area = 11363.00000, perimeter = 423.26599, major_axis_length = 175.87416, minor_axis_length = 83.84263, eccentricity = 0.87906, convex_area = 11548.00000, extent = 0.79135, type = O + area = 14755.00000, perimeter = 510.13800, major_axis_length = 218.69916, minor_axis_length = 86.81236, eccentricity = 0.91784, convex_area = 15025.00000, extent = 0.53333, type = C + area = 10604.00000, perimeter = 425.92599, major_axis_length = 179.15118, minor_axis_length = 76.35169, eccentricity = 0.90464, convex_area = 10830.00000, extent = 0.57490, type = C + area = 12193.00000, perimeter = 436.28500, major_axis_length = 182.62729, minor_axis_length = 85.25561, eccentricity = 0.88435, convex_area = 12336.00000, extent = 0.68308, type = O + area = 12809.00000, perimeter = 455.14401, major_axis_length = 189.07947, minor_axis_length = 87.20803, eccentricity = 0.88728, convex_area = 13025.00000, extent = 0.59000, type = C + area = 14816.00000, perimeter = 496.31601, major_axis_length = 206.65742, minor_axis_length = 92.17413, eccentricity = 0.89502, convex_area = 15194.00000, extent = 0.58150, type = C + area = 12972.00000, perimeter = 467.38000, major_axis_length = 194.52908, minor_axis_length = 86.50668, eccentricity = 0.89568, convex_area = 13425.00000, extent = 0.77468, type = C + area = 11050.00000, perimeter = 424.73401, major_axis_length = 175.59836, minor_axis_length = 80.98215, eccentricity = 0.88731, convex_area = 11295.00000, extent = 0.59300, type = O + area = 12854.00000, perimeter = 474.13800, major_axis_length = 202.19571, minor_axis_length = 81.74696, eccentricity = 0.91463, convex_area = 13242.00000, extent = 0.64328, type = C + area = 10941.00000, perimeter = 423.40799, major_axis_length = 172.85109, minor_axis_length = 81.42479, eccentricity = 0.88210, convex_area = 11248.00000, extent = 0.62952, type = O + area = 14811.00000, perimeter = 512.10999, major_axis_length = 217.73833, minor_axis_length = 87.48341, eccentricity = 0.91574, convex_area = 15090.00000, extent = 0.54917, type = C + area = 11287.00000, perimeter = 429.32501, major_axis_length = 171.89574, minor_axis_length = 85.36037, eccentricity = 0.86799, convex_area = 11599.00000, extent = 0.59014, type = O + area = 11944.00000, perimeter = 434.92401, major_axis_length = 182.87396, minor_axis_length = 83.63844, eccentricity = 0.88928, convex_area = 12090.00000, extent = 0.61720, type = O + area = 15404.00000, perimeter = 499.23099, major_axis_length = 206.08693, minor_axis_length = 95.63304, eccentricity = 0.88581, convex_area = 15740.00000, extent = 0.62476, type = C + area = 12892.00000, perimeter = 482.63000, major_axis_length = 204.59776, minor_axis_length = 82.35201, eccentricity = 0.91542, convex_area = 13376.00000, extent = 0.65124, type = C + area = 14982.00000, perimeter = 505.07800, major_axis_length = 217.36499, minor_axis_length = 88.59523, eccentricity = 0.91317, convex_area = 15325.00000, extent = 0.55924, type = C + area = 13913.00000, perimeter = 474.45200, major_axis_length = 199.11743, minor_axis_length = 89.71703, eccentricity = 0.89274, convex_area = 14164.00000, extent = 0.67310, type = C + area = 13270.00000, perimeter = 459.86600, major_axis_length = 188.89337, minor_axis_length = 90.74985, eccentricity = 0.87703, convex_area = 13507.00000, extent = 0.59945, type = O + area = 13181.00000, perimeter = 470.38901, major_axis_length = 199.47208, minor_axis_length = 84.90553, eccentricity = 0.90489, convex_area = 13429.00000, extent = 0.73436, type = C + area = 11422.00000, perimeter = 419.90701, major_axis_length = 168.03189, minor_axis_length = 88.29070, eccentricity = 0.85083, convex_area = 11687.00000, extent = 0.61807, type = O + area = 14161.00000, perimeter = 488.68701, major_axis_length = 206.50746, minor_axis_length = 87.96767, eccentricity = 0.90473, convex_area = 14428.00000, extent = 0.59395, type = C + area = 15375.00000, perimeter = 515.42297, major_axis_length = 215.99930, minor_axis_length = 91.61694, eccentricity = 0.90559, convex_area = 15780.00000, extent = 0.59760, type = C + area = 10427.00000, perimeter = 408.15701, major_axis_length = 164.55423, minor_axis_length = 81.85787, eccentricity = 0.86749, convex_area = 10689.00000, extent = 0.79510, type = O + area = 11861.00000, perimeter = 438.64499, major_axis_length = 177.91551, minor_axis_length = 86.46606, eccentricity = 0.87396, convex_area = 12150.00000, extent = 0.58940, type = O + area = 14424.00000, perimeter = 497.76999, major_axis_length = 210.74310, minor_axis_length = 88.51710, eccentricity = 0.90751, convex_area = 14920.00000, extent = 0.55820, type = C + area = 14952.00000, perimeter = 488.63000, major_axis_length = 203.00296, minor_axis_length = 94.55453, eccentricity = 0.88490, convex_area = 15187.00000, extent = 0.61561, type = C + area = 16490.00000, perimeter = 520.31897, major_axis_length = 212.01076, minor_axis_length = 101.68001, eccentricity = 0.87749, convex_area = 16873.00000, extent = 0.62937, type = C + area = 10729.00000, perimeter = 414.69901, major_axis_length = 171.72987, minor_axis_length = 81.42698, eccentricity = 0.88044, convex_area = 10987.00000, extent = 0.79421, type = O + area = 12164.00000, perimeter = 435.08600, major_axis_length = 177.58580, minor_axis_length = 88.19933, eccentricity = 0.86795, convex_area = 12354.00000, extent = 0.71022, type = O + area = 10241.00000, perimeter = 411.94699, major_axis_length = 167.74768, minor_axis_length = 79.10551, eccentricity = 0.88183, convex_area = 10486.00000, extent = 0.58975, type = O + area = 14817.00000, perimeter = 502.58301, major_axis_length = 211.52902, minor_axis_length = 90.38519, eccentricity = 0.90411, convex_area = 15113.00000, extent = 0.56803, type = C + area = 13760.00000, perimeter = 474.18799, major_axis_length = 198.39156, minor_axis_length = 89.04605, eccentricity = 0.89361, convex_area = 13989.00000, extent = 0.63375, type = C + area = 13924.00000, perimeter = 498.56201, major_axis_length = 212.06157, minor_axis_length = 84.91075, eccentricity = 0.91634, convex_area = 14444.00000, extent = 0.54750, type = C + area = 12692.00000, perimeter = 465.17200, major_axis_length = 193.20732, minor_axis_length = 85.29054, eccentricity = 0.89729, convex_area = 13118.00000, extent = 0.71480, type = C + area = 15404.00000, perimeter = 509.51700, major_axis_length = 217.29758, minor_axis_length = 91.39754, eccentricity = 0.90724, convex_area = 15696.00000, extent = 0.63370, type = C + area = 9483.00000, perimeter = 390.99799, major_axis_length = 157.25992, minor_axis_length = 78.63333, eccentricity = 0.86601, convex_area = 9817.00000, extent = 0.65786, type = O + area = 11856.00000, perimeter = 431.86301, major_axis_length = 174.35243, minor_axis_length = 88.68266, eccentricity = 0.86098, convex_area = 12188.00000, extent = 0.61507, type = O + area = 11672.00000, perimeter = 430.64200, major_axis_length = 177.94815, minor_axis_length = 84.67979, eccentricity = 0.87952, convex_area = 11849.00000, extent = 0.59746, type = O + area = 11051.00000, perimeter = 424.97601, major_axis_length = 180.87190, minor_axis_length = 78.26738, eccentricity = 0.90153, convex_area = 11240.00000, extent = 0.56806, type = O + area = 11914.00000, perimeter = 430.64401, major_axis_length = 172.00987, minor_axis_length = 90.05437, eccentricity = 0.85200, convex_area = 12215.00000, extent = 0.71633, type = O + area = 11529.00000, perimeter = 420.45599, major_axis_length = 168.25746, minor_axis_length = 88.48550, eccentricity = 0.85055, convex_area = 11748.00000, extent = 0.71009, type = O + area = 13404.00000, perimeter = 468.21500, major_axis_length = 191.54842, minor_axis_length = 90.53830, eccentricity = 0.88124, convex_area = 13804.00000, extent = 0.70651, type = C + area = 12153.00000, perimeter = 451.21100, major_axis_length = 187.76920, minor_axis_length = 83.64883, eccentricity = 0.89529, convex_area = 12497.00000, extent = 0.70649, type = C + area = 12982.00000, perimeter = 466.15701, major_axis_length = 200.51947, minor_axis_length = 82.79620, eccentricity = 0.91077, convex_area = 13188.00000, extent = 0.62228, type = C + area = 12286.00000, perimeter = 444.88699, major_axis_length = 183.28871, minor_axis_length = 86.73106, eccentricity = 0.88096, convex_area = 12583.00000, extent = 0.68187, type = C + area = 13501.00000, perimeter = 472.48300, major_axis_length = 198.07204, minor_axis_length = 87.68961, eccentricity = 0.89666, convex_area = 13787.00000, extent = 0.63403, type = C + area = 12555.00000, perimeter = 444.57999, major_axis_length = 184.82533, minor_axis_length = 87.36723, eccentricity = 0.88122, convex_area = 12773.00000, extent = 0.65221, type = C + area = 12142.00000, perimeter = 443.51501, major_axis_length = 177.74475, minor_axis_length = 88.19751, eccentricity = 0.86821, convex_area = 12459.00000, extent = 0.61563, type = O + area = 11679.00000, perimeter = 439.18600, major_axis_length = 181.42677, minor_axis_length = 83.52566, eccentricity = 0.88772, convex_area = 11949.00000, extent = 0.56749, type = O + area = 12732.00000, perimeter = 465.49100, major_axis_length = 192.45367, minor_axis_length = 85.18263, eccentricity = 0.89671, convex_area = 13105.00000, extent = 0.56997, type = C + area = 11549.00000, perimeter = 440.24799, major_axis_length = 179.11688, minor_axis_length = 84.49580, eccentricity = 0.88174, convex_area = 11961.00000, extent = 0.59540, type = C + area = 14617.00000, perimeter = 495.45001, major_axis_length = 207.31589, minor_axis_length = 90.70747, eccentricity = 0.89920, convex_area = 14950.00000, extent = 0.63791, type = C + area = 16963.00000, perimeter = 536.03302, major_axis_length = 220.32758, minor_axis_length = 99.40977, eccentricity = 0.89243, convex_area = 17467.00000, extent = 0.59208, type = C + area = 14330.00000, perimeter = 493.18500, major_axis_length = 209.76732, minor_axis_length = 87.89895, eccentricity = 0.90797, convex_area = 14701.00000, extent = 0.61960, type = C + area = 12563.00000, perimeter = 457.36301, major_axis_length = 183.51143, minor_axis_length = 88.70047, eccentricity = 0.87543, convex_area = 12877.00000, extent = 0.59349, type = O + area = 12235.00000, perimeter = 443.45599, major_axis_length = 187.66254, minor_axis_length = 83.75172, eccentricity = 0.89489, convex_area = 12442.00000, extent = 0.65833, type = O + area = 16453.00000, perimeter = 523.87402, major_axis_length = 222.31219, minor_axis_length = 96.17852, eccentricity = 0.90157, convex_area = 16803.00000, extent = 0.75472, type = C + area = 13233.00000, perimeter = 459.85901, major_axis_length = 192.59071, minor_axis_length = 88.34672, eccentricity = 0.88858, convex_area = 13436.00000, extent = 0.58874, type = O + area = 15433.00000, perimeter = 519.52197, major_axis_length = 218.38802, minor_axis_length = 91.67455, eccentricity = 0.90763, convex_area = 15887.00000, extent = 0.77944, type = C + area = 11490.00000, perimeter = 424.56201, major_axis_length = 172.40646, minor_axis_length = 85.88820, eccentricity = 0.86708, convex_area = 11733.00000, extent = 0.61427, type = O + area = 10692.00000, perimeter = 410.25299, major_axis_length = 170.17923, minor_axis_length = 80.28889, eccentricity = 0.88171, convex_area = 10863.00000, extent = 0.63080, type = O + area = 13226.00000, perimeter = 480.15701, major_axis_length = 202.74841, minor_axis_length = 84.34415, eccentricity = 0.90936, convex_area = 13617.00000, extent = 0.70705, type = C + area = 11480.00000, perimeter = 422.54901, major_axis_length = 171.27106, minor_axis_length = 86.83596, eccentricity = 0.86194, convex_area = 11781.00000, extent = 0.64822, type = O + area = 11559.00000, perimeter = 435.18500, major_axis_length = 178.78207, minor_axis_length = 83.54547, eccentricity = 0.88410, convex_area = 11796.00000, extent = 0.66638, type = O + area = 11063.00000, perimeter = 428.23901, major_axis_length = 177.53922, minor_axis_length = 80.86371, eccentricity = 0.89025, convex_area = 11362.00000, extent = 0.60613, type = O + area = 14652.00000, perimeter = 485.54700, major_axis_length = 201.55360, minor_axis_length = 93.44862, eccentricity = 0.88602, convex_area = 14883.00000, extent = 0.59315, type = C + area = 13560.00000, perimeter = 479.19901, major_axis_length = 197.55803, minor_axis_length = 88.77229, eccentricity = 0.89336, convex_area = 14033.00000, extent = 0.69177, type = C + area = 14274.00000, perimeter = 488.82999, major_axis_length = 203.56786, minor_axis_length = 89.92999, eccentricity = 0.89713, convex_area = 14529.00000, extent = 0.57236, type = C + area = 13607.00000, perimeter = 482.81799, major_axis_length = 202.84724, minor_axis_length = 86.15414, eccentricity = 0.90532, convex_area = 13901.00000, extent = 0.55684, type = C + area = 11302.00000, perimeter = 418.20099, major_axis_length = 167.57506, minor_axis_length = 86.95644, eccentricity = 0.85483, convex_area = 11591.00000, extent = 0.62356, type = O + area = 12529.00000, perimeter = 437.83899, major_axis_length = 174.86145, minor_axis_length = 92.18926, eccentricity = 0.84973, convex_area = 12840.00000, extent = 0.76602, type = O + area = 15636.00000, perimeter = 513.22699, major_axis_length = 214.38356, minor_axis_length = 93.97776, eccentricity = 0.89880, convex_area = 15913.00000, extent = 0.56628, type = C + area = 10915.00000, perimeter = 419.58600, major_axis_length = 171.54233, minor_axis_length = 82.83171, eccentricity = 0.87570, convex_area = 11246.00000, extent = 0.78345, type = O + area = 11768.00000, perimeter = 433.48001, major_axis_length = 179.83427, minor_axis_length = 83.96474, eccentricity = 0.88431, convex_area = 11993.00000, extent = 0.75567, type = O + area = 11136.00000, perimeter = 417.76700, major_axis_length = 170.42235, minor_axis_length = 84.60592, eccentricity = 0.86807, convex_area = 11384.00000, extent = 0.78461, type = O + area = 15072.00000, perimeter = 511.17599, major_axis_length = 221.78210, minor_axis_length = 87.38173, eccentricity = 0.91911, convex_area = 15392.00000, extent = 0.55088, type = C + area = 11860.00000, perimeter = 432.05899, major_axis_length = 174.31383, minor_axis_length = 88.15498, eccentricity = 0.86269, convex_area = 12140.00000, extent = 0.71086, type = O + area = 13683.00000, perimeter = 481.57101, major_axis_length = 206.92677, minor_axis_length = 84.89906, eccentricity = 0.91196, convex_area = 13922.00000, extent = 0.76220, type = C + area = 11508.00000, perimeter = 429.20401, major_axis_length = 178.31401, minor_axis_length = 83.02278, eccentricity = 0.88500, convex_area = 11772.00000, extent = 0.78844, type = O + area = 14093.00000, perimeter = 488.59799, major_axis_length = 204.39246, minor_axis_length = 89.15961, eccentricity = 0.89984, convex_area = 14463.00000, extent = 0.58111, type = C + area = 15741.00000, perimeter = 523.77600, major_axis_length = 227.50233, minor_axis_length = 89.12435, eccentricity = 0.92007, convex_area = 15999.00000, extent = 0.56322, type = C + area = 12622.00000, perimeter = 458.27499, major_axis_length = 189.69633, minor_axis_length = 86.54059, eccentricity = 0.88987, convex_area = 13019.00000, extent = 0.76441, type = O + area = 15258.00000, perimeter = 505.16299, major_axis_length = 214.01933, minor_axis_length = 91.61250, eccentricity = 0.90375, convex_area = 15497.00000, extent = 0.57413, type = C + area = 11669.00000, perimeter = 417.84100, major_axis_length = 170.12775, minor_axis_length = 87.80727, eccentricity = 0.85651, convex_area = 11847.00000, extent = 0.76977, type = O + area = 11614.00000, perimeter = 437.65601, major_axis_length = 184.90213, minor_axis_length = 81.87991, eccentricity = 0.89661, convex_area = 11812.00000, extent = 0.81812, type = O + area = 12068.00000, perimeter = 457.73901, major_axis_length = 196.44206, minor_axis_length = 79.54394, eccentricity = 0.91435, convex_area = 12347.00000, extent = 0.59950, type = C + area = 11599.00000, perimeter = 431.05600, major_axis_length = 171.99739, minor_axis_length = 86.98845, eccentricity = 0.86268, convex_area = 11913.00000, extent = 0.77966, type = O + area = 10719.00000, perimeter = 422.37399, major_axis_length = 173.34386, minor_axis_length = 80.02293, eccentricity = 0.88707, convex_area = 11007.00000, extent = 0.76657, type = O + area = 11674.00000, perimeter = 425.07199, major_axis_length = 175.75723, minor_axis_length = 85.50616, eccentricity = 0.87368, convex_area = 11865.00000, extent = 0.64405, type = O + area = 13839.00000, perimeter = 481.58801, major_axis_length = 201.34279, minor_axis_length = 88.88830, eccentricity = 0.89727, convex_area = 14165.00000, extent = 0.71694, type = C + area = 14961.00000, perimeter = 502.90900, major_axis_length = 215.19250, minor_axis_length = 89.23142, eccentricity = 0.90998, convex_area = 15218.00000, extent = 0.67532, type = C + area = 14410.00000, perimeter = 477.66199, major_axis_length = 197.17638, minor_axis_length = 93.66034, eccentricity = 0.87998, convex_area = 14645.00000, extent = 0.65727, type = C + area = 14316.00000, perimeter = 488.98599, major_axis_length = 204.42427, minor_axis_length = 90.14910, eccentricity = 0.89751, convex_area = 14731.00000, extent = 0.56418, type = C + area = 10819.00000, perimeter = 413.25699, major_axis_length = 165.16139, minor_axis_length = 84.57162, eccentricity = 0.85895, convex_area = 11091.00000, extent = 0.60952, type = O + area = 14965.00000, perimeter = 483.50800, major_axis_length = 203.52345, minor_axis_length = 94.31125, eccentricity = 0.88615, convex_area = 15151.00000, extent = 0.77555, type = C + area = 11304.00000, perimeter = 419.18100, major_axis_length = 171.37912, minor_axis_length = 84.67481, eccentricity = 0.86942, convex_area = 11504.00000, extent = 0.72092, type = O + area = 11681.00000, perimeter = 422.04901, major_axis_length = 174.08575, minor_axis_length = 85.92032, eccentricity = 0.86972, convex_area = 11832.00000, extent = 0.60902, type = O + area = 11428.00000, perimeter = 418.61499, major_axis_length = 168.17899, minor_axis_length = 87.29835, eccentricity = 0.85473, convex_area = 11589.00000, extent = 0.62829, type = O + area = 17180.00000, perimeter = 547.21503, major_axis_length = 238.43509, minor_axis_length = 93.01495, eccentricity = 0.92077, convex_area = 17517.00000, extent = 0.57221, type = C + area = 9967.00000, perimeter = 400.21899, major_axis_length = 167.23888, minor_axis_length = 76.96323, eccentricity = 0.88782, convex_area = 10128.00000, extent = 0.66464, type = O + area = 13970.00000, perimeter = 494.62900, major_axis_length = 210.52756, minor_axis_length = 85.43404, eccentricity = 0.91396, convex_area = 14308.00000, extent = 0.55054, type = C + area = 16608.00000, perimeter = 516.09198, major_axis_length = 207.67137, minor_axis_length = 103.35088, eccentricity = 0.86737, convex_area = 17111.00000, extent = 0.69676, type = C + area = 12489.00000, perimeter = 442.87000, major_axis_length = 176.24304, minor_axis_length = 91.78191, eccentricity = 0.85370, convex_area = 12812.00000, extent = 0.62100, type = O + area = 15153.00000, perimeter = 514.40399, major_axis_length = 218.09232, minor_axis_length = 90.05229, eccentricity = 0.91077, convex_area = 15628.00000, extent = 0.68085, type = C + area = 13385.00000, perimeter = 460.82501, major_axis_length = 192.64615, minor_axis_length = 89.71349, eccentricity = 0.88495, convex_area = 13595.00000, extent = 0.61275, type = C + area = 12345.00000, perimeter = 438.02499, major_axis_length = 177.27922, minor_axis_length = 89.73426, eccentricity = 0.86243, convex_area = 12586.00000, extent = 0.62141, type = O + area = 10937.00000, perimeter = 424.58600, major_axis_length = 177.16705, minor_axis_length = 79.75700, eccentricity = 0.89294, convex_area = 11103.00000, extent = 0.59521, type = C + area = 13949.00000, perimeter = 479.40201, major_axis_length = 200.09514, minor_axis_length = 90.09469, eccentricity = 0.89290, convex_area = 14286.00000, extent = 0.58155, type = C + area = 14482.00000, perimeter = 489.31799, major_axis_length = 205.38631, minor_axis_length = 90.80043, eccentricity = 0.89697, convex_area = 14781.00000, extent = 0.56890, type = C + area = 17564.00000, perimeter = 527.11603, major_axis_length = 221.60294, minor_axis_length = 101.65880, eccentricity = 0.88857, convex_area = 17808.00000, extent = 0.77116, type = C + area = 13205.00000, perimeter = 475.60001, major_axis_length = 197.54897, minor_axis_length = 86.34488, eccentricity = 0.89942, convex_area = 13607.00000, extent = 0.69111, type = C + area = 15809.00000, perimeter = 518.45502, major_axis_length = 221.07068, minor_axis_length = 92.23230, eccentricity = 0.90881, convex_area = 16079.00000, extent = 0.81481, type = C + area = 11274.00000, perimeter = 426.85001, major_axis_length = 177.39810, minor_axis_length = 82.00110, eccentricity = 0.88675, convex_area = 11539.00000, extent = 0.63533, type = O + area = 10589.00000, perimeter = 408.75601, major_axis_length = 167.88341, minor_axis_length = 81.03699, eccentricity = 0.87579, convex_area = 10775.00000, extent = 0.61794, type = O + area = 15764.00000, perimeter = 513.84399, major_axis_length = 212.16507, minor_axis_length = 95.95991, eccentricity = 0.89187, convex_area = 16258.00000, extent = 0.60470, type = C + area = 14828.00000, perimeter = 493.50000, major_axis_length = 209.90356, minor_axis_length = 90.66991, eccentricity = 0.90189, convex_area = 15090.00000, extent = 0.60651, type = C + area = 11682.00000, perimeter = 437.04001, major_axis_length = 176.23099, minor_axis_length = 86.32249, eccentricity = 0.87182, convex_area = 11969.00000, extent = 0.58119, type = O + area = 15488.00000, perimeter = 507.88300, major_axis_length = 206.63953, minor_axis_length = 96.87208, eccentricity = 0.88331, convex_area = 15968.00000, extent = 0.60255, type = C + area = 13133.00000, perimeter = 450.13199, major_axis_length = 179.15121, minor_axis_length = 94.11335, eccentricity = 0.85090, convex_area = 13351.00000, extent = 0.63530, type = O + area = 14458.00000, perimeter = 475.04401, major_axis_length = 196.98611, minor_axis_length = 93.99989, eccentricity = 0.87880, convex_area = 14669.00000, extent = 0.60189, type = C + area = 10852.00000, perimeter = 412.64001, major_axis_length = 168.35570, minor_axis_length = 83.54549, eccentricity = 0.86818, convex_area = 11028.00000, extent = 0.77848, type = O + area = 10335.00000, perimeter = 416.85001, major_axis_length = 178.79919, minor_axis_length = 74.70861, eccentricity = 0.90852, convex_area = 10504.00000, extent = 0.71153, type = O + area = 15189.00000, perimeter = 506.82199, major_axis_length = 209.18954, minor_axis_length = 93.61980, eccentricity = 0.89427, convex_area = 15629.00000, extent = 0.67408, type = C + area = 13722.00000, perimeter = 482.34299, major_axis_length = 202.27818, minor_axis_length = 87.75389, eccentricity = 0.90100, convex_area = 14189.00000, extent = 0.60567, type = C + area = 14482.00000, perimeter = 486.16299, major_axis_length = 201.81453, minor_axis_length = 92.54988, eccentricity = 0.88865, convex_area = 14825.00000, extent = 0.64256, type = C + area = 16146.00000, perimeter = 509.33200, major_axis_length = 213.62003, minor_axis_length = 96.64880, eccentricity = 0.89180, convex_area = 16404.00000, extent = 0.59676, type = C + area = 14398.00000, perimeter = 487.72400, major_axis_length = 210.09169, minor_axis_length = 87.59720, eccentricity = 0.90893, convex_area = 14654.00000, extent = 0.78532, type = C + area = 15226.00000, perimeter = 500.17001, major_axis_length = 205.31500, minor_axis_length = 96.17769, eccentricity = 0.88350, convex_area = 15594.00000, extent = 0.79343, type = C + area = 11481.00000, perimeter = 419.06699, major_axis_length = 170.32956, minor_axis_length = 86.68471, eccentricity = 0.86081, convex_area = 11674.00000, extent = 0.74167, type = O + area = 12907.00000, perimeter = 465.34201, major_axis_length = 195.65497, minor_axis_length = 84.88218, eccentricity = 0.90099, convex_area = 13151.00000, extent = 0.57334, type = C + area = 11485.00000, perimeter = 419.40500, major_axis_length = 175.86812, minor_axis_length = 83.69998, eccentricity = 0.87949, convex_area = 11610.00000, extent = 0.79985, type = O + area = 14229.00000, perimeter = 485.11899, major_axis_length = 206.59769, minor_axis_length = 88.72133, eccentricity = 0.90310, convex_area = 14455.00000, extent = 0.74517, type = C + area = 14833.00000, perimeter = 496.93600, major_axis_length = 209.31232, minor_axis_length = 91.47590, eccentricity = 0.89945, convex_area = 15072.00000, extent = 0.55675, type = C + area = 16053.00000, perimeter = 523.84003, major_axis_length = 220.91377, minor_axis_length = 93.89168, eccentricity = 0.90519, convex_area = 16496.00000, extent = 0.74797, type = C + area = 11811.00000, perimeter = 427.75101, major_axis_length = 170.10205, minor_axis_length = 89.35463, eccentricity = 0.85092, convex_area = 12066.00000, extent = 0.64541, type = O + area = 10458.00000, perimeter = 396.09201, major_axis_length = 161.55185, minor_axis_length = 83.17004, eccentricity = 0.85730, convex_area = 10642.00000, extent = 0.69558, type = O + area = 10539.00000, perimeter = 420.63699, major_axis_length = 174.81981, minor_axis_length = 77.63504, eccentricity = 0.89598, convex_area = 10775.00000, extent = 0.66271, type = O + area = 10497.00000, perimeter = 417.50601, major_axis_length = 169.24020, minor_axis_length = 80.12229, eccentricity = 0.88083, convex_area = 10753.00000, extent = 0.58162, type = O + area = 10236.00000, perimeter = 398.53799, major_axis_length = 160.84901, minor_axis_length = 82.49160, eccentricity = 0.85848, convex_area = 10392.00000, extent = 0.79565, type = O + area = 12019.00000, perimeter = 442.11200, major_axis_length = 183.98193, minor_axis_length = 84.30915, eccentricity = 0.88882, convex_area = 12290.00000, extent = 0.58007, type = O + area = 13455.00000, perimeter = 467.19800, major_axis_length = 195.92857, minor_axis_length = 88.51917, eccentricity = 0.89212, convex_area = 13723.00000, extent = 0.75353, type = C + area = 13132.00000, perimeter = 471.80399, major_axis_length = 199.55653, minor_axis_length = 84.98833, eccentricity = 0.90478, convex_area = 13423.00000, extent = 0.75367, type = C + area = 12181.00000, perimeter = 430.94901, major_axis_length = 177.65762, minor_axis_length = 87.49515, eccentricity = 0.87032, convex_area = 12353.00000, extent = 0.75658, type = O + area = 11485.00000, perimeter = 424.48801, major_axis_length = 175.31537, minor_axis_length = 84.48103, eccentricity = 0.87624, convex_area = 11688.00000, extent = 0.60626, type = O + area = 11960.00000, perimeter = 440.94199, major_axis_length = 182.05344, minor_axis_length = 84.72266, eccentricity = 0.88511, convex_area = 12191.00000, extent = 0.62651, type = O + area = 10190.00000, perimeter = 397.78601, major_axis_length = 161.47743, minor_axis_length = 81.71532, eccentricity = 0.86251, convex_area = 10476.00000, extent = 0.78627, type = O + area = 12091.00000, perimeter = 463.35101, major_axis_length = 203.59439, minor_axis_length = 76.65411, eccentricity = 0.92641, convex_area = 12298.00000, extent = 0.79306, type = C + area = 12403.00000, perimeter = 451.24399, major_axis_length = 194.00620, minor_axis_length = 82.41925, eccentricity = 0.90527, convex_area = 12596.00000, extent = 0.83069, type = C + area = 12096.00000, perimeter = 438.85699, major_axis_length = 179.34836, minor_axis_length = 86.96104, eccentricity = 0.87459, convex_area = 12333.00000, extent = 0.66109, type = O + area = 13589.00000, perimeter = 483.88400, major_axis_length = 205.35475, minor_axis_length = 85.41032, eccentricity = 0.90940, convex_area = 13883.00000, extent = 0.54574, type = C + area = 11069.00000, perimeter = 419.63800, major_axis_length = 170.60017, minor_axis_length = 83.60847, eccentricity = 0.87168, convex_area = 11333.00000, extent = 0.65930, type = O + area = 12417.00000, perimeter = 455.08301, major_axis_length = 187.29521, minor_axis_length = 85.61137, eccentricity = 0.88942, convex_area = 12851.00000, extent = 0.65876, type = C + area = 10897.00000, perimeter = 420.55499, major_axis_length = 168.11865, minor_axis_length = 83.56301, eccentricity = 0.86772, convex_area = 11174.00000, extent = 0.64085, type = O + area = 13655.00000, perimeter = 477.62601, major_axis_length = 203.95604, minor_axis_length = 86.22283, eccentricity = 0.90625, convex_area = 13857.00000, extent = 0.73783, type = C + area = 11883.00000, perimeter = 448.21600, major_axis_length = 191.74635, minor_axis_length = 79.46400, eccentricity = 0.91008, convex_area = 12103.00000, extent = 0.55032, type = C + area = 13072.00000, perimeter = 484.78799, major_axis_length = 206.88693, minor_axis_length = 81.92672, eccentricity = 0.91825, convex_area = 13593.00000, extent = 0.70416, type = C + area = 12346.00000, perimeter = 456.90500, major_axis_length = 193.61288, minor_axis_length = 82.03561, eccentricity = 0.90580, convex_area = 12529.00000, extent = 0.58673, type = C + area = 11312.00000, perimeter = 421.54599, major_axis_length = 168.25601, minor_axis_length = 87.21075, eccentricity = 0.85519, convex_area = 11622.00000, extent = 0.76921, type = O + area = 14345.00000, perimeter = 491.01901, major_axis_length = 207.21983, minor_axis_length = 88.91106, eccentricity = 0.90327, convex_area = 14650.00000, extent = 0.59262, type = C + area = 11782.00000, perimeter = 436.53400, major_axis_length = 183.45023, minor_axis_length = 82.57640, eccentricity = 0.89296, convex_area = 11985.00000, extent = 0.61403, type = O + area = 16253.00000, perimeter = 525.48199, major_axis_length = 218.52756, minor_axis_length = 95.91184, eccentricity = 0.89854, convex_area = 16690.00000, extent = 0.56797, type = C + area = 10546.00000, perimeter = 428.54501, major_axis_length = 179.59662, minor_axis_length = 77.14633, eccentricity = 0.90304, convex_area = 10893.00000, extent = 0.59764, type = O + area = 10628.00000, perimeter = 418.30399, major_axis_length = 171.82481, minor_axis_length = 80.32760, eccentricity = 0.88399, convex_area = 10828.00000, extent = 0.71506, type = O + area = 11748.00000, perimeter = 433.77100, major_axis_length = 178.33948, minor_axis_length = 85.62522, eccentricity = 0.87720, convex_area = 12053.00000, extent = 0.65296, type = O + area = 11771.00000, perimeter = 441.85999, major_axis_length = 186.99777, minor_axis_length = 81.26962, eccentricity = 0.90062, convex_area = 12109.00000, extent = 0.61927, type = C + area = 14104.00000, perimeter = 467.80099, major_axis_length = 189.49490, minor_axis_length = 95.64701, eccentricity = 0.86327, convex_area = 14409.00000, extent = 0.78970, type = O + area = 13746.00000, perimeter = 483.82001, major_axis_length = 205.84219, minor_axis_length = 86.18869, eccentricity = 0.90812, convex_area = 14060.00000, extent = 0.71594, type = C + area = 13501.00000, perimeter = 485.75601, major_axis_length = 205.77101, minor_axis_length = 84.90839, eccentricity = 0.91090, convex_area = 13896.00000, extent = 0.65852, type = C + area = 13010.00000, perimeter = 450.56100, major_axis_length = 186.14745, minor_axis_length = 90.26014, eccentricity = 0.87458, convex_area = 13184.00000, extent = 0.63337, type = O + area = 12683.00000, perimeter = 448.63699, major_axis_length = 186.15756, minor_axis_length = 87.55859, eccentricity = 0.88248, convex_area = 12847.00000, extent = 0.59095, type = O + area = 13494.00000, perimeter = 479.44601, major_axis_length = 203.02734, minor_axis_length = 85.75127, eccentricity = 0.90643, convex_area = 13842.00000, extent = 0.77294, type = C + area = 10948.00000, perimeter = 408.43900, major_axis_length = 167.17612, minor_axis_length = 83.68789, eccentricity = 0.86568, convex_area = 11132.00000, extent = 0.75467, type = O + area = 12557.00000, perimeter = 443.21899, major_axis_length = 175.59749, minor_axis_length = 92.33857, eccentricity = 0.85058, convex_area = 12860.00000, extent = 0.62287, type = C + area = 12279.00000, perimeter = 462.00601, major_axis_length = 197.84625, minor_axis_length = 80.54206, eccentricity = 0.91339, convex_area = 12619.00000, extent = 0.63694, type = C + area = 13059.00000, perimeter = 456.44101, major_axis_length = 185.98201, minor_axis_length = 90.20448, eccentricity = 0.87450, convex_area = 13339.00000, extent = 0.61944, type = C + area = 14106.00000, perimeter = 487.25201, major_axis_length = 209.56938, minor_axis_length = 86.55520, eccentricity = 0.91072, convex_area = 14348.00000, extent = 0.54271, type = C + area = 12712.00000, perimeter = 453.07999, major_axis_length = 192.81546, minor_axis_length = 84.60754, eccentricity = 0.89858, convex_area = 12891.00000, extent = 0.56877, type = O + area = 10810.00000, perimeter = 418.20499, major_axis_length = 173.54800, minor_axis_length = 80.10409, eccentricity = 0.88711, convex_area = 11047.00000, extent = 0.73522, type = O + area = 12267.00000, perimeter = 438.26401, major_axis_length = 175.59097, minor_axis_length = 90.18748, eccentricity = 0.85802, convex_area = 12519.00000, extent = 0.62408, type = O + area = 12184.00000, perimeter = 437.83899, major_axis_length = 180.10709, minor_axis_length = 87.29169, eccentricity = 0.87470, convex_area = 12398.00000, extent = 0.77373, type = O + area = 13650.00000, perimeter = 475.24200, major_axis_length = 199.32608, minor_axis_length = 87.97471, eccentricity = 0.89733, convex_area = 13859.00000, extent = 0.57214, type = C + area = 14677.00000, perimeter = 498.79800, major_axis_length = 209.87415, minor_axis_length = 90.27248, eccentricity = 0.90277, convex_area = 15060.00000, extent = 0.64785, type = C + area = 11935.00000, perimeter = 464.93301, major_axis_length = 196.53505, minor_axis_length = 79.72299, eccentricity = 0.91403, convex_area = 12358.00000, extent = 0.56663, type = C + area = 10499.00000, perimeter = 408.72900, major_axis_length = 165.55937, minor_axis_length = 82.35825, eccentricity = 0.86749, convex_area = 10785.00000, extent = 0.66131, type = O + area = 12613.00000, perimeter = 459.91299, major_axis_length = 193.37215, minor_axis_length = 84.31453, eccentricity = 0.89994, convex_area = 12937.00000, extent = 0.62789, type = O + area = 10665.00000, perimeter = 422.39999, major_axis_length = 176.84193, minor_axis_length = 77.75227, eccentricity = 0.89816, convex_area = 10884.00000, extent = 0.62987, type = O + area = 13434.00000, perimeter = 455.82300, major_axis_length = 184.17033, minor_axis_length = 93.38285, eccentricity = 0.86192, convex_area = 13686.00000, extent = 0.63584, type = C + area = 12593.00000, perimeter = 463.36899, major_axis_length = 195.75763, minor_axis_length = 83.07967, eccentricity = 0.90547, convex_area = 12907.00000, extent = 0.69775, type = C + area = 13853.00000, perimeter = 479.72299, major_axis_length = 193.40189, minor_axis_length = 92.85981, eccentricity = 0.87719, convex_area = 14338.00000, extent = 0.58637, type = C + area = 10296.00000, perimeter = 415.75101, major_axis_length = 172.33287, minor_axis_length = 77.06075, eccentricity = 0.89445, convex_area = 10514.00000, extent = 0.61089, type = O + area = 13410.00000, perimeter = 477.08499, major_axis_length = 195.79893, minor_axis_length = 88.77675, eccentricity = 0.89130, convex_area = 13842.00000, extent = 0.57234, type = C + area = 14852.00000, perimeter = 495.81699, major_axis_length = 205.71364, minor_axis_length = 92.94775, eccentricity = 0.89210, convex_area = 15202.00000, extent = 0.60130, type = C + area = 13509.00000, perimeter = 480.46600, major_axis_length = 207.13716, minor_axis_length = 83.94016, eccentricity = 0.91421, convex_area = 13732.00000, extent = 0.59563, type = C + area = 12994.00000, perimeter = 457.19000, major_axis_length = 187.33479, minor_axis_length = 89.40963, eccentricity = 0.87876, convex_area = 13335.00000, extent = 0.76359, type = O + area = 15967.00000, perimeter = 511.61499, major_axis_length = 211.69078, minor_axis_length = 96.97523, eccentricity = 0.88890, convex_area = 16329.00000, extent = 0.58668, type = C + area = 13681.00000, perimeter = 478.53799, major_axis_length = 202.76108, minor_axis_length = 87.02304, eccentricity = 0.90321, convex_area = 14015.00000, extent = 0.64194, type = C + area = 10713.00000, perimeter = 443.40399, major_axis_length = 192.88618, minor_axis_length = 71.78690, eccentricity = 0.92816, convex_area = 10969.00000, extent = 0.69610, type = O + area = 11458.00000, perimeter = 418.85999, major_axis_length = 169.07266, minor_axis_length = 87.52145, eccentricity = 0.85559, convex_area = 11668.00000, extent = 0.75780, type = O + area = 12375.00000, perimeter = 451.08099, major_axis_length = 185.78116, minor_axis_length = 86.23738, eccentricity = 0.88574, convex_area = 12755.00000, extent = 0.64974, type = C + area = 12377.00000, perimeter = 465.04700, major_axis_length = 197.08141, minor_axis_length = 81.92233, eccentricity = 0.90951, convex_area = 12669.00000, extent = 0.62968, type = C + area = 13422.00000, perimeter = 474.95499, major_axis_length = 196.45425, minor_axis_length = 88.85059, eccentricity = 0.89188, convex_area = 13817.00000, extent = 0.55981, type = C + area = 10594.00000, perimeter = 401.24399, major_axis_length = 167.18781, minor_axis_length = 81.09771, eccentricity = 0.87448, convex_area = 10738.00000, extent = 0.78778, type = O + area = 12582.00000, perimeter = 446.29001, major_axis_length = 180.48827, minor_axis_length = 89.40398, eccentricity = 0.86870, convex_area = 12801.00000, extent = 0.70338, type = O + area = 10866.00000, perimeter = 404.35800, major_axis_length = 163.93236, minor_axis_length = 85.32536, eccentricity = 0.85387, convex_area = 11039.00000, extent = 0.62867, type = O + area = 13115.00000, perimeter = 461.03601, major_axis_length = 195.01874, minor_axis_length = 86.78284, eccentricity = 0.89553, convex_area = 13381.00000, extent = 0.73846, type = C + area = 10908.00000, perimeter = 414.99701, major_axis_length = 174.44916, minor_axis_length = 80.56419, eccentricity = 0.88697, convex_area = 11062.00000, extent = 0.75498, type = O + area = 9335.00000, perimeter = 388.80600, major_axis_length = 160.15616, minor_axis_length = 75.16480, eccentricity = 0.88303, convex_area = 9536.00000, extent = 0.62333, type = O + area = 12612.00000, perimeter = 463.59500, major_axis_length = 197.68294, minor_axis_length = 82.37692, eccentricity = 0.90904, convex_area = 12919.00000, extent = 0.58405, type = C + area = 12818.00000, perimeter = 439.95200, major_axis_length = 179.20169, minor_axis_length = 91.86772, eccentricity = 0.85860, convex_area = 13005.00000, extent = 0.62582, type = O + area = 13104.00000, perimeter = 476.98901, major_axis_length = 202.42511, minor_axis_length = 83.61329, eccentricity = 0.91070, convex_area = 13464.00000, extent = 0.53882, type = C + area = 13950.00000, perimeter = 490.42700, major_axis_length = 209.65117, minor_axis_length = 85.35925, eccentricity = 0.91336, convex_area = 14158.00000, extent = 0.55030, type = O + area = 10663.00000, perimeter = 403.25500, major_axis_length = 163.93628, minor_axis_length = 83.74741, eccentricity = 0.85967, convex_area = 10884.00000, extent = 0.65217, type = O + area = 14932.00000, perimeter = 488.86499, major_axis_length = 203.93930, minor_axis_length = 94.11240, eccentricity = 0.88715, convex_area = 15200.00000, extent = 0.78162, type = O + area = 12192.00000, perimeter = 428.59299, major_axis_length = 172.94958, minor_axis_length = 90.53119, eccentricity = 0.85205, convex_area = 12383.00000, extent = 0.74052, type = O + area = 12730.00000, perimeter = 462.37000, major_axis_length = 192.69362, minor_axis_length = 85.33430, eccentricity = 0.89660, convex_area = 13160.00000, extent = 0.63371, type = O + area = 15178.00000, perimeter = 514.74200, major_axis_length = 219.33296, minor_axis_length = 89.01124, eccentricity = 0.91395, convex_area = 15638.00000, extent = 0.78757, type = C + area = 11280.00000, perimeter = 420.10101, major_axis_length = 170.67036, minor_axis_length = 85.49737, eccentricity = 0.86548, convex_area = 11582.00000, extent = 0.64317, type = O + area = 15292.00000, perimeter = 510.48300, major_axis_length = 219.65903, minor_axis_length = 89.13313, eccentricity = 0.91397, convex_area = 15511.00000, extent = 0.54319, type = C + area = 12734.00000, perimeter = 470.61401, major_axis_length = 204.40291, minor_axis_length = 80.16530, eccentricity = 0.91988, convex_area = 12982.00000, extent = 0.71459, type = C + area = 13964.00000, perimeter = 480.02600, major_axis_length = 199.82314, minor_axis_length = 90.06547, eccentricity = 0.89266, convex_area = 14298.00000, extent = 0.65775, type = C + area = 12962.00000, perimeter = 456.71399, major_axis_length = 185.99910, minor_axis_length = 90.16757, eccentricity = 0.87464, convex_area = 13224.00000, extent = 0.60837, type = O + area = 11303.00000, perimeter = 423.95499, major_axis_length = 173.83696, minor_axis_length = 83.37649, eccentricity = 0.87747, convex_area = 11527.00000, extent = 0.61968, type = O + area = 16678.00000, perimeter = 523.31000, major_axis_length = 216.89737, minor_axis_length = 99.04490, eccentricity = 0.88965, convex_area = 17089.00000, extent = 0.80345, type = C + area = 12590.00000, perimeter = 461.13699, major_axis_length = 195.53488, minor_axis_length = 82.96224, eccentricity = 0.90553, convex_area = 12915.00000, extent = 0.67601, type = C + area = 12093.00000, perimeter = 440.43799, major_axis_length = 176.48048, minor_axis_length = 88.96030, eccentricity = 0.86366, convex_area = 12421.00000, extent = 0.62226, type = O + area = 12244.00000, perimeter = 455.27499, major_axis_length = 192.50739, minor_axis_length = 81.42862, eccentricity = 0.90613, convex_area = 12480.00000, extent = 0.57524, type = C + area = 13484.00000, perimeter = 480.78601, major_axis_length = 204.20760, minor_axis_length = 84.90129, eccentricity = 0.90947, convex_area = 13827.00000, extent = 0.65856, type = C + area = 10838.00000, perimeter = 412.49100, major_axis_length = 165.19746, minor_axis_length = 84.85579, eccentricity = 0.85799, convex_area = 11167.00000, extent = 0.71832, type = O + area = 15218.00000, perimeter = 508.13599, major_axis_length = 214.27707, minor_axis_length = 91.71027, eccentricity = 0.90378, convex_area = 15685.00000, extent = 0.66801, type = C + area = 17135.00000, perimeter = 525.93799, major_axis_length = 217.72835, minor_axis_length = 101.15462, eccentricity = 0.88553, convex_area = 17471.00000, extent = 0.59373, type = C + area = 11332.00000, perimeter = 449.26001, major_axis_length = 194.78192, minor_axis_length = 75.36935, eccentricity = 0.92210, convex_area = 11671.00000, extent = 0.67368, type = C + area = 12655.00000, perimeter = 459.90500, major_axis_length = 192.99480, minor_axis_length = 84.90269, eccentricity = 0.89804, convex_area = 12959.00000, extent = 0.64533, type = C + area = 11150.00000, perimeter = 416.89899, major_axis_length = 168.02025, minor_axis_length = 85.60217, eccentricity = 0.86049, convex_area = 11420.00000, extent = 0.72572, type = O + area = 11320.00000, perimeter = 423.99200, major_axis_length = 173.09106, minor_axis_length = 84.60882, eccentricity = 0.87239, convex_area = 11556.00000, extent = 0.59894, type = O + area = 10783.00000, perimeter = 418.68100, major_axis_length = 171.36520, minor_axis_length = 82.12441, eccentricity = 0.87769, convex_area = 11133.00000, extent = 0.59345, type = O + area = 12881.00000, perimeter = 457.78400, major_axis_length = 192.62717, minor_axis_length = 86.60135, eccentricity = 0.89324, convex_area = 13109.00000, extent = 0.57203, type = O + area = 12637.00000, perimeter = 455.29099, major_axis_length = 187.80650, minor_axis_length = 86.84584, eccentricity = 0.88666, convex_area = 12958.00000, extent = 0.61734, type = O + area = 13014.00000, perimeter = 459.55701, major_axis_length = 193.65952, minor_axis_length = 86.19819, eccentricity = 0.89548, convex_area = 13253.00000, extent = 0.67507, type = C + area = 10492.00000, perimeter = 405.91000, major_axis_length = 162.79765, minor_axis_length = 83.49519, eccentricity = 0.85846, convex_area = 10888.00000, extent = 0.62913, type = O + area = 16037.00000, perimeter = 523.91400, major_axis_length = 223.02344, minor_axis_length = 92.54744, eccentricity = 0.90984, convex_area = 16404.00000, extent = 0.80105, type = C + area = 14913.00000, perimeter = 502.86801, major_axis_length = 215.60014, minor_axis_length = 88.82380, eccentricity = 0.91119, convex_area = 15300.00000, extent = 0.69273, type = C + area = 10912.00000, perimeter = 424.88199, major_axis_length = 171.86250, minor_axis_length = 81.76659, eccentricity = 0.87957, convex_area = 11282.00000, extent = 0.61276, type = O + area = 10167.00000, perimeter = 406.82599, major_axis_length = 160.96185, minor_axis_length = 82.92120, eccentricity = 0.85709, convex_area = 10479.00000, extent = 0.66503, type = O + area = 13520.00000, perimeter = 471.52899, major_axis_length = 195.30615, minor_axis_length = 89.44056, eccentricity = 0.88898, convex_area = 13950.00000, extent = 0.57013, type = C + area = 10815.00000, perimeter = 414.06201, major_axis_length = 171.35051, minor_axis_length = 80.88232, eccentricity = 0.88158, convex_area = 11015.00000, extent = 0.72765, type = O + area = 10346.00000, perimeter = 402.58099, major_axis_length = 167.27846, minor_axis_length = 79.82422, eccentricity = 0.87880, convex_area = 10479.00000, extent = 0.58972, type = O + area = 15593.00000, perimeter = 512.42798, major_axis_length = 216.61571, minor_axis_length = 92.91002, eccentricity = 0.90334, convex_area = 16050.00000, extent = 0.77747, type = C + area = 16258.00000, perimeter = 533.34100, major_axis_length = 229.11299, minor_axis_length = 91.12013, eccentricity = 0.91751, convex_area = 16705.00000, extent = 0.57082, type = C + area = 15830.00000, perimeter = 516.23199, major_axis_length = 220.81924, minor_axis_length = 92.34399, eccentricity = 0.90836, convex_area = 16074.00000, extent = 0.70144, type = C + area = 12845.00000, perimeter = 464.12100, major_axis_length = 194.33221, minor_axis_length = 85.52434, eccentricity = 0.89795, convex_area = 13125.00000, extent = 0.77496, type = O + area = 14868.00000, perimeter = 510.43399, major_axis_length = 219.33379, minor_axis_length = 88.03912, eccentricity = 0.91591, convex_area = 15190.00000, extent = 0.79670, type = C + area = 15815.00000, perimeter = 504.22400, major_axis_length = 214.65469, minor_axis_length = 94.98798, eccentricity = 0.89676, convex_area = 16059.00000, extent = 0.80978, type = C + area = 13880.00000, perimeter = 479.63599, major_axis_length = 203.02257, minor_axis_length = 87.37620, eccentricity = 0.90265, convex_area = 14160.00000, extent = 0.76825, type = O + area = 11239.00000, perimeter = 419.86200, major_axis_length = 170.46190, minor_axis_length = 85.56315, eccentricity = 0.86490, convex_area = 11609.00000, extent = 0.62252, type = O + area = 10889.00000, perimeter = 409.01700, major_axis_length = 165.91946, minor_axis_length = 84.85235, eccentricity = 0.85934, convex_area = 11123.00000, extent = 0.80480, type = O + area = 10365.00000, perimeter = 416.33899, major_axis_length = 169.58658, minor_axis_length = 79.64149, eccentricity = 0.88287, convex_area = 10684.00000, extent = 0.59296, type = O + area = 11939.00000, perimeter = 437.73300, major_axis_length = 178.89888, minor_axis_length = 86.44242, eccentricity = 0.87551, convex_area = 12204.00000, extent = 0.63900, type = O + area = 11107.00000, perimeter = 408.45801, major_axis_length = 162.17628, minor_axis_length = 87.87324, eccentricity = 0.84048, convex_area = 11330.00000, extent = 0.66113, type = O + area = 13487.00000, perimeter = 477.25400, major_axis_length = 205.04572, minor_axis_length = 84.28226, eccentricity = 0.91162, convex_area = 13772.00000, extent = 0.73736, type = C + area = 11422.00000, perimeter = 421.06500, major_axis_length = 169.54219, minor_axis_length = 87.03212, eccentricity = 0.85819, convex_area = 11669.00000, extent = 0.61182, type = O + area = 13429.00000, perimeter = 491.37701, major_axis_length = 208.90878, minor_axis_length = 83.84212, eccentricity = 0.91593, convex_area = 13837.00000, extent = 0.53307, type = C + area = 10380.00000, perimeter = 399.05301, major_axis_length = 161.87367, minor_axis_length = 82.76502, eccentricity = 0.85941, convex_area = 10606.00000, extent = 0.68596, type = O + area = 10201.00000, perimeter = 403.30701, major_axis_length = 166.23384, minor_axis_length = 78.98984, eccentricity = 0.87989, convex_area = 10432.00000, extent = 0.60971, type = O + area = 12919.00000, perimeter = 474.60101, major_axis_length = 207.93021, minor_axis_length = 79.46933, eccentricity = 0.92408, convex_area = 13187.00000, extent = 0.63378, type = C + area = 12546.00000, perimeter = 442.06601, major_axis_length = 184.26483, minor_axis_length = 87.30493, eccentricity = 0.88063, convex_area = 12744.00000, extent = 0.67890, type = O + area = 14195.00000, perimeter = 488.45999, major_axis_length = 203.51271, minor_axis_length = 89.95866, eccentricity = 0.89700, convex_area = 14555.00000, extent = 0.71735, type = C + area = 13982.00000, perimeter = 479.78500, major_axis_length = 204.54239, minor_axis_length = 88.27965, eccentricity = 0.90207, convex_area = 14221.00000, extent = 0.77291, type = C + area = 14277.00000, perimeter = 492.03101, major_axis_length = 213.29962, minor_axis_length = 85.51837, eccentricity = 0.91611, convex_area = 14481.00000, extent = 0.54252, type = C + area = 14753.00000, perimeter = 495.26001, major_axis_length = 203.72470, minor_axis_length = 93.18322, eccentricity = 0.88926, convex_area = 15153.00000, extent = 0.63465, type = O + area = 11470.00000, perimeter = 428.53601, major_axis_length = 177.71078, minor_axis_length = 82.36469, eccentricity = 0.88611, convex_area = 11663.00000, extent = 0.65156, type = O + area = 10227.00000, perimeter = 403.99899, major_axis_length = 164.80865, minor_axis_length = 80.21973, eccentricity = 0.87354, convex_area = 10496.00000, extent = 0.63060, type = O + area = 11480.00000, perimeter = 419.10699, major_axis_length = 170.62241, minor_axis_length = 86.62787, eccentricity = 0.86152, convex_area = 11674.00000, extent = 0.78544, type = O + area = 13620.00000, perimeter = 479.87701, major_axis_length = 203.39711, minor_axis_length = 86.37573, eccentricity = 0.90535, convex_area = 13987.00000, extent = 0.63577, type = C + area = 12406.00000, perimeter = 449.71399, major_axis_length = 188.50739, minor_axis_length = 84.51765, eccentricity = 0.89386, convex_area = 12602.00000, extent = 0.79833, type = O + area = 10919.00000, perimeter = 428.70200, major_axis_length = 182.93265, minor_axis_length = 77.90177, eccentricity = 0.90479, convex_area = 11162.00000, extent = 0.60905, type = O + area = 13289.00000, perimeter = 467.31500, major_axis_length = 194.88419, minor_axis_length = 87.81412, eccentricity = 0.89273, convex_area = 13628.00000, extent = 0.69540, type = C + area = 12081.00000, perimeter = 431.52100, major_axis_length = 173.52229, minor_axis_length = 89.55707, eccentricity = 0.85652, convex_area = 12315.00000, extent = 0.78043, type = O + area = 12188.00000, perimeter = 441.28299, major_axis_length = 181.47725, minor_axis_length = 86.31769, eccentricity = 0.87964, convex_area = 12364.00000, extent = 0.60146, type = O + area = 10035.00000, perimeter = 398.09698, major_axis_length = 162.66187, minor_axis_length = 79.64612, eccentricity = 0.87192, convex_area = 10236.00000, extent = 0.59807, type = O + area = 13762.00000, perimeter = 481.76999, major_axis_length = 205.04079, minor_axis_length = 86.93547, eccentricity = 0.90567, convex_area = 14101.00000, extent = 0.75549, type = C + area = 12415.00000, perimeter = 438.99600, major_axis_length = 181.10889, minor_axis_length = 88.23398, eccentricity = 0.87330, convex_area = 12586.00000, extent = 0.60162, type = O + area = 11568.00000, perimeter = 429.07300, major_axis_length = 178.33298, minor_axis_length = 83.63753, eccentricity = 0.88320, convex_area = 11790.00000, extent = 0.75122, type = O + area = 11277.00000, perimeter = 417.97699, major_axis_length = 166.91298, minor_axis_length = 87.66714, eccentricity = 0.85096, convex_area = 11597.00000, extent = 0.64260, type = O + area = 14053.00000, perimeter = 482.08401, major_axis_length = 204.37863, minor_axis_length = 88.23911, eccentricity = 0.90200, convex_area = 14316.00000, extent = 0.71335, type = C + area = 15475.00000, perimeter = 511.42700, major_axis_length = 219.14824, minor_axis_length = 91.46255, eccentricity = 0.90874, convex_area = 15759.00000, extent = 0.78874, type = C + area = 12161.00000, perimeter = 430.58701, major_axis_length = 171.62476, minor_axis_length = 92.09138, eccentricity = 0.84385, convex_area = 12460.00000, extent = 0.68870, type = O + area = 12416.00000, perimeter = 441.92801, major_axis_length = 175.21472, minor_axis_length = 91.56062, eccentricity = 0.85260, convex_area = 12738.00000, extent = 0.62917, type = O + area = 13704.00000, perimeter = 472.06100, major_axis_length = 191.96809, minor_axis_length = 92.88044, eccentricity = 0.87516, convex_area = 14102.00000, extent = 0.74742, type = O + area = 14732.00000, perimeter = 497.69400, major_axis_length = 207.46820, minor_axis_length = 91.29447, eccentricity = 0.89798, convex_area = 15000.00000, extent = 0.58037, type = C + area = 11443.00000, perimeter = 427.23099, major_axis_length = 176.98198, minor_axis_length = 82.91759, eccentricity = 0.88346, convex_area = 11618.00000, extent = 0.62898, type = O + area = 13683.00000, perimeter = 492.97501, major_axis_length = 213.90919, minor_axis_length = 83.12070, eccentricity = 0.92142, convex_area = 14070.00000, extent = 0.76127, type = C + area = 13787.00000, perimeter = 474.33801, major_axis_length = 194.69463, minor_axis_length = 91.07733, eccentricity = 0.88384, convex_area = 14075.00000, extent = 0.61618, type = C + area = 10918.00000, perimeter = 422.48901, major_axis_length = 176.80490, minor_axis_length = 79.60382, eccentricity = 0.89291, convex_area = 11118.00000, extent = 0.79886, type = O + area = 11392.00000, perimeter = 427.74500, major_axis_length = 174.02287, minor_axis_length = 84.52708, eccentricity = 0.87411, convex_area = 11609.00000, extent = 0.60256, type = O + area = 13022.00000, perimeter = 467.07700, major_axis_length = 194.75409, minor_axis_length = 86.67640, eccentricity = 0.89550, convex_area = 13355.00000, extent = 0.59625, type = C + area = 11339.00000, perimeter = 423.97000, major_axis_length = 171.70662, minor_axis_length = 85.35773, eccentricity = 0.86769, convex_area = 11531.00000, extent = 0.67919, type = O + area = 11741.00000, perimeter = 445.98001, major_axis_length = 184.41626, minor_axis_length = 82.47528, eccentricity = 0.89442, convex_area = 12215.00000, extent = 0.57039, type = O + area = 12526.00000, perimeter = 441.32999, major_axis_length = 179.24625, minor_axis_length = 90.15468, eccentricity = 0.86431, convex_area = 12768.00000, extent = 0.71889, type = O + area = 14440.00000, perimeter = 498.11899, major_axis_length = 210.27353, minor_axis_length = 88.98815, eccentricity = 0.90604, convex_area = 14918.00000, extent = 0.77630, type = C + area = 15694.00000, perimeter = 506.50601, major_axis_length = 211.83493, minor_axis_length = 96.02247, eccentricity = 0.89136, convex_area = 16010.00000, extent = 0.57654, type = C + area = 10951.00000, perimeter = 424.76901, major_axis_length = 179.13132, minor_axis_length = 78.75501, eccentricity = 0.89817, convex_area = 11138.00000, extent = 0.56726, type = O + area = 13413.00000, perimeter = 475.39001, major_axis_length = 196.85678, minor_axis_length = 87.78819, eccentricity = 0.89506, convex_area = 13917.00000, extent = 0.57101, type = C + area = 13699.00000, perimeter = 480.72900, major_axis_length = 197.97092, minor_axis_length = 89.94907, eccentricity = 0.89082, convex_area = 14178.00000, extent = 0.67205, type = C + area = 13923.00000, perimeter = 462.70001, major_axis_length = 189.52571, minor_axis_length = 94.52522, eccentricity = 0.86675, convex_area = 14186.00000, extent = 0.72995, type = O + area = 16258.00000, perimeter = 518.77002, major_axis_length = 214.28647, minor_axis_length = 97.37901, eccentricity = 0.89078, convex_area = 16551.00000, extent = 0.70758, type = C + area = 12104.00000, perimeter = 441.77499, major_axis_length = 182.46213, minor_axis_length = 85.51347, eccentricity = 0.88338, convex_area = 12378.00000, extent = 0.73913, type = C + area = 10152.00000, perimeter = 399.79700, major_axis_length = 162.20396, minor_axis_length = 80.65750, eccentricity = 0.86760, convex_area = 10393.00000, extent = 0.66128, type = O + area = 11695.00000, perimeter = 434.13400, major_axis_length = 183.09247, minor_axis_length = 82.14226, eccentricity = 0.89371, convex_area = 11845.00000, extent = 0.79884, type = O + area = 13662.00000, perimeter = 476.35300, major_axis_length = 204.18565, minor_axis_length = 85.61482, eccentricity = 0.90785, convex_area = 13894.00000, extent = 0.67417, type = C + area = 14715.00000, perimeter = 497.55701, major_axis_length = 212.03532, minor_axis_length = 89.50563, eccentricity = 0.90654, convex_area = 15094.00000, extent = 0.79489, type = C + area = 12544.00000, perimeter = 437.26901, major_axis_length = 175.67209, minor_axis_length = 91.52435, eccentricity = 0.85356, convex_area = 12753.00000, extent = 0.78814, type = O + area = 11130.00000, perimeter = 413.40900, major_axis_length = 168.74588, minor_axis_length = 85.28480, eccentricity = 0.86288, convex_area = 11320.00000, extent = 0.78880, type = O + area = 13321.00000, perimeter = 473.99301, major_axis_length = 199.27257, minor_axis_length = 85.92883, eccentricity = 0.90225, convex_area = 13758.00000, extent = 0.56457, type = C + area = 15319.00000, perimeter = 506.02499, major_axis_length = 208.22775, minor_axis_length = 94.83875, eccentricity = 0.89026, convex_area = 15813.00000, extent = 0.57370, type = C + area = 14031.00000, perimeter = 494.26501, major_axis_length = 213.70952, minor_axis_length = 84.46609, eccentricity = 0.91858, convex_area = 14265.00000, extent = 0.73886, type = C + area = 15198.00000, perimeter = 499.62601, major_axis_length = 210.63348, minor_axis_length = 92.94599, eccentricity = 0.89737, convex_area = 15521.00000, extent = 0.74610, type = C + area = 9212.00000, perimeter = 384.59601, major_axis_length = 155.83997, minor_axis_length = 76.30696, eccentricity = 0.87192, convex_area = 9453.00000, extent = 0.65965, type = O + area = 13095.00000, perimeter = 449.34601, major_axis_length = 180.78140, minor_axis_length = 92.73416, eccentricity = 0.85841, convex_area = 13294.00000, extent = 0.63723, type = O + area = 13283.00000, perimeter = 477.28900, major_axis_length = 198.27066, minor_axis_length = 86.35545, eccentricity = 0.90017, convex_area = 13616.00000, extent = 0.61113, type = C + area = 12184.00000, perimeter = 434.40799, major_axis_length = 181.74608, minor_axis_length = 85.97195, eccentricity = 0.88104, convex_area = 12336.00000, extent = 0.72871, type = O + area = 10702.00000, perimeter = 409.26599, major_axis_length = 160.70015, minor_axis_length = 85.87032, eccentricity = 0.84526, convex_area = 10990.00000, extent = 0.68603, type = O + area = 13340.00000, perimeter = 471.63901, major_axis_length = 197.41006, minor_axis_length = 87.42580, eccentricity = 0.89659, convex_area = 13712.00000, extent = 0.76561, type = C + area = 13443.00000, perimeter = 459.73099, major_axis_length = 188.01236, minor_axis_length = 92.69482, eccentricity = 0.87002, convex_area = 13707.00000, extent = 0.74201, type = O + area = 13806.00000, perimeter = 490.51001, major_axis_length = 209.72084, minor_axis_length = 85.13124, eccentricity = 0.91391, convex_area = 14284.00000, extent = 0.79587, type = C + area = 12988.00000, perimeter = 461.99100, major_axis_length = 188.77290, minor_axis_length = 88.50922, eccentricity = 0.88327, convex_area = 13259.00000, extent = 0.59515, type = C + area = 14035.00000, perimeter = 480.62900, major_axis_length = 199.14839, minor_axis_length = 91.41090, eccentricity = 0.88843, convex_area = 14422.00000, extent = 0.71629, type = C + area = 11268.00000, perimeter = 429.30701, major_axis_length = 171.26433, minor_axis_length = 85.81079, eccentricity = 0.86542, convex_area = 11576.00000, extent = 0.60865, type = O + area = 14975.00000, perimeter = 508.07800, major_axis_length = 212.55643, minor_axis_length = 91.27477, eccentricity = 0.90311, convex_area = 15482.00000, extent = 0.63138, type = C + area = 15460.00000, perimeter = 507.07700, major_axis_length = 213.57233, minor_axis_length = 93.55610, eccentricity = 0.89895, convex_area = 15819.00000, extent = 0.58221, type = C + area = 10588.00000, perimeter = 404.32401, major_axis_length = 163.66208, minor_axis_length = 83.96915, eccentricity = 0.85835, convex_area = 10756.00000, extent = 0.61487, type = O + area = 12085.00000, perimeter = 431.20801, major_axis_length = 168.88475, minor_axis_length = 92.54957, eccentricity = 0.83648, convex_area = 12279.00000, extent = 0.70258, type = O + area = 10979.00000, perimeter = 417.36301, major_axis_length = 175.87244, minor_axis_length = 80.27777, eccentricity = 0.88975, convex_area = 11146.00000, extent = 0.66685, type = O + area = 15907.00000, perimeter = 527.21100, major_axis_length = 224.25220, minor_axis_length = 91.44114, eccentricity = 0.91309, convex_area = 16206.00000, extent = 0.54767, type = C + area = 11545.00000, perimeter = 429.09799, major_axis_length = 176.99930, minor_axis_length = 84.10534, eccentricity = 0.87989, convex_area = 11816.00000, extent = 0.70586, type = O + area = 11264.00000, perimeter = 423.39099, major_axis_length = 172.13951, minor_axis_length = 84.22161, eccentricity = 0.87214, convex_area = 11476.00000, extent = 0.73243, type = O + area = 13929.00000, perimeter = 487.98199, major_axis_length = 202.95439, minor_axis_length = 87.97099, eccentricity = 0.90118, convex_area = 14266.00000, extent = 0.65533, type = C + area = 10989.00000, perimeter = 431.12399, major_axis_length = 180.48004, minor_axis_length = 78.81408, eccentricity = 0.89961, convex_area = 11268.00000, extent = 0.68596, type = O + area = 15285.00000, perimeter = 495.83899, major_axis_length = 206.33289, minor_axis_length = 94.79103, eccentricity = 0.88823, convex_area = 15517.00000, extent = 0.66887, type = C + area = 13814.00000, perimeter = 481.41599, major_axis_length = 203.06235, minor_axis_length = 87.31848, eccentricity = 0.90282, convex_area = 14112.00000, extent = 0.63747, type = C + area = 12567.00000, perimeter = 453.77200, major_axis_length = 192.22377, minor_axis_length = 83.54118, eccentricity = 0.90062, convex_area = 12778.00000, extent = 0.57536, type = O + area = 12317.00000, perimeter = 442.81000, major_axis_length = 179.33533, minor_axis_length = 88.76385, eccentricity = 0.86892, convex_area = 12589.00000, extent = 0.66061, type = O + area = 11075.00000, perimeter = 416.85001, major_axis_length = 165.29626, minor_axis_length = 86.27912, eccentricity = 0.85297, convex_area = 11315.00000, extent = 0.66127, type = O + area = 11377.00000, perimeter = 456.45401, major_axis_length = 200.84261, minor_axis_length = 72.35117, eccentricity = 0.93286, convex_area = 11573.00000, extent = 0.75225, type = C + area = 14520.00000, perimeter = 496.02100, major_axis_length = 208.42570, minor_axis_length = 90.74639, eccentricity = 0.90024, convex_area = 14930.00000, extent = 0.59096, type = C + area = 11968.00000, perimeter = 430.06699, major_axis_length = 170.00137, minor_axis_length = 90.97499, eccentricity = 0.84476, convex_area = 12252.00000, extent = 0.63983, type = O + area = 11475.00000, perimeter = 447.48099, major_axis_length = 185.65427, minor_axis_length = 80.18083, eccentricity = 0.90193, convex_area = 11818.00000, extent = 0.75893, type = O + area = 16454.00000, perimeter = 518.10901, major_axis_length = 217.09853, minor_axis_length = 97.78069, eccentricity = 0.89283, convex_area = 16893.00000, extent = 0.79719, type = C + area = 13726.00000, perimeter = 484.24701, major_axis_length = 209.70306, minor_axis_length = 83.88441, eccentricity = 0.91651, convex_area = 13969.00000, extent = 0.55560, type = C + area = 12831.00000, perimeter = 455.24200, major_axis_length = 187.26712, minor_axis_length = 88.07062, eccentricity = 0.88251, convex_area = 13084.00000, extent = 0.61652, type = O + area = 15241.00000, perimeter = 511.06100, major_axis_length = 215.36917, minor_axis_length = 91.27435, eccentricity = 0.90575, convex_area = 15604.00000, extent = 0.54323, type = C + area = 13445.00000, perimeter = 490.81500, major_axis_length = 216.17297, minor_axis_length = 79.60010, eccentricity = 0.92974, convex_area = 13640.00000, extent = 0.53544, type = C + area = 12031.00000, perimeter = 446.98999, major_axis_length = 178.58965, minor_axis_length = 88.84149, eccentricity = 0.86749, convex_area = 12425.00000, extent = 0.58045, type = O + area = 14518.00000, perimeter = 491.22198, major_axis_length = 203.76106, minor_axis_length = 92.34290, eccentricity = 0.89141, convex_area = 14877.00000, extent = 0.74132, type = C + area = 12140.00000, perimeter = 441.49899, major_axis_length = 182.43399, minor_axis_length = 85.49819, eccentricity = 0.88338, convex_area = 12358.00000, extent = 0.58961, type = O + area = 14202.00000, perimeter = 485.93799, major_axis_length = 202.61406, minor_axis_length = 90.65028, eccentricity = 0.89433, convex_area = 14640.00000, extent = 0.56177, type = C + area = 12663.00000, perimeter = 441.28799, major_axis_length = 180.87674, minor_axis_length = 89.98505, eccentricity = 0.86747, convex_area = 12833.00000, extent = 0.71644, type = O + area = 11944.00000, perimeter = 424.54700, major_axis_length = 171.61552, minor_axis_length = 89.76214, eccentricity = 0.85231, convex_area = 12177.00000, extent = 0.62721, type = O + area = 15077.00000, perimeter = 504.63699, major_axis_length = 212.94246, minor_axis_length = 91.21267, eccentricity = 0.90362, convex_area = 15404.00000, extent = 0.78649, type = C + area = 14061.00000, perimeter = 470.74899, major_axis_length = 190.29001, minor_axis_length = 95.00540, eccentricity = 0.86645, convex_area = 14347.00000, extent = 0.61801, type = C + area = 10584.00000, perimeter = 437.04800, major_axis_length = 188.44142, minor_axis_length = 72.54809, eccentricity = 0.92292, convex_area = 10936.00000, extent = 0.55805, type = O + area = 10623.00000, perimeter = 423.02301, major_axis_length = 175.03427, minor_axis_length = 78.42091, eccentricity = 0.89402, convex_area = 10897.00000, extent = 0.58730, type = O + area = 11715.00000, perimeter = 439.70300, major_axis_length = 183.22273, minor_axis_length = 82.48322, eccentricity = 0.89294, convex_area = 11948.00000, extent = 0.60449, type = O + area = 13688.00000, perimeter = 481.31400, major_axis_length = 204.30884, minor_axis_length = 86.37804, eccentricity = 0.90623, convex_area = 14024.00000, extent = 0.78939, type = C + area = 12765.00000, perimeter = 460.34601, major_axis_length = 196.39055, minor_axis_length = 83.89897, eccentricity = 0.90415, convex_area = 13139.00000, extent = 0.57435, type = C + area = 9405.00000, perimeter = 389.77499, major_axis_length = 162.36823, minor_axis_length = 74.43763, eccentricity = 0.88872, convex_area = 9594.00000, extent = 0.60764, type = O + area = 15199.00000, perimeter = 489.54401, major_axis_length = 205.31573, minor_axis_length = 94.80870, eccentricity = 0.88700, convex_area = 15419.00000, extent = 0.76400, type = C + area = 13734.00000, perimeter = 487.84000, major_axis_length = 213.24744, minor_axis_length = 83.18277, eccentricity = 0.92078, convex_area = 13941.00000, extent = 0.80523, type = C + area = 14250.00000, perimeter = 486.12399, major_axis_length = 201.21893, minor_axis_length = 91.93982, eccentricity = 0.88951, convex_area = 14636.00000, extent = 0.59368, type = C + area = 13415.00000, perimeter = 470.35501, major_axis_length = 197.02994, minor_axis_length = 87.65263, eccentricity = 0.89560, convex_area = 13629.00000, extent = 0.58225, type = C + area = 11667.00000, perimeter = 447.52499, major_axis_length = 186.67125, minor_axis_length = 80.84287, eccentricity = 0.90136, convex_area = 12039.00000, extent = 0.66730, type = C + area = 14980.00000, perimeter = 503.81699, major_axis_length = 214.18651, minor_axis_length = 89.89458, eccentricity = 0.90766, convex_area = 15361.00000, extent = 0.73540, type = C + area = 13637.00000, perimeter = 482.51099, major_axis_length = 205.19894, minor_axis_length = 85.42422, eccentricity = 0.90923, convex_area = 13952.00000, extent = 0.55661, type = C + area = 12990.00000, perimeter = 469.48001, major_axis_length = 200.51541, minor_axis_length = 83.43035, eccentricity = 0.90933, convex_area = 13214.00000, extent = 0.70121, type = C + area = 16588.00000, perimeter = 531.39502, major_axis_length = 221.88550, minor_axis_length = 96.65257, eccentricity = 0.90014, convex_area = 16854.00000, extent = 0.57899, type = C + area = 11385.00000, perimeter = 419.01001, major_axis_length = 163.70387, minor_axis_length = 89.73259, eccentricity = 0.83639, convex_area = 11767.00000, extent = 0.64018, type = O + area = 17048.00000, perimeter = 525.53802, major_axis_length = 219.48859, minor_axis_length = 99.73430, eccentricity = 0.89080, convex_area = 17318.00000, extent = 0.69233, type = C + area = 12598.00000, perimeter = 466.83701, major_axis_length = 199.03914, minor_axis_length = 81.86655, eccentricity = 0.91150, convex_area = 13072.00000, extent = 0.57541, type = C + area = 13172.00000, perimeter = 450.29001, major_axis_length = 178.61812, minor_axis_length = 95.82072, eccentricity = 0.84393, convex_area = 13499.00000, extent = 0.63633, type = O + area = 13787.00000, perimeter = 476.89600, major_axis_length = 201.33832, minor_axis_length = 88.16448, eccentricity = 0.89903, convex_area = 14045.00000, extent = 0.57599, type = C + area = 11681.00000, perimeter = 431.22800, major_axis_length = 183.79639, minor_axis_length = 81.16801, eccentricity = 0.89720, convex_area = 11857.00000, extent = 0.59114, type = O + area = 12678.00000, perimeter = 452.92599, major_axis_length = 190.83859, minor_axis_length = 85.65090, eccentricity = 0.89363, convex_area = 12930.00000, extent = 0.63953, type = O + area = 15746.00000, perimeter = 503.23099, major_axis_length = 204.87444, minor_axis_length = 99.44871, eccentricity = 0.87428, convex_area = 16171.00000, extent = 0.75304, type = C + area = 14274.00000, perimeter = 499.08801, major_axis_length = 214.40253, minor_axis_length = 85.24677, eccentricity = 0.91756, convex_area = 14559.00000, extent = 0.65673, type = C + area = 16051.00000, perimeter = 516.17401, major_axis_length = 214.87718, minor_axis_length = 96.84511, eccentricity = 0.89268, convex_area = 16479.00000, extent = 0.67964, type = C + area = 10650.00000, perimeter = 407.16101, major_axis_length = 165.62000, minor_axis_length = 83.14749, eccentricity = 0.86485, convex_area = 10851.00000, extent = 0.61550, type = O + area = 11318.00000, perimeter = 427.75601, major_axis_length = 175.57466, minor_axis_length = 83.88063, eccentricity = 0.87850, convex_area = 11628.00000, extent = 0.58948, type = O + area = 13439.00000, perimeter = 477.75000, major_axis_length = 199.38161, minor_axis_length = 87.62737, eccentricity = 0.89824, convex_area = 13852.00000, extent = 0.75124, type = C + area = 13118.00000, perimeter = 480.08600, major_axis_length = 207.10904, minor_axis_length = 81.70571, eccentricity = 0.91889, convex_area = 13652.00000, extent = 0.56877, type = C + area = 15249.00000, perimeter = 506.04999, major_axis_length = 212.09094, minor_axis_length = 92.49422, eccentricity = 0.89990, convex_area = 15582.00000, extent = 0.78304, type = C + area = 9933.00000, perimeter = 397.72000, major_axis_length = 160.85063, minor_axis_length = 79.78277, eccentricity = 0.86832, convex_area = 10161.00000, extent = 0.70637, type = O + area = 13148.00000, perimeter = 481.72198, major_axis_length = 201.51889, minor_axis_length = 84.54153, eccentricity = 0.90775, convex_area = 13572.00000, extent = 0.62375, type = C + area = 13196.00000, perimeter = 474.98801, major_axis_length = 199.98131, minor_axis_length = 85.65816, eccentricity = 0.90362, convex_area = 13463.00000, extent = 0.55646, type = C + area = 15613.00000, perimeter = 509.76099, major_axis_length = 210.27808, minor_axis_length = 96.02433, eccentricity = 0.88964, convex_area = 15975.00000, extent = 0.57260, type = C + area = 11470.00000, perimeter = 426.62500, major_axis_length = 175.59566, minor_axis_length = 83.90218, eccentricity = 0.87846, convex_area = 11719.00000, extent = 0.73225, type = O + area = 13109.00000, perimeter = 457.17001, major_axis_length = 195.07042, minor_axis_length = 86.00751, eccentricity = 0.89755, convex_area = 13271.00000, extent = 0.59927, type = O + area = 13683.00000, perimeter = 490.79300, major_axis_length = 210.28197, minor_axis_length = 84.04502, eccentricity = 0.91666, convex_area = 14187.00000, extent = 0.77393, type = C + area = 13201.00000, perimeter = 461.51901, major_axis_length = 192.88509, minor_axis_length = 87.83331, eccentricity = 0.89030, convex_area = 13408.00000, extent = 0.63491, type = C + area = 12587.00000, perimeter = 451.17200, major_axis_length = 185.70013, minor_axis_length = 87.76485, eccentricity = 0.88127, convex_area = 12941.00000, extent = 0.69804, type = O + area = 17442.00000, perimeter = 539.77600, major_axis_length = 228.59348, minor_axis_length = 98.19205, eccentricity = 0.90304, convex_area = 17698.00000, extent = 0.57625, type = C + area = 14349.00000, perimeter = 496.94601, major_axis_length = 213.54402, minor_axis_length = 86.16077, eccentricity = 0.91499, convex_area = 14678.00000, extent = 0.66684, type = C + area = 13584.00000, perimeter = 478.05701, major_axis_length = 203.83694, minor_axis_length = 85.42742, eccentricity = 0.90794, convex_area = 13877.00000, extent = 0.67633, type = C + area = 16436.00000, perimeter = 529.86298, major_axis_length = 230.93105, minor_axis_length = 91.06519, eccentricity = 0.91896, convex_area = 16648.00000, extent = 0.63410, type = C + area = 14674.00000, perimeter = 497.10300, major_axis_length = 208.43646, minor_axis_length = 91.08699, eccentricity = 0.89946, convex_area = 15049.00000, extent = 0.68229, type = C + area = 13186.00000, perimeter = 477.33401, major_axis_length = 201.59677, minor_axis_length = 84.66999, eccentricity = 0.90753, convex_area = 13516.00000, extent = 0.54183, type = C + area = 13930.00000, perimeter = 484.86200, major_axis_length = 205.27246, minor_axis_length = 87.23549, eccentricity = 0.90521, convex_area = 14330.00000, extent = 0.79943, type = C + area = 11995.00000, perimeter = 477.41101, major_axis_length = 216.48775, minor_axis_length = 70.77008, eccentricity = 0.94506, convex_area = 12168.00000, extent = 0.66606, type = C + area = 12587.00000, perimeter = 461.78101, major_axis_length = 193.99495, minor_axis_length = 83.73389, eccentricity = 0.90205, convex_area = 12910.00000, extent = 0.66952, type = O + area = 11937.00000, perimeter = 427.33499, major_axis_length = 172.93164, minor_axis_length = 88.59191, eccentricity = 0.85881, convex_area = 12111.00000, extent = 0.77232, type = O + area = 10928.00000, perimeter = 408.86301, major_axis_length = 168.12872, minor_axis_length = 83.06418, eccentricity = 0.86943, convex_area = 11113.00000, extent = 0.62686, type = O + area = 13457.00000, perimeter = 483.61401, major_axis_length = 211.01250, minor_axis_length = 81.87440, eccentricity = 0.92166, convex_area = 13763.00000, extent = 0.67312, type = C + area = 15725.00000, perimeter = 515.25800, major_axis_length = 221.66010, minor_axis_length = 91.23172, eccentricity = 0.91137, convex_area = 16027.00000, extent = 0.60049, type = C + area = 16412.00000, perimeter = 515.11499, major_axis_length = 208.69455, minor_axis_length = 101.94176, eccentricity = 0.87258, convex_area = 16857.00000, extent = 0.77379, type = C + area = 9577.00000, perimeter = 404.54401, major_axis_length = 166.90076, minor_axis_length = 74.35096, eccentricity = 0.89529, convex_area = 9855.00000, extent = 0.61226, type = O + area = 14019.00000, perimeter = 482.45401, major_axis_length = 197.19820, minor_axis_length = 92.67004, eccentricity = 0.88270, convex_area = 14411.00000, extent = 0.57615, type = C + area = 13234.00000, perimeter = 472.35001, major_axis_length = 198.57501, minor_axis_length = 86.26437, eccentricity = 0.90071, convex_area = 13512.00000, extent = 0.74265, type = C + area = 15166.00000, perimeter = 502.16501, major_axis_length = 214.13986, minor_axis_length = 91.38511, eccentricity = 0.90437, convex_area = 15475.00000, extent = 0.79486, type = C + area = 14887.00000, perimeter = 493.04501, major_axis_length = 199.16492, minor_axis_length = 96.69370, eccentricity = 0.87424, convex_area = 15347.00000, extent = 0.61713, type = C + area = 13377.00000, perimeter = 472.96100, major_axis_length = 199.94078, minor_axis_length = 86.68287, eccentricity = 0.90113, convex_area = 13685.00000, extent = 0.79483, type = C + area = 11323.00000, perimeter = 420.05801, major_axis_length = 169.97678, minor_axis_length = 86.36137, eccentricity = 0.86131, convex_area = 11586.00000, extent = 0.71919, type = O + area = 12326.00000, perimeter = 444.06699, major_axis_length = 181.01143, minor_axis_length = 87.66717, eccentricity = 0.87489, convex_area = 12597.00000, extent = 0.67080, type = O + area = 15513.00000, perimeter = 522.50403, major_axis_length = 224.27583, minor_axis_length = 89.01466, eccentricity = 0.91786, convex_area = 15967.00000, extent = 0.56617, type = C + area = 10000.00000, perimeter = 415.27399, major_axis_length = 180.15187, minor_axis_length = 71.01284, eccentricity = 0.91903, convex_area = 10176.00000, extent = 0.54283, type = O + area = 15232.00000, perimeter = 508.81699, major_axis_length = 216.76291, minor_axis_length = 90.63309, eccentricity = 0.90839, convex_area = 15603.00000, extent = 0.59082, type = C + area = 10891.00000, perimeter = 406.57101, major_axis_length = 159.86882, minor_axis_length = 87.57321, eccentricity = 0.83662, convex_area = 11103.00000, extent = 0.67596, type = O + area = 14106.00000, perimeter = 485.57999, major_axis_length = 199.92107, minor_axis_length = 91.59042, eccentricity = 0.88888, convex_area = 14515.00000, extent = 0.57623, type = C + area = 11322.00000, perimeter = 435.20099, major_axis_length = 180.42850, minor_axis_length = 82.20979, eccentricity = 0.89017, convex_area = 11650.00000, extent = 0.65941, type = O + area = 12573.00000, perimeter = 444.96100, major_axis_length = 180.37151, minor_axis_length = 89.74239, eccentricity = 0.86744, convex_area = 12827.00000, extent = 0.66292, type = O + area = 14131.00000, perimeter = 490.70099, major_axis_length = 206.92667, minor_axis_length = 88.28405, eccentricity = 0.90442, convex_area = 14519.00000, extent = 0.75293, type = C + area = 11697.00000, perimeter = 424.14801, major_axis_length = 170.55209, minor_axis_length = 88.91115, eccentricity = 0.85337, convex_area = 11939.00000, extent = 0.62725, type = O + area = 10392.00000, perimeter = 416.48901, major_axis_length = 177.36635, minor_axis_length = 75.56695, eccentricity = 0.90470, convex_area = 10559.00000, extent = 0.56246, type = O + area = 11220.00000, perimeter = 418.54901, major_axis_length = 172.75803, minor_axis_length = 83.32672, eccentricity = 0.87599, convex_area = 11380.00000, extent = 0.60662, type = O + area = 12071.00000, perimeter = 438.70001, major_axis_length = 178.78461, minor_axis_length = 87.50312, eccentricity = 0.87204, convex_area = 12437.00000, extent = 0.64537, type = O + area = 10231.00000, perimeter = 404.36401, major_axis_length = 159.63927, minor_axis_length = 82.99383, eccentricity = 0.85424, convex_area = 10640.00000, extent = 0.62999, type = O + area = 12915.00000, perimeter = 456.14499, major_axis_length = 181.74844, minor_axis_length = 92.09657, eccentricity = 0.86211, convex_area = 13284.00000, extent = 0.60600, type = O + area = 10851.00000, perimeter = 408.92999, major_axis_length = 168.00822, minor_axis_length = 83.32895, eccentricity = 0.86833, convex_area = 11007.00000, extent = 0.61555, type = O + area = 15926.00000, perimeter = 522.73999, major_axis_length = 225.73605, minor_axis_length = 91.05709, eccentricity = 0.91503, convex_area = 16240.00000, extent = 0.77977, type = C + area = 13491.00000, perimeter = 475.34500, major_axis_length = 198.66234, minor_axis_length = 87.65083, eccentricity = 0.89741, convex_area = 13812.00000, extent = 0.69883, type = C + area = 13540.00000, perimeter = 458.53000, major_axis_length = 189.11140, minor_axis_length = 92.39391, eccentricity = 0.87253, convex_area = 13710.00000, extent = 0.79995, type = C + area = 11747.00000, perimeter = 452.12701, major_axis_length = 194.49486, minor_axis_length = 78.74446, eccentricity = 0.91438, convex_area = 11935.00000, extent = 0.54264, type = C + area = 13485.00000, perimeter = 471.57001, major_axis_length = 198.27264, minor_axis_length = 87.72729, eccentricity = 0.89679, convex_area = 13734.00000, extent = 0.57232, type = C + area = 14998.00000, perimeter = 496.90399, major_axis_length = 215.95027, minor_axis_length = 89.39609, eccentricity = 0.91029, convex_area = 15279.00000, extent = 0.82484, type = C + area = 11034.00000, perimeter = 414.50101, major_axis_length = 169.08015, minor_axis_length = 84.23166, eccentricity = 0.86708, convex_area = 11256.00000, extent = 0.76817, type = O + area = 14300.00000, perimeter = 504.37701, major_axis_length = 212.59837, minor_axis_length = 87.49030, eccentricity = 0.91140, convex_area = 14772.00000, extent = 0.54044, type = C + area = 15344.00000, perimeter = 501.79999, major_axis_length = 212.42270, minor_axis_length = 92.96140, eccentricity = 0.89916, convex_area = 15604.00000, extent = 0.79420, type = C + area = 14589.00000, perimeter = 495.92999, major_axis_length = 210.28394, minor_axis_length = 89.42495, eccentricity = 0.90507, convex_area = 14853.00000, extent = 0.66510, type = C + area = 14283.00000, perimeter = 482.69800, major_axis_length = 202.36563, minor_axis_length = 90.61389, eccentricity = 0.89415, convex_area = 14595.00000, extent = 0.63650, type = C + area = 12799.00000, perimeter = 443.41699, major_axis_length = 175.32970, minor_axis_length = 94.25945, eccentricity = 0.84319, convex_area = 13066.00000, extent = 0.63161, type = O + area = 14950.00000, perimeter = 496.88400, major_axis_length = 207.82280, minor_axis_length = 93.10914, eccentricity = 0.89402, convex_area = 15422.00000, extent = 0.57932, type = C + area = 15454.00000, perimeter = 500.89700, major_axis_length = 208.54160, minor_axis_length = 95.32327, eccentricity = 0.88942, convex_area = 15773.00000, extent = 0.58343, type = C + area = 10427.00000, perimeter = 398.69199, major_axis_length = 161.21680, minor_axis_length = 83.80956, eccentricity = 0.85425, convex_area = 10639.00000, extent = 0.62844, type = O + area = 11548.00000, perimeter = 433.51300, major_axis_length = 176.97809, minor_axis_length = 84.34711, eccentricity = 0.87912, convex_area = 11821.00000, extent = 0.68816, type = O + area = 13277.00000, perimeter = 486.95599, major_axis_length = 201.83914, minor_axis_length = 85.25986, eccentricity = 0.90640, convex_area = 13771.00000, extent = 0.61105, type = C + area = 13130.00000, perimeter = 463.27802, major_axis_length = 184.31396, minor_axis_length = 91.93474, eccentricity = 0.86672, convex_area = 13485.00000, extent = 0.71038, type = O + area = 14870.00000, perimeter = 506.56100, major_axis_length = 214.93123, minor_axis_length = 89.40025, eccentricity = 0.90939, convex_area = 15202.00000, extent = 0.57973, type = C + area = 14851.00000, perimeter = 512.31897, major_axis_length = 218.00836, minor_axis_length = 88.49667, eccentricity = 0.91390, convex_area = 15556.00000, extent = 0.71775, type = C + area = 12840.00000, perimeter = 470.09601, major_axis_length = 199.26149, minor_axis_length = 82.79353, eccentricity = 0.90959, convex_area = 13072.00000, extent = 0.55787, type = O + area = 10192.00000, perimeter = 404.18201, major_axis_length = 171.13255, minor_axis_length = 76.47445, eccentricity = 0.89460, convex_area = 10346.00000, extent = 0.61059, type = O + area = 10873.00000, perimeter = 416.04099, major_axis_length = 170.91298, minor_axis_length = 82.10006, eccentricity = 0.87707, convex_area = 11085.00000, extent = 0.64536, type = O + area = 14138.00000, perimeter = 490.83401, major_axis_length = 206.18085, minor_axis_length = 89.36728, eccentricity = 0.90118, convex_area = 14523.00000, extent = 0.76257, type = C + area = 14471.00000, perimeter = 503.67401, major_axis_length = 207.92873, minor_axis_length = 90.16022, eccentricity = 0.90110, convex_area = 14894.00000, extent = 0.55495, type = C + area = 14910.00000, perimeter = 511.60001, major_axis_length = 221.61229, minor_axis_length = 86.21699, eccentricity = 0.92122, convex_area = 15215.00000, extent = 0.69964, type = C + area = 13902.00000, perimeter = 479.23199, major_axis_length = 201.11488, minor_axis_length = 89.12859, eccentricity = 0.89644, convex_area = 14202.00000, extent = 0.69870, type = C + area = 11808.00000, perimeter = 431.45700, major_axis_length = 176.30458, minor_axis_length = 85.55895, eccentricity = 0.87435, convex_area = 12006.00000, extent = 0.61835, type = O + area = 11852.00000, perimeter = 446.07700, major_axis_length = 192.05428, minor_axis_length = 79.09919, eccentricity = 0.91125, convex_area = 12029.00000, extent = 0.71700, type = C + area = 14944.00000, perimeter = 500.23801, major_axis_length = 209.55765, minor_axis_length = 91.52841, eccentricity = 0.89957, convex_area = 15255.00000, extent = 0.62896, type = C + area = 12942.00000, perimeter = 441.74399, major_axis_length = 175.55925, minor_axis_length = 95.28501, eccentricity = 0.83989, convex_area = 13310.00000, extent = 0.70169, type = O + area = 11366.00000, perimeter = 431.93600, major_axis_length = 179.07126, minor_axis_length = 81.93755, eccentricity = 0.88917, convex_area = 11737.00000, extent = 0.60635, type = O + area = 10250.00000, perimeter = 407.28900, major_axis_length = 165.72189, minor_axis_length = 79.96314, eccentricity = 0.87589, convex_area = 10512.00000, extent = 0.72234, type = O + area = 11619.00000, perimeter = 447.31699, major_axis_length = 193.12086, minor_axis_length = 77.05213, eccentricity = 0.91696, convex_area = 11811.00000, extent = 0.66455, type = O + area = 14304.00000, perimeter = 489.03699, major_axis_length = 211.02661, minor_axis_length = 86.83942, eccentricity = 0.91141, convex_area = 14483.00000, extent = 0.57773, type = C + area = 13080.00000, perimeter = 474.26001, major_axis_length = 198.95737, minor_axis_length = 84.75006, eccentricity = 0.90474, convex_area = 13511.00000, extent = 0.70277, type = C + area = 14159.00000, perimeter = 489.43600, major_axis_length = 209.13132, minor_axis_length = 87.11465, eccentricity = 0.90911, convex_area = 14410.00000, extent = 0.54795, type = C + area = 13132.00000, perimeter = 480.01901, major_axis_length = 199.25293, minor_axis_length = 85.41972, eccentricity = 0.90345, convex_area = 13594.00000, extent = 0.58091, type = C + area = 11973.00000, perimeter = 436.18301, major_axis_length = 177.13417, minor_axis_length = 87.45832, eccentricity = 0.86961, convex_area = 12197.00000, extent = 0.59889, type = O + area = 14070.00000, perimeter = 484.21600, major_axis_length = 203.28004, minor_axis_length = 89.09188, eccentricity = 0.89884, convex_area = 14448.00000, extent = 0.56734, type = C + area = 13724.00000, perimeter = 468.57199, major_axis_length = 191.87160, minor_axis_length = 92.48851, eccentricity = 0.87615, convex_area = 14048.00000, extent = 0.74072, type = C + area = 15904.00000, perimeter = 511.02200, major_axis_length = 214.35056, minor_axis_length = 96.21210, eccentricity = 0.89361, convex_area = 16248.00000, extent = 0.71785, type = C + area = 15133.00000, perimeter = 503.21899, major_axis_length = 216.57503, minor_axis_length = 89.47614, eccentricity = 0.91067, convex_area = 15359.00000, extent = 0.59261, type = C + area = 15303.00000, perimeter = 505.92801, major_axis_length = 209.61992, minor_axis_length = 94.15701, eccentricity = 0.89344, convex_area = 15746.00000, extent = 0.62461, type = C + area = 13446.00000, perimeter = 475.12799, major_axis_length = 198.69955, minor_axis_length = 87.37930, eccentricity = 0.89812, convex_area = 13765.00000, extent = 0.57572, type = C + area = 15369.00000, perimeter = 499.26599, major_axis_length = 205.87529, minor_axis_length = 95.93622, eccentricity = 0.88479, convex_area = 15666.00000, extent = 0.61604, type = C + area = 12158.00000, perimeter = 447.37701, major_axis_length = 184.09531, minor_axis_length = 84.91306, eccentricity = 0.88727, convex_area = 12467.00000, extent = 0.63158, type = C + area = 13455.00000, perimeter = 468.86200, major_axis_length = 196.68491, minor_axis_length = 87.98445, eccentricity = 0.89437, convex_area = 13730.00000, extent = 0.65494, type = C + area = 11469.00000, perimeter = 429.85800, major_axis_length = 175.50995, minor_axis_length = 85.11320, eccentricity = 0.87454, convex_area = 11709.00000, extent = 0.78922, type = O + area = 16063.00000, perimeter = 520.74500, major_axis_length = 217.91382, minor_axis_length = 95.20047, eccentricity = 0.89952, convex_area = 16561.00000, extent = 0.55676, type = C + area = 12743.00000, perimeter = 435.81799, major_axis_length = 176.11099, minor_axis_length = 92.47711, eccentricity = 0.85104, convex_area = 12897.00000, extent = 0.63209, type = O + area = 14969.00000, perimeter = 515.09802, major_axis_length = 222.04485, minor_axis_length = 87.43668, eccentricity = 0.91920, convex_area = 15269.00000, extent = 0.54621, type = C + area = 10595.00000, perimeter = 403.82001, major_axis_length = 163.12149, minor_axis_length = 83.77962, eccentricity = 0.85803, convex_area = 10832.00000, extent = 0.61923, type = O + area = 13263.00000, perimeter = 474.49799, major_axis_length = 197.84290, minor_axis_length = 86.68632, eccentricity = 0.89890, convex_area = 13607.00000, extent = 0.56009, type = C + area = 15248.00000, perimeter = 509.00299, major_axis_length = 217.99248, minor_axis_length = 90.10747, eccentricity = 0.91057, convex_area = 15557.00000, extent = 0.73534, type = C + area = 10559.00000, perimeter = 424.84698, major_axis_length = 179.20773, minor_axis_length = 76.38802, eccentricity = 0.90460, convex_area = 10770.00000, extent = 0.67033, type = O + area = 13023.00000, perimeter = 480.44800, major_axis_length = 205.31209, minor_axis_length = 82.03385, eccentricity = 0.91671, convex_area = 13444.00000, extent = 0.63243, type = C + area = 13325.00000, perimeter = 468.35001, major_axis_length = 188.90274, minor_axis_length = 90.83171, eccentricity = 0.87681, convex_area = 13643.00000, extent = 0.61264, type = O + area = 14400.00000, perimeter = 481.50601, major_axis_length = 193.78296, minor_axis_length = 96.51619, eccentricity = 0.86714, convex_area = 14876.00000, extent = 0.68389, type = C + area = 11337.00000, perimeter = 433.97800, major_axis_length = 184.34811, minor_axis_length = 78.86770, eccentricity = 0.90386, convex_area = 11506.00000, extent = 0.65661, type = O + area = 13645.00000, perimeter = 454.61499, major_axis_length = 182.60464, minor_axis_length = 95.70824, eccentricity = 0.85164, convex_area = 13819.00000, extent = 0.62753, type = O + area = 17437.00000, perimeter = 536.89899, major_axis_length = 230.25746, minor_axis_length = 97.31148, eccentricity = 0.90631, convex_area = 17650.00000, extent = 0.75915, type = C + area = 12526.00000, perimeter = 439.22198, major_axis_length = 178.21603, minor_axis_length = 90.40445, eccentricity = 0.86178, convex_area = 12819.00000, extent = 0.66895, type = O + area = 10085.00000, perimeter = 412.13501, major_axis_length = 172.96211, minor_axis_length = 75.26066, eccentricity = 0.90037, convex_area = 10351.00000, extent = 0.69831, type = O + area = 13621.00000, perimeter = 478.75299, major_axis_length = 200.04332, minor_axis_length = 88.05669, eccentricity = 0.89791, convex_area = 14068.00000, extent = 0.62459, type = C + area = 10191.00000, perimeter = 403.21899, major_axis_length = 168.60902, minor_axis_length = 77.52805, eccentricity = 0.88802, convex_area = 10352.00000, extent = 0.79729, type = O + area = 12768.00000, perimeter = 464.82001, major_axis_length = 195.38815, minor_axis_length = 84.35992, eccentricity = 0.90199, convex_area = 13085.00000, extent = 0.58299, type = C + area = 14641.00000, perimeter = 505.00201, major_axis_length = 211.58365, minor_axis_length = 90.03343, eccentricity = 0.90495, convex_area = 15034.00000, extent = 0.62956, type = C + area = 12450.00000, perimeter = 443.37201, major_axis_length = 181.68210, minor_axis_length = 88.50525, eccentricity = 0.87332, convex_area = 12730.00000, extent = 0.71453, type = O + area = 11842.00000, perimeter = 441.91000, major_axis_length = 187.69878, minor_axis_length = 80.81311, eccentricity = 0.90257, convex_area = 12044.00000, extent = 0.63242, type = O + area = 14399.00000, perimeter = 492.33899, major_axis_length = 210.13991, minor_axis_length = 88.10236, eccentricity = 0.90787, convex_area = 14636.00000, extent = 0.54918, type = C + area = 13681.00000, perimeter = 485.41299, major_axis_length = 205.00644, minor_axis_length = 86.48767, eccentricity = 0.90665, convex_area = 14146.00000, extent = 0.55989, type = C + area = 13621.00000, perimeter = 473.89899, major_axis_length = 198.84587, minor_axis_length = 88.42869, eccentricity = 0.89567, convex_area = 13989.00000, extent = 0.60846, type = C + area = 10360.00000, perimeter = 408.28101, major_axis_length = 165.73293, minor_axis_length = 81.28664, eccentricity = 0.87146, convex_area = 10649.00000, extent = 0.78526, type = O + area = 13436.00000, perimeter = 467.95901, major_axis_length = 195.02281, minor_axis_length = 89.14904, eccentricity = 0.88940, convex_area = 13798.00000, extent = 0.79607, type = C + area = 11136.00000, perimeter = 427.10999, major_axis_length = 175.65308, minor_axis_length = 81.91878, eccentricity = 0.88459, convex_area = 11474.00000, extent = 0.57438, type = O + area = 14360.00000, perimeter = 494.45700, major_axis_length = 205.09700, minor_axis_length = 90.11700, eccentricity = 0.89830, convex_area = 14825.00000, extent = 0.65751, type = C + area = 12478.00000, perimeter = 439.22198, major_axis_length = 176.34395, minor_axis_length = 91.28975, eccentricity = 0.85557, convex_area = 12754.00000, extent = 0.63582, type = O + area = 11434.00000, perimeter = 404.70999, major_axis_length = 161.07927, minor_axis_length = 90.86819, eccentricity = 0.82569, convex_area = 11591.00000, extent = 0.80295, type = O + area = 9585.00000, perimeter = 397.72000, major_axis_length = 163.85312, minor_axis_length = 75.40806, eccentricity = 0.88781, convex_area = 9759.00000, extent = 0.72630, type = O + area = 10724.00000, perimeter = 421.69800, major_axis_length = 168.36853, minor_axis_length = 83.73533, eccentricity = 0.86756, convex_area = 10988.00000, extent = 0.59446, type = O + area = 10510.00000, perimeter = 416.71100, major_axis_length = 174.78029, minor_axis_length = 77.30443, eccentricity = 0.89687, convex_area = 10691.00000, extent = 0.58833, type = O + area = 11770.00000, perimeter = 429.24500, major_axis_length = 177.57814, minor_axis_length = 85.31319, eccentricity = 0.87704, convex_area = 11938.00000, extent = 0.59250, type = O + area = 14818.00000, perimeter = 499.35999, major_axis_length = 208.87550, minor_axis_length = 91.91077, eccentricity = 0.89798, convex_area = 15204.00000, extent = 0.57541, type = C + area = 12419.00000, perimeter = 439.15701, major_axis_length = 175.85406, minor_axis_length = 90.91185, eccentricity = 0.85600, convex_area = 12675.00000, extent = 0.62382, type = O + area = 12992.00000, perimeter = 458.89401, major_axis_length = 183.42082, minor_axis_length = 92.05144, eccentricity = 0.86495, convex_area = 13372.00000, extent = 0.77592, type = O + area = 12433.00000, perimeter = 442.48199, major_axis_length = 173.85931, minor_axis_length = 93.10706, eccentricity = 0.84452, convex_area = 12769.00000, extent = 0.62984, type = O + area = 10785.00000, perimeter = 437.88400, major_axis_length = 181.26581, minor_axis_length = 77.65930, eccentricity = 0.90358, convex_area = 11209.00000, extent = 0.55014, type = C + area = 15418.00000, perimeter = 504.75900, major_axis_length = 209.92400, minor_axis_length = 94.43705, eccentricity = 0.89310, convex_area = 15779.00000, extent = 0.58269, type = C + area = 11251.00000, perimeter = 422.11700, major_axis_length = 171.55084, minor_axis_length = 84.83971, eccentricity = 0.86915, convex_area = 11538.00000, extent = 0.76061, type = O + area = 16176.00000, perimeter = 522.99103, major_axis_length = 221.92740, minor_axis_length = 93.98418, eccentricity = 0.90590, convex_area = 16639.00000, extent = 0.60235, type = C + area = 11669.00000, perimeter = 432.09900, major_axis_length = 175.27705, minor_axis_length = 86.84153, eccentricity = 0.86863, convex_area = 11886.00000, extent = 0.77980, type = O + area = 13111.00000, perimeter = 467.62100, major_axis_length = 193.56772, minor_axis_length = 88.06787, eccentricity = 0.89051, convex_area = 13456.00000, extent = 0.61917, type = O + area = 14734.00000, perimeter = 498.70700, major_axis_length = 211.00096, minor_axis_length = 90.11148, eccentricity = 0.90422, convex_area = 15171.00000, extent = 0.78460, type = C + area = 13858.00000, perimeter = 475.95700, major_axis_length = 205.87390, minor_axis_length = 86.04459, eccentricity = 0.90847, convex_area = 14042.00000, extent = 0.65122, type = C + area = 13039.00000, perimeter = 480.11099, major_axis_length = 205.85757, minor_axis_length = 81.43621, eccentricity = 0.91843, convex_area = 13288.00000, extent = 0.57631, type = O + area = 12626.00000, perimeter = 455.29700, major_axis_length = 188.65788, minor_axis_length = 86.60138, eccentricity = 0.88842, convex_area = 12911.00000, extent = 0.73390, type = C + area = 15830.00000, perimeter = 520.78198, major_axis_length = 215.13918, minor_axis_length = 95.17147, eccentricity = 0.89683, convex_area = 16326.00000, extent = 0.61051, type = C + area = 13078.00000, perimeter = 452.99100, major_axis_length = 183.97897, minor_axis_length = 91.69001, eccentricity = 0.86696, convex_area = 13385.00000, extent = 0.73274, type = O + area = 12784.00000, perimeter = 468.71399, major_axis_length = 197.19243, minor_axis_length = 84.30416, eccentricity = 0.90400, convex_area = 13140.00000, extent = 0.58247, type = O + area = 14261.00000, perimeter = 496.35901, major_axis_length = 208.85197, minor_axis_length = 88.24221, eccentricity = 0.90636, convex_area = 14763.00000, extent = 0.69566, type = C + area = 15557.00000, perimeter = 514.53699, major_axis_length = 214.07512, minor_axis_length = 93.85390, eccentricity = 0.89877, convex_area = 15942.00000, extent = 0.69556, type = C + area = 12489.00000, perimeter = 444.00800, major_axis_length = 175.32974, minor_axis_length = 92.48181, eccentricity = 0.84957, convex_area = 12853.00000, extent = 0.74423, type = O + area = 10690.00000, perimeter = 411.38400, major_axis_length = 169.08861, minor_axis_length = 81.66603, eccentricity = 0.87563, convex_area = 10915.00000, extent = 0.66110, type = O + area = 16091.00000, perimeter = 508.83099, major_axis_length = 209.18388, minor_axis_length = 99.23176, eccentricity = 0.88032, convex_area = 16431.00000, extent = 0.67046, type = C + area = 15510.00000, perimeter = 507.31900, major_axis_length = 215.95482, minor_axis_length = 92.47437, eccentricity = 0.90368, convex_area = 15862.00000, extent = 0.59954, type = C + area = 11869.00000, perimeter = 434.25201, major_axis_length = 177.87265, minor_axis_length = 86.16555, eccentricity = 0.87483, convex_area = 12144.00000, extent = 0.62151, type = O + area = 15398.00000, perimeter = 518.74500, major_axis_length = 215.32907, minor_axis_length = 93.06289, eccentricity = 0.90178, convex_area = 15753.00000, extent = 0.79815, type = C + area = 13518.00000, perimeter = 451.16299, major_axis_length = 185.55759, minor_axis_length = 93.29591, eccentricity = 0.86441, convex_area = 13741.00000, extent = 0.78184, type = O + area = 11080.00000, perimeter = 424.76901, major_axis_length = 175.18169, minor_axis_length = 81.33550, eccentricity = 0.88568, convex_area = 11337.00000, extent = 0.58291, type = O + area = 9638.00000, perimeter = 398.91199, major_axis_length = 168.10983, minor_axis_length = 73.46514, eccentricity = 0.89946, convex_area = 9798.00000, extent = 0.72575, type = O + area = 11184.00000, perimeter = 419.47501, major_axis_length = 172.62151, minor_axis_length = 83.55089, eccentricity = 0.87506, convex_area = 11347.00000, extent = 0.60865, type = O + area = 11455.00000, perimeter = 405.61899, major_axis_length = 159.57027, minor_axis_length = 92.32996, eccentricity = 0.81560, convex_area = 11639.00000, extent = 0.77619, type = O + area = 14530.00000, perimeter = 487.09698, major_axis_length = 201.80623, minor_axis_length = 93.05895, eccentricity = 0.88733, convex_area = 14926.00000, extent = 0.68713, type = C + area = 13319.00000, perimeter = 468.23199, major_axis_length = 192.92725, minor_axis_length = 89.33763, eccentricity = 0.88632, convex_area = 13694.00000, extent = 0.69522, type = C + area = 13858.00000, perimeter = 490.57001, major_axis_length = 203.70947, minor_axis_length = 88.17393, eccentricity = 0.90147, convex_area = 14265.00000, extent = 0.65319, type = C + area = 11966.00000, perimeter = 456.84601, major_axis_length = 194.27026, minor_axis_length = 79.35069, eccentricity = 0.91278, convex_area = 12337.00000, extent = 0.57460, type = C + area = 12770.00000, perimeter = 451.73999, major_axis_length = 191.07309, minor_axis_length = 86.15910, eccentricity = 0.89256, convex_area = 12910.00000, extent = 0.58098, type = O + area = 10767.00000, perimeter = 410.62299, major_axis_length = 166.02318, minor_axis_length = 83.88680, eccentricity = 0.86296, convex_area = 10978.00000, extent = 0.77216, type = O + area = 11592.00000, perimeter = 436.39999, major_axis_length = 178.13594, minor_axis_length = 83.72199, eccentricity = 0.88267, convex_area = 11844.00000, extent = 0.72360, type = O + area = 14329.00000, perimeter = 486.27701, major_axis_length = 206.57230, minor_axis_length = 89.21240, eccentricity = 0.90194, convex_area = 14588.00000, extent = 0.81276, type = C + area = 10841.00000, perimeter = 413.45999, major_axis_length = 170.96480, minor_axis_length = 81.67490, eccentricity = 0.87851, convex_area = 11070.00000, extent = 0.65449, type = O + area = 13811.00000, perimeter = 485.69000, major_axis_length = 209.27277, minor_axis_length = 85.20029, eccentricity = 0.91337, convex_area = 14083.00000, extent = 0.69062, type = C + area = 12092.00000, perimeter = 449.18900, major_axis_length = 192.57950, minor_axis_length = 80.42228, eccentricity = 0.90863, convex_area = 12298.00000, extent = 0.58393, type = C + area = 15594.00000, perimeter = 515.66101, major_axis_length = 216.53427, minor_axis_length = 93.27998, eccentricity = 0.90245, convex_area = 16029.00000, extent = 0.66667, type = C + area = 12396.00000, perimeter = 443.15399, major_axis_length = 184.80183, minor_axis_length = 86.46866, eccentricity = 0.88378, convex_area = 12546.00000, extent = 0.58710, type = O diff --git a/cmake-build-relwithdebinfo/run_6/regress.stt b/cmake-build-relwithdebinfo/run_6/regress.stt new file mode 100644 index 0000000..c162a62 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_6/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.9557 0.9987 0.0000 18.665 3.460 20 4 22 6 0.9557 0.9987 0.0000 18.665 3.460 20 4 22 6 +1 0 0.9915 0.9987 0.0000 17.221 3.659 20 4 38 7 0.9736 0.9987 0.0000 17.943 3.559 20 4 22 6 +2 0 0.9905 0.9987 0.0000 17.154 3.794 20 4 58 7 0.9792 0.9987 0.0000 17.680 3.637 20 4 22 6 +3 0 0.9913 0.9987 0.0000 16.555 3.916 20 4 25 6 0.9822 0.9987 0.0000 17.398 3.707 20 4 22 6 +4 0 0.9938 0.9987 0.0000 16.411 4.026 20 4 28 10 0.9846 0.9987 0.0000 17.201 3.771 20 4 22 6 +5 0 0.9921 0.9987 0.0000 16.261 4.100 14 4 21 8 0.9858 0.9987 0.0000 17.044 3.826 14 4 22 6 +6 0 0.9931 0.9987 0.0000 16.583 4.222 14 4 28 8 0.9869 0.9987 0.0000 16.978 3.882 14 4 22 6 +7 0 0.9935 0.9987 0.0000 16.524 4.249 14 4 8 3 0.9877 0.9987 0.0000 16.922 3.928 14 4 22 6 +8 0 0.9927 0.9987 0.0000 16.086 4.207 14 4 48 9 0.9882 0.9987 0.0000 16.829 3.959 14 4 22 6 +9 0 0.9945 0.9989 0.0000 15.405 4.177 8 4 12 5 0.9889 0.9989 0.0000 16.686 3.981 8 4 22 6 +10 0 0.9943 0.9989 0.0000 15.286 4.235 8 4 67 12 0.9894 0.9989 0.0000 16.559 4.004 8 4 22 6 +11 0 0.9957 0.9989 0.0000 14.843 4.229 8 4 27 9 0.9899 0.9989 0.0000 16.416 4.023 8 4 22 6 +12 0 0.9939 0.9989 0.0000 15.108 4.327 8 4 49 8 0.9902 0.9989 0.0000 16.315 4.046 8 4 22 6 +13 0 0.9943 0.9989 0.0000 15.121 4.360 8 4 16 5 0.9905 0.9989 0.0000 16.230 4.069 8 4 22 6 +14 0 0.9945 0.9989 0.0000 14.758 4.333 8 4 29 7 0.9907 0.9989 0.0000 16.132 4.086 8 4 22 6 +15 0 0.9947 0.9989 0.0000 14.747 4.388 8 4 21 7 0.9910 0.9989 0.0000 16.045 4.105 8 4 22 6 +16 0 0.9933 0.9989 0.0000 14.601 4.417 8 4 33 13 0.9911 0.9989 0.0000 15.960 4.124 8 4 22 6 +17 0 0.9943 0.9989 0.0000 14.271 4.425 8 4 29 8 0.9913 0.9989 0.0000 15.867 4.140 8 4 22 6 +18 0 0.9955 0.9989 0.0000 14.005 4.406 8 4 19 9 0.9915 0.9989 0.0000 15.769 4.154 8 4 22 6 +19 0 0.9951 0.9989 0.0000 13.789 4.384 8 4 34 10 0.9917 0.9989 0.0000 15.670 4.166 8 4 22 6 +20 0 0.9957 0.9989 0.0000 13.452 4.337 8 4 37 7 0.9919 0.9989 0.0000 15.564 4.174 8 4 22 6 +21 0 0.9961 0.9989 0.0000 13.102 4.315 8 4 22 7 0.9921 0.9989 0.0000 15.452 4.180 8 4 22 6 +22 0 0.9940 0.9989 0.0000 12.972 4.283 8 4 56 12 0.9922 0.9989 0.0000 15.344 4.185 8 4 22 6 +23 0 0.9964 0.9989 0.0000 12.922 4.319 8 4 30 8 0.9923 0.9989 0.0000 15.243 4.190 8 4 22 6 +24 0 0.9949 0.9989 0.0000 12.927 4.319 8 4 51 11 0.9924 0.9989 0.0000 15.151 4.196 8 4 22 6 +25 0 0.9945 0.9989 0.0000 12.699 4.263 8 4 64 11 0.9925 0.9989 0.0000 15.056 4.198 8 4 22 6 +26 0 0.9957 0.9989 0.0000 12.328 4.173 8 4 54 14 0.9926 0.9989 0.0000 14.955 4.197 8 4 22 6 +27 0 0.9955 0.9989 0.0000 12.323 4.191 8 4 45 11 0.9927 0.9989 0.0000 14.861 4.197 8 4 22 6 +28 0 0.9959 0.9989 0.0000 12.075 4.140 8 4 33 8 0.9928 0.9989 0.0000 14.765 4.195 8 4 22 6 +29 0 0.9965 0.9989 0.0000 11.889 4.112 8 4 15 6 0.9930 0.9989 0.0000 14.669 4.192 8 4 22 6 +30 0 0.9969 0.9989 0.0000 11.575 4.056 8 4 49 14 0.9931 0.9989 0.0000 14.570 4.188 8 4 22 6 +31 0 0.9951 0.9989 0.0000 11.373 4.019 8 4 46 12 0.9931 0.9989 0.0000 14.470 4.183 8 4 22 6 +32 0 0.9963 0.9989 0.0000 11.356 4.047 8 4 16 6 0.9932 0.9989 0.0000 14.375 4.178 8 4 22 6 +33 0 0.9959 0.9989 0.0000 11.140 3.965 8 4 13 5 0.9933 0.9989 0.0000 14.280 4.172 8 4 22 6 +34 0 0.9963 0.9989 0.0000 10.947 3.935 8 4 8 4 0.9934 0.9989 0.0000 14.185 4.165 8 4 22 6 +35 0 0.9957 0.9989 0.0000 10.903 3.961 8 4 19 7 0.9935 0.9989 0.0000 14.094 4.160 8 4 22 6 +36 0 0.9971 0.9989 0.0000 10.754 3.951 8 4 16 6 0.9936 0.9989 0.0000 14.004 4.154 8 4 22 6 +37 0 0.9967 0.9989 0.0000 10.590 3.904 8 4 22 10 0.9936 0.9989 0.0000 13.914 4.148 8 4 22 6 +38 0 0.9971 0.9989 0.0000 10.285 3.857 8 4 21 8 0.9937 0.9989 0.0000 13.821 4.140 8 4 22 6 +39 0 0.9967 0.9989 0.0000 10.157 3.860 8 4 31 7 0.9938 0.9989 0.0000 13.729 4.133 8 4 22 6 +40 0 0.9965 0.9989 0.0000 10.190 3.865 8 4 12 6 0.9939 0.9989 0.0000 13.643 4.127 8 4 22 6 +41 0 0.9963 0.9989 0.0000 9.985 3.791 8 4 46 10 0.9939 0.9989 0.0000 13.556 4.119 8 4 22 6 +42 0 0.9971 0.9989 0.0000 9.787 3.717 8 4 30 10 0.9940 0.9989 0.0000 13.468 4.109 8 4 22 6 +43 0 0.9971 0.9989 0.0000 9.871 3.740 8 4 25 7 0.9941 0.9989 0.0000 13.386 4.101 8 4 22 6 +44 0 0.9969 0.9989 0.0000 9.834 3.710 8 4 14 5 0.9941 0.9989 0.0000 13.307 4.092 8 4 22 6 +45 0 0.9973 0.9989 0.0000 9.550 3.664 8 4 24 7 0.9942 0.9989 0.0000 13.226 4.083 8 4 22 6 +46 0 0.9977 0.9989 0.0000 9.384 3.612 8 4 22 13 0.9943 0.9989 0.0000 13.144 4.073 8 4 22 6 +47 0 0.9962 0.9989 0.0000 9.268 3.593 8 4 15 6 0.9943 0.9989 0.0000 13.063 4.063 8 4 22 6 +48 0 0.9970 0.9989 0.0000 9.156 3.560 8 4 27 8 0.9944 0.9989 0.0000 12.983 4.053 8 4 22 6 +49 0 0.9974 0.9989 0.0000 9.247 3.582 8 4 22 6 0.9944 0.9989 0.0000 12.909 4.043 8 4 22 6 +50 0 0.9973 0.9989 0.0000 8.843 3.465 8 4 8 5 0.9945 0.9989 0.0000 12.829 4.032 8 4 22 6 diff --git a/cmake-build-relwithdebinfo/run_6/regress.sys b/cmake-build-relwithdebinfo/run_6/regress.sys new file mode 100644 index 0000000..d5fc0fc --- /dev/null +++ b/cmake-build-relwithdebinfo/run_6/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - exp log area perimeter major minor eccentricity convex extent R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 1591. +creating initial population(s): + 7337 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 81972061 + freed: 81924061 + not freed: 48000 + max allocated: 2565935 + malloc'ed blocks: 831748 + realloc'ed blocks: 7 + free'ed blocks: 831742 + +------- time ------- + overall: 58s wall + evaluation: 57s wall + breeding: 0s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 8208 + freed: 8208 + allocated: 5500 + blocks: 10 diff --git a/cmake-build-relwithdebinfo/run_7/regress.bst b/cmake-build-relwithdebinfo/run_7/regress.bst new file mode 100644 index 0000000..6e2624f --- /dev/null +++ b/cmake-build-relwithdebinfo/run_7/regress.bst @@ -0,0 +1,19 @@ +=== BEST-OF-RUN === + generation: 46 + nodes: 11 + depth: 6 + hits: 925 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 925 + raw fitness: 925.0000 + standardized fitness: 925.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ (+ (* eccentricity perimeter) + (log (exp major))) -0.80269))) +TREE-equ: +y = log(exp((((eccentricity * perimeter) + log(exp(major))) / -0.80269))) diff --git a/cmake-build-relwithdebinfo/run_7/regress.fn b/cmake-build-relwithdebinfo/run_7/regress.fn new file mode 100644 index 0000000..2424d2e --- /dev/null +++ b/cmake-build-relwithdebinfo/run_7/regress.fn @@ -0,0 +1,11 @@ +Hits: 2609, Total Size: 2810, Percent Hit: 92.846975 +CC: 1065 +CO: 86 +OO: 1544 +OC: 115 + + +y = log(exp((((eccentricity * perimeter) + log(exp(major))) / -0.80269))) + + (log (exp (/ (+ (* eccentricity perimeter) + (log (exp major))) -0.80269))) diff --git a/cmake-build-relwithdebinfo/run_7/regress.gen b/cmake-build-relwithdebinfo/run_7/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/run_7/regress.his b/cmake-build-relwithdebinfo/run_7/regress.his new file mode 100644 index 0000000..d3542a4 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_7/regress.his @@ -0,0 +1,1080 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 82 + depth: 6 + hits: 772 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 772 + raw fitness: 772.0000 + standardized fitness: 772.0000 + adjusted fitness: 0.9987 +TREE: + (/ (- (log (* (+ (* perimeter major) + (- major perimeter)) + (* (* perimeter eccentricity) + (log eccentricity)))) + (/ (/ (* (/ perimeter convex) + (- extent eccentricity)) + (/ (exp convex) + (+ convex area))) + (log (exp (- eccentricity area))))) + (* (- (exp (+ (- minor major) + (+ minor extent))) + (/ (log (- eccentricity -0.82084)) + (+ (+ perimeter convex) + (* minor extent)))) + (* (* (exp (exp 0.29386)) + (exp (exp extent))) + (* (* (/ minor convex) + (+ major perimeter)) + (+ (* convex -0.52672) + (+ extent minor)))))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 82 + depth: 6 + hits: 772 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 772 + raw fitness: 772.0000 + standardized fitness: 772.0000 + adjusted fitness: 0.9987 +TREE: + (/ (- (log (* (+ (* perimeter major) + (- major perimeter)) + (* (* perimeter eccentricity) + (log eccentricity)))) + (/ (/ (* (/ perimeter convex) + (- extent eccentricity)) + (/ (exp convex) + (+ convex area))) + (log (exp (- eccentricity area))))) + (* (- (exp (+ (- minor major) + (+ minor extent))) + (/ (log (- eccentricity -0.82084)) + (+ (+ perimeter convex) + (* minor extent)))) + (* (* (exp (exp 0.29386)) + (exp (exp extent))) + (* (* (/ minor convex) + (+ major perimeter)) + (+ (* convex -0.52672) + (+ extent minor)))))) +=== BEST-OF-RUN === + current generation: 2 + generation: 0 + nodes: 82 + depth: 6 + hits: 772 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 772 + raw fitness: 772.0000 + standardized fitness: 772.0000 + adjusted fitness: 0.9987 +TREE: + (/ (- (log (* (+ (* perimeter major) + (- major perimeter)) + (* (* perimeter eccentricity) + (log eccentricity)))) + (/ (/ (* (/ perimeter convex) + (- extent eccentricity)) + (/ (exp convex) + (+ convex area))) + (log (exp (- eccentricity area))))) + (* (- (exp (+ (- minor major) + (+ minor extent))) + (/ (log (- eccentricity -0.82084)) + (+ (+ perimeter convex) + (* minor extent)))) + (* (* (exp (exp 0.29386)) + (exp (exp extent))) + (* (* (/ minor convex) + (+ major perimeter)) + (+ (* convex -0.52672) + (+ extent minor)))))) +=== BEST-OF-RUN === + current generation: 3 + generation: 0 + nodes: 82 + depth: 6 + hits: 772 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 772 + raw fitness: 772.0000 + standardized fitness: 772.0000 + adjusted fitness: 0.9987 +TREE: + (/ (- (log (* (+ (* perimeter major) + (- major perimeter)) + (* (* perimeter eccentricity) + (log eccentricity)))) + (/ (/ (* (/ perimeter convex) + (- extent eccentricity)) + (/ (exp convex) + (+ convex area))) + (log (exp (- eccentricity area))))) + (* (- (exp (+ (- minor major) + (+ minor extent))) + (/ (log (- eccentricity -0.82084)) + (+ (+ perimeter convex) + (* minor extent)))) + (* (* (exp (exp 0.29386)) + (exp (exp extent))) + (* (* (/ minor convex) + (+ major perimeter)) + (+ (* convex -0.52672) + (+ extent minor)))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 4 + nodes: 13 + depth: 4 + hits: 784 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 784 + raw fitness: 784.0000 + standardized fitness: 784.0000 + adjusted fitness: 0.9987 +TREE: + (- (- (+ (* eccentricity major) + (+ area 0.25375)) + (+ area minor)) minor) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 8 + depth: 3 + hits: 786 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 786 + raw fitness: 786.0000 + standardized fitness: 786.0000 + adjusted fitness: 0.9987 +TREE: + (+ eccentricity -0.88904) +=== BEST-OF-RUN === + current generation: 6 + generation: 5 + nodes: 8 + depth: 3 + hits: 786 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 786 + raw fitness: 786.0000 + standardized fitness: 786.0000 + adjusted fitness: 0.9987 +TREE: + (+ eccentricity -0.88904) +=== BEST-OF-RUN === + current generation: 7 + generation: 5 + nodes: 8 + depth: 3 + hits: 786 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 786 + raw fitness: 786.0000 + standardized fitness: 786.0000 + adjusted fitness: 0.9987 +TREE: + (+ eccentricity -0.88904) +=== BEST-OF-RUN === + current generation: 8 + generation: 5 + nodes: 8 + depth: 3 + hits: 786 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 786 + raw fitness: 786.0000 + standardized fitness: 786.0000 + adjusted fitness: 0.9987 +TREE: + (+ eccentricity -0.88904) +=== BEST-OF-RUN === + current generation: 9 + generation: 9 + nodes: 16 + depth: 7 + hits: 870 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 870 + raw fitness: 870.0000 + standardized fitness: 870.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (log (exp (* (log area) + (log eccentricity)))) + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 10 + generation: 9 + nodes: 16 + depth: 7 + hits: 870 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 870 + raw fitness: 870.0000 + standardized fitness: 870.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (log (exp (* (log area) + (log eccentricity)))) + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 9 + nodes: 16 + depth: 7 + hits: 870 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 870 + raw fitness: 870.0000 + standardized fitness: 870.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (log (exp (* (log area) + (log eccentricity)))) + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 9 + nodes: 16 + depth: 7 + hits: 870 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 870 + raw fitness: 870.0000 + standardized fitness: 870.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (log (exp (* (log area) + (log eccentricity)))) + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 13 + generation: 13 + nodes: 10 + depth: 5 + hits: 871 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 871 + raw fitness: 871.0000 + standardized fitness: 871.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ -0.54267 + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 14 + generation: 14 + nodes: 17 + depth: 7 + hits: 872 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 872 + raw fitness: 872.0000 + standardized fitness: 872.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (log (exp (* (- eccentricity -0.93356) + (log eccentricity)))) + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 14 + nodes: 17 + depth: 7 + hits: 872 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 872 + raw fitness: 872.0000 + standardized fitness: 872.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (log (exp (* (- eccentricity -0.93356) + (log eccentricity)))) + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 14 + nodes: 17 + depth: 7 + hits: 872 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 872 + raw fitness: 872.0000 + standardized fitness: 872.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (log (exp (* (- eccentricity -0.93356) + (log eccentricity)))) + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 17 + generation: 14 + nodes: 17 + depth: 7 + hits: 872 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 872 + raw fitness: 872.0000 + standardized fitness: 872.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (log (exp (* (- eccentricity -0.93356) + (log eccentricity)))) + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 18 + generation: 14 + nodes: 17 + depth: 7 + hits: 872 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 872 + raw fitness: 872.0000 + standardized fitness: 872.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (log (exp (* (- eccentricity -0.93356) + (log eccentricity)))) + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 14 + nodes: 17 + depth: 7 + hits: 872 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 872 + raw fitness: 872.0000 + standardized fitness: 872.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (log (exp (* (- eccentricity -0.93356) + (log eccentricity)))) + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 20 + generation: 14 + nodes: 17 + depth: 7 + hits: 872 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 872 + raw fitness: 872.0000 + standardized fitness: 872.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (log (exp (* (- eccentricity -0.93356) + (log eccentricity)))) + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 21 + generation: 14 + nodes: 17 + depth: 7 + hits: 872 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 872 + raw fitness: 872.0000 + standardized fitness: 872.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (log (exp (* (- eccentricity -0.93356) + (log eccentricity)))) + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 22 + generation: 14 + nodes: 17 + depth: 7 + hits: 872 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 872 + raw fitness: 872.0000 + standardized fitness: 872.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (log (exp (* (- eccentricity -0.93356) + (log eccentricity)))) + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 23 + generation: 14 + nodes: 17 + depth: 7 + hits: 872 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 872 + raw fitness: 872.0000 + standardized fitness: 872.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (log (exp (* (- eccentricity -0.93356) + (log eccentricity)))) + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 24 + generation: 14 + nodes: 17 + depth: 7 + hits: 872 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 872 + raw fitness: 872.0000 + standardized fitness: 872.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (log (exp (* (- eccentricity -0.93356) + (log eccentricity)))) + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 25 + generation: 14 + nodes: 17 + depth: 7 + hits: 872 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 872 + raw fitness: 872.0000 + standardized fitness: 872.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (log (exp (* (- eccentricity -0.93356) + (log eccentricity)))) + (/ (+ minor 0.77330) + (log eccentricity))))) +=== BEST-OF-RUN === + current generation: 26 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 27 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 28 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 29 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 30 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 31 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 32 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 33 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 34 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 35 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 36 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 37 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 38 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 39 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 40 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 41 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 42 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 43 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 44 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 45 + generation: 26 + nodes: 15 + depth: 5 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (/ minor + (* (/ (exp (/ major -0.66461)) + (- (log 0.63657) + (exp perimeter))) + (exp major))) +=== BEST-OF-RUN === + current generation: 46 + generation: 46 + nodes: 11 + depth: 6 + hits: 925 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 925 + raw fitness: 925.0000 + standardized fitness: 925.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ (+ (* eccentricity perimeter) + (log (exp major))) -0.80269))) +=== BEST-OF-RUN === + current generation: 47 + generation: 46 + nodes: 11 + depth: 6 + hits: 925 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 925 + raw fitness: 925.0000 + standardized fitness: 925.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ (+ (* eccentricity perimeter) + (log (exp major))) -0.80269))) +=== BEST-OF-RUN === + current generation: 48 + generation: 46 + nodes: 11 + depth: 6 + hits: 925 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 925 + raw fitness: 925.0000 + standardized fitness: 925.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ (+ (* eccentricity perimeter) + (log (exp major))) -0.80269))) +=== BEST-OF-RUN === + current generation: 49 + generation: 46 + nodes: 11 + depth: 6 + hits: 925 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 925 + raw fitness: 925.0000 + standardized fitness: 925.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ (+ (* eccentricity perimeter) + (log (exp major))) -0.80269))) +=== BEST-OF-RUN === + current generation: 50 + generation: 46 + nodes: 11 + depth: 6 + hits: 925 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 925 + raw fitness: 925.0000 + standardized fitness: 925.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ (+ (* eccentricity perimeter) + (log (exp major))) -0.80269))) diff --git a/cmake-build-relwithdebinfo/run_7/regress.prg b/cmake-build-relwithdebinfo/run_7/regress.prg new file mode 100644 index 0000000..5787ba1 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_7/regress.prg @@ -0,0 +1,1002 @@ +not starting from checkpoint file. +1000 fitness cases: + area = 14470.00000, perimeter = 489.78601, major_axis_length = 207.36266, minor_axis_length = 89.81264, eccentricity = 0.90134, convex_area = 14724.00000, extent = 0.61962, type = C + area = 14291.00000, perimeter = 481.23999, major_axis_length = 196.50101, minor_axis_length = 93.87129, eccentricity = 0.87852, convex_area = 14618.00000, extent = 0.58920, type = C + area = 12205.00000, perimeter = 438.35599, major_axis_length = 174.43573, minor_axis_length = 90.32648, eccentricity = 0.85549, convex_area = 12491.00000, extent = 0.61848, type = O + area = 13028.00000, perimeter = 467.27701, major_axis_length = 194.73337, minor_axis_length = 87.14062, eccentricity = 0.89429, convex_area = 13304.00000, extent = 0.56621, type = O + area = 11307.00000, perimeter = 424.89600, major_axis_length = 173.94365, minor_axis_length = 83.69766, eccentricity = 0.87662, convex_area = 11499.00000, extent = 0.73863, type = O + area = 12638.00000, perimeter = 450.40302, major_axis_length = 185.53122, minor_axis_length = 87.92228, eccentricity = 0.88058, convex_area = 12864.00000, extent = 0.63215, type = O + area = 15149.00000, perimeter = 509.13699, major_axis_length = 214.00746, minor_axis_length = 91.28373, eccentricity = 0.90447, convex_area = 15516.00000, extent = 0.70710, type = C + area = 13455.00000, perimeter = 468.86200, major_axis_length = 196.68491, minor_axis_length = 87.98445, eccentricity = 0.89437, convex_area = 13730.00000, extent = 0.65494, type = C + area = 8604.00000, perimeter = 373.68301, major_axis_length = 153.57961, minor_axis_length = 72.30965, eccentricity = 0.88222, convex_area = 8787.00000, extent = 0.60256, type = O + area = 11342.00000, perimeter = 440.19901, major_axis_length = 188.07085, minor_axis_length = 77.18611, eccentricity = 0.91190, convex_area = 11532.00000, extent = 0.57856, type = O + area = 15779.00000, perimeter = 506.37701, major_axis_length = 209.40489, minor_axis_length = 97.43090, eccentricity = 0.88517, convex_area = 16201.00000, extent = 0.61946, type = C + area = 11423.00000, perimeter = 418.60400, major_axis_length = 169.07329, minor_axis_length = 87.28488, eccentricity = 0.85644, convex_area = 11717.00000, extent = 0.65548, type = O + area = 14363.00000, perimeter = 493.26099, major_axis_length = 210.56975, minor_axis_length = 87.41584, eccentricity = 0.90976, convex_area = 14621.00000, extent = 0.57706, type = C + area = 12759.00000, perimeter = 455.31500, major_axis_length = 188.19118, minor_axis_length = 87.08291, eccentricity = 0.88650, convex_area = 13082.00000, extent = 0.67508, type = O + area = 11321.00000, perimeter = 424.57599, major_axis_length = 173.99763, minor_axis_length = 84.73989, eccentricity = 0.87339, convex_area = 11631.00000, extent = 0.62190, type = O + area = 13290.00000, perimeter = 469.71201, major_axis_length = 197.26926, minor_axis_length = 86.32834, eccentricity = 0.89916, convex_area = 13570.00000, extent = 0.68269, type = C + area = 12837.00000, perimeter = 445.63800, major_axis_length = 178.19829, minor_axis_length = 93.73123, eccentricity = 0.85049, convex_area = 13197.00000, extent = 0.76293, type = O + area = 11544.00000, perimeter = 421.84601, major_axis_length = 170.34583, minor_axis_length = 87.41750, eccentricity = 0.85828, convex_area = 11800.00000, extent = 0.65651, type = O + area = 15676.00000, perimeter = 512.33502, major_axis_length = 214.76785, minor_axis_length = 93.72194, eccentricity = 0.89976, convex_area = 15961.00000, extent = 0.77928, type = C + area = 11379.00000, perimeter = 438.16400, major_axis_length = 182.20009, minor_axis_length = 80.88667, eccentricity = 0.89605, convex_area = 11735.00000, extent = 0.59414, type = O + area = 12349.00000, perimeter = 467.66501, major_axis_length = 202.68781, minor_axis_length = 78.67498, eccentricity = 0.92159, convex_area = 12572.00000, extent = 0.54816, type = C + area = 13272.00000, perimeter = 474.92700, major_axis_length = 195.77855, minor_axis_length = 87.16515, eccentricity = 0.89542, convex_area = 13597.00000, extent = 0.58606, type = C + area = 12419.00000, perimeter = 439.15701, major_axis_length = 175.85406, minor_axis_length = 90.91185, eccentricity = 0.85600, convex_area = 12675.00000, extent = 0.62382, type = O + area = 11873.00000, perimeter = 430.04401, major_axis_length = 176.72914, minor_axis_length = 86.37125, eccentricity = 0.87244, convex_area = 12086.00000, extent = 0.60422, type = O + area = 13437.00000, perimeter = 476.11301, major_axis_length = 202.82048, minor_axis_length = 85.11242, eccentricity = 0.90769, convex_area = 13700.00000, extent = 0.78414, type = C + area = 12539.00000, perimeter = 442.29700, major_axis_length = 178.60106, minor_axis_length = 90.33458, eccentricity = 0.86266, convex_area = 12790.00000, extent = 0.73448, type = O + area = 16094.00000, perimeter = 509.97900, major_axis_length = 215.54759, minor_axis_length = 95.61666, eccentricity = 0.89623, convex_area = 16403.00000, extent = 0.75879, type = C + area = 14818.00000, perimeter = 499.35999, major_axis_length = 208.87550, minor_axis_length = 91.91077, eccentricity = 0.89798, convex_area = 15204.00000, extent = 0.57541, type = C + area = 12201.00000, perimeter = 443.45599, major_axis_length = 178.08556, minor_axis_length = 88.47781, eccentricity = 0.86785, convex_area = 12544.00000, extent = 0.63913, type = O + area = 14202.00000, perimeter = 485.93799, major_axis_length = 202.61406, minor_axis_length = 90.65028, eccentricity = 0.89433, convex_area = 14640.00000, extent = 0.56177, type = C + area = 11708.00000, perimeter = 423.94101, major_axis_length = 173.93201, minor_axis_length = 85.92611, eccentricity = 0.86945, convex_area = 11918.00000, extent = 0.61132, type = O + area = 15009.00000, perimeter = 507.41699, major_axis_length = 217.13300, minor_axis_length = 88.92488, eccentricity = 0.91229, convex_area = 15387.00000, extent = 0.59859, type = C + area = 13516.00000, perimeter = 483.68900, major_axis_length = 207.53192, minor_axis_length = 83.68568, eccentricity = 0.91509, convex_area = 13746.00000, extent = 0.70086, type = C + area = 11365.00000, perimeter = 421.17599, major_axis_length = 179.13287, minor_axis_length = 81.11464, eccentricity = 0.89160, convex_area = 11499.00000, extent = 0.65204, type = O + area = 12448.00000, perimeter = 438.91501, major_axis_length = 174.41333, minor_axis_length = 92.27672, eccentricity = 0.84858, convex_area = 12750.00000, extent = 0.68171, type = O + area = 13644.00000, perimeter = 473.17801, major_axis_length = 200.29051, minor_axis_length = 87.84367, eccentricity = 0.89869, convex_area = 13859.00000, extent = 0.67679, type = C + area = 15071.00000, perimeter = 494.13501, major_axis_length = 200.59483, minor_axis_length = 97.39329, eccentricity = 0.87422, convex_area = 15575.00000, extent = 0.68921, type = C + area = 12164.00000, perimeter = 436.60901, major_axis_length = 180.37566, minor_axis_length = 86.53325, eccentricity = 0.87741, convex_area = 12351.00000, extent = 0.63719, type = O + area = 11307.00000, perimeter = 427.60999, major_axis_length = 176.07468, minor_axis_length = 82.24740, eccentricity = 0.88420, convex_area = 11492.00000, extent = 0.65662, type = O + area = 11786.00000, perimeter = 424.61899, major_axis_length = 171.84386, minor_axis_length = 88.34416, eccentricity = 0.85773, convex_area = 11946.00000, extent = 0.62479, type = O + area = 13734.00000, perimeter = 487.84000, major_axis_length = 213.24744, minor_axis_length = 83.18277, eccentricity = 0.92078, convex_area = 13941.00000, extent = 0.80523, type = C + area = 11017.00000, perimeter = 416.93201, major_axis_length = 168.36868, minor_axis_length = 84.20007, eccentricity = 0.86597, convex_area = 11303.00000, extent = 0.73682, type = O + area = 11937.00000, perimeter = 427.33499, major_axis_length = 172.93164, minor_axis_length = 88.59191, eccentricity = 0.85881, convex_area = 12111.00000, extent = 0.77232, type = O + area = 13361.00000, perimeter = 456.74500, major_axis_length = 183.19627, minor_axis_length = 93.64111, eccentricity = 0.85949, convex_area = 13610.00000, extent = 0.68560, type = O + area = 11489.00000, perimeter = 447.23700, major_axis_length = 182.10213, minor_axis_length = 82.12138, eccentricity = 0.89254, convex_area = 11913.00000, extent = 0.55946, type = O + area = 15137.00000, perimeter = 494.60501, major_axis_length = 206.45853, minor_axis_length = 93.99015, eccentricity = 0.89036, convex_area = 15400.00000, extent = 0.76173, type = C + area = 14250.00000, perimeter = 486.12399, major_axis_length = 201.21893, minor_axis_length = 91.93982, eccentricity = 0.88951, convex_area = 14636.00000, extent = 0.59368, type = C + area = 11538.00000, perimeter = 418.66101, major_axis_length = 170.85091, minor_axis_length = 86.49840, eccentricity = 0.86237, convex_area = 11741.00000, extent = 0.71354, type = O + area = 10775.00000, perimeter = 414.99799, major_axis_length = 165.72896, minor_axis_length = 84.27123, eccentricity = 0.86107, convex_area = 11036.00000, extent = 0.63446, type = O + area = 14734.00000, perimeter = 498.70700, major_axis_length = 211.00096, minor_axis_length = 90.11148, eccentricity = 0.90422, convex_area = 15171.00000, extent = 0.78460, type = C + area = 10297.00000, perimeter = 397.12500, major_axis_length = 160.82759, minor_axis_length = 82.35851, eccentricity = 0.85893, convex_area = 10488.00000, extent = 0.78471, type = O + area = 12476.00000, perimeter = 452.75800, major_axis_length = 192.32312, minor_axis_length = 83.67257, eccentricity = 0.90040, convex_area = 12654.00000, extent = 0.80641, type = O + area = 13207.00000, perimeter = 469.70001, major_axis_length = 196.48750, minor_axis_length = 87.33901, eccentricity = 0.89578, convex_area = 13546.00000, extent = 0.57454, type = C + area = 13434.00000, perimeter = 455.82300, major_axis_length = 184.17033, minor_axis_length = 93.38285, eccentricity = 0.86192, convex_area = 13686.00000, extent = 0.63584, type = C + area = 10005.00000, perimeter = 394.09900, major_axis_length = 161.26289, minor_axis_length = 79.95715, eccentricity = 0.86843, convex_area = 10220.00000, extent = 0.71875, type = O + area = 14788.00000, perimeter = 480.96201, major_axis_length = 199.06255, minor_axis_length = 95.53792, eccentricity = 0.87730, convex_area = 15044.00000, extent = 0.65751, type = C + area = 14758.00000, perimeter = 500.01001, major_axis_length = 206.28514, minor_axis_length = 92.72487, eccentricity = 0.89328, convex_area = 15166.00000, extent = 0.58240, type = C + area = 9763.00000, perimeter = 404.14600, major_axis_length = 169.18585, minor_axis_length = 74.55428, eccentricity = 0.89767, convex_area = 10047.00000, extent = 0.70870, type = O + area = 15264.00000, perimeter = 506.66599, major_axis_length = 208.76143, minor_axis_length = 95.73719, eccentricity = 0.88864, convex_area = 15712.00000, extent = 0.60752, type = C + area = 13662.00000, perimeter = 466.74799, major_axis_length = 191.40512, minor_axis_length = 91.91515, eccentricity = 0.87715, convex_area = 13875.00000, extent = 0.58746, type = C + area = 10007.00000, perimeter = 391.45901, major_axis_length = 163.92862, minor_axis_length = 78.13725, eccentricity = 0.87909, convex_area = 10146.00000, extent = 0.80171, type = O + area = 13820.00000, perimeter = 489.94199, major_axis_length = 207.00410, minor_axis_length = 86.23711, eccentricity = 0.90909, convex_area = 14195.00000, extent = 0.63940, type = C + area = 14145.00000, perimeter = 486.60800, major_axis_length = 209.35321, minor_axis_length = 86.78947, eccentricity = 0.91002, convex_area = 14370.00000, extent = 0.76667, type = C + area = 14573.00000, perimeter = 493.78000, major_axis_length = 209.35582, minor_axis_length = 89.43751, eccentricity = 0.90416, convex_area = 14847.00000, extent = 0.65058, type = C + area = 11779.00000, perimeter = 440.97601, major_axis_length = 191.88248, minor_axis_length = 78.73443, eccentricity = 0.91194, convex_area = 11918.00000, extent = 0.58375, type = O + area = 12558.00000, perimeter = 453.22900, major_axis_length = 192.45639, minor_axis_length = 84.11143, eccentricity = 0.89944, convex_area = 12747.00000, extent = 0.78684, type = O + area = 13909.00000, perimeter = 474.11200, major_axis_length = 197.45837, minor_axis_length = 90.17406, eccentricity = 0.88963, convex_area = 14227.00000, extent = 0.74296, type = C + area = 15228.00000, perimeter = 505.26501, major_axis_length = 209.62527, minor_axis_length = 93.52686, eccentricity = 0.89495, convex_area = 15501.00000, extent = 0.73922, type = C + area = 12040.00000, perimeter = 441.02301, major_axis_length = 182.75281, minor_axis_length = 85.15115, eccentricity = 0.88482, convex_area = 12372.00000, extent = 0.74741, type = C + area = 14434.00000, perimeter = 477.61899, major_axis_length = 200.38988, minor_axis_length = 92.38155, eccentricity = 0.88740, convex_area = 14660.00000, extent = 0.78343, type = C + area = 10249.00000, perimeter = 404.08899, major_axis_length = 165.68245, minor_axis_length = 80.38426, eccentricity = 0.87442, convex_area = 10486.00000, extent = 0.67145, type = O + area = 10925.00000, perimeter = 437.25900, major_axis_length = 181.59094, minor_axis_length = 77.65763, eccentricity = 0.90394, convex_area = 11231.00000, extent = 0.77958, type = O + area = 15141.00000, perimeter = 505.42099, major_axis_length = 209.59360, minor_axis_length = 93.09238, eccentricity = 0.89595, convex_area = 15559.00000, extent = 0.56640, type = C + area = 14115.00000, perimeter = 490.40799, major_axis_length = 207.95955, minor_axis_length = 87.42121, eccentricity = 0.90735, convex_area = 14580.00000, extent = 0.57058, type = C + area = 11884.00000, perimeter = 434.84000, major_axis_length = 172.12608, minor_axis_length = 89.20809, eccentricity = 0.85522, convex_area = 12184.00000, extent = 0.62958, type = O + area = 10937.00000, perimeter = 411.95801, major_axis_length = 165.00778, minor_axis_length = 85.26155, eccentricity = 0.85616, convex_area = 11135.00000, extent = 0.62497, type = O + area = 11776.00000, perimeter = 430.33301, major_axis_length = 173.56931, minor_axis_length = 87.46633, eccentricity = 0.86375, convex_area = 12011.00000, extent = 0.61667, type = O + area = 15256.00000, perimeter = 495.77100, major_axis_length = 209.62132, minor_axis_length = 93.42302, eccentricity = 0.89519, convex_area = 15449.00000, extent = 0.57498, type = C + area = 10773.00000, perimeter = 407.84698, major_axis_length = 167.35785, minor_axis_length = 82.64382, eccentricity = 0.86957, convex_area = 10931.00000, extent = 0.62532, type = O + area = 14385.00000, perimeter = 496.97800, major_axis_length = 214.26955, minor_axis_length = 86.03324, eccentricity = 0.91585, convex_area = 14604.00000, extent = 0.77627, type = C + area = 10369.00000, perimeter = 402.98300, major_axis_length = 159.28703, minor_axis_length = 84.89051, eccentricity = 0.84615, convex_area = 10723.00000, extent = 0.63754, type = O + area = 12927.00000, perimeter = 453.01501, major_axis_length = 184.32379, minor_axis_length = 89.86131, eccentricity = 0.87311, convex_area = 13196.00000, extent = 0.73692, type = C + area = 13946.00000, perimeter = 482.14001, major_axis_length = 203.25732, minor_axis_length = 88.27829, eccentricity = 0.90076, convex_area = 14233.00000, extent = 0.57151, type = C + area = 14451.00000, perimeter = 487.22000, major_axis_length = 201.29469, minor_axis_length = 92.73952, eccentricity = 0.88755, convex_area = 14776.00000, extent = 0.64727, type = C + area = 11940.00000, perimeter = 443.96799, major_axis_length = 187.33362, minor_axis_length = 82.18279, eccentricity = 0.89863, convex_area = 12184.00000, extent = 0.63639, type = C + area = 11536.00000, perimeter = 426.85199, major_axis_length = 172.18907, minor_axis_length = 87.07993, eccentricity = 0.86270, convex_area = 11891.00000, extent = 0.60588, type = O + area = 14541.00000, perimeter = 492.78500, major_axis_length = 204.25714, minor_axis_length = 92.47102, eccentricity = 0.89165, convex_area = 14893.00000, extent = 0.75829, type = C + area = 11813.00000, perimeter = 430.25500, major_axis_length = 172.56953, minor_axis_length = 88.02676, eccentricity = 0.86012, convex_area = 12088.00000, extent = 0.71750, type = O + area = 15158.00000, perimeter = 513.72601, major_axis_length = 218.82001, minor_axis_length = 89.37169, eccentricity = 0.91279, convex_area = 15591.00000, extent = 0.70176, type = C + area = 11748.00000, perimeter = 433.77100, major_axis_length = 178.33948, minor_axis_length = 85.62522, eccentricity = 0.87720, convex_area = 12053.00000, extent = 0.65296, type = O + area = 12524.00000, perimeter = 444.01001, major_axis_length = 179.05951, minor_axis_length = 90.16651, eccentricity = 0.86396, convex_area = 12746.00000, extent = 0.64567, type = O + area = 14960.00000, perimeter = 496.92801, major_axis_length = 209.66216, minor_axis_length = 91.68534, eccentricity = 0.89932, convex_area = 15198.00000, extent = 0.76016, type = C + area = 14407.00000, perimeter = 494.98999, major_axis_length = 208.74904, minor_axis_length = 88.66286, eccentricity = 0.90532, convex_area = 14716.00000, extent = 0.57376, type = C + area = 13665.00000, perimeter = 482.07700, major_axis_length = 208.96404, minor_axis_length = 84.61726, eccentricity = 0.91434, convex_area = 13998.00000, extent = 0.60121, type = C + area = 12899.00000, perimeter = 462.26901, major_axis_length = 190.43053, minor_axis_length = 87.37381, eccentricity = 0.88853, convex_area = 13132.00000, extent = 0.68296, type = O + area = 11747.00000, perimeter = 452.12701, major_axis_length = 194.49486, minor_axis_length = 78.74446, eccentricity = 0.91438, convex_area = 11935.00000, extent = 0.54264, type = C + area = 12170.00000, perimeter = 441.47699, major_axis_length = 181.88800, minor_axis_length = 86.57874, eccentricity = 0.87945, convex_area = 12373.00000, extent = 0.77255, type = O + area = 12605.00000, perimeter = 445.69299, major_axis_length = 183.26926, minor_axis_length = 88.23682, eccentricity = 0.87647, convex_area = 12787.00000, extent = 0.61759, type = O + area = 11597.00000, perimeter = 433.68201, major_axis_length = 180.84389, minor_axis_length = 82.67798, eccentricity = 0.88937, convex_area = 11803.00000, extent = 0.60552, type = O + area = 11451.00000, perimeter = 426.24701, major_axis_length = 176.12180, minor_axis_length = 84.35532, eccentricity = 0.87784, convex_area = 11666.00000, extent = 0.60848, type = O + area = 15862.00000, perimeter = 507.54800, major_axis_length = 214.87325, minor_axis_length = 94.80012, eccentricity = 0.89741, convex_area = 16098.00000, extent = 0.80834, type = C + area = 13846.00000, perimeter = 479.58701, major_axis_length = 197.00459, minor_axis_length = 90.91550, eccentricity = 0.88715, convex_area = 14200.00000, extent = 0.71756, type = C + area = 14115.00000, perimeter = 483.78000, major_axis_length = 206.84187, minor_axis_length = 88.06865, eccentricity = 0.90483, convex_area = 14312.00000, extent = 0.74766, type = C + area = 11977.00000, perimeter = 442.36401, major_axis_length = 185.26541, minor_axis_length = 83.16058, eccentricity = 0.89360, convex_area = 12186.00000, extent = 0.68175, type = O + area = 10951.00000, perimeter = 415.13901, major_axis_length = 173.75793, minor_axis_length = 81.30049, eccentricity = 0.88378, convex_area = 11116.00000, extent = 0.65227, type = O + area = 11956.00000, perimeter = 438.89600, major_axis_length = 184.64371, minor_axis_length = 83.21842, eccentricity = 0.89268, convex_area = 12121.00000, extent = 0.57703, type = C + area = 14851.00000, perimeter = 512.31897, major_axis_length = 218.00836, minor_axis_length = 88.49667, eccentricity = 0.91390, convex_area = 15556.00000, extent = 0.71775, type = C + area = 15269.00000, perimeter = 496.68900, major_axis_length = 210.45181, minor_axis_length = 92.70920, eccentricity = 0.89774, convex_area = 15474.00000, extent = 0.80669, type = C + area = 12752.00000, perimeter = 459.44800, major_axis_length = 196.43005, minor_axis_length = 83.10927, eccentricity = 0.90608, convex_area = 13059.00000, extent = 0.79067, type = C + area = 12748.00000, perimeter = 461.88800, major_axis_length = 190.70799, minor_axis_length = 86.64507, eccentricity = 0.89083, convex_area = 13158.00000, extent = 0.78633, type = O + area = 11599.00000, perimeter = 431.05600, major_axis_length = 171.99739, minor_axis_length = 86.98845, eccentricity = 0.86268, convex_area = 11913.00000, extent = 0.77966, type = O + area = 15551.00000, perimeter = 508.40701, major_axis_length = 217.01550, minor_axis_length = 92.15182, eccentricity = 0.90537, convex_area = 15786.00000, extent = 0.80742, type = C + area = 15904.00000, perimeter = 511.02200, major_axis_length = 214.35056, minor_axis_length = 96.21210, eccentricity = 0.89361, convex_area = 16248.00000, extent = 0.71785, type = C + area = 12209.00000, perimeter = 445.88901, major_axis_length = 184.87573, minor_axis_length = 85.02141, eccentricity = 0.88798, convex_area = 12418.00000, extent = 0.61740, type = O + area = 11316.00000, perimeter = 418.54901, major_axis_length = 170.68570, minor_axis_length = 85.69088, eccentricity = 0.86484, convex_area = 11497.00000, extent = 0.60839, type = O + area = 13688.00000, perimeter = 481.31400, major_axis_length = 204.30884, minor_axis_length = 86.37804, eccentricity = 0.90623, convex_area = 14024.00000, extent = 0.78939, type = C + area = 13089.00000, perimeter = 458.07700, major_axis_length = 182.10921, minor_axis_length = 92.58980, eccentricity = 0.86110, convex_area = 13562.00000, extent = 0.71291, type = O + area = 12618.00000, perimeter = 457.89801, major_axis_length = 193.81572, minor_axis_length = 83.47736, eccentricity = 0.90249, convex_area = 12851.00000, extent = 0.58223, type = C + area = 14910.00000, perimeter = 511.60001, major_axis_length = 221.61229, minor_axis_length = 86.21699, eccentricity = 0.92122, convex_area = 15215.00000, extent = 0.69964, type = C + area = 11790.00000, perimeter = 444.34299, major_axis_length = 184.42249, minor_axis_length = 82.44761, eccentricity = 0.89450, convex_area = 12103.00000, extent = 0.59606, type = O + area = 15032.00000, perimeter = 500.60901, major_axis_length = 209.91653, minor_axis_length = 91.92539, eccentricity = 0.89902, convex_area = 15397.00000, extent = 0.71892, type = C + area = 16893.00000, perimeter = 523.25403, major_axis_length = 216.24049, minor_axis_length = 100.40816, eccentricity = 0.88566, convex_area = 17293.00000, extent = 0.68106, type = C + area = 14746.00000, perimeter = 504.31400, major_axis_length = 220.34344, minor_axis_length = 85.93158, eccentricity = 0.92082, convex_area = 14995.00000, extent = 0.79751, type = C + area = 11869.00000, perimeter = 434.25201, major_axis_length = 177.87265, minor_axis_length = 86.16555, eccentricity = 0.87483, convex_area = 12144.00000, extent = 0.62151, type = O + area = 10855.00000, perimeter = 417.31699, major_axis_length = 167.33801, minor_axis_length = 84.22980, eccentricity = 0.86408, convex_area = 11135.00000, extent = 0.60484, type = O + area = 13443.00000, perimeter = 469.45401, major_axis_length = 196.63802, minor_axis_length = 87.97915, eccentricity = 0.89433, convex_area = 13686.00000, extent = 0.57226, type = O + area = 14379.00000, perimeter = 495.15100, major_axis_length = 212.02097, minor_axis_length = 87.81467, eccentricity = 0.91020, convex_area = 14834.00000, extent = 0.79079, type = C + area = 11780.00000, perimeter = 435.67099, major_axis_length = 181.69832, minor_axis_length = 83.58512, eccentricity = 0.88791, convex_area = 11975.00000, extent = 0.80796, type = O + area = 13667.00000, perimeter = 463.84201, major_axis_length = 197.35565, minor_axis_length = 88.58672, eccentricity = 0.89360, convex_area = 13829.00000, extent = 0.63452, type = O + area = 14479.00000, perimeter = 473.95700, major_axis_length = 193.13182, minor_axis_length = 96.94859, eccentricity = 0.86488, convex_area = 14812.00000, extent = 0.63664, type = C + area = 14839.00000, perimeter = 504.08401, major_axis_length = 211.36960, minor_axis_length = 91.34764, eccentricity = 0.90179, convex_area = 15274.00000, extent = 0.62638, type = C + area = 11500.00000, perimeter = 442.33401, major_axis_length = 178.83928, minor_axis_length = 84.13650, eccentricity = 0.88242, convex_area = 12070.00000, extent = 0.58802, type = O + area = 12625.00000, perimeter = 448.33701, major_axis_length = 182.10194, minor_axis_length = 89.70995, eccentricity = 0.87024, convex_area = 12833.00000, extent = 0.60987, type = O + area = 11492.00000, perimeter = 419.29700, major_axis_length = 165.42955, minor_axis_length = 89.53146, eccentricity = 0.84089, convex_area = 11747.00000, extent = 0.78734, type = O + area = 10497.00000, perimeter = 405.34601, major_axis_length = 165.34816, minor_axis_length = 81.97666, eccentricity = 0.86845, convex_area = 10735.00000, extent = 0.66860, type = O + area = 15500.00000, perimeter = 502.32101, major_axis_length = 213.36700, minor_axis_length = 93.55457, eccentricity = 0.89875, convex_area = 15724.00000, extent = 0.81497, type = C + area = 12225.00000, perimeter = 444.14899, major_axis_length = 190.22061, minor_axis_length = 82.50629, eccentricity = 0.90104, convex_area = 12408.00000, extent = 0.79855, type = O + area = 11730.00000, perimeter = 424.16400, major_axis_length = 172.73737, minor_axis_length = 87.71980, eccentricity = 0.86146, convex_area = 11913.00000, extent = 0.62281, type = O + area = 14873.00000, perimeter = 499.61600, major_axis_length = 210.27750, minor_axis_length = 91.58362, eccentricity = 0.90017, convex_area = 15195.00000, extent = 0.57303, type = C + area = 11585.00000, perimeter = 428.37299, major_axis_length = 171.56198, minor_axis_length = 87.44052, eccentricity = 0.86037, convex_area = 11939.00000, extent = 0.60890, type = O + area = 9584.00000, perimeter = 390.00400, major_axis_length = 162.29663, minor_axis_length = 75.98748, eccentricity = 0.88362, convex_area = 9757.00000, extent = 0.80946, type = O + area = 15636.00000, perimeter = 504.18201, major_axis_length = 212.13625, minor_axis_length = 94.48931, eccentricity = 0.89532, convex_area = 15927.00000, extent = 0.74500, type = C + area = 12235.00000, perimeter = 443.45599, major_axis_length = 187.66254, minor_axis_length = 83.75172, eccentricity = 0.89489, convex_area = 12442.00000, extent = 0.65833, type = O + area = 11711.00000, perimeter = 447.00400, major_axis_length = 190.94492, minor_axis_length = 79.28987, eccentricity = 0.90971, convex_area = 11904.00000, extent = 0.59146, type = O + area = 14316.00000, perimeter = 488.98599, major_axis_length = 204.42427, minor_axis_length = 90.14910, eccentricity = 0.89751, convex_area = 14731.00000, extent = 0.56418, type = C + area = 10585.00000, perimeter = 409.31601, major_axis_length = 167.74828, minor_axis_length = 81.42166, eccentricity = 0.87430, convex_area = 10819.00000, extent = 0.68356, type = O + area = 14318.00000, perimeter = 491.29599, major_axis_length = 207.61473, minor_axis_length = 89.12659, eccentricity = 0.90317, convex_area = 14629.00000, extent = 0.56246, type = C + area = 10805.00000, perimeter = 410.44501, major_axis_length = 164.70444, minor_axis_length = 84.79468, eccentricity = 0.85729, convex_area = 11050.00000, extent = 0.58497, type = O + area = 15009.00000, perimeter = 502.48801, major_axis_length = 211.09036, minor_axis_length = 91.76154, eccentricity = 0.90057, convex_area = 15370.00000, extent = 0.61575, type = C + area = 15879.00000, perimeter = 517.92700, major_axis_length = 216.65013, minor_axis_length = 94.65620, eccentricity = 0.89951, convex_area = 16484.00000, extent = 0.68776, type = C + area = 12213.00000, perimeter = 452.40399, major_axis_length = 192.34183, minor_axis_length = 81.44420, eccentricity = 0.90593, convex_area = 12406.00000, extent = 0.64262, type = O + area = 15367.00000, perimeter = 501.90701, major_axis_length = 210.05598, minor_axis_length = 94.47918, eccentricity = 0.89314, convex_area = 15644.00000, extent = 0.79061, type = C + area = 10667.00000, perimeter = 415.23700, major_axis_length = 170.33615, minor_axis_length = 81.36894, eccentricity = 0.87853, convex_area = 11041.00000, extent = 0.68775, type = O + area = 13277.00000, perimeter = 486.95599, major_axis_length = 201.83914, minor_axis_length = 85.25986, eccentricity = 0.90640, convex_area = 13771.00000, extent = 0.61105, type = C + area = 17404.00000, perimeter = 521.86499, major_axis_length = 211.06302, minor_axis_length = 106.33782, eccentricity = 0.86381, convex_area = 17739.00000, extent = 0.68466, type = C + area = 12407.00000, perimeter = 460.17899, major_axis_length = 187.73659, minor_axis_length = 85.86542, eccentricity = 0.88928, convex_area = 12849.00000, extent = 0.58246, type = O + area = 15140.00000, perimeter = 502.55301, major_axis_length = 213.89561, minor_axis_length = 90.89738, eccentricity = 0.90521, convex_area = 15491.00000, extent = 0.75821, type = C + area = 10786.00000, perimeter = 408.02499, major_axis_length = 165.12993, minor_axis_length = 84.93224, eccentricity = 0.85759, convex_area = 11022.00000, extent = 0.78759, type = O + area = 10916.00000, perimeter = 416.32901, major_axis_length = 172.50725, minor_axis_length = 81.98931, eccentricity = 0.87983, convex_area = 11093.00000, extent = 0.72148, type = O + area = 14816.00000, perimeter = 496.31601, major_axis_length = 206.65742, minor_axis_length = 92.17413, eccentricity = 0.89502, convex_area = 15194.00000, extent = 0.58150, type = C + area = 11068.00000, perimeter = 419.92999, major_axis_length = 174.13010, minor_axis_length = 81.80955, eccentricity = 0.88276, convex_area = 11242.00000, extent = 0.60392, type = C + area = 12802.00000, perimeter = 457.66101, major_axis_length = 192.06297, minor_axis_length = 85.54150, eccentricity = 0.89534, convex_area = 13001.00000, extent = 0.75635, type = O + area = 14990.00000, perimeter = 507.78500, major_axis_length = 213.48546, minor_axis_length = 90.17632, eccentricity = 0.90641, convex_area = 15318.00000, extent = 0.56592, type = C + area = 14461.00000, perimeter = 483.56601, major_axis_length = 202.35306, minor_axis_length = 91.65204, eccentricity = 0.89155, convex_area = 14718.00000, extent = 0.74541, type = C + area = 11073.00000, perimeter = 431.15701, major_axis_length = 182.70003, minor_axis_length = 77.72215, eccentricity = 0.90500, convex_area = 11367.00000, extent = 0.75112, type = O + area = 13683.00000, perimeter = 481.57101, major_axis_length = 206.92677, minor_axis_length = 84.89906, eccentricity = 0.91196, convex_area = 13922.00000, extent = 0.76220, type = C + area = 13272.00000, perimeter = 471.89999, major_axis_length = 201.49469, minor_axis_length = 84.15379, eccentricity = 0.90861, convex_area = 13492.00000, extent = 0.56573, type = C + area = 14076.00000, perimeter = 479.67700, major_axis_length = 199.48915, minor_axis_length = 90.70998, eccentricity = 0.89064, convex_area = 14434.00000, extent = 0.78122, type = C + area = 15521.00000, perimeter = 506.04800, major_axis_length = 209.51799, minor_axis_length = 95.46242, eccentricity = 0.89017, convex_area = 15956.00000, extent = 0.57845, type = C + area = 14927.00000, perimeter = 502.01801, major_axis_length = 212.02855, minor_axis_length = 90.81614, eccentricity = 0.90363, convex_area = 15392.00000, extent = 0.59499, type = C + area = 10763.00000, perimeter = 411.28299, major_axis_length = 168.57059, minor_axis_length = 81.79902, eccentricity = 0.87437, convex_area = 10963.00000, extent = 0.76731, type = O + area = 13518.00000, perimeter = 451.16299, major_axis_length = 185.55759, minor_axis_length = 93.29591, eccentricity = 0.86441, convex_area = 13741.00000, extent = 0.78184, type = O + area = 11671.00000, perimeter = 430.23999, major_axis_length = 177.18015, minor_axis_length = 84.81886, eccentricity = 0.87797, convex_area = 11895.00000, extent = 0.67462, type = O + area = 11540.00000, perimeter = 427.31900, major_axis_length = 174.08281, minor_axis_length = 85.41787, eccentricity = 0.87134, convex_area = 11829.00000, extent = 0.74519, type = O + area = 11447.00000, perimeter = 436.86899, major_axis_length = 180.43732, minor_axis_length = 82.31013, eccentricity = 0.88989, convex_area = 11733.00000, extent = 0.57258, type = O + area = 14557.00000, perimeter = 492.41299, major_axis_length = 205.10664, minor_axis_length = 91.44973, eccentricity = 0.89510, convex_area = 14961.00000, extent = 0.73565, type = C + area = 14415.00000, perimeter = 488.12201, major_axis_length = 203.59285, minor_axis_length = 91.03473, eccentricity = 0.89446, convex_area = 14758.00000, extent = 0.67410, type = C + area = 15065.00000, perimeter = 506.82001, major_axis_length = 212.43690, minor_axis_length = 91.37028, eccentricity = 0.90278, convex_area = 15516.00000, extent = 0.72463, type = C + area = 12016.00000, perimeter = 443.22299, major_axis_length = 189.28107, minor_axis_length = 81.12222, eccentricity = 0.90350, convex_area = 12186.00000, extent = 0.74657, type = O + area = 12043.00000, perimeter = 444.05801, major_axis_length = 179.91721, minor_axis_length = 86.48320, eccentricity = 0.87689, convex_area = 12364.00000, extent = 0.69613, type = O + area = 10692.00000, perimeter = 410.25299, major_axis_length = 170.17923, minor_axis_length = 80.28889, eccentricity = 0.88171, convex_area = 10863.00000, extent = 0.63080, type = O + area = 13548.00000, perimeter = 479.74899, major_axis_length = 203.27188, minor_axis_length = 85.60246, eccentricity = 0.90700, convex_area = 13850.00000, extent = 0.55443, type = C + area = 12387.00000, perimeter = 449.13599, major_axis_length = 185.40276, minor_axis_length = 86.05038, eccentricity = 0.88577, convex_area = 12662.00000, extent = 0.71643, type = O + area = 12237.00000, perimeter = 432.39001, major_axis_length = 169.64680, minor_axis_length = 93.41069, eccentricity = 0.83476, convex_area = 12577.00000, extent = 0.70457, type = O + area = 14892.00000, perimeter = 486.33499, major_axis_length = 203.06918, minor_axis_length = 94.12496, eccentricity = 0.88609, convex_area = 15111.00000, extent = 0.79213, type = C + area = 10866.00000, perimeter = 404.35800, major_axis_length = 163.93236, minor_axis_length = 85.32536, eccentricity = 0.85387, convex_area = 11039.00000, extent = 0.62867, type = O + area = 10182.00000, perimeter = 404.84900, major_axis_length = 168.11896, minor_axis_length = 77.88881, eccentricity = 0.88620, convex_area = 10369.00000, extent = 0.79274, type = O + area = 18313.00000, perimeter = 538.49799, major_axis_length = 222.46425, minor_axis_length = 106.18475, eccentricity = 0.87873, convex_area = 18724.00000, extent = 0.62442, type = C + area = 13413.00000, perimeter = 465.60501, major_axis_length = 198.85272, minor_axis_length = 86.09415, eccentricity = 0.90142, convex_area = 13620.00000, extent = 0.63533, type = C + area = 13000.00000, perimeter = 460.37100, major_axis_length = 195.09875, minor_axis_length = 85.72265, eccentricity = 0.89830, convex_area = 13231.00000, extent = 0.58286, type = C + area = 10286.00000, perimeter = 418.28900, major_axis_length = 175.14859, minor_axis_length = 75.85381, eccentricity = 0.90135, convex_area = 10548.00000, extent = 0.64159, type = O + area = 11231.00000, perimeter = 427.66699, major_axis_length = 183.58710, minor_axis_length = 78.86173, eccentricity = 0.90304, convex_area = 11427.00000, extent = 0.72118, type = O + area = 10574.00000, perimeter = 411.11899, major_axis_length = 170.14017, minor_axis_length = 79.77427, eccentricity = 0.88327, convex_area = 10782.00000, extent = 0.68707, type = O + area = 12089.00000, perimeter = 440.72601, major_axis_length = 179.96233, minor_axis_length = 86.65957, eccentricity = 0.87642, convex_area = 12390.00000, extent = 0.66687, type = O + area = 11458.00000, perimeter = 418.85999, major_axis_length = 169.07266, minor_axis_length = 87.52145, eccentricity = 0.85559, convex_area = 11668.00000, extent = 0.75780, type = O + area = 10796.00000, perimeter = 413.42001, major_axis_length = 170.78165, minor_axis_length = 80.99689, eccentricity = 0.88038, convex_area = 10980.00000, extent = 0.62304, type = C + area = 12347.00000, perimeter = 452.29001, major_axis_length = 186.89604, minor_axis_length = 85.22990, eccentricity = 0.88997, convex_area = 12659.00000, extent = 0.60525, type = O + area = 14789.00000, perimeter = 492.95200, major_axis_length = 206.70868, minor_axis_length = 92.60357, eccentricity = 0.89404, convex_area = 15069.00000, extent = 0.74783, type = C + area = 12692.00000, perimeter = 448.06100, major_axis_length = 182.19318, minor_axis_length = 90.43366, eccentricity = 0.86812, convex_area = 12999.00000, extent = 0.73509, type = O + area = 13335.00000, perimeter = 469.71399, major_axis_length = 199.29723, minor_axis_length = 85.91238, eccentricity = 0.90232, convex_area = 13657.00000, extent = 0.61679, type = C + area = 12315.00000, perimeter = 444.62299, major_axis_length = 183.17519, minor_axis_length = 86.46496, eccentricity = 0.88158, convex_area = 12523.00000, extent = 0.61117, type = O + area = 14561.00000, perimeter = 487.65100, major_axis_length = 202.91121, minor_axis_length = 92.16224, eccentricity = 0.89090, convex_area = 14862.00000, extent = 0.70038, type = O + area = 10516.00000, perimeter = 423.39999, major_axis_length = 175.92067, minor_axis_length = 77.73805, eccentricity = 0.89707, convex_area = 10787.00000, extent = 0.63687, type = O + area = 14634.00000, perimeter = 493.02701, major_axis_length = 208.13615, minor_axis_length = 90.37943, eccentricity = 0.90080, convex_area = 14898.00000, extent = 0.71025, type = C + area = 14441.00000, perimeter = 495.36600, major_axis_length = 210.02328, minor_axis_length = 89.20302, eccentricity = 0.90532, convex_area = 14805.00000, extent = 0.54021, type = C + area = 13998.00000, perimeter = 484.88199, major_axis_length = 198.72130, minor_axis_length = 90.92341, eccentricity = 0.88919, convex_area = 14328.00000, extent = 0.59951, type = C + area = 11444.00000, perimeter = 424.36899, major_axis_length = 174.22066, minor_axis_length = 84.26457, eccentricity = 0.87525, convex_area = 11638.00000, extent = 0.65657, type = O + area = 14339.00000, perimeter = 492.30801, major_axis_length = 205.77316, minor_axis_length = 90.85659, eccentricity = 0.89724, convex_area = 14818.00000, extent = 0.62747, type = C + area = 11200.00000, perimeter = 428.16699, major_axis_length = 176.10751, minor_axis_length = 82.36244, eccentricity = 0.88390, convex_area = 11424.00000, extent = 0.58425, type = O + area = 10852.00000, perimeter = 433.64499, major_axis_length = 177.96263, minor_axis_length = 80.45235, eccentricity = 0.89198, convex_area = 11315.00000, extent = 0.77609, type = O + area = 15510.00000, perimeter = 507.31900, major_axis_length = 215.95482, minor_axis_length = 92.47437, eccentricity = 0.90368, convex_area = 15862.00000, extent = 0.59954, type = C + area = 13631.00000, perimeter = 473.54700, major_axis_length = 193.49402, minor_axis_length = 91.50906, eccentricity = 0.88110, convex_area = 14141.00000, extent = 0.58029, type = C + area = 11179.00000, perimeter = 418.70999, major_axis_length = 171.10838, minor_axis_length = 84.56639, eccentricity = 0.86933, convex_area = 11440.00000, extent = 0.73561, type = O + area = 12271.00000, perimeter = 443.78699, major_axis_length = 179.83769, minor_axis_length = 87.74169, eccentricity = 0.87290, convex_area = 12510.00000, extent = 0.62353, type = O + area = 14212.00000, perimeter = 485.98599, major_axis_length = 203.41849, minor_axis_length = 90.01189, eccentricity = 0.89677, convex_area = 14508.00000, extent = 0.57320, type = C + area = 13088.00000, perimeter = 450.21100, major_axis_length = 184.75020, minor_axis_length = 91.24625, eccentricity = 0.86952, convex_area = 13266.00000, extent = 0.79922, type = O + area = 12991.00000, perimeter = 472.82901, major_axis_length = 196.89684, minor_axis_length = 85.49543, eccentricity = 0.90081, convex_area = 13380.00000, extent = 0.73645, type = C + area = 12072.00000, perimeter = 452.26199, major_axis_length = 192.72191, minor_axis_length = 80.28837, eccentricity = 0.90909, convex_area = 12342.00000, extent = 0.69415, type = C + area = 11730.00000, perimeter = 429.82199, major_axis_length = 176.97292, minor_axis_length = 85.21745, eccentricity = 0.87643, convex_area = 11900.00000, extent = 0.59513, type = O + area = 13746.00000, perimeter = 483.82001, major_axis_length = 205.84219, minor_axis_length = 86.18869, eccentricity = 0.90812, convex_area = 14060.00000, extent = 0.71594, type = C + area = 13700.00000, perimeter = 455.62500, major_axis_length = 185.95854, minor_axis_length = 94.56549, eccentricity = 0.86104, convex_area = 13893.00000, extent = 0.61452, type = O + area = 10440.00000, perimeter = 405.61499, major_axis_length = 165.24684, minor_axis_length = 82.02889, eccentricity = 0.86809, convex_area = 10716.00000, extent = 0.59842, type = O + area = 10838.00000, perimeter = 412.49100, major_axis_length = 165.19746, minor_axis_length = 84.85579, eccentricity = 0.85799, convex_area = 11167.00000, extent = 0.71832, type = O + area = 16706.00000, perimeter = 533.62598, major_axis_length = 228.15617, minor_axis_length = 94.20754, eccentricity = 0.91077, convex_area = 17037.00000, extent = 0.63625, type = C + area = 11281.00000, perimeter = 407.10101, major_axis_length = 160.91008, minor_axis_length = 90.44052, eccentricity = 0.82710, convex_area = 11483.00000, extent = 0.67001, type = O + area = 12244.00000, perimeter = 455.27499, major_axis_length = 192.50739, minor_axis_length = 81.42862, eccentricity = 0.90613, convex_area = 12480.00000, extent = 0.57524, type = C + area = 16182.00000, perimeter = 509.92200, major_axis_length = 211.16502, minor_axis_length = 98.31332, eccentricity = 0.88501, convex_area = 16522.00000, extent = 0.74813, type = C + area = 13147.00000, perimeter = 468.92001, major_axis_length = 199.22775, minor_axis_length = 84.48080, eccentricity = 0.90564, convex_area = 13431.00000, extent = 0.68474, type = C + area = 9598.00000, perimeter = 397.00000, major_axis_length = 172.00679, minor_axis_length = 72.28365, eccentricity = 0.90741, convex_area = 9766.00000, extent = 0.79685, type = O + area = 11674.00000, perimeter = 425.07199, major_axis_length = 175.75723, minor_axis_length = 85.50616, eccentricity = 0.87368, convex_area = 11865.00000, extent = 0.64405, type = O + area = 12723.00000, perimeter = 460.88000, major_axis_length = 185.75475, minor_axis_length = 89.16935, eccentricity = 0.87725, convex_area = 13302.00000, extent = 0.67500, type = O + area = 13176.00000, perimeter = 458.34299, major_axis_length = 193.33739, minor_axis_length = 87.44839, eccentricity = 0.89186, convex_area = 13368.00000, extent = 0.64067, type = C + area = 12414.00000, perimeter = 453.38300, major_axis_length = 188.56230, minor_axis_length = 85.32584, eccentricity = 0.89176, convex_area = 12721.00000, extent = 0.58817, type = C + area = 13397.00000, perimeter = 474.86499, major_axis_length = 200.54626, minor_axis_length = 86.39674, eccentricity = 0.90244, convex_area = 13762.00000, extent = 0.69404, type = C + area = 14124.00000, perimeter = 486.59100, major_axis_length = 202.96083, minor_axis_length = 89.87580, eccentricity = 0.89661, convex_area = 14576.00000, extent = 0.70272, type = C + area = 11672.00000, perimeter = 435.71399, major_axis_length = 179.92755, minor_axis_length = 83.97663, eccentricity = 0.88440, convex_area = 11941.00000, extent = 0.65776, type = O + area = 11735.00000, perimeter = 453.51801, major_axis_length = 194.10484, minor_axis_length = 78.01987, eccentricity = 0.91566, convex_area = 11956.00000, extent = 0.71533, type = C + area = 9120.00000, perimeter = 383.57300, major_axis_length = 158.46271, minor_axis_length = 74.15768, eccentricity = 0.88374, convex_area = 9293.00000, extent = 0.61764, type = O + area = 12253.00000, perimeter = 437.94299, major_axis_length = 177.75105, minor_axis_length = 89.38976, eccentricity = 0.86435, convex_area = 12595.00000, extent = 0.61493, type = O + area = 12473.00000, perimeter = 470.34000, major_axis_length = 202.44283, minor_axis_length = 79.02430, eccentricity = 0.92066, convex_area = 12806.00000, extent = 0.52598, type = C + area = 10958.00000, perimeter = 422.88000, major_axis_length = 172.13432, minor_axis_length = 82.23724, eccentricity = 0.87850, convex_area = 11351.00000, extent = 0.64198, type = O + area = 11850.00000, perimeter = 440.86499, major_axis_length = 178.62244, minor_axis_length = 86.16687, eccentricity = 0.87595, convex_area = 12201.00000, extent = 0.78373, type = O + area = 11083.00000, perimeter = 421.78699, major_axis_length = 171.48567, minor_axis_length = 83.67474, eccentricity = 0.87288, convex_area = 11415.00000, extent = 0.69766, type = O + area = 11860.00000, perimeter = 432.05899, major_axis_length = 174.31383, minor_axis_length = 88.15498, eccentricity = 0.86269, convex_area = 12140.00000, extent = 0.71086, type = O + area = 14988.00000, perimeter = 499.35501, major_axis_length = 212.26198, minor_axis_length = 90.98808, eccentricity = 0.90347, convex_area = 15245.00000, extent = 0.58869, type = C + area = 12699.00000, perimeter = 458.01300, major_axis_length = 192.59450, minor_axis_length = 85.20386, eccentricity = 0.89682, convex_area = 12965.00000, extent = 0.59065, type = C + area = 11859.00000, perimeter = 421.81299, major_axis_length = 169.93079, minor_axis_length = 89.38181, eccentricity = 0.85049, convex_area = 12056.00000, extent = 0.70147, type = O + area = 12358.00000, perimeter = 447.17401, major_axis_length = 183.46461, minor_axis_length = 87.74208, eccentricity = 0.87822, convex_area = 12586.00000, extent = 0.58458, type = O + area = 14153.00000, perimeter = 480.32199, major_axis_length = 196.97827, minor_axis_length = 92.79873, eccentricity = 0.88207, convex_area = 14555.00000, extent = 0.77212, type = O + area = 10655.00000, perimeter = 417.97400, major_axis_length = 177.50758, minor_axis_length = 77.15759, eccentricity = 0.90059, convex_area = 10822.00000, extent = 0.73356, type = O + area = 12971.00000, perimeter = 458.03500, major_axis_length = 192.33746, minor_axis_length = 86.75472, eccentricity = 0.89250, convex_area = 13248.00000, extent = 0.77745, type = C + area = 14806.00000, perimeter = 481.91199, major_axis_length = 198.24391, minor_axis_length = 95.78670, eccentricity = 0.87552, convex_area = 15162.00000, extent = 0.70104, type = C + area = 11975.00000, perimeter = 458.90201, major_axis_length = 199.04269, minor_axis_length = 78.03677, eccentricity = 0.91994, convex_area = 12288.00000, extent = 0.79983, type = C + area = 15811.00000, perimeter = 514.37799, major_axis_length = 218.73137, minor_axis_length = 93.16438, eccentricity = 0.90476, convex_area = 16135.00000, extent = 0.81867, type = C + area = 10737.00000, perimeter = 412.30600, major_axis_length = 165.55162, minor_axis_length = 83.92193, eccentricity = 0.86199, convex_area = 11017.00000, extent = 0.61410, type = O + area = 12325.00000, perimeter = 454.04901, major_axis_length = 192.69505, minor_axis_length = 82.55291, eccentricity = 0.90358, convex_area = 12583.00000, extent = 0.78603, type = O + area = 10749.00000, perimeter = 412.42499, major_axis_length = 168.11682, minor_axis_length = 82.58827, eccentricity = 0.87102, convex_area = 11012.00000, extent = 0.70810, type = O + area = 15037.00000, perimeter = 501.46701, major_axis_length = 208.90558, minor_axis_length = 92.30457, eccentricity = 0.89709, convex_area = 15452.00000, extent = 0.57861, type = C + area = 10588.00000, perimeter = 410.93600, major_axis_length = 169.82788, minor_axis_length = 80.41876, eccentricity = 0.88078, convex_area = 10783.00000, extent = 0.78377, type = O + area = 11587.00000, perimeter = 423.18900, major_axis_length = 168.64038, minor_axis_length = 88.72871, eccentricity = 0.85040, convex_area = 11826.00000, extent = 0.61171, type = O + area = 16259.00000, perimeter = 522.62201, major_axis_length = 215.50919, minor_axis_length = 97.42146, eccentricity = 0.89199, convex_area = 16728.00000, extent = 0.58435, type = C + area = 13862.00000, perimeter = 482.21399, major_axis_length = 199.17963, minor_axis_length = 89.91952, eccentricity = 0.89230, convex_area = 14218.00000, extent = 0.57590, type = C + area = 16490.00000, perimeter = 520.31897, major_axis_length = 212.01076, minor_axis_length = 101.68001, eccentricity = 0.87749, convex_area = 16873.00000, extent = 0.62937, type = C + area = 11999.00000, perimeter = 465.65799, major_axis_length = 194.78426, minor_axis_length = 80.43824, eccentricity = 0.91075, convex_area = 12364.00000, extent = 0.53701, type = C + area = 11856.00000, perimeter = 431.86301, major_axis_length = 174.35243, minor_axis_length = 88.68266, eccentricity = 0.86098, convex_area = 12188.00000, extent = 0.61507, type = O + area = 12894.00000, perimeter = 480.08499, major_axis_length = 192.82175, minor_axis_length = 85.92984, eccentricity = 0.89521, convex_area = 13141.00000, extent = 0.62263, type = O + area = 9772.00000, perimeter = 392.23700, major_axis_length = 164.40335, minor_axis_length = 76.18343, eccentricity = 0.88615, convex_area = 9971.00000, extent = 0.78339, type = O + area = 12613.00000, perimeter = 459.91299, major_axis_length = 193.37215, minor_axis_length = 84.31453, eccentricity = 0.89994, convex_area = 12937.00000, extent = 0.62789, type = O + area = 15484.00000, perimeter = 504.81900, major_axis_length = 211.28806, minor_axis_length = 94.47181, eccentricity = 0.89447, convex_area = 15795.00000, extent = 0.67912, type = C + area = 13434.00000, perimeter = 483.36499, major_axis_length = 204.56802, minor_axis_length = 84.15600, eccentricity = 0.91146, convex_area = 13773.00000, extent = 0.72226, type = C + area = 13887.00000, perimeter = 483.16800, major_axis_length = 203.42085, minor_axis_length = 88.11791, eccentricity = 0.90131, convex_area = 14240.00000, extent = 0.68439, type = C + area = 12930.00000, perimeter = 474.07800, major_axis_length = 205.35634, minor_axis_length = 80.71208, eccentricity = 0.91952, convex_area = 13181.00000, extent = 0.74063, type = C + area = 11718.00000, perimeter = 439.20401, major_axis_length = 182.26459, minor_axis_length = 82.59560, eccentricity = 0.89143, convex_area = 11967.00000, extent = 0.64884, type = O + area = 12387.00000, perimeter = 444.22501, major_axis_length = 178.09758, minor_axis_length = 90.58177, eccentricity = 0.86100, convex_area = 12753.00000, extent = 0.64328, type = O + area = 16006.00000, perimeter = 528.17603, major_axis_length = 222.67191, minor_axis_length = 93.09613, eccentricity = 0.90841, convex_area = 16466.00000, extent = 0.61185, type = C + area = 13267.00000, perimeter = 465.03201, major_axis_length = 193.76559, minor_axis_length = 88.83870, eccentricity = 0.88870, convex_area = 13543.00000, extent = 0.66441, type = O + area = 15611.00000, perimeter = 506.54700, major_axis_length = 215.20073, minor_axis_length = 93.39229, eccentricity = 0.90092, convex_area = 15806.00000, extent = 0.73219, type = C + area = 9885.00000, perimeter = 385.60001, major_axis_length = 157.21089, minor_axis_length = 81.19733, eccentricity = 0.85630, convex_area = 10042.00000, extent = 0.62842, type = O + area = 10442.00000, perimeter = 407.28201, major_axis_length = 166.14153, minor_axis_length = 81.03928, eccentricity = 0.87297, convex_area = 10668.00000, extent = 0.65623, type = O + area = 11859.00000, perimeter = 436.25299, major_axis_length = 184.63538, minor_axis_length = 82.17491, eccentricity = 0.89550, convex_area = 12049.00000, extent = 0.64814, type = O + area = 13380.00000, perimeter = 469.17700, major_axis_length = 190.81332, minor_axis_length = 91.01315, eccentricity = 0.87892, convex_area = 13747.00000, extent = 0.61962, type = C + area = 13080.00000, perimeter = 474.26001, major_axis_length = 198.95737, minor_axis_length = 84.75006, eccentricity = 0.90474, convex_area = 13511.00000, extent = 0.70277, type = C + area = 12599.00000, perimeter = 455.28101, major_axis_length = 188.01591, minor_axis_length = 86.37449, eccentricity = 0.88823, convex_area = 12897.00000, extent = 0.62125, type = C + area = 11144.00000, perimeter = 410.34399, major_axis_length = 164.09407, minor_axis_length = 87.66368, eccentricity = 0.84534, convex_area = 11378.00000, extent = 0.63383, type = O + area = 13895.00000, perimeter = 488.25299, major_axis_length = 207.03448, minor_axis_length = 86.16099, eccentricity = 0.90929, convex_area = 14228.00000, extent = 0.78291, type = C + area = 11418.00000, perimeter = 432.89499, major_axis_length = 184.01616, minor_axis_length = 79.63114, eccentricity = 0.90152, convex_area = 11608.00000, extent = 0.63142, type = O + area = 13884.00000, perimeter = 478.70200, major_axis_length = 201.31630, minor_axis_length = 89.18121, eccentricity = 0.89653, convex_area = 14217.00000, extent = 0.79793, type = C + area = 15420.00000, perimeter = 503.45999, major_axis_length = 206.05655, minor_axis_length = 96.41728, eccentricity = 0.88377, convex_area = 15800.00000, extent = 0.58462, type = O + area = 15809.00000, perimeter = 518.45502, major_axis_length = 221.07068, minor_axis_length = 92.23230, eccentricity = 0.90881, convex_area = 16079.00000, extent = 0.81481, type = C + area = 12734.00000, perimeter = 470.61401, major_axis_length = 204.40291, minor_axis_length = 80.16530, eccentricity = 0.91988, convex_area = 12982.00000, extent = 0.71459, type = C + area = 14435.00000, perimeter = 491.90399, major_axis_length = 207.46263, minor_axis_length = 89.70563, eccentricity = 0.90168, convex_area = 14842.00000, extent = 0.57798, type = C + area = 14709.00000, perimeter = 489.52899, major_axis_length = 204.92346, minor_axis_length = 91.86573, eccentricity = 0.89389, convex_area = 15041.00000, extent = 0.63980, type = C + area = 12347.00000, perimeter = 475.39001, major_axis_length = 207.09692, minor_axis_length = 77.08044, eccentricity = 0.92815, convex_area = 12857.00000, extent = 0.52095, type = C + area = 15143.00000, perimeter = 504.14001, major_axis_length = 207.73418, minor_axis_length = 94.14838, eccentricity = 0.89140, convex_area = 15628.00000, extent = 0.57133, type = C + area = 12406.00000, perimeter = 449.71399, major_axis_length = 188.50739, minor_axis_length = 84.51765, eccentricity = 0.89386, convex_area = 12602.00000, extent = 0.79833, type = O + area = 12878.00000, perimeter = 459.60400, major_axis_length = 192.17227, minor_axis_length = 85.95669, eccentricity = 0.89439, convex_area = 13213.00000, extent = 0.57625, type = C + area = 11500.00000, perimeter = 424.39899, major_axis_length = 171.81744, minor_axis_length = 86.84950, eccentricity = 0.86284, convex_area = 11838.00000, extent = 0.78659, type = O + area = 14713.00000, perimeter = 493.21201, major_axis_length = 206.91612, minor_axis_length = 91.64847, eccentricity = 0.89656, convex_area = 15162.00000, extent = 0.59403, type = C + area = 13708.00000, perimeter = 486.39600, major_axis_length = 204.62373, minor_axis_length = 86.33973, eccentricity = 0.90662, convex_area = 14361.00000, extent = 0.58068, type = C + area = 12982.00000, perimeter = 466.15701, major_axis_length = 200.51947, minor_axis_length = 82.79620, eccentricity = 0.91077, convex_area = 13188.00000, extent = 0.62228, type = C + area = 16898.00000, perimeter = 526.94397, major_axis_length = 217.87180, minor_axis_length = 100.34503, eccentricity = 0.88762, convex_area = 17274.00000, extent = 0.62446, type = C + area = 13283.00000, perimeter = 477.28900, major_axis_length = 198.27066, minor_axis_length = 86.35545, eccentricity = 0.90017, convex_area = 13616.00000, extent = 0.61113, type = C + area = 14750.00000, perimeter = 482.82501, major_axis_length = 198.50336, minor_axis_length = 95.47469, eccentricity = 0.87674, convex_area = 15046.00000, extent = 0.60550, type = C + area = 14934.00000, perimeter = 488.27100, major_axis_length = 201.07996, minor_axis_length = 95.97958, eccentricity = 0.87873, convex_area = 15193.00000, extent = 0.65038, type = C + area = 13215.00000, perimeter = 479.60999, major_axis_length = 207.88800, minor_axis_length = 81.67606, eccentricity = 0.91959, convex_area = 13462.00000, extent = 0.53667, type = C + area = 11771.00000, perimeter = 441.85999, major_axis_length = 186.99777, minor_axis_length = 81.26962, eccentricity = 0.90062, convex_area = 12109.00000, extent = 0.61927, type = C + area = 14675.00000, perimeter = 493.27301, major_axis_length = 206.79372, minor_axis_length = 91.58907, eccentricity = 0.89657, convex_area = 15039.00000, extent = 0.56617, type = C + area = 13939.00000, perimeter = 484.39301, major_axis_length = 207.02628, minor_axis_length = 86.22347, eccentricity = 0.90914, convex_area = 14233.00000, extent = 0.64247, type = C + area = 15929.00000, perimeter = 513.94000, major_axis_length = 212.65752, minor_axis_length = 96.99799, eccentricity = 0.88992, convex_area = 16293.00000, extent = 0.72586, type = C + area = 11546.00000, perimeter = 429.52399, major_axis_length = 175.65869, minor_axis_length = 84.90682, eccentricity = 0.87542, convex_area = 11757.00000, extent = 0.60631, type = O + area = 8505.00000, perimeter = 359.10001, major_axis_length = 147.79889, minor_axis_length = 73.80869, eccentricity = 0.86638, convex_area = 8651.00000, extent = 0.67726, type = O + area = 9882.00000, perimeter = 392.29700, major_axis_length = 161.19398, minor_axis_length = 78.21048, eccentricity = 0.87441, convex_area = 10097.00000, extent = 0.65906, type = O + area = 11538.00000, perimeter = 446.85699, major_axis_length = 189.68529, minor_axis_length = 78.97429, eccentricity = 0.90921, convex_area = 11852.00000, extent = 0.57994, type = C + area = 13970.00000, perimeter = 481.88400, major_axis_length = 201.47258, minor_axis_length = 89.49722, eccentricity = 0.89592, convex_area = 14310.00000, extent = 0.56789, type = C + area = 11003.00000, perimeter = 417.05899, major_axis_length = 168.23433, minor_axis_length = 85.01897, eccentricity = 0.86291, convex_area = 11270.00000, extent = 0.61128, type = O + area = 12715.00000, perimeter = 462.61700, major_axis_length = 197.49364, minor_axis_length = 82.39475, eccentricity = 0.90881, convex_area = 12924.00000, extent = 0.68272, type = O + area = 13293.00000, perimeter = 470.26599, major_axis_length = 197.95935, minor_axis_length = 86.07607, eccentricity = 0.90052, convex_area = 13553.00000, extent = 0.71376, type = C + area = 10910.00000, perimeter = 413.09500, major_axis_length = 165.88043, minor_axis_length = 85.08663, eccentricity = 0.85842, convex_area = 11243.00000, extent = 0.70771, type = O + area = 11565.00000, perimeter = 428.48599, major_axis_length = 180.71834, minor_axis_length = 81.82832, eccentricity = 0.89161, convex_area = 11737.00000, extent = 0.76407, type = O + area = 14400.00000, perimeter = 481.50601, major_axis_length = 193.78296, minor_axis_length = 96.51619, eccentricity = 0.86714, convex_area = 14876.00000, extent = 0.68389, type = C + area = 12162.00000, perimeter = 454.77600, major_axis_length = 191.12080, minor_axis_length = 82.31743, eccentricity = 0.90249, convex_area = 12493.00000, extent = 0.74522, type = C + area = 14105.00000, perimeter = 496.22800, major_axis_length = 209.27542, minor_axis_length = 86.94195, eccentricity = 0.90962, convex_area = 14567.00000, extent = 0.60371, type = C + area = 12730.00000, perimeter = 462.37000, major_axis_length = 192.69362, minor_axis_length = 85.33430, eccentricity = 0.89660, convex_area = 13160.00000, extent = 0.63371, type = O + area = 11656.00000, perimeter = 434.39600, major_axis_length = 175.59007, minor_axis_length = 85.71838, eccentricity = 0.87275, convex_area = 11955.00000, extent = 0.59518, type = O + area = 13637.00000, perimeter = 482.51099, major_axis_length = 205.19894, minor_axis_length = 85.42422, eccentricity = 0.90923, convex_area = 13952.00000, extent = 0.55661, type = C + area = 11206.00000, perimeter = 427.13901, major_axis_length = 171.67592, minor_axis_length = 84.98907, eccentricity = 0.86886, convex_area = 11588.00000, extent = 0.60876, type = O + area = 11359.00000, perimeter = 420.87201, major_axis_length = 170.85472, minor_axis_length = 85.41528, eccentricity = 0.86607, convex_area = 11580.00000, extent = 0.61747, type = O + area = 11790.00000, perimeter = 432.32700, major_axis_length = 181.34070, minor_axis_length = 83.65613, eccentricity = 0.88723, convex_area = 11990.00000, extent = 0.60462, type = O + area = 16654.00000, perimeter = 519.03601, major_axis_length = 217.24971, minor_axis_length = 98.99957, eccentricity = 0.89014, convex_area = 16976.00000, extent = 0.76338, type = C + area = 10965.00000, perimeter = 416.97400, major_axis_length = 174.35175, minor_axis_length = 80.79745, eccentricity = 0.88614, convex_area = 11224.00000, extent = 0.70109, type = O + area = 12172.00000, perimeter = 433.59799, major_axis_length = 174.29941, minor_axis_length = 90.69495, eccentricity = 0.85396, convex_area = 12401.00000, extent = 0.63845, type = O + area = 12906.00000, perimeter = 461.20300, major_axis_length = 191.54367, minor_axis_length = 86.72736, eccentricity = 0.89162, convex_area = 13272.00000, extent = 0.73833, type = O + area = 10572.00000, perimeter = 412.25201, major_axis_length = 163.65118, minor_axis_length = 84.48180, eccentricity = 0.85645, convex_area = 10911.00000, extent = 0.66220, type = O + area = 14725.00000, perimeter = 472.90201, major_axis_length = 193.12355, minor_axis_length = 97.71609, eccentricity = 0.86255, convex_area = 15084.00000, extent = 0.63432, type = C + area = 13385.00000, perimeter = 477.92999, major_axis_length = 199.84268, minor_axis_length = 87.04651, eccentricity = 0.90015, convex_area = 13656.00000, extent = 0.56591, type = C + area = 10173.00000, perimeter = 406.96600, major_axis_length = 174.50359, minor_axis_length = 74.86865, eccentricity = 0.90329, convex_area = 10342.00000, extent = 0.76271, type = O + area = 12378.00000, perimeter = 459.97601, major_axis_length = 191.24950, minor_axis_length = 83.99847, eccentricity = 0.89838, convex_area = 12800.00000, extent = 0.56552, type = O + area = 11119.00000, perimeter = 427.04599, major_axis_length = 178.81313, minor_axis_length = 80.61784, eccentricity = 0.89260, convex_area = 11420.00000, extent = 0.79071, type = O + area = 14534.00000, perimeter = 483.64099, major_axis_length = 196.65082, minor_axis_length = 95.05068, eccentricity = 0.87543, convex_area = 14932.00000, extent = 0.64965, type = C + area = 12546.00000, perimeter = 442.06601, major_axis_length = 184.26483, minor_axis_length = 87.30493, eccentricity = 0.88063, convex_area = 12744.00000, extent = 0.67890, type = O + area = 14009.00000, perimeter = 481.97699, major_axis_length = 198.52509, minor_axis_length = 91.06323, eccentricity = 0.88859, convex_area = 14455.00000, extent = 0.68420, type = O + area = 12580.00000, perimeter = 479.21701, major_axis_length = 208.42375, minor_axis_length = 77.74034, eccentricity = 0.92783, convex_area = 12879.00000, extent = 0.57307, type = C + area = 13148.00000, perimeter = 481.72198, major_axis_length = 201.51889, minor_axis_length = 84.54153, eccentricity = 0.90775, convex_area = 13572.00000, extent = 0.62375, type = C + area = 14556.00000, perimeter = 487.41901, major_axis_length = 208.73126, minor_axis_length = 89.19512, eccentricity = 0.90410, convex_area = 14819.00000, extent = 0.77649, type = C + area = 14824.00000, perimeter = 499.07501, major_axis_length = 212.48642, minor_axis_length = 89.89487, eccentricity = 0.90610, convex_area = 15141.00000, extent = 0.57920, type = C + area = 13954.00000, perimeter = 481.28799, major_axis_length = 204.77745, minor_axis_length = 87.50462, eccentricity = 0.90410, convex_area = 14277.00000, extent = 0.58113, type = C + area = 11592.00000, perimeter = 428.42700, major_axis_length = 177.62151, minor_axis_length = 83.73835, eccentricity = 0.88190, convex_area = 11764.00000, extent = 0.75273, type = O + area = 12587.00000, perimeter = 461.78101, major_axis_length = 193.99495, minor_axis_length = 83.73389, eccentricity = 0.90205, convex_area = 12910.00000, extent = 0.66952, type = O + area = 12391.00000, perimeter = 437.61899, major_axis_length = 175.36723, minor_axis_length = 90.81943, eccentricity = 0.85545, convex_area = 12600.00000, extent = 0.63478, type = O + area = 10901.00000, perimeter = 410.39001, major_axis_length = 174.69858, minor_axis_length = 79.86489, eccentricity = 0.88939, convex_area = 11038.00000, extent = 0.82696, type = O + area = 15118.00000, perimeter = 514.96698, major_axis_length = 224.18660, minor_axis_length = 87.69224, eccentricity = 0.92032, convex_area = 15454.00000, extent = 0.65412, type = C + area = 12153.00000, perimeter = 451.21100, major_axis_length = 187.76920, minor_axis_length = 83.64883, eccentricity = 0.89529, convex_area = 12497.00000, extent = 0.70649, type = C + area = 11658.00000, perimeter = 443.26099, major_axis_length = 179.81419, minor_axis_length = 83.87640, eccentricity = 0.88454, convex_area = 12024.00000, extent = 0.59310, type = O + area = 15777.00000, perimeter = 515.68402, major_axis_length = 218.69824, minor_axis_length = 93.20509, eccentricity = 0.90464, convex_area = 16111.00000, extent = 0.56719, type = C + area = 11732.00000, perimeter = 441.12299, major_axis_length = 176.48349, minor_axis_length = 86.19247, eccentricity = 0.87263, convex_area = 12076.00000, extent = 0.63747, type = O + area = 12174.00000, perimeter = 435.36801, major_axis_length = 174.20001, minor_axis_length = 90.66159, eccentricity = 0.85389, convex_area = 12471.00000, extent = 0.66387, type = O + area = 15967.00000, perimeter = 511.61499, major_axis_length = 211.69078, minor_axis_length = 96.97523, eccentricity = 0.88890, convex_area = 16329.00000, extent = 0.58668, type = C + area = 14890.00000, perimeter = 502.54099, major_axis_length = 206.22853, minor_axis_length = 93.45731, eccentricity = 0.89142, convex_area = 15349.00000, extent = 0.58982, type = C + area = 10919.00000, perimeter = 413.08099, major_axis_length = 167.12601, minor_axis_length = 84.21858, eccentricity = 0.86375, convex_area = 11120.00000, extent = 0.63989, type = O + area = 14831.00000, perimeter = 493.76099, major_axis_length = 208.26854, minor_axis_length = 91.54232, eccentricity = 0.89822, convex_area = 15099.00000, extent = 0.79023, type = C + area = 13189.00000, perimeter = 482.36700, major_axis_length = 203.71744, minor_axis_length = 84.41487, eccentricity = 0.91011, convex_area = 13635.00000, extent = 0.59636, type = C + area = 12758.00000, perimeter = 456.63800, major_axis_length = 190.36832, minor_axis_length = 86.16264, eccentricity = 0.89171, convex_area = 13177.00000, extent = 0.70335, type = C + area = 13615.00000, perimeter = 468.05600, major_axis_length = 192.82779, minor_axis_length = 91.15475, eccentricity = 0.88121, convex_area = 13855.00000, extent = 0.58363, type = C + area = 13737.00000, perimeter = 484.38501, major_axis_length = 209.54352, minor_axis_length = 84.16575, eccentricity = 0.91579, convex_area = 13944.00000, extent = 0.60521, type = C + area = 14013.00000, perimeter = 478.27701, major_axis_length = 194.78256, minor_axis_length = 92.95033, eccentricity = 0.87879, convex_area = 14374.00000, extent = 0.60401, type = C + area = 12544.00000, perimeter = 442.17200, major_axis_length = 178.02271, minor_axis_length = 90.75763, eccentricity = 0.86029, convex_area = 12835.00000, extent = 0.77075, type = O + area = 10847.00000, perimeter = 417.67001, major_axis_length = 168.35777, minor_axis_length = 82.87085, eccentricity = 0.87046, convex_area = 11152.00000, extent = 0.62411, type = O + area = 11322.00000, perimeter = 435.20099, major_axis_length = 180.42850, minor_axis_length = 82.20979, eccentricity = 0.89017, convex_area = 11650.00000, extent = 0.65941, type = O + area = 11511.00000, perimeter = 439.51300, major_axis_length = 183.24234, minor_axis_length = 81.79848, eccentricity = 0.89484, convex_area = 11736.00000, extent = 0.57317, type = O + area = 16258.00000, perimeter = 518.77002, major_axis_length = 214.28647, minor_axis_length = 97.37901, eccentricity = 0.89078, convex_area = 16551.00000, extent = 0.70758, type = C + area = 12042.00000, perimeter = 433.76999, major_axis_length = 178.77644, minor_axis_length = 86.52510, eccentricity = 0.87508, convex_area = 12257.00000, extent = 0.78644, type = O + area = 14897.00000, perimeter = 509.63101, major_axis_length = 219.67192, minor_axis_length = 87.50060, eccentricity = 0.91724, convex_area = 15330.00000, extent = 0.71366, type = C + area = 13234.00000, perimeter = 472.35001, major_axis_length = 198.57501, minor_axis_length = 86.26437, eccentricity = 0.90071, convex_area = 13512.00000, extent = 0.74265, type = C + area = 12571.00000, perimeter = 453.33701, major_axis_length = 188.70255, minor_axis_length = 86.54855, eccentricity = 0.88862, convex_area = 12847.00000, extent = 0.79182, type = O + area = 14349.00000, perimeter = 496.94601, major_axis_length = 213.54402, minor_axis_length = 86.16077, eccentricity = 0.91499, convex_area = 14678.00000, extent = 0.66684, type = C + area = 14709.00000, perimeter = 515.84998, major_axis_length = 222.72284, minor_axis_length = 85.43156, eccentricity = 0.92351, convex_area = 14941.00000, extent = 0.52480, type = C + area = 15868.00000, perimeter = 519.52899, major_axis_length = 219.17892, minor_axis_length = 93.26965, eccentricity = 0.90494, convex_area = 16281.00000, extent = 0.57126, type = C + area = 13839.00000, perimeter = 481.58801, major_axis_length = 201.34279, minor_axis_length = 88.88830, eccentricity = 0.89727, convex_area = 14165.00000, extent = 0.71694, type = C + area = 10613.00000, perimeter = 423.32901, major_axis_length = 172.11276, minor_axis_length = 79.71240, eccentricity = 0.88628, convex_area = 10881.00000, extent = 0.58697, type = O + area = 12917.00000, perimeter = 473.23499, major_axis_length = 200.32533, minor_axis_length = 83.20118, eccentricity = 0.90967, convex_area = 13302.00000, extent = 0.66610, type = C + area = 12301.00000, perimeter = 440.00699, major_axis_length = 175.41667, minor_axis_length = 90.57800, eccentricity = 0.85637, convex_area = 12591.00000, extent = 0.66962, type = O + area = 12289.00000, perimeter = 451.57599, major_axis_length = 189.72537, minor_axis_length = 83.07783, eccentricity = 0.89903, convex_area = 12649.00000, extent = 0.68823, type = O + area = 16037.00000, perimeter = 523.91400, major_axis_length = 223.02344, minor_axis_length = 92.54744, eccentricity = 0.90984, convex_area = 16404.00000, extent = 0.80105, type = C + area = 15276.00000, perimeter = 506.68500, major_axis_length = 212.13568, minor_axis_length = 93.06375, eccentricity = 0.89863, convex_area = 15574.00000, extent = 0.57923, type = C + area = 14369.00000, perimeter = 491.04401, major_axis_length = 207.94737, minor_axis_length = 89.12215, eccentricity = 0.90350, convex_area = 14679.00000, extent = 0.60399, type = C + area = 14892.00000, perimeter = 503.33899, major_axis_length = 209.62090, minor_axis_length = 91.80297, eccentricity = 0.89900, convex_area = 15338.00000, extent = 0.65566, type = C + area = 12337.00000, perimeter = 446.22000, major_axis_length = 180.54181, minor_axis_length = 87.79291, eccentricity = 0.87381, convex_area = 12628.00000, extent = 0.61293, type = O + area = 14305.00000, perimeter = 490.18201, major_axis_length = 206.88472, minor_axis_length = 88.67580, eccentricity = 0.90348, convex_area = 14695.00000, extent = 0.65418, type = C + area = 11903.00000, perimeter = 433.71301, major_axis_length = 180.90604, minor_axis_length = 84.36025, eccentricity = 0.88462, convex_area = 12104.00000, extent = 0.68645, type = O + area = 10788.00000, perimeter = 414.90701, major_axis_length = 169.60159, minor_axis_length = 82.25015, eccentricity = 0.87454, convex_area = 11083.00000, extent = 0.64832, type = O + area = 13875.00000, perimeter = 490.83801, major_axis_length = 207.13223, minor_axis_length = 87.32526, eccentricity = 0.90679, convex_area = 14243.00000, extent = 0.57563, type = C + area = 11434.00000, perimeter = 404.70999, major_axis_length = 161.07927, minor_axis_length = 90.86819, eccentricity = 0.82569, convex_area = 11591.00000, extent = 0.80295, type = O + area = 15700.00000, perimeter = 505.30301, major_axis_length = 209.98842, minor_axis_length = 96.19489, eccentricity = 0.88890, convex_area = 16040.00000, extent = 0.59007, type = C + area = 10409.00000, perimeter = 391.57901, major_axis_length = 159.81532, minor_axis_length = 83.15290, eccentricity = 0.85398, convex_area = 10549.00000, extent = 0.65330, type = O + area = 11226.00000, perimeter = 413.54999, major_axis_length = 168.53348, minor_axis_length = 85.62770, eccentricity = 0.86131, convex_area = 11424.00000, extent = 0.77240, type = O + area = 11515.00000, perimeter = 425.49899, major_axis_length = 177.83521, minor_axis_length = 83.02624, eccentricity = 0.88433, convex_area = 11672.00000, extent = 0.80773, type = O + area = 15026.00000, perimeter = 504.47198, major_axis_length = 212.47598, minor_axis_length = 91.13345, eccentricity = 0.90335, convex_area = 15285.00000, extent = 0.72240, type = C + area = 13460.00000, perimeter = 451.04800, major_axis_length = 181.47499, minor_axis_length = 95.35158, eccentricity = 0.85084, convex_area = 13697.00000, extent = 0.72600, type = O + area = 11443.00000, perimeter = 427.23099, major_axis_length = 176.98198, minor_axis_length = 82.91759, eccentricity = 0.88346, convex_area = 11618.00000, extent = 0.62898, type = O + area = 10509.00000, perimeter = 405.05701, major_axis_length = 166.50410, minor_axis_length = 81.15012, eccentricity = 0.87319, convex_area = 10722.00000, extent = 0.67443, type = O + area = 13309.00000, perimeter = 460.92200, major_axis_length = 191.46297, minor_axis_length = 88.95414, eccentricity = 0.88552, convex_area = 13540.00000, extent = 0.65375, type = C + area = 15593.00000, perimeter = 512.42798, major_axis_length = 216.61571, minor_axis_length = 92.91002, eccentricity = 0.90334, convex_area = 16050.00000, extent = 0.77747, type = C + area = 12988.00000, perimeter = 461.99100, major_axis_length = 188.77290, minor_axis_length = 88.50922, eccentricity = 0.88327, convex_area = 13259.00000, extent = 0.59515, type = C + area = 16944.00000, perimeter = 543.12598, major_axis_length = 236.12521, minor_axis_length = 92.68103, eccentricity = 0.91975, convex_area = 17189.00000, extent = 0.65194, type = C + area = 10591.00000, perimeter = 410.73401, major_axis_length = 169.75481, minor_axis_length = 80.39870, eccentricity = 0.88073, convex_area = 10751.00000, extent = 0.60334, type = O + area = 12619.00000, perimeter = 470.61401, major_axis_length = 202.76451, minor_axis_length = 80.17954, eccentricity = 0.91850, convex_area = 12937.00000, extent = 0.60794, type = C + area = 12583.00000, perimeter = 434.00299, major_axis_length = 171.65707, minor_axis_length = 94.46523, eccentricity = 0.83496, convex_area = 12897.00000, extent = 0.74328, type = O + area = 9819.00000, perimeter = 410.64801, major_axis_length = 172.62126, minor_axis_length = 73.48200, eccentricity = 0.90487, convex_area = 10096.00000, extent = 0.58825, type = O + area = 12278.00000, perimeter = 453.69299, major_axis_length = 184.05016, minor_axis_length = 86.66009, eccentricity = 0.88221, convex_area = 12601.00000, extent = 0.62983, type = O + area = 11247.00000, perimeter = 419.19101, major_axis_length = 173.84549, minor_axis_length = 82.95931, eccentricity = 0.87879, convex_area = 11439.00000, extent = 0.69272, type = O + area = 12249.00000, perimeter = 440.38599, major_axis_length = 178.58810, minor_axis_length = 88.66050, eccentricity = 0.86806, convex_area = 12538.00000, extent = 0.77320, type = O + area = 14947.00000, perimeter = 506.65100, major_axis_length = 214.34431, minor_axis_length = 89.52690, eccentricity = 0.90860, convex_area = 15364.00000, extent = 0.56300, type = C + area = 17564.00000, perimeter = 527.11603, major_axis_length = 221.60294, minor_axis_length = 101.65880, eccentricity = 0.88857, convex_area = 17808.00000, extent = 0.77116, type = C + area = 12968.00000, perimeter = 469.34100, major_axis_length = 199.90503, minor_axis_length = 83.03522, eccentricity = 0.90965, convex_area = 13243.00000, extent = 0.64125, type = C + area = 11128.00000, perimeter = 423.23700, major_axis_length = 173.39534, minor_axis_length = 82.44135, eccentricity = 0.87974, convex_area = 11372.00000, extent = 0.59915, type = O + area = 11502.00000, perimeter = 423.83200, major_axis_length = 167.89209, minor_axis_length = 88.34924, eccentricity = 0.85034, convex_area = 11770.00000, extent = 0.62760, type = O + area = 15172.00000, perimeter = 504.15799, major_axis_length = 213.22467, minor_axis_length = 91.66706, eccentricity = 0.90287, convex_area = 15477.00000, extent = 0.62244, type = C + area = 11758.00000, perimeter = 436.38300, major_axis_length = 177.34860, minor_axis_length = 85.96658, eccentricity = 0.87466, convex_area = 12190.00000, extent = 0.76356, type = O + area = 13340.00000, perimeter = 474.68201, major_axis_length = 201.38533, minor_axis_length = 85.88859, eccentricity = 0.90449, convex_area = 13603.00000, extent = 0.70166, type = O + area = 17437.00000, perimeter = 536.89899, major_axis_length = 230.25746, minor_axis_length = 97.31148, eccentricity = 0.90631, convex_area = 17650.00000, extent = 0.75915, type = C + area = 12569.00000, perimeter = 454.10400, major_axis_length = 192.09172, minor_axis_length = 83.93651, eccentricity = 0.89948, convex_area = 12811.00000, extent = 0.56678, type = O + area = 14026.00000, perimeter = 494.60300, major_axis_length = 212.81454, minor_axis_length = 84.92227, eccentricity = 0.91693, convex_area = 14267.00000, extent = 0.54640, type = C + area = 13241.00000, perimeter = 466.98999, major_axis_length = 193.54422, minor_axis_length = 88.05835, eccentricity = 0.89050, convex_area = 13577.00000, extent = 0.57765, type = C + area = 11243.00000, perimeter = 419.02701, major_axis_length = 168.20508, minor_axis_length = 86.01402, eccentricity = 0.85936, convex_area = 11421.00000, extent = 0.63765, type = O + area = 15488.00000, perimeter = 507.88300, major_axis_length = 206.63953, minor_axis_length = 96.87208, eccentricity = 0.88331, convex_area = 15968.00000, extent = 0.60255, type = C + area = 10666.00000, perimeter = 416.42401, major_axis_length = 173.89351, minor_axis_length = 78.45744, eccentricity = 0.89243, convex_area = 10825.00000, extent = 0.59474, type = O + area = 9878.00000, perimeter = 406.97800, major_axis_length = 169.36671, minor_axis_length = 74.97759, eccentricity = 0.89667, convex_area = 10098.00000, extent = 0.58133, type = O + area = 11635.00000, perimeter = 449.30899, major_axis_length = 197.57065, minor_axis_length = 75.25814, eccentricity = 0.92461, convex_area = 11842.00000, extent = 0.52189, type = O + area = 12676.00000, perimeter = 437.95599, major_axis_length = 178.23711, minor_axis_length = 91.69775, eccentricity = 0.85751, convex_area = 12887.00000, extent = 0.69124, type = O + area = 13952.00000, perimeter = 484.94699, major_axis_length = 201.32283, minor_axis_length = 89.51038, eccentricity = 0.89572, convex_area = 14349.00000, extent = 0.65641, type = C + area = 12881.00000, perimeter = 457.78400, major_axis_length = 192.62717, minor_axis_length = 86.60135, eccentricity = 0.89324, convex_area = 13109.00000, extent = 0.57203, type = O + area = 12043.00000, perimeter = 442.07001, major_axis_length = 181.10954, minor_axis_length = 85.57944, eccentricity = 0.88132, convex_area = 12276.00000, extent = 0.60017, type = O + area = 15691.00000, perimeter = 511.84900, major_axis_length = 213.61217, minor_axis_length = 94.91935, eccentricity = 0.89585, convex_area = 16124.00000, extent = 0.65915, type = C + area = 15452.00000, perimeter = 513.26202, major_axis_length = 220.03908, minor_axis_length = 90.55234, eccentricity = 0.91140, convex_area = 15775.00000, extent = 0.78119, type = C + area = 12239.00000, perimeter = 473.51401, major_axis_length = 208.04790, minor_axis_length = 75.60644, eccentricity = 0.93163, convex_area = 12622.00000, extent = 0.51720, type = C + area = 13586.00000, perimeter = 467.02399, major_axis_length = 191.15112, minor_axis_length = 91.84377, eccentricity = 0.87701, convex_area = 13888.00000, extent = 0.79871, type = O + area = 10982.00000, perimeter = 411.57401, major_axis_length = 164.91136, minor_axis_length = 86.45071, eccentricity = 0.85158, convex_area = 11289.00000, extent = 0.70379, type = O + area = 11264.00000, perimeter = 423.39099, major_axis_length = 172.13951, minor_axis_length = 84.22161, eccentricity = 0.87214, convex_area = 11476.00000, extent = 0.73243, type = O + area = 12043.00000, perimeter = 441.15601, major_axis_length = 175.53206, minor_axis_length = 88.68825, eccentricity = 0.86297, convex_area = 12376.00000, extent = 0.66772, type = O + area = 11295.00000, perimeter = 417.33701, major_axis_length = 174.01994, minor_axis_length = 83.14223, eccentricity = 0.87848, convex_area = 11476.00000, extent = 0.76858, type = O + area = 11377.00000, perimeter = 456.45401, major_axis_length = 200.84261, minor_axis_length = 72.35117, eccentricity = 0.93286, convex_area = 11573.00000, extent = 0.75225, type = C + area = 11104.00000, perimeter = 420.97000, major_axis_length = 164.93903, minor_axis_length = 87.29203, eccentricity = 0.84847, convex_area = 11429.00000, extent = 0.63271, type = O + area = 12148.00000, perimeter = 440.62000, major_axis_length = 184.95331, minor_axis_length = 84.69785, eccentricity = 0.88898, convex_area = 12328.00000, extent = 0.63429, type = O + area = 15790.00000, perimeter = 516.47998, major_axis_length = 218.42590, minor_axis_length = 92.93594, eccentricity = 0.90497, convex_area = 16197.00000, extent = 0.75015, type = C + area = 11840.00000, perimeter = 420.14099, major_axis_length = 166.92889, minor_axis_length = 90.98129, eccentricity = 0.83842, convex_area = 12021.00000, extent = 0.79661, type = O + area = 10645.00000, perimeter = 417.80200, major_axis_length = 172.54459, minor_axis_length = 79.69215, eccentricity = 0.88695, convex_area = 10838.00000, extent = 0.61422, type = O + area = 14015.00000, perimeter = 475.72400, major_axis_length = 195.32164, minor_axis_length = 92.48479, eccentricity = 0.88079, convex_area = 14492.00000, extent = 0.74862, type = C + area = 13233.00000, perimeter = 459.85901, major_axis_length = 192.59071, minor_axis_length = 88.34672, eccentricity = 0.88858, convex_area = 13436.00000, extent = 0.58874, type = O + area = 14853.00000, perimeter = 488.56100, major_axis_length = 201.56313, minor_axis_length = 95.47245, eccentricity = 0.88071, convex_area = 15224.00000, extent = 0.67853, type = C + area = 11621.00000, perimeter = 402.21100, major_axis_length = 153.58499, minor_axis_length = 96.63773, eccentricity = 0.77723, convex_area = 11797.00000, extent = 0.81011, type = O + area = 13072.00000, perimeter = 484.78799, major_axis_length = 206.88693, minor_axis_length = 81.92672, eccentricity = 0.91825, convex_area = 13593.00000, extent = 0.70416, type = C + area = 11189.00000, perimeter = 427.47101, major_axis_length = 176.94299, minor_axis_length = 81.42934, eccentricity = 0.88781, convex_area = 11422.00000, extent = 0.59911, type = O + area = 16602.00000, perimeter = 528.35303, major_axis_length = 224.41542, minor_axis_length = 95.47276, eccentricity = 0.90499, convex_area = 16900.00000, extent = 0.56548, type = C + area = 14656.00000, perimeter = 494.31100, major_axis_length = 206.02007, minor_axis_length = 91.73097, eccentricity = 0.89540, convex_area = 15072.00000, extent = 0.61544, type = C + area = 12685.00000, perimeter = 468.59601, major_axis_length = 199.65999, minor_axis_length = 82.19839, eccentricity = 0.91132, convex_area = 13042.00000, extent = 0.69591, type = C + area = 17246.00000, perimeter = 540.54199, major_axis_length = 225.98886, minor_axis_length = 98.57315, eccentricity = 0.89986, convex_area = 17704.00000, extent = 0.57393, type = C + area = 15074.00000, perimeter = 497.17801, major_axis_length = 205.63982, minor_axis_length = 94.62220, eccentricity = 0.88785, convex_area = 15536.00000, extent = 0.72111, type = C + area = 9749.00000, perimeter = 398.68201, major_axis_length = 162.88123, minor_axis_length = 77.19672, eccentricity = 0.88055, convex_area = 9941.00000, extent = 0.59913, type = O + area = 10595.00000, perimeter = 403.82001, major_axis_length = 163.12149, minor_axis_length = 83.77962, eccentricity = 0.85803, convex_area = 10832.00000, extent = 0.61923, type = O + area = 12720.00000, perimeter = 449.62399, major_axis_length = 178.61478, minor_axis_length = 92.75169, eccentricity = 0.85460, convex_area = 13095.00000, extent = 0.74386, type = C + area = 12720.00000, perimeter = 461.80600, major_axis_length = 197.94400, minor_axis_length = 82.81128, eccentricity = 0.90828, convex_area = 12974.00000, extent = 0.75678, type = C + area = 13093.00000, perimeter = 470.10001, major_axis_length = 197.19702, minor_axis_length = 85.79729, eccentricity = 0.90039, convex_area = 13358.00000, extent = 0.55739, type = O + area = 11928.00000, perimeter = 432.52301, major_axis_length = 171.01953, minor_axis_length = 90.06602, eccentricity = 0.85009, convex_area = 12195.00000, extent = 0.63487, type = O + area = 10427.00000, perimeter = 405.57800, major_axis_length = 170.56107, minor_axis_length = 78.14708, eccentricity = 0.88886, convex_area = 10588.00000, extent = 0.67607, type = O + area = 13372.00000, perimeter = 470.40302, major_axis_length = 196.08147, minor_axis_length = 88.71108, eccentricity = 0.89181, convex_area = 13745.00000, extent = 0.58362, type = C + area = 12387.00000, perimeter = 442.26999, major_axis_length = 177.71964, minor_axis_length = 90.97150, eccentricity = 0.85906, convex_area = 12754.00000, extent = 0.58507, type = O + area = 14713.00000, perimeter = 500.16000, major_axis_length = 207.15820, minor_axis_length = 91.46106, eccentricity = 0.89726, convex_area = 15111.00000, extent = 0.57193, type = C + area = 11437.00000, perimeter = 430.61200, major_axis_length = 184.13446, minor_axis_length = 79.24054, eccentricity = 0.90267, convex_area = 11587.00000, extent = 0.68794, type = O + area = 11030.00000, perimeter = 417.48801, major_axis_length = 172.44844, minor_axis_length = 82.73074, eccentricity = 0.87741, convex_area = 11275.00000, extent = 0.65143, type = O + area = 10214.00000, perimeter = 392.23999, major_axis_length = 158.93234, minor_axis_length = 82.07256, eccentricity = 0.85635, convex_area = 10371.00000, extent = 0.66454, type = O + area = 15558.00000, perimeter = 511.71799, major_axis_length = 213.97760, minor_axis_length = 94.46471, eccentricity = 0.89728, convex_area = 15926.00000, extent = 0.63244, type = C + area = 11480.00000, perimeter = 432.82401, major_axis_length = 174.96246, minor_axis_length = 85.08846, eccentricity = 0.87378, convex_area = 11833.00000, extent = 0.59084, type = O + area = 13118.00000, perimeter = 480.08600, major_axis_length = 207.10904, minor_axis_length = 81.70571, eccentricity = 0.91889, convex_area = 13652.00000, extent = 0.56877, type = C + area = 12574.00000, perimeter = 444.63101, major_axis_length = 174.56026, minor_axis_length = 93.24240, eccentricity = 0.84539, convex_area = 12964.00000, extent = 0.65473, type = O + area = 11114.00000, perimeter = 413.07901, major_axis_length = 170.09941, minor_axis_length = 84.00699, eccentricity = 0.86954, convex_area = 11293.00000, extent = 0.76040, type = O + area = 12075.00000, perimeter = 430.47101, major_axis_length = 176.18282, minor_axis_length = 88.51406, eccentricity = 0.86464, convex_area = 12248.00000, extent = 0.80233, type = O + area = 14317.00000, perimeter = 499.11099, major_axis_length = 206.77942, minor_axis_length = 89.82534, eccentricity = 0.90072, convex_area = 14815.00000, extent = 0.80424, type = C + area = 12406.00000, perimeter = 433.57199, major_axis_length = 175.89287, minor_axis_length = 91.14063, eccentricity = 0.85528, convex_area = 12639.00000, extent = 0.79653, type = O + area = 15159.00000, perimeter = 515.13098, major_axis_length = 216.06192, minor_axis_length = 91.02570, eccentricity = 0.90692, convex_area = 15685.00000, extent = 0.65071, type = C + area = 14232.00000, perimeter = 505.88501, major_axis_length = 214.10287, minor_axis_length = 86.41411, eccentricity = 0.91493, convex_area = 14702.00000, extent = 0.52602, type = C + area = 12832.00000, perimeter = 464.52600, major_axis_length = 196.61118, minor_axis_length = 83.98689, eccentricity = 0.90417, convex_area = 13148.00000, extent = 0.56291, type = C + area = 10559.00000, perimeter = 424.84698, major_axis_length = 179.20773, minor_axis_length = 76.38802, eccentricity = 0.90460, convex_area = 10770.00000, extent = 0.67033, type = O + area = 10784.00000, perimeter = 424.14401, major_axis_length = 176.95996, minor_axis_length = 78.46128, eccentricity = 0.89633, convex_area = 11091.00000, extent = 0.63690, type = O + area = 13024.00000, perimeter = 459.77100, major_axis_length = 191.90500, minor_axis_length = 88.03445, eccentricity = 0.88857, convex_area = 13325.00000, extent = 0.77969, type = C + area = 12300.00000, perimeter = 434.64700, major_axis_length = 177.62546, minor_axis_length = 89.04189, eccentricity = 0.86528, convex_area = 12472.00000, extent = 0.78524, type = O + area = 11759.00000, perimeter = 426.13800, major_axis_length = 173.68907, minor_axis_length = 87.18202, eccentricity = 0.86490, convex_area = 11941.00000, extent = 0.69366, type = O + area = 12287.00000, perimeter = 444.17499, major_axis_length = 181.92105, minor_axis_length = 87.73918, eccentricity = 0.87601, convex_area = 12508.00000, extent = 0.65374, type = O + area = 13484.00000, perimeter = 480.78601, major_axis_length = 204.20760, minor_axis_length = 84.90129, eccentricity = 0.90947, convex_area = 13827.00000, extent = 0.65856, type = C + area = 15655.00000, perimeter = 513.30103, major_axis_length = 216.09900, minor_axis_length = 93.56715, eccentricity = 0.90140, convex_area = 16085.00000, extent = 0.56565, type = C + area = 13314.00000, perimeter = 474.08701, major_axis_length = 203.94801, minor_axis_length = 83.66284, eccentricity = 0.91199, convex_area = 13627.00000, extent = 0.74714, type = C + area = 11742.00000, perimeter = 428.03400, major_axis_length = 171.23189, minor_axis_length = 88.02340, eccentricity = 0.85775, convex_area = 11951.00000, extent = 0.63044, type = O + area = 15258.00000, perimeter = 505.16299, major_axis_length = 214.01933, minor_axis_length = 91.61250, eccentricity = 0.90375, convex_area = 15497.00000, extent = 0.57413, type = C + area = 10828.00000, perimeter = 410.06900, major_axis_length = 166.37714, minor_axis_length = 84.09660, eccentricity = 0.86285, convex_area = 11093.00000, extent = 0.72852, type = O + area = 13273.00000, perimeter = 463.33301, major_axis_length = 197.45279, minor_axis_length = 85.99747, eccentricity = 0.90017, convex_area = 13462.00000, extent = 0.58582, type = C + area = 10847.00000, perimeter = 414.45099, major_axis_length = 165.58517, minor_axis_length = 85.00729, eccentricity = 0.85816, convex_area = 11148.00000, extent = 0.67972, type = O + area = 14982.00000, perimeter = 505.07800, major_axis_length = 217.36499, minor_axis_length = 88.59523, eccentricity = 0.91317, convex_area = 15325.00000, extent = 0.55924, type = C + area = 11525.00000, perimeter = 432.29901, major_axis_length = 177.11610, minor_axis_length = 83.65916, eccentricity = 0.88142, convex_area = 11794.00000, extent = 0.64497, type = O + area = 13524.00000, perimeter = 472.73499, major_axis_length = 192.08578, minor_axis_length = 91.37777, eccentricity = 0.87960, convex_area = 13947.00000, extent = 0.59630, type = O + area = 11883.00000, perimeter = 440.54199, major_axis_length = 187.20535, minor_axis_length = 82.01987, eccentricity = 0.89891, convex_area = 12057.00000, extent = 0.56211, type = O + area = 11719.00000, perimeter = 436.42499, major_axis_length = 180.11569, minor_axis_length = 83.87120, eccentricity = 0.88497, convex_area = 11922.00000, extent = 0.68332, type = O + area = 14622.00000, perimeter = 481.61600, major_axis_length = 200.05356, minor_axis_length = 94.38364, eccentricity = 0.88171, convex_area = 14845.00000, extent = 0.60895, type = C + area = 14189.00000, perimeter = 483.93701, major_axis_length = 203.37759, minor_axis_length = 90.07769, eccentricity = 0.89657, convex_area = 14538.00000, extent = 0.71312, type = C + area = 16990.00000, perimeter = 535.33899, major_axis_length = 224.08717, minor_axis_length = 98.66264, eccentricity = 0.89786, convex_area = 17371.00000, extent = 0.60091, type = C + area = 11027.00000, perimeter = 422.38901, major_axis_length = 172.86743, minor_axis_length = 82.66507, eccentricity = 0.87825, convex_area = 11350.00000, extent = 0.78183, type = O + area = 13445.00000, perimeter = 490.81500, major_axis_length = 216.17297, minor_axis_length = 79.60010, eccentricity = 0.92974, convex_area = 13640.00000, extent = 0.53544, type = C + area = 11542.00000, perimeter = 426.40399, major_axis_length = 175.27608, minor_axis_length = 84.45689, eccentricity = 0.87625, convex_area = 11738.00000, extent = 0.62728, type = O + area = 13777.00000, perimeter = 480.83600, major_axis_length = 197.00587, minor_axis_length = 90.18475, eccentricity = 0.88907, convex_area = 14266.00000, extent = 0.63264, type = C + area = 12867.00000, perimeter = 449.07999, major_axis_length = 181.70056, minor_axis_length = 91.34106, eccentricity = 0.86446, convex_area = 13152.00000, extent = 0.64906, type = O + area = 14360.00000, perimeter = 494.45700, major_axis_length = 205.09700, minor_axis_length = 90.11700, eccentricity = 0.89830, convex_area = 14825.00000, extent = 0.65751, type = C + area = 14697.00000, perimeter = 495.88300, major_axis_length = 208.15839, minor_axis_length = 90.96687, eccentricity = 0.89946, convex_area = 15073.00000, extent = 0.59492, type = C + area = 11838.00000, perimeter = 440.25601, major_axis_length = 181.32327, minor_axis_length = 83.83839, eccentricity = 0.88669, convex_area = 12165.00000, extent = 0.60152, type = C + area = 8848.00000, perimeter = 369.77802, major_axis_length = 150.27876, minor_axis_length = 76.50945, eccentricity = 0.86070, convex_area = 9009.00000, extent = 0.63581, type = O + area = 14522.00000, perimeter = 499.82501, major_axis_length = 217.67436, minor_axis_length = 85.68789, eccentricity = 0.91926, convex_area = 14719.00000, extent = 0.53194, type = C + area = 13286.00000, perimeter = 480.07101, major_axis_length = 202.54840, minor_axis_length = 85.11695, eccentricity = 0.90742, convex_area = 13633.00000, extent = 0.55014, type = C + area = 11449.00000, perimeter = 411.29999, major_axis_length = 156.92549, minor_axis_length = 94.25743, eccentricity = 0.79951, convex_area = 11696.00000, extent = 0.72425, type = O + area = 11397.00000, perimeter = 425.75601, major_axis_length = 172.88916, minor_axis_length = 85.73677, eccentricity = 0.86838, convex_area = 11726.00000, extent = 0.75297, type = O + area = 11811.00000, perimeter = 427.75101, major_axis_length = 170.10205, minor_axis_length = 89.35463, eccentricity = 0.85092, convex_area = 12066.00000, extent = 0.64541, type = O + area = 16412.00000, perimeter = 508.36700, major_axis_length = 210.57486, minor_axis_length = 99.99418, eccentricity = 0.88006, convex_area = 16759.00000, extent = 0.73059, type = C + area = 12184.00000, perimeter = 434.40799, major_axis_length = 181.74608, minor_axis_length = 85.97195, eccentricity = 0.88104, convex_area = 12336.00000, extent = 0.72871, type = O + area = 15322.00000, perimeter = 506.39801, major_axis_length = 217.86375, minor_axis_length = 90.17707, eccentricity = 0.91032, convex_area = 15531.00000, extent = 0.81362, type = C + area = 13677.00000, perimeter = 485.52899, major_axis_length = 207.39461, minor_axis_length = 85.14314, eccentricity = 0.91184, convex_area = 13874.00000, extent = 0.58566, type = C + area = 12771.00000, perimeter = 449.26001, major_axis_length = 190.35739, minor_axis_length = 85.92546, eccentricity = 0.89233, convex_area = 12939.00000, extent = 0.77607, type = O + area = 11377.00000, perimeter = 452.40799, major_axis_length = 201.30626, minor_axis_length = 72.28142, eccentricity = 0.93331, convex_area = 11555.00000, extent = 0.52555, type = C + area = 14101.00000, perimeter = 479.31601, major_axis_length = 199.08714, minor_axis_length = 90.98013, eccentricity = 0.88947, convex_area = 14383.00000, extent = 0.61969, type = C + area = 10367.00000, perimeter = 413.95999, major_axis_length = 176.56651, minor_axis_length = 75.28862, eccentricity = 0.90453, convex_area = 10529.00000, extent = 0.56038, type = O + area = 10015.00000, perimeter = 402.17899, major_axis_length = 160.38683, minor_axis_length = 81.07691, eccentricity = 0.86282, convex_area = 10338.00000, extent = 0.69462, type = O + area = 10267.00000, perimeter = 424.94901, major_axis_length = 182.40912, minor_axis_length = 72.53786, eccentricity = 0.91753, convex_area = 10455.00000, extent = 0.54743, type = O + area = 12297.00000, perimeter = 440.60101, major_axis_length = 173.32635, minor_axis_length = 92.03754, eccentricity = 0.84737, convex_area = 12678.00000, extent = 0.72216, type = O + area = 13200.00000, perimeter = 477.85101, major_axis_length = 202.59695, minor_axis_length = 83.68837, eccentricity = 0.91070, convex_area = 13585.00000, extent = 0.64140, type = C + area = 16588.00000, perimeter = 531.39502, major_axis_length = 221.88550, minor_axis_length = 96.65257, eccentricity = 0.90014, convex_area = 16854.00000, extent = 0.57899, type = C + area = 11883.00000, perimeter = 438.21899, major_axis_length = 178.86168, minor_axis_length = 86.56590, eccentricity = 0.87508, convex_area = 12204.00000, extent = 0.67128, type = O + area = 11071.00000, perimeter = 419.59399, major_axis_length = 170.46420, minor_axis_length = 83.97248, eccentricity = 0.87025, convex_area = 11303.00000, extent = 0.77069, type = O + area = 14806.00000, perimeter = 509.37601, major_axis_length = 214.14243, minor_axis_length = 89.69170, eccentricity = 0.90806, convex_area = 15594.00000, extent = 0.70879, type = C + area = 13218.00000, perimeter = 454.99799, major_axis_length = 182.57840, minor_axis_length = 93.23714, eccentricity = 0.85978, convex_area = 13459.00000, extent = 0.73331, type = O + area = 18913.00000, perimeter = 541.74597, major_axis_length = 227.13548, minor_axis_length = 106.94836, eccentricity = 0.88221, convex_area = 19099.00000, extent = 0.80412, type = C + area = 14456.00000, perimeter = 492.95099, major_axis_length = 212.41122, minor_axis_length = 87.36013, eccentricity = 0.91151, convex_area = 14726.00000, extent = 0.79503, type = C + area = 12537.00000, perimeter = 440.10599, major_axis_length = 177.27472, minor_axis_length = 91.08681, eccentricity = 0.85790, convex_area = 12845.00000, extent = 0.67043, type = O + area = 14862.00000, perimeter = 507.48999, major_axis_length = 216.32031, minor_axis_length = 88.60250, eccentricity = 0.91227, convex_area = 15125.00000, extent = 0.77527, type = C + area = 13634.00000, perimeter = 491.17999, major_axis_length = 209.13353, minor_axis_length = 83.73373, eccentricity = 0.91635, convex_area = 14075.00000, extent = 0.78791, type = C + area = 10685.00000, perimeter = 416.71701, major_axis_length = 173.27515, minor_axis_length = 79.70607, eccentricity = 0.88792, convex_area = 10871.00000, extent = 0.70668, type = O + area = 14026.00000, perimeter = 467.76501, major_axis_length = 191.73541, minor_axis_length = 94.24737, eccentricity = 0.87085, convex_area = 14222.00000, extent = 0.62773, type = O + area = 14226.00000, perimeter = 491.38901, major_axis_length = 213.78671, minor_axis_length = 85.35412, eccentricity = 0.91684, convex_area = 14483.00000, extent = 0.66439, type = C + area = 13487.00000, perimeter = 477.25400, major_axis_length = 205.04572, minor_axis_length = 84.28226, eccentricity = 0.91162, convex_area = 13772.00000, extent = 0.73736, type = C + area = 14811.00000, perimeter = 512.10999, major_axis_length = 217.73833, minor_axis_length = 87.48341, eccentricity = 0.91574, convex_area = 15090.00000, extent = 0.54917, type = C + area = 13047.00000, perimeter = 486.36899, major_axis_length = 213.19447, minor_axis_length = 79.28887, eccentricity = 0.92827, convex_area = 13621.00000, extent = 0.61542, type = C + area = 12859.00000, perimeter = 462.87201, major_axis_length = 193.34184, minor_axis_length = 85.90899, eccentricity = 0.89586, convex_area = 13279.00000, extent = 0.70891, type = C + area = 13669.00000, perimeter = 481.66901, major_axis_length = 201.90663, minor_axis_length = 87.06825, eccentricity = 0.90224, convex_area = 14065.00000, extent = 0.55837, type = C + area = 12556.00000, perimeter = 474.02399, major_axis_length = 207.95442, minor_axis_length = 77.71007, eccentricity = 0.92755, convex_area = 12832.00000, extent = 0.56482, type = C + area = 13064.00000, perimeter = 469.83600, major_axis_length = 199.55998, minor_axis_length = 84.36462, eccentricity = 0.90624, convex_area = 13382.00000, extent = 0.65642, type = C + area = 13907.00000, perimeter = 485.72000, major_axis_length = 202.58109, minor_axis_length = 89.20242, eccentricity = 0.89784, convex_area = 14358.00000, extent = 0.55572, type = C + area = 11145.00000, perimeter = 420.31500, major_axis_length = 169.13234, minor_axis_length = 85.58923, eccentricity = 0.86250, convex_area = 11364.00000, extent = 0.77128, type = O + area = 13181.00000, perimeter = 470.38901, major_axis_length = 199.47208, minor_axis_length = 84.90553, eccentricity = 0.90489, convex_area = 13429.00000, extent = 0.73436, type = C + area = 14569.00000, perimeter = 500.36899, major_axis_length = 216.66966, minor_axis_length = 86.45754, eccentricity = 0.91694, convex_area = 14801.00000, extent = 0.80670, type = C + area = 12551.00000, perimeter = 459.72900, major_axis_length = 197.68234, minor_axis_length = 81.57028, eccentricity = 0.91090, convex_area = 12741.00000, extent = 0.81894, type = C + area = 12547.00000, perimeter = 434.93701, major_axis_length = 174.37941, minor_axis_length = 92.45402, eccentricity = 0.84788, convex_area = 12856.00000, extent = 0.77932, type = O + area = 12309.00000, perimeter = 434.37500, major_axis_length = 179.00168, minor_axis_length = 88.09723, eccentricity = 0.87051, convex_area = 12462.00000, extent = 0.68069, type = O + area = 14932.00000, perimeter = 488.86499, major_axis_length = 203.93930, minor_axis_length = 94.11240, eccentricity = 0.88715, convex_area = 15200.00000, extent = 0.78162, type = O + area = 11842.00000, perimeter = 441.91000, major_axis_length = 187.69878, minor_axis_length = 80.81311, eccentricity = 0.90257, convex_area = 12044.00000, extent = 0.63242, type = O + area = 13893.00000, perimeter = 474.13400, major_axis_length = 200.73592, minor_axis_length = 89.16997, eccentricity = 0.89592, convex_area = 14123.00000, extent = 0.56934, type = C + area = 12279.00000, perimeter = 441.22800, major_axis_length = 180.48395, minor_axis_length = 88.03798, eccentricity = 0.87296, convex_area = 12525.00000, extent = 0.59647, type = O + area = 9495.00000, perimeter = 386.59000, major_axis_length = 160.57245, minor_axis_length = 75.85518, eccentricity = 0.88138, convex_area = 9640.00000, extent = 0.66894, type = O + area = 11314.00000, perimeter = 424.08499, major_axis_length = 178.78316, minor_axis_length = 81.83676, eccentricity = 0.88908, convex_area = 11482.00000, extent = 0.76045, type = O + area = 14172.00000, perimeter = 500.42899, major_axis_length = 218.57156, minor_axis_length = 83.36391, eccentricity = 0.92441, convex_area = 14399.00000, extent = 0.60882, type = C + area = 11180.00000, perimeter = 425.49701, major_axis_length = 177.01859, minor_axis_length = 81.56252, eccentricity = 0.88753, convex_area = 11353.00000, extent = 0.57939, type = O + area = 14115.00000, perimeter = 486.27200, major_axis_length = 207.55104, minor_axis_length = 87.78109, eccentricity = 0.90616, convex_area = 14422.00000, extent = 0.60082, type = C + area = 13023.00000, perimeter = 480.44800, major_axis_length = 205.31209, minor_axis_length = 82.03385, eccentricity = 0.91671, convex_area = 13444.00000, extent = 0.63243, type = C + area = 10387.00000, perimeter = 400.58099, major_axis_length = 164.76086, minor_axis_length = 81.01570, eccentricity = 0.87076, convex_area = 10536.00000, extent = 0.80663, type = O + area = 14403.00000, perimeter = 510.55899, major_axis_length = 223.41208, minor_axis_length = 83.20211, eccentricity = 0.92807, convex_area = 14781.00000, extent = 0.59878, type = C + area = 14730.00000, perimeter = 483.70599, major_axis_length = 196.45126, minor_axis_length = 96.88643, eccentricity = 0.86993, convex_area = 15006.00000, extent = 0.65310, type = C + area = 11421.00000, perimeter = 441.16101, major_axis_length = 189.52185, minor_axis_length = 77.25662, eccentricity = 0.91314, convex_area = 11610.00000, extent = 0.55179, type = C + area = 12914.00000, perimeter = 464.17999, major_axis_length = 182.70155, minor_axis_length = 91.95509, eccentricity = 0.86411, convex_area = 13385.00000, extent = 0.64351, type = O + area = 11860.00000, perimeter = 429.79300, major_axis_length = 178.21358, minor_axis_length = 85.30595, eccentricity = 0.87799, convex_area = 12032.00000, extent = 0.70057, type = O + area = 14274.00000, perimeter = 488.82999, major_axis_length = 203.56786, minor_axis_length = 89.92999, eccentricity = 0.89713, convex_area = 14529.00000, extent = 0.57236, type = C + area = 14038.00000, perimeter = 496.61200, major_axis_length = 211.56499, minor_axis_length = 86.05249, eccentricity = 0.91354, convex_area = 14389.00000, extent = 0.54017, type = C + area = 11151.00000, perimeter = 438.26199, major_axis_length = 191.60088, minor_axis_length = 74.84743, eccentricity = 0.92054, convex_area = 11325.00000, extent = 0.66597, type = C + area = 12402.00000, perimeter = 437.65799, major_axis_length = 175.23166, minor_axis_length = 91.14552, eccentricity = 0.85408, convex_area = 12595.00000, extent = 0.76593, type = O + area = 10513.00000, perimeter = 410.03500, major_axis_length = 165.65660, minor_axis_length = 82.55254, eccentricity = 0.86698, convex_area = 10789.00000, extent = 0.72553, type = O + area = 14608.00000, perimeter = 504.30600, major_axis_length = 210.26993, minor_axis_length = 90.16652, eccentricity = 0.90339, convex_area = 15125.00000, extent = 0.63513, type = C + area = 12181.00000, perimeter = 430.94901, major_axis_length = 177.65762, minor_axis_length = 87.49515, eccentricity = 0.87032, convex_area = 12353.00000, extent = 0.75658, type = O + area = 15556.00000, perimeter = 510.51001, major_axis_length = 217.10223, minor_axis_length = 92.77322, eccentricity = 0.90410, convex_area = 15781.00000, extent = 0.60742, type = C + area = 15778.00000, perimeter = 515.27301, major_axis_length = 214.03784, minor_axis_length = 95.49767, eccentricity = 0.89495, convex_area = 16283.00000, extent = 0.68630, type = C + area = 15545.00000, perimeter = 510.28400, major_axis_length = 213.43665, minor_axis_length = 93.55502, eccentricity = 0.89882, convex_area = 15909.00000, extent = 0.56817, type = C + area = 12532.00000, perimeter = 454.06699, major_axis_length = 186.86259, minor_axis_length = 87.04253, eccentricity = 0.88488, convex_area = 12888.00000, extent = 0.63073, type = O + area = 12234.00000, perimeter = 440.00000, major_axis_length = 178.69653, minor_axis_length = 88.44730, eccentricity = 0.86892, convex_area = 12435.00000, extent = 0.62412, type = O + area = 12590.00000, perimeter = 447.53201, major_axis_length = 180.02446, minor_axis_length = 89.97459, eccentricity = 0.86615, convex_area = 12875.00000, extent = 0.66911, type = O + area = 11657.00000, perimeter = 432.56500, major_axis_length = 177.71994, minor_axis_length = 84.21097, eccentricity = 0.88061, convex_area = 11946.00000, extent = 0.60786, type = O + area = 13414.00000, perimeter = 480.28799, major_axis_length = 199.48291, minor_axis_length = 86.84286, eccentricity = 0.90027, convex_area = 13933.00000, extent = 0.55505, type = C + area = 12526.00000, perimeter = 439.22198, major_axis_length = 178.21603, minor_axis_length = 90.40445, eccentricity = 0.86178, convex_area = 12819.00000, extent = 0.66895, type = O + area = 11987.00000, perimeter = 440.78400, major_axis_length = 180.04774, minor_axis_length = 86.14135, eccentricity = 0.87812, convex_area = 12299.00000, extent = 0.68796, type = O + area = 10965.00000, perimeter = 416.62701, major_axis_length = 171.80995, minor_axis_length = 82.71229, eccentricity = 0.87649, convex_area = 11167.00000, extent = 0.66054, type = O + area = 14229.00000, perimeter = 485.11899, major_axis_length = 206.59769, minor_axis_length = 88.72133, eccentricity = 0.90310, convex_area = 14455.00000, extent = 0.74517, type = C + area = 15809.00000, perimeter = 521.49701, major_axis_length = 224.52165, minor_axis_length = 90.60512, eccentricity = 0.91496, convex_area = 16150.00000, extent = 0.56461, type = C + area = 12091.00000, perimeter = 442.00000, major_axis_length = 181.21178, minor_axis_length = 86.29922, eccentricity = 0.87932, convex_area = 12400.00000, extent = 0.63503, type = O + area = 10296.00000, perimeter = 415.75101, major_axis_length = 172.33287, minor_axis_length = 77.06075, eccentricity = 0.89445, convex_area = 10514.00000, extent = 0.61089, type = O + area = 12549.00000, perimeter = 456.93500, major_axis_length = 193.39151, minor_axis_length = 83.70135, eccentricity = 0.90149, convex_area = 12905.00000, extent = 0.79707, type = C + area = 12716.00000, perimeter = 444.10800, major_axis_length = 186.89639, minor_axis_length = 87.27814, eccentricity = 0.88426, convex_area = 12872.00000, extent = 0.74738, type = C + area = 13855.00000, perimeter = 487.83099, major_axis_length = 207.10844, minor_axis_length = 86.02370, eccentricity = 0.90966, convex_area = 14214.00000, extent = 0.55155, type = C + area = 12219.00000, perimeter = 436.20599, major_axis_length = 179.43591, minor_axis_length = 87.93397, eccentricity = 0.87169, convex_area = 12434.00000, extent = 0.60341, type = O + area = 11553.00000, perimeter = 433.77701, major_axis_length = 183.22137, minor_axis_length = 80.94514, eccentricity = 0.89712, convex_area = 11729.00000, extent = 0.80677, type = O + area = 13627.00000, perimeter = 476.98901, major_axis_length = 201.19452, minor_axis_length = 86.95226, eccentricity = 0.90179, convex_area = 13926.00000, extent = 0.78056, type = C + area = 12844.00000, perimeter = 454.83701, major_axis_length = 191.98018, minor_axis_length = 85.41942, eccentricity = 0.89556, convex_area = 13043.00000, extent = 0.61789, type = C + area = 11757.00000, perimeter = 441.24200, major_axis_length = 182.59586, minor_axis_length = 82.91640, eccentricity = 0.89095, convex_area = 11967.00000, extent = 0.60172, type = O + area = 15249.00000, perimeter = 506.04999, major_axis_length = 212.09094, minor_axis_length = 92.49422, eccentricity = 0.89990, convex_area = 15582.00000, extent = 0.78304, type = C + area = 16788.00000, perimeter = 533.48798, major_axis_length = 230.12933, minor_axis_length = 93.76288, eccentricity = 0.91323, convex_area = 17041.00000, extent = 0.57268, type = C + area = 10474.00000, perimeter = 420.12399, major_axis_length = 176.76694, minor_axis_length = 76.98862, eccentricity = 0.90017, convex_area = 10762.00000, extent = 0.68863, type = O + area = 15907.00000, perimeter = 527.34998, major_axis_length = 226.89301, minor_axis_length = 90.79047, eccentricity = 0.91645, convex_area = 16288.00000, extent = 0.57385, type = C + area = 14434.00000, perimeter = 488.28699, major_axis_length = 201.64925, minor_axis_length = 92.53371, eccentricity = 0.88850, convex_area = 14826.00000, extent = 0.70776, type = C + area = 10952.00000, perimeter = 421.10501, major_axis_length = 176.87213, minor_axis_length = 79.62229, eccentricity = 0.89294, convex_area = 11105.00000, extent = 0.58101, type = O + area = 12440.00000, perimeter = 434.80499, major_axis_length = 173.39279, minor_axis_length = 92.69048, eccentricity = 0.84512, convex_area = 12716.00000, extent = 0.68034, type = O + area = 12734.00000, perimeter = 447.08401, major_axis_length = 180.24823, minor_axis_length = 91.31796, eccentricity = 0.86217, convex_area = 13019.00000, extent = 0.79488, type = O + area = 13687.00000, perimeter = 481.74500, major_axis_length = 201.17458, minor_axis_length = 87.95718, eccentricity = 0.89936, convex_area = 13979.00000, extent = 0.69832, type = C + area = 10550.00000, perimeter = 404.29501, major_axis_length = 160.47012, minor_axis_length = 85.45004, eccentricity = 0.84643, convex_area = 10846.00000, extent = 0.77981, type = O + area = 12784.00000, perimeter = 448.34698, major_axis_length = 186.11673, minor_axis_length = 88.22885, eccentricity = 0.88050, convex_area = 12937.00000, extent = 0.60473, type = O + area = 14263.00000, perimeter = 489.44601, major_axis_length = 205.81178, minor_axis_length = 89.50909, eccentricity = 0.90048, convex_area = 14637.00000, extent = 0.66318, type = C + area = 13787.00000, perimeter = 474.33801, major_axis_length = 194.69463, minor_axis_length = 91.07733, eccentricity = 0.88384, convex_area = 14075.00000, extent = 0.61618, type = C + area = 15043.00000, perimeter = 498.29901, major_axis_length = 206.01170, minor_axis_length = 94.76669, eccentricity = 0.88792, convex_area = 15414.00000, extent = 0.58688, type = C + area = 12650.00000, perimeter = 438.14499, major_axis_length = 175.83983, minor_axis_length = 92.56994, eccentricity = 0.85021, convex_area = 12871.00000, extent = 0.79435, type = O + area = 12016.00000, perimeter = 469.42499, major_axis_length = 196.94925, minor_axis_length = 79.83517, eccentricity = 0.91416, convex_area = 12464.00000, extent = 0.56297, type = C + area = 15366.00000, perimeter = 508.79300, major_axis_length = 211.37265, minor_axis_length = 93.96780, eccentricity = 0.89575, convex_area = 15746.00000, extent = 0.56459, type = C + area = 9842.00000, perimeter = 395.57300, major_axis_length = 159.49901, minor_axis_length = 80.37096, eccentricity = 0.86376, convex_area = 10102.00000, extent = 0.61667, type = O + area = 16067.00000, perimeter = 526.42499, major_axis_length = 228.94226, minor_axis_length = 90.14622, eccentricity = 0.91922, convex_area = 16370.00000, extent = 0.55586, type = C + area = 13241.00000, perimeter = 458.01099, major_axis_length = 184.91423, minor_axis_length = 93.20131, eccentricity = 0.86369, convex_area = 13560.00000, extent = 0.77810, type = O + area = 13584.00000, perimeter = 478.53699, major_axis_length = 204.62065, minor_axis_length = 84.80614, eccentricity = 0.91007, convex_area = 13817.00000, extent = 0.67602, type = C + area = 13078.00000, perimeter = 452.99100, major_axis_length = 183.97897, minor_axis_length = 91.69001, eccentricity = 0.86696, convex_area = 13385.00000, extent = 0.73274, type = O + area = 10815.00000, perimeter = 420.81500, major_axis_length = 179.96773, minor_axis_length = 77.09937, eccentricity = 0.90359, convex_area = 10981.00000, extent = 0.56921, type = O + area = 13902.00000, perimeter = 479.23199, major_axis_length = 201.11488, minor_axis_length = 89.12859, eccentricity = 0.89644, convex_area = 14202.00000, extent = 0.69870, type = C + area = 11521.00000, perimeter = 429.23401, major_axis_length = 176.80731, minor_axis_length = 84.10378, eccentricity = 0.87962, convex_area = 11732.00000, extent = 0.59295, type = O + area = 12096.00000, perimeter = 438.85699, major_axis_length = 179.34836, minor_axis_length = 86.96104, eccentricity = 0.87459, convex_area = 12333.00000, extent = 0.66109, type = O + area = 10818.00000, perimeter = 416.76801, major_axis_length = 175.70876, minor_axis_length = 78.83266, eccentricity = 0.89370, convex_area = 10987.00000, extent = 0.63449, type = O + area = 11667.00000, perimeter = 447.52499, major_axis_length = 186.67125, minor_axis_length = 80.84287, eccentricity = 0.90136, convex_area = 12039.00000, extent = 0.66730, type = C + area = 11893.00000, perimeter = 435.28299, major_axis_length = 176.65935, minor_axis_length = 87.10894, eccentricity = 0.86998, convex_area = 12243.00000, extent = 0.77232, type = O + area = 13724.00000, perimeter = 481.77100, major_axis_length = 200.89267, minor_axis_length = 88.16832, eccentricity = 0.89854, convex_area = 14038.00000, extent = 0.67954, type = C + area = 15236.00000, perimeter = 497.27701, major_axis_length = 209.16156, minor_axis_length = 94.06530, eccentricity = 0.89317, convex_area = 15563.00000, extent = 0.76371, type = C + area = 13792.00000, perimeter = 475.78201, major_axis_length = 196.70659, minor_axis_length = 90.34711, eccentricity = 0.88828, convex_area = 14183.00000, extent = 0.77327, type = C + area = 16519.00000, perimeter = 533.21802, major_axis_length = 224.20227, minor_axis_length = 95.21686, eccentricity = 0.90534, convex_area = 17041.00000, extent = 0.74076, type = C + area = 12249.00000, perimeter = 456.24899, major_axis_length = 188.55092, minor_axis_length = 84.38185, eccentricity = 0.89427, convex_area = 12578.00000, extent = 0.65342, type = O + area = 15603.00000, perimeter = 511.74399, major_axis_length = 211.10420, minor_axis_length = 95.43999, eccentricity = 0.89197, convex_area = 16021.00000, extent = 0.58051, type = C + area = 13657.00000, perimeter = 481.61899, major_axis_length = 207.01315, minor_axis_length = 84.51869, eccentricity = 0.91286, convex_area = 13872.00000, extent = 0.56734, type = C + area = 12536.00000, perimeter = 460.28400, major_axis_length = 195.99370, minor_axis_length = 82.31515, eccentricity = 0.90753, convex_area = 12778.00000, extent = 0.64806, type = O + area = 12992.00000, perimeter = 458.89401, major_axis_length = 183.42082, minor_axis_length = 92.05144, eccentricity = 0.86495, convex_area = 13372.00000, extent = 0.77592, type = O + area = 15418.00000, perimeter = 504.75900, major_axis_length = 209.92400, minor_axis_length = 94.43705, eccentricity = 0.89310, convex_area = 15779.00000, extent = 0.58269, type = C + area = 12262.00000, perimeter = 443.16699, major_axis_length = 190.67964, minor_axis_length = 82.12513, eccentricity = 0.90250, convex_area = 12404.00000, extent = 0.61817, type = O + area = 14693.00000, perimeter = 484.56299, major_axis_length = 199.62000, minor_axis_length = 94.80761, eccentricity = 0.88002, convex_area = 15034.00000, extent = 0.60916, type = C + area = 11669.00000, perimeter = 432.09900, major_axis_length = 175.27705, minor_axis_length = 86.84153, eccentricity = 0.86863, convex_area = 11886.00000, extent = 0.77980, type = O + area = 15513.00000, perimeter = 522.50403, major_axis_length = 224.27583, minor_axis_length = 89.01466, eccentricity = 0.91786, convex_area = 15967.00000, extent = 0.56617, type = C + area = 14007.00000, perimeter = 490.66000, major_axis_length = 205.39612, minor_axis_length = 88.06984, eccentricity = 0.90341, convex_area = 14433.00000, extent = 0.76894, type = C + area = 10528.00000, perimeter = 411.12000, major_axis_length = 164.81996, minor_axis_length = 83.14049, eccentricity = 0.86345, convex_area = 10862.00000, extent = 0.62149, type = O + area = 14217.00000, perimeter = 472.31500, major_axis_length = 196.74448, minor_axis_length = 92.90379, eccentricity = 0.88149, convex_area = 14426.00000, extent = 0.59987, type = O + area = 11359.00000, perimeter = 441.36600, major_axis_length = 185.19771, minor_axis_length = 78.98223, eccentricity = 0.90450, convex_area = 11755.00000, extent = 0.58073, type = C + area = 10191.00000, perimeter = 419.57901, major_axis_length = 174.73424, minor_axis_length = 75.53467, eccentricity = 0.90174, convex_area = 10470.00000, extent = 0.62733, type = O + area = 14204.00000, perimeter = 489.44501, major_axis_length = 211.88388, minor_axis_length = 85.94508, eccentricity = 0.91404, convex_area = 14487.00000, extent = 0.68608, type = C + area = 13982.00000, perimeter = 495.34100, major_axis_length = 214.16756, minor_axis_length = 84.77728, eccentricity = 0.91832, convex_area = 14298.00000, extent = 0.78147, type = C + area = 10085.00000, perimeter = 404.67999, major_axis_length = 168.40106, minor_axis_length = 77.30437, eccentricity = 0.88841, convex_area = 10342.00000, extent = 0.57171, type = O + area = 11594.00000, perimeter = 437.91000, major_axis_length = 178.67661, minor_axis_length = 84.30540, eccentricity = 0.88169, convex_area = 11969.00000, extent = 0.60060, type = O + area = 12693.00000, perimeter = 448.15799, major_axis_length = 180.08960, minor_axis_length = 91.82332, eccentricity = 0.86025, convex_area = 13035.00000, extent = 0.59341, type = O + area = 14204.00000, perimeter = 482.17001, major_axis_length = 201.07388, minor_axis_length = 91.09084, eccentricity = 0.89150, convex_area = 14523.00000, extent = 0.61601, type = C + area = 11531.00000, perimeter = 445.73901, major_axis_length = 187.97710, minor_axis_length = 79.08083, eccentricity = 0.90720, convex_area = 11918.00000, extent = 0.60543, type = O + area = 10788.00000, perimeter = 402.33499, major_axis_length = 160.86864, minor_axis_length = 86.55402, eccentricity = 0.84292, convex_area = 10961.00000, extent = 0.76235, type = O + area = 14609.00000, perimeter = 490.24701, major_axis_length = 206.06227, minor_axis_length = 91.49974, eccentricity = 0.89601, convex_area = 14837.00000, extent = 0.71966, type = C + area = 9646.00000, perimeter = 390.95599, major_axis_length = 162.01367, minor_axis_length = 76.31642, eccentricity = 0.88211, convex_area = 9815.00000, extent = 0.67511, type = O + area = 11494.00000, perimeter = 433.05801, major_axis_length = 171.58246, minor_axis_length = 86.87869, eccentricity = 0.86234, convex_area = 11858.00000, extent = 0.75938, type = O + area = 15199.00000, perimeter = 489.54401, major_axis_length = 205.31573, minor_axis_length = 94.80870, eccentricity = 0.88700, convex_area = 15419.00000, extent = 0.76400, type = C + area = 11742.00000, perimeter = 439.75601, major_axis_length = 183.10056, minor_axis_length = 83.15661, eccentricity = 0.89092, convex_area = 12016.00000, extent = 0.57222, type = O + area = 12128.00000, perimeter = 441.71201, major_axis_length = 184.30515, minor_axis_length = 84.94325, eccentricity = 0.88746, convex_area = 12327.00000, extent = 0.62233, type = O + area = 16618.00000, perimeter = 513.75299, major_axis_length = 213.21713, minor_axis_length = 99.89234, eccentricity = 0.88346, convex_area = 16892.00000, extent = 0.63641, type = C + area = 14955.00000, perimeter = 508.71701, major_axis_length = 217.98155, minor_axis_length = 88.61218, eccentricity = 0.91365, convex_area = 15363.00000, extent = 0.56941, type = C + area = 13541.00000, perimeter = 478.46100, major_axis_length = 206.69949, minor_axis_length = 84.09856, eccentricity = 0.91349, convex_area = 13768.00000, extent = 0.81347, type = C + area = 11695.00000, perimeter = 434.13400, major_axis_length = 183.09247, minor_axis_length = 82.14226, eccentricity = 0.89371, convex_area = 11845.00000, extent = 0.79884, type = O + area = 11433.00000, perimeter = 426.92499, major_axis_length = 175.86852, minor_axis_length = 84.19808, eccentricity = 0.87795, convex_area = 11719.00000, extent = 0.60752, type = O + area = 13980.00000, perimeter = 479.17999, major_axis_length = 206.32904, minor_axis_length = 87.03672, eccentricity = 0.90667, convex_area = 14137.00000, extent = 0.86105, type = C + area = 13652.00000, perimeter = 486.62799, major_axis_length = 210.34523, minor_axis_length = 83.29913, eccentricity = 0.91825, convex_area = 13950.00000, extent = 0.57980, type = C + area = 12397.00000, perimeter = 435.94901, major_axis_length = 174.23169, minor_axis_length = 91.89648, eccentricity = 0.84959, convex_area = 12761.00000, extent = 0.64306, type = O + area = 15517.00000, perimeter = 481.37799, major_axis_length = 194.63751, minor_axis_length = 102.05839, eccentricity = 0.85150, convex_area = 15718.00000, extent = 0.65012, type = C + area = 10360.00000, perimeter = 411.23999, major_axis_length = 169.40111, minor_axis_length = 78.57223, eccentricity = 0.88593, convex_area = 10538.00000, extent = 0.78485, type = O + area = 11722.00000, perimeter = 423.70200, major_axis_length = 174.95630, minor_axis_length = 85.81461, eccentricity = 0.87145, convex_area = 11891.00000, extent = 0.61125, type = O + area = 16199.00000, perimeter = 514.15601, major_axis_length = 217.63051, minor_axis_length = 95.51936, eccentricity = 0.89853, convex_area = 16475.00000, extent = 0.70769, type = C + area = 10327.00000, perimeter = 403.39600, major_axis_length = 166.08113, minor_axis_length = 79.95890, eccentricity = 0.87648, convex_area = 10576.00000, extent = 0.62331, type = O + area = 13927.00000, perimeter = 479.35501, major_axis_length = 202.79362, minor_axis_length = 88.48322, eccentricity = 0.89979, convex_area = 14264.00000, extent = 0.77085, type = C + area = 9165.00000, perimeter = 380.66000, major_axis_length = 156.67039, minor_axis_length = 75.54001, eccentricity = 0.87608, convex_area = 9366.00000, extent = 0.65436, type = O + area = 11334.00000, perimeter = 433.38901, major_axis_length = 178.98973, minor_axis_length = 82.29804, eccentricity = 0.88803, convex_area = 11566.00000, extent = 0.71158, type = O + area = 10036.00000, perimeter = 402.85901, major_axis_length = 166.15659, minor_axis_length = 77.91069, eccentricity = 0.88325, convex_area = 10255.00000, extent = 0.59157, type = O + area = 16019.00000, perimeter = 509.01300, major_axis_length = 214.79094, minor_axis_length = 96.12421, eccentricity = 0.89427, convex_area = 16248.00000, extent = 0.65759, type = C + area = 16253.00000, perimeter = 525.48199, major_axis_length = 218.52756, minor_axis_length = 95.91184, eccentricity = 0.89854, convex_area = 16690.00000, extent = 0.56797, type = C + area = 11794.00000, perimeter = 422.10199, major_axis_length = 169.28566, minor_axis_length = 89.53071, eccentricity = 0.84870, convex_area = 12026.00000, extent = 0.76396, type = O + area = 13043.00000, perimeter = 471.35699, major_axis_length = 199.28964, minor_axis_length = 84.55070, eccentricity = 0.90554, convex_area = 13422.00000, extent = 0.73643, type = C + area = 12558.00000, perimeter = 452.69299, major_axis_length = 189.47816, minor_axis_length = 85.08825, eccentricity = 0.89350, convex_area = 12799.00000, extent = 0.62403, type = O + area = 14304.00000, perimeter = 489.03699, major_axis_length = 211.02661, minor_axis_length = 86.83942, eccentricity = 0.91141, convex_area = 14483.00000, extent = 0.57773, type = C + area = 12743.00000, perimeter = 435.81799, major_axis_length = 176.11099, minor_axis_length = 92.47711, eccentricity = 0.85104, convex_area = 12897.00000, extent = 0.63209, type = O + area = 12765.00000, perimeter = 460.34601, major_axis_length = 196.39055, minor_axis_length = 83.89897, eccentricity = 0.90415, convex_area = 13139.00000, extent = 0.57435, type = C + area = 11274.00000, perimeter = 425.05499, major_axis_length = 173.38033, minor_axis_length = 83.83379, eccentricity = 0.87533, convex_area = 11526.00000, extent = 0.65277, type = O + area = 11960.00000, perimeter = 436.37100, major_axis_length = 183.81682, minor_axis_length = 83.23421, eccentricity = 0.89161, convex_area = 12142.00000, extent = 0.58957, type = O + area = 13099.00000, perimeter = 453.36600, major_axis_length = 180.98264, minor_axis_length = 93.60397, eccentricity = 0.85587, convex_area = 13377.00000, extent = 0.62732, type = O + area = 15281.00000, perimeter = 509.51700, major_axis_length = 212.69688, minor_axis_length = 92.99384, eccentricity = 0.89936, convex_area = 15689.00000, extent = 0.64023, type = C + area = 17048.00000, perimeter = 525.53802, major_axis_length = 219.48859, minor_axis_length = 99.73430, eccentricity = 0.89080, convex_area = 17318.00000, extent = 0.69233, type = C + area = 12502.00000, perimeter = 431.31299, major_axis_length = 172.89813, minor_axis_length = 92.56533, eccentricity = 0.84461, convex_area = 12679.00000, extent = 0.80814, type = O + area = 12279.00000, perimeter = 455.41501, major_axis_length = 191.65334, minor_axis_length = 82.47570, eccentricity = 0.90267, convex_area = 12549.00000, extent = 0.59204, type = O + area = 12590.00000, perimeter = 461.13699, major_axis_length = 195.53488, minor_axis_length = 82.96224, eccentricity = 0.90553, convex_area = 12915.00000, extent = 0.67601, type = C + area = 12556.00000, perimeter = 437.91400, major_axis_length = 180.21121, minor_axis_length = 89.38488, eccentricity = 0.86832, convex_area = 12735.00000, extent = 0.71859, type = O + area = 11817.00000, perimeter = 426.60199, major_axis_length = 179.56543, minor_axis_length = 84.24079, eccentricity = 0.88313, convex_area = 11977.00000, extent = 0.65738, type = O + area = 14023.00000, perimeter = 491.66901, major_axis_length = 211.15919, minor_axis_length = 85.50137, eccentricity = 0.91435, convex_area = 14262.00000, extent = 0.53914, type = C + area = 11419.00000, perimeter = 431.51300, major_axis_length = 175.95653, minor_axis_length = 83.67270, eccentricity = 0.87970, convex_area = 11732.00000, extent = 0.66778, type = O + area = 13582.00000, perimeter = 475.85599, major_axis_length = 195.63969, minor_axis_length = 89.24896, eccentricity = 0.88988, convex_area = 13890.00000, extent = 0.72183, type = C + area = 15529.00000, perimeter = 509.01700, major_axis_length = 207.05132, minor_axis_length = 96.98811, eccentricity = 0.88350, convex_area = 15993.00000, extent = 0.59974, type = C + area = 10884.00000, perimeter = 406.71899, major_axis_length = 156.77713, minor_axis_length = 89.60812, eccentricity = 0.82056, convex_area = 11233.00000, extent = 0.72367, type = O + area = 14712.00000, perimeter = 496.03601, major_axis_length = 212.73993, minor_axis_length = 89.09264, eccentricity = 0.90808, convex_area = 14925.00000, extent = 0.73395, type = C + area = 13062.00000, perimeter = 469.42401, major_axis_length = 200.62883, minor_axis_length = 83.27462, eccentricity = 0.90979, convex_area = 13279.00000, extent = 0.66321, type = C + area = 14868.00000, perimeter = 510.43399, major_axis_length = 219.33379, minor_axis_length = 88.03912, eccentricity = 0.91591, convex_area = 15190.00000, extent = 0.79670, type = C + area = 15218.00000, perimeter = 508.13599, major_axis_length = 214.27707, minor_axis_length = 91.71027, eccentricity = 0.90378, convex_area = 15685.00000, extent = 0.66801, type = C + area = 11393.00000, perimeter = 415.79999, major_axis_length = 164.91043, minor_axis_length = 88.90424, eccentricity = 0.84224, convex_area = 11638.00000, extent = 0.69554, type = O + area = 11742.00000, perimeter = 437.90302, major_axis_length = 182.25706, minor_axis_length = 83.00418, eccentricity = 0.89027, convex_area = 11974.00000, extent = 0.58890, type = O + area = 11029.00000, perimeter = 415.04800, major_axis_length = 176.21477, minor_axis_length = 80.01405, eccentricity = 0.89097, convex_area = 11182.00000, extent = 0.63059, type = O + area = 12579.00000, perimeter = 452.21701, major_axis_length = 191.24318, minor_axis_length = 84.36917, eccentricity = 0.89743, convex_area = 12889.00000, extent = 0.60029, type = C + area = 10453.00000, perimeter = 421.51599, major_axis_length = 171.98445, minor_axis_length = 78.82700, eccentricity = 0.88878, convex_area = 10701.00000, extent = 0.57899, type = O + area = 15385.00000, perimeter = 505.57800, major_axis_length = 211.73012, minor_axis_length = 94.12325, eccentricity = 0.89576, convex_area = 15726.00000, extent = 0.58791, type = C + area = 14071.00000, perimeter = 479.09299, major_axis_length = 197.40497, minor_axis_length = 92.30099, eccentricity = 0.88396, convex_area = 14398.00000, extent = 0.59900, type = C + area = 17313.00000, perimeter = 531.98401, major_axis_length = 225.53459, minor_axis_length = 98.44350, eccentricity = 0.89971, convex_area = 17582.00000, extent = 0.56988, type = C + area = 12071.00000, perimeter = 438.70001, major_axis_length = 178.78461, minor_axis_length = 87.50312, eccentricity = 0.87204, convex_area = 12437.00000, extent = 0.64537, type = O + area = 13549.00000, perimeter = 464.00500, major_axis_length = 189.97266, minor_axis_length = 91.63721, eccentricity = 0.87597, convex_area = 13772.00000, extent = 0.73933, type = O + area = 12243.00000, perimeter = 449.62399, major_axis_length = 191.07899, minor_axis_length = 82.63934, eccentricity = 0.90164, convex_area = 12464.00000, extent = 0.79973, type = C + area = 17263.00000, perimeter = 520.30298, major_axis_length = 215.00441, minor_axis_length = 103.36722, eccentricity = 0.87685, convex_area = 17565.00000, extent = 0.66187, type = C + area = 10962.00000, perimeter = 418.66101, major_axis_length = 171.63890, minor_axis_length = 82.79927, eccentricity = 0.87595, convex_area = 11258.00000, extent = 0.71647, type = O + area = 10355.00000, perimeter = 402.66800, major_axis_length = 159.89142, minor_axis_length = 83.47418, eccentricity = 0.85290, convex_area = 10621.00000, extent = 0.63606, type = O + area = 12274.00000, perimeter = 441.85300, major_axis_length = 179.85391, minor_axis_length = 87.76014, eccentricity = 0.87287, convex_area = 12587.00000, extent = 0.61598, type = O + area = 14945.00000, perimeter = 493.10800, major_axis_length = 202.04698, minor_axis_length = 95.07941, eccentricity = 0.88236, convex_area = 15357.00000, extent = 0.74000, type = C + area = 14136.00000, perimeter = 488.96799, major_axis_length = 203.39066, minor_axis_length = 89.78699, eccentricity = 0.89729, convex_area = 14475.00000, extent = 0.59206, type = C + area = 10427.00000, perimeter = 398.69199, major_axis_length = 161.21680, minor_axis_length = 83.80956, eccentricity = 0.85425, convex_area = 10639.00000, extent = 0.62844, type = O + area = 10445.00000, perimeter = 405.59601, major_axis_length = 167.45883, minor_axis_length = 80.50414, eccentricity = 0.87686, convex_area = 10680.00000, extent = 0.63388, type = O + area = 14419.00000, perimeter = 491.67099, major_axis_length = 203.91235, minor_axis_length = 91.03685, eccentricity = 0.89481, convex_area = 14906.00000, extent = 0.62781, type = C + area = 12736.00000, perimeter = 447.87000, major_axis_length = 182.77118, minor_axis_length = 89.68171, eccentricity = 0.87134, convex_area = 12964.00000, extent = 0.75272, type = C + area = 11502.00000, perimeter = 428.53900, major_axis_length = 174.30467, minor_axis_length = 85.41966, eccentricity = 0.87169, convex_area = 11760.00000, extent = 0.59142, type = O + area = 12450.00000, perimeter = 456.22101, major_axis_length = 191.14287, minor_axis_length = 84.21342, eccentricity = 0.89771, convex_area = 12740.00000, extent = 0.57215, type = C + area = 12164.00000, perimeter = 443.72900, major_axis_length = 185.80194, minor_axis_length = 84.33198, eccentricity = 0.89106, convex_area = 12442.00000, extent = 0.63633, type = O + area = 10919.00000, perimeter = 428.70200, major_axis_length = 182.93265, minor_axis_length = 77.90177, eccentricity = 0.90479, convex_area = 11162.00000, extent = 0.60905, type = O + area = 12181.00000, perimeter = 456.93799, major_axis_length = 194.85516, minor_axis_length = 80.28487, eccentricity = 0.91117, convex_area = 12489.00000, extent = 0.58489, type = C + area = 15301.00000, perimeter = 515.52698, major_axis_length = 220.29213, minor_axis_length = 89.46645, eccentricity = 0.91382, convex_area = 15690.00000, extent = 0.53767, type = C + area = 11462.00000, perimeter = 423.23499, major_axis_length = 171.58929, minor_axis_length = 85.72186, eccentricity = 0.86627, convex_area = 11712.00000, extent = 0.69467, type = O + area = 14061.00000, perimeter = 470.74899, major_axis_length = 190.29001, minor_axis_length = 95.00540, eccentricity = 0.86645, convex_area = 14347.00000, extent = 0.61801, type = C + area = 10863.00000, perimeter = 411.62201, major_axis_length = 168.27142, minor_axis_length = 83.16528, eccentricity = 0.86933, convex_area = 11057.00000, extent = 0.70283, type = O + area = 14449.00000, perimeter = 496.32599, major_axis_length = 209.70576, minor_axis_length = 89.79037, eccentricity = 0.90370, convex_area = 14810.00000, extent = 0.66231, type = C + area = 16176.00000, perimeter = 522.99103, major_axis_length = 221.92740, minor_axis_length = 93.98418, eccentricity = 0.90590, convex_area = 16639.00000, extent = 0.60235, type = C + area = 15147.00000, perimeter = 511.29401, major_axis_length = 216.09929, minor_axis_length = 90.94639, eccentricity = 0.90713, convex_area = 15637.00000, extent = 0.53485, type = C + area = 11278.00000, perimeter = 430.26300, major_axis_length = 174.44518, minor_axis_length = 83.79234, eccentricity = 0.87708, convex_area = 11637.00000, extent = 0.73655, type = O + area = 10496.00000, perimeter = 407.32300, major_axis_length = 167.92937, minor_axis_length = 80.18907, eccentricity = 0.87862, convex_area = 10666.00000, extent = 0.70330, type = O + area = 15168.00000, perimeter = 504.98001, major_axis_length = 212.82603, minor_axis_length = 91.61982, eccentricity = 0.90259, convex_area = 15432.00000, extent = 0.58365, type = C + area = 9760.00000, perimeter = 399.57501, major_axis_length = 167.36522, minor_axis_length = 75.54492, eccentricity = 0.89233, convex_area = 10012.00000, extent = 0.61384, type = O + area = 13002.00000, perimeter = 448.11499, major_axis_length = 182.62787, minor_axis_length = 91.47121, eccentricity = 0.86553, convex_area = 13200.00000, extent = 0.60581, type = O + area = 14654.00000, perimeter = 498.10300, major_axis_length = 214.65430, minor_axis_length = 87.38055, eccentricity = 0.91339, convex_area = 14907.00000, extent = 0.80375, type = C + area = 9154.00000, perimeter = 383.67700, major_axis_length = 158.31737, minor_axis_length = 74.56001, eccentricity = 0.88216, convex_area = 9346.00000, extent = 0.74751, type = O + area = 13858.00000, perimeter = 475.95700, major_axis_length = 205.87390, minor_axis_length = 86.04459, eccentricity = 0.90847, convex_area = 14042.00000, extent = 0.65122, type = C + area = 10384.00000, perimeter = 416.04300, major_axis_length = 176.74158, minor_axis_length = 75.59287, eccentricity = 0.90392, convex_area = 10557.00000, extent = 0.56687, type = O + area = 15303.00000, perimeter = 505.92801, major_axis_length = 209.61992, minor_axis_length = 94.15701, eccentricity = 0.89344, convex_area = 15746.00000, extent = 0.62461, type = C + area = 15147.00000, perimeter = 510.01599, major_axis_length = 213.15617, minor_axis_length = 91.69269, eccentricity = 0.90275, convex_area = 15719.00000, extent = 0.58874, type = C + area = 9762.00000, perimeter = 397.24899, major_axis_length = 161.86630, minor_axis_length = 78.29550, eccentricity = 0.87523, convex_area = 10126.00000, extent = 0.74862, type = O + area = 11518.00000, perimeter = 428.70999, major_axis_length = 175.93608, minor_axis_length = 84.25156, eccentricity = 0.87788, convex_area = 11754.00000, extent = 0.66040, type = O + area = 12025.00000, perimeter = 447.22699, major_axis_length = 184.91464, minor_axis_length = 84.14797, eccentricity = 0.89046, convex_area = 12373.00000, extent = 0.64703, type = O + area = 15241.00000, perimeter = 511.06100, major_axis_length = 215.36917, minor_axis_length = 91.27435, eccentricity = 0.90575, convex_area = 15604.00000, extent = 0.54323, type = C + area = 11512.00000, perimeter = 427.56799, major_axis_length = 172.21010, minor_axis_length = 85.44306, eccentricity = 0.86823, convex_area = 11802.00000, extent = 0.69079, type = O + area = 12932.00000, perimeter = 456.65500, major_axis_length = 191.32863, minor_axis_length = 86.72584, eccentricity = 0.89137, convex_area = 13098.00000, extent = 0.66304, type = C + area = 17948.00000, perimeter = 526.91803, major_axis_length = 214.09383, minor_axis_length = 107.54245, eccentricity = 0.86468, convex_area = 18322.00000, extent = 0.66637, type = C + area = 9070.00000, perimeter = 375.09399, major_axis_length = 156.98489, minor_axis_length = 74.22942, eccentricity = 0.88115, convex_area = 9233.00000, extent = 0.73740, type = O + area = 9962.00000, perimeter = 404.94501, major_axis_length = 170.91649, minor_axis_length = 74.79294, eccentricity = 0.89917, convex_area = 10137.00000, extent = 0.57610, type = O + area = 12835.00000, perimeter = 481.50299, major_axis_length = 212.53754, minor_axis_length = 77.45262, eccentricity = 0.93124, convex_area = 13055.00000, extent = 0.51195, type = C + area = 9853.00000, perimeter = 395.50101, major_axis_length = 159.91612, minor_axis_length = 80.05779, eccentricity = 0.86567, convex_area = 10102.00000, extent = 0.60197, type = O + area = 11274.00000, perimeter = 422.66299, major_axis_length = 174.38634, minor_axis_length = 82.87808, eccentricity = 0.87985, convex_area = 11459.00000, extent = 0.74054, type = O + area = 15151.00000, perimeter = 496.19299, major_axis_length = 207.93149, minor_axis_length = 93.96302, eccentricity = 0.89207, convex_area = 15547.00000, extent = 0.76140, type = C + area = 14340.00000, perimeter = 477.89600, major_axis_length = 196.47507, minor_axis_length = 94.25779, eccentricity = 0.87741, convex_area = 14700.00000, extent = 0.60814, type = C + area = 15216.00000, perimeter = 500.36801, major_axis_length = 208.22842, minor_axis_length = 94.30258, eccentricity = 0.89157, convex_area = 15558.00000, extent = 0.57304, type = C + area = 9428.00000, perimeter = 398.92001, major_axis_length = 164.84538, minor_axis_length = 74.65759, eccentricity = 0.89156, convex_area = 9760.00000, extent = 0.67672, type = O + area = 14467.00000, perimeter = 498.62399, major_axis_length = 213.59563, minor_axis_length = 86.99999, eccentricity = 0.91329, convex_area = 14857.00000, extent = 0.74076, type = C + area = 15543.00000, perimeter = 507.38501, major_axis_length = 211.65121, minor_axis_length = 94.57140, eccentricity = 0.89462, convex_area = 15976.00000, extent = 0.65293, type = C + area = 9723.00000, perimeter = 388.61700, major_axis_length = 158.36082, minor_axis_length = 79.34258, eccentricity = 0.86543, convex_area = 9949.00000, extent = 0.62519, type = O + area = 15725.00000, perimeter = 515.25800, major_axis_length = 221.66010, minor_axis_length = 91.23172, eccentricity = 0.91137, convex_area = 16027.00000, extent = 0.60049, type = C + area = 13259.00000, perimeter = 464.40799, major_axis_length = 198.21152, minor_axis_length = 85.81574, eccentricity = 0.90142, convex_area = 13445.00000, extent = 0.58205, type = O + area = 12341.00000, perimeter = 451.11600, major_axis_length = 183.64560, minor_axis_length = 86.69643, eccentricity = 0.88155, convex_area = 12676.00000, extent = 0.60212, type = O + area = 12084.00000, perimeter = 433.50500, major_axis_length = 171.52261, minor_axis_length = 91.32996, eccentricity = 0.84645, convex_area = 12356.00000, extent = 0.70174, type = O + area = 10395.00000, perimeter = 415.29599, major_axis_length = 170.19351, minor_axis_length = 79.33728, eccentricity = 0.88470, convex_area = 10725.00000, extent = 0.60968, type = O + area = 12465.00000, perimeter = 451.51501, major_axis_length = 190.45494, minor_axis_length = 84.16370, eccentricity = 0.89706, convex_area = 12640.00000, extent = 0.59596, type = O + area = 15073.00000, perimeter = 498.36200, major_axis_length = 205.80310, minor_axis_length = 93.99628, eccentricity = 0.88961, convex_area = 15476.00000, extent = 0.61392, type = C + area = 11815.00000, perimeter = 430.10699, major_axis_length = 177.79692, minor_axis_length = 85.67855, eccentricity = 0.87623, convex_area = 11993.00000, extent = 0.70617, type = O + area = 11410.00000, perimeter = 436.36899, major_axis_length = 180.80260, minor_axis_length = 81.64021, eccentricity = 0.89225, convex_area = 11710.00000, extent = 0.61783, type = O + area = 14608.00000, perimeter = 483.16101, major_axis_length = 201.03494, minor_axis_length = 93.46073, eccentricity = 0.88536, convex_area = 14845.00000, extent = 0.65501, type = O + area = 13555.00000, perimeter = 477.87000, major_axis_length = 202.63708, minor_axis_length = 85.78796, eccentricity = 0.90596, convex_area = 13851.00000, extent = 0.57806, type = C + area = 11274.00000, perimeter = 426.85001, major_axis_length = 177.39810, minor_axis_length = 82.00110, eccentricity = 0.88675, convex_area = 11539.00000, extent = 0.63533, type = O + area = 11108.00000, perimeter = 403.61801, major_axis_length = 164.10645, minor_axis_length = 86.64312, eccentricity = 0.84926, convex_area = 11256.00000, extent = 0.79684, type = O + area = 11339.00000, perimeter = 425.50601, major_axis_length = 177.04713, minor_axis_length = 82.54741, eccentricity = 0.88466, convex_area = 11533.00000, extent = 0.59205, type = O + area = 11031.00000, perimeter = 414.44000, major_axis_length = 170.68466, minor_axis_length = 83.09671, eccentricity = 0.87349, convex_area = 11200.00000, extent = 0.60557, type = O + area = 11176.00000, perimeter = 418.05600, major_axis_length = 171.31558, minor_axis_length = 83.93949, eccentricity = 0.87174, convex_area = 11387.00000, extent = 0.79703, type = O + area = 15105.00000, perimeter = 503.29199, major_axis_length = 215.58267, minor_axis_length = 89.79668, eccentricity = 0.90912, convex_area = 15327.00000, extent = 0.60048, type = C + area = 11902.00000, perimeter = 454.94199, major_axis_length = 196.46930, minor_axis_length = 78.05167, eccentricity = 0.91770, convex_area = 12214.00000, extent = 0.70078, type = O + area = 11672.00000, perimeter = 430.64200, major_axis_length = 177.94815, minor_axis_length = 84.67979, eccentricity = 0.87952, convex_area = 11849.00000, extent = 0.59746, type = O + area = 13918.00000, perimeter = 489.04001, major_axis_length = 207.88174, minor_axis_length = 86.49023, eccentricity = 0.90934, convex_area = 14263.00000, extent = 0.71876, type = C + area = 14189.00000, perimeter = 491.97299, major_axis_length = 209.93643, minor_axis_length = 86.80910, eccentricity = 0.91050, convex_area = 14496.00000, extent = 0.55099, type = C + area = 13140.00000, perimeter = 467.01700, major_axis_length = 192.61575, minor_axis_length = 89.47256, eccentricity = 0.88557, convex_area = 13570.00000, extent = 0.63892, type = O + area = 11794.00000, perimeter = 434.61899, major_axis_length = 176.44444, minor_axis_length = 86.10284, eccentricity = 0.87285, convex_area = 12110.00000, extent = 0.59838, type = O + area = 16865.00000, perimeter = 517.74701, major_axis_length = 210.47945, minor_axis_length = 103.80494, eccentricity = 0.86993, convex_area = 17234.00000, extent = 0.65020, type = C + area = 17135.00000, perimeter = 525.93799, major_axis_length = 217.72835, minor_axis_length = 101.15462, eccentricity = 0.88553, convex_area = 17471.00000, extent = 0.59373, type = C + area = 16862.00000, perimeter = 519.47101, major_axis_length = 219.65996, minor_axis_length = 98.39157, eccentricity = 0.89407, convex_area = 17104.00000, extent = 0.61227, type = C + area = 14753.00000, perimeter = 489.53601, major_axis_length = 207.46600, minor_axis_length = 92.00663, eccentricity = 0.89629, convex_area = 14984.00000, extent = 0.80468, type = C + area = 12022.00000, perimeter = 431.23099, major_axis_length = 176.25049, minor_axis_length = 87.95138, eccentricity = 0.86659, convex_area = 12205.00000, extent = 0.78534, type = O + area = 11652.00000, perimeter = 429.52100, major_axis_length = 172.41205, minor_axis_length = 87.48266, eccentricity = 0.86171, convex_area = 11982.00000, extent = 0.63052, type = O + area = 12331.00000, perimeter = 441.44000, major_axis_length = 175.60992, minor_axis_length = 90.82543, eccentricity = 0.85586, convex_area = 12617.00000, extent = 0.61940, type = O + area = 14333.00000, perimeter = 493.89899, major_axis_length = 207.50995, minor_axis_length = 89.44616, eccentricity = 0.90233, convex_area = 14772.00000, extent = 0.55980, type = C + area = 12735.00000, perimeter = 440.73300, major_axis_length = 175.24608, minor_axis_length = 94.10067, eccentricity = 0.84361, convex_area = 13037.00000, extent = 0.79969, type = O + area = 13481.00000, perimeter = 447.92099, major_axis_length = 182.98514, minor_axis_length = 94.36719, eccentricity = 0.85676, convex_area = 13647.00000, extent = 0.78078, type = O + area = 11161.00000, perimeter = 433.82999, major_axis_length = 182.07491, minor_axis_length = 78.95068, eccentricity = 0.90110, convex_area = 11490.00000, extent = 0.61123, type = C + area = 10611.00000, perimeter = 414.40201, major_axis_length = 171.14273, minor_axis_length = 79.86786, eccentricity = 0.88443, convex_area = 10874.00000, extent = 0.71392, type = O + area = 15557.00000, perimeter = 509.02200, major_axis_length = 211.93355, minor_axis_length = 94.75860, eccentricity = 0.89448, convex_area = 16075.00000, extent = 0.64312, type = C + area = 11335.00000, perimeter = 426.58401, major_axis_length = 172.74699, minor_axis_length = 85.12077, eccentricity = 0.87017, convex_area = 11618.00000, extent = 0.66676, type = O + area = 9622.00000, perimeter = 403.77399, major_axis_length = 170.71799, minor_axis_length = 72.92541, eccentricity = 0.90417, convex_area = 9897.00000, extent = 0.70290, type = O + area = 10842.00000, perimeter = 412.74899, major_axis_length = 167.04510, minor_axis_length = 84.00163, eccentricity = 0.86436, convex_area = 11105.00000, extent = 0.67050, type = O + area = 13930.00000, perimeter = 495.27100, major_axis_length = 213.52664, minor_axis_length = 84.43373, eccentricity = 0.91850, convex_area = 14564.00000, extent = 0.54964, type = C + area = 12308.00000, perimeter = 451.60901, major_axis_length = 193.26753, minor_axis_length = 81.65989, eccentricity = 0.90635, convex_area = 12488.00000, extent = 0.72404, type = C + area = 10731.00000, perimeter = 414.17499, major_axis_length = 170.21010, minor_axis_length = 81.19894, eccentricity = 0.87888, convex_area = 10922.00000, extent = 0.59320, type = O + area = 10841.00000, perimeter = 413.45999, major_axis_length = 170.96480, minor_axis_length = 81.67490, eccentricity = 0.87851, convex_area = 11070.00000, extent = 0.65449, type = O + area = 13682.00000, perimeter = 488.89999, major_axis_length = 199.55969, minor_axis_length = 89.44221, eccentricity = 0.89393, convex_area = 14457.00000, extent = 0.59967, type = C + area = 11881.00000, perimeter = 439.18500, major_axis_length = 183.88953, minor_axis_length = 83.34947, eccentricity = 0.89138, convex_area = 12097.00000, extent = 0.58283, type = O + area = 11614.00000, perimeter = 437.65601, major_axis_length = 184.90213, minor_axis_length = 81.87991, eccentricity = 0.89661, convex_area = 11812.00000, extent = 0.81812, type = O + area = 11908.00000, perimeter = 447.63400, major_axis_length = 187.82114, minor_axis_length = 81.94851, eccentricity = 0.89980, convex_area = 12287.00000, extent = 0.58031, type = O + area = 9976.00000, perimeter = 406.07901, major_axis_length = 168.06120, minor_axis_length = 76.86061, eccentricity = 0.88929, convex_area = 10295.00000, extent = 0.57337, type = O + area = 14070.00000, perimeter = 484.21600, major_axis_length = 203.28004, minor_axis_length = 89.09188, eccentricity = 0.89884, convex_area = 14448.00000, extent = 0.56734, type = C + area = 11679.00000, perimeter = 439.18600, major_axis_length = 181.42677, minor_axis_length = 83.52566, eccentricity = 0.88772, convex_area = 11949.00000, extent = 0.56749, type = O + area = 13923.00000, perimeter = 462.70001, major_axis_length = 189.52571, minor_axis_length = 94.52522, eccentricity = 0.86675, convex_area = 14186.00000, extent = 0.72995, type = O + area = 15857.00000, perimeter = 515.32202, major_axis_length = 219.96548, minor_axis_length = 93.15427, eccentricity = 0.90590, convex_area = 16109.00000, extent = 0.69916, type = C + area = 11752.00000, perimeter = 422.53201, major_axis_length = 171.08530, minor_axis_length = 88.01460, eccentricity = 0.85752, convex_area = 11997.00000, extent = 0.69292, type = O + area = 10148.00000, perimeter = 408.22800, major_axis_length = 168.72536, minor_axis_length = 77.14333, eccentricity = 0.88936, convex_area = 10409.00000, extent = 0.58325, type = O + area = 14892.00000, perimeter = 503.64700, major_axis_length = 213.27196, minor_axis_length = 90.47866, eccentricity = 0.90555, convex_area = 15279.00000, extent = 0.59392, type = C + area = 14041.00000, perimeter = 491.66101, major_axis_length = 212.85693, minor_axis_length = 84.56731, eccentricity = 0.91769, convex_area = 14289.00000, extent = 0.78661, type = C + area = 12308.00000, perimeter = 436.64001, major_axis_length = 174.93845, minor_axis_length = 90.61617, eccentricity = 0.85539, convex_area = 12544.00000, extent = 0.68652, type = O + area = 14571.00000, perimeter = 489.43301, major_axis_length = 206.78789, minor_axis_length = 90.45136, eccentricity = 0.89926, convex_area = 14839.00000, extent = 0.60551, type = C + area = 11923.00000, perimeter = 432.33401, major_axis_length = 174.23662, minor_axis_length = 88.13160, eccentricity = 0.86264, convex_area = 12187.00000, extent = 0.62450, type = O + area = 11618.00000, perimeter = 434.17700, major_axis_length = 179.41545, minor_axis_length = 83.34638, eccentricity = 0.88555, convex_area = 11820.00000, extent = 0.61676, type = O + area = 12291.00000, perimeter = 440.95700, major_axis_length = 186.18777, minor_axis_length = 84.68074, eccentricity = 0.89059, convex_area = 12476.00000, extent = 0.73017, type = C + area = 12346.00000, perimeter = 456.90500, major_axis_length = 193.61288, minor_axis_length = 82.03561, eccentricity = 0.90580, convex_area = 12529.00000, extent = 0.58673, type = C + area = 15560.00000, perimeter = 502.96600, major_axis_length = 213.96318, minor_axis_length = 93.12080, eccentricity = 0.90032, convex_area = 15789.00000, extent = 0.78368, type = C + area = 12172.00000, perimeter = 431.19601, major_axis_length = 175.63828, minor_axis_length = 89.33349, eccentricity = 0.86099, convex_area = 12368.00000, extent = 0.60269, type = O + area = 11828.00000, perimeter = 437.90701, major_axis_length = 184.95726, minor_axis_length = 82.34544, eccentricity = 0.89542, convex_area = 12020.00000, extent = 0.61643, type = O + area = 16254.00000, perimeter = 532.77802, major_axis_length = 223.54863, minor_axis_length = 94.11950, eccentricity = 0.90705, convex_area = 16680.00000, extent = 0.55369, type = C + area = 11623.00000, perimeter = 424.35901, major_axis_length = 167.40399, minor_axis_length = 90.13301, eccentricity = 0.84268, convex_area = 11990.00000, extent = 0.76027, type = O + area = 13580.00000, perimeter = 460.54901, major_axis_length = 192.75961, minor_axis_length = 90.22404, eccentricity = 0.88369, convex_area = 13753.00000, extent = 0.79415, type = O + area = 12013.00000, perimeter = 443.47800, major_axis_length = 189.28691, minor_axis_length = 81.28728, eccentricity = 0.90310, convex_area = 12160.00000, extent = 0.56778, type = O + area = 12110.00000, perimeter = 421.95499, major_axis_length = 164.96596, minor_axis_length = 94.69146, eccentricity = 0.81885, convex_area = 12319.00000, extent = 0.66110, type = O + area = 13540.00000, perimeter = 458.53000, major_axis_length = 189.11140, minor_axis_length = 92.39391, eccentricity = 0.87253, convex_area = 13710.00000, extent = 0.79995, type = C + area = 11483.00000, perimeter = 437.02499, major_axis_length = 185.75238, minor_axis_length = 79.08173, eccentricity = 0.90485, convex_area = 11665.00000, extent = 0.57507, type = O + area = 12742.00000, perimeter = 446.81100, major_axis_length = 180.02014, minor_axis_length = 91.04812, eccentricity = 0.86267, convex_area = 12954.00000, extent = 0.79108, type = O + area = 12509.00000, perimeter = 439.44800, major_axis_length = 177.08337, minor_axis_length = 90.62299, eccentricity = 0.85913, convex_area = 12723.00000, extent = 0.62821, type = O + area = 16734.00000, perimeter = 531.50702, major_axis_length = 220.69548, minor_axis_length = 97.83933, eccentricity = 0.89636, convex_area = 17242.00000, extent = 0.65711, type = C + area = 10993.00000, perimeter = 422.51501, major_axis_length = 174.53636, minor_axis_length = 80.96795, eccentricity = 0.88589, convex_area = 11179.00000, extent = 0.66491, type = O + area = 11268.00000, perimeter = 429.30701, major_axis_length = 171.26433, minor_axis_length = 85.81079, eccentricity = 0.86542, convex_area = 11576.00000, extent = 0.60865, type = O + area = 12142.00000, perimeter = 443.51501, major_axis_length = 177.74475, minor_axis_length = 88.19751, eccentricity = 0.86821, convex_area = 12459.00000, extent = 0.61563, type = O + area = 11136.00000, perimeter = 417.76700, major_axis_length = 170.42235, minor_axis_length = 84.60592, eccentricity = 0.86807, convex_area = 11384.00000, extent = 0.78461, type = O + area = 14634.00000, perimeter = 501.12201, major_axis_length = 214.10678, minor_axis_length = 87.76829, eccentricity = 0.91212, convex_area = 14954.00000, extent = 0.69326, type = C + area = 9722.00000, perimeter = 373.75299, major_axis_length = 145.26447, minor_axis_length = 87.05447, eccentricity = 0.80054, convex_area = 9839.00000, extent = 0.81911, type = O + area = 12345.00000, perimeter = 440.19601, major_axis_length = 180.38937, minor_axis_length = 88.15686, eccentricity = 0.87245, convex_area = 12591.00000, extent = 0.73369, type = O + area = 11165.00000, perimeter = 424.16101, major_axis_length = 174.63153, minor_axis_length = 82.31621, eccentricity = 0.88194, convex_area = 11467.00000, extent = 0.64211, type = O + area = 10297.00000, perimeter = 426.22198, major_axis_length = 180.04320, minor_axis_length = 73.69880, eccentricity = 0.91238, convex_area = 10621.00000, extent = 0.56453, type = O + area = 9373.00000, perimeter = 383.04901, major_axis_length = 159.37862, minor_axis_length = 75.75037, eccentricity = 0.87983, convex_area = 9520.00000, extent = 0.72390, type = O + area = 11338.00000, perimeter = 420.79401, major_axis_length = 177.27419, minor_axis_length = 82.13946, eccentricity = 0.88618, convex_area = 11481.00000, extent = 0.82011, type = O + area = 12608.00000, perimeter = 440.12500, major_axis_length = 174.60252, minor_axis_length = 93.52520, eccentricity = 0.84444, convex_area = 12835.00000, extent = 0.63103, type = O + area = 11794.00000, perimeter = 456.32300, major_axis_length = 194.04308, minor_axis_length = 78.79870, eccentricity = 0.91383, convex_area = 12116.00000, extent = 0.65348, type = C + area = 14897.00000, perimeter = 491.18500, major_axis_length = 205.71985, minor_axis_length = 92.87569, eccentricity = 0.89229, convex_area = 15137.00000, extent = 0.59445, type = C + area = 10265.00000, perimeter = 400.32199, major_axis_length = 163.16632, minor_axis_length = 81.64381, eccentricity = 0.86581, convex_area = 10450.00000, extent = 0.61101, type = O + area = 10941.00000, perimeter = 423.40799, major_axis_length = 172.85109, minor_axis_length = 81.42479, eccentricity = 0.88210, convex_area = 11248.00000, extent = 0.62952, type = O + area = 14750.00000, perimeter = 484.15201, major_axis_length = 201.24701, minor_axis_length = 94.85915, eccentricity = 0.88194, convex_area = 14967.00000, extent = 0.78067, type = C + area = 13104.00000, perimeter = 476.98901, major_axis_length = 202.42511, minor_axis_length = 83.61329, eccentricity = 0.91070, convex_area = 13464.00000, extent = 0.53882, type = C + area = 11454.00000, perimeter = 424.95401, major_axis_length = 175.07666, minor_axis_length = 84.24493, eccentricity = 0.87662, convex_area = 11646.00000, extent = 0.73310, type = O + area = 10874.00000, perimeter = 426.87299, major_axis_length = 177.25034, minor_axis_length = 79.62495, eccentricity = 0.89342, convex_area = 11211.00000, extent = 0.63965, type = O + area = 12267.00000, perimeter = 454.02499, major_axis_length = 190.67360, minor_axis_length = 83.01829, eccentricity = 0.90024, convex_area = 12673.00000, extent = 0.65167, type = C + area = 13964.00000, perimeter = 480.02600, major_axis_length = 199.82314, minor_axis_length = 90.06547, eccentricity = 0.89266, convex_area = 14298.00000, extent = 0.65775, type = C + area = 13450.00000, perimeter = 465.39801, major_axis_length = 193.37497, minor_axis_length = 89.50690, eccentricity = 0.88643, convex_area = 13661.00000, extent = 0.61579, type = C + area = 12164.00000, perimeter = 435.08600, major_axis_length = 177.58580, minor_axis_length = 88.19933, eccentricity = 0.86795, convex_area = 12354.00000, extent = 0.71022, type = O + area = 11063.00000, perimeter = 428.23901, major_axis_length = 177.53922, minor_axis_length = 80.86371, eccentricity = 0.89025, convex_area = 11362.00000, extent = 0.60613, type = O + area = 12267.00000, perimeter = 429.69400, major_axis_length = 171.37064, minor_axis_length = 92.45802, eccentricity = 0.84197, convex_area = 12520.00000, extent = 0.77590, type = O + area = 11549.00000, perimeter = 432.62299, major_axis_length = 170.75679, minor_axis_length = 88.04955, eccentricity = 0.85680, convex_area = 11910.00000, extent = 0.62225, type = O + area = 15389.00000, perimeter = 521.30402, major_axis_length = 226.96100, minor_axis_length = 87.38693, eccentricity = 0.92290, convex_area = 15753.00000, extent = 0.57465, type = C + area = 13787.00000, perimeter = 476.89600, major_axis_length = 201.33832, minor_axis_length = 88.16448, eccentricity = 0.89903, convex_area = 14045.00000, extent = 0.57599, type = C + area = 14235.00000, perimeter = 505.84500, major_axis_length = 214.15660, minor_axis_length = 87.47984, eccentricity = 0.91276, convex_area = 14687.00000, extent = 0.68257, type = C + area = 11312.00000, perimeter = 421.54599, major_axis_length = 168.25601, minor_axis_length = 87.21075, eccentricity = 0.85519, convex_area = 11622.00000, extent = 0.76921, type = O + area = 12709.00000, perimeter = 456.17401, major_axis_length = 191.37341, minor_axis_length = 85.73984, eccentricity = 0.89402, convex_area = 12934.00000, extent = 0.78281, type = C + area = 11614.00000, perimeter = 418.86801, major_axis_length = 168.93079, minor_axis_length = 88.24200, eccentricity = 0.85273, convex_area = 11803.00000, extent = 0.67071, type = O + area = 11489.00000, perimeter = 432.20700, major_axis_length = 182.36238, minor_axis_length = 81.07018, eccentricity = 0.89575, convex_area = 11683.00000, extent = 0.79907, type = O + area = 11075.00000, perimeter = 412.23801, major_axis_length = 165.43394, minor_axis_length = 86.41811, eccentricity = 0.85272, convex_area = 11354.00000, extent = 0.63213, type = O + area = 11493.00000, perimeter = 447.15399, major_axis_length = 185.53111, minor_axis_length = 79.75233, eccentricity = 0.90290, convex_area = 11801.00000, extent = 0.57009, type = C + area = 13621.00000, perimeter = 477.54300, major_axis_length = 200.95772, minor_axis_length = 87.28851, eccentricity = 0.90074, convex_area = 13956.00000, extent = 0.79590, type = C + area = 10785.00000, perimeter = 423.79501, major_axis_length = 175.26901, minor_axis_length = 79.07759, eccentricity = 0.89243, convex_area = 11069.00000, extent = 0.70842, type = O + area = 15238.00000, perimeter = 506.11499, major_axis_length = 218.36040, minor_axis_length = 89.61969, eccentricity = 0.91190, convex_area = 15529.00000, extent = 0.54722, type = C + area = 10584.00000, perimeter = 437.04800, major_axis_length = 188.44142, minor_axis_length = 72.54809, eccentricity = 0.92292, convex_area = 10936.00000, extent = 0.55805, type = O + area = 14178.00000, perimeter = 488.88101, major_axis_length = 207.39560, minor_axis_length = 88.06809, eccentricity = 0.90536, convex_area = 14406.00000, extent = 0.55775, type = C + area = 12683.00000, perimeter = 444.53101, major_axis_length = 176.62497, minor_axis_length = 92.58025, eccentricity = 0.85162, convex_area = 13094.00000, extent = 0.66809, type = O + area = 15094.00000, perimeter = 513.92401, major_axis_length = 224.71965, minor_axis_length = 86.43656, eccentricity = 0.92307, convex_area = 15292.00000, extent = 0.79417, type = C + area = 11281.00000, perimeter = 424.97101, major_axis_length = 170.97597, minor_axis_length = 85.27378, eccentricity = 0.86675, convex_area = 11543.00000, extent = 0.68946, type = O + area = 13077.00000, perimeter = 472.90500, major_axis_length = 203.44507, minor_axis_length = 82.57013, eccentricity = 0.91394, convex_area = 13405.00000, extent = 0.62737, type = C + area = 13186.00000, perimeter = 477.33401, major_axis_length = 201.59677, minor_axis_length = 84.66999, eccentricity = 0.90753, convex_area = 13516.00000, extent = 0.54183, type = C + area = 11488.00000, perimeter = 416.37799, major_axis_length = 170.40480, minor_axis_length = 86.13889, eccentricity = 0.86283, convex_area = 11663.00000, extent = 0.75321, type = O + area = 14865.00000, perimeter = 495.07101, major_axis_length = 202.86786, minor_axis_length = 94.27195, eccentricity = 0.88547, convex_area = 15235.00000, extent = 0.60419, type = C + area = 14680.00000, perimeter = 495.44400, major_axis_length = 206.75375, minor_axis_length = 91.29646, eccentricity = 0.89723, convex_area = 15091.00000, extent = 0.61159, type = C + area = 15806.00000, perimeter = 513.84497, major_axis_length = 221.19238, minor_axis_length = 91.62951, eccentricity = 0.91016, convex_area = 16043.00000, extent = 0.57487, type = C + area = 12073.00000, perimeter = 439.79901, major_axis_length = 177.38651, minor_axis_length = 87.63170, eccentricity = 0.86945, convex_area = 12337.00000, extent = 0.68418, type = O + area = 12384.00000, perimeter = 460.13599, major_axis_length = 190.87038, minor_axis_length = 85.09120, eccentricity = 0.89513, convex_area = 12811.00000, extent = 0.60484, type = C + area = 12354.00000, perimeter = 453.09000, major_axis_length = 192.00674, minor_axis_length = 82.87370, eccentricity = 0.90206, convex_area = 12602.00000, extent = 0.65762, type = O + area = 14729.00000, perimeter = 496.93900, major_axis_length = 209.52042, minor_axis_length = 90.88716, eccentricity = 0.90102, convex_area = 15131.00000, extent = 0.61208, type = C + area = 10541.00000, perimeter = 406.53601, major_axis_length = 162.99107, minor_axis_length = 83.69826, eccentricity = 0.85808, convex_area = 10901.00000, extent = 0.77462, type = O + area = 12345.00000, perimeter = 438.02499, major_axis_length = 177.27922, minor_axis_length = 89.73426, eccentricity = 0.86243, convex_area = 12586.00000, extent = 0.62141, type = O + area = 13494.00000, perimeter = 479.44601, major_axis_length = 203.02734, minor_axis_length = 85.75127, eccentricity = 0.90643, convex_area = 13842.00000, extent = 0.77294, type = C + area = 11626.00000, perimeter = 433.23801, major_axis_length = 178.07924, minor_axis_length = 84.56313, eccentricity = 0.88006, convex_area = 11972.00000, extent = 0.58967, type = O + area = 11481.00000, perimeter = 419.06699, major_axis_length = 170.32956, minor_axis_length = 86.68471, eccentricity = 0.86081, convex_area = 11674.00000, extent = 0.74167, type = O + area = 9961.00000, perimeter = 397.92999, major_axis_length = 166.00798, minor_axis_length = 77.44359, eccentricity = 0.88452, convex_area = 10130.00000, extent = 0.62798, type = O + area = 11635.00000, perimeter = 436.33401, major_axis_length = 179.39749, minor_axis_length = 84.01840, eccentricity = 0.88355, convex_area = 11920.00000, extent = 0.66592, type = O + area = 14590.00000, perimeter = 496.17200, major_axis_length = 212.10075, minor_axis_length = 88.60241, eccentricity = 0.90857, convex_area = 14883.00000, extent = 0.57148, type = C + area = 14019.00000, perimeter = 482.45401, major_axis_length = 197.19820, minor_axis_length = 92.67004, eccentricity = 0.88270, convex_area = 14411.00000, extent = 0.57615, type = C + area = 11201.00000, perimeter = 416.53500, major_axis_length = 171.00299, minor_axis_length = 84.24180, eccentricity = 0.87024, convex_area = 11384.00000, extent = 0.75764, type = O + area = 14680.00000, perimeter = 502.90399, major_axis_length = 217.19501, minor_axis_length = 87.00278, eccentricity = 0.91626, convex_area = 15000.00000, extent = 0.58086, type = C + area = 9798.00000, perimeter = 416.66800, major_axis_length = 182.42519, minor_axis_length = 69.40627, eccentricity = 0.92480, convex_area = 9994.00000, extent = 0.58671, type = O + area = 10783.00000, perimeter = 418.68100, major_axis_length = 171.36520, minor_axis_length = 82.12441, eccentricity = 0.87769, convex_area = 11133.00000, extent = 0.59345, type = O + area = 12672.00000, perimeter = 445.54300, major_axis_length = 180.45528, minor_axis_length = 90.30993, eccentricity = 0.86576, convex_area = 12900.00000, extent = 0.62569, type = O + area = 15069.00000, perimeter = 505.45499, major_axis_length = 211.90649, minor_axis_length = 91.93554, eccentricity = 0.90099, convex_area = 15431.00000, extent = 0.55352, type = C + area = 14589.00000, perimeter = 495.92999, major_axis_length = 210.28394, minor_axis_length = 89.42495, eccentricity = 0.90507, convex_area = 14853.00000, extent = 0.66510, type = C + area = 14577.00000, perimeter = 489.90799, major_axis_length = 204.84602, minor_axis_length = 91.23347, eccentricity = 0.89534, convex_area = 14870.00000, extent = 0.78140, type = C + area = 12573.00000, perimeter = 444.96100, major_axis_length = 180.37151, minor_axis_length = 89.74239, eccentricity = 0.86744, convex_area = 12827.00000, extent = 0.66292, type = O + area = 11734.00000, perimeter = 432.62100, major_axis_length = 177.31726, minor_axis_length = 86.10056, eccentricity = 0.87420, convex_area = 11972.00000, extent = 0.64458, type = O + area = 11717.00000, perimeter = 439.73001, major_axis_length = 182.04054, minor_axis_length = 82.61973, eccentricity = 0.89108, convex_area = 11965.00000, extent = 0.56148, type = O + area = 12921.00000, perimeter = 449.48700, major_axis_length = 181.03468, minor_axis_length = 92.02007, eccentricity = 0.86118, convex_area = 13209.00000, extent = 0.62387, type = O + area = 10583.00000, perimeter = 401.31000, major_axis_length = 164.73561, minor_axis_length = 82.48628, eccentricity = 0.86561, convex_area = 10769.00000, extent = 0.72348, type = O + area = 9668.00000, perimeter = 393.71399, major_axis_length = 159.52293, minor_axis_length = 78.49077, eccentricity = 0.87058, convex_area = 9882.00000, extent = 0.60417, type = O + area = 12070.00000, perimeter = 432.86801, major_axis_length = 177.19440, minor_axis_length = 87.37621, eccentricity = 0.86997, convex_area = 12283.00000, extent = 0.76277, type = O + area = 13567.00000, perimeter = 481.09500, major_axis_length = 206.62842, minor_axis_length = 84.00917, eccentricity = 0.91362, convex_area = 13818.00000, extent = 0.60111, type = C + area = 11354.00000, perimeter = 426.87299, major_axis_length = 172.39626, minor_axis_length = 85.40240, eccentricity = 0.86867, convex_area = 11703.00000, extent = 0.72922, type = O + area = 10662.00000, perimeter = 420.19501, major_axis_length = 175.88251, minor_axis_length = 78.51628, eccentricity = 0.89483, convex_area = 10944.00000, extent = 0.56943, type = O + area = 13092.00000, perimeter = 465.43701, major_axis_length = 197.04187, minor_axis_length = 85.83564, eccentricity = 0.90013, convex_area = 13369.00000, extent = 0.76885, type = C + area = 12555.00000, perimeter = 444.57999, major_axis_length = 184.82533, minor_axis_length = 87.36723, eccentricity = 0.88122, convex_area = 12773.00000, extent = 0.65221, type = C + area = 12361.00000, perimeter = 443.81900, major_axis_length = 178.17212, minor_axis_length = 89.32095, eccentricity = 0.86526, convex_area = 12581.00000, extent = 0.78037, type = O + area = 14104.00000, perimeter = 467.80099, major_axis_length = 189.49490, minor_axis_length = 95.64701, eccentricity = 0.86327, convex_area = 14409.00000, extent = 0.78970, type = O + area = 12085.00000, perimeter = 431.20801, major_axis_length = 168.88475, minor_axis_length = 92.54957, eccentricity = 0.83648, convex_area = 12279.00000, extent = 0.70258, type = O + area = 10821.00000, perimeter = 418.00201, major_axis_length = 176.55823, minor_axis_length = 79.08772, eccentricity = 0.89406, convex_area = 10986.00000, extent = 0.59041, type = O + area = 11327.00000, perimeter = 422.68500, major_axis_length = 175.85306, minor_axis_length = 82.81971, eccentricity = 0.88215, convex_area = 11475.00000, extent = 0.59631, type = O + area = 13930.00000, perimeter = 484.86200, major_axis_length = 205.27246, minor_axis_length = 87.23549, eccentricity = 0.90521, convex_area = 14330.00000, extent = 0.79943, type = C + area = 13173.00000, perimeter = 467.47601, major_axis_length = 194.67645, minor_axis_length = 87.36396, eccentricity = 0.89365, convex_area = 13443.00000, extent = 0.57316, type = C + area = 15613.00000, perimeter = 509.76099, major_axis_length = 210.27808, minor_axis_length = 96.02433, eccentricity = 0.88964, convex_area = 15975.00000, extent = 0.57260, type = C + area = 11026.00000, perimeter = 425.01001, major_axis_length = 179.95877, minor_axis_length = 79.05263, eccentricity = 0.89835, convex_area = 11185.00000, extent = 0.55862, type = O + area = 12770.00000, perimeter = 451.73999, major_axis_length = 191.07309, minor_axis_length = 86.15910, eccentricity = 0.89256, convex_area = 12910.00000, extent = 0.58098, type = O + area = 13062.00000, perimeter = 467.46399, major_axis_length = 197.80243, minor_axis_length = 85.39855, eccentricity = 0.90200, convex_area = 13272.00000, extent = 0.62408, type = C + area = 15161.00000, perimeter = 498.79099, major_axis_length = 208.25204, minor_axis_length = 93.86026, eccentricity = 0.89267, convex_area = 15541.00000, extent = 0.64057, type = C + area = 15164.00000, perimeter = 501.65201, major_axis_length = 212.15840, minor_axis_length = 92.44685, eccentricity = 0.90007, convex_area = 15461.00000, extent = 0.70106, type = C + area = 12215.00000, perimeter = 445.29501, major_axis_length = 180.90947, minor_axis_length = 87.40585, eccentricity = 0.87554, convex_area = 12448.00000, extent = 0.58811, type = O + area = 13006.00000, perimeter = 486.70700, major_axis_length = 213.12805, minor_axis_length = 78.45641, eccentricity = 0.92978, convex_area = 13399.00000, extent = 0.62245, type = C + area = 12344.00000, perimeter = 442.70200, major_axis_length = 179.73578, minor_axis_length = 88.92992, eccentricity = 0.86902, convex_area = 12609.00000, extent = 0.71897, type = O + area = 11504.00000, perimeter = 432.44400, major_axis_length = 175.78508, minor_axis_length = 84.95903, eccentricity = 0.87545, convex_area = 11861.00000, extent = 0.58802, type = O + area = 10915.00000, perimeter = 419.58600, major_axis_length = 171.54233, minor_axis_length = 82.83171, eccentricity = 0.87570, convex_area = 11246.00000, extent = 0.78345, type = O + area = 13268.00000, perimeter = 473.43399, major_axis_length = 200.70084, minor_axis_length = 84.70035, eccentricity = 0.90659, convex_area = 13562.00000, extent = 0.71622, type = C + area = 14053.00000, perimeter = 482.08401, major_axis_length = 204.37863, minor_axis_length = 88.23911, eccentricity = 0.90200, convex_area = 14316.00000, extent = 0.71335, type = C + area = 16008.00000, perimeter = 521.00702, major_axis_length = 222.84523, minor_axis_length = 92.12952, eccentricity = 0.91054, convex_area = 16315.00000, extent = 0.61188, type = C + area = 11719.00000, perimeter = 430.51199, major_axis_length = 175.51746, minor_axis_length = 86.51001, eccentricity = 0.87009, convex_area = 12000.00000, extent = 0.69931, type = O + area = 13724.00000, perimeter = 468.57199, major_axis_length = 191.87160, minor_axis_length = 92.48851, eccentricity = 0.87615, convex_area = 14048.00000, extent = 0.74072, type = C + area = 8546.00000, perimeter = 388.58099, major_axis_length = 172.51996, minor_axis_length = 63.34475, eccentricity = 0.93015, convex_area = 8685.00000, extent = 0.73546, type = O + area = 10690.00000, perimeter = 411.38400, major_axis_length = 169.08861, minor_axis_length = 81.66603, eccentricity = 0.87563, convex_area = 10915.00000, extent = 0.66110, type = O + area = 14870.00000, perimeter = 506.56100, major_axis_length = 214.93123, minor_axis_length = 89.40025, eccentricity = 0.90939, convex_area = 15202.00000, extent = 0.57973, type = C + area = 10260.00000, perimeter = 417.00000, major_axis_length = 172.99356, minor_axis_length = 76.90769, eccentricity = 0.89574, convex_area = 10527.00000, extent = 0.58824, type = O + area = 13368.00000, perimeter = 487.55099, major_axis_length = 202.53963, minor_axis_length = 86.57294, eccentricity = 0.90405, convex_area = 13965.00000, extent = 0.71825, type = C + area = 14186.00000, perimeter = 490.71399, major_axis_length = 198.14221, minor_axis_length = 92.53505, eccentricity = 0.88425, convex_area = 14721.00000, extent = 0.59368, type = O + area = 10719.00000, perimeter = 418.67001, major_axis_length = 175.00836, minor_axis_length = 78.83108, eccentricity = 0.89281, convex_area = 10983.00000, extent = 0.63690, type = O + area = 11543.00000, perimeter = 428.60199, major_axis_length = 175.37068, minor_axis_length = 85.05824, eccentricity = 0.87450, convex_area = 11859.00000, extent = 0.67107, type = O + area = 13154.00000, perimeter = 451.56201, major_axis_length = 179.95360, minor_axis_length = 94.31381, eccentricity = 0.85166, convex_area = 13428.00000, extent = 0.65022, type = O + area = 13806.00000, perimeter = 494.03201, major_axis_length = 212.38689, minor_axis_length = 83.93067, eccentricity = 0.91860, convex_area = 14247.00000, extent = 0.53363, type = C + area = 13637.00000, perimeter = 466.65302, major_axis_length = 193.53421, minor_axis_length = 90.35423, eccentricity = 0.88433, convex_area = 13838.00000, extent = 0.69167, type = C + area = 10964.00000, perimeter = 417.98700, major_axis_length = 171.39023, minor_axis_length = 82.60121, eccentricity = 0.87620, convex_area = 11247.00000, extent = 0.59668, type = O + area = 11380.00000, perimeter = 423.61499, major_axis_length = 172.17389, minor_axis_length = 85.65730, eccentricity = 0.86746, convex_area = 11620.00000, extent = 0.67317, type = O + area = 13196.00000, perimeter = 474.98801, major_axis_length = 199.98131, minor_axis_length = 85.65816, eccentricity = 0.90362, convex_area = 13463.00000, extent = 0.55646, type = C + area = 13319.00000, perimeter = 468.23199, major_axis_length = 192.92725, minor_axis_length = 89.33763, eccentricity = 0.88632, convex_area = 13694.00000, extent = 0.69522, type = C + area = 13657.00000, perimeter = 469.23700, major_axis_length = 193.10742, minor_axis_length = 90.77804, eccentricity = 0.88262, convex_area = 13930.00000, extent = 0.61535, type = C + area = 10349.00000, perimeter = 408.07599, major_axis_length = 169.36772, minor_axis_length = 79.00407, eccentricity = 0.88454, convex_area = 10608.00000, extent = 0.65733, type = O + area = 14412.00000, perimeter = 490.32401, major_axis_length = 207.47614, minor_axis_length = 89.68951, eccentricity = 0.90174, convex_area = 14703.00000, extent = 0.59885, type = C + area = 11874.00000, perimeter = 433.84399, major_axis_length = 176.61125, minor_axis_length = 87.04949, eccentricity = 0.87009, convex_area = 12138.00000, extent = 0.73441, type = C + area = 11271.00000, perimeter = 404.46399, major_axis_length = 158.98883, minor_axis_length = 91.34058, eccentricity = 0.81850, convex_area = 11462.00000, extent = 0.67010, type = O + area = 11715.00000, perimeter = 439.70300, major_axis_length = 183.22273, minor_axis_length = 82.48322, eccentricity = 0.89294, convex_area = 11948.00000, extent = 0.60449, type = O + area = 13251.00000, perimeter = 460.53201, major_axis_length = 190.91631, minor_axis_length = 88.99756, eccentricity = 0.88470, convex_area = 13528.00000, extent = 0.74992, type = C + area = 14263.00000, perimeter = 490.75101, major_axis_length = 203.77844, minor_axis_length = 90.26588, eccentricity = 0.89654, convex_area = 14779.00000, extent = 0.73155, type = C + area = 10903.00000, perimeter = 419.65399, major_axis_length = 169.51709, minor_axis_length = 83.22002, eccentricity = 0.87120, convex_area = 11232.00000, extent = 0.69784, type = O + area = 12231.00000, perimeter = 450.55899, major_axis_length = 187.54214, minor_axis_length = 84.03810, eccentricity = 0.89398, convex_area = 12504.00000, extent = 0.70716, type = O + area = 10831.00000, perimeter = 425.60101, major_axis_length = 182.23546, minor_axis_length = 76.19516, eccentricity = 0.90839, convex_area = 11017.00000, extent = 0.58864, type = O + area = 12386.00000, perimeter = 467.85001, major_axis_length = 201.90131, minor_axis_length = 79.30883, eccentricity = 0.91962, convex_area = 12679.00000, extent = 0.79184, type = C + area = 16190.00000, perimeter = 529.66101, major_axis_length = 224.38686, minor_axis_length = 93.10742, eccentricity = 0.90985, convex_area = 16530.00000, extent = 0.53482, type = C + area = 10413.00000, perimeter = 427.36801, major_axis_length = 183.97604, minor_axis_length = 72.42983, eccentricity = 0.91924, convex_area = 10591.00000, extent = 0.77133, type = O + area = 14504.00000, perimeter = 502.50699, major_axis_length = 212.24757, minor_axis_length = 87.93213, eccentricity = 0.91014, convex_area = 14895.00000, extent = 0.55342, type = C + area = 14586.00000, perimeter = 489.54401, major_axis_length = 206.59869, minor_axis_length = 91.26047, eccentricity = 0.89715, convex_area = 14897.00000, extent = 0.79557, type = C + area = 10950.00000, perimeter = 412.33401, major_axis_length = 166.30606, minor_axis_length = 85.29817, eccentricity = 0.85845, convex_area = 11172.00000, extent = 0.77605, type = O + area = 12570.00000, perimeter = 450.85901, major_axis_length = 178.96025, minor_axis_length = 91.11516, eccentricity = 0.86069, convex_area = 12886.00000, extent = 0.61049, type = O + area = 11601.00000, perimeter = 435.55701, major_axis_length = 187.09186, minor_axis_length = 79.52679, eccentricity = 0.90516, convex_area = 11757.00000, extent = 0.72011, type = O + area = 11836.00000, perimeter = 456.37900, major_axis_length = 201.86960, minor_axis_length = 75.45857, eccentricity = 0.92751, convex_area = 12084.00000, extent = 0.75321, type = C + area = 10380.00000, perimeter = 399.17700, major_axis_length = 164.59058, minor_axis_length = 80.95958, eccentricity = 0.87066, convex_area = 10630.00000, extent = 0.70641, type = O + area = 14173.00000, perimeter = 480.68301, major_axis_length = 201.93576, minor_axis_length = 90.24498, eccentricity = 0.89458, convex_area = 14519.00000, extent = 0.59756, type = C + area = 12339.00000, perimeter = 453.26401, major_axis_length = 191.50438, minor_axis_length = 82.77469, eccentricity = 0.90176, convex_area = 12534.00000, extent = 0.61893, type = O + area = 10198.00000, perimeter = 400.19501, major_axis_length = 166.59412, minor_axis_length = 78.23194, eccentricity = 0.88288, convex_area = 10351.00000, extent = 0.62499, type = O + area = 10586.00000, perimeter = 423.74600, major_axis_length = 181.40466, minor_axis_length = 75.15121, eccentricity = 0.91015, convex_area = 10760.00000, extent = 0.78853, type = O + area = 15786.00000, perimeter = 500.86099, major_axis_length = 205.46724, minor_axis_length = 98.81665, eccentricity = 0.87676, convex_area = 16127.00000, extent = 0.61091, type = C + area = 11259.00000, perimeter = 421.50500, major_axis_length = 172.21184, minor_axis_length = 84.22155, eccentricity = 0.87225, convex_area = 11522.00000, extent = 0.79367, type = O + area = 14524.00000, perimeter = 480.21201, major_axis_length = 199.93301, minor_axis_length = 93.31210, eccentricity = 0.88441, convex_area = 14808.00000, extent = 0.61128, type = C + area = 12149.00000, perimeter = 455.56201, major_axis_length = 191.44572, minor_axis_length = 82.05867, eccentricity = 0.90348, convex_area = 12510.00000, extent = 0.71423, type = C + area = 12712.00000, perimeter = 453.07999, major_axis_length = 192.81546, minor_axis_length = 84.60754, eccentricity = 0.89858, convex_area = 12891.00000, extent = 0.56877, type = O + area = 12000.00000, perimeter = 440.48700, major_axis_length = 181.43523, minor_axis_length = 84.99417, eccentricity = 0.88349, convex_area = 12196.00000, extent = 0.63776, type = O + area = 11329.00000, perimeter = 414.61700, major_axis_length = 168.91350, minor_axis_length = 86.12176, eccentricity = 0.86026, convex_area = 11540.00000, extent = 0.78412, type = O + area = 11733.00000, perimeter = 436.26001, major_axis_length = 182.88922, minor_axis_length = 82.62609, eccentricity = 0.89213, convex_area = 11955.00000, extent = 0.68662, type = C diff --git a/cmake-build-relwithdebinfo/run_7/regress.stt b/cmake-build-relwithdebinfo/run_7/regress.stt new file mode 100644 index 0000000..9c6ba1d --- /dev/null +++ b/cmake-build-relwithdebinfo/run_7/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.9582 0.9987 0.0000 18.235 3.482 82 6 65 6 0.9582 0.9987 0.0000 18.235 3.482 82 6 65 6 +1 0 0.9906 0.9987 0.0000 16.646 3.611 82 6 72 10 0.9744 0.9987 0.0000 17.441 3.546 82 6 65 6 +2 0 0.9906 0.9987 0.0000 16.459 3.760 82 6 76 9 0.9798 0.9987 0.0000 17.114 3.617 82 6 65 6 +3 0 0.9913 0.9987 0.0000 16.349 3.872 82 6 28 7 0.9827 0.9987 0.0000 16.922 3.681 82 6 65 6 +4 0 0.9900 0.9987 0.0000 16.030 3.937 13 4 45 7 0.9841 0.9987 0.0000 16.744 3.732 13 4 65 6 +5 0 0.9916 0.9987 0.0000 15.890 4.012 8 3 52 9 0.9854 0.9987 0.0000 16.602 3.779 8 3 65 6 +6 0 0.9922 0.9987 0.0000 15.482 4.044 8 3 34 7 0.9863 0.9987 0.0000 16.442 3.817 8 3 65 6 +7 0 0.9922 0.9987 0.0000 15.085 4.043 8 3 30 6 0.9871 0.9987 0.0000 16.272 3.845 8 3 65 6 +8 0 0.9942 0.9987 0.0000 14.886 4.072 8 3 20 5 0.9879 0.9987 0.0000 16.118 3.870 8 3 65 6 +9 0 0.9938 0.9989 0.0000 15.028 4.129 16 7 65 13 0.9884 0.9989 0.0000 16.009 3.896 16 7 65 6 +10 0 0.9934 0.9989 0.0000 14.764 4.142 16 7 11 5 0.9889 0.9989 0.0000 15.896 3.919 16 7 65 6 +11 0 0.9933 0.9989 0.0000 14.462 4.134 16 7 33 7 0.9893 0.9989 0.0000 15.776 3.937 16 7 65 6 +12 0 0.9955 0.9989 0.0000 14.250 4.173 16 7 21 7 0.9897 0.9989 0.0000 15.659 3.955 16 7 65 6 +13 0 0.9940 0.9989 0.0000 14.057 4.208 10 5 40 9 0.9900 0.9989 0.0000 15.545 3.973 10 5 65 6 +14 0 0.9948 0.9989 0.0000 14.143 4.246 17 7 29 7 0.9904 0.9989 0.0000 15.451 3.991 17 7 65 6 +15 0 0.9948 0.9989 0.0000 13.902 4.234 17 7 44 12 0.9906 0.9989 0.0000 15.354 4.006 17 7 65 6 +16 0 0.9948 0.9989 0.0000 13.655 4.200 17 7 34 11 0.9909 0.9989 0.0000 15.254 4.018 17 7 65 6 +17 0 0.9922 0.9989 0.0000 13.781 4.249 17 7 35 9 0.9909 0.9989 0.0000 15.173 4.030 17 7 65 6 +18 0 0.9952 0.9989 0.0000 13.512 4.252 17 7 50 8 0.9912 0.9989 0.0000 15.085 4.042 17 7 65 6 +19 0 0.9950 0.9989 0.0000 13.500 4.276 17 7 26 9 0.9914 0.9989 0.0000 15.006 4.054 17 7 65 6 +20 0 0.9952 0.9989 0.0000 13.100 4.228 17 7 52 14 0.9915 0.9989 0.0000 14.915 4.062 17 7 65 6 +21 0 0.9950 0.9989 0.0000 13.185 4.247 17 7 11 4 0.9917 0.9989 0.0000 14.836 4.070 17 7 65 6 +22 0 0.9953 0.9989 0.0000 13.249 4.268 17 7 16 6 0.9919 0.9989 0.0000 14.767 4.079 17 7 65 6 +23 0 0.9952 0.9989 0.0000 13.113 4.270 17 7 54 11 0.9920 0.9989 0.0000 14.699 4.087 17 7 65 6 +24 0 0.9956 0.9989 0.0000 12.958 4.252 17 7 112 13 0.9921 0.9989 0.0000 14.629 4.094 17 7 65 6 +25 0 0.9962 0.9989 0.0000 12.677 4.192 17 7 43 7 0.9923 0.9989 0.0000 14.554 4.097 17 7 65 6 +26 0 0.9958 0.9989 0.0000 12.587 4.165 15 5 24 6 0.9924 0.9989 0.0000 14.481 4.100 15 5 65 6 +27 0 0.9970 0.9989 0.0000 12.306 4.132 15 5 27 9 0.9926 0.9989 0.0000 14.403 4.101 15 5 65 6 +28 0 0.9946 0.9989 0.0000 12.360 4.162 15 5 39 11 0.9926 0.9989 0.0000 14.333 4.103 15 5 65 6 +29 0 0.9960 0.9989 0.0000 12.380 4.200 15 5 21 8 0.9928 0.9989 0.0000 14.268 4.106 15 5 65 6 +30 0 0.9954 0.9989 0.0000 12.329 4.223 15 5 16 6 0.9928 0.9989 0.0000 14.205 4.110 15 5 65 6 +31 0 0.9956 0.9989 0.0000 12.218 4.214 15 5 13 5 0.9929 0.9989 0.0000 14.143 4.113 15 5 65 6 +32 0 0.9967 0.9989 0.0000 12.281 4.230 15 5 53 10 0.9930 0.9989 0.0000 14.087 4.117 15 5 65 6 +33 0 0.9950 0.9989 0.0000 12.069 4.178 15 5 49 11 0.9931 0.9989 0.0000 14.027 4.119 15 5 65 6 +34 0 0.9967 0.9989 0.0000 11.674 4.081 15 5 15 6 0.9932 0.9989 0.0000 13.960 4.118 15 5 65 6 +35 0 0.9956 0.9989 0.0000 11.606 4.085 15 5 20 6 0.9933 0.9989 0.0000 13.895 4.117 15 5 65 6 +36 0 0.9965 0.9989 0.0000 11.512 4.047 15 5 28 6 0.9934 0.9989 0.0000 13.830 4.115 15 5 65 6 +37 0 0.9959 0.9989 0.0000 11.384 4.036 15 5 19 7 0.9934 0.9989 0.0000 13.766 4.113 15 5 65 6 +38 0 0.9969 0.9989 0.0000 11.115 3.955 15 5 22 8 0.9935 0.9989 0.0000 13.698 4.109 15 5 65 6 +39 0 0.9953 0.9989 0.0000 10.607 3.823 15 5 15 8 0.9936 0.9989 0.0000 13.621 4.102 15 5 65 6 +40 0 0.9964 0.9989 0.0000 10.623 3.810 15 5 47 10 0.9936 0.9989 0.0000 13.548 4.095 15 5 65 6 +41 0 0.9964 0.9989 0.0000 10.474 3.753 15 5 20 8 0.9937 0.9989 0.0000 13.474 4.086 15 5 65 6 +42 0 0.9972 0.9989 0.0000 10.411 3.727 15 5 13 4 0.9938 0.9989 0.0000 13.403 4.078 15 5 65 6 +43 0 0.9966 0.9989 0.0000 10.161 3.685 15 5 31 7 0.9938 0.9989 0.0000 13.329 4.069 15 5 65 6 +44 0 0.9970 0.9989 0.0000 10.102 3.703 15 5 50 10 0.9939 0.9989 0.0000 13.258 4.061 15 5 65 6 +45 0 0.9956 0.9989 0.0000 10.237 3.774 15 5 19 6 0.9939 0.9989 0.0000 13.192 4.055 15 5 65 6 +46 0 0.9962 0.9989 0.0000 9.861 3.665 11 6 22 8 0.9940 0.9989 0.0000 13.121 4.046 11 6 65 6 +47 0 0.9972 0.9989 0.0000 9.568 3.594 11 6 28 9 0.9940 0.9989 0.0000 13.047 4.037 11 6 65 6 +48 0 0.9974 0.9989 0.0000 9.554 3.595 11 6 20 5 0.9941 0.9989 0.0000 12.976 4.028 11 6 65 6 +49 0 0.9972 0.9989 0.0000 9.500 3.583 11 6 11 5 0.9942 0.9989 0.0000 12.906 4.019 11 6 65 6 +50 0 0.9976 0.9989 0.0000 9.402 3.542 11 6 18 7 0.9942 0.9989 0.0000 12.838 4.010 11 6 65 6 diff --git a/cmake-build-relwithdebinfo/run_7/regress.sys b/cmake-build-relwithdebinfo/run_7/regress.sys new file mode 100644 index 0000000..e8adf45 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_7/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - exp log area perimeter major minor eccentricity convex extent R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 167. +creating initial population(s): + 7373 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 29. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (1s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 82259369 + freed: 82211369 + not freed: 48000 + max allocated: 2522246 + malloc'ed blocks: 830370 + realloc'ed blocks: 7 + free'ed blocks: 830364 + +------- time ------- + overall: 58s wall + evaluation: 55s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 7951 + freed: 7951 + allocated: 5500 + blocks: 10 diff --git a/cmake-build-relwithdebinfo/run_8/regress.bst b/cmake-build-relwithdebinfo/run_8/regress.bst new file mode 100644 index 0000000..4418cec --- /dev/null +++ b/cmake-build-relwithdebinfo/run_8/regress.bst @@ -0,0 +1,18 @@ +=== BEST-OF-RUN === + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +TREE-equ: +y = log(exp((perimeter / -0.60934))) diff --git a/cmake-build-relwithdebinfo/run_8/regress.fn b/cmake-build-relwithdebinfo/run_8/regress.fn new file mode 100644 index 0000000..eecdedb --- /dev/null +++ b/cmake-build-relwithdebinfo/run_8/regress.fn @@ -0,0 +1,10 @@ +Hits: 2551, Total Size: 2810, Percent Hit: 90.782918 +CC: 1067 +CO: 81 +OO: 1484 +OC: 178 + + +y = log(exp((perimeter / -0.60934))) + + (log (exp (/ perimeter -0.60934))) diff --git a/cmake-build-relwithdebinfo/run_8/regress.gen b/cmake-build-relwithdebinfo/run_8/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/run_8/regress.his b/cmake-build-relwithdebinfo/run_8/regress.his new file mode 100644 index 0000000..92aa90d --- /dev/null +++ b/cmake-build-relwithdebinfo/run_8/regress.his @@ -0,0 +1,937 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 25 + depth: 4 + hits: 834 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 834 + raw fitness: 834.0000 + standardized fitness: 834.0000 + adjusted fitness: 0.9988 +TREE: + (- (+ (/ (- convex extent) + (log minor)) + (/ (+ -0.45016 extent) + (exp minor))) + (* (/ (log minor) + (/ major area)) + (log (+ major area)))) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 25 + depth: 4 + hits: 834 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 834 + raw fitness: 834.0000 + standardized fitness: 834.0000 + adjusted fitness: 0.9988 +TREE: + (- (+ (/ (- convex extent) + (log minor)) + (/ (+ -0.45016 extent) + (exp minor))) + (* (/ (log minor) + (/ major area)) + (log (+ major area)))) +=== BEST-OF-RUN === + current generation: 2 + generation: 0 + nodes: 25 + depth: 4 + hits: 834 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 834 + raw fitness: 834.0000 + standardized fitness: 834.0000 + adjusted fitness: 0.9988 +TREE: + (- (+ (/ (- convex extent) + (log minor)) + (/ (+ -0.45016 extent) + (exp minor))) + (* (/ (log minor) + (/ major area)) + (log (+ major area)))) +=== BEST-OF-RUN === + current generation: 3 + generation: 3 + nodes: 8 + depth: 4 + hits: 868 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 868 + raw fitness: 868.0000 + standardized fitness: 868.0000 + adjusted fitness: 0.9988 +TREE: + (log (exp (/ (+ eccentricity minor) + (log eccentricity)))) +=== BEST-OF-RUN === + current generation: 4 + generation: 3 + nodes: 8 + depth: 4 + hits: 868 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 868 + raw fitness: 868.0000 + standardized fitness: 868.0000 + adjusted fitness: 0.9988 +TREE: + (log (exp (/ (+ eccentricity minor) + (log eccentricity)))) +=== BEST-OF-RUN === + current generation: 5 + generation: 3 + nodes: 8 + depth: 4 + hits: 868 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 868 + raw fitness: 868.0000 + standardized fitness: 868.0000 + adjusted fitness: 0.9988 +TREE: + (log (exp (/ (+ eccentricity minor) + (log eccentricity)))) +=== BEST-OF-RUN === + current generation: 6 + generation: 3 + nodes: 8 + depth: 4 + hits: 868 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 868 + raw fitness: 868.0000 + standardized fitness: 868.0000 + adjusted fitness: 0.9988 +TREE: + (log (exp (/ (+ eccentricity minor) + (log eccentricity)))) +=== BEST-OF-RUN === + current generation: 7 + generation: 7 + nodes: 11 + depth: 5 + hits: 882 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 882 + raw fitness: 882.0000 + standardized fitness: 882.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (- extent + (/ major 0.47722)) + (- minor perimeter)))) +=== BEST-OF-RUN === + current generation: 8 + generation: 7 + nodes: 11 + depth: 5 + hits: 882 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 882 + raw fitness: 882.0000 + standardized fitness: 882.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (- extent + (/ major 0.47722)) + (- minor perimeter)))) +=== BEST-OF-RUN === + current generation: 9 + generation: 7 + nodes: 11 + depth: 5 + hits: 882 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 882 + raw fitness: 882.0000 + standardized fitness: 882.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (- extent + (/ major 0.47722)) + (- minor perimeter)))) +=== BEST-OF-RUN === + current generation: 10 + generation: 7 + nodes: 11 + depth: 5 + hits: 882 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 882 + raw fitness: 882.0000 + standardized fitness: 882.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (- extent + (/ major 0.47722)) + (- minor perimeter)))) +=== BEST-OF-RUN === + current generation: 11 + generation: 7 + nodes: 11 + depth: 5 + hits: 882 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 882 + raw fitness: 882.0000 + standardized fitness: 882.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (- extent + (/ major 0.47722)) + (- minor perimeter)))) +=== BEST-OF-RUN === + current generation: 12 + generation: 7 + nodes: 11 + depth: 5 + hits: 882 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 882 + raw fitness: 882.0000 + standardized fitness: 882.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (- extent + (/ major 0.47722)) + (- minor perimeter)))) +=== BEST-OF-RUN === + current generation: 13 + generation: 7 + nodes: 11 + depth: 5 + hits: 882 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 882 + raw fitness: 882.0000 + standardized fitness: 882.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (- extent + (/ major 0.47722)) + (- minor perimeter)))) +=== BEST-OF-RUN === + current generation: 14 + generation: 7 + nodes: 11 + depth: 5 + hits: 882 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 882 + raw fitness: 882.0000 + standardized fitness: 882.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (- extent + (/ major 0.47722)) + (- minor perimeter)))) +=== BEST-OF-RUN === + current generation: 15 + generation: 7 + nodes: 11 + depth: 5 + hits: 882 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 882 + raw fitness: 882.0000 + standardized fitness: 882.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (- extent + (/ major 0.47722)) + (- minor perimeter)))) +=== BEST-OF-RUN === + current generation: 16 + generation: 7 + nodes: 11 + depth: 5 + hits: 882 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 882 + raw fitness: 882.0000 + standardized fitness: 882.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (- extent + (/ major 0.47722)) + (- minor perimeter)))) +=== BEST-OF-RUN === + current generation: 17 + generation: 7 + nodes: 11 + depth: 5 + hits: 882 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 882 + raw fitness: 882.0000 + standardized fitness: 882.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (- extent + (/ major 0.47722)) + (- minor perimeter)))) +=== BEST-OF-RUN === + current generation: 18 + generation: 7 + nodes: 11 + depth: 5 + hits: 882 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 882 + raw fitness: 882.0000 + standardized fitness: 882.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (- extent + (/ major 0.47722)) + (- minor perimeter)))) +=== BEST-OF-RUN === + current generation: 19 + generation: 7 + nodes: 11 + depth: 5 + hits: 882 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 882 + raw fitness: 882.0000 + standardized fitness: 882.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (- extent + (/ major 0.47722)) + (- minor perimeter)))) +=== BEST-OF-RUN === + current generation: 20 + generation: 7 + nodes: 11 + depth: 5 + hits: 882 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 882 + raw fitness: 882.0000 + standardized fitness: 882.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (- extent + (/ major 0.47722)) + (- minor perimeter)))) +=== BEST-OF-RUN === + current generation: 21 + generation: 7 + nodes: 11 + depth: 5 + hits: 882 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 882 + raw fitness: 882.0000 + standardized fitness: 882.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (+ (- extent + (/ major 0.47722)) + (- minor perimeter)))) +=== BEST-OF-RUN === + current generation: 22 + generation: 22 + nodes: 18 + depth: 6 + hits: 892 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 892 + raw fitness: 892.0000 + standardized fitness: 892.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (/ convex area) major) + (log (exp (+ (- (log major) + (/ major 0.47722)) + (- minor perimeter))))) +=== BEST-OF-RUN === + current generation: 23 + generation: 22 + nodes: 18 + depth: 6 + hits: 892 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 892 + raw fitness: 892.0000 + standardized fitness: 892.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (/ convex area) major) + (log (exp (+ (- (log major) + (/ major 0.47722)) + (- minor perimeter))))) +=== BEST-OF-RUN === + current generation: 24 + generation: 22 + nodes: 18 + depth: 6 + hits: 892 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 892 + raw fitness: 892.0000 + standardized fitness: 892.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (/ convex area) major) + (log (exp (+ (- (log major) + (/ major 0.47722)) + (- minor perimeter))))) +=== BEST-OF-RUN === + current generation: 25 + generation: 22 + nodes: 18 + depth: 6 + hits: 892 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 892 + raw fitness: 892.0000 + standardized fitness: 892.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (/ convex area) major) + (log (exp (+ (- (log major) + (/ major 0.47722)) + (- minor perimeter))))) +=== BEST-OF-RUN === + current generation: 26 + generation: 22 + nodes: 18 + depth: 6 + hits: 892 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 892 + raw fitness: 892.0000 + standardized fitness: 892.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (/ convex area) major) + (log (exp (+ (- (log major) + (/ major 0.47722)) + (- minor perimeter))))) +=== BEST-OF-RUN === + current generation: 27 + generation: 22 + nodes: 18 + depth: 6 + hits: 892 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 892 + raw fitness: 892.0000 + standardized fitness: 892.0000 + adjusted fitness: 0.9989 +TREE: + (* (* (/ convex area) major) + (log (exp (+ (- (log major) + (/ major 0.47722)) + (- minor perimeter))))) +=== BEST-OF-RUN === + current generation: 28 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 29 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 30 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 31 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 32 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 33 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 34 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 35 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 36 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 37 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 38 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 39 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 40 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 41 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 42 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 43 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 44 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 45 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 46 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 47 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 48 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 49 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) +=== BEST-OF-RUN === + current generation: 50 + generation: 28 + nodes: 5 + depth: 3 + hits: 897 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 897 + raw fitness: 897.0000 + standardized fitness: 897.0000 + adjusted fitness: 0.9989 +TREE: + (log (exp (/ perimeter -0.60934))) diff --git a/cmake-build-relwithdebinfo/run_8/regress.prg b/cmake-build-relwithdebinfo/run_8/regress.prg new file mode 100644 index 0000000..8a128bb --- /dev/null +++ b/cmake-build-relwithdebinfo/run_8/regress.prg @@ -0,0 +1,1002 @@ +not starting from checkpoint file. +1000 fitness cases: + area = 11550.00000, perimeter = 420.83701, major_axis_length = 172.53937, minor_axis_length = 85.41179, eccentricity = 0.86888, convex_area = 11734.00000, extent = 0.69470, type = O + area = 11836.00000, perimeter = 456.37900, major_axis_length = 201.86960, minor_axis_length = 75.45857, eccentricity = 0.92751, convex_area = 12084.00000, extent = 0.75321, type = C + area = 13333.00000, perimeter = 467.02499, major_axis_length = 196.79700, minor_axis_length = 87.27311, eccentricity = 0.89629, convex_area = 13589.00000, extent = 0.69443, type = O + area = 13509.00000, perimeter = 480.46600, major_axis_length = 207.13716, minor_axis_length = 83.94016, eccentricity = 0.91421, convex_area = 13732.00000, extent = 0.59563, type = C + area = 11415.00000, perimeter = 426.16501, major_axis_length = 173.88460, minor_axis_length = 85.32835, eccentricity = 0.87132, convex_area = 11634.00000, extent = 0.59639, type = O + area = 15547.00000, perimeter = 501.80499, major_axis_length = 208.49918, minor_axis_length = 95.80786, eccentricity = 0.88817, convex_area = 15867.00000, extent = 0.59828, type = C + area = 12861.00000, perimeter = 471.92099, major_axis_length = 193.25092, minor_axis_length = 86.45822, eccentricity = 0.89434, convex_area = 13330.00000, extent = 0.63342, type = C + area = 11740.00000, perimeter = 440.56400, major_axis_length = 181.20369, minor_axis_length = 83.45518, eccentricity = 0.88763, convex_area = 12030.00000, extent = 0.57901, type = O + area = 10510.00000, perimeter = 420.02200, major_axis_length = 175.71770, minor_axis_length = 78.40139, eccentricity = 0.89494, convex_area = 10756.00000, extent = 0.57281, type = O + area = 16893.00000, perimeter = 523.25403, major_axis_length = 216.24049, minor_axis_length = 100.40816, eccentricity = 0.88566, convex_area = 17293.00000, extent = 0.68106, type = C + area = 14549.00000, perimeter = 485.49399, major_axis_length = 199.75728, minor_axis_length = 93.64828, eccentricity = 0.88330, convex_area = 14846.00000, extent = 0.61924, type = C + area = 10737.00000, perimeter = 412.30600, major_axis_length = 165.55162, minor_axis_length = 83.92193, eccentricity = 0.86199, convex_area = 11017.00000, extent = 0.61410, type = O + area = 11773.00000, perimeter = 433.98099, major_axis_length = 174.71716, minor_axis_length = 87.27270, eccentricity = 0.86631, convex_area = 12005.00000, extent = 0.60946, type = O + area = 16194.00000, perimeter = 528.12097, major_axis_length = 226.87439, minor_axis_length = 91.63519, eccentricity = 0.91480, convex_area = 16524.00000, extent = 0.55202, type = C + area = 13822.00000, perimeter = 491.66101, major_axis_length = 212.13541, minor_axis_length = 83.65462, eccentricity = 0.91896, convex_area = 14073.00000, extent = 0.65470, type = C + area = 13950.00000, perimeter = 490.42700, major_axis_length = 209.65117, minor_axis_length = 85.35925, eccentricity = 0.91336, convex_area = 14158.00000, extent = 0.55030, type = O + area = 16146.00000, perimeter = 509.33200, major_axis_length = 213.62003, minor_axis_length = 96.64880, eccentricity = 0.89180, convex_area = 16404.00000, extent = 0.59676, type = C + area = 10470.00000, perimeter = 419.01801, major_axis_length = 177.06436, minor_axis_length = 75.63279, eccentricity = 0.90418, convex_area = 10682.00000, extent = 0.59863, type = O + area = 13002.00000, perimeter = 458.31601, major_axis_length = 187.39746, minor_axis_length = 89.58738, eccentricity = 0.87833, convex_area = 13319.00000, extent = 0.67634, type = O + area = 15147.00000, perimeter = 511.29401, major_axis_length = 216.09929, minor_axis_length = 90.94639, eccentricity = 0.90713, convex_area = 15637.00000, extent = 0.53485, type = C + area = 11593.00000, perimeter = 435.39099, major_axis_length = 182.15068, minor_axis_length = 81.85136, eccentricity = 0.89335, convex_area = 11845.00000, extent = 0.69286, type = O + area = 7551.00000, perimeter = 369.06400, major_axis_length = 163.40883, minor_axis_length = 59.53241, eccentricity = 0.93128, convex_area = 7723.00000, extent = 0.75646, type = O + area = 11180.00000, perimeter = 427.70801, major_axis_length = 174.70352, minor_axis_length = 82.88113, eccentricity = 0.88030, convex_area = 11518.00000, extent = 0.72194, type = O + area = 12665.00000, perimeter = 445.66299, major_axis_length = 186.28040, minor_axis_length = 87.28703, eccentricity = 0.88342, convex_area = 12811.00000, extent = 0.71008, type = O + area = 13501.00000, perimeter = 485.75601, major_axis_length = 205.77101, minor_axis_length = 84.90839, eccentricity = 0.91090, convex_area = 13896.00000, extent = 0.65852, type = C + area = 12746.00000, perimeter = 446.13400, major_axis_length = 182.34105, minor_axis_length = 89.76051, eccentricity = 0.87044, convex_area = 12993.00000, extent = 0.80917, type = O + area = 10665.00000, perimeter = 422.39999, major_axis_length = 176.84193, minor_axis_length = 77.75227, eccentricity = 0.89816, convex_area = 10884.00000, extent = 0.62987, type = O + area = 11701.00000, perimeter = 432.97601, major_axis_length = 184.51923, minor_axis_length = 81.00479, eccentricity = 0.89848, convex_area = 11887.00000, extent = 0.76010, type = O + area = 14759.00000, perimeter = 483.26700, major_axis_length = 203.96587, minor_axis_length = 92.55145, eccentricity = 0.89112, convex_area = 15002.00000, extent = 0.78505, type = C + area = 11614.00000, perimeter = 437.65601, major_axis_length = 184.90213, minor_axis_length = 81.87991, eccentricity = 0.89661, convex_area = 11812.00000, extent = 0.81812, type = O + area = 9520.00000, perimeter = 394.89099, major_axis_length = 161.31520, minor_axis_length = 76.16378, eccentricity = 0.88152, convex_area = 9852.00000, extent = 0.77803, type = O + area = 12556.00000, perimeter = 474.02399, major_axis_length = 207.95442, minor_axis_length = 77.71007, eccentricity = 0.92755, convex_area = 12832.00000, extent = 0.56482, type = C + area = 10796.00000, perimeter = 410.10999, major_axis_length = 165.73335, minor_axis_length = 84.24877, eccentricity = 0.86116, convex_area = 11060.00000, extent = 0.68002, type = O + area = 12086.00000, perimeter = 438.50299, major_axis_length = 179.41664, minor_axis_length = 86.54947, eccentricity = 0.87595, convex_area = 12292.00000, extent = 0.62948, type = O + area = 11422.00000, perimeter = 419.90701, major_axis_length = 168.03189, minor_axis_length = 88.29070, eccentricity = 0.85083, convex_area = 11687.00000, extent = 0.61807, type = O + area = 14890.00000, perimeter = 502.54099, major_axis_length = 206.22853, minor_axis_length = 93.45731, eccentricity = 0.89142, convex_area = 15349.00000, extent = 0.58982, type = C + area = 9646.00000, perimeter = 390.95599, major_axis_length = 162.01367, minor_axis_length = 76.31642, eccentricity = 0.88211, convex_area = 9815.00000, extent = 0.67511, type = O + area = 11492.00000, perimeter = 419.29700, major_axis_length = 165.42955, minor_axis_length = 89.53146, eccentricity = 0.84089, convex_area = 11747.00000, extent = 0.78734, type = O + area = 10481.00000, perimeter = 413.72198, major_axis_length = 174.16463, minor_axis_length = 77.66029, eccentricity = 0.89508, convex_area = 10648.00000, extent = 0.80648, type = O + area = 9768.00000, perimeter = 413.55801, major_axis_length = 179.79776, minor_axis_length = 69.92797, eccentricity = 0.92127, convex_area = 9943.00000, extent = 0.70253, type = O + area = 13858.00000, perimeter = 475.95700, major_axis_length = 205.87390, minor_axis_length = 86.04459, eccentricity = 0.90847, convex_area = 14042.00000, extent = 0.65122, type = C + area = 12826.00000, perimeter = 452.82199, major_axis_length = 181.85797, minor_axis_length = 91.52682, eccentricity = 0.86412, convex_area = 13129.00000, extent = 0.60620, type = O + area = 12068.00000, perimeter = 450.14600, major_axis_length = 187.29993, minor_axis_length = 83.14626, eccentricity = 0.89607, convex_area = 12426.00000, extent = 0.65008, type = C + area = 13806.00000, perimeter = 490.51001, major_axis_length = 209.72084, minor_axis_length = 85.13124, eccentricity = 0.91391, convex_area = 14284.00000, extent = 0.79587, type = C + area = 13319.00000, perimeter = 468.23199, major_axis_length = 192.92725, minor_axis_length = 89.33763, eccentricity = 0.88632, convex_area = 13694.00000, extent = 0.69522, type = C + area = 13098.00000, perimeter = 458.73300, major_axis_length = 187.31577, minor_axis_length = 90.63008, eccentricity = 0.87516, convex_area = 13423.00000, extent = 0.60193, type = O + area = 11104.00000, perimeter = 420.97000, major_axis_length = 164.93903, minor_axis_length = 87.29203, eccentricity = 0.84847, convex_area = 11429.00000, extent = 0.63271, type = O + area = 15144.00000, perimeter = 503.32401, major_axis_length = 212.19539, minor_axis_length = 91.77615, eccentricity = 0.90163, convex_area = 15469.00000, extent = 0.62786, type = C + area = 16559.00000, perimeter = 524.12903, major_axis_length = 223.63762, minor_axis_length = 94.94791, eccentricity = 0.90540, convex_area = 16961.00000, extent = 0.77509, type = C + area = 9371.00000, perimeter = 394.42801, major_axis_length = 169.18408, minor_axis_length = 70.86470, eccentricity = 0.90805, convex_area = 9528.00000, extent = 0.77800, type = O + area = 13054.00000, perimeter = 478.45300, major_axis_length = 203.21964, minor_axis_length = 83.08085, eccentricity = 0.91261, convex_area = 13329.00000, extent = 0.79988, type = O + area = 11742.00000, perimeter = 439.75601, major_axis_length = 183.10056, minor_axis_length = 83.15661, eccentricity = 0.89092, convex_area = 12016.00000, extent = 0.57222, type = O + area = 13241.00000, perimeter = 458.01099, major_axis_length = 184.91423, minor_axis_length = 93.20131, eccentricity = 0.86369, convex_area = 13560.00000, extent = 0.77810, type = O + area = 12800.00000, perimeter = 471.33401, major_axis_length = 203.55943, minor_axis_length = 81.30859, eccentricity = 0.91676, convex_area = 13141.00000, extent = 0.61162, type = C + area = 10589.00000, perimeter = 439.70801, major_axis_length = 191.70488, minor_axis_length = 71.42118, eccentricity = 0.92801, convex_area = 10817.00000, extent = 0.51095, type = O + area = 11528.00000, perimeter = 433.34799, major_axis_length = 182.11395, minor_axis_length = 81.49728, eccentricity = 0.89428, convex_area = 11777.00000, extent = 0.78539, type = O + area = 12610.00000, perimeter = 454.68701, major_axis_length = 185.64877, minor_axis_length = 87.92713, eccentricity = 0.88073, convex_area = 12934.00000, extent = 0.59789, type = O + area = 10595.00000, perimeter = 407.26700, major_axis_length = 166.13063, minor_axis_length = 82.56895, eccentricity = 0.86774, convex_area = 10849.00000, extent = 0.64271, type = O + area = 8810.00000, perimeter = 384.74701, major_axis_length = 164.35394, minor_axis_length = 68.90158, eccentricity = 0.90788, convex_area = 8987.00000, extent = 0.58757, type = O + area = 13444.00000, perimeter = 474.59299, major_axis_length = 197.95042, minor_axis_length = 87.63919, eccentricity = 0.89665, convex_area = 13881.00000, extent = 0.65661, type = C + area = 17425.00000, perimeter = 541.80298, major_axis_length = 232.05756, minor_axis_length = 96.44174, eccentricity = 0.90955, convex_area = 17758.00000, extent = 0.70396, type = C + area = 10662.00000, perimeter = 415.26999, major_axis_length = 172.57503, minor_axis_length = 79.80967, eccentricity = 0.88664, convex_area = 10945.00000, extent = 0.72501, type = O + area = 11161.00000, perimeter = 433.82999, major_axis_length = 182.07491, minor_axis_length = 78.95068, eccentricity = 0.90110, convex_area = 11490.00000, extent = 0.61123, type = C + area = 12994.00000, perimeter = 457.19000, major_axis_length = 187.33479, minor_axis_length = 89.40963, eccentricity = 0.87876, convex_area = 13335.00000, extent = 0.76359, type = O + area = 14870.00000, perimeter = 506.56100, major_axis_length = 214.93123, minor_axis_length = 89.40025, eccentricity = 0.90939, convex_area = 15202.00000, extent = 0.57973, type = C + area = 14686.00000, perimeter = 490.40601, major_axis_length = 203.03380, minor_axis_length = 93.82804, eccentricity = 0.88681, convex_area = 15065.00000, extent = 0.61468, type = C + area = 14892.00000, perimeter = 503.64700, major_axis_length = 213.27196, minor_axis_length = 90.47866, eccentricity = 0.90555, convex_area = 15279.00000, extent = 0.59392, type = C + area = 13413.00000, perimeter = 465.60501, major_axis_length = 198.85272, minor_axis_length = 86.09415, eccentricity = 0.90142, convex_area = 13620.00000, extent = 0.63533, type = C + area = 12837.00000, perimeter = 463.32199, major_axis_length = 192.92368, minor_axis_length = 86.35762, eccentricity = 0.89422, convex_area = 13229.00000, extent = 0.58883, type = O + area = 15486.00000, perimeter = 492.69400, major_axis_length = 204.37213, minor_axis_length = 97.67800, eccentricity = 0.87839, convex_area = 15688.00000, extent = 0.60116, type = C + area = 11730.00000, perimeter = 424.16400, major_axis_length = 172.73737, minor_axis_length = 87.71980, eccentricity = 0.86146, convex_area = 11913.00000, extent = 0.62281, type = O + area = 14038.00000, perimeter = 496.61200, major_axis_length = 211.56499, minor_axis_length = 86.05249, eccentricity = 0.91354, convex_area = 14389.00000, extent = 0.54017, type = C + area = 14626.00000, perimeter = 496.58600, major_axis_length = 204.53413, minor_axis_length = 92.97487, eccentricity = 0.89071, convex_area = 15070.00000, extent = 0.57021, type = C + area = 10560.00000, perimeter = 400.17899, major_axis_length = 168.26906, minor_axis_length = 80.58907, eccentricity = 0.87785, convex_area = 10691.00000, extent = 0.63737, type = O + area = 10539.00000, perimeter = 420.63699, major_axis_length = 174.81981, minor_axis_length = 77.63504, eccentricity = 0.89598, convex_area = 10775.00000, extent = 0.66271, type = O + area = 11747.00000, perimeter = 452.12701, major_axis_length = 194.49486, minor_axis_length = 78.74446, eccentricity = 0.91438, convex_area = 11935.00000, extent = 0.54264, type = C + area = 12638.00000, perimeter = 450.40302, major_axis_length = 185.53122, minor_axis_length = 87.92228, eccentricity = 0.88058, convex_area = 12864.00000, extent = 0.63215, type = O + area = 14608.00000, perimeter = 498.35199, major_axis_length = 210.69138, minor_axis_length = 89.91737, eccentricity = 0.90436, convex_area = 14951.00000, extent = 0.65980, type = C + area = 12035.00000, perimeter = 431.95401, major_axis_length = 176.02255, minor_axis_length = 88.00275, eccentricity = 0.86605, convex_area = 12226.00000, extent = 0.61784, type = O + area = 12188.00000, perimeter = 441.28299, major_axis_length = 181.47725, minor_axis_length = 86.31769, eccentricity = 0.87964, convex_area = 12364.00000, extent = 0.60146, type = O + area = 14621.00000, perimeter = 501.82501, major_axis_length = 210.91649, minor_axis_length = 89.62993, eccentricity = 0.90521, convex_area = 15175.00000, extent = 0.68908, type = C + area = 10874.00000, perimeter = 426.87299, major_axis_length = 177.25034, minor_axis_length = 79.62495, eccentricity = 0.89342, convex_area = 11211.00000, extent = 0.63965, type = O + area = 11961.00000, perimeter = 429.36700, major_axis_length = 175.44313, minor_axis_length = 87.64793, eccentricity = 0.86627, convex_area = 12149.00000, extent = 0.61103, type = O + area = 11334.00000, perimeter = 433.38901, major_axis_length = 178.98973, minor_axis_length = 82.29804, eccentricity = 0.88803, convex_area = 11566.00000, extent = 0.71158, type = O + area = 12259.00000, perimeter = 440.03000, major_axis_length = 177.31454, minor_axis_length = 89.53557, eccentricity = 0.86315, convex_area = 12533.00000, extent = 0.72414, type = O + area = 12770.00000, perimeter = 458.30200, major_axis_length = 196.63278, minor_axis_length = 83.19528, eccentricity = 0.90608, convex_area = 12949.00000, extent = 0.60287, type = C + area = 14161.00000, perimeter = 488.68701, major_axis_length = 206.50746, minor_axis_length = 87.96767, eccentricity = 0.90473, convex_area = 14428.00000, extent = 0.59395, type = C + area = 13782.00000, perimeter = 457.49200, major_axis_length = 180.91528, minor_axis_length = 97.97388, eccentricity = 0.84067, convex_area = 14147.00000, extent = 0.65526, type = O + area = 14020.00000, perimeter = 488.58200, major_axis_length = 207.26518, minor_axis_length = 86.79780, eccentricity = 0.90809, convex_area = 14271.00000, extent = 0.55391, type = C + area = 12407.00000, perimeter = 460.17899, major_axis_length = 187.73659, minor_axis_length = 85.86542, eccentricity = 0.88928, convex_area = 12849.00000, extent = 0.58246, type = O + area = 13218.00000, perimeter = 458.76300, major_axis_length = 183.63066, minor_axis_length = 93.50396, eccentricity = 0.86065, convex_area = 13547.00000, extent = 0.77662, type = O + area = 14399.00000, perimeter = 484.08200, major_axis_length = 200.17354, minor_axis_length = 92.85159, eccentricity = 0.88591, convex_area = 14849.00000, extent = 0.60480, type = C + area = 14675.00000, perimeter = 493.92899, major_axis_length = 199.23363, minor_axis_length = 95.68336, eccentricity = 0.87713, convex_area = 15317.00000, extent = 0.61686, type = C + area = 15498.00000, perimeter = 512.70398, major_axis_length = 215.80835, minor_axis_length = 92.62403, eccentricity = 0.90321, convex_area = 15914.00000, extent = 0.57889, type = C + area = 11601.00000, perimeter = 447.12799, major_axis_length = 191.38257, minor_axis_length = 78.36671, eccentricity = 0.91232, convex_area = 11925.00000, extent = 0.57866, type = O + area = 14747.00000, perimeter = 501.76599, major_axis_length = 213.74219, minor_axis_length = 88.58164, eccentricity = 0.91008, convex_area = 15070.00000, extent = 0.76441, type = C + area = 14787.00000, perimeter = 492.31299, major_axis_length = 209.67886, minor_axis_length = 90.46774, eccentricity = 0.90213, convex_area = 15066.00000, extent = 0.79568, type = C + area = 11618.00000, perimeter = 434.17700, major_axis_length = 179.41545, minor_axis_length = 83.34638, eccentricity = 0.88555, convex_area = 11820.00000, extent = 0.61676, type = O + area = 14493.00000, perimeter = 487.33600, major_axis_length = 205.80229, minor_axis_length = 90.53880, eccentricity = 0.89803, convex_area = 14835.00000, extent = 0.75579, type = C + area = 11682.00000, perimeter = 437.04001, major_axis_length = 176.23099, minor_axis_length = 86.32249, eccentricity = 0.87182, convex_area = 11969.00000, extent = 0.58119, type = O + area = 15546.00000, perimeter = 518.94299, major_axis_length = 219.22653, minor_axis_length = 91.38641, eccentricity = 0.90897, convex_area = 15967.00000, extent = 0.55351, type = C + area = 11921.00000, perimeter = 422.35901, major_axis_length = 168.49954, minor_axis_length = 91.07194, eccentricity = 0.84135, convex_area = 12169.00000, extent = 0.65906, type = O + area = 10765.00000, perimeter = 413.67700, major_axis_length = 164.79503, minor_axis_length = 84.79121, eccentricity = 0.85748, convex_area = 11127.00000, extent = 0.60871, type = O + area = 11817.00000, perimeter = 426.60199, major_axis_length = 179.56543, minor_axis_length = 84.24079, eccentricity = 0.88313, convex_area = 11977.00000, extent = 0.65738, type = O + area = 14034.00000, perimeter = 491.73199, major_axis_length = 205.50511, minor_axis_length = 88.35206, eccentricity = 0.90286, convex_area = 14448.00000, extent = 0.55591, type = C + area = 13932.00000, perimeter = 495.52802, major_axis_length = 213.34854, minor_axis_length = 84.32091, eccentricity = 0.91858, convex_area = 14297.00000, extent = 0.55484, type = C + area = 12918.00000, perimeter = 459.82800, major_axis_length = 193.34657, minor_axis_length = 86.05883, eccentricity = 0.89548, convex_area = 13179.00000, extent = 0.77670, type = O + area = 10728.00000, perimeter = 415.92700, major_axis_length = 169.27434, minor_axis_length = 81.99689, eccentricity = 0.87485, convex_area = 10996.00000, extent = 0.59310, type = O + area = 10132.00000, perimeter = 398.67200, major_axis_length = 162.84520, minor_axis_length = 80.07436, eccentricity = 0.87075, convex_area = 10306.00000, extent = 0.66891, type = O + area = 14146.00000, perimeter = 481.18600, major_axis_length = 202.58720, minor_axis_length = 89.94490, eccentricity = 0.89604, convex_area = 14495.00000, extent = 0.60360, type = C + area = 13698.00000, perimeter = 478.59900, major_axis_length = 199.06026, minor_axis_length = 88.78965, eccentricity = 0.89501, convex_area = 13932.00000, extent = 0.57559, type = C + area = 12124.00000, perimeter = 446.44000, major_axis_length = 188.97534, minor_axis_length = 82.71680, eccentricity = 0.89912, convex_area = 12336.00000, extent = 0.74035, type = O + area = 11285.00000, perimeter = 425.75500, major_axis_length = 175.42439, minor_axis_length = 82.95139, eccentricity = 0.88114, convex_area = 11525.00000, extent = 0.75028, type = O + area = 9369.00000, perimeter = 396.76001, major_axis_length = 164.61722, minor_axis_length = 73.85871, eccentricity = 0.89370, convex_area = 9592.00000, extent = 0.65280, type = O + area = 11772.00000, perimeter = 434.08600, major_axis_length = 183.58832, minor_axis_length = 82.08577, eccentricity = 0.89447, convex_area = 11937.00000, extent = 0.65100, type = O + area = 11462.00000, perimeter = 424.55701, major_axis_length = 175.42000, minor_axis_length = 84.14052, eccentricity = 0.87746, convex_area = 11650.00000, extent = 0.79825, type = O + area = 12504.00000, perimeter = 445.58701, major_axis_length = 182.37852, minor_axis_length = 88.63296, eccentricity = 0.87397, convex_area = 12781.00000, extent = 0.79888, type = O + area = 12759.00000, perimeter = 455.31500, major_axis_length = 188.19118, minor_axis_length = 87.08291, eccentricity = 0.88650, convex_area = 13082.00000, extent = 0.67508, type = O + area = 12293.00000, perimeter = 445.68701, major_axis_length = 181.87917, minor_axis_length = 87.02768, eccentricity = 0.87809, convex_area = 12524.00000, extent = 0.77637, type = O + area = 11993.00000, perimeter = 438.07401, major_axis_length = 175.54008, minor_axis_length = 88.08393, eccentricity = 0.86499, convex_area = 12359.00000, extent = 0.60773, type = O + area = 10595.00000, perimeter = 403.82001, major_axis_length = 163.12149, minor_axis_length = 83.77962, eccentricity = 0.85803, convex_area = 10832.00000, extent = 0.61923, type = O + area = 11385.00000, perimeter = 436.60699, major_axis_length = 180.06990, minor_axis_length = 82.65318, eccentricity = 0.88843, convex_area = 11778.00000, extent = 0.75976, type = O + area = 13864.00000, perimeter = 491.44601, major_axis_length = 206.88370, minor_axis_length = 86.35062, eccentricity = 0.90873, convex_area = 14221.00000, extent = 0.71597, type = C + area = 12483.00000, perimeter = 428.14700, major_axis_length = 170.29613, minor_axis_length = 94.28094, eccentricity = 0.83276, convex_area = 12680.00000, extent = 0.73737, type = O + area = 11530.00000, perimeter = 458.71201, major_axis_length = 197.87550, minor_axis_length = 75.38202, eccentricity = 0.92459, convex_area = 11918.00000, extent = 0.70032, type = C + area = 13388.00000, perimeter = 466.46201, major_axis_length = 191.93750, minor_axis_length = 90.36681, eccentricity = 0.88223, convex_area = 13644.00000, extent = 0.75400, type = O + area = 11255.00000, perimeter = 442.61801, major_axis_length = 189.49684, minor_axis_length = 76.36518, eccentricity = 0.91520, convex_area = 11500.00000, extent = 0.77535, type = O + area = 12024.00000, perimeter = 432.41901, major_axis_length = 172.90617, minor_axis_length = 89.97197, eccentricity = 0.85395, convex_area = 12323.00000, extent = 0.62723, type = O + area = 11377.00000, perimeter = 429.38599, major_axis_length = 172.53964, minor_axis_length = 85.88434, eccentricity = 0.86731, convex_area = 11746.00000, extent = 0.73542, type = O + area = 13269.00000, perimeter = 491.89301, major_axis_length = 212.57471, minor_axis_length = 81.06411, eccentricity = 0.92443, convex_area = 13728.00000, extent = 0.65095, type = C + area = 11733.00000, perimeter = 436.26001, major_axis_length = 182.88922, minor_axis_length = 82.62609, eccentricity = 0.89213, convex_area = 11955.00000, extent = 0.68662, type = C + area = 16302.00000, perimeter = 526.34003, major_axis_length = 225.32297, minor_axis_length = 92.99416, eccentricity = 0.91086, convex_area = 16669.00000, extent = 0.60835, type = C + area = 10847.00000, perimeter = 417.92401, major_axis_length = 170.36679, minor_axis_length = 82.47301, eccentricity = 0.87502, convex_area = 11107.00000, extent = 0.74632, type = O + area = 13731.00000, perimeter = 489.05801, major_axis_length = 212.43546, minor_axis_length = 82.91467, eccentricity = 0.92069, convex_area = 14014.00000, extent = 0.59173, type = C + area = 14517.00000, perimeter = 488.32401, major_axis_length = 196.16449, minor_axis_length = 95.58290, eccentricity = 0.87326, convex_area = 14976.00000, extent = 0.59513, type = C + area = 11635.00000, perimeter = 449.30899, major_axis_length = 197.57065, minor_axis_length = 75.25814, eccentricity = 0.92461, convex_area = 11842.00000, extent = 0.52189, type = O + area = 11146.00000, perimeter = 425.95999, major_axis_length = 179.80118, minor_axis_length = 79.56255, eccentricity = 0.89677, convex_area = 11302.00000, extent = 0.58107, type = O + area = 11889.00000, perimeter = 426.64700, major_axis_length = 172.26799, minor_axis_length = 89.44281, eccentricity = 0.85465, convex_area = 12162.00000, extent = 0.61157, type = O + area = 14019.00000, perimeter = 475.75500, major_axis_length = 194.51793, minor_axis_length = 92.81696, eccentricity = 0.87881, convex_area = 14308.00000, extent = 0.59112, type = C + area = 13751.00000, perimeter = 451.94101, major_axis_length = 175.41118, minor_axis_length = 101.14427, eccentricity = 0.81702, convex_area = 14063.00000, extent = 0.75701, type = O + area = 10669.00000, perimeter = 403.67499, major_axis_length = 164.54738, minor_axis_length = 83.43629, eccentricity = 0.86191, convex_area = 10885.00000, extent = 0.71384, type = O + area = 13952.00000, perimeter = 484.94699, major_axis_length = 201.32283, minor_axis_length = 89.51038, eccentricity = 0.89572, convex_area = 14349.00000, extent = 0.65641, type = C + area = 16094.00000, perimeter = 504.12601, major_axis_length = 208.37119, minor_axis_length = 99.03030, eccentricity = 0.87985, convex_area = 16325.00000, extent = 0.64853, type = C + area = 13331.00000, perimeter = 461.30899, major_axis_length = 193.55994, minor_axis_length = 88.79623, eccentricity = 0.88856, convex_area = 13500.00000, extent = 0.57951, type = O + area = 12103.00000, perimeter = 439.21799, major_axis_length = 181.98512, minor_axis_length = 85.55490, eccentricity = 0.88260, convex_area = 12339.00000, extent = 0.59928, type = O + area = 14771.00000, perimeter = 471.91000, major_axis_length = 193.90543, minor_axis_length = 98.03417, eccentricity = 0.86278, convex_area = 14976.00000, extent = 0.61482, type = O + area = 10386.00000, perimeter = 403.29599, major_axis_length = 166.78656, minor_axis_length = 80.29826, eccentricity = 0.87648, convex_area = 10554.00000, extent = 0.64445, type = O + area = 12672.00000, perimeter = 450.34399, major_axis_length = 184.40462, minor_axis_length = 88.78121, eccentricity = 0.87647, convex_area = 12939.00000, extent = 0.78261, type = O + area = 11386.00000, perimeter = 450.12000, major_axis_length = 195.46043, minor_axis_length = 75.84289, eccentricity = 0.92165, convex_area = 11612.00000, extent = 0.51286, type = C + area = 12181.00000, perimeter = 434.81299, major_axis_length = 179.22531, minor_axis_length = 86.98540, eccentricity = 0.87432, convex_area = 12387.00000, extent = 0.72801, type = O + area = 11730.00000, perimeter = 429.82199, major_axis_length = 176.97292, minor_axis_length = 85.21745, eccentricity = 0.87643, convex_area = 11900.00000, extent = 0.59513, type = O + area = 10483.00000, perimeter = 419.01599, major_axis_length = 176.62010, minor_axis_length = 76.32422, eccentricity = 0.90181, convex_area = 10773.00000, extent = 0.69286, type = O + area = 11545.00000, perimeter = 427.62000, major_axis_length = 167.41209, minor_axis_length = 89.44892, eccentricity = 0.84529, convex_area = 11925.00000, extent = 0.63239, type = O + area = 15198.00000, perimeter = 499.62601, major_axis_length = 210.63348, minor_axis_length = 92.94599, eccentricity = 0.89737, convex_area = 15521.00000, extent = 0.74610, type = C + area = 12267.00000, perimeter = 429.69400, major_axis_length = 171.37064, minor_axis_length = 92.45802, eccentricity = 0.84197, convex_area = 12520.00000, extent = 0.77590, type = O + area = 15593.00000, perimeter = 512.42798, major_axis_length = 216.61571, minor_axis_length = 92.91002, eccentricity = 0.90334, convex_area = 16050.00000, extent = 0.77747, type = C + area = 17082.00000, perimeter = 548.44598, major_axis_length = 230.18872, minor_axis_length = 95.75758, eccentricity = 0.90937, convex_area = 17576.00000, extent = 0.59247, type = C + area = 12193.00000, perimeter = 436.28500, major_axis_length = 182.62729, minor_axis_length = 85.25561, eccentricity = 0.88435, convex_area = 12336.00000, extent = 0.68308, type = O + area = 10918.00000, perimeter = 422.48901, major_axis_length = 176.80490, minor_axis_length = 79.60382, eccentricity = 0.89291, convex_area = 11118.00000, extent = 0.79886, type = O + area = 12147.00000, perimeter = 436.07001, major_axis_length = 177.55022, minor_axis_length = 88.56141, eccentricity = 0.86672, convex_area = 12421.00000, extent = 0.68705, type = O + area = 13010.00000, perimeter = 463.41901, major_axis_length = 194.76756, minor_axis_length = 86.11577, eccentricity = 0.89694, convex_area = 13349.00000, extent = 0.77695, type = O + area = 11787.00000, perimeter = 434.51401, major_axis_length = 181.29047, minor_axis_length = 83.34933, eccentricity = 0.88805, convex_area = 11965.00000, extent = 0.74413, type = O + area = 13998.00000, perimeter = 484.88199, major_axis_length = 198.72130, minor_axis_length = 90.92341, eccentricity = 0.88919, convex_area = 14328.00000, extent = 0.59951, type = C + area = 12261.00000, perimeter = 438.89801, major_axis_length = 173.36475, minor_axis_length = 90.88268, eccentricity = 0.85158, convex_area = 12499.00000, extent = 0.77882, type = O + area = 15655.00000, perimeter = 513.30103, major_axis_length = 216.09900, minor_axis_length = 93.56715, eccentricity = 0.90140, convex_area = 16085.00000, extent = 0.56565, type = C + area = 10398.00000, perimeter = 405.67899, major_axis_length = 162.22716, minor_axis_length = 82.39346, eccentricity = 0.86142, convex_area = 10658.00000, extent = 0.64472, type = O + area = 10074.00000, perimeter = 397.39801, major_axis_length = 166.98961, minor_axis_length = 77.15101, eccentricity = 0.88687, convex_area = 10249.00000, extent = 0.70398, type = O + area = 11942.00000, perimeter = 424.78101, major_axis_length = 168.71675, minor_axis_length = 91.57380, eccentricity = 0.83988, convex_area = 12188.00000, extent = 0.78981, type = O + area = 14055.00000, perimeter = 488.74899, major_axis_length = 207.75175, minor_axis_length = 87.25033, eccentricity = 0.90754, convex_area = 14484.00000, extent = 0.55008, type = C + area = 10611.00000, perimeter = 414.40201, major_axis_length = 171.14273, minor_axis_length = 79.86786, eccentricity = 0.88443, convex_area = 10874.00000, extent = 0.71392, type = O + area = 10796.00000, perimeter = 416.25900, major_axis_length = 168.60120, minor_axis_length = 82.71273, eccentricity = 0.87139, convex_area = 10985.00000, extent = 0.59818, type = O + area = 11274.00000, perimeter = 422.66299, major_axis_length = 174.38634, minor_axis_length = 82.87808, eccentricity = 0.87985, convex_area = 11459.00000, extent = 0.74054, type = O + area = 13006.00000, perimeter = 486.70700, major_axis_length = 213.12805, minor_axis_length = 78.45641, eccentricity = 0.92978, convex_area = 13399.00000, extent = 0.62245, type = C + area = 10035.00000, perimeter = 398.09698, major_axis_length = 162.66187, minor_axis_length = 79.64612, eccentricity = 0.87192, convex_area = 10236.00000, extent = 0.59807, type = O + area = 14138.00000, perimeter = 490.83401, major_axis_length = 206.18085, minor_axis_length = 89.36728, eccentricity = 0.90118, convex_area = 14523.00000, extent = 0.76257, type = C + area = 15276.00000, perimeter = 506.68500, major_axis_length = 212.13568, minor_axis_length = 93.06375, eccentricity = 0.89863, convex_area = 15574.00000, extent = 0.57923, type = C + area = 15080.00000, perimeter = 500.00601, major_axis_length = 209.58928, minor_axis_length = 92.79666, eccentricity = 0.89664, convex_area = 15614.00000, extent = 0.73232, type = C + area = 11106.00000, perimeter = 415.98499, major_axis_length = 175.18675, minor_axis_length = 81.15784, eccentricity = 0.88622, convex_area = 11257.00000, extent = 0.60999, type = O + area = 14400.00000, perimeter = 486.89999, major_axis_length = 200.13771, minor_axis_length = 93.24651, eccentricity = 0.88483, convex_area = 14714.00000, extent = 0.61813, type = C + area = 10148.00000, perimeter = 408.22800, major_axis_length = 168.72536, minor_axis_length = 77.14333, eccentricity = 0.88936, convex_area = 10409.00000, extent = 0.58325, type = O + area = 12692.00000, perimeter = 448.06100, major_axis_length = 182.19318, minor_axis_length = 90.43366, eccentricity = 0.86812, convex_area = 12999.00000, extent = 0.73509, type = O + area = 15609.00000, perimeter = 492.66299, major_axis_length = 202.23016, minor_axis_length = 99.01205, eccentricity = 0.87195, convex_area = 15884.00000, extent = 0.68102, type = C + area = 14852.00000, perimeter = 495.81699, major_axis_length = 205.71364, minor_axis_length = 92.94775, eccentricity = 0.89210, convex_area = 15202.00000, extent = 0.60130, type = C + area = 12798.00000, perimeter = 469.29800, major_axis_length = 202.16541, minor_axis_length = 81.58068, eccentricity = 0.91496, convex_area = 13152.00000, extent = 0.78037, type = C + area = 14003.00000, perimeter = 489.29001, major_axis_length = 208.33290, minor_axis_length = 87.19222, eccentricity = 0.90821, convex_area = 14421.00000, extent = 0.57911, type = C + area = 14980.00000, perimeter = 503.81699, major_axis_length = 214.18651, minor_axis_length = 89.89458, eccentricity = 0.90766, convex_area = 15361.00000, extent = 0.73540, type = C + area = 11184.00000, perimeter = 416.92499, major_axis_length = 171.37740, minor_axis_length = 83.96449, eccentricity = 0.87176, convex_area = 11349.00000, extent = 0.64940, type = O + area = 14988.00000, perimeter = 499.35501, major_axis_length = 212.26198, minor_axis_length = 90.98808, eccentricity = 0.90347, convex_area = 15245.00000, extent = 0.58869, type = C + area = 12058.00000, perimeter = 433.39001, major_axis_length = 175.53603, minor_axis_length = 88.45161, eccentricity = 0.86377, convex_area = 12283.00000, extent = 0.68605, type = O + area = 10863.00000, perimeter = 411.62201, major_axis_length = 168.27142, minor_axis_length = 83.16528, eccentricity = 0.86933, convex_area = 11057.00000, extent = 0.70283, type = O + area = 13125.00000, perimeter = 475.35501, major_axis_length = 198.59845, minor_axis_length = 85.40796, eccentricity = 0.90280, convex_area = 13575.00000, extent = 0.58318, type = C + area = 11455.00000, perimeter = 405.61899, major_axis_length = 159.57027, minor_axis_length = 92.32996, eccentricity = 0.81560, convex_area = 11639.00000, extent = 0.77619, type = O + area = 14960.00000, perimeter = 482.14001, major_axis_length = 199.54398, minor_axis_length = 96.21820, eccentricity = 0.87607, convex_area = 15149.00000, extent = 0.61186, type = O + area = 11435.00000, perimeter = 424.24301, major_axis_length = 175.18497, minor_axis_length = 84.44195, eccentricity = 0.87616, convex_area = 11660.00000, extent = 0.80144, type = O + area = 13093.00000, perimeter = 470.10001, major_axis_length = 197.19702, minor_axis_length = 85.79729, eccentricity = 0.90039, convex_area = 13358.00000, extent = 0.55739, type = O + area = 11815.00000, perimeter = 430.10699, major_axis_length = 177.79692, minor_axis_length = 85.67855, eccentricity = 0.87623, convex_area = 11993.00000, extent = 0.70617, type = O + area = 13954.00000, perimeter = 481.28799, major_axis_length = 204.77745, minor_axis_length = 87.50462, eccentricity = 0.90410, convex_area = 14277.00000, extent = 0.58113, type = C + area = 13689.00000, perimeter = 483.65500, major_axis_length = 202.72200, minor_axis_length = 86.94032, eccentricity = 0.90337, convex_area = 14183.00000, extent = 0.77646, type = C + area = 14865.00000, perimeter = 495.07101, major_axis_length = 202.86786, minor_axis_length = 94.27195, eccentricity = 0.88547, convex_area = 15235.00000, extent = 0.60419, type = C + area = 14833.00000, perimeter = 496.93600, major_axis_length = 209.31232, minor_axis_length = 91.47590, eccentricity = 0.89945, convex_area = 15072.00000, extent = 0.55675, type = C + area = 12627.00000, perimeter = 453.51901, major_axis_length = 191.81189, minor_axis_length = 84.54082, eccentricity = 0.89763, convex_area = 12830.00000, extent = 0.72611, type = O + area = 14609.00000, perimeter = 490.24701, major_axis_length = 206.06227, minor_axis_length = 91.49974, eccentricity = 0.89601, convex_area = 14837.00000, extent = 0.71966, type = C + area = 15141.00000, perimeter = 505.42099, major_axis_length = 209.59360, minor_axis_length = 93.09238, eccentricity = 0.89595, convex_area = 15559.00000, extent = 0.56640, type = C + area = 11542.00000, perimeter = 426.40399, major_axis_length = 175.27608, minor_axis_length = 84.45689, eccentricity = 0.87625, convex_area = 11738.00000, extent = 0.62728, type = O + area = 14479.00000, perimeter = 473.95700, major_axis_length = 193.13182, minor_axis_length = 96.94859, eccentricity = 0.86488, convex_area = 14812.00000, extent = 0.63664, type = C + area = 12202.00000, perimeter = 442.36200, major_axis_length = 180.03778, minor_axis_length = 87.39918, eccentricity = 0.87426, convex_area = 12521.00000, extent = 0.77918, type = C + area = 12219.00000, perimeter = 438.28101, major_axis_length = 182.18773, minor_axis_length = 86.19642, eccentricity = 0.88100, convex_area = 12471.00000, extent = 0.60177, type = C + area = 10420.00000, perimeter = 415.05600, major_axis_length = 170.51256, minor_axis_length = 79.28839, eccentricity = 0.88531, convex_area = 10647.00000, extent = 0.62771, type = O + area = 15404.00000, perimeter = 499.23099, major_axis_length = 206.08693, minor_axis_length = 95.63304, eccentricity = 0.88581, convex_area = 15740.00000, extent = 0.62476, type = C + area = 12352.00000, perimeter = 453.13501, major_axis_length = 191.11189, minor_axis_length = 83.35074, eccentricity = 0.89988, convex_area = 12683.00000, extent = 0.57847, type = C + area = 10841.00000, perimeter = 413.45999, major_axis_length = 170.96480, minor_axis_length = 81.67490, eccentricity = 0.87851, convex_area = 11070.00000, extent = 0.65449, type = O + area = 10114.00000, perimeter = 398.36700, major_axis_length = 161.02005, minor_axis_length = 80.84945, eccentricity = 0.86480, convex_area = 10305.00000, extent = 0.67454, type = O + area = 12234.00000, perimeter = 449.38000, major_axis_length = 188.62593, minor_axis_length = 83.90933, eccentricity = 0.89561, convex_area = 12492.00000, extent = 0.59475, type = C + area = 12626.00000, perimeter = 455.29700, major_axis_length = 188.65788, minor_axis_length = 86.60138, eccentricity = 0.88842, convex_area = 12911.00000, extent = 0.73390, type = C + area = 12684.00000, perimeter = 461.35800, major_axis_length = 198.20212, minor_axis_length = 81.89428, eccentricity = 0.91065, convex_area = 12912.00000, extent = 0.54710, type = C + area = 11139.00000, perimeter = 423.32401, major_axis_length = 173.07671, minor_axis_length = 82.68975, eccentricity = 0.87849, convex_area = 11380.00000, extent = 0.71643, type = O + area = 14330.00000, perimeter = 493.18500, major_axis_length = 209.76732, minor_axis_length = 87.89895, eccentricity = 0.90797, convex_area = 14701.00000, extent = 0.61960, type = C + area = 14930.00000, perimeter = 506.78101, major_axis_length = 207.59666, minor_axis_length = 92.55151, eccentricity = 0.89512, convex_area = 15361.00000, extent = 0.61251, type = C + area = 14204.00000, perimeter = 489.44501, major_axis_length = 211.88388, minor_axis_length = 85.94508, eccentricity = 0.91404, convex_area = 14487.00000, extent = 0.68608, type = C + area = 9561.00000, perimeter = 386.08499, major_axis_length = 159.97054, minor_axis_length = 76.79645, eccentricity = 0.87723, convex_area = 9708.00000, extent = 0.70095, type = O + area = 12708.00000, perimeter = 437.45401, major_axis_length = 174.35812, minor_axis_length = 93.84775, eccentricity = 0.84279, convex_area = 12893.00000, extent = 0.64344, type = O + area = 15241.00000, perimeter = 511.06100, major_axis_length = 215.36917, minor_axis_length = 91.27435, eccentricity = 0.90575, convex_area = 15604.00000, extent = 0.54323, type = C + area = 13424.00000, perimeter = 481.17499, major_axis_length = 195.90002, minor_axis_length = 89.30524, eccentricity = 0.89005, convex_area = 13950.00000, extent = 0.65856, type = C + area = 10962.00000, perimeter = 418.66101, major_axis_length = 171.63890, minor_axis_length = 82.79927, eccentricity = 0.87595, convex_area = 11258.00000, extent = 0.71647, type = O + area = 12376.00000, perimeter = 455.73300, major_axis_length = 188.82434, minor_axis_length = 85.17463, eccentricity = 0.89248, convex_area = 12702.00000, extent = 0.56396, type = O + area = 12158.00000, perimeter = 441.47800, major_axis_length = 182.28729, minor_axis_length = 85.52101, eccentricity = 0.88312, convex_area = 12359.00000, extent = 0.71551, type = C + area = 11070.00000, perimeter = 413.42001, major_axis_length = 168.51967, minor_axis_length = 84.49383, eccentricity = 0.86522, convex_area = 11328.00000, extent = 0.62659, type = O + area = 10525.00000, perimeter = 409.73199, major_axis_length = 170.31516, minor_axis_length = 79.03762, eccentricity = 0.88580, convex_area = 10682.00000, extent = 0.60677, type = O + area = 12720.00000, perimeter = 443.45499, major_axis_length = 183.20239, minor_axis_length = 89.49655, eccentricity = 0.87256, convex_area = 12904.00000, extent = 0.77656, type = O + area = 13574.00000, perimeter = 488.49701, major_axis_length = 210.68631, minor_axis_length = 83.74447, eccentricity = 0.91761, convex_area = 13856.00000, extent = 0.55168, type = C + area = 11987.00000, perimeter = 440.78400, major_axis_length = 180.04774, minor_axis_length = 86.14135, eccentricity = 0.87812, convex_area = 12299.00000, extent = 0.68796, type = O + area = 11502.00000, perimeter = 429.74200, major_axis_length = 178.26375, minor_axis_length = 83.29379, eccentricity = 0.88413, convex_area = 11715.00000, extent = 0.77361, type = O + area = 13500.00000, perimeter = 476.91501, major_axis_length = 202.54668, minor_axis_length = 85.40547, eccentricity = 0.90675, convex_area = 13800.00000, extent = 0.71770, type = C + area = 11585.00000, perimeter = 428.37299, major_axis_length = 171.56198, minor_axis_length = 87.44052, eccentricity = 0.86037, convex_area = 11939.00000, extent = 0.60890, type = O + area = 11287.00000, perimeter = 421.99301, major_axis_length = 176.18260, minor_axis_length = 82.72874, eccentricity = 0.88290, convex_area = 11469.00000, extent = 0.81642, type = O + area = 13562.00000, perimeter = 474.21899, major_axis_length = 194.61276, minor_axis_length = 90.66898, eccentricity = 0.88484, convex_area = 13871.00000, extent = 0.71334, type = C + area = 12837.00000, perimeter = 464.76801, major_axis_length = 194.30072, minor_axis_length = 85.33184, eccentricity = 0.89840, convex_area = 13053.00000, extent = 0.58427, type = O + area = 13112.00000, perimeter = 456.21600, major_axis_length = 182.46422, minor_axis_length = 93.33448, eccentricity = 0.85927, convex_area = 13413.00000, extent = 0.68079, type = O + area = 12978.00000, perimeter = 465.85001, major_axis_length = 199.12939, minor_axis_length = 83.91192, eccentricity = 0.90688, convex_area = 13210.00000, extent = 0.73513, type = C + area = 11380.00000, perimeter = 423.61499, major_axis_length = 172.17389, minor_axis_length = 85.65730, eccentricity = 0.86746, convex_area = 11620.00000, extent = 0.67317, type = O + area = 13091.00000, perimeter = 473.15201, major_axis_length = 203.86270, minor_axis_length = 82.55070, eccentricity = 0.91435, convex_area = 13451.00000, extent = 0.75236, type = C + area = 13451.00000, perimeter = 485.55899, major_axis_length = 205.94966, minor_axis_length = 84.31606, eccentricity = 0.91235, convex_area = 13862.00000, extent = 0.59996, type = C + area = 11941.00000, perimeter = 452.60199, major_axis_length = 196.03004, minor_axis_length = 78.68724, eccentricity = 0.91590, convex_area = 12131.00000, extent = 0.65134, type = C + area = 14106.00000, perimeter = 485.57999, major_axis_length = 199.92107, minor_axis_length = 91.59042, eccentricity = 0.88888, convex_area = 14515.00000, extent = 0.57623, type = C + area = 12975.00000, perimeter = 458.54700, major_axis_length = 189.81834, minor_axis_length = 87.65503, eccentricity = 0.88699, convex_area = 13254.00000, extent = 0.70902, type = C + area = 11176.00000, perimeter = 418.05600, major_axis_length = 171.31558, minor_axis_length = 83.93949, eccentricity = 0.87174, convex_area = 11387.00000, extent = 0.79703, type = O + area = 10227.00000, perimeter = 403.99899, major_axis_length = 164.80865, minor_axis_length = 80.21973, eccentricity = 0.87354, convex_area = 10496.00000, extent = 0.63060, type = O + area = 13193.00000, perimeter = 469.41501, major_axis_length = 201.60457, minor_axis_length = 83.72974, eccentricity = 0.90968, convex_area = 13535.00000, extent = 0.73593, type = C + area = 13857.00000, perimeter = 498.02899, major_axis_length = 220.26657, minor_axis_length = 80.39958, eccentricity = 0.93100, convex_area = 14053.00000, extent = 0.50795, type = C + area = 11543.00000, perimeter = 431.76300, major_axis_length = 179.59811, minor_axis_length = 82.52258, eccentricity = 0.88819, convex_area = 11786.00000, extent = 0.60264, type = O + area = 14096.00000, perimeter = 476.95401, major_axis_length = 198.74219, minor_axis_length = 91.36671, eccentricity = 0.88806, convex_area = 14346.00000, extent = 0.59932, type = C + area = 12198.00000, perimeter = 442.42099, major_axis_length = 183.66418, minor_axis_length = 85.49796, eccentricity = 0.88504, convex_area = 12391.00000, extent = 0.71383, type = O + area = 15265.00000, perimeter = 505.09900, major_axis_length = 211.44301, minor_axis_length = 93.12214, eccentricity = 0.89780, convex_area = 15639.00000, extent = 0.74131, type = C + area = 11249.00000, perimeter = 419.00299, major_axis_length = 166.28651, minor_axis_length = 87.62983, eccentricity = 0.84988, convex_area = 11593.00000, extent = 0.63005, type = O + area = 13293.00000, perimeter = 470.26599, major_axis_length = 197.95935, minor_axis_length = 86.07607, eccentricity = 0.90052, convex_area = 13553.00000, extent = 0.71376, type = C + area = 11865.00000, perimeter = 426.72800, major_axis_length = 170.87170, minor_axis_length = 89.45922, eccentricity = 0.85200, convex_area = 12085.00000, extent = 0.64180, type = O + area = 10756.00000, perimeter = 420.08600, major_axis_length = 170.63708, minor_axis_length = 81.58212, eccentricity = 0.87830, convex_area = 10957.00000, extent = 0.59498, type = O + area = 11220.00000, perimeter = 418.54901, major_axis_length = 172.75803, minor_axis_length = 83.32672, eccentricity = 0.87599, convex_area = 11380.00000, extent = 0.60662, type = O + area = 13657.00000, perimeter = 481.61899, major_axis_length = 207.01315, minor_axis_length = 84.51869, eccentricity = 0.91286, convex_area = 13872.00000, extent = 0.56734, type = C + area = 11873.00000, perimeter = 430.04401, major_axis_length = 176.72914, minor_axis_length = 86.37125, eccentricity = 0.87244, convex_area = 12086.00000, extent = 0.60422, type = O + area = 11571.00000, perimeter = 432.67099, major_axis_length = 183.70560, minor_axis_length = 80.56020, eccentricity = 0.89872, convex_area = 11741.00000, extent = 0.66222, type = C + area = 17198.00000, perimeter = 520.99200, major_axis_length = 209.97021, minor_axis_length = 105.67059, eccentricity = 0.86413, convex_area = 17586.00000, extent = 0.60616, type = C + area = 14930.00000, perimeter = 499.92499, major_axis_length = 212.24582, minor_axis_length = 90.01748, eccentricity = 0.90561, convex_area = 15248.00000, extent = 0.62437, type = C + area = 12220.00000, perimeter = 465.68600, major_axis_length = 200.17416, minor_axis_length = 79.04185, eccentricity = 0.91874, convex_area = 12588.00000, extent = 0.57438, type = C + area = 15418.00000, perimeter = 504.75900, major_axis_length = 209.92400, minor_axis_length = 94.43705, eccentricity = 0.89310, convex_area = 15779.00000, extent = 0.58269, type = C + area = 12037.00000, perimeter = 436.20200, major_axis_length = 177.23352, minor_axis_length = 87.29961, eccentricity = 0.87027, convex_area = 12285.00000, extent = 0.67193, type = O + area = 13885.00000, perimeter = 479.28799, major_axis_length = 198.09418, minor_axis_length = 90.59052, eccentricity = 0.88931, convex_area = 14271.00000, extent = 0.78713, type = C + area = 15684.00000, perimeter = 513.89099, major_axis_length = 221.94533, minor_axis_length = 90.82513, eccentricity = 0.91243, convex_area = 15944.00000, extent = 0.78201, type = C + area = 12170.00000, perimeter = 441.47699, major_axis_length = 181.88800, minor_axis_length = 86.57874, eccentricity = 0.87945, convex_area = 12373.00000, extent = 0.77255, type = O + area = 11161.00000, perimeter = 420.91000, major_axis_length = 169.35046, minor_axis_length = 85.33822, eccentricity = 0.86375, convex_area = 11363.00000, extent = 0.68055, type = O + area = 12120.00000, perimeter = 439.71399, major_axis_length = 181.69794, minor_axis_length = 85.99254, eccentricity = 0.88092, convex_area = 12335.00000, extent = 0.60254, type = O + area = 11960.00000, perimeter = 436.37100, major_axis_length = 183.81682, minor_axis_length = 83.23421, eccentricity = 0.89161, convex_area = 12142.00000, extent = 0.58957, type = O + area = 12612.00000, perimeter = 463.59500, major_axis_length = 197.68294, minor_axis_length = 82.37692, eccentricity = 0.90904, convex_area = 12919.00000, extent = 0.58405, type = C + area = 15028.00000, perimeter = 498.82901, major_axis_length = 205.53845, minor_axis_length = 94.58417, eccentricity = 0.88783, convex_area = 15382.00000, extent = 0.57778, type = C + area = 12659.00000, perimeter = 453.76801, major_axis_length = 188.04030, minor_axis_length = 86.70750, eccentricity = 0.88734, convex_area = 12887.00000, extent = 0.66434, type = O + area = 10173.00000, perimeter = 406.96600, major_axis_length = 174.50359, minor_axis_length = 74.86865, eccentricity = 0.90329, convex_area = 10342.00000, extent = 0.76271, type = O + area = 11327.00000, perimeter = 422.68500, major_axis_length = 175.85306, minor_axis_length = 82.81971, eccentricity = 0.88215, convex_area = 11475.00000, extent = 0.59631, type = O + area = 12743.00000, perimeter = 435.81799, major_axis_length = 176.11099, minor_axis_length = 92.47711, eccentricity = 0.85104, convex_area = 12897.00000, extent = 0.63209, type = O + area = 15586.00000, perimeter = 505.87701, major_axis_length = 218.57321, minor_axis_length = 91.24372, eccentricity = 0.90870, convex_area = 15814.00000, extent = 0.82378, type = C + area = 11630.00000, perimeter = 425.51700, major_axis_length = 173.09642, minor_axis_length = 87.19287, eccentricity = 0.86386, convex_area = 11766.00000, extent = 0.78169, type = O + area = 11318.00000, perimeter = 427.75601, major_axis_length = 175.57466, minor_axis_length = 83.88063, eccentricity = 0.87850, convex_area = 11628.00000, extent = 0.58948, type = O + area = 15381.00000, perimeter = 503.57901, major_axis_length = 211.88353, minor_axis_length = 93.30975, eccentricity = 0.89781, convex_area = 15749.00000, extent = 0.74033, type = C + area = 10395.00000, perimeter = 403.01001, major_axis_length = 169.25749, minor_axis_length = 78.73082, eccentricity = 0.88523, convex_area = 10559.00000, extent = 0.59332, type = O + area = 10767.00000, perimeter = 410.62299, major_axis_length = 166.02318, minor_axis_length = 83.88680, eccentricity = 0.86296, convex_area = 10978.00000, extent = 0.77216, type = O + area = 11280.00000, perimeter = 420.10101, major_axis_length = 170.67036, minor_axis_length = 85.49737, eccentricity = 0.86548, convex_area = 11582.00000, extent = 0.64317, type = O + area = 15486.00000, perimeter = 509.13599, major_axis_length = 211.11356, minor_axis_length = 94.82224, eccentricity = 0.89345, convex_area = 15921.00000, extent = 0.68634, type = C + area = 12994.00000, perimeter = 460.94501, major_axis_length = 195.22110, minor_axis_length = 86.21172, eccentricity = 0.89721, convex_area = 13196.00000, extent = 0.81539, type = O + area = 14254.00000, perimeter = 500.49399, major_axis_length = 213.07532, minor_axis_length = 86.78432, eccentricity = 0.91330, convex_area = 14644.00000, extent = 0.62285, type = C + area = 12466.00000, perimeter = 453.44699, major_axis_length = 185.61612, minor_axis_length = 86.58857, eccentricity = 0.88453, convex_area = 12706.00000, extent = 0.60199, type = O + area = 12279.00000, perimeter = 462.00601, major_axis_length = 197.84625, minor_axis_length = 80.54206, eccentricity = 0.91339, convex_area = 12619.00000, extent = 0.63694, type = C + area = 13244.00000, perimeter = 461.93900, major_axis_length = 194.18376, minor_axis_length = 87.82101, eccentricity = 0.89189, convex_area = 13476.00000, extent = 0.71128, type = C + area = 16798.00000, perimeter = 529.07703, major_axis_length = 222.79663, minor_axis_length = 97.68343, eccentricity = 0.89876, convex_area = 17173.00000, extent = 0.63817, type = C + area = 14254.00000, perimeter = 491.26099, major_axis_length = 207.76718, minor_axis_length = 88.61370, eccentricity = 0.90449, convex_area = 14607.00000, extent = 0.56961, type = C + area = 12092.00000, perimeter = 449.18900, major_axis_length = 192.57950, minor_axis_length = 80.42228, eccentricity = 0.90863, convex_area = 12298.00000, extent = 0.58393, type = C + area = 12483.00000, perimeter = 437.40201, major_axis_length = 173.49197, minor_axis_length = 92.70434, eccentricity = 0.84527, convex_area = 12767.00000, extent = 0.77534, type = O + area = 11080.00000, perimeter = 429.41800, major_axis_length = 175.21588, minor_axis_length = 82.17780, eccentricity = 0.88319, convex_area = 11277.00000, extent = 0.56955, type = O + area = 15578.00000, perimeter = 509.59900, major_axis_length = 216.90948, minor_axis_length = 92.61865, eccentricity = 0.90426, convex_area = 15864.00000, extent = 0.80883, type = C + area = 13930.00000, perimeter = 484.86200, major_axis_length = 205.27246, minor_axis_length = 87.23549, eccentricity = 0.90521, convex_area = 14330.00000, extent = 0.79943, type = C + area = 13263.00000, perimeter = 474.49799, major_axis_length = 197.84290, minor_axis_length = 86.68632, eccentricity = 0.89890, convex_area = 13607.00000, extent = 0.56009, type = C + area = 10638.00000, perimeter = 407.20700, major_axis_length = 168.55212, minor_axis_length = 81.18849, eccentricity = 0.87635, convex_area = 10834.00000, extent = 0.67581, type = O + area = 11765.00000, perimeter = 429.29300, major_axis_length = 175.06308, minor_axis_length = 86.72860, eccentricity = 0.86866, convex_area = 11969.00000, extent = 0.61117, type = O + area = 12502.00000, perimeter = 443.58600, major_axis_length = 179.12814, minor_axis_length = 89.94933, eccentricity = 0.86478, convex_area = 12788.00000, extent = 0.78927, type = O + area = 12323.00000, perimeter = 438.65302, major_axis_length = 174.60475, minor_axis_length = 91.00725, eccentricity = 0.85342, convex_area = 12504.00000, extent = 0.61566, type = O + area = 10443.00000, perimeter = 406.52899, major_axis_length = 164.56837, minor_axis_length = 81.95932, eccentricity = 0.86716, convex_area = 10722.00000, extent = 0.77184, type = O + area = 13099.00000, perimeter = 453.36600, major_axis_length = 180.98264, minor_axis_length = 93.60397, eccentricity = 0.85587, convex_area = 13377.00000, extent = 0.62732, type = O + area = 13933.00000, perimeter = 483.93201, major_axis_length = 207.20593, minor_axis_length = 86.29932, eccentricity = 0.90914, convex_area = 14238.00000, extent = 0.58839, type = C + area = 14561.00000, perimeter = 493.53000, major_axis_length = 208.69296, minor_axis_length = 89.70529, eccentricity = 0.90290, convex_area = 14986.00000, extent = 0.77206, type = C + area = 12483.00000, perimeter = 440.61600, major_axis_length = 176.64351, minor_axis_length = 91.67731, eccentricity = 0.85478, convex_area = 12747.00000, extent = 0.62058, type = O + area = 13919.00000, perimeter = 482.34900, major_axis_length = 204.29425, minor_axis_length = 87.65405, eccentricity = 0.90328, convex_area = 14274.00000, extent = 0.74898, type = C + area = 16566.00000, perimeter = 527.58600, major_axis_length = 217.09457, minor_axis_length = 98.10107, eccentricity = 0.89208, convex_area = 16987.00000, extent = 0.75191, type = C + area = 14944.00000, perimeter = 490.04401, major_axis_length = 201.34654, minor_axis_length = 96.04632, eccentricity = 0.87889, convex_area = 15305.00000, extent = 0.61066, type = C + area = 14306.00000, perimeter = 482.24799, major_axis_length = 197.68579, minor_axis_length = 94.05611, eccentricity = 0.87956, convex_area = 14667.00000, extent = 0.58795, type = C + area = 10662.00000, perimeter = 408.28299, major_axis_length = 162.68098, minor_axis_length = 84.36329, eccentricity = 0.85503, convex_area = 10934.00000, extent = 0.65315, type = O + area = 11962.00000, perimeter = 449.44199, major_axis_length = 192.08891, minor_axis_length = 80.96473, eccentricity = 0.90683, convex_area = 12171.00000, extent = 0.53890, type = C + area = 14018.00000, perimeter = 480.86801, major_axis_length = 203.97838, minor_axis_length = 88.12711, eccentricity = 0.90185, convex_area = 14287.00000, extent = 0.72243, type = C + area = 16588.00000, perimeter = 531.39502, major_axis_length = 221.88550, minor_axis_length = 96.65257, eccentricity = 0.90014, convex_area = 16854.00000, extent = 0.57899, type = C + area = 10462.00000, perimeter = 415.77399, major_axis_length = 169.77206, minor_axis_length = 80.69160, eccentricity = 0.87983, convex_area = 10789.00000, extent = 0.74585, type = O + area = 10480.00000, perimeter = 414.80899, major_axis_length = 177.85612, minor_axis_length = 75.26311, eccentricity = 0.90605, convex_area = 10657.00000, extent = 0.63034, type = O + area = 14588.00000, perimeter = 502.56900, major_axis_length = 214.89561, minor_axis_length = 88.20730, eccentricity = 0.91188, convex_area = 14923.00000, extent = 0.53615, type = C + area = 12357.00000, perimeter = 452.98300, major_axis_length = 189.57811, minor_axis_length = 84.28503, eccentricity = 0.89573, convex_area = 12666.00000, extent = 0.64662, type = O + area = 14608.00000, perimeter = 504.30600, major_axis_length = 210.26993, minor_axis_length = 90.16652, eccentricity = 0.90339, convex_area = 15125.00000, extent = 0.63513, type = C + area = 11621.00000, perimeter = 444.66199, major_axis_length = 188.64220, minor_axis_length = 79.06629, eccentricity = 0.90792, convex_area = 11849.00000, extent = 0.61985, type = O + area = 12362.00000, perimeter = 448.11200, major_axis_length = 181.03906, minor_axis_length = 88.52608, eccentricity = 0.87229, convex_area = 12720.00000, extent = 0.63278, type = O + area = 10956.00000, perimeter = 422.17200, major_axis_length = 178.35187, minor_axis_length = 79.15714, eccentricity = 0.89611, convex_area = 11131.00000, extent = 0.57313, type = O + area = 12714.00000, perimeter = 434.11801, major_axis_length = 169.25522, minor_axis_length = 96.89130, eccentricity = 0.81993, convex_area = 12993.00000, extent = 0.74195, type = O + area = 13115.00000, perimeter = 461.03601, major_axis_length = 195.01874, minor_axis_length = 86.78284, eccentricity = 0.89553, convex_area = 13381.00000, extent = 0.73846, type = C + area = 13655.00000, perimeter = 471.52499, major_axis_length = 193.19618, minor_axis_length = 91.55775, eccentricity = 0.88057, convex_area = 14053.00000, extent = 0.71098, type = C + area = 10788.00000, perimeter = 402.33499, major_axis_length = 160.86864, minor_axis_length = 86.55402, eccentricity = 0.84292, convex_area = 10961.00000, extent = 0.76235, type = O + area = 10549.00000, perimeter = 414.44501, major_axis_length = 170.02101, minor_axis_length = 80.42478, eccentricity = 0.88105, convex_area = 10868.00000, extent = 0.61712, type = O + area = 13469.00000, perimeter = 475.08701, major_axis_length = 203.24782, minor_axis_length = 84.86798, eccentricity = 0.90865, convex_area = 13739.00000, extent = 0.72778, type = C + area = 10453.00000, perimeter = 411.44800, major_axis_length = 175.73219, minor_axis_length = 76.61852, eccentricity = 0.89995, convex_area = 10589.00000, extent = 0.80563, type = O + area = 15204.00000, perimeter = 510.48700, major_axis_length = 216.31686, minor_axis_length = 90.85395, eccentricity = 0.90752, convex_area = 15535.00000, extent = 0.56211, type = C + area = 9120.00000, perimeter = 383.57300, major_axis_length = 158.46271, minor_axis_length = 74.15768, eccentricity = 0.88374, convex_area = 9293.00000, extent = 0.61764, type = O + area = 15401.00000, perimeter = 499.26401, major_axis_length = 202.64989, minor_axis_length = 97.76850, eccentricity = 0.87592, convex_area = 15760.00000, extent = 0.61732, type = C + area = 13308.00000, perimeter = 464.13300, major_axis_length = 196.24231, minor_axis_length = 87.26089, eccentricity = 0.89570, convex_area = 13486.00000, extent = 0.59752, type = O + area = 14741.00000, perimeter = 497.22501, major_axis_length = 212.46336, minor_axis_length = 89.45373, eccentricity = 0.90705, convex_area = 15036.00000, extent = 0.55371, type = C + area = 11180.00000, perimeter = 415.41000, major_axis_length = 169.46371, minor_axis_length = 85.45352, eccentricity = 0.86355, convex_area = 11359.00000, extent = 0.77882, type = O + area = 10919.00000, perimeter = 413.08099, major_axis_length = 167.12601, minor_axis_length = 84.21858, eccentricity = 0.86375, convex_area = 11120.00000, extent = 0.63989, type = O + area = 13014.00000, perimeter = 459.55701, major_axis_length = 193.65952, minor_axis_length = 86.19819, eccentricity = 0.89548, convex_area = 13253.00000, extent = 0.67507, type = C + area = 13085.00000, perimeter = 446.30701, major_axis_length = 179.17305, minor_axis_length = 94.19096, eccentricity = 0.85067, convex_area = 13319.00000, extent = 0.79457, type = O + area = 10427.00000, perimeter = 405.57800, major_axis_length = 170.56107, minor_axis_length = 78.14708, eccentricity = 0.88886, convex_area = 10588.00000, extent = 0.67607, type = O + area = 14887.00000, perimeter = 493.04501, major_axis_length = 199.16492, minor_axis_length = 96.69370, eccentricity = 0.87424, convex_area = 15347.00000, extent = 0.61713, type = C + area = 11182.00000, perimeter = 429.59500, major_axis_length = 181.43217, minor_axis_length = 79.18195, eccentricity = 0.89974, convex_area = 11389.00000, extent = 0.67976, type = O + area = 12784.00000, perimeter = 468.71399, major_axis_length = 197.19243, minor_axis_length = 84.30416, eccentricity = 0.90400, convex_area = 13140.00000, extent = 0.58247, type = O + area = 14092.00000, perimeter = 499.41699, major_axis_length = 210.96301, minor_axis_length = 86.79673, eccentricity = 0.91144, convex_area = 14618.00000, extent = 0.77293, type = C + area = 10384.00000, perimeter = 416.04300, major_axis_length = 176.74158, minor_axis_length = 75.59287, eccentricity = 0.90392, convex_area = 10557.00000, extent = 0.56687, type = O + area = 11042.00000, perimeter = 430.76001, major_axis_length = 185.50810, minor_axis_length = 76.13742, eccentricity = 0.91189, convex_area = 11224.00000, extent = 0.67846, type = O + area = 14405.00000, perimeter = 488.23700, major_axis_length = 204.43013, minor_axis_length = 90.62646, eccentricity = 0.89637, convex_area = 14742.00000, extent = 0.76379, type = C + area = 14990.00000, perimeter = 507.78500, major_axis_length = 213.48546, minor_axis_length = 90.17632, eccentricity = 0.90641, convex_area = 15318.00000, extent = 0.56592, type = C + area = 12091.00000, perimeter = 463.35101, major_axis_length = 203.59439, minor_axis_length = 76.65411, eccentricity = 0.92641, convex_area = 12298.00000, extent = 0.79306, type = C + area = 12919.00000, perimeter = 475.26001, major_axis_length = 201.81566, minor_axis_length = 83.20627, eccentricity = 0.91105, convex_area = 13256.00000, extent = 0.76516, type = C + area = 12974.00000, perimeter = 460.30399, major_axis_length = 192.93105, minor_axis_length = 86.72414, eccentricity = 0.89328, convex_area = 13232.00000, extent = 0.59593, type = O + area = 9236.00000, perimeter = 394.34100, major_axis_length = 160.92889, minor_axis_length = 74.24968, eccentricity = 0.88720, convex_area = 9465.00000, extent = 0.57739, type = O + area = 11719.00000, perimeter = 430.51199, major_axis_length = 175.51746, minor_axis_length = 86.51001, eccentricity = 0.87009, convex_area = 12000.00000, extent = 0.69931, type = O + area = 14434.00000, perimeter = 477.61899, major_axis_length = 200.38988, minor_axis_length = 92.38155, eccentricity = 0.88740, convex_area = 14660.00000, extent = 0.78343, type = C + area = 14439.00000, perimeter = 492.55301, major_axis_length = 211.85214, minor_axis_length = 87.43467, eccentricity = 0.91086, convex_area = 14614.00000, extent = 0.57279, type = C + area = 14572.00000, perimeter = 497.55099, major_axis_length = 211.08046, minor_axis_length = 88.70968, eccentricity = 0.90740, convex_area = 14926.00000, extent = 0.62659, type = C + area = 10760.00000, perimeter = 420.94901, major_axis_length = 173.44466, minor_axis_length = 80.46677, eccentricity = 0.88587, convex_area = 11046.00000, extent = 0.58711, type = O + area = 12240.00000, perimeter = 454.31299, major_axis_length = 190.92790, minor_axis_length = 83.64930, eccentricity = 0.89892, convex_area = 12555.00000, extent = 0.75789, type = C + area = 10858.00000, perimeter = 412.21701, major_axis_length = 166.96233, minor_axis_length = 84.06575, eccentricity = 0.86399, convex_area = 11171.00000, extent = 0.79290, type = O + area = 10638.00000, perimeter = 407.66299, major_axis_length = 166.20763, minor_axis_length = 82.36423, eccentricity = 0.86858, convex_area = 10912.00000, extent = 0.64945, type = O + area = 14159.00000, perimeter = 489.43600, major_axis_length = 209.13132, minor_axis_length = 87.11465, eccentricity = 0.90911, convex_area = 14410.00000, extent = 0.54795, type = C + area = 10632.00000, perimeter = 405.41599, major_axis_length = 167.32594, minor_axis_length = 81.34428, eccentricity = 0.87388, convex_area = 10762.00000, extent = 0.62318, type = O + area = 14223.00000, perimeter = 480.95300, major_axis_length = 201.38956, minor_axis_length = 90.38589, eccentricity = 0.89363, convex_area = 14441.00000, extent = 0.64195, type = C + area = 16401.00000, perimeter = 521.07703, major_axis_length = 213.10257, minor_axis_length = 99.54189, eccentricity = 0.88420, convex_area = 16781.00000, extent = 0.72661, type = C + area = 10787.00000, perimeter = 405.89899, major_axis_length = 167.38528, minor_axis_length = 82.44202, eccentricity = 0.87030, convex_area = 10956.00000, extent = 0.72173, type = O + area = 12859.00000, perimeter = 462.87201, major_axis_length = 193.34184, minor_axis_length = 85.90899, eccentricity = 0.89586, convex_area = 13279.00000, extent = 0.70891, type = C + area = 11508.00000, perimeter = 429.20401, major_axis_length = 178.31401, minor_axis_length = 83.02278, eccentricity = 0.88500, convex_area = 11772.00000, extent = 0.78844, type = O + area = 13983.00000, perimeter = 483.66800, major_axis_length = 201.48521, minor_axis_length = 89.05701, eccentricity = 0.89701, convex_area = 14320.00000, extent = 0.56749, type = C + area = 15568.00000, perimeter = 519.45599, major_axis_length = 222.22809, minor_axis_length = 90.81753, eccentricity = 0.91268, convex_area = 15984.00000, extent = 0.78270, type = C + area = 14007.00000, perimeter = 490.66000, major_axis_length = 205.39612, minor_axis_length = 88.06984, eccentricity = 0.90341, convex_area = 14433.00000, extent = 0.76894, type = C + area = 14421.00000, perimeter = 507.80499, major_axis_length = 213.88568, minor_axis_length = 86.87624, eccentricity = 0.91379, convex_area = 14881.00000, extent = 0.65094, type = C + area = 14982.00000, perimeter = 505.07800, major_axis_length = 217.36499, minor_axis_length = 88.59523, eccentricity = 0.91317, convex_area = 15325.00000, extent = 0.55924, type = C + area = 11963.00000, perimeter = 448.42599, major_axis_length = 191.07706, minor_axis_length = 80.81423, eccentricity = 0.90616, convex_area = 12205.00000, extent = 0.75591, type = C + area = 17253.00000, perimeter = 536.69397, major_axis_length = 223.62706, minor_axis_length = 98.94525, eccentricity = 0.89679, convex_area = 17678.00000, extent = 0.67300, type = C + area = 13650.00000, perimeter = 491.02399, major_axis_length = 210.67497, minor_axis_length = 83.69099, eccentricity = 0.91771, convex_area = 14011.00000, extent = 0.53859, type = C + area = 10806.00000, perimeter = 408.67599, major_axis_length = 163.71594, minor_axis_length = 85.63248, eccentricity = 0.85230, convex_area = 11069.00000, extent = 0.61144, type = O + area = 11771.00000, perimeter = 441.85999, major_axis_length = 186.99777, minor_axis_length = 81.26962, eccentricity = 0.90062, convex_area = 12109.00000, extent = 0.61927, type = C + area = 15373.00000, perimeter = 522.21100, major_axis_length = 229.49373, minor_axis_length = 86.34157, eccentricity = 0.92653, convex_area = 15757.00000, extent = 0.67160, type = C + area = 11542.00000, perimeter = 424.51599, major_axis_length = 171.50450, minor_axis_length = 87.68061, eccentricity = 0.85944, convex_area = 11811.00000, extent = 0.69952, type = O + area = 15583.00000, perimeter = 510.69101, major_axis_length = 217.35155, minor_axis_length = 92.12090, eccentricity = 0.90574, convex_area = 15826.00000, extent = 0.68696, type = C + area = 13485.00000, perimeter = 471.57001, major_axis_length = 198.27264, minor_axis_length = 87.72729, eccentricity = 0.89679, convex_area = 13734.00000, extent = 0.57232, type = C + area = 10512.00000, perimeter = 418.06699, major_axis_length = 170.81836, minor_axis_length = 79.28154, eccentricity = 0.88577, convex_area = 10776.00000, extent = 0.58792, type = O + area = 13811.00000, perimeter = 482.29800, major_axis_length = 206.71475, minor_axis_length = 85.73662, eccentricity = 0.90993, convex_area = 14000.00000, extent = 0.55593, type = C + area = 10491.00000, perimeter = 411.99500, major_axis_length = 174.70581, minor_axis_length = 77.03625, eccentricity = 0.89753, convex_area = 10658.00000, extent = 0.76762, type = O + area = 11746.00000, perimeter = 431.82700, major_axis_length = 174.58006, minor_axis_length = 87.34896, eccentricity = 0.86583, convex_area = 12096.00000, extent = 0.71885, type = O + area = 11957.00000, perimeter = 441.88300, major_axis_length = 186.96121, minor_axis_length = 81.96999, eccentricity = 0.89876, convex_area = 12137.00000, extent = 0.77362, type = O + area = 15540.00000, perimeter = 516.31598, major_axis_length = 217.38722, minor_axis_length = 92.47346, eccentricity = 0.90501, convex_area = 16084.00000, extent = 0.63248, type = C + area = 14753.00000, perimeter = 489.53601, major_axis_length = 207.46600, minor_axis_length = 92.00663, eccentricity = 0.89629, convex_area = 14984.00000, extent = 0.80468, type = C + area = 14275.00000, perimeter = 485.78799, major_axis_length = 206.46191, minor_axis_length = 88.92574, eccentricity = 0.90249, convex_area = 14469.00000, extent = 0.54756, type = C + area = 10949.00000, perimeter = 417.40601, major_axis_length = 168.07645, minor_axis_length = 84.67337, eccentricity = 0.86383, convex_area = 11280.00000, extent = 0.61964, type = O + area = 12476.00000, perimeter = 452.75800, major_axis_length = 192.32312, minor_axis_length = 83.67257, eccentricity = 0.90040, convex_area = 12654.00000, extent = 0.80641, type = O + area = 12267.00000, perimeter = 454.02499, major_axis_length = 190.67360, minor_axis_length = 83.01829, eccentricity = 0.90024, convex_area = 12673.00000, extent = 0.65167, type = C + area = 13965.00000, perimeter = 478.57700, major_axis_length = 203.27635, minor_axis_length = 88.10751, eccentricity = 0.90118, convex_area = 14135.00000, extent = 0.80788, type = C + area = 16453.00000, perimeter = 523.87402, major_axis_length = 222.31219, minor_axis_length = 96.17852, eccentricity = 0.90157, convex_area = 16803.00000, extent = 0.75472, type = C + area = 14009.00000, perimeter = 481.97699, major_axis_length = 198.52509, minor_axis_length = 91.06323, eccentricity = 0.88859, convex_area = 14455.00000, extent = 0.68420, type = O + area = 14675.00000, perimeter = 493.27301, major_axis_length = 206.79372, minor_axis_length = 91.58907, eccentricity = 0.89657, convex_area = 15039.00000, extent = 0.56617, type = C + area = 11392.00000, perimeter = 427.57199, major_axis_length = 173.07945, minor_axis_length = 85.35464, eccentricity = 0.86994, convex_area = 11638.00000, extent = 0.59848, type = O + area = 14364.00000, perimeter = 497.12000, major_axis_length = 212.00835, minor_axis_length = 87.53480, eccentricity = 0.91078, convex_area = 14805.00000, extent = 0.64125, type = C + area = 12081.00000, perimeter = 431.52100, major_axis_length = 173.52229, minor_axis_length = 89.55707, eccentricity = 0.85652, convex_area = 12315.00000, extent = 0.78043, type = O + area = 10286.00000, perimeter = 418.28900, major_axis_length = 175.14859, minor_axis_length = 75.85381, eccentricity = 0.90135, convex_area = 10548.00000, extent = 0.64159, type = O + area = 14784.00000, perimeter = 481.98599, major_axis_length = 200.02716, minor_axis_length = 94.98056, eccentricity = 0.88007, convex_area = 15005.00000, extent = 0.72159, type = C + area = 15967.00000, perimeter = 511.61499, major_axis_length = 211.69078, minor_axis_length = 96.97523, eccentricity = 0.88890, convex_area = 16329.00000, extent = 0.58668, type = C + area = 13029.00000, perimeter = 466.88699, major_axis_length = 197.72624, minor_axis_length = 84.60393, eccentricity = 0.90383, convex_area = 13300.00000, extent = 0.61006, type = C + area = 15433.00000, perimeter = 519.52197, major_axis_length = 218.38802, minor_axis_length = 91.67455, eccentricity = 0.90763, convex_area = 15887.00000, extent = 0.77944, type = C + area = 11810.00000, perimeter = 444.35199, major_axis_length = 187.80739, minor_axis_length = 80.46891, eccentricity = 0.90356, convex_area = 11977.00000, extent = 0.57308, type = O + area = 13900.00000, perimeter = 475.88901, major_axis_length = 198.16893, minor_axis_length = 90.54260, eccentricity = 0.88952, convex_area = 14161.00000, extent = 0.71723, type = C + area = 12491.00000, perimeter = 457.14099, major_axis_length = 194.87546, minor_axis_length = 82.49109, eccentricity = 0.90599, convex_area = 12721.00000, extent = 0.77048, type = C + area = 16862.00000, perimeter = 519.47101, major_axis_length = 219.65996, minor_axis_length = 98.39157, eccentricity = 0.89407, convex_area = 17104.00000, extent = 0.61227, type = C + area = 13012.00000, perimeter = 466.11899, major_axis_length = 196.22711, minor_axis_length = 85.11974, eccentricity = 0.90102, convex_area = 13242.00000, extent = 0.58193, type = O + area = 11191.00000, perimeter = 431.05701, major_axis_length = 184.31168, minor_axis_length = 78.07806, eccentricity = 0.90584, convex_area = 11358.00000, extent = 0.78588, type = O + area = 11764.00000, perimeter = 428.56100, major_axis_length = 171.58627, minor_axis_length = 88.72550, eccentricity = 0.85593, convex_area = 12125.00000, extent = 0.68803, type = O + area = 10925.00000, perimeter = 437.25900, major_axis_length = 181.59094, minor_axis_length = 77.65763, eccentricity = 0.90394, convex_area = 11231.00000, extent = 0.77958, type = O + area = 15178.00000, perimeter = 514.74200, major_axis_length = 219.33296, minor_axis_length = 89.01124, eccentricity = 0.91395, convex_area = 15638.00000, extent = 0.78757, type = C + area = 14251.00000, perimeter = 492.03201, major_axis_length = 202.84761, minor_axis_length = 91.00605, eccentricity = 0.89371, convex_area = 14658.00000, extent = 0.56038, type = C + area = 11708.00000, perimeter = 433.66501, major_axis_length = 184.30309, minor_axis_length = 81.25191, eccentricity = 0.89758, convex_area = 11888.00000, extent = 0.61170, type = O + area = 12164.00000, perimeter = 435.08600, major_axis_length = 177.58580, minor_axis_length = 88.19933, eccentricity = 0.86795, convex_area = 12354.00000, extent = 0.71022, type = O + area = 14399.00000, perimeter = 492.33899, major_axis_length = 210.13991, minor_axis_length = 88.10236, eccentricity = 0.90787, convex_area = 14636.00000, extent = 0.54918, type = C + area = 11189.00000, perimeter = 427.47101, major_axis_length = 176.94299, minor_axis_length = 81.42934, eccentricity = 0.88781, convex_area = 11422.00000, extent = 0.59911, type = O + area = 10777.00000, perimeter = 409.27301, major_axis_length = 165.13802, minor_axis_length = 84.58022, eccentricity = 0.85888, convex_area = 10987.00000, extent = 0.80648, type = O + area = 10604.00000, perimeter = 409.51099, major_axis_length = 172.30270, minor_axis_length = 78.91883, eccentricity = 0.88894, convex_area = 10755.00000, extent = 0.58618, type = O + area = 11487.00000, perimeter = 428.08899, major_axis_length = 173.95477, minor_axis_length = 85.48769, eccentricity = 0.87091, convex_area = 11695.00000, extent = 0.64862, type = O + area = 13837.00000, perimeter = 483.59399, major_axis_length = 204.31093, minor_axis_length = 87.28925, eccentricity = 0.90414, convex_area = 14139.00000, extent = 0.56942, type = C + area = 14645.00000, perimeter = 485.11301, major_axis_length = 201.15378, minor_axis_length = 93.58040, eccentricity = 0.88520, convex_area = 14889.00000, extent = 0.64641, type = C + area = 11944.00000, perimeter = 442.78900, major_axis_length = 182.63704, minor_axis_length = 84.10049, eccentricity = 0.88767, convex_area = 12128.00000, extent = 0.58454, type = O + area = 10463.00000, perimeter = 417.35699, major_axis_length = 177.17612, minor_axis_length = 76.04584, eccentricity = 0.90320, convex_area = 10681.00000, extent = 0.58322, type = O + area = 13362.00000, perimeter = 460.07001, major_axis_length = 186.35324, minor_axis_length = 92.15919, eccentricity = 0.86915, convex_area = 13612.00000, extent = 0.74102, type = O + area = 11914.00000, perimeter = 430.64401, major_axis_length = 172.00987, minor_axis_length = 90.05437, eccentricity = 0.85200, convex_area = 12215.00000, extent = 0.71633, type = O + area = 12835.00000, perimeter = 481.50299, major_axis_length = 212.53754, minor_axis_length = 77.45262, eccentricity = 0.93124, convex_area = 13055.00000, extent = 0.51195, type = C + area = 12556.00000, perimeter = 437.91400, major_axis_length = 180.21121, minor_axis_length = 89.38488, eccentricity = 0.86832, convex_area = 12735.00000, extent = 0.71859, type = O + area = 13149.00000, perimeter = 463.31100, major_axis_length = 189.87309, minor_axis_length = 89.23203, eccentricity = 0.88269, convex_area = 13421.00000, extent = 0.78718, type = O + area = 14340.00000, perimeter = 477.89600, major_axis_length = 196.47507, minor_axis_length = 94.25779, eccentricity = 0.87741, convex_area = 14700.00000, extent = 0.60814, type = C + area = 13651.00000, perimeter = 502.07999, major_axis_length = 222.07356, minor_axis_length = 79.33727, eccentricity = 0.93401, convex_area = 14034.00000, extent = 0.79265, type = C + area = 12237.00000, perimeter = 432.39001, major_axis_length = 169.64680, minor_axis_length = 93.41069, eccentricity = 0.83476, convex_area = 12577.00000, extent = 0.70457, type = O + area = 12808.00000, perimeter = 466.92401, major_axis_length = 197.17467, minor_axis_length = 83.79330, eccentricity = 0.90521, convex_area = 13186.00000, extent = 0.54373, type = O + area = 11910.00000, perimeter = 434.73801, major_axis_length = 178.36728, minor_axis_length = 86.32252, eccentricity = 0.87509, convex_area = 12118.00000, extent = 0.79163, type = O + area = 14928.00000, perimeter = 499.39301, major_axis_length = 212.40379, minor_axis_length = 90.70808, eccentricity = 0.90423, convex_area = 15269.00000, extent = 0.79744, type = C + area = 11803.00000, perimeter = 463.80899, major_axis_length = 201.65070, minor_axis_length = 76.42431, eccentricity = 0.92540, convex_area = 12138.00000, extent = 0.54949, type = C + area = 10085.00000, perimeter = 404.67999, major_axis_length = 168.40106, minor_axis_length = 77.30437, eccentricity = 0.88841, convex_area = 10342.00000, extent = 0.57171, type = O + area = 14362.00000, perimeter = 504.57700, major_axis_length = 211.29306, minor_axis_length = 88.26586, eccentricity = 0.90857, convex_area = 14724.00000, extent = 0.54186, type = C + area = 14619.00000, perimeter = 493.52399, major_axis_length = 209.53288, minor_axis_length = 89.80801, eccentricity = 0.90349, convex_area = 14973.00000, extent = 0.61231, type = C + area = 12318.00000, perimeter = 448.68600, major_axis_length = 187.70100, minor_axis_length = 84.14412, eccentricity = 0.89389, convex_area = 12579.00000, extent = 0.58269, type = C + area = 15136.00000, perimeter = 503.26001, major_axis_length = 208.77202, minor_axis_length = 94.06878, eccentricity = 0.89274, convex_area = 15471.00000, extent = 0.59591, type = C + area = 14528.00000, perimeter = 475.44800, major_axis_length = 192.19856, minor_axis_length = 97.41743, eccentricity = 0.86203, convex_area = 14795.00000, extent = 0.62949, type = C + area = 10866.00000, perimeter = 404.35800, major_axis_length = 163.93236, minor_axis_length = 85.32536, eccentricity = 0.85387, convex_area = 11039.00000, extent = 0.62867, type = O + area = 9967.00000, perimeter = 400.21899, major_axis_length = 167.23888, minor_axis_length = 76.96323, eccentricity = 0.88782, convex_area = 10128.00000, extent = 0.66464, type = O + area = 10719.00000, perimeter = 418.67001, major_axis_length = 175.00836, minor_axis_length = 78.83108, eccentricity = 0.89281, convex_area = 10983.00000, extent = 0.63690, type = O + area = 13088.00000, perimeter = 450.21100, major_axis_length = 184.75020, minor_axis_length = 91.24625, eccentricity = 0.86952, convex_area = 13266.00000, extent = 0.79922, type = O + area = 12261.00000, perimeter = 443.28101, major_axis_length = 183.63693, minor_axis_length = 86.09530, eccentricity = 0.88329, convex_area = 12507.00000, extent = 0.71702, type = O + area = 13455.00000, perimeter = 467.19800, major_axis_length = 195.92857, minor_axis_length = 88.51917, eccentricity = 0.89212, convex_area = 13723.00000, extent = 0.75353, type = C + area = 12867.00000, perimeter = 449.07999, major_axis_length = 181.70056, minor_axis_length = 91.34106, eccentricity = 0.86446, convex_area = 13152.00000, extent = 0.64906, type = O + area = 13662.00000, perimeter = 476.35300, major_axis_length = 204.18565, minor_axis_length = 85.61482, eccentricity = 0.90785, convex_area = 13894.00000, extent = 0.67417, type = C + area = 10697.00000, perimeter = 407.80701, major_axis_length = 168.21783, minor_axis_length = 81.61740, eccentricity = 0.87441, convex_area = 10824.00000, extent = 0.60028, type = O + area = 12720.00000, perimeter = 472.23401, major_axis_length = 201.64085, minor_axis_length = 82.22842, eccentricity = 0.91307, convex_area = 13352.00000, extent = 0.74508, type = C + area = 15290.00000, perimeter = 519.31702, major_axis_length = 221.42963, minor_axis_length = 88.87734, eccentricity = 0.91591, convex_area = 15699.00000, extent = 0.66156, type = C + area = 11253.00000, perimeter = 422.87799, major_axis_length = 173.48373, minor_axis_length = 84.12681, eccentricity = 0.87456, convex_area = 11556.00000, extent = 0.75200, type = O + area = 11141.00000, perimeter = 431.92499, major_axis_length = 181.24011, minor_axis_length = 79.11578, eccentricity = 0.89969, convex_area = 11372.00000, extent = 0.79065, type = C + area = 17856.00000, perimeter = 530.41602, major_axis_length = 223.29236, minor_axis_length = 102.90128, eccentricity = 0.88749, convex_area = 18062.00000, extent = 0.79572, type = C + area = 11933.00000, perimeter = 430.86700, major_axis_length = 178.96300, minor_axis_length = 85.46998, eccentricity = 0.87859, convex_area = 12118.00000, extent = 0.79809, type = O + area = 14226.00000, perimeter = 491.38901, major_axis_length = 213.78671, minor_axis_length = 85.35412, eccentricity = 0.91684, convex_area = 14483.00000, extent = 0.66439, type = C + area = 12950.00000, perimeter = 464.88699, major_axis_length = 194.42839, minor_axis_length = 85.82198, eccentricity = 0.89731, convex_area = 13288.00000, extent = 0.60020, type = C + area = 14035.00000, perimeter = 480.62900, major_axis_length = 199.14839, minor_axis_length = 91.41090, eccentricity = 0.88843, convex_area = 14422.00000, extent = 0.71629, type = C + area = 13269.00000, perimeter = 470.63501, major_axis_length = 197.38409, minor_axis_length = 86.42865, eccentricity = 0.89904, convex_area = 13626.00000, extent = 0.56633, type = C + area = 9751.00000, perimeter = 412.59799, major_axis_length = 175.45064, minor_axis_length = 71.44276, eccentricity = 0.91334, convex_area = 10034.00000, extent = 0.71436, type = O + area = 9221.00000, perimeter = 387.09399, major_axis_length = 159.22450, minor_axis_length = 74.90333, eccentricity = 0.88244, convex_area = 9418.00000, extent = 0.76842, type = O + area = 13687.00000, perimeter = 481.74500, major_axis_length = 201.17458, minor_axis_length = 87.95718, eccentricity = 0.89936, convex_area = 13979.00000, extent = 0.69832, type = C + area = 11496.00000, perimeter = 440.46899, major_axis_length = 185.72256, minor_axis_length = 79.85572, eccentricity = 0.90284, convex_area = 11759.00000, extent = 0.75093, type = O + area = 13848.00000, perimeter = 492.91000, major_axis_length = 207.01457, minor_axis_length = 86.98444, eccentricity = 0.90744, convex_area = 14383.00000, extent = 0.66879, type = C + area = 17948.00000, perimeter = 526.91803, major_axis_length = 214.09383, minor_axis_length = 107.54245, eccentricity = 0.86468, convex_area = 18322.00000, extent = 0.66637, type = C + area = 12744.00000, perimeter = 467.92499, major_axis_length = 200.61217, minor_axis_length = 81.70650, eccentricity = 0.91330, convex_area = 13047.00000, extent = 0.71451, type = C + area = 17246.00000, perimeter = 540.54199, major_axis_length = 225.98886, minor_axis_length = 98.57315, eccentricity = 0.89986, convex_area = 17704.00000, extent = 0.57393, type = C + area = 12888.00000, perimeter = 467.19800, major_axis_length = 199.15642, minor_axis_length = 83.28893, eccentricity = 0.90835, convex_area = 13222.00000, extent = 0.72584, type = C + area = 9584.00000, perimeter = 390.00400, major_axis_length = 162.29663, minor_axis_length = 75.98748, eccentricity = 0.88362, convex_area = 9757.00000, extent = 0.80946, type = O + area = 11794.00000, perimeter = 430.38000, major_axis_length = 178.44585, minor_axis_length = 84.78594, eccentricity = 0.87991, convex_area = 12056.00000, extent = 0.75294, type = C + area = 12580.00000, perimeter = 479.21701, major_axis_length = 208.42375, minor_axis_length = 77.74034, eccentricity = 0.92783, convex_area = 12879.00000, extent = 0.57307, type = C + area = 10005.00000, perimeter = 394.09900, major_axis_length = 161.26289, minor_axis_length = 79.95715, eccentricity = 0.86843, convex_area = 10220.00000, extent = 0.71875, type = O + area = 12985.00000, perimeter = 466.13501, major_axis_length = 196.66615, minor_axis_length = 84.69309, eccentricity = 0.90252, convex_area = 13221.00000, extent = 0.58889, type = C + area = 10208.00000, perimeter = 394.53000, major_axis_length = 161.66724, minor_axis_length = 81.41670, eccentricity = 0.86393, convex_area = 10361.00000, extent = 0.66097, type = O + area = 15366.00000, perimeter = 508.79300, major_axis_length = 211.37265, minor_axis_length = 93.96780, eccentricity = 0.89575, convex_area = 15746.00000, extent = 0.56459, type = C + area = 15581.00000, perimeter = 517.33197, major_axis_length = 221.95938, minor_axis_length = 90.30761, eccentricity = 0.91349, convex_area = 15901.00000, extent = 0.55409, type = C + area = 15308.00000, perimeter = 513.98999, major_axis_length = 219.46791, minor_axis_length = 90.02393, eccentricity = 0.91200, convex_area = 15720.00000, extent = 0.76326, type = C + area = 12354.00000, perimeter = 453.09000, major_axis_length = 192.00674, minor_axis_length = 82.87370, eccentricity = 0.90206, convex_area = 12602.00000, extent = 0.65762, type = O + area = 10472.00000, perimeter = 412.98901, major_axis_length = 168.20355, minor_axis_length = 80.14660, eccentricity = 0.87918, convex_area = 10772.00000, extent = 0.61943, type = O + area = 9050.00000, perimeter = 379.89899, major_axis_length = 152.87093, minor_axis_length = 77.10934, eccentricity = 0.86347, convex_area = 9387.00000, extent = 0.67487, type = O + area = 12868.00000, perimeter = 454.85901, major_axis_length = 191.58615, minor_axis_length = 86.50890, eccentricity = 0.89225, convex_area = 13082.00000, extent = 0.78674, type = O + area = 11983.00000, perimeter = 432.43900, major_axis_length = 172.42494, minor_axis_length = 89.33904, eccentricity = 0.85530, convex_area = 12238.00000, extent = 0.70084, type = O + area = 11549.00000, perimeter = 440.24799, major_axis_length = 179.11688, minor_axis_length = 84.49580, eccentricity = 0.88174, convex_area = 11961.00000, extent = 0.59540, type = C + area = 12742.00000, perimeter = 446.81100, major_axis_length = 180.02014, minor_axis_length = 91.04812, eccentricity = 0.86267, convex_area = 12954.00000, extent = 0.79108, type = O + area = 12381.00000, perimeter = 434.15900, major_axis_length = 173.10074, minor_axis_length = 91.96291, eccentricity = 0.84720, convex_area = 12643.00000, extent = 0.74316, type = O + area = 13988.00000, perimeter = 491.48901, major_axis_length = 208.36464, minor_axis_length = 86.78497, eccentricity = 0.90913, convex_area = 14427.00000, extent = 0.61311, type = C + area = 14627.00000, perimeter = 498.07300, major_axis_length = 205.78754, minor_axis_length = 92.42831, eccentricity = 0.89346, convex_area = 15091.00000, extent = 0.60552, type = C + area = 11489.00000, perimeter = 447.23700, major_axis_length = 182.10213, minor_axis_length = 82.12138, eccentricity = 0.89254, convex_area = 11913.00000, extent = 0.55946, type = O + area = 10267.00000, perimeter = 424.94901, major_axis_length = 182.40912, minor_axis_length = 72.53786, eccentricity = 0.91753, convex_area = 10455.00000, extent = 0.54743, type = O + area = 12730.00000, perimeter = 454.43900, major_axis_length = 186.89359, minor_axis_length = 87.86870, eccentricity = 0.88258, convex_area = 12943.00000, extent = 0.66614, type = O + area = 13447.00000, perimeter = 455.64801, major_axis_length = 183.95758, minor_axis_length = 94.45814, eccentricity = 0.85810, convex_area = 13867.00000, extent = 0.62591, type = O + area = 11594.00000, perimeter = 437.91000, major_axis_length = 178.67661, minor_axis_length = 84.30540, eccentricity = 0.88169, convex_area = 11969.00000, extent = 0.60060, type = O + area = 14434.00000, perimeter = 488.28699, major_axis_length = 201.64925, minor_axis_length = 92.53371, eccentricity = 0.88850, convex_area = 14826.00000, extent = 0.70776, type = C + area = 14263.00000, perimeter = 489.44601, major_axis_length = 205.81178, minor_axis_length = 89.50909, eccentricity = 0.90048, convex_area = 14637.00000, extent = 0.66318, type = C + area = 12861.00000, perimeter = 455.86600, major_axis_length = 191.82275, minor_axis_length = 86.29829, eccentricity = 0.89309, convex_area = 13058.00000, extent = 0.58672, type = C + area = 12220.00000, perimeter = 425.04599, major_axis_length = 170.33270, minor_axis_length = 91.93887, eccentricity = 0.84182, convex_area = 12385.00000, extent = 0.72171, type = O + area = 10849.00000, perimeter = 410.49399, major_axis_length = 167.98471, minor_axis_length = 82.65473, eccentricity = 0.87057, convex_area = 11025.00000, extent = 0.60915, type = O + area = 10846.00000, perimeter = 418.85199, major_axis_length = 172.20677, minor_axis_length = 81.69290, eccentricity = 0.88032, convex_area = 11069.00000, extent = 0.68274, type = O + area = 11592.00000, perimeter = 436.39999, major_axis_length = 178.13594, minor_axis_length = 83.72199, eccentricity = 0.88267, convex_area = 11844.00000, extent = 0.72360, type = O + area = 12414.00000, perimeter = 453.38300, major_axis_length = 188.56230, minor_axis_length = 85.32584, eccentricity = 0.89176, convex_area = 12721.00000, extent = 0.58817, type = C + area = 15404.00000, perimeter = 509.51700, major_axis_length = 217.29758, minor_axis_length = 91.39754, eccentricity = 0.90724, convex_area = 15696.00000, extent = 0.63370, type = C + area = 14404.00000, perimeter = 486.48401, major_axis_length = 206.77576, minor_axis_length = 89.47427, eccentricity = 0.90153, convex_area = 14658.00000, extent = 0.79457, type = C + area = 11840.00000, perimeter = 420.14099, major_axis_length = 166.92889, minor_axis_length = 90.98129, eccentricity = 0.83842, convex_area = 12021.00000, extent = 0.79661, type = O + area = 10964.00000, perimeter = 412.82199, major_axis_length = 168.77948, minor_axis_length = 83.76622, eccentricity = 0.86815, convex_area = 11118.00000, extent = 0.74605, type = O + area = 11711.00000, perimeter = 423.93701, major_axis_length = 175.11882, minor_axis_length = 85.90813, eccentricity = 0.87140, convex_area = 11866.00000, extent = 0.81056, type = O + area = 10921.00000, perimeter = 425.01199, major_axis_length = 175.63832, minor_axis_length = 80.60688, eccentricity = 0.88847, convex_area = 11271.00000, extent = 0.77044, type = O + area = 12682.00000, perimeter = 459.96500, major_axis_length = 195.43550, minor_axis_length = 83.60432, eccentricity = 0.90388, convex_area = 12892.00000, extent = 0.58281, type = C + area = 12297.00000, perimeter = 440.60101, major_axis_length = 173.32635, minor_axis_length = 92.03754, eccentricity = 0.84737, convex_area = 12678.00000, extent = 0.72216, type = O + area = 13792.00000, perimeter = 475.78201, major_axis_length = 196.70659, minor_axis_length = 90.34711, eccentricity = 0.88828, convex_area = 14183.00000, extent = 0.77327, type = C + area = 12213.00000, perimeter = 459.16699, major_axis_length = 195.58655, minor_axis_length = 80.64011, eccentricity = 0.91105, convex_area = 12571.00000, extent = 0.54340, type = C + area = 11185.00000, perimeter = 414.18100, major_axis_length = 170.01825, minor_axis_length = 84.11061, eccentricity = 0.86906, convex_area = 11370.00000, extent = 0.62208, type = O + area = 12678.00000, perimeter = 452.92599, major_axis_length = 190.83859, minor_axis_length = 85.65090, eccentricity = 0.89363, convex_area = 12930.00000, extent = 0.63953, type = O + area = 14516.00000, perimeter = 492.78601, major_axis_length = 209.76013, minor_axis_length = 89.51320, eccentricity = 0.90437, convex_area = 14836.00000, extent = 0.73358, type = C + area = 10900.00000, perimeter = 417.59698, major_axis_length = 172.69206, minor_axis_length = 81.00117, eccentricity = 0.88317, convex_area = 11091.00000, extent = 0.58539, type = O + area = 12434.00000, perimeter = 450.49600, major_axis_length = 176.91013, minor_axis_length = 91.67809, eccentricity = 0.85525, convex_area = 12847.00000, extent = 0.61239, type = O + area = 13852.00000, perimeter = 490.27899, major_axis_length = 213.98569, minor_axis_length = 82.96648, eccentricity = 0.92178, convex_area = 14158.00000, extent = 0.72832, type = C + area = 9732.00000, perimeter = 395.62399, major_axis_length = 166.25105, minor_axis_length = 75.57278, eccentricity = 0.89071, convex_area = 9887.00000, extent = 0.58655, type = O + area = 14009.00000, perimeter = 487.06299, major_axis_length = 208.65166, minor_axis_length = 86.59981, eccentricity = 0.90980, convex_area = 14333.00000, extent = 0.75011, type = C + area = 14143.00000, perimeter = 483.86499, major_axis_length = 200.87813, minor_axis_length = 90.59235, eccentricity = 0.89253, convex_area = 14427.00000, extent = 0.59766, type = C + area = 10528.00000, perimeter = 411.12000, major_axis_length = 164.81996, minor_axis_length = 83.14049, eccentricity = 0.86345, convex_area = 10862.00000, extent = 0.62149, type = O + area = 15269.00000, perimeter = 519.76599, major_axis_length = 222.41956, minor_axis_length = 88.28183, eccentricity = 0.91786, convex_area = 15620.00000, extent = 0.56575, type = C + area = 13198.00000, perimeter = 468.45599, major_axis_length = 200.49115, minor_axis_length = 84.69169, eccentricity = 0.90640, convex_area = 13455.00000, extent = 0.73192, type = C + area = 13446.00000, perimeter = 475.12799, major_axis_length = 198.69955, minor_axis_length = 87.37930, eccentricity = 0.89812, convex_area = 13765.00000, extent = 0.57572, type = C + area = 11296.00000, perimeter = 424.70099, major_axis_length = 169.20689, minor_axis_length = 87.00450, eccentricity = 0.85768, convex_area = 11626.00000, extent = 0.61102, type = O + area = 16654.00000, perimeter = 519.03601, major_axis_length = 217.24971, minor_axis_length = 98.99957, eccentricity = 0.89014, convex_area = 16976.00000, extent = 0.76338, type = C + area = 12201.00000, perimeter = 443.45599, major_axis_length = 178.08556, minor_axis_length = 88.47781, eccentricity = 0.86785, convex_area = 12544.00000, extent = 0.63913, type = O + area = 12091.00000, perimeter = 442.00000, major_axis_length = 181.21178, minor_axis_length = 86.29922, eccentricity = 0.87932, convex_area = 12400.00000, extent = 0.63503, type = O + area = 11395.00000, perimeter = 421.96301, major_axis_length = 169.74678, minor_axis_length = 86.97183, eccentricity = 0.85877, convex_area = 11586.00000, extent = 0.62370, type = O + area = 12661.00000, perimeter = 436.92200, major_axis_length = 174.83229, minor_axis_length = 93.07770, eccentricity = 0.84650, convex_area = 12898.00000, extent = 0.70198, type = O + area = 15336.00000, perimeter = 508.78500, major_axis_length = 219.26230, minor_axis_length = 89.74197, eccentricity = 0.91240, convex_area = 15599.00000, extent = 0.58001, type = C + area = 14493.00000, perimeter = 506.84100, major_axis_length = 219.00308, minor_axis_length = 84.91930, eccentricity = 0.92176, convex_area = 14804.00000, extent = 0.54111, type = C + area = 15306.00000, perimeter = 524.68500, major_axis_length = 227.78186, minor_axis_length = 87.04253, eccentricity = 0.92411, convex_area = 15837.00000, extent = 0.51251, type = C + area = 14360.00000, perimeter = 494.45700, major_axis_length = 205.09700, minor_axis_length = 90.11700, eccentricity = 0.89830, convex_area = 14825.00000, extent = 0.65751, type = C + area = 12901.00000, perimeter = 475.30301, major_axis_length = 209.58597, minor_axis_length = 79.26891, eccentricity = 0.92572, convex_area = 13219.00000, extent = 0.68281, type = C + area = 13111.00000, perimeter = 457.01801, major_axis_length = 188.33434, minor_axis_length = 90.13023, eccentricity = 0.87805, convex_area = 13323.00000, extent = 0.77944, type = O + area = 11891.00000, perimeter = 430.30099, major_axis_length = 175.01674, minor_axis_length = 87.99029, eccentricity = 0.86443, convex_area = 12170.00000, extent = 0.61039, type = O + area = 14952.00000, perimeter = 488.63000, major_axis_length = 203.00296, minor_axis_length = 94.55453, eccentricity = 0.88490, convex_area = 15187.00000, extent = 0.61561, type = C + area = 15167.00000, perimeter = 514.23102, major_axis_length = 220.54652, minor_axis_length = 88.99762, eccentricity = 0.91497, convex_area = 15456.00000, extent = 0.62803, type = C + area = 10604.00000, perimeter = 409.19101, major_axis_length = 169.17116, minor_axis_length = 80.42681, eccentricity = 0.87976, convex_area = 10780.00000, extent = 0.78432, type = O + area = 10600.00000, perimeter = 414.86600, major_axis_length = 174.65054, minor_axis_length = 78.23211, eccentricity = 0.89407, convex_area = 10800.00000, extent = 0.60282, type = O + area = 12346.00000, perimeter = 456.90500, major_axis_length = 193.61288, minor_axis_length = 82.03561, eccentricity = 0.90580, convex_area = 12529.00000, extent = 0.58673, type = C + area = 11564.00000, perimeter = 428.08301, major_axis_length = 171.93872, minor_axis_length = 86.84311, eccentricity = 0.86307, convex_area = 11839.00000, extent = 0.61675, type = O + area = 10873.00000, perimeter = 416.04099, major_axis_length = 170.91298, minor_axis_length = 82.10006, eccentricity = 0.87707, convex_area = 11085.00000, extent = 0.64536, type = O + area = 12440.00000, perimeter = 434.80499, major_axis_length = 173.39279, minor_axis_length = 92.69048, eccentricity = 0.84512, convex_area = 12716.00000, extent = 0.68034, type = O + area = 11883.00000, perimeter = 440.54199, major_axis_length = 187.20535, minor_axis_length = 82.01987, eccentricity = 0.89891, convex_area = 12057.00000, extent = 0.56211, type = O + area = 11051.00000, perimeter = 421.34799, major_axis_length = 166.91263, minor_axis_length = 85.74883, eccentricity = 0.85795, convex_area = 11421.00000, extent = 0.69333, type = O + area = 11081.00000, perimeter = 414.07901, major_axis_length = 169.00883, minor_axis_length = 84.32628, eccentricity = 0.86663, convex_area = 11289.00000, extent = 0.78992, type = O + area = 14363.00000, perimeter = 499.17099, major_axis_length = 210.24554, minor_axis_length = 88.11178, eccentricity = 0.90794, convex_area = 14669.00000, extent = 0.60685, type = C + area = 11543.00000, perimeter = 432.31400, major_axis_length = 174.84126, minor_axis_length = 86.66760, eccentricity = 0.86850, convex_area = 11940.00000, extent = 0.69120, type = O + area = 14456.00000, perimeter = 492.95099, major_axis_length = 212.41122, minor_axis_length = 87.36013, eccentricity = 0.91151, convex_area = 14726.00000, extent = 0.79503, type = C + area = 10910.00000, perimeter = 413.09500, major_axis_length = 165.88043, minor_axis_length = 85.08663, eccentricity = 0.85842, convex_area = 11243.00000, extent = 0.70771, type = O + area = 10265.00000, perimeter = 400.32199, major_axis_length = 163.16632, minor_axis_length = 81.64381, eccentricity = 0.86581, convex_area = 10450.00000, extent = 0.61101, type = O + area = 12040.00000, perimeter = 441.02301, major_axis_length = 182.75281, minor_axis_length = 85.15115, eccentricity = 0.88482, convex_area = 12372.00000, extent = 0.74741, type = C + area = 11752.00000, perimeter = 422.53201, major_axis_length = 171.08530, minor_axis_length = 88.01460, eccentricity = 0.85752, convex_area = 11997.00000, extent = 0.69292, type = O + area = 12282.00000, perimeter = 430.76099, major_axis_length = 173.74225, minor_axis_length = 90.91860, eccentricity = 0.85215, convex_area = 12484.00000, extent = 0.66439, type = O + area = 15231.00000, perimeter = 525.57898, major_axis_length = 229.74988, minor_axis_length = 85.09379, eccentricity = 0.92888, convex_area = 15617.00000, extent = 0.57290, type = C + area = 12059.00000, perimeter = 431.64600, major_axis_length = 171.67200, minor_axis_length = 90.91513, eccentricity = 0.84826, convex_area = 12359.00000, extent = 0.69956, type = O + area = 10566.00000, perimeter = 405.30200, major_axis_length = 164.94698, minor_axis_length = 82.92602, eccentricity = 0.86444, convex_area = 10834.00000, extent = 0.60401, type = O + area = 14229.00000, perimeter = 485.11899, major_axis_length = 206.59769, minor_axis_length = 88.72133, eccentricity = 0.90310, convex_area = 14455.00000, extent = 0.74517, type = C + area = 10951.00000, perimeter = 424.76901, major_axis_length = 179.13132, minor_axis_length = 78.75501, eccentricity = 0.89817, convex_area = 11138.00000, extent = 0.56726, type = O + area = 13221.00000, perimeter = 448.64499, major_axis_length = 181.13892, minor_axis_length = 93.82220, eccentricity = 0.85541, convex_area = 13378.00000, extent = 0.62540, type = O + area = 13680.00000, perimeter = 473.08600, major_axis_length = 194.94038, minor_axis_length = 91.22505, eccentricity = 0.88375, convex_area = 14077.00000, extent = 0.77949, type = C + area = 9592.00000, perimeter = 385.77802, major_axis_length = 157.76796, minor_axis_length = 78.39109, eccentricity = 0.86782, convex_area = 9760.00000, extent = 0.78843, type = O + area = 13652.00000, perimeter = 486.62799, major_axis_length = 210.34523, minor_axis_length = 83.29913, eccentricity = 0.91825, convex_area = 13950.00000, extent = 0.57980, type = C + area = 13507.00000, perimeter = 468.23901, major_axis_length = 197.50925, minor_axis_length = 87.92960, eccentricity = 0.89543, convex_area = 13735.00000, extent = 0.57722, type = C + area = 14824.00000, perimeter = 513.21698, major_axis_length = 220.16020, minor_axis_length = 86.80725, eccentricity = 0.91899, convex_area = 15150.00000, extent = 0.56836, type = C + area = 13368.00000, perimeter = 487.55099, major_axis_length = 202.53963, minor_axis_length = 86.57294, eccentricity = 0.90405, convex_area = 13965.00000, extent = 0.71825, type = C + area = 14871.00000, perimeter = 487.61801, major_axis_length = 204.19110, minor_axis_length = 93.79977, eccentricity = 0.88824, convex_area = 15067.00000, extent = 0.76308, type = C + area = 11136.00000, perimeter = 419.52100, major_axis_length = 172.73734, minor_axis_length = 82.87894, eccentricity = 0.87738, convex_area = 11373.00000, extent = 0.70615, type = O + area = 13871.00000, perimeter = 496.57901, major_axis_length = 212.57080, minor_axis_length = 83.77424, eccentricity = 0.91907, convex_area = 14344.00000, extent = 0.52782, type = C + area = 13321.00000, perimeter = 473.99301, major_axis_length = 199.27257, minor_axis_length = 85.92883, eccentricity = 0.90225, convex_area = 13758.00000, extent = 0.56457, type = C + area = 14862.00000, perimeter = 507.48999, major_axis_length = 216.32031, minor_axis_length = 88.60250, eccentricity = 0.91227, convex_area = 15125.00000, extent = 0.77527, type = C + area = 11749.00000, perimeter = 455.25699, major_axis_length = 192.59000, minor_axis_length = 78.04095, eccentricity = 0.91422, convex_area = 12001.00000, extent = 0.60665, type = O + area = 13913.00000, perimeter = 493.60699, major_axis_length = 212.98547, minor_axis_length = 83.99135, eccentricity = 0.91896, convex_area = 14218.00000, extent = 0.57213, type = C + area = 14794.00000, perimeter = 501.56900, major_axis_length = 213.49100, minor_axis_length = 89.19424, eccentricity = 0.90854, convex_area = 15202.00000, extent = 0.68062, type = C + area = 12412.00000, perimeter = 456.57999, major_axis_length = 191.57162, minor_axis_length = 83.44986, eccentricity = 0.90014, convex_area = 12779.00000, extent = 0.64950, type = C + area = 13855.00000, perimeter = 487.83099, major_axis_length = 207.10844, minor_axis_length = 86.02370, eccentricity = 0.90966, convex_area = 14214.00000, extent = 0.55155, type = C + area = 12071.00000, perimeter = 438.70001, major_axis_length = 178.78461, minor_axis_length = 87.50312, eccentricity = 0.87204, convex_area = 12437.00000, extent = 0.64537, type = O + area = 12720.00000, perimeter = 449.62399, major_axis_length = 178.61478, minor_axis_length = 92.75169, eccentricity = 0.85460, convex_area = 13095.00000, extent = 0.74386, type = C + area = 11757.00000, perimeter = 441.24200, major_axis_length = 182.59586, minor_axis_length = 82.91640, eccentricity = 0.89095, convex_area = 11967.00000, extent = 0.60172, type = O + area = 11919.00000, perimeter = 434.26300, major_axis_length = 175.56418, minor_axis_length = 87.84673, eccentricity = 0.86581, convex_area = 12152.00000, extent = 0.60964, type = O + area = 14828.00000, perimeter = 494.28799, major_axis_length = 202.10315, minor_axis_length = 95.03462, eccentricity = 0.88254, convex_area = 15197.00000, extent = 0.59179, type = C + area = 12074.00000, perimeter = 436.46201, major_axis_length = 178.20761, minor_axis_length = 87.64711, eccentricity = 0.87069, convex_area = 12300.00000, extent = 0.60177, type = O + area = 10886.00000, perimeter = 409.73801, major_axis_length = 166.07925, minor_axis_length = 84.13434, eccentricity = 0.86219, convex_area = 11055.00000, extent = 0.68037, type = O + area = 13445.00000, perimeter = 490.81500, major_axis_length = 216.17297, minor_axis_length = 79.60010, eccentricity = 0.92974, convex_area = 13640.00000, extent = 0.53544, type = C + area = 15200.00000, perimeter = 502.58801, major_axis_length = 214.13380, minor_axis_length = 91.11753, eccentricity = 0.90495, convex_area = 15461.00000, extent = 0.62413, type = C + area = 11646.00000, perimeter = 435.60699, major_axis_length = 177.84079, minor_axis_length = 84.54723, eccentricity = 0.87976, convex_area = 11902.00000, extent = 0.62212, type = O + area = 13808.00000, perimeter = 466.77802, major_axis_length = 190.80783, minor_axis_length = 93.22655, eccentricity = 0.87251, convex_area = 14023.00000, extent = 0.62370, type = O + area = 13567.00000, perimeter = 481.40500, major_axis_length = 202.01970, minor_axis_length = 86.41855, eccentricity = 0.90389, convex_area = 13976.00000, extent = 0.75093, type = C + area = 14549.00000, perimeter = 488.95300, major_axis_length = 206.69482, minor_axis_length = 90.76069, eccentricity = 0.89844, convex_area = 14856.00000, extent = 0.58247, type = C + area = 14441.00000, perimeter = 495.36600, major_axis_length = 210.02328, minor_axis_length = 89.20302, eccentricity = 0.90532, convex_area = 14805.00000, extent = 0.54021, type = C + area = 14505.00000, perimeter = 492.68201, major_axis_length = 205.41214, minor_axis_length = 90.76255, eccentricity = 0.89709, convex_area = 14834.00000, extent = 0.58295, type = C + area = 15833.00000, perimeter = 530.33502, major_axis_length = 225.22339, minor_axis_length = 91.51106, eccentricity = 0.91373, convex_area = 16337.00000, extent = 0.58641, type = C + area = 10030.00000, perimeter = 414.38400, major_axis_length = 181.60057, minor_axis_length = 70.75995, eccentricity = 0.92096, convex_area = 10152.00000, extent = 0.77189, type = O + area = 10617.00000, perimeter = 425.47501, major_axis_length = 180.49881, minor_axis_length = 76.52988, eccentricity = 0.90567, convex_area = 10911.00000, extent = 0.77181, type = O + area = 13568.00000, perimeter = 482.14200, major_axis_length = 206.34126, minor_axis_length = 84.97628, eccentricity = 0.91126, convex_area = 13798.00000, extent = 0.77284, type = C + area = 14897.00000, perimeter = 491.18500, major_axis_length = 205.71985, minor_axis_length = 92.87569, eccentricity = 0.89229, convex_area = 15137.00000, extent = 0.59445, type = C + area = 11366.00000, perimeter = 431.93600, major_axis_length = 179.07126, minor_axis_length = 81.93755, eccentricity = 0.88917, convex_area = 11737.00000, extent = 0.60635, type = O + area = 14166.00000, perimeter = 491.61301, major_axis_length = 209.03635, minor_axis_length = 87.52461, eccentricity = 0.90812, convex_area = 14386.00000, extent = 0.60230, type = C + area = 10594.00000, perimeter = 401.24399, major_axis_length = 167.18781, minor_axis_length = 81.09771, eccentricity = 0.87448, convex_area = 10738.00000, extent = 0.78778, type = O + area = 13708.00000, perimeter = 486.39600, major_axis_length = 204.62373, minor_axis_length = 86.33973, eccentricity = 0.90662, convex_area = 14361.00000, extent = 0.58068, type = C + area = 12384.00000, perimeter = 460.13599, major_axis_length = 190.87038, minor_axis_length = 85.09120, eccentricity = 0.89513, convex_area = 12811.00000, extent = 0.60484, type = C + area = 13724.00000, perimeter = 468.57199, major_axis_length = 191.87160, minor_axis_length = 92.48851, eccentricity = 0.87615, convex_area = 14048.00000, extent = 0.74072, type = C + area = 12010.00000, perimeter = 428.14001, major_axis_length = 171.22218, minor_axis_length = 90.10307, eccentricity = 0.85034, convex_area = 12222.00000, extent = 0.66574, type = O + area = 14687.00000, perimeter = 498.39099, major_axis_length = 210.58044, minor_axis_length = 90.29588, eccentricity = 0.90340, convex_area = 14977.00000, extent = 0.56610, type = C + area = 13954.00000, perimeter = 484.53201, major_axis_length = 203.67818, minor_axis_length = 88.20872, eccentricity = 0.90136, convex_area = 14288.00000, extent = 0.75086, type = C + area = 11350.00000, perimeter = 445.82101, major_axis_length = 195.95209, minor_axis_length = 74.59088, eccentricity = 0.92472, convex_area = 11544.00000, extent = 0.58430, type = C + area = 16011.00000, perimeter = 525.06897, major_axis_length = 222.94646, minor_axis_length = 92.38245, eccentricity = 0.91011, convex_area = 16298.00000, extent = 0.55663, type = C + area = 11857.00000, perimeter = 434.08899, major_axis_length = 175.60728, minor_axis_length = 87.40578, eccentricity = 0.86733, convex_area = 12176.00000, extent = 0.60520, type = O + area = 11694.00000, perimeter = 431.38901, major_axis_length = 177.07016, minor_axis_length = 85.11002, eccentricity = 0.87691, convex_area = 11875.00000, extent = 0.68788, type = O + area = 12895.00000, perimeter = 449.51300, major_axis_length = 186.66151, minor_axis_length = 88.58875, eccentricity = 0.88020, convex_area = 13072.00000, extent = 0.58475, type = O + area = 12715.00000, perimeter = 462.61700, major_axis_length = 197.49364, minor_axis_length = 82.39475, eccentricity = 0.90881, convex_area = 12924.00000, extent = 0.68272, type = O + area = 11462.00000, perimeter = 423.23499, major_axis_length = 171.58929, minor_axis_length = 85.72186, eccentricity = 0.86627, convex_area = 11712.00000, extent = 0.69467, type = O + area = 12199.00000, perimeter = 438.06299, major_axis_length = 178.85576, minor_axis_length = 88.10280, eccentricity = 0.87026, convex_area = 12496.00000, extent = 0.78334, type = O + area = 11392.00000, perimeter = 427.74500, major_axis_length = 174.02287, minor_axis_length = 84.52708, eccentricity = 0.87411, convex_area = 11609.00000, extent = 0.60256, type = O + area = 14880.00000, perimeter = 502.88101, major_axis_length = 217.99866, minor_axis_length = 87.55461, eccentricity = 0.91580, convex_area = 15129.00000, extent = 0.57670, type = C + area = 11101.00000, perimeter = 418.03299, major_axis_length = 169.87318, minor_axis_length = 84.64671, eccentricity = 0.86701, convex_area = 11340.00000, extent = 0.65960, type = O + area = 12205.00000, perimeter = 438.35599, major_axis_length = 174.43573, minor_axis_length = 90.32648, eccentricity = 0.85549, convex_area = 12491.00000, extent = 0.61848, type = O + area = 10983.00000, perimeter = 417.70999, major_axis_length = 171.84035, minor_axis_length = 82.69301, eccentricity = 0.87660, convex_area = 11229.00000, extent = 0.77481, type = O + area = 11016.00000, perimeter = 421.10001, major_axis_length = 173.15601, minor_axis_length = 82.32682, eccentricity = 0.87974, convex_area = 11302.00000, extent = 0.78161, type = O + area = 11016.00000, perimeter = 416.89700, major_axis_length = 174.62755, minor_axis_length = 81.19022, eccentricity = 0.88535, convex_area = 11149.00000, extent = 0.58696, type = O + area = 11809.00000, perimeter = 433.05399, major_axis_length = 170.87122, minor_axis_length = 89.48264, eccentricity = 0.85191, convex_area = 12129.00000, extent = 0.61743, type = O + area = 15700.00000, perimeter = 505.30301, major_axis_length = 209.98842, minor_axis_length = 96.19489, eccentricity = 0.88890, convex_area = 16040.00000, extent = 0.59007, type = C + area = 10789.00000, perimeter = 413.73999, major_axis_length = 170.51830, minor_axis_length = 81.97903, eccentricity = 0.87685, convex_area = 11016.00000, extent = 0.69054, type = O + area = 11659.00000, perimeter = 429.71500, major_axis_length = 173.34828, minor_axis_length = 87.54778, eccentricity = 0.86310, convex_area = 11912.00000, extent = 0.60876, type = O + area = 11906.00000, perimeter = 433.85599, major_axis_length = 174.29979, minor_axis_length = 88.25261, eccentricity = 0.86234, convex_area = 12179.00000, extent = 0.62085, type = O + area = 13064.00000, perimeter = 469.83600, major_axis_length = 199.55998, minor_axis_length = 84.36462, eccentricity = 0.90624, convex_area = 13382.00000, extent = 0.65642, type = C + area = 13825.00000, perimeter = 483.20001, major_axis_length = 205.75504, minor_axis_length = 86.98260, eccentricity = 0.90625, convex_area = 14023.00000, extent = 0.73958, type = O + area = 15224.00000, perimeter = 510.88199, major_axis_length = 213.19617, minor_axis_length = 92.32341, eccentricity = 0.90137, convex_area = 15686.00000, extent = 0.63953, type = C + area = 13589.00000, perimeter = 483.88400, major_axis_length = 205.35475, minor_axis_length = 85.41032, eccentricity = 0.90940, convex_area = 13883.00000, extent = 0.54574, type = C + area = 11184.00000, perimeter = 419.47501, major_axis_length = 172.62151, minor_axis_length = 83.55089, eccentricity = 0.87506, convex_area = 11347.00000, extent = 0.60865, type = O + area = 10824.00000, perimeter = 416.41501, major_axis_length = 170.87822, minor_axis_length = 81.73240, eccentricity = 0.87819, convex_area = 11046.00000, extent = 0.59051, type = O + area = 10749.00000, perimeter = 412.42499, major_axis_length = 168.11682, minor_axis_length = 82.58827, eccentricity = 0.87102, convex_area = 11012.00000, extent = 0.70810, type = O + area = 16291.00000, perimeter = 523.19299, major_axis_length = 223.25233, minor_axis_length = 93.60416, eccentricity = 0.90786, convex_area = 16595.00000, extent = 0.58116, type = C + area = 10156.00000, perimeter = 409.29001, major_axis_length = 177.74500, minor_axis_length = 73.22963, eccentricity = 0.91119, convex_area = 10327.00000, extent = 0.75180, type = O + area = 12911.00000, perimeter = 446.75400, major_axis_length = 187.87210, minor_axis_length = 88.20014, eccentricity = 0.88295, convex_area = 13071.00000, extent = 0.77108, type = O + area = 11210.00000, perimeter = 428.89200, major_axis_length = 181.87332, minor_axis_length = 79.41141, eccentricity = 0.89964, convex_area = 11456.00000, extent = 0.63173, type = O + area = 10745.00000, perimeter = 422.23300, major_axis_length = 183.70955, minor_axis_length = 75.03774, eccentricity = 0.91278, convex_area = 10883.00000, extent = 0.82230, type = O + area = 9858.00000, perimeter = 388.66699, major_axis_length = 155.12448, minor_axis_length = 81.84178, eccentricity = 0.84950, convex_area = 10101.00000, extent = 0.65654, type = O + area = 13672.00000, perimeter = 467.95499, major_axis_length = 183.55632, minor_axis_length = 97.46873, eccentricity = 0.84737, convex_area = 14027.00000, extent = 0.61586, type = O + area = 12819.00000, perimeter = 472.69000, major_axis_length = 202.34402, minor_axis_length = 81.20731, eccentricity = 0.91593, convex_area = 13137.00000, extent = 0.65396, type = C + area = 10037.00000, perimeter = 395.34000, major_axis_length = 164.24315, minor_axis_length = 78.49976, eccentricity = 0.87839, convex_area = 10210.00000, extent = 0.76490, type = O + area = 13057.00000, perimeter = 445.17700, major_axis_length = 177.80782, minor_axis_length = 94.50707, eccentricity = 0.84705, convex_area = 13348.00000, extent = 0.64336, type = O + area = 15323.00000, perimeter = 487.86600, major_axis_length = 192.23083, minor_axis_length = 102.96283, eccentricity = 0.84446, convex_area = 15769.00000, extent = 0.71369, type = C + area = 11485.00000, perimeter = 419.40500, major_axis_length = 175.86812, minor_axis_length = 83.69998, eccentricity = 0.87949, convex_area = 11610.00000, extent = 0.79985, type = O + area = 10948.00000, perimeter = 408.43900, major_axis_length = 167.17612, minor_axis_length = 83.68789, eccentricity = 0.86568, convex_area = 11132.00000, extent = 0.75467, type = O + area = 13560.00000, perimeter = 479.19901, major_axis_length = 197.55803, minor_axis_length = 88.77229, eccentricity = 0.89336, convex_area = 14033.00000, extent = 0.69177, type = C + area = 12890.00000, perimeter = 462.80200, major_axis_length = 190.34348, minor_axis_length = 87.71856, eccentricity = 0.88748, convex_area = 13227.00000, extent = 0.58570, type = O + area = 14831.00000, perimeter = 493.76099, major_axis_length = 208.26854, minor_axis_length = 91.54232, eccentricity = 0.89822, convex_area = 15099.00000, extent = 0.79023, type = C + area = 13746.00000, perimeter = 483.82001, major_axis_length = 205.84219, minor_axis_length = 86.18869, eccentricity = 0.90812, convex_area = 14060.00000, extent = 0.71594, type = C + area = 15830.00000, perimeter = 516.23199, major_axis_length = 220.81924, minor_axis_length = 92.34399, eccentricity = 0.90836, convex_area = 16074.00000, extent = 0.70144, type = C + area = 15115.00000, perimeter = 492.01599, major_axis_length = 200.45363, minor_axis_length = 97.04861, eccentricity = 0.87499, convex_area = 15411.00000, extent = 0.72383, type = O + area = 12567.00000, perimeter = 453.77200, major_axis_length = 192.22377, minor_axis_length = 83.54118, eccentricity = 0.90062, convex_area = 12778.00000, extent = 0.57536, type = O + area = 15550.00000, perimeter = 505.76300, major_axis_length = 211.37883, minor_axis_length = 94.41613, eccentricity = 0.89470, convex_area = 15896.00000, extent = 0.71884, type = C + area = 16679.00000, perimeter = 528.55200, major_axis_length = 222.77959, minor_axis_length = 96.64007, eccentricity = 0.90101, convex_area = 17006.00000, extent = 0.56917, type = C + area = 12921.00000, perimeter = 476.74600, major_axis_length = 206.22263, minor_axis_length = 80.40368, eccentricity = 0.92086, convex_area = 13218.00000, extent = 0.54692, type = C + area = 10318.00000, perimeter = 413.21100, major_axis_length = 173.16096, minor_axis_length = 76.91557, eccentricity = 0.89593, convex_area = 10614.00000, extent = 0.68196, type = O + area = 10725.00000, perimeter = 411.69101, major_axis_length = 164.60034, minor_axis_length = 84.29297, eccentricity = 0.85892, convex_area = 11009.00000, extent = 0.66615, type = O + area = 11908.00000, perimeter = 447.63400, major_axis_length = 187.82114, minor_axis_length = 81.94851, eccentricity = 0.89980, convex_area = 12287.00000, extent = 0.58031, type = O + area = 10382.00000, perimeter = 405.21301, major_axis_length = 168.42627, minor_axis_length = 78.95872, eccentricity = 0.88330, convex_area = 10599.00000, extent = 0.80182, type = O + area = 16963.00000, perimeter = 536.03302, major_axis_length = 220.32758, minor_axis_length = 99.40977, eccentricity = 0.89243, convex_area = 17467.00000, extent = 0.59208, type = C + area = 10952.00000, perimeter = 421.10501, major_axis_length = 176.87213, minor_axis_length = 79.62229, eccentricity = 0.89294, convex_area = 11105.00000, extent = 0.58101, type = O + area = 12789.00000, perimeter = 454.38901, major_axis_length = 183.62456, minor_axis_length = 89.72113, eccentricity = 0.87250, convex_area = 13114.00000, extent = 0.69505, type = C + area = 11548.00000, perimeter = 433.51300, major_axis_length = 176.97809, minor_axis_length = 84.34711, eccentricity = 0.87912, convex_area = 11821.00000, extent = 0.68816, type = O + area = 14166.00000, perimeter = 483.70499, major_axis_length = 204.62732, minor_axis_length = 88.99236, eccentricity = 0.90048, convex_area = 14412.00000, extent = 0.76606, type = C + area = 9212.00000, perimeter = 384.59601, major_axis_length = 155.83997, minor_axis_length = 76.30696, eccentricity = 0.87192, convex_area = 9453.00000, extent = 0.65965, type = O + area = 14825.00000, perimeter = 499.94000, major_axis_length = 210.27121, minor_axis_length = 91.82391, eccentricity = 0.89961, convex_area = 15274.00000, extent = 0.77472, type = C + area = 15556.00000, perimeter = 510.51001, major_axis_length = 217.10223, minor_axis_length = 92.77322, eccentricity = 0.90410, convex_area = 15781.00000, extent = 0.60742, type = C + area = 11976.00000, perimeter = 444.64401, major_axis_length = 188.98186, minor_axis_length = 81.36696, eccentricity = 0.90256, convex_area = 12149.00000, extent = 0.55801, type = O + area = 15777.00000, perimeter = 515.68402, major_axis_length = 218.69824, minor_axis_length = 93.20509, eccentricity = 0.90464, convex_area = 16111.00000, extent = 0.56719, type = C + area = 13468.00000, perimeter = 470.76300, major_axis_length = 194.47350, minor_axis_length = 89.74107, eccentricity = 0.88716, convex_area = 14022.00000, extent = 0.69184, type = C + area = 11063.00000, perimeter = 418.77499, major_axis_length = 171.65378, minor_axis_length = 83.65955, eccentricity = 0.87319, convex_area = 11318.00000, extent = 0.80341, type = O + area = 10774.00000, perimeter = 401.74200, major_axis_length = 164.32024, minor_axis_length = 83.71887, eccentricity = 0.86048, convex_area = 10944.00000, extent = 0.66179, type = O + area = 14975.00000, perimeter = 508.07800, major_axis_length = 212.55643, minor_axis_length = 91.27477, eccentricity = 0.90311, convex_area = 15482.00000, extent = 0.63138, type = C + area = 10878.00000, perimeter = 423.79300, major_axis_length = 179.84694, minor_axis_length = 77.79790, eccentricity = 0.90160, convex_area = 11015.00000, extent = 0.58016, type = O + area = 14758.00000, perimeter = 500.01001, major_axis_length = 206.28514, minor_axis_length = 92.72487, eccentricity = 0.89328, convex_area = 15166.00000, extent = 0.58240, type = C + area = 14471.00000, perimeter = 491.34201, major_axis_length = 200.41316, minor_axis_length = 92.81940, eccentricity = 0.88629, convex_area = 14736.00000, extent = 0.58597, type = C + area = 13335.00000, perimeter = 474.37701, major_axis_length = 197.83990, minor_axis_length = 87.58254, eccentricity = 0.89667, convex_area = 13702.00000, extent = 0.66702, type = O + area = 11659.00000, perimeter = 442.33801, major_axis_length = 186.14996, minor_axis_length = 81.04517, eccentricity = 0.90025, convex_area = 11974.00000, extent = 0.68907, type = O + area = 13437.00000, perimeter = 476.11301, major_axis_length = 202.82048, minor_axis_length = 85.11242, eccentricity = 0.90769, convex_area = 13700.00000, extent = 0.78414, type = C + area = 14260.00000, perimeter = 501.04099, major_axis_length = 208.83318, minor_axis_length = 88.96316, eccentricity = 0.90472, convex_area = 14737.00000, extent = 0.61318, type = C + area = 15373.00000, perimeter = 489.13101, major_axis_length = 200.14091, minor_axis_length = 98.96591, eccentricity = 0.86919, convex_area = 15617.00000, extent = 0.77641, type = C + area = 10968.00000, perimeter = 406.79401, major_axis_length = 161.51013, minor_axis_length = 87.89693, eccentricity = 0.83894, convex_area = 11184.00000, extent = 0.69374, type = O + area = 13762.00000, perimeter = 481.76999, major_axis_length = 205.04079, minor_axis_length = 86.93547, eccentricity = 0.90567, convex_area = 14101.00000, extent = 0.75549, type = C + area = 11741.00000, perimeter = 445.98001, major_axis_length = 184.41626, minor_axis_length = 82.47528, eccentricity = 0.89442, convex_area = 12215.00000, extent = 0.57039, type = O + area = 14434.00000, perimeter = 486.66800, major_axis_length = 201.27196, minor_axis_length = 92.73377, eccentricity = 0.88754, convex_area = 14754.00000, extent = 0.62599, type = C + area = 13450.00000, perimeter = 465.39801, major_axis_length = 193.37497, minor_axis_length = 89.50690, eccentricity = 0.88643, convex_area = 13661.00000, extent = 0.61579, type = C + area = 11912.00000, perimeter = 439.63599, major_axis_length = 179.97760, minor_axis_length = 85.30270, eccentricity = 0.88054, convex_area = 12222.00000, extent = 0.60396, type = O + area = 11537.00000, perimeter = 428.38699, major_axis_length = 177.81396, minor_axis_length = 83.65266, eccentricity = 0.88243, convex_area = 11733.00000, extent = 0.74500, type = O + area = 13043.00000, perimeter = 442.49799, major_axis_length = 173.80363, minor_axis_length = 96.69751, eccentricity = 0.83094, convex_area = 13278.00000, extent = 0.64765, type = O + area = 12232.00000, perimeter = 440.40302, major_axis_length = 175.67868, minor_axis_length = 90.06195, eccentricity = 0.85860, convex_area = 12525.00000, extent = 0.77251, type = O + area = 12990.00000, perimeter = 469.48001, major_axis_length = 200.51541, minor_axis_length = 83.43035, eccentricity = 0.90933, convex_area = 13214.00000, extent = 0.70121, type = C + area = 15147.00000, perimeter = 510.01599, major_axis_length = 213.15617, minor_axis_length = 91.69269, eccentricity = 0.90275, convex_area = 15719.00000, extent = 0.58874, type = C + area = 13446.00000, perimeter = 476.04199, major_axis_length = 200.05267, minor_axis_length = 86.59048, eccentricity = 0.90147, convex_area = 13814.00000, extent = 0.60393, type = C + area = 13895.00000, perimeter = 488.25299, major_axis_length = 207.03448, minor_axis_length = 86.16099, eccentricity = 0.90929, convex_area = 14228.00000, extent = 0.78291, type = C + area = 11433.00000, perimeter = 426.92499, major_axis_length = 175.86852, minor_axis_length = 84.19808, eccentricity = 0.87795, convex_area = 11719.00000, extent = 0.60752, type = O + area = 12906.00000, perimeter = 449.79099, major_axis_length = 180.67589, minor_axis_length = 92.46822, eccentricity = 0.85911, convex_area = 13278.00000, extent = 0.63592, type = O + area = 13607.00000, perimeter = 482.81799, major_axis_length = 202.84724, minor_axis_length = 86.15414, eccentricity = 0.90532, convex_area = 13901.00000, extent = 0.55684, type = C + area = 12465.00000, perimeter = 445.06699, major_axis_length = 177.52953, minor_axis_length = 91.50624, eccentricity = 0.85692, convex_area = 12882.00000, extent = 0.76117, type = O + area = 13166.00000, perimeter = 465.96701, major_axis_length = 195.90541, minor_axis_length = 86.00590, eccentricity = 0.89848, convex_area = 13383.00000, extent = 0.65800, type = O + area = 16022.00000, perimeter = 524.87299, major_axis_length = 221.52705, minor_axis_length = 93.63528, eccentricity = 0.90628, convex_area = 16545.00000, extent = 0.54224, type = C + area = 11718.00000, perimeter = 449.34399, major_axis_length = 189.14067, minor_axis_length = 80.11982, eccentricity = 0.90585, convex_area = 12133.00000, extent = 0.63054, type = C + area = 11342.00000, perimeter = 429.78101, major_axis_length = 179.13814, minor_axis_length = 81.86805, eccentricity = 0.88946, convex_area = 11532.00000, extent = 0.57894, type = O + area = 11875.00000, perimeter = 429.94901, major_axis_length = 173.69348, minor_axis_length = 88.04171, eccentricity = 0.86202, convex_area = 12128.00000, extent = 0.78445, type = O + area = 9483.00000, perimeter = 390.99799, major_axis_length = 157.25992, minor_axis_length = 78.63333, eccentricity = 0.86601, convex_area = 9817.00000, extent = 0.65786, type = O + area = 15500.00000, perimeter = 502.32101, major_axis_length = 213.36700, minor_axis_length = 93.55457, eccentricity = 0.89875, convex_area = 15724.00000, extent = 0.81497, type = C + area = 11874.00000, perimeter = 433.84399, major_axis_length = 176.61125, minor_axis_length = 87.04949, eccentricity = 0.87009, convex_area = 12138.00000, extent = 0.73441, type = C + area = 10567.00000, perimeter = 398.59201, major_axis_length = 161.45715, minor_axis_length = 83.76702, eccentricity = 0.85488, convex_area = 10720.00000, extent = 0.64112, type = O + area = 12886.00000, perimeter = 463.90302, major_axis_length = 193.87659, minor_axis_length = 85.47774, eccentricity = 0.89756, convex_area = 13196.00000, extent = 0.59525, type = C + area = 11725.00000, perimeter = 427.14001, major_axis_length = 174.79402, minor_axis_length = 86.76220, eccentricity = 0.86811, convex_area = 11954.00000, extent = 0.63426, type = O + area = 12992.00000, perimeter = 458.89401, major_axis_length = 183.42082, minor_axis_length = 92.05144, eccentricity = 0.86495, convex_area = 13372.00000, extent = 0.77592, type = O + area = 12347.00000, perimeter = 452.29001, major_axis_length = 186.89604, minor_axis_length = 85.22990, eccentricity = 0.88997, convex_area = 12659.00000, extent = 0.60525, type = O + area = 11678.00000, perimeter = 423.67599, major_axis_length = 173.41394, minor_axis_length = 86.46707, eccentricity = 0.86682, convex_area = 11839.00000, extent = 0.62110, type = O + area = 10694.00000, perimeter = 405.67700, major_axis_length = 163.36748, minor_axis_length = 84.68367, eccentricity = 0.85516, convex_area = 10891.00000, extent = 0.75014, type = O + area = 15149.00000, perimeter = 509.13699, major_axis_length = 214.00746, minor_axis_length = 91.28373, eccentricity = 0.90447, convex_area = 15516.00000, extent = 0.70710, type = C + area = 14805.00000, perimeter = 484.63199, major_axis_length = 202.98024, minor_axis_length = 93.69647, eccentricity = 0.88709, convex_area = 15090.00000, extent = 0.78420, type = C + area = 15071.00000, perimeter = 494.13501, major_axis_length = 200.59483, minor_axis_length = 97.39329, eccentricity = 0.87422, convex_area = 15575.00000, extent = 0.68921, type = C + area = 11940.00000, perimeter = 423.67499, major_axis_length = 168.63402, minor_axis_length = 91.36427, eccentricity = 0.84051, convex_area = 12191.00000, extent = 0.66400, type = O + area = 12161.00000, perimeter = 430.58701, major_axis_length = 171.62476, minor_axis_length = 92.09138, eccentricity = 0.84385, convex_area = 12460.00000, extent = 0.68870, type = O + area = 12712.00000, perimeter = 470.56201, major_axis_length = 202.19714, minor_axis_length = 81.30088, eccentricity = 0.91560, convex_area = 13053.00000, extent = 0.81487, type = C + area = 11774.00000, perimeter = 433.72900, major_axis_length = 180.27849, minor_axis_length = 84.22351, eccentricity = 0.88416, convex_area = 12036.00000, extent = 0.79770, type = O + area = 12975.00000, perimeter = 463.85101, major_axis_length = 196.42397, minor_axis_length = 85.06412, eccentricity = 0.90136, convex_area = 13358.00000, extent = 0.60913, type = C + area = 12663.00000, perimeter = 441.28799, major_axis_length = 180.87674, minor_axis_length = 89.98505, eccentricity = 0.86747, convex_area = 12833.00000, extent = 0.71644, type = O + area = 14013.00000, perimeter = 480.83099, major_axis_length = 191.84508, minor_axis_length = 94.87569, eccentricity = 0.86915, convex_area = 14622.00000, extent = 0.62592, type = C + area = 13722.00000, perimeter = 482.34299, major_axis_length = 202.27818, minor_axis_length = 87.75389, eccentricity = 0.90100, convex_area = 14189.00000, extent = 0.60567, type = C + area = 12526.00000, perimeter = 441.32999, major_axis_length = 179.24625, minor_axis_length = 90.15468, eccentricity = 0.86431, convex_area = 12768.00000, extent = 0.71889, type = O + area = 10986.00000, perimeter = 425.12701, major_axis_length = 172.67883, minor_axis_length = 83.54909, eccentricity = 0.87516, convex_area = 11450.00000, extent = 0.72992, type = O + area = 11502.00000, perimeter = 423.83200, major_axis_length = 167.89209, minor_axis_length = 88.34924, eccentricity = 0.85034, convex_area = 11770.00000, extent = 0.62760, type = O + area = 10198.00000, perimeter = 400.19501, major_axis_length = 166.59412, minor_axis_length = 78.23194, eccentricity = 0.88288, convex_area = 10351.00000, extent = 0.62499, type = O + area = 11317.00000, perimeter = 420.15302, major_axis_length = 169.62474, minor_axis_length = 86.44434, eccentricity = 0.86040, convex_area = 11479.00000, extent = 0.61349, type = O + area = 10634.00000, perimeter = 409.50601, major_axis_length = 167.43697, minor_axis_length = 81.81296, eccentricity = 0.87250, convex_area = 10809.00000, extent = 0.68377, type = O + area = 12745.00000, perimeter = 470.30399, major_axis_length = 205.09268, minor_axis_length = 79.50904, eccentricity = 0.92180, convex_area = 12940.00000, extent = 0.53317, type = C + area = 15551.00000, perimeter = 515.78400, major_axis_length = 215.08974, minor_axis_length = 93.75079, eccentricity = 0.90001, convex_area = 15908.00000, extent = 0.56566, type = C + area = 11962.00000, perimeter = 440.54501, major_axis_length = 181.72340, minor_axis_length = 85.19718, eccentricity = 0.88329, convex_area = 12283.00000, extent = 0.62286, type = O + area = 12609.00000, perimeter = 475.35999, major_axis_length = 202.75441, minor_axis_length = 81.27372, eccentricity = 0.91614, convex_area = 13210.00000, extent = 0.70694, type = C + area = 14566.00000, perimeter = 498.02600, major_axis_length = 208.22543, minor_axis_length = 90.54054, eccentricity = 0.90052, convex_area = 14927.00000, extent = 0.56083, type = C + area = 10647.00000, perimeter = 411.13300, major_axis_length = 170.06084, minor_axis_length = 80.81935, eccentricity = 0.87986, convex_area = 10829.00000, extent = 0.80659, type = O + area = 13289.00000, perimeter = 467.31500, major_axis_length = 194.88419, minor_axis_length = 87.81412, eccentricity = 0.89273, convex_area = 13628.00000, extent = 0.69540, type = C + area = 12452.00000, perimeter = 445.07901, major_axis_length = 179.02614, minor_axis_length = 89.89113, eccentricity = 0.86480, convex_area = 12710.00000, extent = 0.61797, type = O + area = 11411.00000, perimeter = 429.10101, major_axis_length = 175.35614, minor_axis_length = 83.65203, eccentricity = 0.87888, convex_area = 11636.00000, extent = 0.59806, type = O + area = 11166.00000, perimeter = 414.89001, major_axis_length = 165.73878, minor_axis_length = 87.03056, eccentricity = 0.85104, convex_area = 11478.00000, extent = 0.67095, type = O + area = 14115.00000, perimeter = 483.78000, major_axis_length = 206.84187, minor_axis_length = 88.06865, eccentricity = 0.90483, convex_area = 14312.00000, extent = 0.74766, type = C + area = 12042.00000, perimeter = 440.70001, major_axis_length = 177.11136, minor_axis_length = 88.22966, eccentricity = 0.86709, convex_area = 12424.00000, extent = 0.75169, type = O + area = 11969.00000, perimeter = 431.12900, major_axis_length = 177.24332, minor_axis_length = 86.83843, eccentricity = 0.87176, convex_area = 12135.00000, extent = 0.60279, type = O + area = 14011.00000, perimeter = 493.87900, major_axis_length = 212.63031, minor_axis_length = 85.02821, eccentricity = 0.91656, convex_area = 14336.00000, extent = 0.62799, type = C + area = 10475.00000, perimeter = 410.99399, major_axis_length = 170.85870, minor_axis_length = 79.55013, eccentricity = 0.88500, convex_area = 10739.00000, extent = 0.79092, type = O + area = 10025.00000, perimeter = 400.51099, major_axis_length = 167.56352, minor_axis_length = 77.07865, eccentricity = 0.88792, convex_area = 10181.00000, extent = 0.59503, type = O + area = 13893.00000, perimeter = 474.13400, major_axis_length = 200.73592, minor_axis_length = 89.16997, eccentricity = 0.89592, convex_area = 14123.00000, extent = 0.56934, type = C + area = 11226.00000, perimeter = 416.08200, major_axis_length = 166.27264, minor_axis_length = 87.09694, eccentricity = 0.85183, convex_area = 11515.00000, extent = 0.63546, type = O + area = 13023.00000, perimeter = 480.44800, major_axis_length = 205.31209, minor_axis_length = 82.03385, eccentricity = 0.91671, convex_area = 13444.00000, extent = 0.63243, type = C + area = 14517.00000, perimeter = 495.61499, major_axis_length = 211.80283, minor_axis_length = 88.03250, eccentricity = 0.90953, convex_area = 14815.00000, extent = 0.68752, type = C + area = 17079.00000, perimeter = 520.45001, major_axis_length = 216.15999, minor_axis_length = 101.76250, eccentricity = 0.88225, convex_area = 17418.00000, extent = 0.79437, type = C + area = 10355.00000, perimeter = 402.66800, major_axis_length = 159.89142, minor_axis_length = 83.47418, eccentricity = 0.85290, convex_area = 10621.00000, extent = 0.63606, type = O + area = 13710.00000, perimeter = 467.40500, major_axis_length = 193.88870, minor_axis_length = 90.85185, eccentricity = 0.88342, convex_area = 13915.00000, extent = 0.72887, type = O + area = 13273.00000, perimeter = 463.33301, major_axis_length = 197.45279, minor_axis_length = 85.99747, eccentricity = 0.90017, convex_area = 13462.00000, extent = 0.58582, type = C + area = 16005.00000, perimeter = 518.89301, major_axis_length = 221.21553, minor_axis_length = 93.13296, eccentricity = 0.90706, convex_area = 16343.00000, extent = 0.55104, type = C + area = 14569.00000, perimeter = 500.36899, major_axis_length = 216.66966, minor_axis_length = 86.45754, eccentricity = 0.91694, convex_area = 14801.00000, extent = 0.80670, type = C + area = 16788.00000, perimeter = 533.48798, major_axis_length = 230.12933, minor_axis_length = 93.76288, eccentricity = 0.91323, convex_area = 17041.00000, extent = 0.57268, type = C + area = 12244.00000, perimeter = 455.27499, major_axis_length = 192.50739, minor_axis_length = 81.42862, eccentricity = 0.90613, convex_area = 12480.00000, extent = 0.57524, type = C + area = 14590.00000, perimeter = 496.17200, major_axis_length = 212.10075, minor_axis_length = 88.60241, eccentricity = 0.90857, convex_area = 14883.00000, extent = 0.57148, type = C + area = 12478.00000, perimeter = 439.22198, major_axis_length = 176.34395, minor_axis_length = 91.28975, eccentricity = 0.85557, convex_area = 12754.00000, extent = 0.63582, type = O + area = 12140.00000, perimeter = 441.49899, major_axis_length = 182.43399, minor_axis_length = 85.49819, eccentricity = 0.88338, convex_area = 12358.00000, extent = 0.58961, type = O + area = 9762.00000, perimeter = 397.24899, major_axis_length = 161.86630, minor_axis_length = 78.29550, eccentricity = 0.87523, convex_area = 10126.00000, extent = 0.74862, type = O + area = 15232.00000, perimeter = 508.81699, major_axis_length = 216.76291, minor_axis_length = 90.63309, eccentricity = 0.90839, convex_area = 15603.00000, extent = 0.59082, type = C + area = 10527.00000, perimeter = 408.97800, major_axis_length = 170.89001, minor_axis_length = 79.37978, eccentricity = 0.88557, convex_area = 10692.00000, extent = 0.65102, type = O + area = 12431.00000, perimeter = 437.65701, major_axis_length = 178.19420, minor_axis_length = 89.48652, eccentricity = 0.86476, convex_area = 12657.00000, extent = 0.73556, type = O + area = 13617.00000, perimeter = 465.00299, major_axis_length = 189.25548, minor_axis_length = 92.44891, eccentricity = 0.87257, convex_area = 13872.00000, extent = 0.61613, type = O + area = 13328.00000, perimeter = 473.04401, major_axis_length = 201.39886, minor_axis_length = 85.25861, eccentricity = 0.90597, convex_area = 13588.00000, extent = 0.78010, type = C + area = 10335.00000, perimeter = 416.85001, major_axis_length = 178.79919, minor_axis_length = 74.70861, eccentricity = 0.90852, convex_area = 10504.00000, extent = 0.71153, type = O + area = 16138.00000, perimeter = 531.05902, major_axis_length = 224.34721, minor_axis_length = 92.94733, eccentricity = 0.91014, convex_area = 16482.00000, extent = 0.53966, type = C + area = 11271.00000, perimeter = 404.46399, major_axis_length = 158.98883, minor_axis_length = 91.34058, eccentricity = 0.81850, convex_area = 11462.00000, extent = 0.67010, type = O + area = 15676.00000, perimeter = 511.66599, major_axis_length = 215.81372, minor_axis_length = 93.56567, eccentricity = 0.90113, convex_area = 16016.00000, extent = 0.77928, type = C + area = 12574.00000, perimeter = 466.51999, major_axis_length = 197.86324, minor_axis_length = 81.88799, eccentricity = 0.91034, convex_area = 12902.00000, extent = 0.66179, type = O + area = 14828.00000, perimeter = 493.50000, major_axis_length = 209.90356, minor_axis_length = 90.66991, eccentricity = 0.90189, convex_area = 15090.00000, extent = 0.60651, type = C + area = 12445.00000, perimeter = 440.57700, major_axis_length = 184.65521, minor_axis_length = 86.31020, eccentricity = 0.88404, convex_area = 12597.00000, extent = 0.67230, type = O + area = 11050.00000, perimeter = 416.41901, major_axis_length = 168.31764, minor_axis_length = 85.25598, eccentricity = 0.86223, convex_area = 11323.00000, extent = 0.69175, type = O + area = 13241.00000, perimeter = 466.98999, major_axis_length = 193.54422, minor_axis_length = 88.05835, eccentricity = 0.89050, convex_area = 13577.00000, extent = 0.57765, type = C + area = 16376.00000, perimeter = 531.00098, major_axis_length = 227.94485, minor_axis_length = 92.66852, eccentricity = 0.91363, convex_area = 16667.00000, extent = 0.74177, type = C + area = 14750.00000, perimeter = 484.15201, major_axis_length = 201.24701, minor_axis_length = 94.85915, eccentricity = 0.88194, convex_area = 14967.00000, extent = 0.78067, type = C + area = 14570.00000, perimeter = 469.98199, major_axis_length = 185.40146, minor_axis_length = 100.88792, eccentricity = 0.83898, convex_area = 14895.00000, extent = 0.65454, type = C + area = 16259.00000, perimeter = 522.62201, major_axis_length = 215.50919, minor_axis_length = 97.42146, eccentricity = 0.89199, convex_area = 16728.00000, extent = 0.58435, type = C + area = 15977.00000, perimeter = 516.20898, major_axis_length = 216.75784, minor_axis_length = 94.92934, eccentricity = 0.89900, convex_area = 16401.00000, extent = 0.62751, type = C + area = 15526.00000, perimeter = 514.39099, major_axis_length = 216.91858, minor_axis_length = 91.82958, eccentricity = 0.90597, convex_area = 15936.00000, extent = 0.58085, type = C + area = 11862.00000, perimeter = 436.29999, major_axis_length = 177.20021, minor_axis_length = 86.44499, eccentricity = 0.87293, convex_area = 12146.00000, extent = 0.76156, type = O + area = 13263.00000, perimeter = 487.89099, major_axis_length = 214.42804, minor_axis_length = 79.64110, eccentricity = 0.92847, convex_area = 13491.00000, extent = 0.67445, type = C + area = 12104.00000, perimeter = 441.77499, major_axis_length = 182.46213, minor_axis_length = 85.51347, eccentricity = 0.88338, convex_area = 12378.00000, extent = 0.73913, type = C + area = 12075.00000, perimeter = 430.47101, major_axis_length = 176.18282, minor_axis_length = 88.51406, eccentricity = 0.86464, convex_area = 12248.00000, extent = 0.80233, type = O + area = 11661.00000, perimeter = 418.01501, major_axis_length = 168.95514, minor_axis_length = 88.93134, eccentricity = 0.85026, convex_area = 11819.00000, extent = 0.78929, type = O + area = 12162.00000, perimeter = 454.77600, major_axis_length = 191.12080, minor_axis_length = 82.31743, eccentricity = 0.90249, convex_area = 12493.00000, extent = 0.74522, type = C + area = 12859.00000, perimeter = 445.01001, major_axis_length = 184.30518, minor_axis_length = 89.47381, eccentricity = 0.87426, convex_area = 13030.00000, extent = 0.71044, type = C + area = 12152.00000, perimeter = 454.21201, major_axis_length = 198.89960, minor_axis_length = 78.32301, eccentricity = 0.91920, convex_area = 12338.00000, extent = 0.78547, type = O + area = 10898.00000, perimeter = 414.81100, major_axis_length = 170.23534, minor_axis_length = 82.55314, eccentricity = 0.87455, convex_area = 11094.00000, extent = 0.60273, type = O + area = 10829.00000, perimeter = 404.75101, major_axis_length = 160.11789, minor_axis_length = 87.50862, eccentricity = 0.83744, convex_area = 11138.00000, extent = 0.72145, type = O + area = 13569.00000, perimeter = 490.54199, major_axis_length = 209.84949, minor_axis_length = 83.40636, eccentricity = 0.91762, convex_area = 14061.00000, extent = 0.53004, type = C + area = 10826.00000, perimeter = 414.22299, major_axis_length = 168.25279, minor_axis_length = 82.88859, eccentricity = 0.87023, convex_area = 11040.00000, extent = 0.61550, type = O + area = 14142.00000, perimeter = 470.71301, major_axis_length = 180.69858, minor_axis_length = 101.76226, eccentricity = 0.82635, convex_area = 14709.00000, extent = 0.70274, type = O + area = 13158.00000, perimeter = 470.99600, major_axis_length = 201.01839, minor_axis_length = 84.50301, eccentricity = 0.90735, convex_area = 13462.00000, extent = 0.61978, type = C + area = 12172.00000, perimeter = 433.59799, major_axis_length = 174.29941, minor_axis_length = 90.69495, eccentricity = 0.85396, convex_area = 12401.00000, extent = 0.63845, type = O + area = 16412.00000, perimeter = 515.11499, major_axis_length = 208.69455, minor_axis_length = 101.94176, eccentricity = 0.87258, convex_area = 16857.00000, extent = 0.77379, type = C + area = 14577.00000, perimeter = 489.90799, major_axis_length = 204.84602, minor_axis_length = 91.23347, eccentricity = 0.89534, convex_area = 14870.00000, extent = 0.78140, type = C + area = 13104.00000, perimeter = 476.98901, major_axis_length = 202.42511, minor_axis_length = 83.61329, eccentricity = 0.91070, convex_area = 13464.00000, extent = 0.53882, type = C + area = 13586.00000, perimeter = 467.02399, major_axis_length = 191.15112, minor_axis_length = 91.84377, eccentricity = 0.87701, convex_area = 13888.00000, extent = 0.79871, type = O + area = 11898.00000, perimeter = 420.77899, major_axis_length = 166.07846, minor_axis_length = 92.47578, eccentricity = 0.83063, convex_area = 12133.00000, extent = 0.76250, type = O + area = 11319.00000, perimeter = 414.01401, major_axis_length = 164.78081, minor_axis_length = 88.50933, eccentricity = 0.84350, convex_area = 11563.00000, extent = 0.74669, type = O + area = 12599.00000, perimeter = 455.28101, major_axis_length = 188.01591, minor_axis_length = 86.37449, eccentricity = 0.88823, convex_area = 12897.00000, extent = 0.62125, type = C + area = 14015.00000, perimeter = 475.72400, major_axis_length = 195.32164, minor_axis_length = 92.48479, eccentricity = 0.88079, convex_area = 14492.00000, extent = 0.74862, type = C + area = 13919.00000, perimeter = 472.22800, major_axis_length = 194.68640, minor_axis_length = 91.62576, eccentricity = 0.88233, convex_area = 14169.00000, extent = 0.70139, type = C + area = 11298.00000, perimeter = 436.65601, major_axis_length = 183.29942, minor_axis_length = 79.59326, eccentricity = 0.90080, convex_area = 11650.00000, extent = 0.72581, type = O + area = 11710.00000, perimeter = 424.49100, major_axis_length = 173.79004, minor_axis_length = 86.49895, eccentricity = 0.86734, convex_area = 11880.00000, extent = 0.73279, type = O + area = 16254.00000, perimeter = 532.77802, major_axis_length = 223.54863, minor_axis_length = 94.11950, eccentricity = 0.90705, convex_area = 16680.00000, extent = 0.55369, type = C + area = 12417.00000, perimeter = 455.08301, major_axis_length = 187.29521, minor_axis_length = 85.61137, eccentricity = 0.88942, convex_area = 12851.00000, extent = 0.65876, type = C + area = 12685.00000, perimeter = 468.59601, major_axis_length = 199.65999, minor_axis_length = 82.19839, eccentricity = 0.91132, convex_area = 13042.00000, extent = 0.69591, type = C + area = 11626.00000, perimeter = 420.78900, major_axis_length = 168.46971, minor_axis_length = 89.07520, eccentricity = 0.84879, convex_area = 11857.00000, extent = 0.63634, type = O + area = 11577.00000, perimeter = 418.76001, major_axis_length = 168.28864, minor_axis_length = 89.30425, eccentricity = 0.84758, convex_area = 11746.00000, extent = 0.80609, type = O + area = 13204.00000, perimeter = 473.81601, major_axis_length = 203.77466, minor_axis_length = 83.10990, eccentricity = 0.91305, convex_area = 13430.00000, extent = 0.59307, type = C + area = 17437.00000, perimeter = 536.89899, major_axis_length = 230.25746, minor_axis_length = 97.31148, eccentricity = 0.90631, convex_area = 17650.00000, extent = 0.75915, type = C + area = 11852.00000, perimeter = 446.07700, major_axis_length = 192.05428, minor_axis_length = 79.09919, eccentricity = 0.91125, convex_area = 12029.00000, extent = 0.71700, type = C + area = 15742.00000, perimeter = 499.98199, major_axis_length = 209.39420, minor_axis_length = 96.45911, eccentricity = 0.88758, convex_area = 15950.00000, extent = 0.75661, type = C + area = 13130.00000, perimeter = 463.27802, major_axis_length = 184.31396, minor_axis_length = 91.93474, eccentricity = 0.86672, convex_area = 13485.00000, extent = 0.71038, type = O + area = 15073.00000, perimeter = 498.36200, major_axis_length = 205.80310, minor_axis_length = 93.99628, eccentricity = 0.88961, convex_area = 15476.00000, extent = 0.61392, type = C + area = 12095.00000, perimeter = 444.03400, major_axis_length = 186.06767, minor_axis_length = 83.80881, eccentricity = 0.89282, convex_area = 12290.00000, extent = 0.69994, type = O + area = 9903.00000, perimeter = 398.66800, major_axis_length = 163.00584, minor_axis_length = 79.13223, eccentricity = 0.87426, convex_area = 10152.00000, extent = 0.59442, type = O + area = 11300.00000, perimeter = 415.47299, major_axis_length = 166.07297, minor_axis_length = 87.74008, eccentricity = 0.84904, convex_area = 11579.00000, extent = 0.61263, type = O + area = 14592.00000, perimeter = 494.44000, major_axis_length = 212.67998, minor_axis_length = 88.28739, eccentricity = 0.90977, convex_area = 14838.00000, extent = 0.74563, type = C + area = 13109.00000, perimeter = 457.17001, major_axis_length = 195.07042, minor_axis_length = 86.00751, eccentricity = 0.89755, convex_area = 13271.00000, extent = 0.59927, type = O + area = 12013.00000, perimeter = 458.35901, major_axis_length = 195.08231, minor_axis_length = 79.64271, eccentricity = 0.91287, convex_area = 12330.00000, extent = 0.61017, type = O + area = 15779.00000, perimeter = 506.37701, major_axis_length = 209.40489, minor_axis_length = 97.43090, eccentricity = 0.88517, convex_area = 16201.00000, extent = 0.61946, type = C + area = 10770.00000, perimeter = 405.50400, major_axis_length = 158.72882, minor_axis_length = 87.61263, eccentricity = 0.83387, convex_area = 11097.00000, extent = 0.66605, type = O + area = 14759.00000, perimeter = 493.80399, major_axis_length = 207.78458, minor_axis_length = 91.68565, eccentricity = 0.89738, convex_area = 15106.00000, extent = 0.70587, type = C + area = 12161.00000, perimeter = 448.59201, major_axis_length = 186.40129, minor_axis_length = 84.41882, eccentricity = 0.89157, convex_area = 12453.00000, extent = 0.60784, type = O + area = 10574.00000, perimeter = 411.11899, major_axis_length = 170.14017, minor_axis_length = 79.77427, eccentricity = 0.88327, convex_area = 10782.00000, extent = 0.68707, type = O + area = 11291.00000, perimeter = 432.64600, major_axis_length = 177.01273, minor_axis_length = 82.56719, eccentricity = 0.88455, convex_area = 11586.00000, extent = 0.65266, type = O + area = 13002.00000, perimeter = 460.12701, major_axis_length = 191.42421, minor_axis_length = 87.77464, eccentricity = 0.88868, convex_area = 13325.00000, extent = 0.67945, type = C + area = 11797.00000, perimeter = 451.95999, major_axis_length = 195.59366, minor_axis_length = 77.40121, eccentricity = 0.91837, convex_area = 11988.00000, extent = 0.57015, type = C + area = 15534.00000, perimeter = 521.92999, major_axis_length = 221.58566, minor_axis_length = 90.55495, eccentricity = 0.91268, convex_area = 16187.00000, extent = 0.70834, type = C + area = 12084.00000, perimeter = 433.50500, major_axis_length = 171.52261, minor_axis_length = 91.32996, eccentricity = 0.84645, convex_area = 12356.00000, extent = 0.70174, type = O + area = 13397.00000, perimeter = 474.86499, major_axis_length = 200.54626, minor_axis_length = 86.39674, eccentricity = 0.90244, convex_area = 13762.00000, extent = 0.69404, type = C + area = 12279.00000, perimeter = 455.41501, major_axis_length = 191.65334, minor_axis_length = 82.47570, eccentricity = 0.90267, convex_area = 12549.00000, extent = 0.59204, type = O + area = 13632.00000, perimeter = 485.93701, major_axis_length = 205.21495, minor_axis_length = 85.83135, eccentricity = 0.90833, convex_area = 13905.00000, extent = 0.55012, type = C + area = 13173.00000, perimeter = 467.47601, major_axis_length = 194.67645, minor_axis_length = 87.36396, eccentricity = 0.89365, convex_area = 13443.00000, extent = 0.57316, type = C + area = 10870.00000, perimeter = 414.27802, major_axis_length = 164.70441, minor_axis_length = 85.40578, eccentricity = 0.85505, convex_area = 11183.00000, extent = 0.66159, type = O + area = 12224.00000, perimeter = 438.97601, major_axis_length = 177.13861, minor_axis_length = 88.43137, eccentricity = 0.86647, convex_area = 12445.00000, extent = 0.60626, type = O + area = 12469.00000, perimeter = 446.84100, major_axis_length = 191.38666, minor_axis_length = 83.25488, eccentricity = 0.90043, convex_area = 12625.00000, extent = 0.59145, type = O + area = 11108.00000, perimeter = 416.83401, major_axis_length = 166.33659, minor_axis_length = 86.45924, eccentricity = 0.85430, convex_area = 11420.00000, extent = 0.68001, type = O + area = 15460.00000, perimeter = 507.07700, major_axis_length = 213.57233, minor_axis_length = 93.55610, eccentricity = 0.89895, convex_area = 15819.00000, extent = 0.58221, type = C + area = 12291.00000, perimeter = 440.95700, major_axis_length = 186.18777, minor_axis_length = 84.68074, eccentricity = 0.89059, convex_area = 12476.00000, extent = 0.73017, type = C + area = 10604.00000, perimeter = 425.92599, major_axis_length = 179.15118, minor_axis_length = 76.35169, eccentricity = 0.90464, convex_area = 10830.00000, extent = 0.57490, type = C + area = 11956.00000, perimeter = 438.89600, major_axis_length = 184.64371, minor_axis_length = 83.21842, eccentricity = 0.89268, convex_area = 12121.00000, extent = 0.57703, type = C + area = 12854.00000, perimeter = 474.13800, major_axis_length = 202.19571, minor_axis_length = 81.74696, eccentricity = 0.91463, convex_area = 13242.00000, extent = 0.64328, type = C + area = 16933.00000, perimeter = 521.92200, major_axis_length = 221.33298, minor_axis_length = 98.09830, eccentricity = 0.89641, convex_area = 17212.00000, extent = 0.77674, type = C + area = 11611.00000, perimeter = 431.27301, major_axis_length = 178.51395, minor_axis_length = 84.11252, eccentricity = 0.88204, convex_area = 11775.00000, extent = 0.69191, type = O + area = 15248.00000, perimeter = 509.00299, major_axis_length = 217.99248, minor_axis_length = 90.10747, eccentricity = 0.91057, convex_area = 15557.00000, extent = 0.73534, type = C + area = 15936.00000, perimeter = 522.76703, major_axis_length = 224.61751, minor_axis_length = 91.12374, eccentricity = 0.91401, convex_area = 16298.00000, extent = 0.60908, type = C + area = 12089.00000, perimeter = 439.49200, major_axis_length = 183.57666, minor_axis_length = 84.69468, eccentricity = 0.88721, convex_area = 12302.00000, extent = 0.81451, type = C + area = 13737.00000, perimeter = 484.38501, major_axis_length = 209.54352, minor_axis_length = 84.16575, eccentricity = 0.91579, convex_area = 13944.00000, extent = 0.60521, type = C + area = 9961.00000, perimeter = 397.92999, major_axis_length = 166.00798, minor_axis_length = 77.44359, eccentricity = 0.88452, convex_area = 10130.00000, extent = 0.62798, type = O + area = 14851.00000, perimeter = 517.34698, major_axis_length = 217.69839, minor_axis_length = 88.81025, eccentricity = 0.91300, convex_area = 15256.00000, extent = 0.72806, type = C + area = 13443.00000, perimeter = 459.73099, major_axis_length = 188.01236, minor_axis_length = 92.69482, eccentricity = 0.87002, convex_area = 13707.00000, extent = 0.74201, type = O + area = 12070.00000, perimeter = 444.45499, major_axis_length = 183.93947, minor_axis_length = 85.08071, eccentricity = 0.88659, convex_area = 12400.00000, extent = 0.68192, type = O + area = 15813.00000, perimeter = 495.26801, major_axis_length = 203.79468, minor_axis_length = 99.68769, eccentricity = 0.87220, convex_area = 16095.00000, extent = 0.73525, type = C + area = 11997.00000, perimeter = 429.66000, major_axis_length = 170.99939, minor_axis_length = 90.55362, eccentricity = 0.84828, convex_area = 12253.00000, extent = 0.74636, type = O + area = 15009.00000, perimeter = 502.48801, major_axis_length = 211.09036, minor_axis_length = 91.76154, eccentricity = 0.90057, convex_area = 15370.00000, extent = 0.61575, type = C + area = 11381.00000, perimeter = 434.31799, major_axis_length = 174.86369, minor_axis_length = 85.03392, eccentricity = 0.87380, convex_area = 11692.00000, extent = 0.60185, type = O + area = 12618.00000, perimeter = 457.89801, major_axis_length = 193.81572, minor_axis_length = 83.47736, eccentricity = 0.90249, convex_area = 12851.00000, extent = 0.58223, type = C + area = 13439.00000, perimeter = 477.75000, major_axis_length = 199.38161, minor_axis_length = 87.62737, eccentricity = 0.89824, convex_area = 13852.00000, extent = 0.75124, type = C + area = 11088.00000, perimeter = 430.58701, major_axis_length = 184.72202, minor_axis_length = 77.01331, eccentricity = 0.90895, convex_area = 11263.00000, extent = 0.62836, type = O + area = 10222.00000, perimeter = 423.49701, major_axis_length = 182.80025, minor_axis_length = 72.12430, eccentricity = 0.91887, convex_area = 10421.00000, extent = 0.82039, type = O + area = 12190.00000, perimeter = 441.78500, major_axis_length = 178.55238, minor_axis_length = 87.93262, eccentricity = 0.87033, convex_area = 12478.00000, extent = 0.65020, type = O + area = 12213.00000, perimeter = 442.27200, major_axis_length = 183.69931, minor_axis_length = 85.81993, eccentricity = 0.88416, convex_area = 12474.00000, extent = 0.79538, type = O + area = 14276.00000, perimeter = 492.84000, major_axis_length = 208.87695, minor_axis_length = 88.12109, eccentricity = 0.90665, convex_area = 14706.00000, extent = 0.58246, type = C + area = 17404.00000, perimeter = 521.86499, major_axis_length = 211.06302, minor_axis_length = 106.33782, eccentricity = 0.86381, convex_area = 17739.00000, extent = 0.68466, type = C + area = 15350.00000, perimeter = 498.17899, major_axis_length = 204.62120, minor_axis_length = 96.89340, eccentricity = 0.88078, convex_area = 15751.00000, extent = 0.66370, type = C + area = 11742.00000, perimeter = 428.03400, major_axis_length = 171.23189, minor_axis_length = 88.02340, eccentricity = 0.85775, convex_area = 11951.00000, extent = 0.63044, type = O + area = 11986.00000, perimeter = 433.29401, major_axis_length = 173.22505, minor_axis_length = 89.39893, eccentricity = 0.85654, convex_area = 12243.00000, extent = 0.62242, type = O + area = 15469.00000, perimeter = 514.90698, major_axis_length = 221.01834, minor_axis_length = 89.76701, eccentricity = 0.91381, convex_area = 15860.00000, extent = 0.54178, type = C + area = 12200.00000, perimeter = 447.21399, major_axis_length = 191.14070, minor_axis_length = 81.57138, eccentricity = 0.90436, convex_area = 12367.00000, extent = 0.56975, type = O + area = 13342.00000, perimeter = 488.26999, major_axis_length = 208.66551, minor_axis_length = 83.16635, eccentricity = 0.91714, convex_area = 13703.00000, extent = 0.52594, type = C + area = 14070.00000, perimeter = 484.21600, major_axis_length = 203.28004, minor_axis_length = 89.09188, eccentricity = 0.89884, convex_area = 14448.00000, extent = 0.56734, type = C + area = 12344.00000, perimeter = 466.84201, major_axis_length = 204.10878, minor_axis_length = 77.81432, eccentricity = 0.92448, convex_area = 12596.00000, extent = 0.72128, type = C + area = 14232.00000, perimeter = 505.88501, major_axis_length = 214.10287, minor_axis_length = 86.41411, eccentricity = 0.91493, convex_area = 14702.00000, extent = 0.52602, type = C + area = 11601.00000, perimeter = 435.55701, major_axis_length = 187.09186, minor_axis_length = 79.52679, eccentricity = 0.90516, convex_area = 11757.00000, extent = 0.72011, type = O + area = 15929.00000, perimeter = 513.94000, major_axis_length = 212.65752, minor_axis_length = 96.99799, eccentricity = 0.88992, convex_area = 16293.00000, extent = 0.72586, type = C + area = 10561.00000, perimeter = 417.93301, major_axis_length = 172.89072, minor_axis_length = 79.52290, eccentricity = 0.88794, convex_area = 10804.00000, extent = 0.64791, type = O + area = 13079.00000, perimeter = 436.04501, major_axis_length = 174.89232, minor_axis_length = 95.94195, eccentricity = 0.83610, convex_area = 13228.00000, extent = 0.77258, type = O + area = 11080.00000, perimeter = 424.76901, major_axis_length = 175.18169, minor_axis_length = 81.33550, eccentricity = 0.88568, convex_area = 11337.00000, extent = 0.58291, type = O + area = 9834.00000, perimeter = 401.00500, major_axis_length = 164.20589, minor_axis_length = 77.19507, eccentricity = 0.88261, convex_area = 10076.00000, extent = 0.69725, type = O + area = 13734.00000, perimeter = 487.84000, major_axis_length = 213.24744, minor_axis_length = 83.18277, eccentricity = 0.92078, convex_area = 13941.00000, extent = 0.80523, type = C + area = 13058.00000, perimeter = 451.31400, major_axis_length = 181.87367, minor_axis_length = 92.20594, eccentricity = 0.86196, convex_area = 13310.00000, extent = 0.62809, type = O + area = 13665.00000, perimeter = 472.51599, major_axis_length = 199.54422, minor_axis_length = 87.68464, eccentricity = 0.89828, convex_area = 13944.00000, extent = 0.71142, type = C + area = 11726.00000, perimeter = 450.74500, major_axis_length = 189.09308, minor_axis_length = 80.31675, eccentricity = 0.90531, convex_area = 12061.00000, extent = 0.55626, type = O + area = 12752.00000, perimeter = 459.44800, major_axis_length = 196.43005, minor_axis_length = 83.10927, eccentricity = 0.90608, convex_area = 13059.00000, extent = 0.79067, type = C + area = 11679.00000, perimeter = 417.82501, major_axis_length = 170.56799, minor_axis_length = 87.63663, eccentricity = 0.85791, convex_area = 11853.00000, extent = 0.79433, type = O + area = 13118.00000, perimeter = 480.08600, major_axis_length = 207.10904, minor_axis_length = 81.70571, eccentricity = 0.91889, convex_area = 13652.00000, extent = 0.56877, type = C + area = 12325.00000, perimeter = 454.04901, major_axis_length = 192.69505, minor_axis_length = 82.55291, eccentricity = 0.90358, convex_area = 12583.00000, extent = 0.78603, type = O + area = 14768.00000, perimeter = 499.87701, major_axis_length = 210.55881, minor_axis_length = 90.47418, eccentricity = 0.90298, convex_area = 15158.00000, extent = 0.58312, type = C + area = 10785.00000, perimeter = 423.79501, major_axis_length = 175.26901, minor_axis_length = 79.07759, eccentricity = 0.89243, convex_area = 11069.00000, extent = 0.70842, type = O + area = 10412.00000, perimeter = 408.72000, major_axis_length = 163.75291, minor_axis_length = 82.41429, eccentricity = 0.86412, convex_area = 10735.00000, extent = 0.68931, type = O + area = 9359.00000, perimeter = 395.98801, major_axis_length = 168.29395, minor_axis_length = 71.10741, eccentricity = 0.90635, convex_area = 9555.00000, extent = 0.57516, type = O + area = 11290.00000, perimeter = 427.59000, major_axis_length = 180.13841, minor_axis_length = 80.42607, eccentricity = 0.89480, convex_area = 11427.00000, extent = 0.57252, type = O + area = 11151.00000, perimeter = 438.26199, major_axis_length = 191.60088, minor_axis_length = 74.84743, eccentricity = 0.92054, convex_area = 11325.00000, extent = 0.66597, type = C + area = 11245.00000, perimeter = 421.54800, major_axis_length = 174.57549, minor_axis_length = 82.91380, eccentricity = 0.88002, convex_area = 11475.00000, extent = 0.68193, type = O + area = 10583.00000, perimeter = 401.31000, major_axis_length = 164.73561, minor_axis_length = 82.48628, eccentricity = 0.86561, convex_area = 10769.00000, extent = 0.72348, type = O + area = 10951.00000, perimeter = 432.61200, major_axis_length = 182.04431, minor_axis_length = 78.21558, eccentricity = 0.90299, convex_area = 11242.00000, extent = 0.54711, type = C + area = 12959.00000, perimeter = 455.26700, major_axis_length = 181.20979, minor_axis_length = 92.44759, eccentricity = 0.86007, convex_area = 13375.00000, extent = 0.62219, type = O + area = 11748.00000, perimeter = 446.69501, major_axis_length = 190.21332, minor_axis_length = 79.88956, eccentricity = 0.90752, convex_area = 11926.00000, extent = 0.80976, type = O + area = 11504.00000, perimeter = 432.44400, major_axis_length = 175.78508, minor_axis_length = 84.95903, eccentricity = 0.87545, convex_area = 11861.00000, extent = 0.58802, type = O + area = 15032.00000, perimeter = 500.60901, major_axis_length = 209.91653, minor_axis_length = 91.92539, eccentricity = 0.89902, convex_area = 15397.00000, extent = 0.71892, type = C + area = 11075.00000, perimeter = 412.23801, major_axis_length = 165.43394, minor_axis_length = 86.41811, eccentricity = 0.85272, convex_area = 11354.00000, extent = 0.63213, type = O + area = 10218.00000, perimeter = 401.77301, major_axis_length = 163.24477, minor_axis_length = 80.51645, eccentricity = 0.86990, convex_area = 10516.00000, extent = 0.69539, type = O + area = 12900.00000, perimeter = 461.83600, major_axis_length = 195.34514, minor_axis_length = 84.57198, eccentricity = 0.90142, convex_area = 13160.00000, extent = 0.59180, type = O + area = 10802.00000, perimeter = 424.64801, major_axis_length = 177.29662, minor_axis_length = 78.94319, eccentricity = 0.89540, convex_area = 11019.00000, extent = 0.65610, type = O + area = 13251.00000, perimeter = 460.53201, major_axis_length = 190.91631, minor_axis_length = 88.99756, eccentricity = 0.88470, convex_area = 13528.00000, extent = 0.74992, type = C + area = 12549.00000, perimeter = 456.93500, major_axis_length = 193.39151, minor_axis_length = 83.70135, eccentricity = 0.90149, convex_area = 12905.00000, extent = 0.79707, type = C + area = 11052.00000, perimeter = 418.95001, major_axis_length = 170.46645, minor_axis_length = 83.59332, eccentricity = 0.87151, convex_area = 11338.00000, extent = 0.70198, type = O + area = 12692.00000, perimeter = 456.79300, major_axis_length = 181.23282, minor_axis_length = 91.12804, eccentricity = 0.86439, convex_area = 13147.00000, extent = 0.78355, type = O + area = 11437.00000, perimeter = 430.61200, major_axis_length = 184.13446, minor_axis_length = 79.24054, eccentricity = 0.90267, convex_area = 11587.00000, extent = 0.68794, type = O + area = 11472.00000, perimeter = 420.25699, major_axis_length = 174.82526, minor_axis_length = 83.87502, eccentricity = 0.87740, convex_area = 11617.00000, extent = 0.74224, type = O + area = 14750.00000, perimeter = 482.82501, major_axis_length = 198.50336, minor_axis_length = 95.47469, eccentricity = 0.87674, convex_area = 15046.00000, extent = 0.60550, type = C + area = 11860.00000, perimeter = 432.05899, major_axis_length = 174.31383, minor_axis_length = 88.15498, eccentricity = 0.86269, convex_area = 12140.00000, extent = 0.71086, type = O + area = 11022.00000, perimeter = 417.25900, major_axis_length = 168.61125, minor_axis_length = 84.67788, eccentricity = 0.86475, convex_area = 11259.00000, extent = 0.60727, type = O + area = 12887.00000, perimeter = 468.83301, major_axis_length = 197.76321, minor_axis_length = 83.72417, eccentricity = 0.90596, convex_area = 13241.00000, extent = 0.55677, type = C + area = 13983.00000, perimeter = 481.65900, major_axis_length = 198.39046, minor_axis_length = 90.49815, eccentricity = 0.88990, convex_area = 14306.00000, extent = 0.58802, type = C + area = 8965.00000, perimeter = 383.48199, major_axis_length = 156.28944, minor_axis_length = 74.67708, eccentricity = 0.87846, convex_area = 9317.00000, extent = 0.62029, type = O + area = 10589.00000, perimeter = 411.92899, major_axis_length = 170.27213, minor_axis_length = 80.86866, eccentricity = 0.88002, convex_area = 10850.00000, extent = 0.72428, type = O + area = 14843.00000, perimeter = 510.10199, major_axis_length = 220.03586, minor_axis_length = 86.50136, eccentricity = 0.91949, convex_area = 15155.00000, extent = 0.53315, type = C + area = 14136.00000, perimeter = 488.96799, major_axis_length = 203.39066, minor_axis_length = 89.78699, eccentricity = 0.89729, convex_area = 14475.00000, extent = 0.59206, type = C + area = 13089.00000, perimeter = 458.07700, major_axis_length = 182.10921, minor_axis_length = 92.58980, eccentricity = 0.86110, convex_area = 13562.00000, extent = 0.71291, type = O + area = 9468.00000, perimeter = 386.49799, major_axis_length = 162.47389, minor_axis_length = 74.97504, eccentricity = 0.88716, convex_area = 9608.00000, extent = 0.75376, type = O + area = 14557.00000, perimeter = 492.41299, major_axis_length = 205.10664, minor_axis_length = 91.44973, eccentricity = 0.89510, convex_area = 14961.00000, extent = 0.73565, type = C + area = 10879.00000, perimeter = 427.13599, major_axis_length = 179.45078, minor_axis_length = 78.29278, eccentricity = 0.89981, convex_area = 11110.00000, extent = 0.73547, type = O + area = 14106.00000, perimeter = 487.25201, major_axis_length = 209.56938, minor_axis_length = 86.55520, eccentricity = 0.91072, convex_area = 14348.00000, extent = 0.54271, type = C + area = 15857.00000, perimeter = 515.32202, major_axis_length = 219.96548, minor_axis_length = 93.15427, eccentricity = 0.90590, convex_area = 16109.00000, extent = 0.69916, type = C + area = 14005.00000, perimeter = 485.45599, major_axis_length = 207.13385, minor_axis_length = 86.87551, eccentricity = 0.90779, convex_area = 14212.00000, extent = 0.56381, type = C + area = 10810.00000, perimeter = 415.30301, major_axis_length = 169.00446, minor_axis_length = 82.43158, eccentricity = 0.87298, convex_area = 11029.00000, extent = 0.69809, type = O + area = 13434.00000, perimeter = 455.82300, major_axis_length = 184.17033, minor_axis_length = 93.38285, eccentricity = 0.86192, convex_area = 13686.00000, extent = 0.63584, type = C + area = 11287.00000, perimeter = 429.32501, major_axis_length = 171.89574, minor_axis_length = 85.36037, eccentricity = 0.86799, convex_area = 11599.00000, extent = 0.59014, type = O + area = 9772.00000, perimeter = 392.23700, major_axis_length = 164.40335, minor_axis_length = 76.18343, eccentricity = 0.88615, convex_area = 9971.00000, extent = 0.78339, type = O + area = 13487.00000, perimeter = 473.72198, major_axis_length = 197.11966, minor_axis_length = 87.78462, eccentricity = 0.89536, convex_area = 13773.00000, extent = 0.75141, type = C + area = 13372.00000, perimeter = 470.40302, major_axis_length = 196.08147, minor_axis_length = 88.71108, eccentricity = 0.89181, convex_area = 13745.00000, extent = 0.58362, type = C + area = 13916.00000, perimeter = 478.87799, major_axis_length = 201.63968, minor_axis_length = 88.56097, eccentricity = 0.89839, convex_area = 14221.00000, extent = 0.60399, type = C + area = 11717.00000, perimeter = 439.73001, major_axis_length = 182.04054, minor_axis_length = 82.61973, eccentricity = 0.89108, convex_area = 11965.00000, extent = 0.56148, type = O + area = 11221.00000, perimeter = 418.56100, major_axis_length = 168.14250, minor_axis_length = 85.76485, eccentricity = 0.86013, convex_area = 11455.00000, extent = 0.76772, type = O + area = 14601.00000, perimeter = 505.24899, major_axis_length = 215.93439, minor_axis_length = 86.75872, eccentricity = 0.91574, convex_area = 14991.00000, extent = 0.66854, type = C + area = 11358.00000, perimeter = 430.79199, major_axis_length = 177.45648, minor_axis_length = 82.11937, eccentricity = 0.88648, convex_area = 11546.00000, extent = 0.75040, type = O + area = 13970.00000, perimeter = 481.88400, major_axis_length = 201.47258, minor_axis_length = 89.49722, eccentricity = 0.89592, convex_area = 14310.00000, extent = 0.56789, type = C + area = 12149.00000, perimeter = 455.56201, major_axis_length = 191.44572, minor_axis_length = 82.05867, eccentricity = 0.90348, convex_area = 12510.00000, extent = 0.71423, type = C + area = 14145.00000, perimeter = 486.60800, major_axis_length = 209.35321, minor_axis_length = 86.78947, eccentricity = 0.91002, convex_area = 14370.00000, extent = 0.76667, type = C + area = 15158.00000, perimeter = 513.72601, major_axis_length = 218.82001, minor_axis_length = 89.37169, eccentricity = 0.91279, convex_area = 15591.00000, extent = 0.70176, type = C + area = 14227.00000, perimeter = 490.50400, major_axis_length = 206.49132, minor_axis_length = 88.69172, eccentricity = 0.90306, convex_area = 14529.00000, extent = 0.68713, type = C + area = 14274.00000, perimeter = 488.82999, major_axis_length = 203.56786, minor_axis_length = 89.92999, eccentricity = 0.89713, convex_area = 14529.00000, extent = 0.57236, type = C + area = 13385.00000, perimeter = 460.82501, major_axis_length = 192.64615, minor_axis_length = 89.71349, eccentricity = 0.88495, convex_area = 13595.00000, extent = 0.61275, type = C + area = 13683.00000, perimeter = 481.57101, major_axis_length = 206.92677, minor_axis_length = 84.89906, eccentricity = 0.91196, convex_area = 13922.00000, extent = 0.76220, type = C + area = 13245.00000, perimeter = 476.13699, major_axis_length = 204.94440, minor_axis_length = 83.15825, eccentricity = 0.91398, convex_area = 13536.00000, extent = 0.79963, type = C + area = 16199.00000, perimeter = 514.15601, major_axis_length = 217.63051, minor_axis_length = 95.51936, eccentricity = 0.89853, convex_area = 16475.00000, extent = 0.70769, type = C + area = 14709.00000, perimeter = 515.84998, major_axis_length = 222.72284, minor_axis_length = 85.43156, eccentricity = 0.92351, convex_area = 14941.00000, extent = 0.52480, type = C + area = 12483.00000, perimeter = 451.81400, major_axis_length = 189.89943, minor_axis_length = 84.86185, eccentricity = 0.89459, convex_area = 12686.00000, extent = 0.59571, type = C + area = 14295.00000, perimeter = 489.21500, major_axis_length = 203.30190, minor_axis_length = 90.60995, eccentricity = 0.89519, convex_area = 14660.00000, extent = 0.60670, type = C + area = 10144.00000, perimeter = 416.15100, major_axis_length = 173.66582, minor_axis_length = 75.35471, eccentricity = 0.90096, convex_area = 10414.00000, extent = 0.57040, type = O + area = 13700.00000, perimeter = 455.62500, major_axis_length = 185.95854, minor_axis_length = 94.56549, eccentricity = 0.86104, convex_area = 13893.00000, extent = 0.61452, type = O + area = 12341.00000, perimeter = 451.11600, major_axis_length = 183.64560, minor_axis_length = 86.69643, eccentricity = 0.88155, convex_area = 12676.00000, extent = 0.60212, type = O + area = 13584.00000, perimeter = 478.05701, major_axis_length = 203.83694, minor_axis_length = 85.42742, eccentricity = 0.90794, convex_area = 13877.00000, extent = 0.67633, type = C + area = 11480.00000, perimeter = 419.10699, major_axis_length = 170.62241, minor_axis_length = 86.62787, eccentricity = 0.86152, convex_area = 11674.00000, extent = 0.78544, type = O + area = 13959.00000, perimeter = 477.26300, major_axis_length = 200.49440, minor_axis_length = 89.45984, eccentricity = 0.89494, convex_area = 14242.00000, extent = 0.71574, type = C + area = 13814.00000, perimeter = 477.58600, major_axis_length = 198.90308, minor_axis_length = 89.67540, eccentricity = 0.89260, convex_area = 14168.00000, extent = 0.69098, type = C + area = 16063.00000, perimeter = 520.74500, major_axis_length = 217.91382, minor_axis_length = 95.20047, eccentricity = 0.89952, convex_area = 16561.00000, extent = 0.55676, type = C + area = 13720.00000, perimeter = 477.63501, major_axis_length = 201.15787, minor_axis_length = 87.31000, eccentricity = 0.90089, convex_area = 13936.00000, extent = 0.66454, type = O + area = 11857.00000, perimeter = 433.20001, major_axis_length = 177.90762, minor_axis_length = 86.17068, eccentricity = 0.87487, convex_area = 12171.00000, extent = 0.71669, type = O + area = 13207.00000, perimeter = 469.70001, major_axis_length = 196.48750, minor_axis_length = 87.33901, eccentricity = 0.89578, convex_area = 13546.00000, extent = 0.57454, type = C + area = 11702.00000, perimeter = 432.77399, major_axis_length = 177.72461, minor_axis_length = 84.66332, eccentricity = 0.87924, convex_area = 11975.00000, extent = 0.59716, type = C + area = 13062.00000, perimeter = 467.46399, major_axis_length = 197.80243, minor_axis_length = 85.39855, eccentricity = 0.90200, convex_area = 13272.00000, extent = 0.62408, type = C + area = 12148.00000, perimeter = 434.30701, major_axis_length = 177.47769, minor_axis_length = 88.51750, eccentricity = 0.86674, convex_area = 12437.00000, extent = 0.75505, type = O + area = 11779.00000, perimeter = 440.97601, major_axis_length = 191.88248, minor_axis_length = 78.73443, eccentricity = 0.91194, convex_area = 11918.00000, extent = 0.58375, type = O + area = 16008.00000, perimeter = 521.00702, major_axis_length = 222.84523, minor_axis_length = 92.12952, eccentricity = 0.91054, convex_area = 16315.00000, extent = 0.61188, type = C + area = 15558.00000, perimeter = 511.71799, major_axis_length = 213.97760, minor_axis_length = 94.46471, eccentricity = 0.89728, convex_area = 15926.00000, extent = 0.63244, type = C + area = 12863.00000, perimeter = 448.50800, major_axis_length = 182.86191, minor_axis_length = 90.77281, eccentricity = 0.86809, convex_area = 13133.00000, extent = 0.73621, type = O + area = 17442.00000, perimeter = 539.77600, major_axis_length = 228.59348, minor_axis_length = 98.19205, eccentricity = 0.90304, convex_area = 17698.00000, extent = 0.57625, type = C + area = 12056.00000, perimeter = 431.85101, major_axis_length = 182.36313, minor_axis_length = 84.43254, eccentricity = 0.88636, convex_area = 12191.00000, extent = 0.79735, type = O + area = 10380.00000, perimeter = 399.17700, major_axis_length = 164.59058, minor_axis_length = 80.95958, eccentricity = 0.87066, convex_area = 10630.00000, extent = 0.70641, type = O + area = 14713.00000, perimeter = 500.16000, major_axis_length = 207.15820, minor_axis_length = 91.46106, eccentricity = 0.89726, convex_area = 15111.00000, extent = 0.57193, type = C + area = 10167.00000, perimeter = 406.82599, major_axis_length = 160.96185, minor_axis_length = 82.92120, eccentricity = 0.85709, convex_area = 10479.00000, extent = 0.66503, type = O + area = 11714.00000, perimeter = 412.20200, major_axis_length = 161.30818, minor_axis_length = 93.22562, eccentricity = 0.81608, convex_area = 11886.00000, extent = 0.76432, type = O + area = 13789.00000, perimeter = 471.30301, major_axis_length = 198.52347, minor_axis_length = 88.71288, eccentricity = 0.89460, convex_area = 14025.00000, extent = 0.63136, type = C + area = 13457.00000, perimeter = 483.61401, major_axis_length = 211.01250, minor_axis_length = 81.87440, eccentricity = 0.92166, convex_area = 13763.00000, extent = 0.67312, type = C + area = 16570.00000, perimeter = 519.12299, major_axis_length = 221.01448, minor_axis_length = 96.22779, eccentricity = 0.90024, convex_area = 16757.00000, extent = 0.59234, type = C + area = 14235.00000, perimeter = 505.84500, major_axis_length = 214.15660, minor_axis_length = 87.47984, eccentricity = 0.91276, convex_area = 14687.00000, extent = 0.68257, type = C + area = 13337.00000, perimeter = 468.62100, major_axis_length = 196.77119, minor_axis_length = 87.31041, eccentricity = 0.89617, convex_area = 13598.00000, extent = 0.69442, type = C + area = 14418.00000, perimeter = 480.32300, major_axis_length = 199.11844, minor_axis_length = 93.31120, eccentricity = 0.88340, convex_area = 14780.00000, extent = 0.75852, type = C + area = 8848.00000, perimeter = 369.77802, major_axis_length = 150.27876, minor_axis_length = 76.50945, eccentricity = 0.86070, convex_area = 9009.00000, extent = 0.63581, type = O + area = 11236.00000, perimeter = 421.44400, major_axis_length = 171.76265, minor_axis_length = 84.28899, eccentricity = 0.87131, convex_area = 11440.00000, extent = 0.60830, type = O + area = 14968.00000, perimeter = 514.80103, major_axis_length = 220.22400, minor_axis_length = 87.73534, eccentricity = 0.91722, convex_area = 15438.00000, extent = 0.74092, type = C + area = 13414.00000, perimeter = 479.90100, major_axis_length = 203.08597, minor_axis_length = 85.73688, eccentricity = 0.90652, convex_area = 13735.00000, extent = 0.71404, type = C + area = 10908.00000, perimeter = 414.99701, major_axis_length = 174.44916, minor_axis_length = 80.56419, eccentricity = 0.88697, convex_area = 11062.00000, extent = 0.75498, type = O + area = 12184.00000, perimeter = 437.83899, major_axis_length = 180.10709, minor_axis_length = 87.29169, eccentricity = 0.87470, convex_area = 12398.00000, extent = 0.77373, type = O + area = 11999.00000, perimeter = 465.65799, major_axis_length = 194.78426, minor_axis_length = 80.43824, eccentricity = 0.91075, convex_area = 12364.00000, extent = 0.53701, type = C + area = 11778.00000, perimeter = 432.25699, major_axis_length = 173.48621, minor_axis_length = 87.75865, eccentricity = 0.86262, convex_area = 12104.00000, extent = 0.66497, type = O + area = 12563.00000, perimeter = 444.86899, major_axis_length = 183.22375, minor_axis_length = 88.04948, eccentricity = 0.87696, convex_area = 12767.00000, extent = 0.76697, type = O diff --git a/cmake-build-relwithdebinfo/run_8/regress.stt b/cmake-build-relwithdebinfo/run_8/regress.stt new file mode 100644 index 0000000..da53665 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_8/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.9596 0.9988 0.0000 18.332 3.463 25 4 30 5 0.9596 0.9988 0.0000 18.332 3.463 25 4 30 5 +1 0 0.9896 0.9988 0.0000 17.015 3.631 25 4 17 5 0.9746 0.9988 0.0000 17.673 3.547 25 4 30 5 +2 0 0.9892 0.9988 0.0000 17.366 3.874 25 4 70 8 0.9795 0.9988 0.0000 17.571 3.656 25 4 30 5 +3 0 0.9911 0.9988 0.0000 16.833 3.900 8 4 53 6 0.9824 0.9988 0.0000 17.386 3.717 8 4 30 5 +4 0 0.9904 0.9988 0.0000 16.451 3.990 8 4 90 9 0.9840 0.9988 0.0000 17.199 3.772 8 4 30 5 +5 0 0.9938 0.9988 0.0000 16.102 4.038 8 4 81 7 0.9856 0.9988 0.0000 17.016 3.816 8 4 30 5 +6 0 0.9917 0.9988 0.0000 16.082 4.135 8 4 79 12 0.9865 0.9988 0.0000 16.883 3.862 8 4 30 5 +7 0 0.9931 0.9989 0.0000 16.064 4.200 11 5 71 7 0.9873 0.9989 0.0000 16.781 3.904 11 5 30 5 +8 0 0.9923 0.9989 0.0000 15.920 4.267 11 5 60 10 0.9879 0.9989 0.0000 16.685 3.944 11 5 30 5 +9 0 0.9941 0.9989 0.0000 15.799 4.311 11 5 106 11 0.9885 0.9989 0.0000 16.596 3.981 11 5 30 5 +10 0 0.9916 0.9989 0.0000 15.784 4.388 11 5 11 4 0.9888 0.9989 0.0000 16.523 4.018 11 5 30 5 +11 0 0.9944 0.9989 0.0000 15.330 4.404 11 5 53 11 0.9892 0.9989 0.0000 16.423 4.050 11 5 30 5 +12 0 0.9928 0.9989 0.0000 15.185 4.434 11 5 56 9 0.9895 0.9989 0.0000 16.328 4.080 11 5 30 5 +13 0 0.9939 0.9989 0.0000 14.746 4.432 11 5 55 13 0.9898 0.9989 0.0000 16.215 4.105 11 5 30 5 +14 0 0.9937 0.9989 0.0000 14.623 4.459 11 5 16 6 0.9901 0.9989 0.0000 16.109 4.128 11 5 30 5 +15 0 0.9939 0.9989 0.0000 14.569 4.474 11 5 22 6 0.9903 0.9989 0.0000 16.013 4.150 11 5 30 5 +16 0 0.9939 0.9989 0.0000 14.061 4.416 11 5 44 7 0.9905 0.9989 0.0000 15.898 4.166 11 5 30 5 +17 0 0.9940 0.9989 0.0000 13.853 4.385 11 5 48 16 0.9907 0.9989 0.0000 15.784 4.178 11 5 30 5 +18 0 0.9946 0.9989 0.0000 13.714 4.344 11 5 68 13 0.9909 0.9989 0.0000 15.675 4.187 11 5 30 5 +19 0 0.9948 0.9989 0.0000 13.716 4.392 11 5 52 16 0.9911 0.9989 0.0000 15.577 4.197 11 5 30 5 +20 0 0.9962 0.9989 0.0000 13.588 4.374 11 5 13 4 0.9914 0.9989 0.0000 15.483 4.205 11 5 30 5 +21 0 0.9946 0.9989 0.0000 13.159 4.294 11 5 13 5 0.9915 0.9989 0.0000 15.377 4.209 11 5 30 5 +22 0 0.9950 0.9989 0.0000 13.074 4.277 18 6 38 12 0.9917 0.9989 0.0000 15.277 4.212 18 6 30 5 +23 0 0.9940 0.9989 0.0000 12.783 4.242 18 6 7 3 0.9917 0.9989 0.0000 15.173 4.213 18 6 30 5 +24 0 0.9958 0.9989 0.0000 12.211 4.141 18 6 12 6 0.9919 0.9989 0.0000 15.054 4.211 18 6 30 5 +25 0 0.9954 0.9989 0.0000 12.207 4.171 18 6 33 8 0.9920 0.9989 0.0000 14.945 4.209 18 6 30 5 +26 0 0.9946 0.9989 0.0000 12.036 4.114 18 6 16 7 0.9921 0.9989 0.0000 14.837 4.206 18 6 30 5 +27 0 0.9946 0.9989 0.0000 11.846 4.078 18 6 83 17 0.9922 0.9989 0.0000 14.730 4.201 18 6 30 5 +28 0 0.9952 0.9989 0.0000 11.434 3.961 5 3 17 6 0.9923 0.9989 0.0000 14.617 4.193 5 3 30 5 +29 0 0.9968 0.9989 0.0000 11.195 3.911 5 3 82 14 0.9925 0.9989 0.0000 14.503 4.183 5 3 30 5 +30 0 0.9966 0.9989 0.0000 11.029 3.898 5 3 22 7 0.9926 0.9989 0.0000 14.391 4.174 5 3 30 5 +31 0 0.9960 0.9989 0.0000 10.850 3.827 5 3 68 12 0.9927 0.9989 0.0000 14.280 4.163 5 3 30 5 +32 0 0.9964 0.9989 0.0000 10.610 3.784 5 3 30 8 0.9928 0.9989 0.0000 14.169 4.152 5 3 30 5 +33 0 0.9962 0.9989 0.0000 10.600 3.798 5 3 29 9 0.9929 0.9989 0.0000 14.064 4.141 5 3 30 5 +34 0 0.9968 0.9989 0.0000 10.375 3.741 5 3 20 8 0.9930 0.9989 0.0000 13.958 4.130 5 3 30 5 +35 0 0.9972 0.9989 0.0000 10.139 3.683 5 3 31 12 0.9931 0.9989 0.0000 13.852 4.118 5 3 30 5 +36 0 0.9964 0.9989 0.0000 9.958 3.627 5 3 29 8 0.9932 0.9989 0.0000 13.747 4.104 5 3 30 5 +37 0 0.9972 0.9989 0.0000 9.784 3.565 5 3 29 5 0.9933 0.9989 0.0000 13.643 4.090 5 3 30 5 +38 0 0.9968 0.9989 0.0000 9.900 3.593 5 3 23 8 0.9934 0.9989 0.0000 13.547 4.077 5 3 30 5 +39 0 0.9970 0.9989 0.0000 9.756 3.584 5 3 23 6 0.9935 0.9989 0.0000 13.452 4.065 5 3 30 5 +40 0 0.9974 0.9989 0.0000 9.642 3.543 5 3 6 3 0.9936 0.9989 0.0000 13.359 4.052 5 3 30 5 +41 0 0.9960 0.9989 0.0000 9.477 3.507 5 3 27 7 0.9937 0.9989 0.0000 13.267 4.039 5 3 30 5 +42 0 0.9968 0.9989 0.0000 9.437 3.509 5 3 13 5 0.9937 0.9989 0.0000 13.178 4.027 5 3 30 5 +43 0 0.9970 0.9989 0.0000 9.350 3.508 5 3 29 10 0.9938 0.9989 0.0000 13.091 4.015 5 3 30 5 +44 0 0.9974 0.9989 0.0000 9.446 3.525 5 3 51 13 0.9939 0.9989 0.0000 13.010 4.004 5 3 30 5 +45 0 0.9964 0.9989 0.0000 9.419 3.539 5 3 7 3 0.9939 0.9989 0.0000 12.932 3.994 5 3 30 5 +46 0 0.9958 0.9989 0.0000 9.195 3.488 5 3 16 6 0.9940 0.9989 0.0000 12.852 3.983 5 3 30 5 +47 0 0.9959 0.9989 0.0000 9.070 3.450 5 3 42 13 0.9940 0.9989 0.0000 12.773 3.972 5 3 30 5 +48 0 0.9971 0.9989 0.0000 8.892 3.405 5 3 31 12 0.9941 0.9989 0.0000 12.694 3.961 5 3 30 5 +49 0 0.9966 0.9989 0.0000 8.814 3.398 5 3 25 7 0.9941 0.9989 0.0000 12.617 3.949 5 3 30 5 +50 0 0.9971 0.9989 0.0000 8.692 3.367 5 3 27 10 0.9942 0.9989 0.0000 12.540 3.938 5 3 30 5 diff --git a/cmake-build-relwithdebinfo/run_8/regress.sys b/cmake-build-relwithdebinfo/run_8/regress.sys new file mode 100644 index 0000000..42ce8ed --- /dev/null +++ b/cmake-build-relwithdebinfo/run_8/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - exp log area perimeter major minor eccentricity convex extent R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 171. +creating initial population(s): + 7371 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 4. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 15. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 16. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 28. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (1s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 80993034 + freed: 80945034 + not freed: 48000 + max allocated: 2544590 + malloc'ed blocks: 830932 + realloc'ed blocks: 7 + free'ed blocks: 830926 + +------- time ------- + overall: 57s wall + evaluation: 54s wall + breeding: 3s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 8161 + freed: 8161 + allocated: 5500 + blocks: 10 diff --git a/cmake-build-relwithdebinfo/run_9/regress.bst b/cmake-build-relwithdebinfo/run_9/regress.bst new file mode 100644 index 0000000..94eccf3 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_9/regress.bst @@ -0,0 +1,24 @@ +=== BEST-OF-RUN === + generation: 49 + nodes: 22 + depth: 8 + hits: 925 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 925 + raw fitness: 925.0000 + standardized fitness: 925.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (/ extent + (log major)) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +TREE-equ: +y = log(((-0.70151 * ((((extent / log(major)) / convex) / perimeter) / exp(major))) / (exp(minor) / (minor / exp(perimeter))))) diff --git a/cmake-build-relwithdebinfo/run_9/regress.fn b/cmake-build-relwithdebinfo/run_9/regress.fn new file mode 100644 index 0000000..8db7a71 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_9/regress.fn @@ -0,0 +1,16 @@ +Hits: 2548, Total Size: 2810, Percent Hit: 90.676157 +CC: 1029 +CO: 100 +OO: 1519 +OC: 162 + + +y = log(((-0.70151 * ((((extent / log(major)) / convex) / perimeter) / exp(major))) / (exp(minor) / (minor / exp(perimeter))))) + + (log (/ (* -0.70151 + (/ (/ (/ (/ extent + (log major)) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) diff --git a/cmake-build-relwithdebinfo/run_9/regress.gen b/cmake-build-relwithdebinfo/run_9/regress.gen new file mode 100644 index 0000000..e69de29 diff --git a/cmake-build-relwithdebinfo/run_9/regress.his b/cmake-build-relwithdebinfo/run_9/regress.his new file mode 100644 index 0000000..6901773 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_9/regress.his @@ -0,0 +1,1188 @@ +=== BEST-OF-RUN === + current generation: 0 + generation: 0 + nodes: 16 + depth: 6 + hits: 744 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 744 + raw fitness: 744.0000 + standardized fitness: 744.0000 + adjusted fitness: 0.9987 +TREE: + (* (* convex + (* convex convex)) + (/ (log (* extent + (/ (/ eccentricity extent) -0.87669))) eccentricity)) +=== BEST-OF-RUN === + current generation: 1 + generation: 0 + nodes: 16 + depth: 6 + hits: 744 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 744 + raw fitness: 744.0000 + standardized fitness: 744.0000 + adjusted fitness: 0.9987 +TREE: + (* (* convex + (* convex convex)) + (/ (log (* extent + (/ (/ eccentricity extent) -0.87669))) eccentricity)) +=== BEST-OF-RUN === + current generation: 2 + generation: 2 + nodes: 57 + depth: 6 + hits: 775 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 775 + raw fitness: 775.0000 + standardized fitness: 775.0000 + adjusted fitness: 0.9987 +TREE: + (* (+ (/ (exp major) + (+ (exp minor) + (/ -0.68880 eccentricity))) + (* (* (/ major eccentricity) + (- major perimeter)) + (/ (exp minor) + (/ major minor)))) + (- (- (* (+ eccentricity convex) + (exp (* area minor))) + (- (+ extent -0.41305) + (- area perimeter))) + (+ (/ (- extent minor) + (+ eccentricity perimeter)) + (* (* convex extent) + (- eccentricity minor))))) +=== BEST-OF-RUN === + current generation: 3 + generation: 2 + nodes: 57 + depth: 6 + hits: 775 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 775 + raw fitness: 775.0000 + standardized fitness: 775.0000 + adjusted fitness: 0.9987 +TREE: + (* (+ (/ (exp major) + (+ (exp minor) + (/ -0.68880 eccentricity))) + (* (* (/ major eccentricity) + (- major perimeter)) + (/ (exp minor) + (/ major minor)))) + (- (- (* (+ eccentricity convex) + (exp (* area minor))) + (- (+ extent -0.41305) + (- area perimeter))) + (+ (/ (- extent minor) + (+ eccentricity perimeter)) + (* (* convex extent) + (- eccentricity minor))))) +=== BEST-OF-RUN === + current generation: 4 + generation: 2 + nodes: 57 + depth: 6 + hits: 775 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 775 + raw fitness: 775.0000 + standardized fitness: 775.0000 + adjusted fitness: 0.9987 +TREE: + (* (+ (/ (exp major) + (+ (exp minor) + (/ -0.68880 eccentricity))) + (* (* (/ major eccentricity) + (- major perimeter)) + (/ (exp minor) + (/ major minor)))) + (- (- (* (+ eccentricity convex) + (exp (* area minor))) + (- (+ extent -0.41305) + (- area perimeter))) + (+ (/ (- extent minor) + (+ eccentricity perimeter)) + (* (* convex extent) + (- eccentricity minor))))) +=== BEST-OF-RUN === + current generation: 5 + generation: 5 + nodes: 18 + depth: 8 + hits: 857 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 857 + raw fitness: 857.0000 + standardized fitness: 857.0000 + adjusted fitness: 0.9988 +TREE: + (log (exp (- (log (+ (+ perimeter + (/ (- convex area) + (- convex minor))) minor)) + (/ perimeter 0.58433)))) +=== BEST-OF-RUN === + current generation: 6 + generation: 5 + nodes: 18 + depth: 8 + hits: 857 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 857 + raw fitness: 857.0000 + standardized fitness: 857.0000 + adjusted fitness: 0.9988 +TREE: + (log (exp (- (log (+ (+ perimeter + (/ (- convex area) + (- convex minor))) minor)) + (/ perimeter 0.58433)))) +=== BEST-OF-RUN === + current generation: 7 + generation: 5 + nodes: 18 + depth: 8 + hits: 857 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 857 + raw fitness: 857.0000 + standardized fitness: 857.0000 + adjusted fitness: 0.9988 +TREE: + (log (exp (- (log (+ (+ perimeter + (/ (- convex area) + (- convex minor))) minor)) + (/ perimeter 0.58433)))) +=== BEST-OF-RUN === + current generation: 8 + generation: 8 + nodes: 18 + depth: 5 + hits: 898 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 898 + raw fitness: 898.0000 + standardized fitness: 898.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (log extent) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 9 + generation: 8 + nodes: 18 + depth: 5 + hits: 898 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 898 + raw fitness: 898.0000 + standardized fitness: 898.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (log extent) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 10 + generation: 8 + nodes: 18 + depth: 5 + hits: 898 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 898 + raw fitness: 898.0000 + standardized fitness: 898.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (log extent) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 11 + generation: 8 + nodes: 18 + depth: 5 + hits: 898 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 898 + raw fitness: 898.0000 + standardized fitness: 898.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (log extent) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 12 + generation: 8 + nodes: 18 + depth: 5 + hits: 898 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 898 + raw fitness: 898.0000 + standardized fitness: 898.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (log extent) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 13 + generation: 8 + nodes: 18 + depth: 5 + hits: 898 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 898 + raw fitness: 898.0000 + standardized fitness: 898.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (log extent) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 14 + generation: 8 + nodes: 18 + depth: 5 + hits: 898 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 898 + raw fitness: 898.0000 + standardized fitness: 898.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (log extent) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 15 + generation: 8 + nodes: 18 + depth: 5 + hits: 898 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 898 + raw fitness: 898.0000 + standardized fitness: 898.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (log extent) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 16 + generation: 8 + nodes: 18 + depth: 5 + hits: 898 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 898 + raw fitness: 898.0000 + standardized fitness: 898.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (log extent) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 17 + generation: 8 + nodes: 18 + depth: 5 + hits: 898 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 898 + raw fitness: 898.0000 + standardized fitness: 898.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (log extent) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 18 + generation: 8 + nodes: 18 + depth: 5 + hits: 898 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 898 + raw fitness: 898.0000 + standardized fitness: 898.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (log extent) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 19 + generation: 8 + nodes: 18 + depth: 5 + hits: 898 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 898 + raw fitness: 898.0000 + standardized fitness: 898.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (log extent) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 20 + generation: 20 + nodes: 19 + depth: 5 + hits: 899 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 899 + raw fitness: 899.0000 + standardized fitness: 899.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ minor perimeter) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 21 + generation: 20 + nodes: 19 + depth: 5 + hits: 899 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 899 + raw fitness: 899.0000 + standardized fitness: 899.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ minor perimeter) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 22 + generation: 20 + nodes: 19 + depth: 5 + hits: 899 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 899 + raw fitness: 899.0000 + standardized fitness: 899.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ minor perimeter) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 23 + generation: 20 + nodes: 19 + depth: 5 + hits: 899 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 899 + raw fitness: 899.0000 + standardized fitness: 899.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ minor perimeter) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 24 + generation: 24 + nodes: 32 + depth: 10 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 25 + generation: 24 + nodes: 32 + depth: 10 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 26 + generation: 24 + nodes: 32 + depth: 10 + hits: 915 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 915 + raw fitness: 915.0000 + standardized fitness: 915.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ (- eccentricity perimeter) + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 27 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 28 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 29 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 30 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 31 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 32 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 33 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 34 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 35 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 36 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 37 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 38 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 39 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 40 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 41 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 42 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 43 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 44 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 45 + generation: 27 + nodes: 30 + depth: 10 + hits: 921 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 921 + raw fitness: 921.0000 + standardized fitness: 921.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 46 + generation: 46 + nodes: 32 + depth: 10 + hits: 922 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 922 + raw fitness: 922.0000 + standardized fitness: 922.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (+ (log (exp (- 0.07965 major))) + (log (- extent + (+ perimeter extent)))) convex) + (* perimeter eccentricity)) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 47 + generation: 47 + nodes: 21 + depth: 7 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (* 0.55981 eccentricity) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 48 + generation: 47 + nodes: 21 + depth: 7 + hits: 923 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 923 + raw fitness: 923.0000 + standardized fitness: 923.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (* 0.55981 eccentricity) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 49 + generation: 49 + nodes: 22 + depth: 8 + hits: 925 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 925 + raw fitness: 925.0000 + standardized fitness: 925.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (/ extent + (log major)) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) +=== BEST-OF-RUN === + current generation: 50 + generation: 49 + nodes: 22 + depth: 8 + hits: 925 +TOP INDIVIDUAL: + + + +-- #1 -- + hits: 925 + raw fitness: 925.0000 + standardized fitness: 925.0000 + adjusted fitness: 0.9989 +TREE: + (log (/ (* -0.70151 + (/ (/ (/ (/ extent + (log major)) convex) perimeter) + (exp major))) + (/ (exp minor) + (/ minor + (exp perimeter))))) diff --git a/cmake-build-relwithdebinfo/run_9/regress.prg b/cmake-build-relwithdebinfo/run_9/regress.prg new file mode 100644 index 0000000..c9535a4 --- /dev/null +++ b/cmake-build-relwithdebinfo/run_9/regress.prg @@ -0,0 +1,1002 @@ +not starting from checkpoint file. +1000 fitness cases: + area = 12981.00000, perimeter = 451.32700, major_axis_length = 183.76186, minor_axis_length = 91.07873, eccentricity = 0.86853, convex_area = 13231.00000, extent = 0.75493, type = O + area = 12502.00000, perimeter = 431.31299, major_axis_length = 172.89813, minor_axis_length = 92.56533, eccentricity = 0.84461, convex_area = 12679.00000, extent = 0.80814, type = O + area = 10877.00000, perimeter = 424.57501, major_axis_length = 175.60689, minor_axis_length = 80.03326, eccentricity = 0.89011, convex_area = 11152.00000, extent = 0.61598, type = O + area = 14017.00000, perimeter = 474.31000, major_axis_length = 198.33673, minor_axis_length = 90.86869, eccentricity = 0.88887, convex_area = 14320.00000, extent = 0.76055, type = C + area = 9798.00000, perimeter = 416.66800, major_axis_length = 182.42519, minor_axis_length = 69.40627, eccentricity = 0.92480, convex_area = 9994.00000, extent = 0.58671, type = O + area = 14410.00000, perimeter = 477.66199, major_axis_length = 197.17638, minor_axis_length = 93.66034, eccentricity = 0.87998, convex_area = 14645.00000, extent = 0.65727, type = C + area = 15982.00000, perimeter = 523.17401, major_axis_length = 220.01500, minor_axis_length = 94.21848, eccentricity = 0.90367, convex_area = 16337.00000, extent = 0.56920, type = C + area = 11174.00000, perimeter = 430.30499, major_axis_length = 175.48277, minor_axis_length = 83.01684, eccentricity = 0.88102, convex_area = 11604.00000, extent = 0.67366, type = O + area = 14811.00000, perimeter = 512.10999, major_axis_length = 217.73833, minor_axis_length = 87.48341, eccentricity = 0.91574, convex_area = 15090.00000, extent = 0.54917, type = C + area = 14557.00000, perimeter = 492.41299, major_axis_length = 205.10664, minor_axis_length = 91.44973, eccentricity = 0.89510, convex_area = 14961.00000, extent = 0.73565, type = C + area = 12071.00000, perimeter = 438.70001, major_axis_length = 178.78461, minor_axis_length = 87.50312, eccentricity = 0.87204, convex_area = 12437.00000, extent = 0.64537, type = O + area = 10297.00000, perimeter = 397.12500, major_axis_length = 160.82759, minor_axis_length = 82.35851, eccentricity = 0.85893, convex_area = 10488.00000, extent = 0.78471, type = O + area = 13927.00000, perimeter = 479.35501, major_axis_length = 202.79362, minor_axis_length = 88.48322, eccentricity = 0.89979, convex_area = 14264.00000, extent = 0.77085, type = C + area = 10846.00000, perimeter = 418.85199, major_axis_length = 172.20677, minor_axis_length = 81.69290, eccentricity = 0.88032, convex_area = 11069.00000, extent = 0.68274, type = O + area = 14586.00000, perimeter = 489.54401, major_axis_length = 206.59869, minor_axis_length = 91.26047, eccentricity = 0.89715, convex_area = 14897.00000, extent = 0.79557, type = C + area = 9273.00000, perimeter = 406.40201, major_axis_length = 173.41409, minor_axis_length = 68.80254, eccentricity = 0.91793, convex_area = 9445.00000, extent = 0.53010, type = O + area = 15167.00000, perimeter = 514.23102, major_axis_length = 220.54652, minor_axis_length = 88.99762, eccentricity = 0.91497, convex_area = 15456.00000, extent = 0.62803, type = C + area = 10570.00000, perimeter = 419.95300, major_axis_length = 181.80637, minor_axis_length = 74.52000, eccentricity = 0.91214, convex_area = 10781.00000, extent = 0.58592, type = O + area = 12256.00000, perimeter = 470.10800, major_axis_length = 207.98006, minor_axis_length = 75.71490, eccentricity = 0.93138, convex_area = 12541.00000, extent = 0.73831, type = C + area = 10795.00000, perimeter = 411.29999, major_axis_length = 168.38956, minor_axis_length = 82.64345, eccentricity = 0.87128, convex_area = 11029.00000, extent = 0.76043, type = O + area = 10956.00000, perimeter = 422.17200, major_axis_length = 178.35187, minor_axis_length = 79.15714, eccentricity = 0.89611, convex_area = 11131.00000, extent = 0.57313, type = O + area = 12478.00000, perimeter = 439.22198, major_axis_length = 176.34395, minor_axis_length = 91.28975, eccentricity = 0.85557, convex_area = 12754.00000, extent = 0.63582, type = O + area = 11492.00000, perimeter = 419.29700, major_axis_length = 165.42955, minor_axis_length = 89.53146, eccentricity = 0.84089, convex_area = 11747.00000, extent = 0.78734, type = O + area = 12358.00000, perimeter = 447.17401, major_axis_length = 183.46461, minor_axis_length = 87.74208, eccentricity = 0.87822, convex_area = 12586.00000, extent = 0.58458, type = O + area = 16505.00000, perimeter = 506.89600, major_axis_length = 207.34584, minor_axis_length = 103.24419, eccentricity = 0.86722, convex_area = 16782.00000, extent = 0.77817, type = C + area = 12646.00000, perimeter = 473.85599, major_axis_length = 204.03252, minor_axis_length = 79.89774, eccentricity = 0.92014, convex_area = 12949.00000, extent = 0.67604, type = O + area = 12158.00000, perimeter = 447.37701, major_axis_length = 184.09531, minor_axis_length = 84.91306, eccentricity = 0.88727, convex_area = 12467.00000, extent = 0.63158, type = C + area = 10806.00000, perimeter = 408.67599, major_axis_length = 163.71594, minor_axis_length = 85.63248, eccentricity = 0.85230, convex_area = 11069.00000, extent = 0.61144, type = O + area = 10213.00000, perimeter = 430.04401, major_axis_length = 187.31439, minor_axis_length = 69.94136, eccentricity = 0.92767, convex_area = 10392.00000, extent = 0.56344, type = O + area = 13665.00000, perimeter = 472.51599, major_axis_length = 199.54422, minor_axis_length = 87.68464, eccentricity = 0.89828, convex_area = 13944.00000, extent = 0.71142, type = C + area = 13742.00000, perimeter = 493.85400, major_axis_length = 212.60800, minor_axis_length = 84.88686, eccentricity = 0.91684, convex_area = 14272.00000, extent = 0.58323, type = C + area = 10198.00000, perimeter = 400.19501, major_axis_length = 166.59412, minor_axis_length = 78.23194, eccentricity = 0.88288, convex_area = 10351.00000, extent = 0.62499, type = O + area = 15809.00000, perimeter = 517.23297, major_axis_length = 222.42067, minor_axis_length = 91.56286, eccentricity = 0.91134, convex_area = 16025.00000, extent = 0.55689, type = C + area = 14011.00000, perimeter = 475.87299, major_axis_length = 197.72864, minor_axis_length = 91.15908, eccentricity = 0.88738, convex_area = 14315.00000, extent = 0.77761, type = C + area = 11052.00000, perimeter = 418.95001, major_axis_length = 170.46645, minor_axis_length = 83.59332, eccentricity = 0.87151, convex_area = 11338.00000, extent = 0.70198, type = O + area = 12387.00000, perimeter = 444.22501, major_axis_length = 178.09758, minor_axis_length = 90.58177, eccentricity = 0.86100, convex_area = 12753.00000, extent = 0.64328, type = O + area = 12042.00000, perimeter = 433.76999, major_axis_length = 178.77644, minor_axis_length = 86.52510, eccentricity = 0.87508, convex_area = 12257.00000, extent = 0.78644, type = O + area = 14053.00000, perimeter = 482.08401, major_axis_length = 204.37863, minor_axis_length = 88.23911, eccentricity = 0.90200, convex_area = 14316.00000, extent = 0.71335, type = C + area = 13782.00000, perimeter = 471.13101, major_axis_length = 194.43834, minor_axis_length = 90.97846, eccentricity = 0.88378, convex_area = 14000.00000, extent = 0.59662, type = C + area = 12289.00000, perimeter = 451.57599, major_axis_length = 189.72537, minor_axis_length = 83.07783, eccentricity = 0.89903, convex_area = 12649.00000, extent = 0.68823, type = O + area = 11976.00000, perimeter = 444.64401, major_axis_length = 188.98186, minor_axis_length = 81.36696, eccentricity = 0.90256, convex_area = 12149.00000, extent = 0.55801, type = O + area = 15809.00000, perimeter = 521.49701, major_axis_length = 224.52165, minor_axis_length = 90.60512, eccentricity = 0.91496, convex_area = 16150.00000, extent = 0.56461, type = C + area = 14023.00000, perimeter = 491.66901, major_axis_length = 211.15919, minor_axis_length = 85.50137, eccentricity = 0.91435, convex_area = 14262.00000, extent = 0.53914, type = C + area = 13952.00000, perimeter = 484.94699, major_axis_length = 201.32283, minor_axis_length = 89.51038, eccentricity = 0.89572, convex_area = 14349.00000, extent = 0.65641, type = C + area = 7833.00000, perimeter = 373.15701, major_axis_length = 162.51643, minor_axis_length = 63.56500, eccentricity = 0.92034, convex_area = 8015.00000, extent = 0.76975, type = O + area = 12473.00000, perimeter = 470.34000, major_axis_length = 202.44283, minor_axis_length = 79.02430, eccentricity = 0.92066, convex_area = 12806.00000, extent = 0.52598, type = C + area = 15071.00000, perimeter = 494.13501, major_axis_length = 200.59483, minor_axis_length = 97.39329, eccentricity = 0.87422, convex_area = 15575.00000, extent = 0.68921, type = C + area = 16679.00000, perimeter = 528.55200, major_axis_length = 222.77959, minor_axis_length = 96.64007, eccentricity = 0.90101, convex_area = 17006.00000, extent = 0.56917, type = C + area = 13901.00000, perimeter = 478.84900, major_axis_length = 200.44191, minor_axis_length = 89.34199, eccentricity = 0.89517, convex_area = 14232.00000, extent = 0.56855, type = C + area = 11671.00000, perimeter = 459.78000, major_axis_length = 199.40321, minor_axis_length = 75.45848, eccentricity = 0.92563, convex_area = 12110.00000, extent = 0.64321, type = C + area = 12671.00000, perimeter = 448.12000, major_axis_length = 181.49382, minor_axis_length = 90.35111, eccentricity = 0.86728, convex_area = 12949.00000, extent = 0.74065, type = O + area = 12972.00000, perimeter = 467.38000, major_axis_length = 194.52908, minor_axis_length = 86.50668, eccentricity = 0.89568, convex_area = 13425.00000, extent = 0.77468, type = C + area = 13328.00000, perimeter = 489.38599, major_axis_length = 217.28561, minor_axis_length = 78.70891, eccentricity = 0.93209, convex_area = 13530.00000, extent = 0.75744, type = C + area = 12162.00000, perimeter = 454.77600, major_axis_length = 191.12080, minor_axis_length = 82.31743, eccentricity = 0.90249, convex_area = 12493.00000, extent = 0.74522, type = C + area = 12907.00000, perimeter = 466.23999, major_axis_length = 194.46927, minor_axis_length = 85.91095, eccentricity = 0.89713, convex_area = 13268.00000, extent = 0.63541, type = C + area = 10193.00000, perimeter = 409.79501, major_axis_length = 174.16962, minor_axis_length = 75.03091, eccentricity = 0.90245, convex_area = 10377.00000, extent = 0.75644, type = O + area = 13820.00000, perimeter = 489.94199, major_axis_length = 207.00410, minor_axis_length = 86.23711, eccentricity = 0.90909, convex_area = 14195.00000, extent = 0.63940, type = C + area = 9843.00000, perimeter = 383.11600, major_axis_length = 154.95032, minor_axis_length = 81.35683, eccentricity = 0.85107, convex_area = 10024.00000, extent = 0.70227, type = O + area = 14918.00000, perimeter = 500.27100, major_axis_length = 210.42461, minor_axis_length = 91.21054, eccentricity = 0.90117, convex_area = 15185.00000, extent = 0.64073, type = C + area = 15404.00000, perimeter = 499.23099, major_axis_length = 206.08693, minor_axis_length = 95.63304, eccentricity = 0.88581, convex_area = 15740.00000, extent = 0.62476, type = C + area = 13253.00000, perimeter = 473.44199, major_axis_length = 198.61066, minor_axis_length = 85.91887, eccentricity = 0.90159, convex_area = 13535.00000, extent = 0.68997, type = C + area = 14034.00000, perimeter = 491.73199, major_axis_length = 205.50511, minor_axis_length = 88.35206, eccentricity = 0.90286, convex_area = 14448.00000, extent = 0.55591, type = C + area = 10346.00000, perimeter = 402.58099, major_axis_length = 167.27846, minor_axis_length = 79.82422, eccentricity = 0.87880, convex_area = 10479.00000, extent = 0.58972, type = O + area = 12267.00000, perimeter = 429.69400, major_axis_length = 171.37064, minor_axis_length = 92.45802, eccentricity = 0.84197, convex_area = 12520.00000, extent = 0.77590, type = O + area = 13524.00000, perimeter = 487.46899, major_axis_length = 208.15343, minor_axis_length = 83.61427, eccentricity = 0.91577, convex_area = 13830.00000, extent = 0.63792, type = C + area = 14572.00000, perimeter = 497.55099, major_axis_length = 211.08046, minor_axis_length = 88.70968, eccentricity = 0.90740, convex_area = 14926.00000, extent = 0.62659, type = C + area = 16582.00000, perimeter = 532.35797, major_axis_length = 223.35884, minor_axis_length = 95.74972, eccentricity = 0.90346, convex_area = 17089.00000, extent = 0.71431, type = C + area = 11510.00000, perimeter = 433.51401, major_axis_length = 180.38232, minor_axis_length = 82.62196, eccentricity = 0.88893, convex_area = 11827.00000, extent = 0.76703, type = C + area = 13491.00000, perimeter = 475.34500, major_axis_length = 198.66234, minor_axis_length = 87.65083, eccentricity = 0.89741, convex_area = 13812.00000, extent = 0.69883, type = C + area = 10733.00000, perimeter = 402.41901, major_axis_length = 166.23431, minor_axis_length = 82.70548, eccentricity = 0.86745, convex_area = 10876.00000, extent = 0.70612, type = O + area = 15543.00000, perimeter = 507.38501, major_axis_length = 211.65121, minor_axis_length = 94.57140, eccentricity = 0.89462, convex_area = 15976.00000, extent = 0.65293, type = C + area = 10777.00000, perimeter = 409.27301, major_axis_length = 165.13802, minor_axis_length = 84.58022, eccentricity = 0.85888, convex_area = 10987.00000, extent = 0.80648, type = O + area = 13493.00000, perimeter = 480.52899, major_axis_length = 205.57306, minor_axis_length = 84.68375, eccentricity = 0.91121, convex_area = 13843.00000, extent = 0.79689, type = C + area = 11869.00000, perimeter = 434.25201, major_axis_length = 177.87265, minor_axis_length = 86.16555, eccentricity = 0.87483, convex_area = 12144.00000, extent = 0.62151, type = O + area = 11251.00000, perimeter = 431.70901, major_axis_length = 181.78958, minor_axis_length = 79.82994, eccentricity = 0.89842, convex_area = 11408.00000, extent = 0.56227, type = O + area = 13662.00000, perimeter = 466.74799, major_axis_length = 191.40512, minor_axis_length = 91.91515, eccentricity = 0.87715, convex_area = 13875.00000, extent = 0.58746, type = C + area = 10964.00000, perimeter = 417.98700, major_axis_length = 171.39023, minor_axis_length = 82.60121, eccentricity = 0.87620, convex_area = 11247.00000, extent = 0.59668, type = O + area = 15381.00000, perimeter = 503.57901, major_axis_length = 211.88353, minor_axis_length = 93.30975, eccentricity = 0.89781, convex_area = 15749.00000, extent = 0.74033, type = C + area = 13444.00000, perimeter = 474.59299, major_axis_length = 197.95042, minor_axis_length = 87.63919, eccentricity = 0.89665, convex_area = 13881.00000, extent = 0.65661, type = C + area = 11891.00000, perimeter = 430.30099, major_axis_length = 175.01674, minor_axis_length = 87.99029, eccentricity = 0.86443, convex_area = 12170.00000, extent = 0.61039, type = O + area = 10604.00000, perimeter = 409.51099, major_axis_length = 172.30270, minor_axis_length = 78.91883, eccentricity = 0.88894, convex_area = 10755.00000, extent = 0.58618, type = O + area = 9759.00000, perimeter = 391.48401, major_axis_length = 159.02814, minor_axis_length = 79.17798, eccentricity = 0.86724, convex_area = 9999.00000, extent = 0.73211, type = O + area = 12990.00000, perimeter = 469.48001, major_axis_length = 200.51541, minor_axis_length = 83.43035, eccentricity = 0.90933, convex_area = 13214.00000, extent = 0.70121, type = C + area = 13418.00000, perimeter = 474.90100, major_axis_length = 194.54570, minor_axis_length = 89.70831, eccentricity = 0.88734, convex_area = 13973.00000, extent = 0.60431, type = C + area = 12198.00000, perimeter = 440.20099, major_axis_length = 180.95660, minor_axis_length = 86.97328, eccentricity = 0.87692, convex_area = 12412.00000, extent = 0.60030, type = O + area = 13722.00000, perimeter = 482.34299, major_axis_length = 202.27818, minor_axis_length = 87.75389, eccentricity = 0.90100, convex_area = 14189.00000, extent = 0.60567, type = C + area = 13263.00000, perimeter = 474.49799, major_axis_length = 197.84290, minor_axis_length = 86.68632, eccentricity = 0.89890, convex_area = 13607.00000, extent = 0.56009, type = C + area = 10736.00000, perimeter = 416.79999, major_axis_length = 176.13525, minor_axis_length = 78.64362, eccentricity = 0.89479, convex_area = 10930.00000, extent = 0.79810, type = O + area = 14272.00000, perimeter = 487.70300, major_axis_length = 207.79874, minor_axis_length = 88.06716, eccentricity = 0.90575, convex_area = 14510.00000, extent = 0.58301, type = C + area = 15534.00000, perimeter = 521.92999, major_axis_length = 221.58566, minor_axis_length = 90.55495, eccentricity = 0.91268, convex_area = 16187.00000, extent = 0.70834, type = C + area = 10697.00000, perimeter = 408.84399, major_axis_length = 163.87523, minor_axis_length = 84.58505, eccentricity = 0.85650, convex_area = 10995.00000, extent = 0.75811, type = O + area = 11873.00000, perimeter = 432.33301, major_axis_length = 175.09715, minor_axis_length = 87.68571, eccentricity = 0.86557, convex_area = 12162.00000, extent = 0.65093, type = O + area = 14930.00000, perimeter = 506.78101, major_axis_length = 207.59666, minor_axis_length = 92.55151, eccentricity = 0.89512, convex_area = 15361.00000, extent = 0.61251, type = C + area = 13450.00000, perimeter = 470.97601, major_axis_length = 200.60817, minor_axis_length = 85.92672, eccentricity = 0.90362, convex_area = 13728.00000, extent = 0.56375, type = C + area = 14398.00000, perimeter = 487.72400, major_axis_length = 210.09169, minor_axis_length = 87.59720, eccentricity = 0.90893, convex_area = 14654.00000, extent = 0.78532, type = C + area = 14209.00000, perimeter = 496.27200, major_axis_length = 208.82291, minor_axis_length = 87.75803, eccentricity = 0.90741, convex_area = 14667.00000, extent = 0.56573, type = C + area = 13109.00000, perimeter = 484.99301, major_axis_length = 204.72830, minor_axis_length = 82.84824, eccentricity = 0.91446, convex_area = 13497.00000, extent = 0.52512, type = C + area = 14115.00000, perimeter = 490.40799, major_axis_length = 207.95955, minor_axis_length = 87.42121, eccentricity = 0.90735, convex_area = 14580.00000, extent = 0.57058, type = C + area = 12188.00000, perimeter = 435.86099, major_axis_length = 182.03267, minor_axis_length = 85.78117, eccentricity = 0.88200, convex_area = 12363.00000, extent = 0.76577, type = O + area = 15691.00000, perimeter = 511.84900, major_axis_length = 213.61217, minor_axis_length = 94.91935, eccentricity = 0.89585, convex_area = 16124.00000, extent = 0.65915, type = C + area = 11710.00000, perimeter = 424.49100, major_axis_length = 173.79004, minor_axis_length = 86.49895, eccentricity = 0.86734, convex_area = 11880.00000, extent = 0.73279, type = O + area = 9584.00000, perimeter = 390.00400, major_axis_length = 162.29663, minor_axis_length = 75.98748, eccentricity = 0.88362, convex_area = 9757.00000, extent = 0.80946, type = O + area = 10491.00000, perimeter = 411.99500, major_axis_length = 174.70581, minor_axis_length = 77.03625, eccentricity = 0.89753, convex_area = 10658.00000, extent = 0.76762, type = O + area = 14818.00000, perimeter = 499.35999, major_axis_length = 208.87550, minor_axis_length = 91.91077, eccentricity = 0.89798, convex_area = 15204.00000, extent = 0.57541, type = C + area = 14654.00000, perimeter = 498.10300, major_axis_length = 214.65430, minor_axis_length = 87.38055, eccentricity = 0.91339, convex_area = 14907.00000, extent = 0.80375, type = C + area = 11856.00000, perimeter = 431.86301, major_axis_length = 174.35243, minor_axis_length = 88.68266, eccentricity = 0.86098, convex_area = 12188.00000, extent = 0.61507, type = O + area = 15035.00000, perimeter = 486.65302, major_axis_length = 198.21983, minor_axis_length = 97.85750, eccentricity = 0.86964, convex_area = 15279.00000, extent = 0.62376, type = C + area = 12244.00000, perimeter = 442.19000, major_axis_length = 179.90146, minor_axis_length = 87.80759, eccentricity = 0.87279, convex_area = 12568.00000, extent = 0.63270, type = O + area = 15236.00000, perimeter = 497.27701, major_axis_length = 209.16156, minor_axis_length = 94.06530, eccentricity = 0.89317, convex_area = 15563.00000, extent = 0.76371, type = C + area = 12278.00000, perimeter = 453.69299, major_axis_length = 184.05016, minor_axis_length = 86.66009, eccentricity = 0.88221, convex_area = 12601.00000, extent = 0.62983, type = O + area = 10246.00000, perimeter = 406.37100, major_axis_length = 163.89470, minor_axis_length = 81.50822, eccentricity = 0.86757, convex_area = 10655.00000, extent = 0.70711, type = O + area = 10864.00000, perimeter = 426.57800, major_axis_length = 174.11014, minor_axis_length = 81.12305, eccentricity = 0.88482, convex_area = 11170.00000, extent = 0.57812, type = O + area = 11141.00000, perimeter = 431.92499, major_axis_length = 181.24011, minor_axis_length = 79.11578, eccentricity = 0.89969, convex_area = 11372.00000, extent = 0.79065, type = C + area = 13172.00000, perimeter = 450.29001, major_axis_length = 178.61812, minor_axis_length = 95.82072, eccentricity = 0.84393, convex_area = 13499.00000, extent = 0.63633, type = O + area = 10559.00000, perimeter = 424.84698, major_axis_length = 179.20773, minor_axis_length = 76.38802, eccentricity = 0.90460, convex_area = 10770.00000, extent = 0.67033, type = O + area = 11293.00000, perimeter = 424.62399, major_axis_length = 178.36342, minor_axis_length = 81.41405, eccentricity = 0.88975, convex_area = 11473.00000, extent = 0.74610, type = O + area = 14828.00000, perimeter = 493.50000, major_axis_length = 209.90356, minor_axis_length = 90.66991, eccentricity = 0.90189, convex_area = 15090.00000, extent = 0.60651, type = C + area = 13871.00000, perimeter = 496.57901, major_axis_length = 212.57080, minor_axis_length = 83.77424, eccentricity = 0.91907, convex_area = 14344.00000, extent = 0.52782, type = C + area = 10826.00000, perimeter = 414.22299, major_axis_length = 168.25279, minor_axis_length = 82.88859, eccentricity = 0.87023, convex_area = 11040.00000, extent = 0.61550, type = O + area = 15600.00000, perimeter = 502.84299, major_axis_length = 205.27551, minor_axis_length = 99.05281, eccentricity = 0.87588, convex_area = 16130.00000, extent = 0.72142, type = C + area = 14421.00000, perimeter = 507.80499, major_axis_length = 213.88568, minor_axis_length = 86.87624, eccentricity = 0.91379, convex_area = 14881.00000, extent = 0.65094, type = C + area = 11465.00000, perimeter = 434.13501, major_axis_length = 180.83508, minor_axis_length = 82.00426, eccentricity = 0.89127, convex_area = 11727.00000, extent = 0.65061, type = O + area = 11394.00000, perimeter = 416.16299, major_axis_length = 167.26898, minor_axis_length = 88.10797, eccentricity = 0.85002, convex_area = 11543.00000, extent = 0.78422, type = O + area = 13198.00000, perimeter = 468.45599, major_axis_length = 200.49115, minor_axis_length = 84.69169, eccentricity = 0.90640, convex_area = 13455.00000, extent = 0.73192, type = C + area = 15043.00000, perimeter = 498.29901, major_axis_length = 206.01170, minor_axis_length = 94.76669, eccentricity = 0.88792, convex_area = 15414.00000, extent = 0.58688, type = C + area = 10365.00000, perimeter = 416.33899, major_axis_length = 169.58658, minor_axis_length = 79.64149, eccentricity = 0.88287, convex_area = 10684.00000, extent = 0.59296, type = O + area = 11538.00000, perimeter = 446.85699, major_axis_length = 189.68529, minor_axis_length = 78.97429, eccentricity = 0.90921, convex_area = 11852.00000, extent = 0.57994, type = C + area = 13062.00000, perimeter = 467.46399, major_axis_length = 197.80243, minor_axis_length = 85.39855, eccentricity = 0.90200, convex_area = 13272.00000, extent = 0.62408, type = C + area = 12588.00000, perimeter = 445.29800, major_axis_length = 181.65675, minor_axis_length = 89.52711, eccentricity = 0.87012, convex_area = 12865.00000, extent = 0.77713, type = O + area = 14930.00000, perimeter = 499.92499, major_axis_length = 212.24582, minor_axis_length = 90.01748, eccentricity = 0.90561, convex_area = 15248.00000, extent = 0.62437, type = C + area = 12692.00000, perimeter = 465.17200, major_axis_length = 193.20732, minor_axis_length = 85.29054, eccentricity = 0.89729, convex_area = 13118.00000, extent = 0.71480, type = C + area = 11719.00000, perimeter = 436.42499, major_axis_length = 180.11569, minor_axis_length = 83.87120, eccentricity = 0.88497, convex_area = 11922.00000, extent = 0.68332, type = O + area = 14146.00000, perimeter = 504.35599, major_axis_length = 214.06288, minor_axis_length = 85.74496, eccentricity = 0.91627, convex_area = 14716.00000, extent = 0.62527, type = C + area = 13568.00000, perimeter = 482.45700, major_axis_length = 201.88048, minor_axis_length = 87.07385, eccentricity = 0.90220, convex_area = 14068.00000, extent = 0.63580, type = C + area = 12091.00000, perimeter = 442.00000, major_axis_length = 181.21178, minor_axis_length = 86.29922, eccentricity = 0.87932, convex_area = 12400.00000, extent = 0.63503, type = O + area = 11396.00000, perimeter = 446.28299, major_axis_length = 192.23241, minor_axis_length = 76.52646, eccentricity = 0.91734, convex_area = 11692.00000, extent = 0.64515, type = C + area = 9668.00000, perimeter = 393.71399, major_axis_length = 159.52293, minor_axis_length = 78.49077, eccentricity = 0.87058, convex_area = 9882.00000, extent = 0.60417, type = O + area = 13983.00000, perimeter = 483.66800, major_axis_length = 201.48521, minor_axis_length = 89.05701, eccentricity = 0.89701, convex_area = 14320.00000, extent = 0.56749, type = C + area = 11874.00000, perimeter = 435.93600, major_axis_length = 177.28003, minor_axis_length = 86.48964, eccentricity = 0.87292, convex_area = 12097.00000, extent = 0.72248, type = O + area = 12003.00000, perimeter = 433.52100, major_axis_length = 178.55038, minor_axis_length = 86.43273, eccentricity = 0.87502, convex_area = 12171.00000, extent = 0.76648, type = O + area = 12110.00000, perimeter = 421.95499, major_axis_length = 164.96596, minor_axis_length = 94.69146, eccentricity = 0.81885, convex_area = 12319.00000, extent = 0.66110, type = O + area = 10286.00000, perimeter = 406.71301, major_axis_length = 171.05067, minor_axis_length = 77.44872, eccentricity = 0.89162, convex_area = 10469.00000, extent = 0.61845, type = O + area = 11393.00000, perimeter = 428.27899, major_axis_length = 177.33170, minor_axis_length = 82.80523, eccentricity = 0.88428, convex_area = 11627.00000, extent = 0.69402, type = O + area = 11353.00000, perimeter = 431.47900, major_axis_length = 182.00241, minor_axis_length = 80.06296, eccentricity = 0.89805, convex_area = 11579.00000, extent = 0.71664, type = C + area = 15371.00000, perimeter = 497.66501, major_axis_length = 212.74893, minor_axis_length = 92.46557, eccentricity = 0.90061, convex_area = 15587.00000, extent = 0.81208, type = C + area = 11382.00000, perimeter = 418.33600, major_axis_length = 169.88297, minor_axis_length = 86.66009, eccentricity = 0.86011, convex_area = 11575.00000, extent = 0.62000, type = O + area = 12325.00000, perimeter = 454.04901, major_axis_length = 192.69505, minor_axis_length = 82.55291, eccentricity = 0.90358, convex_area = 12583.00000, extent = 0.78603, type = O + area = 12152.00000, perimeter = 454.21201, major_axis_length = 198.89960, minor_axis_length = 78.32301, eccentricity = 0.91920, convex_area = 12338.00000, extent = 0.78547, type = O + area = 12357.00000, perimeter = 452.98300, major_axis_length = 189.57811, minor_axis_length = 84.28503, eccentricity = 0.89573, convex_area = 12666.00000, extent = 0.64662, type = O + area = 15486.00000, perimeter = 492.69400, major_axis_length = 204.37213, minor_axis_length = 97.67800, eccentricity = 0.87839, convex_area = 15688.00000, extent = 0.60116, type = C + area = 13443.00000, perimeter = 469.45401, major_axis_length = 196.63802, minor_axis_length = 87.97915, eccentricity = 0.89433, convex_area = 13686.00000, extent = 0.57226, type = O + area = 10015.00000, perimeter = 402.45599, major_axis_length = 159.72668, minor_axis_length = 81.87761, eccentricity = 0.85862, convex_area = 10408.00000, extent = 0.60697, type = O + area = 12075.00000, perimeter = 430.47101, major_axis_length = 176.18282, minor_axis_length = 88.51406, eccentricity = 0.86464, convex_area = 12248.00000, extent = 0.80233, type = O + area = 11264.00000, perimeter = 423.39099, major_axis_length = 172.13951, minor_axis_length = 84.22161, eccentricity = 0.87214, convex_area = 11476.00000, extent = 0.73243, type = O + area = 12734.00000, perimeter = 462.23300, major_axis_length = 188.15637, minor_axis_length = 87.74284, eccentricity = 0.88461, convex_area = 13069.00000, extent = 0.58520, type = O + area = 12735.00000, perimeter = 440.73300, major_axis_length = 175.24608, minor_axis_length = 94.10067, eccentricity = 0.84361, convex_area = 13037.00000, extent = 0.79969, type = O + area = 14440.00000, perimeter = 498.11899, major_axis_length = 210.27353, minor_axis_length = 88.98815, eccentricity = 0.90604, convex_area = 14918.00000, extent = 0.77630, type = C + area = 11119.00000, perimeter = 427.04599, major_axis_length = 178.81313, minor_axis_length = 80.61784, eccentricity = 0.89260, convex_area = 11420.00000, extent = 0.79071, type = O + area = 14720.00000, perimeter = 494.86200, major_axis_length = 207.09271, minor_axis_length = 91.49889, eccentricity = 0.89710, convex_area = 15071.00000, extent = 0.70400, type = C + area = 13737.00000, perimeter = 484.38501, major_axis_length = 209.54352, minor_axis_length = 84.16575, eccentricity = 0.91579, convex_area = 13944.00000, extent = 0.60521, type = C + area = 11411.00000, perimeter = 429.10101, major_axis_length = 175.35614, minor_axis_length = 83.65203, eccentricity = 0.87888, convex_area = 11636.00000, extent = 0.59806, type = O + area = 12711.00000, perimeter = 458.73300, major_axis_length = 188.31543, minor_axis_length = 86.86007, eccentricity = 0.88727, convex_area = 13092.00000, extent = 0.57830, type = O + area = 13387.00000, perimeter = 458.95599, major_axis_length = 180.40082, minor_axis_length = 95.74206, eccentricity = 0.84755, convex_area = 13653.00000, extent = 0.63296, type = O + area = 11955.00000, perimeter = 454.08600, major_axis_length = 196.83553, minor_axis_length = 78.12479, eccentricity = 0.91786, convex_area = 12127.00000, extent = 0.55812, type = O + area = 13333.00000, perimeter = 472.38400, major_axis_length = 200.93857, minor_axis_length = 85.17281, eccentricity = 0.90572, convex_area = 13585.00000, extent = 0.68026, type = C + area = 10870.00000, perimeter = 409.49100, major_axis_length = 169.20607, minor_axis_length = 82.09532, eccentricity = 0.87441, convex_area = 11030.00000, extent = 0.67024, type = O + area = 11718.00000, perimeter = 439.20401, major_axis_length = 182.26459, minor_axis_length = 82.59560, eccentricity = 0.89143, convex_area = 11967.00000, extent = 0.64884, type = O + area = 8848.00000, perimeter = 369.77802, major_axis_length = 150.27876, minor_axis_length = 76.50945, eccentricity = 0.86070, convex_area = 9009.00000, extent = 0.63581, type = O + area = 12491.00000, perimeter = 457.14099, major_axis_length = 194.87546, minor_axis_length = 82.49109, eccentricity = 0.90599, convex_area = 12721.00000, extent = 0.77048, type = C + area = 12994.00000, perimeter = 453.94101, major_axis_length = 192.16599, minor_axis_length = 86.55553, eccentricity = 0.89282, convex_area = 13152.00000, extent = 0.81416, type = O + area = 13806.00000, perimeter = 490.51001, major_axis_length = 209.72084, minor_axis_length = 85.13124, eccentricity = 0.91391, convex_area = 14284.00000, extent = 0.79587, type = C + area = 10917.00000, perimeter = 420.91101, major_axis_length = 176.43095, minor_axis_length = 80.17513, eccentricity = 0.89078, convex_area = 11128.00000, extent = 0.65908, type = O + area = 10844.00000, perimeter = 412.66400, major_axis_length = 171.03000, minor_axis_length = 81.49285, eccentricity = 0.87918, convex_area = 11046.00000, extent = 0.81706, type = O + area = 13780.00000, perimeter = 497.42801, major_axis_length = 221.72290, minor_axis_length = 79.95213, eccentricity = 0.93272, convex_area = 14010.00000, extent = 0.55078, type = C + area = 12536.00000, perimeter = 475.14600, major_axis_length = 205.76595, minor_axis_length = 78.26070, eccentricity = 0.92485, convex_area = 12798.00000, extent = 0.69490, type = C + area = 11838.00000, perimeter = 440.25601, major_axis_length = 181.32327, minor_axis_length = 83.83839, eccentricity = 0.88669, convex_area = 12165.00000, extent = 0.60152, type = C + area = 13139.00000, perimeter = 472.25101, major_axis_length = 202.59767, minor_axis_length = 83.79178, eccentricity = 0.91046, convex_area = 13379.00000, extent = 0.78367, type = C + area = 13644.00000, perimeter = 473.17801, major_axis_length = 200.29051, minor_axis_length = 87.84367, eccentricity = 0.89869, convex_area = 13859.00000, extent = 0.67679, type = C + area = 11189.00000, perimeter = 427.47101, major_axis_length = 176.94299, minor_axis_length = 81.42934, eccentricity = 0.88781, convex_area = 11422.00000, extent = 0.59911, type = O + area = 9483.00000, perimeter = 390.99799, major_axis_length = 157.25992, minor_axis_length = 78.63333, eccentricity = 0.86601, convex_area = 9817.00000, extent = 0.65786, type = O + area = 11614.00000, perimeter = 418.86801, major_axis_length = 168.93079, minor_axis_length = 88.24200, eccentricity = 0.85273, convex_area = 11803.00000, extent = 0.67071, type = O + area = 11994.00000, perimeter = 444.76099, major_axis_length = 183.44913, minor_axis_length = 84.42697, eccentricity = 0.88780, convex_area = 12262.00000, extent = 0.72419, type = O + area = 14792.00000, perimeter = 499.20300, major_axis_length = 206.16061, minor_axis_length = 92.68034, eccentricity = 0.89325, convex_area = 15326.00000, extent = 0.69469, type = C + area = 15398.00000, perimeter = 513.02301, major_axis_length = 214.05426, minor_axis_length = 93.68449, eccentricity = 0.89914, convex_area = 15936.00000, extent = 0.69504, type = C + area = 14880.00000, perimeter = 502.88101, major_axis_length = 217.99866, minor_axis_length = 87.55461, eccentricity = 0.91580, convex_area = 15129.00000, extent = 0.57670, type = C + area = 10975.00000, perimeter = 412.73801, major_axis_length = 169.45012, minor_axis_length = 83.24361, eccentricity = 0.87101, convex_area = 11149.00000, extent = 0.78708, type = O + area = 12442.00000, perimeter = 459.53500, major_axis_length = 187.50885, minor_axis_length = 87.18730, eccentricity = 0.88532, convex_area = 12941.00000, extent = 0.58758, type = C + area = 11669.00000, perimeter = 417.84100, major_axis_length = 170.12775, minor_axis_length = 87.80727, eccentricity = 0.85651, convex_area = 11847.00000, extent = 0.76977, type = O + area = 11734.00000, perimeter = 430.28000, major_axis_length = 181.88730, minor_axis_length = 82.55502, eccentricity = 0.89106, convex_area = 11875.00000, extent = 0.79943, type = O + area = 13002.00000, perimeter = 460.12701, major_axis_length = 191.42421, minor_axis_length = 87.77464, eccentricity = 0.88868, convex_area = 13325.00000, extent = 0.67945, type = C + area = 11488.00000, perimeter = 416.37799, major_axis_length = 170.40480, minor_axis_length = 86.13889, eccentricity = 0.86283, convex_area = 11663.00000, extent = 0.75321, type = O + area = 13121.00000, perimeter = 475.91000, major_axis_length = 202.68623, minor_axis_length = 83.13022, eccentricity = 0.91202, convex_area = 13439.00000, extent = 0.57197, type = C + area = 11780.00000, perimeter = 444.99200, major_axis_length = 190.96028, minor_axis_length = 78.85174, eccentricity = 0.91077, convex_area = 11956.00000, extent = 0.78070, type = O + area = 10871.00000, perimeter = 414.67401, major_axis_length = 165.74614, minor_axis_length = 85.62849, eccentricity = 0.85621, convex_area = 11224.00000, extent = 0.76610, type = O + area = 9630.00000, perimeter = 396.89301, major_axis_length = 163.84654, minor_axis_length = 75.77573, eccentricity = 0.88663, convex_area = 9935.00000, extent = 0.72515, type = O + area = 11354.00000, perimeter = 426.87299, major_axis_length = 172.39626, minor_axis_length = 85.40240, eccentricity = 0.86867, convex_area = 11703.00000, extent = 0.72922, type = O + area = 14602.00000, perimeter = 500.23300, major_axis_length = 218.48805, minor_axis_length = 85.67758, eccentricity = 0.91991, convex_area = 14827.00000, extent = 0.58364, type = C + area = 10878.00000, perimeter = 423.79300, major_axis_length = 179.84694, minor_axis_length = 77.79790, eccentricity = 0.90160, convex_area = 11015.00000, extent = 0.58016, type = O + area = 10144.00000, perimeter = 416.15100, major_axis_length = 173.66582, minor_axis_length = 75.35471, eccentricity = 0.90096, convex_area = 10414.00000, extent = 0.57040, type = O + area = 14850.00000, perimeter = 499.20700, major_axis_length = 210.13364, minor_axis_length = 91.14337, eccentricity = 0.90104, convex_area = 15327.00000, extent = 0.58901, type = C + area = 15611.00000, perimeter = 506.54700, major_axis_length = 215.20073, minor_axis_length = 93.39229, eccentricity = 0.90092, convex_area = 15806.00000, extent = 0.73219, type = C + area = 13907.00000, perimeter = 485.72000, major_axis_length = 202.58109, minor_axis_length = 89.20242, eccentricity = 0.89784, convex_area = 14358.00000, extent = 0.55572, type = C + area = 14159.00000, perimeter = 489.43600, major_axis_length = 209.13132, minor_axis_length = 87.11465, eccentricity = 0.90911, convex_area = 14410.00000, extent = 0.54795, type = C + area = 13658.00000, perimeter = 499.37399, major_axis_length = 206.50974, minor_axis_length = 85.75655, eccentricity = 0.90970, convex_area = 14177.00000, extent = 0.54027, type = C + area = 15676.00000, perimeter = 511.66599, major_axis_length = 215.81372, minor_axis_length = 93.56567, eccentricity = 0.90113, convex_area = 16016.00000, extent = 0.77928, type = C + area = 11454.00000, perimeter = 419.31299, major_axis_length = 174.17632, minor_axis_length = 84.37674, eccentricity = 0.87483, convex_area = 11604.00000, extent = 0.82214, type = O + area = 14980.00000, perimeter = 503.81699, major_axis_length = 214.18651, minor_axis_length = 89.89458, eccentricity = 0.90766, convex_area = 15361.00000, extent = 0.73540, type = C + area = 17404.00000, perimeter = 521.86499, major_axis_length = 211.06302, minor_axis_length = 106.33782, eccentricity = 0.86381, convex_area = 17739.00000, extent = 0.68466, type = C + area = 12378.00000, perimeter = 454.06201, major_axis_length = 195.47214, minor_axis_length = 81.28996, eccentricity = 0.90943, convex_area = 12570.00000, extent = 0.55656, type = O + area = 12209.00000, perimeter = 445.88901, major_axis_length = 184.87573, minor_axis_length = 85.02141, eccentricity = 0.88798, convex_area = 12418.00000, extent = 0.61740, type = O + area = 15004.00000, perimeter = 506.94400, major_axis_length = 218.60362, minor_axis_length = 88.09037, eccentricity = 0.91521, convex_area = 15277.00000, extent = 0.71488, type = C + area = 14284.00000, perimeter = 499.91501, major_axis_length = 213.16606, minor_axis_length = 86.92616, eccentricity = 0.91308, convex_area = 14678.00000, extent = 0.70458, type = C + area = 12089.00000, perimeter = 440.72601, major_axis_length = 179.96233, minor_axis_length = 86.65957, eccentricity = 0.87642, convex_area = 12390.00000, extent = 0.66687, type = O + area = 15595.00000, perimeter = 501.49399, major_axis_length = 207.89095, minor_axis_length = 96.88516, eccentricity = 0.88476, convex_area = 16030.00000, extent = 0.76842, type = C + area = 16094.00000, perimeter = 504.12601, major_axis_length = 208.37119, minor_axis_length = 99.03030, eccentricity = 0.87985, convex_area = 16325.00000, extent = 0.64853, type = C + area = 11973.00000, perimeter = 436.18301, major_axis_length = 177.13417, minor_axis_length = 87.45832, eccentricity = 0.86961, convex_area = 12197.00000, extent = 0.59889, type = O + area = 11873.00000, perimeter = 430.04401, major_axis_length = 176.72914, minor_axis_length = 86.37125, eccentricity = 0.87244, convex_area = 12086.00000, extent = 0.60422, type = O + area = 12767.00000, perimeter = 463.84201, major_axis_length = 196.19304, minor_axis_length = 83.97356, eccentricity = 0.90377, convex_area = 13104.00000, extent = 0.60622, type = C + area = 11635.00000, perimeter = 436.33401, major_axis_length = 179.39749, minor_axis_length = 84.01840, eccentricity = 0.88355, convex_area = 11920.00000, extent = 0.66592, type = O + area = 15135.00000, perimeter = 506.43500, major_axis_length = 208.72266, minor_axis_length = 93.81931, eccentricity = 0.89328, convex_area = 15656.00000, extent = 0.57451, type = C + area = 10955.00000, perimeter = 419.99500, major_axis_length = 172.93109, minor_axis_length = 81.46967, eccentricity = 0.88207, convex_area = 11147.00000, extent = 0.61459, type = O + area = 12074.00000, perimeter = 435.07800, major_axis_length = 181.39030, minor_axis_length = 85.69112, eccentricity = 0.88138, convex_area = 12257.00000, extent = 0.69909, type = O + area = 10634.00000, perimeter = 409.50601, major_axis_length = 167.43697, minor_axis_length = 81.81296, eccentricity = 0.87250, convex_area = 10809.00000, extent = 0.68377, type = O + area = 11669.00000, perimeter = 432.09900, major_axis_length = 175.27705, minor_axis_length = 86.84153, eccentricity = 0.86863, convex_area = 11886.00000, extent = 0.77980, type = O + area = 10958.00000, perimeter = 422.88000, major_axis_length = 172.13432, minor_axis_length = 82.23724, eccentricity = 0.87850, convex_area = 11351.00000, extent = 0.64198, type = O + area = 12279.00000, perimeter = 455.41501, major_axis_length = 191.65334, minor_axis_length = 82.47570, eccentricity = 0.90267, convex_area = 12549.00000, extent = 0.59204, type = O + area = 12067.00000, perimeter = 438.88199, major_axis_length = 177.97765, minor_axis_length = 87.73780, eccentricity = 0.87005, convex_area = 12423.00000, extent = 0.66731, type = O + area = 14658.00000, perimeter = 477.11700, major_axis_length = 189.56664, minor_axis_length = 99.99778, eccentricity = 0.84955, convex_area = 15048.00000, extent = 0.64950, type = O + area = 14324.00000, perimeter = 487.25299, major_axis_length = 195.94514, minor_axis_length = 94.84135, eccentricity = 0.87506, convex_area = 14822.00000, extent = 0.75740, type = C + area = 12465.00000, perimeter = 445.06699, major_axis_length = 177.52953, minor_axis_length = 91.50624, eccentricity = 0.85692, convex_area = 12882.00000, extent = 0.76117, type = O + area = 15200.00000, perimeter = 502.58801, major_axis_length = 214.13380, minor_axis_length = 91.11753, eccentricity = 0.90495, convex_area = 15461.00000, extent = 0.62413, type = C + area = 11958.00000, perimeter = 444.92700, major_axis_length = 187.75836, minor_axis_length = 81.88332, eccentricity = 0.89989, convex_area = 12240.00000, extent = 0.72667, type = C + area = 14340.00000, perimeter = 499.09601, major_axis_length = 207.25108, minor_axis_length = 89.85896, eccentricity = 0.90112, convex_area = 14863.00000, extent = 0.66315, type = C + area = 12535.00000, perimeter = 442.93799, major_axis_length = 185.83670, minor_axis_length = 86.91272, eccentricity = 0.88390, convex_area = 12669.00000, extent = 0.60172, type = O + area = 12362.00000, perimeter = 448.11200, major_axis_length = 181.03906, minor_axis_length = 88.52608, eccentricity = 0.87229, convex_area = 12720.00000, extent = 0.63278, type = O + area = 11393.00000, perimeter = 415.79999, major_axis_length = 164.91043, minor_axis_length = 88.90424, eccentricity = 0.84224, convex_area = 11638.00000, extent = 0.69554, type = O + area = 16051.00000, perimeter = 516.17401, major_axis_length = 214.87718, minor_axis_length = 96.84511, eccentricity = 0.89268, convex_area = 16479.00000, extent = 0.67964, type = C + area = 13720.00000, perimeter = 477.63501, major_axis_length = 201.15787, minor_axis_length = 87.31000, eccentricity = 0.90089, convex_area = 13936.00000, extent = 0.66454, type = O + area = 14189.00000, perimeter = 483.93701, major_axis_length = 203.37759, minor_axis_length = 90.07769, eccentricity = 0.89657, convex_area = 14538.00000, extent = 0.71312, type = C + area = 15238.00000, perimeter = 506.11499, major_axis_length = 218.36040, minor_axis_length = 89.61969, eccentricity = 0.91190, convex_area = 15529.00000, extent = 0.54722, type = C + area = 14850.00000, perimeter = 511.99100, major_axis_length = 223.14737, minor_axis_length = 85.49973, eccentricity = 0.92368, convex_area = 15131.00000, extent = 0.57670, type = C + area = 17082.00000, perimeter = 548.44598, major_axis_length = 230.18872, minor_axis_length = 95.75758, eccentricity = 0.90937, convex_area = 17576.00000, extent = 0.59247, type = C + area = 15594.00000, perimeter = 515.66101, major_axis_length = 216.53427, minor_axis_length = 93.27998, eccentricity = 0.90245, convex_area = 16029.00000, extent = 0.66667, type = C + area = 11846.00000, perimeter = 445.89099, major_axis_length = 192.95219, minor_axis_length = 78.47179, eccentricity = 0.91357, convex_area = 12010.00000, extent = 0.57797, type = C + area = 11961.00000, perimeter = 445.05301, major_axis_length = 182.44389, minor_axis_length = 85.08979, eccentricity = 0.88458, convex_area = 12370.00000, extent = 0.61225, type = O + area = 13620.00000, perimeter = 479.87701, major_axis_length = 203.39711, minor_axis_length = 86.37573, eccentricity = 0.90535, convex_area = 13987.00000, extent = 0.63577, type = C + area = 14747.00000, perimeter = 501.76599, major_axis_length = 213.74219, minor_axis_length = 88.58164, eccentricity = 0.91008, convex_area = 15070.00000, extent = 0.76441, type = C + area = 15977.00000, perimeter = 516.20898, major_axis_length = 216.75784, minor_axis_length = 94.92934, eccentricity = 0.89900, convex_area = 16401.00000, extent = 0.62751, type = C + area = 11746.00000, perimeter = 450.82901, major_axis_length = 194.19092, minor_axis_length = 77.74390, eccentricity = 0.91636, convex_area = 11953.00000, extent = 0.55521, type = C + area = 14549.00000, perimeter = 485.49399, major_axis_length = 199.75728, minor_axis_length = 93.64828, eccentricity = 0.88330, convex_area = 14846.00000, extent = 0.61924, type = C + area = 11476.00000, perimeter = 424.78299, major_axis_length = 169.09042, minor_axis_length = 88.18060, eccentricity = 0.85325, convex_area = 11845.00000, extent = 0.62454, type = O + area = 12657.00000, perimeter = 455.18201, major_axis_length = 189.77094, minor_axis_length = 85.68874, eccentricity = 0.89225, convex_area = 12926.00000, extent = 0.76756, type = O + area = 14850.00000, perimeter = 509.27499, major_axis_length = 215.96320, minor_axis_length = 89.12655, eccentricity = 0.91087, convex_area = 15372.00000, extent = 0.79942, type = C + area = 14359.00000, perimeter = 506.08899, major_axis_length = 223.26085, minor_axis_length = 82.48141, eccentricity = 0.92925, convex_area = 14698.00000, extent = 0.53787, type = C + area = 11701.00000, perimeter = 432.97601, major_axis_length = 184.51923, minor_axis_length = 81.00479, eccentricity = 0.89848, convex_area = 11887.00000, extent = 0.76010, type = O + area = 11219.00000, perimeter = 433.71301, major_axis_length = 180.31642, minor_axis_length = 80.25338, eccentricity = 0.89550, convex_area = 11485.00000, extent = 0.70049, type = O + area = 12286.00000, perimeter = 444.88699, major_axis_length = 183.28871, minor_axis_length = 86.73106, eccentricity = 0.88096, convex_area = 12583.00000, extent = 0.68187, type = C + area = 12661.00000, perimeter = 436.92200, major_axis_length = 174.83229, minor_axis_length = 93.07770, eccentricity = 0.84650, convex_area = 12898.00000, extent = 0.70198, type = O + area = 11016.00000, perimeter = 416.89700, major_axis_length = 174.62755, minor_axis_length = 81.19022, eccentricity = 0.88535, convex_area = 11149.00000, extent = 0.58696, type = O + area = 12404.00000, perimeter = 454.38400, major_axis_length = 186.07597, minor_axis_length = 85.98782, eccentricity = 0.88682, convex_area = 12659.00000, extent = 0.57299, type = O + area = 15907.00000, perimeter = 527.34998, major_axis_length = 226.89301, minor_axis_length = 90.79047, eccentricity = 0.91645, convex_area = 16288.00000, extent = 0.57385, type = C + area = 13468.00000, perimeter = 470.76300, major_axis_length = 194.47350, minor_axis_length = 89.74107, eccentricity = 0.88716, convex_area = 14022.00000, extent = 0.69184, type = C + area = 13006.00000, perimeter = 486.70700, major_axis_length = 213.12805, minor_axis_length = 78.45641, eccentricity = 0.92978, convex_area = 13399.00000, extent = 0.62245, type = C + area = 11366.00000, perimeter = 431.93600, major_axis_length = 179.07126, minor_axis_length = 81.93755, eccentricity = 0.88917, convex_area = 11737.00000, extent = 0.60635, type = O + area = 10061.00000, perimeter = 393.38300, major_axis_length = 160.87691, minor_axis_length = 80.60933, eccentricity = 0.86541, convex_area = 10242.00000, extent = 0.62005, type = O + area = 10895.00000, perimeter = 411.59000, major_axis_length = 167.44122, minor_axis_length = 84.25878, eccentricity = 0.86416, convex_area = 11155.00000, extent = 0.68626, type = O + area = 10236.00000, perimeter = 398.53799, major_axis_length = 160.84901, minor_axis_length = 82.49160, eccentricity = 0.85848, convex_area = 10392.00000, extent = 0.79565, type = O + area = 14541.00000, perimeter = 492.78500, major_axis_length = 204.25714, minor_axis_length = 92.47102, eccentricity = 0.89165, convex_area = 14893.00000, extent = 0.75829, type = C + area = 15322.00000, perimeter = 506.39801, major_axis_length = 217.86375, minor_axis_length = 90.17707, eccentricity = 0.91032, convex_area = 15531.00000, extent = 0.81362, type = C + area = 11050.00000, perimeter = 424.73401, major_axis_length = 175.59836, minor_axis_length = 80.98215, eccentricity = 0.88731, convex_area = 11295.00000, extent = 0.59300, type = O + area = 14824.00000, perimeter = 513.21698, major_axis_length = 220.16020, minor_axis_length = 86.80725, eccentricity = 0.91899, convex_area = 15150.00000, extent = 0.56836, type = C + area = 9592.00000, perimeter = 385.77802, major_axis_length = 157.76796, minor_axis_length = 78.39109, eccentricity = 0.86782, convex_area = 9760.00000, extent = 0.78843, type = O + area = 10260.00000, perimeter = 417.00000, major_axis_length = 172.99356, minor_axis_length = 76.90769, eccentricity = 0.89574, convex_area = 10527.00000, extent = 0.58824, type = O + area = 10950.00000, perimeter = 412.33401, major_axis_length = 166.30606, minor_axis_length = 85.29817, eccentricity = 0.85845, convex_area = 11172.00000, extent = 0.77605, type = O + area = 11365.00000, perimeter = 421.17599, major_axis_length = 179.13287, minor_axis_length = 81.11464, eccentricity = 0.89160, convex_area = 11499.00000, extent = 0.65204, type = O + area = 12784.00000, perimeter = 468.71399, major_axis_length = 197.19243, minor_axis_length = 84.30416, eccentricity = 0.90400, convex_area = 13140.00000, extent = 0.58247, type = O + area = 11140.00000, perimeter = 429.79700, major_axis_length = 179.19675, minor_axis_length = 80.07657, eccentricity = 0.89460, convex_area = 11346.00000, extent = 0.58911, type = O + area = 16194.00000, perimeter = 528.12097, major_axis_length = 226.87439, minor_axis_length = 91.63519, eccentricity = 0.91480, convex_area = 16524.00000, extent = 0.55202, type = C + area = 11652.00000, perimeter = 429.52100, major_axis_length = 172.41205, minor_axis_length = 87.48266, eccentricity = 0.86171, convex_area = 11982.00000, extent = 0.63052, type = O + area = 9908.00000, perimeter = 400.99899, major_axis_length = 170.60487, minor_axis_length = 74.51440, eccentricity = 0.89958, convex_area = 10075.00000, extent = 0.58610, type = O + area = 12192.00000, perimeter = 428.59299, major_axis_length = 172.94958, minor_axis_length = 90.53119, eccentricity = 0.85205, convex_area = 12383.00000, extent = 0.74052, type = O + area = 10651.00000, perimeter = 411.00299, major_axis_length = 167.18010, minor_axis_length = 82.50652, eccentricity = 0.86974, convex_area = 10893.00000, extent = 0.67505, type = O + area = 12924.00000, perimeter = 474.42401, major_axis_length = 203.01993, minor_axis_length = 81.82216, eccentricity = 0.91519, convex_area = 13150.00000, extent = 0.53573, type = C + area = 18913.00000, perimeter = 541.74597, major_axis_length = 227.13548, minor_axis_length = 106.94836, eccentricity = 0.88221, convex_area = 19099.00000, extent = 0.80412, type = C + area = 12035.00000, perimeter = 431.95401, major_axis_length = 176.02255, minor_axis_length = 88.00275, eccentricity = 0.86605, convex_area = 12226.00000, extent = 0.61784, type = O + area = 11895.00000, perimeter = 429.39600, major_axis_length = 179.25186, minor_axis_length = 85.53614, eccentricity = 0.87880, convex_area = 12072.00000, extent = 0.79063, type = O + area = 13066.00000, perimeter = 458.26199, major_axis_length = 186.34586, minor_axis_length = 90.90146, eccentricity = 0.87295, convex_area = 13315.00000, extent = 0.61481, type = O + area = 10355.00000, perimeter = 402.66800, major_axis_length = 159.89142, minor_axis_length = 83.47418, eccentricity = 0.85290, convex_area = 10621.00000, extent = 0.63606, type = O + area = 10360.00000, perimeter = 427.33200, major_axis_length = 187.57419, minor_axis_length = 70.72579, eccentricity = 0.92619, convex_area = 10525.00000, extent = 0.54323, type = O + area = 14256.00000, perimeter = 492.92700, major_axis_length = 209.80321, minor_axis_length = 87.69037, eccentricity = 0.90846, convex_area = 14730.00000, extent = 0.70227, type = C + area = 10951.00000, perimeter = 415.13901, major_axis_length = 173.75793, minor_axis_length = 81.30049, eccentricity = 0.88378, convex_area = 11116.00000, extent = 0.65227, type = O + area = 11639.00000, perimeter = 428.31201, major_axis_length = 172.37148, minor_axis_length = 87.17017, eccentricity = 0.86270, convex_area = 11836.00000, extent = 0.70694, type = O + area = 14874.00000, perimeter = 487.50400, major_axis_length = 204.91339, minor_axis_length = 92.88921, eccentricity = 0.89135, convex_area = 15065.00000, extent = 0.61448, type = C + area = 16122.00000, perimeter = 539.00000, major_axis_length = 233.91351, minor_axis_length = 89.53108, eccentricity = 0.92385, convex_area = 16440.00000, extent = 0.51116, type = C + area = 13959.00000, perimeter = 477.26300, major_axis_length = 200.49440, minor_axis_length = 89.45984, eccentricity = 0.89494, convex_area = 14242.00000, extent = 0.71574, type = C + area = 10949.00000, perimeter = 414.27399, major_axis_length = 168.06389, minor_axis_length = 84.03284, eccentricity = 0.86602, convex_area = 11192.00000, extent = 0.61580, type = O + area = 15360.00000, perimeter = 515.29797, major_axis_length = 220.92175, minor_axis_length = 89.95549, eccentricity = 0.91335, convex_area = 15662.00000, extent = 0.64160, type = C + area = 14254.00000, perimeter = 491.26099, major_axis_length = 207.76718, minor_axis_length = 88.61370, eccentricity = 0.90449, convex_area = 14607.00000, extent = 0.56961, type = C + area = 12175.00000, perimeter = 431.72800, major_axis_length = 178.55745, minor_axis_length = 87.79368, eccentricity = 0.87077, convex_area = 12345.00000, extent = 0.80020, type = O + area = 11848.00000, perimeter = 432.36899, major_axis_length = 178.35080, minor_axis_length = 86.11731, eccentricity = 0.87570, convex_area = 12045.00000, extent = 0.60029, type = O + area = 10788.00000, perimeter = 414.90701, major_axis_length = 169.60159, minor_axis_length = 82.25015, eccentricity = 0.87454, convex_area = 11083.00000, extent = 0.64832, type = O + area = 10763.00000, perimeter = 411.28299, major_axis_length = 168.57059, minor_axis_length = 81.79902, eccentricity = 0.87437, convex_area = 10963.00000, extent = 0.76731, type = O + area = 14461.00000, perimeter = 483.56601, major_axis_length = 202.35306, minor_axis_length = 91.65204, eccentricity = 0.89155, convex_area = 14718.00000, extent = 0.74541, type = C + area = 11327.00000, perimeter = 423.16800, major_axis_length = 169.29546, minor_axis_length = 86.56846, eccentricity = 0.85938, convex_area = 11657.00000, extent = 0.72000, type = O + area = 10785.00000, perimeter = 437.88400, major_axis_length = 181.26581, minor_axis_length = 77.65930, eccentricity = 0.90358, convex_area = 11209.00000, extent = 0.55014, type = C + area = 15369.00000, perimeter = 499.26599, major_axis_length = 205.87529, minor_axis_length = 95.93622, eccentricity = 0.88479, convex_area = 15666.00000, extent = 0.61604, type = C + area = 14850.00000, perimeter = 500.29800, major_axis_length = 213.07790, minor_axis_length = 89.35130, eccentricity = 0.90783, convex_area = 15124.00000, extent = 0.58021, type = C + area = 14274.00000, perimeter = 488.82999, major_axis_length = 203.56786, minor_axis_length = 89.92999, eccentricity = 0.89713, convex_area = 14529.00000, extent = 0.57236, type = C + area = 13584.00000, perimeter = 478.05701, major_axis_length = 203.83694, minor_axis_length = 85.42742, eccentricity = 0.90794, convex_area = 13877.00000, extent = 0.67633, type = C + area = 14518.00000, perimeter = 491.22198, major_axis_length = 203.76106, minor_axis_length = 92.34290, eccentricity = 0.89141, convex_area = 14877.00000, extent = 0.74132, type = C + area = 13734.00000, perimeter = 487.84000, major_axis_length = 213.24744, minor_axis_length = 83.18277, eccentricity = 0.92078, convex_area = 13941.00000, extent = 0.80523, type = C + area = 12612.00000, perimeter = 463.59500, major_axis_length = 197.68294, minor_axis_length = 82.37692, eccentricity = 0.90904, convex_area = 12919.00000, extent = 0.58405, type = C + area = 11993.00000, perimeter = 444.56500, major_axis_length = 187.18291, minor_axis_length = 82.64057, eccentricity = 0.89726, convex_area = 12276.00000, extent = 0.58737, type = C + area = 10360.00000, perimeter = 411.23999, major_axis_length = 169.40111, minor_axis_length = 78.57223, eccentricity = 0.88593, convex_area = 10538.00000, extent = 0.78485, type = O + area = 12047.00000, perimeter = 455.60800, major_axis_length = 195.66608, minor_axis_length = 80.26914, eccentricity = 0.91198, convex_area = 12339.00000, extent = 0.54403, type = C + area = 12171.00000, perimeter = 431.94901, major_axis_length = 174.38002, minor_axis_length = 90.05058, eccentricity = 0.85634, convex_area = 12366.00000, extent = 0.61882, type = O + area = 14413.00000, perimeter = 502.04999, major_axis_length = 211.99164, minor_axis_length = 88.64777, eccentricity = 0.90837, convex_area = 14826.00000, extent = 0.57608, type = C + area = 13557.00000, perimeter = 483.90900, major_axis_length = 206.20372, minor_axis_length = 84.38731, eccentricity = 0.91243, convex_area = 13845.00000, extent = 0.55258, type = C + area = 14788.00000, perimeter = 480.96201, major_axis_length = 199.06255, minor_axis_length = 95.53792, eccentricity = 0.87730, convex_area = 15044.00000, extent = 0.65751, type = C + area = 14560.00000, perimeter = 493.92899, major_axis_length = 209.50883, minor_axis_length = 89.21789, eccentricity = 0.90480, convex_area = 14971.00000, extent = 0.63170, type = C + area = 13655.00000, perimeter = 471.52499, major_axis_length = 193.19618, minor_axis_length = 91.55775, eccentricity = 0.88057, convex_area = 14053.00000, extent = 0.71098, type = C + area = 10756.00000, perimeter = 420.08600, major_axis_length = 170.63708, minor_axis_length = 81.58212, eccentricity = 0.87830, convex_area = 10957.00000, extent = 0.59498, type = O + area = 10885.00000, perimeter = 434.27301, major_axis_length = 191.09132, minor_axis_length = 73.54861, eccentricity = 0.92296, convex_area = 11024.00000, extent = 0.79990, type = C + area = 10847.00000, perimeter = 417.92401, major_axis_length = 170.36679, minor_axis_length = 82.47301, eccentricity = 0.87502, convex_area = 11107.00000, extent = 0.74632, type = O + area = 11921.00000, perimeter = 422.35901, major_axis_length = 168.49954, minor_axis_length = 91.07194, eccentricity = 0.84135, convex_area = 12169.00000, extent = 0.65906, type = O + area = 12763.00000, perimeter = 454.90201, major_axis_length = 185.22537, minor_axis_length = 89.68470, eccentricity = 0.87496, convex_area = 13081.00000, extent = 0.62271, type = O + area = 10784.00000, perimeter = 424.14401, major_axis_length = 176.95996, minor_axis_length = 78.46128, eccentricity = 0.89633, convex_area = 11091.00000, extent = 0.63690, type = O + area = 14787.00000, perimeter = 492.31299, major_axis_length = 209.67886, minor_axis_length = 90.46774, eccentricity = 0.90213, convex_area = 15066.00000, extent = 0.79568, type = C + area = 12496.00000, perimeter = 449.74100, major_axis_length = 181.12390, minor_axis_length = 89.78374, eccentricity = 0.86849, convex_area = 12870.00000, extent = 0.68355, type = O + area = 12450.00000, perimeter = 443.37201, major_axis_length = 181.68210, minor_axis_length = 88.50525, eccentricity = 0.87332, convex_area = 12730.00000, extent = 0.71453, type = O + area = 11166.00000, perimeter = 414.89001, major_axis_length = 165.73878, minor_axis_length = 87.03056, eccentricity = 0.85104, convex_area = 11478.00000, extent = 0.67095, type = O + area = 17263.00000, perimeter = 520.30298, major_axis_length = 215.00441, minor_axis_length = 103.36722, eccentricity = 0.87685, convex_area = 17565.00000, extent = 0.66187, type = C + area = 14633.00000, perimeter = 495.09399, major_axis_length = 208.78053, minor_axis_length = 90.25591, eccentricity = 0.90173, convex_area = 14978.00000, extent = 0.64360, type = C + area = 11968.00000, perimeter = 430.06699, major_axis_length = 170.00137, minor_axis_length = 90.97499, eccentricity = 0.84476, convex_area = 12252.00000, extent = 0.63983, type = O + area = 12434.00000, perimeter = 454.89301, major_axis_length = 193.15796, minor_axis_length = 82.85860, eccentricity = 0.90332, convex_area = 12652.00000, extent = 0.70368, type = C + area = 12746.00000, perimeter = 446.13400, major_axis_length = 182.34105, minor_axis_length = 89.76051, eccentricity = 0.87044, convex_area = 12993.00000, extent = 0.80917, type = O + area = 12390.00000, perimeter = 454.49100, major_axis_length = 195.73447, minor_axis_length = 81.36215, eccentricity = 0.90951, convex_area = 12550.00000, extent = 0.59838, type = O + area = 13814.00000, perimeter = 477.58600, major_axis_length = 198.90308, minor_axis_length = 89.67540, eccentricity = 0.89260, convex_area = 14168.00000, extent = 0.69098, type = C + area = 13548.00000, perimeter = 479.74899, major_axis_length = 203.27188, minor_axis_length = 85.60246, eccentricity = 0.90700, convex_area = 13850.00000, extent = 0.55443, type = C + area = 10168.00000, perimeter = 400.47800, major_axis_length = 162.56297, minor_axis_length = 81.08891, eccentricity = 0.86671, convex_area = 10424.00000, extent = 0.62373, type = O + area = 11652.00000, perimeter = 428.80801, major_axis_length = 169.58989, minor_axis_length = 89.57381, eccentricity = 0.84913, convex_area = 12067.00000, extent = 0.73700, type = O + area = 13874.00000, perimeter = 486.81799, major_axis_length = 207.80724, minor_axis_length = 85.49026, eccentricity = 0.91146, convex_area = 14116.00000, extent = 0.56940, type = C + area = 16067.00000, perimeter = 526.42499, major_axis_length = 228.94226, minor_axis_length = 90.14622, eccentricity = 0.91922, convex_area = 16370.00000, extent = 0.55586, type = C + area = 14212.00000, perimeter = 485.98599, major_axis_length = 203.41849, minor_axis_length = 90.01189, eccentricity = 0.89677, convex_area = 14508.00000, extent = 0.57320, type = C + area = 12637.00000, perimeter = 455.29099, major_axis_length = 187.80650, minor_axis_length = 86.84584, eccentricity = 0.88666, convex_area = 12958.00000, extent = 0.61734, type = O + area = 10351.00000, perimeter = 408.99600, major_axis_length = 168.56789, minor_axis_length = 78.96164, eccentricity = 0.88350, convex_area = 10526.00000, extent = 0.59410, type = O + area = 11898.00000, perimeter = 453.98001, major_axis_length = 195.36005, minor_axis_length = 78.36910, eccentricity = 0.91601, convex_area = 12134.00000, extent = 0.54804, type = C + area = 11180.00000, perimeter = 425.49701, major_axis_length = 177.01859, minor_axis_length = 81.56252, eccentricity = 0.88753, convex_area = 11353.00000, extent = 0.57939, type = O + area = 11298.00000, perimeter = 436.65601, major_axis_length = 183.29942, minor_axis_length = 79.59326, eccentricity = 0.90080, convex_area = 11650.00000, extent = 0.72581, type = O + area = 12765.00000, perimeter = 460.34601, major_axis_length = 196.39055, minor_axis_length = 83.89897, eccentricity = 0.90415, convex_area = 13139.00000, extent = 0.57435, type = C + area = 14522.00000, perimeter = 499.82501, major_axis_length = 217.67436, minor_axis_length = 85.68789, eccentricity = 0.91926, convex_area = 14719.00000, extent = 0.53194, type = C + area = 11691.00000, perimeter = 426.28000, major_axis_length = 176.18996, minor_axis_length = 85.12367, eccentricity = 0.87555, convex_area = 11908.00000, extent = 0.61824, type = O + area = 12126.00000, perimeter = 432.95099, major_axis_length = 169.80475, minor_axis_length = 92.43899, eccentricity = 0.83884, convex_area = 12476.00000, extent = 0.75186, type = O + area = 14469.00000, perimeter = 484.46701, major_axis_length = 204.24918, minor_axis_length = 90.72005, eccentricity = 0.89595, convex_area = 14701.00000, extent = 0.65873, type = C + area = 12256.00000, perimeter = 453.46500, major_axis_length = 189.97113, minor_axis_length = 83.10529, eccentricity = 0.89924, convex_area = 12565.00000, extent = 0.58362, type = C + area = 10304.00000, perimeter = 416.56100, major_axis_length = 174.27423, minor_axis_length = 76.18439, eccentricity = 0.89939, convex_area = 10541.00000, extent = 0.61224, type = O + area = 10695.00000, perimeter = 406.45099, major_axis_length = 164.57030, minor_axis_length = 84.04564, eccentricity = 0.85976, convex_area = 10930.00000, extent = 0.61233, type = O + area = 12042.00000, perimeter = 441.81000, major_axis_length = 182.17674, minor_axis_length = 85.04359, eccentricity = 0.88435, convex_area = 12302.00000, extent = 0.64080, type = O + area = 14291.00000, perimeter = 481.23999, major_axis_length = 196.50101, minor_axis_length = 93.87129, eccentricity = 0.87852, convex_area = 14618.00000, extent = 0.58920, type = C + area = 12682.00000, perimeter = 459.96500, major_axis_length = 195.43550, minor_axis_length = 83.60432, eccentricity = 0.90388, convex_area = 12892.00000, extent = 0.58281, type = C + area = 13964.00000, perimeter = 480.02600, major_axis_length = 199.82314, minor_axis_length = 90.06547, eccentricity = 0.89266, convex_area = 14298.00000, extent = 0.65775, type = C + area = 10815.00000, perimeter = 420.81500, major_axis_length = 179.96773, minor_axis_length = 77.09937, eccentricity = 0.90359, convex_area = 10981.00000, extent = 0.56921, type = O + area = 10516.00000, perimeter = 423.39999, major_axis_length = 175.92067, minor_axis_length = 77.73805, eccentricity = 0.89707, convex_area = 10787.00000, extent = 0.63687, type = O + area = 16226.00000, perimeter = 517.68402, major_axis_length = 217.08057, minor_axis_length = 95.93838, eccentricity = 0.89704, convex_area = 16466.00000, extent = 0.58314, type = C + area = 14852.00000, perimeter = 495.81699, major_axis_length = 205.71364, minor_axis_length = 92.94775, eccentricity = 0.89210, convex_area = 15202.00000, extent = 0.60130, type = C + area = 13858.00000, perimeter = 482.57999, major_axis_length = 205.02016, minor_axis_length = 86.96468, eccentricity = 0.90558, convex_area = 14154.00000, extent = 0.55592, type = C + area = 12364.00000, perimeter = 442.85501, major_axis_length = 175.35739, minor_axis_length = 91.60603, eccentricity = 0.85270, convex_area = 12679.00000, extent = 0.61789, type = O + area = 11923.00000, perimeter = 435.28699, major_axis_length = 174.07080, minor_axis_length = 88.94534, eccentricity = 0.85960, convex_area = 12187.00000, extent = 0.61554, type = O + area = 15196.00000, perimeter = 498.14499, major_axis_length = 212.24376, minor_axis_length = 91.67679, eccentricity = 0.90190, convex_area = 15427.00000, extent = 0.71276, type = C + area = 12590.00000, perimeter = 461.13699, major_axis_length = 195.53488, minor_axis_length = 82.96224, eccentricity = 0.90553, convex_area = 12915.00000, extent = 0.67601, type = C + area = 11441.00000, perimeter = 415.85800, major_axis_length = 170.48677, minor_axis_length = 85.75659, eccentricity = 0.86428, convex_area = 11628.00000, extent = 0.68101, type = O + area = 9711.00000, perimeter = 396.46899, major_axis_length = 166.69046, minor_axis_length = 74.74411, eccentricity = 0.89383, convex_area = 9859.00000, extent = 0.58783, type = O + area = 14680.00000, perimeter = 495.44400, major_axis_length = 206.75375, minor_axis_length = 91.29646, eccentricity = 0.89723, convex_area = 15091.00000, extent = 0.61159, type = C + area = 13166.00000, perimeter = 465.96701, major_axis_length = 195.90541, minor_axis_length = 86.00590, eccentricity = 0.89848, convex_area = 13383.00000, extent = 0.65800, type = O + area = 16249.00000, perimeter = 512.79199, major_axis_length = 215.72685, minor_axis_length = 96.96568, eccentricity = 0.89329, convex_area = 16493.00000, extent = 0.73718, type = C + area = 12986.00000, perimeter = 462.11099, major_axis_length = 195.51758, minor_axis_length = 86.10847, eccentricity = 0.89780, convex_area = 13288.00000, extent = 0.79058, type = C + area = 14706.00000, perimeter = 503.30701, major_axis_length = 212.68402, minor_axis_length = 89.08659, eccentricity = 0.90805, convex_area = 15074.00000, extent = 0.59596, type = C + area = 12249.00000, perimeter = 438.90201, major_axis_length = 181.72556, minor_axis_length = 86.36489, eccentricity = 0.87985, convex_area = 12428.00000, extent = 0.62751, type = O + area = 14620.00000, perimeter = 493.94400, major_axis_length = 212.26605, minor_axis_length = 88.77168, eccentricity = 0.90835, convex_area = 14931.00000, extent = 0.72419, type = C + area = 12200.00000, perimeter = 447.21399, major_axis_length = 191.14070, minor_axis_length = 81.57138, eccentricity = 0.90436, convex_area = 12367.00000, extent = 0.56975, type = O + area = 10798.00000, perimeter = 412.01300, major_axis_length = 169.99113, minor_axis_length = 81.77663, eccentricity = 0.87669, convex_area = 11000.00000, extent = 0.64884, type = O + area = 12575.00000, perimeter = 456.75299, major_axis_length = 188.67986, minor_axis_length = 85.98197, eccentricity = 0.89013, convex_area = 12936.00000, extent = 0.73927, type = C + area = 10567.00000, perimeter = 398.59201, major_axis_length = 161.45715, minor_axis_length = 83.76702, eccentricity = 0.85488, convex_area = 10720.00000, extent = 0.64112, type = O + area = 12811.00000, perimeter = 453.93701, major_axis_length = 185.72890, minor_axis_length = 89.51059, eccentricity = 0.87620, convex_area = 13112.00000, extent = 0.58508, type = O + area = 12226.00000, perimeter = 436.22299, major_axis_length = 178.54475, minor_axis_length = 87.98953, eccentricity = 0.87013, convex_area = 12400.00000, extent = 0.61339, type = O + area = 11270.00000, perimeter = 422.60901, major_axis_length = 173.23421, minor_axis_length = 83.39992, eccentricity = 0.87649, convex_area = 11449.00000, extent = 0.61390, type = O + area = 13263.00000, perimeter = 487.89099, major_axis_length = 214.42804, minor_axis_length = 79.64110, eccentricity = 0.92847, convex_area = 13491.00000, extent = 0.67445, type = C + area = 11619.00000, perimeter = 432.45401, major_axis_length = 178.34151, minor_axis_length = 83.91345, eccentricity = 0.88239, convex_area = 11824.00000, extent = 0.76764, type = O + area = 11470.00000, perimeter = 427.19800, major_axis_length = 174.03909, minor_axis_length = 85.10542, eccentricity = 0.87228, convex_area = 11767.00000, extent = 0.63978, type = O + area = 11432.00000, perimeter = 424.17700, major_axis_length = 170.66464, minor_axis_length = 86.86543, eccentricity = 0.86078, convex_area = 11702.00000, extent = 0.66020, type = O + area = 15915.00000, perimeter = 528.15698, major_axis_length = 231.59448, minor_axis_length = 88.57102, eccentricity = 0.92398, convex_area = 16251.00000, extent = 0.81303, type = C + area = 12610.00000, perimeter = 454.68701, major_axis_length = 185.64877, minor_axis_length = 87.92713, eccentricity = 0.88073, convex_area = 12934.00000, extent = 0.59789, type = O + area = 10783.00000, perimeter = 418.68100, major_axis_length = 171.36520, minor_axis_length = 82.12441, eccentricity = 0.87769, convex_area = 11133.00000, extent = 0.59345, type = O + area = 12281.00000, perimeter = 442.11099, major_axis_length = 177.95753, minor_axis_length = 89.70896, eccentricity = 0.86364, convex_area = 12666.00000, extent = 0.59907, type = O + area = 15094.00000, perimeter = 506.50699, major_axis_length = 217.93829, minor_axis_length = 89.09559, eccentricity = 0.91262, convex_area = 15346.00000, extent = 0.66856, type = C + area = 11594.00000, perimeter = 437.91000, major_axis_length = 178.67661, minor_axis_length = 84.30540, eccentricity = 0.88169, convex_area = 11969.00000, extent = 0.60060, type = O + area = 11385.00000, perimeter = 419.01001, major_axis_length = 163.70387, minor_axis_length = 89.73259, eccentricity = 0.83639, convex_area = 11767.00000, extent = 0.64018, type = O + area = 12237.00000, perimeter = 432.39001, major_axis_length = 169.64680, minor_axis_length = 93.41069, eccentricity = 0.83476, convex_area = 12577.00000, extent = 0.70457, type = O + area = 14421.00000, perimeter = 489.81799, major_axis_length = 204.95683, minor_axis_length = 90.34169, eccentricity = 0.89761, convex_area = 14716.00000, extent = 0.62526, type = C + area = 13708.00000, perimeter = 486.39600, major_axis_length = 204.62373, minor_axis_length = 86.33973, eccentricity = 0.90662, convex_area = 14361.00000, extent = 0.58068, type = C + area = 13885.00000, perimeter = 479.28799, major_axis_length = 198.09418, minor_axis_length = 90.59052, eccentricity = 0.88931, convex_area = 14271.00000, extent = 0.78713, type = C + area = 13078.00000, perimeter = 452.99100, major_axis_length = 183.97897, minor_axis_length = 91.69001, eccentricity = 0.86696, convex_area = 13385.00000, extent = 0.73274, type = O + area = 11247.00000, perimeter = 418.08200, major_axis_length = 174.79654, minor_axis_length = 82.57596, eccentricity = 0.88138, convex_area = 11407.00000, extent = 0.78827, type = O + area = 13314.00000, perimeter = 474.08701, major_axis_length = 203.94801, minor_axis_length = 83.66284, eccentricity = 0.91199, convex_area = 13627.00000, extent = 0.74714, type = C + area = 13853.00000, perimeter = 471.64099, major_axis_length = 195.21249, minor_axis_length = 91.29154, eccentricity = 0.88391, convex_area = 14213.00000, extent = 0.65332, type = C + area = 11708.00000, perimeter = 433.66501, major_axis_length = 184.30309, minor_axis_length = 81.25191, eccentricity = 0.89758, convex_area = 11888.00000, extent = 0.61170, type = O + area = 10611.00000, perimeter = 414.40201, major_axis_length = 171.14273, minor_axis_length = 79.86786, eccentricity = 0.88443, convex_area = 10874.00000, extent = 0.71392, type = O + area = 14577.00000, perimeter = 489.90799, major_axis_length = 204.84602, minor_axis_length = 91.23347, eccentricity = 0.89534, convex_area = 14870.00000, extent = 0.78140, type = C + area = 12537.00000, perimeter = 440.10599, major_axis_length = 177.27472, minor_axis_length = 91.08681, eccentricity = 0.85790, convex_area = 12845.00000, extent = 0.67043, type = O + area = 15151.00000, perimeter = 496.19299, major_axis_length = 207.93149, minor_axis_length = 93.96302, eccentricity = 0.89207, convex_area = 15547.00000, extent = 0.76140, type = C + area = 14897.00000, perimeter = 491.18500, major_axis_length = 205.71985, minor_axis_length = 92.87569, eccentricity = 0.89229, convex_area = 15137.00000, extent = 0.59445, type = C + area = 16431.00000, perimeter = 509.38501, major_axis_length = 208.05287, minor_axis_length = 101.96149, eccentricity = 0.87168, convex_area = 16875.00000, extent = 0.73222, type = C + area = 10819.00000, perimeter = 413.25699, major_axis_length = 165.16139, minor_axis_length = 84.57162, eccentricity = 0.85895, convex_area = 11091.00000, extent = 0.60952, type = O + area = 12730.00000, perimeter = 454.43900, major_axis_length = 186.89359, minor_axis_length = 87.86870, eccentricity = 0.88258, convex_area = 12943.00000, extent = 0.66614, type = O + area = 11415.00000, perimeter = 438.92999, major_axis_length = 184.56711, minor_axis_length = 80.09942, eccentricity = 0.90092, convex_area = 11745.00000, extent = 0.79106, type = O + area = 13193.00000, perimeter = 469.41501, major_axis_length = 201.60457, minor_axis_length = 83.72974, eccentricity = 0.90968, convex_area = 13535.00000, extent = 0.73593, type = C + area = 14645.00000, perimeter = 485.11301, major_axis_length = 201.15378, minor_axis_length = 93.58040, eccentricity = 0.88520, convex_area = 14889.00000, extent = 0.64641, type = C + area = 10937.00000, perimeter = 424.58600, major_axis_length = 177.16705, minor_axis_length = 79.75700, eccentricity = 0.89294, convex_area = 11103.00000, extent = 0.59521, type = C + area = 14590.00000, perimeter = 496.17200, major_axis_length = 212.10075, minor_axis_length = 88.60241, eccentricity = 0.90857, convex_area = 14883.00000, extent = 0.57148, type = C + area = 15032.00000, perimeter = 500.60901, major_axis_length = 209.91653, minor_axis_length = 91.92539, eccentricity = 0.89902, convex_area = 15397.00000, extent = 0.71892, type = C + area = 11907.00000, perimeter = 448.06100, major_axis_length = 188.30240, minor_axis_length = 82.26176, eccentricity = 0.89953, convex_area = 12156.00000, extent = 0.76132, type = O + area = 14471.00000, perimeter = 503.67401, major_axis_length = 207.92873, minor_axis_length = 90.16022, eccentricity = 0.90110, convex_area = 14894.00000, extent = 0.55495, type = C + area = 11856.00000, perimeter = 456.42200, major_axis_length = 201.00337, minor_axis_length = 75.42108, eccentricity = 0.92693, convex_area = 12027.00000, extent = 0.71646, type = C + area = 11935.00000, perimeter = 464.93301, major_axis_length = 196.53505, minor_axis_length = 79.72299, eccentricity = 0.91403, convex_area = 12358.00000, extent = 0.56663, type = C + area = 10380.00000, perimeter = 399.05301, major_axis_length = 161.87367, minor_axis_length = 82.76502, eccentricity = 0.85941, convex_area = 10606.00000, extent = 0.68596, type = O + area = 13787.00000, perimeter = 476.89600, major_axis_length = 201.33832, minor_axis_length = 88.16448, eccentricity = 0.89903, convex_area = 14045.00000, extent = 0.57599, type = C + area = 12470.00000, perimeter = 455.89700, major_axis_length = 192.46115, minor_axis_length = 83.39553, eccentricity = 0.90124, convex_area = 12704.00000, extent = 0.58130, type = C + area = 14992.00000, perimeter = 502.61700, major_axis_length = 213.94133, minor_axis_length = 89.97850, eccentricity = 0.90726, convex_area = 15162.00000, extent = 0.55464, type = C + area = 15007.00000, perimeter = 500.30701, major_axis_length = 210.71776, minor_axis_length = 92.17046, eccentricity = 0.89926, convex_area = 15431.00000, extent = 0.58077, type = C + area = 12193.00000, perimeter = 433.95700, major_axis_length = 170.47278, minor_axis_length = 92.65318, eccentricity = 0.83940, convex_area = 12558.00000, extent = 0.62467, type = O + area = 15303.00000, perimeter = 505.92801, major_axis_length = 209.61992, minor_axis_length = 94.15701, eccentricity = 0.89344, convex_area = 15746.00000, extent = 0.62461, type = C + area = 11267.00000, perimeter = 421.86899, major_axis_length = 170.35622, minor_axis_length = 86.01099, eccentricity = 0.86318, convex_area = 11576.00000, extent = 0.74076, type = O + area = 10390.00000, perimeter = 420.79401, major_axis_length = 174.04564, minor_axis_length = 77.64330, eccentricity = 0.89498, convex_area = 10689.00000, extent = 0.72882, type = O + area = 11961.00000, perimeter = 429.36700, major_axis_length = 175.44313, minor_axis_length = 87.64793, eccentricity = 0.86627, convex_area = 12149.00000, extent = 0.61103, type = O + area = 15236.00000, perimeter = 514.79303, major_axis_length = 223.32785, minor_axis_length = 87.76151, eccentricity = 0.91955, convex_area = 15686.00000, extent = 0.65624, type = C + area = 11490.00000, perimeter = 445.68600, major_axis_length = 179.86176, minor_axis_length = 83.72573, eccentricity = 0.88505, convex_area = 12020.00000, extent = 0.56892, type = O + area = 12605.00000, perimeter = 445.69299, major_axis_length = 183.26926, minor_axis_length = 88.23682, eccentricity = 0.87647, convex_area = 12787.00000, extent = 0.61759, type = O + area = 15136.00000, perimeter = 518.64398, major_axis_length = 221.70911, minor_axis_length = 88.20763, eccentricity = 0.91745, convex_area = 15469.00000, extent = 0.52971, type = C + area = 10713.00000, perimeter = 443.40399, major_axis_length = 192.88618, minor_axis_length = 71.78690, eccentricity = 0.92816, convex_area = 10969.00000, extent = 0.69610, type = O + area = 11108.00000, perimeter = 416.83401, major_axis_length = 166.33659, minor_axis_length = 86.45924, eccentricity = 0.85430, convex_area = 11420.00000, extent = 0.68001, type = O + area = 11509.00000, perimeter = 435.86700, major_axis_length = 178.42445, minor_axis_length = 83.85387, eccentricity = 0.88268, convex_area = 11792.00000, extent = 0.58466, type = O + area = 13457.00000, perimeter = 483.61401, major_axis_length = 211.01250, minor_axis_length = 81.87440, eccentricity = 0.92166, convex_area = 13763.00000, extent = 0.67312, type = C + area = 10594.00000, perimeter = 409.82199, major_axis_length = 164.28784, minor_axis_length = 84.05598, eccentricity = 0.85920, convex_area = 10977.00000, extent = 0.62790, type = O + area = 11432.00000, perimeter = 428.53699, major_axis_length = 172.69301, minor_axis_length = 85.30267, eccentricity = 0.86949, convex_area = 11696.00000, extent = 0.62286, type = O + area = 11753.00000, perimeter = 425.38599, major_axis_length = 176.00821, minor_axis_length = 85.75704, eccentricity = 0.87327, convex_area = 11919.00000, extent = 0.65557, type = O + area = 10632.00000, perimeter = 405.41599, major_axis_length = 167.32594, minor_axis_length = 81.34428, eccentricity = 0.87388, convex_area = 10762.00000, extent = 0.62318, type = O + area = 13574.00000, perimeter = 481.15701, major_axis_length = 206.46765, minor_axis_length = 84.42449, eccentricity = 0.91258, convex_area = 13870.00000, extent = 0.80961, type = C + area = 15375.00000, perimeter = 515.42297, major_axis_length = 215.99930, minor_axis_length = 91.61694, eccentricity = 0.90559, convex_area = 15780.00000, extent = 0.59760, type = C + area = 12709.00000, perimeter = 456.17401, major_axis_length = 191.37341, minor_axis_length = 85.73984, eccentricity = 0.89402, convex_area = 12934.00000, extent = 0.78281, type = C + area = 15258.00000, perimeter = 505.16299, major_axis_length = 214.01933, minor_axis_length = 91.61250, eccentricity = 0.90375, convex_area = 15497.00000, extent = 0.57413, type = C + area = 12416.00000, perimeter = 449.73999, major_axis_length = 190.60756, minor_axis_length = 83.51945, eccentricity = 0.89889, convex_area = 12607.00000, extent = 0.67721, type = O + area = 10729.00000, perimeter = 414.69901, major_axis_length = 171.72987, minor_axis_length = 81.42698, eccentricity = 0.88044, convex_area = 10987.00000, extent = 0.79421, type = O + area = 12140.00000, perimeter = 441.49899, major_axis_length = 182.43399, minor_axis_length = 85.49819, eccentricity = 0.88338, convex_area = 12358.00000, extent = 0.58961, type = O + area = 14524.00000, perimeter = 480.21201, major_axis_length = 199.93301, minor_axis_length = 93.31210, eccentricity = 0.88441, convex_area = 14808.00000, extent = 0.61128, type = C + area = 10187.00000, perimeter = 409.35699, major_axis_length = 170.06361, minor_axis_length = 77.55087, eccentricity = 0.88997, convex_area = 10391.00000, extent = 0.68539, type = O + area = 10973.00000, perimeter = 419.26300, major_axis_length = 169.84077, minor_axis_length = 83.49603, eccentricity = 0.87081, convex_area = 11285.00000, extent = 0.77768, type = O + area = 14747.00000, perimeter = 494.94199, major_axis_length = 209.20590, minor_axis_length = 90.64754, eccentricity = 0.90125, convex_area = 15124.00000, extent = 0.55603, type = C + area = 13637.00000, perimeter = 482.51099, major_axis_length = 205.19894, minor_axis_length = 85.42422, eccentricity = 0.90923, convex_area = 13952.00000, extent = 0.55661, type = C + area = 11723.00000, perimeter = 427.62500, major_axis_length = 175.98422, minor_axis_length = 85.70834, eccentricity = 0.87339, convex_area = 11916.00000, extent = 0.80207, type = O + area = 12415.00000, perimeter = 445.99500, major_axis_length = 184.36719, minor_axis_length = 87.04115, eccentricity = 0.88154, convex_area = 12719.00000, extent = 0.65799, type = O + area = 15301.00000, perimeter = 515.52698, major_axis_length = 220.29213, minor_axis_length = 89.46645, eccentricity = 0.91382, convex_area = 15690.00000, extent = 0.53767, type = C + area = 12068.00000, perimeter = 450.14600, major_axis_length = 187.29993, minor_axis_length = 83.14626, eccentricity = 0.89607, convex_area = 12426.00000, extent = 0.65008, type = C + area = 13913.00000, perimeter = 493.60699, major_axis_length = 212.98547, minor_axis_length = 83.99135, eccentricity = 0.91896, convex_area = 14218.00000, extent = 0.57213, type = C + area = 11689.00000, perimeter = 444.89801, major_axis_length = 191.93597, minor_axis_length = 78.10004, eccentricity = 0.91347, convex_area = 11935.00000, extent = 0.54930, type = C + area = 11540.00000, perimeter = 427.31900, major_axis_length = 174.08281, minor_axis_length = 85.41787, eccentricity = 0.87134, convex_area = 11829.00000, extent = 0.74519, type = O + area = 13853.00000, perimeter = 479.72299, major_axis_length = 193.40189, minor_axis_length = 92.85981, eccentricity = 0.87719, convex_area = 14338.00000, extent = 0.58637, type = C + area = 10740.00000, perimeter = 422.76801, major_axis_length = 182.96492, minor_axis_length = 75.03802, eccentricity = 0.91203, convex_area = 10886.00000, extent = 0.55636, type = O + area = 12431.00000, perimeter = 437.65701, major_axis_length = 178.19420, minor_axis_length = 89.48652, eccentricity = 0.86476, convex_area = 12657.00000, extent = 0.73556, type = O + area = 11230.00000, perimeter = 422.71799, major_axis_length = 172.90004, minor_axis_length = 83.84802, eccentricity = 0.87454, convex_area = 11462.00000, extent = 0.60660, type = O + area = 13677.00000, perimeter = 494.63501, major_axis_length = 219.59956, minor_axis_length = 79.63166, eccentricity = 0.93194, convex_area = 13936.00000, extent = 0.53210, type = C + area = 12714.00000, perimeter = 454.54501, major_axis_length = 185.12328, minor_axis_length = 88.69659, eccentricity = 0.87775, convex_area = 12939.00000, extent = 0.62269, type = O + area = 13087.00000, perimeter = 468.81100, major_axis_length = 198.28671, minor_axis_length = 84.87167, eccentricity = 0.90377, convex_area = 13488.00000, extent = 0.77246, type = C + area = 11322.00000, perimeter = 415.60101, major_axis_length = 164.59805, minor_axis_length = 88.87003, eccentricity = 0.84172, convex_area = 11619.00000, extent = 0.75405, type = O + area = 11981.00000, perimeter = 448.82700, major_axis_length = 190.12900, minor_axis_length = 81.32439, eccentricity = 0.90391, convex_area = 12154.00000, extent = 0.56209, type = C + area = 11115.00000, perimeter = 424.73001, major_axis_length = 177.78542, minor_axis_length = 80.54494, eccentricity = 0.89149, convex_area = 11318.00000, extent = 0.73463, type = O + area = 13589.00000, perimeter = 483.88400, major_axis_length = 205.35475, minor_axis_length = 85.41032, eccentricity = 0.90940, convex_area = 13883.00000, extent = 0.54574, type = C + area = 13837.00000, perimeter = 483.59399, major_axis_length = 204.31093, minor_axis_length = 87.28925, eccentricity = 0.90414, convex_area = 14139.00000, extent = 0.56942, type = C + area = 13540.00000, perimeter = 458.53000, major_axis_length = 189.11140, minor_axis_length = 92.39391, eccentricity = 0.87253, convex_area = 13710.00000, extent = 0.79995, type = C + area = 10286.00000, perimeter = 401.78900, major_axis_length = 159.07466, minor_axis_length = 83.59863, eccentricity = 0.85077, convex_area = 10524.00000, extent = 0.77014, type = O + area = 11232.00000, perimeter = 427.42999, major_axis_length = 180.43719, minor_axis_length = 80.56561, eccentricity = 0.89478, convex_area = 11424.00000, extent = 0.59878, type = O + area = 13270.00000, perimeter = 459.86600, major_axis_length = 188.89337, minor_axis_length = 90.74985, eccentricity = 0.87703, convex_area = 13507.00000, extent = 0.59945, type = O + area = 12573.00000, perimeter = 461.46600, major_axis_length = 192.90335, minor_axis_length = 84.57207, eccentricity = 0.89877, convex_area = 12893.00000, extent = 0.55043, type = O + area = 14436.00000, perimeter = 486.98901, major_axis_length = 204.49770, minor_axis_length = 90.86436, eccentricity = 0.89586, convex_area = 14709.00000, extent = 0.64186, type = C + area = 10693.00000, perimeter = 408.70401, major_axis_length = 167.52409, minor_axis_length = 82.57571, eccentricity = 0.87008, convex_area = 10911.00000, extent = 0.74092, type = O + area = 11808.00000, perimeter = 431.45700, major_axis_length = 176.30458, minor_axis_length = 85.55895, eccentricity = 0.87435, convex_area = 12006.00000, extent = 0.61835, type = O + area = 12835.00000, perimeter = 481.50299, major_axis_length = 212.53754, minor_axis_length = 77.45262, eccentricity = 0.93124, convex_area = 13055.00000, extent = 0.51195, type = C + area = 10032.00000, perimeter = 403.09601, major_axis_length = 165.60661, minor_axis_length = 78.48328, eccentricity = 0.88057, convex_area = 10307.00000, extent = 0.74598, type = O + area = 10440.00000, perimeter = 405.61499, major_axis_length = 165.24684, minor_axis_length = 82.02889, eccentricity = 0.86809, convex_area = 10716.00000, extent = 0.59842, type = O + area = 17192.00000, perimeter = 528.34198, major_axis_length = 222.94994, minor_axis_length = 99.09267, eccentricity = 0.89580, convex_area = 17457.00000, extent = 0.62891, type = C + area = 10106.00000, perimeter = 408.94199, major_axis_length = 167.79526, minor_axis_length = 78.30337, eccentricity = 0.88444, convex_area = 10424.00000, extent = 0.78123, type = O + area = 10667.00000, perimeter = 411.74701, major_axis_length = 163.93025, minor_axis_length = 84.71981, eccentricity = 0.85610, convex_area = 10987.00000, extent = 0.66610, type = O + area = 14725.00000, perimeter = 472.90201, major_axis_length = 193.12355, minor_axis_length = 97.71609, eccentricity = 0.86255, convex_area = 15084.00000, extent = 0.63432, type = C + area = 14558.00000, perimeter = 496.30499, major_axis_length = 204.36063, minor_axis_length = 91.95660, eccentricity = 0.89304, convex_area = 14908.00000, extent = 0.56947, type = C + area = 10745.00000, perimeter = 422.23300, major_axis_length = 183.70955, minor_axis_length = 75.03774, eccentricity = 0.91278, convex_area = 10883.00000, extent = 0.82230, type = O + area = 14142.00000, perimeter = 470.71301, major_axis_length = 180.69858, minor_axis_length = 101.76226, eccentricity = 0.82635, convex_area = 14709.00000, extent = 0.70274, type = O + area = 11248.00000, perimeter = 420.29001, major_axis_length = 171.22313, minor_axis_length = 84.84222, eccentricity = 0.86860, convex_area = 11521.00000, extent = 0.71566, type = O + area = 10492.00000, perimeter = 405.91000, major_axis_length = 162.79765, minor_axis_length = 83.49519, eccentricity = 0.85846, convex_area = 10888.00000, extent = 0.62913, type = O + area = 11983.00000, perimeter = 430.63101, major_axis_length = 175.67865, minor_axis_length = 87.90483, eccentricity = 0.86581, convex_area = 12248.00000, extent = 0.62227, type = O + area = 11312.00000, perimeter = 421.54599, major_axis_length = 168.25601, minor_axis_length = 87.21075, eccentricity = 0.85519, convex_area = 11622.00000, extent = 0.76921, type = O + area = 13470.00000, perimeter = 471.18799, major_axis_length = 200.50235, minor_axis_length = 86.78320, eccentricity = 0.90148, convex_area = 13729.00000, extent = 0.58211, type = C + area = 16226.00000, perimeter = 524.20502, major_axis_length = 216.87326, minor_axis_length = 96.65368, eccentricity = 0.89520, convex_area = 16748.00000, extent = 0.64862, type = C + area = 14759.00000, perimeter = 483.26700, major_axis_length = 203.96587, minor_axis_length = 92.55145, eccentricity = 0.89112, convex_area = 15002.00000, extent = 0.78505, type = C + area = 11672.00000, perimeter = 430.64200, major_axis_length = 177.94815, minor_axis_length = 84.67979, eccentricity = 0.87952, convex_area = 11849.00000, extent = 0.59746, type = O + area = 12768.00000, perimeter = 450.60001, major_axis_length = 188.64336, minor_axis_length = 86.66716, eccentricity = 0.88822, convex_area = 12961.00000, extent = 0.79820, type = O + area = 12734.00000, perimeter = 470.61401, major_axis_length = 204.40291, minor_axis_length = 80.16530, eccentricity = 0.91988, convex_area = 12982.00000, extent = 0.71459, type = C + area = 10964.00000, perimeter = 412.82199, major_axis_length = 168.77948, minor_axis_length = 83.76622, eccentricity = 0.86815, convex_area = 11118.00000, extent = 0.74605, type = O + area = 13645.00000, perimeter = 454.61499, major_axis_length = 182.60464, minor_axis_length = 95.70824, eccentricity = 0.85164, convex_area = 13819.00000, extent = 0.62753, type = O + area = 12279.00000, perimeter = 462.00601, major_axis_length = 197.84625, minor_axis_length = 80.54206, eccentricity = 0.91339, convex_area = 12619.00000, extent = 0.63694, type = C + area = 11626.00000, perimeter = 420.78900, major_axis_length = 168.46971, minor_axis_length = 89.07520, eccentricity = 0.84879, convex_area = 11857.00000, extent = 0.63634, type = O + area = 10941.00000, perimeter = 423.40799, major_axis_length = 172.85109, minor_axis_length = 81.42479, eccentricity = 0.88210, convex_area = 11248.00000, extent = 0.62952, type = O + area = 15559.00000, perimeter = 514.27899, major_axis_length = 221.11908, minor_axis_length = 90.46384, eccentricity = 0.91248, convex_area = 15903.00000, extent = 0.77578, type = C + area = 12798.00000, perimeter = 469.29800, major_axis_length = 202.16541, minor_axis_length = 81.58068, eccentricity = 0.91496, convex_area = 13152.00000, extent = 0.78037, type = C + area = 12120.00000, perimeter = 441.00000, major_axis_length = 180.37653, minor_axis_length = 86.71608, eccentricity = 0.87686, convex_area = 12479.00000, extent = 0.64226, type = O + area = 14363.00000, perimeter = 493.26099, major_axis_length = 210.56975, minor_axis_length = 87.41584, eccentricity = 0.90976, convex_area = 14621.00000, extent = 0.57706, type = C + area = 13693.00000, perimeter = 479.47900, major_axis_length = 200.39729, minor_axis_length = 88.17446, eccentricity = 0.89800, convex_area = 14097.00000, extent = 0.69525, type = C + area = 12982.00000, perimeter = 466.15701, major_axis_length = 200.51947, minor_axis_length = 82.79620, eccentricity = 0.91077, convex_area = 13188.00000, extent = 0.62228, type = C + area = 11341.00000, perimeter = 437.56601, major_axis_length = 181.90344, minor_axis_length = 80.57669, eccentricity = 0.89654, convex_area = 11669.00000, extent = 0.76628, type = O + area = 14640.00000, perimeter = 501.32401, major_axis_length = 210.29160, minor_axis_length = 90.33173, eccentricity = 0.90304, convex_area = 15119.00000, extent = 0.58654, type = C + area = 13092.00000, perimeter = 465.43701, major_axis_length = 197.04187, minor_axis_length = 85.83564, eccentricity = 0.90013, convex_area = 13369.00000, extent = 0.76885, type = C + area = 11243.00000, perimeter = 430.93301, major_axis_length = 179.99966, minor_axis_length = 81.03175, eccentricity = 0.89294, convex_area = 11524.00000, extent = 0.73894, type = O + area = 11715.00000, perimeter = 430.37900, major_axis_length = 172.75179, minor_axis_length = 87.85531, eccentricity = 0.86102, convex_area = 12009.00000, extent = 0.77835, type = O + area = 14972.00000, perimeter = 501.86600, major_axis_length = 208.83842, minor_axis_length = 92.89321, eccentricity = 0.89563, convex_area = 15476.00000, extent = 0.72708, type = C + area = 10828.00000, perimeter = 410.06900, major_axis_length = 166.37714, minor_axis_length = 84.09660, eccentricity = 0.86285, convex_area = 11093.00000, extent = 0.72852, type = O + area = 11867.00000, perimeter = 431.94299, major_axis_length = 178.59091, minor_axis_length = 85.77666, eccentricity = 0.87711, convex_area = 12126.00000, extent = 0.64035, type = O + area = 11327.00000, perimeter = 415.81500, major_axis_length = 171.68102, minor_axis_length = 84.50090, eccentricity = 0.87048, convex_area = 11497.00000, extent = 0.80276, type = O + area = 12261.00000, perimeter = 438.89801, major_axis_length = 173.36475, minor_axis_length = 90.88268, eccentricity = 0.85158, convex_area = 12499.00000, extent = 0.77882, type = O + area = 11972.00000, perimeter = 433.09201, major_axis_length = 177.81424, minor_axis_length = 86.38818, eccentricity = 0.87405, convex_area = 12249.00000, extent = 0.71441, type = O + area = 9858.00000, perimeter = 388.66699, major_axis_length = 155.12448, minor_axis_length = 81.84178, eccentricity = 0.84950, convex_area = 10101.00000, extent = 0.65654, type = O + area = 15715.00000, perimeter = 511.25000, major_axis_length = 210.91161, minor_axis_length = 96.00474, eccentricity = 0.89039, convex_area = 16096.00000, extent = 0.58141, type = C + area = 12053.00000, perimeter = 440.97800, major_axis_length = 180.09575, minor_axis_length = 86.76285, eccentricity = 0.87630, convex_area = 12351.00000, extent = 0.59049, type = O + area = 15694.00000, perimeter = 506.50601, major_axis_length = 211.83493, minor_axis_length = 96.02247, eccentricity = 0.89136, convex_area = 16010.00000, extent = 0.57654, type = C + area = 13746.00000, perimeter = 483.82001, major_axis_length = 205.84219, minor_axis_length = 86.18869, eccentricity = 0.90812, convex_area = 14060.00000, extent = 0.71594, type = C + area = 12676.00000, perimeter = 431.76999, major_axis_length = 172.60965, minor_axis_length = 94.47388, eccentricity = 0.83692, convex_area = 12872.00000, extent = 0.73103, type = O + area = 13789.00000, perimeter = 471.30301, major_axis_length = 198.52347, minor_axis_length = 88.71288, eccentricity = 0.89460, convex_area = 14025.00000, extent = 0.63136, type = C + area = 14534.00000, perimeter = 483.64099, major_axis_length = 196.65082, minor_axis_length = 95.05068, eccentricity = 0.87543, convex_area = 14932.00000, extent = 0.64965, type = C + area = 11481.00000, perimeter = 419.06699, major_axis_length = 170.32956, minor_axis_length = 86.68471, eccentricity = 0.86081, convex_area = 11674.00000, extent = 0.74167, type = O + area = 10773.00000, perimeter = 414.89200, major_axis_length = 159.67531, minor_axis_length = 88.12444, eccentricity = 0.83391, convex_area = 11174.00000, extent = 0.63281, type = O + area = 10910.00000, perimeter = 445.27399, major_axis_length = 190.24805, minor_axis_length = 73.87875, eccentricity = 0.92152, convex_area = 11229.00000, extent = 0.62788, type = O + area = 13023.00000, perimeter = 480.44800, major_axis_length = 205.31209, minor_axis_length = 82.03385, eccentricity = 0.91671, convex_area = 13444.00000, extent = 0.63243, type = C + area = 14463.00000, perimeter = 480.48999, major_axis_length = 201.93422, minor_axis_length = 91.94389, eccentricity = 0.89033, convex_area = 14698.00000, extent = 0.67512, type = C + area = 11396.00000, perimeter = 431.29700, major_axis_length = 177.63840, minor_axis_length = 82.85764, eccentricity = 0.88455, convex_area = 11612.00000, extent = 0.75321, type = O + area = 12587.00000, perimeter = 451.17200, major_axis_length = 185.70013, minor_axis_length = 87.76485, eccentricity = 0.88127, convex_area = 12941.00000, extent = 0.69804, type = O + area = 11764.00000, perimeter = 428.56100, major_axis_length = 171.58627, minor_axis_length = 88.72550, eccentricity = 0.85593, convex_area = 12125.00000, extent = 0.68803, type = O + area = 14658.00000, perimeter = 486.17899, major_axis_length = 201.88654, minor_axis_length = 93.20777, eccentricity = 0.88704, convex_area = 14892.00000, extent = 0.64830, type = C + area = 12599.00000, perimeter = 455.28101, major_axis_length = 188.01591, minor_axis_length = 86.37449, eccentricity = 0.88823, convex_area = 12897.00000, extent = 0.62125, type = C + area = 11266.00000, perimeter = 414.72900, major_axis_length = 166.42735, minor_axis_length = 87.76852, eccentricity = 0.84964, convex_area = 11452.00000, extent = 0.61901, type = O + area = 11659.00000, perimeter = 442.33801, major_axis_length = 186.14996, minor_axis_length = 81.04517, eccentricity = 0.90025, convex_area = 11974.00000, extent = 0.68907, type = O + area = 12377.00000, perimeter = 465.04700, major_axis_length = 197.08141, minor_axis_length = 81.92233, eccentricity = 0.90951, convex_area = 12669.00000, extent = 0.62968, type = C + area = 12653.00000, perimeter = 461.62000, major_axis_length = 195.89386, minor_axis_length = 83.49930, eccentricity = 0.90461, convex_area = 12973.00000, extent = 0.57650, type = C + area = 14622.00000, perimeter = 481.61600, major_axis_length = 200.05356, minor_axis_length = 94.38364, eccentricity = 0.88171, convex_area = 14845.00000, extent = 0.60895, type = C + area = 14828.00000, perimeter = 494.28799, major_axis_length = 202.10315, minor_axis_length = 95.03462, eccentricity = 0.88254, convex_area = 15197.00000, extent = 0.59179, type = C + area = 16606.00000, perimeter = 516.36499, major_axis_length = 211.59421, minor_axis_length = 101.76991, eccentricity = 0.87674, convex_area = 17032.00000, extent = 0.70712, type = C + area = 12580.00000, perimeter = 479.21701, major_axis_length = 208.42375, minor_axis_length = 77.74034, eccentricity = 0.92783, convex_area = 12879.00000, extent = 0.57307, type = C + area = 11696.00000, perimeter = 443.52802, major_axis_length = 186.58772, minor_axis_length = 80.95197, eccentricity = 0.90098, convex_area = 11952.00000, extent = 0.73913, type = O + area = 10023.00000, perimeter = 413.20401, major_axis_length = 173.62323, minor_axis_length = 74.24060, eccentricity = 0.90397, convex_area = 10221.00000, extent = 0.57973, type = O + area = 15486.00000, perimeter = 509.13599, major_axis_length = 211.11356, minor_axis_length = 94.82224, eccentricity = 0.89345, convex_area = 15921.00000, extent = 0.68634, type = C + area = 10664.00000, perimeter = 414.93900, major_axis_length = 168.07909, minor_axis_length = 81.73141, eccentricity = 0.87381, convex_area = 10929.00000, extent = 0.64536, type = O + area = 13683.00000, perimeter = 492.97501, major_axis_length = 213.90919, minor_axis_length = 83.12070, eccentricity = 0.92142, convex_area = 14070.00000, extent = 0.76127, type = C + area = 12158.00000, perimeter = 441.47800, major_axis_length = 182.28729, minor_axis_length = 85.52101, eccentricity = 0.88312, convex_area = 12359.00000, extent = 0.71551, type = C + area = 11577.00000, perimeter = 431.15601, major_axis_length = 178.83626, minor_axis_length = 83.40616, eccentricity = 0.88458, convex_area = 11810.00000, extent = 0.75607, type = C + area = 11533.00000, perimeter = 424.56601, major_axis_length = 174.21489, minor_axis_length = 85.42399, eccentricity = 0.87153, convex_area = 11773.00000, extent = 0.73646, type = O + area = 12930.00000, perimeter = 474.07800, major_axis_length = 205.35634, minor_axis_length = 80.71208, eccentricity = 0.91952, convex_area = 13181.00000, extent = 0.74063, type = C + area = 13970.00000, perimeter = 494.62900, major_axis_length = 210.52756, minor_axis_length = 85.43404, eccentricity = 0.91396, convex_area = 14308.00000, extent = 0.55054, type = C + area = 11438.00000, perimeter = 433.91800, major_axis_length = 178.35156, minor_axis_length = 83.54765, eccentricity = 0.88349, convex_area = 11767.00000, extent = 0.74302, type = O + area = 12672.00000, perimeter = 445.54300, major_axis_length = 180.45528, minor_axis_length = 90.30993, eccentricity = 0.86576, convex_area = 12900.00000, extent = 0.62569, type = O + area = 10897.00000, perimeter = 420.55499, major_axis_length = 168.11865, minor_axis_length = 83.56301, eccentricity = 0.86772, convex_area = 11174.00000, extent = 0.64085, type = O + area = 14761.00000, perimeter = 499.51099, major_axis_length = 210.79877, minor_axis_length = 90.55553, eccentricity = 0.90303, convex_area = 15197.00000, extent = 0.65833, type = C + area = 15144.00000, perimeter = 505.91299, major_axis_length = 212.36888, minor_axis_length = 92.02203, eccentricity = 0.90124, convex_area = 15609.00000, extent = 0.60951, type = C + area = 12259.00000, perimeter = 440.03000, major_axis_length = 177.31454, minor_axis_length = 89.53557, eccentricity = 0.86315, convex_area = 12533.00000, extent = 0.72414, type = O + area = 16603.00000, perimeter = 513.52301, major_axis_length = 213.52026, minor_axis_length = 99.96153, eccentricity = 0.88364, convex_area = 16922.00000, extent = 0.60890, type = C + area = 13154.00000, perimeter = 451.56201, major_axis_length = 179.95360, minor_axis_length = 94.31381, eccentricity = 0.85166, convex_area = 13428.00000, extent = 0.65022, type = O + area = 15389.00000, perimeter = 521.30402, major_axis_length = 226.96100, minor_axis_length = 87.38693, eccentricity = 0.92290, convex_area = 15753.00000, extent = 0.57465, type = C + area = 15285.00000, perimeter = 516.46698, major_axis_length = 216.28044, minor_axis_length = 91.34657, eccentricity = 0.90643, convex_area = 15704.00000, extent = 0.58788, type = C + area = 14318.00000, perimeter = 491.29599, major_axis_length = 207.61473, minor_axis_length = 89.12659, eccentricity = 0.90317, convex_area = 14629.00000, extent = 0.56246, type = C + area = 17353.00000, perimeter = 539.03400, major_axis_length = 220.96120, minor_axis_length = 101.45410, eccentricity = 0.88836, convex_area = 17845.00000, extent = 0.63031, type = C + area = 12411.00000, perimeter = 443.55499, major_axis_length = 178.22722, minor_axis_length = 90.22404, eccentricity = 0.86240, convex_area = 12780.00000, extent = 0.64053, type = O + area = 9741.00000, perimeter = 430.56000, major_axis_length = 180.06628, minor_axis_length = 71.17449, eccentricity = 0.91857, convex_area = 10204.00000, extent = 0.76460, type = O + area = 10474.00000, perimeter = 403.45999, major_axis_length = 167.88440, minor_axis_length = 80.18859, eccentricity = 0.87855, convex_area = 10611.00000, extent = 0.78870, type = O + area = 13533.00000, perimeter = 473.93201, major_axis_length = 196.11755, minor_axis_length = 88.91679, eccentricity = 0.89131, convex_area = 13897.00000, extent = 0.60456, type = C + area = 11183.00000, perimeter = 414.34900, major_axis_length = 170.64938, minor_axis_length = 83.88195, eccentricity = 0.87085, convex_area = 11321.00000, extent = 0.61699, type = O + area = 11746.00000, perimeter = 431.82700, major_axis_length = 174.58006, minor_axis_length = 87.34896, eccentricity = 0.86583, convex_area = 12096.00000, extent = 0.71885, type = O + area = 14958.00000, perimeter = 505.25699, major_axis_length = 216.37630, minor_axis_length = 88.34891, eccentricity = 0.91284, convex_area = 15235.00000, extent = 0.70861, type = C + area = 10604.00000, perimeter = 425.92599, major_axis_length = 179.15118, minor_axis_length = 76.35169, eccentricity = 0.90464, convex_area = 10830.00000, extent = 0.57490, type = C + area = 8813.00000, perimeter = 387.72101, major_axis_length = 164.17770, minor_axis_length = 68.98608, eccentricity = 0.90744, convex_area = 9005.00000, extent = 0.73737, type = O + area = 14960.00000, perimeter = 482.14001, major_axis_length = 199.54398, minor_axis_length = 96.21820, eccentricity = 0.87607, convex_area = 15149.00000, extent = 0.61186, type = O + area = 16376.00000, perimeter = 531.00098, major_axis_length = 227.94485, minor_axis_length = 92.66852, eccentricity = 0.91363, convex_area = 16667.00000, extent = 0.74177, type = C + area = 11001.00000, perimeter = 415.03900, major_axis_length = 173.10416, minor_axis_length = 82.06340, eccentricity = 0.88049, convex_area = 11132.00000, extent = 0.78962, type = O + area = 13607.00000, perimeter = 482.81799, major_axis_length = 202.84724, minor_axis_length = 86.15414, eccentricity = 0.90532, convex_area = 13901.00000, extent = 0.55684, type = C + area = 12326.00000, perimeter = 459.68201, major_axis_length = 194.34097, minor_axis_length = 82.07947, eccentricity = 0.90643, convex_area = 12686.00000, extent = 0.61933, type = C + area = 11480.00000, perimeter = 419.10699, major_axis_length = 170.62241, minor_axis_length = 86.62787, eccentricity = 0.86152, convex_area = 11674.00000, extent = 0.78544, type = O + area = 15238.00000, perimeter = 496.87100, major_axis_length = 208.53178, minor_axis_length = 93.82840, eccentricity = 0.89305, convex_area = 15487.00000, extent = 0.73231, type = C + area = 11625.00000, perimeter = 421.39001, major_axis_length = 167.71480, minor_axis_length = 89.46257, eccentricity = 0.84585, convex_area = 11904.00000, extent = 0.69428, type = O + area = 11793.00000, perimeter = 417.16000, major_axis_length = 163.04384, minor_axis_length = 93.50110, eccentricity = 0.81923, convex_area = 12022.00000, extent = 0.66171, type = O + area = 11634.00000, perimeter = 427.10501, major_axis_length = 171.32634, minor_axis_length = 88.26649, eccentricity = 0.85707, convex_area = 11967.00000, extent = 0.70969, type = O + area = 12210.00000, perimeter = 453.12399, major_axis_length = 189.42078, minor_axis_length = 83.15540, eccentricity = 0.89849, convex_area = 12641.00000, extent = 0.63733, type = C + area = 14407.00000, perimeter = 482.79599, major_axis_length = 202.83234, minor_axis_length = 91.19193, eccentricity = 0.89323, convex_area = 14671.00000, extent = 0.74263, type = C + area = 11359.00000, perimeter = 420.87201, major_axis_length = 170.85472, minor_axis_length = 85.41528, eccentricity = 0.86607, convex_area = 11580.00000, extent = 0.61747, type = O + area = 12068.00000, perimeter = 457.73901, major_axis_length = 196.44206, minor_axis_length = 79.54394, eccentricity = 0.91435, convex_area = 12347.00000, extent = 0.59950, type = C + area = 11080.00000, perimeter = 429.41800, major_axis_length = 175.21588, minor_axis_length = 82.17780, eccentricity = 0.88319, convex_area = 11277.00000, extent = 0.56955, type = O + area = 13468.00000, perimeter = 475.39801, major_axis_length = 199.75359, minor_axis_length = 87.04467, eccentricity = 0.90006, convex_area = 13817.00000, extent = 0.57007, type = C + area = 15275.00000, perimeter = 509.85501, major_axis_length = 217.55469, minor_axis_length = 90.18382, eccentricity = 0.91003, convex_area = 15582.00000, extent = 0.66761, type = C + area = 13621.00000, perimeter = 478.75299, major_axis_length = 200.04332, minor_axis_length = 88.05669, eccentricity = 0.89791, convex_area = 14068.00000, extent = 0.62459, type = C + area = 12711.00000, perimeter = 459.61801, major_axis_length = 192.97462, minor_axis_length = 84.95108, eccentricity = 0.89789, convex_area = 13028.00000, extent = 0.58195, type = C + area = 11512.00000, perimeter = 427.56799, major_axis_length = 172.21010, minor_axis_length = 85.44306, eccentricity = 0.86823, convex_area = 11802.00000, extent = 0.69079, type = O + area = 10889.00000, perimeter = 409.01700, major_axis_length = 165.91946, minor_axis_length = 84.85235, eccentricity = 0.85934, convex_area = 11123.00000, extent = 0.80480, type = O + area = 11999.00000, perimeter = 465.65799, major_axis_length = 194.78426, minor_axis_length = 80.43824, eccentricity = 0.91075, convex_area = 12364.00000, extent = 0.53701, type = C + area = 12277.00000, perimeter = 450.32599, major_axis_length = 190.74178, minor_axis_length = 82.85999, eccentricity = 0.90072, convex_area = 12482.00000, extent = 0.76340, type = O + area = 9878.00000, perimeter = 406.97800, major_axis_length = 169.36671, minor_axis_length = 74.97759, eccentricity = 0.89667, convex_area = 10098.00000, extent = 0.58133, type = O + area = 15056.00000, perimeter = 499.17099, major_axis_length = 202.89360, minor_axis_length = 96.13976, eccentricity = 0.88061, convex_area = 15517.00000, extent = 0.70355, type = C + area = 12672.00000, perimeter = 450.34399, major_axis_length = 184.40462, minor_axis_length = 88.78121, eccentricity = 0.87647, convex_area = 12939.00000, extent = 0.78261, type = O + area = 14378.00000, perimeter = 491.48001, major_axis_length = 202.71188, minor_axis_length = 91.38580, eccentricity = 0.89262, convex_area = 14805.00000, extent = 0.64022, type = C + area = 13200.00000, perimeter = 477.85101, major_axis_length = 202.59695, minor_axis_length = 83.68837, eccentricity = 0.91070, convex_area = 13585.00000, extent = 0.64140, type = C + area = 11578.00000, perimeter = 431.50601, major_axis_length = 181.23451, minor_axis_length = 82.66643, eccentricity = 0.88991, convex_area = 11747.00000, extent = 0.61901, type = O + area = 13932.00000, perimeter = 495.52802, major_axis_length = 213.34854, minor_axis_length = 84.32091, eccentricity = 0.91858, convex_area = 14297.00000, extent = 0.55484, type = C + area = 12635.00000, perimeter = 439.08301, major_axis_length = 171.22871, minor_axis_length = 94.81418, eccentricity = 0.83270, convex_area = 12929.00000, extent = 0.63112, type = O + area = 12989.00000, perimeter = 450.23801, major_axis_length = 182.64360, minor_axis_length = 91.99093, eccentricity = 0.86390, convex_area = 13259.00000, extent = 0.63803, type = O + area = 10559.00000, perimeter = 411.08801, major_axis_length = 160.05302, minor_axis_length = 86.12353, eccentricity = 0.84289, convex_area = 10889.00000, extent = 0.62672, type = O + area = 13699.00000, perimeter = 480.72900, major_axis_length = 197.97092, minor_axis_length = 89.94907, eccentricity = 0.89082, convex_area = 14178.00000, extent = 0.67205, type = C + area = 13724.00000, perimeter = 481.77100, major_axis_length = 200.89267, minor_axis_length = 88.16832, eccentricity = 0.89854, convex_area = 14038.00000, extent = 0.67954, type = C + area = 13117.00000, perimeter = 451.86801, major_axis_length = 173.72090, minor_axis_length = 98.30622, eccentricity = 0.82448, convex_area = 13453.00000, extent = 0.65562, type = O + area = 13308.00000, perimeter = 464.13300, major_axis_length = 196.24231, minor_axis_length = 87.26089, eccentricity = 0.89570, convex_area = 13486.00000, extent = 0.59752, type = O + area = 11992.00000, perimeter = 431.15701, major_axis_length = 173.30000, minor_axis_length = 89.58514, eccentricity = 0.85602, convex_area = 12274.00000, extent = 0.77020, type = O + area = 11962.00000, perimeter = 429.18100, major_axis_length = 175.88785, minor_axis_length = 87.96854, eccentricity = 0.86594, convex_area = 12152.00000, extent = 0.78568, type = O + area = 10685.00000, perimeter = 416.71701, major_axis_length = 173.27515, minor_axis_length = 79.70607, eccentricity = 0.88792, convex_area = 10871.00000, extent = 0.70668, type = O + area = 12685.00000, perimeter = 468.59601, major_axis_length = 199.65999, minor_axis_length = 82.19839, eccentricity = 0.91132, convex_area = 13042.00000, extent = 0.69591, type = C + area = 13277.00000, perimeter = 486.95599, major_axis_length = 201.83914, minor_axis_length = 85.25986, eccentricity = 0.90640, convex_area = 13771.00000, extent = 0.61105, type = C + area = 13204.00000, perimeter = 473.81601, major_axis_length = 203.77466, minor_axis_length = 83.10990, eccentricity = 0.91305, convex_area = 13430.00000, extent = 0.59307, type = C + area = 13060.00000, perimeter = 465.64801, major_axis_length = 192.37201, minor_axis_length = 87.59805, eccentricity = 0.89031, convex_area = 13352.00000, extent = 0.58055, type = O + area = 14655.00000, perimeter = 491.71500, major_axis_length = 200.14690, minor_axis_length = 94.78046, eccentricity = 0.88076, convex_area = 15181.00000, extent = 0.60091, type = C + area = 11102.00000, perimeter = 423.59399, major_axis_length = 173.86256, minor_axis_length = 82.35934, eccentricity = 0.88068, convex_area = 11332.00000, extent = 0.59154, type = O + area = 10925.00000, perimeter = 415.17499, major_axis_length = 170.68759, minor_axis_length = 82.24397, eccentricity = 0.87626, convex_area = 11155.00000, extent = 0.60634, type = O + area = 11905.00000, perimeter = 433.25000, major_axis_length = 172.77060, minor_axis_length = 89.23660, eccentricity = 0.85629, convex_area = 12224.00000, extent = 0.73207, type = O + area = 11287.00000, perimeter = 429.32501, major_axis_length = 171.89574, minor_axis_length = 85.36037, eccentricity = 0.86799, convex_area = 11599.00000, extent = 0.59014, type = O + area = 12324.00000, perimeter = 449.15201, major_axis_length = 190.39249, minor_axis_length = 83.20514, eccentricity = 0.89945, convex_area = 12595.00000, extent = 0.76713, type = C + area = 10114.00000, perimeter = 398.36700, major_axis_length = 161.02005, minor_axis_length = 80.84945, eccentricity = 0.86480, convex_area = 10305.00000, extent = 0.67454, type = O + area = 14953.00000, perimeter = 503.75201, major_axis_length = 217.10368, minor_axis_length = 88.61492, eccentricity = 0.91291, convex_area = 15229.00000, extent = 0.72314, type = C + area = 10589.00000, perimeter = 439.70801, major_axis_length = 191.70488, minor_axis_length = 71.42118, eccentricity = 0.92801, convex_area = 10817.00000, extent = 0.51095, type = O + area = 13694.00000, perimeter = 464.56000, major_axis_length = 191.33110, minor_axis_length = 91.70782, eccentricity = 0.87764, convex_area = 13918.00000, extent = 0.70880, type = C + area = 12666.00000, perimeter = 453.67700, major_axis_length = 191.36475, minor_axis_length = 85.13595, eccentricity = 0.89559, convex_area = 12866.00000, extent = 0.67016, type = O + area = 13877.00000, perimeter = 489.62299, major_axis_length = 205.14513, minor_axis_length = 86.93637, eccentricity = 0.90577, convex_area = 14176.00000, extent = 0.56381, type = C + area = 12204.00000, perimeter = 436.85501, major_axis_length = 169.29323, minor_axis_length = 93.18581, eccentricity = 0.83487, convex_area = 12505.00000, extent = 0.74779, type = O + area = 16788.00000, perimeter = 533.48798, major_axis_length = 230.12933, minor_axis_length = 93.76288, eccentricity = 0.91323, convex_area = 17041.00000, extent = 0.57268, type = C + area = 14055.00000, perimeter = 488.74899, major_axis_length = 207.75175, minor_axis_length = 87.25033, eccentricity = 0.90754, convex_area = 14484.00000, extent = 0.55008, type = C + area = 16893.00000, perimeter = 523.25403, major_axis_length = 216.24049, minor_axis_length = 100.40816, eccentricity = 0.88566, convex_area = 17293.00000, extent = 0.68106, type = C + area = 10737.00000, perimeter = 414.47198, major_axis_length = 170.45758, minor_axis_length = 81.17029, eccentricity = 0.87934, convex_area = 10986.00000, extent = 0.61179, type = O + area = 14161.00000, perimeter = 488.68701, major_axis_length = 206.50746, minor_axis_length = 87.96767, eccentricity = 0.90473, convex_area = 14428.00000, extent = 0.59395, type = C + area = 13076.00000, perimeter = 450.34500, major_axis_length = 183.59694, minor_axis_length = 91.70959, eccentricity = 0.86630, convex_area = 13253.00000, extent = 0.67702, type = O + area = 13053.00000, perimeter = 480.95099, major_axis_length = 205.95242, minor_axis_length = 81.65559, eccentricity = 0.91804, convex_area = 13478.00000, extent = 0.68358, type = C + area = 11334.00000, perimeter = 433.38901, major_axis_length = 178.98973, minor_axis_length = 82.29804, eccentricity = 0.88803, convex_area = 11566.00000, extent = 0.71158, type = O + area = 11091.00000, perimeter = 416.94501, major_axis_length = 171.77408, minor_axis_length = 82.73455, eccentricity = 0.87637, convex_area = 11292.00000, extent = 0.61013, type = O + area = 15700.00000, perimeter = 525.80902, major_axis_length = 224.03888, minor_axis_length = 90.31892, eccentricity = 0.91514, convex_area = 16308.00000, extent = 0.67617, type = C + area = 14009.00000, perimeter = 481.97699, major_axis_length = 198.52509, minor_axis_length = 91.06323, eccentricity = 0.88859, convex_area = 14455.00000, extent = 0.68420, type = O + area = 11686.00000, perimeter = 433.43900, major_axis_length = 176.76244, minor_axis_length = 85.64665, eccentricity = 0.87477, convex_area = 12038.00000, extent = 0.78157, type = O + area = 13022.00000, perimeter = 467.07700, major_axis_length = 194.75409, minor_axis_length = 86.67640, eccentricity = 0.89550, convex_area = 13355.00000, extent = 0.59625, type = C + area = 12465.00000, perimeter = 451.51501, major_axis_length = 190.45494, minor_axis_length = 84.16370, eccentricity = 0.89706, convex_area = 12640.00000, extent = 0.59596, type = O + area = 14892.00000, perimeter = 503.64700, major_axis_length = 213.27196, minor_axis_length = 90.47866, eccentricity = 0.90555, convex_area = 15279.00000, extent = 0.59392, type = C + area = 11815.00000, perimeter = 456.60300, major_axis_length = 200.11070, minor_axis_length = 75.79282, eccentricity = 0.92550, convex_area = 12108.00000, extent = 0.73376, type = C + area = 13047.00000, perimeter = 486.36899, major_axis_length = 213.19447, minor_axis_length = 79.28887, eccentricity = 0.92827, convex_area = 13621.00000, extent = 0.61542, type = C + area = 11840.00000, perimeter = 420.14099, major_axis_length = 166.92889, minor_axis_length = 90.98129, eccentricity = 0.83842, convex_area = 12021.00000, extent = 0.79661, type = O + area = 10497.00000, perimeter = 405.34601, major_axis_length = 165.34816, minor_axis_length = 81.97666, eccentricity = 0.86845, convex_area = 10735.00000, extent = 0.66860, type = O + area = 11335.00000, perimeter = 426.58401, major_axis_length = 172.74699, minor_axis_length = 85.12077, eccentricity = 0.87017, convex_area = 11618.00000, extent = 0.66676, type = O + area = 12347.00000, perimeter = 438.80600, major_axis_length = 181.89268, minor_axis_length = 86.87766, eccentricity = 0.87856, convex_area = 12529.00000, extent = 0.80657, type = C + area = 14826.00000, perimeter = 514.53198, major_axis_length = 219.37294, minor_axis_length = 86.88576, eccentricity = 0.91822, convex_area = 15170.00000, extent = 0.54308, type = C + area = 11545.00000, perimeter = 429.09799, major_axis_length = 176.99930, minor_axis_length = 84.10534, eccentricity = 0.87989, convex_area = 11816.00000, extent = 0.70586, type = O + area = 9593.00000, perimeter = 396.04999, major_axis_length = 162.59073, minor_axis_length = 75.99918, eccentricity = 0.88403, convex_area = 9828.00000, extent = 0.74480, type = O + area = 11550.00000, perimeter = 420.83701, major_axis_length = 172.53937, minor_axis_length = 85.41179, eccentricity = 0.86888, convex_area = 11734.00000, extent = 0.69470, type = O + area = 12675.00000, perimeter = 466.10101, major_axis_length = 195.80823, minor_axis_length = 83.40395, eccentricity = 0.90475, convex_area = 12977.00000, extent = 0.58025, type = O + area = 12647.00000, perimeter = 451.05600, major_axis_length = 180.34435, minor_axis_length = 91.42809, eccentricity = 0.86197, convex_area = 13120.00000, extent = 0.65860, type = O + area = 14871.00000, perimeter = 487.61801, major_axis_length = 204.19110, minor_axis_length = 93.79977, eccentricity = 0.88824, convex_area = 15067.00000, extent = 0.76308, type = C + area = 12832.00000, perimeter = 464.52600, major_axis_length = 196.61118, minor_axis_length = 83.98689, eccentricity = 0.90417, convex_area = 13148.00000, extent = 0.56291, type = C + area = 11898.00000, perimeter = 422.36801, major_axis_length = 166.23572, minor_axis_length = 91.87953, eccentricity = 0.83338, convex_area = 12063.00000, extent = 0.66277, type = O + area = 10344.00000, perimeter = 406.18900, major_axis_length = 169.36665, minor_axis_length = 78.96368, eccentricity = 0.88466, convex_area = 10533.00000, extent = 0.71744, type = O + area = 15550.00000, perimeter = 505.76300, major_axis_length = 211.37883, minor_axis_length = 94.41613, eccentricity = 0.89470, convex_area = 15896.00000, extent = 0.71884, type = C + area = 13391.00000, perimeter = 486.12201, major_axis_length = 213.11208, minor_axis_length = 80.99444, eccentricity = 0.92496, convex_area = 13661.00000, extent = 0.52024, type = C + area = 12079.00000, perimeter = 445.99500, major_axis_length = 190.67360, minor_axis_length = 81.13325, eccentricity = 0.90495, convex_area = 12462.00000, extent = 0.64267, type = C + area = 11866.00000, perimeter = 436.12900, major_axis_length = 176.12086, minor_axis_length = 87.78806, eccentricity = 0.86692, convex_area = 12210.00000, extent = 0.61622, type = O + area = 10759.00000, perimeter = 401.92700, major_axis_length = 158.93987, minor_axis_length = 87.47952, eccentricity = 0.83491, convex_area = 10955.00000, extent = 0.61922, type = O + area = 11178.00000, perimeter = 419.27802, major_axis_length = 166.61430, minor_axis_length = 87.07088, eccentricity = 0.85258, convex_area = 11507.00000, extent = 0.60448, type = O + area = 12006.00000, perimeter = 463.38101, major_axis_length = 198.96843, minor_axis_length = 77.81852, eccentricity = 0.92034, convex_area = 12344.00000, extent = 0.53503, type = C + area = 11074.00000, perimeter = 426.52499, major_axis_length = 182.83189, minor_axis_length = 77.69914, eccentricity = 0.90520, convex_area = 11291.00000, extent = 0.74482, type = O + area = 15164.00000, perimeter = 501.65201, major_axis_length = 212.15840, minor_axis_length = 92.44685, eccentricity = 0.90007, convex_area = 15461.00000, extent = 0.70106, type = C + area = 14138.00000, perimeter = 490.83401, major_axis_length = 206.18085, minor_axis_length = 89.36728, eccentricity = 0.90118, convex_area = 14523.00000, extent = 0.76257, type = C + area = 12085.00000, perimeter = 431.20801, major_axis_length = 168.88475, minor_axis_length = 92.54957, eccentricity = 0.83648, convex_area = 12279.00000, extent = 0.70258, type = O + area = 12796.00000, perimeter = 471.20901, major_axis_length = 203.92963, minor_axis_length = 80.33001, eccentricity = 0.91915, convex_area = 13022.00000, extent = 0.68406, type = C + area = 12899.00000, perimeter = 468.38901, major_axis_length = 201.04828, minor_axis_length = 82.38741, eccentricity = 0.91218, convex_area = 13132.00000, extent = 0.70050, type = C + area = 11387.00000, perimeter = 434.79300, major_axis_length = 182.10693, minor_axis_length = 80.46819, eccentricity = 0.89708, convex_area = 11612.00000, extent = 0.56472, type = O + area = 13824.00000, perimeter = 491.62000, major_axis_length = 206.38902, minor_axis_length = 86.85488, eccentricity = 0.90714, convex_area = 14268.00000, extent = 0.63387, type = C + area = 12549.00000, perimeter = 448.84799, major_axis_length = 175.84604, minor_axis_length = 92.87819, eccentricity = 0.84913, convex_area = 12989.00000, extent = 0.66499, type = O + area = 10901.00000, perimeter = 410.39001, major_axis_length = 174.69858, minor_axis_length = 79.86489, eccentricity = 0.88939, convex_area = 11038.00000, extent = 0.82696, type = O + area = 11535.00000, perimeter = 420.81201, major_axis_length = 169.73042, minor_axis_length = 87.86320, eccentricity = 0.85558, convex_area = 11793.00000, extent = 0.66020, type = O + area = 16190.00000, perimeter = 529.66101, major_axis_length = 224.38686, minor_axis_length = 93.10742, eccentricity = 0.90985, convex_area = 16530.00000, extent = 0.53482, type = C + area = 13237.00000, perimeter = 478.01099, major_axis_length = 199.68924, minor_axis_length = 85.27763, eccentricity = 0.90423, convex_area = 13627.00000, extent = 0.55852, type = C + area = 12101.00000, perimeter = 435.92899, major_axis_length = 178.39732, minor_axis_length = 86.98376, eccentricity = 0.87308, convex_area = 12302.00000, extent = 0.74058, type = O + area = 14263.00000, perimeter = 490.75101, major_axis_length = 203.77844, minor_axis_length = 90.26588, eccentricity = 0.89654, convex_area = 14779.00000, extent = 0.73155, type = C + area = 15578.00000, perimeter = 509.59900, major_axis_length = 216.90948, minor_axis_length = 92.61865, eccentricity = 0.90426, convex_area = 15864.00000, extent = 0.80883, type = C + area = 14226.00000, perimeter = 491.38901, major_axis_length = 213.78671, minor_axis_length = 85.35412, eccentricity = 0.91684, convex_area = 14483.00000, extent = 0.66439, type = C + area = 11380.00000, perimeter = 423.61499, major_axis_length = 172.17389, minor_axis_length = 85.65730, eccentricity = 0.86746, convex_area = 11620.00000, extent = 0.67317, type = O + area = 11548.00000, perimeter = 433.51300, major_axis_length = 176.97809, minor_axis_length = 84.34711, eccentricity = 0.87912, convex_area = 11821.00000, extent = 0.68816, type = O + area = 14254.00000, perimeter = 500.49399, major_axis_length = 213.07532, minor_axis_length = 86.78432, eccentricity = 0.91330, convex_area = 14644.00000, extent = 0.62285, type = C + area = 13848.00000, perimeter = 475.59000, major_axis_length = 196.22556, minor_axis_length = 90.74702, eccentricity = 0.88664, convex_area = 14260.00000, extent = 0.58638, type = C + area = 13385.00000, perimeter = 460.82501, major_axis_length = 192.64615, minor_axis_length = 89.71349, eccentricity = 0.88495, convex_area = 13595.00000, extent = 0.61275, type = C + area = 12692.00000, perimeter = 447.73901, major_axis_length = 174.88063, minor_axis_length = 94.16079, eccentricity = 0.84267, convex_area = 13148.00000, extent = 0.64571, type = O + area = 15700.00000, perimeter = 505.30301, major_axis_length = 209.98842, minor_axis_length = 96.19489, eccentricity = 0.88890, convex_area = 16040.00000, extent = 0.59007, type = C + area = 12863.00000, perimeter = 448.50800, major_axis_length = 182.86191, minor_axis_length = 90.77281, eccentricity = 0.86809, convex_area = 13133.00000, extent = 0.73621, type = O + area = 13636.00000, perimeter = 482.05301, major_axis_length = 202.40468, minor_axis_length = 86.88380, eccentricity = 0.90318, convex_area = 13982.00000, extent = 0.58401, type = C + area = 11088.00000, perimeter = 418.20801, major_axis_length = 172.02742, minor_axis_length = 82.93567, eccentricity = 0.87611, convex_area = 11284.00000, extent = 0.62499, type = O + area = 11550.00000, perimeter = 426.84399, major_axis_length = 173.18565, minor_axis_length = 86.17210, eccentricity = 0.86742, convex_area = 11766.00000, extent = 0.61374, type = O + area = 11758.00000, perimeter = 436.38300, major_axis_length = 177.34860, minor_axis_length = 85.96658, eccentricity = 0.87466, convex_area = 12190.00000, extent = 0.76356, type = O + area = 13523.00000, perimeter = 468.16699, major_axis_length = 195.40154, minor_axis_length = 88.65400, eccentricity = 0.89115, convex_area = 13811.00000, extent = 0.66793, type = C + area = 14041.00000, perimeter = 491.66101, major_axis_length = 212.85693, minor_axis_length = 84.56731, eccentricity = 0.91769, convex_area = 14289.00000, extent = 0.78661, type = C + area = 14488.00000, perimeter = 489.81799, major_axis_length = 204.66519, minor_axis_length = 91.22495, eccentricity = 0.89517, convex_area = 14826.00000, extent = 0.63829, type = C + area = 14837.00000, perimeter = 499.83200, major_axis_length = 210.06725, minor_axis_length = 91.26865, eccentricity = 0.90068, convex_area = 15263.00000, extent = 0.68010, type = C + area = 10788.00000, perimeter = 402.33499, major_axis_length = 160.86864, minor_axis_length = 86.55402, eccentricity = 0.84292, convex_area = 10961.00000, extent = 0.76235, type = O + area = 10765.00000, perimeter = 413.67700, major_axis_length = 164.79503, minor_axis_length = 84.79121, eccentricity = 0.85748, convex_area = 11127.00000, extent = 0.60871, type = O + area = 9585.00000, perimeter = 397.72000, major_axis_length = 163.85312, minor_axis_length = 75.40806, eccentricity = 0.88781, convex_area = 9759.00000, extent = 0.72630, type = O + area = 12352.00000, perimeter = 453.13501, major_axis_length = 191.11189, minor_axis_length = 83.35074, eccentricity = 0.89988, convex_area = 12683.00000, extent = 0.57847, type = C + area = 14989.00000, perimeter = 484.31000, major_axis_length = 195.34204, minor_axis_length = 98.70048, eccentricity = 0.86296, convex_area = 15393.00000, extent = 0.76106, type = C + area = 10119.00000, perimeter = 403.54300, major_axis_length = 168.57599, minor_axis_length = 77.24084, eccentricity = 0.88885, convex_area = 10317.00000, extent = 0.77221, type = O + area = 11739.00000, perimeter = 434.62900, major_axis_length = 179.14783, minor_axis_length = 84.45871, eccentricity = 0.88189, convex_area = 12032.00000, extent = 0.77588, type = O + area = 10533.00000, perimeter = 411.01300, major_axis_length = 168.51833, minor_axis_length = 80.82944, eccentricity = 0.87746, convex_area = 10834.00000, extent = 0.63697, type = O + area = 15166.00000, perimeter = 502.16501, major_axis_length = 214.13986, minor_axis_length = 91.38511, eccentricity = 0.90437, convex_area = 15475.00000, extent = 0.79486, type = C + area = 15126.00000, perimeter = 500.11401, major_axis_length = 209.16681, minor_axis_length = 93.81421, eccentricity = 0.89378, convex_area = 15496.00000, extent = 0.70603, type = C + area = 13562.00000, perimeter = 474.21899, major_axis_length = 194.61276, minor_axis_length = 90.66898, eccentricity = 0.88484, convex_area = 13871.00000, extent = 0.71334, type = C + area = 10982.00000, perimeter = 421.41000, major_axis_length = 177.80026, minor_axis_length = 78.93739, eccentricity = 0.89604, convex_area = 11167.00000, extent = 0.59407, type = O + area = 12056.00000, perimeter = 431.85101, major_axis_length = 182.36313, minor_axis_length = 84.43254, eccentricity = 0.88636, convex_area = 12191.00000, extent = 0.79735, type = O + area = 15198.00000, perimeter = 499.62601, major_axis_length = 210.63348, minor_axis_length = 92.94599, eccentricity = 0.89737, convex_area = 15521.00000, extent = 0.74610, type = C + area = 16625.00000, perimeter = 535.98901, major_axis_length = 229.79359, minor_axis_length = 93.08962, eccentricity = 0.91427, convex_area = 16951.00000, extent = 0.65414, type = C + area = 10246.00000, perimeter = 419.95001, major_axis_length = 178.92371, minor_axis_length = 74.24162, eccentricity = 0.90985, convex_area = 10525.00000, extent = 0.77786, type = O + area = 14873.00000, perimeter = 499.61600, major_axis_length = 210.27750, minor_axis_length = 91.58362, eccentricity = 0.90017, convex_area = 15195.00000, extent = 0.57303, type = C + area = 13799.00000, perimeter = 454.74100, major_axis_length = 184.86827, minor_axis_length = 95.91586, eccentricity = 0.85488, convex_area = 13965.00000, extent = 0.62180, type = O + area = 12041.00000, perimeter = 427.29001, major_axis_length = 174.14545, minor_axis_length = 88.91726, eccentricity = 0.85982, convex_area = 12291.00000, extent = 0.63467, type = O + area = 13988.00000, perimeter = 491.48901, major_axis_length = 208.36464, minor_axis_length = 86.78497, eccentricity = 0.90913, convex_area = 14427.00000, extent = 0.61311, type = C + area = 10681.00000, perimeter = 421.25601, major_axis_length = 178.36945, minor_axis_length = 77.96081, eccentricity = 0.89943, convex_area = 10929.00000, extent = 0.55717, type = O + area = 11827.00000, perimeter = 455.22101, major_axis_length = 194.78445, minor_axis_length = 78.43153, eccentricity = 0.91535, convex_area = 12212.00000, extent = 0.76999, type = C + area = 14998.00000, perimeter = 496.90399, major_axis_length = 215.95027, minor_axis_length = 89.39609, eccentricity = 0.91029, convex_area = 15279.00000, extent = 0.82484, type = C + area = 13683.00000, perimeter = 461.56799, major_axis_length = 189.24533, minor_axis_length = 93.11317, eccentricity = 0.87058, convex_area = 13944.00000, extent = 0.62651, type = O + area = 14626.00000, perimeter = 502.35699, major_axis_length = 212.73470, minor_axis_length = 88.58339, eccentricity = 0.90918, convex_area = 14997.00000, extent = 0.58150, type = C + area = 10965.00000, perimeter = 433.77802, major_axis_length = 179.33522, minor_axis_length = 78.85896, eccentricity = 0.89813, convex_area = 11295.00000, extent = 0.66334, type = O + area = 14625.00000, perimeter = 492.95200, major_axis_length = 206.58922, minor_axis_length = 91.43079, eccentricity = 0.89673, convex_area = 14972.00000, extent = 0.73953, type = C + area = 10036.00000, perimeter = 402.85901, major_axis_length = 166.15659, minor_axis_length = 77.91069, eccentricity = 0.88325, convex_area = 10255.00000, extent = 0.59157, type = O + area = 14301.00000, perimeter = 497.77399, major_axis_length = 209.87636, minor_axis_length = 87.29937, eccentricity = 0.90938, convex_area = 14591.00000, extent = 0.60068, type = C + area = 10962.00000, perimeter = 418.66101, major_axis_length = 171.63890, minor_axis_length = 82.79927, eccentricity = 0.87595, convex_area = 11258.00000, extent = 0.71647, type = O + area = 12519.00000, perimeter = 455.40601, major_axis_length = 192.00218, minor_axis_length = 83.87215, eccentricity = 0.89954, convex_area = 12770.00000, extent = 0.67068, type = C + area = 13062.00000, perimeter = 469.42401, major_axis_length = 200.62883, minor_axis_length = 83.27462, eccentricity = 0.90979, convex_area = 13279.00000, extent = 0.66321, type = C + area = 14960.00000, perimeter = 496.92801, major_axis_length = 209.66216, minor_axis_length = 91.68534, eccentricity = 0.89932, convex_area = 15198.00000, extent = 0.76016, type = C + area = 15143.00000, perimeter = 504.14001, major_axis_length = 207.73418, minor_axis_length = 94.14838, eccentricity = 0.89140, convex_area = 15628.00000, extent = 0.57133, type = C + area = 11089.00000, perimeter = 421.65500, major_axis_length = 173.62540, minor_axis_length = 82.34242, eccentricity = 0.88039, convex_area = 11345.00000, extent = 0.66641, type = O + area = 13567.00000, perimeter = 473.57501, major_axis_length = 195.35312, minor_axis_length = 89.23708, eccentricity = 0.88957, convex_area = 14020.00000, extent = 0.64679, type = C + area = 14181.00000, perimeter = 485.24500, major_axis_length = 206.85828, minor_axis_length = 87.94334, eccentricity = 0.90513, convex_area = 14423.00000, extent = 0.64783, type = C + area = 12202.00000, perimeter = 442.36200, major_axis_length = 180.03778, minor_axis_length = 87.39918, eccentricity = 0.87426, convex_area = 12521.00000, extent = 0.77918, type = C + area = 14035.00000, perimeter = 480.62900, major_axis_length = 199.14839, minor_axis_length = 91.41090, eccentricity = 0.88843, convex_area = 14422.00000, extent = 0.71629, type = C + area = 14932.00000, perimeter = 488.86499, major_axis_length = 203.93930, minor_axis_length = 94.11240, eccentricity = 0.88715, convex_area = 15200.00000, extent = 0.78162, type = O + area = 16405.00000, perimeter = 526.57001, major_axis_length = 221.61252, minor_axis_length = 95.43671, eccentricity = 0.90252, convex_area = 16837.00000, extent = 0.65889, type = C + area = 10588.00000, perimeter = 410.93600, major_axis_length = 169.82788, minor_axis_length = 80.41876, eccentricity = 0.88078, convex_area = 10783.00000, extent = 0.78377, type = O + area = 15144.00000, perimeter = 503.32401, major_axis_length = 212.19539, minor_axis_length = 91.77615, eccentricity = 0.90163, convex_area = 15469.00000, extent = 0.62786, type = C + area = 15420.00000, perimeter = 503.45999, major_axis_length = 206.05655, minor_axis_length = 96.41728, eccentricity = 0.88377, convex_area = 15800.00000, extent = 0.58462, type = O + area = 12633.00000, perimeter = 452.00299, major_axis_length = 186.43448, minor_axis_length = 87.42464, eccentricity = 0.88324, convex_area = 12863.00000, extent = 0.58462, type = O + area = 12859.00000, perimeter = 462.87201, major_axis_length = 193.34184, minor_axis_length = 85.90899, eccentricity = 0.89586, convex_area = 13279.00000, extent = 0.70891, type = C + area = 15500.00000, perimeter = 502.32101, major_axis_length = 213.36700, minor_axis_length = 93.55457, eccentricity = 0.89875, convex_area = 15724.00000, extent = 0.81497, type = C + area = 14332.00000, perimeter = 497.14099, major_axis_length = 206.54681, minor_axis_length = 90.75945, eccentricity = 0.89828, convex_area = 14830.00000, extent = 0.56657, type = C + area = 11552.00000, perimeter = 432.81201, major_axis_length = 178.89076, minor_axis_length = 84.07980, eccentricity = 0.88266, convex_area = 11838.00000, extent = 0.63647, type = O + area = 15209.00000, perimeter = 496.56500, major_axis_length = 214.05008, minor_axis_length = 91.02632, eccentricity = 0.90507, convex_area = 15395.00000, extent = 0.56937, type = C + area = 13513.00000, perimeter = 473.10300, major_axis_length = 196.27908, minor_axis_length = 89.51603, eccentricity = 0.88995, convex_area = 13867.00000, extent = 0.74939, type = C + area = 9962.00000, perimeter = 404.94501, major_axis_length = 170.91649, minor_axis_length = 74.79294, eccentricity = 0.89917, convex_area = 10137.00000, extent = 0.57610, type = O + area = 13273.00000, perimeter = 463.33301, major_axis_length = 197.45279, minor_axis_length = 85.99747, eccentricity = 0.90017, convex_area = 13462.00000, extent = 0.58582, type = C + area = 11489.00000, perimeter = 447.23700, major_axis_length = 182.10213, minor_axis_length = 82.12138, eccentricity = 0.89254, convex_area = 11913.00000, extent = 0.55946, type = O + area = 13080.00000, perimeter = 474.26001, major_axis_length = 198.95737, minor_axis_length = 84.75006, eccentricity = 0.90474, convex_area = 13511.00000, extent = 0.70277, type = C + area = 14828.00000, perimeter = 494.25601, major_axis_length = 209.66269, minor_axis_length = 90.79800, eccentricity = 0.90136, convex_area = 15038.00000, extent = 0.57092, type = C + area = 9517.00000, perimeter = 389.00101, major_axis_length = 163.50932, minor_axis_length = 74.76005, eccentricity = 0.88935, convex_area = 9649.00000, extent = 0.58101, type = O + area = 12220.00000, perimeter = 425.04599, major_axis_length = 170.33270, minor_axis_length = 91.93887, eccentricity = 0.84182, convex_area = 12385.00000, extent = 0.72171, type = O + area = 15375.00000, perimeter = 494.31601, major_axis_length = 204.47073, minor_axis_length = 96.98161, eccentricity = 0.88036, convex_area = 15631.00000, extent = 0.73918, type = C + area = 16436.00000, perimeter = 529.86298, major_axis_length = 230.93105, minor_axis_length = 91.06519, eccentricity = 0.91896, convex_area = 16648.00000, extent = 0.63410, type = C + area = 13380.00000, perimeter = 469.17700, major_axis_length = 190.81332, minor_axis_length = 91.01315, eccentricity = 0.87892, convex_area = 13747.00000, extent = 0.61962, type = C + area = 12736.00000, perimeter = 447.87000, major_axis_length = 182.77118, minor_axis_length = 89.68171, eccentricity = 0.87134, convex_area = 12964.00000, extent = 0.75272, type = C + area = 11858.00000, perimeter = 437.10901, major_axis_length = 185.81818, minor_axis_length = 82.01722, eccentricity = 0.89732, convex_area = 12017.00000, extent = 0.56906, type = O + area = 13825.00000, perimeter = 483.20001, major_axis_length = 205.75504, minor_axis_length = 86.98260, eccentricity = 0.90625, convex_area = 14023.00000, extent = 0.73958, type = O + area = 11062.00000, perimeter = 411.10901, major_axis_length = 167.80319, minor_axis_length = 84.98283, eccentricity = 0.86227, convex_area = 11242.00000, extent = 0.82258, type = O + area = 10817.00000, perimeter = 403.99799, major_axis_length = 167.42336, minor_axis_length = 82.72127, eccentricity = 0.86941, convex_area = 10953.00000, extent = 0.78509, type = O + area = 13860.00000, perimeter = 483.97101, major_axis_length = 207.78920, minor_axis_length = 85.96107, eccentricity = 0.91042, convex_area = 14047.00000, extent = 0.64815, type = C + area = 11083.00000, perimeter = 421.78699, major_axis_length = 171.48567, minor_axis_length = 83.67474, eccentricity = 0.87288, convex_area = 11415.00000, extent = 0.69766, type = O + area = 10993.00000, perimeter = 422.51501, major_axis_length = 174.53636, minor_axis_length = 80.96795, eccentricity = 0.88589, convex_area = 11179.00000, extent = 0.66491, type = O + area = 15710.00000, perimeter = 517.07001, major_axis_length = 214.75021, minor_axis_length = 95.24736, eccentricity = 0.89626, convex_area = 16259.00000, extent = 0.60760, type = C + area = 14687.00000, perimeter = 498.39099, major_axis_length = 210.58044, minor_axis_length = 90.29588, eccentricity = 0.90340, convex_area = 14977.00000, extent = 0.56610, type = C + area = 13286.00000, perimeter = 480.07101, major_axis_length = 202.54840, minor_axis_length = 85.11695, eccentricity = 0.90742, convex_area = 13633.00000, extent = 0.55014, type = C + area = 10608.00000, perimeter = 404.69299, major_axis_length = 161.58940, minor_axis_length = 85.35479, eccentricity = 0.84911, convex_area = 10895.00000, extent = 0.70848, type = O + area = 8546.00000, perimeter = 388.58099, major_axis_length = 172.51996, minor_axis_length = 63.34475, eccentricity = 0.93015, convex_area = 8685.00000, extent = 0.73546, type = O + area = 13560.00000, perimeter = 479.19901, major_axis_length = 197.55803, minor_axis_length = 88.77229, eccentricity = 0.89336, convex_area = 14033.00000, extent = 0.69177, type = C + area = 11264.00000, perimeter = 429.54300, major_axis_length = 177.69373, minor_axis_length = 81.98130, eccentricity = 0.88721, convex_area = 11513.00000, extent = 0.79548, type = O + area = 14957.00000, perimeter = 505.11700, major_axis_length = 213.04562, minor_axis_length = 90.70897, eccentricity = 0.90483, convex_area = 15347.00000, extent = 0.65412, type = C + area = 11297.00000, perimeter = 416.67999, major_axis_length = 165.35921, minor_axis_length = 88.23675, eccentricity = 0.84573, convex_area = 11535.00000, extent = 0.62929, type = O + area = 13753.00000, perimeter = 461.13000, major_axis_length = 185.53104, minor_axis_length = 95.42747, eccentricity = 0.85758, convex_area = 13962.00000, extent = 0.65118, type = O + area = 11530.00000, perimeter = 425.39200, major_axis_length = 177.01521, minor_axis_length = 83.92692, eccentricity = 0.88046, convex_area = 11686.00000, extent = 0.80810, type = O + area = 14570.00000, perimeter = 469.98199, major_axis_length = 185.40146, minor_axis_length = 100.88792, eccentricity = 0.83898, convex_area = 14895.00000, extent = 0.65454, type = C + area = 10800.00000, perimeter = 406.48300, major_axis_length = 163.40897, minor_axis_length = 85.19110, eccentricity = 0.85335, convex_area = 10960.00000, extent = 0.63066, type = O + area = 11415.00000, perimeter = 426.16501, major_axis_length = 173.88460, minor_axis_length = 85.32835, eccentricity = 0.87132, convex_area = 11634.00000, extent = 0.59639, type = O + area = 11435.00000, perimeter = 424.24301, major_axis_length = 175.18497, minor_axis_length = 84.44195, eccentricity = 0.87616, convex_area = 11660.00000, extent = 0.80144, type = O + area = 11572.00000, perimeter = 418.62900, major_axis_length = 164.12326, minor_axis_length = 90.98297, eccentricity = 0.83228, convex_area = 11861.00000, extent = 0.66164, type = O + area = 10986.00000, perimeter = 425.12701, major_axis_length = 172.67883, minor_axis_length = 83.54909, eccentricity = 0.87516, convex_area = 11450.00000, extent = 0.72992, type = O + area = 10662.00000, perimeter = 420.19501, major_axis_length = 175.88251, minor_axis_length = 78.51628, eccentricity = 0.89483, convex_area = 10944.00000, extent = 0.56943, type = O + area = 13657.00000, perimeter = 469.23700, major_axis_length = 193.10742, minor_axis_length = 90.77804, eccentricity = 0.88262, convex_area = 13930.00000, extent = 0.61535, type = C + area = 12664.00000, perimeter = 442.85101, major_axis_length = 178.65405, minor_axis_length = 91.11916, eccentricity = 0.86016, convex_area = 12895.00000, extent = 0.67911, type = O + area = 16182.00000, perimeter = 509.92200, major_axis_length = 211.16502, minor_axis_length = 98.31332, eccentricity = 0.88501, convex_area = 16522.00000, extent = 0.74813, type = C + area = 16094.00000, perimeter = 509.97900, major_axis_length = 215.54759, minor_axis_length = 95.61666, eccentricity = 0.89623, convex_area = 16403.00000, extent = 0.75879, type = C + area = 12985.00000, perimeter = 466.13501, major_axis_length = 196.66615, minor_axis_length = 84.69309, eccentricity = 0.90252, convex_area = 13221.00000, extent = 0.58889, type = C + area = 11622.00000, perimeter = 419.56601, major_axis_length = 167.30707, minor_axis_length = 89.68018, eccentricity = 0.84420, convex_area = 11854.00000, extent = 0.63112, type = O + area = 15269.00000, perimeter = 496.68900, major_axis_length = 210.45181, minor_axis_length = 92.70920, eccentricity = 0.89774, convex_area = 15474.00000, extent = 0.80669, type = C + area = 12935.00000, perimeter = 462.98001, major_axis_length = 195.30432, minor_axis_length = 85.48748, eccentricity = 0.89911, convex_area = 13213.00000, extent = 0.75304, type = C + area = 11795.00000, perimeter = 428.75000, major_axis_length = 175.96001, minor_axis_length = 86.42063, eccentricity = 0.87108, convex_area = 12016.00000, extent = 0.73811, type = O + area = 14549.00000, perimeter = 488.95300, major_axis_length = 206.69482, minor_axis_length = 90.76069, eccentricity = 0.89844, convex_area = 14856.00000, extent = 0.58247, type = C + area = 12840.00000, perimeter = 454.40500, major_axis_length = 184.81519, minor_axis_length = 89.92162, eccentricity = 0.87365, convex_area = 13185.00000, extent = 0.72666, type = O + area = 12310.00000, perimeter = 438.16199, major_axis_length = 177.79843, minor_axis_length = 89.22603, eccentricity = 0.86496, convex_area = 12528.00000, extent = 0.78588, type = O + area = 12291.00000, perimeter = 440.95700, major_axis_length = 186.18777, minor_axis_length = 84.68074, eccentricity = 0.89059, convex_area = 12476.00000, extent = 0.73017, type = C + area = 10873.00000, perimeter = 408.48901, major_axis_length = 167.70203, minor_axis_length = 83.42142, eccentricity = 0.86750, convex_area = 11073.00000, extent = 0.66812, type = O + area = 13574.00000, perimeter = 473.22101, major_axis_length = 197.87277, minor_axis_length = 88.44189, eccentricity = 0.89455, convex_area = 13879.00000, extent = 0.64125, type = C + area = 12626.00000, perimeter = 455.29700, major_axis_length = 188.65788, minor_axis_length = 86.60138, eccentricity = 0.88842, convex_area = 12911.00000, extent = 0.73390, type = C + area = 14485.00000, perimeter = 495.46600, major_axis_length = 212.00166, minor_axis_length = 88.23765, eccentricity = 0.90927, convex_area = 14745.00000, extent = 0.64510, type = C + area = 12461.00000, perimeter = 454.09601, major_axis_length = 191.91452, minor_axis_length = 83.66120, eccentricity = 0.89998, convex_area = 12683.00000, extent = 0.56151, type = C + area = 15281.00000, perimeter = 509.51700, major_axis_length = 212.69688, minor_axis_length = 92.99384, eccentricity = 0.89936, convex_area = 15689.00000, extent = 0.64023, type = C + area = 13913.00000, perimeter = 474.45200, major_axis_length = 199.11743, minor_axis_length = 89.71703, eccentricity = 0.89274, convex_area = 14164.00000, extent = 0.67310, type = C + area = 10640.00000, perimeter = 411.88000, major_axis_length = 169.39047, minor_axis_length = 81.02848, eccentricity = 0.87817, convex_area = 10901.00000, extent = 0.66087, type = O + area = 12387.00000, perimeter = 445.61401, major_axis_length = 175.62965, minor_axis_length = 91.31130, eccentricity = 0.85422, convex_area = 12789.00000, extent = 0.65512, type = O + area = 12027.00000, perimeter = 445.20200, major_axis_length = 178.73625, minor_axis_length = 87.69733, eccentricity = 0.87136, convex_area = 12455.00000, extent = 0.61187, type = O + area = 11644.00000, perimeter = 444.63101, major_axis_length = 186.58461, minor_axis_length = 80.90866, eccentricity = 0.90109, convex_area = 11850.00000, extent = 0.60696, type = O + area = 11611.00000, perimeter = 431.27301, major_axis_length = 178.51395, minor_axis_length = 84.11252, eccentricity = 0.88204, convex_area = 11775.00000, extent = 0.69191, type = O + area = 10420.00000, perimeter = 415.05600, major_axis_length = 170.51256, minor_axis_length = 79.28839, eccentricity = 0.88531, convex_area = 10647.00000, extent = 0.62771, type = O + area = 10984.00000, perimeter = 421.95999, major_axis_length = 170.87349, minor_axis_length = 83.75953, eccentricity = 0.87162, convex_area = 11201.00000, extent = 0.69554, type = O + area = 15390.00000, perimeter = 511.50900, major_axis_length = 214.46609, minor_axis_length = 92.45722, eccentricity = 0.90230, convex_area = 15788.00000, extent = 0.77329, type = C + area = 11699.00000, perimeter = 434.89200, major_axis_length = 178.22969, minor_axis_length = 85.45215, eccentricity = 0.87757, convex_area = 12005.00000, extent = 0.58893, type = O + area = 12837.00000, perimeter = 463.32199, major_axis_length = 192.92368, minor_axis_length = 86.35762, eccentricity = 0.89422, convex_area = 13229.00000, extent = 0.58883, type = O + area = 9817.00000, perimeter = 407.74600, major_axis_length = 170.08865, minor_axis_length = 74.70611, eccentricity = 0.89838, convex_area = 10032.00000, extent = 0.58306, type = O + area = 9918.00000, perimeter = 398.95499, major_axis_length = 161.46761, minor_axis_length = 79.89353, eccentricity = 0.86901, convex_area = 10270.00000, extent = 0.62209, type = O + area = 12331.00000, perimeter = 431.36401, major_axis_length = 177.13048, minor_axis_length = 89.42496, eccentricity = 0.86320, convex_area = 12502.00000, extent = 0.74779, type = O + area = 12624.00000, perimeter = 452.73199, major_axis_length = 192.11096, minor_axis_length = 84.61237, eccentricity = 0.89778, convex_area = 12791.00000, extent = 0.56559, type = O + area = 15655.00000, perimeter = 488.90302, major_axis_length = 199.55669, minor_axis_length = 101.02621, eccentricity = 0.86238, convex_area = 15880.00000, extent = 0.63375, type = C + area = 15153.00000, perimeter = 514.40399, major_axis_length = 218.09232, minor_axis_length = 90.05229, eccentricity = 0.91077, convex_area = 15628.00000, extent = 0.68085, type = C + area = 11952.00000, perimeter = 443.49100, major_axis_length = 181.76826, minor_axis_length = 85.32751, eccentricity = 0.88297, convex_area = 12224.00000, extent = 0.59013, type = O + area = 14105.00000, perimeter = 496.22800, major_axis_length = 209.27542, minor_axis_length = 86.94195, eccentricity = 0.90962, convex_area = 14567.00000, extent = 0.60371, type = C + area = 11993.00000, perimeter = 438.07401, major_axis_length = 175.54008, minor_axis_length = 88.08393, eccentricity = 0.86499, convex_area = 12359.00000, extent = 0.60773, type = O + area = 13930.00000, perimeter = 495.27100, major_axis_length = 213.52664, minor_axis_length = 84.43373, eccentricity = 0.91850, convex_area = 14564.00000, extent = 0.54964, type = C + area = 11051.00000, perimeter = 421.34799, major_axis_length = 166.91263, minor_axis_length = 85.74883, eccentricity = 0.85795, convex_area = 11421.00000, extent = 0.69333, type = O + area = 16990.00000, perimeter = 535.33899, major_axis_length = 224.08717, minor_axis_length = 98.66264, eccentricity = 0.89786, convex_area = 17371.00000, extent = 0.60091, type = C + area = 14399.00000, perimeter = 484.08200, major_axis_length = 200.17354, minor_axis_length = 92.85159, eccentricity = 0.88591, convex_area = 14849.00000, extent = 0.60480, type = C + area = 14026.00000, perimeter = 494.60300, major_axis_length = 212.81454, minor_axis_length = 84.92227, eccentricity = 0.91693, convex_area = 14267.00000, extent = 0.54640, type = C + area = 16156.00000, perimeter = 495.71399, major_axis_length = 197.27431, minor_axis_length = 105.53798, eccentricity = 0.84486, convex_area = 16434.00000, extent = 0.70941, type = C + area = 12269.00000, perimeter = 435.65601, major_axis_length = 175.95552, minor_axis_length = 90.29810, eccentricity = 0.85828, convex_area = 12583.00000, extent = 0.77884, type = O + area = 13536.00000, perimeter = 478.00601, major_axis_length = 203.17378, minor_axis_length = 85.91058, eccentricity = 0.90620, convex_area = 13810.00000, extent = 0.55281, type = C + area = 12988.00000, perimeter = 461.99100, major_axis_length = 188.77290, minor_axis_length = 88.50922, eccentricity = 0.88327, convex_area = 13259.00000, extent = 0.59515, type = C + area = 10669.00000, perimeter = 403.67499, major_axis_length = 164.54738, minor_axis_length = 83.43629, eccentricity = 0.86191, convex_area = 10885.00000, extent = 0.71384, type = O + area = 14352.00000, perimeter = 484.08401, major_axis_length = 203.49686, minor_axis_length = 91.26853, eccentricity = 0.89378, convex_area = 14656.00000, extent = 0.56806, type = C + area = 13662.00000, perimeter = 476.35300, major_axis_length = 204.18565, minor_axis_length = 85.61482, eccentricity = 0.90785, convex_area = 13894.00000, extent = 0.67417, type = C + area = 15609.00000, perimeter = 492.66299, major_axis_length = 202.23016, minor_axis_length = 99.01205, eccentricity = 0.87195, convex_area = 15884.00000, extent = 0.68102, type = C + area = 15228.00000, perimeter = 505.26501, major_axis_length = 209.62527, minor_axis_length = 93.52686, eccentricity = 0.89495, convex_area = 15501.00000, extent = 0.73922, type = C + area = 15741.00000, perimeter = 523.77600, major_axis_length = 227.50233, minor_axis_length = 89.12435, eccentricity = 0.92007, convex_area = 15999.00000, extent = 0.56322, type = C + area = 10481.00000, perimeter = 413.72198, major_axis_length = 174.16463, minor_axis_length = 77.66029, eccentricity = 0.89508, convex_area = 10648.00000, extent = 0.80648, type = O + area = 12758.00000, perimeter = 456.63800, major_axis_length = 190.36832, minor_axis_length = 86.16264, eccentricity = 0.89171, convex_area = 13177.00000, extent = 0.70335, type = C + area = 14536.00000, perimeter = 501.92099, major_axis_length = 216.37054, minor_axis_length = 86.67999, eccentricity = 0.91625, convex_area = 14988.00000, extent = 0.54405, type = C + area = 12181.00000, perimeter = 456.93799, major_axis_length = 194.85516, minor_axis_length = 80.28487, eccentricity = 0.91117, convex_area = 12489.00000, extent = 0.58489, type = C + area = 10696.00000, perimeter = 409.26901, major_axis_length = 166.37988, minor_axis_length = 82.35618, eccentricity = 0.86890, convex_area = 10883.00000, extent = 0.61309, type = O + area = 14686.00000, perimeter = 490.40601, major_axis_length = 203.03380, minor_axis_length = 93.82804, eccentricity = 0.88681, convex_area = 15065.00000, extent = 0.61468, type = C + area = 12495.00000, perimeter = 458.40701, major_axis_length = 187.60420, minor_axis_length = 87.02570, eccentricity = 0.88590, convex_area = 12993.00000, extent = 0.67493, type = C + area = 13816.00000, perimeter = 484.27600, major_axis_length = 199.01349, minor_axis_length = 89.86625, eccentricity = 0.89224, convex_area = 14356.00000, extent = 0.64246, type = C + area = 11295.00000, perimeter = 430.62000, major_axis_length = 179.13637, minor_axis_length = 81.18504, eccentricity = 0.89141, convex_area = 11516.00000, extent = 0.69125, type = O + area = 12526.00000, perimeter = 441.32999, major_axis_length = 179.24625, minor_axis_length = 90.15468, eccentricity = 0.86431, convex_area = 12768.00000, extent = 0.71889, type = O + area = 14466.00000, perimeter = 497.84000, major_axis_length = 204.40955, minor_axis_length = 91.21478, eccentricity = 0.89492, convex_area = 14885.00000, extent = 0.65650, type = C + area = 16608.00000, perimeter = 516.09198, major_axis_length = 207.67137, minor_axis_length = 103.35088, eccentricity = 0.86737, convex_area = 17111.00000, extent = 0.69676, type = C + area = 11073.00000, perimeter = 431.15701, major_axis_length = 182.70003, minor_axis_length = 77.72215, eccentricity = 0.90500, convex_area = 11367.00000, extent = 0.75112, type = O + area = 12879.00000, perimeter = 469.13300, major_axis_length = 200.79550, minor_axis_length = 82.04309, eccentricity = 0.91272, convex_area = 13132.00000, extent = 0.76913, type = C + area = 15290.00000, perimeter = 519.31702, major_axis_length = 221.42963, minor_axis_length = 88.87734, eccentricity = 0.91591, convex_area = 15699.00000, extent = 0.66156, type = C + area = 13200.00000, perimeter = 472.46500, major_axis_length = 203.31374, minor_axis_length = 83.57887, eccentricity = 0.91160, convex_area = 13467.00000, extent = 0.74530, type = C + area = 14162.00000, perimeter = 480.25299, major_axis_length = 202.89592, minor_axis_length = 89.48753, eccentricity = 0.89748, convex_area = 14414.00000, extent = 0.58402, type = C + area = 15321.00000, perimeter = 513.00702, major_axis_length = 218.71196, minor_axis_length = 90.26067, eccentricity = 0.91087, convex_area = 15646.00000, extent = 0.71188, type = C + area = 14321.00000, perimeter = 490.42499, major_axis_length = 204.28038, minor_axis_length = 90.68298, eccentricity = 0.89607, convex_area = 14622.00000, extent = 0.57387, type = C + area = 13634.00000, perimeter = 491.17999, major_axis_length = 209.13353, minor_axis_length = 83.73373, eccentricity = 0.91635, convex_area = 14075.00000, extent = 0.78791, type = C + area = 11303.00000, perimeter = 423.95499, major_axis_length = 173.83696, minor_axis_length = 83.37649, eccentricity = 0.87747, convex_area = 11527.00000, extent = 0.61968, type = O + area = 12865.00000, perimeter = 460.66599, major_axis_length = 193.34824, minor_axis_length = 85.72440, eccentricity = 0.89634, convex_area = 13120.00000, extent = 0.63456, type = C + area = 11479.00000, perimeter = 429.17401, major_axis_length = 176.47830, minor_axis_length = 83.61654, eccentricity = 0.88063, convex_area = 11739.00000, extent = 0.61962, type = O + area = 9577.00000, perimeter = 403.17099, major_axis_length = 174.98221, minor_axis_length = 70.26763, eccentricity = 0.91583, convex_area = 9769.00000, extent = 0.62710, type = O + area = 10035.00000, perimeter = 398.09698, major_axis_length = 162.66187, minor_axis_length = 79.64612, eccentricity = 0.87192, convex_area = 10236.00000, extent = 0.59807, type = O + area = 14101.00000, perimeter = 479.31601, major_axis_length = 199.08714, minor_axis_length = 90.98013, eccentricity = 0.88947, convex_area = 14383.00000, extent = 0.61969, type = C + area = 15218.00000, perimeter = 508.13599, major_axis_length = 214.27707, minor_axis_length = 91.71027, eccentricity = 0.90378, convex_area = 15685.00000, extent = 0.66801, type = C + area = 11720.00000, perimeter = 425.45001, major_axis_length = 171.58801, minor_axis_length = 88.36038, eccentricity = 0.85722, convex_area = 11912.00000, extent = 0.77920, type = O + area = 10150.00000, perimeter = 405.35599, major_axis_length = 169.09583, minor_axis_length = 76.93233, eccentricity = 0.89051, convex_area = 10358.00000, extent = 0.63604, type = O + area = 12994.00000, perimeter = 457.19000, major_axis_length = 187.33479, minor_axis_length = 89.40963, eccentricity = 0.87876, convex_area = 13335.00000, extent = 0.76359, type = O + area = 11906.00000, perimeter = 433.85599, major_axis_length = 174.29979, minor_axis_length = 88.25261, eccentricity = 0.86234, convex_area = 12179.00000, extent = 0.62085, type = O + area = 11447.00000, perimeter = 436.86899, major_axis_length = 180.43732, minor_axis_length = 82.31013, eccentricity = 0.88989, convex_area = 11733.00000, extent = 0.57258, type = O + area = 12602.00000, perimeter = 465.91699, major_axis_length = 194.45514, minor_axis_length = 84.83201, eccentricity = 0.89982, convex_area = 13039.00000, extent = 0.65026, type = C + area = 13201.00000, perimeter = 461.51901, major_axis_length = 192.88509, minor_axis_length = 87.83331, eccentricity = 0.89030, convex_area = 13408.00000, extent = 0.63491, type = C + area = 10151.00000, perimeter = 420.89999, major_axis_length = 181.99557, minor_axis_length = 72.09951, eccentricity = 0.91818, convex_area = 10407.00000, extent = 0.52163, type = O + area = 10326.00000, perimeter = 427.72501, major_axis_length = 174.47438, minor_axis_length = 77.73373, eccentricity = 0.89527, convex_area = 10691.00000, extent = 0.60705, type = O + area = 14898.00000, perimeter = 501.49500, major_axis_length = 215.56334, minor_axis_length = 88.77060, eccentricity = 0.91127, convex_area = 15156.00000, extent = 0.65850, type = C + area = 10780.00000, perimeter = 410.85501, major_axis_length = 162.42773, minor_axis_length = 86.18076, eccentricity = 0.84764, convex_area = 11047.00000, extent = 0.66708, type = O + area = 12609.00000, perimeter = 475.35999, major_axis_length = 202.75441, minor_axis_length = 81.27372, eccentricity = 0.91614, convex_area = 13210.00000, extent = 0.70694, type = C + area = 11549.00000, perimeter = 440.24799, major_axis_length = 179.11688, minor_axis_length = 84.49580, eccentricity = 0.88174, convex_area = 11961.00000, extent = 0.59540, type = C + area = 15458.00000, perimeter = 511.95200, major_axis_length = 216.60767, minor_axis_length = 91.79173, eccentricity = 0.90577, convex_area = 15854.00000, extent = 0.58405, type = C + area = 14476.00000, perimeter = 489.23801, major_axis_length = 203.85884, minor_axis_length = 91.66153, eccentricity = 0.89321, convex_area = 14807.00000, extent = 0.67985, type = C + area = 13295.00000, perimeter = 465.33301, major_axis_length = 187.37976, minor_axis_length = 91.90883, eccentricity = 0.87144, convex_area = 13633.00000, extent = 0.61245, type = O + area = 12376.00000, perimeter = 455.73300, major_axis_length = 188.82434, minor_axis_length = 85.17463, eccentricity = 0.89248, convex_area = 12702.00000, extent = 0.56396, type = O + area = 10842.00000, perimeter = 412.74899, major_axis_length = 167.04510, minor_axis_length = 84.00163, eccentricity = 0.86436, convex_area = 11105.00000, extent = 0.67050, type = O + area = 17564.00000, perimeter = 527.11603, major_axis_length = 221.60294, minor_axis_length = 101.65880, eccentricity = 0.88857, convex_area = 17808.00000, extent = 0.77116, type = C + area = 12675.00000, perimeter = 453.35199, major_axis_length = 191.33682, minor_axis_length = 85.13000, eccentricity = 0.89557, convex_area = 12856.00000, extent = 0.57185, type = O + area = 11543.00000, perimeter = 432.31400, major_axis_length = 174.84126, minor_axis_length = 86.66760, eccentricity = 0.86850, convex_area = 11940.00000, extent = 0.69120, type = O + area = 9862.00000, perimeter = 396.86200, major_axis_length = 166.76166, minor_axis_length = 75.71849, eccentricity = 0.89098, convex_area = 10064.00000, extent = 0.64039, type = O + area = 15154.00000, perimeter = 504.92999, major_axis_length = 211.23309, minor_axis_length = 92.50810, eccentricity = 0.89900, convex_area = 15598.00000, extent = 0.57506, type = C + area = 10588.00000, perimeter = 404.32401, major_axis_length = 163.66208, minor_axis_length = 83.96915, eccentricity = 0.85835, convex_area = 10756.00000, extent = 0.61487, type = O + area = 14709.00000, perimeter = 489.52899, major_axis_length = 204.92346, minor_axis_length = 91.86573, eccentricity = 0.89389, convex_area = 15041.00000, extent = 0.63980, type = C + area = 11392.00000, perimeter = 427.57199, major_axis_length = 173.07945, minor_axis_length = 85.35464, eccentricity = 0.86994, convex_area = 11638.00000, extent = 0.59848, type = O + area = 13455.00000, perimeter = 467.19800, major_axis_length = 195.92857, minor_axis_length = 88.51917, eccentricity = 0.89212, convex_area = 13723.00000, extent = 0.75353, type = C + area = 14404.00000, perimeter = 486.48401, major_axis_length = 206.77576, minor_axis_length = 89.47427, eccentricity = 0.90153, convex_area = 14658.00000, extent = 0.79457, type = C + area = 15080.00000, perimeter = 500.00601, major_axis_length = 209.58928, minor_axis_length = 92.79666, eccentricity = 0.89664, convex_area = 15614.00000, extent = 0.73232, type = C + area = 11632.00000, perimeter = 442.44400, major_axis_length = 187.01152, minor_axis_length = 80.88976, eccentricity = 0.90162, convex_area = 11860.00000, extent = 0.79454, type = O + area = 14483.00000, perimeter = 512.72101, major_axis_length = 215.76816, minor_axis_length = 86.27912, eccentricity = 0.91657, convex_area = 14912.00000, extent = 0.53229, type = C + area = 11879.00000, perimeter = 446.14301, major_axis_length = 187.91023, minor_axis_length = 81.59092, eccentricity = 0.90082, convex_area = 12095.00000, extent = 0.65269, type = O + area = 13818.00000, perimeter = 467.89600, major_axis_length = 189.28476, minor_axis_length = 94.47993, eccentricity = 0.86652, convex_area = 14142.00000, extent = 0.61745, type = O + area = 10574.00000, perimeter = 411.11899, major_axis_length = 170.14017, minor_axis_length = 79.77427, eccentricity = 0.88327, convex_area = 10782.00000, extent = 0.68707, type = O + area = 10427.00000, perimeter = 405.57800, major_axis_length = 170.56107, minor_axis_length = 78.14708, eccentricity = 0.88886, convex_area = 10588.00000, extent = 0.67607, type = O + area = 14700.00000, perimeter = 506.46399, major_axis_length = 215.43030, minor_axis_length = 87.76008, eccentricity = 0.91326, convex_area = 15050.00000, extent = 0.70755, type = C + area = 11928.00000, perimeter = 439.91901, major_axis_length = 181.03484, minor_axis_length = 85.22491, eccentricity = 0.88226, convex_area = 12218.00000, extent = 0.59061, type = O + area = 11559.00000, perimeter = 435.18500, major_axis_length = 178.78207, minor_axis_length = 83.54547, eccentricity = 0.88410, convex_area = 11796.00000, extent = 0.66638, type = O + area = 10691.00000, perimeter = 407.08701, major_axis_length = 163.29175, minor_axis_length = 84.58920, eccentricity = 0.85537, convex_area = 10921.00000, extent = 0.61210, type = O + area = 13969.00000, perimeter = 486.50900, major_axis_length = 206.02858, minor_axis_length = 87.72613, eccentricity = 0.90482, convex_area = 14277.00000, extent = 0.65276, type = C + area = 11741.00000, perimeter = 445.98001, major_axis_length = 184.41626, minor_axis_length = 82.47528, eccentricity = 0.89442, convex_area = 12215.00000, extent = 0.57039, type = O + area = 10040.00000, perimeter = 394.71301, major_axis_length = 157.88472, minor_axis_length = 81.77408, eccentricity = 0.85542, convex_area = 10231.00000, extent = 0.62636, type = O + area = 12292.00000, perimeter = 447.48599, major_axis_length = 181.35670, minor_axis_length = 87.98663, eccentricity = 0.87443, convex_area = 12535.00000, extent = 0.59387, type = O + area = 14482.00000, perimeter = 486.16299, major_axis_length = 201.81453, minor_axis_length = 92.54988, eccentricity = 0.88865, convex_area = 14825.00000, extent = 0.64256, type = C + area = 16835.00000, perimeter = 522.53497, major_axis_length = 216.27165, minor_axis_length = 100.43251, eccentricity = 0.88564, convex_area = 17404.00000, extent = 0.73522, type = C + area = 16403.00000, perimeter = 521.90900, major_axis_length = 215.15091, minor_axis_length = 98.40095, eccentricity = 0.88928, convex_area = 16867.00000, extent = 0.58877, type = C + area = 14232.00000, perimeter = 492.54599, major_axis_length = 205.02695, minor_axis_length = 89.55808, eccentricity = 0.89955, convex_area = 14620.00000, extent = 0.71518, type = C + area = 13111.00000, perimeter = 457.01801, major_axis_length = 188.33434, minor_axis_length = 90.13023, eccentricity = 0.87805, convex_area = 13323.00000, extent = 0.77944, type = O + area = 15232.00000, perimeter = 508.81699, major_axis_length = 216.76291, minor_axis_length = 90.63309, eccentricity = 0.90839, convex_area = 15603.00000, extent = 0.59082, type = C + area = 13909.00000, perimeter = 475.61801, major_axis_length = 199.60727, minor_axis_length = 89.94420, eccentricity = 0.89272, convex_area = 14241.00000, extent = 0.72788, type = C + area = 14005.00000, perimeter = 485.45599, major_axis_length = 207.13385, minor_axis_length = 86.87551, eccentricity = 0.90779, convex_area = 14212.00000, extent = 0.56381, type = C + area = 13320.00000, perimeter = 467.63800, major_axis_length = 200.38208, minor_axis_length = 85.12557, eccentricity = 0.90528, convex_area = 13504.00000, extent = 0.64657, type = O + area = 11440.00000, perimeter = 425.81601, major_axis_length = 170.72098, minor_axis_length = 87.25544, eccentricity = 0.85952, convex_area = 11750.00000, extent = 0.66508, type = O + area = 11782.00000, perimeter = 433.73700, major_axis_length = 182.74081, minor_axis_length = 83.04752, eccentricity = 0.89077, convex_area = 12083.00000, extent = 0.75657, type = O + area = 12262.00000, perimeter = 443.16699, major_axis_length = 190.67964, minor_axis_length = 82.12513, eccentricity = 0.90250, convex_area = 12404.00000, extent = 0.61817, type = O + area = 13091.00000, perimeter = 473.15201, major_axis_length = 203.86270, minor_axis_length = 82.55070, eccentricity = 0.91435, convex_area = 13451.00000, extent = 0.75236, type = C + area = 13501.00000, perimeter = 472.48300, major_axis_length = 198.07204, minor_axis_length = 87.68961, eccentricity = 0.89666, convex_area = 13787.00000, extent = 0.63403, type = C + area = 10712.00000, perimeter = 417.25101, major_axis_length = 174.89871, minor_axis_length = 79.08196, eccentricity = 0.89194, convex_area = 10940.00000, extent = 0.58382, type = O + area = 13340.00000, perimeter = 474.68201, major_axis_length = 201.38533, minor_axis_length = 85.88859, eccentricity = 0.90449, convex_area = 13603.00000, extent = 0.70166, type = O + area = 14470.00000, perimeter = 486.26001, major_axis_length = 208.33366, minor_axis_length = 89.34396, eccentricity = 0.90338, convex_area = 14657.00000, extent = 0.57654, type = C + area = 12339.00000, perimeter = 453.26401, major_axis_length = 191.50438, minor_axis_length = 82.77469, eccentricity = 0.90176, convex_area = 12534.00000, extent = 0.61893, type = O + area = 15042.00000, perimeter = 502.21399, major_axis_length = 212.09438, minor_axis_length = 91.29269, eccentricity = 0.90262, convex_area = 15416.00000, extent = 0.70211, type = C + area = 11415.00000, perimeter = 424.96301, major_axis_length = 172.69562, minor_axis_length = 85.28924, eccentricity = 0.86954, convex_area = 11735.00000, extent = 0.69132, type = O + area = 12901.00000, perimeter = 475.30301, major_axis_length = 209.58597, minor_axis_length = 79.26891, eccentricity = 0.92572, convex_area = 13219.00000, extent = 0.68281, type = C + area = 11813.00000, perimeter = 430.25500, major_axis_length = 172.56953, minor_axis_length = 88.02676, eccentricity = 0.86012, convex_area = 12088.00000, extent = 0.71750, type = O + area = 14400.00000, perimeter = 486.89999, major_axis_length = 200.13771, minor_axis_length = 93.24651, eccentricity = 0.88483, convex_area = 14714.00000, extent = 0.61813, type = C + area = 14252.00000, perimeter = 493.11401, major_axis_length = 202.65460, minor_axis_length = 91.30965, eccentricity = 0.89274, convex_area = 14627.00000, extent = 0.56377, type = C + area = 13677.00000, perimeter = 485.52899, major_axis_length = 207.39461, minor_axis_length = 85.14314, eccentricity = 0.91184, convex_area = 13874.00000, extent = 0.58566, type = C + area = 14436.00000, perimeter = 485.82599, major_axis_length = 204.46996, minor_axis_length = 90.74992, eccentricity = 0.89611, convex_area = 14864.00000, extent = 0.61448, type = C + area = 13858.00000, perimeter = 475.95700, major_axis_length = 205.87390, minor_axis_length = 86.04459, eccentricity = 0.90847, convex_area = 14042.00000, extent = 0.65122, type = C + area = 8702.00000, perimeter = 381.20599, major_axis_length = 160.71883, minor_axis_length = 69.73335, eccentricity = 0.90097, convex_area = 8924.00000, extent = 0.64117, type = O + area = 14305.00000, perimeter = 490.18201, major_axis_length = 206.88472, minor_axis_length = 88.67580, eccentricity = 0.90348, convex_area = 14695.00000, extent = 0.65418, type = C + area = 15746.00000, perimeter = 503.23099, major_axis_length = 204.87444, minor_axis_length = 99.44871, eccentricity = 0.87428, convex_area = 16171.00000, extent = 0.75304, type = C + area = 12120.00000, perimeter = 439.71399, major_axis_length = 181.69794, minor_axis_length = 85.99254, eccentricity = 0.88092, convex_area = 12335.00000, extent = 0.60254, type = O + area = 14751.00000, perimeter = 499.02100, major_axis_length = 214.03714, minor_axis_length = 88.62865, eccentricity = 0.91024, convex_area = 14955.00000, extent = 0.55268, type = C + area = 11437.00000, perimeter = 430.61200, major_axis_length = 184.13446, minor_axis_length = 79.24054, eccentricity = 0.90267, convex_area = 11587.00000, extent = 0.68794, type = O + area = 15857.00000, perimeter = 515.32202, major_axis_length = 219.96548, minor_axis_length = 93.15427, eccentricity = 0.90590, convex_area = 16109.00000, extent = 0.69916, type = C + area = 9468.00000, perimeter = 386.49799, major_axis_length = 162.47389, minor_axis_length = 74.97504, eccentricity = 0.88716, convex_area = 9608.00000, extent = 0.75376, type = O + area = 13580.00000, perimeter = 464.35699, major_axis_length = 190.38063, minor_axis_length = 91.37227, eccentricity = 0.87730, convex_area = 13781.00000, extent = 0.62731, type = C + area = 14530.00000, perimeter = 487.09698, major_axis_length = 201.80623, minor_axis_length = 93.05895, eccentricity = 0.88733, convex_area = 14926.00000, extent = 0.68713, type = C + area = 10811.00000, perimeter = 420.23199, major_axis_length = 174.58916, minor_axis_length = 79.97839, eccentricity = 0.88890, convex_area = 11027.00000, extent = 0.68381, type = O + area = 11867.00000, perimeter = 434.81299, major_axis_length = 185.70448, minor_axis_length = 81.84723, eccentricity = 0.89764, convex_area = 12004.00000, extent = 0.68107, type = O + area = 14878.00000, perimeter = 506.02100, major_axis_length = 212.18158, minor_axis_length = 90.43865, eccentricity = 0.90461, convex_area = 15237.00000, extent = 0.57577, type = C + area = 13954.00000, perimeter = 481.28799, major_axis_length = 204.77745, minor_axis_length = 87.50462, eccentricity = 0.90410, convex_area = 14277.00000, extent = 0.58113, type = C + area = 11351.00000, perimeter = 417.69299, major_axis_length = 171.05106, minor_axis_length = 85.54869, eccentricity = 0.86595, convex_area = 11549.00000, extent = 0.74326, type = O + area = 14025.00000, perimeter = 475.95700, major_axis_length = 197.39191, minor_axis_length = 91.75456, eccentricity = 0.88540, convex_area = 14423.00000, extent = 0.67990, type = C + area = 11226.00000, perimeter = 425.01300, major_axis_length = 180.23428, minor_axis_length = 79.79391, eccentricity = 0.89666, convex_area = 11414.00000, extent = 0.71308, type = O + area = 14369.00000, perimeter = 491.04401, major_axis_length = 207.94737, minor_axis_length = 89.12215, eccentricity = 0.90350, convex_area = 14679.00000, extent = 0.60399, type = C + area = 12590.00000, perimeter = 447.53201, major_axis_length = 180.02446, minor_axis_length = 89.97459, eccentricity = 0.86615, convex_area = 12875.00000, extent = 0.66911, type = O + area = 14172.00000, perimeter = 500.42899, major_axis_length = 218.57156, minor_axis_length = 83.36391, eccentricity = 0.92441, convex_area = 14399.00000, extent = 0.60882, type = C + area = 12094.00000, perimeter = 432.39099, major_axis_length = 173.41881, minor_axis_length = 89.67160, eccentricity = 0.85594, convex_area = 12318.00000, extent = 0.63787, type = O + area = 14337.00000, perimeter = 494.29901, major_axis_length = 206.69278, minor_axis_length = 89.74821, eccentricity = 0.90081, convex_area = 14859.00000, extent = 0.70989, type = C + area = 10780.00000, perimeter = 407.15799, major_axis_length = 163.39302, minor_axis_length = 85.59428, eccentricity = 0.85181, convex_area = 11096.00000, extent = 0.67375, type = O + area = 14019.00000, perimeter = 482.45401, major_axis_length = 197.19820, minor_axis_length = 92.67004, eccentricity = 0.88270, convex_area = 14411.00000, extent = 0.57615, type = C + area = 11245.00000, perimeter = 421.54800, major_axis_length = 174.57549, minor_axis_length = 82.91380, eccentricity = 0.88002, convex_area = 11475.00000, extent = 0.68193, type = O + area = 16263.00000, perimeter = 546.56201, major_axis_length = 230.95955, minor_axis_length = 91.65092, eccentricity = 0.91789, convex_area = 16796.00000, extent = 0.57123, type = C + area = 13394.00000, perimeter = 480.57199, major_axis_length = 205.40117, minor_axis_length = 83.80128, eccentricity = 0.91299, convex_area = 13699.00000, extent = 0.65019, type = C + area = 11309.00000, perimeter = 427.65799, major_axis_length = 176.28146, minor_axis_length = 83.04570, eccentricity = 0.88208, convex_area = 11508.00000, extent = 0.81243, type = O + area = 11199.00000, perimeter = 421.04300, major_axis_length = 170.69112, minor_axis_length = 85.02394, eccentricity = 0.86711, convex_area = 11405.00000, extent = 0.80337, type = O + area = 13487.00000, perimeter = 477.25400, major_axis_length = 205.04572, minor_axis_length = 84.28226, eccentricity = 0.91162, convex_area = 13772.00000, extent = 0.73736, type = C + area = 15118.00000, perimeter = 514.96698, major_axis_length = 224.18660, minor_axis_length = 87.69224, eccentricity = 0.92032, convex_area = 15454.00000, extent = 0.65412, type = C + area = 14260.00000, perimeter = 501.04099, major_axis_length = 208.83318, minor_axis_length = 88.96316, eccentricity = 0.90472, convex_area = 14737.00000, extent = 0.61318, type = C + area = 14250.00000, perimeter = 486.12399, major_axis_length = 201.21893, minor_axis_length = 91.93982, eccentricity = 0.88951, convex_area = 14636.00000, extent = 0.59368, type = C + area = 13215.00000, perimeter = 479.60999, major_axis_length = 207.88800, minor_axis_length = 81.67606, eccentricity = 0.91959, convex_area = 13462.00000, extent = 0.53667, type = C + area = 13606.00000, perimeter = 480.94601, major_axis_length = 204.28972, minor_axis_length = 85.28391, eccentricity = 0.90869, convex_area = 13861.00000, extent = 0.58370, type = C + area = 13627.00000, perimeter = 476.98901, major_axis_length = 201.19452, minor_axis_length = 86.95226, eccentricity = 0.90179, convex_area = 13926.00000, extent = 0.78056, type = C + area = 13555.00000, perimeter = 477.87000, major_axis_length = 202.63708, minor_axis_length = 85.78796, eccentricity = 0.90596, convex_area = 13851.00000, extent = 0.57806, type = C + area = 15636.00000, perimeter = 504.18201, major_axis_length = 212.13625, minor_axis_length = 94.48931, eccentricity = 0.89532, convex_area = 15927.00000, extent = 0.74500, type = C + area = 15569.00000, perimeter = 504.75400, major_axis_length = 214.50677, minor_axis_length = 93.19716, eccentricity = 0.90069, convex_area = 15815.00000, extent = 0.77304, type = C + area = 10731.00000, perimeter = 414.17499, major_axis_length = 170.21010, minor_axis_length = 81.19894, eccentricity = 0.87888, convex_area = 10922.00000, extent = 0.59320, type = O + area = 11875.00000, perimeter = 429.94901, major_axis_length = 173.69348, minor_axis_length = 88.04171, eccentricity = 0.86202, convex_area = 12128.00000, extent = 0.78445, type = O + area = 8652.00000, perimeter = 374.40201, major_axis_length = 151.82214, minor_axis_length = 74.14385, eccentricity = 0.87264, convex_area = 8866.00000, extent = 0.60912, type = O + area = 13811.00000, perimeter = 485.69000, major_axis_length = 209.27277, minor_axis_length = 85.20029, eccentricity = 0.91337, convex_area = 14083.00000, extent = 0.69062, type = C + area = 12959.00000, perimeter = 473.60999, major_axis_length = 206.22551, minor_axis_length = 80.63358, eccentricity = 0.92039, convex_area = 13309.00000, extent = 0.59516, type = O + area = 14795.00000, perimeter = 497.51599, major_axis_length = 213.60318, minor_axis_length = 89.84618, eccentricity = 0.90724, convex_area = 15002.00000, extent = 0.80307, type = C + area = 11280.00000, perimeter = 421.68301, major_axis_length = 170.83092, minor_axis_length = 85.05522, eccentricity = 0.86724, convex_area = 11510.00000, extent = 0.60548, type = O + area = 12279.00000, perimeter = 441.22800, major_axis_length = 180.48395, minor_axis_length = 88.03798, eccentricity = 0.87296, convex_area = 12525.00000, extent = 0.59647, type = O + area = 11139.00000, perimeter = 423.32401, major_axis_length = 173.07671, minor_axis_length = 82.68975, eccentricity = 0.87849, convex_area = 11380.00000, extent = 0.71643, type = O + area = 13256.00000, perimeter = 462.72400, major_axis_length = 194.14876, minor_axis_length = 87.72887, eccentricity = 0.89209, convex_area = 13465.00000, extent = 0.64742, type = C + area = 16283.00000, perimeter = 516.73602, major_axis_length = 217.70950, minor_axis_length = 96.08863, eccentricity = 0.89733, convex_area = 16649.00000, extent = 0.78006, type = C diff --git a/cmake-build-relwithdebinfo/run_9/regress.stt b/cmake-build-relwithdebinfo/run_9/regress.stt new file mode 100644 index 0000000..657b68a --- /dev/null +++ b/cmake-build-relwithdebinfo/run_9/regress.stt @@ -0,0 +1,52 @@ +GEN# SUB# μFGEN FsBestGEN FsWorstGEN μTreeSzGEN μTreeDpGEN bTreeSzGEN bTreeDpGEN wTreeSzGEN wTreeDpGEN μFRUN FsBestRUN FsWorstRUN μTreeSzRUN μTreeDpRUN bTreeSzRUN bTreeDpRUN wTreeSzRUN wTreeDpRUN +0 0 0.9551 0.9987 0.0000 18.246 3.460 16 6 64 6 0.9551 0.9987 0.0000 18.246 3.460 16 6 64 6 +1 0 0.9892 0.9987 0.0000 16.689 3.574 16 6 56 6 0.9721 0.9987 0.0000 17.468 3.517 16 6 64 6 +2 0 0.9920 0.9987 0.0000 16.154 3.701 57 6 13 4 0.9788 0.9987 0.0000 17.030 3.578 57 6 64 6 +3 0 0.9908 0.9987 0.0000 15.836 3.806 57 6 78 11 0.9818 0.9987 0.0000 16.731 3.635 57 6 64 6 +4 0 0.9912 0.9987 0.0000 15.422 3.880 57 6 36 6 0.9837 0.9987 0.0000 16.469 3.684 57 6 64 6 +5 0 0.9926 0.9988 0.0000 14.906 3.925 18 8 15 4 0.9852 0.9988 0.0000 16.209 3.724 18 8 64 6 +6 0 0.9914 0.9988 0.0000 14.852 3.991 18 8 18 7 0.9861 0.9988 0.0000 16.015 3.762 18 8 64 6 +7 0 0.9934 0.9988 0.0000 14.031 3.921 18 8 32 8 0.9870 0.9988 0.0000 15.767 3.782 18 8 64 6 +8 0 0.9948 0.9989 0.0000 13.611 3.920 18 5 12 4 0.9878 0.9989 0.0000 15.527 3.798 18 5 64 6 +9 0 0.9952 0.9989 0.0000 13.456 3.928 18 5 19 5 0.9886 0.9989 0.0000 15.320 3.811 18 5 64 6 +10 0 0.9960 0.9989 0.0000 12.945 3.895 18 5 18 6 0.9893 0.9989 0.0000 15.104 3.818 18 5 64 6 +11 0 0.9956 0.9989 0.0000 12.564 3.845 18 5 98 15 0.9898 0.9989 0.0000 14.893 3.821 18 5 64 6 +12 0 0.9942 0.9989 0.0000 12.684 3.914 18 5 14 5 0.9901 0.9989 0.0000 14.723 3.828 18 5 64 6 +13 0 0.9962 0.9989 0.0000 12.389 3.896 18 5 21 6 0.9906 0.9989 0.0000 14.556 3.833 18 5 64 6 +14 0 0.9946 0.9989 0.0000 12.365 3.915 18 5 13 5 0.9908 0.9989 0.0000 14.410 3.838 18 5 64 6 +15 0 0.9954 0.9989 0.0000 11.996 3.855 18 5 21 6 0.9911 0.9989 0.0000 14.259 3.839 18 5 64 6 +16 0 0.9956 0.9989 0.0000 11.847 3.880 18 5 26 11 0.9914 0.9989 0.0000 14.117 3.842 18 5 64 6 +17 0 0.9956 0.9989 0.0000 11.778 3.846 18 5 20 7 0.9916 0.9989 0.0000 13.987 3.842 18 5 64 6 +18 0 0.9966 0.9989 0.0000 11.426 3.787 18 5 19 6 0.9919 0.9989 0.0000 13.852 3.839 18 5 64 6 +19 0 0.9954 0.9989 0.0000 11.222 3.760 18 5 13 4 0.9921 0.9989 0.0000 13.721 3.835 18 5 64 6 +20 0 0.9956 0.9989 0.0000 10.971 3.722 19 5 22 7 0.9922 0.9989 0.0000 13.590 3.830 19 5 64 6 +21 0 0.9968 0.9989 0.0000 10.929 3.725 19 5 16 6 0.9924 0.9989 0.0000 13.469 3.825 19 5 64 6 +22 0 0.9952 0.9989 0.0000 10.746 3.704 19 5 13 4 0.9926 0.9989 0.0000 13.351 3.820 19 5 64 6 +23 0 0.9954 0.9989 0.0000 10.682 3.721 19 5 16 6 0.9927 0.9989 0.0000 13.239 3.816 19 5 64 6 +24 0 0.9960 0.9989 0.0000 10.775 3.750 32 10 57 12 0.9928 0.9989 0.0000 13.141 3.813 32 10 64 6 +25 0 0.9966 0.9989 0.0000 10.583 3.721 32 10 36 15 0.9930 0.9989 0.0000 13.042 3.809 32 10 64 6 +26 0 0.9960 0.9989 0.0000 10.502 3.709 32 10 13 6 0.9931 0.9989 0.0000 12.948 3.806 32 10 64 6 +27 0 0.9960 0.9989 0.0000 10.481 3.677 30 10 58 17 0.9932 0.9989 0.0000 12.860 3.801 30 10 64 6 +28 0 0.9962 0.9989 0.0000 10.447 3.668 30 10 38 10 0.9933 0.9989 0.0000 12.777 3.796 30 10 64 6 +29 0 0.9972 0.9989 0.0000 10.310 3.673 30 10 25 8 0.9934 0.9989 0.0000 12.695 3.792 30 10 64 6 +30 0 0.9966 0.9989 0.0000 10.083 3.590 30 10 32 9 0.9935 0.9989 0.0000 12.611 3.786 30 10 64 6 +31 0 0.9962 0.9989 0.0000 9.797 3.541 30 10 16 6 0.9936 0.9989 0.0000 12.523 3.778 30 10 64 6 +32 0 0.9963 0.9989 0.0000 9.519 3.483 30 10 10 4 0.9937 0.9989 0.0000 12.432 3.769 30 10 64 6 +33 0 0.9966 0.9989 0.0000 9.399 3.474 30 10 9 4 0.9938 0.9989 0.0000 12.342 3.761 30 10 64 6 +34 0 0.9964 0.9989 0.0000 9.108 3.406 30 10 60 14 0.9938 0.9989 0.0000 12.250 3.750 30 10 64 6 +35 0 0.9970 0.9989 0.0000 9.063 3.416 30 10 27 10 0.9939 0.9989 0.0000 12.161 3.741 30 10 64 6 +36 0 0.9970 0.9989 0.0000 8.939 3.391 30 10 24 9 0.9940 0.9989 0.0000 12.074 3.732 30 10 64 6 +37 0 0.9970 0.9989 0.0000 8.814 3.350 30 10 8 5 0.9941 0.9989 0.0000 11.989 3.722 30 10 64 6 +38 0 0.9962 0.9989 0.0000 8.508 3.270 30 10 29 9 0.9941 0.9989 0.0000 11.899 3.710 30 10 64 6 +39 0 0.9968 0.9989 0.0000 8.363 3.226 30 10 9 4 0.9942 0.9989 0.0000 11.811 3.698 30 10 64 6 +40 0 0.9970 0.9989 0.0000 8.482 3.272 30 10 27 6 0.9943 0.9989 0.0000 11.730 3.688 30 10 64 6 +41 0 0.9966 0.9989 0.0000 8.538 3.298 30 10 19 8 0.9943 0.9989 0.0000 11.654 3.678 30 10 64 6 +42 0 0.9974 0.9989 0.0000 8.368 3.223 30 10 31 9 0.9944 0.9989 0.0000 11.577 3.668 30 10 64 6 +43 0 0.9968 0.9989 0.0000 8.279 3.202 30 10 25 9 0.9945 0.9989 0.0000 11.502 3.657 30 10 64 6 +44 0 0.9962 0.9989 0.0000 8.181 3.207 30 10 26 6 0.9945 0.9989 0.0000 11.429 3.647 30 10 64 6 +45 0 0.9970 0.9989 0.0000 8.033 3.169 30 10 59 14 0.9946 0.9989 0.0000 11.355 3.637 30 10 64 6 +46 0 0.9972 0.9989 0.0000 7.884 3.127 32 10 53 13 0.9946 0.9989 0.0000 11.281 3.626 32 10 64 6 +47 0 0.9968 0.9989 0.0000 7.833 3.123 21 7 13 5 0.9947 0.9989 0.0000 11.209 3.615 21 7 64 6 +48 0 0.9972 0.9989 0.0000 7.697 3.098 21 7 11 3 0.9947 0.9989 0.0000 11.137 3.605 21 7 64 6 +49 0 0.9972 0.9989 0.0000 7.599 3.073 22 8 12 6 0.9948 0.9989 0.0000 11.067 3.594 22 8 64 6 +50 0 0.9976 0.9989 0.0000 7.746 3.106 22 8 28 11 0.9948 0.9989 0.0000 11.001 3.585 22 8 64 6 diff --git a/cmake-build-relwithdebinfo/run_9/regress.sys b/cmake-build-relwithdebinfo/run_9/regress.sys new file mode 100644 index 0000000..b3916af --- /dev/null +++ b/cmake-build-relwithdebinfo/run_9/regress.sys @@ -0,0 +1,202 @@ + +[ lil-gp Genetic Programming System. +[ Portions copyright (c) 1995 Michigan State University. All rights reserved. +[ kernel version 1.0; 11 July 1995. + + +initialization: + parameter database. + ephemeral random constants. + generation spaces. +updating function set(s): + set 0: removed. +building function set(s): + set 0: * / + - exp log area perimeter major minor eccentricity convex extent R + tree 0 uses function set 0. + function set complete. + no random number seed specfied; using 1408. +creating initial population(s): + 7346 trees were generated to fill the population of 5000 (5000 trees). + initial population(s) complete. + + +starting evolution. +no checkpointing will be done. +=== generation 0. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 1. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 2. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 3. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 4. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 5. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 6. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 7. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 8. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 9. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 10. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 11. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 12. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 13. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 14. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 15. + evaluation complete. (1s wall) + breeding complete. (1s wall) +=== generation 16. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 17. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 18. + evaluation complete. (2s wall) + breeding complete. (0s wall) +=== generation 19. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 20. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 21. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 22. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 23. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 24. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 25. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 26. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 27. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 28. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 29. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 30. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 31. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 32. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 33. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 34. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 35. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 36. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 37. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 38. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 39. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 40. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 41. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 42. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 43. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 44. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 45. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 46. + evaluation complete. (0s wall) + breeding complete. (0s wall) +=== generation 47. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 48. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 49. + evaluation complete. (1s wall) + breeding complete. (0s wall) +=== generation 50. + evaluation complete. (0s wall) + +SYSTEM STATISTICS + +------- memory ------- + allocated: 74353216 + freed: 74305216 + not freed: 48000 + max allocated: 2526503 + malloc'ed blocks: 830870 + realloc'ed blocks: 7 + free'ed blocks: 830864 + +------- time ------- + overall: 50s wall + evaluation: 47s wall + breeding: 1s wall + +------- generation spaces ------- + space 0 size: 200 + space 1 size: 100 + +------- ephemeral random constants ------- + used: 8190 + freed: 8190 + allocated: 5500 + blocks: 10 diff --git a/include/app.h b/include/app.h new file mode 100644 index 0000000..e3f5168 --- /dev/null +++ b/include/app.h @@ -0,0 +1,59 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _APP_H +#define _APP_H + +#ifdef __cplusplus +extern "C" { +#endif +#include + + + +typedef struct +{ + individual* current_individual; +#ifndef PART_B + double x; +#else + double area; + double perimeter; + double major_axis_length; + double minor_axis_length; + double eccentricity; + double convex_area; + double extent; +#endif +} globaldata; + +extern globaldata g; +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/appdef.h b/include/appdef.h new file mode 100644 index 0000000..356af74 --- /dev/null +++ b/include/appdef.h @@ -0,0 +1,35 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _APPDEF_H +#define _APPDEF_H + +#define MAXARGS 2 +#define DATATYPE double +#define NUMTYPES 2 + +#endif diff --git a/include/function.h b/include/function.h new file mode 100644 index 0000000..d689085 --- /dev/null +++ b/include/function.h @@ -0,0 +1,64 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _FUNCTIONS_H +#define _FUNCTIONS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +DATATYPE f_multiply(int tree, farg* args); +DATATYPE f_protdivide(int tree, farg* args); +DATATYPE f_add(int tree, farg* args); +DATATYPE f_subtract(int tree, farg* args); +DATATYPE f_sin(int tree, farg* args); +DATATYPE f_cos(int tree, farg* args); +DATATYPE f_exp(int tree, farg* args); +DATATYPE f_rlog(int tree, farg* args); +#ifndef PART_B +DATATYPE f_var(int tree, farg* args); +#else +DATATYPE f_area(int tree, farg* args); +DATATYPE f_perimeter(int tree, farg* args); +DATATYPE f_major_axis_length(int tree, farg* args); +DATATYPE f_minor_axis_length(int tree, farg* args); +DATATYPE f_eccentricity(int tree, farg* args); +DATATYPE f_convex_area(int tree, farg* args); +DATATYPE f_extent(int tree, farg* args); +#endif + +void f_erc_gen(DATATYPE*); +char* f_erc_print(DATATYPE); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/input.file b/input.file new file mode 100644 index 0000000..4b5ea10 --- /dev/null +++ b/input.file @@ -0,0 +1,34 @@ +# This stuff added for bst-lilgp +num_threads = 8 +# End of bst specific stuff + +### +### sample input parameter file for symbolic regression. +### + +pop_size = 5000 +max_generations = 50 +elitism = 2 +# random_seed = 1234567890 + +output.basename = regress + +# how to generate the initial population +init.method = half_and_half +init.depth = 2-6 + +# limits on tree size. +max_depth = 17 + +## breeding parameters (emulates Koza Ch. 7) + +breed_phases = 2 + +breed[1].operator = crossover, select=fitness +breed[1].rate = 0.9 + +breed[2].operator = mutation, select=fitness, method=grow,depth=4 +breed[2].rate = 0.1 + +#breed[2].operator = reproduction, select=fitness +#breed[2].rate = 0.1 \ No newline at end of file diff --git a/lib/beagle-3.0.3/AUTHORS b/lib/beagle-3.0.3/AUTHORS new file mode 100644 index 0000000..f0c32cf --- /dev/null +++ b/lib/beagle-3.0.3/AUTHORS @@ -0,0 +1,2 @@ +Christian Gagne +Marc Parizeau diff --git a/lib/beagle-3.0.3/COPYING.LIB b/lib/beagle-3.0.3/COPYING.LIB new file mode 100644 index 0000000..f3f1b3b --- /dev/null +++ b/lib/beagle-3.0.3/COPYING.LIB @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/lib/beagle-3.0.3/ChangeLog b/lib/beagle-3.0.3/ChangeLog new file mode 100644 index 0000000..88f47fd --- /dev/null +++ b/lib/beagle-3.0.3/ChangeLog @@ -0,0 +1,1350 @@ +Open BEAGLE Change Log + +3.0.3: (29/11/2007) + +- Fix bug in reading GP ephemeral random constants (CG) + + Due to a wrong signature, method GP::EphemeralT::readWithContext was + not properly called for reading a GP ephemeral random constant from a XML + file. (Thanks to Bartek) + +3.0.2: (14/11/2007) + +- Updated to PACC 1.3.1 (CG) + +- Conditional compilation of code in 'tests' directory (CG) + + Compilation of code in 'tests' directory is now disabled. It can be + enabled through option '--enable-tests' to the configure script. This + should reduce the compilation time for users, which are generally not + interested in compiling these various tests. + +- Modification to build system for fast compilation on Unix (CG) + + Heavy use of templates conjugated to division of code in several + independent .cpp files generate long compilation time on g++ and similar + Unix compilers. The modification allow building library from a single + .cpp file that includes other relevant source files used to generate the + library such that compilation time is reduced by a factor 5. + +- Bug fix in reading method name for class GP::EphemeralT (CG + JFD) + + A change of reading method name in the interface of class GP::Primitive + was not propagated to class GP::EphemeralT. This disabled correct + reading of an ephemeral from a file, for example from a milestone. + (Thanks to Jean-Francois Dupuis for spotting the bug.) + +- Bug fix when reading a Beagle::Matrix from an empty string (CG) + +- Bug fix: OversizeOp's ratio now scales the population (MW) + + OversizeOp was previously increasing the deme size by DemeSize*Ratio. + Now it makes the deme size equal to DemeSize*Ratio. Also a special + ratio of -1.0 was added that makes the deme size the same size as + specified in 'ec.pop.size'. + +- Bug fix: Fitness validity in TermMinFitnessOp and TermMaxFitnessOp (MW) + + The two termination operators TermMinFitnessOp and TermMaxFitnessOp + were not testing the validity of the individuals' fitness values. + Validity of fitness values are now tested. + +- Corrected inconsistance with hall-of-fame computation in knapsack (CG) + + Configuration of knapsack have been modified for better computation + of the Pareto hall-of-fame during the evolution. (Thanks to Bastien) + +- Bug Fix: MilestoneWriteOp now handles exceptions during write() (MW) + +- Added commas to uint2ordinal() when num is 10,000 or more (MW) + +- Fix bug in standard STGP mutation operator (CG) + + Since the changes done in version 3.0.0, typed standard STGP mutation + was not working properly, because of a change in the architecture of the + GP initialization operators. (Thanks to Nicolas Navet) + +- Altered parity example so that it matched Koza's work in GPII (MW) + + Function set is now (AND,OR,NAND,NOR), as stated in GPII book. + +- Maximum generation termination modified (CG) + + Termination of an evolution is no more deactivated with a maximum + number of generation set to 0. This parameter value rather stop the + evolution after the application of bootstrap operator set. + +- Bug fix to support ADF without arguments (CG) + + Fixed GP::Invoker::execute to allow ADFs without arguments, without + having to use a fake argument primitive. + +- Correction to minimal bounds for real-valued GA and ES (CG) + + Minimal bounds for real-valued GA and ES has been changed from DBL_MIN + (1e-308) to -DBL_MAX (-1e308), which make more sense for usual + unbounded real-valued optimisation problems. + +- Bug correction and improved support for CMA-ES. (CG) + + An important bug as well as some numerical rounding errors has been + fixed in CMA-ES implementation. A new termination criterion specific the + algorithm has been defined in order to interrupt CMA evolutions that has + converged. Function MuWCommaLambdaCMAFltVecOp::operate has been separated + into several smaller sub-functions, for modularity purposes. (Thanks to + Olivier Teytaud, Sylvain Gelly, Nikolaus Hansen, and Anne Auger) + +- Correction of randomizer reading/writing behavior (CG) + +3.0.1: (11/10/2005) + +- Several fixes to allow compilation on Mac OS X (CG + MP) + +- Fixes in headers inclusion to allow precompiled headers (CG) + + +3.0.0: (04/10/2005) + +- Customizable allocator for STL containers (CG) + + Allocator used to instantiate elements of STL containers can be + customized, in order to use an allocator different from the standard one. + +- IndividualSizeFrequencyStatsOp statistics operator (CG) + + Statistics computation operator IndividualSizeFrequencyStatsOp has been + implemented in order to display the different individual size + frequencies over the evolutions. (Thanks to Matthew Walker) + +- Methods to read individuals from files (CG) + + New convenient methods readFromFile have been added to classes + Beagle::Individual and Beagle::IndividualBag in order to read individuals + from XML files without having to set-up an evolutionary context. + +- GP ephemeral value mutation operators (CG) + + New ephemeral constants mutation templated operator + GP::MutationEphemeralOpT, along with a specific instance for Double-typed + ephemeral mutation class named GP::MutationEphemeralDoubleOp, have been + added to the GP framework. These operators are useful to mutate the + values contained in ephemeral random constant primitives. + +- TSP example to illustrate integer vector representation (CG) + + Addition of a new integer vector representation example, that is the + Traveling Salesman Problem (TSP) solved by an indexed integer + representation GA. + +- Integer vectors representation (CG) + + An integer vector representation is now part of the GA framework. Proper + initialization, crossover and mutation operators has been defined, along + with a genotype and evolver classes. A special case of the integer + vector representation to contain a shuffled list of indices from + 0 to (n-1), where n is the size of the vectors, has been defined. + Specific initialization, crossover and mutation operators has also been + defined to use the integer vector as a list of indices. + +- NSGA2Op modified for a parametrized number of children (CG) + + The ratio of the number of children generated at each generation over + the population size in the NSGA2 multiobjective replacement strategy + operator can now be configured by parameter 'ec.mulambda.ratio'. This + would allow an adjustment of the selection pressure at each generation. + This is a generalization of NSGA2 as a multiobjective (mu+lambda) + replacement strategy, common in the evolution strategy paradigm. + +- Matrix and Vector classes inherit from their PACC-Math equivalents (CG) + + Classes Beagle::Matrix and Beagle::Vector have been modified to inherit + from their PACC-Math equivalents, PACC::Matrix and PACC::Vector. + +- Migration of Beagle's inputs/outputs to PACC-XML facilities (CG) + + Beagle XML parsing and streaming facilities have been replaced by the + PACC-XML ones (which are simply a more mature version of them). The + read* and write* methods present in almost every Beagle classes have been + modified to comply with PACC-XML type and method names. + +- Modified randomizer class (CG) + + Beagle::Randomizer have been modified to inherit from PACC::Randomizer + in order to minimize functionality overlaps. PACC::Randomizer is a + different encapsulation of the Mersenne Twister random number generator. + Beagle::RandomizerMersenne class has been removed and roll* methods + have been changed from virtual to inline. + +- ArrayT template (CG) + + New generic array type defined. The template inherits from both + Beagle::Object and the std::vector template. Typedefs have been defined + for basic C++ types as IntArray, UIntArray, DoubleArray, FloatArray, + LongArray, BoolArray, ULongArray, ShortArray and UShortArray. Type + IntegerVector have been replaced by the functionally equivalent UIntArray + type. + +- Whole system written in milestone files (CG) + + All system components are now written into milestone files. Register is + now written as a part of the system. + +- Modification to STGP support (CG) + + STGP support in GP framework has been slightly modified. The typing now + use directly the std::type_info information to compare node typing. + For efficiency concerns, constrained initialization and crossover + operators has been changed to select node of compatible typing instead + of blindly trying different nodes. (Thanks to Graham Thomson) + +- Dynamic configuration of primitive sets (CG) + + Primitive set composition can now be stated dynamically (without + recompilation) into the configuration file. + +- Evolutionary module acquisition support in GP framework (MW + CG) + + Evolutionary module acquisition (Angeline and Pollack, 1993) is now + supported as a standard GP feature. (Thanks to Matthew Walker) + +- Refactored ADF mechanism, generic GP::Invoker class (CG) + + The mechanism for ADFs have been completely rewritten in a more generic + fashion. Evolvable module acquisition, automatically defined iterations + and such can now be relatively easily implemented over the GP::Invoker + class. + +- Small bug fix in GP::PrimitiveUsageStatsOp (CG) + + Primitive usage statistics didn't count the primitives of the first + individual of each deme. (Thanks to Graham Thomson) + +- Mechanism to interrupt GP individual execution (CG + MW) + + A new mechanism based on exception handling has been added to GP + framework in order to interrupt the execution of GP individuals after a + given number of nodes evaluation or when the time allowed is expired. + If one of this criterion is reached, an special exception is thrown and + must be caught in the GP fitness evaluation operator. New GP exception + operators has been defined for that purpose. The maximum number of nodes + and the time allowed is specified in the GP context used for the + individual execution. (Thanks to Matthew Walker) + +- Migration of project files to KDevelop 3 (CG) + + KDevelop 3 is now part of the recent Linux distributions, so the + different Open BEAGLE KDevelop project files have been migrated this + new version. + +- Dynamic ADF with variable number of arguments (MW + CG) + + Number of ADFs of the GP individuals can now be determined dynamically, + by the initialization or mutation operators. ADFs can be added + on-the-fly to a GP individual. The number of ADF arguments can also be + dynamically stated and can change from an individual to another. A new + ADFArgument type has been defined and should be used instead of simple + TokenT variable (as it was done before). Constrained operators must + also be used in order to generate valid individuals. (Thanks to Matthew + Walker) + +- Explicit association of GP trees to GP primitive set (MW + CG) + + The association between GP trees and GP primitive set has been changed. + Before, a given GP tree at the ith position in an individual was + implicitly associated to the ith primitive set of the primitive super + set. Now, the link between the two is explicit and relaxed, stated in + an integer member of GP tree. There is no constraints on the associations + possible between GP trees and GP primitive sets and there is no need to + have as much primitive sets as there is GP trees in an individual (i.e. + there could be only one primitive set available while having a variable + number of GP trees in the individuals). (Thanks to Matthew Walker) + +- Dynamic selection weight in primitive set (MW + CG) + + Selection weight of a primitive can now be stated dynamically, depending + on the context. Method GP::Primitive::isSelectionWeightStable state + whether, for a given number of argument, it is possible that the weight + of the primitive can change. Method GP::Primitive::getSelectionWeight is + used to generate the selection weight value in itself for the associated + primitive, in the given context. (Thanks to Matthew Walker) + +- Dynamic number of arguments for GP primitives (MW + CG) + + Number of arguments of GP primitives can now be stated dynamically, by + properly over-defining method GP::Primitive::giveReference. Selection of a + primitive in a primitive set has been changed, only one method + (GP::PrimitiveSet::select) do all kind of selection, using special + number of arguments values for selecting a primitive into all the branches + or all the primitives. (Thanks to Matthew Walker) + +- GP primitives: GP::AbsT and GP::IfThenElseT (MW + CG) + + Two new GP primitives added, AbsT, which compute the absolute value of its + argument, and IfThenElseT, a four-argument conditional primitive. + (Thanks to Matthew Walker) + +- Stack trace mechanism added to exceptions try/catching (MW + CG) + + Method call trace mechanism added to follow function calls when Beagle + exception is thrown but not caught. To trace a method call, the macros + Beagle_StackTraceBeginM and Beagle_StackTraceEndM must be added + respectively at the beginning and end of the method implementation. The + call stack is displayed along with the error message by calling the + method Exception::explain. All class methods of Open BEAGLE have been + modified to have the Beagle_StackTraceBeginM/Beagle_StackTraceEndM + macros surrounding them. (Thanks to Matthew Walker) + +- Miscellaneous warning/error messages addition and improvements (MW) + + Matthew slightly improved and added warning/error messages he encounters + during its developments. + +- System components (MW + CG) + + Component map added to the basic evolutionary system (class System). + A system component can be added dynamically to the system as a new system + composing element with no need to extend/define a class specific to the + problem/algorithm at hand. The logger, register and GP primitive super + set have been re-defined as system components. (Thanks to Matthew Walker) + +- Object::getName() method and NamedObject class (MW + CG) + + Method getName() added to class Beagle::Object in order to retrieve the + name of any objects. Generic named object class added into the + architecture. Several changes made in order to make specific named objects + inheriting from the new generic named object class. + (Thanks to Matthew Walker) + +- Separation of log level parameter for console and file logging (MW + CG) + + Log level is now separated for console and file logging. Two parameters + ('lg.console.level' and 'lg.file.level') are now available to + independently set the log level at the console and into a file. Parameter + to disable/enable console logging have been removed from the system. + (Thanks to Matthew Walker) + +- Change format of GA::FloatVector (CG + JS) + + Now use ';' instead of ',' to separate vector components in order to + be consistent with Beagle::Matrix format. (Thanks to Jim Shepherd) + +- Enhancement of DecimateOp operator (CG) + + If value of parameter 'ec.decimation.ratio' is set to -1.0, DecimateOp + operator will resize the population to the real size given in parameter + 'ec.pop.size'. This fix some problems encountered with the simultaneous + use of ES and Distributed BEAGLE. + +- Bug fix in GA::ESVector::read (CG) + + Bug fix to allow reading of ES vector. The bug was caused by the use + of double instead of float values in ES vector representation. + +- Real-valued GA genotype values discretization (JS + CG) + + Real-valued GA genotypes values can be discretized by setting an + increment on the possible values. For example, setting the increment of + 0.5 make the domain of possible value equal to ...,-0.5,0.0,0.5,1.0,... . + (Thanks to Jim Shepherd) + +- MutationGaussianFltVecOp: per-value setting for mu and sigma (JS + CG) + + Mu and sigma parameters for MutationGaussianFltVecOp operator can now be + set on a per-value basis, allowing to modulate the mutation effect + for the different parameters composing the float vectors. + (Thanks to Jim Shepherd) + +- Bug fix in Matrix::tql2 (CG) + + Index out-of-bound bug fix in method Matrix::tql2, used to compute + eigenvalues and eigenvectors. + +- Bug fix in method Matrix::extract (CG + MP) + + Bug fix when extracting a sub-matrix from another matrix. + +- Added InvalidateFitnessOp class (MW) + + Fitness value for all the individuals of a deme can be invalidated by + adding the operator InvalidateFitnessOp to the evolver's main-loop. + (Thanks to Matthew Walker) + +- Bug fix in GP::MutateSwapSubtreeOp (MW) + + Silly bug in GP::MutateSwapSubtreeOp fixed. (Thanks to Matthew Walker) + +- Added GP::ValidateOp class (MW) + + Operator GP::ValidateOp check the validity of constrained GP trees and + report any invalid trees, which is useful for debugging. + (Thanks to Matthew Walker) + +- Added GP::Tree::fixSubTreeSize() (MW) + + Method GP::Tree::fixSubTreeSize() fix the sub-tree member of a GP::Node + after a GP::Tree alteration. (Thanks to Matthew Walker) + + +2.2.0: (28/10/2004) + +- Fix to compile with gcc 3.4 (LS + CG) + + Bug fix in files AbstractContainerAllocT.hpp and VivariumAllocT.hpp + to allow compilation with gcc 3.4. (Thanks to Laurent Steffan) + +- SBX float vector crossover added (CG) + + Operator for simulated binary crossover (SBX) (of Deb and Beyer) added + for float vector representation. + +- CMA-ES implemented for float vectors representation (CG) + + CMA-ES (of Nikolaus Hansen et al.), one of the most powerful evolutionary + algorithms for real-valued parameters function optimization, has been + implemented for float vector representation. The algorithm can be used + in any float vector problems, by specifying the use of the + GA-MuWCommaLambdaCMAFltVecOp replacement strategy and the + GA-MutationCMAFltVecOp mutation. See sample configuration file + "maxfctfloat-cmaes.conf" of the maxfctfloat example for an usage + illustration. + +- Improved replacement strategy operators (CG) + + NSGA2Op, MuCommaLambdaOp and MuPlusLambdaOp replacement strategy + operators have been improved to be used without evaluation operators in + the breeder tree. This will allow to use these replacement strategy + operators with special evaluation operators that can't be in a breeder + tree, such the ones of Distributed BEAGLE or the co-evolution framework. + +- RandomizerNR class removed (CG) + + Due to some concerns on the licensing policies of the code presented in + the book "Numerical Recipes in C", the random number generator class + RandomizerNR (which correspond to the routine rand1 of NR book) has been + removed. + +- Improved float vector blend crossover (BLX-alpha) (CG) + + Blend crossover for float GA and paired ES has been updated to be conform + to BLX-alpha crossover of Eshelman and Schaffer. + +- Per-value range limits in GA framework (JS + CG + DS) + + Float GA and paired ES now includes a range limit for each parameters + composing the individuals, instead of a global minimum and maximum. + (Thanks to Jim Shepherd for the code and David Stocks for the suggestion) + +- GA individual initialization operations limited to one genotype (CG) + + To ease the use of the GA framework, initialization operators are now + limited to generate individual with one genotype (bit string, + float vector or ES-pair vector). GA examples have been updated + accordingly. + +- New Matrix and Vector classes for basic numerical computations (CG) + + New classes Matrix and Vector are added with support for basic linear + algebra operations plus some special operations for the computation of + matrix inverse, determinants, and eigenvalues/eigenvector. + +- Bug fix in the autoconf configuration of all examples (MD + CG) + + (Thanks to Marc Dubreuil) + +- Minor bug correction for compiling full debug (CG) + + Small bug fix at line 185 of file HierarchicalFairCompetitionOp.cpp to + allow compilation in full debug mode. (Thanks to David Stocks) + +- Changes in log outputs given by the evolver (CG) + + Log outputs given by the evolver such as "Evolving the 1st deme for + generation 6" have been changed to avoid writing the generation + number. This change is necessary as there was confusion about generation + number given by the evolver vs the statistics for Distributed BEAGLE + applications. + +- Primitive usage statistics operator (MW + CG) + + Operator named GP::PrimitiveUsageStatsOp that compute usage statistics + of each primitives in GP trees and display the results in the logs. + (Thanks to Matthew Walker) + + +2.1.5: (03/08/2004) + +- Re-writing of hierarchical fair competition operator (CG) + + The HFC migration operator has been rewritten in order to use adaptive + fitness thresholds to migrate individuals from one deme to another, + instead of using unconditional migration policy. + +- Major change in deme migration mechanism (CG) + + A migration buffer has been added to the deme structure. This buffer + should now be used by all migration operators to move individuals + between demes. The migration buffer in deme is written in milestone + files, which allow reproduction of multiple demes evolutions. + MigrationRandomRingOp operator updated according to this change. + +- Random number generator now initialized with /dev/urandom on Unix (CG) + + Seed of random number generator is now taken from system device + /dev/urandom on Unix, when available. + +- Bug fix in Beagle::MigrationRandomRingOp (CG) + + Migration buffer in migration random ring operator was not checked to be + emptied when starting a new evolution with a given evolver. + (Thanks to Michel Fortin and Leila Dridi) + +- Bug fix in GA::BitString::convertGray2Bin (MF) + + Bug fix in computation for the conversion of Gray code to binary code. + (Thanks to Michel Fortin and Leila Dridi) + +- Bug fix in statistics computation operator (CG) + + Statistics calculation operator now computes vivarium statistics + only when all demes of a generation have been processed, with no + assumption on the order of the demes. This fix is necessary as + Distributed BEAGLE server send demes out-of-order to evolver clients. + +- Genotype/phenotype distance measure methods (CG) + + Two methods have been added to Beagle::Individual to compute distance + between two individuals in genotype and phenotype space: + getDistanceGenotype and getDistancePhenotype. These methods are + implemented by throwing an exception; they must be over defined by the + user for his application. (Suggestion of Jianjun Hu) + + +2.1.4: (04/07/2004) + +- Hierarchical Fair Competition (HFC) operator (CG) + + HFC operator inspired by the work of Hu and Goodman. The operator is + actually implemented as a migration operator that is at the same time a + replacement strategy. The breeder tree of the replacement strategy is + called to generate the new individuals. + +- InitializationOp now a breeder operator (CG) + + Abstract initialization operator now inherits from BreederOp, to enable + using it in breeder trees. The operator can be used pretty much like a + selection operator, as a leaf in a breeder tree that generate new + individuals. The breeding probability is the reproduction probability. + +- Comments in XML output of configuration dump or milestone write (CG) + + Comments in XML files when writing a configuration dump or a + milestone. + +- Lexicographical parsimony pressure tournament selector operator (CG) + + New selection operator based on tournaments selection, breaking ties by + selecting the smallest individual. + +- getSize() methods added to Individual and Genotype classes (CG) + + getSize() method added to Individual, Genotype, GA::BitString, + GA::FloatVector, GA::ESVector and GP::Tree classes. Return length for + genotype representation and total length composing an individual. + +- Random shuffle deme operator (CG) + + New operator to random shuffle individuals in a deme. Useful for + micro GA-like evolution with Distributed BEAGLE. + +- Weights to modulate primitives selection in GP primitives sets (CG) + + Primitives inserted in primitives set now get a weight that module + the importance of being selected during initialization and mutation. + Higher a weight value, higher chances are for the associated primitive + to be selected. Default weight value is 1.0. + +- Bug fix in Pareto Hall-of-Fame update methods (CG) + + Small index bug made update methods of Pareto hall-of-fame incorrect. + +- Coev::TermBroadcastOp termination operator (CG) + + Termination criterion to broadcast and receive termination criterion + notices between threads when doing co-evolution. + +- Enhanced message of casting exception in Individual::operator= (CG) + + Message thrown when fitness types mismatch during an individual + copy has been enhanced to help users figuring out the problem. + (Thanks to Matthew Walker) + +- Bug fix in Register::interpretArgs (CG + MW) + + Remove a test that throw an exception when a parameter value on the + command-line is empty. (Thanks to Matthew Walker) + +- Bug fix in GP::Tree (MW) + + Small typo in interpret() method. Only showed up with Beagle configured + with --enable-full-debug. + + +2.1.3: (13/04/2004) + +- Bug fix in GA::CrossoverUniformOpT and GA::EvolverES (CG) + + Small bug fix in constructors of GA::CrossoverUniformOpT and + GA::EvolverES. + + +2.1.2: (08/04/2004) + +- Support for pre-compiled headers on MS Visual C++ .NET (CG) + + Pre-compiled headers are now generated when compiling the libraries on + MS Visual Studio C++ .NET. This can speed-up significantly compilation + time. + +- New method to get document root tag in XMLParser (CG) + + Method XMLParser::getRootTagNode() has been added to conveniently allow + the user to get access the document root tag node in one line of code. + +- Robust reading of unknown parameters in register file (CG) + + When reading a register file, when a unknown parameter is met in a + configuration file, the new policy is to log a warning message, + instead of throwing an exception. + +- Bug fix in Beagle::WrapperT::read (CG) + + Reading a wrapped value from a empty XML node doesn't change the value + of the wrapped value. This causes problem for the type Beagle::String, + where an empty XML node means an empty string value. The read method + is now changed to assign the default constructor value the wrapped value + when reading it from an empty XML node. (Thanks to Matthew Walker) + +- Functions for searching in XML trees (MW + CG + MP) + + Two functions XMLNode::find have been added to search for a given node + type and value in an XML tree. (Thanks to Matthew Walker) + +- Update of Threading module and XMLNode class (MP + CG) + + Module Threading has been updated and several methods to modify XML + tree has been added in class XMLNode, according to the changes made in + Marc Parizeau's classes. + +- CrossoverBlendESVecOp operator added (CG) + + This operator implements a crossover operation for ES vectors where the + offsprings are on a random position on the line connecting the values + of the parents' values and strategy parameters. + +- File renamed when in the way of an Open BEAGLE file (CG) + + If a file with the same name of a milestone, configuration or log file + that is going to be written to disk, the existing file is renamed by + appending an '~' to the filename. This allow some kind of backup + mechanism for existing files, avoiding undesired file deletion. + +- Support for gzipped milestone / configuration files (CG) + + On platforms where a zlib installation is detected (most modern Linux + distributions include it), support for reading gzipped milestone / + configuration files is provided. Milestones are now gzipped when + written on disk. Parameter "ms.write.compress" allows to disable + milestone compression. Windows users most have zlib installed on their + computer and set preprocessor flag BEAGLE_HAVE_LIBZ in header + config.hpp to make use of this feature. + +- Method to sort hall-of-fames in the descending order (CG) + + Method HallOfFame::sort() has been added to sort hall-of-fames + in the descending order. + +- Method Logger::terminate() to close logger (CG) + + Method Logger::terminate() added to manually close a running logger. + +- DecimateOp and OversizeOp operators added. (CG) + + Two new operators have been added: DecimateOp and OversizeOp. + DecimateOp shrinks the population by resizing to a ratio of the original + population size, keeping only the best individuals of the original + population. OversizeOp oversizes the population, using a breeder tree + to generate the new individuals. These two operators allow 1) a new way + to implement (mu+lambda) ES and 2) the implementation of a decimation + operation similar to the one described in Koza's GP1 book. + +- Aliases for statistics computation of minimization fitnesses (CG) + + Aliases for statistics computation operators have been defined for + minimization fitnesses measure. This allow, for example, to use + "StatsCalcFitnessSimpleMinOp" operator (aliased to operator + "StatsCalcFitnessSimpleOp") in conjunction of fitnesses of type + "FitnessSimpleMinOp". + +- Configuration dumper changes (CG) + + Small change to allow parameter "ec.conf.dump" to be in parameter file + with no value, without doing a configuration dump. + +- Bug fix when parsing of big XML files (CG) + + There was risk of stack overflow during the destruction of big XML trees. + The problem was that in the destruction of a XML node, the destructor of + the first child and next sibling node is called recursively + until the leaves are reached. The destructor is now more intelligent by + looping into children and siblings in order to avoid stack overflow. + +- Validity attribute added to fitness and stats XML representation (CG) + + An attribute named "valid" is added to fitness and statistics + representation. If the value of the attribute is "no", the fitness or + statistics read is considered invalid, and so the content is not read. + +- Default constructor for specialized evolvers added (CG) + + Default constructors of specialized Evolver classes now have a default + constructor that add the flavor-specific operators without setting + the bootstrap and main-loop operator sets. + + +2.1.1: (17/01/2004) + +- Several small changes to compile on gcc 2.96. (CG) + +- StatsCalcFitnessKozaOp class scoped in GP namespace (CG) + + This class was misplaced into Beagle namespace while it should be scoped + into namespace Beagle::GP. + +- Small changes in file format (CG) + + Small changes are made in for file format. More specifically attribute + "mutdistribpb" renamed "distribpb" in operator CrossoverUniformOp, and + type of genotype for ES, renamed "esvector" instead of "ESVector". + Backward compatibility has been retained with old name. Attribute "size" + in four standard genotypes is now optional, the same for attribute + "depth" of GP tree genotype. + +- Bug correction for multiobjective domination computation (CG) + + Bug fix for Pareto domination computation. When comparing multiobjective + fitness measure A with B, fitness A was said not dominated by B in the + case where some objective values of A are equal to those of B, but none + objective values of A where greater than B. + +- Bug correction in spambase example (CG) + + Primitives in spambase example still used symbol as name. This cause + problem with new GP tree XML format, especially for LessThan primitive + which was using "<" symbol. + + +2.1.0: (11/12/2003) + +- Move to MS Visual .NET 2003 solution and project files (CG) + + Solution and project files for MS Visual Studio .NET are now generated + using version 2003, in opposition to version 2002 which was used + previously. Forward compatibility is not a practise at Microsoft, so + you probably need to pass to 2003 to use the solution and project files + provided. But, it is still possible to regenerate these files for + VS.NET 2002. Sorry for the problems that this might cause to Windows + users, but the VS.NET installation in my lab is now fully 2003. + +- Evolution strategy example: function maximization (CG) + + Usual GA function maximization example is implemented with ES as example + 'maxfctes'. + +- Evolution strategy support added to GA framework (CG) + + Simple support for Evolution Strategy (ES) is added in the GA framework. + ES genotype, implemented in class GA::ESVector, is defined as a vector of + (value,strategy) pairs, where 'value' is the real value of the optimized + value, and 'strategy' is the mutation strategy parameter. A simple ES + mutation operator is defined in class GA::MutationESVecOp along with an + ES evolver. Generic GA crossover operators have also been adapted to ES. + +- Bug fix in RandomizerMersenne::rollUniform (CG) + + There was a bug in method RandomizerMersenne::rollUniform, when the lower + bound was not 0. (Thanks to "Graamone") + +- Seeding population from file (CG + AM) + + Seeding population from file code added in basic initialization + operator. File containing seeds is specified by parameter + "ec.init.seedsfile". (Thanks to Andrew Marek) + +- New termination criterion operators (CG) + + Three new termination criterion operator classes added. TermMaxEvalsOp: + interrupt evolution after the given number of fitness evaluation is done. + TermMaxFitnessOp: interrupt evolution when an individual has a fitness + value higher or equal to the given value. TermMinFitnessOp: interrupt + evolution when an individual has a fitness value less or equal to the + given value. + +- Pareto front hall-of-fame (CG) + + ParetoFrontHOF, Pareto front hall-of-fame class. Compute the Pareto front + of solution for multiobjective EA populations. ParetoFrontCalculateOp: + operator to compute Pareto front of population just before milestone + writing. This operator must be in evolver's operator set between + termination criterion operators and MilestoneWriteOp. + +- Co-evolution example: co-evolutionary symbolic regression (JW + CG) + + A two populations competitive co-evolution example, with a first population + of training set samples, and the second population of symbolic expressions. + Based on the paper "Methods for Evolving Robust Programs" of Panait and + Luke. (Mostly done by Jiachuan Wang) + +- Changes in population constructors signatures (CG) + + More coherent constructor signatures are used. Classes affected are: + Individual, Deme, Vivarium, GP::Individual, GP::Deme, GP::Vivarium, + IndividualAlloc, IndividualAllocT, DemeAlloc, DemeAllocT, VivariumAlloc, + and VivariumAllocT. + +- Real-valued GA example: function maximization (CG) + + Usual GA function maximization example is implemented with for real-valued + genotypes as example 'maxfctfloat'. + +- Support for real-valued GA in GA framework (CG) + + Basic real-valued GA fixed length genotype is added to the GA framework. + The following classes have been added to the distribution: + CrossoverOnePointFltVecOp, CrossoverTwoPointsFltVecOp, + CrossoverUniformFltVecOp, CrossoverBlendFltVecOp, EvolverFloatVector, + FloatVector, InitFltVecOp, MutationGaussianFltVecOp. + +- New GA crossover operators (CG) + + Two generic crossover operators has been added for vector-based EC: + two-points crossover and uniform crossover. Generic version of these + operators are defined as templates, while specific specialization of these + algorithms is defined for bit string and real-valued GA. Generic + implementation of one-point crossover, which was already available for + bit string GA is also given. + +- Major changes in GA framework (CG) + + Major changes happened in GA framework to allow future extension from a + simple bit string based GA to a more generic vector-based EA framework, + with support for bit string GA, real-valued GA, ES, and possibility to + extend to other types of vector-based EAs, including variable-length ones. + + Changes include: + CrossoverOp --> CrossoverOnePointOpT and CrossoverOnePointBitStrOp + MutationOp --> MutationFlipBitStrOp + InitializationOp --> InitBitStrOp + Evolver --> EvolverBitString + GA::Individual --> removed + GA::Deme --> removed + GA::Vivarium --> removed + +- Default GP fitness class changed (CG) + + Default GP fitness measure changed from the overly complicated + GP::FitnessKoza class to the less confusing FitnessSimple class. New + computation statistics is added to GP framework, to compute statistics on + both simple fitness values and GP trees depth and size. GP examples and + configuration files have been updated accordingly. + +- Co-evolution example: two-populations iterated prisoner's dilemma (CG) + + Example two-populations iterated prisoner's dilemma, implemented with + 3 bits bit strings, is added to illustrate co-evolution and Parizeau's + multi-threading classes. + +- Multiple populations co-evolution basic support (CG) + + Multiple populations co-evolution basic support is added with a + multi-thread-ready evaluation operator. The approach used need to + associate each co-evolving populations to a specific thread, and to do + the evaluation operation by "mating" the evaluation sets of the different + populations/threads. The OS specific multi-threading calls are encapsulated + by using Marc Parizeau's multi-threading classes, included in the + co-evolution framework. Parizeau's threading classes run on Win32 and + POSIX compliant Unix flavors, which includes Linux, Mac OS X, and Solaris. + +- GA multiobjective example: Multiobjective 0/1 knapsack (CG) + + Multiobjective 0/1 knapsack example illustrates the use of multiobjective + EA with GA. + +- Multiobjective fitness and selection methods (CG) + + Two multiobjective fitness measures have been added to the framework: + FitnessMultiObj and its minimization companion FitnessMultiObjMin. Two + multiobjective selection operators have been added: NSGA2Op, implementing + the NSGA-II MOEA selection algorithm as a breeder's replacement strategy, + and NPGA2Op, implementing the NPGA-II MOEA selection algorithm in a + standard selection operator. + +- Improved configuration file support with libtool (CG) + + The search path has been improved to correctly find configuration + files when debugging or executing Open BEAGLE binaries dynamically linked + using libtool. + +- Example binaries *-debug removed (CG) + + To reduce confusion and disk space, statically linked example binaries + (named *-debug) are removed from the autoconf/automake configuration. + +- Bug correction in statistics computation operators (CG) + + A computation bug with statistics computation operators of demes of + size 1 has been fixed. (Thanks to Jianjun Hu) + + +2.0.0: (24/09/2003) + +- LVSN contact address added in license comments of headers/sources (CG) + +- Two new selection operators: SelectRouletteOp and SelectRandomOp (CG) + + Two new selection operators are added to Open BEAGLE: SelectRouletteOp + which is fitness proportional roulette selection, and SelectRandomOp + which is uniformly distributed random selection of individuals. + +- GP operators supporting constrained trees splitted (CG) + + GP operators that supports constrained trees (crossover, mutation, + and initialization) have been splitted in two operators, with one simple + version not including constraints handling, and a second version, with + word "Constrained" added in their name, supporting topological + constraints. + +- Negative fitness values and higher precision statistics (CG) + + The classes associated to the fitness measures now support the + possibility to use negative fitness value. The statistics are computed + using double-precision arithmetics, which allow better precision and + limit the effect of overflows. + +- Initialization from file, without command-line arguments (CG) + + It is possible for the user to initialize the whole system directly from + a file, without having to give the command-line values (argc/argv of + main() routine). + +- Configuration files includes evolver structure (CG) + + The configuration file (.conf file) now include in addition to the + parameters of the register, the possibility to set the configuration + of the evolver. The name of the parameters associated to the configuration + file have been changed to use the prefix "ec.conf" (i.e. configuration + file name: "ec.conf.file", configuration file dump: "ec.conf.dump"). + The mechanism to read and write configuration has significantly changed. + +- Dynamic evolver configuration from XML files (CG) + + Operator sets composing evolvers can now be written and read from file + directly. A new way of doing things imply that each usable operators + are putted into the evolver, are used to compose the operator sets + when read from file. The operators have also been modified to be setup + dynamically from files. + +- Modified operators to comply with breeder model (CG) + + Several operators such crossover, mutation, selection, and evaluation + have been modified to be usable as breeder operators. + +- (Mu,Lambda) and (Mu+Lambda) replacement strategies (CG) + + The (Mu,Lambda) and (Mu+Lambda) replacement strategies, common in + Evolution Strategy (ES), have been added to the framework. (Mu,Lambda) + replacement strategy proceed by generating a new-born set of Lambda + individuals from a parent population of Mu individuals (where Lambda > + Mu). The Mu best individuals of the new-born population is used to make + the next generation of individuals. The (Mu+Lambda) differs from the + previous one by choosing the Mu best individuals to compose the new + generation from both the populations of Lambda new-borns and Mu parents. + +- Breeders and replacement strategies (CG) + + Breeders and replacement strategies concepts have been added to the + framework. A breeder operator is an operator that can process individuals + instead of demes, allowing a finer control over the evolutionary algorithm. + Breeders are structured as trees to generate new-born individuals one at + the time. Replacement strategies are the root of the breeder tree, which + insert each newly generated individual in the population following a given + strategy. Two replacement strategies have been implemented: generational + and steady-state. + +- New exception class RunTimeException (CG) + + New exception class RunTimeException added. This class covers + miscellaneous exception cases related to run time value checking. + Changes in different places in the code to throw RunTimeException instead + of other Beagle exceptions. + +- Read parameter operator removed from standard evolvers (CG) + + The RegisterReadOp has been removed from the bootstrap and main-loop + operator set of the standard evolvers, but still remain available in the + EC framework. + +- Bug correction in minOf() and maxOf() (CG) + + Bug correction in minOf() and maxOf(), by testing of the function + arguments for being Not-a-Number. + +- Number of processed individuals added in context (CG) + + Basic EC context now has four new members: number of individuals + processed (evaluated) in the actual deme for this generation, number of + individuals processed in the whole evolution, number of individuals + processed in the vivarium for this generation, and number of individuals + processed in the vivarium for the whole evolution. + +- Changes in statistics mechanism (CG) + + Dynamic addition of statistical element is now possible. The statistics + computation for a deme is now done in statistics calculation operator + (no more in fitness class). Two new statistics calculation operator + added: StatsCalcFitnessSimple, and StatsCalcFitnessKozaOp. + +- File format changes (CG) + + The file format has been changed, using the new XML I/O classes. Among + the changes, we note that file format is now completely XML standard + compliant, and that the GP trees are now written using a pure XML format. + +- New XML reading/writing classes (CG + MP) + + The Open BEAGLE XML input and output classes as been changed for + Marc Parizeau's XML parser and streamer. Signature of method Object::read + and Object::write has been changed accordingly. This imply that every + Open BEAGLE object that can be read and written have been changed to use + new XML I/O mechanism. + +- Gray code decoding facilities for bit strings (CG) + + A new decoding method has been added to the GA framework, to allow the + decoding of gray-coded bit string to floating-point vectors. The + maxfct example has been changed to use gray-coded strings instead of + binary-coded ones. + +- Mersenne twister random number generator (CG) + + A better (and faster) random number generator is now used in the + framework: the mersenne twister. This number generator is now used + by default by the framework, and I advice people to use it instead of + the old one. The old random number generator, based on rand1 of + "Numerical recipes in C", is still available. + See http://www.math.keio.ac.jp/~matumoto/emt.html for details on the + mersenne twister. + +- Post-initialization hooks (CG) + + Post-initialization hooks method called "postInit" has been added to + different components (logger, register, randomizer, operators). These + hooks provide an entry to a mechanism that is call once, after the system + is initialized and the parameters read from the configuration file, but + before the evolution is started. + +- Changes in fitness classes (CG) + + Some minor changes in fitness classes, to take account of invalid fitness + measure in comparison methods, and to enable calculation of statistics + for empty demes. + +- Changes in Individual::isIdentical (CG) + + The Individual::isIdentical method now tests whether two individuals are + equals, in term of their fitness value, before comparing their structural + similarity. This change affect the individuals putted in the hall-of-fame + as now, two structurally identical individuals, but with a different + fitness value, will no more considered as identical. + +- New class HallOfFame, hall-of-fame in the vivarium (CG) + + The hall-of-fame mechanisms, which is essentially to preserve the + best-of-run individuals into a persistent and evolution independent + container, is now encapsulated into class HallOfFame. An hall-of-fame + has been added to the vivarium. The hall-of-fame size parameter name has + been changed for "ec.hof.demesize" for each deme's hall-of-fame size, and + "ec.hof.vivasize" for the vivarium's hall-of-fame size. Default size + values are now 1 for the vivarium's hall-of-fame, and 0 for the deme's + one. The members of the hall-of-fame also includes their associated + generation number and deme index of the moment they were put in + the hall-of-fame. + +- New GP mutation operator: MutationSwapSubtreeOp (CG + HJJ) + + New mutation operator added to the GP framework: MutationSwapSubtreeOp. + This mutation operator implement a kind of self-crossover operation, + where two subtrees of the same individual are exchanged. Two types of + swap subtree mutation are possible: external subtree mutation, using two + exclusive subtrees, and internal subtree mutation, where one of the + swapped subtree is within the other. In the later case, three mutation + points are used. (In collaboration with Jianjun Hu) + +- Bug fix in method Deme::updateHallOfFame (CG) + + Hall-of-fame was not correctly updated when HOF size is > 1. + (Thanks to Jianjun Hu) + + +1.1.1: (28/05/2003) + +- Ordinal numbers correctly displayed. (MW + CG) + + Ordinal numbers (1st, 2nd, 27th, etc.) are now correctly outputted in logs + using new function uint2ordinal. (Thanks to Matthew Walker) + +- Minor correction to compile with MS Visual C++ .NET 2003 (7.1). (CG) + + Some minor code correction to allow compilation with MS Visual C++ .NET + 2003 (7.1). (Thanks to sashan) + +- Bug fix in GP::InitHalfOp. (CG) + + Type mistake for typedef of type GP::InitHalfOp::Bag. + (Thanks to Matthew Walker) + +- FitnessKoza now inherits from FitnessSimple. (CG) + + The class FitnessKoza now inherits from FitnessSimple. The value of the + simple fitness is the normalized measure of the Koza's fitness. The + interface of the class stay unchanged. This will be useful as + selection operators usable with class FitnessSimple will also be usable + with class FitnessKoza. + +- New GA example: All Zeros. (CG) + + A new GA example is added to the distribution. It consists to discover + a bit string made only of zeros. It is expressed as a minimization + problem, as the fitness measure is the number of one in the bit string. + It also uses the new fitness class, FitnessSimpleMin. + +- New fitness class: FitnessSimpleMin. (CG) + + A new fitness class is added to the generic framework. The fitness is + similar to FitnessSimple with the exception that smaller values are + better. This new class is targeted for minimization problems. + +- Bug fix: config.hpp was not correctly installed on Unix (CG) + + Since version 1.0.3, file config.hpp was not correctly installed on Unix + with the command 'make install'. + + +1.1.0: (30/04/2003) + +- Doxygen comments improvements (CG) + + Code comments improved. New section "Modules" in the doxygen + documentation, where the classes are regrouped in a human-understandable + fashion. This new section is appropriate to get familiar with the + framework. + +- Milestone file format modified (CG) + + With the class name and in the statistics changes, the milestone file + format has been changed. The old format is not recognized by the + framework, until someone develop a XSLT to transform them (any + volunteer?). Note that the actual new format is transitory + and will _NOT_ be compatible with the new format announced with the new + XML readers/writers. + +- GP tree size and depth measures added to GP::FitnessKoza (CG) + + Class GP::FitnessKoza now contained two new measures: the number of nodes + in the individuals, and the tree depth of the individual. This is + appropriate to monitor code growth in the population during evolutions. + +- Changes in statistics and fitness classes (CG) + + A major revision of statistics classes has been made. Classes + MeasureStats and PopulationStats are eliminated. The GenerationStats is + renamed Stats, and the Measure struct is now in the same header than this + class ("beagle/Stats.hpp"). The members m3rdQuart (third quartile measure), + mMedian (median measure), and m1stQuart (first quartile measure) of the + Measure struct are eliminated. The mPopSize and mGeneration members + are moved into the Stats class and new member called mProcessed + (number of individuals processed (evaluated) in actual generation) and + mTotalProcessed (total number of individuals processed (evaluated) in the + whole evolution) are added to the class Stats. The statistics in the deme + are now only for the most recent generation. For the history statistics, + the user should consult the logs. A statistics member is added to the + vivarium. Class DisplayStatsOp merged into class StatsCalculateOp. The + statistics are generated directly by the class StatsCalculateOp and now + outputted passing by the logger. The declaration of the prototype of method + Fitness::calculateDemeStats is changed for Fitness::calculateStats. + +- New logging mechanism (CG + MP) + + A new logging mechanism has been developed. Two new classes are added + to the framework: Logger, abstract logging class, and LoggerXML, logger + that can write into a file and/or the standard output in a XML format. + A logger handle is added to the System class. There is 8 levels of logging + available, from level 0 (nothing) to level 7 (debug). High logging levels + include all the previous one. Macros are added to facilitate logging. + Several parameters for the logging are added in the register. See the + manual for more details. Almost half of the framework classes source + code, essentially the operators, have been modified to log their + operations. + +- Some name changes of classes and files (CG) + + In order to make the whole organization more coherent, the name of + the following classes, with their associated files, has been changed. + + CalculateStatsOp -> StatsCalculateOp + GenerationStats -> Stats + MaxGenerationTermOp -> TermMaxGenOp + RandomRingMigrationOp -> MigrationRandomRingOp + ReadMilestoneOp -> MilestoneReadOp + ReadParametersOp -> RegisterReadOp + SimpleFitness -> FitnessSimple + TournamentSelectionOp -> SelectTournamentOp + WriteMilestoneOp -> MilestoneReadOp + GA::GenerationalEvolver -> GA::EvolverGenerational + GA::SteadyStateEvolver -> GA::EvolverSteadyState + GP::GenerationalEvolver -> GP::EvolverGenerational + GP::KozaFitness -> GP::FitnessKoza + GP::MaxHitsTermOp -> GP::TermMaxHitsOp + GP::ReadMilestoneOp -> GP::MilestoneReadOp + GP::ShrinkMutationOp -> GP::MutationShrinkOp + GP::StandardMutationOp -> GP::MutationStandardOp + GP::SteadyStateEvolver -> GP::EvolverSteadyState + GP::SwapMutationOp -> GP::MutationSwapOp + + +1.0.3: (20/03/2003) + +- Prefix BEAGLE_ added to preprocessor flags in file config.hpp (CG) + + The prefix BEAGLE_ is now used as prefix of all preprocessor flags + generated by autoconf in file config.hpp. + +- Additional methods to read/write demes (CG) + + The methods Deme::read and Deme::write have been cut into fine grained + methods to read/write the hall-of-fame and the population. + +- New templated functions isNaN, isInfinity, and isFinite to check (CG) + whether a floating-point number is not-a-number, infinite or finite + + These new functions enable the checking of finiteness of floating-point + numbers, that is a number is not NaN, infinite, or finite (nor NaN or + infinite). These functions are generic, portable replacements to previous + calls to the GNU macro isfinite, which is only available on gcc <= 2.95. + +- New templated arithmetic functions maxOf, minOf, and pow2Of (CG) + + These arithmetic functions replace the Beagle_MaxM, Beagle_MinM and + Beagle_Pow2M macros to evaluate respectively the maximum of two + numbers, the minimum of two numbers, and the square of a number. + +- Members mHallOfFame and mStats in Deme changed from value to handle (CG) + + Type of member Deme::mHallOfFame changed from Individual::Bag to + Individual::Bag::Handle. Type of member Deme::mStats changed from + PopulationStats to PopulationStats::Handle. This is to allow smart + pointing of deme's hall-of-fame and statistics. (Thanks to Jianjun Hu) + +- Bug correction in SteadyState::operate (CG) + + The steady-state now update the hall-of-fame with the best of run + individuals. The method Deme::updateHOFWithIndividual is added in order + to update the hall-of-fame with one individual. (Thanks to Jianjun Hu) + +- Bug correction in Register::interpretArgs (CG) + + Correction of a bug in the command-line parsing routines in the register. + When two consecutive arguments starting with -OB were given on the + command-line, the second was ignored. (Thanks to Jianjun Hu) + + +1.0.1: (20/11/2002) + +- Autoconf/automake/libtool compilation front-end (CG) + + This enable the compilation on different Unix systems using the GNU build + tools. It eliminates the manual setting of preprocessing flags to compile + on a given target (configure script now sets these flags automatically). + The preprocessing flags name are changed to be compliant with autoconf. + The user doesn't need anymore to edit the infamous 'beagle.make' and + 'beagle-debug.make' files. + +- Support for MS Visual C++ .NET (CG) + + The framework now compiles under MS Visual C++ .NET. Some changes are + made to the code to allow it. Support for Borland C++ Builder is + abandoned. (Thanks to Mark Mikulec) + +- Modification of the file structure (CG) + + The examples are moved into the folder 'examples' and are now independent + projects. The 'make' and 'BCB' folders are eliminated and different + autoconf/automake files are added. The folders 'MSVCPP' contains the + MS Visual C++ .NET specific project files. + +- Complete revision of parameter tags and descriptions (CG + MP) + + The parameter tags are changed to augment consistency and organization. + Some useless and confusing parameters are eliminated. The short and + long help about the parameters is completely revised. The '-EC' + command-line prefix is changed for '-OB'. + +- Code revision of the examples (CG + MP) + + The four examples code are revised for clarity and simplicity. + +- Bug correction in SteadyStateOp::operate (CG) + + Correction of a bug in the steady-state operator when mating two + individuals for crossover. (Thanks to Jianjun Hu) + +- Bug correction in symbolic regression example (CG) + + The symbolic regression evaluation operator "initialize" method + previously called the random number generator. This may cause problems as + the random number generator internal state value may be changed after + this call. This situation is now corrected by sampling the equation to + regress at the first call to the method "evaluate". (Thanks to Brad + Pillow) + +- Bug correction in MigrationOp::migrate (CG) + + Correction of a bug that happen when determining whether migration happens + or not, given the migration interval. (Thanks to Mathieu Roy) + + +1.0.0: (22/07/2002) + + - Modification of statistics classes (CG) + - Modification of copy behavior of bags and bag allocators (CG + MP) + - Several minor bug fixes (CG) + - Several minor comments revision (CG + MP) + - Minor changes to compile with Borland C++ Builder (CG) + +0.16.2 (BETA): (13/06/2002) + + - Merge of mixed and uniform bags into unified bags (CG + MP) + - Several class name changes (CG + MP) + - Several minor bug fixes (CG) + - The GP framework (CG) + - Tree GP test examples (CG) + +0.16.1 (ALPHA): (21/03/2002) + + - The makefiles structure (CG) + - The generic OO foundations (CG) + - The generic EC framework (CG) + - The GA framework (CG) + - A simple GA test example (CG) + + + diff --git a/lib/beagle-3.0.3/Doxyfile b/lib/beagle-3.0.3/Doxyfile new file mode 100644 index 0000000..22d1a67 --- /dev/null +++ b/lib/beagle-3.0.3/Doxyfile @@ -0,0 +1,1283 @@ +# Doxyfile 1.5.1 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = "Open BEAGLE" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = 3.0.2 + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = refman/beagle + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of +# source files, where putting all generated files in the same directory would +# otherwise cause performance problems for the file system. + +CREATE_SUBDIRS = YES + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, +# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, +# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, +# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, +# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. + +OUTPUT_LANGUAGE = English + +# This tag can be used to specify the encoding used in the generated output. +# The encoding is not always determined by the language that is chosen, +# but also whether or not the output is meant for Windows or non-Windows users. +# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES +# forces the Windows encoding (this is the default for the Windows binary), +# whereas setting the tag to NO uses a Unix-style encoding (the default for +# all platforms other than Windows). + +USE_WINDOWS_ENCODING = NO + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is +# used as the annotated text. Otherwise, the brief description is used as-is. +# If left blank, the following values are used ("$name" is automatically +# replaced with the name of the entity): "The $name class" "The $name widget" +# "The $name file" "is" "provides" "specifies" "contains" +# "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. + +INLINE_INHERITED_MEMB = YES + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = YES + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = beagle + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explicit @brief command for a brief description. + +JAVADOC_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# will output the detailed description near the top, like JavaDoc. +# If set to NO, the detailed description appears after the member +# documentation. + +DETAILS_AT_TOP = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce +# a new page for each member. If set to NO, the documentation of a member will +# be part of the file/class/namespace that contains it. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 2 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C +# sources only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java +# sources only. Doxygen will then generate output that is more tailored for Java. +# For instance, namespaces will be presented as packages, qualified scopes +# will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to +# include (a tag file for) the STL sources as input, then you should +# set this tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. +# func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. + +BUILTIN_STL_SUPPORT = NO + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = NO + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from the +# version control system). Doxygen will invoke the program by executing (via +# popen()) the command , where is the value of +# the FILE_VERSION_FILTER tag, and is the name of an input file +# provided by doxygen. Whatever the program writes to standard output +# is used as the file version. See the manual for examples. + +FILE_VERSION_FILTER = + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be abled to get warnings for +# functions that are documented, but have no documentation for their parameters +# or return value. If set to NO (the default) doxygen will only warn about +# wrong or incomplete parameter documentation, but not about the absence of +# documentation. + +WARN_NO_PARAMDOC = NO + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. Optionally the format may contain +# $version, which will be replaced by the version of the file (if it could +# be obtained via FILE_VERSION_FILTER) + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = doxygen.log + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = beagle/include \ + beagle/src \ + beagle/GA/include \ + beagle/GA/src \ + beagle/GP/include \ + beagle/GP/src \ + beagle/Coev/include \ + beagle/Coev/src \ + examples/Coev/coev_symbreg/coev_symbreg \ + examples/Coev/ipd/ipd \ + examples/GA/knapsack/knapsack \ + examples/GA/maxfct/maxfct \ + examples/GA/maxfctes/maxfctes \ + examples/GA/maxfctfloat/maxfctfloat \ + examples/GA/onemax/onemax \ + examples/GA/tsp/tsp \ + examples/GA/zeromin/zeromin \ + examples/GP/parity/parity \ + examples/GP/symbreg/symbreg \ + examples/GP/spambase/spambase + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py + +FILE_PATTERNS = *.hpp \ + *.cpp + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = config.hpp + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem feature) are excluded +# from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. Note that the wildcards are matched +# against the file with absolute path, so to exclude all test directories +# for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = * + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) +# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from +# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will +# link to the source code. Otherwise they will link to the documentstion. + +REFERENCES_LINK_SOURCE = YES + +# If the USE_HTAGS tag is set to YES then the references to source code +# will point to the HTML generated by the htags(1) tool instead of doxygen +# built-in source browser. The htags tool is part of GNU's global source +# tagging system (see http://www.gnu.org/software/global/global.html). You +# will need version 4.8.6 or higher. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = YES + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = YES + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_DEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse +# the parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = refman/pacc/pacc.tag=../../pacc/html \ + refman/symbreg/symbreg.tag=../../symbreg/html + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = refman/beagle/beagle.tag + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note that +# this option is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = YES + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = NO + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for groups, showing the direct groups dependencies + +GROUP_GRAPHS = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a call dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable call graphs for selected +# functions only using the \callgraph command. + +CALL_GRAPH = NO + +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a caller dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable caller graphs for selected +# functions only using the \callergraph command. + +CALLER_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# then doxygen will show the dependencies a directory has on other directories +# in a graphical way. The dependency relations are determined by the #include +# relations between the files in the directories. + +DIRECTORY_GRAPH = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found in the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_WIDTH = 1024 + +# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_HEIGHT = 1024 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes +# that lay further from the root node will be omitted. Note that setting this +# option to 1 or 2 may greatly reduce the computation time needed for large +# code bases. Also note that a graph may be further truncated if the graph's +# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH +# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), +# the graph is not depth-constrained. + +MAX_DOT_GRAPH_DEPTH = 1000 + +# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent +# background. This is disabled by default, which results in a white background. +# Warning: Depending on the platform used, enabling this option may lead to +# badly anti-aliased labels on the edges of a graph (i.e. they become hard to +# read). + +DOT_TRANSPARENT = NO + +# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# files in one run (i.e. multiple -o and -T options on the command line). This +# makes dot run faster, but since only newer versions of dot (>1.8.10) +# support this, this feature is disabled by default. + +DOT_MULTI_TARGETS = NO + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO diff --git a/lib/beagle-3.0.3/INSTALL b/lib/beagle-3.0.3/INSTALL new file mode 100644 index 0000000..e82fd21 --- /dev/null +++ b/lib/beagle-3.0.3/INSTALL @@ -0,0 +1,368 @@ +Installation Instructions +************************* + + Copyright (C) 1994-1996, 1999-2002, 2004-2017, 2020-2021 Free +Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. + +Basic Installation +================== + + Briefly, the shell command './configure && make && make install' +should configure, build, and install this package. The following +more-detailed instructions are generic; see the 'README' file for +instructions specific to this package. Some packages provide this +'INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in *note Makefile Conventions: (standards)Makefile Conventions. + + The 'configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a 'Makefile' in each directory of the package. +It may also create one or more '.h' files containing system-dependent +definitions. Finally, it creates a shell script 'config.status' that +you can run in the future to recreate the current configuration, and a +file 'config.log' containing compiler output (useful mainly for +debugging 'configure'). + + It can also use an optional file (typically called 'config.cache' and +enabled with '--cache-file=config.cache' or simply '-C') that saves the +results of its tests to speed up reconfiguring. Caching is disabled by +default to prevent problems with accidental use of stale cache files. + + If you need to do unusual things to compile the package, please try +to figure out how 'configure' could check whether to do them, and mail +diffs or instructions to the address given in the 'README' so they can +be considered for the next release. If you are using the cache, and at +some point 'config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file 'configure.ac' (or 'configure.in') is used to create +'configure' by a program called 'autoconf'. You need 'configure.ac' if +you want to change it or regenerate 'configure' using a newer version of +'autoconf'. + + The simplest way to compile this package is: + + 1. 'cd' to the directory containing the package's source code and type + './configure' to configure the package for your system. + + Running 'configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type 'make' to compile the package. + + 3. Optionally, type 'make check' to run any self-tests that come with + the package, generally using the just-built uninstalled binaries. + + 4. Type 'make install' to install the programs and any data files and + documentation. When installing into a prefix owned by root, it is + recommended that the package be configured and built as a regular + user, and only the 'make install' phase executed with root + privileges. + + 5. Optionally, type 'make installcheck' to repeat any self-tests, but + this time using the binaries in their final installed location. + This target does not install anything. Running this target as a + regular user, particularly if the prior 'make install' required + root privileges, verifies that the installation completed + correctly. + + 6. You can remove the program binaries and object files from the + source code directory by typing 'make clean'. To also remove the + files that 'configure' created (so you can compile the package for + a different kind of computer), type 'make distclean'. There is + also a 'make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + + 7. Often, you can also type 'make uninstall' to remove the installed + files again. In practice, not all packages have tested that + uninstallation works correctly, even though it is required by the + GNU Coding Standards. + + 8. Some packages, particularly those that use Automake, provide 'make + distcheck', which can by used by developers to test that all other + targets like 'make install' and 'make uninstall' work correctly. + This target is generally not run by end users. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the 'configure' script does not know about. Run './configure --help' +for details on some of the pertinent environment variables. + + You can give 'configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here is +an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU 'make'. 'cd' to the +directory where you want the object files and executables to go and run +the 'configure' script. 'configure' automatically checks for the source +code in the directory that 'configure' is in and in '..'. This is known +as a "VPATH" build. + + With a non-GNU 'make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use 'make distclean' before +reconfiguring for another architecture. + + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple '-arch' options to the +compiler but only a single '-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the 'lipo' tool if you have problems. + +Installation Names +================== + + By default, 'make install' installs the package's commands under +'/usr/local/bin', include files under '/usr/local/include', etc. You +can specify an installation prefix other than '/usr/local' by giving +'configure' the option '--prefix=PREFIX', where PREFIX must be an +absolute file name. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option '--exec-prefix=PREFIX' to 'configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like '--bindir=DIR' to specify different values for particular +kinds of files. Run 'configure --help' for a list of the directories +you can set and what kinds of files go in them. In general, the default +for these options is expressed in terms of '${prefix}', so that +specifying just '--prefix' will affect all of the other directory +specifications that were not explicitly provided. + + The most portable way to affect installation locations is to pass the +correct locations to 'configure'; however, many packages provide one or +both of the following shortcuts of passing variable assignments to the +'make install' command line to change installation locations without +having to reconfigure or recompile. + + The first method involves providing an override variable for each +affected directory. For example, 'make install +prefix=/alternate/directory' will choose an alternate location for all +directory configuration variables that were expressed in terms of +'${prefix}'. Any directories that were specified during 'configure', +but not in terms of '${prefix}', must each be overridden at install time +for the entire installation to be relocated. The approach of makefile +variable overrides for each directory variable is required by the GNU +Coding Standards, and ideally causes no recompilation. However, some +platforms have known limitations with the semantics of shared libraries +that end up requiring recompilation when using this method, particularly +noticeable in packages that use GNU Libtool. + + The second method involves providing the 'DESTDIR' variable. For +example, 'make install DESTDIR=/alternate/directory' will prepend +'/alternate/directory' before all installation names. The approach of +'DESTDIR' overrides is not required by the GNU Coding Standards, and +does not work on platforms that have drive letters. On the other hand, +it does better at avoiding recompilation issues, and works well even +when some directory options were not specified in terms of '${prefix}' +at 'configure' time. + +Optional Features +================= + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving 'configure' the +option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'. + + Some packages pay attention to '--enable-FEATURE' options to +'configure', where FEATURE indicates an optional part of the package. +They may also pay attention to '--with-PACKAGE' options, where PACKAGE +is something like 'gnu-as' or 'x' (for the X Window System). The +'README' should mention any '--enable-' and '--with-' options that the +package recognizes. + + For packages that use the X Window System, 'configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the 'configure' options '--x-includes=DIR' and +'--x-libraries=DIR' to specify their locations. + + Some packages offer the ability to configure how verbose the +execution of 'make' will be. For these packages, running './configure +--enable-silent-rules' sets the default to minimal output, which can be +overridden with 'make V=1'; while running './configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with 'make V=0'. + +Particular systems +================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC +is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: + + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" + +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + HP-UX 'make' updates targets which have the same timestamps as their +prerequisites, which makes it generally unusable when shipped generated +files such as 'configure' are involved. Use GNU 'make' instead. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its '' header file. The option '-nodtk' can be used as a +workaround. If GNU CC is not installed, it is therefore recommended to +try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + + On Solaris, don't put '/usr/ucb' early in your 'PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in '/usr/bin'. So, if you need '/usr/ucb' +in your 'PATH', put it _after_ '/usr/bin'. + + On Haiku, software installed for all users goes in '/boot/common', +not '/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + +Specifying the System Type +========================== + + There may be some features 'configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, 'configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +'--build=TYPE' option. TYPE can either be a short name for the system +type, such as 'sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS + KERNEL-OS + + See the file 'config.sub' for the possible values of each field. If +'config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option '--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with '--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for 'configure' scripts to share, +you can create a site shell script called 'config.site' that gives +default values for variables like 'CC', 'cache_file', and 'prefix'. +'configure' looks for 'PREFIX/share/config.site' if it exists, then +'PREFIX/etc/config.site' if it exists. Or, you can set the +'CONFIG_SITE' environment variable to the location of the site script. +A warning: not all 'configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to 'configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the 'configure' command line, using 'VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified 'gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an +Autoconf limitation. Until the limitation is lifted, you can use this +workaround: + + CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash + +'configure' Invocation +====================== + + 'configure' recognizes the following options to control how it +operates. + +'--help' +'-h' + Print a summary of all of the options to 'configure', and exit. + +'--help=short' +'--help=recursive' + Print a summary of the options unique to this package's + 'configure', and exit. The 'short' variant lists options used only + in the top level, while the 'recursive' variant lists options also + present in any nested packages. + +'--version' +'-V' + Print the version of Autoconf used to generate the 'configure' + script, and exit. + +'--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally 'config.cache'. FILE defaults to '/dev/null' to + disable caching. + +'--config-cache' +'-C' + Alias for '--cache-file=config.cache'. + +'--quiet' +'--silent' +'-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to '/dev/null' (any error + messages will still be shown). + +'--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + 'configure' can determine that directory automatically. + +'--prefix=DIR' + Use DIR as the installation prefix. *note Installation Names:: for + more details, including other options available for fine-tuning the + installation locations. + +'--no-create' +'-n' + Run the configure checks, but stop before creating any output + files. + +'configure' also accepts some other, not widely useful, options. Run +'configure --help' for more details. diff --git a/lib/beagle-3.0.3/MSVCPP/beagle-Coev/beagle-Coev.vcproj b/lib/beagle-3.0.3/MSVCPP/beagle-Coev/beagle-Coev.vcproj new file mode 100644 index 0000000..cea74ce --- /dev/null +++ b/lib/beagle-3.0.3/MSVCPP/beagle-Coev/beagle-Coev.vcproj @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/MSVCPP/beagle-GA/beagle-GA.vcproj b/lib/beagle-3.0.3/MSVCPP/beagle-GA/beagle-GA.vcproj new file mode 100644 index 0000000..3a5a45e --- /dev/null +++ b/lib/beagle-3.0.3/MSVCPP/beagle-GA/beagle-GA.vcproj @@ -0,0 +1,332 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/MSVCPP/beagle-GP/beagle-GP.vcproj b/lib/beagle-3.0.3/MSVCPP/beagle-GP/beagle-GP.vcproj new file mode 100644 index 0000000..022306d --- /dev/null +++ b/lib/beagle-3.0.3/MSVCPP/beagle-GP/beagle-GP.vcproj @@ -0,0 +1,503 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/MSVCPP/beagle.sln b/lib/beagle-3.0.3/MSVCPP/beagle.sln new file mode 100644 index 0000000..1e86675 --- /dev/null +++ b/lib/beagle-3.0.3/MSVCPP/beagle.sln @@ -0,0 +1,218 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "beagle", "beagle\beagle.vcproj", "{EBDD73C0-CF29-4CF7-B512-01588B5A0E4A}" + ProjectSection(ProjectDependencies) = postProject + {3B88558A-B6ED-4D95-A2FC-4F12E9728F1A} = {3B88558A-B6ED-4D95-A2FC-4F12E9728F1A} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "beagle-GA", "beagle-GA\beagle-GA.vcproj", "{FE66E3C2-C905-4BB9-908E-08B10CDCDE1F}" + ProjectSection(ProjectDependencies) = postProject + {EBDD73C0-CF29-4CF7-B512-01588B5A0E4A} = {EBDD73C0-CF29-4CF7-B512-01588B5A0E4A} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "beagle-GP", "beagle-GP\beagle-GP.vcproj", "{95946A6A-77A2-4980-B89A-4A559E1F3E2D}" + ProjectSection(ProjectDependencies) = postProject + {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F} = {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "beagle-Coev", "beagle-Coev\beagle-Coev.vcproj", "{EE3BF113-0DAA-476B-AD01-6C4CD1572E3E}" + ProjectSection(ProjectDependencies) = postProject + {95946A6A-77A2-4980-B89A-4A559E1F3E2D} = {95946A6A-77A2-4980-B89A-4A559E1F3E2D} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pacc-util", "pacc-util\pacc-util.vcproj", "{3619BC8B-BE26-4D7C-8628-290FBB3414D0}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pacc-xml", "pacc-xml\pacc-xml.vcproj", "{4B555707-5C77-4045-B7EE-4C4A50B71EAE}" + ProjectSection(ProjectDependencies) = postProject + {3619BC8B-BE26-4D7C-8628-290FBB3414D0} = {3619BC8B-BE26-4D7C-8628-290FBB3414D0} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pacc-math", "pacc-math\pacc-math.vcproj", "{3B88558A-B6ED-4D95-A2FC-4F12E9728F1A}" + ProjectSection(ProjectDependencies) = postProject + {4B555707-5C77-4045-B7EE-4C4A50B71EAE} = {4B555707-5C77-4045-B7EE-4C4A50B71EAE} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pacc-threading", "pacc-threading\pacc-threading.vcproj", "{E7A18C7D-0DC9-4B36-A146-5CAF1CF3D3DA}" + ProjectSection(ProjectDependencies) = postProject + {3619BC8B-BE26-4D7C-8628-290FBB3414D0} = {3619BC8B-BE26-4D7C-8628-290FBB3414D0} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pacc-socket", "pacc-socket\pacc-socket.vcproj", "{6EE445F9-C3C6-484E-99E8-15571A80FB07}" + ProjectSection(ProjectDependencies) = postProject + {E7A18C7D-0DC9-4B36-A146-5CAF1CF3D3DA} = {E7A18C7D-0DC9-4B36-A146-5CAF1CF3D3DA} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pacc-svg", "pacc-svg\pacc-svg.vcproj", "{5DFBEC1E-D0A6-4DC3-9F36-8EFC2255AC34}" + ProjectSection(ProjectDependencies) = postProject + {4B555707-5C77-4045-B7EE-4C4A50B71EAE} = {4B555707-5C77-4045-B7EE-4C4A50B71EAE} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "symbreg", "..\examples\GP\symbreg\MSVCPP\symbreg\symbreg.vcproj", "{C5842A81-2E5B-48BC-89B7-227D5A955C91}" + ProjectSection(ProjectDependencies) = postProject + {95946A6A-77A2-4980-B89A-4A559E1F3E2D} = {95946A6A-77A2-4980-B89A-4A559E1F3E2D} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "coev_symbreg", "..\examples\Coev\coev_symbreg\MSVCPP\coev_symbreg\coev_symbreg.vcproj", "{A363C856-4CDF-4DC3-A71F-FB3249E79606}" + ProjectSection(ProjectDependencies) = postProject + {EE3BF113-0DAA-476B-AD01-6C4CD1572E3E} = {EE3BF113-0DAA-476B-AD01-6C4CD1572E3E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ipd", "..\examples\Coev\ipd\MSVCPP\ipd\ipd.vcproj", "{B2E49DAD-6920-4903-BFB2-D0F8EF14A806}" + ProjectSection(ProjectDependencies) = postProject + {EE3BF113-0DAA-476B-AD01-6C4CD1572E3E} = {EE3BF113-0DAA-476B-AD01-6C4CD1572E3E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "knapsack", "..\examples\GA\knapsack\MSVCPP\knapsack\knapsack.vcproj", "{653C3BFB-9212-44C4-A909-AC7A8B606C2F}" + ProjectSection(ProjectDependencies) = postProject + {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F} = {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "maxfct", "..\examples\GA\maxfct\MSVCPP\maxfct\maxfct.vcproj", "{377C5B8E-436A-4F72-8383-653EAD7566F1}" + ProjectSection(ProjectDependencies) = postProject + {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F} = {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "maxfctes", "..\examples\GA\maxfctes\MSVCPP\maxfctes\maxfctes.vcproj", "{FCEC200A-88F1-49FB-B95E-B0E505C0F8B0}" + ProjectSection(ProjectDependencies) = postProject + {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F} = {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "maxfctfloat", "..\examples\GA\maxfctfloat\MSVCPP\maxfctfloat\maxfctfloat.vcproj", "{55AD3A8C-EDA5-4793-B521-366B56C04B94}" + ProjectSection(ProjectDependencies) = postProject + {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F} = {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "onemax", "..\examples\GA\onemax\MSVCPP\onemax\onemax.vcproj", "{B8B67564-3A2C-4151-BB76-4CBE25E536A1}" + ProjectSection(ProjectDependencies) = postProject + {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F} = {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tsp", "..\examples\GA\tsp\MSVCPP\tsp\tsp.vcproj", "{D1A92DE4-B0BD-4272-9E63-4DE874A40720}" + ProjectSection(ProjectDependencies) = postProject + {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F} = {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zeromin", "..\examples\GA\zeromin\MSVCPP\zeromin\zeromin.vcproj", "{26462C24-5A49-4F9F-9014-70B0049A4F28}" + ProjectSection(ProjectDependencies) = postProject + {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F} = {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "parity", "..\examples\GP\parity\MSVCPP\parity\parity.vcproj", "{29BA975C-FEE6-4BCC-A4D3-9ACC4634BB8E}" + ProjectSection(ProjectDependencies) = postProject + {95946A6A-77A2-4980-B89A-4A559E1F3E2D} = {95946A6A-77A2-4980-B89A-4A559E1F3E2D} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spambase", "..\examples\GP\spambase\MSVCPP\spambase\spambase.vcproj", "{E7312BC3-DAB2-4B72-B4D1-4D907504A977}" + ProjectSection(ProjectDependencies) = postProject + {95946A6A-77A2-4980-B89A-4A559E1F3E2D} = {95946A6A-77A2-4980-B89A-4A559E1F3E2D} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {EBDD73C0-CF29-4CF7-B512-01588B5A0E4A}.Debug.ActiveCfg = Debug|Win32 + {EBDD73C0-CF29-4CF7-B512-01588B5A0E4A}.Debug.Build.0 = Debug|Win32 + {EBDD73C0-CF29-4CF7-B512-01588B5A0E4A}.Release.ActiveCfg = Release|Win32 + {EBDD73C0-CF29-4CF7-B512-01588B5A0E4A}.Release.Build.0 = Release|Win32 + {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F}.Debug.ActiveCfg = Debug|Win32 + {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F}.Debug.Build.0 = Debug|Win32 + {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F}.Release.ActiveCfg = Release|Win32 + {FE66E3C2-C905-4BB9-908E-08B10CDCDE1F}.Release.Build.0 = Release|Win32 + {95946A6A-77A2-4980-B89A-4A559E1F3E2D}.Debug.ActiveCfg = Debug|Win32 + {95946A6A-77A2-4980-B89A-4A559E1F3E2D}.Debug.Build.0 = Debug|Win32 + {95946A6A-77A2-4980-B89A-4A559E1F3E2D}.Release.ActiveCfg = Release|Win32 + {95946A6A-77A2-4980-B89A-4A559E1F3E2D}.Release.Build.0 = Release|Win32 + {EE3BF113-0DAA-476B-AD01-6C4CD1572E3E}.Debug.ActiveCfg = Debug|Win32 + {EE3BF113-0DAA-476B-AD01-6C4CD1572E3E}.Debug.Build.0 = Debug|Win32 + {EE3BF113-0DAA-476B-AD01-6C4CD1572E3E}.Release.ActiveCfg = Release|Win32 + {EE3BF113-0DAA-476B-AD01-6C4CD1572E3E}.Release.Build.0 = Release|Win32 + {3619BC8B-BE26-4D7C-8628-290FBB3414D0}.Debug.ActiveCfg = Debug|Win32 + {3619BC8B-BE26-4D7C-8628-290FBB3414D0}.Debug.Build.0 = Debug|Win32 + {3619BC8B-BE26-4D7C-8628-290FBB3414D0}.Release.ActiveCfg = Release|Win32 + {3619BC8B-BE26-4D7C-8628-290FBB3414D0}.Release.Build.0 = Release|Win32 + {4B555707-5C77-4045-B7EE-4C4A50B71EAE}.Debug.ActiveCfg = Debug|Win32 + {4B555707-5C77-4045-B7EE-4C4A50B71EAE}.Debug.Build.0 = Debug|Win32 + {4B555707-5C77-4045-B7EE-4C4A50B71EAE}.Release.ActiveCfg = Release|Win32 + {4B555707-5C77-4045-B7EE-4C4A50B71EAE}.Release.Build.0 = Release|Win32 + {3B88558A-B6ED-4D95-A2FC-4F12E9728F1A}.Debug.ActiveCfg = Debug|Win32 + {3B88558A-B6ED-4D95-A2FC-4F12E9728F1A}.Debug.Build.0 = Debug|Win32 + {3B88558A-B6ED-4D95-A2FC-4F12E9728F1A}.Release.ActiveCfg = Release|Win32 + {3B88558A-B6ED-4D95-A2FC-4F12E9728F1A}.Release.Build.0 = Release|Win32 + {E7A18C7D-0DC9-4B36-A146-5CAF1CF3D3DA}.Debug.ActiveCfg = Debug|Win32 + {E7A18C7D-0DC9-4B36-A146-5CAF1CF3D3DA}.Debug.Build.0 = Debug|Win32 + {E7A18C7D-0DC9-4B36-A146-5CAF1CF3D3DA}.Release.ActiveCfg = Release|Win32 + {E7A18C7D-0DC9-4B36-A146-5CAF1CF3D3DA}.Release.Build.0 = Release|Win32 + {6EE445F9-C3C6-484E-99E8-15571A80FB07}.Debug.ActiveCfg = Debug|Win32 + {6EE445F9-C3C6-484E-99E8-15571A80FB07}.Debug.Build.0 = Debug|Win32 + {6EE445F9-C3C6-484E-99E8-15571A80FB07}.Release.ActiveCfg = Release|Win32 + {6EE445F9-C3C6-484E-99E8-15571A80FB07}.Release.Build.0 = Release|Win32 + {5DFBEC1E-D0A6-4DC3-9F36-8EFC2255AC34}.Debug.ActiveCfg = Debug|Win32 + {5DFBEC1E-D0A6-4DC3-9F36-8EFC2255AC34}.Debug.Build.0 = Debug|Win32 + {5DFBEC1E-D0A6-4DC3-9F36-8EFC2255AC34}.Release.ActiveCfg = Release|Win32 + {5DFBEC1E-D0A6-4DC3-9F36-8EFC2255AC34}.Release.Build.0 = Release|Win32 + {C5842A81-2E5B-48BC-89B7-227D5A955C91}.Debug.ActiveCfg = Debug|Win32 + {C5842A81-2E5B-48BC-89B7-227D5A955C91}.Debug.Build.0 = Debug|Win32 + {C5842A81-2E5B-48BC-89B7-227D5A955C91}.Release.ActiveCfg = Release|Win32 + {C5842A81-2E5B-48BC-89B7-227D5A955C91}.Release.Build.0 = Release|Win32 + {A363C856-4CDF-4DC3-A71F-FB3249E79606}.Debug.ActiveCfg = Debug|Win32 + {A363C856-4CDF-4DC3-A71F-FB3249E79606}.Debug.Build.0 = Debug|Win32 + {A363C856-4CDF-4DC3-A71F-FB3249E79606}.Release.ActiveCfg = Release|Win32 + {A363C856-4CDF-4DC3-A71F-FB3249E79606}.Release.Build.0 = Release|Win32 + {B2E49DAD-6920-4903-BFB2-D0F8EF14A806}.Debug.ActiveCfg = Debug|Win32 + {B2E49DAD-6920-4903-BFB2-D0F8EF14A806}.Debug.Build.0 = Debug|Win32 + {B2E49DAD-6920-4903-BFB2-D0F8EF14A806}.Release.ActiveCfg = Release|Win32 + {B2E49DAD-6920-4903-BFB2-D0F8EF14A806}.Release.Build.0 = Release|Win32 + {653C3BFB-9212-44C4-A909-AC7A8B606C2F}.Debug.ActiveCfg = Debug|Win32 + {653C3BFB-9212-44C4-A909-AC7A8B606C2F}.Debug.Build.0 = Debug|Win32 + {653C3BFB-9212-44C4-A909-AC7A8B606C2F}.Release.ActiveCfg = Release|Win32 + {653C3BFB-9212-44C4-A909-AC7A8B606C2F}.Release.Build.0 = Release|Win32 + {377C5B8E-436A-4F72-8383-653EAD7566F1}.Debug.ActiveCfg = Debug|Win32 + {377C5B8E-436A-4F72-8383-653EAD7566F1}.Debug.Build.0 = Debug|Win32 + {377C5B8E-436A-4F72-8383-653EAD7566F1}.Release.ActiveCfg = Release|Win32 + {377C5B8E-436A-4F72-8383-653EAD7566F1}.Release.Build.0 = Release|Win32 + {FCEC200A-88F1-49FB-B95E-B0E505C0F8B0}.Debug.ActiveCfg = Debug|Win32 + {FCEC200A-88F1-49FB-B95E-B0E505C0F8B0}.Debug.Build.0 = Debug|Win32 + {FCEC200A-88F1-49FB-B95E-B0E505C0F8B0}.Release.ActiveCfg = Release|Win32 + {FCEC200A-88F1-49FB-B95E-B0E505C0F8B0}.Release.Build.0 = Release|Win32 + {55AD3A8C-EDA5-4793-B521-366B56C04B94}.Debug.ActiveCfg = Debug|Win32 + {55AD3A8C-EDA5-4793-B521-366B56C04B94}.Debug.Build.0 = Debug|Win32 + {55AD3A8C-EDA5-4793-B521-366B56C04B94}.Release.ActiveCfg = Release|Win32 + {55AD3A8C-EDA5-4793-B521-366B56C04B94}.Release.Build.0 = Release|Win32 + {B8B67564-3A2C-4151-BB76-4CBE25E536A1}.Debug.ActiveCfg = Debug|Win32 + {B8B67564-3A2C-4151-BB76-4CBE25E536A1}.Debug.Build.0 = Debug|Win32 + {B8B67564-3A2C-4151-BB76-4CBE25E536A1}.Release.ActiveCfg = Release|Win32 + {B8B67564-3A2C-4151-BB76-4CBE25E536A1}.Release.Build.0 = Release|Win32 + {D1A92DE4-B0BD-4272-9E63-4DE874A40720}.Debug.ActiveCfg = Debug|Win32 + {D1A92DE4-B0BD-4272-9E63-4DE874A40720}.Debug.Build.0 = Debug|Win32 + {D1A92DE4-B0BD-4272-9E63-4DE874A40720}.Release.ActiveCfg = Release|Win32 + {D1A92DE4-B0BD-4272-9E63-4DE874A40720}.Release.Build.0 = Release|Win32 + {26462C24-5A49-4F9F-9014-70B0049A4F28}.Debug.ActiveCfg = Debug|Win32 + {26462C24-5A49-4F9F-9014-70B0049A4F28}.Debug.Build.0 = Debug|Win32 + {26462C24-5A49-4F9F-9014-70B0049A4F28}.Release.ActiveCfg = Release|Win32 + {26462C24-5A49-4F9F-9014-70B0049A4F28}.Release.Build.0 = Release|Win32 + {29BA975C-FEE6-4BCC-A4D3-9ACC4634BB8E}.Debug.ActiveCfg = Debug|Win32 + {29BA975C-FEE6-4BCC-A4D3-9ACC4634BB8E}.Debug.Build.0 = Debug|Win32 + {29BA975C-FEE6-4BCC-A4D3-9ACC4634BB8E}.Release.ActiveCfg = Release|Win32 + {29BA975C-FEE6-4BCC-A4D3-9ACC4634BB8E}.Release.Build.0 = Release|Win32 + {E7312BC3-DAB2-4B72-B4D1-4D907504A977}.Debug.ActiveCfg = Debug|Win32 + {E7312BC3-DAB2-4B72-B4D1-4D907504A977}.Debug.Build.0 = Debug|Win32 + {E7312BC3-DAB2-4B72-B4D1-4D907504A977}.Release.ActiveCfg = Release|Win32 + {E7312BC3-DAB2-4B72-B4D1-4D907504A977}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionItems) = postSolution + ..\ChangeLog = ..\ChangeLog + ..\COPYING.LIB = ..\COPYING.LIB + ..\INSTALL = ..\INSTALL + ..\NEWS = ..\NEWS + ..\README = ..\README + ..\TODO = ..\TODO + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/lib/beagle-3.0.3/MSVCPP/beagle.suo b/lib/beagle-3.0.3/MSVCPP/beagle.suo new file mode 100644 index 0000000..6c81fe1 Binary files /dev/null and b/lib/beagle-3.0.3/MSVCPP/beagle.suo differ diff --git a/lib/beagle-3.0.3/MSVCPP/beagle/beagle.vcproj b/lib/beagle-3.0.3/MSVCPP/beagle/beagle.vcproj new file mode 100644 index 0000000..979b1e6 --- /dev/null +++ b/lib/beagle-3.0.3/MSVCPP/beagle/beagle.vcproj @@ -0,0 +1,728 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/MSVCPP/pacc-math/pacc-math.vcproj b/lib/beagle-3.0.3/MSVCPP/pacc-math/pacc-math.vcproj new file mode 100644 index 0000000..3e68767 --- /dev/null +++ b/lib/beagle-3.0.3/MSVCPP/pacc-math/pacc-math.vcproj @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/MSVCPP/pacc-socket/pacc-socket.vcproj b/lib/beagle-3.0.3/MSVCPP/pacc-socket/pacc-socket.vcproj new file mode 100644 index 0000000..2a7a234 --- /dev/null +++ b/lib/beagle-3.0.3/MSVCPP/pacc-socket/pacc-socket.vcproj @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/MSVCPP/pacc-svg/pacc-svg.vcproj b/lib/beagle-3.0.3/MSVCPP/pacc-svg/pacc-svg.vcproj new file mode 100644 index 0000000..055d666 --- /dev/null +++ b/lib/beagle-3.0.3/MSVCPP/pacc-svg/pacc-svg.vcproj @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/MSVCPP/pacc-threading/pacc-threading.vcproj b/lib/beagle-3.0.3/MSVCPP/pacc-threading/pacc-threading.vcproj new file mode 100644 index 0000000..e192dd4 --- /dev/null +++ b/lib/beagle-3.0.3/MSVCPP/pacc-threading/pacc-threading.vcproj @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/MSVCPP/pacc-util/pacc-util.vcproj b/lib/beagle-3.0.3/MSVCPP/pacc-util/pacc-util.vcproj new file mode 100644 index 0000000..4254744 --- /dev/null +++ b/lib/beagle-3.0.3/MSVCPP/pacc-util/pacc-util.vcproj @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/MSVCPP/pacc-xml/pacc-xml.vcproj b/lib/beagle-3.0.3/MSVCPP/pacc-xml/pacc-xml.vcproj new file mode 100644 index 0000000..24ed510 --- /dev/null +++ b/lib/beagle-3.0.3/MSVCPP/pacc-xml/pacc-xml.vcproj @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/Makefile b/lib/beagle-3.0.3/Makefile new file mode 100644 index 0000000..70ff277 --- /dev/null +++ b/lib/beagle-3.0.3/Makefile @@ -0,0 +1,1382 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(am__DIST_COMMON) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + cscope distdir distdir-am dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/compile \ + $(top_srcdir)/config/config-h.in \ + $(top_srcdir)/config/config.guess \ + $(top_srcdir)/config/config.sub \ + $(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \ + $(top_srcdir)/config/missing \ + $(top_srcdir)/config/mkinstalldirs AUTHORS COPYING.LIB \ + ChangeLog INSTALL NEWS README TODO config/compile \ + config/config.guess config/config.sub config/install-sh \ + config/ltmain.sh config/missing config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip +GZIP_ENV = --best +DIST_TARGETS = dist-gzip dist-zip +# Exists only to be overridden by the user if desired. +AM_DISTCHECK_DVI_TARGET = dvi +distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +distcleancheck_listfiles = find . -type f -print +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = +top_builddir = . +top_srcdir = . +AUTOMAKE_OPTIONS = dist-zip +SUBDIRS = PACC beagle tests +EXTRA_DIST = \ +bootstrap \ +beagle.xsd \ +beagle.kdevelop \ +beagle.lsm \ +Doxyfile \ +Makefile.cvs \ +reconfigure \ +config/config.guess \ +config/config.sub \ +config/depcomp \ +config/install-sh \ +config/ltmain.sh \ +config/missing \ +config/mkinstalldirs \ +examples/Coev/coev_symbreg/acinclude.m4 \ +examples/Coev/coev_symbreg/aclocal.m4 \ +examples/Coev/coev_symbreg/bootstrap \ +examples/Coev/coev_symbreg/configure \ +examples/Coev/coev_symbreg/configure.ac \ +examples/Coev/coev_symbreg/Makefile.am \ +examples/Coev/coev_symbreg/Makefile.cvs \ +examples/Coev/coev_symbreg/Makefile.in \ +examples/Coev/coev_symbreg/AUTHORS \ +examples/Coev/coev_symbreg/COPYING \ +examples/Coev/coev_symbreg/INSTALL \ +examples/Coev/coev_symbreg/README \ +examples/Coev/coev_symbreg/coev_symbreg.kdevelop \ +examples/Coev/coev_symbreg/config/config.guess \ +examples/Coev/coev_symbreg/config/config.sub \ +examples/Coev/coev_symbreg/config/depcomp \ +examples/Coev/coev_symbreg/config/install-sh \ +examples/Coev/coev_symbreg/config/ltmain.sh \ +examples/Coev/coev_symbreg/config/missing \ +examples/Coev/coev_symbreg/coev_symbreg/Makefile.am \ +examples/Coev/coev_symbreg/coev_symbreg/Makefile.in \ +examples/Coev/coev_symbreg/coev_symbreg/config.hpp.in \ +examples/Coev/coev_symbreg/coev_symbreg/CoevSymbregMain.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/CoSymEvalOp.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/CoSymEvalOp.hpp \ +examples/Coev/coev_symbreg/coev_symbreg/SymGPEvalOp.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/SymGPEvalOp.hpp \ +examples/Coev/coev_symbreg/coev_symbreg/SymGPThread.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/SymGPThread.hpp \ +examples/Coev/coev_symbreg/coev_symbreg/TrainSetEvalOp.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/TrainSetEvalOp.hpp \ +examples/Coev/coev_symbreg/coev_symbreg/TrainSetThread.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/TrainSetThread.hpp \ +examples/Coev/coev_symbreg/coev_symbreg/symgp-thread.conf \ +examples/Coev/coev_symbreg/coev_symbreg/trainset-thread.conf \ +examples/Coev/coev_symbreg/templates/cpp \ +examples/Coev/coev_symbreg/templates/hpp \ +examples/Coev/coev_symbreg/MSVCPP/coev_symbreg.sln \ +examples/Coev/coev_symbreg/MSVCPP/coev_symbreg.suo \ +examples/Coev/coev_symbreg/MSVCPP/coev_symbreg/coev_symbreg.vcproj \ +examples/Coev/ipd/acinclude.m4 \ +examples/Coev/ipd/aclocal.m4 \ +examples/Coev/ipd/bootstrap \ +examples/Coev/ipd/configure \ +examples/Coev/ipd/configure.ac \ +examples/Coev/ipd/Makefile.am \ +examples/Coev/ipd/Makefile.cvs \ +examples/Coev/ipd/Makefile.in \ +examples/Coev/ipd/AUTHORS \ +examples/Coev/ipd/COPYING \ +examples/Coev/ipd/INSTALL \ +examples/Coev/ipd/README \ +examples/Coev/ipd/ipd.kdevelop \ +examples/Coev/ipd/config/config.guess \ +examples/Coev/ipd/config/config.sub \ +examples/Coev/ipd/config/depcomp \ +examples/Coev/ipd/config/install-sh \ +examples/Coev/ipd/config/ltmain.sh \ +examples/Coev/ipd/config/missing \ +examples/Coev/ipd/ipd/Makefile.am \ +examples/Coev/ipd/ipd/Makefile.in \ +examples/Coev/ipd/ipd/config.hpp.in \ +examples/Coev/ipd/ipd/IPDEvalOp.cpp \ +examples/Coev/ipd/ipd/IPDEvalOp.hpp \ +examples/Coev/ipd/ipd/IPDMain.cpp \ +examples/Coev/ipd/ipd/IPDThread.cpp \ +examples/Coev/ipd/ipd/IPDThread.hpp \ +examples/Coev/ipd/ipd/ipd-thread1.conf \ +examples/Coev/ipd/ipd/ipd-thread2.conf \ +examples/Coev/ipd/templates/cpp \ +examples/Coev/ipd/templates/hpp \ +examples/Coev/ipd/MSVCPP/ipd.sln \ +examples/Coev/ipd/MSVCPP/ipd.suo \ +examples/Coev/ipd/MSVCPP/ipd/ipd.vcproj \ +examples/GA/knapsack/acinclude.m4 \ +examples/GA/knapsack/aclocal.m4 \ +examples/GA/knapsack/bootstrap \ +examples/GA/knapsack/configure \ +examples/GA/knapsack/configure.ac \ +examples/GA/knapsack/Makefile.am \ +examples/GA/knapsack/Makefile.cvs \ +examples/GA/knapsack/Makefile.in \ +examples/GA/knapsack/AUTHORS \ +examples/GA/knapsack/COPYING \ +examples/GA/knapsack/INSTALL \ +examples/GA/knapsack/README \ +examples/GA/knapsack/knapsack.kdevelop \ +examples/GA/knapsack/config/config.guess \ +examples/GA/knapsack/config/config.sub \ +examples/GA/knapsack/config/depcomp \ +examples/GA/knapsack/config/install-sh \ +examples/GA/knapsack/config/ltmain.sh \ +examples/GA/knapsack/config/missing \ +examples/GA/knapsack/knapsack/Makefile.am \ +examples/GA/knapsack/knapsack/Makefile.in \ +examples/GA/knapsack/knapsack/config.hpp.in \ +examples/GA/knapsack/knapsack/KnapsackEvalOp.cpp \ +examples/GA/knapsack/knapsack/KnapsackEvalOp.hpp \ +examples/GA/knapsack/knapsack/KnapsackMain.cpp \ +examples/GA/knapsack/knapsack/knapsack.conf \ +examples/GA/knapsack/knapsack/knapsack-npga2.conf \ +examples/GA/knapsack/knapsack/knapsack-nsga2.conf \ +examples/GA/knapsack/knapsack/knapsack-nsga2-non-breeder.conf \ +examples/GA/knapsack/templates/cpp \ +examples/GA/knapsack/templates/hpp \ +examples/GA/knapsack/MSVCPP/knapsack.sln \ +examples/GA/knapsack/MSVCPP/knapsack.suo \ +examples/GA/knapsack/MSVCPP/knapsack/knapsack.vcproj \ +examples/GA/maxfct/acinclude.m4 \ +examples/GA/maxfct/aclocal.m4 \ +examples/GA/maxfct/bootstrap \ +examples/GA/maxfct/configure \ +examples/GA/maxfct/configure.ac \ +examples/GA/maxfct/Makefile.am \ +examples/GA/maxfct/Makefile.cvs \ +examples/GA/maxfct/Makefile.in \ +examples/GA/maxfct/AUTHORS \ +examples/GA/maxfct/COPYING \ +examples/GA/maxfct/INSTALL \ +examples/GA/maxfct/README \ +examples/GA/maxfct/maxfct.kdevelop \ +examples/GA/maxfct/config/config.guess \ +examples/GA/maxfct/config/config.sub \ +examples/GA/maxfct/config/depcomp \ +examples/GA/maxfct/config/install-sh \ +examples/GA/maxfct/config/ltmain.sh \ +examples/GA/maxfct/config/missing \ +examples/GA/maxfct/maxfct/Makefile.am \ +examples/GA/maxfct/maxfct/Makefile.in \ +examples/GA/maxfct/maxfct/config.hpp.in \ +examples/GA/maxfct/maxfct/MaxFctEvalOp.cpp \ +examples/GA/maxfct/maxfct/MaxFctEvalOp.hpp \ +examples/GA/maxfct/maxfct/MaxFctMain.cpp \ +examples/GA/maxfct/maxfct/maxfct.conf \ +examples/GA/maxfct/maxfct/maxfct-generational.conf \ +examples/GA/maxfct/maxfct/maxfct-steadystate.conf \ +examples/GA/maxfct/templates/cpp \ +examples/GA/maxfct/templates/hpp \ +examples/GA/maxfct/MSVCPP/maxfct.sln \ +examples/GA/maxfct/MSVCPP/maxfct.suo \ +examples/GA/maxfct/MSVCPP/maxfct/maxfct.vcproj \ +examples/GA/maxfctes/acinclude.m4 \ +examples/GA/maxfctes/aclocal.m4 \ +examples/GA/maxfctes/bootstrap \ +examples/GA/maxfctes/configure \ +examples/GA/maxfctes/configure.ac \ +examples/GA/maxfctes/Makefile.am \ +examples/GA/maxfctes/Makefile.cvs \ +examples/GA/maxfctes/Makefile.in \ +examples/GA/maxfctes/AUTHORS \ +examples/GA/maxfctes/COPYING \ +examples/GA/maxfctes/INSTALL \ +examples/GA/maxfctes/README \ +examples/GA/maxfctes/maxfctes.kdevelop \ +examples/GA/maxfctes/config/config.guess \ +examples/GA/maxfctes/config/config.sub \ +examples/GA/maxfctes/config/depcomp \ +examples/GA/maxfctes/config/install-sh \ +examples/GA/maxfctes/config/ltmain.sh \ +examples/GA/maxfctes/config/missing \ +examples/GA/maxfctes/maxfctes/Makefile.am \ +examples/GA/maxfctes/maxfctes/Makefile.in \ +examples/GA/maxfctes/maxfctes/config.hpp.in \ +examples/GA/maxfctes/maxfctes/MaxFctESEvalOp.cpp \ +examples/GA/maxfctes/maxfctes/MaxFctESEvalOp.hpp \ +examples/GA/maxfctes/maxfctes/MaxFctESMain.cpp \ +examples/GA/maxfctes/maxfctes/maxfctes.conf \ +examples/GA/maxfctes/maxfctes/maxfctes-comma.conf \ +examples/GA/maxfctes/maxfctes/maxfctes-plus.conf \ +examples/GA/maxfctes/maxfctes/maxfctes-comma-non-breeder.conf \ +examples/GA/maxfctes/maxfctes/maxfctes-plus-non-breeder.conf \ +examples/GA/maxfctes/templates/cpp \ +examples/GA/maxfctes/templates/hpp \ +examples/GA/maxfctes/MSVCPP/maxfctes.sln \ +examples/GA/maxfctes/MSVCPP/maxfctes.suo \ +examples/GA/maxfctes/MSVCPP/maxfctes/maxfctes.vcproj \ +examples/GA/maxfctfloat/acinclude.m4 \ +examples/GA/maxfctfloat/aclocal.m4 \ +examples/GA/maxfctfloat/bootstrap \ +examples/GA/maxfctfloat/configure \ +examples/GA/maxfctfloat/configure.ac \ +examples/GA/maxfctfloat/Makefile.am \ +examples/GA/maxfctfloat/Makefile.cvs \ +examples/GA/maxfctfloat/Makefile.in \ +examples/GA/maxfctfloat/AUTHORS \ +examples/GA/maxfctfloat/COPYING \ +examples/GA/maxfctfloat/INSTALL \ +examples/GA/maxfctfloat/README \ +examples/GA/maxfctfloat/maxfctfloat.kdevelop \ +examples/GA/maxfctfloat/config/config.guess \ +examples/GA/maxfctfloat/config/config.sub \ +examples/GA/maxfctfloat/config/depcomp \ +examples/GA/maxfctfloat/config/install-sh \ +examples/GA/maxfctfloat/config/ltmain.sh \ +examples/GA/maxfctfloat/config/missing \ +examples/GA/maxfctfloat/maxfctfloat/Makefile.am \ +examples/GA/maxfctfloat/maxfctfloat/Makefile.in \ +examples/GA/maxfctfloat/maxfctfloat/config.hpp.in \ +examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatEvalOp.cpp \ +examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatEvalOp.hpp \ +examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatMain.cpp \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat.conf \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-cmaes.conf \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-cmaes-non-breeder.conf \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-generational.conf \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-sbx.conf \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-steadystate.conf \ +examples/GA/maxfctfloat/templates/cpp \ +examples/GA/maxfctfloat/templates/hpp \ +examples/GA/maxfctfloat/MSVCPP/maxfctfloat.sln \ +examples/GA/maxfctfloat/MSVCPP/maxfctfloat.suo \ +examples/GA/maxfctfloat/MSVCPP/maxfctfloat/maxfctfloat.vcproj \ +examples/GA/onemax/acinclude.m4 \ +examples/GA/onemax/aclocal.m4 \ +examples/GA/onemax/bootstrap \ +examples/GA/onemax/configure \ +examples/GA/onemax/configure.ac \ +examples/GA/onemax/Makefile.am \ +examples/GA/onemax/Makefile.cvs \ +examples/GA/onemax/Makefile.in \ +examples/GA/onemax/AUTHORS \ +examples/GA/onemax/COPYING \ +examples/GA/onemax/INSTALL \ +examples/GA/onemax/README \ +examples/GA/onemax/onemax.kdevelop \ +examples/GA/onemax/config/config.guess \ +examples/GA/onemax/config/config.sub \ +examples/GA/onemax/config/depcomp \ +examples/GA/onemax/config/install-sh \ +examples/GA/onemax/config/ltmain.sh \ +examples/GA/onemax/config/missing \ +examples/GA/onemax/onemax/Makefile.am \ +examples/GA/onemax/onemax/Makefile.in \ +examples/GA/onemax/onemax/config.hpp.in \ +examples/GA/onemax/onemax/OneMaxEvalOp.cpp \ +examples/GA/onemax/onemax/OneMaxEvalOp.hpp \ +examples/GA/onemax/onemax/OneMaxMain.cpp \ +examples/GA/onemax/onemax/onemax.conf \ +examples/GA/onemax/onemax/onemax-generational.conf \ +examples/GA/onemax/onemax/onemax-steadystate.conf \ +examples/GA/onemax/templates/cpp \ +examples/GA/onemax/templates/hpp \ +examples/GA/onemax/MSVCPP/onemax.sln \ +examples/GA/onemax/MSVCPP/onemax.suo \ +examples/GA/onemax/MSVCPP/onemax/onemax.vcproj \ +examples/GA/tsp/acinclude.m4 \ +examples/GA/tsp/aclocal.m4 \ +examples/GA/tsp/bootstrap \ +examples/GA/tsp/configure \ +examples/GA/tsp/configure.ac \ +examples/GA/tsp/Makefile.am \ +examples/GA/tsp/Makefile.cvs \ +examples/GA/tsp/Makefile.in \ +examples/GA/tsp/AUTHORS \ +examples/GA/tsp/COPYING \ +examples/GA/tsp/INSTALL \ +examples/GA/tsp/README \ +examples/GA/tsp/tsp.kdevelop \ +examples/GA/tsp/config/config.guess \ +examples/GA/tsp/config/config.sub \ +examples/GA/tsp/config/depcomp \ +examples/GA/tsp/config/install-sh \ +examples/GA/tsp/config/ltmain.sh \ +examples/GA/tsp/config/missing \ +examples/GA/tsp/tsp/Makefile.am \ +examples/GA/tsp/tsp/Makefile.in \ +examples/GA/tsp/tsp/config.hpp.in \ +examples/GA/tsp/tsp/TSPEvalOp.cpp \ +examples/GA/tsp/tsp/TSPEvalOp.hpp \ +examples/GA/tsp/tsp/TSPMain.cpp \ +examples/GA/tsp/tsp/tsp.conf \ +examples/GA/tsp/templates/cpp \ +examples/GA/tsp/templates/hpp \ +examples/GA/tsp/MSVCPP/tsp.sln \ +examples/GA/tsp/MSVCPP/tsp.suo \ +examples/GA/tsp/MSVCPP/tsp/tsp.vcproj \ +examples/GA/zeromin/acinclude.m4 \ +examples/GA/zeromin/aclocal.m4 \ +examples/GA/zeromin/bootstrap \ +examples/GA/zeromin/configure \ +examples/GA/zeromin/configure.ac \ +examples/GA/zeromin/Makefile.am \ +examples/GA/zeromin/Makefile.cvs \ +examples/GA/zeromin/Makefile.in \ +examples/GA/zeromin/AUTHORS \ +examples/GA/zeromin/COPYING \ +examples/GA/zeromin/INSTALL \ +examples/GA/zeromin/README \ +examples/GA/zeromin/zeromin.kdevelop \ +examples/GA/zeromin/config/config.guess \ +examples/GA/zeromin/config/config.sub \ +examples/GA/zeromin/config/depcomp \ +examples/GA/zeromin/config/install-sh \ +examples/GA/zeromin/config/ltmain.sh \ +examples/GA/zeromin/config/missing \ +examples/GA/zeromin/templates/cpp \ +examples/GA/zeromin/templates/hpp \ +examples/GA/zeromin/zeromin/Makefile.am \ +examples/GA/zeromin/zeromin/Makefile.in \ +examples/GA/zeromin/zeromin/config.hpp.in \ +examples/GA/zeromin/zeromin/ZeroMinEvalOp.cpp \ +examples/GA/zeromin/zeromin/ZeroMinEvalOp.hpp \ +examples/GA/zeromin/zeromin/ZeroMinMain.cpp \ +examples/GA/zeromin/zeromin/zeromin.conf \ +examples/GA/zeromin/zeromin/zeromin-generational.conf \ +examples/GA/zeromin/zeromin/zeromin-steadystate.conf \ +examples/GA/zeromin/MSVCPP/zeromin.sln \ +examples/GA/zeromin/MSVCPP/zeromin.suo \ +examples/GA/zeromin/MSVCPP/zeromin/zeromin.vcproj \ +examples/GP/symbreg/acinclude.m4 \ +examples/GP/symbreg/aclocal.m4 \ +examples/GP/symbreg/bootstrap \ +examples/GP/symbreg/configure \ +examples/GP/symbreg/configure.ac \ +examples/GP/symbreg/Makefile.am \ +examples/GP/symbreg/Makefile.cvs \ +examples/GP/symbreg/Makefile.in \ +examples/GP/symbreg/AUTHORS \ +examples/GP/symbreg/COPYING \ +examples/GP/symbreg/INSTALL \ +examples/GP/symbreg/README \ +examples/GP/symbreg/symbreg.kdevelop \ +examples/GP/symbreg/config/config.guess \ +examples/GP/symbreg/config/config.sub \ +examples/GP/symbreg/config/depcomp \ +examples/GP/symbreg/config/install-sh \ +examples/GP/symbreg/config/ltmain.sh \ +examples/GP/symbreg/config/missing \ +examples/GP/symbreg/MSVCPP/symbreg.sln \ +examples/GP/symbreg/MSVCPP/symbreg.suo \ +examples/GP/symbreg/MSVCPP/symbreg/symbreg.vcproj \ +examples/GP/symbreg/symbreg/Makefile.am \ +examples/GP/symbreg/symbreg/Makefile.in \ +examples/GP/symbreg/symbreg/config.hpp.in \ +examples/GP/symbreg/symbreg/SymbRegEvalOp.cpp \ +examples/GP/symbreg/symbreg/SymbRegEvalOp.hpp \ +examples/GP/symbreg/symbreg/SymbRegMain.cpp \ +examples/GP/symbreg/symbreg/symbreg.conf \ +examples/GP/symbreg/symbreg/symbreg-generational.conf \ +examples/GP/symbreg/symbreg/symbreg-steadystate.conf \ +examples/GP/symbreg/symbreg/symbreg-adfs.conf \ +examples/GP/symbreg/symbreg/symbreg-ema.conf \ +examples/GP/symbreg/symbreg/symbreg-hfc.conf \ +examples/GP/symbreg/templates/cpp \ +examples/GP/symbreg/templates/hpp \ +examples/GP/parity/acinclude.m4 \ +examples/GP/parity/aclocal.m4 \ +examples/GP/parity/bootstrap \ +examples/GP/parity/configure \ +examples/GP/parity/configure.ac \ +examples/GP/parity/Makefile.am \ +examples/GP/parity/Makefile.cvs \ +examples/GP/parity/Makefile.in \ +examples/GP/parity/AUTHORS \ +examples/GP/parity/COPYING \ +examples/GP/parity/INSTALL \ +examples/GP/parity/README \ +examples/GP/parity/parity.kdevelop \ +examples/GP/parity/config/config.guess \ +examples/GP/parity/config/config.sub \ +examples/GP/parity/config/depcomp \ +examples/GP/parity/config/install-sh \ +examples/GP/parity/config/ltmain.sh \ +examples/GP/parity/config/missing \ +examples/GP/parity/MSVCPP/parity.sln \ +examples/GP/parity/MSVCPP/parity.suo \ +examples/GP/parity/MSVCPP/parity/parity.vcproj \ +examples/GP/parity/parity/Makefile.am \ +examples/GP/parity/parity/Makefile.in \ +examples/GP/parity/parity/config.hpp.in \ +examples/GP/parity/parity/ParityEvalOp.cpp \ +examples/GP/parity/parity/ParityEvalOp.hpp \ +examples/GP/parity/parity/ParityMain.cpp \ +examples/GP/parity/parity/parity.conf \ +examples/GP/parity/parity/parity-generational.conf \ +examples/GP/parity/parity/parity-steadystate.conf \ +examples/GP/parity/parity/parity-elitism.conf \ +examples/GP/parity/parity/parity-adfs.conf \ +examples/GP/parity/parity/parity-ema.conf \ +examples/GP/parity/templates/cpp \ +examples/GP/parity/templates/hpp \ +examples/GP/spambase/acinclude.m4 \ +examples/GP/spambase/aclocal.m4 \ +examples/GP/spambase/bootstrap \ +examples/GP/spambase/configure \ +examples/GP/spambase/configure.ac \ +examples/GP/spambase/Makefile.am \ +examples/GP/spambase/Makefile.cvs \ +examples/GP/spambase/Makefile.in \ +examples/GP/spambase/AUTHORS \ +examples/GP/spambase/COPYING \ +examples/GP/spambase/INSTALL \ +examples/GP/spambase/README \ +examples/GP/spambase/spambase.kdevelop \ +examples/GP/spambase/config/config.guess \ +examples/GP/spambase/config/config.sub \ +examples/GP/spambase/config/depcomp \ +examples/GP/spambase/config/install-sh \ +examples/GP/spambase/config/ltmain.sh \ +examples/GP/spambase/config/missing \ +examples/GP/spambase/MSVCPP/spambase.sln \ +examples/GP/spambase/MSVCPP/spambase.suo \ +examples/GP/spambase/MSVCPP/spambase/spambase.vcproj \ +examples/GP/spambase/spambase/Makefile.am \ +examples/GP/spambase/spambase/Makefile.in \ +examples/GP/spambase/spambase/config.hpp.in \ +examples/GP/spambase/spambase/EphemeralPercent.cpp \ +examples/GP/spambase/spambase/EphemeralPercent.hpp \ +examples/GP/spambase/spambase/EqualTo.cpp \ +examples/GP/spambase/spambase/EqualTo.hpp \ +examples/GP/spambase/spambase/IfThenElse.cpp \ +examples/GP/spambase/spambase/IfThenElse.hpp \ +examples/GP/spambase/spambase/LessThan.cpp \ +examples/GP/spambase/spambase/LessThan.hpp \ +examples/GP/spambase/spambase/SpambaseEvalOp.cpp \ +examples/GP/spambase/spambase/SpambaseEvalOp.hpp \ +examples/GP/spambase/spambase/SpambaseMain.cpp \ +examples/GP/spambase/spambase/spambase.conf \ +examples/GP/spambase/spambase/spambase-generational.conf \ +examples/GP/spambase/spambase/spambase-steadystate.conf \ +examples/GP/spambase/spambase/spambase.cldist \ +examples/GP/spambase/spambase/spambase.data \ +examples/GP/spambase/spambase/spambase.info \ +examples/GP/spambase/spambase/spambase.names \ +examples/GP/spambase/templates/cpp \ +examples/GP/spambase/templates/hpp \ +m4/ac_cxx_bool.m4 \ +m4/ac_cxx_complex_math_in_namespace_std.m4 \ +m4/ac_cxx_const_cast.m4 \ +m4/ac_cxx_default_template_parameters.m4 \ +m4/ac_cxx_dynamic_cast.m4 \ +m4/ac_cxx_exceptions.m4 \ +m4/ac_cxx_explicit.m4 \ +m4/ac_cxx_have_ext_hash_map.m4 \ +m4/ac_cxx_have_ext_hash_set.m4 \ +m4/ac_cxx_have_numeric_limits.m4 \ +m4/ac_cxx_have_sstream.m4 \ +m4/ac_cxx_have_std.m4 \ +m4/ac_cxx_have_stl.m4 \ +m4/ac_cxx_namespaces.m4 \ +m4/ac_cxx_new_for_scoping.m4 \ +m4/ac_cxx_reinterpret_cast.m4 \ +m4/ac_cxx_rtti.m4 \ +m4/ac_cxx_static_cast.m4 \ +m4/ac_cxx_template_qualified_base_class.m4 \ +m4/ac_cxx_template_qualified_return_type.m4 \ +m4/ac_cxx_template_scoped_argument_matching.m4 \ +m4/ac_cxx_templates.m4 \ +m4/ac_cxx_typename.m4 \ +m4/acx_pthread.m4 \ +m4/ax_prefix_config_h.m4 \ +m4/check_zlib.m4 \ +m4/ob_cxx_have_isinfinite.m4 \ +m4/ob_cxx_long_long.m4 \ +m4/ob_have_hash_map.m4 \ +m4/ob_have_hash_set.m4 \ +MSVCPP/beagle.sln \ +MSVCPP/beagle.suo \ +MSVCPP/beagle/beagle.vcproj \ +MSVCPP/beagle-GA/beagle-GA.vcproj \ +MSVCPP/beagle-GP/beagle-GP.vcproj \ +MSVCPP/beagle-Coev/beagle-Coev.vcproj \ +MSVCPP/pacc-util/pacc-util.vcproj \ +MSVCPP/pacc-xml/pacc-xml.vcproj \ +MSVCPP/pacc-math/pacc-math.vcproj \ +MSVCPP/pacc-threading/pacc-threading.vcproj \ +MSVCPP/pacc-socket/pacc-socket.vcproj \ +MSVCPP/pacc-svg/pacc-svg.vcproj \ +PACC/Doxyfile \ +templates/cpp \ +templates/hpp + +all: all-recursive + +.SUFFIXES: +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +config/config-h: config/stamp-h1 + @test -f $@ || rm -f config/stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) config/stamp-h1 + +config/stamp-h1: $(top_srcdir)/config/config-h.in $(top_builddir)/config.status + @rm -f config/stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config/config-h +$(top_srcdir)/config/config-h.in: $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f config/stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config/config-h config/stamp-h1 + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool config.lt + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: + -rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz + $(am__post_remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) + +dist-zstd: distdir + tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst + $(am__post_remove_distdir) + +dist-tarZ: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__post_remove_distdir) + +dist-shar: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz + $(am__post_remove_distdir) +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__post_remove_distdir) + +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + *.tar.zst*) \ + zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ + esac + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build/sub \ + && ../../configure \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=../.. --prefix="$$dc_install_base" \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__post_remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr \ + distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--refresh check check-am clean clean-cscope clean-generic \ + clean-libtool cscope cscopelist-am ctags ctags-am dist \ + dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ + dist-xz dist-zip dist-zstd distcheck distclean \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + +doc: + rm -rf refman + rm -rf PACC/refman + mkdir -p refman/pacc + cd PACC && ln -s ../refman/pacc refman && doxygen Doxyfile + mkdir -p refman/beagle + doxygen Doxyfile + echo "" > refman/index.html + +distdoc: + $(MAKE) $(AM_MAKEFLAGS) doc + rm -rf beagle-refmanual-3.0.3-html beagle-refmanual-3.0.3-html.tar.gz beagle-refmanual-3.0.3-html.zip + cp -r refman beagle-refmanual-3.0.3-html + tar zcvf beagle-refmanual-3.0.3-html.tar.gz beagle-refmanual-3.0.3-html + zip -r beagle-refmanual-3.0.3-html.zip beagle-refmanual-3.0.3-html + rm -rf beagle-refmanual-3.0.3-html + +example: + cd examples/Coev/coev_symbreg && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/Coev/ipd && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/knapsack && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/maxfct && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/maxfctes && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/maxfctfloat && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/onemax && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/tsp && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/zeromin && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GP/parity && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GP/spambase && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GP/symbreg && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + +pch: + rm -f beagle/include/beagle/Beagle.hpp.gch beagle/GA/include/beagle/GA.hpp.gch beagle/GP/include/beagle/GP.hpp.gch beagle/Coev/include/beagle/Coev.hpp.gch + cd beagle/Coev/include/beagle && $(MAKE) $(AM_MAKEFLAGS) pch + cd beagle/GP/include/beagle && $(MAKE) $(AM_MAKEFLAGS) pch + cd beagle/GA/include/beagle && $(MAKE) $(AM_MAKEFLAGS) pch + cd beagle/include/beagle && $(MAKE) $(AM_MAKEFLAGS) pch + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/Makefile.am b/lib/beagle-3.0.3/Makefile.am new file mode 100644 index 0000000..c7b7da1 --- /dev/null +++ b/lib/beagle-3.0.3/Makefile.am @@ -0,0 +1,528 @@ +doc: + rm -rf refman + rm -rf PACC/refman + mkdir -p refman/pacc + cd PACC && ln -s ../refman/pacc refman && doxygen Doxyfile + mkdir -p refman/beagle + doxygen Doxyfile + echo "" > refman/index.html + +distdoc: + $(MAKE) $(AM_MAKEFLAGS) doc + rm -rf beagle-refmanual-@VERSION@-html beagle-refmanual-@VERSION@-html.tar.gz beagle-refmanual-@VERSION@-html.zip + cp -r refman beagle-refmanual-@VERSION@-html + tar zcvf beagle-refmanual-@VERSION@-html.tar.gz beagle-refmanual-@VERSION@-html + zip -r beagle-refmanual-@VERSION@-html.zip beagle-refmanual-@VERSION@-html + rm -rf beagle-refmanual-@VERSION@-html + +example: + cd examples/Coev/coev_symbreg && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/Coev/ipd && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/knapsack && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/maxfct && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/maxfctes && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/maxfctfloat && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/onemax && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/tsp && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/zeromin && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GP/parity && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GP/spambase && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GP/symbreg && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + +pch: + rm -f beagle/include/beagle/Beagle.hpp.gch beagle/GA/include/beagle/GA.hpp.gch beagle/GP/include/beagle/GP.hpp.gch beagle/Coev/include/beagle/Coev.hpp.gch + cd beagle/Coev/include/beagle && $(MAKE) $(AM_MAKEFLAGS) pch + cd beagle/GP/include/beagle && $(MAKE) $(AM_MAKEFLAGS) pch + cd beagle/GA/include/beagle && $(MAKE) $(AM_MAKEFLAGS) pch + cd beagle/include/beagle && $(MAKE) $(AM_MAKEFLAGS) pch + +AUTOMAKE_OPTIONS=dist-zip +SUBDIRS = PACC beagle tests +EXTRA_DIST = \ +bootstrap \ +beagle.xsd \ +beagle.kdevelop \ +beagle.lsm \ +Doxyfile \ +Makefile.cvs \ +reconfigure \ +config/config.guess \ +config/config.sub \ +config/depcomp \ +config/install-sh \ +config/ltmain.sh \ +config/missing \ +config/mkinstalldirs \ +examples/Coev/coev_symbreg/acinclude.m4 \ +examples/Coev/coev_symbreg/aclocal.m4 \ +examples/Coev/coev_symbreg/bootstrap \ +examples/Coev/coev_symbreg/configure \ +examples/Coev/coev_symbreg/configure.ac \ +examples/Coev/coev_symbreg/Makefile.am \ +examples/Coev/coev_symbreg/Makefile.cvs \ +examples/Coev/coev_symbreg/Makefile.in \ +examples/Coev/coev_symbreg/AUTHORS \ +examples/Coev/coev_symbreg/COPYING \ +examples/Coev/coev_symbreg/INSTALL \ +examples/Coev/coev_symbreg/README \ +examples/Coev/coev_symbreg/coev_symbreg.kdevelop \ +examples/Coev/coev_symbreg/config/config.guess \ +examples/Coev/coev_symbreg/config/config.sub \ +examples/Coev/coev_symbreg/config/depcomp \ +examples/Coev/coev_symbreg/config/install-sh \ +examples/Coev/coev_symbreg/config/ltmain.sh \ +examples/Coev/coev_symbreg/config/missing \ +examples/Coev/coev_symbreg/coev_symbreg/Makefile.am \ +examples/Coev/coev_symbreg/coev_symbreg/Makefile.in \ +examples/Coev/coev_symbreg/coev_symbreg/config.hpp.in \ +examples/Coev/coev_symbreg/coev_symbreg/CoevSymbregMain.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/CoSymEvalOp.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/CoSymEvalOp.hpp \ +examples/Coev/coev_symbreg/coev_symbreg/SymGPEvalOp.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/SymGPEvalOp.hpp \ +examples/Coev/coev_symbreg/coev_symbreg/SymGPThread.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/SymGPThread.hpp \ +examples/Coev/coev_symbreg/coev_symbreg/TrainSetEvalOp.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/TrainSetEvalOp.hpp \ +examples/Coev/coev_symbreg/coev_symbreg/TrainSetThread.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/TrainSetThread.hpp \ +examples/Coev/coev_symbreg/coev_symbreg/symgp-thread.conf \ +examples/Coev/coev_symbreg/coev_symbreg/trainset-thread.conf \ +examples/Coev/coev_symbreg/templates/cpp \ +examples/Coev/coev_symbreg/templates/hpp \ +examples/Coev/coev_symbreg/MSVCPP/coev_symbreg.sln \ +examples/Coev/coev_symbreg/MSVCPP/coev_symbreg.suo \ +examples/Coev/coev_symbreg/MSVCPP/coev_symbreg/coev_symbreg.vcproj \ +examples/Coev/ipd/acinclude.m4 \ +examples/Coev/ipd/aclocal.m4 \ +examples/Coev/ipd/bootstrap \ +examples/Coev/ipd/configure \ +examples/Coev/ipd/configure.ac \ +examples/Coev/ipd/Makefile.am \ +examples/Coev/ipd/Makefile.cvs \ +examples/Coev/ipd/Makefile.in \ +examples/Coev/ipd/AUTHORS \ +examples/Coev/ipd/COPYING \ +examples/Coev/ipd/INSTALL \ +examples/Coev/ipd/README \ +examples/Coev/ipd/ipd.kdevelop \ +examples/Coev/ipd/config/config.guess \ +examples/Coev/ipd/config/config.sub \ +examples/Coev/ipd/config/depcomp \ +examples/Coev/ipd/config/install-sh \ +examples/Coev/ipd/config/ltmain.sh \ +examples/Coev/ipd/config/missing \ +examples/Coev/ipd/ipd/Makefile.am \ +examples/Coev/ipd/ipd/Makefile.in \ +examples/Coev/ipd/ipd/config.hpp.in \ +examples/Coev/ipd/ipd/IPDEvalOp.cpp \ +examples/Coev/ipd/ipd/IPDEvalOp.hpp \ +examples/Coev/ipd/ipd/IPDMain.cpp \ +examples/Coev/ipd/ipd/IPDThread.cpp \ +examples/Coev/ipd/ipd/IPDThread.hpp \ +examples/Coev/ipd/ipd/ipd-thread1.conf \ +examples/Coev/ipd/ipd/ipd-thread2.conf \ +examples/Coev/ipd/templates/cpp \ +examples/Coev/ipd/templates/hpp \ +examples/Coev/ipd/MSVCPP/ipd.sln \ +examples/Coev/ipd/MSVCPP/ipd.suo \ +examples/Coev/ipd/MSVCPP/ipd/ipd.vcproj \ +examples/GA/knapsack/acinclude.m4 \ +examples/GA/knapsack/aclocal.m4 \ +examples/GA/knapsack/bootstrap \ +examples/GA/knapsack/configure \ +examples/GA/knapsack/configure.ac \ +examples/GA/knapsack/Makefile.am \ +examples/GA/knapsack/Makefile.cvs \ +examples/GA/knapsack/Makefile.in \ +examples/GA/knapsack/AUTHORS \ +examples/GA/knapsack/COPYING \ +examples/GA/knapsack/INSTALL \ +examples/GA/knapsack/README \ +examples/GA/knapsack/knapsack.kdevelop \ +examples/GA/knapsack/config/config.guess \ +examples/GA/knapsack/config/config.sub \ +examples/GA/knapsack/config/depcomp \ +examples/GA/knapsack/config/install-sh \ +examples/GA/knapsack/config/ltmain.sh \ +examples/GA/knapsack/config/missing \ +examples/GA/knapsack/knapsack/Makefile.am \ +examples/GA/knapsack/knapsack/Makefile.in \ +examples/GA/knapsack/knapsack/config.hpp.in \ +examples/GA/knapsack/knapsack/KnapsackEvalOp.cpp \ +examples/GA/knapsack/knapsack/KnapsackEvalOp.hpp \ +examples/GA/knapsack/knapsack/KnapsackMain.cpp \ +examples/GA/knapsack/knapsack/knapsack.conf \ +examples/GA/knapsack/knapsack/knapsack-npga2.conf \ +examples/GA/knapsack/knapsack/knapsack-nsga2.conf \ +examples/GA/knapsack/knapsack/knapsack-nsga2-non-breeder.conf \ +examples/GA/knapsack/templates/cpp \ +examples/GA/knapsack/templates/hpp \ +examples/GA/knapsack/MSVCPP/knapsack.sln \ +examples/GA/knapsack/MSVCPP/knapsack.suo \ +examples/GA/knapsack/MSVCPP/knapsack/knapsack.vcproj \ +examples/GA/maxfct/acinclude.m4 \ +examples/GA/maxfct/aclocal.m4 \ +examples/GA/maxfct/bootstrap \ +examples/GA/maxfct/configure \ +examples/GA/maxfct/configure.ac \ +examples/GA/maxfct/Makefile.am \ +examples/GA/maxfct/Makefile.cvs \ +examples/GA/maxfct/Makefile.in \ +examples/GA/maxfct/AUTHORS \ +examples/GA/maxfct/COPYING \ +examples/GA/maxfct/INSTALL \ +examples/GA/maxfct/README \ +examples/GA/maxfct/maxfct.kdevelop \ +examples/GA/maxfct/config/config.guess \ +examples/GA/maxfct/config/config.sub \ +examples/GA/maxfct/config/depcomp \ +examples/GA/maxfct/config/install-sh \ +examples/GA/maxfct/config/ltmain.sh \ +examples/GA/maxfct/config/missing \ +examples/GA/maxfct/maxfct/Makefile.am \ +examples/GA/maxfct/maxfct/Makefile.in \ +examples/GA/maxfct/maxfct/config.hpp.in \ +examples/GA/maxfct/maxfct/MaxFctEvalOp.cpp \ +examples/GA/maxfct/maxfct/MaxFctEvalOp.hpp \ +examples/GA/maxfct/maxfct/MaxFctMain.cpp \ +examples/GA/maxfct/maxfct/maxfct.conf \ +examples/GA/maxfct/maxfct/maxfct-generational.conf \ +examples/GA/maxfct/maxfct/maxfct-steadystate.conf \ +examples/GA/maxfct/templates/cpp \ +examples/GA/maxfct/templates/hpp \ +examples/GA/maxfct/MSVCPP/maxfct.sln \ +examples/GA/maxfct/MSVCPP/maxfct.suo \ +examples/GA/maxfct/MSVCPP/maxfct/maxfct.vcproj \ +examples/GA/maxfctes/acinclude.m4 \ +examples/GA/maxfctes/aclocal.m4 \ +examples/GA/maxfctes/bootstrap \ +examples/GA/maxfctes/configure \ +examples/GA/maxfctes/configure.ac \ +examples/GA/maxfctes/Makefile.am \ +examples/GA/maxfctes/Makefile.cvs \ +examples/GA/maxfctes/Makefile.in \ +examples/GA/maxfctes/AUTHORS \ +examples/GA/maxfctes/COPYING \ +examples/GA/maxfctes/INSTALL \ +examples/GA/maxfctes/README \ +examples/GA/maxfctes/maxfctes.kdevelop \ +examples/GA/maxfctes/config/config.guess \ +examples/GA/maxfctes/config/config.sub \ +examples/GA/maxfctes/config/depcomp \ +examples/GA/maxfctes/config/install-sh \ +examples/GA/maxfctes/config/ltmain.sh \ +examples/GA/maxfctes/config/missing \ +examples/GA/maxfctes/maxfctes/Makefile.am \ +examples/GA/maxfctes/maxfctes/Makefile.in \ +examples/GA/maxfctes/maxfctes/config.hpp.in \ +examples/GA/maxfctes/maxfctes/MaxFctESEvalOp.cpp \ +examples/GA/maxfctes/maxfctes/MaxFctESEvalOp.hpp \ +examples/GA/maxfctes/maxfctes/MaxFctESMain.cpp \ +examples/GA/maxfctes/maxfctes/maxfctes.conf \ +examples/GA/maxfctes/maxfctes/maxfctes-comma.conf \ +examples/GA/maxfctes/maxfctes/maxfctes-plus.conf \ +examples/GA/maxfctes/maxfctes/maxfctes-comma-non-breeder.conf \ +examples/GA/maxfctes/maxfctes/maxfctes-plus-non-breeder.conf \ +examples/GA/maxfctes/templates/cpp \ +examples/GA/maxfctes/templates/hpp \ +examples/GA/maxfctes/MSVCPP/maxfctes.sln \ +examples/GA/maxfctes/MSVCPP/maxfctes.suo \ +examples/GA/maxfctes/MSVCPP/maxfctes/maxfctes.vcproj \ +examples/GA/maxfctfloat/acinclude.m4 \ +examples/GA/maxfctfloat/aclocal.m4 \ +examples/GA/maxfctfloat/bootstrap \ +examples/GA/maxfctfloat/configure \ +examples/GA/maxfctfloat/configure.ac \ +examples/GA/maxfctfloat/Makefile.am \ +examples/GA/maxfctfloat/Makefile.cvs \ +examples/GA/maxfctfloat/Makefile.in \ +examples/GA/maxfctfloat/AUTHORS \ +examples/GA/maxfctfloat/COPYING \ +examples/GA/maxfctfloat/INSTALL \ +examples/GA/maxfctfloat/README \ +examples/GA/maxfctfloat/maxfctfloat.kdevelop \ +examples/GA/maxfctfloat/config/config.guess \ +examples/GA/maxfctfloat/config/config.sub \ +examples/GA/maxfctfloat/config/depcomp \ +examples/GA/maxfctfloat/config/install-sh \ +examples/GA/maxfctfloat/config/ltmain.sh \ +examples/GA/maxfctfloat/config/missing \ +examples/GA/maxfctfloat/maxfctfloat/Makefile.am \ +examples/GA/maxfctfloat/maxfctfloat/Makefile.in \ +examples/GA/maxfctfloat/maxfctfloat/config.hpp.in \ +examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatEvalOp.cpp \ +examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatEvalOp.hpp \ +examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatMain.cpp \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat.conf \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-cmaes.conf \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-cmaes-non-breeder.conf \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-generational.conf \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-sbx.conf \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-steadystate.conf \ +examples/GA/maxfctfloat/templates/cpp \ +examples/GA/maxfctfloat/templates/hpp \ +examples/GA/maxfctfloat/MSVCPP/maxfctfloat.sln \ +examples/GA/maxfctfloat/MSVCPP/maxfctfloat.suo \ +examples/GA/maxfctfloat/MSVCPP/maxfctfloat/maxfctfloat.vcproj \ +examples/GA/onemax/acinclude.m4 \ +examples/GA/onemax/aclocal.m4 \ +examples/GA/onemax/bootstrap \ +examples/GA/onemax/configure \ +examples/GA/onemax/configure.ac \ +examples/GA/onemax/Makefile.am \ +examples/GA/onemax/Makefile.cvs \ +examples/GA/onemax/Makefile.in \ +examples/GA/onemax/AUTHORS \ +examples/GA/onemax/COPYING \ +examples/GA/onemax/INSTALL \ +examples/GA/onemax/README \ +examples/GA/onemax/onemax.kdevelop \ +examples/GA/onemax/config/config.guess \ +examples/GA/onemax/config/config.sub \ +examples/GA/onemax/config/depcomp \ +examples/GA/onemax/config/install-sh \ +examples/GA/onemax/config/ltmain.sh \ +examples/GA/onemax/config/missing \ +examples/GA/onemax/onemax/Makefile.am \ +examples/GA/onemax/onemax/Makefile.in \ +examples/GA/onemax/onemax/config.hpp.in \ +examples/GA/onemax/onemax/OneMaxEvalOp.cpp \ +examples/GA/onemax/onemax/OneMaxEvalOp.hpp \ +examples/GA/onemax/onemax/OneMaxMain.cpp \ +examples/GA/onemax/onemax/onemax.conf \ +examples/GA/onemax/onemax/onemax-generational.conf \ +examples/GA/onemax/onemax/onemax-steadystate.conf \ +examples/GA/onemax/templates/cpp \ +examples/GA/onemax/templates/hpp \ +examples/GA/onemax/MSVCPP/onemax.sln \ +examples/GA/onemax/MSVCPP/onemax.suo \ +examples/GA/onemax/MSVCPP/onemax/onemax.vcproj \ +examples/GA/tsp/acinclude.m4 \ +examples/GA/tsp/aclocal.m4 \ +examples/GA/tsp/bootstrap \ +examples/GA/tsp/configure \ +examples/GA/tsp/configure.ac \ +examples/GA/tsp/Makefile.am \ +examples/GA/tsp/Makefile.cvs \ +examples/GA/tsp/Makefile.in \ +examples/GA/tsp/AUTHORS \ +examples/GA/tsp/COPYING \ +examples/GA/tsp/INSTALL \ +examples/GA/tsp/README \ +examples/GA/tsp/tsp.kdevelop \ +examples/GA/tsp/config/config.guess \ +examples/GA/tsp/config/config.sub \ +examples/GA/tsp/config/depcomp \ +examples/GA/tsp/config/install-sh \ +examples/GA/tsp/config/ltmain.sh \ +examples/GA/tsp/config/missing \ +examples/GA/tsp/tsp/Makefile.am \ +examples/GA/tsp/tsp/Makefile.in \ +examples/GA/tsp/tsp/config.hpp.in \ +examples/GA/tsp/tsp/TSPEvalOp.cpp \ +examples/GA/tsp/tsp/TSPEvalOp.hpp \ +examples/GA/tsp/tsp/TSPMain.cpp \ +examples/GA/tsp/tsp/tsp.conf \ +examples/GA/tsp/templates/cpp \ +examples/GA/tsp/templates/hpp \ +examples/GA/tsp/MSVCPP/tsp.sln \ +examples/GA/tsp/MSVCPP/tsp.suo \ +examples/GA/tsp/MSVCPP/tsp/tsp.vcproj \ +examples/GA/zeromin/acinclude.m4 \ +examples/GA/zeromin/aclocal.m4 \ +examples/GA/zeromin/bootstrap \ +examples/GA/zeromin/configure \ +examples/GA/zeromin/configure.ac \ +examples/GA/zeromin/Makefile.am \ +examples/GA/zeromin/Makefile.cvs \ +examples/GA/zeromin/Makefile.in \ +examples/GA/zeromin/AUTHORS \ +examples/GA/zeromin/COPYING \ +examples/GA/zeromin/INSTALL \ +examples/GA/zeromin/README \ +examples/GA/zeromin/zeromin.kdevelop \ +examples/GA/zeromin/config/config.guess \ +examples/GA/zeromin/config/config.sub \ +examples/GA/zeromin/config/depcomp \ +examples/GA/zeromin/config/install-sh \ +examples/GA/zeromin/config/ltmain.sh \ +examples/GA/zeromin/config/missing \ +examples/GA/zeromin/templates/cpp \ +examples/GA/zeromin/templates/hpp \ +examples/GA/zeromin/zeromin/Makefile.am \ +examples/GA/zeromin/zeromin/Makefile.in \ +examples/GA/zeromin/zeromin/config.hpp.in \ +examples/GA/zeromin/zeromin/ZeroMinEvalOp.cpp \ +examples/GA/zeromin/zeromin/ZeroMinEvalOp.hpp \ +examples/GA/zeromin/zeromin/ZeroMinMain.cpp \ +examples/GA/zeromin/zeromin/zeromin.conf \ +examples/GA/zeromin/zeromin/zeromin-generational.conf \ +examples/GA/zeromin/zeromin/zeromin-steadystate.conf \ +examples/GA/zeromin/MSVCPP/zeromin.sln \ +examples/GA/zeromin/MSVCPP/zeromin.suo \ +examples/GA/zeromin/MSVCPP/zeromin/zeromin.vcproj \ +examples/GP/symbreg/acinclude.m4 \ +examples/GP/symbreg/aclocal.m4 \ +examples/GP/symbreg/bootstrap \ +examples/GP/symbreg/configure \ +examples/GP/symbreg/configure.ac \ +examples/GP/symbreg/Makefile.am \ +examples/GP/symbreg/Makefile.cvs \ +examples/GP/symbreg/Makefile.in \ +examples/GP/symbreg/AUTHORS \ +examples/GP/symbreg/COPYING \ +examples/GP/symbreg/INSTALL \ +examples/GP/symbreg/README \ +examples/GP/symbreg/symbreg.kdevelop \ +examples/GP/symbreg/config/config.guess \ +examples/GP/symbreg/config/config.sub \ +examples/GP/symbreg/config/depcomp \ +examples/GP/symbreg/config/install-sh \ +examples/GP/symbreg/config/ltmain.sh \ +examples/GP/symbreg/config/missing \ +examples/GP/symbreg/MSVCPP/symbreg.sln \ +examples/GP/symbreg/MSVCPP/symbreg.suo \ +examples/GP/symbreg/MSVCPP/symbreg/symbreg.vcproj \ +examples/GP/symbreg/symbreg/Makefile.am \ +examples/GP/symbreg/symbreg/Makefile.in \ +examples/GP/symbreg/symbreg/config.hpp.in \ +examples/GP/symbreg/symbreg/SymbRegEvalOp.cpp \ +examples/GP/symbreg/symbreg/SymbRegEvalOp.hpp \ +examples/GP/symbreg/symbreg/SymbRegMain.cpp \ +examples/GP/symbreg/symbreg/symbreg.conf \ +examples/GP/symbreg/symbreg/symbreg-generational.conf \ +examples/GP/symbreg/symbreg/symbreg-steadystate.conf \ +examples/GP/symbreg/symbreg/symbreg-adfs.conf \ +examples/GP/symbreg/symbreg/symbreg-ema.conf \ +examples/GP/symbreg/symbreg/symbreg-hfc.conf \ +examples/GP/symbreg/templates/cpp \ +examples/GP/symbreg/templates/hpp \ +examples/GP/parity/acinclude.m4 \ +examples/GP/parity/aclocal.m4 \ +examples/GP/parity/bootstrap \ +examples/GP/parity/configure \ +examples/GP/parity/configure.ac \ +examples/GP/parity/Makefile.am \ +examples/GP/parity/Makefile.cvs \ +examples/GP/parity/Makefile.in \ +examples/GP/parity/AUTHORS \ +examples/GP/parity/COPYING \ +examples/GP/parity/INSTALL \ +examples/GP/parity/README \ +examples/GP/parity/parity.kdevelop \ +examples/GP/parity/config/config.guess \ +examples/GP/parity/config/config.sub \ +examples/GP/parity/config/depcomp \ +examples/GP/parity/config/install-sh \ +examples/GP/parity/config/ltmain.sh \ +examples/GP/parity/config/missing \ +examples/GP/parity/MSVCPP/parity.sln \ +examples/GP/parity/MSVCPP/parity.suo \ +examples/GP/parity/MSVCPP/parity/parity.vcproj \ +examples/GP/parity/parity/Makefile.am \ +examples/GP/parity/parity/Makefile.in \ +examples/GP/parity/parity/config.hpp.in \ +examples/GP/parity/parity/ParityEvalOp.cpp \ +examples/GP/parity/parity/ParityEvalOp.hpp \ +examples/GP/parity/parity/ParityMain.cpp \ +examples/GP/parity/parity/parity.conf \ +examples/GP/parity/parity/parity-generational.conf \ +examples/GP/parity/parity/parity-steadystate.conf \ +examples/GP/parity/parity/parity-elitism.conf \ +examples/GP/parity/parity/parity-adfs.conf \ +examples/GP/parity/parity/parity-ema.conf \ +examples/GP/parity/templates/cpp \ +examples/GP/parity/templates/hpp \ +examples/GP/spambase/acinclude.m4 \ +examples/GP/spambase/aclocal.m4 \ +examples/GP/spambase/bootstrap \ +examples/GP/spambase/configure \ +examples/GP/spambase/configure.ac \ +examples/GP/spambase/Makefile.am \ +examples/GP/spambase/Makefile.cvs \ +examples/GP/spambase/Makefile.in \ +examples/GP/spambase/AUTHORS \ +examples/GP/spambase/COPYING \ +examples/GP/spambase/INSTALL \ +examples/GP/spambase/README \ +examples/GP/spambase/spambase.kdevelop \ +examples/GP/spambase/config/config.guess \ +examples/GP/spambase/config/config.sub \ +examples/GP/spambase/config/depcomp \ +examples/GP/spambase/config/install-sh \ +examples/GP/spambase/config/ltmain.sh \ +examples/GP/spambase/config/missing \ +examples/GP/spambase/MSVCPP/spambase.sln \ +examples/GP/spambase/MSVCPP/spambase.suo \ +examples/GP/spambase/MSVCPP/spambase/spambase.vcproj \ +examples/GP/spambase/spambase/Makefile.am \ +examples/GP/spambase/spambase/Makefile.in \ +examples/GP/spambase/spambase/config.hpp.in \ +examples/GP/spambase/spambase/EphemeralPercent.cpp \ +examples/GP/spambase/spambase/EphemeralPercent.hpp \ +examples/GP/spambase/spambase/EqualTo.cpp \ +examples/GP/spambase/spambase/EqualTo.hpp \ +examples/GP/spambase/spambase/IfThenElse.cpp \ +examples/GP/spambase/spambase/IfThenElse.hpp \ +examples/GP/spambase/spambase/LessThan.cpp \ +examples/GP/spambase/spambase/LessThan.hpp \ +examples/GP/spambase/spambase/SpambaseEvalOp.cpp \ +examples/GP/spambase/spambase/SpambaseEvalOp.hpp \ +examples/GP/spambase/spambase/SpambaseMain.cpp \ +examples/GP/spambase/spambase/spambase.conf \ +examples/GP/spambase/spambase/spambase-generational.conf \ +examples/GP/spambase/spambase/spambase-steadystate.conf \ +examples/GP/spambase/spambase/spambase.cldist \ +examples/GP/spambase/spambase/spambase.data \ +examples/GP/spambase/spambase/spambase.info \ +examples/GP/spambase/spambase/spambase.names \ +examples/GP/spambase/templates/cpp \ +examples/GP/spambase/templates/hpp \ +m4/ac_cxx_bool.m4 \ +m4/ac_cxx_complex_math_in_namespace_std.m4 \ +m4/ac_cxx_const_cast.m4 \ +m4/ac_cxx_default_template_parameters.m4 \ +m4/ac_cxx_dynamic_cast.m4 \ +m4/ac_cxx_exceptions.m4 \ +m4/ac_cxx_explicit.m4 \ +m4/ac_cxx_have_ext_hash_map.m4 \ +m4/ac_cxx_have_ext_hash_set.m4 \ +m4/ac_cxx_have_numeric_limits.m4 \ +m4/ac_cxx_have_sstream.m4 \ +m4/ac_cxx_have_std.m4 \ +m4/ac_cxx_have_stl.m4 \ +m4/ac_cxx_namespaces.m4 \ +m4/ac_cxx_new_for_scoping.m4 \ +m4/ac_cxx_reinterpret_cast.m4 \ +m4/ac_cxx_rtti.m4 \ +m4/ac_cxx_static_cast.m4 \ +m4/ac_cxx_template_qualified_base_class.m4 \ +m4/ac_cxx_template_qualified_return_type.m4 \ +m4/ac_cxx_template_scoped_argument_matching.m4 \ +m4/ac_cxx_templates.m4 \ +m4/ac_cxx_typename.m4 \ +m4/acx_pthread.m4 \ +m4/ax_prefix_config_h.m4 \ +m4/check_zlib.m4 \ +m4/ob_cxx_have_isinfinite.m4 \ +m4/ob_cxx_long_long.m4 \ +m4/ob_have_hash_map.m4 \ +m4/ob_have_hash_set.m4 \ +MSVCPP/beagle.sln \ +MSVCPP/beagle.suo \ +MSVCPP/beagle/beagle.vcproj \ +MSVCPP/beagle-GA/beagle-GA.vcproj \ +MSVCPP/beagle-GP/beagle-GP.vcproj \ +MSVCPP/beagle-Coev/beagle-Coev.vcproj \ +MSVCPP/pacc-util/pacc-util.vcproj \ +MSVCPP/pacc-xml/pacc-xml.vcproj \ +MSVCPP/pacc-math/pacc-math.vcproj \ +MSVCPP/pacc-threading/pacc-threading.vcproj \ +MSVCPP/pacc-socket/pacc-socket.vcproj \ +MSVCPP/pacc-svg/pacc-svg.vcproj \ +PACC/Doxyfile \ +templates/cpp \ +templates/hpp + + diff --git a/lib/beagle-3.0.3/Makefile.cvs b/lib/beagle-3.0.3/Makefile.cvs new file mode 100644 index 0000000..925be9f --- /dev/null +++ b/lib/beagle-3.0.3/Makefile.cvs @@ -0,0 +1,4 @@ +SHELL = /bin/sh + +all: + ${SHELL} ./bootstrap diff --git a/lib/beagle-3.0.3/Makefile.in b/lib/beagle-3.0.3/Makefile.in new file mode 100644 index 0000000..7e6d40d --- /dev/null +++ b/lib/beagle-3.0.3/Makefile.in @@ -0,0 +1,1382 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(am__DIST_COMMON) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + cscope distdir distdir-am dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/compile \ + $(top_srcdir)/config/config-h.in \ + $(top_srcdir)/config/config.guess \ + $(top_srcdir)/config/config.sub \ + $(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \ + $(top_srcdir)/config/missing \ + $(top_srcdir)/config/mkinstalldirs AUTHORS COPYING.LIB \ + ChangeLog INSTALL NEWS README TODO config/compile \ + config/config.guess config/config.sub config/install-sh \ + config/ltmain.sh config/missing config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip +GZIP_ENV = --best +DIST_TARGETS = dist-gzip dist-zip +# Exists only to be overridden by the user if desired. +AM_DISTCHECK_DVI_TARGET = dvi +distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +AUTOMAKE_OPTIONS = dist-zip +SUBDIRS = PACC beagle tests +EXTRA_DIST = \ +bootstrap \ +beagle.xsd \ +beagle.kdevelop \ +beagle.lsm \ +Doxyfile \ +Makefile.cvs \ +reconfigure \ +config/config.guess \ +config/config.sub \ +config/depcomp \ +config/install-sh \ +config/ltmain.sh \ +config/missing \ +config/mkinstalldirs \ +examples/Coev/coev_symbreg/acinclude.m4 \ +examples/Coev/coev_symbreg/aclocal.m4 \ +examples/Coev/coev_symbreg/bootstrap \ +examples/Coev/coev_symbreg/configure \ +examples/Coev/coev_symbreg/configure.ac \ +examples/Coev/coev_symbreg/Makefile.am \ +examples/Coev/coev_symbreg/Makefile.cvs \ +examples/Coev/coev_symbreg/Makefile.in \ +examples/Coev/coev_symbreg/AUTHORS \ +examples/Coev/coev_symbreg/COPYING \ +examples/Coev/coev_symbreg/INSTALL \ +examples/Coev/coev_symbreg/README \ +examples/Coev/coev_symbreg/coev_symbreg.kdevelop \ +examples/Coev/coev_symbreg/config/config.guess \ +examples/Coev/coev_symbreg/config/config.sub \ +examples/Coev/coev_symbreg/config/depcomp \ +examples/Coev/coev_symbreg/config/install-sh \ +examples/Coev/coev_symbreg/config/ltmain.sh \ +examples/Coev/coev_symbreg/config/missing \ +examples/Coev/coev_symbreg/coev_symbreg/Makefile.am \ +examples/Coev/coev_symbreg/coev_symbreg/Makefile.in \ +examples/Coev/coev_symbreg/coev_symbreg/config.hpp.in \ +examples/Coev/coev_symbreg/coev_symbreg/CoevSymbregMain.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/CoSymEvalOp.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/CoSymEvalOp.hpp \ +examples/Coev/coev_symbreg/coev_symbreg/SymGPEvalOp.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/SymGPEvalOp.hpp \ +examples/Coev/coev_symbreg/coev_symbreg/SymGPThread.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/SymGPThread.hpp \ +examples/Coev/coev_symbreg/coev_symbreg/TrainSetEvalOp.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/TrainSetEvalOp.hpp \ +examples/Coev/coev_symbreg/coev_symbreg/TrainSetThread.cpp \ +examples/Coev/coev_symbreg/coev_symbreg/TrainSetThread.hpp \ +examples/Coev/coev_symbreg/coev_symbreg/symgp-thread.conf \ +examples/Coev/coev_symbreg/coev_symbreg/trainset-thread.conf \ +examples/Coev/coev_symbreg/templates/cpp \ +examples/Coev/coev_symbreg/templates/hpp \ +examples/Coev/coev_symbreg/MSVCPP/coev_symbreg.sln \ +examples/Coev/coev_symbreg/MSVCPP/coev_symbreg.suo \ +examples/Coev/coev_symbreg/MSVCPP/coev_symbreg/coev_symbreg.vcproj \ +examples/Coev/ipd/acinclude.m4 \ +examples/Coev/ipd/aclocal.m4 \ +examples/Coev/ipd/bootstrap \ +examples/Coev/ipd/configure \ +examples/Coev/ipd/configure.ac \ +examples/Coev/ipd/Makefile.am \ +examples/Coev/ipd/Makefile.cvs \ +examples/Coev/ipd/Makefile.in \ +examples/Coev/ipd/AUTHORS \ +examples/Coev/ipd/COPYING \ +examples/Coev/ipd/INSTALL \ +examples/Coev/ipd/README \ +examples/Coev/ipd/ipd.kdevelop \ +examples/Coev/ipd/config/config.guess \ +examples/Coev/ipd/config/config.sub \ +examples/Coev/ipd/config/depcomp \ +examples/Coev/ipd/config/install-sh \ +examples/Coev/ipd/config/ltmain.sh \ +examples/Coev/ipd/config/missing \ +examples/Coev/ipd/ipd/Makefile.am \ +examples/Coev/ipd/ipd/Makefile.in \ +examples/Coev/ipd/ipd/config.hpp.in \ +examples/Coev/ipd/ipd/IPDEvalOp.cpp \ +examples/Coev/ipd/ipd/IPDEvalOp.hpp \ +examples/Coev/ipd/ipd/IPDMain.cpp \ +examples/Coev/ipd/ipd/IPDThread.cpp \ +examples/Coev/ipd/ipd/IPDThread.hpp \ +examples/Coev/ipd/ipd/ipd-thread1.conf \ +examples/Coev/ipd/ipd/ipd-thread2.conf \ +examples/Coev/ipd/templates/cpp \ +examples/Coev/ipd/templates/hpp \ +examples/Coev/ipd/MSVCPP/ipd.sln \ +examples/Coev/ipd/MSVCPP/ipd.suo \ +examples/Coev/ipd/MSVCPP/ipd/ipd.vcproj \ +examples/GA/knapsack/acinclude.m4 \ +examples/GA/knapsack/aclocal.m4 \ +examples/GA/knapsack/bootstrap \ +examples/GA/knapsack/configure \ +examples/GA/knapsack/configure.ac \ +examples/GA/knapsack/Makefile.am \ +examples/GA/knapsack/Makefile.cvs \ +examples/GA/knapsack/Makefile.in \ +examples/GA/knapsack/AUTHORS \ +examples/GA/knapsack/COPYING \ +examples/GA/knapsack/INSTALL \ +examples/GA/knapsack/README \ +examples/GA/knapsack/knapsack.kdevelop \ +examples/GA/knapsack/config/config.guess \ +examples/GA/knapsack/config/config.sub \ +examples/GA/knapsack/config/depcomp \ +examples/GA/knapsack/config/install-sh \ +examples/GA/knapsack/config/ltmain.sh \ +examples/GA/knapsack/config/missing \ +examples/GA/knapsack/knapsack/Makefile.am \ +examples/GA/knapsack/knapsack/Makefile.in \ +examples/GA/knapsack/knapsack/config.hpp.in \ +examples/GA/knapsack/knapsack/KnapsackEvalOp.cpp \ +examples/GA/knapsack/knapsack/KnapsackEvalOp.hpp \ +examples/GA/knapsack/knapsack/KnapsackMain.cpp \ +examples/GA/knapsack/knapsack/knapsack.conf \ +examples/GA/knapsack/knapsack/knapsack-npga2.conf \ +examples/GA/knapsack/knapsack/knapsack-nsga2.conf \ +examples/GA/knapsack/knapsack/knapsack-nsga2-non-breeder.conf \ +examples/GA/knapsack/templates/cpp \ +examples/GA/knapsack/templates/hpp \ +examples/GA/knapsack/MSVCPP/knapsack.sln \ +examples/GA/knapsack/MSVCPP/knapsack.suo \ +examples/GA/knapsack/MSVCPP/knapsack/knapsack.vcproj \ +examples/GA/maxfct/acinclude.m4 \ +examples/GA/maxfct/aclocal.m4 \ +examples/GA/maxfct/bootstrap \ +examples/GA/maxfct/configure \ +examples/GA/maxfct/configure.ac \ +examples/GA/maxfct/Makefile.am \ +examples/GA/maxfct/Makefile.cvs \ +examples/GA/maxfct/Makefile.in \ +examples/GA/maxfct/AUTHORS \ +examples/GA/maxfct/COPYING \ +examples/GA/maxfct/INSTALL \ +examples/GA/maxfct/README \ +examples/GA/maxfct/maxfct.kdevelop \ +examples/GA/maxfct/config/config.guess \ +examples/GA/maxfct/config/config.sub \ +examples/GA/maxfct/config/depcomp \ +examples/GA/maxfct/config/install-sh \ +examples/GA/maxfct/config/ltmain.sh \ +examples/GA/maxfct/config/missing \ +examples/GA/maxfct/maxfct/Makefile.am \ +examples/GA/maxfct/maxfct/Makefile.in \ +examples/GA/maxfct/maxfct/config.hpp.in \ +examples/GA/maxfct/maxfct/MaxFctEvalOp.cpp \ +examples/GA/maxfct/maxfct/MaxFctEvalOp.hpp \ +examples/GA/maxfct/maxfct/MaxFctMain.cpp \ +examples/GA/maxfct/maxfct/maxfct.conf \ +examples/GA/maxfct/maxfct/maxfct-generational.conf \ +examples/GA/maxfct/maxfct/maxfct-steadystate.conf \ +examples/GA/maxfct/templates/cpp \ +examples/GA/maxfct/templates/hpp \ +examples/GA/maxfct/MSVCPP/maxfct.sln \ +examples/GA/maxfct/MSVCPP/maxfct.suo \ +examples/GA/maxfct/MSVCPP/maxfct/maxfct.vcproj \ +examples/GA/maxfctes/acinclude.m4 \ +examples/GA/maxfctes/aclocal.m4 \ +examples/GA/maxfctes/bootstrap \ +examples/GA/maxfctes/configure \ +examples/GA/maxfctes/configure.ac \ +examples/GA/maxfctes/Makefile.am \ +examples/GA/maxfctes/Makefile.cvs \ +examples/GA/maxfctes/Makefile.in \ +examples/GA/maxfctes/AUTHORS \ +examples/GA/maxfctes/COPYING \ +examples/GA/maxfctes/INSTALL \ +examples/GA/maxfctes/README \ +examples/GA/maxfctes/maxfctes.kdevelop \ +examples/GA/maxfctes/config/config.guess \ +examples/GA/maxfctes/config/config.sub \ +examples/GA/maxfctes/config/depcomp \ +examples/GA/maxfctes/config/install-sh \ +examples/GA/maxfctes/config/ltmain.sh \ +examples/GA/maxfctes/config/missing \ +examples/GA/maxfctes/maxfctes/Makefile.am \ +examples/GA/maxfctes/maxfctes/Makefile.in \ +examples/GA/maxfctes/maxfctes/config.hpp.in \ +examples/GA/maxfctes/maxfctes/MaxFctESEvalOp.cpp \ +examples/GA/maxfctes/maxfctes/MaxFctESEvalOp.hpp \ +examples/GA/maxfctes/maxfctes/MaxFctESMain.cpp \ +examples/GA/maxfctes/maxfctes/maxfctes.conf \ +examples/GA/maxfctes/maxfctes/maxfctes-comma.conf \ +examples/GA/maxfctes/maxfctes/maxfctes-plus.conf \ +examples/GA/maxfctes/maxfctes/maxfctes-comma-non-breeder.conf \ +examples/GA/maxfctes/maxfctes/maxfctes-plus-non-breeder.conf \ +examples/GA/maxfctes/templates/cpp \ +examples/GA/maxfctes/templates/hpp \ +examples/GA/maxfctes/MSVCPP/maxfctes.sln \ +examples/GA/maxfctes/MSVCPP/maxfctes.suo \ +examples/GA/maxfctes/MSVCPP/maxfctes/maxfctes.vcproj \ +examples/GA/maxfctfloat/acinclude.m4 \ +examples/GA/maxfctfloat/aclocal.m4 \ +examples/GA/maxfctfloat/bootstrap \ +examples/GA/maxfctfloat/configure \ +examples/GA/maxfctfloat/configure.ac \ +examples/GA/maxfctfloat/Makefile.am \ +examples/GA/maxfctfloat/Makefile.cvs \ +examples/GA/maxfctfloat/Makefile.in \ +examples/GA/maxfctfloat/AUTHORS \ +examples/GA/maxfctfloat/COPYING \ +examples/GA/maxfctfloat/INSTALL \ +examples/GA/maxfctfloat/README \ +examples/GA/maxfctfloat/maxfctfloat.kdevelop \ +examples/GA/maxfctfloat/config/config.guess \ +examples/GA/maxfctfloat/config/config.sub \ +examples/GA/maxfctfloat/config/depcomp \ +examples/GA/maxfctfloat/config/install-sh \ +examples/GA/maxfctfloat/config/ltmain.sh \ +examples/GA/maxfctfloat/config/missing \ +examples/GA/maxfctfloat/maxfctfloat/Makefile.am \ +examples/GA/maxfctfloat/maxfctfloat/Makefile.in \ +examples/GA/maxfctfloat/maxfctfloat/config.hpp.in \ +examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatEvalOp.cpp \ +examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatEvalOp.hpp \ +examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatMain.cpp \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat.conf \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-cmaes.conf \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-cmaes-non-breeder.conf \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-generational.conf \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-sbx.conf \ +examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-steadystate.conf \ +examples/GA/maxfctfloat/templates/cpp \ +examples/GA/maxfctfloat/templates/hpp \ +examples/GA/maxfctfloat/MSVCPP/maxfctfloat.sln \ +examples/GA/maxfctfloat/MSVCPP/maxfctfloat.suo \ +examples/GA/maxfctfloat/MSVCPP/maxfctfloat/maxfctfloat.vcproj \ +examples/GA/onemax/acinclude.m4 \ +examples/GA/onemax/aclocal.m4 \ +examples/GA/onemax/bootstrap \ +examples/GA/onemax/configure \ +examples/GA/onemax/configure.ac \ +examples/GA/onemax/Makefile.am \ +examples/GA/onemax/Makefile.cvs \ +examples/GA/onemax/Makefile.in \ +examples/GA/onemax/AUTHORS \ +examples/GA/onemax/COPYING \ +examples/GA/onemax/INSTALL \ +examples/GA/onemax/README \ +examples/GA/onemax/onemax.kdevelop \ +examples/GA/onemax/config/config.guess \ +examples/GA/onemax/config/config.sub \ +examples/GA/onemax/config/depcomp \ +examples/GA/onemax/config/install-sh \ +examples/GA/onemax/config/ltmain.sh \ +examples/GA/onemax/config/missing \ +examples/GA/onemax/onemax/Makefile.am \ +examples/GA/onemax/onemax/Makefile.in \ +examples/GA/onemax/onemax/config.hpp.in \ +examples/GA/onemax/onemax/OneMaxEvalOp.cpp \ +examples/GA/onemax/onemax/OneMaxEvalOp.hpp \ +examples/GA/onemax/onemax/OneMaxMain.cpp \ +examples/GA/onemax/onemax/onemax.conf \ +examples/GA/onemax/onemax/onemax-generational.conf \ +examples/GA/onemax/onemax/onemax-steadystate.conf \ +examples/GA/onemax/templates/cpp \ +examples/GA/onemax/templates/hpp \ +examples/GA/onemax/MSVCPP/onemax.sln \ +examples/GA/onemax/MSVCPP/onemax.suo \ +examples/GA/onemax/MSVCPP/onemax/onemax.vcproj \ +examples/GA/tsp/acinclude.m4 \ +examples/GA/tsp/aclocal.m4 \ +examples/GA/tsp/bootstrap \ +examples/GA/tsp/configure \ +examples/GA/tsp/configure.ac \ +examples/GA/tsp/Makefile.am \ +examples/GA/tsp/Makefile.cvs \ +examples/GA/tsp/Makefile.in \ +examples/GA/tsp/AUTHORS \ +examples/GA/tsp/COPYING \ +examples/GA/tsp/INSTALL \ +examples/GA/tsp/README \ +examples/GA/tsp/tsp.kdevelop \ +examples/GA/tsp/config/config.guess \ +examples/GA/tsp/config/config.sub \ +examples/GA/tsp/config/depcomp \ +examples/GA/tsp/config/install-sh \ +examples/GA/tsp/config/ltmain.sh \ +examples/GA/tsp/config/missing \ +examples/GA/tsp/tsp/Makefile.am \ +examples/GA/tsp/tsp/Makefile.in \ +examples/GA/tsp/tsp/config.hpp.in \ +examples/GA/tsp/tsp/TSPEvalOp.cpp \ +examples/GA/tsp/tsp/TSPEvalOp.hpp \ +examples/GA/tsp/tsp/TSPMain.cpp \ +examples/GA/tsp/tsp/tsp.conf \ +examples/GA/tsp/templates/cpp \ +examples/GA/tsp/templates/hpp \ +examples/GA/tsp/MSVCPP/tsp.sln \ +examples/GA/tsp/MSVCPP/tsp.suo \ +examples/GA/tsp/MSVCPP/tsp/tsp.vcproj \ +examples/GA/zeromin/acinclude.m4 \ +examples/GA/zeromin/aclocal.m4 \ +examples/GA/zeromin/bootstrap \ +examples/GA/zeromin/configure \ +examples/GA/zeromin/configure.ac \ +examples/GA/zeromin/Makefile.am \ +examples/GA/zeromin/Makefile.cvs \ +examples/GA/zeromin/Makefile.in \ +examples/GA/zeromin/AUTHORS \ +examples/GA/zeromin/COPYING \ +examples/GA/zeromin/INSTALL \ +examples/GA/zeromin/README \ +examples/GA/zeromin/zeromin.kdevelop \ +examples/GA/zeromin/config/config.guess \ +examples/GA/zeromin/config/config.sub \ +examples/GA/zeromin/config/depcomp \ +examples/GA/zeromin/config/install-sh \ +examples/GA/zeromin/config/ltmain.sh \ +examples/GA/zeromin/config/missing \ +examples/GA/zeromin/templates/cpp \ +examples/GA/zeromin/templates/hpp \ +examples/GA/zeromin/zeromin/Makefile.am \ +examples/GA/zeromin/zeromin/Makefile.in \ +examples/GA/zeromin/zeromin/config.hpp.in \ +examples/GA/zeromin/zeromin/ZeroMinEvalOp.cpp \ +examples/GA/zeromin/zeromin/ZeroMinEvalOp.hpp \ +examples/GA/zeromin/zeromin/ZeroMinMain.cpp \ +examples/GA/zeromin/zeromin/zeromin.conf \ +examples/GA/zeromin/zeromin/zeromin-generational.conf \ +examples/GA/zeromin/zeromin/zeromin-steadystate.conf \ +examples/GA/zeromin/MSVCPP/zeromin.sln \ +examples/GA/zeromin/MSVCPP/zeromin.suo \ +examples/GA/zeromin/MSVCPP/zeromin/zeromin.vcproj \ +examples/GP/symbreg/acinclude.m4 \ +examples/GP/symbreg/aclocal.m4 \ +examples/GP/symbreg/bootstrap \ +examples/GP/symbreg/configure \ +examples/GP/symbreg/configure.ac \ +examples/GP/symbreg/Makefile.am \ +examples/GP/symbreg/Makefile.cvs \ +examples/GP/symbreg/Makefile.in \ +examples/GP/symbreg/AUTHORS \ +examples/GP/symbreg/COPYING \ +examples/GP/symbreg/INSTALL \ +examples/GP/symbreg/README \ +examples/GP/symbreg/symbreg.kdevelop \ +examples/GP/symbreg/config/config.guess \ +examples/GP/symbreg/config/config.sub \ +examples/GP/symbreg/config/depcomp \ +examples/GP/symbreg/config/install-sh \ +examples/GP/symbreg/config/ltmain.sh \ +examples/GP/symbreg/config/missing \ +examples/GP/symbreg/MSVCPP/symbreg.sln \ +examples/GP/symbreg/MSVCPP/symbreg.suo \ +examples/GP/symbreg/MSVCPP/symbreg/symbreg.vcproj \ +examples/GP/symbreg/symbreg/Makefile.am \ +examples/GP/symbreg/symbreg/Makefile.in \ +examples/GP/symbreg/symbreg/config.hpp.in \ +examples/GP/symbreg/symbreg/SymbRegEvalOp.cpp \ +examples/GP/symbreg/symbreg/SymbRegEvalOp.hpp \ +examples/GP/symbreg/symbreg/SymbRegMain.cpp \ +examples/GP/symbreg/symbreg/symbreg.conf \ +examples/GP/symbreg/symbreg/symbreg-generational.conf \ +examples/GP/symbreg/symbreg/symbreg-steadystate.conf \ +examples/GP/symbreg/symbreg/symbreg-adfs.conf \ +examples/GP/symbreg/symbreg/symbreg-ema.conf \ +examples/GP/symbreg/symbreg/symbreg-hfc.conf \ +examples/GP/symbreg/templates/cpp \ +examples/GP/symbreg/templates/hpp \ +examples/GP/parity/acinclude.m4 \ +examples/GP/parity/aclocal.m4 \ +examples/GP/parity/bootstrap \ +examples/GP/parity/configure \ +examples/GP/parity/configure.ac \ +examples/GP/parity/Makefile.am \ +examples/GP/parity/Makefile.cvs \ +examples/GP/parity/Makefile.in \ +examples/GP/parity/AUTHORS \ +examples/GP/parity/COPYING \ +examples/GP/parity/INSTALL \ +examples/GP/parity/README \ +examples/GP/parity/parity.kdevelop \ +examples/GP/parity/config/config.guess \ +examples/GP/parity/config/config.sub \ +examples/GP/parity/config/depcomp \ +examples/GP/parity/config/install-sh \ +examples/GP/parity/config/ltmain.sh \ +examples/GP/parity/config/missing \ +examples/GP/parity/MSVCPP/parity.sln \ +examples/GP/parity/MSVCPP/parity.suo \ +examples/GP/parity/MSVCPP/parity/parity.vcproj \ +examples/GP/parity/parity/Makefile.am \ +examples/GP/parity/parity/Makefile.in \ +examples/GP/parity/parity/config.hpp.in \ +examples/GP/parity/parity/ParityEvalOp.cpp \ +examples/GP/parity/parity/ParityEvalOp.hpp \ +examples/GP/parity/parity/ParityMain.cpp \ +examples/GP/parity/parity/parity.conf \ +examples/GP/parity/parity/parity-generational.conf \ +examples/GP/parity/parity/parity-steadystate.conf \ +examples/GP/parity/parity/parity-elitism.conf \ +examples/GP/parity/parity/parity-adfs.conf \ +examples/GP/parity/parity/parity-ema.conf \ +examples/GP/parity/templates/cpp \ +examples/GP/parity/templates/hpp \ +examples/GP/spambase/acinclude.m4 \ +examples/GP/spambase/aclocal.m4 \ +examples/GP/spambase/bootstrap \ +examples/GP/spambase/configure \ +examples/GP/spambase/configure.ac \ +examples/GP/spambase/Makefile.am \ +examples/GP/spambase/Makefile.cvs \ +examples/GP/spambase/Makefile.in \ +examples/GP/spambase/AUTHORS \ +examples/GP/spambase/COPYING \ +examples/GP/spambase/INSTALL \ +examples/GP/spambase/README \ +examples/GP/spambase/spambase.kdevelop \ +examples/GP/spambase/config/config.guess \ +examples/GP/spambase/config/config.sub \ +examples/GP/spambase/config/depcomp \ +examples/GP/spambase/config/install-sh \ +examples/GP/spambase/config/ltmain.sh \ +examples/GP/spambase/config/missing \ +examples/GP/spambase/MSVCPP/spambase.sln \ +examples/GP/spambase/MSVCPP/spambase.suo \ +examples/GP/spambase/MSVCPP/spambase/spambase.vcproj \ +examples/GP/spambase/spambase/Makefile.am \ +examples/GP/spambase/spambase/Makefile.in \ +examples/GP/spambase/spambase/config.hpp.in \ +examples/GP/spambase/spambase/EphemeralPercent.cpp \ +examples/GP/spambase/spambase/EphemeralPercent.hpp \ +examples/GP/spambase/spambase/EqualTo.cpp \ +examples/GP/spambase/spambase/EqualTo.hpp \ +examples/GP/spambase/spambase/IfThenElse.cpp \ +examples/GP/spambase/spambase/IfThenElse.hpp \ +examples/GP/spambase/spambase/LessThan.cpp \ +examples/GP/spambase/spambase/LessThan.hpp \ +examples/GP/spambase/spambase/SpambaseEvalOp.cpp \ +examples/GP/spambase/spambase/SpambaseEvalOp.hpp \ +examples/GP/spambase/spambase/SpambaseMain.cpp \ +examples/GP/spambase/spambase/spambase.conf \ +examples/GP/spambase/spambase/spambase-generational.conf \ +examples/GP/spambase/spambase/spambase-steadystate.conf \ +examples/GP/spambase/spambase/spambase.cldist \ +examples/GP/spambase/spambase/spambase.data \ +examples/GP/spambase/spambase/spambase.info \ +examples/GP/spambase/spambase/spambase.names \ +examples/GP/spambase/templates/cpp \ +examples/GP/spambase/templates/hpp \ +m4/ac_cxx_bool.m4 \ +m4/ac_cxx_complex_math_in_namespace_std.m4 \ +m4/ac_cxx_const_cast.m4 \ +m4/ac_cxx_default_template_parameters.m4 \ +m4/ac_cxx_dynamic_cast.m4 \ +m4/ac_cxx_exceptions.m4 \ +m4/ac_cxx_explicit.m4 \ +m4/ac_cxx_have_ext_hash_map.m4 \ +m4/ac_cxx_have_ext_hash_set.m4 \ +m4/ac_cxx_have_numeric_limits.m4 \ +m4/ac_cxx_have_sstream.m4 \ +m4/ac_cxx_have_std.m4 \ +m4/ac_cxx_have_stl.m4 \ +m4/ac_cxx_namespaces.m4 \ +m4/ac_cxx_new_for_scoping.m4 \ +m4/ac_cxx_reinterpret_cast.m4 \ +m4/ac_cxx_rtti.m4 \ +m4/ac_cxx_static_cast.m4 \ +m4/ac_cxx_template_qualified_base_class.m4 \ +m4/ac_cxx_template_qualified_return_type.m4 \ +m4/ac_cxx_template_scoped_argument_matching.m4 \ +m4/ac_cxx_templates.m4 \ +m4/ac_cxx_typename.m4 \ +m4/acx_pthread.m4 \ +m4/ax_prefix_config_h.m4 \ +m4/check_zlib.m4 \ +m4/ob_cxx_have_isinfinite.m4 \ +m4/ob_cxx_long_long.m4 \ +m4/ob_have_hash_map.m4 \ +m4/ob_have_hash_set.m4 \ +MSVCPP/beagle.sln \ +MSVCPP/beagle.suo \ +MSVCPP/beagle/beagle.vcproj \ +MSVCPP/beagle-GA/beagle-GA.vcproj \ +MSVCPP/beagle-GP/beagle-GP.vcproj \ +MSVCPP/beagle-Coev/beagle-Coev.vcproj \ +MSVCPP/pacc-util/pacc-util.vcproj \ +MSVCPP/pacc-xml/pacc-xml.vcproj \ +MSVCPP/pacc-math/pacc-math.vcproj \ +MSVCPP/pacc-threading/pacc-threading.vcproj \ +MSVCPP/pacc-socket/pacc-socket.vcproj \ +MSVCPP/pacc-svg/pacc-svg.vcproj \ +PACC/Doxyfile \ +templates/cpp \ +templates/hpp + +all: all-recursive + +.SUFFIXES: +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +config/config-h: config/stamp-h1 + @test -f $@ || rm -f config/stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) config/stamp-h1 + +config/stamp-h1: $(top_srcdir)/config/config-h.in $(top_builddir)/config.status + @rm -f config/stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config/config-h +$(top_srcdir)/config/config-h.in: $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f config/stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config/config-h config/stamp-h1 + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool config.lt + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: + -rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz + $(am__post_remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) + +dist-zstd: distdir + tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst + $(am__post_remove_distdir) + +dist-tarZ: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__post_remove_distdir) + +dist-shar: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz + $(am__post_remove_distdir) +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__post_remove_distdir) + +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + *.tar.zst*) \ + zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ + esac + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build/sub \ + && ../../configure \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=../.. --prefix="$$dc_install_base" \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__post_remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr \ + distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--refresh check check-am clean clean-cscope clean-generic \ + clean-libtool cscope cscopelist-am ctags ctags-am dist \ + dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ + dist-xz dist-zip dist-zstd distcheck distclean \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + +doc: + rm -rf refman + rm -rf PACC/refman + mkdir -p refman/pacc + cd PACC && ln -s ../refman/pacc refman && doxygen Doxyfile + mkdir -p refman/beagle + doxygen Doxyfile + echo "" > refman/index.html + +distdoc: + $(MAKE) $(AM_MAKEFLAGS) doc + rm -rf beagle-refmanual-@VERSION@-html beagle-refmanual-@VERSION@-html.tar.gz beagle-refmanual-@VERSION@-html.zip + cp -r refman beagle-refmanual-@VERSION@-html + tar zcvf beagle-refmanual-@VERSION@-html.tar.gz beagle-refmanual-@VERSION@-html + zip -r beagle-refmanual-@VERSION@-html.zip beagle-refmanual-@VERSION@-html + rm -rf beagle-refmanual-@VERSION@-html + +example: + cd examples/Coev/coev_symbreg && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/Coev/ipd && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/knapsack && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/maxfct && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/maxfctes && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/maxfctfloat && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/onemax && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/tsp && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GA/zeromin && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GP/parity && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GP/spambase && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + cd examples/GP/symbreg && $(MAKE) $(AM_MAKEFLAGS) clean && $(MAKE) $(AM_MAKEFLAGS) + +pch: + rm -f beagle/include/beagle/Beagle.hpp.gch beagle/GA/include/beagle/GA.hpp.gch beagle/GP/include/beagle/GP.hpp.gch beagle/Coev/include/beagle/Coev.hpp.gch + cd beagle/Coev/include/beagle && $(MAKE) $(AM_MAKEFLAGS) pch + cd beagle/GP/include/beagle && $(MAKE) $(AM_MAKEFLAGS) pch + cd beagle/GA/include/beagle && $(MAKE) $(AM_MAKEFLAGS) pch + cd beagle/include/beagle && $(MAKE) $(AM_MAKEFLAGS) pch + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/NEWS b/lib/beagle-3.0.3/NEWS new file mode 100644 index 0000000..3007da7 --- /dev/null +++ b/lib/beagle-3.0.3/NEWS @@ -0,0 +1,59 @@ +29/11/2007: + Release of version 3.0.3. Bug-fix release. + +14/11/2007: + Release of version 3.0.2. Bug-fix release. + +11/10/2005: + Release of version 3.0.1. Bug-fix release. + +04/10/2005: + Release of version 3.0.0. This is a major release with important changes + to the organisation of the framework. + +28/10/2004: + Release of version 2.2.0. Major features improvement. + +03/08/2004: + Release of version 2.1.5. Minor improvements release. + +04/07/2004: + Release of version 2.1.4. Minor improvements release. + +13/04/2004: + Release of version 2.1.3. Bug-fix release. + +08/04/2004: + Release of version 2.1.2. Minor improvements release. + +17/01/2004: + Release of version 2.1.1. Bug-fix release. + +11/12/2003: + Release of version 2.1.0. Major update with support for multiobjective + EA, basic co-evolution support, real-valued GA, and evolution strategy. + +24/09/2003: + Release of version 2.0.0. This is a major release with important changes + to the organisation of the framework. + +28/05/2003: + Release of version 1.1.1. + +30/04/2003: + Release of version 1.1.0. + +19/03/2003: + Release of version 1.0.3. + +20/11/2002: + Release of version 1.0.1. + +22/07/2002: + Release of version 1.0.0. + +13/06/2002: + Release of version 0.16.2 (BETA). + +21/03/2002: + Release of version 0.16.2 (ALPHA). diff --git a/lib/beagle-3.0.3/PACC/Doxyfile b/lib/beagle-3.0.3/PACC/Doxyfile new file mode 100644 index 0000000..4171003 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Doxyfile @@ -0,0 +1,228 @@ +# Doxyfile 1.3.7-KDevelop + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = "The PACC collection" +PROJECT_NUMBER = 1.2.1 +OUTPUT_DIRECTORY = refman +CREATE_SUBDIRS = YES +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = YES +FULL_PATH_NAMES = YES +STRIP_FROM_PATH = . +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 2 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = NO +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = YES +EXTRACT_LOCAL_CLASSES = NO +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = doxygen.log +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = . \ + Math \ + Socket \ + SVG \ + Threading \ + Util \ + XML +FILE_PATTERNS = *.hpp *.cpp +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = YES +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = YES +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = NO +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = refman/pacc.tag +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 1000 +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff --git a/lib/beagle-3.0.3/PACC/Makefile b/lib/beagle-3.0.3/PACC/Makefile new file mode 100644 index 0000000..f0aca55 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Makefile @@ -0,0 +1,714 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# PACC/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = PACC +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(pacc_HEADERS) $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(paccdir)" +HEADERS = $(pacc_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/PACC +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/PACC +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../ +top_builddir = .. +top_srcdir = .. +paccdir = $(includedir) +pacc_HEADERS = Math.hpp Socket.hpp SVG.hpp Threading.hpp Util.hpp XML.hpp +SUBDIRS = Util XML Math Threading Socket SVG +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu PACC/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu PACC/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-paccHEADERS: $(pacc_HEADERS) + @$(NORMAL_INSTALL) + @list='$(pacc_HEADERS)'; test -n "$(paccdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(paccdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(paccdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(paccdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(paccdir)" || exit $$?; \ + done + +uninstall-paccHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(pacc_HEADERS)'; test -n "$(paccdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(paccdir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(HEADERS) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(paccdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-paccHEADERS + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-paccHEADERS + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-paccHEADERS install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am uninstall-paccHEADERS + +.PRECIOUS: Makefile + +doc: + rm -rf refman + mkdir -p refman + doxygen Doxyfile + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/PACC/Makefile.am b/lib/beagle-3.0.3/PACC/Makefile.am new file mode 100644 index 0000000..5cc2875 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Makefile.am @@ -0,0 +1,8 @@ +doc: + rm -rf refman + mkdir -p refman + doxygen Doxyfile + +paccdir = $(includedir) +pacc_HEADERS = Math.hpp Socket.hpp SVG.hpp Threading.hpp Util.hpp XML.hpp +SUBDIRS = Util XML Math Threading Socket SVG diff --git a/lib/beagle-3.0.3/PACC/Makefile.in b/lib/beagle-3.0.3/PACC/Makefile.in new file mode 100644 index 0000000..bf52dab --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Makefile.in @@ -0,0 +1,714 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = PACC +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(pacc_HEADERS) $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(paccdir)" +HEADERS = $(pacc_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +paccdir = $(includedir) +pacc_HEADERS = Math.hpp Socket.hpp SVG.hpp Threading.hpp Util.hpp XML.hpp +SUBDIRS = Util XML Math Threading Socket SVG +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu PACC/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu PACC/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-paccHEADERS: $(pacc_HEADERS) + @$(NORMAL_INSTALL) + @list='$(pacc_HEADERS)'; test -n "$(paccdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(paccdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(paccdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(paccdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(paccdir)" || exit $$?; \ + done + +uninstall-paccHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(pacc_HEADERS)'; test -n "$(paccdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(paccdir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(HEADERS) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(paccdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-paccHEADERS + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-paccHEADERS + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-paccHEADERS install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am uninstall-paccHEADERS + +.PRECIOUS: Makefile + +doc: + rm -rf refman + mkdir -p refman + doxygen Doxyfile + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/PACC/Math.hpp b/lib/beagle-3.0.3/PACC/Math.hpp new file mode 100644 index 0000000..aa53c69 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Math.hpp @@ -0,0 +1,41 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! +* \file PACC/Math.hpp + * \brief Include all headers for the portable math module. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5 $ + * $Date: 2005/10/05 13:38:26 $ + */ + +/*! +* \defgroup Math Portable math classes (Math) + */ + +#include "Math/Matrix.hpp" +#include "Math/Vector.hpp" diff --git a/lib/beagle-3.0.3/PACC/Math/.deps/Matrix.Plo b/lib/beagle-3.0.3/PACC/Math/.deps/Matrix.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Math/.deps/Matrix.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Math/.deps/QRandSequencer.Plo b/lib/beagle-3.0.3/PACC/Math/.deps/QRandSequencer.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Math/.deps/QRandSequencer.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Math/.deps/Vector.Plo b/lib/beagle-3.0.3/PACC/Math/.deps/Vector.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Math/.deps/Vector.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Math/.deps/libpacc-math.Plo b/lib/beagle-3.0.3/PACC/Math/.deps/libpacc-math.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Math/.deps/libpacc-math.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Math/Makefile b/lib/beagle-3.0.3/PACC/Math/Makefile new file mode 100644 index 0000000..89d44a7 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Math/Makefile @@ -0,0 +1,756 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# PACC/Math/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = PACC/Math +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(paccmath_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccmathdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libpacc_math_la_DEPENDENCIES = $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la +am__libpacc_math_la_SOURCES_DIST = Matrix.cpp QRandSequencer.cpp \ + Vector.cpp +am__objects_1 = Matrix.lo QRandSequencer.lo Vector.lo +#am_libpacc_math_la_OBJECTS = $(am__objects_1) +nodist_libpacc_math_la_OBJECTS = \ + libpacc-math.lo +libpacc_math_la_OBJECTS = $(am_libpacc_math_la_OBJECTS) \ + $(nodist_libpacc_math_la_OBJECTS) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +libpacc_math_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libpacc_math_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/Matrix.Plo \ + ./$(DEPDIR)/QRandSequencer.Plo ./$(DEPDIR)/Vector.Plo \ + ./$(DEPDIR)/libpacc-math.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libpacc_math_la_SOURCES) $(nodist_libpacc_math_la_SOURCES) +DIST_SOURCES = $(am__libpacc_math_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +HEADERS = $(paccmath_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/PACC/Math +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/PACC/Math +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +PACC_MATH_SRC_VAR = \ +Matrix.cpp \ +QRandSequencer.cpp \ +Vector.cpp + +paccmathdir = $(includedir)/Math +paccmath_HEADERS = \ +Matrix.hpp \ +QRandSequencer.hpp \ +Vector.hpp + +lib_LTLIBRARIES = libpacc-math.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_math_la_LIBADD = \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la + +libpacc_math_la_LDFLAGS = -no-undefined -release 1.3.1b +nodist_libpacc_math_la_SOURCES = libpacc-math.cpp +#libpacc_math_la_SOURCES = $(PACC_MATH_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu PACC/Math/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu PACC/Math/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libpacc-math.la: $(libpacc_math_la_OBJECTS) $(libpacc_math_la_DEPENDENCIES) $(EXTRA_libpacc_math_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libpacc_math_la_LINK) -rpath $(libdir) $(libpacc_math_la_OBJECTS) $(libpacc_math_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/Matrix.Plo # am--include-marker +include ./$(DEPDIR)/QRandSequencer.Plo # am--include-marker +include ./$(DEPDIR)/Vector.Plo # am--include-marker +include ./$(DEPDIR)/libpacc-math.Plo # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-paccmathHEADERS: $(paccmath_HEADERS) + @$(NORMAL_INSTALL) + @list='$(paccmath_HEADERS)'; test -n "$(paccmathdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(paccmathdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(paccmathdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(paccmathdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(paccmathdir)" || exit $$?; \ + done + +uninstall-paccmathHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(paccmath_HEADERS)'; test -n "$(paccmathdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(paccmathdir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccmathdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +#clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/Matrix.Plo + -rm -f ./$(DEPDIR)/QRandSequencer.Plo + -rm -f ./$(DEPDIR)/Vector.Plo + -rm -f ./$(DEPDIR)/libpacc-math.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-paccmathHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/Matrix.Plo + -rm -f ./$(DEPDIR)/QRandSequencer.Plo + -rm -f ./$(DEPDIR)/Vector.Plo + -rm -f ./$(DEPDIR)/libpacc-math.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES uninstall-paccmathHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-paccmathHEADERS install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am uninstall-libLTLIBRARIES \ + uninstall-paccmathHEADERS + +.PRECIOUS: Makefile + +libpacc-math.cpp: + rm -f libpacc-math.cpp + echo "// Generated automatically by make" > libpacc-math.cpp + echo >> libpacc-math.cpp + echo $(PACC_MATH_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-math.cpp + +clean-generic: + rm -f libpacc-math.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/PACC/Math/Makefile.am b/lib/beagle-3.0.3/PACC/Math/Makefile.am new file mode 100644 index 0000000..bd9fa57 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Math/Makefile.am @@ -0,0 +1,29 @@ +PACC_MATH_SRC_VAR = \ +Matrix.cpp \ +QRandSequencer.cpp \ +Vector.cpp +paccmathdir = $(includedir)/Math +paccmath_HEADERS = \ +Matrix.hpp \ +QRandSequencer.hpp \ +Vector.hpp +lib_LTLIBRARIES = libpacc-math.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_math_la_LIBADD = \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la +libpacc_math_la_LDFLAGS = -no-undefined -release @PACC_VERSION@ +if FAST_COMPILATION +libpacc-math.cpp: + rm -f libpacc-math.cpp + echo "// Generated automatically by make" > libpacc-math.cpp + echo >> libpacc-math.cpp + echo $(PACC_MATH_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-math.cpp + +clean-generic: + rm -f libpacc-math.cpp + +nodist_libpacc_math_la_SOURCES = libpacc-math.cpp +else +libpacc_math_la_SOURCES = $(PACC_MATH_SRC_VAR) +endif \ No newline at end of file diff --git a/lib/beagle-3.0.3/PACC/Math/Makefile.in b/lib/beagle-3.0.3/PACC/Math/Makefile.in new file mode 100644 index 0000000..e811b19 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Math/Makefile.in @@ -0,0 +1,756 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = PACC/Math +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(paccmath_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccmathdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libpacc_math_la_DEPENDENCIES = $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la +am__libpacc_math_la_SOURCES_DIST = Matrix.cpp QRandSequencer.cpp \ + Vector.cpp +am__objects_1 = Matrix.lo QRandSequencer.lo Vector.lo +@FAST_COMPILATION_FALSE@am_libpacc_math_la_OBJECTS = $(am__objects_1) +@FAST_COMPILATION_TRUE@nodist_libpacc_math_la_OBJECTS = \ +@FAST_COMPILATION_TRUE@ libpacc-math.lo +libpacc_math_la_OBJECTS = $(am_libpacc_math_la_OBJECTS) \ + $(nodist_libpacc_math_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libpacc_math_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libpacc_math_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/Matrix.Plo \ + ./$(DEPDIR)/QRandSequencer.Plo ./$(DEPDIR)/Vector.Plo \ + ./$(DEPDIR)/libpacc-math.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libpacc_math_la_SOURCES) $(nodist_libpacc_math_la_SOURCES) +DIST_SOURCES = $(am__libpacc_math_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +HEADERS = $(paccmath_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +PACC_MATH_SRC_VAR = \ +Matrix.cpp \ +QRandSequencer.cpp \ +Vector.cpp + +paccmathdir = $(includedir)/Math +paccmath_HEADERS = \ +Matrix.hpp \ +QRandSequencer.hpp \ +Vector.hpp + +lib_LTLIBRARIES = libpacc-math.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_math_la_LIBADD = \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la + +libpacc_math_la_LDFLAGS = -no-undefined -release @PACC_VERSION@ +@FAST_COMPILATION_TRUE@nodist_libpacc_math_la_SOURCES = libpacc-math.cpp +@FAST_COMPILATION_FALSE@libpacc_math_la_SOURCES = $(PACC_MATH_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu PACC/Math/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu PACC/Math/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libpacc-math.la: $(libpacc_math_la_OBJECTS) $(libpacc_math_la_DEPENDENCIES) $(EXTRA_libpacc_math_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libpacc_math_la_LINK) -rpath $(libdir) $(libpacc_math_la_OBJECTS) $(libpacc_math_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Matrix.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/QRandSequencer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Vector.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpacc-math.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-paccmathHEADERS: $(paccmath_HEADERS) + @$(NORMAL_INSTALL) + @list='$(paccmath_HEADERS)'; test -n "$(paccmathdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(paccmathdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(paccmathdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(paccmathdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(paccmathdir)" || exit $$?; \ + done + +uninstall-paccmathHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(paccmath_HEADERS)'; test -n "$(paccmathdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(paccmathdir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccmathdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +@FAST_COMPILATION_FALSE@clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/Matrix.Plo + -rm -f ./$(DEPDIR)/QRandSequencer.Plo + -rm -f ./$(DEPDIR)/Vector.Plo + -rm -f ./$(DEPDIR)/libpacc-math.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-paccmathHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/Matrix.Plo + -rm -f ./$(DEPDIR)/QRandSequencer.Plo + -rm -f ./$(DEPDIR)/Vector.Plo + -rm -f ./$(DEPDIR)/libpacc-math.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES uninstall-paccmathHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-paccmathHEADERS install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am uninstall-libLTLIBRARIES \ + uninstall-paccmathHEADERS + +.PRECIOUS: Makefile + +@FAST_COMPILATION_TRUE@libpacc-math.cpp: +@FAST_COMPILATION_TRUE@ rm -f libpacc-math.cpp +@FAST_COMPILATION_TRUE@ echo "// Generated automatically by make" > libpacc-math.cpp +@FAST_COMPILATION_TRUE@ echo >> libpacc-math.cpp +@FAST_COMPILATION_TRUE@ echo $(PACC_MATH_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-math.cpp + +@FAST_COMPILATION_TRUE@clean-generic: +@FAST_COMPILATION_TRUE@ rm -f libpacc-math.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/PACC/Math/Matrix.cpp b/lib/beagle-3.0.3/PACC/Math/Matrix.cpp new file mode 100644 index 0000000..1378af8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Math/Matrix.cpp @@ -0,0 +1,714 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2004 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Math/Matrix.cpp + * \brief Method definitions for class Matrix. + * \author Marc Parizeau and Christian Gagné, Laboratoire de vision et + systèmes numériques, Université Laval + * $Revision: 1.9.2.1 $ + * $Date: 2007/09/10 18:24:08 $ + */ + +#include "Math/Matrix.hpp" +#include "Math/Vector.hpp" +#include "Util/StringFunc.hpp" +#include +#include +#include + +using namespace std; +using namespace PACC; + +/*! +This method also returns a reference to the result. +*/ +Matrix& Matrix::add(Matrix& outMatrix, double inScalar) const +{ + PACC_AssertM(mRows > 0 && mCols > 0, "add() invalid matrix!"); + outMatrix.setRowsCols(mRows, mCols); + for(unsigned int i = 0; i < size(); ++i) outMatrix[i] = (*this)[i] + inScalar; + return outMatrix; +} + +/*! +This method also returns a reference to the result. +*/ +Matrix& Matrix::add(Matrix& outMatrix, const Matrix& inMatrix) const +{ + PACC_AssertM(mRows > 0 && mCols > 0, "add() invalid matrix!"); + PACC_AssertM(mRows == inMatrix.mRows && mCols == inMatrix.mCols, "add() matrix mismatch!"); + outMatrix.setRowsCols(mRows, mCols); + for(unsigned int i = 0; i < size(); ++i) outMatrix[i] = (*this)[i] + inMatrix[i]; + return outMatrix; +} + +/*! +*/ +void Matrix::computeBackSubLU(const vector& inIndexes, Matrix& ioMatrix) const +{ + unsigned int lII = UINT_MAX; + for(unsigned int i = 0; i < mRows; ++i) { + double lSum = ioMatrix(inIndexes[i], 0); + ioMatrix(inIndexes[i], 0) = ioMatrix(i, 0); + if(lII != UINT_MAX) { + for(unsigned int j = lII; j < i; ++j) lSum -= (*this)(i,j) * ioMatrix(j, 0); + } else if(lSum != 0.0) lII = i; + ioMatrix(i, 0) = lSum; + } + for(unsigned int i = 0; i < mRows; ++i) { + const unsigned int lR = mRows-i-1; + double lSum = ioMatrix(lR,0); + for(unsigned int j = lR+1; j < mCols; ++j) lSum -= (*this)(lR,j) * ioMatrix(j,0); + ioMatrix(lR,0) = lSum / (*this)(lR,lR); + } +} + +/*! +*/ +double Matrix::computeDeterminant(void) const +{ + PACC_AssertM(mRows > 0 && mCols > 0, "computeDeterminant() invalid matrix!"); + PACC_AssertM(mRows == mCols, "computeDeterminant() matrix not square!"); + Matrix lTmp = *this; + vector lIndexes(mRows); + int lD; + lTmp.decomposeLU(lIndexes, lD); + double lResult = lD; + for(unsigned int i = 0; i < mRows; ++i) lResult *= lTmp(i,i); + return lResult; +} + +/*! +*/ +void Matrix::computeEigens(Vector& outValues, Matrix& outVectors) const +{ + PACC_AssertM(mRows > 0 && mCols > 0, "computeEigens() invalid matrix!"); + PACC_AssertM(mRows == mCols, "computeEigens() matrix not square!"); + outValues.resize(mRows); + outVectors.resize(mRows, mCols); + + // Computer eigenvectors/eigenvalues using Triagonal QL method + Vector lE(mRows); + tred2(outValues, lE, outVectors); + tql2(outValues, lE, outVectors); + + // Sort by eigenvalues. + for(unsigned int j = 0; j < outValues.size(); ++j) { + double lMax=outValues[j]; + unsigned int lMaxArg=j; + for(unsigned int l = j+1; l lMax) { + lMax=outValues[l]; + lMaxArg=l; + } + } + if(lMaxArg != j) { + for(unsigned int r = 0; r < outVectors.mRows; ++r) { + double lTmp = outVectors(r,j); + outVectors(r,j) = outVectors(r,lMaxArg); + outVectors(r,lMaxArg) = lTmp; + } + double lTmp = outValues[j]; + outValues[j] = outValues[lMaxArg]; + outValues[lMaxArg] = lTmp; + } + } +} + +/*! +*/ +void Matrix::decomposeLU(vector& outIndexes, int& outD) +{ + outD = 1; + vector lScales; + scaleLU(lScales); + for(unsigned int j = 0; j < mCols; ++j) { + for(unsigned int i = 0; i < j; ++i) { + double lSum = (*this)(i, j); + for(unsigned int k = 0; k < i; ++k) lSum -= (*this)(i,k) * (*this)(k,j); + (*this)(i, j) = lSum; + } + double lMax = 0; + unsigned int l = j; + for(unsigned int i = j; i < mRows; ++i) { + double lSum = (*this)(i,j); + for(unsigned int k = 0; k < j; ++k) lSum -= (*this)(i,k) * (*this)(k,j); + (*this)(i, j) = lSum; + double lTmp = lScales[i] * fabs(lSum); + if(lTmp >= lMax) { + l = i; + lMax = lTmp; + } + } + if(j != l) { + for(unsigned int k = 0; k < (*this).mCols; ++k) { + double lTmp = (*this)(l,k); + (*this)(l,k) = (*this)(j,k); + (*this)(j,k) = lTmp; + } + outD = -outD; + lScales[l] = lScales[j]; + } + outIndexes[j] = l; + if((*this)(j,j) == 0.0) (*this)(j,j) = 1e-20; + if(j != (mCols-1)) { + double lDummy = 1.0 / (*this)(j,j); + for(unsigned int i = j+1; i < mRows; ++i) (*this)(i,j) *= lDummy; + } + } +} + +/*! +This method also returns a reference to the result. +*/ +Matrix& Matrix::extract(Matrix& outMatrix, unsigned int inRow1, unsigned int inRow2, unsigned int inCol1, unsigned int inCol2) const +{ + PACC_AssertM(inRow1 <= inRow2 && inCol1 <= inCol2 && inRow2 < mRows && inCol2 < mCols, "extract() invalid indexes!"); + if(&outMatrix != this) { + // output matrix is not self assigning + outMatrix.setRowsCols(inRow2-inRow1+1, inCol2-inCol1+1); + for(unsigned int i = inRow1; i <= inRow2; ++i) { + for(unsigned int j = inCol1; j <= inCol2; ++j) { + outMatrix(i-inRow1,j-inCol1) = (*this)(i,j); + } + } + } else { + // use temporary matrix to self assign + Matrix lMatrix(*this); + outMatrix.setRowsCols(inRow2-inRow1+1, inCol2-inCol1+1); + for(unsigned int i = inRow1; i <= inRow2; ++i) { + for(unsigned int j = inCol1; j <= inCol2; ++j) { + outMatrix(i-inRow1,j-inCol1) = lMatrix(i,j); + } + } + } + return outMatrix; +} + +/*! +This method also returns a reference to the result. + */ +Matrix& Matrix::extractColumn(Matrix& outMatrix, unsigned int inCol) const +{ + return extract(outMatrix, 0, mRows-1, inCol, inCol); +} + +/*! +This method also returns a reference to the result. + */ +Matrix& Matrix::extractRow(Matrix& outMatrix, unsigned int inRow) const +{ + return extract(outMatrix, inRow, inRow, 0, mCols-1); +} + +/*! + */ +double Matrix::hypot(double a, double b) const +{ + double r; + if(abs(a) > abs(b)) { + r = b/a; + r = abs(a)*sqrt(1+r*r); + } + else if(b != 0) { + r = a/b; + r = abs(b)*sqrt(1+r*r); + } + else { + r = 0.0; + } + return r; +} + +/*! +*/ +Matrix Matrix::invert(void) const +{ + Matrix lMatrix; + return invert(lMatrix); +} + +/*! +This method also returns a reference to the result. + */ +Matrix& Matrix::invert(Matrix& outMatrix) const +{ + PACC_AssertM(mRows == mCols, "invert() matrix not square!"); + Matrix lTmp = *this; + vector lIndexes(mRows); + int lD; + lTmp.decomposeLU(lIndexes, lD); + outMatrix.setIdentity(mRows); + Matrix lB(mRows, 1); + for(unsigned int j = 0; j < mCols; ++j) { + for(unsigned int i = 0; i < mRows; ++i) lB(i,0) = outMatrix(i,j); + lTmp.computeBackSubLU(lIndexes, lB); + for(unsigned int i = 0; i < mRows; ++i) outMatrix(i,j) = lB(i,0); + } + return outMatrix; +} + +/*! +This method also returns a reference to the result. + */ +Matrix& Matrix::multiply(Matrix& outMatrix, double inScalar) const +{ + PACC_AssertM(mRows > 0 && mCols > 0, "multiply() invalid matrix!"); + outMatrix.setRowsCols(mRows, mCols); + for(unsigned int i = 0; i < size(); ++i) outMatrix[i] = (*this)[i] * inScalar; + return outMatrix; +} + +/*! +This method also returns a reference to the result. + */ +Matrix& Matrix::multiply(Matrix& outMatrix, const Matrix& inMatrix) const +{ + PACC_AssertM(mCols == inMatrix.mRows, "multiply() matrix mismatch!"); + if(&outMatrix != this && &outMatrix != &inMatrix) { + // output matrix is neither left or right matrix (no self assigment) + outMatrix.setRowsCols(mRows, inMatrix.mCols); + for(unsigned int i = 0; i < outMatrix.mRows; ++i) { + for(unsigned int j = 0; j < outMatrix.mCols; ++j) { + outMatrix(i,j) = 0; + for(unsigned int k = 0; k < mCols; ++k) { + outMatrix(i,j) += (*this)(i,k) * inMatrix(k,j); + } + } + } + } else if(&outMatrix == this && &outMatrix != &inMatrix) { + // use temporary matrix to self assign with left matrix + Matrix lMatrix(*this); + outMatrix.setRowsCols(mRows, inMatrix.mCols); + for(unsigned int i = 0; i < outMatrix.mRows; ++i) { + for(unsigned int j = 0; j < outMatrix.mCols; ++j) { + outMatrix(i,j) = 0; + for(unsigned int k = 0; k < mCols; ++k) { + outMatrix(i,j) += lMatrix(i,k) * inMatrix(k,j); + } + } + } + } else if(&outMatrix != this && &outMatrix == &inMatrix) { + // use temporary matrix to self assign with right matrix + Matrix lMatrix(inMatrix); + outMatrix.setRowsCols(mRows, inMatrix.mCols); + for(unsigned int i = 0; i < outMatrix.mRows; ++i) { + for(unsigned int j = 0; j < outMatrix.mCols; ++j) { + outMatrix(i,j) = 0; + for(unsigned int k = 0; k < mCols; ++k) { + outMatrix(i,j) += (*this)(i,k) * lMatrix(k,j); + } + } + } + } else { + // use temporary matrix to self assign with both left and right matrices + Matrix lMatrix(*this); + outMatrix.setRowsCols(mRows, inMatrix.mCols); + for(unsigned int i = 0; i < outMatrix.mRows; ++i) { + for(unsigned int j = 0; j < outMatrix.mCols; ++j) { + outMatrix(i,j) = 0; + for(unsigned int k = 0; k < mCols; ++k) { + outMatrix(i,j) += lMatrix(i,k) * lMatrix(k,j); + } + } + } + } + return outMatrix; +} + +/*! +Matrix elements must be enumerated in row order and delimited by either commas +(','), semi-columns (';'), or white space. The recommended style is to seperate +elements with comas, and rows with semi-columns. For example: +\verbatim +1,2,3,4;5,6,7,8;9,10,11,12 +\endverbatim +The number of elements must match the product of the "rows" and "cols" attributes. +*/ +string Matrix::read(const XML::Iterator& inNode) +{ + if(!inNode) throw runtime_error("Matrix::read() nothing to read!"); + clear(); + for(XML::Iterator lChild = inNode->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == XML::eString) { + istringstream lStream(lChild->getValue()); + Tokenizer lTokenizer(lStream); + lTokenizer.setDelimiters(" \n\r\t,;", ""); + string lToken; + while(lTokenizer.getNextToken(lToken)) push_back(String::convertToFloat(lToken)); + } + } + mRows = String::convertToInteger(inNode->getAttribute("rows")); + mCols = String::convertToInteger(inNode->getAttribute("cols")); + if(vector::size() != mRows*mCols) { + throwError("Matrix::read() number of elements does not match the rows x cols attributes", inNode); + } + string lName = inNode->getAttribute("name"); + if(lName != "") mName = lName; + return lName; +} + +/*! +*/ +void Matrix::resize(unsigned int inRows, unsigned int inCols) +{ + Matrix lMat(*this); + setRowsCols(inRows, inCols); + for(unsigned int i = 0; i < mRows; ++i) { + for(unsigned int j = 0; j < mCols; ++j) { + (*this)(i,j) = (i < lMat.mRows && j < lMat.mCols ? lMat(i,j) : 0.); + } + } +} + +/*! +*/ +void Matrix::scaleLU(vector& outScales) const +{ + outScales.resize(mCols); + for(unsigned int i = 0; i < mRows; ++i) { + double lMax = 0.; + for(unsigned int j = 0; j < mCols; ++j) { + const double lTmp = fabs((*this)(i,j)); + if(lTmp > lMax) lMax=lTmp; + } + if(lMax == 0.) throw runtime_error(" matrix is singular!"); + outScales[i] = 1./lMax; + } +} + +/*! +*/ +void Matrix::setIdentity(unsigned int inSize) +{ + setRowsCols(inSize, inSize); + for(unsigned int j = 0; j < mCols; ++j) { + for(unsigned int i = 0; i < mRows; ++i) { + (*this)(i,j) = (i == j ? 1 : 0); + } + } +} + +/*! +This method also returns a reference to the result. + */ +Matrix& Matrix::subtract(Matrix& outMatrix, double inScalar) const +{ + PACC_AssertM(mRows > 0 && mCols > 0, "subtract() invalid matrix!"); + outMatrix.setRowsCols(mRows, mCols); + for(unsigned int i = 0; i < size(); ++i) outMatrix[i] = (*this)[i] - inScalar; + return outMatrix; +} + +/*! +This method also returns a reference to the result. + */ +Matrix& Matrix::subtract(Matrix& outMatrix, const Matrix& inMatrix) const +{ + PACC_AssertM(mRows > 0 && mCols > 0, "subtract() invalid matrix!"); + PACC_AssertM(mRows == inMatrix.mRows && mCols == inMatrix.mCols, "subtract() matrix mismatch!"); + outMatrix.setRowsCols(mRows, mCols); + for(unsigned int i = 0; i < size(); ++i) outMatrix[i] = (*this)[i] - inMatrix[i]; + return outMatrix; +} + +/*! + * \param d Real part of eigenvalues computed from the matrix. + * \param e Imaginary part of eigenvalues computed from the matrix. + * \param V Eigenvectors computed from the matrix. + * + * This method is derived from procedure tql2 of the Java package JAMA, + * which is itself derived from the Algol procedures tql2, by + * Bowdler, Martin, Reinsch, and Wilkinson, Handbook for + * Auto. Comp., Vol.ii-Linear Algebra, and the corresponding + * Fortran subroutine in EISPACK. + */ +void Matrix::tql2(Vector& d, Vector& e, Matrix& V) const +{ + const unsigned int n=mRows; + for(unsigned int i = 1; i < n; i++) e[i-1] = e[i]; + e[n-1] = 0.0; + + double f = 0.0; + double tst1 = 0.0; + double eps = std::pow(2.0,-52.0); + for(unsigned int l = 0; l < n; l++) { + // Find small subdiagonal element + tst1 = max(tst1, abs(d[l]) + abs(e[l])); + unsigned int m=l; + while((m+1) < n) { + if(std::abs(e[m]) <= eps*tst1) break; + m++; + } + + // If m == l, d[l] is an eigenvalue, + // otherwise, iterate. + if(m > l) { + unsigned int iter = 0; + do { + iter = iter + 1; // (Could check iteration count here.) + // Compute implicit shift + double g = d[l]; + double p = (d[l+1] - g) / (2.0 * e[l]); + double r = hypot(p,1.0); + if(p < 0) r = -r; + d[l] = e[l] / (p + r); + d[l+1] = e[l] * (p + r); + double dl1 = d[l+1]; + double h = g - d[l]; + for(unsigned int i = l+2; i < n; i++) d[i] -= h; + f = f + h; + + // Implicit QL transformation. + p = d[m]; + double c = 1.0; + double c2 = c; + double c3 = c; + double el1 = e[l+1]; + double s = 0.0; + double s2 = 0.0; + for(unsigned int i = m-1; i >= l; i--) { + c3 = c2; + c2 = c; + s2 = s; + g = c * e[i]; + h = c * p; + r = hypot(p,e[i]); + e[i+1] = s * r; + s = e[i] / r; + c = p / r; + p = c * d[i] - s * g; + d[i+1] = h + s * (c * g + s * d[i]); + + // Accumulate transformation. + for(unsigned int k = 0; k < n; k++) { + h = V(k,i+1); + V(k,i+1) = s * V(k,i) + c * h; + V(k,i) = c * V(k,i) - s * h; + } + if(i == 0) break; + } + p = -s * s2 * c3 * el1 * e[l] / dl1; + e[l] = s * p; + d[l] = c * p; + + // Check for convergence. + } while (std::abs(e[l]) > eps*tst1); + } + d[l] = d[l] + f; + e[l] = 0.0; + } +} + +/*! + * \param d Real part of eigenvalues computed from the matrix. + * \param e Imaginary part of eigenvalues computed from the matrix. + * \param V Eigenvectors computed from the matrix. + * + * This method is derived from procedure tred2 of the Java package JAMA, + * which is itself derived from the Algol procedures tred2, by + * Bowdler, Martin, Reinsch, and Wilkinson, Handbook for + * Auto. Comp., Vol.ii-Linear Algebra, and the corresponding + * Fortran subroutine in EISPACK. + */ +void Matrix::tred2(Vector& d, Vector& e, Matrix& V) const +{ + const unsigned int n=mRows; + V = *this; + for(unsigned int j = 0; j < n; ++j) d[j] = V(n-1,j); + + // Householder reduction to tridiagonal form. + for(unsigned int i = n-1; i > 0; --i) { + + // Scale to avoid under/overflow. + double scale = 0.0; + double h = 0.0; + for(unsigned int k = 0; k < i; ++k) scale += abs(d[k]); + if(scale == 0.0) { + e[i] = d[i-1]; + for(unsigned int j = 0; j < i; ++j) { + d[j] = V(i-1,j); + V(i,j) = 0.0; + V(j,i) = 0.0; + } + } else { + // Generate Householder vector. + for(unsigned int k=0; k 0.0) g = -g; + e[i] = scale * g; + h = h - f * g; + d[i-1] = f - g; + for(unsigned int j = 0; j < i; j++) e[j] = 0.0; + + // Apply similarity transformation to remaining columns. + for(unsigned int j = 0; j < i; j++) { + f = d[j]; + V(j,i) = f; + g = e[j] + V(j,j) * f; + for(unsigned int k = j+1; k <= i-1; k++) { + g += V(k,j) * d[k]; + e[k] += V(k,j) * f; + } + e[j] = g; + } + f = 0.0; + for(unsigned int j = 0; j < i; j++) { + e[j] /= h; + f += e[j] * d[j]; + } + double hh = f / (h + h); + for(unsigned int j=0; j 0 && mCols > 0, "transpose() invalid matrix!"); + if(&outMatrix != this) { + // output matrix is not self assigning + outMatrix.setRowsCols(mCols,mRows); + // transpose elements + for(unsigned int i = 0; i< mRows; ++i) { + for(unsigned int j = 0; j < mCols; ++j) { + outMatrix(j,i) = (*this)(i,j); + } + } + } else { + // use temporary matrix to self assign + Matrix lMatrix(*this); + outMatrix.setRowsCols(mCols,mRows); + // transpose elements + for(unsigned int i = 0; i< mRows; ++i) { + for(unsigned int j = 0; j < mCols; ++j) { + outMatrix(j,i) = lMatrix(i,j); + } + } + } + return outMatrix; +} + +/*! +*/ +void Matrix::throwError(const string& inMessage, const XML::Iterator& inNode) const +{ + ostringstream lStream; + lStream << inMessage << " for markup:\n"; + XML::Streamer lStreamer(lStream); + inNode->serialize(lStreamer); + throw runtime_error(lStream.str()); +} + +/*! + See Matrix::read for a description of the write format. By default, the precision + of the output is set to 15 digits. This value can be changed using method + Matrix::setPrecision. +*/ +void Matrix::write(XML::Streamer& outStream, const string& inTag) const +{ + outStream.openTag(inTag, false); + if(mName != "") outStream.insertAttribute("name", mName); + outStream.insertAttribute("rows", mRows); + outStream.insertAttribute("cols", mCols); + ostringstream lContent; + lContent.precision(mPrec); + for(unsigned int i = 0; i < size(); ++i) { + if(i != 0 && i % mCols == 0) lContent << ";"; + else if(i != 0) lContent << ","; + lContent << (*this)[i]; + } + outStream.insertStringContent(lContent.str()); + outStream.closeTag(); +} + +/*! +*/ +ostream& PACC::operator<<(ostream &outStream, const Matrix& inMatrix) +{ + XML::Streamer lStream(outStream); + inMatrix.write(lStream); + return outStream; +} + +/*! +This method uses the first data tag of the parse tree to read the matrix. The +corresponding tree root is then erased. Any read error throws a std::runtime_error. +*/ +XML::Document& PACC::operator>>(XML::Document& inDocument, Matrix& outMatrix) +{ + XML::Iterator lNode = inDocument.getFirstDataTag(); + outMatrix.read(lNode); + inDocument.erase(lNode); + return inDocument; +} diff --git a/lib/beagle-3.0.3/PACC/Math/Matrix.hpp b/lib/beagle-3.0.3/PACC/Math/Matrix.hpp new file mode 100644 index 0000000..522ab11 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Math/Matrix.hpp @@ -0,0 +1,270 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2004 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Math/Matrix.hpp + * \brief Definition of class Matrix. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/09/10 18:24:08 $ + */ + +#ifndef PACC_Matrix_hpp +#define PACC_Matrix_hpp + +#include "Util/Assert.hpp" +#include "XML/Document.hpp" +#include "XML/Streamer.hpp" +#include + +namespace PACC { + + using namespace std; + + // Forward declarations + class Vector; + + /*! \brief %Matrix of floating point numbers. + \author Marc Parizeau and Christian Gagné, Laboratoire de vision et + systèmes numériques, Université Laval + \ingroup Math + \ingroup MLP + + This class encapsulates a vector of floating point numbers (double) as a matrix. + It contains operators and methods for sum, difference, and product of matrices, + as well as product with a scalar. It also includes matrix transposition and + inversion methods, as well as computation of eigenvalues and eigenvectors + for symetric matrices. Matrices can read and write themselves in %XML. + + \attention Row and column indices start at 0. + */ + class Matrix : protected vector { + public: + //! Construct an empty matrix with name \c inName. + Matrix(const string& inName="") : mRows(0), mCols(0), mPrec(15), mName(inName) {} + + //! Construct a matrix of size \c inRows rows by \c inColumns columns, initialized with 0, and with name \c inName. + explicit Matrix(unsigned int inRows, unsigned int inCols, const string& inName="") + : vector(inRows*inCols, 0), mRows(inRows), mCols(inCols), mPrec(15), mName(inName) {} + + //! Construct a matrix of size \c inRows rows by \c inColumns columns, initialized with value \c inValue, and with name \c inName. + explicit Matrix(unsigned int inRows, unsigned int inCols, double inValue, const string& inName="") + : vector(inRows*inCols, inValue), mRows(inRows), mCols(inCols), mPrec(15), mName(inName) {} + + //! Delete this matrix. + virtual ~Matrix() {mRows = mCols = 0;} + + //! Assign matrix \c inMatrix to this matrix but do not overwrite name unless it is undefined. + Matrix& operator=(const Matrix& inMatrix) { + if(&inMatrix != this) { + // don't self assign! + vector::operator=(inMatrix); + mRows = inMatrix.mRows; mCols = inMatrix.mCols; + if(mName == "") mName = inMatrix.mName; + } + return *this; + } + + //! Return const reference to element \c (inRow,inColumn). + inline const double& operator()(unsigned int inRow, unsigned int inCol) const { + PACC_AssertM(inRow < mRows && inCol < mCols, "invalid matrix indices!"); + return (*this)[(inRow*mCols)+inCol]; + } + + //! Return reference to element \c (inRow,inColumn). + inline double& operator()(unsigned int inRow, unsigned int inCol) { + PACC_AssertM(inRow < mRows && inCol < mCols, "invalid matrix indices!"); + return (*this)[(inRow*mCols)+inCol]; + } + + //! Add scalar \c inScalar to this matrix, and return new matrix. + inline Matrix operator+(double inScalar) const {Matrix lMatrix; return add(lMatrix, inScalar);} + + //! Add scalar \c inScalar to this matrix, and assign result to this matrix. + inline Matrix& operator+=(double inScalar) {return add(*this, inScalar);} + + //! Add matrix \c inMatrix to this matrix, and return new matrix. + inline Matrix operator+(const Matrix& inMatrix) const {Matrix lMatrix; return add(lMatrix, inMatrix);} + + //! Add matrix \c inMatrix to this matrix, and assign result to this matrix. + inline Matrix& operator+=(const Matrix& inMatrix) {return add(*this, inMatrix);} + + //! Subtract scalar \c inScalar from this matrix, and return new matrix. + inline Matrix operator-(double inScalar) const {Matrix lMatrix; return subtract(lMatrix, inScalar);} + + //! Subtract scalar \c inScalar from this matrix, and assign result to this matrix. + inline Matrix& operator-=(double inScalar) {return subtract(*this, inScalar);} + + //! Subtract matrix \c inMatrix from this matrix, and return new matrix. + inline Matrix operator-(const Matrix& inMatrix) const {Matrix lMatrix; return subtract(lMatrix, inMatrix);} + + //! Subtract matrix \c inMatrix from this matrix, and assign result to this matrix. + inline Matrix& operator-=(const Matrix& inMatrix) {return subtract(*this, inMatrix);} + + //! Multiply scalar \c inScalar with this matrix, and return new matrix. + inline Matrix operator*(double inScalar) const {Matrix lMatrix; return multiply(lMatrix, inScalar);} + + //! Multiply scalar \c inScalar with this matrix, and assign result to this matrix. + inline Matrix& operator*=(double inScalar) {return multiply(*this, inScalar);} + + //! Multiply this matrix with matrix \c inMatrix, and return new matrix. + inline Matrix operator*(const Matrix& inMatrix) const {Matrix lMatrix; return multiply(lMatrix, inMatrix);} + + //! Multiply this matrix with matrix \c inMatrix, and assign result to this matrix. + inline Matrix operator*=(const Matrix& inMatrix) {return multiply(*this, inMatrix);} + + //! Return number of columns. + inline unsigned int getCols(void) const {return mCols;} + //! Return number of rows. + inline unsigned int getRows(void) const {return mRows;} + + //! Add this matrix with scalar \c inScalar and return result through matrix \c outMatrix. + Matrix& add(Matrix& outMatrix, double inScalar) const; + + //! Add this matrix with matrix \c inMatrix and return result through matrix \c outMatrix. + Matrix& add(Matrix& outMatrix, const Matrix& inMatrix) const; + + //! Return determinant of this matrix. + double computeDeterminant(void) const; + + //! Compute eigenvalues and eigenvectors of a symetric matrix using the Triagonal QL method (matrix must be symetric). + void computeEigens(Vector& outValues, Matrix& outVectors) const; + + //! Extract from this matrix a sub-matrix defined by row range \c [inRow1,inRow2] and column range \c [inCol1,inCol2], return result through matrix \c outMatrix. + Matrix& extract(Matrix& outMatrix, unsigned int inRow1, unsigned int inRow2, unsigned int inCol1, unsigned int inCol2) const; + + //! Extract column \c inCol from this matrix and return it through matrix \c outMatrix. + Matrix& extractColumn(Matrix& outVector, unsigned int inCol) const; + + //! Extract row \c inRow from this matrix and return it through matrix \c outMatrix. + Matrix& extractRow(Matrix& outVector, unsigned int inRow) const; + + //! Return the inverse of this matrix. + Matrix invert(void) const; + + //! Invert this matrix and return result through matrix \c outMatrix. + Matrix& invert(Matrix& outMatrix) const; + + //! Multiply this matrix with scalar \c inScalar and return result through matrix \c outMatrix. + Matrix& multiply(Matrix& outMatrix, double inScalar) const; + + //! Multiply this matrix with matrix \c inMatrix and return result through matrix \c outMatrix. + Matrix& multiply(Matrix& outMatrix, const Matrix& inMatrix) const; + + //! Subtract this matrix with scalar \c inScalar and return result through matrix \c outMatrix. + Matrix& subtract(Matrix& outMatrix, double inScalar) const; + + //! Subtract this matrix with matrix \c inMatrix and return result through matrix \c outMatrix. + Matrix& subtract(Matrix& outMatrix, const Matrix& inMatrix) const; + + //! Return the transpose of this matrix. + Matrix transpose(void) const; + + //! Transpose this matrix and return result through matrix \c outMatrix. + Matrix& transpose(Matrix& outMatrix) const; + + //! Resize matrix to \c inRows rows and \c inCols columns, while filing blanks with null values. + void resize(unsigned int inRows, unsigned int inCols); + + //! Set this matrix to an identity matrix of size \c inSize. + void setIdentity(unsigned int inSize); + + //! Return matrix name. + inline const string& getName(void) const {return mName;} + + //! Set matrix name. + inline void setName(string& inName) {mName = inName;}; + + //! Read this matrix from parse tree node \c inNode. + string read(const XML::Iterator& inNode); + + //! Write this matrix into streamer \c outStream using tag name \c inTag. + void write(XML::Streamer& outStream, const string& inTag="Matrix") const; + + //! Set output write precision to \c inPrecision number of digits. + void setPrecision(unsigned int inPrecision) {mPrec = inPrecision;} + + protected: + unsigned int mRows; //!< Number of rows. + unsigned int mCols; //!< Number of columns. + unsigned int mPrec; //!< Output precision. + string mName; //!< Name of matrix. + + //! Compute back substitution for the L-U decomposition. + void computeBackSubLU(const vector& inIndexes, Matrix& ioMatrixB) const; + + //! Compute L-U decomposition. + void decomposeLU(vector& outIndexes, int& outD); + + //! Return sqrt(a^2 + b^2) without under/overflow (used internally by method tql2). + double hypot(double a, double b) const; + + //! Return in vector \c outScales the scaling values for the L-U decomposition. + void scaleLU(vector& outScales) const; + + //! Triagonalize matrix for computing eigensystem using QL method. + void tql2(Vector& d, Vector& e, Matrix& V) const; + + //! Diagonalize matrix for computing eigensystem using QL method. + void tred2(Vector& d, Vector& e, Matrix& V) const; + + //! Set matrix size to \c inRows rows and \c inCols columns; matrix content is lost. + inline void setRowsCols(unsigned int inRows, unsigned int inCols) { + mRows = inRows; mCols = inCols; + vector::resize(mRows*mCols); + } + + //! Throw runtime error with message \c inMessage using parse tree node \c inNode. + void throwError(const string& inMessage, const XML::Iterator& inNode) const; + + private: + // disabled methods + Matrix& add(Vector&, double) const; + Matrix& add(Vector&, const Matrix&) const; + void computeEigens(Vector&, Vector&) const; + Matrix& extract(Vector&, unsigned int, unsigned int, unsigned int, unsigned int) const; + Matrix& extractRow(Vector&, unsigned int) const; + Matrix& invert(Vector&) const; + Matrix& subtract(Vector&, double) const; + Matrix& subtract(Vector&, const Matrix&) const; + Matrix& multiply(Vector&, double) const; + Matrix& multiply(Vector&, const Matrix&) const; + Matrix& transpose(Vector&) const; + + }; + + //! Insert matrix \c inMatrix into output stream \c outStream. + ostream& operator<<(ostream& outStream, const Matrix& inMatrix); + + //! Extract matrix \c outMatrix from %XML document \c inDocument. + XML::Document& operator>>(XML::Document& inDocument, Matrix& outMatrix); + +} + +#endif // PACC_Matrix_hpp + diff --git a/lib/beagle-3.0.3/PACC/Math/QRandSequencer.cpp b/lib/beagle-3.0.3/PACC/Math/QRandSequencer.cpp new file mode 100644 index 0000000..03e5872 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Math/QRandSequencer.cpp @@ -0,0 +1,421 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Math/QRandSequencer.cpp + * \brief Class methods for the Scrambled Halton quasi-random sequence generator. + * \author Christian Gagne + * \author Olivier Teytaud + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/09/10 18:24:08 $ + */ + +#include "Util/Assert.hpp" +#include "Math/QRandSequencer.hpp" + +#include +#include + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + +using namespace PACC; + +/*! + * \brief Construct a low-discrepancy sequence generator of the specified dimensionality. + * \param inDimensionality Dimensionality for the generated sequences. + * \param inRand Random number generator. + */ +QRandSequencer::QRandSequencer(unsigned int inDimensionality, PACC::Randomizer& inRand) : + mDimensionality(inDimensionality), + mCount(0) +{ + if(inDimensionality != 0) reset(mDimensionality, inRand); +} + +/*! + * \brief Compute square root of covariance matrix. + * \param outSqRootCovar Output square root matrix. + * \param inCovar Input covariance matrix. + */ +void QRandSequencer::computeSqRootCovar(PACC::Matrix& outSqRootCovar, PACC::Matrix& inCovar) +{ + Vector lValues; + inCovar.computeEigens(lValues, outSqRootCovar); + for(unsigned int j = 0; j < lValues.size(); ++j) { + double lStDev = std::sqrt(lValues[j]); + for(unsigned int i = 0; i < lValues.size(); ++i) outSqRootCovar(i,j) *= lStDev; + } +} + +/*! + * \brief Generate a low-discrepancy sequence. + * \param outValues Generated values of the sequence + * \param outMaxValues Max range for each value. + */ +void QRandSequencer::generateSequence(std::vector& outValues, std::vector& outMaxValues) +{ + outValues.resize(mBases.size()); + outMaxValues.resize(mBases.size()); + bool lShouldReset=false; + for(unsigned int i = 0; i < mBases.size(); ++i) { + + // Increment the counter values according to their basis. + unsigned int lIndex = 0; + while((lIndex= 1; --j) { + outValues[i] += (mPermutations[i][mCounters[i][j-1]] * lBasesPow); + lBasesPow *= mBases[i]; + } + outMaxValues[i] = lBasesPow; + + // Check if we should reset counters. + if(lBasesPow >= (LONG_MAX/mBases[i])) lShouldReset = true; + } + + // Reset counters when we are getting near LONG_MAX on one component. + if(lShouldReset) { + for(unsigned int i = 0; i < mCounters.size(); ++i) mCounters.clear(); + mCount = 0; + } + else ++mCount; +} + +/*! + * \brief Generate a point vector of Gaussian distribution N(0,I). + * \param outVector Generated vector point. + */ +void QRandSequencer::getGaussianVector(PACC::Vector& outVector) +{ + std::vector lValues, lMaxValues; + generateSequence(lValues, lMaxValues); + PACC_AssertM((lValues.size()%2)==0 && (lMaxValues.size()%2)==0, "getGaussianVector() internal error"); + outVector.resize(lValues.size()); + // Box-Muller method to get gaussian distributions. + for(unsigned int i = 0; i < lValues.size(); i+=2) { + const double lX1 = double(lValues[i]) / double(lMaxValues[i]); + const double lX2 = double(lValues[i+1]) / double(lMaxValues[i+1]); + const double lR = std::sqrt(-2.0 * std::log(1.0 - lX1)); + const double lPhi = 2.0 * M_PI * lX2; + outVector[i] = lR * std::cos(lPhi); + outVector[i+1] = lR * std::sin(lPhi); + } + outVector.resize(mDimensionality); +} + +/*! + * \brief Generate a point vector of gaussian distribution \c N(inCenter,inStdDev*I). + * \param outVector Generated vector point. + * \param inCenter Center of the gaussian distribution. + * \param inStDev Vector of standard deviations for the Gaussian distribution. + + The covariance of the generated distribution is a diagonal matrix with the values in \c inStDev. + + \attention The size of arguments \c inCenter and \c inStdDev must be equal to the + dimensionality of this sequencer. + */ +void QRandSequencer::getGaussianVector(PACC::Vector& outVector, const PACC::Vector& inCenter, const PACC::Vector& inStDev) +{ + PACC_AssertM(inCenter.size() == mDimensionality, "getGaussianVector() invalid size for the center vector"); + PACC_AssertM(inStDev.size() == mDimensionality, "getGaussianVector() invalid size for the stdev vector"); + + // generate N(0,I) vector + getGaussianVector(outVector); + // apply scales + for(unsigned int i = 0; i < outVector.size(); ++i) outVector *= inStDev[i]; + // apply translation + outVector += inCenter; +} + +/*! + * \brief Generate a point vector of gaussian distribution N(inCenter,inCovar). + * \param outVector Generated vector point. + * \param inCenter Center of the gaussian distribution. + * \param inSqRootCovar Square root of the covariance matrix. + + This method must be invoqued with the square root of the distribution covariance matrix C: + \code + C^0.5 = ZD + \endcode + where Z is the matrix of the eigen vectors of C, and D is the diagonal matrix that + contains the square roots of its eigen values. To compute this matrix, the user + should call the QRandSequencer::computeSqRootCovar helper method. + + \attention The size of arguments \c inCenter and \c inSqRootCovar must be compatible + with the dimensionality of this sequencer. + */ +void QRandSequencer::getGaussianVector(PACC::Vector& outVector, const PACC::Vector& inCenter, const PACC::Matrix& inSqRootCovar) +{ + PACC_AssertM(inCenter.size() == mDimensionality, "getGaussianVector() invalid size for the center vector"); + PACC_AssertM((inSqRootCovar.getCols() == mDimensionality) && (inSqRootCovar.getRows()==mDimensionality), + "getGaussianVector() invalid size for the covariance matrix"); + + // generate N(0,I) vector + getGaussianVector(outVector); + // apply transform matrix + outVector = inCenter + inSqRootCovar*outVector; +} + +/*! + * \brief Get a new integer low-discrepancy sequence. + * \param outSequence Generated integer sequence. + * \param inMinValue Minimum value for all components of the sequence. + * \param inMaxValue Maximum value for all components of the sequence. + */ +void QRandSequencer::getIntegerSequence(std::vector& outSequence, long inMinValue, long inMaxValue) +{ + PACC_AssertM(inMinValue < inMaxValue, "getIntegerSequence() min value must be less than max value"); + + std::vector lMinValues(mDimensionality, inMinValue); + std::vector lMaxValues(mDimensionality, inMaxValue); + getIntegerSequence(outSequence, lMinValues, lMaxValues); +} + +/*! + * \brief Get a new integer low-discrepancy sequence. + * \param outSequence Generated integer sequence. + * \param inMinValues Minimum value for each component value of the sequence. + * \param inMaxValues Maximum value for each component value of the sequence. + + \attention The size of arguments \c inMinValues and \c inMaxValues must be equal to the dimensionality of this sequencer. + */ +void QRandSequencer::getIntegerSequence(std::vector& outSequence, const std::vector& inMinValues, const std::vector& inMaxValues) +{ + PACC_AssertM(inMinValues.size() == mDimensionality, "getIntegerSequence() invalid min value vector size"); + PACC_AssertM(inMaxValues.size() == mDimensionality, "getIntegerSequence() invalid max value vector size"); + + std::vector lValues, lMaxValues; + generateSequence(lValues, lMaxValues); + outSequence.resize(mDimensionality); + for(unsigned int i = 0; i < mDimensionality; ++i) { + PACC_AssertM(inMinValues[i] < inMaxValues[i], "getIntegerSequence() min value must be less than max value"); + const unsigned long lMaxMinRange = inMaxValues[i] - inMinValues[i]; + if(lMaxMinRange < (LONG_MAX/20000)) { + outSequence[i] = (lValues[i] * lMaxMinRange) / lMaxValues[i]; + } else { + outSequence[i] = (long)std::floor(double(lValues[i]) / double(lMaxValues[i]) * double(lMaxMinRange)); + } + outSequence[i] += inMinValues[i]; + } +} + +/*! +* \brief Return the internal state of the quasi-random numbers generator. + */ +std::string QRandSequencer::getState(void) const +{ + if(mBases.size()==0) return std::string(""); + std::ostringstream lOSS; + lOSS << mDimensionality << ','; + for(unsigned int i=0; i lValues, lMaxValues; + generateSequence(lValues, lMaxValues); + outVector.resize(mDimensionality); + for(unsigned int i = 0; i < mDimensionality; ++i) { + PACC_AssertM(inMinValues[i] < inMaxValues[i], "getUniformVector() min value must be less than max value"); + const double lMaxMinRange = inMaxValues[i] - inMinValues[i]; + outVector[i] = lMaxMinRange * (double(lValues[i]) / double(lMaxValues[i])); + outVector[i] += inMinValues[i]; + } +} + +/*! + * \brief Reset the low-discrepancy sequence generator. + * \param inDimensionality Dimensionality of the quasirandom number generator. + * \param inRand Random number generator used to scrambled the bases. + */ +void QRandSequencer::reset(unsigned int inDimensionality, PACC::Randomizer& inRand) +{ + // 1000 first prime numbers. + static const unsigned short l1000FirstPrimes[1000] = { + 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127, + 131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257, + 263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401, + 409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563, + 569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709, + 719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877, + 881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031, + 1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163, + 1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297, + 1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451, + 1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579, + 1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721, + 1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873, + 1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017, + 2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153, + 2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311, + 2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447, + 2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633, + 2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749, + 2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903, + 2909,2917,2927,2939,2953,2957,2963,2969,2971,2999,3001,3011,3019,3023,3037,3041,3049,3061,3067, + 3079,3083,3089,3109,3119,3121,3137,3163,3167,3169,3181,3187,3191,3203,3209,3217,3221,3229,3251, + 3253,3257,3259,3271,3299,3301,3307,3313,3319,3323,3329,3331,3343,3347,3359,3361,3371,3373,3389, + 3391,3407,3413,3433,3449,3457,3461,3463,3467,3469,3491,3499,3511,3517,3527,3529,3533,3539,3541, + 3547,3557,3559,3571,3581,3583,3593,3607,3613,3617,3623,3631,3637,3643,3659,3671,3673,3677,3691, + 3697,3701,3709,3719,3727,3733,3739,3761,3767,3769,3779,3793,3797,3803,3821,3823,3833,3847,3851, + 3853,3863,3877,3881,3889,3907,3911,3917,3919,3923,3929,3931,3943,3947,3967,3989,4001,4003,4007, + 4013,4019,4021,4027,4049,4051,4057,4073,4079,4091,4093,4099,4111,4127,4129,4133,4139,4153,4157, + 4159,4177,4201,4211,4217,4219,4229,4231,4241,4243,4253,4259,4261,4271,4273,4283,4289,4297,4327, + 4337,4339,4349,4357,4363,4373,4391,4397,4409,4421,4423,4441,4447,4451,4457,4463,4481,4483,4493, + 4507,4513,4517,4519,4523,4547,4549,4561,4567,4583,4591,4597,4603,4621,4637,4639,4643,4649,4651, + 4657,4663,4673,4679,4691,4703,4721,4723,4729,4733,4751,4759,4783,4787,4789,4793,4799,4801,4813, + 4817,4831,4861,4871,4877,4889,4903,4909,4919,4931,4933,4937,4943,4951,4957,4967,4969,4973,4987, + 4993,4999,5003,5009,5011,5021,5023,5039,5051,5059,5077,5081,5087,5099,5101,5107,5113,5119,5147, + 5153,5167,5171,5179,5189,5197,5209,5227,5231,5233,5237,5261,5273,5279,5281,5297,5303,5309,5323, + 5333,5347,5351,5381,5387,5393,5399,5407,5413,5417,5419,5431,5437,5441,5443,5449,5471,5477,5479, + 5483,5501,5503,5507,5519,5521,5527,5531,5557,5563,5569,5573,5581,5591,5623,5639,5641,5647,5651, + 5653,5657,5659,5669,5683,5689,5693,5701,5711,5717,5737,5741,5743,5749,5779,5783,5791,5801,5807, + 5813,5821,5827,5839,5843,5849,5851,5857,5861,5867,5869,5879,5881,5897,5903,5923,5927,5939,5953, + 5981,5987,6007,6011,6029,6037,6043,6047,6053,6067,6073,6079,6089,6091,6101,6113,6121,6131,6133, + 6143,6151,6163,6173,6197,6199,6203,6211,6217,6221,6229,6247,6257,6263,6269,6271,6277,6287,6299, + 6301,6311,6317,6323,6329,6337,6343,6353,6359,6361,6367,6373,6379,6389,6397,6421,6427,6449,6451, + 6469,6473,6481,6491,6521,6529,6547,6551,6553,6563,6569,6571,6577,6581,6599,6607,6619,6637,6653, + 6659,6661,6673,6679,6689,6691,6701,6703,6709,6719,6733,6737,6761,6763,6779,6781,6791,6793,6803, + 6823,6827,6829,6833,6841,6857,6863,6869,6871,6883,6899,6907,6911,6917,6947,6949,6959,6961,6967, + 6971,6977,6983,6991,6997,7001,7013,7019,7027,7039,7043,7057,7069,7079,7103,7109,7121,7127,7129, + 7151,7159,7177,7187,7193,7207,7211,7213,7219,7229,7237,7243,7247,7253,7283,7297,7307,7309,7321, + 7331,7333,7349,7351,7369,7393,7411,7417,7433,7451,7457,7459,7477,7481,7487,7489,7499,7507,7517, + 7523,7529,7537,7541,7547,7549,7559,7561,7573,7577,7583,7589,7591,7603,7607,7621,7639,7643,7649, + 7669,7673,7681,7687,7691,7699,7703,7717,7723,7727,7741,7753,7757,7759,7789,7793,7817,7823,7829, + 7841,7853,7867,7873,7877,7879,7883,7901,7907,7919 + }; + + // Get prime numbers used as basis. + PACC_AssertM(inDimensionality <= 1000, "reset() dimensionality cannot exceed 1000"); + const unsigned int lDim = inDimensionality + (inDimensionality % 2); + mBases.resize(lDim); + for(unsigned int i=0; i < lDim; ++i) mBases[i] = l1000FirstPrimes[i]; + std::random_shuffle(mBases.begin(), mBases.end(), inRand); + // Reset counters to 0. + mCounters.resize(lDim); + for(unsigned int i=0; i> mDimensionality; + lISS.get(); + const unsigned int lDim = mDimensionality + (mDimensionality % 2); + mBases.resize(lDim); + mPermutations.resize(lDim); + for(unsigned int i=0; i> mBases[i]; + lISS.get(); + mPermutations[i].resize(mBases[i]); + mPermutations[i][0] = 0; + for(unsigned int j=1; j> mPermutations[i][j]; + lISS.get(); + } + } + mCount = 0; + lISS >> mCount; + + // Set counters values. + mCounters.resize(lDim); + for(unsigned int i=0; i 0) { + const unsigned int lRemaining = lCounterI % mBases[i]; + mCounters[i].push_back(lRemaining); + lCounterI = (lCounterI-lRemaining) / mBases[i]; + } + } +} diff --git a/lib/beagle-3.0.3/PACC/Math/QRandSequencer.hpp b/lib/beagle-3.0.3/PACC/Math/QRandSequencer.hpp new file mode 100644 index 0000000..ac85736 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Math/QRandSequencer.hpp @@ -0,0 +1,98 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2005 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Math/QRandSequencer.hpp + * \brief Class definition for the scrambled Halton quasi-random sequence generator. + * \author Christian Gagne + * \author Olivier Teytaud + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:08 $ + */ + +#ifndef PACC_QRandSequencer_hpp +#define PACC_QRandSequencer_hpp + +#include + +#include "Util/Randomizer.hpp" +#include "Math/Vector.hpp" +#include "Math/Matrix.hpp" + +namespace PACC { + +/*! + * \class QRandSequencer PACC/Math/QRandSequencer.hpp "PACC/Math/QRandSequencer.hpp" + * \brief Scrambled Halton quasi-random sequence generator. + * \author Christian Gagne + * \author Olivier Teytaud + * \author Marc Parizeau + * \ingroup Math + * + * Generate low-discrepancy sequences of numbers (quasirandom numbers) using the + * scrambled Halton algorithm. + */ + class QRandSequencer { + + public: + explicit QRandSequencer(unsigned int inDimensionality=0, PACC::Randomizer& inRand=PACC::rand); + + //! Delete this sequence generator. + ~QRandSequencer(void) {} + + static void computeSqRootCovar(PACC::Matrix& outSqRootCovar, PACC::Matrix& inCovar); + + void getGaussianVector(PACC::Vector& outVector); + void getGaussianVector(PACC::Vector& outVector, const PACC::Vector& inCenter, const PACC::Vector& inStDev); + void getGaussianVector(PACC::Vector& outVector, const PACC::Vector& inCenter, const PACC::Matrix& inSqRootCovar); + + void getIntegerSequence(std::vector& outSequence, long inMinValue, long inMaxValue); + void getIntegerSequence(std::vector& outSequence, const std::vector& inMinValues, const std::vector& inMaxValues); + + void getUniformVector(PACC::Vector& outVector, double inMinValue=0., double inMaxValue=1.); + void getUniformVector(PACC::Vector& outVector, const PACC::Vector& inMinValues, const PACC::Vector& inMaxValues); + + std::string getState(void) const; + void setState(const std::string& inState); + + //! \brief Return dimensionality of low-discrepancy sequences. + inline unsigned int getDimensionality(void) const {return mDimensionality;} + + void reset(unsigned int inDimensionality, PACC::Randomizer& inRand=PACC::rand); + + protected: + std::vector mBases; //!< Prime numbers used as bases. + std::vector< std::vector > mCounters; //!< Counter in prime bases. + std::vector< std::vector > mPermutations; //!< Number permutations in given bases. + unsigned int mDimensionality; //!< Dimensionality of the numbers. + unsigned int mCount; //!< Count generated numbers. + + void generateSequence(std::vector& outValues, std::vector& outMaxValues); + }; +} + +#endif // PACC_QRandSequencer_hpp diff --git a/lib/beagle-3.0.3/PACC/Math/Vector.cpp b/lib/beagle-3.0.3/PACC/Math/Vector.cpp new file mode 100644 index 0000000..73b72fe --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Math/Vector.cpp @@ -0,0 +1,132 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2004 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Math/Vector.cpp + * \brief Method definitions for class Vector. + * \author Marc Parizeau and Christian Gagné, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.7.2.1 $ + * $Date: 2007/09/10 18:24:08 $ + */ + +#include "Math/Vector.hpp" +#include "Util/StringFunc.hpp" +#include + +using namespace std; +using namespace PACC; + +/*! +Vector elements must be enumerated in row order, and seperated by semi-columns (';'), comas (','), or white space (the semi-column is the recommended delimiter). For example: +\verbatim +1;2;3;4 +\endverbatim +The number of elements must match the value of the "size" attribute. + +This method also supports the following deprecated markup style: +\verbatim + + + + ... + +\endverbatim +Any read error raises an std::runtime_error exception. +*/ +string Vector::read(const XML::Iterator& inNode) +{ + if(!inNode) throw runtime_error("Vector::read() nothing to read!"); + clear(); + for(XML::Iterator lChild = inNode->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == XML::eString) { + // this is the recommended markup style + istringstream lStream(lChild->getValue()); + Tokenizer lTokenizer(lStream); + lTokenizer.setDelimiters(" \n\r\t,;", ""); + string lToken; + while(lTokenizer.getNextToken(lToken)) { + push_back(String::convertToFloat(lToken)); + } + } else if(lChild->getType() == XML::eData && lChild->getValue() == "Float") { + string lValue; + if((lValue = lChild->getAttribute("v")) != "" || (lValue = lChild->getAttribute("value")) != "") push_back(String::convertToFloat(lValue)); + else if(lChild->getFirstChild() && lChild->getFirstChild()->getType() == XML::eString) push_back(String::convertToFloat(lChild->getFirstChild()->getValue())); + } + } + mCols = 1; + mRows = vector::size(); + if(inNode->isDefined("size")) { + unsigned int lSize = String::convertToInteger(inNode->getAttribute("size")); + if(mRows != lSize) throwError("Vector::read() number of elements does not match the size attribute", inNode); + } + string lName = inNode->getAttribute("name"); + if(lName != "") mName = lName; + return lName; +} + +/*! + See Vector::read for a description of the write format. By default, the precision + of the output is set to 15 digits. This value can be changed using method + Matrix::setPrecision. + */ +void Vector::write(XML::Streamer& outStream, const string& inTag) const +{ + PACC_AssertM(mCols == 1, "write() invalid vector!"); + outStream.openTag(inTag, false); + if(mName != "") outStream.insertAttribute("name", mName); + outStream.insertAttribute("size", mRows); + if(size() > 0) { + ostringstream lContent; + lContent.precision(mPrec); + for(unsigned int i = 0; i < mRows; ++i) { + if(i != 0) lContent << ";"; + lContent << (*this)[i]; + } + outStream.insertStringContent(lContent.str()); + } + outStream.closeTag(); +} + +/*! +*/ +ostream& PACC::operator<<(ostream &outStream, const Vector& inVector) +{ + XML::Streamer lStream(outStream); + inVector.write(lStream); + return outStream; +} + +/*! +This method uses the first data tag of the parse tree to read the vector. The corresponding tree root is then erased. Any read error throws a std::runtime_error. +*/ +XML::Document& PACC::operator>>(XML::Document& inDocument, Vector& outVector) +{ + XML::Iterator lNode = inDocument.getFirstDataTag(); + outVector.read(lNode); + inDocument.erase(lNode); + return inDocument; +} diff --git a/lib/beagle-3.0.3/PACC/Math/Vector.hpp b/lib/beagle-3.0.3/PACC/Math/Vector.hpp new file mode 100644 index 0000000..072cf05 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Math/Vector.hpp @@ -0,0 +1,266 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2004 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Math/Vector.hpp + * \brief Definition of class Vector. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/09/10 18:24:08 $ + */ + +#ifndef PACC_Vector_hpp +#define PACC_Vector_hpp + +#include "Util/Assert.hpp" +#include "Math/Matrix.hpp" +#include "XML/Document.hpp" +#include "XML/Streamer.hpp" +#include + +namespace PACC { + + using namespace std; + + /*! + \brief Single column matrix. + \author Marc Parizeau and Christian Gagné, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Math + \ingroup MLP + + This class encapsulates a vector as a single column matrix. + + \attention Vector indices start at 0. + */ + class Vector : public Matrix { + public: + //! Construct an empty vector with name \c inName. + Vector(const string& inName="") : Matrix(0, 1, inName) {} + + //! Constructs a vector of size \c inSize, initialized with 0, and withname \c inName. + explicit Vector(unsigned int inSize, const string& inName="") : Matrix(inSize, 1, inName) {} + + //! Constructs a vector of size \c inSize, initialized with value \c inValue, and with name \c inName. + explicit Vector(unsigned int inSize, double inValue, const string& inName="") : Matrix(inSize, 1, inValue, inName) {} + + //! Convert matrix to vector. + Vector(const Matrix& inMatrix) : Matrix(inMatrix) { + PACC_AssertM(mCols == 1, "Vector() cannot convert matrix to vector!"); + } + + //! Return reference to element \c inRow. + inline double& operator[](unsigned int inRow) { + PACC_AssertM(mCols == 1, "operator[]() invalid vector!"); + PACC_AssertM(inRow < mRows, "invalid vector index!"); + return vector::operator[](inRow); + } + + //! Return const reference to element \c inRow. + inline const double& operator[](unsigned int inRow) const { + PACC_AssertM(mCols == 1, "operator[]() invalid vector!"); + PACC_AssertM(inRow < mRows, "invalid vector index!"); + return vector::operator[](inRow); + } + + //! Add scalar \c inScalar to this vector, and return new vector. + inline Vector operator+(double inScalar) const { + Matrix lMatrix; + return add(lMatrix, inScalar); + } + + //! Add scalar \c inScalar to this vector, and assign result to this vector. + inline Vector& operator+=(double inScalar) { + return (Vector&) add((Matrix&)*this, inScalar); + } + + //! Add vector \c inVector to this vector, and return new vector. + inline Vector operator+(const Vector& inVector) const { + Matrix lMatrix; + return add(lMatrix, inVector); + } + + //! Add vector \c inVector to this vector, and assign result to this vector. + inline Vector& operator+=(const Vector& inVector) { + return (Vector&) add((Matrix&)*this, inVector); + } + + //! Add matrix \c inMatrix to this vector, and return new vector. + inline Vector operator+(const Matrix& inMatrix) const { + Matrix lMatrix; + return add(lMatrix, inMatrix); + } + + //! Add matrix \c inMatrix to this vector, and assign result to this vector. + inline Vector& operator+=(const Matrix& inMatrix) { + return (Vector&) add((Matrix&)*this, inMatrix); + } + + //! Subtract scalar \c inScalar from this vector, and return new vector. + inline Vector operator-(double inScalar) const { + Matrix lMatrix; + return subtract(lMatrix, inScalar); + } + + //! Subtract scalar \c inScalar from this vector, and assign result to this vector. + inline Vector& operator-=(double inScalar) { + return (Vector&) subtract((Matrix&)*this,inScalar); + } + + //! Subtract vector \c inVector from this vector, and return new vector. + inline Vector operator-(const Vector& inVector) const { + Matrix lMatrix; + return subtract(lMatrix, inVector); + } + + //! Subtract vector \c inVector from this vector, and assign result to this vector. + inline Vector& operator-=(const Vector& inVector) { + return (Vector&) subtract((Matrix&)*this, inVector); + } + + //! Subtract matrix \c inMatrix from this vector, and return new vector. + inline Vector operator-(const Matrix& inMatrix) const { + Matrix lMatrix; + return subtract(lMatrix, inMatrix); + } + + //! Subtract matrix \c inMatrix from this vector, and assign result to this vector. + inline Vector& operator-=(const Matrix& inMatrix) { + return (Vector&) subtract((Matrix&)*this, inMatrix); + } + + //! Multiply scalar \c inScalar to this vector, and return new vector. + inline Vector operator*(double inScalar) const { + Matrix lMatrix; + return multiply(lMatrix, inScalar); + } + + //! Multiply scalar \c inScalar to this vector, and assign result to this vector. + inline Vector& operator*=(double inScalar) { + return (Vector&) multiply((Matrix&)*this, inScalar); + } + + //! Multiply matrix \c inMatrix to this vector, and return new matrix. + inline Matrix operator*(const Matrix& inMatrix) const { + Matrix lMatrix; + return multiply(lMatrix, inMatrix); + } + + //! Compute inner product of this vector with vector \c inVector. + inline double operator*(const Vector& inVector) const { + PACC_AssertM(mRows == inVector.mRows, "operator*() vector mismatch for inner product!"); + double lResult = 0; + for(unsigned int i = 0; i < mRows; ++i) lResult += (*this)[i] * inVector[i]; + return lResult; + } + + //! Compute L1 norm for this vector. + inline double computeL1Norm(void) const { + PACC_AssertM(mCols == 1, "computeL1Norm() invalid vector!"); + double lResult = 0; + for(unsigned int i = 0; i < mRows; ++i) lResult += fabs((*this)[i]); + return lResult; + } + + //! Compute L2 norm for this vector. + inline double computeL2Norm(void) const { + PACC_AssertM(mCols == 1, "computeL2Norm() invalid vector!"); + double lResult = 0; + for(unsigned int i = 0; i < mRows; ++i) lResult += (*this)[i]*(*this)[i]; + return sqrt(lResult); + } + + //! Compute square of L2 norm for this vector. + inline double computeL2Norm2(void) const { + PACC_AssertM(mCols == 1, "computeL2Norm2() invalid vector!"); + double lResult = 0; + for(unsigned int i = 0; i < mRows; ++i) lResult += (*this)[i]*(*this)[i]; + return lResult; + } + + //! Compute Linf norm for this vector. + inline double computeLinfNorm(void) const { + PACC_AssertM(mCols == 1, "computeLinfNorm() invalid vector!"); + double lResult = 0; + for(unsigned int i = 0; i < mRows; ++i) if(lResult < fabs((*this)[i])) lResult = (*this)[i]; + return lResult; + } + + //! Return index of max element. + inline int getArgMax(void) const { + PACC_AssertM(mCols == 1, "getArgMax() invalid number of columns!"); + return distance(begin(), max_element(begin(), end())); + } + + //! Return max element. + inline double getMax(void) const { + PACC_AssertM(mCols == 1, "getMax() invalid number of columns!"); + return *max_element(begin(), end()); + } + + //! Return index of min element. + inline int getArgMin(void) const { + PACC_AssertM(mCols == 1, "getArgMin() invalid number of columns!"); + return distance(begin(), min_element(begin(), end())); + } + + //! Return min element. + inline double getMin(void) const { + PACC_AssertM(mCols == 1, "getMin() invalid number of columns!"); + return *min_element(begin(), end()); + } + + //! Return size of this vector. + inline unsigned int size(void) const { + PACC_AssertM(mCols == 1, "size() invalid vector!"); + return mRows; + } + + //! Resize this vector to \c inSize dimensions. + inline void resize(unsigned int inSize) { + PACC_AssertM(mCols == 1, "resize() invalid vector!"); + Matrix::resize(inSize,1); + } + + //! Read from parse tree node \c inNode. + string read(const XML::Iterator& inNode); + + //! Write this vector into streamer \c outStream using tag name \c inTag. + void write(XML::Streamer& outStream, const string& inTag="Vector") const; + + }; + + //! Insert vector \c inVector into output stream \c outStream. + ostream& operator<<(ostream& outStream, const Vector& inVector); + + //! Extract vector \c outVector from %XML document \c inDocument. + XML::Document& operator>>(XML::Document& inDocument, Vector& outVector); + +} + +#endif // PACC_Vector_hpp + diff --git a/lib/beagle-3.0.3/PACC/SVG.hpp b/lib/beagle-3.0.3/PACC/SVG.hpp new file mode 100644 index 0000000..bc2235d --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG.hpp @@ -0,0 +1,44 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*!\file PACC/SVG.hpp + * \brief Include all headers for the %SVG drawing API. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.4 $ + * $Date: 2005/10/05 13:38:26 $ + */ + +/*!\namespace PACC::SVG + * \brief Scalable vector graphics classes. + */ + +/*!\defgroup SVG Portable scalable vector graphics classes (SVG) + */ + +#include "SVG/Canvas.hpp" +#include "SVG/Path.hpp" +#include "SVG/Types.hpp" diff --git a/lib/beagle-3.0.3/PACC/SVG/.deps/Canvas.Plo b/lib/beagle-3.0.3/PACC/SVG/.deps/Canvas.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG/.deps/Canvas.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/SVG/.deps/Styles.Plo b/lib/beagle-3.0.3/PACC/SVG/.deps/Styles.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG/.deps/Styles.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/SVG/.deps/Types.Plo b/lib/beagle-3.0.3/PACC/SVG/.deps/Types.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG/.deps/Types.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/SVG/.deps/libpacc-svg.Plo b/lib/beagle-3.0.3/PACC/SVG/.deps/libpacc-svg.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG/.deps/libpacc-svg.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/SVG/Canvas.cpp b/lib/beagle-3.0.3/PACC/SVG/Canvas.cpp new file mode 100644 index 0000000..62c22bc --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG/Canvas.cpp @@ -0,0 +1,165 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*!\file PACC/SVG/Canvas.cpp + * \brief Class methods for the SVG containers (Group, Frame, and Canvas). + * \author Marc Parizeau and Michel Fortin, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:08 $ + */ + +#include "SVG/Canvas.hpp" +#include "XML/Finder.hpp" +#include +#include + +using namespace std; +using namespace PACC; + +/*! +*/ +void SVG::Canvas::clear(void) +{ + // find embedded group tag + XML::Finder lFinder(this); + XML::Iterator lPos = lFinder.find("/svg/g"); + ((Group&)*lPos).clear(); + // send empty canvas to viewer + updateViewer(); +} + +/*! + */ +SVG::Canvas& SVG::Canvas::operator<<(const SVG::Primitive& inElement) +{ + // find embedded group tag + XML::Finder lFinder(this); + XML::Iterator lPos = lFinder.find("/svg/g"); + // insert new element into internal group. + ((Group&)*lPos) << inElement; + // send serialized canvas to viewer + updateViewer(); + return *this; +} + +/*! + */ +SVG::Canvas& SVG::Canvas::operator=(const SVG::Frame &inFrame) +{ + // find embedded group tag + XML::Finder lFinder(this); + XML::Iterator lPos = lFinder.find("/svg/g"); + ((Group&)*lPos).clear(); + ((Group&)*lPos) << inFrame; + updateViewer(); + return *this; +} + +//! +string SVG::Canvas::getTitle(void) const +{ + // find embedded title tag + XML::Finder lFinder((XML::Node*)this); + XML::Iterator lPos = lFinder.find("/svg/title"); + // return title value + if(lPos && lPos->getFirstChild()) return lPos->getFirstChild()->getValue(); + else return ""; +} + +//! This method also adjusts the frame attributes, and connect to the viewer. +void SVG::Canvas::initCanvas(const string& inTitle) +{ + // insert title + setTitle(inTitle); + // insert xmlns attribute + setAttribute("xmlns", "http://www.w3.org/2000/svg"); + // remove position attributes + removeAttribute("x"); + removeAttribute("y"); + // insert change of referential group + SVG::Group lGroup; + lGroup.setTransform(Scale(1, -1)+Translate(0, -String::convertToFloat(getAttribute("height")))); + insertAsLastChild(new Node((Node&)lGroup)); + // allocate socket + if(mSocket) delete mSocket; + mSocket = new Socket::Cafe(Socket::Address(mPort, mAddress)); + // send serialize canvas to viewer + ostringstream lStream; + lStream << "NEWW "; + write(lStream); + mSocket->sendMessage(lStream.str()); + mSocket->receiveMessage(mWinID); +} + +//! +void SVG::Canvas::updateViewer(void) const +{ + // make the message + ostringstream lStream; + lStream << "REFR" << mWinID; + write(lStream); + // try send the message + try { + mSocket->sendMessage(lStream.str()); + } catch(const Socket::Exception& inErr) { + // try reconnecting once + mSocket->connect(Socket::Address(mPort, mAddress)); + mSocket->sendMessage(lStream.str()); + } +} + +//! +void SVG::Canvas::setTitle(const string& inTitle) +{ + // find embedded title tag + XML::Finder lFinder((XML::Node*)this); + XML::Iterator lPos = lFinder.find("/svg/title"); + // update title value + if(lPos) { + if(lPos->getFirstChild()) lPos->getFirstChild()->setValue(inTitle); + else lPos->insertAsLastChild(new Node(inTitle, XML::eString)); + } else { + lPos = insertAsLastChild(new Node("title")); + lPos->insertAsLastChild(new Node(inTitle, XML::eString)); + } +} + +/*! + */ +SVG::Point SVG::Canvas::waitForClick(int &outButtonClicked, double inMaxDelay) const +{ + ostringstream lOutStream; + lOutStream << "GCLK" << mWinID; + mSocket->sendMessage(lOutStream.str()); + string lMessage; + mSocket->receiveMessage(lMessage); + Point lPos; + istringstream lInStream(lMessage); + lInStream >> lPos.x >> lPos.y >> outButtonClicked; + lPos.y = getSize().height - lPos.y; + return lPos; +} diff --git a/lib/beagle-3.0.3/PACC/SVG/Canvas.hpp b/lib/beagle-3.0.3/PACC/SVG/Canvas.hpp new file mode 100644 index 0000000..d55500a --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG/Canvas.hpp @@ -0,0 +1,116 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/SVG/Canvas.hpp + * \brief Class definition for the SVG drawing canvas. + * \author Marc Parizeau and Michel Fortin, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.6.2.1 $ + * $Date: 2007/09/10 18:24:08 $ + */ + +#ifndef PACC_SVG_Canvas_hpp_ +#define PACC_SVG_Canvas_hpp_ + +#include "SVG/Frame.hpp" +#include "Socket/Address.hpp" +#include "Socket/Cafe.hpp" + +namespace PACC { + + namespace SVG { + + using namespace std; + + /*!\brief Specialized frame to display on screen graphics. + * \ingroup SVG + * + * A canvas opens a TCP/IP connection with a running viewer + * application on the network. By default it connects to the localhost at port 61250. + * + * The viewer opens a window showing the canvas. Changes made to the + * canvas are updated in real-time on the viewer side. + */ + class Canvas : public Frame { + public: + //! Pop canvas on viewer at address \c inAddress:inPort with title \c inTitle and size \c inSize. + Canvas(const string &inTitle, const Size &inSize, const string &inAddress="localhost", unsigned int inPort=61250) : Frame(Point(0, 0), inSize), mAddress(inAddress), mPort(inPort), mSocket(0) { + initCanvas(inTitle); + } + + //! Pop canvas on viewer at address \c inAddress:inPort with title \c inTitle, size \c inSize, and style \c inStyle. + Canvas(const string &inTitle, const Size &inSize, const Style &inStyle, const string &inAddress="localhost", unsigned int inPort=61250) : Frame(Point(0, 0), inSize, inStyle), mAddress(inAddress), mPort(inPort), mSocket(0) { + initCanvas(inTitle); + } + + //! Pop canvas on viewer at address \c inAddress:inPort with title \c inTitle and using frame \c inFrame. + Canvas(const string &inTitle, const Frame &inFrame, const string &inAddress="localhost", unsigned int inPort=61250) : Frame(inFrame), mAddress(inAddress), mPort(inPort), mSocket(0) { + initCanvas(inTitle); + } + + //! Delete canvas. + ~Canvas(void) {if(mSocket) delete mSocket;} + + //! Assign frame \c inFrame to this canvas. + Canvas &operator=(const Frame& inFrame); + + //! Insert graphic primitive \c inGraphic into this canvas. + Canvas &operator<<(const Primitive& inGraphic); + + //! Remove all primitives in this Canvas. + void clear(void); + + //! Return title of this canvas. + string getTitle() const; + + //! Set title of this canvas. + void setTitle(const string& inTitle); + + //! Wait up to \c inMaxDelay seconds for the user to click a mouse button. + Point waitForClick(int &outButtonClicked, double inMaxDelay=0) const; + + private: + string mAddress; //getAttribute("id") != inPrimitive.getAttribute("id")) ++lPos; + if(lPos) *lPos = inPrimitive; + else insertAsLastChild(new Node(inPrimitive)); + } else insertAsLastChild(new Node(inPrimitive)); + return *this; + } + + //! Return the number of primitives in this group. + unsigned count() const {return getChildCount();} + //! Remove all primitives in this group. + void clear() {eraseChildren();} + + protected: + //! Make group from name \c inName and attribute list \c inAttributes. + Group(const string& inName, const XML::AttributeList& inAttributes = XML::AttributeList()): Primitive(inName, inAttributes) {} + + }; + + } // end of namespace SVG + +} // end of namespace PACC + +#endif //PACC_SVG_Group_hpp_ diff --git a/lib/beagle-3.0.3/PACC/SVG/Makefile b/lib/beagle-3.0.3/PACC/SVG/Makefile new file mode 100644 index 0000000..701f5ed --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG/Makefile @@ -0,0 +1,762 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# PACC/SVG/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = PACC/SVG +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(paccsvg_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccsvgdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libpacc_svg_la_DEPENDENCIES = \ + $(top_srcdir)/PACC/Socket/libpacc-socket.la \ + $(top_srcdir)/PACC/Threading/libpacc-threading.la \ + $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la +am__libpacc_svg_la_SOURCES_DIST = Canvas.cpp Styles.cpp Types.cpp +am__objects_1 = Canvas.lo Styles.lo Types.lo +#am_libpacc_svg_la_OBJECTS = $(am__objects_1) +nodist_libpacc_svg_la_OBJECTS = libpacc-svg.lo +libpacc_svg_la_OBJECTS = $(am_libpacc_svg_la_OBJECTS) \ + $(nodist_libpacc_svg_la_OBJECTS) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +libpacc_svg_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libpacc_svg_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/Canvas.Plo ./$(DEPDIR)/Styles.Plo \ + ./$(DEPDIR)/Types.Plo ./$(DEPDIR)/libpacc-svg.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libpacc_svg_la_SOURCES) $(nodist_libpacc_svg_la_SOURCES) +DIST_SOURCES = $(am__libpacc_svg_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +HEADERS = $(paccsvg_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/PACC/SVG +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/PACC/SVG +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +PACC_SVG_SRC_VAR = \ +Canvas.cpp \ +Styles.cpp \ +Types.cpp + +paccsvgdir = $(includedir)/SVG +paccsvg_HEADERS = \ +Canvas.hpp \ +Frame.hpp \ +Group.hpp \ +Path.hpp \ +Primitives.hpp \ +Styles.hpp \ +Transforms.hpp \ +Types.hpp + +lib_LTLIBRARIES = libpacc-svg.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_svg_la_LIBADD = \ +$(top_srcdir)/PACC/Socket/libpacc-socket.la \ +$(top_srcdir)/PACC/Threading/libpacc-threading.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la + +libpacc_svg_la_LDFLAGS = -no-undefined -release 1.3.1b +nodist_libpacc_svg_la_SOURCES = libpacc-svg.cpp +#libpacc_svg_la_SOURCES = $(PACC_SVG_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu PACC/SVG/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu PACC/SVG/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libpacc-svg.la: $(libpacc_svg_la_OBJECTS) $(libpacc_svg_la_DEPENDENCIES) $(EXTRA_libpacc_svg_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libpacc_svg_la_LINK) -rpath $(libdir) $(libpacc_svg_la_OBJECTS) $(libpacc_svg_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/Canvas.Plo # am--include-marker +include ./$(DEPDIR)/Styles.Plo # am--include-marker +include ./$(DEPDIR)/Types.Plo # am--include-marker +include ./$(DEPDIR)/libpacc-svg.Plo # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-paccsvgHEADERS: $(paccsvg_HEADERS) + @$(NORMAL_INSTALL) + @list='$(paccsvg_HEADERS)'; test -n "$(paccsvgdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(paccsvgdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(paccsvgdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(paccsvgdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(paccsvgdir)" || exit $$?; \ + done + +uninstall-paccsvgHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(paccsvg_HEADERS)'; test -n "$(paccsvgdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(paccsvgdir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccsvgdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +#clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/Canvas.Plo + -rm -f ./$(DEPDIR)/Styles.Plo + -rm -f ./$(DEPDIR)/Types.Plo + -rm -f ./$(DEPDIR)/libpacc-svg.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-paccsvgHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/Canvas.Plo + -rm -f ./$(DEPDIR)/Styles.Plo + -rm -f ./$(DEPDIR)/Types.Plo + -rm -f ./$(DEPDIR)/libpacc-svg.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES uninstall-paccsvgHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-paccsvgHEADERS install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am uninstall-libLTLIBRARIES uninstall-paccsvgHEADERS + +.PRECIOUS: Makefile + +libpacc-svg.cpp: + rm -f libpacc-svg.cpp + echo "// Generated automatically by make" > libpacc-svg.cpp + echo >> libpacc-svg.cpp + echo $(PACC_SVG_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-svg.cpp + +clean-generic: + rm -f libpacc-svg.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/PACC/SVG/Makefile.am b/lib/beagle-3.0.3/PACC/SVG/Makefile.am new file mode 100644 index 0000000..973d3fd --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG/Makefile.am @@ -0,0 +1,36 @@ +PACC_SVG_SRC_VAR = \ +Canvas.cpp \ +Styles.cpp \ +Types.cpp +paccsvgdir = $(includedir)/SVG +paccsvg_HEADERS = \ +Canvas.hpp \ +Frame.hpp \ +Group.hpp \ +Path.hpp \ +Primitives.hpp \ +Styles.hpp \ +Transforms.hpp \ +Types.hpp +lib_LTLIBRARIES = libpacc-svg.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_svg_la_LIBADD = \ +$(top_srcdir)/PACC/Socket/libpacc-socket.la \ +$(top_srcdir)/PACC/Threading/libpacc-threading.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la +libpacc_svg_la_LDFLAGS = -no-undefined -release @PACC_VERSION@ +if FAST_COMPILATION +libpacc-svg.cpp: + rm -f libpacc-svg.cpp + echo "// Generated automatically by make" > libpacc-svg.cpp + echo >> libpacc-svg.cpp + echo $(PACC_SVG_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-svg.cpp + +clean-generic: + rm -f libpacc-svg.cpp + +nodist_libpacc_svg_la_SOURCES = libpacc-svg.cpp +else +libpacc_svg_la_SOURCES = $(PACC_SVG_SRC_VAR) +endif diff --git a/lib/beagle-3.0.3/PACC/SVG/Makefile.in b/lib/beagle-3.0.3/PACC/SVG/Makefile.in new file mode 100644 index 0000000..e51da36 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG/Makefile.in @@ -0,0 +1,762 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = PACC/SVG +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(paccsvg_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccsvgdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libpacc_svg_la_DEPENDENCIES = \ + $(top_srcdir)/PACC/Socket/libpacc-socket.la \ + $(top_srcdir)/PACC/Threading/libpacc-threading.la \ + $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la +am__libpacc_svg_la_SOURCES_DIST = Canvas.cpp Styles.cpp Types.cpp +am__objects_1 = Canvas.lo Styles.lo Types.lo +@FAST_COMPILATION_FALSE@am_libpacc_svg_la_OBJECTS = $(am__objects_1) +@FAST_COMPILATION_TRUE@nodist_libpacc_svg_la_OBJECTS = libpacc-svg.lo +libpacc_svg_la_OBJECTS = $(am_libpacc_svg_la_OBJECTS) \ + $(nodist_libpacc_svg_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libpacc_svg_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libpacc_svg_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/Canvas.Plo ./$(DEPDIR)/Styles.Plo \ + ./$(DEPDIR)/Types.Plo ./$(DEPDIR)/libpacc-svg.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libpacc_svg_la_SOURCES) $(nodist_libpacc_svg_la_SOURCES) +DIST_SOURCES = $(am__libpacc_svg_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +HEADERS = $(paccsvg_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +PACC_SVG_SRC_VAR = \ +Canvas.cpp \ +Styles.cpp \ +Types.cpp + +paccsvgdir = $(includedir)/SVG +paccsvg_HEADERS = \ +Canvas.hpp \ +Frame.hpp \ +Group.hpp \ +Path.hpp \ +Primitives.hpp \ +Styles.hpp \ +Transforms.hpp \ +Types.hpp + +lib_LTLIBRARIES = libpacc-svg.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_svg_la_LIBADD = \ +$(top_srcdir)/PACC/Socket/libpacc-socket.la \ +$(top_srcdir)/PACC/Threading/libpacc-threading.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la + +libpacc_svg_la_LDFLAGS = -no-undefined -release @PACC_VERSION@ +@FAST_COMPILATION_TRUE@nodist_libpacc_svg_la_SOURCES = libpacc-svg.cpp +@FAST_COMPILATION_FALSE@libpacc_svg_la_SOURCES = $(PACC_SVG_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu PACC/SVG/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu PACC/SVG/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libpacc-svg.la: $(libpacc_svg_la_OBJECTS) $(libpacc_svg_la_DEPENDENCIES) $(EXTRA_libpacc_svg_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libpacc_svg_la_LINK) -rpath $(libdir) $(libpacc_svg_la_OBJECTS) $(libpacc_svg_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Canvas.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Styles.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Types.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpacc-svg.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-paccsvgHEADERS: $(paccsvg_HEADERS) + @$(NORMAL_INSTALL) + @list='$(paccsvg_HEADERS)'; test -n "$(paccsvgdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(paccsvgdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(paccsvgdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(paccsvgdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(paccsvgdir)" || exit $$?; \ + done + +uninstall-paccsvgHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(paccsvg_HEADERS)'; test -n "$(paccsvgdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(paccsvgdir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccsvgdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +@FAST_COMPILATION_FALSE@clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/Canvas.Plo + -rm -f ./$(DEPDIR)/Styles.Plo + -rm -f ./$(DEPDIR)/Types.Plo + -rm -f ./$(DEPDIR)/libpacc-svg.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-paccsvgHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/Canvas.Plo + -rm -f ./$(DEPDIR)/Styles.Plo + -rm -f ./$(DEPDIR)/Types.Plo + -rm -f ./$(DEPDIR)/libpacc-svg.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES uninstall-paccsvgHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-paccsvgHEADERS install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am uninstall-libLTLIBRARIES uninstall-paccsvgHEADERS + +.PRECIOUS: Makefile + +@FAST_COMPILATION_TRUE@libpacc-svg.cpp: +@FAST_COMPILATION_TRUE@ rm -f libpacc-svg.cpp +@FAST_COMPILATION_TRUE@ echo "// Generated automatically by make" > libpacc-svg.cpp +@FAST_COMPILATION_TRUE@ echo >> libpacc-svg.cpp +@FAST_COMPILATION_TRUE@ echo $(PACC_SVG_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-svg.cpp + +@FAST_COMPILATION_TRUE@clean-generic: +@FAST_COMPILATION_TRUE@ rm -f libpacc-svg.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/PACC/SVG/Path.hpp b/lib/beagle-3.0.3/PACC/SVG/Path.hpp new file mode 100644 index 0000000..617e8cb --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG/Path.hpp @@ -0,0 +1,223 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/SVG/Path.hpp + * \brief Class definition for the SVG path primitive. + * \author Marc Parizeau and Michel Fortin, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:08 $ + */ + +#ifndef PACC_SVG_Path_hpp_ +#define PACC_SVG_Path_hpp_ + +#include "SVG/Primitives.hpp" +#include "SVG/Styles.hpp" +#include "SVG/Types.hpp" + +namespace PACC { + + namespace SVG { + + using namespace std; + + // forward declaration + class PathData; + + /*!\brief Graphic primitive for paths. + * \ingroup SVG + * + * \see pathcommands + */ + class Path : public Primitive { + public: + //! Make an empty path with style \c inStyle. + explicit Path(const Style& inStyle = Style()) : Primitive("path", inStyle) {} + /*!\brief Make a path command with data \c inPath and style \c inStyle. + * + * This constructor gives a already defined path. You can + * always add more commands witht the += operator. + */ + Path(const PathData& inPath, const Style& inStyle = Style()) : Primitive("path", inStyle) { + setAttribute("d", (string&)inPath); + } + + //! Return the result of concatenating this path with path data \c inCommands. + Path operator+(const PathData& inCommands) const { + return Path(*this) += inCommands; + } + //! Append commands \c inCommands to this path. + Path &operator+=(const PathData &inCommands) { + string lDefinition = getAttribute("d"); + lDefinition += string(" ") + (string&)inCommands; + setAttribute("d", lDefinition); + return *this; + } + }; + + /*!\brief %Data defining a path. + * \ingroup SVG + * + * This is the base class for path commands. It is not possible to create + * an instance of this class directly. Instead you should use one of the + * subclasses that provide real functionalities. + */ + class PathData : protected string { + public: + //! Return the result of concatenating this path data with \c inData. + PathData operator+(const PathData &inData) { + return PathData((string &)(*this) + " " + inData); + } + + protected: + //! Make data path from string \c inValue. + PathData(const string &inValue) : string(inValue) {} + }; + + //! \brief %Path command for starting a new subpath at given coordinate. + //! \ingroup SVG + class MoveTo : public PathData { + public: + //! make moveto from point \c inPoint. + MoveTo(const Point &inPoint) : PathData(string("M") + inPoint.getStringValue()) {} + //! Make moveto from coordinates \c inX and \c inY. + MoveTo(float inX, float inY) : PathData(string("M") + Point(inX, inY).getStringValue()) {} + }; + + //! \brief %Path command for drawing a line. + //! \ingroup SVG + class LineTo : public PathData { + public: + //! Make lineto with point \c inPoint. + LineTo(const Point &inPoint) : PathData(string("L") + inPoint.getStringValue()) {} + //! Make lineto with coordinates \c inX and \c inY, + LineTo(float inX, float inY) : PathData(string("L") + Point(inX, inY).getStringValue()) {} + }; + + /*!\brief %Path command to close the current subpath. + * \ingroup SVG + * + * This command close the subpath by drawing a straight line from the + * current point to current subpath's initial point. + */ + class ClosePath : public PathData { + public: + //! Default constructor. + ClosePath() : PathData("z") {} + }; + + //! \brief %Path command to draw a cubic Bezier curve. + //! \ingroup SVG + class CubicCurveTo : public PathData { + public: + //! Make cubic curve to point \c inPoint, using control points \c inCtlPoint/ and \c inCtlPoint2; + CubicCurveTo(const Point &inPoint, const Point &inCtlPoint1, const Point &inCtlPoint2) : PathData("C" + inCtlPoint1.getStringValue() + " " + inCtlPoint2.getStringValue() + " " + inPoint.getStringValue()) {} + + /*!\brief Make cubic curve to point \c inPoint, using a single control point \c inCtlPoint. + * + * The beginning control point is assumed to be the reflection of the + * end control point on the previous command relative to the current + * point. If previous command is not a CubicCurveTo, assume the end + * control point is coincident with the current point. + */ + CubicCurveTo(const Point &inPoint, const Point &inCtlPoint) : PathData("S" + inCtlPoint.getStringValue() + " " + inPoint.getStringValue()) {} + }; + + //! \brief %Path command to draw a quadratic Bezier curve. + //! \ingroup SVG + class QuadraticCurveTo : public PathData { + public: + //! Make quadratic curve to point \c inPoint, using control point \c inCtlPoint. + QuadraticCurveTo(const Point &inPoint, const Point &inCtlPoint) : PathData("Q" + inCtlPoint.getStringValue() + " " + " " + inPoint.getStringValue()) {} + /*!\brief Make quadratic curve to point \c inPoint, without using any control point. + * + * The control point is assumed to be the reflection of the control + * point on the previous command relative to the current point. If + * previous command is not a QuadraticCurveTo, assume the control point + * is coincident with the current point. + */ + QuadraticCurveTo(const Point &inPoint) : PathData("S" + inPoint.getStringValue()) {} + }; + + /*!\brief %Path command to draw an elliptical arc. + * \ingroup SVG + * + * Draws an elliptical arc from the current point to given coordinates. The + * size and orientation of the ellipse are defined by x-radius and y-radius + * and an x-axis-rotation, which indicates how the ellipse as a whole is + * rotated relative to the current coordinate system. The center of the + * ellipse is calculated automatically to satisfy the constraints imposed + * by the other parameters. Large-arc and sweep contribute to the automatic + * calculations and help determine how the arc is drawn. + * + * For most situations, there are actually four different arcs (two + * different ellipses, each with two different arc sweeps) that satisfy + * these constraints. large-arc-flag and sweep-flag indicate which one of + * the four arcs are drawn, as follows: + * + *
    + *
  • Of the four candidate arc sweeps, two will represent an arc sweep of + * greater than or equal to 180 degrees (the "large-arc"), and two will + * represent an arc sweep of less than or equal to 180 degrees (the + * "small-arc"). If large-arc is true, then one of the two larger + * arc sweeps will be chosen; otherwise, if large-arc is false, one + * of the smaller arc sweeps will be chosen, + * + *
  • If sweep is true, then the arc will be drawn in a + * "positive-angle" direction (i.e., the ellipse formula + * x=cx+rx*cos(theta) and y=cy+ry*sin(theta) is evaluated such that + * theta starts at an angle corresponding to the current point and + * increases positively until the arc reaches (x,y)). A value of false + * causes the arc to be drawn in a "negative-angle" direction (i.e., + * theta starts at an angle value corresponding to the current point + * and decreases until the arc reaches (x,y)). + *
+ */ + class EllipticalArcTo : public PathData { + public: + /*!\brief Constructor. + * \param inPoint A destination point for the curve. + * \param inXRadius An x radius of the ellipse. + * \param inYRadius An y radius of the ellipse. + * \param inXAxisRotation A angle of rotation for the ellipse. + * \param inLargeArc True for the path to follow the large arc, + * false to follow the smaller one. + * \param inSweep True to turn by a positive angle, false + * for a negative one. + */ + EllipticalArcTo(const Point &inPoint, float inXRadius, float inYRadius, float inXAxisRotation, bool inLargeArc, bool inSweep) : PathData(string("A") + String::convert(inXRadius) + "," + String::convert(inYRadius) + " " + String::convert(inXAxisRotation) + " " + ( inLargeArc ? "1" : "0" ) + " " + ( inSweep ? "1" : "0" ) + " " + inPoint.getStringValue()) {} + }; + + //! Short name for a cubic Bezier curve path command. + typedef CubicCurveTo CurveTo; + + } // end of SVG namespace + +} // end of PACC namespace + +#endif // PACC_SVG_Path_hpp_ diff --git a/lib/beagle-3.0.3/PACC/SVG/Primitives.hpp b/lib/beagle-3.0.3/PACC/SVG/Primitives.hpp new file mode 100644 index 0000000..4dfc5a5 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG/Primitives.hpp @@ -0,0 +1,456 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/SVG/Primitives.hpp + * \brief Class definitions for the SVG graphic primitives. + * \author Marc Parizeau and Michel Fortin, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:08 $ + */ + +#ifndef PACC_SVG_Graphic_hpp_ +#define PACC_SVG_Graphic_hpp_ + +#include "XML/Node.hpp" +#include "XML/Streamer.hpp" +#include "SVG/Styles.hpp" +#include "SVG/Transforms.hpp" + +namespace PACC { + + namespace SVG { + + using namespace std; + + /*!\brief Base class for graphic elements. + * \ingroup SVG + * + * This class provide no more functionality than it's base class. It is + * intended to be able to distinguish graphics element from others. That way + * we can restrict at compile time what kind of elements can be inserted in + * a Group for example. + * + * This class must be subclassed to be useful. You may note that the only + * constructor is protected to enforce that. + */ + class Primitive : protected XML::Node { + public: + /*!\brief Add some style attributes to element. + * \param inStyle A style attribute list to add to this element. + * + * If the same style attribute with the same name is already present, it + * will be replaced by the new value. + */ + void addStyle(const Style& inStyle) {*this += inStyle;} + + //! Remove any coordinate transformation applyed to this element. + void clearTransform(void) {removeAttribute("transform");} + + //! Set id of primitive. + void setID(const string& inID) {setAttribute("id", inID);} + + /*!\brief Set the coordinate transformation to apply. + * \param inTransform A transformation to apply to this element. + * + * The current transformation, if any, will be replaced by the new one. + * + * \see transformcomp + */ + void setTransform(const Transform& inTransform) {setAttribute("transform", inTransform);} + + //! Write serialized primitive into stream \c outStream. + void write(ostream& outStream) const { + XML::Streamer lStream(outStream); + serialize(lStream); + } + + protected: + /*!\brief Constructor for a graphic element. + * \param inName A tag name for the element. + * \param inAttrList A list of attributes to give to this element. + */ + Primitive(const string &inName, const XML::AttributeList &inAttrList = XML::AttributeList()) : XML::Node(inName, inAttrList) {} + + friend class Group; //!< Allowing the use of Element's << operator. + }; + + /*!\brief Graphic primitive for rectangles. + * \ingroup SVG + * + * A rectangle is a four-sided figure with two vertical sides and two + * horizontal ones. + */ + class Rectangle : public Primitive { + public: + //! Make rectangle with origin \c inOrigin, size \c inSize, and style \c inStyle. + Rectangle(const Point &inOrigin, const Size &inSize, const Style &inStyle = Style()) : Primitive("rect", inStyle) { + setAttribute("x", String::convert(inOrigin.x)); + setAttribute("y", String::convert(inOrigin.y)); + setAttribute("width", String::convert(inSize.width)); + setAttribute("height", String::convert(inSize.height)); + } + + //! Return rectangle origin. + Point getOrigin(void) const { + return Point(String::convertToFloat(getAttribute("x")), String::convertToFloat(getAttribute("y"))); + } + + //! Set rectangle origin to point \c inPoint. + void setOrigin(const Point &inOrigin) { + setAttribute("x", String::convert(inOrigin.x)); + setAttribute("y", String::convert(inOrigin.y)); + } + + //! Set rectangle origin to coordinates \c inX and \c inY. + void setOrigin(float inX, float inY) { + setAttribute("x", String::convert(inX)); + setAttribute("y", String::convert(inY)); + } + + //! Return rectangle size. + Size getSize(void) const { + return Size(String::convertToFloat(getAttribute("width")), String::convertToFloat(getAttribute("height"))); + } + + //! Set rectangle size to \c inSize. + void setSize(const Size &inSize) { + setAttribute("width", String::convert(inSize.width)); + setAttribute("height", String::convert(inSize.height)); + } + + //! Set rectangle size to width \c inWidth and height \c inHeight. + void setSize(float inWidth, float inHeight) { + setAttribute("width", String::convert(inWidth)); + setAttribute("height", String::convert(inHeight)); + } + }; + + /*!\brief Graphic primitive for circles. + * \ingroup SVG + * + * A circle is defined by a central point (called the center) and a radius. + * The shape is formed of the closed curve where the distance between the + * center and each point of the curve is equal to the radius. + */ + class Circle : public Primitive { + public: + //! make circle centered at point \c inPoint, with radius \c inRadius, and style \c inStyle. + Circle(const Point &inCenter, float inRadius, const Style &inStyle = Style()) : Primitive("circle", inStyle) { + setAttribute("cx", String::convert(inCenter.x)); + setAttribute("cy", String::convert(inCenter.y)); + setAttribute("r", String::convert(inRadius)); + } + + //! Return circle center. + Point getCenter(void) const{ + return Point(String::convertToFloat(getAttribute("cx")), String::convertToFloat(getAttribute("cy"))); + } + + //! Set circle center to point \c inCenter. + void setCenter(const Point &inCenter) { + setAttribute("cx", String::convert(inCenter.x)); + setAttribute("cy", String::convert(inCenter.y)); + } + + //! Set circle center to coordinates \c inCX and \c inCY. + void setCenter(float inCX, float inCY) { + setAttribute("cx", String::convert(inCX)); + setAttribute("cy", String::convert(inCY)); + } + + //! Retur circle radius. + float getRadius(void) const { + return String::convertToFloat(getAttribute("r")); + } + + //! Set circle radius to \c inRadius. + void setRadius(float inRadius) { + setAttribute("r", String::convert(inRadius)); + } + }; + + /*!\brief Graphic primitive for ellipses. + * \ingroup SVG + * + * The ellipse is defined by a central point (the center) and two radius + * values: one for the x axis, the other for the y axis. + */ + class Ellipse : public Primitive { + public: + //! Make ellipse centered at point \c inCenter, with radii \c inXRadius and \c inYRadius, and style \c inStyle. + Ellipse(const Point &inCenter, float inXRadius, float inYRadius, const Style &inStyle = Style()) : SVG::Primitive("ellipse", inStyle) { + setAttribute("cx", String::convert(inCenter.x)); + setAttribute("cy", String::convert(inCenter.y)); + setAttribute("rx", String::convert(inXRadius)); + setAttribute("ry", String::convert(inYRadius)); + } + + //! return ellipse center. + Point getCenter() const { + return Point(String::convertToFloat(getAttribute("cx")), String::convertToFloat(getAttribute("cy"))); + } + + //! Set ellipse center to point \c inPoint. + void setCenter(const Point &inCenter) { + setAttribute("cx", String::convert(inCenter.x)); + setAttribute("cy", String::convert(inCenter.y)); + } + + //! Set ellipse center to coordinates \c inCX and \c inCY. + void setCenter(float inCX, float inCY) { + setAttribute("cx", String::convert(inCX)); + setAttribute("cy", String::convert(inCY)); + } + + //! Return ellipse first radius. + float getXRadius() const { + return String::convertToFloat(getAttribute("rx")); + } + + //! Set ellipse first radius to \c inXRadius. + void setXRadius(float inXRadius) { + setAttribute("rx", String::convert(inXRadius)); + } + + //! Return ellipse second radius. + float getYRadius(void) const { + return String::convertToFloat(getAttribute("ry")); + } + + //! Set ellipse second radius to \c inYRadius. + void setYRadius(float inYRadius) { + setAttribute("ry", String::convert(inYRadius)); + } + }; + + /*!\brief Graphic primitive for straight lines. + * \ingroup SVG + * + * A line link a start point to an end point. Since a line has no fillable + * region and by default shapes do not have a stroke, you must explicitly + * define a stroke if you want the line to be visible. + * + * \see Stroke + */ + class Line : public Primitive { + public: + //! Make line segment from start point \c inStart to end point \c inEnd, using style \c inStyle. + Line(const Point &inStart, const Point &inEnd, const Style &inStyle = Style()) : SVG::Primitive("line", inStyle) { + setAttribute("x1", String::convert(inStart.x)); + setAttribute("y1", String::convert(inStart.y)); + setAttribute("x2", String::convert(inEnd.x)); + setAttribute("y2", String::convert(inEnd.y)); + } + + //! Return start point of line segment. + Point getStart(void) const { + return Point(String::convertToFloat(getAttribute("x1")), String::convertToFloat(getAttribute("y1"))); + } + + //! Set start point of line segment to \c inStart. + void setStart(const Point &inStart) { + setAttribute("x1", String::convert(inStart.x)); + setAttribute("y1", String::convert(inStart.y)); + } + + //! Set start point of line segment to coordinates \c inX and \c inY. + void setStart(float inX, float inY) { + setAttribute("x1", String::convert(inX)); + setAttribute("y1", String::convert(inY)); + } + + //! Return end point of line segment. + Point getEnd(void) const { + return Point(String::convertToFloat(getAttribute("x2")), String::convertToFloat(getAttribute("y2"))); + } + + //! Set end point of line segment to \c inEnd. + void setEnd(const Point &inEnd) { + setAttribute("x2", String::convert(inEnd.x)); + setAttribute("y2", String::convert(inEnd.y)); + } + //! set end point of line segment to coordinates \c inX and \c inY. + void setEnd(float inX, float inY) { + setAttribute("x2", String::convert(inX)); + setAttribute("y2", String::convert(inY)); + } + }; + + /*!\brief Graphic primitive for polygons + * \ingroup SVG + * + * A polygon is made of a serie of points linked together with strait lines. + * A polygon is a closed path, so the last point is always linked with the + * first one. + * + * \see Polyline + */ + class Polygon : public Primitive { + public: + //! Make an empty polygon with style \c inStyle. + Polygon(const Style &inStyle = Style()) : Primitive("polygon", inStyle) {} + + /*!\brief Make a polygon from point list \c inPointList and style \c inStyle. + * + * This constructor gives a polygon with predefined points. You can + * always add more points witht the += operator. + */ + Polygon(const PointList &inLinePath, const Style &inStyle = Style()) : Primitive("polygon", inStyle) { + setAttribute("points", inLinePath.getStringValue()); + } + + //! Make new polygon from this polygon concatenated with point list \c inLinePath. + Polygon operator+(const PointList &inLinePath) const { + return Polygon(*this) += inLinePath; + } + + //! Append point list \c inLinePath to this polygon. + Polygon &operator+=(const PointList &inLinePath) { + (*this)["points"] += inLinePath.getStringValue(); + return *this; + } + + //! Make new polygon from this polygon concatenated with point \c inPoint. + Polygon operator+(const Point &inPoint) const { + return Polygon(*this) += inPoint; + } + + //! Append point \c inPoint to this polygon. + Polygon &operator+=(const Point &inPoint) { + (*this)["points"] += string(" ") + inPoint.getStringValue(); + return *this; + } + }; + + /*!\brief Graphic primitive for polyline + * \ingroup SVG + * + * A polyline is made of a serie of points linked together with strait + * lines. Polyline is not closed: so the last point is not linked with the + * first one. + * + * \see Polygon + */ + class Polyline : public Primitive { + public: + //! Make an empty polyline with style \c inStyle. + Polyline(const Style &inStyle = Style()) : Primitive("polyline", inStyle) {} + + //! Make a polyline from point list \c inLinePath using style \c inStyle. + Polyline(const PointList &inLinePath, const Style &inStyle = Style()) : Primitive("polyline", inStyle) { + setAttribute("points", inLinePath.getStringValue()); + } + + //! Make new polyline from this polyline concatenated with point list \c inLinePath. + Polyline operator+(const PointList &inLinePath) const { + return Polyline(*this) += inLinePath; + } + + //! Append point list \c inLinePath to this polyline. + Polyline &operator+=(const PointList &inLinePath) { + (*this)["points"] += inLinePath.getStringValue(); + return *this; + } + + //! Make new polyline from this polyline concatenated with point \c inPoint. + Polyline operator+(const Point &inPoint) const { + return Polyline(*this) += inPoint; + } + + //! Append point \c inPoint to this polyline. + Polyline &operator+=(const Point &inPoint) { + (*this)["points"] += string(" ") + inPoint.getStringValue(); + return *this; + } + }; + + /*!\brief Graphic primitive for text. + * \ingroup SVG + * + * A text object is used to display text in a graphic. Each character of the + * enclosed text is represented by a glyph on with standard stroke and fill + * attributes apply. For example you can put a stroke on the text to make + * an outline, and you can change the color of the character using + * Fill::Color. + * + * There is also some special attributes that can be applyed to text to + * control the appearence of the glyphs, like the font family, size, and + * style. See Font for details. + * + * The text is placed on screen around an anchor point. How text is aligned + * on the anchor depends of the TextAnchor and TextBaseline attributes. + */ + class Text : public Primitive { + public: + // Make text from string \c inString, typeset at point \c inAnchor, using style \c inStyle. + Text(const string &inString, const Point &inAnchor, const Style inStyle = Style()) : Primitive("text", inStyle) { + setAttribute("x", String::convert(inAnchor.x)); + setAttribute("y", String::convert(-inAnchor.y)); + setTransform(Scale(1, -1)); + insertAsLastChild(new Node(inString, XML::eString)); + } + + //! Return text anchor point. + Point getAnchor(void) const { + return Point(String::convertToFloat(getAttribute("x")), String::convertToFloat(getAttribute("y"))); + } + + //! Set text anchor point to \c inAnchor. + void setAnchor(const Point &inAnchor) { + setAttribute("x", String::convert(inAnchor.x)); + setAttribute("y", String::convert(inAnchor.y)); + } + + //! Set text anchor point to coordinates \c inX and \c inY. + void setAnchor(float inX, float inY) { + setAttribute("x", String::convert(inX)); + setAttribute("y", String::convert(inY)); + } + + //! Return string of text. + string getText(void) const { + return getFirstChild()->getValue(); + } + + //! Set text to string \c inString. + void setText(const string &inString) { + getFirstChild()->setValue(inString); + } + }; + + } // end of SVG namespace + + //! Insert primitive \c inPrimitive into output stream \c outStream. + inline ostream& operator<<(ostream &outStream, const SVG::Primitive& inPrimitive) { + inPrimitive.write(outStream); + return outStream; + } + +} // end of PACC namespace + +#endif diff --git a/lib/beagle-3.0.3/PACC/SVG/Styles.cpp b/lib/beagle-3.0.3/PACC/SVG/Styles.cpp new file mode 100644 index 0000000..9692d2e --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG/Styles.cpp @@ -0,0 +1,87 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/SVG/Styles.cpp + * \brief Class methods for %SVG styles. + * \author Marc Parizeau and Michel Fortin, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#include "SVG/Styles.hpp" + +using namespace std; +using namespace PACC; + +/*! +*/ +SVG::Style SVG::Attribute::operator+(const SVG::Attribute& inAttribute) const +{ + return Style(*this) += inAttribute; +} + +/*! +*/ +SVG::Style SVG::Attribute::operator+(const SVG::Style& inAttrList) const +{ + return Style(*this) += inAttrList; +} + +// predefined styles +const SVG::FillRule SVG::FillRule::cNonZero("nonzero"); +const SVG::FillRule SVG::FillRule::cEvenOdd("evenodd"); +const SVG::Stroke SVG::Stroke::cNone(Color("none")); +const SVG::StrokeDashArray SVG::StrokeDashArray::cContinuous("none"); +const SVG::StrokeDashArray SVG::StrokeDashArray::cDotted("1"); +const SVG::StrokeDashArray SVG::StrokeDashArray::cDashed("3"); +const SVG::StrokeLineCap SVG::StrokeLineCap::cButt("butt"); +const SVG::StrokeLineCap SVG::StrokeLineCap::cRound("round"); +const SVG::StrokeLineCap SVG::StrokeLineCap::cSquare("square"); +const SVG::StrokeLineJoin SVG::StrokeLineJoin::cMiter("miter"); +const SVG::StrokeLineJoin SVG::StrokeLineJoin::cRound("round"); +const SVG::StrokeLineJoin SVG::StrokeLineJoin::cBevel("bevel"); +const SVG::FontFamily SVG::FontFamily::cSerif("serif"); +const SVG::FontFamily SVG::FontFamily::cSansSerif("sans-serif"); +const SVG::FontStyle SVG::FontStyle::cNormal("normal"); +const SVG::FontStyle SVG::FontStyle::cItalic("italic"); +const SVG::FontStyle SVG::FontStyle::cOblique("oblique"); +const SVG::FontWeight SVG::FontWeight::cNormal("normal"); +const SVG::FontWeight SVG::FontWeight::cBold("bold"); +const SVG::TextAnchor SVG::TextAnchor::cStart("start"); +const SVG::TextAnchor SVG::TextAnchor::cMiddle("middle"); +const SVG::TextAnchor SVG::TextAnchor::cEnd("end"); +const SVG::TextDecoration SVG::TextDecoration::cNone("none"); +const SVG::TextDecoration SVG::TextDecoration::cUnderline("underline"); +const SVG::TextDecoration SVG::TextDecoration::cLineThrough("line-through"); + +SVG::StrokeDashArray::StrokeDashArray(const vector& inDashArray) : Attribute("stroke-dasharray", string()) +{ + string lNumbers; + for ( unsigned i = 0; i < inDashArray.size(); i++ ) lNumbers += String::convert(inDashArray[i]) + " "; + getValue() = lNumbers; +} diff --git a/lib/beagle-3.0.3/PACC/SVG/Styles.hpp b/lib/beagle-3.0.3/PACC/SVG/Styles.hpp new file mode 100644 index 0000000..4e38772 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG/Styles.hpp @@ -0,0 +1,444 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/SVG/Styles.hpp + * \brief Class definition for the SVG element styles. + * \author Marc Parizeau and Michel Fortin, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.6.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#ifndef PACC_SVG_Styles_hpp_ +#define PACC_SVG_Styles_hpp_ + +#include "SVG/Types.hpp" +#include "XML/Attribute.hpp" +#include "Util/StringFunc.hpp" + +namespace PACC { + + using namespace String; + + namespace SVG { + + using namespace std; + + class Style; + + /*! \brief Container for a single style attribute. + \ingroup SVG + + An attribute a pair of attribute name / attribute value. Its only + constructor is protected in order to restrict its usage. It will be + sub-classed for specific %SVG style attributes. + */ + class Attribute : public pair { + public: + //! Return a style list of attributes by combining attribute \c inAttribute with this attribute. + Style operator+(const Attribute& inAttribute) const; + + //! Return a style list of attributes by merging list \c inAttrList with this attribute. + Style operator+(const Style& inAttrList) const; + + //! Return name of this attribute. + string& getName(void) {return first;} + + //! Return name of this attribute (const). + const string& getName(void) const {return first;} + + //! Return value of this attribute. + string& getValue(void) {return second;} + + //! Return value of this attribute (const). + const string& getValue(void) const {return second;} + + protected: + //! Construct an attribute style from name \c inName and value \c inValue. + Attribute(const string& inName, const string& inValue) : pair(inName, inValue) {} + }; + + /*! \brief List of attributes representing the style of an element. + \ingroup SVG + + A style object holds a list of style attributes. + + \see Attribute + */ + class Style : public XML::AttributeList { + public: + + //! Make an empty style. + Style() {} + + //! Make a style from a single attribute \c inAttribute. + Style(const Attribute& inAttribute) {insert(inAttribute);} + + //! Make a style from an attribute list \c inList. + Style(const XML::AttributeList& inList) : XML::AttributeList(inList) {} + + //! Return concatenation of style list \c inAttrList with this list. + Style operator+(const Style& inAttrList) const { + return Style(*this) += inAttrList; + } + + //! Append attribute list \c inAttrList to this list. + Style& operator+=(const Style& inAttrList) { + for(Style::const_iterator lPos = inAttrList.begin(); lPos != inAttrList.end(); ++lPos) { + (*this)[lPos->first] = lPos->second; + } + return *this; + } + }; + + /*!\brief %Style attribute for object opacity. + * \ingroup SVG + * + * This will set the opacity of the resulting image of a graphic. + * + * This is different than setting FillOpacity and StrokeOpacity. For + * example, if you set both StrokeOpacity and FillOpacity to 0.5, you will + * see the fill edge behind the stroke. With opacity the hole shape is + * rendered and then made transparent. + */ + class Opacity : public Attribute { + public: + //! Set the graphic opacity to value \c inValue. + Opacity(float inValue) : Attribute("opacity", String::convert(inValue)) {} + }; + + /*!\brief %Style attribute for fill color of shapes. + * \ingroup SVG + * + * Currently this class can only take plain color fills. + * It may be extended in the future to support gradient or patterns. + */ + class Fill : public Attribute { + public: + //! Set the fill color to value \c inValue. + Fill(const Color &inValue) : Attribute("fill", inValue) {} + + //! This constant represent an empty (or transparent) fill. + static const Fill cNone; + }; + + /*!\brief %Style attribute for the opacity of fills. + * \ingroup SVG + * \see Fill + */ + class FillOpacity : public Attribute { + public: + //! Set the fill opacity to value \c inValue (0=transparent). + FillOpacity(float inOpacity) : Attribute("fill-opacity", String::convert(inOpacity)) {} + }; + + /*!\brief %Style attribute for specifying the fill rule. + * \ingroup SVG + * + * Overlapping regions can be filled according to differents rules + * defined as constants inside this class. + */ + class FillRule : public Attribute { + public: + /*! \brief After counting the crossings, if the result is zero then the + * point is outside the path. Otherwise, it is inside. + * + * This rule determines the "insideness" of a point on the canvas by + * drawing a ray from that point to infinity in any direction and then + * examining the places where a segment of the shape crosses the ray. + * Starting with a count of zero, add one each time a path segment + * crosses the ray from left to right and subtract one each time a + * path segment crosses the ray from right to left. After counting the + * crossings, if the result is zero then the point is outside the path. + * Otherwise, it is inside. The following drawing illustrates the + * non-zero rule: + * + * \image html fillrule-nonzero.png + */ + static const FillRule cNonZero; + + /*! \brief After counting the crossings, if the count is odd, the point + * is inside; if even, the point is outside. + * + * This rule determines the "insideness" of a point on the canvas by + * drawing a ray from that point to infinity in any direction and + * counting the number of path segments from the given shape that the + * ray crosses. If this number is odd, the point is inside; if even, + * the point is outside. The following drawing illustrates the even-odd + * rule: + * + * \image html fillrule-evenodd.png + */ + static const FillRule cEvenOdd; + + private: + //! Set fill rule to value \c inValue. + FillRule(const string &inFillRule) : Attribute("fill-rule", inFillRule) {} + }; + + /*!\brief %Style attribute for specifying how to fill the stroke of a shape. + * \ingroup SVG + * + * Currently this class can only take plain color strokes. It may be + * extended in the future to support gradient or patterns strokes. + */ + class Stroke : public Attribute { + public: + //! Set stroke color to \c inColor. + Stroke(const Color& inColor) : Attribute("stroke", inColor) {} + + //! This constant represent an non-existant (or invisible) stroke. + static const Stroke cNone; + }; + + //! \brief %Style attribute for the opacity of strokes. + //! \ingroup SVG + class StrokeOpacity : public Attribute { + public: + //! set stroke opacity to value \c inValue (0=transparent). + StrokeOpacity(float inValue) : Attribute("stroke-opacity", String::convert(inValue)) {} + }; + + /*!\brief %Style attribute specifying width of the stroke. + * \ingroup SVG + * + * Defautl width of as stroke is 1. + */ + class StrokeWidth : public Attribute { + public: + //! Set stroke width to value \c inValue. + StrokeWidth(float inValue) : Attribute("stroke-width", String::convert(inValue)) {} + }; + + /*!\brief %Style attribute for specifying how to dash the stroke. + * \ingroup SVG + * + * The dash array is a list of numbers repsesenting the lengths of each + * part of the dashed line. The first number represent the first dash + * length, the next is the empty space length, the next is the second dash + * lenght, and so on. + * + * \see DashArray + */ + class StrokeDashArray : public Attribute { + public: + /*!\brief Make a dash array from a string. + * \param inDashArray A string with the lenght of dash and spaces + * separated by spaces characters. + * + * Sample dash array value: "10 2.5 5" + */ + StrokeDashArray(const std::string &inDashArray) : Attribute("stroke-dasharray", inDashArray) {} + + /*!\brief Construct a dash array with a vector of floats. + * \param inDashArray A vector of floats as the list of dashes and + * spaces. + */ + StrokeDashArray(const std::vector &inDashArray); + + //! Default dash array for a continous line. + static const StrokeDashArray cContinuous; + + //! Default dash array for a dotted line (valid only for stroke width of 1). + static const StrokeDashArray cDotted; + + //! Default dash array for a dashed line. + static const StrokeDashArray cDashed; + }; + + /*!\brief %Style attribute for specifying the type of cap for stroke ends. + * \ingroup SVG + * \see LineCap + */ + class StrokeLineCap : public Attribute { + public: + //! \image html linecap-butt.png + static const StrokeLineCap cButt; + + //! \image html linecap-round.png + static const StrokeLineCap cRound; + + //! \image html linecap-square.png + static const StrokeLineCap cSquare; + + private: + //! Set line cap style to value \c inValue. + StrokeLineCap(const std::string &inValue) : Attribute("stroke-linecap", inValue) {} + }; + + /*!\brief %Style attribute for specifying the type of join between stroke + * segments. + * \ingroup SVG + * \see LineJoin + */ + class StrokeLineJoin : public Attribute { + public: + //! \image html linejoin-miter.png + static const StrokeLineJoin cMiter; + + //! \image html linejoin-round.png + static const StrokeLineJoin cRound; + + //! \image html linejoin-bevel.png + static const StrokeLineJoin cBevel; + + private: + //! Set line join style to value \c inValue. + StrokeLineJoin(const std::string &inValue) : Attribute("stroke-linejoin", inValue) {} + }; + + /*!\brief %Style attribute for specifying the length to width ratio of strokes. + \ingroup SVG + + This style attribute has no effect on strokes with line join that is not + set to miter. The default miter limit ratio is 4. + + \see StrokeLineJoin, MiterLimit + */ + class StrokeMiterLimit : public Attribute { + public: + //! Set the meter limit to ratio \c inRatio. + StrokeMiterLimit(float inRatio) : Attribute("stroke-miterlimit", String::convert(inRatio)) {} + }; + + /*!\brief %Style attribute for specifying the font family. + * \ingroup SVG + */ + class FontFamily : public Attribute { + public: + /*!\brief Constructor with family name. + * \param inName The name of the family. + * + * You can also optionally pass a list of families to choose from. In + * this case the first matching family will be used. The list must be + * of the form: "Times, Times New Roman, serif". + */ + FontFamily(const std::string &inName) : Attribute("font-family", inName) {} + + //! Default serif font from the viewer. + static const FontFamily cSerif; + + //! \brief Default sans serif font from the viewer. + static const FontFamily cSansSerif; + }; + + //! \brief %Style attribute for specifying text style. + //! \ingroup SVG + class FontStyle : public Attribute { + public: + //! Use normal font style. + static const FontStyle cNormal; + + //! Use italic font style (similar to cOblique). + static const FontStyle cItalic; + + //! Use oblique font style (similar to cItalic). + static const FontStyle cOblique; + + private: + //! Constructor with font style name. + //! \param inName A valid CSS style name string. + FontStyle(const std::string &inName) : Attribute("font-style", inName) {} + }; + + //! \brief %Style attribute for defining font weight. + //! \ingroup SVG + class FontWeight : public Attribute { + public: + //! Normal font weight. + static const FontWeight cNormal; + + //! Bold font weight. + static const FontWeight cBold; + + private: + //! Constructor with weight name. + FontWeight(const std::string &inName) : Attribute("font-weight", inName) {} + }; + + //! \brief %Style attribute for specifying font size. + //! \ingroup SVG + class FontSize : public Attribute { + public: + //! Set font size to value \c inValue. + FontSize(float inValue) : Attribute("font-size", String::convert(inValue)) {} + }; + + /*!\brief %Style attribute for specifying text positioning. + * + * This attribute allow you to specify if the text anchor should be at the + * start, the middle or the end of the text. Static member constants are + * defined for each allowed value. + */ + class TextAnchor : public Attribute { + public: + //! Start the text at the anchor point. + static const TextAnchor cStart; + + //! Put the middle of the text at the anchor point. + static const TextAnchor cMiddle; + + //! Put the end of the text at the anchor point. + static const TextAnchor cEnd; + + private: + /*!\brief Anchor the text using the value given in the string. + * \param inValue A valid SVG value for the text-anchor + * attribute. + */ + TextAnchor(const std::string &inValue) : Attribute("text-anchor", inValue) {} + }; + + /*!\brief %Style attribute for specifying the text decoration. + + Supported decorations are underline and line-through. + */ + class TextDecoration : public Attribute { + public: + //! Clears all text decorations. + static const TextDecoration cNone; + + //! Set an underline decoration for the text. + static const TextDecoration cUnderline; + + //! Set a line-through decoration for the text. + static const TextDecoration cLineThrough; + + private: + TextDecoration(const std::string &inDecoration) : Attribute("text-decoration", inDecoration) {} + }; + + typedef StrokeDashArray DashArray; + typedef StrokeLineCap LineCap; + typedef StrokeLineJoin LineJoin; + typedef StrokeMiterLimit MiterLimit; + + } // end of SVG namespace + +} // end of PACC namespace + +#endif // PACC_SVG_Styles_hpp_ diff --git a/lib/beagle-3.0.3/PACC/SVG/Transforms.hpp b/lib/beagle-3.0.3/PACC/SVG/Transforms.hpp new file mode 100644 index 0000000..cd41dcd --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG/Transforms.hpp @@ -0,0 +1,152 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/SVG/Transforms.hpp + * \brief Class definition for the SVG transform. + * \author Marc Parizeau and Michel Fortin, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#ifndef PACC_SVG_Transforms_hpp_ +#define PACC_SVG_Transforms_hpp_ + +#include "SVG/Types.hpp" +#include "Util/StringFunc.hpp" + +namespace PACC { + + namespace SVG { + + using namespace std; + + /*!\brief Coordinate tranform for graphic elements. + * \ingroup SVG + */ + class Transform : public string { + public: + //! Return the transform which results from the concatenation of this transform with \c inTranform. + Transform operator+(const Transform& inTransform) { + return Transform(*this) += inTransform; + } + + //! Append transform \c inTranform to this transform. + Transform& operator+=(const Transform& inTransform) { + string::operator+=(string(" ")+inTransform); + return *this; + } + + protected: + //! Make transform with name \c inName and value \c inValue. + Transform(const string &inName, const string &inValue) : string(inName+"("+inValue+")") {} + }; + + //! \brief Rotation tranform. + //! \ingroup SVG + class Rotate : public Transform { + public: + //! Make a rotation transform of angle \c inAngle. + Rotate(float inAngle) : Transform("rotate", String::convert(inAngle)) {} + + //! make a rotation transform of angle \c inAngle from point \c inPoint. + Rotate(float inAngle, const Point &inPoint) : Transform("rotate", String::convert(inAngle) + " " + String::convert(inPoint.x) + " " + String::convert(inPoint.y)) {} + + //! make a rotation transform of angle \c inAngle from coordinates \c inX and \c inY. + Rotate(float inAngle, float inX, float inY) : Transform("rotate", String::convert(inAngle) + " " + String::convert(inX) + " " + String::convert(inY)) {} + }; + + /*!\brief Translation tranform. + * \ingroup SVG + * + * If you want to set a new origin, you can use the translation. As an + * example, to put the origin at (1,1), translate by (-1,-1). + */ + class Translate : public Transform { + public: + //! Make a translation transform to point \c inPoint. + Translate(const Point &inPoint) : Transform("translate", String::convert(inPoint.x) + " " + String::convert(inPoint.y)) {} + + //! make a translation transform to relative coordinates \c inX and \c inY. + Translate(float inX, float inY) : Transform("translate", String::convert(inX) + " " + String::convert(inY)) {} + }; + + //! \brief Scaling tranform. + //! \ingroup SVG + class Scale : public Transform { + public: + //! Make a scaling transform of scale \c inScale. + Scale(float inScale) : Transform("scale", String::convert(inScale)) {} + + //! make a scaling transformm of scale \c inX and \c inY. + Scale(float inX, float inY) : Transform("scale", String::convert(inX) + " " + String::convert(inY)) {} + }; + + //! \brief Horizontal skewing tranform. + //! \ingroup SVG + class SkewX : public Transform { + public: + //! Make a horizontal skewing transform of angle \c inAngle. + SkewX(float inAngle) : Transform("skewX", String::convert(inAngle)) {} + }; + + //! \brief Vertical skewing tranform. + //! \ingroup SVG + class SkewY : public Transform { + public: + //! Make a vertical skewing transform of angle \c inAngle. + SkewY(float inAngle) : Transform("skewY", String::convert(inAngle)) {} + }; + + //! \brief General matrix transformation. + //! \ingroup SVG + class MatrixTransform : public Transform { + public: + /*!\brief Construct a matrix transform from the six upper values of + * the matrix. + * \param inA . + * \param inB . + * \param inC . + * \param inD . + * \param inE . + * \param inF . + * + * Transformation matrix is of the form: + * + * [a b c]
+ * [d e f]
+ * [0 0 1]
+ */ + MatrixTransform(float inA, float inB, float inC, float inD, float inE, float inF) + : Transform("matrix", String::convert(inA) + " " + String::convert(inB) + " " + String::convert(inC) + " " + String::convert(inD) + " " + String::convert(inE) + " " + String::convert(inF)) {} + }; + + } // end of SVG namespace + +} // end of PACC namespace + +#endif diff --git a/lib/beagle-3.0.3/PACC/SVG/Types.cpp b/lib/beagle-3.0.3/PACC/SVG/Types.cpp new file mode 100644 index 0000000..43e2c4a --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG/Types.cpp @@ -0,0 +1,238 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/SVG/Types.cpp + * \brief Class methods for miscellaneous %SVG data types. + * \author Marc Parizeau and Michel Fortin, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.6.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#include "SVG/Types.hpp" +#include + +using namespace std; +using namespace PACC; + +/* Color constants */ +const SVG::Color SVG::Color::cAliceBlue("aliceblue"); +const SVG::Color SVG::Color::cAntiqueWhite("antiquewhite"); +const SVG::Color SVG::Color::cAqua("aqua"); +const SVG::Color SVG::Color::cAquaMarine("aquamarine"); +const SVG::Color SVG::Color::cAzure("azure"); +const SVG::Color SVG::Color::cBeige("beige"); +const SVG::Color SVG::Color::cBisque("bisque"); +const SVG::Color SVG::Color::cBlack("black"); +const SVG::Color SVG::Color::cBlacheDalmond("blanchedalmond"); +const SVG::Color SVG::Color::cBlue("blue"); +const SVG::Color SVG::Color::cBlueViolet("blueviolet"); +const SVG::Color SVG::Color::cBrown("brown"); +const SVG::Color SVG::Color::cBurlyWood("burlywood"); +const SVG::Color SVG::Color::cCadetBlue("cadetblue"); +const SVG::Color SVG::Color::cChartreuse("chartreuse"); +const SVG::Color SVG::Color::cChocolate("chocolate"); +const SVG::Color SVG::Color::cCoral("coral"); +const SVG::Color SVG::Color::cCornFlowerBlue("cornflowerblue"); +const SVG::Color SVG::Color::cCornSilk("cornsilk"); +const SVG::Color SVG::Color::cCrimson("crimson"); +const SVG::Color SVG::Color::cCyan("cyan"); +const SVG::Color SVG::Color::cDarkBlue("darkblue"); +const SVG::Color SVG::Color::cDarkCyan("darkcyan"); +const SVG::Color SVG::Color::cDarkGoldenRod("darkgoldenrod"); +const SVG::Color SVG::Color::cDarkGray("darkgray"); +const SVG::Color SVG::Color::cDarkGreen("darkgreen"); +const SVG::Color SVG::Color::cDarkGrey("darkgrey"); +const SVG::Color SVG::Color::cDarkKhaki("darkkhaki"); +const SVG::Color SVG::Color::cDarkMagenta("darkmagenta"); +const SVG::Color SVG::Color::cDarkOliveGreen("darkolivegreen"); +const SVG::Color SVG::Color::cDarkOrange("darkorange"); +const SVG::Color SVG::Color::cDarkOrchid("darkorchid"); +const SVG::Color SVG::Color::cDarkRed("darkred"); +const SVG::Color SVG::Color::cDarkSalmon("darksalmon"); +const SVG::Color SVG::Color::cDarkSeaGreen("darkseagreen"); +const SVG::Color SVG::Color::cDarkSlateBlue("darkslateblue"); +const SVG::Color SVG::Color::cDarkSlateGray("darkslategray"); +const SVG::Color SVG::Color::cDarkSlateGrey("darkslategrey"); +const SVG::Color SVG::Color::cDarkTurquoise("darkturquoise"); +const SVG::Color SVG::Color::cDarkViolet("darkviolet"); +const SVG::Color SVG::Color::cDeepPink("deeppink"); +const SVG::Color SVG::Color::cDeepSkyBlue("deepskyblue"); +const SVG::Color SVG::Color::cDimGray("dimgray"); +const SVG::Color SVG::Color::cDimGrey("dimgrey"); +const SVG::Color SVG::Color::cDodgerBlue("dodgerblue"); +const SVG::Color SVG::Color::cFireBrick("firebrick"); +const SVG::Color SVG::Color::cFloralWhite("floralwhite"); +const SVG::Color SVG::Color::cForestGreen("forestgreen"); +const SVG::Color SVG::Color::cFuchsia("fuchsia"); +const SVG::Color SVG::Color::cGainsboro("gainsboro"); +const SVG::Color SVG::Color::cGostWhite("ghostwhite"); +const SVG::Color SVG::Color::cGold("gold"); +const SVG::Color SVG::Color::cGoldenRod("goldenrod"); +const SVG::Color SVG::Color::cGray("gray"); +const SVG::Color SVG::Color::cGrey("grey"); +const SVG::Color SVG::Color::cGreen("green"); +const SVG::Color SVG::Color::cGreenYellow("greenyellow"); +const SVG::Color SVG::Color::cHoneyDew("honeydew"); +const SVG::Color SVG::Color::cHotPink("hotpink"); +const SVG::Color SVG::Color::cIndianRed("indianred"); +const SVG::Color SVG::Color::cIndigo("indigo"); +const SVG::Color SVG::Color::cIvory("ivory"); +const SVG::Color SVG::Color::cKhaki("khaki"); +const SVG::Color SVG::Color::cLavender("lavender"); +const SVG::Color SVG::Color::cLavenderBlush("lavenderblush"); +const SVG::Color SVG::Color::cLawnGreen("lawngreen"); +const SVG::Color SVG::Color::cLemonChiffon("lemonchiffon"); +const SVG::Color SVG::Color::cLightBlue("lightblue"); +const SVG::Color SVG::Color::cLightCoral("lightcoral"); +const SVG::Color SVG::Color::cLightCyan("lightcyan"); +const SVG::Color SVG::Color::cLightGolderRodYellow("lightgoldenrodyellow"); +const SVG::Color SVG::Color::cLightGray("lightgray"); +const SVG::Color SVG::Color::cLightGreen("lightgreen"); +const SVG::Color SVG::Color::cLightGrey("lightgrey"); +const SVG::Color SVG::Color::cLigntPink("lightpink"); +const SVG::Color SVG::Color::cLightSalmon("lightsalmon"); +const SVG::Color SVG::Color::cLightSeaGreen("lightseagreen"); +const SVG::Color SVG::Color::cLightSkyBlue("lightskyblue"); +const SVG::Color SVG::Color::cLightSlateGray("lightslategray"); +const SVG::Color SVG::Color::cLightSlateGrey("lightslategrey"); +const SVG::Color SVG::Color::cLightSteelBlue("lightsteelblue"); +const SVG::Color SVG::Color::cLightYellow("lightyellow"); +const SVG::Color SVG::Color::cLime("lime"); +const SVG::Color SVG::Color::cLimeGreen("limegreen"); +const SVG::Color SVG::Color::cLinen("linen"); +const SVG::Color SVG::Color::cMagenta("magenta"); +const SVG::Color SVG::Color::cMaroon("maroon"); +const SVG::Color SVG::Color::cMediumAquaMarine("mediumaquamarine"); +const SVG::Color SVG::Color::cMediumBlue("mediumblue"); +const SVG::Color SVG::Color::cMediumOrchid("mediumorchid"); +const SVG::Color SVG::Color::cMediumPurple("mediumpurple"); +const SVG::Color SVG::Color::cMeidumSeaGreen("mediumseagreen"); +const SVG::Color SVG::Color::cMediumSlateBlue("mediumslateblue"); +const SVG::Color SVG::Color::cMediumSpringGreen("mediumspringgreen"); +const SVG::Color SVG::Color::cMediumTurquoise("mediumturquoise"); +const SVG::Color SVG::Color::cMediumVioletRed("mediumvioletred"); +const SVG::Color SVG::Color::cModNightBlue("midnightblue"); +const SVG::Color SVG::Color::cMintCream("mintcream"); +const SVG::Color SVG::Color::cMistyRose("mistyrose"); +const SVG::Color SVG::Color::cMoccasin("moccasin"); +const SVG::Color SVG::Color::cNavajoWhite("navajowhite"); +const SVG::Color SVG::Color::cNavy("navy"); +const SVG::Color SVG::Color::cOldLace("oldlace"); +const SVG::Color SVG::Color::cOlive("olive"); +const SVG::Color SVG::Color::cOliveDrab("olivedrab"); +const SVG::Color SVG::Color::cOrange("orange"); +const SVG::Color SVG::Color::cOrangered("orangered"); +const SVG::Color SVG::Color::cOrchid("orchid"); +const SVG::Color SVG::Color::cPaleGoldenRod("palegoldenrod"); +const SVG::Color SVG::Color::cPaleGreen("palegreen"); +const SVG::Color SVG::Color::cPaleTurquoise("paleturquoise"); +const SVG::Color SVG::Color::cPaleVioletRed("palevioletred"); +const SVG::Color SVG::Color::cPapayaWhip("papayawhip"); +const SVG::Color SVG::Color::cPeachPuff("peachpuff"); +const SVG::Color SVG::Color::cPeru("peru"); +const SVG::Color SVG::Color::cPink("pink"); +const SVG::Color SVG::Color::cPlum("plum"); +const SVG::Color SVG::Color::cPowderBlue("powderblue"); +const SVG::Color SVG::Color::cPurple("purple"); +const SVG::Color SVG::Color::cRed("red"); +const SVG::Color SVG::Color::cRosyBrown("rosybrown"); +const SVG::Color SVG::Color::cRoyalBlue("royalblue"); +const SVG::Color SVG::Color::cSaddleBrown("saddlebrown"); +const SVG::Color SVG::Color::cSalmon("salmon"); +const SVG::Color SVG::Color::cSandyBrown("sandybrown"); +const SVG::Color SVG::Color::cSeaGreen("seagreen"); +const SVG::Color SVG::Color::cSeaShell("seashell"); +const SVG::Color SVG::Color::cSienna("sienna"); +const SVG::Color SVG::Color::cSilver("silver"); +const SVG::Color SVG::Color::cSkyBlue("skyblue"); +const SVG::Color SVG::Color::cSlateBlue("slateblue"); +const SVG::Color SVG::Color::cSlateGray("slategray"); +const SVG::Color SVG::Color::cSlateGrey("slategrey"); +const SVG::Color SVG::Color::cSnow("snow"); +const SVG::Color SVG::Color::cSpringGreen("springgreen"); +const SVG::Color SVG::Color::cSteelBlue("steelblue"); +const SVG::Color SVG::Color::cTan("tan"); +const SVG::Color SVG::Color::cTeal("teal"); +const SVG::Color SVG::Color::cThistle("thistle"); +const SVG::Color SVG::Color::cTomato("tomato"); +const SVG::Color SVG::Color::cTurquoise("turquoise"); +const SVG::Color SVG::Color::cViolet("violet"); +const SVG::Color SVG::Color::cWheat("wheat"); +const SVG::Color SVG::Color::cWhite("white"); +const SVG::Color SVG::Color::cWhiteSmoke("whitesmoke"); +const SVG::Color SVG::Color::cYellow("yellow"); +const SVG::Color SVG::Color::cYellowGreen("yellowgreen"); + +/*! +* Function that output a string in the form "rgb(10%, 12%, 100%)" representing + * a SVG Color. + */ +std::string makeRGBColorString(float inRed, float inGreen, float inBlue) +{ + ostringstream lStream; + lStream << "rgb(" << inRed*100 << "%, " << inGreen*100 << "%, " << inBlue*100 << "%)"; + return lStream.str(); +} + +SVG::RGBColor::RGBColor(float inRed, float inGreen, float inBlue) : Color(makeRGBColorString(inRed, inGreen, inBlue)) {} + +std::string SVG::Point::getStringValue() const +{ + ostringstream lStream; + lStream << x << "," << y; + return lStream.str(); +} + +//! Concatenate with point \c inPoint, and return new point list. +SVG::PointList SVG::Point::operator+(const Point &inPoint) const +{ + return PointList(*this) += inPoint; +} + +//! Concatenate with point list \c inList and return new point list. +SVG::PointList SVG::Point::operator+(const SVG::PointList &inList) const +{ + return PointList(*this) += inList; +} + + +// Size +std::string SVG::Size::getStringValue(void) const +{ + ostringstream lStream; + lStream << width << "," << height; + return lStream.str(); +} + +std::string SVG::PointList::getStringValue(void) const { + if(size() == 0 ) return string(""); + string lString((*this)[0].getStringValue()); + for ( unsigned i = 1; i < size(); i++ ) lString += string(" ") + (*this)[i].getStringValue(); + return lString; +} + diff --git a/lib/beagle-3.0.3/PACC/SVG/Types.hpp b/lib/beagle-3.0.3/PACC/SVG/Types.hpp new file mode 100644 index 0000000..3f6b23c --- /dev/null +++ b/lib/beagle-3.0.3/PACC/SVG/Types.hpp @@ -0,0 +1,357 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! +* \file PACC/SVG/Types.hpp + * \brief Class definition for the basic SVG types. + * \author Marc Parizeau and Michel Fortin, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.6.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#ifndef PACC_SVG_Types_hpp_ +#define PACC_SVG_Types_hpp_ + +#include +#include +#include + +namespace PACC { + + namespace SVG { + + using namespace std; + + //! \brief Basic %SVG color string. + //! \ingroup SVG + class Color : public string { + public: + /*! + * \brief Constructor with color string. + * \param inColorString A string representing an" SVG color. + * + * Here are the valid" SVG colors formats: + * + * + * + * + * + * + * + * + * + * + *
Format Description
#rgb Three-digit RGB notation
#rrggbb Six-digit RGB notation
rgb(R, G, B) Functional notation (integer from 0 to 255)
rgb(R%, G%, B%) Functional notation (percent)
<colorname> Keyword
+ * + * If you want to use a color name keyword, you should use constants + * defined in this class instead. If you need to use direct numerical + * values, you should use the RGBColor or Gray subclass to construct + * the appropriate string. + * + * \note No string format validation is performed to ensure that it + * conform to SVG specifications. Make sure of what you write. + */ + explicit Color(const string &inColorString) : string(inColorString) {} + + /*! + * \name Color Constants Keywords + * + * Borowed from + * SVG color + * keywords specifications. Theses predefined colors should make + * your life easier. + */ + //@{ + static const Color cAliceBlue; //!< "aliceblue" SVG color + static const Color cAntiqueWhite; //!< "antiquewhite" SVG color + static const Color cAqua; //!< "aqua" SVG color + static const Color cAquaMarine; //!< "aquamarine" SVG color + static const Color cAzure; //!< "azure" SVG color + static const Color cBeige; //!< "beige" SVG color + static const Color cBisque; //!< "bisque" SVG color + static const Color cBlack; //!< "black" SVG color + static const Color cBlacheDalmond; //!< "blanchedalmond" SVG color + static const Color cBlue; //!< "blue" SVG color + static const Color cBlueViolet; //!< "blueviolet" SVG color + static const Color cBrown; //!< "brown" SVG color + static const Color cBurlyWood; //!< "burlywood" SVG color + static const Color cCadetBlue; //!< "cadetblue" SVG color + static const Color cChartreuse; //!< "chartreuse" SVG color + static const Color cChocolate; //!< "chocolate" SVG color + static const Color cCoral; //!< "coral" SVG color + static const Color cCornFlowerBlue; //!< "cornflowerblue" SVG color + static const Color cCornSilk; //!< "cornsilk" SVG color + static const Color cCrimson; //!< "crimson" SVG color + static const Color cCyan; //!< "cyan" SVG color + static const Color cDarkBlue; //!< "darkblue" SVG color + static const Color cDarkCyan; //!< "darkcyan" SVG color + static const Color cDarkGoldenRod; //!< "darkgoldenrod" SVG color + static const Color cDarkGray; //!< "darkgray" SVG color + static const Color cDarkGreen; //!< "darkgreen" SVG color + static const Color cDarkGrey; //!< "darkgrey" SVG color + static const Color cDarkKhaki; //!< "darkkhaki" SVG color + static const Color cDarkMagenta; //!< "darkmagenta" SVG color + static const Color cDarkOliveGreen; //!< "darkolivegreen" SVG color + static const Color cDarkOrange; //!< "darkorange" SVG color + static const Color cDarkOrchid; //!< "darkorchid" SVG color + static const Color cDarkRed; //!< "darkred" SVG color + static const Color cDarkSalmon; //!< "darksalmon" SVG color + static const Color cDarkSeaGreen; //!< "darkseagreen" SVG color + static const Color cDarkSlateBlue; //!< "darkslateblue" SVG color + static const Color cDarkSlateGray; //!< "darkslategray" SVG color + static const Color cDarkSlateGrey; //!< "darkslategrey" SVG color + static const Color cDarkTurquoise; //!< "darkturquoise" SVG color + static const Color cDarkViolet; //!< "darkviolet" SVG color + static const Color cDeepPink; //!< "deeppink" SVG color + static const Color cDeepSkyBlue; //!< "deepskyblue" SVG color + static const Color cDimGray; //!< "dimgray" SVG color + static const Color cDimGrey; //!< "dimgrey" SVG color + static const Color cDodgerBlue; //!< "dodgerblue" SVG color + static const Color cFireBrick; //!< "firebrick" SVG color + static const Color cFloralWhite; //!< "floralwhite" SVG color + static const Color cForestGreen; //!< "forestgreen" SVG color + static const Color cFuchsia; //!< "fuchsia" SVG color + static const Color cGainsboro; //!< "gainsboro" SVG color + static const Color cGostWhite; //!< "ghostwhite" SVG color + static const Color cGold; //!< "gold" SVG color + static const Color cGoldenRod; //!< "goldenrod" SVG color + static const Color cGray; //!< "gray" SVG color + static const Color cGrey; //!< "grey" SVG color + static const Color cGreen; //!< "green" SVG color + static const Color cGreenYellow; //!< "greenyellow" SVG color + static const Color cHoneyDew; //!< "honeydew" SVG color + static const Color cHotPink; //!< "hotpink" SVG color + static const Color cIndianRed; //!< "indianred" SVG color + static const Color cIndigo; //!< "indigo" SVG color + static const Color cIvory; //!< "ivory" SVG color + static const Color cKhaki; //!< "khaki" SVG color + static const Color cLavender; //!< "lavender" SVG color + static const Color cLavenderBlush; //!< "lavenderblush" SVG color + static const Color cLawnGreen; //!< "lawngreen" SVG color + static const Color cLemonChiffon; //!< "lemonchiffon" SVG color + static const Color cLightBlue; //!< "lightblue" SVG color + static const Color cLightCoral; //!< "lightcoral" SVG color + static const Color cLightCyan; //!< "lightcyan" SVG color + static const Color cLightGolderRodYellow; //!< "lightgoldenrodyellow" SVG color + static const Color cLightGray; //!< "lightgray" SVG color + static const Color cLightGreen; //!< "lightgreen" SVG color + static const Color cLightGrey; //!< "lightgrey" SVG color + static const Color cLigntPink; //!< "lightpink" SVG color + static const Color cLightSalmon; //!< "lightsalmon" SVG color + static const Color cLightSeaGreen; //!< "lightseagreen" SVG color + static const Color cLightSkyBlue; //!< "lightskyblue" SVG color + static const Color cLightSlateGray; //!< "lightslategray" SVG color + static const Color cLightSlateGrey; //!< "lightslategrey" SVG color + static const Color cLightSteelBlue; //!< "lightsteelblue" SVG color + static const Color cLightYellow; //!< "lightyellow" SVG color + static const Color cLime; //!< "lime" SVG color + static const Color cLimeGreen; //!< "limegreen" SVG color + static const Color cLinen; //!< "linen" SVG color + static const Color cMagenta; //!< "magenta" SVG color + static const Color cMaroon; //!< "maroon" SVG color + static const Color cMediumAquaMarine; //!< "mediumaquamarine" SVG color + static const Color cMediumBlue; //!< "mediumblue" SVG color + static const Color cMediumOrchid; //!< "mediumorchid" SVG color + static const Color cMediumPurple; //!< "mediumpurple" SVG color + static const Color cMeidumSeaGreen; //!< "mediumseagreen" SVG color + static const Color cMediumSlateBlue; //!< "mediumslateblue" SVG color + static const Color cMediumSpringGreen;//!< "mediumspringgreen" SVG color + static const Color cMediumTurquoise; //!< "mediumturquoise" SVG color + static const Color cMediumVioletRed; //!< "mediumvioletred" SVG color + static const Color cModNightBlue; //!< "midnightblue" SVG color + static const Color cMintCream; //!< "mintcream" SVG color + static const Color cMistyRose; //!< "mistyrose" SVG color + static const Color cMoccasin; //!< "moccasin" SVG color + static const Color cNavajoWhite; //!< "navajowhite" SVG color + static const Color cNavy; //!< "navy" SVG color + static const Color cOldLace; //!< "oldlace" SVG color + static const Color cOlive; //!< "olive" SVG color + static const Color cOliveDrab; //!< "olivedrab" SVG color + static const Color cOrange; //!< "orange" SVG color + static const Color cOrangered; //!< "orangered" SVG color + static const Color cOrchid; //!< "orchid" SVG color + static const Color cPaleGoldenRod; //!< "palegoldenrod" SVG color + static const Color cPaleGreen; //!< "palegreen" SVG color + static const Color cPaleTurquoise; //!< "paleturquoise" SVG color + static const Color cPaleVioletRed; //!< "palevioletred" SVG color + static const Color cPapayaWhip; //!< "papayawhip" SVG color + static const Color cPeachPuff; //!< "peachpuff" SVG color + static const Color cPeru; //!< "peru" SVG color + static const Color cPink; //!< "pink" SVG color + static const Color cPlum; //!< "plum" SVG color + static const Color cPowderBlue; //!< "powderblue" SVG color + static const Color cPurple; //!< "purple" SVG color + static const Color cRed; //!< "red" SVG color + static const Color cRosyBrown; //!< "rosybrown" SVG color + static const Color cRoyalBlue; //!< "royalblue" SVG color + static const Color cSaddleBrown; //!< "saddlebrown" SVG color + static const Color cSalmon; //!< "salmon" SVG color + static const Color cSandyBrown; //!< "sandybrown" SVG color + static const Color cSeaGreen; //!< "seagreen" SVG color + static const Color cSeaShell; //!< "seashell" SVG color + static const Color cSienna; //!< "sienna" SVG color + static const Color cSilver; //!< "silver" SVG color + static const Color cSkyBlue; //!< "skyblue" SVG color + static const Color cSlateBlue; //!< "slateblue" SVG color + static const Color cSlateGray; //!< "slategray" SVG color + static const Color cSlateGrey; //!< "slategrey" SVG color + static const Color cSnow; //!< "snow" SVG color + static const Color cSpringGreen; //!< "springgreen" SVG color + static const Color cSteelBlue; //!< "steelblue" SVG color + static const Color cTan; //!< "tan" SVG color + static const Color cTeal; //!< "teal" SVG color + static const Color cThistle; //!< "thistle" SVG color + static const Color cTomato; //!< "tomato" SVG color + static const Color cTurquoise; //!< "turquoise" SVG color + static const Color cViolet; //!< "violet" SVG color + static const Color cWheat; //!< "wheat" SVG color + static const Color cWhite; //!< "white" SVG color + static const Color cWhiteSmoke; //!< "whitesmoke" SVG color + static const Color cYellow; //!< "yellow" SVG color + static const Color cYellowGreen; //!< "yellowgreen" SVG color + //@} + }; + + //! \brief Red, green, and blue color. + //! \ingroup SVG + class RGBColor : public Color { + public: + //! Construct with components \c inRed, \c inGreen, and \c inBlue. + RGBColor(float inRed, float inGreen, float inBlue); + }; + + //! \brief %Color as a shade of gray. + //! \ingroup SVG + class Gray : public RGBColor { + public: + //! Construct gray color of intensity \c inLevel. + Gray(float inLevel) : RGBColor(inLevel, inLevel, inLevel) {} + }; + + class PointList; + + //! \brief Position of graphic component. + //! \ingroup SVG + class Point { + public: + //! Default constructor. + Point(void) : x(0), y(0) {} + + //! Construct with (\c inX,\c inY).. + Point(double inX, double inY) : x(inX), y(inY) {} + + //! return the angle with the origin. + double getAngle(void) const {return atan2(y,x);} + + //! Return the distance from the origin. + double getDistance(void) const {return sqrt(x*x+y*y);} + + //! Rotate by \c inAngle degrees. + void rotate(double inAngle) {*this = Point(x*cos(inAngle)-y*sin(inAngle), x*sin(inAngle)+y*cos(inAngle));} + + //! Translate by offset (\c inDX,\c inDY). + void translateBy(double inDX, double inDY) {x += inDX; y += inDY;} + + //! Scale by factor \c inFactor + void scaleBy(double inFactor) {x *= inFactor; y *= inFactor;} + + std::string getStringValue() const; + + //! Concatenate with point \c inPoint, and return new point list. + PointList operator+(const Point &inPoint) const; + + //! Concatenate with point list \c inList and return new point list. + PointList operator+(const PointList &inList) const; + + double x; //!< Horizontal coordinate. + double y; //!< Vertical coordinate. + }; + + /*!\brief List of points. + * \ingroup SVG + * + * This class is a standard vector of point (std::vector) with some + * utility functions and + and += operators to facilitate the concatenation + * of point lists. + */ + class PointList : public vector { + public: + //! Make an empty point list. + PointList() {} + + //! Make a point list out of a single point \c inPoint. + PointList(const Point inPoint) : std::vector(1, inPoint) {} + + //! Return the result of cancatenating this list with point list \c inList. + PointList operator+(const PointList &inList) const {return PointList(*this) += inList;} + + //! Append point list \c inList to this list. + PointList &operator+=(const PointList &inList) { + for ( unsigned i = 0; i < inList.size(); i++ ) push_back(inList[i]); + return *this; + } + + //! Return the result of cancatenating this list with single point \c inPoint. + PointList operator+(const Point &inPoint) const {return PointList(*this) += inPoint;} + + //! Append single point \c inPoint to this list. + PointList &operator+=(const Point &inPoint) { + push_back(inPoint); + return *this; + } + + //! Return a string representation of this list. + string getStringValue(void) const; + }; + + //! \brief %Size of graphic component. + //! \ingroup SVG + class Size { + public: + //! Default constructor. + Size() : width(0), height(0) {} + + //! Construct with width \c inWidth and height \c inHeight. + Size(double inWidth, double inHeight) : width(inWidth), height(inHeight) {} + + //! Return length of diagonal. + double getDiagonal(void) const {return sqrt(width*width + height*height);} + + //! Scale by factor \c inFactor. + void scaleBy(float inFactor) {width *= inFactor; height *= inFactor;} + + string getStringValue(void) const; + + double width; //!< Width of graphic component. + double height; //!< Height of graphic component. + }; + + } // end of SVG namespace + +} // end of PACC namespace + +#endif //PACC_SVG_Types_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Socket.hpp b/lib/beagle-3.0.3/PACC/Socket.hpp new file mode 100644 index 0000000..51826c6 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket.hpp @@ -0,0 +1,50 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket.hpp + * \brief Include all headers for the portable socket network module. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.4 $ + * $Date: 2005/10/05 13:38:26 $ + */ + +/*! \namespace PACC::Socket + * \brief Portable socket networking classes. + */ + +/*! + * \defgroup Socket Portable socket networking classes (Socket) + */ + +#include "Socket/Address.hpp" +#include "Socket/Cafe.hpp" +#include "Socket/ConnectedUDP.hpp" +#include "Socket/TCP.hpp" +#include "Socket/TCPServer.hpp" +#include "Socket/UDP.hpp" +#include "Socket/UDPServer.hpp" diff --git a/lib/beagle-3.0.3/PACC/Socket/.deps/Address.Plo b/lib/beagle-3.0.3/PACC/Socket/.deps/Address.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/.deps/Address.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Socket/.deps/Cafe.Plo b/lib/beagle-3.0.3/PACC/Socket/.deps/Cafe.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/.deps/Cafe.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Socket/.deps/ConnectedUDP.Plo b/lib/beagle-3.0.3/PACC/Socket/.deps/ConnectedUDP.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/.deps/ConnectedUDP.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Socket/.deps/Exception.Plo b/lib/beagle-3.0.3/PACC/Socket/.deps/Exception.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/.deps/Exception.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Socket/.deps/Port.Plo b/lib/beagle-3.0.3/PACC/Socket/.deps/Port.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/.deps/Port.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Socket/.deps/TCP.Plo b/lib/beagle-3.0.3/PACC/Socket/.deps/TCP.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/.deps/TCP.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Socket/.deps/TCPServer.Plo b/lib/beagle-3.0.3/PACC/Socket/.deps/TCPServer.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/.deps/TCPServer.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Socket/.deps/UDP.Plo b/lib/beagle-3.0.3/PACC/Socket/.deps/UDP.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/.deps/UDP.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Socket/.deps/UDPServer.Plo b/lib/beagle-3.0.3/PACC/Socket/.deps/UDPServer.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/.deps/UDPServer.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Socket/.deps/libpacc-socket.Plo b/lib/beagle-3.0.3/PACC/Socket/.deps/libpacc-socket.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/.deps/libpacc-socket.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Socket/Address.cpp b/lib/beagle-3.0.3/PACC/Socket/Address.cpp new file mode 100644 index 0000000..3a1f8e9 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/Address.cpp @@ -0,0 +1,99 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/Address.cpp + * \brief Class methods for the portable network address. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#include "Socket/Address.hpp" +#include "Socket/Exception.hpp" +#include "Util/Tokenizer.hpp" +#include "Util/StringFunc.hpp" +#include + +#ifdef WIN32 +///////////// specifics for windows ///////////// +#include + +#else +///////////// specifics for unixes ///////////// +#include +#include +#include +#include +#include +#endif + +using namespace std; +using namespace PACC; + +/*! +This method is a helper constructor that parses a tipical "host:port" string. The host name can be either an IP address (e.g. 198.137.240.92) or an internet address (e.g. whitehouse.gov). Any error raises a Socket::exception. + */ +Socket::Address::Address(const string& inHostPort) +{ + istringstream lStream(inHostPort); + Tokenizer lTokenizer(lStream); + lTokenizer.setDelimiters(" \t\n\r",":"); + string lHost = lTokenizer.getNextToken(); + if(lTokenizer.getNextToken() != ":") throw Exception(eOtherError, "Address::address() invalid host:port string"); + mPortNumber = String::convertToInteger(lTokenizer.getNextToken()); + lookupHost(lHost); +} + +/*! +Determines the IP address (e.g. 198.137.240.92) or internet name (e.g. whitehouse.gov) of host \c inHost. Any error raises a Socket::exception. + */ +void Socket::Address::lookupHost(const string& inHost) +{ +#ifdef WIN32 + WSADATA wsdata; + if (WSAStartup(MAKEWORD(2,2), &wsdata) != 0) { + throw Exception(eOtherError, "Address::address() failed to load WinSock2"); + } +#endif + struct hostent* lHost; + unsigned lIP; + if((lIP = inet_addr(inHost.c_str())) != INADDR_NONE) { + // name is an IP address + mIPAddress = inHost; + // get corresponding host name + lHost = ::gethostbyaddr((char*)&lIP, sizeof(lIP), AF_INET); + if(lHost != 0) mHostName = lHost->h_name; + else mHostName = inHost; + } else { + // name is a host; retrieve IP address + mHostName = inHost; + lHost = ::gethostbyname(inHost.c_str()); + if(lHost == 0) throw Exception(eOtherError, string("Address::lookupHost() unable to lookup address for host ")+inHost); + mIPAddress = inet_ntoa(*((struct in_addr*)lHost->h_addr)); + } +} diff --git a/lib/beagle-3.0.3/PACC/Socket/Address.hpp b/lib/beagle-3.0.3/PACC/Socket/Address.hpp new file mode 100644 index 0000000..1307395 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/Address.hpp @@ -0,0 +1,83 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/Address.hpp + * \brief Class definition for the portable network address. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#ifndef PACC_Socket_Address_hpp_ +#define PACC_Socket_Address_hpp_ + +#include + +namespace PACC { + + using namespace std; + + namespace Socket { + + /*! \brief Portable network address. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Socket + + This class encapsulates a cross-platform address for a peer host. It should be compatible with any POSIX Unix, and with any version of windows. It has been tested under Linux, MacOS X and Windows 2000/XP. + + Any error raises a Socket::Exception. + */ + class Address { + public: + //! Construct a peer address for "host:port" \c inHostPort. + Address(const string& inHostPort); + + //! Construct a peer address for host \c inHost and port \c inPort. + explicit Address(unsigned int inPort=0, const string& inHost="localhost") : mPortNumber(inPort) {lookupHost(inHost);} + + //! Return host name. + const string& getHostName() const {return mHostName;} + //! Return IP address. + const string& getIPAddress() const {return mIPAddress;} + //! Return port number. + unsigned int getPortNumber() const {return mPortNumber;} + + protected: + unsigned int mPortNumber; //!< socket port number + string mIPAddress; //!< socket IP address + string mHostName; //!< host name + + //! Lookup host name/address \c inHost. + void lookupHost(const string& inHost); + }; + + } // end of Socket namespace + +} // end of PACC namespace + +#endif // PACC_Socket_Address_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Socket/Cafe.cpp b/lib/beagle-3.0.3/PACC/Socket/Cafe.cpp new file mode 100644 index 0000000..e1cb070 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/Cafe.cpp @@ -0,0 +1,246 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau and Marc Dubreuil + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! +* \file PACC/Socket/Cafe.cpp + * \brief Class methods for the cafe protocol. + * \author Marc Parizeau and Marc Dubreuil, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.6.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#include "Socket/Cafe.hpp" +#include + +#ifdef WIN32 +///////////// specifics for windows ///////////// +#include +namespace PACC { + typedef u_long UInt32; +} + +#else +///////////// specifics for unixes ///////////// +#include +namespace PACC { + typedef uint32_t UInt32; +} +#endif + +#ifdef PACC_ZLIB +// Set this variable in order to enable message compression +#include +#endif + +using namespace std; +using namespace PACC; + +/*! +WARNING: in order to enable message compression, this class needs to be compiled with variable PACC_ZLIB set. +*/ +#ifdef PACC_ZLIB +void Socket::Cafe::compress(const std::string& inMessage, std::string& outMessage, unsigned int inCompressionLevel) +{ + if(inCompressionLevel == 0) outMessage = inMessage; + else + { + // size of buffer must be at least 0.1% + 12 bytes larger than the message size + unsigned long lBufLength = (inMessage.size() + inMessage.size()/1000 + 1) + 12; + outMessage.resize(lBufLength); + // compress message + int lReturn = ::compress2((Bytef *)&outMessage[0], (uLongf*)&lBufLength, (const Bytef *)inMessage.data(), inMessage.size(), inCompressionLevel); + // check for error + if(lReturn != Z_OK) + { + outMessage.clear(); + throw Exception(eOtherError, "Cafe::compress() unable to compress message!"); + } + // resize message to size of compressed message + outMessage.resize(lBufLength); + } +} +#endif + +/*! +This method will wait until the specified amount of bytes in received from the socket. It assumes that buffer \c inBuffer is large enough to accept \c inCount bytes. Any error (e.g. timeouts or broken connection) will throw a Socket::Exception. +*/ +void Socket::Cafe::receive(char* inBuffer, unsigned int inCount) +{ + PACC::UInt32 lTotalReceived = 0; + while(lTotalReceived < inCount) { + PACC::UInt32 lRecv = Port::receive(inBuffer+lTotalReceived, inCount-lTotalReceived); + lTotalReceived += lRecv;; + } +} + +/*! +This function waits for a valid message according to the Cafe protocol, or until +time out. It returns the received message through output parameter \c OutMessage. +Any error raises a Socket::Exception. For instance, it throws an exception with +code Socket::eConnectionClosed if the connection is closed by the other party +before message end, with code Socket::eBadMessage if the protocol signature is +invalid, or with code Socket::eTimeOut if the timeout period expires before +reception of a cmoplete message. The timeout period can be changed using function +Port::setSockOpt with parameter Socket::eRecvTimeOut. + */ +void Socket::Cafe::receiveMessage(std::string& outMessage) +{ + if(mDescriptor < 0) throw Exception(eBadDescriptor, "Cafe::receiveMessage() invalid socket"); + // check message signature + PACC::UInt32 lSignature = 0; + receive((char*)&lSignature, sizeof(lSignature)); + switch(ntohl(lSignature)) + { + case 0xCAFE: // uncompressed Cafe + { + // read message size + PACC::UInt32 lMessageSize = 0; + receive((char*)&lMessageSize, sizeof(lMessageSize)); + lMessageSize = ntohl(lMessageSize); + // resize output string + outMessage.resize(lMessageSize); + // read message body + receive(&outMessage[0], lMessageSize); + break; + } + case 0xCCAFE: // compressed Cafe + { +#ifdef PACC_ZLIB + // read message size + PACC::UInt32 lMessageSize = 0; + receive((char*)&lMessageSize, sizeof(lMessageSize)); + lMessageSize = ntohl(lMessageSize); + // resize output string + outMessage.resize(lMessageSize); + //read uncompressed size + PACC::UInt32 lUncompressedSize = 0; + receive((char*)&lUncompressedSize, sizeof(lUncompressedSize)); + lUncompressedSize = ntohl(lUncompressedSize); + // read message body + receive(&outMessage[0], lMessageSize); + //decompress message + uncompress(outMessage, lUncompressedSize); + break; +#else + throw Exception(eOtherError, "Cafe::receiveMessage() class needs to be compiled with variable PACC_ZLIB set, in order to enable message decompression"); +#endif + } + default: // unknown + throw Exception(eBadMessage, "Cafe::receiveMessage() invalid signature"); + } +} + +/*! +This function sends a message string using either of the two Cafe protocols. The +user can specify a compression level using argument \c inCompressionLevel. +However, this argument is ignored by default and messages are not compressed in +any way. To enable compression, the class must be compiled with variable +PACC_ZLIB set, and the executable must be linked with the zlib library +. + +Compression level must range from 0 to 9. A nul compression level means no +compression, while a level of 9 specifies maximum compression. The message is +sent compressed only if smaller than the original. + +Any error raises a Socket::Exception. For instance, it throws an exception with +code Socket::eConnectionClosed if the connection is closed by the other party +during message transmission, or with code Socket::eTimeOut if the message +cannot be sent before the time out period expires. The time out period can be +changed using function Port::setSockOpt with parameter Socket::eSendTimeOut. + */ +void Socket::Cafe::sendMessage(const std::string& inMessage, unsigned int inCompressionLevel) +{ + if(inCompressionLevel > 9) + { + throw Exception(eOtherError, "Cafe::sendMessage() invalid compression level!"); + } +#ifdef PACC_ZLIB + if(inCompressionLevel > 0) + { + // try to compress message + string lCompressedMessage; + compress(inMessage, lCompressedMessage, inCompressionLevel); + if(lCompressedMessage.size() < inMessage.size()) + { + // send compressed message only if smaller + // assume MTU is 1500 bytes - IP headers + char lBuffer[1460]; + PACC::UInt32* lHeader = (PACC::UInt32*) lBuffer; + lHeader[0] = htonl(0xCCAFE); + lHeader[1] = htonl(lCompressedMessage.size()); + lHeader[2] = htonl(inMessage.size()); + // copy start of compressed message to header + memcpy(lBuffer+12, lCompressedMessage.data(), (lCompressedMessage.size() sizeof(lBuffer)-12) send(lCompressedMessage.data()+sizeof(lBuffer)-12, lCompressedMessage.size()-sizeof(lBuffer)+12); + } else { + // send uncompressed message + // assume MTU is 1500 bytes - IP headers + char lBuffer[1460]; + PACC::UInt32* lHeader = (PACC::UInt32*) lBuffer; + lHeader[0] = htonl(0xCAFE); + lHeader[1] = htonl(inMessage.size()); + // copy start of uncompressed message to header + memcpy(lBuffer+8, inMessage.data(), (inMessage.size() sizeof(lBuffer)-8) send(inMessage.data()+sizeof(lBuffer)-8, inMessage.size()-sizeof(lBuffer)+8); + } + } else +#endif + { + // send uncompressed message (compression is disabled) + // assume MTU is 1500 bytes - IP headers + char lBuffer[1460]; + PACC::UInt32* lHeader = (PACC::UInt32*) lBuffer; + lHeader[0] = htonl(0xCAFE); + lHeader[1] = htonl(inMessage.size()); + // copy start of message to header + memcpy(lBuffer+8, inMessage.data(), (inMessage.size() sizeof(lBuffer)-8) send(inMessage.data()+sizeof(lBuffer)-8, inMessage.size()-sizeof(lBuffer)+8); + } +} + + +/*! +WARNING: in order to enable message compression/uncompression, this class needs to be compiled with variable PACC_ZLIB set. +*/ +#ifdef PACC_ZLIB +void Socket::Cafe::uncompress(std::string& ioMessage, unsigned long inUncompressedSize) +{ + string lUncompressedMessage; + lUncompressedMessage.resize(inUncompressedSize); + int lReturn = ::uncompress((Bytef*)&lUncompressedMessage[0], (uLong*)&inUncompressedSize, (const Bytef*)ioMessage.data(), ioMessage.size()); + if(lReturn != Z_OK) { + throw Exception(eOtherError, "Cafe::uncompress() unable to uncompress message!"); + } + ioMessage = lUncompressedMessage; +} +#endif diff --git a/lib/beagle-3.0.3/PACC/Socket/Cafe.hpp b/lib/beagle-3.0.3/PACC/Socket/Cafe.hpp new file mode 100644 index 0000000..10c3a1a --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/Cafe.hpp @@ -0,0 +1,103 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2004 by Marc Parizeau and Marc Dubreuil + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/Cafe.hpp + * \brief Class definition for the cafe protocol. + * \author Marc Parizeau and Marc Dubreuil, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#ifndef PACC_Socket_Cafe_hpp_ +#define PACC_Socket_Cafe_hpp_ + +#include "Socket/TCP.hpp" + +namespace PACC { + + using namespace std; + + namespace Socket { + + /*!\brief %Cafe protocol. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Socket + + This class implements a custom protocol for socket communication. It + encapsulates ASCII string messages over %TCP using a header containing a + double word signature plus message length information. There are in fact + two protocols. The first uses the \c 0xCAFE signature to encapsulate + uncompressed messages. In that case, the next double word (4 bytes) + contains the message length in network order. The second protocol uses + the \c 0xCCAFE signature to encapsulate compressed messages. In this + case, the header contains two double words: the first being the + compressed message length (in network order), and the second the + uncompressed message length (again in network order). + + By default, this class does not allow message compression (compression + level must be 0). In order to enable compression (levels 1 to 9), it + needs to be compiled with variable PACC_ZLIB set, and the executable + needs to be linked with the zlib library . + Also note that messages will be sent uncompressed whenever compression + would result in longer messages. + + Any error raises a Socket::Exception. + */ + class Cafe : public TCP { + public: + //! Construct unconnected socket. + explicit Cafe(void) throw() {} + + //! Construct using existing socket descriptor \c inDescriptor. + Cafe(int inDescriptor) throw() : TCP(inDescriptor) {} + + //! Construct socket connected to peer \c inPeer. + Cafe(const Address& inPeer) : TCP(inPeer) {} + + //! Receive string message from connected server using the 0cafe protocol. + void receiveMessage(string& outMessage); + + //! Send string message \c inMessage to connected server using the cafe protocol. + void sendMessage(const string& inMessage, unsigned int inCompressionLevel = 0); + + protected: + //! Compress string \c inMessage using compression level \c inCompressionLevel, and return result through string \c outMessage. + void compress(const string& inMessage, string& outMessage, unsigned int inCompressionLevel); + + //! Uncompress string \c ioMessage knowing that the uncompressed message length is \c inUncompressedSize, and return result through string \c ioMessage. + void uncompress(string& ioMessage, unsigned long inSize); + + //! Receive \c inCount bytes from socket. + void receive(char* inBuffer, unsigned int inCount); + }; + + } // end of Socket namespace + +} // end of PACC namespace + +#endif // PACC_Socket_Cafe_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Socket/ConnectedUDP.cpp b/lib/beagle-3.0.3/PACC/Socket/ConnectedUDP.cpp new file mode 100644 index 0000000..39d1712 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/ConnectedUDP.cpp @@ -0,0 +1,60 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/ConnectedUDP.cpp + * \brief Class methods for the portable connected %UDP client. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.6.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#include "Socket/ConnectedUDP.hpp" + +using namespace std; +using namespace PACC; + +/*! \brief Receive string datagram from connected (UDP) server. + +This function waits for a datagram from the connected peer socket, or until time out. It returns the received datagram through output parameter \c outDatagram. Any error raises a Socket::Exception. For instance, it throws an exception with code Socket::eTimeOut if the timeout period expires before reception of any datagram. The timeout period can be changed using function Port::setSockOpt with parameter Socket::eRecvTimeOut. +*/ +void Socket::ConnectedUDP::receiveDatagram(std::string& outDatagram) +{ + outDatagram.resize((unsigned int) getSockOpt(eRecvBufSize)); + unsigned int lRecv = receive(&outDatagram[0], outDatagram.size()); + outDatagram.resize(lRecv); +} + +/*! \brief Send datagram message to connected (UDP) server. +\attention Maximum datagram size defaults to 1024 bytes. + +This function sends datagram string \c inDatagram to the connected peer socket. Any error raises a Socket::Exception. For instance, it throws an exception with code \c Socket::eTimeOut if the datagram cannot be sent before the time out period expires. The time out period can be changed using function \c Port::setSockOpt with parameter \c Socket::eSendTimeOut. +*/ +void Socket::ConnectedUDP::sendDatagram(const string& inDatagram) +{ + send(inDatagram.data(), inDatagram.size()); +} diff --git a/lib/beagle-3.0.3/PACC/Socket/ConnectedUDP.hpp b/lib/beagle-3.0.3/PACC/Socket/ConnectedUDP.hpp new file mode 100644 index 0000000..a11505d --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/ConnectedUDP.hpp @@ -0,0 +1,67 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/ConnectedUDP.hpp + * \brief Class definition for the portable connected %UDP client. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#ifndef PACC_Socket_ConnectedUDP_hpp_ +#define PACC_Socket_ConnectedUDP_hpp_ + +#include "Socket/UDP.hpp" + +namespace PACC { + + using namespace std; + + namespace Socket { + + /*!\brief Portable connected %UDP socket client. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * \ingroup Socket + * + * This class defines a simple %UDP socket client that connects to a peer server. Any error raises a Socket::Exception. + */ + class ConnectedUDP : public UDP { + public: + //! Construct socket connected to peer \c inPeer. + explicit ConnectedUDP(const Address& inPeer) {connect(inPeer);} + + void receiveDatagram(string& outMessage); + void sendDatagram(const string& inMessage); + + }; + + } // end of Socket namespace + +} // end of PACC namespace + +#endif // PACC_Socket_ConnectedUDP_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Socket/Exception.cpp b/lib/beagle-3.0.3/PACC/Socket/Exception.cpp new file mode 100644 index 0000000..c4d79f4 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/Exception.cpp @@ -0,0 +1,122 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/Exception.cpp + * \brief Class methods for the portable socket exception. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#include "Socket/Exception.hpp" + +#ifdef WIN32 +///////////// specifics for windows ///////////// +#include + +#else +///////////// specifics for unixes ///////////// +#include +#endif + +#include + +using namespace std; +using namespace PACC; + +//! Convert native OS error \c inError to Socket::Error. +Socket::Error Socket::Exception::convertNativeError(int inError) +{ + Error lCode; + switch(inError) + { +#ifdef WIN32 + case WSAEACCES: lCode = ePrivilegedPort; break; + case WSAEADDRINUSE: lCode = eAddressInUse; break; + case WSAEADDRNOTAVAIL: lCode = eAddressNotAvailable; break; + case WSAECONNREFUSED: lCode = eConnectionRefused; break; + case WSAECONNRESET: lCode = eConnectionClosed; break; + case WSAEHOSTDOWN: lCode = eConnectionRefused; break; + case WSAEHOSTUNREACH: lCode = eConnectionRefused; break; + case WSAEINTR: lCode = eConnectionClosed; break; + case WSAEISCONN: lCode = eIsConnected; break; + case WSAEMSGSIZE: lCode = eDatagramTooLong; break; + case WSAENETRESET: lCode = eConnectionClosed; break; + case WSAENOPROTOOPT: lCode = eInvalidOption; break; + case WSAENOTCONN: lCode = eNotConnected; break; + case WSANOTINITIALISED: lCode = eBadDescriptor; break; + case WSAENOTSOCK: lCode = eBadDescriptor; break; + case WSAEOPNOTSUPP: lCode = eOpNotSupported; break; + case WSAESHUTDOWN: lCode = eBadDescriptor; break; + case WSAETIMEDOUT: lCode = eTimeOut; break; +#else + case EACCES: lCode = ePrivilegedPort; break; + case EADDRINUSE: lCode = eAddressInUse; break; + case EADDRNOTAVAIL: lCode = eAddressNotAvailable; break; + case EAGAIN: lCode = eTimeOut; break; + case EBADF: lCode = eBadDescriptor; break; + case ECONNREFUSED: lCode = eConnectionRefused; break; + case ECONNRESET: lCode = eConnectionClosed; break; + case EINTR: lCode = eConnectionClosed; break; + case EISCONN: lCode = eIsConnected; break; + case EMSGSIZE: lCode = eDatagramTooLong; break; + case ENOPROTOOPT: lCode = eInvalidOption; break; + case ENOTCONN: lCode = eNotConnected; break; + case ENOTSOCK: lCode = eBadDescriptor; break; + case EPIPE: lCode =eConnectionClosed; break; + case ETIMEDOUT: lCode = eTimeOut; break; +#endif + default: lCode = eOtherError; + } + return lCode; +} + +string Socket::Exception::getMessage() const throw() +{ + ostringstream lMessage; + switch(mCode) + { + case eAddressInUse: lMessage << "AddressInUse"; break; + case eAddressNotAvailable: lMessage << "AddressNotAvailable"; break; + case eBadDescriptor: lMessage << "BadDescriptor"; break; + case eBadMessage: lMessage << "BadMessage"; break; + case eConnectionClosed: lMessage << "ConnectionClosed"; break; + case eConnectionRefused: lMessage << "ConnectionRefused"; break; + case eDatagramTooLong: lMessage << "DatagramTooLong"; break; + case eInvalidOption: lMessage << "InvalidOption"; break; + case eIsConnected: lMessage << "IsConnected"; break; + case eNotConnected: lMessage << "NotConnected"; break; + case eOpNotSupported: lMessage << "OpNotSupported"; break; + case ePrivilegedPort: lMessage << "PrivilegedPort"; break; + case eTimeOut: lMessage << "TimeOut"; break; + default: lMessage << "OtherError"; break; + } + if(mNativeCode) lMessage << " (" << mNativeCode << "): "; + else lMessage << ": "; + return lMessage.str()+what(); +} diff --git a/lib/beagle-3.0.3/PACC/Socket/Exception.hpp b/lib/beagle-3.0.3/PACC/Socket/Exception.hpp new file mode 100644 index 0000000..63ca487 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/Exception.hpp @@ -0,0 +1,104 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/Exception.hpp + * \brief Class definition for the portable socket exception. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#ifndef PACC_Socket_Exception_hpp_ +#define PACC_Socket_Exception_hpp_ + +#include +#include + +namespace PACC { + + using namespace std; + + namespace Socket { + + /*! + \brief Supported socket error codes. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Socket + */ + enum Error { + eAddressInUse, //!< %Address is already in use (bind & connect). + eAddressNotAvailable, //!< %Address not available on machine (bind & connect). + eBadDescriptor, //!< Invalid socket descriptor (socket). + eBadMessage, //!< Message signature is invalid. + eConnectionClosed, //!< Connection was closed (or broken) by other party. + eConnectionRefused, //!< Connection refused by server. + eDatagramTooLong, //!< Datagram too long to send atomically. + eInvalidOption, //!< Invalid option for socket protocol. + eIsConnected, //!< %Socket is already connected. + eNotConnected, //!< %Socket is not connected. + eOpNotSupported, //!< Operation is not supported for this socket. + ePrivilegedPort, //!< User does not have acces to privileged ports (bind). + eTimeOut, //!< Time out was reached for operation (receive & send). + eOtherError //!< Any other OS specific error. + }; + + /*! + \brief %Socket exception. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Socket + + This class encapsulates most interesting runtime errors that can happen while using sockets. + */ + class Exception : public runtime_error { + public: + //! Construct exception with native error code \c inCode and message \c inMessage. + explicit Exception(int inCode, const string& inMessage) + : runtime_error(inMessage), mNativeCode(inCode) {mCode = convertNativeError(inCode);} + + //! Construct exception with portable error code \c inCode and message \c inMessage. + explicit Exception(Error inCode, const string& inMessage) + : runtime_error(inMessage), mCode(inCode) {mNativeCode = 0;} + + static Error convertNativeError(int inError); + + //! Return error code. + int getErrorCode(void) const {return mCode;} + + string getMessage(void) const throw(); + + protected: + Error mCode; //!< Portable error code + int mNativeCode; //!< Native error code + + }; + + } // end of Socket namespace + +} // end of PACC namespace + +#endif // PACC_Socket_Exception_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Socket/Makefile b/lib/beagle-3.0.3/PACC/Socket/Makefile new file mode 100644 index 0000000..a271475 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/Makefile @@ -0,0 +1,793 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# PACC/Socket/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = PACC/Socket +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(paccsocket_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccsocketdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libpacc_socket_la_DEPENDENCIES = \ + $(top_srcdir)/PACC/Threading/libpacc-threading.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la +am__libpacc_socket_la_SOURCES_DIST = Address.cpp Cafe.cpp \ + ConnectedUDP.cpp Exception.cpp Port.cpp TCP.cpp TCPServer.cpp \ + UDP.cpp UDPServer.cpp +am__objects_1 = Address.lo Cafe.lo ConnectedUDP.lo Exception.lo \ + Port.lo TCP.lo TCPServer.lo UDP.lo UDPServer.lo +#am_libpacc_socket_la_OBJECTS = \ +# $(am__objects_1) +nodist_libpacc_socket_la_OBJECTS = \ + libpacc-socket.lo +libpacc_socket_la_OBJECTS = $(am_libpacc_socket_la_OBJECTS) \ + $(nodist_libpacc_socket_la_OBJECTS) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +libpacc_socket_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libpacc_socket_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/Address.Plo ./$(DEPDIR)/Cafe.Plo \ + ./$(DEPDIR)/ConnectedUDP.Plo ./$(DEPDIR)/Exception.Plo \ + ./$(DEPDIR)/Port.Plo ./$(DEPDIR)/TCP.Plo \ + ./$(DEPDIR)/TCPServer.Plo ./$(DEPDIR)/UDP.Plo \ + ./$(DEPDIR)/UDPServer.Plo ./$(DEPDIR)/libpacc-socket.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libpacc_socket_la_SOURCES) \ + $(nodist_libpacc_socket_la_SOURCES) +DIST_SOURCES = $(am__libpacc_socket_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +HEADERS = $(paccsocket_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/PACC/Socket +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/PACC/Socket +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +PACC_SOCKET_SRC_VAR = \ +Address.cpp \ +Cafe.cpp \ +ConnectedUDP.cpp \ +Exception.cpp \ +Port.cpp \ +TCP.cpp \ +TCPServer.cpp \ +UDP.cpp \ +UDPServer.cpp + +paccsocketdir = $(includedir)/Socket +paccsocket_HEADERS = \ +Address.hpp \ +Cafe.hpp \ +ConnectedUDP.hpp \ +Exception.hpp \ +Port.hpp \ +TCP.hpp \ +TCPServer.hpp \ +UDP.hpp \ +UDPServer.hpp + +lib_LTLIBRARIES = libpacc-socket.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_socket_la_LIBADD = \ +$(top_srcdir)/PACC/Threading/libpacc-threading.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la + +libpacc_socket_la_LDFLAGS = -no-undefined -release 1.3.1b +nodist_libpacc_socket_la_SOURCES = libpacc-socket.cpp +#libpacc_socket_la_SOURCES = $(PACC_SOCKET_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu PACC/Socket/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu PACC/Socket/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libpacc-socket.la: $(libpacc_socket_la_OBJECTS) $(libpacc_socket_la_DEPENDENCIES) $(EXTRA_libpacc_socket_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libpacc_socket_la_LINK) -rpath $(libdir) $(libpacc_socket_la_OBJECTS) $(libpacc_socket_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/Address.Plo # am--include-marker +include ./$(DEPDIR)/Cafe.Plo # am--include-marker +include ./$(DEPDIR)/ConnectedUDP.Plo # am--include-marker +include ./$(DEPDIR)/Exception.Plo # am--include-marker +include ./$(DEPDIR)/Port.Plo # am--include-marker +include ./$(DEPDIR)/TCP.Plo # am--include-marker +include ./$(DEPDIR)/TCPServer.Plo # am--include-marker +include ./$(DEPDIR)/UDP.Plo # am--include-marker +include ./$(DEPDIR)/UDPServer.Plo # am--include-marker +include ./$(DEPDIR)/libpacc-socket.Plo # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-paccsocketHEADERS: $(paccsocket_HEADERS) + @$(NORMAL_INSTALL) + @list='$(paccsocket_HEADERS)'; test -n "$(paccsocketdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(paccsocketdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(paccsocketdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(paccsocketdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(paccsocketdir)" || exit $$?; \ + done + +uninstall-paccsocketHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(paccsocket_HEADERS)'; test -n "$(paccsocketdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(paccsocketdir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccsocketdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +#clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/Address.Plo + -rm -f ./$(DEPDIR)/Cafe.Plo + -rm -f ./$(DEPDIR)/ConnectedUDP.Plo + -rm -f ./$(DEPDIR)/Exception.Plo + -rm -f ./$(DEPDIR)/Port.Plo + -rm -f ./$(DEPDIR)/TCP.Plo + -rm -f ./$(DEPDIR)/TCPServer.Plo + -rm -f ./$(DEPDIR)/UDP.Plo + -rm -f ./$(DEPDIR)/UDPServer.Plo + -rm -f ./$(DEPDIR)/libpacc-socket.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-paccsocketHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/Address.Plo + -rm -f ./$(DEPDIR)/Cafe.Plo + -rm -f ./$(DEPDIR)/ConnectedUDP.Plo + -rm -f ./$(DEPDIR)/Exception.Plo + -rm -f ./$(DEPDIR)/Port.Plo + -rm -f ./$(DEPDIR)/TCP.Plo + -rm -f ./$(DEPDIR)/TCPServer.Plo + -rm -f ./$(DEPDIR)/UDP.Plo + -rm -f ./$(DEPDIR)/UDPServer.Plo + -rm -f ./$(DEPDIR)/libpacc-socket.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES uninstall-paccsocketHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-paccsocketHEADERS install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES \ + uninstall-paccsocketHEADERS + +.PRECIOUS: Makefile + +libpacc-socket.cpp: + rm -f libpacc-socket.cpp + echo "// Generated automatically by make" > libpacc-socket.cpp + echo >> libpacc-socket.cpp + echo $(PACC_SOCKET_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-socket.cpp + +clean-generic: + rm -f libpacc-socket.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/PACC/Socket/Makefile.am b/lib/beagle-3.0.3/PACC/Socket/Makefile.am new file mode 100644 index 0000000..a2a4bdf --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/Makefile.am @@ -0,0 +1,41 @@ +PACC_SOCKET_SRC_VAR = \ +Address.cpp \ +Cafe.cpp \ +ConnectedUDP.cpp \ +Exception.cpp \ +Port.cpp \ +TCP.cpp \ +TCPServer.cpp \ +UDP.cpp \ +UDPServer.cpp +paccsocketdir = $(includedir)/Socket +paccsocket_HEADERS = \ +Address.hpp \ +Cafe.hpp \ +ConnectedUDP.hpp \ +Exception.hpp \ +Port.hpp \ +TCP.hpp \ +TCPServer.hpp \ +UDP.hpp \ +UDPServer.hpp +lib_LTLIBRARIES = libpacc-socket.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_socket_la_LIBADD = \ +$(top_srcdir)/PACC/Threading/libpacc-threading.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la +libpacc_socket_la_LDFLAGS = -no-undefined -release @PACC_VERSION@ +if FAST_COMPILATION +libpacc-socket.cpp: + rm -f libpacc-socket.cpp + echo "// Generated automatically by make" > libpacc-socket.cpp + echo >> libpacc-socket.cpp + echo $(PACC_SOCKET_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-socket.cpp + +clean-generic: + rm -f libpacc-socket.cpp + +nodist_libpacc_socket_la_SOURCES = libpacc-socket.cpp +else +libpacc_socket_la_SOURCES = $(PACC_SOCKET_SRC_VAR) +endif diff --git a/lib/beagle-3.0.3/PACC/Socket/Makefile.in b/lib/beagle-3.0.3/PACC/Socket/Makefile.in new file mode 100644 index 0000000..3532263 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/Makefile.in @@ -0,0 +1,793 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = PACC/Socket +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(paccsocket_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccsocketdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libpacc_socket_la_DEPENDENCIES = \ + $(top_srcdir)/PACC/Threading/libpacc-threading.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la +am__libpacc_socket_la_SOURCES_DIST = Address.cpp Cafe.cpp \ + ConnectedUDP.cpp Exception.cpp Port.cpp TCP.cpp TCPServer.cpp \ + UDP.cpp UDPServer.cpp +am__objects_1 = Address.lo Cafe.lo ConnectedUDP.lo Exception.lo \ + Port.lo TCP.lo TCPServer.lo UDP.lo UDPServer.lo +@FAST_COMPILATION_FALSE@am_libpacc_socket_la_OBJECTS = \ +@FAST_COMPILATION_FALSE@ $(am__objects_1) +@FAST_COMPILATION_TRUE@nodist_libpacc_socket_la_OBJECTS = \ +@FAST_COMPILATION_TRUE@ libpacc-socket.lo +libpacc_socket_la_OBJECTS = $(am_libpacc_socket_la_OBJECTS) \ + $(nodist_libpacc_socket_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libpacc_socket_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libpacc_socket_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/Address.Plo ./$(DEPDIR)/Cafe.Plo \ + ./$(DEPDIR)/ConnectedUDP.Plo ./$(DEPDIR)/Exception.Plo \ + ./$(DEPDIR)/Port.Plo ./$(DEPDIR)/TCP.Plo \ + ./$(DEPDIR)/TCPServer.Plo ./$(DEPDIR)/UDP.Plo \ + ./$(DEPDIR)/UDPServer.Plo ./$(DEPDIR)/libpacc-socket.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libpacc_socket_la_SOURCES) \ + $(nodist_libpacc_socket_la_SOURCES) +DIST_SOURCES = $(am__libpacc_socket_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +HEADERS = $(paccsocket_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +PACC_SOCKET_SRC_VAR = \ +Address.cpp \ +Cafe.cpp \ +ConnectedUDP.cpp \ +Exception.cpp \ +Port.cpp \ +TCP.cpp \ +TCPServer.cpp \ +UDP.cpp \ +UDPServer.cpp + +paccsocketdir = $(includedir)/Socket +paccsocket_HEADERS = \ +Address.hpp \ +Cafe.hpp \ +ConnectedUDP.hpp \ +Exception.hpp \ +Port.hpp \ +TCP.hpp \ +TCPServer.hpp \ +UDP.hpp \ +UDPServer.hpp + +lib_LTLIBRARIES = libpacc-socket.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_socket_la_LIBADD = \ +$(top_srcdir)/PACC/Threading/libpacc-threading.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la + +libpacc_socket_la_LDFLAGS = -no-undefined -release @PACC_VERSION@ +@FAST_COMPILATION_TRUE@nodist_libpacc_socket_la_SOURCES = libpacc-socket.cpp +@FAST_COMPILATION_FALSE@libpacc_socket_la_SOURCES = $(PACC_SOCKET_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu PACC/Socket/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu PACC/Socket/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libpacc-socket.la: $(libpacc_socket_la_OBJECTS) $(libpacc_socket_la_DEPENDENCIES) $(EXTRA_libpacc_socket_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libpacc_socket_la_LINK) -rpath $(libdir) $(libpacc_socket_la_OBJECTS) $(libpacc_socket_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Address.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cafe.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ConnectedUDP.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Exception.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Port.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TCP.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TCPServer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UDP.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UDPServer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpacc-socket.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-paccsocketHEADERS: $(paccsocket_HEADERS) + @$(NORMAL_INSTALL) + @list='$(paccsocket_HEADERS)'; test -n "$(paccsocketdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(paccsocketdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(paccsocketdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(paccsocketdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(paccsocketdir)" || exit $$?; \ + done + +uninstall-paccsocketHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(paccsocket_HEADERS)'; test -n "$(paccsocketdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(paccsocketdir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccsocketdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +@FAST_COMPILATION_FALSE@clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/Address.Plo + -rm -f ./$(DEPDIR)/Cafe.Plo + -rm -f ./$(DEPDIR)/ConnectedUDP.Plo + -rm -f ./$(DEPDIR)/Exception.Plo + -rm -f ./$(DEPDIR)/Port.Plo + -rm -f ./$(DEPDIR)/TCP.Plo + -rm -f ./$(DEPDIR)/TCPServer.Plo + -rm -f ./$(DEPDIR)/UDP.Plo + -rm -f ./$(DEPDIR)/UDPServer.Plo + -rm -f ./$(DEPDIR)/libpacc-socket.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-paccsocketHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/Address.Plo + -rm -f ./$(DEPDIR)/Cafe.Plo + -rm -f ./$(DEPDIR)/ConnectedUDP.Plo + -rm -f ./$(DEPDIR)/Exception.Plo + -rm -f ./$(DEPDIR)/Port.Plo + -rm -f ./$(DEPDIR)/TCP.Plo + -rm -f ./$(DEPDIR)/TCPServer.Plo + -rm -f ./$(DEPDIR)/UDP.Plo + -rm -f ./$(DEPDIR)/UDPServer.Plo + -rm -f ./$(DEPDIR)/libpacc-socket.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES uninstall-paccsocketHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-paccsocketHEADERS install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES \ + uninstall-paccsocketHEADERS + +.PRECIOUS: Makefile + +@FAST_COMPILATION_TRUE@libpacc-socket.cpp: +@FAST_COMPILATION_TRUE@ rm -f libpacc-socket.cpp +@FAST_COMPILATION_TRUE@ echo "// Generated automatically by make" > libpacc-socket.cpp +@FAST_COMPILATION_TRUE@ echo >> libpacc-socket.cpp +@FAST_COMPILATION_TRUE@ echo $(PACC_SOCKET_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-socket.cpp + +@FAST_COMPILATION_TRUE@clean-generic: +@FAST_COMPILATION_TRUE@ rm -f libpacc-socket.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/PACC/Socket/Port.cpp b/lib/beagle-3.0.3/PACC/Socket/Port.cpp new file mode 100644 index 0000000..51e2a48 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/Port.cpp @@ -0,0 +1,483 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/Port.cpp + * \brief Class methods for the portable socket base class. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#include "Socket/Port.hpp" + +#ifdef WIN32 +///////////// specifics for windows ///////////// +#include +typedef int socklen_t; +#define ErrNo WSAGetLastError() // descriptor of last error +#define SIGPIPE SIGABRT // windows does not generate SIGPIPE + +#else +///////////// specifics for unixes ///////////// +#define INVALID_SOCKET -1 +#define _BSD_SOCKLEN_T_ // needed by darwin +#define ErrNo errno // descriptor of last error +#include +#include +#include +#include +#include +#include +#include +#include +#endif + +#include +#include + +using namespace std; +using namespace PACC; + +/*! + */ +Socket::Port::Port(int inDescriptor) throw() : mDescriptor(inDescriptor) {} + +/*! + */ +Socket::Port::Port(Socket::Protocol inProtocol) : mDescriptor(INVALID_SOCKET) +{ + open(inProtocol); +} + +/*! + */ +Socket::Port::~Port() +{ + close(); +} + +/*! +Any error raises a Socket::Exception. + */ +int Socket::Port::accept() +{ + if(mDescriptor == INVALID_SOCKET) throw Exception(eBadDescriptor, "Port::accept() invalid socket"); + struct sockaddr_in lSock; + socklen_t lSize = sizeof(lSock); + int lDescriptor = ::accept(mDescriptor, (struct sockaddr*) &lSock, &lSize); + if(lDescriptor < 0) { + throw Exception(ErrNo, "Port::acept() unable to accept connection"); + } + return lDescriptor; +} + +/*! +Any error raises a Socket::Exception. In particular, this method may fail if +the port is already binded by another process or thread. It may even +fail for a few seconds after the connection is released by another process or +thread (see Option::eReuseAddress). + */ +void Socket::Port::bind(unsigned int inPortNumber) +{ + if(mDescriptor == INVALID_SOCKET) throw Exception(eBadDescriptor, "Port::bind() invalid socket"); + struct sockaddr_in lSock; + lSock.sin_family = AF_INET; + lSock.sin_port = htons(inPortNumber); + lSock.sin_addr.s_addr = htonl(INADDR_ANY); + memset(&lSock.sin_zero, 0, 8); + if(::bind(mDescriptor, (struct sockaddr*) &lSock, sizeof(lSock)) != 0) { + int lCode = ErrNo; + ostringstream lMessage; + lMessage << "Port::bind() unable to bind port: " << inPortNumber; + throw Exception(lCode, lMessage.str()); + } +} + +/*! +This function will shutdown the connection and free the resources associated with the socket. It may block (linger) for a while, until the send buffer is empty. The linger delay can be set using function Port::setSockOpt with Socket::Option parameter \c eLinger. Any error raises a Socket::Exception. + */ +void Socket::Port::close() +{ + if(mDescriptor != INVALID_SOCKET) { +#ifdef WIN32 + ::shutdown(mDescriptor, SD_BOTH); + if(::closesocket(mDescriptor) != 0) +#else + ::shutdown(mDescriptor, SHUT_RDWR); + if(::close(mDescriptor) != 0) +#endif + { + throw Exception(ErrNo, "Port::close() unable to close (or bad) socket descriptor"); + } + } + mDescriptor = INVALID_SOCKET; +} + +/*! +This function is used to connect the socket to a peer server at address \c inPeer. For TCP sockets, the connection handshake is immediate. When the function returns, the connection has been established and the socket pair is ready for data transmission. For UDP sockets, no handshake is operated before data transmission. The connection is thus virtual. All subsequent data transmission (send or receive) will be with the peer server at the specified address. Once connected, a TCP socket may not be reconnected to a different server, contrary to UDP sockets which may be reconnected any number of times. Any error raises a Socket::Exception. + */ +void Socket::Port::connect(const Socket::Address& inPeer) +{ + if(mDescriptor == INVALID_SOCKET) throw Exception(eBadDescriptor, "Port::connect() invalid socket"); + struct sockaddr_in lSock; + lSock.sin_family = AF_INET; + lSock.sin_port = htons(inPeer.getPortNumber()); + lSock.sin_addr.s_addr = inet_addr(inPeer.getIPAddress().c_str()); + memset(&lSock.sin_zero, 0, 8); + if(::connect(mDescriptor, (struct sockaddr*) &lSock, sizeof(lSock)) != 0) { + int lCode = ErrNo; + ostringstream lMessage; + lMessage << "Port::connect() unable to connect to server: \"" << inPeer.getHostName(); + lMessage << "\" at port:" << inPeer.getPortNumber(); + throw Exception(lCode, lMessage.str()); + } +} + +/*! +Any error raises a Socket::Exception. + */ +int Socket::Port::convertToNativeOption(Socket::Option inName) const +{ + int lNativeOpt; + switch(inName) { + case eKeepAlive: lNativeOpt = SO_KEEPALIVE; break; + case eLinger: lNativeOpt = SO_LINGER; break; + case eNoDelay: lNativeOpt = TCP_NODELAY; break; + case eProtocolType: lNativeOpt = SO_TYPE; break; + case eReuseAddress: lNativeOpt = SO_REUSEADDR; break; + case eRecvBufSize: lNativeOpt = SO_RCVBUF; break; + case eSendBufSize: lNativeOpt = SO_SNDBUF; break; + case eRecvTimeOut: lNativeOpt = SO_RCVTIMEO; break; + case eSendTimeOut: lNativeOpt = SO_SNDTIMEO; break; + default: throw Exception(eOtherError, "Port::convertToNativeOption() unknown socket option"); + } + return lNativeOpt; +} + +/*! +Any error raises a Socket::Exception. + */ +Socket::Address Socket::Port::getPeerAddress() const +{ + struct sockaddr lSock; + socklen_t lLength = sizeof(lSock); + if(::getpeername(mDescriptor, &lSock, &lLength) != 0) { + throw Exception(eNotConnected, "Port::getPeerAddress() unable to retrieve peer address"); + } + return Address(ntohs(((sockaddr_in*)&lSock)->sin_port), inet_ntoa(((sockaddr_in*)&lSock)->sin_addr)); +} + +/*! +Any error raises a Socket::Exception. + */ +Socket::Protocol Socket::Port::getProtocol() const +{ + + int lProtocol = (int) getSockOpt(eProtocolType); + if(lProtocol == SOCK_STREAM) return eTCP; + else if(lProtocol == SOCK_DGRAM) return eUDP; + else return eOther; +} + +/*! +Any error raises a Socket::Exception. + */ +Socket::Address Socket::Port::getSockAddress() const +{ + struct sockaddr lSock; + socklen_t lLength = sizeof(lSock); + if(::getsockname(mDescriptor, &lSock, &lLength) != 0) { + throw Exception(eOtherError, "Port::getSockAddress() unable to retrieve socket address"); + } + return Address(ntohs(((sockaddr_in*)&lSock)->sin_port), inet_ntoa(((sockaddr_in*)&lSock)->sin_addr)); +} + +/*! +Valid options are: +
    +
  • eKeepAlive: keep connection alive (TCP only)
  • +
  • eLinger: time to linger on close (in seconds, TCP only)
  • +
  • eNoDelay: disable the Nagle algorithm for packet coalescing (TCP only)
  • +
  • eProtocolType: socket protocol type
  • +
  • eReuseAddress: allow reuse of address
  • +
  • eRecvBufSize: size of receive buffer (in bytes)
  • +
  • eSendBufSize: size of send buffer (in bytes)
  • +
  • eRecvTimeOut: time out period for receive operations (in seconds)
  • +
  • eSendTimeOut: time out period for send operations (in seconds)
  • +
+Any error raises a Socket::Exception. + */ +double Socket::Port::getSockOpt(Socket::Option inName) const +{ + double lValue; + int lBuffer[2] = {0, 0}; + socklen_t lSize = sizeof(lBuffer); + if(::getsockopt(mDescriptor, (inName==eNoDelay?IPPROTO_TCP:SOL_SOCKET), convertToNativeOption(inName), (char*)lBuffer, &lSize) != 0) + { + throw Exception(ErrNo, "Port::getSockOpt() unable to retrieve socket option"); + } + switch(inName) { + case eKeepAlive: case eNoDelay: case eReuseAddress: case eRecvBufSize: case eSendBufSize: case eProtocolType: + lValue = lBuffer[0]; + break; + case eLinger: + { + // warning: the linger structure is not the same size on windows and unix! + struct linger* lPtr = (struct linger*) lBuffer; + if(lPtr->l_onoff) lValue = lPtr->l_linger; + else lValue = -1; + } + break; + case eRecvTimeOut: case eSendTimeOut: +#ifdef WIN32 + // on windows, timeout is specified in milliseconds + lValue = (float)lBuffer[0]/1000.; +#else + // on unix, timeout is specified with timeval structure + { + struct timeval* lPtr = (struct timeval*) lBuffer; + lValue = (float)lPtr->tv_sec + lPtr->tv_usec/1000000.; + } +#endif + break; + default: + throw Exception(eOtherError, "Port::getSockOpt() unknown socket option"); + } + return lValue; +} + +/*! + */ +void Socket::Port::listen(unsigned int inMinPending) +{ + if(mDescriptor == INVALID_SOCKET) throw Exception(eBadDescriptor, "Port::listen() invalid socket"); + if(::listen(mDescriptor, inMinPending) != 0) { + throw Exception(ErrNo, "Port::listen() unable to listen to port"); + } +} + +/*! +A socket descriptor is allocated using the protocol determined by parameter \c inProtocol. The TCP protocol is selected with value \c eTCP (default), while the UDP protocol is chosen with value \c eUDP. + +Any error raises a Socket::Exception. + */ +void Socket::Port::open(Socket::Protocol inProtocol) +{ +#ifdef WIN32 + static bool lInitialized = false; + if(!lInitialized) { + WSADATA wsdata; + if (WSAStartup(MAKEWORD(2,2), &wsdata) != 0) { + throw Exception(eOtherError, "Port::open() failed to load WinSock2"); + } + lInitialized = true; + } +#endif + // first close socket if already open + if(!INVALID_SOCKET) close(); + // select protocol and create new socket descriptor + if(inProtocol == eTCP) mDescriptor = ::socket(AF_INET, SOCK_STREAM, 0); + else if(inProtocol == eUDP) mDescriptor = ::socket(AF_INET, SOCK_DGRAM, 0); + else throw Exception(eOtherError, "Port::open() unsupported socket protocol"); + if(mDescriptor == INVALID_SOCKET) { + throw Exception(eBadDescriptor, "Port::open() unable to allocate socket descriptor"); + } +} + +/*! +\return Number of received characters. + +This function waits until some data is received through the socket, or until the timeout period expires. The received data is returned through output parameter \c outBuffer which must be large enough to contain up to \c inMaxCount characters. Note that this ouput buffer is NOT null terminated. The function returns the effective number of read characters contained in the output buffer. Any error raises a Socket::Exception. For instance, if the other party closes the connection (TCP sockets), an exception is thrown with code Socket::eConnectionClosed, or with code Socket::eTimeOut if nothing is received before the time out period expires. The time out period can be changed using function Port::setSockOpt with parameter Socket::eRecvTimeOut. + */ +unsigned int Socket::Port::receive(char* outBuffer, unsigned inMaxCount) +{ + if(mDescriptor == INVALID_SOCKET) throw Exception(eBadDescriptor, "Port::receive() invalid socket"); + void(*lPipeMethod)(int) = ::signal(SIGPIPE, SIG_IGN); + int lRecv = ::recv(mDescriptor, outBuffer, inMaxCount, 0); + ::signal(SIGPIPE, lPipeMethod); + if(lRecv < 0) { + throw Exception(ErrNo, "Port::receive() operation incomplete"); + } else if(lRecv == 0) { + close(); + throw Exception(eConnectionClosed, "Port::receive() operation incomplete"); + } + return lRecv; +} + +/*! +\return Number of received characters . + +This function waits until some data is received through the socket, or until the timeout period expires. The received data is returned through output parameter \c outBuffer which must be large enough to contain up to \c inMaxCount characters. Note that this ouput buffer is NOT null terminated. The function returns the effective number of read characters contained in the output buffer. The peer socket address is also returned through output parameter \c outPeer. Any error raises a Socket::Exception. For instance, if the other party closes the connection (TCP sockets), an exception is thrown with code Socket::eConnectionClosed, or with code Socket::eTimeOut if nothing is received before the time out period expires. The time out period can be changed using function Port::setSockOpt with parameter Socket::eRecvTimeOut. + */ +unsigned int Socket::Port::receiveFrom(char* outBuffer, unsigned inMaxCount, Address& outPeer) +{ + if(mDescriptor == INVALID_SOCKET) throw Exception(eBadDescriptor, "Port::receiveFrom() invalid socket"); + struct sockaddr_in lSock; + socklen_t lSize = sizeof(lSock); + void(*lPipeMethod)(int) = ::signal(SIGPIPE, SIG_IGN); + int lRecv = ::recvfrom(mDescriptor, outBuffer, inMaxCount, 0, (struct sockaddr*) &lSock, &lSize); + ::signal(SIGPIPE, lPipeMethod); + if(lRecv < 0) { + throw Exception(ErrNo, "Port::receive() operation incomplete"); + } else if(lRecv == 0) { + throw Exception(eConnectionClosed, "Port::receive() operation incomplete"); + } + // transfer peer address + outPeer = Address(ntohs(lSock.sin_port), inet_ntoa(lSock.sin_addr)); + return lRecv; +} + +/*! +This function sends to its peer socket the \c inCount characters of data contained in buffer \c inBuffer (socket is assumed connected). Any error raises a Socket::Exception. For instance, it throws an exception with code Socket::eConnectionClosed if the connection is closed by the other party during message transmission, or with code Socket::eTimeOut if the message cannot be sent before the time out period expires. The time out period can be changed using function Port::setSockOpt with parameter Socket::eSendTimeOut. +*/ +void Socket::Port::send(const char* inBuffer, unsigned int inCount) +{ + if(mDescriptor == INVALID_SOCKET) throw Exception(eBadDescriptor, "Port::send() invalid socket"); + unsigned int lTotalSent = 0; + // send all data + while(lTotalSent < inCount) { + void(*lPipeMethod)(int) = ::signal(SIGPIPE, SIG_IGN); + int lSent = ::send(mDescriptor, inBuffer+lTotalSent, inCount-lTotalSent, 0); + ::signal(SIGPIPE, lPipeMethod); + if(lSent < 0) { + throw Exception(ErrNo, "Port::send() operation incomplete"); + } else if(lSent < 1) { + close(); + throw Exception(eConnectionClosed, "Port::send() operation incomplete"); + } + lTotalSent += lSent; + } +} + +/*! +This function sends to peer \c inPeer the data contained in buffer \c inBuffer (total of \c inCount characters). Any error raises a Socket::Exception. For instance, it throws an exception with code Socket::eConnectionClosed if the connection is closed by the other party during message transmission, or with code Socket::eTimeOut if the message cannot be sent before the time out period expires. The time out period can be changed using function Port::setSockOpt with parameter Socket::eSendTimeOut. +*/ +void Socket::Port::sendTo(const char* inBuffer, unsigned int inCount, const Socket::Address& inPeer) +{ + if(mDescriptor == INVALID_SOCKET) throw Exception(eBadDescriptor, "Port::sendTo() invalid socket"); + struct sockaddr_in lSock; + lSock.sin_family = AF_INET; + lSock.sin_port = htons(inPeer.getPortNumber()); + lSock.sin_addr.s_addr = inet_addr(inPeer.getIPAddress().c_str()); + memset(&lSock.sin_zero, 0, 8); + unsigned int lTotalSent = 0; + // send all data + while(lTotalSent < inCount) { + void(*lPipeMethod)(int) = ::signal(SIGPIPE, SIG_IGN); + int lSent = ::sendto(mDescriptor, inBuffer+lTotalSent, inCount-lTotalSent, 0, (struct sockaddr*) &lSock, sizeof(lSock)); + ::signal(SIGPIPE, lPipeMethod); + if(lSent < 0) { + throw Exception(ErrNo, "Port::send() operation incomplete"); + } else if(lSent < 1) { + close(); + throw Exception(eConnectionClosed, "Port::send() operation incomplete"); + } + lTotalSent += lSent; + } +} + +/*! +Options are: +
    +
  • eKeepAlive: keep connection alive (TCP only)
  • +
  • eLinger: time to linger on close (in seconds; TCP only)
  • +
  • eNoDelay: Disable the Nagle algorithm for packet coalescing (TCP only)
  • +
  • eReuseAddress: allow reuse of address
  • +
  • eRecvBufSize: size of receive buffer (in bytes)
  • +
  • eSendBufSize: size of send buffer (in bytes)
  • +
  • eRecvTimeOut: time out period for receive operations (in seconds)
  • +
  • eSendTimeOut: time out period for send operations (in seconds)
  • +
+Note that for option \c eLinger, a negative value means don't linger. For options \c eRecvTimeOut and \c eSendTimeOut, a negative or nul value means dont't timeout, and a positive value of less than 1 msec will be equivalent to 1 msec. Any error raises a Socket::Exception. + */ +void Socket::Port::setSockOpt(Option inName, double inValue) +{ + int lBuffer[2] = {0, 0}; + socklen_t lSize; + switch(inName) { + case eKeepAlive: case eNoDelay: case eReuseAddress: case eRecvBufSize: case eSendBufSize: + lBuffer[0] = (int) inValue; + lSize = sizeof(int); + break; + case eLinger: + { + // warning: the linger structure is not the same size on windows and unix! + struct linger* lPtr = (struct linger*) lBuffer; +#ifdef WIN32 + lPtr->l_onoff = (u_short) (inValue >= 0); + lPtr->l_linger = (u_short) (inValue >= 0 ? inValue : 0); +#else + lPtr->l_onoff = (int) (inValue >= 0); + lPtr->l_linger = (int) (inValue >= 0 ? inValue : 0); +#endif + } + lSize = sizeof(struct linger); + break; + case eRecvTimeOut: case eSendTimeOut: + if(inValue < 0) inValue = 0; + else if(inValue > 0 && inValue < 0.001) inValue = 0.001; +#ifdef WIN32 + // on windows, timeout must be specified in milliseconds + lBuffer[0] = (int) (1000*inValue); + lSize = sizeof(int); +#else + // on unix, timeout must be specified with timeval structure + { + struct timeval* lPtr = (struct timeval*) lBuffer; + lPtr->tv_sec = (int32_t) inValue; + lPtr->tv_usec = (int32_t) ((inValue-lPtr->tv_sec)*1000000); + lSize = sizeof(struct timeval); + } +#endif + break; + default: + throw Exception(eOtherError, "Port::setSockOpt() unsupported socket option"); + } + if(::setsockopt(mDescriptor, (inName==eNoDelay?IPPROTO_TCP:SOL_SOCKET), convertToNativeOption(inName), (char*)lBuffer, lSize) != 0) + { + throw Exception(ErrNo, "Port::setSockOpt() unable to set socket option"); + } +} + +/*! +This function waits for any socket activity for up to \c inSeconds seconds. The three types of activities are: ready for read, ready for write, and pending errors. It returns true if an activity is detected before timeout, and false otherwise. +*/ +bool Socket::Port::waitForActivity(double inSeconds) +{ + fd_set lRead, lWrite, lError; + FD_ZERO(&lRead); + FD_SET(mDescriptor, &lRead); + FD_ZERO(&lWrite); + FD_SET(mDescriptor, &lWrite); + FD_ZERO(&lError); + FD_SET(mDescriptor, &lError); + struct timeval lTime; + lTime.tv_sec = (long) inSeconds; + lTime.tv_usec = (long) ((inSeconds-lTime.tv_sec)*1000000); + return select(FD_SETSIZE, &lRead, &lWrite, &lError, &lTime) == 1; +} diff --git a/lib/beagle-3.0.3/PACC/Socket/Port.hpp b/lib/beagle-3.0.3/PACC/Socket/Port.hpp new file mode 100644 index 0000000..176ce38 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/Port.hpp @@ -0,0 +1,164 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/Port.hpp + * \brief Class definition for the portable socket base class. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#ifndef PACC_Socket_Port_hpp_ +#define PACC_Socket_Port_hpp_ + +#include "Socket/Address.hpp" +#include "Socket/Exception.hpp" + +namespace PACC { + + namespace Socket { + + /*! + \brief Supported socket protocols. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Socket + */ + enum Protocol { + eTCP, //!< Transfer Control Protocol + eUDP, //!< User Datagram Protocol + eOther //!< Other protocol + }; + + /*! + \brief Supported socket options. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Socket + */ + enum Option { + eKeepAlive, //!< Keep connection alive + eLinger, //!< Time to linger on close (in seconds) + eNoDelay, //!< Disable the Nagle algorithm for packet coalescing + eProtocolType, //!< %Socket protocol type + eReuseAddress, //!< Allow reuse of a TCP address without delay + eRecvBufSize, //!< Size of receive buffer (in number of chars) + eSendBufSize, //!< Size of send buffer (in number of chars) + eRecvTimeOut, //!< Time out period for receive operations (in seconds) + eSendTimeOut //!< Time out period for send operations (in seconds) + }; + + /*! + \brief Portable socket base class. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Socket + + This class encapsulates a cross-platform socket port descriptor (not to be confused with the port number). It can be used with both %TCP and %UDP protocols. It is usually subclassed to implement either a client or server connection. Any error raises a Socket::Exception. + + This class should be compatible with any POSIX Unix, and with any version of windows. It has been tested under Linux, MacOS X and Windows 2000/XP. + */ + class Port { + public: + //! Return socket descriptor + int getDescriptor() const {return mDescriptor;} + + //! Return address of peer socket host. + Address getPeerAddress(void) const; + + //! Return protocol of socket. + Protocol getProtocol(void) const; + + //! Return address of socket host. + Address getSockAddress(void) const; + + //! Return value of socket option \c inName. + double getSockOpt(Option inName) const; + + //! Set socket option \c inName to value \c inValue. + void setSockOpt(Option inName, double inValue); + + protected: + int mDescriptor; //!< socket descriptor + + //! Construct using existing socket descriptor \c inDescriptor. + explicit Port(int inDescriptor) throw(); + + //! Construct new socket descriptor using protocol \c inProtocol (default=%TCP). + explicit Port(Protocol inProtocol=eTCP); + + //! Close descriptor and deallocate receive buffer. + ~Port(); + + //! Accept connection on bound port. + int accept(void); + + //! Bind socket to port number \c inPortNumber. + void bind(unsigned int inPortNumber); + + //! Close socket port. + void close(void); + + //! Connect to peer socket \c inPeer. + void connect(const Address& inPeer); + + //! Convert socket option \c inName to native socket option code. + int convertToNativeOption(Option inName) const; + + //! Listen to socket using a queue of at least \c inMinPending pending connections. + void listen(unsigned int inMaxConnections); + + //! Open new socket descriptor. + void open(Protocol = eTCP); + + //! Receive data from connected socket. + unsigned int receive(char* outBuffer, unsigned inMaxCount); + + //! Receive data from unconnected socket. + unsigned int receiveFrom(char* outBuffer, unsigned inMaxCount, Address& outPeer); + + //! Send data to connected socket. + void send(const char* inBuffer, unsigned int inCount); + + //! Send data to unconnected socket. + void sendTo(const char* inBuffer, unsigned int inCount, const Address& inPeer); + + //! Wait for activity. + bool waitForActivity(double inSeconds); + + private: + //! restrict (disable) copy constructor. + Port(const Port&); + + //! restrict (disable) assignment operator. + void operator=(const Port&); + + }; + + } // end of Socket namespace + +} // end of PACC namespace + +#endif // PACC_Socket_Port_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Socket/TCP.cpp b/lib/beagle-3.0.3/PACC/Socket/TCP.cpp new file mode 100644 index 0000000..888eaca --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/TCP.cpp @@ -0,0 +1,63 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/TCP.cpp + * \brief Class methods for the portable %TCP client. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#include "Socket/TCP.hpp" + +using namespace std; +using namespace PACC; + +/*! \brief Receive string message from connected (TCP) server. + +This function waits for a message from the connected peer socket, or until time out. It returns the received message through output parameter \c OutMessage. Any error raises a Socket::Exception. For instance, it throws an exception with code Socket::eConnectionClosed if the connection is closed by the other party before message end, or with code Socket::eTimeOut if the timeout period expires before reception of any message. The timeout period can be changed using function Port::setSockOpt with parameter Socket::eRecvTimeOut. +*/ +void Socket::TCP::receiveMessage(string& outMessage) +{ + // reserve adequate buffer space (if needed) + unsigned int lRecvBufSize = (unsigned int) getSockOpt(eRecvBufSize); + if(outMessage.size() < lRecvBufSize) outMessage.resize(lRecvBufSize); + // receive message + unsigned int lRecv = receive(&outMessage[0], outMessage.size()); + // resize output string + outMessage.resize(lRecv); +} + +/*! \brief Send string message to connected (TCP) server. + +This function sends message string \c inMessage to the connected peer socket. Any error raises a Socket::Exception. For instance, it throws an exception with code Socket::eConnectionClosed if the connection is closed by the other party during message transmission, or with code Socket::eTimeOut if the message cannot be sent before the time out period expires. The time out period can be changed using function Port::setSockOpt with parameter Socket::eSendTimeOut. +*/ +void Socket::TCP::sendMessage(const string& inMessage) +{ + send(inMessage.data(), inMessage.size()); +} diff --git a/lib/beagle-3.0.3/PACC/Socket/TCP.hpp b/lib/beagle-3.0.3/PACC/Socket/TCP.hpp new file mode 100644 index 0000000..492c0a9 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/TCP.hpp @@ -0,0 +1,75 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/TCP.hpp + * \brief Class definition for the portable %TCP client. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#ifndef PACC_Socket_TCP_hpp_ +#define PACC_Socket_TCP_hpp_ + +#include "Socket/Port.hpp" + +namespace PACC { + + namespace Socket { + + /*! + \brief Portable %TCP socket client + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Socket + + This class defines a simple %TCP socket client that connects to a peer server. Any error raises a Socket::Exception. + */ + class TCP : public Port { + public: + //! Construct unconnected socket. + explicit TCP(void) : Port(eTCP) {} + //! Construct using existing socket descriptor \c inDescriptor. + explicit TCP(int inDescriptor) throw() : Port(inDescriptor) {} + //! Construct socket connected to peer \c inPeer. + explicit TCP(const Address& inPeer) : Port(eTCP) {Port::connect(inPeer);} + + //! Close connection. + void close(void) {Port::close();} + //! Connect to server \c inPeer. + void connect(const Address& inPeer) {close(); open(eTCP); Port::connect(inPeer);} + + void receiveMessage(string& outMessage); + void sendMessage(const string& inMessage); + + }; + + } // end of Socket namespace + +} // end of PACC namespace + +#endif // PACC_Socket_TCP_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Socket/TCPServer.cpp b/lib/beagle-3.0.3/PACC/Socket/TCPServer.cpp new file mode 100644 index 0000000..9a62bdf --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/TCPServer.cpp @@ -0,0 +1,187 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/TCPServer.cpp + * \brief Class methods for the portable %TCP server. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#include "Socket/TCPServer.hpp" +#include "Util/Assert.hpp" +#include + +using namespace std; +using namespace PACC; + +//! Process incomming connections. +void Socket::ServerThread::main(void) +{ + // process connections until thread cancellation + while(!mCancel) { + // acquire right to accept a connection + mServer->lock(); + // wait either for cancellation request or pending connection + while(!mCancel && !mServer->waitForActivity(mMaxHaltDelay)); + if(!mCancel) { + // accept pending connection + int lDescriptor = mServer->accept(); + // release right to accept connection + mServer->unlock(); + try { + // call server main in order to process connection + mServer->main(lDescriptor, this); + } catch(const Exception& inError) { + // report any error and ignore + cerr << inError.getMessage() << endl; + } + } else { + // release right to accept connection + mServer->unlock(); + } + } +} + +/*! Return whether the server thread should terminated its current connection early. + +This method will respond true whenever the running thread has received a cancellation request. Such a request results from a call to method TCPServer::halt. + +\attention This method should never be called with the thread mutex LOCKED BY THE CALLER. Otherwise, it will deadlock! +*/ +bool Socket::ServerThread::shouldTerminate(void) const +{ + lock(); + bool lResult = mCancel; + unlock(); + return lResult; +} + +/*! +Upon return, the server is not binded to any port, nor listening to any connections. To initialize such a server the user must first call methods TCPServer::bind and TCPServer::listen before calling TCPServer::run. This is the power user constructor! + +\attention If the user runs the server without binding and listening to a port, it will never accept any connection nor raise any error. Also note that this method calls the TCPServer::setDefaultOptions method. +*/ +Socket::TCPServer::TCPServer(void) +{ + setDefaultOptions(); +} + +/*! +Upon return, the server is binded and listening to port \c inPortNumber using a queue of \c inMinPending pending connections. Note that the exact length of this queue may be operating system dependent (experience has shown that it is usually longer than specified on macosx and linux). For the server to start accepting these connections, the user must call method TCPServer::run. + +Any error raises a Socket::Exception (for example, if the requested port number is unavailable). +*/ +Socket::TCPServer::TCPServer(unsigned int inPortNumber, unsigned int inMinPending) +{ + setDefaultOptions(); + Port::bind(inPortNumber); + Port::listen(inMinPending); +} + +/*! +Assuming that the caller has halted the server (using TCPServer::halt) and waited for the server threads to complete any pending connections (using TCPServer::wait), this method deletes the allocated thread pool. In debug mode, if any thread is found still running, the method aborts the application with a descriptive fatal error message. + +A good strategy is to always define a destructor in the derived server class, and to make this destructor waits for server termination. For instance: +\code +class MyServer : public Socket::TCPServer { + ... + ~MyServer(void) {wait();} + ... +}; +\endcode + +\attention If the destructor in the derived server class (e.g. MyServer above) does not wait for thread termination, the potential hazardous situation is that the runtime system will have deleted all of its members before calling this destructor (in C++, class destructors are called in reversed sequence). Thus, a still running server thread could access deleted members with unpredictable end unexpected results. Moreover, if a new connection is accepted in the meantime, then the running thread will crash the application with a cryptic "pure virtual method called" message that results from a call to a main method that no longer exists in this object. So beware! +*/ +Socket::TCPServer::~TCPServer(void) +{ + // delete every thread after making sure that they have stopped running + for(unsigned int i = 0; i < mThreadPool.size(); ++i) { + PACC_AssertM(!mThreadPool[i]->isRunning(), "Destructor called without first halting the server and waiting for the threads to terminate. Please correct the situation because it is potentially very hazardous!"); + delete mThreadPool[i]; + } + mThreadPool.clear(); +} + +/*! +This method requests cancellation for every allocated server thread in order to make them stop accepting new connections. Threads termination is asynchronous; they terminate either after they complete their current connection or after the \c inMaxHaltDelay delay that was specified in the call to TCPServer::run. + +In order to minimize halting delay, whenever it is safe to terminate a connection from within TCPServer::main, the user should make calls to method ServerThread::shouldTerminate to determine whether it should close the connection and terminate execution early. +*/ +void Socket::TCPServer::halt(void) +{ + // request cancellation for all threads + for(unsigned int i = 0; i < mThreadPool.size(); ++i) { + mThreadPool[i]->lock(); + mThreadPool[i]->cancel(); + mThreadPool[i]->unlock(); + } +} + +/*! +Default options are: +
    +
  • eReuseAddress = true
  • +
  • eLinger = 10 seconds
  • +
+Any error raises a Socket::Exception. +*/ +void Socket::TCPServer::setDefaultOptions() +{ + setSockOpt(eReuseAddress, true); + setSockOpt(eLinger, 10); +} + +/*! +Upon return, this method has added \c inThreads new threads to the server's thread pool. These new threads start accepting incomming connections immediately, and until some thread calls method TCPServer::halt. Incomming connections are processed through calls to virtual function TCPServer::main which needs to be overloaded in a sub-class. Halt requests will be honored at least every \c inMaxHaltDelay seconds (default=1), or after a connection terminates. + +This method can be called any number of times to increase the size of the thread pool. + +\attention if the server was constructed using the default constructor, methods TCPServer::bind and TCPServer::listen must be called prior to calling this method. Otherwise, no incomming connection will ever be accepted, nor any error raised. Any error during the initialization of the new threads raises a Socket::Exception. +*/ +void Socket::TCPServer::run(unsigned int inThreads, double inMaxHaltDelay) +{ + // allocate new threads + for(unsigned int i = 0; i < inThreads; ++i) { + ServerThread* lThread = new ServerThread(this, inMaxHaltDelay); + mThreadPool.push_back(lThread); + } +} + +/*! +This method will wait for the termination of every server thread. If method TCPServer::halt was previously executed, then the server threads will terminate after the longer of either the time required to complete their current connections or the \c inMaxHaltDelay delay that was specified in the call to TCPServer::run. Otherwise, they will not terminate until another thread calls the TCPServer::halt method. +*/ +void Socket::TCPServer::wait(void) +{ + // wait for the termination of every server thread + for(unsigned int i = 0; i < mThreadPool.size(); ++i) { + // do not wait for one self! + if(!mThreadPool[i]->isSelf()) mThreadPool[i]->wait(true); + } +} + diff --git a/lib/beagle-3.0.3/PACC/Socket/TCPServer.hpp b/lib/beagle-3.0.3/PACC/Socket/TCPServer.hpp new file mode 100644 index 0000000..8985172 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/TCPServer.hpp @@ -0,0 +1,164 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/TCPServer.hpp + * \brief Class definition for the portable multithreaded %TCP server. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#ifndef PACC_Socket_TCPServer_hpp_ +#define PACC_Socket_TCPServer_hpp_ + +#include "Socket/TCP.hpp" +#include "Threading/Thread.hpp" +#include + +namespace PACC { + + namespace Socket { + + class TCPServer; + + /*! \brief Portable server thread. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Socket + + This class defines a specialized server thread that accepts connections and process them with calls to the TCPServer::main method of its parent server. The server thread runs immediately after object initialization; there is no need to call method Thread::Run. + + The user should not be considered with this class. + */ + class ServerThread : public Threading::Thread { + public: + //! Construct thread and link to server \c inServer. + ServerThread(Socket::TCPServer* inServer, double inMaxHaltDelay) : mServer(inServer), mMaxHaltDelay(inMaxHaltDelay) {run();} + //! delete thread. + ~ServerThread(void) {wait();} + + bool shouldTerminate(void) const; + + protected: + Socket::TCPServer* mServer; //!< Pointer to parent server + double mMaxHaltDelay; //!< Maximum delay for honoring halt requests + + void main(void); + }; + + /*! \brief Portable multithreaded %TCP server. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Socket + + This class defines an abstract multithreaded %TCP server that can bind and listen to a given port using a queue of pending connection, and process these connections using a pool of pre-allocated threads. Its \c main method needs to be overloaded in order to specify the server's function. Method \c TCPServer::run is used to launch and initialize the thread pool which will process incomming connection through calls to method \c TCPServer::main. A running server may be halted through a call to method \c TCPServer::halt. + + Any error during initialization raises a Socket::Exception. Exceptions during connections are first reported through std::cerr, and then ignored. + */ + class TCPServer : protected TCP, private Threading::Mutex + { + public: + //! Construct an uninitialized default server. + TCPServer(void); + + //! Construct a server that binds to port \c inPortNumber with a queue of \c inMinPending connections. + TCPServer(unsigned int inPortNumber, unsigned int inMinPending=10); + + //! Delete the server thread pool. + virtual ~TCPServer(void); + + //! Set default server options. + void setDefaultOptions(void); + + //! Bind server to port number \c inPortNumber. + void bind(unsigned int inPortNumber) {Port::bind(inPortNumber);} + + //! Close the server socket. + void close(void) {Port::close();} + + //! Listen for at least \c inMinPending pending connections. + void listen(unsigned int inMinPending) {Port::listen(inMinPending);} + + //! Stop accepting incomming connections. + void halt(void); + + //! Open a new socket. + void open(void) {Port::open();} + + //! Start accepting incomming connections. + void run(unsigned int inThreads, double inMaxHaltDelay=1); + + //! Wait for server termination. + void wait(void); + + protected: + vector mThreadPool; //!< Pool of threads pointers + + /*! \brief Main function of server. + + Method should start by constructing an adequate protocol for socket descriptor \c inDescriptor. For instance, to make an echo server for the TCP protocol: +\code +using namespace std; +using namespace PACC; +class EchoTCP : public Socket::TCPServer { + public: + EchoTCP(unsigned int inPort, unsigned int inMinPending) + : Socket::TCPServer(inPort, inMinPending) {} + ~EchoTCP(void) {wait();} + + void main(int inDescriptor, const ServerThread* inThread) { + try { + Socket::TCP lSocket(inDescriptor); + lSocket.setSockOpt(eRecvTimeOut, 10); + lSocket.setSockOpt(eSendTimeOut, 1.5); + // loop until thread receives a cancellation request + while(!inThread->shouldTerminate()) { + string lMessage; + // receive message from client + lSocket.receiveMessage(lMessage); + // echo message to client + lSocket.sendMessage(lMessage); + } + } catch(const Socket::Exception& inError) { + // output error message and exit + cerr << inError.getMessage() << endl; + } + } +}; +\endcode + In this example, the server constructs a TCP socket, sets time outs of respectivelly 10 and 1.5 seconds for receives and sends, and enters a loop where every received message is echoed to the client. This loop will exit either when method ServerThread::shouldTerminate returns true (typically after the server receives a halt request), when the client closes the connection (exception Socket::eConnectionClosed will be raised), or when a time out expires (exception Socket::eTimeOut will be raised). Note that the socket for this connection will be closed automatically by its destructor when control exits the try-clause. + */ + virtual void main(int inDescriptor, const ServerThread* inThread) = 0; + + friend class ServerThread; + + }; + + } // end of Socket namespace + +} // end of PACC namespace + +#endif // PACC_Socket_TCPServer_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Socket/UDP.cpp b/lib/beagle-3.0.3/PACC/Socket/UDP.cpp new file mode 100644 index 0000000..ae9433a --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/UDP.cpp @@ -0,0 +1,64 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/UDP.cpp + * \brief Class methods for the portable %UDP client. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#include "Socket/UDP.hpp" + +using namespace std; +using namespace PACC; + +/*! \brief Receive string datagram from unconnected server. + +This function waits for a datagram, or until time out. It returns the received datagram through output parameter \c outDatagram. It also returns the peer address through parameter \c outPeer. Any error raises a Socket::Exception. For instance, it throws an exception with code Socket::eTimeOut if the timeout period expires before reception of any datagram. The timeout period can be changed using function Port::setSockOpt with parameter Socket::eRecvTimeOut. +*/ +void Socket::UDP::receiveDatagram(string& outDatagram, Socket::Address& outPeer) +{ + // reserve adequate buffer space (if needed) + unsigned int lRecvBufSize = (unsigned int) getSockOpt(eRecvBufSize); + if(outDatagram.size() < lRecvBufSize) outDatagram.resize(lRecvBufSize); + // receive message + unsigned int lRecv = receiveFrom(&outDatagram[0], outDatagram.size(), outPeer); + // resize output string + outDatagram.resize(lRecv); +} + +/*! \brief Send datagram message to unconnected server. +\attention Maximum datagram size defaults to 1024 bytes. + +This function sends datagram string \c inDatagram to peer socket at address \c inPeer. Any error raises a Socket::Exception. For instance, it throws an exception with code Socket::eTimeOut if the datagram cannot be sent before the time out period expires. The time out period can be changed using function Port::setSockOpt with parameter Socket::eSendTimeOut. +*/ +void Socket::UDP::sendDatagram(const string& inDatagram, const Socket::Address& inPeer) +{ + sendTo(inDatagram.data(), inDatagram.size(), inPeer); +} diff --git a/lib/beagle-3.0.3/PACC/Socket/UDP.hpp b/lib/beagle-3.0.3/PACC/Socket/UDP.hpp new file mode 100644 index 0000000..1eeae2c --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/UDP.hpp @@ -0,0 +1,68 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/UDP.hpp + * \brief Class definition for the portable %UDP client. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#ifndef PACC_Socket_UDP_hpp_ +#define PACC_Socket_UDP_hpp_ + +#include "Socket/Port.hpp" + +namespace PACC { + + namespace Socket { + + /*! + \brief Portable %UDP client + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Socket + + This class defines a simple %UDP socket client. Any error raises a Socket::Exception. + */ + class UDP : public Port { + public: + //! Construct unconnected socket (see UDP::setDefaultOptions for default socket options). + explicit UDP(void) : Port(eUDP) {} + //! Construct using existing socket descriptor \c indescriptor. + explicit UDP(int inDescriptor) throw() : Port(inDescriptor) {} + + void receiveDatagram(string& outDatagram, Address& outPeer); + void sendDatagram(const string& inDatagram, const Address& inPeer); + + }; + + } // end of Socket namespace + +} // end of PACC namespace + +#endif // Socket_UDP_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Socket/UDPServer.cpp b/lib/beagle-3.0.3/PACC/Socket/UDPServer.cpp new file mode 100644 index 0000000..4e8e5b8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/UDPServer.cpp @@ -0,0 +1,80 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/UDPServer.cpp + * \brief Class methods for the portable %UDP server. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#include "Socket/UDPServer.hpp" +#include + +using namespace std; +using namespace PACC; + +//! Process incomming connections by receiving datagrams and calling virtual function UDPServer::main. +void Socket::UDPServer::acceptDatagrams() +{ + bool lHalt = false; + mHalt = false; + while(!lHalt && !mHalt) + { + try { + string lDatagram; + Address lPeer; + receiveDatagram(lDatagram, lPeer); + lHalt = main(lDatagram, lPeer); + } catch(const Exception& inError) { + // report any error and ignore + cerr << inError.getMessage() << endl; + } + } +} + +/*! \brief Set default socket options. + +Default options are: +
    +
  • eReuseAddress = true
  • +
  • eRecvBufSize = 65535 bytes
  • +
  • eSendBufSize = 1024 bytes
  • +
  • eRecvTimeOut = 10 seconds
  • +
  • eSendTimeOut = 10 seconds
  • +
+Any error raises a Socket::Exception. +*/ +void Socket::UDPServer::setDefaultOptions() +{ + setSockOpt(eReuseAddress, true); + setSockOpt(eRecvBufSize, 65535); + setSockOpt(eSendBufSize, 1024); + setSockOpt(eRecvTimeOut, 10); + setSockOpt(eSendTimeOut, 10); +} diff --git a/lib/beagle-3.0.3/PACC/Socket/UDPServer.hpp b/lib/beagle-3.0.3/PACC/Socket/UDPServer.hpp new file mode 100644 index 0000000..0319c1a --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Socket/UDPServer.hpp @@ -0,0 +1,94 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Socket/UDPServer.hpp + * \brief Class definition for the portable %UDP server. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.6.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#ifndef PACC_Socket_UDPServer_hpp_ +#define PACC_Socket_UDPServer_hpp_ + +#include "Socket/UDP.hpp" + +namespace PACC { + + namespace Socket { + + /*! + \brief Portable %UDP server. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Socket + + This class defines an abstract %UDP server that waits for datagrams on a specified port. Its \c main method needs to be overloaded in order to specify the server's function. Method \c acceptDatagrams enters an infinite loop and calls \c main for each received datagram. This infinite loop may be halted by calling method \c haltServer. Any error raises a Socket::Exception. + */ + class UDPServer : public UDP { + public: + //! Construct unconnected (%UDP) server bound to port number \c inPortNumber. + UDPServer(unsigned int inPortNumber) : mHalt(false) {setDefaultOptions(); bind(inPortNumber);} + //! Destroy server. + virtual ~UDPServer(void) {} + + void setDefaultOptions(void); + + void acceptDatagrams(void); + //! Halt server after completion of current connection + void haltServer() throw() {mHalt = true;} + + /*! \brief main function of server. + \return Wheter server should stop accepting connections. + + For instance, to make an echo server: + \code + class Echo : public UDPServer {...} + bool Echo::main(const std::string& inDatagram, const Address& inPeer) + { + try + { + UDP lSocket; + lSocket.sendDatagram(inDatagram, inPeer); + } + catch(Exception inExcep) {} + return false; // don't halt the server + } + \endcode + */ + virtual bool main(const string& inDatagram, const Address& inPeer) = 0; + + protected: + bool mHalt; //!< stop accepting connections + + }; + + } // end of Socket namespace + +} // end of PACC namespace + +#endif // PACC_Socket_UDPServer_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Threading.hpp b/lib/beagle-3.0.3/PACC/Threading.hpp new file mode 100644 index 0000000..9fd975d --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading.hpp @@ -0,0 +1,48 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Threading.hpp + * \brief Include all headers for the multithreading module. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.4 $ + * $Date: 2005/10/05 13:38:26 $ + */ + +/*! \namespace PACC::Threading + * \brief Portable thread management classes. + */ + +/*! + * \defgroup Threading Portable thread management classes (Threading) + */ + +#include "Threading/Condition.hpp" +#include "Threading/Mutex.hpp" +#include "Threading/Semaphore.hpp" +#include "Threading/Thread.hpp" +#include "Threading/ThreadPool.hpp" diff --git a/lib/beagle-3.0.3/PACC/Threading/.deps/Condition.Plo b/lib/beagle-3.0.3/PACC/Threading/.deps/Condition.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/.deps/Condition.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Threading/.deps/Exception.Plo b/lib/beagle-3.0.3/PACC/Threading/.deps/Exception.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/.deps/Exception.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Threading/.deps/Mutex.Plo b/lib/beagle-3.0.3/PACC/Threading/.deps/Mutex.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/.deps/Mutex.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Threading/.deps/Semaphore.Plo b/lib/beagle-3.0.3/PACC/Threading/.deps/Semaphore.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/.deps/Semaphore.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Threading/.deps/Thread.Plo b/lib/beagle-3.0.3/PACC/Threading/.deps/Thread.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/.deps/Thread.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Threading/.deps/ThreadPool.Plo b/lib/beagle-3.0.3/PACC/Threading/.deps/ThreadPool.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/.deps/ThreadPool.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Threading/.deps/libpacc-threading.Plo b/lib/beagle-3.0.3/PACC/Threading/.deps/libpacc-threading.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/.deps/libpacc-threading.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Threading/Condition.cpp b/lib/beagle-3.0.3/PACC/Threading/Condition.cpp new file mode 100644 index 0000000..e3223cf --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/Condition.cpp @@ -0,0 +1,256 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Threading/Condition.cpp + * \brief Class methods for the portable condition. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#include "Threading/Condition.hpp" + +#ifdef WIN32 +#define _WIN32_WINNT 0x0400 // for SignalObjectAndWait +#include +typedef struct { + // This windows implementation uses the SignalObjectAndWait solution from D.C. + // Schmidt and Irfan Pyarali. See http://www.cs.wustl.edu/~schmidt/win32-cv-1.html + int mWaiters; + bool mBroadcast; + // Critical section to protect variables + CRITICAL_SECTION mLock; + // Semaphore is used to queue up waiting threads + HANDLE mSemaphore; + // Auto-reset event to signal last waiting thread + HANDLE mDone; +} pthread_cond_t; +#else +#include +#include +#include +#include +#endif + +using namespace PACC; + +/*! \brief Allocate native structure and create condition. + +Any error raises a Threading::Exception. +*/ +Threading::Condition::Condition(void) +{ + pthread_cond_t* lCondition = new pthread_cond_t; +#ifdef WIN32 + lCondition->mWaiters = 0; + lCondition->mBroadcast = false; + ::InitializeCriticalSection(&lCondition->mLock); + lCondition->mSemaphore = ::CreateSemaphore(0, 0, 0x7fffffff, 0); + lCondition->mDone = ::CreateEvent(0, false, false, 0); + if(lCondition->mSemaphore == 0 || lCondition->mDone == 0) +#else + if(::pthread_cond_init(lCondition, 0) != 0) +#endif + throw Exception(eOtherError, "Threading::Condition() can't create!"); + mCondition = lCondition; +} + +//! Destroy condition and free allocated native structure. +Threading::Condition::~Condition(void) +{ + pthread_cond_t* lCondition = (pthread_cond_t*) mCondition; +#ifdef WIN32 + ::DeleteCriticalSection(&lCondition->mLock); + while(::CloseHandle(lCondition->mSemaphore) == 0) broadcast(); + while(::CloseHandle(lCondition->mDone) == 0) broadcast(); +#else + while(::pthread_cond_destroy(lCondition) == EBUSY) broadcast(); +#endif + delete lCondition; + mCondition = 0; +} + +/*! \brief Broadcast a wake up signal to all waiting threads. + +This method assumes that the embedded mutex has already been LOCKED by the calling thread (using method Condition::lock). It allows the caller to execute some thread critical operations like setting an external condition prior to broadcasting. If no thread is waiting, the signal is simply ignored. Here is an example of typical usage: +\code +lCondition.lock(); +// set some external condition +... +lCondition.broadcast(); +lCondition.unlock(); +\endcode +WARNING: Calling this method without first locking the mutex may produce unexpected OS dependant results. And don't forget to unlock the mutex afterwards! + +Any error raises a Threading::Exception. +*/ +void Threading::Condition::broadcast(void) const +{ + pthread_cond_t* lCondition = (pthread_cond_t*) mCondition; +#ifdef WIN32 + EnterCriticalSection(&lCondition->mLock); + if(lCondition->mWaiters > 0) { + lCondition->mBroadcast = true; + // wake up the waiting threads atomically + if(!::ReleaseSemaphore(lCondition->mSemaphore, lCondition->mWaiters, 0)) { + unlock(); + throw Exception(eOtherError, "Condition::broadcast() unable to release semaphore!"); + } + // wait for threads to acquire the counting semaphore + LeaveCriticalSection(&lCondition->mLock); + if(::WaitForSingleObject(lCondition->mDone, INFINITE) != WAIT_OBJECT_0) { + unlock(); + throw Exception(eOtherError, "Condition::broadcast() invalid event!"); + } + lCondition->mBroadcast = false; + } + else LeaveCriticalSection(&lCondition->mLock); +#else + if(::pthread_cond_broadcast(lCondition) != 0) { + unlock(); + throw Exception(eOtherError, "Condition::broadcast() invalid condition!"); + } +#endif +} + +/*! \brief Signal a single waiting thread to wake up (which waiting thread wakes up is undetermined). + +This method assumes that the embedded mutex has already been locked by the calling thread (using method Condition::lock). It allows the caller to execute some thread critical operations, like setting or resetting external conditions. If no thread is waiting, the signal is simply ignored. Here is an example of typical usage: +\code +lCondition.lock(); +// set some external condition +... +lCondition.signal(); +lCondition.unlock(); +\endcode +WARNING: Calling this method without first locking the mutex may produce unexpected OS dependant results. And don't forget to unlock the mutex afterwards! + +Any error raises a Threading::Exception. +*/ +void Threading::Condition::signal(void) const +{ + pthread_cond_t* lCondition = (pthread_cond_t*) mCondition; +#ifdef WIN32 + EnterCriticalSection(&lCondition->mLock); + int lWaiters = lCondition->mWaiters; + LeaveCriticalSection(&lCondition->mLock); + // wake up a single waiting thread if any waiters + if(lWaiters > 0 && ::ReleaseSemaphore(lCondition->mSemaphore, 1, 0) == 0) +#else + if(::pthread_cond_signal(lCondition) != 0) +#endif + { + unlock(); + throw Exception(eOtherError, "Condition::signal() invalid condition!"); + } +} + +/*! \brief Wait up to \c inMaxTime seconds for the condition to be signaled (or broadcasted). +\return True if condition was signaled (or broadcasted), false if timed out. + +This method assumes that the embedded mutex has already been locked by the calling thread (using method Condition::lock), and will also return with the mutex locked. A negative or null time out (default) means that the method should wait indefinitely. + +Here is an example of typical usage: +\code +... +lCondition.lock(); +if(external_condition == false) { + // wait indefinitely... + lCondition.wait(); + // reset external condition + ... +} +lCondition.unlock(); +... +\endcode +WARNING: Calling this method without first locking the mutex may produce unexpected OS dependant results. And don't forget to unlock the mutex afterwards! + +Any error raises a Threading::Exception. +*/ +bool Threading::Condition::wait(double inMaxTime) const +{ + bool lReturn; + pthread_cond_t* lCondition = (pthread_cond_t*) mCondition; +#ifdef WIN32 + EnterCriticalSection(&lCondition->mLock); + // increment number of waiters + lCondition->mWaiters += 1; + LeaveCriticalSection(&lCondition->mLock); + // wait for the semaphore after atomically unlocking the mutex + HANDLE* lMutex = (HANDLE*) mMutex; + DWORD lRes = ::SignalObjectAndWait(*lMutex, lCondition->mSemaphore, (inMaxTime <= 0 ? INFINITE : (DWORD)(inMaxTime*1000)), false); + if((lReturn = (lRes != WAIT_TIMEOUT)) && lRes != WAIT_OBJECT_0) { + unlock(); + throw Exception(eOtherError, "Condition::wait() invalid semaphore!"); + } + EnterCriticalSection(&lCondition->mLock); + // we're no longer waiting, decrement number of waiters + lCondition->mWaiters -= 1; + bool lLastWaiter = lCondition->mBroadcast && lCondition->mWaiters == 0; + LeaveCriticalSection(&lCondition->mLock); + if(lLastWaiter) { + // wait for the mutex after atomically signaling the broadcaster that all threads have awakened + if(::SignalObjectAndWait(lCondition->mDone, *lMutex, INFINITE, false) != WAIT_OBJECT_0) + { + unlock(); + throw Exception(eOtherError, "Condition::wait() invalid mutex!"); + } + } + else if(::WaitForSingleObject(*lMutex, INFINITE) != WAIT_OBJECT_0) { + unlock(); + throw Exception(eOtherError, "Condition::wait() invalid mutex!"); + } +#else + int lRes; + // pthread_cond_wait atomically unlocks the mutex, waits on the condition, and locks the mutex again + if(inMaxTime <= 0) lRes = ::pthread_cond_wait(lCondition, (pthread_mutex_t*)mMutex); + else { + // get time of day and add specified time out + struct timeval lVal; + ::gettimeofday(&lVal, 0); + struct timespec lSpec; + lSpec.tv_sec = lVal.tv_sec + (long) inMaxTime; + lSpec.tv_nsec = lVal.tv_usec*1000 + (long) ((inMaxTime - floor(inMaxTime)) * 1000000000); + // check that the number of nanoseconds is less than 1 sec + if(lSpec.tv_nsec >= 1000000000) + { + // otherwise adjust... + lSpec.tv_nsec -= 1000000000; + lSpec.tv_sec += 1; + } + // pthread_cond_timedwait atomically unlocks the mutex, waits on the condition, and locks the mutex again + lRes = ::pthread_cond_timedwait(lCondition, (pthread_mutex_t*)mMutex, &lSpec); + } + if((lReturn = (lRes != ETIMEDOUT)) && lRes != 0) + { + unlock(); + throw Exception(eOtherError, "Condition::wait() invalid condition!"); + } +#endif + return lReturn; +} diff --git a/lib/beagle-3.0.3/PACC/Threading/Condition.hpp b/lib/beagle-3.0.3/PACC/Threading/Condition.hpp new file mode 100644 index 0000000..325674c --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/Condition.hpp @@ -0,0 +1,76 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Threading/Condition.hpp + * \brief Class definition for the portable condition. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#ifndef PACC_Threading_Condition_hpp_ +#define PACC_Threading_Condition_hpp_ + +#include "Threading/Mutex.hpp" + +namespace PACC { + + namespace Threading { + + /*! \brief %Condition for thread synchronization. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Threading + + This class incapsulates a cross-platform POSIX condition with classic Condition::broadcast, Condition::signal, and Condition::wait methods. It should be compatible with any flavour of Unix that supports POSIX threads. It is also compatible with any version of Windows that support the SignalObjectAndWait method (introduced with NT4). + + This class has been tested under Linux, MacOS X and Windows 2000/XP. + */ + class Condition : public Mutex { + public: + Condition(void); + ~Condition(void); + + void broadcast(void) const; + void signal(void) const; + bool wait(double inMaxTime=0) const; + + protected: + void* mCondition; //!< Opaque structure of native condition + + private: + //! restrict (disable) copy constructor. + Condition(const Condition&); + //! restrict (disable) assignment operator. + void operator=(const Condition&); + }; + + } // end of Threading namespace + +} // end of PACC namespace + +#endif // PACC_Threading_Condition_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Threading/Exception.cpp b/lib/beagle-3.0.3/PACC/Threading/Exception.cpp new file mode 100644 index 0000000..3b0231a --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/Exception.cpp @@ -0,0 +1,83 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Threading/Exception.cpp + * \brief Class methods for the threading exception. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:09 $ + */ + +#include "Threading/Exception.hpp" + +#ifdef WIN32 +///////////// specifics for windows ///////////// +#include + +#else +///////////// specifics for unixes ///////////// +#include +#endif + +#include + +using namespace std; +using namespace PACC; + +//! Convert native OS error \c inError to Socket::Error. +Threading::Error Threading::Exception::convertNativeError(int inError) +{ + Error lCode; + switch(inError) + { +#ifdef WIN32 + case ERROR_NOT_OWNER: lCode = eMutexNotOwned; break; +#else + case EPERM: lCode = eMutexNotOwned; break; + case EDEADLK: lCode = eWouldDeadLock; break; +#endif + default: lCode = eOtherError; + } + return lCode; +} + +//! Return error message. +string Threading::Exception::getMessage() const throw() +{ + ostringstream lMessage; + switch(mCode) + { + case eMutexNotOwned: lMessage << "MutexNotOwned"; break; + case eWouldDeadLock: lMessage << "WouldDeadLock"; break; + case eRunning: lMessage << "Running"; break; + default: lMessage << "OtherError"; break; + } + if(mNativeCode) lMessage << " (" << mNativeCode << "): "; + else lMessage << ": "; + return lMessage.str()+what(); +} diff --git a/lib/beagle-3.0.3/PACC/Threading/Exception.hpp b/lib/beagle-3.0.3/PACC/Threading/Exception.hpp new file mode 100644 index 0000000..6972945 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/Exception.hpp @@ -0,0 +1,88 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Threading/Exception.hpp + * \brief Class definition for the threading exception. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_Threading_Exception_hpp_ +#define PACC_Threading_Exception_hpp_ + +#include +#include + +namespace PACC { + + using namespace std; + + namespace Threading { + + //! Supported Multithread error codes. + enum Error { + eMutexNotOwned, //!< Mutex not own by calling thread + eWouldDeadLock, //!< Operation would produce a dead lock. + eRunning, //!< Thread is already running + eOtherError //!< Any other OS specific error. + }; + + /*! + \brief Multithread exception. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Threading + + This class encapsulates most interesting runtime errors that can happen while using multithreading operations. + */ + class Exception : public runtime_error { + public: + //! Construct with native error code. + explicit Exception(int inNativeCode, const string& inMessage) + : runtime_error(inMessage), mNativeCode(inNativeCode) {mCode = convertNativeError(inNativeCode);} + //! Construct with multithreading error code. + explicit Exception(Error inCode, const string& inMessage) : runtime_error(inMessage), mCode(inCode) {mNativeCode = 0;} + + static Error convertNativeError(int inError); + + //! Return error code. + int getErrorCode() {return mCode;} + + string getMessage() const throw(); + + protected: + Error mCode; //!< Portable error code. + int mNativeCode; //!< Native error code. + + }; + + } // end of Threading namespace + +} // end of PACC namespace + +#endif // PACC_Threading_Exception_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Threading/Makefile b/lib/beagle-3.0.3/PACC/Threading/Makefile new file mode 100644 index 0000000..f0ddcb0 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/Makefile @@ -0,0 +1,774 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# PACC/Threading/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = PACC/Threading +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(paccthreading_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" \ + "$(DESTDIR)$(paccthreadingdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libpacc_threading_la_DEPENDENCIES = \ + $(top_srcdir)/PACC/Util/libpacc-util.la +am__libpacc_threading_la_SOURCES_DIST = Condition.cpp Exception.cpp \ + Mutex.cpp Semaphore.cpp Thread.cpp ThreadPool.cpp +am__objects_1 = Condition.lo Exception.lo Mutex.lo Semaphore.lo \ + Thread.lo ThreadPool.lo +#am_libpacc_threading_la_OBJECTS = \ +# $(am__objects_1) +nodist_libpacc_threading_la_OBJECTS = \ + libpacc-threading.lo +libpacc_threading_la_OBJECTS = $(am_libpacc_threading_la_OBJECTS) \ + $(nodist_libpacc_threading_la_OBJECTS) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +libpacc_threading_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libpacc_threading_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/Condition.Plo \ + ./$(DEPDIR)/Exception.Plo ./$(DEPDIR)/Mutex.Plo \ + ./$(DEPDIR)/Semaphore.Plo ./$(DEPDIR)/Thread.Plo \ + ./$(DEPDIR)/ThreadPool.Plo ./$(DEPDIR)/libpacc-threading.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libpacc_threading_la_SOURCES) \ + $(nodist_libpacc_threading_la_SOURCES) +DIST_SOURCES = $(am__libpacc_threading_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +HEADERS = $(paccthreading_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/PACC/Threading +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/PACC/Threading +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +PACC_THREADING_SRC_VAR = \ +Condition.cpp \ +Exception.cpp \ +Mutex.cpp \ +Semaphore.cpp \ +Thread.cpp \ +ThreadPool.cpp + +paccthreadingdir = $(includedir)/Threading +paccthreading_HEADERS = \ +Condition.hpp \ +Exception.hpp \ +Mutex.hpp \ +Semaphore.hpp \ +Task.hpp \ +Thread.hpp \ +ThreadPool.hpp + +lib_LTLIBRARIES = libpacc-threading.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_threading_la_LIBADD = $(top_srcdir)/PACC/Util/libpacc-util.la +libpacc_threading_la_LDFLAGS = -no-undefined -release 1.3.1b +nodist_libpacc_threading_la_SOURCES = libpacc-threading.cpp +#libpacc_threading_la_SOURCES = $(PACC_THREADING_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu PACC/Threading/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu PACC/Threading/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libpacc-threading.la: $(libpacc_threading_la_OBJECTS) $(libpacc_threading_la_DEPENDENCIES) $(EXTRA_libpacc_threading_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libpacc_threading_la_LINK) -rpath $(libdir) $(libpacc_threading_la_OBJECTS) $(libpacc_threading_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/Condition.Plo # am--include-marker +include ./$(DEPDIR)/Exception.Plo # am--include-marker +include ./$(DEPDIR)/Mutex.Plo # am--include-marker +include ./$(DEPDIR)/Semaphore.Plo # am--include-marker +include ./$(DEPDIR)/Thread.Plo # am--include-marker +include ./$(DEPDIR)/ThreadPool.Plo # am--include-marker +include ./$(DEPDIR)/libpacc-threading.Plo # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-paccthreadingHEADERS: $(paccthreading_HEADERS) + @$(NORMAL_INSTALL) + @list='$(paccthreading_HEADERS)'; test -n "$(paccthreadingdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(paccthreadingdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(paccthreadingdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(paccthreadingdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(paccthreadingdir)" || exit $$?; \ + done + +uninstall-paccthreadingHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(paccthreading_HEADERS)'; test -n "$(paccthreadingdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(paccthreadingdir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccthreadingdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +#clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/Condition.Plo + -rm -f ./$(DEPDIR)/Exception.Plo + -rm -f ./$(DEPDIR)/Mutex.Plo + -rm -f ./$(DEPDIR)/Semaphore.Plo + -rm -f ./$(DEPDIR)/Thread.Plo + -rm -f ./$(DEPDIR)/ThreadPool.Plo + -rm -f ./$(DEPDIR)/libpacc-threading.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-paccthreadingHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/Condition.Plo + -rm -f ./$(DEPDIR)/Exception.Plo + -rm -f ./$(DEPDIR)/Mutex.Plo + -rm -f ./$(DEPDIR)/Semaphore.Plo + -rm -f ./$(DEPDIR)/Thread.Plo + -rm -f ./$(DEPDIR)/ThreadPool.Plo + -rm -f ./$(DEPDIR)/libpacc-threading.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES uninstall-paccthreadingHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-paccthreadingHEADERS install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES \ + uninstall-paccthreadingHEADERS + +.PRECIOUS: Makefile + +libpacc-threading.cpp: + rm -f libpacc-threading.cpp + echo "// Generated automatically by make" > libpacc-threading.cpp + echo >> libpacc-threading.cpp + echo $(PACC_THREADING_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-threading.cpp + +clean-generic: + rm -f libpacc-threading.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/PACC/Threading/Makefile.am b/lib/beagle-3.0.3/PACC/Threading/Makefile.am new file mode 100644 index 0000000..6cba028 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/Makefile.am @@ -0,0 +1,34 @@ +PACC_THREADING_SRC_VAR = \ +Condition.cpp \ +Exception.cpp \ +Mutex.cpp \ +Semaphore.cpp \ +Thread.cpp \ +ThreadPool.cpp +paccthreadingdir = $(includedir)/Threading +paccthreading_HEADERS = \ +Condition.hpp \ +Exception.hpp \ +Mutex.hpp \ +Semaphore.hpp \ +Task.hpp \ +Thread.hpp \ +ThreadPool.hpp +lib_LTLIBRARIES = libpacc-threading.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_threading_la_LIBADD = $(top_srcdir)/PACC/Util/libpacc-util.la +libpacc_threading_la_LDFLAGS = -no-undefined -release @PACC_VERSION@ +if FAST_COMPILATION +libpacc-threading.cpp: + rm -f libpacc-threading.cpp + echo "// Generated automatically by make" > libpacc-threading.cpp + echo >> libpacc-threading.cpp + echo $(PACC_THREADING_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-threading.cpp + +clean-generic: + rm -f libpacc-threading.cpp + +nodist_libpacc_threading_la_SOURCES = libpacc-threading.cpp +else +libpacc_threading_la_SOURCES = $(PACC_THREADING_SRC_VAR) +endif diff --git a/lib/beagle-3.0.3/PACC/Threading/Makefile.in b/lib/beagle-3.0.3/PACC/Threading/Makefile.in new file mode 100644 index 0000000..18fe9c4 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/Makefile.in @@ -0,0 +1,774 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = PACC/Threading +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(paccthreading_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" \ + "$(DESTDIR)$(paccthreadingdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libpacc_threading_la_DEPENDENCIES = \ + $(top_srcdir)/PACC/Util/libpacc-util.la +am__libpacc_threading_la_SOURCES_DIST = Condition.cpp Exception.cpp \ + Mutex.cpp Semaphore.cpp Thread.cpp ThreadPool.cpp +am__objects_1 = Condition.lo Exception.lo Mutex.lo Semaphore.lo \ + Thread.lo ThreadPool.lo +@FAST_COMPILATION_FALSE@am_libpacc_threading_la_OBJECTS = \ +@FAST_COMPILATION_FALSE@ $(am__objects_1) +@FAST_COMPILATION_TRUE@nodist_libpacc_threading_la_OBJECTS = \ +@FAST_COMPILATION_TRUE@ libpacc-threading.lo +libpacc_threading_la_OBJECTS = $(am_libpacc_threading_la_OBJECTS) \ + $(nodist_libpacc_threading_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libpacc_threading_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libpacc_threading_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/Condition.Plo \ + ./$(DEPDIR)/Exception.Plo ./$(DEPDIR)/Mutex.Plo \ + ./$(DEPDIR)/Semaphore.Plo ./$(DEPDIR)/Thread.Plo \ + ./$(DEPDIR)/ThreadPool.Plo ./$(DEPDIR)/libpacc-threading.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libpacc_threading_la_SOURCES) \ + $(nodist_libpacc_threading_la_SOURCES) +DIST_SOURCES = $(am__libpacc_threading_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +HEADERS = $(paccthreading_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +PACC_THREADING_SRC_VAR = \ +Condition.cpp \ +Exception.cpp \ +Mutex.cpp \ +Semaphore.cpp \ +Thread.cpp \ +ThreadPool.cpp + +paccthreadingdir = $(includedir)/Threading +paccthreading_HEADERS = \ +Condition.hpp \ +Exception.hpp \ +Mutex.hpp \ +Semaphore.hpp \ +Task.hpp \ +Thread.hpp \ +ThreadPool.hpp + +lib_LTLIBRARIES = libpacc-threading.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_threading_la_LIBADD = $(top_srcdir)/PACC/Util/libpacc-util.la +libpacc_threading_la_LDFLAGS = -no-undefined -release @PACC_VERSION@ +@FAST_COMPILATION_TRUE@nodist_libpacc_threading_la_SOURCES = libpacc-threading.cpp +@FAST_COMPILATION_FALSE@libpacc_threading_la_SOURCES = $(PACC_THREADING_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu PACC/Threading/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu PACC/Threading/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libpacc-threading.la: $(libpacc_threading_la_OBJECTS) $(libpacc_threading_la_DEPENDENCIES) $(EXTRA_libpacc_threading_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libpacc_threading_la_LINK) -rpath $(libdir) $(libpacc_threading_la_OBJECTS) $(libpacc_threading_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Condition.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Exception.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Mutex.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Semaphore.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Thread.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ThreadPool.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpacc-threading.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-paccthreadingHEADERS: $(paccthreading_HEADERS) + @$(NORMAL_INSTALL) + @list='$(paccthreading_HEADERS)'; test -n "$(paccthreadingdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(paccthreadingdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(paccthreadingdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(paccthreadingdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(paccthreadingdir)" || exit $$?; \ + done + +uninstall-paccthreadingHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(paccthreading_HEADERS)'; test -n "$(paccthreadingdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(paccthreadingdir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccthreadingdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +@FAST_COMPILATION_FALSE@clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/Condition.Plo + -rm -f ./$(DEPDIR)/Exception.Plo + -rm -f ./$(DEPDIR)/Mutex.Plo + -rm -f ./$(DEPDIR)/Semaphore.Plo + -rm -f ./$(DEPDIR)/Thread.Plo + -rm -f ./$(DEPDIR)/ThreadPool.Plo + -rm -f ./$(DEPDIR)/libpacc-threading.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-paccthreadingHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/Condition.Plo + -rm -f ./$(DEPDIR)/Exception.Plo + -rm -f ./$(DEPDIR)/Mutex.Plo + -rm -f ./$(DEPDIR)/Semaphore.Plo + -rm -f ./$(DEPDIR)/Thread.Plo + -rm -f ./$(DEPDIR)/ThreadPool.Plo + -rm -f ./$(DEPDIR)/libpacc-threading.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES uninstall-paccthreadingHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-paccthreadingHEADERS install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES \ + uninstall-paccthreadingHEADERS + +.PRECIOUS: Makefile + +@FAST_COMPILATION_TRUE@libpacc-threading.cpp: +@FAST_COMPILATION_TRUE@ rm -f libpacc-threading.cpp +@FAST_COMPILATION_TRUE@ echo "// Generated automatically by make" > libpacc-threading.cpp +@FAST_COMPILATION_TRUE@ echo >> libpacc-threading.cpp +@FAST_COMPILATION_TRUE@ echo $(PACC_THREADING_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-threading.cpp + +@FAST_COMPILATION_TRUE@clean-generic: +@FAST_COMPILATION_TRUE@ rm -f libpacc-threading.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/PACC/Threading/Mutex.cpp b/lib/beagle-3.0.3/PACC/Threading/Mutex.cpp new file mode 100644 index 0000000..a91856a --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/Mutex.cpp @@ -0,0 +1,133 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Threading/Mutex.cpp + * \brief Class methods for the portable mutual exclusion lock. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#include "Threading/Mutex.hpp" + +#ifdef WIN32 +#include +typedef HANDLE pthread_mutex_t; +#else +#include +#include +#endif + +using namespace PACC; + +/*! \brief Allocate native structure and create mutex. + +Any error raised a Threading:Exception. +*/ +Threading::Mutex::Mutex(void) +{ + pthread_mutex_t* lMutex = new pthread_mutex_t; +#ifdef WIN32 + if((*lMutex = ::CreateMutex(0, 0, 0)) == 0) +#else + if(::pthread_mutex_init(lMutex, 0)) +#endif + throw Exception(eOtherError, "Mutex::Mutex() can't create!"); + mMutex = lMutex; +} + +//! Destroy mutex and free allocated native structure. +Threading::Mutex::~Mutex(void) +{ + pthread_mutex_t* lMutex = (pthread_mutex_t*) mMutex; +#ifdef WIN32 + while(::CloseHandle(*lMutex) == 0) +#else + while(::pthread_mutex_destroy(lMutex) == EBUSY) +#endif + { + // wait for mutex to unlock + lock(); + unlock(); + } + delete lMutex; + mMutex = 0; +} + +/*! \brief Lock the mutex. + +A thread should never lock a mutex twice consecutively (without calling method Mutex::unlock). Any error will raise a Threading::Exception. +*/ +void Threading::Mutex::lock(void) const +{ + pthread_mutex_t* lMutex = (pthread_mutex_t*) mMutex; +#ifdef WIN32 + if(::WaitForSingleObject(*lMutex, INFINITE) != WAIT_OBJECT_0) +#else + if(::pthread_mutex_lock(lMutex) != 0) +#endif + throw Exception(eWouldDeadLock, "Mutex::lock() can't lock!"); +} + +/*! \brief Try to lock the mutex without blocking. + +Return's true if successful; false otherwise. + +Any error will raise a Threading::Exception. +*/ +bool Threading::Mutex::tryLock(void) const +{ + pthread_mutex_t* lMutex = (pthread_mutex_t*) mMutex; +#ifdef WIN32 + int lValue = ::WaitForSingleObject(*lMutex, 0); + if(lValue == WAIT_TIMEOUT) return false; + if(lValue != WAIT_OBJECT_0) +#else + int lValue = ::pthread_mutex_trylock(lMutex); + if(lValue == EBUSY) return false; + if(lValue != 0) +#endif + throw Exception(eOtherError, "Mutex::trylock() can't trylock!"); + return true; +} + + +/*! \brief Unlock the mutex. + +A thread should never unlock a mutex twice consecutively (without calling method Mutex::lock). Any error will raise a Threading::Exception. +*/ +void Threading::Mutex::unlock(void) const +{ + pthread_mutex_t* lMutex = (pthread_mutex_t*) mMutex; +#ifdef WIN32 + if(::ReleaseMutex(*lMutex) == 0) +#else + if(::pthread_mutex_unlock(lMutex) != 0) +#endif + throw Exception(eMutexNotOwned, "Mutex::unlock() can't unlock!"); +} diff --git a/lib/beagle-3.0.3/PACC/Threading/Mutex.hpp b/lib/beagle-3.0.3/PACC/Threading/Mutex.hpp new file mode 100644 index 0000000..dad0b03 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/Mutex.hpp @@ -0,0 +1,77 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Threading/Mutex.hpp + * \brief Class definition for the portable mutual exclusion lock. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_Threading_Mutex_hpp_ +#define PACC_Threading_Mutex_hpp_ + +#include "Threading/Exception.hpp" + +namespace PACC { + + namespace Threading { + + /*! \brief Mutual exclusion for thread synchronization. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Threading + + This class incapsulates a mutex with classic Mutex::lock, Mutex::unlock, and Mutex::tryLock methods. A thread that already has acquired the mutex should not lock it again because this could lead to a deadlock. A thread should only unlock a mutex that is has lock previously (the mutex is not recursive). Otherwise the behavior of the mutex is undetermined (OS specific). + + This class should be compatible with any Unix that supports POSIX threads, as well as any version of Windows. It has been tested under Linux, MacOS X and Windows 2000/XP. + */ + class Mutex { + public: + Mutex(void); + ~Mutex(void); + + void lock(void) const; + bool tryLock(void) const; + void unlock(void) const; + + protected: + void* mMutex; //!< Opaque structure of native mutex + + private: + //! restrict (disable) copy constructor. + Mutex(const Mutex&); + //! restrict (disable) assignment operator. + void operator=(const Mutex&); + + }; + + } // end of Threading namespace + +} // end of PACC namespace + +#endif // PACC_Threading_Mutex_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Threading/Semaphore.cpp b/lib/beagle-3.0.3/PACC/Threading/Semaphore.cpp new file mode 100644 index 0000000..d90e9a4 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/Semaphore.cpp @@ -0,0 +1,100 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Threading/Semaphore.cpp + * \brief Class methods for the portable counting semaphore. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#include "Threading/Semaphore.hpp" + +using namespace PACC; + +/*! \brief Post a signal that another ressource is now avalable. + +This method increments the semaphore count and signals a single waiting thread if one exists. If argument \c inLock is true (default), it will first lock the embedded mutex (using the lock method) to protect the internal count. Otherwise, it assumes that the caller has already locked the mutex (using Semaphore::lock) and that it is responsible for unlocking it. +*/ +void Threading::Semaphore::post(bool inLock) +{ + // acquire exclusive access to count + if(inLock) lock(); + // increment count + mCount += 1; + // if waiting threads exist, signal one of them to wake up + if(mWaiters > 0) Condition::signal(); + // release access to count + if(inLock) unlock(); +} + +/*! \brief Try to acquire one ressource, but don't block if ressources are exhausted. +\return True if resource was acquired, false otherwise. + +This method decrements a positive semaphore count and returns true. If count is negative or null, it returns false immediately, without waiting for an available resource. If argument \c inLock is true (default), it will first lock the embedded mutex (using the lock method) to protect the internal count. Otherwise, it assumes that the caller has already locked the mutex (using Semaphore::lock) and that it is responsible for unlocking it. +*/ +bool Threading::Semaphore::tryWait(bool inLock) +{ + bool lReturn = true; + // acquire exclusive access to count + if(inLock) lock(); + // if ressource is exhausted, return false + if(mCount <= 0) lReturn = false; + // decrement count only if ressource is available + if(lReturn) mCount -= 1; + // release access to count + if(inLock) unlock(); + return lReturn; +} + +/*! \brief Wait up to \c inMaxTime seconds to acquire one resource. +\return True if resource was acquired, false if timed out. + +This method decrements a positive semaphore count and returns true. When count is negative or null, it waits up to \c inMaxTime seconds for a resource to become available. If one becomes available before time out, then the method returns true. Otherwise, it returns false. + +If argument \c inLock is true (default), it will first lock the embedded mutex (using the lock method) to protect the internal count. Otherwise, it assumes that the caller has already locked the mutex (using Semaphore::lock) and that it is responsible for unlocking it. + +A negative or null time out (default) means that the method should wait indefinitely (for a null time out, use method Semaphore::tryWait). +*/ +bool Threading::Semaphore::wait(double inMaxTime, bool inLock) +{ + bool lReturn = true; + // acquire exclusive access to count + if(inLock) lock(); + // increment number of waiters + mWaiters += 1; + // if ressource is exhausted wait for ressource + while(mCount <= 0 && lReturn) lReturn = Condition::wait(inMaxTime); + // decrement count only if condition was signaled (not timed out) + if(lReturn) mCount -= 1; + // decrement number of waiters + mWaiters -= 1; + // release access to count + if(inLock) unlock(); + return lReturn; +} diff --git a/lib/beagle-3.0.3/PACC/Threading/Semaphore.hpp b/lib/beagle-3.0.3/PACC/Threading/Semaphore.hpp new file mode 100644 index 0000000..adc7c43 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/Semaphore.hpp @@ -0,0 +1,76 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Threading/Semaphore.hpp + * \brief Class definition for the portable counting semaphore. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_Threading_Semaphore_hpp_ +#define PACC_Threading_Semaphore_hpp_ + +#include "Threading/Mutex.hpp" +#include "Threading/Condition.hpp" + +namespace PACC { + + namespace Threading { + + /*! \brief %Semaphore for thread synchronization. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Threading + + This class incapsulates a counting semaphore with classic Semaphore::post, Semaphore::tryWait, and Semaphore::wait methods. The semaphore is initialized with a count of \c inCount ressources (see constructor). A post increments the count while a wait decrements it. A count of 0 means that no more ressources are available. Subsequent calls to wait will block until future post releases some of the allocated ressources. When several threads have blocked because of exhausted ressources, the order in which they will be released is undetermined (FIFO should not be assumed). + + This class does not contain any OS dependant code. However, it is built over classes Condition and Mutex which may not be fully cross-platform (see documentation of these classes for more details). + */ + class Semaphore : public Condition { + public: + //! Construct semaphore with initial count \c inCount. + Semaphore(unsigned int inCount=0) : mCount(inCount), mWaiters(0) {} + + //! Return count of semaphore (semaphore should be locked prior to call). + int getCount(void) const {return mCount;} + void post(bool inLock=true); + //! Set count of semaphore (semaphore should be locked prior to call). + void setCount(unsigned int inCount) {mCount = inCount;} + bool tryWait(bool inLock=true); + bool wait(double inMaxTime=0, bool inLock=true); + + protected: + unsigned int mCount; //!< Current count of semaphore + unsigned int mWaiters; //!< Current number of waiting threads + }; + + } // end of Threading namespace + +} // end of PACC namespace + +#endif // PACC_Threading_Semaphore_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Threading/Task.hpp b/lib/beagle-3.0.3/PACC/Threading/Task.hpp new file mode 100644 index 0000000..d1dd40e --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/Task.hpp @@ -0,0 +1,100 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Threading/Task.hpp + * \brief Class definition for the abstract task of the portable thread pool. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_Threading_Task_hpp_ +#define PACC_Threading_Task_hpp_ + +#include "Threading/Condition.hpp" + +namespace PACC { + + namespace Threading { + + /*! \brief %Task for thread pool execution. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Threading + + This abstract class encapsulates a primitive task that can be executed by a ThreadPool. It must be subclassed in order to implement virtual method Task::main which defines the task's function. Once pushed onto a thread pool using method ThreadPool::push, the task will start executing as soon as a thread becomes available. A task cannot be canceled after it has started to run. + */ + class Task : public Condition { + public: + //! Construct default task: initialize to not running and not completed. + Task(void) : mRunning(false), mCompleted(false) {} + //! Delete task: wait for task completion. + virtual ~Task(void) {lock(); while(!mCompleted) wait(); unlock();} + + /*! \brief Check wheter task is completed. + + The embedded mutex should always be locked (using method Task::lock) prior to calling this method. + */ + bool isCompleted(void) const {return mCompleted;} + + /*! \brief Check wheter task is running. + + The embedded mutex should always be locked (using method Task::lock) prior to calling this method. + */ + bool isRunning(void) const {return mRunning;} + + /*! \brief Implements main procedure of task. + + This virtual method must be overloaded in a derived class in order to implement the main procedure of this task. + */ + virtual void main(void) = 0; + + //! Reset internal task state to default (not running and not completed). + void reset(void) {lock(); mRunning = mCompleted = false; unlock();} + + /*! \brief Wait for task to complete. + + If argument \c inLock is true (default), this method locks the embedded mutex prior to waiting on the condition, and unlocks the mutex prior to return. Otherwise, it assumes that the mutex is already locked and does not modify its state. This method should never be called with argument \c inLock=false without first locking the mutex using method Task::lock. + */ + void wait(bool inLock=true) const { + if(inLock) lock(); + while(!mCompleted) Condition::wait(); + if(inLock) unlock(); + } + + protected: + bool mRunning; //!< is running flag + bool mCompleted; //!< is completed flag + + friend class SlaveThread; + }; + + } // end of Threading namespace + +} // end of PACC namespace + +#endif // PACC_Threading_Task_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Threading/Thread.cpp b/lib/beagle-3.0.3/PACC/Threading/Thread.cpp new file mode 100644 index 0000000..f652f35 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/Thread.cpp @@ -0,0 +1,246 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Threading/Thread.cpp + * \brief Class methods for the portable thread. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#include "Threading/Thread.hpp" +#include "Util/Assert.hpp" + +#ifdef WIN32 +#include +#define ErrNo WSAGetLastError() // descriptor of last error +struct ThreadStruct { + HANDLE mHandle; + DWORD mId; +}; + +#else // Unix... +#include +#include +#include +#define ErrNo errno // descriptor of last error +typedef pthread_t ThreadStruct; +#endif + +using namespace PACC; + +/*! \brief Create thread. + +Note that method Thread::run must be called in order to start the execution of Thread::main. +*/ +Threading::Thread::Thread(void) : mThread(0), mCancel(false), mRunning(false) {} + +/*! \brief Delete thread. + +Assuming that the caller has canceled the thread and waited for its termination, this method detaches the thread and deletes its native structure. In debug mode, if the thread is found still running, then the method aborts the application with a descriptive fatal error message. + +A good strategy is to always define a destructor in the derived class, and to make this destructor wait for thread termination. For instance: +\code +class MyThread : public Threading::Thread { + ... + ~MyThread(void) {wait();} + ... +}; +\endcode + +The calling thread can also use method Thread::cancel to request early termination for this thread. But thread cancellation is asynchronous, it will be deferred to the next cancellation point. From within Thread::main, in order to allow rapid thread cancellation, method Thread::makeCancellationPoint such be called as often as possible whenever it is safe to cancel the thread. A running thread that omits cancellation points and never terminates will block the calling thread of this method indefinitely. + +\attention If the destructor in the derived thread class (e.g. MyThread above) does not wait for thread termination, the potential hazardous situation is that the runtime system will have deleted all of its members before calling this destructor (in C++, class destructors are called in reversed sequence). Thus, the still running thread could access deleted data members with unpredictable and unexpected results. So beware! +*/ +Threading::Thread::~Thread(void) +{ + lock(); + if(mThread) { + // make sure that thread is no longer running + PACC_AssertM(!mRunning, "Destructor called without first cancelling the thread and waiting for its termination. Please correct the situation because it is potentially very hazardous!"); + // detach thread + ThreadStruct* lThread = (ThreadStruct*) mThread; +#ifdef WIN32 + if(::WaitForSingleObject(lThread->mHandle, INFINITE) == WAIT_FAILED) +#else // Unix... + if(::pthread_join(*lThread, 0) != 0) +#endif + { + throw Exception(ErrNo, "Thread::~Thread() unable to join thread"); + } + // delete native structure + delete lThread; + mThread = 0; + } + unlock(); +} + +/*! \brief Cancel execution of thread. + +The cancellation process requested by this function runs asynchronously with the calling thread. The later can call function Thread::wait in order to wait for thread termination. The cancelled thread will not terminate before it reaches its next cancellation point, or before it terminates by itself. Before deleting a cancelled thread, the caller should always wait for thread termination. + +The caller should always lock the thread (using the lock method) prior to asking for cancellation. If it wishes to wait immediately for thread termination, it should keep the thread locked and call the wait method with argument true (see Thread::wait). +*/ +void Threading::Thread::cancel(void) +{ + mCancel = true; +} + +/*! \brief Check wheter or not the thread is currently running. + +The caller should always lock the thread (using the lock method) prior to checking the running flag. +*/ +bool Threading::Thread::isRunning(void) const +{ + return mRunning; +} + +//! Return whether the calling thread is the same as this thread. +bool Threading::Thread::isSelf(void) const +{ + ThreadStruct* lThread = (ThreadStruct*) mThread; +#ifdef WIN32 + return lThread->mId == ::GetCurrentThreadId(); +#else // Unix... +#ifdef pthread_equal + // On AIX, pthread_equal is defined as a macro. + return pthread_equal(*lThread, ::pthread_self()); +#else // pthread_equal + return ::pthread_equal(*lThread, ::pthread_self()); +#endif // pthread_equal +#endif +} + +/*! \brief Create cancellation point. + +This function should be called by Thread::main as often as possible in order to enable thread cancellation. A Thread::cancel request can only be honored at a future cancellation point. +*/ +void Threading::Thread::makeCancellationPoint(void) +{ + lock(); + // exit thread if cancellation was requested + if(mCancel) { + // signal all that thread has terminated + mRunning = false; + broadcast(); + unlock(); + // now exit thread +#ifdef WIN32 + ::ExitThread(0); +#else // Unix... + ::pthread_exit(0); +#endif + } + unlock(); +} + +/*! \brief Create and startup thread. + +This function allocates memory for the native thread structure, and then creates the thread which starts up asynchronously. The calling thread will block until this thread as actually started to run. + +Any error will raise a Threading:Exception. In particular, this method should not be called if the thread is already running. +*/ +void Threading::Thread::run(void) +{ + lock(); + // check that thread is not already running + if(mRunning) { + unlock(); + throw Exception(eRunning, "Thread::run() thread is already running!"); + } + mCancel = false; + // allocate native structure + if(!mThread) mThread = new ThreadStruct; + ThreadStruct* lThread = (ThreadStruct*) mThread; + // create thread +#ifdef WIN32 + if((lThread->mHandle = ::CreateThread(0, 0, (LPTHREAD_START_ROUTINE)startup, this, 0, &lThread->mId)) == 0) +#else // Unix + if(::pthread_create(lThread, 0, startup, this) != 0) +#endif + { + unlock(); + throw Exception(eOtherError, "Thread::run() can't create thread!"); + } + // wait for thread to start up + if(!mRunning) Condition::wait(); + unlock(); +} + +/*! \brief Sleep calling thread for \c inSeconds seconds. + +A negative value will throw a Threading::Exception. +*/ +void Threading::Thread::sleep(double inSeconds) +{ + if(inSeconds < 0) throw Exception(eOtherError, "Thread::sleep() invalid time"); +#ifdef WIN32 + // argument must be in milliseconds + ::Sleep((DWORD)(1000*inSeconds)); +#else // Unix... + // argument must be in microseconds + if(::usleep((unsigned int)(1000000*inSeconds)) != 0) { + throw Exception(eOtherError, "Thread::sleep() can't sleep"); + } +#endif +} + +/*! \brief Startup thread. + +This function is first called when the thread starts up and immediately calls function Thread::main. After main returns (or is cancelled), it cleans up by signalling any waiting thread, and then terminates. +*/ +void* Threading::Thread::startup(void* inThread) +{ + Thread* lThread = (Thread*) inThread; + // signal parent thread that this thread is starting to run + lThread->lock(); + lThread->mRunning = true; + lThread->signal(); + lThread->unlock(); + // execute main + lThread->main(); + // signal all that thread as terminated + lThread->lock(); + lThread->mRunning = false; + lThread->broadcast(); + lThread->unlock(); + return 0; +} + +/*! \brief %Wait for thread termination. + +This method will wait for thread termination. If argument \c inLock is true (default), it will first lock the thread mutex before checking wheter or not the thread is still running. If the thread has already terminated, it will promptly return after unlocking the mutex. Otherwise, it will wait for the thread to terminate by itself. + +If argument \c inLock is false, this method assumes that the caller has already locked the mutex (using Thread::lock) and is responsible for unlocking it. +*/ +void Threading::Thread::wait(bool inLock) +{ + if(inLock) lock(); + if(mRunning) Condition::wait(); + if(inLock) unlock(); +} diff --git a/lib/beagle-3.0.3/PACC/Threading/Thread.hpp b/lib/beagle-3.0.3/PACC/Threading/Thread.hpp new file mode 100644 index 0000000..47170bc --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/Thread.hpp @@ -0,0 +1,91 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Threading/Thread.hpp + * \brief Class definition for the portable thread. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_Threading_Thread_hpp_ +#define PACC_Threading_Thread_hpp_ + +#include "Threading/Condition.hpp" + +namespace PACC { + + namespace Threading { + + /*! \brief Abstract thread. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Threading + + This class incapsulates an abstract cross-platform thread. It should be subclassed in order to define virtual member function Thread::main which is called soon after thread creation (see Thread::run). The thread terminates when main returns or after a call to Thread::cancel is honored by a subsequent cancellation point. A cancellation point can be created by a call to Thread::makeCancellationPoint. + + This class should be compatible with any flavour of Unix that supports POSIX threads. It should also be compatible will any version of Windows that is supported by class Condition (refer to its documentation for more details). It has been tested under Linux, MacOS X, and Windows 2000/XP. + */ + class Thread : public Condition { + public: + Thread(void); + virtual ~Thread(void); + + void cancel(void); + bool isRunning(void) const; + bool isSelf(void) const; + static void sleep(double inSeconds); + void run(void); + void wait(bool inLock=true); + + protected: + void* mThread; //!< Opaque structure of native thread. + bool mCancel; //!< Should be canceled flag. + bool mRunning; //!< Is running flag + + /*! \brief Implements main procedure of thread. + + This virtual method must be overloaded in a derived class in order to implement the main procedure of this thread. As much as possible, and whenever it is safe to cancel execution, this method should call Thread::makeCancellationPoint so that this thread can be canceled by other threads (including deleted by the main thread). Otherwise, any thread cancellation (or deletion) will be postponed until after main returns. For instance, if main's implementation requires a loop, a cancellation point should be included at least once for each iteration. + */ + virtual void main(void) = 0; + + void makeCancellationPoint(void); + + private: + static void* startup(void* inThread); + + //! restrict (disable) copy constructor. + Thread(const Thread&); + //! restrict (disable) assignment operator. + void operator=(const Thread&); + }; + + } // end of Threading namespace + +} // end of PACC namespace + +#endif // PACC_Threading_Thread_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Threading/ThreadPool.cpp b/lib/beagle-3.0.3/PACC/Threading/ThreadPool.cpp new file mode 100644 index 0000000..3261e22 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/ThreadPool.cpp @@ -0,0 +1,124 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Threading/ThreadPool.cpp + * \brief Class methods for the portable thread pool. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#include "Threading/ThreadPool.hpp" + +using namespace std; +using namespace PACC; + +/*! \brief Execute a pending task. + +When awakened by its parent thread pool, this method removes the next task from the head of the queue and starts executing it immediately. It also broadcasts a signal to all waiting threads for this task, both prior to task execution and after task completion. +*/ +void Threading::SlaveThread::main(void) +{ + while(!mCancel) + { + // wait for available task + mPool->lock(); + while(mPool->mTasks.empty() && !mCancel) mPool->wait(); + if(!mCancel) + { + // dequeu next task + Task* lTask = mPool->mTasks.front(); + mPool->mTasks.pop(); + mPool->unlock(); + // signal all that task is running + lTask->lock(); + lTask->mRunning = true; + lTask->broadcast(); + lTask->unlock(); + // run task + lTask->main(); + // signal all that task is completed + lTask->lock(); + lTask->mRunning = false; + lTask->mCompleted = true; + lTask->broadcast(); + lTask->unlock(); + } + else mPool->unlock(); + } +} + +//! Construct thread pool by allocating \c inSlaves threads. +Threading::ThreadPool::ThreadPool(unsigned int inSlaves) +{ + // allocate slave threads + for(unsigned int i = 0; i < inSlaves; ++i) + { + SlaveThread* lThread = new SlaveThread(this); + push_back(lThread); + } +} + +//! Delete thread pool. +Threading::ThreadPool::~ThreadPool(void) +{ + lock(); + // wait for queue to become empty + while(!mTasks.empty()) + { + // wait for last task in queue to at least start running + Task* lTask = mTasks.back(); + lTask->lock(); + unlock(); + lTask->wait(false); + lTask->unlock(); + lock(); + } + // now cancel all threads + for(unsigned int i = 0; i < size(); ++i) (*this)[i]->cancel(); + // signal them to wake up + broadcast(); + unlock(); + // then delete them (the thread destructor will wait for thread completion) + for(unsigned int i = 0; i < size(); ++i) delete (*this)[i]; +} + +/*! \brief Push task \c inTask onto the thread pool queue. + +The thread pool maintains a queue of task references that will be executed in FIFO order. +*/ +void Threading::ThreadPool::push(Task& inTask) +{ + // reset task flags + inTask.reset(); + // push task onto queue and signal availability + lock(); + mTasks.push(&inTask); + signal(); + unlock(); +} diff --git a/lib/beagle-3.0.3/PACC/Threading/ThreadPool.hpp b/lib/beagle-3.0.3/PACC/Threading/ThreadPool.hpp new file mode 100644 index 0000000..e8d9d40 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Threading/ThreadPool.hpp @@ -0,0 +1,117 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! +* \file PACC/Threading/ThreadPool.hpp + * \brief Class definition for the portable thread pool. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_Threading_ThreadPool_hpp_ +#define PACC_Threading_ThreadPool_hpp_ + +#include "Threading/Thread.hpp" +#include "Threading/Task.hpp" +#include +#include + +namespace PACC { + + using namespace std; + + namespace Threading { + + class ThreadPool; + + /*! \brief Slave thread for the portable thread pool. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Threading + + This class defines a specialized thread for executing thread pool tasks. A slave thread simply sleeps until awakened by its parent thread pool when the later needs to execute a pending Task (see SlaveThread::main for more details). + */ + class SlaveThread : public Thread { + public: + //! Construct a slave thread for a thread pool. + SlaveThread(ThreadPool* inPool) : mPool(inPool) {run();} + //! Delete slave thread; wait for thread termination. + ~SlaveThread(void) {wait(true);} + + protected: + ThreadPool* mPool; //!< Pointer to parent thread pool + + void main(void); + }; + + /*! \brief Portable thread pool of slaves. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Threading + + This class implements a thread pool of slave threads that process a FIFO queue of tasks derived from class Threading::Task. A task is simply an object with a Task::main method. Here is a simple usage example: + \code +#include "Threading/Task.hpp" + +class MyTask : public Threading::Task { + public: + void main(void) { + cout << "Hello world task!" << endl; + } +}; + +#include "Threading/ThreadPool.hpp" + +int void main(int argc, char** argv) +{ + ThreadPool lPool(10); + MyTask ltask; + lPool.pushTask(lTask); + ... + lTask.wait(); + return 0; +} + \endcode + */ + class ThreadPool : public vector, public Condition { + public: + ThreadPool(unsigned int inSlaves); + ~ThreadPool(void); + + void push(Task& inTask); + + protected: + queue mTasks; //!< Queue of tasks. + + friend class SlaveThread; + }; + + } // end of Threading namespace + +} // end of PACC namespace + +#endif // PACC_Threading_ThreadPool_hpp_ + diff --git a/lib/beagle-3.0.3/PACC/Util.hpp b/lib/beagle-3.0.3/PACC/Util.hpp new file mode 100644 index 0000000..1f65a21 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util.hpp @@ -0,0 +1,46 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Util.hpp + * \brief Include all headers for the utility classes. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5 $ + * $Date: 2005/10/05 13:38:26 $ + */ + +/*! + * \defgroup Util Miscellaneous utility classes (Util) + */ + +#include "Util/Assert.hpp" +#include "Util/Date.hpp" +#include "Util/Randomizer.hpp" +#include "Util/RandomPermutation.hpp" +#include "Util/SignalHandler.hpp" +#include "Util/Timer.hpp" +#include "Util/Tokenizer.hpp" diff --git a/lib/beagle-3.0.3/PACC/Util/.deps/Date.Plo b/lib/beagle-3.0.3/PACC/Util/.deps/Date.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/.deps/Date.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Util/.deps/Randomizer.Plo b/lib/beagle-3.0.3/PACC/Util/.deps/Randomizer.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/.deps/Randomizer.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Util/.deps/SignalHandler.Plo b/lib/beagle-3.0.3/PACC/Util/.deps/SignalHandler.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/.deps/SignalHandler.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Util/.deps/Timer.Plo b/lib/beagle-3.0.3/PACC/Util/.deps/Timer.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/.deps/Timer.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Util/.deps/Tokenizer.Plo b/lib/beagle-3.0.3/PACC/Util/.deps/Tokenizer.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/.deps/Tokenizer.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/Util/.deps/libpacc-util.Plo b/lib/beagle-3.0.3/PACC/Util/.deps/libpacc-util.Plo new file mode 100644 index 0000000..a7fa72a --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/.deps/libpacc-util.Plo @@ -0,0 +1,504 @@ +libpacc-util.lo: libpacc-util.cpp /usr/include/stdc-predef.h Date.cpp \ + ../../PACC/Util/Date.hpp /usr/include/c++/12/string \ + /usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h \ + /usr/include/c++/12/pstl/pstl_config.h \ + /usr/include/c++/12/bits/stringfwd.h \ + /usr/include/c++/12/bits/memoryfwd.h \ + /usr/include/c++/12/bits/char_traits.h \ + /usr/include/c++/12/bits/postypes.h /usr/include/c++/12/cwchar \ + /usr/include/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/c++/12/type_traits /usr/include/c++/12/cstdint \ + /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/12/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h \ + /usr/include/c++/12/bits/new_allocator.h /usr/include/c++/12/new \ + /usr/include/c++/12/bits/exception.h \ + /usr/include/c++/12/bits/functexcept.h \ + /usr/include/c++/12/bits/exception_defines.h \ + /usr/include/c++/12/bits/move.h \ + /usr/include/c++/12/bits/cpp_type_traits.h \ + /usr/include/c++/12/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h \ + /usr/include/c++/12/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/12/iosfwd \ + /usr/include/c++/12/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/c++/12/bits/ostream_insert.h \ + /usr/include/c++/12/bits/cxxabi_forced.h \ + /usr/include/c++/12/bits/stl_iterator_base_types.h \ + /usr/include/c++/12/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/12/bits/concept_check.h \ + /usr/include/c++/12/debug/assertions.h \ + /usr/include/c++/12/bits/stl_iterator.h \ + /usr/include/c++/12/ext/type_traits.h \ + /usr/include/c++/12/bits/ptr_traits.h \ + /usr/include/c++/12/bits/stl_function.h \ + /usr/include/c++/12/backward/binders.h \ + /usr/include/c++/12/ext/numeric_traits.h \ + /usr/include/c++/12/bits/stl_algobase.h \ + /usr/include/c++/12/bits/stl_pair.h /usr/include/c++/12/bits/utility.h \ + /usr/include/c++/12/debug/debug.h \ + /usr/include/c++/12/bits/predefined_ops.h \ + /usr/include/c++/12/bits/refwrap.h /usr/include/c++/12/bits/invoke.h \ + /usr/include/c++/12/bits/range_access.h \ + /usr/include/c++/12/initializer_list \ + /usr/include/c++/12/bits/basic_string.h \ + /usr/include/c++/12/ext/alloc_traits.h \ + /usr/include/c++/12/bits/alloc_traits.h \ + /usr/include/c++/12/bits/stl_construct.h /usr/include/c++/12/string_view \ + /usr/include/c++/12/bits/functional_hash.h \ + /usr/include/c++/12/bits/hash_bytes.h \ + /usr/include/c++/12/bits/string_view.tcc \ + /usr/include/c++/12/ext/string_conversions.h /usr/include/c++/12/cstdlib \ + /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/c++/12/bits/std_abs.h /usr/include/c++/12/cstdio \ + /usr/include/stdio.h /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/c++/12/cerrno \ + /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/c++/12/bits/charconv.h \ + /usr/include/c++/12/bits/basic_string.tcc /usr/include/c++/12/ctime \ + /usr/include/time.h /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + Randomizer.cpp ../../PACC/Util/Randomizer.hpp ../../PACC/Util/MTRand.hpp \ + /usr/include/c++/12/iostream /usr/include/c++/12/ostream \ + /usr/include/c++/12/ios /usr/include/c++/12/exception \ + /usr/include/c++/12/bits/exception_ptr.h \ + /usr/include/c++/12/bits/cxxabi_init_exception.h \ + /usr/include/c++/12/typeinfo /usr/include/c++/12/bits/nested_exception.h \ + /usr/include/c++/12/bits/ios_base.h /usr/include/c++/12/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/12/bits/locale_classes.h \ + /usr/include/c++/12/bits/locale_classes.tcc \ + /usr/include/c++/12/system_error \ + /usr/include/x86_64-linux-gnu/c++/12/bits/error_constants.h \ + /usr/include/c++/12/stdexcept /usr/include/c++/12/streambuf \ + /usr/include/c++/12/bits/streambuf.tcc \ + /usr/include/c++/12/bits/basic_ios.h \ + /usr/include/c++/12/bits/locale_facets.h /usr/include/c++/12/cwctype \ + /usr/include/wctype.h /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/ctype_base.h \ + /usr/include/c++/12/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/ctype_inline.h \ + /usr/include/c++/12/bits/locale_facets.tcc \ + /usr/include/c++/12/bits/basic_ios.tcc \ + /usr/include/c++/12/bits/ostream.tcc /usr/include/c++/12/istream \ + /usr/include/c++/12/bits/istream.tcc \ + /usr/lib/gcc/x86_64-linux-gnu/12/include/limits.h \ + /usr/lib/gcc/x86_64-linux-gnu/12/include/syslimits.h \ + /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ + /usr/include/x86_64-linux-gnu/bits/local_lim.h \ + /usr/include/linux/limits.h \ + /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \ + /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \ + /usr/include/x86_64-linux-gnu/bits/uio_lim.h /usr/include/c++/12/math.h \ + /usr/include/c++/12/cmath /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/flt-eval-method.h \ + /usr/include/x86_64-linux-gnu/bits/fp-logb.h \ + /usr/include/x86_64-linux-gnu/bits/fp-fast.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h \ + /usr/include/x86_64-linux-gnu/bits/iscanonical.h \ + /usr/include/c++/12/bits/specfun.h /usr/include/c++/12/limits \ + /usr/include/c++/12/tr1/gamma.tcc \ + /usr/include/c++/12/tr1/special_function_util.h \ + /usr/include/c++/12/tr1/bessel_function.tcc \ + /usr/include/c++/12/tr1/beta_function.tcc \ + /usr/include/c++/12/tr1/ell_integral.tcc \ + /usr/include/c++/12/tr1/exp_integral.tcc \ + /usr/include/c++/12/tr1/hypergeometric.tcc \ + /usr/include/c++/12/tr1/legendre_function.tcc \ + /usr/include/c++/12/tr1/modified_bessel_func.tcc \ + /usr/include/c++/12/tr1/poly_hermite.tcc \ + /usr/include/c++/12/tr1/poly_laguerre.tcc \ + /usr/include/c++/12/tr1/riemann_zeta.tcc /usr/include/c++/12/vector \ + /usr/include/c++/12/bits/stl_uninitialized.h \ + /usr/include/c++/12/bits/stl_vector.h \ + /usr/include/c++/12/bits/stl_bvector.h \ + /usr/include/c++/12/bits/vector.tcc /usr/include/c++/12/sstream \ + /usr/include/c++/12/bits/sstream.tcc SignalHandler.cpp \ + ../../PACC/Util/SignalHandler.hpp /usr/include/c++/12/stack \ + /usr/include/c++/12/deque /usr/include/c++/12/bits/stl_deque.h \ + /usr/include/c++/12/bits/deque.tcc /usr/include/c++/12/bits/stl_stack.h \ + /usr/include/c++/12/bits/uses_allocator.h /usr/include/signal.h \ + /usr/include/x86_64-linux-gnu/bits/signum-generic.h \ + /usr/include/x86_64-linux-gnu/bits/signum-arch.h \ + /usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h \ + /usr/include/x86_64-linux-gnu/bits/siginfo-arch.h \ + /usr/include/x86_64-linux-gnu/bits/siginfo-consts.h \ + /usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigval_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h \ + /usr/include/x86_64-linux-gnu/bits/sigevent-consts.h \ + /usr/include/x86_64-linux-gnu/bits/sigaction.h \ + /usr/include/x86_64-linux-gnu/bits/sigcontext.h \ + /usr/include/x86_64-linux-gnu/bits/types/stack_t.h \ + /usr/include/x86_64-linux-gnu/sys/ucontext.h \ + /usr/include/x86_64-linux-gnu/bits/sigstack.h \ + /usr/include/x86_64-linux-gnu/bits/sigstksz.h /usr/include/unistd.h \ + /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ + /usr/include/x86_64-linux-gnu/bits/environments.h \ + /usr/include/x86_64-linux-gnu/bits/confname.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ + /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ + /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ + /usr/include/linux/close_range.h \ + /usr/include/x86_64-linux-gnu/bits/ss_flags.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h \ + /usr/include/x86_64-linux-gnu/bits/sigthread.h \ + /usr/include/x86_64-linux-gnu/bits/signal_ext.h \ + ../../PACC/Util/Assert.hpp Timer.cpp ../../PACC/Util/Timer.hpp \ + /usr/include/x86_64-linux-gnu/sys/time.h Tokenizer.cpp \ + ../../PACC/Util/Tokenizer.hpp /usr/include/string.h \ + /usr/include/strings.h +/usr/include/stdc-predef.h: +Date.cpp: +../../PACC/Util/Date.hpp: +/usr/include/c++/12/string: +/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h: +/usr/include/features.h: +/usr/include/features-time64.h: +/usr/include/x86_64-linux-gnu/bits/wordsize.h: +/usr/include/x86_64-linux-gnu/bits/timesize.h: +/usr/include/x86_64-linux-gnu/sys/cdefs.h: +/usr/include/x86_64-linux-gnu/bits/long-double.h: +/usr/include/x86_64-linux-gnu/gnu/stubs.h: +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h: +/usr/include/c++/12/pstl/pstl_config.h: +/usr/include/c++/12/bits/stringfwd.h: +/usr/include/c++/12/bits/memoryfwd.h: +/usr/include/c++/12/bits/char_traits.h: +/usr/include/c++/12/bits/postypes.h: +/usr/include/c++/12/cwchar: +/usr/include/wchar.h: +/usr/include/x86_64-linux-gnu/bits/libc-header-start.h: +/usr/include/x86_64-linux-gnu/bits/floatn.h: +/usr/include/x86_64-linux-gnu/bits/floatn-common.h: +/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h: +/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h: +/usr/include/x86_64-linux-gnu/bits/wchar.h: +/usr/include/x86_64-linux-gnu/bits/types/wint_t.h: +/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h: +/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h: +/usr/include/x86_64-linux-gnu/bits/types/__FILE.h: +/usr/include/x86_64-linux-gnu/bits/types/FILE.h: +/usr/include/x86_64-linux-gnu/bits/types/locale_t.h: +/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h: +/usr/include/c++/12/type_traits: +/usr/include/c++/12/cstdint: +/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h: +/usr/include/stdint.h: +/usr/include/x86_64-linux-gnu/bits/types.h: +/usr/include/x86_64-linux-gnu/bits/typesizes.h: +/usr/include/x86_64-linux-gnu/bits/time64.h: +/usr/include/x86_64-linux-gnu/bits/stdint-intn.h: +/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h: +/usr/include/c++/12/bits/allocator.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h: +/usr/include/c++/12/bits/new_allocator.h: +/usr/include/c++/12/new: +/usr/include/c++/12/bits/exception.h: +/usr/include/c++/12/bits/functexcept.h: +/usr/include/c++/12/bits/exception_defines.h: +/usr/include/c++/12/bits/move.h: +/usr/include/c++/12/bits/cpp_type_traits.h: +/usr/include/c++/12/bits/localefwd.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h: +/usr/include/c++/12/clocale: +/usr/include/locale.h: +/usr/include/x86_64-linux-gnu/bits/locale.h: +/usr/include/c++/12/iosfwd: +/usr/include/c++/12/cctype: +/usr/include/ctype.h: +/usr/include/x86_64-linux-gnu/bits/endian.h: +/usr/include/x86_64-linux-gnu/bits/endianness.h: +/usr/include/c++/12/bits/ostream_insert.h: +/usr/include/c++/12/bits/cxxabi_forced.h: +/usr/include/c++/12/bits/stl_iterator_base_types.h: +/usr/include/c++/12/bits/stl_iterator_base_funcs.h: +/usr/include/c++/12/bits/concept_check.h: +/usr/include/c++/12/debug/assertions.h: +/usr/include/c++/12/bits/stl_iterator.h: +/usr/include/c++/12/ext/type_traits.h: +/usr/include/c++/12/bits/ptr_traits.h: +/usr/include/c++/12/bits/stl_function.h: +/usr/include/c++/12/backward/binders.h: +/usr/include/c++/12/ext/numeric_traits.h: +/usr/include/c++/12/bits/stl_algobase.h: +/usr/include/c++/12/bits/stl_pair.h: +/usr/include/c++/12/bits/utility.h: +/usr/include/c++/12/debug/debug.h: +/usr/include/c++/12/bits/predefined_ops.h: +/usr/include/c++/12/bits/refwrap.h: +/usr/include/c++/12/bits/invoke.h: +/usr/include/c++/12/bits/range_access.h: +/usr/include/c++/12/initializer_list: +/usr/include/c++/12/bits/basic_string.h: +/usr/include/c++/12/ext/alloc_traits.h: +/usr/include/c++/12/bits/alloc_traits.h: +/usr/include/c++/12/bits/stl_construct.h: +/usr/include/c++/12/string_view: +/usr/include/c++/12/bits/functional_hash.h: +/usr/include/c++/12/bits/hash_bytes.h: +/usr/include/c++/12/bits/string_view.tcc: +/usr/include/c++/12/ext/string_conversions.h: +/usr/include/c++/12/cstdlib: +/usr/include/stdlib.h: +/usr/include/x86_64-linux-gnu/bits/waitflags.h: +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: +/usr/include/x86_64-linux-gnu/sys/types.h: +/usr/include/x86_64-linux-gnu/bits/types/clock_t.h: +/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h: +/usr/include/x86_64-linux-gnu/bits/types/time_t.h: +/usr/include/x86_64-linux-gnu/bits/types/timer_t.h: +/usr/include/endian.h: +/usr/include/x86_64-linux-gnu/bits/byteswap.h: +/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: +/usr/include/x86_64-linux-gnu/sys/select.h: +/usr/include/x86_64-linux-gnu/bits/select.h: +/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h: +/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h: +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: +/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h: +/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: +/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h: +/usr/include/x86_64-linux-gnu/bits/struct_mutex.h: +/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h: +/usr/include/alloca.h: +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: +/usr/include/c++/12/bits/std_abs.h: +/usr/include/c++/12/cstdio: +/usr/include/stdio.h: +/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: +/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h: +/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h: +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: +/usr/include/x86_64-linux-gnu/bits/stdio.h: +/usr/include/c++/12/cerrno: +/usr/include/errno.h: +/usr/include/x86_64-linux-gnu/bits/errno.h: +/usr/include/linux/errno.h: +/usr/include/x86_64-linux-gnu/asm/errno.h: +/usr/include/asm-generic/errno.h: +/usr/include/asm-generic/errno-base.h: +/usr/include/x86_64-linux-gnu/bits/types/error_t.h: +/usr/include/c++/12/bits/charconv.h: +/usr/include/c++/12/bits/basic_string.tcc: +/usr/include/c++/12/ctime: +/usr/include/time.h: +/usr/include/x86_64-linux-gnu/bits/time.h: +/usr/include/x86_64-linux-gnu/bits/timex.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h: +Randomizer.cpp: +../../PACC/Util/Randomizer.hpp: +../../PACC/Util/MTRand.hpp: +/usr/include/c++/12/iostream: +/usr/include/c++/12/ostream: +/usr/include/c++/12/ios: +/usr/include/c++/12/exception: +/usr/include/c++/12/bits/exception_ptr.h: +/usr/include/c++/12/bits/cxxabi_init_exception.h: +/usr/include/c++/12/typeinfo: +/usr/include/c++/12/bits/nested_exception.h: +/usr/include/c++/12/bits/ios_base.h: +/usr/include/c++/12/ext/atomicity.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/gthr.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/gthr-default.h: +/usr/include/pthread.h: +/usr/include/sched.h: +/usr/include/x86_64-linux-gnu/bits/sched.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h: +/usr/include/x86_64-linux-gnu/bits/cpu-set.h: +/usr/include/x86_64-linux-gnu/bits/setjmp.h: +/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h: +/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/atomic_word.h: +/usr/include/x86_64-linux-gnu/sys/single_threaded.h: +/usr/include/c++/12/bits/locale_classes.h: +/usr/include/c++/12/bits/locale_classes.tcc: +/usr/include/c++/12/system_error: +/usr/include/x86_64-linux-gnu/c++/12/bits/error_constants.h: +/usr/include/c++/12/stdexcept: +/usr/include/c++/12/streambuf: +/usr/include/c++/12/bits/streambuf.tcc: +/usr/include/c++/12/bits/basic_ios.h: +/usr/include/c++/12/bits/locale_facets.h: +/usr/include/c++/12/cwctype: +/usr/include/wctype.h: +/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/ctype_base.h: +/usr/include/c++/12/bits/streambuf_iterator.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/ctype_inline.h: +/usr/include/c++/12/bits/locale_facets.tcc: +/usr/include/c++/12/bits/basic_ios.tcc: +/usr/include/c++/12/bits/ostream.tcc: +/usr/include/c++/12/istream: +/usr/include/c++/12/bits/istream.tcc: +/usr/lib/gcc/x86_64-linux-gnu/12/include/limits.h: +/usr/lib/gcc/x86_64-linux-gnu/12/include/syslimits.h: +/usr/include/limits.h: +/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: +/usr/include/x86_64-linux-gnu/bits/local_lim.h: +/usr/include/linux/limits.h: +/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: +/usr/include/x86_64-linux-gnu/bits/xopen_lim.h: +/usr/include/x86_64-linux-gnu/bits/uio_lim.h: +/usr/include/c++/12/math.h: +/usr/include/c++/12/cmath: +/usr/include/math.h: +/usr/include/x86_64-linux-gnu/bits/math-vector.h: +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: +/usr/include/x86_64-linux-gnu/bits/flt-eval-method.h: +/usr/include/x86_64-linux-gnu/bits/fp-logb.h: +/usr/include/x86_64-linux-gnu/bits/fp-fast.h: +/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h: +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: +/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h: +/usr/include/x86_64-linux-gnu/bits/iscanonical.h: +/usr/include/c++/12/bits/specfun.h: +/usr/include/c++/12/limits: +/usr/include/c++/12/tr1/gamma.tcc: +/usr/include/c++/12/tr1/special_function_util.h: +/usr/include/c++/12/tr1/bessel_function.tcc: +/usr/include/c++/12/tr1/beta_function.tcc: +/usr/include/c++/12/tr1/ell_integral.tcc: +/usr/include/c++/12/tr1/exp_integral.tcc: +/usr/include/c++/12/tr1/hypergeometric.tcc: +/usr/include/c++/12/tr1/legendre_function.tcc: +/usr/include/c++/12/tr1/modified_bessel_func.tcc: +/usr/include/c++/12/tr1/poly_hermite.tcc: +/usr/include/c++/12/tr1/poly_laguerre.tcc: +/usr/include/c++/12/tr1/riemann_zeta.tcc: +/usr/include/c++/12/vector: +/usr/include/c++/12/bits/stl_uninitialized.h: +/usr/include/c++/12/bits/stl_vector.h: +/usr/include/c++/12/bits/stl_bvector.h: +/usr/include/c++/12/bits/vector.tcc: +/usr/include/c++/12/sstream: +/usr/include/c++/12/bits/sstream.tcc: +SignalHandler.cpp: +../../PACC/Util/SignalHandler.hpp: +/usr/include/c++/12/stack: +/usr/include/c++/12/deque: +/usr/include/c++/12/bits/stl_deque.h: +/usr/include/c++/12/bits/deque.tcc: +/usr/include/c++/12/bits/stl_stack.h: +/usr/include/c++/12/bits/uses_allocator.h: +/usr/include/signal.h: +/usr/include/x86_64-linux-gnu/bits/signum-generic.h: +/usr/include/x86_64-linux-gnu/bits/signum-arch.h: +/usr/include/x86_64-linux-gnu/bits/types/sig_atomic_t.h: +/usr/include/x86_64-linux-gnu/bits/types/siginfo_t.h: +/usr/include/x86_64-linux-gnu/bits/types/__sigval_t.h: +/usr/include/x86_64-linux-gnu/bits/siginfo-arch.h: +/usr/include/x86_64-linux-gnu/bits/siginfo-consts.h: +/usr/include/x86_64-linux-gnu/bits/siginfo-consts-arch.h: +/usr/include/x86_64-linux-gnu/bits/types/sigval_t.h: +/usr/include/x86_64-linux-gnu/bits/types/sigevent_t.h: +/usr/include/x86_64-linux-gnu/bits/sigevent-consts.h: +/usr/include/x86_64-linux-gnu/bits/sigaction.h: +/usr/include/x86_64-linux-gnu/bits/sigcontext.h: +/usr/include/x86_64-linux-gnu/bits/types/stack_t.h: +/usr/include/x86_64-linux-gnu/sys/ucontext.h: +/usr/include/x86_64-linux-gnu/bits/sigstack.h: +/usr/include/x86_64-linux-gnu/bits/sigstksz.h: +/usr/include/unistd.h: +/usr/include/x86_64-linux-gnu/bits/posix_opt.h: +/usr/include/x86_64-linux-gnu/bits/environments.h: +/usr/include/x86_64-linux-gnu/bits/confname.h: +/usr/include/x86_64-linux-gnu/bits/getopt_posix.h: +/usr/include/x86_64-linux-gnu/bits/getopt_core.h: +/usr/include/x86_64-linux-gnu/bits/unistd_ext.h: +/usr/include/linux/close_range.h: +/usr/include/x86_64-linux-gnu/bits/ss_flags.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_sigstack.h: +/usr/include/x86_64-linux-gnu/bits/sigthread.h: +/usr/include/x86_64-linux-gnu/bits/signal_ext.h: +../../PACC/Util/Assert.hpp: +Timer.cpp: +../../PACC/Util/Timer.hpp: +/usr/include/x86_64-linux-gnu/sys/time.h: +Tokenizer.cpp: +../../PACC/Util/Tokenizer.hpp: +/usr/include/string.h: +/usr/include/strings.h: diff --git a/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util-1.3.1b.so b/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util-1.3.1b.so new file mode 100755 index 0000000..c30f168 Binary files /dev/null and b/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util-1.3.1b.so differ diff --git a/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util.a b/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util.a new file mode 100644 index 0000000..c4a2095 Binary files /dev/null and b/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util.a differ diff --git a/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util.la b/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util.la new file mode 120000 index 0000000..043773b --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util.la @@ -0,0 +1 @@ +../libpacc-util.la \ No newline at end of file diff --git a/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util.lai b/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util.lai new file mode 100644 index 0000000..077380a --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util.lai @@ -0,0 +1,41 @@ +# libpacc-util.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-5 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libpacc-util-1.3.1b.so' + +# Names of this library. +library_names='libpacc-util-1.3.1b.so libpacc-util-1.3.1b.so libpacc-util.so' + +# The name of the static archive. +old_library='libpacc-util.a' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -L/usr/lib -lz' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libpacc-util. +current=0 +age=0 +revision=0 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/local/lib' diff --git a/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util.o b/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util.o new file mode 100644 index 0000000..bc0a498 Binary files /dev/null and b/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util.o differ diff --git a/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util.so b/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util.so new file mode 120000 index 0000000..b2e798e --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/.libs/libpacc-util.so @@ -0,0 +1 @@ +libpacc-util-1.3.1b.so \ No newline at end of file diff --git a/lib/beagle-3.0.3/PACC/Util/Assert.hpp b/lib/beagle-3.0.3/PACC/Util/Assert.hpp new file mode 100644 index 0000000..728c72b --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/Assert.hpp @@ -0,0 +1,85 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2004 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Util/Assert.hpp + * \brief Assert macro. + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + + This macro can be used to assert the validity of a boolean condition + (first argument: \c COND). If the expression is true nothing happens. Otherwise, + an error message (second argument: \c MESSAGE) is outputted with the file name and line + number where the macro was executed, and the program exits. On Unix, the + message is send to the standard error stream (std::cerr). On windows, a popup + (message box) is created with the error message. + */ + +#ifndef PACC_Assert_hpp +#define PACC_Assert_hpp + +#ifndef PACC_NDEBUG +#ifdef WIN32 +/////// for Windows, pop a message box /////// +#include +#include +#ifndef UNICODE +#define PACC_AssertM(COND,MESSAGE) \ +if(!(COND)) { \ + std::ostringstream lStream; \ + lStream << __FILE__ << ":" << __LINE__ << "\n" << MESSAGE; \ + ::MessageBox(NULL, lStream.str().c_str(), "PACC assert error!", MB_ICONERROR | MB_OK); \ + exit(-1); \ +} +#else +#define PACC_AssertM(COND,MESSAGE) \ +if(!(COND)) { \ + std::wostringstream lStream; \ + lStream << __FILE__ << ":" << __LINE__ << "\n" << MESSAGE; \ + ::MessageBox(NULL, lStream.str().c_str(), L"PACC assert error!", MB_ICONERROR | MB_OK); \ + exit(-1); \ +} +#endif + +#else +/////// otherwise, output message to console /////// +#include +#define PACC_AssertM(COND,MESSAGE) \ +if(!(COND)) { \ + std::cerr << "\n***** PACC assert failed *****\nin "; \ + std::cerr << __FILE__ << ":" << __LINE__ << "\n" << MESSAGE; \ + std::cerr << "\n******************************" << endl; \ + exit(-1); \ +} +#endif // WIN32 + +#else // PACC_NDEBUG +#define PACC_AssertM(COND,MESSAGE) +#endif + +#endif // PACC_Assert_hpp diff --git a/lib/beagle-3.0.3/PACC/Util/Date.cpp b/lib/beagle-3.0.3/PACC/Util/Date.cpp new file mode 100644 index 0000000..0241a54 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/Date.cpp @@ -0,0 +1,199 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2004 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Util/Date.cpp + * \brief Class methods for the portable time and date. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.6.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#include "Util/Date.hpp" + +using namespace std; +using namespace PACC; + +//! Construct with specified date \c inYear, \c inMonth, and \c inDay. +Date::Date(unsigned int inYear, unsigned int inMonth, unsigned int inDay) : mTime(0) +{ + setDate(inYear, inMonth, inDay); + setTime(0, 0, 0); +} + +//! Return formatted date and time using the std::strftime string format \c inFormat. +std::string Date::get(const string& inFormat) const +{ +#ifdef WIN32 + struct tm& lTime = *::localtime(&mTime); +#else + struct tm lTime; + ::localtime_r(&mTime, &lTime); +#endif + int lBufSize = 128; + char* lBuffer = new char[lBufSize]; + while(::strftime(lBuffer, lBufSize, inFormat.c_str(), &lTime) == 0) { + // buffer needs to be enlarged + delete[] lBuffer; + lBuffer = new char[lBufSize*=2]; + } + string lDate(lBuffer); + delete[] lBuffer; + return lDate; +} + +//! Return day of month for this date (1-31). +unsigned int Date::getDayOfMonth(void) const +{ +#ifdef WIN32 + struct tm& lTime = *::localtime(&mTime); +#else + struct tm lTime; + ::localtime_r(&mTime, &lTime); +#endif + return lTime.tm_mday; +} + +//! Return day of week for this date (sunday=0-6). +unsigned int Date::getDayOfWeek(void) const +{ +#ifdef WIN32 + struct tm& lTime = *::localtime(&mTime); +#else + struct tm lTime; + ::localtime_r(&mTime, &lTime); +#endif + return lTime.tm_wday; +} + +//! Return day of year for this date (1-365). +unsigned int Date::getDayOfYear(void) const +{ +#ifdef WIN32 + struct tm& lTime = *::localtime(&mTime); +#else + struct tm lTime; + ::localtime_r(&mTime, &lTime); +#endif + return lTime.tm_yday+1; +} + +//! Return hour of day for this date (0-23). +unsigned int Date::getHourOfDay(void) const +{ +#ifdef WIN32 + struct tm& lTime = *::localtime(&mTime); +#else + struct tm lTime; + ::localtime_r(&mTime, &lTime); +#endif + return lTime.tm_hour; +} + +//! Return minutes of hour for this date (0-59). +unsigned int Date::getMinutesOfHour(void) const +{ +#ifdef WIN32 + struct tm& lTime = *::localtime(&mTime); +#else + struct tm lTime; + ::localtime_r(&mTime, &lTime); +#endif + return lTime.tm_min; +} + +//! Return seconds of minutes for this date (0-59). +double Date::getSecondsOfMinute(void) const +{ +#ifdef WIN32 + struct tm& lTime = *::localtime(&mTime); +#else + struct tm lTime; + ::localtime_r(&mTime, &lTime); +#endif + return lTime.tm_sec; +} + +//! Return month of year for this date (1-12). +unsigned int Date::getMonthOfYear(void) const +{ +#ifdef WIN32 + struct tm& lTime = *::localtime(&mTime); +#else + struct tm lTime; + ::localtime_r(&mTime, &lTime); +#endif + return lTime.tm_mon+1; +} + +//! Return this date expressed in seconds since January 1st, 1970. +unsigned int Date::getTimeInSeconds(void) const +{ + return mTime; +} + +//! Return year of this date. +unsigned int Date::getYear(void) const +{ +#ifdef WIN32 + struct tm& lTime = *::localtime(&mTime); +#else + struct tm lTime; + ::localtime_r(&mTime, &lTime); +#endif + return lTime.tm_year+1900; +} + +//! Set date to year \c inyear, month \c inMonth, and day \c inDay (time is unchanged). +void Date::setDate(unsigned int inYear, unsigned int inMonth, unsigned int inDay) +{ +#ifdef WIN32 + struct tm& lTime = *::localtime(&mTime); +#else + struct tm lTime; + ::localtime_r(&mTime, &lTime); +#endif + lTime.tm_year = inYear-1900; + lTime.tm_mon = inMonth-1; + lTime.tm_mday = inDay; + mTime = ::mktime(&lTime); +} + +//! Set time to \c inHour hour, \c inMinutes minutes, and \c inSeconds seconds (date is unchanged). +void Date::setTime(unsigned int inHour, unsigned int inMinutes, unsigned int inSeconds) +{ +#ifdef WIN32 + struct tm& lTime = *::localtime(&mTime); +#else + struct tm lTime; + ::localtime_r(&mTime, &lTime); +#endif + lTime.tm_hour = inHour; + lTime.tm_min = inMinutes; + lTime.tm_sec = inSeconds; + mTime = ::mktime(&lTime); +} diff --git a/lib/beagle-3.0.3/PACC/Util/Date.hpp b/lib/beagle-3.0.3/PACC/Util/Date.hpp new file mode 100644 index 0000000..866bead --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/Date.hpp @@ -0,0 +1,134 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2004 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Util/Date.hpp + * \brief Class definition for the portable time and date. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_Date_hpp +#define PACC_Date_hpp + +#include +#include + +namespace PACC +{ + +using namespace std; + +/*! \brief Portable time and date class. +\author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval +\ingroup Util +*/ +class Date +{ +public: + + //! Construct using current system date and time. + Date(void) : mTime(::time(0)) + {} + + //! Construct from \c inSeconds seconds since January 1st, 1970. + explicit Date(unsigned int inSeconds) : mTime(inSeconds) + {} + + // Construct with specified date. + Date(unsigned int inYear, unsigned int inMonth, unsigned int inDay); + + + //! Return number of seconds between this date and date \c inDate. + unsigned int operator-(const Date& inDate) const + { + return mTime-inDate.mTime; + } + + //! Return this date less \c inSeconds seconds. + Date operator-(unsigned int inSeconds) const + { + Date lDate(mTime); + return lDate -= inSeconds; + } + + //! Remove \c inSeconds seconds from this date. + Date& operator-=(unsigned int inSeconds) + { + mTime -= inSeconds; + return *this; + } + + //! Return this date plus \c inSeconds seconds. + Date operator+(unsigned int inSeconds) const + { + Date lDate(mTime); + return lDate += inSeconds; + } + + //! Add \c inSeconds seconds to this date. + Date& operator+=(unsigned int inSeconds) + { + mTime += inSeconds; + return *this; + } + + // Return formatted date and time using the std::strftime string format \c inFormat. + string get(const string& inFormat = "%a %b %d %T %Z %Y") const; + // Return day of month for this date (1-31). + unsigned int getDayOfMonth(void) const; + // Return day of week for this date (sunday=0-6). + unsigned int getDayOfWeek(void) const; + // Return day of year for this date (1-365). + unsigned int getDayOfYear(void) const; + // Return hour of day for this date (0-23). + unsigned int getHourOfDay(void) const; + // Return minutes of hour for this date (0-59). + unsigned int getMinutesOfHour(void) const; + // Return seconds of minutes for this date (0-59). + double getSecondsOfMinute(void) const; + // Return month of year for this date (1-12). + unsigned int getMonthOfYear(void) const; + // Return this date expressed in seconds since January 1st, 1970. + unsigned int getTimeInSeconds(void) const; + // Return year of this date. + unsigned int getYear(void) const; + // Set date to year \c inyear, month \c inMonth, and day \c inDay (time is unchanged). + void setDate(unsigned int inYear, unsigned int inMonth, unsigned int inDay); + // Set time to \c inHour hour, \c inMinutes minutes, and \c inSeconds seconds (date is unchanged). + void setTime(unsigned int inHour, unsigned int inMinutes, unsigned int inSeconds); + +protected: + + time_t mTime; //!< Number of seconds since Jan 1st, 1970. + +}; + +} // end of PACC namespace + +#endif // PACC_Date_hpp diff --git a/lib/beagle-3.0.3/PACC/Util/MTRand.hpp b/lib/beagle-3.0.3/PACC/Util/MTRand.hpp new file mode 100644 index 0000000..08df1bc --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/MTRand.hpp @@ -0,0 +1,441 @@ +// MTRand.hpp +// Mersenne Twister random number generator -- a C++ class MTRand +// Based on code by Makoto Matsumoto, Takuji Nishimura, and Shawn Cokus +// Richard J. Wagner v1.0 15 May 2003 rjwagner@writeme.com + +// The Mersenne Twister is an algorithm for generating random numbers. It +// was designed with consideration of the flaws in various other generators. +// The period, 2^19937-1, and the order of equidistribution, 623 dimensions, +// are far greater. The generator is also fast; it avoids multiplication and +// division, and it benefits from caches and pipelines. For more information +// see the inventors' web page at http://www.math.keio.ac.jp/~matumoto/emt.html + +// Reference +// M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-Dimensionally +// Equidistributed Uniform Pseudo-Random Number Generator", ACM Transactions on +// Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30. + +// Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, +// Copyright (C) 2000 - 2003, Richard J. Wagner +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. The names of its contributors may not be used to endorse or promote +// products derived from this software without specific prior written +// permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// The original code included the following notice: +// +// When you use this, send an email to: matumoto@math.keio.ac.jp +// with an appropriate reference to your work. +// +// It would be nice to CC: rjwagner@writeme.com and Cokus@math.washington.edu +// when you write. + +#ifndef MersenneTwister_hpp_ +#define MersenneTwister_hpp_ + +#include +#include +#include +#include +#include + +//! \brief Mersenne Twister random number generator +//! \ingroup Util +//! +//! Based on code by Makoto Matsumoto, Takuji Nishimura, and Shawn Cokus\n +//! Richard J. Wagner, v1.0 15 May 2003 . +//! +//! Not thread safe (unless auto-initialization is avoided and each thread has +//! its own MTRand object). +class MTRand { + // Data + public: + typedef unsigned long uint32; //!< unsigned integer type, at least 32 bits + + //! length of state vector + enum { N = 624 }; + //! length of array for save() + enum { SAVE = N + 1 }; + + protected: + //! period parameter + enum { M = 397 }; + + uint32 state[N]; //!< internal state + uint32 *pNext; //!< next value to get from state + int left; //!< number of values left before reload needed + + + //Methods + public: + //! initialize with a simple uint32 + MTRand(const uint32& oneSeed); + //! initialize with an array of uint32 + MTRand(const uint32 *const bigSeed, uint32 const seedLength = N ); + /*! \brief auto-initialize with /dev/urandom or time() and clock() + + Do NOT use for CRYPTOGRAPHY without securely hashing several returned + values together, otherwise the generator state can be learned after + reading 624 consecutive values. + */ + MTRand(void); + + // Access to 32-bit random numbers + double rand(void); //!< real number in [0,1] + double rand(const double& n); //!< real number in [0,n] + double randExc(void); //!< real number in [0,1) + double randExc(const double& n); //!< real number in [0,n) + double randDblExc(void); //!< real number in (0,1) + double randDblExc(const double& n); //!< real number in (0,n) + uint32 randInt(void); //!< integer in [0,2^32-1] + uint32 randInt(const uint32& n); //!< integer in [0,n] for n < 2^32 + double operator()(void) {return rand();}//!< same as rand() + + //! 53-bit real number in [0,1) (capacity of IEEE double precision) + double rand53(); // + + //! Access to nonuniform random number distributions + double randNorm( const double& mean = 0.0, const double& variance = 0.0 ); + + //! Re-seeding functions with same behavior as initializers + void seed( const uint32 oneSeed ); + //! Re-seeding functions with same behavior as initializers + void seed( const uint32 *const bigSeed, const uint32 seedLength = N ); + //! Re-seeding functions with same behavior as initializers + void seed(); + + //! Saving and loading generator state + void save( uint32* saveArray ) const; // to array of size SAVE + //! Saving and loading generator state + void load( uint32 *const loadArray ); // from such array + + friend std::ostream& operator<<( std::ostream& os, const MTRand& mtrand ); + friend std::istream& operator>>( std::istream& is, MTRand& mtrand ); + + protected: + void initialize( const uint32 oneSeed ); + void reload(); + uint32 hiBit( const uint32& u ) const { return u & 0x80000000UL; } + uint32 loBit( const uint32& u ) const { return u & 0x00000001UL; } + uint32 loBits( const uint32& u ) const { return u & 0x7fffffffUL; } + uint32 mixBits( const uint32& u, const uint32& v ) const + { return hiBit(u) | loBits(v); } + uint32 twist( const uint32& m, const uint32& s0, const uint32& s1 ) const + { return m ^ (mixBits(s0,s1)>>1) ^ (-loBit(s1) & 0x9908b0dfUL); } + static uint32 hash( time_t t, clock_t c ); +}; + + +inline MTRand::MTRand( const uint32& oneSeed ) +{ seed(oneSeed); } + +inline MTRand::MTRand( const uint32 *const bigSeed, const uint32 seedLength ) +{ seed(bigSeed,seedLength); } + +inline MTRand::MTRand() +{ seed(); } + +inline double MTRand::rand() +{ return double(randInt()) * (1.0/4294967295.0); } + +inline double MTRand::rand( const double& n ) +{ return rand() * n; } + +inline double MTRand::randExc() +{ return double(randInt()) * (1.0/4294967296.0); } + +inline double MTRand::randExc( const double& n ) +{ return randExc() * n; } + +inline double MTRand::randDblExc() +{ return ( double(randInt()) + 0.5 ) * (1.0/4294967296.0); } + +inline double MTRand::randDblExc( const double& n ) +{ return randDblExc() * n; } + +inline double MTRand::rand53() +{ + uint32 a = randInt() >> 5, b = randInt() >> 6; + return ( a * 67108864.0 + b ) * (1.0/9007199254740992.0); // by Isaku Wada +} + +inline double MTRand::randNorm( const double& mean, const double& variance ) +{ + // Return a real number from a normal (Gaussian) distribution with given + // mean and variance by Box-Muller method + // see http://www.dspguru.com/howto/tech/wgn2.htm + // Added by M. Parizeau: the variance argument is in fact a standard deviation + double r = sqrt( -2.0 * log( 1.0-randDblExc()) ) * variance; + double phi = 2.0 * 3.14159265358979323846264338328 * randExc(); + return mean + r * cos(phi); +} + +inline MTRand::uint32 MTRand::randInt() +{ + // Pull a 32-bit integer from the generator state + // Every other access function simply transforms the numbers extracted here + + if( left == 0 ) reload(); + --left; + + register uint32 s1; + s1 = *pNext++; + s1 ^= (s1 >> 11); + s1 ^= (s1 << 7) & 0x9d2c5680UL; + s1 ^= (s1 << 15) & 0xefc60000UL; + return ( s1 ^ (s1 >> 18) ); +} + +inline MTRand::uint32 MTRand::randInt( const uint32& n ) +{ + // Find which bits are used in n + // Optimized by Magnus Jonsson (magnus@smartelectronix.com) + uint32 used = n; + used |= used >> 1; + used |= used >> 2; + used |= used >> 4; + used |= used >> 8; + used |= used >> 16; + + // Draw numbers until one is found in [0,n] + uint32 i; + do + i = randInt() & used; // toss unused bits to shorten search + while( i > n ); + return i; +} + + +inline void MTRand::seed( const uint32 oneSeed ) +{ + // Seed the generator with a simple uint32 + initialize(oneSeed); + reload(); +} + + +inline void MTRand::seed( const uint32 *const bigSeed, const uint32 seedLength ) +{ + // Seed the generator with an array of uint32's + // There are 2^19937-1 possible initial states. This function allows + // all of those to be accessed by providing at least 19937 bits (with a + // default seed length of N = 624 uint32's). Any bits above the lower 32 + // in each element are discarded. + // Just call seed() if you want to get array from /dev/urandom + initialize(19650218UL); + register int i = 1; + register uint32 j = 0; + register int k = ( (uint32)N > seedLength ? (uint32)N : seedLength ); + for( ; k; --k ) + { + state[i] = + state[i] ^ ( (state[i-1] ^ (state[i-1] >> 30)) * 1664525UL ); + state[i] += ( bigSeed[j] & 0xffffffffUL ) + j; + state[i] &= 0xffffffffUL; + ++i; ++j; + if( i >= N ) { state[0] = state[N-1]; i = 1; } + if( j >= seedLength ) j = 0; + } + for( k = N - 1; k; --k ) + { + state[i] = + state[i] ^ ( (state[i-1] ^ (state[i-1] >> 30)) * 1566083941UL ); + state[i] -= i; + state[i] &= 0xffffffffUL; + ++i; + if( i >= N ) { state[0] = state[N-1]; i = 1; } + } + state[0] = 0x80000000UL; // MSB is 1, assuring non-zero initial array + reload(); +} + + +inline void MTRand::seed(void) +{ + // Seed the generator with an array from /dev/urandom if available + // Otherwise use a hash of time() and clock() values + + // First try getting an array from /dev/urandom + FILE* urandom = fopen( "/dev/urandom", "rb" ); + if( urandom ) + { + uint32 bigSeed[N]; + register uint32 *s = bigSeed; + register int i = N; + register bool success = true; + while( success && i-- ) + success = fread( s++, sizeof(uint32), 1, urandom ); + fclose(urandom); + if( success ) { seed( bigSeed, N ); return; } + } + + // Was not successful, so use time() and clock() instead + seed( hash( time(NULL), clock() ) ); +} + + +inline void MTRand::initialize( const uint32 inSeed ) +{ + // Initialize generator state with seed + // See Knuth TAOCP Vol 2, 3rd Ed, p.106 for multiplier. + // In previous versions, most significant bits (MSBs) of the seed affect + // only MSBs of the state array. Modified 9 Jan 2002 by Makoto Matsumoto. + register uint32 *s = state; + register uint32 *r = state; + register int i = 1; + *s++ = inSeed & 0xffffffffUL; + for( ; i < N; ++i ) + { + *s++ = ( 1812433253UL * ( *r ^ (*r >> 30) ) + i ) & 0xffffffffUL; + r++; + } +} + + +inline void MTRand::reload(void) +{ + // Generate N new values in state + // Made clearer and faster by Matthew Bellew (matthew.bellew@home.com) + register uint32 *p = state; + register int i; + for( i = N - M; i--; ++p ) + *p = twist( p[M], p[0], p[1] ); + for( i = M; --i; ++p ) + *p = twist( p[M-N], p[0], p[1] ); + *p = twist( p[M-N], p[0], state[0] ); + + left = N, pNext = state; +} + + +inline MTRand::uint32 MTRand::hash( time_t t, clock_t c ) +{ + // Get a uint32 from t and c + // Better than uint32(x) in case x is floating point in [0,1] + // Based on code by Lawrence Kirby (fred@genesis.demon.co.uk) + + static uint32 differ = 0; // guarantee time-based seeds will change + + uint32 h1 = 0; + unsigned char *p = (unsigned char *) &t; + for( size_t i = 0; i < sizeof(t); ++i ) + { + h1 *= UCHAR_MAX + 2U; + h1 += p[i]; + } + uint32 h2 = 0; + p = (unsigned char *) &c; + for( size_t j = 0; j < sizeof(c); ++j ) + { + h2 *= UCHAR_MAX + 2U; + h2 += p[j]; + } + return ( h1 + differ++ ) ^ h2; +} + + +inline void MTRand::save( uint32* saveArray ) const +{ + register uint32 *sa = saveArray; + register const uint32 *s = state; + register int i = N; + for( ; i--; *sa++ = *s++ ) {} + *sa = left; +} + + +inline void MTRand::load( uint32 *const loadArray ) +{ + register uint32 *s = state; + register uint32 *la = loadArray; + register int i = N; + for( ; i--; *s++ = *la++ ) {} + left = *la; + pNext = &state[N-left]; +} + + +inline std::ostream& operator<<( std::ostream& os, const MTRand& mtrand ) +{ + register const MTRand::uint32 *s = mtrand.state; + register int i = mtrand.N; + for( ; i--; os << *s++ << "\t" ) {} + return os << mtrand.left; +} + + +inline std::istream& operator>>( std::istream& is, MTRand& mtrand ) +{ + register MTRand::uint32 *s = mtrand.state; + register int i = mtrand.N; + for( ; i--; is >> *s++ ) {} + is >> mtrand.left; + mtrand.pNext = &mtrand.state[mtrand.N-mtrand.left]; + return is; +} + +#endif // MersenneTwister_hpp_ + +// Change log: +// +// v0.1 - First release on 15 May 2000 +// - Based on code by Makoto Matsumoto, Takuji Nishimura, and Shawn Cokus +// - Translated from C to C++ +// - Made completely ANSI compliant +// - Designed convenient interface for initialization, seeding, and +// obtaining numbers in default or user-defined ranges +// - Added automatic seeding from /dev/urandom or time() and clock() +// - Provided functions for saving and loading generator state +// +// v0.2 - Fixed bug which reloaded generator one step too late +// +// v0.3 - Switched to clearer, faster reload() code from Matthew Bellew +// +// v0.4 - Removed trailing newline in saved generator format to be consistent +// with output format of built-in types +// +// v0.5 - Improved portability by replacing static const int's with enum's and +// clarifying return values in seed(); suggested by Eric Heimburg +// - Removed MAXINT constant; use 0xffffffffUL instead +// +// v0.6 - Eliminated seed overflow when uint32 is larger than 32 bits +// - Changed integer [0,n] generator to give better uniformity +// +// v0.7 - Fixed operator precedence ambiguity in reload() +// - Added access for real numbers in (0,1) and (0,n) +// +// v0.8 - Included time.h header to properly support time_t and clock_t +// +// v1.0 - Revised seeding to match 26 Jan 2002 update of Nishimura and Matsumoto +// - Allowed for seeding with arrays of any length +// - Added access for real numbers in [0,1) with 53-bit resolution +// - Added access for real numbers from normal (Gaussian) distributions +// - Increased overall speed by optimizing twist() +// - Doubled speed of integer [0,n] generation +// - Fixed out-of-range number generation on 64-bit machines +// - Improved portability by substituting literal constants for long enum's +// - Changed license from GNU LGPL to BSD diff --git a/lib/beagle-3.0.3/PACC/Util/Makefile b/lib/beagle-3.0.3/PACC/Util/Makefile new file mode 100644 index 0000000..f64f2bc --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/Makefile @@ -0,0 +1,766 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# PACC/Util/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = PACC/Util +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(paccutil_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccutildir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libpacc_util_la_LIBADD = +am__libpacc_util_la_SOURCES_DIST = Date.cpp Randomizer.cpp \ + SignalHandler.cpp Timer.cpp Tokenizer.cpp +am__objects_1 = Date.lo Randomizer.lo SignalHandler.lo Timer.lo \ + Tokenizer.lo +#am_libpacc_util_la_OBJECTS = $(am__objects_1) +nodist_libpacc_util_la_OBJECTS = \ + libpacc-util.lo +libpacc_util_la_OBJECTS = $(am_libpacc_util_la_OBJECTS) \ + $(nodist_libpacc_util_la_OBJECTS) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +libpacc_util_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libpacc_util_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/Date.Plo ./$(DEPDIR)/Randomizer.Plo \ + ./$(DEPDIR)/SignalHandler.Plo ./$(DEPDIR)/Timer.Plo \ + ./$(DEPDIR)/Tokenizer.Plo ./$(DEPDIR)/libpacc-util.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libpacc_util_la_SOURCES) $(nodist_libpacc_util_la_SOURCES) +DIST_SOURCES = $(am__libpacc_util_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +HEADERS = $(paccutil_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/PACC/Util +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/PACC/Util +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +PACC_UTIL_SRC_VAR = \ +Date.cpp \ +Randomizer.cpp \ +SignalHandler.cpp \ +Timer.cpp \ +Tokenizer.cpp + +paccutildir = $(includedir)/Util +paccutil_HEADERS = \ +Assert.hpp \ +Date.hpp \ +MTRand.hpp \ +Randomizer.hpp \ +RandomPermutation.hpp \ +SignalHandler.hpp \ +StringFunc.hpp \ +Timer.hpp \ +Tokenizer.hpp + +lib_LTLIBRARIES = libpacc-util.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_util_la_LDFLAGS = -no-undefined -release 1.3.1b +nodist_libpacc_util_la_SOURCES = libpacc-util.cpp +#libpacc_util_la_SOURCES = $(PACC_UTIL_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu PACC/Util/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu PACC/Util/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libpacc-util.la: $(libpacc_util_la_OBJECTS) $(libpacc_util_la_DEPENDENCIES) $(EXTRA_libpacc_util_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libpacc_util_la_LINK) -rpath $(libdir) $(libpacc_util_la_OBJECTS) $(libpacc_util_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/Date.Plo # am--include-marker +include ./$(DEPDIR)/Randomizer.Plo # am--include-marker +include ./$(DEPDIR)/SignalHandler.Plo # am--include-marker +include ./$(DEPDIR)/Timer.Plo # am--include-marker +include ./$(DEPDIR)/Tokenizer.Plo # am--include-marker +include ./$(DEPDIR)/libpacc-util.Plo # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-paccutilHEADERS: $(paccutil_HEADERS) + @$(NORMAL_INSTALL) + @list='$(paccutil_HEADERS)'; test -n "$(paccutildir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(paccutildir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(paccutildir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(paccutildir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(paccutildir)" || exit $$?; \ + done + +uninstall-paccutilHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(paccutil_HEADERS)'; test -n "$(paccutildir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(paccutildir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccutildir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +#clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/Date.Plo + -rm -f ./$(DEPDIR)/Randomizer.Plo + -rm -f ./$(DEPDIR)/SignalHandler.Plo + -rm -f ./$(DEPDIR)/Timer.Plo + -rm -f ./$(DEPDIR)/Tokenizer.Plo + -rm -f ./$(DEPDIR)/libpacc-util.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-paccutilHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/Date.Plo + -rm -f ./$(DEPDIR)/Randomizer.Plo + -rm -f ./$(DEPDIR)/SignalHandler.Plo + -rm -f ./$(DEPDIR)/Timer.Plo + -rm -f ./$(DEPDIR)/Tokenizer.Plo + -rm -f ./$(DEPDIR)/libpacc-util.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES uninstall-paccutilHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-paccutilHEADERS install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am uninstall-libLTLIBRARIES \ + uninstall-paccutilHEADERS + +.PRECIOUS: Makefile + +libpacc-util.cpp: + rm -f libpacc-util.cpp + echo "// Generated automatically by make" > libpacc-util.cpp + echo >> libpacc-util.cpp + echo $(PACC_UTIL_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-util.cpp + +clean-generic: + rm -f libpacc-util.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/PACC/Util/Makefile.am b/lib/beagle-3.0.3/PACC/Util/Makefile.am new file mode 100644 index 0000000..4372703 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/Makefile.am @@ -0,0 +1,34 @@ +PACC_UTIL_SRC_VAR = \ +Date.cpp \ +Randomizer.cpp \ +SignalHandler.cpp \ +Timer.cpp \ +Tokenizer.cpp +paccutildir = $(includedir)/Util +paccutil_HEADERS = \ +Assert.hpp \ +Date.hpp \ +MTRand.hpp \ +Randomizer.hpp \ +RandomPermutation.hpp \ +SignalHandler.hpp \ +StringFunc.hpp \ +Timer.hpp \ +Tokenizer.hpp +lib_LTLIBRARIES = libpacc-util.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_util_la_LDFLAGS = -no-undefined -release @PACC_VERSION@ +if FAST_COMPILATION +libpacc-util.cpp: + rm -f libpacc-util.cpp + echo "// Generated automatically by make" > libpacc-util.cpp + echo >> libpacc-util.cpp + echo $(PACC_UTIL_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-util.cpp + +clean-generic: + rm -f libpacc-util.cpp + +nodist_libpacc_util_la_SOURCES = libpacc-util.cpp +else +libpacc_util_la_SOURCES = $(PACC_UTIL_SRC_VAR) +endif diff --git a/lib/beagle-3.0.3/PACC/Util/Makefile.in b/lib/beagle-3.0.3/PACC/Util/Makefile.in new file mode 100644 index 0000000..5043518 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/Makefile.in @@ -0,0 +1,766 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = PACC/Util +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(paccutil_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccutildir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libpacc_util_la_LIBADD = +am__libpacc_util_la_SOURCES_DIST = Date.cpp Randomizer.cpp \ + SignalHandler.cpp Timer.cpp Tokenizer.cpp +am__objects_1 = Date.lo Randomizer.lo SignalHandler.lo Timer.lo \ + Tokenizer.lo +@FAST_COMPILATION_FALSE@am_libpacc_util_la_OBJECTS = $(am__objects_1) +@FAST_COMPILATION_TRUE@nodist_libpacc_util_la_OBJECTS = \ +@FAST_COMPILATION_TRUE@ libpacc-util.lo +libpacc_util_la_OBJECTS = $(am_libpacc_util_la_OBJECTS) \ + $(nodist_libpacc_util_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libpacc_util_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libpacc_util_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/Date.Plo ./$(DEPDIR)/Randomizer.Plo \ + ./$(DEPDIR)/SignalHandler.Plo ./$(DEPDIR)/Timer.Plo \ + ./$(DEPDIR)/Tokenizer.Plo ./$(DEPDIR)/libpacc-util.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libpacc_util_la_SOURCES) $(nodist_libpacc_util_la_SOURCES) +DIST_SOURCES = $(am__libpacc_util_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +HEADERS = $(paccutil_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +PACC_UTIL_SRC_VAR = \ +Date.cpp \ +Randomizer.cpp \ +SignalHandler.cpp \ +Timer.cpp \ +Tokenizer.cpp + +paccutildir = $(includedir)/Util +paccutil_HEADERS = \ +Assert.hpp \ +Date.hpp \ +MTRand.hpp \ +Randomizer.hpp \ +RandomPermutation.hpp \ +SignalHandler.hpp \ +StringFunc.hpp \ +Timer.hpp \ +Tokenizer.hpp + +lib_LTLIBRARIES = libpacc-util.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_util_la_LDFLAGS = -no-undefined -release @PACC_VERSION@ +@FAST_COMPILATION_TRUE@nodist_libpacc_util_la_SOURCES = libpacc-util.cpp +@FAST_COMPILATION_FALSE@libpacc_util_la_SOURCES = $(PACC_UTIL_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu PACC/Util/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu PACC/Util/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libpacc-util.la: $(libpacc_util_la_OBJECTS) $(libpacc_util_la_DEPENDENCIES) $(EXTRA_libpacc_util_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libpacc_util_la_LINK) -rpath $(libdir) $(libpacc_util_la_OBJECTS) $(libpacc_util_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Date.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Randomizer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SignalHandler.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Timer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Tokenizer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpacc-util.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-paccutilHEADERS: $(paccutil_HEADERS) + @$(NORMAL_INSTALL) + @list='$(paccutil_HEADERS)'; test -n "$(paccutildir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(paccutildir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(paccutildir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(paccutildir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(paccutildir)" || exit $$?; \ + done + +uninstall-paccutilHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(paccutil_HEADERS)'; test -n "$(paccutildir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(paccutildir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccutildir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +@FAST_COMPILATION_FALSE@clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/Date.Plo + -rm -f ./$(DEPDIR)/Randomizer.Plo + -rm -f ./$(DEPDIR)/SignalHandler.Plo + -rm -f ./$(DEPDIR)/Timer.Plo + -rm -f ./$(DEPDIR)/Tokenizer.Plo + -rm -f ./$(DEPDIR)/libpacc-util.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-paccutilHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/Date.Plo + -rm -f ./$(DEPDIR)/Randomizer.Plo + -rm -f ./$(DEPDIR)/SignalHandler.Plo + -rm -f ./$(DEPDIR)/Timer.Plo + -rm -f ./$(DEPDIR)/Tokenizer.Plo + -rm -f ./$(DEPDIR)/libpacc-util.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES uninstall-paccutilHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-paccutilHEADERS install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am uninstall-libLTLIBRARIES \ + uninstall-paccutilHEADERS + +.PRECIOUS: Makefile + +@FAST_COMPILATION_TRUE@libpacc-util.cpp: +@FAST_COMPILATION_TRUE@ rm -f libpacc-util.cpp +@FAST_COMPILATION_TRUE@ echo "// Generated automatically by make" > libpacc-util.cpp +@FAST_COMPILATION_TRUE@ echo >> libpacc-util.cpp +@FAST_COMPILATION_TRUE@ echo $(PACC_UTIL_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-util.cpp + +@FAST_COMPILATION_TRUE@clean-generic: +@FAST_COMPILATION_TRUE@ rm -f libpacc-util.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/PACC/Util/RandomPermutation.hpp b/lib/beagle-3.0.3/PACC/Util/RandomPermutation.hpp new file mode 100644 index 0000000..3caa818 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/RandomPermutation.hpp @@ -0,0 +1,70 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Util/RandomPermutation.hpp + * \brief Class definition for the random permutation. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_RandomPermutation_hpp_ +#define PACC_RandomPermutation_hpp_ + +#include "Util/Randomizer.hpp" +#include +#include + +namespace PACC { + + using namespace std; + + /*!\brief Random permutation generator. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Util + + A random permutation of size X is a vector that contains integer 0 to X-1 randomly permutated. + */ + class RandomPermutation : public vector { + public: + //! Initialize permutation of size \c inSize, without any shuffling. + RandomPermutation(unsigned int inSize=0) : vector(inSize) { + for(unsigned int i=0; i < inSize; ++i) (*this)[i] = i; + } + + //! Shuffle permutation randomly using number generator \c inRand. + RandomPermutation &permutate(Randomizer &inRand=PACC::rand) { + random_shuffle(begin(), end(), inRand); + return *this; + } + + }; + +} // end of namespace PACC + +#endif diff --git a/lib/beagle-3.0.3/PACC/Util/Randomizer.cpp b/lib/beagle-3.0.3/PACC/Util/Randomizer.cpp new file mode 100644 index 0000000..2200997 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/Randomizer.cpp @@ -0,0 +1,65 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Util/Randomizer.cpp + * \brief Class methods for the random number generator. + * \author Marc Parizeau and Christian Gagné, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#include "Util/Randomizer.hpp" +#include + +using namespace std; +using namespace PACC; + +Randomizer PACC::rand; + +/*! Return state of generator. +*/ +string Randomizer::getState(void) const +{ + ostringstream lStream; + for(unsigned i = 0; i < N; ++i) lStream << state[i] << ","; + lStream << left; + return lStream.str(); +} + +/*! Set state of generator. +*/ +void Randomizer::setState(const string& inState) +{ + istringstream lStream(inState); + for(unsigned int i = 0; i < N; ++i) { + lStream >> state[i]; + lStream.get(); + } + lStream >> left; + pNext = &state[N-left]; +} diff --git a/lib/beagle-3.0.3/PACC/Util/Randomizer.hpp b/lib/beagle-3.0.3/PACC/Util/Randomizer.hpp new file mode 100644 index 0000000..fdcdc20 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/Randomizer.hpp @@ -0,0 +1,107 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Util/Randomizer.hpp + * \brief Class definition for the random number generator. + * \author Marc Parizeau and Christian Gagne, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.6.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_Randomizer_hpp_ +#define PACC_Randomizer_hpp_ + +#include "Util/MTRand.hpp" +#include +#include + +namespace PACC { + + using namespace std; + + /*! + \brief Random number generator + \author Marc Parizeau and Christian Gagné, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Util + + This class encapsulates the "Mersenne Twister" random number generator defined in reference: + - M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-Dimensionally Equidistributed Uniform Pseudo-Random Number Generator", ACM Transactions on Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30. + + Its implementation is based on the \c %MTRand class by Richard J. Wagner + + It can generate uniformly distributed booleans, integers and floats, or gaussian distributed floats. + */ + class Randomizer : protected MTRand { + public: + /*! \brief auto-initialize with /dev/urandom or time() and clock() + + Do NOT use for CRYPTOGRAPHY without securely hashing several returned + values together, otherwise the generator state can be learned after + reading 624 consecutive values. + */ + Randomizer(void) {} + //! Initialize the generator with seed \c inSeed. + Randomizer(unsigned long int inSeed) : MTRand(inSeed) {} + //! Initialize the generator with an array of seeds. + Randomizer(const vector& inSeeds) : MTRand(&inSeeds[0], inSeeds.size()) {} + //! Initialize the generator with state \c inState. + Randomizer(const string& inState) {setState(inState);} + + //! Return a uniformly distributed random integer in range [0,\c inValue[. + unsigned long int operator()(unsigned long inValue) {return randInt(inValue-1);} + + //! Return a uniformly distributed random boolean. + bool getBoolean(void) {return randInt(1);} + //! Return a uniformly distributed random integer in range [0,2^32[. + unsigned long int getInteger(void) {return randInt();} + //! Return a uniformly distributed random integer in range [0,\c inValue]. + unsigned long int getInteger(unsigned long int inValue) {return randInt(inValue);} + //! Return a uniformly distributed random floating point number in range [0,1]. + double getFloat(void) {return rand();} + //! Return a uniformly distributed random floating point number in range [0,\c inValue]. + double getFloat(const double& inValue) {return rand(inValue);} + //! Return a uniformly distributed random floating point number in range [\c inFirst,\c inLast]. + double getFloat(const double& inFirst, const double& inLast) {return inFirst+rand()*(inLast-inFirst);} + //! Return a 53 bits uniformly distributed random floating point number in range [\c inFirst,\c inLast[. Default is [0,1[. + double getFloat53(const double& inFirst=0, const double& inLast=1) {return inFirst+rand53()*(inLast-inFirst);} + //! Return a gaussian distributed random float with mean \c inMean and standard deviation \c inStdDev. Default is N(0,1). + double getGaussian(const double& inMean=0, const double& inStdDev=1) {return randNorm(inMean, inStdDev);} + + //! Return state of generator. + string getState(void) const; + //! Set state of generator. + void setState(const string& inState); + + }; + + extern Randomizer rand; //!< Global random number generator + +} // end of PACC namespace + +#endif + diff --git a/lib/beagle-3.0.3/PACC/Util/SignalHandler.cpp b/lib/beagle-3.0.3/PACC/Util/SignalHandler.cpp new file mode 100644 index 0000000..712e9d5 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/SignalHandler.cpp @@ -0,0 +1,239 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2004 Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Util/SignalHandler.cpp + * \brief Class methods for the signal handler. + * \author Marc Dubreuil, Christian Gagné and Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#include "Util/SignalHandler.hpp" +#include "Util/Assert.hpp" +#include +#include + +using namespace std; +using namespace PACC; + +stack SignalHandler::smActions[NSIGNALS]; + +/*! +\throw runtime_error This method throws an exception if called for an unsuported signal. Note that Windows only supports ANSI signals (see SignalHandler::SignalType). + */ +SignalHandler::SignalType SignalHandler::convertFromNativeSignal(int inSignal) +{ + SignalType lType; + switch(inSignal) { +#ifdef WIN32 + case SIGABRT: lType = eSigAbrt; break; + case SIGFPE: lType = eSigFPE; break; + case SIGILL: lType = eSigIll; break; + case SIGINT: lType = eSigInt; break; + case SIGSEGV: lType = eSigSegV; break; + case SIGTERM: lType = eSigTerm; break; + default: + throw runtime_error("SignalHandler::convertFromNativeSignal() signal not supported by Windows!"); +#else + case SIGHUP: lType = eSigHUp; break; + case SIGINT: lType = eSigInt; break; + case SIGQUIT: lType = eSigQuit; break; + case SIGILL: lType = eSigIll; break; + case SIGTRAP: lType = eSigTrap; break; + case SIGABRT: lType = eSigAbrt; break; + case SIGFPE: lType = eSigFPE; break; + case SIGKILL: lType = eSigKill; break; + case SIGSEGV: lType = eSigSegV; break; + case SIGPIPE: lType = eSigPipe; break; + case SIGALRM: lType = eSigAlrm; break; + case SIGTERM: lType = eSigTerm; break; + case SIGSTOP: lType = eSigStop; break; + case SIGTSTP: lType = eSigTStp; break; + case SIGCONT: lType = eSigCont; break; + case SIGCHLD: lType = eSigChld; break; + case SIGTTIN: lType = eSigTTin; break; + case SIGTTOU: lType = eSigTTou; break; + case SIGUSR1: lType = eSigUsr1; break; + case SIGUSR2: lType = eSigUsr2; break; + default: + throw runtime_error("SignalHandler::convertFromNativeSignal() unknown POSIX signal!"); +#endif + } + return lType; +} + +/*! +\throw runtime_error This method throws an exception if called for an unsuported signal. Note that Windows only supports ANSI signals (see SignalHandler::SignalType). + */ +int SignalHandler::convertToNativeSignal(SignalHandler::SignalType inType) +{ + int lSignal; + switch(inType) { +#ifdef WIN32 + case eSigAbrt: lSignal = SIGABRT; break; + case eSigFPE: lSignal = SIGFPE; break; + case eSigIll: lSignal = SIGILL; break; + case eSigInt: lSignal = SIGINT; break; + case eSigSegV: lSignal = SIGSEGV; break; + case eSigTerm: lSignal = SIGTERM; break; + default: + throw runtime_error("SignalHandler::convertToNativeSignal() signal not supported by Windows!"); +#else + case eSigHUp: lSignal = SIGHUP; break; + case eSigInt: lSignal = SIGINT; break; + case eSigQuit: lSignal = SIGQUIT; break; + case eSigIll: lSignal = SIGILL; break; + case eSigTrap: lSignal = SIGTRAP; break; + case eSigAbrt: lSignal = SIGABRT; break; + case eSigFPE: lSignal = SIGFPE; break; + case eSigKill: lSignal = SIGKILL; break; + case eSigSegV: lSignal = SIGSEGV; break; + case eSigPipe: lSignal = SIGPIPE; break; + case eSigAlrm: lSignal = SIGALRM; break; + case eSigTerm: lSignal = SIGTERM; break; + case eSigStop: lSignal = SIGSTOP; break; + case eSigTStp: lSignal = SIGTSTP; break; + case eSigCont: lSignal = SIGCONT; break; + case eSigChld: lSignal = SIGCHLD; break; + case eSigTTin: lSignal = SIGTTIN; break; + case eSigTTou: lSignal = SIGTTOU; break; + case eSigUsr1: lSignal = SIGUSR1; break; + case eSigUsr2: lSignal = SIGUSR2; break; + default: + throw runtime_error("SignalHandler::convertToNativeSignal() unknown POSIX signal!"); +#endif + } + return lSignal; +} + +/*! +This method pops the top element of the action stack and resets to the previous action. It is an error to call this method when the stack is empty. Note that, for any given signal, the first call to one of the set methods (SignalHandler::setCustomAction, SignalHandler::setDefaultAction, or SignalHandler::setIgnoreAction) executes an implicit push of the previous action. A call to this method in that particular situation will thus restore this previous action (usually the default system action). + + \throw runtime_error This method throws an exception if called for an unsuported signal. Note that Windows only supports ANSI signals (see SignalHandler::SignalType). + */ +void SignalHandler::popAction(SignalHandler::SignalType inType) +{ + int lSignal = convertToNativeSignal(inType); + PACC_AssertM(!smActions[inType].empty(), "popAction() stack is empty!"); + smActions[inType].pop(); + PACC_AssertM(!smActions[inType].empty(), "popAction() stack is empty!"); + HandlerPointer lFunc; + if(smActions[inType].top().mHandler == 0) { + // action must be external function + lFunc = ::signal(lSignal, smActions[inType].top().mFunc); + } else { + // action is custom + lFunc = ::signal(lSignal, runAction); + } + PACC_AssertM(lFunc != SIG_ERR, "popAction() internal error: invalid signal") +} + +/*! +This method pushes a copy of the current action onto the action stack. It is an error to call this method prior to setting a first action using either SignalHandler::setCustomAction, SignalHandler::SetDefaultAction, or SignalHandler::setIgnoreAction. + */ +void SignalHandler::pushAction(SignalHandler::SignalType inType) +{ + PACC_AssertM(!smActions[inType].empty(), "pushAction() stack is empty, set an action first!"); + smActions[inType].push(smActions[inType].top()); +} + +/*! +This method is the low level custom signal handler. It should not be called directly! + */ +void SignalHandler::runAction(int inSignal) +{ + SignalType lType = convertFromNativeSignal(inSignal); + PACC_AssertM(!smActions[lType].empty(), "runAction() internal error, stack is empty!"); + PACC_AssertM(smActions[lType].top().mHandler != 0, "runAction() internal error: no handler specified!"); + smActions[lType].top().mHandler->main(lType); +} + +/*! +When called with an empty action stack, the later is initialized by making an implicit push of the previous action. Otherwise, it does not affect the action stack. + +\throw runtime_error This method throws an exception if called for an unsuported signal. Note that Windows only supports ANSI signals (see SignalHandler::SignalType). +*/ +void SignalHandler::setCustomAction(SignalHandler::SignalType inType) +{ + // set new action + int lSignal = convertToNativeSignal(inType); + HandlerPointer lFunc = ::signal(lSignal, runAction); + PACC_AssertM(lFunc != SIG_ERR, "setCustomAction() internal error: invalid signal"); + // update action stack + Action lCustom(this, 0); + if(smActions[inType].empty()) { + // initialize the action stack + smActions[inType].push(Action(0, lFunc)); + smActions[inType].push(lCustom); + } else { + // overwrite the top action + smActions[inType].top() = lCustom; + } +} + +/*! +When called with an empty action stack, the later is initialized by making an implicit push of the previous action. Otherwise, it does not affect the action stack. + +\throw runtime_error This method throws an exception if called for an unsuported signal. Note that Windows only supports ANSI signals (see SignalHandler::SignalType). + */ +void SignalHandler::setDefaultAction(SignalHandler::SignalType inType) +{ + int lSignal = convertToNativeSignal(inType); + HandlerPointer lFunc = ::signal(lSignal, SIG_DFL); + PACC_AssertM(lFunc != SIG_ERR, "setDefaultAction() internal error: invalid signal"); + Action lCustom(0, SIG_DFL); + if(smActions[inType].empty()) { + // initialize the action stack + smActions[inType].push(Action(0, lFunc)); + smActions[inType].push(lCustom); + } else { + // overwrite the top action + smActions[inType].top() = lCustom; + } +} + +/*! +When called with an empty action stack, the later is initialized by making an implicit push of the previous action. Otherwise, it does not affect the action stack. + +\throw runtime_error This method throws an exception if called for an unsuported signal. Note that Windows only supports ANSI signals (see SignalHandler::SignalType). + */ +void SignalHandler::setIgnoreAction(SignalHandler::SignalType inType) +{ + int lSignal = convertToNativeSignal(inType); + HandlerPointer lFunc = ::signal(lSignal, SIG_IGN); + PACC_AssertM(lFunc != SIG_ERR, "setIgnoreAction() internal error: invalid signal"); + Action lCustom(0, SIG_IGN); + if(smActions[inType].empty()) { + // initialize the action stack + smActions[inType].push(Action(0, lFunc)); + smActions[inType].push(lCustom); + } else { + // overwrite the top action + smActions[inType].top() = lCustom; + } +} diff --git a/lib/beagle-3.0.3/PACC/Util/SignalHandler.hpp b/lib/beagle-3.0.3/PACC/Util/SignalHandler.hpp new file mode 100644 index 0000000..e440c31 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/SignalHandler.hpp @@ -0,0 +1,156 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2004 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Util/SignalHandler.hpp + * \brief Class definition for the portable signal handler. + * \author Marc Dubreuil and Christian Gagne, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_SIGNALHANDLER_HPP +#define PACC_SIGNALHANDLER_HPP + +#include +#include + +namespace PACC { + + using namespace std; + + /*! + * \brief Portable signal handling. + * \author Marc Dubreuil, Christian Gagne and Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * \ingroup Util + * + * This class can be used to handle common signals. To define custom handlers, + * it should be subclassed and virtual method SignalHandler::main should be + * overloaded. For example, the following code snippet defines a custom + * handler for signal SignalType::eSigInt (Ctl-C): +\verbatim +class SigIntHandler : public SignalHandler { + public: + SigIntHandler(void) {setCustomAction(eSigInt);} + + virtual void main(SignalType inType) { + switch(inType) { + case eSigInt: + cout << "My custom handler!" << endl; + exit(-1); + default: + cout << "Unsupported signal!" << endl; + break; + } + } +}; +\endverbatim +Furthermore, for each signal type, a stack of actions can be managed using methods SignalHandler::pushAction and SignalHandler::popAction. + */ + class SignalHandler { + public: + //! Enumeration of supported signal types. + enum SignalType { + eSigAbrt=0, //!< Abort (ANSI). + eSigFPE, //!< Floating-point exception (ANSI). + eSigIll, //!< Illegal instruction (ANSI). + eSigInt, //!< Interrupt (ANSI). + eSigSegV, //!< Segmentation violation (ANSI). + eSigTerm, //!< Termination (ANSI). + eSigAlrm, //!< Alarm clock (POSIX). + eSigChld, //!< Child status has changed (POSIX). + eSigCont, //!< Continue (POSIX). + eSigHUp, //!< Hangup (POSIX). + eSigKill, //!< Kill, unblockable (POSIX). + eSigPipe, //!< Broken pipe (POSIX). + eSigQuit, //!< Quit (POSIX). + eSigStop, //!< Stop, unblockable (POSIX). + eSigTStp, //!< Keyboard stop (POSIX). + eSigTrap, //!< Trace trap (POSIX). + eSigTTin, //!< Background read from tty (POSIX). + eSigTTou, //!< Background write to tty (POSIX). + eSigUsr1, //!< User-defined signal 1 (POSIX). + eSigUsr2, //!< User-defined signal 2 (POSIX). + NSIGNALS + }; + + //! Construct this signal handler. + SignalHandler(void) {} + + //! delete this signal handler. + virtual ~SignalHandler(void) {} + + /*! \brief Main function of signal handler. + + This pure virtual method must be overloaded in a subclass in order to + define custom signal actions. Argument \c inType specifies the signal + type that must be processed for the current pending signal. + */ + virtual void main(SignalType inType) = 0; + + //! Pop previous action for signals of type \c inType. + static void popAction(SignalType inType); + + //! Push current action for signals of type \c inType. + static void pushAction(SignalType inType); + + //! Make this signal handler process future signals of type \c inType. + void setCustomAction(SignalType inType); + + //! Make the default system action process future signals of type \c inType. + static void setDefaultAction(SignalType inType); + + //! Specifies that future signals of type \c inType should be ignored. + static void setIgnoreAction(SignalType inType); + + protected: + //! Convert native signal number into a portable signal type. + static SignalType convertFromNativeSignal(int inNativeNumber); + + //! Convert a portable signal type into a native signal number. + static int convertToNativeSignal(SignalType inType); + + private: + //! Pointer to signal handler function. + typedef void (*HandlerPointer) (int); + + //! Action structure (pointer to either internal or external handler). + struct Action { + SignalHandler* mHandler; + HandlerPointer mFunc; + Action(SignalHandler* inHandler, HandlerPointer inFunc) : mHandler(inHandler), mFunc(inFunc) {} + }; + + static stack smActions[NSIGNALS]; //!< Table of signal handler stacks. + + //! Run the current custom action for native signal \c inSignal. + static void runAction(int inSignal); + }; + +} // end of PACC namespace + +#endif diff --git a/lib/beagle-3.0.3/PACC/Util/StringFunc.hpp b/lib/beagle-3.0.3/PACC/Util/StringFunc.hpp new file mode 100644 index 0000000..d93c00f --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/StringFunc.hpp @@ -0,0 +1,75 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Util/StringFunc.hpp + * \brief Definition of string conversion methods. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +/*! \namespace PACC::String +* \brief %String conversion functions. +*/ + +#ifndef PACC_StringFunc_hpp_ +#define PACC_StringFunc_hpp_ + +#include +#include +#include + +namespace PACC { + + using namespace std; + + namespace String { + + //! Convert string \c inString to integer value in base \c inBase (default is base 10). + inline long int convertToInteger(const string& inString, int inBase=10) { + return strtol(inString.c_str(), 0, inBase); + } + + //! Convert string \c inString to float value (Warning: no error checking). + inline double convertToFloat(const string& inString) { + return strtod(inString.c_str(), 0); + } + + //! Convert data type \c inData to string. + template + string convert(Type inData) { + ostringstream lStream; + lStream << inData; + return lStream.str(); + } + + } // end of String namespace + +} // end of PACC namespace + +#endif // PACC_StringFunc_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Util/Timer.cpp b/lib/beagle-3.0.3/PACC/Util/Timer.cpp new file mode 100644 index 0000000..b67638c --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/Timer.cpp @@ -0,0 +1,138 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2004 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Util/Timer.cpp + * \brief Class methods for the portable timer. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#include "Util/Timer.hpp" +#include "Util/Assert.hpp" + +#ifdef WIN32 +#include +#include +#else +#include +#include +#endif + +using namespace std; +using namespace PACC; + +double Timer::mPeriod = 0; + +/*! +Under Windows, this method always calls the QueryPerformanceFrequency function to determine the count period of the hardware time-stamp. + +Under Unix, with hardware mode activated, when using the gcc compiler on an i386 family processor (Pentium or AMD), or on a PowerPC family processor, this method calibrates the hardware time-stamp counter using the standard gettimeofday function. This calibration is conducted by measuring a delay of approximatly \c inDelay micro-seconds, and the count period is averaged over \c inTimes runs. In all other cases, or when the hardware mode is deactivated, the count period is fixed at 1 micro-second (the maximum resolution of gettimeofday). + +This method is called automatically by the class constructor. Under normal circumstances, the user should not concern himself with calibration. + */ +void Timer::calibrateCountPeriod(unsigned int inDelay, unsigned int inTimes) +{ +#ifdef WIN32 + // use the windows counter + LARGE_INTEGER lFrequency; + PACC_AssertM(QueryPerformanceFrequency(&lFrequency), "Timer::Timer() no performance counter on this processor!"); + mPeriod = 1. / lFrequency.QuadPart; +#else + if(mHardware) { +#if defined (__GNUG__) && (defined (__i386__) || defined (__ppc__)) + double lPeriod = 0; + // calibrate by matching the time-stamps with the micro-seconds of gettimeofday + for(unsigned int i = 0; i < inTimes; ++ i) { + timeval lStartTime, lTime; + ::gettimeofday(&lStartTime, 0); + unsigned long long lStartCount = getCount(); + ::usleep(inDelay); + ::gettimeofday(&lTime, 0); + unsigned long long lCount = getCount() - lStartCount; + lTime.tv_sec -= lStartTime.tv_sec; + lTime.tv_usec -= lStartTime.tv_usec; + // dismiss the first run of the loop + if(i != 0) lPeriod += (lTime.tv_sec + lTime.tv_usec*0.000001)/lCount; + } + mPeriod = lPeriod/(inTimes-1); +#else + // use the microseconds of gettimeofday + mPeriod = 0.000001; +#endif + } else { + // use the microseconds of gettimeofday + mPeriod = 0.000001; + } +#endif +} + +/*! +This method returns the highest resolution count available for this timer. Under Windows, it returns the hardware performance counter value as provided by the QueryPerformanceCounter method. + +Under Unix, when using the gcc compiler on an i386 family processor (Pentium or AMD), or on a PowerPC family processor, this method can also return the hardware performance counter value using in-lined assembly code. On all other platforms, or when the hardware mode is deactivated, it returns a count based on the standard gettimeofday function (in micro-seconds). + */ +unsigned long long Timer::getCount(void) const +{ + unsigned long long lCount = 0; +#ifdef WIN32 + LARGE_INTEGER lCurrent; + QueryPerformanceCounter(&lCurrent); + lCount = lCurrent.QuadPart; +#else + if(mHardware) { +#if defined (__GNUG__) && defined (__i386__) + __asm__ volatile("rdtsc" : "=A" (lCount)); +#else +#if defined (__GNUG__) && defined (__ppc__) + register unsigned int lLow; + register unsigned int lHigh1; + register unsigned int lHigh2; + do { + // make sure that high bits have not changed + __asm__ volatile ( "mftbu %0" : "=r" (lHigh1) ); + __asm__ volatile ( "mftb %0" : "=r" (lLow) ); + __asm__ volatile ( "mftbu %0" : "=r" (lHigh2) ); + } while(lHigh1 != lHigh2); + // transfer to lCount + unsigned int *lPtr = (unsigned int*) &lCount; + *lPtr++ = lHigh1; *lPtr = lLow; +#else + timeval lCurrent; + ::gettimeofday(&lCurrent, 0); + lCount = (unsigned long long)lCurrent.tv_sec*1000000 + lCurrent.tv_usec; +#endif +#endif + } else { + timeval lCurrent; + ::gettimeofday(&lCurrent, 0); + lCount = (unsigned long long)lCurrent.tv_sec*1000000 + lCurrent.tv_usec; + } +#endif + return lCount; +} diff --git a/lib/beagle-3.0.3/PACC/Util/Timer.hpp b/lib/beagle-3.0.3/PACC/Util/Timer.hpp new file mode 100644 index 0000000..79b213b --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/Timer.hpp @@ -0,0 +1,91 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2004 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Util/Timer.hpp + * \brief Class definition for the portable timer. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_Timer_hpp +#define PACC_Timer_hpp + +namespace PACC { + + /*! \brief Portable timer class. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Util + + This class implements a simple stopwatch timer that is always running. Method Timer::getValue can be used to return the current timer value in seconds. Method Timer::reset resets this value to 0. + + By default, if possible, the class uses the CPU's high resolution hardware time-stamp to measure time. Under Windows, this always translates to a call to the QueryPerformanceCounter method. Under Unix, when using the gcc compiler, inlined assembly code is used to retrieve the hardware counter on the following platforms: + - Pentium family (i386) + - PowerPC family (ppc) + . + Otherwise, the class uses the Unix gettimeofday method to retrieve a somewhat lower resolution time stamp (max resolution is micro-seconds). + + The current high resolution time stamp can be retrieved using method Timer::getCount. The time period associated with a single count increment is platform dependent. Its value can be fetch with method Timer::getCountPeriod. + + \attention Hardware time-stamp counters may be dependent on the CPU clock frequency. Under Unix, the hardware time-stamp frequency needs to be evaluated using a calibration procedure based on method gettimeofday. If applicable, this procedure lasts about 0.1 sec when using default parameters (see Timer::calibrateCountPeriod). + */ + class Timer { + public: + /*! \brief Construct a timer and reset its value. + + On supported Unix platforms, argument \c inHardware=true (default) enables the use of the CPU's high resolution hardware time-stamp. Argument \c inHardware=false forces the use of a somewhat lower resolution count based on the Unix gettimeofday method. Note that the use of the hardware counter under Unix requires a preliminary calibration procedure (see Timer::calibrateCountPeriod). + */ + Timer(bool inHardware=true) : mHardware(inHardware) { + if(mPeriod == 0) calibrateCountPeriod(); + reset(); + } + + //! Calibrate the count period. + void calibrateCountPeriod(unsigned int inDelay=10000, unsigned int inTimes=10); + + //! Return the current high resolution count. + unsigned long long getCount(void) const; + + //! Return the time period of a single count increment (in seconds). + double getCountPeriod(void) const {return mPeriod;} + + //! Return the current timer value in seconds. + double getValue(void) const {return (getCount()-mCount)*mPeriod;} + + //! reset the timer value (to 0 second). + void reset(void) {mCount = getCount();} + + protected: + bool mHardware; //!< Specifies whether hardware time-stamps should be used. + unsigned long long mCount; //!< Count value at last reset. + static double mPeriod; //!< Time period of a single count in seconds. + }; + +} // end of PACC namespace + +#endif // PACC_Timer_hpp diff --git a/lib/beagle-3.0.3/PACC/Util/Tokenizer.cpp b/lib/beagle-3.0.3/PACC/Util/Tokenizer.cpp new file mode 100644 index 0000000..0f8c4cb --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/Tokenizer.cpp @@ -0,0 +1,248 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Util/Tokenizer.cpp + * \brief Class methods for the input stream tokenizer. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.7.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#include "Util/Tokenizer.hpp" +#include "Util/Assert.hpp" +#include +#include + +using namespace std; +using namespace PACC; + +/*! +The internal read buffer size can be set with argument \c inBufSize (default=1024). This buffer can also be disactivated by setting this argument to 0. The internal read buffer can greatly accelerate the parse of the stream. A size between 512 and 1024 appears to give good results in most circumstances. + + \attention It should be noted that the use of such a buffer implies that the stream must be fully parsed by this tokenizer, because there is no way to put it's content back into the stream. + */ +Tokenizer::Tokenizer(unsigned int inBufSize) +: mLine(1), mStream(0), mBuffer(0), mBufSize(0), mBufPtr(0), mBufCount(0) +{ + setDelimiters(" \t\n\r", ""); + setBufferSize(inBufSize); +} + +/*! +The internal read buffer size can be set with argument \c inBufSize (default=1024). This buffer can also be disactivated by setting this argument to 0. The internal read buffer can greatly accelerate the parse of the stream. A size between 512 and 1024 appears to give the best results in most circumstances. + + \attention It should be noted that the use of such a buffer implies that the stream must be fully parsed by this tokenizer, because there is no way to put it's content back into the stream. + */ +Tokenizer::Tokenizer(istream& inStream, unsigned int inBufSize) +: mLine(1), mStream(&inStream), mBuffer(0), mBufSize(0), mBufPtr(0), mBufCount(0) +{ + setDelimiters(" \t\n\r", ""); + setBufferSize(inBufSize); +} + +/*! + */ +Tokenizer::~Tokenizer(void) { + if(mBuffer != 0) delete[] mBuffer; +} + +/*! +\return String of next token found. + + This method finds the next token in the default input stream, after removing any leading white space. An empty token (string) means that end of stream was reached. + \attention This method is depricated. + */ +string Tokenizer::getNextToken(void) +{ + string lToken; + getNextToken(lToken); + return lToken; +} + +/*! +\return True if a valid token was found, false otherwise. + + This method finds the next token in the default input stream, after removing any leading white space. The token is returned through argument \c outToken. An empty token (string) means that end of stream was reached. + */ +bool Tokenizer::getNextToken(string& outToken) +{ + PACC_AssertM(mStream, "undefined input stream!"); + if(!mTokens.empty()) { + // use putback tokens if available + outToken = mTokens.top(); + mTokens.pop(); + } else if(mBufSize == 0) { + // DO NOT use the input read buffer + register unsigned char lChar; + // get rid of leading white space + do { + lChar = mStream->get(); + if(mStream->eof()) { + outToken.clear(); + return false; + } + if(lChar == '\n') ++mLine; + } while(mDelimiters[lChar] == eWhiteSpace); + outToken = lChar; + // append until next white space or single char token + char lOutBuffer[100]; + while(mDelimiters[lChar] == 0 && !mStream->eof()) { + unsigned lOutCount = 0; + while(lOutCount < sizeof(lOutBuffer)) { + lChar = mStream->get(); + if(mStream->eof()) break; + if(mDelimiters[lChar] != 0) { + // put character back into stream + mStream->putback(lChar); + break; + } + lOutBuffer[lOutCount++] = lChar; + // check for end-of-line counter + if(lChar == '\n') ++mLine; + } + outToken.append(lOutBuffer, lOutCount); + } + } else { + // otherwise, use the input read buffer + register unsigned char lChar; + // get rid of leading white space + do { + if(mBufCount == 0 && fillBuffer() == 0) { + outToken.clear(); + return false; + } + lChar = *(mBufPtr++); --mBufCount; + if(lChar == '\n') ++mLine; + } while(mDelimiters[lChar] == eWhiteSpace); + outToken = lChar; + // append until next white space or single char token + char lOutBuffer[100]; + while(mDelimiters[lChar] == 0 && mBufPtr != mBuffer) { + unsigned lOutCount = 0; + while(lOutCount < sizeof(lOutBuffer)) { + if(mBufCount == 0 && fillBuffer() == 0) break; + lChar = *(mBufPtr++); --mBufCount; + if(mDelimiters[lChar] != 0) { + // put character back into buffer + --mBufPtr; ++mBufCount; + break; + } + lOutBuffer[lOutCount++] = lChar; + // check for end-of-line counter + if(lChar == '\n') ++mLine; + } + outToken.append(lOutBuffer, lOutCount); + } + } + return !outToken.empty(); +} + +/* + */ +string Tokenizer::getSingleCharTokens(void) const +{ + string lSingleCharTokens; + for(unsigned int i=0; i < 256; ++i) if(mDelimiters[i] == 2) lSingleCharTokens += (char) i; + return lSingleCharTokens; +} + +/* + */ +string Tokenizer::getWhiteSpace(void) const +{ + string lWhiteSpace; + for(unsigned int i=0; i < 256; ++i) if(mDelimiters[i] == 1) lWhiteSpace += (char) i; + return lWhiteSpace; +} + +/*! \return -1 if end-of-stream. + + This method returns the next character without removing it from the input stream. + */ +int Tokenizer::peekNextChar(void) +{ + PACC_AssertM(mStream, "undefined input stream!"); + // check for putback tokens + if(!mTokens.empty()) return mTokens.top()[0]; + else if(mBufSize == 0) return mStream->peek(); + else { + // otherwise, use buffer + if(mBufCount == 0 && fillBuffer() == 0) return -1; + return *mBufPtr; + } +} + +/* + \attention Any number of tokens can be put back. However, take note that these WILL NOT be parsed again, if the user decides to change delimiters. + */ +void Tokenizer::putbackToken(const string& inToken) +{ + PACC_AssertM(!inToken.empty(), "cannot put back an empty string!"); + mTokens.push(inToken); +} + +/* + The minimum buffer size is set to 10. A smaller buffer size will disable the use of the internal read buffer. + +\attention This method should be called prior to the first call of method Tokenizer::getNextToken, because it is an error to resize a buffer that is not empty. Method Tokenizer::setStream should be called explicitely to flush the buffer . + */ +void Tokenizer::setBufferSize(unsigned int inSize) +{ + if(mBuffer != 0) delete[] mBuffer; + if(inSize < 10) inSize = 0; + if(inSize > 0) mBuffer = new char[inSize]; + else mBuffer = 0; + mBufSize = inSize; + mBufCount = 0; +} + +/*! +The white space and single character delimiters are set to the characters contained in strings \c inWhiteSpace and \c inSingleCharTokens, respectively. The white space characters delimit tokens but are not tokens themselves. Single character tokens are tokens that delimit other tokens. + */ +void Tokenizer::setDelimiters(const string &inWhiteSpace, const string &inSingleCharTokens) +{ + memset(mDelimiters, 0, sizeof(mDelimiters)); + for(string::const_iterator i = inWhiteSpace.begin(); i != inWhiteSpace.end(); ++i) { + mDelimiters[(unsigned)*i] = eWhiteSpace; + } + for(string::const_iterator i = inSingleCharTokens.begin(); i != inSingleCharTokens.end(); ++i) { + PACC_AssertM(mDelimiters[(unsigned)*i] == 0, "a delimiter cannot be both white space and single char token!"); + mDelimiters[(unsigned)*i] = eSingleChar; + } +} + +/*! +This method sets a new stream to be tokenized. It also flushes the internal read buffer. + */ +void Tokenizer::setStream(istream& inStream) +{ + mStream = &inStream; + mLine = 1; + mBufCount = 0; + mTokens = stack(); +} diff --git a/lib/beagle-3.0.3/PACC/Util/Tokenizer.hpp b/lib/beagle-3.0.3/PACC/Util/Tokenizer.hpp new file mode 100644 index 0000000..dfb23d9 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/Tokenizer.hpp @@ -0,0 +1,137 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/Util/Tokenizer.hpp + * \brief Class definition for the input stream tokenizer. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.6.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_Tokenizer_hpp_ +#define PACC_Tokenizer_hpp_ + +#include +#include +#include + +namespace PACC { + + using namespace std; + + /*! \brief Input stream tokenizer + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup Util + \ingroup XML + + This class is for tokenizing an input stream. Tokens are either strings of characters seperated by white space, or special single-characters. By default, there are no special single-character tokens, and white space characters are spaces, tabs, cariage returns, and line-feeds. But these can be changed using method Tokenizer::setDelimiters. For instance, if "a" and "d" are single character tokens, then string "abcd" will be tokenized in "a"+"bc" + "d". + + By default, the tokenizer uses an internal read buffer to accelerate the parse of the stream (up to 4x). The buffer size can be specified in the object constructor (default=1024) or set by method Tokenizer::setBufferSize. A buffer size of 0 actually disactivate the use of the internal buffer. + */ + class Tokenizer { + public: + //! Construct a default tokenizer with no input stream. + Tokenizer(unsigned int inBufSize=1024); + + //! Construct a tokenizer with input stream \c inStream. + Tokenizer(istream& inStream, unsigned int inBufSize=1024); + + //! Delete tokenizer. + ~Tokenizer(void); + + //! Parse next token of default input stream. + string getNextToken(void); + + //! Parse next token of default input stream. + bool getNextToken(string& outToken); + + //! Return the next character from the default input stream. + int peekNextChar(void); + + //! Put back token \c inToken. + void putbackToken(const string& inToken); + + //! Return the current line number. + unsigned int getLineNumber(void) {return mLine;} + + //! Return the name of the current input stream. + const string& getStreamName(void) const {return mName;} + + //! Return the current single character delimiters. + string getSingleCharTokens(void) const; + + //! Return the current white space delimiters. + string getWhiteSpace(void) const; + + //! Set the size of the internal read buffer to size \c inSize. + void setBufferSize(unsigned int inSize); + + //! Set the white space delimiters to the characters of \c inWhiteSpace, and the single character delimiters to those of \c inToken. + void setDelimiters(const string& inWhiteSpace, const string& inTokens); + + //! Set the current line number to \c inLine. + void setLineNumber(unsigned int inLine) {mLine = inLine;} + + //! Set the input stream to \c inStream. + void setStream(istream& inStream); + + //! Set the name of the current input stream to \c inName. + void setStreamName(const string& inName) {mName = inName;} + + protected: + enum delimiters {eWhiteSpace=1, eSingleChar}; + + unsigned int mLine; //!< Current line number. + string mName; //!< Name of default input stream. + istream* mStream; //!< Default input stream. + char mDelimiters[256]; //!< Single character tokens. + char* mBuffer; //!< Input read buffer. + unsigned int mBufSize; //!< Size of the input read buffer. + char* mBufPtr; //!< Pointer to next character in the read buffer. + unsigned int mBufCount; //!< Number of characters left in the read buffer. + stack mTokens; //!< Stack of putback tokens. + + //! Fill the input read buffer + inline unsigned int fillBuffer(void) { + mBufCount = mStream->readsome(mBufPtr=mBuffer, mBufSize); + if(mBufCount == 0) { + // in case of console input, wait for the next character + mStream->read(mBuffer, 1); + mBufCount = mStream->gcount(); + } + return mBufCount; + } + + private: + Tokenizer(const Tokenizer&); // disable copy-constructor + Tokenizer& operator=(const Tokenizer&); // disable asignment operator + }; + +} // end of PACC namespace + +#endif // PACC_Tokenizer_hpp_ diff --git a/lib/beagle-3.0.3/PACC/Util/libpacc-util.cpp b/lib/beagle-3.0.3/PACC/Util/libpacc-util.cpp new file mode 100644 index 0000000..f33d2b6 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/libpacc-util.cpp @@ -0,0 +1,8 @@ +// Generated automatically by make + +#include "Date.cpp" +#include "Randomizer.cpp" +#include "SignalHandler.cpp" +#include "Timer.cpp" +#include "Tokenizer.cpp" + diff --git a/lib/beagle-3.0.3/PACC/Util/libpacc-util.la b/lib/beagle-3.0.3/PACC/Util/libpacc-util.la new file mode 100644 index 0000000..28a13c5 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/libpacc-util.la @@ -0,0 +1,41 @@ +# libpacc-util.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-5 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libpacc-util-1.3.1b.so' + +# Names of this library. +library_names='libpacc-util-1.3.1b.so libpacc-util-1.3.1b.so libpacc-util.so' + +# The name of the static archive. +old_library='libpacc-util.a' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -L/usr/lib -lz' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libpacc-util. +current=0 +age=0 +revision=0 + +# Is this an already installed library? +installed=no + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/local/lib' diff --git a/lib/beagle-3.0.3/PACC/Util/libpacc-util.lo b/lib/beagle-3.0.3/PACC/Util/libpacc-util.lo new file mode 100644 index 0000000..6a328ae --- /dev/null +++ b/lib/beagle-3.0.3/PACC/Util/libpacc-util.lo @@ -0,0 +1,12 @@ +# libpacc-util.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-5 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libpacc-util.o' + +# Name of the non-PIC object +non_pic_object='libpacc-util.o' + diff --git a/lib/beagle-3.0.3/PACC/Util/libpacc-util.o b/lib/beagle-3.0.3/PACC/Util/libpacc-util.o new file mode 100644 index 0000000..238c2ab Binary files /dev/null and b/lib/beagle-3.0.3/PACC/Util/libpacc-util.o differ diff --git a/lib/beagle-3.0.3/PACC/XML.hpp b/lib/beagle-3.0.3/PACC/XML.hpp new file mode 100644 index 0000000..cb7f823 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML.hpp @@ -0,0 +1,47 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/XML.hpp + * \brief Include all headers for the XML Extensible markup language module. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.5 $ + * $Date: 2005/10/05 13:38:26 $ + */ + +/*! + * \namespace PACC::XML + * \brief Extensible markup language classes. + */ + +/*! + * \defgroup XML Extensible markup language classes (XML) + */ + +#include "XML/Document.hpp" +#include "XML/Finder.hpp" +#include "XML/Streamer.hpp" diff --git a/lib/beagle-3.0.3/PACC/XML/.deps/Document.Plo b/lib/beagle-3.0.3/PACC/XML/.deps/Document.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/.deps/Document.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/XML/.deps/Finder.Plo b/lib/beagle-3.0.3/PACC/XML/.deps/Finder.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/.deps/Finder.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/XML/.deps/Node.Plo b/lib/beagle-3.0.3/PACC/XML/.deps/Node.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/.deps/Node.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/XML/.deps/Streamer.Plo b/lib/beagle-3.0.3/PACC/XML/.deps/Streamer.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/.deps/Streamer.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/XML/.deps/libpacc-xml.Plo b/lib/beagle-3.0.3/PACC/XML/.deps/libpacc-xml.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/.deps/libpacc-xml.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/PACC/XML/.deps/libpacc-xml.Tpo b/lib/beagle-3.0.3/PACC/XML/.deps/libpacc-xml.Tpo new file mode 100644 index 0000000..5391748 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/.deps/libpacc-xml.Tpo @@ -0,0 +1,407 @@ +libpacc-xml.lo: libpacc-xml.cpp /usr/include/stdc-predef.h Document.cpp \ + ../../PACC/XML/Document.hpp ../../PACC/XML/Iterator.hpp \ + ../../PACC/XML/Node.hpp ../../PACC/Util/Tokenizer.hpp \ + /usr/include/c++/12/istream /usr/include/c++/12/ios \ + /usr/include/c++/12/iosfwd \ + /usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/bits/timesize.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/long-double.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h \ + /usr/include/c++/12/pstl/pstl_config.h \ + /usr/include/c++/12/bits/stringfwd.h \ + /usr/include/c++/12/bits/memoryfwd.h /usr/include/c++/12/bits/postypes.h \ + /usr/include/c++/12/cwchar /usr/include/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ + /usr/include/x86_64-linux-gnu/bits/floatn.h \ + /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \ + /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/types/wint_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/c++/12/exception /usr/include/c++/12/bits/exception.h \ + /usr/include/c++/12/bits/exception_ptr.h \ + /usr/include/c++/12/bits/exception_defines.h \ + /usr/include/c++/12/bits/cxxabi_init_exception.h \ + /usr/include/c++/12/typeinfo /usr/include/c++/12/bits/hash_bytes.h \ + /usr/include/c++/12/new /usr/include/c++/12/bits/move.h \ + /usr/include/c++/12/type_traits \ + /usr/include/c++/12/bits/nested_exception.h \ + /usr/include/c++/12/bits/char_traits.h /usr/include/c++/12/cstdint \ + /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/time64.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ + /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/c++/12/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h \ + /usr/include/c++/12/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/12/cctype \ + /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endianness.h \ + /usr/include/c++/12/bits/ios_base.h /usr/include/c++/12/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ + /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/atomic_word.h \ + /usr/include/x86_64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/12/bits/locale_classes.h /usr/include/c++/12/string \ + /usr/include/c++/12/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h \ + /usr/include/c++/12/bits/new_allocator.h \ + /usr/include/c++/12/bits/functexcept.h \ + /usr/include/c++/12/bits/cpp_type_traits.h \ + /usr/include/c++/12/bits/ostream_insert.h \ + /usr/include/c++/12/bits/cxxabi_forced.h \ + /usr/include/c++/12/bits/stl_iterator_base_types.h \ + /usr/include/c++/12/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/12/bits/concept_check.h \ + /usr/include/c++/12/debug/assertions.h \ + /usr/include/c++/12/bits/stl_iterator.h \ + /usr/include/c++/12/ext/type_traits.h \ + /usr/include/c++/12/bits/ptr_traits.h \ + /usr/include/c++/12/bits/stl_function.h \ + /usr/include/c++/12/backward/binders.h \ + /usr/include/c++/12/ext/numeric_traits.h \ + /usr/include/c++/12/bits/stl_algobase.h \ + /usr/include/c++/12/bits/stl_pair.h /usr/include/c++/12/bits/utility.h \ + /usr/include/c++/12/debug/debug.h \ + /usr/include/c++/12/bits/predefined_ops.h \ + /usr/include/c++/12/bits/refwrap.h /usr/include/c++/12/bits/invoke.h \ + /usr/include/c++/12/bits/range_access.h \ + /usr/include/c++/12/initializer_list \ + /usr/include/c++/12/bits/basic_string.h \ + /usr/include/c++/12/ext/alloc_traits.h \ + /usr/include/c++/12/bits/alloc_traits.h \ + /usr/include/c++/12/bits/stl_construct.h /usr/include/c++/12/string_view \ + /usr/include/c++/12/bits/functional_hash.h \ + /usr/include/c++/12/bits/string_view.tcc \ + /usr/include/c++/12/ext/string_conversions.h /usr/include/c++/12/cstdlib \ + /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/c++/12/bits/std_abs.h /usr/include/c++/12/cstdio \ + /usr/include/stdio.h /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/c++/12/cerrno \ + /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ + /usr/include/c++/12/bits/charconv.h \ + /usr/include/c++/12/bits/basic_string.tcc \ + /usr/include/c++/12/bits/locale_classes.tcc \ + /usr/include/c++/12/system_error \ + /usr/include/x86_64-linux-gnu/c++/12/bits/error_constants.h \ + /usr/include/c++/12/stdexcept /usr/include/c++/12/streambuf \ + /usr/include/c++/12/bits/streambuf.tcc \ + /usr/include/c++/12/bits/basic_ios.h \ + /usr/include/c++/12/bits/locale_facets.h /usr/include/c++/12/cwctype \ + /usr/include/wctype.h /usr/include/x86_64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/ctype_base.h \ + /usr/include/c++/12/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/ctype_inline.h \ + /usr/include/c++/12/bits/locale_facets.tcc \ + /usr/include/c++/12/bits/basic_ios.tcc /usr/include/c++/12/ostream \ + /usr/include/c++/12/bits/ostream.tcc \ + /usr/include/c++/12/bits/istream.tcc /usr/include/c++/12/stack \ + /usr/include/c++/12/deque /usr/include/c++/12/bits/stl_uninitialized.h \ + /usr/include/c++/12/bits/stl_deque.h /usr/include/c++/12/bits/deque.tcc \ + /usr/include/c++/12/bits/stl_stack.h \ + /usr/include/c++/12/bits/uses_allocator.h ../../PACC/XML/Attribute.hpp \ + ../../PACC/Util/StringFunc.hpp /usr/include/c++/12/sstream \ + /usr/include/c++/12/bits/sstream.tcc /usr/include/c++/12/stdlib.h \ + /usr/include/c++/12/map /usr/include/c++/12/bits/stl_tree.h \ + /usr/include/c++/12/ext/aligned_buffer.h \ + /usr/include/c++/12/bits/node_handle.h \ + /usr/include/c++/12/bits/stl_map.h /usr/include/c++/12/tuple \ + /usr/include/c++/12/bits/stl_multimap.h \ + /usr/include/c++/12/bits/erase_if.h /usr/include/c++/12/set \ + /usr/include/c++/12/bits/stl_set.h \ + /usr/include/c++/12/bits/stl_multiset.h ../../PACC/Util/Assert.hpp \ + /usr/include/c++/12/iostream /usr/include/c++/12/queue \ + /usr/include/c++/12/vector /usr/include/c++/12/bits/stl_vector.h \ + /usr/include/c++/12/bits/stl_bvector.h \ + /usr/include/c++/12/bits/vector.tcc /usr/include/c++/12/bits/stl_heap.h \ + /usr/include/c++/12/bits/stl_queue.h ../../PACC/XML/Streamer.hpp \ + /usr/include/c++/12/fstream /usr/include/c++/12/bits/codecvt.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/basic_file.h \ + /usr/include/x86_64-linux-gnu/c++/12/bits/c++io.h \ + /usr/include/c++/12/bits/fstream.tcc Finder.cpp \ + ../../PACC/XML/Finder.hpp Node.cpp Streamer.cpp +/usr/include/stdc-predef.h: +Document.cpp: +../../PACC/XML/Document.hpp: +../../PACC/XML/Iterator.hpp: +../../PACC/XML/Node.hpp: +../../PACC/Util/Tokenizer.hpp: +/usr/include/c++/12/istream: +/usr/include/c++/12/ios: +/usr/include/c++/12/iosfwd: +/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/os_defines.h: +/usr/include/features.h: +/usr/include/features-time64.h: +/usr/include/x86_64-linux-gnu/bits/wordsize.h: +/usr/include/x86_64-linux-gnu/bits/timesize.h: +/usr/include/x86_64-linux-gnu/sys/cdefs.h: +/usr/include/x86_64-linux-gnu/bits/long-double.h: +/usr/include/x86_64-linux-gnu/gnu/stubs.h: +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/cpu_defines.h: +/usr/include/c++/12/pstl/pstl_config.h: +/usr/include/c++/12/bits/stringfwd.h: +/usr/include/c++/12/bits/memoryfwd.h: +/usr/include/c++/12/bits/postypes.h: +/usr/include/c++/12/cwchar: +/usr/include/wchar.h: +/usr/include/x86_64-linux-gnu/bits/libc-header-start.h: +/usr/include/x86_64-linux-gnu/bits/floatn.h: +/usr/include/x86_64-linux-gnu/bits/floatn-common.h: +/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h: +/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h: +/usr/include/x86_64-linux-gnu/bits/wchar.h: +/usr/include/x86_64-linux-gnu/bits/types/wint_t.h: +/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h: +/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h: +/usr/include/x86_64-linux-gnu/bits/types/__FILE.h: +/usr/include/x86_64-linux-gnu/bits/types/FILE.h: +/usr/include/x86_64-linux-gnu/bits/types/locale_t.h: +/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h: +/usr/include/c++/12/exception: +/usr/include/c++/12/bits/exception.h: +/usr/include/c++/12/bits/exception_ptr.h: +/usr/include/c++/12/bits/exception_defines.h: +/usr/include/c++/12/bits/cxxabi_init_exception.h: +/usr/include/c++/12/typeinfo: +/usr/include/c++/12/bits/hash_bytes.h: +/usr/include/c++/12/new: +/usr/include/c++/12/bits/move.h: +/usr/include/c++/12/type_traits: +/usr/include/c++/12/bits/nested_exception.h: +/usr/include/c++/12/bits/char_traits.h: +/usr/include/c++/12/cstdint: +/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h: +/usr/include/stdint.h: +/usr/include/x86_64-linux-gnu/bits/types.h: +/usr/include/x86_64-linux-gnu/bits/typesizes.h: +/usr/include/x86_64-linux-gnu/bits/time64.h: +/usr/include/x86_64-linux-gnu/bits/stdint-intn.h: +/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h: +/usr/include/c++/12/bits/localefwd.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/c++locale.h: +/usr/include/c++/12/clocale: +/usr/include/locale.h: +/usr/include/x86_64-linux-gnu/bits/locale.h: +/usr/include/c++/12/cctype: +/usr/include/ctype.h: +/usr/include/x86_64-linux-gnu/bits/endian.h: +/usr/include/x86_64-linux-gnu/bits/endianness.h: +/usr/include/c++/12/bits/ios_base.h: +/usr/include/c++/12/ext/atomicity.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/gthr.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/gthr-default.h: +/usr/include/pthread.h: +/usr/include/sched.h: +/usr/include/x86_64-linux-gnu/bits/types/time_t.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h: +/usr/include/x86_64-linux-gnu/bits/sched.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h: +/usr/include/x86_64-linux-gnu/bits/cpu-set.h: +/usr/include/time.h: +/usr/include/x86_64-linux-gnu/bits/time.h: +/usr/include/x86_64-linux-gnu/bits/timex.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h: +/usr/include/x86_64-linux-gnu/bits/types/clock_t.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h: +/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h: +/usr/include/x86_64-linux-gnu/bits/types/timer_t.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h: +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: +/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h: +/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h: +/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h: +/usr/include/x86_64-linux-gnu/bits/struct_mutex.h: +/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h: +/usr/include/x86_64-linux-gnu/bits/setjmp.h: +/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h: +/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h: +/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/atomic_word.h: +/usr/include/x86_64-linux-gnu/sys/single_threaded.h: +/usr/include/c++/12/bits/locale_classes.h: +/usr/include/c++/12/string: +/usr/include/c++/12/bits/allocator.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/c++allocator.h: +/usr/include/c++/12/bits/new_allocator.h: +/usr/include/c++/12/bits/functexcept.h: +/usr/include/c++/12/bits/cpp_type_traits.h: +/usr/include/c++/12/bits/ostream_insert.h: +/usr/include/c++/12/bits/cxxabi_forced.h: +/usr/include/c++/12/bits/stl_iterator_base_types.h: +/usr/include/c++/12/bits/stl_iterator_base_funcs.h: +/usr/include/c++/12/bits/concept_check.h: +/usr/include/c++/12/debug/assertions.h: +/usr/include/c++/12/bits/stl_iterator.h: +/usr/include/c++/12/ext/type_traits.h: +/usr/include/c++/12/bits/ptr_traits.h: +/usr/include/c++/12/bits/stl_function.h: +/usr/include/c++/12/backward/binders.h: +/usr/include/c++/12/ext/numeric_traits.h: +/usr/include/c++/12/bits/stl_algobase.h: +/usr/include/c++/12/bits/stl_pair.h: +/usr/include/c++/12/bits/utility.h: +/usr/include/c++/12/debug/debug.h: +/usr/include/c++/12/bits/predefined_ops.h: +/usr/include/c++/12/bits/refwrap.h: +/usr/include/c++/12/bits/invoke.h: +/usr/include/c++/12/bits/range_access.h: +/usr/include/c++/12/initializer_list: +/usr/include/c++/12/bits/basic_string.h: +/usr/include/c++/12/ext/alloc_traits.h: +/usr/include/c++/12/bits/alloc_traits.h: +/usr/include/c++/12/bits/stl_construct.h: +/usr/include/c++/12/string_view: +/usr/include/c++/12/bits/functional_hash.h: +/usr/include/c++/12/bits/string_view.tcc: +/usr/include/c++/12/ext/string_conversions.h: +/usr/include/c++/12/cstdlib: +/usr/include/stdlib.h: +/usr/include/x86_64-linux-gnu/bits/waitflags.h: +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: +/usr/include/x86_64-linux-gnu/sys/types.h: +/usr/include/endian.h: +/usr/include/x86_64-linux-gnu/bits/byteswap.h: +/usr/include/x86_64-linux-gnu/bits/uintn-identity.h: +/usr/include/x86_64-linux-gnu/sys/select.h: +/usr/include/x86_64-linux-gnu/bits/select.h: +/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h: +/usr/include/alloca.h: +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: +/usr/include/c++/12/bits/std_abs.h: +/usr/include/c++/12/cstdio: +/usr/include/stdio.h: +/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h: +/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h: +/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h: +/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h: +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: +/usr/include/x86_64-linux-gnu/bits/stdio.h: +/usr/include/c++/12/cerrno: +/usr/include/errno.h: +/usr/include/x86_64-linux-gnu/bits/errno.h: +/usr/include/linux/errno.h: +/usr/include/x86_64-linux-gnu/asm/errno.h: +/usr/include/asm-generic/errno.h: +/usr/include/asm-generic/errno-base.h: +/usr/include/x86_64-linux-gnu/bits/types/error_t.h: +/usr/include/c++/12/bits/charconv.h: +/usr/include/c++/12/bits/basic_string.tcc: +/usr/include/c++/12/bits/locale_classes.tcc: +/usr/include/c++/12/system_error: +/usr/include/x86_64-linux-gnu/c++/12/bits/error_constants.h: +/usr/include/c++/12/stdexcept: +/usr/include/c++/12/streambuf: +/usr/include/c++/12/bits/streambuf.tcc: +/usr/include/c++/12/bits/basic_ios.h: +/usr/include/c++/12/bits/locale_facets.h: +/usr/include/c++/12/cwctype: +/usr/include/wctype.h: +/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/ctype_base.h: +/usr/include/c++/12/bits/streambuf_iterator.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/ctype_inline.h: +/usr/include/c++/12/bits/locale_facets.tcc: +/usr/include/c++/12/bits/basic_ios.tcc: +/usr/include/c++/12/ostream: +/usr/include/c++/12/bits/ostream.tcc: +/usr/include/c++/12/bits/istream.tcc: +/usr/include/c++/12/stack: +/usr/include/c++/12/deque: +/usr/include/c++/12/bits/stl_uninitialized.h: +/usr/include/c++/12/bits/stl_deque.h: +/usr/include/c++/12/bits/deque.tcc: +/usr/include/c++/12/bits/stl_stack.h: +/usr/include/c++/12/bits/uses_allocator.h: +../../PACC/XML/Attribute.hpp: +../../PACC/Util/StringFunc.hpp: +/usr/include/c++/12/sstream: +/usr/include/c++/12/bits/sstream.tcc: +/usr/include/c++/12/stdlib.h: +/usr/include/c++/12/map: +/usr/include/c++/12/bits/stl_tree.h: +/usr/include/c++/12/ext/aligned_buffer.h: +/usr/include/c++/12/bits/node_handle.h: +/usr/include/c++/12/bits/stl_map.h: +/usr/include/c++/12/tuple: +/usr/include/c++/12/bits/stl_multimap.h: +/usr/include/c++/12/bits/erase_if.h: +/usr/include/c++/12/set: +/usr/include/c++/12/bits/stl_set.h: +/usr/include/c++/12/bits/stl_multiset.h: +../../PACC/Util/Assert.hpp: +/usr/include/c++/12/iostream: +/usr/include/c++/12/queue: +/usr/include/c++/12/vector: +/usr/include/c++/12/bits/stl_vector.h: +/usr/include/c++/12/bits/stl_bvector.h: +/usr/include/c++/12/bits/vector.tcc: +/usr/include/c++/12/bits/stl_heap.h: +/usr/include/c++/12/bits/stl_queue.h: +../../PACC/XML/Streamer.hpp: +/usr/include/c++/12/fstream: +/usr/include/c++/12/bits/codecvt.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/basic_file.h: +/usr/include/x86_64-linux-gnu/c++/12/bits/c++io.h: +/usr/include/c++/12/bits/fstream.tcc: +Finder.cpp: +../../PACC/XML/Finder.hpp: +Node.cpp: +Streamer.cpp: diff --git a/lib/beagle-3.0.3/PACC/XML/Attribute.hpp b/lib/beagle-3.0.3/PACC/XML/Attribute.hpp new file mode 100644 index 0000000..a33df26 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/Attribute.hpp @@ -0,0 +1,101 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/XML/Attribute.hpp + * \brief Class definition for the %XML tag attributes. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.8.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_XML_Attribute_hpp_ +#define PACC_XML_Attribute_hpp_ + +#include "Util/StringFunc.hpp" +#include + +namespace PACC { + + using namespace std; + + namespace XML { + + /*!\brief %Attribute list for tree nodes. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup XML + */ + class AttributeList : public map { + public: + + //! Construct an empty attribute list. + AttributeList() {} + + //! Return concatenation of attribute list \c inAttrList with this list. + AttributeList operator+(const AttributeList& inAttrList) const { + return AttributeList(*this) += inAttrList; + } + + //! Append attribute list \c inAttrList to this list. + AttributeList& operator+=(const AttributeList& inAttrList) { + for(AttributeList::const_iterator lPos = inAttrList.begin(); lPos != inAttrList.end(); ++lPos) { + (*this)[lPos->first] = lPos->second; + } + return *this; + } + + //! Return value of attribute \c inName, or empty string if it doesn't exist. + const string& getAttribute(const string& inName) const { + static const string lEmpty; + const_iterator lAttr = find(inName); + return (lAttr != end() ? (*lAttr).second : lEmpty);} + + //! Test wheter attribute name \c inName exists in this list. + bool isDefined(const std::string& inName) const { + return find(inName) != end(); + } + + //! Remove attribute name \c inName from this attribute list. + void removeAttribute(const string& inName) { + erase(inName); + } + //! Set attribute \c inName to value \c inValue. + void setAttribute(const string& inName, const string& inValue) { + (*this)[inName] = inValue; + } + + //! Set attribute \c inName to value \c inValue. + void setAttribute(const string& inName, double inValue) { + (*this)[inName] = String::convert(inValue); + } + }; + + } // end of XML namespace + +} // end of PACC namespace + +#endif diff --git a/lib/beagle-3.0.3/PACC/XML/Document.cpp b/lib/beagle-3.0.3/PACC/XML/Document.cpp new file mode 100644 index 0000000..4dd8ab8 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/Document.cpp @@ -0,0 +1,296 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/XML/Document.cpp + * \brief Class methods for the %XML document. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.7.2.2 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#include "XML/Document.hpp" +#include "XML/Streamer.hpp" +#include "Util/Assert.hpp" +#include +#include + +using namespace std; +using namespace PACC; + +/*! +\return An iterator to the Added child + +This method first allocates a new node of type \c inType and value \c inValue, and inserts this node as the last child of the referenced node. It then returns an iterator to the newly allocated node, which can be used to set tag attributes. For example, to add child tag "Mytag" to the node referenced by iterator \c lPos in document \c lDocument: +\code +Iterator lPos; +... +Iterator lChild = lDocument.addChild(lPos, "Mytag"); +lChild->setAttribute("attribute", "value"); +... +\endcode +*/ +XML::Iterator XML::Document::addChild(const XML::Iterator& inPos, const string& inValue, NodeType inType) +{ + return attachChild(inPos, new Node(inValue, inType)); +} + +/*! +\return An iterator to the new root. + +This method first allocates a new node of type \c inType and value \c inValue, and inserts this node as the last root element of the document. It then returns an iterator to the newly allocated node, which can be used to set tag attributes. For example, to add root tag "Myroot" to document \c lDocument: +\code +Iterator lPos; +... +Iterator lChild = lDocument.addRoot(lPos, "Mytag"); +lChild->setAttribute("attribute", "value"); +... +\endcode +*/ +XML::Iterator XML::Document::addRoot(const string& inValue, XML::NodeType inType) +{ + // allocate new node + Node* lNode = new Node(inValue, inType); + // insert at end of root list + insertAsLastChild(lNode); + return lNode; +} + +/*! +\return An iterator to the new sibling. + +This method first allocates a new node of type \c inType and value \c inValue, and inserts this node in front of the referenced node. It then returns an iterator to the newly allocated node, which can be used to set tag attributes. For example, to add sibling tag "Mytag" to the node referenced by iterator \c lPos in document \c lDocument: +\code +Iterator lPos; +... +Iterator lChild = lDocument.addSibling(lPos, "Mytag"); +lChild->setAttribute("attribute", "value"); +... +\endcode +*/ +XML::Iterator XML::Document::addSibling(const XML::Iterator& inPos, const string& inValue, XML::NodeType inType) +{ + PACC_AssertM(inPos, "Invalid iterator!"); + return attachSibling(inPos, new Node(inValue, inType)); +} + +/*! +\return An iterator to the attached child. + +This method inserts the pre-allocated node \c inNode (and its sub-tree) as the last child of the referenced node. The node pointed by \c inNode then becomes property of this document. + +\attention A document sub-tree needs to be detached (see Document::detach) before it can be move to another document or another branch of the same document (node are not reference counted). Otherwise, the subtree will be owned twiced, and deallocated by the first owner which is deleted. This can produce strange behaviors that are very difficult to debug. Beware! +*/ +XML::Iterator XML::Document::attachChild(const XML::Iterator& inPos, XML::Node* inChild) +{ + PACC_AssertM(inPos, "Invalid iterator!"); + PACC_AssertM(inChild, "Cannot attach nul pointer!"); + inPos->insertAsLastChild(inChild); + return inChild; +} + +/*! +\return An Iterator to the attached sibling. + +This method inserts the pre-allocated node \c inNode (and its sub-tree) as the sibling that precedes the referenced node. The node pointed by \c inNode then becomes property of this document. + +\attention A document sub-tree needs to be detached (see Document::detach) before it can be move to another document or another branch of the same document (nodes are not reference counted). Otherwise, the subtree will be owned twiced, and deallocated by the first owner which is deleted. This can produce strange behaviors that are very difficult to debug. Beware! +*/ +XML::Iterator XML::Document::attachSibling(const XML::Iterator& inPos, XML::Node* inSibling) +{ + PACC_AssertM(inPos, "Invalid iterator!"); + PACC_AssertM(inSibling, "Cannot attach nul pointer!"); + inPos->insertAsPreviousSibling(inSibling); + return inSibling; +} + +/*! +\return A pointer to the detached node. + +Tree nodes should never be owned by multiple document objects because no reference counting is implemented. This method can be used to remove node ownership from one document so that the corresponding sub-tree can be moved to another document. A detached sub-tree (node) can be re-attached to a document using methods Document::attachChild or Document::attachSibling. +*/ +XML::Node* XML::Document::detach(const XML::Iterator& inPos) +{ + PACC_AssertM(inPos, "Invalid iterator!"); + return inPos->detachFromSiblingsAndParent(); +} + +/*! +Upon return, iterator \c inPos is invalidated (should not be incremented, decremented, nor deferenced). For example, given document \c lDocument, the following code that iterates through the childs of the first root data tag is WRONG: +\code +... +Iterator lRoot = lDocument.getFirstDataTag(); +// process all childs of root data tag. +for(Iterator lChild = lRoot->getFirstChild(); lChild; ++lChild) { + // determine if this child should be erased + ... + if(should_erase) lDocument.erase(lChild); + // lChild is now invalid! +} +\endcode +The problem is that iterator \c lChild is invalidated by the call to the erase method. When the for-statement proceeds with operation \c ++lChild, the iterator becomes invalid and the loop may terminate early. + +One way to circumvent this restriction is to use the postfix version of the increment operator in the method call. For example, the following code will work correctly: +\code +... +Iterator lChild = lRoot.getFirstChild(); +while(lChild) { + // process node information in order to determine if it should be erased + ... + if(should_erase) lDocument.erase(lChild++); + else ++lChild; +} +\endcode +*/ +void XML::Document::erase(XML::Iterator inPos) +{ + // detach and delete + delete inPos->detachFromSiblingsAndParent(); +} + +/*! +*/ +void XML::Document::eraseRoots(void) +{ + // delete all childs of the root node + eraseChildren(); +} + +/*! +An %XML document may contain three types of elements: declarative tags, special tags, and data tags. This method returns an iterator on the first data tag amongs the root elements of the document. +*/ +XML::Iterator XML::Document::getFirstDataTag(void) +{ + for(Iterator lTag = getFirstChild(); lTag; ++lTag) if(lTag->getType() == eData) return lTag; + return 0; +} + +/*! +An %XML document may contain three types of elements: declarative tags, special tags, and data tags. This method returns an iterator on the first data tag amongs the root elements of the document. +*/ +XML::ConstIterator XML::Document::getFirstDataTag(void) const +{ + for(ConstIterator lTag = getFirstChild(); lTag; ++lTag) if(lTag->getType() == eData) return lTag; + return 0; +} + +/*! +An %XML document may contain three types of elements: declarative tags, special tags, and data tags. This method returns an iterator on the first element encountered in the document (usually the tag). +*/ +XML::Iterator XML::Document::getFirstRoot(void) +{ + return getFirstChild(); +} + +/*! +An %XML document may contain three types of elements: declarative tags, special tags, and data tags. This method returns an iterator on the first element encountered in the document (usually the tag). +*/ +XML::ConstIterator XML::Document::getFirstRoot(void) const +{ + return getFirstChild(); +} + +/*! +*/ +void XML::Document::parse(const string& inFileName) +{ + // open file + ifstream lStream(inFileName.c_str()); + if(!lStream.good()) throw runtime_error(string("Document::parse() unable to open file ")+inFileName); + // parse file content + parse(lStream, inFileName); +} + +/*! +*/ +void XML::Document::parse(istream& inStream, const string& inName) +{ + Tokenizer lTokenizer(inStream); + lTokenizer.setStreamName(inName); + eraseRoots(); + Node* lNode = 0; + // parse all elements + while((lNode=Node::parse(lTokenizer, mNoParseTags)) != NULL) insertAsLastChild(lNode); + if(lTokenizer.peekNextChar() != -1) { + // stream contains bad markup + lTokenizer.setDelimiters("", "\n\r"); + Node lBad(string("= 0); + Streamer lStream(outStream, (lIndent ? (unsigned int)inWidth : 0)); + lStream.setAttributeIndentation(inIndentAttributes); + // retrieve first root + ConstIterator lRoot = getFirstRoot(); + if(lRoot) + { + // check for xml header + if(lRoot->getType() != eDecl) lStream.insertHeader(); + // serialize all roots + while(lRoot) (lRoot++)->serialize(lStream, lIndent); + } +} + +/*! +The content of noparse markups will not be parsed, but simply read as a string. Noparse tags are useful for not wasting time parsing markup that is uninteresting for a given application. It is a compromise between the DOM and SAX models of XML parsers. + + \attention The node type for noparse markup is NodeType::eNoParse. Such a node is similar to NodeType::eString, but may embed some unparsed markup. +*/ +void XML::Document::setNoParse(const string& inTag) +{ + mNoParseTags.insert(inTag); +} + +/*! +*/ +void XML::Document::unsetNoParse(const string& inTag) +{ + mNoParseTags.erase(inTag); +} + +/*! +*/ +ostream& PACC::operator<<(ostream &outStream, const XML::Document& inDocument) +{ + inDocument.serialize(outStream); + return outStream; +} + +/*! +*/ +istream& PACC::operator>>(istream &inStream, XML::Document& outDocument) +{ + outDocument.parse(inStream); + return inStream; +} diff --git a/lib/beagle-3.0.3/PACC/XML/Document.hpp b/lib/beagle-3.0.3/PACC/XML/Document.hpp new file mode 100644 index 0000000..1dfdfe5 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/Document.hpp @@ -0,0 +1,163 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/XML/Document.hpp + * \brief Class definition for the %XML document. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.6.2.2 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_XML_Document_hpp_ +#define PACC_XML_Document_hpp_ + +#include "XML/Iterator.hpp" +#include + +namespace PACC { + + using namespace std; + + namespace XML { + + /*! \brief %Document container and parser. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup XML + + This class is for parsing and manipulating xml documents. It respects the basic %XML syntax, except for the following items: + -# It does not deal with character encodings; + -# It does not support DTD (external doctypes are ignored; internal ones are not allowed); + . + In other words, it can read most data coded in %XML, but cannot validate its syntax, nor translate its character encodings (this translation must be done by the application). Also, document type declarations should not contain any embedded elements (external references are ignored). + + The document is internaly represented as a list (forest) of m-ary rooted trees. These trees can represent different types of elements: + -# Regular markup data (XML::eData) + -# Literal strings (XML::eString) + -# %XML declaration of the form (XML::eDecl) + -# Comments of the form <!-- ... --> (XML::eComment) + -# CDATA sections of the form (XML::eCDATA) + -# Processing instructions of the form (XML::ePI) + -# Special elements of the form (XML::eSpecial) + . + Tree nodes are derived from a map of attribute/value string pairs and contain a list of child node pointers. An Iterator class is defined in order to iterate through these nodes. Iterators wrap pointers to node elements of the document tree with ++ and -- operators to iterate through sibling nodes. For example: +\code +Document lDocument; +lDocument.parse("Myfile.xml"); +Iterator lTag; +// search the root elements of the document for the first data tag +for(lTag = lDocument.getFirstRoot(); lTag; ++lTag) if(lTag->getType() != eData) break; +... +\endcode + can be used to iterate over the root elements of document \c lDocument in order to locate its first root markup tag. The same result can be achieved using helper method Document::getFirstDataTag. The type of a node can be retrieved using method Node::getType. + + Markup data can contain embedded child tags which can be iterated over just like any other node. For instance, to iterate over the childs of the first markup element of document \c lDocument: +\code +Iterator lRoot = lDocument.getFirstDataTag(); +for(Iterator lChild = lRoot->getFirstChild(); lChild; ++lChild) { + // process each child + ... +} +\endcode + + A document can also be constructed from scratch, or modified, using methods Document::addChild, Document::addRoot, Document::addSibling, Document::attachChild, Document::attachSibling, Document::detach, Document::erase, and Document::eraseRoots. It can be serialized into a stream using method Document::serialize, and parsed from a stream using Document::parse. To search for specific markup data, one may use an instance of the Finder class. + */ + class Document : private Node { + public: + //! Constructs an empty document. + Document(void) {} + //! Constructs a document from an input stream. + Document(istream& inStream, const string& inName="") {parse(inStream, inName);} + //! Delete document. + ~Document(void) {eraseRoots();} + + //! Add a new child to the node referenced by iterator \c inPos. + Iterator addChild(const Iterator& inPos, const string& inValue, NodeType inType=eData); + + //! Add a new root node in this document. + Iterator addRoot(const string& inValue, NodeType inType=eData); + + //! Add a new sibling in front of the node referenced by iterator \c inPos. + Iterator addSibling(const Iterator& inPos, const string& inValue, NodeType inType=eData); + + //! Attach node \c inChild as a child of the node referenced by iterator \c inPos. + Iterator attachChild(const Iterator& inPos, Node* inChild); + + //! Attach node \c inNode as a sibling in front of the node referenced by iterator \c inPos. + Iterator attachSibling(const Iterator& inPos, Node* inSibling); + + //! Detach the sub-tree rooted at the node referenced by iterator \c inPos. + Node* detach(const Iterator& inPos); + + //! Delete the node referenced by iterator \c inPos. + void erase(Iterator inPos); + + //! Delete all root elements of this document. + void eraseRoots(void); + + //! Return an iterator on the first data tag of this document. + Iterator getFirstDataTag(void); + + //! Return a const iterator on the first data tag of this document. + ConstIterator getFirstDataTag(void) const; + + //! Return an iterator on the first root element of this document. + Iterator getFirstRoot(void); + + //! Return a const iterator on the first root element of this document. + ConstIterator getFirstRoot(void) const; + + //! Parse a document contained in the file named \c inFileName; + void parse(const string& inFileName); + + //! Parse a document from input stream \c inStream, using string \c inName as stream name for error messages. + void parse(istream& inStream, const string& inName=""); + + //! Serialize document into an output stream \c outStream, using indentation of \c inWidth characters. + void serialize(ostream& outStream, int inWidth=2, bool inIndentAttributes=false) const; + + //! Add \c inTag to the list of tag names for which content should not be parsed for this document. + void setNoParse(const string& inTag); + + //! Remove \c inTag from the list of tags for which content should not be parsed for this document. + void unsetNoParse(const string& inTag); + + protected: + set mNoParseTags; //!< Tag names for which content should not be parsed + + }; + + } // end of XML namespace + + //! Insert document \c inDocument into output stream \c outStream. + ostream& operator<<(ostream &outStream, const XML::Document& inDocument); + //! Extract document \c outDocument from input stream \c inStream. + istream& operator>>(istream &inStream, XML::Document& outDocument); + +} // end of PACC namespace + +#endif // PACC_XML_Document_hpp_ diff --git a/lib/beagle-3.0.3/PACC/XML/Finder.cpp b/lib/beagle-3.0.3/PACC/XML/Finder.cpp new file mode 100644 index 0000000..16c52ab --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/Finder.cpp @@ -0,0 +1,293 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/XML/Finder.cpp + * \brief Class methods for the %XML tag finder. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.6.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#include "XML/Finder.hpp" +#include +#include + +using namespace std; +using namespace PACC; + +/*! +Only regular markup is considered in this search. Here is an usage example for finding the first instance of tag "MyTag" in document \c lDocument: +\code +Document lDocument; +... +Finder lFinder(lDocument.getFirstDataTag()); +// find the first instance +Iterator lTag = lFinder.find("//Mytag"); +if(lTag) +{ + // process this instance of markup "Mytag" + ... +} +\endcode +After processing a found tag, the search may be continued using method Finder::findNext. +*/ +XML::Iterator XML::Finder::find(const string& inPath) +{ + // reset the path steps + mSteps.clear(); + // parse the search path + istringstream lStream(inPath); + Tokenizer lTokenizer(lStream); + lTokenizer.setDelimiters("", "/"); + string lToken; + while(lTokenizer.getNextToken(lToken)) { + // next token should be '/' + if(lToken[0] != '/') { + // unless path is relative; then make it absolute! + if(mSteps.empty()) { + mSteps.push_back("*"); + mSteps.push_back(lToken); + continue; + } else throw runtime_error(string("Finder::find() invalid search path: ")+inPath); + } + char lNextChar = lTokenizer.peekNextChar(); + if(lNextChar == -1) break; + // process '//' special case + if(lNextChar == '/') { + // but ignore '///' + if(mSteps.empty() || mSteps.back() != "") mSteps.push_back(""); + } else if(lTokenizer.getNextToken(lToken)) mSteps.push_back(lToken); + else break; + } + // search for the path + search(mNode, 0); + // pop first match from queue + Iterator lPos; + if(!mMatches.empty()) { + lPos = mMatches.front(); + mMatches.pop(); + } + // return first match or null iterator + return lPos; +} + +/*! +The search proceeds from the point where the last markup was found. Here is an example where we search for all instances of markup "Mytag" in document \c lDocument: +\code +Document lDocument; +... +Finder lFinder(lDocument.getFirstDataTag()); +// find all instances of tag +for(Iterator lTag = lFinder.find("//Mytag"); lTag; lTag = lFinder.findNext()) +{ + // process each instance + ... +} +\endcode +*/ +XML::Iterator XML::Finder::findNext(void) +{ + Iterator lPos; + // pop next match from the queue + if(!mMatches.empty()) { + lPos = mMatches.front(); + mMatches.pop(); + } + // return next match or null iterator + return lPos; +} + +//! Search for step \c inStep starting at position \c inPos. +void XML::Finder::search(XML::Iterator inPos, unsigned int inStep) { + // stop recursion? + if(!inPos || inStep >= mSteps.size()) return; + // process current step + if(mSteps[inStep] == "..") { + // move up to parent + if(inPos != mNode) { + if(inStep+1 < mSteps.size()) { + if(mSteps[inStep+1] == "..") search(inPos->getParent(), inStep+1); + else { + for(Iterator lPos = inPos->getParent()->getFirstChild(); lPos; ++lPos) + search(lPos, inStep+1); + } + } else mMatches.push(inPos->getParent()); + } + } else if(mSteps[inStep] == "") { + // walk tree in level order + queue lSearchQueue; + lSearchQueue.push(inPos); + while(!lSearchQueue.empty()) { + // get next node + Iterator lPos = lSearchQueue.front(); + lSearchQueue.pop(); + // push all its children onto the search queue + for(Iterator lChild = lPos->getFirstChild(); lChild; ++lChild) lSearchQueue.push(lChild); + // if not last step, search recursively + if(inStep+1 < mSteps.size()) search(lPos, inStep+1); + else mMatches.push(lPos); + } + } else { + if(mSteps[inStep] == "*" || inPos->getValue() == mSteps[inStep]) { + // found a match + if(inStep+1 < mSteps.size()) { + if(mSteps[inStep+1] == "..") search(inPos, inStep+1); + else { + for(Iterator lPos = inPos->getFirstChild(); lPos; ++lPos) + search(lPos, inStep+1); + } + } else mMatches.push(inPos); + } + } +} + +/*! +Only regular markup is considered in this search. Here is an usage example for finding the first instance of tag "MyTag" in document \c lDocument: +\code +Document lDocument; +... +ConstFinder lFinder(lDocument.getFirstDataTag()); +// find the first instance +ConstIterator lTag = lFinder.find("//Mytag"); +if(lTag) +{ + // process this instance of markup "Mytag" + ... +} +\endcode +After processing a found tag, the search may be continued using method Finder::findNext. +*/ +XML::ConstIterator XML::ConstFinder::find(const string& inPath) +{ + // reset the path steps + mSteps.clear(); + // parse the search path + istringstream lStream(inPath); + Tokenizer lTokenizer(lStream); + lTokenizer.setDelimiters("", "/"); + string lToken; + while(lTokenizer.getNextToken(lToken)) { + // next token should be '/' + if(lToken[0] != '/') { + // unless path is relative; then make it absolute! + if(mSteps.empty()) { + mSteps.push_back("*"); + mSteps.push_back(lToken); + continue; + } else throw runtime_error(string("ConstFinder::find() invalid search path: ")+inPath); + } + char lNextChar = lTokenizer.peekNextChar(); + if(lNextChar == -1) break; + // process '//' special case + if(lNextChar == '/') { + // but ignore '///' + if(mSteps.empty() || mSteps.back() != "") mSteps.push_back(""); + } else if(lTokenizer.getNextToken(lToken)) mSteps.push_back(lToken); + else break; + } + // search for the path + search(mNode, 0); + // pop first match from queue + ConstIterator lPos; + if(!mMatches.empty()) { + lPos = mMatches.front(); + mMatches.pop(); + } + // return first match or null iterator + return lPos; +} + +/*! +The search proceeds from the point where the last markup was found. Here is an example where we search for all instances of markup "Mytag" in document \c lDocument: +\code +Document lDocument; +... +ConstFinder lFinder(lDocument.getFirstDataTag()); +// find all instances of tag +for(ConstIterator lTag = lDocument.find("//Mytag"); lTag; lTag = lDocument.findNext()) +{ + // process each instance + ... +} +\endcode +*/ +XML::ConstIterator XML::ConstFinder::findNext(void) +{ + ConstIterator lPos; + // pop next match from queue + if(!mMatches.empty()) { + lPos = mMatches.front(); + mMatches.pop(); + } + // return next match or null iterator + return lPos; +} + +//! Search for step \c inStep starting at position \c inPos. +void XML::ConstFinder::search(XML::ConstIterator inPos, unsigned int inStep) { + // stop recursion? + if(!inPos || inStep >= mSteps.size()) return; + // process current step + if(mSteps[inStep] == "..") { + // move up to parent + if(inPos != mNode) { + if(inStep+1 < mSteps.size()) { + if(mSteps[inStep+1] == "..") search(inPos->getParent(), inStep+1); + else { + for(ConstIterator lPos = inPos->getParent()->getFirstChild(); lPos; ++lPos) + search(lPos, inStep+1); + } + } else mMatches.push(inPos->getParent()); + } + } else if(mSteps[inStep] == "") { + // walk tree in level order + queue lSearchQueue; + lSearchQueue.push(inPos); + while(!lSearchQueue.empty()) { + // get next node + ConstIterator lPos = lSearchQueue.front(); + lSearchQueue.pop(); + // push all its children onto the search queue + for(ConstIterator lChild = lPos->getFirstChild(); lChild; ++lChild) lSearchQueue.push(lChild); + // if not last step, search recursively + if(inStep+1 < mSteps.size()) search(lPos, inStep+1); + else mMatches.push(lPos); + } + } else { + if(mSteps[inStep] == "*" || inPos->getValue() == mSteps[inStep]) { + // found a match + if(inStep+1 < mSteps.size()) { + if(mSteps[inStep+1] == "..") search(inPos, inStep+1); + else { + for(ConstIterator lPos = inPos->getFirstChild(); lPos; ++lPos) + search(lPos, inStep+1); + } + } else mMatches.push(inPos); + } + } +} diff --git a/lib/beagle-3.0.3/PACC/XML/Finder.hpp b/lib/beagle-3.0.3/PACC/XML/Finder.hpp new file mode 100644 index 0000000..d659d6b --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/Finder.hpp @@ -0,0 +1,114 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! +* \file PACC/XML/Finder.hpp + * \brief Class definition for the %XML tag finder. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.6.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_XML_Finder_hpp_ +#define PACC_XML_Finder_hpp_ + +#include "XML/Iterator.hpp" +#include +#include + +namespace PACC { + + using namespace std; + + namespace XML { + + //! \brief %Finder for data tags. + //! \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + //! \ingroup XML + //! + //! This class is for finding markup tags in a document sub-tree. The search string is inspired from the xpath standard. The following syntax subset is currently supported: + //! - Path ::= AbsolutePath | RelativePath + //! - AbsolutePath ::= '/' RelativePath | '//' RelativePath + //! - RelativePath ::= Step | RelativePath '/' Step | RelativePath '//' Step + //! - Step ::= '..' | '*' | TagName + //! . + //! Here is a list of simple examples: + //! - "para" finds the para element children of the root node + //! - "*" finds all element children of the root node + //! - "/doc/chapter/section" finds all sections of all chapters for root node doc + //! - "chapter//para" finds para elements descendants of the chapter element children of the root node + //! - "//para" finds all the para descendants of the root node + //! - "//para/*" finds all element children of all para descendants of the root node + //! - "//para/.." finds the parents of all para descendants of the root node + //! . + //! There can be no spaces in a search path. + class Finder : private Iterator { + public: + //! Construct a finder for the sub-tree rooted on \c inRoot. + Finder(const Iterator& inRoot) : Iterator(inRoot) {} + + //! Return the first markup instance that matches path \c inPath. + Iterator find(const string& inPath); + //! Return the next search result. + Iterator findNext(void); + + protected: + vector mSteps; //!< Array of steps in search path. + queue mMatches; //!< Search results. + + //! Internal search function. + void search(Iterator inPos, unsigned int inStep); + }; + + //! \brief Const finder for data tags. + //! \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + //! \ingroup XML + //! + //! This class is for finding markup tags in a document sub-tree using const iterators (see class Finder for more details). + class ConstFinder : private ConstIterator { + public: + //! Construct a const finder for the sub-tree rooted on \c inRoot. + ConstFinder(const ConstIterator& inRoot) : ConstIterator(inRoot) {} + + //! Return the first markup instance that matches path \c inPath. + ConstIterator find(const string& inPath); + //! Return the next search result. + ConstIterator findNext(void); + + protected: + vector mSteps; //!< Array of steps in search path. + queue mMatches; //!< Search results. + + //! Internal search function. + void search(ConstIterator inPos, unsigned int inStep); + }; + + } // end of namespace XML + +} // end of namespace PACC + +#endif // PACC_XML_Finder_hpp_ diff --git a/lib/beagle-3.0.3/PACC/XML/Iterator.hpp b/lib/beagle-3.0.3/PACC/XML/Iterator.hpp new file mode 100644 index 0000000..a5c8f6e --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/Iterator.hpp @@ -0,0 +1,200 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/XML/Iterator.hpp + * \brief Class definition for the %XML node iterator. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.6.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_XML_Iterator_hpp_ +#define PACC_XML_Iterator_hpp_ + +#include "XML/Node.hpp" +#include "Util/Assert.hpp" + +namespace PACC { + + using namespace std; + + namespace XML { + + /*! \brief %Node iterator. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup XML + + A node iterator is used to iterate through sibling nodes, using an interface similar to STL bidirectional iterators. For example, to iterate through the childs of node \c lNode: + \code + Node lNode; + ... + for(Iterator lChild = lNode.getFirstChild(); lChild; ++lChild) { + // process each child + ... + } + \endcode + Operator* can be used to return a node reference, operator-> to return a node pointer, operator++ (both prefix and postfix) to skip to next sibling, and operator-- (both prefix and postfix) to skip to previous sibling. + + A boolean casting operator is also available to test for end of sequence (see second term of for-statement above). An iterator pointing to a valid node always returns true while an invalid iterator returns false. An invalid iterator should never be dereferenced, incremented, or decremented. + */ + class Iterator { + public: + //! Construct an empty iterator. + Iterator(void) : mNode(0) {} + //! Construct an iterator for node pointer \c inNode. + Iterator(Node* inNode) : mNode(inNode) {} + + //! Iterate to next sibling of current node (prefix version); return iterator pointing to next sibling. + Iterator& operator++(void) { + PACC_AssertM(mNode, "Cannot increment an invalid iterator!"); + mNode = mNode->mNextSibling; + return *this; + } + //! Iterate to next sibling of current node (postfix version); return iterator pointing to current node. + Iterator operator++(int) { + PACC_AssertM(mNode, "Cannot increment an invalid iterator!"); + Iterator lTmp = *this; + mNode = mNode->mNextSibling; + return lTmp; + } + //! Iterate to previous sibling of current node (prefix version); return iterator pointing to previous sibling. + Iterator& operator--(void) { + PACC_AssertM(mNode, "Cannot decrement an invalid iterator!"); + if(mNode) mNode = mNode->mPrevSibling; + return *this; + } + //! Iterate to previous sibling of current node (postfix version); return iterator pointing to current node. + Iterator operator--(int) { + PACC_AssertM(mNode, "Cannot increment an invalid iterator!"); + Iterator lTmp = *this; + mNode = mNode->mPrevSibling; + return lTmp; + } + //! Return reference to current node (const version). + Node& operator*(void) const { + PACC_AssertM(mNode, "Cannot dereference an invalid iterator!"); + return *mNode; + } + //! Return pointer to current node (const version). + Node* operator->(void) const { + PACC_AssertM(mNode, "Invalid iterator!"); + return mNode; + } + //! Return true if this iterator is the same as iterator \c inIter; false otherwise. + bool operator==(const Iterator& inIter) const {return mNode == inIter.mNode;} + //! Return true if this iterator is different from iterator \c inIter; false otherwise. + bool operator!=(const Iterator& inIter) const {return mNode != inIter.mNode;} + //! Cast Iterator into bool; return true for a valid iterator, false otherwise. + operator bool(void) const {return mNode != 0;} + + protected: + Node* mNode; //!< Pointer to current node. + + friend class ConstIterator; + + }; + + /*! \brief %Node const iterator. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup XML + + A const node iterator is used to iterate through sibling nodes, using an interface similar to STL bidirectional const_iterators. For example, to iterate through the childs of node \c lNode: + \code + Node lNode; + ... + for(ConstIterator lChild = lNode.getFirstChild(); lChild; ++lChild) { + // process each child + ... + } + \endcode + Operator* can be used to return a node const reference, operator-> to return a node const pointer, operator++ (both prefix and postfix) to skip to next element, and operator-- (both prefix and postfix) to skip to next element. + + A boolean casting operator is also available to test for end of sequence (see second term of for-statement above). An iterator pointing to a valid node always returns true while an invalid iterator returns false. An invalid iterator should never be dereferenced, incremented, or decremented. + */ + class ConstIterator { + public: + //! Construct an empty const iterator. + ConstIterator(void) : mNode(0) {} + //! Construct a const iterator for node pointer \c inNode. + ConstIterator(const Node* inNode) : mNode(inNode) {} + //! Construct a const iterator from a non const iterator \c inPos. + ConstIterator(const Iterator& inPos) : mNode(inPos.mNode) {} + + //! Iterate to next sibling of current node (prefix version); return iterator pointing to next sibling. + ConstIterator& operator++(void) { + PACC_AssertM(mNode, "Cannot increment an invalid iterator!"); + mNode = mNode->mNextSibling; + return *this; + } + //! Iterate to next sibling of current node (postfix version); return iterator pointing to current node. + ConstIterator operator++(int) { + PACC_AssertM(mNode, "Cannot increment an invalid iterator!"); + ConstIterator lTmp = *this; + mNode = mNode->mNextSibling; + return lTmp; + } + //! Iterate to previous sibling of current node (prefix version); return iterator pointing to previous sibling. + ConstIterator& operator--(void) { + PACC_AssertM(mNode, "Cannot decrement an invalid iterator!"); + mNode = mNode->mPrevSibling; + return *this; + } + //! Iterate to previous sibling of current node (postfix version); return iterator pointing to current node. + ConstIterator operator--(int) { + PACC_AssertM(mNode, "Cannot decrement an invalid iterator!"); + ConstIterator lTmp = *this; + mNode = mNode->mPrevSibling; + return lTmp; + } + //! Return reference to current node (const version). + const Node& operator*(void) const { + PACC_AssertM(mNode, "Cannot dereference an invalid iterator!"); + return *mNode; + } + //! Return pointer to current node (const version). + const Node* operator->(void) const { + PACC_AssertM(mNode, "Invalid iterator!"); + return mNode; + } + //! Return true if this iterator is the same as iterator \c inIter; false otherwise. + bool operator==(const ConstIterator& inIter) const {return mNode == inIter.mNode;} + //! Return true if this iterator is different from iterator \c inIter; false otherwise. + bool operator!=(const ConstIterator& inIter) const {return mNode != inIter.mNode;} + //! Cast Iterator into bool; return true for a valid iterator, false otherwise. + operator bool(void) const {return mNode != 0;} + + protected: + const Node* mNode; //!< Pointer to current node. + + }; + + } // end of XML namespace + +} // end of PACC namespace + +#endif // PACC_XML_Iterator_hpp_ diff --git a/lib/beagle-3.0.3/PACC/XML/Makefile b/lib/beagle-3.0.3/PACC/XML/Makefile new file mode 100644 index 0000000..3109322 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/Makefile @@ -0,0 +1,757 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# PACC/XML/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = PACC/XML +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(paccxml_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccxmldir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libpacc_xml_la_DEPENDENCIES = $(top_srcdir)/PACC/Util/libpacc-util.la +am__libpacc_xml_la_SOURCES_DIST = Document.cpp Finder.cpp Node.cpp \ + Streamer.cpp +am__objects_1 = Document.lo Finder.lo Node.lo Streamer.lo +#am_libpacc_xml_la_OBJECTS = $(am__objects_1) +nodist_libpacc_xml_la_OBJECTS = libpacc-xml.lo +libpacc_xml_la_OBJECTS = $(am_libpacc_xml_la_OBJECTS) \ + $(nodist_libpacc_xml_la_OBJECTS) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +libpacc_xml_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libpacc_xml_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/Document.Plo ./$(DEPDIR)/Finder.Plo \ + ./$(DEPDIR)/Node.Plo ./$(DEPDIR)/Streamer.Plo \ + ./$(DEPDIR)/libpacc-xml.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libpacc_xml_la_SOURCES) $(nodist_libpacc_xml_la_SOURCES) +DIST_SOURCES = $(am__libpacc_xml_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +HEADERS = $(paccxml_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/PACC/XML +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/PACC/XML +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +PACC_XML_SRC_VAR = \ +Document.cpp \ +Finder.cpp \ +Node.cpp \ +Streamer.cpp + +paccxmldir = $(includedir)/XML +paccxml_HEADERS = \ +Attribute.hpp \ +Document.hpp \ +Finder.hpp \ +Iterator.hpp \ +Node.hpp \ +Streamer.hpp + +lib_LTLIBRARIES = libpacc-xml.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_xml_la_LIBADD = $(top_srcdir)/PACC/Util/libpacc-util.la +libpacc_xml_la_LDFLAGS = -no-undefined -release 1.3.1b +nodist_libpacc_xml_la_SOURCES = libpacc-xml.cpp +#libpacc_xml_la_SOURCES = $(PACC_XML_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu PACC/XML/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu PACC/XML/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libpacc-xml.la: $(libpacc_xml_la_OBJECTS) $(libpacc_xml_la_DEPENDENCIES) $(EXTRA_libpacc_xml_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libpacc_xml_la_LINK) -rpath $(libdir) $(libpacc_xml_la_OBJECTS) $(libpacc_xml_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/Document.Plo # am--include-marker +include ./$(DEPDIR)/Finder.Plo # am--include-marker +include ./$(DEPDIR)/Node.Plo # am--include-marker +include ./$(DEPDIR)/Streamer.Plo # am--include-marker +include ./$(DEPDIR)/libpacc-xml.Plo # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-paccxmlHEADERS: $(paccxml_HEADERS) + @$(NORMAL_INSTALL) + @list='$(paccxml_HEADERS)'; test -n "$(paccxmldir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(paccxmldir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(paccxmldir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(paccxmldir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(paccxmldir)" || exit $$?; \ + done + +uninstall-paccxmlHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(paccxml_HEADERS)'; test -n "$(paccxmldir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(paccxmldir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccxmldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +#clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/Document.Plo + -rm -f ./$(DEPDIR)/Finder.Plo + -rm -f ./$(DEPDIR)/Node.Plo + -rm -f ./$(DEPDIR)/Streamer.Plo + -rm -f ./$(DEPDIR)/libpacc-xml.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-paccxmlHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/Document.Plo + -rm -f ./$(DEPDIR)/Finder.Plo + -rm -f ./$(DEPDIR)/Node.Plo + -rm -f ./$(DEPDIR)/Streamer.Plo + -rm -f ./$(DEPDIR)/libpacc-xml.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES uninstall-paccxmlHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-paccxmlHEADERS install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am uninstall-libLTLIBRARIES uninstall-paccxmlHEADERS + +.PRECIOUS: Makefile + +libpacc-xml.cpp: + rm -f libpacc-xml.cpp + echo "// Generated automatically by make" > libpacc-xml.cpp + echo >> libpacc-xml.cpp + echo $(PACC_XML_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-xml.cpp + +clean-generic: + rm -f libpacc-xml.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/PACC/XML/Makefile.am b/lib/beagle-3.0.3/PACC/XML/Makefile.am new file mode 100644 index 0000000..86e9f39 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/Makefile.am @@ -0,0 +1,31 @@ +PACC_XML_SRC_VAR = \ +Document.cpp \ +Finder.cpp \ +Node.cpp \ +Streamer.cpp +paccxmldir = $(includedir)/XML +paccxml_HEADERS = \ +Attribute.hpp \ +Document.hpp \ +Finder.hpp \ +Iterator.hpp \ +Node.hpp \ +Streamer.hpp +lib_LTLIBRARIES = libpacc-xml.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_xml_la_LIBADD = $(top_srcdir)/PACC/Util/libpacc-util.la +libpacc_xml_la_LDFLAGS = -no-undefined -release @PACC_VERSION@ +if FAST_COMPILATION +libpacc-xml.cpp: + rm -f libpacc-xml.cpp + echo "// Generated automatically by make" > libpacc-xml.cpp + echo >> libpacc-xml.cpp + echo $(PACC_XML_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-xml.cpp + +clean-generic: + rm -f libpacc-xml.cpp + +nodist_libpacc_xml_la_SOURCES = libpacc-xml.cpp +else +libpacc_xml_la_SOURCES = $(PACC_XML_SRC_VAR) +endif \ No newline at end of file diff --git a/lib/beagle-3.0.3/PACC/XML/Makefile.in b/lib/beagle-3.0.3/PACC/XML/Makefile.in new file mode 100644 index 0000000..deede83 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/Makefile.in @@ -0,0 +1,757 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = PACC/XML +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(paccxml_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccxmldir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libpacc_xml_la_DEPENDENCIES = $(top_srcdir)/PACC/Util/libpacc-util.la +am__libpacc_xml_la_SOURCES_DIST = Document.cpp Finder.cpp Node.cpp \ + Streamer.cpp +am__objects_1 = Document.lo Finder.lo Node.lo Streamer.lo +@FAST_COMPILATION_FALSE@am_libpacc_xml_la_OBJECTS = $(am__objects_1) +@FAST_COMPILATION_TRUE@nodist_libpacc_xml_la_OBJECTS = libpacc-xml.lo +libpacc_xml_la_OBJECTS = $(am_libpacc_xml_la_OBJECTS) \ + $(nodist_libpacc_xml_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libpacc_xml_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libpacc_xml_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/Document.Plo ./$(DEPDIR)/Finder.Plo \ + ./$(DEPDIR)/Node.Plo ./$(DEPDIR)/Streamer.Plo \ + ./$(DEPDIR)/libpacc-xml.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libpacc_xml_la_SOURCES) $(nodist_libpacc_xml_la_SOURCES) +DIST_SOURCES = $(am__libpacc_xml_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +HEADERS = $(paccxml_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +PACC_XML_SRC_VAR = \ +Document.cpp \ +Finder.cpp \ +Node.cpp \ +Streamer.cpp + +paccxmldir = $(includedir)/XML +paccxml_HEADERS = \ +Attribute.hpp \ +Document.hpp \ +Finder.hpp \ +Iterator.hpp \ +Node.hpp \ +Streamer.hpp + +lib_LTLIBRARIES = libpacc-xml.la +INCLUDES = -I$(top_srcdir)/PACC +libpacc_xml_la_LIBADD = $(top_srcdir)/PACC/Util/libpacc-util.la +libpacc_xml_la_LDFLAGS = -no-undefined -release @PACC_VERSION@ +@FAST_COMPILATION_TRUE@nodist_libpacc_xml_la_SOURCES = libpacc-xml.cpp +@FAST_COMPILATION_FALSE@libpacc_xml_la_SOURCES = $(PACC_XML_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu PACC/XML/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu PACC/XML/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libpacc-xml.la: $(libpacc_xml_la_OBJECTS) $(libpacc_xml_la_DEPENDENCIES) $(EXTRA_libpacc_xml_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libpacc_xml_la_LINK) -rpath $(libdir) $(libpacc_xml_la_OBJECTS) $(libpacc_xml_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Document.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Finder.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Node.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Streamer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpacc-xml.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-paccxmlHEADERS: $(paccxml_HEADERS) + @$(NORMAL_INSTALL) + @list='$(paccxml_HEADERS)'; test -n "$(paccxmldir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(paccxmldir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(paccxmldir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(paccxmldir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(paccxmldir)" || exit $$?; \ + done + +uninstall-paccxmlHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(paccxml_HEADERS)'; test -n "$(paccxmldir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(paccxmldir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(paccxmldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +@FAST_COMPILATION_FALSE@clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/Document.Plo + -rm -f ./$(DEPDIR)/Finder.Plo + -rm -f ./$(DEPDIR)/Node.Plo + -rm -f ./$(DEPDIR)/Streamer.Plo + -rm -f ./$(DEPDIR)/libpacc-xml.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-paccxmlHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/Document.Plo + -rm -f ./$(DEPDIR)/Finder.Plo + -rm -f ./$(DEPDIR)/Node.Plo + -rm -f ./$(DEPDIR)/Streamer.Plo + -rm -f ./$(DEPDIR)/libpacc-xml.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES uninstall-paccxmlHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-paccxmlHEADERS install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am uninstall-libLTLIBRARIES uninstall-paccxmlHEADERS + +.PRECIOUS: Makefile + +@FAST_COMPILATION_TRUE@libpacc-xml.cpp: +@FAST_COMPILATION_TRUE@ rm -f libpacc-xml.cpp +@FAST_COMPILATION_TRUE@ echo "// Generated automatically by make" > libpacc-xml.cpp +@FAST_COMPILATION_TRUE@ echo >> libpacc-xml.cpp +@FAST_COMPILATION_TRUE@ echo $(PACC_XML_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libpacc-xml.cpp + +@FAST_COMPILATION_TRUE@clean-generic: +@FAST_COMPILATION_TRUE@ rm -f libpacc-xml.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/PACC/XML/Node.cpp b/lib/beagle-3.0.3/PACC/XML/Node.cpp new file mode 100644 index 0000000..4ccf6cd --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/Node.cpp @@ -0,0 +1,582 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/XML/Node.cpp + * \brief Class methods for the %XML parse tree node. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.7.2.2 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#include "XML/Node.hpp" +#include "XML/Iterator.hpp" +#include "XML/Streamer.hpp" +#include "Util/Assert.hpp" +#include +#include + +using namespace std; +using namespace PACC; + +map XML::Node::smMap; + +/*! +*/ +XML::Node::Node(void) : mType(eRoot) { + mParent = mFirstChild = mLastChild = mPrevSibling = mNextSibling = NULL; +} + +/*! +*/ +XML::Node::Node(const string& inValue, XML::NodeType inType) : mType(inType) { + (*this)[""] = inValue; + mParent = mFirstChild = mLastChild = mPrevSibling = mNextSibling = NULL; +} + +/*! +*/ +XML::Node::Node(const string& inValue, const XML::AttributeList& inAttrList) : AttributeList(inAttrList), mType(eData) { + (*this)[""] = inValue; + mParent = mFirstChild = mLastChild = mPrevSibling = mNextSibling = NULL; +} + +/*! +*/ +XML::Node::Node(const XML::Node& inNode) : AttributeList() { + mParent = mFirstChild = mLastChild = mPrevSibling = mNextSibling = NULL; + operator=(inNode); +} + +/*! +This method recursively deletes all of its children. + */ +XML::Node::~Node(void) { + // delete all child nodes + eraseChildren(); + // detach from parent and siblings + detachFromSiblingsAndParent(); + // cleanup node pointers + mParent = mFirstChild = mLastChild = mPrevSibling = mNextSibling = NULL; +} + +/*! +\return A reference to this node +\attention The copied tree must not be a sub-tree of this node. Otherwise, the internal tree structure will become corrupted. +*/ +XML::Node& XML::Node::operator=(const Node& inRoot) +{ + // do not self assign! + if(&inRoot == this) return *this; + // delete all child nodes + XML::Iterator lChild = getFirstChild(); + while(lChild) delete &(*(lChild++)); + // fix child pointers + mFirstChild = mLastChild = NULL; + // assign type and attributes + mType = inRoot.mType; + map::operator=(inRoot); + // copy all children of inRoot + for(XML::ConstIterator lNode = inRoot.getFirstChild(); lNode; ++lNode) { + // allocate and copy node + Node* lChildNode = new Node(*lNode); + // is this the first child? + if(mFirstChild == NULL) mFirstChild = mLastChild = lChildNode; + else { + //adjust sibling pointers + mLastChild->mNextSibling = lChildNode; + lChildNode->mPrevSibling = mLastChild; + mLastChild = lChildNode; + } + // adjust parent pointer + lChildNode->mParent = this; + } + return *this; +} + +/*! +\return A reference to the converted string. +The default quotes are "&", "<", ">", "'", and """. Argument \c ioMap can be used to specify any conversion table. +*/ +string& XML::Node::convertFromQuotes(string& ioString, map& ioMap) +{ + if(ioMap.empty()) { + // initialize quote list + ioMap["amp"] = '&'; + ioMap["lt"] = '<'; + ioMap["gt"] = '>'; + ioMap["apos"] = '\''; + ioMap["quot"] = '"'; + } + string::size_type lStart, lEnd = 0; + while((lStart = ioString.find('&', lEnd)) < ioString.size() && + (lEnd = ioString.find(';', lStart)) < ioString.size()) + { + string lToken = ioString.substr(lStart+1, lEnd-lStart-1); + if(ioMap.find(lToken) != ioMap.end()) { + ioString[lStart] = ioMap[lToken]; + ioString.erase(lStart+1, lEnd-lStart); + lEnd = lStart+1; + } + } + return ioString; +} + +/*!\return A pointer to this node. +This method removes this node from its parent tree. The list of sibling nodes is repaired accordingly. +*/ +XML::Node* XML::Node::detachFromSiblingsAndParent(void) { + // adjust sibling list + if(mPrevSibling) mPrevSibling->mNextSibling = mNextSibling; + if(mNextSibling) mNextSibling->mPrevSibling = mPrevSibling; + if(mParent) { + // adjust parent first and last child pointers + if(mParent->mFirstChild == this) mParent->mFirstChild = mNextSibling; + if(mParent->mLastChild == this) mParent->mLastChild = mPrevSibling; + } + mPrevSibling = mNextSibling = mParent = NULL; + return this; +} + +/*! +*/ +void XML::Node::eraseChildren(void) +{ + // delete all child nodes + XML::Iterator lChild = getFirstChild(); + while(lChild) delete &(*(lChild++)); +} + +/*!\return The number of child nodes. +*/ +unsigned int XML::Node::getChildCount(void) const { + unsigned int lCount = 0; + for(ConstIterator lChild = getFirstChild(); lChild; ++lChild) ++lCount; + return lCount; +} + +/*!\return A pointer to the inserted child node. +*/ +XML::Node* XML::Node::insertAsLastChild(XML::Node* inChild) { + PACC_AssertM(inChild, "Cannot add null pointer node"); + PACC_AssertM(!inChild->mParent && !inChild->mPrevSibling && !inChild->mNextSibling, "Node must be detached before it can be added!"); + // is this new child the first? + if(mFirstChild == NULL) mFirstChild = inChild; + else { + // insert after last + inChild->mPrevSibling = mLastChild; + mLastChild->mNextSibling = inChild; + } + // adjust parent pointers + inChild->mParent = this; + mLastChild = inChild; + return inChild; +} + +/*!\return A pointer to the inserted sibling node. +*/ +XML::Node* XML::Node::insertAsPreviousSibling(XML::Node* inSibling) { + PACC_AssertM(inSibling, "Cannot insert null pointer node"); + PACC_AssertM(!inSibling->mParent && !inSibling->mPrevSibling && !inSibling->mNextSibling, "Node must be detached before it can be inserted!"); + // is this new sibling the first? + if(mPrevSibling == NULL) { + inSibling->mNextSibling = this; + mPrevSibling = inSibling; + // adjust first child of parent + if(mParent) mParent->mFirstChild = inSibling; + } else { + // this node is neither the first or the last + mPrevSibling->mNextSibling = inSibling; + inSibling->mPrevSibling = mPrevSibling; + inSibling->mNextSibling = this; + mPrevSibling = inSibling; + } + // adjust parent pointer + inSibling->mParent = mParent; + return inSibling; +} + +/*!\return A node pointer to the parsed element. +Any tag name defined in \c inNoParseTags will be treated as if its content is a string token (content will not be parsed). +*/ +XML::Node* XML::Node::parse(PACC::Tokenizer& inTokenizer, const set& inNoParseTags) +{ + Node* lNode = NULL; + // look for start tag + string lToken; + inTokenizer.setDelimiters("", "<"); + if(!inTokenizer.getNextToken(lToken)) return 0; + // remove any leading white space + size_type lPos = lToken.find_first_not_of(" \t\r\n"); + if(lPos == string::npos) { + if(!inTokenizer.getNextToken(lToken)) return 0; + } else if(lPos > 0) lToken.erase(0, lPos); + if(lToken[0] == '<') { + // check for end tag + if(inTokenizer.peekNextChar() == '/') { + // found end tag; + inTokenizer.setDelimiters("", "/"); + inTokenizer.getNextToken(lToken); + return 0; + } + // found start tag + lNode = new Node; + lNode->parseStartTag(inTokenizer, lToken); + if(lToken[0] == '/') { + // found end tag; next token must be '>' + inTokenizer.setDelimiters("", ">"); + if(!inTokenizer.getNextToken(lToken)) lNode->throwError(inTokenizer, "unexpected eof"); + if(lToken[0] != '>') lNode->throwError(inTokenizer, "invalid start tag"); + } else if(lNode->getType() == eData) { + // either read or parse tag content + if(inNoParseTags.find((*lNode)[""]) != inNoParseTags.end()) { + lNode->readContentAsString(inTokenizer); + } else { + Node* lChild; + // parse all child + while((lChild=parse(inTokenizer, inNoParseTags)) != NULL) lNode->insertAsLastChild(lChild); + // test for valid end tag + inTokenizer.setDelimiters("", " \t\n\r>"); + if(!inTokenizer.getNextToken(lToken)) lNode->throwError(inTokenizer, "unexpected eof"); + if(lToken != (*lNode)[""]) lNode->throwError(inTokenizer, "invalid end tag"); + } + // next token must be '>' + inTokenizer.setDelimiters(" \t\n\r", ">"); + if(!inTokenizer.getNextToken(lToken)) lNode->throwError(inTokenizer, "unexpected eof"); + if(lToken[0] != '>') lNode->throwError(inTokenizer, "invalid end tag"); + } + // else node is not markup + } else { + // found a simple string node + lNode = new Node; + lNode->mType = eString; + // remove any ending white space + lPos = lToken.find_last_not_of(" \t\r\n"); + PACC_AssertM(lPos != string::npos, "Internal error!"); + if(lPos < lToken.size()-1) lToken.resize(lPos+1); + // convert basic quotes + (*lNode)[""] = convertFromQuotes(lToken); + } + return lNode; +} + +/*! +Ending token is returned through argument \c outToken. +*/ +void XML::Node::parseAttributeList(PACC::Tokenizer& inTokenizer, string& outToken) +{ + inTokenizer.setDelimiters(" \t\n\r", "=/?>"); + // next token should be an attribute name + if(!inTokenizer.getNextToken(outToken)) throwError(inTokenizer, "unexpected eof"); + // parse all attributes + while(outToken[0] != '>' && outToken[0] != '/' && outToken[0] != '?') + { + if(outToken[0] == '=') throwError(inTokenizer, "missing attribute name"); + // ok, found an attribute name! + string lName = outToken; + // next token should be '=' + inTokenizer.setDelimiters(" \t\n\r", "="); + if(!inTokenizer.getNextToken(outToken) || outToken[0] != '=') + throwError(inTokenizer, "invalid attribute"); + inTokenizer.setDelimiters(" \t\n\r", "'\""); + // next token must be '"' or "'" + if(!inTokenizer.getNextToken(outToken)) throwError(inTokenizer, "unexpected eof"); + string lValue; + switch(outToken[0]) { + case '\'': + inTokenizer.setDelimiters("", "'"); + if(!inTokenizer.getNextToken(outToken)) throwError(inTokenizer, "unexpected eof"); + if(outToken[0] != '\'') { + lValue = outToken; + if(!inTokenizer.getNextToken(outToken)) throwError(inTokenizer, "unexpected eof"); + } + break; + case '"': + inTokenizer.setDelimiters("", "\""); + if(!inTokenizer.getNextToken(outToken)) throwError(inTokenizer, "unexpected eof"); + if(outToken[0] != '"') { + lValue = outToken; + if(!inTokenizer.getNextToken(outToken)) throwError(inTokenizer, "unexpected eof"); + } + break; + default: + throwError(inTokenizer, "invalid attribute value"); + } + // insert attribute + (*this)[lName] = convertFromQuotes(lValue); + inTokenizer.setDelimiters(" \t\n\r", "=/?>"); + if(!inTokenizer.getNextToken(outToken)) throwError(inTokenizer, "unexpected eof"); + } +} + +/*! +This method assumes that token "<" has already been read. It returns the ending token through argument \c outToken. +*/ +void XML::Node::parseStartTag(PACC::Tokenizer& inTokenizer, string& outToken) +{ + // parse tag name + inTokenizer.setDelimiters("", " \t\n\r/>"); + if(!inTokenizer.getNextToken(outToken)) throwError(inTokenizer, "unexpected eof"); + if(outToken.find_first_of(" \t\n\r/>") != string::npos) throwError(inTokenizer, "invalid start tag"); + string& lValue = (*this)[""]; + switch(outToken[0]) { + case '!': + if(outToken.size() >= 3 && outToken[1] == '-' && outToken[2] == '-') { + // process comment + mType = eComment; + outToken.erase(0, 3); + inTokenizer.setDelimiters("", ">"); + do { + int lSize = outToken.size(); + if(lSize > 2 && outToken[lSize-2] == '-' && outToken[lSize-1] == '-') { + lValue += outToken.erase(lSize-2, 2); + break; + } else lValue += outToken; + } while(inTokenizer.getNextToken(outToken)); + if(!inTokenizer.getNextToken(outToken)) throwError(inTokenizer, "unexpected eof"); + } else if(outToken.size() >= 8 && memcmp(outToken.data()+1, "[CDATA[", 7) == 0) { + // process cdata section + mType = eCDATA; + outToken.erase(0, 8); + inTokenizer.setDelimiters("", ">"); + do { + int lSize = outToken.size(); + if(lSize >= 2 && outToken[lSize-2] == ']' && outToken[lSize-1] == ']') { + lValue += outToken.erase(lSize-2, 2); + break; + } else lValue += outToken; + } while(inTokenizer.getNextToken(outToken)); + if(!inTokenizer.getNextToken(outToken)) throwError(inTokenizer, "unexpected eof"); + } else { + // process special element (doctype, attribute, etc.) + mType = eSpecial; + lValue = outToken.erase(0, 1); + inTokenizer.setDelimiters("", ">"); + if(!inTokenizer.getNextToken(outToken)) throwError(inTokenizer, "unexpected eof"); + if(outToken[0] != '>') { + lValue += outToken; + if(!inTokenizer.getNextToken(outToken)) throwError(inTokenizer, "unexpected eof"); + } + } + break; + case '?': + if(outToken == "?xml") { + // process xml declaration + mType = eDecl; + lValue = outToken.erase(0, 1); + parseAttributeList(inTokenizer, outToken); + if(outToken[0] != '?') throwError(inTokenizer, "invalid xml declaration"); + if(!inTokenizer.getNextToken(outToken)) throwError(inTokenizer, "unexpected eof"); + if(outToken[0] != '>') throwError(inTokenizer, "invalid xml declaration"); + } else { + // process special processing instruction + mType = ePI; + lValue = outToken.substr(1, outToken.size()-1); + inTokenizer.setDelimiters("", "?>"); + while(inTokenizer.getNextToken(outToken)) { + if(outToken[0] == '?') { + if(!inTokenizer.getNextToken(outToken)) throwError(inTokenizer, "unexpected eof"); + if(outToken[0] == '>') break; + else lValue += '?'; + } + lValue += outToken; + } + if(outToken.empty()) throwError(inTokenizer, "unexpected eof"); + } + break; + default: + // process data markup + mType = eData; + lValue = outToken; + parseAttributeList(inTokenizer, outToken); + } +} + +/*! +*/ +void XML::Node::readContentAsString(PACC::Tokenizer& inTokenizer) +{ + // create child node + Node* lChild = new Node; + insertAsLastChild(lChild); + lChild->setType(eNoParse); + // parse until end tag + inTokenizer.setDelimiters("", "<>"); + string lToken; + int lCount = 1; + const string& lTag = (*this)[""]; + string& lString = (*lChild)[""]; + while(lCount > 0) { + // check every start tag + if(!inTokenizer.getNextToken(lToken)) throwError(inTokenizer, string("unexpected eof")); + if(lToken[0] == '<') { + if(!inTokenizer.getNextToken(lToken)) throwError(inTokenizer, string("unexpected eof")); + if(lToken[0] == '/' && memcmp(lToken.data()+1, lTag.data(), lTag.size()) == 0) --lCount; + else if(lToken[lToken.size()-1] != '/' && memcmp(lToken.data(), lTag.data(), lTag.size()) == 0) ++lCount; + if(lCount > 0) { + lString += "<"; + lString += lToken; + } + } else lString += lToken; + } + // remove any leading white space + size_type lPos = lString.find_first_not_of(" \t\r\n"); + if(lPos == string::npos) { + // string is all white space + lString.clear(); + } else { + // erase leading white space + lString.erase(0, lPos); + // remove any ending white space + lPos = lString.find_last_not_of(" \t\r\n"); + PACC_AssertM(lPos != string::npos, "Internal error!"); + // erase trailing white space + if(lPos < lString.size()-1) lString.resize(lPos+1); + } +} + +/*! +Argument \c inIndent is used to control indentation. By default (\c inIndent=true), the sub-tree rooted by this node will be serialized with indentation. If \c inIndent=false, then the node will be serialized without any form of indentation (including line feeds). + */ +void XML::Node::serialize(XML::Streamer& outStream, bool inIndent) const +{ + switch(mType) + { + case eCDATA: + { + outStream.insertCDATA(getValue()); + break; + } + case eComment: + { + outStream.insertComment(getValue()); + break; + } + case eData: + { + // check for tag with single string content + ConstIterator lChild = getFirstChild(); + if(lChild && lChild->mType == eString && !lChild->getNextSibling()) { + // disable indentation + outStream.openTag(getValue(), false); + } else { + outStream.openTag(getValue(), inIndent); + } + // serialize attribute list + for(map::const_iterator i = begin(); i != end(); ++i) { + if(i->first != "") outStream.insertAttribute(i->first, i->second); + } + // serialize child nodes + while(lChild) (lChild++)->serialize(outStream, inIndent); + outStream.closeTag(); + break; + } + case eNoParse: + { + outStream.insertStringContent(getValue(), false); + break; + } + case ePI: + { + string lValue = string(""); + outStream.insertStringContent(lValue, false); + break; + } + case eSpecial: + { + string lValue = string(""); + outStream.insertStringContent(lValue, false); + break; + } + case eString: + { + outStream.insertStringContent(getValue(), true); + break; + } + case eDecl: + { + string lValue = ""; + outStream.insertStringContent(lValue, false); + break; + } + default: + { + PACC_AssertM(false, "Unknown node type!"); + } + } +} + +/*! +*/ +void XML::Node::throwError(PACC::Tokenizer& inTokenizer, const string& inMessage) const +{ + ostringstream lStream; + lStream << "\nXML parse error"; + if(inTokenizer.getStreamName() != "") + lStream << " in file \"" << inTokenizer.getStreamName() << "\","; + lStream << " at line "; + lStream << inTokenizer.getLineNumber(); + switch(mType) { + case eCDATA: lStream << "\nfor CDATA \""; break; + case eComment: lStream << "\nfor comment \""; break; + case eData: lStream << "\nfor markup \""; break; + case ePI: lStream << "\nfor processing instruction \""; break; + case eRoot: lStream << "\nfor root element \""; break; + case eSpecial: lStream << "\nfor special element \""; break; + case eString: lStream << "\nfor literal string \""; break; + case eDecl: lStream << "\nfor declaration \""; break; + default: lStream << "\nfor unknown element \""; break; + } + if(getValue().size() < 40) lStream << getValue() << "\": " << inMessage; + else lStream << getValue().substr(0,40) << "...\": " << inMessage; + throw runtime_error(lStream.str()); +} + +/*! +*/ +ostream& PACC::operator<<(ostream &outStream, const XML::Node& inNode) +{ + XML::Streamer lStream(outStream); + inNode.serialize(lStream); + return outStream; +} + +/*! +*/ +istream& PACC::operator>>(istream &inStream, XML::Node& outNode) +{ + Tokenizer lTokenizer(inStream); + XML::Node* lNode = XML::Node::parse(lTokenizer, set()); + outNode = *lNode; + delete lNode; + return inStream; +} diff --git a/lib/beagle-3.0.3/PACC/XML/Node.hpp b/lib/beagle-3.0.3/PACC/XML/Node.hpp new file mode 100644 index 0000000..e9ff69b --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/Node.hpp @@ -0,0 +1,179 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/XML/Node.hpp + * \brief Class definition for the %XML parse tree node. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.6.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_XML_Node_hpp_ +#define PACC_XML_Node_hpp_ + +#include "Util/Tokenizer.hpp" +#include "XML/Attribute.hpp" +#include +#include +#include + +namespace PACC { + + using namespace std; + + namespace XML { + + /*! \brief Types of parse tree node. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup XML + */ + enum NodeType { + eCDATA, //!< CDATA section () + eComment, //!< Comment (). + eData, //!< Regular data markup element. + eNoParse, //!< Unparsed markup content. + eDecl, //!< %XML declaration (). + ePI, //!< Processing instruction (). + eRoot, //!< %Document root (internal use only). + eSpecial, //!< Special element (). + eString //!< Literal string. + }; + + // forward declarations + class Iterator; + class ConstIterator; + class Streamer; + + /*! + \brief %Node of the document tree. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup XML + + A tree node represents an %XML element. Method Node::getType is used to retrieve the element type. This can be a regular data markup (XML::eData), an xml declaration (XML::eDecl), a processing instruction (XML::ePI), a comment (XML::eComment), a CDATA section (XML::eCDATA), a special element for document type declaration (XML::eSpecial), or a literal string (XML::eString). Method Node::getValue is used to retrieve different values depending on the node type. For regular markups, this method returns the tag name. For comments, CDATA sections, processing instructions, and other special elements, it returns the literal string of these elements. For the xml declaration, it simply returns "xml". It should be noted that internal DTDs are not supported by the parser (document type nodes cannot embed other nodes). + + Markup data elements can have content represented by child nodes. A Node can parse itself from a stream Tokenizer. Any parse error throws a \c runtime_error exception. Method Node::getFirstChild is used to retrieve an Iterator on the first child of this node. Method Node::getParent is used to retrieve an Iterator on the parent of this node. An Iterator is used to iterate on sibling nodes. + + Nodes are also derived from a map of attribute name/value pairs that can be fetched and set using methods Node::getAttribute and Node::setAttribute. Finally, a node can serialize itself into an %XML Streamer. + */ + class Node : public AttributeList { + public: + //! Construct empty root node. + Node(void); + //! Construct node of type \c inType (default NodeType::eTag) with value \c inValue. + Node(const string& inValue, NodeType inType=eData); + //! Construct node of type \c eData with value \c inValue and attribute list \c inAttrList. + Node(const string& inValue, const AttributeList& inAttrList); + //! Copy constructor: make deep copy of node \c inNode. + Node(const Node& inNode); + //! Delete the sub-tree rooted by this node. + ~Node(void); + + //! Make deep copy of the sub-tree rooted by node \c inRoot. + Node& operator=(const Node&); + + //! Return an iterator pointing to the first child of this node. + Node* getFirstChild(void) {return mFirstChild;} + //! Return a const iterator pointing to the first child of this node. + const Node* getFirstChild(void) const {return mFirstChild;} + //! Return an iterator pointing to the last child of this node. + Node* getLastChild(void) {return mLastChild;} + //! Return a const iterator pointing to the last child of this node. + const Node* getLastChild(void) const {return mLastChild;} + //! Return an iterator pointing to the next sibling of this node. + Node* getNextSibling(void) {return mNextSibling;} + //! Return a const iterator pointing to the next sibling of this node. + const Node* getNextSibling(void) const {return mNextSibling;} + //! Return an iterator pointing to the previous sibling of this node. + Node* getPreviousSibling(void) {return mPrevSibling;} + //! Return a const iterator pointing to the previous sibling of this node. + const Node* getPreviousSibling(void) const {return mPrevSibling;} + //! Return an iterator pointing to the parent of this node. + Node* getParent(void) {return mParent;} + //! Return a const iterator pointing to the parent of this node. + const Node* getParent(void) const {return mParent;} + + //! Returns the node type (see enum XML::NodeType). + const NodeType getType(void) const {return mType;} + //! Returns the node value (tag name for NodeType::eData). + const string& getValue(void) const {return getAttribute("");} + //! Set the node type (see enum XML::NodeType). + void setType(NodeType inType) {mType = inType;} + //! set node value (tag name for nodes of type NodeType::eTag). + void setValue(const string& inValue) {setAttribute("", inValue);} + + //! Detach this node from its siblings and parent. + Node* detachFromSiblingsAndParent(void); + //! Delete all children. + void eraseChildren(void); + //! Return the number of child nodes. + unsigned int getChildCount(void) const; + //! Insert node \c inChild after the last child of this node. + Node* insertAsLastChild(Node* inChild); + //! Insert node \c inSibling as the sibling that preceeds this node. + Node* insertAsPreviousSibling(Node* inSibling); + //! Parse next tag using stream tokenizer \c inTokenizer. + static Node* parse(Tokenizer& inTokenizer, const set& inNoParseTags); + //! Serialize this node into %XML streamer \c outStream. + void serialize(Streamer& outStream, bool inIndent=true) const; + + protected: + NodeType mType; //!< Type of node. + Node* mParent; //!< Pointer to parent node. + Node* mFirstChild; //!< Pointer to first child node. + Node* mLastChild; //!< Pointer to last child node. + Node* mPrevSibling; //!< Pointer to previous sibling node. + Node* mNextSibling; //!< Pointer to next sibling node. + static map smMap; //!< Conversion map for translating quotes. + + //! Convert basic xml quotes into ascii characters. + static string& convertFromQuotes(string& ioString, map& ioMap=smMap); + //! Parse the attribute list using stream tokenizer \c inTokenizer. + void parseAttributeList(Tokenizer& inTokenizer, string& outToken); + //! Parse in stream tokenizer \c inTokenizer the start tag of this node. + void parseStartTag(Tokenizer& inTokenizer, string& outToken); + //! Read in stream tokenizer \c inTokenizer the content of this node (current tag) as a single string (do not parse content). + void readContentAsString(Tokenizer& inTokenizer); + //! Throw runtime error with message \c inMessage using tokenizer \c inTokenizer. + void throwError(Tokenizer& inTokenizer, const string& inMessage) const; + + friend class Iterator; + friend class ConstIterator; + friend class Document; + + }; + + } // end of XML namespace + + //! Insert node \c inNode into output stream \c outStream. + ostream& operator<<(ostream &outStream, const XML::Node& inNode); + //! Extract node \c outNode from input stream \c inStream. + istream& operator>>(istream &inStream, XML::Node& outNode); + +} // end of PACC namespace + +#endif // PACC_XML_Node_hpp_ diff --git a/lib/beagle-3.0.3/PACC/XML/Streamer.cpp b/lib/beagle-3.0.3/PACC/XML/Streamer.cpp new file mode 100644 index 0000000..1cb6b4f --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/Streamer.cpp @@ -0,0 +1,161 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/XML/Streamer.cpp + * \brief Class methods for the %XML streamer. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + + * $Revision: 1.10.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#include "XML/Streamer.hpp" +#include "Util/Assert.hpp" +#include + +using namespace std; +using namespace PACC; + +/*! +*/ +void XML::Streamer::closeTag(void) +{ + PACC_AssertM(!mTags.empty(), "Streamer::closeTag() no tag to close!"); + if(!mClosed) { + if(mTags.top().second && mIndentAttributes && mOneAttribute) { + mStream << endl << string((mTags.size()-1)*mIndentWidth, ' '); + } + mStream << "/>" << flush; + mOneAttribute = false; + } else { + if(mTags.top().second == true) { + mStream << endl << string((mTags.size()-1)*mIndentWidth, ' '); + } + mStream << "" << flush; + } + mTags.pop(); + mClosed = true; +} + +/*! +\return A reference to the converted string. +Supported characters are '&', '<', '>', "'", and '"'. +*/ +string& XML::Streamer::convertToQuotes(string& ioString, const char* inQuotes) +{ + string::size_type lPos = 0; + while((lPos = ioString.find_first_of(inQuotes, lPos)) != string::npos) + { + switch(ioString[lPos]) { + case '&': + ioString.replace(lPos++, 1, "&"); + break; + case '<': + ioString.replace(lPos++, 1, "<"); + break; + case '>': + ioString.replace(lPos++, 1, ">"); + break; + case '\'': + ioString.replace(lPos++, 1, "'"); + break; + case '"': + ioString.replace(lPos++, 1, """); + break; + } + } + return ioString; +} + +/*! + */ +void XML::Streamer::insertAttribute(const string& inName, const char* inValue) +{ + if(mIndentAttributes && mTags.top().second) { + mStream << endl << std::string(mTags.size()*mIndentWidth, ' '); + } else mStream << " "; + + string lValue(inValue); + mStream << inName << "=\"" << convertToQuotes(lValue, "&<\"") << "\""; + mOneAttribute = true; +} + + +/*! +The header tag has the form . +*/ +void XML::Streamer::insertHeader(const string& inEncoding) +{ + mStream << "" << flush; +} + +/*! +By default, any occurence of characters '&' and '<' will be automatically converted to quotes "&" and "<". If argument \c inConvert is set to false, this conversion is disabled. + */ +void XML::Streamer::insertStringContent(const string& inString, bool inConvert) +{ + if(inString.empty()) return; + if(!mClosed) { + if(mTags.top().second && mIndentAttributes && mOneAttribute) { + mStream << endl << string((mTags.size()-1)*mIndentWidth, ' '); + } + mStream << ">"; + mOneAttribute = false; + mClosed = true; + } + if(!mTags.empty() && mTags.top().second == true) { + mStream << endl << string(mTags.size()*mIndentWidth, ' '); + } + if(inConvert) { + string lContent(inString); + mStream << convertToQuotes(lContent, "&<"); + } else mStream << inString; +} + +/*! +By default, markup tags are indented by the number of columns specified in the class constructor. However, argument \c inIndent can be set to false to disactivate indentation for all embedded markup. + */ +void XML::Streamer::openTag(const string& inName, bool inIndent) +{ + if(!mClosed) { + if(mTags.top().second == true && mIndentAttributes && mOneAttribute) { + mStream << endl << string((mTags.size()-1)*mIndentWidth, ' '); + } + mStream << ">"; + mOneAttribute = false; + } + if((mTags.empty() && inIndent) || (!mTags.empty() && mTags.top().second == true)) { + mStream << endl << string(mTags.size()*mIndentWidth, ' '); + } + mStream << "<" << inName; + if(!mTags.empty() && mTags.top().second == false) inIndent = false; + mTags.push(pair(inName, inIndent)); + mClosed = false; +} diff --git a/lib/beagle-3.0.3/PACC/XML/Streamer.hpp b/lib/beagle-3.0.3/PACC/XML/Streamer.hpp new file mode 100644 index 0000000..f4dcab2 --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/Streamer.hpp @@ -0,0 +1,213 @@ +/* + * Portable Agile C++ Classes (PACC) + * Copyright (C) 2001-2003 by Marc Parizeau + * http://manitou.gel.ulaval.ca/~parizeau/PACC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file PACC/XML/Streamer.hpp + * \brief Class definition for the %XML streamer. + * \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + * $Revision: 1.10.2.1 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef PACC_XML_Streamer_hpp_ +#define PACC_XML_Streamer_hpp_ + +#include "Util/Assert.hpp" +#include +#include +#include +#include + +namespace PACC { + + using namespace std; + + namespace XML { + + /*! \brief Simple document streamer. + \author Marc Parizeau, Laboratoire de vision et systèmes numériques, Université Laval + \ingroup XML + + This class is for streaming %XML markup with automatic indentation. To + add a new markup tag, use method Streamer::openTag, followed by calls to + Streamer::insertAttribute to add attributes. Then call again Streamer::openTag + to insert any embedded markup. Don't forget to close each tag by calling + Streamer::closeTag. Here is a simple usage example: + \code + Streamer lStream(cout); + lStream.insertHeader(); + lStream.openTag("MyTag"); + lStream.insertAttribute("name", "value"); + lStream.openTag("MySubTag1"); + lStream.insertAttribute("x", 10); + lStream.insertAttribute("y", 20); + lStream.closeTag(); + lStream.openTag("MySubTag2", false); + lStream.insertStringContent("this is my sub-tag number 2!"); + lStream.closeTag(); + lStream.closeTag(); + \endcode + which will produce the following result: + \code + + + + this is my sub-tag number 2! + + \endcode + */ + class Streamer { + public: + //! Constructs object for streaming %XML markup into output stream \c inStream using an indentation width of \c inWidth. + Streamer(ostream& inStream, unsigned int inWidth=2) : mStream(inStream), mIndentWidth(inWidth), mClosed(true), mOneAttribute(false), mIndentAttributes(false) {} + + //! Close the last opened markup tag. + void closeTag(void); + + //! Convert special xml characters to quotes. + static string& convertToQuotes(string& ioString, const char* inQuotes="<>&'\""); + + //! Return precision of output stream for double values. + unsigned int getPrecision(void) {return mStream.precision();} + + //!Return output stream of streamer. + ostream& getStream(void) {return mStream;} + + //! Insert a string attribute with name \c inName and value \c inValue into the current start tag. + void insertAttribute(const string& inName, const char* inValue); + + //! Insert a string attribute with name \c inName and value \c inValue into the current start tag. + void insertAttribute(const string& inName, const string& inValue) { + insertAttribute(inName, inValue.c_str()); + } + + /*! + Insert a template attribute with name \c inName and value \c inValue into the current start tag. + + This method assumes that typename \c Type knows how to insert itself into a stream using \c operator<<. + */ + template + void insertAttribute(const string& inName, Type inValue) { + if(mIndentAttributes && mTags.top().second) { + mStream << endl << std::string(mTags.size()*mIndentWidth, ' '); + } else mStream << " "; + mStream << inName << "=\"" << inValue << "\""; + mOneAttribute = true; + } + + //! Insert CDATA section \c inCDATA (cannot contain any "]]>" substring). + void insertCDATA(const string& inCDATA) { + PACC_AssertM(inCDATA.find("]]>",0)==string::npos, "an XML CDATA cannot contain any ']]>' substring!"); + insertStringContent(string(""), false); + } + + //! Insert comment \c inComment (cannot contain any "--" substring). + void insertComment(const string& inComment) { + PACC_AssertM(inComment.find("--",0)==string::npos, "an XML comment cannot contain any '--' substring!"); + insertStringContent(string(""), false); + } + + /*! \brief Insert STL container \c inObject into this streamer, using tag name \c inName. + + If no tag name is specified, the container's content is inserted into the current tag. Assumes that the container's elements can insert themselves into a streamer using \c operator<<. + */ + template + void insertContainer(const Container& inObject, const string& inName="") { + // insert optional tag name + if(inName != "") openTag(inName); + // iterate through container + for(typename Container::const_iterator i = inObject.begin(); i != inObject.end(); ++i) { + (*this) << (*i); + } + if(inName != "") closeTag(); + } + + //! Insert a valid xml declarative tag with encoding \c inEncoding (default is ISO-8859-1). + void insertHeader(const string& inEncoding = "ISO-8859-1"); + + /*! Insert a primitive tag with tag name \c inTagName, attribute name \c inAttName, and value \c inValue. + + The format for this primitive tag is . This method assumes that typename \c Type knows how to insert itself into a stream using \c operator<<. + */ + template + void insertPrimitiveTag(Type inValue, const string& inTagName, const string& inAttName="v") { + openTag(inTagName); + insertAttribute(inAttName, inValue); + closeTag(); + } + + //! Insert string \c inString as content of current markup. + void insertStringContent(const string& inContent, bool inConvert=true); + + //! Open new markup tag using name \c inName. + void openTag(const string& inName, bool inIndent=true); + + //! Set attribute indentation mode if argument \c inValue is true. + void setAttributeIndentation(bool inValue) {mIndentAttributes = inValue;} + + //! Set precision of output stream to \c inValue digits for double values. + void setPrecision(unsigned int inValue) {mStream.precision(inValue);} + + //! Insert an integer markup with value \c inValue into this streamer. + Streamer& operator<<(int inValue) { + insertPrimitiveTag(inValue, "Integer"); + return *this; + } + + //! Insert a float markup with value \c inValue into this streamer. + Streamer& operator<<(double inValue) { + insertPrimitiveTag(inValue, "Float"); + return *this; + } + + //! Insert a string markup with value \c inValue into this streamer. + Streamer& operator<<(const string& inValue) { + insertPrimitiveTag(inValue, "String"); + return *this; + } + + //! Insert object \c inObject into this stream, assuming that it defines a write function. + template + Streamer& operator<<(const Type& inObject) { + inObject.write(*this); + return *this; + } + + protected: + ostream& mStream; //!< Output stream + stack< pair > mTags; //!< Stack of opened tags + unsigned int mIndentWidth; //!< Width of markup indentation + bool mClosed; //!< Indicates whether start tag has been closed + bool mOneAttribute; //!< Indicates whether the tag contains at least one attribute + bool mIndentAttributes; //!< Indicates whether attributes should also be indented + }; + + } // end of XML namespace + +} // end of PACC namespace + +#endif // PACC_XML_Streamer_hpp_ diff --git a/lib/beagle-3.0.3/PACC/XML/libpacc-xml.cpp b/lib/beagle-3.0.3/PACC/XML/libpacc-xml.cpp new file mode 100644 index 0000000..8573bcd --- /dev/null +++ b/lib/beagle-3.0.3/PACC/XML/libpacc-xml.cpp @@ -0,0 +1,7 @@ +// Generated automatically by make + +#include "Document.cpp" +#include "Finder.cpp" +#include "Node.cpp" +#include "Streamer.cpp" + diff --git a/lib/beagle-3.0.3/README b/lib/beagle-3.0.3/README new file mode 100644 index 0000000..e9dfd3c --- /dev/null +++ b/lib/beagle-3.0.3/README @@ -0,0 +1,132 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Open BEAGLE + +Copyright (C) 1999-2007 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +ABOUT +===== + +Open BEAGLE is a versatile C++ evolutionary computation framework. +It provides a software environment to do any kind of EC, with a +fully-featured support for genetic programming and vector-based +evolutionary algorithms such genetic algorithms and evolution +strategies. + + +COMPILATION STATUS +================== + +|-----------------------------------------------------------------------------| +| Compiler | State | Comments | +|-------------|--------|------------------------------------------------------| +| gcc 4.x | | Follow the installation instruction for Unix. | | +| gcc 3.x | OK | | +| gcc 2.96 | | | +|-------------|--------|------------------------------------------------------| +| gcc 2.95 | OK | Need the addition of file sstream. | +| egcs 1.1.2 | | See http://gcc.gnu.org/faq.html#2.95sstream | +|-------------|--------|------------------------------------------------------| +| Borland C++ | OK | No supported anymore, but should still work. | +| Builder 5 | | | +|-------------|--------|------------------------------------------------------| +| MS Visual | | Copy file beagle/include/beagle/config.hpp.msvcpp as | +| C++ .NET | OK | file beagle/include/beagle/config.hpp, then use the | +| 2003 | | solution files in folders MSVCPP to compile the libs | +| | | and examples. | +|-------------|--------|------------------------------------------------------| +| MS Visual | | Solution and project files must be regenerated by | +| C++ .NET | OK | the user for MS Visual C++ .NET 2002. As with | +| 2002 | | version 2003, copy file config.hpp.msvcpp as file | +| | | config.hpp in folder beagle/include/beagle. | +|-------------|--------|------------------------------------------------------| +| MS Visual | FAILED | MS Visual C++ 6.0 template support is very poor. Use | +| C++ 6.0 | | MS Visual C++ .NET instead. | +|-----------------------------------------------------------------------------| + + +INSTRUCTIONS TO BUILD THE DISTRIBUTION ON UNIX +============================================== + +To build Open BEAGLE on Unix, uncompress the distribution, open a shell, +'cd' to the uncompressed distribution main directory, and type the +following commands. + + ./configure + make clean + make + +This will configure and compile the libraries composing the framework. +Optionally, you can install the framework by typing the following command. + + make install + +By default, the compiled libraries are installed in folder +'/usr/local/lib', while the headers are installed in folder +'/usr/local/include'. You can specify the installation folder by +giving the option '--prefix=PATH' to the 'configure' script. + +'configure' recognizes the following options to control how it operates. + +'--prefix=PATH' + Set the main installation folder (default: '/usr/local'). + +'--disable-shared' + Disable the build of the shared framework libraries. + +'--disable-static' + Disable the build of the static framework libraries. + +'--enable-optimization' + Enable the 'optimization' mode by disabling of some useful, but + not essential, debugging statements. Use this flag to compile a + version of the framework libraries that are linked with EC applications + that are fully debugged. + +'--enable-full-debug' + Enable the 'full debug' mode of the code by enabling some validation and + logging statements. Use this flag to compile a version of the framework + for special debugging requirements. + +'--disable-fast-compilation' + Disable the 'fast compilation' mode of the code, which proceeds by compiling + one big file include other source files necessary to compile a library. This + mode may need to be disabled in some specific circumtances. + +'--enable-tests' + Enable the compilation of various testing programs found under the 'tests' + directory. + + +INSTRUCTIONS TO BUILD THE DISTRIBUTION ON MS VISUAL C++ .NET 2003 +================================================================= + +Go to folder 'beagle/include/beagle' and copy file 'config.hpp.msvcpp' +as file 'config.hpp' (in the same folder). Then open the solution file +'beagle.sln' in folder 'MSVCPP'. You can compile either a debug or a release +version of the libraries. Once the libraries are compiled, you can compile +the examples provided. To do so, go to the main folder of each example and +open the appropriate solution file (.sln) in folder 'MSVCPP'. + + +GETTING STARTED +=============== + +You can experiment with the different examples provided in folder +'examples'. The README and INSTALL files of these examples explain +how to build them, The usage of the example binaries is provided by +executing them with the command-line argument '-OBusage'. +Detailed help is also provided with argument '-OBhelp'. + + +DOCUMENTATIONS +============== + +Consult the Open BEAGLE web page (http://beagle.gel.ulaval.ca) +to get all the necessary documents to use this framework. + diff --git a/lib/beagle-3.0.3/TODO b/lib/beagle-3.0.3/TODO new file mode 100644 index 0000000..619c7a3 --- /dev/null +++ b/lib/beagle-3.0.3/TODO @@ -0,0 +1,14 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Open BEAGLE 'to do' list + +Copyright (C) 1999-2007 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +- Graphical interface to generate and modify configuration files +- Graphical interface to view and analyse evolution output +- Complete revision/update of the Open BEAGLE manual +- A complete revision of the code comments diff --git a/lib/beagle-3.0.3/_configs.sed b/lib/beagle-3.0.3/_configs.sed new file mode 100644 index 0000000..d0a915f --- /dev/null +++ b/lib/beagle-3.0.3/_configs.sed @@ -0,0 +1,8 @@ +s/#undef *\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]\)/#undef BEAGLE_\1/ +s/#undef *\([abcdefghijklmnopqrstuvwxyz]\)/#undef _beagle_\1/ +s/#define *\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\)\(.*\)/#ifndef BEAGLE_\1 \ +#define BEAGLE_\1 \2 \ +#endif/ +s/#define *\([abcdefghijklmnopqrstuvwxyz][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\)\(.*\)/#ifndef _beagle_\1 \ +#define _beagle_\1 \2 \ +#endif/ diff --git a/lib/beagle-3.0.3/aclocal.m4 b/lib/beagle-3.0.3/aclocal.m4 new file mode 100644 index 0000000..73e96ec --- /dev/null +++ b/lib/beagle-3.0.3/aclocal.m4 @@ -0,0 +1,10293 @@ +# generated automatically by aclocal 1.16.5 -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],, +[m4_warning([this file was generated for autoconf 2.71. +You have another version of autoconf. It may work, but is not guaranteed to. +If you have problems, you may need to regenerate the build system entirely. +To do so, use the procedure documented by the package, typically 'autoreconf'.])]) + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +# +# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +m4_define([_LT_COPYING], [dnl +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +]) + +# serial 59 LT_INIT + + +# LT_PREREQ(VERSION) +# ------------------ +# Complain and exit if this libtool version is less that VERSION. +m4_defun([LT_PREREQ], +[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, + [m4_default([$3], + [m4_fatal([Libtool version $1 or higher is required], + 63)])], + [$2])]) + + +# _LT_CHECK_BUILDDIR +# ------------------ +# Complain if the absolute build directory name contains unusual characters +m4_defun([_LT_CHECK_BUILDDIR], +[case `pwd` in + *\ * | *\ *) + AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; +esac +]) + + +# LT_INIT([OPTIONS]) +# ------------------ +AC_DEFUN([LT_INIT], +[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK +AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +_LT_SETUP + +# Only expand once: +m4_define([LT_INIT]) +])# LT_INIT + +# Old names: +AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) +AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PROG_LIBTOOL], []) +dnl AC_DEFUN([AM_PROG_LIBTOOL], []) + + +# _LT_PREPARE_CC_BASENAME +# ----------------------- +m4_defun([_LT_PREPARE_CC_BASENAME], [ +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} +])# _LT_PREPARE_CC_BASENAME + + +# _LT_CC_BASENAME(CC) +# ------------------- +# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, +# but that macro is also expanded into generated libtool script, which +# arranges for $SED and $ECHO to be set by different means. +m4_defun([_LT_CC_BASENAME], +[m4_require([_LT_PREPARE_CC_BASENAME])dnl +AC_REQUIRE([_LT_DECL_SED])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl +func_cc_basename $1 +cc_basename=$func_cc_basename_result +]) + + +# _LT_FILEUTILS_DEFAULTS +# ---------------------- +# It is okay to use these file commands and assume they have been set +# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. +m4_defun([_LT_FILEUTILS_DEFAULTS], +[: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} +])# _LT_FILEUTILS_DEFAULTS + + +# _LT_SETUP +# --------- +m4_defun([_LT_SETUP], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl + +_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl +dnl +_LT_DECL([], [host_alias], [0], [The host system])dnl +_LT_DECL([], [host], [0])dnl +_LT_DECL([], [host_os], [0])dnl +dnl +_LT_DECL([], [build_alias], [0], [The build system])dnl +_LT_DECL([], [build], [0])dnl +_LT_DECL([], [build_os], [0])dnl +dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +test -z "$LN_S" && LN_S="ln -s" +_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl +dnl +AC_REQUIRE([LT_CMD_MAX_LEN])dnl +_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl +_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl +dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl +m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_DECL_FILECMD])dnl +m4_require([_LT_CHECK_MAGIC_METHOD])dnl +m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl +m4_require([_LT_CMD_OLD_ARCHIVE])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_WITH_SYSROOT])dnl +m4_require([_LT_CMD_TRUNCATE])dnl + +_LT_CONFIG_LIBTOOL_INIT([ +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi +]) +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +_LT_CHECK_OBJDIR + +m4_require([_LT_TAG_COMPILER])dnl + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + _LT_PATH_MAGIC + fi + ;; +esac + +# Use C for the default configuration in the libtool script +LT_SUPPORTED_TAG([CC]) +_LT_LANG_C_CONFIG +_LT_LANG_DEFAULT_CONFIG +_LT_CONFIG_COMMANDS +])# _LT_SETUP + + +# _LT_PREPARE_SED_QUOTE_VARS +# -------------------------- +# Define a few sed substitution that help us do robust quoting. +m4_defun([_LT_PREPARE_SED_QUOTE_VARS], +[# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([["`\\]]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' +]) + +# _LT_PROG_LTMAIN +# --------------- +# Note that this code is called both from 'configure', and 'config.status' +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +# 'config.status' has no value for ac_aux_dir unless we are using Automake, +# so we pass a copy along to make sure it has a sensible value anyway. +m4_defun([_LT_PROG_LTMAIN], +[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl +_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) +ltmain=$ac_aux_dir/ltmain.sh +])# _LT_PROG_LTMAIN + + + +# So that we can recreate a full libtool script including additional +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS +# in macros and then make a single call at the end using the 'libtool' +# label. + + +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) +# ---------------------------------------- +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL_INIT], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_INIT], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_INIT]) + + +# _LT_CONFIG_LIBTOOL([COMMANDS]) +# ------------------------------ +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) + + +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) +# ----------------------------------------------------- +m4_defun([_LT_CONFIG_SAVE_COMMANDS], +[_LT_CONFIG_LIBTOOL([$1]) +_LT_CONFIG_LIBTOOL_INIT([$2]) +]) + + +# _LT_FORMAT_COMMENT([COMMENT]) +# ----------------------------- +# Add leading comment marks to the start of each line, and a trailing +# full-stop to the whole comment if one is not present already. +m4_define([_LT_FORMAT_COMMENT], +[m4_ifval([$1], [ +m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], + [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) +)]) + + + + + +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) +# ------------------------------------------------------------------- +# CONFIGNAME is the name given to the value in the libtool script. +# VARNAME is the (base) name used in the configure script. +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on +# VARNAME. Any other value will be used directly. +m4_define([_LT_DECL], +[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], + [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], + [m4_ifval([$1], [$1], [$2])]) + lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) + m4_ifval([$4], + [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) + lt_dict_add_subkey([lt_decl_dict], [$2], + [tagged?], [m4_ifval([$5], [yes], [no])])]) +]) + + +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) +# -------------------------------------------------------- +m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) + + +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_tag_varnames], +[_lt_decl_filter([tagged?], [yes], $@)]) + + +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) +# --------------------------------------------------------- +m4_define([_lt_decl_filter], +[m4_case([$#], + [0], [m4_fatal([$0: too few arguments: $#])], + [1], [m4_fatal([$0: too few arguments: $#: $1])], + [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], + [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], + [lt_dict_filter([lt_decl_dict], $@)])[]dnl +]) + + +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) +# -------------------------------------------------- +m4_define([lt_decl_quote_varnames], +[_lt_decl_filter([value], [1], $@)]) + + +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_dquote_varnames], +[_lt_decl_filter([value], [2], $@)]) + + +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_varnames_tagged], +[m4_assert([$# <= 2])dnl +_$0(m4_quote(m4_default([$1], [[, ]])), + m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), + m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) +m4_define([_lt_decl_varnames_tagged], +[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) + + +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_all_varnames], +[_$0(m4_quote(m4_default([$1], [[, ]])), + m4_if([$2], [], + m4_quote(lt_decl_varnames), + m4_quote(m4_shift($@))))[]dnl +]) +m4_define([_lt_decl_all_varnames], +[lt_join($@, lt_decl_varnames_tagged([$1], + lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl +]) + + +# _LT_CONFIG_STATUS_DECLARE([VARNAME]) +# ------------------------------------ +# Quote a variable value, and forward it to 'config.status' so that its +# declaration there will have the same value as in 'configure'. VARNAME +# must have a single quote delimited value for this to work. +m4_define([_LT_CONFIG_STATUS_DECLARE], +[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) + + +# _LT_CONFIG_STATUS_DECLARATIONS +# ------------------------------ +# We delimit libtool config variables with single quotes, so when +# we write them to config.status, we have to be sure to quote all +# embedded single quotes properly. In configure, this macro expands +# each variable declared with _LT_DECL (and _LT_TAGDECL) into: +# +# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' +m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], +[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), + [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAGS +# ---------------- +# Output comment and list of tags supported by the script +m4_defun([_LT_LIBTOOL_TAGS], +[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl +available_tags='_LT_TAGS'dnl +]) + + +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) +# ----------------------------------- +# Extract the dictionary values for VARNAME (optionally with TAG) and +# expand to a commented shell variable setting: +# +# # Some comment about what VAR is for. +# visible_name=$lt_internal_name +m4_define([_LT_LIBTOOL_DECLARE], +[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], + [description])))[]dnl +m4_pushdef([_libtool_name], + m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl +m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), + [0], [_libtool_name=[$]$1], + [1], [_libtool_name=$lt_[]$1], + [2], [_libtool_name=$lt_[]$1], + [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl +m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl +]) + + +# _LT_LIBTOOL_CONFIG_VARS +# ----------------------- +# Produce commented declarations of non-tagged libtool config variables +# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG +# section) are produced by _LT_LIBTOOL_TAG_VARS. +m4_defun([_LT_LIBTOOL_CONFIG_VARS], +[m4_foreach([_lt_var], + m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAG_VARS(TAG) +# ------------------------- +m4_define([_LT_LIBTOOL_TAG_VARS], +[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) + + +# _LT_TAGVAR(VARNAME, [TAGNAME]) +# ------------------------------ +m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) + + +# _LT_CONFIG_COMMANDS +# ------------------- +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of +# variables for single and double quote escaping we saved from calls +# to _LT_DECL, we can put quote escaped variables declarations +# into 'config.status', and then the shell code to quote escape them in +# for loops in 'config.status'. Finally, any additional code accumulated +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. +m4_defun([_LT_CONFIG_COMMANDS], +[AC_PROVIDE_IFELSE([LT_OUTPUT], + dnl If the libtool generation code has been placed in $CONFIG_LT, + dnl instead of duplicating it all over again into config.status, + dnl then we will have config.status run $CONFIG_LT later, so it + dnl needs to know what name is stored there: + [AC_CONFIG_COMMANDS([libtool], + [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], + dnl If the libtool generation code is destined for config.status, + dnl expand the accumulated commands and init code now: + [AC_CONFIG_COMMANDS([libtool], + [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) +])#_LT_CONFIG_COMMANDS + + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], +[ + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +_LT_CONFIG_STATUS_DECLARATIONS +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$[]1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_quote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_dquote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +_LT_OUTPUT_LIBTOOL_INIT +]) + +# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) +# ------------------------------------ +# Generate a child script FILE with all initialization necessary to +# reuse the environment learned by the parent script, and make the +# file executable. If COMMENT is supplied, it is inserted after the +# '#!' sequence but before initialization text begins. After this +# macro, additional text can be appended to FILE to form the body of +# the child script. The macro ends with non-zero status if the +# file could not be fully written (such as if the disk is full). +m4_ifdef([AS_INIT_GENERATED], +[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], +[m4_defun([_LT_GENERATED_FILE_INIT], +[m4_require([AS_PREPARE])]dnl +[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl +[lt_write_fail=0 +cat >$1 <<_ASEOF || lt_write_fail=1 +#! $SHELL +# Generated by $as_me. +$2 +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$1 <<\_ASEOF || lt_write_fail=1 +AS_SHELL_SANITIZE +_AS_PREPARE +exec AS_MESSAGE_FD>&1 +_ASEOF +test 0 = "$lt_write_fail" && chmod +x $1[]dnl +m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT + +# LT_OUTPUT +# --------- +# This macro allows early generation of the libtool script (before +# AC_OUTPUT is called), incase it is used in configure for compilation +# tests. +AC_DEFUN([LT_OUTPUT], +[: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], +[# Run this file to recreate a libtool stub with the current configuration.]) + +cat >>"$CONFIG_LT" <<\_LTEOF +lt_cl_silent=false +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +'$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to ." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2011 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." + +while test 0 != $[#] +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try '$[0] --help' for more information.]) ;; + + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try '$[0] --help' for more information.]) ;; + esac + shift +done + +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null +fi +_LTEOF + +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +lt_cl_success=: +test yes = "$silent" && + lt_config_lt_args="$lt_config_lt_args --quiet" +exec AS_MESSAGE_LOG_FD>/dev/null +$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +exec AS_MESSAGE_LOG_FD>>config.log +$lt_cl_success || AS_EXIT(1) +])# LT_OUTPUT + + +# _LT_CONFIG(TAG) +# --------------- +# If TAG is the built-in tag, create an initial libtool script with a +# default configuration from the untagged config vars. Otherwise add code +# to config.status for appending the configuration named by TAG from the +# matching tagged config vars. +m4_defun([_LT_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_CONFIG_SAVE_COMMANDS([ + m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl + m4_if(_LT_TAG, [C], [ + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +_LT_COPYING +_LT_LIBTOOL_TAGS + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG +_LT_LIBTOOL_CONFIG_VARS +_LT_LIBTOOL_TAG_VARS +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +_LT_PREPARE_MUNGE_PATH_LIST +_LT_PREPARE_CC_BASENAME + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + _LT_PROG_LTMAIN + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + $SED '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +], +[cat <<_LT_EOF >> "$ofile" + +dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded +dnl in a comment (ie after a #). +# ### BEGIN LIBTOOL TAG CONFIG: $1 +_LT_LIBTOOL_TAG_VARS(_LT_TAG) +# ### END LIBTOOL TAG CONFIG: $1 +_LT_EOF +])dnl /m4_if +], +[m4_if([$1], [], [ + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile'], []) +])dnl /_LT_CONFIG_SAVE_COMMANDS +])# _LT_CONFIG + + +# LT_SUPPORTED_TAG(TAG) +# --------------------- +# Trace this macro to discover what tags are supported by the libtool +# --tag option, using: +# autoconf --trace 'LT_SUPPORTED_TAG:$1' +AC_DEFUN([LT_SUPPORTED_TAG], []) + + +# C support is built-in for now +m4_define([_LT_LANG_C_enabled], []) +m4_define([_LT_TAGS], []) + + +# LT_LANG(LANG) +# ------------- +# Enable libtool support for the given language if not already enabled. +AC_DEFUN([LT_LANG], +[AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Go], [_LT_LANG(GO)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +])# LT_LANG + + +# _LT_LANG(LANGNAME) +# ------------------ +m4_defun([_LT_LANG], +[m4_ifdef([_LT_LANG_]$1[_enabled], [], + [LT_SUPPORTED_TAG([$1])dnl + m4_append([_LT_TAGS], [$1 ])dnl + m4_define([_LT_LANG_]$1[_enabled], [])dnl + _LT_LANG_$1_CONFIG($1)])dnl +])# _LT_LANG + + +m4_ifndef([AC_PROG_GO], [ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_GO. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +m4_defun([AC_PROG_GO], +[AC_LANG_PUSH(Go)dnl +AC_ARG_VAR([GOC], [Go compiler command])dnl +AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl +_AC_ARG_VAR_LDFLAGS()dnl +AC_CHECK_TOOL(GOC, gccgo) +if test -z "$GOC"; then + if test -n "$ac_tool_prefix"; then + AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) + fi +fi +if test -z "$GOC"; then + AC_CHECK_PROG(GOC, gccgo, gccgo, false) +fi +])#m4_defun +])#m4_ifndef + + +# _LT_LANG_DEFAULT_CONFIG +# ----------------------- +m4_defun([_LT_LANG_DEFAULT_CONFIG], +[AC_PROVIDE_IFELSE([AC_PROG_CXX], + [LT_LANG(CXX)], + [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) + +AC_PROVIDE_IFELSE([AC_PROG_F77], + [LT_LANG(F77)], + [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) + +AC_PROVIDE_IFELSE([AC_PROG_FC], + [LT_LANG(FC)], + [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) + +dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal +dnl pulling things in needlessly. +AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([LT_PROG_GCJ], + [LT_LANG(GCJ)], + [m4_ifdef([AC_PROG_GCJ], + [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([A][M_PROG_GCJ], + [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([LT_PROG_GCJ], + [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) + +AC_PROVIDE_IFELSE([AC_PROG_GO], + [LT_LANG(GO)], + [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) + +AC_PROVIDE_IFELSE([LT_PROG_RC], + [LT_LANG(RC)], + [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) +])# _LT_LANG_DEFAULT_CONFIG + +# Obsolete macros: +AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_CXX], []) +dnl AC_DEFUN([AC_LIBTOOL_F77], []) +dnl AC_DEFUN([AC_LIBTOOL_FC], []) +dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) +dnl AC_DEFUN([AC_LIBTOOL_RC], []) + + +# _LT_TAG_COMPILER +# ---------------- +m4_defun([_LT_TAG_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl +_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl +_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl +_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_TAG_COMPILER + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +m4_defun([_LT_COMPILER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +m4_defun([_LT_LINKER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* +])# _LT_LINKER_BOILERPLATE + +# _LT_REQUIRED_DARWIN_CHECKS +# ------------------------- +m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ + case $host_os in + rhapsody* | darwin*) + AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) + AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) + AC_CHECK_TOOL([LIPO], [lipo], [:]) + AC_CHECK_TOOL([OTOOL], [otool], [:]) + AC_CHECK_TOOL([OTOOL64], [otool64], [:]) + _LT_DECL([], [DSYMUTIL], [1], + [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) + _LT_DECL([], [NMEDIT], [1], + [Tool to change global to local symbols on Mac OS X]) + _LT_DECL([], [LIPO], [1], + [Tool to manipulate fat objects and archives on Mac OS X]) + _LT_DECL([], [OTOOL], [1], + [ldd/readelf like tool for Mach-O binaries on Mac OS X]) + _LT_DECL([], [OTOOL64], [1], + [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) + + AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], + [lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi]) + + AC_CACHE_CHECK([for -exported_symbols_list linker flag], + [lt_cv_ld_exported_symbols_list], + [lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [lt_cv_ld_exported_symbols_list=yes], + [lt_cv_ld_exported_symbols_list=no]) + LDFLAGS=$save_LDFLAGS + ]) + + AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], + [lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD + $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + ]) + case $host_os in + rhapsody* | darwin1.[[012]]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[[012]],*|,*powerpc*-darwin[[5-8]]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac +]) + + +# _LT_DARWIN_LINKER_FEATURES([TAG]) +# --------------------------------- +# Checks for linker and compiler features on darwin +m4_defun([_LT_DARWIN_LINKER_FEATURES], +[ + m4_require([_LT_REQUIRED_DARWIN_CHECKS]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_automatic, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + if test yes = "$lt_cv_ld_force_load"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], + [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='' + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(module_expsym_cmds, $1)="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + m4_if([$1], [CXX], +[ if test yes != "$lt_cv_apple_cc_single_mod"; then + _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" + fi +],[]) + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi +]) + +# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) +# ---------------------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +# Store the results from the different compilers for each TAGNAME. +# Allow to override them for all tags through lt_cv_aix_libpath. +m4_defun([_LT_SYS_MODULE_PATH_AIX], +[m4_require([_LT_DECL_SED])dnl +if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], + [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ + lt_aix_libpath_sed='[ + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }]' + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi],[]) + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib + fi + ]) + aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) +fi +])# _LT_SYS_MODULE_PATH_AIX + + +# _LT_SHELL_INIT(ARG) +# ------------------- +m4_define([_LT_SHELL_INIT], +[m4_divert_text([M4SH-INIT], [$1 +])])# _LT_SHELL_INIT + + + +# _LT_PROG_ECHO_BACKSLASH +# ----------------------- +# Find how we can fake an echo command that does not interpret backslash. +# In particular, with Autoconf 2.60 or later we add some code to the start +# of the generated configure script that will find a shell with a builtin +# printf (that we can use as an echo command). +m4_defun([_LT_PROG_ECHO_BACKSLASH], +[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +AC_MSG_CHECKING([how to print strings]) +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$[]1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + +case $ECHO in + printf*) AC_MSG_RESULT([printf]) ;; + print*) AC_MSG_RESULT([print -r]) ;; + *) AC_MSG_RESULT([cat]) ;; +esac + +m4_ifdef([_AS_DETECT_SUGGESTED], +[_AS_DETECT_SUGGESTED([ + test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test "X`printf %s $ECHO`" = "X$ECHO" \ + || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) + +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) +_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) +])# _LT_PROG_ECHO_BACKSLASH + + +# _LT_WITH_SYSROOT +# ---------------- +AC_DEFUN([_LT_WITH_SYSROOT], +[m4_require([_LT_DECL_SED])dnl +AC_MSG_CHECKING([for sysroot]) +AC_ARG_WITH([sysroot], +[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], + [Search for dependent libraries within DIR (or the compiler's sysroot + if not specified).])], +[], [with_sysroot=no]) + +dnl lt_sysroot will always be passed unquoted. We quote it here +dnl in case the user passed a directory name. +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + AC_MSG_RESULT([$with_sysroot]) + AC_MSG_ERROR([The sysroot must be an absolute path.]) + ;; +esac + + AC_MSG_RESULT([${lt_sysroot:-no}]) +_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl +[dependent libraries, and where our libraries should be installed.])]) + +# _LT_ENABLE_LOCK +# --------------- +m4_defun([_LT_ENABLE_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AS_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `$FILECMD conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + emul=elf + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `$FILECMD conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `$FILECMD conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `$FILECMD conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock +])# _LT_ENABLE_LOCK + + +# _LT_PROG_AR +# ----------- +m4_defun([_LT_PROG_AR], +[AC_CHECK_TOOLS(AR, [ar], false) +: ${AR=ar} +_LT_DECL([], [AR], [1], [The archiver]) + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS +_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. +_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}], + [Flags to create an archive]) + +AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], + [lt_cv_ar_at_file=no + AC_COMPILE_IFELSE([AC_LANG_PROGRAM], + [echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' + AC_TRY_EVAL([lt_ar_try]) + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + AC_TRY_EVAL([lt_ar_try]) + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + ]) + ]) + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi +_LT_DECL([], [archiver_list_spec], [1], + [How to feed a file listing to the archiver]) +])# _LT_PROG_AR + + +# _LT_CMD_OLD_ARCHIVE +# ------------------- +m4_defun([_LT_CMD_OLD_ARCHIVE], +[_LT_PROG_AR + +AC_CHECK_TOOL(STRIP, strip, :) +test -z "$STRIP" && STRIP=: +_LT_DECL([], [STRIP], [1], [A symbol stripping program]) + +AC_CHECK_TOOL(RANLIB, ranlib, :) +test -z "$RANLIB" && RANLIB=: +_LT_DECL([], [RANLIB], [1], + [Commands used to install an old-style archive]) + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac +_LT_DECL([], [old_postinstall_cmds], [2]) +_LT_DECL([], [old_postuninstall_cmds], [2]) +_LT_TAGDECL([], [old_archive_cmds], [2], + [Commands used to build an old-style archive]) +_LT_DECL([], [lock_old_archive_extraction], [0], + [Whether to use a lock for old archive extraction]) +])# _LT_CMD_OLD_ARCHIVE + + +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([_LT_COMPILER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test yes = "[$]$2"; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +])# _LT_COMPILER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) + + +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------- +# Check whether the given linker option works +AC_DEFUN([_LT_LINKER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS +]) + +if test yes = "[$]$2"; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +])# _LT_LINKER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) + + +# LT_CMD_MAX_LEN +#--------------- +AC_DEFUN([LT_CMD_MAX_LEN], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n "$lt_cv_sys_max_cmd_len"; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +])# LT_CMD_MAX_LEN + +# Old name: +AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) + + +# _LT_HEADER_DLFCN +# ---------------- +m4_defun([_LT_HEADER_DLFCN], +[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl +])# _LT_HEADER_DLFCN + + +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ---------------------------------------------------------------- +m4_defun([_LT_TRY_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test yes = "$cross_compiling"; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_TRY_DLOPEN_SELF + + +# LT_SYS_DLOPEN_SELF +# ------------------ +AC_DEFUN([LT_SYS_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen=shl_load], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen=dlopen], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +])# LT_SYS_DLOPEN_SELF + +# Old name: +AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) + + +# _LT_COMPILER_C_O([TAGNAME]) +# --------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler. +# This macro does not hard code the compiler like AC_PROG_CC_C_O. +m4_defun([_LT_COMPILER_C_O], +[m4_require([_LT_DECL_SED])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* +]) +_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], + [Does compiler simultaneously support -c and -o options?]) +])# _LT_COMPILER_C_O + + +# _LT_COMPILER_FILE_LOCKS([TAGNAME]) +# ---------------------------------- +# Check to see if we can do hard links to lock some files if needed +m4_defun([_LT_COMPILER_FILE_LOCKS], +[m4_require([_LT_ENABLE_LOCK])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_COMPILER_C_O([$1]) + +hard_links=nottested +if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test no = "$hard_links"; then + AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) +])# _LT_COMPILER_FILE_LOCKS + + +# _LT_CHECK_OBJDIR +# ---------------- +m4_defun([_LT_CHECK_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +_LT_DECL([], [objdir], [0], + [The name of the directory that contains temporary libtool files])dnl +m4_pattern_allow([LT_OBJDIR])dnl +AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", + [Define to the sub-directory where libtool stores uninstalled libraries.]) +])# _LT_CHECK_OBJDIR + + +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) +# -------------------------------------- +# Check hardcoding attributes. +m4_defun([_LT_LINKER_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || + test -n "$_LT_TAGVAR(runpath_var, $1)" || + test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then + + # We can hardcode non-existent directories. + if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && + test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then + # Linking always hardcodes the temporary library directory. + _LT_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) + +if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || + test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi +_LT_TAGDECL([], [hardcode_action], [0], + [How to hardcode a shared library path into an executable]) +])# _LT_LINKER_HARDCODE_LIBPATH + + +# _LT_CMD_STRIPLIB +# ---------------- +m4_defun([_LT_CMD_STRIPLIB], +[m4_require([_LT_DECL_EGREP]) +striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -z "$STRIP"; then + AC_MSG_RESULT([no]) +else + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac + fi +fi +_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) +_LT_DECL([], [striplib], [1]) +])# _LT_CMD_STRIPLIB + + +# _LT_PREPARE_MUNGE_PATH_LIST +# --------------------------- +# Make sure func_munge_path_list() is defined correctly. +m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], +[[# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} +]])# _LT_PREPARE_PATH_LIST + + +# _LT_SYS_DYNAMIC_LINKER([TAG]) +# ----------------------------- +# PORTME Fill in your ld.so characteristics +m4_defun([_LT_SYS_DYNAMIC_LINKER], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_OBJDUMP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +m4_if([$1], + [], [ +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +AC_ARG_VAR([LT_SYS_LIBRARY_PATH], +[User-defined run-time library search path.]) + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[[4-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a[(]lib.so.V[)]' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[23]].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[[3-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], + [lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ + LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], + [lt_cv_shlibpath_overrides_runpath=yes])]) + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + ]) + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + +_LT_DECL([], [variables_saved_for_relink], [1], + [Variables whose values should be saved in libtool wrapper scripts and + restored at link time]) +_LT_DECL([], [need_lib_prefix], [0], + [Do we need the "lib" prefix for modules?]) +_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) +_LT_DECL([], [version_type], [0], [Library versioning type]) +_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) +_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) +_LT_DECL([], [shlibpath_overrides_runpath], [0], + [Is shlibpath searched before the hard-coded library search path?]) +_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) +_LT_DECL([], [library_names_spec], [1], + [[List of archive names. First name is the real one, the rest are links. + The last name is the one that the linker finds with -lNAME]]) +_LT_DECL([], [soname_spec], [1], + [[The coded name of the library, if different from the real name]]) +_LT_DECL([], [install_override_mode], [1], + [Permission mode override for installation of shared libraries]) +_LT_DECL([], [postinstall_cmds], [2], + [Command to use after installation of a shared archive]) +_LT_DECL([], [postuninstall_cmds], [2], + [Command to use after uninstallation of a shared archive]) +_LT_DECL([], [finish_cmds], [2], + [Commands used to finish a libtool library installation in a directory]) +_LT_DECL([], [finish_eval], [1], + [[As "finish_cmds", except a single script fragment to be evaled but + not shown]]) +_LT_DECL([], [hardcode_into_libs], [0], + [Whether we should hardcode library paths into libraries]) +_LT_DECL([], [sys_lib_search_path_spec], [2], + [Compile-time system search path for libraries]) +_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], + [Detected run-time system search path for libraries]) +_LT_DECL([], [configure_time_lt_sys_library_path], [2], + [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) +])# _LT_SYS_DYNAMIC_LINKER + + +# _LT_PATH_TOOL_PREFIX(TOOL) +# -------------------------- +# find a file program that can recognize shared library +AC_DEFUN([_LT_PATH_TOOL_PREFIX], +[m4_require([_LT_DECL_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="m4_if([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$1"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac]) +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +])# _LT_PATH_TOOL_PREFIX + +# Old name: +AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) + + +# _LT_PATH_MAGIC +# -------------- +# find a file program that can recognize a shared library +m4_defun([_LT_PATH_MAGIC], +[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# _LT_PATH_MAGIC + + +# LT_PATH_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([LT_PATH_LD], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PROG_ECHO_BACKSLASH])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test no = "$withval" || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], +[if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi]) +rm -f conftest.i conftest2.i conftest.out]) +])# _LT_PATH_DD + + +# _LT_CMD_TRUNCATE +# ---------------- +# find command to truncate a binary pipe +m4_defun([_LT_CMD_TRUNCATE], +[m4_require([_LT_PATH_DD]) +AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], +[printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) +_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], + [Command to truncate a binary pipe]) +])# _LT_CMD_TRUNCATE + + +# _LT_CHECK_MAGIC_METHOD +# ---------------------- +# how to check for library dependencies +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_MAGIC_METHOD], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +AC_CACHE_CHECK([how to recognize dependent libraries], +lt_cv_deplibs_check_method, +[lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[[4-9]]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[[45]]*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='$FILECMD -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly* | midnightbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=$FILECMD + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + +_LT_DECL([], [deplibs_check_method], [1], + [Method to check whether dependent libraries are shared objects]) +_LT_DECL([], [file_magic_cmd], [1], + [Command to use when deplibs_check_method = "file_magic"]) +_LT_DECL([], [file_magic_glob], [1], + [How to find potential files when deplibs_check_method = "file_magic"]) +_LT_DECL([], [want_nocaseglob], [1], + [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) +])# _LT_CHECK_MAGIC_METHOD + + +# LT_PATH_NM +# ---------- +# find the pathname to a BSD- or MS-compatible name lister +AC_DEFUN([LT_PATH_NM], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi]) +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + AC_SUBST([DUMPBIN]) + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl + +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +])# LT_PATH_NM + +# Old names: +AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) +AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_PROG_NM], []) +dnl AC_DEFUN([AC_PROG_NM], []) + +# _LT_CHECK_SHAREDLIB_FROM_LINKLIB +# -------------------------------- +# how to determine the name of the shared library +# associated with a specific link library. +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +m4_require([_LT_DECL_DLLTOOL]) +AC_CACHE_CHECK([how to associate runtime and link libraries], +lt_cv_sharedlib_from_linklib_cmd, +[lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac +]) +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + +_LT_DECL([], [sharedlib_from_linklib_cmd], [1], + [Command to associate shared and link libraries]) +])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB + + +# _LT_PATH_MANIFEST_TOOL +# ---------------------- +# locate the manifest tool +m4_defun([_LT_PATH_MANIFEST_TOOL], +[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], + [lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&AS_MESSAGE_LOG_FD + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest*]) +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi +_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl +])# _LT_PATH_MANIFEST_TOOL + + +# _LT_DLL_DEF_P([FILE]) +# --------------------- +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with func_dll_def_p in the libtool script +AC_DEFUN([_LT_DLL_DEF_P], +[dnl + test DEF = "`$SED -n dnl + -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace + -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments + -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl + -e q dnl Only consider the first "real" line + $1`" dnl +])# _LT_DLL_DEF_P + + +# LT_LIB_M +# -------- +# check for math library +AC_DEFUN([LT_LIB_M], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM=-lm) + ;; +esac +AC_SUBST([LIBM]) +])# LT_LIB_M + +# Old name: +AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_CHECK_LIBM], []) + + +# _LT_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------- +m4_defun([_LT_COMPILER_NO_RTTI], +[m4_require([_LT_TAG_COMPILER])dnl + +_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; + *) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; + esac + + _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], + [Compiler flag to turn off builtin functions]) +])# _LT_COMPILER_NO_RTTI + + +# _LT_CMD_GLOBAL_SYMBOLS +# ---------------------- +m4_defun([_LT_CMD_GLOBAL_SYMBOLS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([LT_PATH_NM])dnl +AC_REQUIRE([LT_PATH_LD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_TAG_COMPILER])dnl + +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[[ABCDEGRST]]' + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++ or ICC, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK ['"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx]" + else + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + nlist=conftest.nm + $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD + if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT@&t@_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT@&t@_DLSYM_CONST +#else +# define LT@&t@_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT@&t@_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[[]] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + +_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], + [Take the output of nm and produce a listing of raw symbols and C names]) +_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], + [Transform the output of nm in a proper C declaration]) +_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], + [Transform the output of nm into a list of symbols to manually relocate]) +_LT_DECL([global_symbol_to_c_name_address], + [lt_cv_sys_global_symbol_to_c_name_address], [1], + [Transform the output of nm in a C name address pair]) +_LT_DECL([global_symbol_to_c_name_address_lib_prefix], + [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], + [Transform the output of nm in a C name address pair when lib prefix is needed]) +_LT_DECL([nm_interface], [lt_cv_nm_interface], [1], + [The name lister interface]) +_LT_DECL([], [nm_file_list_spec], [1], + [Specify filename containing input files for $NM]) +]) # _LT_CMD_GLOBAL_SYMBOLS + + +# _LT_COMPILER_PIC([TAGNAME]) +# --------------------------- +m4_defun([_LT_COMPILER_PIC], +[m4_require([_LT_TAG_COMPILER])dnl +_LT_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_TAGVAR(lt_prog_compiler_static, $1)= + +m4_if([$1], [CXX], [ + # C++ specific cases for pic, static, wl, etc. + if test yes = "$GXX"; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix[[4-9]]*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64, which still supported -KPIC. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test yes = "$GCC"; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' + if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' + _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' + ;; + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + *Sun\ F* | *Sun*Fortran*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Intel*\ [[CF]]*Compiler*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + *Portland\ Group*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +AC_CACHE_CHECK([for $compiler option to produce PIC], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) +_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], + [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], + [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], + [Additional compiler flags for building library objects]) + +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], + [How to pass a linker flag through the compiler]) +# +# Check to make sure the static flag actually works. +# +wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" +_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) +_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], + [Compiler flag to prevent dynamic linking]) +])# _LT_COMPILER_PIC + + +# _LT_LINKER_SHLIBS([TAGNAME]) +# ---------------------------- +# See if the linker supports building shared libraries. +m4_defun([_LT_LINKER_SHLIBS], +[AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +m4_if([$1], [CXX], [ + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + case $host_os in + aix[[4-9]]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl* | icl*) + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + ;; + esac + ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +], [ + runpath_var= + _LT_TAGVAR(allow_undefined_flag, $1)= + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(archive_cmds, $1)= + _LT_TAGVAR(archive_expsym_cmds, $1)= + _LT_TAGVAR(compiler_needs_object, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(hardcode_automatic, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(hardcode_libdir_separator, $1)= + _LT_TAGVAR(hardcode_minus_L, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_TAGVAR(inherit_rpath, $1)=no + _LT_TAGVAR(link_all_deplibs, $1)=unknown + _LT_TAGVAR(module_cmds, $1)= + _LT_TAGVAR(module_expsym_cmds, $1)= + _LT_TAGVAR(old_archive_from_new_cmds, $1)= + _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_TAGVAR(thread_safe_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. +dnl Note also adjust exclude_expsyms for C++ above. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; + esac + + _LT_TAGVAR(ld_shlibs, $1)=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; + *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[[3-9]]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + _LT_TAGVAR(whole_archive_flag_spec, $1)= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then + runpath_var= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix[[4-9]]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + bsdi[[45]]*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + esac + ;; + + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + m4_if($1, [], [ + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + _LT_LINKER_OPTION([if $CC understands -b], + _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], + [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) + ;; + esac + fi + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], + [lt_cv_irix_exported_symbol], + [save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + AC_LINK_IFELSE( + [AC_LANG_SOURCE( + [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], + [C++], [[int foo (void) { return 0; }]], + [Fortran 77], [[ + subroutine foo + end]], + [Fortran], [[ + subroutine foo + end]])])], + [lt_cv_irix_exported_symbol=yes], + [lt_cv_irix_exported_symbol=no]) + LDFLAGS=$save_LDFLAGS]) + if test yes = "$lt_cv_irix_exported_symbol"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi + _LT_TAGVAR(link_all_deplibs, $1)=no + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + _LT_TAGVAR(ld_shlibs, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + ;; + esac + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + fi + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + ;; + + osf3*) + if test yes = "$GCC"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' + ;; + esac + fi + fi +]) +AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no + +_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld + +_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl +_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl +_LT_DECL([], [extract_expsyms_cmds], [2], + [The commands to extract the exported symbol list from a shared archive]) + +# +# Do we need to explicitly link libc? +# +case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $_LT_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_CACHE_CHECK([whether -lc should be explicitly linked in], + [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), + [$RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) + _LT_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) + then + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no + else + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + ]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) + ;; + esac + fi + ;; +esac + +_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], + [Whether or not to add -lc for building shared libraries]) +_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], + [enable_shared_with_static_runtimes], [0], + [Whether or not to disallow shared libs when runtime libs are static]) +_LT_TAGDECL([], [export_dynamic_flag_spec], [1], + [Compiler flag to allow reflexive dlopens]) +_LT_TAGDECL([], [whole_archive_flag_spec], [1], + [Compiler flag to generate shared objects directly from archives]) +_LT_TAGDECL([], [compiler_needs_object], [1], + [Whether the compiler copes with passing no objects directly]) +_LT_TAGDECL([], [old_archive_from_new_cmds], [2], + [Create an old-style archive from a shared archive]) +_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], + [Create a temporary old-style archive to link instead of a shared archive]) +_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) +_LT_TAGDECL([], [archive_expsym_cmds], [2]) +_LT_TAGDECL([], [module_cmds], [2], + [Commands used to build a loadable module if different from building + a shared archive.]) +_LT_TAGDECL([], [module_expsym_cmds], [2]) +_LT_TAGDECL([], [with_gnu_ld], [1], + [Whether we are building with GNU ld or not]) +_LT_TAGDECL([], [allow_undefined_flag], [1], + [Flag that allows shared libraries with undefined symbols to be built]) +_LT_TAGDECL([], [no_undefined_flag], [1], + [Flag that enforces no undefined symbols]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], + [Flag to hardcode $libdir into a binary during linking. + This must work even if $libdir does not exist]) +_LT_TAGDECL([], [hardcode_libdir_separator], [1], + [Whether we need a single "-rpath" flag with a separated argument]) +_LT_TAGDECL([], [hardcode_direct], [0], + [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes + DIR into the resulting binary]) +_LT_TAGDECL([], [hardcode_direct_absolute], [0], + [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes + DIR into the resulting binary and the resulting library dependency is + "absolute", i.e impossible to change by setting $shlibpath_var if the + library is relocated]) +_LT_TAGDECL([], [hardcode_minus_L], [0], + [Set to "yes" if using the -LDIR flag during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_shlibpath_var], [0], + [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_automatic], [0], + [Set to "yes" if building a shared library automatically hardcodes DIR + into the library and all subsequent libraries and executables linked + against it]) +_LT_TAGDECL([], [inherit_rpath], [0], + [Set to yes if linker adds runtime paths of dependent libraries + to runtime path list]) +_LT_TAGDECL([], [link_all_deplibs], [0], + [Whether libtool must link a program against all its dependency libraries]) +_LT_TAGDECL([], [always_export_symbols], [0], + [Set to "yes" if exported symbols are required]) +_LT_TAGDECL([], [export_symbols_cmds], [2], + [The commands to list exported symbols]) +_LT_TAGDECL([], [exclude_expsyms], [1], + [Symbols that should not be listed in the preloaded symbols]) +_LT_TAGDECL([], [include_expsyms], [1], + [Symbols that must always be exported]) +_LT_TAGDECL([], [prelink_cmds], [2], + [Commands necessary for linking programs (against libraries) with templates]) +_LT_TAGDECL([], [postlink_cmds], [2], + [Commands necessary for finishing linking programs]) +_LT_TAGDECL([], [file_list_spec], [1], + [Specify filename containing input files]) +dnl FIXME: Not yet implemented +dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], +dnl [Compiler flag to generate thread safe objects]) +])# _LT_LINKER_SHLIBS + + +# _LT_LANG_C_CONFIG([TAG]) +# ------------------------ +# Ensure that the configuration variables for a C compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_C_CONFIG], +[m4_require([_LT_DECL_EGREP])dnl +lt_save_CC=$CC +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_TAG_COMPILER +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + LT_SYS_DLOPEN_SELF + _LT_CMD_STRIPLIB + + # Report what library types will actually be built + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_CONFIG($1) +fi +AC_LANG_POP +CC=$lt_save_CC +])# _LT_LANG_C_CONFIG + + +# _LT_LANG_CXX_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a C++ compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_CXX_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then + AC_PROG_CXXCPP +else + _lt_caught_CXX_error=yes +fi + +AC_LANG_PUSH(C++) +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(compiler_needs_object, $1)=no +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_caught_CXX_error"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test yes = "$GXX"; then + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + else + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + fi + + if test yes = "$GXX"; then + # Set up default GNU C++ configuration + + LT_PATH_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test yes = "$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='$wl' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) + _LT_TAGVAR(ld_shlibs, $1)=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aix[[4-9]]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + ;; + esac + + if test yes = "$GXX"; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + # The "-G" linker flag allows undefined symbols. + _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' + # Determine the default libpath from the value encoded in an empty + # executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl* | ,icl* | no,icl*) + # Native MSVC or ICC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + freebsd-elf*) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + hpux9*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' + fi + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) + _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + case $host in + osf3*) + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + ;; + *) + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ + $RM $lib.exp' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes,no = "$GXX,$with_gnu_ld"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + case $host in + osf3*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test yes,no = "$GXX,$with_gnu_ld"; then + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + else + # g++ 2.7 appears to require '-G' NOT '-shared' on this + # platform. + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + fi + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ + '"$_LT_TAGVAR(old_archive_cmds, $1)" + _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ + '"$_LT_TAGVAR(reload_cmds, $1)" + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) + test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no + + _LT_TAGVAR(GCC, $1)=$GXX + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test yes != "$_lt_caught_CXX_error" + +AC_LANG_POP +])# _LT_LANG_CXX_CONFIG + + +# _LT_FUNC_STRIPNAME_CNF +# ---------------------- +# func_stripname_cnf prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# +# This function is identical to the (non-XSI) version of func_stripname, +# except this one can be used by m4 code that may be executed by configure, +# rather than the libtool script. +m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl +AC_REQUIRE([_LT_DECL_SED]) +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) +func_stripname_cnf () +{ + case @S|@2 in + .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; + *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; + esac +} # func_stripname_cnf +])# _LT_FUNC_STRIPNAME_CNF + + +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) +# --------------------------------- +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +m4_defun([_LT_SYS_HIDDEN_LIBDEPS], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl +# Dependencies to place before and after the object being linked: +_LT_TAGVAR(predep_objects, $1)= +_LT_TAGVAR(postdep_objects, $1)= +_LT_TAGVAR(predeps, $1)= +_LT_TAGVAR(postdeps, $1)= +_LT_TAGVAR(compiler_lib_search_path, $1)= + +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF +int a; +void foo (void) { a = 0; } +_LT_EOF +], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF +], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer*4 a + a=0 + return + end +_LT_EOF +], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer a + a=0 + return + end +_LT_EOF +], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF +public class foo { + private int a; + public void bar (void) { + a = 0; + } +}; +_LT_EOF +], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF +package foo +func foo() { +} +_LT_EOF +]) + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +dnl Parse the compiler output and extract the necessary +dnl objects, libraries and library flags. +if AC_TRY_EVAL(ac_compile); then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then + _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p + else + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$_LT_TAGVAR(postdeps, $1)"; then + _LT_TAGVAR(postdeps, $1)=$prev$p + else + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test no = "$pre_test_object_deps_done"; then + if test -z "$_LT_TAGVAR(predep_objects, $1)"; then + _LT_TAGVAR(predep_objects, $1)=$p + else + _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" + fi + else + if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then + _LT_TAGVAR(postdep_objects, $1)=$p + else + _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling $1 test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +m4_if([$1], [CXX], +[case $host_os in +interix[[3-9]]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + _LT_TAGVAR(predep_objects,$1)= + _LT_TAGVAR(postdep_objects,$1)= + _LT_TAGVAR(postdeps,$1)= + ;; +esac +]) + +case " $_LT_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac + _LT_TAGVAR(compiler_lib_search_dirs, $1)= +if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi +_LT_TAGDECL([], [compiler_lib_search_dirs], [1], + [The directories searched by this compiler when creating a shared library]) +_LT_TAGDECL([], [predep_objects], [1], + [Dependencies to place before and after the objects being linked to + create a shared library]) +_LT_TAGDECL([], [postdep_objects], [1]) +_LT_TAGDECL([], [predeps], [1]) +_LT_TAGDECL([], [postdeps], [1]) +_LT_TAGDECL([], [compiler_lib_search_path], [1], + [The library search path used internally by the compiler when linking + a shared library]) +])# _LT_SYS_HIDDEN_LIBDEPS + + +# _LT_LANG_F77_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a Fortran 77 compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_F77_CONFIG], +[AC_LANG_PUSH(Fortran 77) +if test -z "$F77" || test no = "$F77"; then + _lt_disable_F77=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the F77 compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_F77"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${F77-"f77"} + CFLAGS=$FFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + GCC=$G77 + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)=$G77 + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_F77" + +AC_LANG_POP +])# _LT_LANG_F77_CONFIG + + +# _LT_LANG_FC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for a Fortran compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_FC_CONFIG], +[AC_LANG_PUSH(Fortran) + +if test -z "$FC" || test no = "$FC"; then + _lt_disable_FC=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for fc test sources. +ac_ext=${ac_fc_srcext-f} + +# Object file extension for compiled fc test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the FC compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_FC"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${FC-"f95"} + CFLAGS=$FCFLAGS + compiler=$CC + GCC=$ac_cv_fc_compiler_gnu + + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_FC" + +AC_LANG_POP +])# _LT_LANG_FC_CONFIG + + +# _LT_LANG_GCJ_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Java Compiler compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_GCJ_CONFIG], +[AC_REQUIRE([LT_PROG_GCJ])dnl +AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GCJ-"gcj"} +CFLAGS=$GCJFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)=$LD +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GCJ_CONFIG + + +# _LT_LANG_GO_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Go compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_GO_CONFIG], +[AC_REQUIRE([LT_PROG_GO])dnl +AC_LANG_SAVE + +# Source file extension for Go test sources. +ac_ext=go + +# Object file extension for compiled Go test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="package main; func main() { }" + +# Code to be used in simple link tests +lt_simple_link_test_code='package main; func main() { }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GOC-"gccgo"} +CFLAGS=$GOFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)=$LD +_LT_CC_BASENAME([$compiler]) + +# Go did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GO_CONFIG + + +# _LT_LANG_RC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for the Windows resource compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_RC_CONFIG], +[AC_REQUIRE([LT_PROG_RC])dnl +AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code=$lt_simple_compile_test_code + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC= +CC=${RC-"windres"} +CFLAGS= +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +if test -n "$compiler"; then + : + _LT_CONFIG($1) +fi + +GCC=$lt_save_GCC +AC_LANG_RESTORE +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_RC_CONFIG + + +# LT_PROG_GCJ +# ----------- +AC_DEFUN([LT_PROG_GCJ], +[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_GCJ], []) + + +# LT_PROG_GO +# ---------- +AC_DEFUN([LT_PROG_GO], +[AC_CHECK_TOOL(GOC, gccgo,) +]) + + +# LT_PROG_RC +# ---------- +AC_DEFUN([LT_PROG_RC], +[AC_CHECK_TOOL(RC, windres,) +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_RC], []) + + +# _LT_DECL_EGREP +# -------------- +# If we don't have a new enough Autoconf to choose the best grep +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_EGREP], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_REQUIRE([AC_PROG_FGREP])dnl +test -z "$GREP" && GREP=grep +_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) +_LT_DECL([], [EGREP], [1], [An ERE matcher]) +_LT_DECL([], [FGREP], [1], [A literal string matcher]) +dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too +AC_SUBST([GREP]) +]) + + +# _LT_DECL_OBJDUMP +# -------------- +# If we don't have a new enough Autoconf to choose the best objdump +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_OBJDUMP], +[AC_CHECK_TOOL(OBJDUMP, objdump, false) +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) +AC_SUBST([OBJDUMP]) +]) + +# _LT_DECL_DLLTOOL +# ---------------- +# Ensure DLLTOOL variable is set. +m4_defun([_LT_DECL_DLLTOOL], +[AC_CHECK_TOOL(DLLTOOL, dlltool, false) +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) +AC_SUBST([DLLTOOL]) +]) + +# _LT_DECL_FILECMD +# ---------------- +# Check for a file(cmd) program that can be used to detect file type and magic +m4_defun([_LT_DECL_FILECMD], +[AC_CHECK_TOOL([FILECMD], [file], [:]) +_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types]) +])# _LD_DECL_FILECMD + +# _LT_DECL_SED +# ------------ +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +m4_defun([_LT_DECL_SED], +[AC_PROG_SED +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" +_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) +_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], + [Sed that helps us avoid accidentally triggering echo(1) options like -n]) +])# _LT_DECL_SED + +m4_ifndef([AC_PROG_SED], [ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # + +m4_defun([AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f "$lt_ac_sed" && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test 10 -lt "$lt_ac_count" && break + lt_ac_count=`expr $lt_ac_count + 1` + if test "$lt_ac_count" -gt "$lt_ac_max"; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +])#AC_PROG_SED +])#m4_ifndef + +# Old name: +AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_SED], []) + + +# _LT_CHECK_SHELL_FEATURES +# ------------------------ +# Find out whether the shell is Bourne or XSI compatible, +# or has some other useful features. +m4_defun([_LT_CHECK_SHELL_FEATURES], +[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi +_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac +_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl +_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl +])# _LT_CHECK_SHELL_FEATURES + + +# _LT_PATH_CONVERSION_FUNCTIONS +# ----------------------------- +# Determine what file name conversion functions should be used by +# func_to_host_file (and, implicitly, by func_to_host_path). These are needed +# for certain cross-compile configurations and native mingw. +m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_MSG_CHECKING([how to convert $build file names to $host format]) +AC_CACHE_VAL(lt_cv_to_host_file_cmd, +[case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac +]) +to_host_file_cmd=$lt_cv_to_host_file_cmd +AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) +_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], + [0], [convert $build file names to $host format])dnl + +AC_MSG_CHECKING([how to convert $build file names to toolchain format]) +AC_CACHE_VAL(lt_cv_to_tool_file_cmd, +[#assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac +]) +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) +_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], + [0], [convert $build files to toolchain format])dnl +])# _LT_PATH_CONVERSION_FUNCTIONS + +# Helper functions for option handling. -*- Autoconf -*- +# +# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free +# Software Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 8 ltoptions.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) + + +# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) +# ------------------------------------------ +m4_define([_LT_MANGLE_OPTION], +[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) + + +# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) +# --------------------------------------- +# Set option OPTION-NAME for macro MACRO-NAME, and if there is a +# matching handler defined, dispatch to it. Other OPTION-NAMEs are +# saved as a flag. +m4_define([_LT_SET_OPTION], +[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl +m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), + _LT_MANGLE_DEFUN([$1], [$2]), + [m4_warning([Unknown $1 option '$2'])])[]dnl +]) + + +# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) +# ------------------------------------------------------------ +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +m4_define([_LT_IF_OPTION], +[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) + + +# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) +# ------------------------------------------------------- +# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME +# are set. +m4_define([_LT_UNLESS_OPTIONS], +[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), + [m4_define([$0_found])])])[]dnl +m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 +])[]dnl +]) + + +# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) +# ---------------------------------------- +# OPTION-LIST is a space-separated list of Libtool options associated +# with MACRO-NAME. If any OPTION has a matching handler declared with +# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about +# the unknown option and exit. +m4_defun([_LT_SET_OPTIONS], +[# Set options +m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [_LT_SET_OPTION([$1], _LT_Option)]) + +m4_if([$1],[LT_INIT],[ + dnl + dnl Simply set some default values (i.e off) if boolean options were not + dnl specified: + _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no + ]) + _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no + ]) + dnl + dnl If no reference was made to various pairs of opposing options, then + dnl we run the default mode handler for the pair. For example, if neither + dnl 'shared' nor 'disable-shared' was passed, we enable building of shared + dnl archives by default: + _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) + _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], + [_LT_ENABLE_FAST_INSTALL]) + _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], + [_LT_WITH_AIX_SONAME([aix])]) + ]) +])# _LT_SET_OPTIONS + + + +# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) +# ----------------------------------------- +m4_define([_LT_MANGLE_DEFUN], +[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) + + +# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) +# ----------------------------------------------- +m4_define([LT_OPTION_DEFINE], +[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl +])# LT_OPTION_DEFINE + + +# dlopen +# ------ +LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes +]) + +AU_DEFUN([AC_LIBTOOL_DLOPEN], +[_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'dlopen' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) + + +# win32-dll +# --------- +# Declare package support for building win32 dll's. +LT_OPTION_DEFINE([LT_INIT], [win32-dll], +[enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +esac + +test -z "$AS" && AS=as +_LT_DECL([], [AS], [1], [Assembler program])dnl + +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl + +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl +])# win32-dll + +AU_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'win32-dll' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) + + +# _LT_ENABLE_SHARED([DEFAULT]) +# ---------------------------- +# implement the --enable-shared flag, and supports the 'shared' and +# 'disable-shared' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_SHARED], +[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([shared], + [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) + + _LT_DECL([build_libtool_libs], [enable_shared], [0], + [Whether or not to build shared libraries]) +])# _LT_ENABLE_SHARED + +LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) + +AC_DEFUN([AC_DISABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) + +AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_SHARED], []) +dnl AC_DEFUN([AM_DISABLE_SHARED], []) + + + +# _LT_ENABLE_STATIC([DEFAULT]) +# ---------------------------- +# implement the --enable-static flag, and support the 'static' and +# 'disable-static' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_STATIC], +[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([static], + [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_static=]_LT_ENABLE_STATIC_DEFAULT) + + _LT_DECL([build_old_libs], [enable_static], [0], + [Whether or not to build static libraries]) +])# _LT_ENABLE_STATIC + +LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) + +AC_DEFUN([AC_DISABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], [disable-static]) +]) + +AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_STATIC], []) +dnl AC_DEFUN([AM_DISABLE_STATIC], []) + + + +# _LT_ENABLE_FAST_INSTALL([DEFAULT]) +# ---------------------------------- +# implement the --enable-fast-install flag, and support the 'fast-install' +# and 'disable-fast-install' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_FAST_INSTALL], +[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([fast-install], + [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) + +_LT_DECL([fast_install], [enable_fast_install], [0], + [Whether or not to optimize for fast installation])dnl +])# _LT_ENABLE_FAST_INSTALL + +LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) + +# Old names: +AU_DEFUN([AC_ENABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'fast-install' option into LT_INIT's first parameter.]) +]) + +AU_DEFUN([AC_DISABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'disable-fast-install' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) +dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) + + +# _LT_WITH_AIX_SONAME([DEFAULT]) +# ---------------------------------- +# implement the --with-aix-soname flag, and support the `aix-soname=aix' +# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT +# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. +m4_define([_LT_WITH_AIX_SONAME], +[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl +shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[[5-9]]*,yes) + AC_MSG_CHECKING([which variant of shared library versioning to provide]) + AC_ARG_WITH([aix-soname], + [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], + [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], + [case $withval in + aix|svr4|both) + ;; + *) + AC_MSG_ERROR([Unknown argument to --with-aix-soname]) + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname], + [AC_CACHE_VAL([lt_cv_with_aix_soname], + [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) + with_aix_soname=$lt_cv_with_aix_soname]) + AC_MSG_RESULT([$with_aix_soname]) + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + +_LT_DECL([], [shared_archive_member_spec], [0], + [Shared archive member basename, for filename based shared library versioning on AIX])dnl +])# _LT_WITH_AIX_SONAME + +LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) + + +# _LT_WITH_PIC([MODE]) +# -------------------- +# implement the --with-pic flag, and support the 'pic-only' and 'no-pic' +# LT_INIT options. +# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. +m4_define([_LT_WITH_PIC], +[AC_ARG_WITH([pic], + [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [pic_mode=m4_default([$1], [default])]) + +_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl +])# _LT_WITH_PIC + +LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) + +# Old name: +AU_DEFUN([AC_LIBTOOL_PICMODE], +[_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'pic-only' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) + + +m4_define([_LTDL_MODE], []) +LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], + [m4_define([_LTDL_MODE], [nonrecursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [recursive], + [m4_define([_LTDL_MODE], [recursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [subproject], + [m4_define([_LTDL_MODE], [subproject])]) + +m4_define([_LTDL_TYPE], []) +LT_OPTION_DEFINE([LTDL_INIT], [installable], + [m4_define([_LTDL_TYPE], [installable])]) +LT_OPTION_DEFINE([LTDL_INIT], [convenience], + [m4_define([_LTDL_TYPE], [convenience])]) + +# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- +# +# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 6 ltsugar.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) + + +# lt_join(SEP, ARG1, [ARG2...]) +# ----------------------------- +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +# associated separator. +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +# versions in m4sugar had bugs. +m4_define([lt_join], +[m4_if([$#], [1], [], + [$#], [2], [[$2]], + [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +m4_define([_lt_join], +[m4_if([$#$2], [2], [], + [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) + + +# lt_car(LIST) +# lt_cdr(LIST) +# ------------ +# Manipulate m4 lists. +# These macros are necessary as long as will still need to support +# Autoconf-2.59, which quotes differently. +m4_define([lt_car], [[$1]]) +m4_define([lt_cdr], +[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], + [$#], 1, [], + [m4_dquote(m4_shift($@))])]) +m4_define([lt_unquote], $1) + + +# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +# ------------------------------------------ +# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. +# Note that neither SEPARATOR nor STRING are expanded; they are appended +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +# No SEPARATOR is output if MACRO-NAME was previously undefined (different +# than defined and empty). +# +# This macro is needed until we can rely on Autoconf 2.62, since earlier +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +m4_define([lt_append], +[m4_define([$1], + m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) + + + +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +# ---------------------------------------------------------- +# Produce a SEP delimited list of all paired combinations of elements of +# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +# has the form PREFIXmINFIXSUFFIXn. +# Needed until we can rely on m4_combine added in Autoconf 2.62. +m4_define([lt_combine], +[m4_if(m4_eval([$# > 3]), [1], + [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl +[[m4_foreach([_Lt_prefix], [$2], + [m4_foreach([_Lt_suffix], + ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, + [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) + + +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +# ----------------------------------------------------------------------- +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +m4_define([lt_if_append_uniq], +[m4_ifdef([$1], + [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], + [lt_append([$1], [$2], [$3])$4], + [$5])], + [lt_append([$1], [$2], [$3])$4])]) + + +# lt_dict_add(DICT, KEY, VALUE) +# ----------------------------- +m4_define([lt_dict_add], +[m4_define([$1($2)], [$3])]) + + +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +# -------------------------------------------- +m4_define([lt_dict_add_subkey], +[m4_define([$1($2:$3)], [$4])]) + + +# lt_dict_fetch(DICT, KEY, [SUBKEY]) +# ---------------------------------- +m4_define([lt_dict_fetch], +[m4_ifval([$3], + m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), + m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) + + +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +# ----------------------------------------------------------------- +m4_define([lt_if_dict_fetch], +[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], + [$5], + [$6])]) + + +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +# -------------------------------------------------------------- +m4_define([lt_dict_filter], +[m4_if([$5], [], [], + [lt_join(m4_quote(m4_default([$4], [[, ]])), + lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), + [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl +]) + +# ltversion.m4 -- version numbers -*- Autoconf -*- +# +# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation, +# Inc. +# Written by Scott James Remnant, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# @configure_input@ + +# serial 4245 ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [2.4.7]) +m4_define([LT_PACKAGE_REVISION], [2.4.7]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='2.4.7' +macro_revision='2.4.7' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) + +# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- +# +# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free +# Software Foundation, Inc. +# Written by Scott James Remnant, 2004. +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 5 lt~obsolete.m4 + +# These exist entirely to fool aclocal when bootstrapping libtool. +# +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), +# which have later been changed to m4_define as they aren't part of the +# exported API, or moved to Autoconf or Automake where they belong. +# +# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN +# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us +# using a macro with the same name in our local m4/libtool.m4 it'll +# pull the old libtool.m4 in (it doesn't see our shiny new m4_define +# and doesn't know about Autoconf macros at all.) +# +# So we provide this file, which has a silly filename so it's always +# included after everything else. This provides aclocal with the +# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything +# because those macros already exist, or will be overwritten later. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# +# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. +# Yes, that means every name once taken will need to remain here until +# we give up compatibility with versions before 1.7, at which point +# we need to keep only those names which we still refer to. + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) + +m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) +m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) +m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) +m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) +m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) +m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) +m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) +m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) +m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) +m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) +m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) +m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) +m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) +m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) +m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) +m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) +m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) +m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) +m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) +m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) +m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) +m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) +m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) +m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) +m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) +m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) +m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) +m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) +m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) +m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) +m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) +m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) +m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) +m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) +m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) +m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) +m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) +m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) +m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) +m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) +m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) +m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) +m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) +m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) +m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) +m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) +m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) +m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) + +# Copyright (C) 2002-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.16' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.16.5], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.16.5])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to +# '$srcdir', '$srcdir/..', or '$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is '.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + + +# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES. +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[{ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + AS_CASE([$CONFIG_FILES], + [*\'*], [eval set x "$CONFIG_FILES"], + [*], [set x $CONFIG_FILES]) + shift + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf + do + # Strip MF so we end up with the name of the file. + am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`AS_DIRNAME(["$am_mf"])` + am_filepart=`AS_BASENAME(["$am_mf"])` + AM_RUN_LOG([cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles]) || am_rc=$? + done + if test $am_rc -ne 0; then + AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE="gmake" (or whatever is + necessary). You can also try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking).]) + fi + AS_UNSET([am_dirpart]) + AS_UNSET([am_filepart]) + AS_UNSET([am_mf]) + AS_UNSET([am_rc]) + rm -f conftest-deps.mk +} +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking is enabled. +# This creates each '.Po' and '.Plo' makefile fragment that we'll need in +# order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. +m4_define([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[_AM_PROG_CC_C_O +]) + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.65])dnl +m4_ifdef([_$0_ALREADY_INIT], + [m4_fatal([$0 expanded multiple times +]m4_defn([_$0_ALREADY_INIT]))], + [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if( + m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi +AC_SUBST([CTAGS]) +if test -z "$ETAGS"; then + ETAGS=etags +fi +AC_SUBST([ETAGS]) +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi +AC_SUBST([CSCOPE]) + +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi +dnl The trailing newline in this macro's definition is deliberate, for +dnl backward compatibility and to allow trailing 'dnl'-style comments +dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. +]) + +dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further +dnl mangled by Autoconf and run in a shell conditional statement. +m4_define([_AC_COMPILER_EXEEXT], +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST([install_sh])]) + +# Copyright (C) 2003-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MAKE_INCLUDE() +# ----------------- +# Check whether make has an 'include' directive that can support all +# the idioms we need for our automatic dependency tracking code. +AC_DEFUN([AM_MAKE_INCLUDE], +[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) +cat > confinc.mk << 'END' +am__doit: + @echo this is the am__doit target >confinc.out +.PHONY: am__doit +END +am__include="#" +am__quote= +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) + AS_CASE([$?:`cat confinc.out 2>/dev/null`], + ['0:this is the am__doit target'], + [AS_CASE([$s], + [BSD], [am__include='.include' am__quote='"'], + [am__include='include' am__quote=''])]) + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +AC_MSG_RESULT([${_am_result}]) +AC_SUBST([am__include])]) +AC_SUBST([am__quote])]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it is modern enough. +# If it is, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + MISSING="\${SHELL} '$am_aux_dir/missing'" +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + AC_MSG_WARN(['missing' script is too old or missing]) +fi +]) + +# -*- Autoconf -*- +# Obsolete and "removed" macros, that must however still report explicit +# error messages when used, to smooth transition. +# +# Copyright (C) 1996-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +AC_DEFUN([AM_CONFIG_HEADER], +[AC_DIAGNOSE([obsolete], +['$0': this macro is obsolete. +You should use the 'AC][_CONFIG_HEADERS' macro instead.])dnl +AC_CONFIG_HEADERS($@)]) + +AC_DEFUN([AM_PROG_CC_STDC], +[AC_PROG_CC +am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc +AC_DIAGNOSE([obsolete], +['$0': this macro is obsolete. +You should simply use the 'AC][_PROG_CC' macro instead. +Also, your code should no longer depend upon 'am_cv_prog_cc_stdc', +but upon 'ac_cv_prog_cc_stdc'.])]) + +AC_DEFUN([AM_C_PROTOTYPES], + [AC_FATAL([automatic de-ANSI-fication support has been removed])]) +AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# -------------------- +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) + +# _AM_SET_OPTIONS(OPTIONS) +# ------------------------ +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Copyright (C) 1999-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_CC_C_O +# --------------- +# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC +# to automatically call this. +AC_DEFUN([_AM_PROG_CC_C_O], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) + +# For backward compatibility. +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +# Copyright (C) 2001-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_RUN_LOG(COMMAND) +# ------------------- +# Run COMMAND, save the exit status in ac_status, and log it. +# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) +AC_DEFUN([AM_RUN_LOG], +[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) + +# Copyright (C) 2009-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Enable less verbose build rules; with the default set to DEFAULT +# ("yes" being less verbose, "no" or empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +esac +dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) + +# Copyright (C) 2001-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor 'install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in "make install-strip", and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# AM_SUBST_NOTMAKE(VARIABLE) +# -------------------------- +# Public sister of _AM_SUBST_NOTMAKE. +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004-2021 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of 'v7', 'ustar', or 'pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +# +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' + +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi + done + rm -rf conftest.dir + + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([m4/ac_cxx_bool.m4]) +m4_include([m4/ac_cxx_const_cast.m4]) +m4_include([m4/ac_cxx_default_template_parameters.m4]) +m4_include([m4/ac_cxx_dynamic_cast.m4]) +m4_include([m4/ac_cxx_exceptions.m4]) +m4_include([m4/ac_cxx_explicit.m4]) +m4_include([m4/ac_cxx_have_numeric_limits.m4]) +m4_include([m4/ac_cxx_have_sstream.m4]) +m4_include([m4/ac_cxx_have_std.m4]) +m4_include([m4/ac_cxx_have_stl.m4]) +m4_include([m4/ac_cxx_namespaces.m4]) +m4_include([m4/ac_cxx_reinterpret_cast.m4]) +m4_include([m4/ac_cxx_rtti.m4]) +m4_include([m4/ac_cxx_static_cast.m4]) +m4_include([m4/ac_cxx_template_qualified_base_class.m4]) +m4_include([m4/ac_cxx_template_qualified_return_type.m4]) +m4_include([m4/ac_cxx_template_scoped_argument_matching.m4]) +m4_include([m4/ac_cxx_templates.m4]) +m4_include([m4/ac_cxx_typename.m4]) +m4_include([m4/acx_pthread.m4]) +m4_include([m4/ax_prefix_config_h.m4]) +m4_include([m4/check_zlib.m4]) +m4_include([m4/ob_cxx_have_isinfinite.m4]) +m4_include([m4/ob_cxx_long_long.m4]) +m4_include([m4/ob_have_hash_map.m4]) +m4_include([m4/ob_have_hash_set.m4]) diff --git a/lib/beagle-3.0.3/autom4te.cache/output.0 b/lib/beagle-3.0.3/autom4te.cache/output.0 new file mode 100644 index 0000000..ac34896 --- /dev/null +++ b/lib/beagle-3.0.3/autom4te.cache/output.0 @@ -0,0 +1,21817 @@ +@%:@! /bin/sh +@%:@ From configure.ac Revision: 1.33.2.7 . +@%:@ Guess values for system-dependent variables and create Makefiles. +@%:@ Generated by GNU Autoconf 2.71 for Open BEAGLE 3.0.3. +@%:@ +@%:@ Report bugs to . +@%:@ +@%:@ +@%:@ Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, +@%:@ Inc. +@%:@ +@%:@ +@%:@ This configure script is free software; the Free Software Foundation +@%:@ gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else $as_nop + case `(set -o) 2>/dev/null` in @%:@( + *posix*) : + set -o posix ;; @%:@( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in @%:@(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in @%:@ (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="as_nop=: +if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else \$as_nop + case \`(set -o) 2>/dev/null\` in @%:@( + *posix*) : + set -o posix ;; @%:@( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ) +then : + +else \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 + + test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + case $as_dir in @%:@( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + if test "x$CONFIG_SHELL" != x +then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in @%:@ (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and cgagne@gmail.com +$0: about your system, including any error possibly output +$0: before this message. Then install a modern shell, or +$0: manually run the script under such a shell if you do +$0: have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +@%:@ as_fn_unset VAR +@%:@ --------------- +@%:@ Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +@%:@ as_fn_set_status STATUS +@%:@ ----------------------- +@%:@ Set @S|@? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} @%:@ as_fn_set_status + +@%:@ as_fn_exit STATUS +@%:@ ----------------- +@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} @%:@ as_fn_exit +@%:@ as_fn_nop +@%:@ --------- +@%:@ Do nothing but, unlike ":", preserve the value of @S|@?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +@%:@ as_fn_mkdir_p +@%:@ ------------- +@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} @%:@ as_fn_mkdir_p + +@%:@ as_fn_executable_p FILE +@%:@ ----------------------- +@%:@ Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} @%:@ as_fn_executable_p +@%:@ as_fn_append VAR VALUE +@%:@ ---------------------- +@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take +@%:@ advantage of any shell optimizations that allow amortized linear growth over +@%:@ repeated appends, instead of the typical quadratic growth present in naive +@%:@ implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +@%:@ as_fn_arith ARG... +@%:@ ------------------ +@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the +@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments +@%:@ must be portable across @S|@(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +@%:@ as_fn_nop +@%:@ --------- +@%:@ Do nothing but, unlike ":", preserve the value of @S|@?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] +@%:@ ---------------------------------------- +@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are +@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the +@%:@ script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status +} @%:@ as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in @%:@((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_@&t@echo='printf %s\n' +as_@&t@echo_n='printf %s' + + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + +SHELL=${CONFIG_SHELL-/bin/sh} + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIB@&t@OBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='Open BEAGLE' +PACKAGE_TARNAME='beagle' +PACKAGE_VERSION='3.0.3' +PACKAGE_STRING='Open BEAGLE 3.0.3' +PACKAGE_BUGREPORT='cgagne@gmail.com' +PACKAGE_URL='' + +ac_unique_file="beagle/src/Allocator.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_STDIO_H +# include +#endif +#ifdef HAVE_STDLIB_H +# include +#endif +#ifdef HAVE_STRING_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_header_c_list= +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +LIB@&t@OBJS +PACC_VERSION +PTHREAD_CFLAGS +PTHREAD_LIBS +PTHREAD_CC +acx_pthread_config +COMPILE_TESTS_FALSE +COMPILE_TESTS_TRUE +FAST_COMPILATION_FALSE +FAST_COMPILATION_TRUE +LT_SYS_LIBRARY_PATH +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +MANIFEST_TOOL +RANLIB +ac_ct_AR +AR +DLLTOOL +OBJDUMP +FILECMD +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +EGREP +GREP +SED +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +ac_ct_CC +CFLAGS +CC +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +LIBTOOL +LN_S +CXXCPP +am__fastdepCXX_FALSE +am__fastdepCXX_TRUE +CXXDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V +CSCOPE +ETAGS +CTAGS +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +runstatedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL +am__quote' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_silent_rules +enable_dependency_tracking +enable_shared +enable_static +with_pic +enable_fast_install +with_aix_soname +with_gnu_ld +with_sysroot +enable_libtool_lock +enable_optimization +enable_full_debug +enable_fast_compilation +enable_tests +enable_hashset +enable_hashmap +with_zlib +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +LT_SYS_LIBRARY_PATH' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir runstatedir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures Open BEAGLE 3.0.3 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + @<:@@S|@ac_default_prefix@:>@ + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + @<:@PREFIX@:>@ + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root @<:@DATAROOTDIR/doc/beagle@:>@ + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of Open BEAGLE 3.0.3:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ + --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ + --enable-fast-install@<:@=PKGS@:>@ + optimize for fast installation @<:@default=yes@:>@ + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + --enable-full-debug enable full debug mode default=no + --enable-fast-compilation =no/yes enable fast compilation mode default=yes + --enable-tests =no/yes enable compilation of tests default=no + --enable-hashset =no/yes enable hash_set STL extension default=no + --enable-hashmap =no/yes enable hash_map STL extension default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic@<:@=PKGS@:>@ try to use only PIC/non-PIC objects @<:@default=use + both@:>@ + --with-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX, @<:@default=aix@:>@. + --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ + --with-sysroot@<:@=DIR@:>@ Search for dependent libraries within DIR (or the + compiler's sysroot if not specified). + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + LT_SYS_LIBRARY_PATH + User-defined run-time library search path. + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +Open BEAGLE configure 3.0.3 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +@%:@ ac_fn_cxx_try_compile LINENO +@%:@ ---------------------------- +@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_cxx_try_compile + +@%:@ ac_fn_cxx_try_cpp LINENO +@%:@ ------------------------ +@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_cxx_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_cxx_try_cpp + +@%:@ ac_fn_c_try_compile LINENO +@%:@ -------------------------- +@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_c_try_compile + +@%:@ ac_fn_c_try_link LINENO +@%:@ ----------------------- +@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_c_try_link + +@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +@%:@ ------------------------------------------------------- +@%:@ Tests whether HEADER exists and can be compiled using the include files in +@%:@ INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +@%:@include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} @%:@ ac_fn_c_check_header_compile + +@%:@ ac_fn_c_check_func LINENO FUNC VAR +@%:@ ---------------------------------- +@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. */ + +#include +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} @%:@ ac_fn_c_check_func + +@%:@ ac_fn_cxx_try_link LINENO +@%:@ ------------------------- +@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_cxx_try_link +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?@<:@ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by Open BEAGLE $as_me 3.0.3, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "@%:@define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "@%:@define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "@%:@define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "@%:@define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "@%:@define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "@%:@define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in @%:@( + */*) : + ;; @%:@( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not \xHH hex character constants. + These do not provoke an error unfortunately, instead are silently treated + as an "x". The following induces an error, until -std is added to get + proper ANSI mode. Curiously \x00 != x always comes out true, for an + array size at least. It is necessary to write \x00 == 0 to get something + that is true only with -std. */ +int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) '\''x'\'' +int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" + +# Auxiliary files required by this configure script. +ac_aux_files="compile config.guess config.sub ltmain.sh missing install-sh" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/config" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 +fi + + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +if test -f "${ac_aux_dir}config.guess"; then + ac_@&t@config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_@&t@config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_@&t@configure="$SHELL ${ac_aux_dir}configure" +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' + and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + +am__api_version='1.16' + + + + # Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +printf %s "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test ${ac_cv_path_install+y} +then : + printf %s "(cached) " >&6 +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + # Account for fact that we put trailing slashes in our PATH walk. +case $as_dir in @%:@(( + ./ | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test ${ac_cv_path_install+y}; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +printf "%s\n" "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +printf %s "checking whether build environment is sane... " >&6; } +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` + + +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` + + + if test x"${MISSING+set}" != xset; then + MISSING="\${SHELL} '$am_aux_dir/missing'" +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 +printf %s "checking for a race-free mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if test ${ac_cv_path_mkdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue + case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir ('*'coreutils) '* | \ + 'BusyBox '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test ${ac_cv_path_mkdir+y}; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +printf "%s\n" "$MKDIR_P" >&6; } + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval test \${ac_cv_prog_make_${ac_make}_set+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + SET_MAKE= +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +@%:@ Check whether --enable-silent-rules was given. +if test ${enable_silent_rules+y} +then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +printf %s "checking whether $am_make supports nested variables... " >&6; } +if test ${am_cv_make_support_nested_variables+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if printf "%s\n" 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='beagle' + VERSION='3.0.3' + + +printf "%s\n" "@%:@define PACKAGE \"$PACKAGE\"" >>confdefs.h + + +printf "%s\n" "@%:@define VERSION \"$VERSION\"" >>confdefs.h + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi + +if test -z "$ETAGS"; then + ETAGS=etags +fi + +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + +ac_config_headers="$ac_config_headers config/config-h:config/config-h.in" + + +ac_config_commands="$ac_config_commands beagle/include/beagle/config.hpp" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AWK" && break +done + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C++ compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +int +main (void) +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_cxx11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_cxx11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_cxx98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_cxx98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +fi +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } +cat > confinc.mk << 'END' +am__doit: + @echo this is the am__doit target >confinc.out +.PHONY: am__doit +END +am__include="#" +am__quote= +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 + (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + case $?:`cat confinc.out 2>/dev/null` in @%:@( + '0:this is the am__doit target') : + case $s in @%:@( + BSD) : + am__include='.include' am__quote='"' ;; @%:@( + *) : + am__include='include' am__quote='' ;; +esac ;; @%:@( + *) : + ;; +esac + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +printf "%s\n" "${_am_result}" >&6; } + +@%:@ Check whether --enable-dependency-tracking was given. +if test ${enable_dependency_tracking+y} +then : + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +depcc="$CXX" am_compiler_list= + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +printf %s "checking dependency style of $depcc... " >&6; } +if test ${am_cv_CXX_dependencies_compiler_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 +printf "%s\n" "$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +printf %s "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if test ${ac_cv_prog_CXXCPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CXX needs to be expanded + for CXXCPP in "$CXX -E" cpp /lib/cpp + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +printf "%s\n" "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +printf %s "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +printf "%s\n" "no, using $LN_S" >&6; } +fi + +case `pwd` in + *\ * | *\ *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.4.7' +macro_revision='2.4.7' + + + + + + + + + + + + + + +ltmain=$ac_aux_dir/ltmain.sh + + + + # Make sure we can run config.sub. +$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +printf %s "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "" +} + +case $ECHO in + printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +printf "%s\n" "printf" >&6; } ;; + print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +printf "%s\n" "print -r" >&6; } ;; + *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +printf "%s\n" "cat" >&6; } ;; +esac + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $@%:@ != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args. +set dummy ${ac_tool_prefix}clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion -version; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +fi +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +printf %s "checking whether $CC understands -c and -o together... " >&6; } +if test ${am_cv_prog_cc_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +depcc="$CC" am_compiler_list= + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +printf %s "checking dependency style of $depcc... " >&6; } +if test ${am_cv_CC_dependencies_compiler_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +printf %s "checking for a sed that does not truncate output... " >&6; } +if test ${ac_cv_path_SED+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in sed gsed + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +printf "%s\n" "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in grep ggrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +printf %s "checking for fgrep... " >&6; } +if test ${ac_cv_path_FGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in fgrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +printf "%s\n" "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +@%:@ Check whether --with-gnu-ld was given. +if test ${with_gnu_ld+y} +then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else $as_nop + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +printf %s "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "checking for GNU ld... " >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +printf %s "checking for non-GNU ld... " >&6; } +fi +if test ${lt_cv_path_LD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +printf "%s\n" "$LD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +printf %s "checking if the linker ($LD) is GNU ld... " >&6; } +if test ${lt_cv_prog_gnu_ld+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if test ${lt_cv_path_NM+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +printf "%s\n" "$lt_cv_path_NM" >&6; } +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + if test -n "$ac_tool_prefix"; then + for ac_prog in dumpbin "link -dump" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DUMPBIN+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +printf "%s\n" "$DUMPBIN" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in dumpbin "link -dump" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DUMPBIN+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +printf "%s\n" "$ac_ct_DUMPBIN" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +printf %s "checking the name lister ($NM) interface... " >&6; } +if test ${lt_cv_nm_interface+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +printf "%s\n" "$lt_cv_nm_interface" >&6; } + +# find the maximum length of command line arguments +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +printf %s "checking the maximum length of command line arguments... " >&6; } +if test ${lt_cv_sys_max_cmd_len+y} +then : + printf %s "(cached) " >&6 +else $as_nop + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n "$lt_cv_sys_max_cmd_len"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +printf %s "checking how to convert $build file names to $host format... " >&6; } +if test ${lt_cv_to_host_file_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac + +fi + +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; } + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +printf %s "checking how to convert $build file names to toolchain format... " >&6; } +if test ${lt_cv_to_tool_file_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac + +fi + +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +printf %s "checking for $LD option to reload object files... " >&6; } +if test ${lt_cv_ld_reload_flag+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_ld_reload_flag='-r' +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test yes != "$GCC"; then + reload_cmds=false + fi + ;; + darwin*) + if test yes = "$GCC"; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. +set dummy ${ac_tool_prefix}file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FILECMD"; then + ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_FILECMD="${ac_tool_prefix}file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +FILECMD=$ac_cv_prog_FILECMD +if test -n "$FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 +printf "%s\n" "$FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_FILECMD"; then + ac_ct_FILECMD=$FILECMD + # Extract the first word of "file", so it can be a program name with args. +set dummy file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FILECMD"; then + ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FILECMD="file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD +if test -n "$ac_ct_FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 +printf "%s\n" "$ac_ct_FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_FILECMD" = x; then + FILECMD=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FILECMD=$ac_ct_FILECMD + fi +else + FILECMD="$ac_cv_prog_FILECMD" +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OBJDUMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +printf "%s\n" "$OBJDUMP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OBJDUMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +printf "%s\n" "$ac_ct_OBJDUMP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +printf %s "checking how to recognize dependent libraries... " >&6; } +if test ${lt_cv_deplibs_check_method+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='$FILECMD -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly* | midnightbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=$FILECMD + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DLLTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +printf "%s\n" "$DLLTOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DLLTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +printf "%s\n" "$ac_ct_DLLTOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +printf %s "checking how to associate runtime and link libraries... " >&6; } +if test ${lt_cv_sharedlib_from_linklib_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + + + + + + + + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + +: ${AR=ar} + + + + + + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS + + + + + + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +printf %s "checking for archiver @FILE support... " >&6; } +if test ${lt_cv_ar_at_file+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +printf "%s\n" "$lt_cv_ar_at_file" >&6; } + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +printf %s "checking command to parse $NM output from $compiler object... " >&6; } +if test ${lt_cv_sys_global_symbol_pipe+y} +then : + printf %s "(cached) " >&6 +else $as_nop + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++ or ICC, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5 + if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT@&t@_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT@&t@_DLSYM_CONST +#else +# define LT@&t@_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT@&t@_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +printf "%s\n" "failed" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +printf %s "checking for sysroot... " >&6; } + +@%:@ Check whether --with-sysroot was given. +if test ${with_sysroot+y} +then : + withval=$with_sysroot; +else $as_nop + with_sysroot=no +fi + + +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +printf "%s\n" "$with_sysroot" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +printf "%s\n" "${lt_sysroot:-no}" >&6; } + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +printf %s "checking for a working dd... " >&6; } +if test ${ac_cv_path_lt_DD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +if test -z "$lt_DD"; then + ac_path_lt_DD_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in dd + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue +if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi + $ac_path_lt_DD_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_lt_DD"; then + : + fi +else + ac_cv_path_lt_DD=$lt_DD +fi + +rm -f conftest.i conftest2.i conftest.out +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +printf "%s\n" "$ac_cv_path_lt_DD" >&6; } + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +printf %s "checking how to truncate binary pipes... " >&6; } +if test ${lt_cv_truncate_bin+y} +then : + printf %s "(cached) " >&6 +else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +printf "%s\n" "$lt_cv_truncate_bin" >&6; } + + + + + + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + +@%:@ Check whether --enable-libtool-lock was given. +if test ${enable_libtool_lock+y} +then : + enableval=$enable_libtool_lock; +fi + +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `$FILECMD conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +printf %s "checking whether the C compiler needs -belf... " >&6; } +if test ${lt_cv_cc_needs_belf+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + lt_cv_cc_needs_belf=yes +else $as_nop + lt_cv_cc_needs_belf=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MANIFEST_TOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +printf "%s\n" "$MANIFEST_TOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL + fi +else + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" +fi + +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if test ${lt_cv_path_mainfest_tool+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi + + + + + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DSYMUTIL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +printf "%s\n" "$DSYMUTIL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DSYMUTIL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +printf "%s\n" "$ac_ct_DSYMUTIL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_NMEDIT+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +printf "%s\n" "$NMEDIT" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_NMEDIT+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +printf "%s\n" "$ac_ct_NMEDIT" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_LIPO+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +printf "%s\n" "$LIPO" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_LIPO+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +printf "%s\n" "$ac_ct_LIPO" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +printf "%s\n" "$OTOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +printf "%s\n" "$ac_ct_OTOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OTOOL64+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +printf "%s\n" "$OTOOL64" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OTOOL64+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +printf "%s\n" "$ac_ct_OTOOL64" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +printf %s "checking for -single_module linker flag... " >&6; } +if test ${lt_cv_apple_cc_single_mod+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +printf %s "checking for -exported_symbols_list linker flag... " >&6; } +if test ${lt_cv_ld_exported_symbols_list+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + lt_cv_ld_exported_symbols_list=yes +else $as_nop + lt_cv_ld_exported_symbols_list=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +printf %s "checking for -force_load linker flag... " >&6; } +if test ${lt_cv_ld_force_load+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 + $AR $AR_FLAGS libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +printf "%s\n" "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[012],*|,*powerpc*-darwin[5-8]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} + +ac_header= ac_cache= +for ac_item in $ac_header_c_list +do + if test $ac_cache; then + ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done + + + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "@%:@define STDC_HEADERS 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes +then : + printf "%s\n" "@%:@define HAVE_DLFCN_H 1" >>confdefs.h + +fi + + + + +func_stripname_cnf () +{ + case @S|@2 in + .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; + *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; + esac +} # func_stripname_cnf + + + + + +# Set options + + + + enable_dlopen=no + + + enable_win32_dll=no + + + @%:@ Check whether --enable-shared was given. +if test ${enable_shared+y} +then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else $as_nop + enable_shared=yes +fi + + + + + + + + + + @%:@ Check whether --enable-static was given. +if test ${enable_static+y} +then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else $as_nop + enable_static=yes +fi + + + + + + + + + + +@%:@ Check whether --with-pic was given. +if test ${with_pic+y} +then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else $as_nop + pic_mode=default +fi + + + + + + + + + @%:@ Check whether --enable-fast-install was given. +if test ${enable_fast_install+y} +then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else $as_nop + enable_fast_install=yes +fi + + + + + + + + + shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[5-9]*,yes) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +printf %s "checking which variant of shared library versioning to provide... " >&6; } + +@%:@ Check whether --with-aix-soname was given. +if test ${with_aix_soname+y} +then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; + *) + as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +else $as_nop + if test ${lt_cv_with_aix_soname+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_with_aix_soname=aix +fi + + with_aix_soname=$lt_cv_with_aix_soname +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +printf "%s\n" "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +printf %s "checking for objdir... " >&6; } +if test ${lt_cv_objdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +printf "%s\n" "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +printf "%s\n" "@%:@define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +printf %s "checking for ${ac_tool_prefix}file... " >&6; } +if test ${lt_cv_path_MAGIC_CMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/${ac_tool_prefix}file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +printf "%s\n" "$MAGIC_CMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +printf %s "checking for file... " >&6; } +if test ${lt_cv_path_MAGIC_CMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +printf "%s\n" "$MAGIC_CMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC=$CC +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if test ${lt_cv_prog_compiler_rtti_exceptions+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + lt_prog_compiler_pic='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC" + ;; +esac + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +printf %s "checking for $compiler option to produce PIC... " >&6; } +if test ${lt_cv_prog_compiler_pic+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if test ${lt_cv_prog_compiler_pic_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test ${lt_cv_prog_compiler_static_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works"; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +printf %s "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +printf "%s\n" "$hard_links" >&6; } + if test no = "$hard_links"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs=no + ;; + esac + + ld_shlibs=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='$wl--export-all-symbols' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + file_list_spec='@' + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test no = "$ld_shlibs"; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct=no + hardcode_direct_absolute=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if test ${lt_cv_aix_libpath_+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if test ${lt_cv_aix_libpath_+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' $wl-bernotok' + allow_undefined_flag=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi + archive_cmds_need_lc=yes + archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec='' + fi + link_all_deplibs=yes + allow_undefined_flag=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +printf %s "checking if $CC understands -b... " >&6; } +if test ${lt_cv_prog_compiler__b+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler__b=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } + +if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +fi + + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if test ${lt_cv_irix_exported_symbol+y} +then : + printf %s "(cached) " >&6 +else $as_nop + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + lt_cv_irix_exported_symbol=yes +else $as_nop + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi + link_all_deplibs=no + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs=yes + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + ;; + esac + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + else + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + file_list_spec='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='$wl-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='$wl-z,text' + allow_undefined_flag='$wl-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +printf "%s\n" "$ld_shlibs" >&6; } +test no = "$ld_shlibs" && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +printf %s "checking whether -lc should be explicitly linked in... " >&6; } +if test ${lt_cv_archive_cmds_need_lc+y} +then : + printf %s "(cached) " >&6 +else $as_nop + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +printf %s "checking dynamic linker characteristics... " >&6; } + +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([A-Za-z]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if test ${lt_cv_shlibpath_overrides_runpath+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null +then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +printf "%s\n" "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +printf %s "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test yes = "$hardcode_automatic"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && + test no != "$hardcode_minus_L"; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +printf "%s\n" "$hardcode_action" >&6; } + +if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +printf %s "checking for dlopen in -ldl... " >&6; } +if test ${ac_cv_lib_dl_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main (void) +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dl_dlopen=yes +else $as_nop + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes +then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else $as_nop + + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes +then : + lt_cv_dlopen=shl_load +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +printf %s "checking for shl_load in -ldld... " >&6; } +if test ${ac_cv_lib_dld_shl_load+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char shl_load (); +int +main (void) +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dld_shl_load=yes +else $as_nop + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes +then : + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +else $as_nop + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes +then : + lt_cv_dlopen=dlopen +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +printf %s "checking for dlopen in -ldl... " >&6; } +if test ${ac_cv_lib_dl_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main (void) +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dl_dlopen=yes +else $as_nop + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes +then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +printf %s "checking for dlopen in -lsvld... " >&6; } +if test ${ac_cv_lib_svld_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main (void) +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_svld_dlopen=yes +else $as_nop + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes +then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +printf %s "checking for dld_link in -ldld... " >&6; } +if test ${ac_cv_lib_dld_dld_link+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dld_link (); +int +main (void) +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dld_dld_link=yes +else $as_nop + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes +then : + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +printf %s "checking whether a program can dlopen itself... " >&6; } +if test ${lt_cv_dlopen_self+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +printf "%s\n" "$lt_cv_dlopen_self" >&6; } + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +printf %s "checking whether a statically linked program can dlopen itself... " >&6; } +if test ${lt_cv_dlopen_self_static+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +printf %s "checking whether stripping libraries is possible... " >&6; } +if test -z "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +else + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + ;; + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + ;; + esac + fi +fi + + + + + + + + + + + + + # Report what library types will actually be built + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +printf %s "checking if libtool supports shared libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +printf "%s\n" "$can_build_shared" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +printf %s "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +printf "%s\n" "$enable_shared" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +printf %s "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +printf "%s\n" "$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC + + if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +printf %s "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if test ${ac_cv_prog_CXXCPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CXX needs to be expanded + for CXXCPP in "$CXX -E" cpp /lib/cpp + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +printf "%s\n" "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +else + _lt_caught_CXX_error=yes +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +reload_flag_CXX=$reload_flag +reload_cmds_CXX=$reload_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_caught_CXX_error"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + compiler_CXX=$CC + func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test yes = "$GXX"; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi + + if test yes = "$GXX"; then + # Set up default GNU C++ configuration + + + +@%:@ Check whether --with-gnu-ld was given. +if test ${with_gnu_ld+y} +then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else $as_nop + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +printf %s "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "checking for GNU ld... " >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +printf %s "checking for non-GNU ld... " >&6; } +fi +if test ${lt_cv_path_LD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +printf "%s\n" "$LD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +printf %s "checking if the linker ($LD) is GNU ld... " >&6; } +if test ${lt_cv_prog_gnu_ld+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test yes = "$with_gnu_ld"; then + archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='$wl' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + file_list_spec_CXX='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_CXX=no + hardcode_direct_absolute_CXX=no + ;; + esac + + if test yes = "$GXX"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_CXX='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + always_export_symbols_CXX=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + # The "-G" linker flag allows undefined symbols. + no_undefined_flag_CXX='-bernotok' + # Determine the default libpath from the value encoded in an empty + # executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if test ${lt_cv_aix_libpath__CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if test ${lt_cv_aix_libpath__CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' $wl-bernotok' + allow_undefined_flag_CXX=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + fi + archive_cmds_need_lc_CXX=yes + archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl* | ,icl* | no,icl*) + # Native MSVC or ICC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_CXX=' ' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=yes + file_list_spec_CXX='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' + enable_shared_with_static_runtimes_CXX=yes + # Don't use ranlib + old_postinstall_cmds_CXX='chmod 644 $oldlib' + postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + export_dynamic_flag_spec_CXX='$wl--export-all-symbols' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + + + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_CXX='' + fi + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_CXX="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds_CXX="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + if test yes != "$lt_cv_apple_cc_single_mod"; then + archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" + archive_expsym_cmds_CXX="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" + fi + + else + ld_shlibs_CXX=no + fi + + ;; + + os2*) + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_minus_L_CXX=yes + allow_undefined_flag_CXX=unsupported + shrext_cmds=.dll + archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_CXX=yes + file_list_spec_CXX='@' + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; + + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + + haiku*) + archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_CXX=yes + ;; + + hpux9*) + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='$wl-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + export_dynamic_flag_spec_CXX='$wl-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + hardcode_libdir_separator_CXX=: + inherit_rpath_CXX=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [1-5].* | *pgcpp\ [1-5].*) + prelink_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + old_archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object_CXX=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + ld_shlibs_CXX=yes + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + hardcode_direct_absolute_CXX=yes + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='$wl-E' + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + ld_shlibs_CXX=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + case $host in + osf3*) + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + ;; + *) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ + $RM $lib.exp' + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + ;; + esac + + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes,no = "$GXX,$with_gnu_ld"; then + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + case $host in + osf3*) + archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + *) + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test yes,no = "$GXX,$with_gnu_ld"; then + no_undefined_flag_CXX=' $wl-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + else + # g++ 2.7 appears to require '-G' NOT '-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + fi + + hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='$wl-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_CXX='$wl-z,text' + allow_undefined_flag_CXX='$wl-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ + '"$old_archive_cmds_CXX" + reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ + '"$reload_cmds_CXX" + ;; + *) + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +printf "%s\n" "$ld_shlibs_CXX" >&6; } + test no = "$ld_shlibs_CXX" && can_build_shared=no + + GCC_CXX=$GXX + LD_CXX=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF + + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX=$prev$p + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX=$prev$p + else + postdeps_CXX="${postdeps_CXX} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test no = "$pre_test_object_deps_done"; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX=$p + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX=$p + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + + + # C++ specific cases for pic, static, wl, etc. + if test yes = "$GXX"; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + lt_prog_compiler_pic_CXX='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_CXX='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_CXX='$wl-static' + ;; + esac + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64, which still supported -KPIC. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX@&t@ -DPIC" + ;; +esac + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +printf %s "checking for $compiler option to produce PIC... " >&6; } +if test ${lt_cv_prog_compiler_pic_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_CXX" >&6; } +lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if test ${lt_cv_prog_compiler_pic_works_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test ${lt_cv_prog_compiler_static_works_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_static_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then + : +else + lt_prog_compiler_static_CXX= +fi + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +printf %s "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +printf "%s\n" "$hard_links" >&6; } + if test no = "$hard_links"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + case $host_os in + aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX=$ltdll_cmds + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl* | icl*) + exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + ;; + esac + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +printf "%s\n" "$ld_shlibs_CXX" >&6; } +test no = "$ld_shlibs_CXX" && can_build_shared=no + +with_gnu_ld_CXX=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +printf %s "checking whether -lc should be explicitly linked in... " >&6; } +if test ${lt_cv_archive_cmds_need_lc_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_CXX=no + else + lt_cv_archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 +printf "%s\n" "$lt_cv_archive_cmds_need_lc_CXX" >&6; } + archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +printf %s "checking dynamic linker characteristics... " >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec_CXX='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if test ${lt_cv_shlibpath_overrides_runpath+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null +then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +printf "%s\n" "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +printf %s "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || + test yes = "$hardcode_automatic_CXX"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_CXX" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && + test no != "$hardcode_minus_L_CXX"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 +printf "%s\n" "$hardcode_action_CXX" >&6; } + +if test relink = "$hardcode_action_CXX" || + test yes = "$inherit_rpath_CXX"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test yes != "$_lt_caught_CXX_error" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +@%:@ Check whether --enable-optimization was given. +if test ${enable_optimization+y} +then : + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else $as_nop + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + +printf "%s\n" "@%:@define NDEBUG /**/" >>confdefs.h + +fi + +@%:@ Check whether --enable-full-debug was given. +if test ${enable_full_debug+y} +then : + enableval=$enable_full_debug; case $enableval in + yes) enable_full_debug=yes;; + no) enable_full_debug=no;; + *) enable_full_debug=no;; esac +else $as_nop + enable_full_debug=no +fi + +if test "$enable_full_debug" = yes; then + +printf "%s\n" "@%:@define FULL_DEBUG /**/" >>confdefs.h + +fi + +@%:@ Check whether --enable-fast-compilation was given. +if test ${enable_fast_compilation+y} +then : + enableval=$enable_fast_compilation; +else $as_nop + enable_fast_compilation="yes" +fi + +if test "$enable_fast_compilation" = "yes"; then + +printf "%s\n" "@%:@define FAST_COMPILATION /**/" >>confdefs.h + +fi + if test "$enable_fast_compilation" = "yes"; then + FAST_COMPILATION_TRUE= + FAST_COMPILATION_FALSE='#' +else + FAST_COMPILATION_TRUE='#' + FAST_COMPILATION_FALSE= +fi + + +@%:@ Check whether --enable-tests was given. +if test ${enable_tests+y} +then : + enableval=$enable_tests; +else $as_nop + enable_tests="no" +fi + +if test "$enable_tests" = "yes"; then + +printf "%s\n" "@%:@define COMPILE_TESTS /**/" >>confdefs.h + +fi + if test "$enable_tests" = "yes"; then + COMPILE_TESTS_TRUE= + COMPILE_TESTS_FALSE='#' +else + COMPILE_TESTS_TRUE='#' + COMPILE_TESTS_FALSE= +fi + + +# Autoupdate added the next two lines to ensure that your configure +# script's behavior did not change. They are probably safe to remove. + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler recognizes bool as a built-in type" >&5 +printf %s "checking whether the compiler recognizes bool as a built-in type... " >&6; } +if test ${ac_cv_cxx_bool+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int f(int x){return 1;} +int f(char x){return 1;} +int f(bool x){return 1;} + +int +main (void) +{ +bool b = true; return f(b); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_bool=yes +else $as_nop + ac_cv_cxx_bool=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_bool" >&5 +printf "%s\n" "$ac_cv_cxx_bool" >&6; } +if test "$ac_cv_cxx_bool" = yes; then + +printf "%s\n" "@%:@define HAVE_BOOL /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 +printf %s "checking for long long int... " >&6; } +if test ${ob_cv_cxx_long_long+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +long long int i; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ob_cv_cxx_long_long=yes +else $as_nop + ob_cv_cxx_long_long=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ob_cv_cxx_long_long" >&5 +printf "%s\n" "$ob_cv_cxx_long_long" >&6; } +if test $ob_cv_cxx_long_long = yes; then + +printf "%s\n" "@%:@define HAVE_LONG_LONG /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports isfinite macro" >&5 +printf %s "checking whether the compiler supports isfinite macro... " >&6; } +if test ${ac_cv_cxx_have_isfinite+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _GNU_SOURCE + #include +int +main (void) +{ +double d=0; int n = isfinite(d); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_isfinite=yes +else $as_nop + ac_cv_cxx_have_isfinite=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_isfinite" >&5 +printf "%s\n" "$ac_cv_cxx_have_isfinite" >&6; } +if test $ac_cv_cxx_have_isfinite = yes; then + +printf "%s\n" "@%:@define HAVE_ISFINITE /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports basic templates" >&5 +printf %s "checking whether the compiler supports basic templates... " >&6; } +if test ${ac_cv_cxx_templates+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +template class A {public:A(){}}; +template void f(const A& ){} +int +main (void) +{ + +A d; A i; f(d); f(i); return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_templates=yes +else $as_nop + ac_cv_cxx_templates=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_templates" >&5 +printf "%s\n" "$ac_cv_cxx_templates" >&6; } +if test "$ac_cv_cxx_templates" = yes; then + +printf "%s\n" "@%:@define HAVE_TEMPLATES /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler recognizes typename" >&5 +printf %s "checking whether the compiler recognizes typename... " >&6; } +if test ${ac_cv_cxx_typename+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +templateclass X {public:X(){}}; +int +main (void) +{ +X z; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_typename=yes +else $as_nop + ac_cv_cxx_typename=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_typename" >&5 +printf "%s\n" "$ac_cv_cxx_typename" >&6; } +if test "$ac_cv_cxx_typename" = yes; then + +printf "%s\n" "@%:@define HAVE_TYPENAME /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports function matching with argument types which are template scope-qualified" >&5 +printf %s "checking whether the compiler supports function matching with argument types which are template scope-qualified... " >&6; } +if test ${ac_cv_cxx_template_scoped_argument_matching+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef HAVE_TYPENAME + #define typename +#endif +template class A { public : typedef X W; }; +template class B {}; +template void operator+(B d1, typename Y::W d2) {} + +int +main (void) +{ +B > z; z + 0.5f; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_template_scoped_argument_matching=yes +else $as_nop + ac_cv_cxx_template_scoped_argument_matching=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_template_scoped_argument_matching" >&5 +printf "%s\n" "$ac_cv_cxx_template_scoped_argument_matching" >&6; } +if test "$ac_cv_cxx_template_scoped_argument_matching" = yes; then + +printf "%s\n" "@%:@define HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports default template parameters" >&5 +printf %s "checking whether the compiler supports default template parameters... " >&6; } +if test ${ac_cv_cxx_default_template_parameters+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +template class A {public: int f() {return 0;}}; + +int +main (void) +{ +A a; return a.f(); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_default_template_parameters=yes +else $as_nop + ac_cv_cxx_default_template_parameters=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_default_template_parameters" >&5 +printf "%s\n" "$ac_cv_cxx_default_template_parameters" >&6; } +if test "$ac_cv_cxx_default_template_parameters" = yes; then + +printf "%s\n" "@%:@define HAVE_DEFAULT_TEMPLATE_PARAMETERS /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports template-qualified base class specifiers" >&5 +printf %s "checking whether the compiler supports template-qualified base class specifiers... " >&6; } +if test ${ac_cv_cxx_template_qualified_base_class+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef HAVE_TYPENAME + #define typename +#endif +class Base1 { public : int f () const { return 1; } }; +class Base2 { public : int f () const { return 0; } }; +template struct base_trait { typedef Base1 base; }; + struct base_trait { typedef Base2 base; }; +template class Weird : public base_trait::base +{ public : + typedef typename base_trait::base base; + int g () const { return f (); } +}; +int +main (void) +{ + Weird z; return z.g (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_template_qualified_base_class=yes +else $as_nop + ac_cv_cxx_template_qualified_base_class=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_template_qualified_base_class" >&5 +printf "%s\n" "$ac_cv_cxx_template_qualified_base_class" >&6; } +if test "$ac_cv_cxx_template_qualified_base_class" = yes; then + +printf "%s\n" "@%:@define HAVE_TEMPLATE_QUALIFIED_BASE_CLASS /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports template-qualified return types" >&5 +printf %s "checking whether the compiler supports template-qualified return types... " >&6; } +if test ${ac_cv_cxx_template_qualified_return_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef HAVE_TYPENAME + #define typename +#endif +template struct promote_trait { typedef X T; }; +template<> struct promote_trait { typedef float T; }; +template class A { public : A () {} }; +template +A::T> operator+ (const A&, const A&) +{ return A::T>(); } + +int +main (void) +{ +A x; A y; A z = x + y; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_template_qualified_return_type=yes +else $as_nop + ac_cv_cxx_template_qualified_return_type=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_template_qualified_return_type" >&5 +printf "%s\n" "$ac_cv_cxx_template_qualified_return_type" >&6; } +if test "$ac_cv_cxx_template_qualified_return_type" = yes; then + +printf "%s\n" "@%:@define HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports const_cast<>" >&5 +printf %s "checking whether the compiler supports const_cast<>... " >&6; } +if test ${ac_cv_cxx_const_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +int x = 0;const int& y = x;int& z = const_cast(y);return z; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_const_cast=yes +else $as_nop + ac_cv_cxx_const_cast=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_const_cast" >&5 +printf "%s\n" "$ac_cv_cxx_const_cast" >&6; } +if test "$ac_cv_cxx_const_cast" = yes; then + +printf "%s\n" "@%:@define HAVE_CONST_CAST /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports reinterpret_cast<>" >&5 +printf %s "checking whether the compiler supports reinterpret_cast<>... " >&6; } +if test ${ac_cv_cxx_reinterpret_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +class Unrelated { public : Unrelated () {} }; +int g (Unrelated&) { return 0; } +int +main (void) +{ + +Derived d;Base& b=d;Unrelated& e=reinterpret_cast(b);return g(e); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_reinterpret_cast=yes +else $as_nop + ac_cv_cxx_reinterpret_cast=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_reinterpret_cast" >&5 +printf "%s\n" "$ac_cv_cxx_reinterpret_cast" >&6; } +if test "$ac_cv_cxx_reinterpret_cast" = yes; then + +printf "%s\n" "@%:@define HAVE_REINTERPRET_CAST /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports static_cast<>" >&5 +printf %s "checking whether the compiler supports static_cast<>... " >&6; } +if test ${ac_cv_cxx_static_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +class Base { public : Base () {} virtual void f () = 0; }; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +int g (Derived&) { return 0; } +int +main (void) +{ + +Derived d; Base& b = d; Derived& s = static_cast (b); return g (s); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_static_cast=yes +else $as_nop + ac_cv_cxx_static_cast=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_static_cast" >&5 +printf "%s\n" "$ac_cv_cxx_static_cast" >&6; } +if test "$ac_cv_cxx_static_cast" = yes; then + +printf "%s\n" "@%:@define HAVE_STATIC_CAST /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports dynamic_cast<>" >&5 +printf %s "checking whether the compiler supports dynamic_cast<>... " >&6; } +if test ${ac_cv_cxx_dynamic_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +int +main (void) +{ + +Derived d; Base& b=d; return dynamic_cast(&b) ? 0 : 1; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_dynamic_cast=yes +else $as_nop + ac_cv_cxx_dynamic_cast=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_dynamic_cast" >&5 +printf "%s\n" "$ac_cv_cxx_dynamic_cast" >&6; } +if test "$ac_cv_cxx_dynamic_cast" = yes; then + +printf "%s\n" "@%:@define HAVE_DYNAMIC_CAST /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports exceptions" >&5 +printf %s "checking whether the compiler supports exceptions... " >&6; } +if test ${ac_cv_cxx_exceptions+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +try { throw 1; } catch (int i) { return i; } + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_exceptions=yes +else $as_nop + ac_cv_cxx_exceptions=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_exceptions" >&5 +printf "%s\n" "$ac_cv_cxx_exceptions" >&6; } +if test "$ac_cv_cxx_exceptions" = yes; then + +printf "%s\n" "@%:@define HAVE_EXCEPTIONS /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports the explicit keyword" >&5 +printf %s "checking whether the compiler supports the explicit keyword... " >&6; } +if test ${ac_cv_cxx_explicit+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +class A{public:explicit A(double){}}; +int +main (void) +{ +double c = 5.0;A x(c);return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_explicit=yes +else $as_nop + ac_cv_cxx_explicit=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_explicit" >&5 +printf "%s\n" "$ac_cv_cxx_explicit" >&6; } +if test "$ac_cv_cxx_explicit" = yes; then + +printf "%s\n" "@%:@define HAVE_EXPLICIT /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler implements namespaces" >&5 +printf %s "checking whether the compiler implements namespaces... " >&6; } +if test ${ac_cv_cxx_namespaces+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +namespace Outer { namespace Inner { int i = 0; }} +int +main (void) +{ +using namespace Outer::Inner; return i; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_namespaces=yes +else $as_nop + ac_cv_cxx_namespaces=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_namespaces" >&5 +printf "%s\n" "$ac_cv_cxx_namespaces" >&6; } +if test "$ac_cv_cxx_namespaces" = yes; then + +printf "%s\n" "@%:@define HAVE_NAMESPACES /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports Run-Time Type Identification" >&5 +printf %s "checking whether the compiler supports Run-Time Type Identification... " >&6; } +if test ${ac_cv_cxx_rtti+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +class Base { public : + Base () {} + virtual int f () { return 0; } + }; +class Derived : public Base { public : + Derived () {} + virtual int f () { return 1; } + }; + +int +main (void) +{ +Derived d; +Base *ptr = &d; +return typeid (*ptr) == typeid (Derived); + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_rtti=yes +else $as_nop + ac_cv_cxx_rtti=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_rtti" >&5 +printf "%s\n" "$ac_cv_cxx_rtti" >&6; } +if test "$ac_cv_cxx_rtti" = yes; then + +printf "%s\n" "@%:@define HAVE_RTTI /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports ISO C++ standard library" >&5 +printf %s "checking whether the compiler supports ISO C++ standard library... " >&6; } +if test ${ac_cv_cxx_have_std+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main (void) +{ +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_std=yes +else $as_nop + ac_cv_cxx_have_std=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_std" >&5 +printf "%s\n" "$ac_cv_cxx_have_std" >&6; } +if test "$ac_cv_cxx_have_std" = yes; then + +printf "%s\n" "@%:@define HAVE_STD /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports Standard Template Library" >&5 +printf %s "checking whether the compiler supports Standard Template Library... " >&6; } +if test ${ac_cv_cxx_have_stl+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main (void) +{ +list x; x.push_back(5); +list::iterator iter = x.begin(); if (iter != x.end()) ++iter; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_stl=yes +else $as_nop + ac_cv_cxx_have_stl=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_stl" >&5 +printf "%s\n" "$ac_cv_cxx_have_stl" >&6; } +if test "$ac_cv_cxx_have_stl" = yes; then + +printf "%s\n" "@%:@define HAVE_STL /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler has numeric_limits" >&5 +printf %s "checking whether the compiler has numeric_limits... " >&6; } +if test ${ac_cv_cxx_have_numeric_limits+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main (void) +{ +double e = numeric_limits::epsilon(); return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_numeric_limits=yes +else $as_nop + ac_cv_cxx_have_numeric_limits=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_numeric_limits" >&5 +printf "%s\n" "$ac_cv_cxx_have_numeric_limits" >&6; } +if test "$ac_cv_cxx_have_numeric_limits" = yes; then + +printf "%s\n" "@%:@define HAVE_NUMERIC_LIMITS /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler has stringstream" >&5 +printf %s "checking whether the compiler has stringstream... " >&6; } +if test ${ac_cv_cxx_have_sstream+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main (void) +{ +stringstream message; message << "Hello"; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_sstream=yes +else $as_nop + ac_cv_cxx_have_sstream=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_sstream" >&5 +printf "%s\n" "$ac_cv_cxx_have_sstream" >&6; } +if test "$ac_cv_cxx_have_sstream" = yes; then + +printf "%s\n" "@%:@define HAVE_SSTREAM /**/" >>confdefs.h + +fi + + +@%:@ Check whether --enable-hashset was given. +if test ${enable_hashset+y} +then : + enableval=$enable_hashset; +else $as_nop + enable_hashset="no" +fi + +if test "$enable_hashset" = "yes"; then + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports std::hash_set" >&5 +printf %s "checking whether the compiler supports std::hash_set... " >&6; } +if test ${ac_cv_cxx_std_hashset+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using std::hash_set; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_std_hashset=yes +else $as_nop + ac_cv_cxx_std_hashset=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_std_hashset" >&5 +printf "%s\n" "$ac_cv_cxx_std_hashset" >&6; } +if test "ac_cv_cxx_std_hashset" = yes; then + +printf "%s\n" "@%:@define HAVE_STD_HASHSET /**/" >>confdefs.h + +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports __gnu_cxx::hash_set" >&5 +printf %s "checking whether the compiler supports __gnu_cxx::hash_set... " >&6; } +if test ${ac_cv_cxx_gnucxx_hashset+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using __gnu_cxx::hash_set; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_gnucxx_hashset=yes +else $as_nop + ac_cv_cxx_gnucxx_hashset=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_gnucxx_hashset" >&5 +printf "%s\n" "$ac_cv_cxx_gnucxx_hashset" >&6; } +if test "$ac_cv_cxx_gnucxx_hashset" = yes; then + +printf "%s\n" "@%:@define HAVE_GNUCXX_HASHSET /**/" >>confdefs.h + +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports stdext::hash_set" >&5 +printf %s "checking whether the compiler supports stdext::hash_set... " >&6; } +if test ${ac_cv_cxx_stdext_hashset+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using stdext::hash_set; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_stdext_hashset=yes +else $as_nop + ac_cv_cxx_stdext_hashset=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_stdext_hashset" >&5 +printf "%s\n" "$ac_cv_cxx_stdext_hashset" >&6; } +if test "ac_cv_cxx_stdext_hashset" = yes; then + +printf "%s\n" "@%:@define HAVE_STDEXT_HASHSET /**/" >>confdefs.h + +fi + +fi +@%:@ Check whether --enable-hashmap was given. +if test ${enable_hashmap+y} +then : + enableval=$enable_hashmap; +else $as_nop + enable_hashmap="no" +fi + +if test "$enable_hashmap" = "yes"; then + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports std::hash_map" >&5 +printf %s "checking whether the compiler supports std::hash_map... " >&6; } +if test ${ac_cv_cxx_std_hashmap+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using std::hash_map; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_std_hashmap=yes +else $as_nop + ac_cv_cxx_std_hashmap=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_std_hashmap" >&5 +printf "%s\n" "$ac_cv_cxx_std_hashmap" >&6; } +if test "ac_cv_cxx_std_hashmap" = yes; then + +printf "%s\n" "@%:@define HAVE_STD_HASHMAP /**/" >>confdefs.h + +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports __gnu_cxx::hash_map" >&5 +printf %s "checking whether the compiler supports __gnu_cxx::hash_map... " >&6; } +if test ${ac_cv_cxx_gnucxx_hashmap+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using __gnu_cxx::hash_map; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_gnucxx_hashmap=yes +else $as_nop + ac_cv_cxx_gnucxx_hashmap=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_gnucxx_hashmap" >&5 +printf "%s\n" "$ac_cv_cxx_gnucxx_hashmap" >&6; } +if test "$ac_cv_cxx_gnucxx_hashmap" = yes; then + +printf "%s\n" "@%:@define HAVE_GNUCXX_HASHMAP /**/" >>confdefs.h + +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports stdext::hash_map" >&5 +printf %s "checking whether the compiler supports stdext::hash_map... " >&6; } +if test ${ac_cv_cxx_stdext_hashmap+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using stdext::hash_map; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_stdext_hashmap=yes +else $as_nop + ac_cv_cxx_stdext_hashmap=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_stdext_hashmap" >&5 +printf "%s\n" "$ac_cv_cxx_stdext_hashmap" >&6; } +if test "ac_cv_cxx_stdext_hashmap" = yes; then + +printf "%s\n" "@%:@define HAVE_STDEXT_HASHMAP /**/" >>confdefs.h + +fi + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /dev/urandom" >&5 +printf %s "checking for /dev/urandom... " >&6; } +if test ${ac_cv_file__dev_urandom+y} +then : + printf %s "(cached) " >&6 +else $as_nop + test "$cross_compiling" = yes && + as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 +if test -r "/dev/urandom"; then + ac_cv_file__dev_urandom=yes +else + ac_cv_file__dev_urandom=no +fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__dev_urandom" >&5 +printf "%s\n" "$ac_cv_file__dev_urandom" >&6; } +if test "x$ac_cv_file__dev_urandom" = xyes +then : + +printf "%s\n" "@%:@define HAVE_DEV_URANDOM /**/" >>confdefs.h + +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +printf %s "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char pthread_join (); +int +main (void) +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + acx_pthread_ok=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_ok" >&5 +printf "%s\n" "$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all, and "pthread-config" +# which is a program returning the flags for the Pth emulation library. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5 +printf %s "checking whether pthreads work without any flags... " >&6; } + ;; + + -*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5 +printf %s "checking whether pthreads work with $flag... " >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + pthread-config) + # Extract the first word of "pthread-config", so it can be a program name with args. +set dummy pthread-config; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_acx_pthread_config+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$acx_pthread_config"; then + ac_cv_prog_acx_pthread_config="$acx_pthread_config" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_acx_pthread_config="yes" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no" +fi +fi +acx_pthread_config=$ac_cv_prog_acx_pthread_config +if test -n "$acx_pthread_config"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_config" >&5 +printf "%s\n" "$acx_pthread_config" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + if test x"$acx_pthread_config" = xno; then continue; fi + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; + + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5 +printf %s "checking for the pthreads library -l$flag... " >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + acx_pthread_ok=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_ok" >&5 +printf "%s\n" "$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5 +printf %s "checking for joinable pthread attribute... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ok=PTHREAD_CREATE_JOINABLE +else $as_nop + ok=unknown +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ok=PTHREAD_CREATE_UNDETACHED +else $as_nop + ok=unknown +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +printf "%s\n" "@%:@define PTHREAD_CREATE_JOINABLE \$ok" >>confdefs.h + + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${ok}" >&5 +printf "%s\n" "${ok}" >&6; } + if test x"$ok" = xunknown; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: we do not know how to create joinable pthreads" >&5 +printf "%s\n" "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5 +printf %s "checking if more special flags are required for pthreads... " >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${flag}" >&5 +printf "%s\n" "${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_PTHREAD_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_PTHREAD_CC="cc_r" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5 +printf "%s\n" "$PTHREAD_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +printf "%s\n" "@%:@define HAVE_PTHREAD 1" >>confdefs.h + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +# +# Handle user hints +# +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if zlib is wanted" >&5 +printf %s "checking if zlib is wanted... " >&6; } + +@%:@ Check whether --with-zlib was given. +if test ${with_zlib+y} +then : + withval=$with_zlib; if test "$withval" != no ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + ZLIB_HOME="$withval" +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +else $as_nop + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inflateEnd in -lz" >&5 +printf %s "checking for inflateEnd in -lz... " >&6; } +if test ${ac_cv_lib_z_inflateEnd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char inflateEnd (); +int +main (void) +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_z_inflateEnd=yes +else $as_nop + ac_cv_lib_z_inflateEnd=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflateEnd" >&5 +printf "%s\n" "$ac_cv_lib_z_inflateEnd" >&6; } +if test "x$ac_cv_lib_z_inflateEnd" = xyes +then : + zlib_cv_libz=yes +else $as_nop + zlib_cv_libz=no +fi + + ac_fn_c_check_header_compile "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" +if test "x$ac_cv_header_zlib_h" = xyes +then : + zlib_cv_zlib_h=yes +else $as_nop + zlib_cv_zlib_h=no +fi + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inflateEnd in -lz" >&5 +printf %s "checking for inflateEnd in -lz... " >&6; } +if test ${ac_cv_lib_z_inflateEnd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int inflateEnd (); +} +int +main (void) +{ +return conftest::inflateEnd (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_z_inflateEnd=yes +else $as_nop + ac_cv_lib_z_inflateEnd=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflateEnd" >&5 +printf "%s\n" "$ac_cv_lib_z_inflateEnd" >&6; } +if test "x$ac_cv_lib_z_inflateEnd" = xyes +then : + printf "%s\n" "@%:@define HAVE_LIBZ 1" >>confdefs.h + + LIBS="-lz $LIBS" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking zlib in ${ZLIB_HOME}" >&5 +printf %s "checking zlib in ${ZLIB_HOME}... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking zlib in ${ZLIB_HOME}" >&5 +printf %s "checking zlib in ${ZLIB_HOME}... " >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +printf "%s\n" "failed" >&6; } + fi +fi + + + +if test "$ac_cv_cxx_templates" = no; then + as_fn_error $? "\"sorry, templates support needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_template_scoped_argument_matching" = no; then + as_fn_error $? "\"sorry, template scoped argument matching support needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_default_template_parameters" = no; then + as_fn_error $? "\"sorry, default template parameters support needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_typename" = no; then + as_fn_error $? "\"sorry, typename qualifier needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_exceptions" = no; then + as_fn_error $? "\"sorry, support for exception handling needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_namespaces" = no; then + as_fn_error $? "\"sorry, namespaces support needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_have_std" = no; then + as_fn_error $? "\"sorry, namespace std needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_have_stl" = no; then + as_fn_error $? "\"sorry, no standard template library found\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_have_sstream" = no; then + as_fn_error $? "\"sorry, no sstream found. If you are using gcc less or equal to 2.95.2, see http://gcc.gnu.org/faq.html#2.95sstream to patch your compiler\"" "$LINENO" 5 +fi + +PACC_VERSION='1.3.1b' + +if test "$zlib_cv_libz" = yes; then + CPPFLAGS="$CPPFLAGS -DPACC_ZLIB" +fi + +ac_config_files="$ac_config_files Makefile PACC/Makefile PACC/Math/Makefile PACC/SVG/Makefile PACC/Socket/Makefile PACC/Threading/Makefile PACC/Util/Makefile PACC/XML/Makefile beagle/Makefile beagle/include/Makefile beagle/include/beagle/Makefile beagle/src/Makefile beagle/GA/Makefile beagle/GA/include/Makefile beagle/GA/include/beagle/Makefile beagle/GA/include/beagle/GA/Makefile beagle/GA/src/Makefile beagle/GP/Makefile beagle/GP/include/Makefile beagle/GP/include/beagle/Makefile beagle/GP/include/beagle/GP/Makefile beagle/GP/src/Makefile beagle/Coev/Makefile beagle/Coev/include/Makefile beagle/Coev/include/beagle/Makefile beagle/Coev/include/beagle/Coev/Makefile beagle/Coev/src/Makefile tests/Makefile tests/Common/Makefile tests/Exception/Makefile tests/GA/Makefile tests/GA/optfct/Makefile tests/GP/Makefile tests/GP/FitnessTestGPIndividual/Makefile tests/GP/ReadGPIndividual/Makefile tests/GP/WriteRandomGPIndividual/Makefile tests/LinGP/Makefile tests/LinGP/include/Makefile tests/LinGP/include/beagle/Makefile tests/LinGP/include/beagle/LinGP/Makefile tests/LinGP/src/Makefile tests/Roulette/Makefile tests/Thread/Makefile tests/TransportTCPIPOp/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIB@&t@OBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +printf %s "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 +printf "%s\n" "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${FAST_COMPILATION_TRUE}" && test -z "${FAST_COMPILATION_FALSE}"; then + as_fn_error $? "conditional \"FAST_COMPILATION\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${COMPILE_TESTS_TRUE}" && test -z "${COMPILE_TESTS_FALSE}"; then + as_fn_error $? "conditional \"COMPILE_TESTS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else $as_nop + case `(set -o) 2>/dev/null` in @%:@( + *posix*) : + set -o posix ;; @%:@( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in @%:@(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] +@%:@ ---------------------------------------- +@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are +@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the +@%:@ script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status +} @%:@ as_fn_error + + + +@%:@ as_fn_set_status STATUS +@%:@ ----------------------- +@%:@ Set @S|@? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} @%:@ as_fn_set_status + +@%:@ as_fn_exit STATUS +@%:@ ----------------- +@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} @%:@ as_fn_exit + +@%:@ as_fn_unset VAR +@%:@ --------------- +@%:@ Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +@%:@ as_fn_append VAR VALUE +@%:@ ---------------------- +@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take +@%:@ advantage of any shell optimizations that allow amortized linear growth over +@%:@ repeated appends, instead of the typical quadratic growth present in naive +@%:@ implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +@%:@ as_fn_arith ARG... +@%:@ ------------------ +@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the +@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments +@%:@ must be portable across @S|@(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in @%:@((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_@&t@echo='printf %s\n' +as_@&t@echo_n='printf %s' + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +@%:@ as_fn_mkdir_p +@%:@ ------------- +@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} @%:@ as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +@%:@ as_fn_executable_p FILE +@%:@ ----------------------- +@%:@ Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} @%:@ as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by Open BEAGLE $as_me 3.0.3, which was +generated by GNU Autoconf 2.71. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +Open BEAGLE config.status 3.0.3 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + printf "%s\n" "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX +@%:@@%:@ Running $as_me. @%:@@%:@ +_ASBOX + printf "%s\n" "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +PACKAGE="$PACKAGE" +AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' +configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' +predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' +predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' +postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' +reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' +reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +FILECMD \ +OBJDUMP \ +deplibs_check_method \ +file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +DLLTOOL \ +sharedlib_from_linklib_cmd \ +AR \ +archiver_list_spec \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_import \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +lt_cv_nm_interface \ +nm_file_list_spec \ +lt_cv_truncate_bin \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_pic \ +lt_prog_compiler_wl \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +MANIFEST_TOOL \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_separator \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +install_override_mode \ +finish_eval \ +old_striplib \ +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +reload_flag_CXX \ +compiler_CXX \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_pic_CXX \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_static_CXX \ +lt_cv_prog_compiler_c_o_CXX \ +export_dynamic_flag_spec_CXX \ +whole_archive_flag_spec_CXX \ +compiler_needs_object_CXX \ +with_gnu_ld_CXX \ +allow_undefined_flag_CXX \ +no_undefined_flag_CXX \ +hardcode_libdir_flag_spec_CXX \ +hardcode_libdir_separator_CXX \ +exclude_expsyms_CXX \ +include_expsyms_CXX \ +file_list_spec_CXX \ +compiler_lib_search_dirs_CXX \ +predep_objects_CXX \ +postdep_objects_CXX \ +predeps_CXX \ +postdeps_CXX \ +compiler_lib_search_path_CXX; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postlink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +configure_time_dlsearch_path \ +configure_time_lt_sys_library_path \ +reload_cmds_CXX \ +old_archive_cmds_CXX \ +old_archive_from_new_cmds_CXX \ +old_archive_from_expsyms_cmds_CXX \ +archive_cmds_CXX \ +archive_expsym_cmds_CXX \ +module_cmds_CXX \ +module_expsym_cmds_CXX \ +export_symbols_cmds_CXX \ +prelink_cmds_CXX \ +postlink_cmds_CXX; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +ac_aux_dir='$ac_aux_dir' + +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile' + + + + + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config/config-h") CONFIG_HEADERS="$CONFIG_HEADERS config/config-h:config/config-h.in" ;; + "beagle/include/beagle/config.hpp") CONFIG_COMMANDS="$CONFIG_COMMANDS beagle/include/beagle/config.hpp" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "PACC/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Makefile" ;; + "PACC/Math/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Math/Makefile" ;; + "PACC/SVG/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/SVG/Makefile" ;; + "PACC/Socket/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Socket/Makefile" ;; + "PACC/Threading/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Threading/Makefile" ;; + "PACC/Util/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Util/Makefile" ;; + "PACC/XML/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/XML/Makefile" ;; + "beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Makefile" ;; + "beagle/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/include/Makefile" ;; + "beagle/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/include/beagle/Makefile" ;; + "beagle/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/src/Makefile" ;; + "beagle/GA/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/Makefile" ;; + "beagle/GA/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/Makefile" ;; + "beagle/GA/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/beagle/Makefile" ;; + "beagle/GA/include/beagle/GA/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/beagle/GA/Makefile" ;; + "beagle/GA/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/src/Makefile" ;; + "beagle/GP/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/Makefile" ;; + "beagle/GP/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/Makefile" ;; + "beagle/GP/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/beagle/Makefile" ;; + "beagle/GP/include/beagle/GP/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/beagle/GP/Makefile" ;; + "beagle/GP/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/src/Makefile" ;; + "beagle/Coev/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/Makefile" ;; + "beagle/Coev/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/Makefile" ;; + "beagle/Coev/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/beagle/Makefile" ;; + "beagle/Coev/include/beagle/Coev/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/beagle/Coev/Makefile" ;; + "beagle/Coev/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/src/Makefile" ;; + "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; + "tests/Common/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Common/Makefile" ;; + "tests/Exception/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Exception/Makefile" ;; + "tests/GA/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GA/Makefile" ;; + "tests/GA/optfct/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GA/optfct/Makefile" ;; + "tests/GP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/Makefile" ;; + "tests/GP/FitnessTestGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/FitnessTestGPIndividual/Makefile" ;; + "tests/GP/ReadGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/ReadGPIndividual/Makefile" ;; + "tests/GP/WriteRandomGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/WriteRandomGPIndividual/Makefile" ;; + "tests/LinGP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/Makefile" ;; + "tests/LinGP/include/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/Makefile" ;; + "tests/LinGP/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/beagle/Makefile" ;; + "tests/LinGP/include/beagle/LinGP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/beagle/LinGP/Makefile" ;; + "tests/LinGP/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/src/Makefile" ;; + "tests/Roulette/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Roulette/Makefile" ;; + "tests/Thread/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Thread/Makefile" ;; + "tests/TransportTCPIPOp/Makefile") CONFIG_FILES="$CONFIG_FILES tests/TransportTCPIPOp/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files + test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers + test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +printf "%s\n" "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "beagle/include/beagle/config.hpp":C) ac_prefix_conf_OUT=`echo beagle/include/beagle/config.hpp` +ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/@<:@^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@:>@/_/g"` +ac_prefix_conf_PKG=`echo BEAGLE` +ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"` +ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^@<:@0123456789@:>@/s/^/_/"` +ac_prefix_conf_INP=`echo "config/config-h" | sed -e 's/ *//'` +if test ".$ac_prefix_conf_INP" = "."; then + for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue + case "$ac_file" in + *.h) ac_prefix_conf_INP=$ac_file ;; + *) + esac + test ".$ac_prefix_conf_INP" != "." && break + done +fi +if test ".$ac_prefix_conf_INP" = "."; then + case "$ac_prefix_conf_OUT" in + */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"` + ;; + *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*-//"` + ;; + *) ac_prefix_conf_INP=config.h + ;; + esac +fi +if test -z "$ac_prefix_conf_PKG" ; then + as_fn_error $? "no prefix for _PREFIX_PKG_CONFIG_H" "$LINENO" 5 +else + if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then + ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP" + fi fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5 +printf "%s\n" "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;} + if test -f $ac_prefix_conf_INP ; then + echo "s/@%:@undef *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@\\)/@%:@undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix + echo "s/@%:@undef *\\(@<:@abcdefghijklmnopqrstuvwxyz@:>@\\)/@%:@undef $ac_prefix_conf_LOW""_\\1/" >> conftest.prefix + echo "s/@%:@define *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*\\)\\(.*\\)/@%:@ifndef $ac_prefix_conf_UPP""_\\1 \\" >> conftest.prefix + echo "@%:@define $ac_prefix_conf_UPP""_\\1 \\2 \\" >> conftest.prefix + echo "@%:@endif/" >>conftest.prefix + echo "s/@%:@define *\\(@<:@abcdefghijklmnopqrstuvwxyz@:>@@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*\\)\\(.*\\)/@%:@ifndef $ac_prefix_conf_LOW""_\\1 \\" >> conftest.prefix + echo "@%:@define $ac_prefix_conf_LOW""_\\1 \\2 \\" >> conftest.prefix + echo "@%:@endif/" >> conftest.prefix + # now executing _script on _DEF input to create _OUT output file + echo "@%:@ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h + echo "@%:@define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h + + sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h + echo "@%:@endif" >>$tmp/pconfig.h + if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_prefix_conf_OUT is unchanged" >&5 +printf "%s\n" "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;} + else + ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" || +$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$ac_prefix_conf_OUT" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + rm -f "$ac_prefix_conf_OUT" + mv $tmp/pconfig.h "$ac_prefix_conf_OUT" + fi + cp conftest.prefix _configs.sed + else + as_fn_error $? "input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" "$LINENO" 5 + fi + rm -f conftest.* +fi + ;; + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + case $CONFIG_FILES in @%:@( + *\'*) : + eval set x "$CONFIG_FILES" ;; @%:@( + *) : + set x $CONFIG_FILES ;; @%:@( + *) : + ;; +esac + shift + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf + do + # Strip MF so we end up with the name of the file. + am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`$as_dirname -- "$am_mf" || +$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$am_mf" : 'X\(//\)[^/]' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$am_mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + am_filepart=`$as_basename -- "$am_mf" || +$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X/"$am_mf" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { echo "$as_me:$LINENO: cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles" >&5 + (cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } || am_rc=$? + done + if test $am_rc -ne 0; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE=\"gmake\" (or whatever is + necessary). You can also try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking). +See \`config.log' for more details" "$LINENO" 5; } + fi + { am_dirpart=; unset am_dirpart;} + { am_filepart=; unset am_filepart;} + { am_mf=; unset am_mf;} + { am_rc=; unset am_rc;} + rm -f conftest-deps.mk +} + ;; + "libtool":C) + + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +# The names of the tagged configurations supported by this script. +available_tags='CXX ' + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec=$shared_archive_member_spec + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd + +# A file(cmd) program that detects file types. +FILECMD=$lt_FILECMD + +# An object symbol dumper. +OBJDUMP=$lt_OBJDUMP + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + +# The archiver. +AR=$lt_AR + +# Flags to create an archive (by configure). +lt_ar_flags=$lt_ar_flags + +# Flags to create an archive. +AR_FLAGS=\@S|@{ARFLAGS-"\@S|@lt_ar_flags"} + +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm into a list of symbols to manually relocate. +global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name lister interface. +nm_interface=$lt_lt_cv_nm_interface + +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec + +# The root where to search for dependent libraries,and where our libraries should be installed. +lt_sysroot=$lt_sysroot + +# Command to truncate a binary pipe. +lt_truncate_bin=$lt_lt_cv_truncate_bin + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + + +ltmain=$ac_aux_dir/ltmain.sh + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + $SED '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_CXX +reload_cmds=$lt_reload_cmds_CXX + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX + +# A language specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/lib/beagle-3.0.3/autom4te.cache/output.1 b/lib/beagle-3.0.3/autom4te.cache/output.1 new file mode 100644 index 0000000..0bdbb4c --- /dev/null +++ b/lib/beagle-3.0.3/autom4te.cache/output.1 @@ -0,0 +1,21813 @@ +@%:@! /bin/sh +@%:@ From configure.ac Revision: 1.33.2.7 . +@%:@ Guess values for system-dependent variables and create Makefiles. +@%:@ Generated by GNU Autoconf 2.71 for Open BEAGLE 3.0.3. +@%:@ +@%:@ Report bugs to . +@%:@ +@%:@ +@%:@ Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, +@%:@ Inc. +@%:@ +@%:@ +@%:@ This configure script is free software; the Free Software Foundation +@%:@ gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else $as_nop + case `(set -o) 2>/dev/null` in @%:@( + *posix*) : + set -o posix ;; @%:@( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in @%:@(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in @%:@ (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="as_nop=: +if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else \$as_nop + case \`(set -o) 2>/dev/null\` in @%:@( + *posix*) : + set -o posix ;; @%:@( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ) +then : + +else \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 + + test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + case $as_dir in @%:@( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + if test "x$CONFIG_SHELL" != x +then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in @%:@ (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and cgagne@gmail.com +$0: about your system, including any error possibly output +$0: before this message. Then install a modern shell, or +$0: manually run the script under such a shell if you do +$0: have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +@%:@ as_fn_unset VAR +@%:@ --------------- +@%:@ Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +@%:@ as_fn_set_status STATUS +@%:@ ----------------------- +@%:@ Set @S|@? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} @%:@ as_fn_set_status + +@%:@ as_fn_exit STATUS +@%:@ ----------------- +@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} @%:@ as_fn_exit +@%:@ as_fn_nop +@%:@ --------- +@%:@ Do nothing but, unlike ":", preserve the value of @S|@?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +@%:@ as_fn_mkdir_p +@%:@ ------------- +@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} @%:@ as_fn_mkdir_p + +@%:@ as_fn_executable_p FILE +@%:@ ----------------------- +@%:@ Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} @%:@ as_fn_executable_p +@%:@ as_fn_append VAR VALUE +@%:@ ---------------------- +@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take +@%:@ advantage of any shell optimizations that allow amortized linear growth over +@%:@ repeated appends, instead of the typical quadratic growth present in naive +@%:@ implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +@%:@ as_fn_arith ARG... +@%:@ ------------------ +@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the +@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments +@%:@ must be portable across @S|@(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +@%:@ as_fn_nop +@%:@ --------- +@%:@ Do nothing but, unlike ":", preserve the value of @S|@?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] +@%:@ ---------------------------------------- +@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are +@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the +@%:@ script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status +} @%:@ as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in @%:@((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_@&t@echo='printf %s\n' +as_@&t@echo_n='printf %s' + + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + +SHELL=${CONFIG_SHELL-/bin/sh} + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIB@&t@OBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='Open BEAGLE' +PACKAGE_TARNAME='beagle' +PACKAGE_VERSION='3.0.3' +PACKAGE_STRING='Open BEAGLE 3.0.3' +PACKAGE_BUGREPORT='cgagne@gmail.com' +PACKAGE_URL='' + +ac_unique_file="beagle/src/Allocator.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_STDIO_H +# include +#endif +#ifdef HAVE_STDLIB_H +# include +#endif +#ifdef HAVE_STRING_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_header_c_list= +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +LIB@&t@OBJS +PACC_VERSION +PTHREAD_CFLAGS +PTHREAD_LIBS +PTHREAD_CC +acx_pthread_config +COMPILE_TESTS_FALSE +COMPILE_TESTS_TRUE +FAST_COMPILATION_FALSE +FAST_COMPILATION_TRUE +LT_SYS_LIBRARY_PATH +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +MANIFEST_TOOL +RANLIB +ac_ct_AR +AR +DLLTOOL +OBJDUMP +FILECMD +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +EGREP +GREP +SED +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +ac_ct_CC +CFLAGS +CC +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +LIBTOOL +LN_S +CXXCPP +am__fastdepCXX_FALSE +am__fastdepCXX_TRUE +CXXDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V +CSCOPE +ETAGS +CTAGS +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +runstatedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL +am__quote' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_silent_rules +enable_dependency_tracking +enable_shared +enable_static +with_pic +enable_fast_install +with_aix_soname +with_gnu_ld +with_sysroot +enable_libtool_lock +enable_optimization +enable_full_debug +enable_fast_compilation +enable_tests +enable_hashset +enable_hashmap +with_zlib +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +LT_SYS_LIBRARY_PATH' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir runstatedir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures Open BEAGLE 3.0.3 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + @<:@@S|@ac_default_prefix@:>@ + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + @<:@PREFIX@:>@ + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root @<:@DATAROOTDIR/doc/beagle@:>@ + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of Open BEAGLE 3.0.3:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ + --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ + --enable-fast-install@<:@=PKGS@:>@ + optimize for fast installation @<:@default=yes@:>@ + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + --enable-full-debug enable full debug mode default=no + --enable-fast-compilation =no/yes enable fast compilation mode default=yes + --enable-tests =no/yes enable compilation of tests default=no + --enable-hashset =no/yes enable hash_set STL extension default=no + --enable-hashmap =no/yes enable hash_map STL extension default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic@<:@=PKGS@:>@ try to use only PIC/non-PIC objects @<:@default=use + both@:>@ + --with-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX, @<:@default=aix@:>@. + --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ + --with-sysroot@<:@=DIR@:>@ Search for dependent libraries within DIR (or the + compiler's sysroot if not specified). + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + LT_SYS_LIBRARY_PATH + User-defined run-time library search path. + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +Open BEAGLE configure 3.0.3 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +@%:@ ac_fn_cxx_try_compile LINENO +@%:@ ---------------------------- +@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_cxx_try_compile + +@%:@ ac_fn_cxx_try_cpp LINENO +@%:@ ------------------------ +@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_cxx_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_cxx_try_cpp + +@%:@ ac_fn_c_try_compile LINENO +@%:@ -------------------------- +@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_c_try_compile + +@%:@ ac_fn_c_try_link LINENO +@%:@ ----------------------- +@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_c_try_link + +@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +@%:@ ------------------------------------------------------- +@%:@ Tests whether HEADER exists and can be compiled using the include files in +@%:@ INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +@%:@include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} @%:@ ac_fn_c_check_header_compile + +@%:@ ac_fn_c_check_func LINENO FUNC VAR +@%:@ ---------------------------------- +@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. */ + +#include +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} @%:@ ac_fn_c_check_func + +@%:@ ac_fn_cxx_try_link LINENO +@%:@ ------------------------- +@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_cxx_try_link +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?@<:@ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by Open BEAGLE $as_me 3.0.3, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "@%:@define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "@%:@define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "@%:@define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "@%:@define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "@%:@define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "@%:@define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in @%:@( + */*) : + ;; @%:@( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not \xHH hex character constants. + These do not provoke an error unfortunately, instead are silently treated + as an "x". The following induces an error, until -std is added to get + proper ANSI mode. Curiously \x00 != x always comes out true, for an + array size at least. It is necessary to write \x00 == 0 to get something + that is true only with -std. */ +int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) '\''x'\'' +int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" + +# Auxiliary files required by this configure script. +ac_aux_files="compile config.guess config.sub ltmain.sh missing install-sh" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/config" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 +fi + + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +if test -f "${ac_aux_dir}config.guess"; then + ac_@&t@config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_@&t@config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_@&t@configure="$SHELL ${ac_aux_dir}configure" +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' + and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + +am__api_version='1.16' + + + + # Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +printf %s "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test ${ac_cv_path_install+y} +then : + printf %s "(cached) " >&6 +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + # Account for fact that we put trailing slashes in our PATH walk. +case $as_dir in @%:@(( + ./ | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test ${ac_cv_path_install+y}; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +printf "%s\n" "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +printf %s "checking whether build environment is sane... " >&6; } +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` + + +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` + + + if test x"${MISSING+set}" != xset; then + MISSING="\${SHELL} '$am_aux_dir/missing'" +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 +printf %s "checking for a race-free mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if test ${ac_cv_path_mkdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue + case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir ('*'coreutils) '* | \ + 'BusyBox '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test ${ac_cv_path_mkdir+y}; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +printf "%s\n" "$MKDIR_P" >&6; } + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval test \${ac_cv_prog_make_${ac_make}_set+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + SET_MAKE= +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +@%:@ Check whether --enable-silent-rules was given. +if test ${enable_silent_rules+y} +then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +printf %s "checking whether $am_make supports nested variables... " >&6; } +if test ${am_cv_make_support_nested_variables+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if printf "%s\n" 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='beagle' + VERSION='3.0.3' + + +printf "%s\n" "@%:@define PACKAGE \"$PACKAGE\"" >>confdefs.h + + +printf "%s\n" "@%:@define VERSION \"$VERSION\"" >>confdefs.h + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi + +if test -z "$ETAGS"; then + ETAGS=etags +fi + +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + +ac_config_headers="$ac_config_headers config/config-h:config/config-h.in" + + +ac_config_commands="$ac_config_commands beagle/include/beagle/config.hpp" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AWK" && break +done + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C++ compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +int +main (void) +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_cxx11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_cxx11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_cxx98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_cxx98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +fi +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } +cat > confinc.mk << 'END' +am__doit: + @echo this is the am__doit target >confinc.out +.PHONY: am__doit +END +am__include="#" +am__quote= +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 + (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + case $?:`cat confinc.out 2>/dev/null` in @%:@( + '0:this is the am__doit target') : + case $s in @%:@( + BSD) : + am__include='.include' am__quote='"' ;; @%:@( + *) : + am__include='include' am__quote='' ;; +esac ;; @%:@( + *) : + ;; +esac + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +printf "%s\n" "${_am_result}" >&6; } + +@%:@ Check whether --enable-dependency-tracking was given. +if test ${enable_dependency_tracking+y} +then : + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +depcc="$CXX" am_compiler_list= + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +printf %s "checking dependency style of $depcc... " >&6; } +if test ${am_cv_CXX_dependencies_compiler_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 +printf "%s\n" "$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +printf %s "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if test ${ac_cv_prog_CXXCPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CXX needs to be expanded + for CXXCPP in "$CXX -E" cpp /lib/cpp + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +printf "%s\n" "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +printf %s "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +printf "%s\n" "no, using $LN_S" >&6; } +fi + +case `pwd` in + *\ * | *\ *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.4.7' +macro_revision='2.4.7' + + + + + + + + + + + + + + +ltmain=$ac_aux_dir/ltmain.sh + + + + # Make sure we can run config.sub. +$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +printf %s "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "" +} + +case $ECHO in + printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +printf "%s\n" "printf" >&6; } ;; + print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +printf "%s\n" "print -r" >&6; } ;; + *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +printf "%s\n" "cat" >&6; } ;; +esac + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $@%:@ != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args. +set dummy ${ac_tool_prefix}clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion -version; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +fi +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +printf %s "checking whether $CC understands -c and -o together... " >&6; } +if test ${am_cv_prog_cc_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +depcc="$CC" am_compiler_list= + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +printf %s "checking dependency style of $depcc... " >&6; } +if test ${am_cv_CC_dependencies_compiler_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +printf %s "checking for a sed that does not truncate output... " >&6; } +if test ${ac_cv_path_SED+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in sed gsed + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +printf "%s\n" "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in grep ggrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +printf %s "checking for fgrep... " >&6; } +if test ${ac_cv_path_FGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in fgrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +printf "%s\n" "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +@%:@ Check whether --with-gnu-ld was given. +if test ${with_gnu_ld+y} +then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else $as_nop + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +printf %s "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "checking for GNU ld... " >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +printf %s "checking for non-GNU ld... " >&6; } +fi +if test ${lt_cv_path_LD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +printf "%s\n" "$LD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +printf %s "checking if the linker ($LD) is GNU ld... " >&6; } +if test ${lt_cv_prog_gnu_ld+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if test ${lt_cv_path_NM+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +printf "%s\n" "$lt_cv_path_NM" >&6; } +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + if test -n "$ac_tool_prefix"; then + for ac_prog in dumpbin "link -dump" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DUMPBIN+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +printf "%s\n" "$DUMPBIN" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in dumpbin "link -dump" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DUMPBIN+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +printf "%s\n" "$ac_ct_DUMPBIN" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +printf %s "checking the name lister ($NM) interface... " >&6; } +if test ${lt_cv_nm_interface+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +printf "%s\n" "$lt_cv_nm_interface" >&6; } + +# find the maximum length of command line arguments +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +printf %s "checking the maximum length of command line arguments... " >&6; } +if test ${lt_cv_sys_max_cmd_len+y} +then : + printf %s "(cached) " >&6 +else $as_nop + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n "$lt_cv_sys_max_cmd_len"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +printf %s "checking how to convert $build file names to $host format... " >&6; } +if test ${lt_cv_to_host_file_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac + +fi + +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; } + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +printf %s "checking how to convert $build file names to toolchain format... " >&6; } +if test ${lt_cv_to_tool_file_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac + +fi + +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +printf %s "checking for $LD option to reload object files... " >&6; } +if test ${lt_cv_ld_reload_flag+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_ld_reload_flag='-r' +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test yes != "$GCC"; then + reload_cmds=false + fi + ;; + darwin*) + if test yes = "$GCC"; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. +set dummy ${ac_tool_prefix}file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FILECMD"; then + ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_FILECMD="${ac_tool_prefix}file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +FILECMD=$ac_cv_prog_FILECMD +if test -n "$FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 +printf "%s\n" "$FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_FILECMD"; then + ac_ct_FILECMD=$FILECMD + # Extract the first word of "file", so it can be a program name with args. +set dummy file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FILECMD"; then + ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FILECMD="file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD +if test -n "$ac_ct_FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 +printf "%s\n" "$ac_ct_FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_FILECMD" = x; then + FILECMD=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FILECMD=$ac_ct_FILECMD + fi +else + FILECMD="$ac_cv_prog_FILECMD" +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OBJDUMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +printf "%s\n" "$OBJDUMP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OBJDUMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +printf "%s\n" "$ac_ct_OBJDUMP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +printf %s "checking how to recognize dependent libraries... " >&6; } +if test ${lt_cv_deplibs_check_method+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='$FILECMD -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly* | midnightbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=$FILECMD + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DLLTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +printf "%s\n" "$DLLTOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DLLTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +printf "%s\n" "$ac_ct_DLLTOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +printf %s "checking how to associate runtime and link libraries... " >&6; } +if test ${lt_cv_sharedlib_from_linklib_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + + + + + + + + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + +: ${AR=ar} + + + + + + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS + + + + + + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +printf %s "checking for archiver @FILE support... " >&6; } +if test ${lt_cv_ar_at_file+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +printf "%s\n" "$lt_cv_ar_at_file" >&6; } + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +printf %s "checking command to parse $NM output from $compiler object... " >&6; } +if test ${lt_cv_sys_global_symbol_pipe+y} +then : + printf %s "(cached) " >&6 +else $as_nop + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++ or ICC, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5 + if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT@&t@_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT@&t@_DLSYM_CONST +#else +# define LT@&t@_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT@&t@_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +printf "%s\n" "failed" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +printf %s "checking for sysroot... " >&6; } + +@%:@ Check whether --with-sysroot was given. +if test ${with_sysroot+y} +then : + withval=$with_sysroot; +else $as_nop + with_sysroot=no +fi + + +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +printf "%s\n" "$with_sysroot" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +printf "%s\n" "${lt_sysroot:-no}" >&6; } + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +printf %s "checking for a working dd... " >&6; } +if test ${ac_cv_path_lt_DD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +if test -z "$lt_DD"; then + ac_path_lt_DD_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in dd + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue +if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi + $ac_path_lt_DD_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_lt_DD"; then + : + fi +else + ac_cv_path_lt_DD=$lt_DD +fi + +rm -f conftest.i conftest2.i conftest.out +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +printf "%s\n" "$ac_cv_path_lt_DD" >&6; } + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +printf %s "checking how to truncate binary pipes... " >&6; } +if test ${lt_cv_truncate_bin+y} +then : + printf %s "(cached) " >&6 +else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +printf "%s\n" "$lt_cv_truncate_bin" >&6; } + + + + + + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + +@%:@ Check whether --enable-libtool-lock was given. +if test ${enable_libtool_lock+y} +then : + enableval=$enable_libtool_lock; +fi + +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `$FILECMD conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +printf %s "checking whether the C compiler needs -belf... " >&6; } +if test ${lt_cv_cc_needs_belf+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + lt_cv_cc_needs_belf=yes +else $as_nop + lt_cv_cc_needs_belf=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MANIFEST_TOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +printf "%s\n" "$MANIFEST_TOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL + fi +else + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" +fi + +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if test ${lt_cv_path_mainfest_tool+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi + + + + + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DSYMUTIL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +printf "%s\n" "$DSYMUTIL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DSYMUTIL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +printf "%s\n" "$ac_ct_DSYMUTIL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_NMEDIT+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +printf "%s\n" "$NMEDIT" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_NMEDIT+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +printf "%s\n" "$ac_ct_NMEDIT" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_LIPO+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +printf "%s\n" "$LIPO" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_LIPO+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +printf "%s\n" "$ac_ct_LIPO" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +printf "%s\n" "$OTOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +printf "%s\n" "$ac_ct_OTOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OTOOL64+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +printf "%s\n" "$OTOOL64" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OTOOL64+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +printf "%s\n" "$ac_ct_OTOOL64" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +printf %s "checking for -single_module linker flag... " >&6; } +if test ${lt_cv_apple_cc_single_mod+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +printf %s "checking for -exported_symbols_list linker flag... " >&6; } +if test ${lt_cv_ld_exported_symbols_list+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + lt_cv_ld_exported_symbols_list=yes +else $as_nop + lt_cv_ld_exported_symbols_list=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +printf %s "checking for -force_load linker flag... " >&6; } +if test ${lt_cv_ld_force_load+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 + $AR $AR_FLAGS libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +printf "%s\n" "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[012],*|,*powerpc*-darwin[5-8]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} + +ac_header= ac_cache= +for ac_item in $ac_header_c_list +do + if test $ac_cache; then + ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done + + + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "@%:@define STDC_HEADERS 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes +then : + printf "%s\n" "@%:@define HAVE_DLFCN_H 1" >>confdefs.h + +fi + + + + +func_stripname_cnf () +{ + case @S|@2 in + .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; + *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; + esac +} # func_stripname_cnf + + + + + +# Set options + + + + enable_dlopen=no + + + enable_win32_dll=no + + + @%:@ Check whether --enable-shared was given. +if test ${enable_shared+y} +then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else $as_nop + enable_shared=yes +fi + + + + + + + + + + @%:@ Check whether --enable-static was given. +if test ${enable_static+y} +then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else $as_nop + enable_static=yes +fi + + + + + + + + + + +@%:@ Check whether --with-pic was given. +if test ${with_pic+y} +then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else $as_nop + pic_mode=default +fi + + + + + + + + + @%:@ Check whether --enable-fast-install was given. +if test ${enable_fast_install+y} +then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else $as_nop + enable_fast_install=yes +fi + + + + + + + + + shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[5-9]*,yes) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +printf %s "checking which variant of shared library versioning to provide... " >&6; } + +@%:@ Check whether --with-aix-soname was given. +if test ${with_aix_soname+y} +then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; + *) + as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +else $as_nop + if test ${lt_cv_with_aix_soname+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_with_aix_soname=aix +fi + + with_aix_soname=$lt_cv_with_aix_soname +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +printf "%s\n" "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +printf %s "checking for objdir... " >&6; } +if test ${lt_cv_objdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +printf "%s\n" "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +printf "%s\n" "@%:@define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +printf %s "checking for ${ac_tool_prefix}file... " >&6; } +if test ${lt_cv_path_MAGIC_CMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/${ac_tool_prefix}file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +printf "%s\n" "$MAGIC_CMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +printf %s "checking for file... " >&6; } +if test ${lt_cv_path_MAGIC_CMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +printf "%s\n" "$MAGIC_CMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC=$CC +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if test ${lt_cv_prog_compiler_rtti_exceptions+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + lt_prog_compiler_pic='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC" + ;; +esac + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +printf %s "checking for $compiler option to produce PIC... " >&6; } +if test ${lt_cv_prog_compiler_pic+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if test ${lt_cv_prog_compiler_pic_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test ${lt_cv_prog_compiler_static_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works"; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +printf %s "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +printf "%s\n" "$hard_links" >&6; } + if test no = "$hard_links"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs=no + ;; + esac + + ld_shlibs=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='$wl--export-all-symbols' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + file_list_spec='@' + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test no = "$ld_shlibs"; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct=no + hardcode_direct_absolute=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if test ${lt_cv_aix_libpath_+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if test ${lt_cv_aix_libpath_+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' $wl-bernotok' + allow_undefined_flag=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi + archive_cmds_need_lc=yes + archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec='' + fi + link_all_deplibs=yes + allow_undefined_flag=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +printf %s "checking if $CC understands -b... " >&6; } +if test ${lt_cv_prog_compiler__b+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler__b=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } + +if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +fi + + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if test ${lt_cv_irix_exported_symbol+y} +then : + printf %s "(cached) " >&6 +else $as_nop + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + lt_cv_irix_exported_symbol=yes +else $as_nop + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi + link_all_deplibs=no + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs=yes + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + ;; + esac + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + else + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + file_list_spec='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='$wl-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='$wl-z,text' + allow_undefined_flag='$wl-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +printf "%s\n" "$ld_shlibs" >&6; } +test no = "$ld_shlibs" && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +printf %s "checking whether -lc should be explicitly linked in... " >&6; } +if test ${lt_cv_archive_cmds_need_lc+y} +then : + printf %s "(cached) " >&6 +else $as_nop + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +printf %s "checking dynamic linker characteristics... " >&6; } + +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([A-Za-z]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if test ${lt_cv_shlibpath_overrides_runpath+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null +then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +printf "%s\n" "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +printf %s "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test yes = "$hardcode_automatic"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && + test no != "$hardcode_minus_L"; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +printf "%s\n" "$hardcode_action" >&6; } + +if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +printf %s "checking for dlopen in -ldl... " >&6; } +if test ${ac_cv_lib_dl_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main (void) +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dl_dlopen=yes +else $as_nop + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes +then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else $as_nop + + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes +then : + lt_cv_dlopen=shl_load +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +printf %s "checking for shl_load in -ldld... " >&6; } +if test ${ac_cv_lib_dld_shl_load+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char shl_load (); +int +main (void) +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dld_shl_load=yes +else $as_nop + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes +then : + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +else $as_nop + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes +then : + lt_cv_dlopen=dlopen +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +printf %s "checking for dlopen in -ldl... " >&6; } +if test ${ac_cv_lib_dl_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main (void) +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dl_dlopen=yes +else $as_nop + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes +then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +printf %s "checking for dlopen in -lsvld... " >&6; } +if test ${ac_cv_lib_svld_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main (void) +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_svld_dlopen=yes +else $as_nop + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes +then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +printf %s "checking for dld_link in -ldld... " >&6; } +if test ${ac_cv_lib_dld_dld_link+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dld_link (); +int +main (void) +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dld_dld_link=yes +else $as_nop + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes +then : + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +printf %s "checking whether a program can dlopen itself... " >&6; } +if test ${lt_cv_dlopen_self+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +printf "%s\n" "$lt_cv_dlopen_self" >&6; } + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +printf %s "checking whether a statically linked program can dlopen itself... " >&6; } +if test ${lt_cv_dlopen_self_static+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +printf %s "checking whether stripping libraries is possible... " >&6; } +if test -z "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +else + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + ;; + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + ;; + esac + fi +fi + + + + + + + + + + + + + # Report what library types will actually be built + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +printf %s "checking if libtool supports shared libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +printf "%s\n" "$can_build_shared" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +printf %s "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +printf "%s\n" "$enable_shared" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +printf %s "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +printf "%s\n" "$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC + + if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +printf %s "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if test ${ac_cv_prog_CXXCPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CXX needs to be expanded + for CXXCPP in "$CXX -E" cpp /lib/cpp + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +printf "%s\n" "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +else + _lt_caught_CXX_error=yes +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +reload_flag_CXX=$reload_flag +reload_cmds_CXX=$reload_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_caught_CXX_error"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + compiler_CXX=$CC + func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test yes = "$GXX"; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi + + if test yes = "$GXX"; then + # Set up default GNU C++ configuration + + + +@%:@ Check whether --with-gnu-ld was given. +if test ${with_gnu_ld+y} +then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else $as_nop + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +printf %s "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "checking for GNU ld... " >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +printf %s "checking for non-GNU ld... " >&6; } +fi +if test ${lt_cv_path_LD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +printf "%s\n" "$LD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +printf %s "checking if the linker ($LD) is GNU ld... " >&6; } +if test ${lt_cv_prog_gnu_ld+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test yes = "$with_gnu_ld"; then + archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='$wl' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + file_list_spec_CXX='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_CXX=no + hardcode_direct_absolute_CXX=no + ;; + esac + + if test yes = "$GXX"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_CXX='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + always_export_symbols_CXX=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + # The "-G" linker flag allows undefined symbols. + no_undefined_flag_CXX='-bernotok' + # Determine the default libpath from the value encoded in an empty + # executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if test ${lt_cv_aix_libpath__CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if test ${lt_cv_aix_libpath__CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' $wl-bernotok' + allow_undefined_flag_CXX=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + fi + archive_cmds_need_lc_CXX=yes + archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl* | ,icl* | no,icl*) + # Native MSVC or ICC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_CXX=' ' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=yes + file_list_spec_CXX='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' + enable_shared_with_static_runtimes_CXX=yes + # Don't use ranlib + old_postinstall_cmds_CXX='chmod 644 $oldlib' + postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + export_dynamic_flag_spec_CXX='$wl--export-all-symbols' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + + + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_CXX='' + fi + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_CXX="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds_CXX="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + if test yes != "$lt_cv_apple_cc_single_mod"; then + archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" + archive_expsym_cmds_CXX="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" + fi + + else + ld_shlibs_CXX=no + fi + + ;; + + os2*) + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_minus_L_CXX=yes + allow_undefined_flag_CXX=unsupported + shrext_cmds=.dll + archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_CXX=yes + file_list_spec_CXX='@' + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; + + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + + haiku*) + archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_CXX=yes + ;; + + hpux9*) + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='$wl-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + export_dynamic_flag_spec_CXX='$wl-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + hardcode_libdir_separator_CXX=: + inherit_rpath_CXX=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [1-5].* | *pgcpp\ [1-5].*) + prelink_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + old_archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object_CXX=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + ld_shlibs_CXX=yes + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + hardcode_direct_absolute_CXX=yes + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='$wl-E' + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + ld_shlibs_CXX=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + case $host in + osf3*) + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + ;; + *) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ + $RM $lib.exp' + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + ;; + esac + + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes,no = "$GXX,$with_gnu_ld"; then + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + case $host in + osf3*) + archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + *) + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test yes,no = "$GXX,$with_gnu_ld"; then + no_undefined_flag_CXX=' $wl-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + else + # g++ 2.7 appears to require '-G' NOT '-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + fi + + hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='$wl-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_CXX='$wl-z,text' + allow_undefined_flag_CXX='$wl-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ + '"$old_archive_cmds_CXX" + reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ + '"$reload_cmds_CXX" + ;; + *) + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +printf "%s\n" "$ld_shlibs_CXX" >&6; } + test no = "$ld_shlibs_CXX" && can_build_shared=no + + GCC_CXX=$GXX + LD_CXX=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF + + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX=$prev$p + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX=$prev$p + else + postdeps_CXX="${postdeps_CXX} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test no = "$pre_test_object_deps_done"; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX=$p + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX=$p + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + + + # C++ specific cases for pic, static, wl, etc. + if test yes = "$GXX"; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + lt_prog_compiler_pic_CXX='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_CXX='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_CXX='$wl-static' + ;; + esac + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64, which still supported -KPIC. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX@&t@ -DPIC" + ;; +esac + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +printf %s "checking for $compiler option to produce PIC... " >&6; } +if test ${lt_cv_prog_compiler_pic_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_CXX" >&6; } +lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if test ${lt_cv_prog_compiler_pic_works_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test ${lt_cv_prog_compiler_static_works_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_static_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then + : +else + lt_prog_compiler_static_CXX= +fi + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +printf %s "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +printf "%s\n" "$hard_links" >&6; } + if test no = "$hard_links"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + case $host_os in + aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX=$ltdll_cmds + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl* | icl*) + exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + ;; + esac + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +printf "%s\n" "$ld_shlibs_CXX" >&6; } +test no = "$ld_shlibs_CXX" && can_build_shared=no + +with_gnu_ld_CXX=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +printf %s "checking whether -lc should be explicitly linked in... " >&6; } +if test ${lt_cv_archive_cmds_need_lc_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_CXX=no + else + lt_cv_archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 +printf "%s\n" "$lt_cv_archive_cmds_need_lc_CXX" >&6; } + archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +printf %s "checking dynamic linker characteristics... " >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec_CXX='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if test ${lt_cv_shlibpath_overrides_runpath+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null +then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +printf "%s\n" "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +printf %s "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || + test yes = "$hardcode_automatic_CXX"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_CXX" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && + test no != "$hardcode_minus_L_CXX"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 +printf "%s\n" "$hardcode_action_CXX" >&6; } + +if test relink = "$hardcode_action_CXX" || + test yes = "$inherit_rpath_CXX"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test yes != "$_lt_caught_CXX_error" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +@%:@ Check whether --enable-optimization was given. +if test ${enable_optimization+y} +then : + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else $as_nop + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + +printf "%s\n" "@%:@define NDEBUG /**/" >>confdefs.h + +fi + +@%:@ Check whether --enable-full-debug was given. +if test ${enable_full_debug+y} +then : + enableval=$enable_full_debug; case $enableval in + yes) enable_full_debug=yes;; + no) enable_full_debug=no;; + *) enable_full_debug=no;; esac +else $as_nop + enable_full_debug=no +fi + +if test "$enable_full_debug" = yes; then + +printf "%s\n" "@%:@define FULL_DEBUG /**/" >>confdefs.h + +fi + +@%:@ Check whether --enable-fast-compilation was given. +if test ${enable_fast_compilation+y} +then : + enableval=$enable_fast_compilation; +else $as_nop + enable_fast_compilation="yes" +fi + +if test "$enable_fast_compilation" = "yes"; then + +printf "%s\n" "@%:@define FAST_COMPILATION /**/" >>confdefs.h + +fi + if test "$enable_fast_compilation" = "yes"; then + FAST_COMPILATION_TRUE= + FAST_COMPILATION_FALSE='#' +else + FAST_COMPILATION_TRUE='#' + FAST_COMPILATION_FALSE= +fi + + +@%:@ Check whether --enable-tests was given. +if test ${enable_tests+y} +then : + enableval=$enable_tests; +else $as_nop + enable_tests="no" +fi + +if test "$enable_tests" = "yes"; then + +printf "%s\n" "@%:@define COMPILE_TESTS /**/" >>confdefs.h + +fi + if test "$enable_tests" = "yes"; then + COMPILE_TESTS_TRUE= + COMPILE_TESTS_FALSE='#' +else + COMPILE_TESTS_TRUE='#' + COMPILE_TESTS_FALSE= +fi + + +# Autoupdate added the next two lines to ensure that your configure +# script's behavior did not change. They are probably safe to remove. + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler recognizes bool as a built-in type" >&5 +printf %s "checking whether the compiler recognizes bool as a built-in type... " >&6; } +if test ${ac_cv_cxx_bool+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int f(int x){return 1;} +int f(char x){return 1;} +int f(bool x){return 1;} + +int +main (void) +{ +bool b = true; return f(b); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_bool=yes +else $as_nop + ac_cv_cxx_bool=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_bool" >&5 +printf "%s\n" "$ac_cv_cxx_bool" >&6; } +if test "$ac_cv_cxx_bool" = yes; then + +printf "%s\n" "@%:@define HAVE_BOOL /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 +printf %s "checking for long long int... " >&6; } +if test ${ob_cv_cxx_long_long+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +long long int i; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ob_cv_cxx_long_long=yes +else $as_nop + ob_cv_cxx_long_long=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ob_cv_cxx_long_long" >&5 +printf "%s\n" "$ob_cv_cxx_long_long" >&6; } +if test $ob_cv_cxx_long_long = yes; then + +printf "%s\n" "@%:@define HAVE_LONG_LONG /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports isfinite macro" >&5 +printf %s "checking whether the compiler supports isfinite macro... " >&6; } +if test ${ac_cv_cxx_have_isfinite+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _GNU_SOURCE + #include +int +main (void) +{ +double d=0; int n = isfinite(d); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_isfinite=yes +else $as_nop + ac_cv_cxx_have_isfinite=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_isfinite" >&5 +printf "%s\n" "$ac_cv_cxx_have_isfinite" >&6; } +if test $ac_cv_cxx_have_isfinite = yes; then + +printf "%s\n" "@%:@define HAVE_ISFINITE /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports basic templates" >&5 +printf %s "checking whether the compiler supports basic templates... " >&6; } +if test ${ac_cv_cxx_templates+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +template class A {public:A(){}}; +template void f(const A& ){} +int +main (void) +{ + +A d; A i; f(d); f(i); return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_templates=yes +else $as_nop + ac_cv_cxx_templates=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_templates" >&5 +printf "%s\n" "$ac_cv_cxx_templates" >&6; } +if test "$ac_cv_cxx_templates" = yes; then + +printf "%s\n" "@%:@define HAVE_TEMPLATES /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler recognizes typename" >&5 +printf %s "checking whether the compiler recognizes typename... " >&6; } +if test ${ac_cv_cxx_typename+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +templateclass X {public:X(){}}; +int +main (void) +{ +X z; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_typename=yes +else $as_nop + ac_cv_cxx_typename=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_typename" >&5 +printf "%s\n" "$ac_cv_cxx_typename" >&6; } +if test "$ac_cv_cxx_typename" = yes; then + +printf "%s\n" "@%:@define HAVE_TYPENAME /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports function matching with argument types which are template scope-qualified" >&5 +printf %s "checking whether the compiler supports function matching with argument types which are template scope-qualified... " >&6; } +if test ${ac_cv_cxx_template_scoped_argument_matching+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef HAVE_TYPENAME + #define typename +#endif +template class A { public : typedef X W; }; +template class B {}; +template void operator+(B d1, typename Y::W d2) {} + +int +main (void) +{ +B > z; z + 0.5f; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_template_scoped_argument_matching=yes +else $as_nop + ac_cv_cxx_template_scoped_argument_matching=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_template_scoped_argument_matching" >&5 +printf "%s\n" "$ac_cv_cxx_template_scoped_argument_matching" >&6; } +if test "$ac_cv_cxx_template_scoped_argument_matching" = yes; then + +printf "%s\n" "@%:@define HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports default template parameters" >&5 +printf %s "checking whether the compiler supports default template parameters... " >&6; } +if test ${ac_cv_cxx_default_template_parameters+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +template class A {public: int f() {return 0;}}; + +int +main (void) +{ +A a; return a.f(); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_default_template_parameters=yes +else $as_nop + ac_cv_cxx_default_template_parameters=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_default_template_parameters" >&5 +printf "%s\n" "$ac_cv_cxx_default_template_parameters" >&6; } +if test "$ac_cv_cxx_default_template_parameters" = yes; then + +printf "%s\n" "@%:@define HAVE_DEFAULT_TEMPLATE_PARAMETERS /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports template-qualified base class specifiers" >&5 +printf %s "checking whether the compiler supports template-qualified base class specifiers... " >&6; } +if test ${ac_cv_cxx_template_qualified_base_class+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef HAVE_TYPENAME + #define typename +#endif +class Base1 { public : int f () const { return 1; } }; +class Base2 { public : int f () const { return 0; } }; +template struct base_trait { typedef Base1 base; }; + struct base_trait { typedef Base2 base; }; +template class Weird : public base_trait::base +{ public : + typedef typename base_trait::base base; + int g () const { return f (); } +}; +int +main (void) +{ + Weird z; return z.g (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_template_qualified_base_class=yes +else $as_nop + ac_cv_cxx_template_qualified_base_class=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_template_qualified_base_class" >&5 +printf "%s\n" "$ac_cv_cxx_template_qualified_base_class" >&6; } +if test "$ac_cv_cxx_template_qualified_base_class" = yes; then + +printf "%s\n" "@%:@define HAVE_TEMPLATE_QUALIFIED_BASE_CLASS /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports template-qualified return types" >&5 +printf %s "checking whether the compiler supports template-qualified return types... " >&6; } +if test ${ac_cv_cxx_template_qualified_return_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef HAVE_TYPENAME + #define typename +#endif +template struct promote_trait { typedef X T; }; +template<> struct promote_trait { typedef float T; }; +template class A { public : A () {} }; +template +A::T> operator+ (const A&, const A&) +{ return A::T>(); } + +int +main (void) +{ +A x; A y; A z = x + y; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_template_qualified_return_type=yes +else $as_nop + ac_cv_cxx_template_qualified_return_type=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_template_qualified_return_type" >&5 +printf "%s\n" "$ac_cv_cxx_template_qualified_return_type" >&6; } +if test "$ac_cv_cxx_template_qualified_return_type" = yes; then + +printf "%s\n" "@%:@define HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports const_cast<>" >&5 +printf %s "checking whether the compiler supports const_cast<>... " >&6; } +if test ${ac_cv_cxx_const_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +int x = 0;const int& y = x;int& z = const_cast(y);return z; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_const_cast=yes +else $as_nop + ac_cv_cxx_const_cast=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_const_cast" >&5 +printf "%s\n" "$ac_cv_cxx_const_cast" >&6; } +if test "$ac_cv_cxx_const_cast" = yes; then + +printf "%s\n" "@%:@define HAVE_CONST_CAST /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports reinterpret_cast<>" >&5 +printf %s "checking whether the compiler supports reinterpret_cast<>... " >&6; } +if test ${ac_cv_cxx_reinterpret_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +class Unrelated { public : Unrelated () {} }; +int g (Unrelated&) { return 0; } +int +main (void) +{ + +Derived d;Base& b=d;Unrelated& e=reinterpret_cast(b);return g(e); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_reinterpret_cast=yes +else $as_nop + ac_cv_cxx_reinterpret_cast=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_reinterpret_cast" >&5 +printf "%s\n" "$ac_cv_cxx_reinterpret_cast" >&6; } +if test "$ac_cv_cxx_reinterpret_cast" = yes; then + +printf "%s\n" "@%:@define HAVE_REINTERPRET_CAST /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports static_cast<>" >&5 +printf %s "checking whether the compiler supports static_cast<>... " >&6; } +if test ${ac_cv_cxx_static_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +class Base { public : Base () {} virtual void f () = 0; }; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +int g (Derived&) { return 0; } +int +main (void) +{ + +Derived d; Base& b = d; Derived& s = static_cast (b); return g (s); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_static_cast=yes +else $as_nop + ac_cv_cxx_static_cast=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_static_cast" >&5 +printf "%s\n" "$ac_cv_cxx_static_cast" >&6; } +if test "$ac_cv_cxx_static_cast" = yes; then + +printf "%s\n" "@%:@define HAVE_STATIC_CAST /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports dynamic_cast<>" >&5 +printf %s "checking whether the compiler supports dynamic_cast<>... " >&6; } +if test ${ac_cv_cxx_dynamic_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +int +main (void) +{ + +Derived d; Base& b=d; return dynamic_cast(&b) ? 0 : 1; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_dynamic_cast=yes +else $as_nop + ac_cv_cxx_dynamic_cast=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_dynamic_cast" >&5 +printf "%s\n" "$ac_cv_cxx_dynamic_cast" >&6; } +if test "$ac_cv_cxx_dynamic_cast" = yes; then + +printf "%s\n" "@%:@define HAVE_DYNAMIC_CAST /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports exceptions" >&5 +printf %s "checking whether the compiler supports exceptions... " >&6; } +if test ${ac_cv_cxx_exceptions+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +try { throw 1; } catch (int i) { return i; } + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_exceptions=yes +else $as_nop + ac_cv_cxx_exceptions=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_exceptions" >&5 +printf "%s\n" "$ac_cv_cxx_exceptions" >&6; } +if test "$ac_cv_cxx_exceptions" = yes; then + +printf "%s\n" "@%:@define HAVE_EXCEPTIONS /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports the explicit keyword" >&5 +printf %s "checking whether the compiler supports the explicit keyword... " >&6; } +if test ${ac_cv_cxx_explicit+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +class A{public:explicit A(double){}}; +int +main (void) +{ +double c = 5.0;A x(c);return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_explicit=yes +else $as_nop + ac_cv_cxx_explicit=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_explicit" >&5 +printf "%s\n" "$ac_cv_cxx_explicit" >&6; } +if test "$ac_cv_cxx_explicit" = yes; then + +printf "%s\n" "@%:@define HAVE_EXPLICIT /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler implements namespaces" >&5 +printf %s "checking whether the compiler implements namespaces... " >&6; } +if test ${ac_cv_cxx_namespaces+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +namespace Outer { namespace Inner { int i = 0; }} +int +main (void) +{ +using namespace Outer::Inner; return i; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_namespaces=yes +else $as_nop + ac_cv_cxx_namespaces=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_namespaces" >&5 +printf "%s\n" "$ac_cv_cxx_namespaces" >&6; } +if test "$ac_cv_cxx_namespaces" = yes; then + +printf "%s\n" "@%:@define HAVE_NAMESPACES /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports Run-Time Type Identification" >&5 +printf %s "checking whether the compiler supports Run-Time Type Identification... " >&6; } +if test ${ac_cv_cxx_rtti+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +class Base { public : + Base () {} + virtual int f () { return 0; } + }; +class Derived : public Base { public : + Derived () {} + virtual int f () { return 1; } + }; + +int +main (void) +{ +Derived d; +Base *ptr = &d; +return typeid (*ptr) == typeid (Derived); + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_rtti=yes +else $as_nop + ac_cv_cxx_rtti=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_rtti" >&5 +printf "%s\n" "$ac_cv_cxx_rtti" >&6; } +if test "$ac_cv_cxx_rtti" = yes; then + +printf "%s\n" "@%:@define HAVE_RTTI /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports ISO C++ standard library" >&5 +printf %s "checking whether the compiler supports ISO C++ standard library... " >&6; } +if test ${ac_cv_cxx_have_std+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main (void) +{ +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_std=yes +else $as_nop + ac_cv_cxx_have_std=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_std" >&5 +printf "%s\n" "$ac_cv_cxx_have_std" >&6; } +if test "$ac_cv_cxx_have_std" = yes; then + +printf "%s\n" "@%:@define HAVE_STD /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports Standard Template Library" >&5 +printf %s "checking whether the compiler supports Standard Template Library... " >&6; } +if test ${ac_cv_cxx_have_stl+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main (void) +{ +list x; x.push_back(5); +list::iterator iter = x.begin(); if (iter != x.end()) ++iter; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_stl=yes +else $as_nop + ac_cv_cxx_have_stl=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_stl" >&5 +printf "%s\n" "$ac_cv_cxx_have_stl" >&6; } +if test "$ac_cv_cxx_have_stl" = yes; then + +printf "%s\n" "@%:@define HAVE_STL /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler has numeric_limits" >&5 +printf %s "checking whether the compiler has numeric_limits... " >&6; } +if test ${ac_cv_cxx_have_numeric_limits+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main (void) +{ +double e = numeric_limits::epsilon(); return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_numeric_limits=yes +else $as_nop + ac_cv_cxx_have_numeric_limits=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_numeric_limits" >&5 +printf "%s\n" "$ac_cv_cxx_have_numeric_limits" >&6; } +if test "$ac_cv_cxx_have_numeric_limits" = yes; then + +printf "%s\n" "@%:@define HAVE_NUMERIC_LIMITS /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler has stringstream" >&5 +printf %s "checking whether the compiler has stringstream... " >&6; } +if test ${ac_cv_cxx_have_sstream+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main (void) +{ +stringstream message; message << "Hello"; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_sstream=yes +else $as_nop + ac_cv_cxx_have_sstream=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_sstream" >&5 +printf "%s\n" "$ac_cv_cxx_have_sstream" >&6; } +if test "$ac_cv_cxx_have_sstream" = yes; then + +printf "%s\n" "@%:@define HAVE_SSTREAM /**/" >>confdefs.h + +fi + + +@%:@ Check whether --enable-hashset was given. +if test ${enable_hashset+y} +then : + enableval=$enable_hashset; +else $as_nop + enable_hashset="no" +fi + +if test "$enable_hashset" = "yes"; then + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports std::hash_set" >&5 +printf %s "checking whether the compiler supports std::hash_set... " >&6; } +if test ${ac_cv_cxx_std_hashset+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using std::hash_set; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_std_hashset=yes +else $as_nop + ac_cv_cxx_std_hashset=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_std_hashset" >&5 +printf "%s\n" "$ac_cv_cxx_std_hashset" >&6; } +if test "ac_cv_cxx_std_hashset" = yes; then + +printf "%s\n" "@%:@define HAVE_STD_HASHSET /**/" >>confdefs.h + +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports __gnu_cxx::hash_set" >&5 +printf %s "checking whether the compiler supports __gnu_cxx::hash_set... " >&6; } +if test ${ac_cv_cxx_gnucxx_hashset+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using __gnu_cxx::hash_set; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_gnucxx_hashset=yes +else $as_nop + ac_cv_cxx_gnucxx_hashset=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_gnucxx_hashset" >&5 +printf "%s\n" "$ac_cv_cxx_gnucxx_hashset" >&6; } +if test "$ac_cv_cxx_gnucxx_hashset" = yes; then + +printf "%s\n" "@%:@define HAVE_GNUCXX_HASHSET /**/" >>confdefs.h + +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports stdext::hash_set" >&5 +printf %s "checking whether the compiler supports stdext::hash_set... " >&6; } +if test ${ac_cv_cxx_stdext_hashset+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using stdext::hash_set; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_stdext_hashset=yes +else $as_nop + ac_cv_cxx_stdext_hashset=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_stdext_hashset" >&5 +printf "%s\n" "$ac_cv_cxx_stdext_hashset" >&6; } +if test "ac_cv_cxx_stdext_hashset" = yes; then + +printf "%s\n" "@%:@define HAVE_STDEXT_HASHSET /**/" >>confdefs.h + +fi + +fi +@%:@ Check whether --enable-hashmap was given. +if test ${enable_hashmap+y} +then : + enableval=$enable_hashmap; +else $as_nop + enable_hashmap="no" +fi + +if test "$enable_hashmap" = "yes"; then + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports std::hash_map" >&5 +printf %s "checking whether the compiler supports std::hash_map... " >&6; } +if test ${ac_cv_cxx_std_hashmap+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using std::hash_map; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_std_hashmap=yes +else $as_nop + ac_cv_cxx_std_hashmap=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_std_hashmap" >&5 +printf "%s\n" "$ac_cv_cxx_std_hashmap" >&6; } +if test "ac_cv_cxx_std_hashmap" = yes; then + +printf "%s\n" "@%:@define HAVE_STD_HASHMAP /**/" >>confdefs.h + +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports __gnu_cxx::hash_map" >&5 +printf %s "checking whether the compiler supports __gnu_cxx::hash_map... " >&6; } +if test ${ac_cv_cxx_gnucxx_hashmap+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using __gnu_cxx::hash_map; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_gnucxx_hashmap=yes +else $as_nop + ac_cv_cxx_gnucxx_hashmap=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_gnucxx_hashmap" >&5 +printf "%s\n" "$ac_cv_cxx_gnucxx_hashmap" >&6; } +if test "$ac_cv_cxx_gnucxx_hashmap" = yes; then + +printf "%s\n" "@%:@define HAVE_GNUCXX_HASHMAP /**/" >>confdefs.h + +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports stdext::hash_map" >&5 +printf %s "checking whether the compiler supports stdext::hash_map... " >&6; } +if test ${ac_cv_cxx_stdext_hashmap+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using stdext::hash_map; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_stdext_hashmap=yes +else $as_nop + ac_cv_cxx_stdext_hashmap=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_stdext_hashmap" >&5 +printf "%s\n" "$ac_cv_cxx_stdext_hashmap" >&6; } +if test "ac_cv_cxx_stdext_hashmap" = yes; then + +printf "%s\n" "@%:@define HAVE_STDEXT_HASHMAP /**/" >>confdefs.h + +fi + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /dev/urandom" >&5 +printf %s "checking for /dev/urandom... " >&6; } +if test ${ac_cv_file__dev_urandom+y} +then : + printf %s "(cached) " >&6 +else $as_nop + test "$cross_compiling" = yes && + as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 +if test -r "/dev/urandom"; then + ac_cv_file__dev_urandom=yes +else + ac_cv_file__dev_urandom=no +fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__dev_urandom" >&5 +printf "%s\n" "$ac_cv_file__dev_urandom" >&6; } +if test "x$ac_cv_file__dev_urandom" = xyes +then : + +printf "%s\n" "@%:@define HAVE_DEV_URANDOM /**/" >>confdefs.h + +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +printf %s "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char pthread_join (); +int +main (void) +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + acx_pthread_ok=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_ok" >&5 +printf "%s\n" "$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all, and "pthread-config" +# which is a program returning the flags for the Pth emulation library. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5 +printf %s "checking whether pthreads work without any flags... " >&6; } + ;; + + -*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5 +printf %s "checking whether pthreads work with $flag... " >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + pthread-config) + # Extract the first word of "pthread-config", so it can be a program name with args. +set dummy pthread-config; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_acx_pthread_config+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$acx_pthread_config"; then + ac_cv_prog_acx_pthread_config="$acx_pthread_config" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_acx_pthread_config="yes" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no" +fi +fi +acx_pthread_config=$ac_cv_prog_acx_pthread_config +if test -n "$acx_pthread_config"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_config" >&5 +printf "%s\n" "$acx_pthread_config" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + if test x"$acx_pthread_config" = xno; then continue; fi + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; + + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5 +printf %s "checking for the pthreads library -l$flag... " >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + acx_pthread_ok=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_ok" >&5 +printf "%s\n" "$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5 +printf %s "checking for joinable pthread attribute... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ok=PTHREAD_CREATE_JOINABLE +else $as_nop + ok=unknown +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ok=PTHREAD_CREATE_UNDETACHED +else $as_nop + ok=unknown +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +printf "%s\n" "@%:@define PTHREAD_CREATE_JOINABLE \$ok" >>confdefs.h + + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${ok}" >&5 +printf "%s\n" "${ok}" >&6; } + if test x"$ok" = xunknown; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: we do not know how to create joinable pthreads" >&5 +printf "%s\n" "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5 +printf %s "checking if more special flags are required for pthreads... " >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${flag}" >&5 +printf "%s\n" "${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_PTHREAD_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_PTHREAD_CC="cc_r" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5 +printf "%s\n" "$PTHREAD_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +printf "%s\n" "@%:@define HAVE_PTHREAD 1" >>confdefs.h + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +# +# Handle user hints +# +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if zlib is wanted" >&5 +printf %s "checking if zlib is wanted... " >&6; } + +@%:@ Check whether --with-zlib was given. +if test ${with_zlib+y} +then : + withval=$with_zlib; if test "$withval" != no ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + ZLIB_HOME="$withval" +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +else $as_nop + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inflateEnd in -lz" >&5 +printf %s "checking for inflateEnd in -lz... " >&6; } +if test ${ac_cv_lib_z_inflateEnd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char inflateEnd (); +int +main (void) +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_z_inflateEnd=yes +else $as_nop + ac_cv_lib_z_inflateEnd=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflateEnd" >&5 +printf "%s\n" "$ac_cv_lib_z_inflateEnd" >&6; } +if test "x$ac_cv_lib_z_inflateEnd" = xyes +then : + zlib_cv_libz=yes +else $as_nop + zlib_cv_libz=no +fi + + ac_fn_c_check_header_compile "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" +if test "x$ac_cv_header_zlib_h" = xyes +then : + zlib_cv_zlib_h=yes +else $as_nop + zlib_cv_zlib_h=no +fi + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inflateEnd in -lz" >&5 +printf %s "checking for inflateEnd in -lz... " >&6; } +if test ${ac_cv_lib_z_inflateEnd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int inflateEnd (); +} +int +main (void) +{ +return conftest::inflateEnd (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_z_inflateEnd=yes +else $as_nop + ac_cv_lib_z_inflateEnd=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflateEnd" >&5 +printf "%s\n" "$ac_cv_lib_z_inflateEnd" >&6; } +if test "x$ac_cv_lib_z_inflateEnd" = xyes +then : + printf "%s\n" "@%:@define HAVE_LIBZ 1" >>confdefs.h + + LIBS="-lz $LIBS" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking zlib in ${ZLIB_HOME}" >&5 +printf %s "checking zlib in ${ZLIB_HOME}... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking zlib in ${ZLIB_HOME}" >&5 +printf %s "checking zlib in ${ZLIB_HOME}... " >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +printf "%s\n" "failed" >&6; } + fi +fi + + + +if test "$ac_cv_cxx_templates" = no; then + as_fn_error $? "\"sorry, templates support needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_template_scoped_argument_matching" = no; then + as_fn_error $? "\"sorry, template scoped argument matching support needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_default_template_parameters" = no; then + as_fn_error $? "\"sorry, default template parameters support needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_typename" = no; then + as_fn_error $? "\"sorry, typename qualifier needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_exceptions" = no; then + as_fn_error $? "\"sorry, support for exception handling needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_namespaces" = no; then + as_fn_error $? "\"sorry, namespaces support needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_have_std" = no; then + as_fn_error $? "\"sorry, namespace std needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_have_stl" = no; then + as_fn_error $? "\"sorry, no standard template library found\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_have_sstream" = no; then + as_fn_error $? "\"sorry, no sstream found. If you are using gcc less or equal to 2.95.2, see http://gcc.gnu.org/faq.html#2.95sstream to patch your compiler\"" "$LINENO" 5 +fi + +PACC_VERSION='1.3.1b' + +if test "$zlib_cv_libz" = yes; then + CPPFLAGS="$CPPFLAGS -DPACC_ZLIB" +fi + +ac_config_files="$ac_config_files Makefile PACC/Makefile PACC/Math/Makefile PACC/SVG/Makefile PACC/Socket/Makefile PACC/Threading/Makefile PACC/Util/Makefile PACC/XML/Makefile beagle/Makefile beagle/include/Makefile beagle/include/beagle/Makefile beagle/src/Makefile beagle/GA/Makefile beagle/GA/include/Makefile beagle/GA/include/beagle/Makefile beagle/GA/include/beagle/GA/Makefile beagle/GA/src/Makefile beagle/GP/Makefile beagle/GP/include/Makefile beagle/GP/include/beagle/Makefile beagle/GP/include/beagle/GP/Makefile beagle/GP/src/Makefile beagle/Coev/Makefile beagle/Coev/include/Makefile beagle/Coev/include/beagle/Makefile beagle/Coev/include/beagle/Coev/Makefile beagle/Coev/src/Makefile tests/Makefile tests/Common/Makefile tests/Exception/Makefile tests/GA/Makefile tests/GA/optfct/Makefile tests/GP/Makefile tests/GP/FitnessTestGPIndividual/Makefile tests/GP/ReadGPIndividual/Makefile tests/GP/WriteRandomGPIndividual/Makefile tests/LinGP/Makefile tests/LinGP/include/Makefile tests/LinGP/include/beagle/Makefile tests/LinGP/include/beagle/LinGP/Makefile tests/LinGP/src/Makefile tests/Roulette/Makefile tests/Thread/Makefile tests/TransportTCPIPOp/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIB@&t@OBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +printf %s "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 +printf "%s\n" "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${FAST_COMPILATION_TRUE}" && test -z "${FAST_COMPILATION_FALSE}"; then + as_fn_error $? "conditional \"FAST_COMPILATION\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${COMPILE_TESTS_TRUE}" && test -z "${COMPILE_TESTS_FALSE}"; then + as_fn_error $? "conditional \"COMPILE_TESTS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else $as_nop + case `(set -o) 2>/dev/null` in @%:@( + *posix*) : + set -o posix ;; @%:@( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in @%:@(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] +@%:@ ---------------------------------------- +@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are +@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the +@%:@ script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status +} @%:@ as_fn_error + + + +@%:@ as_fn_set_status STATUS +@%:@ ----------------------- +@%:@ Set @S|@? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} @%:@ as_fn_set_status + +@%:@ as_fn_exit STATUS +@%:@ ----------------- +@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} @%:@ as_fn_exit + +@%:@ as_fn_unset VAR +@%:@ --------------- +@%:@ Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +@%:@ as_fn_append VAR VALUE +@%:@ ---------------------- +@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take +@%:@ advantage of any shell optimizations that allow amortized linear growth over +@%:@ repeated appends, instead of the typical quadratic growth present in naive +@%:@ implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +@%:@ as_fn_arith ARG... +@%:@ ------------------ +@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the +@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments +@%:@ must be portable across @S|@(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in @%:@((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_@&t@echo='printf %s\n' +as_@&t@echo_n='printf %s' + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +@%:@ as_fn_mkdir_p +@%:@ ------------- +@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} @%:@ as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +@%:@ as_fn_executable_p FILE +@%:@ ----------------------- +@%:@ Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} @%:@ as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by Open BEAGLE $as_me 3.0.3, which was +generated by GNU Autoconf 2.71. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +Open BEAGLE config.status 3.0.3 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + printf "%s\n" "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX +@%:@@%:@ Running $as_me. @%:@@%:@ +_ASBOX + printf "%s\n" "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +PACKAGE="$PACKAGE" +AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' +configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' +predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' +predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' +postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' +reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' +reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +FILECMD \ +OBJDUMP \ +deplibs_check_method \ +file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +DLLTOOL \ +sharedlib_from_linklib_cmd \ +AR \ +archiver_list_spec \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_import \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +lt_cv_nm_interface \ +nm_file_list_spec \ +lt_cv_truncate_bin \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_pic \ +lt_prog_compiler_wl \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +MANIFEST_TOOL \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_separator \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +install_override_mode \ +finish_eval \ +old_striplib \ +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +reload_flag_CXX \ +compiler_CXX \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_pic_CXX \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_static_CXX \ +lt_cv_prog_compiler_c_o_CXX \ +export_dynamic_flag_spec_CXX \ +whole_archive_flag_spec_CXX \ +compiler_needs_object_CXX \ +with_gnu_ld_CXX \ +allow_undefined_flag_CXX \ +no_undefined_flag_CXX \ +hardcode_libdir_flag_spec_CXX \ +hardcode_libdir_separator_CXX \ +exclude_expsyms_CXX \ +include_expsyms_CXX \ +file_list_spec_CXX \ +compiler_lib_search_dirs_CXX \ +predep_objects_CXX \ +postdep_objects_CXX \ +predeps_CXX \ +postdeps_CXX \ +compiler_lib_search_path_CXX; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postlink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +configure_time_dlsearch_path \ +configure_time_lt_sys_library_path \ +reload_cmds_CXX \ +old_archive_cmds_CXX \ +old_archive_from_new_cmds_CXX \ +old_archive_from_expsyms_cmds_CXX \ +archive_cmds_CXX \ +archive_expsym_cmds_CXX \ +module_cmds_CXX \ +module_expsym_cmds_CXX \ +export_symbols_cmds_CXX \ +prelink_cmds_CXX \ +postlink_cmds_CXX; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +ac_aux_dir='$ac_aux_dir' + +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile' + + + + + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config/config-h") CONFIG_HEADERS="$CONFIG_HEADERS config/config-h:config/config-h.in" ;; + "beagle/include/beagle/config.hpp") CONFIG_COMMANDS="$CONFIG_COMMANDS beagle/include/beagle/config.hpp" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "PACC/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Makefile" ;; + "PACC/Math/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Math/Makefile" ;; + "PACC/SVG/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/SVG/Makefile" ;; + "PACC/Socket/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Socket/Makefile" ;; + "PACC/Threading/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Threading/Makefile" ;; + "PACC/Util/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Util/Makefile" ;; + "PACC/XML/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/XML/Makefile" ;; + "beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Makefile" ;; + "beagle/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/include/Makefile" ;; + "beagle/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/include/beagle/Makefile" ;; + "beagle/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/src/Makefile" ;; + "beagle/GA/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/Makefile" ;; + "beagle/GA/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/Makefile" ;; + "beagle/GA/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/beagle/Makefile" ;; + "beagle/GA/include/beagle/GA/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/beagle/GA/Makefile" ;; + "beagle/GA/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/src/Makefile" ;; + "beagle/GP/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/Makefile" ;; + "beagle/GP/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/Makefile" ;; + "beagle/GP/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/beagle/Makefile" ;; + "beagle/GP/include/beagle/GP/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/beagle/GP/Makefile" ;; + "beagle/GP/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/src/Makefile" ;; + "beagle/Coev/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/Makefile" ;; + "beagle/Coev/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/Makefile" ;; + "beagle/Coev/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/beagle/Makefile" ;; + "beagle/Coev/include/beagle/Coev/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/beagle/Coev/Makefile" ;; + "beagle/Coev/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/src/Makefile" ;; + "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; + "tests/Common/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Common/Makefile" ;; + "tests/Exception/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Exception/Makefile" ;; + "tests/GA/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GA/Makefile" ;; + "tests/GA/optfct/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GA/optfct/Makefile" ;; + "tests/GP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/Makefile" ;; + "tests/GP/FitnessTestGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/FitnessTestGPIndividual/Makefile" ;; + "tests/GP/ReadGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/ReadGPIndividual/Makefile" ;; + "tests/GP/WriteRandomGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/WriteRandomGPIndividual/Makefile" ;; + "tests/LinGP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/Makefile" ;; + "tests/LinGP/include/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/Makefile" ;; + "tests/LinGP/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/beagle/Makefile" ;; + "tests/LinGP/include/beagle/LinGP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/beagle/LinGP/Makefile" ;; + "tests/LinGP/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/src/Makefile" ;; + "tests/Roulette/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Roulette/Makefile" ;; + "tests/Thread/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Thread/Makefile" ;; + "tests/TransportTCPIPOp/Makefile") CONFIG_FILES="$CONFIG_FILES tests/TransportTCPIPOp/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files + test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers + test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +printf "%s\n" "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "beagle/include/beagle/config.hpp":C) ac_prefix_conf_OUT=`echo beagle/include/beagle/config.hpp` +ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/@<:@^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@:>@/_/g"` +ac_prefix_conf_PKG=`echo BEAGLE` +ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"` +ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^@<:@0123456789@:>@/s/^/_/"` +ac_prefix_conf_INP=`echo "config/config-h" | sed -e 's/ *//'` +if test ".$ac_prefix_conf_INP" = "."; then + for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue + case "$ac_file" in + *.h) ac_prefix_conf_INP=$ac_file ;; + *) + esac + test ".$ac_prefix_conf_INP" != "." && break + done +fi +if test ".$ac_prefix_conf_INP" = "."; then + case "$ac_prefix_conf_OUT" in + */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"` + ;; + *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*-//"` + ;; + *) ac_prefix_conf_INP=config.h + ;; + esac +fi +if test -z "$ac_prefix_conf_PKG" ; then + as_fn_error $? "no prefix for _PREFIX_PKG_CONFIG_H" "$LINENO" 5 +else + if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then + ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP" + fi fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5 +printf "%s\n" "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;} + if test -f $ac_prefix_conf_INP ; then + echo "s/@%:@undef *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@\\)/@%:@undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix + echo "s/@%:@undef *\\(@<:@abcdefghijklmnopqrstuvwxyz@:>@\\)/@%:@undef $ac_prefix_conf_LOW""_\\1/" >> conftest.prefix + echo "s/@%:@define *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*\\)\\(.*\\)/@%:@ifndef $ac_prefix_conf_UPP""_\\1 \\" >> conftest.prefix + echo "@%:@define $ac_prefix_conf_UPP""_\\1 \\2 \\" >> conftest.prefix + echo "@%:@endif/" >>conftest.prefix + echo "s/@%:@define *\\(@<:@abcdefghijklmnopqrstuvwxyz@:>@@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*\\)\\(.*\\)/@%:@ifndef $ac_prefix_conf_LOW""_\\1 \\" >> conftest.prefix + echo "@%:@define $ac_prefix_conf_LOW""_\\1 \\2 \\" >> conftest.prefix + echo "@%:@endif/" >> conftest.prefix + # now executing _script on _DEF input to create _OUT output file + echo "@%:@ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h + echo "@%:@define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h + + sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h + echo "@%:@endif" >>$tmp/pconfig.h + if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_prefix_conf_OUT is unchanged" >&5 +printf "%s\n" "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;} + else + ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" || +$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$ac_prefix_conf_OUT" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + rm -f "$ac_prefix_conf_OUT" + mv $tmp/pconfig.h "$ac_prefix_conf_OUT" + fi + cp conftest.prefix _configs.sed + else + as_fn_error $? "input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" "$LINENO" 5 + fi + rm -f conftest.* +fi + ;; + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + case $CONFIG_FILES in @%:@( + *\'*) : + eval set x "$CONFIG_FILES" ;; @%:@( + *) : + set x $CONFIG_FILES ;; @%:@( + *) : + ;; +esac + shift + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf + do + # Strip MF so we end up with the name of the file. + am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`$as_dirname -- "$am_mf" || +$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$am_mf" : 'X\(//\)[^/]' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$am_mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + am_filepart=`$as_basename -- "$am_mf" || +$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X/"$am_mf" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { echo "$as_me:$LINENO: cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles" >&5 + (cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } || am_rc=$? + done + if test $am_rc -ne 0; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE=\"gmake\" (or whatever is + necessary). You can also try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking). +See \`config.log' for more details" "$LINENO" 5; } + fi + { am_dirpart=; unset am_dirpart;} + { am_filepart=; unset am_filepart;} + { am_mf=; unset am_mf;} + { am_rc=; unset am_rc;} + rm -f conftest-deps.mk +} + ;; + "libtool":C) + + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +# The names of the tagged configurations supported by this script. +available_tags='CXX ' + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec=$shared_archive_member_spec + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd + +# A file(cmd) program that detects file types. +FILECMD=$lt_FILECMD + +# An object symbol dumper. +OBJDUMP=$lt_OBJDUMP + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + +# The archiver. +AR=$lt_AR + +# Flags to create an archive (by configure). +lt_ar_flags=$lt_ar_flags + +# Flags to create an archive. +AR_FLAGS=\@S|@{ARFLAGS-"\@S|@lt_ar_flags"} + +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm into a list of symbols to manually relocate. +global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name lister interface. +nm_interface=$lt_lt_cv_nm_interface + +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec + +# The root where to search for dependent libraries,and where our libraries should be installed. +lt_sysroot=$lt_sysroot + +# Command to truncate a binary pipe. +lt_truncate_bin=$lt_lt_cv_truncate_bin + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + + +ltmain=$ac_aux_dir/ltmain.sh + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + $SED '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_CXX +reload_cmds=$lt_reload_cmds_CXX + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX + +# A language specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/lib/beagle-3.0.3/autom4te.cache/output.2 b/lib/beagle-3.0.3/autom4te.cache/output.2 new file mode 100644 index 0000000..20cd5ee --- /dev/null +++ b/lib/beagle-3.0.3/autom4te.cache/output.2 @@ -0,0 +1,21814 @@ +@%:@! /bin/sh +@%:@ From configure.ac Revision: 1.33.2.7 . +@%:@ Guess values for system-dependent variables and create Makefiles. +@%:@ Generated by GNU Autoconf 2.71 for Open BEAGLE 3.0.3. +@%:@ +@%:@ Report bugs to . +@%:@ +@%:@ +@%:@ Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, +@%:@ Inc. +@%:@ +@%:@ +@%:@ This configure script is free software; the Free Software Foundation +@%:@ gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else $as_nop + case `(set -o) 2>/dev/null` in @%:@( + *posix*) : + set -o posix ;; @%:@( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in @%:@(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in @%:@ (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="as_nop=: +if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else \$as_nop + case \`(set -o) 2>/dev/null\` in @%:@( + *posix*) : + set -o posix ;; @%:@( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ) +then : + +else \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 + + test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + case $as_dir in @%:@( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + if test "x$CONFIG_SHELL" != x +then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in @%:@ (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and cgagne@gmail.com +$0: about your system, including any error possibly output +$0: before this message. Then install a modern shell, or +$0: manually run the script under such a shell if you do +$0: have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +@%:@ as_fn_unset VAR +@%:@ --------------- +@%:@ Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +@%:@ as_fn_set_status STATUS +@%:@ ----------------------- +@%:@ Set @S|@? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} @%:@ as_fn_set_status + +@%:@ as_fn_exit STATUS +@%:@ ----------------- +@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} @%:@ as_fn_exit +@%:@ as_fn_nop +@%:@ --------- +@%:@ Do nothing but, unlike ":", preserve the value of @S|@?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +@%:@ as_fn_mkdir_p +@%:@ ------------- +@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} @%:@ as_fn_mkdir_p + +@%:@ as_fn_executable_p FILE +@%:@ ----------------------- +@%:@ Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} @%:@ as_fn_executable_p +@%:@ as_fn_append VAR VALUE +@%:@ ---------------------- +@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take +@%:@ advantage of any shell optimizations that allow amortized linear growth over +@%:@ repeated appends, instead of the typical quadratic growth present in naive +@%:@ implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +@%:@ as_fn_arith ARG... +@%:@ ------------------ +@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the +@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments +@%:@ must be portable across @S|@(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +@%:@ as_fn_nop +@%:@ --------- +@%:@ Do nothing but, unlike ":", preserve the value of @S|@?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] +@%:@ ---------------------------------------- +@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are +@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the +@%:@ script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status +} @%:@ as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in @%:@((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_@&t@echo='printf %s\n' +as_@&t@echo_n='printf %s' + + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + +SHELL=${CONFIG_SHELL-/bin/sh} + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIB@&t@OBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='Open BEAGLE' +PACKAGE_TARNAME='beagle' +PACKAGE_VERSION='3.0.3' +PACKAGE_STRING='Open BEAGLE 3.0.3' +PACKAGE_BUGREPORT='cgagne@gmail.com' +PACKAGE_URL='' + +ac_unique_file="beagle/src/Allocator.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_STDIO_H +# include +#endif +#ifdef HAVE_STDLIB_H +# include +#endif +#ifdef HAVE_STRING_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_header_c_list= +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +LIB@&t@OBJS +PACC_VERSION +PTHREAD_CFLAGS +PTHREAD_LIBS +PTHREAD_CC +acx_pthread_config +COMPILE_TESTS_FALSE +COMPILE_TESTS_TRUE +FAST_COMPILATION_FALSE +FAST_COMPILATION_TRUE +LT_SYS_LIBRARY_PATH +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +MANIFEST_TOOL +RANLIB +ac_ct_AR +AR +DLLTOOL +OBJDUMP +FILECMD +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +EGREP +GREP +SED +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +ac_ct_CC +CFLAGS +CC +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +LIBTOOL +LN_S +CXXCPP +am__fastdepCXX_FALSE +am__fastdepCXX_TRUE +CXXDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V +CSCOPE +ETAGS +CTAGS +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +runstatedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL +am__quote' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_silent_rules +enable_dependency_tracking +enable_shared +enable_static +with_pic +enable_fast_install +with_aix_soname +with_gnu_ld +with_sysroot +enable_libtool_lock +enable_optimization +enable_full_debug +enable_fast_compilation +enable_tests +enable_hashset +enable_hashmap +with_zlib +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +LT_SYS_LIBRARY_PATH' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir runstatedir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures Open BEAGLE 3.0.3 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + @<:@@S|@ac_default_prefix@:>@ + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + @<:@PREFIX@:>@ + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root @<:@DATAROOTDIR/doc/beagle@:>@ + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of Open BEAGLE 3.0.3:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ + --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=yes@:>@ + --enable-fast-install@<:@=PKGS@:>@ + optimize for fast installation @<:@default=yes@:>@ + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + --enable-full-debug enable full debug mode default=no + --enable-fast-compilation =no/yes enable fast compilation mode default=yes + --enable-tests =no/yes enable compilation of tests default=no + --enable-hashset =no/yes enable hash_set STL extension default=no + --enable-hashmap =no/yes enable hash_map STL extension default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic@<:@=PKGS@:>@ try to use only PIC/non-PIC objects @<:@default=use + both@:>@ + --with-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX, @<:@default=aix@:>@. + --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ + --with-sysroot@<:@=DIR@:>@ Search for dependent libraries within DIR (or the + compiler's sysroot if not specified). + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + LT_SYS_LIBRARY_PATH + User-defined run-time library search path. + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +Open BEAGLE configure 3.0.3 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +@%:@ ac_fn_cxx_try_compile LINENO +@%:@ ---------------------------- +@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_cxx_try_compile + +@%:@ ac_fn_cxx_try_cpp LINENO +@%:@ ------------------------ +@%:@ Try to preprocess conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_cxx_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_cxx_try_cpp + +@%:@ ac_fn_c_try_compile LINENO +@%:@ -------------------------- +@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_c_try_compile + +@%:@ ac_fn_c_try_link LINENO +@%:@ ----------------------- +@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_c_try_link + +@%:@ ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +@%:@ ------------------------------------------------------- +@%:@ Tests whether HEADER exists and can be compiled using the include files in +@%:@ INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +@%:@include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} @%:@ ac_fn_c_check_header_compile + +@%:@ ac_fn_c_check_func LINENO FUNC VAR +@%:@ ---------------------------------- +@%:@ Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. */ + +#include +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} @%:@ ac_fn_c_check_func + +@%:@ ac_fn_cxx_try_link LINENO +@%:@ ------------------------- +@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} @%:@ ac_fn_cxx_try_link +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?@<:@ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by Open BEAGLE $as_me 3.0.3, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "@%:@define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "@%:@define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "@%:@define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "@%:@define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "@%:@define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "@%:@define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in @%:@( + */*) : + ;; @%:@( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not \xHH hex character constants. + These do not provoke an error unfortunately, instead are silently treated + as an "x". The following induces an error, until -std is added to get + proper ANSI mode. Curiously \x00 != x always comes out true, for an + array size at least. It is necessary to write \x00 == 0 to get something + that is true only with -std. */ +int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) '\''x'\'' +int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" + +# Auxiliary files required by this configure script. +ac_aux_files="compile config.guess config.sub ltmain.sh missing install-sh" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/config" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 +fi + + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +if test -f "${ac_aux_dir}config.guess"; then + ac_@&t@config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_@&t@config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_@&t@configure="$SHELL ${ac_aux_dir}configure" +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' + and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + +am__api_version='1.16' + + + + # Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +printf %s "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test ${ac_cv_path_install+y} +then : + printf %s "(cached) " >&6 +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + # Account for fact that we put trailing slashes in our PATH walk. +case $as_dir in @%:@(( + ./ | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test ${ac_cv_path_install+y}; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +printf "%s\n" "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +printf %s "checking whether build environment is sane... " >&6; } +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` + + +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` + + + if test x"${MISSING+set}" != xset; then + MISSING="\${SHELL} '$am_aux_dir/missing'" +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 +printf %s "checking for a race-free mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if test ${ac_cv_path_mkdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue + case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir ('*'coreutils) '* | \ + 'BusyBox '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test ${ac_cv_path_mkdir+y}; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +printf "%s\n" "$MKDIR_P" >&6; } + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval test \${ac_cv_prog_make_${ac_make}_set+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + SET_MAKE= +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +@%:@ Check whether --enable-silent-rules was given. +if test ${enable_silent_rules+y} +then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +printf %s "checking whether $am_make supports nested variables... " >&6; } +if test ${am_cv_make_support_nested_variables+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if printf "%s\n" 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='beagle' + VERSION='3.0.3' + + +printf "%s\n" "@%:@define PACKAGE \"$PACKAGE\"" >>confdefs.h + + +printf "%s\n" "@%:@define VERSION \"$VERSION\"" >>confdefs.h + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi + +if test -z "$ETAGS"; then + ETAGS=etags +fi + +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + +ac_config_headers="$ac_config_headers config/config-h:config/config-h.in" + + +ac_config_commands="$ac_config_commands beagle/include/beagle/config.hpp" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AWK" && break +done + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C++ compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +int +main (void) +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_cxx11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_cxx11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_cxx98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_cxx98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +fi +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } +cat > confinc.mk << 'END' +am__doit: + @echo this is the am__doit target >confinc.out +.PHONY: am__doit +END +am__include="#" +am__quote= +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 + (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + case $?:`cat confinc.out 2>/dev/null` in @%:@( + '0:this is the am__doit target') : + case $s in @%:@( + BSD) : + am__include='.include' am__quote='"' ;; @%:@( + *) : + am__include='include' am__quote='' ;; +esac ;; @%:@( + *) : + ;; +esac + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +printf "%s\n" "${_am_result}" >&6; } + +@%:@ Check whether --enable-dependency-tracking was given. +if test ${enable_dependency_tracking+y} +then : + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +depcc="$CXX" am_compiler_list= + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +printf %s "checking dependency style of $depcc... " >&6; } +if test ${am_cv_CXX_dependencies_compiler_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 +printf "%s\n" "$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +printf %s "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if test ${ac_cv_prog_CXXCPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CXX needs to be expanded + for CXXCPP in "$CXX -E" cpp /lib/cpp + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +printf "%s\n" "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +printf %s "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +printf "%s\n" "no, using $LN_S" >&6; } +fi + +case `pwd` in + *\ * | *\ *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.4.7' +macro_revision='2.4.7' + + + + + + + + + + + + + + +ltmain=$ac_aux_dir/ltmain.sh + + + + # Make sure we can run config.sub. +$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +printf %s "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "" +} + +case $ECHO in + printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +printf "%s\n" "printf" >&6; } ;; + print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +printf "%s\n" "print -r" >&6; } ;; + *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +printf "%s\n" "cat" >&6; } ;; +esac + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $@%:@ != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args. +set dummy ${ac_tool_prefix}clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion -version; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +fi +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +printf %s "checking whether $CC understands -c and -o together... " >&6; } +if test ${am_cv_prog_cc_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +depcc="$CC" am_compiler_list= + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +printf %s "checking dependency style of $depcc... " >&6; } +if test ${am_cv_CC_dependencies_compiler_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +printf %s "checking for a sed that does not truncate output... " >&6; } +if test ${ac_cv_path_SED+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in sed gsed + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +printf "%s\n" "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in grep ggrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +printf %s "checking for fgrep... " >&6; } +if test ${ac_cv_path_FGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in fgrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +printf "%s\n" "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +@%:@ Check whether --with-gnu-ld was given. +if test ${with_gnu_ld+y} +then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else $as_nop + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +printf %s "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "checking for GNU ld... " >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +printf %s "checking for non-GNU ld... " >&6; } +fi +if test ${lt_cv_path_LD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +printf "%s\n" "$LD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +printf %s "checking if the linker ($LD) is GNU ld... " >&6; } +if test ${lt_cv_prog_gnu_ld+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if test ${lt_cv_path_NM+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +printf "%s\n" "$lt_cv_path_NM" >&6; } +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + if test -n "$ac_tool_prefix"; then + for ac_prog in dumpbin "link -dump" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DUMPBIN+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +printf "%s\n" "$DUMPBIN" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in dumpbin "link -dump" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DUMPBIN+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +printf "%s\n" "$ac_ct_DUMPBIN" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +printf %s "checking the name lister ($NM) interface... " >&6; } +if test ${lt_cv_nm_interface+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +printf "%s\n" "$lt_cv_nm_interface" >&6; } + +# find the maximum length of command line arguments +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +printf %s "checking the maximum length of command line arguments... " >&6; } +if test ${lt_cv_sys_max_cmd_len+y} +then : + printf %s "(cached) " >&6 +else $as_nop + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n "$lt_cv_sys_max_cmd_len"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +printf %s "checking how to convert $build file names to $host format... " >&6; } +if test ${lt_cv_to_host_file_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac + +fi + +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; } + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +printf %s "checking how to convert $build file names to toolchain format... " >&6; } +if test ${lt_cv_to_tool_file_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac + +fi + +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +printf %s "checking for $LD option to reload object files... " >&6; } +if test ${lt_cv_ld_reload_flag+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_ld_reload_flag='-r' +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test yes != "$GCC"; then + reload_cmds=false + fi + ;; + darwin*) + if test yes = "$GCC"; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. +set dummy ${ac_tool_prefix}file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FILECMD"; then + ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_FILECMD="${ac_tool_prefix}file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +FILECMD=$ac_cv_prog_FILECMD +if test -n "$FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 +printf "%s\n" "$FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_FILECMD"; then + ac_ct_FILECMD=$FILECMD + # Extract the first word of "file", so it can be a program name with args. +set dummy file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FILECMD"; then + ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FILECMD="file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD +if test -n "$ac_ct_FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 +printf "%s\n" "$ac_ct_FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_FILECMD" = x; then + FILECMD=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FILECMD=$ac_ct_FILECMD + fi +else + FILECMD="$ac_cv_prog_FILECMD" +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OBJDUMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +printf "%s\n" "$OBJDUMP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OBJDUMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +printf "%s\n" "$ac_ct_OBJDUMP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +printf %s "checking how to recognize dependent libraries... " >&6; } +if test ${lt_cv_deplibs_check_method+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='$FILECMD -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly* | midnightbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=$FILECMD + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DLLTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +printf "%s\n" "$DLLTOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DLLTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +printf "%s\n" "$ac_ct_DLLTOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +printf %s "checking how to associate runtime and link libraries... " >&6; } +if test ${lt_cv_sharedlib_from_linklib_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + + + + + + + + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + +: ${AR=ar} + + + + + + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS + + + + + + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +printf %s "checking for archiver @FILE support... " >&6; } +if test ${lt_cv_ar_at_file+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +printf "%s\n" "$lt_cv_ar_at_file" >&6; } + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +printf %s "checking command to parse $NM output from $compiler object... " >&6; } +if test ${lt_cv_sys_global_symbol_pipe+y} +then : + printf %s "(cached) " >&6 +else $as_nop + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++ or ICC, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5 + if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT@&t@_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT@&t@_DLSYM_CONST +#else +# define LT@&t@_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT@&t@_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +printf "%s\n" "failed" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +printf %s "checking for sysroot... " >&6; } + +@%:@ Check whether --with-sysroot was given. +if test ${with_sysroot+y} +then : + withval=$with_sysroot; +else $as_nop + with_sysroot=no +fi + + +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +printf "%s\n" "$with_sysroot" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +printf "%s\n" "${lt_sysroot:-no}" >&6; } + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +printf %s "checking for a working dd... " >&6; } +if test ${ac_cv_path_lt_DD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +if test -z "$lt_DD"; then + ac_path_lt_DD_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in dd + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue +if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi + $ac_path_lt_DD_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_lt_DD"; then + : + fi +else + ac_cv_path_lt_DD=$lt_DD +fi + +rm -f conftest.i conftest2.i conftest.out +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +printf "%s\n" "$ac_cv_path_lt_DD" >&6; } + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +printf %s "checking how to truncate binary pipes... " >&6; } +if test ${lt_cv_truncate_bin+y} +then : + printf %s "(cached) " >&6 +else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +printf "%s\n" "$lt_cv_truncate_bin" >&6; } + + + + + + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + +@%:@ Check whether --enable-libtool-lock was given. +if test ${enable_libtool_lock+y} +then : + enableval=$enable_libtool_lock; +fi + +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `$FILECMD conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +printf %s "checking whether the C compiler needs -belf... " >&6; } +if test ${lt_cv_cc_needs_belf+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + lt_cv_cc_needs_belf=yes +else $as_nop + lt_cv_cc_needs_belf=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MANIFEST_TOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +printf "%s\n" "$MANIFEST_TOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL + fi +else + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" +fi + +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if test ${lt_cv_path_mainfest_tool+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi + + + + + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DSYMUTIL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +printf "%s\n" "$DSYMUTIL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DSYMUTIL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +printf "%s\n" "$ac_ct_DSYMUTIL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_NMEDIT+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +printf "%s\n" "$NMEDIT" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_NMEDIT+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +printf "%s\n" "$ac_ct_NMEDIT" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_LIPO+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +printf "%s\n" "$LIPO" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_LIPO+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +printf "%s\n" "$ac_ct_LIPO" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +printf "%s\n" "$OTOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +printf "%s\n" "$ac_ct_OTOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OTOOL64+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +printf "%s\n" "$OTOOL64" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OTOOL64+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +printf "%s\n" "$ac_ct_OTOOL64" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +printf %s "checking for -single_module linker flag... " >&6; } +if test ${lt_cv_apple_cc_single_mod+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +printf %s "checking for -exported_symbols_list linker flag... " >&6; } +if test ${lt_cv_ld_exported_symbols_list+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + lt_cv_ld_exported_symbols_list=yes +else $as_nop + lt_cv_ld_exported_symbols_list=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +printf %s "checking for -force_load linker flag... " >&6; } +if test ${lt_cv_ld_force_load+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 + $AR $AR_FLAGS libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +printf "%s\n" "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[012],*|,*powerpc*-darwin[5-8]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} + +ac_header= ac_cache= +for ac_item in $ac_header_c_list +do + if test $ac_cache; then + ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done + + + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "@%:@define STDC_HEADERS 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes +then : + printf "%s\n" "@%:@define HAVE_DLFCN_H 1" >>confdefs.h + +fi + + + + +func_stripname_cnf () +{ + case @S|@2 in + .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; + *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; + esac +} # func_stripname_cnf + + + + + +# Set options + + + + enable_dlopen=no + + + enable_win32_dll=no + + + @%:@ Check whether --enable-shared was given. +if test ${enable_shared+y} +then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else $as_nop + enable_shared=yes +fi + + + + + + + + + + @%:@ Check whether --enable-static was given. +if test ${enable_static+y} +then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else $as_nop + enable_static=yes +fi + + + + + + + + + + +@%:@ Check whether --with-pic was given. +if test ${with_pic+y} +then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else $as_nop + pic_mode=default +fi + + + + + + + + + @%:@ Check whether --enable-fast-install was given. +if test ${enable_fast_install+y} +then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else $as_nop + enable_fast_install=yes +fi + + + + + + + + + shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[5-9]*,yes) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +printf %s "checking which variant of shared library versioning to provide... " >&6; } + +@%:@ Check whether --with-aix-soname was given. +if test ${with_aix_soname+y} +then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; + *) + as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +else $as_nop + if test ${lt_cv_with_aix_soname+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_with_aix_soname=aix +fi + + with_aix_soname=$lt_cv_with_aix_soname +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +printf "%s\n" "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +printf %s "checking for objdir... " >&6; } +if test ${lt_cv_objdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +printf "%s\n" "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +printf "%s\n" "@%:@define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +printf %s "checking for ${ac_tool_prefix}file... " >&6; } +if test ${lt_cv_path_MAGIC_CMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/${ac_tool_prefix}file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +printf "%s\n" "$MAGIC_CMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +printf %s "checking for file... " >&6; } +if test ${lt_cv_path_MAGIC_CMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +printf "%s\n" "$MAGIC_CMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC=$CC +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if test ${lt_cv_prog_compiler_rtti_exceptions+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + lt_prog_compiler_pic='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC" + ;; +esac + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +printf %s "checking for $compiler option to produce PIC... " >&6; } +if test ${lt_cv_prog_compiler_pic+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if test ${lt_cv_prog_compiler_pic_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test ${lt_cv_prog_compiler_static_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works"; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +printf %s "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +printf "%s\n" "$hard_links" >&6; } + if test no = "$hard_links"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs=no + ;; + esac + + ld_shlibs=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='$wl--export-all-symbols' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + file_list_spec='@' + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test no = "$ld_shlibs"; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct=no + hardcode_direct_absolute=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if test ${lt_cv_aix_libpath_+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if test ${lt_cv_aix_libpath_+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' $wl-bernotok' + allow_undefined_flag=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi + archive_cmds_need_lc=yes + archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec='' + fi + link_all_deplibs=yes + allow_undefined_flag=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +printf %s "checking if $CC understands -b... " >&6; } +if test ${lt_cv_prog_compiler__b+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler__b=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } + +if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +fi + + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if test ${lt_cv_irix_exported_symbol+y} +then : + printf %s "(cached) " >&6 +else $as_nop + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + lt_cv_irix_exported_symbol=yes +else $as_nop + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi + link_all_deplibs=no + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs=yes + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + ;; + esac + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + else + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + file_list_spec='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='$wl-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='$wl-z,text' + allow_undefined_flag='$wl-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +printf "%s\n" "$ld_shlibs" >&6; } +test no = "$ld_shlibs" && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +printf %s "checking whether -lc should be explicitly linked in... " >&6; } +if test ${lt_cv_archive_cmds_need_lc+y} +then : + printf %s "(cached) " >&6 +else $as_nop + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +printf %s "checking dynamic linker characteristics... " >&6; } + +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([A-Za-z]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if test ${lt_cv_shlibpath_overrides_runpath+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null +then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +printf "%s\n" "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +printf %s "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test yes = "$hardcode_automatic"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && + test no != "$hardcode_minus_L"; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +printf "%s\n" "$hardcode_action" >&6; } + +if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +printf %s "checking for dlopen in -ldl... " >&6; } +if test ${ac_cv_lib_dl_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main (void) +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dl_dlopen=yes +else $as_nop + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes +then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else $as_nop + + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes +then : + lt_cv_dlopen=shl_load +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +printf %s "checking for shl_load in -ldld... " >&6; } +if test ${ac_cv_lib_dld_shl_load+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char shl_load (); +int +main (void) +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dld_shl_load=yes +else $as_nop + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes +then : + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +else $as_nop + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes +then : + lt_cv_dlopen=dlopen +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +printf %s "checking for dlopen in -ldl... " >&6; } +if test ${ac_cv_lib_dl_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main (void) +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dl_dlopen=yes +else $as_nop + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes +then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +printf %s "checking for dlopen in -lsvld... " >&6; } +if test ${ac_cv_lib_svld_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main (void) +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_svld_dlopen=yes +else $as_nop + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes +then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +printf %s "checking for dld_link in -ldld... " >&6; } +if test ${ac_cv_lib_dld_dld_link+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dld_link (); +int +main (void) +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dld_dld_link=yes +else $as_nop + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes +then : + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +printf %s "checking whether a program can dlopen itself... " >&6; } +if test ${lt_cv_dlopen_self+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +printf "%s\n" "$lt_cv_dlopen_self" >&6; } + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +printf %s "checking whether a statically linked program can dlopen itself... " >&6; } +if test ${lt_cv_dlopen_self_static+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +printf %s "checking whether stripping libraries is possible... " >&6; } +if test -z "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +else + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + ;; + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + ;; + esac + fi +fi + + + + + + + + + + + + + # Report what library types will actually be built + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +printf %s "checking if libtool supports shared libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +printf "%s\n" "$can_build_shared" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +printf %s "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +printf "%s\n" "$enable_shared" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +printf %s "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +printf "%s\n" "$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC + + if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +printf %s "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if test ${ac_cv_prog_CXXCPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CXX needs to be expanded + for CXXCPP in "$CXX -E" cpp /lib/cpp + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +printf "%s\n" "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +@%:@include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +else + _lt_caught_CXX_error=yes +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +reload_flag_CXX=$reload_flag +reload_cmds_CXX=$reload_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_caught_CXX_error"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + compiler_CXX=$CC + func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test yes = "$GXX"; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi + + if test yes = "$GXX"; then + # Set up default GNU C++ configuration + + + +@%:@ Check whether --with-gnu-ld was given. +if test ${with_gnu_ld+y} +then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else $as_nop + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +printf %s "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "checking for GNU ld... " >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +printf %s "checking for non-GNU ld... " >&6; } +fi +if test ${lt_cv_path_LD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +printf "%s\n" "$LD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +printf %s "checking if the linker ($LD) is GNU ld... " >&6; } +if test ${lt_cv_prog_gnu_ld+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test yes = "$with_gnu_ld"; then + archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='$wl' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + file_list_spec_CXX='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_CXX=no + hardcode_direct_absolute_CXX=no + ;; + esac + + if test yes = "$GXX"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_CXX='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + always_export_symbols_CXX=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + # The "-G" linker flag allows undefined symbols. + no_undefined_flag_CXX='-bernotok' + # Determine the default libpath from the value encoded in an empty + # executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if test ${lt_cv_aix_libpath__CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if test ${lt_cv_aix_libpath__CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' $wl-bernotok' + allow_undefined_flag_CXX=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + fi + archive_cmds_need_lc_CXX=yes + archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl* | ,icl* | no,icl*) + # Native MSVC or ICC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_CXX=' ' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=yes + file_list_spec_CXX='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' + enable_shared_with_static_runtimes_CXX=yes + # Don't use ranlib + old_postinstall_cmds_CXX='chmod 644 $oldlib' + postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + export_dynamic_flag_spec_CXX='$wl--export-all-symbols' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + + + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_CXX='' + fi + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_CXX="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds_CXX="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + if test yes != "$lt_cv_apple_cc_single_mod"; then + archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" + archive_expsym_cmds_CXX="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" + fi + + else + ld_shlibs_CXX=no + fi + + ;; + + os2*) + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_minus_L_CXX=yes + allow_undefined_flag_CXX=unsupported + shrext_cmds=.dll + archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_CXX=yes + file_list_spec_CXX='@' + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; + + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + + haiku*) + archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_CXX=yes + ;; + + hpux9*) + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='$wl-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + export_dynamic_flag_spec_CXX='$wl-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + hardcode_libdir_separator_CXX=: + inherit_rpath_CXX=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [1-5].* | *pgcpp\ [1-5].*) + prelink_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + old_archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object_CXX=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + ld_shlibs_CXX=yes + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + hardcode_direct_absolute_CXX=yes + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='$wl-E' + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + ld_shlibs_CXX=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + case $host in + osf3*) + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + ;; + *) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ + $RM $lib.exp' + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + ;; + esac + + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes,no = "$GXX,$with_gnu_ld"; then + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + case $host in + osf3*) + archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + *) + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test yes,no = "$GXX,$with_gnu_ld"; then + no_undefined_flag_CXX=' $wl-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + else + # g++ 2.7 appears to require '-G' NOT '-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + fi + + hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='$wl-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_CXX='$wl-z,text' + allow_undefined_flag_CXX='$wl-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ + '"$old_archive_cmds_CXX" + reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ + '"$reload_cmds_CXX" + ;; + *) + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +printf "%s\n" "$ld_shlibs_CXX" >&6; } + test no = "$ld_shlibs_CXX" && can_build_shared=no + + GCC_CXX=$GXX + LD_CXX=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF + + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX=$prev$p + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX=$prev$p + else + postdeps_CXX="${postdeps_CXX} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test no = "$pre_test_object_deps_done"; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX=$p + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX=$p + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + + + # C++ specific cases for pic, static, wl, etc. + if test yes = "$GXX"; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + lt_prog_compiler_pic_CXX='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_CXX='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_CXX='$wl-static' + ;; + esac + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64, which still supported -KPIC. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX@&t@ -DPIC" + ;; +esac + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +printf %s "checking for $compiler option to produce PIC... " >&6; } +if test ${lt_cv_prog_compiler_pic_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_CXX" >&6; } +lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if test ${lt_cv_prog_compiler_pic_works_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX@&t@ -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test ${lt_cv_prog_compiler_static_works_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_static_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then + : +else + lt_prog_compiler_static_CXX= +fi + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +printf %s "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +printf "%s\n" "$hard_links" >&6; } + if test no = "$hard_links"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + case $host_os in + aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX=$ltdll_cmds + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl* | icl*) + exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + ;; + esac + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +printf "%s\n" "$ld_shlibs_CXX" >&6; } +test no = "$ld_shlibs_CXX" && can_build_shared=no + +with_gnu_ld_CXX=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +printf %s "checking whether -lc should be explicitly linked in... " >&6; } +if test ${lt_cv_archive_cmds_need_lc_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_CXX=no + else + lt_cv_archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 +printf "%s\n" "$lt_cv_archive_cmds_need_lc_CXX" >&6; } + archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +printf %s "checking dynamic linker characteristics... " >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec_CXX='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if test ${lt_cv_shlibpath_overrides_runpath+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null +then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +printf "%s\n" "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +printf %s "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || + test yes = "$hardcode_automatic_CXX"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_CXX" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && + test no != "$hardcode_minus_L_CXX"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 +printf "%s\n" "$hardcode_action_CXX" >&6; } + +if test relink = "$hardcode_action_CXX" || + test yes = "$inherit_rpath_CXX"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test yes != "$_lt_caught_CXX_error" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +@%:@ Check whether --enable-optimization was given. +if test ${enable_optimization+y} +then : + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else $as_nop + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + +printf "%s\n" "@%:@define NDEBUG /**/" >>confdefs.h + +fi + +@%:@ Check whether --enable-full-debug was given. +if test ${enable_full_debug+y} +then : + enableval=$enable_full_debug; case $enableval in + yes) enable_full_debug=yes;; + no) enable_full_debug=no;; + *) enable_full_debug=no;; esac +else $as_nop + enable_full_debug=no +fi + +if test "$enable_full_debug" = yes; then + +printf "%s\n" "@%:@define FULL_DEBUG /**/" >>confdefs.h + +fi + +@%:@ Check whether --enable-fast-compilation was given. +if test ${enable_fast_compilation+y} +then : + enableval=$enable_fast_compilation; +else $as_nop + enable_fast_compilation="yes" +fi + +if test "$enable_fast_compilation" = "yes"; then + +printf "%s\n" "@%:@define FAST_COMPILATION /**/" >>confdefs.h + +fi + if test "$enable_fast_compilation" = "yes"; then + FAST_COMPILATION_TRUE= + FAST_COMPILATION_FALSE='#' +else + FAST_COMPILATION_TRUE='#' + FAST_COMPILATION_FALSE= +fi + + +@%:@ Check whether --enable-tests was given. +if test ${enable_tests+y} +then : + enableval=$enable_tests; +else $as_nop + enable_tests="no" +fi + +if test "$enable_tests" = "yes"; then + +printf "%s\n" "@%:@define COMPILE_TESTS /**/" >>confdefs.h + +fi + if test "$enable_tests" = "yes"; then + COMPILE_TESTS_TRUE= + COMPILE_TESTS_FALSE='#' +else + COMPILE_TESTS_TRUE='#' + COMPILE_TESTS_FALSE= +fi + + +# Autoupdate added the next two lines to ensure that your configure +# script's behavior did not change. They are probably safe to remove. + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler recognizes bool as a built-in type" >&5 +printf %s "checking whether the compiler recognizes bool as a built-in type... " >&6; } +if test ${ac_cv_cxx_bool+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int f(int x){return 1;} +int f(char x){return 1;} +int f(bool x){return 1;} + +int +main (void) +{ +bool b = true; return f(b); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_bool=yes +else $as_nop + ac_cv_cxx_bool=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_bool" >&5 +printf "%s\n" "$ac_cv_cxx_bool" >&6; } +if test "$ac_cv_cxx_bool" = yes; then + +printf "%s\n" "@%:@define HAVE_BOOL /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 +printf %s "checking for long long int... " >&6; } +if test ${ob_cv_cxx_long_long+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +long long int i; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ob_cv_cxx_long_long=yes +else $as_nop + ob_cv_cxx_long_long=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ob_cv_cxx_long_long" >&5 +printf "%s\n" "$ob_cv_cxx_long_long" >&6; } +if test $ob_cv_cxx_long_long = yes; then + +printf "%s\n" "@%:@define HAVE_LONG_LONG /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports isfinite macro" >&5 +printf %s "checking whether the compiler supports isfinite macro... " >&6; } +if test ${ac_cv_cxx_have_isfinite+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _GNU_SOURCE + #include +int +main (void) +{ +double d=0; int n = isfinite(d); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_isfinite=yes +else $as_nop + ac_cv_cxx_have_isfinite=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_isfinite" >&5 +printf "%s\n" "$ac_cv_cxx_have_isfinite" >&6; } +if test $ac_cv_cxx_have_isfinite = yes; then + +printf "%s\n" "@%:@define HAVE_ISFINITE /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports basic templates" >&5 +printf %s "checking whether the compiler supports basic templates... " >&6; } +if test ${ac_cv_cxx_templates+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +template class A {public:A(){}}; +template void f(const A& ){} +int +main (void) +{ + +A d; A i; f(d); f(i); return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_templates=yes +else $as_nop + ac_cv_cxx_templates=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_templates" >&5 +printf "%s\n" "$ac_cv_cxx_templates" >&6; } +if test "$ac_cv_cxx_templates" = yes; then + +printf "%s\n" "@%:@define HAVE_TEMPLATES /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler recognizes typename" >&5 +printf %s "checking whether the compiler recognizes typename... " >&6; } +if test ${ac_cv_cxx_typename+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +templateclass X {public:X(){}}; +int +main (void) +{ +X z; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_typename=yes +else $as_nop + ac_cv_cxx_typename=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_typename" >&5 +printf "%s\n" "$ac_cv_cxx_typename" >&6; } +if test "$ac_cv_cxx_typename" = yes; then + +printf "%s\n" "@%:@define HAVE_TYPENAME /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports function matching with argument types which are template scope-qualified" >&5 +printf %s "checking whether the compiler supports function matching with argument types which are template scope-qualified... " >&6; } +if test ${ac_cv_cxx_template_scoped_argument_matching+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef HAVE_TYPENAME + #define typename +#endif +template class A { public : typedef X W; }; +template class B {}; +template void operator+(B d1, typename Y::W d2) {} + +int +main (void) +{ +B > z; z + 0.5f; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_template_scoped_argument_matching=yes +else $as_nop + ac_cv_cxx_template_scoped_argument_matching=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_template_scoped_argument_matching" >&5 +printf "%s\n" "$ac_cv_cxx_template_scoped_argument_matching" >&6; } +if test "$ac_cv_cxx_template_scoped_argument_matching" = yes; then + +printf "%s\n" "@%:@define HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports default template parameters" >&5 +printf %s "checking whether the compiler supports default template parameters... " >&6; } +if test ${ac_cv_cxx_default_template_parameters+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +template class A {public: int f() {return 0;}}; + +int +main (void) +{ +A a; return a.f(); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_default_template_parameters=yes +else $as_nop + ac_cv_cxx_default_template_parameters=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_default_template_parameters" >&5 +printf "%s\n" "$ac_cv_cxx_default_template_parameters" >&6; } +if test "$ac_cv_cxx_default_template_parameters" = yes; then + +printf "%s\n" "@%:@define HAVE_DEFAULT_TEMPLATE_PARAMETERS /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports template-qualified base class specifiers" >&5 +printf %s "checking whether the compiler supports template-qualified base class specifiers... " >&6; } +if test ${ac_cv_cxx_template_qualified_base_class+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef HAVE_TYPENAME + #define typename +#endif +class Base1 { public : int f () const { return 1; } }; +class Base2 { public : int f () const { return 0; } }; +template struct base_trait { typedef Base1 base; }; + struct base_trait { typedef Base2 base; }; +template class Weird : public base_trait::base +{ public : + typedef typename base_trait::base base; + int g () const { return f (); } +}; +int +main (void) +{ + Weird z; return z.g (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_template_qualified_base_class=yes +else $as_nop + ac_cv_cxx_template_qualified_base_class=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_template_qualified_base_class" >&5 +printf "%s\n" "$ac_cv_cxx_template_qualified_base_class" >&6; } +if test "$ac_cv_cxx_template_qualified_base_class" = yes; then + +printf "%s\n" "@%:@define HAVE_TEMPLATE_QUALIFIED_BASE_CLASS /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports template-qualified return types" >&5 +printf %s "checking whether the compiler supports template-qualified return types... " >&6; } +if test ${ac_cv_cxx_template_qualified_return_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef HAVE_TYPENAME + #define typename +#endif +template struct promote_trait { typedef X T; }; +template<> struct promote_trait { typedef float T; }; +template class A { public : A () {} }; +template +A::T> operator+ (const A&, const A&) +{ return A::T>(); } + +int +main (void) +{ +A x; A y; A z = x + y; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_template_qualified_return_type=yes +else $as_nop + ac_cv_cxx_template_qualified_return_type=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_template_qualified_return_type" >&5 +printf "%s\n" "$ac_cv_cxx_template_qualified_return_type" >&6; } +if test "$ac_cv_cxx_template_qualified_return_type" = yes; then + +printf "%s\n" "@%:@define HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports const_cast<>" >&5 +printf %s "checking whether the compiler supports const_cast<>... " >&6; } +if test ${ac_cv_cxx_const_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +int x = 0;const int& y = x;int& z = const_cast(y);return z; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_const_cast=yes +else $as_nop + ac_cv_cxx_const_cast=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_const_cast" >&5 +printf "%s\n" "$ac_cv_cxx_const_cast" >&6; } +if test "$ac_cv_cxx_const_cast" = yes; then + +printf "%s\n" "@%:@define HAVE_CONST_CAST /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports reinterpret_cast<>" >&5 +printf %s "checking whether the compiler supports reinterpret_cast<>... " >&6; } +if test ${ac_cv_cxx_reinterpret_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +class Unrelated { public : Unrelated () {} }; +int g (Unrelated&) { return 0; } +int +main (void) +{ + +Derived d;Base& b=d;Unrelated& e=reinterpret_cast(b);return g(e); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_reinterpret_cast=yes +else $as_nop + ac_cv_cxx_reinterpret_cast=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_reinterpret_cast" >&5 +printf "%s\n" "$ac_cv_cxx_reinterpret_cast" >&6; } +if test "$ac_cv_cxx_reinterpret_cast" = yes; then + +printf "%s\n" "@%:@define HAVE_REINTERPRET_CAST /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports static_cast<>" >&5 +printf %s "checking whether the compiler supports static_cast<>... " >&6; } +if test ${ac_cv_cxx_static_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +class Base { public : Base () {} virtual void f () = 0; }; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +int g (Derived&) { return 0; } +int +main (void) +{ + +Derived d; Base& b = d; Derived& s = static_cast (b); return g (s); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_static_cast=yes +else $as_nop + ac_cv_cxx_static_cast=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_static_cast" >&5 +printf "%s\n" "$ac_cv_cxx_static_cast" >&6; } +if test "$ac_cv_cxx_static_cast" = yes; then + +printf "%s\n" "@%:@define HAVE_STATIC_CAST /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports dynamic_cast<>" >&5 +printf %s "checking whether the compiler supports dynamic_cast<>... " >&6; } +if test ${ac_cv_cxx_dynamic_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +int +main (void) +{ + +Derived d; Base& b=d; return dynamic_cast(&b) ? 0 : 1; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_dynamic_cast=yes +else $as_nop + ac_cv_cxx_dynamic_cast=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_dynamic_cast" >&5 +printf "%s\n" "$ac_cv_cxx_dynamic_cast" >&6; } +if test "$ac_cv_cxx_dynamic_cast" = yes; then + +printf "%s\n" "@%:@define HAVE_DYNAMIC_CAST /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports exceptions" >&5 +printf %s "checking whether the compiler supports exceptions... " >&6; } +if test ${ac_cv_cxx_exceptions+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +try { throw 1; } catch (int i) { return i; } + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_exceptions=yes +else $as_nop + ac_cv_cxx_exceptions=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_exceptions" >&5 +printf "%s\n" "$ac_cv_cxx_exceptions" >&6; } +if test "$ac_cv_cxx_exceptions" = yes; then + +printf "%s\n" "@%:@define HAVE_EXCEPTIONS /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports the explicit keyword" >&5 +printf %s "checking whether the compiler supports the explicit keyword... " >&6; } +if test ${ac_cv_cxx_explicit+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +class A{public:explicit A(double){}}; +int +main (void) +{ +double c = 5.0;A x(c);return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_explicit=yes +else $as_nop + ac_cv_cxx_explicit=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_explicit" >&5 +printf "%s\n" "$ac_cv_cxx_explicit" >&6; } +if test "$ac_cv_cxx_explicit" = yes; then + +printf "%s\n" "@%:@define HAVE_EXPLICIT /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler implements namespaces" >&5 +printf %s "checking whether the compiler implements namespaces... " >&6; } +if test ${ac_cv_cxx_namespaces+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +namespace Outer { namespace Inner { int i = 0; }} +int +main (void) +{ +using namespace Outer::Inner; return i; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_namespaces=yes +else $as_nop + ac_cv_cxx_namespaces=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_namespaces" >&5 +printf "%s\n" "$ac_cv_cxx_namespaces" >&6; } +if test "$ac_cv_cxx_namespaces" = yes; then + +printf "%s\n" "@%:@define HAVE_NAMESPACES /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports Run-Time Type Identification" >&5 +printf %s "checking whether the compiler supports Run-Time Type Identification... " >&6; } +if test ${ac_cv_cxx_rtti+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +class Base { public : + Base () {} + virtual int f () { return 0; } + }; +class Derived : public Base { public : + Derived () {} + virtual int f () { return 1; } + }; + +int +main (void) +{ +Derived d; +Base *ptr = &d; +return typeid (*ptr) == typeid (Derived); + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_rtti=yes +else $as_nop + ac_cv_cxx_rtti=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_rtti" >&5 +printf "%s\n" "$ac_cv_cxx_rtti" >&6; } +if test "$ac_cv_cxx_rtti" = yes; then + +printf "%s\n" "@%:@define HAVE_RTTI /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports ISO C++ standard library" >&5 +printf %s "checking whether the compiler supports ISO C++ standard library... " >&6; } +if test ${ac_cv_cxx_have_std+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main (void) +{ +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_std=yes +else $as_nop + ac_cv_cxx_have_std=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_std" >&5 +printf "%s\n" "$ac_cv_cxx_have_std" >&6; } +if test "$ac_cv_cxx_have_std" = yes; then + +printf "%s\n" "@%:@define HAVE_STD /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports Standard Template Library" >&5 +printf %s "checking whether the compiler supports Standard Template Library... " >&6; } +if test ${ac_cv_cxx_have_stl+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main (void) +{ +list x; x.push_back(5); +list::iterator iter = x.begin(); if (iter != x.end()) ++iter; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_stl=yes +else $as_nop + ac_cv_cxx_have_stl=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_stl" >&5 +printf "%s\n" "$ac_cv_cxx_have_stl" >&6; } +if test "$ac_cv_cxx_have_stl" = yes; then + +printf "%s\n" "@%:@define HAVE_STL /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler has numeric_limits" >&5 +printf %s "checking whether the compiler has numeric_limits... " >&6; } +if test ${ac_cv_cxx_have_numeric_limits+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main (void) +{ +double e = numeric_limits::epsilon(); return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_numeric_limits=yes +else $as_nop + ac_cv_cxx_have_numeric_limits=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_numeric_limits" >&5 +printf "%s\n" "$ac_cv_cxx_have_numeric_limits" >&6; } +if test "$ac_cv_cxx_have_numeric_limits" = yes; then + +printf "%s\n" "@%:@define HAVE_NUMERIC_LIMITS /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler has stringstream" >&5 +printf %s "checking whether the compiler has stringstream... " >&6; } +if test ${ac_cv_cxx_have_sstream+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main (void) +{ +stringstream message; message << "Hello"; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_sstream=yes +else $as_nop + ac_cv_cxx_have_sstream=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_sstream" >&5 +printf "%s\n" "$ac_cv_cxx_have_sstream" >&6; } +if test "$ac_cv_cxx_have_sstream" = yes; then + +printf "%s\n" "@%:@define HAVE_SSTREAM /**/" >>confdefs.h + +fi + + +@%:@ Check whether --enable-hashset was given. +if test ${enable_hashset+y} +then : + enableval=$enable_hashset; +else $as_nop + enable_hashset="no" +fi + +if test "$enable_hashset" = "yes"; then + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports std::hash_set" >&5 +printf %s "checking whether the compiler supports std::hash_set... " >&6; } +if test ${ac_cv_cxx_std_hashset+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using std::hash_set; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_std_hashset=yes +else $as_nop + ac_cv_cxx_std_hashset=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_std_hashset" >&5 +printf "%s\n" "$ac_cv_cxx_std_hashset" >&6; } +if test "ac_cv_cxx_std_hashset" = yes; then + +printf "%s\n" "@%:@define HAVE_STD_HASHSET /**/" >>confdefs.h + +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports __gnu_cxx::hash_set" >&5 +printf %s "checking whether the compiler supports __gnu_cxx::hash_set... " >&6; } +if test ${ac_cv_cxx_gnucxx_hashset+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using __gnu_cxx::hash_set; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_gnucxx_hashset=yes +else $as_nop + ac_cv_cxx_gnucxx_hashset=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_gnucxx_hashset" >&5 +printf "%s\n" "$ac_cv_cxx_gnucxx_hashset" >&6; } +if test "$ac_cv_cxx_gnucxx_hashset" = yes; then + +printf "%s\n" "@%:@define HAVE_GNUCXX_HASHSET /**/" >>confdefs.h + +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports stdext::hash_set" >&5 +printf %s "checking whether the compiler supports stdext::hash_set... " >&6; } +if test ${ac_cv_cxx_stdext_hashset+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using stdext::hash_set; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_stdext_hashset=yes +else $as_nop + ac_cv_cxx_stdext_hashset=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_stdext_hashset" >&5 +printf "%s\n" "$ac_cv_cxx_stdext_hashset" >&6; } +if test "ac_cv_cxx_stdext_hashset" = yes; then + +printf "%s\n" "@%:@define HAVE_STDEXT_HASHSET /**/" >>confdefs.h + +fi + +fi +@%:@ Check whether --enable-hashmap was given. +if test ${enable_hashmap+y} +then : + enableval=$enable_hashmap; +else $as_nop + enable_hashmap="no" +fi + +if test "$enable_hashmap" = "yes"; then + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports std::hash_map" >&5 +printf %s "checking whether the compiler supports std::hash_map... " >&6; } +if test ${ac_cv_cxx_std_hashmap+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using std::hash_map; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_std_hashmap=yes +else $as_nop + ac_cv_cxx_std_hashmap=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_std_hashmap" >&5 +printf "%s\n" "$ac_cv_cxx_std_hashmap" >&6; } +if test "ac_cv_cxx_std_hashmap" = yes; then + +printf "%s\n" "@%:@define HAVE_STD_HASHMAP /**/" >>confdefs.h + +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports __gnu_cxx::hash_map" >&5 +printf %s "checking whether the compiler supports __gnu_cxx::hash_map... " >&6; } +if test ${ac_cv_cxx_gnucxx_hashmap+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using __gnu_cxx::hash_map; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_gnucxx_hashmap=yes +else $as_nop + ac_cv_cxx_gnucxx_hashmap=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_gnucxx_hashmap" >&5 +printf "%s\n" "$ac_cv_cxx_gnucxx_hashmap" >&6; } +if test "$ac_cv_cxx_gnucxx_hashmap" = yes; then + +printf "%s\n" "@%:@define HAVE_GNUCXX_HASHMAP /**/" >>confdefs.h + +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports stdext::hash_map" >&5 +printf %s "checking whether the compiler supports stdext::hash_map... " >&6; } +if test ${ac_cv_cxx_stdext_hashmap+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using stdext::hash_map; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_stdext_hashmap=yes +else $as_nop + ac_cv_cxx_stdext_hashmap=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_stdext_hashmap" >&5 +printf "%s\n" "$ac_cv_cxx_stdext_hashmap" >&6; } +if test "ac_cv_cxx_stdext_hashmap" = yes; then + +printf "%s\n" "@%:@define HAVE_STDEXT_HASHMAP /**/" >>confdefs.h + +fi + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /dev/urandom" >&5 +printf %s "checking for /dev/urandom... " >&6; } +if test ${ac_cv_file__dev_urandom+y} +then : + printf %s "(cached) " >&6 +else $as_nop + test "$cross_compiling" = yes && + as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 +if test -r "/dev/urandom"; then + ac_cv_file__dev_urandom=yes +else + ac_cv_file__dev_urandom=no +fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__dev_urandom" >&5 +printf "%s\n" "$ac_cv_file__dev_urandom" >&6; } +if test "x$ac_cv_file__dev_urandom" = xyes +then : + +printf "%s\n" "@%:@define HAVE_DEV_URANDOM /**/" >>confdefs.h + +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +printf %s "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char pthread_join (); +int +main (void) +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + acx_pthread_ok=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_ok" >&5 +printf "%s\n" "$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all, and "pthread-config" +# which is a program returning the flags for the Pth emulation library. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5 +printf %s "checking whether pthreads work without any flags... " >&6; } + ;; + + -*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5 +printf %s "checking whether pthreads work with $flag... " >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + pthread-config) + # Extract the first word of "pthread-config", so it can be a program name with args. +set dummy pthread-config; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_acx_pthread_config+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$acx_pthread_config"; then + ac_cv_prog_acx_pthread_config="$acx_pthread_config" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_acx_pthread_config="yes" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no" +fi +fi +acx_pthread_config=$ac_cv_prog_acx_pthread_config +if test -n "$acx_pthread_config"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_config" >&5 +printf "%s\n" "$acx_pthread_config" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + if test x"$acx_pthread_config" = xno; then continue; fi + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; + + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5 +printf %s "checking for the pthreads library -l$flag... " >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + acx_pthread_ok=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_ok" >&5 +printf "%s\n" "$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5 +printf %s "checking for joinable pthread attribute... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ok=PTHREAD_CREATE_JOINABLE +else $as_nop + ok=unknown +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ok=PTHREAD_CREATE_UNDETACHED +else $as_nop + ok=unknown +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +printf "%s\n" "@%:@define PTHREAD_CREATE_JOINABLE \$ok" >>confdefs.h + + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${ok}" >&5 +printf "%s\n" "${ok}" >&6; } + if test x"$ok" = xunknown; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: we do not know how to create joinable pthreads" >&5 +printf "%s\n" "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5 +printf %s "checking if more special flags are required for pthreads... " >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${flag}" >&5 +printf "%s\n" "${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_PTHREAD_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_PTHREAD_CC="cc_r" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5 +printf "%s\n" "$PTHREAD_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +printf "%s\n" "@%:@define HAVE_PTHREAD 1" >>confdefs.h + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +# +# Handle user hints +# +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if zlib is wanted" >&5 +printf %s "checking if zlib is wanted... " >&6; } + +@%:@ Check whether --with-zlib was given. +if test ${with_zlib+y} +then : + withval=$with_zlib; if test "$withval" != no ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + ZLIB_HOME="$withval" +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +else $as_nop + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inflateEnd in -lz" >&5 +printf %s "checking for inflateEnd in -lz... " >&6; } +if test ${ac_cv_lib_z_inflateEnd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char inflateEnd (); +int +main (void) +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_z_inflateEnd=yes +else $as_nop + ac_cv_lib_z_inflateEnd=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflateEnd" >&5 +printf "%s\n" "$ac_cv_lib_z_inflateEnd" >&6; } +if test "x$ac_cv_lib_z_inflateEnd" = xyes +then : + zlib_cv_libz=yes +else $as_nop + zlib_cv_libz=no +fi + + ac_fn_c_check_header_compile "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" +if test "x$ac_cv_header_zlib_h" = xyes +then : + zlib_cv_zlib_h=yes +else $as_nop + zlib_cv_zlib_h=no +fi + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inflateEnd in -lz" >&5 +printf %s "checking for inflateEnd in -lz... " >&6; } +if test ${ac_cv_lib_z_inflateEnd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int inflateEnd (); +} +int +main (void) +{ +return conftest::inflateEnd (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_z_inflateEnd=yes +else $as_nop + ac_cv_lib_z_inflateEnd=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflateEnd" >&5 +printf "%s\n" "$ac_cv_lib_z_inflateEnd" >&6; } +if test "x$ac_cv_lib_z_inflateEnd" = xyes +then : + printf "%s\n" "@%:@define HAVE_LIBZ 1" >>confdefs.h + + LIBS="-lz $LIBS" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking zlib in ${ZLIB_HOME}" >&5 +printf %s "checking zlib in ${ZLIB_HOME}... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking zlib in ${ZLIB_HOME}" >&5 +printf %s "checking zlib in ${ZLIB_HOME}... " >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +printf "%s\n" "failed" >&6; } + fi +fi + + + +if test "$ac_cv_cxx_templates" = no; then + as_fn_error $? "\"sorry, templates support needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_template_scoped_argument_matching" = no; then + as_fn_error $? "\"sorry, template scoped argument matching support needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_default_template_parameters" = no; then + as_fn_error $? "\"sorry, default template parameters support needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_typename" = no; then + as_fn_error $? "\"sorry, typename qualifier needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_exceptions" = no; then + as_fn_error $? "\"sorry, support for exception handling needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_namespaces" = no; then + as_fn_error $? "\"sorry, namespaces support needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_have_std" = no; then + as_fn_error $? "\"sorry, namespace std needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_have_stl" = no; then + as_fn_error $? "\"sorry, no standard template library found\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_have_sstream" = no; then + as_fn_error $? "\"sorry, no sstream found. If you are using gcc less or equal to 2.95.2, see http://gcc.gnu.org/faq.html#2.95sstream to patch your compiler\"" "$LINENO" 5 +fi + +PACC_VERSION='1.3.1b' + +if test "$zlib_cv_libz" = yes; then + CPPFLAGS="$CPPFLAGS -DPACC_ZLIB" +fi + +ac_config_files="$ac_config_files Makefile PACC/Makefile PACC/Math/Makefile PACC/SVG/Makefile PACC/Socket/Makefile PACC/Threading/Makefile PACC/Util/Makefile PACC/XML/Makefile beagle/Makefile beagle/include/Makefile beagle/include/beagle/Makefile beagle/src/Makefile beagle/GA/Makefile beagle/GA/include/Makefile beagle/GA/include/beagle/Makefile beagle/GA/include/beagle/GA/Makefile beagle/GA/src/Makefile beagle/GP/Makefile beagle/GP/include/Makefile beagle/GP/include/beagle/Makefile beagle/GP/include/beagle/GP/Makefile beagle/GP/src/Makefile beagle/Coev/Makefile beagle/Coev/include/Makefile beagle/Coev/include/beagle/Makefile beagle/Coev/include/beagle/Coev/Makefile beagle/Coev/src/Makefile tests/Makefile tests/Common/Makefile tests/Exception/Makefile tests/GA/Makefile tests/GA/optfct/Makefile tests/GP/Makefile tests/GP/FitnessTestGPIndividual/Makefile tests/GP/ReadGPIndividual/Makefile tests/GP/WriteRandomGPIndividual/Makefile tests/LinGP/Makefile tests/LinGP/include/Makefile tests/LinGP/include/beagle/Makefile tests/LinGP/include/beagle/LinGP/Makefile tests/LinGP/src/Makefile tests/Roulette/Makefile tests/Thread/Makefile tests/TransportTCPIPOp/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIB@&t@OBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +printf %s "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 +printf "%s\n" "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${FAST_COMPILATION_TRUE}" && test -z "${FAST_COMPILATION_FALSE}"; then + as_fn_error $? "conditional \"FAST_COMPILATION\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${COMPILE_TESTS_TRUE}" && test -z "${COMPILE_TESTS_FALSE}"; then + as_fn_error $? "conditional \"COMPILE_TESTS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else $as_nop + case `(set -o) 2>/dev/null` in @%:@( + *posix*) : + set -o posix ;; @%:@( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in @%:@(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] +@%:@ ---------------------------------------- +@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are +@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the +@%:@ script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status +} @%:@ as_fn_error + + + +@%:@ as_fn_set_status STATUS +@%:@ ----------------------- +@%:@ Set @S|@? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} @%:@ as_fn_set_status + +@%:@ as_fn_exit STATUS +@%:@ ----------------- +@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} @%:@ as_fn_exit + +@%:@ as_fn_unset VAR +@%:@ --------------- +@%:@ Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +@%:@ as_fn_append VAR VALUE +@%:@ ---------------------- +@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take +@%:@ advantage of any shell optimizations that allow amortized linear growth over +@%:@ repeated appends, instead of the typical quadratic growth present in naive +@%:@ implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +@%:@ as_fn_arith ARG... +@%:@ ------------------ +@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the +@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments +@%:@ must be portable across @S|@(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in @%:@((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_@&t@echo='printf %s\n' +as_@&t@echo_n='printf %s' + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +@%:@ as_fn_mkdir_p +@%:@ ------------- +@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} @%:@ as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +@%:@ as_fn_executable_p FILE +@%:@ ----------------------- +@%:@ Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} @%:@ as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by Open BEAGLE $as_me 3.0.3, which was +generated by GNU Autoconf 2.71. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +Open BEAGLE config.status 3.0.3 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + printf "%s\n" "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX +@%:@@%:@ Running $as_me. @%:@@%:@ +_ASBOX + printf "%s\n" "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +PACKAGE="$PACKAGE" +AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' +configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' +predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' +predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' +postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' +reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' +reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +FILECMD \ +OBJDUMP \ +deplibs_check_method \ +file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +DLLTOOL \ +sharedlib_from_linklib_cmd \ +AR \ +archiver_list_spec \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_import \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +lt_cv_nm_interface \ +nm_file_list_spec \ +lt_cv_truncate_bin \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_pic \ +lt_prog_compiler_wl \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +MANIFEST_TOOL \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_separator \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +install_override_mode \ +finish_eval \ +old_striplib \ +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +reload_flag_CXX \ +compiler_CXX \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_pic_CXX \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_static_CXX \ +lt_cv_prog_compiler_c_o_CXX \ +export_dynamic_flag_spec_CXX \ +whole_archive_flag_spec_CXX \ +compiler_needs_object_CXX \ +with_gnu_ld_CXX \ +allow_undefined_flag_CXX \ +no_undefined_flag_CXX \ +hardcode_libdir_flag_spec_CXX \ +hardcode_libdir_separator_CXX \ +exclude_expsyms_CXX \ +include_expsyms_CXX \ +file_list_spec_CXX \ +compiler_lib_search_dirs_CXX \ +predep_objects_CXX \ +postdep_objects_CXX \ +predeps_CXX \ +postdeps_CXX \ +compiler_lib_search_path_CXX; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postlink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +configure_time_dlsearch_path \ +configure_time_lt_sys_library_path \ +reload_cmds_CXX \ +old_archive_cmds_CXX \ +old_archive_from_new_cmds_CXX \ +old_archive_from_expsyms_cmds_CXX \ +archive_cmds_CXX \ +archive_expsym_cmds_CXX \ +module_cmds_CXX \ +module_expsym_cmds_CXX \ +export_symbols_cmds_CXX \ +prelink_cmds_CXX \ +postlink_cmds_CXX; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +ac_aux_dir='$ac_aux_dir' + +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile' + + + + + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config/config-h") CONFIG_HEADERS="$CONFIG_HEADERS config/config-h:config/config-h.in" ;; + "beagle/include/beagle/config.hpp") CONFIG_COMMANDS="$CONFIG_COMMANDS beagle/include/beagle/config.hpp" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "PACC/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Makefile" ;; + "PACC/Math/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Math/Makefile" ;; + "PACC/SVG/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/SVG/Makefile" ;; + "PACC/Socket/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Socket/Makefile" ;; + "PACC/Threading/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Threading/Makefile" ;; + "PACC/Util/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Util/Makefile" ;; + "PACC/XML/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/XML/Makefile" ;; + "beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Makefile" ;; + "beagle/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/include/Makefile" ;; + "beagle/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/include/beagle/Makefile" ;; + "beagle/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/src/Makefile" ;; + "beagle/GA/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/Makefile" ;; + "beagle/GA/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/Makefile" ;; + "beagle/GA/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/beagle/Makefile" ;; + "beagle/GA/include/beagle/GA/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/beagle/GA/Makefile" ;; + "beagle/GA/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/src/Makefile" ;; + "beagle/GP/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/Makefile" ;; + "beagle/GP/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/Makefile" ;; + "beagle/GP/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/beagle/Makefile" ;; + "beagle/GP/include/beagle/GP/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/beagle/GP/Makefile" ;; + "beagle/GP/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/src/Makefile" ;; + "beagle/Coev/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/Makefile" ;; + "beagle/Coev/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/Makefile" ;; + "beagle/Coev/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/beagle/Makefile" ;; + "beagle/Coev/include/beagle/Coev/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/beagle/Coev/Makefile" ;; + "beagle/Coev/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/src/Makefile" ;; + "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; + "tests/Common/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Common/Makefile" ;; + "tests/Exception/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Exception/Makefile" ;; + "tests/GA/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GA/Makefile" ;; + "tests/GA/optfct/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GA/optfct/Makefile" ;; + "tests/GP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/Makefile" ;; + "tests/GP/FitnessTestGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/FitnessTestGPIndividual/Makefile" ;; + "tests/GP/ReadGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/ReadGPIndividual/Makefile" ;; + "tests/GP/WriteRandomGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/WriteRandomGPIndividual/Makefile" ;; + "tests/LinGP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/Makefile" ;; + "tests/LinGP/include/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/Makefile" ;; + "tests/LinGP/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/beagle/Makefile" ;; + "tests/LinGP/include/beagle/LinGP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/beagle/LinGP/Makefile" ;; + "tests/LinGP/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/src/Makefile" ;; + "tests/Roulette/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Roulette/Makefile" ;; + "tests/Thread/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Thread/Makefile" ;; + "tests/TransportTCPIPOp/Makefile") CONFIG_FILES="$CONFIG_FILES tests/TransportTCPIPOp/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files + test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers + test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +printf "%s\n" "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "beagle/include/beagle/config.hpp":C) ac_prefix_conf_OUT=`echo beagle/include/beagle/config.hpp` +ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/@<:@^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@:>@/_/g"` +ac_prefix_conf_PKG=`echo BEAGLE` +ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"` +ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^@<:@0123456789@:>@/s/^/_/"` +ac_prefix_conf_INP=`echo "config/config-h" | sed -e 's/ *//'` +if test ".$ac_prefix_conf_INP" = "."; then + for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue + case "$ac_file" in + *.h) ac_prefix_conf_INP=$ac_file ;; + *) + esac + test ".$ac_prefix_conf_INP" != "." && break + done +fi +if test ".$ac_prefix_conf_INP" = "."; then + case "$ac_prefix_conf_OUT" in + */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"` + ;; + *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*-//"` + ;; + *) ac_prefix_conf_INP=config.h + ;; + esac +fi +if test -z "$ac_prefix_conf_PKG" ; then + as_fn_error $? "no prefix for _PREFIX_PKG_CONFIG_H" "$LINENO" 5 +else + if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then + ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP" + fi fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5 +printf "%s\n" "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;} + if test -f $ac_prefix_conf_INP ; then + echo "s/@%:@undef *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@\\)/@%:@undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix + echo "s/@%:@undef *\\(@<:@abcdefghijklmnopqrstuvwxyz@:>@\\)/@%:@undef $ac_prefix_conf_LOW""_\\1/" >> conftest.prefix + echo "s/@%:@define *\\(@<:@ABCDEFGHIJKLMNOPQRSTUVWXYZ_@:>@@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*\\)\\(.*\\)/@%:@ifndef $ac_prefix_conf_UPP""_\\1 \\" >> conftest.prefix + echo "@%:@define $ac_prefix_conf_UPP""_\\1 \\2 \\" >> conftest.prefix + echo "@%:@endif/" >>conftest.prefix + echo "s/@%:@define *\\(@<:@abcdefghijklmnopqrstuvwxyz@:>@@<:@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@:>@*\\)\\(.*\\)/@%:@ifndef $ac_prefix_conf_LOW""_\\1 \\" >> conftest.prefix + echo "@%:@define $ac_prefix_conf_LOW""_\\1 \\2 \\" >> conftest.prefix + echo "@%:@endif/" >> conftest.prefix + # now executing _script on _DEF input to create _OUT output file + echo "@%:@ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h + echo "@%:@define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h + + sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h + echo "@%:@endif" >>$tmp/pconfig.h + if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_prefix_conf_OUT is unchanged" >&5 +printf "%s\n" "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;} + else + ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" || +$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$ac_prefix_conf_OUT" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + rm -f "$ac_prefix_conf_OUT" + mv $tmp/pconfig.h "$ac_prefix_conf_OUT" + fi + cp conftest.prefix _configs.sed + else + as_fn_error $? "input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" "$LINENO" 5 + fi + rm -f conftest.* +fi + ;; + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + case $CONFIG_FILES in @%:@( + *\'*) : + eval set x "$CONFIG_FILES" ;; @%:@( + *) : + set x $CONFIG_FILES ;; @%:@( + *) : + ;; +esac + shift + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf + do + # Strip MF so we end up with the name of the file. + am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`$as_dirname -- "$am_mf" || +$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$am_mf" : 'X\(//\)[^/]' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$am_mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + am_filepart=`$as_basename -- "$am_mf" || +$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X/"$am_mf" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { echo "$as_me:$LINENO: cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles" >&5 + (cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } || am_rc=$? + done + if test $am_rc -ne 0; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE=\"gmake\" (or whatever is + necessary). You can also try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking). +See \`config.log' for more details" "$LINENO" 5; } + fi + { am_dirpart=; unset am_dirpart;} + { am_filepart=; unset am_filepart;} + { am_mf=; unset am_mf;} + { am_rc=; unset am_rc;} + rm -f conftest-deps.mk +} + ;; + "libtool":C) + + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +# The names of the tagged configurations supported by this script. +available_tags='CXX ' + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec=$shared_archive_member_spec + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd + +# A file(cmd) program that detects file types. +FILECMD=$lt_FILECMD + +# An object symbol dumper. +OBJDUMP=$lt_OBJDUMP + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + +# The archiver. +AR=$lt_AR + +# Flags to create an archive (by configure). +lt_ar_flags=$lt_ar_flags + +# Flags to create an archive. +AR_FLAGS=\@S|@{ARFLAGS-"\@S|@lt_ar_flags"} + +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm into a list of symbols to manually relocate. +global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name lister interface. +nm_interface=$lt_lt_cv_nm_interface + +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec + +# The root where to search for dependent libraries,and where our libraries should be installed. +lt_sysroot=$lt_sysroot + +# Command to truncate a binary pipe. +lt_truncate_bin=$lt_lt_cv_truncate_bin + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + + +ltmain=$ac_aux_dir/ltmain.sh + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + $SED '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_CXX +reload_cmds=$lt_reload_cmds_CXX + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX + +# A language specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + \ No newline at end of file diff --git a/lib/beagle-3.0.3/autom4te.cache/requests b/lib/beagle-3.0.3/autom4te.cache/requests new file mode 100644 index 0000000..0a6f2b7 --- /dev/null +++ b/lib/beagle-3.0.3/autom4te.cache/requests @@ -0,0 +1,441 @@ +# This file was generated by Autom4te 2.71. +# It contains the lists of macros which have been traced. +# It can be safely removed. + +@request = ( + bless( [ + '0', + 1, + [ + '/usr/share/autoconf' + ], + [ + '/usr/share/autoconf/autoconf/autoconf.m4f', + '/usr/share/aclocal-1.16/internal/ac-config-macro-dirs.m4', + '/usr/share/aclocal/libtool.m4', + '/usr/share/aclocal/ltargz.m4', + '/usr/share/aclocal/ltdl.m4', + '/usr/share/aclocal/ltoptions.m4', + '/usr/share/aclocal/ltsugar.m4', + '/usr/share/aclocal/ltversion.m4', + '/usr/share/aclocal/lt~obsolete.m4', + '/usr/share/aclocal-1.16/amversion.m4', + '/usr/share/aclocal-1.16/auxdir.m4', + '/usr/share/aclocal-1.16/cond.m4', + '/usr/share/aclocal-1.16/depend.m4', + '/usr/share/aclocal-1.16/depout.m4', + '/usr/share/aclocal-1.16/init.m4', + '/usr/share/aclocal-1.16/install-sh.m4', + '/usr/share/aclocal-1.16/lead-dot.m4', + '/usr/share/aclocal-1.16/make.m4', + '/usr/share/aclocal-1.16/missing.m4', + '/usr/share/aclocal-1.16/obsolete.m4', + '/usr/share/aclocal-1.16/options.m4', + '/usr/share/aclocal-1.16/prog-cc-c-o.m4', + '/usr/share/aclocal-1.16/runlog.m4', + '/usr/share/aclocal-1.16/sanity.m4', + '/usr/share/aclocal-1.16/silent.m4', + '/usr/share/aclocal-1.16/strip.m4', + '/usr/share/aclocal-1.16/substnot.m4', + '/usr/share/aclocal-1.16/tar.m4', + 'm4/ac_cxx_bool.m4', + 'm4/ac_cxx_const_cast.m4', + 'm4/ac_cxx_default_template_parameters.m4', + 'm4/ac_cxx_dynamic_cast.m4', + 'm4/ac_cxx_exceptions.m4', + 'm4/ac_cxx_explicit.m4', + 'm4/ac_cxx_have_numeric_limits.m4', + 'm4/ac_cxx_have_sstream.m4', + 'm4/ac_cxx_have_std.m4', + 'm4/ac_cxx_have_stl.m4', + 'm4/ac_cxx_namespaces.m4', + 'm4/ac_cxx_reinterpret_cast.m4', + 'm4/ac_cxx_rtti.m4', + 'm4/ac_cxx_static_cast.m4', + 'm4/ac_cxx_template_qualified_base_class.m4', + 'm4/ac_cxx_template_qualified_return_type.m4', + 'm4/ac_cxx_template_scoped_argument_matching.m4', + 'm4/ac_cxx_templates.m4', + 'm4/ac_cxx_typename.m4', + 'm4/acx_pthread.m4', + 'm4/ax_prefix_config_h.m4', + 'm4/check_zlib.m4', + 'm4/ob_cxx_have_isinfinite.m4', + 'm4/ob_cxx_long_long.m4', + 'm4/ob_have_hash_map.m4', + 'm4/ob_have_hash_set.m4', + 'configure.ac' + ], + { + 'AC_CONFIG_MACRO_DIR_TRACE' => 1, + 'AC_ENABLE_SHARED' => 1, + 'AM_INIT_AUTOMAKE' => 1, + '_LT_REQUIRED_DARWIN_CHECKS' => 1, + 'AC_CXX_TEMPLATES' => 1, + '_LT_AC_LANG_GCJ' => 1, + 'LT_SYS_SYMBOL_USCORE' => 1, + 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, + 'AC_CXX_STDEXT_HASHMAP' => 1, + '_LT_AC_SYS_LIBPATH_AIX' => 1, + 'LT_PROG_GCJ' => 1, + '_LT_PATH_TOOL_PREFIX' => 1, + '_LT_AC_LANG_F77_CONFIG' => 1, + 'LTOBSOLETE_VERSION' => 1, + 'AM_C_PROTOTYPES' => 1, + '_LT_AC_LANG_CXX' => 1, + 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, + 'LT_AC_PROG_SED' => 1, + 'LT_PATH_NM' => 1, + '_AM_CONFIG_MACRO_DIRS' => 1, + 'AC_CXX_NAMESPACES' => 1, + '_AM_IF_OPTION' => 1, + 'LT_SYS_DLSEARCH_PATH' => 1, + 'AM_ENABLE_STATIC' => 1, + 'AC_LTDL_ENABLE_INSTALL' => 1, + 'AM_PROG_INSTALL_SH' => 1, + 'AC_DISABLE_FAST_INSTALL' => 1, + 'LT_LANG' => 1, + 'AC_LIB_LTDL' => 1, + 'AC_CXX_HAVE_STL' => 1, + 'AC_CHECK_LIBM' => 1, + 'AM_PROG_CC_STDC' => 1, + '_AM_PROG_CC_C_O' => 1, + 'AM_MAKE_INCLUDE' => 1, + 'LT_FUNC_ARGZ' => 1, + 'AC_LIBTOOL_PROG_CC_C_O' => 1, + '_LT_AC_PROG_CXXCPP' => 1, + 'AC_CXX_STDEXT_HASHSET' => 1, + '_LT_DLL_DEF_P' => 1, + '_LT_AC_FILE_LTDLL_C' => 1, + 'AC_LTDL_OBJDIR' => 1, + 'LT_AC_PROG_EGREP' => 1, + 'LTOPTIONS_VERSION' => 1, + 'AC_PROG_NM' => 1, + 'CHECK_ZLIB' => 1, + '_m4_warn' => 1, + 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, + '_AM_DEPENDENCIES' => 1, + '_LT_AC_CHECK_DLFCN' => 1, + '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'LT_INIT' => 1, + 'AC_PROG_EGREP' => 1, + 'ACX_PTHREAD' => 1, + '_LT_CC_BASENAME' => 1, + 'OB_CXX_HAVE_ISFINITE' => 1, + 'AC_CXX_RTTI' => 1, + '_LT_AC_TAGVAR' => 1, + 'LTVERSION_VERSION' => 1, + 'AM_DEP_TRACK' => 1, + 'AM_MISSING_PROG' => 1, + 'AC_DISABLE_STATIC' => 1, + 'LT_AC_PROG_RC' => 1, + '_LT_PROG_ECHO_BACKSLASH' => 1, + '_AC_PROG_LIBTOOL' => 1, + 'AC_PATH_TOOL_PREFIX' => 1, + 'AC_LIBTOOL_DLOPEN_SELF' => 1, + 'AM_SET_DEPDIR' => 1, + 'AM_PROG_CC_C_O' => 1, + 'AC_CXX_BOOL' => 1, + 'LT_AC_PROG_GCJ' => 1, + 'AM_DISABLE_SHARED' => 1, + 'OB_CXX_LONG_LONG' => 1, + 'AC_CXX_STD_HASHSET' => 1, + '_LT_AC_TAGCONFIG' => 1, + 'AC_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING' => 1, + 'AC_LIBTOOL_FC' => 1, + '_LT_PROG_LTMAIN' => 1, + '_AC_AM_CONFIG_HEADER_HOOK' => 1, + '_AM_AUTOCONF_VERSION' => 1, + 'AC_CXX_STD_HASHMAP' => 1, + 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1, + 'AC_DEPLIBS_CHECK_METHOD' => 1, + 'AC_LIBLTDL_INSTALLABLE' => 1, + 'LT_LIB_M' => 1, + 'AC_LIBTOOL_GCJ' => 1, + 'AC_LIBLTDL_CONVENIENCE' => 1, + 'LT_PROG_GO' => 1, + 'AC_LTDL_PREOPEN' => 1, + 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, + 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, + '_LTDL_SETUP' => 1, + 'AC_LIBTOOL_RC' => 1, + '_LT_AC_LANG_CXX_CONFIG' => 1, + 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, + '_AM_SUBST_NOTMAKE' => 1, + 'AM_MISSING_HAS_RUN' => 1, + 'AC_CXX_CONST_CAST' => 1, + 'AC_PROG_LIBTOOL' => 1, + '_LT_AC_LANG_F77' => 1, + 'AM_SANITY_CHECK' => 1, + 'AM_PROG_LD' => 1, + '_AM_SET_OPTIONS' => 1, + 'fp_C_PROTOTYPES' => 1, + 'LT_LIB_DLLOAD' => 1, + '_LT_LINKER_BOILERPLATE' => 1, + '_LT_AC_LANG_GCJ_CONFIG' => 1, + 'include' => 1, + 'LT_CMD_MAX_LEN' => 1, + 'LTDL_CONVENIENCE' => 1, + 'AM_PROG_INSTALL_STRIP' => 1, + 'LT_CONFIG_LTDL_DIR' => 1, + '_LT_COMPILER_BOILERPLATE' => 1, + 'AC_LIBTOOL_COMPILER_OPTION' => 1, + 'AC_LTDL_SHLIBPATH' => 1, + '_LT_AC_PROG_ECHO_BACKSLASH' => 1, + '_AM_SET_OPTION' => 1, + 'AM_PROG_NM' => 1, + 'AC_LIBTOOL_F77' => 1, + 'AC_LIBTOOL_LANG_C_CONFIG' => 1, + 'LT_SYS_MODULE_PATH' => 1, + '_LT_COMPILER_OPTION' => 1, + '_AM_MANGLE_OPTION' => 1, + 'AC_LTDL_SHLIBEXT' => 1, + 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, + 'AC_CXX_HAVE_STD' => 1, + 'LT_SYS_MODULE_EXT' => 1, + 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, + 'LT_WITH_LTDL' => 1, + '_LT_PROG_F77' => 1, + 'AC_CXX_EXCEPTIONS' => 1, + '_LT_AC_LOCK' => 1, + 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, + 'AC_ENABLE_STATIC' => 1, + 'AC_ENABLE_FAST_INSTALL' => 1, + 'AC_CXX_REINTERPRET_CAST' => 1, + 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, + 'AC_LTDL_SYSSEARCHPATH' => 1, + 'AC_LIBTOOL_SETUP' => 1, + '_LT_AC_LANG_RC_CONFIG' => 1, + 'AC_CONFIG_MACRO_DIR' => 1, + 'LT_PROG_RC' => 1, + 'LT_SUPPORTED_TAG' => 1, + '_LT_PREPARE_SED_QUOTE_VARS' => 1, + 'AC_LIBTOOL_OBJDIR' => 1, + '_LT_PROG_FC' => 1, + 'AC_PROG_LD_RELOAD_FLAG' => 1, + 'm4_include' => 1, + 'LT_OUTPUT' => 1, + 'AM_RUN_LOG' => 1, + 'AC_CXX_TEMPLATE_QUALIFIED_RETURN_TYPE' => 1, + 'AC_CXX_HAVE_SSTREAM' => 1, + 'AC_CXX_TEMPLATE_QUALIFIED_BASE_CLASS' => 1, + 'LT_SYS_DLOPEN_SELF' => 1, + '_AM_PROG_TAR' => 1, + 'AM_SILENT_RULES' => 1, + 'AM_SET_LEADING_DOT' => 1, + 'AC_WITH_LTDL' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'AC_LIBTOOL_LINKER_OPTION' => 1, + 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1, + '_LT_LIBOBJ' => 1, + 'AM_ENABLE_SHARED' => 1, + 'LTSUGAR_VERSION' => 1, + 'AC_LIBTOOL_WIN32_DLL' => 1, + 'AC_LIBTOOL_CONFIG' => 1, + 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, + 'AM_CONDITIONAL' => 1, + 'AM_AUX_DIR_EXPAND' => 1, + 'AM_SUBST_NOTMAKE' => 1, + 'AM_PROG_LIBTOOL' => 1, + '_LT_PROG_CXX' => 1, + 'AX_PREFIX_CONFIG_H' => 1, + 'm4_pattern_forbid' => 1, + 'AC_PROG_LD' => 1, + 'LT_FUNC_DLSYM_USCORE' => 1, + '_LT_AC_LANG_C_CONFIG' => 1, + 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, + 'AC_CXX_TYPENAME' => 1, + 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, + 'm4_pattern_allow' => 1, + '_LT_AC_SYS_COMPILER' => 1, + 'AC_PATH_MAGIC' => 1, + 'AC_CXX_GNUCXX_HASHMAP' => 1, + 'AC_CXX_STATIC_CAST' => 1, + 'AC_CXX_DEFAULT_TEMPLATE_PARAMETERS' => 1, + 'AC_DEFUN_ONCE' => 1, + 'AC_CXX_EXPLICIT' => 1, + 'LT_PATH_LD' => 1, + 'LTDL_INSTALLABLE' => 1, + 'AC_LIBTOOL_CXX' => 1, + 'AC_LIBTOOL_PICMODE' => 1, + 'AC_DEFUN' => 1, + 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, + 'AC_PROG_LD_GNU' => 1, + 'LT_SYS_DLOPEN_DEPLIBS' => 1, + 'LTDL_INIT' => 1, + 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, + 'AM_CONFIG_HEADER' => 1, + 'AU_DEFUN' => 1, + 'AC_LTDL_SYMBOL_USCORE' => 1, + 'AC_DISABLE_SHARED' => 1, + 'AC_LTDL_DLSYM_USCORE' => 1, + 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, + '_LT_LINKER_OPTION' => 1, + '_LT_WITH_SYSROOT' => 1, + '_LT_AC_SHELL_INIT' => 1, + 'AC_LIBTOOL_DLOPEN' => 1, + '_LT_AC_TRY_DLOPEN_SELF' => 1, + 'AC_CXX_DYNAMIC_CAST' => 1, + 'AC_CXX_HAVE_NUMERIC_LIMITS' => 1, + 'AM_DISABLE_STATIC' => 1, + 'AC_LTDL_DLLIB' => 1, + 'AC_CXX_GNUCXX_HASHSET' => 1 + } + ], 'Autom4te::Request' ), + bless( [ + '1', + 1, + [ + '/usr/share/autoconf' + ], + [ + '/usr/share/autoconf/autoconf/autoconf.m4f', + 'aclocal.m4', + 'configure.ac' + ], + { + 'AC_CONFIG_LINKS' => 1, + 'AM_MAINTAINER_MODE' => 1, + 'AC_FC_PP_SRCEXT' => 1, + 'AC_SUBST' => 1, + 'AM_PROG_CXX_C_O' => 1, + 'LT_SUPPORTED_TAG' => 1, + 'AM_PROG_MOC' => 1, + 'AC_CONFIG_FILES' => 1, + 'AM_MAKEFILE_INCLUDE' => 1, + 'AC_SUBST_TRACE' => 1, + 'IT_PROG_INTLTOOL' => 1, + 'AC_CANONICAL_TARGET' => 1, + 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, + 'm4_include' => 1, + '_AM_SUBST_NOTMAKE' => 1, + 'AC_CONFIG_HEADERS' => 1, + 'AC_CONFIG_SUBDIRS' => 1, + 'AM_SILENT_RULES' => 1, + 'AC_DEFINE_TRACE_LITERAL' => 1, + 'AM_ENABLE_MULTILIB' => 1, + '_m4_warn' => 1, + 'GTK_DOC_CHECK' => 1, + 'AM_PROG_AR' => 1, + 'AC_PROG_LIBTOOL' => 1, + 'AC_CONFIG_AUX_DIR' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'LT_INIT' => 1, + 'include' => 1, + 'AM_CONDITIONAL' => 1, + 'AC_CONFIG_MACRO_DIR_TRACE' => 1, + 'AC_CONFIG_LIBOBJ_DIR' => 1, + '_AM_COND_ENDIF' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'AC_FC_PP_DEFINE' => 1, + 'sinclude' => 1, + 'AH_OUTPUT' => 1, + 'LT_CONFIG_LTDL_DIR' => 1, + 'AC_CANONICAL_HOST' => 1, + 'm4_sinclude' => 1, + 'AC_CANONICAL_BUILD' => 1, + 'AC_FC_SRCEXT' => 1, + 'AC_LIBSOURCE' => 1, + 'AM_PROG_CC_C_O' => 1, + 'AM_PROG_LIBTOOL' => 1, + '_AM_COND_IF' => 1, + 'm4_pattern_forbid' => 1, + 'AC_FC_FREEFORM' => 1, + '_AM_COND_ELSE' => 1, + 'AM_POT_TOOLS' => 1, + 'AC_INIT' => 1, + 'AM_PROG_FC_C_O' => 1, + 'AM_PROG_F77_C_O' => 1, + 'AM_PROG_MKDIR_P' => 1, + 'AM_NLS' => 1, + 'AM_GNU_GETTEXT' => 1, + '_LT_AC_TAGCONFIG' => 1, + 'm4_pattern_allow' => 1, + 'AC_REQUIRE_AUX_FILE' => 1, + 'AC_CANONICAL_SYSTEM' => 1, + 'AM_PATH_GUILE' => 1, + 'AM_XGETTEXT_OPTION' => 1, + 'AM_EXTRA_RECURSIVE_TARGETS' => 1, + '_AM_MAKEFILE_INCLUDE' => 1 + } + ], 'Autom4te::Request' ), + bless( [ + '2', + 1, + [ + '/usr/share/autoconf' + ], + [ + '/usr/share/autoconf/autoconf/autoconf.m4f', + 'aclocal.m4', + '/usr/share/autoconf/autoconf/trailer.m4', + 'configure.ac' + ], + { + 'AM_PROG_CC_C_O' => 1, + 'AM_PROG_LIBTOOL' => 1, + 'AC_LIBSOURCE' => 1, + '_AM_COND_IF' => 1, + 'AC_FC_FREEFORM' => 1, + 'm4_pattern_forbid' => 1, + 'AC_FC_PP_DEFINE' => 1, + '_AM_COND_ENDIF' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'sinclude' => 1, + 'AM_CONDITIONAL' => 1, + 'AC_CONFIG_MACRO_DIR_TRACE' => 1, + 'AC_CONFIG_LIBOBJ_DIR' => 1, + 'AC_CANONICAL_HOST' => 1, + 'LT_CONFIG_LTDL_DIR' => 1, + 'AC_FC_SRCEXT' => 1, + 'm4_sinclude' => 1, + 'AC_CANONICAL_BUILD' => 1, + 'AH_OUTPUT' => 1, + 'AC_CANONICAL_SYSTEM' => 1, + 'AC_REQUIRE_AUX_FILE' => 1, + 'm4_pattern_allow' => 1, + '_AM_MAKEFILE_INCLUDE' => 1, + 'AM_EXTRA_RECURSIVE_TARGETS' => 1, + 'AM_XGETTEXT_OPTION' => 1, + 'AM_PATH_GUILE' => 1, + 'AM_POT_TOOLS' => 1, + 'AC_INIT' => 1, + '_AM_COND_ELSE' => 1, + 'AM_NLS' => 1, + 'AM_GNU_GETTEXT' => 1, + 'AM_PROG_MKDIR_P' => 1, + '_LT_AC_TAGCONFIG' => 1, + 'AM_PROG_FC_C_O' => 1, + 'AM_PROG_F77_C_O' => 1, + 'IT_PROG_INTLTOOL' => 1, + 'AM_MAKEFILE_INCLUDE' => 1, + 'AC_CONFIG_FILES' => 1, + 'AC_SUBST_TRACE' => 1, + 'AC_CONFIG_SUBDIRS' => 1, + 'AC_CONFIG_HEADERS' => 1, + '_AM_SUBST_NOTMAKE' => 1, + 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, + 'AC_CANONICAL_TARGET' => 1, + 'm4_include' => 1, + 'AC_SUBST' => 1, + 'AC_CONFIG_LINKS' => 1, + 'AM_MAINTAINER_MODE' => 1, + 'AC_FC_PP_SRCEXT' => 1, + 'AM_PROG_CXX_C_O' => 1, + 'AM_PROG_MOC' => 1, + 'LT_SUPPORTED_TAG' => 1, + 'LT_INIT' => 1, + 'include' => 1, + '_m4_warn' => 1, + 'GTK_DOC_CHECK' => 1, + 'AM_ENABLE_MULTILIB' => 1, + 'AM_PROG_AR' => 1, + 'AC_PROG_LIBTOOL' => 1, + 'AM_SILENT_RULES' => 1, + 'AC_DEFINE_TRACE_LITERAL' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'AC_CONFIG_AUX_DIR' => 1 + } + ], 'Autom4te::Request' ) + ); + diff --git a/lib/beagle-3.0.3/autom4te.cache/traces.0 b/lib/beagle-3.0.3/autom4te.cache/traces.0 new file mode 100644 index 0000000..0ce25b1 --- /dev/null +++ b/lib/beagle-3.0.3/autom4te.cache/traces.0 @@ -0,0 +1,4107 @@ +m4trace:/usr/share/aclocal/libtool.m4:62: -1- AC_DEFUN([LT_INIT], [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK +AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +_LT_SETUP + +# Only expand once: +m4_define([LT_INIT]) +]) +m4trace:/usr/share/aclocal/libtool.m4:100: -1- AU_DEFUN([AC_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])], [], []) +m4trace:/usr/share/aclocal/libtool.m4:100: -1- AC_DEFUN([AC_PROG_LIBTOOL], [m4_warn([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:101: -1- AU_DEFUN([AM_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])], [], []) +m4trace:/usr/share/aclocal/libtool.m4:101: -1- AC_DEFUN([AM_PROG_LIBTOOL], [m4_warn([obsolete], [The macro `AM_PROG_LIBTOOL' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:621: -1- AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], +[# Run this file to recreate a libtool stub with the current configuration.]) + +cat >>"$CONFIG_LT" <<\_LTEOF +lt_cl_silent=false +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +'$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to ." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2011 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." + +while test 0 != $[#] +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try '$[0] --help' for more information.]) ;; + + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try '$[0] --help' for more information.]) ;; + esac + shift +done + +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null +fi +_LTEOF + +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +lt_cl_success=: +test yes = "$silent" && + lt_config_lt_args="$lt_config_lt_args --quiet" +exec AS_MESSAGE_LOG_FD>/dev/null +$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +exec AS_MESSAGE_LOG_FD>>config.log +$lt_cl_success || AS_EXIT(1) +]) +m4trace:/usr/share/aclocal/libtool.m4:813: -1- AC_DEFUN([LT_SUPPORTED_TAG], []) +m4trace:/usr/share/aclocal/libtool.m4:824: -1- AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Go], [_LT_LANG(GO)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +]) +m4trace:/usr/share/aclocal/libtool.m4:916: -1- AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +m4trace:/usr/share/aclocal/libtool.m4:916: -1- AC_DEFUN([AC_LIBTOOL_CXX], [m4_warn([obsolete], [The macro `AC_LIBTOOL_CXX' is obsolete. +You should run autoupdate.])dnl +LT_LANG(C++)]) +m4trace:/usr/share/aclocal/libtool.m4:917: -1- AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +m4trace:/usr/share/aclocal/libtool.m4:917: -1- AC_DEFUN([AC_LIBTOOL_F77], [m4_warn([obsolete], [The macro `AC_LIBTOOL_F77' is obsolete. +You should run autoupdate.])dnl +LT_LANG(Fortran 77)]) +m4trace:/usr/share/aclocal/libtool.m4:918: -1- AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +m4trace:/usr/share/aclocal/libtool.m4:918: -1- AC_DEFUN([AC_LIBTOOL_FC], [m4_warn([obsolete], [The macro `AC_LIBTOOL_FC' is obsolete. +You should run autoupdate.])dnl +LT_LANG(Fortran)]) +m4trace:/usr/share/aclocal/libtool.m4:919: -1- AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +m4trace:/usr/share/aclocal/libtool.m4:919: -1- AC_DEFUN([AC_LIBTOOL_GCJ], [m4_warn([obsolete], [The macro `AC_LIBTOOL_GCJ' is obsolete. +You should run autoupdate.])dnl +LT_LANG(Java)]) +m4trace:/usr/share/aclocal/libtool.m4:920: -1- AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) +m4trace:/usr/share/aclocal/libtool.m4:920: -1- AC_DEFUN([AC_LIBTOOL_RC], [m4_warn([obsolete], [The macro `AC_LIBTOOL_RC' is obsolete. +You should run autoupdate.])dnl +LT_LANG(Windows Resource)]) +m4trace:/usr/share/aclocal/libtool.m4:1243: -1- AC_DEFUN([_LT_WITH_SYSROOT], [m4_require([_LT_DECL_SED])dnl +AC_MSG_CHECKING([for sysroot]) +AC_ARG_WITH([sysroot], +[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], + [Search for dependent libraries within DIR (or the compiler's sysroot + if not specified).])], +[], [with_sysroot=no]) + +dnl lt_sysroot will always be passed unquoted. We quote it here +dnl in case the user passed a directory name. +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + AC_MSG_RESULT([$with_sysroot]) + AC_MSG_ERROR([The sysroot must be an absolute path.]) + ;; +esac + + AC_MSG_RESULT([${lt_sysroot:-no}]) +_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl +[dependent libraries, and where our libraries should be installed.])]) +m4trace:/usr/share/aclocal/libtool.m4:1588: -1- AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test yes = "[$]$2"; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:1630: -1- AU_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])], [], []) +m4trace:/usr/share/aclocal/libtool.m4:1630: -1- AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [m4_warn([obsolete], [The macro `AC_LIBTOOL_COMPILER_OPTION' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:1639: -1- AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS +]) + +if test yes = "[$]$2"; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +]) +m4trace:/usr/share/aclocal/libtool.m4:1674: -1- AU_DEFUN([AC_LIBTOOL_LINKER_OPTION], [m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])], [], []) +m4trace:/usr/share/aclocal/libtool.m4:1674: -1- AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [m4_warn([obsolete], [The macro `AC_LIBTOOL_LINKER_OPTION' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:1681: -1- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n "$lt_cv_sys_max_cmd_len"; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +]) +m4trace:/usr/share/aclocal/libtool.m4:1820: -1- AU_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])], [], []) +m4trace:/usr/share/aclocal/libtool.m4:1820: -1- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [m4_warn([obsolete], [The macro `AC_LIBTOOL_SYS_MAX_CMD_LEN' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:1931: -1- AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl +if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen=shl_load], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen=dlopen], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +]) +m4trace:/usr/share/aclocal/libtool.m4:2056: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])], [], []) +m4trace:/usr/share/aclocal/libtool.m4:2056: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [m4_warn([obsolete], [The macro `AC_LIBTOOL_DLOPEN_SELF' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:3186: -1- AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="m4_if([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$1"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac]) +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +]) +m4trace:/usr/share/aclocal/libtool.m4:3248: -1- AU_DEFUN([AC_PATH_TOOL_PREFIX], [m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])], [], []) +m4trace:/usr/share/aclocal/libtool.m4:3248: -1- AC_DEFUN([AC_PATH_TOOL_PREFIX], [m4_warn([obsolete], [The macro `AC_PATH_TOOL_PREFIX' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:3271: -1- AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PROG_ECHO_BACKSLASH])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test no = "$withval" || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 | $SED '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi]) +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + AC_SUBST([DUMPBIN]) + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl + +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +]) +m4trace:/usr/share/aclocal/libtool.m4:3785: -1- AU_DEFUN([AM_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])], [], []) +m4trace:/usr/share/aclocal/libtool.m4:3785: -1- AC_DEFUN([AM_PROG_NM], [m4_warn([obsolete], [The macro `AM_PROG_NM' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:3786: -1- AU_DEFUN([AC_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])], [], []) +m4trace:/usr/share/aclocal/libtool.m4:3786: -1- AC_DEFUN([AC_PROG_NM], [m4_warn([obsolete], [The macro `AC_PROG_NM' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:3857: -1- AC_DEFUN([_LT_DLL_DEF_P], [dnl + test DEF = "`$SED -n dnl + -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace + -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments + -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl + -e q dnl Only consider the first "real" line + $1`" dnl +]) +m4trace:/usr/share/aclocal/libtool.m4:3871: -1- AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM=-lm) + ;; +esac +AC_SUBST([LIBM]) +]) +m4trace:/usr/share/aclocal/libtool.m4:3890: -1- AU_DEFUN([AC_CHECK_LIBM], [m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])], [], []) +m4trace:/usr/share/aclocal/libtool.m4:3890: -1- AC_DEFUN([AC_CHECK_LIBM], [m4_warn([obsolete], [The macro `AC_CHECK_LIBM' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:8172: -1- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) +m4trace:/usr/share/aclocal/libtool.m4:8181: -1- AU_DEFUN([LT_AC_PROG_GCJ], [m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])], [], []) +m4trace:/usr/share/aclocal/libtool.m4:8181: -1- AC_DEFUN([LT_AC_PROG_GCJ], [m4_warn([obsolete], [The macro `LT_AC_PROG_GCJ' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:8188: -1- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) +]) +m4trace:/usr/share/aclocal/libtool.m4:8195: -1- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) +]) +m4trace:/usr/share/aclocal/libtool.m4:8200: -1- AU_DEFUN([LT_AC_PROG_RC], [m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])], [], []) +m4trace:/usr/share/aclocal/libtool.m4:8200: -1- AC_DEFUN([LT_AC_PROG_RC], [m4_warn([obsolete], [The macro `LT_AC_PROG_RC' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) +m4trace:/usr/share/aclocal/libtool.m4:8328: -1- AU_DEFUN([LT_AC_PROG_SED], [m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])], [], []) +m4trace:/usr/share/aclocal/libtool.m4:8328: -1- AC_DEFUN([LT_AC_PROG_SED], [m4_warn([obsolete], [The macro `LT_AC_PROG_SED' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) +m4trace:/usr/share/aclocal/ltargz.m4:13: -1- AC_DEFUN([LT_FUNC_ARGZ], [ +dnl Required for use of '$SED' in Cygwin configuration. +AC_REQUIRE([AC_PROG_SED])dnl +AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) + +AC_CHECK_TYPES([error_t], + [], + [AC_DEFINE([error_t], [int], + [Define to a type to use for 'error_t' if it is not otherwise available.]) + AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h + does not typedef error_t.])], + [#if defined(HAVE_ARGZ_H) +# include +#endif]) + +LT_ARGZ_H= +AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \ + argz_next argz_stringify], [], [LT_ARGZ_H=lt__argz.h; AC_LIBOBJ([lt__argz])]) + +dnl if have system argz functions, allow forced use of +dnl libltdl-supplied implementation (and default to do so +dnl on "known bad" systems). Could use a runtime check, but +dnl (a) detecting malloc issues is notoriously unreliable +dnl (b) only known system that declares argz functions, +dnl provides them, yet they are broken, is cygwin +dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) +dnl So, it's more straightforward simply to special case +dnl this for known bad systems. +AS_IF([test -z "$LT_ARGZ_H"], + [AC_CACHE_CHECK( + [if argz actually works], + [lt_cv_sys_argz_works], + [[case $host_os in #( + *cygwin*) + lt_cv_sys_argz_works=no + if test no != "$cross_compiling"; then + lt_cv_sys_argz_works="guessing no" + else + lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' + save_IFS=$IFS + IFS=-. + set x `uname -r | $SED -e "$lt_sed_extract_leading_digits"` + IFS=$save_IFS + lt_os_major=${2-0} + lt_os_minor=${3-0} + lt_os_micro=${4-0} + if test 1 -lt "$lt_os_major" \ + || { test 1 -eq "$lt_os_major" \ + && { test 5 -lt "$lt_os_minor" \ + || { test 5 -eq "$lt_os_minor" \ + && test 24 -lt "$lt_os_micro"; }; }; }; then + lt_cv_sys_argz_works=yes + fi + fi + ;; #( + *) lt_cv_sys_argz_works=yes ;; + esac]]) + AS_IF([test yes = "$lt_cv_sys_argz_works"], + [AC_DEFINE([HAVE_WORKING_ARGZ], 1, + [This value is set to 1 to indicate that the system argz facility works])], + [LT_ARGZ_H=lt__argz.h + AC_LIBOBJ([lt__argz])])]) + +AC_SUBST([LT_ARGZ_H]) +]) +m4trace:/usr/share/aclocal/ltdl.m4:17: -1- AC_DEFUN([LT_CONFIG_LTDL_DIR], [AC_BEFORE([$0], [LTDL_INIT]) +_$0($*) +]) +m4trace:/usr/share/aclocal/ltdl.m4:69: -1- AC_DEFUN([LTDL_CONVENIENCE], [AC_BEFORE([$0], [LTDL_INIT])dnl +dnl Although the argument is deprecated and no longer documented, +dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one +dnl here make sure it is the same as any other declaration of libltdl's +dnl location! This also ensures lt_ltdl_dir is set when configure.ac is +dnl not yet using an explicit LT_CONFIG_LTDL_DIR. +m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl +_$0() +]) +m4trace:/usr/share/aclocal/ltdl.m4:82: -1- AU_DEFUN([AC_LIBLTDL_CONVENIENCE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_CONVENIENCE]) +m4trace:/usr/share/aclocal/ltdl.m4:82: -1- AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [m4_warn([obsolete], [The macro `AC_LIBLTDL_CONVENIENCE' is obsolete. +You should run autoupdate.])dnl +_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_CONVENIENCE]) +m4trace:/usr/share/aclocal/ltdl.m4:125: -1- AC_DEFUN([LTDL_INSTALLABLE], [AC_BEFORE([$0], [LTDL_INIT])dnl +dnl Although the argument is deprecated and no longer documented, +dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one +dnl here make sure it is the same as any other declaration of libltdl's +dnl location! This also ensures lt_ltdl_dir is set when configure.ac is +dnl not yet using an explicit LT_CONFIG_LTDL_DIR. +m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl +_$0() +]) +m4trace:/usr/share/aclocal/ltdl.m4:138: -1- AU_DEFUN([AC_LIBLTDL_INSTALLABLE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_INSTALLABLE]) +m4trace:/usr/share/aclocal/ltdl.m4:138: -1- AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [m4_warn([obsolete], [The macro `AC_LIBLTDL_INSTALLABLE' is obsolete. +You should run autoupdate.])dnl +_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) +_LTDL_INSTALLABLE]) +m4trace:/usr/share/aclocal/ltdl.m4:214: -1- AC_DEFUN([_LT_LIBOBJ], [ + m4_pattern_allow([^_LT_LIBOBJS$]) + _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext" +]) +m4trace:/usr/share/aclocal/ltdl.m4:227: -1- AC_DEFUN([LTDL_INIT], [dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +dnl We need to keep our own list of libobjs separate from our parent project, +dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while +dnl we look for our own LIBOBJs. +m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ])) +m4_pushdef([AC_LIBSOURCES]) + +dnl If not otherwise defined, default to the 1.5.x compatible subproject mode: +m4_if(_LTDL_MODE, [], + [m4_define([_LTDL_MODE], m4_default([$2], [subproject])) + m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])], + [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])]) + +AC_ARG_WITH([included_ltdl], + [AS_HELP_STRING([--with-included-ltdl], + [use the GNU ltdl sources included here])]) + +if test yes != "$with_included_ltdl"; then + # We are not being forced to use the included libltdl sources, so + # decide whether there is a useful installed version we can use. + AC_CHECK_HEADER([ltdl.h], + [AC_CHECK_DECL([lt_dlinterface_register], + [AC_CHECK_LIB([ltdl], [lt_dladvise_preload], + [with_included_ltdl=no], + [with_included_ltdl=yes])], + [with_included_ltdl=yes], + [AC_INCLUDES_DEFAULT + #include ])], + [with_included_ltdl=yes], + [AC_INCLUDES_DEFAULT] + ) +fi + +dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE +dnl was called yet, then for old times' sake, we assume libltdl is in an +dnl eponymous directory: +AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])]) + +AC_ARG_WITH([ltdl_include], + [AS_HELP_STRING([--with-ltdl-include=DIR], + [use the ltdl headers installed in DIR])]) + +if test -n "$with_ltdl_include"; then + if test -f "$with_ltdl_include/ltdl.h"; then : + else + AC_MSG_ERROR([invalid ltdl include directory: '$with_ltdl_include']) + fi +else + with_ltdl_include=no +fi + +AC_ARG_WITH([ltdl_lib], + [AS_HELP_STRING([--with-ltdl-lib=DIR], + [use the libltdl.la installed in DIR])]) + +if test -n "$with_ltdl_lib"; then + if test -f "$with_ltdl_lib/libltdl.la"; then : + else + AC_MSG_ERROR([invalid ltdl library directory: '$with_ltdl_lib']) + fi +else + with_ltdl_lib=no +fi + +case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in + ,yes,no,no,) + m4_case(m4_default(_LTDL_TYPE, [convenience]), + [convenience], [_LTDL_CONVENIENCE], + [installable], [_LTDL_INSTALLABLE], + [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)]) + ;; + ,no,no,no,) + # If the included ltdl is not to be used, then use the + # preinstalled libltdl we found. + AC_DEFINE([HAVE_LTDL], [1], + [Define this if a modern libltdl is already installed]) + LIBLTDL=-lltdl + LTDLDEPS= + LTDLINCL= + ;; + ,no*,no,*) + AC_MSG_ERROR(['--with-ltdl-include' and '--with-ltdl-lib' options must be used together]) + ;; + *) with_included_ltdl=no + LIBLTDL="-L$with_ltdl_lib -lltdl" + LTDLDEPS= + LTDLINCL=-I$with_ltdl_include + ;; +esac +INCLTDL=$LTDLINCL + +# Report our decision... +AC_MSG_CHECKING([where to find libltdl headers]) +AC_MSG_RESULT([$LTDLINCL]) +AC_MSG_CHECKING([where to find libltdl library]) +AC_MSG_RESULT([$LIBLTDL]) + +_LTDL_SETUP + +dnl restore autoconf definition. +m4_popdef([AC_LIBOBJ]) +m4_popdef([AC_LIBSOURCES]) + +AC_CONFIG_COMMANDS_PRE([ + _ltdl_libobjs= + _ltdl_ltlibobjs= + if test -n "$_LT_LIBOBJS"; then + # Remove the extension. + _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' + for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | $SED "$_lt_sed_drop_objext" | sort -u`; do + _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" + _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" + done + fi + AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs]) + AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs]) +]) + +# Only expand once: +m4_define([LTDL_INIT]) +]) +m4trace:/usr/share/aclocal/ltdl.m4:353: -1- AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)]) +m4trace:/usr/share/aclocal/ltdl.m4:353: -1- AC_DEFUN([AC_LIB_LTDL], [m4_warn([obsolete], [The macro `AC_LIB_LTDL' is obsolete. +You should run autoupdate.])dnl +LTDL_INIT($@)]) +m4trace:/usr/share/aclocal/ltdl.m4:354: -1- AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)]) +m4trace:/usr/share/aclocal/ltdl.m4:354: -1- AC_DEFUN([AC_WITH_LTDL], [m4_warn([obsolete], [The macro `AC_WITH_LTDL' is obsolete. +You should run autoupdate.])dnl +LTDL_INIT($@)]) +m4trace:/usr/share/aclocal/ltdl.m4:355: -1- AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)]) +m4trace:/usr/share/aclocal/ltdl.m4:355: -1- AC_DEFUN([LT_WITH_LTDL], [m4_warn([obsolete], [The macro `LT_WITH_LTDL' is obsolete. +You should run autoupdate.])dnl +LTDL_INIT($@)]) +m4trace:/usr/share/aclocal/ltdl.m4:368: -1- AC_DEFUN([_LTDL_SETUP], [AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_SYS_MODULE_EXT])dnl +AC_REQUIRE([LT_SYS_MODULE_PATH])dnl +AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl +AC_REQUIRE([LT_LIB_DLLOAD])dnl +AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl +AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl +AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl +AC_REQUIRE([LT_FUNC_ARGZ])dnl + +m4_require([_LT_CHECK_OBJDIR])dnl +m4_require([_LT_HEADER_DLFCN])dnl +m4_require([_LT_CHECK_DLPREOPEN])dnl +m4_require([_LT_DECL_SED])dnl + +dnl Don't require this, or it will be expanded earlier than the code +dnl that sets the variables it relies on: +_LT_ENABLE_INSTALL + +dnl _LTDL_MODE specific code must be called at least once: +_LTDL_MODE_DISPATCH + +# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS +# the user used. This is so that ltdl.h can pick up the parent projects +# config.h file, The first file in AC_CONFIG_HEADERS must contain the +# definitions required by ltdl.c. +# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). +AC_CONFIG_COMMANDS_PRE([dnl +m4_pattern_allow([^LT_CONFIG_H$])dnl +m4_ifset([AH_HEADER], + [LT_CONFIG_H=AH_HEADER], + [m4_ifset([AC_LIST_HEADERS], + [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's|^[[ ]]*||;s|[[ :]].*$||'`], + [])])]) +AC_SUBST([LT_CONFIG_H]) + +AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h], + [], [], [AC_INCLUDES_DEFAULT]) + +AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])]) +AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])]) + +m4_pattern_allow([LT_LIBEXT])dnl +AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension]) + +name= +eval "lt_libprefix=\"$libname_spec\"" +m4_pattern_allow([LT_LIBPREFIX])dnl +AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix]) + +name=ltdl +eval "LTDLOPEN=\"$libname_spec\"" +AC_SUBST([LTDLOPEN]) +]) +m4trace:/usr/share/aclocal/ltdl.m4:444: -1- AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_CACHE_CHECK([whether deplibs are loaded by dlopen], + [lt_cv_sys_dlopen_deplibs], + [# PORTME does your system automatically load deplibs for dlopen? + # or its logical equivalent (e.g. shl_load for HP-UX < 11) + # For now, we just catch OSes we know something about -- in the + # future, we'll try test this programmatically. + lt_cv_sys_dlopen_deplibs=unknown + case $host_os in + aix3*|aix4.1.*|aix4.2.*) + # Unknown whether this is true for these versions of AIX, but + # we want this 'case' here to explicitly catch those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + aix[[4-9]]*) + lt_cv_sys_dlopen_deplibs=yes + ;; + amigaos*) + case $host_cpu in + powerpc) + lt_cv_sys_dlopen_deplibs=no + ;; + esac + ;; + bitrig*) + lt_cv_sys_dlopen_deplibs=yes + ;; + darwin*) + # Assuming the user has installed a libdl from somewhere, this is true + # If you are looking for one http://www.opendarwin.org/projects/dlcompat + lt_cv_sys_dlopen_deplibs=yes + ;; + freebsd* | dragonfly* | midnightbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) + # GNU and its variants, using gnu ld.so (Glibc) + lt_cv_sys_dlopen_deplibs=yes + ;; + hpux10*|hpux11*) + lt_cv_sys_dlopen_deplibs=yes + ;; + interix*) + lt_cv_sys_dlopen_deplibs=yes + ;; + irix[[12345]]*|irix6.[[01]]*) + # Catch all versions of IRIX before 6.2, and indicate that we don't + # know how it worked for any of those versions. + lt_cv_sys_dlopen_deplibs=unknown + ;; + irix*) + # The case above catches anything before 6.2, and it's known that + # at 6.2 and later dlopen does load deplibs. + lt_cv_sys_dlopen_deplibs=yes + ;; + netbsd* | netbsdelf*-gnu) + lt_cv_sys_dlopen_deplibs=yes + ;; + openbsd*) + lt_cv_sys_dlopen_deplibs=yes + ;; + osf[[1234]]*) + # dlopen did load deplibs (at least at 4.x), but until the 5.x series, + # it did *not* use an RPATH in a shared library to find objects the + # library depends on, so we explicitly say 'no'. + lt_cv_sys_dlopen_deplibs=no + ;; + osf5.0|osf5.0a|osf5.1) + # dlopen *does* load deplibs and with the right loader patch applied + # it even uses RPATH in a shared library to search for shared objects + # that the library depends on, but there's no easy way to know if that + # patch is installed. Since this is the case, all we can really + # say is unknown -- it depends on the patch being installed. If + # it is, this changes to 'yes'. Without it, it would be 'no'. + lt_cv_sys_dlopen_deplibs=unknown + ;; + osf*) + # the two cases above should catch all versions of osf <= 5.1. Read + # the comments above for what we know about them. + # At > 5.1, deplibs are loaded *and* any RPATH in a shared library + # is used to find them so we can finally say 'yes'. + lt_cv_sys_dlopen_deplibs=yes + ;; + qnx*) + lt_cv_sys_dlopen_deplibs=yes + ;; + solaris*) + lt_cv_sys_dlopen_deplibs=yes + ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; + esac + ]) +if test yes != "$lt_cv_sys_dlopen_deplibs"; then + AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], + [Define if the OS needs help to load dependent libraries for dlopen().]) +fi +]) +m4trace:/usr/share/aclocal/ltdl.m4:546: -1- AU_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])], [], []) +m4trace:/usr/share/aclocal/ltdl.m4:546: -1- AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [m4_warn([obsolete], [The macro `AC_LTDL_SYS_DLOPEN_DEPLIBS' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:553: -1- AC_DEFUN([LT_SYS_MODULE_EXT], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([what extension is used for runtime loadable modules], + [libltdl_cv_shlibext], +[ +module=yes +eval libltdl_cv_shlibext=$shrext_cmds +module=no +eval libltdl_cv_shrext=$shrext_cmds + ]) +if test -n "$libltdl_cv_shlibext"; then + m4_pattern_allow([LT_MODULE_EXT])dnl + AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"], + [Define to the extension used for runtime loadable modules, say, ".so".]) +fi +if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then + m4_pattern_allow([LT_SHARED_EXT])dnl + AC_DEFINE_UNQUOTED([LT_SHARED_EXT], ["$libltdl_cv_shrext"], + [Define to the shared library suffix, say, ".dylib".]) +fi +if test -n "$shared_archive_member_spec"; then + m4_pattern_allow([LT_SHARED_LIB_MEMBER])dnl + AC_DEFINE_UNQUOTED([LT_SHARED_LIB_MEMBER], ["($shared_archive_member_spec.o)"], + [Define to the shared archive member specification, say "(shr.o)".]) +fi +]) +m4trace:/usr/share/aclocal/ltdl.m4:581: -1- AU_DEFUN([AC_LTDL_SHLIBEXT], [m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])], [], []) +m4trace:/usr/share/aclocal/ltdl.m4:581: -1- AC_DEFUN([AC_LTDL_SHLIBEXT], [m4_warn([obsolete], [The macro `AC_LTDL_SHLIBEXT' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:588: -1- AC_DEFUN([LT_SYS_MODULE_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([what variable specifies run-time module search path], + [lt_cv_module_path_var], [lt_cv_module_path_var=$shlibpath_var]) +if test -n "$lt_cv_module_path_var"; then + m4_pattern_allow([LT_MODULE_PATH_VAR])dnl + AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"], + [Define to the name of the environment variable that determines the run-time module search path.]) +fi +]) +m4trace:/usr/share/aclocal/ltdl.m4:600: -1- AU_DEFUN([AC_LTDL_SHLIBPATH], [m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])], [], []) +m4trace:/usr/share/aclocal/ltdl.m4:600: -1- AC_DEFUN([AC_LTDL_SHLIBPATH], [m4_warn([obsolete], [The macro `AC_LTDL_SHLIBPATH' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:607: -1- AC_DEFUN([LT_SYS_DLSEARCH_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl +AC_CACHE_CHECK([for the default library search path], + [lt_cv_sys_dlsearch_path], + [lt_cv_sys_dlsearch_path=$sys_lib_dlsearch_path_spec]) +if test -n "$lt_cv_sys_dlsearch_path"; then + sys_dlsearch_path= + for dir in $lt_cv_sys_dlsearch_path; do + if test -z "$sys_dlsearch_path"; then + sys_dlsearch_path=$dir + else + sys_dlsearch_path=$sys_dlsearch_path$PATH_SEPARATOR$dir + fi + done + m4_pattern_allow([LT_DLSEARCH_PATH])dnl + AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"], + [Define to the system default library search path.]) +fi +]) +m4trace:/usr/share/aclocal/ltdl.m4:628: -1- AU_DEFUN([AC_LTDL_SYSSEARCHPATH], [m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])], [], []) +m4trace:/usr/share/aclocal/ltdl.m4:628: -1- AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [m4_warn([obsolete], [The macro `AC_LTDL_SYSSEARCHPATH' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:654: -1- AC_DEFUN([LT_LIB_DLLOAD], [m4_pattern_allow([^LT_DLLOADERS$]) +LT_DLLOADERS= +AC_SUBST([LT_DLLOADERS]) + +AC_LANG_PUSH([C]) +lt_dlload_save_LIBS=$LIBS + +LIBADD_DLOPEN= +AC_SEARCH_LIBS([dlopen], [dl], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + if test "$ac_cv_search_dlopen" != "none required"; then + LIBADD_DLOPEN=-ldl + fi + libltdl_cv_lib_dl_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H +# include +#endif + ]], [[dlopen(0, 0);]])], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], + [AC_CHECK_LIB([svld], [dlopen], + [AC_DEFINE([HAVE_LIBDL], [1], + [Define if you have the libdl library or equivalent.]) + LIBADD_DLOPEN=-lsvld libltdl_cv_func_dlopen=yes + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])]) +if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen" +then + lt_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + AC_CHECK_FUNCS([dlerror]) + LIBS=$lt_save_LIBS +fi +AC_SUBST([LIBADD_DLOPEN]) + +LIBADD_SHL_LOAD= +AC_CHECK_FUNC([shl_load], + [AC_DEFINE([HAVE_SHL_LOAD], [1], + [Define if you have the shl_load function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"], + [AC_CHECK_LIB([dld], [shl_load], + [AC_DEFINE([HAVE_SHL_LOAD], [1], + [Define if you have the shl_load function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" + LIBADD_SHL_LOAD=-ldld])]) +AC_SUBST([LIBADD_SHL_LOAD]) + +case $host_os in +darwin[[1567]].*) +# We only want this for pre-Mac OS X 10.4. + AC_CHECK_FUNC([_dyld_func_lookup], + [AC_DEFINE([HAVE_DYLD], [1], + [Define if you have the _dyld_func_lookup function.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"]) + ;; +beos*) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" + ;; +cygwin* | mingw* | pw32*) + AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include ]]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" + ;; +esac + +AC_CHECK_LIB([dld], [dld_link], + [AC_DEFINE([HAVE_DLD], [1], + [Define if you have the GNU dld library.]) + LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"]) +AC_SUBST([LIBADD_DLD_LINK]) + +m4_pattern_allow([^LT_DLPREOPEN$]) +LT_DLPREOPEN= +if test -n "$LT_DLLOADERS" +then + for lt_loader in $LT_DLLOADERS; do + LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " + done + AC_DEFINE([HAVE_LIBDLLOADER], [1], + [Define if libdlloader will be built on this platform]) +fi +AC_SUBST([LT_DLPREOPEN]) + +dnl This isn't used anymore, but set it for backwards compatibility +LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" +AC_SUBST([LIBADD_DL]) + +LIBS=$lt_dlload_save_LIBS +AC_LANG_POP +]) +m4trace:/usr/share/aclocal/ltdl.m4:749: -1- AU_DEFUN([AC_LTDL_DLLIB], [m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])], [], []) +m4trace:/usr/share/aclocal/ltdl.m4:749: -1- AC_DEFUN([AC_LTDL_DLLIB], [m4_warn([obsolete], [The macro `AC_LTDL_DLLIB' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:757: -1- AC_DEFUN([LT_SYS_SYMBOL_USCORE], [m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +AC_CACHE_CHECK([for _ prefix in compiled symbols], + [lt_cv_sys_symbol_underscore], + [lt_cv_sys_symbol_underscore=no + cat > conftest.$ac_ext <<_LT_EOF +void nm_test_func(){} +int main(){nm_test_func;return 0;} +_LT_EOF + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + ac_nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then + # See whether the symbols have a leading underscore. + if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then + lt_cv_sys_symbol_underscore=yes + else + if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then + : + else + echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD + fi + fi + else + echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.c >&AS_MESSAGE_LOG_FD + fi + rm -rf conftest* + ]) + sys_symbol_underscore=$lt_cv_sys_symbol_underscore + AC_SUBST([sys_symbol_underscore]) +]) +m4trace:/usr/share/aclocal/ltdl.m4:794: -1- AU_DEFUN([AC_LTDL_SYMBOL_USCORE], [m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])], [], []) +m4trace:/usr/share/aclocal/ltdl.m4:794: -1- AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [m4_warn([obsolete], [The macro `AC_LTDL_SYMBOL_USCORE' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) +m4trace:/usr/share/aclocal/ltdl.m4:801: -1- AC_DEFUN([LT_FUNC_DLSYM_USCORE], [AC_REQUIRE([_LT_COMPILER_PIC])dnl for lt_prog_compiler_wl +AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl for lt_cv_sys_symbol_underscore +AC_REQUIRE([LT_SYS_MODULE_EXT])dnl for libltdl_cv_shlibext +if test yes = "$lt_cv_sys_symbol_underscore"; then + if test yes = "$libltdl_cv_func_dlopen" || test yes = "$libltdl_cv_lib_dl_dlopen"; then + AC_CACHE_CHECK([whether we have to add an underscore for dlsym], + [libltdl_cv_need_uscore], + [libltdl_cv_need_uscore=unknown + dlsym_uscore_save_LIBS=$LIBS + LIBS="$LIBS $LIBADD_DLOPEN" + libname=conftmod # stay within 8.3 filename limits! + cat >$libname.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif +int fnord () { return 42; }] +_LT_EOF + + # ltfn_module_cmds module_cmds + # Execute tilde-delimited MODULE_CMDS with environment primed for + # $module_cmds or $archive_cmds type content. + ltfn_module_cmds () + {( # subshell avoids polluting parent global environment + module_cmds_save_ifs=$IFS; IFS='~' + for cmd in @S|@1; do + IFS=$module_cmds_save_ifs + libobjs=$libname.$ac_objext; lib=$libname$libltdl_cv_shlibext + rpath=/not-exists; soname=$libname$libltdl_cv_shlibext; output_objdir=. + major=; versuffix=; verstring=; deplibs= + ECHO=echo; wl=$lt_prog_compiler_wl; allow_undefined_flag= + eval $cmd + done + IFS=$module_cmds_save_ifs + )} + + # Compile a loadable module using libtool macro expansion results. + $CC $pic_flag -c $libname.$ac_ext + ltfn_module_cmds "${module_cmds:-$archive_cmds}" + + # Try to fetch fnord with dlsym(). + libltdl_dlunknown=0; libltdl_dlnouscore=1; libltdl_dluscore=2 + cat >conftest.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" +#if HAVE_DLFCN_H +#include +#endif +#include +#ifndef RTLD_GLOBAL +# ifdef DL_GLOBAL +# define RTLD_GLOBAL DL_GLOBAL +# else +# define RTLD_GLOBAL 0 +# endif +#endif +#ifndef RTLD_NOW +# ifdef DL_NOW +# define RTLD_NOW DL_NOW +# else +# define RTLD_NOW 0 +# endif +#endif +int main () { + void *handle = dlopen ("`pwd`/$libname$libltdl_cv_shlibext", RTLD_GLOBAL|RTLD_NOW); + int status = $libltdl_dlunknown; + if (handle) { + if (dlsym (handle, "fnord")) + status = $libltdl_dlnouscore; + else { + if (dlsym (handle, "_fnord")) + status = $libltdl_dluscore; + else + puts (dlerror ()); + } + dlclose (handle); + } else + puts (dlerror ()); + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + libltdl_status=$? + case x$libltdl_status in + x$libltdl_dlnouscore) libltdl_cv_need_uscore=no ;; + x$libltdl_dluscore) libltdl_cv_need_uscore=yes ;; + x*) libltdl_cv_need_uscore=unknown ;; + esac + fi + rm -rf conftest* $libname* + LIBS=$dlsym_uscore_save_LIBS + ]) + fi +fi + +if test yes = "$libltdl_cv_need_uscore"; then + AC_DEFINE([NEED_USCORE], [1], + [Define if dlsym() requires a leading underscore in symbol names.]) +fi +]) +m4trace:/usr/share/aclocal/ltdl.m4:908: -1- AU_DEFUN([AC_LTDL_DLSYM_USCORE], [m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])], [], []) +m4trace:/usr/share/aclocal/ltdl.m4:908: -1- AC_DEFUN([AC_LTDL_DLSYM_USCORE], [m4_warn([obsolete], [The macro `AC_LTDL_DLSYM_USCORE' is obsolete. +You should run autoupdate.])dnl +m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) +m4trace:/usr/share/aclocal/ltoptions.m4:14: -1- AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) +m4trace:/usr/share/aclocal/ltoptions.m4:113: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'dlopen' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:113: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN], [m4_warn([obsolete], [The macro `AC_LIBTOOL_DLOPEN' is obsolete. +You should run autoupdate.])dnl +_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'dlopen' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:148: -1- AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'win32-dll' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:148: -1- AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [m4_warn([obsolete], [The macro `AC_LIBTOOL_WIN32_DLL' is obsolete. +You should run autoupdate.])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'win32-dll' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:197: -1- AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:201: -1- AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:205: -1- AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +m4trace:/usr/share/aclocal/ltoptions.m4:205: -1- AC_DEFUN([AM_ENABLE_SHARED], [m4_warn([obsolete], [The macro `AM_ENABLE_SHARED' is obsolete. +You should run autoupdate.])dnl +AC_ENABLE_SHARED($@)]) +m4trace:/usr/share/aclocal/ltoptions.m4:206: -1- AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +m4trace:/usr/share/aclocal/ltoptions.m4:206: -1- AC_DEFUN([AM_DISABLE_SHARED], [m4_warn([obsolete], [The macro `AM_DISABLE_SHARED' is obsolete. +You should run autoupdate.])dnl +AC_DISABLE_SHARED($@)]) +m4trace:/usr/share/aclocal/ltoptions.m4:251: -1- AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:255: -1- AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:259: -1- AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +m4trace:/usr/share/aclocal/ltoptions.m4:259: -1- AC_DEFUN([AM_ENABLE_STATIC], [m4_warn([obsolete], [The macro `AM_ENABLE_STATIC' is obsolete. +You should run autoupdate.])dnl +AC_ENABLE_STATIC($@)]) +m4trace:/usr/share/aclocal/ltoptions.m4:260: -1- AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +m4trace:/usr/share/aclocal/ltoptions.m4:260: -1- AC_DEFUN([AM_DISABLE_STATIC], [m4_warn([obsolete], [The macro `AM_DISABLE_STATIC' is obsolete. +You should run autoupdate.])dnl +AC_DISABLE_STATIC($@)]) +m4trace:/usr/share/aclocal/ltoptions.m4:305: -1- AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'fast-install' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:305: -1- AC_DEFUN([AC_ENABLE_FAST_INSTALL], [m4_warn([obsolete], [The macro `AC_ENABLE_FAST_INSTALL' is obsolete. +You should run autoupdate.])dnl +_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'fast-install' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:312: -1- AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'disable-fast-install' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:312: -1- AC_DEFUN([AC_DISABLE_FAST_INSTALL], [m4_warn([obsolete], [The macro `AC_DISABLE_FAST_INSTALL' is obsolete. +You should run autoupdate.])dnl +_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'disable-fast-install' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:411: -1- AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'pic-only' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltoptions.m4:411: -1- AC_DEFUN([AC_LIBTOOL_PICMODE], [m4_warn([obsolete], [The macro `AC_LIBTOOL_PICMODE' is obsolete. +You should run autoupdate.])dnl +_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'pic-only' option into LT_INIT's first parameter.]) +]) +m4trace:/usr/share/aclocal/ltsugar.m4:14: -1- AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) +m4trace:/usr/share/aclocal/ltversion.m4:19: -1- AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.7' +macro_revision='2.4.7' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:37: -1- AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:41: -1- AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:42: -1- AC_DEFUN([_LT_AC_SHELL_INIT]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:43: -1- AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:45: -1- AC_DEFUN([_LT_AC_TAGVAR]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:46: -1- AC_DEFUN([AC_LTDL_ENABLE_INSTALL]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:47: -1- AC_DEFUN([AC_LTDL_PREOPEN]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:48: -1- AC_DEFUN([_LT_AC_SYS_COMPILER]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:49: -1- AC_DEFUN([_LT_AC_LOCK]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:50: -1- AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:51: -1- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:52: -1- AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:53: -1- AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:54: -1- AC_DEFUN([AC_LIBTOOL_OBJDIR]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:55: -1- AC_DEFUN([AC_LTDL_OBJDIR]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:56: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:57: -1- AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:58: -1- AC_DEFUN([AC_PATH_MAGIC]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:59: -1- AC_DEFUN([AC_PROG_LD_GNU]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:60: -1- AC_DEFUN([AC_PROG_LD_RELOAD_FLAG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:61: -1- AC_DEFUN([AC_DEPLIBS_CHECK_METHOD]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:62: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:63: -1- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:64: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:65: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:66: -1- AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:67: -1- AC_DEFUN([LT_AC_PROG_EGREP]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:72: -1- AC_DEFUN([_AC_PROG_LIBTOOL]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:73: -1- AC_DEFUN([AC_LIBTOOL_SETUP]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:74: -1- AC_DEFUN([_LT_AC_CHECK_DLFCN]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:75: -1- AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:76: -1- AC_DEFUN([_LT_AC_TAGCONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:78: -1- AC_DEFUN([_LT_AC_LANG_CXX]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:79: -1- AC_DEFUN([_LT_AC_LANG_F77]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:80: -1- AC_DEFUN([_LT_AC_LANG_GCJ]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:81: -1- AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:82: -1- AC_DEFUN([_LT_AC_LANG_C_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:83: -1- AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:84: -1- AC_DEFUN([_LT_AC_LANG_CXX_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:85: -1- AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:86: -1- AC_DEFUN([_LT_AC_LANG_F77_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:87: -1- AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:88: -1- AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:89: -1- AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:90: -1- AC_DEFUN([_LT_AC_LANG_RC_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:91: -1- AC_DEFUN([AC_LIBTOOL_CONFIG]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:92: -1- AC_DEFUN([_LT_AC_FILE_LTDLL_C]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:94: -1- AC_DEFUN([_LT_AC_PROG_CXXCPP]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:97: -1- AC_DEFUN([_LT_PROG_F77]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:98: -1- AC_DEFUN([_LT_PROG_FC]) +m4trace:/usr/share/aclocal/lt~obsolete.m4:99: -1- AC_DEFUN([_LT_PROG_CXX]) +m4trace:/usr/share/aclocal-1.16/amversion.m4:14: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.16' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.16.5], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) +m4trace:/usr/share/aclocal-1.16/amversion.m4:33: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.16.5])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) +m4trace:/usr/share/aclocal-1.16/auxdir.m4:47: -1- AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` +]) +m4trace:/usr/share/aclocal-1.16/cond.m4:12: -1- AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl + m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) +m4trace:/usr/share/aclocal-1.16/depend.m4:26: -1- AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], + [$1], [UPC], [depcc="$UPC" am_compiler_list=], + [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) +m4trace:/usr/share/aclocal-1.16/depend.m4:163: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) +m4trace:/usr/share/aclocal-1.16/depend.m4:171: -1- AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl +]) +m4trace:/usr/share/aclocal-1.16/depout.m4:11: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + AS_CASE([$CONFIG_FILES], + [*\'*], [eval set x "$CONFIG_FILES"], + [*], [set x $CONFIG_FILES]) + shift + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf + do + # Strip MF so we end up with the name of the file. + am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`AS_DIRNAME(["$am_mf"])` + am_filepart=`AS_BASENAME(["$am_mf"])` + AM_RUN_LOG([cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles]) || am_rc=$? + done + if test $am_rc -ne 0; then + AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE="gmake" (or whatever is + necessary). You can also try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking).]) + fi + AS_UNSET([am_dirpart]) + AS_UNSET([am_filepart]) + AS_UNSET([am_mf]) + AS_UNSET([am_rc]) + rm -f conftest-deps.mk +} +]) +m4trace:/usr/share/aclocal-1.16/depout.m4:64: -1- AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) +m4trace:/usr/share/aclocal-1.16/init.m4:29: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl +m4_ifdef([_$0_ALREADY_INIT], + [m4_fatal([$0 expanded multiple times +]m4_defn([_$0_ALREADY_INIT]))], + [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[AC_DIAGNOSE([obsolete], + [$0: two- and three-arguments forms are deprecated.]) +m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if( + m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +AM_MISSING_PROG([AUTOCONF], [autoconf]) +AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +AM_MISSING_PROG([AUTOHEADER], [autoheader]) +AM_MISSING_PROG([MAKEINFO], [makeinfo]) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi +AC_SUBST([CTAGS]) +if test -z "$ETAGS"; then + ETAGS=etags +fi +AC_SUBST([ETAGS]) +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi +AC_SUBST([CSCOPE]) + +AC_REQUIRE([AM_SILENT_RULES])dnl +dnl The testsuite driver may need to know about EXEEXT, so add the +dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This +dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi +dnl The trailing newline in this macro's definition is deliberate, for +dnl backward compatibility and to allow trailing 'dnl'-style comments +dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. +]) +m4trace:/usr/share/aclocal-1.16/init.m4:204: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) +m4trace:/usr/share/aclocal-1.16/install-sh.m4:11: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST([install_sh])]) +m4trace:/usr/share/aclocal-1.16/lead-dot.m4:10: -1- AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) +m4trace:/usr/share/aclocal-1.16/make.m4:13: -1- AC_DEFUN([AM_MAKE_INCLUDE], [AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) +cat > confinc.mk << 'END' +am__doit: + @echo this is the am__doit target >confinc.out +.PHONY: am__doit +END +am__include="#" +am__quote= +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) + AS_CASE([$?:`cat confinc.out 2>/dev/null`], + ['0:this is the am__doit target'], + [AS_CASE([$s], + [BSD], [am__include='.include' am__quote='"'], + [am__include='include' am__quote=''])]) + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +AC_MSG_RESULT([${_am_result}]) +AC_SUBST([am__include])]) +m4trace:/usr/share/aclocal-1.16/make.m4:42: -1- m4_pattern_allow([^am__quote$]) +m4trace:/usr/share/aclocal-1.16/missing.m4:11: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) +m4trace:/usr/share/aclocal-1.16/missing.m4:20: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + MISSING="\${SHELL} '$am_aux_dir/missing'" +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + AC_MSG_WARN(['missing' script is too old or missing]) +fi +]) +m4trace:/usr/share/aclocal-1.16/obsolete.m4:11: -1- AC_DEFUN([AM_CONFIG_HEADER], [AC_DIAGNOSE([obsolete], +['$0': this macro is obsolete. +You should use the 'AC][_CONFIG_HEADERS' macro instead.])dnl +AC_CONFIG_HEADERS($@)]) +m4trace:/usr/share/aclocal-1.16/obsolete.m4:17: -1- AC_DEFUN([AM_PROG_CC_STDC], [AC_PROG_CC +am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc +AC_DIAGNOSE([obsolete], +['$0': this macro is obsolete. +You should simply use the 'AC][_PROG_CC' macro instead. +Also, your code should no longer depend upon 'am_cv_prog_cc_stdc', +but upon 'ac_cv_prog_cc_stdc'.])]) +m4trace:/usr/share/aclocal-1.16/obsolete.m4:26: -1- AC_DEFUN([AM_C_PROTOTYPES], [AC_FATAL([automatic de-ANSI-fication support has been removed])]) +m4trace:/usr/share/aclocal-1.16/obsolete.m4:28: -1- AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) +m4trace:/usr/share/aclocal-1.16/obsolete.m4:28: -1- AC_DEFUN([fp_C_PROTOTYPES], [m4_warn([obsolete], [The macro `fp_C_PROTOTYPES' is obsolete. +You should run autoupdate.])dnl +AM_C_PROTOTYPES]) +m4trace:/usr/share/aclocal-1.16/options.m4:11: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) +m4trace:/usr/share/aclocal-1.16/options.m4:17: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) +m4trace:/usr/share/aclocal-1.16/options.m4:23: -1- AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) +m4trace:/usr/share/aclocal-1.16/options.m4:29: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) +m4trace:/usr/share/aclocal-1.16/prog-cc-c-o.m4:12: -1- AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) +m4trace:/usr/share/aclocal-1.16/prog-cc-c-o.m4:47: -1- AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) +m4trace:/usr/share/aclocal-1.16/runlog.m4:12: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD + ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + (exit $ac_status); }]) +m4trace:/usr/share/aclocal-1.16/sanity.m4:11: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken + alias in your environment]) + fi + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) +m4trace:/usr/share/aclocal-1.16/silent.m4:12: -1- AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +esac +dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) +m4trace:/usr/share/aclocal-1.16/strip.m4:17: -1- AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) +m4trace:/usr/share/aclocal-1.16/substnot.m4:12: -1- AC_DEFUN([_AM_SUBST_NOTMAKE]) +m4trace:/usr/share/aclocal-1.16/substnot.m4:17: -1- AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) +m4trace:/usr/share/aclocal-1.16/tar.m4:23: -1- AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' + +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], + + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi + done + rm -rf conftest.dir + + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) +m4trace:m4/ac_cxx_bool.m4:4: -1- AC_DEFUN([AC_CXX_BOOL], [AC_CACHE_CHECK(whether the compiler recognizes bool as a built-in type, +ac_cv_cxx_bool, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +int f(int x){return 1;} +int f(char x){return 1;} +int f(bool x){return 1;} +],[bool b = true; return f(b);], + ac_cv_cxx_bool=yes, ac_cv_cxx_bool=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_bool" = yes; then + AC_DEFINE(HAVE_BOOL,,[define if bool is a built-in type]) +fi +]) +m4trace:m4/ac_cxx_const_cast.m4:4: -1- AC_DEFUN([AC_CXX_CONST_CAST], [AC_CACHE_CHECK(whether the compiler supports const_cast<>, +ac_cv_cxx_const_cast, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE(,[int x = 0;const int& y = x;int& z = const_cast(y);return z;], + ac_cv_cxx_const_cast=yes, ac_cv_cxx_const_cast=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_const_cast" = yes; then + AC_DEFINE(HAVE_CONST_CAST,,[define if the compiler supports const_cast<>]) +fi +]) +m4trace:m4/ac_cxx_default_template_parameters.m4:4: -1- AC_DEFUN([AC_CXX_DEFAULT_TEMPLATE_PARAMETERS], [AC_CACHE_CHECK(whether the compiler supports default template parameters, +ac_cv_cxx_default_template_parameters, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +template class A {public: int f() {return 0;}}; +],[A a; return a.f();], + ac_cv_cxx_default_template_parameters=yes, ac_cv_cxx_default_template_parameters=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_default_template_parameters" = yes; then + AC_DEFINE(HAVE_DEFAULT_TEMPLATE_PARAMETERS,, + [define if the compiler supports default template parameters]) +fi +]) +m4trace:m4/ac_cxx_dynamic_cast.m4:4: -1- AC_DEFUN([AC_CXX_DYNAMIC_CAST], [AC_CACHE_CHECK(whether the compiler supports dynamic_cast<>, +ac_cv_cxx_dynamic_cast, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} };],[ +Derived d; Base& b=d; return dynamic_cast(&b) ? 0 : 1;], + ac_cv_cxx_dynamic_cast=yes, ac_cv_cxx_dynamic_cast=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_dynamic_cast" = yes; then + AC_DEFINE(HAVE_DYNAMIC_CAST,,[define if the compiler supports dynamic_cast<>]) +fi +]) +m4trace:m4/ac_cxx_exceptions.m4:4: -1- AC_DEFUN([AC_CXX_EXCEPTIONS], [AC_CACHE_CHECK(whether the compiler supports exceptions, +ac_cv_cxx_exceptions, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE(,[try { throw 1; } catch (int i) { return i; }], + ac_cv_cxx_exceptions=yes, ac_cv_cxx_exceptions=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_exceptions" = yes; then + AC_DEFINE(HAVE_EXCEPTIONS,,[define if the compiler supports exceptions]) +fi +]) +m4trace:m4/ac_cxx_explicit.m4:4: -1- AC_DEFUN([AC_CXX_EXPLICIT], [AC_CACHE_CHECK(whether the compiler supports the explicit keyword, +ac_cv_cxx_explicit, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([class A{public:explicit A(double){}};], +[double c = 5.0;A x(c);return 0;], + ac_cv_cxx_explicit=yes, ac_cv_cxx_explicit=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_explicit" = yes; then + AC_DEFINE(HAVE_EXPLICIT,,[define if the compiler supports the explicit keyword]) +fi +]) +m4trace:m4/ac_cxx_have_numeric_limits.m4:4: -1- AC_DEFUN([AC_CXX_HAVE_NUMERIC_LIMITS], [AC_CACHE_CHECK(whether the compiler has numeric_limits, +ac_cv_cxx_have_numeric_limits, +[AC_REQUIRE([AC_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[double e = numeric_limits::epsilon(); return 0;], + ac_cv_cxx_have_numeric_limits=yes, ac_cv_cxx_have_numeric_limits=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_have_numeric_limits" = yes; then + AC_DEFINE(HAVE_NUMERIC_LIMITS,,[define if the compiler has numeric_limits]) +fi +]) +m4trace:m4/ac_cxx_have_sstream.m4:4: -1- AC_DEFUN([AC_CXX_HAVE_SSTREAM], [AC_CACHE_CHECK(whether the compiler has stringstream, +ac_cv_cxx_have_sstream, +[AC_REQUIRE([AC_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[stringstream message; message << "Hello"; return 0;], + ac_cv_cxx_have_sstream=yes, ac_cv_cxx_have_sstream=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_have_sstream" = yes; then + AC_DEFINE(HAVE_SSTREAM,,[define if the compiler has stringstream]) +fi +]) +m4trace:m4/ac_cxx_have_std.m4:4: -1- AC_DEFUN([AC_CXX_HAVE_STD], [AC_CACHE_CHECK(whether the compiler supports ISO C++ standard library, +ac_cv_cxx_have_std, +[AC_REQUIRE([AC_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#include +#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[return 0;], + ac_cv_cxx_have_std=yes, ac_cv_cxx_have_std=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_have_std" = yes; then + AC_DEFINE(HAVE_STD,,[define if the compiler supports ISO C++ standard library]) +fi +]) +m4trace:m4/ac_cxx_have_stl.m4:4: -1- AC_DEFUN([AC_CXX_HAVE_STL], [AC_CACHE_CHECK(whether the compiler supports Standard Template Library, +ac_cv_cxx_have_stl, +[AC_REQUIRE([AC_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[list x; x.push_back(5); +list::iterator iter = x.begin(); if (iter != x.end()) ++iter; return 0;], + ac_cv_cxx_have_stl=yes, ac_cv_cxx_have_stl=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_have_stl" = yes; then + AC_DEFINE(HAVE_STL,,[define if the compiler supports Standard Template Library]) +fi +]) +m4trace:m4/ac_cxx_namespaces.m4:4: -1- AC_DEFUN([AC_CXX_NAMESPACES], [AC_CACHE_CHECK(whether the compiler implements namespaces, +ac_cv_cxx_namespaces, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([namespace Outer { namespace Inner { int i = 0; }}], + [using namespace Outer::Inner; return i;], + ac_cv_cxx_namespaces=yes, ac_cv_cxx_namespaces=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_namespaces" = yes; then + AC_DEFINE(HAVE_NAMESPACES,,[define if the compiler implements namespaces]) +fi +]) +m4trace:m4/ac_cxx_reinterpret_cast.m4:4: -1- AC_DEFUN([AC_CXX_REINTERPRET_CAST], [AC_CACHE_CHECK(whether the compiler supports reinterpret_cast<>, +ac_cv_cxx_reinterpret_cast, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +class Unrelated { public : Unrelated () {} }; +int g (Unrelated&) { return 0; }],[ +Derived d;Base& b=d;Unrelated& e=reinterpret_cast(b);return g(e);], + ac_cv_cxx_reinterpret_cast=yes, ac_cv_cxx_reinterpret_cast=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_reinterpret_cast" = yes; then + AC_DEFINE(HAVE_REINTERPRET_CAST,, + [define if the compiler supports reinterpret_cast<>]) +fi +]) +m4trace:m4/ac_cxx_rtti.m4:4: -1- AC_DEFUN([AC_CXX_RTTI], [AC_CACHE_CHECK(whether the compiler supports Run-Time Type Identification, +ac_cv_cxx_rtti, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +class Base { public : + Base () {} + virtual int f () { return 0; } + }; +class Derived : public Base { public : + Derived () {} + virtual int f () { return 1; } + }; +],[Derived d; +Base *ptr = &d; +return typeid (*ptr) == typeid (Derived); +], + ac_cv_cxx_rtti=yes, ac_cv_cxx_rtti=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_rtti" = yes; then + AC_DEFINE(HAVE_RTTI,, + [define if the compiler supports Run-Time Type Identification]) +fi +]) +m4trace:m4/ac_cxx_static_cast.m4:4: -1- AC_DEFUN([AC_CXX_STATIC_CAST], [AC_CACHE_CHECK(whether the compiler supports static_cast<>, +ac_cv_cxx_static_cast, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +class Base { public : Base () {} virtual void f () = 0; }; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +int g (Derived&) { return 0; }],[ +Derived d; Base& b = d; Derived& s = static_cast (b); return g (s);], + ac_cv_cxx_static_cast=yes, ac_cv_cxx_static_cast=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_static_cast" = yes; then + AC_DEFINE(HAVE_STATIC_CAST,, + [define if the compiler supports static_cast<>]) +fi +]) +m4trace:m4/ac_cxx_template_qualified_base_class.m4:4: -1- AC_DEFUN([AC_CXX_TEMPLATE_QUALIFIED_BASE_CLASS], [AC_CACHE_CHECK(whether the compiler supports template-qualified base class specifiers, +ac_cv_cxx_template_qualified_base_class, +[AC_REQUIRE([AC_CXX_TYPENAME]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +#ifndef HAVE_TYPENAME + #define typename +#endif +class Base1 { public : int f () const { return 1; } }; +class Base2 { public : int f () const { return 0; } }; +template struct base_trait { typedef Base1 base; }; + struct base_trait { typedef Base2 base; }; +template class Weird : public base_trait::base +{ public : + typedef typename base_trait::base base; + int g () const { return f (); } +};],[ Weird z; return z.g ();], + ac_cv_cxx_template_qualified_base_class=yes, ac_cv_cxx_template_qualified_base_class=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_template_qualified_base_class" = yes; then + AC_DEFINE(HAVE_TEMPLATE_QUALIFIED_BASE_CLASS,, + [define if the compiler supports template-qualified base class specifiers]) +fi +]) +m4trace:m4/ac_cxx_template_qualified_return_type.m4:4: -1- AC_DEFUN([AC_CXX_TEMPLATE_QUALIFIED_RETURN_TYPE], [AC_CACHE_CHECK(whether the compiler supports template-qualified return types, +ac_cv_cxx_template_qualified_return_type, +[AC_REQUIRE([AC_CXX_TYPENAME]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +#ifndef HAVE_TYPENAME + #define typename +#endif +template struct promote_trait { typedef X T; }; +template<> struct promote_trait { typedef float T; }; +template class A { public : A () {} }; +template +A::T> operator+ (const A&, const A&) +{ return A::T>(); } +],[A x; A y; A z = x + y; return 0;], + ac_cv_cxx_template_qualified_return_type=yes, ac_cv_cxx_template_qualified_return_type=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_template_qualified_return_type" = yes; then + AC_DEFINE(HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE,, + [define if the compiler supports template-qualified return types]) +fi +]) +m4trace:m4/ac_cxx_template_scoped_argument_matching.m4:4: -1- AC_DEFUN([AC_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING], [AC_CACHE_CHECK(whether the compiler supports function matching with argument types which are template scope-qualified, +ac_cv_cxx_template_scoped_argument_matching, +[AC_REQUIRE([AC_CXX_TYPENAME]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +#ifndef HAVE_TYPENAME + #define typename +#endif +template class A { public : typedef X W; }; +template class B {}; +template void operator+(B d1, typename Y::W d2) {} +],[B > z; z + 0.5f; return 0;], + ac_cv_cxx_template_scoped_argument_matching=yes, ac_cv_cxx_template_scoped_argument_matching=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_template_scoped_argument_matching" = yes; then + AC_DEFINE(HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING,, + [define if the compiler supports function matching with argument types which are template scope-qualified]) +fi +]) +m4trace:m4/ac_cxx_templates.m4:4: -1- AC_DEFUN([AC_CXX_TEMPLATES], [AC_CACHE_CHECK(whether the compiler supports basic templates, +ac_cv_cxx_templates, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([template class A {public:A(){}}; +template void f(const A& ){}],[ +A d; A i; f(d); f(i); return 0;], + ac_cv_cxx_templates=yes, ac_cv_cxx_templates=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_templates" = yes; then + AC_DEFINE(HAVE_TEMPLATES,,[define if the compiler supports basic templates]) +fi +]) +m4trace:m4/ac_cxx_typename.m4:4: -1- AC_DEFUN([AC_CXX_TYPENAME], [AC_CACHE_CHECK(whether the compiler recognizes typename, +ac_cv_cxx_typename, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([templateclass X {public:X(){}};], +[X z; return 0;], + ac_cv_cxx_typename=yes, ac_cv_cxx_typename=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_typename" = yes; then + AC_DEFINE(HAVE_TYPENAME,,[define if the compiler recognizes typename]) +fi +]) +m4trace:m4/acx_pthread.m4:4: -1- AC_DEFUN([ACX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_SAVE +AC_LANG_C +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) + AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) + AC_MSG_RESULT($acx_pthread_ok) + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all, and "pthread-config" +# which is a program returning the flags for the Pth emulation library. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $flag]) + PTHREAD_CFLAGS="$flag" + ;; + + pthread-config) + AC_CHECK_PROG(acx_pthread_config, pthread-config, yes, no) + if test x"$acx_pthread_config" = xno; then continue; fi + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$flag]) + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + AC_TRY_LINK([#include ], + [pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], + [acx_pthread_ok=yes]) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + AC_MSG_RESULT($acx_pthread_ok) + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + AC_MSG_CHECKING([for joinable pthread attribute]) + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_JOINABLE;], + ok=PTHREAD_CREATE_JOINABLE, ok=unknown) + if test x"$ok" = xunknown; then + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_UNDETACHED;], + ok=PTHREAD_CREATE_UNDETACHED, ok=unknown) + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok, + [Define to the necessary symbol if this constant + uses a non-standard name on your system.]) + fi + AC_MSG_RESULT(${ok}) + if test x"$ok" = xunknown; then + AC_MSG_WARN([we do not know how to create joinable pthreads]) + fi + + AC_MSG_CHECKING([if more special flags are required for pthreads]) + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + AC_MSG_RESULT(${flag}) + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) +else + PTHREAD_CC="$CC" +fi + +AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_CC) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) + : +else + acx_pthread_ok=no + $2 +fi +AC_LANG_RESTORE +]) +m4trace:m4/ax_prefix_config_h.m4:4: -1- AC_DEFUN([AX_PREFIX_CONFIG_H], [AC_REQUIRE([AC_CONFIG_HEADERS]) +AC_CONFIG_COMMANDS([ifelse($1,,$PACKAGE-config.h,$1)],[dnl +AS_VAR_PUSHDEF([_OUT],[ac_prefix_conf_OUT])dnl +AS_VAR_PUSHDEF([_DEF],[ac_prefix_conf_DEF])dnl +AS_VAR_PUSHDEF([_PKG],[ac_prefix_conf_PKG])dnl +AS_VAR_PUSHDEF([_LOW],[ac_prefix_conf_LOW])dnl +AS_VAR_PUSHDEF([_UPP],[ac_prefix_conf_UPP])dnl +AS_VAR_PUSHDEF([_INP],[ac_prefix_conf_INP])dnl +m4_pushdef([_script],[conftest.prefix])dnl +m4_pushdef([_symbol],[m4_cr_Letters[]m4_cr_digits[]_])dnl +_OUT=`echo ifelse($1, , $PACKAGE-config.h, $1)` +_DEF=`echo _$_OUT | sed -e "y:m4_cr_letters:m4_cr_LETTERS[]:" -e "s/@<:@^m4_cr_Letters@:>@/_/g"` +_PKG=`echo ifelse($2, , $PACKAGE, $2)` +_LOW=`echo _$_PKG | sed -e "y:m4_cr_LETTERS-:m4_cr_letters[]_:"` +_UPP=`echo $_PKG | sed -e "y:m4_cr_letters-:m4_cr_LETTERS[]_:" -e "/^@<:@m4_cr_digits@:>@/s/^/_/"` +_INP=`echo "ifelse($3,,,$3)" | sed -e 's/ *//'` +if test ".$_INP" = "."; then + for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue + case "$ac_file" in + *.h) _INP=$ac_file ;; + *) + esac + test ".$_INP" != "." && break + done +fi +if test ".$_INP" = "."; then + case "$_OUT" in + */*) _INP=`basename "$_OUT"` + ;; + *-*) _INP=`echo "$_OUT" | sed -e "s/@<:@_symbol@:>@*-//"` + ;; + *) _INP=config.h + ;; + esac +fi +if test -z "$_PKG" ; then + AC_MSG_ERROR([no prefix for _PREFIX_PKG_CONFIG_H]) +else + if test ! -f "$_INP" ; then if test -f "$srcdir/$_INP" ; then + _INP="$srcdir/$_INP" + fi fi + AC_MSG_NOTICE(creating $_OUT - prefix $_UPP for $_INP defines) + if test -f $_INP ; then + echo "s/@%:@undef *\\(@<:@m4_cr_LETTERS[]_@:>@\\)/@%:@undef $_UPP""_\\1/" > _script + echo "s/@%:@undef *\\(@<:@m4_cr_letters@:>@\\)/@%:@undef $_LOW""_\\1/" >> _script + echo "s/@%:@def[]ine *\\(@<:@m4_cr_LETTERS[]_@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_UPP""_\\1 \\" >> _script + echo "@%:@def[]ine $_UPP""_\\1 \\2 \\" >> _script + echo "@%:@endif/" >>_script + echo "s/@%:@def[]ine *\\(@<:@m4_cr_letters@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_LOW""_\\1 \\" >> _script + echo "@%:@define $_LOW""_\\1 \\2 \\" >> _script + echo "@%:@endif/" >> _script + # now executing _script on _DEF input to create _OUT output file + echo "@%:@ifndef $_DEF" >$tmp/pconfig.h + echo "@%:@def[]ine $_DEF 1" >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo /'*' $_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h + + sed -f _script $_INP >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo '/* once:' $_DEF '*/' >>$tmp/pconfig.h + echo "@%:@endif" >>$tmp/pconfig.h + if cmp -s $_OUT $tmp/pconfig.h 2>/dev/null; then + AC_MSG_NOTICE([$_OUT is unchanged]) + else + ac_dir=`AS_DIRNAME(["$_OUT"])` + AS_MKDIR_P(["$ac_dir"]) + rm -f "$_OUT" + mv $tmp/pconfig.h "$_OUT" + fi + cp _script _configs.sed + else + AC_MSG_ERROR([input file $_INP does not exist - skip generating $_OUT]) + fi + rm -f conftest.* +fi +m4_popdef([_symbol])dnl +m4_popdef([_script])dnl +AS_VAR_POPDEF([_INP])dnl +AS_VAR_POPDEF([_UPP])dnl +AS_VAR_POPDEF([_LOW])dnl +AS_VAR_POPDEF([_PKG])dnl +AS_VAR_POPDEF([_DEF])dnl +AS_VAR_POPDEF([_OUT])dnl +],[PACKAGE="$PACKAGE"])]) +m4trace:m4/check_zlib.m4:4: -1- AC_DEFUN([CHECK_ZLIB], [# +# Handle user hints +# +AC_MSG_CHECKING(if zlib is wanted) +AC_ARG_WITH(zlib, +[ --with-zlib=DIR root directory path of zlib installation [defaults to + /usr/local or /usr if not found in /usr/local] + --without-zlib to disable zlib usage completely], +[if test "$withval" != no ; then + AC_MSG_RESULT(yes) + ZLIB_HOME="$withval" +else + AC_MSG_RESULT(no) +fi], [ +AC_MSG_RESULT(yes) +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi +]) + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) + AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) + AC_LANG_RESTORE + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + AC_CHECK_LIB(z, inflateEnd) + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + AC_MSG_RESULT(ok) + else + # + # If either header or library was not found, revert and bomb + # + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + AC_MSG_RESULT(failed) + fi +fi + +]) +m4trace:m4/ob_cxx_have_isinfinite.m4:1: -1- AC_DEFUN([OB_CXX_HAVE_ISFINITE], [AC_CACHE_CHECK(whether the compiler supports isfinite macro, +ac_cv_cxx_have_isfinite, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#define _GNU_SOURCE + #include ], + [double d=0; int n = isfinite(d);], + ac_cv_cxx_have_isfinite=yes, + ac_cv_cxx_have_isfinite=no) + AC_LANG_RESTORE +]) +if test $ac_cv_cxx_have_isfinite = yes; then + AC_DEFINE(HAVE_ISFINITE,,[define if the macro isfinite exist]) +fi +]) +m4trace:m4/ob_cxx_long_long.m4:1: -1- AC_DEFUN([OB_CXX_LONG_LONG], [AC_CACHE_CHECK(for long long int, ob_cv_cxx_long_long, +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE(,[long long int i;], + ob_cv_cxx_long_long=yes, + ob_cv_cxx_long_long=no) + ]) +if test $ob_cv_cxx_long_long = yes; then + AC_DEFINE(HAVE_LONG_LONG,,[define if long long int type is supported]) +fi +]) +m4trace:m4/ob_have_hash_map.m4:9: -1- AC_DEFUN([AC_CXX_STD_HASHMAP], [ +AC_CACHE_CHECK(whether the compiler supports std::hash_map, +ac_cv_cxx_std_hashmap, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +using std::hash_map;], + [], + ac_cv_cxx_std_hashmap=yes, ac_cv_cxx_std_hashmap=no) + AC_LANG_RESTORE +]) +if test "ac_cv_cxx_std_hashmap" = yes; then + AC_DEFINE(HAVE_STD_HASHMAP,,[define if the compiler supports std::hash_map]) +fi +]) +m4trace:m4/ob_have_hash_map.m4:25: -1- AC_DEFUN([AC_CXX_GNUCXX_HASHMAP], [ +AC_CACHE_CHECK(whether the compiler supports __gnu_cxx::hash_map, +ac_cv_cxx_gnucxx_hashmap, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +using __gnu_cxx::hash_map;], + [], + ac_cv_cxx_gnucxx_hashmap=yes, ac_cv_cxx_gnucxx_hashmap=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_gnucxx_hashmap" = yes; then + AC_DEFINE(HAVE_GNUCXX_HASHMAP,,[define if the compiler supports __gnu_cxx::hash_map]) +fi +]) +m4trace:m4/ob_have_hash_map.m4:41: -1- AC_DEFUN([AC_CXX_STDEXT_HASHMAP], [ +AC_CACHE_CHECK(whether the compiler supports stdext::hash_map, +ac_cv_cxx_stdext_hashmap, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +using stdext::hash_map;], + [], + ac_cv_cxx_stdext_hashmap=yes, ac_cv_cxx_stdext_hashmap=no) + AC_LANG_RESTORE +]) +if test "ac_cv_cxx_stdext_hashmap" = yes; then + AC_DEFINE(HAVE_STDEXT_HASHMAP,,[define if the compiler supports stdext::hash_map]) +fi +]) +m4trace:m4/ob_have_hash_set.m4:9: -1- AC_DEFUN([AC_CXX_STD_HASHSET], [ +AC_CACHE_CHECK(whether the compiler supports std::hash_set, +ac_cv_cxx_std_hashset, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +using std::hash_set;], + [], + ac_cv_cxx_std_hashset=yes, ac_cv_cxx_std_hashset=no) + AC_LANG_RESTORE +]) +if test "ac_cv_cxx_std_hashset" = yes; then + AC_DEFINE(HAVE_STD_HASHSET,,[define if the compiler supports std::hash_set]) +fi +]) +m4trace:m4/ob_have_hash_set.m4:25: -1- AC_DEFUN([AC_CXX_GNUCXX_HASHSET], [ +AC_CACHE_CHECK(whether the compiler supports __gnu_cxx::hash_set, +ac_cv_cxx_gnucxx_hashset, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +using __gnu_cxx::hash_set;], + [], + ac_cv_cxx_gnucxx_hashset=yes, ac_cv_cxx_gnucxx_hashset=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_gnucxx_hashset" = yes; then + AC_DEFINE(HAVE_GNUCXX_HASHSET,,[define if the compiler supports __gnu_cxx::hash_set]) +fi +]) +m4trace:m4/ob_have_hash_set.m4:41: -1- AC_DEFUN([AC_CXX_STDEXT_HASHSET], [ +AC_CACHE_CHECK(whether the compiler supports stdext::hash_set, +ac_cv_cxx_stdext_hashset, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +using stdext::hash_set;], + [], + ac_cv_cxx_stdext_hashset=yes, ac_cv_cxx_stdext_hashset=no) + AC_LANG_RESTORE +]) +if test "ac_cv_cxx_stdext_hashset" = yes; then + AC_DEFINE(HAVE_STDEXT_HASHSET,,[define if the compiler supports stdext::hash_set]) +fi +]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?A[CHUM]_]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([_AC_]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +m4trace:configure.ac:2: -1- m4_pattern_allow([^AS_FLAGS$]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?m4_]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([^dnl$]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?AS_]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^SHELL$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PATH_SEPARATOR$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_URL$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^exec_prefix$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^prefix$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^program_transform_name$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^bindir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^sbindir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^libexecdir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^datarootdir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^datadir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^sysconfdir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^sharedstatedir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^localstatedir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^runstatedir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^includedir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^oldincludedir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^docdir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^infodir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^htmldir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^dvidir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^pdfdir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^psdir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^libdir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^localedir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^mandir$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_URL$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^DEFS$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_C$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_N$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_T$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^build_alias$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^host_alias$]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^target_alias$]) +m4trace:configure.ac:6: -1- AM_INIT_AUTOMAKE +m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) +m4trace:configure.ac:6: -1- AM_SET_CURRENT_AUTOMAKE_VERSION +m4trace:configure.ac:6: -1- AM_AUTOMAKE_VERSION([1.16.5]) +m4trace:configure.ac:6: -1- _AM_AUTOCONF_VERSION([2.71]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_DATA$]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^am__isrc$]) +m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([am__isrc]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^CYGPATH_W$]) +m4trace:configure.ac:6: -1- _AM_SET_OPTIONS([]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:6: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])]) +m4trace:configure.ac:6: -2- _AM_MANGLE_OPTION([no-define]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:6: -1- AM_SANITY_CHECK +m4trace:configure.ac:6: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) +m4trace:configure.ac:6: -1- AM_MISSING_HAS_RUN +m4trace:configure.ac:6: -1- AM_AUX_DIR_EXPAND +m4trace:configure.ac:6: -1- m4_pattern_allow([^ACLOCAL$]) +m4trace:configure.ac:6: -1- AM_MISSING_PROG([AUTOCONF], [autoconf]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AUTOCONF$]) +m4trace:configure.ac:6: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AUTOMAKE$]) +m4trace:configure.ac:6: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AUTOHEADER$]) +m4trace:configure.ac:6: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^MAKEINFO$]) +m4trace:configure.ac:6: -1- AM_PROG_INSTALL_SH +m4trace:configure.ac:6: -1- m4_pattern_allow([^install_sh$]) +m4trace:configure.ac:6: -1- AM_PROG_INSTALL_STRIP +m4trace:configure.ac:6: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^MKDIR_P$]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^mkdir_p$]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^SET_MAKE$]) +m4trace:configure.ac:6: -1- AM_SET_LEADING_DOT +m4trace:configure.ac:6: -1- m4_pattern_allow([^am__leading_dot$]) +m4trace:configure.ac:6: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +m4trace:configure.ac:6: -2- _AM_MANGLE_OPTION([tar-ustar]) +m4trace:configure.ac:6: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])]) +m4trace:configure.ac:6: -2- _AM_MANGLE_OPTION([tar-pax]) +m4trace:configure.ac:6: -1- _AM_PROG_TAR([v7]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AMTAR$]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^am__tar$]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^am__untar$]) +m4trace:configure.ac:6: -1- _AM_IF_OPTION([no-dependencies], [], [AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl +]) +m4trace:configure.ac:6: -2- _AM_MANGLE_OPTION([no-dependencies]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^CTAGS$]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^ETAGS$]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^CSCOPE$]) +m4trace:configure.ac:6: -1- AM_SILENT_RULES +m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_V$]) +m4trace:configure.ac:6: -1- AM_SUBST_NOTMAKE([AM_V]) +m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([AM_V]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_DEFAULT_V$]) +m4trace:configure.ac:6: -1- AM_SUBST_NOTMAKE([AM_DEFAULT_V]) +m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_BACKSLASH$]) +m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) +m4trace:configure.ac:7: -1- AM_CONFIG_HEADER([config/config-h:config/config-h.in]) +m4trace:configure.ac:7: -1- _m4_warn([obsolete], ['AM_CONFIG_HEADER': this macro is obsolete. +You should use the 'AC_CONFIG_HEADERS' macro instead.], [./lib/autoconf/general.m4:2434: AC_DIAGNOSE is expanded from... +/usr/share/aclocal-1.16/obsolete.m4:11: AM_CONFIG_HEADER is expanded from... +configure.ac:7: the top level]) +m4trace:configure.ac:8: -1- AX_PREFIX_CONFIG_H([beagle/include/beagle/config.hpp], [BEAGLE], [config/config-h]) +m4trace:configure.ac:11: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^CXXFLAGS$]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^ac_ct_CXX$]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^EXEEXT$]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^OBJEXT$]) +m4trace:configure.ac:12: -1- _AM_DEPENDENCIES([CXX]) +m4trace:configure.ac:12: -1- AM_SET_DEPDIR +m4trace:configure.ac:12: -1- m4_pattern_allow([^DEPDIR$]) +m4trace:configure.ac:12: -1- AM_OUTPUT_DEPENDENCY_COMMANDS +m4trace:configure.ac:12: -1- AM_MAKE_INCLUDE +m4trace:configure.ac:12: -1- AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^am__include$]) +m4trace:configure.ac:12: -1- AM_DEP_TRACK +m4trace:configure.ac:12: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^AMDEP_TRUE$]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^AMDEP_FALSE$]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^am__nodep$]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([am__nodep]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^CXXDEPMODE$]) +m4trace:configure.ac:12: -1- AM_CONDITIONAL([am__fastdepCXX], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:15: -1- m4_pattern_allow([^LN_S$]) +m4trace:configure.ac:16: -1- AC_PROG_LIBTOOL +m4trace:configure.ac:16: -1- _m4_warn([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. +You should run autoupdate.], [/usr/share/aclocal/libtool.m4:100: AC_PROG_LIBTOOL is expanded from... +configure.ac:16: the top level]) +m4trace:configure.ac:16: -1- LT_INIT +m4trace:configure.ac:16: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$]) +m4trace:configure.ac:16: -1- LTOPTIONS_VERSION +m4trace:configure.ac:16: -1- LTSUGAR_VERSION +m4trace:configure.ac:16: -1- LTVERSION_VERSION +m4trace:configure.ac:16: -1- LTOBSOLETE_VERSION +m4trace:configure.ac:16: -1- _LT_PROG_LTMAIN +m4trace:configure.ac:16: -1- m4_pattern_allow([^LIBTOOL$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^build$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^build_cpu$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^build_vendor$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^build_os$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^host$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^host_cpu$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^host_vendor$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^host_os$]) +m4trace:configure.ac:16: -1- _LT_PREPARE_SED_QUOTE_VARS +m4trace:configure.ac:16: -1- _LT_PROG_ECHO_BACKSLASH +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- _AM_PROG_CC_C_O +m4trace:configure.ac:16: -1- AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) +m4trace:configure.ac:16: -1- _AM_DEPENDENCIES([CC]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:16: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:16: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) +m4trace:configure.ac:16: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) +m4trace:configure.ac:16: -1- LT_PATH_LD +m4trace:configure.ac:16: -1- m4_pattern_allow([^SED$]) +m4trace:configure.ac:16: -1- AC_PROG_EGREP +m4trace:configure.ac:16: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^FGREP$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LD$]) +m4trace:configure.ac:16: -1- LT_PATH_NM +m4trace:configure.ac:16: -1- m4_pattern_allow([^DUMPBIN$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^ac_ct_DUMPBIN$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^DUMPBIN$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^NM$]) +m4trace:configure.ac:16: -1- LT_CMD_MAX_LEN +m4trace:configure.ac:16: -1- m4_pattern_allow([^FILECMD$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^OBJDUMP$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^OBJDUMP$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^DLLTOOL$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^DLLTOOL$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^AR$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^ac_ct_AR$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:16: -1- _LT_WITH_SYSROOT +m4trace:configure.ac:16: -1- m4_pattern_allow([LT_OBJDIR]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LT_OBJDIR$]) +m4trace:configure.ac:16: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:16: -1- _LT_PATH_TOOL_PREFIX([${ac_tool_prefix}file], [/usr/bin$PATH_SEPARATOR$PATH]) +m4trace:configure.ac:16: -1- _LT_PATH_TOOL_PREFIX([file], [/usr/bin$PATH_SEPARATOR$PATH]) +m4trace:configure.ac:16: -1- LT_SUPPORTED_TAG([CC]) +m4trace:configure.ac:16: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:16: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:16: -1- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, )="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, ) -fno-rtti -fno-exceptions"]) +m4trace:configure.ac:16: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, ) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, )], [$_LT_TAGVAR(lt_prog_compiler_pic, )@&t@m4_if([],[],[ -DPIC],[m4_if([],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, ) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, )=" $_LT_TAGVAR(lt_prog_compiler_pic, )" ;; + esac], [_LT_TAGVAR(lt_prog_compiler_pic, )= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, )=no]) +m4trace:configure.ac:16: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, )=]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^MANIFEST_TOOL$]) +m4trace:configure.ac:16: -1- _LT_DLL_DEF_P([$export_symbols]) +m4trace:configure.ac:16: -1- _LT_DLL_DEF_P([$export_symbols]) +m4trace:configure.ac:16: -1- _LT_REQUIRED_DARWIN_CHECKS +m4trace:configure.ac:16: -1- m4_pattern_allow([^DSYMUTIL$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^NMEDIT$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LIPO$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^OTOOL$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^OTOOL64$]) +m4trace:configure.ac:16: -1- _LT_LINKER_OPTION([if $CC understands -b], [lt_cv_prog_compiler__b], [-b], [_LT_TAGVAR(archive_cmds, )='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, )='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags']) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) +m4trace:configure.ac:16: -1- LT_SYS_DLOPEN_SELF +m4trace:configure.ac:16: -1- AC_DEFUN([_AC_Header_stdio_h], [m4_divert_text([INIT_PREPARE], + [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], + [" stdio.h ]AS_TR_SH([stdio.h]) AS_TR_CPP([HAVE_stdio.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) +m4trace:configure.ac:16: -1- AC_DEFUN([_AC_Header_stdlib_h], [m4_divert_text([INIT_PREPARE], + [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], + [" stdlib.h ]AS_TR_SH([stdlib.h]) AS_TR_CPP([HAVE_stdlib.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) +m4trace:configure.ac:16: -1- AC_DEFUN([_AC_Header_string_h], [m4_divert_text([INIT_PREPARE], + [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], + [" string.h ]AS_TR_SH([string.h]) AS_TR_CPP([HAVE_string.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) +m4trace:configure.ac:16: -1- AC_DEFUN([_AC_Header_inttypes_h], [m4_divert_text([INIT_PREPARE], + [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], + [" inttypes.h ]AS_TR_SH([inttypes.h]) AS_TR_CPP([HAVE_inttypes.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) +m4trace:configure.ac:16: -1- AC_DEFUN([_AC_Header_stdint_h], [m4_divert_text([INIT_PREPARE], + [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], + [" stdint.h ]AS_TR_SH([stdint.h]) AS_TR_CPP([HAVE_stdint.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) +m4trace:configure.ac:16: -1- AC_DEFUN([_AC_Header_strings_h], [m4_divert_text([INIT_PREPARE], + [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], + [" strings.h ]AS_TR_SH([strings.h]) AS_TR_CPP([HAVE_strings.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) +m4trace:configure.ac:16: -1- AC_DEFUN([_AC_Header_sys_stat_h], [m4_divert_text([INIT_PREPARE], + [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], + [" sys/stat.h ]AS_TR_SH([sys/stat.h]) AS_TR_CPP([HAVE_sys/stat.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) +m4trace:configure.ac:16: -1- AC_DEFUN([_AC_Header_sys_types_h], [m4_divert_text([INIT_PREPARE], + [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], + [" sys/types.h ]AS_TR_SH([sys/types.h]) AS_TR_CPP([HAVE_sys/types.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) +m4trace:configure.ac:16: -1- AC_DEFUN([_AC_Header_unistd_h], [m4_divert_text([INIT_PREPARE], + [AS_VAR_APPEND([ac_header_]]_AC_LANG_ABBREV[[_list], + [" unistd.h ]AS_TR_SH([unistd.h]) AS_TR_CPP([HAVE_unistd.h])["])])_AC_HEADERS_EXPANSION(_AC_LANG_ABBREV)]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^HAVE_DLFCN_H$]) +m4trace:configure.ac:16: -1- LT_LANG([CXX]) +m4trace:configure.ac:16: -1- LT_SUPPORTED_TAG([CXX]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:16: -1- _LT_COMPILER_BOILERPLATE +m4trace:configure.ac:16: -1- _LT_LINKER_BOILERPLATE +m4trace:configure.ac:16: -1- _LT_CC_BASENAME([$compiler]) +m4trace:configure.ac:16: -1- LT_PATH_LD +m4trace:configure.ac:16: -1- m4_pattern_allow([^LD$]) +m4trace:configure.ac:16: -1- _LT_DLL_DEF_P([$export_symbols]) +m4trace:configure.ac:16: -1- _LT_DLL_DEF_P([$export_symbols]) +m4trace:configure.ac:16: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, CXX) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, CXX)], [$_LT_TAGVAR(lt_prog_compiler_pic, CXX)@&t@m4_if([CXX],[],[ -DPIC],[m4_if([CXX],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, CXX) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, CXX)=" $_LT_TAGVAR(lt_prog_compiler_pic, CXX)" ;; + esac], [_LT_TAGVAR(lt_prog_compiler_pic, CXX)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, CXX)=no]) +m4trace:configure.ac:16: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works_CXX], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, CXX)=]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^NDEBUG$]) +m4trace:configure.ac:42: -1- m4_pattern_allow([^FULL_DEBUG$]) +m4trace:configure.ac:49: -1- m4_pattern_allow([^FAST_COMPILATION$]) +m4trace:configure.ac:51: -1- AM_CONDITIONAL([FAST_COMPILATION], [test "$enable_fast_compilation" = "yes"]) +m4trace:configure.ac:51: -1- m4_pattern_allow([^FAST_COMPILATION_TRUE$]) +m4trace:configure.ac:51: -1- m4_pattern_allow([^FAST_COMPILATION_FALSE$]) +m4trace:configure.ac:51: -1- _AM_SUBST_NOTMAKE([FAST_COMPILATION_TRUE]) +m4trace:configure.ac:51: -1- _AM_SUBST_NOTMAKE([FAST_COMPILATION_FALSE]) +m4trace:configure.ac:57: -1- m4_pattern_allow([^COMPILE_TESTS$]) +m4trace:configure.ac:59: -1- AM_CONDITIONAL([COMPILE_TESTS], [test "$enable_tests" = "yes"]) +m4trace:configure.ac:59: -1- m4_pattern_allow([^COMPILE_TESTS_TRUE$]) +m4trace:configure.ac:59: -1- m4_pattern_allow([^COMPILE_TESTS_FALSE$]) +m4trace:configure.ac:59: -1- _AM_SUBST_NOTMAKE([COMPILE_TESTS_TRUE]) +m4trace:configure.ac:59: -1- _AM_SUBST_NOTMAKE([COMPILE_TESTS_FALSE]) +m4trace:configure.ac:62: -1- _m4_warn([obsolete], [The macro `AC_HEADER_STDC' is obsolete. +You should run autoupdate.], [./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from... +configure.ac:62: the top level]) +m4trace:configure.ac:62: -1- AC_PROG_EGREP +m4trace:configure.ac:62: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:65: -1- AC_CXX_BOOL +m4trace:configure.ac:65: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_bool.m4:4: AC_CXX_BOOL is expanded from... +configure.ac:65: the top level]) +m4trace:configure.ac:65: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_bool.m4:4: AC_CXX_BOOL is expanded from... +configure.ac:65: the top level]) +m4trace:configure.ac:65: -1- m4_pattern_allow([^HAVE_BOOL$]) +m4trace:configure.ac:66: -1- OB_CXX_LONG_LONG +m4trace:configure.ac:66: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_cxx_long_long.m4:1: OB_CXX_LONG_LONG is expanded from... +configure.ac:66: the top level]) +m4trace:configure.ac:66: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_cxx_long_long.m4:1: OB_CXX_LONG_LONG is expanded from... +configure.ac:66: the top level]) +m4trace:configure.ac:66: -1- m4_pattern_allow([^HAVE_LONG_LONG$]) +m4trace:configure.ac:67: -1- OB_CXX_HAVE_ISFINITE +m4trace:configure.ac:67: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_cxx_have_isinfinite.m4:1: OB_CXX_HAVE_ISFINITE is expanded from... +configure.ac:67: the top level]) +m4trace:configure.ac:67: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_cxx_have_isinfinite.m4:1: OB_CXX_HAVE_ISFINITE is expanded from... +configure.ac:67: the top level]) +m4trace:configure.ac:67: -1- m4_pattern_allow([^HAVE_ISFINITE$]) +m4trace:configure.ac:68: -1- AC_CXX_TEMPLATES +m4trace:configure.ac:68: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_templates.m4:4: AC_CXX_TEMPLATES is expanded from... +configure.ac:68: the top level]) +m4trace:configure.ac:68: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_templates.m4:4: AC_CXX_TEMPLATES is expanded from... +configure.ac:68: the top level]) +m4trace:configure.ac:68: -1- m4_pattern_allow([^HAVE_TEMPLATES$]) +m4trace:configure.ac:69: -1- AC_CXX_TYPENAME +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_typename.m4:4: AC_CXX_TYPENAME is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_typename.m4:4: AC_CXX_TYPENAME is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^HAVE_TYPENAME$]) +m4trace:configure.ac:70: -1- AC_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING +m4trace:configure.ac:70: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_scoped_argument_matching.m4:4: AC_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING is expanded from... +configure.ac:70: the top level]) +m4trace:configure.ac:70: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_scoped_argument_matching.m4:4: AC_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING is expanded from... +configure.ac:70: the top level]) +m4trace:configure.ac:70: -1- m4_pattern_allow([^HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING$]) +m4trace:configure.ac:71: -1- AC_CXX_DEFAULT_TEMPLATE_PARAMETERS +m4trace:configure.ac:71: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_default_template_parameters.m4:4: AC_CXX_DEFAULT_TEMPLATE_PARAMETERS is expanded from... +configure.ac:71: the top level]) +m4trace:configure.ac:71: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_default_template_parameters.m4:4: AC_CXX_DEFAULT_TEMPLATE_PARAMETERS is expanded from... +configure.ac:71: the top level]) +m4trace:configure.ac:71: -1- m4_pattern_allow([^HAVE_DEFAULT_TEMPLATE_PARAMETERS$]) +m4trace:configure.ac:72: -1- AC_CXX_TEMPLATE_QUALIFIED_BASE_CLASS +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_qualified_base_class.m4:4: AC_CXX_TEMPLATE_QUALIFIED_BASE_CLASS is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_qualified_base_class.m4:4: AC_CXX_TEMPLATE_QUALIFIED_BASE_CLASS is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_TEMPLATE_QUALIFIED_BASE_CLASS$]) +m4trace:configure.ac:73: -1- AC_CXX_TEMPLATE_QUALIFIED_RETURN_TYPE +m4trace:configure.ac:73: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_qualified_return_type.m4:4: AC_CXX_TEMPLATE_QUALIFIED_RETURN_TYPE is expanded from... +configure.ac:73: the top level]) +m4trace:configure.ac:73: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_qualified_return_type.m4:4: AC_CXX_TEMPLATE_QUALIFIED_RETURN_TYPE is expanded from... +configure.ac:73: the top level]) +m4trace:configure.ac:73: -1- m4_pattern_allow([^HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE$]) +m4trace:configure.ac:74: -1- AC_CXX_CONST_CAST +m4trace:configure.ac:74: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_const_cast.m4:4: AC_CXX_CONST_CAST is expanded from... +configure.ac:74: the top level]) +m4trace:configure.ac:74: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_const_cast.m4:4: AC_CXX_CONST_CAST is expanded from... +configure.ac:74: the top level]) +m4trace:configure.ac:74: -1- m4_pattern_allow([^HAVE_CONST_CAST$]) +m4trace:configure.ac:75: -1- AC_CXX_REINTERPRET_CAST +m4trace:configure.ac:75: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_reinterpret_cast.m4:4: AC_CXX_REINTERPRET_CAST is expanded from... +configure.ac:75: the top level]) +m4trace:configure.ac:75: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_reinterpret_cast.m4:4: AC_CXX_REINTERPRET_CAST is expanded from... +configure.ac:75: the top level]) +m4trace:configure.ac:75: -1- m4_pattern_allow([^HAVE_REINTERPRET_CAST$]) +m4trace:configure.ac:76: -1- AC_CXX_STATIC_CAST +m4trace:configure.ac:76: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_static_cast.m4:4: AC_CXX_STATIC_CAST is expanded from... +configure.ac:76: the top level]) +m4trace:configure.ac:76: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_static_cast.m4:4: AC_CXX_STATIC_CAST is expanded from... +configure.ac:76: the top level]) +m4trace:configure.ac:76: -1- m4_pattern_allow([^HAVE_STATIC_CAST$]) +m4trace:configure.ac:77: -1- AC_CXX_DYNAMIC_CAST +m4trace:configure.ac:77: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_dynamic_cast.m4:4: AC_CXX_DYNAMIC_CAST is expanded from... +configure.ac:77: the top level]) +m4trace:configure.ac:77: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_dynamic_cast.m4:4: AC_CXX_DYNAMIC_CAST is expanded from... +configure.ac:77: the top level]) +m4trace:configure.ac:77: -1- m4_pattern_allow([^HAVE_DYNAMIC_CAST$]) +m4trace:configure.ac:78: -1- AC_CXX_EXCEPTIONS +m4trace:configure.ac:78: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_exceptions.m4:4: AC_CXX_EXCEPTIONS is expanded from... +configure.ac:78: the top level]) +m4trace:configure.ac:78: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_exceptions.m4:4: AC_CXX_EXCEPTIONS is expanded from... +configure.ac:78: the top level]) +m4trace:configure.ac:78: -1- m4_pattern_allow([^HAVE_EXCEPTIONS$]) +m4trace:configure.ac:79: -1- AC_CXX_EXPLICIT +m4trace:configure.ac:79: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_explicit.m4:4: AC_CXX_EXPLICIT is expanded from... +configure.ac:79: the top level]) +m4trace:configure.ac:79: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_explicit.m4:4: AC_CXX_EXPLICIT is expanded from... +configure.ac:79: the top level]) +m4trace:configure.ac:79: -1- m4_pattern_allow([^HAVE_EXPLICIT$]) +m4trace:configure.ac:80: -1- AC_CXX_NAMESPACES +m4trace:configure.ac:80: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_namespaces.m4:4: AC_CXX_NAMESPACES is expanded from... +configure.ac:80: the top level]) +m4trace:configure.ac:80: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_namespaces.m4:4: AC_CXX_NAMESPACES is expanded from... +configure.ac:80: the top level]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^HAVE_NAMESPACES$]) +m4trace:configure.ac:81: -1- AC_CXX_RTTI +m4trace:configure.ac:81: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_rtti.m4:4: AC_CXX_RTTI is expanded from... +configure.ac:81: the top level]) +m4trace:configure.ac:81: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_rtti.m4:4: AC_CXX_RTTI is expanded from... +configure.ac:81: the top level]) +m4trace:configure.ac:81: -1- m4_pattern_allow([^HAVE_RTTI$]) +m4trace:configure.ac:82: -1- AC_CXX_HAVE_STD +m4trace:configure.ac:82: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_std.m4:4: AC_CXX_HAVE_STD is expanded from... +configure.ac:82: the top level]) +m4trace:configure.ac:82: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_std.m4:4: AC_CXX_HAVE_STD is expanded from... +configure.ac:82: the top level]) +m4trace:configure.ac:82: -1- m4_pattern_allow([^HAVE_STD$]) +m4trace:configure.ac:83: -1- AC_CXX_HAVE_STL +m4trace:configure.ac:83: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_stl.m4:4: AC_CXX_HAVE_STL is expanded from... +configure.ac:83: the top level]) +m4trace:configure.ac:83: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_stl.m4:4: AC_CXX_HAVE_STL is expanded from... +configure.ac:83: the top level]) +m4trace:configure.ac:83: -1- m4_pattern_allow([^HAVE_STL$]) +m4trace:configure.ac:84: -1- AC_CXX_HAVE_NUMERIC_LIMITS +m4trace:configure.ac:84: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_numeric_limits.m4:4: AC_CXX_HAVE_NUMERIC_LIMITS is expanded from... +configure.ac:84: the top level]) +m4trace:configure.ac:84: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_numeric_limits.m4:4: AC_CXX_HAVE_NUMERIC_LIMITS is expanded from... +configure.ac:84: the top level]) +m4trace:configure.ac:84: -1- m4_pattern_allow([^HAVE_NUMERIC_LIMITS$]) +m4trace:configure.ac:85: -1- AC_CXX_HAVE_SSTREAM +m4trace:configure.ac:85: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_sstream.m4:4: AC_CXX_HAVE_SSTREAM is expanded from... +configure.ac:85: the top level]) +m4trace:configure.ac:85: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_sstream.m4:4: AC_CXX_HAVE_SSTREAM is expanded from... +configure.ac:85: the top level]) +m4trace:configure.ac:85: -1- m4_pattern_allow([^HAVE_SSTREAM$]) +m4trace:configure.ac:91: -1- AC_CXX_STD_HASHSET +m4trace:configure.ac:91: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:9: AC_CXX_STD_HASHSET is expanded from... +configure.ac:91: the top level]) +m4trace:configure.ac:91: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:9: AC_CXX_STD_HASHSET is expanded from... +configure.ac:91: the top level]) +m4trace:configure.ac:91: -1- m4_pattern_allow([^HAVE_STD_HASHSET$]) +m4trace:configure.ac:92: -1- AC_CXX_GNUCXX_HASHSET +m4trace:configure.ac:92: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:25: AC_CXX_GNUCXX_HASHSET is expanded from... +configure.ac:92: the top level]) +m4trace:configure.ac:92: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:25: AC_CXX_GNUCXX_HASHSET is expanded from... +configure.ac:92: the top level]) +m4trace:configure.ac:92: -1- m4_pattern_allow([^HAVE_GNUCXX_HASHSET$]) +m4trace:configure.ac:93: -1- AC_CXX_STDEXT_HASHSET +m4trace:configure.ac:93: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:41: AC_CXX_STDEXT_HASHSET is expanded from... +configure.ac:93: the top level]) +m4trace:configure.ac:93: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:41: AC_CXX_STDEXT_HASHSET is expanded from... +configure.ac:93: the top level]) +m4trace:configure.ac:93: -1- m4_pattern_allow([^HAVE_STDEXT_HASHSET$]) +m4trace:configure.ac:98: -1- AC_CXX_STD_HASHMAP +m4trace:configure.ac:98: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:9: AC_CXX_STD_HASHMAP is expanded from... +configure.ac:98: the top level]) +m4trace:configure.ac:98: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:9: AC_CXX_STD_HASHMAP is expanded from... +configure.ac:98: the top level]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^HAVE_STD_HASHMAP$]) +m4trace:configure.ac:99: -1- AC_CXX_GNUCXX_HASHMAP +m4trace:configure.ac:99: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:25: AC_CXX_GNUCXX_HASHMAP is expanded from... +configure.ac:99: the top level]) +m4trace:configure.ac:99: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:25: AC_CXX_GNUCXX_HASHMAP is expanded from... +configure.ac:99: the top level]) +m4trace:configure.ac:99: -1- m4_pattern_allow([^HAVE_GNUCXX_HASHMAP$]) +m4trace:configure.ac:100: -1- AC_CXX_STDEXT_HASHMAP +m4trace:configure.ac:100: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:41: AC_CXX_STDEXT_HASHMAP is expanded from... +configure.ac:100: the top level]) +m4trace:configure.ac:100: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:41: AC_CXX_STDEXT_HASHMAP is expanded from... +configure.ac:100: the top level]) +m4trace:configure.ac:100: -1- m4_pattern_allow([^HAVE_STDEXT_HASHMAP$]) +m4trace:configure.ac:104: -1- _m4_warn([cross], [cannot check for file existence when cross compiling], [./lib/autoconf/general.m4:3010: AC_CHECK_FILE is expanded from... +configure.ac:104: the top level]) +m4trace:configure.ac:104: -1- m4_pattern_allow([^HAVE_DEV_URANDOM$]) +m4trace:configure.ac:107: -1- ACX_PTHREAD +m4trace:configure.ac:107: -1- _m4_warn([obsolete], [The macro `AC_LANG_C' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:72: AC_LANG_C is expanded from... +m4/acx_pthread.m4:4: ACX_PTHREAD is expanded from... +configure.ac:107: the top level]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^acx_pthread_config$]) +m4trace:configure.ac:107: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... +m4/acx_pthread.m4:4: ACX_PTHREAD is expanded from... +configure.ac:107: the top level]) +m4trace:configure.ac:107: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... +m4/acx_pthread.m4:4: ACX_PTHREAD is expanded from... +configure.ac:107: the top level]) +m4trace:configure.ac:107: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... +m4/acx_pthread.m4:4: ACX_PTHREAD is expanded from... +configure.ac:107: the top level]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^PTHREAD_CREATE_JOINABLE$]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^PTHREAD_CC$]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^PTHREAD_LIBS$]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^PTHREAD_CFLAGS$]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^PTHREAD_CC$]) +m4trace:configure.ac:107: -2- m4_pattern_allow([^HAVE_PTHREAD$]) +m4trace:configure.ac:113: -1- CHECK_ZLIB +m4trace:configure.ac:113: -1- _m4_warn([obsolete], [The macro `AC_LANG_C' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:72: AC_LANG_C is expanded from... +m4/check_zlib.m4:4: CHECK_ZLIB is expanded from... +configure.ac:113: the top level]) +m4trace:configure.ac:113: -1- m4_pattern_allow([^HAVE_LIBZ$]) +m4trace:configure.ac:146: -1- m4_pattern_allow([^PACC_VERSION$]) +m4trace:configure.ac:197: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:197: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.ac:197: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"]) +m4trace:configure.ac:197: -1- m4_pattern_allow([^am__EXEEXT_TRUE$]) +m4trace:configure.ac:197: -1- m4_pattern_allow([^am__EXEEXT_FALSE$]) +m4trace:configure.ac:197: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE]) +m4trace:configure.ac:197: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE]) +m4trace:configure.ac:197: -1- _AC_AM_CONFIG_HEADER_HOOK(["$ac_file"]) +m4trace:configure.ac:197: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS +m4trace:configure.ac:197: -1- AM_RUN_LOG([cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles]) +m4trace:configure.ac:197: -1- _LT_PROG_LTMAIN diff --git a/lib/beagle-3.0.3/autom4te.cache/traces.1 b/lib/beagle-3.0.3/autom4te.cache/traces.1 new file mode 100644 index 0000000..408033d --- /dev/null +++ b/lib/beagle-3.0.3/autom4te.cache/traces.1 @@ -0,0 +1,1299 @@ +m4trace:aclocal.m4:9787: -1- AC_SUBST([am__quote]) +m4trace:aclocal.m4:9787: -1- AC_SUBST_TRACE([am__quote]) +m4trace:aclocal.m4:9787: -1- m4_pattern_allow([^am__quote$]) +m4trace:aclocal.m4:10268: -1- m4_include([m4/ac_cxx_bool.m4]) +m4trace:aclocal.m4:10269: -1- m4_include([m4/ac_cxx_const_cast.m4]) +m4trace:aclocal.m4:10270: -1- m4_include([m4/ac_cxx_default_template_parameters.m4]) +m4trace:aclocal.m4:10271: -1- m4_include([m4/ac_cxx_dynamic_cast.m4]) +m4trace:aclocal.m4:10272: -1- m4_include([m4/ac_cxx_exceptions.m4]) +m4trace:aclocal.m4:10273: -1- m4_include([m4/ac_cxx_explicit.m4]) +m4trace:aclocal.m4:10274: -1- m4_include([m4/ac_cxx_have_numeric_limits.m4]) +m4trace:aclocal.m4:10275: -1- m4_include([m4/ac_cxx_have_sstream.m4]) +m4trace:aclocal.m4:10276: -1- m4_include([m4/ac_cxx_have_std.m4]) +m4trace:aclocal.m4:10277: -1- m4_include([m4/ac_cxx_have_stl.m4]) +m4trace:aclocal.m4:10278: -1- m4_include([m4/ac_cxx_namespaces.m4]) +m4trace:aclocal.m4:10279: -1- m4_include([m4/ac_cxx_reinterpret_cast.m4]) +m4trace:aclocal.m4:10280: -1- m4_include([m4/ac_cxx_rtti.m4]) +m4trace:aclocal.m4:10281: -1- m4_include([m4/ac_cxx_static_cast.m4]) +m4trace:aclocal.m4:10282: -1- m4_include([m4/ac_cxx_template_qualified_base_class.m4]) +m4trace:aclocal.m4:10283: -1- m4_include([m4/ac_cxx_template_qualified_return_type.m4]) +m4trace:aclocal.m4:10284: -1- m4_include([m4/ac_cxx_template_scoped_argument_matching.m4]) +m4trace:aclocal.m4:10285: -1- m4_include([m4/ac_cxx_templates.m4]) +m4trace:aclocal.m4:10286: -1- m4_include([m4/ac_cxx_typename.m4]) +m4trace:aclocal.m4:10287: -1- m4_include([m4/acx_pthread.m4]) +m4trace:aclocal.m4:10288: -1- m4_include([m4/ax_prefix_config_h.m4]) +m4trace:aclocal.m4:10289: -1- m4_include([m4/check_zlib.m4]) +m4trace:aclocal.m4:10290: -1- m4_include([m4/ob_cxx_have_isinfinite.m4]) +m4trace:aclocal.m4:10291: -1- m4_include([m4/ob_cxx_long_long.m4]) +m4trace:aclocal.m4:10292: -1- m4_include([m4/ob_have_hash_map.m4]) +m4trace:aclocal.m4:10293: -1- m4_include([m4/ob_have_hash_set.m4]) +m4trace:configure.ac:2: -1- AC_INIT([Open BEAGLE], [3.0.3], [cgagne@gmail.com], [beagle]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?A[CHUM]_]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([_AC_]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +m4trace:configure.ac:2: -1- m4_pattern_allow([^AS_FLAGS$]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?m4_]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([^dnl$]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?AS_]) +m4trace:configure.ac:2: -1- AC_SUBST([SHELL]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([SHELL]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^SHELL$]) +m4trace:configure.ac:2: -1- AC_SUBST([PATH_SEPARATOR]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PATH_SEPARATOR]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PATH_SEPARATOR$]) +m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_NAME]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_TARNAME]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_VERSION]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_STRING]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_URL]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_URL$]) +m4trace:configure.ac:2: -1- AC_SUBST([exec_prefix], [NONE]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([exec_prefix]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^exec_prefix$]) +m4trace:configure.ac:2: -1- AC_SUBST([prefix], [NONE]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([prefix]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^prefix$]) +m4trace:configure.ac:2: -1- AC_SUBST([program_transform_name], [s,x,x,]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([program_transform_name]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^program_transform_name$]) +m4trace:configure.ac:2: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([bindir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^bindir$]) +m4trace:configure.ac:2: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sbindir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^sbindir$]) +m4trace:configure.ac:2: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([libexecdir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^libexecdir$]) +m4trace:configure.ac:2: -1- AC_SUBST([datarootdir], ['${prefix}/share']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([datarootdir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^datarootdir$]) +m4trace:configure.ac:2: -1- AC_SUBST([datadir], ['${datarootdir}']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([datadir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^datadir$]) +m4trace:configure.ac:2: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sysconfdir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^sysconfdir$]) +m4trace:configure.ac:2: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sharedstatedir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^sharedstatedir$]) +m4trace:configure.ac:2: -1- AC_SUBST([localstatedir], ['${prefix}/var']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([localstatedir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^localstatedir$]) +m4trace:configure.ac:2: -1- AC_SUBST([runstatedir], ['${localstatedir}/run']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([runstatedir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^runstatedir$]) +m4trace:configure.ac:2: -1- AC_SUBST([includedir], ['${prefix}/include']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([includedir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^includedir$]) +m4trace:configure.ac:2: -1- AC_SUBST([oldincludedir], ['/usr/include']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([oldincludedir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^oldincludedir$]) +m4trace:configure.ac:2: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], + ['${datarootdir}/doc/${PACKAGE_TARNAME}'], + ['${datarootdir}/doc/${PACKAGE}'])]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([docdir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^docdir$]) +m4trace:configure.ac:2: -1- AC_SUBST([infodir], ['${datarootdir}/info']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([infodir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^infodir$]) +m4trace:configure.ac:2: -1- AC_SUBST([htmldir], ['${docdir}']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([htmldir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^htmldir$]) +m4trace:configure.ac:2: -1- AC_SUBST([dvidir], ['${docdir}']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([dvidir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^dvidir$]) +m4trace:configure.ac:2: -1- AC_SUBST([pdfdir], ['${docdir}']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([pdfdir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^pdfdir$]) +m4trace:configure.ac:2: -1- AC_SUBST([psdir], ['${docdir}']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([psdir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^psdir$]) +m4trace:configure.ac:2: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([libdir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^libdir$]) +m4trace:configure.ac:2: -1- AC_SUBST([localedir], ['${datarootdir}/locale']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([localedir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^localedir$]) +m4trace:configure.ac:2: -1- AC_SUBST([mandir], ['${datarootdir}/man']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([mandir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^mandir$]) +m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ +@%:@undef PACKAGE_NAME]) +m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ +@%:@undef PACKAGE_TARNAME]) +m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ +@%:@undef PACKAGE_VERSION]) +m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ +@%:@undef PACKAGE_STRING]) +m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ +@%:@undef PACKAGE_BUGREPORT]) +m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_URL$]) +m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */ +@%:@undef PACKAGE_URL]) +m4trace:configure.ac:2: -1- AC_SUBST([DEFS]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([DEFS]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^DEFS$]) +m4trace:configure.ac:2: -1- AC_SUBST([ECHO_C]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_C]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_C$]) +m4trace:configure.ac:2: -1- AC_SUBST([ECHO_N]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_N]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_N$]) +m4trace:configure.ac:2: -1- AC_SUBST([ECHO_T]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_T]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_T$]) +m4trace:configure.ac:2: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:2: -1- AC_SUBST([build_alias]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([build_alias]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^build_alias$]) +m4trace:configure.ac:2: -1- AC_SUBST([host_alias]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([host_alias]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^host_alias$]) +m4trace:configure.ac:2: -1- AC_SUBST([target_alias]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([target_alias]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^target_alias$]) +m4trace:configure.ac:4: -1- AC_CONFIG_AUX_DIR([config]) +m4trace:configure.ac:6: -1- AM_INIT_AUTOMAKE +m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) +m4trace:configure.ac:6: -1- AM_AUTOMAKE_VERSION([1.16.5]) +m4trace:configure.ac:6: -1- AC_REQUIRE_AUX_FILE([install-sh]) +m4trace:configure.ac:6: -1- AC_SUBST([INSTALL_PROGRAM]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) +m4trace:configure.ac:6: -1- AC_SUBST([INSTALL_SCRIPT]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([INSTALL_SCRIPT]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) +m4trace:configure.ac:6: -1- AC_SUBST([INSTALL_DATA]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([INSTALL_DATA]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_DATA$]) +m4trace:configure.ac:6: -1- AC_SUBST([am__isrc], [' -I$(srcdir)']) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([am__isrc]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^am__isrc$]) +m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([am__isrc]) +m4trace:configure.ac:6: -1- AC_SUBST([CYGPATH_W]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([CYGPATH_W]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^CYGPATH_W$]) +m4trace:configure.ac:6: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME']) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PACKAGE]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:6: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION']) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([VERSION]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:6: -1- AH_OUTPUT([PACKAGE], [/* Name of package */ +@%:@undef PACKAGE]) +m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([VERSION]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:6: -1- AH_OUTPUT([VERSION], [/* Version number of package */ +@%:@undef VERSION]) +m4trace:configure.ac:6: -1- AC_REQUIRE_AUX_FILE([missing]) +m4trace:configure.ac:6: -1- AC_SUBST([ACLOCAL]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([ACLOCAL]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^ACLOCAL$]) +m4trace:configure.ac:6: -1- AC_SUBST([AUTOCONF]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AUTOCONF]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AUTOCONF$]) +m4trace:configure.ac:6: -1- AC_SUBST([AUTOMAKE]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AUTOMAKE]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AUTOMAKE$]) +m4trace:configure.ac:6: -1- AC_SUBST([AUTOHEADER]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AUTOHEADER]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AUTOHEADER$]) +m4trace:configure.ac:6: -1- AC_SUBST([MAKEINFO]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([MAKEINFO]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^MAKEINFO$]) +m4trace:configure.ac:6: -1- AC_SUBST([install_sh]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([install_sh]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^install_sh$]) +m4trace:configure.ac:6: -1- AC_SUBST([STRIP]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([STRIP]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:6: -1- AC_SUBST([INSTALL_STRIP_PROGRAM]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) +m4trace:configure.ac:6: -1- AC_REQUIRE_AUX_FILE([install-sh]) +m4trace:configure.ac:6: -1- AC_SUBST([MKDIR_P]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([MKDIR_P]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^MKDIR_P$]) +m4trace:configure.ac:6: -1- AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([mkdir_p]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^mkdir_p$]) +m4trace:configure.ac:6: -1- AC_SUBST([AWK]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AWK]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:6: -1- AC_SUBST([SET_MAKE]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([SET_MAKE]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^SET_MAKE$]) +m4trace:configure.ac:6: -1- AC_SUBST([am__leading_dot]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([am__leading_dot]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^am__leading_dot$]) +m4trace:configure.ac:6: -1- AC_SUBST([AMTAR], ['$${TAR-tar}']) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AMTAR]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AMTAR$]) +m4trace:configure.ac:6: -1- AC_SUBST([am__tar]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([am__tar]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^am__tar$]) +m4trace:configure.ac:6: -1- AC_SUBST([am__untar]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([am__untar]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^am__untar$]) +m4trace:configure.ac:6: -1- AC_SUBST([CTAGS]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([CTAGS]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^CTAGS$]) +m4trace:configure.ac:6: -1- AC_SUBST([ETAGS]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([ETAGS]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^ETAGS$]) +m4trace:configure.ac:6: -1- AC_SUBST([CSCOPE]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([CSCOPE]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^CSCOPE$]) +m4trace:configure.ac:6: -1- AM_SILENT_RULES +m4trace:configure.ac:6: -1- AC_SUBST([AM_V]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AM_V]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_V$]) +m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([AM_V]) +m4trace:configure.ac:6: -1- AC_SUBST([AM_DEFAULT_V]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AM_DEFAULT_V]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_DEFAULT_V$]) +m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) +m4trace:configure.ac:6: -1- AC_SUBST([AM_DEFAULT_VERBOSITY]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AM_DEFAULT_VERBOSITY]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) +m4trace:configure.ac:6: -1- AC_SUBST([AM_BACKSLASH]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AM_BACKSLASH]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_BACKSLASH$]) +m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) +m4trace:configure.ac:7: -1- _m4_warn([obsolete], ['AM_CONFIG_HEADER': this macro is obsolete. +You should use the 'AC_CONFIG_HEADERS' macro instead.], [./lib/autoconf/general.m4:2434: AC_DIAGNOSE is expanded from... +aclocal.m4:9833: AM_CONFIG_HEADER is expanded from... +configure.ac:7: the top level]) +m4trace:configure.ac:7: -1- AC_CONFIG_HEADERS([config/config-h:config/config-h.in]) +m4trace:configure.ac:11: -1- AC_SUBST([AWK]) +m4trace:configure.ac:11: -1- AC_SUBST_TRACE([AWK]) +m4trace:configure.ac:11: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:12: -1- AC_SUBST([CXX]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([CXX]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:12: -1- AC_SUBST([CXXFLAGS]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([CXXFLAGS]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^CXXFLAGS$]) +m4trace:configure.ac:12: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:12: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:12: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:12: -1- AC_SUBST([CXX]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([CXX]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:12: -1- AC_SUBST([ac_ct_CXX]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([ac_ct_CXX]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^ac_ct_CXX$]) +m4trace:configure.ac:12: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([EXEEXT]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^EXEEXT$]) +m4trace:configure.ac:12: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([OBJEXT]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^OBJEXT$]) +m4trace:configure.ac:12: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([DEPDIR]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^DEPDIR$]) +m4trace:configure.ac:12: -1- AC_SUBST([am__include]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([am__include]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^am__include$]) +m4trace:configure.ac:12: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +m4trace:configure.ac:12: -1- AC_SUBST([AMDEP_TRUE]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([AMDEP_TRUE]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^AMDEP_TRUE$]) +m4trace:configure.ac:12: -1- AC_SUBST([AMDEP_FALSE]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([AMDEP_FALSE]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^AMDEP_FALSE$]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) +m4trace:configure.ac:12: -1- AC_SUBST([AMDEPBACKSLASH]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([AMDEPBACKSLASH]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) +m4trace:configure.ac:12: -1- AC_SUBST([am__nodep]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([am__nodep]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^am__nodep$]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([am__nodep]) +m4trace:configure.ac:12: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([CXXDEPMODE]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^CXXDEPMODE$]) +m4trace:configure.ac:12: -1- AM_CONDITIONAL([am__fastdepCXX], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:12: -1- AC_SUBST([am__fastdepCXX_TRUE]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([am__fastdepCXX_TRUE]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) +m4trace:configure.ac:12: -1- AC_SUBST([am__fastdepCXX_FALSE]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([am__fastdepCXX_FALSE]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) +m4trace:configure.ac:13: -1- AC_SUBST([CXXCPP]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:13: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:13: -1- AC_SUBST([CXXCPP]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:15: -1- AC_SUBST([LN_S], [$as_ln_s]) +m4trace:configure.ac:15: -1- AC_SUBST_TRACE([LN_S]) +m4trace:configure.ac:15: -1- m4_pattern_allow([^LN_S$]) +m4trace:configure.ac:16: -1- AC_PROG_LIBTOOL +m4trace:configure.ac:16: -1- _m4_warn([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. +You should run autoupdate.], [aclocal.m4:122: AC_PROG_LIBTOOL is expanded from... +configure.ac:16: the top level]) +m4trace:configure.ac:16: -1- LT_INIT +m4trace:configure.ac:16: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$]) +m4trace:configure.ac:16: -1- AC_REQUIRE_AUX_FILE([ltmain.sh]) +m4trace:configure.ac:16: -1- AC_SUBST([LIBTOOL]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([LIBTOOL]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LIBTOOL$]) +m4trace:configure.ac:16: -1- AC_CANONICAL_HOST +m4trace:configure.ac:16: -1- AC_CANONICAL_BUILD +m4trace:configure.ac:16: -1- AC_REQUIRE_AUX_FILE([config.sub]) +m4trace:configure.ac:16: -1- AC_REQUIRE_AUX_FILE([config.guess]) +m4trace:configure.ac:16: -1- AC_SUBST([build], [$ac_cv_build]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([build]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^build$]) +m4trace:configure.ac:16: -1- AC_SUBST([build_cpu], [$[1]]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([build_cpu]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^build_cpu$]) +m4trace:configure.ac:16: -1- AC_SUBST([build_vendor], [$[2]]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([build_vendor]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^build_vendor$]) +m4trace:configure.ac:16: -1- AC_SUBST([build_os]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([build_os]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^build_os$]) +m4trace:configure.ac:16: -1- AC_SUBST([host], [$ac_cv_host]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([host]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^host$]) +m4trace:configure.ac:16: -1- AC_SUBST([host_cpu], [$[1]]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([host_cpu]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^host_cpu$]) +m4trace:configure.ac:16: -1- AC_SUBST([host_vendor], [$[2]]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([host_vendor]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^host_vendor$]) +m4trace:configure.ac:16: -1- AC_SUBST([host_os]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([host_os]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^host_os$]) +m4trace:configure.ac:16: -1- AC_SUBST([CC]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- AC_SUBST([CFLAGS]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CFLAGS]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:16: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:16: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:16: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:16: -1- AC_SUBST([CC]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- AC_SUBST([CC]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- AC_SUBST([CC]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- AC_SUBST([CC]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- AC_SUBST([ac_ct_CC]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([ac_ct_CC]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:16: -1- AC_SUBST([CC]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- AC_REQUIRE_AUX_FILE([compile]) +m4trace:configure.ac:16: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CCDEPMODE]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:16: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:16: -1- AC_SUBST([am__fastdepCC_TRUE]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:16: -1- AC_SUBST([am__fastdepCC_FALSE]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:16: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) +m4trace:configure.ac:16: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) +m4trace:configure.ac:16: -1- AC_SUBST([SED]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([SED]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^SED$]) +m4trace:configure.ac:16: -1- AC_SUBST([GREP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([GREP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:16: -1- AC_SUBST([EGREP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([EGREP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:16: -1- AC_SUBST([FGREP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([FGREP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^FGREP$]) +m4trace:configure.ac:16: -1- AC_SUBST([GREP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([GREP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:16: -1- AC_SUBST([LD]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([LD]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LD$]) +m4trace:configure.ac:16: -1- AC_SUBST([DUMPBIN]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([DUMPBIN]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^DUMPBIN$]) +m4trace:configure.ac:16: -1- AC_SUBST([ac_ct_DUMPBIN]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^ac_ct_DUMPBIN$]) +m4trace:configure.ac:16: -1- AC_SUBST([DUMPBIN]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([DUMPBIN]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^DUMPBIN$]) +m4trace:configure.ac:16: -1- AC_SUBST([NM]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([NM]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^NM$]) +m4trace:configure.ac:16: -1- AC_SUBST([FILECMD]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([FILECMD]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^FILECMD$]) +m4trace:configure.ac:16: -1- AC_SUBST([OBJDUMP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([OBJDUMP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^OBJDUMP$]) +m4trace:configure.ac:16: -1- AC_SUBST([OBJDUMP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([OBJDUMP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^OBJDUMP$]) +m4trace:configure.ac:16: -1- AC_SUBST([DLLTOOL]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([DLLTOOL]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^DLLTOOL$]) +m4trace:configure.ac:16: -1- AC_SUBST([DLLTOOL]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([DLLTOOL]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^DLLTOOL$]) +m4trace:configure.ac:16: -1- AC_SUBST([AR]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([AR]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^AR$]) +m4trace:configure.ac:16: -1- AC_SUBST([ac_ct_AR]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([ac_ct_AR]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^ac_ct_AR$]) +m4trace:configure.ac:16: -1- AC_SUBST([STRIP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([STRIP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:16: -1- AC_SUBST([RANLIB]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([RANLIB]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([LT_OBJDIR]) +m4trace:configure.ac:16: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LT_OBJDIR$]) +m4trace:configure.ac:16: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory where libtool stores uninstalled libraries. */ +@%:@undef LT_OBJDIR]) +m4trace:configure.ac:16: -1- LT_SUPPORTED_TAG([CC]) +m4trace:configure.ac:16: -1- AC_SUBST([MANIFEST_TOOL]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([MANIFEST_TOOL]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^MANIFEST_TOOL$]) +m4trace:configure.ac:16: -1- AC_SUBST([DSYMUTIL]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([DSYMUTIL]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^DSYMUTIL$]) +m4trace:configure.ac:16: -1- AC_SUBST([NMEDIT]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([NMEDIT]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^NMEDIT$]) +m4trace:configure.ac:16: -1- AC_SUBST([LIPO]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([LIPO]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LIPO$]) +m4trace:configure.ac:16: -1- AC_SUBST([OTOOL]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([OTOOL]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^OTOOL$]) +m4trace:configure.ac:16: -1- AC_SUBST([OTOOL64]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([OTOOL64]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^OTOOL64$]) +m4trace:configure.ac:16: -1- AC_SUBST([LT_SYS_LIBRARY_PATH]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_DLFCN_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_STDIO_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_STDIO_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_STDLIB_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_STRING_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_INTTYPES_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_STDINT_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_STRINGS_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_SYS_STAT_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_SYS_TYPES_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_UNISTD_H]) +m4trace:configure.ac:16: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.ac:16: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ +@%:@undef STDC_HEADERS]) +m4trace:configure.ac:16: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLFCN_H]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^HAVE_DLFCN_H$]) +m4trace:configure.ac:16: -1- LT_SUPPORTED_TAG([CXX]) +m4trace:configure.ac:16: -1- AC_SUBST([CXXCPP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:16: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:16: -1- AC_SUBST([CXXCPP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:16: -1- AC_SUBST([LD]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([LD]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LD$]) +m4trace:configure.ac:16: -1- AC_SUBST([LT_SYS_LIBRARY_PATH]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) +m4trace:configure.ac:30: -1- AC_DEFINE_TRACE_LITERAL([NDEBUG]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^NDEBUG$]) +m4trace:configure.ac:30: -1- AH_OUTPUT([NDEBUG], [/* define if some debug code is disabled */ +@%:@undef NDEBUG]) +m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([FULL_DEBUG]) +m4trace:configure.ac:42: -1- m4_pattern_allow([^FULL_DEBUG$]) +m4trace:configure.ac:42: -1- AH_OUTPUT([FULL_DEBUG], [/* define if full debug mode is active */ +@%:@undef FULL_DEBUG]) +m4trace:configure.ac:49: -1- AC_DEFINE_TRACE_LITERAL([FAST_COMPILATION]) +m4trace:configure.ac:49: -1- m4_pattern_allow([^FAST_COMPILATION$]) +m4trace:configure.ac:49: -1- AH_OUTPUT([FAST_COMPILATION], [/* define if fast compilation mode is active */ +@%:@undef FAST_COMPILATION]) +m4trace:configure.ac:51: -1- AM_CONDITIONAL([FAST_COMPILATION], [test "$enable_fast_compilation" = "yes"]) +m4trace:configure.ac:51: -1- AC_SUBST([FAST_COMPILATION_TRUE]) +m4trace:configure.ac:51: -1- AC_SUBST_TRACE([FAST_COMPILATION_TRUE]) +m4trace:configure.ac:51: -1- m4_pattern_allow([^FAST_COMPILATION_TRUE$]) +m4trace:configure.ac:51: -1- AC_SUBST([FAST_COMPILATION_FALSE]) +m4trace:configure.ac:51: -1- AC_SUBST_TRACE([FAST_COMPILATION_FALSE]) +m4trace:configure.ac:51: -1- m4_pattern_allow([^FAST_COMPILATION_FALSE$]) +m4trace:configure.ac:51: -1- _AM_SUBST_NOTMAKE([FAST_COMPILATION_TRUE]) +m4trace:configure.ac:51: -1- _AM_SUBST_NOTMAKE([FAST_COMPILATION_FALSE]) +m4trace:configure.ac:57: -1- AC_DEFINE_TRACE_LITERAL([COMPILE_TESTS]) +m4trace:configure.ac:57: -1- m4_pattern_allow([^COMPILE_TESTS$]) +m4trace:configure.ac:57: -1- AH_OUTPUT([COMPILE_TESTS], [/* define if compilation of tests is active */ +@%:@undef COMPILE_TESTS]) +m4trace:configure.ac:59: -1- AM_CONDITIONAL([COMPILE_TESTS], [test "$enable_tests" = "yes"]) +m4trace:configure.ac:59: -1- AC_SUBST([COMPILE_TESTS_TRUE]) +m4trace:configure.ac:59: -1- AC_SUBST_TRACE([COMPILE_TESTS_TRUE]) +m4trace:configure.ac:59: -1- m4_pattern_allow([^COMPILE_TESTS_TRUE$]) +m4trace:configure.ac:59: -1- AC_SUBST([COMPILE_TESTS_FALSE]) +m4trace:configure.ac:59: -1- AC_SUBST_TRACE([COMPILE_TESTS_FALSE]) +m4trace:configure.ac:59: -1- m4_pattern_allow([^COMPILE_TESTS_FALSE$]) +m4trace:configure.ac:59: -1- _AM_SUBST_NOTMAKE([COMPILE_TESTS_TRUE]) +m4trace:configure.ac:59: -1- _AM_SUBST_NOTMAKE([COMPILE_TESTS_FALSE]) +m4trace:configure.ac:62: -1- _m4_warn([obsolete], [The macro `AC_HEADER_STDC' is obsolete. +You should run autoupdate.], [./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from... +configure.ac:62: the top level]) +m4trace:configure.ac:62: -1- AC_SUBST([EGREP]) +m4trace:configure.ac:62: -1- AC_SUBST_TRACE([EGREP]) +m4trace:configure.ac:62: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:65: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_bool.m4:4: AC_CXX_BOOL is expanded from... +configure.ac:65: the top level]) +m4trace:configure.ac:65: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_bool.m4:4: AC_CXX_BOOL is expanded from... +configure.ac:65: the top level]) +m4trace:configure.ac:65: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BOOL]) +m4trace:configure.ac:65: -1- m4_pattern_allow([^HAVE_BOOL$]) +m4trace:configure.ac:65: -1- AH_OUTPUT([HAVE_BOOL], [/* define if bool is a built-in type */ +@%:@undef HAVE_BOOL]) +m4trace:configure.ac:66: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_cxx_long_long.m4:1: OB_CXX_LONG_LONG is expanded from... +configure.ac:66: the top level]) +m4trace:configure.ac:66: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_cxx_long_long.m4:1: OB_CXX_LONG_LONG is expanded from... +configure.ac:66: the top level]) +m4trace:configure.ac:66: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_LONG]) +m4trace:configure.ac:66: -1- m4_pattern_allow([^HAVE_LONG_LONG$]) +m4trace:configure.ac:66: -1- AH_OUTPUT([HAVE_LONG_LONG], [/* define if long long int type is supported */ +@%:@undef HAVE_LONG_LONG]) +m4trace:configure.ac:67: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_cxx_have_isinfinite.m4:1: OB_CXX_HAVE_ISFINITE is expanded from... +configure.ac:67: the top level]) +m4trace:configure.ac:67: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_cxx_have_isinfinite.m4:1: OB_CXX_HAVE_ISFINITE is expanded from... +configure.ac:67: the top level]) +m4trace:configure.ac:67: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ISFINITE]) +m4trace:configure.ac:67: -1- m4_pattern_allow([^HAVE_ISFINITE$]) +m4trace:configure.ac:67: -1- AH_OUTPUT([HAVE_ISFINITE], [/* define if the macro isfinite exist */ +@%:@undef HAVE_ISFINITE]) +m4trace:configure.ac:68: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_templates.m4:4: AC_CXX_TEMPLATES is expanded from... +configure.ac:68: the top level]) +m4trace:configure.ac:68: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_templates.m4:4: AC_CXX_TEMPLATES is expanded from... +configure.ac:68: the top level]) +m4trace:configure.ac:68: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TEMPLATES]) +m4trace:configure.ac:68: -1- m4_pattern_allow([^HAVE_TEMPLATES$]) +m4trace:configure.ac:68: -1- AH_OUTPUT([HAVE_TEMPLATES], [/* define if the compiler supports basic templates */ +@%:@undef HAVE_TEMPLATES]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_typename.m4:4: AC_CXX_TYPENAME is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_typename.m4:4: AC_CXX_TYPENAME is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TYPENAME]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^HAVE_TYPENAME$]) +m4trace:configure.ac:69: -1- AH_OUTPUT([HAVE_TYPENAME], [/* define if the compiler recognizes typename */ +@%:@undef HAVE_TYPENAME]) +m4trace:configure.ac:70: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_scoped_argument_matching.m4:4: AC_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING is expanded from... +configure.ac:70: the top level]) +m4trace:configure.ac:70: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_scoped_argument_matching.m4:4: AC_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING is expanded from... +configure.ac:70: the top level]) +m4trace:configure.ac:70: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING]) +m4trace:configure.ac:70: -1- m4_pattern_allow([^HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING$]) +m4trace:configure.ac:70: -1- AH_OUTPUT([HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING], [/* define if the compiler supports function matching with argument types which + are template scope-qualified */ +@%:@undef HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING]) +m4trace:configure.ac:71: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_default_template_parameters.m4:4: AC_CXX_DEFAULT_TEMPLATE_PARAMETERS is expanded from... +configure.ac:71: the top level]) +m4trace:configure.ac:71: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_default_template_parameters.m4:4: AC_CXX_DEFAULT_TEMPLATE_PARAMETERS is expanded from... +configure.ac:71: the top level]) +m4trace:configure.ac:71: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEFAULT_TEMPLATE_PARAMETERS]) +m4trace:configure.ac:71: -1- m4_pattern_allow([^HAVE_DEFAULT_TEMPLATE_PARAMETERS$]) +m4trace:configure.ac:71: -1- AH_OUTPUT([HAVE_DEFAULT_TEMPLATE_PARAMETERS], [/* define if the compiler supports default template parameters */ +@%:@undef HAVE_DEFAULT_TEMPLATE_PARAMETERS]) +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_qualified_base_class.m4:4: AC_CXX_TEMPLATE_QUALIFIED_BASE_CLASS is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_qualified_base_class.m4:4: AC_CXX_TEMPLATE_QUALIFIED_BASE_CLASS is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TEMPLATE_QUALIFIED_BASE_CLASS]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_TEMPLATE_QUALIFIED_BASE_CLASS$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_TEMPLATE_QUALIFIED_BASE_CLASS], [/* define if the compiler supports template-qualified base class specifiers */ +@%:@undef HAVE_TEMPLATE_QUALIFIED_BASE_CLASS]) +m4trace:configure.ac:73: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_qualified_return_type.m4:4: AC_CXX_TEMPLATE_QUALIFIED_RETURN_TYPE is expanded from... +configure.ac:73: the top level]) +m4trace:configure.ac:73: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_qualified_return_type.m4:4: AC_CXX_TEMPLATE_QUALIFIED_RETURN_TYPE is expanded from... +configure.ac:73: the top level]) +m4trace:configure.ac:73: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE]) +m4trace:configure.ac:73: -1- m4_pattern_allow([^HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE$]) +m4trace:configure.ac:73: -1- AH_OUTPUT([HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE], [/* define if the compiler supports template-qualified return types */ +@%:@undef HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE]) +m4trace:configure.ac:74: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_const_cast.m4:4: AC_CXX_CONST_CAST is expanded from... +configure.ac:74: the top level]) +m4trace:configure.ac:74: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_const_cast.m4:4: AC_CXX_CONST_CAST is expanded from... +configure.ac:74: the top level]) +m4trace:configure.ac:74: -1- AC_DEFINE_TRACE_LITERAL([HAVE_CONST_CAST]) +m4trace:configure.ac:74: -1- m4_pattern_allow([^HAVE_CONST_CAST$]) +m4trace:configure.ac:74: -1- AH_OUTPUT([HAVE_CONST_CAST], [/* define if the compiler supports const_cast<> */ +@%:@undef HAVE_CONST_CAST]) +m4trace:configure.ac:75: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_reinterpret_cast.m4:4: AC_CXX_REINTERPRET_CAST is expanded from... +configure.ac:75: the top level]) +m4trace:configure.ac:75: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_reinterpret_cast.m4:4: AC_CXX_REINTERPRET_CAST is expanded from... +configure.ac:75: the top level]) +m4trace:configure.ac:75: -1- AC_DEFINE_TRACE_LITERAL([HAVE_REINTERPRET_CAST]) +m4trace:configure.ac:75: -1- m4_pattern_allow([^HAVE_REINTERPRET_CAST$]) +m4trace:configure.ac:75: -1- AH_OUTPUT([HAVE_REINTERPRET_CAST], [/* define if the compiler supports reinterpret_cast<> */ +@%:@undef HAVE_REINTERPRET_CAST]) +m4trace:configure.ac:76: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_static_cast.m4:4: AC_CXX_STATIC_CAST is expanded from... +configure.ac:76: the top level]) +m4trace:configure.ac:76: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_static_cast.m4:4: AC_CXX_STATIC_CAST is expanded from... +configure.ac:76: the top level]) +m4trace:configure.ac:76: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STATIC_CAST]) +m4trace:configure.ac:76: -1- m4_pattern_allow([^HAVE_STATIC_CAST$]) +m4trace:configure.ac:76: -1- AH_OUTPUT([HAVE_STATIC_CAST], [/* define if the compiler supports static_cast<> */ +@%:@undef HAVE_STATIC_CAST]) +m4trace:configure.ac:77: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_dynamic_cast.m4:4: AC_CXX_DYNAMIC_CAST is expanded from... +configure.ac:77: the top level]) +m4trace:configure.ac:77: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_dynamic_cast.m4:4: AC_CXX_DYNAMIC_CAST is expanded from... +configure.ac:77: the top level]) +m4trace:configure.ac:77: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DYNAMIC_CAST]) +m4trace:configure.ac:77: -1- m4_pattern_allow([^HAVE_DYNAMIC_CAST$]) +m4trace:configure.ac:77: -1- AH_OUTPUT([HAVE_DYNAMIC_CAST], [/* define if the compiler supports dynamic_cast<> */ +@%:@undef HAVE_DYNAMIC_CAST]) +m4trace:configure.ac:78: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_exceptions.m4:4: AC_CXX_EXCEPTIONS is expanded from... +configure.ac:78: the top level]) +m4trace:configure.ac:78: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_exceptions.m4:4: AC_CXX_EXCEPTIONS is expanded from... +configure.ac:78: the top level]) +m4trace:configure.ac:78: -1- AC_DEFINE_TRACE_LITERAL([HAVE_EXCEPTIONS]) +m4trace:configure.ac:78: -1- m4_pattern_allow([^HAVE_EXCEPTIONS$]) +m4trace:configure.ac:78: -1- AH_OUTPUT([HAVE_EXCEPTIONS], [/* define if the compiler supports exceptions */ +@%:@undef HAVE_EXCEPTIONS]) +m4trace:configure.ac:79: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_explicit.m4:4: AC_CXX_EXPLICIT is expanded from... +configure.ac:79: the top level]) +m4trace:configure.ac:79: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_explicit.m4:4: AC_CXX_EXPLICIT is expanded from... +configure.ac:79: the top level]) +m4trace:configure.ac:79: -1- AC_DEFINE_TRACE_LITERAL([HAVE_EXPLICIT]) +m4trace:configure.ac:79: -1- m4_pattern_allow([^HAVE_EXPLICIT$]) +m4trace:configure.ac:79: -1- AH_OUTPUT([HAVE_EXPLICIT], [/* define if the compiler supports the explicit keyword */ +@%:@undef HAVE_EXPLICIT]) +m4trace:configure.ac:80: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_namespaces.m4:4: AC_CXX_NAMESPACES is expanded from... +configure.ac:80: the top level]) +m4trace:configure.ac:80: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_namespaces.m4:4: AC_CXX_NAMESPACES is expanded from... +configure.ac:80: the top level]) +m4trace:configure.ac:80: -1- AC_DEFINE_TRACE_LITERAL([HAVE_NAMESPACES]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^HAVE_NAMESPACES$]) +m4trace:configure.ac:80: -1- AH_OUTPUT([HAVE_NAMESPACES], [/* define if the compiler implements namespaces */ +@%:@undef HAVE_NAMESPACES]) +m4trace:configure.ac:81: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_rtti.m4:4: AC_CXX_RTTI is expanded from... +configure.ac:81: the top level]) +m4trace:configure.ac:81: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_rtti.m4:4: AC_CXX_RTTI is expanded from... +configure.ac:81: the top level]) +m4trace:configure.ac:81: -1- AC_DEFINE_TRACE_LITERAL([HAVE_RTTI]) +m4trace:configure.ac:81: -1- m4_pattern_allow([^HAVE_RTTI$]) +m4trace:configure.ac:81: -1- AH_OUTPUT([HAVE_RTTI], [/* define if the compiler supports Run-Time Type Identification */ +@%:@undef HAVE_RTTI]) +m4trace:configure.ac:82: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_std.m4:4: AC_CXX_HAVE_STD is expanded from... +configure.ac:82: the top level]) +m4trace:configure.ac:82: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_std.m4:4: AC_CXX_HAVE_STD is expanded from... +configure.ac:82: the top level]) +m4trace:configure.ac:82: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD]) +m4trace:configure.ac:82: -1- m4_pattern_allow([^HAVE_STD$]) +m4trace:configure.ac:82: -1- AH_OUTPUT([HAVE_STD], [/* define if the compiler supports ISO C++ standard library */ +@%:@undef HAVE_STD]) +m4trace:configure.ac:83: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_stl.m4:4: AC_CXX_HAVE_STL is expanded from... +configure.ac:83: the top level]) +m4trace:configure.ac:83: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_stl.m4:4: AC_CXX_HAVE_STL is expanded from... +configure.ac:83: the top level]) +m4trace:configure.ac:83: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STL]) +m4trace:configure.ac:83: -1- m4_pattern_allow([^HAVE_STL$]) +m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_STL], [/* define if the compiler supports Standard Template Library */ +@%:@undef HAVE_STL]) +m4trace:configure.ac:84: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_numeric_limits.m4:4: AC_CXX_HAVE_NUMERIC_LIMITS is expanded from... +configure.ac:84: the top level]) +m4trace:configure.ac:84: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_numeric_limits.m4:4: AC_CXX_HAVE_NUMERIC_LIMITS is expanded from... +configure.ac:84: the top level]) +m4trace:configure.ac:84: -1- AC_DEFINE_TRACE_LITERAL([HAVE_NUMERIC_LIMITS]) +m4trace:configure.ac:84: -1- m4_pattern_allow([^HAVE_NUMERIC_LIMITS$]) +m4trace:configure.ac:84: -1- AH_OUTPUT([HAVE_NUMERIC_LIMITS], [/* define if the compiler has numeric_limits */ +@%:@undef HAVE_NUMERIC_LIMITS]) +m4trace:configure.ac:85: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_sstream.m4:4: AC_CXX_HAVE_SSTREAM is expanded from... +configure.ac:85: the top level]) +m4trace:configure.ac:85: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_sstream.m4:4: AC_CXX_HAVE_SSTREAM is expanded from... +configure.ac:85: the top level]) +m4trace:configure.ac:85: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SSTREAM]) +m4trace:configure.ac:85: -1- m4_pattern_allow([^HAVE_SSTREAM$]) +m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_SSTREAM], [/* define if the compiler has stringstream */ +@%:@undef HAVE_SSTREAM]) +m4trace:configure.ac:91: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:9: AC_CXX_STD_HASHSET is expanded from... +configure.ac:91: the top level]) +m4trace:configure.ac:91: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:9: AC_CXX_STD_HASHSET is expanded from... +configure.ac:91: the top level]) +m4trace:configure.ac:91: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_HASHSET]) +m4trace:configure.ac:91: -1- m4_pattern_allow([^HAVE_STD_HASHSET$]) +m4trace:configure.ac:91: -1- AH_OUTPUT([HAVE_STD_HASHSET], [/* define if the compiler supports std::hash_set */ +@%:@undef HAVE_STD_HASHSET]) +m4trace:configure.ac:92: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:25: AC_CXX_GNUCXX_HASHSET is expanded from... +configure.ac:92: the top level]) +m4trace:configure.ac:92: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:25: AC_CXX_GNUCXX_HASHSET is expanded from... +configure.ac:92: the top level]) +m4trace:configure.ac:92: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GNUCXX_HASHSET]) +m4trace:configure.ac:92: -1- m4_pattern_allow([^HAVE_GNUCXX_HASHSET$]) +m4trace:configure.ac:92: -1- AH_OUTPUT([HAVE_GNUCXX_HASHSET], [/* define if the compiler supports __gnu_cxx::hash_set */ +@%:@undef HAVE_GNUCXX_HASHSET]) +m4trace:configure.ac:93: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:41: AC_CXX_STDEXT_HASHSET is expanded from... +configure.ac:93: the top level]) +m4trace:configure.ac:93: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:41: AC_CXX_STDEXT_HASHSET is expanded from... +configure.ac:93: the top level]) +m4trace:configure.ac:93: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STDEXT_HASHSET]) +m4trace:configure.ac:93: -1- m4_pattern_allow([^HAVE_STDEXT_HASHSET$]) +m4trace:configure.ac:93: -1- AH_OUTPUT([HAVE_STDEXT_HASHSET], [/* define if the compiler supports stdext::hash_set */ +@%:@undef HAVE_STDEXT_HASHSET]) +m4trace:configure.ac:98: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:9: AC_CXX_STD_HASHMAP is expanded from... +configure.ac:98: the top level]) +m4trace:configure.ac:98: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:9: AC_CXX_STD_HASHMAP is expanded from... +configure.ac:98: the top level]) +m4trace:configure.ac:98: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_HASHMAP]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^HAVE_STD_HASHMAP$]) +m4trace:configure.ac:98: -1- AH_OUTPUT([HAVE_STD_HASHMAP], [/* define if the compiler supports std::hash_map */ +@%:@undef HAVE_STD_HASHMAP]) +m4trace:configure.ac:99: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:25: AC_CXX_GNUCXX_HASHMAP is expanded from... +configure.ac:99: the top level]) +m4trace:configure.ac:99: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:25: AC_CXX_GNUCXX_HASHMAP is expanded from... +configure.ac:99: the top level]) +m4trace:configure.ac:99: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GNUCXX_HASHMAP]) +m4trace:configure.ac:99: -1- m4_pattern_allow([^HAVE_GNUCXX_HASHMAP$]) +m4trace:configure.ac:99: -1- AH_OUTPUT([HAVE_GNUCXX_HASHMAP], [/* define if the compiler supports __gnu_cxx::hash_map */ +@%:@undef HAVE_GNUCXX_HASHMAP]) +m4trace:configure.ac:100: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:41: AC_CXX_STDEXT_HASHMAP is expanded from... +configure.ac:100: the top level]) +m4trace:configure.ac:100: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:41: AC_CXX_STDEXT_HASHMAP is expanded from... +configure.ac:100: the top level]) +m4trace:configure.ac:100: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STDEXT_HASHMAP]) +m4trace:configure.ac:100: -1- m4_pattern_allow([^HAVE_STDEXT_HASHMAP$]) +m4trace:configure.ac:100: -1- AH_OUTPUT([HAVE_STDEXT_HASHMAP], [/* define if the compiler supports stdext::hash_map */ +@%:@undef HAVE_STDEXT_HASHMAP]) +m4trace:configure.ac:104: -1- _m4_warn([cross], [cannot check for file existence when cross compiling], [./lib/autoconf/general.m4:3010: AC_CHECK_FILE is expanded from... +configure.ac:104: the top level]) +m4trace:configure.ac:104: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_URANDOM]) +m4trace:configure.ac:104: -1- m4_pattern_allow([^HAVE_DEV_URANDOM$]) +m4trace:configure.ac:104: -1- AH_OUTPUT([HAVE_DEV_URANDOM], [/* define if file /dev/urandom exists. */ +@%:@undef HAVE_DEV_URANDOM]) +m4trace:configure.ac:107: -1- _m4_warn([obsolete], [The macro `AC_LANG_C' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:72: AC_LANG_C is expanded from... +m4/acx_pthread.m4:4: ACX_PTHREAD is expanded from... +configure.ac:107: the top level]) +m4trace:configure.ac:107: -1- AC_SUBST([acx_pthread_config]) +m4trace:configure.ac:107: -1- AC_SUBST_TRACE([acx_pthread_config]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^acx_pthread_config$]) +m4trace:configure.ac:107: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... +m4/acx_pthread.m4:4: ACX_PTHREAD is expanded from... +configure.ac:107: the top level]) +m4trace:configure.ac:107: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... +m4/acx_pthread.m4:4: ACX_PTHREAD is expanded from... +configure.ac:107: the top level]) +m4trace:configure.ac:107: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... +m4/acx_pthread.m4:4: ACX_PTHREAD is expanded from... +configure.ac:107: the top level]) +m4trace:configure.ac:107: -1- AC_DEFINE_TRACE_LITERAL([PTHREAD_CREATE_JOINABLE]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^PTHREAD_CREATE_JOINABLE$]) +m4trace:configure.ac:107: -1- AH_OUTPUT([PTHREAD_CREATE_JOINABLE], [/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +@%:@undef PTHREAD_CREATE_JOINABLE]) +m4trace:configure.ac:107: -1- AC_SUBST([PTHREAD_CC]) +m4trace:configure.ac:107: -1- AC_SUBST_TRACE([PTHREAD_CC]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^PTHREAD_CC$]) +m4trace:configure.ac:107: -1- AC_SUBST([PTHREAD_LIBS]) +m4trace:configure.ac:107: -1- AC_SUBST_TRACE([PTHREAD_LIBS]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^PTHREAD_LIBS$]) +m4trace:configure.ac:107: -1- AC_SUBST([PTHREAD_CFLAGS]) +m4trace:configure.ac:107: -1- AC_SUBST_TRACE([PTHREAD_CFLAGS]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^PTHREAD_CFLAGS$]) +m4trace:configure.ac:107: -1- AC_SUBST([PTHREAD_CC]) +m4trace:configure.ac:107: -1- AC_SUBST_TRACE([PTHREAD_CC]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^PTHREAD_CC$]) +m4trace:configure.ac:107: -2- AC_DEFINE_TRACE_LITERAL([HAVE_PTHREAD]) +m4trace:configure.ac:107: -2- m4_pattern_allow([^HAVE_PTHREAD$]) +m4trace:configure.ac:107: -2- AH_OUTPUT([HAVE_PTHREAD], [/* Define if you have POSIX threads libraries and header files. */ +@%:@undef HAVE_PTHREAD]) +m4trace:configure.ac:113: -1- _m4_warn([obsolete], [The macro `AC_LANG_C' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:72: AC_LANG_C is expanded from... +m4/check_zlib.m4:4: CHECK_ZLIB is expanded from... +configure.ac:113: the top level]) +m4trace:configure.ac:113: -1- AH_OUTPUT([HAVE_LIBZ], [/* Define to 1 if you have the `z\' library (-lz). */ +@%:@undef HAVE_LIBZ]) +m4trace:configure.ac:113: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBZ]) +m4trace:configure.ac:113: -1- m4_pattern_allow([^HAVE_LIBZ$]) +m4trace:configure.ac:146: -1- AC_SUBST([PACC_VERSION]) +m4trace:configure.ac:146: -1- AC_SUBST_TRACE([PACC_VERSION]) +m4trace:configure.ac:146: -1- m4_pattern_allow([^PACC_VERSION$]) +m4trace:configure.ac:152: -1- AC_CONFIG_FILES([Makefile + PACC/Makefile + PACC/Math/Makefile + PACC/SVG/Makefile + PACC/Socket/Makefile + PACC/Threading/Makefile + PACC/Util/Makefile + PACC/XML/Makefile + beagle/Makefile + beagle/include/Makefile + beagle/include/beagle/Makefile + beagle/src/Makefile + beagle/GA/Makefile + beagle/GA/include/Makefile + beagle/GA/include/beagle/Makefile + beagle/GA/include/beagle/GA/Makefile + beagle/GA/src/Makefile + beagle/GP/Makefile + beagle/GP/include/Makefile + beagle/GP/include/beagle/Makefile + beagle/GP/include/beagle/GP/Makefile + beagle/GP/src/Makefile + beagle/Coev/Makefile + beagle/Coev/include/Makefile + beagle/Coev/include/beagle/Makefile + beagle/Coev/include/beagle/Coev/Makefile + beagle/Coev/src/Makefile + tests/Makefile + tests/Common/Makefile + tests/Exception/Makefile + tests/GA/Makefile + tests/GA/optfct/Makefile + tests/GP/Makefile + tests/GP/FitnessTestGPIndividual/Makefile + tests/GP/ReadGPIndividual/Makefile + tests/GP/WriteRandomGPIndividual/Makefile + tests/LinGP/Makefile + tests/LinGP/include/Makefile + tests/LinGP/include/beagle/Makefile + tests/LinGP/include/beagle/LinGP/Makefile + tests/LinGP/src/Makefile + tests/Roulette/Makefile + tests/Thread/Makefile + tests/TransportTCPIPOp/Makefile +]) +m4trace:configure.ac:197: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:197: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:197: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([LTLIBOBJS]) +m4trace:configure.ac:197: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.ac:197: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"]) +m4trace:configure.ac:197: -1- AC_SUBST([am__EXEEXT_TRUE]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE]) +m4trace:configure.ac:197: -1- m4_pattern_allow([^am__EXEEXT_TRUE$]) +m4trace:configure.ac:197: -1- AC_SUBST([am__EXEEXT_FALSE]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE]) +m4trace:configure.ac:197: -1- m4_pattern_allow([^am__EXEEXT_FALSE$]) +m4trace:configure.ac:197: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE]) +m4trace:configure.ac:197: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([top_builddir]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([top_build_prefix]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([srcdir]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([abs_srcdir]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([top_srcdir]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([abs_top_srcdir]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([builddir]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([abs_builddir]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([abs_top_builddir]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([INSTALL]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([MKDIR_P]) +m4trace:configure.ac:197: -1- AC_REQUIRE_AUX_FILE([ltmain.sh]) diff --git a/lib/beagle-3.0.3/autom4te.cache/traces.2 b/lib/beagle-3.0.3/autom4te.cache/traces.2 new file mode 100644 index 0000000..408033d --- /dev/null +++ b/lib/beagle-3.0.3/autom4te.cache/traces.2 @@ -0,0 +1,1299 @@ +m4trace:aclocal.m4:9787: -1- AC_SUBST([am__quote]) +m4trace:aclocal.m4:9787: -1- AC_SUBST_TRACE([am__quote]) +m4trace:aclocal.m4:9787: -1- m4_pattern_allow([^am__quote$]) +m4trace:aclocal.m4:10268: -1- m4_include([m4/ac_cxx_bool.m4]) +m4trace:aclocal.m4:10269: -1- m4_include([m4/ac_cxx_const_cast.m4]) +m4trace:aclocal.m4:10270: -1- m4_include([m4/ac_cxx_default_template_parameters.m4]) +m4trace:aclocal.m4:10271: -1- m4_include([m4/ac_cxx_dynamic_cast.m4]) +m4trace:aclocal.m4:10272: -1- m4_include([m4/ac_cxx_exceptions.m4]) +m4trace:aclocal.m4:10273: -1- m4_include([m4/ac_cxx_explicit.m4]) +m4trace:aclocal.m4:10274: -1- m4_include([m4/ac_cxx_have_numeric_limits.m4]) +m4trace:aclocal.m4:10275: -1- m4_include([m4/ac_cxx_have_sstream.m4]) +m4trace:aclocal.m4:10276: -1- m4_include([m4/ac_cxx_have_std.m4]) +m4trace:aclocal.m4:10277: -1- m4_include([m4/ac_cxx_have_stl.m4]) +m4trace:aclocal.m4:10278: -1- m4_include([m4/ac_cxx_namespaces.m4]) +m4trace:aclocal.m4:10279: -1- m4_include([m4/ac_cxx_reinterpret_cast.m4]) +m4trace:aclocal.m4:10280: -1- m4_include([m4/ac_cxx_rtti.m4]) +m4trace:aclocal.m4:10281: -1- m4_include([m4/ac_cxx_static_cast.m4]) +m4trace:aclocal.m4:10282: -1- m4_include([m4/ac_cxx_template_qualified_base_class.m4]) +m4trace:aclocal.m4:10283: -1- m4_include([m4/ac_cxx_template_qualified_return_type.m4]) +m4trace:aclocal.m4:10284: -1- m4_include([m4/ac_cxx_template_scoped_argument_matching.m4]) +m4trace:aclocal.m4:10285: -1- m4_include([m4/ac_cxx_templates.m4]) +m4trace:aclocal.m4:10286: -1- m4_include([m4/ac_cxx_typename.m4]) +m4trace:aclocal.m4:10287: -1- m4_include([m4/acx_pthread.m4]) +m4trace:aclocal.m4:10288: -1- m4_include([m4/ax_prefix_config_h.m4]) +m4trace:aclocal.m4:10289: -1- m4_include([m4/check_zlib.m4]) +m4trace:aclocal.m4:10290: -1- m4_include([m4/ob_cxx_have_isinfinite.m4]) +m4trace:aclocal.m4:10291: -1- m4_include([m4/ob_cxx_long_long.m4]) +m4trace:aclocal.m4:10292: -1- m4_include([m4/ob_have_hash_map.m4]) +m4trace:aclocal.m4:10293: -1- m4_include([m4/ob_have_hash_set.m4]) +m4trace:configure.ac:2: -1- AC_INIT([Open BEAGLE], [3.0.3], [cgagne@gmail.com], [beagle]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?A[CHUM]_]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([_AC_]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +m4trace:configure.ac:2: -1- m4_pattern_allow([^AS_FLAGS$]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?m4_]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([^dnl$]) +m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?AS_]) +m4trace:configure.ac:2: -1- AC_SUBST([SHELL]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([SHELL]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^SHELL$]) +m4trace:configure.ac:2: -1- AC_SUBST([PATH_SEPARATOR]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PATH_SEPARATOR]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PATH_SEPARATOR$]) +m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_NAME]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_TARNAME]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_VERSION]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_STRING]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:2: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([PACKAGE_URL]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_URL$]) +m4trace:configure.ac:2: -1- AC_SUBST([exec_prefix], [NONE]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([exec_prefix]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^exec_prefix$]) +m4trace:configure.ac:2: -1- AC_SUBST([prefix], [NONE]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([prefix]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^prefix$]) +m4trace:configure.ac:2: -1- AC_SUBST([program_transform_name], [s,x,x,]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([program_transform_name]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^program_transform_name$]) +m4trace:configure.ac:2: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([bindir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^bindir$]) +m4trace:configure.ac:2: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sbindir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^sbindir$]) +m4trace:configure.ac:2: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([libexecdir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^libexecdir$]) +m4trace:configure.ac:2: -1- AC_SUBST([datarootdir], ['${prefix}/share']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([datarootdir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^datarootdir$]) +m4trace:configure.ac:2: -1- AC_SUBST([datadir], ['${datarootdir}']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([datadir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^datadir$]) +m4trace:configure.ac:2: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sysconfdir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^sysconfdir$]) +m4trace:configure.ac:2: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([sharedstatedir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^sharedstatedir$]) +m4trace:configure.ac:2: -1- AC_SUBST([localstatedir], ['${prefix}/var']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([localstatedir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^localstatedir$]) +m4trace:configure.ac:2: -1- AC_SUBST([runstatedir], ['${localstatedir}/run']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([runstatedir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^runstatedir$]) +m4trace:configure.ac:2: -1- AC_SUBST([includedir], ['${prefix}/include']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([includedir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^includedir$]) +m4trace:configure.ac:2: -1- AC_SUBST([oldincludedir], ['/usr/include']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([oldincludedir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^oldincludedir$]) +m4trace:configure.ac:2: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], + ['${datarootdir}/doc/${PACKAGE_TARNAME}'], + ['${datarootdir}/doc/${PACKAGE}'])]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([docdir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^docdir$]) +m4trace:configure.ac:2: -1- AC_SUBST([infodir], ['${datarootdir}/info']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([infodir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^infodir$]) +m4trace:configure.ac:2: -1- AC_SUBST([htmldir], ['${docdir}']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([htmldir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^htmldir$]) +m4trace:configure.ac:2: -1- AC_SUBST([dvidir], ['${docdir}']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([dvidir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^dvidir$]) +m4trace:configure.ac:2: -1- AC_SUBST([pdfdir], ['${docdir}']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([pdfdir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^pdfdir$]) +m4trace:configure.ac:2: -1- AC_SUBST([psdir], ['${docdir}']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([psdir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^psdir$]) +m4trace:configure.ac:2: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([libdir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^libdir$]) +m4trace:configure.ac:2: -1- AC_SUBST([localedir], ['${datarootdir}/locale']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([localedir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^localedir$]) +m4trace:configure.ac:2: -1- AC_SUBST([mandir], ['${datarootdir}/man']) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([mandir]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^mandir$]) +m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_NAME$]) +m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ +@%:@undef PACKAGE_NAME]) +m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) +m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ +@%:@undef PACKAGE_TARNAME]) +m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_VERSION$]) +m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ +@%:@undef PACKAGE_VERSION]) +m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_STRING$]) +m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ +@%:@undef PACKAGE_STRING]) +m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) +m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ +@%:@undef PACKAGE_BUGREPORT]) +m4trace:configure.ac:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^PACKAGE_URL$]) +m4trace:configure.ac:2: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */ +@%:@undef PACKAGE_URL]) +m4trace:configure.ac:2: -1- AC_SUBST([DEFS]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([DEFS]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^DEFS$]) +m4trace:configure.ac:2: -1- AC_SUBST([ECHO_C]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_C]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_C$]) +m4trace:configure.ac:2: -1- AC_SUBST([ECHO_N]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_N]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_N$]) +m4trace:configure.ac:2: -1- AC_SUBST([ECHO_T]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([ECHO_T]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^ECHO_T$]) +m4trace:configure.ac:2: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:2: -1- AC_SUBST([build_alias]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([build_alias]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^build_alias$]) +m4trace:configure.ac:2: -1- AC_SUBST([host_alias]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([host_alias]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^host_alias$]) +m4trace:configure.ac:2: -1- AC_SUBST([target_alias]) +m4trace:configure.ac:2: -1- AC_SUBST_TRACE([target_alias]) +m4trace:configure.ac:2: -1- m4_pattern_allow([^target_alias$]) +m4trace:configure.ac:4: -1- AC_CONFIG_AUX_DIR([config]) +m4trace:configure.ac:6: -1- AM_INIT_AUTOMAKE +m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) +m4trace:configure.ac:6: -1- AM_AUTOMAKE_VERSION([1.16.5]) +m4trace:configure.ac:6: -1- AC_REQUIRE_AUX_FILE([install-sh]) +m4trace:configure.ac:6: -1- AC_SUBST([INSTALL_PROGRAM]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) +m4trace:configure.ac:6: -1- AC_SUBST([INSTALL_SCRIPT]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([INSTALL_SCRIPT]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) +m4trace:configure.ac:6: -1- AC_SUBST([INSTALL_DATA]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([INSTALL_DATA]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_DATA$]) +m4trace:configure.ac:6: -1- AC_SUBST([am__isrc], [' -I$(srcdir)']) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([am__isrc]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^am__isrc$]) +m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([am__isrc]) +m4trace:configure.ac:6: -1- AC_SUBST([CYGPATH_W]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([CYGPATH_W]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^CYGPATH_W$]) +m4trace:configure.ac:6: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME']) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([PACKAGE]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:6: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION']) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([VERSION]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^PACKAGE$]) +m4trace:configure.ac:6: -1- AH_OUTPUT([PACKAGE], [/* Name of package */ +@%:@undef PACKAGE]) +m4trace:configure.ac:6: -1- AC_DEFINE_TRACE_LITERAL([VERSION]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^VERSION$]) +m4trace:configure.ac:6: -1- AH_OUTPUT([VERSION], [/* Version number of package */ +@%:@undef VERSION]) +m4trace:configure.ac:6: -1- AC_REQUIRE_AUX_FILE([missing]) +m4trace:configure.ac:6: -1- AC_SUBST([ACLOCAL]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([ACLOCAL]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^ACLOCAL$]) +m4trace:configure.ac:6: -1- AC_SUBST([AUTOCONF]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AUTOCONF]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AUTOCONF$]) +m4trace:configure.ac:6: -1- AC_SUBST([AUTOMAKE]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AUTOMAKE]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AUTOMAKE$]) +m4trace:configure.ac:6: -1- AC_SUBST([AUTOHEADER]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AUTOHEADER]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AUTOHEADER$]) +m4trace:configure.ac:6: -1- AC_SUBST([MAKEINFO]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([MAKEINFO]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^MAKEINFO$]) +m4trace:configure.ac:6: -1- AC_SUBST([install_sh]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([install_sh]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^install_sh$]) +m4trace:configure.ac:6: -1- AC_SUBST([STRIP]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([STRIP]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:6: -1- AC_SUBST([INSTALL_STRIP_PROGRAM]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) +m4trace:configure.ac:6: -1- AC_REQUIRE_AUX_FILE([install-sh]) +m4trace:configure.ac:6: -1- AC_SUBST([MKDIR_P]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([MKDIR_P]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^MKDIR_P$]) +m4trace:configure.ac:6: -1- AC_SUBST([mkdir_p], ['$(MKDIR_P)']) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([mkdir_p]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^mkdir_p$]) +m4trace:configure.ac:6: -1- AC_SUBST([AWK]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AWK]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:6: -1- AC_SUBST([SET_MAKE]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([SET_MAKE]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^SET_MAKE$]) +m4trace:configure.ac:6: -1- AC_SUBST([am__leading_dot]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([am__leading_dot]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^am__leading_dot$]) +m4trace:configure.ac:6: -1- AC_SUBST([AMTAR], ['$${TAR-tar}']) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AMTAR]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AMTAR$]) +m4trace:configure.ac:6: -1- AC_SUBST([am__tar]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([am__tar]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^am__tar$]) +m4trace:configure.ac:6: -1- AC_SUBST([am__untar]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([am__untar]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^am__untar$]) +m4trace:configure.ac:6: -1- AC_SUBST([CTAGS]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([CTAGS]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^CTAGS$]) +m4trace:configure.ac:6: -1- AC_SUBST([ETAGS]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([ETAGS]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^ETAGS$]) +m4trace:configure.ac:6: -1- AC_SUBST([CSCOPE]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([CSCOPE]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^CSCOPE$]) +m4trace:configure.ac:6: -1- AM_SILENT_RULES +m4trace:configure.ac:6: -1- AC_SUBST([AM_V]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AM_V]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_V$]) +m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([AM_V]) +m4trace:configure.ac:6: -1- AC_SUBST([AM_DEFAULT_V]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AM_DEFAULT_V]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_DEFAULT_V$]) +m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V]) +m4trace:configure.ac:6: -1- AC_SUBST([AM_DEFAULT_VERBOSITY]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AM_DEFAULT_VERBOSITY]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$]) +m4trace:configure.ac:6: -1- AC_SUBST([AM_BACKSLASH]) +m4trace:configure.ac:6: -1- AC_SUBST_TRACE([AM_BACKSLASH]) +m4trace:configure.ac:6: -1- m4_pattern_allow([^AM_BACKSLASH$]) +m4trace:configure.ac:6: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH]) +m4trace:configure.ac:7: -1- _m4_warn([obsolete], ['AM_CONFIG_HEADER': this macro is obsolete. +You should use the 'AC_CONFIG_HEADERS' macro instead.], [./lib/autoconf/general.m4:2434: AC_DIAGNOSE is expanded from... +aclocal.m4:9833: AM_CONFIG_HEADER is expanded from... +configure.ac:7: the top level]) +m4trace:configure.ac:7: -1- AC_CONFIG_HEADERS([config/config-h:config/config-h.in]) +m4trace:configure.ac:11: -1- AC_SUBST([AWK]) +m4trace:configure.ac:11: -1- AC_SUBST_TRACE([AWK]) +m4trace:configure.ac:11: -1- m4_pattern_allow([^AWK$]) +m4trace:configure.ac:12: -1- AC_SUBST([CXX]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([CXX]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:12: -1- AC_SUBST([CXXFLAGS]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([CXXFLAGS]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^CXXFLAGS$]) +m4trace:configure.ac:12: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:12: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:12: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:12: -1- AC_SUBST([CXX]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([CXX]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^CXX$]) +m4trace:configure.ac:12: -1- AC_SUBST([ac_ct_CXX]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([ac_ct_CXX]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^ac_ct_CXX$]) +m4trace:configure.ac:12: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([EXEEXT]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^EXEEXT$]) +m4trace:configure.ac:12: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([OBJEXT]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^OBJEXT$]) +m4trace:configure.ac:12: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([DEPDIR]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^DEPDIR$]) +m4trace:configure.ac:12: -1- AC_SUBST([am__include]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([am__include]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^am__include$]) +m4trace:configure.ac:12: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +m4trace:configure.ac:12: -1- AC_SUBST([AMDEP_TRUE]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([AMDEP_TRUE]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^AMDEP_TRUE$]) +m4trace:configure.ac:12: -1- AC_SUBST([AMDEP_FALSE]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([AMDEP_FALSE]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^AMDEP_FALSE$]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) +m4trace:configure.ac:12: -1- AC_SUBST([AMDEPBACKSLASH]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([AMDEPBACKSLASH]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) +m4trace:configure.ac:12: -1- AC_SUBST([am__nodep]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([am__nodep]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^am__nodep$]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([am__nodep]) +m4trace:configure.ac:12: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([CXXDEPMODE]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^CXXDEPMODE$]) +m4trace:configure.ac:12: -1- AM_CONDITIONAL([am__fastdepCXX], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:12: -1- AC_SUBST([am__fastdepCXX_TRUE]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([am__fastdepCXX_TRUE]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) +m4trace:configure.ac:12: -1- AC_SUBST([am__fastdepCXX_FALSE]) +m4trace:configure.ac:12: -1- AC_SUBST_TRACE([am__fastdepCXX_FALSE]) +m4trace:configure.ac:12: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) +m4trace:configure.ac:12: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) +m4trace:configure.ac:13: -1- AC_SUBST([CXXCPP]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:13: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:13: -1- AC_SUBST([CXXCPP]) +m4trace:configure.ac:13: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.ac:13: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:15: -1- AC_SUBST([LN_S], [$as_ln_s]) +m4trace:configure.ac:15: -1- AC_SUBST_TRACE([LN_S]) +m4trace:configure.ac:15: -1- m4_pattern_allow([^LN_S$]) +m4trace:configure.ac:16: -1- AC_PROG_LIBTOOL +m4trace:configure.ac:16: -1- _m4_warn([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. +You should run autoupdate.], [aclocal.m4:122: AC_PROG_LIBTOOL is expanded from... +configure.ac:16: the top level]) +m4trace:configure.ac:16: -1- LT_INIT +m4trace:configure.ac:16: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$]) +m4trace:configure.ac:16: -1- AC_REQUIRE_AUX_FILE([ltmain.sh]) +m4trace:configure.ac:16: -1- AC_SUBST([LIBTOOL]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([LIBTOOL]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LIBTOOL$]) +m4trace:configure.ac:16: -1- AC_CANONICAL_HOST +m4trace:configure.ac:16: -1- AC_CANONICAL_BUILD +m4trace:configure.ac:16: -1- AC_REQUIRE_AUX_FILE([config.sub]) +m4trace:configure.ac:16: -1- AC_REQUIRE_AUX_FILE([config.guess]) +m4trace:configure.ac:16: -1- AC_SUBST([build], [$ac_cv_build]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([build]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^build$]) +m4trace:configure.ac:16: -1- AC_SUBST([build_cpu], [$[1]]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([build_cpu]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^build_cpu$]) +m4trace:configure.ac:16: -1- AC_SUBST([build_vendor], [$[2]]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([build_vendor]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^build_vendor$]) +m4trace:configure.ac:16: -1- AC_SUBST([build_os]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([build_os]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^build_os$]) +m4trace:configure.ac:16: -1- AC_SUBST([host], [$ac_cv_host]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([host]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^host$]) +m4trace:configure.ac:16: -1- AC_SUBST([host_cpu], [$[1]]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([host_cpu]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^host_cpu$]) +m4trace:configure.ac:16: -1- AC_SUBST([host_vendor], [$[2]]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([host_vendor]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^host_vendor$]) +m4trace:configure.ac:16: -1- AC_SUBST([host_os]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([host_os]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^host_os$]) +m4trace:configure.ac:16: -1- AC_SUBST([CC]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- AC_SUBST([CFLAGS]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CFLAGS]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CFLAGS$]) +m4trace:configure.ac:16: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([LDFLAGS]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LDFLAGS$]) +m4trace:configure.ac:16: -1- AC_SUBST([LIBS]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([LIBS]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LIBS$]) +m4trace:configure.ac:16: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:16: -1- AC_SUBST([CC]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- AC_SUBST([CC]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- AC_SUBST([CC]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- AC_SUBST([CC]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- AC_SUBST([ac_ct_CC]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([ac_ct_CC]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^ac_ct_CC$]) +m4trace:configure.ac:16: -1- AC_SUBST([CC]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CC]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CC$]) +m4trace:configure.ac:16: -1- AC_REQUIRE_AUX_FILE([compile]) +m4trace:configure.ac:16: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CCDEPMODE]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CCDEPMODE$]) +m4trace:configure.ac:16: -1- AM_CONDITIONAL([am__fastdepCC], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) +m4trace:configure.ac:16: -1- AC_SUBST([am__fastdepCC_TRUE]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) +m4trace:configure.ac:16: -1- AC_SUBST([am__fastdepCC_FALSE]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) +m4trace:configure.ac:16: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) +m4trace:configure.ac:16: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) +m4trace:configure.ac:16: -1- AC_SUBST([SED]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([SED]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^SED$]) +m4trace:configure.ac:16: -1- AC_SUBST([GREP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([GREP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:16: -1- AC_SUBST([EGREP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([EGREP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:16: -1- AC_SUBST([FGREP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([FGREP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^FGREP$]) +m4trace:configure.ac:16: -1- AC_SUBST([GREP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([GREP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^GREP$]) +m4trace:configure.ac:16: -1- AC_SUBST([LD]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([LD]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LD$]) +m4trace:configure.ac:16: -1- AC_SUBST([DUMPBIN]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([DUMPBIN]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^DUMPBIN$]) +m4trace:configure.ac:16: -1- AC_SUBST([ac_ct_DUMPBIN]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^ac_ct_DUMPBIN$]) +m4trace:configure.ac:16: -1- AC_SUBST([DUMPBIN]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([DUMPBIN]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^DUMPBIN$]) +m4trace:configure.ac:16: -1- AC_SUBST([NM]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([NM]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^NM$]) +m4trace:configure.ac:16: -1- AC_SUBST([FILECMD]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([FILECMD]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^FILECMD$]) +m4trace:configure.ac:16: -1- AC_SUBST([OBJDUMP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([OBJDUMP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^OBJDUMP$]) +m4trace:configure.ac:16: -1- AC_SUBST([OBJDUMP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([OBJDUMP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^OBJDUMP$]) +m4trace:configure.ac:16: -1- AC_SUBST([DLLTOOL]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([DLLTOOL]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^DLLTOOL$]) +m4trace:configure.ac:16: -1- AC_SUBST([DLLTOOL]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([DLLTOOL]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^DLLTOOL$]) +m4trace:configure.ac:16: -1- AC_SUBST([AR]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([AR]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^AR$]) +m4trace:configure.ac:16: -1- AC_SUBST([ac_ct_AR]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([ac_ct_AR]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^ac_ct_AR$]) +m4trace:configure.ac:16: -1- AC_SUBST([STRIP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([STRIP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^STRIP$]) +m4trace:configure.ac:16: -1- AC_SUBST([RANLIB]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([RANLIB]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^RANLIB$]) +m4trace:configure.ac:16: -1- m4_pattern_allow([LT_OBJDIR]) +m4trace:configure.ac:16: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LT_OBJDIR$]) +m4trace:configure.ac:16: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory where libtool stores uninstalled libraries. */ +@%:@undef LT_OBJDIR]) +m4trace:configure.ac:16: -1- LT_SUPPORTED_TAG([CC]) +m4trace:configure.ac:16: -1- AC_SUBST([MANIFEST_TOOL]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([MANIFEST_TOOL]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^MANIFEST_TOOL$]) +m4trace:configure.ac:16: -1- AC_SUBST([DSYMUTIL]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([DSYMUTIL]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^DSYMUTIL$]) +m4trace:configure.ac:16: -1- AC_SUBST([NMEDIT]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([NMEDIT]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^NMEDIT$]) +m4trace:configure.ac:16: -1- AC_SUBST([LIPO]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([LIPO]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LIPO$]) +m4trace:configure.ac:16: -1- AC_SUBST([OTOOL]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([OTOOL]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^OTOOL$]) +m4trace:configure.ac:16: -1- AC_SUBST([OTOOL64]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([OTOOL64]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^OTOOL64$]) +m4trace:configure.ac:16: -1- AC_SUBST([LT_SYS_LIBRARY_PATH]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_DLFCN_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_STDIO_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_STDIO_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_STDLIB_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_STRING_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_INTTYPES_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_STDINT_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_STRINGS_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_SYS_STAT_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_SYS_TYPES_H]) +m4trace:configure.ac:16: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ +@%:@undef HAVE_UNISTD_H]) +m4trace:configure.ac:16: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^STDC_HEADERS$]) +m4trace:configure.ac:16: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ +@%:@undef STDC_HEADERS]) +m4trace:configure.ac:16: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLFCN_H]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^HAVE_DLFCN_H$]) +m4trace:configure.ac:16: -1- LT_SUPPORTED_TAG([CXX]) +m4trace:configure.ac:16: -1- AC_SUBST([CXXCPP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:16: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CPPFLAGS]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CPPFLAGS$]) +m4trace:configure.ac:16: -1- AC_SUBST([CXXCPP]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([CXXCPP]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^CXXCPP$]) +m4trace:configure.ac:16: -1- AC_SUBST([LD]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([LD]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LD$]) +m4trace:configure.ac:16: -1- AC_SUBST([LT_SYS_LIBRARY_PATH]) +m4trace:configure.ac:16: -1- AC_SUBST_TRACE([LT_SYS_LIBRARY_PATH]) +m4trace:configure.ac:16: -1- m4_pattern_allow([^LT_SYS_LIBRARY_PATH$]) +m4trace:configure.ac:30: -1- AC_DEFINE_TRACE_LITERAL([NDEBUG]) +m4trace:configure.ac:30: -1- m4_pattern_allow([^NDEBUG$]) +m4trace:configure.ac:30: -1- AH_OUTPUT([NDEBUG], [/* define if some debug code is disabled */ +@%:@undef NDEBUG]) +m4trace:configure.ac:42: -1- AC_DEFINE_TRACE_LITERAL([FULL_DEBUG]) +m4trace:configure.ac:42: -1- m4_pattern_allow([^FULL_DEBUG$]) +m4trace:configure.ac:42: -1- AH_OUTPUT([FULL_DEBUG], [/* define if full debug mode is active */ +@%:@undef FULL_DEBUG]) +m4trace:configure.ac:49: -1- AC_DEFINE_TRACE_LITERAL([FAST_COMPILATION]) +m4trace:configure.ac:49: -1- m4_pattern_allow([^FAST_COMPILATION$]) +m4trace:configure.ac:49: -1- AH_OUTPUT([FAST_COMPILATION], [/* define if fast compilation mode is active */ +@%:@undef FAST_COMPILATION]) +m4trace:configure.ac:51: -1- AM_CONDITIONAL([FAST_COMPILATION], [test "$enable_fast_compilation" = "yes"]) +m4trace:configure.ac:51: -1- AC_SUBST([FAST_COMPILATION_TRUE]) +m4trace:configure.ac:51: -1- AC_SUBST_TRACE([FAST_COMPILATION_TRUE]) +m4trace:configure.ac:51: -1- m4_pattern_allow([^FAST_COMPILATION_TRUE$]) +m4trace:configure.ac:51: -1- AC_SUBST([FAST_COMPILATION_FALSE]) +m4trace:configure.ac:51: -1- AC_SUBST_TRACE([FAST_COMPILATION_FALSE]) +m4trace:configure.ac:51: -1- m4_pattern_allow([^FAST_COMPILATION_FALSE$]) +m4trace:configure.ac:51: -1- _AM_SUBST_NOTMAKE([FAST_COMPILATION_TRUE]) +m4trace:configure.ac:51: -1- _AM_SUBST_NOTMAKE([FAST_COMPILATION_FALSE]) +m4trace:configure.ac:57: -1- AC_DEFINE_TRACE_LITERAL([COMPILE_TESTS]) +m4trace:configure.ac:57: -1- m4_pattern_allow([^COMPILE_TESTS$]) +m4trace:configure.ac:57: -1- AH_OUTPUT([COMPILE_TESTS], [/* define if compilation of tests is active */ +@%:@undef COMPILE_TESTS]) +m4trace:configure.ac:59: -1- AM_CONDITIONAL([COMPILE_TESTS], [test "$enable_tests" = "yes"]) +m4trace:configure.ac:59: -1- AC_SUBST([COMPILE_TESTS_TRUE]) +m4trace:configure.ac:59: -1- AC_SUBST_TRACE([COMPILE_TESTS_TRUE]) +m4trace:configure.ac:59: -1- m4_pattern_allow([^COMPILE_TESTS_TRUE$]) +m4trace:configure.ac:59: -1- AC_SUBST([COMPILE_TESTS_FALSE]) +m4trace:configure.ac:59: -1- AC_SUBST_TRACE([COMPILE_TESTS_FALSE]) +m4trace:configure.ac:59: -1- m4_pattern_allow([^COMPILE_TESTS_FALSE$]) +m4trace:configure.ac:59: -1- _AM_SUBST_NOTMAKE([COMPILE_TESTS_TRUE]) +m4trace:configure.ac:59: -1- _AM_SUBST_NOTMAKE([COMPILE_TESTS_FALSE]) +m4trace:configure.ac:62: -1- _m4_warn([obsolete], [The macro `AC_HEADER_STDC' is obsolete. +You should run autoupdate.], [./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from... +configure.ac:62: the top level]) +m4trace:configure.ac:62: -1- AC_SUBST([EGREP]) +m4trace:configure.ac:62: -1- AC_SUBST_TRACE([EGREP]) +m4trace:configure.ac:62: -1- m4_pattern_allow([^EGREP$]) +m4trace:configure.ac:65: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_bool.m4:4: AC_CXX_BOOL is expanded from... +configure.ac:65: the top level]) +m4trace:configure.ac:65: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_bool.m4:4: AC_CXX_BOOL is expanded from... +configure.ac:65: the top level]) +m4trace:configure.ac:65: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BOOL]) +m4trace:configure.ac:65: -1- m4_pattern_allow([^HAVE_BOOL$]) +m4trace:configure.ac:65: -1- AH_OUTPUT([HAVE_BOOL], [/* define if bool is a built-in type */ +@%:@undef HAVE_BOOL]) +m4trace:configure.ac:66: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_cxx_long_long.m4:1: OB_CXX_LONG_LONG is expanded from... +configure.ac:66: the top level]) +m4trace:configure.ac:66: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_cxx_long_long.m4:1: OB_CXX_LONG_LONG is expanded from... +configure.ac:66: the top level]) +m4trace:configure.ac:66: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LONG_LONG]) +m4trace:configure.ac:66: -1- m4_pattern_allow([^HAVE_LONG_LONG$]) +m4trace:configure.ac:66: -1- AH_OUTPUT([HAVE_LONG_LONG], [/* define if long long int type is supported */ +@%:@undef HAVE_LONG_LONG]) +m4trace:configure.ac:67: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_cxx_have_isinfinite.m4:1: OB_CXX_HAVE_ISFINITE is expanded from... +configure.ac:67: the top level]) +m4trace:configure.ac:67: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_cxx_have_isinfinite.m4:1: OB_CXX_HAVE_ISFINITE is expanded from... +configure.ac:67: the top level]) +m4trace:configure.ac:67: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ISFINITE]) +m4trace:configure.ac:67: -1- m4_pattern_allow([^HAVE_ISFINITE$]) +m4trace:configure.ac:67: -1- AH_OUTPUT([HAVE_ISFINITE], [/* define if the macro isfinite exist */ +@%:@undef HAVE_ISFINITE]) +m4trace:configure.ac:68: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_templates.m4:4: AC_CXX_TEMPLATES is expanded from... +configure.ac:68: the top level]) +m4trace:configure.ac:68: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_templates.m4:4: AC_CXX_TEMPLATES is expanded from... +configure.ac:68: the top level]) +m4trace:configure.ac:68: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TEMPLATES]) +m4trace:configure.ac:68: -1- m4_pattern_allow([^HAVE_TEMPLATES$]) +m4trace:configure.ac:68: -1- AH_OUTPUT([HAVE_TEMPLATES], [/* define if the compiler supports basic templates */ +@%:@undef HAVE_TEMPLATES]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_typename.m4:4: AC_CXX_TYPENAME is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_typename.m4:4: AC_CXX_TYPENAME is expanded from... +configure.ac:69: the top level]) +m4trace:configure.ac:69: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TYPENAME]) +m4trace:configure.ac:69: -1- m4_pattern_allow([^HAVE_TYPENAME$]) +m4trace:configure.ac:69: -1- AH_OUTPUT([HAVE_TYPENAME], [/* define if the compiler recognizes typename */ +@%:@undef HAVE_TYPENAME]) +m4trace:configure.ac:70: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_scoped_argument_matching.m4:4: AC_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING is expanded from... +configure.ac:70: the top level]) +m4trace:configure.ac:70: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_scoped_argument_matching.m4:4: AC_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING is expanded from... +configure.ac:70: the top level]) +m4trace:configure.ac:70: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING]) +m4trace:configure.ac:70: -1- m4_pattern_allow([^HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING$]) +m4trace:configure.ac:70: -1- AH_OUTPUT([HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING], [/* define if the compiler supports function matching with argument types which + are template scope-qualified */ +@%:@undef HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING]) +m4trace:configure.ac:71: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_default_template_parameters.m4:4: AC_CXX_DEFAULT_TEMPLATE_PARAMETERS is expanded from... +configure.ac:71: the top level]) +m4trace:configure.ac:71: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_default_template_parameters.m4:4: AC_CXX_DEFAULT_TEMPLATE_PARAMETERS is expanded from... +configure.ac:71: the top level]) +m4trace:configure.ac:71: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEFAULT_TEMPLATE_PARAMETERS]) +m4trace:configure.ac:71: -1- m4_pattern_allow([^HAVE_DEFAULT_TEMPLATE_PARAMETERS$]) +m4trace:configure.ac:71: -1- AH_OUTPUT([HAVE_DEFAULT_TEMPLATE_PARAMETERS], [/* define if the compiler supports default template parameters */ +@%:@undef HAVE_DEFAULT_TEMPLATE_PARAMETERS]) +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_qualified_base_class.m4:4: AC_CXX_TEMPLATE_QUALIFIED_BASE_CLASS is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_qualified_base_class.m4:4: AC_CXX_TEMPLATE_QUALIFIED_BASE_CLASS is expanded from... +configure.ac:72: the top level]) +m4trace:configure.ac:72: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TEMPLATE_QUALIFIED_BASE_CLASS]) +m4trace:configure.ac:72: -1- m4_pattern_allow([^HAVE_TEMPLATE_QUALIFIED_BASE_CLASS$]) +m4trace:configure.ac:72: -1- AH_OUTPUT([HAVE_TEMPLATE_QUALIFIED_BASE_CLASS], [/* define if the compiler supports template-qualified base class specifiers */ +@%:@undef HAVE_TEMPLATE_QUALIFIED_BASE_CLASS]) +m4trace:configure.ac:73: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_qualified_return_type.m4:4: AC_CXX_TEMPLATE_QUALIFIED_RETURN_TYPE is expanded from... +configure.ac:73: the top level]) +m4trace:configure.ac:73: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_template_qualified_return_type.m4:4: AC_CXX_TEMPLATE_QUALIFIED_RETURN_TYPE is expanded from... +configure.ac:73: the top level]) +m4trace:configure.ac:73: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE]) +m4trace:configure.ac:73: -1- m4_pattern_allow([^HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE$]) +m4trace:configure.ac:73: -1- AH_OUTPUT([HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE], [/* define if the compiler supports template-qualified return types */ +@%:@undef HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE]) +m4trace:configure.ac:74: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_const_cast.m4:4: AC_CXX_CONST_CAST is expanded from... +configure.ac:74: the top level]) +m4trace:configure.ac:74: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_const_cast.m4:4: AC_CXX_CONST_CAST is expanded from... +configure.ac:74: the top level]) +m4trace:configure.ac:74: -1- AC_DEFINE_TRACE_LITERAL([HAVE_CONST_CAST]) +m4trace:configure.ac:74: -1- m4_pattern_allow([^HAVE_CONST_CAST$]) +m4trace:configure.ac:74: -1- AH_OUTPUT([HAVE_CONST_CAST], [/* define if the compiler supports const_cast<> */ +@%:@undef HAVE_CONST_CAST]) +m4trace:configure.ac:75: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_reinterpret_cast.m4:4: AC_CXX_REINTERPRET_CAST is expanded from... +configure.ac:75: the top level]) +m4trace:configure.ac:75: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_reinterpret_cast.m4:4: AC_CXX_REINTERPRET_CAST is expanded from... +configure.ac:75: the top level]) +m4trace:configure.ac:75: -1- AC_DEFINE_TRACE_LITERAL([HAVE_REINTERPRET_CAST]) +m4trace:configure.ac:75: -1- m4_pattern_allow([^HAVE_REINTERPRET_CAST$]) +m4trace:configure.ac:75: -1- AH_OUTPUT([HAVE_REINTERPRET_CAST], [/* define if the compiler supports reinterpret_cast<> */ +@%:@undef HAVE_REINTERPRET_CAST]) +m4trace:configure.ac:76: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_static_cast.m4:4: AC_CXX_STATIC_CAST is expanded from... +configure.ac:76: the top level]) +m4trace:configure.ac:76: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_static_cast.m4:4: AC_CXX_STATIC_CAST is expanded from... +configure.ac:76: the top level]) +m4trace:configure.ac:76: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STATIC_CAST]) +m4trace:configure.ac:76: -1- m4_pattern_allow([^HAVE_STATIC_CAST$]) +m4trace:configure.ac:76: -1- AH_OUTPUT([HAVE_STATIC_CAST], [/* define if the compiler supports static_cast<> */ +@%:@undef HAVE_STATIC_CAST]) +m4trace:configure.ac:77: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_dynamic_cast.m4:4: AC_CXX_DYNAMIC_CAST is expanded from... +configure.ac:77: the top level]) +m4trace:configure.ac:77: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_dynamic_cast.m4:4: AC_CXX_DYNAMIC_CAST is expanded from... +configure.ac:77: the top level]) +m4trace:configure.ac:77: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DYNAMIC_CAST]) +m4trace:configure.ac:77: -1- m4_pattern_allow([^HAVE_DYNAMIC_CAST$]) +m4trace:configure.ac:77: -1- AH_OUTPUT([HAVE_DYNAMIC_CAST], [/* define if the compiler supports dynamic_cast<> */ +@%:@undef HAVE_DYNAMIC_CAST]) +m4trace:configure.ac:78: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_exceptions.m4:4: AC_CXX_EXCEPTIONS is expanded from... +configure.ac:78: the top level]) +m4trace:configure.ac:78: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_exceptions.m4:4: AC_CXX_EXCEPTIONS is expanded from... +configure.ac:78: the top level]) +m4trace:configure.ac:78: -1- AC_DEFINE_TRACE_LITERAL([HAVE_EXCEPTIONS]) +m4trace:configure.ac:78: -1- m4_pattern_allow([^HAVE_EXCEPTIONS$]) +m4trace:configure.ac:78: -1- AH_OUTPUT([HAVE_EXCEPTIONS], [/* define if the compiler supports exceptions */ +@%:@undef HAVE_EXCEPTIONS]) +m4trace:configure.ac:79: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_explicit.m4:4: AC_CXX_EXPLICIT is expanded from... +configure.ac:79: the top level]) +m4trace:configure.ac:79: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_explicit.m4:4: AC_CXX_EXPLICIT is expanded from... +configure.ac:79: the top level]) +m4trace:configure.ac:79: -1- AC_DEFINE_TRACE_LITERAL([HAVE_EXPLICIT]) +m4trace:configure.ac:79: -1- m4_pattern_allow([^HAVE_EXPLICIT$]) +m4trace:configure.ac:79: -1- AH_OUTPUT([HAVE_EXPLICIT], [/* define if the compiler supports the explicit keyword */ +@%:@undef HAVE_EXPLICIT]) +m4trace:configure.ac:80: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_namespaces.m4:4: AC_CXX_NAMESPACES is expanded from... +configure.ac:80: the top level]) +m4trace:configure.ac:80: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_namespaces.m4:4: AC_CXX_NAMESPACES is expanded from... +configure.ac:80: the top level]) +m4trace:configure.ac:80: -1- AC_DEFINE_TRACE_LITERAL([HAVE_NAMESPACES]) +m4trace:configure.ac:80: -1- m4_pattern_allow([^HAVE_NAMESPACES$]) +m4trace:configure.ac:80: -1- AH_OUTPUT([HAVE_NAMESPACES], [/* define if the compiler implements namespaces */ +@%:@undef HAVE_NAMESPACES]) +m4trace:configure.ac:81: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_rtti.m4:4: AC_CXX_RTTI is expanded from... +configure.ac:81: the top level]) +m4trace:configure.ac:81: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_rtti.m4:4: AC_CXX_RTTI is expanded from... +configure.ac:81: the top level]) +m4trace:configure.ac:81: -1- AC_DEFINE_TRACE_LITERAL([HAVE_RTTI]) +m4trace:configure.ac:81: -1- m4_pattern_allow([^HAVE_RTTI$]) +m4trace:configure.ac:81: -1- AH_OUTPUT([HAVE_RTTI], [/* define if the compiler supports Run-Time Type Identification */ +@%:@undef HAVE_RTTI]) +m4trace:configure.ac:82: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_std.m4:4: AC_CXX_HAVE_STD is expanded from... +configure.ac:82: the top level]) +m4trace:configure.ac:82: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_std.m4:4: AC_CXX_HAVE_STD is expanded from... +configure.ac:82: the top level]) +m4trace:configure.ac:82: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD]) +m4trace:configure.ac:82: -1- m4_pattern_allow([^HAVE_STD$]) +m4trace:configure.ac:82: -1- AH_OUTPUT([HAVE_STD], [/* define if the compiler supports ISO C++ standard library */ +@%:@undef HAVE_STD]) +m4trace:configure.ac:83: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_stl.m4:4: AC_CXX_HAVE_STL is expanded from... +configure.ac:83: the top level]) +m4trace:configure.ac:83: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_stl.m4:4: AC_CXX_HAVE_STL is expanded from... +configure.ac:83: the top level]) +m4trace:configure.ac:83: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STL]) +m4trace:configure.ac:83: -1- m4_pattern_allow([^HAVE_STL$]) +m4trace:configure.ac:83: -1- AH_OUTPUT([HAVE_STL], [/* define if the compiler supports Standard Template Library */ +@%:@undef HAVE_STL]) +m4trace:configure.ac:84: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_numeric_limits.m4:4: AC_CXX_HAVE_NUMERIC_LIMITS is expanded from... +configure.ac:84: the top level]) +m4trace:configure.ac:84: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_numeric_limits.m4:4: AC_CXX_HAVE_NUMERIC_LIMITS is expanded from... +configure.ac:84: the top level]) +m4trace:configure.ac:84: -1- AC_DEFINE_TRACE_LITERAL([HAVE_NUMERIC_LIMITS]) +m4trace:configure.ac:84: -1- m4_pattern_allow([^HAVE_NUMERIC_LIMITS$]) +m4trace:configure.ac:84: -1- AH_OUTPUT([HAVE_NUMERIC_LIMITS], [/* define if the compiler has numeric_limits */ +@%:@undef HAVE_NUMERIC_LIMITS]) +m4trace:configure.ac:85: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_sstream.m4:4: AC_CXX_HAVE_SSTREAM is expanded from... +configure.ac:85: the top level]) +m4trace:configure.ac:85: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ac_cxx_have_sstream.m4:4: AC_CXX_HAVE_SSTREAM is expanded from... +configure.ac:85: the top level]) +m4trace:configure.ac:85: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SSTREAM]) +m4trace:configure.ac:85: -1- m4_pattern_allow([^HAVE_SSTREAM$]) +m4trace:configure.ac:85: -1- AH_OUTPUT([HAVE_SSTREAM], [/* define if the compiler has stringstream */ +@%:@undef HAVE_SSTREAM]) +m4trace:configure.ac:91: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:9: AC_CXX_STD_HASHSET is expanded from... +configure.ac:91: the top level]) +m4trace:configure.ac:91: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:9: AC_CXX_STD_HASHSET is expanded from... +configure.ac:91: the top level]) +m4trace:configure.ac:91: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_HASHSET]) +m4trace:configure.ac:91: -1- m4_pattern_allow([^HAVE_STD_HASHSET$]) +m4trace:configure.ac:91: -1- AH_OUTPUT([HAVE_STD_HASHSET], [/* define if the compiler supports std::hash_set */ +@%:@undef HAVE_STD_HASHSET]) +m4trace:configure.ac:92: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:25: AC_CXX_GNUCXX_HASHSET is expanded from... +configure.ac:92: the top level]) +m4trace:configure.ac:92: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:25: AC_CXX_GNUCXX_HASHSET is expanded from... +configure.ac:92: the top level]) +m4trace:configure.ac:92: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GNUCXX_HASHSET]) +m4trace:configure.ac:92: -1- m4_pattern_allow([^HAVE_GNUCXX_HASHSET$]) +m4trace:configure.ac:92: -1- AH_OUTPUT([HAVE_GNUCXX_HASHSET], [/* define if the compiler supports __gnu_cxx::hash_set */ +@%:@undef HAVE_GNUCXX_HASHSET]) +m4trace:configure.ac:93: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:41: AC_CXX_STDEXT_HASHSET is expanded from... +configure.ac:93: the top level]) +m4trace:configure.ac:93: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_set.m4:41: AC_CXX_STDEXT_HASHSET is expanded from... +configure.ac:93: the top level]) +m4trace:configure.ac:93: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STDEXT_HASHSET]) +m4trace:configure.ac:93: -1- m4_pattern_allow([^HAVE_STDEXT_HASHSET$]) +m4trace:configure.ac:93: -1- AH_OUTPUT([HAVE_STDEXT_HASHSET], [/* define if the compiler supports stdext::hash_set */ +@%:@undef HAVE_STDEXT_HASHSET]) +m4trace:configure.ac:98: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:9: AC_CXX_STD_HASHMAP is expanded from... +configure.ac:98: the top level]) +m4trace:configure.ac:98: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:9: AC_CXX_STD_HASHMAP is expanded from... +configure.ac:98: the top level]) +m4trace:configure.ac:98: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STD_HASHMAP]) +m4trace:configure.ac:98: -1- m4_pattern_allow([^HAVE_STD_HASHMAP$]) +m4trace:configure.ac:98: -1- AH_OUTPUT([HAVE_STD_HASHMAP], [/* define if the compiler supports std::hash_map */ +@%:@undef HAVE_STD_HASHMAP]) +m4trace:configure.ac:99: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:25: AC_CXX_GNUCXX_HASHMAP is expanded from... +configure.ac:99: the top level]) +m4trace:configure.ac:99: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:25: AC_CXX_GNUCXX_HASHMAP is expanded from... +configure.ac:99: the top level]) +m4trace:configure.ac:99: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GNUCXX_HASHMAP]) +m4trace:configure.ac:99: -1- m4_pattern_allow([^HAVE_GNUCXX_HASHMAP$]) +m4trace:configure.ac:99: -1- AH_OUTPUT([HAVE_GNUCXX_HASHMAP], [/* define if the compiler supports __gnu_cxx::hash_map */ +@%:@undef HAVE_GNUCXX_HASHMAP]) +m4trace:configure.ac:100: -1- _m4_warn([obsolete], [The macro `AC_LANG_CPLUSPLUS' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:41: AC_CXX_STDEXT_HASHMAP is expanded from... +configure.ac:100: the top level]) +m4trace:configure.ac:100: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from... +lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from... +lib/m4sugar/m4sh.m4:699: AS_IF is expanded from... +./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from... +./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from... +m4/ob_have_hash_map.m4:41: AC_CXX_STDEXT_HASHMAP is expanded from... +configure.ac:100: the top level]) +m4trace:configure.ac:100: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STDEXT_HASHMAP]) +m4trace:configure.ac:100: -1- m4_pattern_allow([^HAVE_STDEXT_HASHMAP$]) +m4trace:configure.ac:100: -1- AH_OUTPUT([HAVE_STDEXT_HASHMAP], [/* define if the compiler supports stdext::hash_map */ +@%:@undef HAVE_STDEXT_HASHMAP]) +m4trace:configure.ac:104: -1- _m4_warn([cross], [cannot check for file existence when cross compiling], [./lib/autoconf/general.m4:3010: AC_CHECK_FILE is expanded from... +configure.ac:104: the top level]) +m4trace:configure.ac:104: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DEV_URANDOM]) +m4trace:configure.ac:104: -1- m4_pattern_allow([^HAVE_DEV_URANDOM$]) +m4trace:configure.ac:104: -1- AH_OUTPUT([HAVE_DEV_URANDOM], [/* define if file /dev/urandom exists. */ +@%:@undef HAVE_DEV_URANDOM]) +m4trace:configure.ac:107: -1- _m4_warn([obsolete], [The macro `AC_LANG_C' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:72: AC_LANG_C is expanded from... +m4/acx_pthread.m4:4: ACX_PTHREAD is expanded from... +configure.ac:107: the top level]) +m4trace:configure.ac:107: -1- AC_SUBST([acx_pthread_config]) +m4trace:configure.ac:107: -1- AC_SUBST_TRACE([acx_pthread_config]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^acx_pthread_config$]) +m4trace:configure.ac:107: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... +m4/acx_pthread.m4:4: ACX_PTHREAD is expanded from... +configure.ac:107: the top level]) +m4trace:configure.ac:107: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... +m4/acx_pthread.m4:4: ACX_PTHREAD is expanded from... +configure.ac:107: the top level]) +m4trace:configure.ac:107: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete. +You should run autoupdate.], [./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from... +m4/acx_pthread.m4:4: ACX_PTHREAD is expanded from... +configure.ac:107: the top level]) +m4trace:configure.ac:107: -1- AC_DEFINE_TRACE_LITERAL([PTHREAD_CREATE_JOINABLE]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^PTHREAD_CREATE_JOINABLE$]) +m4trace:configure.ac:107: -1- AH_OUTPUT([PTHREAD_CREATE_JOINABLE], [/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +@%:@undef PTHREAD_CREATE_JOINABLE]) +m4trace:configure.ac:107: -1- AC_SUBST([PTHREAD_CC]) +m4trace:configure.ac:107: -1- AC_SUBST_TRACE([PTHREAD_CC]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^PTHREAD_CC$]) +m4trace:configure.ac:107: -1- AC_SUBST([PTHREAD_LIBS]) +m4trace:configure.ac:107: -1- AC_SUBST_TRACE([PTHREAD_LIBS]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^PTHREAD_LIBS$]) +m4trace:configure.ac:107: -1- AC_SUBST([PTHREAD_CFLAGS]) +m4trace:configure.ac:107: -1- AC_SUBST_TRACE([PTHREAD_CFLAGS]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^PTHREAD_CFLAGS$]) +m4trace:configure.ac:107: -1- AC_SUBST([PTHREAD_CC]) +m4trace:configure.ac:107: -1- AC_SUBST_TRACE([PTHREAD_CC]) +m4trace:configure.ac:107: -1- m4_pattern_allow([^PTHREAD_CC$]) +m4trace:configure.ac:107: -2- AC_DEFINE_TRACE_LITERAL([HAVE_PTHREAD]) +m4trace:configure.ac:107: -2- m4_pattern_allow([^HAVE_PTHREAD$]) +m4trace:configure.ac:107: -2- AH_OUTPUT([HAVE_PTHREAD], [/* Define if you have POSIX threads libraries and header files. */ +@%:@undef HAVE_PTHREAD]) +m4trace:configure.ac:113: -1- _m4_warn([obsolete], [The macro `AC_LANG_C' is obsolete. +You should run autoupdate.], [./lib/autoconf/c.m4:72: AC_LANG_C is expanded from... +m4/check_zlib.m4:4: CHECK_ZLIB is expanded from... +configure.ac:113: the top level]) +m4trace:configure.ac:113: -1- AH_OUTPUT([HAVE_LIBZ], [/* Define to 1 if you have the `z\' library (-lz). */ +@%:@undef HAVE_LIBZ]) +m4trace:configure.ac:113: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBZ]) +m4trace:configure.ac:113: -1- m4_pattern_allow([^HAVE_LIBZ$]) +m4trace:configure.ac:146: -1- AC_SUBST([PACC_VERSION]) +m4trace:configure.ac:146: -1- AC_SUBST_TRACE([PACC_VERSION]) +m4trace:configure.ac:146: -1- m4_pattern_allow([^PACC_VERSION$]) +m4trace:configure.ac:152: -1- AC_CONFIG_FILES([Makefile + PACC/Makefile + PACC/Math/Makefile + PACC/SVG/Makefile + PACC/Socket/Makefile + PACC/Threading/Makefile + PACC/Util/Makefile + PACC/XML/Makefile + beagle/Makefile + beagle/include/Makefile + beagle/include/beagle/Makefile + beagle/src/Makefile + beagle/GA/Makefile + beagle/GA/include/Makefile + beagle/GA/include/beagle/Makefile + beagle/GA/include/beagle/GA/Makefile + beagle/GA/src/Makefile + beagle/GP/Makefile + beagle/GP/include/Makefile + beagle/GP/include/beagle/Makefile + beagle/GP/include/beagle/GP/Makefile + beagle/GP/src/Makefile + beagle/Coev/Makefile + beagle/Coev/include/Makefile + beagle/Coev/include/beagle/Makefile + beagle/Coev/include/beagle/Coev/Makefile + beagle/Coev/src/Makefile + tests/Makefile + tests/Common/Makefile + tests/Exception/Makefile + tests/GA/Makefile + tests/GA/optfct/Makefile + tests/GP/Makefile + tests/GP/FitnessTestGPIndividual/Makefile + tests/GP/ReadGPIndividual/Makefile + tests/GP/WriteRandomGPIndividual/Makefile + tests/LinGP/Makefile + tests/LinGP/include/Makefile + tests/LinGP/include/beagle/Makefile + tests/LinGP/include/beagle/LinGP/Makefile + tests/LinGP/src/Makefile + tests/Roulette/Makefile + tests/Thread/Makefile + tests/TransportTCPIPOp/Makefile +]) +m4trace:configure.ac:197: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) +m4trace:configure.ac:197: -1- m4_pattern_allow([^LIB@&t@OBJS$]) +m4trace:configure.ac:197: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([LTLIBOBJS]) +m4trace:configure.ac:197: -1- m4_pattern_allow([^LTLIBOBJS$]) +m4trace:configure.ac:197: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"]) +m4trace:configure.ac:197: -1- AC_SUBST([am__EXEEXT_TRUE]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE]) +m4trace:configure.ac:197: -1- m4_pattern_allow([^am__EXEEXT_TRUE$]) +m4trace:configure.ac:197: -1- AC_SUBST([am__EXEEXT_FALSE]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE]) +m4trace:configure.ac:197: -1- m4_pattern_allow([^am__EXEEXT_FALSE$]) +m4trace:configure.ac:197: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE]) +m4trace:configure.ac:197: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([top_builddir]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([top_build_prefix]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([srcdir]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([abs_srcdir]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([top_srcdir]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([abs_top_srcdir]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([builddir]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([abs_builddir]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([abs_top_builddir]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([INSTALL]) +m4trace:configure.ac:197: -1- AC_SUBST_TRACE([MKDIR_P]) +m4trace:configure.ac:197: -1- AC_REQUIRE_AUX_FILE([ltmain.sh]) diff --git a/lib/beagle-3.0.3/beagle.kdevelop b/lib/beagle-3.0.3/beagle.kdevelop new file mode 100644 index 0000000..412ff44 --- /dev/null +++ b/lib/beagle-3.0.3/beagle.kdevelop @@ -0,0 +1,244 @@ + + + + Christian Gagne + cgagne@gel.ulaval.ca + 3.0.3 + KDevAutoProject + C++ + + C++ + Code + + + kdevdoxygen + + . + false + + + kdevcvsservice + beagle + + + + + src/beagle + default + + + src/beagle + true + executable + / + + true + + + + + + --enable-debug --enable-full-debug + + + + + kdevgccoptions + kdevgppoptions + kdevpgf77options + + + + + + + + + + + + + + false + 1 + false + + 0 + + + + + ada + ada_bugs_gcc + bash + bash_bugs + clanlib + w3c-dom-level2-html + fortran_bugs_gcc + gnome1 + gnustep + gtk + gtk_bugs + haskell + haskell_bugs_ghc + java_bugs_gcc + java_bugs_sun + kde2book + opengl + pascal_bugs_fp + php + php_bugs + perl + perl_bugs + python + python_bugs + qt-kdev3 + ruby + ruby_bugs + sdl + w3c-svg + sw + w3c-uaag10 + wxwidgets_bugs + + + Guide to the Qt Translation Tools + Qt Assistant Manual + Qt Designer Manual + Qt Reference Documentation + qmake User Guide + + + KDE Libraries (Doxygen) + + + + + + + + + + + + + + false + false + + + *.o,*.lo,CVS + false + false + + + + + Doxygen Documentation Collection + ${APPNAMELC}.tag + + + + + beagle + beagle + BEAGLE + Christian Gagne + cgagne@gel.ulaval.ca + GPL + COPYING + 3.0.0 + /home/cgagne/tmp/beagle + + + + + true + true + true + false + true + true + true + 250 + 400 + 250 + false + 0 + true + true + false + std=_GLIBCXX_STD;__gnu_cxx=std + true + false + false + false + true + true + true + false + .; + false + false + + + + set + m_,_ + theValue + true + true + + + false + 3 + 3 + /usr/share/qt3 + EmbeddedKDevDesigner + /usr/bin/qmake-qt3 + /usr/bin/designer + + + + false + true + Vertical + + + + + .hpp + .cpp + + + + + + + + + + + true + false + false + false + + + false + true + 10 + + + + true + true + true + true + -C + + + + + + diff --git a/lib/beagle-3.0.3/beagle.lsm b/lib/beagle-3.0.3/beagle.lsm new file mode 100644 index 0000000..6c8f9a5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle.lsm @@ -0,0 +1,16 @@ +Begin3 +Title: Open BEAGLE +Version: 3.0.3 +Entered-date: November 29, 2007 +Description: C++ Evolutionary Computation Framework. +Keywords: Evolutionary computation, genetic algorithms, + genetic programming, evolution strategy +Author: Christian Gagne + Marc Parizeau +Maintained-by: Christian Gagne +Primary-site: http://beagle.gel.ulaval.ca +Home-page: http://beagle.gel.ulaval.ca +Original-site: http://beagle.gel.ulaval.ca +Platforms: Linux and other Unices, Microsoft Windows +Copying-policy: GNU Lesser General Public License +End diff --git a/lib/beagle-3.0.3/beagle.xsd b/lib/beagle-3.0.3/beagle.xsd new file mode 100644 index 0000000..eb4bfa3 --- /dev/null +++ b/lib/beagle-3.0.3/beagle.xsd @@ -0,0 +1,841 @@ + + + + + + + + + + + + W3C XML Schema for Open BEAGLE files by Christian Gagne, originally created April 2004, last updated October 2005. Every Open BEAGLE files starts with root element "Beagle". + + + + + + + + + + Root XML tag of Open BEAGLE document. Six main elements can be used: Logger, Evolver, Register, System, Vivarium and Seeds. There is four usual use cases: configuration file, log file, milestone file and seeds file. Configuration file includes Evolver and System elements. Log file includes Logger element. Milestone file includes Evolver, System and Vivarium elements. Seeds file includes Seeds element. + + + + + + + + + + + + + + + + + + + + + + + + Log file is usually a mix of text message and different XML serialized objects such statistics, register, etc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Stats element denote a statistical set of measures taken on a population (named by attribute "id"), at a given time (stated in attibute "generation"). Statistics are composed of two types of elements: items and measures. Items element are single value taken on the population associated to a key. Measures element are statistical measures (average, standard deviation, maximum, and minimum) taken on the whole population. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Seeds are individuals used to initialize a population. + + + + + + + + + + + + + + + + The system list the register, the logger, the randomizer and some other optionnal system components such primitive super set in genetic programming. + + + + + + + + + + + + + + + + + + + + A register is a sequence of entry, where each entry contains the value of a registered parameter named by the key attribute. + + + + + + + + + + + + + + + + + + + + + + + + The randomizer contains the state of the Mersenne random number generator. + + + + + + + + + + + + + + + + + + + The primitive super set contains the list of primitives used to construct the GP programs. + + + + + + + + + + + + + + + + + + + + + + + A vivarium is made of the statistics for the actual generation, an hall-of-fame containing the best-of-run individuals, and the vivarium's demes. + + + + + + + + + + + + + + + + + + + + + + An hall-of-fame contains the best-of-run individuals of a given population (vivarium or deme). + + + + + + + + + + + + + + + + + + + + + + + A deme is made of the statistics of the population for the actual generation, an hall-of-fame containing the best-of-run individuals, and a population of individuals. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An individual is the basic element of a population and is made of an optional fitness value and one or more genotypes, that is the actual representation of the individual. + + + + + + + + + + + + + + + + + + This declares a very generic fitness measure that may contain almost anything. For more specific fitness description, see the following types related to the three standard genotype of the framework (simple fitness measure, multiobjective fitness measure, and Koza's GP fitness). + + + + + + + + + + + + + + + + + + + + + Representation of simple fitness value (associated to C++ classes Beagle::FitnessSimple and Beagle::FitnessSimpleMin). + + + + + + + + + + + + + Representation of multiobjective fitness value (associated to C++ classes Beagle::FitnessMultiObj and Beagle::FitnessMultiObjMin). + + + + + + + + + + + + Representation of GP Koza's fitness (associated to C++ class Beagle::GP::FitnessKoza). + + + + + + + + + + + + + + + + + + + + + This declares a very generic genotype that may contain almost anything. For more specific genotype description, see the following types related to the five standard genotypes of the framework (GA bitstring, integer-valued GA, real-valued GA, non-isotropic SA-ES and GP trees). + + + + + + + + + + + + + + + + + + + Binary GA genotype representation. + + + + + + + + + + + + + + + + + + + + Integer-valued GA genotype representation. + + + + + + + + + + + + + + + + + + + + Real-valued GA genotype representation. + + + + + + + + + + + + + + + + + + + + Non-isotropic self-adaptative evolution strategy genotype representation, that is a vector of (value,strategy) pairs. + + + + + + + + + + + + + + + + + + + + + Canonical GP tree genotype representation. + + + + + + + + + + + + + + + + + + + + An evolvers is composed of a BootStrapSet followed by a MainLoopSet. Each of these sets contains a list operators to apply. As the name of all usable operators are not known beforehand so the content is relaxed to the use of any type. The real condition is that only elements associated to operators can be used. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + If-then-else operator. Condition is given by a registered parameter (which name is attribute "parameter") which is compared to a given value (attribute "value"). If parameter value is equal to given value, operators in elements "PositiveOpSet" are applied on the population, otherwize operators in elements "NegativeOpSet" are applied. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Elements in replacement strategy must be breeder operators. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + One element in an evaluation operator when used in a breeder tree. In a standard operator set, there must be no element in the operator. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Two elements must be in a crossover operator when used in a breeder tree. In a standard operator set, there must be no element. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + One element must be in a mutation operator when used in a breeder tree. In a standard operator set, there must be no element. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/beagle/Coev/Makefile b/lib/beagle-3.0.3/beagle/Coev/Makefile new file mode 100644 index 0000000..7d2c761 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/Makefile @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/Coev/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/Coev +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/Coev +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/Coev +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +SUBDIRS = include src +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/Coev/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/Coev/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/Coev/Makefile.am b/lib/beagle-3.0.3/beagle/Coev/Makefile.am new file mode 100644 index 0000000..c74acb4 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = include src diff --git a/lib/beagle-3.0.3/beagle/Coev/Makefile.in b/lib/beagle-3.0.3/beagle/Coev/Makefile.in new file mode 100644 index 0000000..0e40396 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/Makefile.in @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/Coev +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = include src +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/Coev/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/Coev/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/Coev/include/Makefile b/lib/beagle-3.0.3/beagle/Coev/include/Makefile new file mode 100644 index 0000000..d8467b2 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/include/Makefile @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/Coev/include/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/Coev/include +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/Coev/include +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/Coev/include +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../ +top_builddir = ../../.. +top_srcdir = ../../.. +SUBDIRS = beagle +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/Coev/include/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/Coev/include/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/Coev/include/Makefile.am b/lib/beagle-3.0.3/beagle/Coev/include/Makefile.am new file mode 100644 index 0000000..eb21220 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/include/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = beagle diff --git a/lib/beagle-3.0.3/beagle/Coev/include/Makefile.in b/lib/beagle-3.0.3/beagle/Coev/include/Makefile.in new file mode 100644 index 0000000..320529b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/include/Makefile.in @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/Coev/include +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = beagle +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/Coev/include/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/Coev/include/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev.hpp b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev.hpp new file mode 100644 index 0000000..a72c97c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev.hpp @@ -0,0 +1,92 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Coev.hpp + * \brief File to include to import all the co-evolution specific classes. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.12.2.1 $ + * $Date: 2007/05/09 01:51:01 $ + */ + +/*! + * \defgroup COEVF Co-evolution Framework + * \brief Specialized framework for co-evolution. + * + * Co-evolution framework is based on multi-threading programming, where each thread is associated to + * a population. The execution sequence of each thread is the same than what usually done in the + * main function of standard evolutions (i.e. build system, evaluation operator, vivarium, evolver, + * initialize evolver, and start evolution). The population in each thread evolves independently, + * with inter-thread synchronization only in co-evolutionary fitness evaluation operator. This + * operator behaves quite differently than usual mono-population evaluation operator. The + * co-evolution evaluation procedure starts by calling Coev::EvaluationOp::makeSets, which makes + * evaluation sets of the evolving population and add them into shared storage structure, using + * method Coev::EvaluationOp::addSet. When the desired number of evaluation sets is added (the + * trigger value) the co-evolutionary fitness evaluation method defined in + * Coev::EvaluationOp::evaluateSets is called. Pure virtual methods Coev::EvaluationOp::makeSets + * and Coev::EvaluationOp::evaluateSets are problem-specific and must be defined by the user in + * its co-evolutionary fitness evaluation operators. + * + * A trigger value is used to specify the number of evaluation sets needed to start a + * co-evolutionary evaluation. This value is usually equal to the number of threads/populations used, + * as usually each thread/population add one evaluation set before doing the co-evolutionary + * evaluation operation. But different trigger value can be used depending on the context. + * + * Marc Parizeau's portable C++ classes for multi-threading (defined in namespace Threading) + * are also provided with co-evolutionary framework. These are used internally by the co-evolution + * framework. Users are advised to use them for their co-evolutionary applications. + * + */ + +/*! + * \namespace Beagle::Coev + * \brief Namespace of the co-evolution classes. + * \ingroup COEVF + */ + +#ifndef Beagle_Coev_hpp +#define Beagle_Coev_hpp + + +// Beagle generic components + +#include "beagle/Beagle.hpp" +#include "beagle/GA.hpp" +#include "beagle/GP.hpp" + +// Mutli-threading classes + +#include "Threading.hpp" + +// Co-evolution classes + +#include "beagle/Coev/EvaluationOp.hpp" +#include "beagle/Coev/GPEvaluationOp.hpp" +#include "beagle/Coev/TermBroadcastOp.hpp" + +#endif // Beagle_Coev_hpp + diff --git a/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/EvaluationOp.hpp b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/EvaluationOp.hpp new file mode 100644 index 0000000..af1ad0c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/EvaluationOp.hpp @@ -0,0 +1,178 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Coev/EvaluationOp.hpp + * \brief Declaration of file Beagle::Coev::EvaluationOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.17.2.1 $ + * $Date: 2007/05/09 01:51:01 $ + */ + +#ifndef Beagle_Coev_EvaluationOp_hpp +#define Beagle_Coev_EvaluationOp_hpp + +#include + +#include "Threading.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/EvaluationOp.hpp" + + +namespace Beagle { +namespace Coev { + +/*! + * \class EvaluationOp beagle/Coev/EvaluationOp.hpp "beagle/Coev/EvaluationOp.hpp" + * \brief Abstract co-evolution evaluation operator class. + * \ingroup COEVF + * + * For its application co-evolution fitness evaluation operators, the user must over-defined the pure + * virtual methods makeSets and evaluateSets. The makeSets method is called to ask the evaluation + * operator to make evaluation sets from the actual deme. An evaluation set corresponds to a + * group of individuals than can be mated with groups of individual from other population for + * co-evolutionary fitness evaluation. The groups of individuals created in method makeSets are + * added to the shared structure by a call to the method addSets. This method takes a second + * optionnal argument which indicated whether or not the call is blocking. If the call is + * blocking, the call to addSets will return only when the set will be evaluated. Otherwize, the + * evaluation set return immediatly after the set is added to the shared structure. Once the + * number of evaluation sets added to the shared structure is equal to the trigger value, the + * problem-specific co-evolutionary fitness evaluation is done by a call to the pure virtual method + * evaluateSets. + * + * Fitness value evaluated in method evaluateSets must be assigned to the individuals using + * the method assignFitness. If this method is not used, the statistics values will + * not be accurate. + * + * The member mID of the struct EvalSet is provided for convenience only and is not used internally. + * This can be used to identity the different evaluation sets add into the common structure. You + * cannot make any assumptions on the order the evaluation sets are put in the common structure, + * and so the order they are given to method evaluateSets. + * + * The trigger value is specified when constructing the different co-evolutionary evaluation operator. + * Each co-evolutionary evaluation must specify the trigger value, and the value given must be the + * same for the different thread/population evaluation operators. + * + */ +class EvaluationOp : public Beagle::EvaluationOp { + +public: + + //! Coev::EvaluationOp allocator type. + typedef AbstractAllocT + Alloc; + //! Coev::EvaluationOp handle type. + typedef PointerT + Handle; + //! Coev::EvaluationOp bag type. + typedef ContainerT + Bag; + + /*! + * \struct EvalSet beagle/Coev/EvaluationOp.hpp "beagle/Coev/EvaluationOp.hpp" + * \brief Evaluation set association used in co-evolution evaluation operator. + */ + struct EvalSet { + Beagle::Individual::Bag mIndividuals; //!< Individuals of the evaluation set + Beagle::Context::Handle mContext; //!< Context associated to the evaluation set + unsigned int mID; //!< Evaluation set ID + + EvalSet(); + EvalSet(Beagle::Individual::Bag& inIndividuals, + Beagle::Context::Handle inContext, + unsigned int inID=0); + }; + + //! Vector of evaluation set. + typedef std::vector< EvalSet,BEAGLE_STLALLOCATOR > + EvalSetVector; + + explicit EvaluationOp(unsigned int inTrigger=1, string inName="Coev-EvaluationOp"); + virtual ~EvaluationOp() { } + + /*! + * \brief Evaluate fitness of a bunch of individual in an evaluation sets. + * \param ioSets Sets to evaluate fitness. + * + * You cannot make assumption about the order of the evaluation sets are in + * the ioSets structure. These can change from evaluation to evaluation. Use + * struct EvalSet member inID to identify the evaluation sets you put into + * shared storage by call to add set. This ID is for convenience and is not used + * internally to identify sets. + * + * Assign fitness value to individuals using method assignFitness, otherwise + * statistics value will be erroneous. + */ + virtual void evaluateSets(EvalSetVector& ioSets) =0; + + /*! + * \brief Make evaluation sets from given deme. + * \param ioIndivBag Bag of individuals to evaluate. + * \param ioContext Evolutionary context. + * + * This method is call one time at each generation, for each evolving + * thread/population. This method is problem-specific and consists + * to make evaluation sets that are mated with other thread/population + * evaluation sets for co-evolutionary fitness evaluation. Sets are added + * into a shared structure with a call to method addSet. + */ + virtual void makeSets(Beagle::Individual::Bag& ioIndivBag, + Beagle::Context::Handle ioContext) =0; + + virtual void addSet(EvalSet& inEvalSet, bool inBlocking=true); + virtual void assignFitness(Beagle::Fitness::Handle inFitness, + Beagle::Individual& ioIndividual, + Beagle::Context& ioContext) const; + virtual Individual::Handle breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext); + virtual void operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext); + +protected: + + static PACC::Threading::Condition smCondition; //!< Condition of co-evaluation + static EvalSetVector smEvalSets; //!< Shared storage of evaluation sets + static unsigned int smTrigger; //!< Number of sets needed to start an evaluation + +private: + + virtual Fitness::Handle evaluate(Individual& inIndividual, Context& ioContext); + +}; + +} +} + + +#endif // Beagle_Coev_EvaluationOp_hpp + diff --git a/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/GPEvaluationOp.hpp b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/GPEvaluationOp.hpp new file mode 100644 index 0000000..133e4fd --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/GPEvaluationOp.hpp @@ -0,0 +1,117 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Coev/GPEvaluationOp.hpp + * \brief Declaration of file Beagle::Coev::GPEvaluation. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:01 $ + */ + +#ifndef Beagle_Coev_GPEvaluation_hpp +#define Beagle_Coev_GPEvaluation_hpp + +#include + +#include "Threading.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/EvaluationOp.hpp" +#include "beagle/Coev/EvaluationOp.hpp" +#include "beagle/GP.hpp" + + +namespace Beagle { +namespace Coev { + +/*! + * \class GPEvaluationOp beagle/Coev/GPEvaluationOp.hpp "beagle/Coev/GPEvaluationOp.hpp" + * \brief Abstract co-evolution GP evaluation operator class. + * \ingroup COEVF + */ +class GPEvaluationOp : public Beagle::Coev::EvaluationOp { + +public: + + //! Coev::GPEvaluationOp allocator type. + typedef AbstractAllocT + Alloc; + //! Coev::GPEvaluationOp handle type. + typedef PointerT + Handle; + //! Coev::GPEvaluationOp bag type. + typedef ContainerT + Bag; + + explicit GPEvaluationOp(unsigned int inTrigger=1, string inName="Coev-GPEvaluationOp"); + virtual ~GPEvaluationOp() { } + + /*! + * \brief Evaluate fitness of a bunch of individual in an evaluation sets. + * \param ioSets Sets to evaluate fitness. + * + * You cannot make assumption about the order of the evaluation sets are in + * the ioSets structure. These can change from evaluation to evaluation. Use + * struct EvalSet member inID to identify the evaluation sets you put into + * shared storage by call to add set. This ID is for convenience and is not used + * internally to identify sets. + * + * Assign fitness value to individuals using method assignFitness, otherwise + * statistics value will be erroneous. + */ + virtual void evaluateSets(EvalSetVector& ioSets) =0; + + /*! + * \brief Make evaluation sets from given deme. + * \param ioIndivBag Bag of individuals to evaluate. + * \param ioContext Evolutionary context. + * + * This method is call one time at each generation, for each evolving + * thread/population. This method is problem-specific and consists + * to make evaluation sets that are mated with other thread/population + * evaluation sets for co-evolutionary fitness evaluation. Sets are added + * into a shared structure with a call to method addSet. + */ + virtual void makeSets(Beagle::Individual::Bag& ioIndivBag, + Beagle::Context::Handle ioContext) =0; + + void setValue(string inName, const Object& inValue, GP::Context& ioContext) const; + +}; + +} +} + + +#endif // Beagle_Coev_GPEvaluation_hpp + diff --git a/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/Makefile b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/Makefile new file mode 100644 index 0000000..afc0835 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/Makefile @@ -0,0 +1,595 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/Coev/include/beagle/Coev/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/Coev/include/beagle/Coev +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(beagleCoev_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(beagleCoevdir)" +HEADERS = $(beagleCoev_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../../../ +top_builddir = ../../../../.. +top_srcdir = ../../../../.. +beagleCoevdir = $(includedir)/beagle/Coev +beagleCoev_HEADERS = EvaluationOp.hpp GPEvaluationOp.hpp TermBroadcastOp.hpp +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/Coev/include/beagle/Coev/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/Coev/include/beagle/Coev/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-beagleCoevHEADERS: $(beagleCoev_HEADERS) + @$(NORMAL_INSTALL) + @list='$(beagleCoev_HEADERS)'; test -n "$(beagleCoevdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(beagleCoevdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(beagleCoevdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(beagleCoevdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(beagleCoevdir)" || exit $$?; \ + done + +uninstall-beagleCoevHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(beagleCoev_HEADERS)'; test -n "$(beagleCoevdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(beagleCoevdir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(beagleCoevdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-beagleCoevHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-beagleCoevHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ + clean-libtool cscopelist-am ctags ctags-am distclean \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-beagleCoevHEADERS install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am \ + uninstall-beagleCoevHEADERS + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/Makefile.am b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/Makefile.am new file mode 100644 index 0000000..e1b91d8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/Makefile.am @@ -0,0 +1,2 @@ +beagleCoevdir = $(includedir)/beagle/Coev +beagleCoev_HEADERS = EvaluationOp.hpp GPEvaluationOp.hpp TermBroadcastOp.hpp diff --git a/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/Makefile.in b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/Makefile.in new file mode 100644 index 0000000..c0c0780 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/Makefile.in @@ -0,0 +1,595 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/Coev/include/beagle/Coev +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(beagleCoev_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(beagleCoevdir)" +HEADERS = $(beagleCoev_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +beagleCoevdir = $(includedir)/beagle/Coev +beagleCoev_HEADERS = EvaluationOp.hpp GPEvaluationOp.hpp TermBroadcastOp.hpp +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/Coev/include/beagle/Coev/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/Coev/include/beagle/Coev/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-beagleCoevHEADERS: $(beagleCoev_HEADERS) + @$(NORMAL_INSTALL) + @list='$(beagleCoev_HEADERS)'; test -n "$(beagleCoevdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(beagleCoevdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(beagleCoevdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(beagleCoevdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(beagleCoevdir)" || exit $$?; \ + done + +uninstall-beagleCoevHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(beagleCoev_HEADERS)'; test -n "$(beagleCoevdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(beagleCoevdir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(beagleCoevdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-beagleCoevHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-beagleCoevHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ + clean-libtool cscopelist-am ctags ctags-am distclean \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-beagleCoevHEADERS install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am \ + uninstall-beagleCoevHEADERS + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/TermBroadcastOp.hpp b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/TermBroadcastOp.hpp new file mode 100644 index 0000000..f5868ac --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Coev/TermBroadcastOp.hpp @@ -0,0 +1,84 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Coev/TermBroadcastOp.hpp + * \brief Definition of the class TermBroadcastOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:01 $ + */ + +#ifndef Beagle_TermBroadcastOp_hpp +#define Beagle_TermBroadcastOp_hpp + +#include "Threading.hpp" + +#include "beagle/Beagle.hpp" + + +namespace Beagle { +namespace Coev { + +/*! + * \class TermBroadcastOp beagle/Coev/TermBroadcastOp.hpp "beagle/Coev/TermBroadcastOp.hpp" + * \brief Broadcast termination criterion amoung coevolution threads operator class. + * \ingroup COEVF + */ +class TermBroadcastOp : public TerminationOp { + +public: + + //! TermBroadcastOp allocator type + typedef AllocatorT + Alloc; + //! TermBroadcastOp handle type. + typedef PointerT + Handle; + //! TermBroadcastOp bag type. + typedef ContainerT + Bag; + + explicit TermBroadcastOp(string inName="Coev-TermBroadcastOp"); + virtual ~TermBroadcastOp() { } + + virtual void initialize(System& ioSystem); + virtual bool terminate(const Deme& inDeme, Context& ioContext); + +protected: + + static PACC::Threading::Condition smCondition; //!< Condition for synchronizing threads termination. + static unsigned int smTrigger; //!< Actual number of threads locked on condition. + static unsigned int smNbrThreads; //!< Number of threads involved in co-evolution. + static bool smTermReached; //!< Stopping criterion reached. + +}; + +} +} + +#endif // Beagle_TerminationCheckOp_hpp diff --git a/lib/beagle-3.0.3/beagle/Coev/include/beagle/Makefile b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Makefile new file mode 100644 index 0000000..5db8968 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Makefile @@ -0,0 +1,721 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/Coev/include/beagle/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/Coev/include/beagle +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(beagle_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(beagledir)" +HEADERS = $(beagle_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/Coev/include/beagle +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/Coev/include/beagle +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../../ +top_builddir = ../../../.. +top_srcdir = ../../../.. + +# Stuff for precompiled headers +INCLUDES = -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include -I$(top_srcdir)/beagle/Coev/include +beagledir = $(includedir)/beagle +beagle_HEADERS = Coev.hpp +SUBDIRS = Coev +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/Coev/include/beagle/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/Coev/include/beagle/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-beagleHEADERS: $(beagle_HEADERS) + @$(NORMAL_INSTALL) + @list='$(beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(beagledir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(beagledir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(beagledir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(beagledir)" || exit $$?; \ + done + +uninstall-beagleHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(beagledir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(HEADERS) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(beagledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-beagleHEADERS + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-beagleHEADERS + +.MAKE: $(am__recursive_targets) install-am install-data-am \ + install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-beagleHEADERS install-data \ + install-data-am install-data-hook install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-beagleHEADERS + +.PRECIOUS: Makefile + +pch: $(HEADERS) + rm -f Coev.hpp.gch + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) -x c++-header $(CXXFLAGS) -c -o Coev.hpp.gch Coev.hpp +install-data-hook: + if test -f Coev.hpp.gch; then $(INSTALL_DATA) Coev.hpp.gch $(DESTDIR)$(includedir)/Coev.hpp.gch; fi +clean-generic: + if test -f Coev.hpp.gch; then rm -f Coev.hpp.gch; fi + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/Coev/include/beagle/Makefile.am b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Makefile.am new file mode 100644 index 0000000..43c0f68 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Makefile.am @@ -0,0 +1,13 @@ +# Stuff for precompiled headers +INCLUDES = -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include -I$(top_srcdir)/beagle/Coev/include +pch: $(HEADERS) + rm -f Coev.hpp.gch + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) -x c++-header $(CXXFLAGS) -c -o Coev.hpp.gch Coev.hpp +install-data-hook: + if test -f Coev.hpp.gch; then $(INSTALL_DATA) Coev.hpp.gch $(DESTDIR)$(includedir)/Coev.hpp.gch; fi +clean-generic: + if test -f Coev.hpp.gch; then rm -f Coev.hpp.gch; fi + +beagledir = $(includedir)/beagle +beagle_HEADERS = Coev.hpp +SUBDIRS = Coev diff --git a/lib/beagle-3.0.3/beagle/Coev/include/beagle/Makefile.in b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Makefile.in new file mode 100644 index 0000000..89dabf2 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/include/beagle/Makefile.in @@ -0,0 +1,721 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/Coev/include/beagle +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(beagle_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(beagledir)" +HEADERS = $(beagle_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ + +# Stuff for precompiled headers +INCLUDES = -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include -I$(top_srcdir)/beagle/Coev/include +beagledir = $(includedir)/beagle +beagle_HEADERS = Coev.hpp +SUBDIRS = Coev +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/Coev/include/beagle/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/Coev/include/beagle/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-beagleHEADERS: $(beagle_HEADERS) + @$(NORMAL_INSTALL) + @list='$(beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(beagledir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(beagledir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(beagledir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(beagledir)" || exit $$?; \ + done + +uninstall-beagleHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(beagledir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(HEADERS) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(beagledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-beagleHEADERS + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-beagleHEADERS + +.MAKE: $(am__recursive_targets) install-am install-data-am \ + install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-beagleHEADERS install-data \ + install-data-am install-data-hook install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-beagleHEADERS + +.PRECIOUS: Makefile + +pch: $(HEADERS) + rm -f Coev.hpp.gch + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) -x c++-header $(CXXFLAGS) -c -o Coev.hpp.gch Coev.hpp +install-data-hook: + if test -f Coev.hpp.gch; then $(INSTALL_DATA) Coev.hpp.gch $(DESTDIR)$(includedir)/Coev.hpp.gch; fi +clean-generic: + if test -f Coev.hpp.gch; then rm -f Coev.hpp.gch; fi + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/Coev/src/.deps/EvaluationOp.Plo b/lib/beagle-3.0.3/beagle/Coev/src/.deps/EvaluationOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/src/.deps/EvaluationOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/Coev/src/.deps/GPEvaluationOp.Plo b/lib/beagle-3.0.3/beagle/Coev/src/.deps/GPEvaluationOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/src/.deps/GPEvaluationOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/Coev/src/.deps/TermBroadcastOp.Plo b/lib/beagle-3.0.3/beagle/Coev/src/.deps/TermBroadcastOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/src/.deps/TermBroadcastOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/Coev/src/.deps/libbeagle-Coev.Plo b/lib/beagle-3.0.3/beagle/Coev/src/.deps/libbeagle-Coev.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/src/.deps/libbeagle-Coev.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/Coev/src/EvaluationOp.cpp b/lib/beagle-3.0.3/beagle/Coev/src/EvaluationOp.cpp new file mode 100644 index 0000000..ff60d73 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/src/EvaluationOp.cpp @@ -0,0 +1,328 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Coev/src/EvaluationOp.cpp + * \brief Source code of class Coev::EvaluationOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.18.2.1 $ + * $Date: 2007/05/09 01:51:01 $ + */ + +#include "beagle/Coev.hpp" + +#include + +using namespace Beagle; + + +/* + * Initialize static evaluation operator evaluation condition. + */ +PACC::Threading::Condition Coev::EvaluationOp::smCondition; + +/* + * Initialize static evaluation operator sets stack. + */ +Coev::EvaluationOp::EvalSetVector Coev::EvaluationOp::smEvalSets; + +/* + * Initialize static evaluation operator trigger. + */ +unsigned int Coev::EvaluationOp::smTrigger = 0; + + +/*! + * \brief Construct an evaluation set. + */ +Coev::EvaluationOp::EvalSet::EvalSet() : + mID(0) +{ } + + +/*! + * \brief Construct an evaluation set. + * \param inIndividuals Individual bag of the evaluation set. + * \param inContext Evolutionary context. + * \param inID ID of the evaluation set, for convenience purpuse, not used internally. + */ +Coev::EvaluationOp::EvalSet::EvalSet(Individual::Bag& inIndividuals, + Context::Handle inContext, + unsigned int inID) : + mIndividuals(inIndividuals), + mContext(inContext), + mID(inID) +{ } + + +/*! + * \brief Construct a co-evolutionary evaluation operator. + * \param inTrigger Number of sets to accumulate before triggering evaluation procedure. + * \param inName Name of the co-evolutionary evaluation operator. + */ +Coev::EvaluationOp::EvaluationOp(unsigned int inTrigger, Beagle::string inName) : + Beagle::EvaluationOp(inName) +{ + Beagle_StackTraceBeginM(); + smCondition.lock(); + if(smTrigger == 0) smTrigger = inTrigger; + else if(inTrigger != smTrigger) { + std::ostringstream lOSS; + lOSS << "trigger value given as argument to constructor of Coev::EvaluationOp ("; + lOSS << inTrigger << ") is different from the actual non-zero value of the trigger ("; + lOSS << smTrigger << ")!"; + smCondition.unlock(); + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + smCondition.unlock(); + Beagle_StackTraceEndM("Coev::EvaluationOp::EvaluationOp(unsigned int inTrigger, string inName)"); +} + + +/*! + * \brief Add evaluation set into shared structure. + * \param inEvalSet Evaluation set to add. + * \param inBlocking If true, the add set operation block until fitness evaluation is done. + */ +void Coev::EvaluationOp::addSet(EvalSet& inEvalSet, bool inBlocking) +{ + Beagle_StackTraceBeginM(); + smCondition.lock(); + if(smTrigger == 0) { + smCondition.unlock(); + throw Beagle_RunTimeExceptionM("co-evolution trigger value is zero!"); + } + if(smEvalSets.size() >= smTrigger) { + std::ostringstream lOSS; + lOSS << "number of evaluation sets in co-evolution evaluation operator ("; + lOSS << smEvalSets.size() << ") is equal or bigger than the trigger value ("; + lOSS << smTrigger << ")!"; + smCondition.unlock(); + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + // Add evaluation set + smEvalSets.push_back(inEvalSet); + // If all needed evaluation sets are added + if(smEvalSets.size() == smTrigger) { + evaluateSets(smEvalSets); + smEvalSets.clear(); + smCondition.broadcast(); + } + // Othewize, wait to get all needed evaluation sets + else if(inBlocking) { + smCondition.wait(); + } + smCondition.unlock(); + Beagle_StackTraceEndM("void Coev::EvaluationOp::addSet(EvalSet& inEvalSet, bool inBlocking)"); +} + + +/*! + * \brief Set fitness value of an individual. + * \param inFitness New fitness value of the individual. + * \param ioIndividual Individual which fitness value is set. + * \param ioContext Evolutionary context. + */ +void Coev::EvaluationOp::assignFitness(Fitness::Handle inFitness, + Individual& ioIndividual, + Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + ioIndividual.setFitness(inFitness); + inFitness->setValid(); + ioContext.setProcessedDeme(ioContext.getProcessedDeme()+1); + ioContext.setTotalProcessedDeme(ioContext.getTotalProcessedDeme()+1); + ioContext.setProcessedVivarium(ioContext.getProcessedVivarium()+1); + ioContext.setTotalProcessedVivarium(ioContext.getTotalProcessedVivarium()+1); + Beagle_StackTraceEndM("void Coev::EvaluationOp::assignFitness(Fitness::Handle inFitness, Individual& ioIndividual, Context& ioContext) const"); +} + + +/*! + * \brief Apply the evaluation operation on a breeding pool, returning a evaluated bred individual. + * \param inBreedingPool Breeding pool to use for the breeding operation. + * \param inChild Node handle associated to child node in the breeder tree. + * \param ioContext Evolutionary context of the breeding operation. + * \return Evaluated bred individual. + */ +Individual::Handle Coev::EvaluationOp::breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(inChild); + + Deme& lDeme = *ioContext.getDemeHandle(); + if(lDeme.getStats()->isValid()) { + ioContext.setProcessedDeme(0); + if((ioContext.getGeneration()!=0) && (lDeme.getStats()->existItem("total-processed"))) { + ioContext.setTotalProcessedDeme((unsigned int)lDeme.getStats()->getItem("total-processed")); + } + else ioContext.setTotalProcessedDeme(0); + lDeme.getStats()->setInvalid(); + + if(ioContext.getDemeIndex()==0) { + Stats& lVivaStats = *ioContext.getVivarium().getStats(); + ioContext.setProcessedVivarium(0); + if((ioContext.getGeneration()!=0) && (lVivaStats.existItem("total-processed"))) { + ioContext.setTotalProcessedVivarium((unsigned int)lVivaStats.getItem("total-processed")); + } + else ioContext.setTotalProcessedVivarium(0); + lVivaStats.setInvalid(); + } + } + + Beagle_NonNullPointerAssertM(inChild); + Beagle_NonNullPointerAssertM(inChild->getBreederOp()); + Individual::Handle lBredIndividual = + inChild->getBreederOp()->breed(inBreedingPool, inChild->getFirstChild(), ioContext); + + if((lBredIndividual->getFitness()==NULL) || (lBredIndividual->getFitness()->isValid()==false)) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::Coev::EvaluationOp", + "Evaluating the fitness of a new bred individual" + ); + + Individual::Bag lNonEvalIndiv; + lNonEvalIndiv.push_back(lBredIndividual); + Context::Handle lContext = &ioContext; + makeSets(lNonEvalIndiv, lContext); + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::Coev::EvaluationOp", + string("The individual fitness value is: ")+ + lBredIndividual->getFitness()->serialize() + ); + + if(mDemeHOFSize->getWrappedValue() > 0) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::Coev::EvaluationOp", + "Updating the deme hall-of-fame" + ); + lDeme.getHallOfFame().updateWithIndividual(mDemeHOFSize->getWrappedValue(), + *lBredIndividual, ioContext); + } + if(mVivaHOFSize->getWrappedValue() > 0) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::Coev::EvaluationOp", + "Updating the vivarium hall-of-fame" + ); + ioContext.getVivarium().getHallOfFame().updateWithIndividual(mVivaHOFSize->getWrappedValue(), + *lBredIndividual, ioContext); + } + } + + return lBredIndividual; + Beagle_StackTraceEndM("Individual::Handle Coev::EvaluationOp::breed(Individual::Bag& inBreedingPool, BreederNode::Handle inChild, Context& ioContext)"); +} + + +/*! + * \brief Evaluating an individual in co-evolution is not that simple. Define makeSets and + * evaluateSets methods instead. + */ +Fitness::Handle Coev::EvaluationOp::evaluate(Individual& inIndividual, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("evaluate","Coev::EvaluationOp",getName()); + Beagle_StackTraceEndM("Fitness::Handle Coev::EvaluationOp::evaluate(Individual& inIndividual, Context& ioContext)"); +} + + +/*! + * \brief Apply co-evolutionary evaluation operation on the deme. + * \param ioDeme Deme to evaluate fitness. + * \param ioContext Evolutionary context. + */ +void Coev::EvaluationOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::Coev::EvaluationOp", + string("Evaluating the individuals fitness of the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme in co-evolution mode" + ); + + ioContext.setProcessedDeme(0); + if((ioContext.getGeneration()!=0) && (ioDeme.getStats()->existItem("total-processed"))) { + ioContext.setTotalProcessedDeme((unsigned int)ioDeme.getStats()->getItem("total-processed")); + } + else ioContext.setTotalProcessedDeme(0); + ioDeme.getStats()->setInvalid(); + + if(ioContext.getDemeIndex()==0) { + Stats& lVivaStats = *ioContext.getVivarium().getStats(); + ioContext.setProcessedVivarium(0); + if((ioContext.getGeneration()!=0) && (lVivaStats.existItem("total-processed"))) { + ioContext.setTotalProcessedVivarium((unsigned int)lVivaStats.getItem("total-processed")); + } + else ioContext.setTotalProcessedVivarium(0); + lVivaStats.setInvalid(); + } + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::Coev::EvaluationOp", + string("Calling co-evolution evaluation hook for the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + + Context::Handle lContext = &ioContext; + makeSets(ioDeme, lContext); + + if(mDemeHOFSize->getWrappedValue() > 0) { + Beagle_LogDetailedM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::Coev::EvaluationOp", + "Updating the deme's hall-of-fame" + ); + ioDeme.getHallOfFame().updateWithDeme(mDemeHOFSize->getWrappedValue(), ioDeme, ioContext); + ioDeme.getHallOfFame().log(Logger::eVerbose, ioContext); + } + + if(mVivaHOFSize->getWrappedValue() > 0) { + Beagle_LogDetailedM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::Coev::EvaluationOp", + "Updating the vivarium's hall-of-fame" + ); + ioContext.getVivarium().getHallOfFame().updateWithDeme(mVivaHOFSize->getWrappedValue(), + ioDeme, ioContext); + ioContext.getVivarium().getHallOfFame().log(Logger::eVerbose, ioContext); + } + Beagle_StackTraceEndM("void Coev::EvaluationOp::operate(Deme& ioDeme, Context& ioContext)"); +} + + + + + diff --git a/lib/beagle-3.0.3/beagle/Coev/src/GPEvaluationOp.cpp b/lib/beagle-3.0.3/beagle/Coev/src/GPEvaluationOp.cpp new file mode 100644 index 0000000..a53bb95 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/src/GPEvaluationOp.cpp @@ -0,0 +1,89 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Coev/src/GPEvaluationOp.cpp + * \brief Source code of class Coev::GPEvaluationOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:01 $ + */ + +#include "beagle/Coev.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a co-evolutionary GP evaluation operator. + * \param inTrigger Number of sets to accumulate before triggering evaluation procedure. + * \param inName Name of the co-evolutionary GP evaluation operator. + */ +Coev::GPEvaluationOp::GPEvaluationOp(unsigned int inTrigger, Beagle::string inName) : + Beagle::Coev::EvaluationOp(inTrigger, inName) +{ } + + +/*! + * \brief Set the value of the named GP primitive of the primitive sets. + * \param inName Name of the variable to set. + * \param inValue Value of the primitive. + * \param ioContext Context of the evaluation. + * \throw Beagle::RunTimeException If the named primitive is not found in any sets. + */ +void Coev::GPEvaluationOp::setValue(Beagle::string inName, + const Object& inValue, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + GP::PrimitiveSuperSet& lSuperSet = ioContext.getSystem().getPrimitiveSuperSet(); + bool lValueFound = false; + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::GP::EvaluationOp", + string("Setting the primitives named \"")+inName+ + string("\" to the value: ")+inValue.serialize() + ); + for(unsigned int i=0; igetPrimitiveByName(inName); + if(!lPrimitive) continue; + lValueFound = true; + lPrimitive->setValue(inValue); + } + if(lValueFound == false) { + string lMessage = "The primitive named \""; + lMessage += inName; + lMessage += "\" was not found in any "; + lMessage += "of the primitive sets. Maybe the primitive was not properly inserted "; + lMessage += "or the name is mispelled."; + throw Beagle_RunTimeExceptionM(lMessage); + } + Beagle_StackTraceEndM("void Coev::GPEvaluationOp::setValue(string inName, const Object& inValue, GP::Context& ioContext) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/Coev/src/Makefile b/lib/beagle-3.0.3/beagle/Coev/src/Makefile new file mode 100644 index 0000000..5163403 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/src/Makefile @@ -0,0 +1,743 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/Coev/src/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/Coev/src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libbeagle_Coev_la_DEPENDENCIES = \ + $(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ + $(top_srcdir)/beagle/GA/src/libbeagle-GA.la \ + $(top_srcdir)/beagle/src/libbeagle.la \ + $(top_srcdir)/PACC/Threading/libpacc-threading.la \ + $(top_srcdir)/PACC/Math/libpacc-math.la \ + $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la +am__libbeagle_Coev_la_SOURCES_DIST = EvaluationOp.cpp \ + GPEvaluationOp.cpp TermBroadcastOp.cpp +am__objects_1 = EvaluationOp.lo GPEvaluationOp.lo TermBroadcastOp.lo +#am_libbeagle_Coev_la_OBJECTS = \ +# $(am__objects_1) +nodist_libbeagle_Coev_la_OBJECTS = \ + libbeagle-Coev.lo +libbeagle_Coev_la_OBJECTS = $(am_libbeagle_Coev_la_OBJECTS) \ + $(nodist_libbeagle_Coev_la_OBJECTS) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +libbeagle_Coev_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libbeagle_Coev_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/EvaluationOp.Plo \ + ./$(DEPDIR)/GPEvaluationOp.Plo ./$(DEPDIR)/TermBroadcastOp.Plo \ + ./$(DEPDIR)/libbeagle-Coev.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libbeagle_Coev_la_SOURCES) \ + $(nodist_libbeagle_Coev_la_SOURCES) +DIST_SOURCES = $(am__libbeagle_Coev_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/Coev/src +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/Coev/src +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../ +top_builddir = ../../.. +top_srcdir = ../../.. +BEAGLE_COEV_SRC_VAR = \ +EvaluationOp.cpp \ +GPEvaluationOp.cpp \ +TermBroadcastOp.cpp + +lib_LTLIBRARIES = libbeagle-Coev.la +INCLUDES = \ +-I$(top_srcdir)/PACC \ +-I$(top_srcdir)/beagle/include \ +-I$(top_srcdir)/beagle/GA/include \ +-I$(top_srcdir)/beagle/GP/include \ +-I$(top_srcdir)/beagle/Coev/include + +libbeagle_Coev_la_LIBADD = \ +$(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +$(top_srcdir)/beagle/GA/src/libbeagle-GA.la \ +$(top_srcdir)/beagle/src/libbeagle.la \ +$(top_srcdir)/PACC/Threading/libpacc-threading.la \ +$(top_srcdir)/PACC/Math/libpacc-math.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la + +libbeagle_Coev_la_LDFLAGS = -no-undefined -release 3.0.3 +nodist_libbeagle_Coev_la_SOURCES = libbeagle-Coev.cpp +#libbeagle_Coev_la_SOURCES = $(BEAGLE_COEV_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/Coev/src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/Coev/src/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libbeagle-Coev.la: $(libbeagle_Coev_la_OBJECTS) $(libbeagle_Coev_la_DEPENDENCIES) $(EXTRA_libbeagle_Coev_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libbeagle_Coev_la_LINK) -rpath $(libdir) $(libbeagle_Coev_la_OBJECTS) $(libbeagle_Coev_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/EvaluationOp.Plo # am--include-marker +include ./$(DEPDIR)/GPEvaluationOp.Plo # am--include-marker +include ./$(DEPDIR)/TermBroadcastOp.Plo # am--include-marker +include ./$(DEPDIR)/libbeagle-Coev.Plo # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(libdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +#clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/EvaluationOp.Plo + -rm -f ./$(DEPDIR)/GPEvaluationOp.Plo + -rm -f ./$(DEPDIR)/TermBroadcastOp.Plo + -rm -f ./$(DEPDIR)/libbeagle-Coev.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/EvaluationOp.Plo + -rm -f ./$(DEPDIR)/GPEvaluationOp.Plo + -rm -f ./$(DEPDIR)/TermBroadcastOp.Plo + -rm -f ./$(DEPDIR)/libbeagle-Coev.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES + +.PRECIOUS: Makefile + +libbeagle-Coev.cpp: + rm -f libbeagle-Coev.cpp + echo "// Generated automatically by make" > libbeagle-Coev.cpp + echo >> libbeagle-Coev.cpp + echo $(BEAGLE_COEV_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libbeagle-Coev.cpp + +clean-generic: + rm -f libbeagle-Coev.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/Coev/src/Makefile.am b/lib/beagle-3.0.3/beagle/Coev/src/Makefile.am new file mode 100644 index 0000000..4a563ca --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/src/Makefile.am @@ -0,0 +1,34 @@ +BEAGLE_COEV_SRC_VAR = \ +EvaluationOp.cpp \ +GPEvaluationOp.cpp \ +TermBroadcastOp.cpp +lib_LTLIBRARIES = libbeagle-Coev.la +INCLUDES = \ +-I$(top_srcdir)/PACC \ +-I$(top_srcdir)/beagle/include \ +-I$(top_srcdir)/beagle/GA/include \ +-I$(top_srcdir)/beagle/GP/include \ +-I$(top_srcdir)/beagle/Coev/include +libbeagle_Coev_la_LIBADD = \ +$(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +$(top_srcdir)/beagle/GA/src/libbeagle-GA.la \ +$(top_srcdir)/beagle/src/libbeagle.la \ +$(top_srcdir)/PACC/Threading/libpacc-threading.la \ +$(top_srcdir)/PACC/Math/libpacc-math.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la +libbeagle_Coev_la_LDFLAGS = -no-undefined -release @VERSION@ +if FAST_COMPILATION +libbeagle-Coev.cpp: + rm -f libbeagle-Coev.cpp + echo "// Generated automatically by make" > libbeagle-Coev.cpp + echo >> libbeagle-Coev.cpp + echo $(BEAGLE_COEV_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libbeagle-Coev.cpp + +clean-generic: + rm -f libbeagle-Coev.cpp + +nodist_libbeagle_Coev_la_SOURCES = libbeagle-Coev.cpp +else +libbeagle_Coev_la_SOURCES = $(BEAGLE_COEV_SRC_VAR) +endif diff --git a/lib/beagle-3.0.3/beagle/Coev/src/Makefile.in b/lib/beagle-3.0.3/beagle/Coev/src/Makefile.in new file mode 100644 index 0000000..0597c2b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/src/Makefile.in @@ -0,0 +1,743 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/Coev/src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libbeagle_Coev_la_DEPENDENCIES = \ + $(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ + $(top_srcdir)/beagle/GA/src/libbeagle-GA.la \ + $(top_srcdir)/beagle/src/libbeagle.la \ + $(top_srcdir)/PACC/Threading/libpacc-threading.la \ + $(top_srcdir)/PACC/Math/libpacc-math.la \ + $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la +am__libbeagle_Coev_la_SOURCES_DIST = EvaluationOp.cpp \ + GPEvaluationOp.cpp TermBroadcastOp.cpp +am__objects_1 = EvaluationOp.lo GPEvaluationOp.lo TermBroadcastOp.lo +@FAST_COMPILATION_FALSE@am_libbeagle_Coev_la_OBJECTS = \ +@FAST_COMPILATION_FALSE@ $(am__objects_1) +@FAST_COMPILATION_TRUE@nodist_libbeagle_Coev_la_OBJECTS = \ +@FAST_COMPILATION_TRUE@ libbeagle-Coev.lo +libbeagle_Coev_la_OBJECTS = $(am_libbeagle_Coev_la_OBJECTS) \ + $(nodist_libbeagle_Coev_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libbeagle_Coev_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libbeagle_Coev_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/EvaluationOp.Plo \ + ./$(DEPDIR)/GPEvaluationOp.Plo ./$(DEPDIR)/TermBroadcastOp.Plo \ + ./$(DEPDIR)/libbeagle-Coev.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libbeagle_Coev_la_SOURCES) \ + $(nodist_libbeagle_Coev_la_SOURCES) +DIST_SOURCES = $(am__libbeagle_Coev_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +BEAGLE_COEV_SRC_VAR = \ +EvaluationOp.cpp \ +GPEvaluationOp.cpp \ +TermBroadcastOp.cpp + +lib_LTLIBRARIES = libbeagle-Coev.la +INCLUDES = \ +-I$(top_srcdir)/PACC \ +-I$(top_srcdir)/beagle/include \ +-I$(top_srcdir)/beagle/GA/include \ +-I$(top_srcdir)/beagle/GP/include \ +-I$(top_srcdir)/beagle/Coev/include + +libbeagle_Coev_la_LIBADD = \ +$(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +$(top_srcdir)/beagle/GA/src/libbeagle-GA.la \ +$(top_srcdir)/beagle/src/libbeagle.la \ +$(top_srcdir)/PACC/Threading/libpacc-threading.la \ +$(top_srcdir)/PACC/Math/libpacc-math.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la + +libbeagle_Coev_la_LDFLAGS = -no-undefined -release @VERSION@ +@FAST_COMPILATION_TRUE@nodist_libbeagle_Coev_la_SOURCES = libbeagle-Coev.cpp +@FAST_COMPILATION_FALSE@libbeagle_Coev_la_SOURCES = $(BEAGLE_COEV_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/Coev/src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/Coev/src/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libbeagle-Coev.la: $(libbeagle_Coev_la_OBJECTS) $(libbeagle_Coev_la_DEPENDENCIES) $(EXTRA_libbeagle_Coev_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libbeagle_Coev_la_LINK) -rpath $(libdir) $(libbeagle_Coev_la_OBJECTS) $(libbeagle_Coev_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EvaluationOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GPEvaluationOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TermBroadcastOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libbeagle-Coev.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(libdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +@FAST_COMPILATION_FALSE@clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/EvaluationOp.Plo + -rm -f ./$(DEPDIR)/GPEvaluationOp.Plo + -rm -f ./$(DEPDIR)/TermBroadcastOp.Plo + -rm -f ./$(DEPDIR)/libbeagle-Coev.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/EvaluationOp.Plo + -rm -f ./$(DEPDIR)/GPEvaluationOp.Plo + -rm -f ./$(DEPDIR)/TermBroadcastOp.Plo + -rm -f ./$(DEPDIR)/libbeagle-Coev.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES + +.PRECIOUS: Makefile + +@FAST_COMPILATION_TRUE@libbeagle-Coev.cpp: +@FAST_COMPILATION_TRUE@ rm -f libbeagle-Coev.cpp +@FAST_COMPILATION_TRUE@ echo "// Generated automatically by make" > libbeagle-Coev.cpp +@FAST_COMPILATION_TRUE@ echo >> libbeagle-Coev.cpp +@FAST_COMPILATION_TRUE@ echo $(BEAGLE_COEV_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libbeagle-Coev.cpp + +@FAST_COMPILATION_TRUE@clean-generic: +@FAST_COMPILATION_TRUE@ rm -f libbeagle-Coev.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/Coev/src/TermBroadcastOp.cpp b/lib/beagle-3.0.3/beagle/Coev/src/TermBroadcastOp.cpp new file mode 100644 index 0000000..7c76a48 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Coev/src/TermBroadcastOp.cpp @@ -0,0 +1,123 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Coev/src/TermBroadcastOp.cpp + * \brief Source code of class TermBroadcastOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:01 $ + */ + +#include "beagle/Coev.hpp" + +using namespace Beagle; + + +/* + * Initialize condition for synchronizing threads termination. + */ +PACC::Threading::Condition Coev::TermBroadcastOp::smCondition; + + +/* + * Initialize actual number of threads locked on condition. + */ +unsigned int Coev::TermBroadcastOp::smTrigger(0); + +/* + * Initialize number of threads involved in co-evolution. + */ +unsigned int Coev::TermBroadcastOp::smNbrThreads(0); + + +/* + * Initialize stopping criterion. + */ +bool Coev::TermBroadcastOp::smTermReached(false); + + +/*! + * \brief Construct a co-evolution broadcast termination stop operator. + * \param inName Name of the operator. + */ +Coev::TermBroadcastOp::TermBroadcastOp(Beagle::string inName) : + TerminationOp(inName) +{ } + + +/*! + * \brief Initialize the maximum fitness value termination operator. + * \param ioSystem System to use to initialize the operator. + */ +void Coev::TermBroadcastOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle::TerminationOp::initialize(ioSystem); + smCondition.lock(); + ++smNbrThreads; + smCondition.unlock(); + Beagle_StackTraceEndM("void Coev::TermBroadcastOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Broadcast and receive termination criterion value along the running threads. + * \param inDeme Actual deme of the evolution. + * \param ioContext Actual evolution context. + * \return True if the ending criterion is broadcasted, false if not. + */ +bool Coev::TermBroadcastOp::terminate(const Deme& inDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + smCondition.lock(); + if(ioContext.getContinueFlag() == false) smTermReached = true; + if(++smTrigger == smNbrThreads) smCondition.broadcast(); + else smCondition.wait(); + bool lTermReached = smTermReached; + if(--smTrigger == 0) smTermReached = false; + smCondition.unlock(); + + if(lTermReached) { + Beagle_LogInfoM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermBroadcastOp", + string("Termination criterion broadcasted/received") + ); + } + else { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermBroadcastOp", + string("No termination criterion broadcasted") + ); + } + return lTermReached; + Beagle_StackTraceEndM("bool Coev::TermBroadcastOp::terminate(const Deme& inDeme, Context& ioContext)"); +} + + diff --git a/lib/beagle-3.0.3/beagle/GA/Makefile b/lib/beagle-3.0.3/beagle/GA/Makefile new file mode 100644 index 0000000..7701863 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/Makefile @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/GA/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/GA +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GA +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GA +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +SUBDIRS = include src +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GA/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GA/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GA/Makefile.am b/lib/beagle-3.0.3/beagle/GA/Makefile.am new file mode 100644 index 0000000..c74acb4 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = include src diff --git a/lib/beagle-3.0.3/beagle/GA/Makefile.in b/lib/beagle-3.0.3/beagle/GA/Makefile.in new file mode 100644 index 0000000..484c982 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/Makefile.in @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/GA +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = include src +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GA/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GA/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GA/include/Makefile b/lib/beagle-3.0.3/beagle/GA/include/Makefile new file mode 100644 index 0000000..00bf93e --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/Makefile @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/GA/include/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/GA/include +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GA/include +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GA/include +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../ +top_builddir = ../../.. +top_srcdir = ../../.. +SUBDIRS = beagle +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GA/include/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GA/include/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GA/include/Makefile.am b/lib/beagle-3.0.3/beagle/GA/include/Makefile.am new file mode 100644 index 0000000..3d73293 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/Makefile.am @@ -0,0 +1,4 @@ +SUBDIRS = beagle + + + diff --git a/lib/beagle-3.0.3/beagle/GA/include/Makefile.in b/lib/beagle-3.0.3/beagle/GA/include/Makefile.in new file mode 100644 index 0000000..15d4b32 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/Makefile.in @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/GA/include +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = beagle +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GA/include/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GA/include/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA.hpp new file mode 100644 index 0000000..721d217 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA.hpp @@ -0,0 +1,111 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA.hpp + * \brief File to include to import all the GA specific Beagle classes. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.21.2.2 $ + * $Date: 2007/05/11 19:13:08 $ + */ + +/*! + * \namespace Beagle::GA + * \brief Namespace of all the classes of the Open Beagle GA framework. + * \ingroup GAF + */ + +/*! + * \defgroup GAF GA Framework + * \brief Specialized framework for genetic algorithms. + * + * Genetic algorithm framework encompass all the vector-based representations of + * fixed and variable length. This actually includes three representations: + * classical bitstring GA, real-valued GA and evolution strategy (even if historically + * this is a distinct EC flavor). Several generic crossover operators are defined as + * template, with class instantiation for the three actual representations. An evolver is + * also defined for each representation. The framework is defined to be the futur repository + * of linear EC representation, except those related to linear GP, which will belong to a different + * framework. + * + */ + +#ifndef Beagle_GA_hpp +#define Beagle_GA_hpp + + +// Beagle generic components + +#include "beagle/Beagle.hpp" + +// GA framework + +#include "beagle/GA/BitString.hpp" +#include "beagle/GA/CMAHolder.hpp" +#include "beagle/GA/FloatVector.hpp" +#include "beagle/GA/ESVector.hpp" +#include "beagle/GA/IntegerVector.hpp" +#include "beagle/GA/CrossoverBlendESVecOp.hpp" +#include "beagle/GA/CrossoverBlendFltVecOp.hpp" +#include "beagle/GA/CrossoverIndicesIntVecOp.hpp" +#include "beagle/GA/CrossoverOnePointBitStrOp.hpp" +#include "beagle/GA/CrossoverOnePointESVecOp.hpp" +#include "beagle/GA/CrossoverOnePointFltVecOp.hpp" +#include "beagle/GA/CrossoverOnePointIntVecOp.hpp" +#include "beagle/GA/CrossoverOnePointOpT.hpp" +#include "beagle/GA/CrossoverSBXFltVecOp.hpp" +#include "beagle/GA/CrossoverTwoPointsBitStrOp.hpp" +#include "beagle/GA/CrossoverTwoPointsESVecOp.hpp" +#include "beagle/GA/CrossoverTwoPointsFltVecOp.hpp" +#include "beagle/GA/CrossoverTwoPointsIntVecOp.hpp" +#include "beagle/GA/CrossoverTwoPointsOpT.hpp" +#include "beagle/GA/CrossoverUniformBitStrOp.hpp" +#include "beagle/GA/CrossoverUniformESVecOp.hpp" +#include "beagle/GA/CrossoverUniformFltVecOp.hpp" +#include "beagle/GA/CrossoverUniformIntVecOp.hpp" +#include "beagle/GA/CrossoverUniformOpT.hpp" +#include "beagle/GA/InitBitStrOp.hpp" +#include "beagle/GA/InitCMAFltVecOp.hpp" +#include "beagle/GA/InitESVecOp.hpp" +#include "beagle/GA/InitFltVecOp.hpp" +#include "beagle/GA/InitIndicesIntVecOp.hpp" +#include "beagle/GA/InitIntVecOp.hpp" +#include "beagle/GA/MutationCMAFltVecOp.hpp" +#include "beagle/GA/MutationFlipBitStrOp.hpp" +#include "beagle/GA/MutationGaussianFltVecOp.hpp" +#include "beagle/GA/MutationESVecOp.hpp" +#include "beagle/GA/MutationShuffleIntVecOp.hpp" +#include "beagle/GA/MutationUniformIntVecOp.hpp" +#include "beagle/GA/MuWCommaLambdaCMAFltVecOp.hpp" +#include "beagle/GA/TermCMAOp.hpp" +#include "beagle/GA/EvolverBitString.hpp" +#include "beagle/GA/EvolverES.hpp" +#include "beagle/GA/EvolverFloatVector.hpp" +#include "beagle/GA/EvolverIntegerVector.hpp" + +#endif // Beagle_GA_hpp + diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/BitString.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/BitString.hpp new file mode 100644 index 0000000..dd65421 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/BitString.hpp @@ -0,0 +1,135 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/BitString.hpp + * \brief Definition of the type GA::BitString. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:01 $ + */ + +/*! + * \defgroup GABS Bit string GA + * \ingroup GAF + * \brief Bit string GA representation, operators and evolvers, part of the GA framework. + */ + +#ifndef Beagle_GA_BitString_hpp +#define Beagle_GA_BitString_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Genotype.hpp" + + +namespace Beagle { +namespace GA { + +/*! + * \class BitString beagle/GA/BitString.hpp "beagle/GA/BitString.hpp" + * \brief Bit string GA genotype class. + * \ingroup GAF + * \ingroup GABS + */ +class BitString : public Genotype, + public std::vector< bool,BEAGLE_STLALLOCATOR > { + +public: + + /*! + * \struct DecodingKey beagle/GA/BitString.hpp "beagle/GA/BitString.hpp" + * \brief Decoding key to tranform a bit string genotype into a vector of numbers. + */ + struct DecodingKey { + double mLowerBound; //!< Lower bound of the encoded value. + double mUpperBound; //!< Upper bound of the encoded value. + unsigned int mEncoding; //!< Encoding of the value, in bits. + + /*! + * \brief Construct a decoding key. + * \param inLowerBound Lower bound of the encoded value. + * \param inUpperBound Upper bound of the encoded value. + * \param inEncoding Encoding of the value (in bits). + */ + DecodingKey(double inLowerBound=0.0, + double inUpperBound=1.0, + unsigned int inEncoding=1) : + mLowerBound(inLowerBound), + mUpperBound(inUpperBound), + mEncoding(inEncoding) + { } + }; + + //!< Decoding key vector. + typedef std::vector< GA::BitString::DecodingKey,BEAGLE_STLALLOCATOR > + DecodingKeyVector; + + //! BitString allocator type. + typedef AllocatorT + Alloc; + //! BitString handle type. + typedef PointerT + Handle; + //! BitString bag type. + typedef ContainerT + Bag; + + explicit BitString(unsigned int inSize=0, bool inModel=false); + virtual ~BitString() { } + + void decode(const DecodingKeyVector& inKeys, + std::vector< double,BEAGLE_STLALLOCATOR >& outVector) const; + void decodeGray(const DecodingKeyVector& inKeys, + std::vector< double,BEAGLE_STLALLOCATOR >& outVector) const; + virtual unsigned int getSize() const; + virtual bool isEqual(const Object& inRightObj) const; + virtual bool isLess(const Object& inRightObj) const; + virtual void readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + void convertBin2Dec(const DecodingKeyVector& inKeys, + const std::vector< bool,BEAGLE_STLALLOCATOR >& inBitString, + std::vector< double,BEAGLE_STLALLOCATOR >& outVector) const; + void convertGray2Bin(const DecodingKeyVector& inKeys, + const std::vector< bool,BEAGLE_STLALLOCATOR >& inGrayBitString, + std::vector< bool,BEAGLE_STLALLOCATOR >& outBinBitString) const; + +}; + +} +} + +#endif // Beagle_GA_BitString_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CMAHolder.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CMAHolder.hpp new file mode 100644 index 0000000..ae0e66e --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CMAHolder.hpp @@ -0,0 +1,108 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CMAHolder.hpp + * \brief Definition of the class GA::CMAHolder. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.4.2.2 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef Beagle_GA_CMAHolder_hpp +#define Beagle_GA_CMAHolder_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Component.hpp" + + +namespace Beagle { +namespace GA { + + +/*! + * \struct CMAValues + * \brief CMA-ES matrices and vector values. + * \ingroup GAF + * \ingroup GAFV + */ +struct CMAValues { + Matrix mB; //!< CMA-ES B matrix. + Vector mD; //!< CMA-ES D matrix. + Vector mPC; //!< CMA-ES P_c cumulation path. + Vector mPS; //!< CMA-ES P_s cumulation path. + Vector mXmean; //!< Mean float vector individual. + Double mSigma; //!< CMA-ES sigma value. + + CMAValues() { } +}; + + +/*! + * \class CMAHolder beagle/GA/CMAHolder.hpp "beagle/GA/CMAHolder.hpp" + * \brief CMA-ES matrices and vector holder. + * \ingroup GAF + * \ingroup GAFV + * + * The CMAHolder system component hold the global CMA-ES matrices and vectors used by the + * evolutionnary optimization process. + * + * Reference: Hansen, N. and Ostermeier, A. (2001). Completely Derandomized Self-Adaptation + * in Evolution Strategies. Evolutionary Computation, 9(2), pp. 159-195. + * See also: http://www.bionik.tu-berlin.de/user/niko/cmaes_inmatlab.html + */ +class CMAHolder : public Beagle::Component, + public std::map< unsigned int,Beagle::GA::CMAValues,std::less > { + +public: + + //! GA::CMAHolder allocator type. + typedef AllocatorT + Alloc; + //! GA::CMAHolder handle type. + typedef PointerT + Handle; + //! GA::CMAHolder bag type. + typedef ContainerT + Bag; + + explicit CMAHolder(); + virtual ~CMAHolder() { } + + virtual void readWithSystem(PACC::XML::ConstIterator inIter, System& ioSystem); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +}; + +} +} + +#endif // Beagle_GA_CMAHolder_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverBlendESVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverBlendESVecOp.hpp new file mode 100644 index 0000000..ef177f3 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverBlendESVecOp.hpp @@ -0,0 +1,104 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverBlendESVecOp.hpp + * \brief Definition of the class GA::CrossoverBlendESVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:01 $ + */ + +#ifndef Beagle_GA_CrossoverBlendESVecOp_hpp +#define Beagle_GA_CrossoverBlendESVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverBlendESVecOp beagle/GA/CrossoverBlendESVecOp.hpp + * "beagle/GA/CrossoverBlendESVecOp.hpp" + * \brief ES blend crossover operator class. + * \ingroup GAF + * \ingroup GAES + * + * Real-valued ES blend crossover (BLX-alpha) proceed by blending two ES individuals, + * with values \f$(x^{(1,t)},x^{(2,t)})\f$ and strategy parameters \f$(s^{(1,t)},s^{(2,t)})\f$, + * using a parameter \f$\alpha\in[0,1]\f$. The resulting children \f$(x^{(1,t+1)},x^{(2,t+1)})\f$ + * are equal to \f$x^{(1,t+1)}_i=(1-\gamma^x_i) x^{(1,t)}_i+\gamma^x_i x^{(2,t)}_i\f$, + * \f$x^{(2,t+1)}_i=\gamma^x_i x^{(1,t)}_i+(1-\gamma^x_i) x^{(2,t)}_i\f$, + * \f$s^{(1,t+1)}_i=(1-\gamma^s_i) s^{(1,t)}_i+\gamma^s_i s^{(2,t)}_i\f$, and + * \f$s^{(2,t+1)}_i=\gamma^s_i s^{(1,t)}_i+(1-\gamma^s_i) s^{(2,t)}_i\f$, + * where \f$u^x_i\in[0,1]\f$ and \f$u^s_i\in[0,1]\f$ are a random value, + * \f$\gamma^x_i=(1 + 2\alpha)u^x_i-\alpha\f$, and \f$\gamma^s_i=(1 + 2\alpha)u^s_i-\alpha\f$ . + * + * This crossover operation consists in generating two children that depends on the + * difference between the parents individuals. + * + */ +class CrossoverBlendESVecOp : public CrossoverOp { + +public: + + //! GA::CrossoverBlendESVecOp allocator type. + typedef AllocatorT + Alloc; + //! GA::CrossoverBlendESVecOp handle type. + typedef PointerT + Handle; + //! GA::CrossoverBlendESVecOp bag type. + typedef ContainerT + Bag; + + explicit CrossoverBlendESVecOp(string inMatingPbName="es.cxblend.prob", + string inName="GA-CrossoverBlendESVecOp"); + virtual ~CrossoverBlendESVecOp() { } + + virtual void initialize(System& ioSystem); + virtual bool mate(Individual& ioIndiv1, Context& ioContext1, + Individual& ioIndiv2, Context& ioContext2); + +protected: + + DoubleArray::Handle mMaxValue; //!< Maximum of ES vector values. + DoubleArray::Handle mMinValue; //!< Minimum of ES vector values. + Double::Handle mAlpha; //!< Blend crossover alpha parameter. + +}; + +} +} + + +#endif // Beagle_GA_CrossoverBlendESVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverBlendFltVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverBlendFltVecOp.hpp new file mode 100644 index 0000000..bd06352 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverBlendFltVecOp.hpp @@ -0,0 +1,102 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverBlendFltVecOp.hpp + * \brief Definition of the class GA::CrossoverBlendFltVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.12.2.1 $ + * $Date: 2007/05/09 01:51:01 $ + */ + +#ifndef Beagle_GA_CrossoverBlendFltVecOp_hpp +#define Beagle_GA_CrossoverBlendFltVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverBlendFltVecOp beagle/GA/CrossoverBlendFltVecOp.hpp + * "beagle/GA/CrossoverBlendFltVecOp.hpp" + * \brief Real-valued GA blend crossover (BLX-alpha) operator class. + * \ingroup GAF + * \ingroup GAFV + * + * Real-valued GA blend crossover (BLX-alpha) proceed by blending two float vectors, + * \f$(x^{(1,t)},x^{(2,t)})\f$, using a parameter \f$\alpha\in[0,1]\f$. + * The resulting children \f$(x^{(1,t+1)},x^{(2,t+1)})\f$ are equal to + * \f$x^{(1,t+1)}_i=(1-\gamma_i) x^{(1,t)}_i+\gamma_i x^{(2,t)}_i\f$ and + * \f$x^{(2,t+1)}_i=\gamma_i x^{(1,t)}_i+(1-\gamma_i) x^{(2,t)}_i\f$, where + * \f$u_i\in[0,1]\f$ is a random value and \f$\gamma_i=(1 + 2\alpha)u_i-\alpha\f$. + * + * This crossover operation consists in generating two children that depends on the + * difference between the parents individuals. + * + */ +class CrossoverBlendFltVecOp : public CrossoverOp { + +public: + + //! GA::CrossoverBlendFltVecOp allocator type. + typedef AllocatorT + Alloc; + //! GA::CrossoverBlendFltVecOp handle type. + typedef PointerT + Handle; + //! GA::CrossoverBlendFltVecOp bag type. + typedef ContainerT + Bag; + + explicit CrossoverBlendFltVecOp(string inMatingPbName="ga.cxblend.prob", + string inName="GA-CrossoverBlendFltVecOp"); + virtual ~CrossoverBlendFltVecOp() { } + + virtual void initialize(System& ioSystem); + virtual bool mate(Individual& ioIndiv1, Context& ioContext1, + Individual& ioIndiv2, Context& ioContext2); + +protected: + + DoubleArray::Handle mMaxValue; //!< Max value of GA float vectors. + DoubleArray::Handle mMinValue; //!< Min value of GA float vectors. + DoubleArray::Handle mIncValue; //!< Increment of valid value of GA float vectors. + Double::Handle mAlpha; //!< Blend crossover alpha parameter. + +}; + +} +} + + +#endif // Beagle_GA_CrossoverBlendFltVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverIndicesIntVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverIndicesIntVecOp.hpp new file mode 100644 index 0000000..073ca2f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverIndicesIntVecOp.hpp @@ -0,0 +1,83 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverIndicesIntVecOp.hpp + * \brief Definition of the class GA::CrossoverIndicesIntVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.2.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverIndicesIntVecOp_hpp +#define Beagle_GA_CrossoverIndicesIntVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverIndicesIntVecOp beagle/GA/CrossoverIndicesIntVecOp.hpp + * "beagle/GA/CrossoverIndicesIntVecOp.hpp" + * \brief Indices integer vector GA crossover operator class. + * \ingroup GAF + * \ingroup GAIV + */ +class CrossoverIndicesIntVecOp : public CrossoverOp { + +public: + + //! GA::CrossoverIndicesIntVecOp allocator type. + typedef AllocatorT + Alloc; + //! GA::CrossoverIndicesIntVecOp handle type. + typedef PointerT + Handle; + //! GA::CrossoverIndicesIntVecOp bag type. + typedef ContainerT + Bag; + + explicit CrossoverIndicesIntVecOp(string inMatingPbName="ga.cxind.prob", + string inName="GA-CrossoverIndicesIntVecOp"); + virtual ~CrossoverIndicesIntVecOp() { } + + virtual void initialize(System& ioSystem); + virtual bool mate(Individual& ioIndiv1, Context& ioContext1, + Individual& ioIndiv2, Context& ioContext2); + +}; + +} +} + +#endif // Beagle_GA_CrossoverIndicesIntVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverOnePointBitStrOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverOnePointBitStrOp.hpp new file mode 100644 index 0000000..a9b4c2b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverOnePointBitStrOp.hpp @@ -0,0 +1,89 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverOnePointBitStrOp.hpp + * \brief Definition of the class GA::CrossoverOnePointBitStrOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverOnePointBitStrOp_hpp +#define Beagle_GA_CrossoverOnePointBitStrOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/GA/CrossoverOnePointOpT.hpp" +#include "beagle/GA/BitString.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverOnePointBitStrOp beagle/GA/CrossoverOnePointBitStrOp.hpp + * "beagle/GA/CrossoverOnePointBitStrOp.hpp" + * \brief Bit string GA one point crossover operator class. + * \ingroup GAF + * \ingroup GABS + */ +class CrossoverOnePointBitStrOp : public GA::CrossoverOnePointOpT { + +public: + + //! GA::CrossoverOnePointBitStrOp allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! GA::CrossoverOnePointBitStrOp handle type. + typedef PointerT::Handle> + Handle; + //! GA::CrossoverOnePointBitStrOp bag type. + typedef ContainerT::Bag> + Bag; + + /*! + * \brief Construct bit string GA one point crossover operator. + * \param inMatingPbName Name of the mating probability parameter used in the register. + * \param inName Name of the bit string GA one point crossover operator. + */ + explicit CrossoverOnePointBitStrOp(string inMatingPbName="ga.cx1p.prob", + string inName="GA-CrossoverOnePointBitStrOp") : + GA::CrossoverOnePointOpT(inMatingPbName, inName) + { } + + virtual ~CrossoverOnePointBitStrOp() { } + +}; + +} +} + +#endif // Beagle_GA_CrossoverOnePointBitStrOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverOnePointESVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverOnePointESVecOp.hpp new file mode 100644 index 0000000..ea67a22 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverOnePointESVecOp.hpp @@ -0,0 +1,89 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverOnePointESVecOp.hpp + * \brief Definition of the class GA::CrossoverOnePointESVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverOnePointESVecOp_hpp +#define Beagle_GA_CrossoverOnePointESVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/GA/CrossoverOnePointOpT.hpp" +#include "beagle/GA/ESVector.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverOnePointESVecOp beagle/GA/CrossoverOnePointESVecOp.hpp + * "beagle/GA/CrossoverOnePointESVecOp.hpp" + * \brief Evolution strategy one point crossover operator class. + * \ingroup GAF + * \ingroup GAES + */ +class CrossoverOnePointESVecOp : public GA::CrossoverOnePointOpT { + +public: + + //! GA::CrossoverOnePointESVecOp allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! GA::CrossoverOnePointESVecOp handle type. + typedef PointerT::Handle> + Handle; + //! GA::CrossoverOnePointESVecOp bag type. + typedef ContainerT::Bag> + Bag; + + /*! + * \brief Construct evolution strategy one point crossover operator. + * \param inMatingPbName Name of the mating probability parameter used in the register. + * \param inName Name of the evolution strategy one point crossover operator. + */ + explicit CrossoverOnePointESVecOp(string inMatingPbName="es.cx1p.prob", + string inName="GA-CrossoverOnePointESVecOp") : + GA::CrossoverOnePointOpT(inMatingPbName, inName) + { } + + virtual ~CrossoverOnePointESVecOp() { } + +}; + +} +} + +#endif // Beagle_GA_CrossoverOnePointESVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverOnePointFltVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverOnePointFltVecOp.hpp new file mode 100644 index 0000000..c97b8d8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverOnePointFltVecOp.hpp @@ -0,0 +1,89 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverOnePointFltVecOp.hpp + * \brief Definition of the class GA::CrossoverOnePointFltVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverOnePointFltVecOp_hpp +#define Beagle_GA_CrossoverOnePointFltVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/GA/CrossoverOnePointOpT.hpp" +#include "beagle/GA/FloatVector.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverOnePointFltVecOp beagle/GA/CrossoverOnePointFltVecOp.hpp + * "beagle/GA/CrossoverOnePointFltVecOp.hpp" + * \brief Real-valued GA one point crossover operator class. + * \ingroup GAF + * \ingroup GAFV + */ +class CrossoverOnePointFltVecOp : public GA::CrossoverOnePointOpT { + +public: + + //! GA::CrossoverOnePointFltVecOp allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! GA::CrossoverOnePointFltVecOp handle type. + typedef PointerT::Handle> + Handle; + //! GA::CrossoverOnePointFltVecOp bag type. + typedef ContainerT::Bag> + Bag; + + /*! + * \brief Construct float vector GA one point crossover operator. + * \param inMatingPbName Name of the mating probability parameter used in the register. + * \param inName Name of the float vector GA one point crossover operator. + */ + explicit CrossoverOnePointFltVecOp(string inMatingPbName="ga.cx1p.prob", + string inName="GA-CrossoverOnePointFltVecOp") : + GA::CrossoverOnePointOpT(inMatingPbName, inName) + { } + + virtual ~CrossoverOnePointFltVecOp() { } + +}; + +} +} + +#endif // Beagle_GA_CrossoverOnePointFltVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverOnePointIntVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverOnePointIntVecOp.hpp new file mode 100644 index 0000000..669b5a4 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverOnePointIntVecOp.hpp @@ -0,0 +1,89 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverOnePointIntVecOp.hpp + * \brief Definition of the class GA::CrossoverOnePointIntVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.2.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverOnePointIntVecOp_hpp +#define Beagle_GA_CrossoverOnePointIntVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/GA/CrossoverOnePointOpT.hpp" +#include "beagle/GA/IntegerVector.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverOnePointIntVecOp beagle/GA/CrossoverOnePointIntVecOp.hpp + * "beagle/GA/CrossoverOnePointIntVecOp.hpp" + * \brief Integer-valued GA one point crossover operator class. + * \ingroup GAF + * \ingroup GAIV + */ +class CrossoverOnePointIntVecOp : public GA::CrossoverOnePointOpT { + +public: + + //! GA::CrossoverOnePointIntVecOp allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! GA::CrossoverOnePointIntVecOp handle type. + typedef PointerT::Handle> + Handle; + //! GA::CrossoverOnePointIntVecOp bag type. + typedef ContainerT::Bag> + Bag; + + /*! + * \brief Construct integer vector GA one point crossover operator. + * \param inMatingPbName Name of the mating probability parameter used in the register. + * \param inName Name of the integer vector GA one point crossover operator. + */ + explicit CrossoverOnePointIntVecOp(string inMatingPbName="ga.cx1p.prob", + string inName="GA-CrossoverOnePointIntVecOp") : + GA::CrossoverOnePointOpT(inMatingPbName, inName) + { } + + virtual ~CrossoverOnePointIntVecOp() { } + +}; + +} +} + +#endif // Beagle_GA_CrossoverOnePointIntVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverOnePointOpT.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverOnePointOpT.hpp new file mode 100644 index 0000000..ac8221e --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverOnePointOpT.hpp @@ -0,0 +1,258 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverOnePointOpT.hpp + * \brief Definition of the class GA::CrossoverOnePointOpT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverOnePointOpT_hpp +#define Beagle_GA_CrossoverOnePointOpT_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverOnePointOpT beagle/GA/CrossoverOnePointOpT.hpp + * "beagle/GA/CrossoverOnePointOpT.hpp" + * \brief GA one point crossover operator class. + * \param T GA representation type used in crossover. + * \ingroup GAF + * + * The GA genotype type T must fullfil the std::vector template interface. + */ +template +class CrossoverOnePointOpT : public CrossoverOp { + +public: + + //! GA::CrossoverOnePointOpT allocator type. + typedef AllocatorT,CrossoverOp::Alloc> + Alloc; + //! GA::CrossoverOnePointOpT handle type. + typedef PointerT,CrossoverOp::Handle> + Handle; + //! GA::CrossoverOnePointOpT bag type. + typedef ContainerT,CrossoverOp::Bag> + Bag; + + explicit CrossoverOnePointOpT(string inMatingPbName="ga.cx1p.prob", + string inName="GA-CrossoverOnePointOpT"); + virtual ~CrossoverOnePointOpT() { } + + virtual void initialize(System& ioSystem); + virtual bool mate(Individual& ioIndiv1, Context& ioContext1, + Individual& ioIndiv2, Context& ioContext2); + +}; + +} +} + + +/*! + * \brief Construct a GA one point crossover operator. + * \param inMatingPbName Mating probability parameter name. + * \param inName Name of the operator. + */ +template +Beagle::GA::CrossoverOnePointOpT::CrossoverOnePointOpT(string inMatingPbName, + string inName) : + Beagle::CrossoverOp(inMatingPbName, inName) +{ } + + +/*! + * \brief Initialize the GA one point crossover operator. + * \param ioSystem System of the evolution. + */ +template +void Beagle::GA::CrossoverOnePointOpT::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + CrossoverOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + ioSystem.getRegister().deleteEntry(mMatingProbaName); + } + + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + mMatingProba = castHandleT(ioSystem.getRegister()[mMatingProbaName]); + } else { + mMatingProba = new Float(float(0.3)); + Register::Description lProbaDescription( + "Individual 1-point crossover pb.", + "Float", + "0.3", + "GA one-point crossover probability of a single individual." + ); + ioSystem.getRegister().addEntry(mMatingProbaName, mMatingProba, lProbaDescription); + } + Beagle_StackTraceEndM("void GA::CrossoverOnePointOpT::initialize(System& ioSystem)"); +} + + +/*! + * \brief Mate two GA individuals for one point crossover. + * \param ioIndiv1 First individual to mate. + * \param ioContext1 Evolutionary context of the first individual. + * \param ioIndiv2 Second individual to mate. + * \param ioContext2 Evolutionary context of the second individual. + * \return True if the individuals are effectively mated, false if not. + */ +template +bool Beagle::GA::CrossoverOnePointOpT::mate(Beagle::Individual& ioIndiv1, + Beagle::Context& ioContext1, + Beagle::Individual& ioIndiv2, + Beagle::Context& ioContext2) +{ + Beagle_StackTraceBeginM(); + unsigned int lNbGenotypes = minOf(ioIndiv1.size(), ioIndiv2.size()); + if(lNbGenotypes == 0) return false; + if(lNbGenotypes == 1) { + typename T::Handle lGenotype1 = castHandleT(ioIndiv1[0]); + typename T::Handle lGenotype2 = castHandleT(ioIndiv2[0]); + unsigned int lSize = minOf(lGenotype1->size(), lGenotype2->size()); + if(lSize < 2) return false; + unsigned int lMatingPoint = ioContext1.getSystem().getRandomizer().rollInteger(1, (lSize-1)); + + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverOnePointOpT", + string("The first genotype mated is (before GA one point crossover): ")+ + lGenotype1->serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverOnePointOpT", + string("The second genotype mated is (before GA one point crossover): ")+ + lGenotype2->serialize() + ); + Beagle_LogVerboseM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverOnePointOpT", + string("Mating individuals before the ")+ + uint2ordinal(lMatingPoint+1)+string(" element") + ); + + for(unsigned int i=0; iserialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverOnePointOpT", + string("The second genotype mated is (after GA one point crossover): ")+ + lGenotype2->serialize() + ); + } + else { + unsigned int lTotalSize = 0; + std::vector< unsigned int,BEAGLE_STLALLOCATOR > lSizes; + for(unsigned int i=0; i(ioIndiv1[i]); + typename T::Handle lGenotype2 = castHandleT(ioIndiv2[i]); + unsigned int lSizeI = minOf(lGenotype1->size(), lGenotype2->size()); + lSizes.push_back(lSizeI); + lTotalSize += lSizeI; + } + if(lTotalSize < 2) return false; + unsigned int lMatingPoint = + ioContext1.getSystem().getRandomizer().rollInteger(1, (lTotalSize-1)); + unsigned int lMatingGenotype = 0; + for(; (lMatingGenotype+1)(ioIndiv1[lMatingGenotype]); + typename T::Handle lGenotype2 = castHandleT(ioIndiv2[lMatingGenotype]); + + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverOnePointOpT", + string("The first genotype mated is (before GA one point crossover): ")+ + lGenotype1->serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverOnePointOpT", + string("The second genotype mated is (before GA one point crossover): ")+ + lGenotype2->serialize() + ); + + for(unsigned int i=0; iserialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverOnePointOpT", + string("The second genotype mated is (after GA one point crossover): ")+ + lGenotype2->serialize() + ); + } + + return true; + Beagle_StackTraceEndM("bool GA::CrossoverOnePointOpT::mate(Individual& ioIndiv1, Context& ioContext1, Individual& ioIndiv2, Context& ioContext2)"); +} + + +#endif // Beagle_GA_CrossoverOnePointOpT_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverSBXFltVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverSBXFltVecOp.hpp new file mode 100644 index 0000000..0405832 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverSBXFltVecOp.hpp @@ -0,0 +1,102 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverSBXFltVecOp.hpp + * \brief Definition of the class GA::CrossoverSBXFltVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverSBXFltVecOp_hpp +#define Beagle_GA_CrossoverSBXFltVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverSBXFltVecOp beagle/GA/CrossoverSBXFltVecOp.hpp + * "beagle/GA/CrossoverSBXFltVecOp.hpp" + * \brief Real-valued GA simulated binary crossover (SBX) operator class. + * \ingroup GAF + * \ingroup GAFV + * + * Real-valued GA simulated binary crossover (SBX) proceed by mating two + * float vectors, \f$(x^{(1,t)},x^{(2,t)})\f$. The resulting children + * \f$(x^{(1,t+1)},x^{(2,t+1)})\f$ are equal to + * \f$x^{(1,t+1)}_i=0.5((1+\beta_i) x^{(1,t)}_i+(1-\beta_i) x^{(2,t)}_i)\f$ and + * \f$x^{(2,t+1)}_i=0.5((1-\beta_i) x^{(1,t)}_i+(1+\beta_i) x^{(2,t)}_i)\f$, where + * \f$u_i\in[0,1]\f$ is a random value, \f$\beta_i=(2u_i)^{1/\nu+1}\f$ if \f$u_i\le0.5\f$ + * otherwize \f$(\frac{1}{2(1-u_i)})^{1/\nu+1}\f$, and \f$\nu>0\f$ is user-configurable + * parameter. + * + * Reference: Deb K., Beyer H.-G. (2001). Self-Adaptive Genetic Algorithms with + * Simulated Binary Crossover. Evolutionary Computation, 9(2), pp. 197-221. + * + */ +class CrossoverSBXFltVecOp : public CrossoverOp { + +public: + + //! GA::CrossoverSBXFltVecOp allocator type. + typedef AllocatorT + Alloc; + //! GA::CrossoverSBXFltVecOp handle type. + typedef PointerT + Handle; + //! GA::CrossoverSBXFltVecOp bag type. + typedef ContainerT + Bag; + + explicit CrossoverSBXFltVecOp(string inMatingPbName="ga.cxsbx.prob", + string inName="GA-CrossoverSBXFltVecOp"); + virtual ~CrossoverSBXFltVecOp() { } + + virtual void initialize(System& ioSystem); + virtual bool mate(Individual& ioIndiv1, Context& ioContext1, + Individual& ioIndiv2, Context& ioContext2); + +protected: + + DoubleArray::Handle mMaxValue; //!< Max value of GA float vectors. + DoubleArray::Handle mMinValue; //!< Min value of GA float vectors. + Double::Handle mNu; //!< SBX Nu parameter. + +}; + +} +} + +#endif // Beagle_GA_CrossoverSBXFltVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverTwoPointsBitStrOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverTwoPointsBitStrOp.hpp new file mode 100644 index 0000000..5b61efa --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverTwoPointsBitStrOp.hpp @@ -0,0 +1,89 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverTwoPointsBitStrOp.hpp + * \brief Definition of the class GA::CrossoverTwoPointsBitStrOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverTwoPointsBitStrOp_hpp +#define Beagle_GA_CrossoverTwoPointsBitStrOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/GA/CrossoverTwoPointsOpT.hpp" +#include "beagle/GA/BitString.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverTwoPointsBitStrOp beagle/GA/CrossoverTwoPointsBitStrOp.hpp + * "beagle/GA/CrossoverTwoPointsBitStrOp.hpp" + * \brief Bit string GA two points crossover operator class. + * \ingroup GAF + * \ingroup GABS + */ +class CrossoverTwoPointsBitStrOp : public GA::CrossoverTwoPointsOpT { + +public: + + //! GA::CrossoverTwoPointsBitStrOp allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! GA::CrossoverTwoPointsBitStrOp handle type. + typedef PointerT::Handle> + Handle; + //! GA::CrossoverTwoPointsBitStrOp bag type. + typedef ContainerT::Bag> + Bag; + + /*! + * \brief Construct bit string GA two points crossover operator. + * \param inMatingPbName Name of the mating probability parameter used in the register. + * \param inName Name of the bit string GA two points crossover operator. + */ + explicit CrossoverTwoPointsBitStrOp(string inMatingPbName="ga.cx2p.prob", + string inName="GA-CrossoverTwoPointsBitStrOp") : + GA::CrossoverTwoPointsOpT(inMatingPbName, inName) + { } + + virtual ~CrossoverTwoPointsBitStrOp() { } + +}; + +} +} + +#endif // Beagle_GA_CrossoverTwoPointsBitStrOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverTwoPointsESVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverTwoPointsESVecOp.hpp new file mode 100644 index 0000000..b2bd7a2 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverTwoPointsESVecOp.hpp @@ -0,0 +1,89 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverTwoPointsESVecOp.hpp + * \brief Definition of the class GA::CrossoverTwoPointsESVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverTwoPointsESVecOp_hpp +#define Beagle_GA_CrossoverTwoPointsESVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/GA/CrossoverTwoPointsOpT.hpp" +#include "beagle/GA/ESVector.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverTwoPointsESVecOp beagle/GA/CrossoverTwoPointsESVecOp.hpp + * "beagle/GA/CrossoverTwoPointsESVecOp.hpp" + * \brief Evolution strategy two points crossover operator class. + * \ingroup GAF + * \ingroup GAFV + */ +class CrossoverTwoPointsESVecOp : public GA::CrossoverTwoPointsOpT { + +public: + + //! GA::CrossoverTwoPointsESVecOp allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! GA::CrossoverTwoPointsESVecOp handle type. + typedef PointerT::Handle> + Handle; + //! GA::CrossoverTwoPointsESVecOp bag type. + typedef ContainerT::Bag> + Bag; + + /*! + * \brief Construct float vector GA two points crossover operator. + * \param inMatingPbName Name of the mating probability parameter used in the register. + * \param inName Name of the float vector GA two points crossover operator. + */ + explicit CrossoverTwoPointsESVecOp(string inMatingPbName="es.cx2p.prob", + string inName="GA-CrossoverTwoPointsESVecOp") : + GA::CrossoverTwoPointsOpT(inMatingPbName, inName) + { } + + virtual ~CrossoverTwoPointsESVecOp() { } + +}; + +} +} + +#endif // Beagle_GA_CrossoverTwoPointsESVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverTwoPointsFltVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverTwoPointsFltVecOp.hpp new file mode 100644 index 0000000..07fb61b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverTwoPointsFltVecOp.hpp @@ -0,0 +1,89 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverTwoPointsFltVecOp.hpp + * \brief Definition of the class GA::CrossoverTwoPointsFltVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverTwoPointsFltVecOp_hpp +#define Beagle_GA_CrossoverTwoPointsFltVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/GA/CrossoverTwoPointsOpT.hpp" +#include "beagle/GA/FloatVector.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverTwoPointsFltVecOp beagle/GA/CrossoverTwoPointsFltVecOp.hpp + * "beagle/GA/CrossoverTwoPointsFltVecOp.hpp" + * \brief Real-valued GA two points crossover operator class. + * \ingroup GAF + * \ingroup GAFV + */ +class CrossoverTwoPointsFltVecOp : public GA::CrossoverTwoPointsOpT { + +public: + + //! GA::CrossoverTwoPointsFltVecOp allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! GA::CrossoverTwoPointsFltVecOp handle type. + typedef PointerT::Handle> + Handle; + //! GA::CrossoverTwoPointsFltVecOp bag type. + typedef ContainerT::Bag> + Bag; + + /*! + * \brief Construct float vector GA two points crossover operator. + * \param inMatingPbName Name of the mating probability parameter used in the register. + * \param inName Name of the float vector GA two points crossover operator. + */ + explicit CrossoverTwoPointsFltVecOp(string inMatingPbName="ga.cx2p.prob", + string inName="GA-CrossoverTwoPointsFltVecOp") : + GA::CrossoverTwoPointsOpT(inMatingPbName, inName) + { } + + virtual ~CrossoverTwoPointsFltVecOp() { } + +}; + +} +} + +#endif // Beagle_GA_CrossoverTwoPointsFltVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverTwoPointsIntVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverTwoPointsIntVecOp.hpp new file mode 100644 index 0000000..6a9ada5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverTwoPointsIntVecOp.hpp @@ -0,0 +1,89 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverTwoPointsIntVecOp.hpp + * \brief Definition of the class GA::CrossoverTwoPointsIntVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.2.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverTwoPointsIntVecOp_hpp +#define Beagle_GA_CrossoverTwoPointsIntVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/GA/CrossoverTwoPointsOpT.hpp" +#include "beagle/GA/IntegerVector.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverTwoPointsIntVecOp beagle/GA/CrossoverTwoPointsIntVecOp.hpp + * "beagle/GA/CrossoverTwoPointsIntVecOp.hpp" + * \brief Integer-valued GA two points crossover operator class. + * \ingroup GAF + * \ingroup GAIV + */ +class CrossoverTwoPointsIntVecOp : public GA::CrossoverTwoPointsOpT { + +public: + + //! GA::CrossoverTwoPointsIntVecOp allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! GA::CrossoverTwoPointsIntVecOp handle type. + typedef PointerT::Handle> + Handle; + //! GA::CrossoverTwoPointsIntVecOp bag type. + typedef ContainerT::Bag> + Bag; + + /*! + * \brief Construct integer vector GA two points crossover operator. + * \param inMatingPbName Name of the mating probability parameter used in the register. + * \param inName Name of the integer vector GA two points crossover operator. + */ + explicit CrossoverTwoPointsIntVecOp(string inMatingPbName="ga.cx2p.prob", + string inName="GA-CrossoverTwoPointsIntVecOp") : + GA::CrossoverTwoPointsOpT(inMatingPbName, inName) + { } + + virtual ~CrossoverTwoPointsIntVecOp() { } + +}; + +} +} + +#endif // Beagle_GA_CrossoverTwoPointsIntVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverTwoPointsOpT.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverTwoPointsOpT.hpp new file mode 100644 index 0000000..5dddef5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverTwoPointsOpT.hpp @@ -0,0 +1,276 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverTwoPointsOpT.hpp + * \brief Definition of the class GA::CrossoverTwoPointsOpT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverTwoPointsOpT_hpp +#define Beagle_GA_CrossoverTwoPointsOpT_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverTwoPointsOpT beagle/GA/CrossoverTwoPointsOpT.hpp + * "beagle/GA/CrossoverTwoPointsOpT.hpp" + * \brief GA two points crossover operator class. + * \param T GA representation type used in crossover. + * \ingroup GAF + * + * The GA genotype type T must fullfil the std::vector template interface. + */ +template +class CrossoverTwoPointsOpT : public CrossoverOp { + +public: + + //! GA::CrossoverTwoPointsOpT allocator type. + typedef AllocatorT,CrossoverOp::Alloc> + Alloc; + //! GA::CrossoverTwoPointsOpT handle type. + typedef PointerT,CrossoverOp::Handle> + Handle; + //! GA::CrossoverTwoPointsOpT bag type. + typedef ContainerT,CrossoverOp::Bag> + Bag; + + explicit CrossoverTwoPointsOpT(string inMatingPbName="ga.cx2p.prob", + string inName="GA-CrossoverTwoPointsOpT"); + virtual ~CrossoverTwoPointsOpT() { } + + virtual void initialize(System& ioSystem); + virtual bool mate(Individual& ioIndiv1, Context& ioContext1, + Individual& ioIndiv2, Context& ioContext2); + +}; + +} +} + + +/*! + * \brief Construct a GA two points crossover operator. + * \param inMatingPbName Mating probability parameter name. + * \param inName Name of the operator. + */ +template +Beagle::GA::CrossoverTwoPointsOpT::CrossoverTwoPointsOpT(string inMatingPbName, + string inName) : + Beagle::CrossoverOp(inMatingPbName, inName) +{ } + + +/*! + * \brief Initialize the GA two points crossover operator. + * \param ioSystem System of the evolution. + */ +template +void Beagle::GA::CrossoverTwoPointsOpT::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + CrossoverOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + ioSystem.getRegister().deleteEntry(mMatingProbaName); + } + + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + mMatingProba = castHandleT(ioSystem.getRegister()[mMatingProbaName]); + } else { + mMatingProba = new Float(float(0.3)); + Register::Description lProbaDescription( + "Individual 2-points crossover pb.", + "Float", + "0.3", + "GA two-points crossover probability of a single individual." + ); + ioSystem.getRegister().addEntry(mMatingProbaName, mMatingProba, lProbaDescription); + } + Beagle_StackTraceEndM("void GA::CrossoverTwoPointsOpT::initialize(System& ioSystem)"); +} + + +/*! + * \brief Mate two GA individuals for two points crossover. + * \param ioIndiv1 First individual to mate. + * \param ioContext1 Evolutionary context of the first individual. + * \param ioIndiv2 Second individual to mate. + * \param ioContext2 Evolutionary context of the second individual. + * \return True if the individuals are effectively mated, false if not. + */ +template +bool Beagle::GA::CrossoverTwoPointsOpT::mate(Beagle::Individual& ioIndiv1, + Beagle::Context& ioContext1, + Beagle::Individual& ioIndiv2, + Beagle::Context& ioContext2) +{ + Beagle_StackTraceBeginM(); + unsigned int lNbGenotypes = minOf(ioIndiv1.size(), ioIndiv2.size()); + if(lNbGenotypes == 0) return false; + if(lNbGenotypes == 1) { + typename T::Handle lGenotype1 = castHandleT(ioIndiv1[0]); + typename T::Handle lGenotype2 = castHandleT(ioIndiv2[0]); + unsigned int lSize = minOf(lGenotype1->size(), lGenotype2->size()); + if(lSize < 2) return false; + unsigned int lMatingPoint1 = ioContext1.getSystem().getRandomizer().rollInteger(1, lSize); + unsigned int lMatingPoint2 = ioContext1.getSystem().getRandomizer().rollInteger(1, (lSize-1)); + if(lMatingPoint2 >= lMatingPoint1) ++lMatingPoint2; + else { + unsigned int lTemp = lMatingPoint1; + lMatingPoint1 = lMatingPoint2; + lMatingPoint2 = lTemp; + } + + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverTwoPointsOpT", + string("The first genotype mated is (before GA two points crossover): ")+ + lGenotype1->serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverTwoPointsOpT", + string("The second genotype mated is (before GA two points crossover): ")+ + lGenotype2->serialize() + ); + Beagle_LogVerboseM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverTwoPointsOpT", + string("Mating individuals after the ")+ + uint2ordinal(lMatingPoint1+1)+string(" element and before the")+ + uint2ordinal(lMatingPoint2+1)+string(" element") + ); + + for(unsigned int i=lMatingPoint1; iserialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverTwoPointsOpT", + string("The second genotype mated is (after GA two points crossover): ")+ + lGenotype2->serialize() + ); + } + else { + unsigned int lTotalSize = 0; + std::vector< unsigned int,BEAGLE_STLALLOCATOR > lSizes; + for(unsigned int i=0; i(ioIndiv1[i]); + typename T::Handle lGenotype2 = castHandleT(ioIndiv2[i]); + unsigned int lSizeI = minOf(lGenotype1->size(), lGenotype2->size()); + lSizes.push_back(lSizeI); + lTotalSize += lSizeI; + } + if(lTotalSize < 2) return false; + unsigned int lMatingPoint1 = + ioContext1.getSystem().getRandomizer().rollInteger(1, lTotalSize); + unsigned int lMatingGenotype = 0; + for(; (lMatingGenotype+1)(ioIndiv1[lMatingGenotype]); + typename T::Handle lGenotype2 = castHandleT(ioIndiv2[lMatingGenotype]); + unsigned int lSize = minOf(lGenotype1->size(), lGenotype2->size()); + if(lSize < 2) return false; + unsigned int lMatingPoint2 = ioContext1.getSystem().getRandomizer().rollInteger(1, (lSize-1)); + if(lMatingPoint2 >= lMatingPoint1) ++lMatingPoint2; + else { + unsigned int lTemp = lMatingPoint1; + lMatingPoint1 = lMatingPoint2; + lMatingPoint2 = lTemp; + } + + Beagle_LogVerboseM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverTwoPointsOpT", + string("Mating the ")+uint2ordinal(lMatingGenotype+1)+ + string(" genotypes after the ")+uint2ordinal(lMatingPoint1+1)+ + string(" element and before the ")+uint2ordinal(lMatingPoint2+1)+ + string(" element") + ); + + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverTwoPointsOpT", + string("The first genotype mated is (before GA two points crossover): ")+ + lGenotype1->serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverTwoPointsOpT", + string("The second genotype mated is (before GA two points crossover): ")+ + lGenotype2->serialize() + ); + + for(unsigned int i=lMatingPoint1; iserialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverTwoPointsOpT", + string("The second genotype mated is (after GA two points crossover): ")+ + lGenotype2->serialize() + ); + } + + return true; + Beagle_StackTraceEndM("bool GA::CrossoverTwoPointsOpT::mate(Individual& ioIndiv1,Context& ioContext1, Individual& ioIndiv2, Context& ioContext2)"); +} + + +#endif // Beagle_GA_CrossoverTwoPointsOpT_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverUniformBitStrOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverUniformBitStrOp.hpp new file mode 100644 index 0000000..225dc8f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverUniformBitStrOp.hpp @@ -0,0 +1,91 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverUniformBitStrOp.hpp + * \brief Definition of the class GA::CrossoverUniformBitStrOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverUniformBitStrOp_hpp +#define Beagle_GA_CrossoverUniformBitStrOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/GA/CrossoverUniformOpT.hpp" +#include "beagle/GA/BitString.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverUniformBitStrOp beagle/GA/CrossoverUniformBitStrOp.hpp + * "beagle/GA/CrossoverUniformBitStrOp.hpp" + * \brief Bit string GA uniform crossover operator class. + * \ingroup GAF + * \ingroup GABS + */ +class CrossoverUniformBitStrOp : public GA::CrossoverUniformOpT { + +public: + + //! GA::CrossoverUniformBitStrOp allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! GA::CrossoverUniformBitStrOp handle type. + typedef PointerT::Handle> + Handle; + //! GA::CrossoverUniformBitStrOp bag type. + typedef ContainerT::Bag> + Bag; + + /*! + * \brief Construct bit string GA uniform crossover operator. + * \param inMatingPbName Name of the mating probability parameter used in the register. + * \param inDistribPbName Name of the distribution probability parameter used in the register. + * \param inName Name of the bit string GA uniform crossover operator. + */ + explicit CrossoverUniformBitStrOp(string inMatingPbName="ga.cxunif.prob", + string inDistribPbName="ga.cxunif.distribprob", + string inName="GA-CrossoverUniformBitStrOp") : + GA::CrossoverUniformOpT(inMatingPbName, inDistribPbName, inName) + { } + + virtual ~CrossoverUniformBitStrOp() { } + +}; + +} +} + +#endif // Beagle_GA_CrossoverUniformBitStrOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverUniformESVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverUniformESVecOp.hpp new file mode 100644 index 0000000..7eeb701 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverUniformESVecOp.hpp @@ -0,0 +1,91 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverUniformESVecOp.hpp + * \brief Definition of the class GA::CrossoverUniformESVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverUniformESVecOp_hpp +#define Beagle_GA_CrossoverUniformESVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/GA/CrossoverUniformOpT.hpp" +#include "beagle/GA/ESVector.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverUniformESVecOp beagle/GA/CrossoverUniformESVecOp.hpp + * "beagle/GA/CrossoverUniformESVecOp.hpp" + * \brief Evolution strategy uniform crossover operator class. + * \ingroup GAF + * \ingroup GAES + */ +class CrossoverUniformESVecOp : public GA::CrossoverUniformOpT { + +public: + + //! GA::CrossoverUniformESVecOp allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! GA::CrossoverUniformESVecOp handle type. + typedef PointerT::Handle> + Handle; + //! GA::CrossoverUniformESVecOp bag type. + typedef ContainerT::Bag> + Bag; + + /*! + * \brief Construct evolution strategy uniform crossover operator. + * \param inMatingPbName Name of the mating probability parameter used in the register. + * \param inDistribPbName Name of the distribution probability parameter used in the register. + * \param inName Name of the evolution strategy uniform crossover operator. + */ + explicit CrossoverUniformESVecOp(string inMatingPbName="es.cxunif.prob", + string inDistribPbName="es.cxunif.distribprob", + string inName="GA-CrossoverUniformESVecOp") : + GA::CrossoverUniformOpT(inMatingPbName, inDistribPbName, inName) + { } + + virtual ~CrossoverUniformESVecOp() { } + +}; + +} +} + +#endif // Beagle_GA_CrossoverUniformESVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverUniformFltVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverUniformFltVecOp.hpp new file mode 100644 index 0000000..4ff543c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverUniformFltVecOp.hpp @@ -0,0 +1,91 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverUniformFltVecOp.hpp + * \brief Definition of the class GA::CrossoverUniformFltVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverUniformFltVecOp_hpp +#define Beagle_GA_CrossoverUniformFltVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/GA/CrossoverUniformOpT.hpp" +#include "beagle/GA/FloatVector.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverUniformFltVecOp beagle/GA/CrossoverUniformFltVecOp.hpp + * "beagle/GA/CrossoverUniformFltVecOp.hpp" + * \brief Real-valued GA uniform crossover operator class. + * \ingroup GAF + * \ingroup GAFV + */ +class CrossoverUniformFltVecOp : public GA::CrossoverUniformOpT { + +public: + + //! GA::CrossoverUniformFltVecOp allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! GA::CrossoverUniformFltVecOp handle type. + typedef PointerT::Handle> + Handle; + //! GA::CrossoverUniformFltVecOp bag type. + typedef ContainerT::Bag> + Bag; + + /*! + * \brief Construct float vector GA uniform crossover operator. + * \param inMatingPbName Name of the mating probability parameter used in the register. + * \param inDistribPbName Name of the distribution probability parameter used in the register. + * \param inName Name of the float vector GA uniform crossover operator. + */ + explicit CrossoverUniformFltVecOp(string inMatingPbName="ga.cxunif.prob", + string inDistribPbName="ga.cxunif.distribprob", + string inName="GA-CrossoverUniformFltVecOp") : + GA::CrossoverUniformOpT(inMatingPbName, inDistribPbName, inName) + { } + + virtual ~CrossoverUniformFltVecOp() { } + +}; + +} +} + +#endif // Beagle_GA_CrossoverUniformFltVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverUniformIntVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverUniformIntVecOp.hpp new file mode 100644 index 0000000..9f9ff0f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverUniformIntVecOp.hpp @@ -0,0 +1,91 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverUniformIntVecOp.hpp + * \brief Definition of the class GA::CrossoverUniformIntVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.2.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverUniformIntVecOp_hpp +#define Beagle_GA_CrossoverUniformIntVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/GA/CrossoverUniformOpT.hpp" +#include "beagle/GA/IntegerVector.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverUniformIntVecOp beagle/GA/CrossoverUniformIntVecOp.hpp + * "beagle/GA/CrossoverUniformIntVecOp.hpp" + * \brief Integer-valued GA uniform crossover operator class. + * \ingroup GAF + * \ingroup GAIV + */ +class CrossoverUniformIntVecOp : public GA::CrossoverUniformOpT { + +public: + + //! GA::CrossoverUniformIntVecOp allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! GA::CrossoverUniformIntVecOp handle type. + typedef PointerT::Handle> + Handle; + //! GA::CrossoverUniformIntVecOp bag type. + typedef ContainerT::Bag> + Bag; + + /*! + * \brief Construct integer vector GA uniform crossover operator. + * \param inMatingPbName Name of the mating probability parameter used in the register. + * \param inDistribPbName Name of the distribution probability parameter used in the register. + * \param inName Name of the integer vector GA uniform crossover operator. + */ + explicit CrossoverUniformIntVecOp(string inMatingPbName="ga.cxunif.prob", + string inDistribPbName="ga.cxunif.distribprob", + string inName="GA-CrossoverUniformIntVecOp") : + GA::CrossoverUniformOpT(inMatingPbName, inDistribPbName, inName) + { } + + virtual ~CrossoverUniformIntVecOp() { } + +}; + +} +} + +#endif // Beagle_GA_CrossoverUniformIntVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverUniformOpT.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverUniformOpT.hpp new file mode 100644 index 0000000..36b18e6 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/CrossoverUniformOpT.hpp @@ -0,0 +1,260 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/CrossoverUniformOpT.hpp + * \brief Definition of the class GA::CrossoverUniformOpT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.13.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_CrossoverUniformOpT_hpp +#define Beagle_GA_CrossoverUniformOpT_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class CrossoverUniformOpT beagle/GA/CrossoverUniformOpT.hpp + * "beagle/GA/CrossoverUniformOpT.hpp" + * \brief GA uniform crossover operator class. + * \param T GA representation type used in crossover. + * \ingroup GAF + * + * The GA genotype type T must fullfil the std::vector template interface. + */ +template +class CrossoverUniformOpT : public CrossoverOp { + +public: + + //! GA::CrossoverUniformOpT allocator type. + typedef AllocatorT,CrossoverOp::Alloc> + Alloc; + //! GA::CrossoverUniformOpT handle type. + typedef PointerT,CrossoverOp::Handle> + Handle; + //! GA::CrossoverUniformOpT bag type. + typedef ContainerT,CrossoverOp::Bag> + Bag; + + explicit CrossoverUniformOpT(string inMatingPbName="ga.cxunif.prob", + string inDistribPbName="ga.cxunif.distribprob", + string inName="GA-CrossoverUniformOpT"); + virtual ~CrossoverUniformOpT() { } + + virtual void initialize(System& ioSystem); + virtual bool mate(Individual& ioIndiv1, Context& ioContext1, + Individual& ioIndiv2, Context& ioContext2); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + Float::Handle mDistribProba; //!< Distribution probability of the uniform crossover. + string mDistribProbaName; //!< Name used in the register for the distribution probability. + +}; + +} +} + + +/*! + * \brief Construct a GA uniform crossover operator. + * \param inMatingPbName Mating probability parameter name. + * \param inDistribPbName Distribution probability parameter name. + * \param inName Name of the operator. + */ +template +Beagle::GA::CrossoverUniformOpT::CrossoverUniformOpT(string inMatingPbName, + string inDistribPbName, + string inName) : + Beagle::CrossoverOp(inMatingPbName, inName), + mDistribProbaName(inDistribPbName) +{ } + + +/*! + * \brief Initialize the GA uniform crossover operator. + * \param ioSystem System of the evolution. + */ +template +void Beagle::GA::CrossoverUniformOpT::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + CrossoverOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + ioSystem.getRegister().deleteEntry(mMatingProbaName); + } + + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + mMatingProba = castHandleT(ioSystem.getRegister()[mMatingProbaName]); + } else { + mMatingProba = new Float(float(0.3)); + Register::Description lDescription( + "Individual uniform crossover pb.", + "Float", + "0.3", + "GA uniform crossover probability of a single individual." + ); + ioSystem.getRegister().addEntry(mMatingProbaName, mMatingProba, lDescription); + } + + if(ioSystem.getRegister().isRegistered(mDistribProbaName)) { + mDistribProba = castHandleT(ioSystem.getRegister()[mDistribProbaName]); + } else { + mDistribProba = new Float(float(0.5)); + Register::Description lDescription( + "Uniform crossover distribution prob.", + "Float", + "0.5", + string("Uniform GA crossover distribution probability of a single individual. ")+ + string("Value of 0.5 means equal distribution of individuals elements during ")+ + string("crossover. Value of 0.25 means that individuals are composed by 25% ")+ + string("of elements of one individual, and 75% of the elements of the other mated ")+ + string("individuals.") + ); + ioSystem.getRegister().addEntry(mDistribProbaName, mDistribProba, lDescription); + } + Beagle_StackTraceEndM("void GA::CrossoverUniformOpT::initialize(System& ioSystem)"); +} + + +/*! + * \brief Mate two GA individuals for uniform crossover. + * \param ioIndiv1 First individual to mate. + * \param ioContext1 Evolutionary context of the first individual. + * \param ioIndiv2 Second individual to mate. + * \param ioContext2 Evolutionary context of the second individual. + * \return True if the individuals are effectively mated, false if not. + */ +template +bool Beagle::GA::CrossoverUniformOpT::mate(Beagle::Individual& ioIndiv1, + Beagle::Context& ioContext1, + Beagle::Individual& ioIndiv2, + Beagle::Context& ioContext2) +{ + Beagle_StackTraceBeginM(); + unsigned int lNbGenotypes = minOf(ioIndiv1.size(), ioIndiv2.size()); + if(lNbGenotypes == 0) return false; + + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverUniformOpT", + string("The first individual mated is (before GA uniform crossover): ")+ + ioIndiv1.serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverUniformOpT", + string("The second individual mated is (before GA uniform crossover): ")+ + ioIndiv2.serialize() + ); + + for(unsigned int i=0; i(ioIndiv1[i]); + typename T::Handle lGenotype2 = castHandleT(ioIndiv2[i]); + unsigned int lSize = minOf(lGenotype1->size(), lGenotype2->size()); + for(unsigned int j=0; jgetWrappedValue()) { + typename T::value_type lTemp = (*lGenotype1)[j]; + (*lGenotype1)[j] = (*lGenotype2)[j]; + (*lGenotype2)[j] = lTemp; + } + } + } + + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverUniformOpT", + string("The first individual mated is (after GA uniform crossover): ")+ + ioIndiv1.serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverUniformOpT", + string("The second individual mated is (after GA uniform crossover): ")+ + ioIndiv2.serialize() + ); + + return true; + Beagle_StackTraceEndM("bool GA::CrossoverUniformOpT::mate(Individual& ioIndiv1, Context& ioContext1, Individual& ioIndiv2, Context& ioContext2)"); +} + + +/*! + * \brief Read a uniform crossover operator from XML iterator. + * \param inIter XML iterator to use to read crossover operator. + * \param inOpMap Operator map to use to read crossover operator. + */ +template +void Beagle::GA::CrossoverUniformOpT::readWithMap(PACC::XML::ConstIterator inIter, + OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string lMatingProbaReadName = inIter->getAttribute("matingpb").c_str(); + if(lMatingProbaReadName.empty() == false) mMatingProbaName = lMatingProbaReadName; + string lDistribProbaReadName = inIter->getAttribute("distrpb").c_str(); + if(lDistribProbaReadName.empty() == false) mDistribProbaName = lDistribProbaReadName; + // For backward compatibility, accept ancient name "mutdistribpb" + string lDistribProbaReadNameLegacy = inIter->getAttribute("mutdistribpb").c_str(); + if(lDistribProbaReadNameLegacy.empty() == false) mDistribProbaName = lDistribProbaReadNameLegacy; + Beagle_StackTraceEndM("void GA::CrossoverUniformOpT::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write uniform crossover operator into XML streamer. + * \param ioStreamer XML streamer to write crossover operator into. + * \param inIndent Whether XML output should be indented. + */ +template +void Beagle::GA::CrossoverUniformOpT::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + CrossoverOp::writeContent(ioStreamer, inIndent); + ioStreamer.insertAttribute("distrpb", mDistribProbaName); + Beagle_StackTraceEndM("void GA::CrossoverUniformOpT::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + +#endif // Beagle_GA_CrossoverUniformOpT_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/ESVector.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/ESVector.hpp new file mode 100644 index 0000000..d514371 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/ESVector.hpp @@ -0,0 +1,116 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/ESVector.hpp + * \brief Definition of the type GA::ESVector. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +/*! + * \defgroup GAES Evolution Strategy + * \ingroup GAF + * \brief Evolution strategy (ES) representation, operators and evolvers, part of the GA framework. + * + * Actual evolution strategy support in the GA framework includes a representation made of vectors of + * (value,strategy) pairs, where the value is parameter value and strategy is the adaptive mutation + * parameter strategy, a simple mutation operator for the vector of pairs representation and a + * ES evolver using by default a (mu,lambda) replacement strategy. Different GA crossover are also + * supported although they are not used in the default ES evolver. + */ + +#ifndef Beagle_GA_ESVector_hpp +#define Beagle_GA_ESVector_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Genotype.hpp" + + +namespace Beagle { +namespace GA { + +/*! + * \struct ESPair beagle/GA/ESVector.hpp "beagle/GA/ESVector.hpp" + * \brief Evolution strategy (value, strategy parameter) pair composing ES genotypes. + * \ingroup GAF + * \ingroup GAES + */ +struct ESPair { + double mValue; //!< Value of the element of the ES vector. + double mStrategy; //!< Strategy parameter to use for ES mutation of the value. + + ESPair(double inValue=0.0, double inStrategy=1.0); + bool operator==(const ESPair& inRightPair) const; +}; + + +/*! + * \class ESVector beagle/GA/ESVector.hpp "beagle/GA/ESVector.hpp" + * \brief Evolution strategy genotype class. + * \ingroup GAF + * \ingroup GAES + */ +class ESVector : public Genotype, + public std::vector< ESPair,BEAGLE_STLALLOCATOR > { + +public: + + //! ESVector allocator type. + typedef AllocatorT + Alloc; + //! ESVector handle type. + typedef PointerT + Handle; + //! ESVector bag type. + typedef ContainerT + Bag; + + explicit ESVector(unsigned int inSize=0, ESPair inModel=ESPair(0.0,1.0)); + virtual ~ESVector() { } + + virtual unsigned int getSize() const; + virtual bool isEqual(const Object& inRightObj) const; + virtual void readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +}; + +} +} + +#endif // Beagle_GA_ESVector_hpp + diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/EvolverBitString.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/EvolverBitString.hpp new file mode 100644 index 0000000..80973a3 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/EvolverBitString.hpp @@ -0,0 +1,88 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/EvolverBitString.hpp + * \brief Definition of the class GA::EvolverBitString. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_EvolverBitString_hpp +#define Beagle_GA_EvolverBitString_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Evolver.hpp" +#include "beagle/EvaluationOp.hpp" +#include "beagle/TerminationOp.hpp" +#include "beagle/UInt.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class EvolverBitString beagle/GA/EvolverBitString.hpp "beagle/GA/EvolverBitString.hpp" + * \brief Bit string GA evolver class. + * \ingroup GAF + * \ingroup GABS + */ +class EvolverBitString : public Beagle::Evolver { + +public: + + //! GA::EvolverBitString allocator type. + typedef AllocatorT + Alloc; + //! GA::EvolverBitString handle type. + typedef PointerT + Handle; + //! GA::EvolverBitString bag type. + typedef ContainerT + Bag; + + explicit EvolverBitString(unsigned int inInitSize=1); + explicit EvolverBitString(EvaluationOp::Handle inEvalOp, unsigned int inInitSize=1); + explicit EvolverBitString(UIntArray inInitSize); + explicit EvolverBitString(EvaluationOp::Handle inEvalOp, UIntArray inInitSize); + virtual ~EvolverBitString() { } + +}; + +} +} + +#endif // Beagle_GA_EvolverBitString_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/EvolverES.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/EvolverES.hpp new file mode 100644 index 0000000..7dd4360 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/EvolverES.hpp @@ -0,0 +1,88 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/EvolverES.hpp + * \brief Definition of the class GA::EvolverES. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_EvolverES_hpp +#define Beagle_GA_EvolverES_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Evolver.hpp" +#include "beagle/EvaluationOp.hpp" +#include "beagle/TerminationOp.hpp" +#include "beagle/UInt.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class EvolverES beagle/GA/EvolverES.hpp "beagle/GA/EvolverES.hpp" + * \brief Evolution strategy evolver class. + * \ingroup GAF + * \ingroup GAES + */ +class EvolverES : public Beagle::Evolver { + +public: + + //! GA::EvolverES allocator type. + typedef AllocatorT + Alloc; + //! GA::EvolverES handle type. + typedef PointerT + Handle; + //! GA::EvolverES bag type. + typedef ContainerT + Bag; + + explicit EvolverES(unsigned int inInitSize=1); + explicit EvolverES(EvaluationOp::Handle inEvalOp, unsigned int inInitSize=1); + explicit EvolverES(UIntArray inInitSize); + explicit EvolverES(EvaluationOp::Handle inEvalOp, UIntArray inInitSize); + virtual ~EvolverES() { } + +}; + +} +} + +#endif // Beagle_GA_EvolverES_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/EvolverFloatVector.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/EvolverFloatVector.hpp new file mode 100644 index 0000000..5c4d96d --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/EvolverFloatVector.hpp @@ -0,0 +1,91 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/EvolverFloatVector.hpp + * \brief Definition of the class GA::EvolverFloatVector. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.3 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#ifndef Beagle_GA_EvolverFloatVector_hpp +#define Beagle_GA_EvolverFloatVector_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Evolver.hpp" +#include "beagle/EvaluationOp.hpp" +#include "beagle/TerminationOp.hpp" +#include "beagle/UInt.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class EvolverFloatVector beagle/GA/EvolverFloatVector.hpp "beagle/GA/EvolverFloatVector.hpp" + * \brief Real-valued GA evolver class. + * \ingroup GAF + * \ingroup GAFV + */ +class EvolverFloatVector : public Beagle::Evolver { + +public: + + //! GA::EvolverFloatVector allocator type. + typedef AllocatorT + Alloc; + //! GA::EvolverFloatVector handle type. + typedef PointerT + Handle; + //! GA::EvolverFloatVector bag type. + typedef ContainerT + Bag; + + explicit EvolverFloatVector(unsigned int inInitSize=1); + explicit EvolverFloatVector(EvaluationOp::Handle inEvalOp, unsigned int inInitSize=1); + explicit EvolverFloatVector(UIntArray inInitSize); + explicit EvolverFloatVector(EvaluationOp::Handle inEvalOp, UIntArray inInitSize); + virtual ~EvolverFloatVector() { } + + virtual void initialize(System::Handle ioSystem, int ioArgc, char** ioArgv); + virtual void initialize(System::Handle ioSystem, std::string inConfigFilename); + +}; + +} +} + +#endif // Beagle_GA_EvolverFloatVector_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/EvolverIntegerVector.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/EvolverIntegerVector.hpp new file mode 100644 index 0000000..37da984 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/EvolverIntegerVector.hpp @@ -0,0 +1,86 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/EvolverIntegerVector.hpp + * \brief Definition of the class GA::EvolverIntegerVector. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.1.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_EvolverIntegerVector_hpp +#define Beagle_GA_EvolverIntegerVector_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Evolver.hpp" +#include "beagle/EvaluationOp.hpp" +#include "beagle/TerminationOp.hpp" +#include "beagle/UInt.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class EvolverIntegerVector beagle/GA/EvolverIntegerVector.hpp "beagle/GA/EvolverIntegerVector.hpp" + * \brief Integer-valued GA evolver class. + * \ingroup GAF + * \ingroup GAIV + */ +class EvolverIntegerVector : public Beagle::Evolver { + +public: + + //! GA::EvolverIntegerVector allocator type. + typedef AllocatorT + Alloc; + //! GA::EvolverIntegerVector handle type. + typedef PointerT + Handle; + //! GA::EvolverIntegerVector bag type. + typedef ContainerT + Bag; + + explicit EvolverIntegerVector(unsigned int inInitSize=1); + explicit EvolverIntegerVector(EvaluationOp::Handle inEvalOp, unsigned int inInitSize=1); + virtual ~EvolverIntegerVector() { } + +}; + +} +} + +#endif // Beagle_GA_EvolverIntegerVector_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/FloatVector.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/FloatVector.hpp new file mode 100644 index 0000000..2c65f75 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/FloatVector.hpp @@ -0,0 +1,97 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/FloatVector.hpp + * \brief Definition of the type GA::FloatVector. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +/*! + * \defgroup GAFV Real-valued GA + * \ingroup GAF + * \brief Real-valued GA representation, operators and evolvers, part of the GA framework. + */ + +#ifndef Beagle_GA_FloatVector_hpp +#define Beagle_GA_FloatVector_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Genotype.hpp" +#include "beagle/Vector.hpp" + + +namespace Beagle { +namespace GA { + +/*! + * \class FloatVector beagle/GA/FloatVector.hpp "beagle/GA/FloatVector.hpp" + * \brief Real-valued GA genotype class. + * \ingroup GAF + * \ingroup GAFV + */ +class FloatVector : public Genotype, + public std::vector< double,BEAGLE_STLALLOCATOR > { + +public: + + //! FloatVector allocator type. + typedef AllocatorT + Alloc; + //! FloatVector handle type. + typedef PointerT + Handle; + //! FloatVector bag type. + typedef ContainerT + Bag; + + explicit FloatVector(unsigned int inSize=0, float inModel=0.0); + virtual ~FloatVector() { } + + virtual unsigned int getSize() const; + virtual bool isEqual(const Object& inRightObj) const; + virtual bool isLess(const Object& inRightObj) const; + virtual void readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +}; + +} +} + +#endif // Beagle_GA_FloatVector_hpp + diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitBitStrOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitBitStrOp.hpp new file mode 100644 index 0000000..1e473b5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitBitStrOp.hpp @@ -0,0 +1,112 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/InitBitStrOp.hpp + * \brief Definition of the class GA::InitBitStrOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_InitBitStrOp_hpp +#define Beagle_GA_InitBitStrOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/InitializationOp.hpp" +#include "beagle/Float.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class InitBitStrOp beagle/GA/InitBitStrOp.hpp "beagle/GA/InitBitStrOp.hpp" + * \brief GA bit string initialization operator class. + * \ingroup GAF + * \ingroup GABS + */ +class InitBitStrOp : public InitializationOp { + +public: + + //! GA::InitBitStrOp allocator type. + typedef AllocatorT + Alloc; + //! GA::InitBitStrOp handle type. + typedef PointerT + Handle; + //! GA::InitBitStrOp bag type. + typedef ContainerT + Bag; + + explicit InitBitStrOp(unsigned int inNumberBits=0, + string inReproProbaName="ec.repro.prob", + string inName="GA-InitBitStrOp"); + virtual ~InitBitStrOp() { } + + virtual void initialize(System& ioSystem); + virtual void initIndividual(Individual& outIndividual, Context& ioContext); + + /*! + * \return Number of bits in strings used for initialization. + */ + unsigned int getNumberBits() const + { + Beagle_StackTraceBeginM(); + return mNumberBits->getWrappedValue(); + Beagle_StackTraceEndM("unsigned int GA::InitBitStrOp::getNumberBits() const"); + } + + /*! + * \brief Set number of bits in strings used for initialization. + * \param inNumberBits Number of bits of individuals. + */ + void setNumberBits(unsigned int inNumberBits) + { + Beagle_StackTraceBeginM(); + mNumberBits->getWrappedValue() = inNumberBits; + Beagle_StackTraceEndM("void GA::InitBitStrOp::setNumberBits(unsigned int inNumberBits)"); + } + +protected: + + UInt::Handle mNumberBits; //!< Number of bits in string. + Float::Handle mBitOneProba; //!< Probability that a bit is initialized to one. + +}; + +} +} + +#endif // Beagle_GA_InitBitStrOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitCMAFltVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitCMAFltVecOp.hpp new file mode 100644 index 0000000..3b0d8eb --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitCMAFltVecOp.hpp @@ -0,0 +1,92 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/InitCMAFltVecOp.hpp + * \brief Definition of the class GA::InitCMAFltVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/11 19:13:08 $ + */ + +#ifndef Beagle_GA_InitCMAFltVecOp_hpp +#define Beagle_GA_InitCMAFltVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/InitializationOp.hpp" +#include "beagle/GA/InitFltVecOp.hpp" + + +namespace Beagle { +namespace GA { + +/*! + * \class InitCMAFltVecOp beagle/GA/InitCMAFltVecOp.hpp "beagle/GA/InitCMAFltVecOp.hpp" + * \brief Real-valued GA genotype uniformly initialization for CMA-ES operator class. + * \ingroup GAF + * \ingroup GAFV + * + * This operator does the same thing than the GA::InitFltVecOp except that initialize + * only one individual in the population, nowithstanding of the population size given. + * This approach is suitable to the CMA-ES algorithm, which start from only one initial + * random point. + */ +class InitCMAFltVecOp : public GA::InitFltVecOp { + +public: + + //! GA::InitCMAFltVecOp allocator type. + typedef AllocatorT + Alloc; + //! GA::InitCMAFltVecOp handle type. + typedef PointerT + Handle; + //! GA::InitCMAFltVecOp bag type. + typedef ContainerT + Bag; + + explicit InitCMAFltVecOp(unsigned int inFloatVectorSize=0, + std::string inReproProbaName="ec.repro.prob", + std::string inName="GA-InitCMAFltVecOp"); + virtual ~InitCMAFltVecOp() { } + + virtual void operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext); + + +}; + +} +} + +#endif // Beagle_GA_InitCMAFltVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitESVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitESVecOp.hpp new file mode 100644 index 0000000..1c8ca8f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitESVecOp.hpp @@ -0,0 +1,121 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/InitESVecOp.hpp + * \brief Definition of the class GA::InitESVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_InitESVecOp_hpp +#define Beagle_GA_InitESVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/InitializationOp.hpp" +#include "beagle/Float.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class InitESVecOp beagle/GA/InitESVecOp.hpp "beagle/GA/InitESVecOp.hpp" + * \brief ES genotype initialization operator class. + * \ingroup GAF + * \ingroup GAES + * + * Initialization is based on one parameter, the initial strategy value (es.init.strategy). Each + * strategy parameters (\f$sigma_{init}\f$) are initialized to this value, while the value of the ES + * vector is randomly initialized to a value following a Gaussian distribution (\f$N(\mu,\sigma)\f$) + * of zero mean (\f$\mu=0.0\f$) and a standard deviation of the initial stategy parameter value + * (\f$\sigma=\sigma_{init}\f$). + * + */ +class InitESVecOp : public InitializationOp { + +public: + + //! GA::InitESVecOp allocator type. + typedef AllocatorT + Alloc; + //! GA::InitESVecOp handle type. + typedef PointerT + Handle; + //! GA::InitESVecOp bag type. + typedef ContainerT + Bag; + + explicit InitESVecOp(unsigned int inESVectorSize=0, + string inReproProbaName="ec.repro.prob", + string inName="GA-InitESVecOp"); + virtual ~InitESVecOp() { } + + virtual void initialize(System& ioSystem); + virtual void initIndividual(Individual& outIndividual, Context& ioContext); + + /*! + * \return ES vector size to use for initialization. + */ + unsigned int getESVectorSize() const + { + Beagle_StackTraceBeginM(); + return mESVectorSize->getWrappedValue(); + Beagle_StackTraceEndM("unsigned int GA::InitESVecOp::getESVectorSize() const"); + } + + /*! + * \brief Set ES vector size to use for initialization. + * \param inESVectorSize New ES vector size. + */ + void setESVectorSize(unsigned int inESVectorSize) + { + Beagle_StackTraceBeginM(); + mESVectorSize->getWrappedValue() = inESVectorSize; + Beagle_StackTraceEndM("void GA::InitESVecOp::setESVectorSize(unsigned int inESVectorSize)"); + } + +protected: + + DoubleArray::Handle mMaxValue; //!< Maximum of ES vector values. + DoubleArray::Handle mMinValue; //!< Minimum of ES vector values. + UInt::Handle mESVectorSize; //!< Individual float vectors size. + Double::Handle mInitStrategyValue; //!< Mutation strategy value at initialization. + +}; + +} +} + +#endif // Beagle_GA_InitESVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitFltVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitFltVecOp.hpp new file mode 100644 index 0000000..175ac3f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitFltVecOp.hpp @@ -0,0 +1,114 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/InitFltVecOp.hpp + * \brief Definition of the class GA::InitFltVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_InitFltVecOp_hpp +#define Beagle_GA_InitFltVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/InitializationOp.hpp" +#include "beagle/Float.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class InitFltVecOp beagle/GA/InitFltVecOp.hpp "beagle/GA/InitFltVecOp.hpp" + * \brief Real-valued GA genotype uniformly distributed initialization operator class. + * \ingroup GAF + * \ingroup GAFV + */ +class InitFltVecOp : public InitializationOp { + +public: + + //! GA::InitFltVecOp allocator type. + typedef AllocatorT + Alloc; + //! GA::InitFltVecOp handle type. + typedef PointerT + Handle; + //! GA::InitFltVecOp bag type. + typedef ContainerT + Bag; + + explicit InitFltVecOp(unsigned int inFloatVectorSize=0, + string inReproProbaName="ec.repro.prob", + string inName="GA-InitFltVecOp"); + virtual ~InitFltVecOp() { } + + virtual void initialize(System& ioSystem); + virtual void initIndividual(Individual& outIndividual, Context& ioContext); + + /*! + * \return Float vector size to use for initialization. + */ + unsigned int getFloatVectorSize() const + { + Beagle_StackTraceBeginM(); + return mFloatVectorSize->getWrappedValue(); + Beagle_StackTraceEndM("unsigned int GA::InitFltVecOp::getFloatVectorSize() const"); + } + + /*! + * \brief Set Float vector size to use for initialization. + * \param inFloatVectorSize New float vector size. + */ + void getFloatVectorSize(unsigned int inFloatVectorSize) + { + Beagle_StackTraceBeginM(); + mFloatVectorSize->getWrappedValue() = inFloatVectorSize; + Beagle_StackTraceEndM("void GA::InitFltVecOp::getFloatVectorSize(unsigned int inFloatVectorSize)"); + } + +protected: + + DoubleArray::Handle mMaxInitValue; //!< Maximum value used to initialize floats. + DoubleArray::Handle mMinInitValue; //!< Minimum value used to initialize floats. + DoubleArray::Handle mIncValue; //!< Increment of valid value of GA float vectors. + UInt::Handle mFloatVectorSize; //!< Individual float vectors size. + +}; + +} +} + +#endif // Beagle_GA_InitFltVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitIndicesIntVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitIndicesIntVecOp.hpp new file mode 100644 index 0000000..dbeb4a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitIndicesIntVecOp.hpp @@ -0,0 +1,112 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/InitIndicesIntVecOp.hpp + * \brief Definition of the class GA::InitIndicesIntVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.2.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_InitIndicesIntVecOp_hpp +#define Beagle_GA_InitIndicesIntVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/InitializationOp.hpp" +#include "beagle/Int.hpp" +#include "beagle/UInt.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class InitIndicesIntVecOp beagle/GA/InitIndicesIntVecOp.hpp "beagle/GA/InitIndicesIntVecOp.hpp" + * \brief Integer-valued GA genotype uniformly distributed initialization operator class. + * \ingroup GAF + * \ingroup GAIV + */ +class InitIndicesIntVecOp : public InitializationOp { + +public: + + //! GA::InitIndicesIntVecOp allocator type. + typedef AllocatorT + Alloc; + //! GA::InitIndicesIntVecOp handle type. + typedef PointerT + Handle; + //! GA::InitIndicesIntVecOp bag type. + typedef ContainerT + Bag; + + explicit InitIndicesIntVecOp(unsigned int inIntVectorSize=0, + string inReproProbaName="ec.repro.prob", + string inName="GA-InitIndicesIntVecOp"); + virtual ~InitIndicesIntVecOp() { } + + virtual void initialize(System& ioSystem); + virtual void initIndividual(Individual& outIndividual, Context& ioContext); + + /*! + * \return Integer vector size to use for initialization. + */ + unsigned int getIntVectorSize() const + { + Beagle_StackTraceBeginM(); + return mIntVectorSize->getWrappedValue(); + Beagle_StackTraceEndM("unsigned int GA::InitIndicesIntVecOp::getIntVectorSize() const"); + } + + /*! + * \brief Set integer vector size to use for initialization. + * \param inIntVectorSize New integer vector size. + */ + void getIntVectorSize(unsigned int inIntVectorSize) + { + Beagle_StackTraceBeginM(); + mIntVectorSize->getWrappedValue() = inIntVectorSize; + Beagle_StackTraceEndM("void GA::InitIndicesIntVecOp::getIntVectorSize(unsigned int inIntVectorSize)"); + } + +protected: + + UInt::Handle mIntVectorSize; //!< Individual integer vectors size. + +}; + +} +} + +#endif // Beagle_GA_InitIndicesIntVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitIntVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitIntVecOp.hpp new file mode 100644 index 0000000..e5c7e94 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/InitIntVecOp.hpp @@ -0,0 +1,114 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/InitIntVecOp.hpp + * \brief Definition of the class GA::InitIntVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.2.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_InitIntVecOp_hpp +#define Beagle_GA_InitIntVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/InitializationOp.hpp" +#include "beagle/Int.hpp" +#include "beagle/UInt.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class InitIntVecOp beagle/GA/InitIntVecOp.hpp "beagle/GA/InitIntVecOp.hpp" + * \brief Integer-valued GA genotype uniformly distributed initialization operator class. + * \ingroup GAF + * \ingroup GAIV + */ +class InitIntVecOp : public InitializationOp { + +public: + + //! GA::InitIntVecOp allocator type. + typedef AllocatorT + Alloc; + //! GA::InitIntVecOp handle type. + typedef PointerT + Handle; + //! GA::InitIntVecOp bag type. + typedef ContainerT + Bag; + + explicit InitIntVecOp(unsigned int inIntVectorSize=0, + string inReproProbaName="ec.repro.prob", + string inName="GA-InitIntVecOp"); + virtual ~InitIntVecOp() { } + + virtual void initialize(System& ioSystem); + virtual void initIndividual(Individual& outIndividual, Context& ioContext); + + /*! + * \return Integer vector size to use for initialization. + */ + unsigned int getIntVectorSize() const + { + Beagle_StackTraceBeginM(); + return mIntVectorSize->getWrappedValue(); + Beagle_StackTraceEndM("unsigned int GA::InitIntVecOp::getIntVectorSize() const"); + } + + /*! + * \brief Set integer vector size to use for initialization. + * \param inIntVectorSize New integer vector size. + */ + void getIntVectorSize(unsigned int inIntVectorSize) + { + Beagle_StackTraceBeginM(); + mIntVectorSize->getWrappedValue() = inIntVectorSize; + Beagle_StackTraceEndM("void GA::InitIntVecOp::getIntVectorSize(unsigned int inIntVectorSize)"); + } + +protected: + + IntArray::Handle mMaxInitValue; //!< Maximum value used to initialize integers. + IntArray::Handle mMinInitValue; //!< Minimum value used to initialize integers. + UInt::Handle mIntVectorSize; //!< Individual integer vectors size. + +}; + +} +} + +#endif // Beagle_GA_InitIntVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/IntegerVector.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/IntegerVector.hpp new file mode 100644 index 0000000..c869ba1 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/IntegerVector.hpp @@ -0,0 +1,95 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/IntegerVector.hpp + * \brief Definition of the type GA::IntegerVector. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.2.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +/*! + * \defgroup GAIV Integer-valued GA + * \ingroup GAF + * \brief Integer-valued GA representation, operators and evolvers, part of the GA framework. + */ + +#ifndef Beagle_GA_IntegerVector_hpp +#define Beagle_GA_IntegerVector_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Genotype.hpp" + + +namespace Beagle { +namespace GA { + +/*! + * \class IntegerVector beagle/GA/IntegerVector.hpp "beagle/GA/IntegerVector.hpp" + * \brief Integer-valued GA genotype class. + * \ingroup GAF + * \ingroup GAIV + */ +class IntegerVector : public Genotype, + public std::vector< int,BEAGLE_STLALLOCATOR > { + +public: + + //! IntegerVector allocator type. + typedef AllocatorT + Alloc; + //! IntegerVector handle type. + typedef PointerT + Handle; + //! IntegerVector bag type. + typedef ContainerT + Bag; + + explicit IntegerVector(unsigned int inSize=0, int inModel=0); + virtual ~IntegerVector() { } + + virtual unsigned int getSize() const; + virtual bool isEqual(const Object& inRightObj) const; + virtual bool isLess(const Object& inRightObj) const; + virtual void readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +}; + +} +} + +#endif // Beagle_GA_IntegerVector_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/Makefile b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/Makefile new file mode 100644 index 0000000..b722aae --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/Makefile @@ -0,0 +1,638 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/GA/include/beagle/GA/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/GA/include/beagle/GA +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(beagleGA_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(beagleGAdir)" +HEADERS = $(beagleGA_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GA/include/beagle/GA +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GA/include/beagle/GA +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../../../ +top_builddir = ../../../../.. +top_srcdir = ../../../../.. +beagleGAdir = $(includedir)/beagle/GA +beagleGA_HEADERS = \ +BitString.hpp \ +CMAHolder.hpp \ +CrossoverBlendESVecOp.hpp \ +CrossoverBlendFltVecOp.hpp \ +CrossoverIndicesIntVecOp.hpp \ +CrossoverOnePointBitStrOp.hpp \ +CrossoverOnePointESVecOp.hpp \ +CrossoverOnePointFltVecOp.hpp \ +CrossoverOnePointIntVecOp.hpp \ +CrossoverOnePointOpT.hpp \ +CrossoverSBXFltVecOp.hpp \ +CrossoverTwoPointsBitStrOp.hpp \ +CrossoverTwoPointsESVecOp.hpp \ +CrossoverTwoPointsFltVecOp.hpp \ +CrossoverTwoPointsIntVecOp.hpp \ +CrossoverTwoPointsOpT.hpp \ +CrossoverUniformBitStrOp.hpp \ +CrossoverUniformESVecOp.hpp \ +CrossoverUniformFltVecOp.hpp \ +CrossoverUniformIntVecOp.hpp \ +CrossoverUniformOpT.hpp \ +ESVector.hpp \ +EvolverBitString.hpp \ +EvolverES.hpp \ +EvolverFloatVector.hpp \ +EvolverIntegerVector.hpp \ +FloatVector.hpp \ +InitBitStrOp.hpp \ +InitCMAFltVecOp.hpp \ +InitESVecOp.hpp \ +InitFltVecOp.hpp \ +InitIndicesIntVecOp.hpp \ +InitIntVecOp.hpp \ +IntegerVector.hpp \ +MutationCMAFltVecOp.hpp \ +MutationESVecOp.hpp \ +MutationFlipBitStrOp.hpp \ +MutationGaussianFltVecOp.hpp \ +MutationShuffleIntVecOp.hpp \ +MutationUniformIntVecOp.hpp \ +MuWCommaLambdaCMAFltVecOp.hpp \ +TermCMAOp.hpp + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GA/include/beagle/GA/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GA/include/beagle/GA/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-beagleGAHEADERS: $(beagleGA_HEADERS) + @$(NORMAL_INSTALL) + @list='$(beagleGA_HEADERS)'; test -n "$(beagleGAdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(beagleGAdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(beagleGAdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(beagleGAdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(beagleGAdir)" || exit $$?; \ + done + +uninstall-beagleGAHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(beagleGA_HEADERS)'; test -n "$(beagleGAdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(beagleGAdir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(beagleGAdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-beagleGAHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-beagleGAHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ + clean-libtool cscopelist-am ctags ctags-am distclean \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-beagleGAHEADERS install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am \ + uninstall-beagleGAHEADERS + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/Makefile.am b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/Makefile.am new file mode 100644 index 0000000..f2bc2e5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/Makefile.am @@ -0,0 +1,44 @@ +beagleGAdir = $(includedir)/beagle/GA +beagleGA_HEADERS = \ +BitString.hpp \ +CMAHolder.hpp \ +CrossoverBlendESVecOp.hpp \ +CrossoverBlendFltVecOp.hpp \ +CrossoverIndicesIntVecOp.hpp \ +CrossoverOnePointBitStrOp.hpp \ +CrossoverOnePointESVecOp.hpp \ +CrossoverOnePointFltVecOp.hpp \ +CrossoverOnePointIntVecOp.hpp \ +CrossoverOnePointOpT.hpp \ +CrossoverSBXFltVecOp.hpp \ +CrossoverTwoPointsBitStrOp.hpp \ +CrossoverTwoPointsESVecOp.hpp \ +CrossoverTwoPointsFltVecOp.hpp \ +CrossoverTwoPointsIntVecOp.hpp \ +CrossoverTwoPointsOpT.hpp \ +CrossoverUniformBitStrOp.hpp \ +CrossoverUniformESVecOp.hpp \ +CrossoverUniformFltVecOp.hpp \ +CrossoverUniformIntVecOp.hpp \ +CrossoverUniformOpT.hpp \ +ESVector.hpp \ +EvolverBitString.hpp \ +EvolverES.hpp \ +EvolverFloatVector.hpp \ +EvolverIntegerVector.hpp \ +FloatVector.hpp \ +InitBitStrOp.hpp \ +InitCMAFltVecOp.hpp \ +InitESVecOp.hpp \ +InitFltVecOp.hpp \ +InitIndicesIntVecOp.hpp \ +InitIntVecOp.hpp \ +IntegerVector.hpp \ +MutationCMAFltVecOp.hpp \ +MutationESVecOp.hpp \ +MutationFlipBitStrOp.hpp \ +MutationGaussianFltVecOp.hpp \ +MutationShuffleIntVecOp.hpp \ +MutationUniformIntVecOp.hpp \ +MuWCommaLambdaCMAFltVecOp.hpp \ +TermCMAOp.hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/Makefile.in b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/Makefile.in new file mode 100644 index 0000000..f1f80d6 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/Makefile.in @@ -0,0 +1,638 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/GA/include/beagle/GA +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(beagleGA_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(beagleGAdir)" +HEADERS = $(beagleGA_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +beagleGAdir = $(includedir)/beagle/GA +beagleGA_HEADERS = \ +BitString.hpp \ +CMAHolder.hpp \ +CrossoverBlendESVecOp.hpp \ +CrossoverBlendFltVecOp.hpp \ +CrossoverIndicesIntVecOp.hpp \ +CrossoverOnePointBitStrOp.hpp \ +CrossoverOnePointESVecOp.hpp \ +CrossoverOnePointFltVecOp.hpp \ +CrossoverOnePointIntVecOp.hpp \ +CrossoverOnePointOpT.hpp \ +CrossoverSBXFltVecOp.hpp \ +CrossoverTwoPointsBitStrOp.hpp \ +CrossoverTwoPointsESVecOp.hpp \ +CrossoverTwoPointsFltVecOp.hpp \ +CrossoverTwoPointsIntVecOp.hpp \ +CrossoverTwoPointsOpT.hpp \ +CrossoverUniformBitStrOp.hpp \ +CrossoverUniformESVecOp.hpp \ +CrossoverUniformFltVecOp.hpp \ +CrossoverUniformIntVecOp.hpp \ +CrossoverUniformOpT.hpp \ +ESVector.hpp \ +EvolverBitString.hpp \ +EvolverES.hpp \ +EvolverFloatVector.hpp \ +EvolverIntegerVector.hpp \ +FloatVector.hpp \ +InitBitStrOp.hpp \ +InitCMAFltVecOp.hpp \ +InitESVecOp.hpp \ +InitFltVecOp.hpp \ +InitIndicesIntVecOp.hpp \ +InitIntVecOp.hpp \ +IntegerVector.hpp \ +MutationCMAFltVecOp.hpp \ +MutationESVecOp.hpp \ +MutationFlipBitStrOp.hpp \ +MutationGaussianFltVecOp.hpp \ +MutationShuffleIntVecOp.hpp \ +MutationUniformIntVecOp.hpp \ +MuWCommaLambdaCMAFltVecOp.hpp \ +TermCMAOp.hpp + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GA/include/beagle/GA/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GA/include/beagle/GA/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-beagleGAHEADERS: $(beagleGA_HEADERS) + @$(NORMAL_INSTALL) + @list='$(beagleGA_HEADERS)'; test -n "$(beagleGAdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(beagleGAdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(beagleGAdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(beagleGAdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(beagleGAdir)" || exit $$?; \ + done + +uninstall-beagleGAHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(beagleGA_HEADERS)'; test -n "$(beagleGAdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(beagleGAdir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(beagleGAdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-beagleGAHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-beagleGAHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ + clean-libtool cscopelist-am ctags ctags-am distclean \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-beagleGAHEADERS install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am \ + uninstall-beagleGAHEADERS + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MuWCommaLambdaCMAFltVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MuWCommaLambdaCMAFltVecOp.hpp new file mode 100644 index 0000000..0df0c84 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MuWCommaLambdaCMAFltVecOp.hpp @@ -0,0 +1,126 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/MuWCommaLambdaCMAFltVecOp.hpp + * \brief Definition of the class MuWCommaLambdaCMAFltVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.2 $ + * $Date: 2007/05/11 19:13:08 $ + */ + + +#ifndef Beagle_GA_MuWCommaLambdaCMAFltVecOp_hpp +#define Beagle_GA_MuWCommaLambdaCMAFltVecOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/ReplacementStrategyOp.hpp" +#include "beagle/Float.hpp" +#include "beagle/Matrix.hpp" +#include "beagle/Vector.hpp" + +namespace Beagle { +namespace GA { + +/*! + * \class MuWCommaLambdaCMAFltVecOp beagle/GA/MuWCommaLambdaCMAFltVecOp.hpp "beagle/GA/MuWCommaLambdaCMAFltVecOp.hpp" + * \brief CMA-ES (Mu_W+Lambda) replacement strategy operator class. + * \ingroup GAF + * \ingroup GAFV + * + * CMA-ES (Mu_W,Lambda) replacement strategy class. Apply the CMA-ES algorithm (except mutation) + * on a population of GA float vectors. Use in conjunction of the CMA-ES mutation operator + * defined in class GA::MutationCMAFltVecOp. + * + * Reference: Hansen, N. and Ostermeier, A. (2001). Completely Derandomized Self-Adaptation + * in Evolution Strategies. Evolutionary Computation, 9(2), pp. 159-195. + * See also: http://www.bionik.tu-berlin.de/user/niko/cmaes_inmatlab.html + */ +class MuWCommaLambdaCMAFltVecOp : public MuCommaLambdaOp { + +public: + + //! MuWCommaLambdaCMAFltVecOp allocator type. + typedef AllocatorT + Alloc; + //! MuWCommaLambdaCMAFltVecOp handle type. + typedef PointerT + Handle; + //! MuWCommaLambdaCMAFltVecOp bag type. + typedef ContainerT + Bag; + + explicit MuWCommaLambdaCMAFltVecOp(std::string inLMRatioName="ga.cmaes.mulambdaratio", + std::string inName="GA-MuWCommaLambdaCMAFltVecOp"); + virtual ~MuWCommaLambdaCMAFltVecOp() { } + + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + +protected: + + virtual void generateChildren(Deme& ioDeme, + Context& ioContext, + unsigned int inNbChildren, + unsigned int inN, + GA::CMAValues& ioCMAValues, + const Vector& inSelectionWeights) const; + virtual double generateSelectionWeights(unsigned int inPopSize, + Vector& outSelectionWeights) const; + virtual GA::CMAValues& getCMAValues(unsigned int inIndex, + unsigned int inN, + Context& ioContext) const; + virtual void updateValues(Deme& ioDeme, + Context& ioContext, + unsigned int inN, + double inMuEff, + const Vector& inSelectionWeights, + GA::CMAValues& ioCMAValues) const; + + Double::Handle mSigma; //!< Initial CMA-ES sigma value. + DoubleArray::Handle mMaxValue; //!< Maximum float vector values. + DoubleArray::Handle mMinValue; //!< Minimum float vector values. + +}; + +} +} + +#endif // Beagle_GA_MuWCommaLambdaCMAFltVecOp_hpp + + diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationCMAFltVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationCMAFltVecOp.hpp new file mode 100644 index 0000000..3a75125 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationCMAFltVecOp.hpp @@ -0,0 +1,96 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/MutationCMAFltVecOp.hpp + * \brief Definition of the class GA::MutationCMAFltVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.2 $ + * $Date: 2007/05/11 19:13:08 $ + */ + +#ifndef Beagle_GA_MutationCMAFltVecOp_hpp +#define Beagle_GA_MutationCMAFltVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" + + +namespace Beagle { +namespace GA { + +/*! + * \class MutationCMAFltVecOp beagle/GA/MutationCMAFltVecOp.hpp + * "beagle/GA/MutationCMAFltVecOp.hpp" + * \brief CMA-ES float vector mutation operator class. + * \ingroup GAF + * \ingroup GAFV + * + * This mutation operator is intended to be used in a breeder tree in conjunction of the + * GA::MuWCommaLambdaCMAFltVecOp replacement strategy. The parameters of the mutation + * are adaptively modified by this replacement strategy following the CMA-ES algorithm. + * + * Reference: Hansen, N. and Ostermeier, A. (2001). Completely Derandomized Self-Adaptation + * in Evolution Strategies. Evolutionary Computation, 9(2), pp. 159-195. + * See also: http://www.bionik.tu-berlin.de/user/niko/cmaes_inmatlab.html + */ +class MutationCMAFltVecOp : public Beagle::MutationOp { + +public: + + //! GA::MutationCMAFltVecOp allocator type. + typedef AllocatorT + Alloc; + //! GA::MutationCMAFltVecOp handle type. + typedef PointerT + Handle; + //! GA::MutationCMAFltVecOp bag type. + typedef ContainerT + Bag; + + explicit MutationCMAFltVecOp(std::string inMutationPbName="ga.cmaes.mutpb", + std::string inName="GA-MutationCMAFltVecOp"); + virtual ~MutationCMAFltVecOp() { } + + virtual void initialize(System& ioSystem); + virtual bool mutate(Beagle::Individual& ioIndividual, Context& ioContext); + +protected: + + DoubleArray::Handle mMaxValue; //!< Max value of GA float vectors. + DoubleArray::Handle mMinValue; //!< Min value of GA float vectors. + +}; + +} +} + +#endif // Beagle_GA_MutationCMAFltVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationESVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationESVecOp.hpp new file mode 100644 index 0000000..d73be33 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationESVecOp.hpp @@ -0,0 +1,103 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/MutationESVecOp.hpp + * \brief Definition of the class GA::MutationESVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_MutationESVecOp_hpp +#define Beagle_GA_MutationESVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" + + +namespace Beagle { +namespace GA { + +/*! + * \class MutationESVecOp beagle/GA/MutationESVecOp.hpp "beagle/GA/MutationESVecOp.hpp" + * \brief Evolution strategy mutation operator class. + * \ingroup GAF + * \ingroup GAES + * + * The evolution strategy simple mutation operator apply mutation on the individuals using the + * following equations: + * \f[\sigma^{\prime}_i = \sigma_i \exp^{\tau^{\prime} N(0,1) + \tau N_i(0,1)}\f] + * \f[x^{\prime}_i = x_i + \sigma_i N_i(0,1)\f] + * \f[\tau^{\prime} = 1 / \sqrt{2n}\f] + * \f[\tau = 1 / \sqrt{2\sqrt{n}}\f] + * where \f$N(0,1)\f$ is a random number generated using a Gaussian probability density function + * with a zero mean and a standard deviation of 1.0, \f$x^{\prime}_i\f$ is the new value of + * parameter i, and \f$\sigma^{\prime}_i\f$ the new mutation strategy parameter value of parameter + * i. + */ +class MutationESVecOp : public Beagle::MutationOp { + +public: + + //! GA::MutationESVecOp allocator type. + typedef AllocatorT + Alloc; + //! GA::MutationESVecOp handle type. + typedef PointerT + Handle; + //! GA::MutationESVecOp bag type. + typedef ContainerT + Bag; + + explicit MutationESVecOp(string inMutationPbName="es.mut.prob", + string inMinStrategyName="es.mut.minstrategy", + string inName="GA-MutationESVecOp"); + virtual ~MutationESVecOp() { } + + virtual void initialize(System& ioSystem); + virtual bool mutate(Beagle::Individual& ioIndividual, Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + DoubleArray::Handle mMaxValue; //!< Maximum of ES vector values. + DoubleArray::Handle mMinValue; //!< Minimum of ES vector values. + Double::Handle mMinStrategy; //!< Minimun strategy parameter value. + string mMinStrategyName; //!< Minimum strategy parameter parameter name. + +}; + +} +} + +#endif // Beagle_GA_MutationESVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationFlipBitStrOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationFlipBitStrOp.hpp new file mode 100644 index 0000000..828079e --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationFlipBitStrOp.hpp @@ -0,0 +1,90 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/MutationFlipBitStrOp.hpp + * \brief Definition of the class GA::MutationFlipBitStrOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_MutationFlipBitStrOp_hpp +#define Beagle_GA_MutationFlipBitStrOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" + + +namespace Beagle { +namespace GA { + +/*! + * \class MutationFlipBitStrOp beagle/GA/MutationFlipBitStrOp.hpp "beagle/GA/MutationFlipBitStrOp.hpp" + * \brief Bit string GA flip bit mutation operator class. + * \ingroup GAF + * \ingroup GABS + */ +class MutationFlipBitStrOp : public Beagle::MutationOp { + +public: + + //! GA::MutationFlipBitStrOp allocator type. + typedef AllocatorT + Alloc; + //! GA::MutationFlipBitStrOp handle type. + typedef PointerT + Handle; + //! GA::MutationFlipBitStrOp bag type. + typedef ContainerT + Bag; + + explicit MutationFlipBitStrOp(string inMutationPbName="ga.mutflip.indpb", + string inBitMutatePbName="ga.mutflip.bitpb", + string inName="GA-MutationFlipBitStrOp"); + virtual ~MutationFlipBitStrOp() { } + + virtual void initialize(System& ioSystem); + virtual bool mutate(Beagle::Individual& ioIndividual, Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + Float::Handle mBitMutateProba; //!< Single bit mutation probability. + string mBitMutatePbName; //!< Single bit mutation probability parameter name. + +}; + +} +} + +#endif // Beagle_GA_MutationFlipBitStrOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationGaussianFltVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationGaussianFltVecOp.hpp new file mode 100644 index 0000000..1996f9c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationGaussianFltVecOp.hpp @@ -0,0 +1,100 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/MutationGaussianFltVecOp.hpp + * \brief Definition of the class GA::MutationGaussianFltVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.13.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_MutationGaussianFltVecOp_hpp +#define Beagle_GA_MutationGaussianFltVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" + + +namespace Beagle { +namespace GA { + +/*! + * \class MutationGaussianFltVecOp beagle/GA/MutationGaussianFltVecOp.hpp + * "beagle/GA/MutationGaussianFltVecOp.hpp" + * \brief Real-valued GA Gaussian mutation operator class. + * \ingroup GAF + * \ingroup GAFV + */ +class MutationGaussianFltVecOp : public Beagle::MutationOp { + +public: + + //! GA::MutationGaussianFltVecOp allocator type. + typedef AllocatorT + Alloc; + //! GA::MutationGaussianFltVecOp handle type. + typedef PointerT + Handle; + //! GA::MutationGaussianFltVecOp bag type. + typedef ContainerT + Bag; + + explicit MutationGaussianFltVecOp(string inMutationPbName="ga.mutgauss.indpb", + string inMutateFloatPbName="ga.mutgauss.floatpb", + string inMutateGaussMuName="ga.mutgauss.mu", + string inMutateGaussSigmaName="ga.mutgauss.sigma", + string inName="GA-MutationGaussianFltVecOp"); + virtual ~MutationGaussianFltVecOp() { } + + virtual void initialize(System& ioSystem); + virtual bool mutate(Beagle::Individual& ioIndividual, Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + DoubleArray::Handle mMaxValue; //!< Max value of GA float vectors. + DoubleArray::Handle mMinValue; //!< Min value of GA float vectors. + DoubleArray::Handle mIncValue; //!< Increment of valid value of GA float vectors. + Float::Handle mMutateFloatPb; //!< Single value mutation probability. + DoubleArray::Handle mMutateGaussMu; //!< Gaussian mutation mean. + DoubleArray::Handle mMutateGaussSigma; //!< Gaussian mutation standard deviation. + string mMutateFloatPbName; //!< Single value mutation probability parameter name. + string mMutateGaussMuName; //!< Gaussian mutation mean parameter name. + string mMutateGaussSigmaName; //!< Gaussian mutation std deviation parameter name. + +}; + +} +} + +#endif // Beagle_GA_MutationGaussianFltVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationShuffleIntVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationShuffleIntVecOp.hpp new file mode 100644 index 0000000..70ad79a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationShuffleIntVecOp.hpp @@ -0,0 +1,90 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/MutationShuffleIntVecOp.hpp + * \brief Definition of the class GA::MutationShuffleIntVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_MutationShuffleIntVecOp_hpp +#define Beagle_GA_MutationShuffleIntVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" + + +namespace Beagle { +namespace GA { + +/*! + * \class MutationShuffleIntVecOp beagle/GA/MutationShuffleIntVecOp.hpp "beagle/GA/MutationShuffleIntVecOp.hpp" + * \brief Integer vector GA shuffle mutation operator class. + * \ingroup GAF + * \ingroup GAIV + */ +class MutationShuffleIntVecOp : public Beagle::MutationOp { + +public: + + //! GA::MutationShuffleIntVecOp allocator type. + typedef AllocatorT + Alloc; + //! GA::MutationShuffleIntVecOp handle type. + typedef PointerT + Handle; + //! GA::MutationShuffleIntVecOp bag type. + typedef ContainerT + Bag; + + explicit MutationShuffleIntVecOp(string inMutationPbName="ga.mutshuf.indpb", + string inIntMutatePbName="ga.mutshuf.intpb", + string inName="GA-MutationShuffleIntVecOp"); + virtual ~MutationShuffleIntVecOp() { } + + virtual void initialize(System& ioSystem); + virtual bool mutate(Beagle::Individual& ioIndividual, Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + Float::Handle mIntMutateProba; //!< Single integer mutation probability. + string mIntMutatePbName; //!< Single integer mutation probability parameter name. + +}; + +} +} + +#endif // Beagle_GA_MutationShuffleIntVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationUniformIntVecOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationUniformIntVecOp.hpp new file mode 100644 index 0000000..09e8453 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/MutationUniformIntVecOp.hpp @@ -0,0 +1,92 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/MutationUniformIntVecOp.hpp + * \brief Definition of the class GA::MutationUniformIntVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#ifndef Beagle_GA_MutationUniformIntVecOp_hpp +#define Beagle_GA_MutationUniformIntVecOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" + + +namespace Beagle { +namespace GA { + +/*! + * \class MutationUniformIntVecOp beagle/GA/MutationUniformIntVecOp.hpp "beagle/GA/MutationUniformIntVecOp.hpp" + * \brief Integer vector GA uniform mutation operator class. + * \ingroup GAF + * \ingroup GAIV + */ +class MutationUniformIntVecOp : public Beagle::MutationOp { + +public: + + //! GA::MutationUniformIntVecOp allocator type. + typedef AllocatorT + Alloc; + //! GA::MutationUniformIntVecOp handle type. + typedef PointerT + Handle; + //! GA::MutationUniformIntVecOp bag type. + typedef ContainerT + Bag; + + explicit MutationUniformIntVecOp(string inMutationPbName="ga.mutunif.indpb", + string inIntMutatePbName="ga.mutunif.intpb", + string inName="GA-MutationUniformIntVecOp"); + virtual ~MutationUniformIntVecOp() { } + + virtual void initialize(System& ioSystem); + virtual bool mutate(Beagle::Individual& ioIndividual, Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + IntArray::Handle mMaxValue; //!< Integers maximum value. + IntArray::Handle mMinValue; //!< Integers minimum value. + Float::Handle mIntMutateProba; //!< Single integer mutation probability. + string mIntMutatePbName; //!< Single integer mutation probability parameter name. + +}; + +} +} + +#endif // Beagle_GA_MutationUniformIntVecOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/TermCMAOp.hpp b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/TermCMAOp.hpp new file mode 100644 index 0000000..4246cba --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/GA/TermCMAOp.hpp @@ -0,0 +1,85 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/TermCMAOp.hpp + * \brief Definition of the class GA::TermCMAOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/11 19:13:08 $ + */ + +#ifndef Beagle_TermCMAOp_hpp +#define Beagle_TermCMAOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/TerminationOp.hpp" + + +namespace Beagle { +namespace GA { + +/*! + * \class TermCMAOp beagle/GA/TermCMAOp.hpp "beagle/GA/TermCMAOp.hpp" + * \brief CMA-ES termination operator class. + * \ingroup GAF + * \ingroup GAFV + */ +class TermCMAOp : public Beagle::TerminationOp { + +public: + + //! TermCMAOp allocator type + typedef AllocatorT + Alloc; + //! TermCMAOp handle type. + typedef PointerT + Handle; + //! TermCMAOp bag type. + typedef ContainerT + Bag; + + explicit TermCMAOp(std::string inName="GA-TermCMAOp"); + virtual ~TermCMAOp() { } + + virtual void initialize(System& ioSystem); + virtual bool terminate(const Deme& inDeme, Context& ioContext); + +protected: + + Double::Handle mSigma; //!< Initial CMA-ES sigma value. + Double::Handle mTolX; //!< Tolerance on variations of values. + Double::Handle mTolCond; //!< Tolerance on condition number of matrix C. + +}; + +} +} + +#endif // Beagle_TerminationCheckOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/Makefile b/lib/beagle-3.0.3/beagle/GA/include/beagle/Makefile new file mode 100644 index 0000000..e8cf7a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/Makefile @@ -0,0 +1,721 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/GA/include/beagle/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/GA/include/beagle +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(beagle_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(beagledir)" +HEADERS = $(beagle_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GA/include/beagle +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GA/include/beagle +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../../ +top_builddir = ../../../.. +top_srcdir = ../../../.. + +# Stuff for precompiled headers +INCLUDES = -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include +beagledir = $(includedir)/beagle +beagle_HEADERS = GA.hpp +SUBDIRS = GA +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GA/include/beagle/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GA/include/beagle/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-beagleHEADERS: $(beagle_HEADERS) + @$(NORMAL_INSTALL) + @list='$(beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(beagledir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(beagledir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(beagledir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(beagledir)" || exit $$?; \ + done + +uninstall-beagleHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(beagledir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(HEADERS) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(beagledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-beagleHEADERS + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-beagleHEADERS + +.MAKE: $(am__recursive_targets) install-am install-data-am \ + install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-beagleHEADERS install-data \ + install-data-am install-data-hook install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-beagleHEADERS + +.PRECIOUS: Makefile + +pch: $(HEADERS) + rm -f GA.hpp.gch + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) -x c++-header $(CXXFLAGS) -c -o GA.hpp.gch GA.hpp +install-data-hook: + if test -f GA.hpp.gch; then $(INSTALL_DATA) GA.hpp.gch $(DESTDIR)$(includedir)/GA.hpp.gch; fi +clean-generic: + if test -f GA.hpp.gch; then rm -f GA.hpp.gch; fi + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/Makefile.am b/lib/beagle-3.0.3/beagle/GA/include/beagle/Makefile.am new file mode 100644 index 0000000..6908549 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/Makefile.am @@ -0,0 +1,16 @@ +# Stuff for precompiled headers +INCLUDES = -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include +pch: $(HEADERS) + rm -f GA.hpp.gch + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) -x c++-header $(CXXFLAGS) -c -o GA.hpp.gch GA.hpp +install-data-hook: + if test -f GA.hpp.gch; then $(INSTALL_DATA) GA.hpp.gch $(DESTDIR)$(includedir)/GA.hpp.gch; fi +clean-generic: + if test -f GA.hpp.gch; then rm -f GA.hpp.gch; fi + +beagledir = $(includedir)/beagle +beagle_HEADERS = GA.hpp +SUBDIRS = GA + + + diff --git a/lib/beagle-3.0.3/beagle/GA/include/beagle/Makefile.in b/lib/beagle-3.0.3/beagle/GA/include/beagle/Makefile.in new file mode 100644 index 0000000..00151ee --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/include/beagle/Makefile.in @@ -0,0 +1,721 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/GA/include/beagle +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(beagle_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(beagledir)" +HEADERS = $(beagle_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ + +# Stuff for precompiled headers +INCLUDES = -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include +beagledir = $(includedir)/beagle +beagle_HEADERS = GA.hpp +SUBDIRS = GA +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GA/include/beagle/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GA/include/beagle/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-beagleHEADERS: $(beagle_HEADERS) + @$(NORMAL_INSTALL) + @list='$(beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(beagledir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(beagledir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(beagledir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(beagledir)" || exit $$?; \ + done + +uninstall-beagleHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(beagledir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(HEADERS) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(beagledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-beagleHEADERS + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-beagleHEADERS + +.MAKE: $(am__recursive_targets) install-am install-data-am \ + install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-beagleHEADERS install-data \ + install-data-am install-data-hook install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-beagleHEADERS + +.PRECIOUS: Makefile + +pch: $(HEADERS) + rm -f GA.hpp.gch + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) -x c++-header $(CXXFLAGS) -c -o GA.hpp.gch GA.hpp +install-data-hook: + if test -f GA.hpp.gch; then $(INSTALL_DATA) GA.hpp.gch $(DESTDIR)$(includedir)/GA.hpp.gch; fi +clean-generic: + if test -f GA.hpp.gch; then rm -f GA.hpp.gch; fi + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/BitString.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/BitString.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/BitString.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/CMAHolder.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/CMAHolder.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/CMAHolder.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/CrossoverBlendESVecOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/CrossoverBlendESVecOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/CrossoverBlendESVecOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/CrossoverBlendFltVecOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/CrossoverBlendFltVecOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/CrossoverBlendFltVecOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/CrossoverIndicesIntVecOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/CrossoverIndicesIntVecOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/CrossoverIndicesIntVecOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/CrossoverSBXFltVecOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/CrossoverSBXFltVecOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/CrossoverSBXFltVecOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/ESVector.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/ESVector.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/ESVector.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/EvolverBitString.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/EvolverBitString.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/EvolverBitString.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/EvolverES.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/EvolverES.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/EvolverES.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/EvolverFloatVector.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/EvolverFloatVector.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/EvolverFloatVector.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/EvolverIntegerVector.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/EvolverIntegerVector.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/EvolverIntegerVector.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/FloatVector.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/FloatVector.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/FloatVector.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/InitBitStrOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/InitBitStrOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/InitBitStrOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/InitCMAFltVecOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/InitCMAFltVecOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/InitCMAFltVecOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/InitESVecOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/InitESVecOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/InitESVecOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/InitFltVecOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/InitFltVecOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/InitFltVecOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/InitIndicesIntVecOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/InitIndicesIntVecOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/InitIndicesIntVecOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/InitIntVecOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/InitIntVecOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/InitIntVecOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/IntegerVector.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/IntegerVector.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/IntegerVector.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/MuWCommaLambdaCMAFltVecOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/MuWCommaLambdaCMAFltVecOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/MuWCommaLambdaCMAFltVecOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationCMAFltVecOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationCMAFltVecOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationCMAFltVecOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationESVecOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationESVecOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationESVecOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationFlipBitStrOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationFlipBitStrOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationFlipBitStrOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationGaussianFltVecOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationGaussianFltVecOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationGaussianFltVecOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationShuffleIntVecOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationShuffleIntVecOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationShuffleIntVecOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationUniformIntVecOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationUniformIntVecOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/MutationUniformIntVecOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/TermCMAOp.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/TermCMAOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/TermCMAOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/.deps/libbeagle-GA.Plo b/lib/beagle-3.0.3/beagle/GA/src/.deps/libbeagle-GA.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/.deps/libbeagle-GA.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GA/src/BitString.cpp b/lib/beagle-3.0.3/beagle/GA/src/BitString.cpp new file mode 100644 index 0000000..395ee01 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/BitString.cpp @@ -0,0 +1,303 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/BitString.cpp + * \brief Source code of class GA::BitString. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.17.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#include "beagle/GA.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a GA bit string. + * \param inSize Size of the bit string. + * \param inModel Default values of the bits. + */ +GA::BitString::BitString(unsigned int inSize, bool inModel) : + std::vector< bool,BEAGLE_STLALLOCATOR >(inSize, inModel) +{ } + + +/*! + * \brief Decode the value of the binary bit string into a vector of floating-point numbers. + * \param inKeys Decoding keys used to tranform the bit string. + * \param outVector Vector of floating-point number containing the decoded values. + */ +void GA::BitString::decode(const GA::BitString::DecodingKeyVector& inKeys, + std::vector< double,BEAGLE_STLALLOCATOR >& outVector) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + unsigned int lNbBits = 0; + for(unsigned int i=0; i >& inKeys, std::vector< double,BEAGLE_STLALLOCATOR >& outVector) const"); +} + + +/*! + * \brief Decode the value of the gray-coded bit string into a vector of floating-point numbers. + * \param inKeys Decoding keys used to tranform the gray-coded bit string. + * \param outVector Vector of floating-point number containing the decoded values. + */ +void GA::BitString::decodeGray(const GA::BitString::DecodingKeyVector& inKeys, + std::vector< double,BEAGLE_STLALLOCATOR >& outVector) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + unsigned int lNbBits = 0; + for(unsigned int i=0; i > lBinBitString; + convertGray2Bin(inKeys, (*this), lBinBitString); + convertBin2Dec(inKeys, lBinBitString, outVector); + Beagle_StackTraceEndM("void GA::BitString::decodeGray(const std::vector< GA::BitString::DecodingKey,BEAGLE_STLALLOCATOR >& inKeys, std::vector< double,BEAGLE_STLALLOCATOR >& outVector) const"); +} + + +/*! + * \brief Convert a binary bit string to a floating-point vector with keys. + * \param inKeys Decoding keys. + * \param inBitString Binary bit string to decode. + * \param outVector Floating-point number vector resulting from decoding. + */ +void GA::BitString::convertBin2Dec(const GA::BitString::DecodingKeyVector& inKeys, + const std::vector< bool,BEAGLE_STLALLOCATOR >& inBitString, + std::vector< double,BEAGLE_STLALLOCATOR >& outVector) const +{ + Beagle_StackTraceBeginM(); +#ifdef BEAGLE_HAVE_LONG_LONG + typedef unsigned long long EncodingType; +#else // BEAGLE_HAVE_LONG_LONG + typedef unsigned long EncodingType; +#endif // BEAGLE_HAVE_LONG_LONG + +#ifndef BEAGLE_NDEBUG + for(unsigned int i=0; i= inKeys[i].mUpperBound) { + string lMessage = "In GA::BitString::convertBin2Dec(): "; + lMessage += "The lower bound value of the "; + lMessage += uint2ordinal(i+1); + lMessage += " key ("; + lMessage += dbl2str(inKeys[i].mLowerBound); + lMessage += ") is bigger or equal to the associated upper bound ("; + lMessage += dbl2str(inKeys[i].mUpperBound); + lMessage += ") !"; + throw Beagle_RunTimeExceptionM(lMessage); + } + if((inKeys[i].mEncoding < 1) || (inKeys[i].mEncoding >= 8*sizeof(EncodingType))) { + string lMessage = "In GA::BitString::convertBin2Dec(): "; + lMessage += "The "; + lMessage += uint2ordinal(i+1); + lMessage += " encoding value ("; + lMessage += uint2str(inKeys[i].mEncoding); + lMessage += ") is not in the valid interval (which is [1,"; + lMessage += uint2str((8*sizeof(EncodingType))-1); + lMessage += "]) !"; + throw Beagle_RunTimeExceptionM(lMessage); + } + } +#endif // BEAGLE_NDEBUG + + outVector.resize(inKeys.size()); + std::vector< bool,BEAGLE_STLALLOCATOR >::const_iterator lBit = inBitString.begin(); + for(unsigned int j=0; j >& inKeys, const std::vector< bool,BEAGLE_STLALLOCATOR >& inBitString, std::vector< double,BEAGLE_STLALLOCATOR >& outVector) const"); +} + + +/*! + * \brief Convert a gray-coded bit string to a binary bit string with keys. + * \param inKeys Decoding keys. + * \param inGrayBitString Gray-coded bit string to decode. + * \param outBinBitString Binary bit string resulting from decoding. + */ +void GA::BitString::convertGray2Bin(const GA::BitString::DecodingKeyVector& inKeys, + const std::vector< bool,BEAGLE_STLALLOCATOR >& inGrayBitString, + std::vector< bool,BEAGLE_STLALLOCATOR >& outBinBitString) const +{ + Beagle_StackTraceBeginM(); + outBinBitString.resize(inGrayBitString.size()); + unsigned int lPosBS = 0; + for(unsigned int i=0; i >& inKeys, const std::vector< bool,BEAGLE_STLALLOCATOR >& inGrayBitString, std::vector< bool,BEAGLE_STLALLOCATOR >& outBinBitString) const"); +} + + +/*! + * \brief Return size (length) of genotype. + * \return Size (length) of genotype. + */ +unsigned int GA::BitString::getSize() const +{ + Beagle_StackTraceBeginM(); + return size(); + Beagle_StackTraceEndM("unsigned int GA::BitString::getSize() const"); +} + + +/*! + * \brief Test if two bit strings are equals. + * \param inRightObj Second bit string used for the comparison. + * \return True if bit strings are equal, false if not. + * \par Note: + * Returns true if the range [ 0, min(end(),inRightObj.end()) ) + * are identical when compared element-by-element, and otherwise returns false. + */ +bool GA::BitString::isEqual(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const GA::BitString& lRightBS = castObjectT(inRightObj); + unsigned int lSizeCompared = minOf(size(), lRightBS.size()); + return std::equal(begin(), begin()+lSizeCompared, lRightBS.begin()); + Beagle_StackTraceEndM("bool GA::BitString::isEqual(const Object& inRightObj) const"); +} + + +/*! + * \brief Test the ordering of two bit strings. + * \param inRightObj Second bit string used for the ordering test. + * \return True if the actual bit string is before the second, false if not. + * \par Note: + * Returns true if the actual bit string is lexicographically less than the right object + * in the range [ 0, min(end(),inRightObj.end()) ) when compared element-by-element, + * and otherwise returns false. + */ +bool GA::BitString::isLess(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const GA::BitString& lRightBS = castObjectT(inRightObj); + unsigned int lSizeCompared = minOf(size(),lRightBS.size()); + return std::lexicographical_compare(begin(), begin()+lSizeCompared, + lRightBS.begin(), lRightBS.begin()+lSizeCompared); + Beagle_StackTraceEndM("bool GA::BitString::isLess(const Object& inRightObj) const"); +} + + +/*! + * \brief Read a bit string from a XML subtree. + * \param inIter XML iterator from which the bit string is read. + * \param ioContext Evolutionary context to use to read the bit string. + * \throw IOException If a reading error occured (generally bad file format)! + */ +void GA::BitString::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Genotype")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + string lType = inIter->getAttribute("type").c_str(); + if(lType.empty()) + throw Beagle_IOExceptionNodeM(*inIter, "bit string type of the genotype is not present!"); + if(lType != "bitstring") + throw Beagle_IOExceptionNodeM(*inIter, "type of genotype mismatch, expected \"bitstring\"!"); + + PACC::XML::ConstIterator lChild = inIter->getFirstChild(); + if((!lChild) || (lChild->getType()!=PACC::XML::eString)) + throw Beagle_IOExceptionNodeM(*lChild, "expected content for the bit string!"); + + clear(); + std::istringstream lISS(lChild->getValue()); + while(lISS.eof() == false) { + char lBuf = '\0'; + lISS >> lBuf; + if(lBuf=='\0') break; + if((lBuf != '0') && (lBuf != '1')) + throw Beagle_IOExceptionNodeM(*lChild, "bit string value is not 0 or 1!"); + push_back((lBuf == '1') ? true : false); + } + Beagle_StackTraceEndM("void GA::BitString::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext)"); +} + + +/*! + * \brief Write a bit string into a XML streamer. + * \param ioStreamer XML streamer into which the bit string is written. + * \param inIndent Whether XML output should be indented. + */ +void GA::BitString::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Genotype", false); + ioStreamer.insertAttribute("type", "bitstring"); + ioStreamer.insertAttribute("size", uint2str(size())); + std::ostringstream lOSS; + for(size_type i=0; igetType()!=PACC::XML::eData) || (inIter->getValue()!="CMAHolder")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + clear(); + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="CMAValues")) { + std::string lIndexStr = lChild->getAttribute("index"); + if(lIndexStr.empty()) throw Beagle_IOExceptionNodeM(*lChild, "attribute \"index\" expected!"); + unsigned int lIndex = str2uint(lIndexStr); + GA::CMAValues& lValues = (*this)[lIndex]; + for(PACC::XML::ConstIterator lChild2=lChild->getFirstChild(); lChild2; ++lChild2) { + if(lChild2->getType()!=PACC::XML::eData) continue; + if(lChild2->getFirstChild() == NULL) + throw Beagle_IOExceptionNodeM(*lChild2, "child expected!"); + if(lChild2->getValue()=="B") lValues.mB.read(lChild2->getFirstChild()); + else if(lChild2->getValue()=="D") lValues.mD.read(lChild2->getFirstChild()); + else if(lChild2->getValue()=="PC") lValues.mPC.read(lChild2->getFirstChild()); + else if(lChild2->getValue()=="PS") lValues.mPS.read(lChild2->getFirstChild()); + else if(lChild2->getValue()=="Xmean") lValues.mXmean.read(lChild2->getFirstChild()); + else if(lChild2->getValue()=="Sigma") lValues.mSigma.read(lChild2->getFirstChild()); + } + } + } + Beagle_StackTraceEndM("void GA::CMAHolder::readWithSystem(PACC::XML::ConstIterator inIter, System& ioSystem)"); +} + + +/*! + * \brief Write CMA system component into XML streamer. + * \param ioStreamer XML streamer to write CMA holder into. + * \param inIndent Whether output should be indented. + */ +void GA::CMAHolder::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("CMAHolder", inIndent); + for(GA::CMAHolder::const_iterator lIterMap=begin(); lIterMap!=end(); ++lIterMap) { + ioStreamer.openTag("CMAValues", inIndent); + ioStreamer.insertAttribute("index", uint2str(lIterMap->first)); + ioStreamer.openTag("B", inIndent); + lIterMap->second.mB.write(ioStreamer, inIndent); + ioStreamer.closeTag(); + ioStreamer.openTag("D", inIndent); + lIterMap->second.mD.write(ioStreamer, inIndent); + ioStreamer.closeTag(); + ioStreamer.openTag("PC", inIndent); + lIterMap->second.mPC.write(ioStreamer, inIndent); + ioStreamer.closeTag(); + ioStreamer.openTag("PS", inIndent); + lIterMap->second.mPS.write(ioStreamer, inIndent); + ioStreamer.closeTag(); + ioStreamer.openTag("Xmean", inIndent); + lIterMap->second.mXmean.write(ioStreamer, inIndent); + ioStreamer.closeTag(); + ioStreamer.openTag("Sigma", inIndent); + lIterMap->second.mSigma.write(ioStreamer, inIndent); + ioStreamer.closeTag(); + ioStreamer.closeTag(); + } + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void GA::CMAHolder::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} diff --git a/lib/beagle-3.0.3/beagle/GA/src/CrossoverBlendESVecOp.cpp b/lib/beagle-3.0.3/beagle/GA/src/CrossoverBlendESVecOp.cpp new file mode 100755 index 0000000..5b7d2de --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/CrossoverBlendESVecOp.cpp @@ -0,0 +1,208 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/CrossoverBlendESVecOp.cpp + * \brief Source code of class GA::CrossoverBlendFltVec. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.2 $ + * $Date: 2007/05/11 19:18:44 $ + */ + +#include "beagle/GA.hpp" + +#include +#include +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a ES blend crossover operator. + * \param inMatingPbName Mating probability parameter name. + * \param inName Name of the operator. + */ +Beagle::GA::CrossoverBlendESVecOp::CrossoverBlendESVecOp(string inMatingPbName, + string inName) : + CrossoverOp(inMatingPbName, inName) +{ } + + +/*! + * \brief Initialize the ES blend crossover operator. + * \param ioSystem System of the evolution. + */ +void Beagle::GA::CrossoverBlendESVecOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + CrossoverOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + ioSystem.getRegister().deleteEntry(mMatingProbaName); + } + + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + mMatingProba = castHandleT(ioSystem.getRegister()[mMatingProbaName]); + } else { + mMatingProba = new Float(float(0.3)); + Register::Description lDescription( + "Individual blend crossover prob.", + "Float", + "0.3", + "ES blend crossover probability of a single individual." + ); + ioSystem.getRegister().addEntry(mMatingProbaName, mMatingProba, lDescription); + } + + if(ioSystem.getRegister().isRegistered("es.value.max")) { + mMaxValue = castHandleT(ioSystem.getRegister()["es.value.max"]); + } else { + mMaxValue = new DoubleArray(1,DBL_MAX); + std::ostringstream lOSS; + lOSS << "ES vector maximum values. This can be a scalar, which limit the values for all ES, "; + lOSS << "or a vector which limit the values individually. If the maximum value vector size is "; + lOSS << "smaller than the ES vector size, the limit used for the last values of the ES vector "; + lOSS << "is equal to the last value of the maximum value vector."; + Register::Description lDescription( + "Maximum ES vector values", + "DoubleArray", + dbl2str(DBL_MAX), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("es.value.max", mMaxValue, lDescription); + } + + if(ioSystem.getRegister().isRegistered("es.value.min")) { + mMinValue = castHandleT(ioSystem.getRegister()["es.value.min"]); + } else { + mMinValue = new DoubleArray(1,-DBL_MAX); + std::ostringstream lOSS; + lOSS << "ES vector minimum values. This can be a scalar, which limit the values for all ES, "; + lOSS << "or a vector which limit the values individually. If the minimum value vector size is "; + lOSS << "smaller than the ES vector size, the limit used for the last values of the ES vector "; + lOSS << "is equal to the last value of the minimum value vector."; + Register::Description lDescription( + "Minimum ES vector values", + "DoubleArray", + dbl2str(-DBL_MAX), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("es.value.min", mMinValue, lDescription); + } + + if(ioSystem.getRegister().isRegistered("es.cxblend.alpha")) { + mAlpha = castHandleT(ioSystem.getRegister()["es.cxblend.alpha"]); + } else { + mAlpha = new Double(double(0.5)); + Register::Description lDescription( + "Blend crossover alpha value", + "Double", + "0.5", + "ES blend crossover alpha parameter moduling amplitude of operation." + ); + ioSystem.getRegister().addEntry("es.cxblend.alpha", mAlpha, lDescription); + } + Beagle_StackTraceEndM("void GA::CrossoverBlendESVecOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Mate two ES individuals for blend crossover. + * \param ioIndiv1 First individual to mate. + * \param ioContext1 Evolutionary context of the first individual. + * \param ioIndiv2 Second individual to mate. + * \param ioContext2 Evolutionary context of the second individual. + * \return True if the individuals are effectively mated, false if not. + */ +bool Beagle::GA::CrossoverBlendESVecOp::mate(Beagle::Individual& ioIndiv1, + Beagle::Context& ioContext1, + Beagle::Individual& ioIndiv2, + Beagle::Context& ioContext2) +{ + Beagle_StackTraceBeginM(); + unsigned int lNbGenotypes = minOf(ioIndiv1.size(), ioIndiv2.size()); + if(lNbGenotypes == 0) return false; + + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverBlendESVecOp", + string("The first individual mated is (before ES blend crossover): ")+ + ioIndiv1.serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverBlendESVecOp", + string("The second individual mated is (before ES blend crossover): ")+ + ioIndiv2.serialize() + ); + + for(unsigned int i=0; i(ioIndiv1[i]); + GA::ESVector::Handle lESVector2 = castHandleT(ioIndiv2[i]); + unsigned int lSize = minOf(lESVector1->size(), lESVector2->size()); + for(unsigned int j=0; jsize() ? (*mMaxValue)[j] : mMaxValue->back(); + const double lMinVal = jsize() ? (*mMinValue)[j] : mMinValue->back(); + const double lU_xi = ioContext1.getSystem().getRandomizer().rollUniform(); + const double lGamma_xi = ((1.0+2.0*mAlpha->getWrappedValue())*lU_xi)-mAlpha->getWrappedValue(); + const double lU_si = ioContext1.getSystem().getRandomizer().rollUniform(); + const double lGamma_si = ((1.0+2.0*mAlpha->getWrappedValue())*lU_si)-mAlpha->getWrappedValue(); + const double lX1_i = (*lESVector1)[j].mValue; + const double lX2_i = (*lESVector2)[j].mValue; + const double lS1_i = (*lESVector1)[j].mStrategy; + const double lS2_i = (*lESVector2)[j].mStrategy; + (*lESVector1)[j].mValue = ((1.0-lGamma_xi)*lX1_i) + (lGamma_xi*lX2_i); + (*lESVector2)[j].mValue = (lGamma_xi*lX1_i) + ((1.0-lGamma_xi)*lX2_i); + if((*lESVector1)[j].mValue > lMaxVal) (*lESVector1)[j].mValue = lMaxVal; + if((*lESVector1)[j].mValue < lMinVal) (*lESVector1)[j].mValue = lMinVal; + if((*lESVector2)[j].mValue > lMaxVal) (*lESVector2)[j].mValue = lMaxVal; + if((*lESVector2)[j].mValue < lMinVal) (*lESVector2)[j].mValue = lMinVal; + (*lESVector1)[j].mStrategy = ((1.0-lGamma_si)*lS1_i) + (lGamma_si*lS2_i); + (*lESVector2)[j].mStrategy = (lGamma_si*lS1_i) + ((1.0-lGamma_si)*lS2_i); + } + } + + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverBlendEsVecOp", + string("The first individual mated is (after ES blend crossover): ")+ + ioIndiv1.serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverBlendEsVecOp", + string("The second individual mated is (after ES blend crossover): ")+ + ioIndiv2.serialize() + ); + + return true; + Beagle_StackTraceEndM("bool GA::CrossoverBlendESVecOp::mate(Individual& ioIndiv1, Context& ioContext1, Individual& ioIndiv2, Context& ioContext2)"); +} + + diff --git a/lib/beagle-3.0.3/beagle/GA/src/CrossoverBlendFltVecOp.cpp b/lib/beagle-3.0.3/beagle/GA/src/CrossoverBlendFltVecOp.cpp new file mode 100644 index 0000000..021986a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/CrossoverBlendFltVecOp.cpp @@ -0,0 +1,233 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/CrossoverBlendFltVecOp.cpp + * \brief Source code of class GA::CrossoverBlendFltVec. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.14.2.2 $ + * $Date: 2007/05/11 19:18:44 $ + */ + +#include "beagle/GA.hpp" + +#include +#include +#include +#include +#include + +using namespace std; +using namespace Beagle; + + +/*! + * \brief Construct a real-valued GA blend crossover operator. + * \param inMatingPbName Mating probability parameter name. + * \param inName Name of the operator. + */ +Beagle::GA::CrossoverBlendFltVecOp::CrossoverBlendFltVecOp(string inMatingPbName, + string inName) : + CrossoverOp(inMatingPbName, inName) +{ } + + +/*! + * \brief Initialize the real-valued GA blend crossover operator. + * \param ioSystem System of the evolution. + */ +void Beagle::GA::CrossoverBlendFltVecOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + CrossoverOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + ioSystem.getRegister().deleteEntry(mMatingProbaName); + } + + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + mMatingProba = castHandleT(ioSystem.getRegister()[mMatingProbaName]); + } else { + mMatingProba = new Float(float(0.3)); + Register::Description lDescription( + "Individual blend crossover prob.", + "Float", + "0.3", + "Real-valued GA blend crossover probability of a single individual." + ); + ioSystem.getRegister().addEntry(mMatingProbaName, mMatingProba, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.float.maxvalue")) { + mMaxValue = castHandleT(ioSystem.getRegister()["ga.float.maxvalue"]); + } else { + mMaxValue = new DoubleArray(1,DBL_MAX); + std::ostringstream lOSS; + lOSS << "Maximum values assigned to vector's floats. "; + lOSS << "Value can be a scalar, which limit the value for all float "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the maximum value is smaller than the "; + lOSS << "float vector size, the limit used for the last values of the float vector "; + lOSS << "is equal to the last value of the maximum value vector."; + Register::Description lDescription( + "Maximum vector values", + "DoubleArray", + dbl2str(DBL_MAX), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("ga.float.maxvalue", mMaxValue, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.float.minvalue")) { + mMinValue = castHandleT(ioSystem.getRegister()["ga.float.minvalue"]); + } else { + mMinValue = new DoubleArray(1,-DBL_MAX); + std::ostringstream lOSS; + lOSS << "Minimum values assigned to vector's floats. "; + lOSS << "Value can be a scalar, which limit the value for all float "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the minimum value is smaller than the "; + lOSS << "float vector size, the limit used for the last values of the float vector "; + lOSS << "is equal to the last value of the minimum value vector."; + Register::Description lDescription( + "Minimum values", + "DoubleArray", + dbl2str(-DBL_MAX), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("ga.float.minvalue", mMinValue, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.float.inc")) { + mIncValue = castHandleT(ioSystem.getRegister()["ga.float.inc"]); + } else { + mIncValue = new DoubleArray(1,0.0); + std::ostringstream lOSS; + lOSS << "Increments of valid values assigned to vector's floats. "; + lOSS << "Value can be a scalar, which limit the value for all float "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the value is not evenly divisible by the "; + lOSS << "increment, the value will be set to the closest valid "; + lOSS << "value."; + Register::Description lDescription( + "Increments of valid values", + "DoubleArray", + "0.0", + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("ga.float.inc", mIncValue, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.cxblend.alpha")) { + mAlpha = castHandleT(ioSystem.getRegister()["ga.cxblend.alpha"]); + } else { + mAlpha = new Double(0.5); + Register::Description lDescription( + "Blend crossover alpha value", + "Double", + "0.5", + "GA blend crossover alpha parameter moduling amplitude of operation." + ); + ioSystem.getRegister().addEntry("ga.cxblend.alpha", mAlpha, lDescription); + } + Beagle_StackTraceEndM("void GA::CrossoverBlendFltVecOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Mate two GA individuals for real-valued GA blend crossover. + * \param ioIndiv1 First individual to mate. + * \param ioContext1 Evolutionary context of the first individual. + * \param ioIndiv2 Second individual to mate. + * \param ioContext2 Evolutionary context of the second individual. + * \return True if the individuals are effectively mated, false if not. + */ +bool Beagle::GA::CrossoverBlendFltVecOp::mate(Beagle::Individual& ioIndiv1, + Beagle::Context& ioContext1, + Beagle::Individual& ioIndiv2, + Beagle::Context& ioContext2) +{ + Beagle_StackTraceBeginM(); + unsigned int lNbGenotypes = minOf(ioIndiv1.size(), ioIndiv2.size()); + if(lNbGenotypes == 0) return false; + + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverBlendFltVec", + string("The first individual mated is (before real-valued GA blend crossover): ")+ + ioIndiv1.serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverBlendFltVec", + string("The second individual mated is (before real-valued GA blend crossover): ")+ + ioIndiv2.serialize() + ); + + for(unsigned int i=0; i(ioIndiv1[i]); + GA::FloatVector::Handle lFloatVector2 = castHandleT(ioIndiv2[i]); + const unsigned int lSize = minOf(lFloatVector1->size(), lFloatVector2->size()); + for(unsigned int j=0; jsize() ? (*mMaxValue)[j] : mMaxValue->back(); + const double lMinVal = jsize() ? (*mMinValue)[j] : mMinValue->back(); + const double lIncVal = jsize() ? (*mIncValue)[j] : mIncValue->back(); + const double lU_i = ioContext1.getSystem().getRandomizer().rollUniform(); + const double lGamma_i = ((1.0+2.0*mAlpha->getWrappedValue())*lU_i)-mAlpha->getWrappedValue(); + const double lX1_i = (*lFloatVector1)[j]; + const double lX2_i = (*lFloatVector2)[j]; + (*lFloatVector1)[j] = ((1.0-lGamma_i)*lX1_i) + (lGamma_i*lX2_i); + (*lFloatVector2)[j] = (lGamma_i*lX1_i) + ((1.0-lGamma_i)*lX2_i); + if(lIncVal!=0.0) { + (*lFloatVector1)[j] = lIncVal * round((*lFloatVector1)[j] / lIncVal); + (*lFloatVector2)[j] = lIncVal * round((*lFloatVector2)[j] / lIncVal); + } + if((*lFloatVector1)[j] > lMaxVal) (*lFloatVector1)[j] = lMaxVal; + if((*lFloatVector1)[j] < lMinVal) (*lFloatVector1)[j] = lMinVal; + if((*lFloatVector2)[j] > lMaxVal) (*lFloatVector2)[j] = lMaxVal; + if((*lFloatVector2)[j] < lMinVal) (*lFloatVector2)[j] = lMinVal; + } + } + + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverBlendFltVec", + string("The first individual mated is (after real-valued GA blend crossover): ")+ + ioIndiv1.serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverBlendFltVec", + string("The second individual mated is (after real-valued GA blend crossover): ")+ + ioIndiv2.serialize() + ); + + return true; + Beagle_StackTraceEndM("bool GA::CrossoverBlendFltVecOp::mate(Individual& ioIndiv1, Context& ioContext1, Individual& ioIndiv2, Context& ioContext2)"); +} + + diff --git a/lib/beagle-3.0.3/beagle/GA/src/CrossoverIndicesIntVecOp.cpp b/lib/beagle-3.0.3/beagle/GA/src/CrossoverIndicesIntVecOp.cpp new file mode 100644 index 0000000..2cc75ce --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/CrossoverIndicesIntVecOp.cpp @@ -0,0 +1,186 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/CrossoverIndicesIntVecOp.cpp + * \brief Source code of class GA::CrossoverIndicesIntVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#include "beagle/GA.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a indices integer vector crossover operator. + * \param inMatingPbName Mating probability parameter name. + * \param inName Name of the operator. + */ +Beagle::GA::CrossoverIndicesIntVecOp::CrossoverIndicesIntVecOp(string inMatingPbName, + string inName) : + CrossoverOp(inMatingPbName, inName) +{ } + + +/*! + * \brief Initialize the indices integer vector operator. + * \param ioSystem System of the evolution. + */ +void Beagle::GA::CrossoverIndicesIntVecOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + CrossoverOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + ioSystem.getRegister().deleteEntry(mMatingProbaName); + } + + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + mMatingProba = castHandleT(ioSystem.getRegister()[mMatingProbaName]); + } else { + mMatingProba = new Float(float(0.3)); + Register::Description lDescription( + "Indices int. crossover prob.", + "Float", + "0.3", + "Indices integer vector crossover probability of a single individual." + ); + ioSystem.getRegister().addEntry(mMatingProbaName, mMatingProba, lDescription); + } + Beagle_StackTraceEndM("void GA::CrossoverIndicesIntVecOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Mate two GA individuals for indices integer vector crossover. + * \param ioIndiv1 First individual to mate. + * \param ioContext1 Evolutionary context of the first individual. + * \param ioIndiv2 Second individual to mate. + * \param ioContext2 Evolutionary context of the second individual. + * \return True if the individuals are effectively mated, false if not. + */ +bool Beagle::GA::CrossoverIndicesIntVecOp::mate(Beagle::Individual& ioIndiv1, + Beagle::Context& ioContext1, + Beagle::Individual& ioIndiv2, + Beagle::Context& ioContext2) +{ + Beagle_StackTraceBeginM(); + unsigned int lNbGenotypes = minOf(ioIndiv1.size(), ioIndiv2.size()); + if(lNbGenotypes==0) return false; + + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverIndicesIntVecOp", + string("The first individual mated is (before indices integer vector crossover): ")+ + ioIndiv1.serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverIndicesIntVecOp", + string("The second individual mated is (before indices integer vector crossover): ")+ + ioIndiv2.serialize() + ); + + for(unsigned int i=0; i(ioIndiv1[i]); + std::deque< int,BEAGLE_STLALLOCATOR > lIntVecCopy1(lIntVector1->begin(), lIntVector1->end()); + std::vector< bool,BEAGLE_STLALLOCATOR > lSelected1(lIntVecCopy1.size(), false); + GA::IntegerVector::Handle lIntVector2 = castHandleT(ioIndiv2[i]); + std::deque< int,BEAGLE_STLALLOCATOR > lIntVecCopy2(lIntVector2->begin(), lIntVector2->end()); + std::vector< bool,BEAGLE_STLALLOCATOR > lSelected2(lIntVecCopy2.size(), false); + const unsigned int lSumSize = lIntVector1->size() + lIntVector2->size(); + unsigned int lCount1=0; + unsigned int lCount2=0; + while((lIntVecCopy1.empty()==false) || (lIntVecCopy2.empty()==false)) { + // Get next selected index. + unsigned int lSelectedIndex=0; + if(lIntVecCopy1.empty()) { + lSelectedIndex=lIntVecCopy2.front(); + lIntVecCopy2.pop_front(); + } + else if(lIntVecCopy2.empty()) { + lSelectedIndex=lIntVecCopy1.front(); + lIntVecCopy1.pop_front(); + } + else { + if(ioContext1.getSystem().getRandomizer().rollInteger(0,lSumSize-1) >= lIntVector1->size()) { + lSelectedIndex=lIntVecCopy2.front(); + lIntVecCopy2.pop_front(); + } + else { + lSelectedIndex=lIntVecCopy1.front(); + lIntVecCopy1.pop_front(); + } + } + // Insert selected index in appropriate integer vector. + if((lSelectedIndex>=lIntVector1->size()) || lSelected1[lSelectedIndex]) { + Beagle_AssertM(lSelectedIndexsize()); + Beagle_AssertM(lSelected2[lSelectedIndex]==false); + Beagle_AssertM(lCount2size()); + (*lIntVector2)[lCount2++] = lSelectedIndex; + lSelected2[lSelectedIndex] = true; + } + else if((lSelectedIndex>=lIntVector2->size()) || lSelected2[lSelectedIndex]) { + Beagle_AssertM(lCount1size()); + (*lIntVector1)[lCount1++] = lSelectedIndex; + lSelected1[lSelectedIndex] = true; + } + else if(ioContext1.getSystem().getRandomizer().rollUniform(0.0,1.0) >= 0.5) { + Beagle_AssertM(lCount1size()); + (*lIntVector1)[lCount1++] = lSelectedIndex; + lSelected1[lSelectedIndex] = true; + } + else { + Beagle_AssertM(lCount2size()); + (*lIntVector2)[lCount2++] = lSelectedIndex; + lSelected2[lSelectedIndex] = true; + } + } + } + + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverIndicesIntVecOp", + string("The first individual mated is (after indices integer vector crossover): ")+ + ioIndiv1.serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverIndicesIntVecOp", + string("The second individual mated is (after indices integer vector crossover): ")+ + ioIndiv2.serialize() + ); + + return true; + Beagle_StackTraceEndM("bool GA::CrossoverIndicesIntVecOp::mate(Individual& ioIndiv1, Context& ioContext1, Individual& ioIndiv2, Context& ioContext2)"); +} diff --git a/lib/beagle-3.0.3/beagle/GA/src/CrossoverSBXFltVecOp.cpp b/lib/beagle-3.0.3/beagle/GA/src/CrossoverSBXFltVecOp.cpp new file mode 100644 index 0000000..7a15474 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/CrossoverSBXFltVecOp.cpp @@ -0,0 +1,209 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/CrossoverSBXFltVecOp.cpp + * \brief Source code of class GA::CrossoverSBXFltVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.2 $ + * $Date: 2007/05/11 19:18:44 $ + */ + +#include "beagle/GA.hpp" + +#include +#include +#include +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a real-valued simulated binary crossover (SBX) operator. + * \param inMatingPbName Mating probability parameter name. + * \param inName Name of the operator. + */ +Beagle::GA::CrossoverSBXFltVecOp::CrossoverSBXFltVecOp(string inMatingPbName, + string inName) : + CrossoverOp(inMatingPbName, inName) +{ } + + +/*! + * \brief Initialize the real-valued simulated binary crossover (SBX) operator. + * \param ioSystem System of the evolution. + */ +void Beagle::GA::CrossoverSBXFltVecOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + CrossoverOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + ioSystem.getRegister().deleteEntry(mMatingProbaName); + } + + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + mMatingProba = castHandleT(ioSystem.getRegister()[mMatingProbaName]); + } else { + mMatingProba = new Float(float(0.3)); + Register::Description lDescription( + "Individual SBX crossover prob.", + "Float", + "0.3", + "Real-valued simulated binary crossover (SBX) probability of a single individual." + ); + ioSystem.getRegister().addEntry(mMatingProbaName, mMatingProba, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.float.maxvalue")) { + mMaxValue = castHandleT(ioSystem.getRegister()["ga.float.maxvalue"]); + } else { + mMaxValue = new DoubleArray(1,DBL_MAX); + std::ostringstream lOSS; + lOSS << "Maximum values assigned to vector's floats. "; + lOSS << "Value can be a scalar, which limit the value for all float "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the maximum value is smaller than the "; + lOSS << "float vector size, the limit used for the last values of the float vector "; + lOSS << "is equal to the last value of the maximum value vector."; + Register::Description lDescription( + "Maximum vector values", + "DoubleArray", + dbl2str(DBL_MAX), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("ga.float.maxvalue", mMaxValue, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.float.minvalue")) { + mMinValue = castHandleT(ioSystem.getRegister()["ga.float.minvalue"]); + } else { + mMinValue = new DoubleArray(1,-DBL_MAX); + std::ostringstream lOSS; + lOSS << "Minimum values assigned to vector's floats. "; + lOSS << "Value can be a scalar, which limit the value for all float "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the minimum value is smaller than the "; + lOSS << "float vector size, the limit used for the last values of the float vector "; + lOSS << "is equal to the last value of the minimum value vector."; + Register::Description lDescription( + "Minimum values", + "DoubleArray", + dbl2str(-DBL_MAX), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("ga.float.minvalue", mMinValue, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.cxsbx.nu")) { + mNu = castHandleT(ioSystem.getRegister()["ga.cxsbx.nu"]); + } else { + mNu = new Double(2.0); + Register::Description lDescription( + "SBX crossover nu value", + "Double", + "2.0", + "SBX crossover nu parameter moduling crossover." + ); + ioSystem.getRegister().addEntry("ga.cxsbx.nu", mNu, lDescription); + } + Beagle_StackTraceEndM("void GA::CrossoverSBXFltVecOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Mate two GA individuals for real-valued SBX crossover. + * \param ioIndiv1 First individual to mate. + * \param ioContext1 Evolutionary context of the first individual. + * \param ioIndiv2 Second individual to mate. + * \param ioContext2 Evolutionary context of the second individual. + * \return True if the individuals are effectively mated, false if not. + */ +bool Beagle::GA::CrossoverSBXFltVecOp::mate(Beagle::Individual& ioIndiv1, + Beagle::Context& ioContext1, + Beagle::Individual& ioIndiv2, + Beagle::Context& ioContext2) +{ + Beagle_StackTraceBeginM(); + unsigned int lNbGenotypes = minOf(ioIndiv1.size(), ioIndiv2.size()); + if(lNbGenotypes==0) return false; + + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverSBXFltVecOp", + string("The first individual mated is (before real-valued SBX crossover): ")+ + ioIndiv1.serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverSBXFltVecOp", + string("The second individual mated is (before real-valued SBX crossover): ")+ + ioIndiv2.serialize() + ); + + const double lNu=mNu->getWrappedValue(); + for(unsigned int i=0; i(ioIndiv1[i]); + GA::FloatVector::Handle lFloatVector2 = castHandleT(ioIndiv2[i]); + const unsigned int lSize = minOf(lFloatVector1->size(), lFloatVector2->size()); + for(unsigned int j=0; jsize() ? (*mMaxValue)[j] : mMaxValue->back(); + const double lMinVal = jsize() ? (*mMinValue)[j] : mMinValue->back(); + const double lU_i = ioContext1.getSystem().getRandomizer().rollUniform(); + const double lX1_i = (*lFloatVector1)[j]; + const double lX2_i = (*lFloatVector2)[j]; + double lBeta_i = (lU_i<=0.5) ? (2.0*lU_i) : (1.0/(2.0*(1.0-lU_i))); + lBeta_i = std::pow(lBeta_i, 1.0/(lNu+1.0)); + (*lFloatVector1)[j] = 0.5 * (((1.0+lBeta_i)*lX1_i) + ((1.0-lBeta_i)*lX2_i)); + (*lFloatVector2)[j] = 0.5 * (((1.0-lBeta_i)*lX1_i) + ((1.0+lBeta_i)*lX2_i)); + if((*lFloatVector1)[j] > lMaxVal) (*lFloatVector1)[j] = lMaxVal; + if((*lFloatVector1)[j] < lMinVal) (*lFloatVector1)[j] = lMinVal; + if((*lFloatVector2)[j] > lMaxVal) (*lFloatVector2)[j] = lMaxVal; + if((*lFloatVector2)[j] < lMinVal) (*lFloatVector2)[j] = lMinVal; + } + } + + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverSBXFltVecOp", + string("The first individual mated is (after real-valued SBX crossover): ")+ + ioIndiv1.serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GA::CrossoverSBXFltVecOp", + string("The second individual mated is (after real-valued SBX crossover): ")+ + ioIndiv2.serialize() + ); + + return true; + Beagle_StackTraceEndM("bool GA::CrossoverSBXFltVecOp::mate(Individual& ioIndiv1, Context& ioContext1, Individual& ioIndiv2, Context& ioContext2)"); +} + + diff --git a/lib/beagle-3.0.3/beagle/GA/src/ESVector.cpp b/lib/beagle-3.0.3/beagle/GA/src/ESVector.cpp new file mode 100644 index 0000000..ee2504b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/ESVector.cpp @@ -0,0 +1,167 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/ESVector.cpp + * \brief Source code of class GA::ESVector. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.15.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#include "beagle/GA.hpp" + +#include +#include +#include // To get FLT_MAX on Borland C++ Builder + +using namespace Beagle; + + +/*! + * \brief Construct a ES pair element. + * \param inValue Value of the ES pair. + * \param inStrategy Strategy parameter of the ES pair. + */ +GA::ESPair::ESPair(double inValue, double inStrategy) : + mValue(inValue), + mStrategy(inStrategy) +{ } + + +/*! + * \brief Compare equality of two ES pair. + * \param inRightPair Second ES pair to compare with the actual one. + * \return True if both value and strategy of pairs are equal, false if not. + */ +bool GA::ESPair::operator==(const GA::ESPair& inRightPair) const +{ + Beagle_StackTraceBeginM(); + return ((mValue == inRightPair.mValue) && (mStrategy == inRightPair.mStrategy)); + Beagle_StackTraceEndM("bool GA::ESPair::operator==(const GA::ESPair& inRightPair) const"); +} + + +/*! + * \brief Construct an ES vector. + * \param inSize Size of the vector. + * \param inModel Default ES pair value. + */ +GA::ESVector::ESVector(unsigned int inSize, GA::ESPair inModel) : + std::vector< GA::ESPair,BEAGLE_STLALLOCATOR >(inSize, inModel) +{ } + + +/*! + * \brief Return size (length) of genotype. + * \return Size (length) of genotype. + */ +unsigned int GA::ESVector::getSize() const +{ + Beagle_StackTraceBeginM(); + return size(); + Beagle_StackTraceEndM("unsigned int GA::ESVector::getSize() const"); +} + + +/*! + * \brief Test if two ES vectors are equals. + * \param inRightObj Second ES vector used for the comparison. + * \return True if ES vectors are equal, false if not. + * \par Note: + * Returns true if the range [ 0, min(end(),inRightObj.end()) ) + * are identical when compared element-by-element, and otherwise returns false. + */ +bool GA::ESVector::isEqual(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const GA::ESVector& lRightESV = castObjectT(inRightObj); + unsigned int lSizeCompared = minOf(size(), lRightESV.size()); + return std::equal(begin(), begin()+lSizeCompared, lRightESV.begin()); + Beagle_StackTraceEndM("bool GA::ESVector::isEqual(const Object& inRightObj) const"); +} + + +/*! + * \brief Read an ES vector from a XML subtree. + * \param inIter XML iterator from which the ES vector is read. + * \param ioContext Evolutionary context to use to read the ES vector. + * \throw IOException If a reading error occured (generally bad file format)! + */ +void GA::ESVector::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Genotype")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + string lType = inIter->getAttribute("type").c_str(); + if(lType.empty()) + throw Beagle_IOExceptionNodeM(*inIter, "ES vector type of the genotype is not present!"); + if((lType != "ESVector") && (lType != "esvector")) + throw Beagle_IOExceptionNodeM(*inIter, "type of genotype mismatch, expected \"ESVector\"!"); + + PACC::XML::ConstIterator lChild = inIter->getFirstChild(); + if((!lChild) || (lChild->getType()!=PACC::XML::eString)) + throw Beagle_IOExceptionNodeM(*lChild, "expected content for the ES vector!"); + + clear(); + std::istringstream lISS(lChild->getValue()); + do { + char lC1='\0', lC2='\0', lC3='\0'; + double lValue=DBL_MAX, lStrategy=DBL_MAX; + lISS >> lC1 >> lValue >> lC2 >> lStrategy >> lC3; + if((lC1!='(') || (lC2!=',') || (lC3!=')')) + throw Beagle_IOExceptionNodeM(*lChild, "bad format of ES vector!"); + if((lValue==DBL_MAX) || (lStrategy==DBL_MAX)) + throw Beagle_IOExceptionNodeM(*lChild, "bad format of ES vector!"); + push_back(ESPair(lValue, lStrategy)); + } while(lISS.get()==int('/')); + Beagle_StackTraceEndM("void GA::ESVector::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext)"); +} + + +/*! + * \brief Write an ES vector into a XML streamer. + * \param ioStreamer XML streamer into which the ES vector is written. + * \param inIndent Whether XML output should be indented. + */ +void GA::ESVector::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Genotype", false); + ioStreamer.insertAttribute("type", "esvector"); + ioStreamer.insertAttribute("size", uint2str(size())); + std::ostringstream lOSS; + for(size_type i=0; i + +using namespace Beagle; + + +/*! + * \brief Construct a GA Generational evolver. + * \param inInitSize Number of bits in the GA bit strings + */ +GA::EvolverBitString::EvolverBitString(unsigned int inInitSize) +{ + Beagle_StackTraceBeginM(); + addOperator(new GA::InitBitStrOp(inInitSize)); + addOperator(new GA::CrossoverOnePointBitStrOp); + addOperator(new GA::CrossoverTwoPointsBitStrOp); + addOperator(new GA::CrossoverUniformBitStrOp); + addOperator(new GA::MutationFlipBitStrOp); + Beagle_StackTraceEndM("GA::EvolverBitString::EvolverBitString(unsigned int inInitSize)"); +} + + +/*! + * \brief Construct a GA Generational evolver. + * \param inEvalOp Evaluation operator. + * \param inInitSize Number of bits in the GA bit strings. + */ +GA::EvolverBitString::EvolverBitString(EvaluationOp::Handle inEvalOp, unsigned int inInitSize) +{ + Beagle_StackTraceBeginM(); + addOperator(inEvalOp); + addOperator(new GA::InitBitStrOp(inInitSize)); + addOperator(new GA::CrossoverOnePointBitStrOp); + addOperator(new GA::CrossoverTwoPointsBitStrOp); + addOperator(new GA::CrossoverUniformBitStrOp); + addOperator(new GA::MutationFlipBitStrOp); + + addBootStrapOp("IfThenElseOp"); + IfThenElseOp::Handle lITE = castHandleT(getBootStrapSet().back()); + lITE->setConditionTag("ms.restart.file"); + lITE->setConditionValue(""); + lITE->insertPositiveOp("GA-InitBitStrOp", getOperatorMap()); + lITE->insertPositiveOp(inEvalOp->getName(), getOperatorMap()); + lITE->insertPositiveOp("StatsCalcFitnessSimpleOp", getOperatorMap()); + lITE->insertNegativeOp("MilestoneReadOp", getOperatorMap()); + addBootStrapOp("TermMaxGenOp"); + addBootStrapOp("MilestoneWriteOp"); + + addMainLoopOp("SelectTournamentOp"); + addMainLoopOp("GA-CrossoverOnePointBitStrOp"); + addMainLoopOp("GA-MutationFlipBitStrOp"); + addMainLoopOp(inEvalOp->getName()); + addMainLoopOp("MigrationRandomRingOp"); + addMainLoopOp("StatsCalcFitnessSimpleOp"); + addMainLoopOp("TermMaxGenOp"); + addMainLoopOp("MilestoneWriteOp"); + Beagle_StackTraceEndM("GA::EvolverBitString::EvolverBitString(EvaluationOp::Handle inEvalOp, unsigned int inInitSize)"); +} + + +/*! + * \brief Construct a GA Generational evolver. + * \param inInitSize Size of the GA bit strings. + * \deprecated Use EvolverBitString(EvaluationOp::Handle,unsigned int) constructor instead. + * \throw Beagle::RunTimeException If init size vector has more than one value. + */ +GA::EvolverBitString::EvolverBitString(UIntArray inInitSize) +{ + Beagle_StackTraceBeginM(); + if(inInitSize.size()==0) addOperator(new GA::InitBitStrOp(0)); + else if(inInitSize.size()==1) addOperator(new GA::InitBitStrOp(inInitSize[0])); + else { + std::ostringstream lOSS; + lOSS << "Initialization of bit string individuals with more than one bit string "; + lOSS << "is no more valid. You should use individuals made of one bit string, or "; + lOSS << "define your own bit string initialization operator."; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + addOperator(new GA::CrossoverOnePointBitStrOp); + addOperator(new GA::CrossoverTwoPointsBitStrOp); + addOperator(new GA::CrossoverUniformBitStrOp); + addOperator(new GA::MutationFlipBitStrOp); + Beagle_StackTraceEndM("GA::EvolverBitString::EvolverBitString(UIntArray inInitSize)"); +} + + +/*! + * \brief Construct a GA Generational evolver. + * \param inEvalOp Evaluation operator. + * \param inInitSize Size of the GA bit strings. + * \deprecated Use EvolverBitString(EvaluationOp::Handle,unsigned int) constructor instead. + * \throw Beagle::RunTimeException If init size vector has more than one value. + */ +GA::EvolverBitString::EvolverBitString(EvaluationOp::Handle inEvalOp, UIntArray inInitSize) +{ + Beagle_StackTraceBeginM(); + addOperator(inEvalOp); + if(inInitSize.size()==0) addOperator(new GA::InitBitStrOp(0)); + else if(inInitSize.size()==1) addOperator(new GA::InitBitStrOp(inInitSize[0])); + else { + std::ostringstream lOSS; + lOSS << "Initialization of bit string individuals with more than one bit string "; + lOSS << "is no more valid. You should use individuals made of one bit string, or "; + lOSS << "define your own bit string initialization operator."; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + addOperator(new GA::CrossoverOnePointBitStrOp); + addOperator(new GA::CrossoverTwoPointsBitStrOp); + addOperator(new GA::CrossoverUniformBitStrOp); + addOperator(new GA::MutationFlipBitStrOp); + + addBootStrapOp("IfThenElseOp"); + IfThenElseOp::Handle lITE = castHandleT(getBootStrapSet().back()); + lITE->setConditionTag("ms.restart.file"); + lITE->setConditionValue(""); + lITE->insertPositiveOp("GA-InitBitStrOp", getOperatorMap()); + lITE->insertPositiveOp(inEvalOp->getName(), getOperatorMap()); + lITE->insertPositiveOp("StatsCalcFitnessSimpleOp", getOperatorMap()); + lITE->insertNegativeOp("MilestoneReadOp", getOperatorMap()); + addBootStrapOp("TermMaxGenOp"); + addBootStrapOp("MilestoneWriteOp"); + + addMainLoopOp("SelectTournamentOp"); + addMainLoopOp("GA-CrossoverOnePointBitStrOp"); + addMainLoopOp("GA-MutationFlipBitStrOp"); + addMainLoopOp(inEvalOp->getName()); + addMainLoopOp("MigrationRandomRingOp"); + addMainLoopOp("StatsCalcFitnessSimpleOp"); + addMainLoopOp("TermMaxGenOp"); + addMainLoopOp("MilestoneWriteOp"); + Beagle_StackTraceEndM("GA::EvolverBitString::EvolverBitString(EvaluationOp::Handle inEvalOp, UIntArray inInitSize)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GA/src/EvolverES.cpp b/lib/beagle-3.0.3/beagle/GA/src/EvolverES.cpp new file mode 100644 index 0000000..8ae87e0 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/EvolverES.cpp @@ -0,0 +1,186 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/EvolverES.cpp + * \brief Source code of class GA::EvolverES. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.13.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#include "beagle/GA.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a evolution strategy evolver. + * \param inInitSize Number of (value,strategy) pairs of the ES vectors. + */ +GA::EvolverES::EvolverES(unsigned int inInitSize) +{ + Beagle_StackTraceBeginM(); + addOperator(new GA::InitESVecOp(inInitSize)); + addOperator(new GA::CrossoverOnePointESVecOp); + addOperator(new GA::CrossoverTwoPointsESVecOp); + addOperator(new GA::CrossoverUniformESVecOp); + addOperator(new GA::CrossoverBlendESVecOp); + addOperator(new GA::MutationESVecOp); + Beagle_StackTraceEndM("GA::EvolverES::EvolverES(unsigned int inInitSize)"); +} + + +/*! + * \brief Construct a evolution strategy evolver. + * \param inEvalOp Evaluation operator. + * \param inInitSize Number of (value,strategy) pairs of the ES vectors. + */ +GA::EvolverES::EvolverES(EvaluationOp::Handle inEvalOp, unsigned int inInitSize) +{ + Beagle_StackTraceBeginM(); + addOperator(inEvalOp); + addOperator(new GA::InitESVecOp(inInitSize)); + addOperator(new GA::CrossoverOnePointESVecOp); + addOperator(new GA::CrossoverTwoPointsESVecOp); + addOperator(new GA::CrossoverUniformESVecOp); + addOperator(new GA::CrossoverBlendESVecOp); + addOperator(new GA::MutationESVecOp); + + addBootStrapOp("IfThenElseOp"); + IfThenElseOp::Handle lITE = castHandleT(getBootStrapSet().back()); + lITE->setConditionTag("ms.restart.file"); + lITE->setConditionValue(""); + lITE->insertPositiveOp("GA-InitESVecOp", getOperatorMap()); + lITE->insertPositiveOp(inEvalOp->getName(), getOperatorMap()); + lITE->insertPositiveOp("StatsCalcFitnessSimpleOp", getOperatorMap()); + lITE->insertNegativeOp("MilestoneReadOp", getOperatorMap()); + addBootStrapOp("TermMaxGenOp"); + addBootStrapOp("MilestoneWriteOp"); + + addMainLoopOp("MuCommaLambdaOp"); + MuCommaLambdaOp::Handle lMcLOp = castHandleT(getMainLoopSet().back()); + BreederNode::Handle lRootNode = new BreederNode; + lMcLOp->setRootNode(lRootNode); + lRootNode->setBreederOp(castHandleT(inEvalOp->giveReference())); + BreederNode::Handle lMutNode = new BreederNode; + lRootNode->setFirstChild(lMutNode); + lMutNode->setBreederOp(castHandleT(getOperator("GA-MutationESVecOp")->giveReference())); + BreederNode::Handle lSelectNode = new BreederNode; + lMutNode->setFirstChild(lSelectNode); + lSelectNode->setBreederOp(castHandleT(getOperator("SelectRandomOp")->giveReference())); + addMainLoopOp("MigrationRandomRingOp"); + addMainLoopOp("StatsCalcFitnessSimpleOp"); + addMainLoopOp("TermMaxGenOp"); + addMainLoopOp("MilestoneWriteOp"); + Beagle_StackTraceEndM("GA::EvolverES::EvolverES(EvaluationOp::Handle inEvalOp, unsigned int inInitSize)"); +} + + +/*! + * \brief Construct a evolution strategy evolver. + * \param inInitSize Size of the ES vectors. + * \deprecated Use EvolverES(unsigned int) constructor instead. + * \throw Beagle::RunTimeException If init size vector has more than one value. + */ +GA::EvolverES::EvolverES(UIntArray inInitSize) +{ + Beagle_StackTraceBeginM(); + if(inInitSize.size()==0) addOperator(new GA::InitESVecOp(0)); + else if(inInitSize.size()==1) addOperator(new GA::InitESVecOp(inInitSize[0])); + else { + std::ostringstream lOSS; + lOSS << "Initialization of ES vector individuals with more than one vector "; + lOSS << "is no more valid. You should use individuals made of one vector, or "; + lOSS << "define your own ES vector initialization operator."; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + addOperator(new GA::CrossoverOnePointESVecOp); + addOperator(new GA::CrossoverTwoPointsESVecOp); + addOperator(new GA::CrossoverUniformESVecOp); + addOperator(new GA::CrossoverBlendESVecOp); + addOperator(new GA::MutationESVecOp); + Beagle_StackTraceEndM("GA::EvolverES::EvolverES(UIntArray inInitSize)"); +} + + +/*! + * \brief Construct a evolution strategy evolver. + * \param inEvalOp Evaluation operator. + * \param inInitSize Size of the ES vectors. + * \deprecated Use EvolverES(EvaluationOp::Handle,unsigned int) constructor instead. + * \throw Beagle::RunTimeException If init size vector has more than one value. + */ +GA::EvolverES::EvolverES(EvaluationOp::Handle inEvalOp, UIntArray inInitSize) +{ + Beagle_StackTraceBeginM(); + addOperator(inEvalOp); + if(inInitSize.size()==0) addOperator(new GA::InitESVecOp(0)); + else if(inInitSize.size()==1) addOperator(new GA::InitESVecOp(inInitSize[0])); + else { + std::ostringstream lOSS; + lOSS << "Initialization of ES vector individuals with more than one vector "; + lOSS << "is no more valid. You should use individuals made of one vector, or "; + lOSS << "define your own ES vector initialization operator."; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + addOperator(new GA::CrossoverOnePointESVecOp); + addOperator(new GA::CrossoverTwoPointsESVecOp); + addOperator(new GA::CrossoverUniformESVecOp); + addOperator(new GA::CrossoverBlendESVecOp); + addOperator(new GA::MutationESVecOp); + + addBootStrapOp("IfThenElseOp"); + IfThenElseOp::Handle lITE = castHandleT(getBootStrapSet().back()); + lITE->setConditionTag("ms.restart.file"); + lITE->setConditionValue(""); + lITE->insertPositiveOp("GA-InitESVecOp", getOperatorMap()); + lITE->insertPositiveOp(inEvalOp->getName(), getOperatorMap()); + lITE->insertPositiveOp("StatsCalcFitnessSimpleOp", getOperatorMap()); + lITE->insertNegativeOp("MilestoneReadOp", getOperatorMap()); + addBootStrapOp("TermMaxGenOp"); + addBootStrapOp("MilestoneWriteOp"); + + addMainLoopOp("MuCommaLambdaOp"); + MuCommaLambdaOp::Handle lMcLOp = castHandleT(getMainLoopSet().back()); + BreederNode::Handle lRootNode = new BreederNode; + lMcLOp->setRootNode(lRootNode); + lRootNode->setBreederOp(castHandleT(inEvalOp->giveReference())); + BreederNode::Handle lMutNode = new BreederNode; + lRootNode->setFirstChild(lMutNode); + lMutNode->setBreederOp(castHandleT(getOperator("GA-MutationESVecOp")->giveReference())); + BreederNode::Handle lSelectNode = new BreederNode; + lMutNode->setFirstChild(lSelectNode); + lSelectNode->setBreederOp(castHandleT(getOperator("SelectRandomOp")->giveReference())); + addMainLoopOp("MigrationRandomRingOp"); + addMainLoopOp("StatsCalcFitnessSimpleOp"); + addMainLoopOp("TermMaxGenOp"); + addMainLoopOp("MilestoneWriteOp"); + Beagle_StackTraceEndM("GA::EvolverES::EvolverES(EvaluationOp::Handle inEvalOp, UIntArray inInitSize)"); +} diff --git a/lib/beagle-3.0.3/beagle/GA/src/EvolverFloatVector.cpp b/lib/beagle-3.0.3/beagle/GA/src/EvolverFloatVector.cpp new file mode 100644 index 0000000..0dc529f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/EvolverFloatVector.cpp @@ -0,0 +1,240 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/EvolverFloatVector.cpp + * \brief Source code of class GA::EvolverFloatVector. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.18.2.3 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#include "beagle/GA.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a real-valued GA evolver. + * \param inInitSize Size of the GA float vectors. + */ +GA::EvolverFloatVector::EvolverFloatVector(unsigned int inInitSize) +{ + Beagle_StackTraceBeginM(); + addOperator(new GA::InitFltVecOp(inInitSize)); + addOperator(new GA::InitCMAFltVecOp(inInitSize)); + addOperator(new GA::CrossoverBlendFltVecOp); + addOperator(new GA::CrossoverSBXFltVecOp); + addOperator(new GA::CrossoverOnePointFltVecOp); + addOperator(new GA::CrossoverTwoPointsFltVecOp); + addOperator(new GA::CrossoverUniformFltVecOp); + addOperator(new GA::MutationGaussianFltVecOp); + addOperator(new GA::MutationCMAFltVecOp); + addOperator(new GA::MuWCommaLambdaCMAFltVecOp); + addOperator(new GA::MuWCommaLambdaCMAFltVecOp("ga.cmaes.mulambdaratio", + "GA-MuWCommaLambdaCMAFltVecOp-2")); + addOperator(new GA::TermCMAOp); + Beagle_StackTraceEndM("GA::EvolverFloatVector::EvolverFloatVector(unsigned int inInitSize)"); +} + + +/*! + * \brief Construct a real-valued GA evolver. + * \param inEvalOp Evaluation operator. + * \param inInitSize Size of the GA float vectors. + */ +GA::EvolverFloatVector::EvolverFloatVector(EvaluationOp::Handle inEvalOp, unsigned int inInitSize) +{ + Beagle_StackTraceBeginM(); + addOperator(inEvalOp); + addOperator(new GA::InitFltVecOp(inInitSize)); + addOperator(new GA::InitCMAFltVecOp(inInitSize)); + addOperator(new GA::CrossoverBlendFltVecOp); + addOperator(new GA::CrossoverSBXFltVecOp); + addOperator(new GA::CrossoverOnePointFltVecOp); + addOperator(new GA::CrossoverTwoPointsFltVecOp); + addOperator(new GA::CrossoverUniformFltVecOp); + addOperator(new GA::MutationGaussianFltVecOp); + addOperator(new GA::MutationCMAFltVecOp); + addOperator(new GA::MuWCommaLambdaCMAFltVecOp); + addOperator(new GA::MuWCommaLambdaCMAFltVecOp("ga.cmaes.mulambdaratio", + "GA-MuWCommaLambdaCMAFltVecOp-2")); + addOperator(new GA::TermCMAOp); + + addBootStrapOp("IfThenElseOp"); + IfThenElseOp::Handle lITE = castHandleT(getBootStrapSet().back()); + lITE->setConditionTag("ms.restart.file"); + lITE->setConditionValue(""); + lITE->insertPositiveOp("GA-InitFltVecOp", getOperatorMap()); + lITE->insertPositiveOp(inEvalOp->getName(), getOperatorMap()); + lITE->insertPositiveOp("StatsCalcFitnessSimpleOp", getOperatorMap()); + lITE->insertNegativeOp("MilestoneReadOp", getOperatorMap()); + addBootStrapOp("TermMaxGenOp"); + addBootStrapOp("MilestoneWriteOp"); + + addMainLoopOp("SelectTournamentOp"); + addMainLoopOp("GA-CrossoverBlendFltVecOp"); + addMainLoopOp("GA-MutationGaussianFltVecOp"); + addMainLoopOp(inEvalOp->getName()); + addMainLoopOp("MigrationRandomRingOp"); + addMainLoopOp("StatsCalcFitnessSimpleOp"); + addMainLoopOp("TermMaxGenOp"); + addMainLoopOp("MilestoneWriteOp"); + Beagle_StackTraceEndM("GA::EvolverFloatVector::EvolverFloatVector(EvaluationOp::Handle inEvalOp, unsigned int inInitSize)"); +} + + +/*! + * \brief Construct a real-valued GA evolver. + * \param inInitSize Size of the GA float vectors. + * \deprecated Use EvolverFloatVector(unsigned int) constructor instead. + * \throw Beagle::RunTimeException If init size vector has more than one value. + */ +GA::EvolverFloatVector::EvolverFloatVector(UIntArray inInitSize) +{ + Beagle_StackTraceBeginM(); + if(inInitSize.size()==0) { + addOperator(new GA::InitFltVecOp(0)); + addOperator(new GA::InitCMAFltVecOp(0)); + } + else if(inInitSize.size()==1) { + addOperator(new GA::InitFltVecOp(inInitSize[0])); + addOperator(new GA::InitCMAFltVecOp(inInitSize[0])); + } + else { + std::ostringstream lOSS; + lOSS << "Initialization of float vector individuals with more than one float vector "; + lOSS << "is no more valid. You should use individuals made of one float vector, or "; + lOSS << "define your own float vector initialization operator."; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + addOperator(new GA::CrossoverBlendFltVecOp); + addOperator(new GA::CrossoverSBXFltVecOp); + addOperator(new GA::CrossoverOnePointFltVecOp); + addOperator(new GA::CrossoverTwoPointsFltVecOp); + addOperator(new GA::CrossoverUniformFltVecOp); + addOperator(new GA::MutationGaussianFltVecOp); + addOperator(new GA::MutationCMAFltVecOp); + addOperator(new GA::MuWCommaLambdaCMAFltVecOp); + addOperator(new GA::MuWCommaLambdaCMAFltVecOp("ga.cmaes.mulambdaratio", + "GA-MuWCommaLambdaCMAFltVecOp-2")); + addOperator(new GA::TermCMAOp); + + Beagle_StackTraceEndM("GA::EvolverFloatVector::EvolverFloatVector(UIntArray inInitSize)"); +} + + +/*! + * \brief Construct a real-valued GA evolver. + * \param inEvalOp Evaluation operator. + * \param inInitSize Size of the GA float vectors. + * \deprecated Use EvolverFloatVector(EvaluationOp::Handle,unsigned int) constructor instead. + * \throw Beagle::RunTimeException If init size vector has more than one value. + */ +GA::EvolverFloatVector::EvolverFloatVector(EvaluationOp::Handle inEvalOp, UIntArray inInitSize) +{ + Beagle_StackTraceBeginM(); + addOperator(inEvalOp); + if(inInitSize.size()==0) { + addOperator(new GA::InitFltVecOp(0)); + addOperator(new GA::InitCMAFltVecOp(0)); + } + else if(inInitSize.size()==1) { + addOperator(new GA::InitFltVecOp(inInitSize[0])); + addOperator(new GA::InitCMAFltVecOp(inInitSize[0])); + } + else { + std::ostringstream lOSS; + lOSS << "Initialization of float vector individuals with more than one float vector "; + lOSS << "is no more valid. You should use individuals made of one float vector, or "; + lOSS << "define your own float vector initialization operator."; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + addOperator(new GA::CrossoverBlendFltVecOp); + addOperator(new GA::CrossoverSBXFltVecOp); + addOperator(new GA::CrossoverOnePointFltVecOp); + addOperator(new GA::CrossoverTwoPointsFltVecOp); + addOperator(new GA::CrossoverUniformFltVecOp); + addOperator(new GA::MutationGaussianFltVecOp); + addOperator(new GA::MutationCMAFltVecOp); + addOperator(new GA::MuWCommaLambdaCMAFltVecOp); + addOperator(new GA::MuWCommaLambdaCMAFltVecOp("ga.cmaes.mulambdaratio", + "GA-MuWCommaLambdaCMAFltVecOp-2")); + addOperator(new GA::TermCMAOp); + + addBootStrapOp("IfThenElseOp"); + IfThenElseOp::Handle lITE = castHandleT(getBootStrapSet().back()); + lITE->setConditionTag("ms.restart.file"); + lITE->setConditionValue(""); + lITE->insertPositiveOp("GA-InitFltVecOp", getOperatorMap()); + lITE->insertPositiveOp(inEvalOp->getName(), getOperatorMap()); + lITE->insertPositiveOp("StatsCalcFitnessSimpleOp", getOperatorMap()); + lITE->insertNegativeOp("MilestoneReadOp", getOperatorMap()); + addBootStrapOp("TermMaxGenOp"); + addBootStrapOp("MilestoneWriteOp"); + + addMainLoopOp("SelectTournamentOp"); + addMainLoopOp("GA-CrossoverBlendFltVecOp"); + addMainLoopOp("GA-MutationGaussianFltVecOp"); + addMainLoopOp(inEvalOp->getName()); + addMainLoopOp("MigrationRandomRingOp"); + addMainLoopOp("StatsCalcFitnessSimpleOp"); + addMainLoopOp("TermMaxGenOp"); + addMainLoopOp("MilestoneWriteOp"); + Beagle_StackTraceEndM("GA::EvolverFloatVector::EvolverFloatVector(EvaluationOp::Handle inEvalOp, UIntArray inInitSize)"); +} + + +/*! + * \brief Initialize the evolver, its operators and the system. + * \param ioSystem Handle to the system of the evolution. + * \param ioArgc Number of elements on the command-line. + * \param ioArgv Element on the command-line. + */ +void GA::EvolverFloatVector::initialize(Beagle::System::Handle ioSystem, int ioArgc, char** ioArgv) +{ + Beagle_StackTraceBeginM(); + ioSystem->addComponent(new GA::CMAHolder); + Beagle::Evolver::initialize(ioSystem, ioArgc, ioArgv); + Beagle_StackTraceEndM("void GA::EvolverFloatVector::initialize(System::Handle ioSystem, int, char**)"); +} + + +/*! + * \brief Initialize the evolver, its operators and the system. + * \param ioSystem Handle to the system of the evolution. + * \param inConfigFilename Configuration file from which system and evolver are read. + */ +void GA::EvolverFloatVector::initialize(Beagle::System::Handle ioSystem, std::string inConfigFilename) +{ + Beagle_StackTraceBeginM(); + ioSystem->addComponent(new GA::CMAHolder); + Beagle::Evolver::initialize(ioSystem, inConfigFilename); + Beagle_StackTraceEndM("void GA::EvolverFloatVector::initialize(System::Handle ioSystem, std::string)"); +} diff --git a/lib/beagle-3.0.3/beagle/GA/src/EvolverIntegerVector.cpp b/lib/beagle-3.0.3/beagle/GA/src/EvolverIntegerVector.cpp new file mode 100644 index 0000000..ce64ee5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/EvolverIntegerVector.cpp @@ -0,0 +1,100 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/EvolverIntegerVector.cpp + * \brief Source code of class GA::EvolverIntegerVector. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.2.2.1 $ + * $Date: 2007/05/09 01:51:02 $ + */ + +#include "beagle/GA.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a integer-valued GA evolver. + * \param inInitSize Size of the GA integer vectors. + */ +GA::EvolverIntegerVector::EvolverIntegerVector(unsigned int inInitSize) +{ + Beagle_StackTraceBeginM(); + addOperator(new GA::InitIndicesIntVecOp(inInitSize)); + addOperator(new GA::InitIntVecOp(inInitSize)); + addOperator(new GA::CrossoverIndicesIntVecOp); + addOperator(new GA::CrossoverOnePointIntVecOp); + addOperator(new GA::CrossoverTwoPointsIntVecOp); + addOperator(new GA::CrossoverUniformIntVecOp); + addOperator(new GA::MutationShuffleIntVecOp); + addOperator(new GA::MutationUniformIntVecOp); + Beagle_StackTraceEndM("GA::EvolverIntegerVector::EvolverIntegerVector(unsigned int inInitSize)"); +} + + +/*! + * \brief Construct a integer-valued GA evolver. + * \param inEvalOp Evaluation operator. + * \param inInitSize Size of the GA integer vectors. + */ +GA::EvolverIntegerVector::EvolverIntegerVector(EvaluationOp::Handle inEvalOp, unsigned int inInitSize) +{ + Beagle_StackTraceBeginM(); + addOperator(inEvalOp); + addOperator(new GA::InitIndicesIntVecOp(inInitSize)); + addOperator(new GA::InitIntVecOp(inInitSize)); + addOperator(new GA::CrossoverIndicesIntVecOp); + addOperator(new GA::CrossoverOnePointIntVecOp); + addOperator(new GA::CrossoverTwoPointsIntVecOp); + addOperator(new GA::CrossoverUniformIntVecOp); + addOperator(new GA::MutationShuffleIntVecOp); + addOperator(new GA::MutationUniformIntVecOp); + + addBootStrapOp("IfThenElseOp"); + IfThenElseOp::Handle lITE = castHandleT(getBootStrapSet().back()); + lITE->setConditionTag("ms.restart.file"); + lITE->setConditionValue(""); + lITE->insertPositiveOp("GA-InitIntVecOp", getOperatorMap()); + lITE->insertPositiveOp(inEvalOp->getName(), getOperatorMap()); + lITE->insertPositiveOp("StatsCalcFitnessSimpleOp", getOperatorMap()); + lITE->insertNegativeOp("MilestoneReadOp", getOperatorMap()); + addBootStrapOp("TermMaxGenOp"); + addBootStrapOp("MilestoneWriteOp"); + + addMainLoopOp("SelectTournamentOp"); + addMainLoopOp("GA-CrossoverUniformIntVecOp"); + addMainLoopOp("GA-MutationUniformIntVecOp"); + addMainLoopOp(inEvalOp->getName()); + addMainLoopOp("MigrationRandomRingOp"); + addMainLoopOp("StatsCalcFitnessSimpleOp"); + addMainLoopOp("TermMaxGenOp"); + addMainLoopOp("MilestoneWriteOp"); + Beagle_StackTraceEndM("GA::EvolverIntegerVector::EvolverIntegerVector(EvaluationOp::Handle inEvalOp, unsigned int inInitSize)"); +} diff --git a/lib/beagle-3.0.3/beagle/GA/src/FloatVector.cpp b/lib/beagle-3.0.3/beagle/GA/src/FloatVector.cpp new file mode 100644 index 0000000..bc198e9 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/FloatVector.cpp @@ -0,0 +1,163 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/FloatVector.cpp + * \brief Source code of class GA::FloatVector. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.17.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +#include "beagle/GA.hpp" + +#include +#include +#include // To get FLT_MAX on Borland C++ Builder + +using namespace Beagle; + + +/*! + * \brief Construct a GA float vector. + * \param inSize Size of the vector. + * \param inModel Default values of the floats. + */ +GA::FloatVector::FloatVector(unsigned int inSize, float inModel) : + std::vector< double,BEAGLE_STLALLOCATOR >(inSize, inModel) +{ } + + +/*! + * \brief Return size (length) of genotype. + * \return Size (length) of genotype. + */ +unsigned int GA::FloatVector::getSize() const +{ + Beagle_StackTraceBeginM(); + return size(); + Beagle_StackTraceEndM("unsigned int GA::FloatVector::getSize() const"); +} + + +/*! + * \brief Test if two float vectors are equals. + * \param inRightObj Second float vector used for the comparison. + * \return True if float vectors are equal, false if not. + * \par Note: + * Returns true if the range [ 0, min(end(),inRightObj.end()) ) + * are identical when compared element-by-element, and otherwise returns false. + */ +bool GA::FloatVector::isEqual(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const GA::FloatVector& lRightVector = castObjectT(inRightObj); + if(size()!=lRightVector.size()) return false; + const std::vector< double,BEAGLE_STLALLOCATOR >& lLeft = *this; + const std::vector< double,BEAGLE_STLALLOCATOR >& lRight = lRightVector; + return (lLeft == lRight); + Beagle_StackTraceEndM("bool GA::FloatVector::isEqual(const Object& inRightObj) const"); +} + + +/*! + * \brief Test the ordering of two float vectors. + * \param inRightObj Second float vector used for the ordering test. + * \return True if the actual float vector is before the second, false if not. + * \par Note: + * Returns true if the actual float vector is lexicographically less than the right object + * in the range [ 0, min(end(),inRightObj.end()) ) when compared element-by-element, + * and otherwise returns false. + */ +bool GA::FloatVector::isLess(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const GA::FloatVector& lRightVector = castObjectT(inRightObj); + if(size()!=lRightVector.size()) return false; + const std::vector< double,BEAGLE_STLALLOCATOR >& lLeft = *this; + const std::vector< double,BEAGLE_STLALLOCATOR >& lRight = lRightVector; + return (lLeft < lRight); + Beagle_StackTraceEndM("bool GA::FloatVector::isLess(const Object& inRightObj) const"); +} + + +/*! + * \brief Read a float vector from a XML subtree. + * \param inIter XML iterator from which the float vector is read. + * \param ioContext Evolutionary context to use to read the float vector. + * \throw Beagle::IOException If a reading error occured (generally bad file format)! + */ +void GA::FloatVector::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Genotype")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + string lType = inIter->getAttribute("type").c_str(); + if(lType.empty()) + throw Beagle_IOExceptionNodeM(*inIter, "float vector type of the genotype is not present!"); + if(lType != "floatvector") + throw Beagle_IOExceptionNodeM(*inIter, "type of genotype mismatch, expected \"floatvector\"!"); + + PACC::XML::ConstIterator lChild = inIter->getFirstChild(); + if((!lChild) || (lChild->getType()!=PACC::XML::eString)) + throw Beagle_IOExceptionNodeM(*lChild, "expected content for the float vector!"); + + resize(0); + std::istringstream lISS(lChild->getValue()); + while(lISS.good()) { + double lValue=DBL_MAX; + lISS >> lValue; + push_back(lValue); + if(lISS.good()==false) break; + int lDelim=lISS.get(); + if((lISS.good()==false) || (lDelim==-1)) break; + } + Beagle_StackTraceEndM("void GA::FloatVector::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext)"); +} + + +/*! + * \brief Write a float vector into a XML streamer. + * \param ioStreamer XML streamer into which the float vector is written. + * \param inIndent Whether XML output should be indented. + */ +void GA::FloatVector::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Genotype", false); + ioStreamer.insertAttribute("type", "floatvector"); + ioStreamer.insertAttribute("size", uint2str(size())); + std::ostringstream lOSS; + for(size_type i=0; i + +using namespace Beagle; + + +/*! + * \brief Construct a GA bit string initialization operator. + * \param inNumberBits Number of bits of the strings initialized. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the operator. + */ +GA::InitBitStrOp::InitBitStrOp(unsigned int inNumberBits, + Beagle::string inReproProbaName, + Beagle::string inName) : + InitializationOp(inReproProbaName, inName), + mNumberBits(new UInt(inNumberBits)), + mBitOneProba(NULL) +{ } + + +/*! + * \brief Initialize the GA bit string initialization operator. + * \param ioSystem System of the evolution. + */ +void GA::InitBitStrOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + InitializationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ga.init.numberbits")) { + mNumberBits = castHandleT(ioSystem.getRegister()["ga.init.numberbits"]); + } else { + string lLongDescrip("Number of bits used to initialize individuals."); + Register::Description lDescription( + "Initial number of bits in strings", + "UInt", + mNumberBits->serialize(), + lLongDescrip + ); + ioSystem.getRegister().addEntry("ga.init.numberbits", mNumberBits, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.init.bitpb")) { + mBitOneProba = castHandleT(ioSystem.getRegister()["ga.init.bitpb"]); + } else { + mBitOneProba = new Float(0.5); + string lLongDescrip = "Distribution probability of bit values. "; + lLongDescrip += "A probability of 1.0 means that the bits values are all initialized to 1, "; + lLongDescrip += "while a probability of 0.0 means that they are all initialized to 0. "; + lLongDescrip += "Probability of 0.5 means that the bits are uniformly, "; + lLongDescrip += "randomly initialized with equally 0s and 1s."; + Register::Description lDescription( + "Initial bit distribution prob.", + "Float", + "0.5", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ga.init.bitpb", mBitOneProba, lDescription); + } + Beagle_StackTraceEndM("void GA::InitBitStrOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Initialize an individual made of GA bit strings. + * \param outIndividual Individual to initialize. + * \param ioContext Evolution context. + */ +void GA::InitBitStrOp::initIndividual(Beagle::Individual& outIndividual, Context& ioContext) +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mNumberBits->getWrappedValue() == 0) { + string lMessage = "GA::InitBitStrOp::initIndividual: number of bits to use to "; + lMessage += " initialize individuals parameter is zero. "; + lMessage += "Could not initialize the individuals!"; + throw Beagle_RunTimeExceptionM(lMessage); + } +#endif // BEAGLE_NDEBUG + outIndividual.resize(1); + GA::BitString::Handle lActualBitString = castHandleT(outIndividual[0]); + lActualBitString->resize(mNumberBits->getWrappedValue()); + for(unsigned int i=0; isize(); ++i) { + (*lActualBitString)[i] = + (ioContext.getSystem().getRandomizer().rollUniform() < mBitOneProba->getWrappedValue()); + } + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::GA::InitBitStrOp", + string("Bit string initialized as: ")+lActualBitString->serialize() + ); + Beagle_StackTraceEndM("void GA::InitBitStrOp::initIndividual(Beagle::Individual& outIndividual, Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/GA/src/InitCMAFltVecOp.cpp b/lib/beagle-3.0.3/beagle/GA/src/InitCMAFltVecOp.cpp new file mode 100644 index 0000000..c9c1c82 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/InitCMAFltVecOp.cpp @@ -0,0 +1,116 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/InitCMAFltVecOp.cpp + * \brief Source code of class GA::InitCMAFltVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.4.2.1 $ + * $Date: 2007/05/11 19:13:08 $ + */ + +#include "beagle/GA.hpp" + +#include +#include + +using namespace std; +using namespace Beagle; + + +/*! + * \brief Construct a GA float vectors uniformly distributed for CMA-ES initialization operator. + * \param inFloatVectorSize Size of the float vectors initialized. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the operator. + */ +GA::InitCMAFltVecOp::InitCMAFltVecOp(unsigned int inFloatVectorSize, + std::string inReproProbaName, + std::string inName) : + GA::InitFltVecOp(inFloatVectorSize, inReproProbaName, inName) +{ } + + +/*! + * \brief Apply the initialization operation on the deme. + * \param ioDeme Current deme of individuals to initialize. + * \param ioContext Context of the evolution. + */ +void GA::InitCMAFltVecOp::operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::GA::InitCMAFltVecOp", + string("Initializing the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::GA::InitCMAFltVecOp", + "Resizing the deme to one individual (CMA-ES initialization)" + ); + ioDeme.resize(1); + + unsigned int lSeededIndividuals = 0; + if(mSeedsFile->getWrappedValue().empty() == false) { + Beagle_LogInfoM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::GA::InitCMAFltVecOp", + string("Reading seeds file \"")+mSeedsFile->getWrappedValue()+ + string("\" to initialize the ")+uint2ordinal(ioContext.getDemeIndex()+1)+ + string(" deme") + ); + lSeededIndividuals = readSeeds(mSeedsFile->getWrappedValue(), ioDeme, ioContext); + Beagle_LogDetailedM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::GA::InitCMAFltVecOp", + uint2str(lSeededIndividuals)+string(" individuals read to seed the deme") + ); + } + + Individual::Handle lOldIndividualHandle = ioContext.getIndividualHandle(); + unsigned int lOldIndividualIndex = ioContext.getIndividualIndex(); + for(unsigned int i=lSeededIndividuals; igetFitness() != NULL) { + ioDeme[i]->getFitness()->setInvalid(); + } + } + ioContext.setIndividualIndex(lOldIndividualIndex); + ioContext.setIndividualHandle(lOldIndividualHandle); + Beagle_StackTraceEndM("void GA::InitCMAFltVecOp::operate(Deme& ioDeme, Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GA/src/InitESVecOp.cpp b/lib/beagle-3.0.3/beagle/GA/src/InitESVecOp.cpp new file mode 100644 index 0000000..bf6d714 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/InitESVecOp.cpp @@ -0,0 +1,173 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/InitESVecOp.cpp + * \brief Source code of class GA::InitESVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.12.2.2 $ + * $Date: 2007/05/11 19:18:44 $ + */ + +#include "beagle/GA.hpp" + +#include +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct an ES vectors initialization operator. + * \param inESVectorSize Size of the ES vectors initialized. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the operator. + */ +GA::InitESVecOp::InitESVecOp(unsigned int inESVectorSize, + Beagle::string inReproProbaName, + Beagle::string inName) : + InitializationOp(inReproProbaName, inName), + mESVectorSize(new UInt(inESVectorSize)) +{ } + + +/*! + * \brief Initialize the ES vectors initialization operator. + * \param ioSystem System of the evolution. + */ +void GA::InitESVecOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + InitializationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("es.init.vectorsize")) { + mESVectorSize = castHandleT(ioSystem.getRegister()["es.init.vectorsize"]); + } else { + Register::Description lDescription( + "Initial ES vectors size", + "UInt", + mESVectorSize->serialize(), + "ES vectors size used for initialization." + ); + ioSystem.getRegister().addEntry("es.init.vectorsize", mESVectorSize, lDescription); + } + + if(ioSystem.getRegister().isRegistered("es.value.max")) { + mMaxValue = castHandleT(ioSystem.getRegister()["es.value.max"]); + } else { + mMaxValue = new DoubleArray(1,DBL_MAX); + std::ostringstream lOSS; + lOSS << "ES vector maximum values. This can be a scalar, which limit the values for all ES, "; + lOSS << "or a vector which limit the values individually. If the maximum value vector size is "; + lOSS << "smaller than the ES vector size, the limit used for the last values of the ES vector "; + lOSS << "is equal to the last value of the maximum value vector."; + Register::Description lDescription( + "Maximum ES vector values", + "DoubleArray", + dbl2str(DBL_MAX), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("es.value.max", mMaxValue, lDescription); + } + + if(ioSystem.getRegister().isRegistered("es.value.min")) { + mMinValue = castHandleT(ioSystem.getRegister()["es.value.min"]); + } else { + mMinValue = new DoubleArray(1,-DBL_MAX); + std::ostringstream lOSS; + lOSS << "ES vector minimum values. This can be a scalar, which limit the values for all ES, "; + lOSS << "or a vector which limit the values individually. If the minimum value vector size is "; + lOSS << "smaller than the ES vector size, the limit used for the last values of the ES vector "; + lOSS << "is equal to the last value of the minimum value vector."; + Register::Description lDescription( + "Minimum ES vector values", + "DoubleArray", + dbl2str(-DBL_MAX), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("es.value.min", mMinValue, lDescription); + } + + if(ioSystem.getRegister().isRegistered("es.init.strategy")) { + mInitStrategyValue = castHandleT(ioSystem.getRegister()["es.init.strategy"]); + } else { + mInitStrategyValue = new Double(1.0); + Register::Description lDescription( + "Initial strategy parameter value", + "Double", + "1.0", + "Initial strategy parameter value used to initialize ES vectors." + ); + ioSystem.getRegister().addEntry("es.init.strategy", mInitStrategyValue, lDescription); + } + Beagle_StackTraceEndM("void GA::InitESVecOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Initialize ES individual with initialial strategy parameter. + * \param outIndividual Individual to initialize. + * \param ioContext Evolution context. + * + * Size of ES individual is given by integer vector "es.init.vectorsize". Initial strategy + * parameter value of ES pair is given by parameter "es.init.strategy". Initial value of ES pair + * is given using random numbers following a Gaussian distribution of zero mean and standard + * deviation equal to initial strategy parameter value. + */ +void GA::InitESVecOp::initIndividual(Beagle::Individual& outIndividual, Context& ioContext) +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mESVectorSize->getWrappedValue() == 0) { + string lMessage = "GA::InitESVecOp::initIndividual: "; + lMessage += "ES vector size parameter is zero; "; + lMessage += "could not initialize the individuals!"; + throw Beagle_RunTimeExceptionM(lMessage); + } +#endif // BEAGLE_NDEBUG + + outIndividual.resize(1); + GA::ESVector::Handle lESVector = castHandleT(outIndividual[0]); + lESVector->resize(mESVectorSize->getWrappedValue()); + const double lInitStrategy = mInitStrategyValue->getWrappedValue(); + for(unsigned int j=0; jsize(); ++j) { + const double lMaxVal = jsize() ? (*mMaxValue)[j] : mMaxValue->back(); + const double lMinVal = jsize() ? (*mMinValue)[j] : mMinValue->back(); + (*lESVector)[j].mValue = ioContext.getSystem().getRandomizer().rollGaussian(0.0,lInitStrategy); + if((*lESVector)[j].mValue > lMaxVal) (*lESVector)[j].mValue = lMaxVal; + if((*lESVector)[j].mValue < lMinVal) (*lESVector)[j].mValue = lMinVal; + (*lESVector)[j].mStrategy = lInitStrategy; + } + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::GA::InitESVecOp", + string("ES vector is initialized as: ")+lESVector->serialize() + ); + Beagle_StackTraceEndM("void GA::InitESVecOp::initIndividual(Beagle::Individual& outIndividual, Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GA/src/InitFltVecOp.cpp b/lib/beagle-3.0.3/beagle/GA/src/InitFltVecOp.cpp new file mode 100644 index 0000000..259c8c5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/InitFltVecOp.cpp @@ -0,0 +1,180 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/InitFltVecOp.cpp + * \brief Source code of class GA::InitFltVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.17.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +#include "beagle/GA.hpp" + +#include +#include + +using namespace std; +using namespace Beagle; + + +/*! + * \brief Construct a GA float vectors uniformly distributed initialization operator. + * \param inFloatVectorSize Size of the float vectors initialized. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the operator. + */ +GA::InitFltVecOp::InitFltVecOp(unsigned int inFloatVectorSize, + Beagle::string inReproProbaName, + Beagle::string inName) : + InitializationOp(inReproProbaName, inName), + mFloatVectorSize(new UInt(inFloatVectorSize)) +{ } + + +/*! + * \brief Initialize the GA float vectors uniformly distributed initialization operator. + * \param ioSystem System of the evolution. + */ +void GA::InitFltVecOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + InitializationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ga.init.vectorsize")) { + mFloatVectorSize = castHandleT(ioSystem.getRegister()["ga.init.vectorsize"]); + } else { + Register::Description lDescription( + "Initial float vectors sizes", + "UInt", + mFloatVectorSize->serialize(), + "Float vector size of initialized individuals." + ); + ioSystem.getRegister().addEntry("ga.init.vectorsize", mFloatVectorSize, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.init.maxvalue")) { + mMaxInitValue = castHandleT(ioSystem.getRegister()["ga.init.maxvalue"]); + } else { + mMaxInitValue = new DoubleArray(1,1.0); + std::ostringstream lOSS; + lOSS << "Maximum initialization values assigned to vector's floats. "; + lOSS << "Value can be a scalar, which limit the initialization value for all float "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the maximum initialization value is smaller than the "; + lOSS << "float vector size, the limit used for the last values of the float vector "; + lOSS << "is equal to the last value of the maximum initialization value vector."; + Register::Description lDescription( + "Maximum initialization values", + "DoubleArray", + "1.0", + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("ga.init.maxvalue", mMaxInitValue, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.init.minvalue")) { + mMinInitValue = castHandleT(ioSystem.getRegister()["ga.init.minvalue"]); + } else { + mMinInitValue = new DoubleArray(1,-1.0); + std::ostringstream lOSS; + lOSS << "Minimum initialization values assigned to vector's floats. "; + lOSS << "Value can be a scalar, which limit the initialization value for all float "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the minimum initialization value is smaller than the "; + lOSS << "float vector size, the limit used for the last values of the float vector "; + lOSS << "is equal to the last value of the minimum initialization value vector."; + Register::Description lDescription( + "Minimum initialization values", + "DoubleArray", + "-1.0", + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("ga.init.minvalue", mMinInitValue, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.float.inc")) { + mIncValue = castHandleT(ioSystem.getRegister()["ga.float.inc"]); + } else { + mIncValue = new DoubleArray(1,0.0); + std::ostringstream lOSS; + lOSS << "Increments of valid values assigned to vector's floats. "; + lOSS << "Value can be a scalar, which limit the value for all float "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the value is not evenly divisible by the "; + lOSS << "increment, the value will be set to the closest valid "; + lOSS << "value."; + Register::Description lDescription( + "Increments of valid values", + "DoubleArray", + "0.0", + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("ga.float.inc", mIncValue, lDescription); + } + Beagle_StackTraceEndM("void GA::InitFltVecOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Initialize real-valued GA individual with numbers uniformly distributed in a given range. + * \param outIndividual Individual to initialize. + * \param ioContext Evolution context. + */ +void GA::InitFltVecOp::initIndividual(Beagle::Individual& outIndividual, Context& ioContext) +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mFloatVectorSize->getWrappedValue() == 0) { + string lMessage = "GA::InitFltVecOp::initIndividual: "; + lMessage += "float vector size parameter is zero; "; + lMessage += "could not initialize the individuals!"; + throw Beagle_RunTimeExceptionM(lMessage); + } +#endif // BEAGLE_NDEBUG + outIndividual.resize(1); + GA::FloatVector::Handle lFloatVector = castHandleT(outIndividual[0]); + lFloatVector->resize(mFloatVectorSize->getWrappedValue()); + for(unsigned int j=0; jsize(); ++j) { + const double lMaxVal = jsize() ? (*mMaxInitValue)[j] : mMaxInitValue->back(); + const double lMinVal = jsize() ? (*mMinInitValue)[j] : mMinInitValue->back(); + const double lIncVal = jsize() ? (*mIncValue)[j] : mIncValue->back(); + (*lFloatVector)[j] = ioContext.getSystem().getRandomizer().rollUniform(lMinVal,lMaxVal); + if(lIncVal!=0.0) { + (*lFloatVector)[j] = lIncVal * round((*lFloatVector)[j] / lIncVal); + if((*lFloatVector)[j] > lMaxVal) (*lFloatVector)[j] = lMaxVal; + if((*lFloatVector)[j] < lMinVal) (*lFloatVector)[j] = lMinVal; + } + } + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::GA::InitFltVecOp", + string("Float vector initialized as: ")+lFloatVector->serialize() + ); + Beagle_StackTraceEndM("void GA::InitFltVecOp::initIndividual(Beagle::Individual& outIndividual, Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GA/src/InitIndicesIntVecOp.cpp b/lib/beagle-3.0.3/beagle/GA/src/InitIndicesIntVecOp.cpp new file mode 100644 index 0000000..2a33c23 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/InitIndicesIntVecOp.cpp @@ -0,0 +1,111 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/InitIndicesIntVecOp.cpp + * \brief Source code of class GA::InitIndicesIntVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +#include "beagle/GA.hpp" + +#include +#include + +using namespace std; +using namespace Beagle; + + +/*! + * \brief Construct a GA integer vectors uniformly distributed initialization operator. + * \param inIntVectorSize Size of the integer vectors initialized. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the operator. + */ +GA::InitIndicesIntVecOp::InitIndicesIntVecOp(unsigned int inIntVectorSize, + Beagle::string inReproProbaName, + Beagle::string inName) : + InitializationOp(inReproProbaName, inName), + mIntVectorSize(new UInt(inIntVectorSize)) +{ } + + +/*! + * \brief Initialize the GA integer vectors uniformly distributed initialization operator. + * \param ioSystem System of the evolution. + */ +void GA::InitIndicesIntVecOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + InitializationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ga.init.vectorsize")) { + mIntVectorSize = castHandleT(ioSystem.getRegister()["ga.init.vectorsize"]); + } else { + Register::Description lDescription( + "Initial integer vectors sizes", + "UInt", + mIntVectorSize->serialize(), + "Integer vector size of initialized individuals." + ); + ioSystem.getRegister().addEntry("ga.init.vectorsize", mIntVectorSize, lDescription); + } + Beagle_StackTraceEndM("void GA::InitIndicesIntVecOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Initialize integer-valued GA individual with numbers uniformly distributed in a given range. + * \param outIndividual Individual to initialize. + * \param ioContext Evolution context. + */ +void GA::InitIndicesIntVecOp::initIndividual(Beagle::Individual& outIndividual, Context& ioContext) +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mIntVectorSize->getWrappedValue() == 0) { + string lMessage = "GA::InitIndicesIntVecOp::initIndividual: "; + lMessage += "integer vector size parameter is zero; "; + lMessage += "could not initialize the individuals!"; + throw Beagle_RunTimeExceptionM(lMessage); + } +#endif // BEAGLE_NDEBUG + outIndividual.resize(1); + GA::IntegerVector::Handle lIntVector = castHandleT(outIndividual[0]); + lIntVector->resize(mIntVectorSize->getWrappedValue()); + for(unsigned int j=0; jsize(); ++j) (*lIntVector)[j] = (int)j; + std::random_shuffle(lIntVector->begin(),lIntVector->end(),ioContext.getSystem().getRandomizer()); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::GA::InitIndicesIntVecOp", + string("Integer vector initialized as: ")+lIntVector->serialize() + ); + Beagle_StackTraceEndM("void GA::InitIndicesIntVecOp::initIndividual(Beagle::Individual& outIndividual, Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GA/src/InitIntVecOp.cpp b/lib/beagle-3.0.3/beagle/GA/src/InitIntVecOp.cpp new file mode 100644 index 0000000..fd58c7e --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/InitIntVecOp.cpp @@ -0,0 +1,154 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/InitIntVecOp.cpp + * \brief Source code of class GA::InitIntVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.4.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +#include "beagle/GA.hpp" + +#include +#include + +using namespace std; +using namespace Beagle; + + +/*! + * \brief Construct a GA integer vectors uniformly distributed initialization operator. + * \param inIntVectorSize Size of the integer vectors initialized. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the operator. + */ +GA::InitIntVecOp::InitIntVecOp(unsigned int inIntVectorSize, + Beagle::string inReproProbaName, + Beagle::string inName) : + InitializationOp(inReproProbaName, inName), + mIntVectorSize(new UInt(inIntVectorSize)) +{ } + + +/*! + * \brief Initialize the GA integer vectors uniformly distributed initialization operator. + * \param ioSystem System of the evolution. + */ +void GA::InitIntVecOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + InitializationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ga.init.vectorsize")) { + mIntVectorSize = castHandleT(ioSystem.getRegister()["ga.init.vectorsize"]); + } else { + Register::Description lDescription( + "Initial integer vectors sizes", + "UInt", + mIntVectorSize->serialize(), + "Integer vector size of initialized individuals." + ); + ioSystem.getRegister().addEntry("ga.init.vectorsize", mIntVectorSize, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.init.maxvalue")) { + mMaxInitValue = castHandleT(ioSystem.getRegister()["ga.init.maxvalue"]); + } else { + mMaxInitValue = new IntArray(1,INT_MAX); + std::ostringstream lOSS; + lOSS << "Maximum initialization values assigned to vector's integers. "; + lOSS << "Value can be a scalar, which limit the initialization value for all integers "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the maximum initialization value is smaller than the "; + lOSS << "integer vector size, the limit used for the last values of the integer vector "; + lOSS << "is equal to the last value of the maximum initialization value vector."; + Register::Description lDescription( + "Maximum initialization values", + "IntArray", + int2str(INT_MAX), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("ga.init.maxvalue", mMaxInitValue, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.init.minvalue")) { + mMinInitValue = castHandleT(ioSystem.getRegister()["ga.init.minvalue"]); + } else { + mMinInitValue = new IntArray(1,INT_MIN); + std::ostringstream lOSS; + lOSS << "Minimum initialization values assigned to vector's integers. "; + lOSS << "Value can be a scalar, which limit the initialization value for all integer "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the minimum initialization value is smaller than the "; + lOSS << "integer vector size, the limit used for the last values of the integer vector "; + lOSS << "is equal to the last value of the minimum initialization value vector."; + Register::Description lDescription( + "Minimum initialization values", + "IntArray", + int2str(INT_MIN), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("ga.init.minvalue", mMinInitValue, lDescription); + } + Beagle_StackTraceEndM("void GA::InitIntVecOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Initialize integer-valued GA individual with numbers uniformly distributed in a given range. + * \param outIndividual Individual to initialize. + * \param ioContext Evolution context. + */ +void GA::InitIntVecOp::initIndividual(Beagle::Individual& outIndividual, Context& ioContext) +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mIntVectorSize->getWrappedValue() == 0) { + string lMessage = "GA::InitIntVecOp::initIndividual: "; + lMessage += "integer vector size parameter is zero; "; + lMessage += "could not initialize the individuals!"; + throw Beagle_RunTimeExceptionM(lMessage); + } +#endif // BEAGLE_NDEBUG + outIndividual.resize(1); + GA::IntegerVector::Handle lIntVector = castHandleT(outIndividual[0]); + lIntVector->resize(mIntVectorSize->getWrappedValue()); + for(unsigned int j=0; jsize(); ++j) { + const int lMaxVal = jsize() ? (*mMaxInitValue)[j] : mMaxInitValue->back(); + const int lMinVal = jsize() ? (*mMinInitValue)[j] : mMinInitValue->back(); + (*lIntVector)[j] = ioContext.getSystem().getRandomizer().rollInteger(lMinVal,lMaxVal); + } + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::GA::InitIntVecOp", + string("Integer vector initialized as: ")+lIntVector->serialize() + ); + Beagle_StackTraceEndM("void GA::InitIntVecOp::initIndividual(Beagle::Individual& outIndividual, Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GA/src/IntegerVector.cpp b/lib/beagle-3.0.3/beagle/GA/src/IntegerVector.cpp new file mode 100644 index 0000000..2f9ce3a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/IntegerVector.cpp @@ -0,0 +1,161 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/IntegerVector.cpp + * \brief Source code of class GA::IntegerVector. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +#include "beagle/GA.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a GA integer vector. + * \param inSize Size of the vector. + * \param inModel Default values of the integers. + */ +GA::IntegerVector::IntegerVector(unsigned int inSize, int inModel) : + std::vector< int,BEAGLE_STLALLOCATOR >(inSize, inModel) +{ } + + +/*! + * \brief Return size (length) of genotype. + * \return Size (length) of genotype. + */ +unsigned int GA::IntegerVector::getSize() const +{ + Beagle_StackTraceBeginM(); + return size(); + Beagle_StackTraceEndM("unsigned int GA::IntegerVector::getSize() const"); +} + + +/*! + * \brief Test if two integer vectors are equals. + * \param inRightObj Second integer vector used for the comparison. + * \return True if integer vectors are equal, false if not. + * \par Note: + * Returns true if the range [ 0, min(end(),inRightObj.end()) ) + * are identical when compared element-by-element, and otherwise returns false. + */ +bool GA::IntegerVector::isEqual(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const GA::IntegerVector& lRightVector = castObjectT(inRightObj); + if(size()!=lRightVector.size()) return false; + const std::vector< int,BEAGLE_STLALLOCATOR >& lLeft = *this; + const std::vector< int,BEAGLE_STLALLOCATOR >& lRight = lRightVector; + return (lLeft == lRight); + Beagle_StackTraceEndM("bool GA::IntegerVector::isEqual(const Object& inRightObj) const"); +} + + +/*! + * \brief Test the ordering of two float vectors. + * \param inRightObj Second float vector used for the ordering test. + * \return True if the actual float vector is before the second, false if not. + * \par Note: + * Returns true if the actual float vector is lexicographically less than the right object + * in the range [ 0, min(end(),inRightObj.end()) ) when compared element-by-element, + * and otherwise returns false. + */ +bool GA::IntegerVector::isLess(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const GA::IntegerVector& lRightVector = castObjectT(inRightObj); + if(size()!=lRightVector.size()) return false; + const std::vector< int,BEAGLE_STLALLOCATOR >& lLeft = *this; + const std::vector< int,BEAGLE_STLALLOCATOR >& lRight = lRightVector; + return (lLeft < lRight); + Beagle_StackTraceEndM("bool GA::IntegerVector::isLess(const Object& inRightObj) const"); +} + + +/*! + * \brief Read a float vector from a XML subtree. + * \param inIter XML iterator from which the float vector is read. + * \param ioContext Evolutionary context to use to read the float vector. + * \throw Beagle::IOException If a reading error occured (generally bad file format)! + */ +void GA::IntegerVector::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Genotype")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + string lType = inIter->getAttribute("type").c_str(); + if(lType.empty()) + throw Beagle_IOExceptionNodeM(*inIter, "integer vector type of the genotype is not present!"); + if(lType != "integervector") + throw Beagle_IOExceptionNodeM(*inIter, "type of genotype mismatch, expected \"integervector\"!"); + + PACC::XML::ConstIterator lChild = inIter->getFirstChild(); + if((!lChild) || (lChild->getType()!=PACC::XML::eString)) + throw Beagle_IOExceptionNodeM(*lChild, "expected content for the float vector!"); + + resize(0); + std::istringstream lISS(lChild->getValue()); + while(lISS.good()) { + int lValue=INT_MAX; + lISS >> lValue; + push_back(lValue); + if(lISS.good()==false) break; + int lDelim=lISS.get(); + if((lISS.good()==false) || (lDelim==-1)) break; + } + Beagle_StackTraceEndM("void GA::IntegerVector::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext)"); +} + + +/*! + * \brief Write a float vector into a XML streamer. + * \param ioStreamer XML streamer into which the float vector is written. + * \param inIndent Whether XML output should be indented. + */ +void GA::IntegerVector::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Genotype", false); + ioStreamer.insertAttribute("type", "integervector"); + ioStreamer.insertAttribute("size", uint2str(size())); + std::ostringstream lOSS; + for(size_type i=0; i&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/GA/src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libbeagle_GA_la_DEPENDENCIES = $(top_srcdir)/beagle/src/libbeagle.la \ + $(top_srcdir)/PACC/Math/libpacc-math.la \ + $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la +am__libbeagle_GA_la_SOURCES_DIST = BitString.cpp CMAHolder.cpp \ + CrossoverBlendESVecOp.cpp CrossoverBlendFltVecOp.cpp \ + CrossoverIndicesIntVecOp.cpp CrossoverSBXFltVecOp.cpp \ + ESVector.cpp EvolverBitString.cpp EvolverES.cpp \ + EvolverFloatVector.cpp EvolverIntegerVector.cpp \ + FloatVector.cpp InitBitStrOp.cpp InitCMAFltVecOp.cpp \ + InitESVecOp.cpp InitFltVecOp.cpp InitIndicesIntVecOp.cpp \ + InitIntVecOp.cpp IntegerVector.cpp MutationCMAFltVecOp.cpp \ + MutationESVecOp.cpp MutationFlipBitStrOp.cpp \ + MutationGaussianFltVecOp.cpp MutationShuffleIntVecOp.cpp \ + MutationUniformIntVecOp.cpp MuWCommaLambdaCMAFltVecOp.cpp \ + TermCMAOp.cpp +am__objects_1 = BitString.lo CMAHolder.lo CrossoverBlendESVecOp.lo \ + CrossoverBlendFltVecOp.lo CrossoverIndicesIntVecOp.lo \ + CrossoverSBXFltVecOp.lo ESVector.lo EvolverBitString.lo \ + EvolverES.lo EvolverFloatVector.lo EvolverIntegerVector.lo \ + FloatVector.lo InitBitStrOp.lo InitCMAFltVecOp.lo \ + InitESVecOp.lo InitFltVecOp.lo InitIndicesIntVecOp.lo \ + InitIntVecOp.lo IntegerVector.lo MutationCMAFltVecOp.lo \ + MutationESVecOp.lo MutationFlipBitStrOp.lo \ + MutationGaussianFltVecOp.lo MutationShuffleIntVecOp.lo \ + MutationUniformIntVecOp.lo MuWCommaLambdaCMAFltVecOp.lo \ + TermCMAOp.lo +#am_libbeagle_GA_la_OBJECTS = $(am__objects_1) +nodist_libbeagle_GA_la_OBJECTS = \ + libbeagle-GA.lo +libbeagle_GA_la_OBJECTS = $(am_libbeagle_GA_la_OBJECTS) \ + $(nodist_libbeagle_GA_la_OBJECTS) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +libbeagle_GA_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libbeagle_GA_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/BitString.Plo \ + ./$(DEPDIR)/CMAHolder.Plo \ + ./$(DEPDIR)/CrossoverBlendESVecOp.Plo \ + ./$(DEPDIR)/CrossoverBlendFltVecOp.Plo \ + ./$(DEPDIR)/CrossoverIndicesIntVecOp.Plo \ + ./$(DEPDIR)/CrossoverSBXFltVecOp.Plo ./$(DEPDIR)/ESVector.Plo \ + ./$(DEPDIR)/EvolverBitString.Plo ./$(DEPDIR)/EvolverES.Plo \ + ./$(DEPDIR)/EvolverFloatVector.Plo \ + ./$(DEPDIR)/EvolverIntegerVector.Plo \ + ./$(DEPDIR)/FloatVector.Plo ./$(DEPDIR)/InitBitStrOp.Plo \ + ./$(DEPDIR)/InitCMAFltVecOp.Plo ./$(DEPDIR)/InitESVecOp.Plo \ + ./$(DEPDIR)/InitFltVecOp.Plo \ + ./$(DEPDIR)/InitIndicesIntVecOp.Plo \ + ./$(DEPDIR)/InitIntVecOp.Plo ./$(DEPDIR)/IntegerVector.Plo \ + ./$(DEPDIR)/MuWCommaLambdaCMAFltVecOp.Plo \ + ./$(DEPDIR)/MutationCMAFltVecOp.Plo \ + ./$(DEPDIR)/MutationESVecOp.Plo \ + ./$(DEPDIR)/MutationFlipBitStrOp.Plo \ + ./$(DEPDIR)/MutationGaussianFltVecOp.Plo \ + ./$(DEPDIR)/MutationShuffleIntVecOp.Plo \ + ./$(DEPDIR)/MutationUniformIntVecOp.Plo \ + ./$(DEPDIR)/TermCMAOp.Plo ./$(DEPDIR)/libbeagle-GA.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libbeagle_GA_la_SOURCES) $(nodist_libbeagle_GA_la_SOURCES) +DIST_SOURCES = $(am__libbeagle_GA_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GA/src +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GA/src +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../ +top_builddir = ../../.. +top_srcdir = ../../.. +BEAGLE_GA_SRC_VAR = \ +BitString.cpp \ +CMAHolder.cpp \ +CrossoverBlendESVecOp.cpp \ +CrossoverBlendFltVecOp.cpp \ +CrossoverIndicesIntVecOp.cpp \ +CrossoverSBXFltVecOp.cpp \ +ESVector.cpp \ +EvolverBitString.cpp \ +EvolverES.cpp \ +EvolverFloatVector.cpp \ +EvolverIntegerVector.cpp \ +FloatVector.cpp \ +InitBitStrOp.cpp \ +InitCMAFltVecOp.cpp \ +InitESVecOp.cpp \ +InitFltVecOp.cpp \ +InitIndicesIntVecOp.cpp \ +InitIntVecOp.cpp \ +IntegerVector.cpp \ +MutationCMAFltVecOp.cpp \ +MutationESVecOp.cpp \ +MutationFlipBitStrOp.cpp \ +MutationGaussianFltVecOp.cpp \ +MutationShuffleIntVecOp.cpp \ +MutationUniformIntVecOp.cpp \ +MuWCommaLambdaCMAFltVecOp.cpp \ +TermCMAOp.cpp + +lib_LTLIBRARIES = libbeagle-GA.la +INCLUDES = \ +-I$(top_srcdir)/PACC \ +-I$(top_srcdir)/beagle/include \ +-I$(top_srcdir)/beagle/GA/include + +libbeagle_GA_la_LIBADD = \ +$(top_srcdir)/beagle/src/libbeagle.la \ +$(top_srcdir)/PACC/Math/libpacc-math.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la + +libbeagle_GA_la_LDFLAGS = -no-undefined -release 3.0.3 +nodist_libbeagle_GA_la_SOURCES = libbeagle-GA.cpp +#libbeagle_GA_la_SOURCES = $(BEAGLE_GA_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GA/src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GA/src/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libbeagle-GA.la: $(libbeagle_GA_la_OBJECTS) $(libbeagle_GA_la_DEPENDENCIES) $(EXTRA_libbeagle_GA_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libbeagle_GA_la_LINK) -rpath $(libdir) $(libbeagle_GA_la_OBJECTS) $(libbeagle_GA_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/BitString.Plo # am--include-marker +include ./$(DEPDIR)/CMAHolder.Plo # am--include-marker +include ./$(DEPDIR)/CrossoverBlendESVecOp.Plo # am--include-marker +include ./$(DEPDIR)/CrossoverBlendFltVecOp.Plo # am--include-marker +include ./$(DEPDIR)/CrossoverIndicesIntVecOp.Plo # am--include-marker +include ./$(DEPDIR)/CrossoverSBXFltVecOp.Plo # am--include-marker +include ./$(DEPDIR)/ESVector.Plo # am--include-marker +include ./$(DEPDIR)/EvolverBitString.Plo # am--include-marker +include ./$(DEPDIR)/EvolverES.Plo # am--include-marker +include ./$(DEPDIR)/EvolverFloatVector.Plo # am--include-marker +include ./$(DEPDIR)/EvolverIntegerVector.Plo # am--include-marker +include ./$(DEPDIR)/FloatVector.Plo # am--include-marker +include ./$(DEPDIR)/InitBitStrOp.Plo # am--include-marker +include ./$(DEPDIR)/InitCMAFltVecOp.Plo # am--include-marker +include ./$(DEPDIR)/InitESVecOp.Plo # am--include-marker +include ./$(DEPDIR)/InitFltVecOp.Plo # am--include-marker +include ./$(DEPDIR)/InitIndicesIntVecOp.Plo # am--include-marker +include ./$(DEPDIR)/InitIntVecOp.Plo # am--include-marker +include ./$(DEPDIR)/IntegerVector.Plo # am--include-marker +include ./$(DEPDIR)/MuWCommaLambdaCMAFltVecOp.Plo # am--include-marker +include ./$(DEPDIR)/MutationCMAFltVecOp.Plo # am--include-marker +include ./$(DEPDIR)/MutationESVecOp.Plo # am--include-marker +include ./$(DEPDIR)/MutationFlipBitStrOp.Plo # am--include-marker +include ./$(DEPDIR)/MutationGaussianFltVecOp.Plo # am--include-marker +include ./$(DEPDIR)/MutationShuffleIntVecOp.Plo # am--include-marker +include ./$(DEPDIR)/MutationUniformIntVecOp.Plo # am--include-marker +include ./$(DEPDIR)/TermCMAOp.Plo # am--include-marker +include ./$(DEPDIR)/libbeagle-GA.Plo # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(libdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +#clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/BitString.Plo + -rm -f ./$(DEPDIR)/CMAHolder.Plo + -rm -f ./$(DEPDIR)/CrossoverBlendESVecOp.Plo + -rm -f ./$(DEPDIR)/CrossoverBlendFltVecOp.Plo + -rm -f ./$(DEPDIR)/CrossoverIndicesIntVecOp.Plo + -rm -f ./$(DEPDIR)/CrossoverSBXFltVecOp.Plo + -rm -f ./$(DEPDIR)/ESVector.Plo + -rm -f ./$(DEPDIR)/EvolverBitString.Plo + -rm -f ./$(DEPDIR)/EvolverES.Plo + -rm -f ./$(DEPDIR)/EvolverFloatVector.Plo + -rm -f ./$(DEPDIR)/EvolverIntegerVector.Plo + -rm -f ./$(DEPDIR)/FloatVector.Plo + -rm -f ./$(DEPDIR)/InitBitStrOp.Plo + -rm -f ./$(DEPDIR)/InitCMAFltVecOp.Plo + -rm -f ./$(DEPDIR)/InitESVecOp.Plo + -rm -f ./$(DEPDIR)/InitFltVecOp.Plo + -rm -f ./$(DEPDIR)/InitIndicesIntVecOp.Plo + -rm -f ./$(DEPDIR)/InitIntVecOp.Plo + -rm -f ./$(DEPDIR)/IntegerVector.Plo + -rm -f ./$(DEPDIR)/MuWCommaLambdaCMAFltVecOp.Plo + -rm -f ./$(DEPDIR)/MutationCMAFltVecOp.Plo + -rm -f ./$(DEPDIR)/MutationESVecOp.Plo + -rm -f ./$(DEPDIR)/MutationFlipBitStrOp.Plo + -rm -f ./$(DEPDIR)/MutationGaussianFltVecOp.Plo + -rm -f ./$(DEPDIR)/MutationShuffleIntVecOp.Plo + -rm -f ./$(DEPDIR)/MutationUniformIntVecOp.Plo + -rm -f ./$(DEPDIR)/TermCMAOp.Plo + -rm -f ./$(DEPDIR)/libbeagle-GA.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/BitString.Plo + -rm -f ./$(DEPDIR)/CMAHolder.Plo + -rm -f ./$(DEPDIR)/CrossoverBlendESVecOp.Plo + -rm -f ./$(DEPDIR)/CrossoverBlendFltVecOp.Plo + -rm -f ./$(DEPDIR)/CrossoverIndicesIntVecOp.Plo + -rm -f ./$(DEPDIR)/CrossoverSBXFltVecOp.Plo + -rm -f ./$(DEPDIR)/ESVector.Plo + -rm -f ./$(DEPDIR)/EvolverBitString.Plo + -rm -f ./$(DEPDIR)/EvolverES.Plo + -rm -f ./$(DEPDIR)/EvolverFloatVector.Plo + -rm -f ./$(DEPDIR)/EvolverIntegerVector.Plo + -rm -f ./$(DEPDIR)/FloatVector.Plo + -rm -f ./$(DEPDIR)/InitBitStrOp.Plo + -rm -f ./$(DEPDIR)/InitCMAFltVecOp.Plo + -rm -f ./$(DEPDIR)/InitESVecOp.Plo + -rm -f ./$(DEPDIR)/InitFltVecOp.Plo + -rm -f ./$(DEPDIR)/InitIndicesIntVecOp.Plo + -rm -f ./$(DEPDIR)/InitIntVecOp.Plo + -rm -f ./$(DEPDIR)/IntegerVector.Plo + -rm -f ./$(DEPDIR)/MuWCommaLambdaCMAFltVecOp.Plo + -rm -f ./$(DEPDIR)/MutationCMAFltVecOp.Plo + -rm -f ./$(DEPDIR)/MutationESVecOp.Plo + -rm -f ./$(DEPDIR)/MutationFlipBitStrOp.Plo + -rm -f ./$(DEPDIR)/MutationGaussianFltVecOp.Plo + -rm -f ./$(DEPDIR)/MutationShuffleIntVecOp.Plo + -rm -f ./$(DEPDIR)/MutationUniformIntVecOp.Plo + -rm -f ./$(DEPDIR)/TermCMAOp.Plo + -rm -f ./$(DEPDIR)/libbeagle-GA.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES + +.PRECIOUS: Makefile + +libbeagle-GA.cpp: + rm -f libbeagle-GA.cpp + echo "// Generated automatically by make" > libbeagle-GA.cpp + echo >> libbeagle-GA.cpp + echo $(BEAGLE_GA_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libbeagle-GA.cpp + +clean-generic: + rm -f libbeagle-GA.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GA/src/Makefile.am b/lib/beagle-3.0.3/beagle/GA/src/Makefile.am new file mode 100644 index 0000000..bc62c4b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/Makefile.am @@ -0,0 +1,53 @@ +BEAGLE_GA_SRC_VAR = \ +BitString.cpp \ +CMAHolder.cpp \ +CrossoverBlendESVecOp.cpp \ +CrossoverBlendFltVecOp.cpp \ +CrossoverIndicesIntVecOp.cpp \ +CrossoverSBXFltVecOp.cpp \ +ESVector.cpp \ +EvolverBitString.cpp \ +EvolverES.cpp \ +EvolverFloatVector.cpp \ +EvolverIntegerVector.cpp \ +FloatVector.cpp \ +InitBitStrOp.cpp \ +InitCMAFltVecOp.cpp \ +InitESVecOp.cpp \ +InitFltVecOp.cpp \ +InitIndicesIntVecOp.cpp \ +InitIntVecOp.cpp \ +IntegerVector.cpp \ +MutationCMAFltVecOp.cpp \ +MutationESVecOp.cpp \ +MutationFlipBitStrOp.cpp \ +MutationGaussianFltVecOp.cpp \ +MutationShuffleIntVecOp.cpp \ +MutationUniformIntVecOp.cpp \ +MuWCommaLambdaCMAFltVecOp.cpp \ +TermCMAOp.cpp +lib_LTLIBRARIES = libbeagle-GA.la +INCLUDES = \ +-I$(top_srcdir)/PACC \ +-I$(top_srcdir)/beagle/include \ +-I$(top_srcdir)/beagle/GA/include +libbeagle_GA_la_LIBADD = \ +$(top_srcdir)/beagle/src/libbeagle.la \ +$(top_srcdir)/PACC/Math/libpacc-math.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la +libbeagle_GA_la_LDFLAGS = -no-undefined -release @VERSION@ +if FAST_COMPILATION +libbeagle-GA.cpp: + rm -f libbeagle-GA.cpp + echo "// Generated automatically by make" > libbeagle-GA.cpp + echo >> libbeagle-GA.cpp + echo $(BEAGLE_GA_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libbeagle-GA.cpp + +clean-generic: + rm -f libbeagle-GA.cpp + +nodist_libbeagle_GA_la_SOURCES = libbeagle-GA.cpp +else +libbeagle_GA_la_SOURCES = $(BEAGLE_GA_SRC_VAR) +endif diff --git a/lib/beagle-3.0.3/beagle/GA/src/Makefile.in b/lib/beagle-3.0.3/beagle/GA/src/Makefile.in new file mode 100644 index 0000000..62aba2c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/Makefile.in @@ -0,0 +1,867 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/GA/src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libbeagle_GA_la_DEPENDENCIES = $(top_srcdir)/beagle/src/libbeagle.la \ + $(top_srcdir)/PACC/Math/libpacc-math.la \ + $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la +am__libbeagle_GA_la_SOURCES_DIST = BitString.cpp CMAHolder.cpp \ + CrossoverBlendESVecOp.cpp CrossoverBlendFltVecOp.cpp \ + CrossoverIndicesIntVecOp.cpp CrossoverSBXFltVecOp.cpp \ + ESVector.cpp EvolverBitString.cpp EvolverES.cpp \ + EvolverFloatVector.cpp EvolverIntegerVector.cpp \ + FloatVector.cpp InitBitStrOp.cpp InitCMAFltVecOp.cpp \ + InitESVecOp.cpp InitFltVecOp.cpp InitIndicesIntVecOp.cpp \ + InitIntVecOp.cpp IntegerVector.cpp MutationCMAFltVecOp.cpp \ + MutationESVecOp.cpp MutationFlipBitStrOp.cpp \ + MutationGaussianFltVecOp.cpp MutationShuffleIntVecOp.cpp \ + MutationUniformIntVecOp.cpp MuWCommaLambdaCMAFltVecOp.cpp \ + TermCMAOp.cpp +am__objects_1 = BitString.lo CMAHolder.lo CrossoverBlendESVecOp.lo \ + CrossoverBlendFltVecOp.lo CrossoverIndicesIntVecOp.lo \ + CrossoverSBXFltVecOp.lo ESVector.lo EvolverBitString.lo \ + EvolverES.lo EvolverFloatVector.lo EvolverIntegerVector.lo \ + FloatVector.lo InitBitStrOp.lo InitCMAFltVecOp.lo \ + InitESVecOp.lo InitFltVecOp.lo InitIndicesIntVecOp.lo \ + InitIntVecOp.lo IntegerVector.lo MutationCMAFltVecOp.lo \ + MutationESVecOp.lo MutationFlipBitStrOp.lo \ + MutationGaussianFltVecOp.lo MutationShuffleIntVecOp.lo \ + MutationUniformIntVecOp.lo MuWCommaLambdaCMAFltVecOp.lo \ + TermCMAOp.lo +@FAST_COMPILATION_FALSE@am_libbeagle_GA_la_OBJECTS = $(am__objects_1) +@FAST_COMPILATION_TRUE@nodist_libbeagle_GA_la_OBJECTS = \ +@FAST_COMPILATION_TRUE@ libbeagle-GA.lo +libbeagle_GA_la_OBJECTS = $(am_libbeagle_GA_la_OBJECTS) \ + $(nodist_libbeagle_GA_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libbeagle_GA_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libbeagle_GA_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/BitString.Plo \ + ./$(DEPDIR)/CMAHolder.Plo \ + ./$(DEPDIR)/CrossoverBlendESVecOp.Plo \ + ./$(DEPDIR)/CrossoverBlendFltVecOp.Plo \ + ./$(DEPDIR)/CrossoverIndicesIntVecOp.Plo \ + ./$(DEPDIR)/CrossoverSBXFltVecOp.Plo ./$(DEPDIR)/ESVector.Plo \ + ./$(DEPDIR)/EvolverBitString.Plo ./$(DEPDIR)/EvolverES.Plo \ + ./$(DEPDIR)/EvolverFloatVector.Plo \ + ./$(DEPDIR)/EvolverIntegerVector.Plo \ + ./$(DEPDIR)/FloatVector.Plo ./$(DEPDIR)/InitBitStrOp.Plo \ + ./$(DEPDIR)/InitCMAFltVecOp.Plo ./$(DEPDIR)/InitESVecOp.Plo \ + ./$(DEPDIR)/InitFltVecOp.Plo \ + ./$(DEPDIR)/InitIndicesIntVecOp.Plo \ + ./$(DEPDIR)/InitIntVecOp.Plo ./$(DEPDIR)/IntegerVector.Plo \ + ./$(DEPDIR)/MuWCommaLambdaCMAFltVecOp.Plo \ + ./$(DEPDIR)/MutationCMAFltVecOp.Plo \ + ./$(DEPDIR)/MutationESVecOp.Plo \ + ./$(DEPDIR)/MutationFlipBitStrOp.Plo \ + ./$(DEPDIR)/MutationGaussianFltVecOp.Plo \ + ./$(DEPDIR)/MutationShuffleIntVecOp.Plo \ + ./$(DEPDIR)/MutationUniformIntVecOp.Plo \ + ./$(DEPDIR)/TermCMAOp.Plo ./$(DEPDIR)/libbeagle-GA.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libbeagle_GA_la_SOURCES) $(nodist_libbeagle_GA_la_SOURCES) +DIST_SOURCES = $(am__libbeagle_GA_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +BEAGLE_GA_SRC_VAR = \ +BitString.cpp \ +CMAHolder.cpp \ +CrossoverBlendESVecOp.cpp \ +CrossoverBlendFltVecOp.cpp \ +CrossoverIndicesIntVecOp.cpp \ +CrossoverSBXFltVecOp.cpp \ +ESVector.cpp \ +EvolverBitString.cpp \ +EvolverES.cpp \ +EvolverFloatVector.cpp \ +EvolverIntegerVector.cpp \ +FloatVector.cpp \ +InitBitStrOp.cpp \ +InitCMAFltVecOp.cpp \ +InitESVecOp.cpp \ +InitFltVecOp.cpp \ +InitIndicesIntVecOp.cpp \ +InitIntVecOp.cpp \ +IntegerVector.cpp \ +MutationCMAFltVecOp.cpp \ +MutationESVecOp.cpp \ +MutationFlipBitStrOp.cpp \ +MutationGaussianFltVecOp.cpp \ +MutationShuffleIntVecOp.cpp \ +MutationUniformIntVecOp.cpp \ +MuWCommaLambdaCMAFltVecOp.cpp \ +TermCMAOp.cpp + +lib_LTLIBRARIES = libbeagle-GA.la +INCLUDES = \ +-I$(top_srcdir)/PACC \ +-I$(top_srcdir)/beagle/include \ +-I$(top_srcdir)/beagle/GA/include + +libbeagle_GA_la_LIBADD = \ +$(top_srcdir)/beagle/src/libbeagle.la \ +$(top_srcdir)/PACC/Math/libpacc-math.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la + +libbeagle_GA_la_LDFLAGS = -no-undefined -release @VERSION@ +@FAST_COMPILATION_TRUE@nodist_libbeagle_GA_la_SOURCES = libbeagle-GA.cpp +@FAST_COMPILATION_FALSE@libbeagle_GA_la_SOURCES = $(BEAGLE_GA_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GA/src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GA/src/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libbeagle-GA.la: $(libbeagle_GA_la_OBJECTS) $(libbeagle_GA_la_DEPENDENCIES) $(EXTRA_libbeagle_GA_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libbeagle_GA_la_LINK) -rpath $(libdir) $(libbeagle_GA_la_OBJECTS) $(libbeagle_GA_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BitString.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CMAHolder.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CrossoverBlendESVecOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CrossoverBlendFltVecOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CrossoverIndicesIntVecOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CrossoverSBXFltVecOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ESVector.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EvolverBitString.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EvolverES.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EvolverFloatVector.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EvolverIntegerVector.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FloatVector.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitBitStrOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitCMAFltVecOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitESVecOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitFltVecOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitIndicesIntVecOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitIntVecOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IntegerVector.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MuWCommaLambdaCMAFltVecOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MutationCMAFltVecOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MutationESVecOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MutationFlipBitStrOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MutationGaussianFltVecOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MutationShuffleIntVecOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MutationUniformIntVecOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TermCMAOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libbeagle-GA.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(libdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +@FAST_COMPILATION_FALSE@clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/BitString.Plo + -rm -f ./$(DEPDIR)/CMAHolder.Plo + -rm -f ./$(DEPDIR)/CrossoverBlendESVecOp.Plo + -rm -f ./$(DEPDIR)/CrossoverBlendFltVecOp.Plo + -rm -f ./$(DEPDIR)/CrossoverIndicesIntVecOp.Plo + -rm -f ./$(DEPDIR)/CrossoverSBXFltVecOp.Plo + -rm -f ./$(DEPDIR)/ESVector.Plo + -rm -f ./$(DEPDIR)/EvolverBitString.Plo + -rm -f ./$(DEPDIR)/EvolverES.Plo + -rm -f ./$(DEPDIR)/EvolverFloatVector.Plo + -rm -f ./$(DEPDIR)/EvolverIntegerVector.Plo + -rm -f ./$(DEPDIR)/FloatVector.Plo + -rm -f ./$(DEPDIR)/InitBitStrOp.Plo + -rm -f ./$(DEPDIR)/InitCMAFltVecOp.Plo + -rm -f ./$(DEPDIR)/InitESVecOp.Plo + -rm -f ./$(DEPDIR)/InitFltVecOp.Plo + -rm -f ./$(DEPDIR)/InitIndicesIntVecOp.Plo + -rm -f ./$(DEPDIR)/InitIntVecOp.Plo + -rm -f ./$(DEPDIR)/IntegerVector.Plo + -rm -f ./$(DEPDIR)/MuWCommaLambdaCMAFltVecOp.Plo + -rm -f ./$(DEPDIR)/MutationCMAFltVecOp.Plo + -rm -f ./$(DEPDIR)/MutationESVecOp.Plo + -rm -f ./$(DEPDIR)/MutationFlipBitStrOp.Plo + -rm -f ./$(DEPDIR)/MutationGaussianFltVecOp.Plo + -rm -f ./$(DEPDIR)/MutationShuffleIntVecOp.Plo + -rm -f ./$(DEPDIR)/MutationUniformIntVecOp.Plo + -rm -f ./$(DEPDIR)/TermCMAOp.Plo + -rm -f ./$(DEPDIR)/libbeagle-GA.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/BitString.Plo + -rm -f ./$(DEPDIR)/CMAHolder.Plo + -rm -f ./$(DEPDIR)/CrossoverBlendESVecOp.Plo + -rm -f ./$(DEPDIR)/CrossoverBlendFltVecOp.Plo + -rm -f ./$(DEPDIR)/CrossoverIndicesIntVecOp.Plo + -rm -f ./$(DEPDIR)/CrossoverSBXFltVecOp.Plo + -rm -f ./$(DEPDIR)/ESVector.Plo + -rm -f ./$(DEPDIR)/EvolverBitString.Plo + -rm -f ./$(DEPDIR)/EvolverES.Plo + -rm -f ./$(DEPDIR)/EvolverFloatVector.Plo + -rm -f ./$(DEPDIR)/EvolverIntegerVector.Plo + -rm -f ./$(DEPDIR)/FloatVector.Plo + -rm -f ./$(DEPDIR)/InitBitStrOp.Plo + -rm -f ./$(DEPDIR)/InitCMAFltVecOp.Plo + -rm -f ./$(DEPDIR)/InitESVecOp.Plo + -rm -f ./$(DEPDIR)/InitFltVecOp.Plo + -rm -f ./$(DEPDIR)/InitIndicesIntVecOp.Plo + -rm -f ./$(DEPDIR)/InitIntVecOp.Plo + -rm -f ./$(DEPDIR)/IntegerVector.Plo + -rm -f ./$(DEPDIR)/MuWCommaLambdaCMAFltVecOp.Plo + -rm -f ./$(DEPDIR)/MutationCMAFltVecOp.Plo + -rm -f ./$(DEPDIR)/MutationESVecOp.Plo + -rm -f ./$(DEPDIR)/MutationFlipBitStrOp.Plo + -rm -f ./$(DEPDIR)/MutationGaussianFltVecOp.Plo + -rm -f ./$(DEPDIR)/MutationShuffleIntVecOp.Plo + -rm -f ./$(DEPDIR)/MutationUniformIntVecOp.Plo + -rm -f ./$(DEPDIR)/TermCMAOp.Plo + -rm -f ./$(DEPDIR)/libbeagle-GA.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES + +.PRECIOUS: Makefile + +@FAST_COMPILATION_TRUE@libbeagle-GA.cpp: +@FAST_COMPILATION_TRUE@ rm -f libbeagle-GA.cpp +@FAST_COMPILATION_TRUE@ echo "// Generated automatically by make" > libbeagle-GA.cpp +@FAST_COMPILATION_TRUE@ echo >> libbeagle-GA.cpp +@FAST_COMPILATION_TRUE@ echo $(BEAGLE_GA_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libbeagle-GA.cpp + +@FAST_COMPILATION_TRUE@clean-generic: +@FAST_COMPILATION_TRUE@ rm -f libbeagle-GA.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GA/src/MuWCommaLambdaCMAFltVecOp.cpp b/lib/beagle-3.0.3/beagle/GA/src/MuWCommaLambdaCMAFltVecOp.cpp new file mode 100644 index 0000000..478f8f2 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/MuWCommaLambdaCMAFltVecOp.cpp @@ -0,0 +1,524 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/MuWCommaLambdaCMAFltVecOp.cpp + * \brief Source code of class MuWCommaLambdaCMAFltVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.11.2.2 $ + * $Date: 2007/09/10 18:24:10 $ + */ + +#include "beagle/GA.hpp" + +#include +#include +#include +#include + +using namespace Beagle; + + +/*! + * \brief Build CMA-ES (Mu_W,Lambda) replacement strategy operator. + * \param inLMRatioName Lamda over Mu parameter name used in the register. + * \param inName Name of the CMA-ES (Mu_W,Lambda) operator. + */ +GA::MuWCommaLambdaCMAFltVecOp::MuWCommaLambdaCMAFltVecOp(std::string inLMRatioName, + std::string inName) : + MuCommaLambdaOp(inLMRatioName,inName) +{ } + + +/*! + * \brief Generate children from the breeder tree. + * \param ioDeme Deme to generate children from. + * \param ioContext Evolutionary context. + * \param inNbChildren Number of children to generate. + * \param inN Dimensionality of the problem. + * \param ioCMAValues CMA values to use to generate new individual. + * \param inSelectionWeights Selection weights used to generate children. + */ +void GA::MuWCommaLambdaCMAFltVecOp::generateChildren(Deme& ioDeme, + Context& ioContext, + unsigned int inNbChildren, + unsigned int inN, + GA::CMAValues& ioCMAValues, + const Vector& inSelectionWeights) const +{ + Beagle_StackTraceBeginM(); + // Check parameters and log some information + Beagle_NonNullPointerAssertM(mElitismKeepSize); + Beagle_ValidateParameterM(mLMRatio->getWrappedValue() >= 1.0, + mLMRatioName, + "The LM ratio must be higher or equal to 1.0."); + Beagle_ValidateParameterM(mElitismKeepSize->getWrappedValue() <= ioDeme.size(), + "ec.elite.keepsize", + "The elistism keepsize must be less than the deme size!"); + + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "replacement-strategy", "Beagle::GA::MuWCommaLambdaCMAFltVecOp", + std::string("Using CMA-ES (mu_w,lambda) replacement strategy to process the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + Beagle_LogObjectM( + ioContext.getSystem().getLogger(), + Logger::eTrace, + "replacement-strategy", "Beagle::GA::MuWCommaLambdaCMAFltVecOp", + (*this) + ); + + // Create weighted mean individual. + std::sort(ioDeme.begin(), ioDeme.end(), IsMorePointerPredicate()); + Individual::Handle lMeanInd = castHandleT(ioDeme.getTypeAlloc()->allocate()); + lMeanInd->resize(1); + GA::FloatVector::Handle lMeanFloatVec = castHandleT((*lMeanInd)[0]); + lMeanFloatVec->resize(inN); + for(unsigned int i=0; isize() == 1); + GA::FloatVector::Handle lInd = castHandleT((*ioDeme[0])[0]); + (*lMeanFloatVec) = *lInd; + } + else { + for(unsigned int i=0; isize()==1); + GA::FloatVector::Handle lVecI = castHandleT((*ioDeme[i])[0]); + Beagle_AssertM(lVecI->size()==inN); + for(unsigned int j=0; j lRoulette; + buildRoulette(lRoulette, ioContext); + + // Keep best individuals if elitism is used + const unsigned int lElitismKS=mElitismKeepSize->getWrappedValue(); + if(lElitismKS > 0) { + Individual::Bag lBestInd; + std::make_heap(ioDeme.begin(), ioDeme.end(), IsLessPointerPredicate()); + for(unsigned int i=0; igetNextSibling(); + Beagle_NonNullPointerAssertM(lSelectedBreeder); + Beagle_NonNullPointerAssertM(lSelectedBreeder->getBreederOp()); + Individual::Handle lBredIndiv = + lSelectedBreeder->getBreederOp()->breed(lBagWithMeanInd, + lSelectedBreeder->getFirstChild(), + ioContext); + Beagle_NonNullPointerAssertM(lBredIndiv); + ioDeme.push_back(lBredIndiv); + } + + Beagle_StackTraceEndM("void GA::MuWCommaLambdaCMAFltVecOp::generateChildren(Deme& ioDeme,Context& ioContext,unsigned int inN,unsigned int inNbChildren,GA::CMAValues& ioCMAValues) const"); +} + + +/*! + * \brief Generate selection weights for creating weighted mean individual. + * \param inPopSize Population size. + * \param outSelectionWeights Generated selection weights. + * \return Effective mu value. + */ +double GA::MuWCommaLambdaCMAFltVecOp::generateSelectionWeights(unsigned int inPopSize, + Vector& outSelectionWeights) const +{ + Beagle_StackTraceBeginM(); + outSelectionWeights.resize(inPopSize); + double lSumWeight=0.0; + double lSumSquareWeight=0.0; + for(unsigned int i=0; i(lHolderComponent); + if(lCMAHolder==NULL) + throw Beagle_RunTimeExceptionM("Component named \"CMAHolder\" found is not of the good type!"); + GA::CMAHolder::iterator lIterVal = lCMAHolder->find(ioContext.getDemeIndex()); + if((ioContext.getGeneration()<=1) || (lIterVal==lCMAHolder->end())) { + GA::CMAValues& lValues = (*lCMAHolder)[inIndex]; + lValues.mB.setIdentity(inN); + lValues.mD.resize(inN); + for(unsigned int i=0; igetWrappedValue(); + return lValues; + } + return lIterVal->second; + Beagle_StackTraceEndM("GA::CMAValues& GA::MuWCommaLambdaCMAFltVecOp::getCMAValues(unsigned int inIndex,unsigned int inN,Context& ioContext) const"); +} + +/*! + * \brief Register the parameters of the operator. + * \param ioSystem Reference to the evolutionary system. + */ +void GA::MuWCommaLambdaCMAFltVecOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + MuCommaLambdaOp::initialize(ioSystem); + if(ioSystem.getRegister().isRegistered("ga.cmaes.sigma")) { + mSigma = castHandleT(ioSystem.getRegister()["ga.cmaes.sigma"]); + } else { + Register::Description lDescription( + "CMA-ES sigma value", + "Double", + "0.5", + "Initial CMA-ES sigma value moduling the mutation step size." + ); + mSigma = new Double(0.5); + ioSystem.getRegister().addEntry("ga.cmaes.sigma", mSigma, lDescription); + } + if(ioSystem.getRegister().isRegistered("ga.float.maxvalue")) { + mMaxValue = castHandleT(ioSystem.getRegister()["ga.float.maxvalue"]); + } else { + std::ostringstream lOSS; + lOSS << "Maximum values assigned to vector's floats. "; + lOSS << "Value can be a scalar, which limit the value for all float "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the maximum value is smaller than the "; + lOSS << "float vector size, the limit used for the last values of the float vector "; + lOSS << "is equal to the last value of the maximum value vector."; + Register::Description lDescription( + "Maximum vector values", + "DoubleArray", + dbl2str(DBL_MAX), + lOSS.str() + ); + mMaxValue = new DoubleArray(1,DBL_MAX); + ioSystem.getRegister().addEntry("ga.float.maxvalue", mMaxValue, lDescription); + } + if(ioSystem.getRegister().isRegistered("ga.float.minvalue")) { + mMinValue = castHandleT(ioSystem.getRegister()["ga.float.minvalue"]); + } else { + std::ostringstream lOSS; + lOSS << "Minimum values assigned to vector's floats. "; + lOSS << "Value can be a scalar, which limit the value for all float "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the minimum value is smaller than the "; + lOSS << "float vector size, the limit used for the last values of the float vector "; + lOSS << "is equal to the last value of the minimum value vector."; + Register::Description lDescription( + "Minimum values", + "DoubleArray", + dbl2str(-DBL_MAX), + lOSS.str() + ); + mMinValue = new DoubleArray(1,-DBL_MAX); + ioSystem.getRegister().addEntry("ga.float.minvalue", mMinValue, lDescription); + } + Beagle_StackTraceEndM("void GA::MuWCommaLambdaCMAFltVecOp::registerParams(System&)"); +} + + +/*! + * \brief Apply the CMA-ES (Mu_W+Lambda) replacement strategy operation on a deme. + * \param ioDeme Reference to the deme on which the operation takes place. + * \param ioContext Evolutionary context of the operation. + * \throw Beagle::ValidationException If a parameter is missing or have a bad value. + * \throw Beagle::AssertException If an invalid condition appears. + */ +void GA::MuWCommaLambdaCMAFltVecOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + + // Get real popsize and size of float vectors from register. + UIntArray::Handle lPopSize; + if(ioContext.getSystem().getRegister().isRegistered("ec.pop.size")) { + lPopSize = castHandleT(ioContext.getSystem().getRegister()["ec.pop.size"]); + } + else { + std::ostringstream lOSS; + lOSS << "Population size parameter \"ec.pop.size\" is not found in register!"; + throw ValidationException(lOSS.str()); + } + + const unsigned int lDemeSize = (*lPopSize)[ioContext.getDemeIndex()]; + UInt::Handle lFloatVectorSize; + if(ioContext.getSystem().getRegister().isRegistered("ga.init.vectorsize")) { + lFloatVectorSize = castHandleT(ioContext.getSystem().getRegister()["ga.init.vectorsize"]); + } + else { + std::ostringstream lOSS; + lOSS << "GA::MuWCommaLambdaCMAFltVecOp must be used in fixed-lenght float vector "; + lOSS << "individuals. Parameter \"ga.init.vectorsize\" is not in register, "; + lOSS << "while it is needed to set initial size of the different CMA-ES matrices "; + lOSS << "and vectors."; + throw ValidationException(lOSS.str()); + } + const unsigned int lN=lFloatVectorSize->getWrappedValue(); + + // Get the appropriate CMA values from the CMA holder component. + GA::CMAValues& lValues = getCMAValues(ioContext.getDemeIndex(),lN,ioContext); + + // Compute weights and effective mu + Vector lWeight; + double lMuEff = 0.0; + lMuEff = generateSelectionWeights(lDemeSize, lWeight); + if(ioDeme.size() == 1) lMuEff = 1.; + + // If the replacement strategy possess a breeder tree + if(getRootNode()!=NULL) { + // Generate new children. + const unsigned int lLambda = + (unsigned int)std::ceil(mLMRatio->getWrappedValue()*double(lDemeSize)); + generateChildren(ioDeme, ioContext, lLambda, lN, lValues, lWeight); + + // Check if all individuals have known fitness. + for(unsigned int i=0; igetFitness()==NULL) || (ioDeme[i]->getFitness()->isValid()==false)) return; + } + } + + // Keep mu best children + Beagle_AssertM(ioDeme.size() > lDemeSize); + std::sort(ioDeme.begin(), ioDeme.end(), IsMorePointerPredicate()); + ioDeme.resize(lDemeSize); + + // Update CMA-ES values. + updateValues(ioDeme, ioContext, lN, lMuEff, lWeight, lValues); + + Beagle_StackTraceEndM("void GA::MuWCommaLambdaCMAFltVecOp::operate(Deme& ioDeme, Context& ioContext)"); +} + + +/*! + * \brief Update covariance matrix, cumulation path and other CMA values. + * \param ioDeme Deme to use to update CMA values. + * \param ioContext Evolutionary context. + * \param inN Dimensionality of the problem. + * \param inMuEff Effective mu. + * \param inSelectionWeights Selection weights. + * \param ioCMAValues Reference to CMA values. + * + * This routine is mostly inspired from matlab routine cmaes.m and the document + * "The CMA Evolution Strategy: A Tutorial" (October 15, 2004), both + * from Nikolaus Hansen. + * See http://www.bionik.tu-berlin.de/user/niko/cmaes_inmatlab.html + */ +void GA::MuWCommaLambdaCMAFltVecOp::updateValues(Deme& ioDeme, + Context& ioContext, + unsigned int inN, + double inMuEff, + const Vector& inSelectionWeights, + GA::CMAValues& ioCMAValues) const +{ + Beagle_StackTraceBeginM(); + + // Log messages + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "replacement-strategy", "Beagle::GA::MuWCommaLambdaCMAFltVecOp", + "Updating covariance matrix, sigma, and cumulation paths of CMA-ES." + ); + + // Compute some constants + const double lCC = 4.0 / (double(inN) + 4.0); + const double lCS = (inMuEff+2.0) / (double(inN)+inMuEff+3.0); + const double lMuCov = inMuEff; + double lCCov = ((2.0*inMuEff)-1.0) / (((double(inN)+2.0)*(double(inN)+2.0)) + inMuEff); + lCCov = ((1.0/lMuCov) * (2.0/((double(inN)+1.414)*(double(inN)+1.414)))) + + ((1.0-(1.0/lMuCov)) * minOf(1.0,lCCov)); + double lDamps = std::sqrt((inMuEff-1.0) / (double(inN)+1.0)) - 1.0; + lDamps = 1.0 + (2.0*maxOf(0.0,lDamps)) + lCS; + const double lChiN = std::sqrt(double(inN)) * + (1.0 - (0.25/double(inN)) + (1.0/(21.0*double(inN)*double(inN)))); + + // Compute new xmean + Vector lXmean_new(inN, 0.0); + for(unsigned int i=0; i((*ioDeme[i])[0]); + for(unsigned int j=0; j((*ioDeme[i])[0]); + Vector lX_I(lVecI->size()); + for(unsigned int j=0; jsize(); ++j) lX_I[j] = (*lVecI)[j]; + lX_I -= ioCMAValues.mXmean; + Matrix lX_It; + lX_I.transpose(lX_It); + lX_It *= inSelectionWeights[i]; + lRMuUpd += (lX_I * lX_It); + } + lRMuUpd *= (lCCov * (1.0 - (1.0/lMuCov)) / (lSigma * lSigma)); + + lC *= lAttnC; // Attenuate old matrix + lC += lR1Upd; // Add rank one update + lC += lRMuUpd; // Add rank mu update + + // Adapt step size sigma + ioCMAValues.mSigma.getWrappedValue() *= std::exp((lCS/lDamps) * ((lPSnorm/lChiN)-1.0)); + + // Update B and D from C + for(unsigned int i=1; i +#include + +using namespace Beagle; + + +/*! + * \brief Construct CMA-ES mutation operator. + * \param inMutationPbName CMA-ES mutation probability parameter name used in register. + * \param inName Name of the CMA-ES operator. + */ +GA::MutationCMAFltVecOp::MutationCMAFltVecOp(std::string inMutationPbName, + std::string inName) : + MutationOp(inMutationPbName, inName) +{ } + + +/*! + * \brief Register the parameters of the CMA-ES mutation operator. + * \param ioSystem System of the evolution. + */ +void GA::MutationCMAFltVecOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + MutationOp::initialize(ioSystem); + if(ioSystem.getRegister().isRegistered("ga.float.maxvalue")) { + mMaxValue = castHandleT(ioSystem.getRegister()["ga.float.maxvalue"]); + } else { + std::ostringstream lOSS; + lOSS << "Maximum values assigned to vector's floats. "; + lOSS << "Value can be a scalar, which limit the value for all float "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the maximum value is smaller than the "; + lOSS << "float vector size, the limit used for the last values of the float vector "; + lOSS << "is equal to the last value of the maximum value vector."; + Register::Description lDescription( + "Maximum vector values", + "DoubleArray", + dbl2str(DBL_MAX), + lOSS.str() + ); + mMaxValue = new DoubleArray(1,DBL_MAX); + ioSystem.getRegister().addEntry("ga.float.maxvalue", mMaxValue, lDescription); + } + if(ioSystem.getRegister().isRegistered("ga.float.minvalue")) { + mMinValue = castHandleT(ioSystem.getRegister()["ga.float.minvalue"]); + } else { + std::ostringstream lOSS; + lOSS << "Minimum values assigned to vector's floats. "; + lOSS << "Value can be a scalar, which limit the value for all float "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the minimum value is smaller than the "; + lOSS << "float vector size, the limit used for the last values of the float vector "; + lOSS << "is equal to the last value of the minimum value vector."; + Register::Description lDescription( + "Minimum values", + "DoubleArray", + dbl2str(-DBL_MAX), + lOSS.str() + ); + mMinValue = new DoubleArray(1,-DBL_MAX); + ioSystem.getRegister().addEntry("ga.float.minvalue", mMinValue, lDescription); + } + Beagle_StackTraceEndM("void GA::MutationCMAFltVecOp::registerParams(System&)"); +} + + +/*! + * \brief Apply CMA-ES mutation on a real-valued GA individual. + * \param ioIndividual Real-valued GA individual to mutate. + * \param ioContext Context of the evolution. + * \return True if the individual is effectively mutated, false if not. + */ +bool GA::MutationCMAFltVecOp::mutate(Individual& ioIndividual, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationCMAFltVecOp", + std::string("Applying CMA-ES mutation") + ); + + if(ioIndividual.size()!=1) throw Beagle_RunTimeExceptionM( + "CMA-ES mutation can't be applied on individuals composed by more than one float vector"); + + // Get the appropriate CMA values from the CMA holder component. + Component::Handle lHolderComponent = ioContext.getSystem().getComponent("CMAHolder"); + if(lHolderComponent==NULL) + throw Beagle_RunTimeExceptionM("No CMA holder component found in the system!"); + GA::CMAHolder::Handle lCMAHolder = castHandleT(lHolderComponent); + if(lCMAHolder==NULL) + throw Beagle_RunTimeExceptionM("Component named \"CMAHolder\" found is not of the good type!"); + GA::CMAHolder::iterator lIterVal = lCMAHolder->find(ioContext.getDemeIndex()); + if(lIterVal == lCMAHolder->end()) { + std::ostringstream lOSS; + lOSS << "CMA values of index \"" << ioContext.getDemeIndex() << "\" not found in CMA holder "; + lOSS << "component. Consider having a breeding pipeline with an appropriate CMA replacement "; + lOSS << "strategy that would correctly initialize the CMA values at the given index."; + throw Beagle_RunTimeExceptionM(lOSS.str()); + } + GA::CMAValues& lValues = lIterVal->second; + + GA::FloatVector::Handle lVector=castHandleT(ioIndividual[0]); + Beagle_AssertM(lVector->size()==lValues.mD.size()); + const double lSigma=lValues.mSigma.getWrappedValue(); + Vector lArz(lVector->size()); + for(unsigned int i=0; isize()); + for(unsigned int i=0; isize(); ++i) { + const double lMaxVal = isize() ? (*mMaxValue)[i] : mMaxValue->back(); + const double lMinVal = isize() ? (*mMinValue)[i] : mMinValue->back(); + (*lVector)[i] += lMutFactor[i]; + if((*lVector)[i] > lMaxVal) (*lVector)[i] = lMaxVal; + if((*lVector)[i] < lMinVal) (*lVector)[i] = lMinVal; + } + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationCMAFltVecOp", + std::string("Float vector generated by CMA-ES mutation: ")+lVector->serialize() + ); + return true; + Beagle_StackTraceEndM("bool GA::MutationCMAFltVecOp::mutate(Individual& ioIndividual, Context& ioContext)"); +} + + + diff --git a/lib/beagle-3.0.3/beagle/GA/src/MutationESVecOp.cpp b/lib/beagle-3.0.3/beagle/GA/src/MutationESVecOp.cpp new file mode 100644 index 0000000..d58b769 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/MutationESVecOp.cpp @@ -0,0 +1,237 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/MutationESVecOp.cpp + * \brief Source code of class GA::MutationESVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.13.2.2 $ + * $Date: 2007/05/11 19:18:44 $ + */ + +#include "beagle/GA.hpp" + +#include +#include +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a evolution strategy mutation operator. + * \param inMutationPbName ES mutation probability parameter name used in register. + * \param inMinStrategyName Minimum strategy parameter parameter name. + * \param inName Name of the operator. + */ +GA::MutationESVecOp::MutationESVecOp(Beagle::string inMutationPbName, + Beagle::string inMinStrategyName, + Beagle::string inName) : + MutationOp(inMutationPbName, inName), + mMinStrategyName(inMinStrategyName) +{ } + + +/*! + * \brief Initialize the ES mutation operator. + * \param ioSystem System of the evolution. + */ +void GA::MutationESVecOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + MutationOp::initialize(ioSystem); + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + ioSystem.getRegister().deleteEntry(mMutationPbName); + } + + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + mMutationProba = castHandleT(ioSystem.getRegister()[mMutationPbName]); + } else { + mMutationProba = new Float(1.0f); + Register::Description lDescription( + "Individual ES mutation prob.", + "Float", + "1.0", + "ES mutation probability for each individual." + ); + ioSystem.getRegister().addEntry(mMutationPbName, mMutationProba, lDescription); + } + + if(ioSystem.getRegister().isRegistered(mMinStrategyName)) { + mMinStrategy = castHandleT(ioSystem.getRegister()[mMinStrategyName]); + } else { + mMinStrategy = new Double(0.01); + Register::Description lDescription( + "Minimum strategy parameter", + "Double", + "0.01", + "Minimum mutation strategy parameter allowed." + ); + ioSystem.getRegister().addEntry(mMinStrategyName, mMinStrategy, lDescription); + } + + if(ioSystem.getRegister().isRegistered("es.value.max")) { + mMaxValue = castHandleT(ioSystem.getRegister()["es.value.max"]); + } else { + mMaxValue = new DoubleArray(1,DBL_MAX); + std::ostringstream lOSS; + lOSS << "ES vector maximum values. This can be a scalar, which limit the values for all ES, "; + lOSS << "or a vector which limit the values individually. If the maximum value vector size is "; + lOSS << "smaller than the ES vector size, the limit used for the last values of the ES vector "; + lOSS << "is equal to the last value of the maximum value vector."; + Register::Description lDescription( + "Maximum ES vector values", + "DoubleArray", + dbl2str(DBL_MAX), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("es.value.max", mMaxValue, lDescription); + } + + if(ioSystem.getRegister().isRegistered("es.value.min")) { + mMinValue = castHandleT(ioSystem.getRegister()["es.value.min"]); + } else { + mMinValue = new DoubleArray(1,-DBL_MAX); + std::ostringstream lOSS; + lOSS << "ES vector minimum values. This can be a scalar, which limit the values for all ES, "; + lOSS << "or a vector which limit the values individually. If the minimum value vector size is "; + lOSS << "smaller than the ES vector size, the limit used for the last values of the ES vector "; + lOSS << "is equal to the last value of the minimum value vector."; + Register::Description lDescription( + "Minimum ES vector values", + "DoubleArray", + dbl2str(-DBL_MAX), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("es.value.min", mMinValue, lDescription); + } + Beagle_StackTraceEndM("void GA::MutationESVecOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Mutate an ES individual. + * \param ioIndividual ES individual to mutate. + * \param ioContext Context of the evolution. + * \return True as individual are always mutated. + */ +bool GA::MutationESVecOp::mutate(Beagle::Individual& ioIndividual, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_ValidateParameterM(mMinStrategy->getWrappedValue()>=0.0,mMinStrategyName,"<0"); + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationESVecOp", + string("Applying evolution strategy mutation to an individual") + ); + + for(unsigned int i=0; i(ioIndividual[i]); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationESVecOp", + string("Mutating the ")+uint2ordinal(i+1)+" ES vector" + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationESVecOp", + string("The ES vector before mutation: ")+lVector->serialize() + ); + + const double lT = 1.0 / std::sqrt(2.0 * std::sqrt(double(lVector->size()))); + const double lTPrime = 1.0 / std::sqrt(2.0 * lVector->size()); + const double lN = ioContext.getSystem().getRandomizer().rollGaussian(0.0, 1.0); + const double lMinStrategy = mMinStrategy->getWrappedValue(); + for(unsigned int j=0; jsize(); j++) { + const double lMaxVal = jsize() ? (*mMaxValue)[j] : mMaxValue->back(); + const double lMinVal = jsize() ? (*mMinValue)[j] : mMinValue->back(); + const double lNi = ioContext.getSystem().getRandomizer().rollGaussian(0.0, 1.0); + + (*lVector)[j].mStrategy *= std::exp((lTPrime * lN) + (lT * lNi)); + if((*lVector)[j].mStrategy < lMinStrategy) (*lVector)[j].mStrategy = lMinStrategy; + (*lVector)[j].mValue += (*lVector)[j].mStrategy * lNi; + if((*lVector)[j].mValue > lMaxVal) (*lVector)[j].mValue = lMaxVal; + if((*lVector)[j].mValue < lMinVal) (*lVector)[j].mValue = lMinVal; + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationESVecOp", + string("ES mutating by adding ")+dbl2str((*lVector)[j].mStrategy * lNi)+ + string(" to the value and multiplying the strategy by ")+ + dbl2str(std::exp((lTPrime * lN) + (lT * lNi)))+ + string(" to mutate the pair ")+uint2str(j)+ + string(" of the ES vector") + ); + } + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationESVecOp", + string("ES vector after mutation: ")+lVector->serialize() + ); + } + return true; + Beagle_StackTraceEndM("bool GA::MutationESVecOp::mutate(Beagle::Individual& ioIndividual, Context& ioContext)"); +} + + +/*! + * \brief Read ES mutation operator from XML subtree. + * \param inIter XML iterator to use to read mutation operator. + * \param inOpMap Operator map to use to read mutation operator. + */ +void GA::MutationESVecOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string lMutationPbReadName = inIter->getAttribute("mutationpb").c_str(); + if(lMutationPbReadName.empty() == false) mMutationPbName = lMutationPbReadName; + string lMinStrategyReadName = inIter->getAttribute("minstrategy").c_str(); + if(lMinStrategyReadName.empty() == false) mMinStrategyName = lMinStrategyReadName; + Beagle_StackTraceEndM("void GA::MutationESVecOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write ES mutation operator into XML streamer. + * \param ioStreamer XML streamer to write mutation operator into. + * \param inIndent Whether XML output should be indented. + */ +void GA::MutationESVecOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + Beagle::MutationOp::writeContent(ioStreamer, inIndent); + ioStreamer.insertAttribute("minstrategy", mMinStrategyName); + Beagle_StackTraceEndM("void GA::MutationESVecOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/GA/src/MutationFlipBitStrOp.cpp b/lib/beagle-3.0.3/beagle/GA/src/MutationFlipBitStrOp.cpp new file mode 100644 index 0000000..4d8a0cf --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/MutationFlipBitStrOp.cpp @@ -0,0 +1,194 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/MutationFlipBitStrOp.cpp + * \brief Source code of class GA::MutationFlipBitStrOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.14.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +#include "beagle/GA.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a bit string GA flip bit mutation operator. + * \param inMutationPbName Mutation probability parameter name used in register. + * \param inBitMutatePbName Mutation bit probability parameter name used in register. + * \param inName Name of the operator. + */ +GA::MutationFlipBitStrOp::MutationFlipBitStrOp(Beagle::string inMutationPbName, + Beagle::string inBitMutatePbName, + Beagle::string inName) : + Beagle::MutationOp(inMutationPbName, inName), + mBitMutatePbName(inBitMutatePbName) +{ } + + +/*! + * \brief Initialize the bit string GA flip bit mutation operator. + * \param ioSystem System of the evolution. + */ +void GA::MutationFlipBitStrOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle::MutationOp::initialize(ioSystem); + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + ioSystem.getRegister().deleteEntry(mMutationPbName); + } + + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + mMutationProba = castHandleT(ioSystem.getRegister()[mMutationPbName]); + } else { + mMutationProba = new Float(float(1.0)); + Register::Description lProbaDescription( + "Individual flip mutation prob.", + "Float", + "1.0", + "Bit flip mutation probability for each GA individual." + ); + ioSystem.getRegister().addEntry(mMutationPbName, mMutationProba, lProbaDescription); + } + + if(ioSystem.getRegister().isRegistered(mBitMutatePbName)) { + mBitMutateProba = castHandleT(ioSystem.getRegister()[mBitMutatePbName]); + } else { + mBitMutateProba = new Float(float(0.01)); + Register::Description lBitDescription( + "Flip mutation probability", + "Float", + "0.01", + "Probability for each bit to be inverted by mutation, when an individual is mutated." + ); + ioSystem.getRegister().addEntry(mBitMutatePbName, mBitMutateProba, lBitDescription); + } + Beagle_StackTraceEndM("void GA::MutationFlipBitStrOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Bit flip mutate a bit string GA individual. + * \param ioIndividual GA individual to mutate. + * \param ioContext Context of the evolution. + * \return True if the individual is effectively mutated, false if not. + */ +bool GA::MutationFlipBitStrOp::mutate(Beagle::Individual& ioIndividual, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_ValidateParameterM(mBitMutateProba->getWrappedValue()>=0.0, mBitMutatePbName, "<0"); + bool lMutated = false; + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationFlipBitStrOp", + string("Bit flip mutation probability is: ")+ + dbl2str(mBitMutateProba->getWrappedValue()) + ); + + for(unsigned int i=0; i(ioIndividual[i]); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationFlipBitStrOp", + string("Flip mutating the ")+uint2ordinal(i+1)+" bitstring" + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationFlipBitStrOp", + string("The bitstring before GA flip bit mutation: ")+lBS->serialize() + ); + for(unsigned int j=0; jsize(); j++) { + double lRolledPb = ioContext.getSystem().getRandomizer().rollUniform(); + if(lRolledPb <= mBitMutateProba->getWrappedValue()) { + (*lBS)[j] = !(*lBS)[j]; + lMutated = true; + } + } + if(lMutated) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationFlipBitStrOp", + string("The bitstring has been flip mutated") + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationFlipBitStrOp", + string("The bitstring after GA flip bit mutation: ")+lBS->serialize() + ); + } + else { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationFlipBitStrOp", + string("The bitstring has not been mutated") + ); + } + } + return lMutated; + Beagle_StackTraceEndM("bool GA::MutationFlipBitStrOp::mutate(Beagle::Individual& ioIndividual, Context& ioContext)"); +} + + +/*! + * \brief Read a bit flip mutation operator from XML subtree. + * \param inIter XML iterator to use to read mutation operator. + * \param inOpMap Operator map to use to read mutation operator. + */ +void GA::MutationFlipBitStrOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string lMutationPbReadName = inIter->getAttribute("mutationpb").c_str(); + if(lMutationPbReadName.empty() == false) mMutationPbName = lMutationPbReadName; + string lBitMutatePbReadName = inIter->getAttribute("mutbitpb").c_str(); + if(lBitMutatePbReadName.empty() == false) mBitMutatePbName = lBitMutatePbReadName; + Beagle_StackTraceEndM("void GA::MutationFlipBitStrOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write flip bit mutation operator into XML streamer. + * \param ioStreamer XML streamer to write mutation operator into. + * \param inIndent Whether XML output should be indented. + */ +void GA::MutationFlipBitStrOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + Beagle::MutationOp::writeContent(ioStreamer, inIndent); + ioStreamer.insertAttribute("mutbitpb", mBitMutatePbName); + Beagle_StackTraceEndM("void GA::MutationFlipBitStrOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/GA/src/MutationGaussianFltVecOp.cpp b/lib/beagle-3.0.3/beagle/GA/src/MutationGaussianFltVecOp.cpp new file mode 100644 index 0000000..fb851f1 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/MutationGaussianFltVecOp.cpp @@ -0,0 +1,332 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/MutationGaussianFltVecOp.cpp + * \brief Source code of class GA::MutationGaussianFltVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.19.2.2 $ + * $Date: 2007/05/11 19:18:44 $ + */ + +#include "beagle/GA.hpp" + +#include +#include // To get FLT_MAX on Borland C++ Builder +#include +#include +#include + +using namespace std; +using namespace Beagle; + + +/*! + * \brief Construct a real-valued GA Gaussian mutation operator. + * \param inMutationPbName Gaussian mutation probability parameter name used in register. + * \param inMutateFloatPbName Single value Gaussian mutation probability name used in the register. + * \param inMutateGaussMuName Gaussian mutation mean value parameter name used in register. + * \param inMutateGaussSigmaName Gaussian mutation std deviation parameter name used in register. + * \param inName Name of the operator. + */ +GA::MutationGaussianFltVecOp::MutationGaussianFltVecOp(Beagle::string inMutationPbName, + Beagle::string inMutateFloatPbName, + Beagle::string inMutateGaussMuName, + Beagle::string inMutateGaussSigmaName, + Beagle::string inName) : + MutationOp(inMutationPbName, inName), + mMutateFloatPbName(inMutateFloatPbName), + mMutateGaussMuName(inMutateGaussMuName), + mMutateGaussSigmaName(inMutateGaussSigmaName) +{ } + + +/*! + * \brief Initialize the real-valued GA Gaussian mutation operator. + * \param ioSystem System of the evolution. + */ +void GA::MutationGaussianFltVecOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + MutationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + ioSystem.getRegister().deleteEntry(mMutationPbName); + } + + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + mMutationProba = castHandleT(ioSystem.getRegister()[mMutationPbName]); + } else { + mMutationProba = new Float(1.0f); + Register::Description lDescription( + "Indiv. Gaussian mutation prob.", + "Float", + "1.0", + "Gaussian mutation probability for each real-valued GA individual." + ); + ioSystem.getRegister().addEntry(mMutationPbName, mMutationProba, lDescription); + } + + if(ioSystem.getRegister().isRegistered(mMutateFloatPbName)) { + mMutateFloatPb = castHandleT(ioSystem.getRegister()[mMutateFloatPbName]); + } else { + mMutateFloatPb = new Float(0.1f); + Register::Description lDescription( + "Value's Gaussian mutation prob.", + "Float", + "0.1", + "Single value Gaussian mutation probability for the real-valued GA individual." + ); + ioSystem.getRegister().addEntry(mMutateFloatPbName, mMutateFloatPb, lDescription); + } + + if(ioSystem.getRegister().isRegistered(mMutateGaussMuName)) { + mMutateGaussMu = castHandleT(ioSystem.getRegister()[mMutateGaussMuName]); + } else { + mMutateGaussMu = new DoubleArray(1,0.0); + std::ostringstream lOSS; + lOSS << "Mean of values added to real-values vector numbers at each Gaussian mutation. "; + lOSS << "Value can be a scalar, which state the mu value for all float "; + lOSS << "vector parameters, or a vector which state the mu for the parameters "; + lOSS << "individually. If the mu vector size is smaller than the "; + lOSS << "float vector size, the mu used for the last values of the float vector "; + lOSS << "is equal to the last value of the mu vector."; + Register::Description lDescription( + "Gaussian mutation mean", + "DoubleArray", + "0.0", + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry(mMutateGaussMuName, mMutateGaussMu, lDescription); + } + + if(ioSystem.getRegister().isRegistered(mMutateGaussSigmaName)) { + mMutateGaussSigma = castHandleT(ioSystem.getRegister()[mMutateGaussSigmaName]); + } else { + mMutateGaussSigma = new DoubleArray(1,0.1); + std::ostringstream lOSS; + lOSS << "Standard deviation of values added to real-values vector numbers at "; + lOSS << "each Gaussian mutation. Value can be a scalar, which state the sigma for "; + lOSS << "all float vector parameters, or a vector which state the sigma "; + lOSS << "for the parameters individually. If the sigma vector size is smaller than the "; + lOSS << "float vector size, the sigma used for the last values of the "; + lOSS << "float vector is equal to the last value of the sigma vector."; + Register::Description lDescription( + "Gaussian mutation std deviation", + "DoubleArray", + "0.1", + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry(mMutateGaussSigmaName, mMutateGaussSigma, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.float.maxvalue")) { + mMaxValue = castHandleT(ioSystem.getRegister()["ga.float.maxvalue"]); + } else { + mMaxValue = new DoubleArray(1,DBL_MAX); + std::ostringstream lOSS; + lOSS << "Maximum values assigned to vector's floats. "; + lOSS << "Value can be a scalar, which limit the value for all float "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the maximum value is smaller than the "; + lOSS << "float vector size, the limit used for the last values of the float vector "; + lOSS << "is equal to the last value of the maximum value vector."; + Register::Description lDescription( + "Maximum vector values", + "DoubleArray", + dbl2str(DBL_MAX), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("ga.float.maxvalue", mMaxValue, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.float.minvalue")) { + mMinValue = castHandleT(ioSystem.getRegister()["ga.float.minvalue"]); + } else { + mMinValue = new DoubleArray(1,-DBL_MAX); + std::ostringstream lOSS; + lOSS << "Minimum values assigned to vector's floats. "; + lOSS << "Value can be a scalar, which limit the value for all float "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the minimum value is smaller than the "; + lOSS << "float vector size, the limit used for the last values of the float vector "; + lOSS << "is equal to the last value of the minimum value vector."; + Register::Description lDescription( + "Minimum values", + "DoubleArray", + dbl2str(-DBL_MAX), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("ga.float.minvalue", mMinValue, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.float.inc")) { + mIncValue = castHandleT(ioSystem.getRegister()["ga.float.inc"]); + } else { + mIncValue = new DoubleArray(1,0.0); + std::ostringstream lOSS; + lOSS << "Increments of valid values assigned to vector's floats. "; + lOSS << "Value can be a scalar, which limit the value for all float "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the value is not evenly divisible by the "; + lOSS << "increment, the value will be set to the closest valid "; + lOSS << "value."; + Register::Description lDescription( + "Increments of valid values", + "DoubleArray", + "0.0", + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("ga.float.inc", mIncValue, lDescription); + } + Beagle_StackTraceEndM("void GA::MutationGaussianFltVecOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Gaussian mutate a real-valued GA individual. + * \param ioIndividual Real-valued GA individual to mutate. + * \param ioContext Context of the evolution. + * \return True if the individual is effectively mutated, false if not. + */ +bool GA::MutationGaussianFltVecOp::mutate(Beagle::Individual& ioIndividual, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + bool lMutated = false; + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationGaussianFltVecOp", + string("Gaussian mutations with mean of ")+ + mMutateGaussMu->serialize()+ + string(", and standard deviation of ")+ + mMutateGaussSigma->serialize() + ); + + for(unsigned int i=0; i(ioIndividual[i]); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationGaussianFltVecOp", + string("Gaussian mutation the ")+uint2ordinal(i+1)+" float vector" + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationGaussianFltVecOp", + string("The float vector before GA Gaussian mutation: ")+lVector->serialize() + ); + for(unsigned int j=0; jsize(); j++) { + const float lRolledPb = ioContext.getSystem().getRandomizer().rollUniform(); + if(lRolledPb <= mMutateFloatPb->getWrappedValue()) { + const double lMaxVal = jsize() ? (*mMaxValue)[j] : mMaxValue->back(); + const double lMinVal = jsize() ? (*mMinValue)[j] : mMinValue->back(); + const double lIncVal = jsize() ? (*mIncValue)[j] : mIncValue->back(); + const double lMu = + jsize() ? (*mMutateGaussMu)[j] : mMutateGaussMu->back(); + const double lSigma = + jsize() ? (*mMutateGaussSigma)[j] : mMutateGaussSigma->back(); + Beagle_AssertM(lSigma>=0.0); + const double lMValue = ioContext.getSystem().getRandomizer().rollGaussian(lMu,lSigma); + (*lVector)[j] += lMValue; + if(lIncVal!=0.0) (*lVector)[j] = lIncVal * round((*lVector)[j] / lIncVal); + if((*lVector)[j] > lMaxVal) (*lVector)[j] = lMaxVal; + if((*lVector)[j] < lMinVal) (*lVector)[j] = lMinVal; + lMutated = true; + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationGaussianFltVecOp", + string("Gaussian mutating by adding ")+dbl2str(lMValue)+ + string(" to the value at the index ")+uint2str(j)+ + string(" of the float vector") + ); + } + } + if(lMutated) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationGaussianFltVecOp", + string("The float vector has been mutated") + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationGaussianFltVecOp", + string("The float vector after GA Gaussian mutation: ")+lVector->serialize() + ); + } + else { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationGaussianFltVecOp", + string("The float vector has not been mutated") + ); + } + } + return lMutated; + Beagle_StackTraceEndM("bool GA::MutationGaussianFltVecOp::mutate(Beagle::Individual& ioIndividual, Context& ioContext)"); +} + + +/*! + * \brief Read a Gaussian mutation operator from a XML subtree. + * \param inIter XML iterator to use to read mutation operator. + * \param inOpMap Operator map to use to read mutation operator. + */ +void GA::MutationGaussianFltVecOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string lMutationPbReadName = inIter->getAttribute("mutationpb").c_str(); + if(lMutationPbReadName.empty() == false) mMutationPbName = lMutationPbReadName; + string lMutateFloatPbReadName = inIter->getAttribute("mutfloatpb").c_str(); + if(lMutateFloatPbReadName.empty() == false) mMutateFloatPbName = lMutateFloatPbReadName; + string lMutateGaussMuReadName = inIter->getAttribute("mutgaussmu").c_str(); + if(lMutateGaussMuReadName.empty() == false) mMutateGaussMuName = lMutateGaussMuReadName; + string lMutateGaussSigmaReadName = inIter->getAttribute("mutgausssigma").c_str(); + if(lMutateGaussSigmaReadName.empty() == false) mMutateGaussSigmaName = lMutateGaussSigmaReadName; + Beagle_StackTraceEndM("void GA::MutationGaussianFltVecOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write Gaussian mutation operator into XML streamer. + * \param ioStreamer XML streamer to write mutation operator into. + * \param inIndent Whether XML output should be indented. + */ +void GA::MutationGaussianFltVecOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + Beagle::MutationOp::writeContent(ioStreamer, inIndent); + ioStreamer.insertAttribute("mutfloatpb", mMutateFloatPbName); + ioStreamer.insertAttribute("mutgaussmu", mMutateGaussMuName); + ioStreamer.insertAttribute("mutgausssigma", mMutateGaussSigmaName); + Beagle_StackTraceEndM("void GA::MutationGaussianFltVecOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + diff --git a/lib/beagle-3.0.3/beagle/GA/src/MutationShuffleIntVecOp.cpp b/lib/beagle-3.0.3/beagle/GA/src/MutationShuffleIntVecOp.cpp new file mode 100644 index 0000000..f6b9a5a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/MutationShuffleIntVecOp.cpp @@ -0,0 +1,201 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/MutationShuffleIntVecOp.cpp + * \brief Source code of class GA::MutationShuffleIntVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.4.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +#include "beagle/GA.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct an integer vector GA shuffle mutation operator. + * \param inMutationPbName Mutation probability parameter name used in register. + * \param inIntMutatePbName Mutation integer probability parameter name used in register. + * \param inName Name of the operator. + */ +GA::MutationShuffleIntVecOp::MutationShuffleIntVecOp(Beagle::string inMutationPbName, + Beagle::string inIntMutatePbName, + Beagle::string inName) : + Beagle::MutationOp(inMutationPbName, inName), + mIntMutatePbName(inIntMutatePbName) +{ } + + +/*! + * \brief Initialize the integer vector GA shuffle mutation operator. + * \param ioSystem System of the evolution. + */ +void GA::MutationShuffleIntVecOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle::MutationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + ioSystem.getRegister().deleteEntry(mMutationPbName); + } + + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + mMutationProba = castHandleT(ioSystem.getRegister()[mMutationPbName]); + } else { + mMutationProba = new Float(float(0.1)); + Register::Description lProbaDescription( + "Individual shuffle mutation prob.", + "Float", + "0.1", + "Integer vector shuffle mutation probability for each GA individual." + ); + ioSystem.getRegister().addEntry(mMutationPbName, mMutationProba, lProbaDescription); + } + + if(ioSystem.getRegister().isRegistered(mIntMutatePbName)) { + mIntMutateProba = castHandleT(ioSystem.getRegister()[mIntMutatePbName]); + } else { + mIntMutateProba = new Float(float(0.1)); + Register::Description lIntDescription( + "Int shuffle mutation probability", + "Float", + "0.1", + "Probability for each integer to be modified by mutation, when an individual is mutated." + ); + ioSystem.getRegister().addEntry(mIntMutatePbName, mIntMutateProba, lIntDescription); + } + Beagle_StackTraceEndM("void GA::MutationShuffleIntVecOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Shuffle mutate an integer vector GA individual. + * \param ioIndividual GA individual to mutate. + * \param ioContext Context of the evolution. + * \return True if the individual is effectively mutated, false if not. + */ +bool GA::MutationShuffleIntVecOp::mutate(Beagle::Individual& ioIndividual, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_ValidateParameterM(mIntMutateProba->getWrappedValue()>=0.0, mIntMutatePbName, "<0"); + + bool lMutated = false; + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationShuffleIntVecOp", + string("Integer shuffle mutation probability is: ")+ + dbl2str(mIntMutateProba->getWrappedValue()) + ); + + for(unsigned int i=0; i(ioIndividual[i]); + if(lIV->size() <= 2) continue; + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationShuffleIntVecOp", + string("Shuffle mutating the ")+uint2ordinal(i+1)+" integer vector" + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationShuffleIntVecOp", + string("The integer vector before GA shuffle mutation: ")+lIV->serialize() + ); + for(unsigned int j=0; jsize(); j++) { + double lRolledPb = ioContext.getSystem().getRandomizer().rollUniform(); + if(lRolledPb <= mIntMutateProba->getWrappedValue()) { + unsigned int lSwapIndex = + ioContext.getSystem().getRandomizer().rollInteger(0, lIV->size()-2); + if(lSwapIndex >= j) ++lSwapIndex; + const int lTmpVal = (*lIV)[lSwapIndex]; + (*lIV)[lSwapIndex] = (*lIV)[j]; + (*lIV)[j] = lTmpVal; + lMutated = true; + } + } + if(lMutated) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationShuffleIntVecOp", + string("The integer vector has been shuffle mutated") + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationShuffleIntVecOp", + string("The integer vector after GA shuffle mutation: ")+lIV->serialize() + ); + } + else { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationShuffleIntVecOp", + string("The integer vector has not been mutated") + ); + } + } + return lMutated; + Beagle_StackTraceEndM("bool GA::MutationShuffleIntVecOp::mutate(Beagle::Individual& ioIndividual, Context& ioContext)"); +} + + +/*! + * \brief Read a shuffle mutation operator from XML subtree. + * \param inIter XML iterator to use to read mutation operator. + * \param inOpMap Operator map to use to read mutation operator. + */ +void GA::MutationShuffleIntVecOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string lMutationPbReadName = inIter->getAttribute("mutationpb").c_str(); + if(lMutationPbReadName.empty() == false) mMutationPbName = lMutationPbReadName; + string lIntMutatePbReadName = inIter->getAttribute("mutintpb").c_str(); + if(lIntMutatePbReadName.empty() == false) mIntMutatePbName = lIntMutatePbReadName; + Beagle_StackTraceEndM("void GA::MutationShuffleIntVecOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write shuffle mutation operator into XML streamer. + * \param ioStreamer XML streamer to write mutation operator into. + * \param inIndent Whether XML output should be indented. + */ +void GA::MutationShuffleIntVecOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + Beagle::MutationOp::writeContent(ioStreamer, inIndent); + ioStreamer.insertAttribute("mutintpb", mIntMutatePbName); + Beagle_StackTraceEndM("void GA::MutationShuffleIntVecOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} diff --git a/lib/beagle-3.0.3/beagle/GA/src/MutationUniformIntVecOp.cpp b/lib/beagle-3.0.3/beagle/GA/src/MutationUniformIntVecOp.cpp new file mode 100644 index 0000000..8b22e6c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/MutationUniformIntVecOp.cpp @@ -0,0 +1,238 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/MutationUniformIntVecOp.cpp + * \brief Source code of class GA::MutationUniformIntVecOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.4.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +#include "beagle/GA.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct an integer vector GA uniform mutation operator. + * \param inMutationPbName Mutation probability parameter name used in register. + * \param inIntMutatePbName Mutation integer probability parameter name used in register. + * \param inName Name of the operator. + */ +GA::MutationUniformIntVecOp::MutationUniformIntVecOp(Beagle::string inMutationPbName, + Beagle::string inIntMutatePbName, + Beagle::string inName) : + Beagle::MutationOp(inMutationPbName, inName), + mIntMutatePbName(inIntMutatePbName) +{ } + + +/*! + * \brief Initialize the integer vector GA uniform mutation operator. + * \param ioSystem System of the evolution. + */ +void GA::MutationUniformIntVecOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle::MutationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + ioSystem.getRegister().deleteEntry(mMutationPbName); + } + + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + mMutationProba = castHandleT(ioSystem.getRegister()[mMutationPbName]); + } else { + mMutationProba = new Float(float(0.1)); + Register::Description lProbaDescription( + "Individual unif. mutation prob.", + "Float", + "0.1", + "Integer vector uniform mutation probability for each GA individual." + ); + ioSystem.getRegister().addEntry(mMutationPbName, mMutationProba, lProbaDescription); + } + + if(ioSystem.getRegister().isRegistered(mIntMutatePbName)) { + mIntMutateProba = castHandleT(ioSystem.getRegister()[mIntMutatePbName]); + } else { + mIntMutateProba = new Float(float(0.1)); + Register::Description lIntDescription( + "Int unif. mutation probability", + "Float", + "0.1", + "Probability for each integer to be modified by mutation, when an individual is mutated." + ); + ioSystem.getRegister().addEntry(mIntMutatePbName, mIntMutateProba, lIntDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.int.maxvalue")) { + mMaxValue = castHandleT(ioSystem.getRegister()["ga.int.maxvalue"]); + } else { + mMaxValue = new IntArray(1,INT_MAX); + std::ostringstream lOSS; + lOSS << "Maximum values assigned to vector's integers. "; + lOSS << "Value can be a scalar, which limit the value for all integers "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the maximum value is smaller than the "; + lOSS << "integer vector size, the limit used for the last values of the integer vector "; + lOSS << "is equal to the last value of the maximum value vector."; + Register::Description lDescription( + "Maximum integer values", + "IntArray", + int2str(INT_MAX), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("ga.int.maxvalue", mMaxValue, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.int.minvalue")) { + mMinValue = castHandleT(ioSystem.getRegister()["ga.int.minvalue"]); + } else { + mMinValue = new IntArray(1,INT_MIN); + std::ostringstream lOSS; + lOSS << "Minimum values assigned to vector's integers. "; + lOSS << "Value can be a scalar, which limit the value for all integer "; + lOSS << "vector parameters, or a vector which limit the value for the parameters "; + lOSS << "individually. If the minimum value is smaller than the "; + lOSS << "integer vector size, the limit used for the last values of the integer vector "; + lOSS << "is equal to the last value of the minimum value vector."; + Register::Description lDescription( + "Minimum integer values", + "IntArray", + int2str(INT_MIN), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("ga.int.minvalue", mMinValue, lDescription); + } + Beagle_StackTraceEndM("void GA::MutationUniformIntVecOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Uniformly mutate an integer vector GA individual. + * \param ioIndividual GA individual to mutate. + * \param ioContext Context of the evolution. + * \return True if the individual is effectively mutated, false if not. + */ +bool GA::MutationUniformIntVecOp::mutate(Beagle::Individual& ioIndividual, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_ValidateParameterM(mIntMutateProba->getWrappedValue()>=0.0, mIntMutatePbName, "<0"); + + bool lMutated = false; + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationUniformIntVecOp", + string("Integer uniform mutation probability is: ")+ + dbl2str(mIntMutateProba->getWrappedValue()) + ); + + for(unsigned int i=0; i(ioIndividual[i]); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationUniformIntVecOp", + string("Uniformly mutating the ")+uint2ordinal(i+1)+" integer vector" + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationUniformIntVecOp", + string("The integer vector before GA uniform mutation: ")+lIV->serialize() + ); + for(unsigned int j=0; jsize(); j++) { + double lRolledPb = ioContext.getSystem().getRandomizer().rollUniform(); + if(lRolledPb <= mIntMutateProba->getWrappedValue()) { + const int lMaxVal = jsize() ? (*mMaxValue)[j] : mMaxValue->back(); + const int lMinVal = jsize() ? (*mMinValue)[j] : mMinValue->back(); + (*lIV)[j] = ioContext.getSystem().getRandomizer().rollInteger(lMinVal, lMaxVal); + lMutated = true; + } + } + if(lMutated) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationUniformIntVecOp", + string("The integer vector has been uniformly mutated") + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationUniformIntVecOp", + string("The integer vector after GA uniform mutation: ")+lIV->serialize() + ); + } + else { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GA::MutationUniformIntVecOp", + string("The integer vector has not been mutated") + ); + } + } + return lMutated; + Beagle_StackTraceEndM("bool GA::MutationUniformIntVecOp::mutate(Beagle::Individual& ioIndividual, Context& ioContext)"); +} + + +/*! + * \brief Read a uniform mutation operator from XML subtree. + * \param inIter XML iterator to use to read mutation operator. + * \param inOpMap Operator map to use to read mutation operator. + */ +void GA::MutationUniformIntVecOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string lMutationPbReadName = inIter->getAttribute("mutationpb").c_str(); + if(lMutationPbReadName.empty() == false) mMutationPbName = lMutationPbReadName; + string lIntMutatePbReadName = inIter->getAttribute("mutintpb").c_str(); + if(lIntMutatePbReadName.empty() == false) mIntMutatePbName = lIntMutatePbReadName; + Beagle_StackTraceEndM("void GA::MutationUniformIntVecOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write uniform mutation operator into XML streamer. + * \param ioStreamer XML streamer to write mutation operator into. + * \param inIndent Whether XML output should be indented. + */ +void GA::MutationUniformIntVecOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + Beagle::MutationOp::writeContent(ioStreamer, inIndent); + ioStreamer.insertAttribute("mutintpb", mIntMutatePbName); + Beagle_StackTraceEndM("void GA::MutationUniformIntVecOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/GA/src/TermCMAOp.cpp b/lib/beagle-3.0.3/beagle/GA/src/TermCMAOp.cpp new file mode 100644 index 0000000..f873a3a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GA/src/TermCMAOp.cpp @@ -0,0 +1,286 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GA/src/TermCMAOp.cpp + * \brief Source code of class GA::TermCMAOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/11 19:13:09 $ + */ + +#include "beagle/GA.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a termination operator for CMA-ES. + * \param inName Name of the operator. + */ +GA::TermCMAOp::TermCMAOp(std::string inName) : + TerminationOp(inName) +{ } + + +/*! + * \brief Register the parameters of the operator. + * \param ioSystem Reference to the evolutionary system. + */ +void GA::TermCMAOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + TerminationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ga.cmaes.sigma")) { + mSigma = castHandleT(ioSystem.getRegister()["ga.cmaes.sigma"]); + } else { + Register::Description lDescription( + "CMA-ES sigma value", + "Double", + "0.5", + "Initial CMA-ES sigma value moduling the mutation step size." + ); + mSigma = new Double(0.5); + ioSystem.getRegister().addEntry("ga.cmaes.sigma", mSigma, lDescription); + } + if(ioSystem.getRegister().isRegistered("ga.cmaes.tolval")) { + mTolX = castHandleT(ioSystem.getRegister()["ga.cmaes.tolval"]); + } else { + Register::Description lDescription( + "CMA-ES tolerance on values", + "Double", + "1e-12", + "Tolerance on variations of the values, used in the CMA-ES termination criterion." + ); + mTolX = new Double(1e-12); + ioSystem.getRegister().addEntry("ga.cmaes.tolval", mTolX, lDescription); + } + if(ioSystem.getRegister().isRegistered("ga.cmaes.tolcond")) { + mTolCond = castHandleT(ioSystem.getRegister()["ga.cmaes.tolcond"]); + } else { + Register::Description lDescription( + "CMA-ES tolerance on condition", + "Double", + "1e14", + "Tolerance on condition number of matrix C, used in the CMA-ES termination criterion." + ); + mTolCond = new Double(1e14); + ioSystem.getRegister().addEntry("ga.cmaes.tolcond", mTolCond, lDescription); + } + Beagle_StackTraceEndM("void GA::TermCMAOp::registerParams(System&)"); +} + + +/*! + * \brief Check if the different CMA-ES termination criterion are reached. + * \param ioDeme + * \param ioContext Actual evolution context. + * \return True if the ending criterion is reached, false if not. + */ +bool GA::TermCMAOp::terminate(const Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + + // If generation 0, termination criteria not tested. + if(ioContext.getGeneration() == 0) { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermCMAOp", + "CMA-ES termination criteria are not tested at generation 0" + ); + return false; + } + + // Get the appropriate CMA values from the CMA holder component. + Component::Handle lHolderComponent = ioContext.getSystem().getComponent("CMAHolder"); + if(lHolderComponent==NULL) + throw Beagle_RunTimeExceptionM("No CMA holder component found in the system!"); + GA::CMAHolder::Handle lCMAHolder = castHandleT(lHolderComponent); + if(lCMAHolder==NULL) + throw Beagle_RunTimeExceptionM("Component named \"CMAHolder\" found is not of the good type!"); + GA::CMAHolder::iterator lIterVal = lCMAHolder->find(ioContext.getDemeIndex()); + if(lIterVal == lCMAHolder->end()) { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermCMAOp", + "CMA-ES termination criteria not tested as no CMA holder component are found in the system" + ); + return false; + } + GA::CMAValues& lValues = lIterVal->second; + + // Get dimensionality of the problem. + const unsigned int lN = lValues.mD.size(); + if(lN == 0) { + std::ostringstream lOSS; + lOSS << "CMA-ES termination criteria not tested as the dimensionality of CMA values for holder "; + lOSS << "at index \"" << ioContext.getDemeIndex(); + lOSS << "\" is zero"; + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermCMAOp", + lOSS.str() + ); + return false; + } + + // Compute some general matrices used to evaluate termination conditions. + Matrix lC, lBDt, lBD(lN,lN,0.0); + for(unsigned int i=0; i lNormC) lNormC = ldi2; + if((1.0/ldi2) > lNormCi) lNormCi = (1.0 / ldi2); + } + const double lC_condition = lNormC * lNormCi; + if(lC_condition > mTolCond->getWrappedValue()) { + std::ostringstream lOSS; + lOSS << "Terminating as condition number of matrix C ("; + lOSS << lC_condition << ") is higher than the TolCond tolerance ("; + lOSS << mTolCond->getWrappedValue() << ") [conditioncov]"; + Beagle_LogInfoM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermCMAOp", + lOSS.str() + ); + return true; + } + + const double lTolX = mTolX->getWrappedValue(); + const double lSigma_0 = mSigma->getWrappedValue(); + const double lSigma_g = lValues.mSigma.getWrappedValue(); + const double lTolVal = lTolX * lSigma_0; + + // [(sigma_0 * sqrt(C(i,i))) < TolX, forall(i)]: whether standard deviation of the normal + // distribution on all components is smaller than TolX. + unsigned int lTolXCiiCount=0; + for(unsigned int i=0; i&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/GP +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GP +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GP +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +SUBDIRS = include src +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GP/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GP/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GP/Makefile.am b/lib/beagle-3.0.3/beagle/GP/Makefile.am new file mode 100644 index 0000000..c74acb4 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = include src diff --git a/lib/beagle-3.0.3/beagle/GP/Makefile.in b/lib/beagle-3.0.3/beagle/GP/Makefile.in new file mode 100644 index 0000000..43ea59f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/Makefile.in @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/GP +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = include src +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GP/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GP/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GP/include/Makefile b/lib/beagle-3.0.3/beagle/GP/include/Makefile new file mode 100644 index 0000000..161be77 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/Makefile @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/GP/include/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/GP/include +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GP/include +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GP/include +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../ +top_builddir = ../../.. +top_srcdir = ../../.. +SUBDIRS = beagle +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GP/include/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GP/include/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GP/include/Makefile.am b/lib/beagle-3.0.3/beagle/GP/include/Makefile.am new file mode 100644 index 0000000..eb21220 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = beagle diff --git a/lib/beagle-3.0.3/beagle/GP/include/Makefile.in b/lib/beagle-3.0.3/beagle/GP/include/Makefile.in new file mode 100644 index 0000000..b76f240 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/Makefile.in @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/GP/include +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = beagle +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GP/include/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GP/include/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP.hpp new file mode 100644 index 0000000..493aa4a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP.hpp @@ -0,0 +1,133 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP.hpp + * \brief File to include to import all the GP specific Beagle classes. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.19.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +/*! + * \namespace Beagle::GP + * \brief Namespace of all the classes of the Open Beagle GP framework. + * \ingroup GPF + */ + +/*! + * \defgroup GPF GP Framework + * \brief Specialized framework for genetic programming. + */ + +#ifndef Beagle_GP_hpp +#define Beagle_GP_hpp + + +// Beagle generic components + +#include "beagle/Beagle.hpp" +#include "beagle/GA.hpp" + +// GP framework + +#include "beagle/GP/ExecutionException.hpp" +#include "beagle/GP/ResourcesExceededExecutionException.hpp" +#include "beagle/GP/MaxNodesExecutionException.hpp" +#include "beagle/GP/MaxTimeExecutionException.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" +#include "beagle/GP/Individual.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveMap.hpp" +#include "beagle/GP/PrimitiveSet.hpp" +#include "beagle/GP/PrimitiveSuperSet.hpp" +#include "beagle/GP/System.hpp" +#include "beagle/GP/Tree.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Deme.hpp" +#include "beagle/GP/Vivarium.hpp" +#include "beagle/GP/FitnessKoza.hpp" +#include "beagle/GP/StatsCalcFitnessSimpleOp.hpp" +#include "beagle/GP/StatsCalcFitnessKozaOp.hpp" +#include "beagle/GP/PrimitiveUsageStatsOp.hpp" +#include "beagle/GP/CrossoverOp.hpp" +#include "beagle/GP/MutationStandardOp.hpp" +#include "beagle/GP/MutationShrinkOp.hpp" +#include "beagle/GP/MutationSwapOp.hpp" +#include "beagle/GP/MutationSwapSubtreeOp.hpp" +#include "beagle/GP/MutationEphemeralOpT.hpp" +#include "beagle/GP/MutationEphemeralDoubleOp.hpp" +#include "beagle/GP/InitializationOp.hpp" +#include "beagle/GP/InitFullOp.hpp" +#include "beagle/GP/InitGrowOp.hpp" +#include "beagle/GP/InitHalfOp.hpp" +#include "beagle/GP/EvaluationOp.hpp" +#include "beagle/GP/TermMaxHitsOp.hpp" +#include "beagle/GP/CrossoverConstrainedOp.hpp" +#include "beagle/GP/MutationStandardConstrainedOp.hpp" +#include "beagle/GP/MutationShrinkConstrainedOp.hpp" +#include "beagle/GP/MutationSwapConstrainedOp.hpp" +#include "beagle/GP/MutationSwapSubtreeConstrainedOp.hpp" +#include "beagle/GP/InitFullConstrainedOp.hpp" +#include "beagle/GP/InitGrowConstrainedOp.hpp" +#include "beagle/GP/InitHalfConstrainedOp.hpp" +#include "beagle/GP/ValidateOp.hpp" +#include "beagle/GP/Evolver.hpp" +#include "beagle/GP/ModuleVectorComponent.hpp" +#include "beagle/GP/ModuleCompressOp.hpp" +#include "beagle/GP/ModuleExpandOp.hpp" + +// GP Primitives + +#include "beagle/GP/TokenT.hpp" +#include "beagle/GP/Invoker.hpp" +#include "beagle/GP/Argument.hpp" +#include "beagle/GP/ArgumentT.hpp" +#include "beagle/GP/ADF.hpp" +#include "beagle/GP/Module.hpp" +#include "beagle/GP/EphemeralT.hpp" +#include "beagle/GP/EphemeralDouble.hpp" +#include "beagle/GP/AddT.hpp" +#include "beagle/GP/SubtractT.hpp" +#include "beagle/GP/MultiplyT.hpp" +#include "beagle/GP/DivideT.hpp" +#include "beagle/GP/Sin.hpp" +#include "beagle/GP/Cos.hpp" +#include "beagle/GP/Exp.hpp" +#include "beagle/GP/Log.hpp" +#include "beagle/GP/And.hpp" +#include "beagle/GP/Or.hpp" +#include "beagle/GP/Xor.hpp" +#include "beagle/GP/Nand.hpp" +#include "beagle/GP/Nor.hpp" +#include "beagle/GP/Not.hpp" +#include "beagle/GP/IfThenElseT.hpp" +#include "beagle/GP/AbsT.hpp" + +#endif // Beagle_GP_hpp + diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ADF.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ADF.hpp new file mode 100644 index 0000000..3aca743 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ADF.hpp @@ -0,0 +1,114 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/ADF.hpp + * \brief Definition of the class GP::ADF. + * \author Christian Gagne + * \author Matthew Walker + * \author Marc Parizeau + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +#ifndef Beagle_GP_ADF_hpp +#define Beagle_GP_ADF_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" +#include "beagle/GP/Invoker.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class ADF beagle/GP/ADF.hpp "beagle/GP/ADF.hpp" + * \brief GP automatically defined function (ADF) primitive + * + * This class implements Automatically Defined Functions (ADFs) as + * described in Koza's second book on genetic programming. ADFs are + * discussed in sections 2.2.2 and 3.4.7 of the %Beagle User Manual. + * + * An example usage of ADFs can be found in \ref Parity. + * + * \ingroup GPF + * \ingroup Primit + * \ingroup FunctPrimit + */ +class ADF : public GP::Invoker { + +public: + + //! GP::ADF allocator type. + typedef AllocatorT + Alloc; + //! GP::ADF handle type. + typedef PointerT + Handle; + //! GP::AdfT bag type. + typedef ContainerT + Bag; + + explicit ADF(unsigned int inIndex=GP::Invoker::eGenerator, + unsigned int inNumberArgs=GP::Primitive::eAny, + string inName="ADF", + string inArgsName="ARG"); + virtual ~ADF() { } + + virtual GP::Invoker::Handle generateInvoker(unsigned int inIndex, + string inName, + string inArgsName, + GP::Context& ioContext) const; + virtual void getCandidatesToInvoke(std::vector< unsigned int, + BEAGLE_STLALLOCATOR >& + outCandidates, + unsigned int inNumberArguments, + GP::Context& ioContext) const; + virtual GP::Tree::Handle getInvokedTree(GP::Context& ioContext) const; + virtual void invoke(GP::Datum& outResult, + GP::Tree::Handle ioTree, + GP::Context& ioContext); + virtual bool validate(GP::Context& ioContext) const; + +}; + +} +} + + +#endif // Beagle_GP_ADF_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/AbsT.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/AbsT.hpp new file mode 100644 index 0000000..148c156 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/AbsT.hpp @@ -0,0 +1,162 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/AbsT.hpp + * \brief Definition of the templated class GP::AbsT. + * \author Matthew Walker + * $Revision: 1.4 $ + * $Date: 2005/09/30 15:04:53 $ + */ + +#ifndef Beagle_GP_AbsT_hpp +#define Beagle_GP_AbsT_hpp + +#include +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + + +/*! + * \class AbsT beagle/GP/AbsT.hpp "beagle/GP/AbsT.hpp" + * \brief GP templated absolute class + * \ingroup GPF + * \ingroup Primit + */ +template +class AbsT : public GP::Primitive { + +public: + + //! GP::AbsT allocator type. + typedef AllocatorT,GP::Primitive::Alloc> + Alloc; + //! GP::AbsT handle type. + typedef PointerT,GP::Primitive::Handle> + Handle; + //! GP::AbsT bag type. + typedef ContainerT,GP::Primitive::Bag> + Bag; + + explicit AbsT(string inName="ABS"); + virtual ~AbsT() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + +}; + +} // end of namespace GP +} // end of namespace Beagle + + +/*! + * \brief Construct a new ABS primitive. + * \param inName Name of the primitive. + */ +template +Beagle::GP::AbsT::AbsT(string inName) : + Beagle::GP::Primitive(1, inName) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive AbsT. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type needed. + * \throw AssertException If the index inN given is greater than 0. + */ +template +const std::type_info* Beagle::GP::AbsT::getArgType(unsigned int inN, + Beagle::GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN<1); + return &typeid(T); + Beagle_StackTraceEndM("const std::type_info* GP::AbsT::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the tag of the type of data return by primitive AbsT. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +template +const std::type_info* Beagle::GP::AbsT::getReturnType(Beagle::GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(T); + Beagle_StackTraceEndM("const std::type_info* GP::AbsT::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Find the absolute value of the argument + * \param outResult Result of the absolute method. + * \param ioContext Evolutionary context. + */ +template +void Beagle::GP::AbsT::execute(Beagle::GP::Datum& outResult, Beagle::GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + T& lResult = castObjectT(outResult); + get1stArgument(lResult, ioContext); + lResult = Beagle::absolute(lResult); + Beagle_StackTraceEndM("void GP::AbsT::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} + + +#endif // Beagle_GP_AbsT_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/AddT.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/AddT.hpp new file mode 100644 index 0000000..8871a23 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/AddT.hpp @@ -0,0 +1,178 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/AddT.hpp + * \brief Definition of the templated class GP::AddT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +/*! + * \defgroup MathPrimit Mathematical GP Primitives + * \ingroup Primit + * \brief Mathematical GP primitives library, part of the GP primitives module. + */ + +#ifndef Beagle_GP_AddT_hpp +#define Beagle_GP_AddT_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class AddT beagle/GP/AddT.hpp "beagle/GP/AddT.hpp" + * \brief GP generic 2 arguments addition primitive class. + * \param T Type of the data added. operator+ must be properly defined for this type. + * \ingroup GPF + * \ingroup Primit + * \ingroup MathPrimit + */ +template +class AddT : public Primitive { + +public: + + //! GP::AddT allocator type. + typedef AllocatorT,Primitive::Alloc> + Alloc; + //! GP::AddT handle type. + typedef PointerT,Primitive::Handle> + Handle; + //! GP::AddT bag type. + typedef ContainerT,Primitive::Bag> + Bag; + + explicit AddT(string inName="ADD"); + virtual ~AddT() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + +}; + + +/*! + * \brief Add primitive for the double type. + */ +typedef AddT + Add; + +} +} + + +/*! + * \brief Construct a new addition primitive. + * \param inName Name of the addition primitive. + */ +template +Beagle::GP::AddT::AddT(string inName) : + Beagle::GP::Primitive(2, inName) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive AddT. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type needed. + * \throw AssertException If the index inN given is greater than 1. + */ +template +const std::type_info* Beagle::GP::AddT::getArgType(unsigned int inN, + Beagle::GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN<2); + return &typeid(T); + Beagle_StackTraceEndM("const std::type_info* GP::AddT::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the tag of the type of data return by primitive AddT. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +template +const std::type_info* Beagle::GP::AddT::getReturnType(Beagle::GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(T); + Beagle_StackTraceEndM("const std::type_info* GP::AddT::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Execute the characteristic operation of the addition primitive. + * \param outResult Result of the addition. + * \param ioContext Evolutionary context. + * \warning operator+= must be properly defined for the type T, the type of data added. + */ +template +void Beagle::GP::AddT::execute(Beagle::GP::Datum& outResult, Beagle::GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + T& lResult = castObjectT(outResult); + get1stArgument(lResult, ioContext); + T lArg2; + get2ndArgument(lArg2, ioContext); + lResult += lArg2; + Beagle_StackTraceEndM("void GP::AddT::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} + + +#endif // Beagle_GP_AddT_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/And.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/And.hpp new file mode 100644 index 0000000..7ccbcb6 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/And.hpp @@ -0,0 +1,105 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/And.hpp + * \brief Definition of the templated class GP::And. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +/*! + * \defgroup BoolPrimit Boolean GP Primitives + * \ingroup Primit + * \brief Boolean GP primitives library, part of the GP primitives module. + */ + +#ifndef Beagle_GP_And_hpp +#define Beagle_GP_And_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class And beagle/GP/And.hpp "beagle/GP/And.hpp" + * \brief GP boolean AND primitive class. + * \ingroup GPF + * \ingroup Primit + * \ingroup BoolPrimit + */ +class And : public Primitive { + +public: + + //! GP::And allocator type. + typedef AllocatorT + Alloc; + //! GP::And handle type. + typedef PointerT + Handle; + //! GP::And bag type. + typedef ContainerT + Bag; + + explicit And(string inName="AND"); + virtual ~And() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + +}; + +} +} + + +#endif // Beagle_GP_And_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Argument.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Argument.hpp new file mode 100644 index 0000000..0e1ab40 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Argument.hpp @@ -0,0 +1,176 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Argument.hpp + * \brief Definition of class GP::Argument. + * \author Christian Gagne + * \author Matthew Walker + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +#ifndef Beagle_GP_Argument_hpp +#define Beagle_GP_Argument_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class Argument beagle/GP/Argument.hpp "beagle/GP/Argument.hpp" + * \brief GP generic arguments for invokable primitive. + * \ingroup GPF + * \ingroup Primit + * \ingroup FunctPrimit + */ +class Argument : public Primitive { + +public: + + //! Specify the constants for specific kind of arguments. + enum ArgumentKind {eGenerator=UINT_MAX}; + + //!< Modes available for ADF arguments computation. + enum ArgumentsEvaluationMode + { + eCaching=0, //!< Compute arguments on-the-fly and cache results. + eJustInTime=1, //!< Compute arguments on-the-fly but don't cache results. + ePreCompute=2 //!< Pre-compute values of all arguments. + }; + + //! GP::Argument allocator type. + typedef AllocatorT + Alloc; + //! GP::Argument handle type. + typedef PointerT + Handle; + //! GP::Argument bag type. + typedef ContainerT + Bag; + + explicit Argument(Object::Alloc::Handle inValueAlloc, + unsigned int inEvalMode=eCaching, + unsigned int inIndex=eGenerator, + string inName="ARG"); + virtual ~Argument() { } + + virtual Handle generateArgument(unsigned int inIndex) const; + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual double getSelectionWeight(unsigned int inNumberArguments, + GP::Context& ioContext) const; + virtual GP::Primitive::Handle giveReference(unsigned int inNumberArguments, + GP::Context& ioContext); + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + virtual bool isSelectionWeightStable(unsigned int inNumberArguments) const; + virtual void readWithContext(PACC::XML::ConstIterator inIter, GP::Context& ioContext); + virtual void pushExecutionContext(unsigned int inNumberArguments, GP::Context& ioContext); + virtual void popExecutionContext(); + virtual bool validate(GP::Context& ioContext) const; + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \return Evaluation mode of the argument. + */ + inline unsigned int getEvalMode() const + { + Beagle_StackTraceBeginM(); + return mSharedData->mEvalMode; + Beagle_StackTraceEndM("unsigned int GP::Argument::getEvalMode() const"); + } + + /*! + * \return Index of the argument primtive. + */ + inline unsigned int getIndex() const + { + Beagle_StackTraceBeginM(); + return mIndex; + Beagle_StackTraceEndM("unsigned int GP::Argument::getIndex() const"); + } + +protected: + + /*! + * \brief Class defining an internal data structure of the arguments. + */ + class SharedData : public Beagle::Object + { + public: + typedef AllocatorT + Alloc; + typedef PointerT + Handle; + typedef ContainerT + Bag; + + explicit SharedData(Object::Alloc::Handle inCacheAlloc, + unsigned int inEvalMode=GP::Argument::eCaching) : + mCaches(new Object::Bag::Alloc(inCacheAlloc)), + mEvalMode(inEvalMode) + { } + virtual ~SharedData() { } + + GP::Context::Bag mEvalContext; //!< Stack of evolutionary context for args evaluation. + Container::Bag mCaches; //!< Stack of argument values. + unsigned int mEvalMode; //!< Evaluation mode of the arguments. + }; + + Argument() { } //!< Default constructor disabled. + explicit Argument(SharedData::Handle inSharedData, unsigned int inIndex, string inName); + + SharedData::Handle mSharedData; //!< Shared data between the arguments. + unsigned int mIndex; //!< Argument index in GP tree. + +}; + +} +} + +#endif // Beagle_GP_Argument_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ArgumentT.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ArgumentT.hpp new file mode 100644 index 0000000..df1c71e --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ArgumentT.hpp @@ -0,0 +1,142 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/ArgumentT.hpp + * \brief Implementation of template GP::ArgumentT. + * \author Christian Gagne + * \author Matthew Walker + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +#ifndef Beagle_GP_ArgumentT_hpp +#define Beagle_GP_ArgumentT_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" +#include "beagle/GP/ArgumentT.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class ArgumentT beagle/GP/ArgumentT.hpp "beagle/GP/ArgumentT.hpp" + * \brief GP generic arguments for invokable primitive. + * \ingroup GPF + * \ingroup Primit + * \ingroup FunctPrimit + */ +template +class ArgumentT : public GP::Argument { + +public: + + //! GP::Argument allocator type. + typedef AllocatorT,GP::Argument::Alloc> + Alloc; + //! GP::Argument handle type. + typedef PointerT,GP::Argument::Handle> + Handle; + //! GP::Argument bag type. + typedef ContainerT,GP::Argument::Bag> + Bag; + + explicit ArgumentT(unsigned int inEvalMode=eCaching, + unsigned int inIndex=eGenerator, + string inName="ARG"); + virtual ~ArgumentT() { } + + virtual GP::Argument::Handle generateArgument(unsigned int inIndex) const; + +protected: + + explicit ArgumentT(Beagle::GP::Argument::SharedData::Handle inSharedData, + unsigned int inIndex, string inName); + +}; + +} +} + + +/*! + * \brief Construct an argument primitive. + * \param inEvalMode Evaluation mode of the arguments + * (see \ref Beagle::GP::Argument::ArgumentsEvaluationMode). + * \param inIndex Argument index. + * \param inName Name of the argument primitive. + */ +template +Beagle::GP::ArgumentT::ArgumentT(unsigned int inEvalMode, + unsigned int inIndex, + Beagle::string inName) : + Beagle::GP::Argument(new typename T::Alloc, inEvalMode, inIndex, inName) +{ } + + +/*! + * \brief Construct an argument primitive. + * \param inSharedData Shared structure between argument of the same type. + * \param inIndex Argument index. + * \param inName Name of the argument primitive. + */ +template +Beagle::GP::ArgumentT::ArgumentT(Beagle::GP::Argument::SharedData::Handle inSharedData, + unsigned int inIndex, + Beagle::string inName) : + Beagle::GP::Argument(inSharedData, inIndex, inName) +{ } + + +/*! + * \brief Generate a new argument of the same type than the actual one. + * \param inIndex Index the generated argument is refering to. + * \return Handle to the generated argument primitive. + */ +template +Beagle::GP::Argument::Handle Beagle::GP::ArgumentT::generateArgument(unsigned int inIndex) const +{ + Beagle_StackTraceBeginM(); + return new GP::ArgumentT(mSharedData, inIndex, getName()); + Beagle_StackTraceEndM("GP::Argument::Handle GP::ArgumentT::generateArgument(unsigned int inIndex) const"); +} + + +#endif // Beagle_GP_ArgumentT_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Context.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Context.hpp new file mode 100644 index 0000000..6848888 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Context.hpp @@ -0,0 +1,559 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Context.hpp + * \brief Definition of the type GP::Context. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.2 $ + * $Date: 2007/09/10 18:24:11 $ + */ + +#ifndef Beagle_GP_Context_hpp +#define Beagle_GP_Context_hpp + +#include "Util.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/AssertException.hpp" +#include "beagle/Context.hpp" +#include "beagle/GP/Vivarium.hpp" +#include "beagle/GP/Deme.hpp" +#include "beagle/GP/Individual.hpp" +#include "beagle/GP/Tree.hpp" +#include "beagle/GP/System.hpp" +#include "beagle/GP/MaxNodesExecutionException.hpp" +#include "beagle/GP/MaxTimeExecutionException.hpp" + + +namespace Beagle { +namespace GP { + + +/*! + * \class Context beagle/GP/Context.hpp "beagle/GP/Context.hpp" + * \brief The GP context class. + * \ingroup GPF + * \ingroup GPSys + */ +class Context : public Beagle::Context { + +public: + + //! GP::Context allocator type. + typedef AllocatorT + Alloc; + //! GP::Context handle type. + typedef PointerT + Handle; + //! GP::Context bag type. + typedef ContainerT + Bag; + + Context(); + virtual ~Context() { } + + /*! + * \brief Return the nth element of the call stack. + * \param inN Index of the element to return. + * \return Value of the nth element. + * \throw Beagle::AssertException If the index is out of bound. + */ + inline unsigned int operator[](unsigned int inN) const + { + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,mCallStack.size()-1); + return mCallStack[inN]; + Beagle_StackTraceEndM("unsigned int GP::Context::operator[](unsigned int inN) const"); + } + + /*! + * \brief Check if execution time is more or less than allowed execution time. Test is done + * only when allowed execution time is greater than 0. + * \throw Beagle::GP::MaxTimeExecutionException If execution time is more than allowed time. + */ + inline void checkExecutionTime() const + { + Beagle_StackTraceBeginM(); + if(mAllowedExecutionTime > 0.0) { + const double lTimeElapsed = mExecutionTimer.getValue(); + if(lTimeElapsed > mAllowedExecutionTime) { + throw GP::MaxTimeExecutionException( + string("Elapsed for the individual execution is more than allowed time"), + lTimeElapsed, + mAllowedExecutionTime + ); + } + } + Beagle_StackTraceEndM("void GP::Context::checkExecutionTime() const"); + } + + /*! + * \brief Empty the call stack. + */ + inline void emptyCallStack() + { + Beagle_StackTraceBeginM(); + mCallStack.clear(); + Beagle_StackTraceEndM("void GP::Context::emptyCallStack()"); + } + + /*! + * \brief Return time allowed to individual evaluation, used to interrupt individuals evaluation. + * \return Time allowed to execute a GP individual (in seconds). + */ + inline double getAllowedExecutionTime() const + { + Beagle_StackTraceBeginM(); + return mAllowedExecutionTime; + Beagle_StackTraceEndM("double GP::Context::getAllowedExecutionTime() const"); + } + + /*! + * \brief Return value of maximum execution counter, used to interrupt individuals evaluation. + * \return Maximum number of primitives allowed to be evaluated. + */ + inline unsigned int getAllowedNodesExecution() const + { + Beagle_StackTraceBeginM(); + return mAllowedNodesExecution; + Beagle_StackTraceEndM("unsigned int GP::Context::getAllowedNodesExecution() const"); + } + + /*! + * \brief Return the call stack. + * \return Cosntant reference to the call stack. + */ + inline const std::vector< unsigned int,BEAGLE_STLALLOCATOR >& getCallStack() const + { + Beagle_StackTraceBeginM(); + return mCallStack; + Beagle_StackTraceEndM("const std::vector< unsigned int,BEAGLE_STLALLOCATOR >& GP::Context::getCallStack() const"); + } + + /*! + * \brief Return the call stack. + * \return Reference to the call stack. + */ + inline std::vector< unsigned int,BEAGLE_STLALLOCATOR >& getCallStack() + { + Beagle_StackTraceBeginM(); + return mCallStack; + Beagle_StackTraceEndM("std::vector< unsigned int,BEAGLE_STLALLOCATOR >& GP::Context::getCallStack()"); + } + + /*! + * \brief Return the nth element of the call stack. + * \param inN Index of the element to return. + * \return Value of the nth element. + * \throw Beagle::AssertException If the index is out of bound. + */ + inline unsigned int getCallStackElement(unsigned int inN) const + { + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,mCallStack.size()-1); + return mCallStack[inN]; + Beagle_StackTraceEndM("unsigned int GP::Context::getCallStackElement(unsigned int inN) const"); + } + + /*! + * \brief Return the call stack size. + * \return Call stack size. + */ + inline unsigned int getCallStackSize() const + { + Beagle_StackTraceBeginM(); + return mCallStack.size(); + Beagle_StackTraceEndM("unsigned int GP::Context::getCallStackSize() const"); + } + + /*! + * \brief Get the top element of the call stack. + * \return Top element of the call stack. + * \throw Beagle::AssertException If the call stack is empty. + */ + inline unsigned int getCallStackTop() const + { + Beagle_StackTraceBeginM(); + Beagle_AssertM(mCallStack.empty() == false); + return mCallStack.back(); + Beagle_StackTraceEndM("unsigned int GP::Context::getCallStackTop() const"); + } + + /*! + * \brief Return a constant reference to the actual deme. + * \return Actual deme constant reference. + */ + inline const GP::Deme& getDeme() const + { + Beagle_StackTraceBeginM(); + return castObjectT(Beagle::Context::getDeme()); + Beagle_StackTraceEndM("const GP::Deme& GP::Context::getDeme() const"); + } + + /*! + * \brief Return a reference to the actual GP deme. + * \return Actual GP deme reference. + */ + inline GP::Deme& getDeme() + { + Beagle_StackTraceBeginM(); + return castObjectT(Beagle::Context::getDeme()); + Beagle_StackTraceEndM("GP::Deme& GP::Context::getDeme()"); + } + + /*! + * \brief Return a handle to the actual GP deme. + * \return Actual GP deme handle. + */ + inline GP::Deme::Handle getDemeHandle() + { + Beagle_StackTraceBeginM(); + return castHandleT(mDemeHandle); + Beagle_StackTraceEndM("GP::Deme::Handle GP::Context::getDemeHandle()"); + } + + /*! + * \return Reference to context execution timer, used to time execution time of GP individuals. + */ + inline const PACC::Timer& getExecutionTimer() const + { + Beagle_StackTraceBeginM(); + return mExecutionTimer; + Beagle_StackTraceEndM("const PACC::Timer& GP::Context::getExecutionTimer() const"); + } + + /*! + * \return Reference to context execution timer, used to time execution time of GP individuals. + */ + inline PACC::Timer& getExecutionTimer() + { + Beagle_StackTraceBeginM(); + return mExecutionTimer; + Beagle_StackTraceEndM("PACC::Timer& GP::Context::getExecutionTimer()"); + } + + /*! + * \brief Return a constant reference to the actual GP tree. + * \return Actual GP tree constant reference. + */ + inline const GP::Tree& getGenotype() const + { + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mGenotypeHandle == NULL) throw Beagle_RunTimeExceptionM( + "The context does not have a handle to a genotype. Consider Beagle::Context::setGenotypeHandle()."); +#endif // BEAGLE_NDEBUG + return castObjectT(*mGenotypeHandle); + Beagle_StackTraceEndM("const GP::Tree& GP::Context::getGenotype() const"); + } + + /*! + * \brief Return a reference to the actual GP tree. + * \return Actual GP tree reference. + */ + inline GP::Tree& getGenotype() + { + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mGenotypeHandle == NULL) throw Beagle_RunTimeExceptionM( + "The context does not have a handle to a genotype. Consider Beagle::Context::setGenotypeHandle()."); +#endif // BEAGLE_NDEBUG + return castObjectT(*mGenotypeHandle); + Beagle_StackTraceEndM("GP::Tree& GP::Context::getGenotype()"); + } + + /*! + * \brief Return a handle to the actual GP tree. + * \return Actual GP tree handle. + */ + GP::Tree::Handle getGenotypeHandle() + { + Beagle_StackTraceBeginM(); + return castHandleT(mGenotypeHandle); + Beagle_StackTraceEndM("GP::Tree::Handle GP::Context::getGenotypeHandle()"); + } + + /*! + * \brief Return a constant reference to the actual individual. + * \return Actual individual constant reference. + */ + inline const GP::Individual& getIndividual() const + { + Beagle_StackTraceBeginM(); + return castObjectT(Beagle::Context::getIndividual()); + Beagle_StackTraceEndM("const GP::Individual& GP::Context::getIndividual() const"); + } + + /*! + * \brief Return a reference to the actual GP individual. + * \return Actual GP individual reference. + */ + inline GP::Individual& getIndividual() + { + Beagle_StackTraceBeginM(); + return castObjectT(Beagle::Context::getIndividual()); + Beagle_StackTraceEndM("GP::Individual& GP::Context::getIndividual()"); + } + + /*! + * \brief Return a handle to the actual GP individual. + * \return Actual GP individual handle. + */ + inline GP::Individual::Handle getIndividualHandle() + { + Beagle_StackTraceBeginM(); + return castHandleT(mIndividualHandle); + Beagle_StackTraceEndM("GP::Individual::Handle GP::Context::getIndividualHandle()"); + } + + /*! + * \brief Return value of execution counter, used to interrupt individuals evaluation. + * \return Number of nodes evaluated. + */ + inline unsigned int getNodesExecutionCount() const + { + Beagle_StackTraceBeginM(); + return mNodesExecutionCount; + Beagle_StackTraceEndM("unsigned int GP::Context::getNodesExecutionCount() const"); + } + + /*! + * \brief Return a constant reference to the GP system. + * \return Evolution GP system constant reference. + */ + inline const GP::System& getSystem() const + { + Beagle_StackTraceBeginM(); + return castObjectT(Beagle::Context::getSystem()); + Beagle_StackTraceEndM("const GP::System& GP::Context::getSystem() const"); + } + + /*! + * \brief Return a reference to the GP system. + * \return Evolution GP system reference. + */ + inline GP::System& getSystem() + { + Beagle_StackTraceBeginM(); + return castObjectT(Beagle::Context::getSystem()); + Beagle_StackTraceEndM("GP::System& GP::Context::getSystem()"); + } + + /*! + * \brief Return a handle to the GP system. + * \return Evolution GP system handle. + */ + inline GP::System::Handle getSystemHandle() + { + Beagle_StackTraceBeginM(); + return castHandleT(mSystemHandle); + Beagle_StackTraceEndM("GP::System::Handle GP::Context::getSystemHandle()"); + } + + /*! + * \brief Return a constant reference to the actual vivarium. + * \return Actual vivarium constant reference. + */ + inline const GP::Vivarium& getVivarium() const + { + Beagle_StackTraceBeginM(); + return castObjectT(Beagle::Context::getVivarium()); + Beagle_StackTraceEndM("const GP::Vivarium& GP::Context::getVivarium() const"); + } + + /*! + * \brief Return a reference to the actual GP vivarium. + * \return Actual GP vivarium reference. + */ + inline GP::Vivarium& getVivarium() + { + Beagle_StackTraceBeginM(); + return castObjectT(Beagle::Context::getVivarium()); + Beagle_StackTraceEndM("GP::Vivarium& GP::Context::getVivarium()"); + } + + /*! + * \brief Return a handle to the actual GP vivarium. + * \return Actual GP vivarium handle. + */ + inline GP::Vivarium::Handle getVivariumHandle() + { + Beagle_StackTraceBeginM(); + return castHandleT(mVivariumHandle); + Beagle_StackTraceEndM("GP::Vivarium::Handle GP::Context::getVivariumHandle()"); + } + + /*! + * \brief Increment executed nodes counter. + * \throw GP::MaxNodesExecutionException If the maximum number of nodes execution is exceeded. + */ + inline void incrementNodesExecuted() + { + Beagle_StackTraceBeginM(); + if((++mNodesExecutionCount) > mAllowedNodesExecution) { + throw Beagle::GP::MaxNodesExecutionException( + string("Number of GP nodes executed exceeded maximum allowed"), + mNodesExecutionCount, + mAllowedNodesExecution + ); + } + Beagle_StackTraceEndM("void GP::Context::incrementNodesExecuted()"); + } + + /*! + * \brief Pop the call stack. + * \throw Beagle::AssertException If the call stack is empty. + */ + inline void popCallStack() + { + Beagle_StackTraceBeginM(); + Beagle_AssertM(mCallStack.empty() == false); + mCallStack.pop_back(); + Beagle_StackTraceEndM("void GP::Context::popCallStack()"); + } + + /*! + * \brief Push a node index on the call stack. + * \param inNodeIndex Node index to push. + */ + inline void pushCallStack(unsigned int inNodeIndex) + { + Beagle_StackTraceBeginM(); + mCallStack.push_back(inNodeIndex); + Beagle_StackTraceEndM("void GP::Context::pushCallStack(unsigned int inNodeIndex)"); + } + + /*! + * \brief Set the execution time allowed for an individual execution. + * Allowed execution time of 0 means there is no execution time limit. + * \param inAllowedExecutionTime Allowed execution time (in seconds). + */ + inline void setAllowedExecutionTime(double inAllowedExecutionTime) + { + Beagle_StackTraceBeginM(); + mAllowedExecutionTime = inAllowedExecutionTime; + Beagle_StackTraceEndM("void GP::Context::setAllowedExecutionTime(double inAllowedExecutionTime)"); + } + + /*! + * \brief Set the limits on the number of nodes executed. + * \param inAllowedNodesExecution Maximum number of nodes execution allowed. + */ + inline void setAllowedNodesExecution(unsigned int inAllowedNodesExecution) + { + Beagle_StackTraceBeginM(); + mAllowedNodesExecution = inAllowedNodesExecution; + Beagle_StackTraceEndM("void GP::Context::setAllowedNodesExecution(unsigned int inAllowedNodesExecution)"); + } + + /*! + * \brief Set an handle to the actual GP deme. + * \param inDemeHandle Actual GP deme handle. + */ + inline void setDemeHandle(GP::Deme::Handle inDemeHandle) + { + Beagle_StackTraceBeginM(); + mDemeHandle = inDemeHandle; + Beagle_StackTraceEndM("void GP::Context::setDemeHandle(GP::Deme::Handle inDemeHandle)"); + } + + /*! + * \brief Set an handle to the actual GP tree. + * \param inTreeHandle Actual GP tree handle. + */ + inline void setGenotypeHandle(GP::Tree::Handle inTreeHandle) + { + Beagle_StackTraceBeginM(); + mGenotypeHandle = inTreeHandle; + Beagle_StackTraceEndM("void GP::Context::setGenotypeHandle(GP::Tree::Handle inTreeHandle)"); + } + + /*! + * \brief Set an handle to the actual GP individual. + * \param inIndividualHandle Actual GP individual handle. + */ + inline void setIndividualHandle(GP::Individual::Handle inIndividualHandle) + { + Beagle_StackTraceBeginM(); + mIndividualHandle = inIndividualHandle; + Beagle_StackTraceEndM("void GP::Context::setIndividualHandle(GP::Individual::Handle inIndividualHandle)"); + } + + /*! + * \brief Set number of nodes executed value. + * \param inNodesExecutionCount Count of the number of nodes executed. + */ + inline void setNodesExecutionCount(unsigned int inNodesExecutionCount) + { + Beagle_StackTraceBeginM(); + mNodesExecutionCount = inNodesExecutionCount; + Beagle_StackTraceEndM("void GP::Context::setNodesExecutionCount(unsigned int inNodesExecutionCount)"); + } + + /*! + * \brief Set the GP system handle. + * \param inSystemHandle GP handle to the system. + */ + inline void setSystemHandle(GP::System::Handle inSystemHandle) + { + Beagle_StackTraceBeginM(); + mSystemHandle = inSystemHandle; + Beagle_StackTraceEndM("void GP::Context::setSystemHandle(GP::System::Handle inSystemHandle)"); + } + + /*! + * \brief Set an handle to the actual GP vivarium. + * \param inVivariumHandle Actual GP vivarium handle. + */ + inline void setVivariumHandle(GP::Vivarium::Handle inVivariumHandle) + { + Beagle_StackTraceBeginM(); + mVivariumHandle = inVivariumHandle; + Beagle_StackTraceEndM("void GP::Context::setVivariumHandle(GP::Vivarium::Handle inVivariumHandle)"); + } + +protected: + + std::vector< unsigned int,BEAGLE_STLALLOCATOR > + mCallStack; //!< The GP execution call stack. + PACC::Timer mExecutionTimer; //!< Individual execution timer. + double mAllowedExecutionTime; //!< Allowed execution time for ind. execution. + unsigned int mNodesExecutionCount; //!< Count the number of GP nodes executed. + unsigned int mAllowedNodesExecution; //!< Maximum allowed of GP nodes execution. + +}; + +} +} + +#endif // Beagle_GP_Context_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Cos.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Cos.hpp new file mode 100644 index 0000000..4371032 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Cos.hpp @@ -0,0 +1,99 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Cos.hpp + * \brief Definition of the templated class GP::Cos. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +#ifndef Beagle_GP_Cos_hpp +#define Beagle_GP_Cos_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Double.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class Cos beagle/GP/Cos.hpp "beagle/GP/Cos.hpp" + * \brief GP cosinus primitive class. + * \ingroup GPF + * \ingroup Primit + * \ingroup MathPrimit + */ +class Cos : public Primitive { + +public: + + //! GP::Cos allocator type. + typedef AllocatorT + Alloc; + //! GP::Cos handle type. + typedef PointerT + Handle; + //! GP::Cos bag type. + typedef ContainerT + Bag; + + explicit Cos(string inName="COS"); + virtual ~Cos() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + +}; + +} +} + + +#endif // Beagle_GP_Cos_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/CrossoverConstrainedOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/CrossoverConstrainedOp.hpp new file mode 100644 index 0000000..ff5dacd --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/CrossoverConstrainedOp.hpp @@ -0,0 +1,134 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/CrossoverConstrainedOp.hpp + * \brief Definition of the class GP::CrossoverConstrainedOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +#ifndef Beagle_GP_CrossoverConstrainedOp_hpp +#define Beagle_GP_CrossoverConstrainedOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/Float.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Tree.hpp" +#include "beagle/GP/Individual.hpp" +#include "beagle/GP/CrossoverOp.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + +namespace Beagle { +namespace GP { + +/*! + * \class CrossoverConstrainedOp + * beagle/GP/CrossoverConstrainedOp.hpp "beagle/GP/CrossoverConstrainedOp.hpp" + * \brief GP crossover for constrained trees operator class. + * \ingroup GPF + * \ingroup GPOp + */ +class CrossoverConstrainedOp : public Beagle::GP::CrossoverOp { + +public: + + //! GP::CrossoverConstrainedOp allocator type. + typedef AllocatorT + Alloc; + //! GP::CrossoverConstrainedOp handle type. + typedef PointerT + Handle; + //! GP::CrossoverConstrainedOp bag type. + typedef ContainerT + Bag; + + explicit CrossoverConstrainedOp(string inMatingPbName="gp.cx.indpb", + string inDistribPbName="gp.cx.distrpb", + string inName="GP-CrossoverConstrainedOp"); + virtual ~CrossoverConstrainedOp() { } + + virtual bool mate(Beagle::Individual& ioIndiv1, Beagle::Context& ioContext1, + Beagle::Individual& ioIndiv2, Beagle::Context& ioContext2); + +protected: + + + unsigned int buildRoulette(RouletteT< std::pair >& ioRoulette, + bool inSelectABranch, + unsigned int inMaxSubTreeDepth, + unsigned int inMaxSubTreeSize, + unsigned int inActualIndex, + GP::Tree& inTree, + GP::Context& ioContext) const; + + bool selectNodeToMate(unsigned int& outSelectTreeIndex, + unsigned int& outSelectNodeIndex, + bool inSelectABranch, + unsigned int inPrimitSetIndex, + unsigned int inMaxSubTreeDepth, + unsigned int inMaxSubTreeSize, + GP::Individual& inIndividual, + GP::Context& ioContext) const; + +#ifdef BEAGLE_HAVE_RTTI + unsigned int buildRouletteWithType(RouletteT< std::pair >& ioRoulette, + bool inSelectABranch, + const std::type_info* inNodeReturnType, + unsigned int inMaxSubTreeDepth, + unsigned int inMaxSubTreeSize, + unsigned int inActualIndex, + GP::Tree& inTree, + GP::Context& ioContext) const; + + bool selectNodeToMateWithType(unsigned int& outSelectTreeIndex, + unsigned int& outSelectNodeIndex, + bool inSelectABranch, + const std::type_info* inNodeReturnType, + unsigned int inPrimitSetIndex, + unsigned int inMaxSubTreeDepth, + unsigned int inMaxSubTreeSize, + GP::Individual& inIndividual, + GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + +}; + +} +} + +#endif // Beagle_GP_CrossoverConstrainedOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/CrossoverOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/CrossoverOp.hpp new file mode 100644 index 0000000..812833f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/CrossoverOp.hpp @@ -0,0 +1,99 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/CrossoverOp.hpp + * \brief Definition of the class GP::CrossoverOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +#ifndef Beagle_GP_CrossoverOp_hpp +#define Beagle_GP_CrossoverOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/Float.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Tree.hpp" +#include "beagle/GP/Individual.hpp" + +namespace Beagle { +namespace GP { + +/*! + * \class CrossoverOp beagle/GP/CrossoverOp.hpp "beagle/GP/CrossoverOp.hpp" + * \brief GP crossover operator class. + * \ingroup GPF + * \ingroup GPOp + */ +class CrossoverOp : public Beagle::CrossoverOp { + +public: + + //! GP::CrossoverOp allocator type. + typedef AllocatorT + Alloc; + //! GP::CrossoverOp handle type. + typedef PointerT + Handle; + //! GP::CrossoverOp bag type. + typedef ContainerT + Bag; + + explicit CrossoverOp(string inMatingPbName="gp.cx.indpb", + string inDistribPbName="gp.cx.distrpb", + string inName="GP-CrossoverOp"); + virtual ~CrossoverOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual bool mate(Beagle::Individual& ioIndiv1, Beagle::Context& ioContext1, + Beagle::Individual& ioIndiv2, Beagle::Context& ioContext2); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + void mateTrees(GP::Tree& ioTree1, unsigned int inNode1, GP::Context& ioContext1, + GP::Tree& ioTree2, unsigned int inNode2, GP::Context& ioContext2); + + Float::Handle mDistributionProba; //!< Distribution probability of crossover. + UInt::Handle mMaxTreeDepth; //!< Maximum allowed depth of trees. + UInt::Handle mNumberAttempts; //!< Number of attempts to mate two individuals. + string mDistribPbName; //!< Distribution probability parameter name. + +}; + +} +} + +#endif // Beagle_GP_CrossoverOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Datum.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Datum.hpp new file mode 100644 index 0000000..15163a4 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Datum.hpp @@ -0,0 +1,60 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Datum.hpp + * \brief Definition of the type GP::Datum. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.4.2.1 $ + * $Date: 2007/05/09 01:51:03 $ + */ + +#ifndef Beagle_GP_Datum_hpp +#define Beagle_GP_Datum_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Container.hpp" + +namespace Beagle { +namespace GP { + +/*! + * \brief GP::Datum type. In fact, a Datum is nothing more, nothing less, that an Object! + * \ingroup GPF + */ +typedef Beagle::Object Datum; + +} +} + +#endif // Beagle_GP_Datum_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Deme.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Deme.hpp new file mode 100644 index 0000000..aa6df54 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Deme.hpp @@ -0,0 +1,148 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Deme.hpp + * \brief Definition of the class GP::Deme. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.2 $ + * $Date: 2007/09/10 18:24:11 $ + */ + +#ifndef Beagle_GP_Deme_hpp +#define Beagle_GP_Deme_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Deme.hpp" +#include "beagle/DemeAlloc.hpp" +#include "beagle/DemeAllocT.hpp" +#include "beagle/GP/Individual.hpp" + +namespace Beagle { +namespace GP { + + +// Forward declaration +class Context; + + +/*! + * \class Deme beagle/GP/Deme.hpp "beagle/GP/Deme.hpp" + * \brief A GP deme is a population of GP individual. + * \ingroup GPF + * \ingroup GPPop + */ +class Deme : public Beagle::Deme { + +public: + + //! GP::Deme allocator type. + typedef DemeAllocT + Alloc; + //! GP::Deme handle type. + typedef PointerT + Handle; + //! GP::Deme bag type. + typedef ContainerT + Bag; + + Deme(); + explicit Deme(GP::Individual::Alloc::Handle inIndividualAlloc); + explicit Deme(GP::Individual::Alloc::Handle inIndividualAlloc, + Stats::Alloc::Handle inStatsAlloc, + HallOfFame::Alloc::Handle inHOFAlloc, + unsigned int inN=0); + explicit Deme(GP::Tree::Alloc::Handle inGenotypeAlloc); + explicit Deme(GP::Tree::Alloc::Handle inGenotypeAlloc, Fitness::Alloc::Handle inFitnessAlloc); + virtual ~Deme() { } + + /*! + * \brief Access to the nth GP individual handle of the GP deme (const version). + * \param inN Indice of the GP individual handle to get. + * \return GP individual handle at the index n. + */ + inline const GP::Individual::Handle& operator[](unsigned int inN) const + { + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,size()-1); + return castHandleT(std::vector< Pointer,BEAGLE_STLALLOCATOR >::operator[](inN)); + Beagle_StackTraceEndM("const GP::Individual::Handle& GP::Deme::operator[](unsigned int inN) const"); + } + + /*! + * \brief Access to the nth GP individual handle of the GP deme. + * \param inN Indice of the GP individual handle to get. + * \return GP individual handle at the index n. + */ + inline GP::Individual::Handle& operator[](unsigned int inN) + { + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,size()-1); + return castHandleT(std::vector< Pointer,BEAGLE_STLALLOCATOR >::operator[](inN)); + Beagle_StackTraceEndM("GP::Individual::Handle& GP::Deme::operator[](unsigned int inN)"); + } + + /*! + * \brief Get the individual data type allocator. + * \return An handle to the individual type allocator. + */ + inline const GP::Individual::Alloc::Handle getTypeAlloc() const + { + Beagle_StackTraceBeginM(); + return castHandleT(Beagle::Deme::getTypeAlloc()); + Beagle_StackTraceEndM("const GP::Individual::Alloc::Handle GP::Deme::getTypeAlloc() const"); + } + + /*! + * \brief Get the individual data type allocator. + * \return An handle to the individual type allocator. + */ + inline GP::Individual::Alloc::Handle getTypeAlloc() + { + Beagle_StackTraceBeginM(); + return castHandleT(Beagle::Deme::getTypeAlloc()); + Beagle_StackTraceEndM("GP::Individual::Alloc::Handle GP::Deme::getTypeAlloc()"); + } + + /*! + * \brief Set the individual data type allocator. + * \param inTypeAlloc An handle to the new individual type allocator. + */ + inline void setTypeAlloc(GP::Individual::Alloc::Handle inTypeAlloc) + { + Beagle_StackTraceBeginM(); + Beagle::Deme::setTypeAlloc(inTypeAlloc); + Beagle_StackTraceEndM(""); + } + +}; + +} +} + +#endif // Beagle_GP_Deme_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/DivideT.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/DivideT.hpp new file mode 100644 index 0000000..3e710cb --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/DivideT.hpp @@ -0,0 +1,176 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/DivideT.hpp + * \brief Definition of the templated class GP::DivideT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +#ifndef Beagle_GP_DivideT_hpp +#define Beagle_GP_DivideT_hpp + +#include +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class DivideT beagle/GP/DivideT.hpp "beagle/GP/DivideT.hpp" + * \brief GP generic 2 arguments protected division primitive class. + * \param T Type of the data added. operator/ must be properly defined for this type. + * \ingroup GPF + * \ingroup Primit + * \ingroup MathPrimit + */ +template +class DivideT : public Primitive { + +public: + + //! GP::DivideT allocator type. + typedef AllocatorT,Primitive::Alloc> + Alloc; + //! GP::DivideT handle type. + typedef PointerT,Primitive::Handle> + Handle; + //! GP::DivideT bag type. + typedef ContainerT,Primitive::Bag> + Bag; + + explicit DivideT(string inName="DIV"); + virtual ~DivideT() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + +}; + + +/*! + * \brief Divide primitive for the double type. Min divide value is 0.001. + */ +typedef DivideT + Divide; + +} +} + + +/*! + * \brief Construct a new division primitive. + * \param inName Name of the division primitive. + */ +template +Beagle::GP::DivideT::DivideT(string inName) : + Beagle::GP::Primitive(2, inName) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive DivideT. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type needed. + * \throw AssertException If the index inN given is greater than 1. + */ +template +const std::type_info* Beagle::GP::DivideT::getArgType(unsigned int inN, + Beagle::GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN<2); + return &typeid(T); + Beagle_StackTraceEndM("const std::type_info* GP::DivideT::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the tag of the type of data return by primitive DivideT. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +template +const std::type_info* Beagle::GP::DivideT::getReturnType(Beagle::GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(T); + Beagle_StackTraceEndM("const std::type_info* GP::DivideT::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Execute the characteristic operation of the division primitive. + * \param outResult Result of the division. + * \param ioContext Evolutionary context. + * \warning operator/= and operator< must be properly defined for the type T, the type of data added. + * Type of data must be compatible with real value comparisions. + * The DivideT primitive give as result 1 when the denominator is below 0.001. + */ +template +void Beagle::GP::DivideT::execute(Beagle::GP::Datum& outResult, Beagle::GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + T& lResult = castObjectT(outResult); + T lArg2; + get1stArgument(lResult, ioContext); + get2ndArgument(lArg2, ioContext); + if((lArg2 < T(0.001)) && (T(-0.001) < lArg2)) lResult = T(1.0); + else lResult /= lArg2; + Beagle_StackTraceEndM("void GP::DivideT::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} + + +#endif // Beagle_GP_DivideT_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/EphemeralDouble.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/EphemeralDouble.hpp new file mode 100644 index 0000000..0f76193 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/EphemeralDouble.hpp @@ -0,0 +1,92 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/EphemeralDouble.hpp + * \brief Definition of the templated class GP::EphemeralDouble. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +#ifndef Beagle_GP_EphemeralDouble_hpp +#define Beagle_GP_EphemeralDouble_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Double.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" +#include "beagle/GP/EphemeralT.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class EphemeralDouble beagle/GP/EphemeralDouble.hpp "beagle/GP/EphemeralDouble.hpp" + * \brief Double ephemeral constants uniformly generated in [-1,1]. + * \ingroup GPF + * \ingroup Primit + * \ingroup FunctPrimit + */ +class EphemeralDouble : public EphemeralT { + +public: + + //! GP::EphemeralDouble allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! GP::EphemeralDouble handle type. + typedef PointerT::Handle> + Handle; + //! GP::EphemeralDouble bag type. + typedef ContainerT::Bag> + Bag; + + explicit EphemeralDouble(Double::Handle inValue=NULL, string inName="E"); + virtual ~EphemeralDouble() { } + + virtual GP::Primitive::Handle generate(string inName, GP::Context& ioContext); + +}; + +} +} + + +#endif // Beagle_GP_EphemeralDouble_hpp + diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/EphemeralT.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/EphemeralT.hpp new file mode 100644 index 0000000..cfb6df1 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/EphemeralT.hpp @@ -0,0 +1,292 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/EphemeralT.hpp + * \brief Definition of the templated class GP::EphemeralT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.16.2.4 $ + * $Date: 2007/11/29 16:37:06 $ + */ + +#ifndef Beagle_GP_EphemeralT_hpp +#define Beagle_GP_EphemeralT_hpp + +#include + +#include "XML.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class EphemeralT beagle/GP/EphemeralT.hpp "beagle/GP/EphemeralT.hpp" + * \brief Generic randomly generated ephemeral constant primitive. + * \param T Type of the constants. + * \ingroup GPF + * \ingroup Primit + * \ingroup FunctPrimit + */ +template +class EphemeralT : public Primitive { + +public: + + //! GP::EphemeralT allocator type. + typedef AllocatorT,Primitive::Alloc> + Alloc; + //! GP::EphemeralT handle type. + typedef PointerT,Primitive::Handle> + Handle; + //! GP::EphemeralT bag type. + typedef ContainerT,Primitive::Bag> + Bag; + + explicit EphemeralT(typename T::Handle inValue=NULL, string inName="E"); + virtual ~EphemeralT() { } + + /*! + * \brief Generate a new ephemeral constant. + * \param inName Name of the constant. + * \param ioContext Context to use to generate the value. + * \return Handle to the ephemeral constant generated. + */ + virtual GP::Primitive::Handle generate(string inName, GP::Context& ioContext) =0; + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void getValue(Object& outValue); + virtual bool haveValue() const; + virtual GP::Primitive::Handle giveReference(unsigned int inNumberArguments, GP::Context& ioContext); + virtual void execute(GP::Datum& outDatum, GP::Context& ioContext); + virtual void readWithContext(PACC::XML::ConstIterator inIter, GP::Context& ioContext); + virtual void setValue(const Object& inValue); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + typename T::Handle mValue; //!< Value of the ephemeral. + +}; + +} +} + + +/*! + * \brief Construct a new ephemeral constant. If the value is NULL, act a an ephemeral generator. + * \param inValue Value of the ephemeral constant. When NULL, act a an ephemeral generator. + * \param inName Name of the ephemeral primitive. + */ +template +Beagle::GP::EphemeralT::EphemeralT(typename T::Handle inValue, string inName) : + Beagle::GP::Primitive(0, inName), + mValue(inValue) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data return by primitive EphemeralT. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +template +const std::type_info* Beagle::GP::EphemeralT::getReturnType(Beagle::GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(T); + Beagle_StackTraceEndM("const std::type_info* GP::EphemeralT::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Get the value of the ephemeral constant. + * \param outValue Object containing the value of the ephemeral constant. + * \throw InternalException If the constant value is missing. + */ +template +void Beagle::GP::EphemeralT::getValue(Beagle::Object& outValue) +{ + Beagle_StackTraceBeginM(); + if(!mValue) throw Beagle_InternalExceptionM("Could not execute as the constant value is missing!"); + T& lValueT = castObjectT(outValue); + lValueT = *mValue; + Beagle_StackTraceEndM("void GP::EphemeralT::getValue(Object& outValue)"); +} + + +/*! + * \brief Give a referene to the ephemeral. If the value is NULL, generate a new ephemeral. + * \return Handle to the actual ephemeral, or a new ephemeral if the value is missing (NULL). + */ +template +Beagle::GP::Primitive::Handle +Beagle::GP::EphemeralT::giveReference(unsigned int inNumberArguments, + Beagle::GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(!mValue) return generate(getName(), ioContext); + return this; + Beagle_StackTraceEndM("GP::Primitive::Handle GP::EphemeralT::giveReference(unsigned int inNumberArguments, GP::Context& ioContext)"); +} + + +/*! + * \brief Execute the ephemeral constant operation by copying the value. + * \param outDatum Result of the execution, the value of the constant. + * \param ioContext Evolutionary context. + * \throw InternalException If the constant value is missing. + */ +template +void Beagle::GP::EphemeralT::execute(Beagle::GP::Datum& outDatum, Beagle::GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(!mValue) throw Beagle_InternalExceptionM("Could not execute as the constant value is missing!"); + T& lResult = castObjectT(outDatum); + lResult = *mValue; + Beagle_StackTraceEndM("void GP::EphemeralT::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} + + +/*! + * \brief Return whether ephemeral random constant have value. + * \return Always true. + */ +template +bool Beagle::GP::EphemeralT::haveValue() const +{ + Beagle_StackTraceBeginM(); + return true; + Beagle_StackTraceEndM("bool GP::EphemeralT::haveValue() const"); +} + + +/*! + * \brief Read ephemeral constant from XML node. + * \param inIter XML iterator to read the ephemeral from. + * \param ioContext Evolutionary context. + * \throw Beagle::IOException If the constant value is missing. + */ +template +void Beagle::GP::EphemeralT::readWithContext(PACC::XML::ConstIterator inIter, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(inIter->getType() != PACC::XML::eData) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + if(inIter->getValue() != getName()) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected, but "; + lOSS << "got tag <" << inIter->getValue() << "> instead!"; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str()); + } + + std::string lValue = inIter->getAttribute("value"); + if(lValue.empty()) mValue = NULL; + else { + if(mValue == NULL) { + std::ostringstream lOSS; + lOSS << "Could not read ephemeral value when the value member is NULL."; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str()); + } + std::istringstream lISS(lValue); + PACC::XML::Document lParser; + lParser.parse(lISS); + mValue->read(lParser.getFirstRoot()); + } + Beagle_StackTraceEndM("void GP::EphemeralT::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Set the value of the ephemeral constant. + * \param inValue Object containing the new value of the ephemeral constant. + * \throw InternalException If the constant value is missing. + */ +template +void Beagle::GP::EphemeralT::setValue(const Beagle::Object& inValue) +{ + Beagle_StackTraceBeginM(); + if(!mValue) { + std::ostringstream lOSS; + lOSS << "Could not execute EphemeralT::setValue() as this instance's mValue is NULL."; + lOSS << "Such a value indicates that this instance was intended to be used as a generator "; + lOSS << "of emphemeral values rather than have a single set value. Consider using this "; + lOSS << "instance's giveReference() method. giveReference() generates handles to new "; + lOSS << "instances of the same type; the difference is that the new instance "; + lOSS << "has a specific value (i.e. its mValue is set)."; + throw Beagle_InternalExceptionM(lOSS.str().c_str()); + } + const T& lValueT = castObjectT(inValue); + *mValue = lValueT; + Beagle_StackTraceEndM("void GP::EphemeralT::setValue(const Object& inValue)"); +} + + +/*! + * \brief Write the value of the ephemeral constant. + * \param ioStreamer XML streamer to write content of ephemeral constant. + * \param inIndent Whether XML output should be indented. + */ +template +void Beagle::GP::EphemeralT::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + if(mValue != NULL) { + std::ostringstream lOSS; + PACC::XML::Streamer lStreamer2(lOSS); + mValue->write(lStreamer2, false); + ioStreamer.insertAttribute("value", lOSS.str()); + } + Beagle_StackTraceEndM("void GP::EphemeralT::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + +#endif // Beagle_GP_EphemeralT_hpp + diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/EvaluationOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/EvaluationOp.hpp new file mode 100644 index 0000000..d52c8ff --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/EvaluationOp.hpp @@ -0,0 +1,95 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/EvaluationOp.hpp + * \brief Definition of the class GP::EvaluationOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +#ifndef Beagle_GP_EvaluationOp_hpp +#define Beagle_GP_EvaluationOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/EvaluationOp.hpp" +#include "beagle/GP/Individual.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class EvaluationOp beagle/GP/EvaluationOp.hpp "beagle/GP/EvaluationOp.hpp" + * \brief Abstract GP evaluation operator class. + * \ingroup GPF + * \ingroup GPOp + */ +class EvaluationOp : public Beagle::EvaluationOp { + +public: + + //! GP::EvaluationOp allocator type. + typedef AbstractAllocT + Alloc; + //! GP::EvaluationOp handle type. + typedef PointerT + Handle; + //! GP::EvaluationOp bag type. + typedef ContainerT + Bag; + + explicit EvaluationOp(string inName="GP-EvaluationOp"); + virtual ~EvaluationOp() { } + + virtual Fitness::Handle evaluate(Beagle::Individual& inIndividual, Beagle::Context& ioContext); + void setValue(string inName, const Object& inValue, GP::Context& ioContext) const; + + /*! + * \brief Evaluate the fitness of the given GP individual. + * \param inIndividual Current GP individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness value of the GP individual. + */ + virtual Fitness::Handle evaluate(GP::Individual& inIndividual, GP::Context& ioContext) =0; + +}; + +} +} + +#endif // Beagle_GP_EvaluationOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Evolver.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Evolver.hpp new file mode 100644 index 0000000..8c0721d --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Evolver.hpp @@ -0,0 +1,95 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Evolver.hpp + * \brief Definition of the class GP::Evolver. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +/*! + * \defgroup GPOp GP Operators and Evolvers + * \ingroup GPF + * \brief Genetic programming operators and evolvers, part of the GP framework. + */ + +#ifndef Beagle_GP_Evolver_hpp +#define Beagle_GP_Evolver_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Evolver.hpp" +#include "beagle/GP/EvaluationOp.hpp" +#include "beagle/TerminationOp.hpp" + +namespace Beagle { +namespace GP { + +/*! + * \class Evolver beagle/GP/Evolver.hpp "beagle/GP/Evolver.hpp" + * \brief Standard GP Generational evolver class. + * \ingroup GPF + * \ingroup GPOp + */ +class Evolver : public Beagle::Evolver { + +public: + + //! GP::Evolver allocator type. + typedef AllocatorT + Alloc; + //! GP::Evolver handle type. + typedef PointerT + Handle; + //! GP::Evolver bag type. + typedef ContainerT + Bag; + + Evolver(); + explicit Evolver(Beagle::EvaluationOp::Handle inEvalOp); + virtual ~Evolver() { } + +protected: + + virtual void addBasicOperators(); + +}; + +} +} + +#endif // Beagle_GP_Evolver_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ExecutionException.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ExecutionException.hpp new file mode 100644 index 0000000..cae90e8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ExecutionException.hpp @@ -0,0 +1,84 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/ExecutionException.hpp + * \brief Definition of class GP::ExecutionException. + * \author Christian Gagne + * \author Matthew Walker + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +#ifndef Beagle_GP_ExecutionException_hpp +#define Beagle_GP_ExecutionException_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Exception.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class ExecutionException beagle/GP/ExecutionException.hpp "beagle/GP/ExecutionException.hpp" + * \brief Basic class of GP exception related to individuals execution. + * \ingroup GPF + * \ingroup Except + */ +class ExecutionException : public Beagle::Exception { + +public: + + //! ExecutionException allocator type. + typedef AllocatorT + Alloc; + //! ExecutionException handle type. + typedef PointerT + Handle; + //! ExecutionException bag type. + typedef ContainerT + Bag; + + explicit ExecutionException(string inMessage=""); + virtual ~ExecutionException() throw() { } + + virtual const char* getExceptionName() const throw(); + +}; + +} +} + +#endif // Beagle_GP_ExecutionException_hpp + diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Exp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Exp.hpp new file mode 100644 index 0000000..feb4b56 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Exp.hpp @@ -0,0 +1,99 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Exp.hpp + * \brief Definition of the templated class GP::Exp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +#ifndef Beagle_GP_Exp_hpp +#define Beagle_GP_Exp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Double.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class Exp beagle/GP/Exp.hpp "beagle/GP/Exp.hpp" + * \brief GP exponential primitive class. + * \ingroup GPF + * \ingroup Primit + * \ingroup MathPrimit + */ +class Exp : public Primitive { + +public: + + //! GP::Exp allocator type. + typedef AllocatorT + Alloc; + //! GP::Exp handle type. + typedef PointerT + Handle; + //! GP::Exp bag type. + typedef ContainerT + Bag; + + explicit Exp(string inName="EXP"); + virtual ~Exp() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + +}; + +} +} + + +#endif // Beagle_GP_Exp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/FitnessKoza.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/FitnessKoza.hpp new file mode 100644 index 0000000..9281a60 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/FitnessKoza.hpp @@ -0,0 +1,167 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/FitnessKoza.hpp + * \brief Definition of the class GP/FitnessKoza. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +/*! + * \defgroup GPFit GP Fitness + * \ingroup GPF + * \brief Genetic programming specific fitness measure and related elements, part of the GP + * framework. + */ + +#ifndef Beagle_GP_FitnessKoza_hpp +#define Beagle_GP_FitnessKoza_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Stats.hpp" +#include "beagle/FitnessSimple.hpp" + +namespace Beagle { +namespace GP { + +/*! + * \class FitnessKoza beagle/GP/FitnessKoza.hpp "beagle/GP/FitnessKoza.hpp" + * \brief Koza's fitness class. + * \ingroup GPF + * \ingroup GPFit + * \par Note: + * Fitness measure express by Koza in Genetic Programming I. Only Normalized fitness + * is used in the natural selection process, others fitness are only indications. + */ +class FitnessKoza : public FitnessSimple { + +public: + + //! GP::FitnessKoza allocator type. + typedef AllocatorT + Alloc; + //! GP::FitnessKoza handle type. + typedef PointerT + Handle; + //! GP::FitnessKoza bag type. + typedef ContainerT + Bag; + + FitnessKoza(); + explicit FitnessKoza(float inNormalizedFitness, + float inAdjustedFitness, + float inStandardizedFitness, + float inRawFitness, + unsigned int inHits); + virtual ~FitnessKoza() { } + + + virtual void calculateStats(Beagle::Deme& ioDeme, Beagle::Context& ioContext) const; + virtual void read(PACC::XML::ConstIterator inIter); + virtual void setFitness(float inNormalizedFitness, + float inAdjustedFitness, + float inStandardizedFitness, + float inRawFitness, + unsigned int inHits); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Return normalized fitness value. + * \return Normalized fitness value. + */ + inline float getNormalizedFitness() const + { + Beagle_StackTraceBeginM(); + return mFitness; + Beagle_StackTraceEndM("float GP::FitnessKoza::getNormalizedFitness() const"); + } + + /*! + * \brief Return adjusted fitness value. + * \return Adjusted fitness value. + */ + inline float getAdjustedFitness() const + { + Beagle_StackTraceBeginM(); + return mAdjustedFitness; + Beagle_StackTraceEndM("float GP::FitnessKoza::getAdjustedFitness() const"); + } + + /*! + * \brief Return standardized fitness value. + * \return Standardized fitness value. + */ + inline float getStandardizedFitness() const + { + Beagle_StackTraceBeginM(); + return mStandardizedFitness; + Beagle_StackTraceEndM("float GP::FitnessKoza::getStandardizedFitness() const"); + } + + /*! + * \brief Return raw fitness value. + * \return Raw fitness value. + */ + inline float getRawFitness() const + { + Beagle_StackTraceBeginM(); + return mRawFitness; + Beagle_StackTraceEndM("float GP::FitnessKoza::getRawFitness() const"); + } + + /*! + * \brief Return hits measure value. + * \return Hits measure value. + */ + inline unsigned int getHits() const + { + Beagle_StackTraceBeginM(); + return mHits; + Beagle_StackTraceEndM("unsigned int GP::FitnessKoza::getHits() const"); + } + +private: + + float mAdjustedFitness; //!< Adjusted fitness measure. + float mStandardizedFitness; //!< Standardized fitness measure. + float mRawFitness; //!< Standardized fitness measure. + unsigned int mHits; //!< Number of hits. + +}; + +} +} + +#endif // Beagle_GP_FitnessKoza_hpp + diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/IfThenElseT.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/IfThenElseT.hpp new file mode 100644 index 0000000..8776df6 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/IfThenElseT.hpp @@ -0,0 +1,170 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/IfThenElseT.hpp + * \brief Definition of the templated class GP::IfThenElseT. + * \author Matthew Walker + * \author Christian Gagne + * $Revision: 1.9 $ + * $Date: 2005/09/30 21:33:13 $ + */ + + +#ifndef Beagle_GP_IfThenElseT_hpp +#define Beagle_GP_IfThenElseT_hpp + +#include "beagle/GP/Primitive.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class IfThenElseT beagle/GP/IfThenElseT.hpp "beagle/GP/IfThenElseT.hpp" + * \brief GP templated if-then-else class. + * \param ProcessedType Type of data processed by the GP primitive. + * \param ConditionType Type used to evaluate conditional statement. + * \ingroup GPF + * \ingroup Primit + * + * The if-then-else template is defined as a four arguments GP primitive. A condition is + * evaluated from the two first arguments, the third argument being returned if the previous + * condition is true, otherwize the fourth argument being returned. The condition is evaluated + * by the ConditionType type, which is a functor that follow the STL's adaptable binary + * predicate interface (see http://www.sgi.com/tech/stl/AdaptableBinaryPredicate.html). + * This mean that the method bool operator()(ProcessedType,ProcessedType) must be correctly defined + * in order to evaluate the condition on two ProcessedType objects. When unspecified, the functor + * used is the STL std::less adaptable binary predicate, which test whether the first argument of + * the primitive is less than the second (using operator<). + * + */ +template > +class IfThenElseT : public GP::Primitive { + +public: + + typedef AllocatorT,GP::Primitive::Alloc> + Alloc; + typedef PointerT,GP::Primitive::Handle> + Handle; + typedef ContainerT,GP::Primitive::Bag> + Bag; + + explicit IfThenElseT(string inName="IFTE"); + virtual ~IfThenElseT() {} + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + +}; + +} // namespace GP +} // namespace Beagle + + +/*! + * \brief Construct if-then-else primitive. + * \param inName If-then-else primitive name. + */ +template +Beagle::GP::IfThenElseT::IfThenElseT(string inName) : + Beagle::GP::Primitive(4, inName) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive IfThenElseT. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type needed. + * \throw AssertException If the index inN given is greater than 3. + */ +template +const std::type_info* +Beagle::GP::IfThenElseT::getArgType(unsigned int inN, + Beagle::GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN<4); + return &typeid(ProcessedType); + Beagle_StackTraceEndM("const std::type_info* GP::IfThenElseT::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the tag of the type of data return by primitive IfThenElseT. + * \param inDesiredType Desired return type. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +template +const std::type_info* +Beagle::GP::IfThenElseT::getReturnType(Beagle::GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(ProcessedType); + Beagle_StackTraceEndM("const std::type_info* GP::IfThenElseT::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Execute if-then-else primitive. + * \param outResult Result of primitive execution. + * \param ioContext Evolutionary context. + * + * Return third argument if the condition evaluated by a ConditionType instance on the two first + * arguments of the primitive is true, otherwize return value of the fourth primitive argument. + */ +template +void Beagle::GP::IfThenElseT::execute(Beagle::GP::Datum& outResult, + Beagle::GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + ProcessedType& lResult = castObjectT(outResult); + ProcessedType lArg2; + ConditionType lCondition; + get1stArgument(lResult, ioContext); + get2ndArgument(lArg2, ioContext); + if(lCondition(lResult,lArg2)) getArgument(2, lResult, ioContext); + else getArgument(3, lResult, ioContext); + Beagle_StackTraceEndM("void GP::IfThenElseT::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} + + +#endif // Beagle_GP_IfThenElseT_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Individual.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Individual.hpp new file mode 100644 index 0000000..e9681cc --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Individual.hpp @@ -0,0 +1,171 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Individual.hpp + * \brief Definition of the class GP::Individual. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.2 $ + * $Date: 2007/09/10 18:24:11 $ + */ + +#ifndef Beagle_GP_Individual_hpp +#define Beagle_GP_Individual_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Individual.hpp" +#include "beagle/IndividualAllocT.hpp" +#include "beagle/GP/Tree.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class Individual beagle/GP/Individual.hpp "beagle/GP/Individual.hpp" + * \brief An individual inherits from a uniform bag of genotypes and has a fitness member. + * \ingroup GPF + * \ingroup GPPop + */ +class Individual : public Beagle::Individual { + +public: + + //! GP::Individual allocator type. + typedef IndividualAllocT + Alloc; + //! GP::Individual handle type. + typedef PointerT + Handle; + //! GP::Individual bag type. + typedef ContainerT + Bag; + + Individual(); + explicit Individual(GP::Tree::Alloc::Handle inGenotypeAlloc); + explicit Individual(GP::Tree::Alloc::Handle inGenotypeAlloc, + Fitness::Alloc::Handle inFitnessAlloc, + size_type inN=0); + virtual ~Individual() { } + + unsigned int chooseRandomTree(Beagle::Context& ioContext) const; + unsigned int chooseRandomNode(unsigned int inTree, Beagle::Context& ioContext) const; + unsigned int chooseRandomNodeWithArgs(unsigned int inTree, Beagle::Context& ioContext) const; + unsigned int chooseRandomNodeWithoutArgs(unsigned int inTree, Beagle::Context& ioContext) const; + void run(GP::Datum& outResult, GP::Context& ioContext); + bool validate(GP::Context& ioContext); + + /*! + * \brief Acces to a constant handle the nth tree of the GP::Individual. + * \param inN Indice of the GP::Tree to get + * \return Constant pointer (GP::Tree::Handle) at the indice N. + */ + inline const GP::Tree::Handle& operator[](unsigned int inN) const + { + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,size()-1); + return castHandleT(std::vector< Pointer,BEAGLE_STLALLOCATOR >::operator[](inN)); + Beagle_StackTraceEndM("const GP::Tree::Handle& GP::Individual::operator[](unsigned int inN) const"); + } + + /*! + * \brief Acces to an handle the nth tree of the GP::Individual. + * \param inN Indice of the GP::Tree to get. + * \return Pointer (GP::Tree::Handle) at the indice N. + */ + inline GP::Tree::Handle& operator[](unsigned int inN) + { + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,size()-1); + return castHandleT(std::vector< Pointer,BEAGLE_STLALLOCATOR >::operator[](inN)); + Beagle_StackTraceEndM("GP::Tree::Handle& GP::Individual::operator[](unsigned int inN)"); + } + + /*! + * \return Maximum tree depth of the individual. + */ + inline unsigned int getMaxTreeDepth() const + { + Beagle_StackTraceBeginM(); + unsigned int lDepth = 0; + for(unsigned int i=0; igetTreeDepth()); + return lDepth; + Beagle_StackTraceEndM("unsigned int GP::Individual::getMaxTreeDepth() const"); + } + + /*! + * \return Total number of nodes in the trees. + */ + inline unsigned int getTotalNodes() const + { + Beagle_StackTraceBeginM(); + unsigned int lNumberNodes = 0; + for(unsigned int i=0; isize(); + return lNumberNodes; + Beagle_StackTraceEndM("unsigned int GP::Individual::getTotalNodes() const"); + } + + /*! + * \brief Get the tree data type allocator. + * \return An handle to the tree type allocator. + */ + inline const GP::Tree::Alloc::Handle getTypeAlloc() const + { + Beagle_StackTraceBeginM(); + return castHandleT(Beagle::Individual::getTypeAlloc()); + Beagle_StackTraceEndM("const GP::Tree::Alloc::Handle GP::Individual::getTypeAlloc() const"); + } + + /*! + * \brief Get the tree data type allocator. + * \return An handle to the tree type allocator. + */ + inline GP::Tree::Alloc::Handle getTypeAlloc() + { + Beagle_StackTraceBeginM(); + return castHandleT(Beagle::Individual::getTypeAlloc()); + Beagle_StackTraceEndM("GP::Tree::Alloc::Handle GP::Individual::getTypeAlloc()"); + } + + /*! + * \brief Set the tree data type allocator. + * \param inTypeAlloc An handle to the new tree type allocator. + */ + inline void setTypeAlloc(GP::Tree::Alloc::Handle inTypeAlloc) + { + Beagle_StackTraceBeginM(); + Beagle::Individual::setTypeAlloc(inTypeAlloc); + Beagle_StackTraceEndM("void GP::Individual::setTypeAlloc(GP::Tree::Alloc::Handle inTypeAlloc)"); + } + +}; + +} +} + +#endif // Beagle_GP_Individual_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitFullConstrainedOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitFullConstrainedOp.hpp new file mode 100644 index 0000000..c5ebb0d --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitFullConstrainedOp.hpp @@ -0,0 +1,102 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/InitFullConstrainedOp.hpp + * \brief Definition of the class GP::InitFullConstrainedOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#ifndef Beagle_GP_InitFullConstrainedOp_hpp +#define Beagle_GP_InitFullConstrainedOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/InitializationOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Tree.hpp" +#include "beagle/GP/InitFullOp.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class InitFullConstrainedOp + * beagle/GP/InitFullConstrainedOp.hpp "beagle/GP/InitFullConstrainedOp.hpp" + * \brief Constrained GP trees "full" initialization operator class. + * \ingroup GPF + * \ingroup GPOp + * \ingroup GPPop + */ +class InitFullConstrainedOp : public InitFullOp { + +public: + + //! GP::InitFullConstrainedOp allocator type. + typedef AllocatorT + Alloc; + //! GP::InitFullConstrainedOp handle type. + typedef PointerT + Handle; + //! GP::InitFullConstrainedOp bag type. + typedef ContainerT + Bag; + + explicit InitFullConstrainedOp(std::string inReproProbaName="ec.repro.prob", + std::string inName="GP-InitFullConstrainedOp"); + virtual ~InitFullConstrainedOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual unsigned int initTree(GP::Tree& outTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context& ioContext) const; + +protected: + + unsigned int initConstrainedSubTreeFull(GP::Tree& ioTree, + unsigned int inSubTreeDepth, + GP::Context& ioContext) const; + + UInt::Handle mNumberAttempts; //!< Number of attempts in each initialization. + +}; + +} +} + +#endif // Beagle_GP_InitFullConstrainedOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitFullOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitFullOp.hpp new file mode 100644 index 0000000..063582a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitFullOp.hpp @@ -0,0 +1,97 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/InitFullOp.hpp + * \brief Definition of the class GP::InitFullOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.11.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#ifndef Beagle_GP_InitFullOp_hpp +#define Beagle_GP_InitFullOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/InitializationOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Tree.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class InitFullOp beagle/GP/InitFullOp.hpp "beagle/GP/InitFullOp.hpp" + * \brief GP trees "full" initialization operator class. + * \ingroup GPF + * \ingroup GPOp + * \ingroup GPPop + */ +class InitFullOp : public GP::InitializationOp { + +public: + + //! GP::InitFullOp allocator type. + typedef AllocatorT + Alloc; + //! GP::InitFullOp handle type. + typedef PointerT + Handle; + //! GP::InitFullOp bag type. + typedef ContainerT + Bag; + + explicit InitFullOp(std::string inReproProbaName="ec.repro.prob", + std::string inName="GP-InitFullOp"); + virtual ~InitFullOp() { } + + virtual unsigned int initTree(GP::Tree &outTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context &ioContext) const; + +protected: + + unsigned int initSubTreeFull(GP::Tree& ioTree, + unsigned int inSubTreeDepth, + GP::Context& ioContext) const; + +}; + +} +} + +#endif // Beagle_GP_InitFullOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitGrowConstrainedOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitGrowConstrainedOp.hpp new file mode 100644 index 0000000..098eb06 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitGrowConstrainedOp.hpp @@ -0,0 +1,103 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/InitGrowConstrainedOp.hpp + * \brief Definition of the class GP::InitGrowConstrainedOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#ifndef Beagle_GP_InitGrowConstrainedOp_hpp +#define Beagle_GP_InitGrowConstrainedOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/InitializationOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Tree.hpp" +#include "beagle/GP/InitGrowOp.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class InitGrowConstrainedOp + * beagle/GP/InitGrowConstrainedOp.hpp "beagle/GP/InitGrowConstrainedOp.hpp" + * \brief Constrained GP trees "grow" initialization operator class. + * \ingroup GPF + * \ingroup GPOp + * \ingroup GPPop + */ +class InitGrowConstrainedOp : public InitGrowOp { + +public: + + //! GP::InitGrowConstrainedOp allocator type. + typedef AllocatorT + Alloc; + //! GP::InitGrowConstrainedOp handle type. + typedef PointerT + Handle; + //! GP::InitGrowConstrainedOp bag type. + typedef ContainerT + Bag; + + explicit InitGrowConstrainedOp(std::string inReproProbaName="ec.repro.prob", + std::string inName="GP-InitGrowConstrainedOp"); + virtual ~InitGrowConstrainedOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual unsigned int initTree(GP::Tree& outTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context& ioContext) const; + +protected: + + unsigned int initConstrainedSubTreeGrow(GP::Tree& ioTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context& ioContext) const; + + UInt::Handle mNumberAttempts; //!< Number of attempts in each initialization. + +}; + +} +} + +#endif // Beagle_GP_InitGrowConstrainedOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitGrowOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitGrowOp.hpp new file mode 100644 index 0000000..12664e3 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitGrowOp.hpp @@ -0,0 +1,98 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/InitGrowOp.hpp + * \brief Definition of the class GP::InitGrowOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.11.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#ifndef Beagle_GP_InitGrowOp_hpp +#define Beagle_GP_InitGrowOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/InitializationOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Tree.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class InitGrowOp beagle/GP/InitGrowOp.hpp "beagle/GP/InitGrowOp.hpp" + * \brief GP trees "grow" initialization operator class. + * \ingroup GPF + * \ingroup GPOp + * \ingroup GPPop + */ +class InitGrowOp : public GP::InitializationOp { + +public: + + //! GP::InitGrowOp allocator type. + typedef AllocatorT + Alloc; + //! GP::InitGrowOp handle type. + typedef PointerT + Handle; + //! GP::InitGrowOp bag type. + typedef ContainerT + Bag; + + explicit InitGrowOp(std::string inReproProbaName="ec.repro.prob", + std::string inName="GP-InitGrowOp"); + virtual ~InitGrowOp() { } + + virtual unsigned int initTree(GP::Tree &outTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context &ioContext) const; + +protected: + + unsigned int initSubTreeGrow(GP::Tree& ioTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context& ioContext) const; + +}; + +} +} + +#endif // Beagle_GP_InitGrowOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitHalfConstrainedOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitHalfConstrainedOp.hpp new file mode 100644 index 0000000..f32d5eb --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitHalfConstrainedOp.hpp @@ -0,0 +1,97 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/InitHalfConstrainedOp.hpp + * \brief Definition of the class GP::InitHalfConstrainedOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.11.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#ifndef Beagle_GP_InitHalfConstrainedOp_hpp +#define Beagle_GP_InitHalfConstrainedOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/InitializationOp.hpp" +#include "beagle/GP/InitFullConstrainedOp.hpp" +#include "beagle/GP/InitGrowConstrainedOp.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class InitHalfConstrainedOp + * beagle/GP/InitHalfConstrainedOp.hpp "beagle/GP/InitHalfConstrainedOp.hpp" + * \brief GP trees "half-and-half" initialization operator class. + * \ingroup GPF + * \ingroup GPOp + * \ingroup GPPop + */ +class InitHalfConstrainedOp : public GP::InitializationOp { + +public: + + //! GP::InitHalfConstrainedOp allocator type. + typedef AllocatorT + Alloc; + //! GP::InitHalfConstrainedOp handle type. + typedef PointerT + Handle; + //! GP::InitGrowOp bag type. + typedef ContainerT + Bag; + + explicit InitHalfConstrainedOp(std::string inReproProbaName="ec.repro.prob", + std::string inName="GP-InitHalfConstrainedOp"); + virtual ~InitHalfConstrainedOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual unsigned int initTree(GP::Tree &outTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context &ioContext) const; + +protected: + + InitFullConstrainedOp mInitFullOp; //!< Full initialization operator. + InitGrowConstrainedOp mInitGrowOp; //!< Grow initialization operator. + +}; + +} +} + +#endif // Beagle_GP_InitHalfConstrainedOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitHalfOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitHalfOp.hpp new file mode 100644 index 0000000..3bc092c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitHalfOp.hpp @@ -0,0 +1,96 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/InitHalfOp.hpp + * \brief Definition of the class GP::InitHalfOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.11.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#ifndef Beagle_GP_InitHalfOp_hpp +#define Beagle_GP_InitHalfOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/InitializationOp.hpp" +#include "beagle/GP/InitFullOp.hpp" +#include "beagle/GP/InitGrowOp.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class InitHalfOp beagle/GP/InitHalfOp.hpp "beagle/GP/InitHalfOp.hpp" + * \brief GP trees "half-and-half" initialization operator class. + * \ingroup GPF + * \ingroup GPOp + * \ingroup GPPop + */ +class InitHalfOp : public GP::InitializationOp { + +public: + + //! GP::InitHalfOp allocator type. + typedef AllocatorT + Alloc; + //! GP::InitHalfOp handle type. + typedef PointerT + Handle; + //! GP::InitGrowOp bag type. + typedef ContainerT + Bag; + + explicit InitHalfOp(std::string inReproProbaName="ec.repro.prob", + std::string inName="GP-InitHalfOp"); + virtual ~InitHalfOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual unsigned int initTree(GP::Tree &outTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context &ioContext) const; + +protected: + + GP::InitFullOp mInitFullOp; //!< Full initialization operator. + GP::InitGrowOp mInitGrowOp; //!< Grow initialization operator. + +}; + +} +} + +#endif // Beagle_GP_InitHalfOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitializationOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitializationOp.hpp new file mode 100644 index 0000000..8dc1391 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/InitializationOp.hpp @@ -0,0 +1,103 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +#ifndef Beagle_GP_InitializationOp_hpp +#define Beagle_GP_InitializationOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/BreederOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/String.hpp" +#include "beagle/Individual.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class InitializationOp beagle/InitializationOp.hpp "beagle/InitializationOp.hpp" + * \brief Abstract initialization operator class. + * \ingroup GPF + * \ingroup GPOp + * \ingroup GPPop + */ +class InitializationOp : public Beagle::InitializationOp { + +public: + + //! InitializationOp allocator type. + typedef AbstractAllocT + Alloc; + //! InitializationOp handle type. + typedef PointerT + Handle; + //! InitializationOp bag type. + typedef ContainerT + Bag; + + explicit InitializationOp(std::string inReproProbaName="ec.repro.prob", + std::string inName="GP-InitializationOp"); + virtual ~InitializationOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual void initIndividual(Beagle::Individual& outIndividual, Beagle::Context& ioContext); + + /*! + * \brief Initialize a tree. + * \param outTree Tree to initialize. + * \param inMinDepth Minimum depth to make tree. + * \param inMaxDepth Maximum depth to make tree. + * \param ioContext Evolution context. + * \return The size of the initialized tree. + */ + virtual unsigned int initTree(GP::Tree& outTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context &ioContext) const =0; + +protected: + + UInt::Handle mMaxTreeDepth; //!< Maximum depth of the initialized trees. + UInt::Handle mMinTreeDepth; //!< Minimum depth of the initialized trees. + UInt::Handle mMaxNumberTrees; //!< Maximum number of trees in generated individuals. + UInt::Handle mMinNumberTrees; //!< Maximum number of trees in generated individuals. + UIntArray::Handle mMaxTreeArgs; //!< Maximum number of arguments in trees. + UIntArray::Handle mMinTreeArgs; //!< Maximum number of arguments in trees. + +}; + +} +} + +#endif // Beagle_GP_InitializationOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Invoker.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Invoker.hpp new file mode 100644 index 0000000..aed6b8d --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Invoker.hpp @@ -0,0 +1,173 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Invoker.hpp + * \brief Definition of the templated class GP::Invoker. + * \author Christian Gagne + * \author Matthew Walker + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +#ifndef Beagle_GP_Invoker_hpp +#define Beagle_GP_Invoker_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class Invoker beagle/GP/Invoker.hpp "beagle/GP/Invoker.hpp" + * \brief Generic GP tree invoker primitive. + * \ingroup GPF + * \ingroup Primit + * \ingroup FunctPrimit + */ +class Invoker : public Primitive { + +public: + + //! Specify the constants for specific kind of Invoker. + enum InvokerKind {eGenerator=UINT_MAX}; + + //! GP::Invoker allocator type. + typedef AllocatorT + Alloc; + //! GP::Invoker handle type. + typedef PointerT + Handle; + //! GP::Invoker bag type. + typedef ContainerT + Bag; + + explicit Invoker(unsigned int inIndex=eGenerator, + unsigned int inNumberArgs=Beagle::GP::Primitive::eAny, + string inName="INVK", + string inArgsName="ARG"); + virtual ~Invoker() { } + + /*! + * \brief Generate a new invoker primitive from the given specifications. + * \param inIndex Tree index for which the primitive is created. + * \param inName Name of the primitive generated. + * \param ioContext Evolutionary context. + * \param inArgsName Name of the arguments associated to the invoker created. + */ + virtual Handle generateInvoker(unsigned int inIndex, + string inName, + string inArgsName, + GP::Context& ioContext) const =0; + + /*! + * \brief Return indices of the trees that can be invoked by the invoker. + * \param outCandidates Indices of tree that can be selected as invokable in the actual context. + * \param inNumberArguments Number of arguments for which the selection is desired. + * \param ioContext Evolutionary context. + */ + virtual void getCandidatesToInvoke(std::vector< unsigned int,BEAGLE_STLALLOCATOR >& + outCandidates, + unsigned int inNumberArguments, + GP::Context& ioContext) const =0; + + /*! + * \brief Get reference the tree to invoke. + * \param ioContext Evolutionary context. + * \return Handle to the invoked tree. + */ + virtual GP::Tree::Handle getInvokedTree(GP::Context& ioContext) const =0; + + /*! + * \brief Invoke GP tree to execute. + * \param outResult Result of GP tree invocation + * \param ioTree Tree to invoke. + * \param ioContext Evolutionary context. + */ + virtual void invoke(GP::Datum& outResult, GP::Tree::Handle ioTree, GP::Context& ioContext) =0; + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual double getSelectionWeight(unsigned int inNumberArguments, GP::Context& ioContext) const; + virtual GP::Primitive::Handle giveReference(unsigned int inNumberArguments, GP::Context& ioContext); + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + virtual bool isSelectionWeightStable(unsigned int inNumberArguments) const; + virtual void readWithContext(PACC::XML::ConstIterator inIter, GP::Context& ioContext); + virtual bool validate(GP::Context& ioContext) const; + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \return Name of the argument primitives associated to the invoker. + */ + inline string getArgsName() const + { + Beagle_StackTraceBeginM(); + return mArgsName; + Beagle_StackTraceEndM("string GP::Invoker::getArgsName() const"); + } + + /*! + * \return Index of the tree invoked. + */ + inline unsigned int getIndex() const + { + Beagle_StackTraceBeginM(); + return mIndex; + Beagle_StackTraceEndM("unsigned int GP::Invoker::getIndex() const"); + } + +protected: + + string mArgsName; //!< Invoker arguments primitive name. + unsigned int mIndex; //!< Index of the associated tree to invoker. + +}; + +} +} + + +#endif // Beagle_GP_Invoker_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Log.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Log.hpp new file mode 100644 index 0000000..5160c0f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Log.hpp @@ -0,0 +1,99 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Log.hpp + * \brief Definition of the templated class GP::Log. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +#ifndef Beagle_GP_Log_hpp +#define Beagle_GP_Log_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Double.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class Log beagle/GP/Log.hpp "beagle/GP/Log.hpp" + * \brief GP neperian logarithm primitive class. + * \ingroup GPF + * \ingroup Primit + * \ingroup MathPrimit + */ +class Log : public Primitive { + +public: + + //! GP::Log allocator type. + typedef AllocatorT + Alloc; + //! GP::Log handle type. + typedef PointerT + Handle; + //! GP::Log bag type. + typedef ContainerT + Bag; + + explicit Log(string inName="LOG"); + virtual ~Log() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + +}; + +} +} + + +#endif // Beagle_GP_Log_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Makefile b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Makefile new file mode 100644 index 0000000..412781d --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Makefile @@ -0,0 +1,666 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/GP/include/beagle/GP/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/GP/include/beagle/GP +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(beagleGP_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(beagleGPdir)" +HEADERS = $(beagleGP_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GP/include/beagle/GP +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GP/include/beagle/GP +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../../../ +top_builddir = ../../../../.. +top_srcdir = ../../../../.. +beagleGPdir = $(includedir)/beagle/GP +beagleGP_HEADERS = \ +AbsT.hpp \ +AddT.hpp \ +ADF.hpp \ +And.hpp \ +Argument.hpp \ +ArgumentT.hpp \ +Context.hpp \ +Cos.hpp \ +CrossoverOp.hpp \ +CrossoverConstrainedOp.hpp \ +Datum.hpp \ +Deme.hpp \ +DivideT.hpp \ +EphemeralDouble.hpp \ +EphemeralT.hpp \ +EvaluationOp.hpp \ +Evolver.hpp \ +ExecutionException.hpp \ +Exp.hpp \ +FitnessKoza.hpp \ +IfThenElseT.hpp \ +Individual.hpp \ +InitFullOp.hpp \ +InitFullConstrainedOp.hpp \ +InitGrowOp.hpp \ +InitGrowConstrainedOp.hpp \ +InitHalfOp.hpp \ +InitHalfConstrainedOp.hpp \ +InitializationOp.hpp \ +Invoker.hpp \ +Log.hpp \ +MaxNodesExecutionException.hpp \ +MaxTimeExecutionException.hpp \ +Module.hpp \ +ModuleCompressOp.hpp \ +ModuleExpandOp.hpp \ +ModuleVectorComponent.hpp \ +MultiplyT.hpp \ +MutationEphemeralOpT.hpp \ +MutationEphemeralDoubleOp.hpp \ +MutationShrinkOp.hpp \ +MutationShrinkConstrainedOp.hpp \ +MutationStandardOp.hpp \ +MutationStandardConstrainedOp.hpp \ +MutationSwapOp.hpp \ +MutationSwapConstrainedOp.hpp \ +MutationSwapSubtreeOp.hpp \ +MutationSwapSubtreeConstrainedOp.hpp \ +Nand.hpp \ +Nor.hpp \ +Not.hpp \ +Or.hpp \ +Primitive.hpp \ +PrimitiveInline.hpp \ +PrimitiveMap.hpp \ +PrimitiveSet.hpp \ +PrimitiveSuperSet.hpp \ +PrimitiveUsageStatsOp.hpp \ +ResourcesExceededExecutionException.hpp \ +Sin.hpp \ +StatsCalcFitnessKozaOp.hpp \ +StatsCalcFitnessSimpleOp.hpp \ +SubtractT.hpp \ +System.hpp \ +TermMaxHitsOp.hpp \ +TokenT.hpp \ +Tree.hpp \ +ValidateOp.hpp \ +Vivarium.hpp \ +Xor.hpp + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GP/include/beagle/GP/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GP/include/beagle/GP/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-beagleGPHEADERS: $(beagleGP_HEADERS) + @$(NORMAL_INSTALL) + @list='$(beagleGP_HEADERS)'; test -n "$(beagleGPdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(beagleGPdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(beagleGPdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(beagleGPdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(beagleGPdir)" || exit $$?; \ + done + +uninstall-beagleGPHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(beagleGP_HEADERS)'; test -n "$(beagleGPdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(beagleGPdir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(beagleGPdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-beagleGPHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-beagleGPHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ + clean-libtool cscopelist-am ctags ctags-am distclean \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-beagleGPHEADERS install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am \ + uninstall-beagleGPHEADERS + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Makefile.am b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Makefile.am new file mode 100644 index 0000000..c081eed --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Makefile.am @@ -0,0 +1,73 @@ +beagleGPdir = $(includedir)/beagle/GP +beagleGP_HEADERS = \ +AbsT.hpp \ +AddT.hpp \ +ADF.hpp \ +And.hpp \ +Argument.hpp \ +ArgumentT.hpp \ +Context.hpp \ +Cos.hpp \ +CrossoverOp.hpp \ +CrossoverConstrainedOp.hpp \ +Datum.hpp \ +Deme.hpp \ +DivideT.hpp \ +EphemeralDouble.hpp \ +EphemeralT.hpp \ +EvaluationOp.hpp \ +Evolver.hpp \ +ExecutionException.hpp \ +Exp.hpp \ +FitnessKoza.hpp \ +IfThenElseT.hpp \ +Individual.hpp \ +InitFullOp.hpp \ +InitFullConstrainedOp.hpp \ +InitGrowOp.hpp \ +InitGrowConstrainedOp.hpp \ +InitHalfOp.hpp \ +InitHalfConstrainedOp.hpp \ +InitializationOp.hpp \ +Invoker.hpp \ +Log.hpp \ +MaxNodesExecutionException.hpp \ +MaxTimeExecutionException.hpp \ +Module.hpp \ +ModuleCompressOp.hpp \ +ModuleExpandOp.hpp \ +ModuleVectorComponent.hpp \ +MultiplyT.hpp \ +MutationEphemeralOpT.hpp \ +MutationEphemeralDoubleOp.hpp \ +MutationShrinkOp.hpp \ +MutationShrinkConstrainedOp.hpp \ +MutationStandardOp.hpp \ +MutationStandardConstrainedOp.hpp \ +MutationSwapOp.hpp \ +MutationSwapConstrainedOp.hpp \ +MutationSwapSubtreeOp.hpp \ +MutationSwapSubtreeConstrainedOp.hpp \ +Nand.hpp \ +Nor.hpp \ +Not.hpp \ +Or.hpp \ +Primitive.hpp \ +PrimitiveInline.hpp \ +PrimitiveMap.hpp \ +PrimitiveSet.hpp \ +PrimitiveSuperSet.hpp \ +PrimitiveUsageStatsOp.hpp \ +ResourcesExceededExecutionException.hpp \ +Sin.hpp \ +StatsCalcFitnessKozaOp.hpp \ +StatsCalcFitnessSimpleOp.hpp \ +SubtractT.hpp \ +System.hpp \ +TermMaxHitsOp.hpp \ +TokenT.hpp \ +Tree.hpp \ +ValidateOp.hpp \ +Vivarium.hpp \ +Xor.hpp + diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Makefile.in b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Makefile.in new file mode 100644 index 0000000..b910253 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Makefile.in @@ -0,0 +1,666 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/GP/include/beagle/GP +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(beagleGP_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(beagleGPdir)" +HEADERS = $(beagleGP_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +beagleGPdir = $(includedir)/beagle/GP +beagleGP_HEADERS = \ +AbsT.hpp \ +AddT.hpp \ +ADF.hpp \ +And.hpp \ +Argument.hpp \ +ArgumentT.hpp \ +Context.hpp \ +Cos.hpp \ +CrossoverOp.hpp \ +CrossoverConstrainedOp.hpp \ +Datum.hpp \ +Deme.hpp \ +DivideT.hpp \ +EphemeralDouble.hpp \ +EphemeralT.hpp \ +EvaluationOp.hpp \ +Evolver.hpp \ +ExecutionException.hpp \ +Exp.hpp \ +FitnessKoza.hpp \ +IfThenElseT.hpp \ +Individual.hpp \ +InitFullOp.hpp \ +InitFullConstrainedOp.hpp \ +InitGrowOp.hpp \ +InitGrowConstrainedOp.hpp \ +InitHalfOp.hpp \ +InitHalfConstrainedOp.hpp \ +InitializationOp.hpp \ +Invoker.hpp \ +Log.hpp \ +MaxNodesExecutionException.hpp \ +MaxTimeExecutionException.hpp \ +Module.hpp \ +ModuleCompressOp.hpp \ +ModuleExpandOp.hpp \ +ModuleVectorComponent.hpp \ +MultiplyT.hpp \ +MutationEphemeralOpT.hpp \ +MutationEphemeralDoubleOp.hpp \ +MutationShrinkOp.hpp \ +MutationShrinkConstrainedOp.hpp \ +MutationStandardOp.hpp \ +MutationStandardConstrainedOp.hpp \ +MutationSwapOp.hpp \ +MutationSwapConstrainedOp.hpp \ +MutationSwapSubtreeOp.hpp \ +MutationSwapSubtreeConstrainedOp.hpp \ +Nand.hpp \ +Nor.hpp \ +Not.hpp \ +Or.hpp \ +Primitive.hpp \ +PrimitiveInline.hpp \ +PrimitiveMap.hpp \ +PrimitiveSet.hpp \ +PrimitiveSuperSet.hpp \ +PrimitiveUsageStatsOp.hpp \ +ResourcesExceededExecutionException.hpp \ +Sin.hpp \ +StatsCalcFitnessKozaOp.hpp \ +StatsCalcFitnessSimpleOp.hpp \ +SubtractT.hpp \ +System.hpp \ +TermMaxHitsOp.hpp \ +TokenT.hpp \ +Tree.hpp \ +ValidateOp.hpp \ +Vivarium.hpp \ +Xor.hpp + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GP/include/beagle/GP/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GP/include/beagle/GP/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-beagleGPHEADERS: $(beagleGP_HEADERS) + @$(NORMAL_INSTALL) + @list='$(beagleGP_HEADERS)'; test -n "$(beagleGPdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(beagleGPdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(beagleGPdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(beagleGPdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(beagleGPdir)" || exit $$?; \ + done + +uninstall-beagleGPHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(beagleGP_HEADERS)'; test -n "$(beagleGPdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(beagleGPdir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(beagleGPdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-beagleGPHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-beagleGPHEADERS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ + clean-libtool cscopelist-am ctags ctags-am distclean \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-beagleGPHEADERS install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am \ + uninstall-beagleGPHEADERS + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MaxNodesExecutionException.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MaxNodesExecutionException.hpp new file mode 100644 index 0000000..c21c5e7 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MaxNodesExecutionException.hpp @@ -0,0 +1,114 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/MaxNodesExecutionException.hpp + * \brief Definition of class GP::MaxNodesExecutionException. + * \author Christian Gagne + * \author Matthew Walker + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +#ifndef Beagle_GP_MaxNodesExecutionException_hpp +#define Beagle_GP_MaxNodesExecutionException_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Exception.hpp" +#include "beagle/GP/ExecutionException.hpp" +#include "beagle/GP/ResourcesExceededExecutionException.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class MaxNodesExecutionException beagle/GP/MaxNodesExecutionException.hpp + * "beagle/GP/MaxNodesExecutionException.hpp" + * \brief Throwed when the maximum number of GP nodes in an individual execution is overpassed. + * \ingroup GPF + * \ingroup Except + */ +class MaxNodesExecutionException : public ResourcesExceededExecutionException { + +public: + + //! MaxNodesExecutionException allocator type. + typedef AllocatorT + Alloc; + //! MaxNodesExecutionException handle type. + typedef PointerT + Handle; + //! MaxNodesExecutionException bag type. + typedef ContainerT + Bag; + + explicit MaxNodesExecutionException(string inMessage="", + unsigned int inNodesExecuted=0, + unsigned int inMaxNodesAllowed=0); + virtual ~MaxNodesExecutionException() throw() { } + + virtual const char* getExceptionName() const throw(); + + /*! + * \return Number of nodes executed before the exception is thrown. + */ + inline unsigned int getNodesExecuted() const + { + Beagle_StackTraceBeginM(); + return mNodesExecuted; + Beagle_StackTraceEndM("unsigned int GP::MaxNodesExecutionException::getNodesExecuted() const"); + } + + /*! + * \return Maximum number of nodes execution allowed. + */ + inline unsigned int getMaxNodesAllowed() const + { + Beagle_StackTraceBeginM(); + return mMaxNodesAllowed; + Beagle_StackTraceEndM("unsigned int GP::MaxNodesExecutionException::getMaxNodesAllowed() const"); + } + +protected: + + unsigned int mNodesExecuted; //!< Number of nodes executed before the exception is thrown. + unsigned int mMaxNodesAllowed; //!< Maximum number of nodes execution allowed. + +}; + +} +} + +#endif // Beagle_GP_MaxNodesExecutionException_hpp + diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MaxTimeExecutionException.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MaxTimeExecutionException.hpp new file mode 100644 index 0000000..5be618b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MaxTimeExecutionException.hpp @@ -0,0 +1,114 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/MaxTimeExecutionException.hpp + * \brief Definition of class GP::MaxTimeExecutionException. + * \author Christian Gagne + * \author Matthew Walker + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +#ifndef Beagle_GP_MaxTimeExecutionException_hpp +#define Beagle_GP_MaxTimeExecutionException_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Exception.hpp" +#include "beagle/GP/ExecutionException.hpp" +#include "beagle/GP/ResourcesExceededExecutionException.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class MaxTimeExecutionException beagle/GP/MaxTimeExecutionException.hpp + * "beagle/GP/MaxTimeExecutionException.hpp" + * \brief Throwed when the maximum time allowed to an individual execution is overpassed. + * \ingroup GPF + * \ingroup Except + */ +class MaxTimeExecutionException : public ResourcesExceededExecutionException { + +public: + + //! MaxTimeExecutionException allocator type. + typedef AllocatorT + Alloc; + //! MaxTimeExecutionException handle type. + typedef PointerT + Handle; + //! MaxTimeExecutionException bag type. + typedef ContainerT + Bag; + + explicit MaxTimeExecutionException(string inMessage="", + double inTimeElapsed=0.0, + double inMaxTimeAllowed=0.0); + virtual ~MaxTimeExecutionException() throw() { } + + virtual const char* getExceptionName() const throw(); + + /*! + * \return Time elapsed (in seconds) before the exception is thrown. + */ + inline double getTimeElapsed() const + { + Beagle_StackTraceBeginM(); + return mTimeElapsed; + Beagle_StackTraceEndM("double GP::MaxTimeExecutionException::getTimeElapsed() const"); + } + + /*! + * \return Maximum execution time allowed (in seconds). + */ + inline double getMaxTimeAllowed() const + { + Beagle_StackTraceBeginM(); + return mMaxTimeAllowed; + Beagle_StackTraceEndM("double GP::MaxTimeExecutionException::getMaxTimeAllowed() const"); + } + +protected: + + double mTimeElapsed; //!< Time elapsed in individual execution before throwing the exception. + double mMaxTimeAllowed; //!< Maximum execution time allowed. + +}; + +} +} + +#endif // Beagle_GP_MaxTimeExecutionException_hpp + diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Module.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Module.hpp new file mode 100644 index 0000000..d5315cf --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Module.hpp @@ -0,0 +1,118 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Module.hpp + * \brief Definition of class GP::Module. + * \author Christian Gagne + * \author Matthew Walker + * \author Marc Parizeau + * $Revision: 1.4.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +/*! + * \defgroup EMA Evolutionary module acquisition + * \ingroup GPF + * \brief Mechanism to dynamically encapsulate and expand program modules, part of the GP framework. + * + * \par Reference + * Peter J. Angeline and Jordan Pollack, "Evolutionary Module Acquisition", + * Second Annual Conference on Evolutionary Programming, La Jolla, CA, 1993. + * + */ + +#ifndef Beagle_GP_Module_hpp +#define Beagle_GP_Module_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" +#include "beagle/GP/Invoker.hpp" +#include "beagle/GP/Tree.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class Module beagle/GP/Module.hpp "beagle/GP/Module.hpp" + * \brief GP generic module primitive. + * \ingroup GPF + * \ingroup Primit + * \ingroup EMA + */ +class Module : public GP::Invoker { + +public: + + //! GP::Module allocator type. + typedef AllocatorT + Alloc; + //! GP::Module handle type. + typedef PointerT + Handle; + //! GP::Module bag type. + typedef ContainerT + Bag; + + explicit Module(unsigned int inIndex=GP::Invoker::eGenerator, + unsigned int inNumberArgs=GP::Primitive::eAny, + string inName="MODULE", + string inArgsName="ARG"); + virtual ~Module() { } + + virtual GP::Invoker::Handle generateInvoker(unsigned int inIndex, + string inName, + string inArgsName, + GP::Context& ioContext) const; + virtual void getCandidatesToInvoke(std::vector< unsigned int,BEAGLE_STLALLOCATOR >& + outCandidates, + unsigned int inNumberArguments, + GP::Context& ioContext) const; + virtual GP::Tree::Handle getInvokedTree(GP::Context& ioContext) const; + virtual void invoke(GP::Datum& outResult, + GP::Tree::Handle ioTree, + GP::Context& ioContext); + virtual bool validate(GP::Context& ioContext) const; + +}; + +} +} + + +#endif // Beagle_GP_Module_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ModuleCompressOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ModuleCompressOp.hpp new file mode 100644 index 0000000..ace82e1 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ModuleCompressOp.hpp @@ -0,0 +1,105 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/ModuleCompressOp.hpp + * \brief Definition of ModuleCompressOp. + * \author Matthew Walker + * \author Christian Gagne + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +#ifndef Beagle_GP_ModuleCompressOp_hpp +#define Beagle_GP_ModuleCompressOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/System.hpp" +#include "beagle/Context.hpp" +#include "beagle/Float.hpp" +#include "beagle/String.hpp" +#include "beagle/GP/System.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Tree.hpp" +#include "beagle/GP/Individual.hpp" +#include "beagle/GP/Deme.hpp" + +namespace Beagle { +namespace GP { + + +/*! + * \brief Compress operator for evolutionary module acquisition. + * \ingroup GPF + * \ingroup EMA + */ +class ModuleCompressOp : public Operator { + +public: + + //! ModuleCompressOp allocator type. + typedef AbstractAllocT + Alloc; + //! ModuleCompressOp handle type. + typedef PointerT + Handle; + //! ModuleCompressOp bag type. + typedef ContainerT + Bag; + + explicit ModuleCompressOp(string inName="GP-ModuleCompressOp"); + virtual ~ModuleCompressOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual void cleanup(GP::Vivarium& ioVivarium, GP::Context& ioContext); + virtual bool compress(unsigned int inModuleIndex, GP::Tree& ioTree, GP::Context& ioContext); + virtual void operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext); + +protected: + + bool listCompressionCandidates(std::vector< unsigned int,BEAGLE_STLALLOCATOR >& outCandidates, + unsigned int inNodeIndex, + const GP::Tree& inTree) const; + + String::Handle mModulePrimitName; //!< Name of modules primitives. + UInt::Handle mMaxModulesVectorSize; //!< Maximum number of modules. + UInt::Handle mMaxModulesArgs; //!< Maximum number of arguments to modules. + Float::Handle mCompressProba; //!< Probability of compressing a given module in tree. + +}; + +} +} + +#endif // Beagle_GP_ModuleCompressOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ModuleExpandOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ModuleExpandOp.hpp new file mode 100644 index 0000000..0c198e7 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ModuleExpandOp.hpp @@ -0,0 +1,98 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/ModuleExpandOp.hpp + * \brief Definition of ModuleExpandOp. + * \author Matthew Walker + * \author Christian Gagne + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +#ifndef Beagle_GP_ModuleExpandOp_hpp +#define Beagle_GP_ModuleExpandOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/System.hpp" +#include "beagle/Context.hpp" +#include "beagle/Float.hpp" +#include "beagle/String.hpp" +#include "beagle/GP/System.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Tree.hpp" +#include "beagle/GP/Individual.hpp" +#include "beagle/GP/Deme.hpp" + +namespace Beagle { +namespace GP { + + +/*! + * \brief Expand operator for evolutionary module acquisition, expand an existing module in a tree. + * \ingroup GPF + * \ingroup EMA + */ +class ModuleExpandOp : public Operator { + +public: + + //! ModuleExpandOp allocator type. + typedef AbstractAllocT + Alloc; + //! ModuleExpandOp handle type. + typedef PointerT + Handle; + //! ModuleExpandOp bag type. + typedef ContainerT + Bag; + + explicit ModuleExpandOp(string inName="GP-ModuleExpandOp"); + virtual ~ModuleExpandOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual void expand(unsigned int inNodeToExpand, GP::Tree& ioTree, GP::Context& ioContext); + virtual void operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext); + +protected: + + String::Handle mModulePrimitName; //!< Name of modules primitives. + Float::Handle mExpandProba; //!< Probability of expanding a given module in tree. + +}; + +} +} + +#endif // Beagle_GP_ModuleExpandOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ModuleVectorComponent.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ModuleVectorComponent.hpp new file mode 100644 index 0000000..ad034ed --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ModuleVectorComponent.hpp @@ -0,0 +1,153 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/ModuleVectorComponent.hpp + * \brief Definition of the class ModuleVectorComponent. + * \author Matthew Walker + * \author Christian Gagne + * $Revision: 1.4.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +#ifndef ModuleVectorComponent_hpp +#define ModuleVectorComponent_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Component.hpp" +#include "beagle/RouletteT.hpp" +#include "beagle/GP/Tree.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \brief Vector of modules for evolutionary module acquisition. + * \ingroup GPF + * \ingroup EMA + */ +class ModuleVectorComponent : public Component { + +public: + + //! ModuleVectorComponent allocator type. + typedef AllocatorT + Alloc; + //! ModuleVectorComponent handle type. + typedef PointerT + Handle; + //! ModuleVectorComponent bag type. + typedef ContainerT + Bag; + + explicit ModuleVectorComponent(GP::Tree::Alloc::Handle inTreeAlloc=new GP::Tree::Alloc); + virtual ~ModuleVectorComponent() { } + + /*! + * \brief Get the nth module. + * \param inN Index of the module to get. + * \return Reference to the tree handle, that is the nth module. + */ + inline const GP::Tree::Handle& operator[](unsigned int inN) const + { + Beagle_StackTraceBeginM(); + return mModules[inN]; + Beagle_StackTraceEndM("const GP::Tree::Handle& GP::ModuleVectorComponent::operator[](unsigned int inN) const"); + } + + /*! + * \brief Get the nth module. + * \param inN Index of the module to get. + * \return Reference to the tree handle, that is the nth module. + */ + inline GP::Tree::Handle& operator[](unsigned int inN) + { + Beagle_StackTraceBeginM(); + return mModules[inN]; + Beagle_StackTraceEndM("GP::Tree::Handle& GP::ModuleVectorComponent::operator[](unsigned int inN)"); + } + + virtual void readWithSystem(PACC::XML::ConstIterator inIter, Beagle::System& ioSystem); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Add a new GP tree to the vector component. + * \param inTree GP tree added. + */ + inline void add(GP::Tree::Handle inTree) + { + Beagle_StackTraceBeginM(); + mModules.push_back(inTree); + Beagle_StackTraceEndM("void GP::ModuleVectorComponent::add(GP::Tree::Handle inTree)"); + } + + /*! + * \return True if there is no module acquired, false if not. + */ + inline bool empty() const + { + Beagle_StackTraceBeginM(); + return mModules.empty(); + Beagle_StackTraceEndM("bool GP::ModuleVectorComponent::empty() const"); + } + + /*! + * \brief Resize the module vector component. + * \param inSize New size of the module vector. + */ + inline void resize(unsigned int inSize) + { + Beagle_StackTraceBeginM(); + mModules.resize(inSize); + Beagle_StackTraceEndM("void GP::ModuleVectorComponent::resize(unsigned int inSize)"); + } + + /*! + * \return Number of module in the module vector. + */ + inline unsigned int size() const + { + Beagle_StackTraceBeginM(); + return mModules.size(); + Beagle_StackTraceEndM("unsigned int GP::ModuleVectorComponent::size() const"); + } + +protected: + + GP::Tree::Bag mModules; //!< Vector of the modules acquired. + +}; + +} +} + +#endif // ModuleVectorComponent_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MultiplyT.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MultiplyT.hpp new file mode 100644 index 0000000..beedeeb --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MultiplyT.hpp @@ -0,0 +1,173 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/MultiplyT.hpp + * \brief Definition of the templated class GP::MultiplyT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +#ifndef Beagle_GP_MultiplyT_hpp +#define Beagle_GP_MultiplyT_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class MultiplyT beagle/GP/MultiplyT.hpp "beagle/GP/MultiplyT.hpp" + * \brief GP generic 2 arguments multiplication primitive class. + * \param T Type of the data added. operator* must be properly defined for this type. + * \ingroup GPF + * \ingroup Primit + * \ingroup MathPrimit + */ +template +class MultiplyT : public Primitive { + +public: + + //! GP::MultiplyT allocator type. + typedef AllocatorT,Primitive::Alloc> + Alloc; + //! GP::MultiplyT handle type. + typedef PointerT,Primitive::Handle> + Handle; + //! GP::MultiplyT bag type. + typedef ContainerT,Primitive::Bag> + Bag; + + explicit MultiplyT(string inName="MUL"); + virtual ~MultiplyT() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(Beagle::GP::Datum& outResult, Beagle::GP::Context& ioContext); + +}; + + +/*! + * \brief Multiply primitive for the double type. + */ +typedef MultiplyT + Multiply; + +} +} + + +/*! + * \brief Construct a new multiplication primitive. + * \param inName Name of the multiplication primitive. + */ +template +Beagle::GP::MultiplyT::MultiplyT(string inName) : + Beagle::GP::Primitive(2, inName) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive MultiplyT. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type needed. + * \throw AssertException If the index inN given is greater than 1. + */ +template +const std::type_info* Beagle::GP::MultiplyT::getArgType(unsigned int inN, + Beagle::GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN<2); + return &typeid(T); + Beagle_StackTraceEndM("const std::type_info* GP::MultiplyT::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the tag of the type of data return by primitive MultiplyT. + * \param inDesiredType Desired return type. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +template +const std::type_info* Beagle::GP::MultiplyT::getReturnType(Beagle::GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(T); + Beagle_StackTraceEndM("const std::type_info* GP::MultiplyT::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Execute the characteristic operation of the multiplication primitive. + * \param outResult Result of the multiplication. + * \param ioContext Evolutionary context. + * \warning operator*= must be properly defined for the type T, the type of data added. + */ +template +void Beagle::GP::MultiplyT::execute(Beagle::GP::Datum& outResult, Beagle::GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + T& lResult = castObjectT(outResult); + T lArg2; + get1stArgument(lResult, ioContext); + get2ndArgument(lArg2, ioContext); + lResult *= lArg2; + Beagle_StackTraceEndM("void GP::MultiplyT::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} + + +#endif // Beagle_GP_MultiplyT_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationEphemeralDoubleOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationEphemeralDoubleOp.hpp new file mode 100644 index 0000000..69ef675 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationEphemeralDoubleOp.hpp @@ -0,0 +1,102 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/MutationEphemeralDoubleOp.hpp + * \brief Definition and implementation of class GP::MutationEphemeralDoubleOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:04 $ + */ + +#ifndef Beagle_GP_MutationEphemeralDoubleOp_hpp +#define Beagle_GP_MutationEphemeralDoubleOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Float.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/System.hpp" +#include "beagle/GP/Individual.hpp" +#include "beagle/GP/EphemeralT.hpp" +#include "beagle/GP/MutationEphemeralOpT.hpp" + +namespace Beagle { +namespace GP { + + +/*! + * \class MutationEphemeralDoubleOp beagle/GP/MutationEphemeralDoubleOp.hpp + * "beagle/GP/MutationEphemeralDoubleOp.hpp" + * \brief GP ephemeral mutation operator class, change value of Double-typed + * ephemeral constants. + * \ingroup GPF + * \ingroup GPOp + */ +class MutationEphemeralDoubleOp : public Beagle::GP::MutationEphemeralOpT { + +public: + + //! GP::MutationEphemeralDoubleOp allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! GP::MutationEphemeralDoubleOp handle type. + typedef PointerT::Handle> + Handle; + //! GP::MutationEphemeralDoubleOp bag type. + typedef ContainerT::Bag> + Bag; + + /*! + * \brief Construct a GP Double-typed ephemeral mutation operator. + * \param inMutationPbName Mutation probability parameter name used in register. + * \param inEphemeralNameParamName Parameter name used to state the name of the ephemeral + * primitive that are mutated. + * \param inName Name of the operator. + */ + explicit MutationEphemeralDoubleOp(string inMutationPbName="gp.mutephdbl.indpb", + string inEphemeralNameParamName="gp.mutephdbl.primit", + string inName="GP-MutationEphemeralDoubleOp") : + Beagle::GP::MutationEphemeralOpT(inMutationPbName, inEphemeralNameParamName, inName) + { } + + virtual ~MutationEphemeralDoubleOp() { } + + +}; + +} +} + + +#endif // Beagle_GP_MutationEphemeralDoubleOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationEphemeralOpT.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationEphemeralOpT.hpp new file mode 100644 index 0000000..bf3f755 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationEphemeralOpT.hpp @@ -0,0 +1,297 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/MutationEphemeralOpT.hpp + * \brief Definition and implementation of template GP::MutationEphemeralOpT. + * \author Christian Gagne + * $Revision: 1.4.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +#ifndef Beagle_GP_MutationEphemeralOpT_hpp +#define Beagle_GP_MutationEphemeralOpT_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Float.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/System.hpp" +#include "beagle/GP/Individual.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/EphemeralT.hpp" + +namespace Beagle { +namespace GP { + + +/*! + * \class MutationEphemeralOpT beagle/GP/MutationEphemeralOpT.hpp + * "beagle/GP/MutationEphemeralOpT.hpp" + * \brief GP ephemeral mutation operator class, change value of ephemeral constants. + * \param T Type of the constants. + * \ingroup GPF + * \ingroup GPOp + */ +template +class MutationEphemeralOpT : public Beagle::MutationOp { + +public: + + //! GP::MutationEphemeralOpT allocator type. + typedef AllocatorT,Beagle::MutationOp::Alloc> + Alloc; + //! GP::MutationEphemeralOpT handle type. + typedef PointerT,Beagle::MutationOp::Handle> + Handle; + //! GP::MutationEphemeralOpT bag type. + typedef ContainerT,Beagle::MutationOp::Bag> + Bag; + + explicit MutationEphemeralOpT(string inMutationPbName="gp.muteph.indpb", + string inEphemeralNameParamName="gp.muteph.primit", + string inName="GP-MutationEphemeralOpT"); + virtual ~MutationEphemeralOpT() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual bool mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + String::Handle mEphemeralName; //!< Name of the ephemeral primitive mutated. + string mEphemeralNameParamName; //!< Name of the ephemeral primitive name parameter. + +}; + +} +} + + +/*! + * \brief Construct a GP ephemeral mutation operator. + * \param inMutationPbName Mutation probability parameter name used in register. + * \param inEphemeralNameParamName Parameter name used to state the name of the ephemeral primitive + * that are mutated. + * \param inName Name of the operator. + */ +template +Beagle::GP::MutationEphemeralOpT::MutationEphemeralOpT(string inMutationPbName, + string inEphemeralNameParamName, + string inName) : + Beagle::MutationOp(inMutationPbName, inName), + mEphemeralNameParamName(inEphemeralNameParamName) +{ } + + +/*! + * \brief Initialize the GP ephemeral mutation operator. + * \param ioSystem System of the evolution. + */ +template +void Beagle::GP::MutationEphemeralOpT::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle::MutationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + ioSystem.getRegister().deleteEntry(mMutationPbName); + } + + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + mMutationProba = castHandleT(ioSystem.getRegister()[mMutationPbName]); + } else { + mMutationProba = new Float(float(0.05)); + string lLongDescrip = "Ephemeral mutation probability for an individual. "; + lLongDescrip += "A ephemeral mutation change the value of a specific primitive."; + Register::Description lProbaDescription( + "Ephemeral mutation probability", + "Float", + "0.05", + lLongDescrip + ); + ioSystem.getRegister().addEntry(mMutationPbName, mMutationProba, lProbaDescription); + } + + if(ioSystem.getRegister().isRegistered(mEphemeralNameParamName)) { + mEphemeralName = castHandleT(ioSystem.getRegister()[mEphemeralNameParamName]); + } else { + mEphemeralName = new String("E"); + Register::Description lDescription( + "Ephemeral primitive name", + "String", + "E", + string("Name of the ephemeral primitive for which the values are modified ")+ + string("by the ephemeral mutation operator.") + ); + ioSystem.getRegister().addEntry(mEphemeralNameParamName, mEphemeralName, lDescription); + } + Beagle_StackTraceEndM("void Beagle::GP::MutationEphemeralOpT::initialize(Beagle::System& ioSystem)"); +} + + +/*! + * \brief Mutating ephemerals values of a GP individual. + * \param ioIndividual GP individual to mutate ephemerals value. + * \param ioContext Context of the evolution. + * \return True if the individual is effectively mutated, false if not. + */ +template +bool Beagle::GP::MutationEphemeralOpT::mutate(Beagle::Individual& ioIndividual, + Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_LogDetailedM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationEphemeralOpT", + string("Mutating ")+uint2ordinal(ioContext.getGenotypeIndex()+1)+ + string(" individual with GP::MutationEphemeralOpT") + ); + + GP::Individual& lIndividual = castObjectT(ioIndividual); + GP::Context& lContext = castObjectT(ioContext); + + // Get index of potential primitives with parameters that can be selected for mutation. + std::vector< std::pair, + BEAGLE_STLALLOCATOR< std::pair > > lPotentialParam; + for(unsigned int i=0; igetName() == *mEphemeralName) { + lPotentialParam.push_back(std::make_pair(i,j)); + } + } + } + + // Return if there is not potential parameters. + if(lPotentialParam.empty()) return false; + + // Mutating a primitive + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationEphemeralOpT", + string("Individual before GP parameters mutation: ")+ + ioIndividual.serialize() + ); + + // Store original context values + unsigned int lOldGenotypeIndex = lContext.getGenotypeIndex(); + GP::Tree::Handle lOldGenotypeHandle = lContext.getGenotypeHandle(); + + // Get reference to primitive to mutate and other objects. + const unsigned int lSelectedParam = + lContext.getSystem().getRandomizer().rollInteger(0,lPotentialParam.size()-1); + GP::Tree::Handle lSelectedTree = lIndividual[lPotentialParam[lSelectedParam].first]; + lContext.setGenotypeIndex(lPotentialParam[lSelectedParam].first); + lContext.setGenotypeHandle(lSelectedTree); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationEphemeralOpT", + string("Mutating the parameter of the ")+ + uint2ordinal(lPotentialParam[lSelectedParam].second+1)+ + string(" node in the ")+uint2ordinal(lPotentialParam[lSelectedParam].first+1)+ + string(" tree") + ); + + // Mutate parameter value. + GP::Primitive::Handle lSelectedPrimit = + (*lSelectedTree)[lPotentialParam[lSelectedParam].second].mPrimitive; + typename GP::EphemeralT::Handle lSelectedEphemeral = + castHandleT >(lSelectedPrimit); + GP::Primitive::Handle lGeneratedPrimit = + lSelectedEphemeral->generate(mEphemeralName->getWrappedValue(), lContext); + (*lSelectedTree)[lPotentialParam[lSelectedParam].second].mPrimitive = lGeneratedPrimit; + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationEphemeralOpT", + string("Changing the ephemeral from ")+lSelectedPrimit->serialize()+ + string(" to ")+lGeneratedPrimit->serialize() + ); + + // Restore original context values + lContext.setGenotypeIndex(lOldGenotypeIndex); + lContext.setGenotypeHandle(lOldGenotypeHandle); + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationEphemeralOpT", + string("Individual after GP parameters mutation: ")+ + ioIndividual.serialize() + ); + + return true; + Beagle_StackTraceEndM("bool GP::MutationEphemeralOpT::mutate(Individual& ioIndividual, Context& ioContext)"); +} + + +/*! + * \brief Read a mutation operator from XML subtree. + * \param inIter XML iterator to use to read crossover operator. + * \param inOpMap Operator map to use to read crossover operator. + */ +template +void Beagle::GP::MutationEphemeralOpT::readWithMap(PACC::XML::ConstIterator inIter, + Beagle::OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string lMutationPbReadName = inIter->getAttribute("mutationpb").c_str(); + if(lMutationPbReadName.empty() == false) mMutationPbName = lMutationPbReadName; + string lEphemeralNameParamName = inIter->getAttribute("primitname").c_str(); + if(lEphemeralNameParamName.empty() == false) mEphemeralNameParamName = lEphemeralNameParamName; + Beagle_StackTraceEndM("void GP::MutationEphemeralOpT::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write mutation operator into XML streamer. + * \param ioStreamer XML streamer to write mutation operator into. + * \param inIndent Whether XML output should be indented. + */ +template +void Beagle::GP::MutationEphemeralOpT::writeContent(PACC::XML::Streamer& ioStreamer, + bool inIndent) const +{ + Beagle_StackTraceBeginM(); + Beagle::MutationOp::writeContent(ioStreamer, inIndent); + ioStreamer.insertAttribute("primitname", mEphemeralNameParamName); + Beagle_StackTraceEndM("void GP::MutationEphemeralOpT::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + +#endif // Beagle_GP_MutationEphemeralOpT_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationShrinkConstrainedOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationShrinkConstrainedOp.hpp new file mode 100644 index 0000000..fa7f29f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationShrinkConstrainedOp.hpp @@ -0,0 +1,93 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/MutationShrinkConstrainedOp.hpp + * \brief Definition of the class GP::MutationShrinkConstrainedOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#ifndef Beagle_GP_MutationShrinkConstrainedOp_hpp +#define Beagle_GP_MutationShrinkConstrainedOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Float.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/System.hpp" +#include "beagle/GP/Individual.hpp" +#include "beagle/GP/MutationShrinkOp.hpp" + +namespace Beagle { +namespace GP { + +/*! + * \class MutationShrinkConstrainedOp + * beagle/GP/MutationShrinkConstrainedOp.hpp "beagle/GP/MutationShrinkConstrainedOp.hpp" + * \brief Constrained GP tree shrink mutation operator class. + * \ingroup GPF + * \ingroup GPOp + */ +class MutationShrinkConstrainedOp : public MutationShrinkOp { + +public: + + //! GP::MutationShrinkConstrainedOp allocator type. + typedef AllocatorT + Alloc; + //! GP::MutationShrinkConstrainedOp handle type. + typedef PointerT + Handle; + //! GP::MutationShrinkConstrainedOp bag type. + typedef ContainerT + Bag; + + explicit MutationShrinkConstrainedOp(std::string inMutationPbName="gp.mutshrink.indpb", + std::string inName="GP-MutationShrinkConstrainedOp"); + virtual ~MutationShrinkConstrainedOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual bool mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext); + +protected: + + UInt::Handle mNumberAttempts; //!< Number of attempts to shrink mutation an individual. + +}; + +} +} + +#endif // Beagle_GP_MutationShrinkConstrainedOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationShrinkOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationShrinkOp.hpp new file mode 100644 index 0000000..5d6ce71 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationShrinkOp.hpp @@ -0,0 +1,99 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/MutationShrinkOp.hpp + * \brief Definition of the class GP::MutationShrinkOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#ifndef Beagle_GP_MutationShrinkOp_hpp +#define Beagle_GP_MutationShrinkOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Float.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/System.hpp" +#include "beagle/GP/Individual.hpp" + +namespace Beagle { +namespace GP { + +/*! + * \class MutationShrinkOp beagle/GP/MutationShrinkOp.hpp "beagle/GP/MutationShrinkOp.hpp" + * \brief GP Shrink mutation operator class. + * + * This operator shrinks the individuals that are subjected to it. + * The operator randomly chooses a branch in the individual and + * replaces it with one of the branch's arguments (also randomly + * chosen). + * + * For example, let's start with the tree + * \code \endcode + * If node 1 is selected, and node 1's second argument is + * selected, then the tree becomes just + * \code \endcode + * + * \ingroup GPF + * \ingroup GPOp + */ +class MutationShrinkOp : public Beagle::MutationOp { + +public: + + //! GP::MutationShrinkOp allocator type. + typedef AllocatorT + Alloc; + //! GP::MutationShrinkOp handle type. + typedef PointerT + Handle; + //! GP::MutationShrinkOp bag type. + typedef ContainerT + Bag; + + explicit MutationShrinkOp(std::string inMutationPbName="gp.mutshrink.indpb", + std::string inName="GP-MutationShrinkOp"); + virtual ~MutationShrinkOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual bool mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext); + +}; + +} +} + +#endif // Beagle_GP_MutationShrinkOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationStandardConstrainedOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationStandardConstrainedOp.hpp new file mode 100644 index 0000000..44d9a2f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationStandardConstrainedOp.hpp @@ -0,0 +1,97 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/MutationStandardConstrainedOp.hpp + * \brief Definition of the class GP::MutationStandardConstrainedOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#ifndef Beagle_GP_MutationStandardConstrainedOp_hpp +#define Beagle_GP_MutationStandardConstrainedOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Float.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/System.hpp" +#include "beagle/GP/Individual.hpp" +#include "beagle/GP/MutationStandardOp.hpp" +#include "beagle/GP/InitGrowConstrainedOp.hpp" + +namespace Beagle { +namespace GP { + +/*! + * \class MutationStandardConstrainedOp + * beagle/GP/MutationStandardConstrainedOp.hpp "beagle/GP/MutationStandardConstrainedOp.hpp" + * \brief GP standard mutation operator class, as described in Genetic Programming I. + * \ingroup GPF + * \ingroup GPOp + */ +class MutationStandardConstrainedOp : public MutationStandardOp { + +public: + + //! GP::MutationStandardConstrainedOp allocator type. + typedef AllocatorT + Alloc; + //! GP::MutationStandardConstrainedOp handle type. + typedef PointerT + Handle; + //! GP::MutationStandardConstrainedOp bag type. + typedef ContainerT + Bag; + + explicit MutationStandardConstrainedOp(GP::InitializationOp::Handle inInitOp= + new Beagle::GP::InitGrowConstrainedOp, + std::string inMutationPbName="gp.mutstd.indpb", + std::string inMaxRegenDepthName="gp.mutstd.maxdepth", + std::string inName="GP-MutationStandardConstrainedOp"); + virtual ~MutationStandardConstrainedOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual bool mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext); + +protected: + + UInt::Handle mNumberAttempts; //!< Number of attempts in each initialization. + +}; + +} +} + +#endif // Beagle_GP_MutationStandardConstrainedOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationStandardOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationStandardOp.hpp new file mode 100644 index 0000000..7c4fc69 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationStandardOp.hpp @@ -0,0 +1,101 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/MutationStandardOp.hpp + * \brief Definition of the class GP::MutationStandardOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#ifndef Beagle_GP_MutationStandardOp_hpp +#define Beagle_GP_MutationStandardOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Float.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/System.hpp" +#include "beagle/GP/Individual.hpp" +#include "beagle/GP/InitializationOp.hpp" +#include "beagle/GP/InitHalfOp.hpp" + +namespace Beagle { +namespace GP { + +/*! + * \class MutationStandardOp beagle/GP/MutationStandardOp.hpp "beagle/GP/MutationStandardOp.hpp" + * \brief GP standard mutation operator class, as described in Genetic Programming I. + * \ingroup GPF + * \ingroup GPOp + */ +class MutationStandardOp : public Beagle::MutationOp { + +public: + + //! GP::MutationStandardOp allocator type. + typedef AllocatorT + Alloc; + //! GP::MutationStandardOp handle type. + typedef PointerT + Handle; + //! GP::MutationStandardOp bag type. + typedef ContainerT + Bag; + + explicit MutationStandardOp(GP::InitializationOp::Handle inInitOp=new Beagle::GP::InitGrowOp, + std::string inMutationPbName="gp.mutstd.indpb", + std::string inMaxRegenDepthName="gp.mutstd.maxdepth", + std::string inName="GP-MutationStandardOp"); + virtual ~MutationStandardOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual bool mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext); + virtual void postInit(Beagle::System& ioSystem); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + GP::InitializationOp::Handle mInitOp; //!< Initialization operator used to mutate + UInt::Handle mMaxRegenerationDepth; //!< Maximum depth of regeneration. + UInt::Handle mMaxTreeDepth; //!< Maximum allowed depth of trees. + std::string mMaxRegenDepthName; //!< Maximum depth of regeneration parameter name. + +}; + +} +} + +#endif // Beagle_GP_MutationStandardOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationSwapConstrainedOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationSwapConstrainedOp.hpp new file mode 100644 index 0000000..5d3494f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationSwapConstrainedOp.hpp @@ -0,0 +1,94 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/MutationSwapConstrainedOp.hpp + * \brief Definition of the class GP::MutationSwapConstrainedOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#ifndef Beagle_GP_MutationSwapConstrainedOp_hpp +#define Beagle_GP_MutationSwapConstrainedOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Float.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/System.hpp" +#include "beagle/GP/Individual.hpp" +#include "beagle/GP/MutationSwapOp.hpp" + +namespace Beagle { +namespace GP { + +/*! + * \class MutationSwapConstrainedOp + * beagle/GP/MutationSwapConstrainedOp.hpp "beagle/GP/MutationSwapConstrainedOp.hpp" + * \brief Constrained GP tree swap mutation operator class. + * \ingroup GPF + * \ingroup GPOp + */ +class MutationSwapConstrainedOp : public MutationSwapOp { + +public: + + //! GP::MutationSwapConstrainedOp allocator type. + typedef AllocatorT + Alloc; + //! GP::MutationSwapConstrainedOp handle type. + typedef PointerT + Handle; + //! GP::MutationSwapConstrainedOp bag type. + typedef ContainerT + Bag; + + explicit MutationSwapConstrainedOp(std::string inMutationPbName="gp.mutswap.indpb", + std::string inDistribPbName="gp.mutswap.distrpb", + std::string inName="GP-MutationSwapConstrainedOp"); + virtual ~MutationSwapConstrainedOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual bool mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext); + +protected: + + UInt::Handle mNumberAttempts; //!< Number of attempts to swap mutate an individual. + +}; + +} +} + +#endif // Beagle_GP_MutationSwapConstrainedOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationSwapOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationSwapOp.hpp new file mode 100644 index 0000000..76ae74b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationSwapOp.hpp @@ -0,0 +1,108 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/MutationSwapOp.hpp + * \brief Definition of the class GP::MutationSwapOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#ifndef Beagle_GP_MutationSwapOp_hpp +#define Beagle_GP_MutationSwapOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Float.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/System.hpp" +#include "beagle/GP/Individual.hpp" + +namespace Beagle { +namespace GP { + +/*! + * \class MutationSwapOp beagle/GP/MutationSwapOp.hpp "beagle/GP/MutationSwapOp.hpp" + * \brief GP swap mutation operator class. + * + * This operator mutates the individuals that are subjected to it. + * The operator randomly chooses a primitive in the individual and + * replaces it with a randomly selected primitive that takes the same + * number of arguments. + * + * For example, let's start with the tree + * \code \endcode + * If node 1 is selected ("ADD"), then a primitive that + * takes two arguments would be found. Say "SUB" was chosen, then + * the tree would become + * \code \endcode + * + * \ingroup GPF + * \ingroup GPOp + */ +class MutationSwapOp : public Beagle::MutationOp { + +public: + + //! GP::MutationSwapOp allocator type. + typedef AllocatorT + Alloc; + //! GP::MutationSwapOp handle type. + typedef PointerT + Handle; + //! GP::MutationSwapOp bag type. + typedef ContainerT + Bag; + + explicit MutationSwapOp(std::string inMutationPbName="gp.mutswap.indpb", + std::string inDistribPbName="gp.mutswap.distrpb", + std::string inName="GP-MutationSwapOp"); + virtual ~MutationSwapOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual bool mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + Float::Handle mDistributionProba; //!< Swap mutation distribution probability. + std::string mDistribPbName; //!< Swap mutation distribution prob. parameter name. + +}; + +} +} + +#endif // Beagle_GP_MutationSwapOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationSwapSubtreeConstrainedOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationSwapSubtreeConstrainedOp.hpp new file mode 100644 index 0000000..9be6eaa --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationSwapSubtreeConstrainedOp.hpp @@ -0,0 +1,95 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/MutationSwapSubtreeConstrainedOp.hpp + * \brief Definition of the class GP::MutationSwapSubtreeConstrainedOp. + * \author Christian Gagne + * \author Jianjun Hu + * \author Marc Parizeau + * $Revision: 1.5.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#ifndef Beagle_GP_MutationSwapSubtreeConstrainedOp_hpp +#define Beagle_GP_MutationSwapSubtreeConstrainedOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Float.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/System.hpp" +#include "beagle/GP/Individual.hpp" +#include "beagle/GP/MutationSwapSubtreeOp.hpp" + +namespace Beagle { +namespace GP { + +/*! + * \brief Constrained GP tree swap subtree mutation operator class. + * + * There is two kind of swap subtree mutation operations: internal mutation and external mutation. + * Internal swap subtree mutation is done by using three mutation points, where the 2nd point is + * within the 1st point's subtree, and the 3rd point is within the 2nd point's subtree. The + * exchange is done by 1) exchanging the 2nd point with the 1st point, 2) exchanging the 1st + * point with the 3rd point, and 3) exchanging the 3rd point with the 2nd point. The structure of the + * tree, which is originally 1-2-3, is changed for 2-1-3. The external swap subtree mutation is + * done by exchanging two subtrees of the same individual, where the two subtrees are not within + * the other subtree. + */ +class MutationSwapSubtreeConstrainedOp : public MutationSwapSubtreeOp { + +public: + + //! GP::MutationSwapSubtreeConstrainedOp allocator type. + typedef AllocatorT + Alloc; + //! GP::MutationSwapSubtreeConstrainedOp handle type. + typedef PointerT + Handle; + //! GP::MutationSwapSubtreeConstrainedOp bag type. + typedef ContainerT + Bag; + + explicit MutationSwapSubtreeConstrainedOp(std::string inMutationPbName="gp.mutsst.indpb", + std::string inDistribPbName="gp.mutsst.distrpb", + std::string inName="GP-MutationSwapSubtreeConstrainedOp"); + virtual ~MutationSwapSubtreeConstrainedOp() { } + + virtual bool mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext); + +}; + +} +} + +#endif // Beagle_GP_MutationSwapSubtreeConstrainedOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationSwapSubtreeOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationSwapSubtreeOp.hpp new file mode 100644 index 0000000..6cd97a2 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/MutationSwapSubtreeOp.hpp @@ -0,0 +1,107 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/MutationSwapSubtreeOp.hpp + * \brief Definition of the class GP::MutationSwapSubtreeOp. + * \author Christian Gagne + * \author Jianjun Hu + * \author Marc Parizeau + * $Revision: 1.6.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#ifndef Beagle_GP_MutationSwapSubtreeOp_hpp +#define Beagle_GP_MutationSwapSubtreeOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Float.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/System.hpp" +#include "beagle/GP/Individual.hpp" + +namespace Beagle { +namespace GP { + +/*! + * \brief GP swap subtree mutation operator class. + * + * There is two kind of swap subtree mutation operations: internal mutation and external mutation. + * Internal swap subtree mutation is done by using three mutation points, where the 2nd point is + * within the 1st point's subtree, and the 3rd point is within the 2nd point's subtree. The + * exchange is done by 1) exchanging the 2nd point with the 1st point, 2) exchanging the 1st + * point with the 3rd point, and 3) exchanging the 3rd point with the 2nd point. The structure of the + * tree, which is originally 1-2-3, is changed for 2-1-3. The external swap subtree mutation is + * done by exchanging two subtrees of the same individual, where the two subtrees are not within + * the other subtree. + */ +class MutationSwapSubtreeOp : public Beagle::MutationOp { + +public: + + //! GP::MutationSwapSubtreeOp allocator type. + typedef AllocatorT + Alloc; + //! GP::MutationSwapSubtreeOp handle type. + typedef PointerT + Handle; + //! GP::MutationSwapSubtreeOp bag type. + typedef ContainerT + Bag; + + explicit MutationSwapSubtreeOp(std::string inMutationPbName="gp.mutsst.indpb", + std::string inDistribPbName="gp.mutsst.distrpb", + std::string inName="GP-MutationSwapSubtreeOp"); + virtual ~MutationSwapSubtreeOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual bool mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + void exchangeSubTrees(GP::Tree& ioTree1, unsigned int inNode1, GP::Context& ioContext1, + GP::Tree& ioTree2, unsigned int inNode2, GP::Context& ioContext2); + + Float::Handle mDistributionProba; //!< Distribution probability of subtree swap. + UInt::Handle mMaxTreeDepth; //!< Maximum allowed depth of trees. + UInt::Handle mNumberAttempts; //!< Number of attempts in each initialization. + std::string mDistribPbName; //!< Swap subtree mutation distribution prob. parameter name. + +}; + +} +} + +#endif // Beagle_GP_MutationSwapSubtreeOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Nand.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Nand.hpp new file mode 100644 index 0000000..6b3eef5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Nand.hpp @@ -0,0 +1,99 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Nand.hpp + * \brief Definition of the templated class GP::Nand. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +#ifndef Beagle_GP_Nand_hpp +#define Beagle_GP_Nand_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class Nand beagle/GP/Nand.hpp "beagle/GP/Nand.hpp" + * \brief GP boolean NAND primitive class. + * \ingroup GPF + * \ingroup Primit + * \ingroup BoolPrimit + */ +class Nand : public Primitive { + +public: + + //! GP::Nand allocator type. + typedef AllocatorT + Alloc; + //! GP::Nand handle type. + typedef PointerT + Handle; + //! GP::Nand bag type. + typedef ContainerT + Bag; + + explicit Nand(string inName="NAND"); + virtual ~Nand() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + +}; + +} +} + + +#endif // Beagle_GP_Nand_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Nor.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Nor.hpp new file mode 100644 index 0000000..2dee699 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Nor.hpp @@ -0,0 +1,99 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Nor.hpp + * \brief Definition of the templated class GP::Nor. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +#ifndef Beagle_GP_Nor_hpp +#define Beagle_GP_Nor_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class Nor beagle/GP/Nor.hpp "beagle/GP/Nor.hpp" + * \brief GP boolean NOR primitive class. + * \ingroup GPF + * \ingroup Primit + * \ingroup BoolPrimit + */ +class Nor : public Primitive { + +public: + + //! GP::Nor allocator type. + typedef AllocatorT + Alloc; + //! GP::Nor handle type. + typedef PointerT + Handle; + //! GP::Nor bag type. + typedef ContainerT + Bag; + + explicit Nor(string inName="NOR"); + virtual ~Nor() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + +}; + +} +} + + +#endif // Beagle_GP_Nor_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Not.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Not.hpp new file mode 100644 index 0000000..37a600f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Not.hpp @@ -0,0 +1,99 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Not.hpp + * \brief Definition of the templated class GP::Not. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +#ifndef Beagle_GP_Not_hpp +#define Beagle_GP_Not_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class Not beagle/GP/Not.hpp "beagle/GP/Not.hpp" + * \brief GP boolean NOT primitive class. + * \ingroup GPF + * \ingroup Primit + * \ingroup BoolPrimit + */ +class Not : public Primitive { + +public: + + //! GP::Not allocator type. + typedef AllocatorT + Alloc; + //! GP::Not handle type. + typedef PointerT + Handle; + //! GP::Not bag type. + typedef ContainerT + Bag; + + explicit Not(string inName="NOT"); + virtual ~Not() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + +}; + +} +} + + +#endif // Beagle_GP_Not_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Or.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Or.hpp new file mode 100644 index 0000000..78e1cd5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Or.hpp @@ -0,0 +1,99 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Or.hpp + * \brief Definition of the templated class GP::Or. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +#ifndef Beagle_GP_Or_hpp +#define Beagle_GP_Or_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class Or beagle/GP/Or.hpp "beagle/GP/Or.hpp" + * \brief GP boolean OR primitive class. + * \ingroup GPF + * \ingroup Primit + * \ingroup BoolPrimit + */ +class Or : public Primitive { + +public: + + //! GP::Or allocator type. + typedef AllocatorT + Alloc; + //! GP::Or handle type. + typedef PointerT + Handle; + //! GP::Or bag type. + typedef ContainerT + Bag; + + explicit Or(string inName="OR"); + virtual ~Or() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + +}; + +} +} + + +#endif // Beagle_GP_Or_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Primitive.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Primitive.hpp new file mode 100644 index 0000000..8345df3 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Primitive.hpp @@ -0,0 +1,152 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Primitive.hpp + * \brief Definition of the type GP::Primitive. + * \author Christian Gagne + * \author Marc Parizeau + * \author Matthew Walker + * $Revision: 1.15.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +/*! + * \defgroup Primit GP Primitives + * \ingroup GPF + * \brief Genetic programming primitives mechanism and library, part of the GP framework. + */ + +#ifndef Beagle_GP_Primitive_hpp +#define Beagle_GP_Primitive_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/NamedObject.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/Container.hpp" +#include "beagle/System.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + +namespace Beagle { +namespace GP { + + +// Forward declaration. +class Context; +class System; + + +/*! + * \class Primitive beagle/GP/Primitive.hpp "beagle/GP/Primitive.hpp" + * \brief The GP primitive class. + * \ingroup GPF + * \ingroup Primit + */ +class Primitive : public NamedObject { + +public: + + //! Specify the constants for specific kind of primitive arguments. + enum ArgumentKind {eTerminal=0, eBranch=(UINT_MAX-1), eAny=UINT_MAX}; + + //! GP::Primitive allocator type. + typedef AbstractAllocT + Alloc; + //! GP::Primitive handle type. + typedef PointerT + Handle; + //! GP::Primitive bag type. + typedef ContainerT + Bag; + + explicit Primitive(unsigned int inNumberArguments=GP::Primitive::eAny, + string inName="UnnamedPrimitive"); + virtual ~Primitive() { } + + /*! + * \brief Execute the caracteristic primitive operation. + * \param outDatum Result of the execution. + * \param ioContext Evolutionary context. + */ + virtual void execute(GP::Datum& outDatum, GP::Context& ioContext) =0; + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + unsigned int getChildrenNodeIndex(unsigned int inN, GP::Context& ioContext) const; + inline unsigned int getNumberArguments() const; + virtual double getSelectionWeight(unsigned int inNumberArguments, + GP::Context& ioContext) const; + virtual void getValue(Object& outValue); + virtual bool haveValue() const; + virtual Handle giveReference(unsigned int inNumberArguments, GP::Context& ioContext); + virtual bool isEqual(const Object& inRightObj) const; + virtual bool isSelectionWeightStable(unsigned int inNumberArguments) const; + virtual void initialize(GP::System& ioSystem); + virtual void readWithContext(PACC::XML::ConstIterator inIter, GP::Context& ioContext); + inline void setNumberArguments(unsigned int inNumberArguments); + virtual void setValue(const Object& inValue); + virtual bool validate(GP::Context& ioContext) const; + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + inline unsigned int getArgumentIndex(unsigned int inN, + Beagle::GP::Context& ioContext) const; + inline void getArgument(unsigned int inN, + Beagle::GP::Datum& outResult, + Beagle::GP::Context& ioContext); + inline void getArguments(Beagle::GP::Datum outResults[], + size_t inSizeTDatum, + Beagle::GP::Context& ioContext); + inline void get1stArgument(Beagle::GP::Datum& outResult, Beagle::GP::Context& ioContext); + inline void get2ndArgument(Beagle::GP::Datum& outResult, Beagle::GP::Context& ioContext); + inline void get3rdArgument(Beagle::GP::Datum& outResult, Beagle::GP::Context& ioContext); + +private: + + unsigned int mNumberArguments; //!< Number of arguments of the primitive. + +}; + +} +} + +#endif // Beagle_GP_Primitive_hpp + + diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/PrimitiveInline.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/PrimitiveInline.hpp new file mode 100644 index 0000000..102195c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/PrimitiveInline.hpp @@ -0,0 +1,269 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/PrimitiveInline.hpp + * \brief Implementation of some inlined methods of GP::Primitive. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.2 $ + * $Date: 2007/09/10 18:24:11 $ + */ + +#ifndef Beagle_GP_PrimitiveInline_hpp +#define Beagle_GP_PrimitiveInline_hpp + +#include "beagle/GP/Tree.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Primitive.hpp" + + +/*! + * \brief Get index in the GP tree of the Nth argument to actual primitive. + * \param inN Number of the argument to get the index from in the GP tree. + * \param ioContext Evolutionary context. + */ +inline unsigned int Beagle::GP::Primitive::getArgumentIndex(unsigned int inN, + Beagle::GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + GP::Tree& lActualTree = ioContext.getGenotype(); + unsigned int lNodeIndex = ioContext.getCallStackTop() + 1; + for(unsigned int i=0; igetName()+string("\" of the ")+uint2ordinal(lNodeIndex+1)+ + string(" node of the ")+uint2ordinal(ioContext.getGenotypeIndex()+1)+" tree" + ); + lActualTree[lNodeIndex].mPrimitive->execute(outResult, ioContext); + ioContext.popCallStack(); + Beagle_StackTraceEndM("void GP::Primitive::getArgument(unsigned int inN, GP::Datum& outResult, GP::Context& ioContext)"); +} + + +/*! + * \brief Get the value of the arguments. + * \param outResults Value of the arguments. Array of the good size must be allocated. + * \param inSizeTDatum Size (in byte) of each datum of the array. + * \param ioContext Evolutionary context. + * \throw Beagle::AssertException If the size of the bag doesn't match the nb. of arguments. + * \throw Beagle::GP::MaxNodesExecutionException If number of nodes execution is more than allowed. + * \throw Beagle::GP::MaxTimeExecutionException If elapsed execution time is more than allowed. + */ +inline void Beagle::GP::Primitive::getArguments(Beagle::GP::Datum outResults[], + size_t inSizeTDatum, + Beagle::GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + using namespace Beagle; + char* lCharResults = reinterpret_cast(outResults); + GP::Tree& lActualTree = ioContext.getGenotype(); + unsigned int lNodeIndex = ioContext.getCallStackTop() + 1; + ioContext.incrementNodesExecuted(); + ioContext.checkExecutionTime(); + ioContext.pushCallStack(lNodeIndex); + lActualTree[lNodeIndex].mPrimitive->execute(*outResults, ioContext); + ioContext.popCallStack(); + for(unsigned int i=1; i(lCharResults + (i*inSizeTDatum)); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "primitive", "Beagle::GP::Primitive", + string("Executing the primitive \"")+ + lActualTree[lNodeIndex].mPrimitive->getName()+string("\" of the ")+ + uint2ordinal(lNodeIndex+1)+string(" node of the ")+ + uint2ordinal(ioContext.getGenotypeIndex()+1)+" tree" + ); + lActualTree[lNodeIndex].mPrimitive->execute(*lResultsI, ioContext); + ioContext.popCallStack(); + } + Beagle_StackTraceEndM("void GP::Primitive::getArguments(GP::Datum outResults[], size_t inSizeTDatum, GP::Context& ioContext)"); +} + + +/*! + * \brief Get the value of the first argument. + * \param outResult Value of the first argument. + * \param ioContext Evolutionary context. + * \throw Beagle::AssertException If there is no argument to the primitive. + * \throw Beagle::GP::MaxNodesExecutionException If number of nodes execution is more than allowed. + * \throw Beagle::GP::MaxTimeExecutionException If elapsed execution time is more than allowed. + */ +inline void Beagle::GP::Primitive::get1stArgument(Beagle::GP::Datum& outResult, + Beagle::GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + using namespace Beagle; + Beagle_AssertM(getNumberArguments() >= 1); + unsigned int lNodeIndex = ioContext.getCallStackTop() + 1; + ioContext.incrementNodesExecuted(); + ioContext.checkExecutionTime(); + ioContext.pushCallStack(lNodeIndex); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "primitive", "Beagle::GP::Primitive", + string("Executing the primitive \"")+ + ioContext.getGenotype()[lNodeIndex].mPrimitive->getName()+string("\" of the ")+ + uint2ordinal(lNodeIndex+1)+string(" node of the ")+ + uint2ordinal(ioContext.getGenotypeIndex()+1)+" tree" + ); + ioContext.getGenotype()[lNodeIndex].mPrimitive->execute(outResult, ioContext); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "primitive", "Beagle::GP::Primitive", + string("Result of executing \"")+ + ioContext.getGenotype()[lNodeIndex].mPrimitive->getName()+string("\": ")+ + outResult.serialize() + ); + ioContext.popCallStack(); + Beagle_StackTraceEndM("void GP::Primitive::get1stArgument(GP::Datum& outResult, GP::Context& ioContext)"); +} + + +/*! + * \brief Get the value of the second argument. + * \param outResult Value of the second argument. + * \param ioContext Evolutionary context. + * \throw Beagle::AssertException If there is no third argument to the primitive. + * \throw Beagle::GP::MaxNodesExecutionException If number of nodes execution is more than allowed. + * \throw Beagle::GP::MaxTimeExecutionException If elapsed execution time is more than allowed. + */ +inline void Beagle::GP::Primitive::get2ndArgument(Beagle::GP::Datum& outResult, + Beagle::GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + using namespace Beagle; + Beagle_AssertM(getNumberArguments() >= 2); + GP::Tree& lActualTree = ioContext.getGenotype(); + unsigned int lNodeIndex = getArgumentIndex(1, ioContext); + ioContext.incrementNodesExecuted(); + ioContext.checkExecutionTime(); + ioContext.pushCallStack(lNodeIndex); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "primitive", "Beagle::GP::Primitive", + string("Executing the primitive \"")+ + lActualTree[lNodeIndex].mPrimitive->getName()+string("\" of the ")+ + uint2ordinal(lNodeIndex+1)+string(" node of the ")+ + uint2ordinal(ioContext.getGenotypeIndex()+1)+" tree" + ); + lActualTree[lNodeIndex].mPrimitive->execute(outResult, ioContext); + ioContext.popCallStack(); + Beagle_StackTraceEndM("void GP::Primitive::get2ndArgument(GP::Datum& outResult, GP::Context& ioContext)"); +} + + +/*! + * \brief Get the value of the third argument. + * \param outResult Value of the third argument. + * \param ioContext Evolutionary context. + * \throw Beagle::AssertException If there is no second argument to the primitive. + * \throw Beagle::GP::MaxNodesExecutionException If number of nodes execution is more than allowed. + * \throw Beagle::GP::MaxTimeExecutionException If elapsed execution time is more than allowed. + */ +inline void Beagle::GP::Primitive::get3rdArgument(Beagle::GP::Datum& outResult, + Beagle::GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + using namespace Beagle; + Beagle_AssertM(getNumberArguments() >= 3); + GP::Tree& lActualTree = ioContext.getGenotype(); + unsigned int lNodeIndex = getArgumentIndex(2, ioContext); + ioContext.incrementNodesExecuted(); + ioContext.checkExecutionTime(); + ioContext.pushCallStack(lNodeIndex); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "primitive", "Beagle::GP::Primitive", + string("Executing the primitive \"")+ + lActualTree[lNodeIndex].mPrimitive->getName()+string("\" of the ")+ + uint2ordinal(lNodeIndex+1)+string(" node of the ")+ + uint2ordinal(ioContext.getGenotypeIndex()+1)+" tree" + ); + lActualTree[lNodeIndex].mPrimitive->execute(outResult, ioContext); + ioContext.popCallStack(); + Beagle_StackTraceEndM("void GP::Primitive::get3rdArgument(GP::Datum& outResult, GP::Context& ioContext)"); +} + + +/*! + * \brief Get the number of arguments of the primitive. + * \return Number of arguments of the primitive. + */ +inline unsigned int Beagle::GP::Primitive::getNumberArguments() const +{ + Beagle_StackTraceBeginM(); + return mNumberArguments; + Beagle_StackTraceEndM("unsigned int GP::Primitive::getNumberArguments() const"); +} + + +/*! + * \brief Set the number of arguments of the primitive. + * \param inNumberArguments Number of arguments of the primitive. + */ +inline void Beagle::GP::Primitive::setNumberArguments(unsigned int inNumberArguments) +{ + Beagle_StackTraceBeginM(); + mNumberArguments = inNumberArguments; + Beagle_StackTraceEndM("void GP::Primitive::setNumberArguments(unsigned int inNumberArguments)"); +} + + +#endif // Beagle_GP_PrimitiveInline_hpp + diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/PrimitiveMap.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/PrimitiveMap.hpp new file mode 100644 index 0000000..d3cde71 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/PrimitiveMap.hpp @@ -0,0 +1,92 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/PrimitiveMap.hpp + * \brief Definition of class GP::PrimitiveMap. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.2.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +#ifndef Beagle_GP_PrimitiveMap_hpp +#define Beagle_GP_PrimitiveMap_hpp + +#include +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Map.hpp" +#include "beagle/GP/Primitive.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class PrimitiveMap beagle/GP/PrimitiveMap.hpp "beagle/GP/PrimitiveMap.hpp" + * \brief Associative container using a string as key accessors to the + * GP::Primitive::Handle instances. + * \ingroup GPF + * \ingroup Primit + */ +class PrimitiveMap : public Map { + +public: + + //! PrimitiveMap allocator type. + typedef AllocatorT + Alloc; + //! PrimitiveMap handle type. + typedef PointerT + Handle; + //! PrimitiveMap bag type. + typedef ContainerT + Bag; + + PrimitiveMap() { } + virtual ~PrimitiveMap() { } + + /*! + * \brief Get primitive from the map. + * \param inKey Key associated to the primitive. + * \return Smart pointer to the primitive. + */ + inline GP::Primitive::Handle& operator[](string inKey) + { + Beagle_StackTraceBeginM(); + return castHandleT(Map::operator[](inKey)); + Beagle_StackTraceEndM("GP::Primitive::Handle& GP::PrimitiveMap::operator[](string inKey)"); + } + +}; + +} +} + +#endif // Beagle_GP_PrimitiveMap_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/PrimitiveSet.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/PrimitiveSet.hpp new file mode 100644 index 0000000..e6047c8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/PrimitiveSet.hpp @@ -0,0 +1,160 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/PrimitiveSet.hpp + * \brief Definition of the type GP::PrimitiveSet. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.14.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +#ifndef Beagle_GP_PrimitiveSet_hpp +#define Beagle_GP_PrimitiveSet_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/Container.hpp" +#include "beagle/System.hpp" +#include "beagle/RouletteT.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveMap.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + + +// Forward declaration +class System; + + +/*! + * \class PrimitiveSet beagle/GP/PrimitiveSet.hpp "beagle/GP/PrimitiveSet.hpp" + * \brief The GP primitive set class. + * \ingroup GPF + * \ingroup Primit + * \ingroup GPSys + */ +class PrimitiveSet : public Primitive::Bag { + +public: + + //! GP::PrimitiveSet allocator type. + typedef AllocatorT + Alloc; + //! GP::PrimitiveSet handle type. + typedef PointerT + Handle; + //! GP::PrimitiveSet mixed bag type. + typedef ContainerT + Bag; + +#ifdef BEAGLE_HAVE_RTTI + explicit PrimitiveSet(const std::type_info* inRootType=NULL); +#else // BEAGLE_HAVE_RTTI + PrimitiveSet() { } +#endif // BEAGLE_HAVE_RTTI + + virtual ~PrimitiveSet() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getRootType() const; +#endif // BEAGLE_HAVE_RTTI + + virtual void initialize(GP::System& ioSystem); + virtual void insert(Primitive::Handle inPrimitive, double inBias=1.0); + virtual Primitive::Handle select(unsigned int inNumberArguments, GP::Context& ioContext); + +#ifdef BEAGLE_HAVE_RTTI + virtual Primitive::Handle selectWithType(unsigned int inNumberArguments, + const std::type_info* inDesiredType, + GP::Context& ioContext); +#endif // BEAGLE_HAVE_RTTI + + virtual void readWithContext(PACC::XML::ConstIterator inIter, GP::Context& ioContext); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Get the primitive of the name given. + * \param inName Name of the primitive to get. + * \return Handle to the named primitive, a NULL handle if there is no primitive of the given name. + */ + inline GP::Primitive::Handle getPrimitiveByName(string inName) const + { + Beagle_StackTraceBeginM(); + GP::PrimitiveMap::const_iterator lMapIter = mNames.find(inName); + if(lMapIter == mNames.end()) return GP::Primitive::Handle(NULL); + GP::Primitive::Handle lPrimitive = castHandleT(lMapIter->second); + return lPrimitive; + Beagle_StackTraceEndM("GP::Primitive::Handle GP::PrimitiveSet::getPrimitiveByName(string inName) const"); + } + +#ifdef BEAGLE_HAVE_RTTI + /*! + * \brief Set the associated tree's root type. + * \param inRootType Root type. + */ + inline void setRootType(const std::type_info* inRootType) + { + Beagle_StackTraceBeginM(); + mRootType = inRootType; + Beagle_StackTraceEndM("void GP::PrimitiveSet::setRootType(const std::type_info* inRootType)"); + } +#endif // BEAGLE_HAVE_RTTI + +protected: + + typedef std::pair > RoulettePair; + typedef std::map< unsigned int,RoulettePair,std::less, + BEAGLE_STLALLOCATOR< std::pair > > + RouletteMap; + + std::vector< double,BEAGLE_STLALLOCATOR > mSelectionBiases; //!< Selection biases. + GP::PrimitiveMap mNames; //!< Look-up table (by name). + RouletteMap mRoulettes; //!< Nb. args -> roulette map. + +#ifdef BEAGLE_HAVE_RTTI + const std::type_info* mRootType; //!< Associated root type. Used only with STGP. +#endif // BEAGLE_HAVE_RTTI + +}; + +} +} + +#endif // Beagle_GP_PrimitiveSet_hpp + diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/PrimitiveSuperSet.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/PrimitiveSuperSet.hpp new file mode 100644 index 0000000..edb8dda --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/PrimitiveSuperSet.hpp @@ -0,0 +1,214 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/PrimitiveSuperSet.hpp + * \brief Definition of the type GP::PrimitiveSuperSet. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.11.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + + +#ifndef Beagle_GP_PrimitiveSuperSet_hpp +#define Beagle_GP_PrimitiveSuperSet_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/GP/PrimitiveSet.hpp" + +namespace Beagle { +namespace GP { + + +// Forward declaration +class System; + + +/*! + * \class PrimitiveSuperSet beagle/GP/PrimitiveSuperSet.hpp "beagle/GP/PrimitiveSuperSet.hpp" + * \brief The GP primitive super set class. + * \ingroup GPF + * \ingroup Primit + * \ingroup GPSys + */ +class PrimitiveSuperSet : public Component { + +public: + + //! GP::PrimitiveSuperSet allocator type. + typedef AllocatorT + Alloc; + //! GP::PrimitiveSuperSet handle type. + typedef PointerT + Handle; + //! GP::PrimitiveSuperSet bag type. + typedef ContainerT + Bag; + + explicit PrimitiveSuperSet(GP::PrimitiveSet::Alloc::Handle inPrimitSetAlloc= + new GP::PrimitiveSet::Alloc); + virtual ~PrimitiveSuperSet() { } + + /*! + * \brief Return primitive set at index inIndex. + * \param inIndex Index of primitive set to get access to. + * \return Reference to primitive set accessed. + */ + inline const PrimitiveSet::Handle& operator[](unsigned int inIndex) const + { + Beagle_StackTraceBeginM(); + return mPrimitSets[inIndex]; + Beagle_StackTraceEndM("const PrimitiveSet::Handle& GP::PrimitiveSuperSet::operator[](unsigned int inIndex) const"); + } + + /*! + * \brief Return primitive set at index inIndex. + * \param inIndex Index of primitive set to get access to. + * \return Reference to primitive set accessed. + */ + inline PrimitiveSet::Handle& operator[](unsigned int inIndex) + { + Beagle_StackTraceBeginM(); + return mPrimitSets[inIndex]; + Beagle_StackTraceEndM("PrimitiveSet::Handle& GP::PrimitiveSuperSet::operator[](unsigned int inIndex)"); + } + + virtual void initialize(GP::System& ioSystem); + virtual void insert(PrimitiveSet::Handle inPrimitiveSet); + virtual void readWithSystem(PACC::XML::ConstIterator inIter, Beagle::System& ioSystem); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Add new primitive to the super set. + * \param inPrimitive Primitive to add to the super set. + * + * This primitive is **NOT** necessary used in the primitive sets, it is only available here to + * dynamically configure primitive set, for example when reading a the primitive sets from a + * configuration file. If a primitive of the same name is already in the super set, the added + * primitive will not be inserted in the super set primitives map. + */ + inline void addPrimitive(GP::Primitive::Handle inPrimitive) + { + Beagle_StackTraceBeginM(); + GP::PrimitiveMap::const_iterator lMapIter = mPrimitMap.find(inPrimitive->getName()); + if(lMapIter == mPrimitMap.end()) mPrimitMap[inPrimitive->getName()] = inPrimitive; + Beagle_StackTraceEndM("void GP::PrimitiveSuperSet::addPrimitive(GP::Primitive::Handle inPrimitive)"); + } + + /*! + * \brief Get the primitive of the name given. + * \param inName Name of the primitive to get. + * \return Handle to the named primitive, a NULL handle if there is none with the given name. + */ + inline GP::Primitive::Handle getPrimitiveByName(string inName) const + { + Beagle_StackTraceBeginM(); + GP::PrimitiveMap::const_iterator lMapIter = mPrimitMap.find(inName); + if(lMapIter == mPrimitMap.end()) return GP::Primitive::Handle(NULL); + GP::Primitive::Handle lPrimitive = castHandleT(lMapIter->second); + return lPrimitive; + Beagle_StackTraceEndM("GP::Primitive::Handle GP::PrimitiveSuperSet::getPrimitiveByName(string inName) const"); + } + + /*! + * \return Reference to super set's primitive map. + */ + inline const GP::PrimitiveMap& getPrimitiveMap() const + { + Beagle_StackTraceBeginM(); + return mPrimitMap; + Beagle_StackTraceEndM("const GP::PrimitiveMap& GP::PrimitiveSuperSet::getPrimitiveMap() const"); + } + + /*! + * \return Reference to super set's primitive map. + */ + inline GP::PrimitiveMap& getPrimitiveMap() + { + Beagle_StackTraceBeginM(); + return mPrimitMap; + Beagle_StackTraceEndM("GP::PrimitiveMap& GP::PrimitiveSuperSet::getPrimitiveMap()"); + } + + /*! + * \return Return reference to primitive set bag of the super set. + */ + inline const PrimitiveSet::Bag& getPrimitSetBag() const + { + Beagle_StackTraceBeginM(); + return mPrimitSets; + Beagle_StackTraceEndM("const PrimitiveSet::Bag& GP::PrimitiveSuperSet::getPrimitSetBag() const"); + } + + /*! + * \return Return reference to primitive set bag of the super set. + */ + inline PrimitiveSet::Bag& getPrimitSetBag() + { + Beagle_StackTraceBeginM(); + return mPrimitSets; + Beagle_StackTraceEndM("PrimitiveSet::Bag& GP::PrimitiveSuperSet::getPrimitSetBag()"); + } + + /*! + * \brief Return number of primitive sets of the super set. + */ + inline unsigned int size() const + { + Beagle_StackTraceBeginM(); + return mPrimitSets.size(); + Beagle_StackTraceEndM("unsigned int GP::PrimitiveSuperSet::size() const"); + } + + /*! + * \brief Return true if the are no primitive sets in the super set. + */ + inline bool empty() const + { + Beagle_StackTraceBeginM(); + return mPrimitSets.empty(); + Beagle_StackTraceEndM("bool GP::PrimitiveSuperSet::empty() const"); + } + +protected: + + void addBasicPrimitives(); + + GP::PrimitiveSet::Bag mPrimitSets; //!< Bag of primitive sets. + GP::PrimitiveMap mPrimitMap; //!< Map of available primitives. + +}; + +} +} + +#endif // Beagle_GP_PrimitiveSuperSet_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/PrimitiveUsageStatsOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/PrimitiveUsageStatsOp.hpp new file mode 100644 index 0000000..a7fbcc1 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/PrimitiveUsageStatsOp.hpp @@ -0,0 +1,77 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/PrimitiveUsageStatsOp.hpp + * \brief Definition of the class PrimitiveUsageStatsOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.4.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +#ifndef Beagle_GP_PrimitiveUsageStatsOp_hpp +#define Beagle_GP_PrimitiveUsageStatsOp_hpp + +#include "beagle/Operator.hpp" +#include "beagle/GP/Primitive.hpp" + + +namespace Beagle { +namespace GP { + + +/*! + * \class PrimitiveUsageStatsOp beagle/GP/PrimitiveUsageStatsOp.hpp "beagle/GP/PrimitiveUsageStatsOp.hpp" + * \brief The GP primitive usage statistics operator class. Report usage of primitives. + * \ingroup GPF + * \ingroup Primit + */ +class PrimitiveUsageStatsOp : public Beagle::Operator { + +public: + + //! GP::PrimitiveUsageStatsOp allocator type. + typedef AllocatorT + Alloc; + //! GP::PrimitiveUsageStatsOp handle type. + typedef PointerT + Handle; + //! GP::PrimitiveUsageStatsOp bag type. + typedef ContainerT + Bag; + + explicit PrimitiveUsageStatsOp(string inName="GP-PrimitiveUsageStatsOp"); + virtual ~PrimitiveUsageStatsOp() { } + + virtual void operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext); + +}; + +} +} + +#endif // Beagle_GP_PrimitiveUsageStatsOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ResourcesExceededExecutionException.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ResourcesExceededExecutionException.hpp new file mode 100644 index 0000000..590c32d --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ResourcesExceededExecutionException.hpp @@ -0,0 +1,86 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/ResourcesExceededExecutionException.hpp + * \brief Definition of class GP::ResourcesExceededExecutionException. + * \author Christian Gagne + * \author Matthew Walker + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +#ifndef Beagle_GP_ResourcesExceededExecutionException_hpp +#define Beagle_GP_ResourcesExceededExecutionException_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Exception.hpp" +#include "beagle/GP/ExecutionException.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class ResourcesExceededExecutionException beagle/GP/ResourcesExceededExecutionException.hpp + * "beagle/GP/ResourcesExceededExecutionException.hpp" + * \brief Basic GP exception related to resources management in individuals execution. + * \ingroup GPF + * \ingroup Except + */ +class ResourcesExceededExecutionException : public ExecutionException { + +public: + + //! ResourcesExceededExecutionException allocator type. + typedef AllocatorT + Alloc; + //! ResourcesExceededExecutionException handle type. + typedef PointerT + Handle; + //! ResourcesExceededExecutionException bag type. + typedef ContainerT + Bag; + + explicit ResourcesExceededExecutionException(string inMessage=""); + virtual ~ResourcesExceededExecutionException() throw() { } + + virtual const char* getExceptionName() const throw(); + +}; + +} +} + +#endif // Beagle_GP_ResourcesExceededExecutionException_hpp + diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Sin.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Sin.hpp new file mode 100644 index 0000000..ca6389b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Sin.hpp @@ -0,0 +1,99 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Sin.hpp + * \brief Definition of the templated class GP::Sin. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +#ifndef Beagle_GP_Sin_hpp +#define Beagle_GP_Sin_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Double.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class Sin beagle/GP/Sin.hpp "beagle/GP/Sin.hpp" + * \brief GP sinus primitive class. + * \ingroup GPF + * \ingroup Primit + * \ingroup MathPrimit + */ +class Sin : public Primitive { + +public: + + //! GP::Sin allocator type. + typedef AllocatorT + Alloc; + //! GP::Sin handle type. + typedef PointerT + Handle; + //! GP::Sin bag type. + typedef ContainerT + Bag; + + explicit Sin(string inName="SIN"); + virtual ~Sin() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + +}; + +} +} + + +#endif // Beagle_GP_Sin_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/StatsCalcFitnessKozaOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/StatsCalcFitnessKozaOp.hpp new file mode 100644 index 0000000..84f8a98 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/StatsCalcFitnessKozaOp.hpp @@ -0,0 +1,93 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/StatsCalcFitnessKozaOp.hpp + * \brief Definition of the class StatsCalcFitnessKozaOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +#ifndef Beagle_GP_StatsCalcFitnessKozaOp_hpp +#define Beagle_GP_StatsCalcFitnessKozaOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/Stats.hpp" +#include "beagle/Vivarium.hpp" +#include "beagle/Context.hpp" +#include "beagle/StatsCalculateOp.hpp" + +namespace Beagle { + +namespace GP { + +/*! + * \class StatsCalcFitnessKozaOp beagle/GP/StatsCalcFitnessKozaOp.hpp + * "beagle/GP/StatsCalcFitnessKozaOp.hpp" + * \brief Calculate statistics of a GP deme, for a generation, operator class. + * \ingroup GPF + */ +class StatsCalcFitnessKozaOp : public StatsCalculateOp { + +public: + + //! StatsCalcFitnessKozaOp allocator type + typedef AllocatorT + Alloc; + //! StatsCalcFitnessKozaOp handle type. + typedef PointerT + Handle; + //! StatsCalcFitnessKozaOp bag type. + typedef ContainerT + Bag; + + explicit StatsCalcFitnessKozaOp(string inName="GP-StatsCalcFitnessKozaOp"); + virtual ~StatsCalcFitnessKozaOp() { } + + virtual void calculateStatsDeme(Beagle::Stats& outStats, + Beagle::Deme& ioDeme, + Beagle::Context& ioContext) const; + +}; + +} + +} + +#endif // Beagle_GP_StatsCalcFitnessKozaOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/StatsCalcFitnessSimpleOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/StatsCalcFitnessSimpleOp.hpp new file mode 100644 index 0000000..acc18e5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/StatsCalcFitnessSimpleOp.hpp @@ -0,0 +1,93 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/StatsCalcFitnessSimpleOp.hpp + * \brief Definition of the class GP::StatsCalcFitnessSimpleOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +#ifndef Beagle_GP_StatsCalcFitnessSimpleOp_hpp +#define Beagle_GP_StatsCalcFitnessSimpleOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/Stats.hpp" +#include "beagle/Vivarium.hpp" +#include "beagle/Context.hpp" +#include "beagle/StatsCalculateOp.hpp" +#include "beagle/StatsCalcFitnessSimpleOp.hpp" + +namespace Beagle { +namespace GP { + +/*! + * \class StatsCalcFitnessSimpleOp beagle/GP/StatsCalcFitnessSimpleOp.hpp + * "beagle/GP/StatsCalcFitnessSimpleOp.hpp" + * \brief Calculate statistics of a deme operator class for individual fitness is of the + * type FitnessSimple with individuals made of GP trees. + * \ingroup GPF + */ +class StatsCalcFitnessSimpleOp : public Beagle::StatsCalcFitnessSimpleOp { + +public: + + //! StatsCalcFitnessSimpleOp allocator type + typedef AllocatorT + Alloc; + //! StatsCalcFitnessSimpleOp handle type. + typedef PointerT + Handle; + //! StatsCalcFitnessSimpleOp bag type. + typedef ContainerT + Bag; + + explicit StatsCalcFitnessSimpleOp(string inName="GP-StatsCalcFitnessSimpleOp"); + virtual ~StatsCalcFitnessSimpleOp() { } + + virtual void calculateStatsDeme(Beagle::Stats& outStats, + Beagle::Deme& ioDeme, + Beagle::Context& ioContext) const; + +}; + +} +} + +#endif // Beagle_GP_StatsCalcFitnessSimpleOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/SubtractT.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/SubtractT.hpp new file mode 100644 index 0000000..bd01231 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/SubtractT.hpp @@ -0,0 +1,172 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagn�and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/SubtractT.hpp + * \brief Definition of the templated class GP::SubtractT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +#ifndef Beagle_GP_SubtractT_hpp +#define Beagle_GP_SubtractT_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class SubtractT beagle/GP/SubtractT.hpp "beagle/GP/SubtractT.hpp" + * \brief GP generic 2 arguments subtraction primitive class. + * \param T Type of the data subtratced. operator- must be properly defined for this type. + * \ingroup GPF + * \ingroup Primit + * \ingroup MathPrimit + */ +template +class SubtractT : public Primitive { + +public: + + //! GP::SubtractT allocator type. + typedef AllocatorT,Primitive::Alloc> + Alloc; + //! GP::SubtractT handle type. + typedef PointerT,Primitive::Handle> + Handle; + //! GP::SubtractT bag type. + typedef ContainerT,Primitive::Bag> + Bag; + + explicit SubtractT(string inName="SUB"); + virtual ~SubtractT() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(Beagle::GP::Datum& outResult, Beagle::GP::Context& ioContext); + +}; + + +/*! + * \brief Subtract primitive for the double type. + */ +typedef SubtractT + Subtract; + +} +} + + +/*! + * \brief Construct a new subtraction primitive. + * \param inName Name of the subtraction primitive. + */ +template +Beagle::GP::SubtractT::SubtractT(string inName) : + Beagle::GP::Primitive(2, inName) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive SubtractT. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type needed. + * \throw AssertException If the index inN given is greater than 1. + */ +template +const std::type_info* Beagle::GP::SubtractT::getArgType(unsigned int inN, + Beagle::GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN<2); + return &typeid(T); + Beagle_StackTraceEndM("const std::type_info* GP::SubtractT::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the tag of the type of data return by primitive SubtractT. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +template +const std::type_info* Beagle::GP::SubtractT::getReturnType(Beagle::GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(T); + Beagle_StackTraceEndM("const std::type_info* GP::SubtractT::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Execute the characteristic operation of the subtraction primitive. + * \param outResult Result of the subtraction. + * \param ioContext Evolutionary context. + * \warning operator-= must be properly defined for the type T, the type of data added. + */ +template +void Beagle::GP::SubtractT::execute(Beagle::GP::Datum& outResult, Beagle::GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + T& lResult = castObjectT(outResult); + T lArg2; + get1stArgument(lResult, ioContext); + get2ndArgument(lArg2, ioContext); + lResult -= lArg2; + Beagle_StackTraceEndM("void GP::SubtractT::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} + + +#endif // Beagle_GP_SubtractT_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/System.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/System.hpp new file mode 100644 index 0000000..99db33e --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/System.hpp @@ -0,0 +1,181 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/System.hpp + * \brief Definition of the type GP::System. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +/*! + * \defgroup GPSys GP Evolutionary System + * \ingroup GPF + * \brief Genetic programming evolutionary system components, part of the GP frameowork. + */ + +#ifndef Beagle_GP_System_hpp +#define Beagle_GP_System_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/AssertException.hpp" +#include "beagle/Context.hpp" +#include "beagle/GP/PrimitiveSuperSet.hpp" +#include "beagle/GP/ModuleVectorComponent.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class System beagle/GP/System.hpp "beagle/GP/System.hpp" + * \brief The GP system class. + * \ingroup GPF + * \ingroup GPSys + */ +class System : public Beagle::System { + +public: + + //! GP::System allocator type. + typedef AllocatorT + Alloc; + //! GP::System handle type. + typedef PointerT + Handle; + //! GP::System bag type. + typedef ContainerT + Bag; + + System(); + explicit System(GP::PrimitiveSuperSet::Handle inSuperSet); + explicit System(GP::PrimitiveSuperSet::Handle inSuperSet, + Beagle::Context::Alloc::Handle inGPContextAllocator); + explicit System(GP::PrimitiveSuperSet::Handle inSuperSet, + Beagle::Context::Alloc::Handle inGPContextAllocator, + Randomizer::Handle inRandomizer, + Register::Handle inRegister, + Logger::Handle inLogger, + GP::ModuleVectorComponent::Handle inModuleVector); + explicit System(GP::PrimitiveSet::Handle inSet); + explicit System(GP::PrimitiveSet::Handle inSet, + Beagle::Context::Alloc::Handle inGPContextAllocator); + explicit System(GP::PrimitiveSet::Handle inSet, + Beagle::Context::Alloc::Handle inGPContextAllocator, + Randomizer::Handle inRandomizer, + Register::Handle inRegister, + Logger::Handle inLogger, + GP::ModuleVectorComponent::Handle inModuleVector); + virtual ~System() { } + + virtual void read(PACC::XML::ConstIterator inIter); + + /*! + * \brief Get a constant reference to the GP context allocator of the system. + * \return Constant reference to the GP context allocator. + */ + inline const Beagle::Context::Alloc& getContextAllocator() const + { + Beagle_StackTraceBeginM(); + return castObjectT(*mContextAllocator); + Beagle_StackTraceEndM("const Context::Alloc& GP::System::getContextAllocator() const"); + } + + /*! + * \brief Get reference to the GP context allocator of the system. + * \return Reference to the GP context allocator. + */ + inline Beagle::Context::Alloc& getContextAllocator() + { + Beagle_StackTraceBeginM(); + return castObjectT(*mContextAllocator); + Beagle_StackTraceEndM("Context::Alloc& GP::System::getContextAllocator()"); + } + + /*! + * \brief Get a handle to the GP context allocator of the system. + * \return Handle to the GP context allocator. + */ + inline Beagle::Context::Alloc::Handle getContextAllocatorHandle() + { + Beagle_StackTraceBeginM(); + return castHandleT(mContextAllocator); + Beagle_StackTraceEndM("Context::Alloc::Handle GP::System::getContextAllocatorHandle()"); + } + + /*! + * \brief Get a constant reference to the GP primitive super set of the system. + * \return Constant reference to the GP primitive super set allocator. + */ + inline const GP::PrimitiveSuperSet& getPrimitiveSuperSet() const + { + Beagle_StackTraceBeginM(); + return *mPrimitiveSuperSet; + Beagle_StackTraceEndM("const GP::PrimitiveSuperSet& GP::System::getPrimitiveSuperSet() const"); + } + + /*! + * \brief Get a reference to the GP primitive super set of the system. + * \return Reference to the GP primitive super set allocator. + */ + inline GP::PrimitiveSuperSet& getPrimitiveSuperSet() + { + Beagle_StackTraceBeginM(); + return *mPrimitiveSuperSet; + Beagle_StackTraceEndM("GP::PrimitiveSuperSet& GP::System::getPrimitiveSuperSet()"); + } + + /*! + * \brief Get a handle to the GP primitive super set of the system. + * \return Handle to the GP primitive super set allocator. + */ + inline GP::PrimitiveSuperSet::Handle getPrimitiveSuperSetHandle() + { + Beagle_StackTraceBeginM(); + return mPrimitiveSuperSet; + Beagle_StackTraceEndM("GP::PrimitiveSuperSet::Handle GP::System::getPrimitiveSuperSetHandle()"); + } + +protected: + + GP::PrimitiveSuperSet::Handle mPrimitiveSuperSet; //!< The super set of primitives + +}; + +} +} + +#endif // Beagle_GP_System_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/TermMaxHitsOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/TermMaxHitsOp.hpp new file mode 100644 index 0000000..1b44f52 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/TermMaxHitsOp.hpp @@ -0,0 +1,96 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/TermMaxHitsOp.hpp + * \brief Definition of the type TermMaxHitsOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +#ifndef Beagle_GP_TermMaxHitsOp_hpp +#define Beagle_GP_TermMaxHitsOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/TerminationOp.hpp" +#include "beagle/UInt.hpp" + + +namespace Beagle { +namespace GP { + +/*! + * \class TermMaxHitsOp beagle/GP/TermMaxHitsOp.hpp "beagle/GP/TermMaxHitsOp.hpp" + * \brief Maximum number of hits termination operator. + * \ingroup GPF + * \ingroup GPOp + * \ingroup GPFit + */ +class TermMaxHitsOp : public TerminationOp { + +public: + + //! TermMaxHitsOp allocator type. + typedef AllocatorT + Alloc; + //!< TermMaxHitsOp handle type. + typedef PointerT + Handle; + //!< TermMaxHitsOp bag type. + typedef ContainerT + Bag; + + explicit TermMaxHitsOp(unsigned int inMaxHits=0, string inName="GP-TermMaxHitsOp"); + virtual ~TermMaxHitsOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual bool terminate(const Beagle::Deme& inDeme, Beagle::Context& ioContext); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + UInt::Handle mMaxHits; //!< Number of hits needed to stop an evolution. + unsigned int mMaxHitsDefault; //!< Default value of max. hits parameter. + +}; + +} +} + + +#endif // Beagle_GP_TermMaxHitsOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/TokenT.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/TokenT.hpp new file mode 100644 index 0000000..a684744 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/TokenT.hpp @@ -0,0 +1,242 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/TokenT.hpp + * \brief Definition of the templated class GP::TokenT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +/*! + * \defgroup FunctPrimit Functional GP Primitives + * \ingroup Primit + * \brief Various GP primitives for different purpose (terminals, ADF, randomly generated + * ephemerals), part of the GP primitives module. + */ + +#ifndef Beagle_GP_TokenT_hpp +#define Beagle_GP_TokenT_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class TokenT beagle/GP/TokenT.hpp "beagle/GP/TokenT.hpp" + * \brief GP simple token terminal primitive class. + * \param T Type of the token contained. + * \ingroup GPF + * \ingroup Primit + * \ingroup FunctPrimit + */ +template +class TokenT : public Primitive { + +public: + + //! GP::TokenT allocator type. + typedef AllocatorT,Primitive::Alloc> + Alloc; + //! GP::TokenT handle type. + typedef PointerT,Primitive::Handle> + Handle; + //! GP::TokenT bag type. + typedef ContainerT,Primitive::Bag> + Bag; + + explicit TokenT(string inName="TOKEN"); + explicit TokenT(string inName, const T& inToken); + virtual ~TokenT() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void getValue(Object& outValue); + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + virtual bool haveValue() const; + virtual void setValue(const Object& inValue); + + /*! + * \brief Get the value of the token (const version). + * \return The token value. + */ + inline const T& getToken() const + { + Beagle_StackTraceBeginM(); + return mToken; + Beagle_StackTraceEndM("const T& GP::TokenT::getToken() const"); + } + + /*! + * \brief Get the value of the token. + * \return The token value. + */ + inline T& getToken() + { + Beagle_StackTraceBeginM(); + return mToken; + Beagle_StackTraceEndM("T& GP::TokenT::getToken()"); + } + + /*! + * \brief Set the value of the token. + * \param inToken Value of the token. + */ + inline void setToken(const T& inToken) + { + Beagle_StackTraceBeginM(); + mToken = inToken; + Beagle_StackTraceEndM("void GP::TokenT::setToken(const T& inToken)"); + } + +protected: + + T mToken; //!< Value of the token. + +}; + +} +} + + +/*! + * \brief Construct a new token terminal primitive. + * \param inName Name of the token terminal primitive. + */ +template +Beagle::GP::TokenT::TokenT(string inName) : + Beagle::GP::Primitive(0, inName) +{ } + + +/*! + * \brief Construct a new token terminal primitive. + * \param inName Name of the token terminal primitive. + * \param inToken Initial value of the token terminal. + */ +template +Beagle::GP::TokenT::TokenT(string inName, const T& inToken) : + Beagle::GP::Primitive(0, inName), + mToken(inToken) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data return by primitive TokenT. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +template +const std::type_info* Beagle::GP::TokenT::getReturnType(Beagle::GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(T); + Beagle_StackTraceEndM("const std::type_info* GP::TokenT::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Get the primitive value. + * \param outValue Object in which the actual primitive value is written. + */ +template +void Beagle::GP::TokenT::getValue(Beagle::Object& outValue) +{ + Beagle_StackTraceBeginM(); + T& lValueT = castObjectT(outValue); + lValueT = mToken; + Beagle_StackTraceEndM("void GP::TokenT::getValue(Object& outValue)"); +} + + +/*! + * \brief Execute the characteristic operation of the token terminal. + * \param outResult Result of the operation (copy of the token). + * \param ioContext Evolutionary context. + */ +template +void Beagle::GP::TokenT::execute(Beagle::GP::Datum& outResult, Beagle::GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + T& lResult = castObjectT(outResult); + lResult = mToken; + Beagle_StackTraceEndM("void GP::TokenT::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} + + +/*! + * \brief Return whether token primitive have value. + * \return Always true. + */ +template +bool Beagle::GP::TokenT::haveValue() const +{ + Beagle_StackTraceBeginM(); + return true; + Beagle_StackTraceEndM("bool GP::TokenT::haveValue() const"); +} + + +/*! + * \brief Set the value of the variable, in this case the value of the token. + * \param inValue Value of the variable. + */ +template +void Beagle::GP::TokenT::setValue(const Beagle::Object& inValue) +{ + Beagle_StackTraceBeginM(); + const T& lValueT = castObjectT(inValue); + mToken = lValueT; + Beagle_StackTraceEndM("void GP::TokenT::setValue(const Object& inValue)"); +} + + +#endif // Beagle_GP_TokenT_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Tree.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Tree.hpp new file mode 100644 index 0000000..2e5b35e --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Tree.hpp @@ -0,0 +1,195 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Tree.hpp + * \brief Definition of the type GP::Tree. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.16.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +#ifndef Beagle_GP_Tree_hpp +#define Beagle_GP_Tree_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/Container.hpp" +#include "beagle/Genotype.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveSet.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +class Context; // Forward declaration. +class System; // Forward declaration. + +/*! + * \struct Node beagle/GP/Tree.hpp "beagle/GP/Tree.hpp" + * \brief GP tree node structure. + * \ingroup GPF + * \ingroup GPPop + */ +struct Node { + Primitive::Handle mPrimitive; //!< Smart pointer to the associated primitive. + unsigned int mSubTreeSize; //!< Sub-tree size, including actual node. + + explicit Node(Primitive::Handle inPrimitive=NULL, unsigned int inSubTreeSize=0); + bool operator==(const Node& inRightNode) const; +}; + + +/*! + * \class Tree beagle/GP/Tree.hpp "beagle/GP/Tree.hpp" + * \brief The GP tree class, the genotype used in GP. + * \ingroup GPF + * \ingroup GPPop + */ +class Tree : public Genotype, + public std::vector< Node,BEAGLE_STLALLOCATOR > { + +public: + + //! GP::Tree allocator type. + typedef AllocatorT + Alloc; + //! GP::Tree handle type. + typedef PointerT + Handle; + //! GP::Tree bag type. + typedef ContainerT + Bag; + + explicit Tree(unsigned int inSize=0, + unsigned int inPrimitiveSetIndex=UINT_MAX, + unsigned int inNumberArguments=0); + virtual ~Tree() { } + + virtual unsigned int fixSubTreeSize(unsigned int inNodeIndex=0); + GP::PrimitiveSet& getPrimitiveSet(GP::Context& ioContext) const; + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getRootType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual unsigned int getSize() const; + unsigned int getTreeDepth(unsigned int inNodeIndex=0) const; + void interpret(GP::Datum& outResult, GP::Context& ioContext); + virtual bool isEqual(const Object& inRightObj) const; + virtual void readWithContext(PACC::XML::ConstIterator inIter, Beagle::Context& ioContext); + void setContextToNode(unsigned int inNodeIndex, GP::Context& ioContext) const; + bool validateSubTree(unsigned int inNodeIndex, GP::Context& ioContext) const; + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Get the number of arguments for this particular tree + * \return Number of arguments + */ + inline unsigned int getNumberArguments() const + { + Beagle_StackTraceBeginM(); + return mNumberArguments; + Beagle_StackTraceEndM("unsigned int GP::Tree::getNumberArguments() const"); + } + + /*! + * \brief Get the primitive set index for this particular tree + * \return Primitive set index + */ + inline unsigned int getPrimitiveSetIndex() const + { + Beagle_StackTraceBeginM(); + return mPrimitiveSetIndex; + Beagle_StackTraceEndM("unsigned int GP::Tree::getPrimitiveSetIndex() const"); + } + + /*! + * \brief Set the number of arguments for this particular tree + * \param inNumberArguments The new number of arguments + */ + inline void setNumberArguments(unsigned int inNumberArguments) + { + Beagle_StackTraceBeginM(); + mNumberArguments = inNumberArguments; + Beagle_StackTraceEndM("void GP::Tree::setNumberArguments(unsigned int inNumberArguments)"); + } + + /*! + * \brief Set the primitive set index for this particular tree + * \param inIndex The new primitive set index + */ + inline void setPrimitiveSetIndex(unsigned int inIndex) + { + Beagle_StackTraceBeginM(); + mPrimitiveSetIndex = inIndex; + Beagle_StackTraceEndM("void GP::Tree::setPrimitiveSetIndex(unsigned int inIndex)"); + } + +#ifdef BEAGLE_HAVE_RTTI + /*! + * \brief Set desired type of the tree root. + * \param inRootType Desired tree root type. + */ + inline void setRootType(const std::type_info* inRootType) + { + Beagle_StackTraceBeginM(); + mRootType = inRootType; + Beagle_StackTraceEndM("void GP::Tree::setRootType(const std::type_info* inRootType)"); + } +#endif // BEAGLE_HAVE_RTTI + +protected: + + unsigned int readSubTree(PACC::XML::ConstIterator inIter, GP::Context& ioContext); + unsigned int writeSubTree(PACC::XML::Streamer& ioStreamer, + unsigned int inN, + bool inIndent=true) const; + + unsigned int mPrimitiveSetIndex; //!< Primitive set index associated to current GP tree. + unsigned int mNumberArguments; //!< Number of ADF arguments to the GP tree. + +#ifdef BEAGLE_HAVE_RTTI + const std::type_info* mRootType; //!< Desired type as the tree's root. +#endif // BEAGLE_HAVE_RTTI + +}; + +} +} + +#endif // Beagle_GP_Tree_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ValidateOp.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ValidateOp.hpp new file mode 100644 index 0000000..8b475f0 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/ValidateOp.hpp @@ -0,0 +1,72 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/ValidateOp.hpp + * \brief Definition of the type GP::ValidateOp. + * \author Matthew Walker + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:05 $ + */ + +#ifndef Beagle_GP_ValidateOp_hpp +#define Beagle_GP_ValidateOp_hpp + +#include "beagle/Operator.hpp" + +namespace Beagle { +namespace GP { + + +/*! + * \class ValidateOp beagle/GP/ValidateOp.hpp "beagle/GP/ValidateOp.hpp" + * \brief Operator used primarily for debugging. It checks that every individual is valid. + * \ingroup GPF + */ +class ValidateOp : public Operator { + +public: + + //! Operator allocator type. + typedef AbstractAllocT + Alloc; + //! Operator handle type. + typedef PointerT + Handle; + //! Operator bag type. + typedef ContainerT + Bag; + + explicit ValidateOp(string inName="GP-ValidateOp"); + virtual ~ValidateOp() { } + + virtual void operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext); +}; + +} +} + +#endif // Beagle_ValidateOp_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Vivarium.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Vivarium.hpp new file mode 100644 index 0000000..ab94690 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Vivarium.hpp @@ -0,0 +1,150 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Vivarium.hpp + * \brief Definition of the class GP::Vivarium. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.2 $ + * $Date: 2007/09/10 18:24:11 $ + */ + +/*! + * \defgroup GPPop GP Population + * \ingroup GPF + * \brief Genetic programming population components. + */ + +#ifndef Beagle_GP_Vivarium_hpp +#define Beagle_GP_Vivarium_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Vivarium.hpp" +#include "beagle/VivariumAlloc.hpp" +#include "beagle/VivariumAllocT.hpp" +#include "beagle/GP/Deme.hpp" + +namespace Beagle { +namespace GP { + +/*! + * \class Vivarium beagle/GP/Vivarium.hpp "beagle/GP/Vivarium.hpp" + * \brief GP vivarium with default constructor, part of the GP framework. + * \ingroup GPF + * \ingroup GPPop + */ +class Vivarium : public Beagle::Vivarium { + +public: + + //! GP::Vivarium allocator type. + typedef VivariumAllocT + Alloc; + //! GP::Vivarium handle type. + typedef PointerT + Handle; + //! GP::Vivarium bag type. + typedef ContainerT + Bag; + + Vivarium(); + explicit Vivarium(GP::Deme::Alloc::Handle inDemeAlloc); + explicit Vivarium(GP::Deme::Alloc::Handle inDemeAlloc, + Stats::Alloc::Handle inStatsAlloc, + HallOfFame::Alloc::Handle inHOFAlloc, + unsigned int inN=0); + explicit Vivarium(GP::Tree::Alloc::Handle inGenotypeAlloc); + explicit Vivarium(GP::Tree::Alloc::Handle inGenotypeAlloc, Fitness::Alloc::Handle inFitnessAlloc); + virtual ~Vivarium() { } + + /*! + * \brief Access to the nth GP deme handle of the GP vivarium (const version). + * \param inN Indice of the GP deme handle to get. + * \return GP deme handle at the index n. + */ + inline const GP::Deme::Handle& operator[](unsigned int inN) const + { + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,size()-1); + return castHandleT( std::vector< Pointer,BEAGLE_STLALLOCATOR >::operator[](inN) ); + Beagle_StackTraceEndM("const GP::Deme::Handle& GP::Vivarium::operator[](unsigned int inN) const"); + } + + /*! + * \brief Access to the nth GP deme handle of the GP vivarium. + * \param inN Indice of the GP deme handle to get. + * \return GP deme handle at the index n. + */ + inline GP::Deme::Handle& operator[](unsigned int inN) + { + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,size()-1); + return castHandleT( std::vector< Pointer,BEAGLE_STLALLOCATOR >::operator[](inN) ); + Beagle_StackTraceEndM("GP::Deme::Handle& GP::Vivarium::operator[](unsigned int inN)"); + } + + /*! + * \brief Get the deme data type allocator. + * \return An handle to the deme type allocator. + */ + inline const GP::Deme::Alloc::Handle getTypeAlloc() const + { + Beagle_StackTraceBeginM(); + return castHandleT(Beagle::Vivarium::getTypeAlloc()); + Beagle_StackTraceEndM("const GP::Deme::Alloc::Handle GP::Vivarium::getTypeAlloc() const"); + } + + /*! + * \brief Get the deme data type allocator. + * \return An handle to the deme type allocator. + */ + inline GP::Deme::Alloc::Handle getTypeAlloc() + { + Beagle_StackTraceBeginM(); + return castHandleT(Beagle::Vivarium::getTypeAlloc()); + Beagle_StackTraceEndM("GP::Deme::Alloc::Handle GP::Vivarium::getTypeAlloc()"); + } + + /*! + * \brief Set the deme data type allocator. + * \param inTypeAlloc An handle to the new deme type allocator. + */ + inline void setTypeAlloc(GP::Deme::Alloc::Handle inTypeAlloc) + { + Beagle_StackTraceBeginM(); + Beagle::Vivarium::setTypeAlloc(inTypeAlloc); + Beagle_StackTraceEndM("void GP::Vivarium::setTypeAlloc(GP::Deme::Alloc::Handle inTypeAlloc)"); + } + +}; + +} +} + +#endif // Beagle_GP_Vivarium_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Xor.hpp b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Xor.hpp new file mode 100644 index 0000000..209c8d0 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/GP/Xor.hpp @@ -0,0 +1,99 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/Xor.hpp + * \brief Definition of the templated class GP::Xor. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#ifndef Beagle_GP_Xor_hpp +#define Beagle_GP_Xor_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Bool.hpp" +#include "beagle/GP/Primitive.hpp" +#include "beagle/GP/PrimitiveInline.hpp" +#include "beagle/GP/Context.hpp" +#include "beagle/GP/Datum.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +namespace Beagle { +namespace GP { + +/*! + * \class Xor beagle/GP/Xor.hpp "beagle/GP/Xor.hpp" + * \brief GP boolean XOR primitive class. + * \ingroup GPF + * \ingroup Primit + * \ingroup BoolPrimit + */ +class Xor : public Primitive { + +public: + + //! GP::Xor allocator type. + typedef AllocatorT + Alloc; + //! GP::Xor handle type. + typedef PointerT + Handle; + //! GP::Xor bag type. + typedef ContainerT + Bag; + + explicit Xor(string inName="XOR"); + virtual ~Xor() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(GP::Datum& outResult, GP::Context& ioContext); + +}; + +} +} + + +#endif // Beagle_GP_Xor_hpp diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/Makefile b/lib/beagle-3.0.3/beagle/GP/include/beagle/Makefile new file mode 100644 index 0000000..3e60062 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/Makefile @@ -0,0 +1,721 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/GP/include/beagle/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/GP/include/beagle +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(beagle_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(beagledir)" +HEADERS = $(beagle_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GP/include/beagle +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GP/include/beagle +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../../ +top_builddir = ../../../.. +top_srcdir = ../../../.. + +# Stuff for precompiled headers +INCLUDES = -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include +beagledir = $(includedir)/beagle +beagle_HEADERS = GP.hpp +SUBDIRS = GP +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GP/include/beagle/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GP/include/beagle/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-beagleHEADERS: $(beagle_HEADERS) + @$(NORMAL_INSTALL) + @list='$(beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(beagledir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(beagledir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(beagledir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(beagledir)" || exit $$?; \ + done + +uninstall-beagleHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(beagledir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(HEADERS) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(beagledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-beagleHEADERS + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-beagleHEADERS + +.MAKE: $(am__recursive_targets) install-am install-data-am \ + install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-beagleHEADERS install-data \ + install-data-am install-data-hook install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-beagleHEADERS + +.PRECIOUS: Makefile + +pch: $(HEADERS) + rm -f GP.hpp.gch + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) -x c++-header $(CXXFLAGS) -c -o GP.hpp.gch GP.hpp +install-data-hook: + if test -f GP.hpp.gch; then $(INSTALL_DATA) GP.hpp.gch $(DESTDIR)$(includedir)/GP.hpp.gch; fi +clean-generic: + if test -f GP.hpp.gch; then rm -f GP.hpp.gch; fi + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/Makefile.am b/lib/beagle-3.0.3/beagle/GP/include/beagle/Makefile.am new file mode 100644 index 0000000..309e05d --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/Makefile.am @@ -0,0 +1,13 @@ +# Stuff for precompiled headers +INCLUDES = -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include +pch: $(HEADERS) + rm -f GP.hpp.gch + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) -x c++-header $(CXXFLAGS) -c -o GP.hpp.gch GP.hpp +install-data-hook: + if test -f GP.hpp.gch; then $(INSTALL_DATA) GP.hpp.gch $(DESTDIR)$(includedir)/GP.hpp.gch; fi +clean-generic: + if test -f GP.hpp.gch; then rm -f GP.hpp.gch; fi + +beagledir = $(includedir)/beagle +beagle_HEADERS = GP.hpp +SUBDIRS = GP diff --git a/lib/beagle-3.0.3/beagle/GP/include/beagle/Makefile.in b/lib/beagle-3.0.3/beagle/GP/include/beagle/Makefile.in new file mode 100644 index 0000000..dfd71fb --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/include/beagle/Makefile.in @@ -0,0 +1,721 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/GP/include/beagle +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(beagle_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(beagledir)" +HEADERS = $(beagle_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ + +# Stuff for precompiled headers +INCLUDES = -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include +beagledir = $(includedir)/beagle +beagle_HEADERS = GP.hpp +SUBDIRS = GP +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GP/include/beagle/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GP/include/beagle/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-beagleHEADERS: $(beagle_HEADERS) + @$(NORMAL_INSTALL) + @list='$(beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(beagledir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(beagledir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(beagledir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(beagledir)" || exit $$?; \ + done + +uninstall-beagleHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(beagledir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(HEADERS) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(beagledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-beagleHEADERS + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-beagleHEADERS + +.MAKE: $(am__recursive_targets) install-am install-data-am \ + install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-beagleHEADERS install-data \ + install-data-am install-data-hook install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-beagleHEADERS + +.PRECIOUS: Makefile + +pch: $(HEADERS) + rm -f GP.hpp.gch + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) -x c++-header $(CXXFLAGS) -c -o GP.hpp.gch GP.hpp +install-data-hook: + if test -f GP.hpp.gch; then $(INSTALL_DATA) GP.hpp.gch $(DESTDIR)$(includedir)/GP.hpp.gch; fi +clean-generic: + if test -f GP.hpp.gch; then rm -f GP.hpp.gch; fi + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/ADF.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/ADF.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/ADF.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/And.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/And.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/And.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Argument.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Argument.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Argument.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Context.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Context.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Context.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Cos.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Cos.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Cos.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/CrossoverConstrainedOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/CrossoverConstrainedOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/CrossoverConstrainedOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/CrossoverOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/CrossoverOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/CrossoverOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Deme.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Deme.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Deme.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/EphemeralDouble.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/EphemeralDouble.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/EphemeralDouble.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/EvaluationOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/EvaluationOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/EvaluationOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Evolver.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Evolver.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Evolver.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/ExecutionException.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/ExecutionException.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/ExecutionException.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Exp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Exp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Exp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/FitnessKoza.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/FitnessKoza.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/FitnessKoza.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Individual.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Individual.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Individual.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/InitFullConstrainedOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/InitFullConstrainedOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/InitFullConstrainedOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/InitFullOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/InitFullOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/InitFullOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/InitGrowConstrainedOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/InitGrowConstrainedOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/InitGrowConstrainedOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/InitGrowOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/InitGrowOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/InitGrowOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/InitHalfConstrainedOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/InitHalfConstrainedOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/InitHalfConstrainedOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/InitHalfOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/InitHalfOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/InitHalfOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/InitializationOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/InitializationOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/InitializationOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Invoker.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Invoker.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Invoker.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Log.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Log.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Log.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/MaxNodesExecutionException.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/MaxNodesExecutionException.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/MaxNodesExecutionException.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/MaxTimeExecutionException.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/MaxTimeExecutionException.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/MaxTimeExecutionException.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Module.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Module.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Module.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/ModuleCompressOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/ModuleCompressOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/ModuleCompressOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/ModuleExpandOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/ModuleExpandOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/ModuleExpandOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/ModuleVectorComponent.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/ModuleVectorComponent.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/ModuleVectorComponent.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationShrinkConstrainedOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationShrinkConstrainedOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationShrinkConstrainedOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationShrinkOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationShrinkOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationShrinkOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationStandardConstrainedOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationStandardConstrainedOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationStandardConstrainedOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationStandardOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationStandardOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationStandardOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationSwapConstrainedOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationSwapConstrainedOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationSwapConstrainedOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationSwapOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationSwapOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationSwapOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationSwapSubtreeConstrainedOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationSwapSubtreeConstrainedOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationSwapSubtreeConstrainedOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationSwapSubtreeOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationSwapSubtreeOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/MutationSwapSubtreeOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Nand.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Nand.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Nand.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Nor.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Nor.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Nor.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Not.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Not.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Not.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Or.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Or.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Or.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Primitive.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Primitive.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Primitive.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/PrimitiveSet.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/PrimitiveSet.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/PrimitiveSet.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/PrimitiveSuperSet.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/PrimitiveSuperSet.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/PrimitiveSuperSet.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/PrimitiveUsageStatsOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/PrimitiveUsageStatsOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/PrimitiveUsageStatsOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/ResourcesExceededExecutionException.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/ResourcesExceededExecutionException.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/ResourcesExceededExecutionException.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Sin.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Sin.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Sin.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/StatsCalcFitnessKozaOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/StatsCalcFitnessKozaOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/StatsCalcFitnessKozaOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/StatsCalcFitnessSimpleOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/StatsCalcFitnessSimpleOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/StatsCalcFitnessSimpleOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/System.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/System.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/System.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/TermMaxHitsOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/TermMaxHitsOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/TermMaxHitsOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Tree.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Tree.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Tree.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/ValidateOp.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/ValidateOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/ValidateOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Vivarium.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Vivarium.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Vivarium.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/Xor.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/Xor.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/Xor.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/.deps/libbeagle-GP.Plo b/lib/beagle-3.0.3/beagle/GP/src/.deps/libbeagle-GP.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/.deps/libbeagle-GP.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/GP/src/ADF.cpp b/lib/beagle-3.0.3/beagle/GP/src/ADF.cpp new file mode 100644 index 0000000..aa8e75a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/ADF.cpp @@ -0,0 +1,153 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/ADF.cpp + * \brief Implementation of ADF. + * \author Christian Gagne + * \author Matthew Walker + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a new ADF primitive. + * \param inIndex Index of the associated tree. + * \param inNumberArgs Number of arguments of the ADF. + * \param inName Name of the ADF primitive. + * \param inArgsName Name of the associated argument primitive. + */ +GP::ADF::ADF(unsigned int inIndex, + unsigned int inNumberArgs, + Beagle::string inName, + Beagle::string inArgsName) : + GP::Invoker(inIndex, inNumberArgs, inName, inArgsName) +{ } + + +/*! + * \brief Generate a new ADF primitive from the given specifications. + * \param inIndex Tree index for which the primitive is created. + * \param inName Name of the primitive generated. + * \param inArgsName Name of the arguments associated to the invoker created. + * \param ioContext Evolutionary context. + */ +GP::Invoker::Handle GP::ADF::generateInvoker(unsigned int inIndex, + Beagle::string inName, + Beagle::string inArgsName, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + GP::Tree::Handle lTree = ioContext.getIndividual()[inIndex]; + return new GP::ADF(inIndex, lTree->getNumberArguments(), inName, inArgsName); + Beagle_StackTraceEndM("GP::Invoker::Handle GP::ADF::generateInvoker(unsigned int inIndex, string inName, string inArgsName, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return indices of the trees that can be invoked by the ADF. + * \param outCandidates Indices of tree that can be selected as invokable in the actual context. + * \param inNumberArguments Number of arguments for which the selection is desired. + * \param ioContext Evolutionary context. + */ +void GP::ADF::getCandidatesToInvoke(std::vector< unsigned int,BEAGLE_STLALLOCATOR >& outCandidates, + unsigned int inNumberArguments, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + outCandidates.resize(0); + for(unsigned int i=(ioContext.getGenotypeIndex()+1); i(ioContext.getIndividual()[i]); + const unsigned int lNbArgsTree = lTree->getNumberArguments(); + if(inNumberArguments == GP::Primitive::eAny) outCandidates.push_back(i); + else if((inNumberArguments==GP::Primitive::eBranch) && (lNbArgsTree>0)) + outCandidates.push_back(i); + else if(inNumberArguments == lNbArgsTree) outCandidates.push_back(i); + } + Beagle_StackTraceEndM("void GP::ADF::getCandidatesToInvoke(std::vector< unsigned int,BEAGLE_STLALLOCATOR >& outCandidates, unsigned int inNumberArguments, GP::Context& ioContext) const"); +} + + +/*! + * \brief Get reference the tree to invoke. + * \param ioContext Evolutionary context. + * \return Handle to the invoked tree. + */ +GP::Tree::Handle GP::ADF::getInvokedTree(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(mIndex < ioContext.getIndividual().size()); + return ioContext.getIndividual()[mIndex]; + Beagle_StackTraceEndM("GP::Tree::Handle GP::ADF::getInvokedTree(GP::Context& ioContext) const"); +} + + +/*! + * \brief Invoke GP tree to execute as ADF. + * \param outResult Result of GP tree invocation + * \param ioTree Tree to invoke. + * \param ioContext Evolutionary context. + */ +void GP::ADF::invoke(GP::Datum& outResult, GP::Tree::Handle ioTree, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + GP::Tree::Handle lOldGenotypeHandle = ioContext.getGenotypeHandle(); + unsigned int lOldGenotypeIndex = ioContext.getGenotypeIndex(); + ioContext.setGenotypeHandle(ioTree); + ioContext.setGenotypeIndex(mIndex); + ioContext.incrementNodesExecuted(); + ioContext.pushCallStack(0); + (*ioTree)[0].mPrimitive->execute(outResult, ioContext); + ioContext.popCallStack(); + ioContext.checkExecutionTime(); + ioContext.setGenotypeHandle(lOldGenotypeHandle); + ioContext.setGenotypeIndex(lOldGenotypeIndex); + Beagle_StackTraceEndM("void GP::ADF::invoke(GP::Datum& outResult, GP::Tree::Handle ioTree, GP::Context& ioContext)"); +} + + +/*! + * \brief Validate the ADF position in the tree. + * \param ioContext Evolutionary context. + * \return True if the ADF is correctly positioned, false if not. + * \throw Beagle::AssertException If the context is in a bad state. + */ +bool GP::ADF::validate(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + if(mIndex <= ioContext.getGenotypeIndex()) return false; + if(mIndex >= (ioContext.getIndividual().size()-1)) return false; + if(ioContext.getIndividual()[mIndex]->getNumberArguments() != getNumberArguments()) return false; + return GP::Primitive::validate(ioContext); + Beagle_StackTraceEndM("bool GP::ADF::validate(GP::Context& ioContext) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/And.cpp b/lib/beagle-3.0.3/beagle/GP/src/And.cpp new file mode 100644 index 0000000..72cba50 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/And.cpp @@ -0,0 +1,102 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/And.cpp + * \brief Source code of class GP::And. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#include "beagle/GP.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + +using namespace Beagle; + + +/*! + * \brief Construct a new boolean AND primitive. + * \param inName Name of the addition primitive. + */ +GP::And::And(Beagle::string inName) : + Beagle::GP::Primitive(2, inName) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive And. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type needed. + * \throw AssertException If the index inN given is greater than 1. + */ +const std::type_info* GP::And::getArgType(unsigned int inN, GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN<2); + return &typeid(Bool); + Beagle_StackTraceEndM("const std::type_info* GP::And::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the tag of the type of data return by primitive And. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +const std::type_info* GP::And::getReturnType(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(Bool); + Beagle_StackTraceEndM("const std::type_info* GP::And::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Execute the characteristic operation of logical AND between two bools. + * \param outResult Result of the logical AND. + * \param ioContext Evolutionary context. + */ +void GP::And::execute(GP::Datum& outResult, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Bool& lResult = castObjectT(outResult); + Bool lArg2; + get1stArgument(lResult, ioContext); + get2ndArgument(lArg2, ioContext); + lResult = lResult && lArg2; + Beagle_StackTraceEndM("void GP::And::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/Argument.cpp b/lib/beagle-3.0.3/beagle/GP/src/Argument.cpp new file mode 100644 index 0000000..55df27c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Argument.cpp @@ -0,0 +1,358 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Argument.cpp + * \brief Implementation of class GP::Argument. + * \author Christian Gagne + * \author Matthew Walker + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#include "beagle/GP.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + +using namespace Beagle; + + +/*! + * \brief Construct an argument primitive. + * \param inValueAlloc Allocator of arguments values. + * \param inEvalMode Evaluation mode of the arguments + * (see \ref Beagle::GP::ArgumentT::ArgumentsEvaluationMode). + * \param inIndex Argument index. + * \param inName Name of the argument primitive. + */ +GP::Argument::Argument(Object::Alloc::Handle inValueAlloc, + unsigned int inEvalMode, + unsigned int inIndex, + Beagle::string inName) : + GP::Primitive(0,inName), + mSharedData(new SharedData(inValueAlloc,inEvalMode)), + mIndex(inIndex) +{ } + + +/*! + * \brief Protected constructor of an argument, used internally. + * \param inSharedData Handle to share data between arguments. + * \param inIndex Index of the argument. + * \param inName Name of the argument primitive. + */ +GP::Argument::Argument(GP::Argument::SharedData::Handle inSharedData, + unsigned int inIndex, + Beagle::string inName) : + GP::Primitive(0,inName), + mSharedData(inSharedData), + mIndex(inIndex) +{ } + + +/*! + * \brief Generate a new argument of the same type than the actual one. + * \param inIndex Index the generated argument is refering to. + * \return Handle to the generated argument primitive. + */ +GP::Argument::Handle GP::Argument::generateArgument(unsigned int inIndex) const +{ + Beagle_StackTraceBeginM(); + return new GP::Argument(mSharedData, inIndex, getName()); + Beagle_StackTraceEndM("GP::Argument::Handle GP::Argument::generateArgument(unsigned int inIndex) const"); +} + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return typing of the arguments. + * \param ioContext Evolutionary context. + * \return RTTI type_info of the arguments. + */ +const std::type_info* GP::Argument::getReturnType(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Object::Bag::Alloc::Handle lObjAlloc = + castHandleT(mSharedData->mCaches.getTypeAlloc()); + Object::Handle lObj = lObjAlloc->getContainerTypeAlloc()->allocate(); + return &typeid(*lObj); + Beagle_StackTraceEndM("const std::type_info* GP::Argument::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Return selection weight of the argument primitive. + * \param inNumberArguments Number of arguments to get weight for. + * \param ioContext Evolutionary context. + * \return Selection weight for the given number of arguments. + */ +double GP::Argument::getSelectionWeight(unsigned int inNumberArguments, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + if(ioContext.getGenotypeIndex() == 0) return 0.0; + if((inNumberArguments==0) || (inNumberArguments==GP::Primitive::eAny)) { + const unsigned int lTreeNbArgs = ioContext.getGenotype().getNumberArguments(); + if(lTreeNbArgs > 0) return double(lTreeNbArgs); + } + return 0.0; + Beagle_StackTraceEndM("double GP::Argument::getSelectionWeight(unsigned int inNumberArguments, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return a reference to the actual argument. + * \param inNumberArguments Number of arguments asked for. + * \param ioContext Evolutionary context. + * \return Handle to argument. + */ +GP::Primitive::Handle GP::Argument::giveReference(unsigned int inNumberArguments, + GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(mIndex!=eGenerator) return this; + const unsigned int lTreeNbArgs = ioContext.getGenotype().getNumberArguments(); + Beagle_AssertM(lTreeNbArgs > 0); + const unsigned int lGenIndex = + ioContext.getSystem().getRandomizer().rollInteger(0,(lTreeNbArgs-1)); + return generateArgument(lGenIndex); + Beagle_StackTraceEndM("GP::Primitive::Handle GP::Argument::giveReference(unsigned int inNumberArguments, GP::Context& ioContext)"); +} + + +/*! + * \brief Execute argument primitive. + * \param outResult Result containing value of argument. + * \param ioContext Evolutionary context. + */ +void GP::Argument::execute(GP::Datum& outResult, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Object::Bag::Alloc::Handle lCacheBagAlloc = + castHandleT(mSharedData->mCaches.getTypeAlloc()); + Object::Alloc::Handle lValuesAlloc = lCacheBagAlloc->getContainerTypeAlloc(); + if(mSharedData->mEvalMode==ePreCompute) { + Beagle_AssertM(mIndex < mSharedData->mCaches.back()->size()); + lValuesAlloc->copy(outResult, *(*mSharedData->mCaches.back())[mIndex]); + } + else if(mSharedData->mEvalMode==eJustInTime) { + GP::Context::Handle lActualContext = mSharedData->mEvalContext.back(); + mSharedData->mEvalContext.pop_back(); + lActualContext->setAllowedNodesExecution(ioContext.getAllowedNodesExecution()); + lActualContext->setAllowedExecutionTime(ioContext.getAllowedExecutionTime()); + lActualContext->setNodesExecutionCount(ioContext.getNodesExecutionCount()); + lActualContext->getExecutionTimer() = ioContext.getExecutionTimer(); + getArgument(mIndex, outResult, *lActualContext); + ioContext.getExecutionTimer() = lActualContext->getExecutionTimer(); + ioContext.setNodesExecutionCount(lActualContext->getNodesExecutionCount()); + ioContext.setAllowedExecutionTime(lActualContext->getAllowedExecutionTime()); + ioContext.setAllowedNodesExecution(lActualContext->getAllowedNodesExecution()); + mSharedData->mEvalContext.push_back(lActualContext); + } + else if(mSharedData->mEvalMode==eCaching) { + Beagle_AssertM(mIndex < mSharedData->mCaches.back()->size()); + if((*mSharedData->mCaches.back())[mIndex]!=NULL) { + lValuesAlloc->copy(outResult, *(*mSharedData->mCaches.back())[mIndex]); + } + else { + Object::Bag::Handle lActualCache = mSharedData->mCaches.back(); + mSharedData->mCaches.pop_back(); + GP::Context::Handle lActualContext = mSharedData->mEvalContext.back(); + mSharedData->mEvalContext.pop_back(); + lActualContext->setAllowedNodesExecution(ioContext.getAllowedNodesExecution()); + lActualContext->setAllowedExecutionTime(ioContext.getAllowedExecutionTime()); + lActualContext->setNodesExecutionCount(ioContext.getNodesExecutionCount()); + lActualContext->getExecutionTimer() = ioContext.getExecutionTimer(); + getArgument(mIndex, outResult, *lActualContext); + ioContext.getExecutionTimer() = lActualContext->getExecutionTimer(); + ioContext.setNodesExecutionCount(lActualContext->getNodesExecutionCount()); + ioContext.setAllowedExecutionTime(lActualContext->getAllowedExecutionTime()); + ioContext.setAllowedNodesExecution(lActualContext->getAllowedNodesExecution()); + mSharedData->mEvalContext.push_back(lActualContext); + mSharedData->mCaches.push_back(lActualCache); + (*lActualCache)[mIndex] = lValuesAlloc->clone(outResult); + } + } + else { + throw Beagle_InternalExceptionM(string("Undefined evaluation mode (")+ + uint2str(mSharedData->mEvalMode)+string(") for arguments!")); + } + Beagle_StackTraceEndM("void GP::Argument::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} + + +/*! + * \brief Return whether selection weight is stable for given number of arguments. + * \param inNumberArguments Number of arguments to test weight stability. + * \return True if selection weight is table for given number of arguments, false if not. + */ +bool GP::Argument::isSelectionWeightStable(unsigned int inNumberArguments) const +{ + Beagle_StackTraceBeginM(); + if((inNumberArguments==0) || (inNumberArguments==GP::Primitive::eAny)) return false; + return true; + Beagle_StackTraceEndM("bool GP::Argument::isSelectionWeightStable(unsigned int inNumberArguments) const"); +} + + +/*! + * \brief Push execution context to prepare the execution of the argument. + * \param inNumberArguments Number of arguments of called tree. + * \param ioContext Evolutionary context. + */ +void GP::Argument::pushExecutionContext(unsigned int inNumberArguments, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + switch(mSharedData->mEvalMode) { + case eCaching: + { + Object::Bag::Alloc::Handle lCacheBagAlloc = + castHandleT(mSharedData->mCaches.getTypeAlloc()); + Object::Alloc::Handle lValuesAlloc = lCacheBagAlloc->getContainerTypeAlloc(); + Object::Bag::Handle lNewCache = castHandleT(lCacheBagAlloc->allocate()); + lNewCache->resize(inNumberArguments); + mSharedData->mCaches.push_back(lNewCache); + GP::Context::Alloc& lContextAlloc = + castObjectT(ioContext.getSystem().getContextAllocator()); + GP::Context::Handle lNewEvalContext = + castHandleT(lContextAlloc.clone(ioContext)); + mSharedData->mEvalContext.push_back(lNewEvalContext); + break; + } + case eJustInTime: + { + GP::Context::Alloc& lContextAlloc = + castObjectT(ioContext.getSystem().getContextAllocator()); + GP::Context::Handle lNewEvalContext = + castHandleT(lContextAlloc.clone(ioContext)); + mSharedData->mEvalContext.push_back(lNewEvalContext); + break; + } + case ePreCompute: + { + Object::Bag::Alloc::Handle lCacheBagAlloc = + castHandleT(mSharedData->mCaches.getTypeAlloc()); + Object::Alloc::Handle lValuesAlloc = lCacheBagAlloc->getContainerTypeAlloc(); + Object::Bag::Handle lNewCache = castHandleT(lCacheBagAlloc->allocate()); + lNewCache->resize(inNumberArguments); + for(unsigned int i=0; imCaches.push_back(lNewCache); + } + default: + { + throw Beagle_InternalExceptionM(string("Undefined evaluation mode (")+ + uint2str(mSharedData->mEvalMode)+string(") for the arguments!")); + } + } + Beagle_StackTraceEndM("void GP::Argument::pushExecutionContext(unsigned int inNumberArguments, GP::Context& ioContext)"); +} + + +/*! + * \brief Pop execution context as the execution of the argument is done. + */ +void GP::Argument::popExecutionContext() +{ + Beagle_StackTraceBeginM(); + switch(mSharedData->mEvalMode) { + case eCaching: + { + mSharedData->mCaches.pop_back(); + mSharedData->mEvalContext.pop_back(); + break; + } + case eJustInTime: + { + mSharedData->mEvalContext.pop_back(); + break; + } + case ePreCompute: + { + mSharedData->mCaches.pop_back(); + break; + } + default: + { + throw Beagle_InternalExceptionM(string("Undefined evaluation mode (")+ + uint2str(mSharedData->mEvalMode)+string(") for the arguments!")); + } + } + Beagle_StackTraceEndM("void GP::Argument::popExecutionContext()"); +} + + +/*! + * \brief Read an argument primitive from XML subtree. + * \param inIter XML iterator to read primitive from. + * \param ioContext Evolutionary context. + */ +void GP::Argument::readWithContext(PACC::XML::ConstIterator inIter, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + GP::Primitive::readWithContext(inIter, ioContext); + string lIndexValue = inIter->getAttribute("id").c_str(); + if(lIndexValue.empty()==false) { + mIndex = str2uint(lIndexValue); + Beagle_AssertM(mIndex < ioContext.getGenotype().getNumberArguments()); + } + Beagle_StackTraceEndM("void GP::Argument::readWithContext(PACC::XML::ConstIterator inIter, GP::Context& ioContext)"); +} + + +/*! + * \brief Validate the arguments position in the tree. + * \param ioContext Evolutionary context. + * \return True if the argument is correctly positioned, false if not. + * \throw Beagle::AssertException If the context is in a bad state. + */ +bool GP::Argument::validate(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + if(GP::Primitive::validate(ioContext) == false) return false; + if(ioContext.getGenotypeIndex() == 0) return false; + if(mIndex >= ioContext.getGenotype().getNumberArguments()) return false; + return true; + Beagle_StackTraceEndM("bool GP::Argument::validate(GP::Context& ioContext) const"); +} + + +/*! + * \brief Write argument primitive into XML streamer. + * \param ioStreamer XML streamer to write primitive into. + * \param inIndent Whether XML output should be indented. + */ +void GP::Argument::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + if(mIndex!=eGenerator) ioStreamer.insertAttribute("id", uint2str(mIndex)); + Beagle_StackTraceEndM("void GP::Argument::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} diff --git a/lib/beagle-3.0.3/beagle/GP/src/Context.cpp b/lib/beagle-3.0.3/beagle/GP/src/Context.cpp new file mode 100644 index 0000000..4118781 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Context.cpp @@ -0,0 +1,50 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Context.cpp + * \brief Source code of class GP::Context. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: + * $Date: 2007/05/09 01:51:06 $ + */ + + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Default constructor of GP evolutionary context. + */ +GP::Context::Context() : + mAllowedExecutionTime(0.0), + mNodesExecutionCount(0), + mAllowedNodesExecution(UINT_MAX) +{ } + diff --git a/lib/beagle-3.0.3/beagle/GP/src/Cos.cpp b/lib/beagle-3.0.3/beagle/GP/src/Cos.cpp new file mode 100644 index 0000000..78a56a6 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Cos.cpp @@ -0,0 +1,102 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Cos.cpp + * \brief Source code of class GP::Cos. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#include "beagle/GP.hpp" + +#include + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + +using namespace Beagle; + + +/*! + * \brief Construct a new cosinus primitive. + * \param inName Name of the cosinus primitive. + */ +GP::Cos::Cos(Beagle::string inName) : + Beagle::GP::Primitive(1, inName) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive Cos. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type needed. + * \throw AssertException If the index inN given is greater than 0. + */ +const std::type_info* Beagle::GP::Cos::getArgType(unsigned int inN, GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN<1); + return &typeid(Double); + Beagle_StackTraceEndM("const std::type_info* GP::Cos::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the tag of the type of data return by primitive Cos. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +const std::type_info* Beagle::GP::Cos::getReturnType(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(Double); + Beagle_StackTraceEndM("const std::type_info* GP::Cos::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Execute the characteristic operation of a cosinus of number. + * \param outResult Result of the cosinus. + * \param ioContext Evolutionary context. + */ +void GP::Cos::execute(GP::Datum& outResult, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Double& lResult = castObjectT(outResult); + get1stArgument(lResult, ioContext); + lResult = cos(lResult); + Beagle_StackTraceEndM("void GP::Cos::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/CrossoverConstrainedOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/CrossoverConstrainedOp.cpp new file mode 100644 index 0000000..ff094f2 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/CrossoverConstrainedOp.cpp @@ -0,0 +1,472 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/CrossoverConstrainedOp.cpp + * \brief Source code of class GP::CrossoverConstrainedOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.12.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#include "beagle/GP.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a GP constrained tree crossover operator. + * \param inMatingPbName Individual mating probability parameter name used in register. + * \param inDistribPbName Distribution probability parameter name used in register. + * \param inName Name of the operator. + */ +GP::CrossoverConstrainedOp::CrossoverConstrainedOp(Beagle::string inMatingPbName, + Beagle::string inDistribPbName, + Beagle::string inName) : + Beagle::GP::CrossoverOp(inMatingPbName, inDistribPbName, inName) +{ } + + +/*! + * \brief Build a roulette of nodes that can be selected following the constraints penalties. + * \param ioRoulette Roulette of nodes that can be selected following the constraints given. + * \param inSelectABranch True if node to select must be a branch, false if it must a leaf. + * \param inMaxSubTreeDepth Maximum sub tree depth allowed of the node to be selected. + * \param inMaxSubTreeSize Maximum sub tree size allowed of the node to be selected. + * \param inActualIndex Index in actual tree of the node processed. + * \param inTree Tree processed. + * \param ioContext Evolutionary context. + * \return Max depth of subtree processed. + */ +unsigned int GP::CrossoverConstrainedOp::buildRoulette( + RouletteT< std::pair >& ioRoulette, + bool inSelectABranch, + unsigned int inMaxSubTreeDepth, + unsigned int inMaxSubTreeSize, + unsigned int inActualIndex, + GP::Tree& inTree, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + const unsigned int lNbArgs = inTree[inActualIndex].mPrimitive->getNumberArguments(); + const unsigned int lSubTreeSize = inTree[inActualIndex].mSubTreeSize; + const bool lGoodArity = ((inTree.size()==1) || ((lNbArgs==0) != inSelectABranch)); + ioContext.pushCallStack(inActualIndex); + unsigned int lChildIndex = inActualIndex+1; + unsigned int lMaxDepthDown = 0; + for(unsigned int i=0; i lMaxDepthDown) lMaxDepthDown = lChildDepth; + } + ++lMaxDepthDown; + const unsigned int lMaxDepthUp = ioContext.getCallStackSize(); + ioContext.popCallStack(); + if(lGoodArity && (lSubTreeSize<=inMaxSubTreeSize) && + (lMaxDepthDown<=inMaxSubTreeDepth) && (lMaxDepthUp<=inMaxSubTreeDepth)) { + std::pair lPair(ioContext.getGenotypeIndex(), inActualIndex); + ioRoulette.insert(lPair, 1.0); + } + return lMaxDepthDown; + Beagle_StackTraceEndM("unsigned int GP::CrossoverConstrainedOp::buildRoulette(RouletteT< std::pair >& ioRoulette, bool inSelectABranch, unsigned int inMaxSubTreeDepth, unsigned int inMaxSubTreeSize, unsigned int inActualIndex, GP::Tree& inTree, GP::Context& ioContext) const"); +} + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Build a roulette of nodes that can be selected following the constraints penalties. + * \param ioRoulette Roulette of nodes that can be selected following the constraints given. + * \param inSelectABranch True if node to select must be a branch, false if it must a leaf. + * \param inNodeReturnType Desired return type for the nodes to be selected. + * \param inMaxSubTreeDepth Maximum sub tree depth allowed of the node to be selected. + * \param inMaxSubTreeSize Maximum sub tree size allowed of the node to be selected. + * \param inActualIndex Index in actual tree of the node processed. + * \param inTree Tree processed. + * \param ioContext Evolutionary context. + * \return Max depth of subtree processed. + */ +unsigned int GP::CrossoverConstrainedOp::buildRouletteWithType( + RouletteT< std::pair >& ioRoulette, + bool inSelectABranch, + const std::type_info* inNodeReturnType, + unsigned int inMaxSubTreeDepth, + unsigned int inMaxSubTreeSize, + unsigned int inActualIndex, + GP::Tree& inTree, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + const unsigned int lNbArgs = inTree[inActualIndex].mPrimitive->getNumberArguments(); + const unsigned int lSubTreeSize = inTree[inActualIndex].mSubTreeSize; + const bool lGoodArity = ((inTree.size()==1) || ((lNbArgs==0) != inSelectABranch)); + ioContext.pushCallStack(inActualIndex); + const std::type_info* lNodeType = inTree[inActualIndex].mPrimitive->getReturnType(ioContext); + const bool lCompatibleTyping = ((inNodeReturnType==NULL) || (lNodeType==NULL) || + (inNodeReturnType==lNodeType)); + unsigned int lChildIndex = inActualIndex+1; + unsigned int lMaxDepthDown = 0; + for(unsigned int i=0; i lMaxDepthDown) lMaxDepthDown = lChildDepth; + } + ++lMaxDepthDown; + const unsigned int lMaxDepthUp = ioContext.getCallStackSize(); + ioContext.popCallStack(); + if(lGoodArity && lCompatibleTyping && (lSubTreeSize<=inMaxSubTreeSize) && + (lMaxDepthDown<=inMaxSubTreeDepth) && (lMaxDepthUp<=inMaxSubTreeDepth)) { + std::pair lPair(ioContext.getGenotypeIndex(), inActualIndex); + ioRoulette.insert(lPair, 1.0); + } + return lMaxDepthDown; + Beagle_StackTraceEndM("unsigned int GP::CrossoverConstrainedOp::buildRouletteWithType(RouletteT< std::pair >& ioRoulette, bool inSelectABranch, const std::type_info* inNodeReturnType, unsigned int inMaxSubTreeDepth, unsigned int inMaxSubTreeSize, unsigned int inActualIndex, GP::Tree& inTree, GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Mate two GP individuals for a constrained tree crossover. + * \param ioIndiv1 First individual to mate. + * \param ioContext1 Evolutionary context of the first individual. + * \param ioIndiv2 Second individual to mate. + * \param ioContext2 Evolutionary context of the second individual. + * \return True if the individuals are effectively mated, false if not. + */ +bool GP::CrossoverConstrainedOp::mate(Beagle::Individual& ioIndiv1, Beagle::Context& ioContext1, + Beagle::Individual& ioIndiv2, Beagle::Context& ioContext2) +{ + Beagle_StackTraceBeginM(); + // Initial parameters checks + Beagle_AssertM(ioIndiv1.size() > 0); + //Beagle_AssertM(ioIndiv1.size() == ioIndiv2.size()); + Beagle_ValidateParameterM(mNumberAttempts->getWrappedValue()>0,"gp.try",">0"); + + // Cast method arguments. + GP::Individual& lIndiv1 = castObjectT(ioIndiv1); + GP::Individual& lIndiv2 = castObjectT(ioIndiv2); + GP::Context& lContext1 = castObjectT(ioContext1); + GP::Context& lContext2 = castObjectT(ioContext2); + + // Get parameters in local values, with the total number of nodes of an individual. + bool lMatingDone = false; + float lDistrProba = mDistributionProba->getWrappedValue(); + unsigned int lMaxTreeDepth = mMaxTreeDepth->getWrappedValue(); + GP::Tree::Handle lOldTreeHandle1 = lContext1.getGenotypeHandle(); + unsigned int lOldTreeIndex1 = lContext1.getGenotypeIndex(); + GP::Tree::Handle lOldTreeHandle2 = lContext2.getGenotypeHandle(); + unsigned int lOldTreeIndex2 = lContext2.getGenotypeIndex(); + unsigned int lSizeIndiv1 = 0; + for(unsigned int i=0; isize(); + + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverConstrainedOp", + string("First individual to mate (before constrained GP crossover): ")+ + lIndiv1.serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverConstrainedOp", + string("Second individual to mate (before constrained GP crossover): ")+ + lIndiv2.serialize() + ); + + // Crossover loop. Try the given number of attempts to mate two individuals. + for(unsigned int lAttempt=0; lAttempt < mNumberAttempts->getWrappedValue(); ++lAttempt) { + + // Choose a node in all the individual node. + unsigned int lChoosenNode1 = + lContext1.getSystem().getRandomizer().rollInteger(0, lSizeIndiv1-1); + + // Get the tree in which the choosen node is. Change the global node index to the tree's index. + unsigned int lChoosenTree1 = 0; + for(; lChoosenTree1size()) break; + Beagle_AssertM(lChoosenNode1 >= lIndiv1[lChoosenTree1]->size()); + lChoosenNode1 -= lIndiv1[lChoosenTree1]->size(); + } + Beagle_AssertM(lChoosenTree1 < lIndiv1.size()); + + // Choose a type of node (branch or leaf) following the distribution probability and change the + // node for another node of the same tree if the types mismatch. + GP::Tree& lTree1 = *lIndiv1[lChoosenTree1]; + const unsigned int lPrimitiveSetIndex1 = lTree1.getPrimitiveSetIndex(); + if(lTree1.size() > 1) { + bool lTypeNode1 = + (lContext1.getSystem().getRandomizer().rollUniform(0.0, 1.0) < lDistrProba); + while((lTree1[lChoosenNode1].mPrimitive->getNumberArguments() != 0) != lTypeNode1) { + lChoosenNode1 = lContext1.getSystem().getRandomizer().rollInteger(0, lTree1.size()-1); + } + } + + // Choose type of node (branch or leaf) for the second node. + const bool lTypeNode2 = + (lContext2.getSystem().getRandomizer().rollUniform(0.0, 1.0) < lDistrProba); + + // Compute max depth allowable. + lTree1.setContextToNode(lChoosenNode1, lContext1); + const unsigned int lTmpMaxDepth1 = lMaxTreeDepth - lContext1.getCallStackSize(); + const unsigned int lTmpMaxDepth2 = lMaxTreeDepth - lTree1.getTreeDepth(lChoosenNode1); + const unsigned int lMaxDepthTree2 = minOf(lTmpMaxDepth1, lTmpMaxDepth2); + + // Select a node in second individual for the crossover. + unsigned int lChoosenTree2=0; + unsigned int lChoosenNode2=0; + +#ifdef BEAGLE_HAVE_RTTI + const std::type_info* lDesiredType = lTree1[lChoosenNode1].mPrimitive->getReturnType(lContext1); + bool lGoodSelect = selectNodeToMateWithType(lChoosenTree2, + lChoosenNode2, + lTypeNode2, + lDesiredType, + lPrimitiveSetIndex1, + lMaxDepthTree2, + UINT_MAX, + lIndiv2, + lContext2); +#else // BEAGLE_HAVE_RTTI + bool lGoodSelect = selectNodeToMate(lChoosenTree2, + lChoosenNode2, + lTypeNode2, + lPrimitiveSetIndex1, + lMaxDepthTree2, + UINT_MAX, + lIndiv2, + lContext2); +#endif // BEAGLE_HAVE_RTTI + + // Check to see that there is at least one node that can be selected + if(lGoodSelect==false) { + Beagle_LogVerboseM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverConstrainedOp", + string("Crossover attempt failed: it seems there is no corresponding nodes in second ")+ + string("individual that would meet all the constraints") + ); + continue; + } + + // Get reference to the tree the choosen node is in. + Beagle_AssertM(lChoosenTree2 < lIndiv2.size()); + GP::Tree& lTree2 = *lIndiv2[lChoosenTree2]; + lTree2.setContextToNode(lChoosenNode2, lContext2); + + // Mate the trees. + Beagle_LogVerboseM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverConstrainedOp", + string("Trying to exchange the ")+uint2ordinal(lChoosenNode1+1)+ + string(" node of the ")+uint2ordinal(lChoosenTree1+1)+ + string(" tree of the first individual with the ")+uint2ordinal(lChoosenNode2+1)+ + string(" node of the ")+uint2ordinal(lChoosenTree2+1)+ + string(" tree of the second individual") + ); + + mateTrees(lTree1, lChoosenNode1, lContext1, lTree2, lChoosenNode2, lContext2); + + // If one tree is not valid, undo the crossover and do a new crossover attempt. + lContext1.setGenotypeHandle(lIndiv1[lChoosenTree1]); + lContext1.setGenotypeIndex(lChoosenTree1); + lContext2.setGenotypeHandle(lIndiv2[lChoosenTree2]); + lContext2.setGenotypeIndex(lChoosenTree2); + if(lTree1.validateSubTree(lChoosenNode1,lContext1) && + lTree2.validateSubTree(lChoosenNode2,lContext2)) { + lMatingDone = true; + Beagle_LogVerboseM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverConstrainedOp", + "Constrained tree GP crossover valid" + ); + break; // The crossover is valid. + } + else { // Undo crossover. + Beagle_LogVerboseM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverConstrainedOp", + "Crossover attempt failed because one of the resulting trees was invalid" + ); + mateTrees(lTree1, lChoosenNode1, lContext1, lTree2, lChoosenNode2, lContext2); + continue; + } + } + + // Replace the contexts. + lContext1.setGenotypeHandle(lOldTreeHandle1); + lContext1.setGenotypeIndex(lOldTreeIndex1); + lContext2.setGenotypeHandle(lOldTreeHandle2); + lContext2.setGenotypeIndex(lOldTreeIndex2); + + if(lMatingDone) { + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverConstrainedOp", + string("First individual mated (after constrained tree GP crossover): ")+ + lIndiv1.serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverConstrainedOp", + string("Second individual mated (after constrained tree GP crossover): ")+ + lIndiv2.serialize() + ); + } + else { + Beagle_LogVerboseM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverConstrainedOp", + "No constrained tree GP crossover done" + ); + } + + return lMatingDone; + Beagle_StackTraceEndM("bool GP::CrossoverConstrainedOp::mate(Individual& ioIndiv1, Context& ioContext1, Individual& ioIndiv2, Context& ioContext2)"); +} + + +/*! + * \brief Select a node for mating in the given individual, following the constraints penalties. + * \param outSelectTreeIndex Tree index of the selected node. + * \param outSelectNodeIndex Index of the selected node. + * \param inSelectABranch True if node to select must be a branch, false if it must a leaf. + * \param inPrimitSetIndex Primitive set index to which the tree must be associated. + * \param inMaxSubTreeDepth Maximum sub tree depth allowed of the node to be selected. + * \param inMaxSubTreeSize Maximum sub tree size allowed of the node to be selected. + * \param inIndividual Individual to select the node from. + * \param ioContext Evolutionary context. + * \return True if there was node to select, false if no node respected all constraints. + */ +bool GP::CrossoverConstrainedOp::selectNodeToMate(unsigned int& outSelectTreeIndex, + unsigned int& outSelectNodeIndex, + bool inSelectABranch, + unsigned int inPrimitSetIndex, + unsigned int inMaxSubTreeDepth, + unsigned int inMaxSubTreeSize, + GP::Individual& inIndividual, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + RouletteT< std::pair > lRoulette; + GP::Tree::Handle lOldTreeHandle = ioContext.getGenotypeHandle(); + const unsigned int lOldTreeIndex = ioContext.getGenotypeIndex(); + ioContext.emptyCallStack(); + for(unsigned int i=0; igetPrimitiveSetIndex() != inPrimitSetIndex) continue; + ioContext.setGenotypeHandle(inIndividual[i]); + ioContext.setGenotypeIndex(i); + buildRoulette(lRoulette, + inSelectABranch, + inMaxSubTreeDepth, + inMaxSubTreeSize, + 0, + *inIndividual[i], + ioContext); + } + ioContext.setGenotypeIndex(lOldTreeIndex); + ioContext.setGenotypeHandle(lOldTreeHandle); + if(lRoulette.size() == 0) return false; + std::pair lSelectedNode = + lRoulette.select(ioContext.getSystem().getRandomizer()); + outSelectTreeIndex = lSelectedNode.first; + outSelectNodeIndex = lSelectedNode.second; + return true; + Beagle_StackTraceEndM("bool GP::CrossoverConstrainedOp::selectNodeToMate(unsigned int& outSelectTreeIndex, unsigned int& outSelectNodeIndex, bool inSelectABranch, unsigned int inPrimitSetIndex, unsigned int inMaxSubTreeDepth, unsigned int inMaxSubTreeSize, GP::Individual& inIndividual, GP::Context& ioContext) const"); +} + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Select a node for mating in the given individual, following the constraints penalties. + * \param outSelectTreeIndex Tree index of the selected node. + * \param outSelectNodeIndex Index of the selected node. + * \param inSelectABranch True if node to select must be a branch, false if it must a leaf. + * \param inNodeReturnType Desired return type for the nodes to be selected. + * \param inPrimitSetIndex Primitive set index to which the tree must be associated. + * \param inMaxSubTreeDepth Maximum sub tree depth allowed of the node to be selected. + * \param inMaxSubTreeSize Maximum sub tree size allowed of the node to be selected. + * \param inIndividual Individual to select the node from. + * \param ioContext Evolutionary context. + * \return True if there was node to select, false if no node respected all constraints. + */ +bool GP::CrossoverConstrainedOp::selectNodeToMateWithType(unsigned int& outSelectTreeIndex, + unsigned int& outSelectNodeIndex, + bool inSelectABranch, + const std::type_info* inNodeReturnType, + unsigned int inPrimitSetIndex, + unsigned int inMaxSubTreeDepth, + unsigned int inMaxSubTreeSize, + GP::Individual& inIndividual, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + RouletteT< std::pair > lRoulette; + GP::Tree::Handle lOldTreeHandle = ioContext.getGenotypeHandle(); + const unsigned int lOldTreeIndex = ioContext.getGenotypeIndex(); + ioContext.emptyCallStack(); + for(unsigned int i=0; igetPrimitiveSetIndex() != inPrimitSetIndex) continue; + ioContext.setGenotypeHandle(inIndividual[i]); + ioContext.setGenotypeIndex(i); + buildRouletteWithType(lRoulette, + inSelectABranch, + inNodeReturnType, + inMaxSubTreeDepth, + inMaxSubTreeSize, + 0, + *inIndividual[i], + ioContext); + } + ioContext.setGenotypeIndex(lOldTreeIndex); + ioContext.setGenotypeHandle(lOldTreeHandle); + if(lRoulette.size() == 0) return false; + std::pair lSelectedNode = + lRoulette.select(ioContext.getSystem().getRandomizer()); + outSelectTreeIndex = lSelectedNode.first; + outSelectNodeIndex = lSelectedNode.second; + return true; + Beagle_StackTraceEndM("bool GP::CrossoverConstrainedOp::selectNodeToMateWithType(unsigned int& outSelectTreeIndex, unsigned int& outSelectNodeIndex, bool inSelectABranch, const std::type_info* inNodeReturnType, unsigned int inPrimitSetIndex, unsigned int inMaxSubTreeDepth, unsigned int inMaxSubTreeSize, GP::Individual& inIndividual, GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI diff --git a/lib/beagle-3.0.3/beagle/GP/src/CrossoverOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/CrossoverOp.cpp new file mode 100644 index 0000000..1bd40f9 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/CrossoverOp.cpp @@ -0,0 +1,413 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/CrossoverOp.cpp + * \brief Source code of class GP::CrossoverOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.12.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#include "beagle/GP.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a GP crossover operator. + * \param inMatingPbName Individual mating probability parameter name used in register. + * \param inDistribPbName Distribution probability parameter name used in register. + * \param inName Name of the operator. + */ +GP::CrossoverOp::CrossoverOp(Beagle::string inMatingPbName, + Beagle::string inDistribPbName, + Beagle::string inName) : + Beagle::CrossoverOp(inMatingPbName, inName), + mDistribPbName(inDistribPbName) +{ } + + +/*! + * \brief Initialize the GP crossover operator. + * \param ioSystem System of the evolution. + */ +void GP::CrossoverOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle::CrossoverOp::initialize(ioSystem); + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + ioSystem.getRegister().deleteEntry(mMatingProbaName); + } + + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + mMatingProba = castHandleT(ioSystem.getRegister()[mMatingProbaName]); + } else { + mMatingProba = new Float(float(0.9)); + Register::Description lDescription( + "Individual crossover probability", + "Float", + "0.9", + "Individual crossover probability at each generation." + ); + ioSystem.getRegister().addEntry(mMatingProbaName, mMatingProba, lDescription); + } + + if(ioSystem.getRegister().isRegistered(mDistribPbName)) { + mDistributionProba = castHandleT(ioSystem.getRegister()[mDistribPbName]); + } else { + mDistributionProba = new Float(float(0.9)); + string lLongDescrip = "Probability that a crossover point is a branch "; + lLongDescrip += "(node with sub-trees). Value of 1.0 means that all crossover points are "; + lLongDescrip += "branches, and value of 0.0 means that all crossover points are leaves."; + Register::Description lDescription( + "Crossover distribution prob.", + "Float", + "0.9", + lLongDescrip + ); + ioSystem.getRegister().addEntry(mDistribPbName, mDistributionProba, lDescription); + } + + if(ioSystem.getRegister().isRegistered("gp.tree.maxdepth")) { + mMaxTreeDepth = castHandleT(ioSystem.getRegister()["gp.tree.maxdepth"]); + } else { + mMaxTreeDepth = new UInt(17); + Register::Description lDescription( + "Maximum tree depth", + "UInt", + "17", + "Maximum allowed depth for the trees." + ); + ioSystem.getRegister().addEntry("gp.tree.maxdepth", mMaxTreeDepth, lDescription); + } + + if(ioSystem.getRegister().isRegistered("gp.try")) { + mNumberAttempts = castHandleT(ioSystem.getRegister()["gp.try"]); + } else { + mNumberAttempts = new UInt(2); + string lLongDescrip = "Maximum number of attempts to modify a GP tree in a genetic "; + lLongDescrip += "operation. As there is topological constraints on GP trees (i.e. tree "; + lLongDescrip += "depth limit), it is often necessary to try a genetic operation several times."; + Register::Description lDescription( + "Max number of attempts", + "UInt", + "2", + lLongDescrip + ); + ioSystem.getRegister().addEntry("gp.try", mNumberAttempts, lDescription); + } + Beagle_StackTraceEndM("void GP::CrossoverOp::initialize(Beagle::System& ioSystem)"); +} + + +/*! + * \brief Mate two GP individuals for a crossover. + * \param ioIndiv1 First individual to mate. + * \param ioContext1 Evolutionary context of the first individual. + * \param ioIndiv2 Second individual to mate. + * \param ioContext2 Evolutionary context of the second individual. + * \return True if the individuals are effectively mated, false if not. + */ +bool GP::CrossoverOp::mate(Beagle::Individual& ioIndiv1, Beagle::Context& ioContext1, + Beagle::Individual& ioIndiv2, Beagle::Context& ioContext2) +{ + Beagle_StackTraceBeginM(); + // Initial parameters checks + Beagle_AssertM(ioIndiv1.size() > 0); + Beagle_AssertM(ioIndiv1.size() == ioIndiv2.size()); + Beagle_ValidateParameterM(mNumberAttempts->getWrappedValue()>0,"gp.try",">0"); + + // Cast method arguments. + GP::Individual& lIndiv1 = castObjectT(ioIndiv1); + GP::Individual& lIndiv2 = castObjectT(ioIndiv2); + GP::Context& lContext1 = castObjectT(ioContext1); + GP::Context& lContext2 = castObjectT(ioContext2); + + // Get parameters in local values, with the total number of nodes of an individual. + bool lMatingDone = false; + float lDistrProba = mDistributionProba->getWrappedValue(); + unsigned int lMaxTreeDepth = mMaxTreeDepth->getWrappedValue(); + GP::Tree::Handle lOldTreeHandle1 = lContext1.getGenotypeHandle(); + unsigned int lOldTreeIndex1 = lContext1.getGenotypeIndex(); + GP::Tree::Handle lOldTreeHandle2 = lContext2.getGenotypeHandle(); + unsigned int lOldTreeIndex2 = lContext2.getGenotypeIndex(); + unsigned int lSizeIndiv1 = 0; + for(unsigned int i=0; isize(); + + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverOp", + string("First individual to mate (before GP crossover): ")+ + lIndiv1.serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverOp", + string("Second individual to mate (before GP crossover): ")+ + lIndiv2.serialize() + ); + + // Crossover loop. Try the given number of attempts to mate two individuals. + for(unsigned int lAttempt=0; lAttemptgetWrappedValue(); lAttempt++) { + + // Choose a node in all the individual node. + unsigned int lChoosenNode1 = + lContext1.getSystem().getRandomizer().rollInteger(0, lSizeIndiv1-1); + + // Get the tree in which the choosen node is. Change the global node index to the tree's index. + unsigned int lChoosenTree1 = 0; + for(; lChoosenTree1size()) break; + Beagle_AssertM(lChoosenNode1 >= lIndiv1[lChoosenTree1]->size()); + lChoosenNode1 -= lIndiv1[lChoosenTree1]->size(); + } + Beagle_AssertM(lChoosenTree1 < lIndiv1.size()); + + // Choose a type of node (branch or leaf) following the distribution probability and change the + // node for another node of the same tree if the types mismatch. + GP::Tree& lTree1 = *lIndiv1[lChoosenTree1]; + const unsigned int lPrimitiveSetIndex1 = lTree1.getPrimitiveSetIndex(); + if(lTree1.size() > 1) { + bool lTypeNode1 = + (lContext1.getSystem().getRandomizer().rollUniform(0.0, 1.0) < lDistrProba); + while((lTree1[lChoosenNode1].mPrimitive->getNumberArguments() != 0) != lTypeNode1) { + lChoosenNode1 = lContext1.getSystem().getRandomizer().rollInteger(0, lTree1.size()-1); + } + } + + // Choose a node in the second individual from a tree with the same primitive set index. + unsigned int lSizeIndiv2 = 0; + for(unsigned int i=0; igetPrimitiveSetIndex() == lPrimitiveSetIndex1) { + lSizeIndiv2 += lIndiv2[i]->size(); + } + } + + // Check to see that there is at least one node that can be selected + if(lSizeIndiv2==0) { + Beagle_LogVerboseM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverConstrainedOp", + string("Crossover attempt failed: The tree chosen from the first individual has a primitive set index of ")+ + uint2str(lPrimitiveSetIndex1)+ + string(" and there are no trees in the second individual with that primitive set index") + ); + continue; + } + + // Choose a node in the second individual + unsigned int lChoosenNode2 = lContext2.getSystem().getRandomizer().rollInteger(0, lSizeIndiv2-1); + + // Find which tree the choosen node is in. + unsigned int lChoosenTree2 = 0; + for(; lChoosenTree2getPrimitiveSetIndex() == lPrimitiveSetIndex1) { + if(lChoosenNode2 < lIndiv2[lChoosenTree2]->size()) break; + Beagle_AssertM(lChoosenNode2 >= lIndiv2[lChoosenTree2]->size()); + lChoosenNode2 -= lIndiv2[lChoosenTree2]->size(); + } + } + Beagle_AssertM(lChoosenTree2 < lIndiv2.size()); + GP::Tree& lTree2 = *lIndiv2[lChoosenTree2]; + + // Choose a type of node (branch or leaf) following the distribution probability and change the + // node for another node of the same tree if the types mismatch. + if(lTree2.size() > 1) { + bool lTypeNode2 = + (lContext2.getSystem().getRandomizer().rollUniform(0.0, 1.0) < lDistrProba); + while((lTree2[lChoosenNode2].mPrimitive->getNumberArguments() != 0) != lTypeNode2) { + lChoosenNode2 = lContext2.getSystem().getRandomizer().rollInteger(0, lTree2.size()-1); + } + } + + // Set the first context to the node of the first tree. + // Check if depth is ok. Do a new crossover attempt if not. + lTree1.setContextToNode(lChoosenNode1, lContext1); + unsigned int lNewDepthTree1 = + lContext1.getCallStackSize() + lTree2.getTreeDepth(lChoosenNode2) - 1; + if(lNewDepthTree1 > lMaxTreeDepth) { + Beagle_LogVerboseM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverConstrainedOp", + string("Crossover attempt failed because the depth of the resulting tree in the ")+ + string("first individual would exceed the depth constraint") + ); + continue; + } + + // Set the first context to the node of the second tree. + // Check if depth is ok. Do a new crossover attempt if not. + lTree2.setContextToNode(lChoosenNode2, lContext2); + unsigned int lNewDepthTree2 = + lContext2.getCallStackSize() + lTree1.getTreeDepth(lChoosenNode1) - 1; + if(lNewDepthTree2 > lMaxTreeDepth) { + Beagle_LogVerboseM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverConstrainedOp", + string("Crossover attempt failed because the depth of the resulting tree in the ")+ + string("second individual would exceed the depth constraint") + ); + continue; + } + + // Mate the trees. + Beagle_LogVerboseM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverOp", + string("Trying to mate the ")+uint2ordinal(lChoosenTree1+1)+ + string(" tree of the first individual with the ")+uint2ordinal(lChoosenTree2+1)+ + string(" tree of the second individual") + ); + Beagle_LogVerboseM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverOp", + string("Trying to exchange the ")+uint2ordinal(lChoosenNode1+1)+ + string(" node of the first tree with the ")+uint2ordinal(lChoosenNode2+1)+ + string(" node of the second tree") + ); + + mateTrees(lTree1, lChoosenNode1, lContext1, lTree2, lChoosenNode2, lContext2); + + lMatingDone = true; + Beagle_LogVerboseM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverOp", + "GP crossover valid" + ); + break; // The crossover is valid. + } + + // Replace the contexts. + lContext1.setGenotypeHandle(lOldTreeHandle1); + lContext1.setGenotypeIndex(lOldTreeIndex1); + lContext2.setGenotypeHandle(lOldTreeHandle2); + lContext2.setGenotypeIndex(lOldTreeIndex2); + + if(lMatingDone) { + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverOp", + string("First individual mated (after GP crossover): ")+ + lIndiv1.serialize() + ); + Beagle_LogDebugM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverOp", + string("Second individual mated (after GP crossover): ")+ + lIndiv2.serialize() + ); + } + else { + Beagle_LogVerboseM( + ioContext1.getSystem().getLogger(), + "crossover", "Beagle::GP::CrossoverOp", + "No GP crossover done" + ); + } + + return lMatingDone; + Beagle_StackTraceEndM("bool GP::CrossoverOp::mate(Beagle::Individual& ioIndiv1, Beagle::Context& ioContext1, Beagle::Individual& ioIndiv2, Beagle::Context& ioContext2)"); +} + + +/*! + * \brief Mate two GP trees on given points. + * \param ioTree1 First tree to mate. + * \param inNode1 Node index of the croosover point in the first tree to mate. + * \param ioContext1 Evolutionary context relatively to the first tree. + * \param ioTree2 Second tree to mate. + * \param inNode2 Node index of the croosover point in the second tree to mate. + * \param ioContext2 Evolutionary context relatively to the second tree. + */ +void GP::CrossoverOp::mateTrees(GP::Tree& ioTree1, unsigned int inNode1, GP::Context& ioContext1, + GP::Tree& ioTree2, unsigned int inNode2, GP::Context& ioContext2) +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(&ioTree1 != &ioTree2); + unsigned int lSwapSize1 = ioTree1[inNode1].mSubTreeSize; + unsigned int lSwapSize2 = ioTree2[inNode2].mSubTreeSize; + if(lSwapSize1 <= lSwapSize2) { + std::swap_ranges(ioTree1.begin()+inNode1, ioTree1.begin()+inNode1+lSwapSize1, ioTree2.begin()+inNode2); + ioTree1.insert(ioTree1.begin()+inNode1+lSwapSize1, + ioTree2.begin()+inNode2+lSwapSize1, + ioTree2.begin()+inNode2+lSwapSize2); + ioTree2.erase(ioTree2.begin()+inNode2+lSwapSize1, ioTree2.begin()+inNode2+lSwapSize2); + } + else { + std::swap_ranges(ioTree1.begin()+inNode1, ioTree1.begin()+inNode1+lSwapSize2, ioTree2.begin()+inNode2); + ioTree2.insert(ioTree2.begin()+inNode2+lSwapSize2, + ioTree1.begin()+inNode1+lSwapSize2, + ioTree1.begin()+inNode1+lSwapSize1); + ioTree1.erase(ioTree1.begin()+inNode1+lSwapSize2, ioTree1.begin()+inNode1+lSwapSize1); + } + int lDiffSize = lSwapSize1 - lSwapSize2; + for(unsigned int i=0; i<(ioContext1.getCallStackSize()-1); i++) + ioTree1[ioContext1.getCallStackElement(i)].mSubTreeSize -= lDiffSize; + for(unsigned int j=0; j<(ioContext2.getCallStackSize()-1); j++) + ioTree2[ioContext2.getCallStackElement(j)].mSubTreeSize += lDiffSize; + Beagle_StackTraceEndM("void GP::CrossoverOp::mateTrees(GP::Tree& ioTree1, unsigned int inNode1, GP::Context& ioContext1, GP::Tree& ioTree2, unsigned int inNode2, GP::Context& ioContext2)"); +} + + +/*! + * \brief Read a crossover operator for XML subtree. + * \param inIter XML iterator to use to read crossover operator. + * \param inOpMap Operator map to use to read crossover operator. + */ +void GP::CrossoverOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string mMatingProbaReadName = inIter->getAttribute("matingpb").c_str(); + if(mMatingProbaReadName.empty() == false) mMatingProbaName = mMatingProbaReadName; + string mDistribPbReadName = inIter->getAttribute("distrpb").c_str(); + if(mDistribPbReadName.empty() == false) mDistribPbName = mDistribPbReadName; + Beagle_StackTraceEndM("void GP::CrossoverOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write crossover operator into XML streamer. + * \param ioStreamer XML streamer to write crossover operator into. + * \param inIndent Whether XML output should be indented. + */ +void GP::CrossoverOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + Beagle::CrossoverOp::writeContent(ioStreamer, inIndent); + ioStreamer.insertAttribute("distrpb", mDistribPbName); + Beagle_StackTraceEndM("void GP::CrossoverOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/Deme.cpp b/lib/beagle-3.0.3/beagle/GP/src/Deme.cpp new file mode 100644 index 0000000..02ee173 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Deme.cpp @@ -0,0 +1,92 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Deme.cpp + * \brief Source code of class GP::Deme. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a deme. + * \par Note: + * Use a default GP::Individual allocator to initialize the population. + */ +GP::Deme::Deme() : + Beagle::Deme(new GP::Individual::Alloc(new GP::Tree::Alloc)) +{ } + + +/*! + * \brief Construct a deme with a GP individual allocator. + * \param inIndividualAlloc Handle to the allocator of individuals. + */ +GP::Deme::Deme(GP::Individual::Alloc::Handle inIndividualAlloc) : + Beagle::Deme(inIndividualAlloc) +{ } + + +/*! + * \brief Construct a deme with a GP individual allocator and a statistics deme. + * \param inIndividualAlloc Handle to the allocator of individuals. + * \param inStatsAlloc Statistics allocator. + * \param inHOFAlloc Hall-of-fame allocator. + * \param inN Size of deme. + */ +GP::Deme::Deme(GP::Individual::Alloc::Handle inIndividualAlloc, + Stats::Alloc::Handle inStatsAlloc, + HallOfFame::Alloc::Handle inHOFAlloc, + unsigned int inN) : + Beagle::Deme(inIndividualAlloc, inStatsAlloc, inHOFAlloc, inN) +{ } + + +/*! + * \brief Construct a deme with a GP tree allocator. + * \param inGenotypeAlloc Genotype allocator. + */ +GP::Deme::Deme(GP::Tree::Alloc::Handle inGenotypeAlloc) : + Beagle::Deme(new GP::Individual::Alloc(inGenotypeAlloc)) +{ } + + +/*! + * \brief Construct a deme with a GP tree allocator and a fitness allocator. + * \param inGenotypeAlloc Genotype allocator. + * \param inFitnessAlloc Fitness allocator. + */ +GP::Deme::Deme(GP::Tree::Alloc::Handle inGenotypeAlloc, Fitness::Alloc::Handle inFitnessAlloc) : + Beagle::Deme(new GP::Individual::Alloc(inGenotypeAlloc, inFitnessAlloc)) +{ } + diff --git a/lib/beagle-3.0.3/beagle/GP/src/EphemeralDouble.cpp b/lib/beagle-3.0.3/beagle/GP/src/EphemeralDouble.cpp new file mode 100644 index 0000000..18277e6 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/EphemeralDouble.cpp @@ -0,0 +1,64 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/EphemeralDouble.cpp + * \brief Source code of class GP::EphemeralDouble. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a new ephemeral constant. If the value is NULL, act a an ephemeral generator. + * \param inValue Value of the ephemeral constant. When NULL, act a an ephemeral generator. + * \param inName Name of the ephemeral primitive. + */ +GP::EphemeralDouble::EphemeralDouble(Double::Handle inValue, Beagle::string inName) : + EphemeralT(inValue, inName) +{ } + + +/*! + * \brief Generate a new random ephemeral Double constant between [-1,1]. + * \param inName Name of the constant. + * \param ioContext Context to use to generate the value. + * \return Handle to the ephemeral Double constant generated. + */ +GP::Primitive::Handle GP::EphemeralDouble::generate(Beagle::string inName, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Double::Handle lValue = new Double(ioContext.getSystem().getRandomizer().rollUniform(-1.,1.)); + return new EphemeralDouble(lValue, inName); + Beagle_StackTraceEndM("GP::Primitive::Handle GP::EphemeralDouble::generate(string inName, GP::Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/EvaluationOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/EvaluationOp.cpp new file mode 100644 index 0000000..e25a290 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/EvaluationOp.cpp @@ -0,0 +1,103 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/EvaluationOp.cpp + * \brief Source code of class GP::EvaluationOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#include "beagle/GP.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a evaluation operator. + * \param inName Name of the operator. + */ +GP::EvaluationOp::EvaluationOp(Beagle::string inName) : + Beagle::EvaluationOp(inName) +{ } + + +/*! + * \brief Evaluate the fitness of the given GP individual. + * \param inIndividual Current individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness value of the GP individual. + */ +Fitness::Handle GP::EvaluationOp::evaluate(Beagle::Individual& inIndividual, + Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + return evaluate(castObjectT(inIndividual), castObjectT(ioContext)); + Beagle_StackTraceEndM("Fitness::Handle GP::EvaluationOp::evaluate(Beagle::Individual& inIndividual, Beagle::Context& ioContext)"); +} + + +/*! + * \brief Set the value of the named GP primitive of the primitive sets. + * \param inName Name of the variable to set. + * \param inValue Value of the primitive. + * \param ioContext Context of the evaluation. + * \throw Beagle::RunTimeException If the named primitive is not found in any sets. + */ +void GP::EvaluationOp::setValue(Beagle::string inName, + const Object& inValue, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + GP::PrimitiveSuperSet& lSuperSet = ioContext.getSystem().getPrimitiveSuperSet(); + bool lValueFound = false; + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::GP::EvaluationOp", + string("Setting the primitives named \"")+inName+ + string("\" to the value: ")+inValue.serialize() + ); + for(unsigned int i=0; igetPrimitiveByName(inName); + if(!lPrimitive) continue; + lValueFound = true; + lPrimitive->setValue(inValue); + } + if(lValueFound == false) { + string lMessage = "The primitive named \""; + lMessage += inName; + lMessage += "\" was not found in any "; + lMessage += "of the primitive sets. Maybe the primitive was not properly inserted "; + lMessage += "or the name is mispelled."; + throw Beagle_RunTimeExceptionM(lMessage); + } + Beagle_StackTraceEndM("void GP::EvaluationOp::setValue(string inName, const Object& inValue, GP::Context& ioContext) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/Evolver.cpp b/lib/beagle-3.0.3/beagle/GP/src/Evolver.cpp new file mode 100644 index 0000000..93078b5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Evolver.cpp @@ -0,0 +1,121 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Evolver.cpp + * \brief Source code of class GP::Evolver. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.15.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#include "beagle/GP.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a GP Generational evolver. + */ +GP::Evolver::Evolver() +{ + Beagle_StackTraceBeginM(); + addBasicOperators(); + Beagle_StackTraceEndM("GP::Evolver::Evolver()"); +} + + +/*! + * \brief Construct a GP Generational evolver. + * \param inEvalOp GP evaluation operator. + */ +GP::Evolver::Evolver(Beagle::EvaluationOp::Handle inEvalOp) +{ + Beagle_StackTraceBeginM(); + addOperator(inEvalOp); + addBasicOperators(); + + addBootStrapOp("IfThenElseOp"); + IfThenElseOp::Handle lITE = castHandleT(getBootStrapSet().back()); + lITE->setConditionTag("ms.restart.file"); + lITE->setConditionValue(""); + lITE->insertPositiveOp("GP-InitHalfOp", getOperatorMap()); + lITE->insertPositiveOp(inEvalOp->getName(), getOperatorMap()); + lITE->insertPositiveOp("GP-StatsCalcFitnessSimpleOp", getOperatorMap()); + lITE->insertNegativeOp("MilestoneReadOp", getOperatorMap()); + addBootStrapOp("TermMaxGenOp"); + addBootStrapOp("MilestoneWriteOp"); + + addMainLoopOp("SelectTournamentOp"); + addMainLoopOp("GP-CrossoverOp"); + addMainLoopOp("GP-MutationStandardOp"); + addMainLoopOp("GP-MutationShrinkOp"); + addMainLoopOp("GP-MutationSwapOp"); + addMainLoopOp("GP-MutationSwapSubtreeOp"); + addMainLoopOp(inEvalOp->getName()); + addMainLoopOp("MigrationRandomRingOp"); + addMainLoopOp("GP-StatsCalcFitnessSimpleOp"); + addMainLoopOp("TermMaxGenOp"); + addMainLoopOp("MilestoneWriteOp"); + Beagle_StackTraceEndM("GP::Evolver::Evolver(Beagle::EvaluationOp::Handle)"); +} + +/*! + * \brief Add the basic operators into the operator map. + */ +void GP::Evolver::addBasicOperators() +{ + Beagle_StackTraceBeginM(); + Beagle::Evolver::addBasicOperators(); + addOperator(new GP::InitGrowOp); + addOperator(new GP::InitFullOp); + addOperator(new GP::InitHalfOp); + addOperator(new GP::CrossoverOp); + addOperator(new GP::MutationStandardOp); + addOperator(new GP::MutationShrinkOp); + addOperator(new GP::MutationSwapOp); + addOperator(new GP::MutationSwapSubtreeOp); + addOperator(new GP::InitGrowConstrainedOp); + addOperator(new GP::InitFullConstrainedOp); + addOperator(new GP::InitHalfConstrainedOp); + addOperator(new GP::CrossoverConstrainedOp); + addOperator(new GP::MutationStandardConstrainedOp); + addOperator(new GP::MutationShrinkConstrainedOp); + addOperator(new GP::MutationSwapConstrainedOp); + addOperator(new GP::MutationSwapSubtreeConstrainedOp); + addOperator(new GP::MutationEphemeralDoubleOp); + addOperator(new GP::StatsCalcFitnessKozaOp); + addOperator(new GP::StatsCalcFitnessSimpleOp); + addOperator(new GP::StatsCalcFitnessSimpleOp("GP-StatsCalcFitnessSimpleMinOp")); + addOperator(new GP::PrimitiveUsageStatsOp); + addOperator(new GP::TermMaxHitsOp); + addOperator(new GP::ModuleCompressOp); + addOperator(new GP::ModuleExpandOp); + Beagle_StackTraceEndM("GP::Evolver::addBasicOperators()"); +} diff --git a/lib/beagle-3.0.3/beagle/GP/src/ExecutionException.cpp b/lib/beagle-3.0.3/beagle/GP/src/ExecutionException.cpp new file mode 100644 index 0000000..7f556cc --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/ExecutionException.cpp @@ -0,0 +1,58 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/ExecutionException.cpp + * \brief Implementation of class GP::ExecutionException. + * \author Christian Gagne + * \author Matthew Walker + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a new ExecutionException object. + * \param inMessage Message describing the exception. + */ +GP::ExecutionException::ExecutionException(Beagle::string inMessage) : + Exception(inMessage) +{ } + + +/*! + * \brief Get the name of the exception. + * \return Name of the exception. + */ +const char* GP::ExecutionException::getExceptionName() const throw() +{ + return "Beagle::GP::ExecutionException"; +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/Exp.cpp b/lib/beagle-3.0.3/beagle/GP/src/Exp.cpp new file mode 100644 index 0000000..9881b6c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Exp.cpp @@ -0,0 +1,103 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Exp.cpp + * \brief Source code of class GP::Exp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#include "beagle/GP.hpp" + +#include + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + +using namespace Beagle; + + +/*! + * \brief Construct a new exponential primitive. + * \param inName Name of the exponential primitive. + */ +GP::Exp::Exp(Beagle::string inName) : + Beagle::GP::Primitive(1, inName) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive Exp. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type needed. + * \throw AssertException If the index inN given is greater than 0. + */ +const std::type_info* GP::Exp::getArgType(unsigned int inN, GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN<1); + return &typeid(Double); + Beagle_StackTraceEndM("const std::type_info* GP::Exp::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the tag of the type of data return by primitive Exp. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +const std::type_info* GP::Exp::getReturnType(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(Double); + Beagle_StackTraceEndM("const std::type_info* GP::Exp::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Execute the characteristic operation of a exponential of number. + * \param outResult Result of the exponential. + * \param ioContext Evolutionary context. + */ +void GP::Exp::execute(GP::Datum& outResult, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Double& lResult = castObjectT(outResult); + get1stArgument(lResult, ioContext); + if(lResult < 80.) lResult = std::exp(lResult); + else lResult = 1.; + Beagle_StackTraceEndM("void GP::Exp::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/FitnessKoza.cpp b/lib/beagle-3.0.3/beagle/GP/src/FitnessKoza.cpp new file mode 100644 index 0000000..a97efa9 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/FitnessKoza.cpp @@ -0,0 +1,416 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/FitnessKoza.cpp + * \brief Source code of class FitnessKoza. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.12.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#include "beagle/GP.hpp" + +#include +#include +#include + +using namespace Beagle; + + +/*! + * \brief Default construct a Koza's fitness object. + */ +GP::FitnessKoza::FitnessKoza() : + FitnessSimple(), + mAdjustedFitness(0.), + mStandardizedFitness(0.), + mRawFitness(0.), + mHits(0) +{ } + + +/*! + * \brief Construct a valid Koza's fitness object. + * \param inNormalizedFitness Normalized fitness value. + * \param inAdjustedFitness Adjusted fitness value. + * \param inStandardizedFitness Standardized fitness value. + * \param inRawFitness Raw fitness value. + * \param inHits Number of hits. + */ +GP::FitnessKoza::FitnessKoza(float inNormalizedFitness, + float inAdjustedFitness, + float inStandardizedFitness, + float inRawFitness, + unsigned int inHits) +{ + Beagle_StackTraceBeginM(); + setFitness(inNormalizedFitness, + inAdjustedFitness, + inStandardizedFitness, + inRawFitness, + inHits); + Beagle_StackTraceEndM("GP::FitnessKoza::FitnessKoza(float inNormalizedFitness, float inAdjustedFitness, float inStandardizedFitness, float inRawFitness, unsigned int inHits)"); +} + + +/*! + * \brief Calculate statistics of a given deme. + * \param ioDeme Deme to evalute the statistics. + * \param ioContext Context of the evolution. + * \return Handle to a generationnal statistics of the given deme. + */ +void GP::FitnessKoza::calculateStats(Beagle::Deme& ioDeme, Beagle::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + if(ioDeme.size() == 0) { + Stats& lStats = *ioDeme.getStats(); + lStats.setGenerationValues(string("deme")+uint2str(ioContext.getDemeIndex()+1), + ioContext.getGeneration(), + 0, + true); + + lStats.resize(7); + lStats[0].mId = "normalized"; + lStats[0].mAvg = 0.0; + lStats[0].mStd = 0.0; + lStats[0].mMax = 0.0; + lStats[0].mMin = 0.0; + + lStats[1].mId = "adjusted"; + lStats[1].mAvg = 0.0; + lStats[1].mStd = 0.0; + lStats[1].mMax = 0.0; + lStats[1].mMin = 0.0; + + lStats[2].mId = "standardized"; + lStats[2].mAvg = 0.0; + lStats[2].mStd = 0.0; + lStats[2].mMax = 0.0; + lStats[2].mMin = 0.0; + + lStats[3].mId = "raw"; + lStats[3].mAvg = 0.0; + lStats[3].mStd = 0.0; + lStats[3].mMax = 0.0; + lStats[3].mMin = 0.0; + + lStats[4].mId = "hits"; + lStats[4].mAvg = 0.0; + lStats[4].mStd = 0.0; + lStats[4].mMax = 0.0; + lStats[4].mMin = 0.0; + + lStats[5].mId = "treedepth"; + lStats[5].mAvg = 0.0; + lStats[5].mStd = 0.0; + lStats[5].mMax = 0.0; + lStats[5].mMin = 0.0; + + lStats[6].mId = "treesize"; + lStats[6].mAvg = 0.0; + lStats[6].mStd = 0.0; + lStats[6].mMax = 0.0; + lStats[6].mMin = 0.0; + return; + } + + const GP::Deme& lGPDeme = castObjectT(ioDeme); + const GP::FitnessKoza::Handle lFirstIndivFitness = + castHandleT(lGPDeme[0]->getFitness()); + double lSumNrm = (double)lFirstIndivFitness->getNormalizedFitness(); + double lPow2SumNrm = pow2Of(lSumNrm); + double lMaxNrm = (double)lFirstIndivFitness->getNormalizedFitness(); + double lMinNrm = (double)lFirstIndivFitness->getNormalizedFitness(); + double lSumAdj = (double)lFirstIndivFitness->getAdjustedFitness(); + double lPow2SumAdj = pow2Of(lSumAdj); + double lMaxAdj = (double)lFirstIndivFitness->getAdjustedFitness(); + double lMinAdj = (double)lFirstIndivFitness->getAdjustedFitness(); + double lSumStd = (double)lFirstIndivFitness->getStandardizedFitness(); + double lPow2SumStd = pow2Of(lSumStd); + double lMaxStd = (double)lFirstIndivFitness->getStandardizedFitness(); + double lMinStd = (double)lFirstIndivFitness->getStandardizedFitness(); + double lSumRaw = (double)lFirstIndivFitness->getRawFitness(); + double lPow2SumRaw = pow2Of(lSumRaw); + double lMaxRaw = (double)lFirstIndivFitness->getRawFitness(); + double lMinRaw = (double)lFirstIndivFitness->getRawFitness(); + double lSumHit = (double)lFirstIndivFitness->getHits(); + double lPow2SumHit = pow2Of(lSumHit); + unsigned int lMaxHit = lFirstIndivFitness->getHits(); + unsigned int lMinHit = lFirstIndivFitness->getHits(); + + unsigned int lMaxDepth = lGPDeme[0]->getMaxTreeDepth(); + unsigned int lMinDepth = lMaxDepth; + double lSumDepth = (double)lMaxDepth; + double lPow2SumDepth = pow2Of(lSumDepth); + unsigned int lMaxSize = lGPDeme[0]->getTotalNodes(); + unsigned int lMinSize = lMaxSize; + double lSumSize = (double)lMaxSize; + double lPow2SumSize = pow2Of(lSumSize); + + for(unsigned int i=1; i(lGPDeme[i]->getFitness()); + lSumNrm += (double)lIndivFitness->getNormalizedFitness(); + lPow2SumNrm += pow2Of((double)lIndivFitness->getNormalizedFitness()); + lSumAdj += (double)lIndivFitness->getAdjustedFitness(); + lPow2SumAdj += pow2Of((double)lIndivFitness->getAdjustedFitness()); + lSumStd += (double)lIndivFitness->getStandardizedFitness(); + lPow2SumStd += pow2Of(lIndivFitness->getStandardizedFitness()); + lSumRaw += (double)lIndivFitness->getRawFitness(); + lPow2SumRaw += pow2Of((double)lIndivFitness->getRawFitness()); + lSumHit += (double)lIndivFitness->getHits(); + lPow2SumHit += pow2Of((double)lIndivFitness->getHits()); + if(((double)lIndivFitness->getNormalizedFitness()) > lMaxNrm) { + lMaxNrm = lIndivFitness->getNormalizedFitness(); + lMaxAdj = lIndivFitness->getAdjustedFitness(); + lMaxStd = lIndivFitness->getStandardizedFitness(); + lMaxRaw = lIndivFitness->getRawFitness(); + lMaxHit = lIndivFitness->getHits(); + } + if(((double)lIndivFitness->getNormalizedFitness()) < lMinNrm) { + lMinNrm = lIndivFitness->getNormalizedFitness(); + lMinAdj = lIndivFitness->getAdjustedFitness(); + lMinStd = lIndivFitness->getStandardizedFitness(); + lMinRaw = lIndivFitness->getRawFitness(); + lMinHit = lIndivFitness->getHits(); + } + + unsigned int lTmpDepth = lGPDeme[i]->getMaxTreeDepth(); + lSumDepth += (double)lTmpDepth; + lPow2SumDepth += pow2Of((double)lTmpDepth); + lMaxDepth = maxOf(lMaxDepth, lTmpDepth); + lMinDepth = minOf(lMinDepth, lTmpDepth); + + unsigned int lTmpSize = lGPDeme[i]->getTotalNodes(); + lSumSize += (double)lTmpSize; + lPow2SumSize += pow2Of((double)lTmpSize); + lMaxSize = maxOf(lMaxSize, lTmpSize); + lMinSize = minOf(lMinSize, lTmpSize); + } + + double lNrmAverage = (lSumNrm / lGPDeme.size()); + double lNrmStdError = + (lPow2SumNrm - (pow2Of(lSumNrm) / lGPDeme.size())) / (lGPDeme.size() - 1); + lNrmStdError = sqrt(lNrmStdError); + + double lAdjAverage = (lSumAdj / lGPDeme.size()); + double lAdjStdError = + (lPow2SumAdj - (pow2Of(lSumAdj) / lGPDeme.size())) / (lGPDeme.size() - 1); + lAdjStdError = sqrt(lAdjStdError); + + double lStdAverage = (lSumStd / lGPDeme.size()); + double lStdStdError = + (lPow2SumStd - (pow2Of(lSumStd) / lGPDeme.size())) / (lGPDeme.size() - 1); + lStdStdError = sqrt(lStdStdError); + + double lRawAverage = (lSumRaw / lGPDeme.size()); + double lRawStdError = + (lPow2SumRaw - (pow2Of(lSumRaw) / lGPDeme.size())) / (lGPDeme.size() - 1); + lRawStdError = sqrt(lRawStdError); + + double lHitAverage = (lSumHit / lGPDeme.size()); + double lHitStdError = + (lPow2SumHit - (pow2Of(lSumHit) / lGPDeme.size())) / (lGPDeme.size() - 1); + lHitStdError = sqrt(lHitStdError); + + double lDepthAverage = (lSumDepth / lGPDeme.size()); + double lDepthStdError = + (lPow2SumDepth - (pow2Of(lSumDepth) / lGPDeme.size())) / (lGPDeme.size() - 1); + lDepthStdError = sqrt(lDepthStdError); + + double lSizeAverage = (lSumSize / lGPDeme.size()); + double lSizeStdError = + (lPow2SumSize - (pow2Of(lSumSize) / lGPDeme.size())) / (lGPDeme.size() - 1); + lSizeStdError = sqrt(lSizeStdError); + + Stats& lStats = *ioDeme.getStats(); + lStats.setGenerationValues(string("deme")+uint2str(ioContext.getDemeIndex()+1), + ioContext.getGeneration(), + ioDeme.size(), + true); + + lStats.resize(7); + lStats[0].mId = "normalized"; + lStats[0].mAvg = lNrmAverage; + lStats[0].mStd = lNrmStdError; + lStats[0].mMax = lMaxNrm; + lStats[0].mMin = lMinNrm; + + lStats[1].mId = "adjusted"; + lStats[1].mAvg = lAdjAverage; + lStats[1].mStd = lAdjStdError; + lStats[1].mMax = lMaxAdj; + lStats[1].mMin = lMinAdj; + + lStats[2].mId = "standardized"; + lStats[2].mAvg = lStdAverage; + lStats[2].mStd = lStdStdError; + lStats[2].mMax = lMaxStd; + lStats[2].mMin = lMinStd; + + lStats[3].mId = "raw"; + lStats[3].mAvg = lRawAverage; + lStats[3].mStd = lRawStdError; + lStats[3].mMax = lMaxRaw; + lStats[3].mMin = lMinRaw; + + lStats[4].mId = "hits"; + lStats[4].mAvg = lHitAverage; + lStats[4].mStd = lHitStdError; + lStats[4].mMax = (float)lMaxHit; + lStats[4].mMin = (float)lMinHit; + + lStats[5].mId = "treedepth"; + lStats[5].mAvg = lDepthAverage; + lStats[5].mStd = lDepthStdError; + lStats[5].mMax = (float)lMaxDepth; + lStats[5].mMin = (float)lMinDepth; + + lStats[6].mId = "treesize"; + lStats[6].mAvg = lSizeAverage; + lStats[6].mStd = lSizeStdError; + lStats[6].mMax = (float)lMaxSize; + lStats[6].mMin = (float)lMinSize; + Beagle_StackTraceEndM("void GP::FitnessKoza::calculateStats(Beagle::Deme& ioDeme, Beagle::Context& ioContext) const"); +} + + +/*! + * \brief Read a Koza's fitness from a XML subtree. + * \param inIter XML iterator to use to read the fitness values. + */ +void GP::FitnessKoza::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Fitness")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + string lType = inIter->getAttribute("type").c_str(); + if(lType != "koza") throw Beagle_IOExceptionNodeM(*inIter, "fitness type mismatch!"); + + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == PACC::XML::eData) { + if(lChild->getValue() == "Normalized") { + PACC::XML::ConstIterator lChild2 = lChild->getFirstChild(); + if(!lChild2) throw Beagle_IOExceptionNodeM(*lChild, "no normalized fitness value present!"); + if(lChild2->getType() != PACC::XML::eString) + throw Beagle_IOExceptionNodeM(*lChild2, "no normalized fitness value present!"); + mFitness = str2dbl(lChild2->getValue().c_str()); + } + else if(lChild->getValue() == "Adjusted") { + PACC::XML::ConstIterator lChild2 = lChild->getFirstChild(); + if(!lChild2) throw Beagle_IOExceptionNodeM(*lChild, "no adjusted fitness value present!"); + if(lChild2->getType() != PACC::XML::eString) + throw Beagle_IOExceptionNodeM(*lChild2, "no adjusted fitness value present!"); + mAdjustedFitness = str2dbl(lChild2->getValue().c_str()); + } + else if(lChild->getValue() == "Standardized") { + PACC::XML::ConstIterator lChild2 = lChild->getFirstChild(); + if(!lChild2) throw Beagle_IOExceptionNodeM(*lChild, "no standardized fitness value present!"); + if(lChild2->getType() != PACC::XML::eString) + throw Beagle_IOExceptionNodeM(*lChild2, "no standardized fitness value present!"); + mStandardizedFitness = str2dbl(lChild2->getValue().c_str()); + } + else if(lChild->getValue() == "Raw") { + PACC::XML::ConstIterator lChild2 = lChild->getFirstChild(); + if(!lChild2) throw Beagle_IOExceptionNodeM(*lChild, "no raw fitness value present!"); + if(lChild2->getType() != PACC::XML::eString) + throw Beagle_IOExceptionNodeM(*lChild2, "no raw fitness value present!"); + mRawFitness = str2dbl(lChild2->getValue().c_str()); + } + else if(lChild->getValue() == "Hits") { + PACC::XML::ConstIterator lChild2 = lChild->getFirstChild(); + if(!lChild2) throw Beagle_IOExceptionNodeM(*lChild, "no hits value present!"); + if(lChild2->getType() != PACC::XML::eString) + throw Beagle_IOExceptionNodeM(*lChild2, "no hits value present!"); + mHits = str2uint(lChild2->getValue().c_str()); + } + } + } + Beagle_StackTraceEndM("void GP::FitnessKoza::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Set the fitness value and validity. + * \param inNormalizedFitness Normalized fitness value. + * \param inAdjustedFitness Adjusted fitness value. + * \param inStandardizedFitness Standardized fitness value. + * \param inRawFitness Raw fitness value. + * \param inHits Number of hits. + */ +void GP::FitnessKoza::setFitness(float inNormalizedFitness, + float inAdjustedFitness, + float inStandardizedFitness, + float inRawFitness, + unsigned int inHits) +{ + Beagle_StackTraceBeginM(); + if(isFinite(inNormalizedFitness)) mFitness = inNormalizedFitness; + else mFitness = FLT_MIN; + if(isFinite(inAdjustedFitness)) mAdjustedFitness = inAdjustedFitness; + else mAdjustedFitness = 0.; + if(isFinite(inStandardizedFitness)) mStandardizedFitness = inStandardizedFitness; + else mStandardizedFitness = 0.; + if(isFinite(inRawFitness)) mRawFitness = inRawFitness; + else mRawFitness = 0.; + mHits = inHits; + setValid(); + Beagle_StackTraceEndM("void GP::FitnessKoza::setFitness(float inNormalizedFitness, float inAdjustedFitness, float inStandardizedFitness, float inRawFitness, unsigned int inHits)"); +} + + +/*! + * \brief Write a Koza's fitness into a Beagle XML streamer. + * \param ioStreamer XML streamer to use to write the fitness values. + * \param inIndent Whether XML output should be indented. + */ +void GP::FitnessKoza::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Fitness", inIndent); + ioStreamer.insertAttribute("type", "koza"); + ioStreamer.openTag("Normalized", false); + ioStreamer.insertStringContent(dbl2str(mFitness).c_str()); + ioStreamer.closeTag(); + ioStreamer.openTag("Adjusted", false); + ioStreamer.insertStringContent(dbl2str(mAdjustedFitness).c_str()); + ioStreamer.closeTag(); + ioStreamer.openTag("Standardized", false); + ioStreamer.insertStringContent(dbl2str(mStandardizedFitness).c_str()); + ioStreamer.closeTag(); + ioStreamer.openTag("Raw", false); + ioStreamer.insertStringContent(dbl2str(mRawFitness).c_str()); + ioStreamer.closeTag(); + ioStreamer.openTag("Hits", false); + ioStreamer.insertStringContent(uint2str(mHits).c_str()); + ioStreamer.closeTag(); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void GP::FitnessKoza::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/Individual.cpp b/lib/beagle-3.0.3/beagle/GP/src/Individual.cpp new file mode 100644 index 0000000..636564d --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Individual.cpp @@ -0,0 +1,294 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Individual.cpp + * \brief Source code of class GP::Individual. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.20.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#include "beagle/GP.hpp" +#include "beagle/RouletteT.hpp" + +using namespace Beagle; + + +/*! + * \brief Contruct a GP individual. + * \par Note: + * Use GP::Tree allocator to allocate the genotypes. + */ +GP::Individual::Individual() : + Beagle::Individual(new GP::Tree::Alloc) +{ } + + +/*! + * \brief Contruct a GP individual from a GP tree allocator. + * \param inGenotypeAlloc Allocator of GP trees. + */ +GP::Individual::Individual(GP::Tree::Alloc::Handle inGenotypeAlloc) : + Beagle::Individual(inGenotypeAlloc) +{ } + + +/*! + * \brief Contruct a GP individual from a genotype allocator and a fitness allocator. + * \param inGenotypeAlloc Allocator of GP trees. + * \param inFitnessAlloc Fitness allocator. + * \param inN Number of genotypes of the GP individual. + */ +GP::Individual::Individual(GP::Tree::Alloc::Handle inGenotypeAlloc, + Fitness::Alloc::Handle inFitnessAlloc, + size_type inN) : + Beagle::Individual(inGenotypeAlloc, inFitnessAlloc, inN) +{ } + + +/*! + * \brief Randomly select a tree from the individual. The + * selection is biased towards trees with a greater number of nodes + * (i.e. Each node has an equal probability of being selected. + * \return Randomly selected tree + */ +unsigned int GP::Individual::chooseRandomTree(Beagle::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + unsigned int lChosenNode = ioContext.getSystem().getRandomizer().rollInteger(0, getTotalNodes()-1); + unsigned int lChosenTree = 0; + for(; (lChosenTree+1)size()) break; + else lChosenNode -= (*this)[lChosenTree]->size(); + } + return lChosenTree; + Beagle_StackTraceEndM("unsigned int GP::Individual::chooseRandomTree(Beagle::Context& ioContext) const"); +} + + +/*! + * \brief Randomly select a node from a specific tree in the + * individual. Each node has an equal probability of being selected. + * \return Randomly selected tree + */ +unsigned int GP::Individual::chooseRandomNode(unsigned int inTree, Beagle::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(operator[](inTree)->size()!=0); + return ioContext.getSystem().getRandomizer().rollInteger(0, operator[](inTree)->size()-1); + Beagle_StackTraceEndM("unsigned int GP::Individual::chooseRandomNode(unsigned int inTree, Beagle::Context& ioContext) const"); +} + + +/*! + * \brief Randomly select a node that takes arguments from a specific + * tree in the individual. + * \return Randomly selected tree + */ +unsigned int GP::Individual::chooseRandomNodeWithArgs(unsigned int inTree, + Beagle::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + const GP::Tree& lTree = *(operator[](inTree)); + unsigned int lSize = lTree.size(); + if (lSize < 2) { + throw Beagle_RunTimeExceptionM(string("In GP::Individual::chooseRandomNodeWithArgs(): ")+ + string("Could not choose a node with arguments because the specified tree has fewer ")+ + string("than two (")+uint2str(lSize)+string(") nodes, hence there are no such nodes")+ + string(" in the tree. This occurred while calling chooseRandomNodeWithArgs() with an ")+ + string("inTree value of ")+uint2str(inTree)); + } + + // Loop through the tree adding appropriate nodes into the roulette + RouletteT lRoulette; + for (unsigned int i=0; i 1) lRoulette.insert(i); + } + + // Select node with roulette + Beagle_AssertM(!lRoulette.empty()); + return lRoulette.select(ioContext.getSystem().getRandomizer()); + Beagle_StackTraceEndM("unsigned int GP::Individual::chooseRandomNodeWithArgs(unsigned int inTree, Beagle::Context& ioContext) const"); +} + + +/*! + * \brief Randomly select a node that takes no argument from a specific + * tree in the individual. + * \return Randomly selected tree + */ +unsigned int GP::Individual::chooseRandomNodeWithoutArgs(unsigned int inTree, + Beagle::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + // Loop through the tree adding appropriate nodes into the roulette + unsigned int lSize = operator[](inTree)->size(); + RouletteT lRoulette; + for (unsigned int i=0; ioperator[](i).mSubTreeSize == 1) { + lRoulette.insert(i); + } + } + + // Select node with roulette + Beagle_AssertM(!lRoulette.empty()); + return lRoulette.select(ioContext.getSystem().getRandomizer()); + Beagle_StackTraceEndM("unsigned int GP::Individual::chooseRandomNodeWithoutArgs(unsigned int inTree, Beagle::Context& ioContext) const"); +} + + +/*! + * \brief Interpret the GP individual. + * \param outResult Datum containing the result of the interpretation. + * \param ioContext GP evolutionary context. + * \throw Beagle::ObjectException When individual or tree are empty. + * \throw Beagle::AssertException When context is not correctly set. + * \throw Beagle::GP::MaxNodesExecutionException If number of nodes execution is more than allowed. + * \throw Beagle::GP::MaxTimeExecutionException If elapsed execution time is more than allowed. + */ +void GP::Individual::run(GP::Datum& outResult, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(&ioContext.getIndividual() != this) { + throw Beagle_RunTimeExceptionM(string("In GP::Individual::run(): For the given context, ")+ + string("getIndividual() did not return the same individual as was passed to this (run) ")+ + string("method. Consider setting the context's individual to be the same by using the ")+ + string("method Context::setIndividualHandle().")); + } + if(empty()) throw Beagle_ObjectExceptionM("Could not interpret, individual has no trees!"); + if((*this)[0]->empty()) throw Beagle_ObjectExceptionM("Could not interpret, 1st tree is empty!"); + Tree::Handle lOldTreeHandle = ioContext.getGenotypeHandle(); + unsigned int lOldTreeIndex = ioContext.getGenotypeIndex(); + ioContext.setGenotypeIndex(0); + ioContext.setGenotypeHandle((*this)[0]); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "individual", "Beagle::GP::Individual", + string("Running the ")+uint2ordinal(ioContext.getIndividualIndex()+1)+ + string(" individual") + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "individual", "Beagle::GP::Individual", + string("The individual is: ")+serialize() + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "individual", "Beagle::GP::Individual", + string("Executing the first tree root node \"")+ + (*(*this)[0])[0].mPrimitive->getName()+"\"" + ); + ioContext.setNodesExecutionCount(0); + ioContext.incrementNodesExecuted(); + ioContext.getExecutionTimer().reset(); + ioContext.pushCallStack(0); + (*(*this)[0])[0].mPrimitive->execute(outResult, ioContext); + ioContext.popCallStack(); + ioContext.checkExecutionTime(); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "individual", "Beagle::GP::Individual", + string("Result of executing the ")+uint2ordinal(ioContext.getIndividualIndex()+1)+ + string(" individual: ")+outResult.serialize() + ); + ioContext.setGenotypeIndex(lOldTreeIndex); + ioContext.setGenotypeHandle(lOldTreeHandle); + Beagle_StackTraceEndM("void GP::Individual::run(GP::Datum& outResult, GP::Context& ioContext)"); +} + + +/*! + * \brief Validate the GP individual. + * \param ioContext Evolutionary context. + * \return True if the GP individual is valid, false if not. + */ +bool GP::Individual::validate(GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + bool lResult = true; + + Beagle_LogDetailedM( + ioContext.getSystem().getLogger(), + "individual", "Beagle::GP::Individual", + string("Validating ")+uint2ordinal(ioContext.getIndividualIndex()+1)+ + string(" individual") + ); + + // Store original values. + GP::Tree::Handle lOldTreeHandle = ioContext.getGenotypeHandle(); + unsigned int lOldTreeIndex = ioContext.getGenotypeIndex(); + + // Loop through each of the trees in the individual + for (unsigned int i=0; isetContextToNode(0, ioContext); + if(!lTree->validateSubTree(0, ioContext)) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "individual", "Beagle::GP::Individual", + string("Validation of ")+uint2ordinal(i+1)+string(" tree failed.") + ); + lResult = false; + break; + } + } + + if(lResult) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "individual", "Beagle::GP::Individual", + string("Individual passed validation testing.") + ); + } + + // Restore the original values. + ioContext.setGenotypeHandle(lOldTreeHandle); + ioContext.setGenotypeIndex(lOldTreeIndex); + + return lResult; + Beagle_StackTraceEndM("bool GP::Individual::validate(GP::Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/GP/src/InitFullConstrainedOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/InitFullConstrainedOp.cpp new file mode 100644 index 0000000..507dc52 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/InitFullConstrainedOp.cpp @@ -0,0 +1,213 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/InitFullConstrainedOp.cpp + * \brief Source code of class GP::InitFullConstrainedOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.17.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#include "beagle/GP.hpp" + +#include + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + +using namespace Beagle; + + +/*! + * \brief Construct a constrained GP tree "full" intialization operator. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the operator. + */ +GP::InitFullConstrainedOp::InitFullConstrainedOp(std::string inReproProbaName, + std::string inName) : + InitFullOp(inReproProbaName, inName), + mNumberAttempts(NULL) +{ } + + +/*! + * \brief Initialize a GP constrained sub-tree of a specified depth using the "full" approach. + * \param ioTree Tree containing the sub-tree to initialize. + * \param inSubTreeDepth Depth of the sub-tree to initialize. + * \param ioContext Evolutionary context. + * \return Generated sub-tree size. + */ +unsigned int GP::InitFullConstrainedOp::initConstrainedSubTreeFull(GP::Tree& ioTree, + unsigned int inSubTreeDepth, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inSubTreeDepth>0); + + GP::PrimitiveSet& lPrimitSet = ioTree.getPrimitiveSet(ioContext); + GP::Primitive::Handle lPrimit = NULL; + const unsigned int lNodeIndex = ioTree.size(); + for(unsigned int lAttempt=0; lAttempt < mNumberAttempts->getWrappedValue(); ++lAttempt) { +#ifdef BEAGLE_HAVE_RTTI + const std::type_info* lDesiredType = NULL; + if(ioTree.size()==0) lDesiredType = ioTree.getRootType(ioContext); + else { + const unsigned int lParentIndex = ioContext.getCallStackTop(); + unsigned int lArgsIndexChild = 0; + for(unsigned int lChildIndex=(lParentIndex+1); + lChildIndex!=lNodeIndex; lChildIndex += ioTree[lChildIndex].mSubTreeSize) { + Beagle_AssertM(lChildIndex <= ioTree.size()); + ++lArgsIndexChild; + Beagle_AssertM(lArgsIndexChild < ioTree[lParentIndex].mPrimitive->getNumberArguments()); + } + lDesiredType = ioTree[lParentIndex].mPrimitive->getArgType(lArgsIndexChild, ioContext); + } + if(inSubTreeDepth == 1) { + lPrimit = lPrimitSet.selectWithType(GP::Primitive::eTerminal, lDesiredType, ioContext); + if(!lPrimit) return 0; + lPrimit = lPrimit->giveReference(GP::Primitive::eTerminal, ioContext); + } + else { + lPrimit = lPrimitSet.selectWithType(GP::Primitive::eBranch, lDesiredType, ioContext); + if(!lPrimit) return 0; + lPrimit = lPrimit->giveReference(GP::Primitive::eBranch, ioContext); + } +#else // BEAGLE_HAVE_RTTI + if(inSubTreeDepth == 1) { + lPrimit = lPrimitSet.select(GP::Primitive::eTerminal, ioContext); + if(!lPrimit) { + string lMessage = "There is no leaf (primitive without argument) in the "; + lMessage += uint2ordinal(ioContext.getGenotypeIndex()); + lMessage += " primitive set!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + lPrimit = lPrimit->giveReference(GP::Primitive::eTerminal, ioContext); + } + else { + lPrimit = lPrimitSet.select(GP::Primitive::eBranch, ioContext); + if(!lPrimit) { + string lMessage = "There is no branch (primitive with arguments) in the "; + lMessage += uint2ordinal(ioContext.getGenotypeIndex()); + lMessage += " primitive set!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + lPrimit = lPrimit->giveReference(GP::Primitive::eBranch, ioContext); + } +#endif // BEAGLE_HAVE_RTTI + ioTree.push_back(GP::Node(lPrimit, 0)); + ioContext.pushCallStack(lNodeIndex); + if(lPrimit->validate(ioContext)) { + unsigned int lSubTreeSize = 1; + bool lGoodInit = true; + for(unsigned int i=0; igetNumberArguments(); i++) { + unsigned int lArgSubTreeSize = + initConstrainedSubTreeFull(ioTree, inSubTreeDepth-1, ioContext); + if(lArgSubTreeSize == 0) { + for(unsigned int j=1; j(ioSystem.getRegister()["gp.try"]); + } else { + mNumberAttempts = new UInt(2); + string lLongDescrip = "Maximum number of attempts to modify a GP tree in a genetic "; + lLongDescrip += "operation. As there is topological constraints on GP trees (i.e. tree "; + lLongDescrip += "depth limit), it is often necessary to try a genetic operation several times."; + Register::Description lDescription( + "Max number of attempts", + "UInt", + "2", + lLongDescrip + ); + ioSystem.getRegister().addEntry("gp.try", mNumberAttempts, lDescription); + } + Beagle_StackTraceEndM("void GP::InitFullConstrainedOp::registerParams(Beagle::System&)"); +} + + +/*! + * \brief Initialize a constrained GP tree of a specified depth using the "full" approach. + * \param outTree Tree to initialize. + * \param inMinDepth Minimum depth to make tree. + * \param inMaxDepth Maximum depth to make tree. + * \param ioContext Evolutionary context. + */ +unsigned int GP::InitFullConstrainedOp::initTree(GP::Tree& outTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context &ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inMaxDepth >= inMinDepth); + Beagle_AssertM(inMinDepth > 0); + const unsigned int lDepth = + ioContext.getSystem().getRandomizer().rollInteger(inMinDepth, inMaxDepth); + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::GP::InitFullConstrainedOp", + std::string("Using the constrained \'full\' method (with depth ")+ + uint2str(lDepth)+std::string(") to initialize the ")+ + uint2ordinal(ioContext.getGenotypeIndex()+1)+std::string(" tree.") + ); + + Beagle_AssertM(lDepth>0); + unsigned int lSubTreeSize; + do { + lSubTreeSize = initConstrainedSubTreeFull(outTree, lDepth, ioContext); + } while (lSubTreeSize == 0); + return lSubTreeSize; + Beagle_StackTraceEndM("unsigned int GP::InitFullConstrainedOp::initTree(GP::Tree& outTree, unsigned int inMinDepth, unsigned int inMaxDepth, GP::Context &ioContext) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/InitFullOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/InitFullOp.cpp new file mode 100644 index 0000000..1b85d89 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/InitFullOp.cpp @@ -0,0 +1,131 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/InitFullOp.cpp + * \brief Source code of class GP::InitFullOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.20.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#include "beagle/GP.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a GP "full" intialization operator. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the operator. + */ +GP::InitFullOp::InitFullOp(std::string inReproProbaName, std::string inName) : + Beagle::GP::InitializationOp(inReproProbaName, inName) +{ } + + +/*! + * \brief Initialize a GP sub-tree of a specified depth using the "full" approach. + * \param ioTree Tree containing the sub-tree to initialize. + * \param inSubTreeDepth Depth of the sub-tree to initialize. + * \param ioContext Evolutionary context. + * \return Generated sub-tree size. + */ +unsigned int GP::InitFullOp::initSubTreeFull(GP::Tree& ioTree, + unsigned int inSubTreeDepth, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inSubTreeDepth>0); + GP::PrimitiveSet& lPrimitSet = ioTree.getPrimitiveSet(ioContext); + GP::Primitive::Handle lPrimit = NULL; + if(inSubTreeDepth == 1) { + lPrimit = lPrimitSet.select(GP::Primitive::eTerminal, ioContext); + if(!lPrimit) { + std::string lMessage = "There is no leaf (primitive without argument) in the "; + lMessage += uint2ordinal(ioTree.getPrimitiveSetIndex()+1); + lMessage += " primitive set!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + lPrimit = lPrimit->giveReference(GP::Primitive::eTerminal, ioContext); + } + else { + lPrimit = lPrimitSet.select(GP::Primitive::eBranch, ioContext); + if(!lPrimit) { + std::string lMessage = "There is no branch (primitive with arguments) in the "; + lMessage += uint2ordinal(ioTree.getPrimitiveSetIndex()+1); + lMessage += " primitive set!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + lPrimit = lPrimit->giveReference(GP::Primitive::eBranch, ioContext); + } + unsigned int lNodeIndex = ioTree.size(); + ioTree.push_back(GP::Node(lPrimit,0)); + unsigned int lSubTreeSize = 1; + for(unsigned int i=0; igetNumberArguments(); i++) { + lSubTreeSize += initSubTreeFull(ioTree, inSubTreeDepth-1, ioContext); + } + ioTree[lNodeIndex].mSubTreeSize = lSubTreeSize; + return lSubTreeSize; + Beagle_StackTraceEndM("unsigned int GP::InitFullOp::initSubTreeFull(GP::Tree& ioTree, unsigned int inSubTreeDepth, GP::Context& ioContext) const"); +} + + +/*! + * \brief Initialize a tree. + * \param outTree Tree to initialize. + * \param inMinDepth Minimum depth to make tree. + * \param inMaxDepth Maximum depth to make tree. + * \param ioContext Evolution context. + */ +unsigned int GP::InitFullOp::initTree(GP::Tree& outTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context &ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inMaxDepth >= inMinDepth); + Beagle_AssertM(inMinDepth > 0); + const unsigned int lDepth = + ioContext.getSystem().getRandomizer().rollInteger(inMinDepth, inMaxDepth); + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::GP::InitFullOp", + std::string("Using the \'full\' method (with depth ")+ + uint2str(lDepth)+std::string(") to initialize the ")+ + uint2ordinal(ioContext.getGenotypeIndex()+1)+std::string(" tree.") + ); + + Beagle_AssertM(lDepth>0); + return initSubTreeFull(outTree, lDepth, ioContext); + Beagle_StackTraceEndM("unsigned int GP::InitFullOp::initTree(GP::Tree& outTree, unsigned int inMinDepth, unsigned int inMaxDepth, GP::Context &ioContext) const"); +} + + diff --git a/lib/beagle-3.0.3/beagle/GP/src/InitGrowConstrainedOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/InitGrowConstrainedOp.cpp new file mode 100644 index 0000000..4b277db --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/InitGrowConstrainedOp.cpp @@ -0,0 +1,229 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/InitGrowConstrainedOp.cpp + * \brief Source code of class GP::InitGrowConstrainedOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.17.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#include "beagle/GP.hpp" + +#include + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + +using namespace Beagle; + + +/*! + * \brief Construct a constrained GP tree "grow" intialization operator. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the operator. + */ +GP::InitGrowConstrainedOp::InitGrowConstrainedOp(std::string inReproProbaName, + std::string inName) : + InitGrowOp(inReproProbaName, inName), + mNumberAttempts(NULL) +{ } + + +/*! + * \brief Initialize a GP constrained sub-tree of a specified depth using the "grow" approach. + * \param ioTree Tree containing the sub-tree to initialize. + * \param inMinDepth Minimal depth of the sub-tree to initialize. + * \param inMaxDepth Maximal depth of the sub-tree to initialize. + * \param ioContext Evolutionary context. + * \return Generated sub-tree size. + */ +unsigned int GP::InitGrowConstrainedOp::initConstrainedSubTreeGrow(GP::Tree& ioTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inMaxDepth >= inMinDepth); + Beagle_AssertM(inMinDepth>0); + GP::PrimitiveSet& lPrimitSet = ioTree.getPrimitiveSet(ioContext); + GP::Primitive::Handle lPrimit = NULL; + const unsigned int lNodeIndex = ioTree.size(); + for(unsigned int lAttempt=0; lAttempt < mNumberAttempts->getWrappedValue(); ++lAttempt) { +#ifdef BEAGLE_HAVE_RTTI + const std::type_info* lDesiredType = NULL; + if(ioTree.size()==0) lDesiredType = ioTree.getRootType(ioContext); + else { + const unsigned int lParentIndex = ioContext.getCallStackTop(); + unsigned int lArgsIndexChild = 0; + for(unsigned int lChildIndex=(lParentIndex+1); + lChildIndex!=lNodeIndex; lChildIndex += ioTree[lChildIndex].mSubTreeSize) { + Beagle_AssertM(lChildIndex <= ioTree.size()); + ++lArgsIndexChild; + Beagle_AssertM(lArgsIndexChild < ioTree[lParentIndex].mPrimitive->getNumberArguments()); + } + lDesiredType = ioTree[lParentIndex].mPrimitive->getArgType(lArgsIndexChild, ioContext); + } + if(inMinDepth > 1) { + lPrimit = lPrimitSet.selectWithType(GP::Primitive::eBranch, lDesiredType, ioContext); + if(!lPrimit) return 0; + lPrimit = lPrimit->giveReference(GP::Primitive::eBranch, ioContext); + } + else if(inMaxDepth == 1) { + lPrimit = lPrimitSet.selectWithType(GP::Primitive::eTerminal, lDesiredType, ioContext); + if(!lPrimit) return 0; + lPrimit = lPrimit->giveReference(GP::Primitive::eTerminal,ioContext); + } + else { + lPrimit = lPrimitSet.selectWithType(GP::Primitive::eAny, lDesiredType, ioContext); + if(!lPrimit) return 0; + lPrimit = lPrimit->giveReference(GP::Primitive::eAny, ioContext); + } +#else // BEAGLE_HAVE_RTTI + if(inMinDepth > 1) { + lPrimit = lPrimitSet.select(GP::Primitive::eBranch, ioContext); + if(!lPrimit) { + string lMessage = "There is no branch (primitive with argument) in the "; + lMessage += uint2ordinal(ioContext.getGenotypeIndex()+1); + lMessage += " primitive set!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + lPrimit = lPrimit->giveReference(GP::Primitive::eBranch, ioContext); + } + else if(inMaxDepth == 1) { + lPrimit = lPrimitSet.select(GP::Primitive::eTerminal, ioContext); + if(!lPrimit) { + string lMessage = "There is no leaf (primitive without argument) in the "; + lMessage += uint2ordinal(ioContext.getGenotypeIndex()+1); + lMessage += " primitive set!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + lPrimit = lPrimit->giveReference(GP::Primitive::eTerminal,ioContext); + } + else { + lPrimit = lPrimitSet.select(GP::Primitive::eAny, ioContext); + if(!lPrimit) { + string lMessage = "There is no primitive in the "; + lMessage += uint2ordinal(ioContext.getGenotypeIndex()+1); + lMessage += " primitive set!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + lPrimit = lPrimit->giveReference(GP::Primitive::eAny, ioContext); + } +#endif // BEAGLE_HAVE_RTTI + ioTree.push_back(GP::Node(lPrimit, 0)); + ioContext.pushCallStack(lNodeIndex); + if(lPrimit->validate(ioContext)) { + unsigned int lSubTreeSize = 1; + unsigned int lMinDepth = (inMinDepth > 1) ? (inMinDepth-1) : 1; + bool lGoodInit = true; + for(unsigned int i=0; igetNumberArguments(); i++) { + unsigned int lArgSubTreeSize = + initConstrainedSubTreeGrow(ioTree, lMinDepth, inMaxDepth-1, ioContext); + if(lArgSubTreeSize == 0) { + for(unsigned int j=1; j(ioSystem.getRegister()["gp.try"]); + } else { + mNumberAttempts = new UInt(2); + string lLongDescrip = "Maximum number of attempts to modify a GP tree in a genetic "; + lLongDescrip += "operation. As there is topological constraints on GP trees (i.e. tree "; + lLongDescrip += "depth limit), it is often necessary to try a genetic operation several times."; + Register::Description lDescription( + "Max number of attempts", + "UInt", + "2", + lLongDescrip + ); + ioSystem.getRegister().addEntry("gp.try", mNumberAttempts, lDescription); + } + Beagle_StackTraceEndM("void GP::InitGrowConstrainedOp::registerParams(Beagle::System&)"); +} + + +/*! + * \brief Initialize a constrained GP tree of a specified depth using the "grow" approach. + * \param outTree Tree to initialize. + * \param inMinDepth Minimal depth of the tree to initialize. + * \param inMaxDepth Maximal depth of the tree to initialize. + * \param ioContext Evolutionary context. + * \return Size of newly initialized tree. + */ +unsigned int GP::InitGrowConstrainedOp::initTree(GP::Tree& outTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inMaxDepth >= inMinDepth); + Beagle_AssertM(inMinDepth>0); + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::GP::InitGrowConstrainedOp", + std::string("Using the constrained \'grow\' method (with maximum depth ")+uint2str(inMaxDepth)+ + std::string(" and minimum depth ")+uint2str(inMinDepth)+std::string(") to initialize the ")+ + uint2ordinal(ioContext.getGenotypeIndex()+1)+std::string(" tree") + ); + + unsigned int lSubTreeSize; + do { + lSubTreeSize = initConstrainedSubTreeGrow(outTree, inMinDepth, inMaxDepth, ioContext); + } while(lSubTreeSize == 0); + return lSubTreeSize; + Beagle_StackTraceEndM("unsigned int GP::InitGrowConstrainedOp::initTree(GP::Tree& outTree, unsigned int inMinDepth, unsigned int inMaxDepth, GP::Context& ioContext) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/InitGrowOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/InitGrowOp.cpp new file mode 100644 index 0000000..f4235f4 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/InitGrowOp.cpp @@ -0,0 +1,142 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/InitGrowOp.cpp + * \brief Source code of class GP::InitGrowOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.22.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#include "beagle/GP.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a GP "grow" intialization operator. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the operator. + */ +GP::InitGrowOp::InitGrowOp(std::string inReproProbaName, std::string inName) : + Beagle::GP::InitializationOp(inReproProbaName, inName) +{ } + + +/*! + * \brief Initialize a GP sub-tree of a specified depth using the "grow" approach. + * \param ioTree Tree containing the sub-tree to initialize. + * \param inMinDepth Minimal depth of the sub-tree to initialize. + * \param inMaxDepth Maximal depth of the sub-tree to initialize. + * \param ioContext Evolutionary context. + * \return Generated sub-tree size. + */ +unsigned int GP::InitGrowOp::initSubTreeGrow(GP::Tree& ioTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inMaxDepth >= inMinDepth); + Beagle_AssertM(inMinDepth>0); + GP::PrimitiveSet& lPrimitSet = ioTree.getPrimitiveSet(ioContext); + GP::Primitive::Handle lPrimit = NULL; + if(inMinDepth > 1) { + lPrimit = lPrimitSet.select(GP::Primitive::eBranch, ioContext); + if(!lPrimit) { + std::string lMessage = "There is no branch (primitive with arguments) in the "; + lMessage += uint2ordinal(ioContext.getGenotypeIndex()+1); + lMessage += " primitive set!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + lPrimit = lPrimit->giveReference(GP::Primitive::eBranch, ioContext); + } + else if(inMaxDepth == 1) { + lPrimit = lPrimitSet.select(GP::Primitive::eTerminal, ioContext); + if(!lPrimit) { + std::string lMessage = "There is no leaf (primitive without argument) in the "; + lMessage += uint2ordinal(ioContext.getGenotypeIndex()+1); + lMessage += " primitive set!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + lPrimit = lPrimit->giveReference(GP::Primitive::eTerminal, ioContext); + } + else { + lPrimit = lPrimitSet.select(GP::Primitive::eAny, ioContext); + if(!lPrimit) { + std::string lMessage = "There is no primitive in the "; + lMessage += uint2ordinal(ioContext.getGenotypeIndex()+1); + lMessage += " primitive set!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + lPrimit = lPrimit->giveReference(GP::Primitive::eAny, ioContext); + } + unsigned int lNodeIndex = ioTree.size(); + ioTree.push_back(GP::Node(lPrimit, 1)); + unsigned int lSubTreeSize = 1; + unsigned int lMinDepth = (inMinDepth > 1) ? (inMinDepth-1) : 1; + for(unsigned int i=0; igetNumberArguments(); i++) { + lSubTreeSize += initSubTreeGrow(ioTree, lMinDepth, inMaxDepth-1, ioContext); + } + ioTree[lNodeIndex].mSubTreeSize = lSubTreeSize; + return lSubTreeSize; + Beagle_StackTraceEndM("unsigned int GP::InitGrowOp::initSubTreeGrow(GP::Tree& ioTree, unsigned int inMinDepth, unsigned int inMaxDepth, GP::Context& ioContext) const"); +} + + +/*! + * \brief Initialize a tree. + * \param outTree Tree to initialize. + * \param inMinDepth Minimum depth of to make tree. + * \param inMaxDepth Maximum depth of to make tree. + * \param ioContext Evolution context. + * \return Size of newly initialized tree. + */ +unsigned int GP::InitGrowOp::initTree(GP::Tree& outTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inMaxDepth >= inMinDepth); + Beagle_AssertM(inMinDepth>0); + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::GP::InitGrowOp", + std::string("Using the \'grow\' method (with maximum depth ")+uint2str(inMaxDepth)+ + std::string(" and minimum depth ")+uint2str(inMinDepth)+std::string(") to initialize the ")+ + uint2ordinal(ioContext.getGenotypeIndex()+1)+std::string(" tree") + ); + + return initSubTreeGrow(outTree, inMinDepth, inMaxDepth, ioContext); + Beagle_StackTraceEndM("unsigned int GP::InitGrowOp::initTree(GP::Tree &outTree, unsigned int inMinDepth, unsigned int inMaxDepth, GP::Context& ioContext) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/InitHalfConstrainedOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/InitHalfConstrainedOp.cpp new file mode 100644 index 0000000..65545db --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/InitHalfConstrainedOp.cpp @@ -0,0 +1,87 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/InitHalfConstrainedOp.cpp + * \brief Source code of class GP::InitHalfConstrainedOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.14.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#include "beagle/GP.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a constrained GP tree "half-and-half" initialization operator. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the operator. + */ +GP::InitHalfConstrainedOp::InitHalfConstrainedOp(std::string inReproProbaName, + std::string inName) : + Beagle::GP::InitializationOp(inReproProbaName, inName), + mInitFullOp(inReproProbaName), + mInitGrowOp(inReproProbaName) +{ } + + +/*! + * \brief Register the parameters of the constrained GP tree "half-and-half" intialization operator. + * \param ioSystem System of the evolution. + */ +void GP::InitHalfConstrainedOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle::GP::InitializationOp::initialize(ioSystem); + mInitFullOp.initialize(ioSystem); + mInitGrowOp.initialize(ioSystem); + Beagle_StackTraceEndM("void GP::InitHalfConstrainedOp::registerParams(Beagle::System&)"); +} + + +/*! + * \brief Initialize a tree. + * \param outTree Tree to initialize. + * \param inMinDepth Minimum depth to make tree. + * \param inMaxDepth Maximum depth to make tree. + * \param ioContext Evolution context. + */ +unsigned int GP::InitHalfConstrainedOp::initTree(GP::Tree &outTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context &ioContext) const +{ + Beagle_StackTraceBeginM(); + if(ioContext.getSystem().getRandomizer().rollUniform(0.0, 1.0) < 0.5) + return mInitFullOp.initTree(outTree, inMinDepth, inMaxDepth, ioContext); + return mInitGrowOp.initTree(outTree, inMinDepth, inMaxDepth, ioContext); + Beagle_StackTraceEndM("unsigned int GP::InitHalfConstrainedOp::initTree(GP::Tree &outTree, unsigned int inMinDepth, unsigned int inMaxDepth, GP::Context &ioContext) const"); +} diff --git a/lib/beagle-3.0.3/beagle/GP/src/InitHalfOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/InitHalfOp.cpp new file mode 100644 index 0000000..ba94d30 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/InitHalfOp.cpp @@ -0,0 +1,87 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/InitHalfOp.cpp + * \brief Source code of class GP::InitHalfOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.14.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#include "beagle/GP.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a GP "half-and-half" initialization operator. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the operator. + */ +GP::InitHalfOp::InitHalfOp(std::string inReproProbaName, std::string inName) : + Beagle::GP::InitializationOp(inReproProbaName, inName), + mInitFullOp(inReproProbaName), + mInitGrowOp(inReproProbaName) +{ } + + +/*! + * \brief Register the parameters of the GP "half-and-half" intialization operator. + * \param ioSystem System of the evolution. + */ +void GP::InitHalfOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle::GP::InitializationOp::initialize(ioSystem); + mInitFullOp.initialize(ioSystem); + mInitGrowOp.initialize(ioSystem); + Beagle_StackTraceEndM("void GP::InitHalfOp::registerParams(Beagle::System&)"); +} + + +/*! + * \brief Initialize a tree. + * \param outTree Tree to initialize. + * \param inMinDepth Minimum depth to make tree. + * \param inMaxDepth Maximum depth to make tree. + * \param ioContext Evolution context. + * \return Size of newly initialized tree. + */ +unsigned int GP::InitHalfOp::initTree(GP::Tree &outTree, + unsigned int inMinDepth, + unsigned int inMaxDepth, + GP::Context &ioContext) const +{ + Beagle_StackTraceBeginM(); + if(ioContext.getSystem().getRandomizer().rollUniform(0.0, 1.0) < 0.5) + return mInitFullOp.initTree(outTree, inMinDepth, inMaxDepth, ioContext); + return mInitGrowOp.initTree(outTree, inMinDepth, inMaxDepth, ioContext); + Beagle_StackTraceEndM("unsigned int GP::InitHalfOp::initTree(GP::Tree &outTree, unsigned int inMinDepth, unsigned int inMaxDepth, GP::Context &ioContext) const"); +} diff --git a/lib/beagle-3.0.3/beagle/GP/src/InitializationOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/InitializationOp.cpp new file mode 100644 index 0000000..500482f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/InitializationOp.cpp @@ -0,0 +1,221 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a plain new initialization operator. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the initialization operator. + */ +GP::InitializationOp::InitializationOp(std::string inReproProbaName, std::string inName) : + Beagle::InitializationOp(inReproProbaName, inName) +{ } + + +/*! + * \brief Register the parameters of the generic GP intialization operator. + * \param ioSystem System of the evolution. + */ +void GP::InitializationOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle::InitializationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("gp.init.maxdepth")) { + mMaxTreeDepth = castHandleT(ioSystem.getRegister()["gp.init.maxdepth"]); + } else { + mMaxTreeDepth = new UInt(5); + Register::Description lDescription( + "Maximum initial tree depth", + "UInt", + "5", + "Maximum depth for newly initialized trees." + ); + ioSystem.getRegister().addEntry("gp.init.maxdepth", mMaxTreeDepth, lDescription); + } + if(ioSystem.getRegister().isRegistered("gp.init.mindepth")) { + mMinTreeDepth = castHandleT(ioSystem.getRegister()["gp.init.mindepth"]); + } else { + mMinTreeDepth = new UInt(2); + Register::Description lDescription( + "Minimum initial tree depth", + "UInt", + "2", + "Minimum depth for newly initialized trees." + ); + ioSystem.getRegister().addEntry("gp.init.mindepth", mMinTreeDepth, lDescription); + } + if(ioSystem.getRegister().isRegistered("gp.init.maxtree")) { + mMaxNumberTrees = castHandleT(ioSystem.getRegister()["gp.init.maxtree"]); + } else { + mMaxNumberTrees = new UInt(1); + std::ostringstream lOSS; + lOSS << "Maximum number of GP tree in newly initialized individuals. More than one tree "; + lOSS << "is usually useful with ADFs (and other ADx)."; + Register::Description lDescription( + "Maximum number of trees", + "UInt", + "1", + lOSS.str() + ); + ioSystem.getRegister().addEntry("gp.init.maxtree", mMaxNumberTrees, lDescription); + } + if(ioSystem.getRegister().isRegistered("gp.init.mintree")) { + mMinNumberTrees = castHandleT(ioSystem.getRegister()["gp.init.mintree"]); + } else { + mMinNumberTrees = new UInt(1); + std::ostringstream lOSS; + lOSS << "Minimum number of GP tree in newly initialized individuals. More than one tree "; + lOSS << "is usually useful with ADFs (and other ADx)."; + Register::Description lDescription( + "Minimum number of trees", + "UInt", + "1", + lOSS.str() + ); + ioSystem.getRegister().addEntry("gp.init.mintree", mMinNumberTrees, lDescription); + } + if(ioSystem.getRegister().isRegistered("gp.init.maxargs")) { + mMaxTreeArgs = castHandleT(ioSystem.getRegister()["gp.init.maxargs"]); + } else { + mMaxTreeArgs = new UIntArray; + mMaxTreeArgs->push_back(0); + mMaxTreeArgs->push_back(2); + std::ostringstream lOSS; + lOSS << "Maximum number of arguments in GP tree. Tree arguments are "; + lOSS << "is usually useful with ADFs (and similar stuff)."; + Register::Description lDescription( + "Max. number of tree arguments", + "UIntArray", + "0/2", + lOSS.str() + ); + ioSystem.getRegister().addEntry("gp.init.maxargs", mMaxTreeArgs, lDescription); + } + if(ioSystem.getRegister().isRegistered("gp.init.minargs")) { + mMinTreeArgs = castHandleT(ioSystem.getRegister()["gp.init.minargs"]); + } else { + mMinTreeArgs = new UIntArray; + mMinTreeArgs->push_back(0); + mMinTreeArgs->push_back(2); + std::ostringstream lOSS; + lOSS << "Minimum number of arguments in GP tree. Tree arguments are "; + lOSS << "is usually useful with ADFs a(nd similar stuff)."; + Register::Description lDescription( + "Min. number of tree arguments", + "UIntArray", + "0/2", + lOSS.str() + ); + ioSystem.getRegister().addEntry("gp.init.minargs", mMinTreeArgs, lDescription); + } + Beagle_StackTraceEndM("void GP::InitializationOp::registerParams(Beagle::System&)"); +} + + +/*! + * \brief Initialize the trees of an individual. + * \param outIndividual Individual to initialize. + * \param ioContext Evolution context. + * \throw Beagle::RunTimeException If the min/max depths are incorrectly set. + */ +void GP::InitializationOp::initIndividual(Beagle::Individual& outIndividual, + Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if (mMinTreeDepth==NULL || mMaxTreeDepth==NULL) + throw Beagle_RunTimeExceptionM(std::string("GP::InitializationOp has not been initialized."). + append(" Consider the GP::InitializationOp::registerParams() method.")); + if(*mMinTreeDepth > *mMaxTreeDepth) { + std::string lMessage = "GP::InitializationOp::initIndividual: Minimum tree depth is superior "; + lMessage += "to the maximum tree depth. Could not initialize the individuals!"; + throw Beagle::ValidationException(lMessage); + } +#endif // BEAGLE_NDEBUG + Beagle_ValidateParameterM(mMinTreeDepth->getWrappedValue()>0,"gp.init.mindepth",">0"); + + GP::Individual& lIndividual = castObjectT(outIndividual); + GP::Context& lContext = castObjectT(ioContext); + + const unsigned int lPrimitiveSuperSetSize = lContext.getSystem().getPrimitiveSuperSet().size(); +#ifndef BEAGLE_NDEBUG + if(lPrimitiveSuperSetSize == 0) + throw Beagle_RunTimeExceptionM(std::string("GP::InitializationOp::initIndividual(): There "). + append(" are no PrimitiveSets in the PrimitiveSuperSet. There needs to be at least one"). + append(" PrimitiveSet. See the examples that are included with Beagle to learn how"). + append(" to create a PrimitiveSet, add Primitives to it, and then construct a System based"). + append(" on the PrimitiveSet.")); +#endif // BEAGLE_NDEBUG + + // Choose randomly the number of individuals in tree + const unsigned int lMaxDepth = mMaxTreeDepth->getWrappedValue(); + const unsigned int lMinDepth = mMinTreeDepth->getWrappedValue(); + const unsigned int lMaxNbTrees = mMaxNumberTrees->getWrappedValue(); + const unsigned int lMinNbTrees = mMinNumberTrees->getWrappedValue(); + Beagle_AssertM(lMaxNbTrees >= lMinNbTrees); + const unsigned int lNbTrees = + ioContext.getSystem().getRandomizer().rollInteger(lMinNbTrees,lMaxNbTrees); + lIndividual.resize(lNbTrees); + GP::Tree::Handle lOldTreeHandle = lContext.getGenotypeHandle(); + unsigned int lOldTreeIndex = lContext.getGenotypeIndex(); + for(unsigned int i=0; isetPrimitiveSetIndex(i); + else lIndividual[i]->setPrimitiveSetIndex(lPrimitiveSuperSetSize-1); + const unsigned int lMaxArgs = + (isize()) ? (*mMaxTreeArgs)[i] : mMaxTreeArgs->back(); + const unsigned int lMinArgs = + (isize()) ? (*mMinTreeArgs)[i] : mMinTreeArgs->back(); + Beagle_AssertM(lMaxArgs >= lMinArgs); + const unsigned int lNbArgs = + ioContext.getSystem().getRandomizer().rollInteger(lMinArgs,lMaxArgs); + lIndividual[i]->setNumberArguments(lNbArgs); + } + for(unsigned int i=0; iresize(0); + initTree(*lIndividual[i], lMinDepth, lTreeDepth, lContext); + } + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::GP::InitializationOp", + std::string("Initialized individual: ")+lIndividual.serialize() + ); + + lContext.setGenotypeIndex(lOldTreeIndex); + lContext.setGenotypeHandle(lOldTreeHandle); + Beagle_StackTraceEndM("void GP::InitializationOp::initIndividual(Beagle::Individual& outIndividual, Beagle::Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/Invoker.cpp b/lib/beagle-3.0.3/beagle/GP/src/Invoker.cpp new file mode 100644 index 0000000..dd12bee --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Invoker.cpp @@ -0,0 +1,270 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Invoker.cpp + * \brief Implementation of GP::Invoker. + * \author Christian Gagne + * \author Matthew Walker + * $Revision: 1.9.2.2 $ + * $Date: 2007/05/11 20:04:32 $ + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a new Invoker primitive. + * \param inIndex Index of the associated tree. + * \param inNumberArgs Number of arguments of the Invoker. + * \param inName Name of the Invoker primitive. + * \param inArgsName Name of the associated argument primitive. + */ +GP::Invoker::Invoker(unsigned int inIndex, + unsigned int inNumberArgs, + Beagle::string inName, + Beagle::string inArgsName) : + GP::Primitive(inNumberArgs, inName), + mArgsName(inArgsName), + mIndex(inIndex) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return String tagging the data type needed. + * \throw AssertException If the index inN given is > to 1. + * \throw InternalException If RTTI is disabled and the method is not properly overdefined. + */ +const std::type_info* GP::Invoker::getArgType(unsigned int inN, GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN < getNumberArguments()); + if(mIndex == eGenerator) { + std::ostringstream lOSS; + lOSS << "Could not get the arguments typing of the \"" << getName() << "\" invoker primitive. "; + lOSS << "The primitive is actually in a generator state, so the index of the tree "; + lOSS << "refered by the primitive is not specified. It is likely that there is a problem "; + lOSS << "in the setting of your system, as the argument typing is called only when the "; + lOSS << "primitive is completely instanciated, that is used as the part of a GP tree, "; + lOSS << "with an index value refering to another GP tree to invoke."; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + GP::Tree::Handle lTree = getInvokedTree(ioContext); + GP::Tree::Handle lOldTreeHandle = ioContext.getGenotypeHandle(); + ioContext.setGenotypeHandle(lTree); + GP::Argument::Handle lArg = + castHandleT(lTree->getPrimitiveSet(ioContext).getPrimitiveByName(mArgsName)); + const std::type_info* lArgType = lArg->getReturnType(ioContext); + ioContext.setGenotypeHandle(lOldTreeHandle); + return lArgType; + Beagle_StackTraceEndM("const std::type_info* GP::Invoker::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the string tagging the type of data returned by the primitive. + * \param ioContext Evolutionary context. + * \return String tagging the type of data returned. + * \throw InternalException If RTTI is disabled and the method is not properly overdefined. + */ +const std::type_info* GP::Invoker::getReturnType(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + if(mIndex == eGenerator) return NULL; + GP::Tree::Handle lTree = getInvokedTree(ioContext); + GP::Tree::Handle lOldTreeHandle = ioContext.getGenotypeHandle(); + const unsigned int lOldTreeIndex = ioContext.getGenotypeIndex(); + ioContext.setGenotypeHandle(lTree); + ioContext.setGenotypeIndex(mIndex); + const std::type_info* lReturnType = lTree->getRootType(ioContext); + ioContext.setGenotypeIndex(lOldTreeIndex); + ioContext.setGenotypeHandle(lOldTreeHandle); + return lReturnType; + Beagle_StackTraceEndM("const std::type_info* GP::Invoker::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Return selection weight (in primitive set) of the ADF primitive. + * \param inNumberArguments Number of arguments called for the selection weight. + * \param ioContext Evolutionary context. + * \return Selection weight. + */ +double GP::Invoker::getSelectionWeight(unsigned int inNumberArguments, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + // If not a generator, return the default primitive weight value. + if(mIndex!=eGenerator) + return Beagle::GP::Primitive::getSelectionWeight(inNumberArguments, ioContext); + + // Get the number of possibles trees that can be invoked in the actual context. + std::vector< unsigned int,BEAGLE_STLALLOCATOR > lCandidates; + getCandidatesToInvoke(lCandidates, inNumberArguments, ioContext); + return double(lCandidates.size()); + Beagle_StackTraceEndM("double GP::Invoker::getSelectionWeight(unsigned int inNumberArguments, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return a reference of the ADF primitive. + * \param inNumberArguments Number of arguments asked for the reference. + * \param ioContext Evolutionary context. + * \return Handle to the reference generated. + */ +GP::Primitive::Handle GP::Invoker::giveReference(unsigned int inNumberArguments, + GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + // If not an invoker, return this directly. + if(mIndex!=eGenerator) return this; + + // Generate new invoker. + std::vector< unsigned int,BEAGLE_STLALLOCATOR > lCandidates; + getCandidatesToInvoke(lCandidates, inNumberArguments, ioContext); + Beagle_AssertM(lCandidates.size() > 0); + const unsigned int lIndex = + lCandidates[ioContext.getSystem().getRandomizer().rollInteger(0,lCandidates.size()-1)]; + Handle lGeneratedInvoker = generateInvoker(lIndex, getName(), mArgsName, ioContext); + + // Return newly generated invoker. + return lGeneratedInvoker; + Beagle_StackTraceEndM("GP::Primitive::Handle GP::Invoker::giveReference(unsigned int inNumberArguments, GP::Context& ioContext)"); +} + + +/*! + * \brief Execute the call to the associated tree with the given parameters. + * \param outResult Result of the invocation. + * \param ioContext Evolutionary context. + */ +void GP::Invoker::execute(GP::Datum& outResult, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + GP::Tree::Handle lTree = getInvokedTree(ioContext); + Beagle_AssertM(lTree->getNumberArguments() == getNumberArguments()); + if(getNumberArguments() == 0) { + invoke(outResult, lTree, ioContext); + } + else { + GP::Argument::Handle lArg = + castHandleT(lTree->getPrimitiveSet(ioContext).getPrimitiveByName(mArgsName)); + if(lArg==NULL) { + std::string lMessage = "The argument named \""; + lMessage += mArgsName; + lMessage += " associated to the invoker named \""; + lMessage += getName(); + lMessage += "\" does not refer to a valid primitive in the set"; + lMessage += " of the tree associated to the invoker."; + throw Beagle_RunTimeExceptionM(lMessage); + } + lArg->pushExecutionContext(getNumberArguments(), ioContext); + invoke(outResult, lTree, ioContext); + lArg->popExecutionContext(); + } + Beagle_StackTraceEndM("void GP::Invoker::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} + + +/*! + * \brief Return whether selection weight in primitive set is stable. + * \param inNumberArguments Number of arguments for given selection weight. + * \return True is selection weight stable, false if not. + */ +bool GP::Invoker::isSelectionWeightStable(unsigned int inNumberArguments) const +{ + Beagle_StackTraceBeginM(); + const unsigned int lNbArgsPrimit = getNumberArguments(); + if((inNumberArguments == GP::Primitive::eAny) || + (lNbArgsPrimit == GP::Primitive::eAny)) return false; + else if(inNumberArguments == GP::Primitive::eBranch) { + return (lNbArgsPrimit == 0); + } + return (lNbArgsPrimit == inNumberArguments); + Beagle_StackTraceEndM("bool GP::Invoker::isSelectionWeightStable(unsigned int inNumberArguments) const"); +} + + +/*! + * \brief Read invoker primitive from XML subtree. + * \param inIter XML iterator to read the primitive from. + * \param ioContext Evolutionary context. + */ +void GP::Invoker::readWithContext(PACC::XML::ConstIterator inIter, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + GP::Primitive::readWithContext(inIter, ioContext); + string lIndexValue = inIter->getAttribute("id").c_str(); + if(lIndexValue.empty()==false) mIndex = str2uint(lIndexValue); + unsigned int lArgsCount = 0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType()==PACC::XML::eData) ++lArgsCount; + } + setNumberArguments(lArgsCount); + Beagle_StackTraceEndM("void GP::Invoker::readWithContext(PACC::XML::ConstIterator inIter, GP::Context& ioContext)"); +} + + +/*! + * \brief Validate the invoker position in the tree. + * \param ioContext Evolutionary context. + * \return True if the invoker is correctly positioned, false if not. + * \throw Beagle::AssertException If the context is in a bad state. + */ +bool GP::Invoker::validate(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + std::vector > lCandidates; + getCandidatesToInvoke(lCandidates, getNumberArguments(), ioContext); + for(unsigned int i=0; i + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + +using namespace Beagle; + + +/*! + * \brief Construct a new neperian logarithm primitive. + * \param inName Name of the neperian logarithm primitive. + */ +GP::Log::Log(Beagle::string inName) : + Beagle::GP::Primitive(1, inName) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive Log. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type needed. + * \throw AssertException If the index inN given is greater than 0. + */ +const std::type_info* GP::Log::getArgType(unsigned int inN, GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN<1); + return &typeid(Double); + Beagle_StackTraceEndM("const std::type_info* GP::Log::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the tag of the type of data return by primitive Log. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +const std::type_info* GP::Log::getReturnType(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(Double); + Beagle_StackTraceEndM("const std::type_info* GP::Log::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Execute the characteristic operation of a protected neperian logarithm of Double. + * \param outResult Result of the neperian logarithm. + * \param ioContext Evolutionary context. + * \par Note: + * The Log primitive give as result 1. when the input is 0.0. + * The logarithm is calculated on the absolute value of the input. + */ +void GP::Log::execute(GP::Datum& outResult, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Double& lResult = castObjectT(outResult); + get1stArgument(lResult, ioContext); + if(fabs(lResult) > 0.000001) lResult = log(fabs(lResult)); + else lResult = 1.; + Beagle_StackTraceEndM("void GP::Log::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/Makefile b/lib/beagle-3.0.3/beagle/GP/src/Makefile new file mode 100644 index 0000000..dde9ebb --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Makefile @@ -0,0 +1,1021 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/GP/src/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/GP/src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libbeagle_GP_la_DEPENDENCIES = \ + $(top_srcdir)/beagle/GA/src/libbeagle-GA.la \ + $(top_srcdir)/beagle/src/libbeagle.la \ + $(top_srcdir)/PACC/Math/libpacc-math.la \ + $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la +am__libbeagle_GP_la_SOURCES_DIST = ADF.cpp And.cpp Argument.cpp \ + Context.cpp Cos.cpp CrossoverOp.cpp CrossoverConstrainedOp.cpp \ + Deme.cpp EphemeralDouble.cpp EvaluationOp.cpp Evolver.cpp \ + ExecutionException.cpp Exp.cpp FitnessKoza.cpp Individual.cpp \ + InitializationOp.cpp InitFullConstrainedOp.cpp InitFullOp.cpp \ + InitGrowConstrainedOp.cpp InitGrowOp.cpp \ + InitHalfConstrainedOp.cpp InitHalfOp.cpp Invoker.cpp Log.cpp \ + MaxNodesExecutionException.cpp MaxTimeExecutionException.cpp \ + Module.cpp ModuleCompressOp.cpp ModuleExpandOp.cpp \ + ModuleVectorComponent.cpp MutationShrinkConstrainedOp.cpp \ + MutationShrinkOp.cpp MutationStandardConstrainedOp.cpp \ + MutationStandardOp.cpp MutationSwapConstrainedOp.cpp \ + MutationSwapOp.cpp MutationSwapSubtreeConstrainedOp.cpp \ + MutationSwapSubtreeOp.cpp Nand.cpp Nor.cpp Not.cpp Or.cpp \ + Primitive.cpp PrimitiveSet.cpp PrimitiveSuperSet.cpp \ + PrimitiveUsageStatsOp.cpp \ + ResourcesExceededExecutionException.cpp Sin.cpp \ + StatsCalcFitnessKozaOp.cpp StatsCalcFitnessSimpleOp.cpp \ + System.cpp TermMaxHitsOp.cpp Tree.cpp ValidateOp.cpp \ + Vivarium.cpp Xor.cpp +am__objects_1 = ADF.lo And.lo Argument.lo Context.lo Cos.lo \ + CrossoverOp.lo CrossoverConstrainedOp.lo Deme.lo \ + EphemeralDouble.lo EvaluationOp.lo Evolver.lo \ + ExecutionException.lo Exp.lo FitnessKoza.lo Individual.lo \ + InitializationOp.lo InitFullConstrainedOp.lo InitFullOp.lo \ + InitGrowConstrainedOp.lo InitGrowOp.lo \ + InitHalfConstrainedOp.lo InitHalfOp.lo Invoker.lo Log.lo \ + MaxNodesExecutionException.lo MaxTimeExecutionException.lo \ + Module.lo ModuleCompressOp.lo ModuleExpandOp.lo \ + ModuleVectorComponent.lo MutationShrinkConstrainedOp.lo \ + MutationShrinkOp.lo MutationStandardConstrainedOp.lo \ + MutationStandardOp.lo MutationSwapConstrainedOp.lo \ + MutationSwapOp.lo MutationSwapSubtreeConstrainedOp.lo \ + MutationSwapSubtreeOp.lo Nand.lo Nor.lo Not.lo Or.lo \ + Primitive.lo PrimitiveSet.lo PrimitiveSuperSet.lo \ + PrimitiveUsageStatsOp.lo \ + ResourcesExceededExecutionException.lo Sin.lo \ + StatsCalcFitnessKozaOp.lo StatsCalcFitnessSimpleOp.lo \ + System.lo TermMaxHitsOp.lo Tree.lo ValidateOp.lo Vivarium.lo \ + Xor.lo +#am_libbeagle_GP_la_OBJECTS = $(am__objects_1) +nodist_libbeagle_GP_la_OBJECTS = \ + libbeagle-GP.lo +libbeagle_GP_la_OBJECTS = $(am_libbeagle_GP_la_OBJECTS) \ + $(nodist_libbeagle_GP_la_OBJECTS) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +libbeagle_GP_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libbeagle_GP_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/ADF.Plo ./$(DEPDIR)/And.Plo \ + ./$(DEPDIR)/Argument.Plo ./$(DEPDIR)/Context.Plo \ + ./$(DEPDIR)/Cos.Plo ./$(DEPDIR)/CrossoverConstrainedOp.Plo \ + ./$(DEPDIR)/CrossoverOp.Plo ./$(DEPDIR)/Deme.Plo \ + ./$(DEPDIR)/EphemeralDouble.Plo ./$(DEPDIR)/EvaluationOp.Plo \ + ./$(DEPDIR)/Evolver.Plo ./$(DEPDIR)/ExecutionException.Plo \ + ./$(DEPDIR)/Exp.Plo ./$(DEPDIR)/FitnessKoza.Plo \ + ./$(DEPDIR)/Individual.Plo \ + ./$(DEPDIR)/InitFullConstrainedOp.Plo \ + ./$(DEPDIR)/InitFullOp.Plo \ + ./$(DEPDIR)/InitGrowConstrainedOp.Plo \ + ./$(DEPDIR)/InitGrowOp.Plo \ + ./$(DEPDIR)/InitHalfConstrainedOp.Plo \ + ./$(DEPDIR)/InitHalfOp.Plo ./$(DEPDIR)/InitializationOp.Plo \ + ./$(DEPDIR)/Invoker.Plo ./$(DEPDIR)/Log.Plo \ + ./$(DEPDIR)/MaxNodesExecutionException.Plo \ + ./$(DEPDIR)/MaxTimeExecutionException.Plo \ + ./$(DEPDIR)/Module.Plo ./$(DEPDIR)/ModuleCompressOp.Plo \ + ./$(DEPDIR)/ModuleExpandOp.Plo \ + ./$(DEPDIR)/ModuleVectorComponent.Plo \ + ./$(DEPDIR)/MutationShrinkConstrainedOp.Plo \ + ./$(DEPDIR)/MutationShrinkOp.Plo \ + ./$(DEPDIR)/MutationStandardConstrainedOp.Plo \ + ./$(DEPDIR)/MutationStandardOp.Plo \ + ./$(DEPDIR)/MutationSwapConstrainedOp.Plo \ + ./$(DEPDIR)/MutationSwapOp.Plo \ + ./$(DEPDIR)/MutationSwapSubtreeConstrainedOp.Plo \ + ./$(DEPDIR)/MutationSwapSubtreeOp.Plo ./$(DEPDIR)/Nand.Plo \ + ./$(DEPDIR)/Nor.Plo ./$(DEPDIR)/Not.Plo ./$(DEPDIR)/Or.Plo \ + ./$(DEPDIR)/Primitive.Plo ./$(DEPDIR)/PrimitiveSet.Plo \ + ./$(DEPDIR)/PrimitiveSuperSet.Plo \ + ./$(DEPDIR)/PrimitiveUsageStatsOp.Plo \ + ./$(DEPDIR)/ResourcesExceededExecutionException.Plo \ + ./$(DEPDIR)/Sin.Plo ./$(DEPDIR)/StatsCalcFitnessKozaOp.Plo \ + ./$(DEPDIR)/StatsCalcFitnessSimpleOp.Plo \ + ./$(DEPDIR)/System.Plo ./$(DEPDIR)/TermMaxHitsOp.Plo \ + ./$(DEPDIR)/Tree.Plo ./$(DEPDIR)/ValidateOp.Plo \ + ./$(DEPDIR)/Vivarium.Plo ./$(DEPDIR)/Xor.Plo \ + ./$(DEPDIR)/libbeagle-GP.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libbeagle_GP_la_SOURCES) $(nodist_libbeagle_GP_la_SOURCES) +DIST_SOURCES = $(am__libbeagle_GP_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GP/src +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/GP/src +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../ +top_builddir = ../../.. +top_srcdir = ../../.. +BEAGLE_GP_SRC_VAR = \ +ADF.cpp \ +And.cpp \ +Argument.cpp \ +Context.cpp \ +Cos.cpp \ +CrossoverOp.cpp \ +CrossoverConstrainedOp.cpp \ +Deme.cpp \ +EphemeralDouble.cpp \ +EvaluationOp.cpp \ +Evolver.cpp \ +ExecutionException.cpp \ +Exp.cpp \ +FitnessKoza.cpp \ +Individual.cpp \ +InitializationOp.cpp \ +InitFullConstrainedOp.cpp \ +InitFullOp.cpp \ +InitGrowConstrainedOp.cpp \ +InitGrowOp.cpp \ +InitHalfConstrainedOp.cpp \ +InitHalfOp.cpp \ +Invoker.cpp \ +Log.cpp \ +MaxNodesExecutionException.cpp \ +MaxTimeExecutionException.cpp \ +Module.cpp \ +ModuleCompressOp.cpp \ +ModuleExpandOp.cpp \ +ModuleVectorComponent.cpp \ +MutationShrinkConstrainedOp.cpp \ +MutationShrinkOp.cpp \ +MutationStandardConstrainedOp.cpp \ +MutationStandardOp.cpp \ +MutationSwapConstrainedOp.cpp \ +MutationSwapOp.cpp \ +MutationSwapSubtreeConstrainedOp.cpp \ +MutationSwapSubtreeOp.cpp \ +Nand.cpp \ +Nor.cpp \ +Not.cpp \ +Or.cpp \ +Primitive.cpp \ +PrimitiveSet.cpp \ +PrimitiveSuperSet.cpp \ +PrimitiveUsageStatsOp.cpp \ +ResourcesExceededExecutionException.cpp \ +Sin.cpp \ +StatsCalcFitnessKozaOp.cpp \ +StatsCalcFitnessSimpleOp.cpp \ +System.cpp \ +TermMaxHitsOp.cpp \ +Tree.cpp \ +ValidateOp.cpp \ +Vivarium.cpp \ +Xor.cpp + +lib_LTLIBRARIES = libbeagle-GP.la +INCLUDES = \ +-I$(top_srcdir)/PACC \ +-I$(top_srcdir)/beagle/include \ +-I$(top_srcdir)/beagle/GA/include \ +-I$(top_srcdir)/beagle/GP/include + +libbeagle_GP_la_LIBADD = \ +$(top_srcdir)/beagle/GA/src/libbeagle-GA.la \ +$(top_srcdir)/beagle/src/libbeagle.la \ +$(top_srcdir)/PACC/Math/libpacc-math.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la + +libbeagle_GP_la_LDFLAGS = -no-undefined -release 3.0.3 +nodist_libbeagle_GP_la_SOURCES = libbeagle-GP.cpp +#libbeagle_GP_la_SOURCES = $(BEAGLE_GP_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GP/src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GP/src/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libbeagle-GP.la: $(libbeagle_GP_la_OBJECTS) $(libbeagle_GP_la_DEPENDENCIES) $(EXTRA_libbeagle_GP_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libbeagle_GP_la_LINK) -rpath $(libdir) $(libbeagle_GP_la_OBJECTS) $(libbeagle_GP_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/ADF.Plo # am--include-marker +include ./$(DEPDIR)/And.Plo # am--include-marker +include ./$(DEPDIR)/Argument.Plo # am--include-marker +include ./$(DEPDIR)/Context.Plo # am--include-marker +include ./$(DEPDIR)/Cos.Plo # am--include-marker +include ./$(DEPDIR)/CrossoverConstrainedOp.Plo # am--include-marker +include ./$(DEPDIR)/CrossoverOp.Plo # am--include-marker +include ./$(DEPDIR)/Deme.Plo # am--include-marker +include ./$(DEPDIR)/EphemeralDouble.Plo # am--include-marker +include ./$(DEPDIR)/EvaluationOp.Plo # am--include-marker +include ./$(DEPDIR)/Evolver.Plo # am--include-marker +include ./$(DEPDIR)/ExecutionException.Plo # am--include-marker +include ./$(DEPDIR)/Exp.Plo # am--include-marker +include ./$(DEPDIR)/FitnessKoza.Plo # am--include-marker +include ./$(DEPDIR)/Individual.Plo # am--include-marker +include ./$(DEPDIR)/InitFullConstrainedOp.Plo # am--include-marker +include ./$(DEPDIR)/InitFullOp.Plo # am--include-marker +include ./$(DEPDIR)/InitGrowConstrainedOp.Plo # am--include-marker +include ./$(DEPDIR)/InitGrowOp.Plo # am--include-marker +include ./$(DEPDIR)/InitHalfConstrainedOp.Plo # am--include-marker +include ./$(DEPDIR)/InitHalfOp.Plo # am--include-marker +include ./$(DEPDIR)/InitializationOp.Plo # am--include-marker +include ./$(DEPDIR)/Invoker.Plo # am--include-marker +include ./$(DEPDIR)/Log.Plo # am--include-marker +include ./$(DEPDIR)/MaxNodesExecutionException.Plo # am--include-marker +include ./$(DEPDIR)/MaxTimeExecutionException.Plo # am--include-marker +include ./$(DEPDIR)/Module.Plo # am--include-marker +include ./$(DEPDIR)/ModuleCompressOp.Plo # am--include-marker +include ./$(DEPDIR)/ModuleExpandOp.Plo # am--include-marker +include ./$(DEPDIR)/ModuleVectorComponent.Plo # am--include-marker +include ./$(DEPDIR)/MutationShrinkConstrainedOp.Plo # am--include-marker +include ./$(DEPDIR)/MutationShrinkOp.Plo # am--include-marker +include ./$(DEPDIR)/MutationStandardConstrainedOp.Plo # am--include-marker +include ./$(DEPDIR)/MutationStandardOp.Plo # am--include-marker +include ./$(DEPDIR)/MutationSwapConstrainedOp.Plo # am--include-marker +include ./$(DEPDIR)/MutationSwapOp.Plo # am--include-marker +include ./$(DEPDIR)/MutationSwapSubtreeConstrainedOp.Plo # am--include-marker +include ./$(DEPDIR)/MutationSwapSubtreeOp.Plo # am--include-marker +include ./$(DEPDIR)/Nand.Plo # am--include-marker +include ./$(DEPDIR)/Nor.Plo # am--include-marker +include ./$(DEPDIR)/Not.Plo # am--include-marker +include ./$(DEPDIR)/Or.Plo # am--include-marker +include ./$(DEPDIR)/Primitive.Plo # am--include-marker +include ./$(DEPDIR)/PrimitiveSet.Plo # am--include-marker +include ./$(DEPDIR)/PrimitiveSuperSet.Plo # am--include-marker +include ./$(DEPDIR)/PrimitiveUsageStatsOp.Plo # am--include-marker +include ./$(DEPDIR)/ResourcesExceededExecutionException.Plo # am--include-marker +include ./$(DEPDIR)/Sin.Plo # am--include-marker +include ./$(DEPDIR)/StatsCalcFitnessKozaOp.Plo # am--include-marker +include ./$(DEPDIR)/StatsCalcFitnessSimpleOp.Plo # am--include-marker +include ./$(DEPDIR)/System.Plo # am--include-marker +include ./$(DEPDIR)/TermMaxHitsOp.Plo # am--include-marker +include ./$(DEPDIR)/Tree.Plo # am--include-marker +include ./$(DEPDIR)/ValidateOp.Plo # am--include-marker +include ./$(DEPDIR)/Vivarium.Plo # am--include-marker +include ./$(DEPDIR)/Xor.Plo # am--include-marker +include ./$(DEPDIR)/libbeagle-GP.Plo # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(libdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +#clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/ADF.Plo + -rm -f ./$(DEPDIR)/And.Plo + -rm -f ./$(DEPDIR)/Argument.Plo + -rm -f ./$(DEPDIR)/Context.Plo + -rm -f ./$(DEPDIR)/Cos.Plo + -rm -f ./$(DEPDIR)/CrossoverConstrainedOp.Plo + -rm -f ./$(DEPDIR)/CrossoverOp.Plo + -rm -f ./$(DEPDIR)/Deme.Plo + -rm -f ./$(DEPDIR)/EphemeralDouble.Plo + -rm -f ./$(DEPDIR)/EvaluationOp.Plo + -rm -f ./$(DEPDIR)/Evolver.Plo + -rm -f ./$(DEPDIR)/ExecutionException.Plo + -rm -f ./$(DEPDIR)/Exp.Plo + -rm -f ./$(DEPDIR)/FitnessKoza.Plo + -rm -f ./$(DEPDIR)/Individual.Plo + -rm -f ./$(DEPDIR)/InitFullConstrainedOp.Plo + -rm -f ./$(DEPDIR)/InitFullOp.Plo + -rm -f ./$(DEPDIR)/InitGrowConstrainedOp.Plo + -rm -f ./$(DEPDIR)/InitGrowOp.Plo + -rm -f ./$(DEPDIR)/InitHalfConstrainedOp.Plo + -rm -f ./$(DEPDIR)/InitHalfOp.Plo + -rm -f ./$(DEPDIR)/InitializationOp.Plo + -rm -f ./$(DEPDIR)/Invoker.Plo + -rm -f ./$(DEPDIR)/Log.Plo + -rm -f ./$(DEPDIR)/MaxNodesExecutionException.Plo + -rm -f ./$(DEPDIR)/MaxTimeExecutionException.Plo + -rm -f ./$(DEPDIR)/Module.Plo + -rm -f ./$(DEPDIR)/ModuleCompressOp.Plo + -rm -f ./$(DEPDIR)/ModuleExpandOp.Plo + -rm -f ./$(DEPDIR)/ModuleVectorComponent.Plo + -rm -f ./$(DEPDIR)/MutationShrinkConstrainedOp.Plo + -rm -f ./$(DEPDIR)/MutationShrinkOp.Plo + -rm -f ./$(DEPDIR)/MutationStandardConstrainedOp.Plo + -rm -f ./$(DEPDIR)/MutationStandardOp.Plo + -rm -f ./$(DEPDIR)/MutationSwapConstrainedOp.Plo + -rm -f ./$(DEPDIR)/MutationSwapOp.Plo + -rm -f ./$(DEPDIR)/MutationSwapSubtreeConstrainedOp.Plo + -rm -f ./$(DEPDIR)/MutationSwapSubtreeOp.Plo + -rm -f ./$(DEPDIR)/Nand.Plo + -rm -f ./$(DEPDIR)/Nor.Plo + -rm -f ./$(DEPDIR)/Not.Plo + -rm -f ./$(DEPDIR)/Or.Plo + -rm -f ./$(DEPDIR)/Primitive.Plo + -rm -f ./$(DEPDIR)/PrimitiveSet.Plo + -rm -f ./$(DEPDIR)/PrimitiveSuperSet.Plo + -rm -f ./$(DEPDIR)/PrimitiveUsageStatsOp.Plo + -rm -f ./$(DEPDIR)/ResourcesExceededExecutionException.Plo + -rm -f ./$(DEPDIR)/Sin.Plo + -rm -f ./$(DEPDIR)/StatsCalcFitnessKozaOp.Plo + -rm -f ./$(DEPDIR)/StatsCalcFitnessSimpleOp.Plo + -rm -f ./$(DEPDIR)/System.Plo + -rm -f ./$(DEPDIR)/TermMaxHitsOp.Plo + -rm -f ./$(DEPDIR)/Tree.Plo + -rm -f ./$(DEPDIR)/ValidateOp.Plo + -rm -f ./$(DEPDIR)/Vivarium.Plo + -rm -f ./$(DEPDIR)/Xor.Plo + -rm -f ./$(DEPDIR)/libbeagle-GP.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/ADF.Plo + -rm -f ./$(DEPDIR)/And.Plo + -rm -f ./$(DEPDIR)/Argument.Plo + -rm -f ./$(DEPDIR)/Context.Plo + -rm -f ./$(DEPDIR)/Cos.Plo + -rm -f ./$(DEPDIR)/CrossoverConstrainedOp.Plo + -rm -f ./$(DEPDIR)/CrossoverOp.Plo + -rm -f ./$(DEPDIR)/Deme.Plo + -rm -f ./$(DEPDIR)/EphemeralDouble.Plo + -rm -f ./$(DEPDIR)/EvaluationOp.Plo + -rm -f ./$(DEPDIR)/Evolver.Plo + -rm -f ./$(DEPDIR)/ExecutionException.Plo + -rm -f ./$(DEPDIR)/Exp.Plo + -rm -f ./$(DEPDIR)/FitnessKoza.Plo + -rm -f ./$(DEPDIR)/Individual.Plo + -rm -f ./$(DEPDIR)/InitFullConstrainedOp.Plo + -rm -f ./$(DEPDIR)/InitFullOp.Plo + -rm -f ./$(DEPDIR)/InitGrowConstrainedOp.Plo + -rm -f ./$(DEPDIR)/InitGrowOp.Plo + -rm -f ./$(DEPDIR)/InitHalfConstrainedOp.Plo + -rm -f ./$(DEPDIR)/InitHalfOp.Plo + -rm -f ./$(DEPDIR)/InitializationOp.Plo + -rm -f ./$(DEPDIR)/Invoker.Plo + -rm -f ./$(DEPDIR)/Log.Plo + -rm -f ./$(DEPDIR)/MaxNodesExecutionException.Plo + -rm -f ./$(DEPDIR)/MaxTimeExecutionException.Plo + -rm -f ./$(DEPDIR)/Module.Plo + -rm -f ./$(DEPDIR)/ModuleCompressOp.Plo + -rm -f ./$(DEPDIR)/ModuleExpandOp.Plo + -rm -f ./$(DEPDIR)/ModuleVectorComponent.Plo + -rm -f ./$(DEPDIR)/MutationShrinkConstrainedOp.Plo + -rm -f ./$(DEPDIR)/MutationShrinkOp.Plo + -rm -f ./$(DEPDIR)/MutationStandardConstrainedOp.Plo + -rm -f ./$(DEPDIR)/MutationStandardOp.Plo + -rm -f ./$(DEPDIR)/MutationSwapConstrainedOp.Plo + -rm -f ./$(DEPDIR)/MutationSwapOp.Plo + -rm -f ./$(DEPDIR)/MutationSwapSubtreeConstrainedOp.Plo + -rm -f ./$(DEPDIR)/MutationSwapSubtreeOp.Plo + -rm -f ./$(DEPDIR)/Nand.Plo + -rm -f ./$(DEPDIR)/Nor.Plo + -rm -f ./$(DEPDIR)/Not.Plo + -rm -f ./$(DEPDIR)/Or.Plo + -rm -f ./$(DEPDIR)/Primitive.Plo + -rm -f ./$(DEPDIR)/PrimitiveSet.Plo + -rm -f ./$(DEPDIR)/PrimitiveSuperSet.Plo + -rm -f ./$(DEPDIR)/PrimitiveUsageStatsOp.Plo + -rm -f ./$(DEPDIR)/ResourcesExceededExecutionException.Plo + -rm -f ./$(DEPDIR)/Sin.Plo + -rm -f ./$(DEPDIR)/StatsCalcFitnessKozaOp.Plo + -rm -f ./$(DEPDIR)/StatsCalcFitnessSimpleOp.Plo + -rm -f ./$(DEPDIR)/System.Plo + -rm -f ./$(DEPDIR)/TermMaxHitsOp.Plo + -rm -f ./$(DEPDIR)/Tree.Plo + -rm -f ./$(DEPDIR)/ValidateOp.Plo + -rm -f ./$(DEPDIR)/Vivarium.Plo + -rm -f ./$(DEPDIR)/Xor.Plo + -rm -f ./$(DEPDIR)/libbeagle-GP.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES + +.PRECIOUS: Makefile + +libbeagle-GP.cpp: + rm -f libbeagle-GP.cpp + echo "// Generated automatically by make" > libbeagle-GP.cpp + echo >> libbeagle-GP.cpp + echo $(BEAGLE_GP_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libbeagle-GP.cpp + +clean-generic: + rm -f libbeagle-GP.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GP/src/Makefile.am b/lib/beagle-3.0.3/beagle/GP/src/Makefile.am new file mode 100644 index 0000000..3901c0e --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Makefile.am @@ -0,0 +1,84 @@ +BEAGLE_GP_SRC_VAR = \ +ADF.cpp \ +And.cpp \ +Argument.cpp \ +Context.cpp \ +Cos.cpp \ +CrossoverOp.cpp \ +CrossoverConstrainedOp.cpp \ +Deme.cpp \ +EphemeralDouble.cpp \ +EvaluationOp.cpp \ +Evolver.cpp \ +ExecutionException.cpp \ +Exp.cpp \ +FitnessKoza.cpp \ +Individual.cpp \ +InitializationOp.cpp \ +InitFullConstrainedOp.cpp \ +InitFullOp.cpp \ +InitGrowConstrainedOp.cpp \ +InitGrowOp.cpp \ +InitHalfConstrainedOp.cpp \ +InitHalfOp.cpp \ +Invoker.cpp \ +Log.cpp \ +MaxNodesExecutionException.cpp \ +MaxTimeExecutionException.cpp \ +Module.cpp \ +ModuleCompressOp.cpp \ +ModuleExpandOp.cpp \ +ModuleVectorComponent.cpp \ +MutationShrinkConstrainedOp.cpp \ +MutationShrinkOp.cpp \ +MutationStandardConstrainedOp.cpp \ +MutationStandardOp.cpp \ +MutationSwapConstrainedOp.cpp \ +MutationSwapOp.cpp \ +MutationSwapSubtreeConstrainedOp.cpp \ +MutationSwapSubtreeOp.cpp \ +Nand.cpp \ +Nor.cpp \ +Not.cpp \ +Or.cpp \ +Primitive.cpp \ +PrimitiveSet.cpp \ +PrimitiveSuperSet.cpp \ +PrimitiveUsageStatsOp.cpp \ +ResourcesExceededExecutionException.cpp \ +Sin.cpp \ +StatsCalcFitnessKozaOp.cpp \ +StatsCalcFitnessSimpleOp.cpp \ +System.cpp \ +TermMaxHitsOp.cpp \ +Tree.cpp \ +ValidateOp.cpp \ +Vivarium.cpp \ +Xor.cpp +lib_LTLIBRARIES = libbeagle-GP.la +INCLUDES = \ +-I$(top_srcdir)/PACC \ +-I$(top_srcdir)/beagle/include \ +-I$(top_srcdir)/beagle/GA/include \ +-I$(top_srcdir)/beagle/GP/include +libbeagle_GP_la_LIBADD = \ +$(top_srcdir)/beagle/GA/src/libbeagle-GA.la \ +$(top_srcdir)/beagle/src/libbeagle.la \ +$(top_srcdir)/PACC/Math/libpacc-math.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la +libbeagle_GP_la_LDFLAGS = -no-undefined -release @VERSION@ +if FAST_COMPILATION +libbeagle-GP.cpp: + rm -f libbeagle-GP.cpp + echo "// Generated automatically by make" > libbeagle-GP.cpp + echo >> libbeagle-GP.cpp + echo $(BEAGLE_GP_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libbeagle-GP.cpp + +clean-generic: + rm -f libbeagle-GP.cpp + +nodist_libbeagle_GP_la_SOURCES = libbeagle-GP.cpp +else +libbeagle_GP_la_SOURCES = $(BEAGLE_GP_SRC_VAR) +endif diff --git a/lib/beagle-3.0.3/beagle/GP/src/Makefile.in b/lib/beagle-3.0.3/beagle/GP/src/Makefile.in new file mode 100644 index 0000000..4327a0b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Makefile.in @@ -0,0 +1,1021 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/GP/src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libbeagle_GP_la_DEPENDENCIES = \ + $(top_srcdir)/beagle/GA/src/libbeagle-GA.la \ + $(top_srcdir)/beagle/src/libbeagle.la \ + $(top_srcdir)/PACC/Math/libpacc-math.la \ + $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la +am__libbeagle_GP_la_SOURCES_DIST = ADF.cpp And.cpp Argument.cpp \ + Context.cpp Cos.cpp CrossoverOp.cpp CrossoverConstrainedOp.cpp \ + Deme.cpp EphemeralDouble.cpp EvaluationOp.cpp Evolver.cpp \ + ExecutionException.cpp Exp.cpp FitnessKoza.cpp Individual.cpp \ + InitializationOp.cpp InitFullConstrainedOp.cpp InitFullOp.cpp \ + InitGrowConstrainedOp.cpp InitGrowOp.cpp \ + InitHalfConstrainedOp.cpp InitHalfOp.cpp Invoker.cpp Log.cpp \ + MaxNodesExecutionException.cpp MaxTimeExecutionException.cpp \ + Module.cpp ModuleCompressOp.cpp ModuleExpandOp.cpp \ + ModuleVectorComponent.cpp MutationShrinkConstrainedOp.cpp \ + MutationShrinkOp.cpp MutationStandardConstrainedOp.cpp \ + MutationStandardOp.cpp MutationSwapConstrainedOp.cpp \ + MutationSwapOp.cpp MutationSwapSubtreeConstrainedOp.cpp \ + MutationSwapSubtreeOp.cpp Nand.cpp Nor.cpp Not.cpp Or.cpp \ + Primitive.cpp PrimitiveSet.cpp PrimitiveSuperSet.cpp \ + PrimitiveUsageStatsOp.cpp \ + ResourcesExceededExecutionException.cpp Sin.cpp \ + StatsCalcFitnessKozaOp.cpp StatsCalcFitnessSimpleOp.cpp \ + System.cpp TermMaxHitsOp.cpp Tree.cpp ValidateOp.cpp \ + Vivarium.cpp Xor.cpp +am__objects_1 = ADF.lo And.lo Argument.lo Context.lo Cos.lo \ + CrossoverOp.lo CrossoverConstrainedOp.lo Deme.lo \ + EphemeralDouble.lo EvaluationOp.lo Evolver.lo \ + ExecutionException.lo Exp.lo FitnessKoza.lo Individual.lo \ + InitializationOp.lo InitFullConstrainedOp.lo InitFullOp.lo \ + InitGrowConstrainedOp.lo InitGrowOp.lo \ + InitHalfConstrainedOp.lo InitHalfOp.lo Invoker.lo Log.lo \ + MaxNodesExecutionException.lo MaxTimeExecutionException.lo \ + Module.lo ModuleCompressOp.lo ModuleExpandOp.lo \ + ModuleVectorComponent.lo MutationShrinkConstrainedOp.lo \ + MutationShrinkOp.lo MutationStandardConstrainedOp.lo \ + MutationStandardOp.lo MutationSwapConstrainedOp.lo \ + MutationSwapOp.lo MutationSwapSubtreeConstrainedOp.lo \ + MutationSwapSubtreeOp.lo Nand.lo Nor.lo Not.lo Or.lo \ + Primitive.lo PrimitiveSet.lo PrimitiveSuperSet.lo \ + PrimitiveUsageStatsOp.lo \ + ResourcesExceededExecutionException.lo Sin.lo \ + StatsCalcFitnessKozaOp.lo StatsCalcFitnessSimpleOp.lo \ + System.lo TermMaxHitsOp.lo Tree.lo ValidateOp.lo Vivarium.lo \ + Xor.lo +@FAST_COMPILATION_FALSE@am_libbeagle_GP_la_OBJECTS = $(am__objects_1) +@FAST_COMPILATION_TRUE@nodist_libbeagle_GP_la_OBJECTS = \ +@FAST_COMPILATION_TRUE@ libbeagle-GP.lo +libbeagle_GP_la_OBJECTS = $(am_libbeagle_GP_la_OBJECTS) \ + $(nodist_libbeagle_GP_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libbeagle_GP_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libbeagle_GP_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/ADF.Plo ./$(DEPDIR)/And.Plo \ + ./$(DEPDIR)/Argument.Plo ./$(DEPDIR)/Context.Plo \ + ./$(DEPDIR)/Cos.Plo ./$(DEPDIR)/CrossoverConstrainedOp.Plo \ + ./$(DEPDIR)/CrossoverOp.Plo ./$(DEPDIR)/Deme.Plo \ + ./$(DEPDIR)/EphemeralDouble.Plo ./$(DEPDIR)/EvaluationOp.Plo \ + ./$(DEPDIR)/Evolver.Plo ./$(DEPDIR)/ExecutionException.Plo \ + ./$(DEPDIR)/Exp.Plo ./$(DEPDIR)/FitnessKoza.Plo \ + ./$(DEPDIR)/Individual.Plo \ + ./$(DEPDIR)/InitFullConstrainedOp.Plo \ + ./$(DEPDIR)/InitFullOp.Plo \ + ./$(DEPDIR)/InitGrowConstrainedOp.Plo \ + ./$(DEPDIR)/InitGrowOp.Plo \ + ./$(DEPDIR)/InitHalfConstrainedOp.Plo \ + ./$(DEPDIR)/InitHalfOp.Plo ./$(DEPDIR)/InitializationOp.Plo \ + ./$(DEPDIR)/Invoker.Plo ./$(DEPDIR)/Log.Plo \ + ./$(DEPDIR)/MaxNodesExecutionException.Plo \ + ./$(DEPDIR)/MaxTimeExecutionException.Plo \ + ./$(DEPDIR)/Module.Plo ./$(DEPDIR)/ModuleCompressOp.Plo \ + ./$(DEPDIR)/ModuleExpandOp.Plo \ + ./$(DEPDIR)/ModuleVectorComponent.Plo \ + ./$(DEPDIR)/MutationShrinkConstrainedOp.Plo \ + ./$(DEPDIR)/MutationShrinkOp.Plo \ + ./$(DEPDIR)/MutationStandardConstrainedOp.Plo \ + ./$(DEPDIR)/MutationStandardOp.Plo \ + ./$(DEPDIR)/MutationSwapConstrainedOp.Plo \ + ./$(DEPDIR)/MutationSwapOp.Plo \ + ./$(DEPDIR)/MutationSwapSubtreeConstrainedOp.Plo \ + ./$(DEPDIR)/MutationSwapSubtreeOp.Plo ./$(DEPDIR)/Nand.Plo \ + ./$(DEPDIR)/Nor.Plo ./$(DEPDIR)/Not.Plo ./$(DEPDIR)/Or.Plo \ + ./$(DEPDIR)/Primitive.Plo ./$(DEPDIR)/PrimitiveSet.Plo \ + ./$(DEPDIR)/PrimitiveSuperSet.Plo \ + ./$(DEPDIR)/PrimitiveUsageStatsOp.Plo \ + ./$(DEPDIR)/ResourcesExceededExecutionException.Plo \ + ./$(DEPDIR)/Sin.Plo ./$(DEPDIR)/StatsCalcFitnessKozaOp.Plo \ + ./$(DEPDIR)/StatsCalcFitnessSimpleOp.Plo \ + ./$(DEPDIR)/System.Plo ./$(DEPDIR)/TermMaxHitsOp.Plo \ + ./$(DEPDIR)/Tree.Plo ./$(DEPDIR)/ValidateOp.Plo \ + ./$(DEPDIR)/Vivarium.Plo ./$(DEPDIR)/Xor.Plo \ + ./$(DEPDIR)/libbeagle-GP.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libbeagle_GP_la_SOURCES) $(nodist_libbeagle_GP_la_SOURCES) +DIST_SOURCES = $(am__libbeagle_GP_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +BEAGLE_GP_SRC_VAR = \ +ADF.cpp \ +And.cpp \ +Argument.cpp \ +Context.cpp \ +Cos.cpp \ +CrossoverOp.cpp \ +CrossoverConstrainedOp.cpp \ +Deme.cpp \ +EphemeralDouble.cpp \ +EvaluationOp.cpp \ +Evolver.cpp \ +ExecutionException.cpp \ +Exp.cpp \ +FitnessKoza.cpp \ +Individual.cpp \ +InitializationOp.cpp \ +InitFullConstrainedOp.cpp \ +InitFullOp.cpp \ +InitGrowConstrainedOp.cpp \ +InitGrowOp.cpp \ +InitHalfConstrainedOp.cpp \ +InitHalfOp.cpp \ +Invoker.cpp \ +Log.cpp \ +MaxNodesExecutionException.cpp \ +MaxTimeExecutionException.cpp \ +Module.cpp \ +ModuleCompressOp.cpp \ +ModuleExpandOp.cpp \ +ModuleVectorComponent.cpp \ +MutationShrinkConstrainedOp.cpp \ +MutationShrinkOp.cpp \ +MutationStandardConstrainedOp.cpp \ +MutationStandardOp.cpp \ +MutationSwapConstrainedOp.cpp \ +MutationSwapOp.cpp \ +MutationSwapSubtreeConstrainedOp.cpp \ +MutationSwapSubtreeOp.cpp \ +Nand.cpp \ +Nor.cpp \ +Not.cpp \ +Or.cpp \ +Primitive.cpp \ +PrimitiveSet.cpp \ +PrimitiveSuperSet.cpp \ +PrimitiveUsageStatsOp.cpp \ +ResourcesExceededExecutionException.cpp \ +Sin.cpp \ +StatsCalcFitnessKozaOp.cpp \ +StatsCalcFitnessSimpleOp.cpp \ +System.cpp \ +TermMaxHitsOp.cpp \ +Tree.cpp \ +ValidateOp.cpp \ +Vivarium.cpp \ +Xor.cpp + +lib_LTLIBRARIES = libbeagle-GP.la +INCLUDES = \ +-I$(top_srcdir)/PACC \ +-I$(top_srcdir)/beagle/include \ +-I$(top_srcdir)/beagle/GA/include \ +-I$(top_srcdir)/beagle/GP/include + +libbeagle_GP_la_LIBADD = \ +$(top_srcdir)/beagle/GA/src/libbeagle-GA.la \ +$(top_srcdir)/beagle/src/libbeagle.la \ +$(top_srcdir)/PACC/Math/libpacc-math.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la + +libbeagle_GP_la_LDFLAGS = -no-undefined -release @VERSION@ +@FAST_COMPILATION_TRUE@nodist_libbeagle_GP_la_SOURCES = libbeagle-GP.cpp +@FAST_COMPILATION_FALSE@libbeagle_GP_la_SOURCES = $(BEAGLE_GP_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/GP/src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/GP/src/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libbeagle-GP.la: $(libbeagle_GP_la_OBJECTS) $(libbeagle_GP_la_DEPENDENCIES) $(EXTRA_libbeagle_GP_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libbeagle_GP_la_LINK) -rpath $(libdir) $(libbeagle_GP_la_OBJECTS) $(libbeagle_GP_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ADF.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/And.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Argument.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Context.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cos.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CrossoverConstrainedOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CrossoverOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Deme.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EphemeralDouble.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EvaluationOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Evolver.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ExecutionException.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Exp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FitnessKoza.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Individual.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitFullConstrainedOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitFullOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitGrowConstrainedOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitGrowOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitHalfConstrainedOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitHalfOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitializationOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Invoker.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Log.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MaxNodesExecutionException.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MaxTimeExecutionException.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Module.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModuleCompressOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModuleExpandOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModuleVectorComponent.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MutationShrinkConstrainedOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MutationShrinkOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MutationStandardConstrainedOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MutationStandardOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MutationSwapConstrainedOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MutationSwapOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MutationSwapSubtreeConstrainedOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MutationSwapSubtreeOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Nand.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Nor.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Not.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Or.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Primitive.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PrimitiveSet.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PrimitiveSuperSet.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PrimitiveUsageStatsOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ResourcesExceededExecutionException.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Sin.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StatsCalcFitnessKozaOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StatsCalcFitnessSimpleOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/System.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TermMaxHitsOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Tree.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ValidateOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Vivarium.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Xor.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libbeagle-GP.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(libdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +@FAST_COMPILATION_FALSE@clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/ADF.Plo + -rm -f ./$(DEPDIR)/And.Plo + -rm -f ./$(DEPDIR)/Argument.Plo + -rm -f ./$(DEPDIR)/Context.Plo + -rm -f ./$(DEPDIR)/Cos.Plo + -rm -f ./$(DEPDIR)/CrossoverConstrainedOp.Plo + -rm -f ./$(DEPDIR)/CrossoverOp.Plo + -rm -f ./$(DEPDIR)/Deme.Plo + -rm -f ./$(DEPDIR)/EphemeralDouble.Plo + -rm -f ./$(DEPDIR)/EvaluationOp.Plo + -rm -f ./$(DEPDIR)/Evolver.Plo + -rm -f ./$(DEPDIR)/ExecutionException.Plo + -rm -f ./$(DEPDIR)/Exp.Plo + -rm -f ./$(DEPDIR)/FitnessKoza.Plo + -rm -f ./$(DEPDIR)/Individual.Plo + -rm -f ./$(DEPDIR)/InitFullConstrainedOp.Plo + -rm -f ./$(DEPDIR)/InitFullOp.Plo + -rm -f ./$(DEPDIR)/InitGrowConstrainedOp.Plo + -rm -f ./$(DEPDIR)/InitGrowOp.Plo + -rm -f ./$(DEPDIR)/InitHalfConstrainedOp.Plo + -rm -f ./$(DEPDIR)/InitHalfOp.Plo + -rm -f ./$(DEPDIR)/InitializationOp.Plo + -rm -f ./$(DEPDIR)/Invoker.Plo + -rm -f ./$(DEPDIR)/Log.Plo + -rm -f ./$(DEPDIR)/MaxNodesExecutionException.Plo + -rm -f ./$(DEPDIR)/MaxTimeExecutionException.Plo + -rm -f ./$(DEPDIR)/Module.Plo + -rm -f ./$(DEPDIR)/ModuleCompressOp.Plo + -rm -f ./$(DEPDIR)/ModuleExpandOp.Plo + -rm -f ./$(DEPDIR)/ModuleVectorComponent.Plo + -rm -f ./$(DEPDIR)/MutationShrinkConstrainedOp.Plo + -rm -f ./$(DEPDIR)/MutationShrinkOp.Plo + -rm -f ./$(DEPDIR)/MutationStandardConstrainedOp.Plo + -rm -f ./$(DEPDIR)/MutationStandardOp.Plo + -rm -f ./$(DEPDIR)/MutationSwapConstrainedOp.Plo + -rm -f ./$(DEPDIR)/MutationSwapOp.Plo + -rm -f ./$(DEPDIR)/MutationSwapSubtreeConstrainedOp.Plo + -rm -f ./$(DEPDIR)/MutationSwapSubtreeOp.Plo + -rm -f ./$(DEPDIR)/Nand.Plo + -rm -f ./$(DEPDIR)/Nor.Plo + -rm -f ./$(DEPDIR)/Not.Plo + -rm -f ./$(DEPDIR)/Or.Plo + -rm -f ./$(DEPDIR)/Primitive.Plo + -rm -f ./$(DEPDIR)/PrimitiveSet.Plo + -rm -f ./$(DEPDIR)/PrimitiveSuperSet.Plo + -rm -f ./$(DEPDIR)/PrimitiveUsageStatsOp.Plo + -rm -f ./$(DEPDIR)/ResourcesExceededExecutionException.Plo + -rm -f ./$(DEPDIR)/Sin.Plo + -rm -f ./$(DEPDIR)/StatsCalcFitnessKozaOp.Plo + -rm -f ./$(DEPDIR)/StatsCalcFitnessSimpleOp.Plo + -rm -f ./$(DEPDIR)/System.Plo + -rm -f ./$(DEPDIR)/TermMaxHitsOp.Plo + -rm -f ./$(DEPDIR)/Tree.Plo + -rm -f ./$(DEPDIR)/ValidateOp.Plo + -rm -f ./$(DEPDIR)/Vivarium.Plo + -rm -f ./$(DEPDIR)/Xor.Plo + -rm -f ./$(DEPDIR)/libbeagle-GP.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/ADF.Plo + -rm -f ./$(DEPDIR)/And.Plo + -rm -f ./$(DEPDIR)/Argument.Plo + -rm -f ./$(DEPDIR)/Context.Plo + -rm -f ./$(DEPDIR)/Cos.Plo + -rm -f ./$(DEPDIR)/CrossoverConstrainedOp.Plo + -rm -f ./$(DEPDIR)/CrossoverOp.Plo + -rm -f ./$(DEPDIR)/Deme.Plo + -rm -f ./$(DEPDIR)/EphemeralDouble.Plo + -rm -f ./$(DEPDIR)/EvaluationOp.Plo + -rm -f ./$(DEPDIR)/Evolver.Plo + -rm -f ./$(DEPDIR)/ExecutionException.Plo + -rm -f ./$(DEPDIR)/Exp.Plo + -rm -f ./$(DEPDIR)/FitnessKoza.Plo + -rm -f ./$(DEPDIR)/Individual.Plo + -rm -f ./$(DEPDIR)/InitFullConstrainedOp.Plo + -rm -f ./$(DEPDIR)/InitFullOp.Plo + -rm -f ./$(DEPDIR)/InitGrowConstrainedOp.Plo + -rm -f ./$(DEPDIR)/InitGrowOp.Plo + -rm -f ./$(DEPDIR)/InitHalfConstrainedOp.Plo + -rm -f ./$(DEPDIR)/InitHalfOp.Plo + -rm -f ./$(DEPDIR)/InitializationOp.Plo + -rm -f ./$(DEPDIR)/Invoker.Plo + -rm -f ./$(DEPDIR)/Log.Plo + -rm -f ./$(DEPDIR)/MaxNodesExecutionException.Plo + -rm -f ./$(DEPDIR)/MaxTimeExecutionException.Plo + -rm -f ./$(DEPDIR)/Module.Plo + -rm -f ./$(DEPDIR)/ModuleCompressOp.Plo + -rm -f ./$(DEPDIR)/ModuleExpandOp.Plo + -rm -f ./$(DEPDIR)/ModuleVectorComponent.Plo + -rm -f ./$(DEPDIR)/MutationShrinkConstrainedOp.Plo + -rm -f ./$(DEPDIR)/MutationShrinkOp.Plo + -rm -f ./$(DEPDIR)/MutationStandardConstrainedOp.Plo + -rm -f ./$(DEPDIR)/MutationStandardOp.Plo + -rm -f ./$(DEPDIR)/MutationSwapConstrainedOp.Plo + -rm -f ./$(DEPDIR)/MutationSwapOp.Plo + -rm -f ./$(DEPDIR)/MutationSwapSubtreeConstrainedOp.Plo + -rm -f ./$(DEPDIR)/MutationSwapSubtreeOp.Plo + -rm -f ./$(DEPDIR)/Nand.Plo + -rm -f ./$(DEPDIR)/Nor.Plo + -rm -f ./$(DEPDIR)/Not.Plo + -rm -f ./$(DEPDIR)/Or.Plo + -rm -f ./$(DEPDIR)/Primitive.Plo + -rm -f ./$(DEPDIR)/PrimitiveSet.Plo + -rm -f ./$(DEPDIR)/PrimitiveSuperSet.Plo + -rm -f ./$(DEPDIR)/PrimitiveUsageStatsOp.Plo + -rm -f ./$(DEPDIR)/ResourcesExceededExecutionException.Plo + -rm -f ./$(DEPDIR)/Sin.Plo + -rm -f ./$(DEPDIR)/StatsCalcFitnessKozaOp.Plo + -rm -f ./$(DEPDIR)/StatsCalcFitnessSimpleOp.Plo + -rm -f ./$(DEPDIR)/System.Plo + -rm -f ./$(DEPDIR)/TermMaxHitsOp.Plo + -rm -f ./$(DEPDIR)/Tree.Plo + -rm -f ./$(DEPDIR)/ValidateOp.Plo + -rm -f ./$(DEPDIR)/Vivarium.Plo + -rm -f ./$(DEPDIR)/Xor.Plo + -rm -f ./$(DEPDIR)/libbeagle-GP.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES + +.PRECIOUS: Makefile + +@FAST_COMPILATION_TRUE@libbeagle-GP.cpp: +@FAST_COMPILATION_TRUE@ rm -f libbeagle-GP.cpp +@FAST_COMPILATION_TRUE@ echo "// Generated automatically by make" > libbeagle-GP.cpp +@FAST_COMPILATION_TRUE@ echo >> libbeagle-GP.cpp +@FAST_COMPILATION_TRUE@ echo $(BEAGLE_GP_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libbeagle-GP.cpp + +@FAST_COMPILATION_TRUE@clean-generic: +@FAST_COMPILATION_TRUE@ rm -f libbeagle-GP.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/GP/src/MaxNodesExecutionException.cpp b/lib/beagle-3.0.3/beagle/GP/src/MaxNodesExecutionException.cpp new file mode 100644 index 0000000..caa99db --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/MaxNodesExecutionException.cpp @@ -0,0 +1,64 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/MaxNodesExecutionException.cpp + * \brief Implementation of class GP::MaxNodesExecutionException. + * \author Christian Gagne + * \author Matthew Walker + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a new MaxNodesExecutionException object. + * \param inMessage Message describing the exception. + * \param inNodesExecuted Number of GP nodes executed before throwing the exception. + * \param inMaxNodesAllowed Maximum number of GP nodes execution allowed. + */ +GP::MaxNodesExecutionException::MaxNodesExecutionException(Beagle::string inMessage, + unsigned int inNodesExecuted, + unsigned int inMaxNodesAllowed) : + GP::ResourcesExceededExecutionException(inMessage), + mNodesExecuted(inNodesExecuted), + mMaxNodesAllowed(inMaxNodesAllowed) +{ } + + +/*! + * \brief Get the name of the exception. + * \return Name of the exception. + */ +const char* GP::MaxNodesExecutionException::getExceptionName() const throw() +{ + return "Beagle::GP::MaxNodesExecutionException"; +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/MaxTimeExecutionException.cpp b/lib/beagle-3.0.3/beagle/GP/src/MaxTimeExecutionException.cpp new file mode 100644 index 0000000..adb9935 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/MaxTimeExecutionException.cpp @@ -0,0 +1,64 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/MaxTimeExecutionException.cpp + * \brief Implementation of class GP::MaxTimeExecutionException. + * \author Christian Gagne + * \author Matthew Walker + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:06 $ + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a new MaxTimeExecutionException object. + * \param inMessage Message describing the exception. + * \param inTimeElapsed Time elapsed in individual evaluation before the exception is thrown. + * \param inMaxTimeAllowed Maximum time allowed for individual execution. + */ +GP::MaxTimeExecutionException::MaxTimeExecutionException(Beagle::string inMessage, + double inTimeElapsed, + double inMaxTimeAllowed) : + GP::ResourcesExceededExecutionException(inMessage), + mTimeElapsed(inTimeElapsed), + mMaxTimeAllowed(inMaxTimeAllowed) +{ } + + +/*! + * \brief Get the name of the exception. + * \return Name of the exception. + */ +const char* GP::MaxTimeExecutionException::getExceptionName() const throw() +{ + return "Beagle::GP::MaxTimeExecutionException"; +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/Module.cpp b/lib/beagle-3.0.3/beagle/GP/src/Module.cpp new file mode 100644 index 0000000..d536bd5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Module.cpp @@ -0,0 +1,200 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Module.cpp + * \brief Implementation of Module. + * \author Christian Gagne + * \author Matthew Walker + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a new Module primitive. + * \param inIndex Index of the associated tree. + * \param inNumberArgs Number of arguments of the module. + * \param inName Name of the module primitive. + * \param inArgsName Name of the associated argument primitive. + */ +GP::Module::Module(unsigned int inIndex, + unsigned int inNumberArgs, + Beagle::string inName, + Beagle::string inArgsName) : + GP::Invoker(inIndex, inNumberArgs, inName, inArgsName) +{ } + + +/*! + * \brief Generate a new Module primitive from the given specifications. + * \param inIndex Tree index for which the primitive is created. + * \param inName Name of the primitive generated. + * \param inArgsName Name of the arguments associated to the invoker created. + * \param ioContext Evolutionary context. + */ +GP::Invoker::Handle GP::Module::generateInvoker(unsigned int inIndex, + Beagle::string inName, + Beagle::string inArgsName, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Component::Handle lComponent = ioContext.getSystem().getComponent("ModuleVector"); + GP::ModuleVectorComponent::Handle lModVector = + castHandleT(lComponent); + if(lModVector==NULL) { + throw Beagle_RunTimeExceptionM(string("GP system is not configured with a module vector. ")+ + string("Consider adding a GP::ModuleVectorComponent object to the system.")); + } + GP::Tree::Handle lTree = (*lModVector)[inIndex]; + Beagle_AssertM(lTree != NULL); + return new GP::Module(inIndex, lTree->getNumberArguments(), inName, inArgsName); + Beagle_StackTraceEndM("GP::Invoker::Handle GP::Module::generateInvoker(unsigned int inIndex, string inName, string inArgsName, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return indices of the trees that can be invoked by the module. + * \param outCandidates Indices of tree that can be selected as invokable in the actual context. + * \param inNumberArguments Number of arguments for which the selection is desired. + * \param ioContext Evolutionary context. + */ +void GP::Module::getCandidatesToInvoke(std::vector< unsigned int,BEAGLE_STLALLOCATOR >& outCandidates, + unsigned int inNumberArguments, + GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + outCandidates.resize(0); + for(unsigned int i=0; igetName() == getName()) + return; + } + Component::Handle lComponent = ioContext.getSystem().getComponent("ModuleVector"); + GP::ModuleVectorComponent::Handle lModVector = + castHandleT(lComponent); + if(lModVector==NULL) { + throw Beagle_RunTimeExceptionM(string("GP system is not configured with a module vector. ")+ + string("Consider adding a GP::ModuleVectorComponent object to the system.")); + } + for(unsigned int i=0; isize(); ++i) { + if((*lModVector)[i]==NULL) continue; + const unsigned int lNbArgsTree = (*lModVector)[i]->getNumberArguments(); + if(inNumberArguments == GP::Primitive::eAny) outCandidates.push_back(i); + else if((inNumberArguments==GP::Primitive::eBranch) && (lNbArgsTree>0)) + outCandidates.push_back(i); + else if(inNumberArguments == lNbArgsTree) outCandidates.push_back(i); + } + Beagle_StackTraceEndM(""); +} + + +/*! + * \brief Get reference the tree to invoke. + * \param ioContext Evolutionary context. + * \return Handle to the invoked tree. + */ +GP::Tree::Handle GP::Module::getInvokedTree(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Component::Handle lComponent = ioContext.getSystem().getComponent("ModuleVector"); + GP::ModuleVectorComponent::Handle lModVector = + castHandleT(lComponent); + if(lModVector==NULL) { + throw Beagle_RunTimeExceptionM(string("GP system is not configured with a module vector. ")+ + string("Consider adding a GP::ModuleVectorComponent object to the system.")); + } + Beagle_AssertM(mIndex < lModVector->size()); + Beagle_AssertM((*lModVector)[mIndex] != NULL); + return (*lModVector)[mIndex]; + Beagle_StackTraceEndM("void GP::Module::getCandidatesToInvoke(std::vector< unsigned int,BEAGLE_STLALLOCATOR >& outCandidates, unsigned int inNumberArguments, GP::Context& ioContext) const"); +} + + +/*! + * \brief Invoke GP tree to execute as ADF. + * \param outResult Result of GP tree invocation + * \param ioTree Tree to invoke. + * \param ioContext Evolutionary context. + */ +void GP::Module::invoke(GP::Datum& outResult, GP::Tree::Handle ioTree, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + GP::Tree::Handle lOldGenotypeHandle = ioContext.getGenotypeHandle(); + unsigned int lOldGenotypeIndex = ioContext.getGenotypeIndex(); + ioContext.setGenotypeHandle(ioTree); + ioContext.setGenotypeIndex(mIndex); + ioContext.incrementNodesExecuted(); + ioContext.pushCallStack(0); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "EMA", "Beagle::GP::Module", + string("Interpreting the ")+uint2ordinal(mIndex+1)+string(" module") + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "EMA", "Beagle::GP::Module", + string("The tree is: ")+ioTree->serialize() + ); + (*ioTree)[0].mPrimitive->execute(outResult, ioContext); + ioContext.popCallStack(); + ioContext.checkExecutionTime(); + ioContext.setGenotypeHandle(lOldGenotypeHandle); + ioContext.setGenotypeIndex(lOldGenotypeIndex); + Beagle_StackTraceEndM("void GP::Module::invoke(GP::Datum& outResult, GP::Tree::Handle ioTree, GP::Context& ioContext)"); +} + + +/*! + * \brief Validate the module position in the tree. + * \param ioContext Evolutionary context. + * \return True if the module is correctly positioned, false if not. + * \throw Beagle::AssertException If the context is in a bad state. + */ +bool GP::Module::validate(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + for(unsigned int i=0; igetName() == getName()) + return false; + } + Component::Handle lComponent = ioContext.getSystem().getComponent("ModuleVector"); + GP::ModuleVectorComponent::Handle lModVector = + castHandleT(lComponent); + if(lModVector==NULL) { + throw Beagle_RunTimeExceptionM(string("GP system is not configured with a module vector. ")+ + string("Consider adding a GP::ModuleVectorComponent object to the system.")); + } + Beagle_AssertM((*lModVector)[mIndex]!=NULL); + if((*lModVector)[mIndex]->getNumberArguments() != getNumberArguments()) return false; + return GP::Primitive::validate(ioContext); + Beagle_StackTraceEndM("bool GP::Module::validate(GP::Context& ioContext) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/ModuleCompressOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/ModuleCompressOp.cpp new file mode 100644 index 0000000..d237e6f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/ModuleCompressOp.cpp @@ -0,0 +1,493 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/ModuleCompressOp.cpp + * \brief Implementation of ModuleCompressOp. + * \author Matthew Walker + * \author Christian Gagne + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct an compress operator for evolutionary module acquisition. + * \param inName Name of the operator. + */ +GP::ModuleCompressOp::ModuleCompressOp(Beagle::string inName) : + Operator(inName) +{ } + + +/*! + * \brief Initialize GP compress operator for evolutionary module acquisition. + * \param ioSystem Evolutionary system. + */ +void GP::ModuleCompressOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle::Operator::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("gp.ema.modulename")) { + mModulePrimitName = castHandleT(ioSystem.getRegister()["gp.ema.modulename"]); + } else { + mModulePrimitName = new String("MODULE"); + Register::Description lDescription( + "Module primitive name for EMA", + "String", + "MODULE", + "Name of the GP primitive to use as module reference in the GP trees" + ); + ioSystem.getRegister().addEntry("gp.ema.modulename", mModulePrimitName, lDescription); + } + + if(ioSystem.getRegister().isRegistered("gp.ema.maxmodules")) { + mMaxModulesVectorSize = castHandleT(ioSystem.getRegister()["gp.ema.maxmodules"]); + } else { + mMaxModulesVectorSize = new UInt(25); + Register::Description lDescription( + "Maximum allowed modules", + "UInt", + "25", + "Maximum number of allowed modules for evolutionary module acquisition" + ); + ioSystem.getRegister().addEntry("gp.ema.maxmodules", mMaxModulesVectorSize, lDescription); + } + + if(ioSystem.getRegister().isRegistered("gp.ema.maxargs")) { + mMaxModulesArgs = castHandleT(ioSystem.getRegister()["gp.ema.maxargs"]); + } else { + mMaxModulesArgs = new UInt(4); + Register::Description lDescription( + "Max. number of module arguments", + "UInt", + "4", + "Maximum number of allowed arguments to each module for evolutionary module acquisition" + ); + ioSystem.getRegister().addEntry("gp.ema.maxargs", mMaxModulesArgs, lDescription); + } + + if(ioSystem.getRegister().isRegistered("gp.ema.compresspb")) { + mCompressProba = castHandleT(ioSystem.getRegister()["gp.ema.compresspb"]); + } else { + mCompressProba = new Float(0.2f); + Register::Description lDescription( + "Probability of an individual being compressed", + "Float", + "0.2", + string("Probability of an individual being compress. Expansion randomly selects a ")+ + string("subtree, create a module from it and change the subtree for a reference to ")+ + string("the module.") + ); + ioSystem.getRegister().addEntry("gp.ema.compresspb", mCompressProba, lDescription); + } + Beagle_StackTraceEndM("void GP::ModuleCompressOp::initialize(Beagle::System& ioSystem) "); +} + + +/*! + * \brief Clean-up the module vector component from unused modules. + * \param ioVivarium Vivarium which is tested for module usage. + * \param ioContext Evolutionary context. + */ +void GP::ModuleCompressOp::cleanup(GP::Vivarium& ioVivarium, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + ModuleVectorComponent::Handle lModuleVectorComponent = + castHandleT(ioContext.getSystem().getComponent("ModuleVector")); + if(lModuleVectorComponent==NULL) { + throw Beagle_RunTimeExceptionM(string("GP system is not configured with a module vector. ")+ + string("Consider adding a GP::ModuleVectorComponent object to the system.")); + } + + // Loop over the population and hall-of-fames for unused modules. + const string lModuleName = mModulePrimitName->getWrappedValue(); + std::vector< bool,BEAGLE_STLALLOCATOR > lModuleUtilization(lModuleVectorComponent->size(), false); + for(unsigned int i=0; igetName() == lModuleName) { + GP::Module::Handle lModule = castHandleT(lTree[l].mPrimitive); + lModuleUtilization[lModule->getIndex()] = true; + } + } + } + } + HallOfFame& lHoFDeme = lDeme.getHallOfFame(); + for(unsigned int j=0; j(*lHoFDeme[j].mIndividual); + for(unsigned int k=0; kgetName() == lModuleName) { + GP::Module::Handle lModule = castHandleT(lTree[l].mPrimitive); + lModuleUtilization[lModule->getIndex()] = true; + } + } + } + } + } + HallOfFame& lHoFViva = ioVivarium.getHallOfFame(); + for(unsigned int j=0; j(*lHoFViva[j].mIndividual); + for(unsigned int k=0; kgetName() == lModuleName) { + GP::Module::Handle lModule = castHandleT(lTree[l].mPrimitive); + lModuleUtilization[lModule->getIndex()] = true; + } + } + } + } + + // Remove unused modules from module vector. + for(unsigned int i=0; i > lCandidates; + listCompressionCandidates(lCandidates, 0, ioTree); + if(lCandidates.size() == 0) return false; + + // Log tree before compression. + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "EMA", "ModuleCompressOp", + string("Tree before compression: ")+ + ioTree.serialize() + ); + + // Select the node to be the module and its argument. + const unsigned int lNodeToCompress = + lCandidates[ioContext.getSystem().getRandomizer().rollInteger(0, lCandidates.size()-1)]; + std::set< unsigned int,std::less,BEAGLE_STLALLOCATOR > lSelectedArgs; + const unsigned int lNodeToCompressSubTreeSize = ioTree[lNodeToCompress].mSubTreeSize; + std::list< unsigned int,BEAGLE_STLALLOCATOR > lPossibleArgs; + for(unsigned int i=1; igetWrappedValue()); + for(unsigned int i=0; (i0); ++i) { + const unsigned int lRNDValue = + ioContext.getSystem().getRandomizer().rollInteger(0, (lNbPossibleArgs-1)); + unsigned int lArgIndex = 0; + unsigned int lCounter=0; + for(std::list< unsigned int,BEAGLE_STLALLOCATOR >::iterator lIter=lPossibleArgs.begin(); + lIter!=lPossibleArgs.end(); ++lIter) { + if(lCounter++ == lRNDValue) { + lArgIndex = *lIter; + break; + } + } + lSelectedArgs.insert(lArgIndex); + const unsigned int lArgSubTreeSize = ioTree[lArgIndex].mSubTreeSize; + for(std::list< unsigned int,BEAGLE_STLALLOCATOR >::iterator lIter=lPossibleArgs.begin(); + lIter!=lPossibleArgs.end();) { + // Nodes that are parents to the selected argument, remove only direct parents. + if((*lIter) < lArgIndex) { + if(((*lIter)+ioTree[*lIter].mSubTreeSize) > lArgIndex) { + std::list< unsigned int,BEAGLE_STLALLOCATOR >::iterator lEraseIter = lIter; + ++lIter; + lPossibleArgs.erase(lEraseIter); + --lNbPossibleArgs; + } + else ++lIter; + } + // Remove selected argument and nodes in its subtree. + else if((*lIter) < (lArgIndex+lArgSubTreeSize)) { + std::list< unsigned int,BEAGLE_STLALLOCATOR >::iterator lEraseIter = lIter; + ++lIter; + lPossibleArgs.erase(lEraseIter); + --lNbPossibleArgs; + } + // We are over last node of the selected argument subtree, we can stop iterating. + else break; + } + } + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "EMA", "GP::ModuleCompressOp", + string("Compressing the subtree of the ")+uint2ordinal(lNodeToCompress+1)+ + string(" node of tree as the ")+uint2ordinal(inModuleIndex+1)+ + string(" module") + ); + + // Create the module. + ModuleVectorComponent::Handle lModuleVectorComponent = + castHandleT(ioContext.getSystem().getComponent("ModuleVector")); + if(lModuleVectorComponent==NULL) { + throw Beagle_RunTimeExceptionM(string("GP system is not configured with a module vector. ")+ + string("Consider adding a GP::ModuleVectorComponent object to the system.")); + } + (*lModuleVectorComponent)[inModuleIndex] = + castHandleT(ioContext.getIndividual().getTypeAlloc()->allocate()); + GP::Tree& lModule = *(*lModuleVectorComponent)[inModuleIndex]; + lModule.setPrimitiveSetIndex(ioTree.getPrimitiveSetIndex()); + const unsigned int lNbArgsSelected = lSelectedArgs.size(); + lModule.setNumberArguments(lNbArgsSelected); + + // Get a reference to the module and argument primitives. + GP::PrimitiveSet& lPrimitSet = ioTree.getPrimitiveSet(ioContext); + GP::Module::Handle lModPrimit = + castHandleT(lPrimitSet.getPrimitiveByName(mModulePrimitName->getWrappedValue())); + if(lModPrimit == NULL) { + std::ostringstream lOSS; + lOSS << "Used primitive set of actual tree (index: " << ioTree.getPrimitiveSetIndex(); + lOSS << ") doesn't have a module primitive of name \"" << mModulePrimitName->getWrappedValue(); + lOSS << "\", as specified in parameter \"gp.ema.modulename\"."; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + GP::Argument::Handle lArgPrimit = + castHandleT(lPrimitSet.getPrimitiveByName(lModPrimit->getArgsName())); + if(lArgPrimit == NULL) { + std::ostringstream lOSS; + lOSS << "Used primitive set of actual tree (index: " << ioTree.getPrimitiveSetIndex(); + lOSS << ") doesn't have a argument primitive of name \"" << lModPrimit->getArgsName(); + lOSS << "\", as specified by the module primitive \"" << lModPrimit->getName(); + lOSS << "\"."; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + + // Create new compressed tree and module tree. + GP::Tree::Handle lNewTree = + castHandleT(ioContext.getIndividual().getTypeAlloc()->allocate()); + Primitive::Handle lNewModPrimit = lModPrimit->generateInvoker(inModuleIndex, + lModPrimit->getName(), + lModPrimit->getArgsName(), + ioContext); + lNewTree->push_back(GP::Node(lNewModPrimit)); + unsigned int lArgIndex=0; + for(unsigned int i=0; igenerateArgument(lArgIndex++))); + const unsigned int lLastSubTreeIndex = i+ioTree[lChildIndex].mSubTreeSize; + while(ipush_back(ioTree[lNodeToCompress+i]); + if((i+1) == lLastSubTreeIndex) break; + else ++i; + } + Beagle_AssertM(ibegin(), lNewTree->end()); + ioTree.fixSubTreeSize(); + + // Log the module and compressed tree generated. + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "EMA", "GP::ModuleCompressOp", + string("New module generated is: ")+lModule.serialize() + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "EMA", "GP::ModuleCompressOp", + string("Tree after compression: ")+ + ioTree.serialize() + ); + + return true; + Beagle_StackTraceEndM("bool GP::ModuleCompressOp::compress(unsigned int inModuleIndex, GP::Tree& ioTree, GP::Context& ioContext)"); +} + + +/*! + * \brief Recursive function used to list possible candidates in actual tree for module creation. + * \param outCandidates List of candidates in actual tree. + * \param inNodeIndex Node index in the GP tree for which the method is called. + * \param inTree Tree to get the candidates for compression. + * \return True is there was existing modules in subtree, false if not. + */ +bool GP::ModuleCompressOp::listCompressionCandidates( + std::vector< unsigned int,BEAGLE_STLALLOCATOR >& outCandidates, + unsigned int inNodeIndex, + const GP::Tree& inTree) const +{ + Beagle_StackTraceBeginM(); + const unsigned int lNbArgs = inTree[inNodeIndex].mPrimitive->getNumberArguments(); + bool lModulesInSubTrees = + (inTree[inNodeIndex].mPrimitive->getName() == mModulePrimitName->getWrappedValue()); + unsigned int lChildIndex = inNodeIndex+1; + for(unsigned int i=0; i0) && (lModulesInSubTrees==false)) outCandidates.push_back(inNodeIndex); + return lModulesInSubTrees; + Beagle_StackTraceEndM("bool GP::ModuleCompressOp::listCompressionCandidates(std::vector< unsigned int,BEAGLE_STLALLOCATOR >& outCandidates, unsigned int inNodeIndex, const GP::Tree& inTree) const"); +} + + +/*! + * \brief Apply compression operator to the deme. + * \param ioDeme Deme to apply compression on. + * \param ioContext Evolutionary context. + */ +void GP::ModuleCompressOp::operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + GP::Deme& lGPDeme = castObjectT(ioDeme); + GP::Context& lGPContext = castObjectT(ioContext); + + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "EMA", "GP::ModuleCompressOp", + string("Creating modules of the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + if(mCompressProba->getWrappedValue()==0.0) return; + + // Cleaning up module vector once at each generation. + if(ioContext.getDemeIndex()==0) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "EMA", "GP::ModuleCompressOp", + string("Cleaning up the module vector component of unused modules before ")+ + string("apply compression") + ); + cleanup(lGPContext.getVivarium(), lGPContext); + } + + const float lCompressPb = mCompressProba->getWrappedValue(); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "EMA", "GP::ModuleCompressOp", + string("Creating modules with probability ")+ + dbl2str(lCompressPb) + ); + + // Generate list of available modules. + ModuleVectorComponent::Handle lModuleVectorComponent = + castHandleT(ioContext.getSystem().getComponent("ModuleVector")); + if(lModuleVectorComponent==NULL) { + throw Beagle_RunTimeExceptionM(string("GP system is not configured with a module vector. ")+ + string("Consider adding a GP::ModuleVectorComponent object to the system.")); + } + std::vector< unsigned int,BEAGLE_STLALLOCATOR > lEmptyModules; + for(unsigned int i=lModuleVectorComponent->size(); i>0; --i) { + if((*lModuleVectorComponent)[i-1] == NULL) lEmptyModules.push_back(i-1); + } + const unsigned int lMaxModuleVecSize = mMaxModulesVectorSize->getWrappedValue(); + if(lEmptyModules.empty() && (lModuleVectorComponent->size()>=lMaxModuleVecSize)) return; + + GP::Individual::Handle lOldIndividualHandle = lGPContext.getIndividualHandle(); + unsigned int lOldIndividualIndex = lGPContext.getIndividualIndex(); + GP::Tree::Handle lOldGenotypeHandle = lGPContext.getGenotypeHandle(); + unsigned int lOldGenotypeIndex = lGPContext.getGenotypeIndex(); + + // Apply compression operation + std::vector< unsigned int,BEAGLE_STLALLOCATOR > lIndivIndex(lGPDeme.size()); + for(unsigned int i=0; isize()>=lMaxModuleVecSize)) break; + if(ioContext.getSystem().getRandomizer().rollUniform() <= lCompressPb) { + unsigned int lNewModIndex = 0; + if(lEmptyModules.empty()) { + if(lModuleVectorComponent->size()>=lMaxModuleVecSize) break; + lNewModIndex = lModuleVectorComponent->size(); + lModuleVectorComponent->add(NULL); + } + else { + lNewModIndex = lEmptyModules.back(); + lEmptyModules.pop_back(); + } + unsigned int lNbNodesIndiv = 0; + GP::Individual& lCompressedIndiv = *lGPDeme[lIndivIndex[i]]; + for(unsigned int j=0; jsize(); + } + if(lNbNodesIndiv == 0) continue; + unsigned int lNodeIndex = + lGPContext.getSystem().getRandomizer().rollInteger(0, (lNbNodesIndiv-1)); + unsigned int lTreeIndex = 0; + for(; lNodeIndex>=lCompressedIndiv[lTreeIndex]->size(); ++lTreeIndex) { + lNodeIndex -= lCompressedIndiv[lTreeIndex]->size(); + } + Beagle_AssertM(lTreeIndex < lCompressedIndiv.size()); + if(lCompressedIndiv[lTreeIndex]->size() < 2) continue; + lGPContext.setGenotypeHandle(lCompressedIndiv[lTreeIndex]); + lGPContext.setGenotypeIndex(lTreeIndex); + lGPContext.setIndividualHandle(lGPDeme[lIndivIndex[i]]); + lGPContext.setIndividualIndex(lIndivIndex[i]); + bool lCompressCompleted = compress(lNewModIndex, *lCompressedIndiv[lTreeIndex], lGPContext); + if(lCompressCompleted==false) lEmptyModules.push_back(lNewModIndex); + } + } + + lGPContext.setGenotypeHandle(lOldGenotypeHandle); + lGPContext.setGenotypeIndex(lOldGenotypeIndex); + lGPContext.setIndividualHandle(lOldIndividualHandle); + lGPContext.setIndividualIndex(lOldIndividualIndex); + + Beagle_LogObjectDebugM( + ioContext.getSystem().getLogger(), + "EMA", "GP::ModuleExpandOp", + *(ioContext.getSystem().getComponent("ModuleVector")) + ); + Beagle_StackTraceEndM("void GP::ModuleCompressOp::operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/ModuleExpandOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/ModuleExpandOp.cpp new file mode 100644 index 0000000..f525c8f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/ModuleExpandOp.cpp @@ -0,0 +1,226 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/ModuleExpandOp.cpp + * \brief Implementation of ModuleExpandOp. + * \author Matthew Walker + * \author Christian Gagne + * $Revision: 1.4.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct an expand operator for evolutionary module acquisition. + * \param inName Name of the operator. + */ +GP::ModuleExpandOp::ModuleExpandOp(Beagle::string inName) : + Operator(inName) +{ } + + +/*! + * \brief Initialize GP expand operator for evolutionary module acquisition. + * \param ioSystem Evolutionary system. + */ +void GP::ModuleExpandOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle::Operator::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("gp.ema.modulename")) { + mModulePrimitName = castHandleT(ioSystem.getRegister()["gp.ema.modulename"]); + } else { + mModulePrimitName = new String("MODULE"); + Register::Description lDescription( + "Module primitive name for EMA", + "String", + "MODULE", + "Name of the GP primitive to use as module reference in the GP trees" + ); + ioSystem.getRegister().addEntry("gp.ema.modulename", mModulePrimitName, lDescription); + } + + if(ioSystem.getRegister().isRegistered("gp.ema.expandpb")) { + mExpandProba = castHandleT(ioSystem.getRegister()["gp.ema.expandpb"]); + } else { + mExpandProba = new Float(0.2f); + Register::Description lDescription( + "Probability of an individual being expanded", + "Float", + "0.2", + string("Probability of an individual being expanded. Expansion randomly selects a ")+ + string("module primitive and inserts it back into the tree.") + ); + ioSystem.getRegister().addEntry("gp.ema.expandpb", mExpandProba, lDescription); + } + Beagle_StackTraceEndM("void GP::ModuleExpandOp::initialize(Beagle::System& ioSystem)"); +} + + +/*! + * \brief Expand given module of a GP tree. + * \param inNodeToExpand Index of node to expand in GP tree. + * \param ioTree Tree from which module will be expanded. + * \param ioContext Evolutionary context. + */ +void GP::ModuleExpandOp::expand(unsigned int inNodeToExpand, + GP::Tree& ioTree, + GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + // Log tree before expansion. + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "EMA", "GP::ModuleExpandOp", + string("Tree before expansion: ")+ + ioTree.serialize() + ); + + // Get the module index and reference. + Module::Handle lModuleInstance = castHandleT(ioTree[inNodeToExpand].mPrimitive); + unsigned int lModuleIndex = lModuleInstance->getIndex(); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "EMA", "GP::ModuleExpandOp", + string("Expanding ")+uint2ordinal(lModuleIndex+1)+ + string(" module (called from ")+uint2ordinal(inNodeToExpand+1)+ + string(" node of the tree)") + ); + ModuleVectorComponent::Handle lModuleVectorComponent = + castHandleT(ioContext.getSystem().getComponent("ModuleVector")); + if(lModuleVectorComponent==NULL) { + throw Beagle_RunTimeExceptionM(string("GP system is not configured with a module vector. ")+ + string("Consider adding a GP::ModuleVectorComponent object to the system.")); + } + Beagle::GP::Tree::Handle lModule = (*lModuleVectorComponent)[lModuleIndex]; + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "EMA", "GP::ModuleExpandOp", + string("Module is: ")+lModule->serialize() + ); + + // Generate new tree. + GP::Tree::Handle lNewTree = + castHandleT(ioContext.getIndividual().getTypeAlloc()->allocate()); + string lArgName = lModuleInstance->getArgsName(); + ioTree.setContextToNode(inNodeToExpand, ioContext); + for(unsigned int i=0; isize(); ++i) { + if((*lModule)[i].mPrimitive->getName() != lArgName) { + lNewTree->push_back(GP::Node((*lModule)[i].mPrimitive)); + } + else { + GP::Argument::Handle lArg = castHandleT((*lModule)[i].mPrimitive); + const unsigned int lChildIndex = + ioTree[inNodeToExpand].mPrimitive->getChildrenNodeIndex(lArg->getIndex(), ioContext); + lNewTree->insert(lNewTree->end(), ioTree.begin()+lChildIndex, + ioTree.begin()+lChildIndex+ioTree[lChildIndex].mSubTreeSize); + } + } + ioTree.erase(ioTree.begin()+inNodeToExpand, + ioTree.begin()+inNodeToExpand+ioTree[inNodeToExpand].mSubTreeSize); + ioTree.insert(ioTree.begin()+inNodeToExpand, lNewTree->begin(), lNewTree->end()); + ioTree.fixSubTreeSize(); + + // Log results. + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "EMA", "GP::ModuleExpandOp", + string("Tree after expansion: ")+ + ioTree.serialize() + ); + Beagle_StackTraceEndM("void GP::ModuleExpandOp::expand(unsigned int inNodeToExpand, GP::Tree& ioTree, GP::Context& ioContext)"); +} + + +/*! + * \brief Expand modules in trees of actual population. + * \param ioDeme Deme to apply operation. + * \param ioContext Evolutionary context. + */ +void GP::ModuleExpandOp::operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "EMA", "GP::ModuleExpandOp", + string("Expanding modules of the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + if(mExpandProba->getWrappedValue()==0.0) return; + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "EMA", "GP::ModuleExpandOp", + string("Expanding modules with probability ")+ + dbl2str(mExpandProba->getWrappedValue()) + ); + + GP::Deme& lGPDeme = castObjectT(ioDeme); + GP::Context& lGPContext = castObjectT(ioContext); + GP::Individual::Handle lOldIndividualHandle = lGPContext.getIndividualHandle(); + unsigned int lOldIndividualIndex = lGPContext.getIndividualIndex(); + GP::Tree::Handle lOldGenotypeHandle = lGPContext.getGenotypeHandle(); + unsigned int lOldGenotypeIndex = lGPContext.getGenotypeIndex(); + const string lModuleName = mModulePrimitName->getWrappedValue(); + for(unsigned int i=0; isize(); ++j) { + GP::Tree& lTree = *(*lGPDeme[i])[j]; + for(unsigned int k=0; kgetName() == lModuleName) { + if(ioContext.getSystem().getRandomizer().rollUniform() <= mExpandProba->getWrappedValue()) { + lGPContext.setIndividualHandle(lGPDeme[i]); + lGPContext.setIndividualIndex(i); + lGPContext.setGenotypeHandle((*lGPDeme[i])[j]); + lGPContext.setGenotypeIndex(j); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "expand", "ExpandOp", + string("Expanding the ") +uint2ordinal(i+1)+" individual" + ); + expand(k, lTree, lGPContext); + } + } + } + } + } + lGPContext.setGenotypeHandle(lOldGenotypeHandle); + lGPContext.setGenotypeIndex(lOldGenotypeIndex); + lGPContext.setIndividualHandle(lOldIndividualHandle); + lGPContext.setIndividualIndex(lOldIndividualIndex); + + Beagle_LogObjectDebugM( + ioContext.getSystem().getLogger(), + "EMA", "GP::ModuleExpandOp", + *(ioContext.getSystem().getComponent("ModuleVector")) + ); + Beagle_StackTraceEndM("void GP::ModuleExpandOp::operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/GP/src/ModuleVectorComponent.cpp b/lib/beagle-3.0.3/beagle/GP/src/ModuleVectorComponent.cpp new file mode 100644 index 0000000..1eb2b76 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/ModuleVectorComponent.cpp @@ -0,0 +1,102 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/ModuleVectorComponent.cpp + * \brief Implementation of class ModuleVectorComponent. + * \author Matthew Walker + * \author Christian Gagne + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct module vector GP system component for evolutionary module acquisition. + * \param inTreeAlloc Tree allocator used to generate used individuals. + */ +GP::ModuleVectorComponent::ModuleVectorComponent(GP::Tree::Alloc::Handle inTreeAlloc) : + Component("ModuleVector"), + mModules(inTreeAlloc) +{ } + + +/*! + * \brief Read module vector from XML subtree with a context. + * \param inIter XML iterator to read modules from. + * \param ioSystem Evolutionary system. + */ +void GP::ModuleVectorComponent::readWithSystem(PACC::XML::ConstIterator inIter, Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="ModuleVector")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + GP::Context::Handle lGPContext = + castHandleT(ioSystem.getContextAllocator().allocate()); + GP::System& lGPSystem = castObjectT(ioSystem); + lGPContext->setSystemHandle(&lGPSystem); + mModules.resize(0); + GP::Tree::Alloc::Handle lTreeAlloc = castHandleT(mModules.getTypeAlloc()); + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Genotype")) { + if(lChild->getFirstChild()==NULL) mModules.push_back(NULL); + else { + mModules.push_back(lTreeAlloc->allocate()); + lGPContext->setGenotypeHandle(mModules.back()); + lGPContext->setGenotypeIndex(mModules.size()-1); + mModules.back()->readWithContext(lChild, *lGPContext); + } + } + } + Beagle_StackTraceEndM("void GP::ModuleVectorComponent::readWithSystem(PACC::XML::ConstIterator inIter, Beagle::System& ioSystem)"); +} + + +/*! + * \brief Write modules into XML streamer. + * \param ioStreamer XML streamer to write modules into. + * \param inIndent Whether XML output should be indented. + */ +void GP::ModuleVectorComponent::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("ModuleVector"); + for(unsigned int i=0; iwrite(ioStreamer, inIndent); + } + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void GP::ModuleVectorComponent::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} diff --git a/lib/beagle-3.0.3/beagle/GP/src/MutationShrinkConstrainedOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/MutationShrinkConstrainedOp.cpp new file mode 100644 index 0000000..6d3ee7b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/MutationShrinkConstrainedOp.cpp @@ -0,0 +1,220 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/MutationShrinkConstrainedOp.cpp + * \brief Source code of class GP::MutationShrinkConstrainedOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#include "beagle/GP.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a constrained GP tree shrink mutation operator. + * \param inMutationPbName Mutation shrink probability. + * \param inName Name of the operator. + */ +GP::MutationShrinkConstrainedOp::MutationShrinkConstrainedOp(std::string inMutationPbName, + std::string inName) : + MutationShrinkOp(inMutationPbName, inName) +{ } + + +/*! + * \brief Register the parameters of the constrained GP tree shrink mutation operator. + * \param ioSystem System of the evolution. + */ +void GP::MutationShrinkConstrainedOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + MutationShrinkOp::initialize(ioSystem); + if(ioSystem.getRegister().isRegistered("gp.try")) { + mNumberAttempts = castHandleT(ioSystem.getRegister()["gp.try"]); + } else { + mNumberAttempts = new UInt(2); + string lLongDescrip = "Maximum number of attempts to modify a GP tree in a genetic "; + lLongDescrip += "operation. As there is topological constraints on GP trees (i.e. tree "; + lLongDescrip += "depth limit), it is often necessary to try a genetic operation several times."; + Register::Description lDescription( + "Max number of attempts", + "UInt", + "2", + lLongDescrip + ); + ioSystem.getRegister().addEntry("gp.try", mNumberAttempts, lDescription); + } + Beagle_StackTraceEndM("void GP::MutationShrinkConstrainedOp::registerParams(Beagle::System&)"); +} + + +/*! + * \brief Shrink mutate a GP individual. + * \param ioIndividual GP individual to shrink mutate. + * \param ioContext Context of the evolution. + * \return True if the individual is effectively mutated, false if not. + */ +bool GP::MutationShrinkConstrainedOp::mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + GP::Individual& lIndividual = castObjectT(ioIndividual); + GP::Context& lContext = castObjectT(ioContext); + unsigned int lNumberAttempts = mNumberAttempts->getWrappedValue(); + bool lMutationDone = false; + + unsigned int lNbNodes = 0; + for(unsigned int i=0; isize(); + if(lNbNodes == 0) return false; + unsigned int lChoosenNode = lContext.getSystem().getRandomizer().rollInteger(0, lNbNodes-1); + unsigned int lChoosenTree = 0; + for(; (lChoosenTree+1)size()) break; + else lChoosenNode -= lIndividual[lChoosenTree]->size(); + } + GP::Tree::Handle lActualTree = lIndividual[lChoosenTree]; + if(lActualTree->size() < 2) return false; + + GP::Tree::Handle lOldTreeHandle = lContext.getGenotypeHandle(); + unsigned int lOldTreeIndex = lContext.getGenotypeIndex(); + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationShrinkConstrainedOp", + std::string("Individual before constrained GP tree shrink mutation: ")+ + ioIndividual.serialize() + ); + + lIndividual[lChoosenTree] = castHandleT(lIndividual.getTypeAlloc()->allocate()); + lIndividual[lChoosenTree]->setPrimitiveSetIndex(lActualTree->getPrimitiveSetIndex()); + lIndividual[lChoosenTree]->setNumberArguments(lActualTree->getNumberArguments()); + + for(unsigned int lAttempt=0; lAttemptgetNumberArguments() == 0) { + lChoosenNode = lContext.getSystem().getRandomizer().rollInteger(0, lActualTree->size()-1); + } + lIndividual[lChoosenTree]->clear(); + lIndividual[lChoosenTree]->insert(lIndividual[lChoosenTree]->end(), + lActualTree->begin(), + lActualTree->begin()+lChoosenNode); + unsigned int lChoosenArg = + lContext.getSystem().getRandomizer().rollInteger(0, + (*lActualTree)[lChoosenNode].mPrimitive->getNumberArguments()-1); + unsigned int lChoosenArgIndex = lChoosenNode + 1; + for(unsigned int k=0; kinsert(lIndividual[lChoosenTree]->end(), + lActualTree->begin()+lChoosenArgIndex, + lActualTree->begin()+lChoosenArgIndex+lChoosenArgSubTreeSize); + unsigned int lChoosenNodeSubTreeSize = (*lActualTree)[lChoosenNode].mSubTreeSize; + lIndividual[lChoosenTree]->insert(lIndividual[lChoosenTree]->end(), + lActualTree->begin()+lChoosenNode+lChoosenNodeSubTreeSize, + lActualTree->end()); + lActualTree->setContextToNode(lChoosenNode, lContext); + unsigned int lDiffSize = + (*lActualTree)[lChoosenNode].mSubTreeSize - (*lActualTree)[lChoosenArgIndex].mSubTreeSize; + for(unsigned int l=0; l<(lContext.getCallStackSize()-1); l++) { + (*lIndividual[lChoosenTree])[lContext.getCallStackElement(l)].mSubTreeSize -= lDiffSize; + } + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationShrinkConstrainedOp", + std::string("Trying to replace the ")+uint2ordinal(lChoosenNode+1)+ + std::string(" node of the ")+uint2ordinal(lChoosenTree+1)+ + std::string(" tree with its ")+uint2ordinal(lChoosenArg+1)+ + std::string(" argument, that is the ")+ + uint2ordinal(lChoosenArgIndex+1)+std::string(" node") + ); + + lContext.setGenotypeHandle(lIndividual[lChoosenTree]); + lContext.setGenotypeIndex(lChoosenTree); + if(lIndividual[lChoosenTree]->validateSubTree(lChoosenNode, lContext)) { + lMutationDone = true; + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationShrinkConstrainedOp", + "Constrained GP tree shrink mutation valid" + ); + break; + } + else if(lAttempt == (lNumberAttempts-1)) { + lIndividual[lChoosenTree] = lActualTree; + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationShrinkConstrainedOp", + "Constrained GP tree shrink mutation invalid" + ); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationShrinkConstrainedOp", + "Unable to shrink mutate the individual" + ); + break; + } + else { + lChoosenNode = lContext.getSystem().getRandomizer().rollInteger(0, lActualTree->size()-1); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationShrinkConstrainedOp", + "Constrained GP tree shrink mutation invalid" + ); + continue; + } + } + + lContext.setGenotypeHandle(lOldTreeHandle); + lContext.setGenotypeIndex(lOldTreeIndex); + + if(lMutationDone) { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationShrinkConstrainedOp", + std::string("Individual after constrained GP tree shrink mutation: ")+ + ioIndividual.serialize() + ); + } + else { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationShrinkConstrainedOp", + "No constrained GP tree shrink mutation done" + ); + } + + return lMutationDone; + Beagle_StackTraceEndM("bool GP::MutationShrinkConstrainedOp::mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/MutationShrinkOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/MutationShrinkOp.cpp new file mode 100644 index 0000000..7b40cd2 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/MutationShrinkOp.cpp @@ -0,0 +1,178 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/MutationShrinkOp.cpp + * \brief Source code of class GP::MutationShrinkOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.11.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#include "beagle/GP.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a GP shrink mutation operator. + * \param inMutationPbName Mutation shrink probability. + * \param inName Name of the operator. + */ +GP::MutationShrinkOp::MutationShrinkOp(std::string inMutationPbName, + std::string inName) : + Beagle::MutationOp(inMutationPbName, inName) +{ } + + +/*! + * \brief Register the parameters of the GP shrink mutation operator. + * \param ioSystem System of the evolution. + */ +void GP::MutationShrinkOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + mMutationProba = castHandleT(ioSystem.getRegister()[mMutationPbName]); + } else { + mMutationProba = new Float(2); + std::ostringstream lOSS; + lOSS << "Shrink mutation probability for an individual. "; + lOSS << "Shrink mutation consists in replacing a branch (a node with one "; + lOSS << "or more arguments) with one of his child node. This erases "; + lOSS << "the chosen node and the other child nodes."; + Register::Description lDescription( + "Individual shrink mutation prob.", + "Float", + "0.05", + lOSS.str() + ); + ioSystem.getRegister().addEntry(mMutationPbName, mMutationProba, lDescription); + } + Beagle::MutationOp::initialize(ioSystem); + Beagle_StackTraceEndM("void GP::MutationShrinkOp::registerParams(Beagle::System&)"); +} + + +/*! + * \brief Shrink mutate a GP individual. + * \param ioIndividual GP individual to shrink mutate. + * \param ioContext Context of the evolution. + * \return True if the individual is effectively mutated, false if not. + */ +bool GP::MutationShrinkOp::mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + GP::Individual& lIndividual = castObjectT(ioIndividual); + GP::Context& lContext = castObjectT(ioContext); + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationShrinkOp", + std::string("Individual before GP shrink mutation: ")+ + lIndividual.serialize() + ); + + unsigned int lChosenTree = lIndividual.chooseRandomTree(ioContext); + Beagle_LogDetailedM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationShrinkOp", + std::string("Applying shrink mutation to ")+uint2ordinal(lChosenTree+1)+std::string(" tree") + ); + + GP::Tree::Handle lActualTree = lIndividual[lChosenTree]; + if(lActualTree->size() < 2) { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationShrinkOp", + std::string("Shrink mutation failed because the chosen tree has a size less than two (hence it doesn't have any primitives with arguments).") + ); + return false; + } + + GP::Tree::Handle lOldTreeHandle = lContext.getGenotypeHandle(); + unsigned int lOldTreeIndex = lContext.getGenotypeIndex(); + + unsigned int lChosenNode = lIndividual.chooseRandomNodeWithArgs(lChosenTree, ioContext); + + lIndividual[lChosenTree] = castHandleT(lIndividual.getTypeAlloc()->allocate()); + + // Copy lActualTree's attributes into new tree + lIndividual[lChosenTree]->setPrimitiveSetIndex(lActualTree->getPrimitiveSetIndex()); + lIndividual[lChosenTree]->setNumberArguments(lActualTree->getNumberArguments()); + lIndividual[lChosenTree]->clear(); + lIndividual[lChosenTree]->insert(lIndividual[lChosenTree]->end(), + lActualTree->begin(), + lActualTree->begin()+lChosenNode); + unsigned int lChosenArg = lContext.getSystem().getRandomizer().rollInteger(0, + (*lActualTree)[lChosenNode].mPrimitive->getNumberArguments()-1); + unsigned int lChosenArgIndex = lChosenNode + 1; + for(unsigned int k=0; kinsert(lIndividual[lChosenTree]->end(), + lActualTree->begin()+lChosenArgIndex, + lActualTree->begin()+lChosenArgIndex+lChosenArgSubTreeSize); + unsigned int lChosenNodeSubTreeSize = (*lActualTree)[lChosenNode].mSubTreeSize; + lIndividual[lChosenTree]->insert(lIndividual[lChosenTree]->end(), + lActualTree->begin()+lChosenNode+lChosenNodeSubTreeSize, + lActualTree->end()); + lActualTree->setContextToNode(lChosenNode, lContext); + unsigned int lDiffSize = + (*lActualTree)[lChosenNode].mSubTreeSize - (*lActualTree)[lChosenArgIndex].mSubTreeSize; + for(unsigned int l=0; l<(lContext.getCallStackSize()-1); l++) { + (*lIndividual[lChosenTree])[lContext.getCallStackElement(l)].mSubTreeSize -= lDiffSize; + } + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationShrinkOp", + std::string("Replacing the ")+uint2ordinal(lChosenNode+1)+ + std::string(" node of the ")+uint2ordinal(lChosenTree+1)+ + std::string(" tree with its ")+uint2ordinal(lChosenArg+1)+ + std::string(" argument, that is the ")+ + uint2ordinal(lChosenArgIndex+1)+std::string(" node") + ); + + lContext.setGenotypeHandle(lOldTreeHandle); + lContext.setGenotypeIndex(lOldTreeIndex); + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationShrinkOp", + std::string("Individual after GP shrink mutation: ")+ + ioIndividual.serialize() + ); + + return true; + Beagle_StackTraceEndM("bool GP::MutationShrinkOp::mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/MutationStandardConstrainedOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/MutationStandardConstrainedOp.cpp new file mode 100644 index 0000000..1ced03a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/MutationStandardConstrainedOp.cpp @@ -0,0 +1,186 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/MutationStandardConstrainedOp.cpp + * \brief Source code of class GP::MutationStandardConstrainedOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.13.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#include "beagle/GP.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a constrained GP tree standard mutation operator. + * \param inInitOp Initialization operator used to mutate the GP subtree. + * \param inMutationPbName Mutation probability parameter name used in register. + * \param inMaxRegenDepthName Maximum regeneration depth in mutation parameter name. + * \param inName Name of the operator. + */ +GP::MutationStandardConstrainedOp::MutationStandardConstrainedOp(GP::InitializationOp::Handle inInitOp, + std::string inMutationPbName, + std::string inMaxRegenDepthName, + std::string inName) : + MutationStandardOp(inInitOp, inMutationPbName, inMaxRegenDepthName, inName) +{ } + + +/*! + * \brief Register the parameters of the constrained GP tree standard mutation operator. + * \param ioSystem System of the evolution. + */ +void GP::MutationStandardConstrainedOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + MutationStandardOp::initialize(ioSystem); + if(ioSystem.getRegister().isRegistered("gp.try")) { + mNumberAttempts = castHandleT(ioSystem.getRegister()["gp.try"]); + } else { + mNumberAttempts = new UInt(2); + string lLongDescrip = "Maximum number of attempts to modify a GP tree in a genetic "; + lLongDescrip += "operation. As there is topological constraints on GP trees (i.e. tree "; + lLongDescrip += "depth limit), it is often necessary to try a genetic operation several times."; + Register::Description lDescription( + "Max number of attempts", + "UInt", + "2", + lLongDescrip + ); + ioSystem.getRegister().addEntry("gp.try", mNumberAttempts, lDescription); + } + Beagle_StackTraceEndM("void GP::MutationStandardConstrainedOp::registerParams(Beagle::System&)"); +} + + +/*! + * \brief Standard mutate a constrained GP individual. + * \param ioIndividual GP individual to standard mutate. + * \param ioContext Context of the evolution. + * \return True if the individual is effectively mutated, false if not. + */ +bool GP::MutationStandardConstrainedOp::mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + GP::Individual& lIndividual = castObjectT(ioIndividual); + GP::Context& lContext = castObjectT(ioContext); + unsigned int lMaxTreeDepth = mMaxTreeDepth->getWrappedValue(); + unsigned int lMaxRegenerationDepth = mMaxRegenerationDepth->getWrappedValue(); + + unsigned int lNbNodes = 0; + for(unsigned int i=0; isize(); + if(lNbNodes == 0) return false; + unsigned int lChoosenNode = lContext.getSystem().getRandomizer().rollInteger(0, lNbNodes-1); + unsigned int lChoosenTree = 0; + for(; (lChoosenTree+1)size()) break; + else lChoosenNode -= lIndividual[lChoosenTree]->size(); + } + + unsigned int lOldGenotypeIndex = lContext.getGenotypeIndex(); + GP::Tree::Handle lOldGenotypeHandle = lContext.getGenotypeHandle(); + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationStandardConstrainedOp", + std::string("Individual before GP standard mutation: ")+ + ioIndividual.serialize() + ); + + GP::Tree::Handle lActualTree = lIndividual[lChoosenTree]; + GP::Tree::Handle lNewTree = castHandleT(lIndividual.getTypeAlloc()->allocate()); + lNewTree->setPrimitiveSetIndex(lActualTree->getPrimitiveSetIndex()); + lNewTree->setNumberArguments(lActualTree->getNumberArguments()); + unsigned int lChoosenNodeSubTreeSize = (*lActualTree)[lChoosenNode].mSubTreeSize; + lNewTree->insert(lNewTree->end(), lActualTree->begin(), lActualTree->begin()+lChoosenNode); + lContext.setGenotypeIndex(lChoosenTree); + lContext.setGenotypeHandle(lActualTree); + lContext.emptyCallStack(); + lActualTree->setContextToNode(lChoosenNode, lContext); + lContext.popCallStack(); + const unsigned int lMaxSubTreeDepth = + minOf(lMaxTreeDepth - lContext.getCallStackSize(), lMaxRegenerationDepth); + lIndividual[lChoosenTree] = lNewTree; + lContext.setGenotypeHandle(lNewTree); + + unsigned int lAttempt=0; + for(; lAttempt < mNumberAttempts->getWrappedValue(); lAttempt++) { + if(mInitOp->initTree(*lNewTree, 1, lMaxSubTreeDepth, lContext) != 0) break; + } + if(lAttempt == mNumberAttempts->getWrappedValue()) { + lIndividual[lChoosenTree] = lActualTree; + lContext.setGenotypeIndex(lOldGenotypeIndex); + lContext.setGenotypeHandle(lOldGenotypeHandle); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationStandardConstrainedOp", + "Unable to GP standard mutate the individual" + ); + return false; + } + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationStandardConstrainedOp", + std::string("GP standard mutate the ")+uint2ordinal(lChoosenNode+1)+ + std::string(" node of the ")+uint2ordinal(lChoosenTree+1)+ + std::string(" tree with max depth ")+uint2str(lMaxSubTreeDepth) + ); + + lNewTree->insert(lNewTree->end(), + lActualTree->begin()+lChoosenNode+lChoosenNodeSubTreeSize, + lActualTree->end()); + unsigned int lDiffSize = + (*lActualTree)[lChoosenNode].mSubTreeSize - (*lNewTree)[lChoosenNode].mSubTreeSize; + for(unsigned int l=0; l +#include + +using namespace Beagle; + + +/*! + * \brief Construct a GP standard mutation operator. + * \param inInitOp Initialization operator used to mutate the GP subtree. + * \param inMutationPbName Mutation probability parameter name used in register. + * \param inMaxRegenDepthName Maximum regeneration depth in mutation parameter name. + * \param inName Name of the operator. + */ +GP::MutationStandardOp::MutationStandardOp(GP::InitializationOp::Handle inInitOp, + std::string inMutationPbName, + std::string inMaxRegenDepthName, + std::string inName) : + Beagle::MutationOp(inMutationPbName, inName), + mInitOp(inInitOp), + mMaxRegenDepthName(inMaxRegenDepthName) +{ } + + +/*! + * \brief Register the parameters of the GP standard mutation operator. + * \param ioSystem System of the evolution. + */ +void GP::MutationStandardOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + + mInitOp->initialize(ioSystem); + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + mMutationProba = castHandleT(ioSystem.getRegister()[mMutationPbName]); + } else { + mMutationProba = new Float(0.05f); + std::ostringstream lOSS; + lOSS << "Standard mutation probability for an individual. "; + lOSS << "A standard mutation replaces a sub-tree with a randomly generated one."; + Register::Description lDescription( + "Individual std mutation prob.", + "Float", + "0.05", + lOSS.str() + ); + ioSystem.getRegister().addEntry(mMutationPbName, mMutationProba, lDescription); + } + Beagle::MutationOp::initialize(ioSystem); + if(ioSystem.getRegister().isRegistered("gp.tree.maxdepth")) { + mMaxTreeDepth = castHandleT(ioSystem.getRegister()["gp.tree.maxdepth"]); + } else { + mMaxTreeDepth = new UInt(17); + Register::Description lDescription( + "Maximum tree depth", + "UInt", + "17", + "Maximum allowed depth for the trees." + ); + ioSystem.getRegister().addEntry("gp.tree.maxdepth", mMaxTreeDepth, lDescription); + } + if(ioSystem.getRegister().isRegistered(mMaxRegenDepthName)) { + mMaxRegenerationDepth = castHandleT(ioSystem.getRegister()[mMaxRegenDepthName]); + } else { + mMaxRegenerationDepth = new UInt(5); + std::ostringstream lOSS; + lOSS << "Maximum depth for standard mutation. "; + lOSS << "A standard mutation replaces a sub-tree with a randomly generated one."; + Register::Description lDescription( + "Maximum regeneration depth", + "UInt", + "5", + lOSS.str() + ); + ioSystem.getRegister().addEntry(mMaxRegenDepthName, mMaxRegenerationDepth, lDescription); + } + Beagle_StackTraceEndM("void GP::MutationStandardOp::registerParams(Beagle::System&)"); +} + + +/*! + * \brief Standard mutate a GP individual. + * \param ioIndividual GP individual to standard mutate. + * \param ioContext Context of the evolution. + * \return True if the individual is effectively mutated, false if not. + */ +bool GP::MutationStandardOp::mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_LogDetailedM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationStandardOp", + std::string("Mutating individual with GP::MutationStandardOp") + ); + + GP::Individual& lIndividual = castObjectT(ioIndividual); + GP::Context& lContext = castObjectT(ioContext); + unsigned int lMaxTreeDepth = mMaxTreeDepth->getWrappedValue(); + unsigned int lMaxRegenerationDepth = mMaxRegenerationDepth->getWrappedValue(); + + // Store original context values + unsigned int lOldGenotypeIndex = lContext.getGenotypeIndex(); + GP::Tree::Handle lOldGenotypeHandle = lContext.getGenotypeHandle(); + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationStandardOp", + std::string("Individual before GP standard mutation: ")+ + ioIndividual.serialize() + ); + + // Choose tree and node to mutate + unsigned int lChosenTree = lIndividual.chooseRandomTree(lContext); + unsigned int lChosenNode = lIndividual.chooseRandomNode(lChosenTree, lContext); + GP::Tree::Handle lOriginalTree = lIndividual[lChosenTree]; + unsigned int lChosenNodeSubTreeSize = (*lOriginalTree)[lChosenNode].mSubTreeSize; + + // Choose tree depth for mutation + lContext.setGenotypeIndex(lChosenTree); + lContext.setGenotypeHandle(lOriginalTree); + lContext.emptyCallStack(); + + lOriginalTree->setContextToNode(lChosenNode, lContext); + lContext.popCallStack(); + unsigned int lChosenNodeDepth = lContext.getCallStackSize(); + + // Check that chosen node is not deeper than the maximum depth of a tree + if(lChosenNodeDepth > lMaxTreeDepth) { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationStandardOp", + std::string("Chosen node's depth (")+uint2str(lChosenNodeDepth)+ + std::string(") is greater than the maximum depth allowed for a tree (")+ + uint2str(lMaxTreeDepth)+std::string("; specified by the register variable ")+ + std::string("'gp.tree.maxdepth'). Mutation attempt failed") + ); + return false; + } + + // Calculate maximum mutation depth + unsigned int lMaxMutationDepth = lMaxTreeDepth-lChosenNodeDepth+1; + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationStandardOp", + std::string("Chosen node's depth is ")+uint2str(lChosenNodeDepth)+ + std::string(" and a tree's maximum depth is ")+uint2str(lMaxTreeDepth)+ + std::string(" (specified by the register variable 'gp.tree.maxdepth'), ")+ + std::string("hence the maximum depth for the mutation tree is ")+uint2str(lMaxMutationDepth) + ); + + // Ensure maximum mutation depth is not larger than maximum regeneration depth + if(lMaxMutationDepth > lMaxRegenerationDepth) { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationStandardOp", + std::string("Maximum mutation depth (")+uint2str(lMaxMutationDepth)+ + std::string(") is greater than the maximum regeneration depth (")+ + uint2str(lMaxRegenerationDepth)+std::string("; as specified by the register variable '")+ + mMaxRegenDepthName+std::string("'). Reducing maximum mutation depth to ")+ + uint2str(lMaxRegenerationDepth) + ); + lMaxMutationDepth = lMaxRegenerationDepth; + } + + // Randomly choose depth + Beagle_AssertM(lMaxMutationDepth>=1); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationStandardOp", + std::string("GP standard mutate the ")+uint2ordinal(lChosenNode+1)+ + std::string(" node of the ")+uint2ordinal(lChosenTree+1)+ + std::string(" tree with maximum depth ")+uint2str(lMaxMutationDepth) + ); + + // Create new tree + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationStandardOp", + std::string("Creating new tree") + ); + GP::Tree::Handle lNewTree = castHandleT(lIndividual.getTypeAlloc()->allocate()); + lNewTree->setPrimitiveSetIndex(lOriginalTree->getPrimitiveSetIndex()); + lNewTree->setNumberArguments(lOriginalTree->getNumberArguments()); + + // Replace original tree with new tree + lIndividual[lChosenTree] = lNewTree; + lContext.setGenotypeHandle(lNewTree); + + // Initialize the tree that will be the mutation + GP::Tree::Handle lInitTree = castHandleT(lIndividual.getTypeAlloc()->allocate()); + lInitTree->setPrimitiveSetIndex(lNewTree->getPrimitiveSetIndex()); + lInitTree->setNumberArguments(lNewTree->getNumberArguments()); + mInitOp->initTree(*lInitTree, 1, lMaxMutationDepth, lContext); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationStandardOp", + std::string("Mutation is: ")+lInitTree->serialize() + ); + + // Copy start of original tree into new tree + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationStandardOp", + std::string("Copying unchanged part of original tree to new tree") + ); + lNewTree->insert(lNewTree->end(), lOriginalTree->begin(), lOriginalTree->begin()+lChosenNode); + + // Append mutation to new tree + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationStandardOp", + std::string("Appending mutation to new tree") + ); + lNewTree->insert(lNewTree->end(), lInitTree->begin(), lInitTree->end()); + + // Append the rest of the original tree + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationStandardOp", + std::string("Appending the remainder of the original tree to new tree") + ); + lNewTree->insert(lNewTree->end(), + lOriginalTree->begin()+lChosenNode+lChosenNodeSubTreeSize, + lOriginalTree->end()); + + // Correct subtree size data + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationStandardOp", + std::string("Correcting the 'mSubTreeSize' fields of tree") + ); + lNewTree->fixSubTreeSize(); + + // Restore original context values + lContext.setGenotypeIndex(lOldGenotypeIndex); + lContext.setGenotypeHandle(lOldGenotypeHandle); + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationStandardOp", + std::string("Individual after GP standard mutation: ")+ + ioIndividual.serialize() + ); + + return true; + Beagle_StackTraceEndM("bool GP::MutationStandardOp::mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext)"); +} + + +/*! + * \brief Initialize this operator. + * \param ioSystem System of the evolution. + */ +void GP::MutationStandardOp::postInit(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + mInitOp->postInit(ioSystem); + Beagle_StackTraceEndM("void GP::MutationStandardOp::init(Beagle::System&)"); +} + + +/*! + * \brief Read a mutation operator from XML subtree. + * \param inIter XML iterator to use to read crossover operator. + * \param inOpMap + */ +void GP::MutationStandardOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str()); + } + std::string lMutationPbReadName = inIter->getAttribute("mutationpb"); + if(lMutationPbReadName.empty() == false) mMutationPbName = lMutationPbReadName; + std::string lMaxRegenDepthReadName = inIter->getAttribute("maxdepth"); + if(lMaxRegenDepthReadName.empty() == false) mMaxRegenDepthName = lMaxRegenDepthReadName; + Beagle_StackTraceEndM("void GP::MutationStandardOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write mutation operator into XML streamer. + * \param ioStreamer XML streamer to write mutation operator into. + * \param inIndent Whether XML output should be indented. + */ +void GP::MutationStandardOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + Beagle::MutationOp::writeContent(ioStreamer, inIndent); + ioStreamer.insertAttribute("maxdepth", mMaxRegenDepthName); + Beagle_StackTraceEndM("void GP::MutationStandardOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/MutationSwapConstrainedOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/MutationSwapConstrainedOp.cpp new file mode 100644 index 0000000..d040b82 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/MutationSwapConstrainedOp.cpp @@ -0,0 +1,198 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/MutationSwapConstrainedOp.cpp + * \brief Source code of class GP::MutationSwapConstrainedOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.12.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#include "beagle/GP.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a constrained GP tree swap mutation operator. + * \param inMutationPbName Mutation probability parameter name used in register. + * \param inDistribPbName Swap mutation distribution probability parameter name. + * \param inName Name of the operator. + */ +GP::MutationSwapConstrainedOp::MutationSwapConstrainedOp(std::string inMutationPbName, + std::string inDistribPbName, + std::string inName) : + MutationSwapOp(inMutationPbName, inDistribPbName, inName) +{ } + + +/*! + * \brief Register the parameters of the constrained GP tree swap mutation operator. + * \param ioSystem System of the evolution. + */ +void GP::MutationSwapConstrainedOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + MutationSwapOp::initialize(ioSystem); + if(ioSystem.getRegister().isRegistered("gp.try")) { + mNumberAttempts = castHandleT(ioSystem.getRegister()["gp.try"]); + } else { + mNumberAttempts = new UInt(2); + string lLongDescrip = "Maximum number of attempts to modify a GP tree in a genetic "; + lLongDescrip += "operation. As there is topological constraints on GP trees (i.e. tree "; + lLongDescrip += "depth limit), it is often necessary to try a genetic operation several times."; + Register::Description lDescription( + "Max number of attempts", + "UInt", + "2", + lLongDescrip + ); + ioSystem.getRegister().addEntry("gp.try", mNumberAttempts, lDescription); + } + Beagle_StackTraceEndM("void GP::MutationSwapConstrainedOp::registerParams(Beagle::System&)"); +} + + +/*! + * \brief Swap mutate a constrained GP individual. + * \param ioIndividual GP individual to swap mutate. + * \param ioContext Context of the evolution. + * \return True if the individual is effectively mutated, false if not. + */ +bool GP::MutationSwapConstrainedOp::mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + GP::Individual& lIndividual = castObjectT(ioIndividual); + GP::Context& lContext = castObjectT(ioContext); + double lDistrProba = mDistributionProba->getWrappedValue(); + unsigned int lNumberAttempts = mNumberAttempts->getWrappedValue(); + bool lMutationDone = false; + + unsigned int lNbNodes = 0; + for(unsigned int i=0; isize(); + if(lNbNodes == 0) return false; + unsigned int lChoosenNode = lContext.getSystem().getRandomizer().rollInteger(0, lNbNodes-1); + unsigned int lChoosenTree = 0; + for(; (lChoosenTree+1)size()) break; + else lChoosenNode -= lIndividual[lChoosenTree]->size(); + } + GP::Tree& lTree = *lIndividual[lChoosenTree]; + if(lTree.size() == 0) return false; + + GP::Tree::Handle lOldTreeHandle = lContext.getGenotypeHandle(); + unsigned int lOldTreeIndex = lContext.getGenotypeIndex(); + lContext.setGenotypeHandle(lIndividual[lChoosenTree]); + lContext.setGenotypeIndex(lChoosenTree); + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapConstrainedOp", + std::string("Individual before constrained GP tree swap mutation: ")+ioIndividual.serialize() + ); + + if(lTree.size() > 1) { + bool lTypeNode = (lContext.getSystem().getRandomizer().rollUniform(0., 1.) < lDistrProba); + while((lTree[lChoosenNode].mPrimitive->getNumberArguments() != 0) != lTypeNode) { + lChoosenNode = lContext.getSystem().getRandomizer().rollInteger(0, lTree.size()-1); + } + } + Primitive::Handle lOriginalPrimitive = lTree[lChoosenNode].mPrimitive; + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapConstrainedOp", + std::string("Trying to constrained GP tree swap mutate the ")+uint2ordinal(lChoosenNode+1)+ + std::string(" node (primitive: \"")+lOriginalPrimitive->getName()+ + std::string("\" nb args: ")+uint2str(lOriginalPrimitive->getNumberArguments())+ + std::string(") of the ")+uint2ordinal(lChoosenTree+1)+std::string(" tree") + ); + + GP::PrimitiveSet& lPrimitiveSet = lTree.getPrimitiveSet(lContext); + unsigned int lNbArgsPrimit = lTree[lChoosenNode].mPrimitive->getNumberArguments(); + lTree.setContextToNode(lChoosenNode, lContext); + for(unsigned int lAttempt=0; lAttempt < lNumberAttempts; ++lAttempt) { + Primitive::Handle lChoosenPrimitive = lPrimitiveSet.select(lNbArgsPrimit, lContext); + if(lChoosenPrimitive==NULL) break; + + lTree[lChoosenNode].mPrimitive = lChoosenPrimitive->giveReference(lNbArgsPrimit, lContext); + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapConstrainedOp", + std::string("Trying the primitive \"")+lChoosenPrimitive->getName()+ + std::string("\"") + ); + + if(lTree.validateSubTree(lChoosenNode, lContext)) { + lMutationDone = true; + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapConstrainedOp", + "Constrained GP tree swap mutation valid" + ); + break; + } + else { + lTree[lChoosenNode].mPrimitive = lOriginalPrimitive; + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapConstrainedOp", + "Constrained GP tree swap mutation invalid" + ); + } + } + + lContext.setGenotypeHandle(lOldTreeHandle); + lContext.setGenotypeIndex(lOldTreeIndex); + + if(lMutationDone) { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapConstrainedOp", + std::string("Individual after constrained GP swap mutation: ")+ + ioIndividual.serialize() + ); + } + else { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapConstrainedOp", + "Unable to swap mutate the constrained individual" + ); + } + + return lMutationDone; + Beagle_StackTraceEndM("bool GP::MutationSwapConstrainedOp::mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext)"); +} + + + diff --git a/lib/beagle-3.0.3/beagle/GP/src/MutationSwapOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/MutationSwapOp.cpp new file mode 100644 index 0000000..43e5917 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/MutationSwapOp.cpp @@ -0,0 +1,237 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/MutationSwapOp.cpp + * \brief Source code of class GP::MutationSwapOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.16.2.2 $ + * $Date: 2007/05/11 21:32:36 $ + */ + +#include "beagle/GP.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a GP swap mutation operator. + * \param inMutationPbName Mutation probability parameter name used in register. + * \param inDistribPbName Swap mutation distribution probability parameter name. + * \param inName Name of the operator. + */ +GP::MutationSwapOp::MutationSwapOp(std::string inMutationPbName, + std::string inDistribPbName, + std::string inName) : + Beagle::MutationOp(inMutationPbName, inName), + mDistribPbName(inDistribPbName) +{ } + + +/*! + * \brief Register the parameters of this operator. + * \param ioSystem System of the evolution. + */ +void GP::MutationSwapOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + mMutationProba = castHandleT(ioSystem.getRegister()[mMutationPbName]); + } else { + mMutationProba = new Float(0.05f); + std::ostringstream lOSS; + lOSS << "Swap mutation probability for an individual. "; + lOSS << "Swap mutation consists in exchanging the primitive associated to a "; + lOSS << "node by one having the same number of arguments."; + Register::Description lDescription( + "Individual swap mutation prob.", + "Float", + "0.05", + lOSS.str() + ); + ioSystem.getRegister().addEntry(mMutationPbName, mMutationProba, lDescription); + } + Beagle::MutationOp::initialize(ioSystem); + if(ioSystem.getRegister().isRegistered(mDistribPbName)) { + mDistributionProba = castHandleT(ioSystem.getRegister()[mDistribPbName]); + } else { + mDistributionProba = new Float(0.5f); + std::ostringstream lOSS; + lOSS << "Probability that a swap mutation point is a branch (node with sub-trees). "; + lOSS << "Value of 1.0 means that all swap mutation points are branches, "; + lOSS << "and value of 0.0 means that all swap mutation points are leaves. "; + lOSS << "Swap mutation consists in exchanging the primitive associated to a "; + lOSS << "node by one having the same number of arguments."; + Register::Description lDescription( + "Swap mutation distrib. prob.", + "Float", + "0.5", + lOSS.str() + ); + ioSystem.getRegister().addEntry(mDistribPbName, mDistributionProba, lDescription); + } + Beagle_StackTraceEndM("void GP::MutationSwapOp::registerParams(Beagle::System&)"); +} + + +/*! + * \brief Swap mutate a GP individual. + * \param ioIndividual GP individual to swap mutate. + * \param ioContext Context of the evolution. + * \return True if the individual is effectively mutated, false if not. + */ +bool GP::MutationSwapOp::mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + GP::Individual& lIndividual = castObjectT(ioIndividual); + GP::Context& lContext = castObjectT(ioContext); + double lDistrProba = mDistributionProba->getWrappedValue(); + + // Store original values. + GP::Tree::Handle lOldTreeHandle = lContext.getGenotypeHandle(); + unsigned int lOldTreeIndex = lContext.getGenotypeIndex(); + + // Select the tree to mutate + unsigned int lNbNodes = 0; + for(unsigned int i=0; isize(); + if(lNbNodes == 0) return false; + unsigned int lChosenNode = lContext.getSystem().getRandomizer().rollInteger(0, lNbNodes-1); + unsigned int lChosenTree = 0; + for(; (lChosenTree+1)size()) break; + else lChosenNode -= lIndividual[lChosenTree]->size(); + } + GP::Tree& lTree = *lIndividual[lChosenTree]; + if(lTree.size() == 0) return false; + + // Store the new values + lContext.setGenotypeHandle(lIndividual[lChosenTree]); + lContext.setGenotypeIndex(lChosenTree); + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapOp", + std::string("Individual before GP swap mutation: ")+ioIndividual.serialize() + ); + + // Choose the node to mutate. + if(lTree.size() > 1) { + bool lTypeNode = (lContext.getSystem().getRandomizer().rollUniform(0., 1.) < lDistrProba); + while((lTree[lChosenNode].mPrimitive->getNumberArguments() != 0) != lTypeNode) { + lChosenNode = lContext.getSystem().getRandomizer().rollInteger(0, lTree.size()-1); + } + } + Primitive::Handle lOriginalPrimitive = lTree[lChosenNode].mPrimitive; + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapOp", + std::string("Swap mutating the ")+uint2ordinal(lChosenNode+1)+ + std::string(" node (primitive: \"")+lOriginalPrimitive->getName()+ + std::string("\" nb args: ")+uint2str(lOriginalPrimitive->getNumberArguments())+ + std::string(") of the ")+uint2ordinal(lChosenTree+1)+std::string(" tree") + ); + + GP::PrimitiveSet& lPrimitiveSet = lTree.getPrimitiveSet(lContext); + unsigned int lNbArgsPrimit = lTree[lChosenNode].mPrimitive->getNumberArguments(); + + // Select primitive to replace choosen one. + Primitive::Handle lChosenPrimitive = lPrimitiveSet.select(lNbArgsPrimit, lContext); + if (lChosenPrimitive==NULL) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapOp", + std::string("Swap mutation failed because no primitive could be found that had ")+ + uint2str(lNbArgsPrimit)+std::string(" arguments") + ); + return false; + } + else { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapOp", + std::string("Swap mutation chose primitive \"")+lChosenPrimitive->getName()+std::string("\"") + ); + } + + // Replace choose primitive. + lTree[lChosenNode].mPrimitive = lChosenPrimitive->giveReference(lNbArgsPrimit, lContext); + + // Restore the original values. + lContext.setGenotypeHandle(lOldTreeHandle); + lContext.setGenotypeIndex(lOldTreeIndex); + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapOp", + std::string("Individual after GP swap mutation: ")+ + ioIndividual.serialize() + ); + + return true; + Beagle_StackTraceEndM("bool GP::MutationSwapOp::mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext)"); +} + + +/*! + * \brief Read a mutation operator from XML subtree. + * \param inIter XML iterator to use to read crossover operator. + * \param inOpMap + */ +void GP::MutationSwapOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str()); + } + std::string mMutationPbReadName = inIter->getAttribute("mutationpb"); + if(mMutationPbReadName.empty() == false) mMutationPbName = mMutationPbReadName; + std::string mDistribPbReadName = inIter->getAttribute("distrpb"); + if(mDistribPbReadName.empty() == false) mDistribPbName = mDistribPbReadName; + Beagle_StackTraceEndM("void GP::MutationSwapOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write mutation operator into XML streamer. + * \param ioStreamer XML streamer to write mutation operator into. + * \param inIndent Whether XML output should be indented. + */ +void GP::MutationSwapOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + Beagle::MutationOp::writeContent(ioStreamer, inIndent); + ioStreamer.insertAttribute("distrpb", mDistribPbName); + Beagle_StackTraceEndM("void GP::MutationSwapOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/MutationSwapSubtreeConstrainedOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/MutationSwapSubtreeConstrainedOp.cpp new file mode 100644 index 0000000..f112707 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/MutationSwapSubtreeConstrainedOp.cpp @@ -0,0 +1,350 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/MutationSwapSubtreeConstrainedOp.cpp + * \brief Source code of class GP::MutationSwapSubtreeConstrainedOp. + * \author Christian Gagne + * \author Jianjun Hu + * \author Marc Parizeau + * $Revision: 1.7.2.2 $ + * $Date: 2007/05/11 21:32:37 $ + */ + +#include "beagle/GP.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a constrained GP swap subtree mutation operator. + * \param inMutationPbName Mutation probability parameter name used in register. + * \param inDistribPbName Swap mutation distribution probability parameter name. + * \param inName Name of the operator. + */ +GP::MutationSwapSubtreeConstrainedOp::MutationSwapSubtreeConstrainedOp( + std::string inMutationPbName, + std::string inDistribPbName, + std::string inName) : + MutationSwapSubtreeOp(inMutationPbName, inDistribPbName, inName) +{ } + + +/*! + * \brief Swap subtree mutate a constrained GP individual. + * \param ioIndividual GP individual to swap subtree mutate. + * \param ioContext Context of the evolution. + */ +bool GP::MutationSwapSubtreeConstrainedOp::mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + // Initial parameters checks. + Beagle_AssertM(ioIndividual.size() > 0); + Beagle_ValidateParameterM(mNumberAttempts->getWrappedValue()>0, "gp.try", ">0"); + + // Cast method arguments. + GP::Individual& lGPIndiv = castObjectT(ioIndividual); + GP::Context& lContext1 = castObjectT(ioContext); + GP::Context::Alloc& lContextAlloc = + castObjectT(ioContext.getSystem().getContextAllocator()); + GP::Context::Handle lContextHdl2 = castHandleT(lContextAlloc.clone(lContext1)); + + // Get parameters in local values, with the total number of nodes of the mutated individual. + bool lMatingDone = false; + float lDistrProba = mDistributionProba->getWrappedValue(); + unsigned int lMaxTreeDepth = mMaxTreeDepth->getWrappedValue(); + GP::Tree::Handle lOldTreeHandle1 = lContext1.getGenotypeHandle(); + unsigned int lOldTreeIndex1 = lContext1.getGenotypeIndex(); + unsigned int lSizeIndiv = 0; + for(unsigned int i=0; isize(); + + // Some outputs. + Beagle_LogDebugM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeConstrainedOp", + std::string("Individual tried for constrained swap subtree mutation (before): ")+ + lGPIndiv.serialize() + ); + + // Mutation loop. Try the given number of attempts to mutation the individual. + for(unsigned int lAttempt=0; lAttempt < mNumberAttempts->getWrappedValue(); lAttempt++) { + + // Choose a node of the individual to mutate. + unsigned int lNode1 = lContext1.getSystem().getRandomizer().rollInteger(0, lGPIndiv.size()-1); + + // Get the tree in which the choosen node is. Change the global node index to the tree's index. + unsigned int lChoosenTree = 0; + for(; lChoosenTreesize()) break; + Beagle_AssertM(lNode1 >= lGPIndiv[lChoosenTree]->size()); + lNode1 -= lGPIndiv[lChoosenTree]->size(); + } + Beagle_AssertM(lChoosenTree < lGPIndiv.size()); + + // Cannot do anything with an tree of size <= 1. + if(lGPIndiv[lChoosenTree]->size() <= 1) continue; + + // Some outputs. + Beagle_LogVerboseM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeConstrainedOp", + std::string("Trying a constrained swap subtree mutation of the ")+uint2ordinal(lChoosenTree+1)+ + std::string(" tree") + ); + + // Make two clones of the choosen tree. + GP::Tree::Alloc& lTreeAlloc = castObjectT(*lGPIndiv.getTypeAlloc()); + GP::Tree::Handle lTreeClone1 = castHandleT(lTreeAlloc.clone(*lGPIndiv[lChoosenTree])); + GP::Tree::Handle lTreeClone2 = castHandleT(lTreeAlloc.clone(*lGPIndiv[lChoosenTree])); + + // Now we decide whether the swap subtree mutation is internal or external. + bool lMutationType = lContext1.getSystem().getRandomizer().rollUniform(0.0, 1.0) < lDistrProba; + + // Cannot do an internal mutation when there is only one branch in the tree. + if(lTreeClone1->size() == (*lTreeClone1)[0].mPrimitive->getNumberArguments()+1) + lMutationType = false; + + // This is special case, a linear tree. Cannot do an external mutation. + if(lTreeClone1->size() == (*lTreeClone1)[1].mSubTreeSize+1) { + if(lTreeClone1->size()==2) continue; // Cannot do anything here with the tree. + lMutationType = true; + } + + // lMutationType is true -> internal mutation + if(lMutationType) { + + // If the selected node is a terminal, or a branch with a subtree made only of terminals, + // choose another node in the same tree. + while((*lTreeClone1)[lNode1].mSubTreeSize == + ((*lTreeClone1)[lNode1].mPrimitive->getNumberArguments()+1)) { + lNode1 = lContext1.getSystem().getRandomizer().rollInteger(0, lTreeClone1->size()-1); + } + + // Choosing the second node, a branch in lNode1's subtree. + unsigned int lSubTreeSizeN1 = (*lTreeClone1)[lNode1].mSubTreeSize; + unsigned int lN2OffN1 = + lContext1.getSystem().getRandomizer().rollInteger(1, lSubTreeSizeN1-1); + unsigned int lNode2 = lNode1 + lN2OffN1; + while((*lTreeClone1)[lNode2].mPrimitive->getNumberArguments() == 0) { + lN2OffN1 = lContext1.getSystem().getRandomizer().rollInteger(1, lSubTreeSizeN1-1); + lNode2 = lNode1 + lN2OffN1; + } + + // Choosing the third node, any node in lNode2's subtree. + unsigned int lSubTreeSizeN2 = (*lTreeClone1)[lNode2].mSubTreeSize; + unsigned int lN3OffN2 = + lContext1.getSystem().getRandomizer().rollInteger(1, lSubTreeSizeN2-1); + + // Ok, now we can exchange the subtrees. + + // New value of lNode1 and lNode2 for the second exchange. + unsigned int lNode3Exch2 = lNode1 + lN3OffN2; + unsigned int lNode1Exch2 = lNode2; + + // New value of lNode1 and lNode2 for the third exchange. + unsigned int lNode2Exch3 = lNode1 + lN3OffN2 + lN2OffN1; + unsigned int lNode3Exch3 = lNode2; + + // First exchange. + lTreeClone1->setContextToNode(lNode1, lContext1); + lTreeClone2->setContextToNode(lNode2, *lContextHdl2); + exchangeSubTrees(*lTreeClone1, lNode1, lContext1, + *lTreeClone2, lNode2, *lContextHdl2); + + // Second exchange. + lTreeClone1->setContextToNode(lNode3Exch2, lContext1); + lTreeClone2->setContextToNode(lNode1Exch2, *lContextHdl2); + exchangeSubTrees(*lTreeClone1, lNode3Exch2, lContext1, + *lTreeClone2, lNode1Exch2, *lContextHdl2); + + // Third exchange. + lTreeClone1->setContextToNode(lNode2Exch3, lContext1); + lTreeClone2->setContextToNode(lNode3Exch3, *lContextHdl2); + exchangeSubTrees(*lTreeClone1, lNode2Exch3, lContext1, + *lTreeClone2, lNode3Exch3, *lContextHdl2); + + // Checking if the tree depth is respected. If not, start again. + if(lTreeClone1->getTreeDepth() > lMaxTreeDepth) { + Beagle_LogVerboseM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeConstrainedOp", + "Tree maximum depth exceeded. Constrained GP swap subtree mutation invalid." + ); + continue; + } + + // As we are using topologically contrained tree, valid the new tree. If it is not valid, + // do a new mutation attempt. + lContext1.setGenotypeHandle(lTreeClone1); + lContext1.setGenotypeIndex(lChoosenTree); + lTreeClone1->setContextToNode(lNode1, lContext1); + if(lTreeClone1->validateSubTree(lNode1, lContext1)) { + lGPIndiv[lChoosenTree] = lTreeClone1; + Beagle_LogVerboseM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeConstrainedOp", + "Constrained GP swap subtree mutation valid" + ); + lMatingDone = true; + break; // The swap subtree mutation is valid. + } + else { + Beagle_LogVerboseM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeConstrainedOp", + "Constrained GP swap subtree mutation invalid" + ); + continue; + } + } + + // lMutationType is false -> external mutation + else { + + // Deterniming the minimal node index to use. + unsigned int lMinNodeIndex = 0; + for(; lTreeClone1->size() == ((*lTreeClone1)[lMinNodeIndex].mSubTreeSize+lMinNodeIndex); + ++lMinNodeIndex) { + if(lMinNodeIndex == (lTreeClone1->size()-1)) continue; // Can't do anything with linear tree. + } + + // Change lNode1 if less than minimum node index. + if(lNode1 < lMinNodeIndex) + lNode1 = lContext1.getSystem().getRandomizer().rollInteger(lMinNodeIndex, + lTreeClone1->size()-1); + + // Choosing second swap subtree mutation point. + std::vector lValidN2; + for(unsigned int i=lMinNodeIndex; isize(); ++i) { + if((i>=lNode1) && (i=i) && (lNode1<(i+(*lTreeClone1)[i].mSubTreeSize))) continue; + else lValidN2.push_back(i); + } + unsigned int lNode2 = + lValidN2[lContext1.getSystem().getRandomizer().rollInteger(0, lValidN2.size()-1)]; + + Beagle_LogVerboseM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeConstrainedOp", + std::string("Trying an external constrained swap subtree mutation of the ")+ + uint2ordinal(lNode1+1)+std::string(" node with the subtree to the ")+uint2ordinal(lNode2+1)+ + std::string(" node") + ); + + // Ok, now we can exchange the subtrees. + + // New value of lNode1 and lNode2 for the second exchange. + unsigned int lNode1Exch2 = lNode1; + unsigned int lNode2Exch2 = lNode2; + if(lNode1 < lNode2) { + lNode2Exch2 += (*lTreeClone1)[lNode2].mSubTreeSize; + lNode2Exch2 -= (*lTreeClone1)[lNode1].mSubTreeSize; + } + else { + lNode1Exch2 += (*lTreeClone1)[lNode1].mSubTreeSize; + lNode1Exch2 -= (*lTreeClone1)[lNode2].mSubTreeSize; + } + + // First exchange. + lTreeClone1->setContextToNode(lNode1, lContext1); + lTreeClone2->setContextToNode(lNode2, *lContextHdl2); + exchangeSubTrees(*lTreeClone1, lNode1, lContext1, + *lTreeClone2, lNode2, *lContextHdl2); + + // Second exchange + lTreeClone1->setContextToNode(lNode2Exch2, lContext1); + lTreeClone2->setContextToNode(lNode1Exch2, *lContextHdl2); + exchangeSubTrees(*lTreeClone1, lNode2Exch2, lContext1, + *lTreeClone2, lNode1Exch2, *lContextHdl2); + + // Checking if the tree depth is respected. If not, start again. + if(lTreeClone1->getTreeDepth() > lMaxTreeDepth) { + Beagle_LogVerboseM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeConstrainedOp", + "Tree maximum depth exceeded. Constrained GP swap subtree mutation invalid." + ); + continue; + } + + // As we are using topologically contrained tree, valid the new tree. If it is not valid, + // do a new mutation attempt. + lContext1.setGenotypeHandle(lTreeClone1); + lContext1.setGenotypeIndex(lChoosenTree); + lTreeClone1->setContextToNode(lNode1Exch2, lContext1); + bool lNode1Valid = lTreeClone1->validateSubTree(lNode1Exch2,lContext1); + lTreeClone1->setContextToNode(lNode2Exch2, lContext1); + bool lNode2Valid = lTreeClone1->validateSubTree(lNode2Exch2,lContext1); + if(lNode1Valid && lNode2Valid) { + lGPIndiv[lChoosenTree] = lTreeClone1; + Beagle_LogVerboseM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeConstrainedOp", + "Constrained GP swap subtree mutation valid" + ); + lMatingDone = true; + break; // The swap subtree mutation is valid. + } + else { + Beagle_LogVerboseM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeConstrainedOp", + "Constrained GP swap subtree mutation invalid" + ); + continue; + } + } + } + + // Replace the contexts. + lContext1.setGenotypeHandle(lOldTreeHandle1); + lContext1.setGenotypeIndex(lOldTreeIndex1); + + if(lMatingDone) { + Beagle_LogDebugM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeConstrainedOp", + std::string("Individual after constrained swap subtree mutation: ")+ + lGPIndiv.serialize() + ); + } + else { + Beagle_LogVerboseM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeConstrainedOp", + "No constrained GP swap subtree mutation done" + ); + } + + return lMatingDone; + Beagle_StackTraceEndM("bool GP::MutationSwapSubtreeConstrainedOp::mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext)"); +} + + + diff --git a/lib/beagle-3.0.3/beagle/GP/src/MutationSwapSubtreeOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/MutationSwapSubtreeOp.cpp new file mode 100644 index 0000000..d19d323 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/MutationSwapSubtreeOp.cpp @@ -0,0 +1,473 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/MutationSwapSubtreeOp.cpp + * \brief Source code of class GP::MutationSwapSubtreeOp. + * \author Christian Gagne + * \author Jianjun Hu + * \author Marc Parizeau + * $Revision: 1.11.2.2 $ + * $Date: 2007/05/11 21:32:37 $ + */ + +#include "beagle/GP.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a GP swap subtree mutation operator. + * \param inMutationPbName Mutation probability parameter name used in register. + * \param inDistribPbName Swap mutation distribution probability parameter name. + * \param inName Name of the operator. + */ +GP::MutationSwapSubtreeOp::MutationSwapSubtreeOp(std::string inMutationPbName, + std::string inDistribPbName, + std::string inName) : + Beagle::MutationOp(inMutationPbName, inName), + mDistribPbName(inDistribPbName) +{ } + + +/*! + * \brief Register the parameters of this operator. + * \param ioSystem System of the evolution. + */ +void GP::MutationSwapSubtreeOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + mMutationProba = castHandleT(ioSystem.getRegister()[mMutationPbName]); + } else { + mMutationProba = new Float(0.0f); + std::ostringstream lOSS; + lOSS << "Swap subtree mutation probability for an individual. "; + lOSS << "A swap subtree mutation consists to swap two subtrees of a tree in an "; + lOSS << "individual."; + Register::Description lDescription( + "Swap subtree mutation prob.", + "Float", + "0.0", + lOSS.str() + ); + ioSystem.getRegister().addEntry(mMutationPbName, mMutationProba, lDescription); + } + Beagle::MutationOp::initialize(ioSystem); + if(ioSystem.getRegister().isRegistered(mDistribPbName)) { + mDistributionProba = castHandleT(ioSystem.getRegister()[mDistribPbName]); + } else { + mDistributionProba = new Float(0.5f); + std::ostringstream lOSS; + lOSS << "Probability that a swap subtree is internal "; + lOSS << "(the mutation occurs between three points, where the 2nd point is in the "; + lOSS << "1st point's subtree, and the 3rd point is in the 2nd point's subtree) vs "; + lOSS << "being external (the mutation occurs between two points, "; + lOSS << "where both points are not within the other's subtree). "; + lOSS << "Value of 1.0 means that the swap subtrees mutations are all internal "; + lOSS << "while value of 0.0 means that swap subtrees mutations are all external."; + Register::Description lDescription( + "Swap subtree mut. distrib. prob.", + "Float", + "0.5", + lOSS.str() + ); + ioSystem.getRegister().addEntry(mDistribPbName, mDistributionProba, lDescription); + } + if(ioSystem.getRegister().isRegistered("gp.tree.maxdepth")) { + mMaxTreeDepth = castHandleT(ioSystem.getRegister()["gp.tree.maxdepth"]); + } else { + mMaxTreeDepth = new UInt(17); + Register::Description lDescription( + "Maximum tree depth", + "UInt", + "17", + "Maximum allowed depth for the trees." + ); + ioSystem.getRegister().addEntry("gp.tree.maxdepth", mMaxTreeDepth, lDescription); + } + if(ioSystem.getRegister().isRegistered("gp.try")) { + mNumberAttempts = castHandleT(ioSystem.getRegister()["gp.try"]); + } else { + mNumberAttempts = new UInt(2); + string lLongDescrip = "Maximum number of attempts to modify a GP tree in a genetic "; + lLongDescrip += "operation. As there is topological constraints on GP trees (i.e. tree "; + lLongDescrip += "depth limit), it is often necessary to try a genetic operation several times."; + Register::Description lDescription( + "Max number of attempts", + "UInt", + "2", + lLongDescrip + ); + ioSystem.getRegister().addEntry("gp.try", mNumberAttempts, lDescription); + } + Beagle_StackTraceEndM("void GP::MutationSwapSubtreeOp::registerParams(Beagle::System&)"); +} + + +/*! + * \brief Swap subtree mutate a GP individual. + * \param ioIndividual GP individual to swap subtree mutate. + * \param ioContext Context of the evolution. + */ +bool GP::MutationSwapSubtreeOp::mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + // Initial parameters checks. + Beagle_AssertM(ioIndividual.size() > 0); + Beagle_ValidateParameterM(mNumberAttempts->getWrappedValue()>0, "gp.try", ">0"); + + // Cast method arguments. + GP::Individual& lGPIndiv = castObjectT(ioIndividual); + GP::Context& lContext1 = castObjectT(ioContext); + GP::Context::Alloc& lContextAlloc = + castObjectT(ioContext.getSystem().getContextAllocator()); + GP::Context::Handle lContextHdl2 = castHandleT(lContextAlloc.clone(lContext1)); + + // Get parameters in local values, with the total number of nodes of the mutated individual. + bool lMatingDone = false; + float lDistrProba = mDistributionProba->getWrappedValue(); + unsigned int lMaxTreeDepth = mMaxTreeDepth->getWrappedValue(); + GP::Tree::Handle lOldTreeHandle1 = lContext1.getGenotypeHandle(); + unsigned int lOldTreeIndex1 = lContext1.getGenotypeIndex(); + unsigned int lSizeIndiv = 0; + for(unsigned int i=0; isize(); + + // Some outputs. + Beagle_LogDebugM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeOp", + std::string("Individual tried for swap subtree mutation (before): ")+ + lGPIndiv.serialize() + ); + + // Mutation loop. Try the given number of attempts to mutation the individual. + for(unsigned int lAttempt=0; lAttempt < mNumberAttempts->getWrappedValue(); lAttempt++) { + + // Calculate the number of nodes in the individual + unsigned int lNbNodes = 0; + for(unsigned int i=0; isize(); + if(lNbNodes == 0) return false; + + // Choose a node of the individual to mutate. + unsigned int lNode1 = lContext1.getSystem().getRandomizer().rollInteger(0, lNbNodes-1); + + // Get the tree in which the choosen node is. Change the global node index to the tree's index. + unsigned int lChoosenTree = 0; + for(; lChoosenTreesize()) break; + Beagle_AssertM(lNode1 >= lGPIndiv[lChoosenTree]->size()); + lNode1 -= lGPIndiv[lChoosenTree]->size(); + } + Beagle_AssertM(lChoosenTree < lGPIndiv.size()); + + // Cannot do anything with an tree of size <= 1. + if(lGPIndiv[lChoosenTree]->size() <= 1) continue; + + // Some outputs. + Beagle_LogVerboseM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeOp", + std::string("Trying a swap subtree mutation of the ")+uint2ordinal(lChoosenTree+1)+ + std::string(" tree") + ); + + // Make two clones of the choosen tree. + GP::Tree::Alloc& lTreeAlloc = castObjectT(*lGPIndiv.getTypeAlloc()); + GP::Tree::Handle lTreeClone1 = castHandleT(lTreeAlloc.clone(*lGPIndiv[lChoosenTree])); + GP::Tree::Handle lTreeClone2 = castHandleT(lTreeAlloc.clone(*lGPIndiv[lChoosenTree])); + + // Now we decide whether the swap subtree mutation is internal or external. + bool lMutationType = lContext1.getSystem().getRandomizer().rollUniform(0.0, 1.0) < lDistrProba; + + // Cannot do an internal mutation when there is only one branch in the tree. + if(lTreeClone1->size() == (*lTreeClone1)[0].mPrimitive->getNumberArguments()+1) + lMutationType = false; + + // This is special case, a linear tree. Cannot do an external mutation. + if(lTreeClone1->size() == (*lTreeClone1)[1].mSubTreeSize+1) { + if(lTreeClone1->size()==2) continue; // Cannot do anything here with the tree. + lMutationType = true; + } + + // lMutationType is true -> internal mutation + if(lMutationType) { + + // If the selected node is a terminal, or a branch with a subtree made only of terminals, + // choose another node in the same tree. + while((*lTreeClone1)[lNode1].mSubTreeSize == + ((*lTreeClone1)[lNode1].mPrimitive->getNumberArguments()+1)) { + lNode1 = lContext1.getSystem().getRandomizer().rollInteger(0, lTreeClone1->size()-1); + } + + // Choosing the second node, a branch in lNode1's subtree. + unsigned int lSubTreeSizeN1 = (*lTreeClone1)[lNode1].mSubTreeSize; + unsigned int lN2OffN1 = + lContext1.getSystem().getRandomizer().rollInteger(1, lSubTreeSizeN1-1); + unsigned int lNode2 = lNode1 + lN2OffN1; + while((*lTreeClone1)[lNode2].mPrimitive->getNumberArguments() == 0) { + lN2OffN1 = lContext1.getSystem().getRandomizer().rollInteger(1, lSubTreeSizeN1-1); + lNode2 = lNode1 + lN2OffN1; + } + + // Choosing the third node, any node in lNode2's subtree. + unsigned int lSubTreeSizeN2 = (*lTreeClone1)[lNode2].mSubTreeSize; + unsigned int lN3OffN2 = + lContext1.getSystem().getRandomizer().rollInteger(1, lSubTreeSizeN2-1); + + // Ok, now we can exchange the subtrees. + + // New value of lNode1 and lNode2 for the second exchange. + unsigned int lNode3Exch2 = lNode1 + lN3OffN2; + unsigned int lNode1Exch2 = lNode2; + + // New value of lNode1 and lNode2 for the third exchange. + unsigned int lNode2Exch3 = lNode1 + lN3OffN2 + lN2OffN1; + unsigned int lNode3Exch3 = lNode2; + + // First exchange. + lTreeClone1->setContextToNode(lNode1, lContext1); + lTreeClone2->setContextToNode(lNode2, *lContextHdl2); + exchangeSubTrees(*lTreeClone1, lNode1, lContext1, + *lTreeClone2, lNode2, *lContextHdl2); + + // Second exchange. + lTreeClone1->setContextToNode(lNode3Exch2, lContext1); + lTreeClone2->setContextToNode(lNode1Exch2, *lContextHdl2); + exchangeSubTrees(*lTreeClone1, lNode3Exch2, lContext1, + *lTreeClone2, lNode1Exch2, *lContextHdl2); + + // Third exchange. + lTreeClone1->setContextToNode(lNode2Exch3, lContext1); + lTreeClone2->setContextToNode(lNode3Exch3, *lContextHdl2); + exchangeSubTrees(*lTreeClone1, lNode2Exch3, lContext1, + *lTreeClone2, lNode3Exch3, *lContextHdl2); + + // Checking if the tree depth is respected. If not, start again. + if(lTreeClone1->getTreeDepth() > lMaxTreeDepth) { + Beagle_LogVerboseM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeOp", + "Tree maximum depth exceeded. GP swap subtree mutation invalid." + ); + continue; + } + + lGPIndiv[lChoosenTree] = lTreeClone1; + Beagle_LogVerboseM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeOp", + "GP swap subtree mutation valid" + ); + lMatingDone = true; + break; // The swap subtree mutation is valid. + } + + // lMutationType is false -> external mutation + else { + + // Deterniming the minimal node index to use. + unsigned int lMinNodeIndex = 0; + for(; lTreeClone1->size() == ((*lTreeClone1)[lMinNodeIndex].mSubTreeSize+lMinNodeIndex); + ++lMinNodeIndex) { + if(lMinNodeIndex == (lTreeClone1->size()-1)) continue; // Can't do anything with linear tree. + } + + // Change lNode1 if less than minimum node index. + if(lNode1 < lMinNodeIndex) + lNode1 = lContext1.getSystem().getRandomizer().rollInteger(lMinNodeIndex, + lTreeClone1->size()-1); + + // Choosing second swap subtree mutation point. + std::vector lValidN2; + for(unsigned int i=lMinNodeIndex; isize(); ++i) { + if((i>=lNode1) && (i=i) && (lNode1<(i+(*lTreeClone1)[i].mSubTreeSize))) continue; + else lValidN2.push_back(i); + } + unsigned int lNode2 = + lValidN2[lContext1.getSystem().getRandomizer().rollInteger(0, lValidN2.size()-1)]; + + Beagle_LogVerboseM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeOp", + std::string("Trying an external swap subtree mutation of the ")+uint2ordinal(lNode1+1)+ + std::string(" node with the subtree to the ")+uint2ordinal(lNode2+1)+ + std::string(" node") + ); + + // Ok, now we can exchange the subtrees. + + // New value of lNode1 and lNode2 for the second exchange. + unsigned int lNode1Exch2 = lNode1; + unsigned int lNode2Exch2 = lNode2; + if(lNode1 < lNode2) { + lNode2Exch2 += (*lTreeClone1)[lNode2].mSubTreeSize; + lNode2Exch2 -= (*lTreeClone1)[lNode1].mSubTreeSize; + } + else { + lNode1Exch2 += (*lTreeClone1)[lNode1].mSubTreeSize; + lNode1Exch2 -= (*lTreeClone1)[lNode2].mSubTreeSize; + } + + // First exchange. + lTreeClone1->setContextToNode(lNode1, lContext1); + lTreeClone2->setContextToNode(lNode2, *lContextHdl2); + exchangeSubTrees(*lTreeClone1, lNode1, lContext1, + *lTreeClone2, lNode2, *lContextHdl2); + + // Second exchange. + lTreeClone1->setContextToNode(lNode2Exch2, lContext1); + lTreeClone2->setContextToNode(lNode1Exch2, *lContextHdl2); + exchangeSubTrees(*lTreeClone1, lNode2Exch2, lContext1, + *lTreeClone2, lNode1Exch2, *lContextHdl2); + + // Checking if the tree depth is respected. If not, start again. + if(lTreeClone1->getTreeDepth() > lMaxTreeDepth) { + Beagle_LogVerboseM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeOp", + "Tree maximum depth exceeded. GP swap subtree mutation invalid." + ); + continue; + } + + lGPIndiv[lChoosenTree] = lTreeClone1; + Beagle_LogVerboseM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeOp", + "GP swap subtree mutation valid" + ); + lMatingDone = true; + break; // The swap subtree mutation is valid. + } + } + + // Replace the contexts. + lContext1.setGenotypeHandle(lOldTreeHandle1); + lContext1.setGenotypeIndex(lOldTreeIndex1); + + if(lMatingDone) { + Beagle_LogDebugM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeOp", + std::string("Individual after swap subtree mutation: ")+ + lGPIndiv.serialize() + ); + } + else { + Beagle_LogVerboseM( + lContext1.getSystem().getLogger(), + "mutation", "Beagle::GP::MutationSwapSubtreeOp", + "No GP swap subtree mutation done" + ); + } + + return lMatingDone; + Beagle_StackTraceEndM("bool GP::MutationSwapSubtreeOp::mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext)"); +} + + +/*! + * \brief Exchange two GP trees on given points. + * \param ioTree1 First tree to mate. + * \param inNode1 Node index of the swap subtree first point. + * \param ioContext1 Evolutionary context relatively to the first tree. + * \param ioTree2 Second tree to mate. + * \param inNode2 Node index of the swap subtree second point. + * \param ioContext2 Evolutionary context relatively to the second tree. + */ +void GP::MutationSwapSubtreeOp::exchangeSubTrees(GP::Tree& ioTree1, + unsigned int inNode1, + GP::Context& ioContext1, + GP::Tree& ioTree2, + unsigned int inNode2, + GP::Context& ioContext2) +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(&ioTree1 != &ioTree2); + unsigned int lSwapSize1 = ioTree1[inNode1].mSubTreeSize; + unsigned int lSwapSize2 = ioTree2[inNode2].mSubTreeSize; + if(lSwapSize1 <= lSwapSize2) { + std::swap_ranges(ioTree1.begin()+inNode1, ioTree1.begin()+inNode1+lSwapSize1, ioTree2.begin()+inNode2); + ioTree1.insert(ioTree1.begin()+inNode1+lSwapSize1, + ioTree2.begin()+inNode2+lSwapSize1, + ioTree2.begin()+inNode2+lSwapSize2); + ioTree2.erase(ioTree2.begin()+inNode2+lSwapSize1, ioTree2.begin()+inNode2+lSwapSize2); + } + else { + std::swap_ranges(ioTree1.begin()+inNode1, ioTree1.begin()+inNode1+lSwapSize2, ioTree2.begin()+inNode2); + ioTree2.insert(ioTree2.begin()+inNode2+lSwapSize2, + ioTree1.begin()+inNode1+lSwapSize2, + ioTree1.begin()+inNode1+lSwapSize1); + ioTree1.erase(ioTree1.begin()+inNode1+lSwapSize2, ioTree1.begin()+inNode1+lSwapSize1); + } + int lDiffSize = lSwapSize1 - lSwapSize2; + for(unsigned int i=0; i<(ioContext1.getCallStackSize()-1); i++) + ioTree1[ioContext1.getCallStackElement(i)].mSubTreeSize -= lDiffSize; + for(unsigned int j=0; j<(ioContext2.getCallStackSize()-1); j++) + ioTree2[ioContext2.getCallStackElement(j)].mSubTreeSize += lDiffSize; + Beagle_StackTraceEndM("void GP::MutationSwapSubtreeOp::exchangeSubTrees(GP::Tree& ioTree1, unsigned int inNode1, GP::Context& ioContext1, GP::Tree& ioTree2, unsigned int inNode2, GP::Context& ioContext2)"); +} + + +/*! + * \brief Read a mutation operator from XML subtree. + * \param inIter XML iterator to use to read crossover operator. + * \param inOpMap + */ +void GP::MutationSwapSubtreeOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str()); + } + std::string mMutationPbReadName = inIter->getAttribute("mutationpb"); + if(mMutationPbReadName.empty() == false) mMutationPbName = mMutationPbReadName; + std::string mDistribPbReadName = inIter->getAttribute("distrpb"); + if(mDistribPbReadName.empty() == false) mDistribPbName = mDistribPbReadName; + Beagle_StackTraceEndM("void GP::MutationSwapSubtreeOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write mutation operator into XML streamer. + * \param ioStreamer XML streamer to write mutation operator into. + * \param inIndent Whether XML output should be indented. + */ +void GP::MutationSwapSubtreeOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + Beagle::MutationOp::writeContent(ioStreamer, inIndent); + ioStreamer.insertAttribute("distrpb", mDistribPbName); + Beagle_StackTraceEndM("void GP::MutationSwapSubtreeOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} diff --git a/lib/beagle-3.0.3/beagle/GP/src/Nand.cpp b/lib/beagle-3.0.3/beagle/GP/src/Nand.cpp new file mode 100644 index 0000000..643981a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Nand.cpp @@ -0,0 +1,101 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Nand.cpp + * \brief Source code of class GP::Nand. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + +using namespace Beagle; + + +/*! + * \brief Construct a new boolean NAND primitive. + * \param inName Name of the addition primitive. + */ +GP::Nand::Nand(Beagle::string inName) : + Beagle::GP::Primitive(2, inName) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive Nand. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type needed. + * \throw AssertException If the index inN given is greater than 1. + */ +const std::type_info* GP::Nand::getArgType(unsigned int inN, GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN<2); + return &typeid(Bool); + Beagle_StackTraceEndM("const std::type_info* GP::Nand::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the tag of the type of data return by primitive Nand. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +const std::type_info* GP::Nand::getReturnType(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(Bool); + Beagle_StackTraceEndM("const std::type_info* GP::Nand::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Execute the characteristic operation of logical NAND between two bools. + * \param outResult Result of the logical NAND. + * \param ioContext Evolutionary context. + */ +void GP::Nand::execute(GP::Datum& outResult, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Bool& lResult = castObjectT(outResult); + Bool lArg2; + get1stArgument(lResult, ioContext); + get2ndArgument(lArg2, ioContext); + lResult = !(lResult && lArg2); + Beagle_StackTraceEndM("void GP::Nand::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/GP/src/Nor.cpp b/lib/beagle-3.0.3/beagle/GP/src/Nor.cpp new file mode 100644 index 0000000..2f5285e --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Nor.cpp @@ -0,0 +1,101 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Nor.cpp + * \brief Source code of class GP::Nor. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + +using namespace Beagle; + + +/*! + * \brief Construct a new boolean NOR primitive. + * \param inName Name of the addition primitive. + */ +GP::Nor::Nor(Beagle::string inName) : + Beagle::GP::Primitive(2, inName) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive Nor. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type needed. + * \throw AssertException If the index inN given is greater than 1. + */ +const std::type_info* GP::Nor::getArgType(unsigned int inN, GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN<2); + return &typeid(Bool); + Beagle_StackTraceEndM("const std::type_info* GP::Nor::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the tag of the type of data return by primitive Nor. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +const std::type_info* GP::Nor::getReturnType(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(Bool); + Beagle_StackTraceEndM("const std::type_info* GP::Nor::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Execute the characteristic operation of logical NOR between two bools. + * \param outResult Result of the logical NOR. + * \param ioContext Evolutionary context. + */ +void GP::Nor::execute(GP::Datum& outResult, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Bool& lResult = castObjectT(outResult); + Bool lArg2; + get1stArgument(lResult, ioContext); + get2ndArgument(lArg2, ioContext); + lResult = !(lResult || lArg2); + Beagle_StackTraceEndM("void GP::Nor::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/GP/src/Not.cpp b/lib/beagle-3.0.3/beagle/GP/src/Not.cpp new file mode 100644 index 0000000..dc7fe72 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Not.cpp @@ -0,0 +1,99 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Not.cpp + * \brief Source code of class GP::Not. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + +using namespace Beagle; + + +/*! + * \brief Construct a new boolean NOT primitive. + * \param inName Name of the addition primitive. + */ +GP::Not::Not(Beagle::string inName) : + Beagle::GP::Primitive(1, inName) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive Not. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type needed. + * \throw AssertException If the index inN given is greater than 1. + */ +const std::type_info* GP::Not::getArgType(unsigned int inN, GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN<2); + return &typeid(Bool); + Beagle_StackTraceEndM("const std::type_info* GP::Not::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the tag of the type of data return by primitive Not. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +const std::type_info* GP::Not::getReturnType(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(Bool); + Beagle_StackTraceEndM("const std::type_info* GP::Not::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Execute the characteristic operation of logical NOT between of a bool. + * \param outResult Result of the logical NOT. + * \param ioContext Evolutionary context. + */ +void GP::Not::execute(GP::Datum& outResult, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Bool& lResult = castObjectT(outResult); + get1stArgument(lResult, ioContext); + lResult = !lResult; + Beagle_StackTraceEndM("void GP::Not::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/GP/src/Or.cpp b/lib/beagle-3.0.3/beagle/GP/src/Or.cpp new file mode 100644 index 0000000..9f2e89f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Or.cpp @@ -0,0 +1,101 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Or.cpp + * \brief Source code of class GP::Or. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + +using namespace Beagle; + + +/*! + * \brief Construct a new boolean OR primitive. + * \param inName Name of the addition primitive. + */ +GP::Or::Or(Beagle::string inName) : + Beagle::GP::Primitive(2, inName) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive Or. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type needed. + * \throw AssertException If the index inN given is greater than 1. + */ +const std::type_info* GP::Or::getArgType(unsigned int inN, GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN<2); + return &typeid(Bool); + Beagle_StackTraceEndM("const std::type_info* GP::Or::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the tag of the type of data return by primitive Or. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +const std::type_info* GP::Or::getReturnType(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(Bool); + Beagle_StackTraceEndM("const std::type_info* GP::Or::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Execute the characteristic operation of logical OR between two bools. + * \param outResult Result of the logical OR. + * \param ioContext Evolutionary context. + */ +void GP::Or::execute(GP::Datum& outResult, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Bool& lResult = castObjectT(outResult); + Bool lArg2; + get1stArgument(lResult, ioContext); + get2ndArgument(lArg2, ioContext); + lResult = lResult || lArg2; + Beagle_StackTraceEndM("void GP::Or::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/GP/src/Primitive.cpp b/lib/beagle-3.0.3/beagle/GP/src/Primitive.cpp new file mode 100644 index 0000000..3fcb750 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Primitive.cpp @@ -0,0 +1,353 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Primitive.cpp + * \brief Implementation of the type GP::Primitive. + * \author Christian Gagne + * \author Marc Parizeau + * \author Matthew Walker + * $Revision: 1.21.2.2 $ + * $Date: 2007/09/10 18:24:11 $ + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a primitive. + * \param inNumberArguments Number of arguments of the primitive. + * \param inName Name of the primitive. + */ +GP::Primitive::Primitive(unsigned int inNumberArguments, Beagle::string inName) : + NamedObject(inName), + mNumberArguments(inNumberArguments) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the nth argument requested return type (for STGP). + * \param inN Index of the argument to get the type. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) with the argument's node type. + * \throw Beagle::InternalException If the method is not overdefined is a subclass. + */ +const std::type_info* GP::Primitive::getArgType(unsigned int inN, GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + throw Beagle::InternalException(string("Method \"getArgType\" of class \"GP::Primitive\""). + append(" is called but is not properly overdefined in primitive \"").append(getName()). + append("\"")); + Beagle_StackTraceEndM("const std::type_info* GP::Primitive::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the primitive return type (for STGP). + * \param inDesiredType Desired return type. + * \param inNumberArguments Number of arguments to get the return type from. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) with the primitive return type. + * \throw Beagle::InternalException If the method is not overdefined is a subclass. + */ +const std::type_info* GP::Primitive::getReturnType(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + throw Beagle::InternalException(string("Method \"getReturnType\" of class \"GP::Primitive\""). + append(" is called but is not properly overdefined in primitive \"").append(getName()). + append("\"")); + Beagle_StackTraceEndM("const std::type_info* GP::Primitive::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Return the children's node index. + * \param inN Index of the children as arguments (index 0 is first arguments). + * \param ioContext Actual evolutionary context. + * \return Index of the given nth children. + * \throw Beagle::AssertException If the children index is out-of-bound. + */ +unsigned int GP::Primitive::getChildrenNodeIndex(unsigned int inN, GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,mNumberArguments-1); + GP::Tree& lActualTree = ioContext.getGenotype(); + unsigned int lNodeIndex = ioContext.getCallStackTop() + 1; + for(unsigned int i=0; i 0) return 1.0; + else return 0.0; + } + else if(inNumberArguments == mNumberArguments) return 1.0; + return 0.0; + Beagle_StackTraceEndM("double GP::Primitive::getSelectionWeight(unsigned int inNumberArguments, GP::Context& ioContext) const"); +} + + +/*! + * \brief Get the primitive value. + * \param outValue Object in which the actual primitive value is written. + * \throw Beagle::ObjectException If the method is not overdefined is a subclass. + */ +void GP::Primitive::getValue(Object& outValue) +{ + Beagle_StackTraceBeginM(); + throw Beagle::InternalException(string("Method \"getValue\" of class \"GP::Primitive\""). + append(" is called but is not properly overdefined in primitive \"").append(getName()). + append("\"")); + Beagle_StackTraceEndM("void GP::Primitive::getValue(Object& outValue)"); +} + + +/*! + * \brief Give a reference to the current primitive. + * \param inNumberArguments Number of arguments asked for. + * \param ioContext Reference to the evolution context. + * \return Handle to the refered primitive. + */ +GP::Primitive::Handle GP::Primitive::giveReference(unsigned int inNumberArguments, + GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + return GP::Primitive::Handle(this); + Beagle_StackTraceEndM("GP::Primitive::Handle GP::Primitive::giveReference(unsigned int inNumberArguments, GP::Context& ioContext)"); +} + + +/*! + * \brief Return whether primitive's getValue and setValue are effective. + * \return True if getValue/setValue method are effective, false if not. + */ +bool GP::Primitive::haveValue() const +{ + Beagle_StackTraceBeginM(); + return false; + Beagle_StackTraceEndM("bool GP::Primitive::haveValue() const"); +} + + +/*! + * \brief Initialize the primitive. + * \param ioSystem Evolutionary system used. + */ +void GP::Primitive::initialize(GP::System& ioSystem) +{ } + + +/*! + * \brief Compare equality of two primitives. Name, number of args. and attribute must be the same. + * \param inRightObj Primitive to compare to the actual one. + * \return True if primitive are identical, false if not. + */ +bool GP::Primitive::isEqual(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const GP::Primitive& lRightPrimitive = castObjectT(inRightObj); + if((getName() != lRightPrimitive.getName()) || + (mNumberArguments != lRightPrimitive.mNumberArguments)) return false; + return true; + Beagle_StackTraceEndM("bool GP::Primitive::isEqual(const Object& inRightObj) const"); +} + + +/*! + * \brief Stability of selection weight. A weight is said stable if it doesn't change over time. + * \param inNumberArguments Number of arguments to check stability of selection weight. + * \return True if selection weight is stable, false if not. + */ +bool GP::Primitive::isSelectionWeightStable(unsigned int inNumberArguments) const +{ + Beagle_StackTraceBeginM(); + return true; + Beagle_StackTraceEndM("bool GP::Primitive::isSelectionWeightStable(unsigned int inNumberArguments) const"); +} + + +/*! + * \brief Read the primitive from XML subtree. + * \param inIter XML iterator used to read the primitive from. + * \param ioContext Evolutionary context. + * \throw IOException If primitive format is not respected. + */ +void GP::Primitive::readWithContext(PACC::XML::ConstIterator inIter, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(inIter->getType() != PACC::XML::eData) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + if(inIter->getValue() != getName().c_str()) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected, but "; + lOSS << "got tag <" << inIter->getValue() << "> instead!"; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + Beagle_StackTraceEndM("void GP::Primitive::readWithContext(PACC::XML::ConstIterator inIter, GP::Context& ioContext)"); +} + + +/*! + * \brief Set the value of a primitive. + * \param inValue Value of the primitive. + * \throw Beagle::ObjectException If the method is not overdefined is a subclass. + */ +void GP::Primitive::setValue(const Object& inValue) +{ + Beagle_StackTraceBeginM(); + throw Beagle::InternalException(string("Method \"setValue\" of class \"GP::Primitive\""). + append(" is called but is not properly overdefined in primitive \"").append(getName()). + append("\"")); + Beagle_StackTraceEndM("void GP::Primitive::setValue(const Object& inValue)"); +} + + +/*! + * \brief Validate the primitive connections in the tree when using contrained or strongly-typed GP. + * \param ioContext Evolutionary context. + * \return True if the tree topology is correct, false if not. + * \throw Beagle::AssertException If the context is in a bad state. + */ +bool GP::Primitive::validate(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); +#ifdef BEAGLE_HAVE_RTTI + + Beagle_AssertM(ioContext.getCallStackSize() != 0); + GP::Tree& lActualTree = ioContext.getGenotype(); + + // If the primitive is the root of the tree, check its type is correct. + if(ioContext.getCallStackTop()==0) { + const std::type_info* lTreeRootType = lActualTree.getRootType(ioContext); + const std::type_info* lReturnType = getReturnType(ioContext); + if((lTreeRootType==NULL) || ((lReturnType!=NULL) && ((*lTreeRootType)==(*lReturnType)))) { + // Valid. + return true; + } + else { + // Not valid. + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "primitive", "Beagle::GP::Primitive", + string("Validation of \"").append(getName()).append("\" primitive failed. "). + append("The primitive is at the root of the "). + append(uint2ordinal(ioContext.getGenotypeIndex()+1)).append(" tree and its type (\""). + append(lReturnType->name()).append("\") does not match the type required as tree root "). + append("(\"").append(lTreeRootType->name()).append("\").") + ); + return false; + } + } + + unsigned int lParentIndex = ioContext.getCallStackElement(ioContext.getCallStackSize()-2); + unsigned int lChildIndex = lParentIndex + 1; + unsigned int lArgsIndexChild = 0; + while(lChildIndex != ioContext.getCallStackTop()) { + lChildIndex += lActualTree[lChildIndex].mSubTreeSize; + Beagle_AssertM(lChildIndex < lActualTree.size()); + lArgsIndexChild++; + Beagle_AssertM(lArgsIndexChild < lActualTree[lParentIndex].mPrimitive->getNumberArguments()); + } + + // Check that the return type of this node matches the type expected by this node's parent. + unsigned int lActualNodeIndex = ioContext.getCallStackTop(); + ioContext.popCallStack(); + const std::type_info* lDesiredType = + lActualTree[lParentIndex].mPrimitive->getArgType(lArgsIndexChild, ioContext); + ioContext.pushCallStack(lActualNodeIndex); + const std::type_info* lReturnedType = getReturnType(ioContext); + if((lDesiredType==NULL) || (lReturnedType==NULL) || ((*lDesiredType)==(*lReturnedType))) { + // Valid. + return true; + } + else { + // Not valid. + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "primitive", "Beagle::GP::Primitive", + string("Validation of \"").append(getName()).append("\" primitive failed."). + append(" The primitive is at the "). + append(uint2ordinal(ioContext.getCallStackTop()+1)).append(" node of the "). + append(uint2ordinal(ioContext.getGenotypeIndex()+1)).append(" tree and its type (\""). + append(lReturnedType->name()).append("\") does not match the desired type (\""). + append(lDesiredType->name()).append("\") required by its parent (\""). + append(lActualTree[lParentIndex].mPrimitive->getName()).append("\") at the "). + append(uint2ordinal(lParentIndex)).append(" node of the same tree.") + ); + return false; + } + +#else // BEAGLE_HAVE_RTTI + + return true; + +#endif // BEAGLE_HAVE_RTTI + Beagle_StackTraceEndM("bool GP::Primitive::validate(GP::Context& ioContext) const"); +} + + +/*! + * \brief Write the primitive. + * \param ioStreamer XML streamer to write the primitive into. + * \param inIndent Whether XML output should be indented. + */ +void GP::Primitive::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag(getName().c_str(), inIndent); + writeContent(ioStreamer, inIndent); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void GP::Primitive::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + +/*! + * \brief Write the primitive content. + * \param ioStreamer XML streamer to write the primitive into. + * \param inIndent Whether XML output should be indented. + */ +void GP::Primitive::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ } + diff --git a/lib/beagle-3.0.3/beagle/GP/src/PrimitiveSet.cpp b/lib/beagle-3.0.3/beagle/GP/src/PrimitiveSet.cpp new file mode 100644 index 0000000..1c6ee59 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/PrimitiveSet.cpp @@ -0,0 +1,267 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/PrimitiveSet.cpp + * \brief Implementation of the type GP::PrimitiveSet. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.21.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Construct a new primitive set. + * \param inRootType Associated tree's root type. Used only with strongly-typed GP. + */ +GP::PrimitiveSet::PrimitiveSet(const std::type_info* inRootType) : + mRootType(inRootType) +{ } + + +/*! + * \brief Get the associated tree's root type. Used only with strongly-typed GP. + * \return Associated tree's root type. + */ +const std::type_info* GP::PrimitiveSet::getRootType() const +{ + Beagle_StackTraceBeginM(); + return mRootType; + Beagle_StackTraceEndM("const std::type_info* GP::PrimitiveSet::getRootType() const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Initialize the set of primitive. + * \param ioSystem System used to initialize the primitive set. + */ +void GP::PrimitiveSet::initialize(GP::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle_LogVerboseM( + ioSystem.getLogger(), + "initialization","Beagle::GP::PrimitiveSet", + "Initializing primitive set" + ); + for(unsigned int i=0; igetName()+string("\"") + ); + (*this)[i]->initialize(ioSystem); + } + Beagle_LogObjectM( + ioSystem.getLogger(), + Beagle::Logger::eVerbose, + "initialization","Beagle::GP::PrimitiveSet", + (*this) + ); + Beagle_StackTraceEndM("void GP::PrimitiveSet::initialize(GP::System& ioSystem)"); +} + + +/*! + * \brief Insert a new primitive in the set. + * \param inPrimitive Handle to the primitive to insert. + * \param inBias Selection bias associated to primitive. + * \throw AssertException If the given handle is NULL. + * \throw RunTimeException If a primitive of the same name is already in the set. + */ +void GP::PrimitiveSet::insert(GP::Primitive::Handle inPrimitive, double inBias) +{ + Beagle_StackTraceBeginM(); + // Check if the name is already used + Beagle_NonNullPointerAssertM(inPrimitive); + if(mNames.find(inPrimitive->getName()) != mNames.end()) { + string lMessage = "In GP::PrimitiveSet::insert(Primitive): A primitive named \""; + lMessage += inPrimitive->getName(); + lMessage += "\" is already in the primitive set."; + throw Beagle_RunTimeExceptionM(lMessage); + } + + // Insert primitive + (*this).push_back(inPrimitive); + mNames[inPrimitive->getName()] = inPrimitive; + mSelectionBiases.push_back(inBias); + Beagle_StackTraceEndM("void GP::PrimitiveSet::insert(GP::Primitive::Handle inPrimitive, double inBias)"); +} + + +/*! + * \brief Select randomly a primitive. + * \param inNumberArguments Number of arguments for selected primitive. + * \param ioContext Reference to the evolutionary context. + * \return Handle to the selected primitive. + */ +GP::Primitive::Handle GP::PrimitiveSet::select(unsigned int inNumberArguments, + GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + // Get roulette for inserted primitives. + RouletteMap::const_iterator lRouletteIter = mRoulettes.find(inNumberArguments); + if((lRouletteIter==mRoulettes.end()) || (lRouletteIter->second.first==false)) { + // If the roulette haven't been processed before, evaluate stability flag. + if(lRouletteIter==mRoulettes.end()) { + RoulettePair& lNewRoulette = mRoulettes[inNumberArguments]; + lNewRoulette.first = true; + for(unsigned int i=0; iisSelectionWeightStable(inNumberArguments) == false) { + lNewRoulette.first = false; + break; + } + } + } + // Build roulette. + RoulettePair& lBuiltRoulette = mRoulettes[inNumberArguments]; + lBuiltRoulette.second.resize(0); + for(unsigned int i=0; igetSelectionWeight(inNumberArguments,ioContext) * mSelectionBiases[i]; + Beagle_AssertM(lSelectionWeight >= 0.0); + if(lSelectionWeight!=0.0) lBuiltRoulette.second.insert(i, lSelectionWeight); + } + // Optimize if necessary. + if(lBuiltRoulette.first) lBuiltRoulette.second.optimize(); + } + + // Get primitive from roulette + RouletteT& lRoulette = mRoulettes[inNumberArguments].second; + if(lRoulette.empty()) return Primitive::Handle(NULL); + return (*this)[lRoulette.select(ioContext.getSystem().getRandomizer())]; + Beagle_StackTraceEndM("GP::Primitive::Handle GP::PrimitiveSet::select(unsigned int inNumberArguments, GP::Context& ioContext)"); +} + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Select randomly a primitive. + * \param inNumberArguments Number of arguments for selected primitive. + * \param inDesiredType Desired type for selected primitive. + * \param ioContext Reference to the evolutionary context. + * \return Handle to the selected primitive. + */ +GP::Primitive::Handle GP::PrimitiveSet::selectWithType(unsigned int inNumberArguments, + const std::type_info* inDesiredType, + GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + // Create roulette of eligible primitives. + RouletteT lRoulette; + for(unsigned int i=0; igetReturnType(ioContext); + if((inDesiredType==NULL) || (lReturnType==NULL) || ((*inDesiredType)==(*lReturnType))) { + const double lSelectionWeight = + (*this)[i]->getSelectionWeight(inNumberArguments,ioContext) * mSelectionBiases[i]; + Beagle_AssertM(lSelectionWeight >= 0.0); + if(lSelectionWeight!=0.0) lRoulette.insert(i, lSelectionWeight); + } + } + + // Get primitive from roulette + if(lRoulette.empty()) return Primitive::Handle(NULL); + return (*this)[lRoulette.select(ioContext.getSystem().getRandomizer())]; + Beagle_StackTraceEndM("GP::Primitive::Handle GP::PrimitiveSet::selectWithType(unsigned int inNumberArguments, const std::type_info* inDesiredType, GP::Context& ioContext)"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Read a primitive set from a XML subtree. + * \param inIter XML iterator to read the primitive set from. + * \param ioContext Evolutionary context. + * \throw IOException If size atribute not present or if the size mismatch. + */ +void GP::PrimitiveSet::readWithContext(PACC::XML::ConstIterator inIter, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="PrimitiveSet")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + // Add existing primitives to the super set's primitive map. + GP::PrimitiveSuperSet::Handle lSuperSet = + castHandleT(ioContext.getSystem().getComponent("PrimitiveSuperSet")); + GP::PrimitiveMap lNamesDuplicate; + if(lSuperSet==NULL) lNamesDuplicate = mNames; + else for(unsigned int i=0; iaddPrimitive((*this)[i]); + GP::PrimitiveMap& lPrimitMap = (lSuperSet==NULL) ? lNamesDuplicate : lSuperSet->getPrimitiveMap(); + + // Clean-up primitive set before reading. + resize(0); + mSelectionBiases.resize(0); + mNames.clear(); + mRoulettes.clear(); + + // Read primitives from XML file. + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Primitive")) { + string lPrimitName = lChild->getAttribute("name").c_str(); + GP::PrimitiveMap::const_iterator lMapIter = lPrimitMap.find(lPrimitName); + if(lMapIter == lPrimitMap.end()) { + std::ostringstream lOSS; + lOSS << "primitive \"" << lPrimitName; + lOSS << "\" is not a known primitive of the primitive set!"; + throw Beagle_IOExceptionNodeM(*lChild, lOSS.str().c_str()); + } + GP::Primitive::Handle lPrimitive = castHandleT(lMapIter->second); + string lPrimitBiasStr = lChild->getAttribute("bias").c_str(); + const double lPrimitBias = lPrimitBiasStr.empty() ? 1.0 : str2dbl(lPrimitBiasStr); + insert(lPrimitive, lPrimitBias); + } + } + Beagle_StackTraceEndM("void GP::PrimitiveSet::readWithContext(PACC::XML::ConstIterator inIter, GP::Context& ioContext)"); +} + + +/*! + * \brief Write a primitive set into a XML streamer. + * \param ioStreamer XML streamer to use to read the primitive set into. + * \param inIndent Whether XML output should be indented. + */ +void GP::PrimitiveSet::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("PrimitiveSet", inIndent); + for(unsigned int i=0; igetName()); + ioStreamer.insertAttribute("bias", dbl2str(mSelectionBiases[i])); + ioStreamer.closeTag(); + } + ioStreamer.closeTag(); // PrimitiveSet + Beagle_StackTraceEndM("void GP::PrimitiveSet::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} diff --git a/lib/beagle-3.0.3/beagle/GP/src/PrimitiveSuperSet.cpp b/lib/beagle-3.0.3/beagle/GP/src/PrimitiveSuperSet.cpp new file mode 100644 index 0000000..ffc929f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/PrimitiveSuperSet.cpp @@ -0,0 +1,177 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/PrimitiveSuperSet.cpp + * \brief Implementation of the type GP::PrimitiveSuperSet. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.13.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct primitive super set. + */ +GP::PrimitiveSuperSet::PrimitiveSuperSet(GP::PrimitiveSet::Alloc::Handle inPrimitSetAlloc) : + Component("PrimitiveSuperSet"), + mPrimitSets(inPrimitSetAlloc) +{ + Beagle_StackTraceBeginM(); + addBasicPrimitives(); + Beagle_StackTraceEndM("GP::PrimitiveSuperSet::PrimitiveSuperSet(GP::PrimitiveSet::Alloc::Handle inPrimitSetAlloc)"); +} + + +/*! + * \brief Add common primitives to the primitive super set. + */ +void GP::PrimitiveSuperSet::addBasicPrimitives() +{ + Beagle_StackTraceBeginM(); + addPrimitive(new GP::ADF); + addPrimitive(new GP::ADF(GP::Invoker::eGenerator, GP::Primitive::eAny, "ADFI", "ARGI")); + addPrimitive(new GP::ADF(GP::Invoker::eGenerator, GP::Primitive::eAny, "ADFB", "ARGB")); + addPrimitive(new GP::Module); + addPrimitive(new GP::Module(GP::Invoker::eGenerator, GP::Primitive::eAny, "MODULEI", "ARGI")); + addPrimitive(new GP::Module(GP::Invoker::eGenerator, GP::Primitive::eAny, "MODULEB", "ARGB")); + addPrimitive(new GP::ArgumentT); + addPrimitive(new GP::ArgumentT(GP::Argument::eCaching, GP::Argument::eGenerator, "ARGI")); + addPrimitive(new GP::ArgumentT(GP::Argument::eCaching, GP::Argument::eGenerator, "ARGB")); + addPrimitive(new GP::IfThenElseT("IFTE")); + addPrimitive(new GP::IfThenElseT("IFTEI")); + addPrimitive(new GP::IfThenElseT("IFTEB")); + addPrimitive(new GP::AbsT("ABS")); + addPrimitive(new GP::AbsT("ABSI")); + addPrimitive(new GP::Add); + addPrimitive(new GP::AddT("ADDI")); + addPrimitive(new GP::Subtract); + addPrimitive(new GP::SubtractT("SUBI")); + addPrimitive(new GP::Multiply); + addPrimitive(new GP::MultiplyT("MULI")); + addPrimitive(new GP::Divide); + addPrimitive(new GP::Sin); + addPrimitive(new GP::Cos); + addPrimitive(new GP::Exp); + addPrimitive(new GP::Log); + addPrimitive(new GP::EphemeralDouble); + addPrimitive(new GP::And); + addPrimitive(new GP::Or); + addPrimitive(new GP::Not); + addPrimitive(new GP::Nand); + addPrimitive(new GP::Nor); + addPrimitive(new GP::Xor); + Beagle_StackTraceEndM("void GP::PrimitiveSuperSet::addBasicPrimitives()"); +} + + +/*! + * \brief Initialize the super set of primitive. + */ +void GP::PrimitiveSuperSet::initialize(GP::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Component::initialize(ioSystem); + + Beagle_LogDetailedM( + ioSystem.getLogger(), + "initialization","Beagle::GP::PrimitiveSet", + "Initializing primitive super set" + ); + for(unsigned int i=0; iinitialize(ioSystem); + } + Beagle_StackTraceEndM("void GP::PrimitiveSuperSet::initialize(GP::System& ioSystem)"); +} + + +/*! + * \brief Insert a nes set of primitives in the super set. + * \param inPrimitiveSet Inserted primitive set. + */ +void GP::PrimitiveSuperSet::insert(GP::PrimitiveSet::Handle inPrimitiveSet) +{ + Beagle_StackTraceBeginM(); + mPrimitSets.push_back(inPrimitiveSet); + for(unsigned int i=0; isize(); ++i) addPrimitive((*inPrimitiveSet)[i]); + Beagle_StackTraceEndM("void GP::PrimitiveSuperSet::insert(GP::PrimitiveSet::Handle inPrimitiveSet)"); +} + + +/*! + * \brief Read a primitive super set from a XML subtree. + * \param inIter XML iterator used to read the super set from. + * \param ioSystem Evolutionary system. + * \throw Beagle::IOException If size atribute not present. + */ +void GP::PrimitiveSuperSet::readWithSystem(PACC::XML::ConstIterator inIter, Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="PrimitiveSuperSet")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + GP::Context::Handle lGPContext = + castHandleT(ioSystem.getContextAllocator().allocate()); + GP::System& lGPSystem = castObjectT(ioSystem); + lGPContext->setSystemHandle(&lGPSystem); + unsigned int lNbPrimitSet=0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="PrimitiveSet")) ++lNbPrimitSet; + } + mPrimitSets.resize(lNbPrimitSet); + unsigned int lPSIndex=0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="PrimitiveSet")) { + mPrimitSets[lPSIndex++]->readWithContext(lChild, *lGPContext); + } + } + Beagle_StackTraceEndM("void GP::PrimitiveSuperSet::readWithSystem(PACC::XML::ConstIterator inIter, Beagle::System& ioSystem)"); +} + + +/*! + * \brief Write a primitive super set into a Beagle XML stream. + * \param ioStreamer XMl streamer to write the super set into. + * \param inIndent Whether XML output should be indented. + */ +void GP::PrimitiveSuperSet::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("PrimitiveSuperSet", inIndent); + for(unsigned int i=0; iwrite(ioStreamer, inIndent); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void GP::PrimitiveSuperSet::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/PrimitiveUsageStatsOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/PrimitiveUsageStatsOp.cpp new file mode 100644 index 0000000..594c384 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/PrimitiveUsageStatsOp.cpp @@ -0,0 +1,138 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +#include "beagle/GP.hpp" + +#include +#include +#include + +using namespace Beagle; + + +// This restrict the scope of the class to the actual file only. +namespace { + +typedef std::map< Beagle::string,unsigned int,std::less, + BEAGLE_STLALLOCATOR > > + CountMap; + +/*! + * \brief Internal class used to log primitive usage. + */ +class PrimitUsageCount : public Beagle::Object, + public CountMap +{ +public: + explicit PrimitUsageCount(unsigned int inDemeID=0, unsigned int inGeneration=0); + virtual ~PrimitUsageCount() { } + void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + unsigned int mDemeID; + unsigned int mGeneration; +}; + + +/*! + * \brief Construct usage count class. + */ +PrimitUsageCount::PrimitUsageCount(unsigned int inDemeID, + unsigned int inGeneration) : + mDemeID(inDemeID), + mGeneration(inGeneration) +{ } + + +/*! + * \brief Write usage count to the streamer. + * \param ioStreamer XML streamer to write usage count to. + * \param inIndent Whether XML output should be indented. + */ +void PrimitUsageCount::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("PrimitiveUsageStats", inIndent); + ioStreamer.insertAttribute("deme", int2str(mDemeID)); + ioStreamer.insertAttribute("generation", int2str(mGeneration)); + for(const_iterator lIter=begin(); lIter!=end(); ++lIter) { + ioStreamer.openTag("Primitive", inIndent); + ioStreamer.insertAttribute("name", lIter->first); + ioStreamer.insertAttribute("count", int2str(lIter->second)); + ioStreamer.closeTag(); + } + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void PrimitUsageCount::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + +} + + +/*! + * \brief Construct primitive usage display operator. + * \param inName Name of the primitive. + */ +GP::PrimitiveUsageStatsOp::PrimitiveUsageStatsOp(Beagle::string inName) : + Operator(inName) +{ } + + +/*! + * \brief Compute primitive usage statistics from deme. + * \param ioDeme Deme to compute primitive usage on. + * \param ioContext Evolutionary context. + */ +void GP::PrimitiveUsageStatsOp::operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + // Compute usage statistics + PrimitUsageCount lCounter(ioContext.getDemeIndex(), ioContext.getGeneration()); + for(unsigned int i=0; i(ioDeme[i]); + // Loop through trees + for(unsigned int j=0; jsize(); ++j) { + GP::Tree::Handle lTree = castHandleT((*lIndi)[j]); + // Loop through nodes of the tree + for(unsigned int k=0; ksize(); ++k) { + GP::Node& lNode = (*lTree)[k]; + string lPrimitName = lNode.mPrimitive->getName(); + CountMap::iterator lIter = lCounter.find(lPrimitName); + if(lIter == lCounter.end()) lCounter[lPrimitName] = 1; + else ++(lIter->second); + } + } + } + + // Display usage statistics + Beagle_LogObjectM( + ioContext.getSystem().getLogger(), + Logger::eStats, + "stats", "Beagle::GP::PrimitiveUsageStatsOp", + lCounter + ); + Beagle_StackTraceEndM("void GP::PrimitiveUsageStatsOp::operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext)"); +} + + + diff --git a/lib/beagle-3.0.3/beagle/GP/src/ResourcesExceededExecutionException.cpp b/lib/beagle-3.0.3/beagle/GP/src/ResourcesExceededExecutionException.cpp new file mode 100644 index 0000000..7075e01 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/ResourcesExceededExecutionException.cpp @@ -0,0 +1,59 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/ResourcesExceededExecutionException.cpp + * \brief Implementation of class GP::ResourcesExceededExecutionException. + * \author Christian Gagne + * \author Matthew Walker + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a new ResourcesExceededExecutionException object. + * \param inMessage Message describing the exception. + */ +GP::ResourcesExceededExecutionException::ResourcesExceededExecutionException( + Beagle::string inMessage) : + GP::ExecutionException(inMessage) +{ } + + +/*! + * \brief Get the name of the exception. + * \return Name of the exception. + */ +const char* GP::ResourcesExceededExecutionException::getExceptionName() const throw() +{ + return "Beagle::GP::ResourcesExceededExecutionException"; +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/Sin.cpp b/lib/beagle-3.0.3/beagle/GP/src/Sin.cpp new file mode 100644 index 0000000..b723119 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Sin.cpp @@ -0,0 +1,102 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Sin.cpp + * \brief Source code of class GP::Sin. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +#include + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + +using namespace Beagle; + + +/*! + * \brief Construct a new sinus primitive. + * \param inName Name of the sinus primitive. + */ +GP::Sin::Sin(Beagle::string inName) : + Beagle::GP::Primitive(1, inName) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive Sin. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type needed. + * \throw AssertException If the index inN given is greater than 0. + */ +const std::type_info* GP::Sin::getArgType(unsigned int inN, GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN<1); + return &typeid(Double); + Beagle_StackTraceEndM("const std::type_info* GP::Sin::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the tag of the type of data return by primitive Sin. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +const std::type_info* GP::Sin::getReturnType(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(Double); + Beagle_StackTraceEndM("const std::type_info* GP::Sin::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Execute the characteristic operation of a sinus of number. + * \param outResult Result of the sinus. + * \param ioContext Evolutionary context. + */ +void GP::Sin::execute(GP::Datum& outResult, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Double& lResult = castObjectT(outResult); + get1stArgument(lResult, ioContext); + lResult = std::sin(lResult); + Beagle_StackTraceEndM("void GP::Sin::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/StatsCalcFitnessKozaOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/StatsCalcFitnessKozaOp.cpp new file mode 100644 index 0000000..da9807a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/StatsCalcFitnessKozaOp.cpp @@ -0,0 +1,325 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/StatsCalcFitnessKozaOp.cpp + * \brief Source code of class StatsCalcFitnessKozaOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a calculate stats operator. + * \param inName Name of the operator. + */ +GP::StatsCalcFitnessKozaOp::StatsCalcFitnessKozaOp(Beagle::string inName) : + StatsCalculateOp(inName) +{ } + + +/*! + * \brief Calculate statistics of a given deme. + * \param outStats Evaluated statistics. + * \param ioDeme Deme to evalute the statistics. + * \param ioContext Context of the evolution. + */ +void GP::StatsCalcFitnessKozaOp::calculateStatsDeme(Beagle::Stats& outStats, + Beagle::Deme& ioDeme, + Beagle::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + outStats.clear(); + outStats.clearItems(); + outStats.addItem("processed", ioContext.getProcessedDeme()); + outStats.addItem("total-processed", ioContext.getTotalProcessedDeme()); + + if(ioDeme.size() == 0) { + outStats.setGenerationValues(string("deme")+uint2str(ioContext.getDemeIndex()+1), + ioContext.getGeneration(), 0, true); + + outStats.resize(7); + outStats[0].mId = "normalized"; + outStats[0].mAvg = 0.0; + outStats[0].mStd = 0.0; + outStats[0].mMax = 0.0; + outStats[0].mMin = 0.0; + + outStats[1].mId = "adjusted"; + outStats[1].mAvg = 0.0; + outStats[1].mStd = 0.0; + outStats[1].mMax = 0.0; + outStats[1].mMin = 0.0; + + outStats[2].mId = "standardized"; + outStats[2].mAvg = 0.0; + outStats[2].mStd = 0.0; + outStats[2].mMax = 0.0; + outStats[2].mMin = 0.0; + + outStats[3].mId = "raw"; + outStats[3].mAvg = 0.0; + outStats[3].mStd = 0.0; + outStats[3].mMax = 0.0; + outStats[3].mMin = 0.0; + + outStats[4].mId = "hits"; + outStats[4].mAvg = 0.0; + outStats[4].mStd = 0.0; + outStats[4].mMax = 0.0; + outStats[4].mMin = 0.0; + + outStats[5].mId = "treedepth"; + outStats[5].mAvg = 0.0; + outStats[5].mStd = 0.0; + outStats[5].mMax = 0.0; + outStats[5].mMin = 0.0; + + outStats[6].mId = "treesize"; + outStats[6].mAvg = 0.0; + outStats[6].mStd = 0.0; + outStats[6].mMax = 0.0; + outStats[6].mMin = 0.0; + return; + } + + const GP::Deme& lGPDeme = castObjectT(ioDeme); + const GP::FitnessKoza::Handle lFirstIndivFitness = + castHandleT(lGPDeme[0]->getFitness()); + + if(ioDeme.size() == 1) { + outStats.setGenerationValues(string("deme")+uint2str(ioContext.getDemeIndex()+1), + ioContext.getGeneration(), 1, true); + + outStats.resize(7); + outStats[0].mId = "normalized"; + outStats[0].mAvg = lFirstIndivFitness->getNormalizedFitness(); + outStats[0].mStd = 0.0; + outStats[0].mMax = lFirstIndivFitness->getNormalizedFitness(); + outStats[0].mMin = lFirstIndivFitness->getNormalizedFitness(); + + outStats[1].mId = "adjusted"; + outStats[1].mAvg = lFirstIndivFitness->getAdjustedFitness(); + outStats[1].mStd = 0.0; + outStats[1].mMax = lFirstIndivFitness->getAdjustedFitness(); + outStats[1].mMin = lFirstIndivFitness->getAdjustedFitness(); + + outStats[2].mId = "standardized"; + outStats[2].mAvg = lFirstIndivFitness->getStandardizedFitness(); + outStats[2].mStd = 0.0; + outStats[2].mMax = lFirstIndivFitness->getStandardizedFitness(); + outStats[2].mMin = lFirstIndivFitness->getStandardizedFitness(); + + outStats[3].mId = "raw"; + outStats[3].mAvg = lFirstIndivFitness->getRawFitness(); + outStats[3].mStd = 0.0; + outStats[3].mMax = lFirstIndivFitness->getRawFitness(); + outStats[3].mMin = lFirstIndivFitness->getRawFitness(); + + outStats[4].mId = "hits"; + outStats[4].mAvg = lFirstIndivFitness->getHits(); + outStats[4].mStd = 0.0; + outStats[4].mMax = lFirstIndivFitness->getHits(); + outStats[4].mMin = lFirstIndivFitness->getHits(); + + outStats[5].mId = "treedepth"; + outStats[5].mAvg = lGPDeme[0]->getMaxTreeDepth(); + outStats[5].mStd = 0.0; + outStats[5].mMax = outStats[5].mAvg; + outStats[5].mMin = outStats[5].mAvg; + + outStats[6].mId = "treesize"; + outStats[6].mAvg = lGPDeme[0]->getTotalNodes(); + outStats[6].mStd = 0.0; + outStats[6].mMax = outStats[6].mAvg; + outStats[6].mMin = outStats[6].mAvg; + return; + } + + double lSumNrm = (double)lFirstIndivFitness->getNormalizedFitness(); + double lPow2SumNrm = pow2Of(lSumNrm); + float lMaxNrm = lFirstIndivFitness->getNormalizedFitness(); + float lMinNrm = lFirstIndivFitness->getNormalizedFitness(); + double lSumAdj = (double)lFirstIndivFitness->getAdjustedFitness(); + double lPow2SumAdj = pow2Of(lSumAdj); + float lMaxAdj = lFirstIndivFitness->getAdjustedFitness(); + float lMinAdj = lFirstIndivFitness->getAdjustedFitness(); + double lSumStd = (double)lFirstIndivFitness->getStandardizedFitness(); + double lPow2SumStd = pow2Of(lSumStd); + float lMaxStd = (double)lFirstIndivFitness->getStandardizedFitness(); + float lMinStd = lFirstIndivFitness->getStandardizedFitness(); + double lSumRaw = lFirstIndivFitness->getRawFitness(); + double lPow2SumRaw = pow2Of(lSumRaw); + float lMaxRaw = (double)lFirstIndivFitness->getRawFitness(); + float lMinRaw = lFirstIndivFitness->getRawFitness(); + double lSumHit = lFirstIndivFitness->getHits(); + double lPow2SumHit = pow2Of(lSumHit); + unsigned int lMaxHit = lFirstIndivFitness->getHits(); + unsigned int lMinHit = lFirstIndivFitness->getHits(); + + unsigned int lMaxDepth = lGPDeme[0]->getMaxTreeDepth(); + unsigned int lMinDepth = lMaxDepth; + double lSumDepth = (double)lMaxDepth; + double lPow2SumDepth = pow2Of(lSumDepth); + unsigned int lMaxSize = lGPDeme[0]->getTotalNodes(); + unsigned int lMinSize = lMaxSize; + double lSumSize = (double)lMaxSize; + double lPow2SumSize = pow2Of(lSumSize); + + for(unsigned int i=1; i(lGPDeme[i]->getFitness()); + lSumNrm += (double)lIndivFitness->getNormalizedFitness(); + lPow2SumNrm += pow2Of((double)lIndivFitness->getNormalizedFitness()); + lSumAdj += (double)lIndivFitness->getAdjustedFitness(); + lPow2SumAdj += pow2Of((double)lIndivFitness->getAdjustedFitness()); + lSumStd += (double)lIndivFitness->getStandardizedFitness(); + lPow2SumStd += pow2Of(lIndivFitness->getStandardizedFitness()); + lSumRaw += (double)lIndivFitness->getRawFitness(); + lPow2SumRaw += pow2Of((double)lIndivFitness->getRawFitness()); + lSumHit += (double)lIndivFitness->getHits(); + lPow2SumHit += pow2Of((double)lIndivFitness->getHits()); + if(lIndivFitness->getNormalizedFitness() > lMaxNrm) { + lMaxNrm = lIndivFitness->getNormalizedFitness(); + lMaxAdj = lIndivFitness->getAdjustedFitness(); + lMaxStd = lIndivFitness->getStandardizedFitness(); + lMaxRaw = lIndivFitness->getRawFitness(); + lMaxHit = lIndivFitness->getHits(); + } + if(lIndivFitness->getNormalizedFitness() < lMinNrm) { + lMinNrm = lIndivFitness->getNormalizedFitness(); + lMinAdj = lIndivFitness->getAdjustedFitness(); + lMinStd = lIndivFitness->getStandardizedFitness(); + lMinRaw = lIndivFitness->getRawFitness(); + lMinHit = lIndivFitness->getHits(); + } + + unsigned int lTmpDepth = lGPDeme[i]->getMaxTreeDepth(); + lSumDepth += (double)lTmpDepth; + lPow2SumDepth += pow2Of((double)lTmpDepth); + lMaxDepth = maxOf(lMaxDepth, lTmpDepth); + lMinDepth = minOf(lMinDepth, lTmpDepth); + + unsigned int lTmpSize = lGPDeme[i]->getTotalNodes(); + lSumSize += (double)lTmpSize; + lPow2SumSize += pow2Of((double)lTmpSize); + lMaxSize = maxOf(lMaxSize, lTmpSize); + lMinSize = minOf(lMinSize, lTmpSize); + } + + float lNrmAverage = (float)(lSumNrm / lGPDeme.size()); + float lNrmStdError = + (float)(lPow2SumNrm - (pow2Of(lSumNrm) / lGPDeme.size())) / (lGPDeme.size() - 1); + lNrmStdError = sqrt(lNrmStdError); + + float lAdjAverage = (float)(lSumAdj / lGPDeme.size()); + float lAdjStdError = + (float)(lPow2SumAdj - (pow2Of(lSumAdj) / lGPDeme.size())) / (lGPDeme.size() - 1); + lAdjStdError = sqrt(lAdjStdError); + + float lStdAverage = (float)(lSumStd / lGPDeme.size()); + float lStdStdError = + (float)(lPow2SumStd - (pow2Of(lSumStd) / lGPDeme.size())) / (lGPDeme.size() - 1); + lStdStdError = sqrt(lStdStdError); + + float lRawAverage = (float)(lSumRaw / lGPDeme.size()); + float lRawStdError = + (float)(lPow2SumRaw - (pow2Of(lSumRaw) / lGPDeme.size())) / (lGPDeme.size() - 1); + lRawStdError = sqrt(lRawStdError); + + float lHitAverage = (float)(lSumHit / lGPDeme.size()); + float lHitStdError = + (float)(lPow2SumHit - (pow2Of(lSumHit) / lGPDeme.size())) / (lGPDeme.size() - 1); + lHitStdError = sqrt(lHitStdError); + + float lDepthAverage = (float)(lSumDepth / lGPDeme.size()); + float lDepthStdError = + (float)(lPow2SumDepth - (pow2Of(lSumDepth) / lGPDeme.size())) / (lGPDeme.size() - 1); + lDepthStdError = sqrt(lDepthStdError); + + float lSizeAverage = (float)(lSumSize / lGPDeme.size()); + float lSizeStdError = + (float)(lPow2SumSize - (pow2Of(lSumSize) / lGPDeme.size())) / (lGPDeme.size() - 1); + lSizeStdError = sqrt(lSizeStdError); + + outStats.setGenerationValues(string("deme")+uint2str(ioContext.getDemeIndex()+1), + ioContext.getGeneration(), ioDeme.size(), true); + + outStats.resize(7); + outStats[0].mId = "normalized"; + outStats[0].mAvg = lNrmAverage; + outStats[0].mStd = lNrmStdError; + outStats[0].mMax = lMaxNrm; + outStats[0].mMin = lMinNrm; + + outStats[1].mId = "adjusted"; + outStats[1].mAvg = lAdjAverage; + outStats[1].mStd = lAdjStdError; + outStats[1].mMax = lMaxAdj; + outStats[1].mMin = lMinAdj; + + outStats[2].mId = "standardized"; + outStats[2].mAvg = lStdAverage; + outStats[2].mStd = lStdStdError; + outStats[2].mMax = lMaxStd; + outStats[2].mMin = lMinStd; + + outStats[3].mId = "raw"; + outStats[3].mAvg = lRawAverage; + outStats[3].mStd = lRawStdError; + outStats[3].mMax = lMaxRaw; + outStats[3].mMin = lMinRaw; + + outStats[4].mId = "hits"; + outStats[4].mAvg = lHitAverage; + outStats[4].mStd = lHitStdError; + outStats[4].mMax = (float)lMaxHit; + outStats[4].mMin = (float)lMinHit; + + outStats[5].mId = "treedepth"; + outStats[5].mAvg = lDepthAverage; + outStats[5].mStd = lDepthStdError; + outStats[5].mMax = (float)lMaxDepth; + outStats[5].mMin = (float)lMinDepth; + + outStats[6].mId = "treesize"; + outStats[6].mAvg = lSizeAverage; + outStats[6].mStd = lSizeStdError; + outStats[6].mMax = (float)lMaxSize; + outStats[6].mMin = (float)lMinSize; + Beagle_StackTraceEndM("void GP::StatsCalcFitnessKozaOp::calculateStatsDeme(Beagle::Stats& outStats, Beagle::Deme& ioDeme, Beagle::Context& ioContext) const"); +} + + diff --git a/lib/beagle-3.0.3/beagle/GP/src/StatsCalcFitnessSimpleOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/StatsCalcFitnessSimpleOp.cpp new file mode 100644 index 0000000..de84f28 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/StatsCalcFitnessSimpleOp.cpp @@ -0,0 +1,193 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/StatsCalcFitnessSimpleOp.cpp + * \brief Source code of class GP::StatsCalcFitnessSimpleOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a calculate stats operator. + * \param inName Name of the operator. + */ +GP::StatsCalcFitnessSimpleOp::StatsCalcFitnessSimpleOp(Beagle::string inName) : + Beagle::StatsCalcFitnessSimpleOp(inName) +{ } + + +/*! + * \brief Calculate statistics of a given GP deme. + * \param outStats Evaluated statistics. + * \param ioDeme Deme to evalute the statistics. + * \param ioContext Context of the evolution. + */ +void GP::StatsCalcFitnessSimpleOp::calculateStatsDeme(Beagle::Stats& outStats, + Beagle::Deme& ioDeme, + Beagle::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + outStats.clear(); + outStats.clearItems(); + outStats.addItem("processed", ioContext.getProcessedDeme()); + outStats.addItem("total-processed", ioContext.getTotalProcessedDeme()); + + if(ioDeme.size() == 0) { + outStats.setGenerationValues(string("deme")+uint2str(ioContext.getDemeIndex()+1), + ioContext.getGeneration(), 0, true); + outStats.resize(3); + outStats[0].mId = "fitness"; + outStats[0].mAvg = 0.0; + outStats[0].mStd = 0.0; + outStats[0].mMax = 0.0; + outStats[0].mMin = 0.0; + + outStats[1].mId = "treedepth"; + outStats[1].mAvg = 0.0; + outStats[1].mStd = 0.0; + outStats[1].mMax = 0.0; + outStats[1].mMin = 0.0; + + outStats[2].mId = "treesize"; + outStats[2].mAvg = 0.0; + outStats[2].mStd = 0.0; + outStats[2].mMax = 0.0; + outStats[2].mMin = 0.0; + return; + } + + const GP::Deme& lGPDeme = castObjectT(ioDeme); + const FitnessSimple::Handle lFirstIndivFitness = + castHandleT(ioDeme[0]->getFitness()); + + if(ioDeme.size() == 1) { + outStats.setGenerationValues(string("deme")+uint2str(ioContext.getDemeIndex()+1), + ioContext.getGeneration(), 1, true); + outStats.resize(3); + outStats[0].mId = "fitness"; + outStats[0].mAvg = lFirstIndivFitness->getValue(); + outStats[0].mStd = 0.0; + outStats[0].mMax = lFirstIndivFitness->getValue(); + outStats[0].mMin = lFirstIndivFitness->getValue(); + + outStats[1].mId = "treedepth"; + outStats[1].mAvg = lGPDeme[0]->getMaxTreeDepth(); + outStats[1].mStd = 0.0; + outStats[1].mMax = outStats[1].mAvg; + outStats[1].mMin = outStats[1].mAvg; + + outStats[2].mId = "treesize"; + outStats[2].mAvg = lGPDeme[0]->getTotalNodes(); + outStats[2].mStd = 0.0; + outStats[2].mMax = outStats[2].mAvg; + outStats[2].mMin = outStats[2].mAvg; + return; + } + + double lSum = (double)lFirstIndivFitness->getValue(); + double lPow2Sum = pow2Of((double)lFirstIndivFitness->getValue()); + double lMax = lFirstIndivFitness->getValue(); + double lMin = lFirstIndivFitness->getValue(); + + unsigned int lMaxDepth = lGPDeme[0]->getMaxTreeDepth(); + unsigned int lMinDepth = lMaxDepth; + double lSumDepth = (double)lMaxDepth; + double lPow2SumDepth = pow2Of(lSumDepth); + unsigned int lMaxSize = lGPDeme[0]->getTotalNodes(); + unsigned int lMinSize = lMaxSize; + double lSumSize = (double)lMaxSize; + double lPow2SumSize = pow2Of(lSumSize); + + for(unsigned int i=1; i(ioDeme[i]->getFitness()); + lSum += (double)lIndivFitness->getValue(); + lPow2Sum += pow2Of((double)lIndivFitness->getValue()); + lMax = maxOf(lMax, (double)lIndivFitness->getValue()); + lMin = minOf(lMin, (double)lIndivFitness->getValue()); + + unsigned int lTmpDepth = lGPDeme[i]->getMaxTreeDepth(); + lSumDepth += (double)lTmpDepth; + lPow2SumDepth += pow2Of((double)lTmpDepth); + lMaxDepth = maxOf(lMaxDepth, lTmpDepth); + lMinDepth = minOf(lMinDepth, lTmpDepth); + + unsigned int lTmpSize = lGPDeme[i]->getTotalNodes(); + lSumSize += (double)lTmpSize; + lPow2SumSize += pow2Of((double)lTmpSize); + lMaxSize = maxOf(lMaxSize, lTmpSize); + lMinSize = minOf(lMinSize, lTmpSize); + } + + double lAverage = lSum / ioDeme.size(); + double lStdError = (lPow2Sum - (pow2Of(lSum)/ioDeme.size())) / (ioDeme.size()-1); + lStdError = sqrt(lStdError); + + float lDepthAverage = (float)(lSumDepth / lGPDeme.size()); + float lDepthStdError = + (float)(lPow2SumDepth - (pow2Of(lSumDepth) / lGPDeme.size())) / (lGPDeme.size() - 1); + lDepthStdError = sqrt(lDepthStdError); + + float lSizeAverage = (float)(lSumSize / lGPDeme.size()); + float lSizeStdError = + (float)(lPow2SumSize - (pow2Of(lSumSize) / lGPDeme.size())) / (lGPDeme.size() - 1); + lSizeStdError = sqrt(lSizeStdError); + + outStats.setGenerationValues(string("deme")+uint2str(ioContext.getDemeIndex()+1), + ioContext.getGeneration(), + ioDeme.size(), + true); + outStats.resize(3); + outStats[0].mId = "fitness"; + outStats[0].mAvg = lAverage; + outStats[0].mStd = lStdError; + outStats[0].mMax = lMax; + outStats[0].mMin = lMin; + + outStats[1].mId = "treedepth"; + outStats[1].mAvg = lDepthAverage; + outStats[1].mStd = lDepthStdError; + outStats[1].mMax = (float)lMaxDepth; + outStats[1].mMin = (float)lMinDepth; + + outStats[2].mId = "treesize"; + outStats[2].mAvg = lSizeAverage; + outStats[2].mStd = lSizeStdError; + outStats[2].mMax = (float)lMaxSize; + outStats[2].mMin = (float)lMinSize; + Beagle_StackTraceEndM("void GP::StatsCalcFitnessSimpleOp::calculateStatsDeme(Beagle::Stats& outStats, Beagle::Deme& ioDeme, Beagle::Context& ioContext) const"); +} diff --git a/lib/beagle-3.0.3/beagle/GP/src/System.cpp b/lib/beagle-3.0.3/beagle/GP/src/System.cpp new file mode 100644 index 0000000..5b56993 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/System.cpp @@ -0,0 +1,210 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/System.cpp + * \brief Implementation of the type GP::System. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.13.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a new GP system. + */ +GP::System::System() : + Beagle::System(new GP::Context::Alloc), + mPrimitiveSuperSet(new GP::PrimitiveSuperSet) +{ + Beagle_StackTraceBeginM(); + addComponent(mPrimitiveSuperSet); + addComponent(new ModuleVectorComponent); + Beagle_StackTraceEndM("GP::System::System()"); +} + + +/*! + * \brief Construct a new GP system. + * \param inSuperSet Handle to the primitive super set to use. + */ +GP::System::System(GP::PrimitiveSuperSet::Handle inSuperSet) : + Beagle::System(new GP::Context::Alloc), + mPrimitiveSuperSet(inSuperSet) +{ + Beagle_StackTraceBeginM(); + addComponent(mPrimitiveSuperSet); + addComponent(new ModuleVectorComponent); + Beagle_StackTraceEndM("GP::System::System(GP::PrimitiveSuperSet::Handle inSuperSet)"); +} + + +/*! + * \brief Construct a new GP system. + * \param inSuperSet Handle to the primitive super set to use. + * \param inGPContextAllocator Context allocator to use. + */ +GP::System::System(GP::PrimitiveSuperSet::Handle inSuperSet, + Beagle::Context::Alloc::Handle inGPContextAllocator) : + Beagle::System(inGPContextAllocator), + mPrimitiveSuperSet(inSuperSet) +{ + Beagle_StackTraceBeginM(); + addComponent(mPrimitiveSuperSet); + addComponent(new ModuleVectorComponent); + Beagle_StackTraceEndM("GP::System::System(GP::PrimitiveSuperSet::Handle inSuperSet, Beagle::Context::Alloc::Handle inGPContextAllocator)"); +} + + +/*! + * \brief Construct a new GP system. + * \param inSuperSet Handle to the primitive super set to use. + * \param inGPContextAllocator Context allocator to use. + * \param inRandomizer Handle to the randomizer used. + * \param inRegister Handle to the register used. + * \param inLogger Handle to the logger used. + * \param inModuleVector Module vector component to use. + */ +GP::System::System(GP::PrimitiveSuperSet::Handle inSuperSet, + Beagle::Context::Alloc::Handle inGPContextAllocator, + Randomizer::Handle inRandomizer, + Register::Handle inRegister, + Logger::Handle inLogger, + GP::ModuleVectorComponent::Handle inModuleVector) : + Beagle::System(inGPContextAllocator, inRandomizer, inRegister, inLogger), + mPrimitiveSuperSet(inSuperSet) +{ + Beagle_StackTraceBeginM(); + addComponent(mPrimitiveSuperSet); + addComponent(inModuleVector); + Beagle_StackTraceEndM("GP::System::System(GP::PrimitiveSuperSet::Handle inSuperSet, Beagle::Context::Alloc::Handle inGPContextAllocator, Randomizer::Handle inRandomizer, Register::Handle inRegister, Logger::Handle inLogger, GP::ModuleVectorComponent::Handle inModuleVector)"); +} + + +/*! + * \brief Construct a new GP system. + * \param inSet Handle to the primitive set to use. + */ +GP::System::System(GP::PrimitiveSet::Handle inSet) : + Beagle::System(new GP::Context::Alloc), + mPrimitiveSuperSet(new PrimitiveSuperSet) +{ + Beagle_StackTraceBeginM(); + addComponent(mPrimitiveSuperSet); + mPrimitiveSuperSet->insert(inSet); + addComponent(new ModuleVectorComponent); + Beagle_StackTraceEndM("GP::System::System(GP::PrimitiveSet::Handle inSet)"); +} + + +/*! + * \brief Construct a new GP system. + * \param inSet Handle to the primitive set to use. + * \param inGPContextAllocator Context allocator to use. + */ +GP::System::System(GP::PrimitiveSet::Handle inSet, + Beagle::Context::Alloc::Handle inGPContextAllocator) : + Beagle::System(inGPContextAllocator), + mPrimitiveSuperSet(new PrimitiveSuperSet) +{ + Beagle_StackTraceBeginM(); + addComponent(mPrimitiveSuperSet); + mPrimitiveSuperSet->insert(inSet); + addComponent(new ModuleVectorComponent); + Beagle_StackTraceEndM("GP::System::System(GP::PrimitiveSet::Handle inSet, Beagle::Context::Alloc::Handle inGPContextAllocator)"); +} + + +/*! + * \brief Construct a new GP system. + * \param inSet Handle to the primitive set to use. + * \param inGPContextAllocator Context allocator to use. + * \param inRandomizer Handle to the randomizer used. + * \param inRegister Handle to the register used. + * \param inLogger Handle to the logger used. + * \param inModuleVector Module vector component to use. + */ +GP::System::System(GP::PrimitiveSet::Handle inSet, + Beagle::Context::Alloc::Handle inGPContextAllocator, + Randomizer::Handle inRandomizer, + Register::Handle inRegister, + Logger::Handle inLogger, + GP::ModuleVectorComponent::Handle inModuleVector) : + Beagle::System(inGPContextAllocator, inRandomizer, inRegister, inLogger), + mPrimitiveSuperSet(new PrimitiveSuperSet) +{ + Beagle_StackTraceBeginM(); + addComponent(mPrimitiveSuperSet); + mPrimitiveSuperSet->insert(inSet); + addComponent(inModuleVector); + Beagle_StackTraceEndM("GP::System::System(GP::PrimitiveSet::Handle inSet, Beagle::Context::Alloc::Handle inGPContextAllocator, Randomizer::Handle inRandomizer, Register::Handle inRegister, Logger::Handle inLogger, GP::ModuleVectorComponent::Handle inModuleVector)"); +} + + +/*! + * \brief Read evolutionary system from XML subtree. + * \param inIter XML iterator used to read system. + */ +void GP::System::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="System")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + // First reading pass, read randomizer, register, logger and primitive super set. + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == PACC::XML::eData) { + if(lChild->getValue() == "Randomizer") mRandomizer->readWithSystem(lChild, *this); + else if(lChild->getValue() == "Register") mRegister->readWithSystem(lChild, *this); + else if(lChild->getValue() == "Logger") mLogger->readWithSystem(lChild, *this); + else if(lChild->getValue() == "PrimitiveSuperSet") + mPrimitiveSuperSet->readWithSystem(lChild, *this); + } + } + + // Second reading pass, read other components. + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == PACC::XML::eData) { + if((lChild->getValue() != "Randomizer") && + (lChild->getValue() != "Register") && + (lChild->getValue() != "Logger") && + (lChild->getValue() != "PrimitiveSuperSet")) { + if(find(lChild->getValue().c_str())==end()) + throw Beagle_ObjectExceptionM(string("The component named \"")+ + string(lChild->getValue().c_str())+ + string("\" is not present in the system.")); + (*this)[lChild->getValue().c_str()]->readWithSystem(lChild, *this); + } + } + } + Beagle_StackTraceEndM("void GP::System::read(PACC::XML::ConstIterator inIter)"); +} + diff --git a/lib/beagle-3.0.3/beagle/GP/src/TermMaxHitsOp.cpp b/lib/beagle-3.0.3/beagle/GP/src/TermMaxHitsOp.cpp new file mode 100644 index 0000000..8818adc --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/TermMaxHitsOp.cpp @@ -0,0 +1,166 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/TermMaxHitsOp.cpp + * \brief Implementation of the class TermMaxHitsOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.11.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a new TermMaxHitsOp termination operator. + * \param inMaxHits Number of hits required to stop the evolution. + * \param inName Name of the evaluation operator. + */ +GP::TermMaxHitsOp::TermMaxHitsOp(unsigned int inMaxHits, Beagle::string inName) : + TerminationOp(inName), + mMaxHits(NULL), + mMaxHitsDefault(inMaxHits) +{ } + + +/*! + * \brief Initialize the TermMaxHitsOp termination operator. + * \param ioSystem System used to initialize the operator. + */ +void GP::TermMaxHitsOp::initialize(Beagle::System& ioSystem) +{ + Beagle_StackTraceBeginM(); + TerminationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("gp.term.maxhits")) { + mMaxHits = castHandleT(ioSystem.getRegister()["gp.term.maxhits"]); + } + else { + mMaxHits = new UInt(mMaxHitsDefault); + std::ostringstream lOSS; + lOSS << "Number of hits required in an individual "; + lOSS << "in order for the evolution process to terminate. "; + lOSS << "If 0, termination criteria is ignored."; + Register::Description lDescription( + "Max hits term criterion", + "UInt", + uint2str(mMaxHitsDefault), + lOSS.str().c_str() + ); + ioSystem.getRegister().addEntry("gp.term.maxhits", mMaxHits, lDescription); + } + Beagle_StackTraceEndM("void GP::TermMaxHitsOp::initialize(Beagle::System& ioSystem)"); +} + + +/*! + * \brief Read a max hits termination operator from a XML subtree. + * \param inIter XML iterator from which the operator is read. + * \param inOpMap Operator map to use to read operator. + * \throw IOException If a reading error occurs. + */ +void GP::TermMaxHitsOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string lHitsStr = inIter->getAttribute("hits").c_str(); + if(lHitsStr.empty() == false) { + mMaxHitsDefault = str2uint(lHitsStr); + if(mMaxHits != NULL) mMaxHits->getWrappedValue() = mMaxHitsDefault; + } + Beagle_StackTraceEndM("void GP::TermMaxHitsOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Check if the evolution must terminate. + * \param inDeme Actual deme of the evolution. + * \param ioContext Actual evolution context. + * \return True if the ending criterion is reached, false if not. + */ +bool GP::TermMaxHitsOp::terminate(const Beagle::Deme& inDeme, Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(mMaxHits->getWrappedValue() == 0) return false; + for(unsigned int i=0; i(inDeme[i]->getFitness()); + if(mMaxHits->getWrappedValue() <= lFitness->getHits()) { + Beagle_LogInfoM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::GP::TermMaxHitsOp", + string("Maximum number of hits (") + + uint2str(mMaxHits->getWrappedValue()) + + string(") termination criterion reached") + ); + Beagle_LogInfoM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::GP::TermMaxHitsOp", + string("The ")+uint2ordinal(i+1) + + string(" individual of the deme has ") + + uint2str(lFitness->getHits())+string(" hits") + ); + return true; + } + } + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::GP::TermMaxHitsOp", + string("Maximum number of hits (") + + uint2str(mMaxHits->getWrappedValue()) + + string(") termination criterion not reached") + ); + return false; + Beagle_StackTraceEndM("bool GP::TermMaxHitsOp::terminate(const Beagle::Deme& inDeme, Beagle::Context& ioContext)"); +} + + +/*! + * \brief Write an max hits termination operator into a XML stream. + * \param ioStreamer XML streamer in which the operator is written. + * \param inIndent Whether XML output should be indented. + */ +void GP::TermMaxHitsOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag(getName().c_str(), inIndent); + if(mMaxHits != NULL) ioStreamer.insertAttribute("hits", uint2str(mMaxHits->getWrappedValue())); + else ioStreamer.insertAttribute("hits", uint2str(mMaxHitsDefault)); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void GP::TermMaxHitsOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + diff --git a/lib/beagle-3.0.3/beagle/GP/src/Tree.cpp b/lib/beagle-3.0.3/beagle/GP/src/Tree.cpp new file mode 100644 index 0000000..32b53d1 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Tree.cpp @@ -0,0 +1,547 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Tree.cpp + * \brief Implementation of the type GP::Tree. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.30.2.2 $ + * $Date: 2007/09/10 18:24:11 $ + */ + +#include "beagle/GP.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a GP node. + * \param inPrimitive Handle to the primitive refered by the node. + * \param inSubTreeSize Sub-tree size, including actual node. + */ +GP::Node::Node(GP::Primitive::Handle inPrimitive, unsigned int inSubTreeSize) : + mPrimitive(inPrimitive), + mSubTreeSize(inSubTreeSize) +{ } + + +/*! + * \brief Compare equality of two GP tree's nodes. + * \param inRightNode Right node to be compare to. + * \return True if nodes are identical, false if not. + */ +bool GP::Node::operator==(const GP::Node& inRightNode) const +{ + Beagle_StackTraceBeginM(); + return (mPrimitive == inRightNode.mPrimitive) && (mSubTreeSize == inRightNode.mSubTreeSize); + Beagle_StackTraceEndM("bool GP::Node::operator==(const GP::Node& inRightNode) const"); +} + + +/*! + * \brief Construct a GP tree of the size given. + * \param inSize Size of the tree. + * \param inPrimitiveSetIndex Index of the primitive set associated to the current GP tree. + * \param inNumberArguments Number of ADF arguments of the GP tree. + */ +GP::Tree::Tree(unsigned int inSize, + unsigned int inPrimitiveSetIndex, + unsigned int inNumberArguments) : +#ifdef BEAGLE_HAVE_RTTI + std::vector< Node,BEAGLE_STLALLOCATOR >(inSize), + mPrimitiveSetIndex(inPrimitiveSetIndex), + mNumberArguments(inNumberArguments), + mRootType(NULL) +#else // BEAGLE_HAVE_RTTI + std::vector< Node,BEAGLE_STLALLOCATOR >(inSize), + mPrimitiveSetIndex(inPrimitiveSetIndex), + mNumberArguments(inNumberArguments) +#endif // BEAGLE_HAVE_RTTI +{ } + + +/*! + * \brief Fixes the 'mSubTreeSize' field of the subtree starting at + * inNodeIndex. (Defaults to fixing the entire tree.) + * \param inNodeIndex The first node of the subtree to fix. + * \return The size of the fixed subtree + */ +unsigned int GP::Tree::fixSubTreeSize(unsigned int inNodeIndex) +{ + Beagle_StackTraceBeginM(); + // Check if this is a terminal + const unsigned int lNumArgs = + (*this)[inNodeIndex].mPrimitive->getNumberArguments(); + if(lNumArgs==0) { + // This is a terminal + (*this)[inNodeIndex].mSubTreeSize = 1; + return 1; + } + else { + // This is a branch + // Loop through the args, correcting each of those + unsigned int lSubTreeSize = 1; + unsigned int lNodeIndex = inNodeIndex+1; + for(unsigned int i=0; igetRootType(); + return mRootType; + Beagle_StackTraceEndM("const std::type_info* GP::Tree::getRootType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Return number of nodes of GP tree. + * \return Number of nodes of GP tree. + */ +unsigned int GP::Tree::getSize() const +{ + Beagle_StackTraceBeginM(); + return size(); + Beagle_StackTraceEndM("unsigned int GP::Tree::getSize() const"); +} + + +/*! + * \brief Get the maximum depth of a sub-tree. + * \param inNodeIndex Index of the node root to the sub-tree. + * \return Depth to the given sub-tree. + * \throw Beagle::AssertException If the node index given is to out-of-bound. + */ +unsigned int GP::Tree::getTreeDepth(unsigned int inNodeIndex) const +{ + Beagle_StackTraceBeginM(); + // Check if there aren't any nodes in the tree + if(size()==0) return 0; + + Beagle_UpperBoundCheckAssertM(inNodeIndex,size()-1); + unsigned int lDepth = 1; + unsigned int lChildNodeIndex = inNodeIndex + 1; + for(unsigned int i=0; i<(*this)[inNodeIndex].mPrimitive->getNumberArguments(); i++) { + unsigned int lChildDepth = getTreeDepth(lChildNodeIndex); + lDepth = maxOf(lDepth, lChildDepth+1); + lChildNodeIndex += (*this)[lChildNodeIndex].mSubTreeSize; + } + return lDepth; + Beagle_StackTraceEndM("unsigned int GP::Tree::getTreeDepth(unsigned int inNodeIndex) const"); +} + + +/*! + * \brief Interpret the GP tree. + * \param outResult Datum containing the result of the interpretation. + * \param ioContext GP evolutionary context. + * \throw Beagle::ObjectException When tree is empty or not in contextual individual. + * \throw Beagle::AssertException When the contextual individual is a NULL pointer. + * \throw Beagle::GP::MaxNodesExecutionException If number of nodes execution is more than allowed. + * \throw Beagle::GP::MaxTimeExecutionException If elapsed execution time is more than allowed. + */ +void GP::Tree::interpret(GP::Datum& outResult, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(empty()) throw Beagle_ObjectExceptionM("Could not interpret, tree is empty!"); + GP::Individual::Handle lIndiv = ioContext.getIndividualHandle(); + if(lIndiv == NULL) + throw Beagle_RunTimeExceptionM(string("GP::Tree::interpret(): The handle to the current ")+ + string("individual is NULL. This handle is obtained from the Context. The most likely ")+ + string("cause of this error is that the Context has not been set correctly. Consider ")+ + string("Context::setIndividualHandle().")); + + // Check that this tree is part of the individual specified in the Context + unsigned int lTreeIndex = 0; + for(; lTreeIndex < lIndiv->size(); lTreeIndex++) { + if(this == (*lIndiv)[lTreeIndex].getPointer()) break; + } + if(lTreeIndex == lIndiv->size()) + throw Beagle_ObjectExceptionM("Interpreted tree is not in the actual individual of the context!"); + + Tree::Handle lOldTreeHandle = ioContext.getGenotypeHandle(); + unsigned int lOldTreeIndex = ioContext.getGenotypeIndex(); + ioContext.setGenotypeIndex(lTreeIndex); + ioContext.setGenotypeHandle(Handle(this)); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "gptree", "Beagle::GP::Tree", + string("Interpreting the ")+uint2ordinal(lTreeIndex+1)+ + string(" tree of the ")+uint2ordinal(ioContext.getIndividualIndex()+1)+ + string(" individual") + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "gptree", "Beagle::GP::Tree", + string("The tree is: ")+ioContext.getGenotype().serialize() + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "gptree", "Beagle::GP::Tree", + string("Executing the tree root node \"")+ + (*this)[0].mPrimitive->getName()+"\"" + ); + ioContext.setNodesExecutionCount(0); + ioContext.incrementNodesExecuted(); + ioContext.getExecutionTimer().reset(); + ioContext.pushCallStack(0); + (*this)[0].mPrimitive->execute(outResult, ioContext); + ioContext.popCallStack(); + ioContext.checkExecutionTime(); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "gptree", "Beagle::GP::Tree", + string("Result of executing the ")+uint2ordinal(ioContext.getGenotypeIndex()+1)+string(" tree: ")+outResult.serialize() + ); + ioContext.setGenotypeIndex(lOldTreeIndex); + ioContext.setGenotypeHandle(lOldTreeHandle); + Beagle_StackTraceEndM("void GP::Tree::interpret(GP::Datum& outResult, GP::Context& ioContext)"); +} + + +/*! + * \brief Compare the equality of two GP trees. + * \param inRightObj Right tree to be compare to tha actual one. + * \return True if the trees are identical, false if not. + */ +bool GP::Tree::isEqual(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const GP::Tree& lRightTree = castObjectT(inRightObj); + if(size() != lRightTree.size()) return false; + return std::equal(begin(), end(), lRightTree.begin()); + Beagle_StackTraceEndM("bool GP::Tree::isEqual(const Object& inRightObj) const"); +} + + +/*! + * \brief Read a GP tree from an XML subtree. + * \param inIter XML iterator to use to read the tree from. + * \param ioContext Context to use to read the tree. + */ +void GP::Tree::readWithContext(PACC::XML::ConstIterator inIter, Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + GP::Context& lGPContext = castObjectT(ioContext); + + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Genotype")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + string lType = inIter->getAttribute("type").c_str(); + if(lType.empty()) + throw Beagle_IOExceptionNodeM(*inIter, "GP tree type of the genotype is not present!"); + if(lType != "gptree") + throw Beagle_IOExceptionNodeM(*inIter, string("type of genotype mismatch, expected ") + +string("\"gptree\" but read \"")+lType+string("\" instead!")); + + // Get primitive set index + string lPrimitiveSetIndexText = inIter->getAttribute("primitiveSetIndex").c_str(); + if(lPrimitiveSetIndexText.empty()) { + // No primitive set index was specified. This must be an old + // tree. Assume index is equal to tree's index + unsigned int lGenotypeIndex = ioContext.getGenotypeIndex(); + if(lGenotypeIndex >= lGPContext.getSystem().getPrimitiveSuperSet().size()) { + throw Beagle_RunTimeExceptionM(string("In GP::Tree::readWithContext(): The ")+ + string("'primitiveSetIndex' attribute was missing from an individual's genotype. ")+ + string("It would normally be assumed that such a tree was to be mapped to the ")+ + string("primitive set of the same index as the genotype. In this case that would ")+ + string("result in an incorrect mapping because there are not enough primitive sets ")+ + string("in the System. Perhaps this individual was not intended to be read with the ")+ + string("current set of primitive sets?")); + } + setPrimitiveSetIndex(lGenotypeIndex); + } + else { + // primitiveSetIndex is a valid attribute. + unsigned int lPrimitiveSetIndex = str2uint(lPrimitiveSetIndexText); + if(lPrimitiveSetIndex >= lGPContext.getSystem().getPrimitiveSuperSet().size()) { + string lMessage = string("In GP::Tree::readWithContext(): The 'primitiveSetIndex' ")+ + string("attribute contained the value '") + lPrimitiveSetIndexText + + string("' which was read as the number '") + uint2str(lPrimitiveSetIndex) + + string("'. This value is incorrect as there are not enough primitive sets in the ")+ + string("System. Perhaps this individual was not intended to be read with the current ")+ + string("set of primitive sets?"); + throw Beagle_RunTimeExceptionM(lMessage); + } + setPrimitiveSetIndex(lPrimitiveSetIndex); + } + + // Get numberArguments attribute + string lNumberArgumentsText = inIter->getAttribute("numberArguments").c_str(); + if(lNumberArgumentsText.empty()) { + // numberArguments attribute wasn't defined. This must be an old + // tree. Assume the number of arguments is zero. + setNumberArguments(0); + } + else { + // numberArguments is a valid attribute. + setNumberArguments(str2uint(lNumberArgumentsText)); + } + + // Get size attribute and reserve size accordingly + string lSizeText = inIter->getAttribute("size").c_str(); + if(lSizeText.empty()==false) reserve(str2uint(lSizeText)); + + PACC::XML::ConstIterator lChild = inIter->getFirstChild(); + if((!lChild) || (lChild->getType()!=PACC::XML::eData)) + throw Beagle_IOExceptionNodeM(*lChild, "expected a XML tag for the GP tree!"); + + clear(); + readSubTree(lChild, lGPContext); + Beagle_StackTraceEndM("void GP::Tree::readWithContext(PACC::XML::ConstIterator inIter, Beagle::Context& ioContext)"); +} + + +/*! + * \brief Read a GP subtree from a XML subtree. + * \param inIter XML iterator to read GP tree from. + * \param ioContext Context to use to map the node to the appropriate primitive. + * \return Read subtree size. + * \throw Beagle::InternalException When the the tree format is incorrect. + */ +unsigned int GP::Tree::readSubTree(PACC::XML::ConstIterator inIter, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(inIter->getType() != PACC::XML::eData) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + GP::PrimitiveSuperSet& lPrimitiveSuperSet = + ioContext.getSystem().getPrimitiveSuperSet(); + if(lPrimitiveSuperSet.empty()) { + throw Beagle_RunTimeExceptionM(string("There are no primitive sets in the primitive ")+ + string("super set. Consider Beagle::GP::PrimitiveSuperSet::insert() and Beagle::")+ + string("GP::PrimitiveSet. For more help, see the examples provided with Beagle.")); + } + + unsigned int lPrimitiveSetIndex = getPrimitiveSetIndex(); + if(lPrimitiveSetIndex >= lPrimitiveSuperSet.size()) { + throw Beagle_RunTimeExceptionM(string("While attempting to read a tree, the ")+ + string("primitiveSetIndex of the tree was discovered to be larger than the number of ")+ + string("PrimitiveSets in the PrimitiveSuperSet. This tree can only be read when there ")+ + string("are sufficient PrimitiveSets in the super set.")); + } + GP::PrimitiveSet::Handle lPrimitiveSet = lPrimitiveSuperSet[lPrimitiveSetIndex]; + + GP::Primitive::Handle lPrimitive = lPrimitiveSet->getPrimitiveByName(inIter->getValue().c_str()); + if(lPrimitive == NULL) { + std::ostringstream lOSS; + lOSS << "no primitive named \"" << inIter->getValue(); + lOSS << "\" found in the primitive set"; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + unsigned int lNodeIdx = size(); + + unsigned int lNbArgs = 0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == PACC::XML::eData) ++lNbArgs; + } + GP::Primitive::Handle lNewReference = lPrimitive->giveReference(lNbArgs, ioContext); + if(lNewReference==NULL) { + std::ostringstream lOSS; + lOSS << "While reading a subtree, a primitive (named \""; + lOSS << inIter->getValue() << "\") gave an unexpected NULL reference."; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + push_back(Node(lNewReference, 0)); + (*this)[lNodeIdx].mPrimitive->readWithContext(inIter, ioContext); + + unsigned int lSubTreeSize = 1; + unsigned int lNbrGPChild = 0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == PACC::XML::eData) { + lSubTreeSize += readSubTree(lChild, ioContext); + ++lNbrGPChild; + } + } + if(lNbrGPChild != (*this)[lNodeIdx].mPrimitive->getNumberArguments()) { + std::ostringstream lOSS; + lOSS << "number of arguments stated by the GP primitives ("; + lOSS << (*this)[lNodeIdx].mPrimitive->getNumberArguments(); + lOSS << ") mismatch the number of arguments read for the GP node ("; + lOSS << lNbrGPChild << ")!"; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + (*this)[lNodeIdx].mSubTreeSize = lSubTreeSize; + return lSubTreeSize; + Beagle_StackTraceEndM("unsigned int GP::Tree::readSubTree(PACC::XML::ConstIterator inIter, GP::Context& ioContext)"); +} + + +/*! + * \brief Set the context to the node given. + * \param inNodeIndex Index of the node to use to set the context. + * \param ioContext Evolutionary context to set to the given node. + * \throw Beagle::AssertException If the tree is in a bad state. + */ +void GP::Tree::setContextToNode(unsigned int inNodeIndex, GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + if(inNodeIndex >= size()) { + throw Beagle_RunTimeExceptionM(string("In GP::Tree::setContextToNode(): Failed to set ")+ + string("the context to the ")+uint2ordinal(inNodeIndex+1)+ + string(" node because there are only ")+uint2str(size())+ + string(" nodes in this tree.")); + } + ioContext.emptyCallStack(); + unsigned int lIndex = 0; + ioContext.pushCallStack(lIndex); + while(lIndex < inNodeIndex) { + unsigned int lChildIndex = lIndex + 1; + unsigned int lArgument=0; + for(; lArgument<(*this)[lIndex].mPrimitive->getNumberArguments(); lArgument++) { + if((lChildIndex+(*this)[lChildIndex].mSubTreeSize) > inNodeIndex) break; + lChildIndex += (*this)[lChildIndex].mSubTreeSize; + } + Beagle_AssertM(lArgument < (*this)[lIndex].mPrimitive->getNumberArguments()); + Beagle_AssertM(lChildIndex < size()); + lIndex = lChildIndex; + ioContext.pushCallStack(lIndex); + } + Beagle_AssertM(lIndex == inNodeIndex); + Beagle_StackTraceEndM("void GP::Tree::setContextToNode(unsigned int inNodeIndex, GP::Context& ioContext) const"); +} + + +/*! + * \brief Validate the topology of a sub-tree the a given node. + * \param inNodeIndex Index in the tree of the root node of the sub-tree to validate. + * \param ioContext Evolutionary context. + * \throw Beagle::AssertException When the evolutionary context is badly configured. + */ +bool GP::Tree::validateSubTree(unsigned int inNodeIndex, GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inNodeIndex < size()); + Beagle_AssertM(inNodeIndex == ioContext.getCallStackTop()); + if((*this)[inNodeIndex].mPrimitive->validate(ioContext) == false) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "tree", "Beagle::GP::Tree", + string("Subtree validation failed because the primitive (\"")+ + (*this)[inNodeIndex].mPrimitive->getName()+string("\", ")+ + uint2ordinal(inNodeIndex+1)+string(" node) failed validation.") + ); + return false; + } + unsigned int lChildNodeIndex = inNodeIndex + 1; + for(unsigned int i=0; i<(*this)[inNodeIndex].mPrimitive->getNumberArguments(); i++) { + ioContext.pushCallStack(lChildNodeIndex); + bool lChildValidation = validateSubTree(lChildNodeIndex, ioContext); + ioContext.popCallStack(); + if(lChildValidation == false) return false; + lChildNodeIndex += (*this)[lChildNodeIndex].mSubTreeSize; + } + return true; + Beagle_StackTraceEndM("bool GP::Tree::validateSubTree(unsigned int inNodeIndex, GP::Context& ioContext) const"); +} + + +/*! + * \brief Write a GP tree into a XML streamer. + * \param ioStreamer XML streamer to write the tree into. + * \param inIndent Whether XML output should be indented. + */ +void GP::Tree::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Genotype", inIndent); + ioStreamer.insertAttribute("type", "gptree"); + ioStreamer.insertAttribute("size", uint2str(size())); + ioStreamer.insertAttribute("depth", uint2str(getTreeDepth())); + ioStreamer.insertAttribute("primitSetId", uint2str(getPrimitiveSetIndex())); + ioStreamer.insertAttribute("nbArgs", uint2str(getNumberArguments())); + if(size() > 0) { + unsigned int lSizeSubTree = writeSubTree(ioStreamer, 0, inIndent); + Beagle_AssertM(lSizeSubTree == size()); + } + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void GP::Tree::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + +/*! + * \brief Write a GP sub-tree into a XML streamer. + * \param ioStreamer XML streamer to write the tree into. + * \param inN Index of the actual subtree root node in the vector. + * \param inIndent Whether XML output should be indented. + * \throw Beagle::AssertException When sub-tree size doesn't match. + */ +unsigned int GP::Tree::writeSubTree(PACC::XML::Streamer& ioStreamer, + unsigned int inN, + bool inIndent) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN < size()); + unsigned int lNumberArguments = (*this)[inN].mPrimitive->getNumberArguments(); + ioStreamer.openTag((*this)[inN].mPrimitive->getName().c_str(), inIndent); + (*this)[inN].mPrimitive->writeContent(ioStreamer, inIndent); + unsigned int lSubTreeSize = 1; + for(unsigned int i=0; i(ioDeme); + GP::Context& lContext = castObjectT(ioContext); + + // Store original values. + GP::Individual::Handle lOldIndi = lContext.getIndividualHandle(); + unsigned int lOldIndiIndex = lContext.getIndividualIndex(); + + // Loop through every individual in the deme. + for (unsigned int i=0; ivalidate(lContext)) { + throw Beagle_RunTimeExceptionM("Individual failed validation during ValidateOp check."); + } + } + + Beagle_LogDetailedM( + ioContext.getSystem().getLogger(), + "validate", "Beagle::GP::ValidateOp", + string("Every individual passed validation testing.") + ); + + // Restore original values. + lContext.setIndividualHandle(lOldIndi); + lContext.setIndividualIndex(lOldIndiIndex); + Beagle_StackTraceEndM("void GP::ValidateOp::operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/GP/src/Vivarium.cpp b/lib/beagle-3.0.3/beagle/GP/src/Vivarium.cpp new file mode 100644 index 0000000..66f71de --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Vivarium.cpp @@ -0,0 +1,91 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Vivarium.cpp + * \brief Source code of class GP::Vivarium. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +/*! + * \brief Contruct a vivarium instanciated for standard GP. + */ +GP::Vivarium::Vivarium() : + Beagle::Vivarium(new GP::Deme::Alloc(new GP::Individual::Alloc(new GP::Tree::Alloc))) +{ } + + +/*! + * \brief Contruct a vivarium from a deme allocator. + * \param inDemeAlloc Allocator of GP demes. + */ +GP::Vivarium::Vivarium(GP::Deme::Alloc::Handle inDemeAlloc) : + Beagle::Vivarium(inDemeAlloc) +{ } + + +/*! + * \brief Contruct a vivarium from a deme allocator and a statistics allocator. + * \param inDemeAlloc Allocator of GP demes. + * \param inStatsAlloc Statistics allocator. + * \param inHOFAlloc Hall-of-fame allocator. + * \param inN Number of demes in the vivarium. + */ +GP::Vivarium::Vivarium(GP::Deme::Alloc::Handle inDemeAlloc, + Stats::Alloc::Handle inStatsAlloc, + HallOfFame::Alloc::Handle inHOFAlloc, + unsigned int inN) : + Beagle::Vivarium(inDemeAlloc, inStatsAlloc, inHOFAlloc, inN) +{ } + + +/*! + * \brief Construct a vivarium from a genotype allocator. + * \param inGenotypeAlloc Genotype allocator. + */ +GP::Vivarium::Vivarium(GP::Tree::Alloc::Handle inGenotypeAlloc) : + Beagle::Vivarium(new GP::Deme::Alloc(new GP::Individual::Alloc(inGenotypeAlloc))) +{ } + + +/*! + * \brief Construct a vivarium with a genotype allocator and a fitness allocator. + * \param inGenotypeAlloc Genotype allocator. + * \param inFitnessAlloc Fitness allocator. + */ +GP::Vivarium::Vivarium(GP::Tree::Alloc::Handle inGenotypeAlloc, + Fitness::Alloc::Handle inFitnessAlloc) : + Beagle::Vivarium(new GP::Deme::Alloc(new GP::Individual::Alloc(inGenotypeAlloc, inFitnessAlloc))) +{ } + diff --git a/lib/beagle-3.0.3/beagle/GP/src/Xor.cpp b/lib/beagle-3.0.3/beagle/GP/src/Xor.cpp new file mode 100644 index 0000000..795a8a1 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/GP/src/Xor.cpp @@ -0,0 +1,101 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GP/src/Xor.cpp + * \brief Source code of class GP::Xor. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:07 $ + */ + +#include "beagle/GP.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + +using namespace Beagle; + + +/*! + * \brief Construct a new boolean XOR primitive. + * \param inName Name of the addition primitive. + */ +GP::Xor::Xor(Beagle::string inName) : + Beagle::GP::Primitive(2, inName) +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the tag of the type of data needed as input for the primitive Xor. + * \param inN Index of the argument to get the type tag. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type needed. + * \throw AssertException If the index inN given is greater than 1. + */ +const std::type_info* GP::Xor::getArgType(unsigned int inN, GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inN<2); + return &typeid(Bool); + Beagle_StackTraceEndM("const std::type_info* GP::Xor::getArgType(unsigned int inN, GP::Context& ioContext) const"); +} + + +/*! + * \brief Return the tag of the type of data return by primitive Xor. + * \param ioContext Evolutionary context. + * \return Type_info (RTTI) tagging the data type returned. + */ +const std::type_info* GP::Xor::getReturnType(GP::Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + return &typeid(Bool); + Beagle_StackTraceEndM("const std::type_info* GP::Xor::getReturnType(GP::Context& ioContext) const"); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Execute the characteristic operation of logical AND between two bools. + * \param outResult Result of the logical XOR. + * \param ioContext Evolutionary context. + */ +void GP::Xor::execute(GP::Datum& outResult, GP::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Bool& lResult = castObjectT(outResult); + Bool lArg2; + get1stArgument(lResult, ioContext); + get2ndArgument(lArg2, ioContext); + lResult = lResult != lArg2; + Beagle_StackTraceEndM("void GP::Xor::execute(GP::Datum& outResult, GP::Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/Makefile b/lib/beagle-3.0.3/beagle/Makefile new file mode 100644 index 0000000..9c71f81 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Makefile @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../ +top_builddir = .. +top_srcdir = .. +SUBDIRS = include src GA GP Coev +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/Makefile.am b/lib/beagle-3.0.3/beagle/Makefile.am new file mode 100644 index 0000000..eb6b4b0 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = include src GA GP Coev diff --git a/lib/beagle-3.0.3/beagle/Makefile.in b/lib/beagle-3.0.3/beagle/Makefile.in new file mode 100644 index 0000000..4733664 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/Makefile.in @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = include src GA GP Coev +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/include/Makefile b/lib/beagle-3.0.3/beagle/include/Makefile new file mode 100644 index 0000000..6cdb081 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/Makefile @@ -0,0 +1,711 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/include/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/include +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(gzstream_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(gzstreamdir)" +HEADERS = $(gzstream_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/include +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/include +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +gzstreamdir = $(includedir) +gzstream_HEADERS = gzstream.h +SUBDIRS = beagle +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/include/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/include/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-gzstreamHEADERS: $(gzstream_HEADERS) + @$(NORMAL_INSTALL) + @list='$(gzstream_HEADERS)'; test -n "$(gzstreamdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(gzstreamdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(gzstreamdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(gzstreamdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(gzstreamdir)" || exit $$?; \ + done + +uninstall-gzstreamHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(gzstream_HEADERS)'; test -n "$(gzstreamdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(gzstreamdir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(HEADERS) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(gzstreamdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-gzstreamHEADERS + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-gzstreamHEADERS + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am \ + install-gzstreamHEADERS install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-gzstreamHEADERS + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/include/Makefile.am b/lib/beagle-3.0.3/beagle/include/Makefile.am new file mode 100644 index 0000000..3781abf --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/Makefile.am @@ -0,0 +1,3 @@ +gzstreamdir = $(includedir) +gzstream_HEADERS = gzstream.h +SUBDIRS = beagle diff --git a/lib/beagle-3.0.3/beagle/include/Makefile.in b/lib/beagle-3.0.3/beagle/include/Makefile.in new file mode 100644 index 0000000..e7cc3f6 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/Makefile.in @@ -0,0 +1,711 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/include +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(gzstream_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(gzstreamdir)" +HEADERS = $(gzstream_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +gzstreamdir = $(includedir) +gzstream_HEADERS = gzstream.h +SUBDIRS = beagle +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/include/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/include/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-gzstreamHEADERS: $(gzstream_HEADERS) + @$(NORMAL_INSTALL) + @list='$(gzstream_HEADERS)'; test -n "$(gzstreamdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(gzstreamdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(gzstreamdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(gzstreamdir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(gzstreamdir)" || exit $$?; \ + done + +uninstall-gzstreamHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(gzstream_HEADERS)'; test -n "$(gzstreamdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(gzstreamdir)'; $(am__uninstall_files_from_dir) + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(HEADERS) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(gzstreamdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: install-gzstreamHEADERS + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-gzstreamHEADERS + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am \ + install-gzstreamHEADERS install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-gzstreamHEADERS + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/include/beagle/AbstractAllocT.hpp b/lib/beagle-3.0.3/beagle/include/beagle/AbstractAllocT.hpp new file mode 100644 index 0000000..05ca823 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/AbstractAllocT.hpp @@ -0,0 +1,101 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/AbstractAllocT.hpp + * \brief Definition of abstract templated class AbstractAllocT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.4.2.1 $ + * $Date: 2007/05/09 01:51:08 $ + */ + +#ifndef Beagle_AbstractAllocT_hpp +#define Beagle_AbstractAllocT_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/AllocatorT.hpp" + + +namespace Beagle { + +/*! + * \class AbstractAllocT beagle/AbstractAllocT.hpp "beagle/AbstractAllocT.hpp" + * \brief Abstract templated allocator class. + * \param T Type (abtsract) of object allocated. + * \param BaseType Base type from which the actual allocator type is derived. + * \ingroup OOF + * \ingroup Allocs + * \par Note: + * This class is usually used to define the Alloc type of an abstract Beagle class. + */ +template +class AbstractAllocT : public BaseType { + +public: + + //! AbstractAllocT allocator type. + typedef AbstractAllocT,typename BaseType::Alloc> + Alloc; + //! AbstractAllocT handle type. + typedef PointerT,typename BaseType::Handle> + Handle; + //! AbstractAllocT bag type. + typedef ContainerT,typename BaseType::Bag> + Bag; + + AbstractAllocT() { } + virtual ~AbstractAllocT() { } + + /*! + * \brief Allocate a new object on the heap. + * \return Pointer to the allocated object. + */ + virtual Object* allocate() const =0; + + /*! + * \brief Allocate a new object on the heap that is a clone an existing object. + * \param inOrigObj Constant reference to the original object to clone. + * \return Pointer to the allocated object. + */ + virtual Object* clone(const Object& inOrigObj) const =0; + + /*! + * \brief Copy an object into another. + * \param inOrigObj Constant reference to the original object to copy. + * \param outCopyObj Reference to the object that is a copy of the original. + */ + virtual void copy(Object& outCopyObj, const Object& inOrigObj) const =0; + +}; + +} + +#endif // Beagle_AbstractAllocT_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/AbstractContainerAllocT.hpp b/lib/beagle-3.0.3/beagle/include/beagle/AbstractContainerAllocT.hpp new file mode 100644 index 0000000..c2401af --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/AbstractContainerAllocT.hpp @@ -0,0 +1,169 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/AbstractContainerAllocT.hpp + * \brief Definition of the class template AbstractContainerAllocT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:08 $ + */ + +#ifndef Beagle_AbstractContainerAllocT_hpp +#define Beagle_AbstractContainerAllocT_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" + + +namespace Beagle { + +/*! + * \class AbstractContainerAllocT beagle/AbstractContainerAllocT.hpp + * "beagle/AbstractContainerAllocT.hpp" + * \brief Templated class defining a T-type abstract container allocator. + * \param T The container type allocated. + * \param BaseType The base type from which the actual allocator type is derived. + * \param ContainerTypeAllocType The container's type allocator type. + * \ingroup OOF + * \ingroup Allocs + */ +template +class AbstractContainerAllocT : public BaseType { + +public: + + //! AbstractContainerAllocT allocator type. + typedef AbstractAllocT, + typename BaseType::Alloc> + Alloc; + //! AbstractContainerAllocT handle type. + typedef PointerT, + typename BaseType::Handle> + Handle; + //! AbstractContainerAllocT bag type. + typedef ContainerT, + typename BaseType::Bag> + Bag; + + explicit AbstractContainerAllocT(typename ContainerTypeAllocType::Handle inContainerTypeAlloc=NULL); + virtual ~AbstractContainerAllocT() { } + + /*! + * \brief Allocate a brand new container and the heap. + * \return Pointer to the allocated container. + */ + virtual Object* allocate() const =0; + + /*! + * \brief Allocate a new container on the heap that is a clone an existing container. + * \param inOrigObj Constant reference to the original container to clone. + * \return Pointer to the allocated container. + */ + virtual Object* clone(const Object& inOrigObj) const =0; + + /*! + * \brief Allocate a new container on the heap that is a clone an existing container + * and its data. + * \param inOrigContainer Constant reference to the original container to clone. + * \return Pointer to the allocated container. + */ + virtual Container* cloneData(const Container& inOrigContainer) const =0; + + /*! + * \brief Copy an container into another. + * \param inOrigObj Constant reference to the original container to copy. + * \param outCopyObj Reference to the container that is a copy of the original. + */ + virtual void copy(Object& outCopyObj, const Object& inOrigObj) const =0; + + /*! + * \brief Copy an container into another, with its data. + * \param outCopyContainer Reference to the container that is a copy of the original. + * \param inOrigContainer Constant reference to the original container to copy. + */ + virtual void copyData(Container& outCopyContainer, const Container& inOrigContainer) const =0; + + /*! + * \brief Get the container type allocator. + * \return Constant handle to the container type allocator. + */ + inline const typename ContainerTypeAllocType::Handle getContainerTypeAlloc() const + { + Beagle_StackTraceBeginM(); + return castHandleT(BaseType::mContainerTypeAlloc); + Beagle_StackTraceEndM("const ContainerTypeAllocType::Handle AbstractContainerAllocT::getContainerTypeAlloc() const"); + } + + /*! + * \brief Get the container type allocator. + * \return Handle to the container type allocator. + */ + inline typename ContainerTypeAllocType::Handle getContainerTypeAlloc() + { + Beagle_StackTraceBeginM(); + return castHandleT(BaseType::mContainerTypeAlloc); + Beagle_StackTraceEndM("ContainerTypeAllocType::Handle AbstractContainerAllocT::getContainerTypeAlloc()"); + } + + /*! + * \brief Set the container type allocator. + * \param inContainerTypeAlloc The new container type allocator. + */ + inline void setContainerTypeAlloc(typename ContainerTypeAllocType::Handle inContainerTypeAlloc) + { + Beagle_StackTraceBeginM(); + BaseType::mContainerTypeAlloc = inContainerTypeAlloc; + Beagle_StackTraceEndM("void AbstractContainerAllocT::setContainerTypeAlloc(ContainerTypeAllocType::Handle inContainerTypeAlloc)"); + } + +}; + +} + + +/*! + * \brief Constructor of a T-type container allocator. + * \param inContainerTypeAlloc Type allocator given to the container allocated. + */ +template +Beagle::AbstractContainerAllocT::AbstractContainerAllocT( + typename ContainerTypeAllocType::Handle inContainerTypeAlloc) : + BaseType(inContainerTypeAlloc) +{ } + + +#endif // Beagle_AbstractContainerAllocT_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Allocator.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Allocator.hpp new file mode 100644 index 0000000..5c8ce36 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Allocator.hpp @@ -0,0 +1,128 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Allocator.hpp + * \brief Definition of abstract class Allocator. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.4.2.1 $ + * $Date: 2007/05/09 01:51:08 $ + */ + +/*! + * \defgroup Allocs Allocators + * \ingroup OOF + * \brief Object allocators of the framework, part of the Object Oriented Foundations. + * + * An important design choice that gives flexibility to Open BEAGLE is the allocators, a kind of + * object factory that generates objects in an abstract fashion. An abstract allocator class named + * Beagle::Allocator is implemented to define the methods to create objects on the heap. + * \code + * class Allocator : public Object { + * public: + * virtual Object* allocate() const =0; + * virtual Object* clone(const Object&) const =0; + * virtual void copy(Object&, const Object&) const =0; + * }; + * \endcode + * + * The purpose of the allocators is to provide factory methods to create and clone new types of + * objects derived from Open BEAGLE constituents. With such mechanism, any user could create new type + * of objects that redefine the default one and use associated allocators that return pointers to + * this new type of objects. This mechanism is similar and coherent with the \e Factory \e Method + * design pattern. Usually, an allocator is used to allocate objects through their default + * constructor and clones the objects by calling their copy constructor. An allocator can also copy + * an existing object of a given type into an other. To simplify the task, a simple standard + * parametrized allocator named Beagle::AllocatorT is defined to override the virtual method of the + * abstract class Beagle::Allocator. Like the smart pointers \c Handle type, each component of + * Open BEAGLE has a nested allocator type called \c Alloc. The users are encouraged to define it + * in their classes. + * \code + * class AnyClass : public SuperClass { + * public: + * typedef PointerT Handle; + * typedef AllocatorT Alloc + * }; + * \endcode + * However, the template Beagle::AllocatorT cannot be used to define an \c Alloc type for an + * abstract type. The reason is that the method \c allocate and \c clone cannot be implemented + * to instantiate object of the abstract allocated type. To solve this problem, another templated + * allocator type is implemented, Beagle::AbstractAllocT. This allocator does not define the methods + * \c allocate and \c clone, but is usable in the same way than Beagle::AllocatorT as an allocator + * type for abstract types. + * + */ + + +#ifndef Beagle_Allocator_hpp +#define Beagle_Allocator_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" + + +namespace Beagle { + +// Forward declarations. +template class AbstractAllocT; +template class PointerT; +template class ContainerT; + +/*! + * \class Allocator beagle/Allocator.hpp "beagle/Allocator.hpp" + * \brief Basic Beagle allocator class. + * \ingroup OOF + * \ingroup Allocs + */ +class Allocator : public Object { + +public: + + //! Allocator allocator type. + typedef AbstractAllocT + Alloc; + //! Allocator handle type. + typedef PointerT + Handle; + //! Allocator bag type. + typedef ContainerT + Bag; + + Allocator() { } + virtual ~Allocator() { } + + virtual Object* allocate() const; + virtual Object* clone(const Object& inOrigObj) const; + virtual void copy(Object& outCopyObj, const Object& inOrigObj) const; + +}; + +} + +#endif // Beagle_Allocator_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/AllocatorT.hpp b/lib/beagle-3.0.3/beagle/include/beagle/AllocatorT.hpp new file mode 100644 index 0000000..23e4bf9 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/AllocatorT.hpp @@ -0,0 +1,150 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/AllocatorT.hpp + * \brief Definition of class template AllocatorT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:08 $ + */ + +#ifndef Beagle_AllocatorT_hpp +#define Beagle_AllocatorT_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/castObjectT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/InternalException.hpp" +#include "beagle/BadCastException.hpp" + + +namespace Beagle { + +// Forward declarations. +template class AllocatorT; +template class PointerT; + +/*! + * \class AllocatorT beagle/Allocator.hpp "beagle/Allocator.hpp" + * \brief Templated class defining a T-type allocator. + * \param T Type of object allocated. + * \param BaseType Base type from which the actual allocator type is derived. + * \ingroup OOF + * \ingroup Allocs + */ +template +class AllocatorT : public BaseType { + +public: + + //! AllocatorT allocator type. + typedef AllocatorT,typename BaseType::Alloc> + Alloc; + //! AllocatorT handle type. + typedef PointerT,typename BaseType::Handle> + Handle; + //! AllocatorT bag type. + typedef ContainerT,typename BaseType::Bag> + Bag; + + AllocatorT() { } + virtual ~AllocatorT() { } + + virtual Object* allocate() const; + virtual Object* clone(const Object& inOrigObj) const; + virtual void copy(Object& outCopyObj, const Object& inOrigObj) const; + +}; + +} + + +/*! + * \brief Allocate a new T-type object and the heap. + * \return Pointer to the allocated T-type object. + */ +template +Beagle::Object* Beagle::AllocatorT::allocate() const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + T* lT = new T; + if(!lT) throw Beagle_InternalExceptionM("Out of memory!"); + return lT; +#else // BEAGLE_NDEBUG + return new T; +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object* AllocatorT::allocate() const"); +} + + +/*! + * \brief Allocate a new T-type object on the heap that is a clone an existing object. + * \param inOrigObj Constant reference to the original T-type object to clone. + * \return Pointer to the allocated T-type object. + * \throw BasCastException If the type of the parameter is not as specified. + */ +template +Beagle::Object* Beagle::AllocatorT::clone(const Beagle::Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigObj); + T* lT = new T(lOrigT); + if(!lT) throw Beagle_InternalExceptionM("Out of memory!"); + return lT; +#else // BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigObj); + return new T(lOrigT); +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object* AllocatorT::clone(const Object& inOrigObj) const"); +} + + +/*! + * \brief Copy a T-type object into another. + * \param outCopyObj Constant reference to the original object to copy. + * \param inOrigObj Reference to the object that is a copy of the original. + * \throw BasCastException If the types of the parameters are not as specified. + */ +template +void Beagle::AllocatorT::copy(Beagle::Object& outCopyObj, + const Beagle::Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); + T& lCopyT = castObjectT(outCopyObj); + const T& lOrigT = castObjectT(inOrigObj); + lCopyT = lOrigT; + Beagle_StackTraceEndM("void AllocatorT::copy(Object& outCopyObj, const Object& inOrigObj) const"); +} + + +#endif // Beagle_AllocatorT_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/ArrayT.hpp b/lib/beagle-3.0.3/beagle/include/beagle/ArrayT.hpp new file mode 100644 index 0000000..2fe495a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/ArrayT.hpp @@ -0,0 +1,205 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/ArrayT.hpp + * \brief Definition and implementation of template WrapperT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:08 $ + */ + + +#ifndef Beagle_ArrayT_hpp +#define Beagle_ArrayT_hpp + +#include + +#include "XML.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Exception.hpp" +#include "beagle/castObjectT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/IOException.hpp" + +namespace Beagle { + + +/*! + * \class ArrayT beagle/ArrayT.hpp "beagle/ArrayT.hpp" + * \brief Template of an ArrayT that adapt an array type (std::vector of the parametrized type) +* to the Beagle Object interface. + * \param T The array-ed type. + * \ingroup OOF + * \ingroup Adapt + * + * The array-ed type that is wrapped must have the following operator predefined: + * \li bool operator<(const T&, const T&); to compare strict weak ordering two arrays. + * \li bool operator==(const T&, const T&); to compare equality of two arrays. + * \li std::ostream& operator<<(std::ostream&, const T&); to output the array. + * \li std::istream& operator>>(std::istream&, T&); to input value the array. + */ +template +class ArrayT : public Object, + public std::vector< T,BEAGLE_STLALLOCATOR > { + +public: + + //! ArrayT allocator type. + typedef AllocatorT< ArrayT, Object::Alloc > + Alloc; + //! ArrayT handle type. + typedef PointerT< ArrayT, Object::Handle > + Handle; + //! ArrayT bag type. + typedef ContainerT< ArrayT, Object::Bag > + Bag; + + explicit ArrayT(unsigned int inSize=0); + explicit ArrayT(unsigned int inSize, const T& inModel); + virtual ~ArrayT() { } + + virtual bool isEqual(const Object& inRightObj) const; + virtual bool isLess(const Object& inRightObj) const; + virtual void read(PACC::XML::ConstIterator inIter); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +}; + +} + + +/*! + * \brief Constructor an array of the given size. + * \param inSize Size of the array. + */ +template +Beagle::ArrayT::ArrayT(unsigned int inSize) : + std::vector< T,BEAGLE_STLALLOCATOR >(inSize) +{ } + + +/*! + * \brief Constructor an array of the given size and model. + * \param inSize Size of the array. + * \param inModel Model to use to build the array. + */ +template +Beagle::ArrayT::ArrayT(unsigned int inSize, const T& inModel) : + std::vector< T,BEAGLE_STLALLOCATOR >(inSize, inModel) +{ } + + +/*! + * \brief Compare the equality of two array of a given type. + * \param inRightObj Object reference to the right object to compare. + * \return True if arrays are equal, false if not. + */ +template +bool Beagle::ArrayT::isEqual(const Beagle::Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const Beagle::ArrayT& lLeftArray = castObjectT&>(*this); + const std::vector< T,BEAGLE_STLALLOCATOR >& lLeftVector = lLeftArray; + const Beagle::ArrayT& lRightArray = castObjectT&>(inRightObj); + const std::vector< T,BEAGLE_STLALLOCATOR >& lRightVector = lRightArray; + return (lLeftVector == lRightVector); + Beagle_StackTraceEndM("bool ArrayT::isEqual(const Object& inRightObj) const"); +} + + +/*! + * \brief Get the strict weak order of two wrapper of a given type. + * \param inRightObj Object reference to the right object from which we get the order. + * \return True if left (this) array is less than the right one, false if not. + */ +template +bool Beagle::ArrayT::isLess(const Beagle::Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const Beagle::ArrayT& lLeftArray = castObjectT&>(*this); + const std::vector< T,BEAGLE_STLALLOCATOR >& lLeftVector = lLeftArray; + const Beagle::ArrayT& lRightArray = castObjectT&>(inRightObj); + const std::vector< T,BEAGLE_STLALLOCATOR >& lRightVector = lRightArray; + return (lLeftVector < lRightVector); + Beagle_StackTraceEndM("bool ArrayT::isLess(const Object& inRightObj) const"); +} + + +/*! + * \brief Read a array from a XML iterator. + * \param inIter XML iterator from which the array is read. + * \throw Beagle::IOException If a problem occured during the operation (usually bad format). + */ +template +void Beagle::ArrayT::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + if(inIter->getType()!=PACC::XML::eString) + throw Beagle_IOExceptionNodeM(*inIter,"expected string to read array!"); + std::vector< T,BEAGLE_STLALLOCATOR >::resize(0); + std::istringstream lISS(inIter->getValue()); + while(lISS.good()) { + T lValue; + lISS >> lValue; + std::vector< T,BEAGLE_STLALLOCATOR >::push_back(lValue); + if(lISS.good()==false) break; + int lDelim=lISS.get(); + if((lISS.good()==false) || (lDelim==-1)) break; + } + Beagle_StackTraceEndM("void ArrayT::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Write a array into a XML streamer. + * \param ioStreamer XML streamer into which the array is written. + * \param inIndent Whether XML output should be indented. + */ +template +void Beagle::ArrayT::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + std::ostringstream lOSS; + for(unsigned int i=0; i >::size(); ++i) { + lOSS << (*this)[i]; + if(i != (std::vector< T,BEAGLE_STLALLOCATOR >::size()-1)) lOSS << ','; + } + ioStreamer.insertStringContent(lOSS.str()); + Beagle_StackTraceEndM("void ArrayT::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + +#endif // Beagle_ArrayT_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/AssertException.hpp b/lib/beagle-3.0.3/beagle/include/beagle/AssertException.hpp new file mode 100644 index 0000000..bb79523 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/AssertException.hpp @@ -0,0 +1,168 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/AssertException.hpp + * \brief Definition of class AssertException. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.2 $ + * $Date: 2007/09/10 18:24:11 $ + */ + +#ifndef Beagle_AssertException_hpp +#define Beagle_AssertException_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/TargetedException.hpp" + + +/*! + * \def Beagle_AssertM + * \brief Assert that the condition is true. If not, throw a Beagle::AssertException. + * \param COND Condition to test, to assert. + * \throw Beagle::AssertException The condition is false. + * \ingroup Except + */ +#ifndef BEAGLE_NDEBUG +#define Beagle_AssertM(COND) \ + if( !(COND) ) throw Beagle::AssertException("Assertion failed.",__FILE__,__LINE__) +#else // BEAGLE_NDEBUG +#define Beagle_AssertM(COND) +#endif // BEAGLE_NDEBUG + + +/*! + * \def Beagle_NonNullPointerAssertM + * \brief Assert that the pointer is non null. If not, throw a Beagle::AssertException. + * \param PTR Pointer to test. + * \throw Beagle::AssertException If the pointer is NULL. + * \ingroup Except + */ +#ifndef BEAGLE_NDEBUG +#define Beagle_NonNullPointerAssertM(PTR) \ + if( !(PTR) ) throw Beagle::AssertException("Pointer asserted is NULL.",__FILE__,__LINE__) +#else // BEAGLE_NDEBUG +#define Beagle_NonNullPointerAssertM(PTR) +#endif // BEAGLE_NDEBUG + + +/*! + * \def Beagle_BoundCheckAssertM + * \brief Assert that the bound of a value. + * \param VALUE Value to test. + * \param MIN Minimal value accepted. + * \param MAX Maximal value accepted. + * \throw Beagle::AssertException If the value is out of bound. + * \ingroup Except + */ +#ifndef BEAGLE_NDEBUG +#define Beagle_BoundCheckAssertM(VALUE,MIN,MAX) \ + if( (VALUE) < (MIN) ) { \ + std::ostringstream lOSS; \ + lOSS << "Out of bound assertion: Value (" << VALUE << ") is less than the minimum accepted (" << MIN << ")."; \ + throw Beagle::AssertException( \ + lOSS.str().c_str(), \ + __FILE__,__LINE__); \ + } \ + if( (VALUE) > (MAX) ) { \ + std::ostringstream lOSS; \ + lOSS << "Out of bound assertion: Value (" << VALUE << ") is more than the maximum accepted (" << MAX << ")."; \ + throw Beagle::AssertException( \ + lOSS.str().c_str(), \ + __FILE__,__LINE__); \ + } +#else // BEAGLE_NDEBUG +#define Beagle_BoundCheckAssertM(VALUE,MIN,MAX) +#endif // BEAGLE_NDEBUG + + +/*! + * \def Beagle_UpperBoundCheckAssertM + * \brief Assert the upper bound of an index value. + * \param INDEX Index value to test. + * \param UPBOUND Upper bound. + * \throw Beagle::AssertException If the value is out of bound. + * \ingroup Except + */ +#ifndef BEAGLE_NDEBUG +#define Beagle_UpperBoundCheckAssertM(INDEX,UPBOUND) \ + if( (INDEX) > (UPBOUND) ) { \ + std::ostringstream lOSS; \ + lOSS << "Out of bound assertion: Index (" << INDEX << ") is more than the upper bound accepted (" << UPBOUND << ")."; \ + throw Beagle::AssertException( \ + lOSS.str(), \ + __FILE__,__LINE__); \ + } +#else // BEAGLE_NDEBUG +#define Beagle_UpperBoundCheckAssertM(INDEX,UPBOUND) +#endif // BEAGLE_NDEBUG + + +namespace Beagle { + +// Forward declarations. +template class AllocatorT; +template class PointerT; +template class ContainerT; + +/*! + * \class AssertException beagle/AssertException.hpp "beagle/AssertException.hpp" + * \brief Beagle exception indicating an badly asserted condition. + * \ingroup OOF + * \ingroup Except + */ +class AssertException : public TargetedException { + +public: + + //! AssertException allocator type. + typedef AllocatorT + Alloc; + //! AssertException handle type. + typedef PointerT + Handle; + //! AssertException bag type. + typedef ContainerT + Bag; + + explicit AssertException(string inMessage="", + string inFileName="", + unsigned int inLineNumber=0); + virtual ~AssertException() throw() { } + + virtual const char* getExceptionName() const throw(); + +}; + +} + +#endif // Beagle_AssertException_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/BadCastException.hpp b/lib/beagle-3.0.3/beagle/include/beagle/BadCastException.hpp new file mode 100644 index 0000000..061fa20 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/BadCastException.hpp @@ -0,0 +1,97 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/BadCastException.hpp + * \brief Definition of class BadCastException. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:08 $ + */ + +#ifndef Beagle_BadCastException_hpp +#define Beagle_BadCastException_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/TargetedException.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \def Beagle_BadCastExceptionM + * \brief Construct a Beagle::BadCastException. + * \param MESS Message explaining the bad cast problem. + * \ingroup Except + */ +#define Beagle_BadCastExceptionM(MESS) \ + Beagle::BadCastException(MESS,__FILE__,__LINE__) + + +namespace Beagle { + +// Forward declarations. +template class AllocatorT; +template class ContainerT; + +/*! + * \class BadCastException beagle/BadCastException.hpp "beagle/BadCastException.hpp" + * \brief Beagle exception indicating that a bad cast (by a call to castObjectT) happen. + * \ingroup OOF + * \ingroup Except + * \ingroup ObjPt + */ +class BadCastException : public TargetedException { + +public: + + //! BadCastException allocator type. + typedef AllocatorT + Alloc; + //! BadCastException handle type. + typedef PointerT + Handle; + //! BadCastException bag type. + typedef ContainerT + Bag; + + explicit BadCastException(string inMessage="", + string inFileName="", + unsigned int inLineNumber=0); + virtual ~BadCastException() throw() { } //!< \brief Destructor. + + virtual const char* getExceptionName() const throw(); + +}; + +} + +#endif // Beagle_BadCastException_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Beagle.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Beagle.hpp new file mode 100644 index 0000000..26e3549 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Beagle.hpp @@ -0,0 +1,209 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Beagle.hpp + * \brief File to include to import all the basic/generic Beagle classes. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.27.2.1 $ + * $Date: 2007/05/09 01:51:08 $ + */ + +/*! + * \namespace Beagle + * \brief Namespace of all classes and global functions of the Open BEAGLE framework. + * \ingroup OOF + * \ingroup ECF + */ + +/*! + * \mainpage Open BEAGLE Reference Manual + * + * You can use the actual manual in different ways. If you are looking for documentation to get + * information on specific element of the Open BEAGLE framework, you can check in the + * compound list for a specific class, or the + * compound member index for a specific method. If you intent to use the + * manual in order to get familiar with the framework, start by browsing the + * modules, especially the examples modules. The different components are + * there logically regrouped to facilitate assimilation of the internal framework organization. + */ + +/*! + * \defgroup OOF Object Oriented Foundations + * \brief Classes and functions related to the Object Oriented (OO) foundations, the basis of + * the Open BEAGLE architecture. + */ + +/*! + * \defgroup ECF Generic EC Framework + * \brief Generic component of the framework architecture for evolutionary computation. + * + * The generic EC framework is an extension of OO foundations. It offers a solid basis for + * implementing evolutionary algorithms. It is composed of a generic structure for populations, + * an evolution system and a set of operators packed in an evolver. + */ + + +#ifndef Beagle_Beagle_hpp +#define Beagle_Beagle_hpp + +// PACC classes + +#include "Math.hpp" +#include "Util.hpp" +#include "XML.hpp" + +// Object Oriented Foundation + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/NamedObject.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/castObjectT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/NamedObject.hpp" +#include "beagle/Exception.hpp" +#include "beagle/TargetedException.hpp" +#include "beagle/ValidationException.hpp" +#include "beagle/AssertException.hpp" +#include "beagle/BadCastException.hpp" +#include "beagle/InternalException.hpp" +#include "beagle/ObjectException.hpp" +#include "beagle/IOException.hpp" +#include "beagle/RunTimeException.hpp" +#include "beagle/IsEqualPointerPredicate.hpp" +#include "beagle/IsLessPointerPredicate.hpp" +#include "beagle/IsMorePointerPredicate.hpp" +#include "beagle/IsEqualMapPairPredicate.hpp" +#include "beagle/IsLessMapPairPredicate.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/ContainerAllocatorT.hpp" +#include "beagle/AbstractContainerAllocT.hpp" +#include "beagle/Map.hpp" +#include "beagle/RouletteT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/ArrayT.hpp" +#include "beagle/Bool.hpp" +#include "beagle/Char.hpp" +#include "beagle/Short.hpp" +#include "beagle/Int.hpp" +#include "beagle/Long.hpp" +#include "beagle/UChar.hpp" +#include "beagle/UShort.hpp" +#include "beagle/UInt.hpp" +#include "beagle/ULong.hpp" +#include "beagle/Float.hpp" +#include "beagle/Double.hpp" +#include "beagle/String.hpp" +#include "beagle/Matrix.hpp" +#include "beagle/Vector.hpp" + +// Generic EC framework + +#include "beagle/Stats.hpp" +#include "beagle/Fitness.hpp" +#include "beagle/FitnessSimple.hpp" +#include "beagle/FitnessSimpleMin.hpp" +#include "beagle/FitnessMultiObj.hpp" +#include "beagle/FitnessMultiObjMin.hpp" +#include "beagle/Genotype.hpp" +#include "beagle/Individual.hpp" +#include "beagle/IndividualAlloc.hpp" +#include "beagle/IndividualAllocT.hpp" +#include "beagle/IndividualBag.hpp" +#include "beagle/Deme.hpp" +#include "beagle/DemeAlloc.hpp" +#include "beagle/DemeAllocT.hpp" +#include "beagle/Vivarium.hpp" +#include "beagle/VivariumAlloc.hpp" +#include "beagle/VivariumAllocT.hpp" +#include "beagle/HallOfFame.hpp" +#include "beagle/ParetoFrontHOF.hpp" +#include "beagle/ParetoFrontCalculateOp.hpp" +#include "beagle/Register.hpp" +#include "beagle/ConfigurationDumper.hpp" +#include "beagle/RegisterReadOp.hpp" +#include "beagle/Logger.hpp" +#include "beagle/LoggerXML.hpp" +#include "beagle/Randomizer.hpp" +#include "beagle/Context.hpp" +#include "beagle/Component.hpp" +#include "beagle/ComponentMap.hpp" +#include "beagle/System.hpp" +#include "beagle/Operator.hpp" +#include "beagle/OperatorMap.hpp" +#include "beagle/Evolver.hpp" +#include "beagle/BreederOp.hpp" +#include "beagle/BreederNode.hpp" +#include "beagle/ReplacementStrategyOp.hpp" +#include "beagle/GenerationalOp.hpp" +#include "beagle/SteadyStateOp.hpp" +#include "beagle/MuCommaLambdaOp.hpp" +#include "beagle/MuPlusLambdaOp.hpp" +#include "beagle/NSGA2Op.hpp" +#include "beagle/NPGA2Op.hpp" +#include "beagle/IfThenElseOp.hpp" +#include "beagle/MilestoneReadOp.hpp" +#include "beagle/MilestoneWriteOp.hpp" +#include "beagle/TerminationOp.hpp" +#include "beagle/TermMaxGenOp.hpp" +#include "beagle/TermMaxEvalsOp.hpp" +#include "beagle/TermMaxFitnessOp.hpp" +#include "beagle/TermMinFitnessOp.hpp" +#include "beagle/StatsCalculateOp.hpp" +#include "beagle/StatsCalcFitnessMultiObjOp.hpp" +#include "beagle/StatsCalcFitnessSimpleOp.hpp" +#include "beagle/MigrationOp.hpp" +#include "beagle/MigrationRandomRingOp.hpp" +#include "beagle/HierarchicalFairCompetitionOp.hpp" +#include "beagle/EvaluationOp.hpp" +#include "beagle/EvaluationMultipleOp.hpp" +#include "beagle/InitializationOp.hpp" +#include "beagle/SelectionOp.hpp" +#include "beagle/SelectParsimonyTournOp.hpp" +#include "beagle/SelectRandomOp.hpp" +#include "beagle/SelectRouletteOp.hpp" +#include "beagle/SelectTournamentOp.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/MutationOp.hpp" +#include "beagle/SteadyStateOp.hpp" +#include "beagle/DecimateOp.hpp" +#include "beagle/OversizeOp.hpp" +#include "beagle/RandomShuffleDemeOp.hpp" +#include "beagle/Randomizer.hpp" +#include "beagle/RouletteT.hpp" +#include "beagle/InvalidateFitnessOp.hpp" +#include "beagle/IndividualSizeFrequencyStatsOp.hpp" + +#endif // Beagle_Beagle_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Bool.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Bool.hpp new file mode 100644 index 0000000..4f69fe9 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Bool.hpp @@ -0,0 +1,205 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Bool.hpp + * \brief Definition of type Bool and related operators. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:08 $ + */ + +#ifndef Beagle_Bool_hpp +#define Beagle_Bool_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/ArrayT.hpp" + + +namespace Beagle { + +/*! + * \brief Beagle wrapper of the atomic bool type. + * \ingroup Adapt + */ +typedef WrapperT< bool > + Bool; + +/*! + * \brief Beagle array of the atomic bool type. + * \ingroup Adapt + */ +typedef ArrayT< bool > + BoolArray; + +} + + +/*! + * \brief Test whether an bool is equal to another. + * \param inLeftBool Left bool compared. + * \param inRightBool Right bool compared. + * \return True if left bool is equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::Bool. + */ +inline bool operator==(const Beagle::Bool& inLeftBool, const Beagle::Bool& inRightBool) +{ + Beagle_StackTraceBeginM(); + return inLeftBool.isEqual(inRightBool); + Beagle_StackTraceEndM("bool operator==(const Bool& inLeftBool, const Bool& inRightBool)"); +} + + +/*! + * \brief Test whether an bool is not equal to another. + * \param inLeftBool Left bool compared. + * \param inRightBool Right bool compared. + * \return True if left bool is not equal to the right one, false if it is. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::Bool. + */ +inline bool operator!=(const Beagle::Bool& inLeftBool, const Beagle::Bool& inRightBool) +{ + Beagle_StackTraceBeginM(); + return ( inLeftBool.isEqual(inRightBool) == false); + Beagle_StackTraceEndM("bool operator!=(const Bool& inLeftBool, const Bool& inRightBool)"); +} + + +/*! + * \brief Negate a Bool. + * \param inBool Bool to negate. + * \return Result of the negation. + */ +inline +Beagle::Bool operator!(const Beagle::Bool& inBool) +{ + Beagle_StackTraceBeginM(); + return !(inBool.getWrappedValue()); + Beagle_StackTraceEndM("Bool operator!(const Bool& inBool)"); +} + + +/*! + * \brief Compare equality of a Bool with a bool. + * \param inLeftBool Left value to compare. + * \param inRightBool Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator==(const Beagle::Bool& inLeftBool, bool inRightBool) +{ + Beagle_StackTraceBeginM(); + return inLeftBool.getWrappedValue() == inRightBool; + Beagle_StackTraceEndM("bool operator==(const Bool& inLeftBool, bool inRightBool)"); +} + + +/*! + * \brief Compare inequality of a Bool with a bool. + * \param inLeftBool Left value to compare. + * \param inRightBool Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator!=(const Beagle::Bool& inLeftBool, bool inRightBool) +{ + Beagle_StackTraceBeginM(); + return inLeftBool.getWrappedValue() != inRightBool; + Beagle_StackTraceEndM("bool operator!=(const Bool& inLeftBool, bool inRightBool)"); +} + + +/*! + * \brief Logical AND of a Bool with a Bool. + * \param inLeftBool Left value. + * \param inRightBool Right value. + * \return Result of the logical AND. + */ +inline +Beagle::Bool operator&&(const Beagle::Bool& inLeftBool, + const Beagle::Bool& inRightBool) +{ + Beagle_StackTraceBeginM(); + return inLeftBool.getWrappedValue() && inRightBool.getWrappedValue(); + Beagle_StackTraceEndM("Bool operator&&(const Bool& inLeftBool, const Bool& inRightBool)"); +} + + +/*! + * \brief Logical AND of a Bool with a bool. + * \param inLeftBool Left value. + * \param inRightBool Right value. + * \return Result of the logical AND. + */ +inline +Beagle::Bool operator&&(const Beagle::Bool& inLeftBool, bool inRightBool) +{ + Beagle_StackTraceBeginM(); + return inLeftBool.getWrappedValue() && inRightBool; + Beagle_StackTraceEndM("Bool operator&&(const Bool& inLeftBool, bool inRightBool)"); +} + + +/*! + * \brief Logical OR of a Bool with a Bool. + * \param inLeftBool Left value. + * \param inRightBool Right value. + * \return Result of the logical OR. + */ +inline +Beagle::Bool operator||(const Beagle::Bool& inLeftBool, + const Beagle::Bool& inRightBool) +{ + Beagle_StackTraceBeginM(); + return inLeftBool.getWrappedValue() || inRightBool.getWrappedValue(); + Beagle_StackTraceEndM("Bool operator||(const Bool& inLeftBool, const Bool& inRightBool)"); +} + + +/*! + * \brief Logical OR of a Bool with a bool. + * \param inLeftBool Left value. + * \param inRightBool Right value. + * \return Result of the logical OR. + */ +inline +Beagle::Bool operator||(const Beagle::Bool& inLeftBool, bool inRightBool) +{ + Beagle_StackTraceBeginM(); + return inLeftBool.getWrappedValue() || inRightBool; + Beagle_StackTraceEndM("Bool operator||(const Bool& inLeftBool, bool inRightBool)"); +} + + +#endif // Beagle_Bool_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/BreederNode.hpp b/lib/beagle-3.0.3/beagle/include/beagle/BreederNode.hpp new file mode 100644 index 0000000..f7dd850 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/BreederNode.hpp @@ -0,0 +1,166 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/BreederNode.hpp + * \brief Definition of the class BreederNode. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:09 $ + */ + + +#ifndef Beagle_BreederNode_hpp +#define Beagle_BreederNode_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/Individual.hpp" + + +namespace Beagle { + +// Forward declaration. +class BreederOp; + +/*! + * \class BreederNode beagle/BreederNode.hpp "beagle/BreederNode.hpp" + * \brief Breeder node class, the skeleton of the breeder trees. + * \ingroup ECF + * \ingroup Op + */ +class BreederNode : public Object { + +public: + + //! BreederNode allocator type. + typedef AllocatorT + Alloc; + //! BreederNode handle type. + typedef PointerT + Handle; + //! BreederNode bag type. + typedef ContainerT + Bag; + + BreederNode(PointerT inBreederOp=NULL, + PointerT inFirstChild=NULL, + PointerT inNextSibling=NULL); + virtual ~BreederNode() { } + + virtual void initialize(System& ioSystem); + virtual void postInit(System& ioSystem); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \return Breeder operator associated to node. + */ + inline PointerT getBreederOp() const + { + Beagle_StackTraceBeginM(); + return mBreederOp; + Beagle_StackTraceEndM("PointerT BreederNode::getBreederOp() const"); + } + + /*! + * \return First child to the breeder. + */ + inline PointerT getFirstChild() const + { + Beagle_StackTraceBeginM(); + return mChild; + Beagle_StackTraceEndM("PointerT BreederNode::getFirstChild() const"); + } + + /*! + * \return Next sibbling to the breeder. + */ + inline PointerT getNextSibling() const + { + Beagle_StackTraceBeginM(); + return mSibling; + Beagle_StackTraceEndM("PointerT BreederNode::getNextSibling() const"); + } + + /*! + * \brief Set breeder operator associated to actual node. + * \param inBreederOp New breeder operator associated to breeder node. + */ + inline void setBreederOp(PointerT inBreederOp) + { + Beagle_StackTraceBeginM(); + mBreederOp = inBreederOp; + Beagle_StackTraceEndM("void BreederNode::setBreederOp(PointerT inBreederOp)"); + } + + /*! + * \brief Set first child of the breeder. + * \param inChild New first child. + */ + inline void setFirstChild(PointerT inChild) + { + Beagle_StackTraceBeginM(); + mChild = inChild; + Beagle_StackTraceEndM("void BreederNode::setFirstChild(PointerT inChild)"); + } + + /*! + * \brief Set next sibbling of the breeder. + * \param inSibling New next sibling. + */ + inline void setNextSibling(PointerT inSibling) + { + Beagle_StackTraceBeginM(); + mSibling = inSibling; + Beagle_StackTraceEndM("void BreederNode::setNextSibling(PointerT inSibling)"); + } + +private: + PointerT mBreederOp; //!< Breeder operator associated to the node. + PointerT mChild; //!< First breeder node child. + PointerT mSibling; //!< Next breeder node sibling. + +public: + virtual void read(PACC::XML::ConstIterator inIter); // Undefined read method! + +}; + +} + +#endif // Beagle_BreederNode_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/BreederOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/BreederOp.hpp new file mode 100644 index 0000000..68ccbb5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/BreederOp.hpp @@ -0,0 +1,117 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/BreederOp.hpp + * \brief Definition of the class BreederOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:09 $ + */ + +#ifndef Beagle_BreederOp_hpp +#define Beagle_BreederOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/Individual.hpp" +#include "beagle/BreederNode.hpp" + + +namespace Beagle { + +/*! + * \class BreederOp beagle/BreederOp.hpp "beagle/BreederOp.hpp" + * \brief Breeder operator abstract class. + * \ingroup ECF + * \ingroup Op + * + * A breeder is an operator that can process individuals in an evolution at the individual level. + * Breeders are hierachically organized into trees. A breeder receive a breeding pool to process, + * and must return from it one bred individual. + */ +class BreederOp : public Operator { + +public: + + //! BreederOp allocator type. + typedef AbstractAllocT + Alloc; + //! BreederOp handle type. + typedef PointerT + Handle; + //! BreederOp bag type. + typedef ContainerT + Bag; + + BreederOp(string inName="Unnamed"); + virtual ~BreederOp() { } + + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Apply the breeding operation on a breeding pool, returning a bred individual. + * \param inBreedingPool Breeding pool to use for the breeding operation. + * \param inChild Node handle associated to child node in the breeder tree. + * \param ioContext Evolutionary context of the breeding operation. + * \return Bred individual. + */ + virtual Individual::Handle breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext) = 0; + + /*! + * \return Return selection probability of breeder operator. + * \param inChild Child node in the breeder tree. + */ + virtual float getBreedingProba(BreederNode::Handle inChild) = 0; + + /*! + * \brief Apply the operation on a deme in the given context. + * \param ioDeme Reference to the deme on which the operation takes place. + * \param ioContext Evolutionary context of the operation. + */ + virtual void operate(Deme& ioDeme, Context& ioContext) = 0; + +}; + +} + + +#endif // Beagle_BreederOp_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Char.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Char.hpp new file mode 100644 index 0000000..ac428f5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Char.hpp @@ -0,0 +1,556 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Char.hpp + * \brief Definition of the type Char and related operators. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:09 $ + */ + +#ifndef Beagle_Char_hpp +#define Beagle_Char_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/WrapperT.hpp" + + +namespace Beagle { + +/*! + * \brief Beagle wrapper of the atomic char type. + * \ingroup Adapt + */ +typedef WrapperT< char > + Char; + +} + + +/*! + * \brief Test whether an char is less than another. + * \param inLeftChar Left char compared. + * \param inRightChar Right char compared. + * \return True if left char is less than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::Char. + */ +inline bool operator<(const Beagle::Char& inLeftChar, const Beagle::Char& inRightChar) +{ + Beagle_StackTraceBeginM(); + return inLeftChar.isLess(inRightChar); + Beagle_StackTraceEndM("bool operator<(const Char& inLeftChar, const Char& inRightChar)"); +} + + +/*! + * \brief Test whether an char is less than, or equal to another. + * \param inLeftChar Left char compared. + * \param inRightChar Right char compared. + * \return True if left char is less than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::Char. + */ +inline bool operator<=(const Beagle::Char& inLeftChar, const Beagle::Char& inRightChar) +{ + Beagle_StackTraceBeginM(); + return ( inLeftChar.isLess(inRightChar) || inLeftChar.isEqual(inRightChar) ); + Beagle_StackTraceEndM("bool operator<=(const Char& inLeftChar, const Char& inRightChar)"); +} + + +/*! + * \brief Test whether an char is more than another. + * \param inLeftChar Left char compared. + * \param inRightChar Right char compared. + * \return True if left char is more than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::Char. + */ +inline bool operator>(const Beagle::Char& inLeftChar, const Beagle::Char& inRightChar) +{ + Beagle_StackTraceBeginM(); + return inRightChar.isLess(inLeftChar); + Beagle_StackTraceEndM("bool operator>(const Char& inLeftChar, const Char& inRightChar)"); +} + + +/*! + * \brief Test whether an char is more than, or equal to another. + * \param inLeftChar Left char compared. + * \param inRightChar Right char compared. + * \return True if left char is more than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::Char. + */ +inline bool operator>=(const Beagle::Char& inLeftChar, const Beagle::Char& inRightChar) +{ + Beagle_StackTraceBeginM(); + return ( inRightChar.isLess(inLeftChar) || inLeftChar.isEqual(inRightChar) ); + Beagle_StackTraceEndM("bool operator>=(const Char& inLeftChar, const Char& inRightChar)"); +} + + +/*! + * \brief Test whether an char is equal to another. + * \param inLeftChar Left char compared. + * \param inRightChar Right char compared. + * \return True if left char is equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::Char. + */ +inline bool operator==(const Beagle::Char& inLeftChar, const Beagle::Char& inRightChar) +{ + Beagle_StackTraceBeginM(); + return inLeftChar.isEqual(inRightChar); + Beagle_StackTraceEndM("bool operator==(const Char& inLeftChar, const Char& inRightChar)"); +} + + +/*! + * \brief Test whether an char is not equal to another. + * \param inLeftChar Left char compared. + * \param inRightChar Right char compared. + * \return True if left char is not equal to the right one, false if it is. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::Char. + */ +inline bool operator!=(const Beagle::Char& inLeftChar, const Beagle::Char& inRightChar) +{ + Beagle_StackTraceBeginM(); + return ( inLeftChar.isEqual(inRightChar) == false); + Beagle_StackTraceEndM("bool operator!=(const Char& inLeftChar, const Char& inRightChar)"); +} + + +/*! + * \brief Compare equality of a Char with a char. + * \param inLeftChar Left value to compare. + * \param inRightChar Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator==(const Beagle::Char& inLeftChar, char inRightChar) +{ + Beagle_StackTraceBeginM(); + return inLeftChar.getWrappedValue() == inRightChar; + Beagle_StackTraceEndM("bool operator==(const Char& inLeftChar, char inRightChar)"); +} + + +/*! + * \brief Compare inequality of a Char with a char. + * \param inLeftChar Left value to compare. + * \param inRightChar Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator!=(const Beagle::Char& inLeftChar, char inRightChar) +{ + Beagle_StackTraceBeginM(); + return inLeftChar.getWrappedValue() != inRightChar; + Beagle_StackTraceEndM("bool operator!=(const Char& inLeftChar, char inRightChar)"); +} + + +/*! + * \brief Test if a Char is < than a char. + * \param inLeftChar Left value to compare. + * \param inRightChar Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<(const Beagle::Char& inLeftChar, char inRightChar) +{ + Beagle_StackTraceBeginM(); + return inLeftChar.getWrappedValue() < inRightChar; + Beagle_StackTraceEndM("bool operator<(const Char& inLeftChar, char inRightChar)"); +} + + +/*! + * \brief Test if a Char is <= than a char. + * \param inLeftChar Left value to compare. + * \param inRightChar Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<=(const Beagle::Char& inLeftChar, char inRightChar) +{ + Beagle_StackTraceBeginM(); + return inLeftChar.getWrappedValue() <= inRightChar; + Beagle_StackTraceEndM("bool operator<=(const Char& inLeftChar, char inRightChar)"); +} + + +/*! + * \brief Test if a Char is > than a char. + * \param inLeftChar Left value to compare. + * \param inRightChar Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>(const Beagle::Char& inLeftChar, char inRightChar) +{ + Beagle_StackTraceBeginM(); + return inLeftChar.getWrappedValue() > inRightChar; + Beagle_StackTraceEndM("bool operator>(const Char& inLeftChar, char inRightChar)"); +} + + +/*! + * \brief Test if a Char is >= than a char. + * \param inLeftChar Left value to compare. + * \param inRightChar Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>=(const Beagle::Char& inLeftChar, char inRightChar) +{ + Beagle_StackTraceBeginM(); + return inLeftChar.getWrappedValue() >= inRightChar; + Beagle_StackTraceEndM("bool operator>=(const Char& inLeftChar, char inRightChar)"); +} + + +/*! + * \brief Increment a Char (prefix version). + * \param inChar Char to increment. + * \return Char incremented. + */ +inline +Beagle::Char& operator++(Beagle::Char& inChar) +{ + Beagle_StackTraceBeginM(); + inChar.getWrappedValue()++; + return inChar; + Beagle_StackTraceEndM("Char& operator++(Char& inChar)"); +} + + +/*! + * \brief Increment a Char (postfix version). + * \param inChar Char to increment. + * \return Char before being incremented. + */ +inline +Beagle::Char operator++(Beagle::Char& inChar, int) +{ + Beagle_StackTraceBeginM(); + Beagle::Char lChar = inChar; + inChar.getWrappedValue()++; + return lChar; + Beagle_StackTraceEndM("Char operator++(Char& inChar, int)"); +} + + +/*! + * \brief Add two Char. + * \param inLeftChar Left value to add. + * \param inRightChar Right value to add. + * \return Result of the addition. + */ +inline +Beagle::Char operator+(const Beagle::Char& inLeftChar, const Beagle::Char& inRightChar) +{ + Beagle_StackTraceBeginM(); + return inLeftChar.getWrappedValue() + inRightChar.getWrappedValue(); + Beagle_StackTraceEndM("Char operator+(const Char& inLeftChar, const Char& inRightChar)"); +} + + +/*! + * \brief Add a Char with a char. + * \param inLeftChar Left value to add. + * \param inRightChar Right value to add. + * \return Result of the addition. + */ +inline +Beagle::Char operator+(const Beagle::Char& inLeftChar, char inRightChar) +{ + Beagle_StackTraceBeginM(); + return inLeftChar.getWrappedValue() + inRightChar; + Beagle_StackTraceEndM("Char operator+(const Char& inLeftChar, char inRightChar)"); +} + + +/*! + * \brief Add a Char to a Char. + * \param inLeftChar Left value to which the right one is added. + * \param inRightChar Value to add. + * \return Result of the addition. + */ +inline +Beagle::Char& operator+=(Beagle::Char& inLeftChar, const Beagle::Char& inRightChar) +{ + Beagle_StackTraceBeginM(); + inLeftChar.getWrappedValue() += inRightChar.getWrappedValue(); + return inLeftChar; + Beagle_StackTraceEndM("Char& operator+=(Char& inLeftChar, const Char& inRightChar)"); +} + + +/*! + * \brief Add a char to a Char. + * \param inLeftChar Left value to which the right one is added. + * \param inRightChar Value to add. + * \return Result of the addition. + */ +inline +Beagle::Char& operator+=(Beagle::Char& inLeftChar, char inRightChar) +{ + Beagle_StackTraceBeginM(); + inLeftChar.getWrappedValue() += inRightChar; + return inLeftChar; + Beagle_StackTraceEndM("Char& operator+=(Char& inLeftChar, char inRightChar)"); +} + + +/*! + * \brief Decrement a Char (prefix version). + * \param inChar Char to decrement. + * \return Char decremented. + */ +inline +Beagle::Char& operator--(Beagle::Char& inChar) +{ + Beagle_StackTraceBeginM(); + inChar.getWrappedValue()--; + return inChar; + Beagle_StackTraceEndM("Char& operator--(Char& inChar)"); +} + + +/*! + * \brief Decrement a Char (postfix version). + * \param inChar Char to decrement. + * \return Char before being decremented. + */ +inline +Beagle::Char operator--(Beagle::Char& inChar, int) +{ + Beagle_StackTraceBeginM(); + Beagle::Char lChar = inChar; + inChar.getWrappedValue()--; + return lChar; + Beagle_StackTraceEndM("Char operator--(Char& inChar, int)"); +} + + + +/*! + * \brief Subtract two Char. + * \param inLeftChar Left value to subtract. + * \param inRightChar Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::Char operator-(const Beagle::Char& inLeftChar, const Beagle::Char& inRightChar) +{ + Beagle_StackTraceBeginM(); + return inLeftChar.getWrappedValue() - inRightChar.getWrappedValue(); + Beagle_StackTraceEndM("Char operator-(const Char& inLeftChar, const Char& inRightChar)"); +} + + +/*! + * \brief Subtract a char from a Char. + * \param inLeftChar Left value to subtract. + * \param inRightChar Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::Char operator-(const Beagle::Char& inLeftChar, char inRightChar) +{ + Beagle_StackTraceBeginM(); + return inLeftChar.getWrappedValue() - inRightChar; + Beagle_StackTraceEndM("Char operator-(const Char& inLeftChar, char inRightChar)"); +} + + +/*! + * \brief Subtract a Char from a Char. + * \param inLeftChar Left value from which the right char is subtracted. + * \param inRightChar Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::Char& operator-=(Beagle::Char& inLeftChar, const Beagle::Char& inRightChar) +{ + Beagle_StackTraceBeginM(); + inLeftChar.getWrappedValue() -= inRightChar.getWrappedValue(); + return inLeftChar; + Beagle_StackTraceEndM("Char& operator-=(Char& inLeftChar, const Char& inRightChar)"); +} + + +/*! + * \brief Subtract a char from a Char. + * \param inLeftChar Left value from which the right char is subtracted. + * \param inRightChar Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::Char& operator-=(Beagle::Char& inLeftChar, char inRightChar) +{ + Beagle_StackTraceBeginM(); + inLeftChar.getWrappedValue() -= inRightChar; + return inLeftChar; + Beagle_StackTraceEndM("Char& operator-=(Char& inLeftChar, char inRightChar)"); +} + + +/*! + * \brief Multiply two Char. + * \param inLeftChar Left value to multiply. + * \param inRightChar Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::Char operator*(const Beagle::Char& inLeftChar, const Beagle::Char& inRightChar) +{ + Beagle_StackTraceBeginM(); + return inLeftChar.getWrappedValue() * inRightChar.getWrappedValue(); + Beagle_StackTraceEndM("Char operator*(const Char& inLeftChar, const Char& inRightChar)"); +} + + +/*! + * \brief Multiply a Char with a char. + * \param inLeftChar Left value to multiply. + * \param inRightChar Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::Char operator*(const Beagle::Char& inLeftChar, char inRightChar) +{ + Beagle_StackTraceBeginM(); + return inLeftChar.getWrappedValue() * inRightChar; + Beagle_StackTraceEndM("Char operator*(const Char& inLeftChar, char inRightChar)"); +} + + +/*! + * \brief Multiply a Char with a Char. + * \param inLeftChar Left value to which the right char is multiplied. + * \param inRightChar Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::Char& operator*=(Beagle::Char& inLeftChar, const Beagle::Char& inRightChar) +{ + Beagle_StackTraceBeginM(); + inLeftChar.getWrappedValue() *= inRightChar.getWrappedValue(); + return inLeftChar; + Beagle_StackTraceEndM("Char& operator*=(Char& inLeftChar, const Char& inRightChar)"); +} + + +/*! + * \brief Multiply a Char with a char. + * \param inLeftChar Left value from which the right char is multiplied. + * \param inRightChar Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::Char& operator*=(Beagle::Char& inLeftChar, char inRightChar) +{ + Beagle_StackTraceBeginM(); + inLeftChar.getWrappedValue() *= inRightChar; + return inLeftChar; + Beagle_StackTraceEndM("Char& operator*=(Char& inLeftChar, char inRightChar)"); +} + + +/*! + * \brief Divide two Char. + * \param inLeftChar Left value to divide. + * \param inRightChar Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Char operator/(const Beagle::Char& inLeftChar, const Beagle::Char& inRightChar) +{ + Beagle_StackTraceBeginM(); + return inLeftChar.getWrappedValue() / inRightChar.getWrappedValue(); + Beagle_StackTraceEndM("Char operator/(const Char& inLeftChar, const Char& inRightChar)"); +} + + +/*! + * \brief Divide a Char with a char. + * \param inLeftChar Left value to divide. + * \param inRightChar Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Char operator/(const Beagle::Char& inLeftChar, char inRightChar) +{ + Beagle_StackTraceBeginM(); + return inLeftChar.getWrappedValue() / inRightChar; + Beagle_StackTraceEndM("Char operator/(const Char& inLeftChar, char inRightChar)"); +} + + +/*! + * \brief Divide a Char with a Char. + * \param inLeftChar Left value to which the right char is divided. + * \param inRightChar Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Char& operator/=(Beagle::Char& inLeftChar, const Beagle::Char& inRightChar) +{ + Beagle_StackTraceBeginM(); + inLeftChar.getWrappedValue() /= inRightChar.getWrappedValue(); + return inLeftChar; + Beagle_StackTraceEndM("Char& operator/=(Char& inLeftChar, const Char& inRightChar)"); +} + + +/*! + * \brief Divide a Char with a char. + * \param inLeftChar Left value from which the right char is divided. + * \param inRightChar Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Char operator/=(Beagle::Char& inLeftChar, char inRightChar) +{ + Beagle_StackTraceBeginM(); + inLeftChar.getWrappedValue() /= inRightChar; + return inLeftChar; + Beagle_StackTraceEndM("Char operator/=(Char& inLeftChar, char inRightChar)"); +} + + +#endif // Beagle_Char_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Component.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Component.hpp new file mode 100644 index 0000000..da1c1a7 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Component.hpp @@ -0,0 +1,92 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Component.hpp + * \brief Definition of class Component. + * \author Matthew Walker + * \author Christian Gagne + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:09 $ + */ + +#ifndef Beagle_Component_hpp +#define Beagle_Component_hpp + +#include "XML.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/NamedObject.hpp" + +namespace Beagle { + +// Forward declaration +class System; + + +/*! + * \class Component beagle/Component.hpp "beagle/Component.hpp" + * \brief System component base class. + * \ingroup ECF + * \ingroup Sys + */ +class Component : public NamedObject { + +public: + + //! Component allocator type. + typedef AllocatorT + Alloc; + //! Component handle type. + typedef PointerT + Handle; + //! Component bag type. + typedef ContainerT + Bag; + + explicit Component(string inName="Unnamed component"); + virtual ~Component() { } + + virtual void initialize(System& ioSystem); + virtual void postInit(System& ioSystem); + virtual void readWithSystem(PACC::XML::ConstIterator inIter, System& ioSystem); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +}; + +} + +#endif // Beagle_Component_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/ComponentMap.hpp b/lib/beagle-3.0.3/beagle/include/beagle/ComponentMap.hpp new file mode 100644 index 0000000..a5a0cd5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/ComponentMap.hpp @@ -0,0 +1,92 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/ComponentMap.hpp + * \brief Definition of class ComponentMap. + * \author Christian Gagne + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:09 $ + */ + +#ifndef Beagle_ComponentMap_hpp +#define Beagle_ComponentMap_hpp + +#include +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Map.hpp" +#include "beagle/Component.hpp" + + +namespace Beagle { + + +/*! + * \class ComponentMap beagle/ComponentMap.hpp "beagle/ComponentMap.hpp" + * \brief Associative container using a string as key accessors to the + * Component::Handle instances. + * \ingroup ECF + * \ingroup Sys + */ +class ComponentMap : public Map { + +public: + + //! ComponentMap allocator type. + typedef AllocatorT + Alloc; + //! ComponentMap handle type. + typedef PointerT + Handle; + //! ComponentMap bag type. + typedef ContainerT + Bag; + + ComponentMap() { } + virtual ~ComponentMap() { } + + /*! + * \brief Get component from the map. + * \param inKey Key associated to the component. + * \return Smart pointer to the operator, a NULL pointer if the operator wasn't in the map. + */ + inline Component::Handle& operator[](string inKey) + { + Beagle_StackTraceBeginM(); + return castHandleT(Map::operator[](inKey)); + Beagle_StackTraceEndM("Component::Handle& ComponentMap::operator[](string inKey)"); + } + +}; + +} + +#endif // Beagle_ComponentMap_hpp + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/ConfigurationDumper.hpp b/lib/beagle-3.0.3/beagle/include/beagle/ConfigurationDumper.hpp new file mode 100644 index 0000000..4b4781e --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/ConfigurationDumper.hpp @@ -0,0 +1,85 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/ConfigurationDumper.hpp + * \brief Definition of the class ConfigurationDumper. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:09 $ + */ + +#ifndef Beagle_ConfigurationDumper_hpp +#define Beagle_ConfigurationDumper_hpp + +#include "XML.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/String.hpp" + + +namespace Beagle { + +// Forward declaration +class System; +class Evolver; + +/*! + * \class ConfigurationDumper beagle/ConfigurationDumper.hpp "beagle/ConfigurationDumper.hpp" + * \brief Configuration dumper class parameter. + */ +class ConfigurationDumper : public String { + +public: + + //! ConfigurationDumper allocator. + typedef AllocatorT + Alloc; + //! ConfigurationDumper handle. + typedef PointerT + Handle; + //! ConfigurationDumper bag. + typedef ContainerT + Bag; + + explicit ConfigurationDumper(System& inSystem, Evolver& inEvolver, string inName=""); + virtual ~ConfigurationDumper() { } + + virtual void read(PACC::XML::ConstIterator inIter); + +protected: + System& mSystem; //!< Reference to the associated system. + Evolver& mEvolver; //!< Reference to the associated evolver. + +}; + +} + +#endif // Beagle_ConfigurationDumper_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Container.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Container.hpp new file mode 100644 index 0000000..cf220fe --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Container.hpp @@ -0,0 +1,255 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Container.hpp + * \brief Container class for implementing the Bag data type. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.2 $ + * $Date: 2007/09/10 18:24:11 $ + */ + +/*! + * \defgroup DataStruct Data Structures + * \ingroup OOF + * \brief Object oriented data structures, part of the Object Oriented Foundations. + * + * It is natural to design data structures that take advantage of all the mechanisms exposed in the + * current section. Working with the new features of the C++, it is essential to exploit the + * \e Standard \e Template \e Library (STL) which provides common, well known and portable data + * structures and algorithms. An Open BEAGLE specific, but STL compliant, data structures is + * extensively used: the container. + * + * The Open BEAGLE container is a random access table of heterogeneous objects. It is implemented as + * a dynamic array of specified smart pointers. Any objects that is a specialization of the contained + * type could be put in a container. The constraints are the same as those of the smart pointers: the + * objects must be allocated on the heap (via the \c new operator) and these objects must not be + * unallocated explicitly (i.e. \c delete of the objects are forbidden). Our container is + * implemented as a Beagle object that is also a STL vector of object handles. + * \code + * class Container : public Object, public std::vector { ... }; + * \endcode + * Built this way, our container could be manipulated by the STL generic algorithms. It is also possible + * to make container of containers, since a container is an object that can be smart pointed. + * + * A drawback of this data structure is that every contained objects must + * have been allocated (on the heap) and thereafter inserted into the container. Knowing so, we add + * an allocator handle member attribute to the class Beagle::Container. This member automatically + * allocates instance of objects when resizing. If no allocator are given to a container (the member + * value of the allocator handle is null), resizing will simply resizes the vector of smart pointer + * and the newly added pointers are initialized to the null value. It is then possible to dynamically + * type containers by giving them allocator instances of the desired type. + * + * As with the smart pointers and allocators, every Open BEAGLE type has a nested type that define a + * container of the specified type, the nested type named \c Bag. For example, the type that is a + * container of floating-point values, Beagle::Float, is the type Beagle::Float::Bag. The nested type + * is declared in classes as usual for the nested types \c Handle and \c Alloc, using a \c typedef + * to a template, in this case to template class Beagle::ContainerT. + * \code + * class MyClass : public SuperClass { + * public: + * typedef AllocatorT Alloc; + * typedef PointerT Handle; + * typedef ContainerT Bag; + * }; + * \endcode + * The use of dynamically typed containers raises a problem when it is necessary to allocate + * containers of objects not from the basic usual associated type. Supposing a container of genotype, + * namely a Beagle::Genotype::Bag. It may be possible for the container to contain a different type + * of genotype, for example genotypes of the type \c SpecializedGenotype, which is derived from + * the type Beagle::Genotype. Then, the type allocator member of Beagle::Genotype::Bag should be an + * instance of the type \c SpecializedGenotype::Alloc. This can be easily done by giving as + * argument an \c SpecializedGenotype::Alloc to the constructor of Beagle::Genotype::Bag. But + * supposing now that a Beagle::Genotype::Bag::Bag is created and that it should contain these + * containers dynamically typed, it is necessary to defined a new allocator of Beagle::Genotype::Bag + * that instantiate the allocator of Beagle::Genotype as instances of allocator of + * \c SpecializedGenotype. This can be very tricky to implement for a novice user. + * + * This issue is solved by designing a new template of allocators specific to the Open BEAGLE + * containers. This specialized allocator has an attribute that is an object allocator handle + * compatible with the type contained in the associated bag. This allocator is implemented in the + * basic class Beagle::ContainerAllocator. + * \code + * class ContainerAllocator : public Object::Alloc { + * public: + * ContainerAllocator(Object::Alloc::Handle); + * protected: + * Object::Alloc::Handle mContainerTypeAlloc; + * }; + * \endcode + * The type \c Alloc of Beagle::ContainerT is declared as \c typedef of a templated allocator of + * container (Beagle::ContainerAllocatorT). This template takes a third type, the type of the member + * allocator type of the container, in addition to the two first usual types. + * \code + * template + * class ContainerT : public BaseType { + * public: + * typedef ContainerAllocatorT,BaseType,T::Alloc> Alloc; + * ... + * }; + * \endcode + * Doing so, allocators of bags that are dynamically typed can be instantiated. A second template for + * the case of abstract bag type has also been declared, Beagle::AbstractContainerAllocT. This is + * coherent with the discussion about the type Beagle::AbstractAllocT, which is presented in + * the section on the allocators module. + * + */ + + +#ifndef Beagle_Container_hpp +#define Beagle_Container_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/AssertException.hpp" + +namespace Beagle { + +// Forward declarations. +class ContainerAllocator; +template class ContainerT; +template class PointerT; + +/*! + * \class Container beagle/Container.hpp "beagle/Container.hpp" + * \brief Basic container data structure, implemented as a vector of smart pointers. + * \ingroup OOF + * \ingroup DataStruct + * \warning Containers can have a type allocator for managing new elements. + * If this allocator is NULL, then the container is heterogeneous. It can contain any type + * of object. Otherwise, the container is said to be typed, and resizing will allocate + * new objects of the specified type. Note however, that the uniformity of the container is not + * insured for mutating methods inherited from std::vector (e.g. push_back and insert). The user + * should restrain to method resize to modify (enlarge or reduce) the size of a typed container. + * The user should also never insert of modify handles of the typed container unless he really + * knows what he's doing. + */ +class Container : public Object, + public std::vector< Object::Handle,BEAGLE_STLALLOCATOR > { + +public: + + //! Container's allocator type. + typedef ContainerAllocator + Alloc; + //! Container's handle type. + typedef PointerT + Handle; + //! Container's bag type. + typedef ContainerT + Bag; + + explicit Container(Object::Alloc::Handle inTypeAlloc=NULL, + unsigned int inN=0); + explicit Container(Object::Alloc::Handle inTypeAlloc, + unsigned int inN, + const Object& inModel); + virtual ~Container() { } + + virtual void copyData(const Container& inOriginalContainer); + virtual bool isEqual(const Object& inRightObj) const; + virtual bool isLess(const Object& inRightObj) const; + virtual void read(PACC::XML::ConstIterator inIter); + void resize(unsigned int inN); + void resize(unsigned int inN, const Object& inModel); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Standard const operator for accessing elements by index. + * \param inN Index of element (first is 0). + * \return Smart pointer to element. + */ + inline const Object::Handle& operator[](unsigned int inN) const + { + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,size()-1); + return std::vector< Pointer,BEAGLE_STLALLOCATOR >::operator[](inN); + Beagle_StackTraceEndM("const Object::Handle& Container::operator[](size_type inN) const"); + } + + /*! + * \brief Standard operator for accessing elements by index. + * \param inN Index of element (first is 0). + * \return Smart pointer to element. + */ + inline Object::Handle& operator[](unsigned int inN) + { + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,size()-1); + return std::vector< Pointer,BEAGLE_STLALLOCATOR >::operator[](inN); + Beagle_StackTraceEndM("Object::Handle& Container::operator[](size_type inN)"); + } + + /*! + * \brief Get the container's data type allocator (const version). + * \return Smart pointer to type allocator. + */ + inline const Object::Alloc::Handle getTypeAlloc() const + { + Beagle_StackTraceBeginM(); + return mTypeAlloc; + Beagle_StackTraceEndM("const Object::Alloc::Handle Container::getTypeAlloc() const"); + } + + /*! + * \brief Get the container's data type allocator. + * \return Smart pointer to type allocator. + */ + inline Object::Alloc::Handle getTypeAlloc() + { + Beagle_StackTraceBeginM(); + return mTypeAlloc; + Beagle_StackTraceEndM("Object::Alloc::Handle Container::getTypeAlloc()"); + } + + /*! + * \brief Set the container's data type allocator. + * \param inTypeAlloc Smart pointer to the new type allocator. + */ + inline void setTypeAlloc(Object::Alloc::Handle inTypeAlloc) + { + Beagle_StackTraceBeginM(); + mTypeAlloc = inTypeAlloc; + Beagle_StackTraceEndM("void Container::setTypeAlloc(Object::Alloc::Handle inTypeAlloc)"); + } + +private: + Object::Alloc::Handle mTypeAlloc; //!< Smart pointer to allocator for new elements. + +}; + +} + +#endif // Beagle_Container_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/ContainerAllocator.hpp b/lib/beagle-3.0.3/beagle/include/beagle/ContainerAllocator.hpp new file mode 100644 index 0000000..f3bc9c0 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/ContainerAllocator.hpp @@ -0,0 +1,128 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/ContainerAllocator.hpp + * \brief Definition of class ContainerAllocator. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:10 $ + */ + +#ifndef Beagle_ContainerAllocator_hpp +#define Beagle_ContainerAllocator_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" + + +namespace Beagle { + +// Forward declarations +template class PointerT; +template class ContainerT; + +/*! + * \class ContainerAllocator beagle/ContainerAllocator.hpp "beagle/ContainerAllocator.hpp" + * \brief Basic container allocator. + * \ingroup OOF + * \ingroup Allocs + * \ingroup DataStruct + */ +class ContainerAllocator : public Object::Alloc { + +public: + + //! ContainerAllocator allocator type. + typedef AllocatorT + Alloc; + //! ContainerAllocator handle type. + typedef PointerT + Handle; + //! ContainerAllocator bag type. + typedef ContainerT + Bag; + + explicit ContainerAllocator(Object::Alloc::Handle inContainerTypeAlloc=NULL); + virtual ~ContainerAllocator() { } + + virtual Object* allocate() const; + virtual Object* clone(const Object& inOrigObj) const; + virtual Container* cloneData(const Container& inOrigObj) const; + virtual void copy(Object& outCopyObj, const Object& inOrigObj) const; + virtual void copyData(Container& outCopyObj, const Container& inOrigObj) const; + + /*! + * \brief Get the container type allocator. + * \return Constant handle to the container type allocator. + */ + inline const Object::Alloc::Handle getContainerTypeAlloc() const + { + Beagle_StackTraceBeginM(); + return mContainerTypeAlloc; + Beagle_StackTraceEndM("const Object::Alloc::Handle ContainerAllocator::getContainerTypeAlloc() const"); + } + + /*! + * \brief Get the container type allocator. + * \return Handle to the container type allocator. + */ + inline Object::Alloc::Handle getContainerTypeAlloc() + { + Beagle_StackTraceBeginM(); + return mContainerTypeAlloc; + Beagle_StackTraceEndM("Object::Alloc::Handle ContainerAllocator::getContainerTypeAlloc()"); + } + + /*! + * \brief Set the container type allocator. + * \param inContainerTypeAlloc The new uniform bag contained type allocator. + */ + inline void setContainerTypeAlloc(Object::Alloc::Handle inContainerTypeAlloc) + { + Beagle_StackTraceBeginM(); + mContainerTypeAlloc = inContainerTypeAlloc; + Beagle_StackTraceEndM("void ContainerAllocator::setContainerTypeAlloc(Object::Alloc::Handle inContainerTypeAlloc)"); + } + +protected: + + Object::Alloc::Handle mContainerTypeAlloc; //!< Container type allocator handle. + +}; + +} + +#endif // Beagle_ContainerAllocator_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/ContainerAllocatorT.hpp b/lib/beagle-3.0.3/beagle/include/beagle/ContainerAllocatorT.hpp new file mode 100644 index 0000000..79bacd4 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/ContainerAllocatorT.hpp @@ -0,0 +1,248 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/ContainerAllocatorT.hpp + * \brief Definition of the class template ContainerAllocatorT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:10 $ + */ + +#ifndef Beagle_ContainerAllocatorT_hpp +#define Beagle_ContainerAllocatorT_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/BadCastException.hpp" + + +namespace Beagle { + +/*! + * \class ContainerAllocatorT beagle/ContainerAllocatorT.hpp "beagle/ContainerAllocatorT.hpp" + * \brief Templated class defining a T-type container allocator. + * \param T The container type allocated. + * \param BaseType The base type from which the actual allocator type is derived. + * \param ContainerTypeAllocType The container's type allocator type. + * \ingroup OOF + * \ingroup Allocs + * \ingroup DataStruct + */ +template +class ContainerAllocatorT : public BaseType { + +public: + + //! ContainerAllocatorT allocator type. + typedef AllocatorT,typename BaseType::Alloc> + Alloc; + //! ContainerAllocatorT handle type. + typedef PointerT,typename BaseType::Handle> + Handle; + //! ContainerAllocatorT bag type. + typedef ContainerT,typename BaseType::Bag> + Bag; + + explicit ContainerAllocatorT(typename ContainerTypeAllocType::Handle inContainerTypeAlloc=NULL); + virtual ~ContainerAllocatorT() { } + + virtual Object* allocate() const; + virtual Object* clone(const Object& inOrigObj) const; + virtual Container* cloneData(const Container& inOrigContainer) const; + virtual void copy(Object& outCopyObj, const Object& inOrigObj) const; + virtual void copyData(Container& outCopyObj, const Container& inOrigObj) const; + + /*! + * \brief Get the container type allocator. + * \return Constant handle to the container type allocator. + */ + inline const typename ContainerTypeAllocType::Handle getContainerTypeAlloc() const + { + Beagle_StackTraceBeginM(); + return castHandleT(BaseType::mContainerTypeAlloc); + Beagle_StackTraceEndM("const ContainerTypeAllocType::Handle ContainerAllocatorT::getContainerTypeAlloc() const"); + } + + /*! + * \brief Get the container type allocator. + * \return Handle to the container type allocator. + */ + inline typename ContainerTypeAllocType::Handle getContainerTypeAlloc() + { + Beagle_StackTraceBeginM(); + return castHandleT(BaseType::mContainerTypeAlloc); + Beagle_StackTraceEndM("ContainerTypeAllocType::Handle ContainerAllocatorT::getContainerTypeAlloc()"); + } + + /*! + * \brief Set the container type allocator. + * \param inContainerTypeAlloc The new container type allocator. + */ + inline void setContainerTypeAlloc(typename ContainerTypeAllocType::Handle inContainerTypeAlloc) + { + Beagle_StackTraceBeginM(); + BaseType::mContainerTypeAlloc = inContainerTypeAlloc; + Beagle_StackTraceEndM("void ContainerAllocatorT::setContainerTypeAlloc(ContainerTypeAllocType::Handle inContainerTypeAlloc)"); + } + +}; + +} + + +/*! + * \brief Constructor of a T-type container allocator. + * \param inContainerTypeAlloc Type allocator given to the container allocated. + */ +template +Beagle::ContainerAllocatorT::ContainerAllocatorT( + typename ContainerTypeAllocType::Handle inContainerTypeAlloc) : + BaseType(inContainerTypeAlloc) +{ } + + +/*! + * \brief Allocate a plain new container on the heap by giving it the type allocator. + * \return Pointer to the allocated container. + * \throw InternalException When the program goes out of memory. + */ +template +Beagle::Object* Beagle::ContainerAllocatorT::allocate() const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + T* lT = new T(castHandleT(BaseType::mContainerTypeAlloc)); + if(!lT) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lT; +#else // BEAGLE_NDEBUG + return new T(castHandleT(BaseType::mContainerTypeAlloc)); +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object* ContainerAllocatorT::allocate() const"); +} + + +/*! + * \brief Allocate a new container on the heap that is a clone an existing object. + * \param inOrigObj Constant reference to the original container object to clone. + * \return Pointer to the allocated container. + * \throw InternalException When the program goes out of memory. + * \throw BadCastException If the type of the parameter is not as specified. + */ +template +Beagle::Object* Beagle::ContainerAllocatorT::clone( + const Beagle::Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigObj); + T* lT = new T(lOrigT); + if(!lT) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lT; +#else // BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigObj); + return new T(lOrigT); +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object* ContainerAllocatorT::clone(const Object& inOrigObj) const"); +} + + +/*! + * \brief Allocate a new container on the heap that is a clone an existing object with a copy + * of the data contained. + * \param inOrigContainer Constant reference to the original container object to clone. + * \return Pointer to the allocated container. + * \throw InternalException When the program goes out of memory. + * \throw BadCastException If the type of the parameter is not as specified. + */ +template +Beagle::Container* Beagle::ContainerAllocatorT::cloneData( + const Beagle::Container& inOrigContainer) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigContainer); + T* lT = new T(castHandleT(BaseType::mContainerTypeAlloc)); + if(!lT) throw Beagle_InternalExceptionM("Out-of-memory!"); + lT->copyData(lOrigT); + return lT; +#else // BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigContainer); + T* lT = new T(castHandleT(BaseType::mContainerTypeAlloc)); + lT->copyData(lOrigT); + return lT; +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Container* ContainerAllocatorT::cloneData(const Container& inOrigContainer) const"); +} + + +/*! + * \brief Copy a container into another. + * \param outCopyObj Constant reference to the original container to copy. + * \param inOrigObj Reference to the container that is a copy of the original. + * \throw BadCastException If the type of the parameter is not as specified. + */ +template +void Beagle::ContainerAllocatorT::copy( + Beagle::Object& outCopyObj, const Beagle::Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); + T& lCopyT = castObjectT(outCopyObj); + const T& lOrigT = castObjectT(inOrigObj); + lCopyT = lOrigT; + Beagle_StackTraceEndM("void ContainerAllocatorT::copy(Object& outCopyObj, const Object& inOrigObj) const"); +} + + +/*! + * \brief Copy a container into another with all the data contained. + * \param outCopyObj Constant reference to the original container to copy. + * \param inOrigObj Reference to the container that is a copy of the original. + * \throw BadCastException If the type of the parameter is not as specified. + */ +template +void Beagle::ContainerAllocatorT::copyData( + Beagle::Container& outCopyObj, const Beagle::Container& inOrigObj) const +{ + Beagle_StackTraceBeginM(); + T& lCopyT = castObjectT(outCopyObj); + const T& lOrigT = castObjectT(inOrigObj); + lCopyT.copyData(lOrigT); + Beagle_StackTraceEndM("void ContainerAllocatorT::copyData(Container& outCopyObj, const Container& inOrigObj) const"); +} + + +#endif // Beagle_ContainerAllocatorT_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/ContainerT.hpp b/lib/beagle-3.0.3/beagle/include/beagle/ContainerT.hpp new file mode 100644 index 0000000..9fd5839 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/ContainerT.hpp @@ -0,0 +1,252 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/ContainerT.hpp + * \brief Definition of template ContainerT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.2 $ + * $Date: 2007/09/10 18:24:11 $ + */ + +#ifndef Beagle_ContainerT_hpp +#define Beagle_ContainerT_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/ContainerAllocatorT.hpp" +#include "beagle/RunTimeException.hpp" + + +namespace Beagle { + +template class ContainerAllocatorT; + +/*! + * \class ContainerT beagle/ContainerT.hpp "beagle/ContainerT.hpp" + * \brief Templated class defining a T-type uniform bag, inheriting from BaseType uniform bag. + * \param T Type of the values contained. + * \param BaseType Base type from which the actual uniform bag type is derived. + * \ingroup OOF + * \ingroup DataStruct + * \warning Containers can have a type allocator for managing new elements. + * If this allocator is NULL, then the container is heterogeneous. It can contain any type + * of object. Otherwise, the container is said to be typed, and resizing will allocate + * new objects of the specified type. Note however, that the uniformity of the container is not + * insured for mutating methods inherited from std::vector (e.g. push_back and insert). The user + * should restrain to method resize to modify (enlarge or reduce) the size of a typed container. + * The user should also never insert of modify handles of the typed container unless he really + * knows what he's doing. + */ +template +class ContainerT : public BaseType { + +public: + + //! ContainerT allocator type. + typedef ContainerAllocatorT,typename BaseType::Alloc,typename T::Alloc> + Alloc; + //! ContainerT handle type. + typedef PointerT,typename BaseType::Handle> + Handle; + //! ContainerT bag type. + typedef ContainerT,typename BaseType::Bag> + Bag; + + explicit ContainerT(typename T::Alloc::Handle inTypeAlloc=NULL, + typename BaseType::size_type inN=0); + explicit ContainerT(typename T::Alloc::Handle inTypeAlloc, + typename BaseType::size_type inN, + const T& inModel); + virtual ~ContainerT() { } + + /*! + * \brief Access to a constant handle to the Nth element of the ContainerT. + * \param inN Indice of the constant handle (T::Handle) to get. + * \return Constant handle (T::Handle) at the indice N. + */ + inline const typename T::Handle& operator[](typename BaseType::size_type inN) const + { + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,BaseType::size()-1); + return castHandleT(std::vector< Pointer,BEAGLE_STLALLOCATOR >::operator[](inN)); + Beagle_StackTraceEndM("const T::Handle& ContainerT::operator[](BaseType::size_type inN) const"); + } + + /*! + * \brief Acces to an handle the Nth element of the ContainerT. + * \param inN Indice of the handle (T::Handle) to get. + * \return Pointer (T::Handle) at the indice N. + */ + inline typename T::Handle& operator[](typename BaseType::size_type inN) + { + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,BaseType::size()-1); + return castHandleT(std::vector< Pointer,BEAGLE_STLALLOCATOR >::operator[](inN)); + Beagle_StackTraceEndM("T::Handle& ContainerT::operator[](BaseType::size_type inN)"); + } + + /*! + * \brief Access to a handle to the Nth element of the ContainerT. + * \param inN Index of the handle (T::Handle) to get. + * \return Pointer (T::Handle) at the index N. + */ + inline typename T::Handle& at(typename BaseType::size_type inN) + { + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,BaseType::size()-1); + return castHandleT(std::vector< Pointer,BEAGLE_STLALLOCATOR >::at(inN)); + Beagle_StackTraceEndM("T::Handle& ContainerT::at(BaseType::size_type inN)"); + } + + /*! + * \brief Access to a handle to the Nth element of the ContainerT. + * \param inN Index of the handle (T::Handle) to get. + * \return const Pointer (T::Handle) at the index N. + */ + inline const typename T::Handle& at(typename BaseType::size_type inN) const + { + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,BaseType::size()-1); + return castHandleT(std::vector< Pointer,BEAGLE_STLALLOCATOR >::at(inN)); + Beagle_StackTraceEndM("const T::Handle& ContainerT::at(BaseType::size_type inN) const"); + } + + /*! + * \brief Access to a handle to the last element of the ContainerT. + * \return Pointer (T::Handle) at the index N. + */ + inline typename T::Handle& back() + { + Beagle_StackTraceBeginM(); + if(BaseType::empty()) { + throw Beagle_RunTimeExceptionM(string("Container named \"")+BaseType::getName()+ + string("\" is empty. You've called the back() method but there is nothing to return.")); + } + return castHandleT(std::vector< Pointer,BEAGLE_STLALLOCATOR >::back()); + Beagle_StackTraceEndM("T::Handle& ContainerT::back()"); + } + + /*! + * \brief Access to a handle to the last element of the ContainerT. + * \return Pointer (T::Handle) at the index N. + */ + inline const typename T::Handle& back() const + { + Beagle_StackTraceBeginM(); + if(BaseType::empty()) { + throw Beagle_RunTimeExceptionM(string("Container named \"")+BaseType::getName()+ + string("\" is empty. You've called the back() method but there is nothing to return.")); + } + return castHandleT(std::vector< Pointer,BEAGLE_STLALLOCATOR >::back()); + Beagle_StackTraceEndM("const T::Handle& ContainerT::back() const"); + } + + /*! + * \brief Get the allocator of the instance contained in the container. + * \return An handle to the type allocator. + */ + inline const typename T::Alloc::Handle getTypeAlloc() const + { + Beagle_StackTraceBeginM(); + return castHandleT(Beagle::Container::getTypeAlloc()); + Beagle_StackTraceEndM("const T::Alloc::Handle ContainerT::getTypeAlloc() const"); + } + + /*! + * \brief Get the allocator of the instance contained in the container. + * \return An handle to the type allocator. + */ + inline typename T::Alloc::Handle getTypeAlloc() + { + Beagle_StackTraceBeginM(); + return castHandleT(Container::getTypeAlloc()); + Beagle_StackTraceEndM("T::Alloc::Handle ContainerT::getTypeAlloc()"); + } + + /*! + * \brief Resize the container by allocating object if necessary + * \param inN New size of the container. + */ + inline void resize(typename BaseType::size_type inN) + { + Beagle_StackTraceBeginM(); + Container::resize(inN); + Beagle_StackTraceEndM("void ContainerT::resize(typename BaseType::size_type inN)"); + } + + /*! + * \brief Resize the container by allocating object if necessary + * \param inN New size of the container. + * \param inModel Model of object to use to allocate the new value of the container. + */ + inline void resize(typename BaseType::size_type inN, const T& inModel) + { + Beagle_StackTraceBeginM(); + Container::resize(inN,inModel); + Beagle_StackTraceEndM("void ContainerT::resize(typename BaseType::size_type inN, const T& inModel)"); + } + +}; + +} + + +/*! + * \brief Construct a container of the size given. + * \param inTypeAlloc Allocator use to fill the container. + * \param inN Initial size of the container. + */ +template +Beagle::ContainerT::ContainerT(typename T::Alloc::Handle inTypeAlloc, + typename BaseType::size_type inN) : + BaseType(inTypeAlloc, inN) +{ } + + +/*! + * \brief Construct a container of the size given. + * \param inTypeAlloc Allocator use to fill the container. + * \param inN Initial size of the container. + * \param inModel Model of object to use to allocate the new value of the container. + */ +template +Beagle::ContainerT::ContainerT(typename T::Alloc::Handle inTypeAlloc, + typename BaseType::size_type inN, + const T& inModel) : + BaseType(inTypeAlloc, inN, inModel) +{ } + + +#endif // Beagle_ContainerT_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Context.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Context.hpp new file mode 100644 index 0000000..e4e29d3 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Context.hpp @@ -0,0 +1,619 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Context.hpp + * \brief Definition of the class Context. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:10 $ + */ + +#ifndef Beagle_Context_hpp +#define Beagle_Context_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Genotype.hpp" +#include "beagle/Individual.hpp" +#include "beagle/Deme.hpp" +#include "beagle/Vivarium.hpp" +#include "beagle/System.hpp" +#include "beagle/Evolver.hpp" +#include "beagle/RunTimeException.hpp" + +namespace Beagle { + +/*! + * \class Context beagle/Context.hpp "beagle/Context.hpp" + * \brief Evolutionary context. + * \ingroup ECF + * \ingroup Sys + */ +class Context : public Object { + +public: + + //! Context allocator type. + typedef AllocatorT + Alloc; + //! Context handle type. + typedef PointerT + Handle; + //! Context bag type. + typedef ContainerT + Bag; + + Context(); + virtual ~Context() { } + + /*! + * \brief Return the continuing flag value. + * \return Continuing flag value. + */ + inline bool getContinueFlag() const + { + Beagle_StackTraceBeginM(); + return mContinueFlag; + Beagle_StackTraceEndM("bool Context::getContinueFlag() const"); + } + + /*! + * \brief Return a constant reference to the actual deme. + * \return Actual deme constant reference. + */ + inline const Deme& getDeme() const + { + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mDemeHandle == NULL) throw Beagle_RunTimeExceptionM( + string("The context does not have a handle to a deme. ")+ + string("Consider Beagle::Context::setDemeHandle() and setDemeIndex().")); +#endif // BEAGLE_NDEBUG + return *mDemeHandle; + Beagle_StackTraceEndM("const Deme& Context::getDeme() const"); + } + + /*! + * \brief Return a reference to the actual deme. + * \return Actual deme reference. + */ + inline Deme& getDeme() + { + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mDemeHandle == NULL) throw Beagle_RunTimeExceptionM( + string("The context does not have a handle to a deme. ")+ + string("Consider Beagle::Context::setDemeHandle() and setDemeIndex().")); +#endif // BEAGLE_NDEBUG + return *mDemeHandle; + Beagle_StackTraceEndM("Deme& Context::getDeme()"); + } + + /*! + * \brief Return a handle to the actual deme. + * \return Actual deme handle. + */ + inline Deme::Handle getDemeHandle() + { + Beagle_StackTraceBeginM(); + return mDemeHandle; + Beagle_StackTraceEndM("Deme::Handle Context::getDemeHandle()"); + } + + /*! + * \brief Return the actual deme index. + * \return Actual deme index. + */ + inline unsigned int getDemeIndex() const + { + Beagle_StackTraceBeginM(); + return mDemeIndex; + Beagle_StackTraceEndM("unsigned int Context::getDemeIndex() const"); + } + + /*! + * \brief Return a constant reference to the actual evolver. + * \return Actual evolver constant reference. + */ + inline const Evolver& getEvolver() const + { + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mEvolverHandle == NULL) throw Beagle_RunTimeExceptionM( + string("The context does not have a handle to an evolver. ")+ + string("Consider Beagle::Context::setEvolverHandle().")); +#endif // BEAGLE_NDEBUG + return *mEvolverHandle; + Beagle_StackTraceEndM("const Evolver& Context::getEvolver() const"); + } + + /*! + * \brief Return a reference to the actual evolver. + * \return Actual evolver reference. + */ + inline Evolver& getEvolver() + { + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mEvolverHandle == NULL) throw Beagle_RunTimeExceptionM( + string("The context does not have a handle to an evolver. ")+ + string("Consider Beagle::Context::setEvolverHandle().")); +#endif // BEAGLE_NDEBUG + return *mEvolverHandle; + Beagle_StackTraceEndM("Evolver& Context::getEvolver()"); + } + + /*! + * \brief Return a handle to the actual evolver. + * \return Actual evolver handle. + */ + inline Evolver::Handle getEvolverHandle() + { + Beagle_StackTraceBeginM(); + return mEvolverHandle; + Beagle_StackTraceEndM("Evolver::Handle Context::getEvolverHandle()"); + } + + /*! + * \brief Return a constant reference to the actual individual. + * \return Actual individual constant reference. + */ + inline const Individual& getIndividual() const + { + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mIndividualHandle == NULL) throw Beagle_RunTimeExceptionM( + string("The context does not have a handle to an individual. ")+ + string("Consider Beagle::Context::setIndividualHandle() and setIndividualIndex().")); +#endif // BEAGLE_NDEBUG + return *mIndividualHandle; + Beagle_StackTraceEndM("const Individual& Context::getIndividual() const"); + } + + /*! + * \brief Return a reference to the actual individual. + * \return Actual individual reference. + */ + inline Individual& getIndividual() + { + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mIndividualHandle == NULL) throw Beagle_RunTimeExceptionM( + string("The context does not have a handle to an individual. ")+ + string("Consider Beagle::Context::setIndividualHandle() and setIndividualIndex().")); +#endif // BEAGLE_NDEBUG + return *mIndividualHandle; + Beagle_StackTraceEndM("Individual& Context::getIndividual()"); + } + + /*! + * \brief Return a handle to the actual individual. + * \return Actual individual handle. + */ + inline Individual::Handle getIndividualHandle() + { + Beagle_StackTraceBeginM(); + return mIndividualHandle; + Beagle_StackTraceEndM("Individual::Handle Context::getIndividualHandle()"); + } + + /*! + * \brief Return the actual individual index. + * \return Actual individual index. + */ + inline unsigned int getIndividualIndex() const + { + Beagle_StackTraceBeginM(); + return mIndividualIndex; + Beagle_StackTraceEndM("unsigned int Context::getIndividualIndex() const"); + } + + /*! + * \brief Return a constant reference to the actual genotype. + * \return Actual genotype constant reference. + */ + inline const Genotype& getGenotype() const + { + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mGenotypeHandle == NULL) throw Beagle_RunTimeExceptionM( + string("The context does not have a handle to a genotype. ")+ + string("Consider Beagle::Context::setGenotypeHandle().")); +#endif // BEAGLE_NDEBUG + return *mGenotypeHandle; + Beagle_StackTraceEndM("const Genotype& Context::getGenotype() const"); + } + + /*! + * \brief Return a reference to the actual genotype. + * \return Actual genotype reference. + */ + inline Genotype& getGenotype() + { + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mGenotypeHandle == NULL) throw Beagle_RunTimeExceptionM( + string("The context does not have a handle to a genotype. ")+ + string("Consider Beagle::Context::setGenotypeHandle().")); +#endif // BEAGLE_NDEBUG + return *mGenotypeHandle; + Beagle_StackTraceEndM("Genotype& Context::getGenotype()"); + } + + /*! + * \brief Return a handle to the actual genotype. + * \return Actual genotype handle. + */ + inline Genotype::Handle getGenotypeHandle() + { + Beagle_StackTraceBeginM(); + return mGenotypeHandle; + Beagle_StackTraceEndM("Genotype::Handle Context::getGenotypeHandle()"); + } + + /*! + * \brief Return the actual genotype index. + * \return Actual genotype index. + */ + inline unsigned int getGenotypeIndex() const + { + Beagle_StackTraceBeginM(); + return mGenotypeIndex; + Beagle_StackTraceEndM("unsigned int Context::getGenotypeIndex() const"); + } + + /*! + * \brief Return the actual generation number. + * \return Actual generation number. + */ + inline unsigned int getGeneration() const + { + Beagle_StackTraceBeginM(); + return mGeneration; + Beagle_StackTraceEndM("unsigned int Context::getGeneration() const"); + } + + /*! + * \return Number of individuals processed by the actual deme in this generation. + */ + inline unsigned int getProcessedDeme() const + { + Beagle_StackTraceBeginM(); + return mProcessedDeme; + Beagle_StackTraceEndM("unsigned int Context::getProcessedDeme() const"); + } + + /*! + * \return Total number of individuals processed by the actual deme in the evolution. + */ + inline unsigned int getTotalProcessedDeme() const + { + Beagle_StackTraceBeginM(); + return mTotalProcDeme; + Beagle_StackTraceEndM("unsigned int Context::getTotalProcessedDeme() const"); + } + + /*! + * \return Number of individuals processed by the actual vivarium in this generation. + */ + inline unsigned int getProcessedVivarium() const + { + Beagle_StackTraceBeginM(); + return mProcessedViva; + Beagle_StackTraceEndM("unsigned int Context::getProcessedVivarium() const"); + } + + /*! + * \return Total number of individuals processed by the actual vivarium in the evolution. + */ + inline unsigned int getTotalProcessedVivarium() const + { + Beagle_StackTraceBeginM(); + return mTotalProcViva; + Beagle_StackTraceEndM("unsigned int Context::getTotalProcessedVivarium() const"); + } + + /*! + * \brief Return a constant reference to the system. + * \return Evolution system constant reference. + */ + inline const System& getSystem() const + { + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mSystemHandle == NULL) throw Beagle_RunTimeExceptionM( + string("The context does not have a handle to a system. ")+ + string("Consider Beagle::Context::setSystemHandle().")); +#endif // BEAGLE_NDEBUG + return *mSystemHandle; + Beagle_StackTraceEndM("const System& Context::getSystem() const"); + } + + /*! + * \brief Return a reference to the system. + * \return Evolution system reference. + */ + inline System& getSystem() + { + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mSystemHandle == NULL) throw Beagle_RunTimeExceptionM( + string("The context does not have a handle to a system. ")+ + string("Consider Beagle::Context::setSystemHandle().")); +#endif // BEAGLE_NDEBUG + return *mSystemHandle; + Beagle_StackTraceEndM("System& Context::getSystem()"); + } + + /*! + * \brief Return a handle to the system. + * \return Evolution system handle. + */ + inline System::Handle getSystemHandle() + { + Beagle_StackTraceBeginM(); + return mSystemHandle; + Beagle_StackTraceEndM("System::Handle Context::getSystemHandle()"); + } + + /*! + * \brief Return a constant reference to the vivarium. + * \return Evolution vivarium constant reference. + */ + inline const Vivarium& getVivarium() const + { + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mVivariumHandle == NULL) throw Beagle_RunTimeExceptionM( + string("The context does not have a handle to a vivarium. ")+ + string("Consider Beagle::Context::setVivariumHandle().")); +#endif // BEAGLE_NDEBUG + return *mVivariumHandle; + Beagle_StackTraceEndM("const Vivarium& Context::getVivarium() const"); + } + + /*! + * \brief Return a reference to the vivarium. + * \return Evolution vivarium reference. + */ + inline Vivarium& getVivarium() + { + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mVivariumHandle == NULL) throw Beagle_RunTimeExceptionM( + string("The context does not have a handle to a vivarium. ")+ + string("Consider Beagle::Context::setVivariumHandle().")); +#endif // BEAGLE_NDEBUG + return *mVivariumHandle; + Beagle_StackTraceEndM("Vivarium& Context::getVivarium()"); + } + + /*! + * \brief Return a handle to the vivarium. + * \return Evolution vivarium handle. + */ + inline Vivarium::Handle getVivariumHandle() + { + Beagle_StackTraceBeginM(); + return mVivariumHandle; + Beagle_StackTraceEndM("Vivarium::Handle Context::getVivariumHandle()"); + } + + /*! + * \brief Set the evolution continuing flag. + * \param inContinueFlag Continuing flag value. + */ + inline void setContinueFlag(bool inContinueFlag) + { + Beagle_StackTraceBeginM(); + mContinueFlag = inContinueFlag; + Beagle_StackTraceEndM("void Context::setContinueFlag(bool inContinueFlag)"); + } + + /*! + * \brief Set an handle to the actual deme. + * \param inDemeHandle Actual deme handle. + */ + inline void setDemeHandle(Deme::Handle inDemeHandle) + { + Beagle_StackTraceBeginM(); + mDemeHandle = inDemeHandle; + Beagle_StackTraceEndM("void Context::setDemeHandle(Deme::Handle inDemeHandle)"); + } + + /*! + * \brief Set the actual deme index. + * \param inDemeIndex Actual deme index. + */ + inline void setDemeIndex(unsigned int inDemeIndex) + { + Beagle_StackTraceBeginM(); + mDemeIndex = inDemeIndex; + Beagle_StackTraceEndM("void Context::setDemeIndex(unsigned int inDemeIndex)"); + } + + /*! + * \brief Set an handle to the evolver. + * \param inEvolverHandle Evolver handle. + */ + inline void setEvolverHandle(Evolver::Handle inEvolverHandle) + { + Beagle_StackTraceBeginM(); + mEvolverHandle = inEvolverHandle; + Beagle_StackTraceEndM("void Context::setEvolverHandle(Evolver::Handle inEvolverHandle)"); + } + + /*! + * \brief Set an handle to the actual individual. + * \param inIndividualHandle Actual individual handle. + */ + inline void setIndividualHandle(Individual::Handle inIndividualHandle) + { + Beagle_StackTraceBeginM(); + mIndividualHandle = inIndividualHandle; + Beagle_StackTraceEndM("void Context::setIndividualHandle(Individual::Handle inIndividualHandle)"); + } + + /*! + * \brief Set the actual individual index. + * \param inIndividualIndex Actual individual index. + */ + inline void setIndividualIndex(unsigned int inIndividualIndex) + { + Beagle_StackTraceBeginM(); + mIndividualIndex = inIndividualIndex; + Beagle_StackTraceEndM("void Context::setIndividualIndex(unsigned int inIndividualIndex)"); + } + + /*! + * \brief Set an handle to the actual genotype. + * \param inGenotypeHandle Actual genotype handle. + */ + inline void setGenotypeHandle(Genotype::Handle inGenotypeHandle) + { + Beagle_StackTraceBeginM(); + mGenotypeHandle = inGenotypeHandle; + Beagle_StackTraceEndM("void Context::setGenotypeHandle(Genotype::Handle inGenotypeHandle)"); + } + + /*! + * \brief Set the actual genotype index. + * \param inGenotypeIndex Actual genotype index. + */ + inline void setGenotypeIndex(unsigned int inGenotypeIndex) + { + Beagle_StackTraceBeginM(); + mGenotypeIndex = inGenotypeIndex; + Beagle_StackTraceEndM("void Context::setGenotypeIndex(unsigned int inGenotypeIndex)"); + } + + /*! + * \brief Set the actual generation number. + * \param inGeneration Actual generation number. + */ + inline void setGeneration(unsigned int inGeneration) + { + Beagle_StackTraceBeginM(); + mGeneration = inGeneration; + Beagle_StackTraceEndM("void Context::setGeneration(unsigned int inGeneration)"); + } + + /*! + * \brief Set the number of individuals processed by the deme for the actual generation. + * \param inProcessedDeme Number of individuals processed by the deme. + */ + inline void setProcessedDeme(unsigned int inProcessedDeme) + { + Beagle_StackTraceBeginM(); + mProcessedDeme = inProcessedDeme; + Beagle_StackTraceEndM("void Context::setProcessedDeme(unsigned int inProcessedDeme)"); + } + + /*! + * \brief Set the total number of individuals processed by the deme for the evolution. + * \param inTotalProcDeme Total number of individuals processed by the deme. + */ + inline void setTotalProcessedDeme(unsigned int inTotalProcDeme) + { + Beagle_StackTraceBeginM(); + mTotalProcDeme = inTotalProcDeme; + Beagle_StackTraceEndM("void Context::setTotalProcessedDeme(unsigned int inTotalProcDeme)"); + } + + + /*! + * \brief Set the number of individuals processed by the vivarium for the actual generation. + * \param inProcessedViva Number of individuals processed by the vivarium. + */ + inline void setProcessedVivarium(unsigned int inProcessedViva) + { + Beagle_StackTraceBeginM(); + mProcessedViva = inProcessedViva; + Beagle_StackTraceEndM("void Context::setProcessedVivarium(unsigned int inProcessedViva)"); + } + + /*! + * \brief Set the total number of individuals processed by the vivarium for the evolution. + * \param inTotalProcViva Total number of individuals processed by the vivarium. + */ + inline void setTotalProcessedVivarium(unsigned int inTotalProcViva) + { + Beagle_StackTraceBeginM(); + mTotalProcViva = inTotalProcViva; + Beagle_StackTraceEndM("void Context::setTotalProcessedVivarium(unsigned int inTotalProcViva)"); + } + + /*! + * \brief Set the system handle. + * \param inSystemHandle Handle to the system. + */ + inline void setSystemHandle(System::Handle inSystemHandle) + { + Beagle_StackTraceBeginM(); + mSystemHandle = inSystemHandle; + Beagle_StackTraceEndM("void Context::setSystemHandle(System::Handle inSystemHandle)"); + } + + /*! + * \brief Set the vivarium handle. + * \param inVivariumHandle Handle to the vivarium. + */ + inline void setVivariumHandle(Vivarium::Handle inVivariumHandle) + { + Beagle_StackTraceBeginM(); + mVivariumHandle = inVivariumHandle; + Beagle_StackTraceEndM("void Context::setVivariumHandle(Vivarium::Handle inVivariumHandle)"); + } + +protected: + System::Handle mSystemHandle; //!< Handle to the system of the evolution. + Evolver::Handle mEvolverHandle; //!< Handle to the evolver of the evolution. + Vivarium::Handle mVivariumHandle; //!< Handle to the vivarium of the evolution. + Deme::Handle mDemeHandle; //!< Handle to the actual deme of the evolution. + unsigned int mDemeIndex; //!< Index of the actual deme of the evolution. + Individual::Handle mIndividualHandle; //!< Handle to the actual individual of the evolution. + unsigned int mIndividualIndex; //!< Index of the actual individual of the evolution. + Genotype::Handle mGenotypeHandle; //!< Handle to the actual genotype of the evolution. + unsigned int mGenotypeIndex; //!< Index of the actual genotype of the evolution. + unsigned int mGeneration; //!< Actual generation number of the evolution. + unsigned int mProcessedDeme; //!< # of indiv. processed by deme during actual gen. + unsigned int mTotalProcDeme; //!< Total # of indiv. processed by the deme. + unsigned int mProcessedViva; //!< # of indiv. processed by vivarium during actual gen. + unsigned int mTotalProcViva; //!< Total # of indiv. processed by the vivarium. + bool mContinueFlag; //!< Flag set if the evolution must continue. + +}; + +} + +#endif // Beagle_Context_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/CrossoverOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/CrossoverOp.hpp new file mode 100644 index 0000000..d0586b4 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/CrossoverOp.hpp @@ -0,0 +1,109 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/CrossoverOp.hpp + * \brief Definition of the class CrossoverOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:10 $ + */ + +#ifndef Beagle_CrossoverOp_hpp +#define Beagle_CrossoverOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/Float.hpp" +#include "beagle/Individual.hpp" +#include "beagle/Deme.hpp" +#include "beagle/Context.hpp" +#include "beagle/BreederOp.hpp" + + +namespace Beagle { + +/*! + * \class CrossoverOp beagle/CrossoverOp.hpp "beagle/CrossoverOp.hpp" + * \brief Abstract crossover operator class. + * \ingroup ECF + * \ingroup Op + */ +class CrossoverOp : public BreederOp { + +public: + + //! CrossoverOp allocator type. + typedef AbstractAllocT + Alloc; + //! CrossoverOp handle type. + typedef PointerT + Handle; + //! CrossoverOp bag type. + typedef ContainerT + Bag; + + explicit CrossoverOp(string inMatingPbName="ec.cx.prob", + string inName="CrossoverOp"); + virtual ~CrossoverOp() { } + + /*! + * \brief Mate two individuals for a crossover. + * \param ioIndiv1 First individual to mate. + * \param ioContext1 Evolutionary context of the first individual. + * \param ioIndiv2 Second individual to mate. + * \param ioContext2 Evolutionary context of the second individual. + * \return True if the individuals are effectively mated, false if not. + */ + virtual bool mate(Individual& ioIndiv1, Context& ioContext1, + Individual& ioIndiv2, Context& ioContext2) = 0; + + virtual Individual::Handle breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext); + virtual float getBreedingProba(BreederNode::Handle inChild); + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + Float::Handle mMatingProba; //!< Single individual mating probability + string mMatingProbaName; //!< Single individual mating probability parameter name + +}; + +} + +#endif // Beagle_CrossoverOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/DecimateOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/DecimateOp.hpp new file mode 100644 index 0000000..eeeb516 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/DecimateOp.hpp @@ -0,0 +1,112 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/DecimateOp.hpp + * \brief Definition of the class DecimateOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:10 $ + */ + +#ifndef Beagle_DecimateOp_hpp +#define Beagle_DecimateOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/UInt.hpp" +#include "beagle/String.hpp" +#include "beagle/Individual.hpp" +#include "beagle/Float.hpp" + + +namespace Beagle { + +/*! + * \class DecimateOp beagle/DecimateOp.hpp "beagle/DecimateOp.hpp" + * \brief Population decimation operator class. + * \ingroup ECF + * \ingroup Op + * + * This operator shrinks the population size (i.e. it "decimates" the + * population). The decimation is done by keeping the \em n best + * individuals of the population, where \em n is \f$ratio \times + * population size\f$ and \em ratio is the decimation ratio, which is + * less than or equal to 1.0. + * + * The name of the decimation ratio defaults to + * "ec.decimation.ratio". + * + * A special decimation ratio exists: -1.0. If this ratio is used + * then the population will be reduced to the size specified in the + * register variable "ec.pop.size". If the use of this special ratio + * would result in an \em increase in the population size then an + * exception is thrown. + * + * To increase the size of the population, consider + * Beagle::OversizeOp. + * + */ +class DecimateOp : public Operator { + +public: + + //! DecimateOp allocator type. + typedef AllocatorT + Alloc; + //! DecimateOp handle type. + typedef PointerT + Handle; + //! DecimateOp bag type. + typedef ContainerT + Bag; + + explicit DecimateOp(string inDecimationRatioName="ec.decimation.ratio", + string inName="DecimateOp"); + virtual ~DecimateOp() { } + + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + +protected: + UIntArray::Handle mPopSize; //!< Population size for the evolution. + Float::Handle mDecimationRatio; //!< Decimation ratio for the actual population. + string mDecimationRatioName; //!< Decimation ratio parameter name. + +}; + +} + +#endif // Beagle_DecimateOp_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Deme.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Deme.hpp new file mode 100644 index 0000000..93caa4c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Deme.hpp @@ -0,0 +1,280 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Deme.hpp + * \brief Definition of the class Deme. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.12.2.1 $ + * $Date: 2007/05/09 01:51:10 $ + */ + +#ifndef Beagle_Deme_hpp +#define Beagle_Deme_hpp + +#include "XML.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Genotype.hpp" +#include "beagle/Individual.hpp" +#include "beagle/IndividualAlloc.hpp" +#include "beagle/Stats.hpp" +#include "beagle/HallOfFame.hpp" +#include "beagle/DemeAlloc.hpp" +#include "beagle/Logger.hpp" + +namespace Beagle { + +/*! + * \class Deme beagle/Deme.hpp "beagle/Deme.hpp" + * \brief A deme is a population of individuals, a "hall of fame", and some statistics. + * \ingroup ECF + * \ingroup Pop + */ +class Deme : public Individual::Bag { + +public: + + //! Deme allocator type. + typedef DemeAlloc + Alloc; + //! Deme handle type. + typedef PointerT + Handle; + //! Deme mixed bag type. + typedef ContainerT + Bag; + + explicit Deme(Individual::Alloc::Handle inIndAlloc=NULL); + explicit Deme(Individual::Alloc::Handle inIndAlloc, + Stats::Alloc::Handle inStatsAlloc, + HallOfFame::Alloc::Handle inHOFAlloc, + size_type inN=0); + explicit Deme(Genotype::Alloc::Handle inGenotypeAlloc); + explicit Deme(Genotype::Alloc::Handle inGenotypeAlloc, Fitness::Alloc::Handle inFitnessAlloc); + Deme(const Deme& inOriginalDeme); + virtual ~Deme() { } + + Deme& operator=(const Deme& inOriginalDeme); + + virtual void copyData(const Container& inOrigContainer); + virtual void readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext); + virtual void readMigrationBuffer(PACC::XML::ConstIterator inIter, Context& ioContext); + virtual void readPopulation(PACC::XML::ConstIterator inIter, Context& ioContext); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + virtual void writeMigrationBuffer(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + virtual void writePopulation(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Get the current deme Hall-of-Fame. + * \return Constant reference to the Hall-of-Fame. + */ + inline const HallOfFame& getHallOfFame() const + { + Beagle_StackTraceBeginM(); + return *mHallOfFame; + Beagle_StackTraceEndM("const HallOfFame& Deme::getHallOfFame() const"); + } + + /*! + * \brief Get the current deme Hall-of-Fame. + * \return Constant reference to the Hall-of-Fame. + */ + inline HallOfFame& getHallOfFame() + { + Beagle_StackTraceBeginM(); + return *mHallOfFame; + Beagle_StackTraceEndM("HallOfFame& Deme::getHallOfFame()"); + } + + /*! + * \brief Get the hall-of-fame allocator. + * \return Constant handle to the hall-of-fame allocator. + */ + inline const HallOfFame::Alloc::Handle getHallOfFameAlloc() const + { + Beagle_StackTraceBeginM(); + return mHOFAlloc; + Beagle_StackTraceEndM("const HallOfFame::Alloc::Handle Deme::getHallOfFameAlloc() const"); + } + + /*! + * \brief Get the hall-of-fame allocator. + * \return Handle to the hall-of-fame allocator. + */ + inline HallOfFame::Alloc::Handle getHallOfFameAlloc() + { + Beagle_StackTraceBeginM(); + return mHOFAlloc; + Beagle_StackTraceEndM("HallOfFame::Alloc::Handle Deme::getHallOfFameAlloc()"); + } + + /*! + * \brief Get the current deme migration buffer. + * \return Constant reference to the migration buffer. + */ + inline const Individual::Bag& getMigrationBuffer() const + { + Beagle_StackTraceBeginM(); + return *mMigrationBuffer; + Beagle_StackTraceEndM("const Individual::Bag& Deme::getMigrationBuffer() const"); + } + + /*! + * \brief Get the current deme migration buffer. + * \return Constant reference to the migration buffer. + */ + inline Individual::Bag& getMigrationBuffer() + { + Beagle_StackTraceBeginM(); + return *mMigrationBuffer; + Beagle_StackTraceEndM("Individual::Bag& Deme::getMigrationBuffer()"); + } + + /*! + * \brief Get the deme evolution statistics. + * \return Constant handle to the deme evolution statistics. + */ + inline const Stats::Handle getStats() const + { + Beagle_StackTraceBeginM(); + return mStats; + Beagle_StackTraceEndM("const Stats::Handle Deme::getStats() const"); + } + + /*! + * \brief Get the deme evolution statistics. + * \return Handle to the deme evolution statistics. + */ + inline Stats::Handle getStats() + { + Beagle_StackTraceBeginM(); + return mStats; + Beagle_StackTraceEndM("Stats::Handle Deme::getStats()"); + } + + /*! + * \brief Get the statistics allocator. + * \return Handle to the evolution statistics allocator. + */ + inline const Stats::Alloc::Handle getStatsAlloc() const + { + Beagle_StackTraceBeginM(); + return mStatsAlloc; + Beagle_StackTraceEndM("const Stats::Alloc::Handle Deme::getStatsAlloc() const"); + } + + /*! + * \brief Get the statistics allocator. + * \return Handle to the evolution statistics allocator. + */ + inline Stats::Alloc::Handle getStatsAlloc() + { + Beagle_StackTraceBeginM(); + return mStatsAlloc; + Beagle_StackTraceEndM("Stats::Alloc::Handle Deme::getStatsAlloc()"); + } + + /*! + * \brief Set the hall-of-fame allocator. + * \param inHOFAlloc Hall-of-fame allocator to use. + */ + inline void setHallOfFameAlloc(HallOfFame::Alloc::Handle inHOFAlloc) + { + Beagle_StackTraceBeginM(); + mHOFAlloc = inHOFAlloc; + Beagle_StackTraceEndM("void Deme::setHallOfFameAlloc(HallOfFame::Alloc::Handle inHOFAlloc)"); + } + + /*! + * \brief Set the hall-of-fame. + * \param inHallOfFame Hall-of-fame to use. + */ + inline void setHallOfFame(HallOfFame::Handle inHallOfFame) + { + Beagle_StackTraceBeginM(); + mHallOfFame = inHallOfFame; + Beagle_StackTraceEndM("void Deme::setHallOfFame(HallOfFame::Handle inHallOfFame)"); + } + + /*! + * \brief Set the migration buffer. + * \param inMigrationBuffer Migration buffer to use. + */ + inline void setMigrationBuffer(Individual::Bag::Handle inMigrationBuffer) + { + Beagle_StackTraceBeginM(); + mMigrationBuffer = inMigrationBuffer; + Beagle_StackTraceEndM("void Deme::setMigrationBuffer(Individual::Bag::Handle inMigrationBuffer)"); + } + + /*! + * \brief Set the statistics allocator. + * \param inStatsAlloc Statistics allocator. + */ + inline void setStatsAlloc(Stats::Alloc::Handle inStatsAlloc) + { + Beagle_StackTraceBeginM(); + mStatsAlloc = inStatsAlloc; + Beagle_StackTraceEndM("void Deme::setStatsAlloc(Stats::Alloc::Handle inStatsAlloc)"); + } + + /*! + * \brief Set the statistics. + * \param inStats Statistics. + */ + inline void setStats(Stats::Handle inStats) + { + Beagle_StackTraceBeginM(); + mStats = inStats; + Beagle_StackTraceEndM("void Deme::setStats(Stats::Handle inStats)"); + } + +protected: + HallOfFame::Alloc::Handle mHOFAlloc; //!< Hall-of-fame allocator. + HallOfFame::Handle mHallOfFame; //!< Deme hall-of-fame. + Individual::Bag::Handle mMigrationBuffer; //!< Migration buffer. + Stats::Alloc::Handle mStatsAlloc; //!< Statistics allocator. + Stats::Handle mStats; //!< Deme statistics. + +public: + virtual void read(PACC::XML::ConstIterator inIter); // Undefined for Deme! + +}; + +} + +#endif // Beagle_Deme_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/DemeAlloc.hpp b/lib/beagle-3.0.3/beagle/include/beagle/DemeAlloc.hpp new file mode 100644 index 0000000..7f091f0 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/DemeAlloc.hpp @@ -0,0 +1,209 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/DemeAlloc.hpp + * \brief Definition of the class DemeAlloc. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:10 $ + */ + +#ifndef Beagle_DemeAlloc_hpp +#define Beagle_DemeAlloc_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/ContainerAllocatorT.hpp" +#include "beagle/Stats.hpp" +#include "beagle/IndividualAlloc.hpp" +#include "beagle/Individual.hpp" +#include "beagle/IndividualBag.hpp" +#include "beagle/Genotype.hpp" +#include "beagle/HallOfFame.hpp" + +namespace Beagle { + +/*! + * \brief Typedef of the type from which class Beagle::DemeAlloc inherits. + * \warning This is a workaround for MS Visual C++ .NET, which seems to have difficulty + * to fall on its feet with the type Individual::Bag::Alloc. + * \related Beagle::DemeAlloc + * \ingroup Allocs + */ +typedef Individual::Bag::Alloc + DemeAllocBaseType; + +/*! + * \class DemeAlloc beagle/DemeAlloc.hpp "beagle/DemeAlloc.hpp" + * \brief Deme specific allocator type. + * \ingroup ECF + * \ingroup Pop + * \ingroup Allocs + */ +class DemeAlloc : public DemeAllocBaseType { + +public: + + //! DemeAlloc allocator type. + typedef AllocatorT + Alloc; + //! DemeAlloc handle type. + typedef PointerT + Handle; + //! DemeAlloc bag type. + typedef ContainerT + Bag; + + explicit DemeAlloc(Individual::Alloc::Handle inIndividualAlloc=NULL); + explicit DemeAlloc(Individual::Alloc::Handle inIndividualAlloc, + Stats::Alloc::Handle inStatsAlloc, + HallOfFame::Alloc::Handle inHOFAlloc); + virtual ~DemeAlloc() { } + + virtual Object* allocate() const; + virtual Object* clone(const Object& inOrigObj) const; + virtual Container* cloneData(const Container& inOrigContainer) const; + virtual void copy(Object& outCopyObj, const Object& inOrigObj) const; + virtual void copyData(Container& outCopyContainer, const Container& inOrigContainer) const; + + /*! + * \brief Get the hall-of-fame allocator of the deme. + * \return Hall-of-fame allocator. + */ + inline const HallOfFame::Alloc::Handle getHallOfFameAlloc() const + { + Beagle_StackTraceBeginM(); + return mHOFAlloc; + Beagle_StackTraceEndM("const HallOfFame::Alloc::Handle DemeAlloc::getHallOfFameAlloc() const"); + } + + /*! + * \brief Get the hall-of-fame allocator of the deme. + * \return Hall-of-fame allocator. + */ + inline HallOfFame::Alloc::Handle getHallOfFameAlloc() + { + Beagle_StackTraceBeginM(); + return mHOFAlloc; + Beagle_StackTraceEndM("HallOfFame::Alloc::Handle DemeAlloc::getHallOfFameAlloc()"); + } + + /*! + * \brief Set the hall-of-fame allocator of the deme. + * \param inHOFAlloc Hall-of-fame allocator. + */ + inline void setHallOfFameAlloc(HallOfFame::Alloc::Handle inHOFAlloc) + { + Beagle_StackTraceBeginM(); + mHOFAlloc = inHOFAlloc; + Beagle_StackTraceEndM("void DemeAlloc::setHallOfFameAlloc(HallOfFame::Alloc::Handle inHOFAlloc)"); + } + + /*! + * \brief Get the statistics allocator of the deme. + * \return Statistics allocator. + */ + inline const Stats::Alloc::Handle getStatsAlloc() const + { + Beagle_StackTraceBeginM(); + return mStatsAlloc; + Beagle_StackTraceEndM("const Stats::Alloc::Handle DemeAlloc::getStatsAlloc() const"); + } + + /*! + * \brief Get the statistics allocator of the deme. + * \return Statistics allocator. + */ + inline Stats::Alloc::Handle getStatsAlloc() + { + Beagle_StackTraceBeginM(); + return mStatsAlloc; + Beagle_StackTraceEndM("Stats::Alloc::Handle DemeAlloc::getStatsAlloc()"); + } + + /*! + * \brief Set the statistics allocator of the deme. + * \param inStatsAlloc Statistics allocator. + */ + inline void setStatsAlloc(Stats::Alloc::Handle inStatsAlloc) + { + Beagle_StackTraceBeginM(); + mStatsAlloc = inStatsAlloc; + Beagle_StackTraceEndM("void DemeAlloc::setStatsAlloc(Stats::Alloc::Handle inStatsAlloc)"); + } + + /*! + * \brief Get the individual allocator. + * \return Constant handle to the individual allocator. + */ + inline const Individual::Alloc::Handle getContainerTypeAlloc() const + { + Beagle_StackTraceBeginM(); + return castHandleT(mContainerTypeAlloc); + Beagle_StackTraceEndM("const Individual::Alloc::Handle DemeAlloc::getContainerTypeAlloc() const"); + } + + /*! + * \brief Get the individual allocator. + * \return Handle to the individual allocator. + */ + inline Individual::Alloc::Handle getContainerTypeAlloc() + { + Beagle_StackTraceBeginM(); + return castHandleT(mContainerTypeAlloc); + Beagle_StackTraceEndM("Individual::Alloc::Handle DemeAlloc::getContainerTypeAlloc()"); + } + + /*! + * \brief Set the Individual allocator. + * \param inIndividualAlloc The new Individual allocator. + */ + inline void setContainerTypeAlloc(Individual::Alloc::Handle inIndividualAlloc) + { + Beagle_StackTraceBeginM(); + mContainerTypeAlloc = inIndividualAlloc; + Beagle_StackTraceEndM("void DemeAlloc::setContainerTypeAlloc(Individual::Alloc::Handle inIndividualAlloc)"); + } + +protected: + HallOfFame::Alloc::Handle mHOFAlloc; //!< Hall-of-fame allocator. + Stats::Alloc::Handle mStatsAlloc; //!< Statistics allocator. + +}; + +} + +#endif // Beagle_DemeAlloc_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/DemeAllocT.hpp b/lib/beagle-3.0.3/beagle/include/beagle/DemeAllocT.hpp new file mode 100644 index 0000000..99cc1fc --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/DemeAllocT.hpp @@ -0,0 +1,264 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/DemeAllocT.hpp + * \brief Implementation of the class template DemeAllocT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:10 $ + */ + +#ifndef Beagle_DemeAllocT_hpp +#define Beagle_DemeAllocT_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/DemeAlloc.hpp" +#include "beagle/Individual.hpp" +#include "beagle/Stats.hpp" +#include "beagle/BadCastException.hpp" + +namespace Beagle { + + +/*! + * \class DemeAllocT beagle/DemeAllocT.hpp "beagle/DemeAllocT.hpp" + * \brief Allocator template class for deme derived types. + * \param T The deme type allocated. + * \param BaseType The base type from which the actual allocator type is derived. + * \param IndividualAllocType Individual allocator type used to fill the demes. + * \ingroup ECF + * \ingroup Pop + * \ingroup Allocs + */ +template +class DemeAllocT : public BaseType { + +public: + + //! DemeAllocT allocator type. + typedef AllocatorT,typename BaseType::Alloc> + Alloc; + //! DemeAllocT handle type. + typedef PointerT,typename BaseType::Handle> + Handle; + //! DemeAllocT mixed bag type. + typedef ContainerT,typename BaseType::Bag> + Bag; + + explicit DemeAllocT(typename IndividualAllocType::Handle inIndividualAlloc=NULL); + explicit DemeAllocT(typename IndividualAllocType::Handle inIndividualAlloc, + Beagle::Stats::Alloc::Handle inStatsAlloc, + Beagle::HallOfFame::Alloc::Handle inHOFAlloc); + virtual ~DemeAllocT() { } + + virtual Object* allocate() const; + virtual Object* clone(const Object& inOrigObj) const; + virtual Container* cloneData(const Container& inOrigContainer) const; + virtual void copy(Object& outCopyObj, const Object& inOrigObj) const; + virtual void copyData(Container& outCopyContainer, const Container& inOrigContainer) const; + + /*! + * \brief Get the individual allocator. + * \return Constant handle to the individual allocator. + */ + inline const typename IndividualAllocType::Handle getContainerTypeAlloc() const + { + Beagle_StackTraceBeginM(); + return castHandleT(BaseType::mContainerTypeAlloc); + Beagle_StackTraceEndM("const IndividualAllocType::Handle DemeAllocT::getContainerTypeAlloc() const"); + } + + /*! + * \brief Get the bag contained type allocator. + * \return Handle to the bag contained type allocator. + */ + inline typename IndividualAllocType::Handle getContainerTypeAlloc() + { + Beagle_StackTraceBeginM(); + return castHandleT(BaseType::mContainerTypeAlloc); + Beagle_StackTraceEndM("IndividualAllocType::Handle DemeAllocT::getContainerTypeAlloc()"); + } + + /*! + * \brief Set the bag contained type allocator. + * \param inIndividualAllocType The new bag contained type allocator. + */ + inline void setContainerTypeAlloc(typename IndividualAllocType::Handle inIndividualAllocType) + { + Beagle_StackTraceBeginM(); + BaseType::mContainerTypeAlloc = inIndividualAllocType; + Beagle_StackTraceEndM("void DemeAllocT::setContainerTypeAlloc(IndividualAllocType::Handle inIndividualAllocType)"); + } + +}; + +} + + +/*! + * \brief Constructor of deme allocator from an individual allocator. + * \param inIndividualAlloc Type allocator given to the individual allocated. + */ +template +Beagle::DemeAllocT::DemeAllocT( + typename IndividualAllocType::Handle inIndividualAlloc) : + BaseType(inIndividualAlloc) +{ } + + +/*! + * \brief Constructor of deme allocator from an individual allocator and a statistics allocator. + * \param inIndividualAlloc Type allocator given to the individual allocated. + * \param inStatsAlloc Stats type allocator. + * \param inHOFAlloc Hall-of-fame allocator. + */ +template +Beagle::DemeAllocT::DemeAllocT( + typename IndividualAllocType::Handle inIndividualAlloc, + Beagle::Stats::Alloc::Handle inStatsAlloc, + Beagle::HallOfFame::Alloc::Handle inHOFAlloc) : + BaseType(inIndividualAlloc, inStatsAlloc, inHOFAlloc) +{ } + + +/*! + * \brief Allocate a new deme and the heap by giving it the type allocator. + * \return Pointer to the allocated deme. + */ +template +Beagle::Object* Beagle::DemeAllocT::allocate() const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + T* lT = new T(castHandleT(BaseType::mContainerTypeAlloc), + BaseType::mStatsAlloc, BaseType::mHOFAlloc); + if(!lT) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lT; +#else // BEAGLE_NDEBUG + return new T(castHandleT(BaseType::mContainerTypeAlloc), + BaseType::mStatsAlloc, BaseType::mHOFAlloc); +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object* DemeAllocT::allocate() const"); +} + + +/*! + * \brief Allocate a new deme on the heap that is a clone an existing deme. + * \param inOrigObj Constant reference to the original deme object to clone. + * \return Pointer to the allocated deme. + */ +template +Beagle::Object* Beagle::DemeAllocT::clone( + const Beagle::Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigObj); + T* lT = new T(lOrigT); + if(!lT) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lT; +#else // BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigObj); + return new T(lOrigT); +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object* DemeAllocT::clone(const Object& inOrigObj) const"); +} + + +/*! + * \brief Allocate a new deme on the heap that is a clone an existing deme. + * Make a complete copy of the demes. + * \param inOrigContainer Constant reference to the original deme object to clone. + * \return Pointer to the allocated deme. + */ +template +Beagle::Container* Beagle::DemeAllocT::cloneData( + const Beagle::Container& inOrigContainer) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigContainer); + T* lT = new T(castHandleT(BaseType::mContainerTypeAlloc), + BaseType::mStatsAlloc, BaseType::mHOFAlloc); + if(!lT) throw Beagle_InternalExceptionM("Out-of-memory!"); + lT->copyData(lOrigT); + return lT; +#else // BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigContainer); + T* lT = new T(castHandleT(BaseType::mContainerTypeAlloc), + BaseType::mStatsAlloc, BaseType::mHOFAlloc); + lT->copyData(lOrigT); + return lT; +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Container* DemeAllocT::cloneData(const Container& inOrigContainer) const"); +} + + +/*! + * \brief Copy a deme into another. + * \param outCopyObj Constant reference to the original deme to copy. + * \param inOrigObj Reference to the deme that is a copy of the original. + */ +template +void Beagle::DemeAllocT::copy( + Beagle::Object& outCopyObj, const Beagle::Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); + T& lCopyT = castObjectT(outCopyObj); + const T& lOrigT = castObjectT(inOrigObj); + lCopyT = lOrigT; + Beagle_StackTraceEndM("void DemeAllocT::copy(Object& outCopyObj, const Object& inOrigObj) const"); +} + + +/*! + * \brief Copy a deme into another with the contained data. + * \param outCopyContainer Constant reference to the original deme to copy. + * \param inOrigContainer Reference to the deme that is a copy of the original. + */ +template +void Beagle::DemeAllocT::copyData( + Beagle::Container& outCopyContainer, const Beagle::Container& inOrigContainer) const +{ + Beagle_StackTraceBeginM(); + T& lCopyT = castObjectT(outCopyContainer); + const T& lOrigT = castObjectT(inOrigContainer); + lCopyT.copyData(lOrigT); + Beagle_StackTraceEndM("void DemeAllocT::copyData(Container& outCopyContainer, const Container& inOrigContainer) const"); +} + + +#endif // Beagle_DemeAlloc_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Double.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Double.hpp new file mode 100644 index 0000000..3bc776b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Double.hpp @@ -0,0 +1,515 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Double.hpp + * \brief Definition of the type Double and related operators. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:10 $ + */ + +#ifndef Beagle_Double_hpp +#define Beagle_Double_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/ArrayT.hpp" + + +namespace Beagle { + +/*! + * \brief Beagle wrapper of the atomic double type. + * \ingroup Adapt + */ +typedef WrapperT< double > + Double; + +/*! + * \brief Beagle array of the atomic double type. + * \ingroup Adapt + */ +typedef ArrayT< double > + DoubleArray; + +/*! + * \brief Evaluate absolute value of a Beagle::Double. + * \param inValue Double to evaluate the absolute value. + * \return Absolute value of the input. + * \ingroup Adapt + */ +template <> +inline Double absolute(const Double& inValue) +{ + Beagle_StackTraceBeginM(); + return Double(std::fabs(inValue.getWrappedValue())); + Beagle_StackTraceEndM("Double absolute(const Double& inValue)"); +} + +} + + +/*! + * \brief Test whether an double is less than another. + * \param inLeftDouble Left double compared. + * \param inRightDouble Right double compared. + * \return True if left double is less than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::Double. + */ +inline bool operator<(const Beagle::Double& inLeftDouble, const Beagle::Double& inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inLeftDouble.isLess(inRightDouble); + Beagle_StackTraceEndM("bool operator<(const Double& inLeftDouble, const Double& inRightDouble)"); +} + + +/*! + * \brief Test whether an double is less than, or equal to another. + * \param inLeftDouble Left double compared. + * \param inRightDouble Right double compared. + * \return True if left double is less than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::Double. + */ +inline bool operator<=(const Beagle::Double& inLeftDouble, const Beagle::Double& inRightDouble) +{ + Beagle_StackTraceBeginM(); + return ( inLeftDouble.isLess(inRightDouble) || inLeftDouble.isEqual(inRightDouble) ); + Beagle_StackTraceEndM("bool operator<=(const Double& inLeftDouble, const Double& inRightDouble)"); +} + + +/*! + * \brief Test whether an double is more than another. + * \param inLeftDouble Left double compared. + * \param inRightDouble Right double compared. + * \return True if left double is more than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::Double. + */ +inline bool operator>(const Beagle::Double& inLeftDouble, const Beagle::Double& inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inRightDouble.isLess(inLeftDouble); + Beagle_StackTraceEndM("bool operator>(const Double& inLeftDouble, const Double& inRightDouble)"); +} + + +/*! + * \brief Test whether an double is more than, or equal to another. + * \param inLeftDouble Left double compared. + * \param inRightDouble Right double compared. + * \return True if left double is more than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::Double. + */ +inline bool operator>=(const Beagle::Double& inLeftDouble, const Beagle::Double& inRightDouble) +{ + Beagle_StackTraceBeginM(); + return ( inRightDouble.isLess(inLeftDouble) || inLeftDouble.isEqual(inRightDouble) ); + Beagle_StackTraceEndM("bool operator>=(const Double& inLeftDouble, const Double& inRightDouble)"); +} + + +/*! + * \brief Test whether an double is equal to another. + * \param inLeftDouble Left double compared. + * \param inRightDouble Right double compared. + * \return True if left double is equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::Double. + */ +inline bool operator==(const Beagle::Double& inLeftDouble, const Beagle::Double& inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inLeftDouble.isEqual(inRightDouble); + Beagle_StackTraceEndM("bool operator==(const Double& inLeftDouble, const Double& inRightDouble)"); +} + + +/*! + * \brief Test whether an double is not equal to another. + * \param inLeftDouble Left double compared. + * \param inRightDouble Right double compared. + * \return True if left double is not equal to the right one, false if it is. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::Double. + */ +inline bool operator!=(const Beagle::Double& inLeftDouble, const Beagle::Double& inRightDouble) +{ + Beagle_StackTraceBeginM(); + return ( inLeftDouble.isEqual(inRightDouble) == false); + Beagle_StackTraceEndM("bool operator!=(const Double& inLeftDouble, const Double& inRightDouble)"); +} + + +/*! + * \brief Compare equality of a Double with a double. + * \param inLeftDouble Left value to compare. + * \param inRightDouble Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator==(const Beagle::Double& inLeftDouble, double inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inLeftDouble.getWrappedValue() == inRightDouble; + Beagle_StackTraceEndM("bool operator==(const Double& inLeftDouble, double inRightDouble)"); +} + + +/*! + * \brief Compare inequality of a Double with a double. + * \param inLeftDouble Left value to compare. + * \param inRightDouble Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator!=(const Beagle::Double& inLeftDouble, double inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inLeftDouble.getWrappedValue() != inRightDouble; + Beagle_StackTraceEndM("bool operator!=(const Double& inLeftDouble, double inRightDouble)"); +} + + +/*! + * \brief Test if a Double is < than a double. + * \param inLeftDouble Left value to compare. + * \param inRightDouble Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<(const Beagle::Double& inLeftDouble, double inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inLeftDouble.getWrappedValue() < inRightDouble; + Beagle_StackTraceEndM("ool operator<(const Double& inLeftDouble, double inRightDouble)"); +} + + +/*! + * \brief Test if a Double is <= than a double. + * \param inLeftDouble Left value to compare. + * \param inRightDouble Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<=(const Beagle::Double& inLeftDouble, double inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inLeftDouble.getWrappedValue() <= inRightDouble; + Beagle_StackTraceEndM("bool operator<=(const Double& inLeftDouble, double inRightDouble)"); +} + + +/*! + * \brief Test if a Double is > than a double. + * \param inLeftDouble Left value to compare. + * \param inRightDouble Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>(const Beagle::Double& inLeftDouble, double inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inLeftDouble.getWrappedValue() > inRightDouble; + Beagle_StackTraceEndM("bool operator>(const Double& inLeftDouble, double inRightDouble)"); +} + + +/*! + * \brief Test if a Double is >= than a double. + * \param inLeftDouble Left value to compare. + * \param inRightDouble Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>=(const Beagle::Double& inLeftDouble, double inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inLeftDouble.getWrappedValue() >= inRightDouble; + Beagle_StackTraceEndM("bool operator>=(const Double& inLeftDouble, double inRightDouble)"); +} + + +/*! + * \brief Add two Double. + * \param inLeftDouble Left value to add. + * \param inRightDouble Right value to add. + * \return Result of the addition. + */ +inline +Beagle::Double operator+(const Beagle::Double& inLeftDouble, const Beagle::Double& inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inLeftDouble.getWrappedValue() + inRightDouble.getWrappedValue(); + Beagle_StackTraceEndM("Double operator+(const Double& inLeftDouble, const Double& inRightDouble)"); +} + + +/*! + * \brief Add a Double with a double. + * \param inLeftDouble Left value to add. + * \param inRightDouble Right value to add. + * \return Result of the addition. + */ +inline +Beagle::Double operator+(const Beagle::Double& inLeftDouble, double inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inLeftDouble.getWrappedValue() + inRightDouble; + Beagle_StackTraceEndM("Double operator+(const Double& inLeftDouble, double inRightDouble)"); +} + + +/*! + * \brief Add a Double to a Double. + * \param inLeftDouble Left value to which the right one is added. + * \param inRightDouble Value to add. + * \return Result of the addition. + */ +inline +Beagle::Double operator+=(Beagle::Double& inLeftDouble, const Beagle::Double& inRightDouble) +{ + Beagle_StackTraceBeginM(); + inLeftDouble.getWrappedValue() += inRightDouble.getWrappedValue(); + return inLeftDouble; + Beagle_StackTraceEndM("Double operator+=(Double& inLeftDouble, const Double& inRightDouble)"); +} + + +/*! + * \brief Add a double to a Double. + * \param inLeftDouble Left value to which the right one is added. + * \param inRightDouble Value to add. + * \return Result of the addition. + */ +inline +Beagle::Double operator+=(Beagle::Double& inLeftDouble, double inRightDouble) +{ + Beagle_StackTraceBeginM(); + inLeftDouble.getWrappedValue() += inRightDouble; + return inLeftDouble; + Beagle_StackTraceEndM("Double operator+=(Double& inLeftDouble, double inRightDouble)"); +} + + +/*! + * \brief Subtract two Double. + * \param inLeftDouble Left value to subtract. + * \param inRightDouble Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::Double operator-(const Beagle::Double& inLeftDouble, const Beagle::Double& inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inLeftDouble.getWrappedValue() - inRightDouble.getWrappedValue(); + Beagle_StackTraceEndM("Double operator-(const Double& inLeftDouble, const Double& inRightDouble)"); +} + + +/*! + * \brief Subtract a double from a Double. + * \param inLeftDouble Left value to subtract. + * \param inRightDouble Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::Double operator-(const Beagle::Double& inLeftDouble, double inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inLeftDouble.getWrappedValue() - inRightDouble; + Beagle_StackTraceEndM("Double operator-(const Double& inLeftDouble, double inRightDouble)"); +} + + +/*! + * \brief Subtract a Double from a Double. + * \param inLeftDouble Left value from which the right double is subtracted. + * \param inRightDouble Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::Double operator-=(Beagle::Double& inLeftDouble, const Beagle::Double& inRightDouble) +{ + Beagle_StackTraceBeginM(); + inLeftDouble.getWrappedValue() -= inRightDouble.getWrappedValue(); + return inLeftDouble; + Beagle_StackTraceEndM("Double operator-=(Double& inLeftDouble, const Double& inRightDouble)"); +} + + +/*! + * \brief Subtract a double from a Double. + * \param inLeftDouble Left value from which the right double is subtracted. + * \param inRightDouble Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::Double operator-=(Beagle::Double& inLeftDouble, double inRightDouble) +{ + Beagle_StackTraceBeginM(); + inLeftDouble.getWrappedValue() -= inRightDouble; + return inLeftDouble; + Beagle_StackTraceEndM("Double operator-=(Double& inLeftDouble, double inRightDouble)"); +} + + +/*! + * \brief Multiply two Double. + * \param inLeftDouble Left value to multiply. + * \param inRightDouble Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::Double operator*(const Beagle::Double& inLeftDouble, const Beagle::Double& inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inLeftDouble.getWrappedValue() * inRightDouble.getWrappedValue(); + Beagle_StackTraceEndM("Double operator*(const Double& inLeftDouble, const Double& inRightDouble)"); +} + + +/*! + * \brief Multiply a Double with a double. + * \param inLeftDouble Left value to multiply. + * \param inRightDouble Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::Double operator*(const Beagle::Double& inLeftDouble, double inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inLeftDouble.getWrappedValue() * inRightDouble; + Beagle_StackTraceEndM("Double operator*(const Double& inLeftDouble, double inRightDouble)"); +} + + +/*! + * \brief Multiply a Double with a Double. + * \param inLeftDouble Left value to which the right double is multiplied. + * \param inRightDouble Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::Double operator*=(Beagle::Double& inLeftDouble, const Beagle::Double& inRightDouble) +{ + Beagle_StackTraceBeginM(); + inLeftDouble.getWrappedValue() *= inRightDouble.getWrappedValue(); + return inLeftDouble; + Beagle_StackTraceEndM("Double operator*=(Double& inLeftDouble, const Double& inRightDouble)"); +} + + +/*! + * \brief Multiply a Double with a double. + * \param inLeftDouble Left value from which the right double is multiplied. + * \param inRightDouble Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::Double operator*=(Beagle::Double& inLeftDouble, double inRightDouble) +{ + Beagle_StackTraceBeginM(); + inLeftDouble.getWrappedValue() *= inRightDouble; + return inLeftDouble; + Beagle_StackTraceEndM("Double operator*=(Double& inLeftDouble, double inRightDouble)"); +} + + +/*! + * \brief Divide two Double. + * \param inLeftDouble Left value to divide. + * \param inRightDouble Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Double operator/(const Beagle::Double& inLeftDouble, const Beagle::Double& inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inLeftDouble.getWrappedValue() / inRightDouble.getWrappedValue(); + Beagle_StackTraceEndM("Double operator/(const Double& inLeftDouble, const Double& inRightDouble)"); +} + + +/*! + * \brief Divide a Double with a double. + * \param inLeftDouble Left value to divide. + * \param inRightDouble Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Double operator/(const Beagle::Double& inLeftDouble, double inRightDouble) +{ + Beagle_StackTraceBeginM(); + return inLeftDouble.getWrappedValue() / inRightDouble; + Beagle_StackTraceEndM("Double operator/(const Double& inLeftDouble, double inRightDouble)"); +} + + +/*! + * \brief Divide a Double with a Double. + * \param inLeftDouble Left value to which the right double is divided. + * \param inRightDouble Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Double operator/=(Beagle::Double& inLeftDouble, const Beagle::Double& inRightDouble) +{ + Beagle_StackTraceBeginM(); + inLeftDouble.getWrappedValue() /= inRightDouble.getWrappedValue(); + return inLeftDouble; + Beagle_StackTraceEndM("Double operator/=(Double& inLeftDouble, const Double& inRightDouble)"); +} + + +/*! + * \brief Divide a Double with a double. + * \param inLeftDouble Left value from which the right double is divided. + * \param inRightDouble Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Double operator/=(Beagle::Double& inLeftDouble, double inRightDouble) +{ + Beagle_StackTraceBeginM(); + inLeftDouble.getWrappedValue() /= inRightDouble; + return inLeftDouble; + Beagle_StackTraceEndM("Double operator/=(Double& inLeftDouble, double inRightDouble)"); +} + + +#endif // Beagle_Double_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/EvaluationMultipleOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/EvaluationMultipleOp.hpp new file mode 100644 index 0000000..1b322a4 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/EvaluationMultipleOp.hpp @@ -0,0 +1,189 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/EvaluationMultipleOp.hpp + * \brief Definition of the class EvaluationMultipleOp. + * \author Matthew Walker + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:10 $ + */ + +#ifndef Beagle_EvaluationMultipleOp_hpp +#define Beagle_EvaluationMultipleOp_hpp + +#include +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/UInt.hpp" +#include "beagle/System.hpp" +#include "beagle/Context.hpp" +#include "beagle/Logger.hpp" +#include "beagle/BreederOp.hpp" + + +namespace Beagle { + +/*! + * \class EvaluationMultipleOp beagle/EvaluationMultipleOp.hpp "beagle/EvaluationMultipleOp.hpp" + * \brief Multiple individual evaluation operator class. + * \ingroup ECF + * \ingroup Op + * \ingroup FitStats + */ +class EvaluationMultipleOp : public EvaluationOp { + +public: + + //! EvaluationMultipleOp allocator type. + typedef AbstractAllocT + Alloc; + //! EvaluationMultipleOp handle type. + typedef PointerT + Handle; + //! EvaluationMultipleOp bag type. + typedef ContainerT + Bag; + + explicit EvaluationMultipleOp(unsigned int inIndisPerCaseAndGroup=0, + string inName="EvaluationMultipleOp"); + explicit EvaluationMultipleOp(unsigned int inIndisPerCase, + unsigned int inIndisPerGroup, + string inName="EvaluationMultipleOp"); + virtual ~EvaluationMultipleOp() { } + + /*! + * \brief Combine two fitnesses into one. + * \param ioFitness1 First fitness to combine and result from the combination. + * \param inFitness2 Second fitness to combine. + */ + virtual void combineFitnesses(Fitness::Handle ioFitness1, + const Fitness::Handle inFitness2) const =0; + + /*! + * \brief Evaluate the fitness of a set of individuals. + * \param inIndividuals The individuals to evaluate. + * \param ioContexts Evolutionary contexts. + * \return Handle to the set of fitness values of the individuals. + * + * The index of the individual will be the same as the index for + * the individual's fitness. + */ + virtual Fitness::Bag::Handle evaluateCase(Individual::Bag& inIndividuals, + Context::Bag& ioContexts) =0; + + /*! + * \brief Set number of individual per evaluation cases. + * \param inIndisPerCase Number of individual per evaluation cases. + */ + inline void setIndisPerCase(unsigned int inIndisPerCase) + { + Beagle_StackTraceBeginM(); + mIndisPerCase=inIndisPerCase; + Beagle_StackTraceEndM("void EvaluationMultipleOp::setIndisPerCase(unsigned int inIndisPerCase)"); + } + + /*! + * \brief Set number of individual per groups. + * \param inIndisPerGroup Number of individual per evaluation groups. + */ + inline void setIndisPerGroup(unsigned int inIndisPerGroup) + { + Beagle_StackTraceBeginM(); + mIndisPerGroup=inIndisPerGroup; + Beagle_StackTraceEndM("void EvaluationMultipleOp::setIndisPerGroup(unsigned int inIndisPerGroup)"); + } + + /*! + * \return Number of individual per evaluation cases. + */ + inline unsigned int getIndisPerCase() const + { + Beagle_StackTraceBeginM(); + return mIndisPerCase; + Beagle_StackTraceEndM("unsigned int EvaluationMultipleOp::getIndisPerCase() const"); + } + + /*! + * \return Number of individual per groups. + */ + inline unsigned int getIndisPerGroup() const + { + Beagle_StackTraceBeginM(); + return mIndisPerGroup; + Beagle_StackTraceEndM("unsigned int EvaluationMultipleOp::getIndisPerGroup() const"); + } + + virtual Individual::Handle breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext); + virtual Fitness::Handle evaluate(Individual& inIndividual, Context& ioContext); + virtual Fitness::Bag::Handle evaluateIndividuals(Individual::Bag& ioIndividuals, Context::Bag& ioContexts); + virtual void operate(Deme& ioDeme, Context& ioContext); + + +protected: + + struct Case : public Beagle::Object { + //! Case allocator type. + typedef AbstractAllocT + Alloc; + //! Case handle type. + typedef PointerT + Handle; + //! Case bag type. + typedef ContainerT + Bag; + + virtual string getName() {return "Case";} + + std::vector< unsigned int,BEAGLE_STLALLOCATOR > mIndices; + }; + + virtual unsigned int enlargeGroup(Individual::Bag& ioIndividuals, Context::Bag& ioContexts); + virtual Case::Bag::Handle pruneIgnorableCases(unsigned int inNumToIgnore); + virtual void setupCases(unsigned int inSize, Context& ioContext); + virtual void setupCaseRecursive(unsigned int inSize, + unsigned int inLastIndex, + Case::Handle inCase); + + Case::Bag::Handle mCases; //!< Evaluation cases. + unsigned int mIndisPerCase; //!< Number of individual per cases. + unsigned int mIndisPerGroup; //!< Number of individual per groups. + +}; + +} // end of Beagle namespace + + +#endif // Beagle_EvaluationMultipleOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/EvaluationOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/EvaluationOp.hpp new file mode 100644 index 0000000..3f9dff4 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/EvaluationOp.hpp @@ -0,0 +1,111 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/EvaluationOp.hpp + * \brief Definition of the class EvaluationOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:10 $ + */ + +#ifndef Beagle_EvaluationOp_hpp +#define Beagle_EvaluationOp_hpp + +#include +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/UInt.hpp" +#include "beagle/System.hpp" +#include "beagle/Context.hpp" +#include "beagle/Logger.hpp" +#include "beagle/BreederOp.hpp" + +namespace Beagle { + +/*! + * \class EvaluationOp beagle/EvaluationOp.hpp "beagle/EvaluationOp.hpp" + * \brief Abstract evaluation operator class. + * \ingroup ECF + * \ingroup Op + * \ingroup FitStats + */ +class EvaluationOp : public BreederOp { + +public: + + //! EvaluationOp allocator type. + typedef AbstractAllocT + Alloc; + //! EvaluationOp handle type. + typedef PointerT + Handle; + //! EvaluationOp bag type. + typedef ContainerT + Bag; + + explicit EvaluationOp(string inName="EvaluationOp"); + virtual ~EvaluationOp() { } + + /*! + * \brief Evaluate the fitness of the given individual. + * \param inIndividual Current individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness value of the individual. + */ + virtual Fitness::Handle evaluate(Individual& inIndividual, Context& ioContext) = 0; + + virtual Individual::Handle breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext); + virtual float getBreedingProba(BreederNode::Handle inChild); + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + virtual Fitness::Handle test(Individual::Handle inIndividual, System::Handle ioSystem); + +protected: + + virtual void prepareStats(Deme& ioDeme, Context& ioContext); + virtual void updateHallOfFameWithDeme(Deme& ioDeme, Context& ioContext); + virtual void updateHallOfFameWithIndividual(Individual& ioIndividual, Context& ioContext); + virtual void updateStats(unsigned int inNumProcessed, Context& ioContext); + + UInt::Handle mVivaHOFSize; + UInt::Handle mDemeHOFSize; + +}; + +} + +#endif // Beagle_EvaluationOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Evolver.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Evolver.hpp new file mode 100644 index 0000000..8f538bb --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Evolver.hpp @@ -0,0 +1,179 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Evolver.hpp + * \brief Definition of the class Evolver. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:10 $ + */ + +#ifndef Beagle_Evolver_hpp +#define Beagle_Evolver_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/System.hpp" +#include "beagle/Operator.hpp" +#include "beagle/Map.hpp" +#include "beagle/OperatorMap.hpp" +#include "beagle/Vivarium.hpp" +#include "beagle/ConfigurationDumper.hpp" +#include "beagle/UInt.hpp" + +namespace Beagle { + +/*! + * \class Evolver beagle/Evolver.hpp "beagle/Evolver.hpp" + * \brief Beagle's basic evolver class. + * \ingroup ECF + * \ingroup Op + */ +class Evolver : public Object { + +public: + + //! Evolver allocator type. + typedef AllocatorT + Alloc; + //! Evolver handle type. + typedef PointerT + Handle; + //! Evolver bag type. + typedef ContainerT + Bag; + + Evolver(); + virtual ~Evolver() { } + + void addBootStrapOp(string inName); + void addMainLoopOp(string inName); + void addOperator(Operator::Handle inOperator); + const Operator::Handle getOperator(string inName) const; + Operator::Handle getOperator(string inName); + virtual void initialize(System::Handle ioSystem, int& ioArgc, char** ioArgv); + virtual void initialize(System::Handle ioSystem, string inConfigFilename); + virtual void evolve(Vivarium::Handle ioVivarium); + virtual void read(PACC::XML::ConstIterator inIter); + virtual void readEvolverFile(string inFilename); + Operator::Handle removeOperator(string inName); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Return a constant reference to the bootstrap operator set. + * \return Bootstrap operator set constant reference. + */ + inline const Operator::Bag& getBootStrapSet() const + { + Beagle_StackTraceBeginM(); + return mBootStrapSet; + Beagle_StackTraceEndM("const Operator::Bag& Evolver::getBootStrapSet() const"); + } + + /*! + * \brief Return a reference to the bootstrap operator set. + * \return Bootstrap operator set reference. + */ + inline Operator::Bag& getBootStrapSet() + { + Beagle_StackTraceBeginM(); + return mBootStrapSet; + Beagle_StackTraceEndM("Operator::Bag& Evolver::getBootStrapSet()"); + } + + /*! + * \brief Return a constant reference to the main-loop operator set. + * \return Main-loop operator set constant reference. + */ + inline const Operator::Bag& getMainLoopSet() const + { + Beagle_StackTraceBeginM(); + return mMainLoopSet; + Beagle_StackTraceEndM("const Operator::Bag& Evolver::getMainLoopSet() const"); + } + + /*! + * \brief Return a reference to the main-loop operator set. + * \return Main-loop operator set reference. + */ + inline Operator::Bag& getMainLoopSet() + { + Beagle_StackTraceBeginM(); + return mMainLoopSet; + Beagle_StackTraceEndM("Operator::Bag& Evolver::getMainLoopSet()"); + } + + /*! + * \return Operators map. + */ + inline OperatorMap& getOperatorMap() + { + Beagle_StackTraceBeginM(); + return mOperatorMap; + Beagle_StackTraceEndM("OperatorMap& Evolver::getOperatorMap()"); + } + + /*! + * \return Operators map. + */ + inline const OperatorMap& getOperatorMap() const + { + Beagle_StackTraceBeginM(); + return mOperatorMap; + Beagle_StackTraceEndM("const OperatorMap& Evolver::getOperatorMap() const"); + } + +protected: + virtual void addBasicOperators(); + virtual void initializeOperators(System& ioSystem); + virtual void logWelcomeMessages(); + virtual void parseCommandLine(System& ioSystem, int& ioArgc, char** ioArgv); + virtual void postInitOperators(System& ioSystem); + + System::Handle mSystemHandle; //!< Handle to the used system. + Operator::Bag mBootStrapSet; //!< Bootstrap operator set. + Operator::Bag mMainLoopSet; //!< Main-loop operator set. + OperatorMap mOperatorMap; //!< Operator map. + ConfigurationDumper::Handle mConfigDumper; //!< Configuration dumper to file parameter. + String::Handle mFileName; //!< Configuration file name. + UIntArray::Handle mPopSize; //!< Population size for the evolution. + +}; + +} + +#endif // Beagle_Evolver_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Exception.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Exception.hpp new file mode 100644 index 0000000..5589c10 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Exception.hpp @@ -0,0 +1,197 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Exception.hpp + * \brief Definition of class Exception. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:11 $ + */ + +/*! + * \defgroup Except Exceptions + * \ingroup OOF + * \brief Open BEAGLE custom exceptions, part of the Object Oriented Foundations. + * + * Open BEAGLE integrates the C++ exceptions mechanism. Keeping it OO, an hierarchy of exceptions are + * defined. At the top there is the abstract exception superclass, Beagle::Exception, from which + * every other Open BEAGLE exception classes inherit. This class inherit from the standard + * \c std::exception class, which allow catch of Open BEAGLE exceptions in a simple + * \c catch(std::exception&) expression. + * + */ + + +#ifndef Beagle_Exception_hpp +#define Beagle_Exception_hpp + +#include +#include +#include +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" + + +/*! + * \def Beagle_StackTraceBeginM + * \brief Used to declare the start of a section of code that will + * appear in an exception's stack trace + * \ingroup Except + */ +#ifndef BEAGLE_NDEBUG +#define Beagle_StackTraceBeginM() \ + try { +#else // BEAGLE_NDEBUG +#define Beagle_StackTraceBeginM() +#endif // BEAGLE_NDEBUG + + +/*! + * \def Beagle_StackTraceEndM + * \brief Used to declare the end of a section of code that will + * appear in an exception's stack trace + * \param NAME Function/method name that is traced. + * \ingroup Except + */ +#ifndef BEAGLE_NDEBUG +#define Beagle_StackTraceEndM(NAME) \ + } \ + catch (Beagle::Exception& inException) { \ + inException.pushStackTrace(NAME,__FILE__,__LINE__); \ + throw; \ + } +#else // BEAGLE_NDEBUG +#define Beagle_StackTraceEndM(NAME) +#endif // BEAGLE_NDEBUG + + +namespace Beagle { + +// Forward declarations +template class AbstractAllocT; +template class PointerT; +template class ContainerT; + +/*! + * \class Exception beagle/Exception.hpp "beagle/Exception.hpp" + * \brief Basic Beagle exception class. + * \ingroup OOF + * \ingroup Except + */ +class Exception : public Object, public std::exception { + +public: + + //! Exception allocator type. + typedef AbstractAllocT + Alloc; + //! Exception handle type. + typedef PointerT + Handle; + //! Exception bag type. + typedef ContainerT + Bag; + + explicit Exception(string inMessage=""); + + virtual ~Exception() throw() { } + + virtual void explain(std::ostream& ioES=std::cerr) throw(); + void terminate(std::ostream& ioES=std::cerr) throw(); + virtual const char* what() const throw(); + + /*! + * \brief Getting the actual name of a Beagle exception. + * \return Exception name. + */ + virtual const char* getExceptionName() const throw() =0; + + /*! + * \brief Return error message of the actual exception. + * \return Error message. + */ + inline string getMessage() const throw() + { + return mMessage; + } + + /*! + * \brief Add an item to the exception's stack trace. + * \param inName Name of the method/function traced. + * \param inFilename Source filename where stack tracing is done. + * \param inLineNumber Line number in source where stack tracing is done. + */ + inline void pushStackTrace(const char* inName, const char* inFilename, unsigned int inLineNumber) + { + mStackTrace.push_back(StackTraceItem(inName,inFilename,inLineNumber)); + } + + /*! + * \brief Set error message of actual exception. + * \param inMessage Value of error message. + */ + inline void setMessage(string inMessage) + { + mMessage = inMessage; + } + +protected: + + /*! + * \brief Internal struct to store stack trace elements. + */ + struct StackTraceItem { + string mName; //!< Name of the method/function traced. + string mFilename; //!< Source filename where stack tracing is done. + unsigned int mLineNumber; //!< Line number in source where stack tracing is done. + + /*! + * \brief Construct a stack trace item. + * \param inName Name of the method/function traced. + * \param inFilename Source filename where stack tracing is done. + * \param inLineNumber Line number in source where stack tracing is done. + */ + explicit StackTraceItem(const char* inName="", + const char* inFilename="", + unsigned int inLineNumber=0) : + mName(inName), mFilename(inFilename), mLineNumber(inLineNumber) + {} + }; + + std::vector< StackTraceItem,BEAGLE_STLALLOCATOR > + mStackTrace; //!< Stack trace of the calls + string mMessage; //!< Exception message describing the abnormal situation. + +}; + +} + +#endif // Beagle_Exception_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Fitness.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Fitness.hpp new file mode 100644 index 0000000..4bf4b8a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Fitness.hpp @@ -0,0 +1,162 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Fitness.hpp + * \brief Definition of the class Fitness. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:11 $ + */ + +/*! + * \defgroup FitStats Fitness and Statistics + * \ingroup ECF + * \brief Individual fitness value and statistics measures, part of the generic EC framework. + * + * The statistics of the fitness measurements of a population is held in the following structure. + * \code + * struct Measure { + * string mId; //!< Id of the measure. + * float mAvg; //!< Average of the statistic measure. + * float mStd; //!< Standard deviation of the statistic measure. + * float mMax; //!< Maximum of the statistic measure. + * float mMin; //!< Minimum of the statistic measure. + * }; + * + * class Stats : public Object, public std::vector { + * protected: + * string mId; //!< Id of the stats. + * unsigned int mGeneration; //!< Generation at which the measure had been taken. + * unsigned int mProcessed; //!< Number of individual processed in the generation. + * unsigned int mTotalProcessed; //!< Total number of individual processed in the evolution. + * unsigned int mPopSize; //!< Population size associated to the stats. + * }; + * + * \endcode + * For the usual EC algorithm, a generation statistics for a population is calculated every + * generation. The statistics are calculated by the method Beagle::Fitness::calculateStats. + * + * The fitness holder of an individual is represented in an object derived of the type + * Beagle::Fitness. + * \code + * class Fitness : public Object { + * public: + * virtual void calculateStats(Deme& ioDeme, Context& ioContext) const =0; + * virtual bool isLess(const Object&) const = 0; + * }; + * \endcode + * When the user implements a concrete evaluation class, the method Beagle::EvaluationOp::evaluate + * must returns a fitness object appropriate to the application. There is some of the predefined + * standard fitness measures, such Beagle::FitnessSimple or Beagle::GP::FitnessKoza, which defined + * respectively a fitness made of a single float or a more elaborated fitness taken from. + * A specialized fitness type could also be defined for more sophisticated evolution. + * + */ + + +#ifndef Beagle_Fitness_hpp +#define Beagle_Fitness_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Stats.hpp" + + +namespace Beagle { + +// Forward declaration. +class Deme; +class Context; + +/*! + * \class Fitness beagle/Fitness.hpp "beagle/Fitness.hpp" + * \brief Abstract individual's fitness class. + * \ingroup ECF + * \ingroup FitStats + */ +class Fitness : public Object { + +public: + + //! Fitness allocator type. + typedef AbstractAllocT + Alloc; + //! Fitness handle type. + typedef PointerT + Handle; + //! Fitness bag type. + typedef ContainerT + Bag; + + explicit Fitness(bool inValid=false); + virtual ~Fitness() { } + + /*! + * \brief Return validity of the fitness. + * \return True if fitness is valid, false if not. + */ + inline bool isValid() const + { + Beagle_StackTraceBeginM(); + return mValid; + Beagle_StackTraceEndM("bool Fitness::isValid() const"); + } + + /*! + * \brief Invalidate the fitness. + */ + inline void setInvalid() + { + Beagle_StackTraceBeginM(); + mValid = false; + Beagle_StackTraceEndM("void Fitness::setInvalid()"); + } + + /*! + * \brief Validate the fitness. + */ + inline void setValid() + { + Beagle_StackTraceBeginM(); + mValid = true; + Beagle_StackTraceEndM("void Fitness::setValid()"); + } + +private: + + bool mValid; //!< Flag set if the fitness is valid (unset if not). + +}; + +} + +#endif // Beagle_Fitness_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/FitnessMultiObj.hpp b/lib/beagle-3.0.3/beagle/include/beagle/FitnessMultiObj.hpp new file mode 100644 index 0000000..a7dd037 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/FitnessMultiObj.hpp @@ -0,0 +1,120 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/FitnessMultiObj.hpp + * \brief Definition of the class FitnessMultiObj. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:11 $ + */ + +/*! + * \defgroup MultiObj Multiobjective Evolutionary Algorithms + * \ingroup ECF + * \brief Multiobjective fitness and related operators, part of the generic EC framework. + * + * The first element of Open BEAGLE's multiobjective EA (MOEA) facilities is the + * multiobjective fitness measure, called FitnessMultiObj. It is made of a STL vector of floats, + * where each values of the vector is associated to one optimization objective. The basic class + * FitnessMultiObj defines the method isDominated, which is used for Pareto ranking in the MOEA + * methods. By default, the domination is evaluated on the basis that all objectives must be + * maximized. The minimization equivalent is defined in class FitnessMultiObjMin. For mixed + * maximization/minization problems, a specific fitness classes inheriting from FitnessMultiObj + * must be defined, with the method isDominated properly overdefined. A statistics computation + * operator associated to class FitnessMultiObj is defined by class StatsCalcFitnessMultiObjOp. + * + * MOEA method NSGA2 is defined by operator NSGA2Op. This operator can only be used as a + * replacement strategy in a breeder tree. In addition to the domination evaluating + * method defined in FitnessMultiObj::isDominated, the operator uses method + * FitnessMultiObj::getScalingFactors to normalize distances between solution in the objective + * space. This method returns by default a vector filled with 1.0, which mean that the value + * of the objective are already on the same scale, or normalized. For problems with non-normalized + * objective values, the method getScalingFactors must be properly overdefined. + * + * In the context of MOEA, the hall-of-fame is not meaningful, as there is not strict relation + * order between the solutions found out of the Pareto ranking. The hall-of-fame sizes + * must then be set to 0. For a specific problem where the use of hall-of-fames make some sense, + * the method Fitness::isLess must be overdefined accordingly. In class FitnessMultiObj, relation + * ordering is based on the first objective value. + * + */ + +#ifndef Beagle_FitnessMultiObj_hpp +#define Beagle_FitnessMultiObj_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Stats.hpp" +#include "beagle/Fitness.hpp" + +namespace Beagle { + +/*! + * \class FitnessMultiObj beagle/FitnessMultiObj.hpp "beagle/FitnessMultiObj.hpp" + * \brief Multiobjective fitness measure class. + * \ingroup ECF + * \ingroup FitStats + * \ingroup MultiObj + */ +class FitnessMultiObj : public Fitness, + public std::vector< float,BEAGLE_STLALLOCATOR > { + +public: + + //! FitnessMultiObj allocator type. + typedef AllocatorT + Alloc; + //! FitnessMultiObj handle type. + typedef PointerT + Handle; + //! FitnessMultiObj bag type. + typedef ContainerT + Bag; + + explicit FitnessMultiObj(unsigned int inSize=0, float inValue=0.0); + explicit FitnessMultiObj(const std::vector< float,BEAGLE_STLALLOCATOR >& inFitness); + virtual ~FitnessMultiObj() { } + + virtual std::vector< float,BEAGLE_STLALLOCATOR > getScalingFactors() const; + virtual bool isDominated(const FitnessMultiObj& inRightFitness) const; + virtual bool isEqual(const Object& inRightObj) const; + virtual bool isLess(const Object& inRightObj) const; + virtual void read(PACC::XML::ConstIterator inIter); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +}; + +} + +#endif // Beagle_FitnessMultiObj_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/FitnessMultiObjMin.hpp b/lib/beagle-3.0.3/beagle/include/beagle/FitnessMultiObjMin.hpp new file mode 100644 index 0000000..3cd1d75 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/FitnessMultiObjMin.hpp @@ -0,0 +1,85 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/FitnessMultiObjMin.hpp + * \brief Definition of the class FitnessMultiObjMin. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:11 $ + */ + +#ifndef Beagle_FitnessMultiObjMin_hpp +#define Beagle_FitnessMultiObjMin_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Stats.hpp" +#include "beagle/FitnessMultiObj.hpp" + +namespace Beagle { + +/*! + * \class FitnessMultiObjMin beagle/FitnessMultiObjMin.hpp "beagle/FitnessMultiObjMin.hpp" + * \brief Minimization multiobjective fitness measure class. + * \ingroup ECF + * \ingroup FitStats + * \ingroup MultiObj + */ +class FitnessMultiObjMin : public FitnessMultiObj { + +public: + + //! FitnessMultiObjMin allocator type. + typedef AllocatorT + Alloc; + //! FitnessMultiObjMin handle type. + typedef PointerT + Handle; + //! FitnessMultiObjMin bag type. + typedef ContainerT + Bag; + + explicit FitnessMultiObjMin(unsigned int inSize=0, float inValue=0.0); + explicit FitnessMultiObjMin(const std::vector< float,BEAGLE_STLALLOCATOR >& inFitness); + virtual ~FitnessMultiObjMin() { } + + virtual bool isDominated(const FitnessMultiObj& inRightFitness) const; + virtual bool isLess(const Object& inRightObj) const; + +}; + +} + +#endif // Beagle_FitnessMultiObjMin_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/FitnessSimple.hpp b/lib/beagle-3.0.3/beagle/include/beagle/FitnessSimple.hpp new file mode 100644 index 0000000..cdff5e2 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/FitnessSimple.hpp @@ -0,0 +1,99 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/FitnessSimple.hpp + * \brief Definition of the class FitnessSimple. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:11 $ + */ + +#ifndef Beagle_FitnessSimple_hpp +#define Beagle_FitnessSimple_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Stats.hpp" +#include "beagle/Fitness.hpp" + +namespace Beagle { + +/*! + * \class FitnessSimple beagle/FitnessSimple.hpp "beagle/FitnessSimple.hpp" + * \brief Simple fitness class, made of a unique measure. + * \ingroup ECF + * \ingroup FitStats + */ +class FitnessSimple : public Fitness { + +public: + + //! FitnessSimple allocator type. + typedef AllocatorT + Alloc; + //! FitnessSimple handle type. + typedef PointerT + Handle; + //! FitnessSimple bag type. + typedef ContainerT + Bag; + + FitnessSimple(); + explicit FitnessSimple(float inFitness); + virtual ~FitnessSimple() { } + + virtual bool isEqual(const Object& inRightObj) const; + virtual bool isLess(const Object& inRightObj) const; + virtual void read(PACC::XML::ConstIterator inIter); + virtual void setValue(float inFitness); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Return fitness value. + * \return Fitness value. + */ + inline float getValue() const + { + Beagle_StackTraceBeginM(); + return mFitness; + Beagle_StackTraceEndM("float FitnessSimple::getValue() const"); + } + +protected: + float mFitness; //!< Unique measure of the fitness. + +}; + +} + +#endif // Beagle_FitnessSimple_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/FitnessSimpleMin.hpp b/lib/beagle-3.0.3/beagle/include/beagle/FitnessSimpleMin.hpp new file mode 100644 index 0000000..50ff3a3 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/FitnessSimpleMin.hpp @@ -0,0 +1,83 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/FitnessSimpleMin.hpp + * \brief Definition of the class FitnessSimpleMin. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:11 $ + */ + +#ifndef Beagle_FitnessSimpleMin_hpp +#define Beagle_FitnessSimpleMin_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Stats.hpp" +#include "beagle/Fitness.hpp" +#include "beagle/FitnessSimple.hpp" + +namespace Beagle { + +/*! + * \class FitnessSimpleMin beagle/FitnessSimpleMin.hpp "beagle/FitnessSimpleMin.hpp" + * \brief Simple fitness class for minimization problems. + * \ingroup ECF + * \ingroup FitStats + */ +class FitnessSimpleMin : public FitnessSimple { + +public: + + //! FitnessSimpleMin allocator type. + typedef AllocatorT + Alloc; + //! FitnessSimpleMin handle type. + typedef PointerT + Handle; + //! FitnessSimpleMin bag type. + typedef ContainerT + Bag; + + FitnessSimpleMin() { } + explicit FitnessSimpleMin(float inFitness); + virtual ~FitnessSimpleMin() { } + + virtual bool isLess(const Object& inRightObj) const; + virtual void setValue(float inFitness); + +}; + +} + +#endif // Beagle_FitnessSimpleMin_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Float.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Float.hpp new file mode 100644 index 0000000..1e6f690 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Float.hpp @@ -0,0 +1,515 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Float.hpp + * \brief Definition of the type Float and related operators. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:11 $ + */ + +#ifndef Beagle_Float_hpp +#define Beagle_Float_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/ArrayT.hpp" + + +namespace Beagle { + +/*! + * \brief Beagle wrapper of the atomic float type. + * \ingroup Adapt + */ +typedef WrapperT< float > + Float; + +/*! + * \brief Beagle array of the atomic float type. + * \ingroup Adapt + */ +typedef ArrayT< float > + FloatArray; + +/*! + * \brief Evaluate absolute value of a Beagle::Float. + * \param inValue Float to evaluate the absolute value. + * \return Absolute value of the input. + * \ingroup Adapt + */ +template <> +inline Float absolute(const Float& inValue) +{ + Beagle_StackTraceBeginM(); + return Float(std::fabs(inValue.getWrappedValue())); + Beagle_StackTraceEndM("Float absolute(const Float& inValue)"); +} + +} + + +/*! + * \brief Test whether an float is less than another. + * \param inLeftFloat Left float compared. + * \param inRightFloat Right float compared. + * \return True if left float is less than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::Float. + */ +inline bool operator<(const Beagle::Float& inLeftFloat, const Beagle::Float& inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inLeftFloat.isLess(inRightFloat); + Beagle_StackTraceEndM("bool operator<(const Float& inLeftFloat, const Float& inRightFloat)"); +} + + +/*! + * \brief Test whether an float is less than, or equal to another. + * \param inLeftFloat Left float compared. + * \param inRightFloat Right float compared. + * \return True if left float is less than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::Float. + */ +inline bool operator<=(const Beagle::Float& inLeftFloat, const Beagle::Float& inRightFloat) +{ + Beagle_StackTraceBeginM(); + return ( inLeftFloat.isLess(inRightFloat) || inLeftFloat.isEqual(inRightFloat) ); + Beagle_StackTraceEndM("bool operator<=(const Float& inLeftFloat, const Float& inRightFloat)"); +} + + +/*! + * \brief Test whether an float is more than another. + * \param inLeftFloat Left float compared. + * \param inRightFloat Right float compared. + * \return True if left float is more than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::Float. + */ +inline bool operator>(const Beagle::Float& inLeftFloat, const Beagle::Float& inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inRightFloat.isLess(inLeftFloat); + Beagle_StackTraceEndM("bool operator>(const Float& inLeftFloat, const Float& inRightFloat)"); +} + + +/*! + * \brief Test whether an float is more than, or equal to another. + * \param inLeftFloat Left float compared. + * \param inRightFloat Right float compared. + * \return True if left float is more than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::Float. + */ +inline bool operator>=(const Beagle::Float& inLeftFloat, const Beagle::Float& inRightFloat) +{ + Beagle_StackTraceBeginM(); + return ( inRightFloat.isLess(inLeftFloat) || inLeftFloat.isEqual(inRightFloat) ); + Beagle_StackTraceEndM("bool operator>=(const Float& inLeftFloat, const Float& inRightFloat)"); +} + + +/*! + * \brief Test whether an float is equal to another. + * \param inLeftFloat Left float compared. + * \param inRightFloat Right float compared. + * \return True if left float is equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::Float. + */ +inline bool operator==(const Beagle::Float& inLeftFloat, const Beagle::Float& inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inLeftFloat.isEqual(inRightFloat); + Beagle_StackTraceEndM("bool operator==(const Float& inLeftFloat, const Float& inRightFloat)"); +} + + +/*! + * \brief Test whether an float is not equal to another. + * \param inLeftFloat Left float compared. + * \param inRightFloat Right float compared. + * \return True if left float is not equal to the right one, false if it is. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::Float. + */ +inline bool operator!=(const Beagle::Float& inLeftFloat, const Beagle::Float& inRightFloat) +{ + Beagle_StackTraceBeginM(); + return ( inLeftFloat.isEqual(inRightFloat) == false); + Beagle_StackTraceEndM("bool operator!=(const Float& inLeftFloat, const Float& inRightFloat)"); +} + + +/*! + * \brief Compare equality of a Float with a float. + * \param inLeftFloat Left value to compare. + * \param inRightFloat Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator==(const Beagle::Float& inLeftFloat, float inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inLeftFloat.getWrappedValue() == inRightFloat; + Beagle_StackTraceEndM("bool operator==(const Float& inLeftFloat, float inRightFloat)"); +} + + +/*! + * \brief Compare inequality of a Float with a float. + * \param inLeftFloat Left value to compare. + * \param inRightFloat Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator!=(const Beagle::Float& inLeftFloat, float inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inLeftFloat.getWrappedValue() != inRightFloat; + Beagle_StackTraceEndM("bool operator!=(const Float& inLeftFloat, float inRightFloat)"); +} + + +/*! + * \brief Test if a Float is < than a float. + * \param inLeftFloat Left value to compare. + * \param inRightFloat Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<(const Beagle::Float& inLeftFloat, float inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inLeftFloat.getWrappedValue() < inRightFloat; + Beagle_StackTraceEndM("bool operator<(const Float& inLeftFloat, float inRightFloat)"); +} + + +/*! + * \brief Test if a Float is <= than a float. + * \param inLeftFloat Left value to compare. + * \param inRightFloat Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<=(const Beagle::Float& inLeftFloat, float inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inLeftFloat.getWrappedValue() <= inRightFloat; + Beagle_StackTraceEndM("bool operator<=(const Float& inLeftFloat, float inRightFloat)"); +} + + +/*! + * \brief Test if a Float is > than a float. + * \param inLeftFloat Left value to compare. + * \param inRightFloat Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>(const Beagle::Float& inLeftFloat, float inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inLeftFloat.getWrappedValue() > inRightFloat; + Beagle_StackTraceEndM("bool operator>(const Float& inLeftFloat, float inRightFloat)"); +} + + +/*! + * \brief Test if a Float is >= than a float. + * \param inLeftFloat Left value to compare. + * \param inRightFloat Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>=(const Beagle::Float& inLeftFloat, float inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inLeftFloat.getWrappedValue() >= inRightFloat; + Beagle_StackTraceEndM("bool operator>=(const Float& inLeftFloat, float inRightFloat)"); +} + + +/*! + * \brief Add two Float. + * \param inLeftFloat Left value to add. + * \param inRightFloat Right value to add. + * \return Result of the addition. + */ +inline +Beagle::Float operator+(const Beagle::Float& inLeftFloat, const Beagle::Float& inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inLeftFloat.getWrappedValue() + inRightFloat.getWrappedValue(); + Beagle_StackTraceEndM("Float operator+(const Float& inLeftFloat, const Float& inRightFloat)"); +} + + +/*! + * \brief Add a Float with a float. + * \param inLeftFloat Left value to add. + * \param inRightFloat Right value to add. + * \return Result of the addition. + */ +inline +Beagle::Float operator+(const Beagle::Float& inLeftFloat, float inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inLeftFloat.getWrappedValue() + inRightFloat; + Beagle_StackTraceEndM("Float operator+(const Float& inLeftFloat, float inRightFloat)"); +} + + +/*! + * \brief Add a Float to a Float. + * \param inLeftFloat Left value to which the right one is added. + * \param inRightFloat Value to add. + * \return Result of the addition. + */ +inline +Beagle::Float operator+=(Beagle::Float& inLeftFloat, const Beagle::Float& inRightFloat) +{ + Beagle_StackTraceBeginM(); + inLeftFloat.getWrappedValue() += inRightFloat.getWrappedValue(); + return inLeftFloat; + Beagle_StackTraceEndM("Float operator+=(Float& inLeftFloat, const Float& inRightFloat)"); +} + + +/*! + * \brief Add a float to a Float. + * \param inLeftFloat Left value to which the right one is added. + * \param inRightFloat Value to add. + * \return Result of the addition. + */ +inline +Beagle::Float operator+=(Beagle::Float& inLeftFloat, float inRightFloat) +{ + Beagle_StackTraceBeginM(); + inLeftFloat.getWrappedValue() += inRightFloat; + return inLeftFloat; + Beagle_StackTraceEndM("Float operator+=(Float& inLeftFloat, float inRightFloat)"); +} + + +/*! + * \brief Subtract two Float. + * \param inLeftFloat Left value to subtract. + * \param inRightFloat Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::Float operator-(const Beagle::Float& inLeftFloat, const Beagle::Float& inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inLeftFloat.getWrappedValue() - inRightFloat.getWrappedValue(); + Beagle_StackTraceEndM("Float operator-(const Float& inLeftFloat, const Float& inRightFloat)"); +} + + +/*! + * \brief Subtract a float from a Float. + * \param inLeftFloat Left value to subtract. + * \param inRightFloat Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::Float operator-(const Beagle::Float& inLeftFloat, float inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inLeftFloat.getWrappedValue() - inRightFloat; + Beagle_StackTraceEndM("Float operator-(const Float& inLeftFloat, float inRightFloat)"); +} + + +/*! + * \brief Subtract a Float from a Float. + * \param inLeftFloat Left value from which the right float is subtracted. + * \param inRightFloat Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::Float operator-=(Beagle::Float& inLeftFloat, const Beagle::Float& inRightFloat) +{ + Beagle_StackTraceBeginM(); + inLeftFloat.getWrappedValue() -= inRightFloat.getWrappedValue(); + return inLeftFloat; + Beagle_StackTraceEndM("Float operator-=(Float& inLeftFloat, const Float& inRightFloat)"); +} + + +/*! + * \brief Subtract a float from a Float. + * \param inLeftFloat Left value from which the right float is subtracted. + * \param inRightFloat Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::Float operator-=(Beagle::Float& inLeftFloat, float inRightFloat) +{ + Beagle_StackTraceBeginM(); + inLeftFloat.getWrappedValue() -= inRightFloat; + return inLeftFloat; + Beagle_StackTraceEndM("Float operator-=(Float& inLeftFloat, float inRightFloat)"); +} + + +/*! + * \brief Multiply two Float. + * \param inLeftFloat Left value to multiply. + * \param inRightFloat Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::Float operator*(const Beagle::Float& inLeftFloat, const Beagle::Float& inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inLeftFloat.getWrappedValue() * inRightFloat.getWrappedValue(); + Beagle_StackTraceEndM("Float operator*(const Float& inLeftFloat, const Float& inRightFloat)"); +} + + +/*! + * \brief Multiply a Float with a float. + * \param inLeftFloat Left value to multiply. + * \param inRightFloat Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::Float operator*(const Beagle::Float& inLeftFloat, float inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inLeftFloat.getWrappedValue() * inRightFloat; + Beagle_StackTraceEndM("Float operator*(const Float& inLeftFloat, float inRightFloat)"); +} + + +/*! + * \brief Multiply a Float with a Float. + * \param inLeftFloat Left value to which the right float is multiplied. + * \param inRightFloat Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::Float operator*=(Beagle::Float& inLeftFloat, const Beagle::Float& inRightFloat) +{ + Beagle_StackTraceBeginM(); + inLeftFloat.getWrappedValue() *= inRightFloat.getWrappedValue(); + return inLeftFloat; + Beagle_StackTraceEndM("Float operator*=(Float& inLeftFloat, const Float& inRightFloat)"); +} + + +/*! + * \brief Multiply a Float with a float. + * \param inLeftFloat Left value from which the right float is multiplied. + * \param inRightFloat Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::Float operator*=(Beagle::Float& inLeftFloat, float inRightFloat) +{ + Beagle_StackTraceBeginM(); + inLeftFloat.getWrappedValue() *= inRightFloat; + return inLeftFloat; + Beagle_StackTraceEndM("Float operator*=(Float& inLeftFloat, float inRightFloat)"); +} + + +/*! + * \brief Divide two Float. + * \param inLeftFloat Left value to divide. + * \param inRightFloat Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Float operator/(const Beagle::Float& inLeftFloat, const Beagle::Float& inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inLeftFloat.getWrappedValue() / inRightFloat.getWrappedValue(); + Beagle_StackTraceEndM("Float operator/(const Float& inLeftFloat, const Float& inRightFloat)"); +} + + +/*! + * \brief Divide a Float with a float. + * \param inLeftFloat Left value to divide. + * \param inRightFloat Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Float operator/(const Beagle::Float& inLeftFloat, float inRightFloat) +{ + Beagle_StackTraceBeginM(); + return inLeftFloat.getWrappedValue() / inRightFloat; + Beagle_StackTraceEndM("Float operator/(const Float& inLeftFloat, float inRightFloat)"); +} + + +/*! + * \brief Divide a Float with a Float. + * \param inLeftFloat Left value to which the right float is divided. + * \param inRightFloat Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Float operator/=(Beagle::Float& inLeftFloat, const Beagle::Float& inRightFloat) +{ + Beagle_StackTraceBeginM(); + inLeftFloat.getWrappedValue() /= inRightFloat.getWrappedValue(); + return inLeftFloat; + Beagle_StackTraceEndM("Float operator/=(Float& inLeftFloat, const Float& inRightFloat)"); +} + + +/*! + * \brief Divide a Float with a float. + * \param inLeftFloat Left value from which the right float is divided. + * \param inRightFloat Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Float operator/=(Beagle::Float& inLeftFloat, float inRightFloat) +{ + Beagle_StackTraceBeginM(); + inLeftFloat.getWrappedValue() /= inRightFloat; + return inLeftFloat; + Beagle_StackTraceEndM("Float operator/=(Float& inLeftFloat, float inRightFloat)"); +} + + +#endif // Beagle_Float_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/GenerationalOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/GenerationalOp.hpp new file mode 100644 index 0000000..35a40f9 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/GenerationalOp.hpp @@ -0,0 +1,95 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/GenerationalOp.hpp + * \brief Definition of the class GenerationalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:11 $ + */ + + +#ifndef Beagle_GenerationalOp_hpp +#define Beagle_GenerationalOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/ReplacementStrategyOp.hpp" +#include "beagle/Float.hpp" +#include "beagle/UInt.hpp" + +namespace Beagle { + +/*! + * \class GenerationalOp beagle/GenerationalOp.hpp "beagle/GenerationalOp.hpp" + * \brief Generational replacement strategy operator class. + * \ingroup ECF + * \ingroup Op + * + * A generational operator process deme with a breeding tree following a generation by generation + * replacement strategy. + */ +class GenerationalOp : public ReplacementStrategyOp { + +public: + + //! GenerationalOp allocator type. + typedef AllocatorT + Alloc; + //! GenerationalOp handle type. + typedef PointerT + Handle; + //! GenerationalOp bag type. + typedef ContainerT + Bag; + + GenerationalOp(string inName="GenerationalOp"); + virtual ~GenerationalOp() { } + + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + +protected: + UInt::Handle mElitismKeepSize; //!< Number of individuals keep with elitism + +}; + +} + +#endif // Beagle_GenerationalOp_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Genotype.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Genotype.hpp new file mode 100644 index 0000000..70eb004 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Genotype.hpp @@ -0,0 +1,91 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Genotype.hpp + * \brief Definition of the type Genotype. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:11 $ + */ + +#ifndef Beagle_Genotype_hpp +#define Beagle_Genotype_hpp + +#include "XML.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" + + +namespace Beagle { + +// Forward declaration +class Context; + + +/*! + * \class Genotype beagle/Genotype.hpp "beagle/Genotype.hpp" + * \brief A plain empty genotype. + * \ingroup ECF + * \ingroup Pop + */ +class Genotype : public Object { + +public: + + //! Genotype allocator type. + typedef AllocatorT + Alloc; + //! Genotype handle type. + typedef PointerT + Handle; + //! Genotype bag type. + typedef ContainerT + Bag; + + Genotype() { } + virtual ~Genotype() { } + + virtual void readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + virtual unsigned int getSize() const; // Undefined for Genotype! + virtual void read(PACC::XML::ConstIterator inIter); // Undefined for Genotype! + +}; + +} + +#endif // Beagle_Genotype_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/HallOfFame.hpp b/lib/beagle-3.0.3/beagle/include/beagle/HallOfFame.hpp new file mode 100644 index 0000000..2041177 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/HallOfFame.hpp @@ -0,0 +1,195 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/HallOfFame.hpp + * \brief Definition of the class HallOfFame. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.2 $ + * $Date: 2007/09/10 18:24:11 $ + */ + +#ifndef Beagle_HallOfFame_hpp +#define Beagle_HallOfFame_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Individual.hpp" +#include "beagle/IndividualAlloc.hpp" +#include "beagle/Logger.hpp" + +namespace Beagle { + +// Forward declaration. +class Deme; + + +/*! + * \class HallOfFame beagle/HallOfFame.hpp "beagle/HallOfFame.hpp" + * \brief A hall-of-fame is a population of the best-of-run individuals. + * \warning The individuals in the hall-of-fame are not used at all in the evolution process. + * \ingroup ECF + * \ingroup Pop + */ +class HallOfFame : public Object { + +public: + + /*! + * \struct Member beagle/HallOfFame.hpp "beagle/HallOfFame.hpp" + * \brief A member of the hall-of-fame, that is a best-of-run individual. + * \ingroup ECF + * \ingroup Pop + */ + struct Member { + Individual::Handle mIndividual; //!< Individual member of the hall-of-fame. + unsigned int mGeneration; //!< Generation of introduction in the hall-of-fame. + unsigned int mDemeIndex; //!< Deme index to which the member belong. + + Member(Individual::Handle inIndividual=NULL, + unsigned int inGeneration=0, + unsigned int inDemeIndex=0); + bool operator==(const HallOfFame::Member& inRightMember) const; + bool operator<(const HallOfFame::Member& inRightMember) const; + bool operator>(const HallOfFame::Member& inRightMember) const; + }; + + //! HallOfFame allocator type. + typedef AllocatorT + Alloc; + //! HallOfFame handle type. + typedef PointerT + Handle; + //! HallOfFame bag type. + typedef ContainerT + Bag; + + explicit HallOfFame(Individual::Alloc::Handle inIndivAlloc=NULL); + virtual ~HallOfFame() { } + + void log(Logger::LogLevel inLogLevel, Context& ioContext) const; + virtual void readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext); + void resize(unsigned int inNewSize); + void resize(unsigned int inNewSize, const HallOfFame::Member& inModel); + void sort(); + virtual bool updateWithDeme(unsigned int inSizeHOF, const Deme& inDeme, Context& ioContext); + virtual bool updateWithIndividual(unsigned int inSizeHOF, const Individual& inIndividual, + Context& ioContext); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + virtual void read(PACC::XML::ConstIterator inIter); // Undefined for HallOfFame! + + /*! + * \brief Access to a constant reference to the Nth member of the hall-of-fame. + * \param inN Indice of the member to get. + * \return Constant reference to the member at the indice N. + */ + inline const HallOfFame::Member& operator[](unsigned int inN) const + { + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,mMembers.size()-1); + return mMembers[inN]; + Beagle_StackTraceEndM("const HallOfFame::Member& HallOfFame::operator[](unsigned int inN) const"); + } + + /*! + * \brief Access to a reference to the Nth member of the hall-of-fame. + * \param inN Indice of the member to get. + * \return Reference to the member at the indice N. + */ + inline HallOfFame::Member& operator[](unsigned int inN) + { + Beagle_StackTraceBeginM(); + Beagle_UpperBoundCheckAssertM(inN,mMembers.size()-1); + return mMembers[inN]; + Beagle_StackTraceEndM("HallOfFame::Member& HallOfFame::operator[](unsigned int inN)"); + } + + /*! + * \brief Get the allocator of the individuals contained in the hall-of-fame. + * \return An handle to the individuals allocator. + */ + inline const Individual::Alloc::Handle getIndivAlloc() const + { + Beagle_StackTraceBeginM(); + return mIndivAllocator; + Beagle_StackTraceEndM("const Individual::Alloc::Handle HallOfFame::getIndivAlloc() const"); + } + + /*! + * \brief Get the allocator of the individuals contained in the hall-of-fame. + * \return An handle to the individuals allocator. + */ + inline Individual::Alloc::Handle getIndivAlloc() + { + Beagle_StackTraceBeginM(); + return mIndivAllocator; + Beagle_StackTraceEndM("Individual::Alloc::Handle HallOfFame::getIndivAlloc()"); + } + + /*! + * \brief Set the allocator of the individuals contained in the hall-of-fame. + * \param inIndivAlloc Handle to the individuals allocator. + */ + inline void setIndivAlloc(Individual::Alloc::Handle inIndivAlloc) + { + Beagle_StackTraceBeginM(); + mIndivAllocator = inIndivAlloc; + Beagle_StackTraceEndM("void HallOfFame::setIndivAlloc(Individual::Alloc::Handle inIndivAlloc)"); + } + + /*! + * \return Number of members in the hall-of-fame. + */ + inline unsigned int size() const + { + Beagle_StackTraceBeginM(); + return mMembers.size(); + Beagle_StackTraceEndM("unsigned int HallOfFame::size() const"); + } + +protected: + + Individual::Alloc::Handle mIndivAllocator; //!< Individuals allocator. + std::vector< HallOfFame::Member,BEAGLE_STLALLOCATOR > + mMembers; //!< Vector of members of the hall-of-fame. + +}; + +} + + +#endif // Beagle_HallOfFame_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/HierarchicalFairCompetitionOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/HierarchicalFairCompetitionOp.hpp new file mode 100644 index 0000000..e366977 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/HierarchicalFairCompetitionOp.hpp @@ -0,0 +1,129 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/HierarchicalFairCompetitionOp.hpp + * \brief Definition of the class HierarchicalFairCompetitionOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:14 $ + */ + + +#ifndef Beagle_HierarchicalFairCompetitionOp_hpp +#define Beagle_HierarchicalFairCompetitionOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/ReplacementStrategyOp.hpp" +#include "beagle/Float.hpp" +#include "beagle/UInt.hpp" + +namespace Beagle { + +/*! + * \class HierarchicalFairCompetitionOp beagle/HierarchicalFairCompetitionOp.hpp "beagle/HierarchicalFairCompetitionOp.hpp" + * \brief Hierarchical fair competition replacement strategy operator class. + * \ingroup ECF + * \ingroup Op + * + * Hierachical Fair Competition (HCF) operator inspired by the work of Jianjun Hu + * and Erik Goodman (Michigan State University). The operator is actually + * implemented as a migration operator that is at the same time a replacement + * strategy. The breeder tree of the replacement strategy is called to + * generate the new individuals. + * + * The operator acts on the population by migrating individuals from low-index + * to high-index demes. Individuals are migrating into the actual deme i from + * the migration buffer of deme i-1 (no migration in for deme 0). Then individuals + * better than the fitness threshold for deme i are moved into its migration buffer + * (no migration out for the last deme). If the deme is too small, new individuals + * are generated by the breeder tree to fill the deme. If the deme is too big, the + * worse individuals are erased from the deme. + * + * An internal table of fitness threshold is kept internaly in the HFC operator. + * This fitness threshold is the value used to decide which individuals are migrated + * between deme. The HFC percentile value T (parameter 'ec.hfc.percentile') states + * to use fitness of the individual of deme i+1 at generation g-1 that is better than + * T percent of the individuals in the population as the fitness threshold for + * migrating individuals of deme i at generation g. + * + * For an example of a XML configuration file with HFC operator, see file + * "symbreg-hfc.conf" in symbolic regression example. + * + * References: + * Jianjun Hu and E. Goodman. Adaptive Hierarchical Fair Competition Model for + * Parallel Evolutionary Algorithms. Genetic and Evolutionary Computation + * Conference 2002, New York. + * + */ +class HierarchicalFairCompetitionOp : public ReplacementStrategyOp { + +public: + + //! HierarchicalFairCompetitionOp allocator type. + typedef AllocatorT + Alloc; + //! HierarchicalFairCompetitionOp handle type. + typedef PointerT + Handle; + //! HierarchicalFairCompetitionOp bag type. + typedef ContainerT + Bag; + + HierarchicalFairCompetitionOp(string inName="HierarchicalFairCompetitionOp"); + virtual ~HierarchicalFairCompetitionOp() { } + + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + +protected: + + Individual::Bag generateIndividuals(unsigned int inN, Deme& ioDeme, Context& ioContext) const; + + Fitness::Bag mFitnessThresholds; //!< Fitness thresholds used for migration. + Float::Handle mHFCPercentile; //!< HFC percentile used for to select fitness thresholds. + UInt::Handle mMigrationInterval; //!< Random ring migration interval (in generation). + UInt::Handle mNumberMigrants; //!< Number of migrants. + UIntArray::Handle mPopSize; //!< Population size for the evolution. + +}; + +} + +#endif // Beagle_HierarchicalFairCompetitionOp_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/IOException.hpp b/lib/beagle-3.0.3/beagle/include/beagle/IOException.hpp new file mode 100644 index 0000000..5dc0ab6 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/IOException.hpp @@ -0,0 +1,115 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/IOException.hpp + * \brief Definition of class IOException. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:14 $ + */ + +#ifndef Beagle_IOException_hpp +#define Beagle_IOException_hpp + +#include + +#include "XML.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/TargetedException.hpp" + + +/*! + * \def Beagle_IOExceptionMessageM + * \brief Construct a Beagle::IOException using the message given. + * \param MESS Exception message. + * \ingroup Except + */ +#define Beagle_IOExceptionMessageM(MESS) \ + Beagle::IOException((MESS),__FILE__,__LINE__) + + +/*! + * \def Beagle_IOExceptionNodeM + * \brief Construct a Beagle::IOException using the message given. + * \param XMLNODE XML node for which the exception occured. + * \param MESS Exception message. + * \ingroup Except + */ +#define Beagle_IOExceptionNodeM(XMLNODE,MESS) \ + Beagle::IOException((XMLNODE),(MESS),__FILE__,__LINE__) + + +namespace Beagle { + +// Forward declarations +template class AllocatorT; +template class PointerT; +template class ContainerT; + + +/*! + * \class IOException beagle/IOException.hpp "beagle/IOException.hpp" + * \brief Beagle exception indicating that a parameter, or such, is invalid. + * \ingroup OOF + * \ingroup Except + * \ingroup IO + */ +class IOException : public TargetedException { + +public: + + //! IOException allocator type. + typedef AllocatorT + Alloc; + //! IOException handle type. + typedef PointerT + Handle; + //! IOException bag type. + typedef ContainerT + Bag; + + explicit IOException(string inMessage="", + string inFileName="", + unsigned int inLineNumber=0); + explicit IOException(const PACC::XML::Node& inIter, + string inMessage="", + string inFileName="", + unsigned int inLineNumber=0); + virtual ~IOException() throw() { } + + virtual const char* getExceptionName() const throw(); + +}; + +} + +#endif // Beagle_IOException_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/IfThenElseOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/IfThenElseOp.hpp new file mode 100644 index 0000000..d89b1c8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/IfThenElseOp.hpp @@ -0,0 +1,180 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/IfThenElseOp.hpp + * \brief Definition of the class IfThenElseOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:14 $ + */ + +#ifndef Beagle_IfThenElseOp_hpp +#define Beagle_IfThenElseOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" + + +namespace Beagle { + +/*! + * \class IfThenElseOp beagle/IfThenElseOp.hpp "beagle/IfThenElseOp.hpp" + * \brief If-then-else operator class. + * \ingroup ECF + * \ingroup Op + */ +class IfThenElseOp : public Operator { + +public: + + //! IfThenElseOp allocator type + typedef AllocatorT + Alloc; + //! IfThenElseOp handle type. + typedef PointerT + Handle; + //! IfThenElseOp bag type. + typedef ContainerT + Bag; + + explicit IfThenElseOp(string inConditionTag="", + string inConditionValue="", + string inName="IfThenElseOp"); + virtual ~IfThenElseOp() { } + + virtual Operator::Handle giveReference(); + virtual void initialize(System& ioSystem); + void insertPositiveOp(string inName, OperatorMap& inOpMap); + void insertNegativeOp(string inName, OperatorMap& inOpMap); + virtual void operate(Deme& ioDeme, Context& ioContext); + virtual void postInit(System& ioSystem); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \return Parameter tag of condition to test in if-then-else operator. + */ + inline string getConditionTag() const + { + Beagle_StackTraceBeginM(); + return mConditionTag; + Beagle_StackTraceEndM("string IfThenElseOp::getConditionTag() const"); + } + + /*! + * \return Condition value tested for positive condition in if-then-else operator. + */ + inline string getConditionValue() const + { + Beagle_StackTraceBeginM(); + return mConditionValue; + Beagle_StackTraceEndM("string IfThenElseOp::getConditionValue() const"); + } + + /*! + * \brief Return a constant reference to the positive operator set. + * \return Positive operator set constant reference. + */ + inline const Operator::Bag& getPositiveSet() const + { + Beagle_StackTraceBeginM(); + return mPositiveOpSet; + Beagle_StackTraceEndM("const Operator::Bag& IfThenElseOp::getPositiveSet() const"); + } + + /*! + * \brief Return a reference to the positive operator set. + * \return Positive operator set reference. + */ + inline Operator::Bag& getPositiveSet() + { + Beagle_StackTraceBeginM(); + return mPositiveOpSet; + Beagle_StackTraceEndM("Operator::Bag& IfThenElseOp::getPositiveSet()"); + } + + /*! + * \brief Return a constant reference to the negative operator set. + * \return Negative operator set constant reference. + */ + inline const Operator::Bag& getNegativeSet() const + { + Beagle_StackTraceBeginM(); + return mNegativeOpSet; + Beagle_StackTraceEndM("const Operator::Bag& IfThenElseOp::getNegativeSet() const"); + } + + /*! + * \brief Return a reference to the negative operator set. + * \return Negative operator set reference. + */ + inline Operator::Bag& getNegativeSet() + { + Beagle_StackTraceBeginM(); + return mNegativeOpSet; + Beagle_StackTraceEndM("Operator::Bag& IfThenElseOp::getNegativeSet()"); + } + + /*! + * \brief Set parameter tag of condition to use. + */ + inline void setConditionTag(string inTag) + { + Beagle_StackTraceBeginM(); + mConditionTag = inTag; + Beagle_StackTraceEndM("void IfThenElseOp::setConditionTag(string inTag)"); + } + + /*! + * \brief Set parameter value of condition to use. + */ + inline void setConditionValue(string inValue) + { + Beagle_StackTraceBeginM(); + mConditionValue = inValue; + Beagle_StackTraceEndM("void IfThenElseOp::setConditionValue(string inValue)"); + } + +private: + + Operator::Bag mPositiveOpSet; //!< Operator set to execute when the condition is true. + Operator::Bag mNegativeOpSet; //!< Operator set to execute when the condition is false. + string mConditionTag; //!< Parameter tag to test. + string mConditionValue; //!< Parameter value for a positive condition. + +}; + +} + +#endif // Beagle_IfThenElseOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Individual.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Individual.hpp new file mode 100644 index 0000000..c99f721 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Individual.hpp @@ -0,0 +1,179 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Individual.hpp + * \brief Definition of the class Individual. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.12.2.1 $ + * $Date: 2007/05/09 01:51:14 $ + */ + +#ifndef Beagle_Individual_hpp +#define Beagle_Individual_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/ContainerAllocatorT.hpp" +#include "beagle/Genotype.hpp" +#include "beagle/IndividualAlloc.hpp" +#include "beagle/Fitness.hpp" + +namespace Beagle { + +// Forward declaration +class IndividualBag; +class System; + +/*! + * \class Individual beagle/Individual.hpp "beagle/Individual.hpp" + * \brief An individual inherits from a container of genotypes and has a fitness member. + * \ingroup ECF + * \ingroup Pop + */ +class Individual : public Genotype::Bag { + +public: + + //! Individual allocator type. + typedef IndividualAlloc + Alloc; + //! Individual handle type. + typedef PointerT + Handle; + //! Individual bag type. + typedef IndividualBag + Bag; + + explicit Individual(Genotype::Alloc::Handle inGenotypeAlloc=NULL); + explicit Individual(Genotype::Alloc::Handle inGenotypeAlloc, + Fitness::Alloc::Handle inFitnessAlloc, + unsigned int inN=0); + Individual(const Individual& inRightIndividual); + virtual ~Individual() { } + + Individual& operator=(const Individual& inRightIndividual); + + virtual void copyData(const Container& inOrigContainer); + virtual double getDistanceGenotype(const Individual& inRightIndividual) const; + virtual double getDistancePhenotype(const Individual& inRightIndividual) const; + virtual unsigned int getSize() const; + virtual bool isEqual(const Object& inRightObj) const; + virtual bool isIdentical(const Individual& inRightIndividual) const; + virtual bool isLess(const Object& inRightObj) const; + virtual bool readFromFile(string inFileName, System& ioSystem); + virtual void readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Get the fitness value of the individual. + * \return Fitness value. + */ + inline const Fitness::Handle getFitness() const + { + Beagle_StackTraceBeginM(); + return mFitness; + Beagle_StackTraceEndM("const Fitness::Handle Individual::getFitness() const"); + } + + /*! + * \brief Get the fitness value of the individual. + * \return Fitness value. + */ + inline Fitness::Handle getFitness() + { + Beagle_StackTraceBeginM(); + return mFitness; + Beagle_StackTraceEndM("Fitness::Handle Individual::getFitness()"); + } + + /*! + * \brief Get the fitness allocator of the individual. + * \return Fitness allocator. + */ + inline const Fitness::Alloc::Handle getFitnessAlloc() const + { + Beagle_StackTraceBeginM(); + return mFitnessAlloc; + Beagle_StackTraceEndM("const Fitness::Alloc::Handle Individual::getFitnessAlloc() const"); + } + + /*! + * \brief Get the fitness allocator of the individual. + * \return Fitness allocator. + */ + inline Fitness::Alloc::Handle getFitnessAlloc() + { + Beagle_StackTraceBeginM(); + return mFitnessAlloc; + Beagle_StackTraceEndM("Fitness::Alloc::Handle Individual::getFitnessAlloc()"); + } + + /*! + * \brief Set the fitness value of the individual. + * \param inFitness Set the fitness value. + */ + inline void setFitness(Fitness::Handle inFitness) + { + Beagle_StackTraceBeginM(); + mFitness = inFitness; + Beagle_StackTraceEndM("void Individual::setFitness(Fitness::Handle inFitness)"); + } + + /*! + * \brief Set the fitness allocator of the individual. + * \param inFitnessAlloc Fitness allocator. + */ + inline void setFitnessAlloc(Fitness::Alloc::Handle inFitnessAlloc) + { + Beagle_StackTraceBeginM(); + mFitnessAlloc = inFitnessAlloc; + Beagle_StackTraceEndM("void Individual::setFitnessAlloc(Fitness::Alloc::Handle inFitnessAlloc)"); + } + +protected: + + Fitness::Alloc::Handle mFitnessAlloc; //!< Fitness allocator. + Fitness::Handle mFitness; //!< Fitness value of the current individual. + +public: + + virtual void read(PACC::XML::ConstIterator inIter); // Undefined for Individual! + +}; + +} + +#endif // Beagle_Individual_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/IndividualAlloc.hpp b/lib/beagle-3.0.3/beagle/include/beagle/IndividualAlloc.hpp new file mode 100644 index 0000000..ceaff00 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/IndividualAlloc.hpp @@ -0,0 +1,171 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/IndividualAlloc.hpp + * \brief Definition of the class IndividualAlloc. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:14 $ + */ + +#ifndef Beagle_IndividualAlloc_hpp +#define Beagle_IndividualAlloc_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/ContainerAllocatorT.hpp" +#include "beagle/Genotype.hpp" +#include "beagle/Fitness.hpp" + +namespace Beagle { + +/*! + * \brief Typedef of the type from which class Beagle::IndividualAlloc inherits. + * \warning This is a workaround for MS Visual C++ .NET, which seems to have difficulty + * to fall on its feet with the type Genotype::Bag::Alloc. + * \related Beagle::IndividualAlloc + * \ingroup Allocs + */ +typedef Genotype::Bag::Alloc + IndividualAllocBaseType; + +/*! + * \class IndividualAlloc beagle/IndividualAlloc.hpp "beagle/IndividualAlloc.hpp" + * \brief Individual specific allocator type. + * \ingroup ECF + * \ingroup Pop + * \ingroup Allocs + */ +class IndividualAlloc : public IndividualAllocBaseType { + +public: + + //! IndividualAlloc allocator type. + typedef AllocatorT + Alloc; + //! IndividualAlloc handle type. + typedef PointerT + Handle; + //! IndividualAlloc bag type. + typedef ContainerT + Bag; + + explicit IndividualAlloc(Genotype::Alloc::Handle inGenotypeAlloc=NULL); + explicit IndividualAlloc(Genotype::Alloc::Handle inGenotypeAlloc, + Fitness::Alloc::Handle inFitnessAlloc); + virtual ~IndividualAlloc() { } + + virtual Object* allocate() const; + virtual Object* clone(const Object& inOrigObj) const; + virtual Container* cloneData(const Container& inOrigContainer) const; + virtual void copy(Object& outCopyObj, const Object& inOrigObj) const; + virtual void copyData(Container& outCopyContainer, const Container& inOrigContainer) const; + + /*! + * \brief Get the fitness allocator of the individual. + * \return Fitness allocator. + */ + inline const Fitness::Alloc::Handle getFitnessAlloc() const + { + Beagle_StackTraceBeginM(); + return mFitnessAlloc; + Beagle_StackTraceEndM("const Fitness::Alloc::Handle IndividualAlloc::getFitnessAlloc() const"); + } + + /*! + * \brief Get the fitness allocator of the individual. + * \return Fitness allocator. + */ + inline Fitness::Alloc::Handle getFitnessAlloc() + { + Beagle_StackTraceBeginM(); + return mFitnessAlloc; + Beagle_StackTraceEndM("Fitness::Alloc::Handle IndividualAlloc::getFitnessAlloc()"); + } + + /*! + * \brief Set the fitness allocator of the individual. + * \param inFitnessAlloc Fitness allocator. + */ + inline void setFitnessAlloc(Fitness::Alloc::Handle inFitnessAlloc) + { + Beagle_StackTraceBeginM(); + mFitnessAlloc = inFitnessAlloc; + Beagle_StackTraceEndM("void IndividualAlloc::setFitnessAlloc(Fitness::Alloc::Handle inFitnessAlloc)"); + } + + /*! + * \brief Get the genotype allocator. + * \return Constant handle to the genotype allocator. + */ + inline const Genotype::Alloc::Handle getContainerTypeAlloc() const + { + Beagle_StackTraceBeginM(); + return castHandleT(mContainerTypeAlloc); + Beagle_StackTraceEndM("const Genotype::Alloc::Handle IndividualAlloc::getContainerTypeAlloc() const"); + } + + /*! + * \brief Get the genotype allocator. + * \return Handle to the genotype allocator. + */ + inline Genotype::Alloc::Handle getContainerTypeAlloc() + { + Beagle_StackTraceBeginM(); + return castHandleT(mContainerTypeAlloc); + Beagle_StackTraceEndM("Genotype::Alloc::Handle IndividualAlloc::getContainerTypeAlloc()"); + } + + /*! + * \brief Set the genotype allocator. + * \param inGenotypeAlloc The new genotype allocator. + */ + inline void setContainerTypeAlloc(Genotype::Alloc::Handle inGenotypeAlloc) + { + Beagle_StackTraceBeginM(); + mContainerTypeAlloc = inGenotypeAlloc; + Beagle_StackTraceEndM("void IndividualAlloc::setContainerTypeAlloc(Genotype::Alloc::Handle inGenotypeAlloc)"); + } + +protected: + + Fitness::Alloc::Handle mFitnessAlloc; //!< Fitness allocator. + +}; + +} + +#endif // Beagle_IndividualAlloc_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/IndividualAllocT.hpp b/lib/beagle-3.0.3/beagle/include/beagle/IndividualAllocT.hpp new file mode 100644 index 0000000..ef6fd71 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/IndividualAllocT.hpp @@ -0,0 +1,251 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/IndividualAllocT.hpp + * \brief Implementation of the class template IndividualAllocT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:14 $ + */ + +#ifndef Beagle_IndividualAllocT_hpp +#define Beagle_IndividualAllocT_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/IndividualAlloc.hpp" +#include "beagle/Genotype.hpp" +#include "beagle/Fitness.hpp" +#include "beagle/BadCastException.hpp" + +namespace Beagle { + + +/*! + * \class IndividualAllocT beagle/IndividualAllocT.hpp "beagle/IndividualAllocT.hpp" + * \brief Allocator template class for individual derived types. + * \param T The individual type allocated. + * \param BaseType The base type from which the actual allocator type is derived. + * \param GenotypeAllocType Genotype allocator type used to fill the individuals. + * \ingroup ECF + * \ingroup Pop + * \ingroup Allocs + */ +template +class IndividualAllocT : public BaseType { + +public: + + //! IndividualAllocT allocator type. + typedef AllocatorT,typename BaseType::Alloc> + Alloc; + //! IndividualAllocT handle type. + typedef PointerT,typename BaseType::Handle> + Handle; + //! IndividualAllocT mixed bag type. + typedef ContainerT,typename BaseType::Bag> + Bag; + + explicit IndividualAllocT(typename GenotypeAllocType::Handle inGenotypeAlloc=NULL); + explicit IndividualAllocT(typename GenotypeAllocType::Handle inGenotypeAlloc, + Beagle::Fitness::Alloc::Handle inFitnessAlloc); + virtual ~IndividualAllocT() { } + + virtual Object* allocate() const; + virtual Object* clone(const Object& inOrigObj) const; + virtual Container* cloneData(const Container& inOrigContainer) const; + virtual void copy(Object& outCopyObj, const Object& inOrigObj) const; + virtual void copyData(Container& outCopyContainer, const Container& inOrigContainer) const; + + /*! + * \brief Get the genotype allocator. + * \return Constant handle to the genotype allocator. + */ + inline const typename GenotypeAllocType::Handle getContainerTypeAlloc() const + { + Beagle_StackTraceBeginM(); + return castHandleT(BaseType::mContainerTypeAlloc); + Beagle_StackTraceEndM("const GenotypeAllocType::Handle IndividualAllocT::getContainerTypeAlloc() const"); + } + + /*! + * \brief Get the bag contained type allocator. + * \return Handle to the bag contained type allocator. + */ + inline typename GenotypeAllocType::Handle getContainerTypeAlloc() + { + Beagle_StackTraceBeginM(); + return castHandleT(BaseType::mContainerTypeAlloc); + Beagle_StackTraceEndM("GenotypeAllocType::Handle IndividualAllocTgetContainerTypeAlloc()"); + } + + /*! + * \brief Set the bag contained type allocator. + * \param inGenotypeAllocType The new bag contained type allocator. + */ + inline void setContainerTypeAlloc(typename GenotypeAllocType::Handle inGenotypeAllocType) + { + Beagle_StackTraceBeginM(); + BaseType::mContainerTypeAlloc = inGenotypeAllocType; + Beagle_StackTraceEndM("void IndividualAllocTsetContainerTypeAlloc(GenotypeAllocType::Handle inGenotypeAllocType)"); + } + +}; + +} + + +/*! + * \brief Constructor of individual allocator from a genotype allocator and a fitness allocator. + * \param inGenotypeAlloc Type allocator given to the genotype allocated. + */ +template +Beagle::IndividualAllocT::IndividualAllocT( + typename GenotypeAllocType::Handle inGenotypeAlloc) : + BaseType(inGenotypeAlloc) +{ } + + +/*! + * \brief Constructor of individual allocator from a genotype allocator and a fitness allocator. + * \param inGenotypeAlloc Type allocator given to the genotype allocated. + * \param inFitnessAlloc Fitness type allocator. + */ +template +Beagle::IndividualAllocT::IndividualAllocT( + typename GenotypeAllocType::Handle inGenotypeAlloc, + Beagle::Fitness::Alloc::Handle inFitnessAlloc) : + BaseType(inGenotypeAlloc, inFitnessAlloc) +{ } + + +/*! + * \brief Allocate a new individual and the heap by giving it the type allocator. + * \return Pointer to the allocated individual. + */ +template +Beagle::Object* Beagle::IndividualAllocT::allocate() const +{ +#ifndef BEAGLE_NDEBUG + T* lT = new T(castHandleT(BaseType::mContainerTypeAlloc), + BaseType::mFitnessAlloc); + if(!lT) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lT; +#else // BEAGLE_NDEBUG + return new T(castHandleT(BaseType::mContainerTypeAlloc), + BaseType::mFitnessAlloc); +#endif // BEAGLE_NDEBUG +} + + +/*! + * \brief Allocate a new individual on the heap that is a clone an existing individual. + * \param inOrigObj Constant reference to the original individual object to clone. + * \return Pointer to the allocated individual. + */ +template +Beagle::Object* Beagle::IndividualAllocT::clone( + const Beagle::Object& inOrigObj) const +{ +#ifndef BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigObj); + T* lT = new T(lOrigT); + if(!lT) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lT; +#else // BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigObj); + return new T(lOrigT); +#endif // BEAGLE_NDEBUG +} + + +/*! + * \brief Allocate a new individual on the heap that is a clone an existing individual. + * Make a complete copy of the individuals. + * \param inOrigContainer Constant reference to the original individual object to clone. + * \return Pointer to the allocated individual. + */ +template +Beagle::Container* Beagle::IndividualAllocT::cloneData( + const Beagle::Container& inOrigContainer) const +{ +#ifndef BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigContainer); + T* lT = new T(castHandleT(BaseType::mContainerTypeAlloc), + BaseType::mFitnessAlloc); + if(!lT) throw Beagle_InternalExceptionM("Out-of-memory!"); + lT->copyData(lOrigT); + return lT; +#else // BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigContainer); + T* lT = new T(castHandleT(BaseType::mContainerTypeAlloc), + BaseType::mFitnessAlloc); + lT->copyData(lOrigT); + return lT; +#endif // BEAGLE_NDEBUG +} + + +/*! + * \brief Copy a individual into another. + * \param outCopyObj Constant reference to the original individual to copy. + * \param inOrigObj Reference to the individual that is a copy of the original. + */ +template +void Beagle::IndividualAllocT::copy( + Beagle::Object& outCopyObj, const Beagle::Object& inOrigObj) const +{ + T& lCopyT = castObjectT(outCopyObj); + const T& lOrigT = castObjectT(inOrigObj); + lCopyT = lOrigT; +} + + +/*! + * \brief Copy a individual into another with the contained data. + * \param outCopyContainer Constant reference to the original individual to copy. + * \param inOrigContainer Reference to the individual that is a copy of the original. + */ +template +void Beagle::IndividualAllocT::copyData( + Beagle::Container& outCopyContainer, const Beagle::Container& inOrigContainer) const +{ + T& lCopyT = castObjectT(outCopyContainer); + const T& lOrigT = castObjectT(inOrigContainer); + lCopyT.copyData(lOrigT); +} + + +#endif // Beagle_IndividualAlloc_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/IndividualBag.hpp b/lib/beagle-3.0.3/beagle/include/beagle/IndividualBag.hpp new file mode 100644 index 0000000..5b6329a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/IndividualBag.hpp @@ -0,0 +1,88 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/IndividualBag.hpp + * \brief Definition of the class IndividualBag. + * \author Matthew Walker + * \author Christian Gagne + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:14 $ + */ + + +#ifndef Beagle_IndividualBag_hpp +#define Beagle_IndividualBag_hpp + +#include +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/ContainerAllocatorT.hpp" +#include "beagle/Individual.hpp" + +namespace Beagle { + + +/*! + * \class IndividualBag beagle/IndividualBag.hpp "beagle/IndividualBag.hpp" + * \brief Container of individuals. + * \ingroup ECF + * \ingroup Pop + */ +class IndividualBag : public ContainerT::Bag> { + +public: + + //! IndividualBag's allocator type. + typedef ContainerAllocatorT::Bag>::Alloc, + Individual::Alloc> + Alloc; + //! IndividualBag's handle type. + typedef PointerT::Bag>::Handle> + Handle; + //! IndividualBag's bag type. + typedef ContainerT::Bag>::Bag> + Bag; + + explicit IndividualBag(Individual::Alloc::Handle inIndivAlloc=NULL, unsigned int inN=0); + explicit IndividualBag(Individual::Alloc::Handle inIndivAlloc, + unsigned int inN, + const Individual& inModel); + virtual ~IndividualBag() { } + + virtual void read(PACC::XML::ConstIterator inIter); + virtual bool readFromFile(string inFileName, System& ioSystem, string inBagTag="Deme"); + virtual void readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext); + +}; + +} + +#endif // Beagle_IndividualBag_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/IndividualSizeFrequencyStatsOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/IndividualSizeFrequencyStatsOp.hpp new file mode 100644 index 0000000..2140bab --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/IndividualSizeFrequencyStatsOp.hpp @@ -0,0 +1,76 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/IndividualSizeFrequencyStatsOp.hpp + * \brief Definition of the class IndividualSizeFrequencyStatsOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.2.2.1 $ + * $Date: 2007/05/09 01:51:14 $ + */ + +#ifndef Beagle_IndividualSizeFrequencyStatsOp_hpp +#define Beagle_IndividualSizeFrequencyStatsOp_hpp + +#include "beagle/Operator.hpp" + + +namespace Beagle { + +/*! + * \class IndividualSizeFrequencyStatsOp beagle/IndividualSizeFrequencyStatsOp.hpp + * "beagle/IndividualSizeFrequencyStatsOp.hpp" + * \brief The individual size frequence usage statistics operator class. Report size frequency of + * the individuals. + * \ingroup ECF + * \ingroup Op + * \ingroup FitStats + */ +class IndividualSizeFrequencyStatsOp : public Beagle::Operator { + +public: + + //! IndividualSizeFrequencyStatsOp allocator type. + typedef AllocatorT + Alloc; + //! IndividualSizeFrequencyStatsOp handle type. + typedef PointerT + Handle; + //! IndividualSizeFrequencyStatsOp bag type. + typedef ContainerT + Bag; + + explicit IndividualSizeFrequencyStatsOp(string inName="IndividualSizeFrequencyStatsOp"); + virtual ~IndividualSizeFrequencyStatsOp() { } + + virtual void operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext); + +}; + +} + +#endif // Beagle_IndividualSizeFrequencyStatsOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/InitializationOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/InitializationOp.hpp new file mode 100644 index 0000000..e1b5804 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/InitializationOp.hpp @@ -0,0 +1,110 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/InitializationOp.hpp + * \brief Definition of the class InitializationOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:14 $ + */ + +#ifndef Beagle_InitializationOp_hpp +#define Beagle_InitializationOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/BreederOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/String.hpp" +#include "beagle/Float.hpp" +#include "beagle/Individual.hpp" + + +namespace Beagle { + +/*! + * \class InitializationOp beagle/InitializationOp.hpp "beagle/InitializationOp.hpp" + * \brief Abstract initialization operator class. + * \ingroup ECF + * \ingroup Op + * \ingroup Pop + */ +class InitializationOp : public BreederOp { + +public: + + //! InitializationOp allocator type. + typedef AbstractAllocT + Alloc; + //! InitializationOp handle type. + typedef PointerT + Handle; + //! InitializationOp bag type. + typedef ContainerT + Bag; + + explicit InitializationOp(string inReproProbaName="ec.repro.prob", + string inName="InitializationOp"); + virtual ~InitializationOp() { } + + /*! + * \brief Initialize an individual. + * \param outIndividual Individual to initialize. + * \param ioContext Evolution context. + */ + virtual void initIndividual(Individual& outIndividual, Context& ioContext) = 0; + + virtual Individual::Handle breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext); + virtual float getBreedingProba(BreederNode::Handle inChild); + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + virtual unsigned int readSeeds(string inFileName, Deme& ioDeme, Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + Float::Handle mReproductionProba; //!< Reproduction probability. + string mReproProbaName; //!< Reproduction probability name. + UIntArray::Handle mPopSize; //!< Population size for the evolution. + String::Handle mSeedsFile; //!< File to use to seed population. + +}; + +} + +#endif // Beagle_InitializationOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Int.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Int.hpp new file mode 100644 index 0000000..beb12ea --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Int.hpp @@ -0,0 +1,578 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Int.hpp + * \brief Definition of the type Int and related operators. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:14 $ + */ + +#ifndef Beagle_Int_hpp +#define Beagle_Int_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/ArrayT.hpp" + + +namespace Beagle { + +/*! + * \brief Beagle wrapper of the atomic int type. + * \ingroup Adapt + */ +typedef WrapperT< int > + Int; + +/*! + * \brief Beagle array of the atomic int type. + * \ingroup Adapt + */ +typedef ArrayT< int > + IntArray; + +/*! + * \brief Evaluate absolute value of a Beagle::Int. + * \param inValue Int to evaluate the absolute value. + * \return Absolute value of the input. + * \ingroup Adapt + */ +template <> +inline Int absolute(const Int& inValue) +{ + Beagle_StackTraceBeginM(); + return Int(std::abs(inValue.getWrappedValue())); + Beagle_StackTraceEndM("Int absolute(const Int& inValue)"); +} + +} + + +/*! + * \brief Test whether an int is less than another. + * \param inLeftInt Left int compared. + * \param inRightInt Right int compared. + * \return True if left int is less than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::Int. + */ +inline bool operator<(const Beagle::Int& inLeftInt, const Beagle::Int& inRightInt) +{ + Beagle_StackTraceBeginM(); + return inLeftInt.isLess(inRightInt); + Beagle_StackTraceEndM("bool operator<(const Int& inLeftInt, const Int& inRightInt)"); +} + + +/*! + * \brief Test whether an int is less than, or equal to another. + * \param inLeftInt Left int compared. + * \param inRightInt Right int compared. + * \return True if left int is less than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::Int. + */ +inline bool operator<=(const Beagle::Int& inLeftInt, const Beagle::Int& inRightInt) +{ + Beagle_StackTraceBeginM(); + return ( inLeftInt.isLess(inRightInt) || inLeftInt.isEqual(inRightInt) ); + Beagle_StackTraceEndM("bool operator<=(const Int& inLeftInt, const Int& inRightInt)"); +} + + +/*! + * \brief Test whether an int is more than another. + * \param inLeftInt Left int compared. + * \param inRightInt Right int compared. + * \return True if left int is more than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::Int. + */ +inline bool operator>(const Beagle::Int& inLeftInt, const Beagle::Int& inRightInt) +{ + Beagle_StackTraceBeginM(); + return inRightInt.isLess(inLeftInt); + Beagle_StackTraceEndM("bool operator>(const Int& inLeftInt, const Int& inRightInt)"); +} + + +/*! + * \brief Test whether an int is more than, or equal to another. + * \param inLeftInt Left int compared. + * \param inRightInt Right int compared. + * \return True if left int is more than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::Int. + */ +inline bool operator>=(const Beagle::Int& inLeftInt, const Beagle::Int& inRightInt) +{ + Beagle_StackTraceBeginM(); + return ( inRightInt.isLess(inLeftInt) || inLeftInt.isEqual(inRightInt) ); + Beagle_StackTraceEndM("bool operator>=(const Int& inLeftInt, const Int& inRightInt)"); +} + + +/*! + * \brief Test whether an int is equal to another. + * \param inLeftInt Left int compared. + * \param inRightInt Right int compared. + * \return True if left int is equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::Int. + */ +inline bool operator==(const Beagle::Int& inLeftInt, const Beagle::Int& inRightInt) +{ + Beagle_StackTraceBeginM(); + return inLeftInt.isEqual(inRightInt); + Beagle_StackTraceEndM("bool operator==(const Int& inLeftInt, const Int& inRightInt)"); +} + + +/*! + * \brief Test whether an int is not equal to another. + * \param inLeftInt Left int compared. + * \param inRightInt Right int compared. + * \return True if left int is not equal to the right one, false if it is. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::Int. + */ +inline bool operator!=(const Beagle::Int& inLeftInt, const Beagle::Int& inRightInt) +{ + Beagle_StackTraceBeginM(); + return ( inLeftInt.isEqual(inRightInt) == false); + Beagle_StackTraceEndM("bool operator!=(const Int& inLeftInt, const Int& inRightInt)"); +} + + +/*! + * \brief Compare equality of a Int with a int. + * \param inLeftInt Left value to compare. + * \param inRightInt Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator==(const Beagle::Int& inLeftInt, int inRightInt) +{ + Beagle_StackTraceBeginM(); + return inLeftInt.getWrappedValue() == inRightInt; + Beagle_StackTraceEndM("bool operator==(const Int& inLeftInt, int inRightInt)"); +} + + +/*! + * \brief Compare inequality of a Int with a int. + * \param inLeftInt Left value to compare. + * \param inRightInt Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator!=(const Beagle::Int& inLeftInt, int inRightInt) +{ + Beagle_StackTraceBeginM(); + return inLeftInt.getWrappedValue() != inRightInt; + Beagle_StackTraceEndM("bool operator!=(const Int& inLeftInt, int inRightInt)"); +} + + +/*! + * \brief Test if a Int is < than a int. + * \param inLeftInt Left value to compare. + * \param inRightInt Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<(const Beagle::Int& inLeftInt, int inRightInt) +{ + Beagle_StackTraceBeginM(); + return inLeftInt.getWrappedValue() < inRightInt; + Beagle_StackTraceEndM("bool operator<(const Int& inLeftInt, int inRightInt)"); +} + + +/*! + * \brief Test if a Int is <= than a int. + * \param inLeftInt Left value to compare. + * \param inRightInt Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<=(const Beagle::Int& inLeftInt, int inRightInt) +{ + Beagle_StackTraceBeginM(); + return inLeftInt.getWrappedValue() <= inRightInt; + Beagle_StackTraceEndM("bool operator<=(const Int& inLeftInt, int inRightInt)"); +} + + +/*! + * \brief Test if a Int is > than a int. + * \param inLeftInt Left value to compare. + * \param inRightInt Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>(const Beagle::Int& inLeftInt, int inRightInt) +{ + Beagle_StackTraceBeginM(); + return inLeftInt.getWrappedValue() > inRightInt; + Beagle_StackTraceEndM("bool operator>(const Int& inLeftInt, int inRightInt)"); +} + + +/*! + * \brief Test if a Int is >= than a int. + * \param inLeftInt Left value to compare. + * \param inRightInt Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>=(const Beagle::Int& inLeftInt, int inRightInt) +{ + Beagle_StackTraceBeginM(); + return inLeftInt.getWrappedValue() >= inRightInt; + Beagle_StackTraceEndM("bool operator>=(const Int& inLeftInt, int inRightInt)"); +} + + +/*! + * \brief Increment a Int (prefix version). + * \param inInt Int to increment. + * \return Int incremented. + */ +inline +Beagle::Int& operator++(Beagle::Int& inInt) +{ + Beagle_StackTraceBeginM(); + inInt.getWrappedValue()++; + return inInt; + Beagle_StackTraceEndM("Int& operator++(Int& inInt)"); +} + + +/*! + * \brief Increment a Int (postfix version). + * \param inInt Int to increment. + * \return Int before being incremented. + */ +inline +Beagle::Int operator++(Beagle::Int& inInt, int) +{ + Beagle_StackTraceBeginM(); + Beagle::Int lInt = inInt; + inInt.getWrappedValue()++; + return lInt; + Beagle_StackTraceEndM("Int operator++(Int& inInt, int)"); +} + + +/*! + * \brief Add two Int. + * \param inLeftInt Left value to add. + * \param inRightInt Right value to add. + * \return Result of the addition. + */ +inline +Beagle::Int operator+(const Beagle::Int& inLeftInt, const Beagle::Int& inRightInt) +{ + Beagle_StackTraceBeginM(); + return inLeftInt.getWrappedValue() + inRightInt.getWrappedValue(); + Beagle_StackTraceEndM("Int operator+(const Int& inLeftInt, const Int& inRightInt)"); +} + + +/*! + * \brief Add a Int with a int. + * \param inLeftInt Left value to add. + * \param inRightInt Right value to add. + * \return Result of the addition. + */ +inline +Beagle::Int operator+(const Beagle::Int& inLeftInt, int inRightInt) +{ + Beagle_StackTraceBeginM(); + return inLeftInt.getWrappedValue() + inRightInt; + Beagle_StackTraceEndM("Int operator+(const Int& inLeftInt, int inRightInt)"); +} + + +/*! + * \brief Add a Int to a Int. + * \param inLeftInt Left value to which the right one is added. + * \param inRightInt Value to add. + * \return Result of the addition. + */ +inline +Beagle::Int& operator+=(Beagle::Int& inLeftInt, const Beagle::Int& inRightInt) +{ + Beagle_StackTraceBeginM(); + inLeftInt.getWrappedValue() += inRightInt.getWrappedValue(); + return inLeftInt; + Beagle_StackTraceEndM("Int& operator+=(Int& inLeftInt, const Int& inRightInt)"); +} + + +/*! + * \brief Add a int to a Int. + * \param inLeftInt Left value to which the right one is added. + * \param inRightInt Value to add. + * \return Result of the addition. + */ +inline +Beagle::Int& operator+=(Beagle::Int& inLeftInt, int inRightInt) +{ + Beagle_StackTraceBeginM(); + inLeftInt.getWrappedValue() += inRightInt; + return inLeftInt; + Beagle_StackTraceEndM("Int& operator+=(Int& inLeftInt, int inRightInt)"); +} + + +/*! + * \brief Decrement a Int (prefix version). + * \param inInt Int to decrement. + * \return Int decremented. + */ +inline +Beagle::Int& operator--(Beagle::Int& inInt) +{ + Beagle_StackTraceBeginM(); + inInt.getWrappedValue()--; + return inInt; + Beagle_StackTraceEndM("Int& operator--(Int& inInt)"); +} + + +/*! + * \brief Decrement a Int (postfix version). + * \param inInt Int to decrement. + * \return Int before being decremented. + */ +inline +Beagle::Int operator--(Beagle::Int& inInt, int) +{ + Beagle_StackTraceBeginM(); + Beagle::Int lInt = inInt; + inInt.getWrappedValue()--; + return lInt; + Beagle_StackTraceEndM("Int operator--(Int& inInt, int)"); +} + + + +/*! + * \brief Subtract two Int. + * \param inLeftInt Left value to subtract. + * \param inRightInt Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::Int operator-(const Beagle::Int& inLeftInt, const Beagle::Int& inRightInt) +{ + Beagle_StackTraceBeginM(); + return inLeftInt.getWrappedValue() - inRightInt.getWrappedValue(); + Beagle_StackTraceEndM("Int operator-(const Int& inLeftInt, const Int& inRightInt)"); +} + + +/*! + * \brief Subtract a int from a Int. + * \param inLeftInt Left value to subtract. + * \param inRightInt Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::Int operator-(const Beagle::Int& inLeftInt, int inRightInt) +{ + Beagle_StackTraceBeginM(); + return inLeftInt.getWrappedValue() - inRightInt; + Beagle_StackTraceEndM("Int operator-(const Int& inLeftInt, int inRightInt)"); +} + + +/*! + * \brief Subtract a Int from a Int. + * \param inLeftInt Left value from which the right int is subtracted. + * \param inRightInt Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::Int& operator-=(Beagle::Int& inLeftInt, const Beagle::Int& inRightInt) +{ + Beagle_StackTraceBeginM(); + inLeftInt.getWrappedValue() -= inRightInt.getWrappedValue(); + return inLeftInt; + Beagle_StackTraceEndM("Int& operator-=(Int& inLeftInt, const Int& inRightInt)"); +} + + +/*! + * \brief Subtract a int from a Int. + * \param inLeftInt Left value from which the right int is subtracted. + * \param inRightInt Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::Int& operator-=(Beagle::Int& inLeftInt, int inRightInt) +{ + Beagle_StackTraceBeginM(); + inLeftInt.getWrappedValue() -= inRightInt; + return inLeftInt; + Beagle_StackTraceEndM("Int& operator-=(Int& inLeftInt, int inRightInt)"); +} + + +/*! + * \brief Multiply two Int. + * \param inLeftInt Left value to multiply. + * \param inRightInt Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::Int operator*(const Beagle::Int& inLeftInt, const Beagle::Int& inRightInt) +{ + Beagle_StackTraceBeginM(); + return inLeftInt.getWrappedValue() * inRightInt.getWrappedValue(); + Beagle_StackTraceEndM("Int operator*(const Int& inLeftInt, const Int& inRightInt)"); +} + + +/*! + * \brief Multiply a Int with a int. + * \param inLeftInt Left value to multiply. + * \param inRightInt Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::Int operator*(const Beagle::Int& inLeftInt, int inRightInt) +{ + Beagle_StackTraceBeginM(); + return inLeftInt.getWrappedValue() * inRightInt; + Beagle_StackTraceEndM("Int operator*(const Int& inLeftInt, int inRightInt)"); +} + + +/*! + * \brief Multiply a Int with a Int. + * \param inLeftInt Left value to which the right int is multiplied. + * \param inRightInt Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::Int& operator*=(Beagle::Int& inLeftInt, const Beagle::Int& inRightInt) +{ + Beagle_StackTraceBeginM(); + inLeftInt.getWrappedValue() *= inRightInt.getWrappedValue(); + return inLeftInt; + Beagle_StackTraceEndM("Int& operator*=(Int& inLeftInt, const Int& inRightInt)"); +} + + +/*! + * \brief Multiply a Int with a int. + * \param inLeftInt Left value from which the right int is multiplied. + * \param inRightInt Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::Int& operator*=(Beagle::Int& inLeftInt, int inRightInt) +{ + Beagle_StackTraceBeginM(); + inLeftInt.getWrappedValue() *= inRightInt; + return inLeftInt; + Beagle_StackTraceEndM("Int& operator*=(Int& inLeftInt, int inRightInt)"); +} + + +/*! + * \brief Divide two Int. + * \param inLeftInt Left value to divide. + * \param inRightInt Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Int operator/(const Beagle::Int& inLeftInt, const Beagle::Int& inRightInt) +{ + Beagle_StackTraceBeginM(); + return inLeftInt.getWrappedValue() / inRightInt.getWrappedValue(); + Beagle_StackTraceEndM("Int operator/(const Int& inLeftInt, const Int& inRightInt)"); +} + + +/*! + * \brief Divide a Int with a int. + * \param inLeftInt Left value to divide. + * \param inRightInt Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Int operator/(const Beagle::Int& inLeftInt, int inRightInt) +{ + Beagle_StackTraceBeginM(); + return inLeftInt.getWrappedValue() / inRightInt; + Beagle_StackTraceEndM("Int operator/(const Int& inLeftInt, int inRightInt)"); +} + + +/*! + * \brief Divide a Int with a Int. + * \param inLeftInt Left value to which the right int is divided. + * \param inRightInt Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Int& operator/=(Beagle::Int& inLeftInt, const Beagle::Int& inRightInt) +{ + Beagle_StackTraceBeginM(); + inLeftInt.getWrappedValue() /= inRightInt.getWrappedValue(); + return inLeftInt; + Beagle_StackTraceEndM("Int& operator/=(Int& inLeftInt, const Int& inRightInt)"); +} + + +/*! + * \brief Divide a Int with a int. + * \param inLeftInt Left value from which the right int is divided. + * \param inRightInt Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Int operator/=(Beagle::Int& inLeftInt, int inRightInt) +{ + Beagle_StackTraceBeginM(); + inLeftInt.getWrappedValue() /= inRightInt; + return inLeftInt; + Beagle_StackTraceEndM("Int operator/=(Int& inLeftInt, int inRightInt)"); +} + + +#endif // Beagle_Int_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/InternalException.hpp b/lib/beagle-3.0.3/beagle/include/beagle/InternalException.hpp new file mode 100644 index 0000000..47055dc --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/InternalException.hpp @@ -0,0 +1,108 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/InternalException.hpp + * \brief Definition of class InternalException. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:14 $ + */ + +#ifndef Beagle_InternalException_hpp +#define Beagle_InternalException_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/TargetedException.hpp" + + +/*! + * \def Beagle_UndefinedMethodInternalExceptionM + * \brief Construct a Beagle::InternalException using the message given. + * \param METHOD Name of the method undefined. + * \param OBJECT Name of the object where the method is declared but undefined. + * \param NAME Name of the instance that generated this exception. + * \ingroup Except + */ +#define Beagle_UndefinedMethodInternalExceptionM(METHOD,OBJECT,NAME) \ + Beagle::InternalException( \ + string("Method \"").append(METHOD).append("\" of class \"").append(OBJECT).append( \ + "\" is called but is not properly overdefined in subclass with name \"").append(NAME).append("\"."), \ + __FILE__,__LINE__) + + +/*! + * \def Beagle_InternalExceptionM + * \brief Construct a Beagle::InternalException using the message given. + * \param MESS Exception message. + * \ingroup Except + */ +#define Beagle_InternalExceptionM(MESS) \ + Beagle::InternalException(MESS,__FILE__,__LINE__) + + +namespace Beagle { + +// Forward declarations. +template class AllocatorT; +template class PointerT; +template class ContainerT; + +/*! + * \class InternalException beagle/InternalException.hpp "beagle/InternalException.hpp" + * \brief Indication of an internal Beagle exception. + * \ingroup OOF + * \ingroup Except + */ +class InternalException : public TargetedException { + +public: + + //! InternalException allocator type. + typedef AllocatorT + Alloc; + //! InternalException handle type. + typedef PointerT + Handle; + //! InternalException bag type. + typedef ContainerT + Bag; + + explicit InternalException(string inMessage="", + string inFileName="", + unsigned int inLineNumber=0); + virtual ~InternalException() throw() { } + + virtual const char* getExceptionName() const throw(); + +}; + +} + +#endif // Beagle_InternalException_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/InvalidateFitnessOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/InvalidateFitnessOp.hpp new file mode 100644 index 0000000..1f1253c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/InvalidateFitnessOp.hpp @@ -0,0 +1,79 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/InvalidateFitnessOp.hpp + * \brief Definition of class InvalidateFitnessOp. + * \author Matthew Walker + * \author Christian Gagne + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:14 $ + */ + +#ifndef Beagle_InvalidateFitnessOp_hpp +#define Beagle_InvalidateFitnessOp_hpp + +#include "beagle/BreederOp.hpp" + + +namespace Beagle { + + +/*! + * \class InvalidateFitnessOp beagle/InvalidateFitnessOp.hpp "beagle/InvalidateFitnessOp.hpp" + * \brief Invalidate individual's fitness operator class. + * \ingroup ECF + * \ingroup Op + */ +class InvalidateFitnessOp : public BreederOp { + +public: + + //! InvalidateFitnessOp allocator type. + typedef AllocatorT + Alloc; + //! InvalidateFitnessOp handle type. + typedef PointerT + Handle; + //! InvalidateFitnessOp bag type. + typedef ContainerT + Bag; + + explicit InvalidateFitnessOp(string inName="InvalidateFitnessOp"); + virtual ~InvalidateFitnessOp() { } + + virtual Individual::Handle breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext); + virtual float getBreedingProba(BreederNode::Handle inChild); + virtual void operate(Deme& ioDeme, Context& ioContext); + +}; + +} // end of namespace Beagle + + +#endif // Beagle_InvalidateFitnessOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/IsEqualMapPairPredicate.hpp b/lib/beagle-3.0.3/beagle/include/beagle/IsEqualMapPairPredicate.hpp new file mode 100644 index 0000000..d409d7d --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/IsEqualMapPairPredicate.hpp @@ -0,0 +1,87 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/IsEqualMapPairPredicate.hpp + * \brief Definition of class IsEqualMapPairPredicate. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:14 $ + */ + +#ifndef Beagle_IsEqualMapPairPredicate_hpp +#define Beagle_IsEqualMapPairPredicate_hpp + +#include +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" + +namespace Beagle { + + +/*! + * \class IsEqualMapPairPredicate beagle/IsEqualMapPairPredicate.hpp + * "beagle/IsEqualMapPairPredicate.hpp" + * \brief Binary predicate functor that test if two std::pair are + * equals. + * \ingroup OOF + * \ingroup Utils + * \par Note: + * The IsEqualMapPairPredicate is compliant with the STL BinaryPredicate functor. + * See http://www.sgi.com/tech/stl/BinaryPredicate.html + */ +class IsEqualMapPairPredicate { + +public: + IsEqualMapPairPredicate() { } + ~IsEqualMapPairPredicate() { } + + /*! + * \brief Test if the pairs are equal. + * \param inLeftPair Left map pair object to compare. + * \param inRightPair Right map pair to compare. + */ + inline bool operator()(const std::pair& inLeftPair, + const std::pair& inRightPair) const + { + Beagle_StackTraceBeginM(); + if(inLeftPair.first != inRightPair.first) return false; + if( (!inLeftPair.second) && (!inRightPair.second) ) return true; + else if( (!inLeftPair.second) || (!inRightPair.second) ) return false; + return inLeftPair.second->isEqual(*inRightPair.second); + Beagle_StackTraceEndM("bool operator()(const std::pair& inLeftPair, const std::pair& inRightPair) const"); + } + +}; + +} + +#endif // Beagle_IsEqualMapPairPredicate_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/IsEqualPointerPredicate.hpp b/lib/beagle-3.0.3/beagle/include/beagle/IsEqualPointerPredicate.hpp new file mode 100644 index 0000000..694d781 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/IsEqualPointerPredicate.hpp @@ -0,0 +1,81 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/IsEqualPointerPredicate.hpp + * \brief Definition of class IsEqualPointerPredicate. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:14 $ + */ + +#ifndef Beagle_IsEqualPointerPredicate_hpp +#define Beagle_IsEqualPointerPredicate_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" + +namespace Beagle { + + +/*! + * \class IsEqualPointerPredicate beagle/IsEqualPointerPredicate.hpp + * "beagle/IsEqualPointerPredicate.hpp" + * \brief Binary predicate functor that test if two pointed Objects are equals. + * \ingroup OOF + * \ingroup Utils + * \par Note: + * The IsEqualPointerPredicate is compliant with the STL BinaryPredicate functor. + * See http://www.sgi.com/tech/stl/BinaryPredicate.html + */ +class IsEqualPointerPredicate { + +public: + IsEqualPointerPredicate() { } + ~IsEqualPointerPredicate() { } + + /*! + * \brief Test if the Objects pointed are equal. + * \param inLeftPtr Pointer to the left object to compare. + * \param inRightPtr Pointer to the right object to compare. + */ + inline bool operator()(const Pointer& inLeftPtr, const Pointer& inRightPtr) const + { + Beagle_StackTraceBeginM(); + if( (!inLeftPtr) && (!inRightPtr) ) return true; + else if( (!inLeftPtr) || (!inRightPtr) ) return false; + return inLeftPtr->isEqual(*inRightPtr); + Beagle_StackTraceEndM("bool operator()(const Pointer& inLeftPtr, const Pointer& inRightPtr) const"); + } + +}; + +} + +#endif // Beagle_IsEqualPointerPredicate_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/IsLessMapPairPredicate.hpp b/lib/beagle-3.0.3/beagle/include/beagle/IsLessMapPairPredicate.hpp new file mode 100644 index 0000000..32ef893 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/IsLessMapPairPredicate.hpp @@ -0,0 +1,86 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/IsLessMapPairPredicate.hpp + * \brief Definition of class IsLessMapPredicate. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:14 $ + */ + +#ifndef Beagle_IsLessMapPairPredicate_hpp +#define Beagle_IsLessMapPairPredicate_hpp + +#include +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" + +namespace Beagle { + + +/*! + * \class IsLessMapPairPredicate beagle/IsLessMapPairPredicate.hpp + * "beagle/IsLessMapPairPredicate.hpp" + * \brief Binary predicate functor testing the ordering of two + * std::pair. + * \ingroup OOF + * \ingroup Utils + * \par Note: + * The IsLessMapPairPredicate is compliant with the STL BinaryPredicate functor. + * See http://www.sgi.com/tech/stl/BinaryPredicate.html + */ +class IsLessMapPairPredicate { + +public: + IsLessMapPairPredicate() { } + ~IsLessMapPairPredicate() { } + + /*! + * \brief Test the ordering of two std::pair. + * \param inLeftPair Left map pair to compare. + * \param inRightPair Right map pair to compare. + */ + inline bool operator()(const std::pair& inLeftPair, + const std::pair& inRightPair) const + { + Beagle_StackTraceBeginM(); + if( (inLeftPair.first < inRightPair.first) == false ) return false; + if( (!inLeftPair.second) || (!inRightPair.second) ) return false; + return inLeftPair.second->isLess(*inRightPair.second); + Beagle_StackTraceEndM("bool operator()(const std::pair& inLeftPair, const std::pair& inRightPair) const"); + } + +}; + +} + +#endif // Beagle_IsLessMapPairPredicate_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/IsLessPointerPredicate.hpp b/lib/beagle-3.0.3/beagle/include/beagle/IsLessPointerPredicate.hpp new file mode 100644 index 0000000..fc37714 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/IsLessPointerPredicate.hpp @@ -0,0 +1,80 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/IsLessPointerPredicate.hpp + * \brief Definition of class IsLessPointerPredicate. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:14 $ + */ + +#ifndef Beagle_IsLessPointerPredicate_hpp +#define Beagle_IsLessPointerPredicate_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" + +namespace Beagle { + + +/*! + * \class IsLessPointerPredicate beagle/IsLessPointerPredicate.hpp + * "beagle/IsLessPointerPredicate.hpp" + * \brief Binary predicate functor that test the ordering of two pointed Objects. + * \ingroup OOF + * \ingroup Utils + * \par Note: + * The IsLessPointerPredicate is compliant with the STL BinaryPredicate functor. + * See http://www.sgi.com/tech/stl/BinaryPredicate.html + */ +class IsLessPointerPredicate { + +public: + IsLessPointerPredicate() { } + ~IsLessPointerPredicate() { } + + /*! + * \brief Test the ordering of two pointed Objects. + * \param inLeftPtr Pointer to the left object to compare. + * \param inRightPtr Pointer to the right object to compare. + */ + inline bool operator()(const Pointer& inLeftPtr, const Pointer& inRightPtr) const + { + Beagle_StackTraceBeginM(); + if( (!inLeftPtr) || (!inRightPtr) ) return false; + return inLeftPtr->isLess(*inRightPtr); + Beagle_StackTraceEndM("bool operator()(const Pointer& inLeftPtr, const Pointer& inRightPtr) const"); + } + +}; + +} + +#endif // Beagle_IsLessPointerPredicate_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/IsMorePointerPredicate.hpp b/lib/beagle-3.0.3/beagle/include/beagle/IsMorePointerPredicate.hpp new file mode 100644 index 0000000..c906018 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/IsMorePointerPredicate.hpp @@ -0,0 +1,80 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/IsMorePointerPredicate.hpp + * \brief Definition of class IsLessPointerPredicate. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + +#ifndef Beagle_IsMorePointerPredicate_hpp +#define Beagle_IsMorePointerPredicate_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" + +namespace Beagle { + + +/*! + * \class IsMorePointerPredicate beagle/IsMorePointerPredicate.hpp + * "beagle/IsMorePointerPredicate.hpp" + * \brief Binary predicate functor that test the ordering of two pointed Objects. + * \ingroup OOF + * \ingroup Utils + * \par Note: + * The IsMorePointerPredicate is compliant with the STL BinaryPredicate functor. + * See http://www.sgi.com/tech/stl/BinaryPredicate.html + */ +class IsMorePointerPredicate { + +public: + IsMorePointerPredicate() { } + ~IsMorePointerPredicate() { } + + /*! + * \brief Test the ordering of two pointed Objects. + * \param inLeftPtr Pointer to the left object to compare. + * \param inRightPtr Pointer to the right object to compare. + */ + inline bool operator()(const Pointer& inLeftPtr, const Pointer& inRightPtr) const + { + Beagle_StackTraceBeginM(); + if( (!inLeftPtr) || (!inRightPtr) ) return false; + return inRightPtr->isLess(*inLeftPtr); + Beagle_StackTraceEndM("bool operator()(const Pointer& inLeftPtr, const Pointer& inRightPtr) const"); + } + +}; + +} + +#endif // Beagle_IsMorePointerPredicate_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Logger.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Logger.hpp new file mode 100644 index 0000000..a9110c3 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Logger.hpp @@ -0,0 +1,394 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Logger.hpp + * \brief Definition of the class Logger. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + +#ifndef Beagle_Logger_hpp +#define Beagle_Logger_hpp + +#include +#include +#include +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Component.hpp" +#include "beagle/UInt.hpp" +#include "beagle/String.hpp" +#include "beagle/Bool.hpp" + + +/*! + * \def Beagle_LogBasicM + * \brief Log given message if log level is equal to or more than "Basic (1)". + * \param ioLogger Logger to log message into. + * \param inType Type of the message to log. + * \param inClass Class name associated to the message to log. + * \param inMessage Message to log. + * \ingroup Sys + */ +#define Beagle_LogBasicM(ioLogger,inType,inClass,inMessage) \ +if(ioLogger.isInitialized()==false) \ + ioLogger.addToBuffer((unsigned int)Beagle::Logger::eBasic,Beagle::string(inType), \ + Beagle::string(inClass),Beagle::string(inMessage)); \ +else ioLogger.outputMessage(Beagle::Logger::eBasic,Beagle::string(inType), \ + Beagle::string(inClass),Beagle::string(inMessage)) + +/*! + * \def Beagle_LogStatsM + * \brief Log given message if log level is equal to or more than "Stats (2)". + * \param ioLogger Logger to log message into. + * \param inType Type of the message to log. + * \param inClass Class name associated to the message to log. + * \param inMessage Message to log. + * \ingroup Sys + */ +#define Beagle_LogStatsM(ioLogger,inType,inClass,inMessage) \ +if(ioLogger.isInitialized()==false) \ + ioLogger.addToBuffer((unsigned int)Beagle::Logger::eStats,Beagle::string(inType), \ + Beagle::string(inClass),Beagle::string(inMessage)); \ +else ioLogger.outputMessage(Beagle::Logger::eStats,Beagle::string(inType), \ + Beagle::string(inClass),Beagle::string(inMessage)) + +/*! + * \def Beagle_LogInfoM + * \brief Log given message if log level is equal to or more than "Info (3)". + * \param ioLogger Logger to log message into. + * \param inType Type of the message to log. + * \param inClass Class name associated to the message to log. + * \param inMessage Message to log. + * \ingroup Sys + */ +#define Beagle_LogInfoM(ioLogger,inType,inClass,inMessage) \ +if(ioLogger.isInitialized()==false) \ + ioLogger.addToBuffer((unsigned int)Beagle::Logger::eInfo,Beagle::string(inType), \ + Beagle::string(inClass),Beagle::string(inMessage)); \ +else ioLogger.outputMessage(Beagle::Logger::eInfo,Beagle::string(inType), \ + Beagle::string(inClass),Beagle::string(inMessage)) + +/*! + * \def Beagle_LogDetailedM + * \brief Log given message if log level is equal to or more than "Detailed (4)". + * \param ioLogger Logger to log message into. + * \param inType Type of the message to log. + * \param inClass Class name associated to the message to log. + * \param inMessage Message to log. + * \ingroup Sys + */ +#define Beagle_LogDetailedM(ioLogger,inType,inClass,inMessage) \ +if(ioLogger.isInitialized()==false) \ + ioLogger.addToBuffer((unsigned int)Beagle::Logger::eDetailed,Beagle::string(inType),\ + Beagle::string(inClass),Beagle::string(inMessage)); \ +else ioLogger.outputMessage(Beagle::Logger::eDetailed,Beagle::string(inType), \ + Beagle::string(inClass),Beagle::string(inMessage)) + +/*! + * \def Beagle_LogTraceM + * \brief Log given message if log level is equal to or more than "Trace (5)". + * \param ioLogger Logger to log message into. + * \param inType Type of the message to log. + * \param inClass Class name associated to the message to log. + * \param inMessage Message to log. + * \ingroup Sys + */ +#define Beagle_LogTraceM(ioLogger,inType,inClass,inMessage) \ +if(ioLogger.isInitialized()==false) \ + ioLogger.addToBuffer((unsigned int)Beagle::Logger::eTrace,Beagle::string(inType), \ + Beagle::string(inClass),Beagle::string(inMessage)); \ +else ioLogger.outputMessage(Beagle::Logger::eTrace,Beagle::string(inType), \ + Beagle::string(inClass),Beagle::string(inMessage)) + +/*! + * \def Beagle_LogVerboseM + * \brief Log given message if log level is equal to or more than "Verbose (6)". + * Executed only when the framework is compiled with optimisation mode off. + * \param ioLogger Logger to log message into. + * \param inType Type of the message to log. + * \param inClass Class name associated to the message to log. + * \param inMessage Message to log. + * \ingroup Sys + */ +#ifndef BEAGLE_NDEBUG +#define Beagle_LogVerboseM(ioLogger,inType,inClass,inMessage) \ +if(ioLogger.isInitialized()==false) \ + ioLogger.addToBuffer((unsigned int)Beagle::Logger::eVerbose,Beagle::string(inType), \ + Beagle::string(inClass),Beagle::string(inMessage)); \ +else ioLogger.outputMessage(Beagle::Logger::eVerbose,Beagle::string(inType), \ + Beagle::string(inClass),Beagle::string(inMessage)) +#else // BEAGLE_NDEBUG +#define Beagle_LogVerboseM(ioLogger,inType,inClass,inMessage) +#endif // BEAGLE_NDEBUG + +/*! + * \def Beagle_LogDebugM + * \brief Log given message if log level is equal to or more than "Debug (7)". + * Executed only when the framework is compiled with full debug mode activated, + * and optimisation mode off. + * \param ioLogger Logger to log message into. + * \param inType Type of the message to log. + * \param inClass Class name associated to the message to log. + * \param inMessage Message to log. + * \ingroup Sys + */ +#if defined (BEAGLE_FULL_DEBUG) && ! defined (BEAGLE_NDEBUG) +#define Beagle_LogDebugM(ioLogger,inType,inClass,inMessage) \ +if(ioLogger.isInitialized()==false) \ + ioLogger.addToBuffer((unsigned int)Beagle::Logger::eDebug,Beagle::string(inType), \ + Beagle::string(inClass),Beagle::string(inMessage)); \ +else ioLogger.outputMessage((unsigned int)Beagle::Logger::eDebug,Beagle::string(inType), \ + Beagle::string(inClass),Beagle::string(inMessage)) +#else // defined (BEAGLE_FULL_DEBUG) && ! defined (BEAGLE_NDEBUG) +#define Beagle_LogDebugM(ioLogger,inType,inClass,inMessage) +#endif // defined (BEAGLE_FULL_DEBUG) && ! defined (BEAGLE_NDEBUG) + +/*! + * \def Beagle_LogObjectM + * \brief Log given Beagle object if log level is equal to or more than the given one. + * \param ioLogger Logger to log message into. + * \param inLogLevel Log level of the message + * \param inType Type of the message to log. + * \param inClass Class name associated to the message to log. + * \param inObject Beagle object to log. + * \ingroup Sys + */ +#define Beagle_LogObjectM(ioLogger,inLogLevel,inType,inClass,inObject) \ +if(ioLogger.isInitialized()==false) \ + ioLogger.addToBuffer((unsigned int)inLogLevel,Beagle::string(inType), \ + Beagle::string(inClass),(inObject).serialize()); \ +else ioLogger.outputObject((unsigned int)inLogLevel,Beagle::string(inType), \ + Beagle::string(inClass),inObject) + +/*! + * \def Beagle_LogObjectDebugM + * \brief Log given Beagle object if log level is equal to or more than "Debug (7)". + * Executed only when the framework is compiled with full debug mode activated, + * and optimisation mode off. + * \param ioLogger Logger to log message into. + * \param inType Type of the message to log. + * \param inClass Class name associated to the message to log. + * \param inObject Beagle object to log. + * \ingroup Sys + */ +#if defined (BEAGLE_FULL_DEBUG) && ! defined (BEAGLE_NDEBUG) +#define Beagle_LogObjectDebugM(ioLogger,inType,inClass,inObject) \ +if(ioLogger.isInitialized()==false) \ + ioLogger.addToBuffer(Beagle::Logger::eDebug,Beagle::string(inType), \ + Beagle::string(inClass),(inObject).serialize()); \ +else ioLogger.outputObject(Beagle::Logger::eDebug,Beagle::string(inType), \ + Beagle::string(inClass),inObject) +#else // defined (BEAGLE_FULL_DEBUG) && ! defined (BEAGLE_NDEBUG) +#define Beagle_LogObjectDebugM(ioLogger,inType,inClass,inObject) +#endif // defined (BEAGLE_FULL_DEBUG) && ! defined (BEAGLE_NDEBUG) + + +namespace Beagle { + +// Forward declaration +class System; + +/*! + * \class Logger beagle/Logger.hpp "beagle/Logger.hpp" + * \brief Beagle's logger class. Log to a file. + * \ingroup ECF + * \ingroup Sys + */ +class Logger : public Component { + +public: + + /*! + * \brief Log levels available in the logger. A given level imply all the previous levels. + */ + enum LogLevel { + eNothing=0, //!< Nothing. + eBasic=1, //!< Essential informations. + eStats=2, //!< eBasic + evolution statistics. + eInfo=3, //!< eStats + general informations. + eDetailed=4, //!< eCommon + details on operations. + eTrace=5, //!< eDetails + trace of the algorithms. + eVerbose=6, //!< eTrace + details on everything (disabled in optimization mode). + eDebug=7 //!< Debug (enabled only in full debug mode). + }; + + //! Logger allocator type. + typedef AllocatorT + Alloc; + //! Logger handle type. + typedef PointerT + Handle; + //! Logger bag type. + typedef ContainerT + Bag; + + Logger(); + virtual ~Logger() { } + + virtual void initialize(System& ioSystem); + virtual void postInit(System& ioSystem) { } + + /*! + * \brief Write message to the output device. + * \param inLevel Log level of the message + * \param inType Type of the message to log. + * \param inClass Class associated to the message. + * \param inMessage Message to log in the output device. + */ + virtual void outputMessage(unsigned int inLevel, + string inType, + string inClass, + string inMessage) =0; + + /*! + * \brief Write Beagle object to the output device. + * \param inLevel Log level of the message + * \param inType Type of the message to log. + * \param inClass Class associated to the message. + * \param inObject Beagle object to log in the output device. + */ + virtual void outputObject(unsigned int inLevel, + string inType, + string inClass, + const Object& inObject) =0; + + /*! + * \brief Add message to buffer for output when logger will be initialized. + * \param inLevel Log level of the message. + * \param inType Type of the message to log. + * \param inClass Class name associated to the message. + * \param inMessage Message to log. + */ + inline void addToBuffer(unsigned int inLevel, + string inType, + string inClass, + string inMessage) + { + mBuffer.push_back(Message(inLevel,inType,inClass,inMessage)); + } + + /*! + * \return True if log level is initialized, false if not. + */ + inline bool isInitialized() const + { + return mInitialized; + } + + /*! + * \brief Log given message if log level is greater or equal than the level associated. + * \param inLevel Log level of the message. + * \param inType Type of the message to log. + * \param inClass Class name associated to the message. + * \param inMessage Message to log. + */ + inline void log(unsigned int inLevel, + string inType, + string inClass, + string inMessage) + { + Beagle_StackTraceBeginM(); + if(mInitialized==false) addToBuffer(inLevel,inType,inClass,inMessage); + else outputMessage(inLevel,inType,inClass,inMessage); + Beagle_StackTraceEndM("void log(unsigned int inLevel, string inType, string inClass, string inMessage)"); + } + + /*! + * \brief Log current time if log level is equal to than the level associated. + * \param inLevel Log level of the message. + */ + inline void logCurrentTime(unsigned int inLevel) + { + Beagle_StackTraceBeginM(); + std::time_t lTime = std::time(NULL); + std::tm* lTM = std::localtime(&lTime); + char lFormatedTime[512]; + std::strftime(lFormatedTime, 512, "%X %d %b %Y", lTM); + string lMessage = string("Current date and time: ")+string(lFormatedTime); + if(mInitialized) outputMessage(inLevel, "logger", "Beagle::Logger", lMessage); + else addToBuffer(inLevel, "logger", "Beagle::Logger", lMessage); + Beagle_StackTraceEndM("void logCurrentTime(unsigned int inLevel)"); + } + + /*! + * \brief Log given Beagle object if log level is greater or equal than the level associated. + * \param inLevel Log level of the message. + * \param inType Type of the message to log. + * \param inClass Class name associated to the message. + * \param inObject Beagle object to log. + */ + inline void logObject(unsigned int inLevel, + string inType, + string inClass, + const Object& inObject) + { + Beagle_StackTraceBeginM(); + if(mInitialized==false) addToBuffer(inLevel,inType,inClass,inObject.serialize()); + else outputObject(inLevel,inType,inClass,inObject); + Beagle_StackTraceEndM("void logObject(unsigned int inLevel, string inType, string inClass, const Object& inObject)"); + } + + /*! + * \brief Terminate logger. + */ + virtual void terminate() { } + +protected: + + struct Message { + unsigned int mLogLevel; + string mType; + string mClass; + string mMessage; + + Message(unsigned int inLogLevel=0, + string inType="unknown", + string inClass="unknown", + string inMessage="") : + mLogLevel(inLogLevel), + mType(inType), + mClass(inClass), + mMessage(inMessage) + { } + + friend class std::list< Beagle::Logger::Message,BEAGLE_STLALLOCATOR >; + }; + + std::list< Message,BEAGLE_STLALLOCATOR > mBuffer; //!< Messages buffer. + bool mInitialized; //!< Flag whether the logger is initialized or not. + +}; + +} + +#endif // Beagle_Logger_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/LoggerXML.hpp b/lib/beagle-3.0.3/beagle/include/beagle/LoggerXML.hpp new file mode 100644 index 0000000..07c1d19 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/LoggerXML.hpp @@ -0,0 +1,104 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LoggerXML.hpp + * \brief Definition of the class LoggerXML. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.12.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + +#ifndef Beagle_LoggerXML_hpp +#define Beagle_LoggerXML_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Logger.hpp" + +namespace Beagle { + +/*! + * \class LoggerXML beagle/LoggerXML.hpp "beagle/LoggerXML.hpp" + * \brief Beagle's XML logger class. Log to in a XML format to file or console. + * \ingroup ECF + */ +class LoggerXML : public Logger { + +public: + + //! LoggerXML allocator type. + typedef AllocatorT + Alloc; + //! LoggerXML handle type. + typedef PointerT + Handle; + //! LoggerXML bag type. + typedef ContainerT + Bag; + + LoggerXML(); + virtual ~LoggerXML(); + + virtual void initialize(System& ioSystem); + virtual void outputMessage(unsigned int inLevel, + string inType, + string inClass, + string inMessage); + virtual void outputObject(unsigned int inLevel, + string inType, + string inClass, + const Object& inObject); + virtual void postInit(System& ioSystem); + virtual void terminate(); + + +protected: + + UInt::Handle mLogConsoleLevel; //!< Console log level. + UInt::Handle mLogFileLevel; //!< XML log level used. + String::Handle mLogFileName; //!< File name to log output into. + Bool::Handle mShowLevel; //!< Show log level in logs. + Bool::Handle mShowType; //!< Show type of message in logs. + Bool::Handle mShowClass; //!< Show class that output the message in logs. + string mActualFileName; //!< Actual filename used to log message. + PACC::XML::Streamer* mStreamerFile; //!< Streamer used to output messages in file. + std::ofstream* mLogOutStream; //!< Pointer to stream to log output. + PACC::XML::Streamer* mStreamerConsole; //!< Streamer used to output messages at standard output. + bool mTerminated; //!< Flag whether logger is terminated or not. + +public: + + LoggerXML(const LoggerXML& inLoggerXML); // Copy constructor prohibited! + LoggerXML& operator=(const LoggerXML& inLoggerXML); // operator= prohibited! + +}; + +} + +#endif // Beagle_LoggerXML_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Long.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Long.hpp new file mode 100644 index 0000000..b0333ea --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Long.hpp @@ -0,0 +1,578 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Long.hpp + * \brief Definition of the type Long and related operators. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + +#ifndef Beagle_Long_hpp +#define Beagle_Long_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/ArrayT.hpp" + + +namespace Beagle { + +/*! + * \brief Beagle wrapper of the atomic long type. + * \ingroup Adapt + */ +typedef WrapperT< long > + Long; + +/*! + * \brief Beagle array of the atomic long type. + * \ingroup Adapt + */ +typedef ArrayT< long > + LongArray; + +/*! + * \brief Evaluate absolute value of a Beagle::Long. + * \param inValue Long to evaluate the absolute value. + * \return Absolute value of the input. + * \ingroup Adapt + */ +template <> +inline Long absolute(const Long& inValue) +{ + Beagle_StackTraceBeginM(); + return Long(std::abs(inValue.getWrappedValue())); + Beagle_StackTraceEndM("Long absolute(const Long& inValue)"); +} + +} + + +/*! + * \brief Test whether an long is less than another. + * \param inLeftLong Left long compared. + * \param inRightLong Right long compared. + * \return True if left long is less than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::Long. + */ +inline bool operator<(const Beagle::Long& inLeftLong, const Beagle::Long& inRightLong) +{ + Beagle_StackTraceBeginM(); + return inLeftLong.isLess(inRightLong); + Beagle_StackTraceEndM("bool operator<(const Long& inLeftLong, const Long& inRightLong)"); +} + + +/*! + * \brief Test whether an long is less than, or equal to another. + * \param inLeftLong Left long compared. + * \param inRightLong Right long compared. + * \return True if left long is less than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::Long. + */ +inline bool operator<=(const Beagle::Long& inLeftLong, const Beagle::Long& inRightLong) +{ + Beagle_StackTraceBeginM(); + return ( inLeftLong.isLess(inRightLong) || inLeftLong.isEqual(inRightLong) ); + Beagle_StackTraceEndM("bool operator<=(const Long& inLeftLong, const Long& inRightLong)"); +} + + +/*! + * \brief Test whether an long is more than another. + * \param inLeftLong Left long compared. + * \param inRightLong Right long compared. + * \return True if left long is more than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::Long. + */ +inline bool operator>(const Beagle::Long& inLeftLong, const Beagle::Long& inRightLong) +{ + Beagle_StackTraceBeginM(); + return inRightLong.isLess(inLeftLong); + Beagle_StackTraceEndM("bool operator>(const Long& inLeftLong, const Long& inRightLong)"); +} + + +/*! + * \brief Test whether an long is more than, or equal to another. + * \param inLeftLong Left long compared. + * \param inRightLong Right long compared. + * \return True if left long is more than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::Long. + */ +inline bool operator>=(const Beagle::Long& inLeftLong, const Beagle::Long& inRightLong) +{ + Beagle_StackTraceBeginM(); + return ( inRightLong.isLess(inLeftLong) || inLeftLong.isEqual(inRightLong) ); + Beagle_StackTraceEndM("bool operator>=(const Long& inLeftLong, const Long& inRightLong)"); +} + + +/*! + * \brief Test whether an long is equal to another. + * \param inLeftLong Left long compared. + * \param inRightLong Right long compared. + * \return True if left long is equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::Long. + */ +inline bool operator==(const Beagle::Long& inLeftLong, const Beagle::Long& inRightLong) +{ + Beagle_StackTraceBeginM(); + return inLeftLong.isEqual(inRightLong); + Beagle_StackTraceEndM("bool operator==(const Long& inLeftLong, const Long& inRightLong)"); +} + + +/*! + * \brief Test whether an long is not equal to another. + * \param inLeftLong Left long compared. + * \param inRightLong Right long compared. + * \return True if left long is not equal to the right one, false if it is. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::Long. + */ +inline bool operator!=(const Beagle::Long& inLeftLong, const Beagle::Long& inRightLong) +{ + Beagle_StackTraceBeginM(); + return ( inLeftLong.isEqual(inRightLong) == false); + Beagle_StackTraceEndM("bool operator!=(const Long& inLeftLong, const Long& inRightLong)"); +} + + +/*! + * \brief Compare equality of a Long with a long. + * \param inLeftLong Left value to compare. + * \param inRightLong Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator==(const Beagle::Long& inLeftLong, long inRightLong) +{ + Beagle_StackTraceBeginM(); + return inLeftLong.getWrappedValue() == inRightLong; + Beagle_StackTraceEndM("bool operator==(const Long& inLeftLong, long inRightLong)"); +} + + +/*! + * \brief Compare inequality of a Long with a long. + * \param inLeftLong Left value to compare. + * \param inRightLong Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator!=(const Beagle::Long& inLeftLong, long inRightLong) +{ + Beagle_StackTraceBeginM(); + return inLeftLong.getWrappedValue() != inRightLong; + Beagle_StackTraceEndM("bool operator!=(const Long& inLeftLong, long inRightLong)"); +} + + +/*! + * \brief Test if a Long is < than a long. + * \param inLeftLong Left value to compare. + * \param inRightLong Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<(const Beagle::Long& inLeftLong, long inRightLong) +{ + Beagle_StackTraceBeginM(); + return inLeftLong.getWrappedValue() < inRightLong; + Beagle_StackTraceEndM("bool operator<(const Long& inLeftLong, long inRightLong)"); +} + + +/*! + * \brief Test if a Long is <= than a long. + * \param inLeftLong Left value to compare. + * \param inRightLong Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<=(const Beagle::Long& inLeftLong, long inRightLong) +{ + Beagle_StackTraceBeginM(); + return inLeftLong.getWrappedValue() <= inRightLong; + Beagle_StackTraceEndM("bool operator<=(const Long& inLeftLong, long inRightLong)"); +} + + +/*! + * \brief Test if a Long is > than a long. + * \param inLeftLong Left value to compare. + * \param inRightLong Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>(const Beagle::Long& inLeftLong, long inRightLong) +{ + Beagle_StackTraceBeginM(); + return inLeftLong.getWrappedValue() > inRightLong; + Beagle_StackTraceEndM("bool operator>(const Long& inLeftLong, long inRightLong)"); +} + + +/*! + * \brief Test if a Long is >= than a long. + * \param inLeftLong Left value to compare. + * \param inRightLong Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>=(const Beagle::Long& inLeftLong, long inRightLong) +{ + Beagle_StackTraceBeginM(); + return inLeftLong.getWrappedValue() >= inRightLong; + Beagle_StackTraceEndM("bool operator>=(const Long& inLeftLong, long inRightLong)"); +} + + +/*! + * \brief Increment a Long (prefix version). + * \param inLong Long to increment. + * \return Long incremented. + */ +inline +Beagle::Long& operator++(Beagle::Long& inLong) +{ + Beagle_StackTraceBeginM(); + inLong.getWrappedValue()++; + return inLong; + Beagle_StackTraceEndM("Long& operator++(Long& inLong)"); +} + + +/*! + * \brief Increment a Long (postfix version). + * \param inLong Long to increment. + * \return Long before being incremented. + */ +inline +Beagle::Long operator++(Beagle::Long& inLong, int) +{ + Beagle_StackTraceBeginM(); + Beagle::Long lLong = inLong; + inLong.getWrappedValue()++; + return lLong; + Beagle_StackTraceEndM("Long operator++(Long& inLong, int)"); +} + + +/*! + * \brief Add two Long. + * \param inLeftLong Left value to add. + * \param inRightLong Right value to add. + * \return Result of the addition. + */ +inline +Beagle::Long operator+(const Beagle::Long& inLeftLong, const Beagle::Long& inRightLong) +{ + Beagle_StackTraceBeginM(); + return inLeftLong.getWrappedValue() + inRightLong.getWrappedValue(); + Beagle_StackTraceEndM("Long operator+(const Long& inLeftLong, const Long& inRightLong)"); +} + + +/*! + * \brief Add a Long with a long. + * \param inLeftLong Left value to add. + * \param inRightLong Right value to add. + * \return Result of the addition. + */ +inline +Beagle::Long operator+(const Beagle::Long& inLeftLong, long inRightLong) +{ + Beagle_StackTraceBeginM(); + return inLeftLong.getWrappedValue() + inRightLong; + Beagle_StackTraceEndM("Beagle::Long operator+(const Beagle::Long& inLeftLong, long inRightLong)"); +} + + +/*! + * \brief Add a Long to a Long. + * \param inLeftLong Left value to which the right one is added. + * \param inRightLong Value to add. + * \return Result of the addition. + */ +inline +Beagle::Long& operator+=(Beagle::Long& inLeftLong, const Beagle::Long& inRightLong) +{ + Beagle_StackTraceBeginM(); + inLeftLong.getWrappedValue() += inRightLong.getWrappedValue(); + return inLeftLong; + Beagle_StackTraceEndM("Long& operator+=(Long& inLeftLong, const Long& inRightLong)"); +} + + +/*! + * \brief Add a long to a Long. + * \param inLeftLong Left value to which the right one is added. + * \param inRightLong Value to add. + * \return Result of the addition. + */ +inline +Beagle::Long& operator+=(Beagle::Long& inLeftLong, long inRightLong) +{ + Beagle_StackTraceBeginM(); + inLeftLong.getWrappedValue() += inRightLong; + return inLeftLong; + Beagle_StackTraceEndM("Long& operator+=(Long& inLeftLong, long inRightLong)"); +} + + +/*! + * \brief Decrement a Long (prefix version). + * \param inLong Long to decrement. + * \return Long decremented. + */ +inline +Beagle::Long& operator--(Beagle::Long& inLong) +{ + Beagle_StackTraceBeginM(); + inLong.getWrappedValue()--; + return inLong; + Beagle_StackTraceEndM("Long& operator--(Long& inLong)"); +} + + +/*! + * \brief Decrement a Long (postfix version). + * \param inLong Long to decrement. + * \return Long before being decremented. + */ +inline +Beagle::Long operator--(Beagle::Long& inLong, int) +{ + Beagle_StackTraceBeginM(); + Beagle::Long lLong = inLong; + inLong.getWrappedValue()--; + return lLong; + Beagle_StackTraceEndM("Long operator--(Long& inLong, int)"); +} + + + +/*! + * \brief Subtract two Long. + * \param inLeftLong Left value to subtract. + * \param inRightLong Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::Long operator-(const Beagle::Long& inLeftLong, const Beagle::Long& inRightLong) +{ + Beagle_StackTraceBeginM(); + return inLeftLong.getWrappedValue() - inRightLong.getWrappedValue(); + Beagle_StackTraceEndM("Long operator-(const Long& inLeftLong, const Long& inRightLong)"); +} + + +/*! + * \brief Subtract a long from a Long. + * \param inLeftLong Left value to subtract. + * \param inRightLong Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::Long operator-(const Beagle::Long& inLeftLong, long inRightLong) +{ + Beagle_StackTraceBeginM(); + return inLeftLong.getWrappedValue() - inRightLong; + Beagle_StackTraceEndM("Long operator-(const Long& inLeftLong, long inRightLong)"); +} + + +/*! + * \brief Subtract a Long from a Long. + * \param inLeftLong Left value from which the right long is subtracted. + * \param inRightLong Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::Long& operator-=(Beagle::Long& inLeftLong, const Beagle::Long& inRightLong) +{ + Beagle_StackTraceBeginM(); + inLeftLong.getWrappedValue() -= inRightLong.getWrappedValue(); + return inLeftLong; + Beagle_StackTraceEndM("Long& operator-=(Long& inLeftLong, const Long& inRightLong)"); +} + + +/*! + * \brief Subtract a long from a Long. + * \param inLeftLong Left value from which the right long is subtracted. + * \param inRightLong Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::Long& operator-=(Beagle::Long& inLeftLong, long inRightLong) +{ + Beagle_StackTraceBeginM(); + inLeftLong.getWrappedValue() -= inRightLong; + return inLeftLong; + Beagle_StackTraceEndM("Long& operator-=(Long& inLeftLong, long inRightLong)"); +} + + +/*! + * \brief Multiply two Long. + * \param inLeftLong Left value to multiply. + * \param inRightLong Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::Long operator*(const Beagle::Long& inLeftLong, const Beagle::Long& inRightLong) +{ + Beagle_StackTraceBeginM(); + return inLeftLong.getWrappedValue() * inRightLong.getWrappedValue(); + Beagle_StackTraceEndM("Long operator*(const Long& inLeftLong, const Long& inRightLong)"); +} + + +/*! + * \brief Multiply a Long with a long. + * \param inLeftLong Left value to multiply. + * \param inRightLong Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::Long operator*(const Beagle::Long& inLeftLong, long inRightLong) +{ + Beagle_StackTraceBeginM(); + return inLeftLong.getWrappedValue() * inRightLong; + Beagle_StackTraceEndM("Long operator*(const Long& inLeftLong, long inRightLong)"); +} + + +/*! + * \brief Multiply a Long with a Long. + * \param inLeftLong Left value to which the right long is multiplied. + * \param inRightLong Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::Long& operator*=(Beagle::Long& inLeftLong, const Beagle::Long& inRightLong) +{ + Beagle_StackTraceBeginM(); + inLeftLong.getWrappedValue() *= inRightLong.getWrappedValue(); + return inLeftLong; + Beagle_StackTraceEndM("Long& operator*=(Long& inLeftLong, const Long& inRightLong)"); +} + + +/*! + * \brief Multiply a Long with a long. + * \param inLeftLong Left value from which the right long is multiplied. + * \param inRightLong Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::Long& operator*=(Beagle::Long& inLeftLong, long inRightLong) +{ + Beagle_StackTraceBeginM(); + inLeftLong.getWrappedValue() *= inRightLong; + return inLeftLong; + Beagle_StackTraceEndM("Long& operator*=(Long& inLeftLong, long inRightLong)"); +} + + +/*! + * \brief Divide two Long. + * \param inLeftLong Left value to divide. + * \param inRightLong Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Long operator/(const Beagle::Long& inLeftLong, const Beagle::Long& inRightLong) +{ + Beagle_StackTraceBeginM(); + return inLeftLong.getWrappedValue() / inRightLong.getWrappedValue(); + Beagle_StackTraceEndM("Long operator/(const Long& inLeftLong, const Long& inRightLong)"); +} + + +/*! + * \brief Divide a Long with a long. + * \param inLeftLong Left value to divide. + * \param inRightLong Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Long operator/(const Beagle::Long& inLeftLong, long inRightLong) +{ + Beagle_StackTraceBeginM(); + return inLeftLong.getWrappedValue() / inRightLong; + Beagle_StackTraceEndM("Long operator/(const Long& inLeftLong, long inRightLong)"); +} + + +/*! + * \brief Divide a Long with a Long. + * \param inLeftLong Left value to which the right long is divided. + * \param inRightLong Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Long& operator/=(Beagle::Long& inLeftLong, const Beagle::Long& inRightLong) +{ + Beagle_StackTraceBeginM(); + inLeftLong.getWrappedValue() /= inRightLong.getWrappedValue(); + return inLeftLong; + Beagle_StackTraceEndM("Long& operator/=(Long& inLeftLong, const Long& inRightLong)"); +} + + +/*! + * \brief Divide a Long with a long. + * \param inLeftLong Left value from which the right long is divided. + * \param inRightLong Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Long operator/=(Beagle::Long& inLeftLong, long inRightLong) +{ + Beagle_StackTraceBeginM(); + inLeftLong.getWrappedValue() /= inRightLong; + return inLeftLong; + Beagle_StackTraceEndM("Long operator/=(Long& inLeftLong, long inRightLong)"); +} + + +#endif // Beagle_Long_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Makefile b/lib/beagle-3.0.3/beagle/include/beagle/Makefile new file mode 100644 index 0000000..a31692f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Makefile @@ -0,0 +1,747 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/include/beagle/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/include/beagle +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(beagle_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(beagledir)" "$(DESTDIR)$(beagledir)" +HEADERS = $(beagle_HEADERS) $(nodist_beagle_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/include/beagle +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/include/beagle +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../ +top_builddir = ../../.. +top_srcdir = ../../.. + +# Stuff for precompiled headers +INCLUDES = -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include +beagledir = $(includedir)/beagle +EXTRA_DIST = config.hpp.msvcpp +nodist_beagle_HEADERS = config.hpp +beagle_HEADERS = \ +AbstractAllocT.hpp \ +AbstractContainerAllocT.hpp \ +Allocator.hpp \ +AllocatorT.hpp \ +ArrayT.hpp \ +AssertException.hpp \ +BadCastException.hpp \ +Beagle.hpp \ +Bool.hpp \ +BreederNode.hpp \ +BreederOp.hpp \ +castObjectT.hpp \ +Char.hpp \ +Component.hpp \ +ComponentMap.hpp \ +ConfigurationDumper.hpp \ +ContainerAllocator.hpp \ +ContainerAllocatorT.hpp \ +Container.hpp \ +ContainerT.hpp \ +Context.hpp \ +CrossoverOp.hpp \ +DecimateOp.hpp \ +Deme.hpp \ +DemeAlloc.hpp \ +DemeAllocT.hpp \ +Double.hpp \ +EvaluationMultipleOp.hpp \ +EvaluationOp.hpp \ +Evolver.hpp \ +Exception.hpp \ +Fitness.hpp \ +FitnessSimple.hpp \ +FitnessSimpleMin.hpp \ +FitnessMultiObj.hpp \ +FitnessMultiObjMin.hpp \ +Float.hpp \ +GenerationalOp.hpp \ +Genotype.hpp \ +HallOfFame.hpp \ +HierarchicalFairCompetitionOp.hpp \ +IfThenElseOp.hpp \ +Individual.hpp \ +IndividualAlloc.hpp \ +IndividualAllocT.hpp \ +IndividualBag.hpp \ +IndividualSizeFrequencyStatsOp.hpp \ +InitializationOp.hpp \ +InternalException.hpp \ +Int.hpp \ +InvalidateFitnessOp.hpp \ +IOException.hpp \ +IsEqualMapPairPredicate.hpp \ +IsEqualPointerPredicate.hpp \ +IsLessMapPairPredicate.hpp \ +IsLessPointerPredicate.hpp \ +IsMorePointerPredicate.hpp \ +Logger.hpp \ +LoggerXML.hpp \ +Long.hpp \ +macros.hpp \ +Map.hpp \ +Matrix.hpp \ +MigrationOp.hpp \ +MigrationRandomRingOp.hpp \ +MilestoneReadOp.hpp \ +MilestoneWriteOp.hpp \ +MuCommaLambdaOp.hpp \ +MuPlusLambdaOp.hpp \ +MutationOp.hpp \ +NamedObject.hpp \ +NPGA2Op.hpp \ +NSGA2Op.hpp \ +ObjectException.hpp \ +Object.hpp \ +Operator.hpp \ +OperatorMap.hpp \ +OversizeOp.hpp \ +ParetoFrontHOF.hpp \ +ParetoFrontCalculateOp.hpp \ +Pointer.hpp \ +PointerT.hpp \ +Randomizer.hpp \ +RandomShuffleDemeOp.hpp \ +Register.hpp \ +RegisterReadOp.hpp \ +ReplacementStrategyOp.hpp \ +RouletteT.hpp \ +RunTimeException.hpp \ +SelectionOp.hpp \ +SelectParsimonyTournOp.hpp \ +SelectRandomOp.hpp \ +SelectRouletteOp.hpp \ +SelectTournamentOp.hpp \ +Short.hpp \ +Stats.hpp \ +StatsCalcFitnessMultiObjOp.hpp \ +StatsCalcFitnessSimpleOp.hpp \ +StatsCalculateOp.hpp \ +SteadyStateOp.hpp \ +String.hpp \ +System.hpp \ +TargetedException.hpp \ +TerminationOp.hpp \ +TermMaxEvalsOp.hpp \ +TermMaxFitnessOp.hpp \ +TermMaxGenOp.hpp \ +TermMinFitnessOp.hpp \ +UChar.hpp \ +UInt.hpp \ +ULong.hpp \ +UShort.hpp \ +ValidationException.hpp \ +Vector.hpp \ +Vivarium.hpp \ +VivariumAlloc.hpp \ +VivariumAllocT.hpp \ +WrapperT.hpp + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/include/beagle/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/include/beagle/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-beagleHEADERS: $(beagle_HEADERS) + @$(NORMAL_INSTALL) + @list='$(beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(beagledir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(beagledir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(beagledir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(beagledir)" || exit $$?; \ + done + +uninstall-beagleHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(beagledir)'; $(am__uninstall_files_from_dir) +install-nodist_beagleHEADERS: $(nodist_beagle_HEADERS) + @$(NORMAL_INSTALL) + @list='$(nodist_beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(beagledir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(beagledir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(beagledir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(beagledir)" || exit $$?; \ + done + +uninstall-nodist_beagleHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(nodist_beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(beagledir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(beagledir)" "$(DESTDIR)$(beagledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-beagleHEADERS install-nodist_beagleHEADERS + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-beagleHEADERS uninstall-nodist_beagleHEADERS + +.MAKE: install-am install-data-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ + clean-libtool cscopelist-am ctags ctags-am distclean \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-beagleHEADERS install-data install-data-am \ + install-data-hook install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-nodist_beagleHEADERS \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-beagleHEADERS \ + uninstall-nodist_beagleHEADERS + +.PRECIOUS: Makefile + +pch: $(HEADERS) + rm -f Beagle.hpp.gch + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) -x c++-header $(CXXFLAGS) -c -o Beagle.hpp.gch Beagle.hpp +install-data-hook: + if test -f Beagle.hpp.gch; then $(INSTALL_DATA) Beagle.hpp.gch $(DESTDIR)$(includedir)/Beagle.hpp.gch; fi; +clean-generic: + if test -f Beagle.hpp.gch; then rm -f Beagle.hpp.gch; fi; + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Makefile.am b/lib/beagle-3.0.3/beagle/include/beagle/Makefile.am new file mode 100644 index 0000000..0027ae3 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Makefile.am @@ -0,0 +1,132 @@ +# Stuff for precompiled headers +INCLUDES = -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include +pch: $(HEADERS) + rm -f Beagle.hpp.gch + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) -x c++-header $(CXXFLAGS) -c -o Beagle.hpp.gch Beagle.hpp +install-data-hook: + if test -f Beagle.hpp.gch; then $(INSTALL_DATA) Beagle.hpp.gch $(DESTDIR)$(includedir)/Beagle.hpp.gch; fi; +clean-generic: + if test -f Beagle.hpp.gch; then rm -f Beagle.hpp.gch; fi; + +beagledir = $(includedir)/beagle +EXTRA_DIST = config.hpp.msvcpp +nodist_beagle_HEADERS = config.hpp +beagle_HEADERS = \ +AbstractAllocT.hpp \ +AbstractContainerAllocT.hpp \ +Allocator.hpp \ +AllocatorT.hpp \ +ArrayT.hpp \ +AssertException.hpp \ +BadCastException.hpp \ +Beagle.hpp \ +Bool.hpp \ +BreederNode.hpp \ +BreederOp.hpp \ +castObjectT.hpp \ +Char.hpp \ +Component.hpp \ +ComponentMap.hpp \ +ConfigurationDumper.hpp \ +ContainerAllocator.hpp \ +ContainerAllocatorT.hpp \ +Container.hpp \ +ContainerT.hpp \ +Context.hpp \ +CrossoverOp.hpp \ +DecimateOp.hpp \ +Deme.hpp \ +DemeAlloc.hpp \ +DemeAllocT.hpp \ +Double.hpp \ +EvaluationMultipleOp.hpp \ +EvaluationOp.hpp \ +Evolver.hpp \ +Exception.hpp \ +Fitness.hpp \ +FitnessSimple.hpp \ +FitnessSimpleMin.hpp \ +FitnessMultiObj.hpp \ +FitnessMultiObjMin.hpp \ +Float.hpp \ +GenerationalOp.hpp \ +Genotype.hpp \ +HallOfFame.hpp \ +HierarchicalFairCompetitionOp.hpp \ +IfThenElseOp.hpp \ +Individual.hpp \ +IndividualAlloc.hpp \ +IndividualAllocT.hpp \ +IndividualBag.hpp \ +IndividualSizeFrequencyStatsOp.hpp \ +InitializationOp.hpp \ +InternalException.hpp \ +Int.hpp \ +InvalidateFitnessOp.hpp \ +IOException.hpp \ +IsEqualMapPairPredicate.hpp \ +IsEqualPointerPredicate.hpp \ +IsLessMapPairPredicate.hpp \ +IsLessPointerPredicate.hpp \ +IsMorePointerPredicate.hpp \ +Logger.hpp \ +LoggerXML.hpp \ +Long.hpp \ +macros.hpp \ +Map.hpp \ +Matrix.hpp \ +MigrationOp.hpp \ +MigrationRandomRingOp.hpp \ +MilestoneReadOp.hpp \ +MilestoneWriteOp.hpp \ +MuCommaLambdaOp.hpp \ +MuPlusLambdaOp.hpp \ +MutationOp.hpp \ +NamedObject.hpp \ +NPGA2Op.hpp \ +NSGA2Op.hpp \ +ObjectException.hpp \ +Object.hpp \ +Operator.hpp \ +OperatorMap.hpp \ +OversizeOp.hpp \ +ParetoFrontHOF.hpp \ +ParetoFrontCalculateOp.hpp \ +Pointer.hpp \ +PointerT.hpp \ +Randomizer.hpp \ +RandomShuffleDemeOp.hpp \ +Register.hpp \ +RegisterReadOp.hpp \ +ReplacementStrategyOp.hpp \ +RouletteT.hpp \ +RunTimeException.hpp \ +SelectionOp.hpp \ +SelectParsimonyTournOp.hpp \ +SelectRandomOp.hpp \ +SelectRouletteOp.hpp \ +SelectTournamentOp.hpp \ +Short.hpp \ +Stats.hpp \ +StatsCalcFitnessMultiObjOp.hpp \ +StatsCalcFitnessSimpleOp.hpp \ +StatsCalculateOp.hpp \ +SteadyStateOp.hpp \ +String.hpp \ +System.hpp \ +TargetedException.hpp \ +TerminationOp.hpp \ +TermMaxEvalsOp.hpp \ +TermMaxFitnessOp.hpp \ +TermMaxGenOp.hpp \ +TermMinFitnessOp.hpp \ +UChar.hpp \ +UInt.hpp \ +ULong.hpp \ +UShort.hpp \ +ValidationException.hpp \ +Vector.hpp \ +Vivarium.hpp \ +VivariumAlloc.hpp \ +VivariumAllocT.hpp \ +WrapperT.hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Makefile.in b/lib/beagle-3.0.3/beagle/include/beagle/Makefile.in new file mode 100644 index 0000000..8ed7f6c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Makefile.in @@ -0,0 +1,747 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/include/beagle +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(beagle_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(beagledir)" "$(DESTDIR)$(beagledir)" +HEADERS = $(beagle_HEADERS) $(nodist_beagle_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ + +# Stuff for precompiled headers +INCLUDES = -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include +beagledir = $(includedir)/beagle +EXTRA_DIST = config.hpp.msvcpp +nodist_beagle_HEADERS = config.hpp +beagle_HEADERS = \ +AbstractAllocT.hpp \ +AbstractContainerAllocT.hpp \ +Allocator.hpp \ +AllocatorT.hpp \ +ArrayT.hpp \ +AssertException.hpp \ +BadCastException.hpp \ +Beagle.hpp \ +Bool.hpp \ +BreederNode.hpp \ +BreederOp.hpp \ +castObjectT.hpp \ +Char.hpp \ +Component.hpp \ +ComponentMap.hpp \ +ConfigurationDumper.hpp \ +ContainerAllocator.hpp \ +ContainerAllocatorT.hpp \ +Container.hpp \ +ContainerT.hpp \ +Context.hpp \ +CrossoverOp.hpp \ +DecimateOp.hpp \ +Deme.hpp \ +DemeAlloc.hpp \ +DemeAllocT.hpp \ +Double.hpp \ +EvaluationMultipleOp.hpp \ +EvaluationOp.hpp \ +Evolver.hpp \ +Exception.hpp \ +Fitness.hpp \ +FitnessSimple.hpp \ +FitnessSimpleMin.hpp \ +FitnessMultiObj.hpp \ +FitnessMultiObjMin.hpp \ +Float.hpp \ +GenerationalOp.hpp \ +Genotype.hpp \ +HallOfFame.hpp \ +HierarchicalFairCompetitionOp.hpp \ +IfThenElseOp.hpp \ +Individual.hpp \ +IndividualAlloc.hpp \ +IndividualAllocT.hpp \ +IndividualBag.hpp \ +IndividualSizeFrequencyStatsOp.hpp \ +InitializationOp.hpp \ +InternalException.hpp \ +Int.hpp \ +InvalidateFitnessOp.hpp \ +IOException.hpp \ +IsEqualMapPairPredicate.hpp \ +IsEqualPointerPredicate.hpp \ +IsLessMapPairPredicate.hpp \ +IsLessPointerPredicate.hpp \ +IsMorePointerPredicate.hpp \ +Logger.hpp \ +LoggerXML.hpp \ +Long.hpp \ +macros.hpp \ +Map.hpp \ +Matrix.hpp \ +MigrationOp.hpp \ +MigrationRandomRingOp.hpp \ +MilestoneReadOp.hpp \ +MilestoneWriteOp.hpp \ +MuCommaLambdaOp.hpp \ +MuPlusLambdaOp.hpp \ +MutationOp.hpp \ +NamedObject.hpp \ +NPGA2Op.hpp \ +NSGA2Op.hpp \ +ObjectException.hpp \ +Object.hpp \ +Operator.hpp \ +OperatorMap.hpp \ +OversizeOp.hpp \ +ParetoFrontHOF.hpp \ +ParetoFrontCalculateOp.hpp \ +Pointer.hpp \ +PointerT.hpp \ +Randomizer.hpp \ +RandomShuffleDemeOp.hpp \ +Register.hpp \ +RegisterReadOp.hpp \ +ReplacementStrategyOp.hpp \ +RouletteT.hpp \ +RunTimeException.hpp \ +SelectionOp.hpp \ +SelectParsimonyTournOp.hpp \ +SelectRandomOp.hpp \ +SelectRouletteOp.hpp \ +SelectTournamentOp.hpp \ +Short.hpp \ +Stats.hpp \ +StatsCalcFitnessMultiObjOp.hpp \ +StatsCalcFitnessSimpleOp.hpp \ +StatsCalculateOp.hpp \ +SteadyStateOp.hpp \ +String.hpp \ +System.hpp \ +TargetedException.hpp \ +TerminationOp.hpp \ +TermMaxEvalsOp.hpp \ +TermMaxFitnessOp.hpp \ +TermMaxGenOp.hpp \ +TermMinFitnessOp.hpp \ +UChar.hpp \ +UInt.hpp \ +ULong.hpp \ +UShort.hpp \ +ValidationException.hpp \ +Vector.hpp \ +Vivarium.hpp \ +VivariumAlloc.hpp \ +VivariumAllocT.hpp \ +WrapperT.hpp + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/include/beagle/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/include/beagle/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-beagleHEADERS: $(beagle_HEADERS) + @$(NORMAL_INSTALL) + @list='$(beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(beagledir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(beagledir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(beagledir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(beagledir)" || exit $$?; \ + done + +uninstall-beagleHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(beagledir)'; $(am__uninstall_files_from_dir) +install-nodist_beagleHEADERS: $(nodist_beagle_HEADERS) + @$(NORMAL_INSTALL) + @list='$(nodist_beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(beagledir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(beagledir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(beagledir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(beagledir)" || exit $$?; \ + done + +uninstall-nodist_beagleHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(nodist_beagle_HEADERS)'; test -n "$(beagledir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(beagledir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(beagledir)" "$(DESTDIR)$(beagledir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-beagleHEADERS install-nodist_beagleHEADERS + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-beagleHEADERS uninstall-nodist_beagleHEADERS + +.MAKE: install-am install-data-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ + clean-libtool cscopelist-am ctags ctags-am distclean \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-beagleHEADERS install-data install-data-am \ + install-data-hook install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-nodist_beagleHEADERS \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-beagleHEADERS \ + uninstall-nodist_beagleHEADERS + +.PRECIOUS: Makefile + +pch: $(HEADERS) + rm -f Beagle.hpp.gch + $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) -x c++-header $(CXXFLAGS) -c -o Beagle.hpp.gch Beagle.hpp +install-data-hook: + if test -f Beagle.hpp.gch; then $(INSTALL_DATA) Beagle.hpp.gch $(DESTDIR)$(includedir)/Beagle.hpp.gch; fi; +clean-generic: + if test -f Beagle.hpp.gch; then rm -f Beagle.hpp.gch; fi; + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Map.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Map.hpp new file mode 100644 index 0000000..1f72a9a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Map.hpp @@ -0,0 +1,91 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Map.hpp + * \brief Definition of class Map. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + +#ifndef Beagle_Map_hpp +#define Beagle_Map_hpp + +#include +#include + +#include "XML.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" + +namespace Beagle { + + +/*! + * \class Map beagle/Map.hpp "beagle/Map.hpp" + * \brief Associative container using a string as key accessors to the + * Object::Handle instances. + * \ingroup OOF + * \ingroup DataStruct + */ +class Map : public Object, + public std::map< string,Object::Handle,std::less, + BEAGLE_STLALLOCATOR< std::pair > > { + +public: + + //! Map allocator type. + typedef AllocatorT + Alloc; + //! Map handle type. + typedef PointerT + Handle; + //! Map bag type. + typedef ContainerT + Bag; + + Map() { } + virtual ~Map() { } + + virtual bool isEqual(const Object& inRightObj) const; + virtual bool isLess(const Object& inRightObj) const; + virtual void read(PACC::XML::ConstIterator inIter); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +}; + +} + +#endif // Beagle_Map_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Matrix.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Matrix.hpp new file mode 100644 index 0000000..b03664d --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Matrix.hpp @@ -0,0 +1,96 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Matrix.hpp + * \brief Definition of class Matrix. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.13.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + + +#ifndef Beagle_Matrix_hpp +#define Beagle_Matrix_hpp + +#include "Math.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerT.hpp" + +namespace Beagle { + +class Vector; + +/*! + * \class Matrix beagle/Matrix.hpp "beagle/Matrix.hpp" + * \brief Adapt the PACC::Matrix class to the Beagle Object interface. + * \ingroup OOF + * \ingroup Adapt + */ +class Matrix : public Object, public PACC::Matrix { + +public: + + //! Matrix allocator type. + typedef AllocatorT< Matrix, Object::Alloc > + Alloc; + //! Matrix handle type. + typedef PointerT< Matrix, Object::Handle > + Handle; + //! Matrix bag type. + typedef ContainerT< Matrix, Object::Bag > + Bag; + + explicit Matrix(unsigned int inRows=0, + unsigned int inCols=0, + double inValue=0.0); + Matrix(const PACC::Matrix& inMatrix); + Matrix(const PACC::Vector& inVector); + Matrix(const Beagle::Vector& inVector); + virtual ~Matrix() { } + + Matrix& operator=(const PACC::Matrix& inMatrix); + Matrix& operator=(const PACC::Vector& inVector); + Matrix& operator=(const Beagle::Vector& inVector); + + virtual void read(PACC::XML::ConstIterator inIter); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +}; + +} + + +#endif // Beagle_Matrix_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/MigrationOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/MigrationOp.hpp new file mode 100644 index 0000000..0318477 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/MigrationOp.hpp @@ -0,0 +1,100 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/MigrationOp.hpp + * \brief Definition of the class MigrationOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + +#ifndef Beagle_MigrationOp_hpp +#define Beagle_MigrationOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/UInt.hpp" +#include "beagle/UInt.hpp" + + +namespace Beagle { + +/*! + * \class MigrationOp beagle/MigrationOp.hpp "beagle/MigrationOp.hpp" + * \brief Individuals migration operator class. + * \ingroup ECF + * \ingroup Op + */ +class MigrationOp : public Operator { + +public: + + //! MigrationOp allocator type + typedef AbstractAllocT + Alloc; + //! MigrationOp handle type. + typedef PointerT + Handle; + //! MigrationOp bag type. + typedef ContainerT + Bag; + + explicit MigrationOp(string inName="MigrationOp"); + virtual ~MigrationOp() { } + + /*! + * \brief Migrate individuals of a deme. + * \param ioDeme Deme containing individuals to migrate. + * \param ioContext Evolution context. + * \param inNumberMigrants Number of migrants to use. + */ + virtual void migrate(Deme& ioDeme, Context& ioContext, unsigned int inNumberMigrants) =0; + + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + +private: + + UInt::Handle mMigrationInterval; //!< Random ring migration interval (in generation). + UInt::Handle mNumberMigrants; //!< Number of migrants + UIntArray::Handle mPopSize; //!< Population size for the evolution. + +}; + +} + +#endif // Beagle_MigrationOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/MigrationRandomRingOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/MigrationRandomRingOp.hpp new file mode 100644 index 0000000..e9d5b52 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/MigrationRandomRingOp.hpp @@ -0,0 +1,81 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/MigrationRandomRingOp.hpp + * \brief Definition of the class MigrationRandomRingOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + +#ifndef Beagle_MigrationRandomRingOp_hpp +#define Beagle_MigrationRandomRingOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/MigrationOp.hpp" +#include "beagle/Individual.hpp" +#include "beagle/IndividualAlloc.hpp" + +namespace Beagle { + +/*! + * \class MigrationRandomRingOp beagle/MigrationRandomRingOp.hpp "beagle/MigrationRandomRingOp.hpp" + * \brief Migrate individuals choosen randomly, following a ring topology, operator class. + * \ingroup ECF + * \ingroup Op + */ +class MigrationRandomRingOp : public MigrationOp { + +public: + + //! MigrationRandomRingOp allocator type + typedef AllocatorT + Alloc; + //! MigrationRandomRingOp handle type. + typedef PointerT + Handle; + //! MigrationRandomRingOp bag type. + typedef ContainerT + Bag; + + explicit MigrationRandomRingOp(string inName="MigrationRandomRingOp"); + virtual ~MigrationRandomRingOp() { } + + virtual void migrate(Deme& ioDeme, Context& ioContext, unsigned int inNumberMigrants); + +}; + +} + +#endif // Beagle_MigrationRandomRingOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/MilestoneReadOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/MilestoneReadOp.hpp new file mode 100644 index 0000000..92715dd --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/MilestoneReadOp.hpp @@ -0,0 +1,95 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/MilestoneReadOp.hpp + * \brief Definition of the class MilestoneReadOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + +#ifndef Beagle_MilestoneReadOp_hpp +#define Beagle_MilestoneReadOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/String.hpp" +#include "beagle/Vivarium.hpp" + +namespace Beagle { + +/*! + * \class MilestoneReadOp beagle/MilestoneReadOp.hpp "beagle/MilestoneReadOp.hpp" + * \brief Read a milestone operator class. + * \ingroup ECF + * \ingroup Op + */ +class MilestoneReadOp : public Operator { + +public: + + //! MilestoneReadOp allocator type + typedef AllocatorT + Alloc; + //! MilestoneReadOp handle type. + typedef PointerT + Handle; + //! MilestoneReadOp bag type. + typedef ContainerT + Bag; + + enum ParseCommands { + eParseMilestone = 1, + eParseSystem = 2, + eParseEvolver = 4, + eParseRegister = 8, + eParseVivarium = 16, + eParseAll = 255 + }; + + explicit MilestoneReadOp(string inName="MilestoneReadOp"); + virtual ~MilestoneReadOp() { } + + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + virtual void readMilestone(string inFilename, Context& ioContext, int inCommands=eParseAll); + +private: + String::Handle mMilestoneName; //!< Name of the milestone to read. + +}; + +} + +#endif // Beagle_MilestoneReadOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/MilestoneWriteOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/MilestoneWriteOp.hpp new file mode 100644 index 0000000..e53b4b9 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/MilestoneWriteOp.hpp @@ -0,0 +1,98 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/MilestoneWriteOp.hpp + * \brief Definition of the class MilestoneWriteOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + +#ifndef Beagle_MilestoneWriteOp_hpp +#define Beagle_MilestoneWriteOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/UInt.hpp" +#include "beagle/String.hpp" +#include "beagle/Bool.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Vivarium.hpp" +#include "beagle/Context.hpp" + +namespace Beagle { + +/*! + * \class MilestoneWriteOp beagle/MilestoneWriteOp.hpp "beagle/MilestoneWriteOp.hpp" + * \brief Write a milestone operator class. + * \ingroup ECF + * \ingroup Op + */ +class MilestoneWriteOp : public Operator { + +public: + + //! MilestoneWriteOp allocator type + typedef AllocatorT + Alloc; + //! MilestoneWriteOp handle type. + typedef PointerT + Handle; + //! MilestoneWriteOp bag type. + typedef ContainerT + Bag; + + explicit MilestoneWriteOp(string inName="MilestoneWriteOp"); + virtual ~MilestoneWriteOp() { } + + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + virtual void writeMilestone(string inFilename, Context& ioContext); + +private: + String::Handle mMilestonePrefix; //!< Prefix of the milestone filenames. + UInt::Handle mWritingInterval; //!< Milestone's writing interval (in generation). + Bool::Handle mPerDemeMilestone; //!< True: write a milestone for every deme. + Bool::Handle mOverwriteMilestone; //!< True: Overwrite file. False: Backup everything. + UIntArray::Handle mPopSize; //!< Population size for the evolution. + +#ifdef BEAGLE_HAVE_LIBZ + Bool::Handle mCompressMilestone; //!< True: compress file, false: keep as clear text. +#endif // BEAGLE_HAVE_LIBZ + +}; + +} + +#endif // Beagle_MilestoneWriteOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/MuCommaLambdaOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/MuCommaLambdaOp.hpp new file mode 100644 index 0000000..135c270 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/MuCommaLambdaOp.hpp @@ -0,0 +1,104 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/MuCommaLambdaOp.hpp + * \brief Definition of the class MuCommaLambdaOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + + +#ifndef Beagle_MuCommaLambdaOp_hpp +#define Beagle_MuCommaLambdaOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/ReplacementStrategyOp.hpp" +#include "beagle/Float.hpp" +#include "beagle/UInt.hpp" + +namespace Beagle { + + +/*! + * \class MuCommaLambdaOp beagle/MuCommaLambdaOp.hpp "beagle/MuCommaLambdaOp.hpp" + * \brief Mu comma lambda (Mu,Lambda) replacement strategy operator class. + * \ingroup ECF + * \ingroup Op + * + * A (Mu,Lambda) operator generates Lambda children individuals from a population of Mu parents + * (where Lambda > Mu). From these Lambda individual, it keeps the Mu best to constitute the new + * generation. + */ +class MuCommaLambdaOp : public ReplacementStrategyOp { + +public: + + //! MuCommaLambdaOp allocator type. + typedef AllocatorT + Alloc; + //! MuCommaLambdaOp handle type. + typedef PointerT + Handle; + //! MuCommaLambdaOp bag type. + typedef ContainerT + Bag; + + MuCommaLambdaOp(string inLMRatioName="ec.mulambda.ratio", + string inName="MuCommaLambdaOp"); + virtual ~MuCommaLambdaOp() { } + + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + UInt::Handle mElitismKeepSize; //!< Number of individuals keep with elitism + Float::Handle mLMRatio; //!< (Lambda / Mu) ratio to use for replacement operator. + string mLMRatioName; //!< (Lambda / Mu) ratio parameter name used in register. + +}; + +} + + +#endif // Beagle_MuCommaLambdaOp_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/MuPlusLambdaOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/MuPlusLambdaOp.hpp new file mode 100644 index 0000000..9ae8acd --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/MuPlusLambdaOp.hpp @@ -0,0 +1,102 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/MuPlusLambdaOp.hpp + * \brief Definition of the class MuPlusLambdaOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + + +#ifndef Beagle_MuPlusLambdaOp_hpp +#define Beagle_MuPlusLambdaOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/ReplacementStrategyOp.hpp" +#include "beagle/Float.hpp" + +namespace Beagle { + + +/*! + * \class MuPlusLambdaOp beagle/MuPlusLambdaOp.hpp "beagle/MuPlusLambdaOp.hpp" + * \brief Mu plus lambda (Mu+Lambda) replacement strategy operator class. + * \ingroup ECF + * \ingroup Op + * + * A (Mu+Lambda) operator generates Lambda children individuals from a population of Mu parents + * (usually where Lambda > Mu). From the Mu parents and the Lambda individual, it keeps the Mu best + * individuals to constitute the new generation. + */ +class MuPlusLambdaOp : public ReplacementStrategyOp { + +public: + + //! MuPlusLambdaOp allocator type. + typedef AllocatorT + Alloc; + //! MuPlusLambdaOp handle type. + typedef PointerT + Handle; + //! MuPlusLambdaOp bag type. + typedef ContainerT + Bag; + + explicit MuPlusLambdaOp(string inLMRatioName="ec.mulambda.ratio", + string inName="MuPlusLambdaOp"); + virtual ~MuPlusLambdaOp() { } + + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + Float::Handle mLMRatio; //!< (Lambda / Mu) ratio to use for replacement operator. + string mLMRatioName; //!< (Lambda / Mu) ratio parameter name used in register. + +}; + +} + + +#endif // Beagle_MuPlusLambdaOp_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/MutationOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/MutationOp.hpp new file mode 100644 index 0000000..1c2545c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/MutationOp.hpp @@ -0,0 +1,106 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/MutationOp.hpp + * \brief Definition of the class MutationOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + +#ifndef Beagle_MutationOp_hpp +#define Beagle_MutationOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/Float.hpp" +#include "beagle/Individual.hpp" +#include "beagle/BreederOp.hpp" + +namespace Beagle { + +/*! + * \class MutationOp beagle/MutationOp.hpp "beagle/MutationOp.hpp" + * \brief Abstract mutation operator class. + * \ingroup ECF + * \ingroup Op + */ +class MutationOp : public BreederOp { + +public: + + //! MutationOp allocator type. + typedef AbstractAllocT + Alloc; + //! MutationOp handle type. + typedef PointerT + Handle; + //! MutationOp bag type. + typedef ContainerT + Bag; + + explicit MutationOp(string inMutationPbName="ec.mut.prob", + string inName="MutationOp"); + virtual ~MutationOp() { } + + /*! + * \brief Mutate an individual. + * \param ioIndividual Individual to mutate. + * \param ioContext Context of the evolution. + * \return True if the individual is effectively mutated, false if not. + */ + virtual bool mutate(Individual& ioIndividual, Context& ioContext) = 0; + + virtual Individual::Handle breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext); + virtual float getBreedingProba(BreederNode::Handle inChild); + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + Float::Handle mMutationProba; //!< Individual mutation probability. + string mMutationPbName; //!< Mutation probability parameter name. + +}; + +} + +#endif // Beagle_MutationOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/NPGA2Op.hpp b/lib/beagle-3.0.3/beagle/include/beagle/NPGA2Op.hpp new file mode 100644 index 0000000..f025849 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/NPGA2Op.hpp @@ -0,0 +1,110 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/NPGA2Op.hpp + * \brief Definition of the class NPGA2Op. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + + +#ifndef Beagle_NPGA2Op_hpp +#define Beagle_NPGA2Op_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/Individual.hpp" +#include "beagle/FitnessMultiObj.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Float.hpp" + +namespace Beagle { + +/*! + * \class NPGA2Op beagle/NPGA2Op.hpp "beagle/NPGA2Op.hpp" + * \brief NPGA2 multiobjective selection operator class. + * \ingroup ECF + * \ingroup Op + * \ingroup MultiObj + * + * The NPGA2 operator implement the multiobjective evolutionary algorithm NPGA 2 + * (Niched Pareto Genetic Algorithm) of Erickson, Mayer, and Horn. + * \par Reference + * Mark Erickson, Alex Mayer, and Jeffrey Horn, "The Niched Pareto Genetic Algorithm 2 + * Applied to the Design of Groundwater Remediation Systems", First International + * Conference on Evolutionary Multi-Criterion Optimization (EMO 2001), March 2001, + * pages 681-695. + * + */ +class NPGA2Op : public Operator { + +public: + + //! NPGA2Op allocator type. + typedef AllocatorT + Alloc; + //! NPGA2Op handle type. + typedef PointerT + Handle; + //! NPGA2Op bag type. + typedef ContainerT + Bag; + + NPGA2Op(string inName="NPGA2Op"); + virtual ~NPGA2Op() { } + + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + virtual void postInit(System& ioSystem); + +protected: + + float evalNicheCount(const Individual& inEvalIndividual, + const Individual::Bag& inIndividualPool) const; + + UInt::Handle mNumberParticipants; //!< Number of participants to each tournament. + Float::Handle mNicheRadius; //!< Minimal distance used for niche counting. + +}; + +} + +#endif // Beagle_NPGA2Op_hpp + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/NSGA2Op.hpp b/lib/beagle-3.0.3/beagle/include/beagle/NSGA2Op.hpp new file mode 100644 index 0000000..1d50762 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/NSGA2Op.hpp @@ -0,0 +1,143 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/NSGA2Op.hpp + * \brief Definition of the class NSGA2Op. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + + +#ifndef Beagle_NSGA2Op_hpp +#define Beagle_NSGA2Op_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/ReplacementStrategyOp.hpp" +#include "beagle/FitnessMultiObj.hpp" + + +namespace Beagle { + +/*! + * \class NSGA2Op beagle/NSGA2Op.hpp "beagle/NSGA2Op.hpp" + * \brief NSGA2 multiobjective replacement strategy operator class. + * \ingroup ECF + * \ingroup Op + * \ingroup MultiObj + * + * The NSGA2 replacement strategy implement the elitist multiobjective evolutionary algorithm NSGA2 + * (Non-dominating Sorting Genetic Algorithm) of Deb, Pratap, Agarwal, and Meyarivan. + * \par Reference + * Kalyanmoy Deb, Amrit Pratab, Sameer Agarwal, and T. Meyarivan, "A Fast and Elitist + * Multiobjective Genetic Algorithm: NSGA-II", IEEE transactions on Evolutionary Computations, + * vol. 6, no. 2, April 2002, pages 182-197. + * + */ +class NSGA2Op : public ReplacementStrategyOp { + +public: + + //! NSGA2Op allocator type. + typedef AllocatorT + Alloc; + //! NSGA2Op handle type. + typedef PointerT + Handle; + //! NSGA2Op bag type. + typedef ContainerT + Bag; + + NSGA2Op(string inLMRatioName="ec.mulambda.ratio", + string inName="NSGA2Op"); + virtual ~NSGA2Op() { } + + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + virtual void postInit(System& ioSystem); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + typedef std::vector< std::vector >, + BEAGLE_STLALLOCATOR< std::vector > > > + Fronts; + typedef std::vector< std::pair,BEAGLE_STLALLOCATOR< std::pair > > + Distances; + + void applyAsReplacementStrategy(Deme& ioDeme, Context& ioContext); + void applyAsStandardOperator(Deme& ioDeme, Context& ioContext); + void evalCrowdingDistance(Distances& outDistances, const Individual::Bag& inIndividualPool) const; + void sortFastND(Fronts& outParetoFronts, unsigned int inSortStop, + const Individual::Bag& inIndividualPool, Context& ioContext) const; + + UIntArray::Handle mPopSize; //!< Population size for the evolution. + Float::Handle mLMRatio; //!< (Lambda / Mu) ratio to use for replacement operator. + string mLMRatioName; //!< (Lambda / Mu) ratio parameter name used in register. + +public: + + //! CrowdingPair is used internally in the evalCrowdingDistance method. + typedef std::pair CrowdingPair; + + //! Used internally to sort solutions over their different objectives. + class IsLessCrowdingPairPredicate { + public: + IsLessCrowdingPairPredicate(unsigned int inSortingObj=0) : mSortingObj(inSortingObj) { } + ~IsLessCrowdingPairPredicate() { } + inline bool operator()(const CrowdingPair& inLeftPair, const CrowdingPair& inRightPair) const + { + Beagle_StackTraceBeginM(); + Beagle_AssertM(mSortingObj < inLeftPair.second->size()); + Beagle_AssertM(mSortingObj < inRightPair.second->size()); + return (*inLeftPair.second)[mSortingObj] < (*inRightPair.second)[mSortingObj]; + Beagle_StackTraceEndM("bool operator()(const CrowdingPair& inLeftPair, const CrowdingPair& inRightPair) const"); + } + private: + unsigned int mSortingObj; + }; + +}; + +} + +#endif // Beagle_NSGA2Op_hpp + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/NamedObject.hpp b/lib/beagle-3.0.3/beagle/include/beagle/NamedObject.hpp new file mode 100644 index 0000000..b78de55 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/NamedObject.hpp @@ -0,0 +1,91 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/NamedObject.hpp + * \brief Class NamedObject declaration. + * \author Matthew Walker + * \author Christian Gagne + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + + +#ifndef Beagle_NamedObject_hpp +#define Beagle_NamedObject_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" + + +namespace Beagle { + +/*! + * \class NamedObject beagle/NamedObject.hpp "beagle/NamedObject.hpp" + * \brief An Object with a name. + * \ingroup OOF + * \author Matthew Walker + * \author Christian Gagne + */ +class NamedObject : public Object { + +public: + + //! NamedObject allocator type. + typedef AllocatorT + Alloc; + //! NamedObject handle type. + typedef PointerT + Handle; + //! NamedObject bag type. + typedef ContainerT + Bag; + + explicit NamedObject(const string& inName="Unnamed Object"); + virtual ~NamedObject() { } + + virtual const string& getName() const; + virtual void setName(const string& inName); + +private: + + string mName; //!< Name of Object + +}; + +} + +#endif // Beagle_NamedObject_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Object.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Object.hpp new file mode 100644 index 0000000..6d994dd --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Object.hpp @@ -0,0 +1,311 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Object.hpp + * \brief Class Object and related functions/operators. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.13.2.1 $ + * $Date: 2007/05/09 01:51:15 $ + */ + +/*! + * \defgroup ObjPt Object and Pointers + * \ingroup OOF + * \brief Object, smart pointers, and casting functions, part of the Object Oriented Foundations. + * + * In Open BEAGLE, most classes are derived from an abstract class called Beagle::Object. An + * Open BEAGLE object comprises some general methods that are characteristic of a complete C++ + * object. The usual C++ objects comparison operators are defined, receiving arguments of the + * Beagle::Object type and calling the appropriate comparison method (Beagle::Object::isEqual or + * Beagle::Object::isLess). The methods Beagle::Object::read and Beagle::Object::write are used to + * extract/insert an object into devices, in XML. + * + * A Beagle::Object also implements a reference counter that remembers the number of references + * that point to it. The C++ language defines two ways of allocating an object instance. First, the + * instance can be allocated on the stack, it will then be destructed at the end of the scope. + * Second, the instance can be allocated on the heap with a call to the \c new operator, which + * means that it is necessary to apply a symmetrical \c delete at the end of the instance + * lifetime. With Open BEAGLE, there is a variation on the second way to allocate objects: an Open + * BEAGLE object can be allocated on the heap and affected to Open BEAGLE smart pointers that + * interact with the object reference counter. The destruction of the object is then the + * responsibility of the smart pointers. + * + * An Open BEAGLE smart pointer acts like a standard C++ pointer that manage the memory used by the + * pointed objects. It is implemented it in class Beagle::Pointer, which is tightly linked to the + * reference counter of class Beagle::Object. The implementation of the Beagle::Pointer class + * guarantees that the pointed object exists since there is a smart pointer that refer to it. It also + * guarantees that the object will be destroyed when its last reference will vanish. This emulates + * the appreciated garbage collection mechanism of some programming languages. In fact, the Open + * BEAGLE smart pointers are coherent with the creation and the garbage collecting of objects of the + * \e Java language. The two things that the user should remember is to allocate objects on the heap + * (with a \c new) and never interfere with object destruction after assigning them to smart + * pointers. Once an object is referred by smart pointer, the memory management responsibility is + * held by the smart pointer. + * + * Exceptionally, the Beagle::Pointer class and its subclasses do not inherit from superclass + * Beagle::Object. Like a C++ pointer, an Open BEAGLE pointer can be assigned to a null pointer. The + * class also provides the two usual dereferencing operators, \c operator* and \c operator->, + * which return a reference to the pointed object. There is also two comparison operators + * (\c operator== and \c operator!=) between two Beagle::Pointer, between a Beagle::Pointer and an + * Beagle::Object* and the null pointer testing operator (\c operator!). + * + * Since any instance are concrete objects and smart pointers gives references to the abstract + * Beagle::Object type, each access to methods or attributes that are not declared in the object + * interface needs a cast of the reference given by the smart pointer to the desired derived type. + * This could lead to inelegant code, or even type inconsistencies if old C-style casts were used. To + * avoid these problems, there is a templated class, Beagle::PointerT, that defines the pointer + * unreferencing operators to the desired type. + * \code + * template + * class PointerT : public BaseType { + * public: + * inline T& operator*(); + * inline T* operator->(); + * }; + * \endcode + * The Beagle::PointerT template also emulates the mechanism of automatic pointer type binding for + * inheritance-related classes. This allows a compile-time binding of T-type smart pointers + * that inherit from the \c BaseType, when a \c BaseType object is needed. For example, suppose a + * method taking an argument of the type \c Base::Handle, which is a smart pointer to an + * object instance of the class \c Base. With the automatic type binding of smart pointer, the + * method can get as argument a smart pointer to the type \c Derived::Handle, supposing that the + * class \c Derived inherits from the class \c Base. This can be done without any explicit cast + * of the smart pointers. Beagle::PointerT has two templated parameters: the type of object handled, + * the T-type, and the parent type of the smart pointer, the \c BaseType. The \c BaseType is useful + * for the automatic type binding emulation by inheritance. + * + * For each class of Open BEAGLE, the nested type \c Handle is declared. This is the type of + * handle to the class, that is, a smart pointer that gives exact reference type. Usually, this type + * is simply declared as a synonym of a parametrized Beagle::PointerT. + * \code + * class AnyClass : public SuperClass { + * public: + * typedef PointerT Handle; + * ... + * }; + * \endcode + * Doing so, a smart pointer can be used to return reference to the right type, the type \c + * AnyClass, simply by working with the right handle type, \c AnyClass::Handle. It is a good + * practice to define the nested \c Handle type for every class that inherits directly or + * indirectly from an Beagle::Object. + * + * With the ANSI/ISO C++ standard, it is highly recommended to use the new style cast operators + * instead of the old C-style one. This new style cast operators, such the operators \c static_cast + * and \c const_cast, are more specialized cast operations. The use of different cast operators + * prevent some unwanted casting operations that could lead to nasty hidden bugs. In the Beagle + * namespace, three new cast operator is defined, Beagle::castObjectT(Beagle::Object*), + * Beagle::castObjectT(Beagle::Object&), and Beagle::castHandleT(Beagle::Object::Handle). These + * operators must be use to cast any Open BEAGLE object type into another object type. The usage of + * this casting operator is identical to the usage of new style cast operators. + * + */ + + +#ifndef Beagle_Object_hpp +#define Beagle_Object_hpp + +#include +#include + +#include "XML.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" + + +namespace Beagle { + +// Forward declarations. +class Allocator; +class Pointer; +class Container; + +/*! + * \class Object beagle/Object.hpp "beagle/Object.hpp" + * \brief Base class for common Beagle objects. + * \ingroup OOF + * \ingroup ObjPt + */ +class Object { + +public: + + //! Object allocator type. + typedef Allocator + Alloc; + //! Object handle type. + typedef Pointer + Handle; + //! Object bag type. + typedef Container + Bag; + + Object(); + Object(const Object& inOriginal); + virtual ~Object(); + + Object& operator=(const Object& inOriginal); + + virtual const string& getName() const; + virtual bool isEqual(const Object& inRightObj) const; + virtual bool isLess(const Object& inRightObj) const; + virtual void read(PACC::XML::ConstIterator inIter); + virtual string serialize(bool inIndent=false, unsigned int inIndentWidth=0) const; + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Gives the number of smart pointers that refer to the actual object. + * \return Value of the reference counter. + */ + inline unsigned int getRefCounter() const + { + return mRefCounter; + } + + /*! + * \brief Increments the reference counter and returns a pointer to the actual object. + * \return Pointer to the actual object. + */ + inline Object* refer() + { + ++mRefCounter; + return this; + } + + /*! + * \brief Decrement the reference counter and deletes the actual object if it reaches zero. + */ + inline void unrefer() + { + if((--mRefCounter) == 0) delete this; + } + +private: + + unsigned int mRefCounter; //!< Number of smart pointers that refer to the actual object. + +}; + +} + + +/*! + * \brief Test whether an object is less than another. + * \param inLeftObj Left object compared. + * \param inRightObj Right object compared. + * \return True if left object is less than the right one, false if not. + * \relates Beagle::Object + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::Object. + */ +inline bool operator<(const Beagle::Object& inLeftObj, const Beagle::Object& inRightObj) +{ + return inLeftObj.isLess(inRightObj); +} + + +/*! + * \brief Test whether an object is less than, or equal to another. + * \param inLeftObj Left object compared. + * \param inRightObj Right object compared. + * \return True if left object is less than, or equal to the right one, false if not. + * \relates Beagle::Object + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::Object. + */ +inline bool operator<=(const Beagle::Object& inLeftObj, const Beagle::Object& inRightObj) +{ + return ( inLeftObj.isLess(inRightObj) || inLeftObj.isEqual(inRightObj) ); +} + + +/*! + * \brief Test whether an object is more than another. + * \param inLeftObj Left object compared. + * \param inRightObj Right object compared. + * \return True if left object is more than the right one, false if not. + * \relates Beagle::Object + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::Object. + */ +inline bool operator>(const Beagle::Object& inLeftObj, const Beagle::Object& inRightObj) +{ + return inRightObj.isLess(inLeftObj); +} + + +/*! + * \brief Test whether an object is more than, or equal to another. + * \param inLeftObj Left object compared. + * \param inRightObj Right object compared. + * \return True if left object is more than, or equal to the right one, false if not. + * \relates Beagle::Object + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::Object. + */ +inline bool operator>=(const Beagle::Object& inLeftObj, const Beagle::Object& inRightObj) +{ + return ( inRightObj.isLess(inLeftObj) || inLeftObj.isEqual(inRightObj) ); +} + + +/*! + * \brief Test whether an object is equal to another. + * \param inLeftObj Left object compared. + * \param inRightObj Right object compared. + * \return True if left object is equal to the right one, false if not. + * \relates Beagle::Object + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::Object. + */ +inline bool operator==(const Beagle::Object& inLeftObj, const Beagle::Object& inRightObj) +{ + return inLeftObj.isEqual(inRightObj); +} + + +/*! + * \brief Test whether an object is not equal to another. + * \param inLeftObj Left object compared. + * \param inRightObj Right object compared. + * \return True if left object is not equal to the right one, false if it is. + * \relates Beagle::Object + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::Object. + */ +inline bool operator!=(const Beagle::Object& inLeftObj, const Beagle::Object& inRightObj) +{ + return ( inLeftObj.isEqual(inRightObj) == false); +} + + +#endif // Beagle_Object_hpp + + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/ObjectException.hpp b/lib/beagle-3.0.3/beagle/include/beagle/ObjectException.hpp new file mode 100644 index 0000000..434db7c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/ObjectException.hpp @@ -0,0 +1,144 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/ObjectException.hpp + * \brief Definition of class ObjectException. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:16 $ + */ + +#ifndef Beagle_ObjectException_hpp +#define Beagle_ObjectException_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/TargetedException.hpp" + + +/*! + * \def Beagle_ObjectExceptionM + * \brief Construct a Beagle::ObjectException using the message given. + * \param MESS Exception message. + * \ingroup Except + */ +#define Beagle_ObjectExceptionM(MESS) \ + Beagle::ObjectException((*this),MESS,__FILE__,__LINE__) + + +namespace Beagle { + +// Forward declarations. +template class AllocatorT; +template class PointerT; +template class ContainerT; + +/*! + * \class ObjectException beagle/ObjectException.hpp "beagle/ObjectException.hpp" + * \brief Beagle exception relative to a erroneous state of an Object. + * \ingroup OOF + * \ingroup Except + */ +class ObjectException : public TargetedException { + +public: + + //! ObjectException allocator type. + typedef AllocatorT + Alloc; + //! ObjectException handle type. + typedef PointerT + Handle; + //! ObjectException bag type. + typedef ContainerT + Bag; + + explicit ObjectException(const Object& inObject, + string inMessage="", + string inFileName="", + unsigned int inLineNumber=0); + virtual ~ObjectException() throw() { } + + virtual void explain(std::ostream& ioES=std::cerr) throw(); + virtual const char* getExceptionName() const throw(); + void setObjectState(const Object& inObject); + + /*! + * \brief Getting the name of the object related to the exception. + * \return Name of the object related to the exception. + */ + inline const string& getObjectName() const throw() + { + return mObjectName; + } + + /*! + * \brief Getting the value of the reference counter of the object related to the exception. + * \return Reference counter value of the object related to the exception. + */ + inline unsigned int getObjectRefCounter() const throw() + { + return mObjectRefCounter; + } + + /*! + * \brief Getting the RTTI type name of the object related to the exception. + * \return RTTI type name of the object related to the exception. + * \warning The RTTI name of the Object is determined only when the preprocessing flag + * BEAGLE_HAVE_RTTI is defined. + */ + inline const string& getObjectTypeName() const throw() + { + return mObjectTypeName; + } + + /*! + * \brief Getting the serialization of the object related to the exception. + * \return String containing the serialization of the object related to the exception. + */ + inline const string& getSerializedObject() const throw() + { + return mSerializedObject; + } + +protected: + ObjectException() { } //!< Prohibited constructor! + +private: + + string mObjectName; //!< Name of the erroneous Object. + string mObjectTypeName; //!< RTTI name of the erroneous Object. + string mSerializedObject; //!< Serialize representation of the erroneous Object. + unsigned int mObjectRefCounter; //!< Value of the reference counter of the Object. + +}; + +} + +#endif // Beagle_ObjectException_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Operator.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Operator.hpp new file mode 100644 index 0000000..b7f23f9 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Operator.hpp @@ -0,0 +1,225 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Operator.hpp + * \brief Definition of the class Operator. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:16 $ + */ + +/*! + * \defgroup Op Operators and Evolvers + * \ingroup ECF + * \brief Generic evolutionary operators and evolvers, part of the generic EC framework. + * + * The operator is a central concept of Open BEAGLE as an EC framework. In Open BEAGLE, the + * main-loop of operations executed on populations is dynamically defined. The operators are + * specified at run-time and the user is free to define them for his evolution. This gave the + * opportunity to easily and rapidly experiment numerous variants of EC. The operator and evolver + * model is based on the \e Strategy design pattern, which is applied to the + * evolutionary algorithms. The operator interface is declared in the abstract class + * Beagle::Operator. + * \code + * class Operator : public Object { + * public: + * Operator() { } + * virtual void initialize(System& ioSystem) { } + * virtual void operate(Deme& ioDeme,Context& ioContext) =0; + * }; + * \endcode + * + * Before the characteristic method is applied to demes, method Beagle::Operator::initialize is + * invocated. In this method, the operator usually registers it's own parameters, probabilities or + * anything else, used by the characteristic operation. The characteristic operation is defined in + * the virtual method Beagle::Operator::operate. There is a bunch of predefined operators in Open + * BEAGLE. To name a few of them, the tournament selection operator (Beagle::TournamentSelectionOp), + * the GP tree crossover operator (Beagle::GP::CrossoverOp) and and the statistics + * computation operator (Beagle::StatsCalculateOp). + * + * The user that define his own operators must be aware that the system is not fully + * set-up when the Beagle::Operator::initialize method is called. For example, the random number + * generator must not be used, as the seed can be modified thereafter on the command-line or a + * configuration file. The rule is that the Beagle::Operator::initialize method must be used only to + * add elements to the evolution system. + * + * The operators of a specific evolution are inserted into the evolver that supervises the evolution + * process. This object, implemented in class Beagle::Evolver, comprises two major attributes: the + * bootstrap operator set and the main-loop operator set. The bootstrap operators set contains an + * ordered list of operators to apply on each deme, for the initial generation. The main loop + * operators set is an ordered list of operators to apply iteratively, at each generation, on each + * deme. The user could launch an evolution, by calling the method Beagle::Evolver::evolve with the + * vivarium to evolve as argument. + * \code + * class Evolver : public Object { + * public: + * virtual void initialize(System::Handle ioSystem,int& ioArgc,char** ioArgv); + * virtual void evolve(Vivarium::Handle ioVivarium); + * protected: + * Operator::Bag mBootStrapSet; + * Operator::Bag mMainLoopSet; + * }; + * \endcode + * For common EC algorithms, the user usually needs not to create custom sequences of operators. In + * fact, some classes inheriting of Beagle::Evolver can be used to create evolvers with predefined + * operator sets. If a special EC algorithm is needed, a custom building method can be invocated and + * the evolver should be configured properly. + * + */ + + +#ifndef Beagle_Operator_hpp +#define Beagle_Operator_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/NamedObject.hpp" + +namespace Beagle { + +// Forward declaration. +class Deme; +class Context; +class System; +class OperatorMap; + + +/*! + * \class Operator beagle/Operator.hpp "beagle/Operator.hpp" + * \brief Evolutionary operator abstract class. + * \ingroup ECF + * \ingroup Op + */ +class Operator : public NamedObject { + +public: + + //! Operator allocator type. + typedef AbstractAllocT + Alloc; + //! Operator handle type. + typedef PointerT + Handle; + //! Operator bag type. + typedef ContainerT + Bag; + + explicit Operator(string inName="UnnamedOperator"); + virtual ~Operator() { } + + /*! + * \brief Apply the operation on a deme in the given context. + * \param ioDeme Reference to the deme on which the operation takes place. + * \param ioContext Evolutionary context of the operation. + */ + virtual void operate(Deme& ioDeme, Context& ioContext) = 0; + + virtual PointerT giveReference(); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Initialize the operator. + * \param ioSystem Reference to the evolutionary system. + */ + virtual void initialize(System& ioSystem) { } + + /*! + * \return Whether the operator has been initialized or not. + */ + inline bool isInitialized() const + { + Beagle_StackTraceBeginM(); + return mInitialized; + Beagle_StackTraceEndM("bool Operator::isInitialized() const"); + } + + /*! + * \return Whether the operator has been post-initialized or not. + */ + inline bool isPostInitialized() const + { + Beagle_StackTraceBeginM(); + return mPostInitialized; + Beagle_StackTraceEndM("bool Operator::isPostInitialized() const"); + } + + /*! + * \brief Post-initialization operator hook. + * \param ioSystem Reference to the evolutionary system. + */ + virtual void postInit(System& ioSystem) { } + + /*! + * \brief Set the operator initialization state. + * \param inInitialized Initialization state + */ + inline void setInitialized(bool inInitialized=true) + { + Beagle_StackTraceBeginM(); + mInitialized = inInitialized; + Beagle_StackTraceEndM("void Operator::setInitialized(bool inInitialized)"); + } + + /*! + * \brief Set the operator initialization state. + * \param inPostInitialized Initialization state + */ + inline void setPostInitialized(bool inPostInitialized=true) + { + Beagle_StackTraceBeginM(); + mPostInitialized = inPostInitialized; + Beagle_StackTraceEndM("void Operator::setPostInitialized(bool inPostInitialized)"); + } + +private: + + bool mInitialized; //!< Operator initialized. + bool mPostInitialized; //!< Operator post-initialized. + +public: + + virtual void read(PACC::XML::ConstIterator inIter); // Undefined read method! + +}; + +} + +#endif // Beagle_Operator_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/OperatorMap.hpp b/lib/beagle-3.0.3/beagle/include/beagle/OperatorMap.hpp new file mode 100644 index 0000000..f4a7ca3 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/OperatorMap.hpp @@ -0,0 +1,93 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/OperatorMap.hpp + * \brief Definition of class OperatorMap. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:16 $ + */ + +#ifndef Beagle_OperatorMap_hpp +#define Beagle_OperatorMap_hpp + +#include +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Map.hpp" +#include "beagle/Operator.hpp" + + +namespace Beagle { + + +/*! + * \class OperatorMap beagle/OperatorMap.hpp "beagle/OperatorMap.hpp" + * \brief Associative container using a string as key accessors to the + * Operator::Handle instances. + * \ingroup ECF + * \ingroup Op + */ +class OperatorMap : public Map { + +public: + + //! OperatorMap allocator type. + typedef AllocatorT + Alloc; + //! OperatorMap handle type. + typedef PointerT + Handle; + //! OperatorMap bag type. + typedef ContainerT + Bag; + + OperatorMap() { } + virtual ~OperatorMap() { } + + /*! + * \brief Get operator from the map. + * \param inKey Key associated to the operator. + * \return Smart pointer to the operator. + */ + inline Operator::Handle& operator[](string inKey) + { + Beagle_StackTraceBeginM(); + return castHandleT(Map::operator[](inKey)); + Beagle_StackTraceEndM("Operator::Handle& OperatorMap::operator[](string inKey)"); + } + +}; + +} + +#endif // Beagle_OperatorMap_hpp + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/OversizeOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/OversizeOp.hpp new file mode 100644 index 0000000..03875f6 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/OversizeOp.hpp @@ -0,0 +1,101 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/OversizeOp.hpp + * \brief Definition of the class OversizeOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:16 $ + */ + + +#ifndef Beagle_OversizeOp_hpp +#define Beagle_OversizeOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/ReplacementStrategyOp.hpp" +#include "beagle/Float.hpp" + +namespace Beagle { + + +/*! + * \class OversizeOp beagle/OversizeOp.hpp "beagle/OversizeOp.hpp" + * \brief Oversize population replacement strategy operator class. + * \ingroup ECF + * \ingroup Op + * + * An oversize operator generates (ratio * population size) children individuals from a population + * of Mu parents. + */ +class OversizeOp : public ReplacementStrategyOp { + +public: + + //! OversizeOp allocator type. + typedef AllocatorT + Alloc; + //! OversizeOp handle type. + typedef PointerT + Handle; + //! OversizeOp bag type. + typedef ContainerT + Bag; + + OversizeOp(string inOversizeRatioName="ec.oversize.ratio", + string inName="OversizeOp"); + virtual ~OversizeOp() { } + + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + Float::Handle mOversizeRatio; //!< Oversize ratio to use for replacement operator. + string mOversizeRatioName; //!< Oversize ratio parameter name used in register. + +}; + +} + + +#endif // Beagle_OversizeOp_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/ParetoFrontCalculateOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/ParetoFrontCalculateOp.hpp new file mode 100644 index 0000000..27b23d8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/ParetoFrontCalculateOp.hpp @@ -0,0 +1,97 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/ParetoFrontCalculateOp.hpp + * \brief Definition of the class ParetoFrontCalculateOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:16 $ + */ + +#ifndef Beagle_ParetoFrontCalculateOp_hpp +#define Beagle_ParetoFrontCalculateOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/UInt.hpp" +#include "beagle/String.hpp" +#include "beagle/Bool.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Vivarium.hpp" +#include "beagle/Context.hpp" + +namespace Beagle { + +/*! + * \class ParetoFrontCalculateOp beagle/ParetoFrontCalculateOp.hpp "beagle/ParetoFrontCalculateOp.hpp" + * \brief Evaluate Pareto front operator class. + * \ingroup ECF + * \ingroup Op + * + * Evaluate Pareto front from demes and vivarium and put it in place of the actual hall-of-fame. + * The Pareto front is evaluated just before milestones are written. If previous hall-of-fame are + * presents in the demes/vivarium, they are erased. This operator must be in the evolver's operator + * sets between the termination criterion check operators and the MilestoneWriteOp operator. + */ +class ParetoFrontCalculateOp : public Operator { + +public: + + //! ParetoFrontCalculateOp allocator type + typedef AllocatorT + Alloc; + //! ParetoFrontCalculateOp handle type. + typedef PointerT + Handle; + //! ParetoFrontCalculateOp bag type. + typedef ContainerT + Bag; + + explicit ParetoFrontCalculateOp(string inName="ParetoFrontCalculateOp"); + virtual ~ParetoFrontCalculateOp() { } + + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + +private: + String::Handle mMilestonePrefix; //!< Prefix of the milestone filenames. + UInt::Handle mWritingInterval; //!< Milestone's writing interval (in generation). + Bool::Handle mPerDemeMilestone; //!< True: write a milestone for every deme. + UIntArray::Handle mPopSize; //!< Population size for the evolution. + +}; + +} + +#endif // Beagle_ParetoFrontCalculateOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/ParetoFrontHOF.hpp b/lib/beagle-3.0.3/beagle/include/beagle/ParetoFrontHOF.hpp new file mode 100644 index 0000000..d3796a2 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/ParetoFrontHOF.hpp @@ -0,0 +1,95 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/ParetoFrontHOF.hpp + * \brief Definition of the class ParetoFrontHOF. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:16 $ + */ + +#ifndef Beagle_ParetoFrontHOF_hpp +#define Beagle_ParetoFrontHOF_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Individual.hpp" +#include "beagle/Logger.hpp" +#include "beagle/HallOfFame.hpp" +#include "beagle/Deme.hpp" + +namespace Beagle { + + +/*! + * \class ParetoFrontHOF beagle/ParetoFrontHOF.hpp "beagle/ParetoFrontHOF.hpp" + * \brief A Pareto front hall-of-fame for multiobjective optimization. + * \warning It may be costfull to use this hall-of-fame during an evolution. + * It may be preferable to evaluate the Pareto front at the end of an evolution, + * with operator ParetoFrontCalculateOp. + * \ingroup ECF + * \ingroup Pop + * \ingroup MultiObj + */ +class ParetoFrontHOF : public HallOfFame { + +public: + + //! ParetoFrontHOF allocator type. + typedef AllocatorT + Alloc; + //! ParetoFrontHOF handle type. + typedef PointerT + Handle; + //! ParetoFrontHOF bag type. + typedef ContainerT + Bag; + + explicit ParetoFrontHOF(Individual::Alloc::Handle inIndivAlloc=NULL); + virtual ~ParetoFrontHOF() { } + + virtual bool updateWithDeme(unsigned int inSizeHOF, const Deme& inDeme, Context& ioContext); + virtual bool updateWithIndividual(unsigned int inSizeHOF, const Individual& inIndividual, + Context& ioContext); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +}; + +} + + +#endif // Beagle_ParetoFrontHOF_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Pointer.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Pointer.hpp new file mode 100644 index 0000000..ea5fc67 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Pointer.hpp @@ -0,0 +1,266 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Pointer.hpp + * \brief Definition of class Pointer. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:16 $ + */ + +#ifndef Beagle_Pointer_hpp +#define Beagle_Pointer_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AssertException.hpp" + + +namespace Beagle { + +/*! + * \class Pointer beagle/Pointer.hpp "beagle/Pointer.hpp" + * \brief Basic class describing a smart pointer to an object. + * \ingroup OOF + * \ingroup ObjPt + */ +class Pointer { + +public: + + /*! + * \brief Construct a NULL pointing smart pointer. + */ + inline Pointer() : + mObjectPointer(NULL) + { } + + /*! + * \brief Construct a smart pointer that refer to the object pointed given. + * \param inObjPtr Pointer to the object to be referenced. + */ + inline Pointer(const Object* inObjPtr) : + mObjectPointer( (inObjPtr!=NULL) ? (const_cast(inObjPtr)->refer()) : NULL ) + { } + + /*! + * \brief Copy construct a smart pointer. + * \param inPointer Smart pointer to copy. + */ + inline Pointer(const Pointer& inPointer) : + mObjectPointer( (inPointer.getPointer()!=NULL) ? + (const_cast(inPointer.getPointer())->refer()) : NULL ) + { } + + /*! + * \brief Destruct a smart pointer by unrefering the pointed object. + */ + inline ~Pointer() + { + Beagle_StackTraceBeginM(); + if(mObjectPointer!=NULL) mObjectPointer->unrefer(); + mObjectPointer = NULL; + Beagle_StackTraceEndM("Pointer::~Pointer()"); + } + + /*! + * \brief Affect the actual pointer to an object pointer. + * \param inObjPtr Pointer to the object to refer. + * \return Actual smart pointer. + */ + inline Pointer& operator=(const Object* inObjPtr) + { + Beagle_StackTraceBeginM(); + if(mObjectPointer==inObjPtr) return *this; + if(mObjectPointer!=NULL) mObjectPointer->unrefer(); + if(inObjPtr) mObjectPointer = const_cast(inObjPtr)->refer(); + else mObjectPointer = NULL; + return *this; + Beagle_StackTraceEndM("Pointer& Pointer::operator=(const Object* inObjPtr)"); + } + + /*! + * \brief Affect the actual pointer to another smart pointer. + * \param inPointer Smart pointer to copy. + * \return Actual smart pointer. + */ + inline Pointer& operator=(const Pointer& inPointer) + { + Beagle_StackTraceBeginM(); + if(mObjectPointer==inPointer.getPointer()) return *this; + if(mObjectPointer) mObjectPointer->unrefer(); + if(inPointer.getPointer()!=NULL) + mObjectPointer = const_cast(inPointer.getPointer())->refer(); + else mObjectPointer = NULL; + return *this; + Beagle_StackTraceEndM("Pointer& Pointer::operator=(const Pointer& inPointer)"); + } + + /*! + * \brief Get reference the object pointed. + * \return Reference to the object pointed. + * \throw Beagle::AssertException If the pointer to the object is NULL. + */ + inline Object& operator*() + { + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(mObjectPointer); + return *mObjectPointer; + Beagle_StackTraceEndM("Object& Pointer::operator*()"); + } + + /*! + * \brief Get constant reference the object pointed. + * \return Constant reference to the object pointed. + * \throw Beagle::AssertException If the pointer to the object is NULL. + */ + inline const Object& operator*() const + { + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(mObjectPointer); + return *mObjectPointer; + Beagle_StackTraceEndM("const Object& Pointer::operator*() const"); + } + + /*! + * \brief Get reference the object pointed. + * \return Pointer to the object pointed. + * \throw Beagle::AssertException If the pointer to the object is NULL. + */ + inline Object* operator->() + { + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(mObjectPointer); + return mObjectPointer; + Beagle_StackTraceEndM("Object* Pointer::operator->()"); + } + + /*! + * \brief Get constant reference the object pointed. + * \return Constant pointer to the object pointed. + * \throw Beagle::AssertException If the pointer to the object is NULL. + */ + inline const Object* operator->() const + { + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(mObjectPointer); + return mObjectPointer; + Beagle_StackTraceEndM("const Object* Pointer::operator->() const"); + } + + /*! + * \brief Test whether the pointer is NULL or not. + * \return True if the pointer is NULL, false if it is not. + */ + inline bool operator!() const + { + Beagle_StackTraceBeginM(); + return (!mObjectPointer); + Beagle_StackTraceEndM("bool Pointer::operator!() const"); + } + + /*! + * \brief Compare a smart pointer to an object pointer. + * \param inObjPtr Right hand side object pointer to compare. + * \return True if they both refer to the same object (or are both NULL), false if not. + */ + inline bool operator==(const Object* inObjPtr) const + { + Beagle_StackTraceBeginM(); + return (mObjectPointer == inObjPtr); + Beagle_StackTraceEndM("bool Pointer::operator==(const Object* inObjPtr) const"); + } + + /*! + * \brief Compare two smart pointers. + * \param inPointer Right hand side smart pointer to compare. + * \return True if they both refer to the same object (or are both NULL), false if not. + */ + inline bool operator==(const Pointer& inPointer) const + { + Beagle_StackTraceBeginM(); + return (mObjectPointer == inPointer.getPointer()); + Beagle_StackTraceEndM("bool Pointer::operator==(const Pointer& inPointer) const"); + } + + /*! + * \brief Compare a smart pointer to an object pointer. + * \param inObjPtr Right hand side object pointer to compare. + * \return False if they both refer to the same object (or are both NULL), true if not. + */ + inline bool operator!=(const Object* inObjPtr) const + { + Beagle_StackTraceBeginM(); + return (mObjectPointer != inObjPtr); + Beagle_StackTraceEndM("bool Pointer::operator!=(const Object* inObjPtr) const"); + } + + /*! + * \brief Compare two smart pointers. + * \param inPointer Right hand side smart pointer to compare. + * \return False if they both refer to the same object (or are both NULL), true if not. + */ + inline bool operator!=(const Pointer& inPointer) const + { + Beagle_StackTraceBeginM(); + return (mObjectPointer != inPointer.getPointer()); + Beagle_StackTraceEndM("bool Pointer::operator!=(const Pointer& inPointer) const"); + } + + /*! + * \brief Return pointer to the referenced object. + * \return C++ pointer to the object. + */ + inline Object* getPointer() + { + Beagle_StackTraceBeginM(); + return mObjectPointer; + Beagle_StackTraceEndM("Object* Pointer::getPointer()"); + } + + /*! + * \brief Return constant pointer to the referenced object. + * \return Constant C++ pointer to the object. + */ + inline const Object* getPointer() const + { + Beagle_StackTraceBeginM(); + return mObjectPointer; + Beagle_StackTraceEndM("const Object* Pointer::getPointer() const"); + } + +private: + + Object* mObjectPointer; //!< Pointer to the object refered. + +}; + +} + +#endif // Beagle_Pointer_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/PointerT.hpp b/lib/beagle-3.0.3/beagle/include/beagle/PointerT.hpp new file mode 100644 index 0000000..3c7ff9b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/PointerT.hpp @@ -0,0 +1,236 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/PointerT.hpp + * \brief Definition of class template PointerT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:16 $ + */ + +#ifndef Beagle_PointerT_hpp +#define Beagle_PointerT_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" + + +namespace Beagle { + +/*! + * \class PointerT beagle/PointerT.hpp "beagle/PointerT.hpp" + * \brief Templated class defining a T-type smart pointer. + * \param T Type pointed. + * \param BaseType Pointer type from which the actual type is derived. + * \ingroup OOF + * \ingroup ObjPt + */ +template +class PointerT : public BaseType { + +public: + + /*! + * \brief Construct a NULL pointing smart pointer. + */ + inline PointerT() { } + + /*! + * \brief Construct a smart pointer that refer to the T-type object pointed given. + * \param inObjPtr Pointer to the T-type object to be referenced. + */ + inline PointerT(const T* inObjPtr) : + BaseType(inObjPtr) + { } + + /*! + * \brief Copy construct a smart pointer. + * \param inPointerT Smart pointer to copy. + */ + inline PointerT(const PointerT& inPointerT) : + BaseType(inPointerT) + { } + + /*! + * \brief Destructor. + */ + inline ~PointerT() { } + + /*! + * \brief Affect the actual pointer to an object pointer. + * \param inObjPtr Pointer to the object to refer. + * \return Actual smart pointer. + */ + inline PointerT& operator=(const T* inObjPtr) + { + Beagle_StackTraceBeginM(); + BaseType::operator=(inObjPtr); + return *this; + Beagle_StackTraceEndM("PointerT& PointerT::operator=(const T* inObjPtr)"); + } + + /*! + * \brief Affect the actual pointer to another smart pointer. + * \param inPointerT Smart pointer to copy. + * \return Actual smart pointer. + */ + inline PointerT& operator=(const PointerT& inPointerT) + { + Beagle_StackTraceBeginM(); + BaseType::operator=(inPointerT); + return *this; + Beagle_StackTraceEndM("PointerT& PointerT::operator=(const PointerT& inPointerT)"); + } + + /*! + * \brief Get reference the T-type object pointed. + * \return Reference to the T-type object pointed. + * \throw Beagle::AssertException If the pointer to the T-type object is NULL. + */ + inline T& operator*() + { + Beagle_StackTraceBeginM(); + return static_cast(Beagle::Pointer::operator*()); + Beagle_StackTraceEndM("T& PointerT::operator*()"); + } + + /*! + * \brief Get constant reference the T-type object pointed. + * \return Constant reference to the T-type object pointed. + * \throw Beagle::AssertException If the pointer to the T-type object is NULL. + */ + inline const T& operator*() const + { + Beagle_StackTraceBeginM(); + return static_cast(Beagle::Pointer::operator*()); + Beagle_StackTraceEndM("const T& PointerT::operator*() const"); + } + + /*! + * \brief Get reference the T-type object pointed. + * \return Pointer to the T-type object pointed. + * \throw Beagle::AssertException If the pointer to the T-type object is NULL. + */ + inline T* operator->() + { + Beagle_StackTraceBeginM(); + return static_cast(Beagle::Pointer::operator->()); + Beagle_StackTraceEndM("T* PointerT::operator->()"); + } + + /*! + * \brief Get constant reference the T-type object pointed. + * \return Constant pointer to the T-type object pointed. + * \throw Beagle::AssertException If the pointer to the T-type object is NULL. + */ + inline const T* operator->() const + { + Beagle_StackTraceBeginM(); + return static_cast(Beagle::Pointer::operator->()); + Beagle_StackTraceEndM("const T* PointerT::operator->() const"); + } + + /*! + * \brief Compare a smart pointer to a T-type object pointer. + * \param inObjPtr Object pointer to compare. + * \return True if they both refer to the same T-type object (or are both NULL), false if not. + */ + inline bool operator==(const T* inObjPtr) const + { + Beagle_StackTraceBeginM(); + return Beagle::Pointer::operator==(inObjPtr); + Beagle_StackTraceEndM("bool PointerT::operator==(const T* inObjPtr) const"); + } + + /*! + * \brief Compare two T-type smart pointers. + * \param inPointerT Smart pointer to compare. + * \return True if they both refer to the same T-type object (or are both NULL), false if not. + */ + inline bool operator==(const PointerT& inPointerT) const + { + Beagle_StackTraceBeginM(); + return Beagle::Pointer::operator==(inPointerT); + Beagle_StackTraceEndM("bool PointerT::operator==(const PointerT& inPointerT) const"); + } + + /*! + * \brief Compare a T-type smart pointer to an T-type object pointer. + * \param inObjPtr Object pointer to compare. + * \return False if they both refer to the same T-type object (or are both NULL), true if not. + */ + inline bool operator!=(const T* inObjPtr) const + { + Beagle_StackTraceBeginM(); + return Beagle::Pointer::operator!=(inObjPtr); + Beagle_StackTraceEndM("bool PointerT::operator!=(const T* inObjPtr) const"); + } + + /*! + * \brief Compare two T-type smart pointers. + * \param inPointerT Smart pointer to compare. + * \return False if they both refer to the same T-type object (or are both NULL), true if not. + */ + inline bool operator!=(const PointerT& inPointerT) const + { + Beagle_StackTraceBeginM(); + return Beagle::Pointer::operator!=(inPointerT); + Beagle_StackTraceEndM("bool PointerT::operator!=(const PointerT& inPointerT) const"); + } + + /*! + * \brief Return T-type pointer to the referenced object. + * \return C++ pointer to the T-type object. + */ + inline T* getPointer() + { + Beagle_StackTraceBeginM(); + return static_cast(Beagle::Pointer::getPointer()); + Beagle_StackTraceEndM("T* PointerT::getPointer()"); + } + + /*! + * \brief Return constant T-type pointer to the referenced object. + * \return Constant C++ pointer to the T-type object. + */ + inline const T* getPointer() const + { + Beagle_StackTraceBeginM(); + return static_cast(Beagle::Pointer::getPointer()); + Beagle_StackTraceEndM("const T* PointerT::getPointer() const"); + } + +}; + +} + +#endif // Beagle_PointerT_hpp + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/RandomShuffleDemeOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/RandomShuffleDemeOp.hpp new file mode 100644 index 0000000..e76a359 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/RandomShuffleDemeOp.hpp @@ -0,0 +1,81 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/RandomShuffleDemeOp.hpp + * \brief Definition of the class RandomShuffleDemeOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:16 $ + */ + +#ifndef Beagle_RandomShuffleDemeOp_hpp +#define Beagle_RandomShuffleDemeOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" + +namespace Beagle { + +/*! + * \class RandomShuffleDemeOp beagle/RandomShuffleDemeOp.hpp "beagle/RandomShuffleDemeOp.hpp" + * \brief Random shuffle a deme operator class. + * \ingroup ECF + * \ingroup Op + * + * Random shuffle order of individuals in the actual deme. + */ +class RandomShuffleDemeOp : public Operator { + +public: + + //! RandomShuffleDemeOp allocator type + typedef AllocatorT + Alloc; + //! RandomShuffleDemeOp handle type. + typedef PointerT + Handle; + //! RandomShuffleDemeOp bag type. + typedef ContainerT + Bag; + + explicit RandomShuffleDemeOp(string inName="RandomShuffleDemeOp"); + virtual ~RandomShuffleDemeOp() { } + + virtual void operate(Deme& ioDeme, Context& ioContext); + +}; + +} + +#endif // Beagle_RandomShuffleDemeOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Randomizer.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Randomizer.hpp new file mode 100644 index 0000000..0e5f8a0 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Randomizer.hpp @@ -0,0 +1,136 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Randomizer.hpp + * \brief Definition of the class Randomizer. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:16 $ + */ + +#ifndef Beagle_Randomizer_hpp +#define Beagle_Randomizer_hpp + +#include "Util.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Component.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/ULong.hpp" + + +namespace Beagle { + +// Forward declaration +class System; + +/*! + * \class Randomizer beagle/Randomizer.hpp "beagle/Randomizer.hpp" + * \brief Random number generator class. + * \note The operator() allow compliance with the STL random number generator interface. + * \ingroup ECF + * \ingroup Sys + */ +class Randomizer : public Component, public PACC::Randomizer { + +public: + + //! Randomizer allocator type. + typedef AllocatorT + Alloc; + //! Randomizer handle type. + typedef PointerT + Handle; + //! Randomizer bag type. + typedef ContainerT + Bag; + + Randomizer(unsigned long inSeed=0); + virtual ~Randomizer() { } + + virtual void initialize(System& ioSystem); + virtual void postInit(System& ioSystem); + virtual void readWithSystem(PACC::XML::ConstIterator inIter, System& ioSystem); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Generate a floating-point number following a Gaussian distribution. + * \param inMean Mean of the Gaussain distribution. + * \param inStdDev Standard-error of the Gaussian distribution. + */ + inline double rollGaussian(double inMean=0.0, double inStdDev=1.0) + { + Beagle_StackTraceBeginM(); + Beagle_AssertM(inStdDev >= 0.0); + return randNorm(inMean, inStdDev); + Beagle_StackTraceEndM("double Randomizer::rollGaussian(double inMean, double inStdDev)"); + } + + /*! + * \brief Generate an positive integer following an uniform discrete distribution. + * \param inLower Lower bound of the distribution. + * \param inUpper Upper bound of the distribution. + * \return Random positive integer generated in [inLower, inUpper]. + */ + inline unsigned long rollInteger(unsigned long inLower=0, unsigned long inUpper=ULONG_MAX) + { + Beagle_StackTraceBeginM(); + Beagle_AssertM(inLower <= inUpper); + return randInt(inUpper-inLower)+inLower; + Beagle_StackTraceEndM("unsigned long Randomizer::rollInteger(unsigned long inLower, unsigned long inUpper)"); + } + + /*! + * \brief Generate a number following a uniform distribution in the interval [inLower,inUpper). + * \param inLower Lower bound of the uniform distribution. + * \param inUpper Upper bound of the uniform distribution. + * \return Random number generated in [inLower,inUpper). + */ + inline double rollUniform(double inLower=0.0, double inUpper=1.0) + { + Beagle_StackTraceBeginM(); + Beagle_AssertM(inLower <= inUpper); + return (randExc() * (inUpper-inLower)) + inLower; + Beagle_StackTraceEndM("double Randomizer::rollUniform(double inLower, double inUpper)"); + } + +protected: + + ULong::Handle mRegisteredSeed; //!< Registered seed of the random number generator. + unsigned long mSeed; //!< Seed used to initialize the random number generator. + +}; + +} + +#endif // Beagle_Randomizer_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Register.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Register.hpp new file mode 100644 index 0000000..04ac808 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Register.hpp @@ -0,0 +1,192 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Register.hpp + * \brief Definition of the class Register. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:16 $ + */ + +#ifndef Beagle_Register_hpp +#define Beagle_Register_hpp + +#include +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Map.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/String.hpp" +#include "beagle/Operator.hpp" +#include "beagle/Component.hpp" + + +namespace Beagle { + +// Forward declaration +class Context; +class System; + + +/*! + * \class Register beagle/Register.hpp "beagle/Register.hpp" + * \brief Register implementation, where all the parameters of the framework are centralized. + * \ingroup ECF + * \ingroup Sys + */ +class Register : public Component { + +public: + + /*! + * \struct Description beagle/Register.hpp "beagle/Register.hpp" + * \brief Parameter extensive description. + */ + struct Description { + string mBrief; //!< Brief description of the parameter. + string mType; //!< Type of the parameter. + string mDefaultValue; //!< Default value of the parameter. + string mDescription; //!< Long description of the parameter. + + Description(); + explicit Description(string inBrief, string inType, string inDefaultValue, string inDescription); + }; + + //! Register allocator type. + typedef AllocatorT + Alloc; + //! Register handle type. + typedef PointerT + Handle; + //! Register bag type. + typedef ContainerT + Bag; + + Register(); + virtual ~Register() { } + + void addEntry(string inTag, Object::Handle inEntry, + const Description& inDescription); + Object::Handle deleteEntry(string inTag); + const Description& getDescription(string inTag) const; + virtual void initialize(System& ioSystem); + bool isRegistered(string inTag) const; + Object::Handle modifyEntry(string inTag, Object::Handle inNewEntry); + Description modifyDescription(string inTag, const Description& inNewDescription); + virtual void parseCommandLine(System& ioSystem, int& ioArgc, char** ioArgv); + virtual void read(PACC::XML::ConstIterator inIter); + virtual void readParametersFile(string inFileName, System& ioSystem); + virtual void readWithSystem(PACC::XML::ConstIterator inIter, System& ioSystem); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Get an entry of the register. + * \param inTag Tag of the parameter. + * \return Smart pointer to the entry. Return a NULL pointer if there is no entry + * associated with the tag. + */ + inline Object::Handle operator[](string inTag) + { + Beagle_StackTraceBeginM(); + Map::iterator lIterObj = mParameters.find(inTag); + if(lIterObj == mParameters.end()) return Object::Handle(NULL); + else return lIterObj->second; + Beagle_StackTraceEndM("Object::Handle Register::operator[](string inTag)"); + } + + /*! + * \brief Get an entry of the register. + * \param inTag Tag of the parameter. + * \return Constant smart pointer to the entry. Return a NULL pointer if there is no entry + * associated with the tag. + */ + inline const Object::Handle operator[](string inTag) const + { + Beagle_StackTraceBeginM(); + Map::const_iterator lIterObj = mParameters.find(inTag); + if(lIterObj == mParameters.end()) return Object::Handle(NULL); + else return lIterObj->second; + Beagle_StackTraceEndM("const Object::Handle Register::operator[](string inTag) const"); + } + + /*! + * \brief Get an entry of the register. + * \param inTag Tag of the parameter. + * \return Smart pointer to the entry. Return a NULL pointer if there is no entry + * associated with the tag. + */ + inline Object::Handle getEntry(string inTag) + { + Beagle_StackTraceBeginM(); + Map::iterator lIterObj = mParameters.find(inTag); + if(lIterObj == mParameters.end()) return Object::Handle(NULL); + else return lIterObj->second; + Beagle_StackTraceEndM("Object::Handle Register::getEntry(string inTag)"); + } + + /*! + * \brief Get an entry of the register. + * \param inTag Tag of the parameter. + * \return Constant smart pointer to the entry. Return a NULL pointer if there is no entry + * associated with the tag. + */ + inline const Object::Handle getEntry(string inTag) const + { + Beagle_StackTraceBeginM(); + Map::const_iterator lIterObj = mParameters.find(inTag); + if(lIterObj == mParameters.end()) return Object::Handle(NULL); + else return lIterObj->second; + Beagle_StackTraceEndM("const Object::Handle Register::getEntry(string inTag) const"); + } + +protected: + + typedef std::map< string,Description,std::less, + BEAGLE_STLALLOCATOR< std::pair > > + DescriptionMap; + typedef std::vector< Operator::Handle,BEAGLE_STLALLOCATOR > + OperatorVector; + + void addDescription(string inTag, const Description& inDescription); + char* eraseArg(int inN, int& ioArgc, char** ioArgv) const; + void interpretArgs(System& ioSystem, int& ioArgc, char** ioArgv); + void showHelp(char** ioArgv, std::ostream& ioOs=std::cerr) const; + void showUsage(char** ioArgv, std::ostream& ioOs=std::cerr) const; + + Map mParameters; //!< Param. of the register. + DescriptionMap mDescriptions; //!< Parameters descriptions. + OperatorVector mOperatorUsed; //!< Operator used. + String::Handle mFileName; //!< Configuration file name. + +}; + +} + +#endif // Beagle_Register_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/RegisterReadOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/RegisterReadOp.hpp new file mode 100644 index 0000000..a3e756b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/RegisterReadOp.hpp @@ -0,0 +1,89 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/RegisterReadOp.hpp + * \brief Definition of the class RegisterReadOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:16 $ + */ + +#ifndef Beagle_RegisterReadOp_hpp +#define Beagle_RegisterReadOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/UInt.hpp" +#include "beagle/String.hpp" + + +namespace Beagle { + +/*! + * \class RegisterReadOp beagle/RegisterReadOp.hpp "beagle/RegisterReadOp.hpp" + * \brief Read evolution parameters operator class. + * \ingroup ECF + * \ingroup Op + * \ingroup Sys + */ +class RegisterReadOp : public Operator { + +public: + + //! RegisterReadOp allocator type + typedef AllocatorT + Alloc; + //! RegisterReadOp handle type. + typedef PointerT + Handle; + //! RegisterReadOp bag type. + typedef ContainerT + Bag; + + explicit RegisterReadOp(string inName="RegisterReadOp"); + virtual ~RegisterReadOp() { } + + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + +private: + + UInt::Handle mReadingInterval; //!< Parameters reading interval (in generation). + String::Handle mFileName; //!< Configuration file name. + +}; + +} + +#endif // Beagle_RegisterReadOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/ReplacementStrategyOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/ReplacementStrategyOp.hpp new file mode 100644 index 0000000..227dcf3 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/ReplacementStrategyOp.hpp @@ -0,0 +1,129 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/ReplacementStrategyOp.hpp + * \brief Definition of the class ReplacementStrategyOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:16 $ + */ + +#ifndef Beagle_ReplacementStrategyOp_hpp +#define Beagle_ReplacementStrategyOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/BreederNode.hpp" +#include "beagle/BreederOp.hpp" + +namespace Beagle { + + +/*! + * \class ReplacementStrategyOp beagle/ReplacementStrategyOp.hpp "beagle/ReplacementStrategyOp.hpp" + * \brief Replacement strategy operator abstract class. + * \ingroup ECF + * \ingroup Op + * + * The ReplacementStrategyOp class is the entry point the a breeding tree, and have a + * breeder root node. Each breeder are hierachically organized into a tree. A breeder receive a + * breeding pool to process, and must return from it one bred individual. + */ +class ReplacementStrategyOp : public Operator { + +public: + + //! ReplacementStrategyOp allocator type. + typedef AbstractAllocT + Alloc; + //! ReplacementStrategyOp handle type. + typedef PointerT + Handle; + //! ReplacementStrategyOp bag type. + typedef ContainerT + Bag; + + ReplacementStrategyOp(string inName="Unnamed"); + virtual ~ReplacementStrategyOp() { } + + /*! + * \brief Apply the operation on a deme in the given context. + * \param ioDeme Reference to the deme on which the operation takes place. + * \param ioContext Evolutionary context of the operation. + */ + virtual void operate(Deme& ioDeme, Context& ioContext) = 0; + + virtual void initialize(System& ioSystem); + virtual void postInit(System& ioSystem); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \return Breeder root node. + */ + inline BreederNode::Handle getRootNode() const + { + Beagle_StackTraceBeginM(); + return mBreederRoot; + Beagle_StackTraceEndM("BreederNode::Handle ReplacementStrategyOp::getRootNode() const"); + } + + /*! + * \brief Set breeder root node. + * \param inRootNode Breeder root node. + */ + inline void setRootNode(BreederNode::Handle inRootNode) + { + Beagle_StackTraceBeginM(); + mBreederRoot = inRootNode; + Beagle_StackTraceEndM("void ReplacementStrategyOp::setRootNode(BreederNode::Handle inRootNode)"); + } + +protected: + + void buildRoulette(RouletteT& outRoulette, Context& ioContext) const; + +private: + + BreederNode::Handle mBreederRoot; //!< Breeder root node. + +}; + +} + +#endif // Beagle_ReplacementStrategyOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/RouletteT.hpp b/lib/beagle-3.0.3/beagle/include/beagle/RouletteT.hpp new file mode 100644 index 0000000..6dc85e9 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/RouletteT.hpp @@ -0,0 +1,130 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/RouletteT.hpp + * \brief Definition of class template RouletteT. + * \author Matthew Walker + * \author Christian Gagne + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:16 $ + */ + +#ifndef Beagle_RouletteT_hpp +#define Beagle_RouletteT_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Randomizer.hpp" + + +namespace Beagle { + +/*! + * \class RouletteT beagle/RouletteT.hpp "beagle/RouletteT.hpp" + * \brief Templated class defining a T-type roulette wheel. + * \param T Type of the values in the wheel. + * \ingroup OOF + * \ingroup Utils + * \author Matthew Walker + * \author Christian Gagne + */ +template +class RouletteT : public Beagle::Object, + public std::vector< std::pair,BEAGLE_STLALLOCATOR< std::pair > > { + +public: + + typedef std::vector< std::pair,BEAGLE_STLALLOCATOR< std::pair > > + VectorType; + + //! RouletteT allocator type. + typedef AllocatorT,Object::Alloc> + Alloc; + //! RouletteT handle type. + typedef PointerT,Object::Handle> + Handle; + //! RouletteT bag type. + typedef ContainerT,Object::Bag> + Bag; + + RouletteT() { } + virtual ~RouletteT() { } + + /*! + * \brief Insert a value into the roulette wheel. + * \param inValue The value to be inserted. + * \param inWeight The weighting to associate with the value. + */ + inline void insert(const T& inValue, double inWeight=1.0) + { + Beagle_StackTraceBeginM(); + Beagle_AssertM(inWeight>=0.0); + if(VectorType::empty()==false) inWeight += VectorType::back().first; + push_back(std::make_pair(inWeight,inValue)); + Beagle_StackTraceEndM("void RouletteT::insert(const T& inValue, double inWeight)"); + } + + /*! + * \brief Optimize distribution of values in the roulette. + */ + inline void optimize() + { + Beagle_StackTraceBeginM(); + if(VectorType::size()<2) return; + for(unsigned int i=(VectorType::size()-1); i>=1; --i) + (*this)[i].first -= (*this)[i-1].first; + std::sort(VectorType::begin(), VectorType::end(), std::greater< std::pair >()); + for(unsigned int i=1; i::optimize()"); + } + + /*! + * \brief Select a value from the roulette wheel + * \param ioRandomizer Randomizer used to select element. + */ + inline const T& select(Beagle::Randomizer& ioRandomizer) const + { + Beagle_StackTraceBeginM(); + Beagle_AssertM(VectorType::empty()==false); + const double lDice = ioRandomizer.rollUniform(0.0, VectorType::back().first); + unsigned int i; + for(i=0; i<(VectorType::size()-1); ++i) if(lDice<(*this)[i].first) break; + Beagle_AssertM(lDice<(*this)[i].first); + return (*this)[i].second; + Beagle_StackTraceEndM("const T& RouletteT::select(Beagle::Randomizer& ioRandomizer) const"); + } + +}; + +} + + +#endif // Beagle_RouletteT_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/RunTimeException.hpp b/lib/beagle-3.0.3/beagle/include/beagle/RunTimeException.hpp new file mode 100644 index 0000000..7210042 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/RunTimeException.hpp @@ -0,0 +1,98 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/RunTimeException.hpp + * \brief Definition of class RunTimeException. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:16 $ + */ + +#ifndef Beagle_RunTimeException_hpp +#define Beagle_RunTimeException_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Exception.hpp" +#include "beagle/TargetedException.hpp" + +/*! + * \def Beagle_RunTimeExceptionM + * \brief Construct a Beagle::RunTimeException using the message given. + * \param MESS Exception message. + * \ingroup Except + */ +#define Beagle_RunTimeExceptionM(MESS) \ + Beagle::RunTimeException((MESS),__FILE__,__LINE__) + + +namespace Beagle { + +// Forward declarations. +template class AllocatorT; +template class PointerT; +template class ContainerT; + + +/*! + * \class RunTimeException beagle/RunTimeException.hpp "beagle/RunTimeException.hpp" + * \brief Run time checking exception. + * \ingroup OOF + * \ingroup Except + */ +class RunTimeException : public TargetedException { + +public: + + //! RunTimeException allocator type. + typedef AllocatorT + Alloc; + //! RunTimeException handle type. + typedef PointerT + Handle; + //! RunTimeException bag type. + typedef ContainerT + Bag; + + explicit RunTimeException(string inMessage="", + string inFileName="", + unsigned int inLineNumber=0); + virtual ~RunTimeException() throw() { } + + virtual const char* getExceptionName() const throw(); + +}; + +} + + +#endif // Beagle_RunTimeException_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/SelectParsimonyTournOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/SelectParsimonyTournOp.hpp new file mode 100644 index 0000000..47ebbe9 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/SelectParsimonyTournOp.hpp @@ -0,0 +1,95 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/SelectParsimonyTournOp.hpp + * \brief Definition of the class SelectParsimonyTournOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_SelectParsimonyTournOp_hpp +#define Beagle_SelectParsimonyTournOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/SelectionOp.hpp" +#include "beagle/UInt.hpp" + + +namespace Beagle { + +/*! + * \class SelectParsimonyTournOp beagle/SelectParsimonyTournOp.hpp + * "beagle/SelectParsimonyTournOp.hpp" + * \brief Lexicographic parsimony pressure tournament selection operator class. + * \ingroup ECF + * \ingroup Op + * + * A simple lexicographic parsimony pressure tournament selection operator, based an idea + * presented in: Luke, S., and L. Panait. 2002. Lexicographic Parsimony Pressure. In GECCO-2002: + * Proceedings of the Genetic and Evolutionary Computation Conference. W. B. Langdon et al, eds. + * Morgan Kauffman. 829-836. + * + */ +class SelectParsimonyTournOp : public SelectionOp { + +public: + + //! SelectParsimonyTournOp allocator type. + typedef AllocatorT + Alloc; + //! SelectParsimonyTournOp handle type. + typedef PointerT + Handle; + //! SelectParsimonyTournOp bag type. + typedef ContainerT + Bag; + + explicit SelectParsimonyTournOp(string inReproProbaName="ec.repro.prob", + string inName="SelectParsimonyTournOp"); + virtual ~SelectParsimonyTournOp() { } + + virtual void initialize(System& ioSystem); + virtual unsigned int selectIndividual(Individual::Bag& ioPool, Context& ioContext); + +protected: + + UInt::Handle mNumberParticipants; //!< Number of participants to each tournament. + +}; + +} + +#endif // Beagle_SelectParsimonyTournOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/SelectRandomOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/SelectRandomOp.hpp new file mode 100644 index 0000000..dce41c3 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/SelectRandomOp.hpp @@ -0,0 +1,82 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/SelectRandomOp.hpp + * \brief Definition of the class SelectRandomOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_SelectRandomOp_hpp +#define Beagle_SelectRandomOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/SelectionOp.hpp" + + +namespace Beagle { + +/*! + * \class SelectRandomOp beagle/SelectRandomOp.hpp "beagle/SelectRandomOp.hpp" + * \brief Select an individual in a population randomly operator class (uniform distribution). + * \ingroup ECF + * \ingroup Op + */ +class SelectRandomOp : public SelectionOp { + +public: + + //! SelectRandomOp allocator type. + typedef AllocatorT + Alloc; + //! SelectRandomOp handle type. + typedef PointerT + Handle; + //! SelectRandomOp bag type. + typedef ContainerT + Bag; + + explicit SelectRandomOp(string inReproProbaName="ec.repro.prob", + string inName="SelectRandomOp"); + virtual ~SelectRandomOp() { } + + virtual unsigned int selectIndividual(Individual::Bag& ioPool, Context& ioContext); + +}; + +} + +#endif // Beagle_SelectRandomOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/SelectRouletteOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/SelectRouletteOp.hpp new file mode 100644 index 0000000..b128880 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/SelectRouletteOp.hpp @@ -0,0 +1,93 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/SelectRouletteOp.hpp + * \brief Definition of the class SelectRouletteOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_SelectRouletteOp_hpp +#define Beagle_SelectRouletteOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/SelectionOp.hpp" +#include "beagle/RouletteT.hpp" + + +namespace Beagle { + +/*! + * \class SelectRouletteOp beagle/SelectRouletteOp.hpp "beagle/SelectRouletteOp.hpp" + * \brief Proportionnal roulette selection operator class. + * \ingroup ECF + * \ingroup Op + * \warning To use roulette selection, every individuals composing the population must have + * non-negative fitness value. Roulette selection is valid only with FitnessSimple object + * and derived (FitnessSimpleMin, FitnessKoza). + */ +class SelectRouletteOp : public SelectionOp { + +public: + + //! SelectRouletteOp allocator type. + typedef AllocatorT + Alloc; + //! SelectRouletteOp handle type. + typedef PointerT + Handle; + //! SelectRouletteOp bag type. + typedef ContainerT + Bag; + + explicit SelectRouletteOp(string inReproProbaName="ec.repro.prob", + string inName="SelectRouletteOp"); + virtual ~SelectRouletteOp() { } + + virtual void operate(Deme& ioDeme, Context& ioContext); + virtual unsigned int selectIndividual(Individual::Bag& ioPool, Context& ioContext); + +protected: + + RouletteT mRoulette; //!< Roulette with cumulative probabilities. + bool mRouletteValid; //!< Flag whether roulette is still valid. + +}; + +} + +#endif // Beagle_SelectRouletteOp_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/SelectTournamentOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/SelectTournamentOp.hpp new file mode 100644 index 0000000..fd0123d --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/SelectTournamentOp.hpp @@ -0,0 +1,88 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/SelectTournamentOp.hpp + * \brief Definition of the class SelectTournamentOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_SelectTournamentOp_hpp +#define Beagle_SelectTournamentOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/SelectionOp.hpp" +#include "beagle/UInt.hpp" + + +namespace Beagle { + +/*! + * \class SelectTournamentOp beagle/SelectTournamentOp.hpp "beagle/SelectTournamentOp.hpp" + * \brief Tournament selection operator class. + * \ingroup ECF + * \ingroup Op + */ +class SelectTournamentOp : public SelectionOp { + +public: + + //! SelectTournamentOp allocator type. + typedef AllocatorT + Alloc; + //! SelectTournamentOp handle type. + typedef PointerT + Handle; + //! SelectTournamentOp bag type. + typedef ContainerT + Bag; + + explicit SelectTournamentOp(string inReproProbaName="ec.repro.prob", + string inName="SelectTournamentOp"); + virtual ~SelectTournamentOp() { } + + virtual void initialize(System& ioSystem); + virtual unsigned int selectIndividual(Individual::Bag& ioPool, Context& ioContext); + +protected: + + UInt::Handle mNumberParticipants; //!< Number of participants to each tournament. + +}; + +} + +#endif // Beagle_SelectTournamentOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/SelectionOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/SelectionOp.hpp new file mode 100644 index 0000000..a2feb1c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/SelectionOp.hpp @@ -0,0 +1,104 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/SelectionOp.hpp + * \brief Definition of the class SelectionOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_SelectionOp_hpp +#define Beagle_SelectionOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/BreederOp.hpp" +#include "beagle/Float.hpp" + + +namespace Beagle { + +/*! + * \class SelectionOp beagle/SelectionOp.hpp "beagle/SelectionOp.hpp" + * \brief Abstract selection operator class. + * \ingroup ECF + * \ingroup Op + */ +class SelectionOp : public BreederOp { + +public: + + //! SelectionOp allocator type. + typedef AbstractAllocT + Alloc; + //! SelectionOp handle type. + typedef PointerT + Handle; + //! SelectionOp bag type. + typedef ContainerT + Bag; + + explicit SelectionOp(string inReproProbaName="ec.repro.prob", + string inName="SelectionOp"); + virtual ~SelectionOp() { } + + /*! + * \brief Select an individual in a pool. + * \param ioPool Pool in which the individual is choosen. + * \param ioContext Evolutionary context. + * \return Index of the choosen individual in the pool. + */ + virtual unsigned int selectIndividual(Individual::Bag& ioPool, Context& ioContext) = 0; + + virtual Individual::Handle breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext); + virtual float getBreedingProba(BreederNode::Handle inChild); + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + Float::Handle mReproductionProba; //!< Reproduction probability. + string mReproProbaName; //!< Reproduction probability name. + +}; + +} + +#endif // Beagle_SelectionOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Short.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Short.hpp new file mode 100644 index 0000000..fbefe37 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Short.hpp @@ -0,0 +1,578 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Short.hpp + * \brief Definition of the type Short and related operators. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_Short_hpp +#define Beagle_Short_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/ArrayT.hpp" + + +namespace Beagle { + +/*! + * \brief Beagle wrapper of the atomic short type. + * \ingroup Adapt + */ +typedef WrapperT< short > + Short; + +/*! + * \brief Beagle array of the atomic short type. + * \ingroup Adapt + */ +typedef ArrayT< short > + ShortArray; + +/*! + * \brief Evaluate absolute value of a Beagle::Short. + * \param inValue Short to evaluate the absolute value. + * \return Absolute value of the input. + * \ingroup Adapt + */ +template <> +inline Short absolute(const Short& inValue) +{ + Beagle_StackTraceBeginM(); + return Short(std::abs(inValue.getWrappedValue())); + Beagle_StackTraceEndM("Short absolute(const Short& inValue)"); +} + +} + + +/*! + * \brief Test whether an short is less than another. + * \param inLeftShort Left short compared. + * \param inRightShort Right short compared. + * \return True if left short is less than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::Short. + */ +inline bool operator<(const Beagle::Short& inLeftShort, const Beagle::Short& inRightShort) +{ + Beagle_StackTraceBeginM(); + return inLeftShort.isLess(inRightShort); + Beagle_StackTraceEndM("bool operator<(const Short& inLeftShort, const Short& inRightShort)"); +} + + +/*! + * \brief Test whether an short is less than, or equal to another. + * \param inLeftShort Left short compared. + * \param inRightShort Right short compared. + * \return True if left short is less than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::Short. + */ +inline bool operator<=(const Beagle::Short& inLeftShort, const Beagle::Short& inRightShort) +{ + Beagle_StackTraceBeginM(); + return ( inLeftShort.isLess(inRightShort) || inLeftShort.isEqual(inRightShort) ); + Beagle_StackTraceEndM("bool operator<=(const Short& inLeftShort, const Short& inRightShort)"); +} + + +/*! + * \brief Test whether an short is more than another. + * \param inLeftShort Left short compared. + * \param inRightShort Right short compared. + * \return True if left short is more than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::Short. + */ +inline bool operator>(const Beagle::Short& inLeftShort, const Beagle::Short& inRightShort) +{ + Beagle_StackTraceBeginM(); + return inRightShort.isLess(inLeftShort); + Beagle_StackTraceEndM("bool operator>(const Short& inLeftShort, const Short& inRightShort)"); +} + + +/*! + * \brief Test whether an short is more than, or equal to another. + * \param inLeftShort Left short compared. + * \param inRightShort Right short compared. + * \return True if left short is more than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::Short. + */ +inline bool operator>=(const Beagle::Short& inLeftShort, const Beagle::Short& inRightShort) +{ + Beagle_StackTraceBeginM(); + return ( inRightShort.isLess(inLeftShort) || inLeftShort.isEqual(inRightShort) ); + Beagle_StackTraceEndM("bool operator>=(const Short& inLeftShort, const Short& inRightShort)"); +} + + +/*! + * \brief Test whether an short is equal to another. + * \param inLeftShort Left short compared. + * \param inRightShort Right short compared. + * \return True if left short is equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::Short. + */ +inline bool operator==(const Beagle::Short& inLeftShort, const Beagle::Short& inRightShort) +{ + Beagle_StackTraceBeginM(); + return inLeftShort.isEqual(inRightShort); + Beagle_StackTraceEndM("bool operator==(const Short& inLeftShort, const Short& inRightShort)"); +} + + +/*! + * \brief Test whether an short is not equal to another. + * \param inLeftShort Left short compared. + * \param inRightShort Right short compared. + * \return True if left short is not equal to the right one, false if it is. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::Short. + */ +inline bool operator!=(const Beagle::Short& inLeftShort, const Beagle::Short& inRightShort) +{ + Beagle_StackTraceBeginM(); + return ( inLeftShort.isEqual(inRightShort) == false); + Beagle_StackTraceEndM("bool operator!=(const Short& inLeftShort, const Short& inRightShort)"); +} + + +/*! + * \brief Compare equality of a Short with a short. + * \param inLeftShort Left value to compare. + * \param inRightShort Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator==(const Beagle::Short& inLeftShort, short inRightShort) +{ + Beagle_StackTraceBeginM(); + return inLeftShort.getWrappedValue() == inRightShort; + Beagle_StackTraceEndM("bool operator==(const Short& inLeftShort, short inRightShort)"); +} + + +/*! + * \brief Compare inequality of a Short with a short. + * \param inLeftShort Left value to compare. + * \param inRightShort Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator!=(const Beagle::Short& inLeftShort, short inRightShort) +{ + Beagle_StackTraceBeginM(); + return inLeftShort.getWrappedValue() != inRightShort; + Beagle_StackTraceEndM("bool operator!=(const Short& inLeftShort, short inRightShort)"); +} + + +/*! + * \brief Test if a Short is < than a short. + * \param inLeftShort Left value to compare. + * \param inRightShort Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<(const Beagle::Short& inLeftShort, short inRightShort) +{ + Beagle_StackTraceBeginM(); + return inLeftShort.getWrappedValue() < inRightShort; + Beagle_StackTraceEndM("bool operator<(const Short& inLeftShort, short inRightShort)"); +} + + +/*! + * \brief Test if a Short is <= than a short. + * \param inLeftShort Left value to compare. + * \param inRightShort Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<=(const Beagle::Short& inLeftShort, short inRightShort) +{ + Beagle_StackTraceBeginM(); + return inLeftShort.getWrappedValue() <= inRightShort; + Beagle_StackTraceEndM("bool operator<=(const Short& inLeftShort, short inRightShort)"); +} + + +/*! + * \brief Test if a Short is > than a short. + * \param inLeftShort Left value to compare. + * \param inRightShort Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>(const Beagle::Short& inLeftShort, short inRightShort) +{ + Beagle_StackTraceBeginM(); + return inLeftShort.getWrappedValue() > inRightShort; + Beagle_StackTraceEndM("bool operator>(const Short& inLeftShort, short inRightShort)"); +} + + +/*! + * \brief Test if a Short is >= than a short. + * \param inLeftShort Left value to compare. + * \param inRightShort Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>=(const Beagle::Short& inLeftShort, short inRightShort) +{ + Beagle_StackTraceBeginM(); + return inLeftShort.getWrappedValue() >= inRightShort; + Beagle_StackTraceEndM("bool operator>=(const Short& inLeftShort, short inRightShort)"); +} + + +/*! + * \brief Increment a Short (prefix version). + * \param inShort Short to increment. + * \return Short incremented. + */ +inline +Beagle::Short& operator++(Beagle::Short& inShort) +{ + Beagle_StackTraceBeginM(); + inShort.getWrappedValue()++; + return inShort; + Beagle_StackTraceEndM("Short& operator++(Short& inShort)"); +} + + +/*! + * \brief Increment a Short (postfix version). + * \param inShort Short to increment. + * \return Short before being incremented. + */ +inline +Beagle::Short operator++(Beagle::Short& inShort, int) +{ + Beagle_StackTraceBeginM(); + Beagle::Short lShort = inShort; + inShort.getWrappedValue()++; + return lShort; + Beagle_StackTraceEndM("Short operator++(Short& inShort, int)"); +} + + +/*! + * \brief Add two Short. + * \param inLeftShort Left value to add. + * \param inRightShort Right value to add. + * \return Result of the addition. + */ +inline +Beagle::Short operator+(const Beagle::Short& inLeftShort, const Beagle::Short& inRightShort) +{ + Beagle_StackTraceBeginM(); + return inLeftShort.getWrappedValue() + inRightShort.getWrappedValue(); + Beagle_StackTraceEndM("Short operator+(const Short& inLeftShort, const Short& inRightShort)"); +} + + +/*! + * \brief Add a Short with a short. + * \param inLeftShort Left value to add. + * \param inRightShort Right value to add. + * \return Result of the addition. + */ +inline +Beagle::Short operator+(const Beagle::Short& inLeftShort, short inRightShort) +{ + Beagle_StackTraceBeginM(); + return inLeftShort.getWrappedValue() + inRightShort; + Beagle_StackTraceEndM("Short operator+(const Short& inLeftShort, short inRightShort)"); +} + + +/*! + * \brief Add a Short to a Short. + * \param inLeftShort Left value to which the right one is added. + * \param inRightShort Value to add. + * \return Result of the addition. + */ +inline +Beagle::Short& operator+=(Beagle::Short& inLeftShort, const Beagle::Short& inRightShort) +{ + Beagle_StackTraceBeginM(); + inLeftShort.getWrappedValue() += inRightShort.getWrappedValue(); + return inLeftShort; + Beagle_StackTraceEndM("Short& operator+=(Short& inLeftShort, const Short& inRightShort)"); +} + + +/*! + * \brief Add a short to a Short. + * \param inLeftShort Left value to which the right one is added. + * \param inRightShort Value to add. + * \return Result of the addition. + */ +inline +Beagle::Short& operator+=(Beagle::Short& inLeftShort, short inRightShort) +{ + Beagle_StackTraceBeginM(); + inLeftShort.getWrappedValue() += inRightShort; + return inLeftShort; + Beagle_StackTraceEndM("Short& operator+=(Short& inLeftShort, short inRightShort)"); +} + + +/*! + * \brief Decrement a Short (prefix version). + * \param inShort Short to decrement. + * \return Short decremented. + */ +inline +Beagle::Short& operator--(Beagle::Short& inShort) +{ + Beagle_StackTraceBeginM(); + inShort.getWrappedValue()--; + return inShort; + Beagle_StackTraceEndM("Short& operator--(Short& inShort)"); +} + + +/*! + * \brief Decrement a Short (postfix version). + * \param inShort Short to decrement. + * \return Short before being decremented. + */ +inline +Beagle::Short operator--(Beagle::Short& inShort, int) +{ + Beagle_StackTraceBeginM(); + Beagle::Short lShort = inShort; + inShort.getWrappedValue()--; + return lShort; + Beagle_StackTraceEndM("Short operator--(Short& inShort, int)"); +} + + + +/*! + * \brief Subtract two Short. + * \param inLeftShort Left value to subtract. + * \param inRightShort Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::Short operator-(const Beagle::Short& inLeftShort, const Beagle::Short& inRightShort) +{ + Beagle_StackTraceBeginM(); + return inLeftShort.getWrappedValue() - inRightShort.getWrappedValue(); + Beagle_StackTraceEndM("Short operator-(const Short& inLeftShort, const Short& inRightShort)"); +} + + +/*! + * \brief Subtract a short from a Short. + * \param inLeftShort Left value to subtract. + * \param inRightShort Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::Short operator-(const Beagle::Short& inLeftShort, short inRightShort) +{ + Beagle_StackTraceBeginM(); + return inLeftShort.getWrappedValue() - inRightShort; + Beagle_StackTraceEndM("Short operator-(const Short& inLeftShort, short inRightShort)"); +} + + +/*! + * \brief Subtract a Short from a Short. + * \param inLeftShort Left value from which the right short is subtracted. + * \param inRightShort Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::Short& operator-=(Beagle::Short& inLeftShort, const Beagle::Short& inRightShort) +{ + Beagle_StackTraceBeginM(); + inLeftShort.getWrappedValue() -= inRightShort.getWrappedValue(); + return inLeftShort; + Beagle_StackTraceEndM("Short& operator-=(Short& inLeftShort, const Short& inRightShort)"); +} + + +/*! + * \brief Subtract a short from a Short. + * \param inLeftShort Left value from which the right short is subtracted. + * \param inRightShort Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::Short& operator-=(Beagle::Short& inLeftShort, short inRightShort) +{ + Beagle_StackTraceBeginM(); + inLeftShort.getWrappedValue() -= inRightShort; + return inLeftShort; + Beagle_StackTraceEndM("Short& operator-=(Short& inLeftShort, short inRightShort)"); +} + + +/*! + * \brief Multiply two Short. + * \param inLeftShort Left value to multiply. + * \param inRightShort Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::Short operator*(const Beagle::Short& inLeftShort, const Beagle::Short& inRightShort) +{ + Beagle_StackTraceBeginM(); + return inLeftShort.getWrappedValue() * inRightShort.getWrappedValue(); + Beagle_StackTraceEndM("Short operator*(const Short& inLeftShort, const Short& inRightShort)"); +} + + +/*! + * \brief Multiply a Short with a short. + * \param inLeftShort Left value to multiply. + * \param inRightShort Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::Short operator*(const Beagle::Short& inLeftShort, short inRightShort) +{ + Beagle_StackTraceBeginM(); + return inLeftShort.getWrappedValue() * inRightShort; + Beagle_StackTraceEndM("Short operator*(const Short& inLeftShort, short inRightShort)"); +} + + +/*! + * \brief Multiply a Short with a Short. + * \param inLeftShort Left value to which the right short is multiplied. + * \param inRightShort Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::Short& operator*=(Beagle::Short& inLeftShort, const Beagle::Short& inRightShort) +{ + Beagle_StackTraceBeginM(); + inLeftShort.getWrappedValue() *= inRightShort.getWrappedValue(); + return inLeftShort; + Beagle_StackTraceEndM("Short& operator*=(Short& inLeftShort, const Short& inRightShort)"); +} + + +/*! + * \brief Multiply a Short with a short. + * \param inLeftShort Left value from which the right short is multiplied. + * \param inRightShort Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::Short& operator*=(Beagle::Short& inLeftShort, short inRightShort) +{ + Beagle_StackTraceBeginM(); + inLeftShort.getWrappedValue() *= inRightShort; + return inLeftShort; + Beagle_StackTraceEndM("Short& operator*=(Short& inLeftShort, short inRightShort)"); +} + + +/*! + * \brief Divide two Short. + * \param inLeftShort Left value to divide. + * \param inRightShort Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Short operator/(const Beagle::Short& inLeftShort, const Beagle::Short& inRightShort) +{ + Beagle_StackTraceBeginM(); + return inLeftShort.getWrappedValue() / inRightShort.getWrappedValue(); + Beagle_StackTraceEndM("Short operator/(const Short& inLeftShort, const Short& inRightShort)"); +} + + +/*! + * \brief Divide a Short with a short. + * \param inLeftShort Left value to divide. + * \param inRightShort Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Short operator/(const Beagle::Short& inLeftShort, short inRightShort) +{ + Beagle_StackTraceBeginM(); + return inLeftShort.getWrappedValue() / inRightShort; + Beagle_StackTraceEndM("Short operator/(const Short& inLeftShort, short inRightShort)"); +} + + +/*! + * \brief Divide a Short with a Short. + * \param inLeftShort Left value to which the right short is divided. + * \param inRightShort Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Short& operator/=(Beagle::Short& inLeftShort, const Beagle::Short& inRightShort) +{ + Beagle_StackTraceBeginM(); + inLeftShort.getWrappedValue() /= inRightShort.getWrappedValue(); + return inLeftShort; + Beagle_StackTraceEndM("Short& operator/=(Short& inLeftShort, const Short& inRightShort)"); +} + + +/*! + * \brief Divide a Short with a short. + * \param inLeftShort Left value from which the right short is divided. + * \param inRightShort Right value to divide. + * \return Result of the division. + */ +inline +Beagle::Short operator/=(Beagle::Short& inLeftShort, short inRightShort) +{ + Beagle_StackTraceBeginM(); + inLeftShort.getWrappedValue() /= inRightShort; + return inLeftShort; + Beagle_StackTraceEndM("Short operator/=(Short& inLeftShort, short inRightShort)"); +} + + +#endif // Beagle_Short_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Stats.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Stats.hpp new file mode 100644 index 0000000..aae6946 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Stats.hpp @@ -0,0 +1,315 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Stats.hpp + * \brief Definition of class Stats. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_Stats_hpp +#define Beagle_Stats_hpp + +#include + +#include "XML.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/ContainerAllocatorT.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/AssertException.hpp" +#include "beagle/RunTimeException.hpp" + +namespace Beagle { + + +/*! + * \struct Measure beagle/Stats.hpp "beagle/Stats.hpp" + * \brief Statistical measure of an evolution. + * \ingroup ECF + * \ingroup FitStats + */ +struct Measure { + string mId; //!< Id of the measure. + double mAvg; //!< Average of the statistic measure. + double mStd; //!< Standard deviation of the statistic measure. + double mMax; //!< Maximum of the statistic measure. + double mMin; //!< Minimum of the statistic measure. + + explicit Measure(string inId = "", + double inAvg = 0.0, + double inStd = 0.0, + double inMax = 0.0, + double inMin = 0.0); +}; + + +/*! + * \class Stats beagle/Stats.hpp "beagle/Stats.hpp" + * \brief Generation statistics measure. + * \ingroup ECF + * \ingroup FitStats + */ +class Stats : public Object, + public std::vector< Measure,BEAGLE_STLALLOCATOR > { + +public: + + //! Stats allocator type. + typedef AllocatorT + Alloc; + //! Stats handle type. + typedef PointerT + Handle; + //! Stats bag type. + typedef ContainerT + Bag; + + explicit Stats(string inId="", + unsigned int inGeneration=0, + unsigned int inPopSize=0, + bool inValid=false); + virtual ~Stats() { } + + virtual void read(PACC::XML::ConstIterator inIter); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Add an item to the statistics. + * \param inTag Tag of the statistics item. + * \param inValue Value of item to add. + * \throw RunTimeException If the item is already in the stats. + */ + inline void addItem(string inTag, double inValue) + { + Beagle_StackTraceBeginM(); + ItemMap::const_iterator lIterObj = mItemMap.find(inTag); + if(lIterObj != mItemMap.end()) + throw Beagle_RunTimeExceptionM("Could not add item to statistics as it already exist!"); + mItemMap[inTag] = inValue; + Beagle_StackTraceEndM("void Stats::addItem(string inTag, double inValue)"); + } + + /*! + * \brief Clear items of the statistics. + */ + inline void clearItems() + { + Beagle_StackTraceBeginM(); + mItemMap.clear(); + Beagle_StackTraceEndM("void Stats::clearItems()"); + } + + /*! + * \brief Delete an item from the statistics. + * \param inTag Tag of the statistics item. + * \return Value item deleted. + * \throw RunTimeException If the item is not in the stats. + */ + inline double deleteItem(string inTag) + { + Beagle_StackTraceBeginM(); + ItemMap::iterator lIterObj = mItemMap.find(inTag); + if(lIterObj == mItemMap.end()) { + std::ostringstream lOSS; + lOSS << "Item named \"" << inTag << "\" is not in the statistics!"; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + double lValue = lIterObj->second; + mItemMap.erase(lIterObj); + return lValue; + Beagle_StackTraceEndM("double Stats::deleteItem(string inTag)"); + } + + /*! + * \brief Get value of an item of the statistics. + * \param inTag Item of the statistics item. + * \return Value of item. + * \throw RunTimeException if there is no entry associated with the tag. + */ + inline double& getItem(string inTag) + { + Beagle_StackTraceBeginM(); + ItemMap::iterator lIterObj = mItemMap.find(inTag); + if(lIterObj == mItemMap.end()) { + std::ostringstream lOSS; + lOSS << "Item named \"" << inTag << "\" is not in the statistics!"; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + return lIterObj->second; + Beagle_StackTraceEndM("double& Stats::getItem(string inTag)"); + } + + /*! + * \brief Get value of an item of the statistics. + * \param inTag Item of the statistics item. + * \return Value of item. + * \throw RunTimeException if there is no entry associated with the tag. + */ + inline const double& getItem(string inTag) const + { + Beagle_StackTraceBeginM(); + ItemMap::const_iterator lIterObj = mItemMap.find(inTag); + if(lIterObj == mItemMap.end()) { + std::ostringstream lOSS; + lOSS << "Item named \"" << inTag << "\" is not in the statistics!"; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + return lIterObj->second; + Beagle_StackTraceEndM("const double& Stats::getItem(string inTag) const"); + } + + /*! + * \return Id of the stats. + */ + inline string getId() const + { + Beagle_StackTraceBeginM(); + return mId; + Beagle_StackTraceEndM("string Stats::getId() const"); + } + + /*! + * \return Generation of the stats. + */ + inline unsigned int getGeneration() const + { + Beagle_StackTraceBeginM(); + return mGeneration; + Beagle_StackTraceEndM("unsigned int Stats::getGeneration() const"); + } + + /*! + * \return Population size associated to the stats. + */ + inline unsigned int getPopSize() const + { + Beagle_StackTraceBeginM(); + return mPopSize; + Beagle_StackTraceEndM("unsigned int Stats::getPopSize() const"); + } + + /*! + * \brief Is given item is in the statistics. + * \param inTag Tag of the statistics item. + */ + inline bool existItem(string inTag) const + { + Beagle_StackTraceBeginM(); + ItemMap::const_iterator lIterObj = mItemMap.find(inTag); + return (lIterObj != mItemMap.end()); + Beagle_StackTraceEndM("bool Stats::existItem(string inTag) const"); + } + + /*! + * \brief Return validity of the stats. + * \return True if stats are valid, false if not. + */ + inline bool isValid() const + { + Beagle_StackTraceBeginM(); + return mValid; + Beagle_StackTraceEndM("bool Stats::isValid() const"); + } + + /*! + * \brief Add an item to the statistics. + * \param inTag Tag of the statistics item. + * \param inValue Value of item to modify. + */ + inline void modifyItem(string inTag, double inValue) + { + Beagle_StackTraceBeginM(); + mItemMap[inTag] = inValue; + Beagle_StackTraceEndM("void Stats::modifyItem(string inTag, double inValue)"); + } + + /*! + * \brief Invalidate the stats. + */ + inline void setInvalid() + { + Beagle_StackTraceBeginM(); + mValid = false; + Beagle_StackTraceEndM("void Stats::setInvalid()"); + } + + /*! + * \brief Validate the stats. + */ + inline void setValid() + { + Beagle_StackTraceBeginM(); + mValid = true; + Beagle_StackTraceEndM("void Stats::setValid()"); + } + + /*! + * \brief Set the generational values of the stats. + * \param inId Stats id. + * \param inGeneration Generation value. + * \param inPopSize Population size. + * \param inValid If the stats are valid or not. + */ + inline void setGenerationValues(string inId, + unsigned int inGeneration, + unsigned int inPopSize, + bool inValid=true) + { + Beagle_StackTraceBeginM(); + mId = inId; + mGeneration = inGeneration; + mPopSize = inPopSize; + mValid = inValid; + Beagle_StackTraceEndM("void Stats::setGenerationValues(string inId, unsigned int inGeneration, unsigned int inPopSize, bool inValid)"); + } + +protected: + + typedef std::map< string,double,std::less, + BEAGLE_STLALLOCATOR< std::pair > > + ItemMap; + + ItemMap mItemMap; //!< Statistics item evaluated. + string mId; //!< Id of the stats. + unsigned int mGeneration; //!< Generation at which the measure had been taken. + unsigned int mPopSize; //!< Population size. + bool mValid; //!< Flag that indicate whether the stats are valids. + +}; + +} + +#endif // Beagle_Stats_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/StatsCalcFitnessMultiObjOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/StatsCalcFitnessMultiObjOp.hpp new file mode 100644 index 0000000..29ee3df --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/StatsCalcFitnessMultiObjOp.hpp @@ -0,0 +1,93 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/StatsCalcFitnessMultiObjOp.hpp + * \brief Definition of the class StatsCalcFitnessMultiObjOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_StatsCalcFitnessMultiObjOp_hpp +#define Beagle_StatsCalcFitnessMultiObjOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/Stats.hpp" +#include "beagle/Vivarium.hpp" +#include "beagle/Context.hpp" +#include "beagle/StatsCalculateOp.hpp" + +namespace Beagle { + + +/*! + * \class StatsCalcFitnessMultiObjOp beagle/StatsCalcFitnessMultiObjOp.hpp + * "beagle/StatsCalcFitnessMultiObjOp.hpp" + * \brief Calculate statistics of a deme operator class for individual fitness is of the + * type FitnessMultiObj. + * \ingroup ECF + * \ingroup Op + * \ingroup FitStats + * \ingroup MultiObj + */ +class StatsCalcFitnessMultiObjOp : public StatsCalculateOp { + +public: + + //! StatsCalcFitnessMultiObjOp allocator type + typedef AllocatorT + Alloc; + //! StatsCalcFitnessMultiObjOp handle type. + typedef PointerT + Handle; + //! StatsCalcFitnessMultiObjOp bag type. + typedef ContainerT + Bag; + + explicit StatsCalcFitnessMultiObjOp(string inName="StatsCalcFitnessMultiObjOp"); + virtual ~StatsCalcFitnessMultiObjOp() { } + + virtual void calculateStatsDeme(Stats& outStats, Deme& ioDeme, Context& ioContext) const; + +}; + +} + +#endif // Beagle_StatsCalcFitnessMultiObjOp.cpp_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/StatsCalcFitnessSimpleOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/StatsCalcFitnessSimpleOp.hpp new file mode 100644 index 0000000..b76f331 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/StatsCalcFitnessSimpleOp.hpp @@ -0,0 +1,91 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/StatsCalcFitnessSimpleOp.hpp + * \brief Definition of the class StatsCalcFitnessSimpleOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_StatsCalcFitnessSimpleOp_hpp +#define Beagle_StatsCalcFitnessSimpleOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/Stats.hpp" +#include "beagle/Vivarium.hpp" +#include "beagle/Context.hpp" +#include "beagle/StatsCalculateOp.hpp" + +namespace Beagle { + + +/*! + * \class StatsCalcFitnessSimpleOp beagle/StatsCalcFitnessSimpleOp.hpp + * "beagle/StatsCalcFitnessSimpleOp.hpp" + * \brief Calculate statistics of a deme operator class for individual fitness is of the + * type FitnessSimple. + * \ingroup ECF + * \ingroup Op + * \ingroup FitStats + */ +class StatsCalcFitnessSimpleOp : public StatsCalculateOp { + +public: + + //! StatsCalcFitnessSimpleOp allocator type + typedef AllocatorT + Alloc; + //! StatsCalcFitnessSimpleOp handle type. + typedef PointerT + Handle; + //! StatsCalcFitnessSimpleOp bag type. + typedef ContainerT + Bag; + + explicit StatsCalcFitnessSimpleOp(string inName="StatsCalcFitnessSimpleOp"); + virtual ~StatsCalcFitnessSimpleOp() { } + + virtual void calculateStatsDeme(Stats& outStats, Deme& ioDeme, Context& ioContext) const; + +}; + +} + +#endif // Beagle_StatsCalcFitnessSimpleOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/StatsCalculateOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/StatsCalculateOp.hpp new file mode 100644 index 0000000..32b6d69 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/StatsCalculateOp.hpp @@ -0,0 +1,108 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/StatsCalculateOp.hpp + * \brief Definition of the class StatsCalculateOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_StatsCalculateOp_hpp +#define Beagle_StatsCalculateOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/Stats.hpp" +#include "beagle/Vivarium.hpp" +#include "beagle/Context.hpp" +#include "beagle/UInt.hpp" + +namespace Beagle { + + +/*! + * \class StatsCalculateOp beagle/StatsCalculateOp.hpp "beagle/StatsCalculateOp.hpp" + * \brief Calculate statistics of a deme, for a generation, operator class. + * \ingroup ECF + * \ingroup Op + * \ingroup FitStats + */ +class StatsCalculateOp : public Operator { + +public: + + //! StatsCalculateOp allocator type + typedef AllocatorT + Alloc; + //! StatsCalculateOp handle type. + typedef PointerT + Handle; + //! StatsCalculateOp bag type. + typedef ContainerT + Bag; + + explicit StatsCalculateOp(string inName="StatsCalculateOp"); + virtual ~StatsCalculateOp() { } + + /*! + * \brief Calculate statistics of a given deme. + * \param outStats Computed stats of the deme. + * \param ioDeme Deme to evaluate the statistics. + * \param ioContext Context of the evolution. + * \return Handle to the generational statistics of the given deme. + */ + virtual void calculateStatsDeme(Stats& outStats, Deme& ioDeme, Context& ioContext) const =0; + + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + virtual void calculateStatsVivarium(Stats& outStats, + Vivarium& ioVivarium, + Context& ioContext) const; + +protected: + + UIntArray::Handle mPopSize; //!< Population size for the evolution. + unsigned int mNbDemesCalculated; //!< Number of demes for which stats is computed. + unsigned int mGenerationCalculated; //!< Actual generation for which stats is computed. + +}; + +} + +#endif // Beagle_StatsCalculateOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/SteadyStateOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/SteadyStateOp.hpp new file mode 100644 index 0000000..b4ef05f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/SteadyStateOp.hpp @@ -0,0 +1,90 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/SteadyStateOp.hpp + * \brief Definition of the class SteadyStateOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_SteadyStateOp_hpp +#define Beagle_SteadyStateOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/MutationOp.hpp" +#include "beagle/SelectionOp.hpp" +#include "beagle/EvaluationOp.hpp" +#include "beagle/ReplacementStrategyOp.hpp" + + +namespace Beagle { + +/*! + * \class SteadyStateOp beagle/SteadyStateOp.hpp "beagle/SteadyStateOp.hpp" + * \brief Steady state replacement strategy operator. + * \ingroup ECF + * \ingroup Op + */ +class SteadyStateOp : public ReplacementStrategyOp { + +public: + + //! SteadyStateOp allocator type + typedef AllocatorT + Alloc; + //! SteadyStateOp handle type. + typedef PointerT + Handle; + //! SteadyStateOp bag type. + typedef ContainerT + Bag; + + explicit SteadyStateOp(string inName="SteadyStateOp"); + virtual ~SteadyStateOp() { } + + virtual void initialize(System& ioSystem); + virtual void operate(Deme& ioDeme, Context& ioContext); + +protected: + + UInt::Handle mElitismKeepSize; //!< Number of individuals keep with elitism + +}; + +} + +#endif // Beagle_SteadyStateOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/String.hpp b/lib/beagle-3.0.3/beagle/include/beagle/String.hpp new file mode 100644 index 0000000..f49598c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/String.hpp @@ -0,0 +1,156 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/String.hpp + * \brief Definition of the type String and related operators. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_String_hpp +#define Beagle_String_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/WrapperT.hpp" + + +namespace Beagle { + +/*! + * \brief Beagle wrapper of the STL string type. + * \ingroup Adapt + */ +typedef WrapperT< Beagle::string > + String; + +} + + +/*! + * \brief Test whether an string is less than another. + * \param inLeftString Left string compared. + * \param inRightString Right string compared. + * \return True if left string is less than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::String. + */ +inline bool operator<(const Beagle::String& inLeftString, const Beagle::String& inRightString) +{ + Beagle_StackTraceBeginM(); + return inLeftString.isLess(inRightString); + Beagle_StackTraceEndM("bool operator<(const String& inLeftString, const String& inRightString)"); +} + + +/*! + * \brief Test whether an string is less than, or equal to another. + * \param inLeftString Left string compared. + * \param inRightString Right string compared. + * \return True if left string is less than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::String. + */ +inline bool operator<=(const Beagle::String& inLeftString, const Beagle::String& inRightString) +{ + Beagle_StackTraceBeginM(); + return ( inLeftString.isLess(inRightString) || inLeftString.isEqual(inRightString) ); + Beagle_StackTraceEndM("bool operator<=(const String& inLeftString, const String& inRightString)"); +} + + +/*! + * \brief Test whether an string is more than another. + * \param inLeftString Left string compared. + * \param inRightString Right string compared. + * \return True if left string is more than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::String. + */ +inline bool operator>(const Beagle::String& inLeftString, const Beagle::String& inRightString) +{ + Beagle_StackTraceBeginM(); + return inRightString.isLess(inLeftString); + Beagle_StackTraceEndM("bool operator>(const String& inLeftString, const String& inRightString)"); +} + + +/*! + * \brief Test whether an string is more than, or equal to another. + * \param inLeftString Left string compared. + * \param inRightString Right string compared. + * \return True if left string is more than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::String. + */ +inline bool operator>=(const Beagle::String& inLeftString, const Beagle::String& inRightString) +{ + Beagle_StackTraceBeginM(); + return ( inRightString.isLess(inLeftString) || inLeftString.isEqual(inRightString) ); + Beagle_StackTraceEndM("bool operator>=(const String& inLeftString, const String& inRightString)"); +} + + +/*! + * \brief Test whether an string is equal to another. + * \param inLeftString Left string compared. + * \param inRightString Right string compared. + * \return True if left string is equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::String. + */ +inline bool operator==(const Beagle::String& inLeftString, const Beagle::String& inRightString) +{ + Beagle_StackTraceBeginM(); + return inLeftString.isEqual(inRightString); + Beagle_StackTraceEndM("bool operator==(const String& inLeftString, const String& inRightString)"); +} + + +/*! + * \brief Test whether an string is not equal to another. + * \param inLeftString Left string compared. + * \param inRightString Right string compared. + * \return True if left string is not equal to the right one, false if it is. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::String. + */ +inline bool operator!=(const Beagle::String& inLeftString, const Beagle::String& inRightString) +{ + Beagle_StackTraceBeginM(); + return ( inLeftString.isEqual(inRightString) == false); + Beagle_StackTraceEndM("bool operator!=(const String& inLeftString, const String& inRightString)"); +} + +#endif // Beagle_String_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/System.hpp b/lib/beagle-3.0.3/beagle/include/beagle/System.hpp new file mode 100644 index 0000000..03261e7 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/System.hpp @@ -0,0 +1,320 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/System.hpp + * \brief Definition of the class System. + * \author Christian Gagne + * \author Marc Parizeau + * \author Matthew Walker + * $Revision: 1.16.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +/*! + * \defgroup Sys Evolutionary System + * \ingroup ECF + * \brief Evolutionary system, part of the generic EC framework. + * + * The internal system is the structure that holds and gives access to the state + * of the genetic engine. These structures are fundamental, because they are used as entry points to + * the data of the evolution. + * + * During the evolutionary processes, a context gives the current state of the evolution. A basic, + * general context is implemented in class Beagle::Context. It provides some essential contextual + * informations such as the current deme, individual, genotype and generation. For a specific EC + * algorithm, a specific context could be used. For example, a GP specific context is defined, + * Beagle::GP::Context, which contains the call stack with some other GP specific informations. An + * Open BEAGLE context is similar to the execution context of a computer that contains the different + * registers, counters and pointers to the actual state of the machine. + * + * Given that the parameters of Open BEAGLE are distributed in the appropriate objects, an agent is + * implemented to take into account these parameter: the register. All the variables that are + * considered as parameters should be registered by giving the reference (object handle) of the + * parameter with the associated namespace and tag. The class Beagle::Register can be seen as a + * centralized database from which any entity could dynamically add, delete, access or modify + * parameters. The register is also responsible of the interpretation of the configuration file and + * set the parameters in consequence. The register also contains reference to every evolution + * operators available. + * + * All the output messages given to the user pass by the logger. It consists of an interface with + * the user, that receives all messages, associated with a type, the class name associated to the + * message and an output level, and output them in a given device if the used log level allow it. + * This is very interesting if a user want, for example, to use Open BEAGLE into a broader system + * using a graphical user interface. In such case, the user only need to define his own specialized + * logger that will intercept the messages and log them into the desired device, for example and + * specific graphical windows. There is actually one specialized logger, Beagle::LoggerXML, that + * log messages in a XML format into a file or the console (the STDOUT). The other very interesting + * aspect of the logger is the possibility to choose the log level desired. The messages outputed + * are classified into eight categories: + * - Nothing (0): Log nothing + * - Basic (1): Log essential informations + * - Stats (2): Log evolution statistics + * - Info (3): Log general informations (default) + * - Detailed (4): Log details on operations + * - Trace (5): Log trace of the algorithms + * - Verbose (6): Log details on everything (disabled in optimization mode) + * - Debug (7): Debug (enabled only in full debug mode) + * + * The registered parameter \c lg.log.level allows the user to select the desired log + * level. For example, if the user choose the log level \e info (3), all messages classified in + * categories \e basic (1), \e stats (2), and \e info (3) will be outputed. Log levels + * \e basic (1) to \e detailed (4) are appropriate for monitoring evolutions, log levels + * \e detailed (4) and \e trace (5) are good to get familiar with the internal functioning of + * Open BEAGLE, while log levels \e trace (5) to \e debug (7) may be useful to debug an user + * application, or the framework. + * + * Class Beagle::Randomizer} provides a common pseudo-random numbers generator. The randomizer + * comprises two parameters that are registered (in the register): the internal state and the seed. + * The internal state is an integer that give the actual state of the randomizer. This value change + * at every generation of a random number. This value is useful mainly to restart an evolution from a + * milestone. The seed is the value of the first state of the randomizer. By default, the seed is + * initiated to the timer value. The seed can be set by the user to reproduce an evolution. + * + * The entry point to these resources is given by an extensible central repository: the system. This + * is simply an entry point that possessed some vital resources of the EC engine: a context + * allocator, a reference to the register, a reference to the logger, and a reference to the + * randomizer. This general system is implemented in the class Beagle::System. The system is + * accessible by any context of a given evolution. + * + */ + + +#ifndef Beagle_System_hpp +#define Beagle_System_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Genotype.hpp" +#include "beagle/Individual.hpp" +#include "beagle/HallOfFame.hpp" +#include "beagle/Deme.hpp" +#include "beagle/Randomizer.hpp" +#include "beagle/Register.hpp" +#include "beagle/Logger.hpp" +#include "beagle/Component.hpp" +#include "beagle/ComponentMap.hpp" + +namespace Beagle { + +// Forward declaration. +class Context; + +/*! + * \class System beagle/System.hpp "beagle/System.hpp" + * \brief Evolutionary system. + * \ingroup ECF + * \ingroup Sys + */ +class System : public ComponentMap { + +public: + + //! System allocator type. + typedef AllocatorT + Alloc; + //! System handle type. + typedef PointerT + Handle; + //! System bag type. + typedef ContainerT + Bag; + + System(); + explicit System(Allocator::Handle inContextAllocator); + explicit System(Allocator::Handle inContextAllocator, + Randomizer::Handle inRandomizer, + Register::Handle inRegister, + Logger::Handle inLogger); + virtual ~System() { } + + virtual void addComponent(Component::Handle inComponent); + virtual const Component::Handle getComponent(const string inName) const; + virtual Component::Handle getComponent(const string inName); + virtual const Component::Handle haveComponent(const string inName) const; + virtual Component::Handle haveComponent(const string inName); + virtual void initialize(int& ioArgc, char** ioArgv); + virtual void initialize(string inConfigFileName); + virtual void postInit(); + virtual void read(PACC::XML::ConstIterator inIter); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Get a constant reference to the context allocator of the system. + * \return Constant reference to the context allocator. + */ + inline const Allocator& getContextAllocator() const + { + Beagle_StackTraceBeginM(); + return *mContextAllocator; + Beagle_StackTraceEndM("const Allocator& System::getContextAllocator() const"); + } + + /*! + * \brief Get reference to the context allocator of the system. + * \return Reference to the context allocator. + */ + inline Allocator& getContextAllocator() + { + Beagle_StackTraceBeginM(); + return *mContextAllocator; + Beagle_StackTraceEndM("Allocator& System::getContextAllocator()"); + } + + /*! + * \brief Get a handle to the context allocator of the system. + * \return Handle to the context allocator. + */ + inline Allocator::Handle getContextAllocatorHandle() + { + Beagle_StackTraceBeginM(); + return mContextAllocator; + Beagle_StackTraceEndM("Allocator::Handle System::getContextAllocatorHandle()"); + } + + + /*! + * \brief Return a constant reference to the logger. + * \return Logger constant reference. + */ + inline const Logger& getLogger() const + { + Beagle_StackTraceBeginM(); + return *mLogger; + Beagle_StackTraceEndM("const Logger& System::getLogger() const"); + } + + /*! + * \brief Return a reference to the logger. + * \return Logger reference. + */ + inline Logger& getLogger() + { + Beagle_StackTraceBeginM(); + return *mLogger; + Beagle_StackTraceEndM("Logger& System::getLogger()"); + } + + /*! + * \brief Return a handle to the logger. + * \return Logger handle. + */ + inline Logger::Handle getLoggerHandle() + { + Beagle_StackTraceBeginM(); + return mLogger; + Beagle_StackTraceEndM("Logger::Handle System::getLoggerHandle()"); + } + + /*! + * \brief Return a constant reference to the randomizer. + * \return Evolution randomizer constant reference. + */ + inline const Randomizer& getRandomizer() const + { + Beagle_StackTraceBeginM(); + return *mRandomizer; + Beagle_StackTraceEndM("const Randomizer& System::getRandomizer() const"); + } + + /*! + * \brief Return a reference to the randomizer. + * \return Evolution randomizer reference. + */ + inline Randomizer& getRandomizer() + { + Beagle_StackTraceBeginM(); + return *mRandomizer; + Beagle_StackTraceEndM("Randomizer& System::getRandomizer()"); + } + + /*! + * \brief Return a handle to the randomizer. + * \return Evolution randomizer handle. + */ + inline Randomizer::Handle getRandomizerHandle() + { + Beagle_StackTraceBeginM(); + return mRandomizer; + Beagle_StackTraceEndM("Randomizer::Handle System::getRandomizerHandle()"); + } + + /*! + * \brief Return a constant reference to the register. + * \return Evolution register constant reference. + */ + inline const Register& getRegister() const + { + Beagle_StackTraceBeginM(); + return *mRegister; + Beagle_StackTraceEndM("const Register& System::getRegister() const"); + } + + /*! + * \brief Return a reference to the register. + * \return Evolution register reference. + */ + inline Register& getRegister() + { + Beagle_StackTraceBeginM(); + return *mRegister; + Beagle_StackTraceEndM("Register& System::getRegister()"); + } + + /*! + * \brief Return a handle to the register. + * \return Evolution register handle. + */ + inline Register::Handle getRegisterHandle() + { + Beagle_StackTraceBeginM(); + return mRegister; + Beagle_StackTraceEndM("Register::Handle System::getRegisterHandle()"); + } + +protected: + + Allocator::Handle mContextAllocator; //!< Allocator of context. + Randomizer::Handle mRandomizer; //!< Randomizer of the system. + Register::Handle mRegister; //!< Register of the system. + Logger::Handle mLogger; //!< Logger of the system. + +}; + +} + +#endif // Beagle_System_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/TargetedException.hpp b/lib/beagle-3.0.3/beagle/include/beagle/TargetedException.hpp new file mode 100644 index 0000000..f9e4ca4 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/TargetedException.hpp @@ -0,0 +1,139 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/TargetedException.hpp + * \brief Definition of class TargetedException. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_TargetedException_hpp +#define Beagle_TargetedException_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Exception.hpp" + + +namespace Beagle { + +// Forward declaration. +template class AbstractAllocT; +template class PointerT; +template class ContainerT; + +/*! + * \class TargetedException beagle/TargetedException.hpp "beagle/TargetedException.hpp" + * \brief Targeted Beagle exception that indicate a precise line number in a source file. + * \ingroup OOF + * \ingroup Except + */ +class TargetedException : public Exception { + +public: + + //! TargetedException allocator type. + typedef AbstractAllocT + Alloc; + //! TargetedException handle type. + typedef PointerT + Handle; + //! TargetedException bag type. + typedef ContainerT + Bag; + + explicit TargetedException(string inMessage="", + string inFileName="", + unsigned int inLineNumber=0); + virtual ~TargetedException() throw() { } + + /*! + * \brief Getting the actual name of a Beagle exception. + * \return Exception name. + */ + virtual const char* getExceptionName() const throw() =0; + + virtual void explain(std::ostream& ioES=std::cerr) throw(); + + /*! + * \brief Getting the file name where the exception is detected (throwed). + * \return File name where the exception is detected (throwed). + */ + inline const string& getFileName() const throw() + { + return mFileName; + } + + /*! + * \brief Getting the line number in the file where the exception is detected (throwed). + * \return Line number in the file where the exception is detected (throwed). + */ + inline unsigned int getLineNumber() const throw() + { + return mLineNumber; + } + + /*! + * \brief Set the file name where the exception is detected (throwed). + * \param inFileName File name where the exception is detected. + */ + inline void setFileName(const string& inFileName) + { + Beagle_StackTraceBeginM(); + mFileName = inFileName; + Beagle_StackTraceEndM("void TargetedException::setFileName(const string& inFileName)"); + } + + /*! + * \brief Set the line number in the file where the exception is detected (throwed). + * \param inLineNumber Line number in the file where the exception is detected. + */ + inline void setLineNumber(unsigned int inLineNumber) + { + Beagle_StackTraceBeginM(); + mLineNumber = inLineNumber; + Beagle_StackTraceEndM("void TargetedException::setLineNumber(unsigned int inLineNumber)"); + } + +private: + + string mFileName; //!< Name of the file where the error is targeted. + unsigned int mLineNumber; //!< Line number in the file where the error is targeted. + +}; + +} + + +#endif // Beagle_ObjectException_hpp + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/TermMaxEvalsOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/TermMaxEvalsOp.hpp new file mode 100644 index 0000000..9ab1022 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/TermMaxEvalsOp.hpp @@ -0,0 +1,89 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/TermMaxEvalsOp.hpp + * \brief Definition of the class TermMaxEvalsOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_TermMaxEvalsOp_hpp +#define Beagle_TermMaxEvalsOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/TerminationOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Context.hpp" +#include "beagle/System.hpp" + + +namespace Beagle { + +/*! + * \class TermMaxEvalsOp beagle/TermMaxEvalsOp.hpp "beagle/TermMaxEvalsOp.hpp" + * \brief Maximum number of fitness evaluations termination criterion operator. + * \ingroup ECF + * \ingroup Op + */ +class TermMaxEvalsOp : public TerminationOp { + +public: + + //! TermMaxEvalsOp allocator type + typedef AllocatorT + Alloc; + //! TermMaxEvalsOp handle type. + typedef PointerT + Handle; + //! TermMaxEvalsOp bag type. + typedef ContainerT + Bag; + + explicit TermMaxEvalsOp(string inName="TermMaxEvalsOp"); + virtual ~TermMaxEvalsOp() { } + + virtual void initialize(System& ioSystem); + virtual bool terminate(const Deme& inDeme, Context& ioContext); + +protected: + + UInt::Handle mMaxEvaluations; //!< Maximum number of fitness evaluations of the evolution. + +}; + +} + +#endif // Beagle_TerminationCheckOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/TermMaxFitnessOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/TermMaxFitnessOp.hpp new file mode 100644 index 0000000..274a3b6 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/TermMaxFitnessOp.hpp @@ -0,0 +1,92 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/TermMaxFitnessOp.hpp + * \brief Definition of the class TermMaxFitnessOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_TermMaxFitnessOp_hpp +#define Beagle_TermMaxFitnessOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/TerminationOp.hpp" +#include "beagle/Float.hpp" +#include "beagle/Context.hpp" +#include "beagle/System.hpp" + + +namespace Beagle { + +/*! + * \class TermMaxFitnessOp beagle/TermMaxFitnessOp.hpp "beagle/TermMaxFitnessOp.hpp" + * \brief Maximum fitness value termination criterion operator class. + * \ingroup ECF + * \ingroup Op + */ +class TermMaxFitnessOp : public TerminationOp { + +public: + + //! TermMaxFitnessOp allocator type + typedef AllocatorT + Alloc; + //! TermMaxFitnessOp handle type. + typedef PointerT + Handle; + //! TermMaxFitnessOp bag type. + typedef ContainerT + Bag; + + explicit TermMaxFitnessOp(float inMaxFitness=1.0, string inName="TermMaxFitnessOp"); + virtual ~TermMaxFitnessOp() { } + + virtual void initialize(System& ioSystem); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual bool terminate(const Deme& inDeme, Context& ioContext); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + Float::Handle mMaxFitness; //!< Maximum fitness of an individual for an evolution. + float mMaxFitnessDefault; //!< Default maximum fitness value. + +}; + +} + +#endif // Beagle_TerminationCheckOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/TermMaxGenOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/TermMaxGenOp.hpp new file mode 100644 index 0000000..1ddec41 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/TermMaxGenOp.hpp @@ -0,0 +1,88 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/TermMaxGenOp.hpp + * \brief Definition of the class TermMaxGenOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_TermMaxGenOp_hpp +#define Beagle_TermMaxGenOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/TerminationOp.hpp" +#include "beagle/UInt.hpp" +#include "beagle/Context.hpp" +#include "beagle/System.hpp" + + +namespace Beagle { + +/*! + * \class TermMaxGenOp beagle/TermMaxGenOp.hpp "beagle/TermMaxGenOp.hpp" + * \brief Maximum generation termination criterion operator. + * \ingroup ECF + * \ingroup Op + */ +class TermMaxGenOp : public TerminationOp { + +public: + + //! TermMaxGenOp allocator type + typedef AllocatorT + Alloc; + //! TermMaxGenOp handle type. + typedef PointerT + Handle; + //! TermMaxGenOp bag type. + typedef ContainerT + Bag; + + explicit TermMaxGenOp(string inName="TermMaxGenOp"); + virtual ~TermMaxGenOp() { } + + virtual void initialize(System& ioSystem); + virtual bool terminate(const Deme& inDeme, Context& ioContext); + +protected: + UInt::Handle mMaxGeneration; //!< Maximum number of generation of the evolution. + +}; + +} + +#endif // Beagle_TerminationCheckOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/TermMinFitnessOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/TermMinFitnessOp.hpp new file mode 100644 index 0000000..4e3aa08 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/TermMinFitnessOp.hpp @@ -0,0 +1,92 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/TermMinFitnessOp.hpp + * \brief Definition of the class TermMinFitnessOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_TermMinFitnessOp_hpp +#define Beagle_TermMinFitnessOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/TerminationOp.hpp" +#include "beagle/Float.hpp" +#include "beagle/Context.hpp" +#include "beagle/System.hpp" + + +namespace Beagle { + +/*! + * \class TermMinFitnessOp beagle/TermMinFitnessOp.hpp "beagle/TermMinFitnessOp.hpp" + * \brief Minimum fitness value termination criterion operator class. + * \ingroup ECF + * \ingroup Op + */ +class TermMinFitnessOp : public TerminationOp { + +public: + + //! TermMinFitnessOp allocator type + typedef AllocatorT + Alloc; + //! TermMinFitnessOp handle type. + typedef PointerT + Handle; + //! TermMinFitnessOp bag type. + typedef ContainerT + Bag; + + explicit TermMinFitnessOp(float inMinFitness=0.0, string inName="TermMinFitnessOp"); + virtual ~TermMinFitnessOp() { } + + virtual void initialize(System& ioSystem); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual bool terminate(const Deme& inDeme, Context& ioContext); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + Float::Handle mMinFitness; //!< Minimum fitness of an individual for an evolution. + float mMinFitnessDefault; //!< Default minimum fitness value. + +}; + +} + +#endif // Beagle_TerminationCheckOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/TerminationOp.hpp b/lib/beagle-3.0.3/beagle/include/beagle/TerminationOp.hpp new file mode 100644 index 0000000..1f94a99 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/TerminationOp.hpp @@ -0,0 +1,92 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/TerminationOp.hpp + * \brief Definition of the class TerminationOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_TerminationOp_hpp +#define Beagle_TerminationOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/Operator.hpp" + + +namespace Beagle { + +/*! + * \class TerminationOp beagle/TerminationOp.hpp "beagle/TerminationOp.hpp" + * \brief Check for termination criterion reached operator class. + * \ingroup ECF + * \ingroup Op + * \par Note: + * The operator contained an handle to an other termination operator handle. + * If the handle is non-null, the termination test for the other termination operator is done + * and the evolution is stopped if necessary. + */ +class TerminationOp : public Operator { + +public: + + //! TerminationOp allocator type + typedef AllocatorT + Alloc; + //! TerminationOp handle type. + typedef PointerT + Handle; + //! TerminationOp bag type. + typedef ContainerT + Bag; + + explicit TerminationOp(string inName="TerminationOp"); + virtual ~TerminationOp() { } + + /*! + * \brief Check if the termination criterion is reached. + * \param inDeme Actual deme of the evolution. + * \param ioContext Actual evolution context. + * \return True if the ending criterion is reached, false if not. + */ + virtual bool terminate(const Deme& inDeme, Context& ioContext) = 0; + + virtual void operate(Deme& ioDeme, Context& ioContext); + +}; + +} + +#endif // Beagle_TerminationOp_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/UChar.hpp b/lib/beagle-3.0.3/beagle/include/beagle/UChar.hpp new file mode 100644 index 0000000..f61636e --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/UChar.hpp @@ -0,0 +1,556 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/UChar.hpp + * \brief Definition of the type UChar and related operators. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_UChar_hpp +#define Beagle_UChar_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/WrapperT.hpp" + + +namespace Beagle { + +/*! + * \brief Beagle wrapper of the atomic unsigned char type. + * \ingroup Adapt + */ +typedef WrapperT< unsigned char > + UChar; + +} + + +/*! + * \brief Test whether an unsigned char is less than another. + * \param inLeftUChar Left unsigned char compared. + * \param inRightUChar Right unsigned char compared. + * \return True if left unsigned char is less than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::UChar. + */ +inline bool operator<(const Beagle::UChar& inLeftUChar, const Beagle::UChar& inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inLeftUChar.isLess(inRightUChar); + Beagle_StackTraceEndM("bool operator<(const UChar& inLeftUChar, const UChar& inRightUChar)"); +} + + +/*! + * \brief Test whether an unsigned char is less than, or equal to another. + * \param inLeftUChar Left unsigned char compared. + * \param inRightUChar Right unsigned char compared. + * \return True if left unsigned char is less than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::UChar. + */ +inline bool operator<=(const Beagle::UChar& inLeftUChar, const Beagle::UChar& inRightUChar) +{ + Beagle_StackTraceBeginM(); + return ( inLeftUChar.isLess(inRightUChar) || inLeftUChar.isEqual(inRightUChar) ); + Beagle_StackTraceEndM("bool operator<=(const UChar& inLeftUChar, const UChar& inRightUChar)"); +} + + +/*! + * \brief Test whether an unsigned char is more than another. + * \param inLeftUChar Left unsigned char compared. + * \param inRightUChar Right unsigned char compared. + * \return True if left unsigned char is more than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::UChar. + */ +inline bool operator>(const Beagle::UChar& inLeftUChar, const Beagle::UChar& inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inRightUChar.isLess(inLeftUChar); + Beagle_StackTraceEndM("bool operator>(const UChar& inLeftUChar, const UChar& inRightUChar)"); +} + + +/*! + * \brief Test whether an unsigned char is more than, or equal to another. + * \param inLeftUChar Left unsigned char compared. + * \param inRightUChar Right unsigned char compared. + * \return True if left unsigned char is more than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::UChar. + */ +inline bool operator>=(const Beagle::UChar& inLeftUChar, const Beagle::UChar& inRightUChar) +{ + Beagle_StackTraceBeginM(); + return ( inRightUChar.isLess(inLeftUChar) || inLeftUChar.isEqual(inRightUChar) ); + Beagle_StackTraceEndM("bool operator>=(const UChar& inLeftUChar, const UChar& inRightUChar)"); +} + + +/*! + * \brief Test whether an unsigned char is equal to another. + * \param inLeftUChar Left unsigned char compared. + * \param inRightUChar Right unsigned char compared. + * \return True if left unsigned char is equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::UChar. + */ +inline bool operator==(const Beagle::UChar& inLeftUChar, const Beagle::UChar& inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inLeftUChar.isEqual(inRightUChar); + Beagle_StackTraceEndM("bool operator==(const UChar& inLeftUChar, const UChar& inRightUChar)"); +} + + +/*! + * \brief Test whether an unsigned char is not equal to another. + * \param inLeftUChar Left unsigned char compared. + * \param inRightUChar Right unsigned char compared. + * \return True if left unsigned char is not equal to the right one, false if it is. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::UChar. + */ +inline bool operator!=(const Beagle::UChar& inLeftUChar, const Beagle::UChar& inRightUChar) +{ + Beagle_StackTraceBeginM(); + return ( inLeftUChar.isEqual(inRightUChar) == false); + Beagle_StackTraceEndM("bool operator!=(const UChar& inLeftUChar, const UChar& inRightUChar)"); +} + + +/*! + * \brief Compare equality of a UChar with a unsigned char. + * \param inLeftUChar Left value to compare. + * \param inRightUChar Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator==(const Beagle::UChar& inLeftUChar, unsigned char inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inLeftUChar.getWrappedValue() == inRightUChar; + Beagle_StackTraceEndM("bool operator==(const UChar& inLeftUChar, unsigned char inRightUChar)"); +} + + +/*! + * \brief Compare inequality of a UChar with a unsigned char. + * \param inLeftUChar Left value to compare. + * \param inRightUChar Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator!=(const Beagle::UChar& inLeftUChar, unsigned char inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inLeftUChar.getWrappedValue() != inRightUChar; + Beagle_StackTraceEndM("bool operator!=(const UChar& inLeftUChar, unsigned char inRightUChar)"); +} + + +/*! + * \brief Test if a UChar is < than a unsigned char. + * \param inLeftUChar Left value to compare. + * \param inRightUChar Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<(const Beagle::UChar& inLeftUChar, unsigned char inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inLeftUChar.getWrappedValue() < inRightUChar; + Beagle_StackTraceEndM("bool operator<(const UChar& inLeftUChar, unsigned char inRightUChar)"); +} + + +/*! + * \brief Test if a UChar is <= than a unsigned char. + * \param inLeftUChar Left value to compare. + * \param inRightUChar Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<=(const Beagle::UChar& inLeftUChar, unsigned char inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inLeftUChar.getWrappedValue() <= inRightUChar; + Beagle_StackTraceEndM("bool operator<=(const UChar& inLeftUChar, unsigned char inRightUChar)"); +} + + +/*! + * \brief Test if a UChar is > than a unsigned char. + * \param inLeftUChar Left value to compare. + * \param inRightUChar Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>(const Beagle::UChar& inLeftUChar, unsigned char inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inLeftUChar.getWrappedValue() > inRightUChar; + Beagle_StackTraceEndM("bool operator>(const UChar& inLeftUChar, unsigned char inRightUChar)"); +} + + +/*! + * \brief Test if a UChar is >= than a unsigned char. + * \param inLeftUChar Left value to compare. + * \param inRightUChar Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>=(const Beagle::UChar& inLeftUChar, unsigned char inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inLeftUChar.getWrappedValue() >= inRightUChar; + Beagle_StackTraceEndM("bool operator>=(const UChar& inLeftUChar, unsigned char inRightUChar)"); +} + + +/*! + * \brief Increment a UChar (prefix version). + * \param inUChar UChar to increment. + * \return UChar incremented. + */ +inline +Beagle::UChar& operator++(Beagle::UChar& inUChar) +{ + Beagle_StackTraceBeginM(); + inUChar.getWrappedValue()++; + return inUChar; + Beagle_StackTraceEndM("UChar& operator++(UChar& inUChar)"); +} + + +/*! + * \brief Increment a UChar (postfix version). + * \param inUChar UChar to increment. + * \return UChar before being incremented. + */ +inline +Beagle::UChar operator++(Beagle::UChar& inUChar, int) +{ + Beagle_StackTraceBeginM(); + Beagle::UChar lUChar = inUChar; + inUChar.getWrappedValue()++; + return lUChar; + Beagle_StackTraceEndM("UChar operator++(UChar& inUChar, int)"); +} + + +/*! + * \brief Add two UChar. + * \param inLeftUChar Left value to add. + * \param inRightUChar Right value to add. + * \return Result of the addition. + */ +inline +Beagle::UChar operator+(const Beagle::UChar& inLeftUChar, const Beagle::UChar& inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inLeftUChar.getWrappedValue() + inRightUChar.getWrappedValue(); + Beagle_StackTraceEndM("UChar operator+(const UChar& inLeftUChar, const UChar& inRightUChar)"); +} + + +/*! + * \brief Add a UChar with a unsigned char. + * \param inLeftUChar Left value to add. + * \param inRightUChar Right value to add. + * \return Result of the addition. + */ +inline +Beagle::UChar operator+(const Beagle::UChar& inLeftUChar, unsigned char inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inLeftUChar.getWrappedValue() + inRightUChar; + Beagle_StackTraceEndM("UChar operator+(const Beagle::UChar& inLeftUChar, unsigned char inRightUChar)"); +} + + +/*! + * \brief Add a UChar to a UChar. + * \param inLeftUChar Left value to which the right one is added. + * \param inRightUChar Value to add. + * \return Result of the addition. + */ +inline +Beagle::UChar& operator+=(Beagle::UChar& inLeftUChar, const Beagle::UChar& inRightUChar) +{ + Beagle_StackTraceBeginM(); + inLeftUChar.getWrappedValue() += inRightUChar.getWrappedValue(); + return inLeftUChar; + Beagle_StackTraceEndM("UChar& operator+=(UChar& inLeftUChar, const UChar& inRightUChar)"); +} + + +/*! + * \brief Add a unsigned char to a UChar. + * \param inLeftUChar Left value to which the right one is added. + * \param inRightUChar Value to add. + * \return Result of the addition. + */ +inline +Beagle::UChar& operator+=(Beagle::UChar& inLeftUChar, unsigned char inRightUChar) +{ + Beagle_StackTraceBeginM(); + inLeftUChar.getWrappedValue() += inRightUChar; + return inLeftUChar; + Beagle_StackTraceEndM("UChar& operator+=(UChar& inLeftUChar, unsigned char inRightUChar)"); +} + + +/*! + * \brief Decrement a UChar (prefix version). + * \param inUChar UChar to decrement. + * \return UChar decremented. + */ +inline +Beagle::UChar& operator--(Beagle::UChar& inUChar) +{ + Beagle_StackTraceBeginM(); + inUChar.getWrappedValue()--; + return inUChar; + Beagle_StackTraceEndM("UChar& operator--(UChar& inUChar)"); +} + + +/*! + * \brief Decrement a UChar (postfix version). + * \param inUChar UChar to decrement. + * \return UChar before being decremented. + */ +inline +Beagle::UChar operator--(Beagle::UChar& inUChar, int) +{ + Beagle_StackTraceBeginM(); + Beagle::UChar lUChar = inUChar; + inUChar.getWrappedValue()--; + return lUChar; + Beagle_StackTraceEndM("UChar operator--(UChar& inUChar, int)"); +} + + + +/*! + * \brief Subtract two UChar. + * \param inLeftUChar Left value to subtract. + * \param inRightUChar Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::UChar operator-(const Beagle::UChar& inLeftUChar, const Beagle::UChar& inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inLeftUChar.getWrappedValue() - inRightUChar.getWrappedValue(); + Beagle_StackTraceEndM("UChar operator-(const UChar& inLeftUChar, const UChar& inRightUChar)"); +} + + +/*! + * \brief Subtract a unsigned char from a UChar. + * \param inLeftUChar Left value to subtract. + * \param inRightUChar Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::UChar operator-(const Beagle::UChar& inLeftUChar, unsigned char inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inLeftUChar.getWrappedValue() - inRightUChar; + Beagle_StackTraceEndM("UChar operator-(const UChar& inLeftUChar, unsigned char inRightUChar)"); +} + + +/*! + * \brief Subtract a UChar from a UChar. + * \param inLeftUChar Left value from which the right unsigned char is subtracted. + * \param inRightUChar Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::UChar& operator-=(Beagle::UChar& inLeftUChar, const Beagle::UChar& inRightUChar) +{ + Beagle_StackTraceBeginM(); + inLeftUChar.getWrappedValue() -= inRightUChar.getWrappedValue(); + return inLeftUChar; + Beagle_StackTraceEndM("UChar& operator-=(UChar& inLeftUChar, const UChar& inRightUChar)"); +} + + +/*! + * \brief Subtract a unsigned char from a UChar. + * \param inLeftUChar Left value from which the right unsigned char is subtracted. + * \param inRightUChar Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::UChar& operator-=(Beagle::UChar& inLeftUChar, unsigned char inRightUChar) +{ + Beagle_StackTraceBeginM(); + inLeftUChar.getWrappedValue() -= inRightUChar; + return inLeftUChar; + Beagle_StackTraceEndM("UChar& operator-=(UChar& inLeftUChar, unsigned char inRightUChar)"); +} + + +/*! + * \brief Multiply two UChar. + * \param inLeftUChar Left value to multiply. + * \param inRightUChar Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::UChar operator*(const Beagle::UChar& inLeftUChar, const Beagle::UChar& inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inLeftUChar.getWrappedValue() * inRightUChar.getWrappedValue(); + Beagle_StackTraceEndM("UChar operator*(const UChar& inLeftUChar, const UChar& inRightUChar)"); +} + + +/*! + * \brief Multiply a UChar with a unsigned char. + * \param inLeftUChar Left value to multiply. + * \param inRightUChar Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::UChar operator*(const Beagle::UChar& inLeftUChar, unsigned char inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inLeftUChar.getWrappedValue() * inRightUChar; + Beagle_StackTraceEndM("UChar operator*(const UChar& inLeftUChar, unsigned char inRightUChar)"); +} + + +/*! + * \brief Multiply a UChar with a UChar. + * \param inLeftUChar Left value to which the right unsigned char is multiplied. + * \param inRightUChar Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::UChar& operator*=(Beagle::UChar& inLeftUChar, const Beagle::UChar& inRightUChar) +{ + Beagle_StackTraceBeginM(); + inLeftUChar.getWrappedValue() *= inRightUChar.getWrappedValue(); + return inLeftUChar; + Beagle_StackTraceEndM("UChar& operator*=(UChar& inLeftUChar, const UChar& inRightUChar)"); +} + + +/*! + * \brief Multiply a UChar with a unsigned char. + * \param inLeftUChar Left value from which the right unsigned char is multiplied. + * \param inRightUChar Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::UChar& operator*=(Beagle::UChar& inLeftUChar, unsigned char inRightUChar) +{ + Beagle_StackTraceBeginM(); + inLeftUChar.getWrappedValue() *= inRightUChar; + return inLeftUChar; + Beagle_StackTraceEndM("UChar& operator*=(UChar& inLeftUChar, unsigned char inRightUChar)"); +} + + +/*! + * \brief Divide two UChar. + * \param inLeftUChar Left value to divide. + * \param inRightUChar Right value to divide. + * \return Result of the division. + */ +inline +Beagle::UChar operator/(const Beagle::UChar& inLeftUChar, const Beagle::UChar& inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inLeftUChar.getWrappedValue() / inRightUChar.getWrappedValue(); + Beagle_StackTraceEndM("UChar operator/(const UChar& inLeftUChar, const UChar& inRightUChar)"); +} + + +/*! + * \brief Divide a UChar with a unsigned char. + * \param inLeftUChar Left value to divide. + * \param inRightUChar Right value to divide. + * \return Result of the division. + */ +inline +Beagle::UChar operator/(const Beagle::UChar& inLeftUChar, unsigned char inRightUChar) +{ + Beagle_StackTraceBeginM(); + return inLeftUChar.getWrappedValue() / inRightUChar; + Beagle_StackTraceEndM("UChar operator/(const UChar& inLeftUChar, unsigned char inRightUChar)"); +} + + +/*! + * \brief Divide a UChar with a UChar. + * \param inLeftUChar Left value to which the right unsigned char is divided. + * \param inRightUChar Right value to divide. + * \return Result of the division. + */ +inline +Beagle::UChar& operator/=(Beagle::UChar& inLeftUChar, const Beagle::UChar& inRightUChar) +{ + Beagle_StackTraceBeginM(); + inLeftUChar.getWrappedValue() /= inRightUChar.getWrappedValue(); + return inLeftUChar; + Beagle_StackTraceEndM("UChar& operator/=(UChar& inLeftUChar, const UChar& inRightUChar)"); +} + + +/*! + * \brief Divide a UChar with a unsigned char. + * \param inLeftUChar Left value from which the right unsigned char is divided. + * \param inRightUChar Right value to divide. + * \return Result of the division. + */ +inline +Beagle::UChar operator/=(Beagle::UChar& inLeftUChar, unsigned char inRightUChar) +{ + Beagle_StackTraceBeginM(); + inLeftUChar.getWrappedValue() /= inRightUChar; + return inLeftUChar; + Beagle_StackTraceEndM("UChar operator/=(UChar& inLeftUChar, unsigned char inRightUChar)"); +} + + +#endif // Beagle_UChar_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/UInt.hpp b/lib/beagle-3.0.3/beagle/include/beagle/UInt.hpp new file mode 100644 index 0000000..227356b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/UInt.hpp @@ -0,0 +1,563 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/UInt.hpp + * \brief Definition of the type UInt and related operators. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_UInt_hpp +#define Beagle_UInt_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/ArrayT.hpp" + + +namespace Beagle { + +/*! + * \brief Beagle wrapper of the atomic unsigned int type. + * \ingroup Adapt + */ +typedef WrapperT< unsigned int > + UInt; + +/*! + * \brief Beagle array of the atomic unsigned int type. + * \ingroup Adapt + */ +typedef ArrayT< unsigned int > + UIntArray; + +} + + +/*! + * \brief Test whether an unsigned int is less than another. + * \param inLeftUInt Left unsigned int compared. + * \param inRightUInt Right unsigned int compared. + * \return True if left unsigned int is less than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::UInt. + */ +inline bool operator<(const Beagle::UInt& inLeftUInt, const Beagle::UInt& inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inLeftUInt.isLess(inRightUInt); + Beagle_StackTraceEndM("bool operator<(const UInt& inLeftUInt, const UInt& inRightUInt)"); +} + + +/*! + * \brief Test whether an unsigned int is less than, or equal to another. + * \param inLeftUInt Left unsigned int compared. + * \param inRightUInt Right unsigned int compared. + * \return True if left unsigned int is less than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::UInt. + */ +inline bool operator<=(const Beagle::UInt& inLeftUInt, const Beagle::UInt& inRightUInt) +{ + Beagle_StackTraceBeginM(); + return ( inLeftUInt.isLess(inRightUInt) || inLeftUInt.isEqual(inRightUInt) ); + Beagle_StackTraceEndM("bool operator<=(const UInt& inLeftUInt, const UInt& inRightUInt)"); +} + + +/*! + * \brief Test whether an unsigned int is more than another. + * \param inLeftUInt Left unsigned int compared. + * \param inRightUInt Right unsigned int compared. + * \return True if left unsigned int is more than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::UInt. + */ +inline bool operator>(const Beagle::UInt& inLeftUInt, const Beagle::UInt& inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inRightUInt.isLess(inLeftUInt); + Beagle_StackTraceEndM("bool operator>(const UInt& inLeftUInt, const UInt& inRightUInt)"); +} + + +/*! + * \brief Test whether an unsigned int is more than, or equal to another. + * \param inLeftUInt Left unsigned int compared. + * \param inRightUInt Right unsigned int compared. + * \return True if left unsigned int is more than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::UInt. + */ +inline bool operator>=(const Beagle::UInt& inLeftUInt, const Beagle::UInt& inRightUInt) +{ + Beagle_StackTraceBeginM(); + return ( inRightUInt.isLess(inLeftUInt) || inLeftUInt.isEqual(inRightUInt) ); + Beagle_StackTraceEndM("bool operator>=(const UInt& inLeftUInt, const UInt& inRightUInt)"); +} + + +/*! + * \brief Test whether an unsigned int is equal to another. + * \param inLeftUInt Left unsigned int compared. + * \param inRightUInt Right unsigned int compared. + * \return True if left unsigned int is equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::UInt. + */ +inline bool operator==(const Beagle::UInt& inLeftUInt, const Beagle::UInt& inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inLeftUInt.isEqual(inRightUInt); + Beagle_StackTraceEndM("bool operator==(const UInt& inLeftUInt, const UInt& inRightUInt)"); +} + + +/*! + * \brief Test whether an unsigned int is not equal to another. + * \param inLeftUInt Left unsigned int compared. + * \param inRightUInt Right unsigned int compared. + * \return True if left unsigned int is not equal to the right one, false if it is. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::UInt. + */ +inline bool operator!=(const Beagle::UInt& inLeftUInt, const Beagle::UInt& inRightUInt) +{ + Beagle_StackTraceBeginM(); + return ( inLeftUInt.isEqual(inRightUInt) == false); + Beagle_StackTraceEndM("bool operator!=(const UInt& inLeftUInt, const UInt& inRightUInt)"); +} + + +/*! + * \brief Compare equality of a UInt with a unsigned int. + * \param inLeftUInt Left value to compare. + * \param inRightUInt Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator==(const Beagle::UInt& inLeftUInt, unsigned int inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inLeftUInt.getWrappedValue() == inRightUInt; + Beagle_StackTraceEndM("bool operator==(const UInt& inLeftUInt, unsigned int inRightUInt)"); +} + + +/*! + * \brief Compare inequality of a UInt with a unsigned int. + * \param inLeftUInt Left value to compare. + * \param inRightUInt Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator!=(const Beagle::UInt& inLeftUInt, unsigned int inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inLeftUInt.getWrappedValue() != inRightUInt; + Beagle_StackTraceEndM("bool operator!=(const UInt& inLeftUInt, unsigned int inRightUInt)"); +} + + +/*! + * \brief Test if a UInt is < than a unsigned int. + * \param inLeftUInt Left value to compare. + * \param inRightUInt Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<(const Beagle::UInt& inLeftUInt, unsigned int inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inLeftUInt.getWrappedValue() < inRightUInt; + Beagle_StackTraceEndM("bool operator<(const UInt& inLeftUInt, unsigned int inRightUInt)"); +} + + +/*! + * \brief Test if a UInt is <= than a unsigned int. + * \param inLeftUInt Left value to compare. + * \param inRightUInt Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<=(const Beagle::UInt& inLeftUInt, unsigned int inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inLeftUInt.getWrappedValue() <= inRightUInt; + Beagle_StackTraceEndM("bool operator<=(const UInt& inLeftUInt, unsigned int inRightUInt)"); +} + + +/*! + * \brief Test if a UInt is > than a unsigned int. + * \param inLeftUInt Left value to compare. + * \param inRightUInt Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>(const Beagle::UInt& inLeftUInt, unsigned int inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inLeftUInt.getWrappedValue() > inRightUInt; + Beagle_StackTraceEndM("bool operator>(const UInt& inLeftUInt, unsigned int inRightUInt)"); +} + + +/*! + * \brief Test if a UInt is >= than a unsigned int. + * \param inLeftUInt Left value to compare. + * \param inRightUInt Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>=(const Beagle::UInt& inLeftUInt, unsigned int inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inLeftUInt.getWrappedValue() >= inRightUInt; + Beagle_StackTraceEndM("bool operator>=(const UInt& inLeftUInt, unsigned int inRightUInt)"); +} + + +/*! + * \brief Increment a UInt (prefix version). + * \param inUInt UInt to increment. + * \return UInt incremented. + */ +inline +Beagle::UInt& operator++(Beagle::UInt& inUInt) +{ + Beagle_StackTraceBeginM(); + inUInt.getWrappedValue()++; + return inUInt; + Beagle_StackTraceEndM("UInt& operator++(UInt& inUInt)"); +} + + +/*! + * \brief Increment a UInt (postfix version). + * \param inUInt UInt to increment. + * \return UInt before being incremented. + */ +inline +Beagle::UInt operator++(Beagle::UInt& inUInt, int) +{ + Beagle_StackTraceBeginM(); + Beagle::UInt lUInt = inUInt; + inUInt.getWrappedValue()++; + return lUInt; + Beagle_StackTraceEndM("UInt operator++(UInt& inUInt, int)"); +} + + +/*! + * \brief Add two UInt. + * \param inLeftUInt Left value to add. + * \param inRightUInt Right value to add. + * \return Result of the addition. + */ +inline +Beagle::UInt operator+(const Beagle::UInt& inLeftUInt, const Beagle::UInt& inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inLeftUInt.getWrappedValue() + inRightUInt.getWrappedValue(); + Beagle_StackTraceEndM("UInt operator+(const UInt& inLeftUInt, const UInt& inRightUInt)"); +} + + +/*! + * \brief Add a UInt with a unsigned int. + * \param inLeftUInt Left value to add. + * \param inRightUInt Right value to add. + * \return Result of the addition. + */ +inline +Beagle::UInt operator+(const Beagle::UInt& inLeftUInt, unsigned int inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inLeftUInt.getWrappedValue() + inRightUInt; + Beagle_StackTraceEndM("UInt operator+(const UInt& inLeftUInt, unsigned int inRightUInt)"); +} + + +/*! + * \brief Add a UInt to a UInt. + * \param inLeftUInt Left value to which the right one is added. + * \param inRightUInt Value to add. + * \return Result of the addition. + */ +inline +Beagle::UInt& operator+=(Beagle::UInt& inLeftUInt, const Beagle::UInt& inRightUInt) +{ + Beagle_StackTraceBeginM(); + inLeftUInt.getWrappedValue() += inRightUInt.getWrappedValue(); + return inLeftUInt; + Beagle_StackTraceEndM("UInt& operator+=(UInt& inLeftUInt, const UInt& inRightUInt)"); +} + + +/*! + * \brief Add a unsigned int to a UInt. + * \param inLeftUInt Left value to which the right one is added. + * \param inRightUInt Value to add. + * \return Result of the addition. + */ +inline +Beagle::UInt& operator+=(Beagle::UInt& inLeftUInt, unsigned int inRightUInt) +{ + Beagle_StackTraceBeginM(); + inLeftUInt.getWrappedValue() += inRightUInt; + return inLeftUInt; + Beagle_StackTraceEndM("UInt& operator+=(UInt& inLeftUInt, unsigned int inRightUInt)"); +} + + +/*! + * \brief Decrement a UInt (prefix version). + * \param inUInt UInt to decrement. + * \return UInt decremented. + */ +inline +Beagle::UInt& operator--(Beagle::UInt& inUInt) +{ + Beagle_StackTraceBeginM(); + inUInt.getWrappedValue()--; + return inUInt; + Beagle_StackTraceEndM("UInt& operator--(UInt& inUInt)"); +} + + +/*! + * \brief Decrement a UInt (postfix version). + * \param inUInt UInt to decrement. + * \return UInt before being decremented. + */ +inline +Beagle::UInt operator--(Beagle::UInt& inUInt, int) +{ + Beagle_StackTraceBeginM(); + Beagle::UInt lUInt = inUInt; + inUInt.getWrappedValue()--; + return lUInt; + Beagle_StackTraceEndM("UInt operator--(UInt& inUInt, int)"); +} + + +/*! + * \brief Subtract two UInt. + * \param inLeftUInt Left value to subtract. + * \param inRightUInt Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::UInt operator-(const Beagle::UInt& inLeftUInt, const Beagle::UInt& inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inLeftUInt.getWrappedValue() - inRightUInt.getWrappedValue(); + Beagle_StackTraceEndM("UInt operator-(const UInt& inLeftUInt, const UInt& inRightUInt)"); +} + + +/*! + * \brief Subtract a unsigned int from a UInt. + * \param inLeftUInt Left value to subtract. + * \param inRightUInt Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::UInt operator-(const Beagle::UInt& inLeftUInt, unsigned int inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inLeftUInt.getWrappedValue() - inRightUInt; + Beagle_StackTraceEndM("UInt operator-(const UInt& inLeftUInt, unsigned int inRightUInt)"); +} + + +/*! + * \brief Subtract a UInt from a UInt. + * \param inLeftUInt Left value from which the right unsigned int is subtracted. + * \param inRightUInt Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::UInt& operator-=(Beagle::UInt& inLeftUInt, const Beagle::UInt& inRightUInt) +{ + Beagle_StackTraceBeginM(); + inLeftUInt.getWrappedValue() -= inRightUInt.getWrappedValue(); + return inLeftUInt; + Beagle_StackTraceEndM("UInt& operator-=(UInt& inLeftUInt, const UInt& inRightUInt)"); +} + + +/*! + * \brief Subtract a unsigned int from a UInt. + * \param inLeftUInt Left value from which the right unsigned int is subtracted. + * \param inRightUInt Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::UInt& operator-=(Beagle::UInt& inLeftUInt, unsigned int inRightUInt) +{ + Beagle_StackTraceBeginM(); + inLeftUInt.getWrappedValue() -= inRightUInt; + return inLeftUInt; + Beagle_StackTraceEndM("UInt& operator-=(UInt& inLeftUInt, unsigned int inRightUInt)"); +} + + +/*! + * \brief Multiply two UInt. + * \param inLeftUInt Left value to multiply. + * \param inRightUInt Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::UInt operator*(const Beagle::UInt& inLeftUInt, const Beagle::UInt& inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inLeftUInt.getWrappedValue() * inRightUInt.getWrappedValue(); + Beagle_StackTraceEndM("UInt operator*(const UInt& inLeftUInt, const UInt& inRightUInt)"); +} + + +/*! + * \brief Multiply a UInt with a unsigned int. + * \param inLeftUInt Left value to multiply. + * \param inRightUInt Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::UInt operator*(const Beagle::UInt& inLeftUInt, unsigned int inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inLeftUInt.getWrappedValue() * inRightUInt; + Beagle_StackTraceEndM("UInt operator*(const UInt& inLeftUInt, unsigned int inRightUInt)"); +} + + +/*! + * \brief Multiply a UInt with a UInt. + * \param inLeftUInt Left value to which the right unsigned int is multiplied. + * \param inRightUInt Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::UInt& operator*=(Beagle::UInt& inLeftUInt, const Beagle::UInt& inRightUInt) +{ + Beagle_StackTraceBeginM(); + inLeftUInt.getWrappedValue() *= inRightUInt.getWrappedValue(); + return inLeftUInt; + Beagle_StackTraceEndM("UInt& operator*=(UInt& inLeftUInt, const UInt& inRightUInt)"); +} + + +/*! + * \brief Multiply a UInt with a unsigned int. + * \param inLeftUInt Left value from which the right unsigned int is multiplied. + * \param inRightUInt Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::UInt& operator*=(Beagle::UInt& inLeftUInt, unsigned int inRightUInt) +{ + Beagle_StackTraceBeginM(); + inLeftUInt.getWrappedValue() *= inRightUInt; + return inLeftUInt; + Beagle_StackTraceEndM("UInt& operator*=(UInt& inLeftUInt, unsigned int inRightUInt)"); +} + + +/*! + * \brief Divide two UInt. + * \param inLeftUInt Left value to divide. + * \param inRightUInt Right value to divide. + * \return Result of the division. + */ +inline +Beagle::UInt operator/(const Beagle::UInt& inLeftUInt, const Beagle::UInt& inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inLeftUInt.getWrappedValue() / inRightUInt.getWrappedValue(); + Beagle_StackTraceEndM("UInt operator/(const UInt& inLeftUInt, const UInt& inRightUInt)"); +} + + +/*! + * \brief Divide a UInt with a unsigned int. + * \param inLeftUInt Left value to divide. + * \param inRightUInt Right value to divide. + * \return Result of the division. + */ +inline +Beagle::UInt operator/(const Beagle::UInt& inLeftUInt, unsigned int inRightUInt) +{ + Beagle_StackTraceBeginM(); + return inLeftUInt.getWrappedValue() / inRightUInt; + Beagle_StackTraceEndM("UInt operator/(const UInt& inLeftUInt, unsigned int inRightUInt)"); +} + + +/*! + * \brief Divide a UInt with a UInt. + * \param inLeftUInt Left value to which the right unsigned int is divided. + * \param inRightUInt Right value to divide. + * \return Result of the division. + */ +inline +Beagle::UInt& operator/=(Beagle::UInt& inLeftUInt, const Beagle::UInt& inRightUInt) +{ + Beagle_StackTraceBeginM(); + inLeftUInt.getWrappedValue() /= inRightUInt.getWrappedValue(); + return inLeftUInt; + Beagle_StackTraceEndM("UInt& operator/=(UInt& inLeftUInt, const UInt& inRightUInt)"); +} + + +/*! + * \brief Divide a UInt with a unsigned int. + * \param inLeftUInt Left value from which the right unsigned int is divided. + * \param inRightUInt Right value to divide. + * \return Result of the division. + */ +inline +Beagle::UInt operator/=(Beagle::UInt& inLeftUInt, unsigned int inRightUInt) +{ + Beagle_StackTraceBeginM(); + inLeftUInt.getWrappedValue() /= inRightUInt; + return inLeftUInt; + Beagle_StackTraceEndM("UInt operator/=(UInt& inLeftUInt, unsigned int inRightUInt)"); +} + + +#endif // Beagle_UInt_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/ULong.hpp b/lib/beagle-3.0.3/beagle/include/beagle/ULong.hpp new file mode 100644 index 0000000..4929657 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/ULong.hpp @@ -0,0 +1,563 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/ULong.hpp + * \brief Definition of the type ULong and related operators. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_ULong_hpp +#define Beagle_ULong_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/ArrayT.hpp" + + +namespace Beagle { + +/*! + * \brief Beagle wrapper of the atomic unsigned long type. + * \ingroup Adapt + */ +typedef WrapperT< unsigned long > + ULong; + +/*! + * \brief Beagle array of the atomic unsigned long type. + * \ingroup Adapt + */ +typedef ArrayT< unsigned long > + ULongArray; + +} + + +/*! + * \brief Test whether an unsigned long is less than another. + * \param inLeftULong Left unsigned long compared. + * \param inRightULong Right unsigned long compared. + * \return True if left unsigned long is less than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::ULong. + */ +inline bool operator<(const Beagle::ULong& inLeftULong, const Beagle::ULong& inRightULong) +{ + Beagle_StackTraceBeginM(); + return inLeftULong.isLess(inRightULong); + Beagle_StackTraceEndM("bool operator<(const ULong& inLeftULong, const ULong& inRightULong)"); +} + + +/*! + * \brief Test whether an unsigned long is less than, or equal to another. + * \param inLeftULong Left unsigned long compared. + * \param inRightULong Right unsigned long compared. + * \return True if left unsigned long is less than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::ULong. + */ +inline bool operator<=(const Beagle::ULong& inLeftULong, const Beagle::ULong& inRightULong) +{ + Beagle_StackTraceBeginM(); + return ( inLeftULong.isLess(inRightULong) || inLeftULong.isEqual(inRightULong) ); + Beagle_StackTraceEndM("bool operator<=(const ULong& inLeftULong, const ULong& inRightULong)"); +} + + +/*! + * \brief Test whether an unsigned long is more than another. + * \param inLeftULong Left unsigned long compared. + * \param inRightULong Right unsigned long compared. + * \return True if left unsigned long is more than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::ULong. + */ +inline bool operator>(const Beagle::ULong& inLeftULong, const Beagle::ULong& inRightULong) +{ + Beagle_StackTraceBeginM(); + return inRightULong.isLess(inLeftULong); + Beagle_StackTraceEndM("bool operator>(const ULong& inLeftULong, const ULong& inRightULong)"); +} + + +/*! + * \brief Test whether an unsigned long is more than, or equal to another. + * \param inLeftULong Left unsigned long compared. + * \param inRightULong Right unsigned long compared. + * \return True if left unsigned long is more than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::ULong. + */ +inline bool operator>=(const Beagle::ULong& inLeftULong, const Beagle::ULong& inRightULong) +{ + Beagle_StackTraceBeginM(); + return ( inRightULong.isLess(inLeftULong) || inLeftULong.isEqual(inRightULong) ); + Beagle_StackTraceEndM("bool operator>=(const ULong& inLeftULong, const ULong& inRightULong)"); +} + + +/*! + * \brief Test whether an unsigned long is equal to another. + * \param inLeftULong Left unsigned long compared. + * \param inRightULong Right unsigned long compared. + * \return True if left unsigned long is equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::ULong. + */ +inline bool operator==(const Beagle::ULong& inLeftULong, const Beagle::ULong& inRightULong) +{ + Beagle_StackTraceBeginM(); + return inLeftULong.isEqual(inRightULong); + Beagle_StackTraceEndM("bool operator==(const ULong& inLeftULong, const ULong& inRightULong)"); +} + + +/*! + * \brief Test whether an unsigned long is not equal to another. + * \param inLeftULong Left unsigned long compared. + * \param inRightULong Right unsigned long compared. + * \return True if left unsigned long is not equal to the right one, false if it is. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::ULong. + */ +inline bool operator!=(const Beagle::ULong& inLeftULong, const Beagle::ULong& inRightULong) +{ + Beagle_StackTraceBeginM(); + return ( inLeftULong.isEqual(inRightULong) == false); + Beagle_StackTraceEndM("bool operator!=(const ULong& inLeftULong, const ULong& inRightULong)"); +} + + +/*! + * \brief Compare equality of a ULong with a unsigned long. + * \param inLeftULong Left value to compare. + * \param inRightULong Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator==(const Beagle::ULong& inLeftULong, unsigned long inRightULong) +{ + Beagle_StackTraceBeginM(); + return inLeftULong.getWrappedValue() == inRightULong; + Beagle_StackTraceEndM("bool operator==(const ULong& inLeftULong, unsigned long inRightULong)"); +} + + +/*! + * \brief Compare inequality of a ULong with a unsigned long. + * \param inLeftULong Left value to compare. + * \param inRightULong Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator!=(const Beagle::ULong& inLeftULong, unsigned long inRightULong) +{ + Beagle_StackTraceBeginM(); + return inLeftULong.getWrappedValue() != inRightULong; + Beagle_StackTraceEndM("bool operator!=(const ULong& inLeftULong, unsigned long inRightULong)"); +} + + +/*! + * \brief Test if a ULong is < than a unsigned long. + * \param inLeftULong Left value to compare. + * \param inRightULong Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<(const Beagle::ULong& inLeftULong, unsigned long inRightULong) +{ + Beagle_StackTraceBeginM(); + return inLeftULong.getWrappedValue() < inRightULong; + Beagle_StackTraceEndM("bool operator<(const ULong& inLeftULong, unsigned long inRightULong)"); +} + + +/*! + * \brief Test if a ULong is <= than a unsigned long. + * \param inLeftULong Left value to compare. + * \param inRightULong Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<=(const Beagle::ULong& inLeftULong, unsigned long inRightULong) +{ + Beagle_StackTraceBeginM(); + return inLeftULong.getWrappedValue() <= inRightULong; + Beagle_StackTraceEndM("bool operator<=(const ULong& inLeftULong, unsigned long inRightULong)"); +} + + +/*! + * \brief Test if a ULong is > than a unsigned long. + * \param inLeftULong Left value to compare. + * \param inRightULong Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>(const Beagle::ULong& inLeftULong, unsigned long inRightULong) +{ + Beagle_StackTraceBeginM(); + return inLeftULong.getWrappedValue() > inRightULong; + Beagle_StackTraceEndM("bool operator>(const ULong& inLeftULong, unsigned long inRightULong)"); +} + + +/*! + * \brief Test if a ULong is >= than a unsigned long. + * \param inLeftULong Left value to compare. + * \param inRightULong Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>=(const Beagle::ULong& inLeftULong, unsigned long inRightULong) +{ + Beagle_StackTraceBeginM(); + return inLeftULong.getWrappedValue() >= inRightULong; + Beagle_StackTraceEndM("bool operator>=(const ULong& inLeftULong, unsigned long inRightULong)"); +} + + +/*! + * \brief Increment a ULong (prefix version). + * \param inULong ULong to increment. + * \return ULong incremented. + */ +inline +Beagle::ULong& operator++(Beagle::ULong& inULong) +{ + Beagle_StackTraceBeginM(); + inULong.getWrappedValue()++; + return inULong; + Beagle_StackTraceEndM("ULong& operator++(ULong& inULong)"); +} + + +/*! + * \brief Increment a ULong (postfix version). + * \param inULong ULong to increment. + * \return ULong before being incremented. + */ +inline +Beagle::ULong operator++(Beagle::ULong& inULong, int) +{ + Beagle_StackTraceBeginM(); + Beagle::ULong lULong = inULong; + inULong.getWrappedValue()++; + return lULong; + Beagle_StackTraceEndM("ULong operator++(ULong& inULong, int)"); +} + + +/*! + * \brief Add two ULong. + * \param inLeftULong Left value to add. + * \param inRightULong Right value to add. + * \return Result of the addition. + */ +inline +Beagle::ULong operator+(const Beagle::ULong& inLeftULong, const Beagle::ULong& inRightULong) +{ + Beagle_StackTraceBeginM(); + return inLeftULong.getWrappedValue() + inRightULong.getWrappedValue(); + Beagle_StackTraceEndM("ULong operator+(const ULong& inLeftULong, const ULong& inRightULong)"); +} + + +/*! + * \brief Add a ULong with a unsigned long. + * \param inLeftULong Left value to add. + * \param inRightULong Right value to add. + * \return Result of the addition. + */ +inline +Beagle::ULong operator+(const Beagle::ULong& inLeftULong, unsigned long inRightULong) +{ + Beagle_StackTraceBeginM(); + return inLeftULong.getWrappedValue() + inRightULong; + Beagle_StackTraceEndM("ULong operator+(const ULong& inLeftULong, unsigned long inRightULong)"); +} + + +/*! + * \brief Add a ULong to a ULong. + * \param inLeftULong Left value to which the right one is added. + * \param inRightULong Value to add. + * \return Result of the addition. + */ +inline +Beagle::ULong& operator+=(Beagle::ULong& inLeftULong, const Beagle::ULong& inRightULong) +{ + Beagle_StackTraceBeginM(); + inLeftULong.getWrappedValue() += inRightULong.getWrappedValue(); + return inLeftULong; + Beagle_StackTraceEndM("ULong& operator+=(ULong& inLeftULong, const ULong& inRightULong)"); +} + + +/*! + * \brief Add a unsigned long to a ULong. + * \param inLeftULong Left value to which the right one is added. + * \param inRightULong Value to add. + * \return Result of the addition. + */ +inline +Beagle::ULong& operator+=(Beagle::ULong& inLeftULong, unsigned long inRightULong) +{ + Beagle_StackTraceBeginM(); + inLeftULong.getWrappedValue() += inRightULong; + return inLeftULong; + Beagle_StackTraceEndM("ULong& operator+=(ULong& inLeftULong, unsigned long inRightULong)"); +} + + +/*! + * \brief Decrement a ULong (prefix version). + * \param inULong ULong to decrement. + * \return ULong decremented. + */ +inline +Beagle::ULong& operator--(Beagle::ULong& inULong) +{ + Beagle_StackTraceBeginM(); + inULong.getWrappedValue()--; + return inULong; + Beagle_StackTraceEndM("ULong& operator--(ULong& inULong)"); +} + + +/*! + * \brief Decrement a ULong (postfix version). + * \param inULong ULong to decrement. + * \return ULong before being decremented. + */ +inline +Beagle::ULong operator--(Beagle::ULong& inULong, int) +{ + Beagle_StackTraceBeginM(); + Beagle::ULong lULong = inULong; + inULong.getWrappedValue()--; + return lULong; + Beagle_StackTraceEndM("ULong operator--(ULong& inULong, int)"); +} + + +/*! + * \brief Subtract two ULong. + * \param inLeftULong Left value to subtract. + * \param inRightULong Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::ULong operator-(const Beagle::ULong& inLeftULong, const Beagle::ULong& inRightULong) +{ + Beagle_StackTraceBeginM(); + return inLeftULong.getWrappedValue() - inRightULong.getWrappedValue(); + Beagle_StackTraceEndM("ULong operator-(const ULong& inLeftULong, const ULong& inRightULong)"); +} + + +/*! + * \brief Subtract a unsigned long from a ULong. + * \param inLeftULong Left value to subtract. + * \param inRightULong Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::ULong operator-(const Beagle::ULong& inLeftULong, unsigned long inRightULong) +{ + Beagle_StackTraceBeginM(); + return inLeftULong.getWrappedValue() - inRightULong; + Beagle_StackTraceEndM("ULong operator-(const ULong& inLeftULong, unsigned long inRightULong)"); +} + + +/*! + * \brief Subtract a ULong from a ULong. + * \param inLeftULong Left value from which the right unsigned long is subtracted. + * \param inRightULong Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::ULong& operator-=(Beagle::ULong& inLeftULong, const Beagle::ULong& inRightULong) +{ + Beagle_StackTraceBeginM(); + inLeftULong.getWrappedValue() -= inRightULong.getWrappedValue(); + return inLeftULong; + Beagle_StackTraceEndM("ULong& operator-=(ULong& inLeftULong, const ULong& inRightULong)"); +} + + +/*! + * \brief Subtract a unsigned long from a ULong. + * \param inLeftULong Left value from which the right unsigned long is subtracted. + * \param inRightULong Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::ULong& operator-=(Beagle::ULong& inLeftULong, unsigned long inRightULong) +{ + Beagle_StackTraceBeginM(); + inLeftULong.getWrappedValue() -= inRightULong; + return inLeftULong; + Beagle_StackTraceEndM("ULong& operator-=(ULong& inLeftULong, unsigned long inRightULong)"); +} + + +/*! + * \brief Multiply two ULong. + * \param inLeftULong Left value to multiply. + * \param inRightULong Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::ULong operator*(const Beagle::ULong& inLeftULong, const Beagle::ULong& inRightULong) +{ + Beagle_StackTraceBeginM(); + return inLeftULong.getWrappedValue() * inRightULong.getWrappedValue(); + Beagle_StackTraceEndM("ULong operator*(const ULong& inLeftULong, const ULong& inRightULong)"); +} + + +/*! + * \brief Multiply a ULong with a unsigned long. + * \param inLeftULong Left value to multiply. + * \param inRightULong Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::ULong operator*(const Beagle::ULong& inLeftULong, unsigned long inRightULong) +{ + Beagle_StackTraceBeginM(); + return inLeftULong.getWrappedValue() * inRightULong; + Beagle_StackTraceEndM("ULong operator*(const ULong& inLeftULong, unsigned long inRightULong)"); +} + + +/*! + * \brief Multiply a ULong with a ULong. + * \param inLeftULong Left value to which the right unsigned long is multiplied. + * \param inRightULong Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::ULong& operator*=(Beagle::ULong& inLeftULong, const Beagle::ULong& inRightULong) +{ + Beagle_StackTraceBeginM(); + inLeftULong.getWrappedValue() *= inRightULong.getWrappedValue(); + return inLeftULong; + Beagle_StackTraceEndM("ULong& operator*=(ULong& inLeftULong, const ULong& inRightULong)"); +} + + +/*! + * \brief Multiply a ULong with a unsigned long. + * \param inLeftULong Left value from which the right unsigned long is multiplied. + * \param inRightULong Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::ULong& operator*=(Beagle::ULong& inLeftULong, unsigned long inRightULong) +{ + Beagle_StackTraceBeginM(); + inLeftULong.getWrappedValue() *= inRightULong; + return inLeftULong; + Beagle_StackTraceEndM("ULong& operator*=(ULong& inLeftULong, unsigned long inRightULong)"); +} + + +/*! + * \brief Divide two ULong. + * \param inLeftULong Left value to divide. + * \param inRightULong Right value to divide. + * \return Result of the division. + */ +inline +Beagle::ULong operator/(const Beagle::ULong& inLeftULong, const Beagle::ULong& inRightULong) +{ + Beagle_StackTraceBeginM(); + return inLeftULong.getWrappedValue() / inRightULong.getWrappedValue(); + Beagle_StackTraceEndM("ULong operator/(const ULong& inLeftULong, const ULong& inRightULong)"); +} + + +/*! + * \brief Divide a ULong with a unsigned long. + * \param inLeftULong Left value to divide. + * \param inRightULong Right value to divide. + * \return Result of the division. + */ +inline +Beagle::ULong operator/(const Beagle::ULong& inLeftULong, unsigned long inRightULong) +{ + Beagle_StackTraceBeginM(); + return inLeftULong.getWrappedValue() / inRightULong; + Beagle_StackTraceEndM("ULong operator/(const ULong& inLeftULong, unsigned long inRightULong)"); +} + + +/*! + * \brief Divide a ULong with a ULong. + * \param inLeftULong Left value to which the right unsigned long is divided. + * \param inRightULong Right value to divide. + * \return Result of the division. + */ +inline +Beagle::ULong& operator/=(Beagle::ULong& inLeftULong, const Beagle::ULong& inRightULong) +{ + Beagle_StackTraceBeginM(); + inLeftULong.getWrappedValue() /= inRightULong.getWrappedValue(); + return inLeftULong; + Beagle_StackTraceEndM("ULong& operator/=(ULong& inLeftULong, const ULong& inRightULong)"); +} + + +/*! + * \brief Divide a ULong with a unsigned long. + * \param inLeftULong Left value from which the right unsigned long is divided. + * \param inRightULong Right value to divide. + * \return Result of the division. + */ +inline +Beagle::ULong operator/=(Beagle::ULong& inLeftULong, unsigned long inRightULong) +{ + Beagle_StackTraceBeginM(); + inLeftULong.getWrappedValue() /= inRightULong; + return inLeftULong; + Beagle_StackTraceEndM("ULong operator/=(ULong& inLeftULong, unsigned long inRightULong)"); +} + + +#endif // Beagle_ULong_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/UShort.hpp b/lib/beagle-3.0.3/beagle/include/beagle/UShort.hpp new file mode 100644 index 0000000..71b3d05 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/UShort.hpp @@ -0,0 +1,564 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/UShort.hpp + * \brief Definition of the type UShort and related operators. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:17 $ + */ + +#ifndef Beagle_UShort_hpp +#define Beagle_UShort_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/WrapperT.hpp" +#include "beagle/ArrayT.hpp" + + +namespace Beagle { + +/*! + * \brief Beagle wrapper of the atomic unsigned short type. + * \ingroup Adapt + */ +typedef WrapperT< unsigned short > + UShort; + +/*! + * \brief Beagle array of the atomic unsigned short type. + * \ingroup Adapt + */ +typedef ArrayT< unsigned short > + UShortArray; + +} + + +/*! + * \brief Test whether an unsigned short is less than another. + * \param inLeftUShort Left unsigned short compared. + * \param inRightUShort Right unsigned short compared. + * \return True if left unsigned short is less than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::UShort. + */ +inline bool operator<(const Beagle::UShort& inLeftUShort, const Beagle::UShort& inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inLeftUShort.isLess(inRightUShort); + Beagle_StackTraceEndM("bool operator<(const UShort& inLeftUShort, const UShort& inRightUShort)"); +} + + +/*! + * \brief Test whether an unsigned short is less than, or equal to another. + * \param inLeftUShort Left unsigned short compared. + * \param inRightUShort Right unsigned short compared. + * \return True if left unsigned short is less than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::UShort. + */ +inline bool operator<=(const Beagle::UShort& inLeftUShort, const Beagle::UShort& inRightUShort) +{ + Beagle_StackTraceBeginM(); + return ( inLeftUShort.isLess(inRightUShort) || inLeftUShort.isEqual(inRightUShort) ); + Beagle_StackTraceEndM("bool operator<=(const UShort& inLeftUShort, const UShort& inRightUShort)"); +} + + +/*! + * \brief Test whether an unsigned short is more than another. + * \param inLeftUShort Left unsigned short compared. + * \param inRightUShort Right unsigned short compared. + * \return True if left unsigned short is more than the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isLess of Beagle::UShort. + */ +inline bool operator>(const Beagle::UShort& inLeftUShort, const Beagle::UShort& inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inRightUShort.isLess(inLeftUShort); + Beagle_StackTraceEndM("bool operator>(const UShort& inLeftUShort, const UShort& inRightUShort)"); +} + + +/*! + * \brief Test whether an unsigned short is more than, or equal to another. + * \param inLeftUShort Left unsigned short compared. + * \param inRightUShort Right unsigned short compared. + * \return True if left unsigned short is more than, or equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the functions isLess and isEqual of Beagle::UShort. + */ +inline bool operator>=(const Beagle::UShort& inLeftUShort, const Beagle::UShort& inRightUShort) +{ + Beagle_StackTraceBeginM(); + return ( inRightUShort.isLess(inLeftUShort) || inLeftUShort.isEqual(inRightUShort) ); + Beagle_StackTraceEndM("bool operator>=(const UShort& inLeftUShort, const UShort& inRightUShort)"); +} + + +/*! + * \brief Test whether an unsigned short is equal to another. + * \param inLeftUShort Left unsigned short compared. + * \param inRightUShort Right unsigned short compared. + * \return True if left unsigned short is equal to the right one, false if not. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::UShort. + */ +inline bool operator==(const Beagle::UShort& inLeftUShort, const Beagle::UShort& inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inLeftUShort.isEqual(inRightUShort); + Beagle_StackTraceEndM("bool operator==(const UShort& inLeftUShort, const UShort& inRightUShort)"); +} + + +/*! + * \brief Test whether an unsigned short is not equal to another. + * \param inLeftUShort Left unsigned short compared. + * \param inRightUShort Right unsigned short compared. + * \return True if left unsigned short is not equal to the right one, false if it is. + * \par Note: + * The operator is defined relatively to the function isEqual of Beagle::UShort. + */ +inline bool operator!=(const Beagle::UShort& inLeftUShort, const Beagle::UShort& inRightUShort) +{ + Beagle_StackTraceBeginM(); + return ( inLeftUShort.isEqual(inRightUShort) == false); + Beagle_StackTraceEndM("bool operator!=(const UShort& inLeftUShort, const UShort& inRightUShort)"); +} + + +/*! + * \brief Compare equality of a UShort with a unsigned short. + * \param inLeftUShort Left value to compare. + * \param inRightUShort Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator==(const Beagle::UShort& inLeftUShort, unsigned short inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inLeftUShort.getWrappedValue() == inRightUShort; + Beagle_StackTraceEndM("bool operator==(const UShort& inLeftUShort, unsigned short inRightUShort)"); +} + + +/*! + * \brief Compare inequality of a UShort with a unsigned short. + * \param inLeftUShort Left value to compare. + * \param inRightUShort Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator!=(const Beagle::UShort& inLeftUShort, unsigned short inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inLeftUShort.getWrappedValue() != inRightUShort; + Beagle_StackTraceEndM("bool operator!=(const UShort& inLeftUShort, unsigned short inRightUShort)"); +} + + +/*! + * \brief Test if a UShort is < than a unsigned short. + * \param inLeftUShort Left value to compare. + * \param inRightUShort Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<(const Beagle::UShort& inLeftUShort, unsigned short inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inLeftUShort.getWrappedValue() < inRightUShort; + Beagle_StackTraceEndM("bool operator<(const UShort& inLeftUShort, unsigned short inRightUShort)"); +} + + +/*! + * \brief Test if a UShort is <= than a unsigned short. + * \param inLeftUShort Left value to compare. + * \param inRightUShort Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator<=(const Beagle::UShort& inLeftUShort, unsigned short inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inLeftUShort.getWrappedValue() <= inRightUShort; + Beagle_StackTraceEndM("bool operator<=(const UShort& inLeftUShort, unsigned short inRightUShort)"); +} + + +/*! + * \brief Test if a UShort is > than a unsigned short. + * \param inLeftUShort Left value to compare. + * \param inRightUShort Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>(const Beagle::UShort& inLeftUShort, unsigned short inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inLeftUShort.getWrappedValue() > inRightUShort; + Beagle_StackTraceEndM("bool operator>(const UShort& inLeftUShort, unsigned short inRightUShort)"); +} + + +/*! + * \brief Test if a UShort is >= than a unsigned short. + * \param inLeftUShort Left value to compare. + * \param inRightUShort Right value to compare. + * \return Result of the comparison. + */ +inline +bool operator>=(const Beagle::UShort& inLeftUShort, unsigned short inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inLeftUShort.getWrappedValue() >= inRightUShort; + Beagle_StackTraceEndM("bool operator>=(const UShort& inLeftUShort, unsigned short inRightUShort)"); +} + + +/*! + * \brief Increment a UShort (prefix version). + * \param inUShort UShort to increment. + * \return UShort incremented. + */ +inline +Beagle::UShort& operator++(Beagle::UShort& inUShort) +{ + Beagle_StackTraceBeginM(); + inUShort.getWrappedValue()++; + return inUShort; + Beagle_StackTraceEndM("UShort& operator++(UShort& inUShort)"); +} + + +/*! + * \brief Increment a UShort (postfix version). + * \param inUShort UShort to increment. + * \return UShort before being incremented. + */ +inline +Beagle::UShort operator++(Beagle::UShort& inUShort, int) +{ + Beagle_StackTraceBeginM(); + Beagle::UShort lUShort = inUShort; + inUShort.getWrappedValue()++; + return lUShort; + Beagle_StackTraceEndM("UShort operator++(UShort& inUShort, int)"); +} + + +/*! + * \brief Add two UShort. + * \param inLeftUShort Left value to add. + * \param inRightUShort Right value to add. + * \return Result of the addition. + */ +inline +Beagle::UShort operator+(const Beagle::UShort& inLeftUShort, const Beagle::UShort& inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inLeftUShort.getWrappedValue() + inRightUShort.getWrappedValue(); + Beagle_StackTraceEndM("UShort operator+(const UShort& inLeftUShort, const UShort& inRightUShort)"); +} + + +/*! + * \brief Add a UShort with a unsigned short. + * \param inLeftUShort Left value to add. + * \param inRightUShort Right value to add. + * \return Result of the addition. + */ +inline +Beagle::UShort operator+(const Beagle::UShort& inLeftUShort, unsigned short inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inLeftUShort.getWrappedValue() + inRightUShort; + Beagle_StackTraceEndM("UShort operator+(const UShort& inLeftUShort, unsigned short inRightUShort)"); +} + + +/*! + * \brief Add a UShort to a UShort. + * \param inLeftUShort Left value to which the right one is added. + * \param inRightUShort Value to add. + * \return Result of the addition. + */ +inline +Beagle::UShort& operator+=(Beagle::UShort& inLeftUShort, const Beagle::UShort& inRightUShort) +{ + Beagle_StackTraceBeginM(); + inLeftUShort.getWrappedValue() += inRightUShort.getWrappedValue(); + return inLeftUShort; + Beagle_StackTraceEndM("UShort& operator+=(UShort& inLeftUShort, const UShort& inRightUShort)"); +} + + +/*! + * \brief Add a unsigned short to a UShort. + * \param inLeftUShort Left value to which the right one is added. + * \param inRightUShort Value to add. + * \return Result of the addition. + */ +inline +Beagle::UShort& operator+=(Beagle::UShort& inLeftUShort, unsigned short inRightUShort) +{ + Beagle_StackTraceBeginM(); + inLeftUShort.getWrappedValue() += inRightUShort; + return inLeftUShort; + Beagle_StackTraceEndM("UShort& operator+=(UShort& inLeftUShort, unsigned short inRightUShort)"); +} + + +/*! + * \brief Decrement a UShort (prefix version). + * \param inUShort UShort to decrement. + * \return UShort decremented. + */ +inline +Beagle::UShort& operator--(Beagle::UShort& inUShort) +{ + Beagle_StackTraceBeginM(); + inUShort.getWrappedValue()--; + return inUShort; + Beagle_StackTraceEndM("UShort& operator--(UShort& inUShort)"); +} + + +/*! + * \brief Decrement a UShort (postfix version). + * \param inUShort UShort to decrement. + * \return UShort before being decremented. + */ +inline +Beagle::UShort operator--(Beagle::UShort& inUShort, int) +{ + Beagle_StackTraceBeginM(); + Beagle::UShort lUShort = inUShort; + inUShort.getWrappedValue()--; + return lUShort; + Beagle_StackTraceEndM("UShort operator--(UShort& inUShort, int)"); +} + + + +/*! + * \brief Subtract two UShort. + * \param inLeftUShort Left value to subtract. + * \param inRightUShort Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::UShort operator-(const Beagle::UShort& inLeftUShort, const Beagle::UShort& inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inLeftUShort.getWrappedValue() - inRightUShort.getWrappedValue(); + Beagle_StackTraceEndM("UShort operator-(const UShort& inLeftUShort, const UShort& inRightUShort)"); +} + + +/*! + * \brief Subtract a unsigned short from a UShort. + * \param inLeftUShort Left value to subtract. + * \param inRightUShort Right value to subtract. + * \return Result of the subtract. + */ +inline +Beagle::UShort operator-(const Beagle::UShort& inLeftUShort, unsigned short inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inLeftUShort.getWrappedValue() - inRightUShort; + Beagle_StackTraceEndM("UShort operator-(const UShort& inLeftUShort, unsigned short inRightUShort)"); +} + + +/*! + * \brief Subtract a UShort from a UShort. + * \param inLeftUShort Left value from which the right unsigned short is subtracted. + * \param inRightUShort Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::UShort& operator-=(Beagle::UShort& inLeftUShort, const Beagle::UShort& inRightUShort) +{ + Beagle_StackTraceBeginM(); + inLeftUShort.getWrappedValue() -= inRightUShort.getWrappedValue(); + return inLeftUShort; + Beagle_StackTraceEndM("UShort& operator-=(UShort& inLeftUShort, const UShort& inRightUShort)"); +} + + +/*! + * \brief Subtract a unsigned short from a UShort. + * \param inLeftUShort Left value from which the right unsigned short is subtracted. + * \param inRightUShort Value to subtract. + * \return Result of the subtraction. + */ +inline +Beagle::UShort& operator-=(Beagle::UShort& inLeftUShort, unsigned short inRightUShort) +{ + Beagle_StackTraceBeginM(); + inLeftUShort.getWrappedValue() -= inRightUShort; + return inLeftUShort; + Beagle_StackTraceEndM("UShort& operator-=(UShort& inLeftUShort, unsigned short inRightUShort)"); +} + + +/*! + * \brief Multiply two UShort. + * \param inLeftUShort Left value to multiply. + * \param inRightUShort Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::UShort operator*(const Beagle::UShort& inLeftUShort, const Beagle::UShort& inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inLeftUShort.getWrappedValue() * inRightUShort.getWrappedValue(); + Beagle_StackTraceEndM("UShort operator*(const UShort& inLeftUShort, const UShort& inRightUShort)"); +} + + +/*! + * \brief Multiply a UShort with a unsigned short. + * \param inLeftUShort Left value to multiply. + * \param inRightUShort Right value to multiply. + * \return Result of the multiply. + */ +inline +Beagle::UShort operator*(const Beagle::UShort& inLeftUShort, unsigned short inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inLeftUShort.getWrappedValue() * inRightUShort; + Beagle_StackTraceEndM("UShort operator*(const UShort& inLeftUShort, unsigned short inRightUShort)"); +} + + +/*! + * \brief Multiply a UShort with a UShort. + * \param inLeftUShort Left value to which the right unsigned short is multiplied. + * \param inRightUShort Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::UShort& operator*=(Beagle::UShort& inLeftUShort, const Beagle::UShort& inRightUShort) +{ + Beagle_StackTraceBeginM(); + inLeftUShort.getWrappedValue() *= inRightUShort.getWrappedValue(); + return inLeftUShort; + Beagle_StackTraceEndM("UShort& operator*=(UShort& inLeftUShort, const UShort& inRightUShort)"); +} + + +/*! + * \brief Multiply a UShort with a unsigned short. + * \param inLeftUShort Left value from which the right unsigned short is multiplied. + * \param inRightUShort Right value to multiply. + * \return Result of the multiplication. + */ +inline +Beagle::UShort& operator*=(Beagle::UShort& inLeftUShort, unsigned short inRightUShort) +{ + Beagle_StackTraceBeginM(); + inLeftUShort.getWrappedValue() *= inRightUShort; + return inLeftUShort; + Beagle_StackTraceEndM("UShort& operator*=(UShort& inLeftUShort, unsigned short inRightUShort)"); +} + + +/*! + * \brief Divide two UShort. + * \param inLeftUShort Left value to divide. + * \param inRightUShort Right value to divide. + * \return Result of the division. + */ +inline +Beagle::UShort operator/(const Beagle::UShort& inLeftUShort, const Beagle::UShort& inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inLeftUShort.getWrappedValue() / inRightUShort.getWrappedValue(); + Beagle_StackTraceEndM("UShort operator/(const UShort& inLeftUShort, const UShort& inRightUShort)"); +} + + +/*! + * \brief Divide a UShort with a unsigned short. + * \param inLeftUShort Left value to divide. + * \param inRightUShort Right value to divide. + * \return Result of the division. + */ +inline +Beagle::UShort operator/(const Beagle::UShort& inLeftUShort, unsigned short inRightUShort) +{ + Beagle_StackTraceBeginM(); + return inLeftUShort.getWrappedValue() / inRightUShort; + Beagle_StackTraceEndM("UShort operator/(const UShort& inLeftUShort, unsigned short inRightUShort)"); +} + + +/*! + * \brief Divide a UShort with a UShort. + * \param inLeftUShort Left value to which the right unsigned short is divided. + * \param inRightUShort Right value to divide. + * \return Result of the division. + */ +inline +Beagle::UShort& operator/=(Beagle::UShort& inLeftUShort, const Beagle::UShort& inRightUShort) +{ + Beagle_StackTraceBeginM(); + inLeftUShort.getWrappedValue() /= inRightUShort.getWrappedValue(); + return inLeftUShort; + Beagle_StackTraceEndM("UShort& operator/=(UShort& inLeftUShort, const UShort& inRightUShort)"); +} + + +/*! + * \brief Divide a UShort with a unsigned short. + * \param inLeftUShort Left value from which the right unsigned short is divided. + * \param inRightUShort Right value to divide. + * \return Result of the division. + */ +inline +Beagle::UShort operator/=(Beagle::UShort& inLeftUShort, unsigned short inRightUShort) +{ + Beagle_StackTraceBeginM(); + inLeftUShort.getWrappedValue() /= inRightUShort; + return inLeftUShort; + Beagle_StackTraceEndM("UShort operator/=(UShort& inLeftUShort, unsigned short inRightUShort)"); +} + + +#endif // Beagle_UShort_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/ValidationException.hpp b/lib/beagle-3.0.3/beagle/include/beagle/ValidationException.hpp new file mode 100644 index 0000000..93b7b8e --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/ValidationException.hpp @@ -0,0 +1,102 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/ValidationException.hpp + * \brief Definition of class ValidationException. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#ifndef Beagle_ValidationException_hpp +#define Beagle_ValidationException_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Exception.hpp" + + +/*! + * \def Beagle_ValidateParameterM + * \brief Assert that a parameter is valid, following a given condition. + * \param COND Condition to test. + * \param PARAM String containing the name of the parameter. + * \param MESS String explaining the condition. + * \throw ValidationException When the condition is false. + * \ingroup Except + */ +#ifndef BEAGLE_NDEBUG +#define Beagle_ValidateParameterM(COND,PARAM,MESS) \ + if( !(COND) ) throw Beagle::ValidationException( \ + string("The parameter ").append(PARAM).append(" is invalid (").append(MESS).append(").")) +#else // BEAGLE_NDEBUG +#define Beagle_ValidateParameterM(COND,PARAM,MESS) +#endif // BEAGLE_NDEBUG + + +namespace Beagle { + +// Forward declarations. +template class AllocatorT; +template class PointerT; +template class ContainerT; + +/*! + * \class ValidationException beagle/ValidationException.hpp "beagle/ValidationException.hpp" + * \brief Beagle exception indicating that a parameter, or such, is invalid. + * \ingroup OOF + * \ingroup Except + */ +class ValidationException : public Exception { + +public: + + //! ValidationException allocator type. + typedef AllocatorT + Alloc; + //! ValidationException handle type. + typedef PointerT + Handle; + //! ValidationException bag type. + typedef ContainerT + Bag; + + explicit ValidationException(string inMessage=""); + virtual ~ValidationException() throw() { } + + virtual const char* getExceptionName() const throw(); + +}; + +} + +#endif // Beagle_ValidationException_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Vector.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Vector.hpp new file mode 100644 index 0000000..f3e66e8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Vector.hpp @@ -0,0 +1,93 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Vector.hpp + * \brief Definition of class Vector. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + + +#ifndef Beagle_Vector_hpp +#define Beagle_Vector_hpp + +#include "Math.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerT.hpp" + +namespace Beagle { + + +/*! + * \class Vector beagle/Vector.hpp "beagle/Vector.hpp" + * \brief Adapt the PACC::Vector class to the Beagle Object interface. + * \ingroup OOF + * \ingroup Adapt + */ +class Vector : public Object, public PACC::Vector { + +public: + + //! Vector allocator type. + typedef AllocatorT< Vector, Object::Alloc > + Alloc; + //! Vector handle type. + typedef PointerT< Vector, Object::Handle > + Handle; + //! Vector bag type. + typedef ContainerT< Vector, Object::Bag > + Bag; + + explicit Vector(unsigned int inSize=0, double inValue=0.0); + Vector(const PACC::Matrix& inMatrix); + Vector(const PACC::Vector& inVector); + Vector(const Beagle::Matrix& inMatrix); + virtual ~Vector() { } + + Vector& operator=(const PACC::Matrix& inMatrix); + Vector& operator=(const PACC::Vector& inVector); + Vector& operator=(const Beagle::Matrix& inMatrix); + + virtual void read(PACC::XML::ConstIterator inIter); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +}; + +} + + +#endif // Beagle_Vector_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/Vivarium.hpp b/lib/beagle-3.0.3/beagle/include/beagle/Vivarium.hpp new file mode 100644 index 0000000..75fbf3a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/Vivarium.hpp @@ -0,0 +1,265 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/Vivarium.hpp + * \brief Definition of the class Vivarium. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.11.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +/*! + * \defgroup Pop Population + * \ingroup ECF + * \brief Components of the population, part of the generic EC framework. + * + * The population is structured into four layers: a vivarium, the demes, the individuals and the + * genotypes. The first layer, the vivarium, comprises the whole population of a specific evolution, + * that is, an aggregate of one or more demes. A deme is a population that evolves + * in an independent environment. Generally, at each generation, there are some individuals that + * migrate between the demes that compose a vivarium. A deme is implemented in class Beagle::Deme. + * The class provides and implements an interface of standard methods necessary to evolve its own + * population. The class Beagle::Vivarium describes a bag of demes, which is itself an bag of + * individuals. Each deme also has a hall-of-fame where the best-of-run individuals are conserved, + * and its statistics. + * + * The next underlying layer, the individual, is defined in class Beagle::Individual. It is an bag + * of genotypes, the parts that compose a genome. The genotypes are tightly related to the + * representation of the individuals for a given EC algorithm. The genotype interface is declared in + * the abstract class Beagle::Genotype. + * + */ + + +#ifndef Beagle_Vivarium_hpp +#define Beagle_Vivarium_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/ContainerAllocatorT.hpp" +#include "beagle/Deme.hpp" +#include "beagle/DemeAlloc.hpp" +#include "beagle/Stats.hpp" +#include "beagle/VivariumAlloc.hpp" + +namespace Beagle { + +/*! + * \class Vivarium beagle/Vivarium.hpp "beagle/Vivarium.hpp" + * \brief A vivarium is a set of demes. + * \ingroup ECF + * \ingroup Pop + */ +class Vivarium : public Deme::Bag { + +public: + + //! Vivarium allocator type. + typedef VivariumAlloc + Alloc; + //! Vivarium handle type. + typedef PointerT + Handle; + //! Vivarium bag type. + typedef ContainerT + Bag; + + explicit Vivarium(Deme::Alloc::Handle inDemeAlloc=NULL); + explicit Vivarium(Deme::Alloc::Handle inDemeAlloc, + Stats::Alloc::Handle inStatsAlloc, + HallOfFame::Alloc::Handle inHOFAlloc, + size_type inN=0); + explicit Vivarium(Genotype::Alloc::Handle inGenotypeAlloc); + explicit Vivarium(Genotype::Alloc::Handle inGenotypeAlloc, Fitness::Alloc::Handle inFitnessAlloc); + Vivarium(const Vivarium& inOrigVivarium); + virtual ~Vivarium() { } + + Vivarium& operator=(const Vivarium& inOrigVivarium); + + virtual void copyData(const Container& inOrigContainer); + virtual void readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext); + virtual void readPopulation(PACC::XML::ConstIterator inIter, Context& ioContext); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + virtual void writePopulation(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Get the current deme Hall-of-Fame. + * \return Constant reference to the Hall-of-Fame. + */ + inline const HallOfFame& getHallOfFame() const + { + Beagle_StackTraceBeginM(); + return *mHallOfFame; + Beagle_StackTraceEndM("const HallOfFame& Vivarium::getHallOfFame() const"); + } + + /*! + * \brief Get the current deme Hall-of-Fame. + * \return Constant reference to the Hall-of-Fame. + */ + inline HallOfFame& getHallOfFame() + { + Beagle_StackTraceBeginM(); + return *mHallOfFame; + Beagle_StackTraceEndM("HallOfFame& Vivarium::getHallOfFame()"); + } + + /*! + * \brief Get the hall-of-fame allocator. + * \return Constant handle to the hall-of-fame allocator. + */ + inline const HallOfFame::Alloc::Handle getHallOfFameAlloc() const + { + Beagle_StackTraceBeginM(); + return mHOFAlloc; + Beagle_StackTraceEndM("const HallOfFame::Alloc::Handle Vivarium::getHallOfFameAlloc() const"); + } + + /*! + * \brief Get the hall-of-fame allocator. + * \return Handle to the hall-of-fame allocator. + */ + inline HallOfFame::Alloc::Handle getHallOfFameAlloc() + { + Beagle_StackTraceBeginM(); + return mHOFAlloc; + Beagle_StackTraceEndM("HallOfFame::Alloc::Handle Vivarium::getHallOfFameAlloc()"); + } + + /*! + * \brief Get the vivarium evolution statistics. + * \return Constant handle to the vivarium evolution statistics. + */ + inline const Stats::Handle getStats() const + { + Beagle_StackTraceBeginM(); + return mStats; + Beagle_StackTraceEndM("const Stats::Handle Vivarium::getStats() const"); + } + + /*! + * \brief Get the vivarium evolution statistics. + * \return Handle to the vivarium evolution statistics. + */ + inline Stats::Handle getStats() + { + Beagle_StackTraceBeginM(); + return mStats; + Beagle_StackTraceEndM("Stats::Handle Vivarium::getStats()"); + } + + /*! + * \brief Get the statistics allocator. + * \return Handle to the evolution statistics allocator. + */ + inline const Stats::Alloc::Handle getStatsAlloc() const + { + Beagle_StackTraceBeginM(); + return mStatsAlloc; + Beagle_StackTraceEndM("const Stats::Alloc::Handle Vivarium::getStatsAlloc() const"); + } + + /*! + * \brief Get the statistics allocator. + * \return Handle to the evolution statistics allocator. + */ + inline Stats::Alloc::Handle getStatsAlloc() + { + Beagle_StackTraceBeginM(); + return mStatsAlloc; + Beagle_StackTraceEndM("Stats::Alloc::Handle Vivarium::getStatsAlloc()"); + } + + /*! + * \brief Set the hall-of-fame allocator. + * \param inHOFAlloc Hall-of-fame allocator to use. + */ + inline void setHallOfFameAlloc(HallOfFame::Alloc::Handle inHOFAlloc) + { + Beagle_StackTraceBeginM(); + mHOFAlloc = inHOFAlloc; + Beagle_StackTraceEndM("void Vivarium::setHallOfFameAlloc(HallOfFame::Alloc::Handle inHOFAlloc)"); + } + + /*! + * \brief Set the hall-of-fame. + * \param inHallOfFame Hall-of-fame to use. + */ + inline void setHallOfFame(HallOfFame::Handle inHallOfFame) + { + Beagle_StackTraceBeginM(); + mHallOfFame = inHallOfFame; + Beagle_StackTraceEndM("void Vivarium::setHallOfFame(HallOfFame::Handle inHallOfFame)"); + } + + /*! + * \brief Set the statistics allocator. + * \param inStatsAlloc Statistics allocator. + */ + inline void setStatsAlloc(Stats::Alloc::Handle inStatsAlloc) + { + Beagle_StackTraceBeginM(); + mStatsAlloc = inStatsAlloc; + Beagle_StackTraceEndM("void Vivarium::setStatsAlloc(Stats::Alloc::Handle inStatsAlloc)"); + } + + /*! + * \brief Set the statistics. + * \param inStats Statistics. + */ + inline void setStats(Stats::Handle inStats) + { + Beagle_StackTraceBeginM(); + mStats = inStats; + Beagle_StackTraceEndM("void Vivarium::setStats(Stats::Handle inStats)"); + } + +protected: + + HallOfFame::Alloc::Handle mHOFAlloc; //!< Hall-of-fame allocator. + HallOfFame::Handle mHallOfFame; //!< Vivarium's hall-of-fame. + Stats::Alloc::Handle mStatsAlloc; //!< Statistics allocator. + Stats::Handle mStats; //!< Vivarium statistics. + +public: + + virtual void read(PACC::XML::ConstIterator inIter); // Undefined for Vivarium! + +}; + +} + +#endif // Beagle_Vivarium_hpp + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/VivariumAlloc.hpp b/lib/beagle-3.0.3/beagle/include/beagle/VivariumAlloc.hpp new file mode 100644 index 0000000..e50ef4c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/VivariumAlloc.hpp @@ -0,0 +1,211 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/VivariumAlloc.hpp + * \brief Definition of the class VivariumAlloc. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#ifndef Beagle_VivariumAlloc_hpp +#define Beagle_VivariumAlloc_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Genotype.hpp" +#include "beagle/Individual.hpp" +#include "beagle/Deme.hpp" +#include "beagle/DemeAlloc.hpp" +#include "beagle/Stats.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerAllocator.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/ContainerAllocatorT.hpp" +#include "beagle/HallOfFame.hpp" + + +namespace Beagle { + +/*! + * \brief Typedef of the type from which class Beagle::VivariumAlloc inherits. + * \warning This is a workaround for MS Visual C++ .NET, which seems to have difficulty + * to fall on its feet with the type Vivarium::Bag::Alloc. + * \related Beagle::VivariumAlloc + * \ingroup Allocs + */ +typedef Deme::Bag::Alloc + VivariumAllocBaseType; + +/*! + * \class VivariumAlloc beagle/VivariumAlloc.hpp "beagle/VivariumAlloc.hpp" + * \brief Vivarium specific allocator type. + * \ingroup ECF + * \ingroup Pop + * \ingroup Allocs + */ +class VivariumAlloc : public VivariumAllocBaseType { + +public: + + //! VivariumAlloc allocator type. + typedef AllocatorT + Alloc; + //! VivariumAlloc handle type. + typedef PointerT + Handle; + //! VivariumAlloc bag type. + typedef ContainerT + Bag; + + explicit VivariumAlloc(Deme::Alloc::Handle inDemeAlloc=NULL); + explicit VivariumAlloc(Deme::Alloc::Handle inDemeAlloc, + Stats::Alloc::Handle inStatsAlloc, + HallOfFame::Alloc::Handle inHOFAlloc); + virtual ~VivariumAlloc() { } + + virtual Object* allocate() const; + virtual Object* clone(const Object& inOrigObj) const; + virtual Container* cloneData(const Container& inOrigContainer) const; + virtual void copy(Object& outCopyObj, const Object& inOrigObj) const; + virtual void copyData(Container& outCopyContainer, const Container& inOrigContainer) const; + + /*! + * \brief Get the hall-of-fame allocator of the vivarium. + * \return Hall-of-fame allocator. + */ + inline const HallOfFame::Alloc::Handle getHallOfFameAlloc() const + { + Beagle_StackTraceBeginM(); + return mHOFAlloc; + Beagle_StackTraceEndM("const HallOfFame::Alloc::Handle VivariumAlloc::getHallOfFameAlloc() const"); + } + + /*! + * \brief Get the hall-of-fame allocator of the vivarium. + * \return Hall-of-fame allocator. + */ + inline HallOfFame::Alloc::Handle getHallOfFameAlloc() + { + Beagle_StackTraceBeginM(); + return mHOFAlloc; + Beagle_StackTraceEndM("HallOfFame::Alloc::Handle VivariumAlloc::getHallOfFameAlloc()"); + } + + /*! + * \brief Set the hall-of-fame allocator of the vivarium. + * \param inHOFAlloc Hall-of-fame allocator. + */ + inline void setHallOfFameAlloc(HallOfFame::Alloc::Handle inHOFAlloc) + { + Beagle_StackTraceBeginM(); + mHOFAlloc = inHOFAlloc; + Beagle_StackTraceEndM("void VivariumAlloc::setHallOfFameAlloc(HallOfFame::Alloc::Handle inHOFAlloc)"); + } + + /*! + * \brief Get the statistics allocator of the vivarium. + * \return Statistics allocator. + */ + inline const Stats::Alloc::Handle getStatsAlloc() const + { + Beagle_StackTraceBeginM(); + return mStatsAlloc; + Beagle_StackTraceEndM("const Stats::Alloc::Handle VivariumAlloc::getStatsAlloc() const"); + } + + /*! + * \brief Get the statistics allocator of the vivarium. + * \return Statistics allocator. + */ + inline Stats::Alloc::Handle getStatsAlloc() + { + Beagle_StackTraceBeginM(); + return mStatsAlloc; + Beagle_StackTraceEndM("Stats::Alloc::Handle VivariumAlloc::getStatsAlloc()"); + } + + /*! + * \brief Set the statistics allocator of the vivarium. + * \param inStatsAlloc Statistics allocator. + */ + inline void setStatsAlloc(Stats::Alloc::Handle inStatsAlloc) + { + Beagle_StackTraceBeginM(); + mStatsAlloc = inStatsAlloc; + Beagle_StackTraceEndM("void VivariumAlloc::setStatsAlloc(Stats::Alloc::Handle inStatsAlloc)"); + } + + /*! + * \brief Get the deme allocator. + * \return Constant handle to the deme allocator. + */ + inline const Deme::Alloc::Handle getContainerTypeAlloc() const + { + Beagle_StackTraceBeginM(); + return castHandleT(mContainerTypeAlloc); + Beagle_StackTraceEndM("const Deme::Alloc::Handle VivariumAlloc::getContainerTypeAlloc() const"); + } + + /*! + * \brief Get the deme allocator. + * \return Handle to the deme allocator. + */ + inline Deme::Alloc::Handle getContainerTypeAlloc() + { + Beagle_StackTraceBeginM(); + return castHandleT(mContainerTypeAlloc); + Beagle_StackTraceEndM("Deme::Alloc::Handle VivariumAlloc::getContainerTypeAlloc()"); + } + + /*! + * \brief Set the deme allocator. + * \param inDemeAlloc The new deme allocator. + */ + inline void setContainerTypeAlloc(Deme::Alloc::Handle inDemeAlloc) + { + Beagle_StackTraceBeginM(); + mContainerTypeAlloc = inDemeAlloc; + Beagle_StackTraceEndM("void VivariumAlloc::setContainerTypeAlloc(Deme::Alloc::Handle inDemeAlloc)"); + } + +protected: + + HallOfFame::Alloc::Handle mHOFAlloc; //!< Hall-of-fame allocator. + Stats::Alloc::Handle mStatsAlloc; //!< Statistics allocator. + +}; + +} + +#endif // Beagle_VivariumAlloc_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/VivariumAllocT.hpp b/lib/beagle-3.0.3/beagle/include/beagle/VivariumAllocT.hpp new file mode 100644 index 0000000..631c241 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/VivariumAllocT.hpp @@ -0,0 +1,264 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/VivariumAllocT.hpp + * \brief Implementation of the class template VivariumAllocT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#ifndef Beagle_VivariumAllocT_hpp +#define Beagle_VivariumAllocT_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/Container.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/VivariumAlloc.hpp" +#include "beagle/Deme.hpp" +#include "beagle/Stats.hpp" +#include "beagle/BadCastException.hpp" + +namespace Beagle { + + +/*! + * \class VivariumAllocT beagle/VivariumAllocT.hpp "beagle/VivariumAllocT.hpp" + * \brief Allocator template class for vivarium derived types. + * \param T The vivarium type allocated. + * \param BaseType The base type from which the actual allocator type is derived. + * \param DemeAllocType Deme allocator type used to fill the Vivariums. + * \ingroup ECF + * \ingroup Pop + * \ingroup Allocs + */ +template +class VivariumAllocT : public BaseType { + +public: + + //! VivariumAllocT allocator type. + typedef AllocatorT,typename BaseType::Alloc> + Alloc; + //! VivariumAllocT handle type. + typedef PointerT,typename BaseType::Handle> + Handle; + //! VivariumAllocT mixed bag type. + typedef ContainerT,typename BaseType::Bag> + Bag; + + explicit VivariumAllocT(typename DemeAllocType::Handle inDemeAlloc=NULL); + explicit VivariumAllocT(typename DemeAllocType::Handle inDemeAlloc, + Beagle::Stats::Alloc::Handle inStatsAlloc, + Beagle::HallOfFame::Alloc::Handle inHOFAlloc); + virtual ~VivariumAllocT() { } + + virtual Object* allocate() const; + virtual Object* clone(const Object& inOrigObj) const; + virtual Container* cloneData(const Container& inOrigContainer) const; + virtual void copy(Object& outCopyObj, const Object& inOrigObj) const; + virtual void copyData(Container& outCopyContainer, const Container& inOrigContainer) const; + + /*! + * \brief Get the deme allocator. + * \return Constant handle to the deme allocator. + */ + inline const typename DemeAllocType::Handle getContainerTypeAlloc() const + { + Beagle_StackTraceBeginM(); + return castHandleT(BaseType::mContainerTypeAlloc); + Beagle_StackTraceEndM("const DemeAllocType::Handle VivariumAllocT::getContainerTypeAlloc() const"); + } + + /*! + * \brief Get the bag contained type allocator. + * \return Handle to the bag contained type allocator. + */ + inline typename DemeAllocType::Handle getContainerTypeAlloc() + { + Beagle_StackTraceBeginM(); + return castHandleT(BaseType::mContainerTypeAlloc); + Beagle_StackTraceEndM("DemeAllocType::Handle VivariumAllocT::getContainerTypeAlloc()"); + } + + /*! + * \brief Set the bag contained type allocator. + * \param inDemeAllocType The new bag contained type allocator. + */ + inline void setContainerTypeAlloc(typename DemeAllocType::Handle inDemeAllocType) + { + Beagle_StackTraceBeginM(); + BaseType::mContainerTypeAlloc = inDemeAllocType; + Beagle_StackTraceEndM("void VivariumAllocT::setContainerTypeAlloc(DemeAllocType::Handle inDemeAllocType)"); + } + +}; + +} + + +/*! + * \brief Constructor of vivarium allocator from a deme allocator. + * \param inDemeAlloc Type allocator given to the deme allocated. + */ +template +Beagle::VivariumAllocT::VivariumAllocT( + typename DemeAllocType::Handle inDemeAlloc) : + BaseType(inDemeAlloc) +{ } + + +/*! + * \brief Constructor of vivarium allocator from a deme allocator and a statistics allocator. + * \param inDemeAlloc Type allocator given to the deme allocated. + * \param inStatsAlloc Statistics type allocator. + * \param inHOFAlloc Hall-of-fame allocator. + */ +template +Beagle::VivariumAllocT::VivariumAllocT( + typename DemeAllocType::Handle inDemeAlloc, + Beagle::Stats::Alloc::Handle inStatsAlloc, + Beagle::HallOfFame::Alloc::Handle inHOFAlloc) : + BaseType(inDemeAlloc, inStatsAlloc, inHOFAlloc) +{ } + + +/*! + * \brief Allocate a new vivarium and the heap by giving it the type allocator. + * \return Pointer to the allocated vivarium. + */ +template +Beagle::Object* Beagle::VivariumAllocT::allocate() const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + T* lT = new T(castHandleT(BaseType::mContainerTypeAlloc), + BaseType::mStatsAlloc, BaseType::mHOFAlloc); + if(!lT) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lT; +#else // BEAGLE_NDEBUG + return new T(castHandleT(BaseType::mContainerTypeAlloc), + BaseType::mStatsAlloc, BaseType::mHOFAlloc); +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object* VivariumAllocT::allocate() const"); +} + + +/*! + * \brief Allocate a new vivarium on the heap that is a clone an existing vivarium. + * \param inOrigObj Constant reference to the original vivarium object to clone. + * \return Pointer to the allocated vivarium. + */ +template +Beagle::Object* Beagle::VivariumAllocT::clone( + const Beagle::Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigObj); + T* lT = new T(lOrigT); + if(!lT) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lT; +#else // BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigObj); + return new T(lOrigT); +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object* VivariumAllocT::clone(const Object& inOrigObj) const"); +} + + +/*! + * \brief Allocate a new vivarium on the heap that is a clone an existing vivarium. + * Make a complete copy of the vivarium. + * \param inOrigContainer Constant reference to the original vivarium object to clone. + * \return Pointer to the allocated vivarium. + */ +template +Beagle::Container* Beagle::VivariumAllocT::cloneData( + const Beagle::Container& inOrigContainer) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigContainer); + T* lT = new T(castHandleT(BaseType::mContainerTypeAlloc), + BaseType::mStatsAlloc, BaseType::mHOFAlloc); + if(!lT) throw Beagle_InternalExceptionM("Out-of-memory!"); + lT->copyData(lOrigT); + return lT; +#else // BEAGLE_NDEBUG + const T& lOrigT = castObjectT(inOrigContainer); + T* lT = new T(castHandleT(BaseType::mContainerTypeAlloc), + BaseType::mStatsAlloc, BaseType::mHOFAlloc); + lT->copyData(lOrigT); + return lT; +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Container* VivariumAllocT::cloneData(const Container& inOrigContainer) const"); +} + + +/*! + * \brief Copy a vivarium into another. + * \param outCopyObj Constant reference to the original vivarium to copy. + * \param inOrigObj Reference to the vivarium that is a copy of the original. + */ +template +void Beagle::VivariumAllocT::copy( + Beagle::Object& outCopyObj, const Beagle::Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); + T& lCopyT = castObjectT(outCopyObj); + const T& lOrigT = castObjectT(inOrigObj); + lCopyT = lOrigT; + Beagle_StackTraceEndM("void VivariumAllocT::copy(Object& outCopyObj, const Object& inOrigObj) const"); +} + + +/*! + * \brief Copy a vivarium into another with the contained data. + * \param outCopyContainer Constant reference to the original vivarium to copy. + * \param inOrigContainer Reference to the vivarium that is a copy of the original. + */ +template +void Beagle::VivariumAllocT::copyData( + Beagle::Container& outCopyContainer, const Beagle::Container& inOrigContainer) const +{ + Beagle_StackTraceBeginM(); + T& lCopyT = castObjectT(outCopyContainer); + const T& lOrigT = castObjectT(inOrigContainer); + lCopyT.copyData(lOrigT); + Beagle_StackTraceEndM("void VivariumAllocT::copyData(Container& outCopyContainer, const Container& inOrigContainer) const"); +} + + +#endif // Beagle_VivariumAlloc_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/WrapperT.hpp b/lib/beagle-3.0.3/beagle/include/beagle/WrapperT.hpp new file mode 100644 index 0000000..f732b9a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/WrapperT.hpp @@ -0,0 +1,251 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/WrapperT.hpp + * \brief Definition and implementation of template WrapperT. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +/*! + * \defgroup Adapt Object Wrappers + * \ingroup OOF + * \brief Object wrapper and predefined adapted types, part of the Object Oriented Foundations. + * + * Given all this functionalities, the predominance of the object abstraction in Open BEAGLE's + * design is evident. But, if a user has some elaborated classes, or if a user wants to use other + * libraries in conjunction of Open BEAGLE, it might be restrictive that everything must inherit from + * the superclass Beagle::Object. The user might not want to redefine everything or to use multiple + * inheritance to created hybrid classes. To enhance the user experience, a class template that would + * keep the use of Open BEAGLE simple is defined: the object wrapper. The wrapper is a simple adapter + * of any type to the Open BEAGLE Beagle::Object interface. The concept of object wrapper is based + * upon the \e Adapter design pattern. + * + * The wrapper is defined in the C++ template Beagle::WrapperT. The template maps the Beagle::Object + * interface to the usual methods of the wrapped type. The template got some casting operators to + * indifferently use the wrapper as the wrapped type. Furthermore, some types that are wrappers of + * the C++ fundamental types are defined as standard types of Open BEAGLE. + * + */ + + +#ifndef Beagle_WrapperT_hpp +#define Beagle_WrapperT_hpp + +#include +#include + +#include "XML.hpp" + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Exception.hpp" +#include "beagle/castObjectT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/IOException.hpp" + +namespace Beagle { + + +/*! + * \class WrapperT beagle/WrapperT.hpp "beagle/WrapperT.hpp" + * \brief Template of an Wrapper that adapt a type to the Beagle Object interface. + * \param T The type wrapped. + * \ingroup OOF + * \ingroup Adapt + * + * A type that is wrapped must have the following operator predefined: + * \li bool operator<(const T&, const T&); to compare strict weak ordering two wrapped values. + * \li bool operator==(const T&, const T&); to compare equality of two wrapped values. + * \li std::ostream& operator<<(std::ostream&, const T&); to output value wrapped. + * \li std::istream& operator>>(std::istream&, T&); to input value wrapped. + */ +template +class WrapperT : public Object { + +public: + + //! WrapperT allocator type. + typedef AllocatorT< WrapperT, Object::Alloc > + Alloc; + //! WrapperT handle type. + typedef PointerT< WrapperT, Object::Handle > + Handle; + //! WrapperT bag type. + typedef ContainerT< WrapperT, Object::Bag > + Bag; + + WrapperT() { } + WrapperT(const T& inWrappedValue); + virtual ~WrapperT() { } + + virtual bool isEqual(const Object& inRightObj) const; + virtual bool isLess(const Object& inRightObj) const; + virtual void read(PACC::XML::ConstIterator inIter); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent) const; + + /*! + * \brief Cast the actual wrapper type into the wrapped type. + * \return A reference to the wrapped value. + */ + inline operator T() const + { + Beagle_StackTraceBeginM(); + return mWrappedValue; + Beagle_StackTraceEndM("WrapperT::operator T() const"); + } + + /*! + * \brief Get the wrapped type value. + * \return A reference to the wrapped value. + */ + inline T& getWrappedValue() + { + Beagle_StackTraceBeginM(); + return mWrappedValue; + Beagle_StackTraceEndM("T& WrapperT::getWrappedValue()"); + } + + /*! + * \brief Get the wrapped type value. + * \return A constant reference to the wrapped value. + */ + inline const T& getWrappedValue() const + { + Beagle_StackTraceBeginM(); + return mWrappedValue; + Beagle_StackTraceEndM("const T& WrapperT::getWrappedValue() const"); + } + + + /*! + * \brief Set the wrapped type value. + * \param inNewValue Set the wrapped value. + */ + inline void setWrappedValue(const T& inNewValue) + { + Beagle_StackTraceBeginM(); + mWrappedValue = inNewValue; + Beagle_StackTraceEndM("void WrapperT::setWrappedValue(const T& inNewValue)"); + } + +private: + T mWrappedValue; //!< Wrapped type value. + +}; + +} + + +/*! + * \brief Constructor a wrapper with the value given. + * \param inWrappedValue Value of the wrapped type instance. + */ +template +Beagle::WrapperT::WrapperT(const T& inWrappedValue) : + mWrappedValue(inWrappedValue) +{ } + + +/*! + * \brief Compare the equality of two wrapper of a given type, using EqualCompType. + * \param inRightObj Object reference to the right object to compare. + * \return True if wrappers are equal, false if not. + */ +template +bool Beagle::WrapperT::isEqual(const Beagle::Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const WrapperT& lRightWrapper = castObjectT&>(inRightObj); + return mWrappedValue == lRightWrapper.mWrappedValue; + Beagle_StackTraceEndM("bool WrapperT::isEqual(const Object& inRightObj) const"); +} + + +/*! + * \brief Get the strict weak order of two wrapper of a given type, using LessCompType. + * \param inRightObj Object reference to the right object from which we get the order. + * \return True if left (this) wrapper is less than the right one, false if not. + */ +template +bool Beagle::WrapperT::isLess(const Beagle::Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const WrapperT& lRightWrapper = castObjectT&>(inRightObj); + return mWrappedValue < lRightWrapper.mWrappedValue; + Beagle_StackTraceEndM("bool WrapperT::isLess(const Object& inRightObj) const"); +} + + +/*! + * \brief Read a wrapper from a XML iterator. + * \param inIter XML iterator from which the wrapper is read. + * \throw Beagle::IOException If a problem occured during the operation (usually bad format). + */ +template +void Beagle::WrapperT::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + if(!inIter) mWrappedValue = T(); + else { + if(inIter->getType() != PACC::XML::eString) + throw Beagle_IOExceptionNodeM(*inIter, "value of wrapper not found"); + if(inIter->getValue().empty()) mWrappedValue = T(); + else { + std::istringstream lISS(inIter->getValue()); + lISS >> mWrappedValue; + } + } + Beagle_StackTraceEndM("void WrapperT::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Write a wrapper into a XML streamer. + * \param ioStreamer XML streamer into which the wrapper is written. + * \param inIndent Whether XML output should be indented. + */ +template +void Beagle::WrapperT::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + std::ostringstream lOSS; + lOSS << mWrappedValue << std::flush; + ioStreamer.insertStringContent(lOSS.str()); + Beagle_StackTraceEndM("void WrapperT::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + +#endif // Beagle_WrapperT_hpp + + + diff --git a/lib/beagle-3.0.3/beagle/include/beagle/castObjectT.hpp b/lib/beagle-3.0.3/beagle/include/beagle/castObjectT.hpp new file mode 100644 index 0000000..fa71d84 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/castObjectT.hpp @@ -0,0 +1,251 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/castObjectT.hpp + * \brief Implementation of castObjectT templated functions. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#ifndef Beagle_castObjectT_hpp +#define Beagle_castObjectT_hpp + +#include +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/BadCastException.hpp" + + +namespace Beagle { + + +/*! + * \brief Cast a Beagle::Object pointer into a CastType pointer. + * \param inObject Object pointer to be casted. + * \return Casted pointer to the object. + * \relates Beagle::Object + * \ingroup ObjPt + * \warning If RTTI is enabled and the typecast is invalid, the function return a NULL pointer. + */ +template +inline CastPointerType castObjectT(Beagle::Object* inObject) +{ + Beagle_StackTraceBeginM(); +#ifdef BEAGLE_NDEBUG + return static_cast(inObject); +#else // BEAGLE_NDEBUG +#ifdef BEAGLE_HAVE_DYNAMIC_CAST + return dynamic_cast(inObject); +#else // BEAGLE_HAVE_DYNAMIC_CAST + return static_cast(inObject); +#endif // BEAGLE_HAVE_DYNAMIC_CAST +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("CastPointerType castObjectT(Object* inObject)"); +} + + +/*! + * \brief Cast a Beagle::Object constant pointer into a CastType constant pointer. + * \param inObject Object constant pointer to be casted. + * \return Casted constant pointer to the object. + * \relates Beagle::Object + * \ingroup ObjPt + * \warning If RTTI is enabled and the typecast is invalid, the function return a NULL pointer. + */ +template +inline CastPointerType castObjectT(const Beagle::Object* inObject) +{ + Beagle_StackTraceBeginM(); +#ifdef BEAGLE_NDEBUG + return static_cast(inObject); +#else // BEAGLE_NDEBUG +#ifdef BEAGLE_HAVE_DYNAMIC_CAST + return dynamic_cast(inObject); +#else // BEAGLE_HAVE_DYNAMIC_CAST + return static_cast(inObject); +#endif // BEAGLE_HAVE_DYNAMIC_CAST +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("CastPointerType castObjectT(const Object* inObject)"); +} + + +/*! + * \brief Cast a Beagle::Object reference into a CastType reference. + * \param inObject Object reference to be casted. + * \return Casted reference to the object. + * \throw Beagle::BadCastException If RTTI is enabled and the typecast is invalid. + * \relates Beagle::Object + * \ingroup ObjPt + */ +template +inline CastRefType castObjectT(Beagle::Object& inObject) +{ + Beagle_StackTraceBeginM(); +#ifdef BEAGLE_NDEBUG + return static_cast(inObject); +#else // BEAGLE_NDEBUG +#ifdef BEAGLE_HAVE_DYNAMIC_CAST + try { + return dynamic_cast(inObject); + } catch(...) { + string lMessage("Unable to cast object reference into desired type! "); + lMessage += "Type of the object to cast: "; + lMessage += typeid(inObject).name(); + lMessage += ", \t"; + lMessage += "Desired type cast: "; + lMessage += typeid(CastRefType).name(); + lMessage += "."; + throw Beagle_BadCastExceptionM(lMessage); + } + return static_cast(inObject); +#else // BEAGLE_HAVE_DYNAMIC_CAST + return static_cast(inObject); +#endif // BEAGLE_HAVE_DYNAMIC_CAST +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("CastRefType castObjectT(Object& inObject)"); +} + + +/*! + * \brief Cast a Beagle::Object constant reference into a CastType constant reference. + * \param inObject Object constant reference to be casted. + * \return Casted constant reference to the object. + * \throw Beagle::BadCastException If RTTI is enabled and the typecast is invalid. + * \relates Beagle::Object + * \ingroup ObjPt + */ +template +inline CastConstRefType castObjectT(const Beagle::Object& inObject) +{ + Beagle_StackTraceBeginM(); +#ifdef BEAGLE_NDEBUG + return static_cast(inObject); +#else // BEAGLE_NDEBUG +#ifdef BEAGLE_HAVE_DYNAMIC_CAST + try { + return dynamic_cast(inObject); + } catch(...) { + string lMessage("Unable to cast object reference into desired type! "); + lMessage += "Type of the object to cast: "; + lMessage += typeid(inObject).name(); + lMessage += ", \t"; + lMessage += "Desired type cast: "; + lMessage += typeid(CastConstRefType).name(); + lMessage += "."; + throw Beagle_BadCastExceptionM(lMessage); + } + return static_cast(inObject); +#else // BEAGLE_HAVE_DYNAMIC_CAST + return static_cast(inObject); +#endif // BEAGLE_HAVE_DYNAMIC_CAST +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("CastConstRefType castObjectT(const Object& inObject)"); +} + + +/*! + * \brief Cast a Beagle::Object smart pointer into a CastType handle type. + * \param inObject Object smart pointer to be casted. + * \return Casted smart pointer to the object. + * \throw Beagle::BadCastException If RTTI is enabled and the typecast is invalid. + * \relates Beagle::Object + * \ingroup ObjPt + */ +template +inline typename CastType::Handle& castHandleT(Beagle::Object::Handle& inObject) +{ + Beagle_StackTraceBeginM(); +#ifdef BEAGLE_NDEBUG + return static_cast(inObject); +#else // BEAGLE_NDEBUG +#ifdef BEAGLE_HAVE_DYNAMIC_CAST + if(inObject.getPointer()) { + if( dynamic_cast(inObject.getPointer()) == NULL ) { + string lMessage("Unable to cast object handle into desired type! "); + lMessage += "Type of the object to cast: "; + lMessage += typeid(*inObject).name(); + lMessage += ", \t"; + lMessage += "Desired type cast: "; + lMessage += typeid(CastType).name(); + lMessage += "."; + throw Beagle_BadCastExceptionM(lMessage); + } + } + return static_cast(inObject); +#else // BEAGLE_HAVE_DYNAMIC_CAST + return static_cast(inObject); +#endif // BEAGLE_HAVE_DYNAMIC_CAST +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("CastType::Handle& castHandleT(Object::Handle& inObject)"); +} + + +/*! + * \brief Cast a constant Beagle::Object smart pointer into a constant CastType handle type. + * \param inObject Constant Object smart pointer to be casted. + * \return Casted constant smart pointer to the object. + * \throw Beagle::BadCastException If RTTI is enabled and the typecast is invalid. + * \relates Beagle::Object + * \ingroup ObjPt + */ +template +inline const typename CastType::Handle& castHandleT(const Beagle::Object::Handle& inObject) +{ + Beagle_StackTraceBeginM(); +#ifdef BEAGLE_NDEBUG + return static_cast(inObject); +#else // BEAGLE_NDEBUG +#ifdef BEAGLE_HAVE_DYNAMIC_CAST + if(inObject.getPointer()) { + if( dynamic_cast(inObject.getPointer()) == NULL ) { + string lMessage("Unable to cast object handle into desired type! "); + lMessage += "Type of the object to cast: "; + lMessage += typeid(*inObject).name(); + lMessage += ", \t"; + lMessage += "Desired type cast: "; + lMessage += typeid(CastType).name(); + lMessage += "."; + throw Beagle_BadCastExceptionM(lMessage); + } + } + return static_cast(inObject); +#else // BEAGLE_HAVE_DYNAMIC_CAST + return static_cast(inObject); +#endif // BEAGLE_HAVE_DYNAMIC_CAST +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("const CastType::Handle& castHandleT(const Object::Handle& inObject)"); +} + +} + +#endif // Beagle_castObjectT_hpp diff --git a/lib/beagle-3.0.3/beagle/include/beagle/config.hpp b/lib/beagle-3.0.3/beagle/include/beagle/config.hpp new file mode 100644 index 0000000..a7c2ada --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/config.hpp @@ -0,0 +1,264 @@ +#ifndef _BEAGLE_INCLUDE_BEAGLE_CONFIG_HPP +#define _BEAGLE_INCLUDE_BEAGLE_CONFIG_HPP 1 + +/* beagle/include/beagle/config.hpp. Generated automatically at end of configure. */ +/* config/config-h. Generated from config-h.in by configure. */ +/* config/config-h.in. Generated from configure.ac by autoheader. */ + +/* define if compilation of tests is active */ +/* #undef BEAGLE_COMPILE_TESTS */ + +/* define if fast compilation mode is active */ +#ifndef BEAGLE_FAST_COMPILATION +#define BEAGLE_FAST_COMPILATION /**/ +#endif + +/* define if full debug mode is active */ +/* #undef BEAGLE_FULL_DEBUG */ + +/* define if bool is a built-in type */ +#ifndef BEAGLE_HAVE_BOOL +#define BEAGLE_HAVE_BOOL /**/ +#endif + +/* define if the compiler supports const_cast<> */ +#ifndef BEAGLE_HAVE_CONST_CAST +#define BEAGLE_HAVE_CONST_CAST /**/ +#endif + +/* define if the compiler supports default template parameters */ +#ifndef BEAGLE_HAVE_DEFAULT_TEMPLATE_PARAMETERS +#define BEAGLE_HAVE_DEFAULT_TEMPLATE_PARAMETERS /**/ +#endif + +/* define if file /dev/urandom exists. */ +#ifndef BEAGLE_HAVE_DEV_URANDOM +#define BEAGLE_HAVE_DEV_URANDOM /**/ +#endif + +/* Define to 1 if you have the header file. */ +#ifndef BEAGLE_HAVE_DLFCN_H +#define BEAGLE_HAVE_DLFCN_H 1 +#endif + +/* define if the compiler supports dynamic_cast<> */ +#ifndef BEAGLE_HAVE_DYNAMIC_CAST +#define BEAGLE_HAVE_DYNAMIC_CAST /**/ +#endif + +/* define if the compiler supports exceptions */ +#ifndef BEAGLE_HAVE_EXCEPTIONS +#define BEAGLE_HAVE_EXCEPTIONS /**/ +#endif + +/* define if the compiler supports the explicit keyword */ +#ifndef BEAGLE_HAVE_EXPLICIT +#define BEAGLE_HAVE_EXPLICIT /**/ +#endif + +/* define if the compiler supports __gnu_cxx::hash_map */ +/* #undef BEAGLE_HAVE_GNUCXX_HASHMAP */ + +/* define if the compiler supports __gnu_cxx::hash_set */ +/* #undef BEAGLE_HAVE_GNUCXX_HASHSET */ + +/* Define to 1 if you have the header file. */ +#ifndef BEAGLE_HAVE_INTTYPES_H +#define BEAGLE_HAVE_INTTYPES_H 1 +#endif + +/* define if the macro isfinite exist */ +/* #undef BEAGLE_HAVE_ISFINITE */ + +/* Define to 1 if you have the `z' library (-lz). */ +#ifndef BEAGLE_HAVE_LIBZ +#define BEAGLE_HAVE_LIBZ 1 +#endif + +/* define if long long int type is supported */ +#ifndef BEAGLE_HAVE_LONG_LONG +#define BEAGLE_HAVE_LONG_LONG /**/ +#endif + +/* define if the compiler implements namespaces */ +#ifndef BEAGLE_HAVE_NAMESPACES +#define BEAGLE_HAVE_NAMESPACES /**/ +#endif + +/* define if the compiler has numeric_limits */ +#ifndef BEAGLE_HAVE_NUMERIC_LIMITS +#define BEAGLE_HAVE_NUMERIC_LIMITS /**/ +#endif + +/* Define if you have POSIX threads libraries and header files. */ +#ifndef BEAGLE_HAVE_PTHREAD +#define BEAGLE_HAVE_PTHREAD 1 +#endif + +/* define if the compiler supports reinterpret_cast<> */ +#ifndef BEAGLE_HAVE_REINTERPRET_CAST +#define BEAGLE_HAVE_REINTERPRET_CAST /**/ +#endif + +/* define if the compiler supports Run-Time Type Identification */ +#ifndef BEAGLE_HAVE_RTTI +#define BEAGLE_HAVE_RTTI /**/ +#endif + +/* define if the compiler has stringstream */ +#ifndef BEAGLE_HAVE_SSTREAM +#define BEAGLE_HAVE_SSTREAM /**/ +#endif + +/* define if the compiler supports static_cast<> */ +#ifndef BEAGLE_HAVE_STATIC_CAST +#define BEAGLE_HAVE_STATIC_CAST /**/ +#endif + +/* define if the compiler supports ISO C++ standard library */ +#ifndef BEAGLE_HAVE_STD +#define BEAGLE_HAVE_STD /**/ +#endif + +/* define if the compiler supports stdext::hash_map */ +/* #undef BEAGLE_HAVE_STDEXT_HASHMAP */ + +/* define if the compiler supports stdext::hash_set */ +/* #undef BEAGLE_HAVE_STDEXT_HASHSET */ + +/* Define to 1 if you have the header file. */ +#ifndef BEAGLE_HAVE_STDINT_H +#define BEAGLE_HAVE_STDINT_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef BEAGLE_HAVE_STDIO_H +#define BEAGLE_HAVE_STDIO_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef BEAGLE_HAVE_STDLIB_H +#define BEAGLE_HAVE_STDLIB_H 1 +#endif + +/* define if the compiler supports std::hash_map */ +/* #undef BEAGLE_HAVE_STD_HASHMAP */ + +/* define if the compiler supports std::hash_set */ +/* #undef BEAGLE_HAVE_STD_HASHSET */ + +/* define if the compiler supports Standard Template Library */ +#ifndef BEAGLE_HAVE_STL +#define BEAGLE_HAVE_STL /**/ +#endif + +/* Define to 1 if you have the header file. */ +#ifndef BEAGLE_HAVE_STRINGS_H +#define BEAGLE_HAVE_STRINGS_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef BEAGLE_HAVE_STRING_H +#define BEAGLE_HAVE_STRING_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef BEAGLE_HAVE_SYS_STAT_H +#define BEAGLE_HAVE_SYS_STAT_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#ifndef BEAGLE_HAVE_SYS_TYPES_H +#define BEAGLE_HAVE_SYS_TYPES_H 1 +#endif + +/* define if the compiler supports basic templates */ +#ifndef BEAGLE_HAVE_TEMPLATES +#define BEAGLE_HAVE_TEMPLATES /**/ +#endif + +/* define if the compiler supports template-qualified base class specifiers */ +/* #undef BEAGLE_HAVE_TEMPLATE_QUALIFIED_BASE_CLASS */ + +/* define if the compiler supports template-qualified return types */ +#ifndef BEAGLE_HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE +#define BEAGLE_HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE /**/ +#endif + +/* define if the compiler supports function matching with argument types which + are template scope-qualified */ +#ifndef BEAGLE_HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING +#define BEAGLE_HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING /**/ +#endif + +/* define if the compiler recognizes typename */ +#ifndef BEAGLE_HAVE_TYPENAME +#define BEAGLE_HAVE_TYPENAME /**/ +#endif + +/* Define to 1 if you have the header file. */ +#ifndef BEAGLE_HAVE_UNISTD_H +#define BEAGLE_HAVE_UNISTD_H 1 +#endif + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#ifndef BEAGLE_LT_OBJDIR +#define BEAGLE_LT_OBJDIR ".libs/" +#endif + +/* define if some debug code is disabled */ +/* #undef BEAGLE_NDEBUG */ + +/* Name of package */ +#ifndef BEAGLE_PACKAGE +#define BEAGLE_PACKAGE "beagle" +#endif + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef BEAGLE_PACKAGE_BUGREPORT +#define BEAGLE_PACKAGE_BUGREPORT "cgagne@gmail.com" +#endif + +/* Define to the full name of this package. */ +#ifndef BEAGLE_PACKAGE_NAME +#define BEAGLE_PACKAGE_NAME "Open BEAGLE" +#endif + +/* Define to the full name and version of this package. */ +#ifndef BEAGLE_PACKAGE_STRING +#define BEAGLE_PACKAGE_STRING "Open BEAGLE 3.0.3" +#endif + +/* Define to the one symbol short name of this package. */ +#ifndef BEAGLE_PACKAGE_TARNAME +#define BEAGLE_PACKAGE_TARNAME "beagle" +#endif + +/* Define to the home page for this package. */ +#ifndef BEAGLE_PACKAGE_URL +#define BEAGLE_PACKAGE_URL "" +#endif + +/* Define to the version of this package. */ +#ifndef BEAGLE_PACKAGE_VERSION +#define BEAGLE_PACKAGE_VERSION "3.0.3" +#endif + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +/* #undef BEAGLE_PTHREAD_CREATE_JOINABLE */ + +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ +#ifndef BEAGLE_STDC_HEADERS +#define BEAGLE_STDC_HEADERS 1 +#endif + +/* Version number of package */ +#ifndef BEAGLE_VERSION +#define BEAGLE_VERSION "3.0.3" +#endif + +/* once: _BEAGLE_INCLUDE_BEAGLE_CONFIG_HPP */ +#endif diff --git a/lib/beagle-3.0.3/beagle/include/beagle/config.hpp.msvcpp b/lib/beagle-3.0.3/beagle/include/beagle/config.hpp.msvcpp new file mode 100755 index 0000000..7a9d540 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/config.hpp.msvcpp @@ -0,0 +1,232 @@ +#ifndef _BEAGLE_INCLUDE_BEAGLE_CONFIG_HPP +#define _BEAGLE_INCLUDE_BEAGLE_CONFIG_HPP 1 + +/* beagle/include/beagle/config.hpp. Generated automatically at end of configure. */ +/* config/config-h. Generated by configure. */ +/* config/config-h.in. Generated from configure.in by autoheader. */ + +/* define if full debug mode is active */ +/* #undef BEAGLE_FULL_DEBUG */ + +/* define if bool is a built-in type */ +#ifndef BEAGLE_HAVE_BOOL +#define BEAGLE_HAVE_BOOL +#endif + +/* define if the compiler supports const_cast<> */ +#ifndef BEAGLE_HAVE_CONST_CAST +#define BEAGLE_HAVE_CONST_CAST +#endif + +/* define if the compiler supports default template parameters */ +#ifndef BEAGLE_HAVE_DEFAULT_TEMPLATE_PARAMETERS +#define BEAGLE_HAVE_DEFAULT_TEMPLATE_PARAMETERS +#endif + +/* Define to 1 if you have the header file. */ +// #ifndef BEAGLE_HAVE_DLFCN_H +// #define BEAGLE_HAVE_DLFCN_H 1 +// #endif + +/* define if the compiler supports dynamic_cast<> */ +#ifndef BEAGLE_HAVE_DYNAMIC_CAST +#define BEAGLE_HAVE_DYNAMIC_CAST +#endif + +/* define if the compiler supports exceptions */ +#ifndef BEAGLE_HAVE_EXCEPTIONS +#define BEAGLE_HAVE_EXCEPTIONS +#endif + +/* define if the compiler supports the explicit keyword */ +#ifndef BEAGLE_HAVE_EXPLICIT +#define BEAGLE_HAVE_EXPLICIT +#endif + +/* define if the compiler has hash_map */ +/* #undef BEAGLE_HAVE_HASH_MAP */ + +/* define if the compiler has hash_set */ +/* #undef BEAGLE_HAVE_HASH_SET */ + +/* Define to 1 if you have the header file. */ +// #ifndef BEAGLE_HAVE_INTTYPES_H +// #define BEAGLE_HAVE_INTTYPES_H 1 +// #endif + +/* define if the macro isfinite exist */ +/* #undef BEAGLE_HAVE_ISFINITE */ + +/* Define to 1 if you have the `z' library (-lz). */ +// #ifndef BEAGLE_HAVE_LIBZ +// #define BEAGLE_HAVE_LIBZ 1 +// #endif + +/* define if long long int type is supported */ +/* #undef BEAGLE_HAVE_LONG_LONG */ + +/* Define to 1 if you have the header file. */ +// #ifndef BEAGLE_HAVE_MEMORY_H +// #define BEAGLE_HAVE_MEMORY_H 1 +// #endif + +/* define if the compiler implements namespaces */ +#ifndef BEAGLE_HAVE_NAMESPACES +#define BEAGLE_HAVE_NAMESPACES +#endif + +/* define if the compiler has numeric_limits */ +// #ifndef BEAGLE_HAVE_NUMERIC_LIMITS +// #define BEAGLE_HAVE_NUMERIC_LIMITS +// #endif + +/* Define if you have POSIX threads libraries and header files. */ +// #ifndef BEAGLE_HAVE_PTHREAD +// #define BEAGLE_HAVE_PTHREAD 1 +// #endif + +/* define if the compiler supports reinterpret_cast<> */ +#ifndef BEAGLE_HAVE_REINTERPRET_CAST +#define BEAGLE_HAVE_REINTERPRET_CAST +#endif + +/* define if the compiler supports Run-Time Type Identification */ +#ifndef BEAGLE_HAVE_RTTI +#define BEAGLE_HAVE_RTTI +#endif + +/* define if the compiler has stringstream */ +#ifndef BEAGLE_HAVE_SSTREAM +#define BEAGLE_HAVE_SSTREAM +#endif + +/* define if the compiler supports static_cast<> */ +#ifndef BEAGLE_HAVE_STATIC_CAST +#define BEAGLE_HAVE_STATIC_CAST +#endif + +/* define if the compiler supports ISO C++ standard library */ +#ifndef BEAGLE_HAVE_STD +#define BEAGLE_HAVE_STD +#endif + +/* Define to 1 if you have the header file. */ +// #ifndef BEAGLE_HAVE_STDINT_H +// #define BEAGLE_HAVE_STDINT_H 1 +// #endif + +/* Define to 1 if you have the header file. */ +#ifndef BEAGLE_HAVE_STDLIB_H +#define BEAGLE_HAVE_STDLIB_H 1 +#endif + +/* define if the compiler supports Standard Template Library */ +#ifndef BEAGLE_HAVE_STL +#define BEAGLE_HAVE_STL +#endif + +/* Define to 1 if you have the header file. */ +// #ifndef BEAGLE_HAVE_STRINGS_H +// #define BEAGLE_HAVE_STRINGS_H 1 +// #endif + +/* Define to 1 if you have the header file. */ +#ifndef BEAGLE_HAVE_STRING_H +#define BEAGLE_HAVE_STRING_H 1 +#endif + +/* Define to 1 if you have the header file. */ +// #ifndef BEAGLE_HAVE_SYS_STAT_H +// #define BEAGLE_HAVE_SYS_STAT_H 1 +// #endif + +/* Define to 1 if you have the header file. */ +// #ifndef BEAGLE_HAVE_SYS_TYPES_H +// #define BEAGLE_HAVE_SYS_TYPES_H 1 +// #endif + +/* define if the compiler supports basic templates */ +#ifndef BEAGLE_HAVE_TEMPLATES +#define BEAGLE_HAVE_TEMPLATES +#endif + +/* define if the compiler supports template-qualified base class specifiers */ +#ifndef BEAGLE_HAVE_TEMPLATE_QUALIFIED_BASE_CLASS +#define BEAGLE_HAVE_TEMPLATE_QUALIFIED_BASE_CLASS +#endif + +/* define if the compiler supports template-qualified return types */ +#ifndef BEAGLE_HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE +#define BEAGLE_HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE +#endif + +/* define if the compiler supports function matching with argument types which + are template scope-qualified */ +#ifndef BEAGLE_HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING +#define BEAGLE_HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING +#endif + +/* define if the compiler recognizes typename */ +#ifndef BEAGLE_HAVE_TYPENAME +#define BEAGLE_HAVE_TYPENAME +#endif + +/* Define to 1 if you have the header file. */ +// #ifndef BEAGLE_HAVE_UNISTD_H +// #define BEAGLE_HAVE_UNISTD_H 1 +// #endif + +/* define if some debug code is disabled */ +/* #undef BEAGLE_NDEBUG */ + +/* Name of package */ +#ifndef BEAGLE_PACKAGE +#define BEAGLE_PACKAGE "beagle-msvcpp" +#endif + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef BEAGLE_PACKAGE_BUGREPORT +#define BEAGLE_PACKAGE_BUGREPORT "" +#endif + +/* Define to the full name of this package. */ +#ifndef BEAGLE_PACKAGE_NAME +#define BEAGLE_PACKAGE_NAME "" +#endif + +/* Define to the full name and version of this package. */ +#ifndef BEAGLE_PACKAGE_STRING +#define BEAGLE_PACKAGE_STRING "" +#endif + +/* Define to the one symbol short name of this package. */ +#ifndef BEAGLE_PACKAGE_TARNAME +#define BEAGLE_PACKAGE_TARNAME "" +#endif + +/* Define to the version of this package. */ +#ifndef BEAGLE_PACKAGE_VERSION +#define BEAGLE_PACKAGE_VERSION "" +#endif + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +/* #undef BEAGLE_PTHREAD_CREATE_JOINABLE */ + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef BEAGLE_STDC_HEADERS +#define BEAGLE_STDC_HEADERS 1 +#endif + +/* Version number of package */ +#ifndef BEAGLE_VERSION +#define BEAGLE_VERSION "3.0.2" +#endif + +/* Disable irritating warnings under MS VC++ */ +#pragma warning (disable : 4146) +#pragma warning (disable : 4180) +#pragma warning (disable : 4503) + +/* _BEAGLE_INCLUDE_BEAGLE_CONFIG_HPP */ +#endif diff --git a/lib/beagle-3.0.3/beagle/include/beagle/macros.hpp b/lib/beagle-3.0.3/beagle/include/beagle/macros.hpp new file mode 100644 index 0000000..196e940 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/beagle/macros.hpp @@ -0,0 +1,587 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/macros.hpp + * \brief Contains some general Beagle macros and global functions. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.13.2.2 $ + * $Date: 2007/05/11 21:49:00 $ + */ + +/*! + * \defgroup Utils Utilities + * \ingroup OOF + * \brief Miscelaneous utility classes and functions, part of the Object Oriented Foundations. + */ + +#ifndef Beagle_macros_hpp +#define Beagle_macros_hpp + +#include + +#include +#include +#include +#include +#include + +#include "beagle/config.hpp" + +#ifdef BEAGLE_HAVE_NUMERIC_LIMITS +#include +#endif // BEAGLE_HAVE_NUMERIC_LIMITS + + +// An example on how to change the STL container allocator used. +// #include +// #define BEAGLE_STLALLOCATOR __gnu_cxx::new_allocator + + +/* + * Define a spare bool type if it is not defined by the compiler. + */ +#ifndef BEAGLE_HAVE_BOOL +enum boolvals {false=0, true=1}; +typedef enum boolvals bool; +#endif // BEAGLE_HAVE_BOOL + + +/* + * Define an dumb explicit keyword if it is not defined by the compiler. + */ +#ifndef BEAGLE_HAVE_EXPLICIT +#define explicit +#endif // BEAGLE_HAVE_EXPLICIT + + +/*! + * \def Beagle_MinM(X1,X2) + * \brief Calculate the minimum between two values. + * \param X1 First value to compare. + * \param X2 Second value to compare. + * \return Minimum of the two values. + * \deprecated Use inline function minOf instead. + */ +#define Beagle_MinM(X1,X2) ( ((X1)<(X2)) ? (X1) : (X2) ) + + +/*! + * \def Beagle_MaxM(X1,X2) + * \brief Calculate the maximum between two values. + * \param X1 First value to compare. + * \param X2 Second value to compare. + * \return Maximum of the two values. + * \deprecated Use inline function maxOf instead. + */ +#define Beagle_MaxM(X1,X2) ( ((X1)>(X2)) ? (X1) : (X2) ) + +/*! + * \def Beagle_Pow2M(X1,X2) + * \brief Calculate the square of a value. + * \param X Value to compute the square. + * \return Square of value. + * \deprecated Use inline function pow2Of instead. + */ +#define Beagle_Pow2M(X) ( (X)*(X) ) + + +namespace Beagle { + + +/*! + * \def BEAGLE_STLALLOCATOR + * \brief STL allocator used to instanciate STL container elements. + * + * The STL allocator type can be redefined by defining the preprocessor flag + * BEAGLE_STLALLOCATOR to the proper STL allocator. + */ +#ifndef BEAGLE_STLALLOCATOR +#define BEAGLE_STLALLOCATOR std::allocator +#endif // BEAGLE_STLALLOCATOR + + +/*! + * \brief Typedef of the correct STL string to use. + * + * By default, if the the STL allocator is used unchanged (std::allocator), this type is a + * synonym of the string type. + */ +typedef std::basic_string< char, std::char_traits, BEAGLE_STLALLOCATOR > string; + + +/*! + * \brief Test if a floating-point number is in a not-a-number state. + * \param inValue Value to evaluate not-a-number state. + * \return True if the floating-point value is not-a-number, otherwise false. + * \ingroup Utils + */ +template +inline bool isNaN(const T& inValue) +{ + return ((inValue == inValue) == false); +} + + +/*! + * \brief Test if a floating-point number is infinite. + * \param inValue Value to evaluate finiteness. + * \return True if the floating-point value is equal to infinity, otherwise false. + * \ingroup Utils + */ +template +inline bool isInfinity(const T& inValue) +{ +#ifdef BEAGLE_HAVE_NUMERIC_LIMITS + if(std::numeric_limits::has_infinity) { + return ((inValue == std::numeric_limits::infinity()) || + (inValue == -std::numeric_limits::infinity())); + } +#endif // BEAGLE_HAVE_NUMERIC_LIMITS + T lZero(0.0); + T lInfinity(1.0 / lZero); + return ((inValue == lInfinity) || (inValue == -lInfinity)); +} + + +/*! + * \brief Test if a floating-point number is finite, that is not NaN or infinite. + * \param inValue Value to evaluate finiteness. + * \return True if the floating-point value is finite, otherwise false. + * \ingroup Utils + */ +template +inline bool isFinite(const T& inValue) +{ + return ((isNaN(inValue) == false) && (isInfinity(inValue) == false)); +} + + +/*! + * \brief Evaluate the maximum of two values. + * \param inValue1 First value from which we want the maximum. + * \param inValue2 Second value from which we want the maximum. + * \return Maximum value between inValue1 and inValue2. + * \ingroup Utils + */ +template +inline T maxOf(const T& inValue1, const T& inValue2) +{ + if(isNaN(inValue1)) return inValue2; + else if(isNaN(inValue2)) return inValue1; + return ((inValue2 < inValue1) ? inValue1 : inValue2); +} + + +/*! + * \brief Evaluate the minimum of two values. + * \param inValue1 First value from which we want the minimum. + * \param inValue2 Second value from which we want the minimum. + * \return Minimum value between inValue1 and inValue2. + * \ingroup Utils + */ +template +inline T minOf(const T& inValue1, const T& inValue2) +{ + if(isNaN(inValue1)) return inValue2; + else if(isNaN(inValue2)) return inValue1; + return ((inValue1 < inValue2) ? inValue1 : inValue2); +} + + +/*! + * \brief Evaluate square of a number (X^2). + * \param inValue Value to evaluate the square. + * \return Square of the value. + * \ingroup Utils + */ +template +inline T pow2Of(const T& inValue) +{ + return (inValue * inValue); +} + + +/*! + * \brief Evaluate absolute value of a number. + * \param inValue Value to evaluate the absolute value. + * \return Absolute value of the input. + * \ingroup Utils + */ +template +inline T absolute(const T& inValue) +{ + return (inValue<0) ? -inValue : inValue; +} + + +/*! + * \brief Evaluate absolute value of a double. + * \param inValue Double to evaluate the absolute value. + * \return Absolute value of the input. + * \ingroup Utils + */ +template <> +inline double absolute(const double& inValue) +{ + return std::fabs(inValue); +} + + +/*! + * \brief Evaluate absolute value of a float. + * \param inValue Float to evaluate the absolute value. + * \return Absolute value of the input. + * \ingroup Utils + */ +template <> +inline float absolute(const float& inValue) +{ + return std::fabs(inValue); +} + + +/*! + * \brief Evaluate absolute value of a long integer. + * \param inValue Long integer to evaluate the absolute value. + * \return Absolute value of the input. + * \ingroup Utils + */ +template <> +inline long absolute(const long& inValue) +{ + return std::labs(inValue); +} + + +/*! + * \brief Evaluate absolute value of a int. + * \param inValue Integer to evaluate the absolute value. + * \return Absolute value of the input. + * \ingroup Utils + */ +template <> +inline int absolute(const int& inValue) +{ + return std::abs(inValue); +} + + +/*! + * \brief Round double to the nearest integer, rounding half-way cases away from 0. + * \param inValue Value to round + * \return Rounded values to nearest integer. + * \ingroup Utils + */ +inline double round(double inValue) +{ + return (inValue<0.0) ? std::ceil(inValue-0.5) : std::floor(inValue+0.5); +} + + +/*! + * \brief Convert an integer into a string. + * \param inInteger Integer to convert into a string. + * \return string containing conversion of the integer. + * \ingroup Utils + */ +inline string int2str(long inInteger) +{ + std::ostringstream lStringOS; + lStringOS << inInteger; + return lStringOS.str().c_str(); +} + + +/*! + * \brief Convert a string into a integer. + * \param inString String to convert into an integer. + * \return Long containing the conversion of the string. + * \ingroup Utils + */ +inline long str2int(const string& inString) +{ + std::string lStr(inString.c_str()); + std::istringstream lStringIS(lStr); + long lInteger; + lStringIS >> lInteger; + return lInteger; +} + + +/*! + * \brief Convert an unsigned integer into a string. + * \param inInteger Integer to convert into a string. + * \return string containing conversion of the integer. + * \ingroup Utils + */ +inline string uint2str(unsigned long inInteger) +{ + std::ostringstream lStringOS; + lStringOS << inInteger; + return lStringOS.str().c_str(); +} + + +/*! + * \brief Convert a string into an unsigned integer. + * \param inString String to convert into an integer. + * \return Unsigned long containing the conversion of the string. + * \ingroup Utils + */ +inline unsigned long str2uint(const string& inString) +{ + std::istringstream lStringIS(inString.c_str()); + unsigned long lInteger; + lStringIS >> lInteger; + return lInteger; +} + + +/*! + * \brief Convert a double into a string. + * \param inDouble Double to convert into a string. + * \return string containing conversion of the double. + * \ingroup Utils + */ +inline string dbl2str(double inDouble) +{ + std::ostringstream lStringOS; + if(isNaN(inDouble)) lStringOS << "nan"; + else if(isInfinity(inDouble)) { + if(inDouble < 0.0) lStringOS << "-inf"; + else lStringOS << "inf"; + } + else lStringOS << inDouble; + return lStringOS.str().c_str(); +} + + +/*! + * \brief Convert a double into a string. + * \param inDouble Double to convert into a string. + * \param inWidth Width of the written double. + * \return string containing conversion of the double. + * \ingroup Utils + */ +inline string dbl2str(double inDouble, unsigned int inWidth) +{ + using namespace std; + ostringstream lStringOS; + if(inWidth > 1) lStringOS.precision(inWidth-1); + lStringOS.setf(ostringstream::left); + lStringOS.width(inWidth); + if(isNaN(inDouble)) lStringOS << "nan" << std::flush; + else if(isInfinity(inDouble)) { + if(inDouble < 0.0) lStringOS << "-inf" << std::flush; + else lStringOS << "inf" << std::flush; + } + else lStringOS << inDouble << std::flush; + string lString = lStringOS.str().c_str(); + if(lString.size() > inWidth) { + string::size_type lPosE = lString.find('e', 0); + if(lPosE < lString.size()) { + string lStringE(lString, lPosE, lString.size()); + if(lStringE.size() < inWidth) + lString.replace((inWidth-lStringE.size()), inWidth, lStringE); + } + } + if(lString.size() != inWidth) lString.resize(inWidth, ' '); + return lString; +} + + +/*! + * \brief Convert a string into a double. + * \param inString String to convert into a double. + * \return Double containing the conversion of the string. + * \ingroup Utils + */ +inline double str2dbl(const string& inString) +{ + if(inString == "nan") { + double lZero(0.0); + return (lZero / lZero); + } + else if(inString == "inf") { +#ifdef BEAGLE_HAVE_NUMERIC_LIMITS + if(std::numeric_limits::has_infinity) { + return std::numeric_limits::infinity(); + } +#endif // BEAGLE_HAVE_NUMERIC_LIMITS + double lZero(0.0); + return (1.0 / lZero); + } + else if(inString == "-inf") { +#ifdef BEAGLE_HAVE_NUMERIC_LIMITS + if(std::numeric_limits::has_infinity) { + return -std::numeric_limits::infinity(); + } +#endif // BEAGLE_HAVE_NUMERIC_LIMITS + double lZero(0.0); + return (-1.0 / lZero); + } + + std::istringstream lStringIS(inString.c_str()); + double lDouble; + lStringIS >> lDouble; + return lDouble; +} + + +/*! + * \brief Convert a integer to its ordinal form , i.e. 1 -> 1st, 22 -> 22nd. + * \param inNumber Integer to convert. + * \return Ordinal form of the number. + * \author Matthew Walker + * \author Christian Gagne + * \ingroup Utils + */ +inline string uint2ordinal(unsigned int inNumber) +{ + // Write number to string + std::ostringstream outStream; + outStream << inNumber; + std::string lString = outStream.str(); + + // Insert commas for easier reading + if(inNumber>9999) { + unsigned int lCount=0; + for(unsigned int i=lString.length(); i>1; --i) { + ++lCount; + if(lCount==3) { + lString.insert(i-1,","); + lCount=0; + } + } + } + + // Choose appropriate suffix + std::string lSuffix = "th"; + switch(inNumber % 10) { + case 1: {lSuffix = "st"; break;} + case 2: {lSuffix = "nd"; break;} + case 3: {lSuffix = "rd"; break;} + } + switch(inNumber % 100) { + case 11: + case 12: + case 13: {lSuffix = "th"; break;} + } + lString.append(lSuffix); + + return lString; +} + + +/*! + * \brief Wrap a string to fit a given line witdh. + * \param ioString String to wrap. + * \param inLineWidth Line width of the converted string. + * \ingroup Utils + */ +inline void wrapString(string& ioString, unsigned int inLineWidth=80) +{ + // Can't do a line width of zero. (Setting to zero equates to turning off this algorithm.) + if(inLineWidth==0) return; + + bool lBreakPointValid = false; + bool lNewLine = true; + unsigned int lBestBreakPoint = 0; + unsigned int lFixed = 0; + + // Loop through all the characters in the string + for (unsigned int i=0; i i) { + ioString.erase(i,lNextChar-i); + } + lNewLine=false; + } + + // Check if i has gone over line width (this shouldn't happen). + if(i > lFixed+inLineWidth) return; + + // Check if i is at line width + if(i == lFixed+inLineWidth) { + if(!lBreakPointValid) { + // Breaking in the middle of a word. + ioString.insert(i,"\n"); + lFixed = i+1; + i = lFixed-1; // because at the continue i will be incremented + lBreakPointValid = false; + lNewLine = true; + continue; + } + else { + // Breakpoint valid + if(ioString[lBestBreakPoint]==' ' || ioString[lBestBreakPoint]=='\t') { + ioString[lBestBreakPoint] = '\n'; + lFixed = lBestBreakPoint+1; + i = lFixed-1; + lBreakPointValid = false; + lNewLine = true; + continue; + } + } + } + + // Check if current char is a newline + const char lCurrentChar = ioString[i]; + if(lCurrentChar == '\n') { + lFixed = i+1; + lBreakPointValid = false; + lNewLine=true; + continue; + } + + // Look for whitespace to set breakpoints + if(lCurrentChar==' ' || lCurrentChar=='\t') { + lBestBreakPoint = i; + lBreakPointValid = true; + } + } +} + +} + + +#endif // Beagle_macros_hpp diff --git a/lib/beagle-3.0.3/beagle/include/gzstream.h b/lib/beagle-3.0.3/beagle/include/gzstream.h new file mode 100644 index 0000000..95ddd77 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/include/gzstream.h @@ -0,0 +1,242 @@ +// ============================================================================ +// gzstream, C++ iostream classes wrapping the zlib compression library. +// Copyright (C) 2001 Deepak Bandyopadhyay, Lutz Kettner +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// ============================================================================ +// +// File : gzstream.h +// Revision : Revision: 1.5 +// Revision_date : Date: 2002/04/26 23:30:15 +// Author(s) : Deepak Bandyopadhyay, Lutz Kettner +// +// Matthew Walker made changes to fix a bug with igzstream. Previously, if +// a call was made to igzstream with a filename that disn't exist, no error +// would be reported. This has been fixed. +// +// Standard streambuf implementation following Nicolai Josuttis, "The +// Standard C++ Library". +// ============================================================================ + +#ifndef GZSTREAM_H +#define GZSTREAM_H + +// standard C++ with new header file names and std:: namespace +#include +#include +#include + +#ifdef GZSTREAM_NAMESPACE +namespace GZSTREAM_NAMESPACE { +#endif + +// ---------------------------------------------------------------------------- +// Internal classes to implement gzstream. See below for user classes. +// ---------------------------------------------------------------------------- + +class gzstreambuf : public std::streambuf { + +private: + static const int bufferSize = 47+256; // size of data buff + // totals 512 bytes under g++ for igzstream at the end. + + gzFile file; // file handle for compressed file + char buffer[bufferSize]; // data buffer + char opened; // open/close state of stream + int mode; // I/O mode + + int flush_buffer(); +public: + inline gzstreambuf() : opened(0) { + setp( buffer, buffer + (bufferSize-1)); + setg( buffer + 4, // beginning of putback area + buffer + 4, // read position + buffer + 4); // end position + // ASSERT: both input & output capabilities will not be used together + } + inline int is_open() { return opened; } + inline gzstreambuf* open( const char* name, int open_mode); + inline gzstreambuf* close(); + inline ~gzstreambuf() { close(); } + + virtual int overflow( int c = EOF); + virtual int underflow(); + virtual int sync(); +}; + +class gzstreambase : virtual public std::ios { +protected: + gzstreambuf buf; +public: + inline gzstreambase() { init(&buf); } + inline gzstreambase( const char* name, int open_mode); + inline ~gzstreambase(); + inline void open( const char* name, int open_mode); + inline void close(); + inline gzstreambuf* rdbuf() { return &buf; } +}; + +// ---------------------------------------------------------------------------- +// User classes. Use igzstream and ogzstream analogously to ifstream and +// ofstream respectively. They read and write files based on the gz* +// function interface of the zlib. Files are compatible with gzip compression. +// ---------------------------------------------------------------------------- + +class igzstream : public std::istream, public gzstreambase { +public: + inline igzstream() : std::istream( &buf) {} + inline igzstream( const char* name, int open_mode = std::ios::in) + : std::istream( &buf), gzstreambase( name, open_mode) {} + inline gzstreambuf* rdbuf() { return gzstreambase::rdbuf(); } + inline void open( const char* name, int open_mode = std::ios::in) { + gzstreambase::open( name, open_mode); + } +}; + +class ogzstream : public std::ostream, public gzstreambase { +public: + inline ogzstream() : std::ostream( &buf) {} + inline ogzstream( const char* name, int mode = std::ios::out) + : std::ostream( &buf), gzstreambase( name, mode) {} + inline gzstreambuf* rdbuf() { return gzstreambase::rdbuf(); } + inline void open( const char* name, int open_mode = std::ios::out) { + gzstreambase::open( name, open_mode); + } +}; + + +inline gzstreambuf* gzstreambuf::open( const char* name, int open_mode) { + if ( is_open()) + return (gzstreambuf*)0; + mode = open_mode; + // no append nor read/write mode + if ((mode & std::ios::ate) || (mode & std::ios::app) + || ((mode & std::ios::in) && (mode & std::ios::out))) + return (gzstreambuf*)0; + char fmode[10]; + char* fmodeptr = fmode; + if ( mode & std::ios::in) + *fmodeptr++ = 'r'; + else if ( mode & std::ios::out) + *fmodeptr++ = 'w'; + *fmodeptr++ = 'b'; + *fmodeptr = '\0'; + file = gzopen( name, fmode); + if (file == 0) + return (gzstreambuf*)0; + opened = 1; + return this; +} + +inline gzstreambuf * gzstreambuf::close() { + if ( is_open()) { + sync(); + opened = 0; + if ( gzclose( file) == Z_OK) + return this; + } + return (gzstreambuf*)0; +} + +inline int gzstreambuf::underflow() { // used for input buffer only + if ( gptr() && ( gptr() < egptr())) + return * reinterpret_cast( gptr()); + + if ( ! (mode & std::ios::in) || ! opened) + return EOF; + // Josuttis' implementation of inbuf + int n_putback = gptr() - eback(); + if ( n_putback > 4) + n_putback = 4; + memcpy( buffer + (4 - n_putback), gptr() - n_putback, n_putback); + + int num = gzread( file, buffer+4, bufferSize-4); + if (num <= 0) // ERROR or EOF + return EOF; + + // reset buffer pointers + setg( buffer + (4 - n_putback), // beginning of putback area + buffer + 4, // read position + buffer + 4 + num); // end of buffer + + // return next character + return * reinterpret_cast( gptr()); +} + +inline int gzstreambuf::flush_buffer() { + // Separate the writing of the buffer from overflow() and + // sync() operation. + int w = pptr() - pbase(); + if ( gzwrite( file, pbase(), w) != w) + return EOF; + pbump( -w); + return w; +} + +inline int gzstreambuf::overflow( int c) { // used for output buffer only + if ( ! ( mode & std::ios::out) || ! opened) + return EOF; + if (c != EOF) { + *pptr() = c; + pbump(1); + } + if ( flush_buffer() == EOF) + return EOF; + return c; +} + +inline int gzstreambuf::sync() { + // Changed to use flush_buffer() instead of overflow( EOF) + // which caused improper behavior with std::endl and flush(), + // bug reported by Vincent Ricard. + if ( pptr() && pptr() > pbase()) { + if ( flush_buffer() == EOF) + return -1; + } + return 0; +} + +// -------------------------------------- +// class gzstreambase: +// -------------------------------------- + +inline gzstreambase::gzstreambase( const char* name, int mode) { + init( &buf); + open( name, mode); +} + +inline gzstreambase::~gzstreambase() { + buf.close(); +} + +inline void gzstreambase::open( const char* name, int open_mode) { + if ( ! buf.open( name, open_mode)) + clear( rdstate() | std::ios::badbit); +} + +inline void gzstreambase::close() { + if ( buf.is_open()) + if ( ! buf.close()) + clear( rdstate() | std::ios::badbit); +} + +#ifdef GZSTREAM_NAMESPACE +} // namespace GZSTREAM_NAMESPACE +#endif + +#endif // GZSTREAM_H + +// ============================================================================ +// EOF // diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Allocator.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Allocator.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Allocator.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/AssertException.Plo b/lib/beagle-3.0.3/beagle/src/.deps/AssertException.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/AssertException.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/BadCastException.Plo b/lib/beagle-3.0.3/beagle/src/.deps/BadCastException.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/BadCastException.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/BreederNode.Plo b/lib/beagle-3.0.3/beagle/src/.deps/BreederNode.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/BreederNode.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/BreederOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/BreederOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/BreederOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Component.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Component.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Component.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/ConfigurationDumper.Plo b/lib/beagle-3.0.3/beagle/src/.deps/ConfigurationDumper.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/ConfigurationDumper.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Container.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Container.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Container.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/ContainerAllocator.Plo b/lib/beagle-3.0.3/beagle/src/.deps/ContainerAllocator.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/ContainerAllocator.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Context.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Context.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Context.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/CrossoverOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/CrossoverOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/CrossoverOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/DecimateOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/DecimateOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/DecimateOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Deme.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Deme.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Deme.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/DemeAlloc.Plo b/lib/beagle-3.0.3/beagle/src/.deps/DemeAlloc.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/DemeAlloc.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/EvaluationMultipleOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/EvaluationMultipleOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/EvaluationMultipleOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/EvaluationOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/EvaluationOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/EvaluationOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Evolver.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Evolver.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Evolver.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Exception.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Exception.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Exception.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Fitness.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Fitness.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Fitness.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/FitnessMultiObj.Plo b/lib/beagle-3.0.3/beagle/src/.deps/FitnessMultiObj.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/FitnessMultiObj.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/FitnessMultiObjMin.Plo b/lib/beagle-3.0.3/beagle/src/.deps/FitnessMultiObjMin.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/FitnessMultiObjMin.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/FitnessSimple.Plo b/lib/beagle-3.0.3/beagle/src/.deps/FitnessSimple.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/FitnessSimple.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/FitnessSimpleMin.Plo b/lib/beagle-3.0.3/beagle/src/.deps/FitnessSimpleMin.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/FitnessSimpleMin.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/GenerationalOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/GenerationalOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/GenerationalOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Genotype.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Genotype.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Genotype.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/HallOfFame.Plo b/lib/beagle-3.0.3/beagle/src/.deps/HallOfFame.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/HallOfFame.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/HierarchicalFairCompetitionOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/HierarchicalFairCompetitionOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/HierarchicalFairCompetitionOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/IOException.Plo b/lib/beagle-3.0.3/beagle/src/.deps/IOException.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/IOException.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/IfThenElseOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/IfThenElseOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/IfThenElseOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Individual.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Individual.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Individual.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/IndividualAlloc.Plo b/lib/beagle-3.0.3/beagle/src/.deps/IndividualAlloc.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/IndividualAlloc.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/IndividualBag.Plo b/lib/beagle-3.0.3/beagle/src/.deps/IndividualBag.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/IndividualBag.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/IndividualSizeFrequencyStatsOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/IndividualSizeFrequencyStatsOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/IndividualSizeFrequencyStatsOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/InitializationOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/InitializationOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/InitializationOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/InternalException.Plo b/lib/beagle-3.0.3/beagle/src/.deps/InternalException.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/InternalException.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/InvalidateFitnessOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/InvalidateFitnessOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/InvalidateFitnessOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Logger.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Logger.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Logger.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/LoggerXML.Plo b/lib/beagle-3.0.3/beagle/src/.deps/LoggerXML.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/LoggerXML.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Map.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Map.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Map.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Matrix.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Matrix.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Matrix.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/MigrationOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/MigrationOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/MigrationOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/MigrationRandomRingOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/MigrationRandomRingOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/MigrationRandomRingOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/MilestoneReadOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/MilestoneReadOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/MilestoneReadOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/MilestoneWriteOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/MilestoneWriteOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/MilestoneWriteOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/MuCommaLambdaOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/MuCommaLambdaOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/MuCommaLambdaOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/MuPlusLambdaOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/MuPlusLambdaOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/MuPlusLambdaOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/MutationOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/MutationOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/MutationOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/NPGA2Op.Plo b/lib/beagle-3.0.3/beagle/src/.deps/NPGA2Op.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/NPGA2Op.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/NSGA2Op.Plo b/lib/beagle-3.0.3/beagle/src/.deps/NSGA2Op.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/NSGA2Op.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/NamedObject.Plo b/lib/beagle-3.0.3/beagle/src/.deps/NamedObject.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/NamedObject.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Object.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Object.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Object.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/ObjectException.Plo b/lib/beagle-3.0.3/beagle/src/.deps/ObjectException.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/ObjectException.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Operator.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Operator.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Operator.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/OversizeOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/OversizeOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/OversizeOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/ParetoFrontCalculateOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/ParetoFrontCalculateOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/ParetoFrontCalculateOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/ParetoFrontHOF.Plo b/lib/beagle-3.0.3/beagle/src/.deps/ParetoFrontHOF.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/ParetoFrontHOF.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/RandomShuffleDemeOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/RandomShuffleDemeOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/RandomShuffleDemeOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Randomizer.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Randomizer.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Randomizer.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Register.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Register.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Register.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/RegisterReadOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/RegisterReadOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/RegisterReadOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/ReplacementStrategyOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/ReplacementStrategyOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/ReplacementStrategyOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/RunTimeException.Plo b/lib/beagle-3.0.3/beagle/src/.deps/RunTimeException.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/RunTimeException.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/SelectParsimonyTournOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/SelectParsimonyTournOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/SelectParsimonyTournOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/SelectRandomOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/SelectRandomOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/SelectRandomOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/SelectRouletteOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/SelectRouletteOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/SelectRouletteOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/SelectTournamentOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/SelectTournamentOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/SelectTournamentOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/SelectionOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/SelectionOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/SelectionOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Stats.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Stats.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Stats.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/StatsCalcFitnessMultiObjOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/StatsCalcFitnessMultiObjOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/StatsCalcFitnessMultiObjOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/StatsCalcFitnessSimpleOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/StatsCalcFitnessSimpleOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/StatsCalcFitnessSimpleOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/StatsCalculateOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/StatsCalculateOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/StatsCalculateOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/SteadyStateOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/SteadyStateOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/SteadyStateOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/System.Plo b/lib/beagle-3.0.3/beagle/src/.deps/System.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/System.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/TargetedException.Plo b/lib/beagle-3.0.3/beagle/src/.deps/TargetedException.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/TargetedException.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/TermMaxEvalsOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/TermMaxEvalsOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/TermMaxEvalsOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/TermMaxFitnessOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/TermMaxFitnessOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/TermMaxFitnessOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/TermMaxGenOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/TermMaxGenOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/TermMaxGenOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/TermMinFitnessOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/TermMinFitnessOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/TermMinFitnessOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/TerminationOp.Plo b/lib/beagle-3.0.3/beagle/src/.deps/TerminationOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/TerminationOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/ValidationException.Plo b/lib/beagle-3.0.3/beagle/src/.deps/ValidationException.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/ValidationException.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Vector.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Vector.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Vector.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/Vivarium.Plo b/lib/beagle-3.0.3/beagle/src/.deps/Vivarium.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/Vivarium.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/VivariumAlloc.Plo b/lib/beagle-3.0.3/beagle/src/.deps/VivariumAlloc.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/VivariumAlloc.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/.deps/libbeagle.Plo b/lib/beagle-3.0.3/beagle/src/.deps/libbeagle.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/.deps/libbeagle.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/beagle/src/Allocator.cpp b/lib/beagle-3.0.3/beagle/src/Allocator.cpp new file mode 100644 index 0000000..401a12a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Allocator.cpp @@ -0,0 +1,90 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/Allocator.cpp + * \brief Source code of class Allocator. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Allocate a new object on the heap. + * \return Pointer to the allocated object. + */ +Beagle::Object* Beagle::Allocator::allocate() const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + Object* lObject = new Object; + if(!lObject) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lObject; +#else // BEAGLE_NDEBUG + return new Object; +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Beagle::Object* Beagle::Allocator::allocate() const"); +} + + +/*! + * \brief Allocate a new object on the heap that is a clone of an existing object. + * \param inOrigObj Constant reference to the original object to clone. + * \return Pointer to the allocated object. + */ +Beagle::Object* Beagle::Allocator::clone(const Beagle::Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + Object* lObject = new Object(inOrigObj); + if(!lObject) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lObject; +#else // BEAGLE_NDEBUG + return new Object(inOrigObj); +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Beagle::Object* Beagle::Allocator::clone(const Beagle::Object& inOrigObj) const"); +} + + +/*! + * \brief Copy an object to another. + * \param outCopyObj Constant reference to the original object to copy. + * \param inOrigObj Reference to the object that is a copy of the original. + */ +void Beagle::Allocator::copy(Beagle::Object& outCopyObj, + const Beagle::Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); + outCopyObj = inOrigObj; + Beagle_StackTraceEndM("void Beagle::Allocator::copy(Beagle::Object& outCopyObj, const Beagle::Object& inOrigObj) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/AssertException.cpp b/lib/beagle-3.0.3/beagle/src/AssertException.cpp new file mode 100644 index 0000000..c24fd20 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/AssertException.cpp @@ -0,0 +1,62 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/AssertException.cpp + * \brief Implementation of class AssertException. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct an AssertException. + * \param inMessage Message relating the assert. + * \param inFileName File name where the exception is detected. + * \param inLineNumber Line number in the file where the exception is detected. + */ +AssertException::AssertException(Beagle::string inMessage, + Beagle::string inFileName, + unsigned int inLineNumber) : + TargetedException(inMessage,inFileName,inLineNumber) +{ } + + +/*! + * \brief Get the name of the exception. + * \return Name of the exception. + */ +const char* AssertException::getExceptionName() const throw() +{ + return "Beagle::AssertException"; +} + diff --git a/lib/beagle-3.0.3/beagle/src/BadCastException.cpp b/lib/beagle-3.0.3/beagle/src/BadCastException.cpp new file mode 100644 index 0000000..1cca792 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/BadCastException.cpp @@ -0,0 +1,62 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/BadCastException.cpp + * \brief Implementation of class BadCastException. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a new BadCastException using data given. + * \param inMessage Message related to the exception. + * \param inFileName File name where the exception is detected (throwed). + * \param inLineNumber Line number where the exception is detected (throwed). + */ +BadCastException::BadCastException(Beagle::string inMessage, + Beagle::string inFileName, + unsigned int inLineNumber) : + TargetedException(inMessage,inFileName,inLineNumber) +{ } + + +/*! + * \brief Get the name of the exception. + * \return Name of the exception. + */ +const char* BadCastException::getExceptionName() const throw() +{ + return "Beagle::BadCastException"; +} + diff --git a/lib/beagle-3.0.3/beagle/src/BreederNode.cpp b/lib/beagle-3.0.3/beagle/src/BreederNode.cpp new file mode 100644 index 0000000..437c9fd --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/BreederNode.cpp @@ -0,0 +1,194 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/BreederNode.cpp + * \brief Source code of class BreederNode. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.11.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct breeder node. + * \param inBreederOp Breeder operator associated to node. + * \param inFirstChild First breeder node child to actual node. + * \param inNextSibling Next sibling breeder node to actual node. + */ +BreederNode::BreederNode(PointerT inBreederOp, + PointerT inFirstChild, + PointerT inNextSibling) : + mBreederOp(inBreederOp), + mChild(inFirstChild), + mSibling(inNextSibling) +{ } + + +/*! + * \brief Initialize breeder node structure. + * \param ioSystem Evolutionary system to use to initialize the system. + */ +void BreederNode::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if((mBreederOp != NULL) && (mBreederOp->isInitialized() == false)) { + Beagle_LogTraceM( + ioSystem.getLogger(), + "breeder", "Beagle::BreederNode", + string("Initializing operator \"") + mBreederOp->getName() + "\"" + ); + mBreederOp->initialize(ioSystem); + mBreederOp->setInitialized(); + } + if(mChild != NULL) mChild->initialize(ioSystem); + if(mSibling != NULL) mSibling->initialize(ioSystem); + Beagle_StackTraceEndM("void BreederNode::initialize(System& ioSystem)"); +} + + +/*! + * \brief Call post initialize hooks of breeder node structure. + * \param ioSystem Evolutionary system to use to post-init the system. + */ +void BreederNode::postInit(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if((mBreederOp != NULL) && (mBreederOp->isPostInitialized() == false)) { + Beagle_LogTraceM( + ioSystem.getLogger(), + "breeder", "Beagle::BreederNode", + string("Calling post-initialization hook of operator \"") + + mBreederOp->getName() + "\"" + ); + mBreederOp->postInit(ioSystem); + mBreederOp->setPostInitialized(); + } + if(mChild != NULL) mChild->postInit(ioSystem); + if(mSibling != NULL) mSibling->postInit(ioSystem); + Beagle_StackTraceEndM("void BreederNode::postInit(System& ioSystem)"); +} + + +/*! + * \brief Reading a breeder node with method read is undefined. Use readWithMap instead. + */ +void BreederNode::read(PACC::XML::ConstIterator) +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("read","BreederNode",getName()); + Beagle_StackTraceEndM("void BreederNode::read(PACC::XML::ConstIterator)"); +} + + +/*! + * \brief Read a breeder tree for XML tree. + * \param inIter XML iterator to use to read breeder node. + * \param inOpMap Operator map to use to read breeder node. + */ +void BreederNode::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + setBreederOp(NULL); + setFirstChild(NULL); + setNextSibling(NULL); + + if(inIter->getType() == PACC::XML::eData) { + OperatorMap::iterator lIterOp = inOpMap.find(inIter->getValue().c_str()); + if(lIterOp == inOpMap.end()) { + std::ostringstream lOSS; + lOSS << "Operator \"" << inIter->getValue() << "\" is not a breeder operator!"; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + try { + mBreederOp = castHandleT(lIterOp->second); + } + catch(BadCastException&) { + std::ostringstream lOSS; + lOSS << "Operator \"" << inIter->getValue() << "\" is not a breeder operator!"; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + mBreederOp = castHandleT(mBreederOp->giveReference()); + mBreederOp->readWithMap(inIter, inOpMap); + } + + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == PACC::XML::eData) { + OperatorMap::iterator lIterOp = inOpMap.find(lChild->getValue().c_str()); + if(lIterOp == inOpMap.end()) continue; + + PointerT lOp; + try { + lOp = castHandleT(lIterOp->second); + } + catch(BadCastException&) { + std::ostringstream lOSS; + lOSS << "Operator \"" << lChild->getValue() << "\" is not a breeder operator!"; + throw Beagle_IOExceptionNodeM(*lChild, lOSS.str().c_str()); + } + lOp = castHandleT(lOp->giveReference()); + if(getFirstChild() == NULL) { + setFirstChild(new BreederNode(lOp)); + getFirstChild()->readWithMap(lChild, inOpMap); + } + else { + PointerT lBreederChild; + for(lBreederChild=getFirstChild(); lBreederChild->getNextSibling()!=NULL; + lBreederChild=lBreederChild->getNextSibling()); + lBreederChild->setNextSibling(new BreederNode(lOp)); + lBreederChild->getNextSibling()->readWithMap(lChild, inOpMap); + } + } + } + Beagle_StackTraceEndM("void BreederNode::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write breeder operator into XML streamer. + * \param ioStreamer XML streamer to write breeder operator into. + * \param inIndent Whether XML output should be indented. + */ +void BreederNode::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + if(mBreederOp != NULL) { + ioStreamer.openTag(mBreederOp->getName().c_str(), inIndent); + mBreederOp->writeContent(ioStreamer, inIndent); + } + for(BreederNode::Handle lChild=getFirstChild(); lChild!=NULL; + lChild=lChild->getNextSibling()) { + lChild->write(ioStreamer, inIndent); + } + if(mBreederOp != NULL) ioStreamer.closeTag(); + Beagle_StackTraceEndM("void BreederNode::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/BreederOp.cpp b/lib/beagle-3.0.3/beagle/src/BreederOp.cpp new file mode 100644 index 0000000..e8cad68 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/BreederOp.cpp @@ -0,0 +1,73 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/BreederOp.cpp + * \brief Source code of class BreederOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Build breeder operator. + * \param inName Name of the breeder operator. + */ +BreederOp::BreederOp(Beagle::string inName) : + Operator(inName) +{ } + + +/*! + * \brief Write breeder operator into XML streamer. + * \param ioStreamer XML streamer to write breeder operator into. + * \param inIndent Whether XML output should be indented. + */ +void BreederOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag(getName().c_str(), inIndent); + writeContent(ioStreamer, inIndent); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void BreederOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + +/*! + * \brief Write breeder operator content into XML streamer, without opening/closing tags. + * \param ioStreamer XML streamer to write breeder operator into. + * \param inIndent Whether XML output should be indented. + */ +void BreederOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ } + + diff --git a/lib/beagle-3.0.3/beagle/src/Component.cpp b/lib/beagle-3.0.3/beagle/src/Component.cpp new file mode 100644 index 0000000..b2d4fdd --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Component.cpp @@ -0,0 +1,108 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/Component.cpp + * \brief Source code of class Component. + * \author Matthew Walker + * \author Christian Gagne + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Component class constructor. + * \param inName Name of the component. + */ +Component::Component(Beagle::string inName) : + NamedObject(inName) +{ } + + +/*! + * \brief Initialize the component. + * \param ioSystem Evolutionary system. + */ +void Component::initialize(System& ioSystem) +{ } + + +/*! + * \brief Post-initialize the component. + * \param ioSystem Evolutionary system. + */ +void Component::postInit(System& ioSystem) +{ } + + +/*! + * \brief Read the system component. + * \param inIter Iterator to XML node to read component from. + * \param ioSystem Evolutionary system. + */ +void Component::readWithSystem(PACC::XML::ConstIterator inIter, System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if(inIter->getType() != PACC::XML::eData) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + if(inIter->getValue() != getName().c_str()) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected, but "; + lOSS << "got tag <" << inIter->getValue() << "> instead!"; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + Beagle_StackTraceEndM("void Component::readWithSystem(PACC::XML::ConstIterator inIter, System& ioSystem)"); +} + + +/*! + * \brief Write the system component. + * \param ioStreamer XML streamer used to write component into. + * \param inIndent Whether XML output should be indented. + */ +void Component::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag(getName().c_str(), inIndent); + writeContent(ioStreamer, inIndent); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void Component::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + +/*! + * \brief Write content of the system component. + * \param ioStreamer XML streamer used to write content of component. + * \param inIndent Whether XML output should be indented. + */ +void Component::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ } diff --git a/lib/beagle-3.0.3/beagle/src/ConfigurationDumper.cpp b/lib/beagle-3.0.3/beagle/src/ConfigurationDumper.cpp new file mode 100644 index 0000000..0dfdcd0 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/ConfigurationDumper.cpp @@ -0,0 +1,98 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/ConfigurationDumper.cpp + * \brief Source code of class ConfigurationDumper. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.15.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a configuration file dumper. + * \param inSystem Reference to the associated system. + * \param inEvolver Reference to the associated evolver. + * \param inName File name value. + */ +ConfigurationDumper::ConfigurationDumper(System& inSystem, + Evolver& inEvolver, + Beagle::string inName) : + String(inName), + mSystem(inSystem), + mEvolver(inEvolver) +{ } + + +/*! + * \brief Read the file name and then dump the configuration in it. + * \param inIter XML iterator to read the file name from. + */ +void ConfigurationDumper::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + if(!inIter) return; + if(inIter->getType() != PACC::XML::eString) + throw Beagle_IOExceptionNodeM(*inIter, "not a string with a filename"); + getWrappedValue() = inIter->getValue().c_str(); + if(getWrappedValue().empty()) return; + + string lFilenameBak = getWrappedValue() + "~"; + std::remove(lFilenameBak.c_str()); + std::rename(getWrappedValue().c_str(), lFilenameBak.c_str()); + mSystem.getRegister().deleteEntry("ec.conf.dump"); + mSystem.getRegister().deleteEntry("ec.conf.file"); + std::ofstream lOFStream(getWrappedValue().c_str()); + std::cerr << "A typical configuration file named \""; + std::cerr << getWrappedValue() << "\" is created." << std::endl << std::flush; + PACC::XML::Streamer lStreamer(lOFStream); + lStreamer.insertHeader(); + lStreamer.openTag("Beagle"); + lStreamer.insertAttribute("version", BEAGLE_VERSION); + lStreamer.insertComment("Created by a configuration dump"); + lStreamer.insertComment("Evolver: configuration of the algorithm"); + mEvolver.write(lStreamer); + lStreamer.insertComment("System: setting of the evolution"); + mSystem.write(lStreamer); + lStreamer.closeTag(); + lOFStream << std::endl; + lOFStream.close(); + std::cerr << "Exiting..." << std::endl << std::flush; + exit(0); + Beagle_StackTraceEndM("void ConfigurationDumper::read(PACC::XML::ConstIterator inIter)"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/Container.cpp b/lib/beagle-3.0.3/beagle/src/Container.cpp new file mode 100644 index 0000000..12022bd --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Container.cpp @@ -0,0 +1,239 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/Container.cpp + * \brief Source code of class Container. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Default constructor. + * \param inTypeAlloc Allocator for elements. + * \param inN Initial number of elements. + */ +Container::Container(Object::Alloc::Handle inTypeAlloc, unsigned int inN) : + std::vector< Object::Handle, BEAGLE_STLALLOCATOR >(inN), + mTypeAlloc(inTypeAlloc) +{ + Beagle_StackTraceBeginM(); + if(mTypeAlloc != NULL) { + for(unsigned int i=0; iallocate(); + } + Beagle_StackTraceEndM("Container::Container(Object::Alloc::Handle inTypeAlloc, unsigned int inN)"); +} + + +/*! + * \brief Constructor with cloning initializer. + * \param inTypeAlloc Allocator for elements. + * \param inN Initial number of elements. + * \param inModel Cloning object. + * \par Note: + * Container elements are initialized with a clone of object inModel. + */ +Container::Container(Object::Alloc::Handle inTypeAlloc, unsigned int inN, const Object& inModel) : + std::vector< Object::Handle,BEAGLE_STLALLOCATOR >(inN), + mTypeAlloc(inTypeAlloc) +{ + Beagle_StackTraceBeginM(); + if(mTypeAlloc != NULL) { + for(unsigned int i=0; iclone(inModel); + } + Beagle_StackTraceEndM("Container::Container(Object::Alloc::Handle inTypeAlloc, unsigned int inN, const Object& inModel)"); +} + + +/*! + * \brief Copy a container and clone the values that it haves. + * \param inOriginalContainer Original container to copy. + * \throw BadCastException If the deme received as argument have no type allocator. + */ +void Container::copyData(const Container& inOriginalContainer) +{ + Beagle_StackTraceBeginM(); + if(inOriginalContainer.mTypeAlloc == NULL) { + string lMessage = "The copyData() method must be call only with as argument a container"; + lMessage += " that have a type allocator!"; + throw Beagle_InternalExceptionM(lMessage); + } + if(this == &inOriginalContainer) return; + (*this) = inOriginalContainer; + clear(); + for(unsigned int i=0; iclone(*inOriginalContainer[i])); + } + Beagle_StackTraceEndM("void Container::copyData(const Container& inOriginalContainer)"); +} + + +/*! + * \brief Compare equality of two containers. + * \param inRightObj Container to compare with *this. + * \return True if containers are equals, false otherwise. + * \throw BadCastException If compared containers are not of the same type. + * \par Note: + * Returns false if the container does not have the same size, returns true if the + * range [ 0, size()) are identical when compared element-by-element, and otherwise returns false. + */ +bool Container::isEqual(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const Container& lRightContainer = castObjectT(inRightObj); + if(size() != lRightContainer.size()) return false; + Container::const_iterator lFirstIter1 = begin(); + Container::const_iterator lLastIter1 = begin() + size(); + Container::const_iterator lFirstIter2 = lRightContainer.begin(); + return std::equal(lFirstIter1, lLastIter1, lFirstIter2, IsEqualPointerPredicate()); + Beagle_StackTraceEndM("bool Container::isEqual(const Object& inRightObj) const"); +} + + +/*! + * \brief Evaluate lexicographical order of two containers. + * \param inRightObj Container to compare with *this. + * \return True if left container is less that the right one, false otherwise. + * \throw BadCastException If compared containers are not of the same type. + * \par Note: + * Returns true if the actual object is lexicographically less than the right object + * in the range [ 0, min(end(),inRightObj.end()) ) when compared element-by-element, + * and otherwise returns false. + */ +bool Container::isLess(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const Container& lRightContainer = castObjectT(inRightObj); + unsigned int lSizeCompared = minOf(size(), lRightContainer.size()); + Container::const_iterator lFirstIter1 = begin(); + Container::const_iterator lLastIter1 = begin() + lSizeCompared; + Container::const_iterator lFirstIter2 = lRightContainer.begin(); + Container::const_iterator lLastIter2 = lRightContainer.begin() + lSizeCompared; + return std::lexicographical_compare(lFirstIter1, + lLastIter1, + lFirstIter2, + lLastIter2, + IsLessPointerPredicate()); + Beagle_StackTraceEndM("bool Container::isLess(const Object& inRightObj) const"); +} + + +/*! + * \brief Read container from XML iterator. + * \param inIter XML iterator to read container from. + * \throw Beagle::IOException If any read error occur. + */ +void Container::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType() != PACC::XML::eData) || (inIter->getValue() != "Bag")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + PACC::XML::ConstIterator lChild = inIter->getFirstChild(); + unsigned int lSize; + for(lSize = 0; lChild; ++lSize) ++lChild; + if((!mTypeAlloc) && (lSize > size())) { + std::ostringstream lMessageOSS; + lMessageOSS << "Bag size (" << lSize << ") is bigger than the actual size ("; + lMessageOSS << size() << "), and there is no type allocator to resize the container!"; + throw Beagle_IOExceptionNodeM(*inIter, lMessageOSS.str().c_str()); + } + resize(lSize); + lChild = inIter->getFirstChild(); + for(unsigned int j=0; lChild; ++j) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="NullHandle")) { + (*this)[j] = NULL; + } + else { + Beagle_NonNullPointerAssertM((*this)[j]); + (*this)[j]->read(lChild); + } + ++lChild; + } + Beagle_StackTraceEndM("void Container::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Resize container and, if necessary, allocate new elements. + * \param inN New number of elements. + */ +void Container::resize(unsigned int inN) +{ + Beagle_StackTraceBeginM(); + unsigned int lActualSize = size(); + std::vector< Object::Handle,BEAGLE_STLALLOCATOR >::resize(inN); + if(mTypeAlloc != NULL && inN > lActualSize) { + for(unsigned int i=lActualSize; iallocate(); + } + Beagle_StackTraceEndM("void Container::resize(unsigned int inN)"); +} + +/*! + * \brief Resize container and, if necessary, allocate new elements using object clones. + * \param inN New number of elements. + * \param inModel cloning object. + */ +void Container::resize(unsigned int inN, const Object& inModel) +{ + Beagle_StackTraceBeginM(); + unsigned int lActualSize = size(); + std::vector< Object::Handle,BEAGLE_STLALLOCATOR >::resize(inN); + if(mTypeAlloc != NULL && inN > lActualSize) { + for(unsigned int i=lActualSize; iclone(inModel); + } + Beagle_StackTraceEndM("void Container::resize(unsigned int inN, const Object& inModel)"); +} + +/*! + * \brief Write Container into XML streamer. + * \param ioStreamer XML streamer. + * \param inIndent Whether XML output should be indented. + */ +void Container::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Bag", inIndent); + for(unsigned int i=0; iwrite(ioStreamer, inIndent); + } + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void Container::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/ContainerAllocator.cpp b/lib/beagle-3.0.3/beagle/src/ContainerAllocator.cpp new file mode 100644 index 0000000..20c3ac3 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/ContainerAllocator.cpp @@ -0,0 +1,143 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/ContainerAllocator.cpp + * \brief Source code of class ContainerAllocator. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Constructor of container allocator. + * \param inContainerTypeAlloc Type allocator given to the container allocated. + */ +ContainerAllocator::ContainerAllocator(Object::Alloc::Handle inContainerTypeAlloc) : + mContainerTypeAlloc(inContainerTypeAlloc) +{ } + + +/*! + * \brief Allocate a plain new container on the heap by giving it the type allocator. + * \return Pointer to the allocated container. + * \throw InternalException When the program goes out of memory. + */ +Object* ContainerAllocator::allocate() const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + Container* lContainer = new Container(mContainerTypeAlloc); + if(!lContainer) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lContainer; +#else // BEAGLE_NDEBUG + return new Container(mContainerTypeAlloc); +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object* ContainerAllocator::allocate() const"); +} + + +/*! + * \brief Allocate a new container on the heap that is a clone an existing container. + * \param inOrigObj Constant reference to the original container object to clone. + * \return Pointer to the allocated container. + * \throw InternalException When the program goes out of memory. + * \throw BadCastException If the type of the parameter is not as specified. + */ +Object* ContainerAllocator::clone(const Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + const Container& lOrigContainer = castObjectT(inOrigObj); + Container* lContainer = new Container(lOrigContainer); + if(!lContainer) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lContainer; +#else // BEAGLE_NDEBUG + const Container& lOrigContainer = castObjectT(inOrigObj); + return new Container(lOrigContainer); +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object* ContainerAllocator::clone(const Object& inOrigObj) const"); +} + + +/*! + * \brief Allocate a new container on the heap that is a clone an existing container with a copy + * of its data. + * \param inOrigObj Constant reference to the original container object to clone. + * \return Pointer to the allocated container. + * \throw InternalException When the program goes out of memory. + */ +Container* ContainerAllocator::cloneData(const Container& inOrigObj) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + Container* lContainer = new Container(mContainerTypeAlloc); + if(!lContainer) throw Beagle_InternalExceptionM("Out-of-memory!"); + lContainer->copyData(inOrigObj); + return lContainer; +#else // BEAGLE_NDEBUG + Container* lContainer = new Container(mContainerTypeAlloc); + lContainer->copyData(inOrigObj); + return lContainer; +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Container* ContainerAllocator::cloneData(const Container& inOrigObj) const"); +} + + +/*! + * \brief Copy a container into another. + * \param outCopyObj Constant reference to the original container to copy. + * \param inOrigObj Reference to the container that is a copy of the original. + * \throw BasCastException If the types of the parameters are not as specified. + */ +void ContainerAllocator::copy(Object& outCopyObj, const Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); + Container& lCopyContainer = castObjectT(outCopyObj); + const Container& lOrigContainer = castObjectT(inOrigObj); + lCopyContainer = lOrigContainer; + Beagle_StackTraceEndM("void ContainerAllocator::copy(Object& outCopyObj, const Object& inOrigObj) const"); +} + + +/*! + * \brief Copy a container into another, with a clone of its data. + * \param outCopyObj Constant reference to the original container to copy. + * \param inOrigObj Reference to the container that is a copy of the original. + */ +void ContainerAllocator::copyData(Container& outCopyObj, const Container& inOrigObj) const +{ + Beagle_StackTraceBeginM(); + outCopyObj.copyData(inOrigObj); + Beagle_StackTraceEndM("void ContainerAllocator::copyData(Container& outCopyObj, const Container& inOrigObj) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/Context.cpp b/lib/beagle-3.0.3/beagle/src/Context.cpp new file mode 100644 index 0000000..bf04283 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Context.cpp @@ -0,0 +1,61 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/Context.cpp + * \brief Source code of class Context. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a context. + */ +Context::Context() : + mSystemHandle(NULL), + mEvolverHandle(NULL), + mVivariumHandle(NULL), + mDemeHandle(NULL), + mDemeIndex(0), + mIndividualHandle(NULL), + mIndividualIndex(0), + mGenotypeHandle(NULL), + mGenotypeIndex(0), + mGeneration(0), + mProcessedDeme(0), + mTotalProcDeme(0), + mProcessedViva(0), + mTotalProcViva(0), + mContinueFlag(true) +{ } + diff --git a/lib/beagle-3.0.3/beagle/src/CrossoverOp.cpp b/lib/beagle-3.0.3/beagle/src/CrossoverOp.cpp new file mode 100644 index 0000000..6687b97 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/CrossoverOp.cpp @@ -0,0 +1,234 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/CrossoverOp.cpp + * \brief Source code of class CrossoverOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.11.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a plain new crossover operator. + * \param inMatingPbName Mating probability parameter name used in register. + * \param inName Name of the crossover operator. + */ +CrossoverOp::CrossoverOp(Beagle::string inMatingPbName, Beagle::string inName) : + BreederOp(inName), + mMatingProbaName(inMatingPbName) +{ } + + +/*! + * \brief Apply the crossover operation on a breeding pool, returning a mated individual. + * \param inBreedingPool Breeding pool to use for the crossover operation. + * \param inChild Node handle associated to child node in the breeder tree. + * \param ioContext Evolutionary context of the crossover operation. + * \return Mated individual. + */ +Individual::Handle CrossoverOp::breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Context::Handle lContext2 = + castObjectT(ioContext.getSystem().getContextAllocator().clone(ioContext)); + + Beagle_NonNullPointerAssertM(inChild); + Beagle_NonNullPointerAssertM(inChild->getBreederOp()); + Individual::Handle lIndiv1 = inChild->getBreederOp()->breed(inBreedingPool, + inChild->getFirstChild(), + ioContext); + + Beagle_NonNullPointerAssertM(inChild->getNextSibling()); + Beagle_NonNullPointerAssertM(inChild->getNextSibling()->getBreederOp()); + Individual::Handle lIndiv2 = + inChild->getNextSibling()->getBreederOp()->breed(inBreedingPool, + inChild->getNextSibling()->getFirstChild(), + *lContext2); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "crossover", "Beagle::CrossoverOp", + string("Mating the ")+uint2ordinal(ioContext.getIndividualIndex()+1)+ + string(" individual with the ")+uint2ordinal(lContext2->getIndividualIndex()+1)+ + " individual" + ); + + if((lIndiv1 != NULL) && (lIndiv2 != NULL)) { + bool lMated = mate(*lIndiv1, ioContext, *lIndiv2, *lContext2); + if(lMated && (lIndiv1->getFitness() != NULL)) lIndiv1->getFitness()->setInvalid(); + } + + return lIndiv1; + Beagle_StackTraceEndM("Individual::Handle CrossoverOp::breed(Individual::Bag& inBreedingPool, BreederNode::Handle inChild, Context& ioContext)"); +} + + +/*! + * \return Return selection probability of breeder operator. + * \param inChild Child node in the breeder tree. + */ +float CrossoverOp::getBreedingProba(BreederNode::Handle inChild) +{ + Beagle_StackTraceBeginM(); + return mMatingProba->getWrappedValue(); + Beagle_StackTraceEndM("float CrossoverOp::getBreedingProba(BreederNode::Handle inChild)"); +} + + +/*! + * \brief Initialize the crossover operator. + * \param ioSystem Reference to the system to use for the initialization. + */ +void CrossoverOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + BreederOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mMatingProbaName)) { + mMatingProba = castHandleT(ioSystem.getRegister().getEntry(mMatingProbaName)); + } else { + mMatingProba = new Float(0.5); + Register::Description lDescription( + "Individual crossover probability", + "Float", + "0.5", + "Single individual crossover probability for a generation." + ); + ioSystem.getRegister().addEntry(mMatingProbaName, mMatingProba, lDescription); + } + Beagle_StackTraceEndM("void CrossoverOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the crossover operation on the deme. + * \param ioDeme Current deme of individuals to mate. + * \param ioContext Context of the evolution. + */ +void CrossoverOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_ValidateParameterM(mMatingProba->getWrappedValue()>=0.0, mMatingProbaName, "<0"); + + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "crossover", "Beagle::CrossoverOp", + string("Mating individuals of the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "crossover", "Beagle::CrossoverOp", + string("Mating individuals with probability ")+ + dbl2str(mMatingProba->getWrappedValue()) + ); + + Context::Handle lContext2 = + castObjectT(ioContext.getSystem().getContextAllocator().clone(ioContext)); + Individual::Handle lOldIndividualHandle = ioContext.getIndividualHandle(); + unsigned int lOldIndividualIndex = ioContext.getIndividualIndex(); + + std::vector< unsigned int,BEAGLE_STLALLOCATOR > lMateVector; + for(unsigned int i=0; igetWrappedValue()) { + lMateVector.push_back(i); + } + } + + std::random_shuffle(lMateVector.begin(), lMateVector.end(), + ioContext.getSystem().getRandomizer()); + if((lMateVector.size() % 2) != 0) lMateVector.pop_back(); + + for(unsigned int j=0; jsetIndividualIndex(lSecondMate); + lContext2->setIndividualHandle(ioDeme[lSecondMate]); + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "crossover", "Beagle::CrossoverOp", + string("Mating the ")+uint2ordinal(lFirstMate+1)+ + string(" individual with the ")+uint2ordinal(lSecondMate+1)+" individual" + ); + + bool lMated = mate(*ioDeme[lFirstMate], ioContext, *ioDeme[lSecondMate], *lContext2); + if(lMated && (ioDeme[lFirstMate]->getFitness() != NULL)) + ioDeme[lFirstMate]->getFitness()->setInvalid(); + if(lMated && (ioDeme[lSecondMate]->getFitness() != NULL)) + ioDeme[lSecondMate]->getFitness()->setInvalid(); + } + + ioContext.setIndividualIndex(lOldIndividualIndex); + ioContext.setIndividualHandle(lOldIndividualHandle); + Beagle_StackTraceEndM("void CrossoverOp::operate(Deme& ioDeme, Context& ioContext)"); +} + + +/*! + * \brief Read a crossover operator from XML tree. + * \param inIter XML iterator to use to read crossover operator. + * \param inOpMap Operator map to use to read crossover operator. + */ +void CrossoverOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string mMatingProbaReadName = inIter->getAttribute("matingpb").c_str(); + if(mMatingProbaReadName.empty()==false) mMatingProbaName = mMatingProbaReadName; + Beagle_StackTraceEndM("void CrossoverOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write crossover operator content into XML streamer. + * \param ioStreamer XML streamer to write crossover operator into. + * \param inIndent Whether XML output should be indented. + */ +void CrossoverOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.insertAttribute("matingpb", mMatingProbaName); + Beagle_StackTraceEndM("void CrossoverOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/DecimateOp.cpp b/lib/beagle-3.0.3/beagle/src/DecimateOp.cpp new file mode 100644 index 0000000..7769f0e --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/DecimateOp.cpp @@ -0,0 +1,143 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/DecimateOp.cpp + * \brief Source code of class DecimateOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a plain new decimation operator. + * \param inDecimationRatioName Decimation ratio parameter name. + * \param inName Name of the decimation operator. + */ +DecimateOp::DecimateOp(Beagle::string inDecimationRatioName, Beagle::string inName) : + Operator(inName), + mDecimationRatioName(inDecimationRatioName) +{ } + + +/*! + * \brief Initialize the decimation operator. + * \param ioSystem Reference to the system to use for decimation. + */ +void DecimateOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Operator::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ec.pop.size")) { + mPopSize = castHandleT(ioSystem.getRegister().getEntry("ec.pop.size")); + } else { + mPopSize = new UIntArray(1,100); + string lLongDescrip("Number of demes and size of each deme of the population. "); + lLongDescrip += "The format of an UIntArray is S1,S2,...,Sn, where Si is the ith value. "; + lLongDescrip += "The size of the UIntArray is the number of demes present in the "; + lLongDescrip += "vivarium, while each value of the vector is the size of the corresponding "; + lLongDescrip += "deme."; + Register::Description lDescription( + "Vivarium and demes sizes", + "UIntArray", + "100", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ec.pop.size", mPopSize, lDescription); + } + + if(ioSystem.getRegister().isRegistered(mDecimationRatioName)) { + mDecimationRatio = castHandleT(ioSystem.getRegister().getEntry(mDecimationRatioName)); + } else { + mDecimationRatio = new Float((float)0.125); + Register::Description lDescription( + "Decimation ratio", + "Float", + "0.125", + string("Decimation ratio, which mean how much smaller will be the population ") + + string("resulting from a decimation operation compared to the actual population size. ")+ + string("If the ratio value is -1.0, the deme is resized to the size given in parameter ")+ + string("'ec.pop.size'.") + ); + ioSystem.getRegister().addEntry(mDecimationRatioName, mDecimationRatio, lDescription); + } + Beagle_StackTraceEndM("void DecimateOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the decimation operation on the deme. + * \param ioDeme Current deme of individuals to decimate. + * \param ioContext Context of the evolution. + */ +void DecimateOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_ValidateParameterM((mDecimationRatio->getWrappedValue()<=1.0), + mDecimationRatioName, + "The decimation ratio must be lesser or equal to 1.0."); + + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "decimation", "Beagle::DecimateOp", + string("Applying decimation operation on the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + + unsigned int lLambda = 0; + if(mDecimationRatio->getWrappedValue() == -1.0) { + Beagle_AssertM(ioContext.getDemeIndex() < mPopSize->size()); + lLambda = (*mPopSize)[ioContext.getDemeIndex()]; + } + else { + lLambda = (unsigned int)std::ceil(mDecimationRatio->getWrappedValue()*float(ioDeme.size())); + Beagle_AssertM(ioContext.getDemeIndex() < mPopSize->size()); + int lDiffSize = (*mPopSize)[ioContext.getDemeIndex()] - lLambda; + if((lDiffSize >= -1) && (lDiffSize <= 1)) lLambda = (*mPopSize)[ioContext.getDemeIndex()]; + } + Beagle_AssertM(lLambda <= ioDeme.size()); + + std::make_heap(ioDeme.begin(), ioDeme.end(), IsLessPointerPredicate()); + Individual::Bag lSurvivors; + for(unsigned int i=0; i + +using namespace Beagle; + + +/*! + * \brief Construct a deme for an individual allocator. + * \param inIndAlloc Handle to the allocator of individuals. + */ +Deme::Deme(Individual::Alloc::Handle inIndAlloc) : + Individual::Bag(inIndAlloc), + mHOFAlloc(new HallOfFame::Alloc), + mHallOfFame(new HallOfFame(inIndAlloc)), + mMigrationBuffer(new Individual::Bag(inIndAlloc)), + mStatsAlloc(new Stats::Alloc), + mStats(new Stats) +{ } + + +/*! + * \brief Construct a deme for an individual allocator and a statistics allocator. + * \param inIndAlloc Handle to the allocator of individuals. + * \param inStatsAlloc Statistics allocator. + * \param inHOFAlloc Hall-of-fame allocator. + * \param inN Size of deme. + */ +Deme::Deme(Individual::Alloc::Handle inIndAlloc, + Stats::Alloc::Handle inStatsAlloc, + HallOfFame::Alloc::Handle inHOFAlloc, + size_type inN) : + Individual::Bag(inIndAlloc, inN), + mHOFAlloc(inHOFAlloc), + mHallOfFame(castObjectT(inHOFAlloc->allocate())), + mMigrationBuffer(new Individual::Bag(inIndAlloc)), + mStatsAlloc(inStatsAlloc), + mStats(castObjectT(inStatsAlloc->allocate())) +{ + Beagle_StackTraceBeginM(); + mHallOfFame->setIndivAlloc(inIndAlloc); + Beagle_StackTraceEndM("Deme::Deme(Individual::Alloc::Handle inIndAlloc, Stats::Alloc::Handle inStatsAlloc, HallOfFame::Alloc::Handle inHOFAlloc, size_type inN)"); +} + + +/*! + * \brief Construct a deme with a genotype allocator. + * \param inGenotypeAlloc Genotype allocator. + */ +Deme::Deme(Genotype::Alloc::Handle inGenotypeAlloc) : + Individual::Bag(new Individual::Alloc(inGenotypeAlloc, new FitnessSimple::Alloc)), + mHOFAlloc(new HallOfFame::Alloc), + mHallOfFame(new HallOfFame(new Individual::Alloc(inGenotypeAlloc, new FitnessSimple::Alloc))), + mMigrationBuffer(new Individual::Bag(new Individual::Alloc(inGenotypeAlloc, + new FitnessSimple::Alloc))), + mStatsAlloc(new Stats::Alloc), + mStats(new Stats) +{ } + + +/*! + * \brief Construct a deme with a genotype allocator and a fitness allocator. + * \param inGenotypeAlloc Genotype allocator. + * \param inFitnessAlloc Fitness allocator. + */ +Deme::Deme(Genotype::Alloc::Handle inGenotypeAlloc, Fitness::Alloc::Handle inFitnessAlloc) : + Individual::Bag(new Individual::Alloc(inGenotypeAlloc, inFitnessAlloc)), + mHOFAlloc(new HallOfFame::Alloc), + mHallOfFame(new HallOfFame(new Individual::Alloc(inGenotypeAlloc, inFitnessAlloc))), + mMigrationBuffer(new Individual::Bag(new Individual::Alloc(inGenotypeAlloc, inFitnessAlloc))), + mStatsAlloc(new Stats::Alloc), + mStats(new Stats) +{ } + + +/*! + * \brief Copy construct a deme. + * \param inOriginalDeme Original deme to use as original of the actual deme. + */ +Deme::Deme(const Deme& inOriginalDeme) : + IndividualBag(), + mHallOfFame(new HallOfFame(inOriginalDeme.mHallOfFame->getIndivAlloc())) +{ + Beagle_StackTraceBeginM(); + (*this) = inOriginalDeme; + Beagle_StackTraceEndM("Deme::Deme(const Deme& inOriginalDeme)"); +} + + +/*! + * \brief Copy a deme. + * \param inOriginalDeme Original deme to use as original of the actual deme. + */ +Deme& Deme::operator=(const Deme& inOriginalDeme) +{ + Beagle_StackTraceBeginM(); + if(this == &inOriginalDeme) return *this; + Individual::Bag::operator=(inOriginalDeme); + mHOFAlloc = inOriginalDeme.mHOFAlloc; + mHallOfFame = castObjectT(mStatsAlloc->clone(*inOriginalDeme.mHallOfFame)); + mMigrationBuffer->copyData(*inOriginalDeme.mMigrationBuffer); + mStatsAlloc = inOriginalDeme.mStatsAlloc; + mStats = castObjectT(mStatsAlloc->clone(*inOriginalDeme.mStats)); + return *this; + Beagle_StackTraceEndM("Deme& Deme::operator=(const Deme& inOriginalDeme)"); +} + + +/*! + * \brief Copy a deme and clone the individuals it haves. + * \param inOrigContainer Original deme to copy. + * \throw BadCastException If the deme received as argument have no type allocator. + */ +void Deme::copyData(const Container& inOrigContainer) +{ + Beagle_StackTraceBeginM(); + const Deme& lOrigDeme = castObjectT(inOrigContainer); + if(lOrigDeme.getTypeAlloc() == NULL) { + string lMessage = "The copyData() method must be call only with as argument a deme"; + lMessage += " that have a type allocator!"; + throw Beagle_InternalExceptionM(lMessage); + } + if(this == &lOrigDeme) return; + (*this) = lOrigDeme; + clear(); + for(size_type i=0; icloneData(*lOrigDeme[i])); + } + Beagle_StackTraceEndM("void Deme::copyData(const Container& inOrigContainer)"); +} + + +/*! + * \brief Reading a deme with method read is undefined. Use readWithContext instead. + */ +void Deme::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("read","Deme",getName()); + Beagle_StackTraceEndM("void Deme::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Read a deme from an XML iterator. + * \param inIter XML iterator to read the deme from. + * \param ioContext Evolutionary context to use to read the deme. + * \throw Beagle::IOException If the format is not respected. + */ +void Deme::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Deme")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == PACC::XML::eData) { + if(lChild->getValue() == "Stats") mStats->read(lChild); + else if(lChild->getValue() == "HallOfFame") mHallOfFame->readWithContext(lChild, ioContext); + else if(lChild->getValue() == "MigrationBuffer") readMigrationBuffer(lChild, ioContext); + else if(lChild->getValue() == "Population") readPopulation(lChild, ioContext); + } + } + Beagle_StackTraceEndM("void Deme::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext)"); +} + + +/*! + * \brief Read a deme migration buffer from an XML iterator. + * \param inIter XML iterator to read the deme migration buffer from. + * \param ioContext Evolutionary context to use to read the deme migration buffer. + * \throw Beagle::IOException If the format is not respected. + */ +void Deme::readMigrationBuffer(PACC::XML::ConstIterator inIter, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="MigrationBuffer")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + Individual::Bag::size_type lSize=0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Individual")) ++lSize; + } + if((mMigrationBuffer->getTypeAlloc()==NULL) && (lSize>mMigrationBuffer->size())) { + std::ostringstream lMessageOSS; + lMessageOSS << "Deme migration buffer size (" << lSize << ") is bigger than the actual size ("; + lMessageOSS << mMigrationBuffer->size() << "), and there is no type allocator for resizing!"; + throw Beagle_IOExceptionNodeM(*inIter, lMessageOSS.str().c_str()); + } + mMigrationBuffer->resize(lSize); + unsigned int lOldIndivIndex = ioContext.getIndividualIndex(); + Individual::Handle lOldIndivHandle = ioContext.getIndividualHandle(); + unsigned int lIndex = 0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Individual")) { + Beagle_NonNullPointerAssertM((*mMigrationBuffer)[lIndex]); + ioContext.setIndividualIndex(lIndex); + ioContext.setIndividualHandle((*mMigrationBuffer)[lIndex]); + (*mMigrationBuffer)[lIndex]->readWithContext(lChild, ioContext); + ++lIndex; + } + } + ioContext.setIndividualHandle(lOldIndivHandle); + ioContext.setIndividualIndex(lOldIndivIndex); + Beagle_StackTraceEndM("void Deme::readMigrationBuffer(PACC::XML::ConstIterator inIter, Context& ioContext)"); +} + + +/*! + * \brief Read a deme population from an XML iterator. + * \param inIter XML iterator to read the deme population from. + * \param ioContext Evolutionary context to use to read the deme population. + * \throw Beagle::IOException If the format is not respected. + */ +void Deme::readPopulation(PACC::XML::ConstIterator inIter, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Population")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + size_type lSize=0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Individual")) ++lSize; + } + if((getTypeAlloc()==NULL) && (lSize>size())) { + std::ostringstream lMessageOSS; + lMessageOSS << "Deme population size (" << lSize << ") is bigger than the actual size ("; + lMessageOSS << size() << "), and there is no type allocator for resizing!"; + throw Beagle_IOExceptionNodeM(*inIter, lMessageOSS.str().c_str()); + } + resize(lSize); + unsigned int lOldIndivIndex = ioContext.getIndividualIndex(); + Individual::Handle lOldIndivHandle = ioContext.getIndividualHandle(); + unsigned int lIndex=0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Individual")) { + Beagle_NonNullPointerAssertM((*this)[lIndex]); + ioContext.setIndividualIndex(lIndex); + ioContext.setIndividualHandle((*this)[lIndex]); + (*this)[lIndex]->readWithContext(lChild, ioContext); + ++lIndex; + } + } + ioContext.setIndividualHandle(lOldIndivHandle); + ioContext.setIndividualIndex(lOldIndivIndex); + Beagle_StackTraceEndM("void Deme::readPopulation(PACC::XML::ConstIterator inIter, Context& ioContext)"); +} + + +/*! + * \brief Write the actual deme in a XML streamer. + * \param ioStreamer XML streamer to write the deme into. + * \param inIndent Whether XML output should be indented. + */ +void Deme::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Deme", inIndent); + mStats->write(ioStreamer, inIndent); + mHallOfFame->write(ioStreamer, inIndent); + writeMigrationBuffer(ioStreamer, inIndent); + writePopulation(ioStreamer, inIndent); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void Deme::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + +/*! + * \brief Write the actual deme migration buffer in a XML streamer. + * \param ioStreamer XML streamer to write the deme migration buffer into. + * \param inIndent Whether XML output should be indented. + */ +void Deme::writeMigrationBuffer(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("MigrationBuffer", inIndent); + ioStreamer.insertAttribute("size", uint2str(mMigrationBuffer->size())); + for(Individual::Bag::size_type i=0; isize(); ++i) { + Beagle_NonNullPointerAssertM((*mMigrationBuffer)[i]); + (*mMigrationBuffer)[i]->write(ioStreamer, inIndent); + } + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void Deme::writeMigrationBuffer(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + +/*! + * \brief Write the actual deme population in a XML streamer. + * \param ioStreamer XML streamer to write the deme population into. + * \param inIndent Whether XML output should be indented. + */ +void Deme::writePopulation(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Population", inIndent); + ioStreamer.insertAttribute("size", uint2str(size())); + for(size_type i=0; iwrite(ioStreamer, inIndent); + } + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void Deme::writePopulation(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/DemeAlloc.cpp b/lib/beagle-3.0.3/beagle/src/DemeAlloc.cpp new file mode 100644 index 0000000..376784d --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/DemeAlloc.cpp @@ -0,0 +1,168 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/DemeAlloc.cpp + * \brief Source code of class DemeAlloc. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Constructor of deme allocator from an individual allocator. + * \param inIndividualAlloc Type allocator given to the individual allocated. + */ +DemeAlloc::DemeAlloc(Individual::Alloc::Handle inIndividualAlloc) : + DemeAllocBaseType(inIndividualAlloc), + mHOFAlloc(new HallOfFame::Alloc), + mStatsAlloc(new Stats::Alloc) +{ } + + +/*! + * \brief Constructor of deme allocator from an individual allocator and a statistics allocator. + * \param inIndividualAlloc Type allocator given to the individual allocated. + * \param inStatsAlloc Statistics type allocator. + * \param inHOFAlloc Hall-of-fame allocator. + */ +DemeAlloc::DemeAlloc(Individual::Alloc::Handle inIndividualAlloc, + Stats::Alloc::Handle inStatsAlloc, + HallOfFame::Alloc::Handle inHOFAlloc) : + DemeAllocBaseType(inIndividualAlloc), + mHOFAlloc(inHOFAlloc), + mStatsAlloc(inStatsAlloc) +{ } + + +/*! + * \brief Allocate a new deme and the heap by giving it the type allocator. + * \return Pointer to the allocated Deme. + */ +Object* DemeAlloc::allocate() const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + Deme* lDeme = new Deme(castHandleT(mContainerTypeAlloc), + mStatsAlloc, mHOFAlloc); + if(!lDeme) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lDeme; +#else // BEAGLE_NDEBUG + return new Deme(castHandleT(mContainerTypeAlloc), + mStatsAlloc, mHOFAlloc); +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object* DemeAlloc::allocate() const"); +} + + +/*! + * \brief Allocate a new deme on the heap that is a clone an existing deme. + * \param inOrigObj Constant reference to the original deme object to clone. + * \return Pointer to the allocated deme. + * \throw InternalException If the program run out of memory. + * \throw BadCastException If the type asserted is not valid. + */ +Object* DemeAlloc::clone(const Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + const Deme& lOrigIndiv = castObjectT(inOrigObj); + Deme* lDeme = new Deme(lOrigIndiv); + if(!lDeme) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lDeme; +#else // BEAGLE_NDEBUG + const Deme& lOrigIndiv = castObjectT(inOrigObj); + return new Deme(lOrigIndiv); +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object* DemeAlloc::clone(const Object& inOrigObj) const"); +} + + +/*! + * \brief Allocate a new deme on the heap that is a clone an existing deme. + * \param inOrigContainer Constant reference to the original deme object to clone. + * \return Pointer to the allocated deme. + * \throw InternalException If the program run out of memory. + * \throw BadCastException If the type asserted is not valid. + */ +Container* DemeAlloc::cloneData(const Container& inOrigContainer) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + const Deme& lOrigIndiv = castObjectT(inOrigContainer); + Deme* lDeme = new Deme(castHandleT(mContainerTypeAlloc), + mStatsAlloc, mHOFAlloc); + if(!lDeme) throw Beagle_InternalExceptionM("Out-of-memory!"); + lDeme->copyData(lOrigIndiv); + return lDeme; +#else // BEAGLE_NDEBUG + const Deme& lOrigIndiv = castObjectT(inOrigContainer); + Deme* lDeme = new Deme(castHandleT(mContainerTypeAlloc), + mStatsAlloc, mHOFAlloc); + lDeme->copyData(lOrigIndiv); + return lDeme; +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Container* DemeAlloc::cloneData(const Container& inOrigContainer) const"); +} + + +/*! + * \brief Copy a deme into another. + * \param outCopyObj Constant reference to the original deme to copy. + * \param inOrigObj Reference to the deme that is a copy of the original. + * \throw BadCastException If the type asserted is not valid. + */ +void DemeAlloc::copy(Object& outCopyObj, const Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); + Deme& lCopyIndiv = castObjectT(outCopyObj); + const Deme& lOrigIndiv = castObjectT(inOrigObj); + lCopyIndiv = lOrigIndiv; + Beagle_StackTraceEndM("void DemeAlloc::copy(Object& outCopyObj, const Object& inOrigObj) const"); +} + + +/*! + * \brief Copy a deme into another. + * \param outCopyContainer Constant reference to the original deme to copy. + * \param inOrigContainer Reference to the deme that is a copy of the original. + * \throw BadCastException If the type asserted is not valid. + */ +void DemeAlloc::copyData(Container& outCopyContainer, const Container& inOrigContainer) const +{ + Beagle_StackTraceBeginM(); + Deme& lCopyIndiv = castObjectT(outCopyContainer); + const Deme& lOrigIndiv = castObjectT(inOrigContainer); + lCopyIndiv.copyData(lOrigIndiv); + Beagle_StackTraceEndM("void DemeAlloc::copyData(Container& outCopyContainer, const Container& inOrigContainer) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/EvaluationMultipleOp.cpp b/lib/beagle-3.0.3/beagle/src/EvaluationMultipleOp.cpp new file mode 100644 index 0000000..768e273 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/EvaluationMultipleOp.cpp @@ -0,0 +1,599 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/EvaluationMultipleOp.cpp + * \brief Source code of class EvaluationMultipleOp. + * \author Matthew Walker + * $Revision: 1.12.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include +#include + + +using namespace Beagle; + +/*! + * \brief Construct a new multiple-individual evaluation operator. + * \param inIndisPerCaseAndGroup Number of individuals per test cases and group. + * \param inName Name of the operator. + */ +EvaluationMultipleOp::EvaluationMultipleOp(unsigned int inIndisPerCaseAndGroup, + Beagle::string inName) : + EvaluationOp(inName), + mIndisPerCase(inIndisPerCaseAndGroup), + mIndisPerGroup(inIndisPerCaseAndGroup) +{ } + + +/*! + * \brief Construct a new multiple-individual evaluation operator. + * \param inIndisPerCase Number of individuals per test cases. + * \param inIndisPerGroup Number of individuals per group. + * \param inName Name of the operator. + */ +EvaluationMultipleOp::EvaluationMultipleOp(unsigned int inIndisPerCase, + unsigned int inIndisPerGroup, + Beagle::string inName) : + EvaluationOp(inName), + mIndisPerCase(inIndisPerCase), + mIndisPerGroup(inIndisPerGroup) +{ } + + +/*! + * \brief Apply the evaluation operation on a breeding pool, returning a evaluated bred individual. + * \param inBreedingPool Breeding pool to use for the breeding operation. + * \param inChild Node handle associated to child node in the breeder tree. + * \param ioContext Evolutionary context of the breeding operation. + * \return Evaluated bred individual. + */ +Individual::Handle EvaluationMultipleOp::breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext) +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("EvaluationMultipleOp", "breed", getName()); + return Individual::Handle(NULL); + Beagle_StackTraceEndM("Individual::Handle EvaluationMultipleOp::breed(Individual::Bag& inBreedingPool, BreederNode::Handle inChild, Context& ioContext)"); +} + + +/*! + * \brief Add individuals to the bag such that the total equals getIndisPerGroup(). + * \param ioIndividuals Bag of individuals to evaluate. + * \param ioContexts Bag of evolutionary context. + * \return The number of individuals added to the bag. + * + * The new individuals are chosen from the current deme. + */ +unsigned int EvaluationMultipleOp::enlargeGroup(Individual::Bag& ioIndividuals, + Context::Bag& ioContexts) +{ + Beagle_StackTraceBeginM(); + Context& lContext = castObjectT(*(ioContexts[0])); + + // Calculate the number of individuals to add + unsigned int lNumToAdd = mIndisPerGroup - ioIndividuals.size(); + Beagle_LogVerboseM( + lContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + string("Adding ")+uint2str(lNumToAdd)+string(" individuals to the group (for padding)") + ); + + // Resize the bags + unsigned int lIndisCounter = ioIndividuals.size(); + ioIndividuals.resize(mIndisPerGroup); + ioContexts.resize(mIndisPerGroup); + + // Loop through all the individuals in the deme + Deme& lDeme = lContext.getDeme(); + std::vector< unsigned int,BEAGLE_STLALLOCATOR > lSelectableIndis; + lSelectableIndis.resize(lDeme.size()); + unsigned int lSelectableIndisCounter = 0; + for (unsigned int i=0; i(lContext.getSystem().getContextAllocator().clone( *(ioContexts[0]) )); + ioContexts[lIndisCounter]->setIndividualHandle( ioIndividuals[lIndisCounter] ); + ioContexts[lIndisCounter]->setIndividualIndex( lIndiIndex ); + lIndisCounter++; + } + Beagle_AssertM( lIndisCounter==ioIndividuals.size() ); + + return lNumToAdd; + Beagle_StackTraceEndM("unsigned int EvaluationMultipleOp::enlargeGroup(Individual::Bag&,Context::Bag&)"); +} + + + +/*! + * \brief Evaluate the fitness of the given individual. + * \param inIndividual Current individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness value of the individual. + * + * This method evaluates only a single individual. For this + * operator, it is much better to group individuals into a bag and + * pass the bag to evaluate(Individual::Bag& ioIndividuals, Context::Bag& ioContexts). + */ +Fitness::Handle EvaluationMultipleOp::evaluate(Individual& inIndividual, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + // Create a bag for the individual + Individual::Bag lIndividuals; + lIndividuals.resize(1); + Beagle_AssertM(inIndividual == ioContext.getIndividual()); + lIndividuals[0] = ioContext.getIndividualHandle(); + + // Create a context for the individual + Context::Bag lContexts; + lContexts.resize(1); + lContexts[0] = + castHandleT(ioContext.getSystem().getContextAllocator().clone( ioContext)); + + // Call evalutate() + Fitness::Bag::Handle lFitnessBag = evaluateIndividuals(lIndividuals,lContexts); + + // Return fitness + Beagle_AssertM( !lFitnessBag->empty() ); + return lFitnessBag->at(0); + Beagle_StackTraceEndM("Fitness::Handle EvaluationMultipleOp::evaluate(Individual&,Context&)"); +} + + +/*! + * \brief Evaluate the fitness of the given bag of individuals. + * \param ioIndividuals Bag of individuals to evaluate. + * \param ioContexts Bag of evolutionary context. + * \return Handle to a bag of fitness values, one for each individual. + */ +Fitness::Bag::Handle EvaluationMultipleOp::evaluateIndividuals(Individual::Bag& ioIndividuals, + Context::Bag& ioContexts) +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(ioIndividuals.size()==ioContexts.size()); + Beagle_AssertM(ioIndividuals.size()!=0); + + Context& lContext = castObjectT(*(ioContexts[0])); + + // Check if sufficient individuals are in the bag + Beagle_AssertM( ioIndividuals.size() <= mIndisPerGroup ); + unsigned int lNumToIgnore = 0; + if (ioIndividuals.size() != mIndisPerGroup) { + lNumToIgnore = enlargeGroup(ioIndividuals, ioContexts); + } + + // Create bag of null-fitnesses + Fitness::Bag::Handle lFitnessBagAll = new Fitness::Bag; + lFitnessBagAll->resize( ioIndividuals.size() ); + Beagle_NonNullPointerAssertM( lFitnessBagAll ); + + // Set up cases + if (mCases == NULL) setupCases(ioIndividuals.size(),lContext); + Case::Bag::Handle lCases = pruneIgnorableCases(lNumToIgnore); + + // Call evaluateCase for each case + for (unsigned int i=0; isize(); i++) { + Beagle_LogVerboseM( + lContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + string("Evaluating the ")+uint2ordinal(i+1)+string(" case") + ); + Case& lCase = *(lCases->at(i)); + Beagle_AssertM( lCase.mIndices.size() == mIndisPerCase ); + + // Setup bags of individuals and contexts + Individual::Bag lIndividuals; + Context::Bag lContexts; + lIndividuals.resize( mIndisPerCase ); + lContexts.resize( mIndisPerCase ); + for (unsigned int j=0; jgetIndividualIndex()+1); + } + Beagle_LogDebugM( + lContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + uint2ordinal(i+1)+string(" case: ")+ + lOSS.str().c_str() + ); + + // Call evalutateCase() + Fitness::Bag::Handle lFitnessBagCase = + evaluateCase(lIndividuals, lContexts); + + // Log resulting fitnesses + Beagle_NonNullPointerAssertM( lFitnessBagCase ); + Beagle_LogDebugM( + lContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + string("Evaluation of the case is complete. The fitnesses are as follows:") + ); + for (unsigned int j=0; jat(j) ); + Beagle_LogDebugM( + lContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + string("Fitness of the ")+ + uint2ordinal(ioContexts[lCase.mIndices[j]]->getIndividualIndex()+1)+ + string(" individual: ")+lFitnessBagCase->at(j)->serialize() + ); + + // Need to assign fitness values from case to lFitnessBagAll + unsigned int lIndex = lCase.mIndices[j]; + Beagle_LogDebugM( + lContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + string("Setting fitness for lFitnessBagAll at index ")+uint2str(lIndex) + ); + Beagle_AssertM(lIndex < lFitnessBagAll->size()); + if (lFitnessBagAll->at(lIndex)==NULL) { + (*lFitnessBagAll)[lIndex] = lFitnessBagCase->at(j); + } + else { + combineFitnesses(lFitnessBagAll->at(lIndex), + lFitnessBagCase->at(j) ); + Beagle_LogDebugM( + lContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + string("Fitness of the ")+uint2ordinal(ioContexts[lIndex]->getIndividualIndex()+1)+ + string(" individual has been combined to: ")+lFitnessBagAll->at(lIndex)->serialize() + ); + } + } + } + + Beagle_LogDebugM( + lContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + string("Evaluation of all cases is complete. Fitnesses are as follows:") + ); + for (unsigned int i=0; + i=mIndisPerGroup-lNumToIgnore) { + // Nullify ignorable individuals' fitness scores + Beagle_LogDebugM( + lContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + string("Ignoring fitness of the ")+uint2ordinal(ioContexts[i]->getIndividualIndex()+1)+ + string(" individual") + ); + (*lFitnessBagAll)[i] = NULL; + continue; + } + Beagle_NonNullPointerAssertM( lFitnessBagAll->at(i) ); + Beagle_LogDebugM( + lContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + string("Fitness of the ")+uint2ordinal(ioContexts[i]->getIndividualIndex()+1)+ + lFitnessBagAll->at(i)->serialize() + ); + } + + return lFitnessBagAll; + Beagle_StackTraceEndM("Fitness::Bag::Handle EvaluationMultipleOp::evaluateIndividuals(Individual::Bag&,Context::Bag&)"); +} + + +/*! + * \brief Apply the evaluation process on the invalid individuals of the deme. + * \param ioDeme Deme to process. + * \param ioContext Context of the evolution. + */ +void EvaluationMultipleOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + string("Evaluating the fitness of the individuals in the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + + Beagle_AssertM( ioDeme.size()!=0 ); + + // Prepare stats + prepareStats(ioDeme,ioContext); + + // Generate a vector of indicies into the population + std::vector< unsigned int,BEAGLE_STLALLOCATOR > lEvalVector; + for(unsigned int i=0; igetFitness() == NULL) || + (ioDeme[i]->getFitness()->isValid() == false)) { + lEvalVector.push_back(i); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + string("Added ")+uint2ordinal(i+1)+string(" individual for evaluation.") + ); + } + } + std::random_shuffle(lEvalVector.begin(), lEvalVector.end(), + ioContext.getSystem().getRandomizer()); + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + string("There are ")+uint2str(lEvalVector.size())+ + string(" individuals to be evaluated.") + ); + + while ( !lEvalVector.empty() ) { + // Put individuals and context into bags. + Individual::Bag lIndividuals; + Context::Bag lContexts; + lIndividuals.resize( mIndisPerGroup ); + lContexts.resize( mIndisPerGroup ); + unsigned int lIndiCounter =0; + + for (unsigned int i=0; i(ioContext.getSystem().getContextAllocator().clone(ioContext)); + lContext->setIndividualIndex( lEvalVector.back() ); + lContext->setIndividualHandle( ioDeme[lEvalVector.back()] ); + lContexts[i] = lContext; + // Remove this index from the evaluation vector + lEvalVector.pop_back(); + if(lEvalVector.empty()) { + lIndividuals.resize( lIndiCounter ); + lContexts.resize( lIndiCounter ); + break; + } + } + + // Evaluate individuals + std::ostringstream lOSS; + for (unsigned int i=0; igetIndividualIndex()+1); + if (igetIndividualIndex()+1)+string(" individual") + ); + Beagle_AssertM( i < lFitnessBag->size() ); + Fitness::Handle lFitness = lFitnessBag->at(i); + Beagle_NonNullPointerAssertM( lFitness ); + lIndividuals[i]->setFitness( lFitness ); + lIndividuals[i]->getFitness()->setValid(); + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + string("The fitness of the ")+uint2ordinal(lContexts[i]->getIndividualIndex()+1)+ + string(" individual is: ")+ + lIndividuals[i]->getFitness()->serialize() + ); + } + + // Update stats + updateStats(lIndividuals.size(),ioContext); + } + + updateHallOfFameWithDeme(ioDeme,ioContext); + Beagle_StackTraceEndM("void EvaluationMultipleOp::operate(Deme&,Context&)"); +} + + +/*! + * \brief Removes cases that contain only references to individuals + * that are acting a padding. + * \param inNumToIgnore Number of individuals that have been added as padding. + */ +EvaluationMultipleOp::Case::Bag::Handle +EvaluationMultipleOp::pruneIgnorableCases(unsigned int inNumToIgnore) +{ + Beagle_StackTraceBeginM(); + if (inNumToIgnore==0) return mCases; + + Case::Bag::Handle lCases = new Case::Bag; + lCases->resize( mCases->size() ); + unsigned int lCaseCounter = 0; + + // Check every case + for (unsigned int i=0; isize(); i++) { + // Check if any of the indices are not able to be ignored + Case& lCase = *(mCases->at(i)); + bool lAdd = false; + for (unsigned int j=0; jresize(lCaseCounter); + return lCases; + Beagle_StackTraceEndM("EvaluationMultipleOp::Case::Bag::Handle EvaluationMultipleOp::pruneIgnorableCases(unsigned int)"); +} + + +/*! + * \brief Sets up cases. + * \param inSize Number of individuals in a group. + * \param ioContext Context of the evolution. + * + * A case is a vector of indices into a bag of individuals. This + * method creates cases. The number of cases is decided by inSize. + * + * For example, if inSize is 4 (set by setIndisPerGroup), then the + * indices will range from 0 to 3. If each case contains just two + * individuals (as set by setIndisPerCase) then the cases will be: + * (0,1) (0,2) (0,3) + * (1,2) (1,3) + * (2,3) + * Where (x,y) dictates a case when individual x will compete against + * indiviudal y. + */ +void EvaluationMultipleOp::setupCases(unsigned int inSize, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + string("Creating evaluation cases") + ); + Beagle_AssertM(inSize >= mIndisPerCase); + Beagle_AssertM(inSize == mIndisPerGroup); + + // Create cases with each case containing one individual + mCases = new Case::Bag; + Beagle_NonNullPointerAssertM( mCases ); + for (unsigned int i=0; imIndices.push_back( i ); + setupCaseRecursive(inSize,i,lCase); + } + + // Log cases + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + uint2str(mCases->size())+string(" evaluation cases were created") + ); + for (unsigned int i=0; isize(); i++) { + std::ostringstream lOSS; + for (unsigned int j=0; jat(i)->mIndices.size(); j++) { + if (j!=0) lOSS << ", "; + lOSS << mCases->at(i)->mIndices[j]; + } + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationMultipleOp", + uint2ordinal(i+1)+string(" case: ")+ + lOSS.str().c_str() + ); + } + Beagle_StackTraceEndM("void EvaluationMultipleOp::setupCases(unsigned int,Context&)"); +} + + +/*! + * \brief Sets up cases by adding one more individual into a clone of + * inCase, and then calling this method for each one of those cases. + * \param inSize Number of individuals in a group. + * \param inLastIndex The index of the last individual that was + * inserted into the case. + * \param inCase The case on which to work. + */ +void EvaluationMultipleOp::setupCaseRecursive(unsigned int inSize, + unsigned int inLastIndex, + Case::Handle inCase) +{ + using namespace std; + Beagle_StackTraceBeginM(); + unsigned int lCaseSize = inCase->mIndices.size(); + + // Check if the case is finished. + if (lCaseSize == mIndisPerCase) { + unsigned int lSize = mCases->size(); + mCases->resize( lSize + 1 ); + (*mCases)[lSize]=inCase; + return; + } + + // Case isn't finished, add another individual to it. + Beagle_AssertM( lCaseSizemIndices.push_back(i); + setupCaseRecursive(inSize,i,lNewCase); + } + Beagle_StackTraceEndM("void EvaluationMultipleOp::setupCaseRecursive(unsigned int,unsigned int,Case::Handle"); +} diff --git a/lib/beagle-3.0.3/beagle/src/EvaluationOp.cpp b/lib/beagle-3.0.3/beagle/src/EvaluationOp.cpp new file mode 100644 index 0000000..b35647e --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/EvaluationOp.cpp @@ -0,0 +1,361 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/EvaluationOp.cpp + * \brief Source code of class EvaluationOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.12.2.1 $ + * $Date: 2007/05/09 01:51:18 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a new evaluation operator. + * \param inName Name of the operator. + */ +EvaluationOp::EvaluationOp(Beagle::string inName) : + BreederOp(inName) +{ } + + +/*! + * \brief Apply the evaluation operation on a breeding pool, returning a evaluated bred individual. + * \param inBreedingPool Breeding pool to use for the breeding operation. + * \param inChild Node handle associated to child node in the breeder tree. + * \param ioContext Evolutionary context of the breeding operation. + * \return Evaluated bred individual. + */ +Individual::Handle EvaluationOp::breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(inChild); + + Deme& lDeme = *ioContext.getDemeHandle(); + if(lDeme.getStats()->isValid()) prepareStats(lDeme, ioContext); + + Beagle_NonNullPointerAssertM(inChild); + Beagle_NonNullPointerAssertM(inChild->getBreederOp()); + Individual::Handle lBredIndividual = + inChild->getBreederOp()->breed(inBreedingPool, inChild->getFirstChild(), ioContext); + + if((lBredIndividual->getFitness()==NULL) || (lBredIndividual->getFitness()->isValid()==false)) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationOp", + "Evaluating the fitness of a new bred individual" + ); + + lBredIndividual->setFitness(evaluate(*lBredIndividual, ioContext)); + lBredIndividual->getFitness()->setValid(); + + ioContext.setProcessedDeme(ioContext.getProcessedDeme()+1); + ioContext.setTotalProcessedDeme(ioContext.getTotalProcessedDeme()+1); + ioContext.setProcessedVivarium(ioContext.getProcessedVivarium()+1); + ioContext.setTotalProcessedVivarium(ioContext.getTotalProcessedVivarium()+1); + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationOp", + string("The individual fitness value is: ")+ + lBredIndividual->getFitness()->serialize() + ); + + updateHallOfFameWithIndividual(*lBredIndividual, ioContext); + } + + return lBredIndividual; + Beagle_StackTraceEndM("Individual::Handle EvaluationOp::breed(Individual::Bag&,BreederNode::Handle,Context&)"); +} + + +/*! + * \return Return selection probability of breeder operator. + * \param inChild Child node in the breeder tree. + */ +float EvaluationOp::getBreedingProba(BreederNode::Handle inChild) +{ + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(inChild); + Beagle_NonNullPointerAssertM(inChild->getBreederOp()); + return inChild->getBreederOp()->getBreedingProba(inChild->getFirstChild()); + Beagle_StackTraceEndM("float EvaluationOp::getBreedingProba(BreederNode::Handle)"); +} + + +/*! + * \brief Initialize the parameters evaluation operator. + * \param ioSystem System to use to initialize the operator. + */ +void EvaluationOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + BreederOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ec.hof.vivasize")) { + mVivaHOFSize = + castHandleT(ioSystem.getRegister().getEntry("ec.hof.vivasize")); + } else { + mVivaHOFSize = new UInt(1); + string lLongDescript = "Number of individuals kept in vivarium's hall-of-fame "; + lLongDescript += "(best individuals so far). Note that a hall-of-fame contains only "; + lLongDescript += "copies of the best individuals so far and is not used by the evolution "; + lLongDescript += "process."; + Register::Description lDescription( + "Vivarium's hall-of-fame size", + "UInt", + "1", + lLongDescript + ); + ioSystem.getRegister().addEntry("ec.hof.vivasize", mVivaHOFSize, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ec.hof.demesize")) { + mDemeHOFSize = + castHandleT(ioSystem.getRegister().getEntry("ec.hof.demesize")); + } else { + mDemeHOFSize = new UInt(0); + string lLongDescript = "Number of individuals kept in each deme's hall-of-fame "; + lLongDescript += "(best individuals so far). Note that a hall-of-fame contains only "; + lLongDescript += "copies of the best individuals so far and is not used by the evolution "; + lLongDescript += "process."; + Register::Description lDescription( + "Demes' hall-of-fame size", + "UInt", + "0", + lLongDescript + ); + ioSystem.getRegister().addEntry("ec.hof.demesize", mDemeHOFSize, lDescription); + } + Beagle_StackTraceEndM("void EvaluationOp::initialize(System&)"); +} + + +/*! + * \brief Apply the evaluation process on the invalid individuals of the deme. + * \param ioDeme Deme to process. + * \param ioContext Context of the evolution. + */ +void EvaluationOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationOp", + string("Evaluating the fitness of the individuals in the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + + Individual::Handle lOldIndividualHandle = ioContext.getIndividualHandle(); + unsigned int lOldIndividualIndex = ioContext.getIndividualIndex(); + + prepareStats(ioDeme,ioContext); + + for(unsigned int i=0; igetFitness() == NULL) || + (ioDeme[i]->getFitness()->isValid() == false)) { + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationOp", + string("Evaluating the fitness of the ")+uint2ordinal(i+1)+ + " individual" + ); + + ioContext.setIndividualIndex(i); + ioContext.setIndividualHandle(ioDeme[i]); + + ioDeme[i]->setFitness(evaluate(*ioDeme[i], ioContext)); + ioDeme[i]->getFitness()->setValid(); + + updateStats(1,ioContext); + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationOp", + string("The individual\'s fitness is: ")+ + ioDeme[i]->getFitness()->serialize() + ); + } + } + + ioContext.setIndividualIndex(lOldIndividualIndex); + ioContext.setIndividualHandle(lOldIndividualHandle); + + updateHallOfFameWithDeme(ioDeme,ioContext); + Beagle_StackTraceEndM("void EvaluationOp::operate(Deme&,Context&)"); +} + + +/*! + * \brief Prepare statistics to be processed. + * \param ioDeme Deme for which statistics will be processed. + * \param ioContext Evolutionary context. + */ +void EvaluationOp::prepareStats(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + ioContext.setProcessedDeme(0); + if((ioContext.getGeneration()!=0) && (ioDeme.getStats()->existItem("total-processed"))) { + ioContext.setTotalProcessedDeme((unsigned int)ioDeme.getStats()->getItem("total-processed")); + } + else ioContext.setTotalProcessedDeme(0); + ioDeme.getStats()->setInvalid(); + + if(ioContext.getDemeIndex()==0) { + Stats& lVivaStats = *ioContext.getVivarium().getStats(); + ioContext.setProcessedVivarium(0); + if((ioContext.getGeneration()!=0) && (lVivaStats.existItem("total-processed"))) { + ioContext.setTotalProcessedVivarium((unsigned int)lVivaStats.getItem("total-processed")); + } + else ioContext.setTotalProcessedVivarium(0); + lVivaStats.setInvalid(); + } + Beagle_StackTraceEndM("void EvaluationOp::prepareStats(Deme&,Context&)"); +} + + +/*! + * \brief Test the fitness of a given individual. + * \param inIndividual Handle to the individual to test. + * \param ioSystem Handle to the system to use to test the individual. + * \par Note: + * This method is provided as a mean to test some individuals after an evolution. + */ +Fitness::Handle EvaluationOp::test(Individual::Handle inIndividual, System::Handle ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle_LogInfoM( + ioSystem->getLogger(), + "evaluation", "Beagle::EvaluationOp", + string("Testing the following individual: ")+inIndividual->serialize() + ); + + Context::Alloc::Handle lContextAlloc = + castHandleT(ioSystem->getContextAllocatorHandle()); + Context::Handle lContext = castHandleT(lContextAlloc->allocate()); + lContext->setSystemHandle(ioSystem); + lContext->setIndividualHandle(inIndividual); + Fitness::Handle lFitness = evaluate(*inIndividual, *lContext); + + Beagle_LogInfoM( + ioSystem->getLogger(), + "evaluation", "Beagle::EvaluationOp", + string("New fitness of the individual: ")+lFitness->serialize() + ); + + return lFitness; + Beagle_StackTraceEndM("Fitness::Handle EvaluationOp::test(Individual::Handle, System::Handle)"); +} + + +/*! + * \brief Update the hall of fame with current deme. + * \param ioDeme Deme to use to update the hall-of-fame. + * \param ioContext Evolutionary context. + */ +void EvaluationOp::updateHallOfFameWithDeme(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(mDemeHOFSize->getWrappedValue() > 0) { + Beagle_LogDetailedM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationOp", + "Updating the deme's hall-of-fame" + ); + ioDeme.getHallOfFame().updateWithDeme(mDemeHOFSize->getWrappedValue(), ioDeme, ioContext); + ioDeme.getHallOfFame().log(Logger::eVerbose, ioContext); + } + if(mVivaHOFSize->getWrappedValue() > 0) { + Beagle_LogDetailedM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationOp", + "Updating the vivarium's hall-of-fame" + ); + ioContext.getVivarium().getHallOfFame().updateWithDeme(mVivaHOFSize->getWrappedValue(), + ioDeme, ioContext); + ioContext.getVivarium().getHallOfFame().log(Logger::eVerbose, ioContext); + } + Beagle_StackTraceEndM("void EvaluationOp::updateHallOfFameWithDeme(Deme&,Context&)"); +} + + +/*! + * \brief Update the hall of fame with the current individual. + * \param ioIndividual Individual to update the hall-of-fame. + * \param ioContext Evolutionary context. + */ +void EvaluationOp::updateHallOfFameWithIndividual(Individual& ioIndividual, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(mDemeHOFSize->getWrappedValue() > 0) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationOp", + "Updating the deme hall-of-fame" + ); + ioContext.getDeme().getHallOfFame().updateWithIndividual(mDemeHOFSize->getWrappedValue(), + ioIndividual, ioContext); + } + if(mVivaHOFSize->getWrappedValue() > 0) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "evaluation", "Beagle::EvaluationOp", + "Updating the vivarium hall-of-fame" + ); + ioContext.getVivarium().getHallOfFame().updateWithIndividual(mVivaHOFSize->getWrappedValue(), + ioIndividual, ioContext); + } + Beagle_StackTraceEndM("void EvaluationOp::updateHallOfFameWithIndividual(Individual&,Context&)"); +} + + +/*! + * \brief Update the stats on processed individuals + * \param inNumProcessed The number of individuals processed since the last update. + * \param ioContext Evolutionary context. + */ +void EvaluationOp::updateStats(unsigned int inNumProcessed, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + ioContext.setProcessedDeme(ioContext.getProcessedDeme()+1); + ioContext.setTotalProcessedDeme(ioContext.getTotalProcessedDeme()+1); + ioContext.setProcessedVivarium(ioContext.getProcessedVivarium()+1); + ioContext.setTotalProcessedVivarium(ioContext.getTotalProcessedVivarium()+1); + Beagle_StackTraceEndM("void EvaluationOp::updateStats(unsigned int,Context&)"); +} + + diff --git a/lib/beagle-3.0.3/beagle/src/Evolver.cpp b/lib/beagle-3.0.3/beagle/src/Evolver.cpp new file mode 100644 index 0000000..68600ad --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Evolver.cpp @@ -0,0 +1,803 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/Evolver.cpp + * \brief Source code of class Evolver. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.32.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +#ifdef BEAGLE_HAVE_LIBZ +#include "gzstream.h" +#endif // BEAGLE_HAVE_LIBZ + +using namespace Beagle; + + +/*! + * \brief Construct an evolver by adding common operators in it. + */ +Evolver::Evolver() +{ + Beagle_StackTraceBeginM(); + addBasicOperators(); + Beagle_StackTraceEndM("Evolver::Evolver()"); +} + + +/*! + * \brief Add the basic operators into the operator map. + */ +void Evolver::addBasicOperators() +{ + Beagle_StackTraceBeginM(); + addOperator(new IfThenElseOp); + addOperator(new InvalidateFitnessOp); + addOperator(new MigrationRandomRingOp); + addOperator(new MilestoneReadOp); + addOperator(new MilestoneWriteOp); + addOperator(new RegisterReadOp); + addOperator(new SelectRandomOp); + addOperator(new SelectRouletteOp); + addOperator(new SelectTournamentOp); + addOperator(new SelectParsimonyTournOp); + addOperator(new StatsCalcFitnessSimpleOp); + addOperator(new StatsCalcFitnessSimpleOp("StatsCalcFitnessSimpleMinOp")); + addOperator(new StatsCalcFitnessMultiObjOp); + addOperator(new StatsCalcFitnessMultiObjOp("StatsCalcFitnessMultiObjMinOp")); + addOperator(new TermMaxGenOp); + addOperator(new TermMaxFitnessOp); + addOperator(new TermMinFitnessOp); + addOperator(new TermMaxEvalsOp); + addOperator(new GenerationalOp); + addOperator(new SteadyStateOp); + addOperator(new MuCommaLambdaOp); + addOperator(new MuCommaLambdaOp("ec.mulambda.ratio","MuCommaLambdaOp-2")); + addOperator(new MuPlusLambdaOp); + addOperator(new NSGA2Op); + addOperator(new NPGA2Op); + addOperator(new ParetoFrontCalculateOp); + addOperator(new DecimateOp); + addOperator(new OversizeOp); + addOperator(new RandomShuffleDemeOp); + addOperator(new HierarchicalFairCompetitionOp); + addOperator(new IndividualSizeFrequencyStatsOp); + Beagle_StackTraceEndM("void Evolver::addBasicOperators()"); +} + +/*! + * \brief Add an operator in the bootstrap operator set. + * \param inName Name of operator to add to bootstrap operator set. + * \throw RunTimeException If named operator is not in operator map. + */ +void Evolver::addBootStrapOp(Beagle::string inName) +{ + Beagle_StackTraceBeginM(); + Map::iterator lOpIter = mOperatorMap.find(inName); + if(lOpIter == mOperatorMap.end()) { + std::ostringstream lOSS; + lOSS << "Operator named \"" << inName << "\" is not in operator map. Installed operators are:"; + for(Map::iterator lItr = mOperatorMap.begin(); + lItr != mOperatorMap.end(); ++lItr) { + lOSS << "\n- " << lItr->second->getName(); + } + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + Operator::Handle lOper = castHandleT(lOpIter->second); + mBootStrapSet.push_back(lOper->giveReference()); + Beagle_StackTraceEndM("void Evolver::addBootStrapOp(string)"); +} + + +/*! + * \brief Add an operator in the main-loop operator set. + * \param inName Name of operator to add to main-loop operator set. + * \throw RunTimeException If named operator is not in operator map. + */ +void Evolver::addMainLoopOp(Beagle::string inName) +{ + Beagle_StackTraceBeginM(); + Map::iterator lOpIter = mOperatorMap.find(inName); + if(lOpIter == mOperatorMap.end()) { + std::ostringstream lOSS; + lOSS << "Operator named \"" << inName << "\" is not in operator map. Installed operators are:"; + for(Map::iterator lItr = mOperatorMap.begin(); + lItr!=mOperatorMap.end(); ++lItr) { + lOSS << "\n- " << lItr->second->getName(); + } + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + Operator::Handle lOper = castHandleT(lOpIter->second); + mMainLoopSet.push_back(lOper->giveReference()); + Beagle_StackTraceEndM("void Evolver::addMainLoopOp(string inName)"); +} + + +/*! + * \brief Add a new operator in the evolver. + * \param inOperator Operator to add. + */ +void Evolver::addOperator(Operator::Handle inOperator) +{ + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(inOperator); + mOperatorMap[inOperator->getName()] = inOperator; + Beagle_StackTraceEndM("void Evolver::addOperator(Operator::Handle)"); +} + + +/*! + * \brief Evolve a given vivarium. + * \param ioVivarium Handle to the vivarium to evolve. + */ +void Evolver::evolve(Vivarium::Handle ioVivarium) +{ + Beagle_StackTraceBeginM(); + logWelcomeMessages(); + + // Initialize the evolution context. + Context::Handle lEvolContext = + castObjectT(mSystemHandle->getContextAllocator().allocate()); + lEvolContext->setSystemHandle(mSystemHandle); + lEvolContext->setEvolverHandle(this); + lEvolContext->setVivariumHandle(ioVivarium); + lEvolContext->setDemeIndex(0); + lEvolContext->setGeneration(0); + lEvolContext->setContinueFlag(true); + + Beagle_LogTraceM( + mSystemHandle->getLogger(), + "evolver", "Beagle::Evolver", + string("Vivarium resized to ")+uint2str(mPopSize->size())+" demes" + ); + ioVivarium->resize(mPopSize->size()); + + while( lEvolContext->getContinueFlag() ) { + unsigned int lGeneration = lEvolContext->getGeneration(); + + Beagle_LogBasicM( + mSystemHandle->getLogger(), + "evolver", "Beagle::Evolver", + string("Evolving generation ")+uint2str(lGeneration) + ); + if(lGeneration == 0) { + for(unsigned int i=lEvolContext->getDemeIndex(); isize(); i++) { + lEvolContext->setDemeIndex(i); + lEvolContext->setDemeHandle((*ioVivarium)[i]); + + Beagle_LogInfoM( + mSystemHandle->getLogger(), + "evolver", "Beagle::Evolver", + string("Applying bootstrap operators to the ")+uint2ordinal(i+1)+ + string(" deme") + ); + for(unsigned int j=0; jgetLogger(), + "evolver", "Beagle::Evolver", + string("Applying \"")+mBootStrapSet[j]->getName()+string("\"") + ); + mBootStrapSet[j]->operate(*(*ioVivarium)[i], *lEvolContext); + } + if(lEvolContext->getContinueFlag() == false) break; + if(i != lEvolContext->getDemeIndex()) break; + if(lGeneration != lEvolContext->getGeneration()) break; + if(i == (ioVivarium->size()-1)) { + lEvolContext->setGeneration(lGeneration+1); + lEvolContext->setDemeIndex(0); + } + } + } + else { + for(unsigned int i=lEvolContext->getDemeIndex(); isize(); i++) { + lEvolContext->setDemeIndex(i); + lEvolContext->setDemeHandle((*ioVivarium)[i]); + Beagle_LogInfoM( + mSystemHandle->getLogger(), + "evolver", "Beagle::Evolver", + string("Applying main-loop operators to the ")+uint2ordinal(i+1)+ + string(" deme") + ); + for(unsigned int j=0; jgetLogger(), + "evolver", "Beagle::Evolver", + string("Applying \"")+mMainLoopSet[j]->getName()+string("\"") + ); + mMainLoopSet[j]->operate(*(*ioVivarium)[i], *lEvolContext); + } + if(lEvolContext->getContinueFlag() == false) break; + if(i != lEvolContext->getDemeIndex()) break; + if(lGeneration != lEvolContext->getGeneration()) break; + if(i == (ioVivarium->size()-1)) { + lEvolContext->setGeneration(lGeneration+1); + lEvolContext->setDemeIndex(0); + } + } + } + } + + mSystemHandle->getLogger().logCurrentTime(Logger::eBasic); + Beagle_LogBasicM( + mSystemHandle->getLogger(), + "evolver", "Beagle::Evolver", + "End of evolution" + ); + Beagle_StackTraceEndM("void Evolver::evolve(Vivarium::Handle)"); +} + + +/*! + * \brief Return a constant handle to a named operator. Return a NULL handle if + * the named operator is not in the evolver. + * \param inName Name of the operator to get. + * \return Constant handle to the named operator. + */ +const Operator::Handle Evolver::getOperator(Beagle::string inName) const +{ + Beagle_StackTraceBeginM(); + Map::const_iterator lOpIter = mOperatorMap.find(inName); + if(lOpIter == mOperatorMap.end()) return Operator::Handle(NULL); + return castHandleT(lOpIter->second); + Beagle_StackTraceEndM("const Operator::Handle Evolver::getOperator(string)"); +} + + +/*! + * \brief Return a handle to a named operator. Return a NULL handle if + * the named operator is not in the evolver. + * \param inName Name of the operator to get. + * \return Handle to the named operator. + */ +Operator::Handle Evolver::getOperator(Beagle::string inName) +{ + Beagle_StackTraceBeginM(); + Map::iterator lOpIter = mOperatorMap.find(inName); + if(lOpIter == mOperatorMap.end()) return Operator::Handle(NULL); + return castHandleT(lOpIter->second); + Beagle_StackTraceEndM("Operator::Handle Evolver::getOperator(string)"); +} + + +/*! + * \brief Initialize the evolver, its operators and the system. + * \param ioSystem Handle to the system of the evolution. + * \param ioArgc Number of elements on the command-line. + * \param ioArgv Element on the command-line. + */ +void Evolver::initialize(System::Handle ioSystem, int& ioArgc, char** ioArgv) +{ + Beagle_StackTraceBeginM(); + // Get system handle. + mSystemHandle = ioSystem; + + // Parse command-line. + parseCommandLine(*ioSystem, ioArgc, ioArgv); + + // Logging message. + Beagle_LogDetailedM( + ioSystem->getLogger(), + "evolver", "Beagle::Evolver", + "Initializing evolver" + ); + + // Add configuration dumper parameter. + if(ioSystem->getRegister().isRegistered("ec.conf.dump")) { + mConfigDumper = + castHandleT(ioSystem->getRegister().getEntry("ec.conf.dump")); + } + else { + mConfigDumper = new ConfigurationDumper(*ioSystem, *this, ""); + string lLongDescripDump = "Filename used to dump the configuration. "; + lLongDescripDump += "A configuration dump means that a configuration file is "; + lLongDescripDump += "written with the evolver (including the composing operators) "; + lLongDescripDump += "and the register (including the registered parameters and their "; + lLongDescripDump += "default values). No evolution is conducted on a configuration dump. "; + lLongDescripDump += "An empty string means no dump."; + Register::Description lFileDumperDescription( + "Configuration dump filename", + "String", + "\"\"", + lLongDescripDump + ); + ioSystem->getRegister().addEntry("ec.conf.dump", mConfigDumper, lFileDumperDescription); + } + + // Add configuration file name. + if(ioSystem->getRegister().isRegistered("ec.conf.file")) { + mFileName = castHandleT(ioSystem->getRegister().getEntry("ec.conf.file")); + } + else { + mFileName = new String(""); + string lLongDescripFN = "The name of a configuration file containing "; + lLongDescripFN += "evolver and parameter values. A typical configuration file can "; + lLongDescripFN += "be created with parameter \"ec.conf.dump\"."; + Register::Description lFileNameDescription( + "Configuration filename", + "String", + "\"\"", + lLongDescripFN + ); + ioSystem->getRegister().addEntry("ec.conf.file", mFileName, lFileNameDescription); + } + + // Add population size parameter + if(ioSystem->getRegister().isRegistered("ec.pop.size")) { + mPopSize = castHandleT(ioSystem->getRegister().getEntry("ec.pop.size")); + } else { + mPopSize = new UIntArray(1,100); + string lLongDescrip("Number of demes and size of each deme of the population. "); + lLongDescrip += "The format of an UIntArray is S1,S2,...,Sn, where Si is the ith value. "; + lLongDescrip += "The size of the UIntArray is the number of demes present in the "; + lLongDescrip += "vivarium, while each value of the vector is the size of the corresponding "; + lLongDescrip += "deme."; + Register::Description lDescription( + "Vivarium and demes sizes", + "UIntArray", + "100", + lLongDescrip + ); + ioSystem->getRegister().addEntry("ec.pop.size", mPopSize, lDescription); + } + + // Initialize operators. + initializeOperators(*ioSystem); + + // Initialize the system. + ioSystem->initialize(ioArgc, ioArgv); + + // Calling system post-initialization hook. + ioSystem->postInit(); + + // Calling post-initialization hook of operators. + postInitOperators(*ioSystem); + + Beagle_StackTraceEndM("void Evolver::initialize(System::Handle, int&, char**)"); +} + + +/*! + * \brief Initialize the evolver, its operators and the system. + * \param ioSystem Handle to the system of the evolution. + * \param inConfigFilename Filename containing configuration values. + */ +void Evolver::initialize(System::Handle ioSystem, Beagle::string inConfigFilename) +{ + Beagle_StackTraceBeginM(); + // Get system handle. + mSystemHandle = ioSystem; + + // Reading evolver configuration, if any. + if(inConfigFilename.empty() == false) readEvolverFile(inConfigFilename); + + // Logging message. + Beagle_LogDetailedM( + ioSystem->getLogger(), + "evolver", "Beagle::Evolver", + "Initializing evolver" + ); + + // Add configuration dumper parameter. + if(ioSystem->getRegister().isRegistered("ec.conf.dump")) { + mConfigDumper = + castHandleT(ioSystem->getRegister().getEntry("ec.conf.dump")); + } + else { + mConfigDumper = new ConfigurationDumper(*ioSystem, *this, ""); + string lLongDescripDump = "Filename used to dump the configuration. "; + lLongDescripDump += "A configuration dump means that a configuration file is "; + lLongDescripDump += "written with the evolver (including the composing operators) "; + lLongDescripDump += "and the register (including the registered parameters and their "; + lLongDescripDump += "default values). No evolution is conducted on a configuration dump. "; + lLongDescripDump += "An empty string means no dump."; + Register::Description lFileDumperDescription( + "Configuration dump filename", + "String", + "\"\"", + lLongDescripDump + ); + ioSystem->getRegister().addEntry("ec.conf.dump", mConfigDumper, lFileDumperDescription); + } + + // Add configuration file name. + if(ioSystem->getRegister().isRegistered("ec.conf.file")) { + mFileName = castHandleT(ioSystem->getRegister().getEntry("ec.conf.file")); + } + else { + mFileName = new String(inConfigFilename); + string lDefaultFileName = string("\"") + inConfigFilename + string("\""); + string lLongDescripFN = "The name of a configuration file containing "; + lLongDescripFN += "evolver and parameter values. A typical configuration file can "; + lLongDescripFN += "be created with parameter \"ec.conf.dump\"."; + Register::Description lFileNameDescription( + "Configuration filename", + "String", + lDefaultFileName, + lLongDescripFN + ); + ioSystem->getRegister().addEntry("ec.conf.file", mFileName, lFileNameDescription); + } + + // Add population size parameter + if(ioSystem->getRegister().isRegistered("ec.pop.size")) { + mPopSize = castHandleT(ioSystem->getRegister().getEntry("ec.pop.size")); + } else { + mPopSize = new UIntArray(1,100); + string lLongDescrip("Number of demes and size of each deme of the population. "); + lLongDescrip += "The format of an UIntArray is S1,S2,...,Sn, where Si is the ith value. "; + lLongDescrip += "The size of the UIntArray is the number of demes present in the "; + lLongDescrip += "vivarium, while each value of the vector is the size of the corresponding "; + lLongDescrip += "deme."; + Register::Description lDescription( + "Vivarium and demes sizes", + "UIntArray", + "100", + lLongDescrip + ); + ioSystem->getRegister().addEntry("ec.pop.size", mPopSize, lDescription); + } + + // Initialize operators. + initializeOperators(*ioSystem); + + // Initialize the system. + ioSystem->initialize(inConfigFilename); + + // Calling system post-initialization hook. + ioSystem->postInit(); + + // Calling post-initialization hook of operators. + postInitOperators(*ioSystem); + + Beagle_StackTraceEndM("void Evolver::initialize(System::Handle, string)"); +} + + +/*! + * \brief Initialize operators of the evolver. + * \param ioSystem System to use for initialization. + */ +void Evolver::initializeOperators(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle_LogDetailedM( + ioSystem.getLogger(), + "evolver", "Beagle::Evolver", + "Initializing operators" + ); + for(unsigned int i=0; iisInitialized() == false) { + Beagle_LogTraceM( + ioSystem.getLogger(), + "evolver", "Beagle::Evolver", + string("Initializing operator \"") + mBootStrapSet[i]->getName() + "\"" + ); + mBootStrapSet[i]->setInitialized(); + mBootStrapSet[i]->initialize(ioSystem); + } + } + for(unsigned int j=0; jisInitialized() == false) { + Beagle_LogTraceM( + ioSystem.getLogger(), + "evolver", "Beagle::Evolver", + string("Initializing operator \"") + mMainLoopSet[j]->getName() + "\"" + ); + mMainLoopSet[j]->setInitialized(); + mMainLoopSet[j]->initialize(ioSystem); + } + } + Beagle_StackTraceEndM("void Evolver::initializeOperators(System&)"); +} + + +/*! + * \brief Log welcome messages for the start of an evolutionary run. + */ +void Evolver::logWelcomeMessages() +{ + Beagle_StackTraceBeginM(); + Beagle_LogBasicM( + mSystemHandle->getLogger(), + "evolver", "Beagle::Evolver", + "Starting an evolution" + ); + + mSystemHandle->getLogger().logCurrentTime(Logger::eBasic); + + Beagle_LogObjectM( + mSystemHandle->getLogger(), + Logger::eDetailed, + "evolver", "Beagle::Evolver", + mSystemHandle->getRegister() + ); + + Beagle_LogObjectM( + mSystemHandle->getLogger(), + Logger::eDetailed, + "evolver", "Beagle::Evolver", + (*this) + ); + Beagle_StackTraceEndM("void Evolver::logWelcomeMessages()"); +} + + +/*! + * \brief Read the evoler parameters from the command-line. + * \param ioSystem System to use to log messages. + * \param ioArgc Number of arguments on the command-line. + * \param ioArgv Arguments of the command-line. + * \throw Exception If something bad occured. + */ +void Evolver::parseCommandLine(System& ioSystem, int& ioArgc, char** ioArgv) +{ + Beagle_StackTraceBeginM(); + string lMilestoneFilename; + + string lFileName = ioArgv[0]; + if(lFileName.size() > 4) { + string lSuffix(lFileName.end()-4, lFileName.end()); + if(lSuffix == ".exe") lFileName.resize(lFileName.size()-4); + } + lFileName += ".conf"; + std::ifstream lDefaultIS(lFileName.c_str()); + bool lGoodFile = lDefaultIS.good(); + lDefaultIS.close(); + if(lGoodFile) readEvolverFile(lFileName); + + string::size_type lLTLibPos = lFileName.find(string(".libs/lt-")); + if(lLTLibPos != string::npos) { + string lFilenameNoLT(lFileName.begin(), lFileName.begin()+lLTLibPos); + lFilenameNoLT.append(lFileName.begin()+lLTLibPos+9, lFileName.end()); + std::ifstream lDefaultISNoLT(lFilenameNoLT.c_str()); + bool lGoodFileNoLT = lDefaultISNoLT.good(); + lDefaultISNoLT.close(); + if(lGoodFileNoLT) readEvolverFile(lFilenameNoLT); + } + + string::size_type lLTPos = lFileName.find(string("lt-")); + if(lLTPos != string::npos) { + string lFilenameNoLT(lFileName.begin(), lFileName.begin()+lLTPos); + lFilenameNoLT.append(lFileName.begin()+lLTPos+3, lFileName.end()); + std::ifstream lDefaultISNoLT(lFilenameNoLT.c_str()); + bool lGoodFileNoLT = lDefaultISNoLT.good(); + lDefaultISNoLT.close(); + if(lGoodFileNoLT) readEvolverFile(lFilenameNoLT); + } + + for(int i=1; iisPostInitialized() == false) { + Beagle_LogTraceM( + ioSystem.getLogger(), + "evolver", "Beagle::Evolver", + string("Calling post-initialization hook of operator \"") + + mBootStrapSet[i]->getName() + "\"" + ); + mBootStrapSet[i]->postInit(ioSystem); + mBootStrapSet[i]->setPostInitialized(); + } + } + for(unsigned int j=0; jisPostInitialized() == false) { + Beagle_LogTraceM( + ioSystem.getLogger(), + "evolver", "Beagle::Evolver", + string("Calling post-initialization hook of operator \"") + + mMainLoopSet[j]->getName() + "\"" + ); + mMainLoopSet[j]->postInit(ioSystem); + mMainLoopSet[j]->setPostInitialized(); + } + } + Beagle_StackTraceEndM("void Evolver::postInitOperators(System&)"); +} + + +/*! + * \brief Read an evolver from a XML subtree. + * \param inIter XML iterator from which the evolver is read. + * \throw IOException If a reading error occurs. + */ +void Evolver::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Evolver")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == PACC::XML::eData) { + if(lChild->getValue() == "BootStrapSet") { + mBootStrapSet.clear(); + for(PACC::XML::ConstIterator lChild2=lChild->getFirstChild(); lChild2; ++lChild2) { + if(lChild2->getType() == PACC::XML::eData) { + addBootStrapOp(lChild2->getValue().c_str()); + Operator::Handle lOp = castHandleT(mBootStrapSet.back()); + lOp->readWithMap(lChild2, mOperatorMap); + } + } + } + else if(lChild->getValue() == "MainLoopSet") { + mMainLoopSet.clear(); + for(PACC::XML::ConstIterator lChild2=lChild->getFirstChild(); lChild2; ++lChild2) { + if(lChild2->getType() == PACC::XML::eData) { + addMainLoopOp(lChild2->getValue().c_str()); + Operator::Handle lOp = castHandleT(mMainLoopSet.back()); + lOp->readWithMap(lChild2, mOperatorMap); + } + } + } + } + } + Beagle_StackTraceEndM("void Evolver::read(PACC::XML::ConstIterator)"); +} + + +/*! + * \brief Read an evolver configuration from a file. + * \param inFilename Name of file from which the evolver is read. + * \throw IOException If a reading error occurs. + */ +void Evolver::readEvolverFile(Beagle::string inFilename) +{ + Beagle_StackTraceBeginM(); +#ifdef BEAGLE_HAVE_LIBZ + igzstream lIFStream(inFilename.c_str()); +#else // BEAGLE_HAVE_LIBZ + std::ifstream lIFStream(inFilename.c_str()); +#endif // BEAGLE_HAVE_LIBZ + if(lIFStream.good() == false) { + string lMessage = "The filename \""; + lMessage += inFilename; + lMessage += "\" doesn't refer to a valid configuration file!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + Beagle_LogInfoM( + mSystemHandle->getLogger(), + "evolver", "Beagle::Evolver", + string("Reading evolver from file named \"")+inFilename+"\"" + ); + PACC::XML::Document lParser; + lParser.parse(lIFStream, inFilename.c_str()); + lIFStream.close(); + for(PACC::XML::ConstIterator lNode=lParser.getFirstRoot(); lNode; ++lNode) { + if((lNode->getType()==PACC::XML::eData) && (lNode->getValue()=="Beagle")) { + for(PACC::XML::ConstIterator lChild = lNode->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Evolver")) read(lChild); + } + } + } + Beagle_StackTraceEndM("void Evolver::readEvolverFile(string)"); +} + + +/*! + * \brief Remove an operator from the evolver. + * \param inName Name of the operator to remove. + * \return Operator removed. + * \throw Beagle::ObjectException If operator doesn't exist. + */ +Operator::Handle Evolver::removeOperator(Beagle::string inName) +{ + Beagle_StackTraceBeginM(); + Map::iterator lOpIter = mOperatorMap.find(inName); + if(lOpIter == mOperatorMap.end()) { + std::ostringstream lOSS; + lOSS << "Operator named \"" << inName; + lOSS << "\" doesn't exist in the evolver!"; + throw Beagle_ObjectExceptionM(lOSS.str().c_str()); + } + Operator::Handle lOper = castHandleT(lOpIter->second); + mOperatorMap.erase(lOpIter); + return lOper; + Beagle_StackTraceEndM("Operator::Handle Evolver::removeOperator(string)"); +} + + +/*! + * \brief Write an evolver into a XML streamer. + * \param ioStreamer XML streamer in which the evolver is written. + * \param inIndent Whether XML output should be indented. + */ +void Evolver::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Evolver", inIndent); + ioStreamer.openTag("BootStrapSet", inIndent); + for(Operator::Bag::size_type i=0; iwrite(ioStreamer, inIndent); + } + ioStreamer.closeTag(); + ioStreamer.openTag("MainLoopSet", inIndent); + for(Operator::Bag::size_type j=0; jwrite(ioStreamer, inIndent); + } + ioStreamer.closeTag(); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void Evolver::write(PACC::XML::Streamer, bool inIndent) const"); +} diff --git a/lib/beagle-3.0.3/beagle/src/Exception.cpp b/lib/beagle-3.0.3/beagle/src/Exception.cpp new file mode 100644 index 0000000..85c0aca --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Exception.cpp @@ -0,0 +1,95 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/Exception.cpp + * \brief Implementation of class Exception. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a Beagle::Exception with the message given. + * \param inMessage Message describing the exception. + */ +Exception::Exception(Beagle::string inMessage) : + mMessage(inMessage) +{ } + + +/*! + * \brief Explain the exception throwed in the stream given. + * \param ioES Output C++ stream where the explanation about the exception is inserted. + */ +void Exception::explain(std::ostream& ioES) throw() +{ + string lMessage = string("\"")+mMessage+string("\""); + +#ifndef BEAGLE_NDEBUG + if(!mStackTrace.empty()) { + lMessage += "\nIn:"; + for (unsigned int i=0; i >(inSize, inValue) +{ } + + +/*! + * \brief Construct a valid multiobjective fitness object. + * \param inFitness Value of the fitness. + */ +FitnessMultiObj::FitnessMultiObj(const std::vector< float,BEAGLE_STLALLOCATOR >& inFitness) : + Fitness(true), + std::vector< float,BEAGLE_STLALLOCATOR >(inFitness) +{ } + + +/*! + * \brief Return scaling factors, 1.0 for all objectives by default. + * \return Scaling factor of the dimensions of the objective space. + */ +std::vector< float,BEAGLE_STLALLOCATOR > FitnessMultiObj::getScalingFactors() const +{ + Beagle_StackTraceBeginM(); + return std::vector< float,BEAGLE_STLALLOCATOR >(size(), 1.0); + Beagle_StackTraceEndM("std::vector< float,BEAGLE_STLALLOCATOR > FitnessMultiObj::getScalingFactors() const"); +} + + +/*! + * \brief Test whether the actual multiobjective fitness is Pareto-dominated. + * \param inRightFitness Second multiobjective fitness to test domination on. + * \return True if the actual multiobjective measure is dominated, false if not. + */ +bool FitnessMultiObj::isDominated(const FitnessMultiObj& inRightFitness) const +{ + Beagle_StackTraceBeginM(); + if(isValid() != inRightFitness.isValid()) return false; + if((isValid()==false) && (inRightFitness.isValid()==false)) return false; + size_type lMinSize = minOf(size(), inRightFitness.size()); + if(lMinSize == 0) return false; + bool lNotEqual = false; + for(size_type i=0; i inRightFitness[i]) return false; + else if((*this)[i] < inRightFitness[i]) lNotEqual = true; + } + return lNotEqual; + Beagle_StackTraceEndM("bool FitnessMultiObj::isDominated(const FitnessMultiObj& inRightFitness) const"); +} + + +/*! + * \brief Test equality of two multiobjective fitness measures. + * \param inRightObj Right measure to compare. + * \return True if the fitness are equal, false if not. + */ +bool FitnessMultiObj::isEqual(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const FitnessMultiObj& lRightFitness = castObjectT(inRightObj); + if(isValid() != lRightFitness.isValid()) return false; + if((isValid()==false) && (lRightFitness.isValid()==false)) return true; + if(size() != lRightFitness.size()) return false; + for(size_type i=0; i(inRightObj); + if(isValid() != lRightFitness.isValid()) return false; + if((isValid()==false) && (lRightFitness.isValid()==false)) return false; + size_type lMinSize = minOf(size(), lRightFitness.size()); + for(size_type i=0; i lRightFitness[i]) return false; + } + return false; + Beagle_StackTraceEndM("bool FitnessMultiObj::isLess(const Object& inRightObj) const"); +} + + +/*! + * \brief Read a multiobjective fitness from a XML subtree. + * \param inIter XML iterator to use to read the fitness value. + */ +void FitnessMultiObj::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Fitness")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + string lValid = inIter->getAttribute("valid").c_str(); + if(lValid.empty() || (lValid == "yes")) { + string lType = inIter->getAttribute("type").c_str(); + if(lType != "multiobj") + throw Beagle_IOExceptionNodeM(*inIter, "fitness type mismatch!"); + + clear(); + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()!=PACC::XML::eData) || (lChild->getValue()!="Obj")) continue; + PACC::XML::ConstIterator lChild2 = lChild->getFirstChild(); + if(!lChild2) throw Beagle_IOExceptionNodeM(*lChild, "needed a float value in the tag!"); + if(lChild2->getType() != PACC::XML::eString) + throw Beagle_IOExceptionNodeM(*lChild2, "needed a float value in the tag!"); + push_back(str2dbl(lChild2->getValue().c_str())); + } + setValid(); + } + else if(lValid == "no") setInvalid(); + else throw Beagle_IOExceptionNodeM(*inIter, "bad fitness validity value!"); + Beagle_StackTraceEndM("void FitnessMultiObj::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Write a multiobjective fitness into an XML streamer. + * \param ioStreamer XML streamer to use to write the fitness value. + * \param inIndent Whether XML output should be indented. + */ +void FitnessMultiObj::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Fitness", inIndent); + ioStreamer.insertAttribute("type", "multiobj"); + if(isValid()) { + ioStreamer.insertAttribute("size", uint2str(size())); + for(size_type i=0; i >& inFitness) : + FitnessMultiObj(inFitness) +{ } + + +/*! + * \brief Test whether the actual minimization multiobjective fitness is Pareto-dominated. + * \param inRightFitness Second multiobjective fitness to test domination on. + * \return True if the actual multiobjective measure is dominated, false if not. + */ +bool FitnessMultiObjMin::isDominated(const FitnessMultiObj& inRightFitness) const +{ + Beagle_StackTraceBeginM(); + if(isValid() != inRightFitness.isValid()) return false; + if((isValid()==false) && (inRightFitness.isValid()==false)) return false; + size_type lMinSize = minOf(size(), inRightFitness.size()); + if(lMinSize == 0) return false; + bool lNotEqual = false; + for(size_type i=0; i inRightFitness[i]) lNotEqual = true; + } + return lNotEqual; + Beagle_StackTraceEndM("bool FitnessMultiObjMin::isDominated(const FitnessMultiObj& inRightFitness) const"); +} + + +/*! + * \brief Test order of two minimization multiobjective fitness measures. + * \param inRightObj Right measure to compare. + * \return True if the actual fitness is less from the right one, false if not. + */ +bool FitnessMultiObjMin::isLess(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const FitnessMultiObjMin& lRightFitness = castObjectT(inRightObj); + if(isValid() != lRightFitness.isValid()) return false; + if((isValid()==false) && (lRightFitness.isValid()==false)) return false; + size_type lMinSize = minOf(size(), lRightFitness.size()); + for(size_type i=0; i lRightFitness[i]) return true; + else if((*this)[i] < lRightFitness[i]) return false; + } + return false; + Beagle_StackTraceEndM("bool FitnessMultiObjMin::isLess(const Object& inRightObj) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/FitnessSimple.cpp b/lib/beagle-3.0.3/beagle/src/FitnessSimple.cpp new file mode 100644 index 0000000..62bc03e --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/FitnessSimple.cpp @@ -0,0 +1,156 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/FitnessSimple.cpp + * \brief Source code of class FitnessSimple. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.13.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include +#include + +using namespace Beagle; + + +/*! + * \brief Default construct a simple fitness object. + */ +FitnessSimple::FitnessSimple() : + Fitness(false) +{ } + + +/*! + * \brief Construct a valid simple fitness object. + * \param inFitness Value of the fitness. + */ +FitnessSimple::FitnessSimple(float inFitness) : + Fitness(true) +{ + Beagle_StackTraceBeginM(); + setValue(inFitness); + Beagle_StackTraceEndM("FitnessSimple::FitnessSimple(float inFitness)"); +} + + +/*! + * \brief Test equality of two simple fitness measure. + * \param inRightObj Right measure to compare. + * \return True if the fitness are equal, false if not. + */ +bool FitnessSimple::isEqual(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const FitnessSimple& lRightFitness = castObjectT(inRightObj); + if(isValid() != lRightFitness.isValid()) return false; + if((isValid()==false) && (lRightFitness.isValid()==false)) return true; + return mFitness == lRightFitness.mFitness; + Beagle_StackTraceEndM("bool FitnessSimple::isEqual(const Object& inRightObj) const"); +} + + +/*! + * \brief Test order of two simple fitness measure. + * \param inRightObj Right measure to compare. + * \return True if the actual fitness is less from the right one, false if not. + */ +bool FitnessSimple::isLess(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const FitnessSimple& lRightFitness = castObjectT(inRightObj); + if(isValid() != lRightFitness.isValid()) return false; + if((isValid()==false) && (lRightFitness.isValid()==false)) return false; + return mFitness < lRightFitness.mFitness; + Beagle_StackTraceEndM("bool FitnessSimple::isLess(const Object& inRightObj) const"); +} + + +/*! + * \brief Read a simple fitness from a XML subtree. + * \param inIter XML iterator to use to read the fitness value. + */ +void FitnessSimple::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Fitness")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + string lValid = inIter->getAttribute("valid").c_str(); + if(lValid.empty() || (lValid == "yes")) { + string lType = inIter->getAttribute("type").c_str(); + if(lType != "simple") + throw Beagle_IOExceptionNodeM((*inIter), "fitness type mismatch!"); + + PACC::XML::ConstIterator lChild = inIter->getFirstChild(); + if(!lChild) throw Beagle_IOExceptionNodeM(*inIter, "no fitness value present!"); + if(lChild->getType() != PACC::XML::eString) + throw Beagle_IOExceptionNodeM(*inIter, "no fitness value present!"); + mFitness = str2dbl(lChild->getValue().c_str()); + setValid(); + } + else if(lValid == "no") setInvalid(); + else throw Beagle_IOExceptionNodeM((*inIter), "bad fitness validity value!"); + Beagle_StackTraceEndM("void FitnessSimple::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Set the fitness value and validity. + * \param inFitness New fitness value. + */ +void FitnessSimple::setValue(float inFitness) +{ + Beagle_StackTraceBeginM(); + if(isFinite(inFitness)) mFitness = inFitness; + else mFitness = FLT_MIN; + setValid(); + Beagle_StackTraceEndM("void FitnessSimple::setValue(float inFitness)"); +} + + +/*! + * \brief Write a simple fitness into an XML streamer. + * \param ioStreamer XML streamer to use to write the fitness value. + * \param inIndent Whether XML output should be indented. + */ +void FitnessSimple::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Fitness", false); + ioStreamer.insertAttribute("type", "simple"); + if(isValid()) ioStreamer.insertStringContent(dbl2str(mFitness).c_str()); + else ioStreamer.insertAttribute("valid", "no"); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void FitnessSimple::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/FitnessSimpleMin.cpp b/lib/beagle-3.0.3/beagle/src/FitnessSimpleMin.cpp new file mode 100644 index 0000000..689f75c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/FitnessSimpleMin.cpp @@ -0,0 +1,89 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/FitnessSimpleMin.cpp + * \brief Source code of class FitnessSimpleMin. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include +#include // To get FLT_MAX on Borland C++ Builder +#include + +using namespace Beagle; + + +/*! + * \brief Construct a valid simple fitness (minimization) object. + * \param inFitness Value of the fitness. + */ +FitnessSimpleMin::FitnessSimpleMin(float inFitness) +{ + Beagle_StackTraceBeginM(); + setValue(inFitness); + Beagle_StackTraceEndM("FitnessSimpleMin::FitnessSimpleMin(float inFitness)"); +} + + +/*! + * \brief Test order of two simple fitness (minimization) measure. + * \param inRightObj Right measure to compare. + * \return True if the actual fitness is of higher magnitude than the right one, false if not. + * \warning In a minimization problem, smallest values are better. So the actual isLess + * method returns true when the left FitnessSimpleMin value is higher than + * the right one, and false otherwize. This is the opposite of the isLess method of class + * FitnessSimple. + */ +bool FitnessSimpleMin::isLess(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const FitnessSimpleMin& lRightFitness = castObjectT(inRightObj); + if(isValid() != lRightFitness.isValid()) return false; + if((isValid()==false) && (lRightFitness.isValid()==false)) return false; + return mFitness > lRightFitness.mFitness; + Beagle_StackTraceEndM("bool FitnessSimpleMin::isLess(const Object& inRightObj) const"); +} + + +/*! + * \brief Set the fitness value and validity. + * \param inFitness New fitness value. + */ +void FitnessSimpleMin::setValue(float inFitness) +{ + Beagle_StackTraceBeginM(); + if(isFinite(inFitness)) mFitness = inFitness; + else mFitness = FLT_MAX; + setValid(); + Beagle_StackTraceEndM("void FitnessSimpleMin::setValue(float inFitness)"); +} diff --git a/lib/beagle-3.0.3/beagle/src/GenerationalOp.cpp b/lib/beagle-3.0.3/beagle/src/GenerationalOp.cpp new file mode 100644 index 0000000..94e32a0 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/GenerationalOp.cpp @@ -0,0 +1,133 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/GenerationalOp.cpp + * \brief Source code of class GenerationalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Build generational operator. + * \param inName Name of the generational operator. + */ +GenerationalOp::GenerationalOp(Beagle::string inName) : + ReplacementStrategyOp(inName) +{ } + + +/*! + * \brief Initialize the operator. + * \param ioSystem Reference to the evolutionary system. + */ +void GenerationalOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + ReplacementStrategyOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ec.elite.keepsize")) { + mElitismKeepSize = + castHandleT(ioSystem.getRegister().getEntry("ec.elite.keepsize")); + } else { + mElitismKeepSize = new UInt(1); + Register::Description lDescription( + "Elitism keep size", + "UInt", + "1", + "Number of individuals keep as is with strong n-elitism." + ); + ioSystem.getRegister().addEntry("ec.elite.keepsize", mElitismKeepSize, lDescription); + } + Beagle_StackTraceEndM("void GenerationalOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the operation on a deme in the given context. + * \param ioDeme Reference to the deme on which the operation takes place. + * \param ioContext Evolutionary context of the operation. + */ +void GenerationalOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(getRootNode()); + Beagle_NonNullPointerAssertM(mElitismKeepSize); + Beagle_ValidateParameterM(mElitismKeepSize->getWrappedValue() <= ioDeme.size(), + "ec.elite.keepsize", + "The elistism keepsize must be less than the deme size!"); + + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "replacement-strategy", "Beagle::GenerationalOp", + string("Processing using generational replacement strategy the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + Beagle_LogObjectM( + ioContext.getSystem().getLogger(), + Logger::eTrace, + "replacement-strategy", "Beagle::GenerationalOp", + (*this) + ); + + RouletteT lRoulette; + buildRoulette(lRoulette, ioContext); + + Individual::Bag lOffsprings; + if(mElitismKeepSize->getWrappedValue() > 0) { + std::make_heap(ioDeme.begin(), ioDeme.end(), IsLessPointerPredicate()); + for(unsigned int i=0; igetWrappedValue(); ++i) { + lOffsprings.push_back(ioDeme[0]); + std::pop_heap(ioDeme.begin(), (ioDeme.end()-i), IsLessPointerPredicate()); + } + } + for(unsigned int i=mElitismKeepSize->getWrappedValue(); igetNextSibling(); + Beagle_NonNullPointerAssertM(lSelectedBreeder); + Beagle_NonNullPointerAssertM(lSelectedBreeder->getBreederOp()); + Individual::Handle lBredIndiv = + lSelectedBreeder->getBreederOp()->breed(ioDeme, lSelectedBreeder->getFirstChild(), ioContext); + Beagle_NonNullPointerAssertM(lBredIndiv); + lOffsprings.push_back(lBredIndiv); + } + + for(unsigned int j=0; jgetType()!=PACC::XML::eData) || (inIter->getValue()!="Genotype")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + Beagle_StackTraceEndM("void Genotype::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext)"); +} + + +/*! + * \brief Write a genotype into a XML streamer. + * \param ioStreamer XML streamer to use. + * \param inIndent Whether XML output should be indented. + */ +void Genotype::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Genotype", inIndent); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void Genotype::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/HallOfFame.cpp b/lib/beagle-3.0.3/beagle/src/HallOfFame.cpp new file mode 100644 index 0000000..fe26a61 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/HallOfFame.cpp @@ -0,0 +1,498 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/HallOfFame.cpp + * \brief Source code of class HallOfFame. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.13.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +using namespace Beagle; + + + +/*! + * \brief Construct a member item of the hall-of-fame. + * \param inIndividual Handle to the individual in the hall-of-fame. + * \param inGeneration Generation number the individual is added to the hall-of-fame. + * \param inDemeIndex Index in which the individual was at its insertion in the hall-of-fame. + */ +HallOfFame::Member::Member(Individual::Handle inIndividual, + unsigned int inGeneration, + unsigned int inDemeIndex) : + mIndividual(inIndividual), + mGeneration(inGeneration), + mDemeIndex(inDemeIndex) +{ } + + +/*! + * \brief Compare equality of two members of the hall-of-fame. + * \param inRightMember Other member to compare with actual member. + * \return True if members are equal, false if they are not. + */ +bool HallOfFame::Member::operator==(const HallOfFame::Member& inRightMember) const +{ + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(mIndividual); + Beagle_NonNullPointerAssertM(inRightMember.mIndividual); + return mIndividual->isEqual(*inRightMember.mIndividual); + Beagle_StackTraceEndM("bool HallOfFame::Member::operator==(const HallOfFame::Member& inRightMember) const"); +} + + +/*! + * \brief Compare order of two members of the hall-of-fame. + * \param inRightMember Other member to compare with actual member. + * \return True if left members is less than right one, false if not. + */ +bool HallOfFame::Member::operator<(const HallOfFame::Member& inRightMember) const +{ + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(mIndividual); + Beagle_NonNullPointerAssertM(inRightMember.mIndividual); + return mIndividual->isLess(*inRightMember.mIndividual); + Beagle_StackTraceEndM("bool HallOfFame::Member::operator<(const HallOfFame::Member& inRightMember) const"); +} + + +/*! + * \brief Compare order of two members of the hall-of-fame. + * \param inRightMember Other member to compare with actual member. + * \return True if left members is less than right one, false if not. + */ +bool HallOfFame::Member::operator>(const HallOfFame::Member& inRightMember) const +{ + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(mIndividual); + Beagle_NonNullPointerAssertM(inRightMember.mIndividual); + return inRightMember.mIndividual->isLess(*mIndividual); + Beagle_StackTraceEndM("bool HallOfFame::Member::operator>(const HallOfFame::Member& inRightMember) const"); +} + + +/*! + * \brief Construct an hall-of-fame. + * \param inIndivAlloc Allocator of individuals in the hall-of-fame. + */ +HallOfFame::HallOfFame(Individual::Alloc::Handle inIndivAlloc) : + mIndivAllocator(inIndivAlloc) +{ } + + +/*! + * \brief Log individuals inserted in the hall-of-fame. + * \param inLogLevel Minimal log level needed to log the hall-of-fame. + * \param ioContext Context to use. + */ +void HallOfFame::log(Logger::LogLevel inLogLevel, Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + for(unsigned int i=0; iserialize() + ); + } + Beagle_StackTraceEndM("void HallOfFame::log(Logger::LogLevel inLogLevel, Context& ioContext) const"); +} + + +/*! + * \brief Reading a hall-of-fame with method read is undefined. Use readWithContext instead. + */ +void HallOfFame::read(PACC::XML::ConstIterator) +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("read","HallOfFame",getName()); + Beagle_StackTraceEndM("void HallOfFame::read(PACC::XML::ConstIterator)"); +} + + +/*! + * \brief Read a deme population from an XML subtree. + * \param inIter XML iterator to read the deme population from. + * \param ioContext Evolutionary context to use to read the deme population. + * \throw Beagle::IOException If the format is not respected. + */ +void HallOfFame::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="HallOfFame")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + unsigned int lSize=0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Member")) ++lSize; + } + if((getIndivAlloc()==NULL) && (lSize>size())) { + std::ostringstream lMessageOSS; + lMessageOSS << "Hall-of-fame size (" << lSize << ") is bigger than the actual size ("; + lMessageOSS << size() << "), and there is no type allocator for resizing!"; + throw Beagle_IOExceptionNodeM(*inIter, lMessageOSS.str().c_str()); + } + resize(lSize); + Individual::Handle lOldIndivHandle = ioContext.getIndividualHandle(); + unsigned int lIndex=0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Member")) { + string lGenerationStr = lChild->getAttribute("generation").c_str(); + if(lGenerationStr.empty()) (*this)[lIndex].mGeneration = 0; + else (*this)[lIndex].mGeneration = str2uint(lGenerationStr); + string lDemeStr = lChild->getAttribute("deme").c_str(); + if(lDemeStr.empty()) (*this)[lIndex].mDemeIndex = 0; + else (*this)[lIndex].mDemeIndex = str2uint(lDemeStr); + PACC::XML::ConstIterator lChild2 = lChild->getFirstChild(); + if(lChild2 && (lChild2->getType()==PACC::XML::eData) && (lChild2->getValue()=="Individual")) { + Beagle_NonNullPointerAssertM((*this)[lIndex].mIndividual); + ioContext.setIndividualHandle((*this)[lIndex].mIndividual); + (*this)[lIndex].mIndividual->readWithContext(lChild2, ioContext); + } + ++lIndex; + } + } + ioContext.setIndividualHandle(lOldIndivHandle); + Beagle_StackTraceEndM("void HallOfFame::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext)"); +} + + +/*! + * \brief Resize hall-of-fame. + * \param inNewSize New size of hall-of-fame. + */ +void HallOfFame::resize(unsigned int inNewSize) +{ + Beagle_StackTraceBeginM(); + unsigned int lActualSize = size(); + mMembers.resize(inNewSize); + if((mIndivAllocator != NULL) && (inNewSize > lActualSize)) { + for(unsigned int i=lActualSize; i(mIndivAllocator->allocate()); + (*this)[i].mGeneration = 0; + (*this)[i].mDemeIndex = 0; + } + } + Beagle_StackTraceEndM("void HallOfFame::resize(unsigned int inNewSize)"); +} + + +/*! + * \brief Resize hall-of-fame and, if necessary, allocate new elements using model clones. + * \param inNewSize New size of hall-of-fame. + * \param inModel Individual to use for cloning. + */ +void HallOfFame::resize(unsigned int inNewSize, const HallOfFame::Member& inModel) +{ + Beagle_StackTraceBeginM(); + unsigned int lActualSize = size(); + mMembers.resize(inNewSize); + if((mIndivAllocator != NULL) && (inNewSize > lActualSize)) { + for(unsigned int i=lActualSize; i(mIndivAllocator->cloneData(*inModel.mIndividual)); + (*this)[i].mGeneration = inModel.mGeneration; + (*this)[i].mDemeIndex = inModel.mDemeIndex; + } + } + Beagle_StackTraceEndM("void HallOfFame::resize(unsigned int inNewSize, const HallOfFame::Member& inModel)"); +} + + +/*! + * \brief Sort an hall-of-fame from the best to the worse individual. + */ +void HallOfFame::sort() +{ + Beagle_StackTraceBeginM(); + std::sort(mMembers.begin(), mMembers.end(), std::greater()); + Beagle_StackTraceEndM("void HallOfFame::sort()"); +} + + +/*! + * \brief Update the hall-of-fame with the actual deme's individuals, if necessary. + * \param inSizeHOF The desired size of the hall-of-fame. + * \param inDeme Deme to add to the hall-of-fame. + * \param ioContext Evolution context. + * \return True if the HOF had been modified, false if not. + */ +bool HallOfFame::updateWithDeme(unsigned int inSizeHOF, const Deme& inDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + // If new HOF size is zero, so empty the HOF and return. + if(inSizeHOF == 0) { + if(inSizeHOF != mMembers.size()) { + mMembers.clear(); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "hall-of-fame", "Beagle::HallOfFame", + "Hall-of-fame cleared" + ); + return true; + } + else return false; + } + + bool lHOFModified = false; // Is the HOF modified? + unsigned int lAddedIndividuals = 0; // How many new individuals added to the HOF. + + // Make the hall-of-fame a heap with the worse individuals on the top. + std::make_heap(mMembers.begin(), mMembers.end(), std::greater()); + + // If the heap is too big, resize it. + while(mMembers.size() > inSizeHOF) { + std::pop_heap(mMembers.begin(), mMembers.end(), std::greater()); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "hall-of-fame", "Beagle::HallOfFame", + string("Individual removed from hall-of-fame: ")+ + mMembers.back().mIndividual->serialize() + ); + mMembers.pop_back(); + lHOFModified = true; + } + + // Temporary buffer of individuals. + Individual::Bag lTempPop; + // Insert pointer of all the individuals of the deme in the buffer. + lTempPop.insert(lTempPop.end(), inDeme.begin(), inDeme.end()); + // Make the buffer a STL heap with the fittest individual on the top. + std::make_heap(lTempPop.begin(), lTempPop.end(), IsLessPointerPredicate()); + + // If the old HOF is smaller than the desired new size, + // fill with the best individuals of the temp buffer. + while((lTempPop.empty() == false) && (mMembers.size() < inSizeHOF)) { + + // Test if individual on the top of the heap is identical to one + // individual in the heap. + bool lIsIdentical = false; + for(unsigned int i=0; iisIdentical(*mMembers[i].mIndividual)) { + lIsIdentical = true; + break; + } + } + + // If the individual on the top of the heap is not identical, add it to the + // new HOF. + if(lIsIdentical == false) { + HallOfFame::Member lMember(castHandleT(getIndivAlloc()->cloneData(*lTempPop[0])), + ioContext.getGeneration(), + ioContext.getDemeIndex()); + mMembers.push_back(lMember); + std::push_heap(mMembers.begin(), mMembers.end(), std::greater()); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "hall-of-fame", "Beagle::HallOfFame", + string("Individual added to hall-of-fame: ")+lTempPop[0]->serialize() + ); + lAddedIndividuals++; + lHOFModified = true; + } + + // Remove it from the temporary buffer. + std::pop_heap(lTempPop.begin(), lTempPop.end(), IsLessPointerPredicate()); + lTempPop.pop_back(); + } + + // Ok, now the new HOF is of the good size. Let's see if any individuals that are + // still in the temporary buffer can be added to the new HOF. + + // While there is individuals in the temporary buffer that can be added to the new HOF. + while((lTempPop.empty() == false) && (mMembers[0].mIndividual->isLess(*lTempPop[0]))) { + + // Test if individual on the top of the heap is identical to one + // individual in the heap. + bool lIsIdentical = false; + for(unsigned int i=0; iisIdentical(*mMembers[i].mIndividual)) { + lIsIdentical = true; + break; + } + } + + // If the individual on the top of the heap is not identical, add it to the + // new HOF. + if(lIsIdentical == false) { + // STL heap pop of the worse individual of the HOF + std::pop_heap(mMembers.begin(), mMembers.end(), std::greater()); + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "hall-of-fame", "Beagle::HallOfFame", + string("Individual removed from hall-of-fame: ")+ + mMembers.back().mIndividual->serialize() + ); + + // Replace the popped individual with the best of the temporary buffer. + mMembers.back().mIndividual = + castHandleT(getIndivAlloc()->cloneData(*lTempPop[0])); + mMembers.back().mGeneration = ioContext.getGeneration(); + mMembers.back().mDemeIndex = ioContext.getDemeIndex(); + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "hall-of-fame", "Beagle::HallOfFame", + string("Individual added to hall-of-fame: ")+lTempPop[0]->serialize() + ); + + // STL push heap of the newly added individual. + std::push_heap(mMembers.begin(), mMembers.end(), std::greater()); + + // A new individual is added to the HOF. + lAddedIndividuals++; + lHOFModified = true; + } + + // STL heap pop of the best individual of the temporary buffer. + std::pop_heap(lTempPop.begin(), lTempPop.end(), IsLessPointerPredicate()); + lTempPop.pop_back(); + } + + if(lHOFModified) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "hall-of-fame", "Beagle::HallOfFame", + string("There is ")+uint2str(lAddedIndividuals)+ + string(" individuals added to the hall-of-fame") + ); + } + + // Exit return whether the HOF has been modified. + return lHOFModified; + Beagle_StackTraceEndM("bool HallOfFame::updateWithDeme(unsigned int inSizeHOF, const Deme& inDeme, Context& ioContext)"); +} + + +/*! + * \brief Check if an individual should be added to the hall-of-fame, and add it if necessary. + * \param inSizeHOF The desired size of the hall-of-fame. + * \param inIndividual Individual that is checked for addition to the hall-of-fame. + * \param ioContext Evolution context. + * \return True if the HOF had been modified, false if not. + */ +bool HallOfFame::updateWithIndividual(unsigned int inSizeHOF, + const Individual& inIndividual, + Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(inSizeHOF == 0) { + if(inSizeHOF != mMembers.size()) { + mMembers.clear(); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "hall-of-fame", "Beagle::HallOfFame", + "Hall-of-fame cleared" + ); + return true; + } + else return false; + } + + std::make_heap(mMembers.begin(), mMembers.end(), std::greater()); + + bool lHOFModified = false; + if(mMembers.empty() || mMembers[0].mIndividual->isLess(inIndividual)) { + bool lIsIdentical = false; + for(unsigned int i=0; i(getIndivAlloc()->cloneData(inIndividual)), + ioContext.getGeneration(), + ioContext.getDemeIndex()); + mMembers.push_back(lMember); + std::push_heap(mMembers.begin(), mMembers.end(), std::greater()); + lHOFModified = true; + } + } + + while(mMembers.size() > inSizeHOF) { + std::pop_heap(mMembers.begin(), mMembers.end(), std::greater()); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "hall-of-fame", "Beagle::HallOfFame", + string("Individual removed from hall-of-fame: ")+ + mMembers.back().mIndividual->serialize() + ); + mMembers.pop_back(); + lHOFModified = true; + } + + return lHOFModified; + Beagle_StackTraceEndM("bool HallOfFame::updateWithIndividual(unsigned int inSizeHOF, const Individual& inIndividual, Context& ioContext"); +} + + +/*! + * \brief Write the actual hall-of-fame in a XML streamer. + * \param ioStreamer XML streamer to write the hall-of-fame into. + * \param inIndent Whether XML output should be indented. + */ +void HallOfFame::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + std::vector< HallOfFame::Member,BEAGLE_STLALLOCATOR > lTemp(mMembers.begin(), mMembers.end()); + std::sort(lTemp.begin(), lTemp.end(), std::greater()); + ioStreamer.openTag("HallOfFame", inIndent); + ioStreamer.insertAttribute("size", uint2str(lTemp.size())); + for(unsigned int i=0; iwrite(ioStreamer, inIndent); + ioStreamer.closeTag(); + } + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void HallOfFame::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + + + + diff --git a/lib/beagle-3.0.3/beagle/src/HierarchicalFairCompetitionOp.cpp b/lib/beagle-3.0.3/beagle/src/HierarchicalFairCompetitionOp.cpp new file mode 100644 index 0000000..aadc029 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/HierarchicalFairCompetitionOp.cpp @@ -0,0 +1,295 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/HierarchicalFairCompetitionOp.cpp + * \brief Source code of class HierarchicalFairCompetitionOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.11.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Build generational operator. + * \param inName Name of the generational operator. + */ +HierarchicalFairCompetitionOp::HierarchicalFairCompetitionOp(Beagle::string inName) : + ReplacementStrategyOp(inName) +{ } + + +/*! + * \brief Initialize the operator. + * \param ioSystem Reference to the evolutionary system. + */ +void HierarchicalFairCompetitionOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + ReplacementStrategyOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ec.hfc.percentile")) { + mHFCPercentile = + castHandleT(ioSystem.getRegister().getEntry("ec.hfc.percentile")); + } else { + mHFCPercentile = new Float(0.85f); + string lLongDescrip = "Percentile of fitness measure to use as HFC migration threshold "; + lLongDescrip += "of next deme. For example, a threshold of 0.85 means that the fitness "; + lLongDescrip += "used as threshold to accept migrant into following deme is taken as the "; + lLongDescrip += "fitness of the individual that is better than 85% of the other individuals "; + lLongDescrip += "in its deme."; + Register::Description lDescrip( + "HFC percentile", + "Float", + "0.85", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ec.hfc.percentile", mHFCPercentile, lDescrip); + } + + if(ioSystem.getRegister().isRegistered("ec.hfc.interval")) { + mMigrationInterval = + castHandleT(ioSystem.getRegister().getEntry("ec.hfc.interval")); + } else { + mMigrationInterval = new UInt(1); + string lLongDescrip = "Interval between each hierarchical fair competition "; + lLongDescrip += "migration, in number of generations. "; + lLongDescrip += "An interval of 0 disables HFC migrations."; + Register::Description lIntervalDescrip( + "Interval between HFC migrations", + "UInt", + "1", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ec.hfc.interval", mMigrationInterval, lIntervalDescrip); + } + + if(ioSystem.getRegister().isRegistered("ec.hfc.size")) { + mNumberMigrants = + castHandleT(ioSystem.getRegister().getEntry("ec.hfc.size")); + } else { + mNumberMigrants = new UInt(5); + string lLongDescrip = "Number of individuals migrating between each deme, at a each "; + lLongDescrip += "hierarchical fair competition migration."; + Register::Description lSizeDescrip( + "Size of each HFC migration", + "UInt", + "5", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ec.hfc.size", mNumberMigrants, lSizeDescrip); + } + + if(ioSystem.getRegister().isRegistered("ec.pop.size")) { + mPopSize = castHandleT(ioSystem.getRegister().getEntry("ec.pop.size")); + } else { + mPopSize = new UIntArray(1,100); + string lLongDescrip("Number of demes and size of each deme of the population. "); + lLongDescrip += "The format of an UIntArray is S1,S2,...,Sn, where Si is the ith value. "; + lLongDescrip += "The size of the UIntArray is the number of demes present in the "; + lLongDescrip += "vivarium, while each value of the vector is the size of the corresponding "; + lLongDescrip += "deme."; + Register::Description lDescription( + "Vivarium and demes sizes", + "UIntArray", + "100", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ec.pop.size", mPopSize, lDescription); + } + Beagle_StackTraceEndM("void HierarchicalFairCompetitionOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the operation on a deme in the given context. + * \param ioDeme Reference to the deme on which the operation takes place. + * \param ioContext Evolutionary context of the operation. + */ +void HierarchicalFairCompetitionOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + // Verify fitness threshold values. + Beagle_AssertM(mPopSize->size()!=0); + if(ioContext.getGeneration()==0) mFitnessThresholds.resize(0); + if(mFitnessThresholds.size()!=(mPopSize->size()-1)) mFitnessThresholds.resize(mPopSize->size()-1); + + // Situations where HFC migration should not be applied. + if(ioDeme.size() == 0) return; + if(mPopSize->size() < 2) return; + if(mMigrationInterval->getWrappedValue() == 0) return; + if((ioContext.getGeneration() % mMigrationInterval->getWrappedValue()) != 0) return; + + // Log some information. + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "migration", "Beagle::HierarchicalFairCompetitionOp", + string("Applying HFC migration to the ")+uint2ordinal(ioContext.getDemeIndex())+ + string(" deme") + ); + + // If the deme is changed. + bool lChanged = false; + + // Update fitness threshold. + if(ioContext.getDemeIndex() != 0) { + Beagle_AssertM(mHFCPercentile->getWrappedValue() < 1.0); + const unsigned int lThresholdIndex = + (unsigned int)std::ceil((1.0-mHFCPercentile->getWrappedValue()) * float(ioDeme.size()-1)); + std::make_heap(ioDeme.begin(), ioDeme.end(), IsLessPointerPredicate()); + for(unsigned int i=0; i(ioDeme[0]->getFitnessAlloc()->clone(*ioDeme[0]->getFitness())); + } + + // Insert migrating individuals from previous deme. + if(ioContext.getDemeIndex() != 0) { + Individual::Bag& lInMigBuffer = + ioContext.getVivarium()[ioContext.getDemeIndex()-1]->getMigrationBuffer(); + for(unsigned int i=0; iserialize() + ); + ioDeme.push_back(lInMigBuffer[i]); + lChanged = true; + } + lInMigBuffer.resize(0); + } + + // Migrating individual out of this deme. + if((ioContext.getDemeIndex() != (mPopSize->size()-1)) && + (mFitnessThresholds[ioContext.getDemeIndex()] != NULL)) { + Individual::Bag& lOutMigBuffer = ioDeme.getMigrationBuffer(); + lOutMigBuffer.resize(0); + Fitness::Handle lThreshold = mFitnessThresholds[ioContext.getDemeIndex()]; + std::make_heap(ioDeme.begin(), ioDeme.end(), IsLessPointerPredicate()); + while(ioDeme.size() > 0) { + if(ioDeme[0]->getFitness()->isLess(*lThreshold)) break; + std::pop_heap(ioDeme.begin(), ioDeme.end(), IsLessPointerPredicate()); + lOutMigBuffer.push_back(castHandleT(ioDeme.back())); + ioDeme.pop_back(); + lChanged = true; + } + } + + // Fill the population with randomly generated individuals, if the population is too small. + if(ioDeme.size() < (*mPopSize)[ioContext.getDemeIndex()]) { + const unsigned int lNbNewInd = (*mPopSize)[ioContext.getDemeIndex()] - ioDeme.size(); + Individual::Bag lNewIndividuals = generateIndividuals(lNbNewInd, ioDeme, ioContext); + ioDeme.insert(ioDeme.end(), lNewIndividuals.begin(), lNewIndividuals.end()); + lChanged = true; + } + + // Delete worse individuals if the population is too big. + if(ioDeme.size() > (*mPopSize)[ioContext.getDemeIndex()]) { + const unsigned int lNbDeletedInd = ioDeme.size() - (*mPopSize)[ioContext.getDemeIndex()]; + std::make_heap(ioDeme.begin(), ioDeme.end(), IsMorePointerPredicate()); + for(unsigned int i=0; iserialize() + ); + ioDeme.pop_back(); + } + lChanged = true; + } + + // If changed, reset statistics. + if(lChanged) { + ioDeme.getStats()->setInvalid(); + ioContext.getVivarium().getStats()->setInvalid(); + } + Beagle_StackTraceEndM("void HierarchicalFairCompetitionOp::operate(Deme& ioDeme, Context& ioContext)"); +} + + +/*! + * \brief Generate a new individuals from the HFC breeder tree. + * \param inN Number of new individuals generated. + * \param ioDeme Evolved deme used to generate new individuals. + * \param ioContext Evolutionary context. + * \return New generated individuals from breeder tree. + */ +Individual::Bag +HierarchicalFairCompetitionOp::generateIndividuals(unsigned int inN, + Deme& ioDeme, Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(getRootNode()); + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "replacement-strategy", "Beagle::HierarchicalFairCompetitionOp", + string("Processing using HFC replacement strategy the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + Beagle_LogObjectM( + ioContext.getSystem().getLogger(), + Logger::eTrace, + "replacement-strategy", "Beagle::HierarchicalFairCompetitionOp", + (*this) + ); + + RouletteT lRoulette; + buildRoulette(lRoulette, ioContext); + Individual::Bag lNewIndividuals; + for(unsigned int i=0; igetNextSibling(); + Beagle_NonNullPointerAssertM(lSelectedBreeder); + Beagle_NonNullPointerAssertM(lSelectedBreeder->getBreederOp()); + Individual::Handle lBredIndiv = + lSelectedBreeder->getBreederOp()->breed(ioDeme, lSelectedBreeder->getFirstChild(), ioContext); + lNewIndividuals.push_back(lBredIndiv); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "migration", "Beagle::HierarchicalFairCompetitionOp", + string("Randomly generated individual to be inserted in first deme: ")+ + lBredIndiv->serialize() + ); + } + return lNewIndividuals; + Beagle_StackTraceEndM("Individual::Bag HierarchicalFairCompetitionOp::generateIndividuals(unsigned int inN, Deme& ioDeme, Context& ioContext) const"); +} + + diff --git a/lib/beagle-3.0.3/beagle/src/IOException.cpp b/lib/beagle-3.0.3/beagle/src/IOException.cpp new file mode 100644 index 0000000..c496ab9 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/IOException.cpp @@ -0,0 +1,84 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/IOException.cpp + * \brief Implementation of class IOException. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct the IOException using given values. + * \param inMessage Message explaining the exception. + * \param inFileName Name of the file where the error state had been detected. + * \param inLineNumber Line number in the filename. + */ +IOException::IOException(Beagle::string inMessage, + Beagle::string inFileName, + unsigned int inLineNumber) : + TargetedException(inMessage,inFileName,inLineNumber) +{ } + + +/*! + * \brief Construct the IOException using given values. + * \param inIter XML node in which the exception occured. + * \param inMessage Message explaining the exception. + * \param inFileName Name of the file where the error state had been detected. + * \param inLineNumber Line number in the filename. + */ +IOException::IOException(const PACC::XML::Node& inIter, + Beagle::string inMessage, + Beagle::string inFileName, + unsigned int inLineNumber) : + TargetedException("",inFileName,inLineNumber) +{ + Beagle_StackTraceBeginM(); + std::ostringstream lOSS; + lOSS << "Error with XML node \"" << inIter.getValue(); + lOSS << "\": " << inMessage; + setMessage(lOSS.str().c_str()); + Beagle_StackTraceEndM("IOException::IOException(const PACC::XML::Node& inIter, string inMessage, string inFileName, unsigned int inLineNumber)"); +} + + +/*! + * \brief Get the name of the exception. + * \return Name of the exception. + */ +const char* IOException::getExceptionName() const throw() +{ + return "Beagle::IOException"; +} + diff --git a/lib/beagle-3.0.3/beagle/src/IfThenElseOp.cpp b/lib/beagle-3.0.3/beagle/src/IfThenElseOp.cpp new file mode 100644 index 0000000..9605c4f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/IfThenElseOp.cpp @@ -0,0 +1,343 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/IfThenElseOp.cpp + * \brief Source code of class IfThenElseOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.11.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a if-then-else operator. + * \param inConditionTag Tag in the register of the parameter to test. + * \param inConditionValue Value the test of the value. + * \param inName Name of the operator. + */ +IfThenElseOp::IfThenElseOp(Beagle::string inConditionTag, + Beagle::string inConditionValue, + Beagle::string inName) : + Operator(inName), + mConditionTag(inConditionTag), + mConditionValue(inConditionValue) +{ } + + +/*! + * \brief Return a new copy of if-then-else operator. + * \return Handle to new copy of if-then-else operator. + */ +Operator::Handle IfThenElseOp::giveReference() +{ + Beagle_StackTraceBeginM(); + return new IfThenElseOp; + Beagle_StackTraceEndM("Operator::Handle IfThenElseOp::giveReference()"); +} + + +/*! + * \brief Initialize the if-then-else operator. + * \param ioSystem System to use to initialize the operator. + */ +void IfThenElseOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + for(unsigned int i=0; iisInitialized() == false) { + Beagle_LogTraceM( + ioSystem.getLogger(), + "if-then-else", "Beagle::Evolver", + string("Initializing operator \"") + mPositiveOpSet[i]->getName() + "\"" + ); + mPositiveOpSet[i]->initialize(ioSystem); + mPositiveOpSet[i]->setInitialized(); + } + } + for(unsigned int j=0; jisInitialized() == false) { + Beagle_LogTraceM( + ioSystem.getLogger(), + "if-then-else", "Beagle::IfThenElseOp", + string("Initializing operator \"") + mNegativeOpSet[j]->getName() + "\"" + ); + mNegativeOpSet[j]->initialize(ioSystem); + mNegativeOpSet[j]->setInitialized(); + } + } + Beagle_StackTraceEndM("void IfThenElseOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Insert an operator in the positive set of the if-then-else operator. + * \param inName Name of operator to insert. + * \param inOpMap Operator map to use to get the operator. + * \throw RunTimeOperator If named operator is not found in operator map. + * \warning Insert your operators before the initialization! + */ +void IfThenElseOp::insertPositiveOp(Beagle::string inName, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + OperatorMap::iterator lIterOp = inOpMap.find(inName); + if(lIterOp == inOpMap.end()) { + std::ostringstream lOSS; + lOSS << "Operator \"" << inName << "\" not found in operator map!"; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + Operator::Handle lOpHdl = castHandleT(lIterOp->second); + mPositiveOpSet.push_back(lOpHdl->giveReference()); + Beagle_StackTraceEndM("void IfThenElseOp::insertPositiveOp(string inName, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Insert an operator in the negative set of the if-then-else operator. + * \param inName Name of operator to insert. + * \param inOpMap Operator map to use to get the operator. + * \throw RunTimeOperator If named operator is not found in operator map. + * \warning Insert your operators before the initialization! + */ +void IfThenElseOp::insertNegativeOp(Beagle::string inName, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + OperatorMap::iterator lIterOp = inOpMap.find(inName); + if(lIterOp == inOpMap.end()) { + std::ostringstream lOSS; + lOSS << "Operator \"" << inName << "\" not found in operator map!"; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + Operator::Handle lOpHdl = castHandleT(lIterOp->second); + mNegativeOpSet.push_back(lOpHdl->giveReference()); + Beagle_StackTraceEndM("void IfThenElseOp::insertNegativeOp(string inName, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Apply the if-then-else operation. + * \param ioDeme Actual deme of the evolution. + * \param ioContext Context of the evolution. + * \throw RunTimeException If condition tag does not to valid parameter. + * \par Note: + * The operator first look for the tagged parameter in the register. If the parameter + * is not in the register, RunTimeException is throw. If the value is registered, + * a test is made with the value contained in the operator. If the values are equal, + * then the positive operator set is executed, else the negative operator set is executed. + */ +void IfThenElseOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(ioContext.getSystem().getRegister().isRegistered(mConditionTag) == false) { + std::ostringstream lOSS; + lOSS << "Tag \"" << mConditionTag << "\" does not refer to a registered parameter!"; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + Object::Handle lTestedObject = ioContext.getSystem().getRegister().getEntry(mConditionTag); + string lTestedValue = lTestedObject->serialize(); + + if(lTestedValue == mConditionValue) { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "if-then-else", "Beagle::IfThenElseOp", + string("Value of Boolean parameter \"")+ + mConditionTag + string("\" is equal to the condition \"")+ + mConditionValue + "\"" + ); + Beagle_LogDetailedM( + ioContext.getSystem().getLogger(), + "if-then-else", "Beagle::IfThenElseOp", + "Applying positive operator set" + ); + for(unsigned int i=0; igetName()+string("\"") + ); + mPositiveOpSet[i]->operate(ioDeme, ioContext); + } + } + else { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "if-then-else", "Beagle::IfThenElseOp", + string("Value of Boolean parameter \"")+mConditionTag+ + string("\", which is \"")+lTestedValue+ + string("\", is not equal to the condition (")+mConditionValue + ")" + ); + Beagle_LogDetailedM( + ioContext.getSystem().getLogger(), + "if-then-else", "Beagle::IfThenElseOp", + "Applying negative operator set" + ); + for(unsigned int i=0; igetName()+string("\"") + ); + mNegativeOpSet[i]->operate(ioDeme, ioContext); + } + } + Beagle_StackTraceEndM("void IfThenElseOp::operate(Deme& ioDeme, Context& ioContext)"); +} + + +/*! + * \brief Post-initialization hook the if-then-else operator. + * \param ioSystem System to use to post-init the operator. + */ +void IfThenElseOp::postInit(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + for(unsigned int i=0; iisPostInitialized() == false) { + Beagle_LogTraceM( + ioSystem.getLogger(), + "if-then-else", "Beagle::IfThenElseOp", + string("Calling post-initialization hook of operator \"") + + mPositiveOpSet[i]->getName() + "\"" + ); + mPositiveOpSet[i]->postInit(ioSystem); + mPositiveOpSet[i]->setPostInitialized(); + } + } + for(unsigned int j=0; jisPostInitialized() == false) { + Beagle_LogTraceM( + ioSystem.getLogger(), + "if-then-else", "Beagle::IfThenElseOp", + string("Calling post-initialization hook of operator \"") + + mNegativeOpSet[j]->getName() + "\"" + ); + mNegativeOpSet[j]->postInit(ioSystem); + mNegativeOpSet[j]->setPostInitialized(); + } + } + Beagle_StackTraceEndM("void IfThenElseOp::postInit(System& ioSystem)"); +} + + +/*! + * \brief Read if-then-else operator from XML subtree and operator map. + * \param inIter XML iterator from which the operator is read. + * \param inOpMap Operator map to use to read operator. + * \throw IOException If a reading error occurs. + */ +void IfThenElseOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + mConditionTag = inIter->getAttribute("parameter").c_str(); + if(mConditionTag.empty()) { + std::ostringstream lOSS; + lOSS << "attribute \"parameter\" for operator " << getName() << " expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + mConditionValue = inIter->getAttribute("value").c_str(); + + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == PACC::XML::eData) { + if(lChild->getValue() == "PositiveOpSet") { + mPositiveOpSet.clear(); + for(PACC::XML::ConstIterator lChild2=lChild->getFirstChild(); lChild2; ++lChild2) { + if(lChild2->getType() == PACC::XML::eData) { + OperatorMap::iterator lIterOp = inOpMap.find(lChild2->getValue().c_str()); + if(lIterOp == inOpMap.end()) { + std::ostringstream lOSS; + lOSS << "Operator \"" << lChild2->getValue() << "\" not found in operator map.\n"; + lOSS << "The operators that do exist in the operator map are:"; + // Go through operators in the map, listing their keys + OperatorMap::iterator lItr; + for (lItr=inOpMap.begin(); lItr!=inOpMap.end(); ++lItr) { + lOSS << "\n- " << lItr->first; + } + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + Operator::Handle lOp = castHandleT(lIterOp->second); + lOp = lOp->giveReference(); + mPositiveOpSet.push_back(lOp); + lOp->readWithMap(lChild2, inOpMap); + } + } + } + else if(lChild->getValue() == "NegativeOpSet") { + mNegativeOpSet.clear(); + for(PACC::XML::ConstIterator lChild2=lChild->getFirstChild(); lChild2; ++lChild2) { + if(lChild2->getType() == PACC::XML::eData) { + OperatorMap::iterator lIterOp = inOpMap.find(lChild2->getValue().c_str()); + if(lIterOp == inOpMap.end()) { + std::ostringstream lOSS; + lOSS << "Operator \"" << lChild2->getValue() << "\" not found in operator map!"; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + Operator::Handle lOp = castHandleT(lIterOp->second); + lOp = lOp->giveReference(); + mNegativeOpSet.push_back(lOp); + lOp->readWithMap(lChild2, inOpMap); + } + } + } + } + } + Beagle_StackTraceEndM("void IfThenElseOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write if-then-else operator into an XML stream. + * \param ioStreamer XML stream in which the operator is written. +* \param inIndent Whether XML output should be indented. + */ +void IfThenElseOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag(getName().c_str(), inIndent); + ioStreamer.insertAttribute("parameter", mConditionTag); + ioStreamer.insertAttribute("value", mConditionValue); + ioStreamer.openTag("PositiveOpSet", inIndent); + for(unsigned int i=0; iwrite(ioStreamer, inIndent); + ioStreamer.closeTag(); + ioStreamer.openTag("NegativeOpSet", inIndent); + for(unsigned int i=0; iwrite(ioStreamer, inIndent); + ioStreamer.closeTag(); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void IfThenElseOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + + + diff --git a/lib/beagle-3.0.3/beagle/src/Individual.cpp b/lib/beagle-3.0.3/beagle/src/Individual.cpp new file mode 100644 index 0000000..1d6ff05 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Individual.cpp @@ -0,0 +1,355 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/Individual.cpp + * \brief Source code of class Individual. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.20.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct an individual from a genotype allocator. + * \param inGenotypeAlloc Allocator of genotypes. + */ +Individual::Individual(Genotype::Alloc::Handle inGenotypeAlloc) : + Genotype::Bag(inGenotypeAlloc), + mFitnessAlloc(new FitnessSimple::Alloc), + mFitness(new FitnessSimple) +{ } + + +/*! + * \brief Construct an individual. + * \param inGenotypeAlloc Allocator of genotypes. + * \param inFitnessAlloc Fitness object allocator. + * \param inN Number of genotypes of the individual. + */ +Individual::Individual(Genotype::Alloc::Handle inGenotypeAlloc, + Fitness::Alloc::Handle inFitnessAlloc, + unsigned int inN) : + Genotype::Bag(inGenotypeAlloc, inN), + mFitnessAlloc(inFitnessAlloc), + mFitness(castObjectT(inFitnessAlloc->allocate())) +{ } + + +/*! + * \brief Copy construct an individual. + * \param inRightIndividual Original individual to use. + */ +Individual::Individual(const Individual& inRightIndividual) : + Genotype::Bag(inRightIndividual), + mFitnessAlloc(inRightIndividual.mFitnessAlloc), + mFitness(castObjectT( + inRightIndividual.mFitnessAlloc->clone(*inRightIndividual.mFitness))) +{ } + + +/*! + * \brief Copy an individual. + * \param inRightIndividual Original individual to copy. + * \return Actual individual. + */ +Individual& Individual::operator=(const Individual& inRightIndividual) +{ + Beagle_StackTraceBeginM(); + if(&inRightIndividual == this) return *this; + Genotype::Bag::operator=(inRightIndividual); + mFitnessAlloc = inRightIndividual.mFitnessAlloc; + try { + mFitness = castObjectT(mFitnessAlloc->clone(*inRightIndividual.mFitness)); + } catch(BadCastException& inException) { + std::ostringstream lMessage; + lMessage << "Bad cast exception catched when copying an individual over another: \""; + lMessage << inException.what() << "\". This may be caused by the fact that fitness "; + lMessage << "allocator of the actual individual doesn't match the fitness type "; + lMessage << "of the individual to copy. Be sure that you configured the good "; + lMessage << "fitness allocator in the population allocators, as described in sections "; + lMessage << "3.4.6 and 4.2 of the user manual."; + throw Beagle_RunTimeExceptionM(lMessage.str().c_str()); + } + return *this; + Beagle_StackTraceEndM("Individual& Individual::operator=(const Individual& inRightIndividual)"); +} + + +/*! + * \brief Copy an individual and its data (genotype and fitness) + * \param inOrigContainer Original individual to copy. + * \throw BasCastException If the types of the original individual are not as specified. + */ +void Individual::copyData(const Container& inOrigContainer) +{ + Beagle_StackTraceBeginM(); + const Individual& lOrigIndividual = castObjectT(inOrigContainer); + if(lOrigIndividual.getTypeAlloc() == NULL) { + string lMessage = "The copyData() method must be call only with as argument a individual"; + lMessage += " that have a type allocator!"; + throw Beagle_InternalExceptionM(lMessage); + } + if(this == &lOrigIndividual) return; + (*this) = lOrigIndividual; + clear(); + for(unsigned int i=0; iclone(*lOrigIndividual[i])); + } + Beagle_StackTraceEndM("void Individual::copyData(const Container& inOrigContainer)"); +} + + +/*! + * \brief Computing two individuals distances in genotype space is actually not implemented. + */ +double Individual::getDistanceGenotype(const Individual&) const +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("getDistanceGenotype","Individual",getName()); + return 0.0; + Beagle_StackTraceEndM("double Individual::getDistanceGenotype(const Individual&) const"); +} + + +/*! + * \brief Computing two individuals distances in phenotype space is actually not implemented. + */ +double Individual::getDistancePhenotype(const Individual&) const +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("getDistancePhenotype","Individual",getName()); + return 0.0; + Beagle_StackTraceEndM("double Individual::getDistancePhenotype(const Individual&) const"); +} + + +/*! + * \brief Get size (length) of the individual, summing size of genotypes. + * \return Total size of individual. + */ +unsigned int Individual::getSize() const +{ + Beagle_StackTraceBeginM(); + unsigned int lSize=0; + for(unsigned int i=0; igetSize(); + return lSize; + Beagle_StackTraceEndM("unsigned int Individual::getSize() const"); +} + + +/*! + * \brief Compare the fitness of two individual. + * \param inRightObj Individual to compare to this. + * \return True if individuals have the same fitness, false if not. + * \throw AssertException When a fitness handle of the individuals is NULL. + * \throw BadCastException If the types of the parameters are not as specified. + */ +bool Individual::isEqual(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const Individual& lRightIndividual = castObjectT(inRightObj); + if((mFitness == NULL) && (lRightIndividual.mFitness == NULL)) return true; + if((mFitness == NULL) || (lRightIndividual.mFitness == NULL)) return false; + return mFitness->isEqual(*lRightIndividual.mFitness); + Beagle_StackTraceEndM("bool Individual::isEqual(const Object& inRightObj) const"); +} + + +/*! + * \brief Compare the equality of the genotypes of two individuals. + * \param inRightIndividual Individual to compare to this. + * \return True if individuals are identicals, false if not. + */ +bool Individual::isIdentical(const Individual& inRightIndividual) const +{ + Beagle_StackTraceBeginM(); + if(isEqual(inRightIndividual) == false) return false; + if(size() != inRightIndividual.size()) return false; + for(unsigned int i=0; iisEqual(*inRightIndividual[i]) == false) return false; + } + return true; + Beagle_StackTraceEndM("bool Individual::isIdentical(const Individual& inRightIndividual) const"); +} + + +/*! + * \brief Compare the fitness order of two individuals. + * + * isLess() is called when two individuals are compared with each + * other. For example, if we have two Indiviudals, 'A' and 'B', then + * A < B calls operator<(Object, Object), which in + * turn calls Beagle::Individual::isLess(). + * + * For more information on operator<(Object, Object) and similar + * functions, see the "List of all members" for Beagle::Object. + * + * \param inRightObj Individual to compare to this. + * \return True if left individual fitness is less that the right one, false if not. + * \throw AssertException When a fitness handle of the individuals is NULL. + * \throw BadCastException If the types of the parameters are not as specified. + */ +bool Individual::isLess(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const Individual& lRightIndividual = castObjectT(inRightObj); + if((mFitness == NULL) || (lRightIndividual.mFitness == NULL)) return false; + return mFitness->isLess(*lRightIndividual.mFitness); + Beagle_StackTraceEndM("bool Individual::isLess(const Object& inRightObj) const"); +} + + +/*! + * \brief Reading an individual with method read is undefined. Use readWithContext instead. + */ +void Individual::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("read","Individual",getName()); + Beagle_StackTraceEndM("void Individual::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Read individual from a XML file. If several individuals are in file, read + * first tagged occurence of individual. + * \param inFileName Filename to read individual from. + * \param ioSystem Evolutionary system to read individual. + * \return True if an individual was found and read from file, false if nothing was found. + */ +bool Individual::readFromFile(Beagle::string inFileName, System& ioSystem) +{ + Beagle_StackTraceBeginM(); + std::ifstream lIFS(inFileName.c_str()); + PACC::XML::Document lParser(lIFS, inFileName.c_str()); + lIFS.close(); + PACC::XML::ConstFinder lIndivFinder = (PACC::XML::ConstIterator)lParser.getFirstDataTag(); + PACC::XML::ConstIterator lIndivTag = lIndivFinder.find("//Individual"); + if(!lIndivTag) return false; + + Context::Handle lContext = castHandleT(ioSystem.getContextAllocator().allocate()); + lContext->setSystemHandle(&ioSystem); + lContext->setIndividualHandle(this); + lContext->setIndividualIndex(0); + readWithContext(lIndivTag, *lContext); + + Beagle_LogInfoM( + ioSystem.getLogger(), + "individual", "Beagle::Individual", + string("Read from file \"")+inFileName+string("\" the following individual: ")+ + serialize() + ); + + return true; + Beagle_StackTraceEndM("bool Individual::readFromFile(string inFileName, System& ioSystem)"); +} + + +/*! + * \brief Read an individual from an XML node. + * \param inIter XML iterator to read the individual from. + * \param ioContext Evolutionary context to use to read the individual. + * \throw Beagle::IOException If the format is not respected. + */ +void Individual::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Individual")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + size_type lSize=0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Genotype")) ++lSize; + } + if((getTypeAlloc()==NULL) && (lSize>size())) { + std::ostringstream lMessageOSS; + lMessageOSS << "Individual size (" << lSize << ") is bigger than the actual size ("; + lMessageOSS << size() << "), and there is no type allocator for resizing!"; + throw Beagle_IOExceptionNodeM(*inIter, lMessageOSS.str().c_str()); + } + resize(lSize); + + unsigned int lOldGenoIndex = ioContext.getGenotypeIndex(); + Genotype::Handle lOldGenoHandle = ioContext.getGenotypeHandle(); + size_type lIdx = 0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == PACC::XML::eData) { + if(lChild->getValue() == "Fitness") { + string lValidity = lChild->getAttribute("valid").c_str(); + if(lValidity != "no") { + Beagle_NonNullPointerAssertM(mFitness); + mFitness->read(lChild); + } + else if(mFitness != NULL) mFitness->setInvalid(); + } + else if(lChild->getValue() == "Genotype") { + Beagle_NonNullPointerAssertM((*this)[lIdx]); + ioContext.setGenotypeHandle((*this)[lIdx]); + ioContext.setGenotypeIndex(lIdx); + (*this)[lIdx]->readWithContext(lChild, ioContext); + ++lIdx; + } + } + } + ioContext.setGenotypeHandle(lOldGenoHandle); + ioContext.setGenotypeIndex(lOldGenoIndex); + Beagle_StackTraceEndM("void Individual::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext)"); +} + + +/*! + * \brief Write an individual into a XML streamer. + * \param ioStreamer XML streamer to write the individual into. + * \param inIndent Whether XML output should be indented. + */ +void Individual::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Individual", inIndent); + ioStreamer.insertAttribute("size", uint2str(size())); + if((mFitness==NULL) || (mFitness->isValid()==false)) { + ioStreamer.openTag("Fitness", false); + ioStreamer.insertAttribute("valid", "no"); + ioStreamer.closeTag(); + } + else mFitness->write(ioStreamer, inIndent); + for(size_type i=0; iwrite(ioStreamer, false); + } + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void Individual::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/IndividualAlloc.cpp b/lib/beagle-3.0.3/beagle/src/IndividualAlloc.cpp new file mode 100644 index 0000000..d678502 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/IndividualAlloc.cpp @@ -0,0 +1,163 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/IndividualAlloc.cpp + * \brief Source code of class IndividualAlloc. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Constructor of individual allocator from a genotype allocator. + * \param inGenotypeAlloc Type allocator given to the genotype allocated. + */ +IndividualAlloc::IndividualAlloc(Genotype::Alloc::Handle inGenotypeAlloc) : + IndividualAllocBaseType(inGenotypeAlloc), + mFitnessAlloc(new FitnessSimple::Alloc) +{ } + + +/*! + * \brief Constructor of individual allocator from a genotype allocator and a fitness allocator. + * \param inGenotypeAlloc Type allocator given to the genotype allocated. + * \param inFitnessAlloc Fitness type allocator. + */ +IndividualAlloc::IndividualAlloc(Genotype::Alloc::Handle inGenotypeAlloc, + Fitness::Alloc::Handle inFitnessAlloc) : + IndividualAllocBaseType(inGenotypeAlloc), + mFitnessAlloc(inFitnessAlloc) +{ } + + +/*! + * \brief Allocate a new individual and the heap by giving it the type allocator. + * \return Pointer to the allocated individual. + */ +Object* IndividualAlloc::allocate() const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + Individual* lIndividual = + new Individual(castHandleT(mContainerTypeAlloc), mFitnessAlloc); + if(!lIndividual) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lIndividual; +#else // BEAGLE_NDEBUG + return new Individual(castHandleT(mContainerTypeAlloc), mFitnessAlloc); +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object* IndividualAlloc::allocate() const"); +} + + +/*! + * \brief Allocate a new individual on the heap that is a clone an existing individual. + * \param inOrigObj Constant reference to the original individual object to clone. + * \return Pointer to the allocated individual. + * \throw InternalException If the program run out of memory. + * \throw BadCastException If the type asserted is not valid. + */ +Object* IndividualAlloc::clone(const Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + const Individual& lOrigIndiv = castObjectT(inOrigObj); + Individual* lIndividual = new Individual(lOrigIndiv); + if(!lIndividual) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lIndividual; +#else // BEAGLE_NDEBUG + const Individual& lOrigIndiv = castObjectT(inOrigObj); + return new Individual(lOrigIndiv); +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object* IndividualAlloc::clone(const Object& inOrigObj) const"); +} + + +/*! + * \brief Allocate a new individual on the heap that is a clone an existing individual. + * \param inOrigContainer Constant reference to the original individual object to clone. + * \return Pointer to the allocated individual. + * \throw InternalException If the program run out of memory. + * \throw BadCastException If the type asserted is not valid. + */ +Container* IndividualAlloc::cloneData(const Container& inOrigContainer) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + const Individual& lOrigIndiv = castObjectT(inOrigContainer); + Individual* lIndividual = + new Individual(castHandleT(mContainerTypeAlloc), mFitnessAlloc); + if(!lIndividual) throw Beagle_InternalExceptionM("Out-of-memory!"); + lIndividual->copyData(lOrigIndiv); + return lIndividual; +#else // BEAGLE_NDEBUG + const Individual& lOrigIndiv = castObjectT(inOrigContainer); + Individual* lIndividual = + new Individual(castHandleT(mContainerTypeAlloc), mFitnessAlloc); + lIndividual->copyData(lOrigIndiv); + return lIndividual; +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Container* IndividualAlloc::cloneData(const Container& inOrigContainer) const"); +} + + +/*! + * \brief Copy an individual into another. + * \param outCopyObj Constant reference to the original individual to copy. + * \param inOrigObj Reference to the individual that is a copy of the original. + * \throw BadCastException If the type asserted is not valid. + */ +void IndividualAlloc::copy(Object& outCopyObj, const Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); + Individual& lCopyIndiv = castObjectT(outCopyObj); + const Individual& lOrigIndiv = castObjectT(inOrigObj); + lCopyIndiv = lOrigIndiv; + Beagle_StackTraceEndM("void IndividualAlloc::copy(Object& outCopyObj, const Object& inOrigObj) const"); +} + + +/*! + * \brief Copy an individual into another. + * \param outCopyContainer Constant reference to the original individual to copy. + * \param inOrigContainer Reference to the individual that is a copy of the original. + * \throw BadCastException If the type asserted is not valid. + */ +void IndividualAlloc::copyData(Container& outCopyContainer, const Container& inOrigContainer) const +{ + Beagle_StackTraceBeginM(); + Individual& lCopyIndiv = castObjectT(outCopyContainer); + const Individual& lOrigIndiv = castObjectT(inOrigContainer); + lCopyIndiv.copyData(lOrigIndiv); + Beagle_StackTraceEndM("void IndividualAlloc::copyData(Container& outCopyContainer, const Container& inOrigContainer) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/IndividualBag.cpp b/lib/beagle-3.0.3/beagle/src/IndividualBag.cpp new file mode 100644 index 0000000..373475b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/IndividualBag.cpp @@ -0,0 +1,164 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/IndividualBag.cpp + * \brief Implementation of the class IndividualBag. + * \author Matthew Walker + * \author Christian Gagne + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct individual bag. + * \param inIndivAlloc Allocator of individuals. + * \param inN Size of the bag. + */ +IndividualBag::IndividualBag(Individual::Alloc::Handle inIndivAlloc, unsigned int inN) : + ContainerT::Bag>(inIndivAlloc,inN) +{ } + + +/*! + * \brief Construct individual bag. + * \param inIndivAlloc Allocator of individuals. + * \param inN Size of the bag. + * \param inModel Individual model. + */ +IndividualBag::IndividualBag(Individual::Alloc::Handle inIndivAlloc, + unsigned int inN, + const Individual& inModel) : + ContainerT::Bag>(inIndivAlloc,inN,inModel) +{ } + + +/*! + * \brief Extract an individual bag from a XML subtree. + * \throw Beagle::InternalException You should use readWithContext instead. + */ +void IndividualBag::read(PACC::XML::ConstIterator) +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("read","IndividualBag",getName()); + Beagle_StackTraceEndM("void IndividualBag::read(PACC::XML::ConstIterator)"); +} + + +/*! + * \brief Read an individual bag from a XML file. + * \param inFileName Filename to read individual bag from. + * \param ioSystem Evolutionary system used to read individual. + * \param inBagTag Name of the XML tag containing the list of individuals to read. + * \return True if an individual of the given name was found and read from file. + * false if nothing was found. + */ +bool IndividualBag::readFromFile(Beagle::string inFileName, + System& ioSystem, + Beagle::string inBagTag) +{ + Beagle_StackTraceBeginM(); + std::ifstream lIFS(inFileName.c_str()); + PACC::XML::Document lParser(lIFS, inFileName.c_str()); + lIFS.close(); + PACC::XML::ConstFinder lBagFinder = (PACC::XML::ConstIterator)lParser.getFirstDataTag(); + PACC::XML::ConstIterator lIndivTag = lBagFinder.find(std::string("//")+inBagTag.c_str()); + if(!lIndivTag) return false; + + Context::Handle lContext = castHandleT(ioSystem.getContextAllocator().allocate()); + lContext->setSystemHandle(&ioSystem); + resize(0); + Beagle_LogInfoM( + ioSystem.getLogger(), + "individual", "Beagle::IndividualBag", + string("Reading an individual bag from file \"")+inFileName+ + string("\" that is in-between the XML tags \"")+inBagTag+string("\"") + ); + + for(PACC::XML::ConstIterator lIter=lIndivTag; lIter; ++lIter) { + if((lIter->getType()!=PACC::XML::eData) || (lIter->getValue()!="Individual")) continue; + const unsigned int lBackIndex = size(); + resize(lBackIndex+1); + lContext->setIndividualHandle((*this)[lBackIndex]); + lContext->setIndividualIndex(lBackIndex); + (*this)[lBackIndex]->readWithContext(lIter, *lContext); + Beagle_LogInfoM( + ioSystem.getLogger(), + "individual", "Beagle::IndividualBag", + string("Read individual: ")+(*this)[lBackIndex]->serialize() + ); + } + + return true; + Beagle_StackTraceEndM("bool IndividualBag::readFromFile(string inFileName, System& ioSystem, string inBagTag)"); +} + + +/*! + * \brief Read an individual bag with a context. + * \param inIter XML iterator to read the bag from. + * \param ioContext Evolutionary context. + */ +void IndividualBag::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + // Check for correct XML tag + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Bag")) + throw Beagle_IOExceptionNodeM(*inIter, string("tag expected!")); + + // Get size of the bag + PACC::XML::ConstIterator lChild = inIter->getFirstChild(); + size_type lSize; + for(lSize = 0; lChild; ++lSize) ++lChild; + + // Resize bag + if((getTypeAlloc()==NULL) && (lSize>size())) { + std::ostringstream lMessageOSS; + lMessageOSS << "Bag size (" << lSize << ") is bigger than the actual size ("; + lMessageOSS << size() << "), and there is no type allocator to resize the container!"; + throw Beagle_IOExceptionNodeM(*inIter, lMessageOSS.str().c_str()); + } + resize(lSize); + + // Read individuals with context + lChild = inIter->getFirstChild(); + for(size_type j=0; lChild; ++j) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="NullHandle")) (*this)[j] = NULL; + else { + Beagle_NonNullPointerAssertM((*this)[j]); + (*this)[j]->readWithContext(lChild,ioContext); + } + ++lChild; + } + Beagle_StackTraceEndM("void IndividualBag::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/src/IndividualSizeFrequencyStatsOp.cpp b/lib/beagle-3.0.3/beagle/src/IndividualSizeFrequencyStatsOp.cpp new file mode 100644 index 0000000..5b11068 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/IndividualSizeFrequencyStatsOp.cpp @@ -0,0 +1,124 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +#include "beagle/Beagle.hpp" + +#include +#include +#include + +using namespace Beagle; + + +// This restrict the scope of the class to the actual file only. +namespace { + +typedef std::map< unsigned,unsigned int,std::less, + BEAGLE_STLALLOCATOR< std::pair > > + CountMap; + +/*! + * \brief Internal class used to log individual size frequency usage. + */ +class UsageCount : public Beagle::Object, public CountMap +{ +public: + explicit UsageCount(unsigned int inDemeID=0, unsigned int inGeneration=0); + virtual ~UsageCount() { } + void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + unsigned int mDemeID; + unsigned int mGeneration; +}; + + +/*! + * \brief Construct usage count class. + */ +UsageCount::UsageCount(unsigned int inDemeID, + unsigned int inGeneration) : + mDemeID(inDemeID), + mGeneration(inGeneration) +{ } + + +/*! + * \brief Write usage count to the streamer. + * \param ioStreamer XML streamer to write usage count to. + * \param inIndent Whether XML output should be indented. + */ +void UsageCount::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("IndividualSizeFrequencyUsageStats", inIndent); + ioStreamer.insertAttribute("deme", uint2str(mDemeID)); + ioStreamer.insertAttribute("generation", uint2str(mGeneration)); + for(const_iterator lIter=begin(); lIter!=end(); ++lIter) { + ioStreamer.openTag("IndividualSize", inIndent); + ioStreamer.insertAttribute("size", uint2str(lIter->first)); + ioStreamer.insertAttribute("count", uint2str(lIter->second)); + ioStreamer.closeTag(); + } + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void UsageCount::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + +} + + +/*! + * \brief Construct individual size frequency display operator. + * \param inName Name of the primitive. + */ +IndividualSizeFrequencyStatsOp::IndividualSizeFrequencyStatsOp(Beagle::string inName) : + Operator(inName) +{ } + + +/*! + * \brief Compute primitive usage statistics from deme. + * \param ioDeme Deme to compute individual frequency on. + * \param ioContext Evolutionary context. + */ +void IndividualSizeFrequencyStatsOp::operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext) +{ + Beagle_StackTraceBeginM(); + // Compute usage statistics + UsageCount lCounter(ioContext.getDemeIndex(), ioContext.getGeneration()); + for(unsigned int i=0; isize()); + if(lIter == lCounter.end()) lCounter[ioDeme[i]->size()] = 1; + else ++(lIter->second); + } + + // Display usage statistics + Beagle_LogObjectM( + ioContext.getSystem().getLogger(), + Logger::eStats, + "stats", "Beagle::IndividualSizeFrequencyStatsOp", + lCounter + ); + Beagle_StackTraceEndM("void IndividualSizeFrequencyStatsOp::operate(Beagle::Deme& ioDeme, Beagle::Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/src/InitializationOp.cpp b/lib/beagle-3.0.3/beagle/src/InitializationOp.cpp new file mode 100644 index 0000000..bbd27b1 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/InitializationOp.cpp @@ -0,0 +1,340 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/InitializationOp.cpp + * \brief Source code of class InitializationOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.18.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#ifdef BEAGLE_HAVE_LIBZ +#include "gzstream.h" +#endif // BEAGLE_HAVE_LIBZ + +using namespace Beagle; + + +/*! + * \brief Construct a plain new initialization operator. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the initialization operator. + */ +InitializationOp::InitializationOp(Beagle::string inReproProbaName, Beagle::string inName) : + BreederOp(inName), + mReproProbaName(inReproProbaName) +{ } + + +/*! + * \brief Apply the breeding operation on a breeding pool, returning a bred individual. + * \param inBreedingPool Breeding pool to use for the breeding operation. + * \param inChild Node handle associated to child node in the breeder tree. + * \param ioContext Evolutionary context of the breeding operation. + * \return Bred individual. + */ +Individual::Handle InitializationOp::breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Individual::Handle lNewIndiv = + castHandleT(ioContext.getDeme().getTypeAlloc()->allocate()); + initIndividual(*lNewIndiv, ioContext); + if(lNewIndiv->getFitness() != NULL) lNewIndiv->getFitness()->setInvalid(); + ioContext.setIndividualHandle(lNewIndiv); + return lNewIndiv; + Beagle_StackTraceEndM("Individual::Handle InitializationOp::breed(Individual::Bag& inBreedingPool, BreederNode::Handle inChild, Context& ioContext)"); +} + + +/*! + * \return Return selection probability of breeder operator. + * \param inChild Child node in the breeder tree. + */ +float InitializationOp::getBreedingProba(BreederNode::Handle inChild) +{ + Beagle_StackTraceBeginM(); + return mReproductionProba->getWrappedValue(); + Beagle_StackTraceEndM("float InitializationOp::getBreedingProba(BreederNode::Handle inChild)"); +} + + +/*! + * \brief Initialize the initialization operator. + * \param ioSystem Reference to the system to use for the initialization. + */ +void InitializationOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + BreederOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mReproProbaName)) { + mReproductionProba = + castHandleT(ioSystem.getRegister().getEntry(mReproProbaName)); + } else { + mReproductionProba = new Float(0.1f); + Register::Description lDescription( + "Reproduction probability", + "Float", + "0.1", + string("Probability that an individual is reproducted as is, without modification. ")+ + string("This parameter is useful only in selection and initialization operators that ")+ + string("are composing a breeder tree.") + ); + ioSystem.getRegister().addEntry(mReproProbaName, mReproductionProba, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ec.pop.size")) { + mPopSize = castHandleT(ioSystem.getRegister().getEntry("ec.pop.size")); + } else { + mPopSize = new UIntArray(1,100); + string lLongDescrip("Number of demes and size of each deme of the population. "); + lLongDescrip += "The format of an UIntArray is S1,S2,...,Sn, where Si is the ith value. "; + lLongDescrip += "The size of the UIntArray is the number of demes present in the "; + lLongDescrip += "vivarium, while each value of the vector is the size of the corresponding "; + lLongDescrip += "deme."; + Register::Description lDescription( + "Vivarium and demes sizes", + "UIntArray", + "100", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ec.pop.size", mPopSize, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ec.init.seedsfile")) { + mSeedsFile = + castHandleT(ioSystem.getRegister().getEntry("ec.init.seedsfile")); + } else { + mSeedsFile = new String(""); + string lMessage = "Name of file to use for seeding the evolution "; + lMessage += "with crafted individual. An empty string means no seeding."; + Register::Description lDescription( + "Seeds individual filename", + "String", + "\"\"", + lMessage + ); + ioSystem.getRegister().addEntry("ec.init.seedsfile", mSeedsFile, lDescription); + } + Beagle_StackTraceEndM("void InitializationOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the initialization operation on the deme. + * \param ioDeme Current deme of individuals to initialize. + * \param ioContext Context of the evolution. + */ +void InitializationOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mPopSize == NULL) { + string lMessage; + lMessage = string("It appears that the operator \"")+getName()+ + string("\" has not been initialized properly because the population's size has not been ")+ + string("initialized in InitializationOp (a base class of operator \"")+getName()+ + string("\"). Consider calling the initialize() method of your initialization operator. ")+ + string("If that is already being called then you might also like to consider whether a ")+ + string("call to Beagle::InitializationOp::initialize() should be added to the operator's ")+ + string("initialize() method."); + throw Beagle_RunTimeExceptionM(lMessage); + } + if(ioContext.getVivariumHandle()!=NULL) { + Beagle_AssertM(mPopSize->size() == ioContext.getVivarium().size()); + } +#endif // BEAGLE_NDEBUG + + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::InitializationOp", + string("Initializing the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::InitializationOp", + string("Resizing the deme to ")+ + uint2str((*mPopSize)[ioContext.getDemeIndex()])+" individuals" + ); + ioDeme.resize((*mPopSize)[ioContext.getDemeIndex()]); + + unsigned int lSeededIndividuals = 0; + if(mSeedsFile->getWrappedValue().empty() == false) { + Beagle_LogInfoM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::InitializationOp", + string("Reading seeds file \"")+mSeedsFile->getWrappedValue()+ + string("\" to initialize the ")+uint2ordinal(ioContext.getDemeIndex()+1)+ + string(" deme") + ); + lSeededIndividuals = readSeeds(mSeedsFile->getWrappedValue(), ioDeme, ioContext); + Beagle_LogDetailedM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::InitializationOp", + uint2str(lSeededIndividuals)+string(" individuals read to seed the deme") + ); + } + + Individual::Handle lOldIndividualHandle = ioContext.getIndividualHandle(); + unsigned int lOldIndividualIndex = ioContext.getIndividualIndex(); + for(unsigned int i=lSeededIndividuals; igetFitness() != NULL) ioDeme[i]->getFitness()->setInvalid(); + } + ioContext.setIndividualIndex(lOldIndividualIndex); + ioContext.setIndividualHandle(lOldIndividualHandle); + Beagle_StackTraceEndM("void InitializationOp::operate(Deme& ioDeme, Context& ioContext)"); +} + + +/*! + * \brief Read individuals from a given file to seed the evolution. + * \param inFileName File name to read seeds individual from. + * \param ioDeme Deme to initialize with seeds. + * \param ioContext Evolutionary context. + * \return Number of seeds read. + * + * Seeds file format is quite simple: XML file with "Beagle" root tag, and then a + * "Seeds" tag with in it the individuals representation to read. Here is a + * seeds file example with one individual in it. + * \verbatim + + + + + 11111 + + + + \endverbatim + * If there is less individuals in the seed file than the population size, the + * remaining individuals are initialized as usual. If there is more individuals + * than needed, the last individuals of the seeds file are ignored. If more than one + * deme is used in the evolution, each deme will be seeded with the same seeds file. + * + */ +unsigned int InitializationOp::readSeeds(Beagle::string inFileName, + Deme& ioDeme, + Context& ioContext) +{ + Beagle_StackTraceBeginM(); +#ifdef BEAGLE_HAVE_LIBZ + igzstream lIFStream(inFileName.c_str()); +#else // BEAGLE_HAVE_LIBZ + std::ifstream lIFStream(inFileName.c_str()); +#endif // BEAGLE_HAVE_LIBZ + PACC::XML::Document lParser; + try { + lParser.parse(lIFStream, inFileName.c_str()); + } catch(IOException& inExcept) { + std::ostringstream lOSS; + lOSS << "The seeds file is invalid: " << inExcept.what(); + throw Beagle_IOExceptionMessageM(lOSS.str().c_str()); + } + + unsigned int lReadIndividuals=0; + unsigned int lOldIndivIndex = ioContext.getIndividualIndex(); + Individual::Handle lOldIndivHandle = ioContext.getIndividualHandle(); + for(PACC::XML::ConstIterator lNode=lParser.getFirstRoot(); lNode; ++lNode) { + if((lNode->getType()==PACC::XML::eData) && (lNode->getValue()=="Beagle")) { + for(PACC::XML::ConstIterator lChild=lNode->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Seeds")) { + for(PACC::XML::ConstIterator lChild2=lChild->getFirstChild(); lChild2; ++lChild2) { + if((lChild2->getType()==PACC::XML::eData) && (lChild2->getValue()=="Individual")) { + if(lReadIndividuals >= ioDeme.size()) break; + Beagle_NonNullPointerAssertM(ioDeme[lReadIndividuals]); + ioContext.setIndividualIndex(lReadIndividuals); + ioContext.setIndividualHandle(ioDeme[lReadIndividuals]); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::InitializationOp", + string("Reading the ")+uint2ordinal(lReadIndividuals+1)+ + string(" individual from seeds file") + ); + ioDeme[lReadIndividuals]->readWithContext(lChild2, ioContext); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::InitializationOp", + string("Read seeded individual: ")+ioDeme[lReadIndividuals]->serialize() + ); + ++lReadIndividuals; + } + } + } + } + } + } + ioContext.setIndividualHandle(lOldIndivHandle); + ioContext.setIndividualIndex(lOldIndivIndex); + return lReadIndividuals; + Beagle_StackTraceEndM("unsigned int InitializationOp::readSeeds(string inFileName, Deme& ioDeme, Context& ioContext)"); +} + + +/*! + * \brief Read a initialization operator from a XML subtree. + * \param inIter XML iterator to use to read initialization operator. + * \param inOpMap Operator map to use to read initialization operator. + */ +void InitializationOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string mReproProbaReadName = inIter->getAttribute("repropb").c_str(); + if(mReproProbaReadName.empty() == false) mReproProbaName = mReproProbaReadName; + Beagle_StackTraceEndM("void InitializationOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write initialization operator into XML streamer. + * \param ioStreamer XML streamer to write initialization operator into. + * \param inIndent Whether XML output should be indented. + */ +void InitializationOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.insertAttribute("repropb", mReproProbaName); + Beagle_StackTraceEndM("void InitializationOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} diff --git a/lib/beagle-3.0.3/beagle/src/InternalException.cpp b/lib/beagle-3.0.3/beagle/src/InternalException.cpp new file mode 100644 index 0000000..0cd805c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/InternalException.cpp @@ -0,0 +1,62 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagn�and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/InternalException.cpp + * \brief Implementation of class InternalException. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a new InternalException using data given. + * \param inMessage Message related to the exception. + * \param inFileName File name where the exception is detected (throwed). + * \param inLineNumber Line number where the exception is detected (throwed). + */ +InternalException::InternalException(Beagle::string inMessage, + Beagle::string inFileName, + unsigned int inLineNumber) : + TargetedException(inMessage,inFileName,inLineNumber) +{ } + + +/*! + * \brief Get the name of the exception. + * \return Name of the exception. + */ +const char* InternalException::getExceptionName() const throw() +{ + return "Beagle::InternalException"; +} + diff --git a/lib/beagle-3.0.3/beagle/src/InvalidateFitnessOp.cpp b/lib/beagle-3.0.3/beagle/src/InvalidateFitnessOp.cpp new file mode 100644 index 0000000..2929b87 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/InvalidateFitnessOp.cpp @@ -0,0 +1,120 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/InvalidateFitnessOp.cpp + * \brief Source code of class InvalidateFitnessOp. + * \author Matthew Walker + * \author Christian Gagne + * $Revision: 1.4.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct an InvalidateFitnessOp. + * \param inName Name of the operator. + */ +InvalidateFitnessOp::InvalidateFitnessOp(Beagle::string inName) : + BreederOp(inName) +{ } + + +/*! + * \brief Apply the fitness invalidation operation on a breeding pool, returning a bred individual. + * \param inBreedingPool Breeding pool to use for the breeding operation. + * \param inChild Node handle associated to child node in the breeder tree. + * \param ioContext Evolutionary context of the breeding operation. + * \return Invalidated bred individual. + */ +Individual::Handle InvalidateFitnessOp::breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(inChild); + Beagle_NonNullPointerAssertM(inChild->getBreederOp()); + Individual::Handle lBredIndividual = + inChild->getBreederOp()->breed(inBreedingPool, inChild->getFirstChild(), ioContext); + if((lBredIndividual->getFitness()!=NULL) && (lBredIndividual->getFitness()->isValid())) { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "invalidate-fitness", "Beagle::InvalidateFitnessOp", + string("Invalidating the fitness of the following bred individual: ")+ + lBredIndividual->serialize() + ); + lBredIndividual->getFitness()->setInvalid(); + } + return lBredIndividual; + Beagle_StackTraceEndM("Individual::Handle InvalidateFitnessOp::breed(Individual::Bag& inBreedingPool, BreederNode::Handle inChild, Context& ioContext)"); +} + + +/*! + * \return Return selection probability of breeder operator. + * \param inChild Child node in the breeder tree. + */ +float InvalidateFitnessOp::getBreedingProba(BreederNode::Handle inChild) +{ + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(inChild); + Beagle_NonNullPointerAssertM(inChild->getBreederOp()); + return inChild->getBreederOp()->getBreedingProba(inChild->getFirstChild()); + Beagle_StackTraceEndM("float InvalidateFitnessOp::getBreedingProba(BreederNode::Handle inChild)"); +} + + +/*! + * \brief Invalidates the fitness of every individual in ioDeme. + * \param ioDeme The deme to operate on. + * \param ioContext Evolutionary context. + */ +void InvalidateFitnessOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "invalidate-fitness", "Beagle::InvalidateFitnessOp", + string("Invalidating the fitness of every individual in the ")+uint2ordinal(ioContext.getDemeIndex()+1)+ + string(" deme") + ); + for(unsigned int i=0; igetFitness() != NULL) { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "invalidate-fitness", "Beagle::InvalidateFitnessOp", + string("Invalidating the ")+uint2ordinal(i+1)+string(" individual of the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+string(" deme") + ); + ioDeme[i]->getFitness()->setInvalid(); + } + } + Beagle_StackTraceEndM("void InvalidateFitnessOp::operate(Deme& ioDeme, Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/src/Logger.cpp b/lib/beagle-3.0.3/beagle/src/Logger.cpp new file mode 100644 index 0000000..576d3c0 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Logger.cpp @@ -0,0 +1,75 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/Logger.cpp + * \brief Implementation of class Logger. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a logger. + */ +Logger::Logger() : + Component("Logger"), + mInitialized(false) +{ } + + +/*! + * \brief Initialize logger by registering its parameters. + * \param ioSystem Reference to the system to use for initialization. + */ +void Logger::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle_LogDetailedM( + ioSystem.getLogger(), + "logger", "Beagle::Logger", + "Initializing logger" + ); + Beagle_StackTraceEndM("void Logger::initialize(System& ioSystem)"); +} + + + + + + + + diff --git a/lib/beagle-3.0.3/beagle/src/LoggerXML.cpp b/lib/beagle-3.0.3/beagle/src/LoggerXML.cpp new file mode 100644 index 0000000..8e38100 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/LoggerXML.cpp @@ -0,0 +1,628 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/LoggerXML.cpp + * \brief Implementation of class LoggerXML. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.16.2.2 $ + * $Date: 2007/09/10 18:24:12 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include +#include + +using namespace Beagle; + +/*! + * \brief Construct a new LoggerXML. + */ +LoggerXML::LoggerXML() : + mActualFileName(""), + mStreamerFile(NULL), + mLogOutStream(NULL), + mStreamerConsole(NULL), + mTerminated(false) +{ } + + +/*! + * \brief Copy construct a LoggerXML is undefined. + */ +LoggerXML::LoggerXML(const LoggerXML& inLoggerXML) : + Logger() +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("LoggerXML(const LoggerXML&)", "LoggerXML", getName()); + Beagle_StackTraceEndM("LoggerXML::LoggerXML(const LoggerXML& inLoggerXML)"); +} + + +/*! + * \brief Destruct a LoggerXML. + */ +LoggerXML::~LoggerXML() +{ + Beagle_StackTraceBeginM(); + terminate(); + Beagle_StackTraceEndM("LoggerXML::~LoggerXML()"); +} + + +/*! + * \brief Copy a LoggerXML is undefined. + */ +LoggerXML& LoggerXML::operator=(const LoggerXML& inLoggerXML) +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("operator=","LoggerXML",getName()); + Beagle_StackTraceEndM("LoggerXML& LoggerXML::operator=(const LoggerXML& inLoggerXML)"); +} + + +/*! + * \brief Initialize logger by registering its parameters. + * \param ioSystem Reference to the system to use for initialization. + */ +void LoggerXML::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Logger::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("lg.console.level")) { + mLogConsoleLevel = castHandleT(ioSystem.getRegister().getEntry("lg.console.level")); + } else { + mLogConsoleLevel = new UInt(eStats); + string lLongDescrip("Log level used for console output generation. "); + lLongDescrip += "Log levels available are: (0) no log, (1) basic logs, (2) stats, "; + lLongDescrip += "(3) general informations, (4) details on operations, "; + lLongDescrip += "(5) trace of the algorithms, (6) verbose, "; + lLongDescrip += "(7) debug (enabled only in full debug mode)."; + Register::Description lDescription( + "Console log level", + "UInt", + "2", + lLongDescrip + ); + ioSystem.getRegister().addEntry("lg.console.level", mLogConsoleLevel, lDescription); + } + + if(ioSystem.getRegister().isRegistered("lg.file.level")) { + mLogFileLevel = castHandleT(ioSystem.getRegister().getEntry("lg.file.level")); + } else { + mLogFileLevel = new UInt(eInfo); + string lLongDescrip("Log level used for file output generation. "); + lLongDescrip += "Log levels available are: (0) no log, (1) basic logs, (2) stats, "; + lLongDescrip += "(3) general informations, (4) details on operations, "; + lLongDescrip += "(5) trace of the algorithms, (6) verbose, "; + lLongDescrip += "(7) debug (enabled only in full debug mode)."; + Register::Description lDescription( + "File log level", + "UInt", + "3", + lLongDescrip + ); + ioSystem.getRegister().addEntry("lg.file.level", mLogFileLevel, lDescription); + } + + if(ioSystem.getRegister().isRegistered("lg.file.name")) { + mLogFileName = castHandleT(ioSystem.getRegister().getEntry("lg.file.name")); + } else { + mLogFileName = new String("beagle.log"); + string lLongDescrip("Filename in which messages are outputed. "); + lLongDescrip += "An empty string file name means no output is done to a file."; + Register::Description lDescription( + "Log filename", + "String", + "\"beagle.log\"", + lLongDescrip + ); + ioSystem.getRegister().addEntry("lg.file.name", mLogFileName, lDescription); + } + + if(ioSystem.getRegister().isRegistered("lg.show.level")) { + mShowLevel = castHandleT(ioSystem.getRegister().getEntry("lg.show.level")); + } else { + mShowLevel = new Bool(false); + string lLongDescrip("Flag whether logging level in outputed in the logs."); + Register::Description lDescription( + "Show level in logs", + "Bool", + "0", + lLongDescrip + ); + ioSystem.getRegister().addEntry("lg.show.level", mShowLevel, lDescription); + } + + if(ioSystem.getRegister().isRegistered("lg.show.type")) { + mShowType = castHandleT(ioSystem.getRegister().getEntry("lg.show.type")); + } else { + mShowType = new Bool(false); + string lLongDescrip("Flag whether message type is outputed in the logs."); + Register::Description lDescription( + "Show message type in logs", + "Bool", + "0", + lLongDescrip + ); + ioSystem.getRegister().addEntry("lg.show.type", mShowType, lDescription); + } + + if(ioSystem.getRegister().isRegistered("lg.show.class")) { + mShowClass = castHandleT(ioSystem.getRegister().getEntry("lg.show.class")); + } else { + mShowClass = new Bool(false); + string lLongDescrip("Flag whether class name is outputed in the logs."); + Register::Description lDescription( + "Show class name in logs", + "Bool", + "0", + lLongDescrip + ); + ioSystem.getRegister().addEntry("lg.show.class", mShowClass, lDescription); + } + Beagle_StackTraceEndM("void LoggerXML::initialize(System& ioSystem)"); +} + + +/*! + * \brief Write message to the output device. + * \param inLevel Log level of the message + * \param inType Type of the message to log. + * \param inClass Class associated to the message. + * \param inMessage Message to log in the output device. + */ +void LoggerXML::outputMessage(unsigned int inLevel, + Beagle::string inType, + Beagle::string inClass, + Beagle::string inMessage) +{ + Beagle_StackTraceBeginM(); + if(mTerminated) + throw Beagle_RunTimeExceptionM("Can't log in a terminated XML logger!"); + + // Log file output + if(mLogFileLevel->getWrappedValue()>=inLevel) { + if(mActualFileName != mLogFileName->getWrappedValue()) { + mActualFileName = mLogFileName->getWrappedValue(); + if(mStreamerFile != NULL) { + mStreamerFile->closeTag(); + mStreamerFile->closeTag(); + *mLogOutStream << std::endl; + delete mStreamerFile; + mStreamerFile = NULL; + } + if(mLogOutStream) { + mLogOutStream->close(); + delete mLogOutStream; + mLogOutStream = NULL; + } + if(mLogFileName->getWrappedValue().empty() == false) { + string lFilenameBak = mLogFileName->getWrappedValue() + "~"; + std::remove(lFilenameBak.c_str()); + std::rename(mLogFileName->getWrappedValue().c_str(), lFilenameBak.c_str()); + mLogOutStream = new std::ofstream(mLogFileName->getWrappedValue().c_str()); + mStreamerFile = new PACC::XML::Streamer(*mLogOutStream); + mStreamerFile->insertHeader(); + mStreamerFile->openTag("Beagle"); + mStreamerFile->insertAttribute("version", BEAGLE_VERSION); + mStreamerFile->openTag("Logger"); + } + } + if(mStreamerFile != NULL) { + mStreamerFile->openTag("Log", false); + if(mShowLevel->getWrappedValue()) mStreamerFile->insertAttribute("level", uint2str(inLevel)); + if(mShowType->getWrappedValue()) mStreamerFile->insertAttribute("type", inType); + if(mShowClass->getWrappedValue()) mStreamerFile->insertAttribute("class", inClass); + mStreamerFile->insertStringContent(inMessage.c_str()); + mStreamerFile->closeTag(); + } + } + + // Log console output + if(mLogConsoleLevel->getWrappedValue()>=inLevel) { + if(mStreamerConsole == NULL) { + mStreamerConsole = new PACC::XML::Streamer(std::cout); + mStreamerConsole->insertHeader(); + mStreamerConsole->openTag("Beagle"); + mStreamerConsole->insertAttribute("version", BEAGLE_VERSION); + mStreamerConsole->openTag("Logger"); + } + mStreamerConsole->openTag("Log", false); + if(mShowLevel->getWrappedValue()) mStreamerConsole->insertAttribute("level", uint2str(inLevel)); + if(mShowType->getWrappedValue()) mStreamerConsole->insertAttribute("type", inType); + if(mShowClass->getWrappedValue()) mStreamerConsole->insertAttribute("class", inClass); + mStreamerConsole->insertStringContent(inMessage.c_str()); + mStreamerConsole->closeTag(); + } + Beagle_StackTraceEndM("void LoggerXML::outputMessage(unsigned int inLevel, string inType, string inClass, string inMessage)"); +} + + +/*! + * \brief Write Beagle object to the output device. + * \param inLevel Log level of the message + * \param inType Type of the message to log. + * \param inClass Class associated to the message. + * \param inObject Beagle object to log in the output device. + */ +void LoggerXML::outputObject(unsigned int inLevel, + Beagle::string inType, + Beagle::string inClass, + const Object& inObject) +{ + Beagle_StackTraceBeginM(); + if(mTerminated) + throw Beagle_RunTimeExceptionM("Can't log in a terminated XML logger!"); + + // Log file output + if(mLogFileLevel->getWrappedValue()>=inLevel) { + if(mActualFileName != mLogFileName->getWrappedValue()) { + mActualFileName = mLogFileName->getWrappedValue(); + if(mStreamerFile != NULL) { + mStreamerFile->closeTag(); + mStreamerFile->closeTag(); + *mLogOutStream << std::endl; + delete mStreamerFile; + mStreamerFile = NULL; + } + if(mLogOutStream) { + mLogOutStream->close(); + delete mLogOutStream; + mLogOutStream = NULL; + } + if(mLogFileName->getWrappedValue().empty() == false) { + string lFilenameBak = mLogFileName->getWrappedValue() + "~"; + std::remove(lFilenameBak.c_str()); + std::rename(mLogFileName->getWrappedValue().c_str(), lFilenameBak.c_str()); + mLogOutStream = new std::ofstream(mLogFileName->getWrappedValue().c_str()); + mStreamerFile = new PACC::XML::Streamer(*mLogOutStream); + mStreamerFile->insertHeader(); + mStreamerFile->openTag("Beagle"); + mStreamerFile->insertAttribute("version", BEAGLE_VERSION); + mStreamerFile->openTag("Logger"); + } + } + if(mStreamerFile != NULL) { + mStreamerFile->openTag("Log"); + if(mShowLevel->getWrappedValue()) mStreamerFile->insertAttribute("level", uint2str(inLevel)); + if(mShowType->getWrappedValue()) mStreamerFile->insertAttribute("type", inType); + if(mShowClass->getWrappedValue()) mStreamerFile->insertAttribute("class", inClass); + inObject.write(*mStreamerFile); + mStreamerFile->closeTag(); + } + } + + // Log console output + if(mLogConsoleLevel->getWrappedValue()>=inLevel) { + if(mStreamerConsole == NULL) { + mStreamerConsole = new PACC::XML::Streamer(std::cout); + mStreamerConsole->insertHeader(); + mStreamerConsole->openTag("Beagle"); + mStreamerConsole->insertAttribute("version", BEAGLE_VERSION); + mStreamerConsole->openTag("Logger"); + } + mStreamerConsole->openTag("Log"); + if(mShowLevel->getWrappedValue()) mStreamerConsole->insertAttribute("level", uint2str(inLevel)); + if(mShowType->getWrappedValue()) mStreamerConsole->insertAttribute("type", inType); + if(mShowClass->getWrappedValue()) mStreamerConsole->insertAttribute("class", inClass); + inObject.write(*mStreamerConsole); + mStreamerConsole->closeTag(); + } + Beagle_StackTraceEndM("void LoggerXML::outputObject(unsigned int inLevel, string inType, string inClass, const Object& inObject)"); +} + + +/*! + * \brief Post-initialize logger. + */ +void LoggerXML::postInit(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Logger::postInit(ioSystem); + + mInitialized = true; + + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + string("Open BEAGLE, version ")+BEAGLE_VERSION + ); + + switch(mLogConsoleLevel->getWrappedValue()) { + case eNothing: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "Console logger initialized, using log level 0 (no message)" + ); + break; + } + case eBasic: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "Console logger initialized, using log level 1 (essential informations)" + ); + break; + } + case eStats: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "Console logger initialized, using log level 2 (evolution statistics)" + ); + break; + } + case eInfo: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "Console logger initialized, using log level 3 (general informations)" + ); + break; + } + case eDetailed: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "Console logger initialized, using log level 4 (details on operations)" + ); + break; + } + case eTrace: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "Console logger initialized, using log level 5 (trace of the algorithms)" + ); + break; + } + case eVerbose: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "Console logger initialized, using log level 6 (details on everything)" + ); +#ifdef BEAGLE_NDEBUG + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "Console log level 6 (verbose) is unused as optimization mode is enabled" + ); +#endif // BEAGLE_NDEBUG + break; + } + case eDebug: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "Console logger initialized, using log level 7 (debug)" + ); +#ifdef BEAGLE_NDEBUG + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "Console log level 7 (debug) is unused as optimization mode is enabled" + ); +#endif // BEAGLE_NDEBUG +#ifndef BEAGLE_FULL_DEBUG + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "Console log level 7 (debug) is unused as full debug mode is disabled" + ); +#endif // BEAGLE_FULL_DEBUG + break; + } + default: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + string("Console logger initialized, using log level ")+ + uint2str(mLogConsoleLevel->getWrappedValue())+ + " (unused)" + ); + break; + } + } + + if(mLogFileName->getWrappedValue().empty()) { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "File logging disabled" + ); + } + else { + switch(mLogFileLevel->getWrappedValue()) { + case eNothing: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "File logger initialized, using log level 0 (no message)" + ); + break; + } + case eBasic: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "File logger initialized, using log level 1 (essential informations)" + ); + break; + } + case eStats: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "File logger initialized, using log level 2 (evolution statistics)" + ); + break; + } + case eInfo: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "File logger initialized, using log level 3 (general informations)" + ); + break; + } + case eDetailed: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "File logger initialized, using log level 4 (details on operations)" + ); + break; + } + case eTrace: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "File logger initialized, using log level 5 (trace of the algorithms)" + ); + break; + } + case eVerbose: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "File logger initialized, using log level 6 (details on everything)" + ); + #ifdef BEAGLE_NDEBUG + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "File log level 6 (verbose) is unused as optimization mode is enabled" + ); + #endif // BEAGLE_NDEBUG + break; + } + case eDebug: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "File logger initialized, using log level 7 (debug)" + ); + #ifdef BEAGLE_NDEBUG + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "File log level 7 (debug) is unused as optimization mode is enabled" + ); + #endif // BEAGLE_NDEBUG + #ifndef BEAGLE_FULL_DEBUG + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + "File log level 7 (debug) is unused as full debug mode is disabled" + ); + #endif // BEAGLE_FULL_DEBUG + break; + } + default: + { + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + string("File logger initialized, using log level ")+ + uint2str(mLogFileLevel->getWrappedValue())+ + " (unused)" + ); + break; + } + } + + Beagle_LogBasicM( + (*this), + "logger", "Beagle::LoggerXML", + string("Logging to file named \"")+mLogFileName->getWrappedValue()+string("\"") + ); + } + + for(std::list< Message,BEAGLE_STLALLOCATOR >::const_iterator lIter = mBuffer.begin(); + lIter != mBuffer.end(); ++lIter) { + outputMessage(lIter->mLogLevel, lIter->mType, lIter->mClass, lIter->mMessage); + } + mBuffer.clear(); + Beagle_StackTraceEndM("void LoggerXML::postInit(System& ioSystem)"); +} + + + +/*! + * \brief Terminate XML logger operations. + */ +void LoggerXML::terminate() +{ + Beagle_StackTraceBeginM(); + if(mTerminated == false) { + mTerminated = true; + if(mStreamerFile != NULL) { + mStreamerFile->closeTag(); + mStreamerFile->closeTag(); + *mLogOutStream << std::endl; + delete mStreamerFile; + mStreamerFile = NULL; + } + if(mStreamerConsole != NULL) { + mStreamerConsole->closeTag(); + mStreamerConsole->closeTag(); + std::cout << std::endl; + delete mStreamerConsole; + mStreamerConsole = NULL; + } + if(mLogOutStream) { + mLogOutStream->close(); + delete mLogOutStream; + mLogOutStream = NULL; + } + } + Beagle_StackTraceEndM("void LoggerXML::terminate()"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/Makefile b/lib/beagle-3.0.3/beagle/src/Makefile new file mode 100644 index 0000000..0783aa9 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Makefile @@ -0,0 +1,1149 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# beagle/src/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = beagle/src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libbeagle_la_DEPENDENCIES = $(top_srcdir)/PACC/Math/libpacc-math.la \ + $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la +am__libbeagle_la_SOURCES_DIST = Allocator.cpp AssertException.cpp \ + BadCastException.cpp BreederNode.cpp BreederOp.cpp \ + Component.cpp ConfigurationDumper.cpp Container.cpp \ + ContainerAllocator.cpp Context.cpp CrossoverOp.cpp \ + DecimateOp.cpp Deme.cpp DemeAlloc.cpp EvaluationOp.cpp \ + EvaluationMultipleOp.cpp Evolver.cpp Exception.cpp Fitness.cpp \ + FitnessSimple.cpp FitnessSimpleMin.cpp FitnessMultiObj.cpp \ + FitnessMultiObjMin.cpp GenerationalOp.cpp Genotype.cpp \ + HallOfFame.cpp HierarchicalFairCompetitionOp.cpp \ + IfThenElseOp.cpp Individual.cpp IndividualAlloc.cpp \ + IndividualBag.cpp IndividualSizeFrequencyStatsOp.cpp \ + InitializationOp.cpp InternalException.cpp \ + InvalidateFitnessOp.cpp IOException.cpp Logger.cpp \ + LoggerXML.cpp Map.cpp Matrix.cpp MigrationOp.cpp \ + MigrationRandomRingOp.cpp MilestoneReadOp.cpp \ + MilestoneWriteOp.cpp MuCommaLambdaOp.cpp MuPlusLambdaOp.cpp \ + MutationOp.cpp NamedObject.cpp NPGA2Op.cpp NSGA2Op.cpp \ + Object.cpp ObjectException.cpp Operator.cpp OversizeOp.cpp \ + ParetoFrontHOF.cpp ParetoFrontCalculateOp.cpp \ + RandomShuffleDemeOp.cpp Randomizer.cpp Register.cpp \ + RegisterReadOp.cpp ReplacementStrategyOp.cpp \ + RunTimeException.cpp SelectionOp.cpp \ + SelectParsimonyTournOp.cpp SelectRandomOp.cpp \ + SelectRouletteOp.cpp SelectTournamentOp.cpp \ + StatsCalculateOp.cpp StatsCalcFitnessMultiObjOp.cpp \ + StatsCalcFitnessSimpleOp.cpp Stats.cpp SteadyStateOp.cpp \ + System.cpp TargetedException.cpp TerminationOp.cpp \ + TermMaxEvalsOp.cpp TermMaxFitnessOp.cpp TermMaxGenOp.cpp \ + TermMinFitnessOp.cpp ValidationException.cpp Vector.cpp \ + Vivarium.cpp VivariumAlloc.cpp +am__objects_1 = Allocator.lo AssertException.lo BadCastException.lo \ + BreederNode.lo BreederOp.lo Component.lo \ + ConfigurationDumper.lo Container.lo ContainerAllocator.lo \ + Context.lo CrossoverOp.lo DecimateOp.lo Deme.lo DemeAlloc.lo \ + EvaluationOp.lo EvaluationMultipleOp.lo Evolver.lo \ + Exception.lo Fitness.lo FitnessSimple.lo FitnessSimpleMin.lo \ + FitnessMultiObj.lo FitnessMultiObjMin.lo GenerationalOp.lo \ + Genotype.lo HallOfFame.lo HierarchicalFairCompetitionOp.lo \ + IfThenElseOp.lo Individual.lo IndividualAlloc.lo \ + IndividualBag.lo IndividualSizeFrequencyStatsOp.lo \ + InitializationOp.lo InternalException.lo \ + InvalidateFitnessOp.lo IOException.lo Logger.lo LoggerXML.lo \ + Map.lo Matrix.lo MigrationOp.lo MigrationRandomRingOp.lo \ + MilestoneReadOp.lo MilestoneWriteOp.lo MuCommaLambdaOp.lo \ + MuPlusLambdaOp.lo MutationOp.lo NamedObject.lo NPGA2Op.lo \ + NSGA2Op.lo Object.lo ObjectException.lo Operator.lo \ + OversizeOp.lo ParetoFrontHOF.lo ParetoFrontCalculateOp.lo \ + RandomShuffleDemeOp.lo Randomizer.lo Register.lo \ + RegisterReadOp.lo ReplacementStrategyOp.lo RunTimeException.lo \ + SelectionOp.lo SelectParsimonyTournOp.lo SelectRandomOp.lo \ + SelectRouletteOp.lo SelectTournamentOp.lo StatsCalculateOp.lo \ + StatsCalcFitnessMultiObjOp.lo StatsCalcFitnessSimpleOp.lo \ + Stats.lo SteadyStateOp.lo System.lo TargetedException.lo \ + TerminationOp.lo TermMaxEvalsOp.lo TermMaxFitnessOp.lo \ + TermMaxGenOp.lo TermMinFitnessOp.lo ValidationException.lo \ + Vector.lo Vivarium.lo VivariumAlloc.lo +#am_libbeagle_la_OBJECTS = $(am__objects_1) +nodist_libbeagle_la_OBJECTS = libbeagle.lo +libbeagle_la_OBJECTS = $(am_libbeagle_la_OBJECTS) \ + $(nodist_libbeagle_la_OBJECTS) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +libbeagle_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(libbeagle_la_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/Allocator.Plo \ + ./$(DEPDIR)/AssertException.Plo \ + ./$(DEPDIR)/BadCastException.Plo ./$(DEPDIR)/BreederNode.Plo \ + ./$(DEPDIR)/BreederOp.Plo ./$(DEPDIR)/Component.Plo \ + ./$(DEPDIR)/ConfigurationDumper.Plo ./$(DEPDIR)/Container.Plo \ + ./$(DEPDIR)/ContainerAllocator.Plo ./$(DEPDIR)/Context.Plo \ + ./$(DEPDIR)/CrossoverOp.Plo ./$(DEPDIR)/DecimateOp.Plo \ + ./$(DEPDIR)/Deme.Plo ./$(DEPDIR)/DemeAlloc.Plo \ + ./$(DEPDIR)/EvaluationMultipleOp.Plo \ + ./$(DEPDIR)/EvaluationOp.Plo ./$(DEPDIR)/Evolver.Plo \ + ./$(DEPDIR)/Exception.Plo ./$(DEPDIR)/Fitness.Plo \ + ./$(DEPDIR)/FitnessMultiObj.Plo \ + ./$(DEPDIR)/FitnessMultiObjMin.Plo \ + ./$(DEPDIR)/FitnessSimple.Plo ./$(DEPDIR)/FitnessSimpleMin.Plo \ + ./$(DEPDIR)/GenerationalOp.Plo ./$(DEPDIR)/Genotype.Plo \ + ./$(DEPDIR)/HallOfFame.Plo \ + ./$(DEPDIR)/HierarchicalFairCompetitionOp.Plo \ + ./$(DEPDIR)/IOException.Plo ./$(DEPDIR)/IfThenElseOp.Plo \ + ./$(DEPDIR)/Individual.Plo ./$(DEPDIR)/IndividualAlloc.Plo \ + ./$(DEPDIR)/IndividualBag.Plo \ + ./$(DEPDIR)/IndividualSizeFrequencyStatsOp.Plo \ + ./$(DEPDIR)/InitializationOp.Plo \ + ./$(DEPDIR)/InternalException.Plo \ + ./$(DEPDIR)/InvalidateFitnessOp.Plo ./$(DEPDIR)/Logger.Plo \ + ./$(DEPDIR)/LoggerXML.Plo ./$(DEPDIR)/Map.Plo \ + ./$(DEPDIR)/Matrix.Plo ./$(DEPDIR)/MigrationOp.Plo \ + ./$(DEPDIR)/MigrationRandomRingOp.Plo \ + ./$(DEPDIR)/MilestoneReadOp.Plo \ + ./$(DEPDIR)/MilestoneWriteOp.Plo \ + ./$(DEPDIR)/MuCommaLambdaOp.Plo ./$(DEPDIR)/MuPlusLambdaOp.Plo \ + ./$(DEPDIR)/MutationOp.Plo ./$(DEPDIR)/NPGA2Op.Plo \ + ./$(DEPDIR)/NSGA2Op.Plo ./$(DEPDIR)/NamedObject.Plo \ + ./$(DEPDIR)/Object.Plo ./$(DEPDIR)/ObjectException.Plo \ + ./$(DEPDIR)/Operator.Plo ./$(DEPDIR)/OversizeOp.Plo \ + ./$(DEPDIR)/ParetoFrontCalculateOp.Plo \ + ./$(DEPDIR)/ParetoFrontHOF.Plo \ + ./$(DEPDIR)/RandomShuffleDemeOp.Plo ./$(DEPDIR)/Randomizer.Plo \ + ./$(DEPDIR)/Register.Plo ./$(DEPDIR)/RegisterReadOp.Plo \ + ./$(DEPDIR)/ReplacementStrategyOp.Plo \ + ./$(DEPDIR)/RunTimeException.Plo \ + ./$(DEPDIR)/SelectParsimonyTournOp.Plo \ + ./$(DEPDIR)/SelectRandomOp.Plo \ + ./$(DEPDIR)/SelectRouletteOp.Plo \ + ./$(DEPDIR)/SelectTournamentOp.Plo ./$(DEPDIR)/SelectionOp.Plo \ + ./$(DEPDIR)/Stats.Plo \ + ./$(DEPDIR)/StatsCalcFitnessMultiObjOp.Plo \ + ./$(DEPDIR)/StatsCalcFitnessSimpleOp.Plo \ + ./$(DEPDIR)/StatsCalculateOp.Plo ./$(DEPDIR)/SteadyStateOp.Plo \ + ./$(DEPDIR)/System.Plo ./$(DEPDIR)/TargetedException.Plo \ + ./$(DEPDIR)/TermMaxEvalsOp.Plo \ + ./$(DEPDIR)/TermMaxFitnessOp.Plo ./$(DEPDIR)/TermMaxGenOp.Plo \ + ./$(DEPDIR)/TermMinFitnessOp.Plo ./$(DEPDIR)/TerminationOp.Plo \ + ./$(DEPDIR)/ValidationException.Plo ./$(DEPDIR)/Vector.Plo \ + ./$(DEPDIR)/Vivarium.Plo ./$(DEPDIR)/VivariumAlloc.Plo \ + ./$(DEPDIR)/libbeagle.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libbeagle_la_SOURCES) $(nodist_libbeagle_la_SOURCES) +DIST_SOURCES = $(am__libbeagle_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/src +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/beagle/src +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +BEAGLE_SRC_VAR = \ +Allocator.cpp \ +AssertException.cpp \ +BadCastException.cpp \ +BreederNode.cpp \ +BreederOp.cpp \ +Component.cpp \ +ConfigurationDumper.cpp \ +Container.cpp \ +ContainerAllocator.cpp \ +Context.cpp \ +CrossoverOp.cpp \ +DecimateOp.cpp \ +Deme.cpp \ +DemeAlloc.cpp \ +EvaluationOp.cpp \ +EvaluationMultipleOp.cpp \ +Evolver.cpp \ +Exception.cpp \ +Fitness.cpp \ +FitnessSimple.cpp \ +FitnessSimpleMin.cpp \ +FitnessMultiObj.cpp \ +FitnessMultiObjMin.cpp \ +GenerationalOp.cpp \ +Genotype.cpp \ +HallOfFame.cpp \ +HierarchicalFairCompetitionOp.cpp \ +IfThenElseOp.cpp \ +Individual.cpp \ +IndividualAlloc.cpp \ +IndividualBag.cpp \ +IndividualSizeFrequencyStatsOp.cpp \ +InitializationOp.cpp \ +InternalException.cpp \ +InvalidateFitnessOp.cpp \ +IOException.cpp \ +Logger.cpp \ +LoggerXML.cpp \ +Map.cpp \ +Matrix.cpp \ +MigrationOp.cpp \ +MigrationRandomRingOp.cpp \ +MilestoneReadOp.cpp \ +MilestoneWriteOp.cpp \ +MuCommaLambdaOp.cpp \ +MuPlusLambdaOp.cpp \ +MutationOp.cpp \ +NamedObject.cpp \ +NPGA2Op.cpp \ +NSGA2Op.cpp \ +Object.cpp \ +ObjectException.cpp \ +Operator.cpp \ +OversizeOp.cpp \ +ParetoFrontHOF.cpp \ +ParetoFrontCalculateOp.cpp \ +RandomShuffleDemeOp.cpp \ +Randomizer.cpp \ +Register.cpp \ +RegisterReadOp.cpp \ +ReplacementStrategyOp.cpp \ +RunTimeException.cpp \ +SelectionOp.cpp \ +SelectParsimonyTournOp.cpp \ +SelectRandomOp.cpp \ +SelectRouletteOp.cpp \ +SelectTournamentOp.cpp \ +StatsCalculateOp.cpp \ +StatsCalcFitnessMultiObjOp.cpp \ +StatsCalcFitnessSimpleOp.cpp \ +Stats.cpp \ +SteadyStateOp.cpp \ +System.cpp \ +TargetedException.cpp \ +TerminationOp.cpp \ +TermMaxEvalsOp.cpp \ +TermMaxFitnessOp.cpp \ +TermMaxGenOp.cpp \ +TermMinFitnessOp.cpp \ +ValidationException.cpp \ +Vector.cpp \ +Vivarium.cpp \ +VivariumAlloc.cpp + +lib_LTLIBRARIES = libbeagle.la +INCLUDES = -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include +libbeagle_la_LIBADD = \ +$(top_srcdir)/PACC/Math/libpacc-math.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la + +libbeagle_la_LDFLAGS = -no-undefined -release 3.0.3 +nodist_libbeagle_la_SOURCES = libbeagle.cpp +#libbeagle_la_SOURCES = $(BEAGLE_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/src/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libbeagle.la: $(libbeagle_la_OBJECTS) $(libbeagle_la_DEPENDENCIES) $(EXTRA_libbeagle_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libbeagle_la_LINK) -rpath $(libdir) $(libbeagle_la_OBJECTS) $(libbeagle_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/Allocator.Plo # am--include-marker +include ./$(DEPDIR)/AssertException.Plo # am--include-marker +include ./$(DEPDIR)/BadCastException.Plo # am--include-marker +include ./$(DEPDIR)/BreederNode.Plo # am--include-marker +include ./$(DEPDIR)/BreederOp.Plo # am--include-marker +include ./$(DEPDIR)/Component.Plo # am--include-marker +include ./$(DEPDIR)/ConfigurationDumper.Plo # am--include-marker +include ./$(DEPDIR)/Container.Plo # am--include-marker +include ./$(DEPDIR)/ContainerAllocator.Plo # am--include-marker +include ./$(DEPDIR)/Context.Plo # am--include-marker +include ./$(DEPDIR)/CrossoverOp.Plo # am--include-marker +include ./$(DEPDIR)/DecimateOp.Plo # am--include-marker +include ./$(DEPDIR)/Deme.Plo # am--include-marker +include ./$(DEPDIR)/DemeAlloc.Plo # am--include-marker +include ./$(DEPDIR)/EvaluationMultipleOp.Plo # am--include-marker +include ./$(DEPDIR)/EvaluationOp.Plo # am--include-marker +include ./$(DEPDIR)/Evolver.Plo # am--include-marker +include ./$(DEPDIR)/Exception.Plo # am--include-marker +include ./$(DEPDIR)/Fitness.Plo # am--include-marker +include ./$(DEPDIR)/FitnessMultiObj.Plo # am--include-marker +include ./$(DEPDIR)/FitnessMultiObjMin.Plo # am--include-marker +include ./$(DEPDIR)/FitnessSimple.Plo # am--include-marker +include ./$(DEPDIR)/FitnessSimpleMin.Plo # am--include-marker +include ./$(DEPDIR)/GenerationalOp.Plo # am--include-marker +include ./$(DEPDIR)/Genotype.Plo # am--include-marker +include ./$(DEPDIR)/HallOfFame.Plo # am--include-marker +include ./$(DEPDIR)/HierarchicalFairCompetitionOp.Plo # am--include-marker +include ./$(DEPDIR)/IOException.Plo # am--include-marker +include ./$(DEPDIR)/IfThenElseOp.Plo # am--include-marker +include ./$(DEPDIR)/Individual.Plo # am--include-marker +include ./$(DEPDIR)/IndividualAlloc.Plo # am--include-marker +include ./$(DEPDIR)/IndividualBag.Plo # am--include-marker +include ./$(DEPDIR)/IndividualSizeFrequencyStatsOp.Plo # am--include-marker +include ./$(DEPDIR)/InitializationOp.Plo # am--include-marker +include ./$(DEPDIR)/InternalException.Plo # am--include-marker +include ./$(DEPDIR)/InvalidateFitnessOp.Plo # am--include-marker +include ./$(DEPDIR)/Logger.Plo # am--include-marker +include ./$(DEPDIR)/LoggerXML.Plo # am--include-marker +include ./$(DEPDIR)/Map.Plo # am--include-marker +include ./$(DEPDIR)/Matrix.Plo # am--include-marker +include ./$(DEPDIR)/MigrationOp.Plo # am--include-marker +include ./$(DEPDIR)/MigrationRandomRingOp.Plo # am--include-marker +include ./$(DEPDIR)/MilestoneReadOp.Plo # am--include-marker +include ./$(DEPDIR)/MilestoneWriteOp.Plo # am--include-marker +include ./$(DEPDIR)/MuCommaLambdaOp.Plo # am--include-marker +include ./$(DEPDIR)/MuPlusLambdaOp.Plo # am--include-marker +include ./$(DEPDIR)/MutationOp.Plo # am--include-marker +include ./$(DEPDIR)/NPGA2Op.Plo # am--include-marker +include ./$(DEPDIR)/NSGA2Op.Plo # am--include-marker +include ./$(DEPDIR)/NamedObject.Plo # am--include-marker +include ./$(DEPDIR)/Object.Plo # am--include-marker +include ./$(DEPDIR)/ObjectException.Plo # am--include-marker +include ./$(DEPDIR)/Operator.Plo # am--include-marker +include ./$(DEPDIR)/OversizeOp.Plo # am--include-marker +include ./$(DEPDIR)/ParetoFrontCalculateOp.Plo # am--include-marker +include ./$(DEPDIR)/ParetoFrontHOF.Plo # am--include-marker +include ./$(DEPDIR)/RandomShuffleDemeOp.Plo # am--include-marker +include ./$(DEPDIR)/Randomizer.Plo # am--include-marker +include ./$(DEPDIR)/Register.Plo # am--include-marker +include ./$(DEPDIR)/RegisterReadOp.Plo # am--include-marker +include ./$(DEPDIR)/ReplacementStrategyOp.Plo # am--include-marker +include ./$(DEPDIR)/RunTimeException.Plo # am--include-marker +include ./$(DEPDIR)/SelectParsimonyTournOp.Plo # am--include-marker +include ./$(DEPDIR)/SelectRandomOp.Plo # am--include-marker +include ./$(DEPDIR)/SelectRouletteOp.Plo # am--include-marker +include ./$(DEPDIR)/SelectTournamentOp.Plo # am--include-marker +include ./$(DEPDIR)/SelectionOp.Plo # am--include-marker +include ./$(DEPDIR)/Stats.Plo # am--include-marker +include ./$(DEPDIR)/StatsCalcFitnessMultiObjOp.Plo # am--include-marker +include ./$(DEPDIR)/StatsCalcFitnessSimpleOp.Plo # am--include-marker +include ./$(DEPDIR)/StatsCalculateOp.Plo # am--include-marker +include ./$(DEPDIR)/SteadyStateOp.Plo # am--include-marker +include ./$(DEPDIR)/System.Plo # am--include-marker +include ./$(DEPDIR)/TargetedException.Plo # am--include-marker +include ./$(DEPDIR)/TermMaxEvalsOp.Plo # am--include-marker +include ./$(DEPDIR)/TermMaxFitnessOp.Plo # am--include-marker +include ./$(DEPDIR)/TermMaxGenOp.Plo # am--include-marker +include ./$(DEPDIR)/TermMinFitnessOp.Plo # am--include-marker +include ./$(DEPDIR)/TerminationOp.Plo # am--include-marker +include ./$(DEPDIR)/ValidationException.Plo # am--include-marker +include ./$(DEPDIR)/Vector.Plo # am--include-marker +include ./$(DEPDIR)/Vivarium.Plo # am--include-marker +include ./$(DEPDIR)/VivariumAlloc.Plo # am--include-marker +include ./$(DEPDIR)/libbeagle.Plo # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(libdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +#clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/Allocator.Plo + -rm -f ./$(DEPDIR)/AssertException.Plo + -rm -f ./$(DEPDIR)/BadCastException.Plo + -rm -f ./$(DEPDIR)/BreederNode.Plo + -rm -f ./$(DEPDIR)/BreederOp.Plo + -rm -f ./$(DEPDIR)/Component.Plo + -rm -f ./$(DEPDIR)/ConfigurationDumper.Plo + -rm -f ./$(DEPDIR)/Container.Plo + -rm -f ./$(DEPDIR)/ContainerAllocator.Plo + -rm -f ./$(DEPDIR)/Context.Plo + -rm -f ./$(DEPDIR)/CrossoverOp.Plo + -rm -f ./$(DEPDIR)/DecimateOp.Plo + -rm -f ./$(DEPDIR)/Deme.Plo + -rm -f ./$(DEPDIR)/DemeAlloc.Plo + -rm -f ./$(DEPDIR)/EvaluationMultipleOp.Plo + -rm -f ./$(DEPDIR)/EvaluationOp.Plo + -rm -f ./$(DEPDIR)/Evolver.Plo + -rm -f ./$(DEPDIR)/Exception.Plo + -rm -f ./$(DEPDIR)/Fitness.Plo + -rm -f ./$(DEPDIR)/FitnessMultiObj.Plo + -rm -f ./$(DEPDIR)/FitnessMultiObjMin.Plo + -rm -f ./$(DEPDIR)/FitnessSimple.Plo + -rm -f ./$(DEPDIR)/FitnessSimpleMin.Plo + -rm -f ./$(DEPDIR)/GenerationalOp.Plo + -rm -f ./$(DEPDIR)/Genotype.Plo + -rm -f ./$(DEPDIR)/HallOfFame.Plo + -rm -f ./$(DEPDIR)/HierarchicalFairCompetitionOp.Plo + -rm -f ./$(DEPDIR)/IOException.Plo + -rm -f ./$(DEPDIR)/IfThenElseOp.Plo + -rm -f ./$(DEPDIR)/Individual.Plo + -rm -f ./$(DEPDIR)/IndividualAlloc.Plo + -rm -f ./$(DEPDIR)/IndividualBag.Plo + -rm -f ./$(DEPDIR)/IndividualSizeFrequencyStatsOp.Plo + -rm -f ./$(DEPDIR)/InitializationOp.Plo + -rm -f ./$(DEPDIR)/InternalException.Plo + -rm -f ./$(DEPDIR)/InvalidateFitnessOp.Plo + -rm -f ./$(DEPDIR)/Logger.Plo + -rm -f ./$(DEPDIR)/LoggerXML.Plo + -rm -f ./$(DEPDIR)/Map.Plo + -rm -f ./$(DEPDIR)/Matrix.Plo + -rm -f ./$(DEPDIR)/MigrationOp.Plo + -rm -f ./$(DEPDIR)/MigrationRandomRingOp.Plo + -rm -f ./$(DEPDIR)/MilestoneReadOp.Plo + -rm -f ./$(DEPDIR)/MilestoneWriteOp.Plo + -rm -f ./$(DEPDIR)/MuCommaLambdaOp.Plo + -rm -f ./$(DEPDIR)/MuPlusLambdaOp.Plo + -rm -f ./$(DEPDIR)/MutationOp.Plo + -rm -f ./$(DEPDIR)/NPGA2Op.Plo + -rm -f ./$(DEPDIR)/NSGA2Op.Plo + -rm -f ./$(DEPDIR)/NamedObject.Plo + -rm -f ./$(DEPDIR)/Object.Plo + -rm -f ./$(DEPDIR)/ObjectException.Plo + -rm -f ./$(DEPDIR)/Operator.Plo + -rm -f ./$(DEPDIR)/OversizeOp.Plo + -rm -f ./$(DEPDIR)/ParetoFrontCalculateOp.Plo + -rm -f ./$(DEPDIR)/ParetoFrontHOF.Plo + -rm -f ./$(DEPDIR)/RandomShuffleDemeOp.Plo + -rm -f ./$(DEPDIR)/Randomizer.Plo + -rm -f ./$(DEPDIR)/Register.Plo + -rm -f ./$(DEPDIR)/RegisterReadOp.Plo + -rm -f ./$(DEPDIR)/ReplacementStrategyOp.Plo + -rm -f ./$(DEPDIR)/RunTimeException.Plo + -rm -f ./$(DEPDIR)/SelectParsimonyTournOp.Plo + -rm -f ./$(DEPDIR)/SelectRandomOp.Plo + -rm -f ./$(DEPDIR)/SelectRouletteOp.Plo + -rm -f ./$(DEPDIR)/SelectTournamentOp.Plo + -rm -f ./$(DEPDIR)/SelectionOp.Plo + -rm -f ./$(DEPDIR)/Stats.Plo + -rm -f ./$(DEPDIR)/StatsCalcFitnessMultiObjOp.Plo + -rm -f ./$(DEPDIR)/StatsCalcFitnessSimpleOp.Plo + -rm -f ./$(DEPDIR)/StatsCalculateOp.Plo + -rm -f ./$(DEPDIR)/SteadyStateOp.Plo + -rm -f ./$(DEPDIR)/System.Plo + -rm -f ./$(DEPDIR)/TargetedException.Plo + -rm -f ./$(DEPDIR)/TermMaxEvalsOp.Plo + -rm -f ./$(DEPDIR)/TermMaxFitnessOp.Plo + -rm -f ./$(DEPDIR)/TermMaxGenOp.Plo + -rm -f ./$(DEPDIR)/TermMinFitnessOp.Plo + -rm -f ./$(DEPDIR)/TerminationOp.Plo + -rm -f ./$(DEPDIR)/ValidationException.Plo + -rm -f ./$(DEPDIR)/Vector.Plo + -rm -f ./$(DEPDIR)/Vivarium.Plo + -rm -f ./$(DEPDIR)/VivariumAlloc.Plo + -rm -f ./$(DEPDIR)/libbeagle.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/Allocator.Plo + -rm -f ./$(DEPDIR)/AssertException.Plo + -rm -f ./$(DEPDIR)/BadCastException.Plo + -rm -f ./$(DEPDIR)/BreederNode.Plo + -rm -f ./$(DEPDIR)/BreederOp.Plo + -rm -f ./$(DEPDIR)/Component.Plo + -rm -f ./$(DEPDIR)/ConfigurationDumper.Plo + -rm -f ./$(DEPDIR)/Container.Plo + -rm -f ./$(DEPDIR)/ContainerAllocator.Plo + -rm -f ./$(DEPDIR)/Context.Plo + -rm -f ./$(DEPDIR)/CrossoverOp.Plo + -rm -f ./$(DEPDIR)/DecimateOp.Plo + -rm -f ./$(DEPDIR)/Deme.Plo + -rm -f ./$(DEPDIR)/DemeAlloc.Plo + -rm -f ./$(DEPDIR)/EvaluationMultipleOp.Plo + -rm -f ./$(DEPDIR)/EvaluationOp.Plo + -rm -f ./$(DEPDIR)/Evolver.Plo + -rm -f ./$(DEPDIR)/Exception.Plo + -rm -f ./$(DEPDIR)/Fitness.Plo + -rm -f ./$(DEPDIR)/FitnessMultiObj.Plo + -rm -f ./$(DEPDIR)/FitnessMultiObjMin.Plo + -rm -f ./$(DEPDIR)/FitnessSimple.Plo + -rm -f ./$(DEPDIR)/FitnessSimpleMin.Plo + -rm -f ./$(DEPDIR)/GenerationalOp.Plo + -rm -f ./$(DEPDIR)/Genotype.Plo + -rm -f ./$(DEPDIR)/HallOfFame.Plo + -rm -f ./$(DEPDIR)/HierarchicalFairCompetitionOp.Plo + -rm -f ./$(DEPDIR)/IOException.Plo + -rm -f ./$(DEPDIR)/IfThenElseOp.Plo + -rm -f ./$(DEPDIR)/Individual.Plo + -rm -f ./$(DEPDIR)/IndividualAlloc.Plo + -rm -f ./$(DEPDIR)/IndividualBag.Plo + -rm -f ./$(DEPDIR)/IndividualSizeFrequencyStatsOp.Plo + -rm -f ./$(DEPDIR)/InitializationOp.Plo + -rm -f ./$(DEPDIR)/InternalException.Plo + -rm -f ./$(DEPDIR)/InvalidateFitnessOp.Plo + -rm -f ./$(DEPDIR)/Logger.Plo + -rm -f ./$(DEPDIR)/LoggerXML.Plo + -rm -f ./$(DEPDIR)/Map.Plo + -rm -f ./$(DEPDIR)/Matrix.Plo + -rm -f ./$(DEPDIR)/MigrationOp.Plo + -rm -f ./$(DEPDIR)/MigrationRandomRingOp.Plo + -rm -f ./$(DEPDIR)/MilestoneReadOp.Plo + -rm -f ./$(DEPDIR)/MilestoneWriteOp.Plo + -rm -f ./$(DEPDIR)/MuCommaLambdaOp.Plo + -rm -f ./$(DEPDIR)/MuPlusLambdaOp.Plo + -rm -f ./$(DEPDIR)/MutationOp.Plo + -rm -f ./$(DEPDIR)/NPGA2Op.Plo + -rm -f ./$(DEPDIR)/NSGA2Op.Plo + -rm -f ./$(DEPDIR)/NamedObject.Plo + -rm -f ./$(DEPDIR)/Object.Plo + -rm -f ./$(DEPDIR)/ObjectException.Plo + -rm -f ./$(DEPDIR)/Operator.Plo + -rm -f ./$(DEPDIR)/OversizeOp.Plo + -rm -f ./$(DEPDIR)/ParetoFrontCalculateOp.Plo + -rm -f ./$(DEPDIR)/ParetoFrontHOF.Plo + -rm -f ./$(DEPDIR)/RandomShuffleDemeOp.Plo + -rm -f ./$(DEPDIR)/Randomizer.Plo + -rm -f ./$(DEPDIR)/Register.Plo + -rm -f ./$(DEPDIR)/RegisterReadOp.Plo + -rm -f ./$(DEPDIR)/ReplacementStrategyOp.Plo + -rm -f ./$(DEPDIR)/RunTimeException.Plo + -rm -f ./$(DEPDIR)/SelectParsimonyTournOp.Plo + -rm -f ./$(DEPDIR)/SelectRandomOp.Plo + -rm -f ./$(DEPDIR)/SelectRouletteOp.Plo + -rm -f ./$(DEPDIR)/SelectTournamentOp.Plo + -rm -f ./$(DEPDIR)/SelectionOp.Plo + -rm -f ./$(DEPDIR)/Stats.Plo + -rm -f ./$(DEPDIR)/StatsCalcFitnessMultiObjOp.Plo + -rm -f ./$(DEPDIR)/StatsCalcFitnessSimpleOp.Plo + -rm -f ./$(DEPDIR)/StatsCalculateOp.Plo + -rm -f ./$(DEPDIR)/SteadyStateOp.Plo + -rm -f ./$(DEPDIR)/System.Plo + -rm -f ./$(DEPDIR)/TargetedException.Plo + -rm -f ./$(DEPDIR)/TermMaxEvalsOp.Plo + -rm -f ./$(DEPDIR)/TermMaxFitnessOp.Plo + -rm -f ./$(DEPDIR)/TermMaxGenOp.Plo + -rm -f ./$(DEPDIR)/TermMinFitnessOp.Plo + -rm -f ./$(DEPDIR)/TerminationOp.Plo + -rm -f ./$(DEPDIR)/ValidationException.Plo + -rm -f ./$(DEPDIR)/Vector.Plo + -rm -f ./$(DEPDIR)/Vivarium.Plo + -rm -f ./$(DEPDIR)/VivariumAlloc.Plo + -rm -f ./$(DEPDIR)/libbeagle.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES + +.PRECIOUS: Makefile + +libbeagle.cpp: + rm -f libbeagle.cpp + echo "// Generated automatically by make" > libbeagle.cpp + echo >> libbeagle.cpp + echo $(BEAGLE_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libbeagle.cpp + +clean-generic: + rm -f libbeagle.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/src/Makefile.am b/lib/beagle-3.0.3/beagle/src/Makefile.am new file mode 100644 index 0000000..5163c3d --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Makefile.am @@ -0,0 +1,105 @@ +BEAGLE_SRC_VAR = \ +Allocator.cpp \ +AssertException.cpp \ +BadCastException.cpp \ +BreederNode.cpp \ +BreederOp.cpp \ +Component.cpp \ +ConfigurationDumper.cpp \ +Container.cpp \ +ContainerAllocator.cpp \ +Context.cpp \ +CrossoverOp.cpp \ +DecimateOp.cpp \ +Deme.cpp \ +DemeAlloc.cpp \ +EvaluationOp.cpp \ +EvaluationMultipleOp.cpp \ +Evolver.cpp \ +Exception.cpp \ +Fitness.cpp \ +FitnessSimple.cpp \ +FitnessSimpleMin.cpp \ +FitnessMultiObj.cpp \ +FitnessMultiObjMin.cpp \ +GenerationalOp.cpp \ +Genotype.cpp \ +HallOfFame.cpp \ +HierarchicalFairCompetitionOp.cpp \ +IfThenElseOp.cpp \ +Individual.cpp \ +IndividualAlloc.cpp \ +IndividualBag.cpp \ +IndividualSizeFrequencyStatsOp.cpp \ +InitializationOp.cpp \ +InternalException.cpp \ +InvalidateFitnessOp.cpp \ +IOException.cpp \ +Logger.cpp \ +LoggerXML.cpp \ +Map.cpp \ +Matrix.cpp \ +MigrationOp.cpp \ +MigrationRandomRingOp.cpp \ +MilestoneReadOp.cpp \ +MilestoneWriteOp.cpp \ +MuCommaLambdaOp.cpp \ +MuPlusLambdaOp.cpp \ +MutationOp.cpp \ +NamedObject.cpp \ +NPGA2Op.cpp \ +NSGA2Op.cpp \ +Object.cpp \ +ObjectException.cpp \ +Operator.cpp \ +OversizeOp.cpp \ +ParetoFrontHOF.cpp \ +ParetoFrontCalculateOp.cpp \ +RandomShuffleDemeOp.cpp \ +Randomizer.cpp \ +Register.cpp \ +RegisterReadOp.cpp \ +ReplacementStrategyOp.cpp \ +RunTimeException.cpp \ +SelectionOp.cpp \ +SelectParsimonyTournOp.cpp \ +SelectRandomOp.cpp \ +SelectRouletteOp.cpp \ +SelectTournamentOp.cpp \ +StatsCalculateOp.cpp \ +StatsCalcFitnessMultiObjOp.cpp \ +StatsCalcFitnessSimpleOp.cpp \ +Stats.cpp \ +SteadyStateOp.cpp \ +System.cpp \ +TargetedException.cpp \ +TerminationOp.cpp \ +TermMaxEvalsOp.cpp \ +TermMaxFitnessOp.cpp \ +TermMaxGenOp.cpp \ +TermMinFitnessOp.cpp \ +ValidationException.cpp \ +Vector.cpp \ +Vivarium.cpp \ +VivariumAlloc.cpp +lib_LTLIBRARIES = libbeagle.la +INCLUDES = -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include +libbeagle_la_LIBADD = \ +$(top_srcdir)/PACC/Math/libpacc-math.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la +libbeagle_la_LDFLAGS = -no-undefined -release @VERSION@ +if FAST_COMPILATION +libbeagle.cpp: + rm -f libbeagle.cpp + echo "// Generated automatically by make" > libbeagle.cpp + echo >> libbeagle.cpp + echo $(BEAGLE_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libbeagle.cpp + +clean-generic: + rm -f libbeagle.cpp + +nodist_libbeagle_la_SOURCES = libbeagle.cpp +else +libbeagle_la_SOURCES = $(BEAGLE_SRC_VAR) +endif diff --git a/lib/beagle-3.0.3/beagle/src/Makefile.in b/lib/beagle-3.0.3/beagle/src/Makefile.in new file mode 100644 index 0000000..6f7d282 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Makefile.in @@ -0,0 +1,1149 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = beagle/src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libbeagle_la_DEPENDENCIES = $(top_srcdir)/PACC/Math/libpacc-math.la \ + $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la +am__libbeagle_la_SOURCES_DIST = Allocator.cpp AssertException.cpp \ + BadCastException.cpp BreederNode.cpp BreederOp.cpp \ + Component.cpp ConfigurationDumper.cpp Container.cpp \ + ContainerAllocator.cpp Context.cpp CrossoverOp.cpp \ + DecimateOp.cpp Deme.cpp DemeAlloc.cpp EvaluationOp.cpp \ + EvaluationMultipleOp.cpp Evolver.cpp Exception.cpp Fitness.cpp \ + FitnessSimple.cpp FitnessSimpleMin.cpp FitnessMultiObj.cpp \ + FitnessMultiObjMin.cpp GenerationalOp.cpp Genotype.cpp \ + HallOfFame.cpp HierarchicalFairCompetitionOp.cpp \ + IfThenElseOp.cpp Individual.cpp IndividualAlloc.cpp \ + IndividualBag.cpp IndividualSizeFrequencyStatsOp.cpp \ + InitializationOp.cpp InternalException.cpp \ + InvalidateFitnessOp.cpp IOException.cpp Logger.cpp \ + LoggerXML.cpp Map.cpp Matrix.cpp MigrationOp.cpp \ + MigrationRandomRingOp.cpp MilestoneReadOp.cpp \ + MilestoneWriteOp.cpp MuCommaLambdaOp.cpp MuPlusLambdaOp.cpp \ + MutationOp.cpp NamedObject.cpp NPGA2Op.cpp NSGA2Op.cpp \ + Object.cpp ObjectException.cpp Operator.cpp OversizeOp.cpp \ + ParetoFrontHOF.cpp ParetoFrontCalculateOp.cpp \ + RandomShuffleDemeOp.cpp Randomizer.cpp Register.cpp \ + RegisterReadOp.cpp ReplacementStrategyOp.cpp \ + RunTimeException.cpp SelectionOp.cpp \ + SelectParsimonyTournOp.cpp SelectRandomOp.cpp \ + SelectRouletteOp.cpp SelectTournamentOp.cpp \ + StatsCalculateOp.cpp StatsCalcFitnessMultiObjOp.cpp \ + StatsCalcFitnessSimpleOp.cpp Stats.cpp SteadyStateOp.cpp \ + System.cpp TargetedException.cpp TerminationOp.cpp \ + TermMaxEvalsOp.cpp TermMaxFitnessOp.cpp TermMaxGenOp.cpp \ + TermMinFitnessOp.cpp ValidationException.cpp Vector.cpp \ + Vivarium.cpp VivariumAlloc.cpp +am__objects_1 = Allocator.lo AssertException.lo BadCastException.lo \ + BreederNode.lo BreederOp.lo Component.lo \ + ConfigurationDumper.lo Container.lo ContainerAllocator.lo \ + Context.lo CrossoverOp.lo DecimateOp.lo Deme.lo DemeAlloc.lo \ + EvaluationOp.lo EvaluationMultipleOp.lo Evolver.lo \ + Exception.lo Fitness.lo FitnessSimple.lo FitnessSimpleMin.lo \ + FitnessMultiObj.lo FitnessMultiObjMin.lo GenerationalOp.lo \ + Genotype.lo HallOfFame.lo HierarchicalFairCompetitionOp.lo \ + IfThenElseOp.lo Individual.lo IndividualAlloc.lo \ + IndividualBag.lo IndividualSizeFrequencyStatsOp.lo \ + InitializationOp.lo InternalException.lo \ + InvalidateFitnessOp.lo IOException.lo Logger.lo LoggerXML.lo \ + Map.lo Matrix.lo MigrationOp.lo MigrationRandomRingOp.lo \ + MilestoneReadOp.lo MilestoneWriteOp.lo MuCommaLambdaOp.lo \ + MuPlusLambdaOp.lo MutationOp.lo NamedObject.lo NPGA2Op.lo \ + NSGA2Op.lo Object.lo ObjectException.lo Operator.lo \ + OversizeOp.lo ParetoFrontHOF.lo ParetoFrontCalculateOp.lo \ + RandomShuffleDemeOp.lo Randomizer.lo Register.lo \ + RegisterReadOp.lo ReplacementStrategyOp.lo RunTimeException.lo \ + SelectionOp.lo SelectParsimonyTournOp.lo SelectRandomOp.lo \ + SelectRouletteOp.lo SelectTournamentOp.lo StatsCalculateOp.lo \ + StatsCalcFitnessMultiObjOp.lo StatsCalcFitnessSimpleOp.lo \ + Stats.lo SteadyStateOp.lo System.lo TargetedException.lo \ + TerminationOp.lo TermMaxEvalsOp.lo TermMaxFitnessOp.lo \ + TermMaxGenOp.lo TermMinFitnessOp.lo ValidationException.lo \ + Vector.lo Vivarium.lo VivariumAlloc.lo +@FAST_COMPILATION_FALSE@am_libbeagle_la_OBJECTS = $(am__objects_1) +@FAST_COMPILATION_TRUE@nodist_libbeagle_la_OBJECTS = libbeagle.lo +libbeagle_la_OBJECTS = $(am_libbeagle_la_OBJECTS) \ + $(nodist_libbeagle_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libbeagle_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(libbeagle_la_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/Allocator.Plo \ + ./$(DEPDIR)/AssertException.Plo \ + ./$(DEPDIR)/BadCastException.Plo ./$(DEPDIR)/BreederNode.Plo \ + ./$(DEPDIR)/BreederOp.Plo ./$(DEPDIR)/Component.Plo \ + ./$(DEPDIR)/ConfigurationDumper.Plo ./$(DEPDIR)/Container.Plo \ + ./$(DEPDIR)/ContainerAllocator.Plo ./$(DEPDIR)/Context.Plo \ + ./$(DEPDIR)/CrossoverOp.Plo ./$(DEPDIR)/DecimateOp.Plo \ + ./$(DEPDIR)/Deme.Plo ./$(DEPDIR)/DemeAlloc.Plo \ + ./$(DEPDIR)/EvaluationMultipleOp.Plo \ + ./$(DEPDIR)/EvaluationOp.Plo ./$(DEPDIR)/Evolver.Plo \ + ./$(DEPDIR)/Exception.Plo ./$(DEPDIR)/Fitness.Plo \ + ./$(DEPDIR)/FitnessMultiObj.Plo \ + ./$(DEPDIR)/FitnessMultiObjMin.Plo \ + ./$(DEPDIR)/FitnessSimple.Plo ./$(DEPDIR)/FitnessSimpleMin.Plo \ + ./$(DEPDIR)/GenerationalOp.Plo ./$(DEPDIR)/Genotype.Plo \ + ./$(DEPDIR)/HallOfFame.Plo \ + ./$(DEPDIR)/HierarchicalFairCompetitionOp.Plo \ + ./$(DEPDIR)/IOException.Plo ./$(DEPDIR)/IfThenElseOp.Plo \ + ./$(DEPDIR)/Individual.Plo ./$(DEPDIR)/IndividualAlloc.Plo \ + ./$(DEPDIR)/IndividualBag.Plo \ + ./$(DEPDIR)/IndividualSizeFrequencyStatsOp.Plo \ + ./$(DEPDIR)/InitializationOp.Plo \ + ./$(DEPDIR)/InternalException.Plo \ + ./$(DEPDIR)/InvalidateFitnessOp.Plo ./$(DEPDIR)/Logger.Plo \ + ./$(DEPDIR)/LoggerXML.Plo ./$(DEPDIR)/Map.Plo \ + ./$(DEPDIR)/Matrix.Plo ./$(DEPDIR)/MigrationOp.Plo \ + ./$(DEPDIR)/MigrationRandomRingOp.Plo \ + ./$(DEPDIR)/MilestoneReadOp.Plo \ + ./$(DEPDIR)/MilestoneWriteOp.Plo \ + ./$(DEPDIR)/MuCommaLambdaOp.Plo ./$(DEPDIR)/MuPlusLambdaOp.Plo \ + ./$(DEPDIR)/MutationOp.Plo ./$(DEPDIR)/NPGA2Op.Plo \ + ./$(DEPDIR)/NSGA2Op.Plo ./$(DEPDIR)/NamedObject.Plo \ + ./$(DEPDIR)/Object.Plo ./$(DEPDIR)/ObjectException.Plo \ + ./$(DEPDIR)/Operator.Plo ./$(DEPDIR)/OversizeOp.Plo \ + ./$(DEPDIR)/ParetoFrontCalculateOp.Plo \ + ./$(DEPDIR)/ParetoFrontHOF.Plo \ + ./$(DEPDIR)/RandomShuffleDemeOp.Plo ./$(DEPDIR)/Randomizer.Plo \ + ./$(DEPDIR)/Register.Plo ./$(DEPDIR)/RegisterReadOp.Plo \ + ./$(DEPDIR)/ReplacementStrategyOp.Plo \ + ./$(DEPDIR)/RunTimeException.Plo \ + ./$(DEPDIR)/SelectParsimonyTournOp.Plo \ + ./$(DEPDIR)/SelectRandomOp.Plo \ + ./$(DEPDIR)/SelectRouletteOp.Plo \ + ./$(DEPDIR)/SelectTournamentOp.Plo ./$(DEPDIR)/SelectionOp.Plo \ + ./$(DEPDIR)/Stats.Plo \ + ./$(DEPDIR)/StatsCalcFitnessMultiObjOp.Plo \ + ./$(DEPDIR)/StatsCalcFitnessSimpleOp.Plo \ + ./$(DEPDIR)/StatsCalculateOp.Plo ./$(DEPDIR)/SteadyStateOp.Plo \ + ./$(DEPDIR)/System.Plo ./$(DEPDIR)/TargetedException.Plo \ + ./$(DEPDIR)/TermMaxEvalsOp.Plo \ + ./$(DEPDIR)/TermMaxFitnessOp.Plo ./$(DEPDIR)/TermMaxGenOp.Plo \ + ./$(DEPDIR)/TermMinFitnessOp.Plo ./$(DEPDIR)/TerminationOp.Plo \ + ./$(DEPDIR)/ValidationException.Plo ./$(DEPDIR)/Vector.Plo \ + ./$(DEPDIR)/Vivarium.Plo ./$(DEPDIR)/VivariumAlloc.Plo \ + ./$(DEPDIR)/libbeagle.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libbeagle_la_SOURCES) $(nodist_libbeagle_la_SOURCES) +DIST_SOURCES = $(am__libbeagle_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +BEAGLE_SRC_VAR = \ +Allocator.cpp \ +AssertException.cpp \ +BadCastException.cpp \ +BreederNode.cpp \ +BreederOp.cpp \ +Component.cpp \ +ConfigurationDumper.cpp \ +Container.cpp \ +ContainerAllocator.cpp \ +Context.cpp \ +CrossoverOp.cpp \ +DecimateOp.cpp \ +Deme.cpp \ +DemeAlloc.cpp \ +EvaluationOp.cpp \ +EvaluationMultipleOp.cpp \ +Evolver.cpp \ +Exception.cpp \ +Fitness.cpp \ +FitnessSimple.cpp \ +FitnessSimpleMin.cpp \ +FitnessMultiObj.cpp \ +FitnessMultiObjMin.cpp \ +GenerationalOp.cpp \ +Genotype.cpp \ +HallOfFame.cpp \ +HierarchicalFairCompetitionOp.cpp \ +IfThenElseOp.cpp \ +Individual.cpp \ +IndividualAlloc.cpp \ +IndividualBag.cpp \ +IndividualSizeFrequencyStatsOp.cpp \ +InitializationOp.cpp \ +InternalException.cpp \ +InvalidateFitnessOp.cpp \ +IOException.cpp \ +Logger.cpp \ +LoggerXML.cpp \ +Map.cpp \ +Matrix.cpp \ +MigrationOp.cpp \ +MigrationRandomRingOp.cpp \ +MilestoneReadOp.cpp \ +MilestoneWriteOp.cpp \ +MuCommaLambdaOp.cpp \ +MuPlusLambdaOp.cpp \ +MutationOp.cpp \ +NamedObject.cpp \ +NPGA2Op.cpp \ +NSGA2Op.cpp \ +Object.cpp \ +ObjectException.cpp \ +Operator.cpp \ +OversizeOp.cpp \ +ParetoFrontHOF.cpp \ +ParetoFrontCalculateOp.cpp \ +RandomShuffleDemeOp.cpp \ +Randomizer.cpp \ +Register.cpp \ +RegisterReadOp.cpp \ +ReplacementStrategyOp.cpp \ +RunTimeException.cpp \ +SelectionOp.cpp \ +SelectParsimonyTournOp.cpp \ +SelectRandomOp.cpp \ +SelectRouletteOp.cpp \ +SelectTournamentOp.cpp \ +StatsCalculateOp.cpp \ +StatsCalcFitnessMultiObjOp.cpp \ +StatsCalcFitnessSimpleOp.cpp \ +Stats.cpp \ +SteadyStateOp.cpp \ +System.cpp \ +TargetedException.cpp \ +TerminationOp.cpp \ +TermMaxEvalsOp.cpp \ +TermMaxFitnessOp.cpp \ +TermMaxGenOp.cpp \ +TermMinFitnessOp.cpp \ +ValidationException.cpp \ +Vector.cpp \ +Vivarium.cpp \ +VivariumAlloc.cpp + +lib_LTLIBRARIES = libbeagle.la +INCLUDES = -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include +libbeagle_la_LIBADD = \ +$(top_srcdir)/PACC/Math/libpacc-math.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la + +libbeagle_la_LDFLAGS = -no-undefined -release @VERSION@ +@FAST_COMPILATION_TRUE@nodist_libbeagle_la_SOURCES = libbeagle.cpp +@FAST_COMPILATION_FALSE@libbeagle_la_SOURCES = $(BEAGLE_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu beagle/src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu beagle/src/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ + } + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libbeagle.la: $(libbeagle_la_OBJECTS) $(libbeagle_la_DEPENDENCIES) $(EXTRA_libbeagle_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libbeagle_la_LINK) -rpath $(libdir) $(libbeagle_la_OBJECTS) $(libbeagle_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Allocator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AssertException.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BadCastException.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BreederNode.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BreederOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Component.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ConfigurationDumper.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Container.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ContainerAllocator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Context.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CrossoverOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DecimateOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Deme.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DemeAlloc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EvaluationMultipleOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EvaluationOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Evolver.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Exception.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Fitness.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FitnessMultiObj.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FitnessMultiObjMin.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FitnessSimple.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FitnessSimpleMin.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GenerationalOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Genotype.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HallOfFame.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HierarchicalFairCompetitionOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IOException.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IfThenElseOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Individual.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IndividualAlloc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IndividualBag.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IndividualSizeFrequencyStatsOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitializationOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InternalException.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InvalidateFitnessOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Logger.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LoggerXML.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Map.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Matrix.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MigrationOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MigrationRandomRingOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MilestoneReadOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MilestoneWriteOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MuCommaLambdaOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MuPlusLambdaOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MutationOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NPGA2Op.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NSGA2Op.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NamedObject.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Object.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ObjectException.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Operator.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OversizeOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ParetoFrontCalculateOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ParetoFrontHOF.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RandomShuffleDemeOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Randomizer.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Register.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RegisterReadOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ReplacementStrategyOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RunTimeException.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SelectParsimonyTournOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SelectRandomOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SelectRouletteOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SelectTournamentOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SelectionOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Stats.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StatsCalcFitnessMultiObjOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StatsCalcFitnessSimpleOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StatsCalculateOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SteadyStateOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/System.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetedException.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TermMaxEvalsOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TermMaxFitnessOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TermMaxGenOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TermMinFitnessOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TerminationOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ValidationException.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Vector.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Vivarium.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/VivariumAlloc.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libbeagle.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: + for dir in "$(DESTDIR)$(libdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +@FAST_COMPILATION_FALSE@clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/Allocator.Plo + -rm -f ./$(DEPDIR)/AssertException.Plo + -rm -f ./$(DEPDIR)/BadCastException.Plo + -rm -f ./$(DEPDIR)/BreederNode.Plo + -rm -f ./$(DEPDIR)/BreederOp.Plo + -rm -f ./$(DEPDIR)/Component.Plo + -rm -f ./$(DEPDIR)/ConfigurationDumper.Plo + -rm -f ./$(DEPDIR)/Container.Plo + -rm -f ./$(DEPDIR)/ContainerAllocator.Plo + -rm -f ./$(DEPDIR)/Context.Plo + -rm -f ./$(DEPDIR)/CrossoverOp.Plo + -rm -f ./$(DEPDIR)/DecimateOp.Plo + -rm -f ./$(DEPDIR)/Deme.Plo + -rm -f ./$(DEPDIR)/DemeAlloc.Plo + -rm -f ./$(DEPDIR)/EvaluationMultipleOp.Plo + -rm -f ./$(DEPDIR)/EvaluationOp.Plo + -rm -f ./$(DEPDIR)/Evolver.Plo + -rm -f ./$(DEPDIR)/Exception.Plo + -rm -f ./$(DEPDIR)/Fitness.Plo + -rm -f ./$(DEPDIR)/FitnessMultiObj.Plo + -rm -f ./$(DEPDIR)/FitnessMultiObjMin.Plo + -rm -f ./$(DEPDIR)/FitnessSimple.Plo + -rm -f ./$(DEPDIR)/FitnessSimpleMin.Plo + -rm -f ./$(DEPDIR)/GenerationalOp.Plo + -rm -f ./$(DEPDIR)/Genotype.Plo + -rm -f ./$(DEPDIR)/HallOfFame.Plo + -rm -f ./$(DEPDIR)/HierarchicalFairCompetitionOp.Plo + -rm -f ./$(DEPDIR)/IOException.Plo + -rm -f ./$(DEPDIR)/IfThenElseOp.Plo + -rm -f ./$(DEPDIR)/Individual.Plo + -rm -f ./$(DEPDIR)/IndividualAlloc.Plo + -rm -f ./$(DEPDIR)/IndividualBag.Plo + -rm -f ./$(DEPDIR)/IndividualSizeFrequencyStatsOp.Plo + -rm -f ./$(DEPDIR)/InitializationOp.Plo + -rm -f ./$(DEPDIR)/InternalException.Plo + -rm -f ./$(DEPDIR)/InvalidateFitnessOp.Plo + -rm -f ./$(DEPDIR)/Logger.Plo + -rm -f ./$(DEPDIR)/LoggerXML.Plo + -rm -f ./$(DEPDIR)/Map.Plo + -rm -f ./$(DEPDIR)/Matrix.Plo + -rm -f ./$(DEPDIR)/MigrationOp.Plo + -rm -f ./$(DEPDIR)/MigrationRandomRingOp.Plo + -rm -f ./$(DEPDIR)/MilestoneReadOp.Plo + -rm -f ./$(DEPDIR)/MilestoneWriteOp.Plo + -rm -f ./$(DEPDIR)/MuCommaLambdaOp.Plo + -rm -f ./$(DEPDIR)/MuPlusLambdaOp.Plo + -rm -f ./$(DEPDIR)/MutationOp.Plo + -rm -f ./$(DEPDIR)/NPGA2Op.Plo + -rm -f ./$(DEPDIR)/NSGA2Op.Plo + -rm -f ./$(DEPDIR)/NamedObject.Plo + -rm -f ./$(DEPDIR)/Object.Plo + -rm -f ./$(DEPDIR)/ObjectException.Plo + -rm -f ./$(DEPDIR)/Operator.Plo + -rm -f ./$(DEPDIR)/OversizeOp.Plo + -rm -f ./$(DEPDIR)/ParetoFrontCalculateOp.Plo + -rm -f ./$(DEPDIR)/ParetoFrontHOF.Plo + -rm -f ./$(DEPDIR)/RandomShuffleDemeOp.Plo + -rm -f ./$(DEPDIR)/Randomizer.Plo + -rm -f ./$(DEPDIR)/Register.Plo + -rm -f ./$(DEPDIR)/RegisterReadOp.Plo + -rm -f ./$(DEPDIR)/ReplacementStrategyOp.Plo + -rm -f ./$(DEPDIR)/RunTimeException.Plo + -rm -f ./$(DEPDIR)/SelectParsimonyTournOp.Plo + -rm -f ./$(DEPDIR)/SelectRandomOp.Plo + -rm -f ./$(DEPDIR)/SelectRouletteOp.Plo + -rm -f ./$(DEPDIR)/SelectTournamentOp.Plo + -rm -f ./$(DEPDIR)/SelectionOp.Plo + -rm -f ./$(DEPDIR)/Stats.Plo + -rm -f ./$(DEPDIR)/StatsCalcFitnessMultiObjOp.Plo + -rm -f ./$(DEPDIR)/StatsCalcFitnessSimpleOp.Plo + -rm -f ./$(DEPDIR)/StatsCalculateOp.Plo + -rm -f ./$(DEPDIR)/SteadyStateOp.Plo + -rm -f ./$(DEPDIR)/System.Plo + -rm -f ./$(DEPDIR)/TargetedException.Plo + -rm -f ./$(DEPDIR)/TermMaxEvalsOp.Plo + -rm -f ./$(DEPDIR)/TermMaxFitnessOp.Plo + -rm -f ./$(DEPDIR)/TermMaxGenOp.Plo + -rm -f ./$(DEPDIR)/TermMinFitnessOp.Plo + -rm -f ./$(DEPDIR)/TerminationOp.Plo + -rm -f ./$(DEPDIR)/ValidationException.Plo + -rm -f ./$(DEPDIR)/Vector.Plo + -rm -f ./$(DEPDIR)/Vivarium.Plo + -rm -f ./$(DEPDIR)/VivariumAlloc.Plo + -rm -f ./$(DEPDIR)/libbeagle.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-libLTLIBRARIES + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/Allocator.Plo + -rm -f ./$(DEPDIR)/AssertException.Plo + -rm -f ./$(DEPDIR)/BadCastException.Plo + -rm -f ./$(DEPDIR)/BreederNode.Plo + -rm -f ./$(DEPDIR)/BreederOp.Plo + -rm -f ./$(DEPDIR)/Component.Plo + -rm -f ./$(DEPDIR)/ConfigurationDumper.Plo + -rm -f ./$(DEPDIR)/Container.Plo + -rm -f ./$(DEPDIR)/ContainerAllocator.Plo + -rm -f ./$(DEPDIR)/Context.Plo + -rm -f ./$(DEPDIR)/CrossoverOp.Plo + -rm -f ./$(DEPDIR)/DecimateOp.Plo + -rm -f ./$(DEPDIR)/Deme.Plo + -rm -f ./$(DEPDIR)/DemeAlloc.Plo + -rm -f ./$(DEPDIR)/EvaluationMultipleOp.Plo + -rm -f ./$(DEPDIR)/EvaluationOp.Plo + -rm -f ./$(DEPDIR)/Evolver.Plo + -rm -f ./$(DEPDIR)/Exception.Plo + -rm -f ./$(DEPDIR)/Fitness.Plo + -rm -f ./$(DEPDIR)/FitnessMultiObj.Plo + -rm -f ./$(DEPDIR)/FitnessMultiObjMin.Plo + -rm -f ./$(DEPDIR)/FitnessSimple.Plo + -rm -f ./$(DEPDIR)/FitnessSimpleMin.Plo + -rm -f ./$(DEPDIR)/GenerationalOp.Plo + -rm -f ./$(DEPDIR)/Genotype.Plo + -rm -f ./$(DEPDIR)/HallOfFame.Plo + -rm -f ./$(DEPDIR)/HierarchicalFairCompetitionOp.Plo + -rm -f ./$(DEPDIR)/IOException.Plo + -rm -f ./$(DEPDIR)/IfThenElseOp.Plo + -rm -f ./$(DEPDIR)/Individual.Plo + -rm -f ./$(DEPDIR)/IndividualAlloc.Plo + -rm -f ./$(DEPDIR)/IndividualBag.Plo + -rm -f ./$(DEPDIR)/IndividualSizeFrequencyStatsOp.Plo + -rm -f ./$(DEPDIR)/InitializationOp.Plo + -rm -f ./$(DEPDIR)/InternalException.Plo + -rm -f ./$(DEPDIR)/InvalidateFitnessOp.Plo + -rm -f ./$(DEPDIR)/Logger.Plo + -rm -f ./$(DEPDIR)/LoggerXML.Plo + -rm -f ./$(DEPDIR)/Map.Plo + -rm -f ./$(DEPDIR)/Matrix.Plo + -rm -f ./$(DEPDIR)/MigrationOp.Plo + -rm -f ./$(DEPDIR)/MigrationRandomRingOp.Plo + -rm -f ./$(DEPDIR)/MilestoneReadOp.Plo + -rm -f ./$(DEPDIR)/MilestoneWriteOp.Plo + -rm -f ./$(DEPDIR)/MuCommaLambdaOp.Plo + -rm -f ./$(DEPDIR)/MuPlusLambdaOp.Plo + -rm -f ./$(DEPDIR)/MutationOp.Plo + -rm -f ./$(DEPDIR)/NPGA2Op.Plo + -rm -f ./$(DEPDIR)/NSGA2Op.Plo + -rm -f ./$(DEPDIR)/NamedObject.Plo + -rm -f ./$(DEPDIR)/Object.Plo + -rm -f ./$(DEPDIR)/ObjectException.Plo + -rm -f ./$(DEPDIR)/Operator.Plo + -rm -f ./$(DEPDIR)/OversizeOp.Plo + -rm -f ./$(DEPDIR)/ParetoFrontCalculateOp.Plo + -rm -f ./$(DEPDIR)/ParetoFrontHOF.Plo + -rm -f ./$(DEPDIR)/RandomShuffleDemeOp.Plo + -rm -f ./$(DEPDIR)/Randomizer.Plo + -rm -f ./$(DEPDIR)/Register.Plo + -rm -f ./$(DEPDIR)/RegisterReadOp.Plo + -rm -f ./$(DEPDIR)/ReplacementStrategyOp.Plo + -rm -f ./$(DEPDIR)/RunTimeException.Plo + -rm -f ./$(DEPDIR)/SelectParsimonyTournOp.Plo + -rm -f ./$(DEPDIR)/SelectRandomOp.Plo + -rm -f ./$(DEPDIR)/SelectRouletteOp.Plo + -rm -f ./$(DEPDIR)/SelectTournamentOp.Plo + -rm -f ./$(DEPDIR)/SelectionOp.Plo + -rm -f ./$(DEPDIR)/Stats.Plo + -rm -f ./$(DEPDIR)/StatsCalcFitnessMultiObjOp.Plo + -rm -f ./$(DEPDIR)/StatsCalcFitnessSimpleOp.Plo + -rm -f ./$(DEPDIR)/StatsCalculateOp.Plo + -rm -f ./$(DEPDIR)/SteadyStateOp.Plo + -rm -f ./$(DEPDIR)/System.Plo + -rm -f ./$(DEPDIR)/TargetedException.Plo + -rm -f ./$(DEPDIR)/TermMaxEvalsOp.Plo + -rm -f ./$(DEPDIR)/TermMaxFitnessOp.Plo + -rm -f ./$(DEPDIR)/TermMaxGenOp.Plo + -rm -f ./$(DEPDIR)/TermMinFitnessOp.Plo + -rm -f ./$(DEPDIR)/TerminationOp.Plo + -rm -f ./$(DEPDIR)/ValidationException.Plo + -rm -f ./$(DEPDIR)/Vector.Plo + -rm -f ./$(DEPDIR)/Vivarium.Plo + -rm -f ./$(DEPDIR)/VivariumAlloc.Plo + -rm -f ./$(DEPDIR)/libbeagle.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libLTLIBRARIES + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-libLTLIBRARIES install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES + +.PRECIOUS: Makefile + +@FAST_COMPILATION_TRUE@libbeagle.cpp: +@FAST_COMPILATION_TRUE@ rm -f libbeagle.cpp +@FAST_COMPILATION_TRUE@ echo "// Generated automatically by make" > libbeagle.cpp +@FAST_COMPILATION_TRUE@ echo >> libbeagle.cpp +@FAST_COMPILATION_TRUE@ echo $(BEAGLE_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libbeagle.cpp + +@FAST_COMPILATION_TRUE@clean-generic: +@FAST_COMPILATION_TRUE@ rm -f libbeagle.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/beagle/src/Map.cpp b/lib/beagle-3.0.3/beagle/src/Map.cpp new file mode 100644 index 0000000..377cd00 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Map.cpp @@ -0,0 +1,143 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/Map.cpp + * \brief Source code of class Map. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Compare equality of two maps. + * \param inRightObj Map to compare to this. + * \return True if maps are equals, false if not. + * \throw Beagle::BadCastException If compared maps Objects are not of the same type. + * \par Note: + * Returns true if the range [ 0, min(end(),inRightObj.end()) ) + * are identical when compared element-by-element, and otherwise returns false. + */ +bool Map::isEqual(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + const Map& lRightMap = castObjectT(inRightObj); + Map::const_iterator lFirstIter1 = begin(); + unsigned int lSizeCompared = ( (size()(inRightObj); + Map::const_iterator lFirstIter1 = begin(); + unsigned int lSizeCompared = ( (size()getType()!=PACC::XML::eData) || (inIter->getValue()!="Map")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Entry")) { + string lKey = lChild->getAttribute("key").c_str(); + if(lKey.empty()) + throw Beagle_IOExceptionNodeM(*lChild, "no key attribute for actual entry!"); + if(find(lKey) == end()) { + std::ostringstream lOSS; + lOSS << "entry \"" << lKey << "\" doesn't exist in current map!" << std::flush; + throw Beagle_IOExceptionNodeM(*lChild, lOSS.str().c_str()); + } + PACC::XML::ConstIterator lChild2 = lChild->getFirstChild(); + (*this)[lKey]->read(lChild2); + } + } + Beagle_StackTraceEndM("void Map::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Write a map into a XML streamer. + * \param ioStreamer XML streamer to read the Map to. + * \param inIndent Whether XML output should be indented. + */ +void Map::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Map", inIndent); + for(const_iterator lIter = begin(); lIter != end(); ++lIter) { + ioStreamer.openTag("Entry", inIndent); + ioStreamer.insertAttribute("key", lIter->first); + lIter->second->write(ioStreamer, inIndent); + ioStreamer.closeTag(); + } + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void Map::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/Matrix.cpp b/lib/beagle-3.0.3/beagle/src/Matrix.cpp new file mode 100644 index 0000000..01c2091 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Matrix.cpp @@ -0,0 +1,199 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/Matrix.cpp + * \brief Source code of class Matrix. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.20.2.2 $ + * $Date: 2007/08/21 02:07:24 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a Beagle Matrix. + * \param inRows Number of rows in the matrix. + * \param inCols Number of colums in the matrix. + * \param inValue Value of matrix elements. + */ +Matrix::Matrix(unsigned int inRows, + unsigned int inCols, + double inValue) : + Beagle::Object(), + PACC::Matrix(inRows,inCols,inValue) +{ } + + +/*! + * \brief Construct a Beagle matrix from a PACC matrix. + * \param inMatrix PACC matrix model. + */ +Matrix::Matrix(const PACC::Matrix& inMatrix) : + Beagle::Object(), + PACC::Matrix(inMatrix) +{ } + + +/*! + * \brief Construct a Beagle matrix from a PACC vector. + * \param inVector PACC vector model. + */ +Matrix::Matrix(const PACC::Vector& inVector) : + Beagle::Object(), + PACC::Matrix(inVector) +{ } + + +/*! + * \brief Construct a Beagle matrix from a Beagle vector. + * \param inVector Beagle vector model. + */ +Matrix::Matrix(const Beagle::Vector& inVector) : + Beagle::Object(), + PACC::Matrix(inVector) +{ } + + +/*! + * \brief Operator=, copy a PACC matrix into a Beagle matrix. + * \param inMatrix PACC matrix to copy. + * \return Reference to actual matrix. + */ +Matrix& Matrix::operator=(const PACC::Matrix& inMatrix) +{ + Beagle_StackTraceBeginM(); + PACC::Matrix::operator=(inMatrix); + return *this; + Beagle_StackTraceEndM("Matrix& Matrix::operator=(const PACC::Matrix& inMatrix)"); +} + + +/*! + * \brief Operator=, copy a PACC vector into a Beagle matrix. + * \param inVector PACC vector to copy. + * \return Reference to actual matrix. + */ +Matrix& Matrix::operator=(const PACC::Vector& inVector) +{ + Beagle_StackTraceBeginM(); + PACC::Matrix::operator=(inVector); + return *this; + Beagle_StackTraceEndM("Matrix& Matrix::operator=(const PACC::Vector& inVector)"); +} + + +/*! + * \brief Operator=, copy a Beagle vector into a Beagle matrix. + * \param inVector Beagle vector to copy. + * \return Reference to actual matrix. + */ +Matrix& Matrix::operator=(const Beagle::Vector& inVector) +{ + Beagle_StackTraceBeginM(); + PACC::Matrix::operator=(inVector); + return *this; + Beagle_StackTraceEndM("Matrix& Matrix::operator=(const Beagle::Vector& inVector)"); +} + + +/*! + * \brief Read matrix from a XML subtree. + * \param inIter XML iterator to read the matrix from. + */ +void Matrix::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + resize(0,0); + if(!inIter) return; + if(inIter->getType() != PACC::XML::eString) + throw Beagle_IOExceptionNodeM(*inIter, "expected string to read matrix!"); + std::istringstream lISS(inIter->getValue()); + std::vector< double,BEAGLE_STLALLOCATOR > lTmpVec; + while(lISS.good()) { + double lValue=DBL_MAX; + lISS >> lValue; + if(lValue==DBL_MAX) break; + lTmpVec.push_back(lValue); + int lDelim=lISS.get(); + if((lISS.good()==false) || (lDelim==-1)) break; + if(lDelim==int(';')) { + if((getCols()!=0) && (getCols()!=lTmpVec.size())) { + std::ostringstream lOSS; + lOSS << "Bad number of columns (" << lTmpVec.size() << ") in matrix row " << getRows(); + lOSS << ". Expected " << getCols() << " columns read."; + throw Beagle_IOExceptionMessageM(lOSS.str().c_str()); + } + const unsigned int lLastRow = getRows(); + resize(lLastRow+1, lTmpVec.size()); + for(unsigned int i=0; i(ioSystem.getRegister().getEntry("ec.mig.interval")); + } else { + mMigrationInterval = new UInt(1); + string lLongDescrip = "Interval between each migration, in number of generations. "; + lLongDescrip += "An interval of 0 disables migration."; + Register::Description lIntervalDescrip( + "Interval between migrations", + "UInt", + "1", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ec.mig.interval", mMigrationInterval, lIntervalDescrip); + } + + if(ioSystem.getRegister().isRegistered("ec.mig.size")) { + mNumberMigrants = + castHandleT(ioSystem.getRegister().getEntry("ec.mig.size")); + } else { + mNumberMigrants = new UInt(5); + Register::Description lSizeDescrip( + "Size of each migration", + "UInt", + "5", + "Number of individuals migrating between each deme, at a each migration." + ); + ioSystem.getRegister().addEntry("ec.mig.size", mNumberMigrants, lSizeDescrip); + } + + if(ioSystem.getRegister().isRegistered("ec.pop.size")) { + mPopSize = castHandleT(ioSystem.getRegister().getEntry("ec.pop.size")); + } else { + mPopSize = new UIntArray(1,100); + string lLongDescrip("Number of demes and size of each deme of the population. "); + lLongDescrip += "The format of an UIntArray is S1,S2,...,Sn, where Si is the ith value. "; + lLongDescrip += "The size of the UIntArray is the number of demes present in the "; + lLongDescrip += "vivarium, while each value of the vector is the size of the corresponding "; + lLongDescrip += "deme."; + Register::Description lDescription( + "Vivarium and demes sizes", + "UIntArray", + "100", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ec.pop.size", mPopSize, lDescription); + } + Beagle_StackTraceEndM("void MigrationOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the migration operator on a deme. + * \param ioDeme Deme to migrate. + * \param ioContext Evolutionary context. + */ +void MigrationOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mMigrationInterval==NULL) + throw Beagle_RunTimeExceptionM(string("The migration interval of the migration operator ")+ + string("has not been initialized. It is most likely that ")+ + string("you need to call the migration operator's ")+ + string("initialize() method.")); +#endif // BEAGLE_NDEBUG + unsigned int lMigrationInterval = mMigrationInterval->getWrappedValue(); + if((lMigrationInterval == 0) || (ioContext.getGeneration() == 0)) return; + if((ioContext.getGeneration() % lMigrationInterval) != 0) return; + if(mPopSize->size() < 2) { + Beagle_LogBasicM( + ioContext.getSystem().getLogger(), + "migration", "Beagle::MigrationOp", + string("Warning: Migration can't occur because there are fewer than two demes. Consider")+ + string(" either, removing the migration operator by editing your configuration file, or")+ + string(" adding demes to the vivarium through the register variable 'ec.pop.size'.") + ); + return; + } + unsigned int lNbMigrants = minOf(mNumberMigrants->getWrappedValue(),ioDeme.size()); + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "migration", "Beagle::MigrationOp", + string("Migrating ")+uint2str(lNbMigrants)+ + string(" individuals from the ")+uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + migrate(ioDeme, ioContext, lNbMigrants); + Beagle_StackTraceEndM("void MigrationOp::operate(Deme& ioDeme, Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/MigrationRandomRingOp.cpp b/lib/beagle-3.0.3/beagle/src/MigrationRandomRingOp.cpp new file mode 100644 index 0000000..4f78ce5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/MigrationRandomRingOp.cpp @@ -0,0 +1,109 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/MigrationRandomRingOp.cpp + * \brief Source code of class MigrationRandomRingOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a random ring migration operator, + * \param inName Name of the random ring migration operator, + */ +MigrationRandomRingOp::MigrationRandomRingOp(Beagle::string inName) : + MigrationOp(inName) +{ } + + +/*! + * \brief Migrate randomly choosen individuals of a deme, following a ring topology. + * \param ioDeme Deme to migrate the individuals. + * \param ioContext Evolutionary context. + * \param inNumberMigrants Number of migrants. + */ +void MigrationRandomRingOp::migrate(Deme& ioDeme, Context& ioContext, unsigned int inNumberMigrants) +{ + Beagle_StackTraceBeginM(); + const unsigned int lInIndex = (ioContext.getDemeIndex()==0) ? (ioContext.getVivarium().size()-1) : + (ioContext.getDemeIndex()-1); + Individual::Bag& lInBuffer = ioContext.getVivarium()[lInIndex]->getMigrationBuffer(); + const unsigned int lInMaxIndex = minOf(lInBuffer.size(), inNumberMigrants); + Individual::Bag& lOutBuffer = ioDeme.getMigrationBuffer(); + lOutBuffer.resize(0); + + // For the buffer part that is already initialized. + for(unsigned int i=0; iserialize() + ); + + lOutBuffer.push_back(ioDeme[lMigInd]); + ioDeme[lMigInd] = castHandleT(lInBuffer.back()); + lInBuffer.pop_back(); + } + + // If the buffer size if less than the number of migrants, fill by cloning individuals. + for(unsigned int j=lInMaxIndex; jserialize() + ); + + lOutBuffer.push_back(castHandleT( + ioDeme.getTypeAlloc()->cloneData(*ioDeme[lChoosenIndiv]))); + } + Beagle_StackTraceEndM("void MigrationRandomRingOp::migrate(Deme& ioDeme, Context& ioContext, unsigned int inNumberMigrants)"); +} + + diff --git a/lib/beagle-3.0.3/beagle/src/MilestoneReadOp.cpp b/lib/beagle-3.0.3/beagle/src/MilestoneReadOp.cpp new file mode 100644 index 0000000..491d8dd --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/MilestoneReadOp.cpp @@ -0,0 +1,262 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/MilestoneReadOp.cpp + * \brief Source code of class MilestoneReadOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.19.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +#ifdef BEAGLE_HAVE_LIBZ +#include "gzstream.h" +#endif // BEAGLE_HAVE_LIBZ + +using namespace Beagle; + + +/*! + * \brief Construct a reprise checking operator. + * \param inName Name of the operator. + */ +MilestoneReadOp::MilestoneReadOp(Beagle::string inName) : + Operator(inName), + mMilestoneName(NULL) +{ } + + +/*! + * \brief Initialize the reprise checking operator. + * \param ioSystem System to use to initialize the operator. + */ +void MilestoneReadOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if(ioSystem.getRegister().isRegistered("ms.restart.file")) { + mMilestoneName = + castHandleT(ioSystem.getRegister().getEntry("ms.restart.file")); + } else { + mMilestoneName = new String(""); + string lMessage = "Name of the milestone file from which the evolution should "; + lMessage += "be restarted. An empty string means no restart."; + Register::Description lDescription( + "Milestone restart filename", + "String", + "\"\"", + lMessage + ); + ioSystem.getRegister().addEntry("ms.restart.file", mMilestoneName, lDescription); + } + Beagle_StackTraceEndM("void MilestoneReadOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the read milestone operation. + * \param ioDeme Actual deme of the evolution. + * \param ioContext Context of the evolution. + */ +void MilestoneReadOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(mMilestoneName->getWrappedValue().empty()) return; + readMilestone(mMilestoneName->getWrappedValue(), ioContext); + if(ioContext.getDemeIndex() == (ioContext.getVivarium().size()-1)) { + ioContext.setGeneration(ioContext.getGeneration()+1); + ioContext.setDemeIndex(0); + } + else ioContext.setDemeIndex(ioContext.getDemeIndex()+1); + Beagle_StackTraceEndM("void MilestoneReadOp::operate(Deme& ioDeme, Context& ioContext)"); +} + + +/*! + * \brief Read an evolution milestone. + * \param inFilename Filename of the milestone. + * \param ioContext Context of the evolution. + * \param inCommands Instructions for which sections to parse (see MilestoneReadOp::ParseCommands). + * \throw IOException If a read error occured. + */ +void MilestoneReadOp::readMilestone(Beagle::string inFilename, Context& ioContext, int inCommands) +{ + Beagle_StackTraceBeginM(); + Beagle_LogBasicM( + ioContext.getSystem().getLogger(), + "milestone", "Beagle::MilestoneReadOp", + string("Reading milestone file \"")+ + inFilename+string("\"") + ); + PACC::XML::Document lParser; + try { +#ifdef BEAGLE_HAVE_LIBZ + igzstream lIGZStream(inFilename.c_str()); + if(!lIGZStream) { + throw Beagle_RunTimeExceptionM(string("Error! In MilestoneReadOp::readMilestone(): Could not open milestone file '")+ + inFilename+string("' for reading. Check that the file exists.")); + } + lParser.parse(lIGZStream, inFilename.c_str()); +#else // BEAGLE_HAVE_LIBZ + std::ifstream lIFStream(inFilename.c_str()); + if(!lIFStream) { + throw Beagle_RunTimeExceptionM(string("Error! In MilestoneReadOp::readMilestone(): Could not open milestone file '")+ + inFilename+string("' for reading. Check that the file exists.")); + } + lParser.parse(lIFStream, inFilename.c_str()); +#endif // BEAGLE_HAVE_LIBZ + } catch(IOException& inExcept) { + std::ostringstream lOSS; + lOSS << "the evolution milestone file given is invalid: " << inExcept.what(); + throw Beagle_IOExceptionMessageM(lOSS.str().c_str()); + } + for(PACC::XML::ConstIterator lNode=lParser.getFirstRoot(); lNode; ++lNode) { + if((lNode->getType()==PACC::XML::eData) && (lNode->getValue()=="Beagle")) { + string lGenerationStr = lNode->getAttribute("generation").c_str(); + if(lGenerationStr.empty()==false) ioContext.setGeneration(str2uint(lGenerationStr)); + string lDemeStr = lNode->getAttribute("deme").c_str(); + if(lDemeStr.empty()==false) ioContext.setDemeIndex(str2uint(lDemeStr)); + for(PACC::XML::ConstIterator lChild=lNode->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == PACC::XML::eData) { + // Read milestone part + if(lChild->getValue() == "Milestone") { + if(!(inCommands & eParseMilestone)) { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "milestone", "Beagle::MilestoneReadOp", + "Skipping milestone part of milestone as requested" + ); + } + else { + for(PACC::XML::ConstIterator lChild2=lChild->getFirstChild(); lChild2; ++lChild2) { + if(lChild2->getType() == PACC::XML::eData) { + if(lChild2->getValue() == "Generation") { + if(lChild2->getFirstChild()->getType() != PACC::XML::eString) { + throw Beagle_IOExceptionNodeM(*lChild2, "generation value is not present!"); + } + ioContext.setGeneration(str2uint(lChild2->getFirstChild()->getValue().c_str())); + } + else if(lChild2->getValue() == "Deme") { + if(lChild2->getFirstChild()->getType() != PACC::XML::eString) { + throw Beagle_IOExceptionNodeM(*lChild2, "deme index is not present!"); + } + ioContext.setDemeIndex(str2uint(lChild2->getFirstChild()->getValue().c_str())); + } + } + } + } + } + // Read system part + else if(lChild->getValue() == "System") { + if(!(inCommands & eParseSystem)) { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "milestone", "Beagle::MilestoneReadOp", + "Skipping system part of milestone as requested" + ); + } + else { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "milestone", "Beagle::MilestoneReadOp", + "Reading system part of milestone" + ); + ioContext.getSystemHandle()->read(lChild); + } + } + // Read evolver part + else if(lChild->getValue() == "Evolver") { + Evolver::Handle lEvolver = ioContext.getEvolverHandle(); + if(!(inCommands & eParseEvolver)) { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "milestone", "Beagle::MilestoneReadOp", + "Skipping evolver part of milestone as requested" + ); + } + else if(lEvolver == NULL) { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "milestone", "Beagle::MilestoneReadOp", + "Skipping the evolver part of the milestone because no Evolver was detected in the Context." + ); + } + else { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "milestone", "Beagle::MilestoneReadOp", + "Reading evolver part of milestone" + ); + lEvolver->read(lChild); + } + } + // Read register part + else if(lChild->getValue() == "Register") { + if(!(inCommands & eParseRegister)) { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "milestone", "Beagle::MilestoneReadOp", + "Skipping register part of milestone as requested" + ); + } + else { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "milestone", "Beagle::MilestoneReadOp", + "Reading register part of milestone" + ); + ioContext.getSystem().getRegister().readWithSystem(lChild, ioContext.getSystem()); + } + } + // Read vivarium part + else if(lChild->getValue() == "Vivarium") { + if(!(inCommands & eParseVivarium)) { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "milestone", "Beagle::MilestoneReadOp", + "Skipping vivarium part of milestone as requested" + ); + } + else { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "milestone", "Beagle::MilestoneReadOp", + "Reading population part of milestone" + ); + ioContext.getVivarium().readWithContext(lChild, ioContext); + } + } + } + } + } + } + Beagle_StackTraceEndM("void MilestoneReadOp::readMilestone(string inFilename, Context& ioContext, int inCommands)"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/MilestoneWriteOp.cpp b/lib/beagle-3.0.3/beagle/src/MilestoneWriteOp.cpp new file mode 100644 index 0000000..7dbb3f4 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/MilestoneWriteOp.cpp @@ -0,0 +1,257 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/MilestoneWriteOp.cpp + * \brief Source code of class MilestoneWriteOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.15.2.2 $ + * $Date: 2007/05/11 21:49:00 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include + +#ifdef BEAGLE_HAVE_LIBZ +#include "gzstream.h" +#endif // BEAGLE_HAVE_LIBZ + +using namespace Beagle; + + +/*! + * \brief Construct a milestone writer operator. + */ +MilestoneWriteOp::MilestoneWriteOp(Beagle::string inName) : + Operator(inName), + mMilestonePrefix(NULL), + mWritingInterval(NULL), + mPerDemeMilestone(NULL), + mOverwriteMilestone(NULL), + mPopSize(NULL) +{ } + + +/*! + * \brief Initialize the write milestone operator. + * \param ioSystem System to use to initialize the operator. + */ +void MilestoneWriteOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if(ioSystem.getRegister().isRegistered("ms.write.prefix")) { + mMilestonePrefix = + castHandleT(ioSystem.getRegister().getEntry("ms.write.prefix")); + } else { + mMilestonePrefix = new String("beagle"); + string lLongDescrip = "Prefix used to name the evolution milestone files. "; + lLongDescrip += "An empty string means no milestone."; + Register::Description lPrefixDescription( + "Milestone filename prefix", + "String", + "\"beagle\"", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ms.write.prefix", mMilestonePrefix, lPrefixDescription); + } + + if(ioSystem.getRegister().isRegistered("ms.write.interval")) { + mWritingInterval = + castHandleT(ioSystem.getRegister().getEntry("ms.write.interval")); + } else { + mWritingInterval = new UInt(0); + string lLongDescrip = "Milestone saving interval (in number of generations). "; + lLongDescrip += "When zero, only the last generation milestone is saved."; + Register::Description lIntervalDescription( + "Milestone saving interval", + "UInt", + "0", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ms.write.interval", mWritingInterval, lIntervalDescription); + } + + if(ioSystem.getRegister().isRegistered("ms.write.perdeme")) { + mPerDemeMilestone = + castHandleT(ioSystem.getRegister().getEntry("ms.write.perdeme")); + } else { + mPerDemeMilestone = new Bool(false); + string lLongDescrip = "If true, this flag indicates that separate milestones "; + lLongDescrip += "should be written after each demes processing. Otherwise milestones are "; + lLongDescrip += "written after the processing of a complete populations."; + Register::Description lPerdemeDescription( + "Milestone per deme saving flag", + "Bool", + "0", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ms.write.perdeme", mPerDemeMilestone, lPerdemeDescription); + } + + if(ioSystem.getRegister().isRegistered("ms.write.over")) { + mOverwriteMilestone = + castHandleT(ioSystem.getRegister().getEntry("ms.write.over")); + } else { + mOverwriteMilestone = new Bool(true); + string lLongDescrip = "If true, this flag indicates that old milestones should "; + lLongDescrip += "be over-written. Otherwise, each milestone has a different suffix."; + Register::Description lOverwriteDescription( + "Milestone over-writing flag", + "Bool", + "1", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ms.write.over", + mOverwriteMilestone, lOverwriteDescription); + } + + if(ioSystem.getRegister().isRegistered("ec.pop.size")) { + mPopSize = castHandleT(ioSystem.getRegister().getEntry("ec.pop.size")); + } else { + mPopSize = new UIntArray(1,100); + string lLongDescrip("Number of demes and size of each deme of the population. "); + lLongDescrip += "The format of an UIntArray is S1,S2,...,Sn, where Si is the ith value. "; + lLongDescrip += "The size of the UIntArray is the number of demes present in the "; + lLongDescrip += "vivarium, while each value of the vector is the size of the corresponding "; + lLongDescrip += "deme."; + Register::Description lDescription( + "Vivarium and demes sizes", + "UIntArray", + "100", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ec.pop.size", mPopSize, lDescription); + } + +#ifdef BEAGLE_HAVE_LIBZ + if(ioSystem.getRegister().isRegistered("ms.write.compress")) { + mCompressMilestone = + castHandleT(ioSystem.getRegister().getEntry("ms.write.compress")); + } else { + mCompressMilestone = new Bool(true); + string lLongDescrip = "If true, this flag indicates that milestones will be "; + lLongDescrip += "compressed with gzip. Otherwise, each milestone are kept plain text."; + Register::Description lCompressDescription( + "Milestone compression flag", + "Bool", + "1", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ms.write.compress", + mCompressMilestone, lCompressDescription); + } +#endif // BEAGLE_HAVE_LIBZ + Beagle_StackTraceEndM("void MilestoneWriteOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the characteristic operation. + * \param ioDeme Deme to use to write the milestone. + * \param ioContext Context of the evolution. + */ +void MilestoneWriteOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(mMilestonePrefix->getWrappedValue().empty()) return; + if(ioContext.getContinueFlag() == true) { + if(mWritingInterval->getWrappedValue() == 0) return; + if((ioContext.getGeneration() % mWritingInterval->getWrappedValue()) != 0) return; + if((mPerDemeMilestone->getWrappedValue() == false) && + (ioContext.getDemeIndex() != (mPopSize->size()-1))) return; + } + string lFilename = mMilestonePrefix->getWrappedValue(); + if(mPerDemeMilestone->getWrappedValue()) { + lFilename += "_d"; + lFilename += uint2str(ioContext.getDemeIndex()+1); + } + if(mOverwriteMilestone->getWrappedValue() == false) { + lFilename += "_g"; + lFilename += uint2str(ioContext.getGeneration()); + } + lFilename += ".obm"; +#ifdef BEAGLE_HAVE_LIBZ + if(mCompressMilestone->getWrappedValue()) lFilename += ".gz"; +#endif // BEAGLE_HAVE_LIBZ + Beagle_LogBasicM( + ioContext.getSystem().getLogger(), + "milestone", "Beagle::MilestoneWriteOp", + string("Writing milestone file \"")+lFilename+"\"" + ); + writeMilestone(lFilename, ioContext); + Beagle_StackTraceEndM("void MilestoneWriteOp::operate(Deme& ioDeme, Context& ioContext)"); +} + + +/*! + * \brief Write an evolution milestone. + * \param inFilename Filename of the milestone. + * \param ioContext Context of the evolution, + */ +void MilestoneWriteOp::writeMilestone(Beagle::string inFilename, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + std::string lFilenameBak = inFilename + "~"; + std::remove(lFilenameBak.c_str()); + std::rename(inFilename.c_str(), lFilenameBak.c_str()); +#ifdef BEAGLE_HAVE_LIBZ + std::ostream* lOS = NULL; + if(mCompressMilestone->getWrappedValue()) lOS = new ogzstream(inFilename.c_str()); + else lOS = new std::ofstream(inFilename.c_str()); +#else + std::ostream* lOS = new std::ofstream(inFilename.c_str()); +#endif + try { + PACC::XML::Streamer lStreamer(*lOS); + lStreamer.insertHeader(); + lStreamer.openTag("Beagle"); + lStreamer.insertAttribute("version", BEAGLE_VERSION); + lStreamer.insertAttribute("generation", uint2str(ioContext.getGeneration())); + lStreamer.insertAttribute("deme", uint2str(ioContext.getDemeIndex())); + lStreamer.insertComment("Created by MilestoneWriteOp operator"); + lStreamer.insertComment("System: configuration of the system"); + ioContext.getSystem().write(lStreamer); + lStreamer.insertComment("Evolver: configuration of the algorithm"); + ioContext.getEvolver().write(lStreamer); + lStreamer.insertComment("Vivarium: evolved population"); + ioContext.getVivarium().write(lStreamer); + lStreamer.closeTag(); + *lOS << std::endl; + } + catch (...) { + delete lOS; + throw; + } + delete lOS; + lOS = NULL; + Beagle_StackTraceEndM("void MilestoneWriteOp::writeMilestone(string inFilename, Context& ioContext)"); +} + + + diff --git a/lib/beagle-3.0.3/beagle/src/MuCommaLambdaOp.cpp b/lib/beagle-3.0.3/beagle/src/MuCommaLambdaOp.cpp new file mode 100644 index 0000000..c8e844f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/MuCommaLambdaOp.cpp @@ -0,0 +1,228 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/MuCommaLambdaOp.cpp + * \brief Source code of class MuCommaLambdaOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.16.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Build (Mu,Lambda) replacement strategy operator. + * \param inLMRatioName Lamda over Mu parameter name used in the register. + * \param inName Name of the (Mu,Lambda) operator. + */ +MuCommaLambdaOp::MuCommaLambdaOp(Beagle::string inLMRatioName, Beagle::string inName) : + ReplacementStrategyOp(inName), + mLMRatioName(inLMRatioName) +{ } + + +/*! + * \brief Initialize the operator. + * \param ioSystem Reference to the evolutionary system. + */ +void MuCommaLambdaOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + ReplacementStrategyOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ec.elite.keepsize")) { + mElitismKeepSize = + castHandleT(ioSystem.getRegister().getEntry("ec.elite.keepsize")); + } else { + mElitismKeepSize = new UInt(1); + Register::Description lDescription( + "Elitism keep size", + "UInt", + "1", + "Number of individuals keep as is with strong n-elitism." + ); + ioSystem.getRegister().addEntry("ec.elite.keepsize", mElitismKeepSize, lDescription); + } + + if(ioSystem.getRegister().isRegistered(mLMRatioName)) { + mLMRatio = castHandleT(ioSystem.getRegister().getEntry(mLMRatioName)); + } else { + mLMRatio = new Float((float)7.0); + Register::Description lDescription( + "(Lambda / Mu) ratio", + "Float", + "7.0", + string("(Lambda / Mu) ratio, which mean how much bigger is the child population from ") + + string("the parent population during a (Mu+Lambda), (Mu,Lambda) or NSGA2 ")+ + string("replacement process.") + ); + ioSystem.getRegister().addEntry(mLMRatioName, mLMRatio, lDescription); + } + Beagle_StackTraceEndM("void MuCommaLambdaOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the (Mu,Lambda) replacement strategy operation on a deme. + * \param ioDeme Reference to the deme on which the operation takes place. + * \param ioContext Evolutionary context of the operation. + */ +void MuCommaLambdaOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(mElitismKeepSize); + Beagle_ValidateParameterM(mLMRatio->getWrappedValue() >= 1.0, + mLMRatioName, + "The LM ratio must be higher or equal to 1.0."); + Beagle_ValidateParameterM(mElitismKeepSize->getWrappedValue() <= ioDeme.size(), + "ec.elite.keepsize", + "The elistism keepsize must be less than the deme size!"); + + // Special case: using the (mu,lambda) only to shrink back the population. + if(getRootNode()==NULL) { + UIntArray::Handle lPopSize; + if(ioContext.getSystem().getRegister().isRegistered("ec.pop.size")) { + lPopSize = castHandleT(ioContext.getSystem().getRegister()["ec.pop.size"]); + } + else { + std::ostringstream lOSS; + lOSS << "Population size parameter \"ec.pop.size\" is not found in register!"; + throw ValidationException(lOSS.str().c_str()); + } + const unsigned int lDemeSize = (*lPopSize)[ioContext.getDemeIndex()]; + Beagle_AssertM(ioDeme.size() > lDemeSize); + std::make_heap(ioDeme.begin(), ioDeme.end(), IsLessPointerPredicate()); + for(unsigned int i=0; i lRoulette; + buildRoulette(lRoulette, ioContext); + + Individual::Bag lOffsprings; + if(mElitismKeepSize->getWrappedValue() > 0) { + std::make_heap(ioDeme.begin(), ioDeme.end(), IsLessPointerPredicate()); + for(unsigned int i=0; igetWrappedValue(); ++i) { + lOffsprings.push_back(ioDeme[0]); + std::push_heap(lOffsprings.begin(), lOffsprings.end(), IsLessPointerPredicate()); + std::pop_heap(ioDeme.begin(), (ioDeme.end()-i), IsLessPointerPredicate()); + } + } + + unsigned int lLambda = + (unsigned int)std::ceil(mLMRatio->getWrappedValue()*float(ioDeme.size())); + for(unsigned int i=0; igetNextSibling(); + Beagle_NonNullPointerAssertM(lSelectedBreeder); + Beagle_NonNullPointerAssertM(lSelectedBreeder->getBreederOp()); + Individual::Handle lBredIndiv = + lSelectedBreeder->getBreederOp()->breed(ioDeme, lSelectedBreeder->getFirstChild(), ioContext); + Beagle_NonNullPointerAssertM(lBredIndiv); + lOffsprings.push_back(lBredIndiv); + } + + Beagle_AssertM(lOffsprings.size() > ioDeme.size()); + for(unsigned int i=0; igetFitness()==NULL) || (lOffsprings[i]->getFitness()->isValid()==false)) { + ioDeme.resize(0); + ioDeme.insert(ioDeme.end(), lOffsprings.begin(), lOffsprings.end()); + return; + } + } + + std::make_heap(lOffsprings.begin(), lOffsprings.end(), IsLessPointerPredicate()); + for(unsigned int j=0; jgetType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string lLMRatioReadName = inIter->getAttribute("ratio_name").c_str(); + if(lLMRatioReadName.empty() == false) mLMRatioName = lLMRatioReadName; + + ReplacementStrategyOp::readWithMap(inIter, inOpMap); + Beagle_StackTraceEndM("void MuCommaLambdaOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write MuCommaLamdaOp operator into XML streamer. + * \param ioStreamer XML streamer to write MuCommaLamdaOp operator into. + * \param inIndent Whether XML output should be indented. + */ +void MuCommaLambdaOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag(getName().c_str(), inIndent); + ioStreamer.insertAttribute("ratio_name", mLMRatioName); + if(getRootNode() != NULL) getRootNode()->write(ioStreamer, inIndent); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void MuCommaLambdaOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/MuPlusLambdaOp.cpp b/lib/beagle-3.0.3/beagle/src/MuPlusLambdaOp.cpp new file mode 100644 index 0000000..2f93981 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/MuPlusLambdaOp.cpp @@ -0,0 +1,206 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/MuPlusLambdaOp.cpp + * \brief Source code of class MuPlusLambdaOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.16.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Build (Mu+Lambda) replacement strategy operator. + * \param inLMRatioName Lamda over Mu parameter name used in the register. + * \param inName Name of the (Mu+Lambda) operator. + */ +MuPlusLambdaOp::MuPlusLambdaOp(Beagle::string inLMRatioName, Beagle::string inName) : + ReplacementStrategyOp(inName), + mLMRatioName(inLMRatioName) +{ } + + +/*! + * \brief Initialize the operator. + * \param ioSystem Reference to the evolutionary system. + */ +void MuPlusLambdaOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + ReplacementStrategyOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mLMRatioName)) { + mLMRatio = castHandleT(ioSystem.getRegister().getEntry(mLMRatioName)); + } else { + mLMRatio = new Float((float)7.0); + Register::Description lDescription( + "(Lambda / Mu) ratio", + "Float", + "7.0", + string("(Lambda / Mu) ratio, which mean how much bigger is the child population from ") + + string("the parent population during a (Mu+Lambda), (Mu,Lambda) or NSGA2 ")+ + string("replacement process.") + ); + ioSystem.getRegister().addEntry(mLMRatioName, mLMRatio, lDescription); + } + Beagle_StackTraceEndM("void MuPlusLambdaOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the (Mu+Lambda) replacement strategy operation on a deme. + * \param ioDeme Reference to the deme on which the operation takes place. + * \param ioContext Evolutionary context of the operation. + */ +void MuPlusLambdaOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_ValidateParameterM(mLMRatio->getWrappedValue() >= 1.0, + mLMRatioName, + "The LM ratio must be higher or equal to 1.0."); + + // Special case: using the (mu+lambda) only to shrink back the population. + if(getRootNode()==NULL) { + UIntArray::Handle lPopSize; + if(ioContext.getSystem().getRegister().isRegistered("ec.pop.size")) { + lPopSize = castHandleT(ioContext.getSystem().getRegister()["ec.pop.size"]); + } + else { + std::ostringstream lOSS; + lOSS << "Population size parameter \"ec.pop.size\" is not found in register!"; + throw ValidationException(lOSS.str().c_str()); + } + const unsigned int lDemeSize = (*lPopSize)[ioContext.getDemeIndex()]; + Beagle_AssertM(ioDeme.size() > lDemeSize); + std::make_heap(ioDeme.begin(), ioDeme.end(), IsLessPointerPredicate()); + for(unsigned int i=0; i lRoulette; + buildRoulette(lRoulette, ioContext); + + Individual::Bag lOffsprings; + for(unsigned int i=0; igetWrappedValue()*float(ioDeme.size())); + for(unsigned int i=0; igetNextSibling(); + Beagle_NonNullPointerAssertM(lSelectedBreeder); + Beagle_NonNullPointerAssertM(lSelectedBreeder->getBreederOp()); + Individual::Handle lBredIndiv = + lSelectedBreeder->getBreederOp()->breed(ioDeme, lSelectedBreeder->getFirstChild(), ioContext); + Beagle_NonNullPointerAssertM(lBredIndiv); + lOffsprings.push_back(lBredIndiv); + } + + Beagle_AssertM(lOffsprings.size() > ioDeme.size()); + for(unsigned int i=0; igetFitness()==NULL) || (lOffsprings[i]->getFitness()->isValid()==false)) { + ioDeme.resize(0); + ioDeme.insert(ioDeme.end(), lOffsprings.begin(), lOffsprings.end()); + return; + } + } + + std::make_heap(lOffsprings.begin(), lOffsprings.end(), IsLessPointerPredicate()); + for(unsigned int j=0; jgetType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string lLMRatioReadName = inIter->getAttribute("ratio_name").c_str(); + if(lLMRatioReadName.empty() == false) mLMRatioName = lLMRatioReadName; + + ReplacementStrategyOp::readWithMap(inIter, inOpMap); + Beagle_StackTraceEndM("void MuPlusLambdaOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write MuPlusLamdaOp operator into XML streamer. + * \param ioStreamer XML streamer to write MuPlusLamdaOp operator into. + * \param inIndent Whether XML output should be indented. + */ +void MuPlusLambdaOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag(getName().c_str(), inIndent); + ioStreamer.insertAttribute("ratio_name", mLMRatioName); + if(getRootNode() != NULL) getRootNode()->write(ioStreamer, inIndent); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void MuPlusLambdaOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/MutationOp.cpp b/lib/beagle-3.0.3/beagle/src/MutationOp.cpp new file mode 100644 index 0000000..7ce33b2 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/MutationOp.cpp @@ -0,0 +1,193 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/MutationOp.cpp + * \brief Source code of class MutationOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a plain new mutation operator. + * \param inMutationPbName Mutation probability parameter name used in register. + * \param inName Name of the mutation operator. + */ +MutationOp::MutationOp(Beagle::string inMutationPbName, + Beagle::string inName) : + BreederOp(inName), + mMutationPbName(inMutationPbName) +{ } + + +/*! + * \brief Apply the mutation operation on a breeding pool, returning a mutated individual. + * \param inBreedingPool Breeding pool to use for the mutation operation. + * \param inChild Node handle associated to child node in the breeder tree. + * \param ioContext Evolutionary context of the mutation operation. + * \return Mutated individual. + */ +Individual::Handle MutationOp::breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(inChild); + Beagle_NonNullPointerAssertM(inChild->getBreederOp()); + Individual::Handle lIndiv = + inChild->getBreederOp()->breed(inBreedingPool, inChild->getFirstChild(), ioContext); + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::MutationOp", + string("Mutating the ")+uint2ordinal(ioContext.getIndividualIndex()+1)+" individual" + ); + bool lMutated = mutate(*lIndiv, ioContext); + if(lMutated && (lIndiv->getFitness() != NULL)) lIndiv->getFitness()->setInvalid(); + return lIndiv; + Beagle_StackTraceEndM("Individual::Handle MutationOp::breed(Individual::Bag& inBreedingPool, BreederNode::Handle inChild, Context& ioContext)"); +} + + +/*! + * \return Return selection probability of breeder operator. + * \param inChild Child node in the breeder tree. + */ +float MutationOp::getBreedingProba(BreederNode::Handle inChild) +{ + Beagle_StackTraceBeginM(); + return mMutationProba->getWrappedValue(); + Beagle_StackTraceEndM("float MutationOp::getBreedingProba(BreederNode::Handle inChild)"); +} + + +/*! + * \brief Initialize the mutation operator. + * \param ioSystem Reference to the system to use for the initialization. + */ +void MutationOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + BreederOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + mMutationProba = + castHandleT(ioSystem.getRegister().getEntry(mMutationPbName)); + } else { + mMutationProba = new Float((float)0.1); + Register::Description lDescription( + "Individual mutation probability", + "Float", + "0.1", + "Mutation probability for a single individual." + ); + ioSystem.getRegister().addEntry(mMutationPbName, mMutationProba, lDescription); + } + Beagle_StackTraceEndM("void MutationOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the mutation operation on the deme. + * \param ioDeme Current deme of individuals to mutate. + * \param ioContext Context of the evolution. + */ +void MutationOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Individual::Handle lOldIndividualHandle = ioContext.getIndividualHandle(); + unsigned int lOldIndividualIndex = ioContext.getIndividualIndex(); + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::MutationOp", + string("Mutating individuals of the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::MutationOp", + string("Mutating individuals with probability ")+ + dbl2str(mMutationProba->getWrappedValue()) + ); + + for(unsigned int i=0; igetWrappedValue()) { + ioContext.setIndividualIndex(i); + ioContext.setIndividualHandle(ioDeme[i]); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::MutationOp", + string("Mutating the ")+uint2ordinal(i+1)+" individual" + ); + bool lMutated = mutate(*ioDeme[i], ioContext); + if(lMutated && (ioDeme[i]->getFitness() != NULL)) + ioDeme[i]->getFitness()->setInvalid(); + } + } + ioContext.setIndividualIndex(lOldIndividualIndex); + ioContext.setIndividualHandle(lOldIndividualHandle); + Beagle_StackTraceEndM("void MutationOp::operate(Deme& ioDeme, Context& ioContext)"); +} + + +/*! + * \brief Read a mutation operator from XML tree. + * \param inIter XML iterator to use to read crossover operator. + * \param inOpMap Operator map to use to read crossover operator. + */ +void MutationOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType() != PACC::XML::eData) || (inIter->getValue() != getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string mMutationPbReadName = inIter->getAttribute("mutationpb").c_str(); + if(mMutationPbReadName.empty() == false) mMutationPbName = mMutationPbReadName; + Beagle_StackTraceEndM("void MutationOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write mutation operator content into XML streamer. + * \param ioStreamer XML streamer to write mutation operator into. + * \param inIndent Whether XML output should be indented. + */ +void MutationOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.insertAttribute("mutationpb", mMutationPbName); + Beagle_StackTraceEndM("void MutationOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/NPGA2Op.cpp b/lib/beagle-3.0.3/beagle/src/NPGA2Op.cpp new file mode 100644 index 0000000..00be81c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/NPGA2Op.cpp @@ -0,0 +1,251 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/NPGA2Op.cpp + * \brief Source code of class NPGA2Op. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include +#include + +using namespace Beagle; + + +/*! + * \brief Build NPGA2 selection operator. + * \param inName Name of the NPGA2 operator. + */ +NPGA2Op::NPGA2Op(Beagle::string inName) : + Operator(inName) +{ } + + +/*! + * \brief Evaluate niche count of an individual over a pool of individuals. + * \param inEvalIndividual Individual for which we need to evaluate crowding distance. + * \param inIndividualPool Pool of individuals to evaluate distance on. + * \return Niche count value. + */ +float NPGA2Op::evalNicheCount(const Individual& inEvalIndividual, + const Individual::Bag& inIndividualPool) const +{ + Beagle_StackTraceBeginM(); + double lNicheCount = 0.0; + const FitnessMultiObj::Handle lEvalFitness = + castHandleT(inEvalIndividual.getFitness()); + std::vector< float,BEAGLE_STLALLOCATOR > lScalingFactors = lEvalFitness->getScalingFactors(); + for(unsigned int i=0; i(inIndividualPool[i]->getFitness()); + Beagle_AssertM(lEvalFitness->size() == lFitnessIndI->size()); + for(unsigned int j=0; jsize(); ++j) { + float lDistJ = lScalingFactors[j] * ((*lEvalFitness)[j] - (*lFitnessIndI)[j]); + lDistance += (lDistJ * lDistJ); + } + lDistance = std::sqrt(lDistance); + if(lDistance < mNicheRadius->getWrappedValue()) { + lNicheCount += (1.0 - (lDistance / mNicheRadius->getWrappedValue())); + } + } + return lNicheCount; + Beagle_StackTraceEndM("float NPGA2Op::evalNicheCount(const Individual& inEvalIndividual, const Individual::Bag& inIndividualPool) const"); +} + + +/*! + * \brief Initialize NPGA2 multiobjective selection operator. + * \param ioSystem Evolutionary system. + */ +void NPGA2Op::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Operator::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ec.npga2.tournsize")) { + mNumberParticipants = + castHandleT(ioSystem.getRegister().getEntry("ec.npga2.tournsize")); + } else { + mNumberParticipants = new UInt(2); + Register::Description lDescription( + "NPGA2 tournaments size", + "UInt", + "2", + "Number of participants to tournaments in NPGA2 selection." + ); + ioSystem.getRegister().addEntry("ec.npga2.tournsize", mNumberParticipants, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ec.npga2.nicheradius")) { + mNicheRadius = + castHandleT(ioSystem.getRegister().getEntry("ec.npga2.nicheradius")); + } else { + mNicheRadius = new Float(1.0); + Register::Description lDescription( + "NPGA2 niche radius", + "Float", + "1.0", + "Nice radius (sigma share) used to evaluate niche count in NPGA2 selection." + ); + ioSystem.getRegister().addEntry("ec.npga2.nicheradius", mNicheRadius, lDescription); + } + Beagle_StackTraceEndM("void NPGA2Op::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply NPGA2 multiobjective selection operator. + * \param ioDeme Deme on which selection operator is applied. + * \param ioContext Evolutionary context. + */ +void NPGA2Op::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(ioDeme.size() == 0) return; + + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::NPGA2Op", + string("Applying NPGA2 multiobjective selection on the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + + std::vector< bool,BEAGLE_STLALLOCATOR > lAlreadySelectedIndiv(ioDeme.size(), false); + Individual::Bag lSelectedIndividual; + + // Generate new generation by selection + for(unsigned int i=0; i > lNDParticipants(1, lFirstParticipant); + + // Following participants to tournament + for(unsigned int j=1; jgetWrappedValue(); ++j) { + unsigned int lParticipant = + ioContext.getSystem().getRandomizer().rollInteger(0, ioDeme.size()-1); + // Test if participant is dominated or dominate other participants + bool lIsDominated = false; + FitnessMultiObj::Handle lPartFitness = + castHandleT(ioDeme[lParticipant]->getFitness()); + for(unsigned int k=0; k(ioDeme[lNDParticipants[k]]->getFitness()); + if(lPartFitness->isDominated(*lFitnessNDk)) { + lIsDominated = true; + } + else if(lFitnessNDk->isDominated(*lPartFitness)) { + lNDParticipants.erase(lNDParticipants.begin()+k); + } + } + if(lIsDominated==false) lNDParticipants.push_back(lParticipant); + } + + // Test if there is a tie. If so evaluate niche count. + Beagle_AssertM(lNDParticipants.size() != 0); + unsigned int lWinner = lNDParticipants[0]; + if(lNDParticipants.size() > 1) { + float lLowestNicheCount = evalNicheCount(*ioDeme[lNDParticipants[0]], lSelectedIndividual); + for(unsigned int j=1; jcloneData(*ioDeme[lWinner])); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::NPGA2", + uint2ordinal(lWinner+1)+" individual selected again in NPGA2 selection process" + ); + } + else { + lSelectedIndividual.push_back(ioDeme[lWinner]); + lAlreadySelectedIndiv[lWinner] = true; + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::NPGA2", + uint2ordinal(lWinner+1)+" individual selected in NPGA2 selection process" + ); + } + } + + // Copy selected individuals into deme + for(unsigned int j=0; j(ioSystem.getRegister().getEntry("ec.hof.vivasize")); + if(lVivaHOFSize->getWrappedValue() > 0) { + Beagle_LogInfoM( + ioSystem.getLogger(), + "selection", "Beagle::NPGA2Op", + string("Warning: the vivarium hall-of-fame size (parameter \"ec.hof.vivasize\") ")+ + string("is non-zero; the hall-of-fame is not meaningful in a multiobjective ")+ + string("EA context") + ); + } + } + if(ioSystem.getRegister().isRegistered("ec.hof.demesize")) { + UInt::Handle lVivaHOFSize = + castHandleT(ioSystem.getRegister().getEntry("ec.hof.demesize")); + if(lVivaHOFSize->getWrappedValue() > 0) { + Beagle_LogInfoM( + ioSystem.getLogger(), + "selection", "Beagle::NPGA2Op", + string("Warning: the demes hall-of-fame size (parameter \"ec.hof.demesize\") ")+ + string("is non-zero; the hall-of-fame is not meaningful in a multiobjective ")+ + string("EA context") + ); + } + } + Beagle_StackTraceEndM("void NPGA2Op::postInit(System& ioSystem)"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/NSGA2Op.cpp b/lib/beagle-3.0.3/beagle/src/NSGA2Op.cpp new file mode 100644 index 0000000..d31eb2a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/NSGA2Op.cpp @@ -0,0 +1,428 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/NSGA2Op.cpp + * \brief Source code of class NSGA2Op. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.16.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include // To get FLT_MAX on Borland C++ Builder +#include + +using namespace Beagle; + + +/*! + * \brief Build NSGA2 replacement strategy operator. + * \param inLMRatioName Lamda over Mu parameter name used in the register. + * \param inName Name of the NSGA2 operator. + */ +NSGA2Op::NSGA2Op(Beagle::string inLMRatioName, Beagle::string inName) : + ReplacementStrategyOp(inName), + mLMRatioName(inLMRatioName) +{ } + + +/*! + * \brief Apply NSGA2 multiobjective selection operator as a replacement strategy. + * \param ioDeme Deme on which selection operator is applied. + * \param ioContext Evolutionary context. + */ +void NSGA2Op::applyAsReplacementStrategy(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "replacement-strategy", "Beagle::NSGA2Op", + string("Processing using NSGA2 replacement strategy the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + Beagle_LogObjectM( + ioContext.getSystem().getLogger(), + Logger::eTrace, + "replacement-strategy", "Beagle::NSGA2Op", + (*this) + ); + + // Generate a new generation of individuals, merged with the actual one. + const unsigned int lLambda = + (unsigned int)std::ceil(mLMRatio->getWrappedValue()*float(ioDeme.size())); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "replacement-strategy", "Beagle::NSGA2Op", + string("Generating ")+uint2str(lLambda)+ + string(" offsprings using breeder tree") + ); + RouletteT lRoulette; + buildRoulette(lRoulette, ioContext); + Individual::Bag lOffsprings(ioDeme); + for(unsigned int i=0; igetNextSibling(); + Beagle_NonNullPointerAssertM(lSelectedBreeder); + Beagle_NonNullPointerAssertM(lSelectedBreeder->getBreederOp()); + Individual::Handle lBredIndiv = + lSelectedBreeder->getBreederOp()->breed(ioDeme, lSelectedBreeder->getFirstChild(), ioContext); + Beagle_NonNullPointerAssertM(lBredIndiv); + lOffsprings.push_back(lBredIndiv); + } + + // Fast non-dominated sorting, followed by insertion of the first Pareto fronts. + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "replacement-strategy", "Beagle::NSGA2Op", + "Applying fast non-dominated sorting on the union of parents and offsprings individual" + ); + NSGA2Op::Fronts lParetoFronts; + sortFastND(lParetoFronts, ioDeme.size(), lOffsprings, ioContext); + unsigned int lIndexDeme=0; + for(unsigned int j=0; j<(lParetoFronts.size()-1); ++j) { + for(unsigned int k=0; k > lCrowdingSet(inIndividualPool.size()); + for(unsigned int i=0; i(inIndividualPool[i]->getFitness()); + } + unsigned int lNumberObjectives = lCrowdingSet.back().second->size(); + std::vector< float,BEAGLE_STLALLOCATOR > lScalingFactors = + lCrowdingSet.back().second->getScalingFactors(); + for(unsigned int j=0; j >()); + Beagle_StackTraceEndM("void NSGA2Op::evalCrowdingDistance(NSGA2Op::Distances& outDistances, const Individual::Bag& inIndividualPool) const"); +} + +/*! + * \brief Initialize the NSGA2 operator. + * \param ioSystem Reference to the system to use for the initialization. + */ +void NSGA2Op::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + ReplacementStrategyOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ec.pop.size")) { + mPopSize = castHandleT(ioSystem.getRegister().getEntry("ec.pop.size")); + } else { + mPopSize = new UIntArray(1,100); + string lLongDescrip("Number of demes and size of each deme of the population. "); + lLongDescrip += "The format of an UIntArray is S1,S2,...,Sn, where Si is the ith value. "; + lLongDescrip += "The size of the UIntArray is the number of demes present in the "; + lLongDescrip += "vivarium, while each value of the vector is the size of the corresponding "; + lLongDescrip += "deme."; + Register::Description lDescription( + "Vivarium and demes sizes", + "UIntArray", + "100", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ec.pop.size", mPopSize, lDescription); + } + + if(ioSystem.getRegister().isRegistered(mLMRatioName)) { + mLMRatio = castHandleT(ioSystem.getRegister().getEntry(mLMRatioName)); + } else { + mLMRatio = new Float((float)1.0); + Register::Description lDescription( + "(Lambda / Mu) ratio", + "Float", + "1.0", + string("(Lambda / Mu) ratio, which mean how much bigger is the child population from ") + + string("the parent population during a (Mu+Lambda), (Mu,Lambda) or NSGA2 ")+ + string("replacement process.") + ); + ioSystem.getRegister().addEntry(mLMRatioName, mLMRatio, lDescription); + } + Beagle_StackTraceEndM("void NSGA2Op::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the NSGA2 multiobjective selection operation on a deme in the given context. + * \param ioDeme Reference to the deme on which the operation takes place. + * \param ioContext Evolutionary context of the operation. + */ +void NSGA2Op::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(getRootNode()==NULL) applyAsStandardOperator(ioDeme,ioContext); + else applyAsReplacementStrategy(ioDeme,ioContext); + Beagle_StackTraceEndM("void NSGA2Op::operate(Deme& ioDeme, Context& ioContext)"); +} + + +/*! + * \brief Post-initialize hook for the NSGA operator. + * \param ioSystem Evolutionary system. + */ +void NSGA2Op::postInit(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if(ioSystem.getRegister().isRegistered("ec.hof.vivasize")) { + UInt::Handle lVivaHOFSize = + castHandleT(ioSystem.getRegister().getEntry("ec.hof.vivasize")); + if(lVivaHOFSize->getWrappedValue() > 0) { + Beagle_LogInfoM( + ioSystem.getLogger(), + "replacement-strategy", "Beagle::NSGA2Op", + string("Warning: the vivarium hall-of-fame size (parameter \"ec.hof.vivasize\") ")+ + string("is non-zero; the hall-of-fame is not meaningful in a multiobjective ")+ + string("EA context") + ); + } + } + if(ioSystem.getRegister().isRegistered("ec.hof.demesize")) { + UInt::Handle lVivaHOFSize = + castHandleT(ioSystem.getRegister().getEntry("ec.hof.demesize")); + if(lVivaHOFSize->getWrappedValue() > 0) { + Beagle_LogInfoM( + ioSystem.getLogger(), + "replacement-strategy", "Beagle::NSGA2Op", + string("Warning: the demes hall-of-fame size (parameter \"ec.hof.demesize\") ")+ + string("is non-zero; the hall-of-fame is not meaningful in a multiobjective ")+ + string("EA context") + ); + } + } + Beagle_StackTraceEndM("void NSGA2Op::postInit(System& ioSystem)"); +} + + +/*! + * \brief Read a NSGA2Op operator from a XML subtree. + * \param inIter XML iterator to use to read NSGA2Op operator. + * \param inOpMap Operator map to use to read NSGA2Op operator. + */ +void NSGA2Op::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string lLMRatioReadName = inIter->getAttribute("ratio_name").c_str(); + if(lLMRatioReadName.empty() == false) mLMRatioName = lLMRatioReadName; + + ReplacementStrategyOp::readWithMap(inIter, inOpMap); + Beagle_StackTraceEndM("void NSGA2Op::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Do fast non-dominated sort and evaluate Pareto fronts of data up to given size. + * \param outParetoFronts Pareto fronts from the fast ND sort. + * \param inSortStop Number of individuals on the Pareto fronts needed to stop the sort. + * \param inIndividualPool Pool of individuals to get next Pareto front of. + * \param ioContext Evolutionary context. + */ +void NSGA2Op::sortFastND(NSGA2Op::Fronts& outParetoFronts, + unsigned int inSortStop, + const Individual::Bag& inIndividualPool, + Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + outParetoFronts.clear(); + if(inSortStop == 0) return; + outParetoFronts.resize(1); + unsigned int lParetoSorted = 0; + // N: Number of dominating individuals + std::vector< unsigned int,BEAGLE_STLALLOCATOR > lN(inIndividualPool.size(), 0); + // S: Set of dominated individuals + Fronts lS(inIndividualPool.size()); + + // First pass to get first Pareto front and domination sets + for(unsigned int i=0; i(inIndividualPool[i]->getFitness()); + for(unsigned int j=(i+1); j(inIndividualPool[j]->getFitness()); + if(lFitJ->isDominated(*lFitI)) { + lS[i].push_back(j); // Add index j to dominated set of i + ++lN[j]; // Increment domination counter of j + } + else if(lFitI->isDominated(*lFitJ)) { + lS[j].push_back(i); // Add index i to dominated set of j + ++lN[i]; // Increment domination counter of i + } + } + if(lN[i] == 0) { // If i is non-dominated + outParetoFronts.back().push_back(i); + ++lParetoSorted; + } + } + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "replacement-strategy", "Beagle::NSGA2Op", + uint2ordinal(1)+string(" Pareto front consists of")+ + uint2str(outParetoFronts.back().size())+" individuals" + ); + + // Continue ranking until individual pool is empty or stop criterion reach + while((lParetoSorted < inIndividualPool.size()) && (lParetoSorted < inSortStop)) { + unsigned int lIndexLastFront = outParetoFronts.size() - 1; + outParetoFronts.resize(outParetoFronts.size() + 1); + for(unsigned int k=0; kwrite(ioStreamer, inIndent); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void NSGA2Op::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} diff --git a/lib/beagle-3.0.3/beagle/src/NamedObject.cpp b/lib/beagle-3.0.3/beagle/src/NamedObject.cpp new file mode 100644 index 0000000..0a85cad --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/NamedObject.cpp @@ -0,0 +1,71 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/NamedObject.cpp + * \brief Source code of class NamedObject. + * \author Matthew Walker + * \author Christian Gagne + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Constructor with arguments of a named object. + * \param inName Name of the object. + */ +NamedObject::NamedObject(const Beagle::string& inName) : + mName(inName) +{ } + + +/*! + * \brief Returns the name of the object + */ +const Beagle::string& NamedObject::getName() const +{ + Beagle_StackTraceBeginM(); + return mName; + Beagle_StackTraceEndM("const string& NamedObject::getName() const"); +} + + +/*! + * \brief Sets the name of the object + * \param inName Name of the object + */ +void NamedObject::setName(const Beagle::string& inName) +{ + Beagle_StackTraceBeginM(); + mName = inName; + Beagle_StackTraceEndM("void NamedObject::setName(const string& inName)"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/Object.cpp b/lib/beagle-3.0.3/beagle/src/Object.cpp new file mode 100644 index 0000000..85088bd --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Object.cpp @@ -0,0 +1,177 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/Object.cpp + * \brief Source code of class Object. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.16.2.1 $ + * $Date: 2007/05/09 01:51:19 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +using namespace Beagle; + + + +/*! + * \brief Default constructor. + */ +Object::Object() : + mRefCounter(0) +{ } + + +/*! + * \brief Copy constructor. + * \param inOriginal Object to copy. + */ +Object::Object(const Object& inOriginal) : + mRefCounter(0) +{ } + + +/*! + * \brief Destructor. + * \throw Beagle::InternalException If reference counter is not equal to zero. + */ +Object::~Object() +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + if(mRefCounter != 0) { + string lMessage = "Reference counter of actual object is non-zero (value: "; + lMessage += int2str(mRefCounter); + lMessage += ")"; + throw Beagle_InternalExceptionM(lMessage); + } +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object::~Object()"); +} + + +/*! + * \brief Copy operator of Object. + * \param inOriginal Original object to copy. + * \return Actual object. + */ +Object& Object::operator=(const Object& inOriginal) +{ + Beagle_StackTraceBeginM(); + return *this; + Beagle_StackTraceEndM("Object& Object::operator=(const Object& inOriginal)"); +} + + +/*! + * \brief Returns the name of the object, in this case "Non-named Object". + */ +const Beagle::string& Object::getName() const +{ + Beagle_StackTraceBeginM(); + const static string mName("Non-named Object"); + return mName; + Beagle_StackTraceEndM("const string& Object::getName() const"); +} + + +/*! + * \brief Test if an object is equal to another. + * \param inRightObj Object to be compare to. + * \return True if actual object is equal to right object, false if not. + * \throw Beagle::InternalException If the method is not overdefined in a subclass. + */ +bool Object::isEqual(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("isEqual","Object",getName()); + Beagle_StackTraceEndM("bool Object::isEqual(const Object& inRightObj) const"); +} + + +/*! + * \brief Test if an object is less than another. + * \param inRightObj Object to be compare to. + * \return True if actual object is less than right object, false if not. + * \throw Beagle::InternalException If the method is not overdefined in a subclass. + */ +bool Object::isLess(const Object& inRightObj) const +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("isLess","Object",getName()); + Beagle_StackTraceEndM("bool Object::isLess(const Object& inRightObj) const"); +} + + +/*! + * \brief Extract Object from a XML tree. + * \param inIter XML iterator to read the object from. + * \throw Beagle::InternalException If the method is not overdefined in a subclass. + */ +void Object::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("read", "Object", getName()); + Beagle_StackTraceEndM("void Object::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Transform an Object into a linear string (using write method). + * \param inIndent Whether serialized output should be indented. + * \param inIndentWidth Number of spaces for each indent. Supplying a value of zero + * will produce the data without indentation and without any newlines. + * \return String representing the Object. + */ +Beagle::string Object::serialize(bool inIndent, unsigned int inIndentWidth) const +{ + Beagle_StackTraceBeginM(); + std::ostringstream lOSS; + PACC::XML::Streamer lStreamer(lOSS, inIndentWidth); + write(lStreamer, inIndent); + return lOSS.str().c_str(); + Beagle_StackTraceEndM("string Object::serialize(bool inIndent, unsigned int inIndentWidth) const"); +} + + +/*! + * \brief Insert an Object into a XML streamer. + * \param ioStreamer XML streamer to write the object into. + * \param inIndent Whether XML output should be indented. + * \throw Beagle::InternalException If the method is not overdefined in a subclass. + */ +void Object::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("write", "Object", getName()); + Beagle_StackTraceEndM("void Object::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + diff --git a/lib/beagle-3.0.3/beagle/src/ObjectException.cpp b/lib/beagle-3.0.3/beagle/src/ObjectException.cpp new file mode 100644 index 0000000..ed3f164 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/ObjectException.cpp @@ -0,0 +1,113 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/ObjectException.cpp + * \brief Implementation of class ObjectException. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:20 $ + */ + +#include "beagle/Beagle.hpp" + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + +using namespace Beagle; + + +/*! + * \brief Construct the ObjectException using given values. + * \param inObject Reference to the object related to the exception. + * \param inMessage Message explaining the exception. + * \param inFileName Name of the file where the error state had been detected. + * \param inLineNumber Line number in the filename. + */ +ObjectException::ObjectException(const Object& inObject, + Beagle::string inMessage, + Beagle::string inFileName, + unsigned int inLineNumber) : + TargetedException(inMessage,inFileName,inLineNumber) +{ + Beagle_StackTraceBeginM(); + setObjectState(inObject); + Beagle_StackTraceEndM("ObjectException::ObjectException(const Object& inObject, string inMessage, string inFileName, unsigned int inLineNumber)"); +} + + +/*! + * \brief Explain the exception throwed in the stream given. + * \param ioES Output C++ stream where the explanation about the exception is inserted. + */ +void ObjectException::explain(std::ostream& ioES) throw() +{ + TargetedException::explain(ioES); + ioES << "Object name: " << mObjectName << std::endl; + ioES << "Object RTTI name: " << mObjectTypeName << std::endl; + ioES << "Object reference counter value: " << mObjectRefCounter << std::endl; + ioES << "Serialized Object: " << std::endl << mSerializedObject << std::endl << std::flush; +} + + +/*! + * \brief Get the name of the exception. + * \return Name of the exception. + */ +const char* ObjectException::getExceptionName() const throw() +{ + return "Beagle::ObjectException"; +} + + +/*! + * \brief Set values of the ObjectException using given object reference. + * \param inObject Reference to object related to the exception. + */ +void ObjectException::setObjectState(const Object& inObject) +{ + Beagle_StackTraceBeginM(); + mObjectRefCounter = inObject.getRefCounter(); + mObjectName = inObject.getName(); +#ifdef BEAGLE_HAVE_RTTI + try { + mObjectTypeName = typeid(inObject).name(); + } catch(...) { + mObjectTypeName = ""; + } +#else // BEAGLE_HAVE_RTTI + mObjectTypeName = ""; +#endif // BEAGLE_HAVE_RTTI + try { + mSerializedObject = inObject.serialize(); + } catch(...) { + mSerializedObject = ""; + } + Beagle_StackTraceEndM("void ObjectException::setObjectState(const Object& inObject)"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/Operator.cpp b/lib/beagle-3.0.3/beagle/src/Operator.cpp new file mode 100644 index 0000000..8e00b24 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Operator.cpp @@ -0,0 +1,107 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/Operator.cpp + * \brief Source code of class Operator. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.13.2.1 $ + * $Date: 2007/05/09 01:51:20 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a new operator. + * \param inName Name of the operator. + */ +Operator::Operator(Beagle::string inName) : + NamedObject(inName), + mInitialized(false), + mPostInitialized(false) +{ } + + +/*! + * \brief Give a reference to the current operator. + * \return Handle to the refered operator. + */ +PointerT Operator::giveReference() +{ + Beagle_StackTraceBeginM(); + return Operator::Handle(this); + Beagle_StackTraceEndM("PointerT Operator::giveReference()"); +} + + +/*! + * \brief Reading a operator with method read is undefined. Use readWithMap instead. + */ +void Operator::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("read","Operator",getName()); + Beagle_StackTraceEndM("void Operator::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Read an operator from a XML subtree. + * \param inIter XML iterator from which the operator is read. + * \param inOpMap Operator map to use to read operator. + * \throw IOException If a reading error occurs. + */ +void Operator::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + Beagle_StackTraceEndM("void Operator::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write an operator into an XML stream. + * \param ioStreamer XML stream in which the operator is written. + * \param inIndent Whether XML output should be indented. + */ +void Operator::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag(getName().c_str(), inIndent); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void Operator::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/OversizeOp.cpp b/lib/beagle-3.0.3/beagle/src/OversizeOp.cpp new file mode 100644 index 0000000..8105bb9 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/OversizeOp.cpp @@ -0,0 +1,205 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/OversizeOp.cpp + * \brief Source code of class OversizeOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.2 $ + * $Date: 2007/08/21 02:07:24 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include + +using namespace std; +using namespace Beagle; + + +/*! + * \brief Build oversize replacement strategy operator. + * \param inOversizeRatioName Oversize ratio parameter name used in the register. + * \param inName Name of the oversize operator. + */ +OversizeOp::OversizeOp(Beagle::string inOversizeRatioName, Beagle::string inName) : + ReplacementStrategyOp(inName), + mOversizeRatioName(inOversizeRatioName) +{ } + + +/*! + * \brief Initialize the operator. + * \param ioSystem Reference to the evolutionary system. + */ +void OversizeOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + ReplacementStrategyOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mOversizeRatioName)) { + mOversizeRatio = castHandleT(ioSystem.getRegister().getEntry(mOversizeRatioName)); + } else { + mOversizeRatio = new Float((float)7.0); + Register::Description lDescription( + "Oversizing ratio", + "Float", + "7.0", + string("Oversizing ratio, which mean how much bigger is the child population from ") + + string("the parent population.") + ); + ioSystem.getRegister().addEntry(mOversizeRatioName, mOversizeRatio, lDescription); + } + Beagle_StackTraceEndM("void OversizeOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the oversize replacement strategy operation on a deme. + * \param ioDeme Reference to the deme on which the operation takes place. + * \param ioContext Evolutionary context of the operation. + */ +void OversizeOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(getRootNode()); + Beagle_ValidateParameterM + (mOversizeRatio->getWrappedValue() >= 1.0 + || mOversizeRatio->getWrappedValue() == -1.0, + mOversizeRatioName, + "The oversize ratio must be greater than or equal to 1.0, or equal to -1.0."); + + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "replacement-strategy", "Beagle::OversizeOp", + string("Using oversize replacement strategy to process the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + Beagle_LogObjectM( + ioContext.getSystem().getLogger(), + Logger::eTrace, + "replacement-strategy", "Beagle::OversizeOp", + (*this) + ); + + RouletteT lRoulette; + buildRoulette(lRoulette, ioContext); + + // Calculate the increase in size (lambda) + float lRatio = mOversizeRatio->getWrappedValue(); + unsigned int lLambda; + if (lRatio == -1.0) { + // Using special ratio of -1.0 ensures deme grows to size specified in 'ec.pop.size' + if (!ioContext.getSystem().getRegister().isRegistered("ec.pop.size")) { + throw Beagle_RunTimeExceptionM(getName()+" requires register variable 'ec.pop.size'"); + } + UIntArray::Handle lPopSize = castHandleT + (ioContext.getSystem().getRegister().getEntry("ec.pop.size")); + unsigned int lSpecifiedDemeSize = (*lPopSize)[ioContext.getDemeIndex()]; + unsigned int lCurrentDemeSize = ioDeme.size(); + if (lSpecifiedDemeSize < lCurrentDemeSize) { + throw Beagle_RunTimeExceptionM + (std::string("For the ")+uint2ordinal(ioContext.getDemeIndex()+1)+ + " deme, the size specified in 'ec.pop.size' ("+uint2str(lSpecifiedDemeSize)+ + ") is less than the current deme size ("+uint2str(lCurrentDemeSize)+ + "). "+getName()+" can only increase the size of the deme. Consider using DecimateOp "+ + "if you wish to decrease the size of the deme"); + } + lLambda = lSpecifiedDemeSize - lCurrentDemeSize; + } else { + // Using ratio to scale the deme's population + lLambda = (unsigned int)ceil((lRatio-1.0)*float(ioDeme.size())); + } + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "replacement-strategy", "Beagle::OversizeOp", + string("Population will be increased in size by ")+uint2str(lLambda)+" individuals" + ); + + // Create the new individuals. + Individual::Bag lOffsprings; + for(unsigned int i=0; igetNextSibling(); + Beagle_NonNullPointerAssertM(lSelectedBreeder); + Beagle_NonNullPointerAssertM(lSelectedBreeder->getBreederOp()); + Individual::Handle lBredIndiv = + lSelectedBreeder->getBreederOp()->breed(ioDeme, lSelectedBreeder->getFirstChild(), ioContext); + Beagle_NonNullPointerAssertM(lBredIndiv); + lOffsprings.push_back(lBredIndiv); + } + + // Add the new individuals into the deme. + ioDeme.insert(ioDeme.end(), lOffsprings.begin(), lOffsprings.end()); + Beagle_LogDetailedM( + ioContext.getSystem().getLogger(), + "replacement-strategy", "Beagle::OversizeOp", + string("There are now ")+uint2str(ioDeme.size())+" individuals in the "+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + Beagle_StackTraceEndM("void OversizeOp::operate(Deme& ioDeme, Context& ioContext)"); +} + + +/*! + * \brief Read a OversizeOp operator for XML tree. + * \param inIter XML iterator to use to read OversizeOp operator. + * \param inOpMap Operator map to use to read OversizeOp operator. + */ +void OversizeOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string lOversizeRatioReadName = inIter->getAttribute("ratio_name").c_str(); + if(lOversizeRatioReadName.empty() == false) mOversizeRatioName = lOversizeRatioReadName; + + ReplacementStrategyOp::readWithMap(inIter, inOpMap); + Beagle_StackTraceEndM("void OversizeOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write OversizeOp operator into XML streamer. + * \param ioStreamer XML streamer to write OversizeOp operator into. + * \param inIndent Whether XML output should be indented. + */ +void OversizeOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag(getName().c_str(), inIndent); + ioStreamer.insertAttribute("ratio_name", mOversizeRatioName); + if(getRootNode() != NULL) getRootNode()->write(ioStreamer, inIndent); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void OversizeOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} diff --git a/lib/beagle-3.0.3/beagle/src/ParetoFrontCalculateOp.cpp b/lib/beagle-3.0.3/beagle/src/ParetoFrontCalculateOp.cpp new file mode 100644 index 0000000..1a72357 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/ParetoFrontCalculateOp.cpp @@ -0,0 +1,185 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/ParetoFrontCalculateOp.cpp + * \brief Source code of class ParetoFrontCalculateOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.11.2.1 $ + * $Date: 2007/05/09 01:51:21 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a Pareto front extractor operator. + */ +ParetoFrontCalculateOp::ParetoFrontCalculateOp(Beagle::string inName) : + Operator(inName), + mMilestonePrefix(NULL), + mWritingInterval(NULL), + mPerDemeMilestone(NULL), + mPopSize(NULL) +{ } + + +/*! + * \brief Initialize the Pareto front extractor operator. + * \param ioSystem System to use to initialize the operator. + */ +void ParetoFrontCalculateOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if(ioSystem.getRegister().isRegistered("ms.write.prefix")) { + mMilestonePrefix = + castHandleT(ioSystem.getRegister().getEntry("ms.write.prefix")); + } else { + mMilestonePrefix = new String("beagle"); + string lLongDescrip = "Prefix used to name the evolution milestone files. "; + lLongDescrip += "An empty string means no milestone."; + Register::Description lPrefixDescription( + "Milestone filename prefix", + "String", + "\"beagle\"", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ms.write.prefix", mMilestonePrefix, lPrefixDescription); + } + + if(ioSystem.getRegister().isRegistered("ms.write.interval")) { + mWritingInterval = + castHandleT(ioSystem.getRegister().getEntry("ms.write.interval")); + } else { + mWritingInterval = new UInt(0); + string lLongDescrip = "Milestone saving interval (in number of generations). "; + lLongDescrip += "When zero, only the last generation milestone is saved."; + Register::Description lIntervalDescription( + "Milestone saving interval", + "UInt", + "0", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ms.write.interval", mWritingInterval, lIntervalDescription); + } + + if(ioSystem.getRegister().isRegistered("ms.write.perdeme")) { + mPerDemeMilestone = + castHandleT(ioSystem.getRegister().getEntry("ms.write.perdeme")); + } else { + mPerDemeMilestone = new Bool(false); + string lLongDescrip = "If true, this flag indicates that separate milestones "; + lLongDescrip += "should be written after each demes processing. Otherwise milestones are "; + lLongDescrip += "written after the processing of a complete populations."; + Register::Description lPerdemeDescription( + "Milestone per deme saving flag", + "Bool", + "0", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ms.write.perdeme", mPerDemeMilestone, lPerdemeDescription); + } + + if(ioSystem.getRegister().isRegistered("ec.pop.size")) { + mPopSize = castHandleT(ioSystem.getRegister().getEntry("ec.pop.size")); + } else { + mPopSize = new UIntArray(1,100); + string lLongDescrip("Number of demes and size of each deme of the population. "); + lLongDescrip += "The format of an UIntArray is S1,S2,...,Sn, where Si is the ith value. "; + lLongDescrip += "The size of the UIntArray is the number of demes present in the "; + lLongDescrip += "vivarium, while each value of the vector is the size of the corresponding "; + lLongDescrip += "deme."; + Register::Description lDescription( + "Vivarium and demes sizes", + "UIntArray", + "100", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ec.pop.size", mPopSize, lDescription); + } + Beagle_StackTraceEndM("void ParetoFrontCalculateOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the characteristic operation. + * \param ioDeme Deme to use to write the milestone. + * \param ioContext Context of the evolution. + */ +void ParetoFrontCalculateOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(mMilestonePrefix->getWrappedValue().empty()) return; + if(ioContext.getContinueFlag() == true) { + if(mWritingInterval->getWrappedValue() == 0) return; + if((ioContext.getGeneration() % mWritingInterval->getWrappedValue()) != 0) return; + if((mPerDemeMilestone->getWrappedValue() == false) && + (ioContext.getDemeIndex() != (mPopSize->size()-1))) return; + } + + unsigned int lOldDemeIndex = ioContext.getDemeIndex(); + Deme::Handle lOldDemeHandle = ioContext.getDemeHandle(); + + for(unsigned int i=0; isetIndivAlloc(ioContext.getVivarium()[i]->getTypeAlloc()); + lParetoFront->updateWithDeme(1, *ioContext.getVivarium()[i], ioContext); + ioContext.getVivarium()[i]->setHallOfFameAlloc(new ParetoFrontHOF::Alloc); + ioContext.getVivarium()[i]->setHallOfFame(lParetoFront); + } + + Beagle_LogInfoM( + ioContext.getSystem().getLogger(), + "hall-of-fame", "Beagle::ParetoFrontCalculateOp", + "Computing Pareto front for the whole vivarium" + ); + ParetoFrontHOF::Handle lParetoFrontViva = new ParetoFrontHOF; + lParetoFrontViva->setIndivAlloc( + ioContext.getVivarium().getTypeAlloc()->getContainerTypeAlloc()); + for(unsigned int j=0; jupdateWithDeme(1, *ioContext.getVivarium()[j], ioContext); + } + ioContext.getVivarium().setHallOfFameAlloc(new ParetoFrontHOF::Alloc); + ioContext.getVivarium().setHallOfFame(lParetoFrontViva); + + ioContext.setDemeIndex(lOldDemeIndex); + ioContext.setDemeHandle(lOldDemeHandle); + Beagle_StackTraceEndM("void ParetoFrontCalculateOp::operate(Deme& ioDeme, Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/src/ParetoFrontHOF.cpp b/lib/beagle-3.0.3/beagle/src/ParetoFrontHOF.cpp new file mode 100644 index 0000000..313af05 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/ParetoFrontHOF.cpp @@ -0,0 +1,244 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/ParetoFrontHOF.cpp + * \brief Source code of class ParetoFrontHOF. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:21 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +using namespace std; +using namespace Beagle; + + +/*! + * \brief Construct an pareto front hall-of-fame. + * \param inIndivAlloc Allocator of individuals in the hall-of-fame. + */ +ParetoFrontHOF::ParetoFrontHOF(Individual::Alloc::Handle inIndivAlloc) : + HallOfFame(inIndivAlloc) +{ } + + +/*! + * \brief Update the Pareto front hall-of-fame with the actual deme's individuals. + * \param inSizeHOF Value of 0 mean no Pareto front hall-of-fame, otherwize ignored. + * \param inDeme Deme to add to the hall-of-fame. + * \param ioContext Evolution context. + * \return True if the Pareto front has been modified, false if not. + */ +bool ParetoFrontHOF::updateWithDeme(unsigned int inSizeHOF, const Deme& inDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(inSizeHOF == 0) { + if(mMembers.size() != 0) { + mMembers.clear(); + return true; + } + return false; + } + + unsigned int lIndividualsAdded=0; + unsigned int lIndividualsRemoved=0; + + for(unsigned int i=0; i(inDeme[i]->getFitness()); + for(unsigned int j=0; j(mMembers[j].mIndividual->getFitness()); + if(lIndivFitness->isDominated(*lMemberFitness)) { + lIsDominated=true; + break; + } + else if(lMemberFitness->isDominated(*lIndivFitness)) { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "hall-of-fame", "Beagle::ParetoFrontHOF", + string("Individual removed from Pareto front: ")+ + mMembers[j].mIndividual->serialize() + ); + mMembers.erase(mMembers.begin()+j); + --j; + ++lIndividualsRemoved; + } + } + + if(lIsDominated==false) { + // Test if the individual is unique, and if so add it to the Pareto front. + bool lIsIdentical = false; + for(unsigned int k=0; kisIdentical(*mMembers[k].mIndividual)) { + lIsIdentical = true; + break; + } + } + if(lIsIdentical == false) { + HallOfFame::Member lMember(castHandleT(getIndivAlloc()->cloneData(*inDeme[i])), + ioContext.getGeneration(), ioContext.getDemeIndex()); + mMembers.push_back(lMember); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "hall-of-fame", "Beagle::ParetoFrontHOF", + string("Individual added to Pareto front: ")+inDeme[i]->serialize() + ); + ++lIndividualsAdded; + } + } + } + + if(lIndividualsAdded != 0) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "hall-of-fame", "Beagle::ParetoFrontHOF", + string("There is ")+uint2str(lIndividualsAdded)+ + string(" individuals added to the Pareto front") + ); + } + + if(lIndividualsRemoved != 0) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "hall-of-fame", "Beagle::ParetoFrontHOF", + string("There is ")+uint2str(lIndividualsRemoved)+ + string(" individuals removed from the Pareto front") + ); + } + + // Return if Pareto front has changed. + return (lIndividualsAdded == 0) && (lIndividualsRemoved == 0); + Beagle_StackTraceEndM("bool ParetoFrontHOF::updateWithDeme(unsigned int inSizeHOF, const Deme& inDeme, Context& ioContext)"); +} + + +/*! + * \brief Check if an individual should be added to the Pareto front hall-of-fame, and add it if + * necessary. + * \param inSizeHOF Value of 0 mean no Pareto front hall-of-fame, otherwize ignored. + * \param inIndividual Individual that is checked for addition to the Pareto front hall-of-fame. + * \param ioContext Evolution context. + * \return True if the Pareto front had been modified, false if not. + */ +bool ParetoFrontHOF::updateWithIndividual(unsigned int inSizeHOF, + const Individual& inIndividual, + Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(inSizeHOF == 0) { + if(mMembers.size() != 0) { + mMembers.clear(); + return true; + } + return false; + } + + bool lParetoFrontModified=false; + bool lIsDominated=false; + FitnessMultiObj::Handle lIndivFitness = castHandleT(inIndividual.getFitness()); + for(unsigned int i=0; i(mMembers[i].mIndividual->getFitness()); + if(lIndivFitness->isDominated(*lMemberFitness)) { + lIsDominated=true; + break; + } + else if(lMemberFitness->isDominated(*lIndivFitness)) { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "hall-of-fame", "Beagle::ParetoFrontHOF", + string("Individual removed from Pareto front: ")+ + mMembers[i].mIndividual->serialize() + ); + mMembers.erase(mMembers.begin()+i); + lParetoFrontModified = true; + } + } + if(lIsDominated==false) { + // Test if the individual is unique, and if so add it to the Pareto front. + bool lIsIdentical = false; + for(unsigned int j=0; j(getIndivAlloc()->cloneData(inIndividual)), + ioContext.getGeneration(), ioContext.getDemeIndex()); + mMembers.push_back(lMember); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "hall-of-fame", "Beagle::ParetoFrontHOF", + string("Individual added to Pareto front: ")+inIndividual.serialize() + ); + lParetoFrontModified = true; + } + } + + // Return if Pareto front has been modified. + return lParetoFrontModified; + Beagle_StackTraceEndM("bool ParetoFrontHOF::updateWithIndividual(unsigned int inSizeHOF, const Individual& inIndividual, Context& ioContext)"); +} + + +/*! + * \brief Write the actual Pareto front hall-of-fame in a XML streamer. + * \param ioStreamer XML streamer to write the Pareto front hall-of-fame into. + * \param inIndent Whether XML output should be indented. + */ +void ParetoFrontHOF::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + std::vector< ParetoFrontHOF::Member,BEAGLE_STLALLOCATOR > + lTemp(mMembers.begin(), mMembers.end()); + std::sort(lTemp.begin(), lTemp.end(), std::greater()); + ioStreamer.openTag("HallOfFame", inIndent); + ioStreamer.insertAttribute("type", "paretofront"); + ioStreamer.insertAttribute("size", uint2str(lTemp.size())); + for(unsigned int i=0; iwrite(ioStreamer, inIndent); + ioStreamer.closeTag(); + } + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void ParetoFrontHOF::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + + + + diff --git a/lib/beagle-3.0.3/beagle/src/RandomShuffleDemeOp.cpp b/lib/beagle-3.0.3/beagle/src/RandomShuffleDemeOp.cpp new file mode 100644 index 0000000..c35360b --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/RandomShuffleDemeOp.cpp @@ -0,0 +1,63 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/RandomShuffleDemeOp.cpp + * \brief Source code of class RandomShuffleDemeOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:21 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a random shuffle deme operator. + */ +RandomShuffleDemeOp::RandomShuffleDemeOp(Beagle::string inName) : + Operator(inName) +{ } + + +/*! + * \brief Apply the characteristic operation. + * \param ioDeme Deme to use to write the milestone. + * \param ioContext Context of the evolution. + */ +void RandomShuffleDemeOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + std::random_shuffle(ioDeme.begin(), ioDeme.end(), + ioContext.getSystem().getRandomizer()); + Beagle_StackTraceEndM("void RandomShuffleDemeOp::operate(Deme& ioDeme, Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/src/Randomizer.cpp b/lib/beagle-3.0.3/beagle/src/Randomizer.cpp new file mode 100644 index 0000000..dfad478 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Randomizer.cpp @@ -0,0 +1,160 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/Randomizer.cpp + * \brief Source code of class Randomizer. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.12.2.2 $ + * $Date: 2007/05/11 19:13:09 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +using namespace std; +using namespace Beagle; + + +/*! + * \brief Construct a randomizer. + * \param inSeed Random number generator seed, can be overwritten by the registered seed. + */ +Randomizer::Randomizer(unsigned long inSeed) : + Component("Randomizer"), + PACC::Randomizer(inSeed), + mRegisteredSeed(NULL), + mSeed(*state) +{ } + + +/*! + * \brief Initialize the randomizer. The initial seed value is the timer. + * \param ioSystem Reference to the system. + */ +void Randomizer::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle_LogDetailedM( + ioSystem.getLogger(), + "random", "Beagle::Randomizer", + "Initializing randomizer" + ); + + if(ioSystem.getRegister().isRegistered("ec.rand.seed")) { + mRegisteredSeed = castHandleT(ioSystem.getRegister().getEntry("ec.rand.seed")); + } else { + mRegisteredSeed = new ULong(0); + string lLongDescrip = "Randomizer seed. A zero value means that "; +#ifdef BEAGLE_HAVE_DEV_URANDOM + lLongDescrip += "the seed will be initialized using the /dev/urandom device."; +#else // BEAGLE_HAVE_DEV_URANDOM + lLongDescrip += "the seed will be initialized using the current system time."; +#endif // BEAGLE_HAVE_DEV_URANDOM + Register::Description lDescription( + "Randomizer seed", + "ULong", + "0", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ec.rand.seed", mRegisteredSeed, lDescription); + } + Beagle_StackTraceEndM("void Randomizer::initialize(System& ioSystem)"); +} + + +/*! + * \brief Post-initializing the randomizer. + * \param ioSystem Evolutionary system. + */ +void Randomizer::postInit(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + Beagle_LogDetailedM( + ioSystem.getLogger(), + "random", "Beagle::Randomizer", + "Post-initializing randomizer" + ); + + if(mRegisteredSeed->getWrappedValue() == 0) { +#ifdef BEAGLE_HAVE_DEV_URANDOM + std::ifstream lURandom("/dev/urandom", std::ios::binary); + lURandom.read((char*)&mSeed, sizeof(unsigned long)); + lURandom.close(); +#else // BEAGLE_HAVE_DEV_URANDOM + mSeed = MTRand::hash(time(NULL), clock()); +#endif // BEAGLE_HAVE_DEV_URANDOM + MTRand::seed(mSeed); + mRegisteredSeed->getWrappedValue() = mSeed; + } + else if(mRegisteredSeed->getWrappedValue() != mSeed) { + seed(mRegisteredSeed->getWrappedValue()); + mSeed = mRegisteredSeed->getWrappedValue(); + } + Beagle_StackTraceEndM("void Randomizer::postInit(System& ioSystem)"); +} + + +/*! + * \brief Read the state of the randomizer from a XML subtree. + * \param inIter XML iterator to read the mersenne twister randomizer from. + * \param ioSystem Evolutionary system used to read randomizer. + */ +void Randomizer::readWithSystem(PACC::XML::ConstIterator inIter, System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Randomizer")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + string lSeedStr = inIter->getAttribute("seed"); + if(lSeedStr.empty()) + throw Beagle_IOExceptionNodeM(*inIter, "expected randomizer seed!"); + mSeed = str2uint(lSeedStr); + + if(mSeed!=0) { + PACC::XML::ConstIterator lChild = inIter->getFirstChild(); + if((!lChild) || (lChild->getType()!=PACC::XML::eString)) + throw Beagle_IOExceptionNodeM(*lChild, "expected randomizer state!"); + setState(lChild->getValue()); + } + Beagle_StackTraceEndM("void Randomizer::readWithSystem(PACC::XML::ConstIterator inIter, System& ioSystem)"); +} + + +/*! + * \brief Write the state of the randomizer into a XML streamer. + * \param ioStreamer XML streamer to write the randomizer into. + * \param inIndent Whether XML output should be indented. + */ +void Randomizer::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.insertAttribute("seed", uint2str(mSeed)); + if(mSeed!=0) ioStreamer.insertStringContent(getState()); + Beagle_StackTraceEndM("void Randomizer::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} diff --git a/lib/beagle-3.0.3/beagle/src/Register.cpp b/lib/beagle-3.0.3/beagle/src/Register.cpp new file mode 100644 index 0000000..cbe2f79 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Register.cpp @@ -0,0 +1,679 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/Register.cpp + * \brief Source code of class Register. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.23.2.1 $ + * $Date: 2007/05/09 01:51:21 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include +#include +#include +#include +#include + +#ifdef BEAGLE_HAVE_LIBZ +#include "gzstream.h" +#endif // BEAGLE_HAVE_LIBZ + +using namespace Beagle; + + +/*! + * \brief Default constructor of Register::Description. + */ +Register::Description::Description() : + mBrief("[No brief]"), + mType(""), + mDefaultValue(""), + mDescription("[No description]") +{ } + + +/*! + * \brief Construct a Register::Description instance. + * \param inBrief Brief desccription of the parameter. + * \param inType Type of the parameter contained. + * \param inDefaultValue Default value of the parameter. + * \param inDescription Long description of the parameter. + */ +Register::Description::Description(Beagle::string inBrief, + Beagle::string inType, + Beagle::string inDefaultValue, + Beagle::string inDescription) : + mBrief(inBrief), + mType(inType), + mDefaultValue(inDefaultValue), + mDescription(inDescription) +{ } + + +/*! + * \brief Construct register class instance. + */ +Register::Register() : + Component("Register") +{ } + + +/*! + * \brief Add a new description in the register. + * \param inTag Tag of the entry. + * \param inDescription Description of the entry. + * \throw RunTimeException If the entry is already described. + */ +void Register::addDescription(Beagle::string inTag, const Description& inDescription) +{ + Beagle_StackTraceBeginM(); + DescriptionMap::const_iterator lIterDescrip = mDescriptions.find(inTag); + if(lIterDescrip != mDescriptions.end()) { + string lMessage = "The entry \""; + lMessage += inTag; + lMessage += "\" is already described!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + mDescriptions[inTag] = inDescription; + Beagle_StackTraceEndM("void Register::addDescription(string inTag, const Description& inDescription)"); +} + + +/*! + * \brief Add a new entry in the register. + * \param inTag Tag of the entry. + * \param inEntry Value of the entry. + * \param inDescription Description of the entry. + * \throw RunTimeException If the entry is already in the register. + */ +void Register::addEntry(Beagle::string inTag, Object::Handle inEntry, + const Register::Description& inDescription) +{ + Beagle_StackTraceBeginM(); + Map::const_iterator lIterObj = mParameters.find(inTag); + if(lIterObj != mParameters.end()) { + string lMessage = "The entry \""; + lMessage += inTag; + lMessage += "\" is already in the register!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + mParameters[inTag] = inEntry; + addDescription(inTag,inDescription); + Beagle_StackTraceEndM("void Register::addEntry(string inTag, Object::Handle inEntry, const Register::Description& inDescription)"); +} + + +/*! + * \brief Delete an entry of the register. + * \param inTag Tag of the entry. + * \return Smart pointer to the deleted object. + * \throw RunTimeException If the entry is not in the register. + */ +Object::Handle Register::deleteEntry(Beagle::string inTag) +{ + Beagle_StackTraceBeginM(); + Map::iterator lIterObj = mParameters.find(inTag); + if(lIterObj == mParameters.end()) { + string lMessage = "The entry \""; + lMessage += inTag; + lMessage += "\" is not registered!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + Object::Handle lObjHandle = lIterObj->second; + mParameters.erase(lIterObj); + DescriptionMap::iterator lIterDescrip = mDescriptions.find(inTag); + if(lIterDescrip == mDescriptions.end()) { + string lMessage = "No description for entry \""; + lMessage += inTag; + lMessage += "\"!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + mDescriptions.erase(lIterDescrip); + return lObjHandle; + Beagle_StackTraceEndM("Object::Handle Register::deleteEntry(string inTag)"); +} + + +/*! + * \brief Get the description of the given entry. + * \param inTag Tag name of the entry. + * \throw RunTimeException If the tag is not registred. + */ +const Register::Description& Register::getDescription(Beagle::string inTag) const +{ + Beagle_StackTraceBeginM(); + DescriptionMap::const_iterator lIterDescrip = mDescriptions.find(inTag); + if(lIterDescrip == mDescriptions.end()) { + string lMessage = "No description for entry \""; + lMessage += inTag; + lMessage += "\"!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + return lIterDescrip->second; + Beagle_StackTraceEndM("const Register::Description& Register::getDescription(string inTag) const"); +} + + +/*! + * \brief Erase an argument from the command-line. + * \param inN Index of the argument to remove. + * \param ioArgc Number of elements on the command-line. + * \param ioArgv Elements of the command-line. + * \return Removed element of the command-line. + */ +char* Register::eraseArg(int inN, int& ioArgc, char** ioArgv) const +{ + Beagle_StackTraceBeginM(); + Beagle_BoundCheckAssertM(inN, 1, (ioArgc-1)); + char *lTemp = ioArgv[inN]; + for(int i=inN; i(getEntry("ec.conf.file")); + } + else { + mFileName = new String(""); + string lLongDescripFN = "The name of a configuration file containing "; + lLongDescripFN += "evolver and parameter values. A typical configuration file can "; + lLongDescripFN += "be created with parameter \"ec.conf.dump\"."; + Description lFileNameDescription( + "Configuration filename", + "String", + "", + lLongDescripFN + ); + addEntry("ec.conf.file", mFileName, lFileNameDescription); + } + Beagle_StackTraceEndM("void Register::initialize(System& ioSystem)"); +} + + +/*! + * \brief Interpret the command-line to extract the appropriated arguments. + * \param ioSystem System to use to log messages. + * \param ioArgc Number of elements of the command-line. + * \param ioArgv Elements of the command-line. + */ +void Register::interpretArgs(System& ioSystem, int& ioArgc, char** ioArgv) +{ + Beagle_StackTraceBeginM(); + for(int i=1; isecond->read(lRootIter); + } catch(Exception& inException) { + std::ostringstream lOSS; + lOSS << "An exception of the type \""; + lOSS << inException.getExceptionName(); + lOSS << "\" had been thrown during the command-line parsing. "; + lOSS << "The reason is: "; + lOSS << inException.getMessage(); + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } catch(std::runtime_error& inException) { + std::ostringstream lOSS; + lOSS << "A runtime exception had been thrown during the command-line parsing. "; + lOSS << "The reason is: "; + lOSS << inException.what(); + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + + // If it is a configuration file name. + if((lTag == "ec.conf.file") && + (lStringValue.empty()==false) && + (lStringValue != "")) { + readParametersFile(lStringValue, ioSystem); + } + + if(lNext != NULL) lArg = lNext+1; + else break; + } + } + } + Beagle_StackTraceEndM("void Register::interpretArgs(System& ioSystem, int& ioArgc, char** ioArgv)"); +} + + +/*! + * \brief To check whether a given tag-entry is registered. + * \param inTag Tag of the entry. + * \return True if an entry with the given tag is registred, false if not. + */ +bool Register::isRegistered(Beagle::string inTag) const +{ + Beagle_StackTraceBeginM(); + Map::const_iterator lIterObj = mParameters.find(inTag); + return (lIterObj != mParameters.end()); + Beagle_StackTraceEndM("bool Register::isRegistered(string inTag) const"); +} + + +/*! + * \brief Modify the smart pointer of an entry in the register. + * \param inTag Tag of the entry. + * \param inNewEntry New entry that will replace to old one. + * \return Handle to the old entry. + * \throw RunTimeException If the entry is not found in the register. + */ +Object::Handle Register::modifyEntry(Beagle::string inTag, Object::Handle inNewEntry) +{ + Beagle_StackTraceBeginM(); + Map::iterator lIterObj = mParameters.find(inTag); + if(lIterObj == mParameters.end()) { + string lMessage = "The entry \""; + lMessage += inTag; + lMessage += "\" is not registered!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + Object::Handle lObjHandle = lIterObj->second; + lIterObj->second = inNewEntry; + return lObjHandle; + Beagle_StackTraceEndM("Object::Handle Register::modifyEntry(string inTag, Object::Handle inNewEntry)"); +} + + +/*! + * \brief Modify the description of an entry in the register. + * \param inTag Tag of the entry. + * \param inNewDescription New description that will replace to old one. + * \return Old description. + * \throw RunTimeException If the entry is not found in the register. + */ +Register::Description Register::modifyDescription(Beagle::string inTag, + const Register::Description& inNewDescription) +{ + Beagle_StackTraceBeginM(); + DescriptionMap::iterator lIterDescrip = mDescriptions.find(inTag); + if(lIterDescrip == mDescriptions.end()) { + string lMessage = "The entry \""; + lMessage += inTag; + lMessage += "\" is not registered!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + Description lDescription = lIterDescrip->second; + lIterDescrip->second = inNewDescription; + return lDescription; + Beagle_StackTraceEndM("Register::Description Register::modifyDescription(string inTag, const Register::Description& inNewDescription)"); +} + + +/*! + * \brief Read the parameters from the command-line and files. + * \param ioSystem System to use to log messages. + * \param ioArgc Number of arguments on the command-line. + * \param ioArgv Arguments of the command-line. + * \throw Exception If something bad occured ;). + */ +void Register::parseCommandLine(System& ioSystem, int& ioArgc, char** ioArgv) +{ + Beagle_StackTraceBeginM(); + string lCommandLine = ioArgv[0]; + for(int i=1; i 4) { + string lSuffix(lFileName.end()-4, lFileName.end()); + if(lSuffix == ".exe") lFileName.resize(lFileName.size()-4); + } + lFileName += ".conf"; + std::ifstream lDefaultIS(lFileName.c_str()); + bool lGoodFile = lDefaultIS.good(); + lDefaultIS.close(); + if(lGoodFile) readParametersFile(lFileName, ioSystem); + + string::size_type lLTLibPos = lFileName.find(string(".libs/lt-")); + if(lLTLibPos != string::npos) { + string lFilenameNoLT(lFileName.begin(), lFileName.begin()+lLTLibPos); + lFilenameNoLT.append(lFileName.begin()+lLTLibPos+9, lFileName.end()); + std::ifstream lDefaultISNoLT(lFilenameNoLT.c_str()); + bool lGoodFileNoLT = lDefaultISNoLT.good(); + lDefaultISNoLT.close(); + if(lGoodFileNoLT) readParametersFile(lFilenameNoLT, ioSystem); + } + + string::size_type lLTPos = lFileName.find(string("lt-")); + if(lLTPos != string::npos) { + string lFilenameNoLT(lFileName.begin(), lFileName.begin()+lLTPos); + lFilenameNoLT.append(lFileName.begin()+lLTPos+3, lFileName.end()); + std::ifstream lDefaultISNoLT(lFilenameNoLT.c_str()); + bool lGoodFileNoLT = lDefaultISNoLT.good(); + lDefaultISNoLT.close(); + if(lGoodFileNoLT) readParametersFile(lFilenameNoLT, ioSystem); + } + + interpretArgs(ioSystem, ioArgc, ioArgv); + Beagle_StackTraceEndM("void Register::parseCommandLine(System& ioSystem, int& ioArgc, char** ioArgv)"); +} + + +/*! + * \brief Read a register from a XML subtree. + * \param inIter XML iter to read the register from. + * \throw Beagle::IOException If reading from the stream problems occured. + */ +void Register::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Register")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Entry")) { + string lEntryKey = lChild->getAttribute("key").c_str(); + if(lEntryKey.empty()) + throw Beagle_IOExceptionNodeM(*lChild, "no key given for actual entry!"); + if(mParameters.find(lEntryKey) == mParameters.end()) continue; + PACC::XML::ConstIterator lChild2 = lChild->getFirstChild(); + mParameters[lEntryKey]->read(lChild2); + } + } + Beagle_StackTraceEndM("void Register::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Read parameters from a file. + * \param inFileName File name of the parameters to read. + * \param ioSystem Evolutionary system. + */ +void Register::readParametersFile(Beagle::string inFileName, System& ioSystem) +{ + Beagle_StackTraceBeginM(); + mFileName->setWrappedValue(inFileName); +#ifdef BEAGLE_HAVE_LIBZ + igzstream lIFStream(inFileName.c_str()); +#else // BEAGLE_HAVE_LIBZ + std::ifstream lIFStream(inFileName.c_str()); +#endif // BEAGLE_HAVE_LIBZ + if(lIFStream.good() == false) { + string lMessage = "The filename \""; + lMessage += inFileName; + lMessage += "\" doesn't refer to a valid parameter file!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + Beagle_LogInfoM( + ioSystem.getLogger(), + "register", "Beagle::Register", + string("Reading parameter file named \"")+inFileName+"\"" + ); + PACC::XML::Document lParser(lIFStream, inFileName.c_str()); + lIFStream.close(); + for(PACC::XML::ConstIterator lIter=lParser.getFirstRoot(); lIter; ++lIter) { + if((lIter->getType()==PACC::XML::eData) && (lIter->getValue()=="Register")) { + readWithSystem(lIter, ioSystem); + } + else if((lIter->getType()==PACC::XML::eData) && (lIter->getValue()=="Beagle")) { + for(PACC::XML::ConstIterator lChild = lIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Register")) { + readWithSystem(lChild, ioSystem); + } + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="System")) { + ioSystem.read(lChild); + } + } + } + } + Beagle_StackTraceEndM("void Register::readParametersFile(string inFileName, System& ioSystem)"); +} + + +/*! + * \brief Read a register from a Beagle input stream. + * \param inIter XML iterator to read the register from. + * \param ioSystem Reference to evolutionary system. + * \throw Beagle::IOException If reading from the stream problems occured. + */ +void Register::readWithSystem(PACC::XML::ConstIterator inIter, System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Register")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Entry")) { + string lEntryKey = lChild->getAttribute("key").c_str(); + if(lEntryKey.empty()) + throw Beagle_IOExceptionNodeM(*lChild, "no key given for actual entry!"); + if(mParameters.find(lEntryKey) == mParameters.end()) { + Beagle_LogBasicM( + ioSystem.getLogger(), + "register", "Beagle::Register", + string("Warning: error while reading register, parameter named \"")+ + lEntryKey+"\" is not registered!" + ); + continue; + } + PACC::XML::ConstIterator lChild2 = lChild->getFirstChild(); + mParameters[lEntryKey]->read(lChild2); + Beagle_LogTraceM( + ioSystem.getLogger(), + "register", "Beagle::Register", + string("Register entry \"")+lEntryKey+string("\" is now ")+ + mParameters[lEntryKey]->serialize() + ); + } + } + Beagle_StackTraceEndM("void Register::readWithSystem(PACC::XML::ConstIterator inIter, System& ioSystem)"); +} + + +/*! + * \brief Display the program usage in the output stream. + * \param ioArgv Elements of the command-line. + * \param ioOs C++ output stream to write the usage into. + */ +void Register::showHelp(char** ioArgv, std::ostream& ioOs) const +{ + Beagle_StackTraceBeginM(); + ioOs << "Open BEAGLE detailed help (package: "; + ioOs << BEAGLE_PACKAGE << ", version: " << BEAGLE_VERSION << ")" << std::endl << std::endl; + ioOs << "usage: " << ioArgv[0] << " [-OBparameter=value] ..." << std::endl; + ioOs << " " << ioArgv[0] << " [-OBparam1=value1,param2=value2, ... ,paramN=valueN] ..."; + ioOs << std::endl << std::endl; + + ioOs << "Supported parameters:" << std::endl << std::endl; + for(DescriptionMap::const_iterator lIter=mDescriptions.begin(); + lIter!=mDescriptions.end(); ++lIter) { + ioOs << " " << lIter->first; + + if(lIter->second.mType.empty() == false) { + unsigned int lCountSize = lIter->first.size()+2; + Beagle_AssertM(lCountSize <= 46); + string lTmpStr1(46-lCountSize, ' '); + ioOs << lTmpStr1; + ioOs << "<" << lIter->second.mType << "> (def: "; + ioOs << lIter->second.mDefaultValue << ")"; + } + ioOs << std::endl; + + string lDescription = lIter->second.mDescription; + wrapString(lDescription, 74); + string lBlank(" "); + lDescription = lBlank + lDescription; + for(unsigned int i=0; ifirst; + unsigned int lCountSize = lIter->first.size()+4; + if(lIter->second.mType.empty() == false) { + ioOs << "=<" << lIter->second.mType << ">"; + lCountSize += lIter->second.mType.size()+3; + } + Beagle_AssertM(lCountSize <= 46); + string lTmpStr3(46-lCountSize, ' '); + ioOs << lTmpStr3; + ioOs << lIter->second.mBrief << std::endl; + } + ioOs << std::endl << std::flush; + Beagle_StackTraceEndM("void Register::showUsage(char** ioArgv, std::ostream& ioOs) const"); +} + + +/*! + * \brief Write a register into a Beagle output stream. + * \param ioStreamer XML streamer to read the register to. + * \param inIndent Whether XML output should be indented. + */ +void Register::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Register", inIndent); + for(Map::const_iterator lIter=mParameters.begin(); lIter != mParameters.end(); ++lIter) { + DescriptionMap::const_iterator lDescription=mDescriptions.find(lIter->first); + if(lDescription != mDescriptions.end()) { + std::ostringstream lOSS; + lOSS << lIter->first << " ["; + lOSS << lDescription->second.mType << "]: "; + lOSS << lDescription->second.mDescription; + ioStreamer.insertComment(lOSS.str()); + } + ioStreamer.openTag("Entry", false); + ioStreamer.insertAttribute("key", lIter->first); + lIter->second->write(ioStreamer, false); + ioStreamer.closeTag(); + } + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void Register::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/RegisterReadOp.cpp b/lib/beagle-3.0.3/beagle/src/RegisterReadOp.cpp new file mode 100644 index 0000000..9b72c95 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/RegisterReadOp.cpp @@ -0,0 +1,115 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/RegisterReadOp.cpp + * \brief Source code of class RegisterReadOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:21 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a parameters reading operator. + * \param inName Name of the read parameter operator. + */ +RegisterReadOp::RegisterReadOp(Beagle::string inName) : + Operator(inName), + mReadingInterval(NULL) +{ } + + +/*! + * \brief Initialize the parameters reading operator. + * \param ioSystem System to use to initialize the operator. + */ +void RegisterReadOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if(ioSystem.getRegister().isRegistered("ec.conf.readinterval")) { + mReadingInterval = + castHandleT(ioSystem.getRegister().getEntry("ec.conf.readinterval")); + } else { + mReadingInterval = new UInt(0); + string lLongDescrip = "Interval between each register read, in number of generations. "; + lLongDescrip += "The name of the register file is specified by parameter "; + lLongDescrip += "\"rg.read.filename\". When zero, the register is read only once, "; + lLongDescrip += "during initialization."; + Register::Description lDescription( + "Register reading interval", + "UInt", + "0", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ec.conf.readinterval", mReadingInterval, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ec.conf.file")) { + mFileName = castHandleT(ioSystem.getRegister().getEntry("ec.conf.file")); + } + else { + mFileName = new String(""); + string lLongDescripFN = "The name of a configuration file containing "; + lLongDescripFN += "evolver and parameter values. A typical configuration file can "; + lLongDescripFN += "be created with parameter \"ec.conf.dump\"."; + Register::Description lFileNameDescription( + "Configuration filename", + "String", + "\"\"", + lLongDescripFN + ); + ioSystem.getRegister().addEntry("ec.conf.file", mFileName, lFileNameDescription); + } + Beagle_StackTraceEndM("void RegisterReadOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the characteristic parameters reading operation. + * \param ioDeme Actual deme of the evolution. + * \param ioContext Context of the evolution. + */ +void RegisterReadOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(mReadingInterval->getWrappedValue() == 0) return; + if(ioContext.getGeneration() == 0) return; + if((ioContext.getGeneration() % mReadingInterval->getWrappedValue()) != 0) return; + if(ioContext.getDemeIndex() != 0) return; + if(mFileName->getWrappedValue().empty()) return; + if(mFileName->getWrappedValue() == "") return; + ioContext.getSystem().getRegister().readParametersFile(mFileName->getWrappedValue(), + ioContext.getSystem()); + Beagle_StackTraceEndM("void RegisterReadOp::operate(Deme& ioDeme, Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/src/ReplacementStrategyOp.cpp b/lib/beagle-3.0.3/beagle/src/ReplacementStrategyOp.cpp new file mode 100644 index 0000000..aa78c77 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/ReplacementStrategyOp.cpp @@ -0,0 +1,178 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/ReplacementStrategyOp.cpp + * \brief Implementation of class ReplacementStrategyOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.11.2.1 $ + * $Date: 2007/05/09 01:51:21 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Build replacement strategy operator. + * \param inName Name of the replacement strategy operator. + */ +ReplacementStrategyOp::ReplacementStrategyOp(Beagle::string inName) : + Operator(inName) +{ } + + +/*! + * \brief Build routing tables for breeding children. + * \param outRoulette Normalized probability tables. + * \param ioContext Evolutionary context used. + */ +void ReplacementStrategyOp::buildRoulette(RouletteT& outRoulette, + Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(getRootNode()); + + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "replacement-strategy", "Beagle::ReplacementStrategyOp", + "Building routing tables of the replacement strategy" + ); + + outRoulette.clear(); + unsigned int i=0; + for(BreederNode::Handle lChild=getRootNode(); lChild!=NULL; lChild=lChild->getNextSibling()) { + outRoulette.insert(i++, lChild->getBreederOp()->getBreedingProba(lChild->getFirstChild())); + } + + if(std::fabs(1.0 - outRoulette.back().first) > 0.01) { + Beagle_LogInfoM( + ioContext.getSystem().getLogger(), + "replacement-strategy", "Beagle::ReplacementStrategyOp", + string("Sum of probabilities of breeder operators children to ") + + string("replacement strategy named \"") + getName() + + string("\" is different from 1.0 (value: ") + dbl2str(outRoulette.back().first) + + string(")") + ); + } + + outRoulette.optimize(); + Beagle_StackTraceEndM("void ReplacementStrategyOp::buildRoulette(RouletteT& outRoulette, Context& ioContext) const"); +} + + +/*! + * \brief Initialize the operator. + * \param ioSystem Reference to the evolutionary system. + */ +void ReplacementStrategyOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if(getRootNode() != NULL) getRootNode()->initialize(ioSystem); + Beagle_StackTraceEndM("void ReplacementStrategyOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Call post initialization hook of the operator. + * \param ioSystem Reference to the evolutionary system. + */ +void ReplacementStrategyOp::postInit(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if(getRootNode() != NULL) getRootNode()->postInit(ioSystem); + Beagle_StackTraceEndM("void ReplacementStrategyOp::postInit(System& ioSystem)"); +} + + +/*! + * \brief Read a replacement strategy operator for XML subtree. + * \param inIter XML iterator to use to read replacement strategy operator. + * \param inOpMap Operator map to use to read replacement strategy operator. + */ +void ReplacementStrategyOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + + setRootNode(NULL); + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == PACC::XML::eData) { + OperatorMap::iterator lIterOp = inOpMap.find(lChild->getValue().c_str()); + if(lIterOp == inOpMap.end()) continue; + + BreederOp::Handle lOp; + try { + lOp = castHandleT(lIterOp->second); + } + catch(BadCastException&) { + std::ostringstream lOSS; + lOSS << "Operator \"" << lChild->getValue() << "\" is not a breeder operator!"; + throw Beagle_IOExceptionNodeM(*lChild, lOSS.str().c_str()); + } + lOp = castHandleT(lOp->giveReference()); + + if(getRootNode() == NULL) { + setRootNode(new BreederNode(lOp)); + getRootNode()->readWithMap(lChild, inOpMap); + } + else { + BreederNode::Handle lBreederChild; + for(lBreederChild=getRootNode(); lBreederChild->getNextSibling()!=NULL; + lBreederChild=lBreederChild->getNextSibling()); + lBreederChild->setNextSibling(new BreederNode(lOp)); + lBreederChild->getNextSibling()->readWithMap(lChild, inOpMap); + } + } + } + Beagle_StackTraceEndM("void ReplacementStrategyOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write replacement strategy operator into XML streamer. + * \param ioStreamer XML streamer to write replacement strategy operator into. + * \param inIndent Whether XML output should be indented. + */ +void ReplacementStrategyOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag(getName().c_str(), inIndent); + for(BreederNode::Handle lNode=getRootNode(); lNode!=NULL; lNode=lNode->getNextSibling()) { + lNode->write(ioStreamer, inIndent); + } + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void ReplacementStrategyOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/RunTimeException.cpp b/lib/beagle-3.0.3/beagle/src/RunTimeException.cpp new file mode 100644 index 0000000..b3a5eeb --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/RunTimeException.cpp @@ -0,0 +1,62 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/RunTimeException.cpp + * \brief Implementation of class RunTimeException. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:21 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct the RunTimeException using given values. + * \param inMessage Message explaining the exception. + * \param inFileName Name of the file where the error state had been detected. + * \param inLineNumber Line number in the filename. + */ +RunTimeException::RunTimeException(Beagle::string inMessage, + Beagle::string inFileName, + unsigned int inLineNumber) : + TargetedException(inMessage,inFileName,inLineNumber) +{ } + + +/*! + * \brief Get the name of the exception. + * \return Name of the exception. + */ +const char* RunTimeException::getExceptionName() const throw() +{ + return "Beagle::RunTimeException"; +} + diff --git a/lib/beagle-3.0.3/beagle/src/SelectParsimonyTournOp.cpp b/lib/beagle-3.0.3/beagle/src/SelectParsimonyTournOp.cpp new file mode 100644 index 0000000..87234af --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/SelectParsimonyTournOp.cpp @@ -0,0 +1,156 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/SelectParsimonyTournOp.cpp + * \brief Source code of class SelectParsimonyTournOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.4.2.1 $ + * $Date: 2007/05/09 01:51:21 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a lexicographical parsimony pressure tournament selection operator. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the tournament selection operator. + */ +SelectParsimonyTournOp::SelectParsimonyTournOp(Beagle::string inReproProbaName, + Beagle::string inName) : + SelectionOp(inReproProbaName, inName), + mNumberParticipants(NULL) +{ } + + +/*! + * \brief Initialize the parsimony tournament selection operator. + * \param ioSystem System to use to initialize the operator. + */ +void SelectParsimonyTournOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + SelectionOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ec.sel.tournsize")) { + mNumberParticipants = + castHandleT(ioSystem.getRegister().getEntry("ec.sel.tournsize")); + } else { + mNumberParticipants = new UInt(2); + Register::Description lDescription( + "Selection tournaments size", + "UInt", + "2", + "Number of participants for tournament selection." + ); + ioSystem.getRegister().addEntry("ec.sel.tournsize", mNumberParticipants, lDescription); + } + Beagle_StackTraceEndM("void SelectParsimonyTournOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Select an individual using the parsimony tournament selection method. + * \param ioPool Individual pool to use for selection. + * \param ioContext Context of the evolution. + * \return Index of the choosen individual in the pool. + */ +unsigned int SelectParsimonyTournOp::selectIndividual(Individual::Bag& ioPool, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_ValidateParameterM(mNumberParticipants->getWrappedValue() > 0, + "ec.sel.tournsize", ">0"); + + unsigned int lChoosenIndividual = + ioContext.getSystem().getRandomizer().rollInteger(0,((unsigned int)ioPool.size())-1); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::SelectParsimonyTournOp", + string("Starting by choosing the ")+ + uint2ordinal(lChoosenIndividual+1)+" individual" + ); + + for(unsigned int j=1; jgetWrappedValue(); j++) { + unsigned int lTriedIndividual = + ioContext.getSystem().getRandomizer().rollInteger(0,((unsigned int)ioPool.size())-1); + if(ioPool[lChoosenIndividual]->isLess(*ioPool[lTriedIndividual])) { + lChoosenIndividual = lTriedIndividual; + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::SelectParsimonyTournOp", + string("Trying the ")+uint2ordinal(lTriedIndividual+1)+ + " individual -> choosing it" + ); + } + else if(ioPool[lChoosenIndividual]->isEqual(*ioPool[lTriedIndividual])) { + if(ioPool[lTriedIndividual]->getSize() < ioPool[lChoosenIndividual]->getSize()) { + lChoosenIndividual = lTriedIndividual; + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::SelectParsimonyTournOp", + string("Trying the ")+uint2ordinal(lTriedIndividual+1)+ + " individual -> choosing it as it is smaller (parsimony)" + ); + } + else { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::SelectParsimonyTournOp", + string("Trying the ")+uint2ordinal(lTriedIndividual+1)+ + " individual -> the previously choosen one is smaller (parsimony)" + ); + } + } + else { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::SelectParsimonyTournOp", + string("Trying the ")+uint2ordinal(lTriedIndividual+1)+ + " individual -> the previously choosen one is better" + ); + } + } + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::SelectParsimonyTournOp", + string("Selecting the ")+uint2ordinal(lChoosenIndividual+1)+ + " individual" + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::SelectParsimonyTournOp", + string("Selected individual is: ")+ + ioPool[lChoosenIndividual]->serialize() + ); + + return lChoosenIndividual; + Beagle_StackTraceEndM("unsigned int SelectParsimonyTournOp::selectIndividual(Individual::Bag& ioPool, Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/src/SelectRandomOp.cpp b/lib/beagle-3.0.3/beagle/src/SelectRandomOp.cpp new file mode 100644 index 0000000..821a4a5 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/SelectRandomOp.cpp @@ -0,0 +1,64 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/SelectRandomOp.cpp + * \brief Source code of class SelectRandomOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:21 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a random selection operator. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the random selection operator. + */ +SelectRandomOp::SelectRandomOp(Beagle::string inReproProbaName, Beagle::string inName) : + SelectionOp(inReproProbaName, inName) +{ } + + +/*! + * \brief Select an individual in a population randomly (using an uniform distribution). + * \param ioPool Pool of individuals to use for selection. + * \param ioContext Evolutionary context. + */ +unsigned int SelectRandomOp::selectIndividual(Individual::Bag& ioPool, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(ioPool.size() < 2) return 0; + return ioContext.getSystem().getRandomizer().rollInteger(0, ioPool.size()-1); + Beagle_StackTraceEndM("unsigned int SelectRandomOp::selectIndividual(Individual::Bag& ioPool, Context& ioContext)"); +} + + diff --git a/lib/beagle-3.0.3/beagle/src/SelectRouletteOp.cpp b/lib/beagle-3.0.3/beagle/src/SelectRouletteOp.cpp new file mode 100644 index 0000000..c8c4b1f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/SelectRouletteOp.cpp @@ -0,0 +1,97 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/SelectRouletteOp.cpp + * \brief Source code of class SelectRouletteOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:21 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a proportionnal roulette selection operator. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the proportionnal roulette selection operator. + */ +SelectRouletteOp::SelectRouletteOp(Beagle::string inReproProbaName, Beagle::string inName) : + SelectionOp(inReproProbaName, inName), + mRouletteValid(false) +{ } + + +/*! + * \brief Apply roulette selection operation. + * \param ioDeme Deme on which roulette selection is applied. + * \param ioContext Evolutionary context. + */ +void SelectRouletteOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + mRoulette.clear(); + for(Individual::Bag::size_type i=0; i(ioDeme[i]->getFitness()); + mRoulette.insert(i, lFitness->getValue()); + } + mRoulette.optimize(); + mRouletteValid = true; + SelectionOp::operate(ioDeme, ioContext); + mRouletteValid = false; + Beagle_StackTraceEndM("void SelectRouletteOp::operate(Deme& ioDeme, Context& ioContext)"); +} + + +/*! + * \brief Select an individual using proportional roulette selection. + * \param ioPool Pool of individuals on which roulette selection is applied. + * \param ioContext Evolutionary context. + * \warning To use roulette selection, every individuals composing the population must have + * non-negative fitness value. Roulette selection is valid only with FitnessSimple object + * and derived (FitnessSimpleMin, FitnessKoza). + */ +unsigned int SelectRouletteOp::selectIndividual(Individual::Bag& ioPool, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(ioPool.size() == 0) return 0; + if(mRouletteValid == false) { + mRoulette.clear(); + for(Individual::Bag::size_type i=0; i(ioPool[i]->getFitness()); + mRoulette.insert(i, lFitness->getValue()); + } + } + return mRoulette.select(ioContext.getSystem().getRandomizer()); + Beagle_StackTraceEndM("unsigned int SelectRouletteOp::selectIndividual(Individual::Bag& ioPool, Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/SelectTournamentOp.cpp b/lib/beagle-3.0.3/beagle/src/SelectTournamentOp.cpp new file mode 100644 index 0000000..babd33f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/SelectTournamentOp.cpp @@ -0,0 +1,136 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/SelectTournamentOp.cpp + * \brief Source code of class SelectTournamentOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a tournament selection operator. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the tournament selection operator. + */ +SelectTournamentOp::SelectTournamentOp(Beagle::string inReproProbaName, Beagle::string inName) : + SelectionOp(inReproProbaName, inName), + mNumberParticipants(NULL) +{ } + + +/*! + * \brief Initialize the tournament selection operator. + * \param ioSystem System to use to initialize the operator. + */ +void SelectTournamentOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + SelectionOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ec.sel.tournsize")) { + mNumberParticipants = + castHandleT(ioSystem.getRegister().getEntry("ec.sel.tournsize")); + } else { + mNumberParticipants = new UInt(2); + Register::Description lDescription( + "Selection tournaments size", + "UInt", + "2", + "Number of participants for tournament selection." + ); + ioSystem.getRegister().addEntry("ec.sel.tournsize", mNumberParticipants, lDescription); + } + Beagle_StackTraceEndM("void SelectTournamentOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Select an individual using the tournament selection method. + * \param ioPool Individual pool to use for selection. + * \param ioContext Context of the evolution. + * \return Index of the choosen individual in the pool. + */ +unsigned int SelectTournamentOp::selectIndividual(Individual::Bag& ioPool, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_ValidateParameterM(mNumberParticipants->getWrappedValue() > 0, + "ec.sel.tournsize", ">0"); + + unsigned int lChoosenIndividual = + ioContext.getSystem().getRandomizer().rollInteger(0,((unsigned int)ioPool.size())-1); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::SelectTournamentOp", + string("Starting by choosing the ")+ + uint2ordinal(lChoosenIndividual+1)+" individual" + ); + + for(unsigned int j=1; jgetWrappedValue(); j++) { + unsigned int lTriedIndividual = + ioContext.getSystem().getRandomizer().rollInteger(0,((unsigned int)ioPool.size())-1); + if(ioPool[lChoosenIndividual]->isLess(*ioPool[lTriedIndividual])) { + lChoosenIndividual = lTriedIndividual; + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::SelectTournamentOp", + string("Trying the ")+uint2ordinal(lTriedIndividual+1)+ + " individual -> choosing it" + ); + } + else { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::SelectTournamentOp", + string("Trying the ")+uint2ordinal(lTriedIndividual+1)+ + " individual -> the previously choosen one is better" + ); + } + } + + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::SelectTournamentOp", + string("Selecting the ")+uint2ordinal(lChoosenIndividual+1)+ + " individual" + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::SelectTournamentOp", + string("Selected individual is: ")+ + ioPool[lChoosenIndividual]->serialize() + ); + + return lChoosenIndividual; + Beagle_StackTraceEndM("unsigned int SelectTournamentOp::selectIndividual(Individual::Bag& ioPool, Context& ioContext)"); +} diff --git a/lib/beagle-3.0.3/beagle/src/SelectionOp.cpp b/lib/beagle-3.0.3/beagle/src/SelectionOp.cpp new file mode 100644 index 0000000..369ec80 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/SelectionOp.cpp @@ -0,0 +1,201 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/SelectionOp.cpp + * \brief Source code of class SelectionOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.12.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a new selection operator. + * \param inReproProbaName Reproduction probability parameter name used in register. + * \param inName Name of the operator. + */ +SelectionOp::SelectionOp(Beagle::string inReproProbaName, Beagle::string inName) : + BreederOp(inName), + mReproProbaName(inReproProbaName) +{ } + + +/*! + * \brief Apply the breeding operation on a breeding pool, returning a bred individual. + * \param inBreedingPool Breeding pool to use for the breeding operation. + * \param inChild Node handle associated to child node in the breeder tree. + * \param ioContext Evolutionary context of the breeding operation. + * \return Bred individual. + */ +Individual::Handle SelectionOp::breed(Individual::Bag& inBreedingPool, + BreederNode::Handle inChild, + Context& ioContext) +{ + Beagle_StackTraceBeginM(); + unsigned int lSelectedIndiv = selectIndividual(inBreedingPool, ioContext); + Beagle_AssertM(lSelectedIndiv < inBreedingPool.size()); + Individual& lOriginalIndiv = *inBreedingPool[lSelectedIndiv]; + Individual::Handle lClonedIndiv = + castHandleT(ioContext.getDeme().getTypeAlloc()->cloneData(lOriginalIndiv)); + Beagle_NonNullPointerAssertM(lClonedIndiv); + ioContext.setIndividualIndex(lSelectedIndiv); + ioContext.setIndividualHandle(lClonedIndiv); + return lClonedIndiv; + Beagle_StackTraceEndM("Individual::Handle SelectionOp::breed(Individual::Bag& inBreedingPool, BreederNode::Handle inChild, Context& ioContext)"); +} + + +/*! + * \return Return selection probability of breeder operator. + * \param inChild Child node in the breeder tree. + */ +float SelectionOp::getBreedingProba(BreederNode::Handle inChild) +{ + Beagle_StackTraceBeginM(); + return mReproductionProba->getWrappedValue(); + Beagle_StackTraceEndM("float SelectionOp::getBreedingProba(BreederNode::Handle inChild)"); +} + + +/*! + * \brief Initialize the operator. + * \param ioSystem Reference to the evolutionary system. + */ +void SelectionOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + BreederOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mReproProbaName)) { + mReproductionProba = + castHandleT(ioSystem.getRegister().getEntry(mReproProbaName)); + } else { + mReproductionProba = new Float(0.1f); + Register::Description lDescription( + "Reproduction probability", + "Float", + "0.1", + string("Probability than an individual is reproducted as is, without modification. ")+ + string("This parameter is useful only in selection and initialization operators that ")+ + string("are composing a breeder tree.") + ); + ioSystem.getRegister().addEntry(mReproProbaName, mReproductionProba, lDescription); + } + Beagle_StackTraceEndM("void SelectionOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the selection operation on all the deme. + * \param ioDeme Deme to which the selection operation is applied. + * \param ioContext Evolutionary context. + */ +void SelectionOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::SelectionOp", + string("Applying selection on the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + + if(ioContext.getGeneration() == 0) { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "selection", "Beagle::SelectionOp", + string("Note that the reproduction probability parameter named \"") + mReproProbaName + + string("\" is ignored when no breeder is set in the evolver, as it seems ") + + " actually the case." + ); + } + + std::vector< unsigned int,BEAGLE_STLALLOCATOR > lIndices(ioDeme.size(), 0); + for(unsigned int i=0; i 1) { + while(lIndices[lNextEmpty] != 0) lNextEmpty++; + ioDeme.getTypeAlloc()->copyData(*ioDeme[lNextEmpty], *ioDeme[lNextFilled]); + lIndices[lNextFilled]--; + lIndices[lNextEmpty]++; + } + while((lNextFilled < ioDeme.size()) && (lIndices[lNextFilled] <= 1)) lNextFilled++; + } + Beagle_StackTraceEndM("void SelectionOp::operate(Deme& ioDeme, Context& ioContext)"); +} + + +/*! + * \brief Read a selection operator from a XML subtree. + * \param inIter XML iterator to use to read selection operator. + * \param inOpMap Operator map to use to read selection operator. + */ +void SelectionOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string mReproProbaReadName = inIter->getAttribute("repropb").c_str(); + if(mReproProbaReadName.empty() == false) mReproProbaName = mReproProbaReadName; + Beagle_StackTraceEndM("void SelectionOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Write selection operator into XML streamer. + * \param ioStreamer XML streamer to write selection operator into. + * \param inIndent Whether XML output should be indented. + */ +void SelectionOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.insertAttribute("repropb", mReproProbaName); + Beagle_StackTraceEndM("void SelectionOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} diff --git a/lib/beagle-3.0.3/beagle/src/Stats.cpp b/lib/beagle-3.0.3/beagle/src/Stats.cpp new file mode 100644 index 0000000..b427900 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Stats.cpp @@ -0,0 +1,214 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/Stats.cpp + * \brief Source code of class Stats. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.12.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a new stats measure. + * \param inId Measure id. + * \param inAvg Average of the measure. + * \param inStd Standard deviation of the measure. + * \param inMax Maximum measure. + * \param inMin Minimum measure. + */ +Measure::Measure(Beagle::string inId, double inAvg, double inStd, double inMax, double inMin) : + mId(inId), + mAvg(inAvg), + mStd(inStd), + mMax(inMax), + mMin(inMin) +{ } + + +/*! + * \brief Construct new stats. + * \param inId Stats id. + * \param inGeneration Generation value. + * \param inPopSize Population size associated to the statistics. + * \param inValid If the stats are valid or not. + */ +Stats::Stats(Beagle::string inId, + unsigned int inGeneration, + unsigned int inPopSize, + bool inValid) : + mId(inId), + mGeneration(inGeneration), + mPopSize(inPopSize), + mValid(inValid) +{ } + + +/*! + * \brief Read stats from a XML subtree. + * \param inIter XML iterator to read the stats from. + */ +void Stats::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Stats")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + string lValid = inIter->getAttribute("valid").c_str(); + if(lValid.empty() || (lValid == "yes")) { + mValid = true; + mId = inIter->getAttribute("id").c_str(); + + string lGenerationStr = inIter->getAttribute("generation").c_str(); + if(lGenerationStr.empty() == false) mGeneration = str2uint(lGenerationStr); + else mGeneration = 0; + + string lPopSizeStr = inIter->getAttribute("popsize").c_str(); + if(lPopSizeStr.empty() == false) mPopSize = str2uint(lPopSizeStr); + else mPopSize = 0; + + size_type lSize=0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Measure")) ++lSize; + } + + resize(lSize); + mItemMap.clear(); + + size_type lIndexMeasure=0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == PACC::XML::eData) { + if(lChild->getValue() == "Item") { + string lKey = lChild->getAttribute("key").c_str(); + if(lKey.empty()) { + std::ostringstream lOSS; + lOSS << "expected a key attribute while reading a statistics item!"; + throw Beagle_IOExceptionNodeM(*lChild, lOSS.str().c_str()); + } + PACC::XML::ConstIterator lChild2 = lChild->getFirstChild(); + if(!lChild2) { + std::ostringstream lOSS; + lOSS << "expected an item value while reading a statistics item!"; + throw Beagle_IOExceptionNodeM(*lChild, lOSS.str().c_str()); + } + if(lChild2->getType() != PACC::XML::eString) { + std::ostringstream lOSS; + lOSS << "expected an item value while reading a statistics item!"; + throw Beagle_IOExceptionNodeM(*lChild2, lOSS.str().c_str()); + } + mItemMap[lKey] = str2dbl(lChild2->getValue().c_str()); + } + else if(lChild->getValue() == "Measure") { + (*this)[lIndexMeasure].mId = lChild->getAttribute("id").c_str(); + (*this)[lIndexMeasure].mAvg = 0.0; + (*this)[lIndexMeasure].mStd = 0.0; + (*this)[lIndexMeasure].mMax = 0.0; + (*this)[lIndexMeasure].mMin = 0.0; + for(PACC::XML::ConstIterator lChild2=lChild->getFirstChild(); lChild2; ++lChild2) { + if(lChild2->getType() == PACC::XML::eData) { + if(lChild2->getValue() == "Avg") { + PACC::XML::ConstIterator lChild3 = lChild2->getFirstChild(); + if(lChild3->getType() != PACC::XML::eString) continue; + else (*this)[lIndexMeasure].mAvg = str2dbl(lChild3->getValue().c_str()); + } + else if(lChild2->getValue() == "Std") { + PACC::XML::ConstIterator lChild3 = lChild2->getFirstChild(); + if(lChild3->getType() != PACC::XML::eString) continue; + else (*this)[lIndexMeasure].mStd = str2dbl(lChild3->getValue().c_str()); + } + else if(lChild2->getValue() == "Max") { + PACC::XML::ConstIterator lChild3 = lChild2->getFirstChild(); + if(lChild3->getType() != PACC::XML::eString) continue; + else (*this)[lIndexMeasure].mMax = str2dbl(lChild3->getValue().c_str()); + } + else if(lChild2->getValue() == "Min") { + PACC::XML::ConstIterator lChild3 = lChild2->getFirstChild(); + if(lChild3->getType() != PACC::XML::eString) continue; + else (*this)[lIndexMeasure].mMin = str2dbl(lChild3->getValue().c_str()); + } + } + } + ++lIndexMeasure; + } + } + } + } + else if(lValid == "no") mValid = false; + else throw Beagle_IOExceptionNodeM((*inIter), "bad stats validity value!"); + Beagle_StackTraceEndM("void Stats::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Write a stats into a XML streamer. + * \param ioStreamer XML streamer used to write the stats into. + * \param inIndent Whether XML output should be indented. + */ +void Stats::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Stats", inIndent); + if(mValid) { + if(mId.empty() == false) ioStreamer.insertAttribute("id", mId); + ioStreamer.insertAttribute("generation", uint2str(mGeneration)); + ioStreamer.insertAttribute("popsize", uint2str(mPopSize)); + for(ItemMap::const_iterator lIter=mItemMap.begin(); lIter!=mItemMap.end(); ++lIter) { + ioStreamer.openTag("Item", false); + ioStreamer.insertAttribute("key", lIter->first); + ioStreamer.insertStringContent(dbl2str(lIter->second).c_str()); + ioStreamer.closeTag(); + } + for(size_type i=0; i +#include + +using namespace Beagle; + + +/*! + * \brief Construct a calculate stats operator. + * \param inName Name of the operator. + */ +StatsCalcFitnessMultiObjOp::StatsCalcFitnessMultiObjOp(Beagle::string inName) : + StatsCalculateOp(inName) +{ } + + +/*! + * \brief Calculate statistics of a given deme. + * \param outStats Evaluated statistics. + * \param ioDeme Deme to evalute the statistics. + * \param ioContext Context of the evolution. + */ +void StatsCalcFitnessMultiObjOp::calculateStatsDeme(Stats& outStats, + Deme& ioDeme, + Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + outStats.clear(); + outStats.clearItems(); + outStats.addItem("processed", ioContext.getProcessedDeme()); + outStats.addItem("total-processed", ioContext.getTotalProcessedDeme()); + + if(ioDeme.size() == 0) { + outStats.clear(); + outStats.setGenerationValues(string("deme")+uint2str(ioContext.getDemeIndex()+1), + ioContext.getGeneration(), 0, true); + return; + } + + outStats.clear(); + outStats.setGenerationValues(string("deme")+uint2str(ioContext.getDemeIndex()+1), + ioContext.getGeneration(), ioDeme.size(), true); + + const FitnessMultiObj::Handle lFirstIndivFitness = + castHandleT(ioDeme[0]->getFitness()); + + for(unsigned int j=0; jsize(); ++j) { + if(ioDeme.size() == 1) { + outStats.push_back(Measure(string("objective")+uint2str(j), + (*lFirstIndivFitness)[j], + 0.0, + (*lFirstIndivFitness)[j], + (*lFirstIndivFitness)[j])); + } + else { + double lSum = (double)(*lFirstIndivFitness)[j]; + double lPow2Sum = pow2Of((double)(*lFirstIndivFitness)[j]); + double lMax = (*lFirstIndivFitness)[j]; + double lMin = (*lFirstIndivFitness)[j]; + for(unsigned int i=1; i(ioDeme[i]->getFitness()); + Beagle_AssertM(lFirstIndivFitness->size() == lIndivFitness->size()); + lSum += (double)(*lIndivFitness)[j]; + lPow2Sum += pow2Of((double)(*lIndivFitness)[j]); + lMax = maxOf(lMax, (double)(*lIndivFitness)[j]); + lMin = minOf(lMin, (double)(*lIndivFitness)[j]); + } + double lAverage = lSum / ioDeme.size(); + double lStdError = (lPow2Sum - (pow2Of(lSum)/ioDeme.size())) / (ioDeme.size()-1); + lStdError = sqrt(lStdError); + outStats.push_back(Measure(string("objective")+uint2str(j), + lAverage, lStdError, lMax, lMin)); + } + } + Beagle_StackTraceEndM("void StatsCalcFitnessMultiObjOp::calculateStatsDeme(Stats& outStats, Deme& ioDeme, Context& ioContext) const"); +} diff --git a/lib/beagle-3.0.3/beagle/src/StatsCalcFitnessSimpleOp.cpp b/lib/beagle-3.0.3/beagle/src/StatsCalcFitnessSimpleOp.cpp new file mode 100644 index 0000000..3d313d9 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/StatsCalcFitnessSimpleOp.cpp @@ -0,0 +1,128 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/StatsCalcFitnessSimpleOp.cpp + * \brief Source code of class StatsCalcFitnessSimpleOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.11.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include + +using namespace std; +using namespace Beagle; + + +/*! + * \brief Construct a calculate stats operator. + * \param inName Name of the operator. + */ +StatsCalcFitnessSimpleOp::StatsCalcFitnessSimpleOp(Beagle::string inName) : + StatsCalculateOp(inName) +{ } + + +/*! + * \brief Calculate statistics of a given deme. + * \param outStats Evaluated statistics. + * \param ioDeme Deme to evalute the statistics. + * \param ioContext Context of the evolution. + */ +void StatsCalcFitnessSimpleOp::calculateStatsDeme(Stats& outStats, + Deme& ioDeme, + Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + outStats.clear(); + outStats.clearItems(); + outStats.addItem("processed", ioContext.getProcessedDeme()); + outStats.addItem("total-processed", ioContext.getTotalProcessedDeme()); + + if(ioDeme.size() == 0) { + outStats.setGenerationValues(string("deme")+uint2str(ioContext.getDemeIndex()+1), + ioContext.getGeneration(), 0, true); + outStats.resize(1); + outStats.back().mId = "fitness"; + outStats.back().mAvg = 0.0; + outStats.back().mStd = 0.0; + outStats.back().mMax = 0.0; + outStats.back().mMin = 0.0; + return; + } + + const FitnessSimple::Handle lFirstIndivFitness = + castHandleT(ioDeme[0]->getFitness()); + + if(ioDeme.size() == 1) { + outStats.setGenerationValues(string("deme")+uint2str(ioContext.getDemeIndex()+1), + ioContext.getGeneration(), 1, true); + outStats.resize(1); + outStats.back().mId = "fitness"; + outStats.back().mAvg = lFirstIndivFitness->getValue(); + outStats.back().mStd = 0.0; + outStats.back().mMax = lFirstIndivFitness->getValue(); + outStats.back().mMin = lFirstIndivFitness->getValue(); + return; + } + + double lSum = (double)lFirstIndivFitness->getValue(); + double lPow2Sum = pow2Of((double)lFirstIndivFitness->getValue()); + double lMax = lFirstIndivFitness->getValue(); + double lMin = lFirstIndivFitness->getValue(); + + for(unsigned int i=1; i(ioDeme[i]->getFitness()); + lSum += (double)lIndivFitness->getValue(); + lPow2Sum += pow2Of((double)lIndivFitness->getValue()); + lMax = maxOf(lMax, (double)lIndivFitness->getValue()); + lMin = minOf(lMin, (double)lIndivFitness->getValue()); + } + + double lAverage = lSum / ioDeme.size(); + double lStdError = (lPow2Sum - (pow2Of(lSum)/ioDeme.size())) / (ioDeme.size()-1); + lStdError = sqrt(lStdError); + + outStats.setGenerationValues(string("deme")+uint2str(ioContext.getDemeIndex()+1), + ioContext.getGeneration(), + ioDeme.size(), + true); + outStats.resize(1); + outStats.back().mId = "fitness"; + outStats.back().mAvg = lAverage; + outStats.back().mStd = lStdError; + outStats.back().mMax = lMax; + outStats.back().mMin = lMin; + Beagle_StackTraceEndM("void StatsCalcFitnessSimpleOp::calculateStatsDeme(Stats& outStats, Deme& ioDeme, Context& ioContext) const"); +} + + diff --git a/lib/beagle-3.0.3/beagle/src/StatsCalculateOp.cpp b/lib/beagle-3.0.3/beagle/src/StatsCalculateOp.cpp new file mode 100644 index 0000000..cfc5069 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/StatsCalculateOp.cpp @@ -0,0 +1,217 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/StatsCalculateOp.cpp + * \brief Source code of class StatsCalculateOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Beagle.hpp" + +#include +#include + +using namespace std; +using namespace Beagle; + + +/*! + * \brief Construct a calculate stats operator. + * \param inName Name of the operator. + */ +StatsCalculateOp::StatsCalculateOp(Beagle::string inName) : + Operator(inName), + mPopSize(NULL), + mNbDemesCalculated(0), + mGenerationCalculated(0) +{ } + + +/*! + * \brief Calculate statistics of a given vivarium. + * \param outStats Computed stats of the deme. + * \param ioVivarium Vivarium to evaluate the statistics. + * \param ioContext Context of the evolution. + */ +void StatsCalculateOp::calculateStatsVivarium(Stats& outStats, + Vivarium& ioVivarium, + Context& ioContext) const +{ + Beagle_StackTraceBeginM(); + outStats.clear(); + outStats.clearItems(); + + unsigned int lPopSize = 0; + unsigned int lProcessed = 0; + unsigned int lTotalProcessed = 0; + for(unsigned int i=0; igetStats()->getPopSize(); + if(ioVivarium[i]->getStats()->existItem("processed")) { + lProcessed += (unsigned int)ioVivarium[i]->getStats()->getItem("processed"); + } + if(ioVivarium[i]->getStats()->existItem("total-processed")) { + lTotalProcessed += (unsigned int)ioVivarium[i]->getStats()->getItem("total-processed"); + } + } + outStats.setGenerationValues("vivarium", ioContext.getGeneration(), lPopSize, true); + outStats.addItem("processed", lProcessed); + outStats.addItem("total-processed", lTotalProcessed); + + if(ioVivarium.size() == 0) return; + + outStats.resize(ioVivarium[0]->getStats()->size()); + for(unsigned int i=0; igetStats())[i].mMax; + double lMin = (*ioVivarium[0]->getStats())[i].mMin; + + for(unsigned int j=0; jgetStats()->size()); + const Measure& lMeasure = (*ioVivarium[j]->getStats())[i]; + unsigned int lDemeSize = ioVivarium[j]->getStats()->getPopSize(); + if(lDemeSize != 0) { + double lSumFit = lMeasure.mAvg * lDemeSize; + double lTmpVar1 = pow2Of(lSumFit) / lDemeSize; + double lTmpVar2 = pow2Of(lMeasure.mStd) * (lDemeSize-1); + lSumXi += lSumFit; + lSumXiPow2 += lTmpVar1 + lTmpVar2; + lMax = maxOf(lMax, lMeasure.mMax); + lMin = minOf(lMin, lMeasure.mMin); + } + } + + outStats[i].mId = (*ioVivarium[0]->getStats())[i].mId; + if(lPopSize == 0) { + outStats[i].mAvg = 0.0; + outStats[i].mStd = 0.0; + outStats[i].mMax = 0.0; + outStats[i].mMin = 0.0; + } + else if(lPopSize == 1) { + outStats[i].mAvg = lSumXi; + outStats[i].mStd = 0.0; + outStats[i].mMax = lMax; + outStats[i].mMin = lMin; + } + else { + double lAverage = lSumXi / lPopSize; + double lVariance = + lSumXiPow2 - (pow2Of(lAverage*((double)lPopSize)) / ((double)lPopSize)); + double lStdError = sqrt(lVariance / (lPopSize - 1)); + outStats[i].mAvg = lAverage; + outStats[i].mStd = lStdError; + outStats[i].mMax = lMax; + outStats[i].mMin = lMin; + } + } + Beagle_StackTraceEndM("void StatsCalculateOp::calculateStatsVivarium(Stats& outStats, Vivarium& ioVivarium, Context& ioContext) const"); +} + + +/*! + * \brief Initialize the calculate statistics operator. + * \param ioSystem Reference to the system to use for the initialization. + */ +void StatsCalculateOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if(ioSystem.getRegister().isRegistered("ec.pop.size")) { + mPopSize = castHandleT(ioSystem.getRegister().getEntry("ec.pop.size")); + } else { + mPopSize = new UIntArray(1,100); + string lLongDescrip("Number of demes and size of each deme of the population. "); + lLongDescrip += "The format of an UIntArray is S1,S2,...,Sn, where Si is the ith value. "; + lLongDescrip += "The size of the UIntArray is the number of demes present in the "; + lLongDescrip += "vivarium, while each value of the vector is the size of the corresponding "; + lLongDescrip += "deme."; + Register::Description lDescription( + "Vivarium and demes sizes", + "UIntArray", + "100", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ec.pop.size", mPopSize, lDescription); + } + Beagle_StackTraceEndM("void StatsCalculateOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Calculate the statistics of the current deme/generation. + * \param ioDeme Actual deme of the evolution. + * \param ioContext Context of the evolution. + */ +void StatsCalculateOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "stats", "Beagle::StatsCalculateOp", + string("Calculating stats for the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + + if(ioContext.getGeneration() != mGenerationCalculated) { + mGenerationCalculated = ioContext.getGeneration(); + mNbDemesCalculated = 0; + } + + if(ioDeme.getStats()->isValid() == false) { + calculateStatsDeme(*ioDeme.getStats(), ioDeme, ioContext); + ioDeme.getStats()->setValid(); + } + Beagle_LogObjectM( + ioContext.getSystem().getLogger(), + Logger::eStats, + "stats", "Beagle::StatsCalculateOp", + *ioDeme.getStats() + ); + + if(++mNbDemesCalculated == mPopSize->size()) { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "stats", "Beagle::StatsCalculateOp", + "Calculating stats for the vivarium" + ); + calculateStatsVivarium(*ioContext.getVivarium().getStats(), + ioContext.getVivarium(), + ioContext); + ioContext.getVivarium().getStats()->setValid(); + Beagle_LogObjectM( + ioContext.getSystem().getLogger(), + Logger::eStats, + "stats", "Beagle::StatsCalculateOp", + *ioContext.getVivarium().getStats() + ); + } + Beagle_StackTraceEndM("void StatsCalculateOp::operate(Deme& ioDeme, Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/SteadyStateOp.cpp b/lib/beagle-3.0.3/beagle/src/SteadyStateOp.cpp new file mode 100644 index 0000000..32347af --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/SteadyStateOp.cpp @@ -0,0 +1,137 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/SteadyStateOp.cpp + * \brief Source code of class SteadyStateOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Beagle.hpp" + +#include + +using namespace std; +using namespace Beagle; + + +/*! + * \brief Construct a steady state operator. + * \param inName Name of the operator. + */ +SteadyStateOp::SteadyStateOp(Beagle::string inName) : + ReplacementStrategyOp(inName) +{ } + + +/*! + * \brief Initialize the operator. + * \param ioSystem Reference to the evolutionary system. + */ +void SteadyStateOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + ReplacementStrategyOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ec.elite.keepsize")) { + mElitismKeepSize = + castHandleT(ioSystem.getRegister().getEntry("ec.elite.keepsize")); + } else { + mElitismKeepSize = new UInt(1); + Register::Description lDescription( + "Elitism keep size", + "UInt", + "1", + "Number of individuals keep as is with strong n-elitism." + ); + ioSystem.getRegister().addEntry("ec.elite.keepsize", mElitismKeepSize, lDescription); + } + Beagle_StackTraceEndM("void SteadyStateOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Apply the operation on a deme in the given context. + * \param ioDeme Reference to the deme on which the operation takes place. + * \param ioContext Evolutionary context of the operation. + */ +void SteadyStateOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_NonNullPointerAssertM(getRootNode()); + Beagle_NonNullPointerAssertM(mElitismKeepSize); + Beagle_ValidateParameterM(mElitismKeepSize->getWrappedValue() <= ioDeme.size(), + "ec.elite.keepsize", + "The elistism keepsize must be less than the deme size!"); + + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "replacement-strategy", "Beagle::SteadyStateOp", + string("Processing using steady-state replacement strategy the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + Beagle_LogObjectM( + ioContext.getSystem().getLogger(), + Logger::eTrace, + "replacement-strategy", "Beagle::SteadyStateOp", + (*this) + ); + + RouletteT lRoulette; + buildRoulette(lRoulette, ioContext); + + if(mElitismKeepSize->getWrappedValue() > 0) { + make_heap(ioDeme.begin(), ioDeme.end(), IsLessPointerPredicate()); + for(unsigned int i=0; igetWrappedValue(); ++i) { + pop_heap(ioDeme.begin(), (ioDeme.end()-i), IsLessPointerPredicate()); + } + } + + random_shuffle(ioDeme.begin(), + ioDeme.end()-mElitismKeepSize->getWrappedValue(), + ioContext.getSystem().getRandomizer()); + + for(unsigned int i=0; i<(ioDeme.size()-mElitismKeepSize->getWrappedValue()); ++i) { + unsigned int lIndexBreeder = lRoulette.select(ioContext.getSystem().getRandomizer()); + BreederNode::Handle lSelectedBreeder=getRootNode(); + for(unsigned int j=0; jgetNextSibling(); + Beagle_NonNullPointerAssertM(lSelectedBreeder); + Beagle_NonNullPointerAssertM(lSelectedBreeder->getBreederOp()); + Individual::Handle lBredIndiv = + lSelectedBreeder->getBreederOp()->breed(ioDeme, lSelectedBreeder->getFirstChild(), ioContext); + Beagle_NonNullPointerAssertM(lBredIndiv); + ioDeme[i] = lBredIndiv; + } + Beagle_StackTraceEndM("void SteadyStateOp::operate(Deme& ioDeme, Context& ioContext)"); +} + + + + diff --git a/lib/beagle-3.0.3/beagle/src/System.cpp b/lib/beagle-3.0.3/beagle/src/System.cpp new file mode 100644 index 0000000..222bd10 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/System.cpp @@ -0,0 +1,345 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/System.cpp + * \brief Source code of class System. + * \author Christian Gagne + * \author Marc Parizeau + * \author Matthew Walker + * $Revision: 1.19.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace std; +using namespace Beagle; + + +/*! + * \brief Construct a new system with the default context allocator, randomizer, register, + * and logger. + */ +System::System() : + mContextAllocator(new Context::Alloc), + mRandomizer(new Randomizer), + mRegister(new Register), + mLogger(new LoggerXML) +{ + Beagle_StackTraceBeginM(); + addComponent(mRandomizer); + addComponent(mRegister); + addComponent(mLogger); + Beagle_StackTraceEndM("System::System()"); +} + + +/*! + * \brief Construct a new system with a given context allocator and default randomizer, + * register, and logger. + * \param inContextAllocator Handle to the context allocator used. + */ +System::System(Allocator::Handle inContextAllocator) : + mContextAllocator(castHandleT(inContextAllocator)), + mRandomizer(new Randomizer), + mRegister(new Register), + mLogger(new LoggerXML) +{ + Beagle_StackTraceBeginM(); + addComponent(mRandomizer); + addComponent(mRegister); + addComponent(mLogger); + Beagle_StackTraceEndM("System::System(Allocator::Handle inContextAllocator)"); +} + + +/*! + * \brief Construct a new system with a given context allocator, randomizer and register. + * \param inContextAllocator Handle to the context allocator used. + * \param inRandomizer Handle to the randomizer used. + * \param inRegister Handle to the register used. + * \param inLogger Handle to the logger used. + */ +System::System(Allocator::Handle inContextAllocator, + Randomizer::Handle inRandomizer, + Register::Handle inRegister, + Logger::Handle inLogger) : + mContextAllocator(castHandleT(inContextAllocator)), + mRandomizer(inRandomizer), + mRegister(inRegister), + mLogger(inLogger) +{ + Beagle_StackTraceBeginM(); + addComponent(mRandomizer); + addComponent(mRegister); + addComponent(mLogger); + Beagle_StackTraceEndM("System::System(Allocator::Handle inContextAllocator, Randomizer::Handle inRandomizer, Register::Handle inRegister, Logger::Handle inLogger)"); +} + + +/*! + * \brief Add a new component to the system. + * \param inComponent The component to add. + */ +void System::addComponent(Component::Handle inComponent) +{ + Beagle_StackTraceBeginM(); + // Check component is valid and hasn't already been added. + Beagle_NonNullPointerAssertM(inComponent); + if(find(inComponent->getName())!=end()) + throw Beagle_ObjectExceptionM(string("A component named \"")+inComponent->getName()+ + string("\" is already in the system.")); + + // Add component. + Beagle_LogDetailedM( + getLogger(), + "system", "Beagle::System", + string("Adding component named \"")+inComponent->getName()+string("\" into the system") + ); + (*this)[inComponent->getName()] = inComponent; + Beagle_StackTraceEndM("void System::addComponent(Component::Handle inComponent)"); +} + + +/*! + * \brief Get a component by name. + * \param inName The name of the component to get. + * \return A constant component. + */ +const Beagle::Component::Handle System::getComponent(const Beagle::string inName) const +{ + Beagle_StackTraceBeginM(); + const ComponentMap::const_iterator lItr = find(inName); + if (lItr == end()) { + throw Beagle_RunTimeExceptionM(string("Could not retrieve component named \"")+inName+ + string("\". Either the component is not installed, or the name you have provided is incorrect.")); + } + return castHandleT(lItr->second); + Beagle_StackTraceEndM("const Beagle::Component::Handle System::getComponent(const string inName) const"); +} + + +/*! + * \brief Get a component by name. + * \param inName The name of the component to get. + * \return A component. + */ +Beagle::Component::Handle System::getComponent(const Beagle::string inName) +{ + Beagle_StackTraceBeginM(); + ComponentMap::iterator lItr = find(inName); + if (lItr == end()) { + throw Beagle_RunTimeExceptionM(string("Could not retrieve component named \"")+inName+ + string("\". Either the component is not installed, or the name you have provided is incorrect.")); + } + return castHandleT(lItr->second); + Beagle_StackTraceEndM("Beagle::Component::Handle System::getComponent(const string inName)"); +} + + +/*! + * \brief Check if the component named inName exists in the System. + * \param inName The name of the component. + * \return If the component exists then it returns the component, + * otherwise it returns a NULL Handle. + */ +const Beagle::Component::Handle System::haveComponent(const Beagle::string inName) const +{ + Beagle_StackTraceBeginM(); + const ComponentMap::const_iterator lItr = find(inName); + if (lItr == end()) return Component::Handle(NULL); + return castHandleT(lItr->second); + Beagle_StackTraceEndM("const Beagle::Component::Handle System::haveComponent(const string inName) const"); +} + + +/*! + * \brief Check if the component named inName exists in the System. + * \param inName The name of the component. + * \return If the component exists then it returns a constant + * component, otherwise it returns a NULL Handle. + */ +Beagle::Component::Handle System::haveComponent(const Beagle::string inName) +{ + Beagle_StackTraceBeginM(); + const ComponentMap::const_iterator lItr = find(inName); + if (lItr == end()) return Component::Handle(NULL); + return castHandleT(lItr->second); + Beagle_StackTraceEndM("Beagle::Component::Handle System::haveComponent(const string inName)"); +} + + +/*! + * \brief Initialize the system. + * \param ioArgc Number of elements on the command-line. + * \param ioArgv Element on the command-line. + */ +void System::initialize(int& ioArgc, char** ioArgv) +{ + Beagle_StackTraceBeginM(); + // Initializing the system. + Beagle_LogDetailedM( + getLogger(), + "system", "Beagle::System", + "Initializing system" + ); + + // Initialize the components. + for(ComponentMap::iterator lItr=begin(); lItr!=end(); ++lItr) { + Component::Handle lComponent = castHandleT(lItr->second); + Beagle_LogDetailedM( + getLogger(), + "system", "Beagle::System", + string("Initializing component named \"")+lComponent->getName()+string("\"") + ); + lComponent->initialize(*this); + } + + // Parsing the command-line. + Beagle_LogTraceM( + (*mLogger), + "system", "Beagle::System", + "Parsing the command-line" + ); + mRegister->parseCommandLine(*this, ioArgc, ioArgv); + Beagle_StackTraceEndM("void System::initialize(int& ioArgc, char** ioArgv)"); +} + + +/*! + * \brief Initialize the system. + * \param inConfigFileName Name of the filename containing the system configuration. + */ +void System::initialize(Beagle::string inConfigFileName) +{ + Beagle_StackTraceBeginM(); + // Initializing the system. + Beagle_LogDetailedM( + getLogger(), + "system", "Beagle::System", + "Initializing system" + ); + + // Initialize the components. + for(iterator lItr=begin(); lItr!=end(); ++lItr) { + Component::Handle lComponent = castHandleT(lItr->second); + Beagle_LogDetailedM( + getLogger(), + "system", "Beagle::System", + string("Initializing component named \"")+lComponent->getName()+string("\"") + ); + lComponent->initialize(*this); + } + + // Read configuration file. + if(inConfigFileName.empty()==false) { + mRegister->readParametersFile(inConfigFileName, *this); + } + Beagle_StackTraceEndM("void System::initialize(string inConfigFileName)"); +} + + +/*! + * \brief Post-initialization hook of the system. + */ +void System::postInit() +{ + Beagle_StackTraceBeginM(); + Beagle_LogDetailedM( + getLogger(), + "system", "Beagle::System", + "Post-initializing system" + ); + + // Post-initialize the components. + for(ComponentMap::iterator lItr=begin(); lItr!=end(); ++lItr) { + Component::Handle lComponent = castHandleT(lItr->second); + Beagle_LogDetailedM( + getLogger(), + "system", "Beagle::System", + string("Post-initializing component named \"")+lComponent->getName()+string("\"") + ); + lComponent->postInit(*this); + } + Beagle_StackTraceEndM("void System::postInit()"); +} + + +/*! + * \brief Read evolutionary system from XML node. + * \param inIter XML iterator used to read system. + */ +void System::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="System")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + // First reading pass, read randomizer, register and logger. + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == PACC::XML::eData) { + if(lChild->getValue() == "Randomizer") mRandomizer->readWithSystem(lChild, *this); + else if(lChild->getValue() == "Register") mRegister->readWithSystem(lChild, *this); + else if(lChild->getValue() == "Logger") mLogger->readWithSystem(lChild, *this); + } + } + + // Second reading pass, read other components. + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == PACC::XML::eData) { + if((lChild->getValue() != "Randomizer") && + (lChild->getValue() != "Register") && + (lChild->getValue() != "Logger")) { + if(find(lChild->getValue().c_str())==end()) + throw Beagle_ObjectExceptionM(string("The component named \"")+ + string(lChild->getValue().c_str())+ + string("\" is not present in the system.")); + (*this)[lChild->getValue().c_str()]->readWithSystem(lChild, *this); + } + } + } + Beagle_StackTraceEndM("void System::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Write system into a XML streamer. + * \param ioStreamer XML streamer to write system into. + * \param inIndent Whether XML output should be indented. + */ +void System::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("System", inIndent); + for(ComponentMap::const_iterator lItr=begin(); lItr!=end(); ++lItr) { + const Component::Handle lComponent = castHandleT(lItr->second);; + lComponent->write(ioStreamer, inIndent); + } + ioStreamer.closeTag(); // System + Beagle_StackTraceEndM("void System::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/TargetedException.cpp b/lib/beagle-3.0.3/beagle/src/TargetedException.cpp new file mode 100644 index 0000000..84223d3 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/TargetedException.cpp @@ -0,0 +1,65 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/TargetedException.cpp + * \brief Definition of class TargetedException. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a new TargetedException using data given. + * \param inMessage Message related to the exception. + * \param inFileName File name where the exception is detected (throwed). + * \param inLineNumber Line number where the exception is detected (throwed). + */ +TargetedException::TargetedException(Beagle::string inMessage, + Beagle::string inFileName, + unsigned int inLineNumber) : + Exception(inMessage), + mFileName(inFileName), + mLineNumber(inLineNumber) +{ } + + +/*! + * \brief Explain the exception throwed in the stream given. + * \param ioES Output C++ stream where the explanation about the exception is inserted. + */ +void TargetedException::explain(std::ostream& ioES) throw() +{ + ioES << "From file \"" << mFileName << "\", line " << mLineNumber << " :"; + ioES << std::endl << std::flush; + Exception::explain(ioES); +} diff --git a/lib/beagle-3.0.3/beagle/src/TermMaxEvalsOp.cpp b/lib/beagle-3.0.3/beagle/src/TermMaxEvalsOp.cpp new file mode 100644 index 0000000..e3d2738 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/TermMaxEvalsOp.cpp @@ -0,0 +1,113 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/TermMaxEvalsOp.cpp + * \brief Source code of class TermMaxEvalsOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a termination check operator based on a maximum number of evalutions. + * \param inName Name of the operator. + */ +TermMaxEvalsOp::TermMaxEvalsOp(Beagle::string inName) : + TerminationOp(inName) +{ } + + +/*! + * \brief Initialize the maximum number of evaluations termination operator. + * \param ioSystem System to use to initialize the operator. + */ +void TermMaxEvalsOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if(ioSystem.getRegister().isRegistered("ec.term.maxevals")) { + mMaxEvaluations = + castHandleT(ioSystem.getRegister().getEntry("ec.term.maxevals")); + } else { + mMaxEvaluations = new UInt(5000); + string lLongDescrip = "Maximum number of fitness evaluations for the evolution. "; + lLongDescrip += "A zero value means that there is no evaluation limits."; + Register::Description lDescription( + "Max evaluations term criterion", + "UInt", + "5000", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ec.term.maxevals", mMaxEvaluations, lDescription); + } + Beagle_StackTraceEndM("void TermMaxEvalsOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Check if the maximum number of fitness evaluations is reached. + * \param inDeme Actual deme of the evolution. + * \param ioContext Actual evolution context. + * \return True if the ending criterion is reached, false if not. + */ +bool TermMaxEvalsOp::terminate(const Deme& inDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(mMaxEvaluations->getWrappedValue() == 0) return false; + if(ioContext.getTotalProcessedVivarium() >= mMaxEvaluations->getWrappedValue()) { + Beagle_LogInfoM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermMaxEvalsOp", + string("Maximum number of fitness evaluations (") + + uint2str(mMaxEvaluations->getWrappedValue()) + + string(") termination criterion reached") + ); + Beagle_LogDetailedM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermMaxEvalsOp", + string("Actual number of fitness evaluations is: ")+ + uint2str(ioContext.getTotalProcessedVivarium()) + ); + return true; + } + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermMaxEvalsOp", + string("Maximum number of fitness evaluations (") + + uint2str(mMaxEvaluations->getWrappedValue()) + + string(") termination criterion not reached ") + ); + return false; + Beagle_StackTraceEndM("bool TermMaxEvalsOp::terminate(const Deme& inDeme, Context& ioContext)"); +} + + diff --git a/lib/beagle-3.0.3/beagle/src/TermMaxFitnessOp.cpp b/lib/beagle-3.0.3/beagle/src/TermMaxFitnessOp.cpp new file mode 100644 index 0000000..6dbd49c --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/TermMaxFitnessOp.cpp @@ -0,0 +1,151 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/TermMaxFitnessOp.cpp + * \brief Source code of class TermMaxFitnessOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.2 $ + * $Date: 2007/08/21 02:07:24 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a termination check operator based on a maximum fitness value. + * \param inMaxFitness Default maximum fitness value. + * \param inName Name of the operator. + */ +TermMaxFitnessOp::TermMaxFitnessOp(float inMaxFitness, Beagle::string inName) : + TerminationOp(inName), + mMaxFitnessDefault(inMaxFitness) +{ } + + +/*! + * \brief Initialize the maximum fitness value termination operator. + * \param ioSystem System to use to initialize the operator. + */ +void TermMaxFitnessOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if(ioSystem.getRegister().isRegistered("ec.term.maxfitness")) { + mMaxFitness = + castHandleT(ioSystem.getRegister().getEntry("ec.term.maxfitness")); + } else { + mMaxFitness = new Float(mMaxFitnessDefault); + Register::Description lDescription( + "Max fitness term criterion", + "Float", + dbl2str(mMaxFitnessDefault), + "Fitness value to reach before stopping evolution." + ); + ioSystem.getRegister().addEntry("ec.term.maxfitness", mMaxFitness, lDescription); + } + Beagle_StackTraceEndM("void TermMaxFitnessOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Read a max fitness termination operator from a XML subtree. + * \param inIter XML iterator from which the operator is read. + * \param inOpMap Operator map to use to read operator. + * \throw IOException If a reading error occurs. + */ +void TermMaxFitnessOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string lFitnessStr = inIter->getAttribute("fitness").c_str(); + if(lFitnessStr.empty() == false) { + mMaxFitnessDefault = str2dbl(lFitnessStr); + if(mMaxFitness != NULL) mMaxFitness->getWrappedValue() = mMaxFitnessDefault; + } + Beagle_StackTraceEndM("void TermMaxFitnessOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Check if the maximum fitness value is reached. + * \param inDeme Actual deme of the evolution. + * \param ioContext Actual evolution context. + * \return True if the ending criterion is reached, false if not. + */ +bool TermMaxFitnessOp::terminate(const Deme& inDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + for(unsigned int i=0; i(inDeme[i]->getFitness()); + if(lFitness->isValid() && (lFitness->getValue() >= mMaxFitness->getWrappedValue())) { + Beagle_LogInfoM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermMaxFitnessOp", + string("Maximum fitness value (") + + dbl2str(mMaxFitness->getWrappedValue()) + + string(") termination criterion reached by the ") + + uint2ordinal(i+1) + string(" individual (") + + dbl2str(lFitness->getValue()) + string(")") + ); + return true; + } + } + + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermMaxFitnessOp", + string("Maximum fitness value (") + + dbl2str(mMaxFitness->getWrappedValue()) + + string(") termination criterion not reached ") + ); + return false; + Beagle_StackTraceEndM("bool TermMaxFitnessOp::terminate(const Deme& inDeme, Context& ioContext)"); +} + + +/*! + * \brief Write a max fitness termination operator into a XML stream. + * \param ioStreamer XML stream in which the operator is written. + * \param inIndent Whether XML output should be indented. + */ +void TermMaxFitnessOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag(getName().c_str(), inIndent); + if(mMaxFitness != NULL) + ioStreamer.insertAttribute("fitness", dbl2str(mMaxFitness->getWrappedValue())); + else ioStreamer.insertAttribute("fitness", dbl2str(mMaxFitnessDefault)); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void TermMaxFitnessOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} diff --git a/lib/beagle-3.0.3/beagle/src/TermMaxGenOp.cpp b/lib/beagle-3.0.3/beagle/src/TermMaxGenOp.cpp new file mode 100644 index 0000000..853e1f1 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/TermMaxGenOp.cpp @@ -0,0 +1,120 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/TermMaxGenOp.cpp + * \brief Source code of class TermMaxGenOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.2 $ + * $Date: 2007/05/11 20:04:32 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a termination check operator based on a maximum generation value. + * \param inName Name of the operator. + */ +TermMaxGenOp::TermMaxGenOp(Beagle::string inName) : + TerminationOp(inName) +{ } + + +/*! + * \brief Initialize the maximum generation termination operator. + * \param ioSystem System to use to initialize the operator. + */ +void TermMaxGenOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if(ioSystem.getRegister().isRegistered("ec.term.maxgen")) { + mMaxGeneration = + castHandleT(ioSystem.getRegister().getEntry("ec.term.maxgen")); + } else { + mMaxGeneration = new UInt(50); + Register::Description lDescription( + "Max generation term criterion", + "UInt", + "50", + "Maximum number of generations for the evolution." + ); + ioSystem.getRegister().addEntry("ec.term.maxgen", mMaxGeneration, lDescription); + } + Beagle_StackTraceEndM("void TermMaxGenOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Check if the maximum number of generation is reached. + * \param inDeme Actual deme of the evolution. + * \param ioContext Actual evolution context. + * \return True if the ending criterion is reached, false if not. + */ +bool TermMaxGenOp::terminate(const Deme& inDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if(ioContext.getGeneration() > mMaxGeneration->getWrappedValue()) { + Beagle_LogInfoM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermMaxGenOp", + std::string("Maximum number of generations (") + + uint2str(mMaxGeneration->getWrappedValue()) + + std::string(") termination criterion overpassed") + ); + Beagle_LogDetailedM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermMaxGenOp", + std::string("Actual generation number is: ")+uint2str(ioContext.getGeneration()) + ); + return true; + } + if((ioContext.getGeneration() == mMaxGeneration->getWrappedValue()) && + (ioContext.getDemeIndex() == (ioContext.getVivarium().size()-1))) { + Beagle_LogInfoM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermMaxGenOp", + std::string("Maximum number of generations (") + + uint2str(mMaxGeneration->getWrappedValue()) + + std::string(") termination criterion reached") + ); + return true; + } + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermMaxGenOp", + std::string("Maximum number of generations (") + + uint2str(mMaxGeneration->getWrappedValue()) + + std::string(") termination criterion not reached ") + ); + return false; + Beagle_StackTraceEndM("bool TermMaxGenOp::terminate(const Deme& inDeme, Context& ioContext)"); +} + + diff --git a/lib/beagle-3.0.3/beagle/src/TermMinFitnessOp.cpp b/lib/beagle-3.0.3/beagle/src/TermMinFitnessOp.cpp new file mode 100644 index 0000000..06bfe9a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/TermMinFitnessOp.cpp @@ -0,0 +1,151 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/TermMinFitnessOp.cpp + * \brief Source code of class TermMinFitnessOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.2 $ + * $Date: 2007/08/21 02:07:24 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a termination check operator based on a minimum fitness value. + * \param inMinFitness Default minimum fitness value. + * \param inName Name of the operator. + */ +TermMinFitnessOp::TermMinFitnessOp(float inMinFitness, Beagle::string inName) : + TerminationOp(inName), + mMinFitnessDefault(inMinFitness) +{ } + + +/*! + * \brief Initialize the minimum fitness value termination operator. + * \param ioSystem System to use to initialize the operator. + */ +void TermMinFitnessOp::initialize(System& ioSystem) +{ + Beagle_StackTraceBeginM(); + if(ioSystem.getRegister().isRegistered("ec.term.minfitness")) { + mMinFitness = + castHandleT(ioSystem.getRegister().getEntry("ec.term.minfitness")); + } else { + mMinFitness = new Float(mMinFitnessDefault); + Register::Description lDescription( + "Min fitness term criterion", + "Float", + dbl2str(mMinFitnessDefault), + "Minimal fitness value to reach before stopping evolution." + ); + ioSystem.getRegister().addEntry("ec.term.minfitness", mMinFitness, lDescription); + } + Beagle_StackTraceEndM("void TermMinFitnessOp::initialize(System& ioSystem)"); +} + + +/*! + * \brief Read a min fitness termination operator from an XML subtree. + * \param inIter XML iterator from which the operator is read. + * \param inOpMap Operator map to use to read operator. + * \throw IOException If a reading error occurs. + */ +void TermMinFitnessOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!=getName().c_str())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str().c_str()); + } + string lFitnessStr = inIter->getAttribute("fitness").c_str(); + if(lFitnessStr.empty() == false) { + mMinFitnessDefault = str2dbl(lFitnessStr); + if(mMinFitness != NULL) mMinFitness->getWrappedValue() = mMinFitnessDefault; + } + Beagle_StackTraceEndM("void TermMinFitnessOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap)"); +} + + +/*! + * \brief Check if the minimum fitness value is reached. + * \param inDeme Actual deme of the evolution. + * \param ioContext Actual evolution context. + * \return True if the ending criterion is reached, false if not. + */ +bool TermMinFitnessOp::terminate(const Deme& inDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + for(unsigned int i=0; i(inDeme[i]->getFitness()); + if(lFitness->isValid() && (lFitness->getValue() <= mMinFitness->getWrappedValue())) { + Beagle_LogInfoM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermMinFitnessOp", + string("Minimum fitness value (") + + dbl2str(mMinFitness->getWrappedValue()) + + string(") termination criterion reached by the ") + + uint2ordinal(i+1) + string(" individual (") + + dbl2str(lFitness->getValue()) + string(")") + ); + return true; + } + } + + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TermMinFitnessOp", + string("Minimum fitness value (") + + dbl2str(mMinFitness->getWrappedValue()) + + string(") termination criterion not reached ") + ); + return false; + Beagle_StackTraceEndM("bool TermMinFitnessOp::terminate(const Deme& inDeme, Context& ioContext)"); +} + + +/*! + * \brief Write a min fitness termination operator into an output stream. + * \param ioStreamer Output stream in which the operator is written. + * \param inIndent Whether XML output should be indented. + */ +void TermMinFitnessOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag(getName().c_str(), inIndent); + if(mMinFitness != NULL) + ioStreamer.insertAttribute("fitness", dbl2str(mMinFitness->getWrappedValue())); + else ioStreamer.insertAttribute("fitness", dbl2str(mMinFitnessDefault)); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void TermMinFitnessOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} diff --git a/lib/beagle-3.0.3/beagle/src/TerminationOp.cpp b/lib/beagle-3.0.3/beagle/src/TerminationOp.cpp new file mode 100644 index 0000000..443a43a --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/TerminationOp.cpp @@ -0,0 +1,75 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/TerminationOp.cpp + * \brief Source code of class TerminationOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a termination check operator. + * \param inName Name of the termination operator. + */ +TerminationOp::TerminationOp(Beagle::string inName) : + Operator(inName) +{ } + + +/*! + * \brief Apply the characteristic parameters reading operation. + * \param ioDeme Actual deme of the evolution. + * \param ioContext Context of the evolution. + */ +void TerminationOp::operate(Deme& ioDeme, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TerminationOp", + string("Checking if \"")+getName()+ + string("\" termination criterion reached for the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+" deme" + ); + if(terminate(ioDeme,ioContext)) { + Beagle_LogInfoM( + ioContext.getSystem().getLogger(), + "termination", "Beagle::TerminationOp", + "Termination criterion reached" + ); + ioContext.setContinueFlag(false); + } + Beagle_StackTraceEndM("void TerminationOp::operate(Deme& ioDeme, Context& ioContext)"); +} + diff --git a/lib/beagle-3.0.3/beagle/src/ValidationException.cpp b/lib/beagle-3.0.3/beagle/src/ValidationException.cpp new file mode 100644 index 0000000..e259014 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/ValidationException.cpp @@ -0,0 +1,58 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/ValidationException.cpp + * \brief Implementation of class ValidationException. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a new ValidationException object. + * \param inMessage Message describing the exception. + */ +ValidationException::ValidationException(Beagle::string inMessage) : + Exception(inMessage) +{ } + + +/*! + * \brief Get the name of the exception. + * \return Name of the exception. + */ +const char* ValidationException::getExceptionName() const throw() +{ + return "Beagle::ValidationException"; +} + diff --git a/lib/beagle-3.0.3/beagle/src/Vector.cpp b/lib/beagle-3.0.3/beagle/src/Vector.cpp new file mode 100644 index 0000000..e536a3f --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/Vector.cpp @@ -0,0 +1,166 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/Vector.cpp + * \brief Source code of class Vector. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.12.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a Beagle Vector. + * \param inSize Size of the vector. + * \param inValue Default value of vector elements. + */ +Vector::Vector(unsigned int inSize, double inValue) : + Beagle::Object(), + PACC::Vector(inSize, inValue) +{ } + + +/*! + * \brief Construct a Beagle vector from a PACC matrix. + * \param inMatrix PACC matrix model. + */ +Vector::Vector(const PACC::Matrix& inMatrix) : + Beagle::Object(), + PACC::Vector(inMatrix) +{ } + + +/*! + * \brief Construct a Beagle vector from a PACC vector. + * \param inVector PACC vector model. + */ +Vector::Vector(const PACC::Vector& inVector) : + Beagle::Object(), + PACC::Vector(inVector) +{ } + + +/*! + * \brief Construct a Beagle vector from a Beagle matrix. + * \param inMatrix Beagle matrix model. + */ +Vector::Vector(const Beagle::Matrix& inMatrix) : + Beagle::Object(), + PACC::Vector(inMatrix) +{ } + + +/*! + * \brief Operator=, copy a PACC matrix into a Beagle vector. + * \param inMatrix PACC matrix to copy. + * \return Reference to actual vector. + */ +Vector& Vector::operator=(const PACC::Matrix& inMatrix) +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inMatrix.getCols() <= 1); + PACC::Matrix::operator=(inMatrix); + return *this; + Beagle_StackTraceEndM("Vector& Vector::operator=(const PACC::Matrix& inMatrix)"); +} + + +/*! + * \brief Operator=, copy a PACC vector into a Beagle vector. + * \param inVector PACC vector to copy. + * \return Reference to actual vector. + */ +Vector& Vector::operator=(const PACC::Vector& inVector) +{ + Beagle_StackTraceBeginM(); + PACC::Vector::operator=(inVector); + return *this; + Beagle_StackTraceEndM("Vector& Vector::operator=(const PACC::Vector& inVector)"); +} + + +/*! + * \brief Operator=, copy a Beagle matrix into a Beagle vector. + * \param inMatrix Beagle matrix to copy. + * \return Reference to actual vector. + */ +Vector& Vector::operator=(const Beagle::Matrix& inMatrix) +{ + Beagle_StackTraceBeginM(); + Beagle_AssertM(inMatrix.getCols() <= 1); + PACC::Matrix::operator=(inMatrix); + return *this; + Beagle_StackTraceEndM("Vector& Vector::operator=(const Beagle::Matrix& inMatrix)"); +} + + +/*! + * \brief Read vector from a XML subtree. + * \param inIter XML iterator to read the vector from. + */ +void Vector::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + if(inIter->getType()!=PACC::XML::eString) + throw Beagle_IOExceptionNodeM(*inIter,"expected string to read vector!"); + resize(0); + std::istringstream lISS(inIter->getValue()); + while(lISS.good()) { + double lValue; + lISS >> lValue; + resize(size()+1); + (*this)[size()-1] = lValue; + if(lISS.good()==false) break; + int lDelim=lISS.get(); + if((lISS.good()==false) || (lDelim==-1)) break; + } + Beagle_StackTraceEndM("void Vector::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Write a matrix into a XML streamer. + * \param ioStreamer XML streamer to use. + * \param inIndent Whether XML output should be indented. + */ +void Vector::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + std::ostringstream lOSS; + const unsigned int lSize = size(); + for(unsigned int i=0; i + +using namespace Beagle; + + +/*! + * \brief Construct a vivarium from a deme allocator. + * \param inDemeAlloc Allocator of demes. + */ +Vivarium::Vivarium(Deme::Alloc::Handle inDemeAlloc) : + Deme::Bag(inDemeAlloc), + mHOFAlloc(new HallOfFame::Alloc), + mHallOfFame(new HallOfFame(inDemeAlloc->getContainerTypeAlloc())), + mStatsAlloc(new Stats::Alloc), + mStats(new Stats) +{ } + + +/*! + * \brief Construct a vivarium from a deme allocator and a statistics allocator. + * \param inDemeAlloc Allocator of demes. + * \param inStatsAlloc Statistics allocator. + * \param inHOFAlloc Hall-of-fame allocator. + * \param inN Number of demes of the vivarium. + */ +Vivarium::Vivarium(Deme::Alloc::Handle inDemeAlloc, + Stats::Alloc::Handle inStatsAlloc, + HallOfFame::Alloc::Handle inHOFAlloc, + size_type inN) : + Deme::Bag(inDemeAlloc, inN), + mHOFAlloc(inHOFAlloc), + mHallOfFame(castObjectT(inHOFAlloc->allocate())), + mStatsAlloc(inStatsAlloc), + mStats(castObjectT(inStatsAlloc->allocate())) +{ + Beagle_StackTraceBeginM(); + mHallOfFame->setIndivAlloc(inDemeAlloc->getContainerTypeAlloc()); + Beagle_StackTraceEndM("Vivarium::Vivarium(Deme::Alloc::Handle inDemeAlloc, Stats::Alloc::Handle inStatsAlloc, HallOfFame::Alloc::Handle inHOFAlloc, size_type inN)"); +} + + +/*! + * \brief Construct a vivarium from a genotype allocator. + * \param inGenotypeAlloc Genotype allocator. + */ +Vivarium::Vivarium(Genotype::Alloc::Handle inGenotypeAlloc) : + Deme::Bag(new Deme::Alloc(new Individual::Alloc(inGenotypeAlloc,new FitnessSimple::Alloc), + new Stats::Alloc, new HallOfFame::Alloc)), + mHOFAlloc(new HallOfFame::Alloc), + mHallOfFame(new HallOfFame(new Individual::Alloc(inGenotypeAlloc, new FitnessSimple::Alloc))), + mStatsAlloc(new Stats::Alloc), + mStats(new Stats) +{ } + + +/*! + * \brief Construct a vivarium with a genotype allocator and a fitness allocator. + * \param inGenotypeAlloc Genotype allocator. + * \param inFitnessAlloc Fitness allocator. + */ +Vivarium::Vivarium(Genotype::Alloc::Handle inGenotypeAlloc, Fitness::Alloc::Handle inFitnessAlloc) : + Deme::Bag(new Deme::Alloc(new Individual::Alloc(inGenotypeAlloc,inFitnessAlloc), + new Stats::Alloc, new HallOfFame::Alloc)), + mHOFAlloc(new HallOfFame::Alloc), + mHallOfFame(new HallOfFame(new Individual::Alloc(inGenotypeAlloc, inFitnessAlloc))), + mStatsAlloc(new Stats::Alloc), + mStats(new Stats) +{ } + + +/*! + * \brief Copy-construct a vivarium. + * \param inOrigVivarium Vivarium to copy. + */ +Vivarium::Vivarium(const Vivarium& inOrigVivarium) : + Deme::Bag() +{ + Beagle_StackTraceBeginM(); + (*this) = inOrigVivarium; + Beagle_StackTraceEndM("Vivarium::Vivarium(const Vivarium& inOrigVivarium)"); +} + + +/*! + * \brief Copy a vivarium. + * \param inOrigVivarium Vivarium to copy. + */ +Vivarium& Vivarium::operator=(const Vivarium& inOrigVivarium) +{ + Beagle_StackTraceBeginM(); + if(this == &inOrigVivarium) return *this; + Deme::Bag::operator=(inOrigVivarium); + mHOFAlloc = inOrigVivarium.mHOFAlloc; + mHallOfFame = castObjectT(mHOFAlloc->clone(*inOrigVivarium.mHallOfFame)); + mStatsAlloc = inOrigVivarium.mStatsAlloc; + mStats = castObjectT(mStatsAlloc->clone(*inOrigVivarium.mStats)); + return *this; + Beagle_StackTraceEndM("Vivarium& Vivarium::operator=(const Vivarium& inOrigVivarium)"); +} + + +/*! + * \brief Copy a vivarium and clone the demes that it haves. + * \param inOrigContainer Original vivarium to copy. + * \throw BadCastException If the vivarium received as argument have no type allocator. + */ +void Vivarium::copyData(const Container& inOrigContainer) +{ + Beagle_StackTraceBeginM(); + const Vivarium& lRightVivarium = castObjectT(inOrigContainer); + if(lRightVivarium.getTypeAlloc() == NULL) { + string lMessage = "The copyData() method must be call only with as argument a vivarium"; + lMessage += " that have a type allocator!"; + throw Beagle_InternalExceptionM(lMessage); + } + if(this == &lRightVivarium) return; + (*this) = lRightVivarium; + clear(); + for(size_type i=0; icloneData(*lRightVivarium[i])); + } + Beagle_StackTraceEndM("void Vivarium::copyData(const Container& inOrigContainer)"); +} + + +/*! + * \brief Reading a vivarium with method read is undefined. Use readWithContext instead. + */ +void Vivarium::read(PACC::XML::ConstIterator inIter) +{ + Beagle_StackTraceBeginM(); + throw Beagle_UndefinedMethodInternalExceptionM("read","Vivarium",getName()); + Beagle_StackTraceEndM("void Vivarium::read(PACC::XML::ConstIterator inIter)"); +} + + +/*! + * \brief Read a vivarium from an XML node. + * \param inIter XML iterator to read the vivarium from. + * \param ioContext Evolutionary context to use to read the vivarium. + * \throw Beagle::IOException If the format is not respected. + */ +void Vivarium::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Vivarium")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType()==PACC::XML::eData) { + if(lChild->getValue() == "Stats") mStats->read(lChild); + else if(lChild->getValue() == "HallOfFame") mHallOfFame->readWithContext(lChild, ioContext); + else if(lChild->getValue() == "Population") readPopulation(lChild, ioContext); + } + } + Beagle_StackTraceEndM("void Vivarium::readWithContext(PACC::XML::ConstIterator inIter, Context& ioContext)"); +} + + +/*! + * \brief Read a vivarium population from an XML node. + * \param inIter XML iterator to read the vivarium population from. + * \param ioContext Evolutionary context to use to read the vivarium population. + * \throw Beagle::IOException If the format is not respected. + */ +void Vivarium::readPopulation(PACC::XML::ConstIterator inIter, Context& ioContext) +{ + Beagle_StackTraceBeginM(); + if((inIter->getType()!=PACC::XML::eData) || (inIter->getValue()!="Population")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + size_type lSize=0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Deme")) ++lSize; + } + if((getTypeAlloc()==NULL) && (lSize>size())) { + std::ostringstream lMessageOSS; + lMessageOSS << "Vivarium population size (" << lSize << ") is bigger than the actual size ("; + lMessageOSS << size() << "), and there is no type allocator for resizing!"; + throw Beagle_IOExceptionNodeM(*inIter, lMessageOSS.str().c_str()); + } + resize(lSize); + unsigned int lOldDemeIndex = ioContext.getDemeIndex(); + Deme::Handle lOldDemeHandle = ioContext.getDemeHandle(); + unsigned int lIndex=0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="Deme")) { + Beagle_NonNullPointerAssertM((*this)[lIndex]); + ioContext.setDemeIndex(lIndex); + ioContext.setDemeHandle((*this)[lIndex]); + (*this)[lIndex]->readWithContext(lChild, ioContext); + ++lIndex; + } + } + ioContext.setDemeHandle(lOldDemeHandle); + ioContext.setDemeIndex(lOldDemeIndex); + Beagle_StackTraceEndM("void Vivarium::readPopulation(PACC::XML::ConstIterator inIter, Context& ioContext)"); +} + + +/*! + * \brief Write the actual vivarium in a XML streamer. + * \param ioStreamer XML streamer to write the vivarium into. + * \param inIndent Whether XML output should be indented. + */ +void Vivarium::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Vivarium", inIndent); + mStats->write(ioStreamer, inIndent); + mHallOfFame->write(ioStreamer, inIndent); + writePopulation(ioStreamer, inIndent); + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void Vivarium::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + +/*! + * \brief Write the vivarium population in a XML streamer. + * \param ioStreamer XML streamer to write the vivarium population into. + * \param inIndent Whether XML output should be indented. + */ +void Vivarium::writePopulation(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle_StackTraceBeginM(); + ioStreamer.openTag("Population", inIndent); + ioStreamer.insertAttribute("size", uint2str(size())); + for(size_type i=0; iwrite(ioStreamer, inIndent); + } + ioStreamer.closeTag(); + Beagle_StackTraceEndM("void Vivarium::writePopulation(PACC::XML::Streamer& ioStreamer, bool inIndent) const"); +} + + diff --git a/lib/beagle-3.0.3/beagle/src/VivariumAlloc.cpp b/lib/beagle-3.0.3/beagle/src/VivariumAlloc.cpp new file mode 100644 index 0000000..614d6f3 --- /dev/null +++ b/lib/beagle-3.0.3/beagle/src/VivariumAlloc.cpp @@ -0,0 +1,168 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/VivariumAlloc.cpp + * \brief Source code of class VivariumAlloc. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Beagle.hpp" + +using namespace Beagle; + + +/*! + * \brief Constructor of vivarium allocator from a deme allocator. + * \param inDemeAlloc Type allocator given to the deme allocated. + */ +VivariumAlloc::VivariumAlloc(Deme::Alloc::Handle inDemeAlloc) : + VivariumAllocBaseType(inDemeAlloc), + mHOFAlloc(new HallOfFame::Alloc), + mStatsAlloc(new Stats::Alloc) +{ } + + +/*! + * \brief Constructor of vivarium allocator from a deme allocator and a statistics allocator. + * \param inDemeAlloc Type allocator given to the deme allocated. + * \param inStatsAlloc Statistics allocator. + * \param inHOFAlloc Hall-of-fame allocator. + */ +VivariumAlloc::VivariumAlloc(Deme::Alloc::Handle inDemeAlloc, + Stats::Alloc::Handle inStatsAlloc, + HallOfFame::Alloc::Handle inHOFAlloc) : + VivariumAllocBaseType(inDemeAlloc), + mHOFAlloc(inHOFAlloc), + mStatsAlloc(inStatsAlloc) +{ } + + +/*! + * \brief Allocate a new vivarium and the heap by giving it the type allocator. + * \return Pointer to the allocated vivarium. + */ +Object* VivariumAlloc::allocate() const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + Vivarium* lVivarium = new Vivarium(castHandleT(mContainerTypeAlloc), + mStatsAlloc, mHOFAlloc); + if(!lVivarium) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lVivarium; +#else // BEAGLE_NDEBUG + return new Vivarium(castHandleT(mContainerTypeAlloc), + mStatsAlloc, mHOFAlloc); +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object* VivariumAlloc::allocate() const"); +} + + +/*! + * \brief Allocate a new vivarium on the heap that is a clone an existing vivarium. + * \param inOrigObj Constant reference to the original vivarium object to clone. + * \return Pointer to the allocated vivarium. + * \throw InternalException If the program run out of memory. + * \throw BadCastException If the type asserted is not valid. + */ +Object* VivariumAlloc::clone(const Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + const Vivarium& lOrigIndiv = castObjectT(inOrigObj); + Vivarium* lVivarium = new Vivarium(lOrigIndiv); + if(!lVivarium) throw Beagle_InternalExceptionM("Out-of-memory!"); + return lVivarium; +#else // BEAGLE_NDEBUG + const Vivarium& lOrigIndiv = castObjectT(inOrigObj); + return new Vivarium(lOrigIndiv); +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Object* VivariumAlloc::clone(const Object& inOrigObj) const"); +} + + +/*! + * \brief Allocate a new vivarium on the heap that is a clone an existing vivarium. + * \param inOrigContainer Constant reference to the original vivarium object to clone. + * \return Pointer to the allocated vivarium. + * \throw InternalException If the program run out of memory. + * \throw BadCastException If the type asserted is not valid. + */ +Container* VivariumAlloc::cloneData(const Container& inOrigContainer) const +{ + Beagle_StackTraceBeginM(); +#ifndef BEAGLE_NDEBUG + const Vivarium& lOrigIndiv = castObjectT(inOrigContainer); + Vivarium* lVivarium = new Vivarium(castHandleT(mContainerTypeAlloc), + mStatsAlloc, mHOFAlloc); + if(!lVivarium) throw Beagle_InternalExceptionM("Out-of-memory!"); + lVivarium->copyData(lOrigIndiv); + return lVivarium; +#else // BEAGLE_NDEBUG + const Vivarium& lOrigIndiv = castObjectT(inOrigContainer); + Vivarium* lVivarium = new Vivarium(castHandleT(mContainerTypeAlloc), + mStatsAlloc, mHOFAlloc); + lVivarium->copyData(lOrigIndiv); + return lVivarium; +#endif // BEAGLE_NDEBUG + Beagle_StackTraceEndM("Container* VivariumAlloc::cloneData(const Container& inOrigContainer) const"); +} + + +/*! + * \brief Copy a vivarium into another. + * \param outCopyObj Constant reference to the original vivarium to copy. + * \param inOrigObj Reference to the vivarium that is a copy of the original. + * \throw BadCastException If the type asserted is not valid. + */ +void VivariumAlloc::copy(Object& outCopyObj, const Object& inOrigObj) const +{ + Beagle_StackTraceBeginM(); + Vivarium& lCopyIndiv = castObjectT(outCopyObj); + const Vivarium& lOrigIndiv = castObjectT(inOrigObj); + lCopyIndiv = lOrigIndiv; + Beagle_StackTraceEndM("void VivariumAlloc::copy(Object& outCopyObj, const Object& inOrigObj) const"); +} + + +/*! + * \brief Copy a vivarium into another. + * \param outCopyContainer Constant reference to the original vivarium to copy. + * \param inOrigContainer Reference to the vivarium that is a copy of the original. + * \throw BadCastException If the type asserted is not valid. + */ +void VivariumAlloc::copyData(Container& outCopyContainer, const Container& inOrigContainer) const +{ + Beagle_StackTraceBeginM(); + Vivarium& lCopyIndiv = castObjectT(outCopyContainer); + const Vivarium& lOrigIndiv = castObjectT(inOrigContainer); + lCopyIndiv.copyData(lOrigIndiv); + Beagle_StackTraceEndM("void VivariumAlloc::copyData(Container& outCopyContainer, const Container& inOrigContainer) const"); +} + diff --git a/lib/beagle-3.0.3/bootstrap b/lib/beagle-3.0.3/bootstrap new file mode 100755 index 0000000..89df4e4 --- /dev/null +++ b/lib/beagle-3.0.3/bootstrap @@ -0,0 +1,9 @@ +#!/bin/sh +set -x +aclocal -I m4 +libtoolize --copy --force +autoheader +autoconf +automake --add-missing --force-missing --copy +rm -f COPYING + diff --git a/lib/beagle-3.0.3/config.log b/lib/beagle-3.0.3/config.log new file mode 100644 index 0000000..5f9120f --- /dev/null +++ b/lib/beagle-3.0.3/config.log @@ -0,0 +1,1247 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by Open BEAGLE configure 3.0.3, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ ./configure + +## --------- ## +## Platform. ## +## --------- ## + +hostname = Crackintosh +uname -m = x86_64 +uname -r = 6.1.0-16-amd64 +uname -s = Linux +uname -v = #1 SMP PREEMPT_DYNAMIC Debian 6.1.67-1 (2023-12-12) + +/usr/bin/uname -p = unknown +/bin/uname -X = unknown + +/bin/arch = x86_64 +/usr/bin/arch -k = unknown +/usr/convex/getsysinfo = unknown +/usr/bin/hostinfo = unknown +/bin/machine = unknown +/usr/bin/oslevel = unknown +/bin/universe = unknown + +PATH: /home/brett/.cargo/bin/ +PATH: /usr/local/bin/ +PATH: /usr/bin/ +PATH: /bin/ +PATH: /usr/local/games/ +PATH: /usr/games/ + + +## ----------- ## +## Core tests. ## +## ----------- ## + +configure:2735: looking for aux files: compile config.guess config.sub ltmain.sh missing install-sh +configure:2748: trying ./config/ +configure:2777: ./config/compile found +configure:2777: ./config/config.guess found +configure:2777: ./config/config.sub found +configure:2777: ./config/ltmain.sh found +configure:2777: ./config/missing found +configure:2759: ./config/install-sh found +configure:2909: checking for a BSD-compatible install +configure:2982: result: /usr/bin/install -c +configure:2993: checking whether build environment is sane +configure:3048: result: yes +configure:3207: checking for a race-free mkdir -p +configure:3251: result: /usr/bin/mkdir -p +configure:3258: checking for gawk +configure:3279: found /usr/bin/gawk +configure:3290: result: gawk +configure:3301: checking whether make sets $(MAKE) +configure:3324: result: yes +configure:3354: checking whether make supports nested variables +configure:3372: result: yes +configure:3518: checking for gawk +configure:3550: result: gawk +configure:3630: checking for g++ +configure:3651: found /usr/bin/g++ +configure:3662: result: g++ +configure:3689: checking for C++ compiler version +configure:3698: g++ --version >&5 +g++ (Debian 12.2.0-14) 12.2.0 +Copyright (C) 2022 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:3709: $? = 0 +configure:3698: g++ -v >&5 +Using built-in specs. +COLLECT_GCC=g++ +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 12.2.0 (Debian 12.2.0-14) +... rest of stderr output deleted ... +configure:3709: $? = 0 +configure:3698: g++ -V >&5 +g++: error: unrecognized command-line option '-V' +g++: fatal error: no input files +compilation terminated. +configure:3709: $? = 1 +configure:3698: g++ -qversion >&5 +g++: error: unrecognized command-line option '-qversion'; did you mean '--version'? +g++: fatal error: no input files +compilation terminated. +configure:3709: $? = 1 +configure:3729: checking whether the C++ compiler works +configure:3751: g++ conftest.cpp >&5 +configure:3755: $? = 0 +configure:3805: result: yes +configure:3808: checking for C++ compiler default output file name +configure:3810: result: a.out +configure:3816: checking for suffix of executables +configure:3823: g++ -o conftest conftest.cpp >&5 +configure:3827: $? = 0 +configure:3850: result: +configure:3872: checking whether we are cross compiling +configure:3880: g++ -o conftest conftest.cpp >&5 +configure:3884: $? = 0 +configure:3891: ./conftest +configure:3895: $? = 0 +configure:3910: result: no +configure:3915: checking for suffix of object files +configure:3938: g++ -c conftest.cpp >&5 +configure:3942: $? = 0 +configure:3964: result: o +configure:3968: checking whether the compiler supports GNU C++ +configure:3988: g++ -c conftest.cpp >&5 +configure:3988: $? = 0 +configure:3998: result: yes +configure:4009: checking whether g++ accepts -g +configure:4030: g++ -c -g conftest.cpp >&5 +configure:4030: $? = 0 +configure:4074: result: yes +configure:4094: checking for g++ option to enable C++11 features +configure:4109: g++ -c -g -O2 conftest.cpp >&5 +conftest.cpp: In function 'int main(int, char**)': +conftest.cpp:177:25: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] + 177 | cxx11test::delegate d2(); + | ^~ +conftest.cpp:177:25: note: remove parentheses to default-initialize a variable + 177 | cxx11test::delegate d2(); + | ^~ + | -- +conftest.cpp:177:25: note: or replace parentheses with braces to value-initialize a variable +configure:4109: $? = 0 +configure:4127: result: none needed +configure:4194: checking whether make supports the include directive +configure:4209: make -f confmf.GNU && cat confinc.out +this is the am__doit target +configure:4212: $? = 0 +configure:4231: result: yes (GNU style) +configure:4257: checking dependency style of g++ +configure:4369: result: gcc3 +configure:4389: checking how to run the C++ preprocessor +configure:4411: g++ -E conftest.cpp +configure:4411: $? = 0 +configure:4426: g++ -E conftest.cpp +conftest.cpp:11:10: fatal error: ac_nonexistent.h: No such file or directory + 11 | #include + | ^~~~~~~~~~~~~~~~~~ +compilation terminated. +configure:4426: $? = 1 +configure: failed program was: +| /* confdefs.h */ +| #define PACKAGE_NAME "Open BEAGLE" +| #define PACKAGE_TARNAME "beagle" +| #define PACKAGE_VERSION "3.0.3" +| #define PACKAGE_STRING "Open BEAGLE 3.0.3" +| #define PACKAGE_BUGREPORT "cgagne@gmail.com" +| #define PACKAGE_URL "" +| #define PACKAGE "beagle" +| #define VERSION "3.0.3" +| /* end confdefs.h. */ +| #include +configure:4453: result: g++ -E +configure:4467: g++ -E conftest.cpp +configure:4467: $? = 0 +configure:4482: g++ -E conftest.cpp +conftest.cpp:11:10: fatal error: ac_nonexistent.h: No such file or directory + 11 | #include + | ^~~~~~~~~~~~~~~~~~ +compilation terminated. +configure:4482: $? = 1 +configure: failed program was: +| /* confdefs.h */ +| #define PACKAGE_NAME "Open BEAGLE" +| #define PACKAGE_TARNAME "beagle" +| #define PACKAGE_VERSION "3.0.3" +| #define PACKAGE_STRING "Open BEAGLE 3.0.3" +| #define PACKAGE_BUGREPORT "cgagne@gmail.com" +| #define PACKAGE_URL "" +| #define PACKAGE "beagle" +| #define VERSION "3.0.3" +| /* end confdefs.h. */ +| #include +configure:4513: checking whether ln -s works +configure:4517: result: yes +configure:4526: WARNING: Libtool does not cope well with whitespace in `pwd` +configure:4556: checking build system type +configure:4571: result: x86_64-pc-linux-gnu +configure:4591: checking host system type +configure:4605: result: x86_64-pc-linux-gnu +configure:4646: checking how to print strings +configure:4673: result: printf +configure:4756: checking for gcc +configure:4777: found /usr/bin/gcc +configure:4788: result: gcc +configure:5141: checking for C compiler version +configure:5150: gcc --version >&5 +gcc (Debian 12.2.0-14) 12.2.0 +Copyright (C) 2022 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:5161: $? = 0 +configure:5150: gcc -v >&5 +Using built-in specs. +COLLECT_GCC=gcc +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Debian 12.2.0-14' --with-bugurl=file:///usr/share/doc/gcc-12/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-12 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-12-bTRWOB/gcc-12-12.2.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 12.2.0 (Debian 12.2.0-14) +... rest of stderr output deleted ... +configure:5161: $? = 0 +configure:5150: gcc -V >&5 +gcc: error: unrecognized command-line option '-V' +gcc: fatal error: no input files +compilation terminated. +configure:5161: $? = 1 +configure:5150: gcc -qversion >&5 +gcc: error: unrecognized command-line option '-qversion'; did you mean '--version'? +gcc: fatal error: no input files +compilation terminated. +configure:5161: $? = 1 +configure:5150: gcc -version >&5 +gcc: error: unrecognized command-line option '-version' +gcc: fatal error: no input files +compilation terminated. +configure:5161: $? = 1 +configure:5165: checking whether the compiler supports GNU C +configure:5185: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:5185: $? = 0 +configure:5195: result: yes +configure:5206: checking whether gcc accepts -g +configure:5227: gcc -c -g conftest.c >&5 +configure:5227: $? = 0 +configure:5271: result: yes +configure:5291: checking for gcc option to enable C11 features +configure:5306: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:5306: $? = 0 +configure:5324: result: none needed +configure:5440: checking whether gcc understands -c and -o together +configure:5463: gcc -c conftest.c -o conftest2.o +configure:5466: $? = 0 +configure:5463: gcc -c conftest.c -o conftest2.o +configure:5466: $? = 0 +configure:5478: result: yes +configure:5497: checking dependency style of gcc +configure:5609: result: gcc3 +configure:5624: checking for a sed that does not truncate output +configure:5694: result: /usr/bin/sed +configure:5712: checking for grep that handles long lines and -e +configure:5776: result: /usr/bin/grep +configure:5781: checking for egrep +configure:5849: result: /usr/bin/grep -E +configure:5854: checking for fgrep +configure:5922: result: /usr/bin/grep -F +configure:5958: checking for ld used by gcc +configure:6026: result: /usr/bin/ld +configure:6033: checking if the linker (/usr/bin/ld) is GNU ld +configure:6049: result: yes +configure:6061: checking for BSD- or MS-compatible name lister (nm) +configure:6116: result: /usr/bin/nm -B +configure:6256: checking the name lister (/usr/bin/nm -B) interface +configure:6264: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:6267: /usr/bin/nm -B "conftest.o" +configure:6270: output +0000000000000000 B some_variable +configure:6277: result: BSD nm +configure:6281: checking the maximum length of command line arguments +configure:6413: result: 1572864 +configure:6461: checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format +configure:6502: result: func_convert_file_noop +configure:6509: checking how to convert x86_64-pc-linux-gnu file names to toolchain format +configure:6530: result: func_convert_file_noop +configure:6537: checking for /usr/bin/ld option to reload object files +configure:6545: result: -r +configure:6624: checking for file +configure:6645: found /usr/bin/file +configure:6656: result: file +configure:6732: checking for objdump +configure:6753: found /usr/bin/objdump +configure:6764: result: objdump +configure:6796: checking how to recognize dependent libraries +configure:6997: result: pass_all +configure:7087: checking for dlltool +configure:7122: result: no +configure:7152: checking how to associate runtime and link libraries +configure:7180: result: printf %s\n +configure:7246: checking for ar +configure:7267: found /usr/bin/ar +configure:7278: result: ar +configure:7331: checking for archiver @FILE support +configure:7349: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:7349: $? = 0 +configure:7353: ar cr libconftest.a @conftest.lst >&5 +configure:7356: $? = 0 +configure:7361: ar cr libconftest.a @conftest.lst >&5 +ar: conftest.o: No such file or directory +configure:7364: $? = 1 +configure:7376: result: @ +configure:7439: checking for strip +configure:7460: found /usr/bin/strip +configure:7471: result: strip +configure:7548: checking for ranlib +configure:7569: found /usr/bin/ranlib +configure:7580: result: ranlib +configure:7682: checking command to parse /usr/bin/nm -B output from gcc object +configure:7836: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:7839: $? = 0 +configure:7843: /usr/bin/nm -B conftest.o | /usr/bin/sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /usr/bin/sed '/ __gnu_lto/d' > conftest.nm +configure:7909: gcc -o conftest -std=c++03 conftest.c conftstm.o >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:7912: $? = 0 +configure:7950: result: ok +configure:7997: checking for sysroot +configure:8028: result: no +configure:8035: checking for a working dd +configure:8079: result: /usr/bin/dd +configure:8083: checking how to truncate binary pipes +configure:8099: result: /usr/bin/dd bs=4096 count=1 +configure:8236: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:8239: $? = 0 +configure:8436: checking for mt +configure:8457: found /usr/bin/mt +configure:8468: result: mt +configure:8491: checking if mt is a manifest tool +configure:8498: mt '-?' +configure:8506: result: no +configure:9231: checking for stdio.h +configure:9231: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:9231: $? = 0 +configure:9231: result: yes +configure:9231: checking for stdlib.h +configure:9231: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:9231: $? = 0 +configure:9231: result: yes +configure:9231: checking for string.h +configure:9231: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:9231: $? = 0 +configure:9231: result: yes +configure:9231: checking for inttypes.h +configure:9231: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:9231: $? = 0 +configure:9231: result: yes +configure:9231: checking for stdint.h +configure:9231: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:9231: $? = 0 +configure:9231: result: yes +configure:9231: checking for strings.h +configure:9231: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:9231: $? = 0 +configure:9231: result: yes +configure:9231: checking for sys/stat.h +configure:9231: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:9231: $? = 0 +configure:9231: result: yes +configure:9231: checking for sys/types.h +configure:9231: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:9231: $? = 0 +configure:9231: result: yes +configure:9231: checking for unistd.h +configure:9231: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:9231: $? = 0 +configure:9231: result: yes +configure:9256: checking for dlfcn.h +configure:9256: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:9256: $? = 0 +configure:9256: result: yes +configure:9526: checking for objdir +configure:9542: result: .libs +configure:9802: checking if gcc supports -fno-rtti -fno-exceptions +configure:9821: gcc -c -std=c++03 -fno-rtti -fno-exceptions conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +cc1: warning: command-line option '-fno-rtti' is valid for C++/D/ObjC++ but not for C +configure:9825: $? = 0 +configure:9838: result: no +configure:10202: checking for gcc option to produce PIC +configure:10210: result: -fPIC -DPIC +configure:10218: checking if gcc PIC flag -fPIC -DPIC works +configure:10237: gcc -c -std=c++03 -fPIC -DPIC -DPIC conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:10241: $? = 0 +configure:10254: result: yes +configure:10283: checking if gcc static flag -static works +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:10312: result: yes +configure:10327: checking if gcc supports -c -o file.o +configure:10349: gcc -c -std=c++03 -o out/conftest2.o conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:10353: $? = 0 +configure:10375: result: yes +configure:10383: checking if gcc supports -c -o file.o +configure:10431: result: yes +configure:10464: checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries +configure:11738: result: yes +configure:11775: checking whether -lc should be explicitly linked in +configure:11784: gcc -c -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:11787: $? = 0 +configure:11802: gcc -shared -fPIC -DPIC conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /usr/bin/grep -lc \>/dev/null 2\>\&1 +configure:11805: $? = 0 +configure:11819: result: no +configure:11979: checking dynamic linker characteristics +configure:12561: gcc -o conftest -std=c++03 -Wl,-rpath -Wl,/foo conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:12561: $? = 0 +configure:12812: result: GNU/Linux ld.so +configure:12934: checking how to hardcode library paths into programs +configure:12959: result: immediate +configure:13511: checking whether stripping libraries is possible +configure:13520: result: yes +configure:13562: checking if libtool supports shared libraries +configure:13564: result: yes +configure:13567: checking whether to build shared libraries +configure:13592: result: yes +configure:13595: checking whether to build static libraries +configure:13599: result: yes +configure:13622: checking how to run the C++ preprocessor +configure:13686: result: g++ -E +configure:13700: g++ -E conftest.cpp +configure:13700: $? = 0 +configure:13715: g++ -E conftest.cpp +conftest.cpp:23:10: fatal error: ac_nonexistent.h: No such file or directory + 23 | #include + | ^~~~~~~~~~~~~~~~~~ +compilation terminated. +configure:13715: $? = 1 +configure: failed program was: +| /* confdefs.h */ +| #define PACKAGE_NAME "Open BEAGLE" +| #define PACKAGE_TARNAME "beagle" +| #define PACKAGE_VERSION "3.0.3" +| #define PACKAGE_STRING "Open BEAGLE 3.0.3" +| #define PACKAGE_BUGREPORT "cgagne@gmail.com" +| #define PACKAGE_URL "" +| #define PACKAGE "beagle" +| #define VERSION "3.0.3" +| #define HAVE_STDIO_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_UNISTD_H 1 +| #define STDC_HEADERS 1 +| #define HAVE_DLFCN_H 1 +| #define LT_OBJDIR ".libs/" +| /* end confdefs.h. */ +| #include +configure:13880: checking for ld used by g++ +configure:13948: result: /usr/bin/ld -m elf_x86_64 +configure:13955: checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld +configure:13971: result: yes +configure:14026: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries +configure:15104: result: yes +configure:15140: g++ -c -g -O2 conftest.cpp >&5 +configure:15143: $? = 0 +configure:15624: checking for g++ option to produce PIC +configure:15632: result: -fPIC -DPIC +configure:15640: checking if g++ PIC flag -fPIC -DPIC works +configure:15659: g++ -c -g -O2 -fPIC -DPIC -DPIC conftest.cpp >&5 +configure:15663: $? = 0 +configure:15676: result: yes +configure:15699: checking if g++ static flag -static works +configure:15728: result: yes +configure:15740: checking if g++ supports -c -o file.o +configure:15762: g++ -c -g -O2 -o out/conftest2.o conftest.cpp >&5 +configure:15766: $? = 0 +configure:15788: result: yes +configure:15793: checking if g++ supports -c -o file.o +configure:15841: result: yes +configure:15871: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries +configure:15914: result: yes +configure:16056: checking dynamic linker characteristics +configure:16816: result: GNU/Linux ld.so +configure:16881: checking how to hardcode library paths into programs +configure:16906: result: immediate +configure:17056: checking for egrep +configure:17124: result: /usr/bin/grep -E +configure:17131: checking whether the compiler recognizes bool as a built-in type +configure:17159: g++ -c -g -O2 conftest.cpp >&5 +configure:17159: $? = 0 +configure:17174: result: yes +configure:17182: checking for long long int +configure:17207: g++ -c -g -O2 conftest.cpp >&5 +configure:17207: $? = 0 +configure:17216: result: yes +configure:17224: checking whether the compiler supports isfinite macro +configure:17249: g++ -c -g -O2 conftest.cpp >&5 +conftest.cpp:26: warning: "_GNU_SOURCE" redefined + 26 | #define _GNU_SOURCE + | +: note: this is the location of the previous definition +conftest.cpp: In function 'int main()': +conftest.cpp:31:21: error: 'isfinite' was not declared in this scope; did you mean 'std::isfinite'? + 31 | double d=0; int n = isfinite(d); + | ^~~~~~~~ + | std::isfinite +In file included from conftest.cpp:27: +/usr/include/c++/12/cmath:578:5: note: 'std::isfinite' declared here + 578 | isfinite(_Tp __x) + | ^~~~~~~~ +configure:17249: $? = 1 +configure: failed program was: +| /* confdefs.h */ +| #define PACKAGE_NAME "Open BEAGLE" +| #define PACKAGE_TARNAME "beagle" +| #define PACKAGE_VERSION "3.0.3" +| #define PACKAGE_STRING "Open BEAGLE 3.0.3" +| #define PACKAGE_BUGREPORT "cgagne@gmail.com" +| #define PACKAGE_URL "" +| #define PACKAGE "beagle" +| #define VERSION "3.0.3" +| #define HAVE_STDIO_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_UNISTD_H 1 +| #define STDC_HEADERS 1 +| #define HAVE_DLFCN_H 1 +| #define LT_OBJDIR ".libs/" +| #define FAST_COMPILATION /**/ +| #define HAVE_BOOL /**/ +| #define HAVE_LONG_LONG /**/ +| /* end confdefs.h. */ +| #define _GNU_SOURCE +| #include +| int +| main (void) +| { +| double d=0; int n = isfinite(d); +| ; +| return 0; +| } +configure:17264: result: no +configure:17272: checking whether the compiler supports basic templates +configure:17298: g++ -c -g -O2 conftest.cpp >&5 +configure:17298: $? = 0 +configure:17313: result: yes +configure:17321: checking whether the compiler recognizes typename +configure:17345: g++ -c -g -O2 conftest.cpp >&5 +configure:17345: $? = 0 +configure:17360: result: yes +configure:17368: checking whether the compiler supports function matching with argument types which are template scope-qualified +configure:17400: g++ -c -g -O2 conftest.cpp >&5 +configure:17400: $? = 0 +configure:17415: result: yes +configure:17423: checking whether the compiler supports default template parameters +configure:17449: g++ -c -g -O2 conftest.cpp >&5 +configure:17449: $? = 0 +configure:17464: result: yes +configure:17472: checking whether the compiler supports template-qualified base class specifiers +configure:17509: g++ -c -g -O2 conftest.cpp >&5 +conftest.cpp:37:19: error: an explicit specialization must be preceded by 'template <>' + 37 | struct base_trait { typedef Base2 base; }; + | ^~~~~~~~~~~~~~~~~~~~~~~~ + | template <> +conftest.cpp: In member function 'int Weird::g() const': +conftest.cpp:41:27: error: there are no arguments to 'f' that depend on a template parameter, so a declaration of 'f' must be available [-fpermissive] + 41 | int g () const { return f (); } + | ^ +conftest.cpp:41:27: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) +configure:17509: $? = 1 +configure: failed program was: +| /* confdefs.h */ +| #define PACKAGE_NAME "Open BEAGLE" +| #define PACKAGE_TARNAME "beagle" +| #define PACKAGE_VERSION "3.0.3" +| #define PACKAGE_STRING "Open BEAGLE 3.0.3" +| #define PACKAGE_BUGREPORT "cgagne@gmail.com" +| #define PACKAGE_URL "" +| #define PACKAGE "beagle" +| #define VERSION "3.0.3" +| #define HAVE_STDIO_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_UNISTD_H 1 +| #define STDC_HEADERS 1 +| #define HAVE_DLFCN_H 1 +| #define LT_OBJDIR ".libs/" +| #define FAST_COMPILATION /**/ +| #define HAVE_BOOL /**/ +| #define HAVE_LONG_LONG /**/ +| #define HAVE_TEMPLATES /**/ +| #define HAVE_TYPENAME /**/ +| #define HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING /**/ +| #define HAVE_DEFAULT_TEMPLATE_PARAMETERS /**/ +| /* end confdefs.h. */ +| +| #ifndef HAVE_TYPENAME +| #define typename +| #endif +| class Base1 { public : int f () const { return 1; } }; +| class Base2 { public : int f () const { return 0; } }; +| template struct base_trait { typedef Base1 base; }; +| struct base_trait { typedef Base2 base; }; +| template class Weird : public base_trait::base +| { public : +| typedef typename base_trait::base base; +| int g () const { return f (); } +| }; +| int +| main (void) +| { +| Weird z; return z.g (); +| ; +| return 0; +| } +configure:17524: result: no +configure:17532: checking whether the compiler supports template-qualified return types +configure:17567: g++ -c -g -O2 conftest.cpp >&5 +configure:17567: $? = 0 +configure:17582: result: yes +configure:17590: checking whether the compiler supports const_cast<> +configure:17614: g++ -c -g -O2 conftest.cpp >&5 +configure:17614: $? = 0 +configure:17629: result: yes +configure:17637: checking whether the compiler supports reinterpret_cast<> +configure:17666: g++ -c -g -O2 conftest.cpp >&5 +configure:17666: $? = 0 +configure:17681: result: yes +configure:17689: checking whether the compiler supports static_cast<> +configure:17717: g++ -c -g -O2 conftest.cpp >&5 +configure:17717: $? = 0 +configure:17732: result: yes +configure:17740: checking whether the compiler supports dynamic_cast<> +configure:17767: g++ -c -g -O2 conftest.cpp >&5 +configure:17767: $? = 0 +configure:17782: result: yes +configure:17790: checking whether the compiler supports exceptions +configure:17814: g++ -c -g -O2 conftest.cpp >&5 +configure:17814: $? = 0 +configure:17829: result: yes +configure:17837: checking whether the compiler supports the explicit keyword +configure:17861: g++ -c -g -O2 conftest.cpp >&5 +configure:17861: $? = 0 +configure:17876: result: yes +configure:17884: checking whether the compiler implements namespaces +configure:17908: g++ -c -g -O2 conftest.cpp >&5 +configure:17908: $? = 0 +configure:17923: result: yes +configure:17931: checking whether the compiler supports Run-Time Type Identification +configure:17967: g++ -c -g -O2 conftest.cpp >&5 +configure:17967: $? = 0 +configure:17982: result: yes +configure:17990: checking whether the compiler supports ISO C++ standard library +configure:18021: g++ -c -g -O2 conftest.cpp >&5 +configure:18021: $? = 0 +configure:18036: result: yes +configure:18044: checking whether the compiler supports Standard Template Library +configure:18074: g++ -c -g -O2 conftest.cpp >&5 +configure:18074: $? = 0 +configure:18089: result: yes +configure:18097: checking whether the compiler has numeric_limits +configure:18125: g++ -c -g -O2 conftest.cpp >&5 +configure:18125: $? = 0 +configure:18140: result: yes +configure:18148: checking whether the compiler has stringstream +configure:18176: g++ -c -g -O2 conftest.cpp >&5 +configure:18176: $? = 0 +configure:18191: result: yes +configure:18515: checking for /dev/urandom +configure:18529: result: yes +configure:18706: checking for the pthreads library -lpthreads +configure:18739: gcc -o conftest -std=c++03 conftest.c -lpthreads >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +/usr/bin/ld: cannot find -lpthreads: No such file or directory +collect2: error: ld returned 1 exit status +configure:18739: $? = 1 +configure: failed program was: +| /* confdefs.h */ +| #define PACKAGE_NAME "Open BEAGLE" +| #define PACKAGE_TARNAME "beagle" +| #define PACKAGE_VERSION "3.0.3" +| #define PACKAGE_STRING "Open BEAGLE 3.0.3" +| #define PACKAGE_BUGREPORT "cgagne@gmail.com" +| #define PACKAGE_URL "" +| #define PACKAGE "beagle" +| #define VERSION "3.0.3" +| #define HAVE_STDIO_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_UNISTD_H 1 +| #define STDC_HEADERS 1 +| #define HAVE_DLFCN_H 1 +| #define LT_OBJDIR ".libs/" +| #define FAST_COMPILATION /**/ +| #define HAVE_BOOL /**/ +| #define HAVE_LONG_LONG /**/ +| #define HAVE_TEMPLATES /**/ +| #define HAVE_TYPENAME /**/ +| #define HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING /**/ +| #define HAVE_DEFAULT_TEMPLATE_PARAMETERS /**/ +| #define HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE /**/ +| #define HAVE_CONST_CAST /**/ +| #define HAVE_REINTERPRET_CAST /**/ +| #define HAVE_STATIC_CAST /**/ +| #define HAVE_DYNAMIC_CAST /**/ +| #define HAVE_EXCEPTIONS /**/ +| #define HAVE_EXPLICIT /**/ +| #define HAVE_NAMESPACES /**/ +| #define HAVE_RTTI /**/ +| #define HAVE_STD /**/ +| #define HAVE_STL /**/ +| #define HAVE_NUMERIC_LIMITS /**/ +| #define HAVE_SSTREAM /**/ +| #define HAVE_DEV_URANDOM /**/ +| /* end confdefs.h. */ +| #include +| int +| main (void) +| { +| pthread_t th; pthread_join(th, 0); +| pthread_attr_init(0); pthread_cleanup_push(0, 0); +| pthread_create(0,0,0,0); pthread_cleanup_pop(0); +| ; +| return 0; +| } +configure:18749: result: no +configure:18646: checking whether pthreads work without any flags +configure:18739: gcc -o conftest -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:18739: $? = 0 +configure:18749: result: yes +configure:18769: checking for joinable pthread attribute +configure:18782: gcc -o conftest -std=c++03 conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:18782: $? = 0 +configure:18816: result: PTHREAD_CREATE_JOINABLE +configure:18823: checking if more special flags are required for pthreads +configure:18830: result: no +configure:18842: checking for cc_r +configure:18875: result: gcc +configure:18915: checking if zlib is wanted +configure:18931: result: yes +configure:18958: checking for inflateEnd in -lz +configure:18981: gcc -o conftest -std=c++03 -I/usr/include -L/usr/lib conftest.c -lz >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:18981: $? = 0 +configure:18991: result: yes +configure:19000: checking for zlib.h +configure:19000: gcc -c -std=c++03 -I/usr/include conftest.c >&5 +cc1: warning: command-line option '-std=c++98' is valid for C++/ObjC++ but not for C +configure:19000: $? = 0 +configure:19000: result: yes +configure:19019: checking for inflateEnd in -lz +configure:19051: result: yes +configure:19061: checking zlib in /usr +configure:19063: result: ok +configure:19216: checking that generated files are newer than configure +configure:19222: result: done +configure:19257: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by Open BEAGLE config.status 3.0.3, which was +generated by GNU Autoconf 2.71. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on Crackintosh + +config.status:1222: creating Makefile +config.status:1222: creating PACC/Makefile +config.status:1222: creating PACC/Math/Makefile +config.status:1222: creating PACC/SVG/Makefile +config.status:1222: creating PACC/Socket/Makefile +config.status:1222: creating PACC/Threading/Makefile +config.status:1222: creating PACC/Util/Makefile +config.status:1222: creating PACC/XML/Makefile +config.status:1222: creating beagle/Makefile +config.status:1222: creating beagle/include/Makefile +config.status:1222: creating beagle/include/beagle/Makefile +config.status:1222: creating beagle/src/Makefile +config.status:1222: creating beagle/GA/Makefile +config.status:1222: creating beagle/GA/include/Makefile +config.status:1222: creating beagle/GA/include/beagle/Makefile +config.status:1222: creating beagle/GA/include/beagle/GA/Makefile +config.status:1222: creating beagle/GA/src/Makefile +config.status:1222: creating beagle/GP/Makefile +config.status:1222: creating beagle/GP/include/Makefile +config.status:1222: creating beagle/GP/include/beagle/Makefile +config.status:1222: creating beagle/GP/include/beagle/GP/Makefile +config.status:1222: creating beagle/GP/src/Makefile +config.status:1222: creating beagle/Coev/Makefile +config.status:1222: creating beagle/Coev/include/Makefile +config.status:1222: creating beagle/Coev/include/beagle/Makefile +config.status:1222: creating beagle/Coev/include/beagle/Coev/Makefile +config.status:1222: creating beagle/Coev/src/Makefile +config.status:1222: creating tests/Makefile +config.status:1222: creating tests/Common/Makefile +config.status:1222: creating tests/Exception/Makefile +config.status:1222: creating tests/GA/Makefile +config.status:1222: creating tests/GA/optfct/Makefile +config.status:1222: creating tests/GP/Makefile +config.status:1222: creating tests/GP/FitnessTestGPIndividual/Makefile +config.status:1222: creating tests/GP/ReadGPIndividual/Makefile +config.status:1222: creating tests/GP/WriteRandomGPIndividual/Makefile +config.status:1222: creating tests/LinGP/Makefile +config.status:1222: creating tests/LinGP/include/Makefile +config.status:1222: creating tests/LinGP/include/beagle/Makefile +config.status:1222: creating tests/LinGP/include/beagle/LinGP/Makefile +config.status:1222: creating tests/LinGP/src/Makefile +config.status:1222: creating tests/Roulette/Makefile +config.status:1222: creating tests/Thread/Makefile +config.status:1222: creating tests/TransportTCPIPOp/Makefile +config.status:1222: creating config/config-h +config.status:1403: config/config-h is unchanged +config.status:1451: executing beagle/include/beagle/config.hpp commands +config.status:1489: creating beagle/include/beagle/config.hpp - prefix BEAGLE for config/config-h defines +config.status:1511: beagle/include/beagle/config.hpp is unchanged +config.status:1451: executing depfiles commands +config.status:1618: cd PACC/Math && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd PACC/SVG && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd PACC/Socket && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd PACC/Threading && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd PACC/Util && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd PACC/XML && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd beagle/src && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd beagle/GA/src && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd beagle/GP/src && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd beagle/Coev/src && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd tests/Common && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd tests/Exception && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd tests/GA/optfct && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd tests/GP/FitnessTestGPIndividual && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd tests/GP/ReadGPIndividual && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd tests/GP/WriteRandomGPIndividual && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd tests/LinGP/src && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd tests/Roulette && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd tests/Thread && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1618: cd tests/TransportTCPIPOp && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles +make: Nothing to be done for 'am--depfiles'. +config.status:1623: $? = 0 +config.status:1451: executing libtool commands + +## ---------------- ## +## Cache variables. ## +## ---------------- ## + +ac_cv_build=x86_64-pc-linux-gnu +ac_cv_c_compiler_gnu=yes +ac_cv_cxx_bool=yes +ac_cv_cxx_compiler_gnu=yes +ac_cv_cxx_const_cast=yes +ac_cv_cxx_default_template_parameters=yes +ac_cv_cxx_dynamic_cast=yes +ac_cv_cxx_exceptions=yes +ac_cv_cxx_explicit=yes +ac_cv_cxx_have_isfinite=no +ac_cv_cxx_have_numeric_limits=yes +ac_cv_cxx_have_sstream=yes +ac_cv_cxx_have_std=yes +ac_cv_cxx_have_stl=yes +ac_cv_cxx_namespaces=yes +ac_cv_cxx_reinterpret_cast=yes +ac_cv_cxx_rtti=yes +ac_cv_cxx_static_cast=yes +ac_cv_cxx_template_qualified_base_class=no +ac_cv_cxx_template_qualified_return_type=yes +ac_cv_cxx_template_scoped_argument_matching=yes +ac_cv_cxx_templates=yes +ac_cv_cxx_typename=yes +ac_cv_env_CCC_set= +ac_cv_env_CCC_value= +ac_cv_env_CC_set= +ac_cv_env_CC_value= +ac_cv_env_CFLAGS_set=set +ac_cv_env_CFLAGS_value=-std=c++03 +ac_cv_env_CPPFLAGS_set= +ac_cv_env_CPPFLAGS_value= +ac_cv_env_CXXCPP_set= +ac_cv_env_CXXCPP_value= +ac_cv_env_CXXFLAGS_set= +ac_cv_env_CXXFLAGS_value= +ac_cv_env_CXX_set= +ac_cv_env_CXX_value= +ac_cv_env_LDFLAGS_set= +ac_cv_env_LDFLAGS_value= +ac_cv_env_LIBS_set= +ac_cv_env_LIBS_value= +ac_cv_env_LT_SYS_LIBRARY_PATH_set= +ac_cv_env_LT_SYS_LIBRARY_PATH_value= +ac_cv_env_build_alias_set= +ac_cv_env_build_alias_value= +ac_cv_env_host_alias_set= +ac_cv_env_host_alias_value= +ac_cv_env_target_alias_set= +ac_cv_env_target_alias_value= +ac_cv_file__dev_urandom=yes +ac_cv_header_dlfcn_h=yes +ac_cv_header_inttypes_h=yes +ac_cv_header_stdint_h=yes +ac_cv_header_stdio_h=yes +ac_cv_header_stdlib_h=yes +ac_cv_header_string_h=yes +ac_cv_header_strings_h=yes +ac_cv_header_sys_stat_h=yes +ac_cv_header_sys_types_h=yes +ac_cv_header_unistd_h=yes +ac_cv_header_zlib_h=yes +ac_cv_host=x86_64-pc-linux-gnu +ac_cv_lib_z_inflateEnd=yes +ac_cv_objext=o +ac_cv_path_EGREP='/usr/bin/grep -E' +ac_cv_path_FGREP='/usr/bin/grep -F' +ac_cv_path_GREP=/usr/bin/grep +ac_cv_path_SED=/usr/bin/sed +ac_cv_path_install='/usr/bin/install -c' +ac_cv_path_lt_DD=/usr/bin/dd +ac_cv_path_mkdir=/usr/bin/mkdir +ac_cv_prog_AWK=gawk +ac_cv_prog_CXXCPP='g++ -E' +ac_cv_prog_PTHREAD_CC=gcc +ac_cv_prog_ac_ct_AR=ar +ac_cv_prog_ac_ct_CC=gcc +ac_cv_prog_ac_ct_CXX=g++ +ac_cv_prog_ac_ct_FILECMD=file +ac_cv_prog_ac_ct_MANIFEST_TOOL=mt +ac_cv_prog_ac_ct_OBJDUMP=objdump +ac_cv_prog_ac_ct_RANLIB=ranlib +ac_cv_prog_ac_ct_STRIP=strip +ac_cv_prog_cc_c11= +ac_cv_prog_cc_g=yes +ac_cv_prog_cc_stdc= +ac_cv_prog_cxx_cxx11= +ac_cv_prog_cxx_g=yes +ac_cv_prog_cxx_stdcxx= +ac_cv_prog_make_make_set=yes +am_cv_CC_dependencies_compiler_type=gcc3 +am_cv_CXX_dependencies_compiler_type=gcc3 +am_cv_make_support_nested_variables=yes +am_cv_prog_cc_c_o=yes +lt_cv_ar_at_file=@ +lt_cv_archive_cmds_need_lc=no +lt_cv_deplibs_check_method=pass_all +lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_ld_reload_flag=-r +lt_cv_nm_interface='BSD nm' +lt_cv_objdir=.libs +lt_cv_path_LD=/usr/bin/ld +lt_cv_path_LDCXX='/usr/bin/ld -m elf_x86_64' +lt_cv_path_NM='/usr/bin/nm -B' +lt_cv_path_mainfest_tool=no +lt_cv_prog_compiler_c_o=yes +lt_cv_prog_compiler_c_o_CXX=yes +lt_cv_prog_compiler_pic='-fPIC -DPIC' +lt_cv_prog_compiler_pic_CXX='-fPIC -DPIC' +lt_cv_prog_compiler_pic_works=yes +lt_cv_prog_compiler_pic_works_CXX=yes +lt_cv_prog_compiler_rtti_exceptions=no +lt_cv_prog_compiler_static_works=yes +lt_cv_prog_compiler_static_works_CXX=yes +lt_cv_prog_gnu_ld=yes +lt_cv_prog_gnu_ldcxx=yes +lt_cv_sharedlib_from_linklib_cmd='printf %s\n' +lt_cv_shlibpath_overrides_runpath=yes +lt_cv_sys_global_symbol_pipe='/usr/bin/sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | /usr/bin/sed '\''/ __gnu_lto/d'\''' +lt_cv_sys_global_symbol_to_c_name_address='/usr/bin/sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"\1", (void *) \&\1},/p'\''' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='/usr/bin/sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(lib.*\)$/ {"\1", (void *) \&\1},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"lib\1", (void *) \&\1},/p'\''' +lt_cv_sys_global_symbol_to_cdecl='/usr/bin/sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\''' +lt_cv_sys_global_symbol_to_import= +lt_cv_sys_max_cmd_len=1572864 +lt_cv_to_host_file_cmd=func_convert_file_noop +lt_cv_to_tool_file_cmd=func_convert_file_noop +lt_cv_truncate_bin='/usr/bin/dd bs=4096 count=1' +ob_cv_cxx_long_long=yes +zlib_cv_libz=yes +zlib_cv_zlib_h=yes + +## ----------------- ## +## Output variables. ## +## ----------------- ## + +ACLOCAL='${SHELL} '\''/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing'\'' aclocal-1.16' +AMDEPBACKSLASH='\' +AMDEP_FALSE='#' +AMDEP_TRUE='' +AMTAR='$${TAR-tar}' +AM_BACKSLASH='\' +AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +AM_DEFAULT_VERBOSITY='1' +AM_V='$(V)' +AR='ar' +AUTOCONF='${SHELL} '\''/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing'\'' autoconf' +AUTOHEADER='${SHELL} '\''/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing'\'' autoheader' +AUTOMAKE='${SHELL} '\''/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing'\'' automake-1.16' +AWK='gawk' +CC='gcc' +CCDEPMODE='depmode=gcc3' +CFLAGS='-std=c++03 ' +COMPILE_TESTS_FALSE='' +COMPILE_TESTS_TRUE='#' +CPPFLAGS=' -I/usr/include -DPACC_ZLIB' +CSCOPE='cscope' +CTAGS='ctags' +CXX='g++' +CXXCPP='g++ -E' +CXXDEPMODE='depmode=gcc3' +CXXFLAGS='-g -O2 ' +CYGPATH_W='echo' +DEFS='-DHAVE_CONFIG_H' +DEPDIR='.deps' +DLLTOOL='false' +DSYMUTIL='' +DUMPBIN='' +ECHO_C='' +ECHO_N='-n' +ECHO_T='' +EGREP='/usr/bin/grep -E' +ETAGS='etags' +EXEEXT='' +FAST_COMPILATION_FALSE='#' +FAST_COMPILATION_TRUE='' +FGREP='/usr/bin/grep -F' +FILECMD='file' +GREP='/usr/bin/grep' +INSTALL_DATA='${INSTALL} -m 644' +INSTALL_PROGRAM='${INSTALL}' +INSTALL_SCRIPT='${INSTALL}' +INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' +LD='/usr/bin/ld -m elf_x86_64' +LDFLAGS=' -L/usr/lib' +LIBOBJS='' +LIBS='-lz ' +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +LIPO='' +LN_S='ln -s' +LTLIBOBJS='' +LT_SYS_LIBRARY_PATH='' +MAKEINFO='${SHELL} '\''/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing'\'' makeinfo' +MANIFEST_TOOL=':' +MKDIR_P='/usr/bin/mkdir -p' +NM='/usr/bin/nm -B' +NMEDIT='' +OBJDUMP='objdump' +OBJEXT='o' +OTOOL64='' +OTOOL='' +PACC_VERSION='1.3.1b' +PACKAGE='beagle' +PACKAGE_BUGREPORT='cgagne@gmail.com' +PACKAGE_NAME='Open BEAGLE' +PACKAGE_STRING='Open BEAGLE 3.0.3' +PACKAGE_TARNAME='beagle' +PACKAGE_URL='' +PACKAGE_VERSION='3.0.3' +PATH_SEPARATOR=':' +PTHREAD_CC='gcc' +PTHREAD_CFLAGS='' +PTHREAD_LIBS='' +RANLIB='ranlib' +SED='/usr/bin/sed' +SET_MAKE='' +SHELL='/bin/bash' +STRIP='strip' +VERSION='3.0.3' +ac_ct_AR='ar' +ac_ct_CC='gcc' +ac_ct_CXX='g++' +ac_ct_DUMPBIN='' +acx_pthread_config='' +am__EXEEXT_FALSE='' +am__EXEEXT_TRUE='#' +am__fastdepCC_FALSE='#' +am__fastdepCC_TRUE='' +am__fastdepCXX_FALSE='#' +am__fastdepCXX_TRUE='' +am__include='include' +am__isrc='' +am__leading_dot='.' +am__nodep='_no' +am__quote='' +am__tar='$${TAR-tar} chof - "$$tardir"' +am__untar='$${TAR-tar} xf -' +bindir='${exec_prefix}/bin' +build='x86_64-pc-linux-gnu' +build_alias='' +build_cpu='x86_64' +build_os='linux-gnu' +build_vendor='pc' +datadir='${datarootdir}' +datarootdir='${prefix}/share' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +dvidir='${docdir}' +exec_prefix='${prefix}' +host='x86_64-pc-linux-gnu' +host_alias='' +host_cpu='x86_64' +host_os='linux-gnu' +host_vendor='pc' +htmldir='${docdir}' +includedir='${prefix}/include' +infodir='${datarootdir}/info' +install_sh='${SHELL} '\''/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh'\''' +libdir='${exec_prefix}/lib' +libexecdir='${exec_prefix}/libexec' +localedir='${datarootdir}/locale' +localstatedir='${prefix}/var' +mandir='${datarootdir}/man' +mkdir_p='$(MKDIR_P)' +oldincludedir='/usr/include' +pdfdir='${docdir}' +prefix='/usr/local' +program_transform_name='s,x,x,' +psdir='${docdir}' +runstatedir='${localstatedir}/run' +sbindir='${exec_prefix}/sbin' +sharedstatedir='${prefix}/com' +sysconfdir='${prefix}/etc' +target_alias='' + +## ----------- ## +## confdefs.h. ## +## ----------- ## + +/* confdefs.h */ +#define PACKAGE_NAME "Open BEAGLE" +#define PACKAGE_TARNAME "beagle" +#define PACKAGE_VERSION "3.0.3" +#define PACKAGE_STRING "Open BEAGLE 3.0.3" +#define PACKAGE_BUGREPORT "cgagne@gmail.com" +#define PACKAGE_URL "" +#define PACKAGE "beagle" +#define VERSION "3.0.3" +#define HAVE_STDIO_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRING_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_UNISTD_H 1 +#define STDC_HEADERS 1 +#define HAVE_DLFCN_H 1 +#define LT_OBJDIR ".libs/" +#define FAST_COMPILATION /**/ +#define HAVE_BOOL /**/ +#define HAVE_LONG_LONG /**/ +#define HAVE_TEMPLATES /**/ +#define HAVE_TYPENAME /**/ +#define HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING /**/ +#define HAVE_DEFAULT_TEMPLATE_PARAMETERS /**/ +#define HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE /**/ +#define HAVE_CONST_CAST /**/ +#define HAVE_REINTERPRET_CAST /**/ +#define HAVE_STATIC_CAST /**/ +#define HAVE_DYNAMIC_CAST /**/ +#define HAVE_EXCEPTIONS /**/ +#define HAVE_EXPLICIT /**/ +#define HAVE_NAMESPACES /**/ +#define HAVE_RTTI /**/ +#define HAVE_STD /**/ +#define HAVE_STL /**/ +#define HAVE_NUMERIC_LIMITS /**/ +#define HAVE_SSTREAM /**/ +#define HAVE_DEV_URANDOM /**/ +#define HAVE_PTHREAD 1 +#define HAVE_LIBZ 1 + +configure: exit 0 diff --git a/lib/beagle-3.0.3/config.status b/lib/beagle-3.0.3/config.status new file mode 100755 index 0000000..0172f48 --- /dev/null +++ b/lib/beagle-3.0.3/config.status @@ -0,0 +1,2365 @@ +#! /bin/bash +# Generated by configure. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=${CONFIG_SHELL-/bin/bash} +export SHELL +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by Open BEAGLE $as_me 3.0.3, which was +generated by GNU Autoconf 2.71. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +# Files that config.status was made for. +config_files=" Makefile PACC/Makefile PACC/Math/Makefile PACC/SVG/Makefile PACC/Socket/Makefile PACC/Threading/Makefile PACC/Util/Makefile PACC/XML/Makefile beagle/Makefile beagle/include/Makefile beagle/include/beagle/Makefile beagle/src/Makefile beagle/GA/Makefile beagle/GA/include/Makefile beagle/GA/include/beagle/Makefile beagle/GA/include/beagle/GA/Makefile beagle/GA/src/Makefile beagle/GP/Makefile beagle/GP/include/Makefile beagle/GP/include/beagle/Makefile beagle/GP/include/beagle/GP/Makefile beagle/GP/src/Makefile beagle/Coev/Makefile beagle/Coev/include/Makefile beagle/Coev/include/beagle/Makefile beagle/Coev/include/beagle/Coev/Makefile beagle/Coev/src/Makefile tests/Makefile tests/Common/Makefile tests/Exception/Makefile tests/GA/Makefile tests/GA/optfct/Makefile tests/GP/Makefile tests/GP/FitnessTestGPIndividual/Makefile tests/GP/ReadGPIndividual/Makefile tests/GP/WriteRandomGPIndividual/Makefile tests/LinGP/Makefile tests/LinGP/include/Makefile tests/LinGP/include/beagle/Makefile tests/LinGP/include/beagle/LinGP/Makefile tests/LinGP/src/Makefile tests/Roulette/Makefile tests/Thread/Makefile tests/TransportTCPIPOp/Makefile" +config_headers=" config/config-h:config/config-h.in" +config_commands=" beagle/include/beagle/config.hpp depfiles libtool" + +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +ac_cs_config='CFLAGS=-std=c++03' +ac_cs_version="\ +Open BEAGLE config.status 3.0.3 +configured by ./configure, generated by GNU Autoconf 2.71, + with options \"$ac_cs_config\" + +Copyright (C) 2021 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3' +srcdir='.' +INSTALL='/usr/bin/install -c' +MKDIR_P='/usr/bin/mkdir -p' +AWK='gawk' +test -n "$AWK" || AWK=awk +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + printf "%s\n" "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +if $ac_cs_recheck; then + set X /bin/bash './configure' 'CFLAGS=-std=c++03' $ac_configure_extra_args --no-create --no-recursion + shift + \printf "%s\n" "running CONFIG_SHELL=/bin/bash $*" >&6 + CONFIG_SHELL='/bin/bash' + export CONFIG_SHELL + exec "$@" +fi + +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + printf "%s\n" "$ac_log" +} >&5 + +# +# INIT-COMMANDS +# +PACKAGE="beagle" +AMDEP_TRUE="" MAKE="make" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' +double_quote_subst='s/\(["`\\]\)/\\\1/g' +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' +macro_version='2.4.7' +macro_revision='2.4.7' +enable_shared='yes' +enable_static='yes' +pic_mode='default' +enable_fast_install='needless' +shared_archive_member_spec='' +SHELL='/bin/bash' +ECHO='printf %s\n' +PATH_SEPARATOR=':' +host_alias='' +host='x86_64-pc-linux-gnu' +host_os='linux-gnu' +build_alias='' +build='x86_64-pc-linux-gnu' +build_os='linux-gnu' +SED='/usr/bin/sed' +Xsed='/usr/bin/sed -e 1s/^X//' +GREP='/usr/bin/grep' +EGREP='/usr/bin/grep -E' +FGREP='/usr/bin/grep -F' +LD='/usr/bin/ld -m elf_x86_64' +NM='/usr/bin/nm -B' +LN_S='ln -s' +max_cmd_len='1572864' +ac_objext='o' +exeext='' +lt_unset='unset' +lt_SP2NL='tr \040 \012' +lt_NL2SP='tr \015\012 \040\040' +lt_cv_to_host_file_cmd='func_convert_file_noop' +lt_cv_to_tool_file_cmd='func_convert_file_noop' +reload_flag=' -r' +reload_cmds='$LD$reload_flag -o $output$reload_objs' +FILECMD='file' +OBJDUMP='objdump' +deplibs_check_method='pass_all' +file_magic_cmd='$MAGIC_CMD' +file_magic_glob='' +want_nocaseglob='no' +DLLTOOL='false' +sharedlib_from_linklib_cmd='printf %s\n' +AR='ar' +lt_ar_flags='cr' +AR_FLAGS='cr' +archiver_list_spec='@' +STRIP='strip' +RANLIB='ranlib' +old_postinstall_cmds='chmod 644 $oldlib~$RANLIB $tool_oldlib' +old_postuninstall_cmds='' +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $tool_oldlib' +lock_old_archive_extraction='no' +CC='gcc' +CFLAGS='-std=c++03 ' +compiler='g++' +GCC='yes' +lt_cv_sys_global_symbol_pipe='/usr/bin/sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'' | /usr/bin/sed '\''/ __gnu_lto/d'\''' +lt_cv_sys_global_symbol_to_cdecl='/usr/bin/sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\''' +lt_cv_sys_global_symbol_to_import='' +lt_cv_sys_global_symbol_to_c_name_address='/usr/bin/sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"\1", (void *) \&\1},/p'\''' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='/usr/bin/sed -n -e '\''s/^: \(.*\) .*$/ {"\1", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(lib.*\)$/ {"\1", (void *) \&\1},/p'\'' -e '\''s/^[ABCDGIRSTW][ABCDGIRSTW]* .* \(.*\)$/ {"lib\1", (void *) \&\1},/p'\''' +lt_cv_nm_interface='BSD nm' +nm_file_list_spec='@' +lt_sysroot='' +lt_cv_truncate_bin='/usr/bin/dd bs=4096 count=1' +objdir='.libs' +MAGIC_CMD='file' +lt_prog_compiler_no_builtin_flag=' -fno-builtin' +lt_prog_compiler_pic=' -fPIC -DPIC' +lt_prog_compiler_wl='-Wl,' +lt_prog_compiler_static='-static' +lt_cv_prog_compiler_c_o='yes' +need_locks='no' +MANIFEST_TOOL=':' +DSYMUTIL='' +NMEDIT='' +LIPO='' +OTOOL='' +OTOOL64='' +libext='a' +shrext_cmds='.so' +extract_expsyms_cmds='' +archive_cmds_need_lc='no' +enable_shared_with_static_runtimes='no' +export_dynamic_flag_spec='$wl--export-dynamic' +whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' +compiler_needs_object='no' +old_archive_from_new_cmds='' +old_archive_from_expsyms_cmds='' +archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' +archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' +module_cmds='' +module_expsym_cmds='' +with_gnu_ld='yes' +allow_undefined_flag='' +no_undefined_flag='' +hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' +hardcode_libdir_separator='' +hardcode_direct='no' +hardcode_direct_absolute='no' +hardcode_minus_L='no' +hardcode_shlibpath_var='unsupported' +hardcode_automatic='no' +inherit_rpath='no' +link_all_deplibs='no' +always_export_symbols='no' +export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' +exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' +include_expsyms='' +prelink_cmds='' +postlink_cmds='' +file_list_spec='' +variables_saved_for_relink='PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH' +need_lib_prefix='no' +need_version='no' +version_type='linux' +runpath_var='LD_RUN_PATH' +shlibpath_var='LD_LIBRARY_PATH' +shlibpath_overrides_runpath='yes' +libname_spec='lib$name' +library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' +soname_spec='$libname$release$shared_ext$major' +install_override_mode='' +postinstall_cmds='' +postuninstall_cmds='' +finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' +finish_eval='' +hardcode_into_libs='yes' +sys_lib_search_path_spec='/usr/lib/gcc/x86_64-linux-gnu/12 /usr/lib/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib ' +configure_time_dlsearch_path='/lib /usr/lib /usr/lib/x86_64-linux-gnu/libfakeroot /usr/local/lib/i386-linux-gnu /lib/i386-linux-gnu /usr/lib/i386-linux-gnu /usr/local/lib/i686-linux-gnu /lib/i686-linux-gnu /usr/lib/i686-linux-gnu /usr/local/lib /usr/local/lib/x86_64-linux-gnu /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu /lib32 /usr/lib32 ' +configure_time_lt_sys_library_path='' +hardcode_action='immediate' +enable_dlopen='unknown' +enable_dlopen_self='unknown' +enable_dlopen_self_static='unknown' +old_striplib='strip --strip-debug' +striplib='strip --strip-unneeded' +compiler_lib_search_dirs='' +predep_objects='' +postdep_objects='' +predeps='' +postdeps='' +compiler_lib_search_path='' +LD_CXX='/usr/bin/ld -m elf_x86_64' +reload_flag_CXX=' -r' +reload_cmds_CXX='$LD$reload_flag -o $output$reload_objs' +old_archive_cmds_CXX='$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $tool_oldlib' +compiler_CXX='g++' +GCC_CXX='yes' +lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +lt_prog_compiler_pic_CXX=' -fPIC -DPIC' +lt_prog_compiler_wl_CXX='-Wl,' +lt_prog_compiler_static_CXX='-static' +lt_cv_prog_compiler_c_o_CXX='yes' +archive_cmds_need_lc_CXX='no' +enable_shared_with_static_runtimes_CXX='no' +export_dynamic_flag_spec_CXX='$wl--export-dynamic' +whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' +compiler_needs_object_CXX='no' +old_archive_from_new_cmds_CXX='' +old_archive_from_expsyms_cmds_CXX='' +archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' +archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' +module_cmds_CXX='' +module_expsym_cmds_CXX='' +with_gnu_ld_CXX='yes' +allow_undefined_flag_CXX='' +no_undefined_flag_CXX='' +hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' +hardcode_libdir_separator_CXX='' +hardcode_direct_CXX='no' +hardcode_direct_absolute_CXX='no' +hardcode_minus_L_CXX='no' +hardcode_shlibpath_var_CXX='unsupported' +hardcode_automatic_CXX='no' +inherit_rpath_CXX='no' +link_all_deplibs_CXX='no' +always_export_symbols_CXX='no' +export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' +exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' +include_expsyms_CXX='' +prelink_cmds_CXX='' +postlink_cmds_CXX='' +file_list_spec_CXX='' +hardcode_action_CXX='immediate' +compiler_lib_search_dirs_CXX='/usr/lib/gcc/x86_64-linux-gnu/12 /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu /usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /usr/lib/gcc/x86_64-linux-gnu/12/../../..' +predep_objects_CXX='/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o' +postdep_objects_CXX='/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o' +predeps_CXX='' +postdeps_CXX='-lstdc++ -lm -lgcc_s -lc -lgcc_s' +compiler_lib_search_path_CXX='-L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/12/../../..' + +LTCC='gcc' +LTCFLAGS='-std=c++03' +compiler='gcc' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in SHELL ECHO PATH_SEPARATOR SED GREP EGREP FGREP LD NM LN_S lt_SP2NL lt_NL2SP reload_flag FILECMD OBJDUMP deplibs_check_method file_magic_cmd file_magic_glob want_nocaseglob DLLTOOL sharedlib_from_linklib_cmd AR archiver_list_spec STRIP RANLIB CC CFLAGS compiler lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl lt_cv_sys_global_symbol_to_import lt_cv_sys_global_symbol_to_c_name_address lt_cv_sys_global_symbol_to_c_name_address_lib_prefix lt_cv_nm_interface nm_file_list_spec lt_cv_truncate_bin lt_prog_compiler_no_builtin_flag lt_prog_compiler_pic lt_prog_compiler_wl lt_prog_compiler_static lt_cv_prog_compiler_c_o need_locks MANIFEST_TOOL DSYMUTIL NMEDIT LIPO OTOOL OTOOL64 shrext_cmds export_dynamic_flag_spec whole_archive_flag_spec compiler_needs_object with_gnu_ld allow_undefined_flag no_undefined_flag hardcode_libdir_flag_spec hardcode_libdir_separator exclude_expsyms include_expsyms file_list_spec variables_saved_for_relink libname_spec library_names_spec soname_spec install_override_mode finish_eval old_striplib striplib compiler_lib_search_dirs predep_objects postdep_objects predeps postdeps compiler_lib_search_path LD_CXX reload_flag_CXX compiler_CXX lt_prog_compiler_no_builtin_flag_CXX lt_prog_compiler_pic_CXX lt_prog_compiler_wl_CXX lt_prog_compiler_static_CXX lt_cv_prog_compiler_c_o_CXX export_dynamic_flag_spec_CXX whole_archive_flag_spec_CXX compiler_needs_object_CXX with_gnu_ld_CXX allow_undefined_flag_CXX no_undefined_flag_CXX hardcode_libdir_flag_spec_CXX hardcode_libdir_separator_CXX exclude_expsyms_CXX include_expsyms_CXX file_list_spec_CXX compiler_lib_search_dirs_CXX predep_objects_CXX postdep_objects_CXX predeps_CXX postdeps_CXX compiler_lib_search_path_CXX; do + case `eval \\$ECHO \\""\\$$var"\\"` in + *[\\\`\"\$]*) + eval "lt_$var=\\\"\`\$ECHO \"\$$var\" | \$SED \"\$sed_quote_subst\"\`\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_$var=\\\"\$$var\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds old_postinstall_cmds old_postuninstall_cmds old_archive_cmds extract_expsyms_cmds old_archive_from_new_cmds old_archive_from_expsyms_cmds archive_cmds archive_expsym_cmds module_cmds module_expsym_cmds export_symbols_cmds prelink_cmds postlink_cmds postinstall_cmds postuninstall_cmds finish_cmds sys_lib_search_path_spec configure_time_dlsearch_path configure_time_lt_sys_library_path reload_cmds_CXX old_archive_cmds_CXX old_archive_from_new_cmds_CXX old_archive_from_expsyms_cmds_CXX archive_cmds_CXX archive_expsym_cmds_CXX module_cmds_CXX module_expsym_cmds_CXX export_symbols_cmds_CXX prelink_cmds_CXX postlink_cmds_CXX; do + case `eval \\$ECHO \\""\\$$var"\\"` in + *[\\\`\"\$]*) + eval "lt_$var=\\\"\`\$ECHO \"\$$var\" | \$SED -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_$var=\\\"\$$var\\\"" + ;; + esac +done + +ac_aux_dir='./config/' + +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='beagle' + VERSION='3.0.3' + RM='rm -f' + ofile='libtool' + + + + + + + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config/config-h") CONFIG_HEADERS="$CONFIG_HEADERS config/config-h:config/config-h.in" ;; + "beagle/include/beagle/config.hpp") CONFIG_COMMANDS="$CONFIG_COMMANDS beagle/include/beagle/config.hpp" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "PACC/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Makefile" ;; + "PACC/Math/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Math/Makefile" ;; + "PACC/SVG/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/SVG/Makefile" ;; + "PACC/Socket/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Socket/Makefile" ;; + "PACC/Threading/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Threading/Makefile" ;; + "PACC/Util/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Util/Makefile" ;; + "PACC/XML/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/XML/Makefile" ;; + "beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Makefile" ;; + "beagle/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/include/Makefile" ;; + "beagle/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/include/beagle/Makefile" ;; + "beagle/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/src/Makefile" ;; + "beagle/GA/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/Makefile" ;; + "beagle/GA/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/Makefile" ;; + "beagle/GA/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/beagle/Makefile" ;; + "beagle/GA/include/beagle/GA/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/beagle/GA/Makefile" ;; + "beagle/GA/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/src/Makefile" ;; + "beagle/GP/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/Makefile" ;; + "beagle/GP/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/Makefile" ;; + "beagle/GP/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/beagle/Makefile" ;; + "beagle/GP/include/beagle/GP/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/beagle/GP/Makefile" ;; + "beagle/GP/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/src/Makefile" ;; + "beagle/Coev/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/Makefile" ;; + "beagle/Coev/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/Makefile" ;; + "beagle/Coev/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/beagle/Makefile" ;; + "beagle/Coev/include/beagle/Coev/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/beagle/Coev/Makefile" ;; + "beagle/Coev/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/src/Makefile" ;; + "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; + "tests/Common/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Common/Makefile" ;; + "tests/Exception/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Exception/Makefile" ;; + "tests/GA/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GA/Makefile" ;; + "tests/GA/optfct/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GA/optfct/Makefile" ;; + "tests/GP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/Makefile" ;; + "tests/GP/FitnessTestGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/FitnessTestGPIndividual/Makefile" ;; + "tests/GP/ReadGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/ReadGPIndividual/Makefile" ;; + "tests/GP/WriteRandomGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/WriteRandomGPIndividual/Makefile" ;; + "tests/LinGP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/Makefile" ;; + "tests/LinGP/include/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/Makefile" ;; + "tests/LinGP/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/beagle/Makefile" ;; + "tests/LinGP/include/beagle/LinGP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/beagle/LinGP/Makefile" ;; + "tests/LinGP/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/src/Makefile" ;; + "tests/Roulette/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Roulette/Makefile" ;; + "tests/Thread/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Thread/Makefile" ;; + "tests/TransportTCPIPOp/Makefile") CONFIG_FILES="$CONFIG_FILES tests/TransportTCPIPOp/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files + test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers + test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +cat >>"$ac_tmp/subs1.awk" <<\_ACAWK && +S["am__EXEEXT_FALSE"]="" +S["am__EXEEXT_TRUE"]="#" +S["LTLIBOBJS"]="" +S["LIBOBJS"]="" +S["PACC_VERSION"]="1.3.1b" +S["PTHREAD_CFLAGS"]="" +S["PTHREAD_LIBS"]="" +S["PTHREAD_CC"]="gcc" +S["acx_pthread_config"]="" +S["COMPILE_TESTS_FALSE"]="" +S["COMPILE_TESTS_TRUE"]="#" +S["FAST_COMPILATION_FALSE"]="#" +S["FAST_COMPILATION_TRUE"]="" +S["LT_SYS_LIBRARY_PATH"]="" +S["OTOOL64"]="" +S["OTOOL"]="" +S["LIPO"]="" +S["NMEDIT"]="" +S["DSYMUTIL"]="" +S["MANIFEST_TOOL"]=":" +S["RANLIB"]="ranlib" +S["ac_ct_AR"]="ar" +S["AR"]="ar" +S["DLLTOOL"]="false" +S["OBJDUMP"]="objdump" +S["FILECMD"]="file" +S["NM"]="/usr/bin/nm -B" +S["ac_ct_DUMPBIN"]="" +S["DUMPBIN"]="" +S["LD"]="/usr/bin/ld -m elf_x86_64" +S["FGREP"]="/usr/bin/grep -F" +S["EGREP"]="/usr/bin/grep -E" +S["GREP"]="/usr/bin/grep" +S["SED"]="/usr/bin/sed" +S["am__fastdepCC_FALSE"]="#" +S["am__fastdepCC_TRUE"]="" +S["CCDEPMODE"]="depmode=gcc3" +S["ac_ct_CC"]="gcc" +S["CFLAGS"]="-std=c++03 " +S["CC"]="gcc" +S["host_os"]="linux-gnu" +S["host_vendor"]="pc" +S["host_cpu"]="x86_64" +S["host"]="x86_64-pc-linux-gnu" +S["build_os"]="linux-gnu" +S["build_vendor"]="pc" +S["build_cpu"]="x86_64" +S["build"]="x86_64-pc-linux-gnu" +S["LIBTOOL"]="$(SHELL) $(top_builddir)/libtool" +S["LN_S"]="ln -s" +S["CXXCPP"]="g++ -E" +S["am__fastdepCXX_FALSE"]="#" +S["am__fastdepCXX_TRUE"]="" +S["CXXDEPMODE"]="depmode=gcc3" +S["am__nodep"]="_no" +S["AMDEPBACKSLASH"]="\\" +S["AMDEP_FALSE"]="#" +S["AMDEP_TRUE"]="" +S["am__include"]="include" +S["DEPDIR"]=".deps" +S["OBJEXT"]="o" +S["EXEEXT"]="" +S["ac_ct_CXX"]="g++" +S["CPPFLAGS"]=" -I/usr/include -DPACC_ZLIB" +S["LDFLAGS"]=" -L/usr/lib" +S["CXXFLAGS"]="-g -O2 " +S["CXX"]="g++" +S["AM_BACKSLASH"]="\\" +S["AM_DEFAULT_VERBOSITY"]="1" +S["AM_DEFAULT_V"]="$(AM_DEFAULT_VERBOSITY)" +S["AM_V"]="$(V)" +S["CSCOPE"]="cscope" +S["ETAGS"]="etags" +S["CTAGS"]="ctags" +S["am__untar"]="$${TAR-tar} xf -" +S["am__tar"]="$${TAR-tar} chof - \"$$tardir\"" +S["AMTAR"]="$${TAR-tar}" +S["am__leading_dot"]="." +S["SET_MAKE"]="" +S["AWK"]="gawk" +S["mkdir_p"]="$(MKDIR_P)" +S["MKDIR_P"]="/usr/bin/mkdir -p" +S["INSTALL_STRIP_PROGRAM"]="$(install_sh) -c -s" +S["STRIP"]="strip" +S["install_sh"]="${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh'" +S["MAKEINFO"]="${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo" +S["AUTOHEADER"]="${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader" +S["AUTOMAKE"]="${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16" +S["AUTOCONF"]="${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf" +S["ACLOCAL"]="${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16" +S["VERSION"]="3.0.3" +S["PACKAGE"]="beagle" +S["CYGPATH_W"]="echo" +S["am__isrc"]="" +S["INSTALL_DATA"]="${INSTALL} -m 644" +S["INSTALL_SCRIPT"]="${INSTALL}" +S["INSTALL_PROGRAM"]="${INSTALL}" +S["target_alias"]="" +S["host_alias"]="" +S["build_alias"]="" +S["LIBS"]="-lz " +S["ECHO_T"]="" +S["ECHO_N"]="-n" +S["ECHO_C"]="" +S["DEFS"]="-DHAVE_CONFIG_H" +S["mandir"]="${datarootdir}/man" +S["localedir"]="${datarootdir}/locale" +S["libdir"]="${exec_prefix}/lib" +S["psdir"]="${docdir}" +S["pdfdir"]="${docdir}" +S["dvidir"]="${docdir}" +S["htmldir"]="${docdir}" +S["infodir"]="${datarootdir}/info" +S["docdir"]="${datarootdir}/doc/${PACKAGE_TARNAME}" +S["oldincludedir"]="/usr/include" +S["includedir"]="${prefix}/include" +S["runstatedir"]="${localstatedir}/run" +S["localstatedir"]="${prefix}/var" +S["sharedstatedir"]="${prefix}/com" +S["sysconfdir"]="${prefix}/etc" +S["datadir"]="${datarootdir}" +S["datarootdir"]="${prefix}/share" +S["libexecdir"]="${exec_prefix}/libexec" +S["sbindir"]="${exec_prefix}/sbin" +S["bindir"]="${exec_prefix}/bin" +S["program_transform_name"]="s,x,x," +S["prefix"]="/usr/local" +S["exec_prefix"]="${prefix}" +S["PACKAGE_URL"]="" +S["PACKAGE_BUGREPORT"]="cgagne@gmail.com" +S["PACKAGE_STRING"]="Open BEAGLE 3.0.3" +S["PACKAGE_VERSION"]="3.0.3" +S["PACKAGE_TARNAME"]="beagle" +S["PACKAGE_NAME"]="Open BEAGLE" +S["PATH_SEPARATOR"]=":" +S["SHELL"]="/bin/bash" +S["am__quote"]="" +_ACAWK +cat >>"$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +D["PACKAGE_NAME"]=" \"Open BEAGLE\"" +D["PACKAGE_TARNAME"]=" \"beagle\"" +D["PACKAGE_VERSION"]=" \"3.0.3\"" +D["PACKAGE_STRING"]=" \"Open BEAGLE 3.0.3\"" +D["PACKAGE_BUGREPORT"]=" \"cgagne@gmail.com\"" +D["PACKAGE_URL"]=" \"\"" +D["PACKAGE"]=" \"beagle\"" +D["VERSION"]=" \"3.0.3\"" +D["HAVE_STDIO_H"]=" 1" +D["HAVE_STDLIB_H"]=" 1" +D["HAVE_STRING_H"]=" 1" +D["HAVE_INTTYPES_H"]=" 1" +D["HAVE_STDINT_H"]=" 1" +D["HAVE_STRINGS_H"]=" 1" +D["HAVE_SYS_STAT_H"]=" 1" +D["HAVE_SYS_TYPES_H"]=" 1" +D["HAVE_UNISTD_H"]=" 1" +D["STDC_HEADERS"]=" 1" +D["HAVE_DLFCN_H"]=" 1" +D["LT_OBJDIR"]=" \".libs/\"" +D["FAST_COMPILATION"]=" /**/" +D["HAVE_BOOL"]=" /**/" +D["HAVE_LONG_LONG"]=" /**/" +D["HAVE_TEMPLATES"]=" /**/" +D["HAVE_TYPENAME"]=" /**/" +D["HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING"]=" /**/" +D["HAVE_DEFAULT_TEMPLATE_PARAMETERS"]=" /**/" +D["HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE"]=" /**/" +D["HAVE_CONST_CAST"]=" /**/" +D["HAVE_REINTERPRET_CAST"]=" /**/" +D["HAVE_STATIC_CAST"]=" /**/" +D["HAVE_DYNAMIC_CAST"]=" /**/" +D["HAVE_EXCEPTIONS"]=" /**/" +D["HAVE_EXPLICIT"]=" /**/" +D["HAVE_NAMESPACES"]=" /**/" +D["HAVE_RTTI"]=" /**/" +D["HAVE_STD"]=" /**/" +D["HAVE_STL"]=" /**/" +D["HAVE_NUMERIC_LIMITS"]=" /**/" +D["HAVE_SSTREAM"]=" /**/" +D["HAVE_DEV_URANDOM"]=" /**/" +D["HAVE_PTHREAD"]=" 1" +D["HAVE_LIBZ"]=" 1" + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*([\t (]|$)/ { + line = $ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} + ac_datarootdir_hack=' + s&@datadir@&${datarootdir}&g + s&@docdir@&${datarootdir}/doc/${PACKAGE_TARNAME}&g + s&@infodir@&${datarootdir}/info&g + s&@localedir@&${datarootdir}/locale&g + s&@mandir@&${datarootdir}/man&g + s&\${datarootdir}&${prefix}/share&g' ;; +esac +ac_sed_extra="/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +} + +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +printf "%s\n" "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "beagle/include/beagle/config.hpp":C) ac_prefix_conf_OUT=`echo beagle/include/beagle/config.hpp` +ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g"` +ac_prefix_conf_PKG=`echo BEAGLE` +ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"` +ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^[0123456789]/s/^/_/"` +ac_prefix_conf_INP=`echo "config/config-h" | sed -e 's/ *//'` +if test ".$ac_prefix_conf_INP" = "."; then + for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue + case "$ac_file" in + *.h) ac_prefix_conf_INP=$ac_file ;; + *) + esac + test ".$ac_prefix_conf_INP" != "." && break + done +fi +if test ".$ac_prefix_conf_INP" = "."; then + case "$ac_prefix_conf_OUT" in + */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"` + ;; + *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*-//"` + ;; + *) ac_prefix_conf_INP=config.h + ;; + esac +fi +if test -z "$ac_prefix_conf_PKG" ; then + as_fn_error $? "no prefix for _PREFIX_PKG_CONFIG_H" "$LINENO" 5 +else + if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then + ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP" + fi fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5 +printf "%s\n" "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;} + if test -f $ac_prefix_conf_INP ; then + echo "s/#undef *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]\\)/#undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix + echo "s/#undef *\\([abcdefghijklmnopqrstuvwxyz]\\)/#undef $ac_prefix_conf_LOW""_\\1/" >> conftest.prefix + echo "s/#define *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_UPP""_\\1 \\" >> conftest.prefix + echo "#define $ac_prefix_conf_UPP""_\\1 \\2 \\" >> conftest.prefix + echo "#endif/" >>conftest.prefix + echo "s/#define *\\([abcdefghijklmnopqrstuvwxyz][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_LOW""_\\1 \\" >> conftest.prefix + echo "#define $ac_prefix_conf_LOW""_\\1 \\2 \\" >> conftest.prefix + echo "#endif/" >> conftest.prefix + # now executing _script on _DEF input to create _OUT output file + echo "#ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h + echo "#define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h + + sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h + echo "#endif" >>$tmp/pconfig.h + if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_prefix_conf_OUT is unchanged" >&5 +printf "%s\n" "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;} + else + ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" || +$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$ac_prefix_conf_OUT" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + rm -f "$ac_prefix_conf_OUT" + mv $tmp/pconfig.h "$ac_prefix_conf_OUT" + fi + cp conftest.prefix _configs.sed + else + as_fn_error $? "input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" "$LINENO" 5 + fi + rm -f conftest.* +fi + ;; + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + case $CONFIG_FILES in #( + *\'*) : + eval set x "$CONFIG_FILES" ;; #( + *) : + set x $CONFIG_FILES ;; #( + *) : + ;; +esac + shift + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf + do + # Strip MF so we end up with the name of the file. + am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`$as_dirname -- "$am_mf" || +$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$am_mf" : 'X\(//\)[^/]' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$am_mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + am_filepart=`$as_basename -- "$am_mf" || +$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X/"$am_mf" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { echo "$as_me:$LINENO: cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles" >&5 + (cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } || am_rc=$? + done + if test $am_rc -ne 0; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE=\"gmake\" (or whatever is + necessary). You can also try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking). +See \`config.log' for more details" "$LINENO" 5; } + fi + { am_dirpart=; unset am_dirpart;} + { am_filepart=; unset am_filepart;} + { am_mf=; unset am_mf;} + { am_rc=; unset am_rc;} + rm -f conftest-deps.mk +} + ;; + "libtool":C) + + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +# The names of the tagged configurations supported by this script. +available_tags='CXX ' + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec=$shared_archive_member_spec + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd + +# A file(cmd) program that detects file types. +FILECMD=$lt_FILECMD + +# An object symbol dumper. +OBJDUMP=$lt_OBJDUMP + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + +# The archiver. +AR=$lt_AR + +# Flags to create an archive (by configure). +lt_ar_flags=$lt_ar_flags + +# Flags to create an archive. +AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} + +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm into a list of symbols to manually relocate. +global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name lister interface. +nm_interface=$lt_lt_cv_nm_interface + +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec + +# The root where to search for dependent libraries,and where our libraries should be installed. +lt_sysroot=$lt_sysroot + +# Command to truncate a binary pipe. +lt_truncate_bin=$lt_lt_cv_truncate_bin + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + + +ltmain=$ac_aux_dir/ltmain.sh + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + $SED '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_CXX +reload_cmds=$lt_reload_cmds_CXX + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX + +# A language specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 diff --git a/lib/beagle-3.0.3/config/compile b/lib/beagle-3.0.3/config/compile new file mode 100755 index 0000000..df363c8 --- /dev/null +++ b/lib/beagle-3.0.3/config/compile @@ -0,0 +1,348 @@ +#! /bin/sh +# Wrapper for compilers which do not understand '-c -o'. + +scriptversion=2018-03-07.03; # UTC + +# Copyright (C) 1999-2021 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN* | MSYS*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/* | msys/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file 'INSTALL'. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; +esac + +ofile= +cfile= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no '-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # '.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` + +# Create the lock directory. +# Note: use '[/\\:.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/lib/beagle-3.0.3/config/config-h b/lib/beagle-3.0.3/config/config-h new file mode 100644 index 0000000..db324a1 --- /dev/null +++ b/lib/beagle-3.0.3/config/config-h @@ -0,0 +1,171 @@ +/* config/config-h. Generated from config-h.in by configure. */ +/* config/config-h.in. Generated from configure.ac by autoheader. */ + +/* define if compilation of tests is active */ +/* #undef COMPILE_TESTS */ + +/* define if fast compilation mode is active */ +#define FAST_COMPILATION /**/ + +/* define if full debug mode is active */ +/* #undef FULL_DEBUG */ + +/* define if bool is a built-in type */ +#define HAVE_BOOL /**/ + +/* define if the compiler supports const_cast<> */ +#define HAVE_CONST_CAST /**/ + +/* define if the compiler supports default template parameters */ +#define HAVE_DEFAULT_TEMPLATE_PARAMETERS /**/ + +/* define if file /dev/urandom exists. */ +#define HAVE_DEV_URANDOM /**/ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* define if the compiler supports dynamic_cast<> */ +#define HAVE_DYNAMIC_CAST /**/ + +/* define if the compiler supports exceptions */ +#define HAVE_EXCEPTIONS /**/ + +/* define if the compiler supports the explicit keyword */ +#define HAVE_EXPLICIT /**/ + +/* define if the compiler supports __gnu_cxx::hash_map */ +/* #undef HAVE_GNUCXX_HASHMAP */ + +/* define if the compiler supports __gnu_cxx::hash_set */ +/* #undef HAVE_GNUCXX_HASHSET */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* define if the macro isfinite exist */ +/* #undef HAVE_ISFINITE */ + +/* Define to 1 if you have the `z' library (-lz). */ +#define HAVE_LIBZ 1 + +/* define if long long int type is supported */ +#define HAVE_LONG_LONG /**/ + +/* define if the compiler implements namespaces */ +#define HAVE_NAMESPACES /**/ + +/* define if the compiler has numeric_limits */ +#define HAVE_NUMERIC_LIMITS /**/ + +/* Define if you have POSIX threads libraries and header files. */ +#define HAVE_PTHREAD 1 + +/* define if the compiler supports reinterpret_cast<> */ +#define HAVE_REINTERPRET_CAST /**/ + +/* define if the compiler supports Run-Time Type Identification */ +#define HAVE_RTTI /**/ + +/* define if the compiler has stringstream */ +#define HAVE_SSTREAM /**/ + +/* define if the compiler supports static_cast<> */ +#define HAVE_STATIC_CAST /**/ + +/* define if the compiler supports ISO C++ standard library */ +#define HAVE_STD /**/ + +/* define if the compiler supports stdext::hash_map */ +/* #undef HAVE_STDEXT_HASHMAP */ + +/* define if the compiler supports stdext::hash_set */ +/* #undef HAVE_STDEXT_HASHSET */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* define if the compiler supports std::hash_map */ +/* #undef HAVE_STD_HASHMAP */ + +/* define if the compiler supports std::hash_set */ +/* #undef HAVE_STD_HASHSET */ + +/* define if the compiler supports Standard Template Library */ +#define HAVE_STL /**/ + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* define if the compiler supports basic templates */ +#define HAVE_TEMPLATES /**/ + +/* define if the compiler supports template-qualified base class specifiers */ +/* #undef HAVE_TEMPLATE_QUALIFIED_BASE_CLASS */ + +/* define if the compiler supports template-qualified return types */ +#define HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE /**/ + +/* define if the compiler supports function matching with argument types which + are template scope-qualified */ +#define HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING /**/ + +/* define if the compiler recognizes typename */ +#define HAVE_TYPENAME /**/ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* define if some debug code is disabled */ +/* #undef NDEBUG */ + +/* Name of package */ +#define PACKAGE "beagle" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "cgagne@gmail.com" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "Open BEAGLE" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "Open BEAGLE 3.0.3" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "beagle" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "3.0.3" + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +/* #undef PTHREAD_CREATE_JOINABLE */ + +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION "3.0.3" diff --git a/lib/beagle-3.0.3/config/config-h.in b/lib/beagle-3.0.3/config/config-h.in new file mode 100644 index 0000000..3020d59 --- /dev/null +++ b/lib/beagle-3.0.3/config/config-h.in @@ -0,0 +1,170 @@ +/* config/config-h.in. Generated from configure.ac by autoheader. */ + +/* define if compilation of tests is active */ +#undef COMPILE_TESTS + +/* define if fast compilation mode is active */ +#undef FAST_COMPILATION + +/* define if full debug mode is active */ +#undef FULL_DEBUG + +/* define if bool is a built-in type */ +#undef HAVE_BOOL + +/* define if the compiler supports const_cast<> */ +#undef HAVE_CONST_CAST + +/* define if the compiler supports default template parameters */ +#undef HAVE_DEFAULT_TEMPLATE_PARAMETERS + +/* define if file /dev/urandom exists. */ +#undef HAVE_DEV_URANDOM + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* define if the compiler supports dynamic_cast<> */ +#undef HAVE_DYNAMIC_CAST + +/* define if the compiler supports exceptions */ +#undef HAVE_EXCEPTIONS + +/* define if the compiler supports the explicit keyword */ +#undef HAVE_EXPLICIT + +/* define if the compiler supports __gnu_cxx::hash_map */ +#undef HAVE_GNUCXX_HASHMAP + +/* define if the compiler supports __gnu_cxx::hash_set */ +#undef HAVE_GNUCXX_HASHSET + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* define if the macro isfinite exist */ +#undef HAVE_ISFINITE + +/* Define to 1 if you have the `z' library (-lz). */ +#undef HAVE_LIBZ + +/* define if long long int type is supported */ +#undef HAVE_LONG_LONG + +/* define if the compiler implements namespaces */ +#undef HAVE_NAMESPACES + +/* define if the compiler has numeric_limits */ +#undef HAVE_NUMERIC_LIMITS + +/* Define if you have POSIX threads libraries and header files. */ +#undef HAVE_PTHREAD + +/* define if the compiler supports reinterpret_cast<> */ +#undef HAVE_REINTERPRET_CAST + +/* define if the compiler supports Run-Time Type Identification */ +#undef HAVE_RTTI + +/* define if the compiler has stringstream */ +#undef HAVE_SSTREAM + +/* define if the compiler supports static_cast<> */ +#undef HAVE_STATIC_CAST + +/* define if the compiler supports ISO C++ standard library */ +#undef HAVE_STD + +/* define if the compiler supports stdext::hash_map */ +#undef HAVE_STDEXT_HASHMAP + +/* define if the compiler supports stdext::hash_set */ +#undef HAVE_STDEXT_HASHSET + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDIO_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* define if the compiler supports std::hash_map */ +#undef HAVE_STD_HASHMAP + +/* define if the compiler supports std::hash_set */ +#undef HAVE_STD_HASHSET + +/* define if the compiler supports Standard Template Library */ +#undef HAVE_STL + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* define if the compiler supports basic templates */ +#undef HAVE_TEMPLATES + +/* define if the compiler supports template-qualified base class specifiers */ +#undef HAVE_TEMPLATE_QUALIFIED_BASE_CLASS + +/* define if the compiler supports template-qualified return types */ +#undef HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE + +/* define if the compiler supports function matching with argument types which + are template scope-qualified */ +#undef HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING + +/* define if the compiler recognizes typename */ +#undef HAVE_TYPENAME + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#undef LT_OBJDIR + +/* define if some debug code is disabled */ +#undef NDEBUG + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +#undef PTHREAD_CREATE_JOINABLE + +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/lib/beagle-3.0.3/config/config-h.in~ b/lib/beagle-3.0.3/config/config-h.in~ new file mode 100644 index 0000000..753a4a1 --- /dev/null +++ b/lib/beagle-3.0.3/config/config-h.in~ @@ -0,0 +1,162 @@ +/* config/config-h.in. Generated from configure.ac by autoheader. */ + +/* define if compilation of tests is active */ +#undef COMPILE_TESTS + +/* define if fast compilation mode is active */ +#undef FAST_COMPILATION + +/* define if full debug mode is active */ +#undef FULL_DEBUG + +/* define if bool is a built-in type */ +#undef HAVE_BOOL + +/* define if the compiler supports const_cast<> */ +#undef HAVE_CONST_CAST + +/* define if the compiler supports default template parameters */ +#undef HAVE_DEFAULT_TEMPLATE_PARAMETERS + +/* define if file /dev/urandom exists. */ +#undef HAVE_DEV_URANDOM + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* define if the compiler supports dynamic_cast<> */ +#undef HAVE_DYNAMIC_CAST + +/* define if the compiler supports exceptions */ +#undef HAVE_EXCEPTIONS + +/* define if the compiler supports the explicit keyword */ +#undef HAVE_EXPLICIT + +/* define if the compiler supports __gnu_cxx::hash_map */ +#undef HAVE_GNUCXX_HASHMAP + +/* define if the compiler supports __gnu_cxx::hash_set */ +#undef HAVE_GNUCXX_HASHSET + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* define if the macro isfinite exist */ +#undef HAVE_ISFINITE + +/* Define to 1 if you have the `z' library (-lz). */ +#undef HAVE_LIBZ + +/* define if long long int type is supported */ +#undef HAVE_LONG_LONG + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* define if the compiler implements namespaces */ +#undef HAVE_NAMESPACES + +/* define if the compiler has numeric_limits */ +#undef HAVE_NUMERIC_LIMITS + +/* Define if you have POSIX threads libraries and header files. */ +#undef HAVE_PTHREAD + +/* define if the compiler supports reinterpret_cast<> */ +#undef HAVE_REINTERPRET_CAST + +/* define if the compiler supports Run-Time Type Identification */ +#undef HAVE_RTTI + +/* define if the compiler has stringstream */ +#undef HAVE_SSTREAM + +/* define if the compiler supports static_cast<> */ +#undef HAVE_STATIC_CAST + +/* define if the compiler supports ISO C++ standard library */ +#undef HAVE_STD + +/* define if the compiler supports stdext::hash_map */ +#undef HAVE_STDEXT_HASHMAP + +/* define if the compiler supports stdext::hash_set */ +#undef HAVE_STDEXT_HASHSET + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* define if the compiler supports std::hash_map */ +#undef HAVE_STD_HASHMAP + +/* define if the compiler supports std::hash_set */ +#undef HAVE_STD_HASHSET + +/* define if the compiler supports Standard Template Library */ +#undef HAVE_STL + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* define if the compiler supports basic templates */ +#undef HAVE_TEMPLATES + +/* define if the compiler supports template-qualified base class specifiers */ +#undef HAVE_TEMPLATE_QUALIFIED_BASE_CLASS + +/* define if the compiler supports template-qualified return types */ +#undef HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE + +/* define if the compiler supports function matching with argument types which + are template scope-qualified */ +#undef HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING + +/* define if the compiler recognizes typename */ +#undef HAVE_TYPENAME + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* define if some debug code is disabled */ +#undef NDEBUG + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +#undef PTHREAD_CREATE_JOINABLE + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/lib/beagle-3.0.3/config/config.guess b/lib/beagle-3.0.3/config/config.guess new file mode 100755 index 0000000..7f76b62 --- /dev/null +++ b/lib/beagle-3.0.3/config/config.guess @@ -0,0 +1,1754 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright 1992-2022 Free Software Foundation, Inc. + +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2022-01-09' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. +# +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess +# +# Please send patches to . + + +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2022 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +# Just in case it came from the environment. +GUESS= + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + # prevent multiple calls if $tmp is already set + test "$tmp" && return 0 + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039,SC3028 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD=$driver + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if test -f /.attbin/uname ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +case $UNAME_SYSTEM in +Linux|GNU|GNU/*) + LIBC=unknown + + set_cc_for_build + cat <<-EOF > "$dummy.c" + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #elif defined(__GLIBC__) + LIBC=gnu + #else + #include + /* First heuristic to detect musl libc. */ + #ifdef __DEFINED_va_list + LIBC=musl + #endif + #endif + EOF + cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "$cc_set_libc" + + # Second heuristic to detect musl libc. + if [ "$LIBC" = unknown ] && + command -v ldd >/dev/null && + ldd --version 2>&1 | grep -q ^musl; then + LIBC=musl + fi + + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + if [ "$LIBC" = unknown ]; then + LIBC=gnu + fi + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + echo unknown)` + case $UNAME_MACHINE_ARCH in + aarch64eb) machine=aarch64_be-unknown ;; + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; + *) machine=$UNAME_MACHINE_ARCH-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently (or will in the future) and ABI. + case $UNAME_MACHINE_ARCH in + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # Determine ABI tags. + case $UNAME_MACHINE_ARCH in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case $UNAME_VERSION in + Debian*) + release='-gnu' + ;; + *) + release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + GUESS=$machine-${os}${release}${abi-} + ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE + ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE + ;; + *:SecBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE + ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE + ;; + *:MidnightBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE + ;; + *:ekkoBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE + ;; + *:SolidBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE + ;; + *:OS108:*:*) + GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE + ;; + macppc:MirBSD:*:*) + GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE + ;; + *:MirBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE + ;; + *:Sortix:*:*) + GUESS=$UNAME_MACHINE-unknown-sortix + ;; + *:Twizzler:*:*) + GUESS=$UNAME_MACHINE-unknown-twizzler + ;; + *:Redox:*:*) + GUESS=$UNAME_MACHINE-unknown-redox + ;; + mips:OSF1:*.*) + GUESS=mips-dec-osf1 + ;; + alpha:OSF1:*:*) + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + trap '' 0 + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case $ALPHA_CPU_TYPE in + "EV4 (21064)") + UNAME_MACHINE=alpha ;; + "EV4.5 (21064)") + UNAME_MACHINE=alpha ;; + "LCA4 (21066/21068)") + UNAME_MACHINE=alpha ;; + "EV5 (21164)") + UNAME_MACHINE=alphaev5 ;; + "EV5.6 (21164A)") + UNAME_MACHINE=alphaev56 ;; + "EV5.6 (21164PC)") + UNAME_MACHINE=alphapca56 ;; + "EV5.7 (21164PC)") + UNAME_MACHINE=alphapca57 ;; + "EV6 (21264)") + UNAME_MACHINE=alphaev6 ;; + "EV6.7 (21264A)") + UNAME_MACHINE=alphaev67 ;; + "EV6.8CB (21264C)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8AL (21264B)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8CX (21264D)") + UNAME_MACHINE=alphaev68 ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE=alphaev69 ;; + "EV7 (21364)") + UNAME_MACHINE=alphaev7 ;; + "EV7.9 (21364A)") + UNAME_MACHINE=alphaev79 ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + GUESS=$UNAME_MACHINE-dec-osf$OSF_REL + ;; + Amiga*:UNIX_System_V:4.0:*) + GUESS=m68k-unknown-sysv4 + ;; + *:[Aa]miga[Oo][Ss]:*:*) + GUESS=$UNAME_MACHINE-unknown-amigaos + ;; + *:[Mm]orph[Oo][Ss]:*:*) + GUESS=$UNAME_MACHINE-unknown-morphos + ;; + *:OS/390:*:*) + GUESS=i370-ibm-openedition + ;; + *:z/VM:*:*) + GUESS=s390-ibm-zvmoe + ;; + *:OS400:*:*) + GUESS=powerpc-ibm-os400 + ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + GUESS=arm-acorn-riscix$UNAME_RELEASE + ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + GUESS=arm-unknown-riscos + ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + GUESS=hppa1.1-hitachi-hiuxmpp + ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + case `(/bin/universe) 2>/dev/null` in + att) GUESS=pyramid-pyramid-sysv3 ;; + *) GUESS=pyramid-pyramid-bsd ;; + esac + ;; + NILE*:*:*:dcosx) + GUESS=pyramid-pyramid-svr4 + ;; + DRS?6000:unix:4.0:6*) + GUESS=sparc-icl-nx6 + ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) GUESS=sparc-icl-nx7 ;; + esac + ;; + s390x:SunOS:*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL + ;; + sun4H:SunOS:5.*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-hal-solaris2$SUN_REL + ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris2$SUN_REL + ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + GUESS=i386-pc-auroraux$UNAME_RELEASE + ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + set_cc_for_build + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=x86_64 + fi + fi + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$SUN_ARCH-pc-solaris2$SUN_REL + ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris3$SUN_REL + ;; + sun4*:SunOS:*:*) + case `/usr/bin/arch -k` in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` + GUESS=sparc-sun-sunos$SUN_REL + ;; + sun3*:SunOS:*:*) + GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 + case `/bin/arch` in + sun3) + GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; + sun4) + GUESS=sparc-sun-sunos$UNAME_RELEASE + ;; + esac + ;; + aushp:SunOS:*:*) + GUESS=sparc-auspex-sunos$UNAME_RELEASE + ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + GUESS=m68k-milan-mint$UNAME_RELEASE + ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + GUESS=m68k-hades-mint$UNAME_RELEASE + ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + GUESS=m68k-unknown-mint$UNAME_RELEASE + ;; + m68k:machten:*:*) + GUESS=m68k-apple-machten$UNAME_RELEASE + ;; + powerpc:machten:*:*) + GUESS=powerpc-apple-machten$UNAME_RELEASE + ;; + RISC*:Mach:*:*) + GUESS=mips-dec-mach_bsd4.3 + ;; + RISC*:ULTRIX:*:*) + GUESS=mips-dec-ultrix$UNAME_RELEASE + ;; + VAX*:ULTRIX*:*:*) + GUESS=vax-dec-ultrix$UNAME_RELEASE + ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + GUESS=clipper-intergraph-clix$UNAME_RELEASE + ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`"$dummy" "$dummyarg"` && + { echo "$SYSTEM_NAME"; exit; } + GUESS=mips-mips-riscos$UNAME_RELEASE + ;; + Motorola:PowerMAX_OS:*:*) + GUESS=powerpc-motorola-powermax + ;; + Motorola:*:4.3:PL8-*) + GUESS=powerpc-harris-powermax + ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + GUESS=powerpc-harris-powermax + ;; + Night_Hawk:Power_UNIX:*:*) + GUESS=powerpc-harris-powerunix + ;; + m88k:CX/UX:7*:*) + GUESS=m88k-harris-cxux7 + ;; + m88k:*:4*:R4*) + GUESS=m88k-motorola-sysv4 + ;; + m88k:*:3*:R3*) + GUESS=m88k-motorola-sysv3 + ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 + then + if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ + test "$TARGET_BINARY_INTERFACE"x = x + then + GUESS=m88k-dg-dgux$UNAME_RELEASE + else + GUESS=m88k-dg-dguxbcs$UNAME_RELEASE + fi + else + GUESS=i586-dg-dgux$UNAME_RELEASE + fi + ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + GUESS=m88k-dolphin-sysv3 + ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + GUESS=m88k-motorola-sysv3 + ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + GUESS=m88k-tektronix-sysv3 + ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + GUESS=m68k-tektronix-bsd + ;; + *:IRIX*:*:*) + IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` + GUESS=mips-sgi-irix$IRIX_REL + ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id + ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + GUESS=i386-ibm-aix + ;; + ia64:AIX:*:*) + if test -x /usr/bin/oslevel ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE + fi + GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV + ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` + then + GUESS=$SYSTEM_NAME + else + GUESS=rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + GUESS=rs6000-ibm-aix3.2.4 + else + GUESS=rs6000-ibm-aix3.2 + fi + ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if test -x /usr/bin/lslpp ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` + else + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE + fi + GUESS=$IBM_ARCH-ibm-aix$IBM_REV + ;; + *:AIX:*:*) + GUESS=rs6000-ibm-aix + ;; + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) + GUESS=romp-ibm-bsd4.4 + ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to + ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + GUESS=rs6000-bull-bosx + ;; + DPX/2?00:B.O.S.:*:*) + GUESS=m68k-bull-sysv3 + ;; + 9000/[34]??:4.3bsd:1.*:*) + GUESS=m68k-hp-bsd + ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + GUESS=m68k-hp-bsd4.4 + ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + case $UNAME_MACHINE in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if test -x /usr/bin/getconf; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case $sc_cpu_version in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case $sc_kernel_bits in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac + fi + if test "$HP_ARCH" = ""; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if test "$HP_ARCH" = hppa2.0w + then + set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH=hppa2.0w + else + HP_ARCH=hppa64 + fi + fi + GUESS=$HP_ARCH-hp-hpux$HPUX_REV + ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + GUESS=ia64-hp-hpux$HPUX_REV + ;; + 3050*:HI-UX:*:*) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } + GUESS=unknown-hitachi-hiuxwe2 + ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) + GUESS=hppa1.1-hp-bsd + ;; + 9000/8??:4.3bsd:*:*) + GUESS=hppa1.0-hp-bsd + ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + GUESS=hppa1.0-hp-mpeix + ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) + GUESS=hppa1.1-hp-osf + ;; + hp8??:OSF1:*:*) + GUESS=hppa1.0-hp-osf + ;; + i*86:OSF1:*:*) + if test -x /usr/sbin/sysversion ; then + GUESS=$UNAME_MACHINE-unknown-osf1mk + else + GUESS=$UNAME_MACHINE-unknown-osf1 + fi + ;; + parisc*:Lites*:*:*) + GUESS=hppa1.1-hp-lites + ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + GUESS=c1-convex-bsd + ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + GUESS=c34-convex-bsd + ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + GUESS=c38-convex-bsd + ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + GUESS=c4-convex-bsd + ;; + CRAY*Y-MP:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=ymp-cray-unicos$CRAY_REL + ;; + CRAY*[A-Z]90:*:*:*) + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=t90-cray-unicos$CRAY_REL + ;; + CRAY*T3E:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=alphaev5-cray-unicosmk$CRAY_REL + ;; + CRAY*SV1:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=sv1-cray-unicos$CRAY_REL + ;; + *:UNICOS/mp:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=craynv-cray-unicosmp$CRAY_REL + ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` + GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE + ;; + sparc*:BSD/OS:*:*) + GUESS=sparc-unknown-bsdi$UNAME_RELEASE + ;; + *:BSD/OS:*:*) + GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE + ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=`uname -p` + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi + else + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf + fi + ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=`/usr/bin/uname -p` + case $UNAME_PROCESSOR in + amd64) + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; + esac + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL + ;; + i*:CYGWIN*:*) + GUESS=$UNAME_MACHINE-pc-cygwin + ;; + *:MINGW64*:*) + GUESS=$UNAME_MACHINE-pc-mingw64 + ;; + *:MINGW*:*) + GUESS=$UNAME_MACHINE-pc-mingw32 + ;; + *:MSYS*:*) + GUESS=$UNAME_MACHINE-pc-msys + ;; + i*:PW*:*) + GUESS=$UNAME_MACHINE-pc-pw32 + ;; + *:SerenityOS:*:*) + GUESS=$UNAME_MACHINE-pc-serenity + ;; + *:Interix*:*) + case $UNAME_MACHINE in + x86) + GUESS=i586-pc-interix$UNAME_RELEASE + ;; + authenticamd | genuineintel | EM64T) + GUESS=x86_64-unknown-interix$UNAME_RELEASE + ;; + IA64) + GUESS=ia64-unknown-interix$UNAME_RELEASE + ;; + esac ;; + i*:UWIN*:*) + GUESS=$UNAME_MACHINE-pc-uwin + ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + GUESS=x86_64-pc-cygwin + ;; + prep*:SunOS:5.*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=powerpcle-unknown-solaris2$SUN_REL + ;; + *:GNU:*:*) + # the GNU system + GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` + GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL + ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC + ;; + *:Minix:*:*) + GUESS=$UNAME_MACHINE-unknown-minix + ;; + aarch64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arm*:Linux:*:*) + set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi + else + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf + fi + fi + ;; + avr32*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + cris:Linux:*:*) + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; + crisv32:Linux:*:*) + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; + e2k:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + frv:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + hexagon:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + i*86:Linux:*:*) + GUESS=$UNAME_MACHINE-pc-linux-$LIBC + ;; + ia64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + k1om:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + m32r*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + m68*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + mips:Linux:*:* | mips64:Linux:*:*) + set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 + sed 's/^ //' << EOF > "$dummy.c" + #undef CPU + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + MIPS_ENDIAN=el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + MIPS_ENDIAN= + #else + MIPS_ENDIAN= + #endif + #endif +EOF + cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` + eval "$cc_set_vars" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } + ;; + mips64el:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + openrisc*:Linux:*:*) + GUESS=or1k-unknown-linux-$LIBC + ;; + or32:Linux:*:* | or1k*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + padre:Linux:*:*) + GUESS=sparc-unknown-linux-$LIBC + ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + GUESS=hppa64-unknown-linux-$LIBC + ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; + PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; + *) GUESS=hppa-unknown-linux-$LIBC ;; + esac + ;; + ppc64:Linux:*:*) + GUESS=powerpc64-unknown-linux-$LIBC + ;; + ppc:Linux:*:*) + GUESS=powerpc-unknown-linux-$LIBC + ;; + ppc64le:Linux:*:*) + GUESS=powerpc64le-unknown-linux-$LIBC + ;; + ppcle:Linux:*:*) + GUESS=powerpcle-unknown-linux-$LIBC + ;; + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + s390:Linux:*:* | s390x:Linux:*:*) + GUESS=$UNAME_MACHINE-ibm-linux-$LIBC + ;; + sh64*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + sh*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + tile*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + vax:Linux:*:*) + GUESS=$UNAME_MACHINE-dec-linux-$LIBC + ;; + x86_64:Linux:*:*) + set_cc_for_build + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_X32 >/dev/null + then + LIBCABI=${LIBC}x32 + fi + fi + GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI + ;; + xtensa*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + GUESS=i386-sequent-sysv4 + ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION + ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + GUESS=$UNAME_MACHINE-pc-os2-emx + ;; + i*86:XTS-300:*:STOP) + GUESS=$UNAME_MACHINE-unknown-stop + ;; + i*86:atheos:*:*) + GUESS=$UNAME_MACHINE-unknown-atheos + ;; + i*86:syllable:*:*) + GUESS=$UNAME_MACHINE-pc-syllable + ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + GUESS=i386-unknown-lynxos$UNAME_RELEASE + ;; + i*86:*DOS:*:*) + GUESS=$UNAME_MACHINE-pc-msdosdjgpp + ;; + i*86:*:4.*:*) + UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL + else + GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL + fi + ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL + else + GUESS=$UNAME_MACHINE-pc-sysv32 + fi + ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configure will decide that + # this is a cross-build. + GUESS=i586-pc-msdosdjgpp + ;; + Intel:Mach:3*:*) + GUESS=i386-pc-mach3 + ;; + paragon:*:*:*) + GUESS=i860-intel-osf1 + ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 + fi + ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + GUESS=m68010-convergent-sysv + ;; + mc68k:UNIX:SYSTEM5:3.51m) + GUESS=m68k-convergent-sysv + ;; + M680?0:D-NIX:5.3:*) + GUESS=m68k-diab-dnix + ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + GUESS=m68k-unknown-lynxos$UNAME_RELEASE + ;; + mc68030:UNIX_System_V:4.*:*) + GUESS=m68k-atari-sysv4 + ;; + TSUNAMI:LynxOS:2.*:*) + GUESS=sparc-unknown-lynxos$UNAME_RELEASE + ;; + rs6000:LynxOS:2.*:*) + GUESS=rs6000-unknown-lynxos$UNAME_RELEASE + ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + GUESS=powerpc-unknown-lynxos$UNAME_RELEASE + ;; + SM[BE]S:UNIX_SV:*:*) + GUESS=mips-dde-sysv$UNAME_RELEASE + ;; + RM*:ReliantUNIX-*:*:*) + GUESS=mips-sni-sysv4 + ;; + RM*:SINIX-*:*:*) + GUESS=mips-sni-sysv4 + ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + GUESS=$UNAME_MACHINE-sni-sysv4 + else + GUESS=ns32k-sni-sysv + fi + ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + GUESS=i586-unisys-sysv4 + ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + GUESS=hppa1.1-stratus-sysv4 + ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + GUESS=i860-stratus-sysv4 + ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + GUESS=$UNAME_MACHINE-stratus-vos + ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + GUESS=hppa1.1-stratus-vos + ;; + mc68*:A/UX:*:*) + GUESS=m68k-apple-aux$UNAME_RELEASE + ;; + news*:NEWS-OS:6*:*) + GUESS=mips-sony-newsos6 + ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if test -d /usr/nec; then + GUESS=mips-nec-sysv$UNAME_RELEASE + else + GUESS=mips-unknown-sysv$UNAME_RELEASE + fi + ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + GUESS=powerpc-be-beos + ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + GUESS=powerpc-apple-beos + ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + GUESS=i586-pc-beos + ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + GUESS=i586-pc-haiku + ;; + x86_64:Haiku:*:*) + GUESS=x86_64-unknown-haiku + ;; + SX-4:SUPER-UX:*:*) + GUESS=sx4-nec-superux$UNAME_RELEASE + ;; + SX-5:SUPER-UX:*:*) + GUESS=sx5-nec-superux$UNAME_RELEASE + ;; + SX-6:SUPER-UX:*:*) + GUESS=sx6-nec-superux$UNAME_RELEASE + ;; + SX-7:SUPER-UX:*:*) + GUESS=sx7-nec-superux$UNAME_RELEASE + ;; + SX-8:SUPER-UX:*:*) + GUESS=sx8-nec-superux$UNAME_RELEASE + ;; + SX-8R:SUPER-UX:*:*) + GUESS=sx8r-nec-superux$UNAME_RELEASE + ;; + SX-ACE:SUPER-UX:*:*) + GUESS=sxace-nec-superux$UNAME_RELEASE + ;; + Power*:Rhapsody:*:*) + GUESS=powerpc-apple-rhapsody$UNAME_RELEASE + ;; + *:Rhapsody:*:*) + GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE + ;; + arm64:Darwin:*:*) + GUESS=aarch64-apple-darwin$UNAME_RELEASE + ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build + fi + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE + fi + GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE + ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = x86; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE + ;; + *:QNX:*:4*) + GUESS=i386-pc-qnx + ;; + NEO-*:NONSTOP_KERNEL:*:*) + GUESS=neo-tandem-nsk$UNAME_RELEASE + ;; + NSE-*:NONSTOP_KERNEL:*:*) + GUESS=nse-tandem-nsk$UNAME_RELEASE + ;; + NSR-*:NONSTOP_KERNEL:*:*) + GUESS=nsr-tandem-nsk$UNAME_RELEASE + ;; + NSV-*:NONSTOP_KERNEL:*:*) + GUESS=nsv-tandem-nsk$UNAME_RELEASE + ;; + NSX-*:NONSTOP_KERNEL:*:*) + GUESS=nsx-tandem-nsk$UNAME_RELEASE + ;; + *:NonStop-UX:*:*) + GUESS=mips-compaq-nonstopux + ;; + BS2000:POSIX*:*:*) + GUESS=bs2000-siemens-sysv + ;; + DS/*:UNIX_System_V:*:*) + GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE + ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "${cputype-}" = 386; then + UNAME_MACHINE=i386 + elif test "x${cputype-}" != x; then + UNAME_MACHINE=$cputype + fi + GUESS=$UNAME_MACHINE-unknown-plan9 + ;; + *:TOPS-10:*:*) + GUESS=pdp10-unknown-tops10 + ;; + *:TENEX:*:*) + GUESS=pdp10-unknown-tenex + ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + GUESS=pdp10-dec-tops20 + ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + GUESS=pdp10-xkl-tops20 + ;; + *:TOPS-20:*:*) + GUESS=pdp10-unknown-tops20 + ;; + *:ITS:*:*) + GUESS=pdp10-unknown-its + ;; + SEI:*:*:SEIUX) + GUESS=mips-sei-seiux$UNAME_RELEASE + ;; + *:DragonFly:*:*) + DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL + ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case $UNAME_MACHINE in + A*) GUESS=alpha-dec-vms ;; + I*) GUESS=ia64-dec-vms ;; + V*) GUESS=vax-dec-vms ;; + esac ;; + *:XENIX:*:SysV) + GUESS=i386-pc-xenix + ;; + i*86:skyos:*:*) + SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` + GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL + ;; + i*86:rdos:*:*) + GUESS=$UNAME_MACHINE-pc-rdos + ;; + i*86:Fiwix:*:*) + GUESS=$UNAME_MACHINE-pc-fiwix + ;; + *:AROS:*:*) + GUESS=$UNAME_MACHINE-unknown-aros + ;; + x86_64:VMkernel:*:*) + GUESS=$UNAME_MACHINE-unknown-esx + ;; + amd64:Isilon\ OneFS:*:*) + GUESS=x86_64-unknown-onefs + ;; + *:Unleashed:*:*) + GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE + ;; +esac + +# Do we have a guess based on uname results? +if test "x$GUESS" != x; then + echo "$GUESS" + exit +fi + +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" < +#include +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include +#if defined(_SIZE_T_) || defined(SIGLOST) +#include +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + +echo "$0: unable to guess system type" >&2 + +case $UNAME_MACHINE:$UNAME_SYSTEM in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <&2 <&2 </dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" +EOF +fi + +exit 1 + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/config/config.sub b/lib/beagle-3.0.3/config/config.sub new file mode 100755 index 0000000..dba16e8 --- /dev/null +++ b/lib/beagle-3.0.3/config/config.sub @@ -0,0 +1,1890 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright 1992-2022 Free Software Foundation, Inc. + +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2022-01-03' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches to . +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS + +Canonicalize a configuration name. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2022 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo "$1" + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Split fields of configuration type +# shellcheck disable=SC2162 +saved_IFS=$IFS +IFS="-" read field1 field2 field3 field4 <&2 + exit 1 + ;; + *-*-*-*) + basic_machine=$field1-$field2 + basic_os=$field3-$field4 + ;; + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os in + nto-qnx* | linux-* | uclinux-uclibc* \ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + basic_os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + basic_os=linux-android + ;; + *) + basic_machine=$field1-$field2 + basic_os=$field3 + ;; + esac + ;; + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + basic_os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + basic_os=$field2 + ;; + zephyr*) + basic_machine=$field1-unknown + basic_os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + basic_os= + ;; + *) + basic_machine=$field1 + basic_os=$field2 + ;; + esac + ;; + esac + ;; + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + basic_os=bsd + ;; + a29khif) + basic_machine=a29k-amd + basic_os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + basic_os=scout + ;; + alliant) + basic_machine=fx80-alliant + basic_os= + ;; + altos | altos3068) + basic_machine=m68k-altos + basic_os= + ;; + am29k) + basic_machine=a29k-none + basic_os=bsd + ;; + amdahl) + basic_machine=580-amdahl + basic_os=sysv + ;; + amiga) + basic_machine=m68k-unknown + basic_os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + basic_os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + basic_os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + basic_os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + basic_os=bsd + ;; + aros) + basic_machine=i386-pc + basic_os=aros + ;; + aux) + basic_machine=m68k-apple + basic_os=aux + ;; + balance) + basic_machine=ns32k-sequent + basic_os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + basic_os=linux + ;; + cegcc) + basic_machine=arm-unknown + basic_os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + basic_os=bsd + ;; + convex-c2) + basic_machine=c2-convex + basic_os=bsd + ;; + convex-c32) + basic_machine=c32-convex + basic_os=bsd + ;; + convex-c34) + basic_machine=c34-convex + basic_os=bsd + ;; + convex-c38) + basic_machine=c38-convex + basic_os=bsd + ;; + cray) + basic_machine=j90-cray + basic_os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + basic_os= + ;; + da30) + basic_machine=m68k-da30 + basic_os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + basic_os= + ;; + delta88) + basic_machine=m88k-motorola + basic_os=sysv3 + ;; + dicos) + basic_machine=i686-pc + basic_os=dicos + ;; + djgpp) + basic_machine=i586-pc + basic_os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + basic_os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + basic_os=ose + ;; + gmicro) + basic_machine=tron-gmicro + basic_os=sysv + ;; + go32) + basic_machine=i386-pc + basic_os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + basic_os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + basic_os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + basic_os=hms + ;; + harris) + basic_machine=m88k-harris + basic_os=sysv3 + ;; + hp300 | hp300hpux) + basic_machine=m68k-hp + basic_os=hpux + ;; + hp300bsd) + basic_machine=m68k-hp + basic_os=bsd + ;; + hppaosf) + basic_machine=hppa1.1-hp + basic_os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + basic_os=proelf + ;; + i386mach) + basic_machine=i386-mach + basic_os=mach + ;; + isi68 | isi) + basic_machine=m68k-isi + basic_os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + basic_os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + basic_os=sysv + ;; + merlin) + basic_machine=ns32k-utek + basic_os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + basic_os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + basic_os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + basic_os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + basic_os=coff + ;; + morphos) + basic_machine=powerpc-unknown + basic_os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + basic_os=moxiebox + ;; + msdos) + basic_machine=i386-pc + basic_os=msdos + ;; + msys) + basic_machine=i686-pc + basic_os=msys + ;; + mvs) + basic_machine=i370-ibm + basic_os=mvs + ;; + nacl) + basic_machine=le32-unknown + basic_os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + basic_os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + basic_os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + basic_os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + basic_os=newsos + ;; + news1000) + basic_machine=m68030-sony + basic_os=newsos + ;; + necv70) + basic_machine=v70-nec + basic_os=sysv + ;; + nh3000) + basic_machine=m68k-harris + basic_os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + basic_os=cxux + ;; + nindy960) + basic_machine=i960-intel + basic_os=nindy + ;; + mon960) + basic_machine=i960-intel + basic_os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + basic_os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + basic_os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + basic_os=ose + ;; + os68k) + basic_machine=m68k-none + basic_os=os68k + ;; + paragon) + basic_machine=i860-intel + basic_os=osf + ;; + parisc) + basic_machine=hppa-unknown + basic_os=linux + ;; + psp) + basic_machine=mipsallegrexel-sony + basic_os=psp + ;; + pw32) + basic_machine=i586-unknown + basic_os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + basic_os=rdos + ;; + rdos32) + basic_machine=i386-pc + basic_os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + basic_os=coff + ;; + sa29200) + basic_machine=a29k-amd + basic_os=udi + ;; + sei) + basic_machine=mips-sei + basic_os=seiux + ;; + sequent) + basic_machine=i386-sequent + basic_os= + ;; + sps7) + basic_machine=m68k-bull + basic_os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + basic_os= + ;; + stratus) + basic_machine=i860-stratus + basic_os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + basic_os= + ;; + sun2os3) + basic_machine=m68000-sun + basic_os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + basic_os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + basic_os= + ;; + sun3os3) + basic_machine=m68k-sun + basic_os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + basic_os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + basic_os= + ;; + sun4os3) + basic_machine=sparc-sun + basic_os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + basic_os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + basic_os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + basic_os= + ;; + sv1) + basic_machine=sv1-cray + basic_os=unicos + ;; + symmetry) + basic_machine=i386-sequent + basic_os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + basic_os=unicos + ;; + t90) + basic_machine=t90-cray + basic_os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + basic_os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + basic_os=tpf + ;; + udi29k) + basic_machine=a29k-amd + basic_os=udi + ;; + ultra3) + basic_machine=a29k-nyu + basic_os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + basic_os=none + ;; + vaxv) + basic_machine=vax-dec + basic_os=sysv + ;; + vms) + basic_machine=vax-dec + basic_os=vms + ;; + vsta) + basic_machine=i386-pc + basic_os=vsta + ;; + vxworks960) + basic_machine=i960-wrs + basic_os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + basic_os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + basic_os=vxworks + ;; + xbox) + basic_machine=i686-pc + basic_os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + basic_os=unicos + ;; + *) + basic_machine=$1 + basic_os= + ;; + esac + ;; +esac + +# Decode 1-component or ad-hoc basic machines +case $basic_machine in + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond + ;; + op50n) + cpu=hppa1.1 + vendor=oki + ;; + op60c) + cpu=hppa1.1 + vendor=oki + ;; + ibm*) + cpu=i370 + vendor=ibm + ;; + orion105) + cpu=clipper + vendor=highlevel + ;; + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple + ;; + pmac | pmac-mpw) + cpu=powerpc + vendor=apple + ;; + + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + cpu=m68000 + vendor=att + ;; + 3b*) + cpu=we32k + vendor=att + ;; + bluegene*) + cpu=powerpc + vendor=ibm + basic_os=cnk + ;; + decsystem10* | dec10*) + cpu=pdp10 + vendor=dec + basic_os=tops10 + ;; + decsystem20* | dec20*) + cpu=pdp10 + vendor=dec + basic_os=tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + cpu=m68k + vendor=motorola + ;; + dpx2*) + cpu=m68k + vendor=bull + basic_os=sysv3 + ;; + encore | umax | mmax) + cpu=ns32k + vendor=encore + ;; + elxsi) + cpu=elxsi + vendor=elxsi + basic_os=${basic_os:-bsd} + ;; + fx2800) + cpu=i860 + vendor=alliant + ;; + genix) + cpu=ns32k + vendor=ns + ;; + h3050r* | hiux*) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + cpu=m68000 + vendor=hp + ;; + hp9k3[2-9][0-9]) + cpu=m68k + vendor=hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + i*86v32) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv32 + ;; + i*86v4*) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv4 + ;; + i*86v) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv + ;; + i*86sol2) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=solaris2 + ;; + j90 | j90-cray) + cpu=j90 + vendor=cray + basic_os=${basic_os:-unicos} + ;; + iris | iris4d) + cpu=mips + vendor=sgi + case $basic_os in + irix*) + ;; + *) + basic_os=irix4 + ;; + esac + ;; + miniframe) + cpu=m68000 + vendor=convergent + ;; + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + basic_os=mint + ;; + news-3600 | risc-news) + cpu=mips + vendor=sony + basic_os=newsos + ;; + next | m*-next) + cpu=m68k + vendor=next + case $basic_os in + openstep*) + ;; + nextstep*) + ;; + ns2*) + basic_os=nextstep2 + ;; + *) + basic_os=nextstep3 + ;; + esac + ;; + np1) + cpu=np1 + vendor=gould + ;; + op50n-* | op60c-*) + cpu=hppa1.1 + vendor=oki + basic_os=proelf + ;; + pa-hitachi) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + pbd) + cpu=sparc + vendor=tti + ;; + pbb) + cpu=m68k + vendor=tti + ;; + pc532) + cpu=ns32k + vendor=pc532 + ;; + pn) + cpu=pn + vendor=gould + ;; + power) + cpu=power + vendor=ibm + ;; + ps2) + cpu=i386 + vendor=ibm + ;; + rm[46]00) + cpu=mips + vendor=siemens + ;; + rtpc | rtpc-*) + cpu=romp + vendor=ibm + ;; + sde) + cpu=mipsisa32 + vendor=sde + basic_os=${basic_os:-elf} + ;; + simso-wrs) + cpu=sparclite + vendor=wrs + basic_os=vxworks + ;; + tower | tower-32) + cpu=m68k + vendor=ncr + ;; + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu + ;; + w65) + cpu=w65 + vendor=wdc + ;; + w89k-*) + cpu=hppa1.1 + vendor=winbond + basic_os=proelf + ;; + none) + cpu=none + vendor=none + ;; + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine + ;; + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` + ;; + + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read cpu vendor <&2 + exit 1 + ;; + esac + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $vendor in + digital*) + vendor=dec + ;; + commodore*) + vendor=cbm + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if test x$basic_os != x +then + +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just +# set os. +case $basic_os in + gnu/linux*) + kernel=linux + os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` + ;; + os2-emx) + kernel=os2 + os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` + ;; + nto-qnx*) + kernel=nto + os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` + ;; + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read kernel os <&2 + exit 1 + ;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ + | linux-musl* | linux-relibc* | linux-uclibc* ) + ;; + uclinux-uclibc* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + # These are just libc implementations, not actual OSes, and thus + # require a kernel. + echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; + nto-qnx*) + ;; + os2-emx) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS is always fine. + ;; + *-*) + echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + exit 1 + ;; +esac + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +case $vendor in + unknown) + case $cpu-$os in + *-riscix*) + vendor=acorn + ;; + *-sunos*) + vendor=sun + ;; + *-cnk* | *-aix*) + vendor=ibm + ;; + *-beos*) + vendor=be + ;; + *-hpux*) + vendor=hp + ;; + *-mpeix*) + vendor=hp + ;; + *-hiux*) + vendor=hitachi + ;; + *-unos*) + vendor=crds + ;; + *-dgux*) + vendor=dg + ;; + *-luna*) + vendor=omron + ;; + *-genix*) + vendor=ns + ;; + *-clix*) + vendor=intergraph + ;; + *-mvs* | *-opened*) + vendor=ibm + ;; + *-os400*) + vendor=ibm + ;; + s390-* | s390x-*) + vendor=ibm + ;; + *-ptx*) + vendor=sequent + ;; + *-tpf*) + vendor=ibm + ;; + *-vxsim* | *-vxworks* | *-windiss*) + vendor=wrs + ;; + *-aux*) + vendor=apple + ;; + *-hms*) + vendor=hitachi + ;; + *-mpw* | *-macos*) + vendor=apple + ;; + *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) + vendor=atari + ;; + *-vos*) + vendor=stratus + ;; + esac + ;; +esac + +echo "$cpu-$vendor-${kernel:+$kernel-}$os" +exit + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/config/depcomp b/lib/beagle-3.0.3/config/depcomp new file mode 100755 index 0000000..715e343 --- /dev/null +++ b/lib/beagle-3.0.3/config/depcomp @@ -0,0 +1,791 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2018-03-07.03; # UTC + +# Copyright (C) 1999-2021 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputting dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +# Get the directory component of the given path, and save it in the +# global variables '$dir'. Note that this directory component will +# be either empty or ending with a '/' character. This is deliberate. +set_dir_from () +{ + case $1 in + */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; + *) dir=;; + esac +} + +# Get the suffix-stripped basename of the given path, and save it the +# global variable '$base'. +set_base_from () +{ + base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` +} + +# If no dependency file was actually created by the compiler invocation, +# we still have to create a dummy depfile, to avoid errors with the +# Makefile "include basename.Plo" scheme. +make_dummy_depfile () +{ + echo "#dummy" > "$depfile" +} + +# Factor out some common post-processing of the generated depfile. +# Requires the auxiliary global variable '$tmpdepfile' to be set. +aix_post_process_depfile () +{ + # If the compiler actually managed to produce a dependency file, + # post-process it. + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependency.h'. + # Do two passes, one to just change these to + # $object: dependency.h + # and one to simply output + # dependency.h: + # which is needed to avoid the deleted-header problem. + { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" + sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" + } > "$depfile" + rm -f "$tmpdepfile" + else + make_dummy_depfile + fi +} + +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' +# Character ranges might be problematic outside the C locale. +# These definitions help. +upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ +lower=abcdefghijklmnopqrstuvwxyz +digits=0123456789 +alpha=${upper}${lower} + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Avoid interferences from the environment. +gccflag= dashmflag= + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +cygpath_u="cygpath -u -f -" +if test "$depmode" = msvcmsys; then + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvisualcpp +fi + +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. + gccflag=-qmakedep=gcc,-MF + depmode=gcc +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. +## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. +## (see the conditional assignment to $gccflag above). +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). Also, it might not be +## supported by the other compilers which use the 'gcc' depmode. +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The second -e expression handles DOS-style file names with drive + # letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the "deleted header file" problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. +## Some versions of gcc put a space before the ':'. On the theory +## that the space means something, we add a space to the output as +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like '#:fec' to the end of the + # dependency line. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ + | tr "$nl" ' ' >> "$depfile" + echo >> "$depfile" + # The second pass generates a dummy entry for each header file. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" + ;; + +xlc) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts '$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + set_dir_from "$object" + set_base_from "$object" + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u + "$@" -Wc,-M + else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u + "$@" -M + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + aix_post_process_depfile + ;; + +tcc) + # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 + # FIXME: That version still under development at the moment of writing. + # Make that this statement remains true also for stable, released + # versions. + # It will wrap lines (doesn't matter whether long or short) with a + # trailing '\', as in: + # + # foo.o : \ + # foo.c \ + # foo.h \ + # + # It will put a trailing '\' even on the last line, and will use leading + # spaces rather than leading tabs (at least since its commit 0394caf7 + # "Emit spaces for -MD"). + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. + # We have to change lines of the first kind to '$object: \'. + sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" + # And for each line of the second kind, we have to emit a 'dep.h:' + # dummy dependency, to avoid the deleted-header problem. + sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" + rm -f "$tmpdepfile" + ;; + +## The order of this option in the case statement is important, since the +## shell code in configure will try each of these formats in the order +## listed in this file. A plain '-MD' option would be understood by many +## compilers, so we must ensure this comes after the gcc and icc options. +pgcc) + # Portland's C compiler understands '-MD'. + # Will always output deps to 'file.d' where file is the root name of the + # source file under compilation, even if file resides in a subdirectory. + # The object file name does not affect the name of the '.d' file. + # pgcc 10.2 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using '\' : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + set_dir_from "$object" + # Use the source, not the object, to determine the base name, since + # that's sadly what pgcc will do too. + set_base_from "$source" + tmpdepfile=$base.d + + # For projects that build the same source file twice into different object + # files, the pgcc approach of using the *source* file root name can cause + # problems in parallel builds. Use a locking strategy to avoid stomping on + # the same $tmpdepfile. + lockdir=$base.d-lock + trap " + echo '$0: caught signal, cleaning up...' >&2 + rmdir '$lockdir' + exit 1 + " 1 2 13 15 + numtries=100 + i=$numtries + while test $i -gt 0; do + # mkdir is a portable test-and-set. + if mkdir "$lockdir" 2>/dev/null; then + # This process acquired the lock. + "$@" -MD + stat=$? + # Release the lock. + rmdir "$lockdir" + break + else + # If the lock is being held by a different process, wait + # until the winning process is done or we timeout. + while test -d "$lockdir" && test $i -gt 0; do + sleep 1 + i=`expr $i - 1` + done + fi + i=`expr $i - 1` + done + trap - 1 2 13 15 + if test $i -le 0; then + echo "$0: failed to acquire lock after $numtries attempts" >&2 + echo "$0: check lockdir '$lockdir'" >&2 + exit 1 + fi + + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + set_dir_from "$object" + set_base_from "$object" + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" + # Add 'dependent.h:' lines. + sed -ne '2,${ + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in 'foo.d' instead, so we check for that too. + # Subdirectories are respected. + set_dir_from "$object" + set_base_from "$object" + + if test "$libtool" = yes; then + # Libtool generates 2 separate objects for the 2 libraries. These + # two compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir$base.o.d # libtool 1.5 + tmpdepfile2=$dir.libs/$base.o.d # Likewise. + tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + # Same post-processing that is required for AIX mode. + aix_post_process_depfile + ;; + +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/'"$tab"'\1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/'"$tab"'/ + G + p +}' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for ':' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. + "$@" $dashmflag | + sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this sed invocation + # correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no eat=no + for arg + do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + if test $eat = yes; then + eat=no + continue + fi + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -arch) + eat=yes ;; + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix=`echo "$object" | sed 's/^.*\././'` + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process the last invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed '1,2d' "$tmpdepfile" \ + | tr ' ' "$nl" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E \ + | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + | sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + IFS=" " + for arg + do + case "$arg" in + -o) + shift + ;; + $object) + shift + ;; + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E 2>/dev/null | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvcmsys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/lib/beagle-3.0.3/config/install-sh b/lib/beagle-3.0.3/config/install-sh new file mode 100755 index 0000000..ec298b5 --- /dev/null +++ b/lib/beagle-3.0.3/config/install-sh @@ -0,0 +1,541 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2020-11-14.01; # UTC + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# 'make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. + +tab=' ' +nl=' +' +IFS=" $tab$nl" + +# Set DOITPROG to "echo" to test this script. + +doit=${DOITPROG-} +doit_exec=${doit:-exec} + +# Put in absolute file names if you don't have them in your path; +# or use environment vars. + +chgrpprog=${CHGRPPROG-chgrp} +chmodprog=${CHMODPROG-chmod} +chownprog=${CHOWNPROG-chown} +cmpprog=${CMPPROG-cmp} +cpprog=${CPPROG-cp} +mkdirprog=${MKDIRPROG-mkdir} +mvprog=${MVPROG-mv} +rmprog=${RMPROG-rm} +stripprog=${STRIPPROG-strip} + +posix_mkdir= + +# Desired mode of installed file. +mode=0755 + +# Create dirs (including intermediate dirs) using mode 755. +# This is like GNU 'install' as of coreutils 8.32 (2020). +mkdir_umask=22 + +backupsuffix= +chgrpcmd= +chmodcmd=$chmodprog +chowncmd= +mvcmd=$mvprog +rmcmd="$rmprog -f" +stripcmd= + +src= +dst= +dir_arg= +dst_arg= + +copy_on_change=false +is_target_a_directory=possibly + +usage="\ +Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: + --help display this help and exit. + --version display version info and exit. + + -c (ignored) + -C install only if different (preserve data modification time) + -d create directories instead of installing files. + -g GROUP $chgrpprog installed files to GROUP. + -m MODE $chmodprog installed files to MODE. + -o USER $chownprog installed files to USER. + -p pass -p to $cpprog. + -s $stripprog installed files. + -S SUFFIX attempt to back up existing files, with suffix SUFFIX. + -t DIRECTORY install into DIRECTORY. + -T report an error if DSTFILE is a directory. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG + RMPROG STRIPPROG + +By default, rm is invoked with -f; when overridden with RMPROG, +it's up to you to specify -f if you want it. + +If -S is not specified, no backups are attempted. + +Email bug reports to bug-automake@gnu.org. +Automake home page: https://www.gnu.org/software/automake/ +" + +while test $# -ne 0; do + case $1 in + -c) ;; + + -C) copy_on_change=true;; + + -d) dir_arg=true;; + + -g) chgrpcmd="$chgrpprog $2" + shift;; + + --help) echo "$usage"; exit $?;; + + -m) mode=$2 + case $mode in + *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; + + -o) chowncmd="$chownprog $2" + shift;; + + -p) cpprog="$cpprog -p";; + + -s) stripcmd=$stripprog;; + + -S) backupsuffix="$2" + shift;; + + -t) + is_target_a_directory=always + dst_arg=$2 + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + shift;; + + -T) is_target_a_directory=never;; + + --version) echo "$0 $scriptversion"; exit $?;; + + --) shift + break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; + esac + shift +done + +# We allow the use of options -d and -T together, by making -d +# take the precedence; this is for compatibility with GNU install. + +if test -n "$dir_arg"; then + if test -n "$dst_arg"; then + echo "$0: target directory not allowed when installing a directory." >&2 + exit 1 + fi +fi + +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dst_arg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dst_arg" + shift # fnord + fi + shift # arg + dst_arg=$arg + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + done +fi + +if test $# -eq 0; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call 'install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +if test -z "$dir_arg"; then + if test $# -gt 1 || test "$is_target_a_directory" = always; then + if test ! -d "$dst_arg"; then + echo "$0: $dst_arg: Is not a directory." >&2 + exit 1 + fi + fi +fi + +if test -z "$dir_arg"; then + do_exit='(exit $ret); exit $ret' + trap "ret=129; $do_exit" 1 + trap "ret=130; $do_exit" 2 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 + + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi + +for src +do + # Protect names problematic for 'test' and other utilities. + case $src in + -* | [=\(\)!]) src=./$src;; + esac + + if test -n "$dir_arg"; then + dst=$src + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? + # Don't chown directories that already exist. + if test $dstdir_status = 0; then + chowncmd="" + fi + else + + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dst_arg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + dst=$dst_arg + + # If destination is a directory, append the input filename. + if test -d "$dst"; then + if test "$is_target_a_directory" = never; then + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 + fi + dstdir=$dst + dstbase=`basename "$src"` + case $dst in + */) dst=$dst$dstbase;; + *) dst=$dst/$dstbase;; + esac + dstdir_status=0 + else + dstdir=`dirname "$dst"` + test -d "$dstdir" + dstdir_status=$? + fi + fi + + case $dstdir in + */) dstdirslash=$dstdir;; + *) dstdirslash=$dstdir/;; + esac + + obsolete_mkdir_used=false + + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + # The $RANDOM variable is not portable (e.g., dash). Use it + # here however when possible just to lower collision chance. + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + + trap ' + ret=$? + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null + exit $ret + ' 0 + + # Because "mkdir -p" follows existing symlinks and we likely work + # directly in world-writeable /tmp, make sure that the '$tmpdir' + # directory is successfully created first before we actually test + # 'mkdir -p'. + if (umask $mkdir_umask && + $mkdirprog $mkdir_mode "$tmpdir" && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + test_tmpdir="$tmpdir/a" + ls_ld_tmpdir=`ls -ld "$test_tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; + esac + + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; + esac + + oIFS=$IFS + IFS=/ + set -f + set fnord $dstdir + shift + set +f + IFS=$oIFS + + prefixes= + + for d + do + test X"$d" = X && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ + done + + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true + fi + fi + fi + + if test -n "$dir_arg"; then + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 + else + + # Make a couple of temp file names in the proper directory. + dsttmp=${dstdirslash}_inst.$$_ + rmtmp=${dstdirslash}_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + + # Copy the file name to the temp name. + (umask $cp_umask && + { test -z "$stripcmd" || { + # Create $dsttmp read-write so that cp doesn't create it read-only, + # which would cause strip to fail. + if test -z "$doit"; then + : >"$dsttmp" # No need to fork-exec 'touch'. + else + $doit touch "$dsttmp" + fi + } + } && + $doit_exec $cpprog "$src" "$dsttmp") && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && + { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && + { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && + + # If -C, don't bother to copy if it wouldn't change the file. + if $copy_on_change && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + set -f && + set X $old && old=:$2:$4:$5:$6 && + set X $new && new=:$2:$4:$5:$6 && + set +f && + test "$old" = "$new" && + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 + then + rm -f "$dsttmp" + else + # If $backupsuffix is set, and the file being installed + # already exists, attempt a backup. Don't worry if it fails, + # e.g., if mv doesn't support -f. + if test -n "$backupsuffix" && test -f "$dst"; then + $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null + fi + + # Rename the file to the real destination. + $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || + + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + { + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + fi || exit 1 + + trap '' 0 + fi +done + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/lib/beagle-3.0.3/config/ltmain.sh b/lib/beagle-3.0.3/config/ltmain.sh new file mode 100755 index 0000000..9b12fbb --- /dev/null +++ b/lib/beagle-3.0.3/config/ltmain.sh @@ -0,0 +1,11448 @@ +#! /usr/bin/env sh +## DO NOT EDIT - This file generated from ./build-aux/ltmain.in +## by inline-source v2019-02-19.15 + +# libtool (GNU libtool) 2.4.7 +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit , 1996 + +# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +PROGRAM=libtool +PACKAGE=libtool +VERSION="2.4.7 Debian-2.4.7-5" +package_revision=2.4.7 + + +## ------ ## +## Usage. ## +## ------ ## + +# Run './libtool --help' for help with using this script from the +# command line. + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# After configure completes, it has a better idea of some of the +# shell tools we need than the defaults used by the functions shared +# with bootstrap, so set those here where they can still be over- +# ridden by the user, but otherwise take precedence. + +: ${AUTOCONF="autoconf"} +: ${AUTOMAKE="automake"} + + +## -------------------------- ## +## Source external libraries. ## +## -------------------------- ## + +# Much of our low-level functionality needs to be sourced from external +# libraries, which are installed to $pkgauxdir. + +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC + +# General shell script boiler plate, and helper functions. +# Written by Gary V. Vaughan, 2004 + +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2004-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# + + +## ------ ## +## Usage. ## +## ------ ## + +# Evaluate this file near the top of your script to gain access to +# the functions and variables defined here: +# +# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh +# +# If you need to override any of the default environment variable +# settings, do that before evaluating this file. + + +## -------------------- ## +## Shell normalisation. ## +## -------------------- ## + +# Some shells need a little help to be as Bourne compatible as possible. +# Before doing anything else, make sure all that help has been provided! + +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac +fi + +# NLS nuisances: We save the old values in case they are required later. +_G_user_locale= +_G_safe_locale= +for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES +do + eval "if test set = \"\${$_G_var+set}\"; then + save_$_G_var=\$$_G_var + $_G_var=C + export $_G_var + _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" + _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" + fi" +done +# These NLS vars are set unconditionally (bootstrap issue #24). Unset those +# in case the environment reset is needed later and the $save_* variant is not +# defined (see the code above). +LC_ALL=C +LANGUAGE=C +export LANGUAGE LC_ALL + +# Make sure IFS has a sensible default +sp=' ' +nl=' +' +IFS="$sp $nl" + +# There are apparently some retarded systems that use ';' as a PATH separator! +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# func_unset VAR +# -------------- +# Portably unset VAR. +# In some shells, an 'unset VAR' statement leaves a non-zero return +# status if VAR is already unset, which might be problematic if the +# statement is used at the end of a function (thus poisoning its return +# value) or when 'set -e' is active (causing even a spurious abort of +# the script in this case). +func_unset () +{ + { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } +} + + +# Make sure CDPATH doesn't cause `cd` commands to output the target dir. +func_unset CDPATH + +# Make sure ${,E,F}GREP behave sanely. +func_unset GREP_OPTIONS + + +## ------------------------- ## +## Locate command utilities. ## +## ------------------------- ## + + +# func_executable_p FILE +# ---------------------- +# Check that FILE is an executable regular file. +func_executable_p () +{ + test -f "$1" && test -x "$1" +} + + +# func_path_progs PROGS_LIST CHECK_FUNC [PATH] +# -------------------------------------------- +# Search for either a program that responds to --version with output +# containing "GNU", or else returned by CHECK_FUNC otherwise, by +# trying all the directories in PATH with each of the elements of +# PROGS_LIST. +# +# CHECK_FUNC should accept the path to a candidate program, and +# set $func_check_prog_result if it truncates its output less than +# $_G_path_prog_max characters. +func_path_progs () +{ + _G_progs_list=$1 + _G_check_func=$2 + _G_PATH=${3-"$PATH"} + + _G_path_prog_max=0 + _G_path_prog_found=false + _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} + for _G_dir in $_G_PATH; do + IFS=$_G_save_IFS + test -z "$_G_dir" && _G_dir=. + for _G_prog_name in $_G_progs_list; do + for _exeext in '' .EXE; do + _G_path_prog=$_G_dir/$_G_prog_name$_exeext + func_executable_p "$_G_path_prog" || continue + case `"$_G_path_prog" --version 2>&1` in + *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; + *) $_G_check_func $_G_path_prog + func_path_progs_result=$func_check_prog_result + ;; + esac + $_G_path_prog_found && break 3 + done + done + done + IFS=$_G_save_IFS + test -z "$func_path_progs_result" && { + echo "no acceptable sed could be found in \$PATH" >&2 + exit 1 + } +} + + +# We want to be able to use the functions in this file before configure +# has figured out where the best binaries are kept, which means we have +# to search for them ourselves - except when the results are already set +# where we skip the searches. + +# Unless the user overrides by setting SED, search the path for either GNU +# sed, or the sed that truncates its output the least. +test -z "$SED" && { + _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for _G_i in 1 2 3 4 5 6 7; do + _G_sed_script=$_G_sed_script$nl$_G_sed_script + done + echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed + _G_sed_script= + + func_check_prog_sed () + { + _G_path_prog=$1 + + _G_count=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo '' >> conftest.nl + "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" + rm -f conftest.sed + SED=$func_path_progs_result +} + + +# Unless the user overrides by setting GREP, search the path for either GNU +# grep, or the grep that truncates its output the least. +test -z "$GREP" && { + func_check_prog_grep () + { + _G_path_prog=$1 + + _G_count=0 + _G_path_prog_max=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo 'GREP' >> conftest.nl + "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" + GREP=$func_path_progs_result +} + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# All uppercase variable names are used for environment variables. These +# variables can be overridden by the user before calling a script that +# uses them if a suitable command of that name is not already available +# in the command search PATH. + +: ${CP="cp -f"} +: ${ECHO="printf %s\n"} +: ${EGREP="$GREP -E"} +: ${FGREP="$GREP -F"} +: ${LN_S="ln -s"} +: ${MAKE="make"} +: ${MKDIR="mkdir"} +: ${MV="mv -f"} +: ${RM="rm -f"} +: ${SHELL="${CONFIG_SHELL-/bin/sh}"} + + +## -------------------- ## +## Useful sed snippets. ## +## -------------------- ## + +sed_dirname='s|/[^/]*$||' +sed_basename='s|^.*/||' + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s|\([`"$\\]\)|\\\1|g' + +# Same as above, but do not quote variable references. +sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution that turns a string into a regex matching for the +# string literally. +sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' + +# Sed substitution that converts a w32 file name or path +# that contains forward slashes, into one that contains +# (escaped) backslashes. A very naive implementation. +sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + +# Re-'\' parameter expansions in output of sed_double_quote_subst that +# were '\'-ed in input to the same. If an odd number of '\' preceded a +# '$' in input to sed_double_quote_subst, that '$' was protected from +# expansion. Since each input '\' is now two '\'s, look for any number +# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. +_G_bs='\\' +_G_bs2='\\\\' +_G_bs4='\\\\\\\\' +_G_dollar='\$' +sed_double_backslash="\ + s/$_G_bs4/&\\ +/g + s/^$_G_bs2$_G_dollar/$_G_bs&/ + s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g + s/\n//g" + +# require_check_ifs_backslash +# --------------------------- +# Check if we can use backslash as IFS='\' separator, and set +# $check_ifs_backshlash_broken to ':' or 'false'. +require_check_ifs_backslash=func_require_check_ifs_backslash +func_require_check_ifs_backslash () +{ + _G_save_IFS=$IFS + IFS='\' + _G_check_ifs_backshlash='a\\b' + for _G_i in $_G_check_ifs_backshlash + do + case $_G_i in + a) + check_ifs_backshlash_broken=false + ;; + '') + break + ;; + *) + check_ifs_backshlash_broken=: + break + ;; + esac + done + IFS=$_G_save_IFS + require_check_ifs_backslash=: +} + + +## ----------------- ## +## Global variables. ## +## ----------------- ## + +# Except for the global variables explicitly listed below, the following +# functions in the '^func_' namespace, and the '^require_' namespace +# variables initialised in the 'Resource management' section, sourcing +# this file will not pollute your global namespace with anything +# else. There's no portable way to scope variables in Bourne shell +# though, so actually running these functions will sometimes place +# results into a variable named after the function, and often use +# temporary variables in the '^_G_' namespace. If you are careful to +# avoid using those namespaces casually in your sourcing script, things +# should continue to work as you expect. And, of course, you can freely +# overwrite any of the functions or variables defined here before +# calling anything to customize them. + +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. +EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. + +# Allow overriding, eg assuming that you follow the convention of +# putting '$debug_cmd' at the start of all your functions, you can get +# bash to show function call trace with: +# +# debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name +debug_cmd=${debug_cmd-":"} +exit_cmd=: + +# By convention, finish your script with: +# +# exit $exit_status +# +# so that you can set exit_status to non-zero if you want to indicate +# something went wrong during execution without actually bailing out at +# the point of failure. +exit_status=$EXIT_SUCCESS + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath=$0 + +# The name of this program. +progname=`$ECHO "$progpath" |$SED "$sed_basename"` + +# Make sure we have an absolute progpath for reexecution: +case $progpath in + [\\/]*|[A-Za-z]:\\*) ;; + *[\\/]*) + progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` + progdir=`cd "$progdir" && pwd` + progpath=$progdir/$progname + ;; + *) + _G_IFS=$IFS + IFS=${PATH_SEPARATOR-:} + for progdir in $PATH; do + IFS=$_G_IFS + test -x "$progdir/$progname" && break + done + IFS=$_G_IFS + test -n "$progdir" || progdir=`pwd` + progpath=$progdir/$progname + ;; +esac + + +## ----------------- ## +## Standard options. ## +## ----------------- ## + +# The following options affect the operation of the functions defined +# below, and should be set appropriately depending on run-time para- +# meters passed on the command line. + +opt_dry_run=false +opt_quiet=false +opt_verbose=false + +# Categories 'all' and 'none' are always available. Append any others +# you will pass as the first argument to func_warning from your own +# code. +warning_categories= + +# By default, display warnings according to 'opt_warning_types'. Set +# 'warning_func' to ':' to elide all warnings, or func_fatal_error to +# treat the next displayed warning as a fatal error. +warning_func=func_warn_and_continue + +# Set to 'all' to display all warnings, 'none' to suppress all +# warnings, or a space delimited list of some subset of +# 'warning_categories' to display only the listed warnings. +opt_warning_types=all + + +## -------------------- ## +## Resource management. ## +## -------------------- ## + +# This section contains definitions for functions that each ensure a +# particular resource (a file, or a non-empty configuration variable for +# example) is available, and if appropriate to extract default values +# from pertinent package files. Call them using their associated +# 'require_*' variable to ensure that they are executed, at most, once. +# +# It's entirely deliberate that calling these functions can set +# variables that don't obey the namespace limitations obeyed by the rest +# of this file, in order that that they be as useful as possible to +# callers. + + +# require_term_colors +# ------------------- +# Allow display of bold text on terminals that support it. +require_term_colors=func_require_term_colors +func_require_term_colors () +{ + $debug_cmd + + test -t 1 && { + # COLORTERM and USE_ANSI_COLORS environment variables take + # precedence, because most terminfo databases neglect to describe + # whether color sequences are supported. + test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} + + if test 1 = "$USE_ANSI_COLORS"; then + # Standard ANSI escape sequences + tc_reset='' + tc_bold=''; tc_standout='' + tc_red=''; tc_green='' + tc_blue=''; tc_cyan='' + else + # Otherwise trust the terminfo database after all. + test -n "`tput sgr0 2>/dev/null`" && { + tc_reset=`tput sgr0` + test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` + tc_standout=$tc_bold + test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` + test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` + test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` + test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` + test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` + } + fi + } + + require_term_colors=: +} + + +## ----------------- ## +## Function library. ## +## ----------------- ## + +# This section contains a variety of useful functions to call in your +# scripts. Take note of the portable wrappers for features provided by +# some modern shells, which will fall back to slower equivalents on +# less featureful shells. + + +# func_append VAR VALUE +# --------------------- +# Append VALUE onto the existing contents of VAR. + + # We should try to minimise forks, especially on Windows where they are + # unreasonably slow, so skip the feature probes when bash or zsh are + # being used: + if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then + : ${_G_HAVE_ARITH_OP="yes"} + : ${_G_HAVE_XSI_OPS="yes"} + # The += operator was introduced in bash 3.1 + case $BASH_VERSION in + [12].* | 3.0 | 3.0*) ;; + *) + : ${_G_HAVE_PLUSEQ_OP="yes"} + ;; + esac + fi + + # _G_HAVE_PLUSEQ_OP + # Can be empty, in which case the shell is probed, "yes" if += is + # useable or anything else if it does not work. + test -z "$_G_HAVE_PLUSEQ_OP" \ + && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ + && _G_HAVE_PLUSEQ_OP=yes + +if test yes = "$_G_HAVE_PLUSEQ_OP" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_append () + { + $debug_cmd + + eval "$1+=\$2" + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_append () + { + $debug_cmd + + eval "$1=\$$1\$2" + } +fi + + +# func_append_quoted VAR VALUE +# ---------------------------- +# Quote VALUE and append to the end of shell variable VAR, separated +# by a space. +if test yes = "$_G_HAVE_PLUSEQ_OP"; then + eval 'func_append_quoted () + { + $debug_cmd + + func_quote_arg pretty "$2" + eval "$1+=\\ \$func_quote_arg_result" + }' +else + func_append_quoted () + { + $debug_cmd + + func_quote_arg pretty "$2" + eval "$1=\$$1\\ \$func_quote_arg_result" + } +fi + + +# func_append_uniq VAR VALUE +# -------------------------- +# Append unique VALUE onto the existing contents of VAR, assuming +# entries are delimited by the first character of VALUE. For example: +# +# func_append_uniq options " --another-option option-argument" +# +# will only append to $options if " --another-option option-argument " +# is not already present somewhere in $options already (note spaces at +# each end implied by leading space in second argument). +func_append_uniq () +{ + $debug_cmd + + eval _G_current_value='`$ECHO $'$1'`' + _G_delim=`expr "$2" : '\(.\)'` + + case $_G_delim$_G_current_value$_G_delim in + *"$2$_G_delim"*) ;; + *) func_append "$@" ;; + esac +} + + +# func_arith TERM... +# ------------------ +# Set func_arith_result to the result of evaluating TERMs. + test -z "$_G_HAVE_ARITH_OP" \ + && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ + && _G_HAVE_ARITH_OP=yes + +if test yes = "$_G_HAVE_ARITH_OP"; then + eval 'func_arith () + { + $debug_cmd + + func_arith_result=$(( $* )) + }' +else + func_arith () + { + $debug_cmd + + func_arith_result=`expr "$@"` + } +fi + + +# func_basename FILE +# ------------------ +# Set func_basename_result to FILE with everything up to and including +# the last / stripped. +if test yes = "$_G_HAVE_XSI_OPS"; then + # If this shell supports suffix pattern removal, then use it to avoid + # forking. Hide the definitions single quotes in case the shell chokes + # on unsupported syntax... + _b='func_basename_result=${1##*/}' + _d='case $1 in + */*) func_dirname_result=${1%/*}$2 ;; + * ) func_dirname_result=$3 ;; + esac' + +else + # ...otherwise fall back to using sed. + _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' + _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` + if test "X$func_dirname_result" = "X$1"; then + func_dirname_result=$3 + else + func_append func_dirname_result "$2" + fi' +fi + +eval 'func_basename () +{ + $debug_cmd + + '"$_b"' +}' + + +# func_dirname FILE APPEND NONDIR_REPLACEMENT +# ------------------------------------------- +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +eval 'func_dirname () +{ + $debug_cmd + + '"$_d"' +}' + + +# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT +# -------------------------------------------------------- +# Perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# For efficiency, we do not delegate to the functions above but instead +# duplicate the functionality here. +eval 'func_dirname_and_basename () +{ + $debug_cmd + + '"$_b"' + '"$_d"' +}' + + +# func_echo ARG... +# ---------------- +# Echo program name prefixed message. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_echo_all ARG... +# -------------------- +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + + +# func_echo_infix_1 INFIX ARG... +# ------------------------------ +# Echo program name, followed by INFIX on the first line, with any +# additional lines not showing INFIX. +func_echo_infix_1 () +{ + $debug_cmd + + $require_term_colors + + _G_infix=$1; shift + _G_indent=$_G_infix + _G_prefix="$progname: $_G_infix: " + _G_message=$* + + # Strip color escape sequences before counting printable length + for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" + do + test -n "$_G_tc" && { + _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` + _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` + } + done + _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes + + func_echo_infix_1_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_infix_1_IFS + $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 + _G_prefix=$_G_indent + done + IFS=$func_echo_infix_1_IFS +} + + +# func_error ARG... +# ----------------- +# Echo program name prefixed message to standard error. +func_error () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 +} + + +# func_fatal_error ARG... +# ----------------------- +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + $debug_cmd + + func_error "$*" + exit $EXIT_FAILURE +} + + +# func_grep EXPRESSION FILENAME +# ----------------------------- +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $debug_cmd + + $GREP "$1" "$2" >/dev/null 2>&1 +} + + +# func_len STRING +# --------------- +# Set func_len_result to the length of STRING. STRING may not +# start with a hyphen. + test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_len () + { + $debug_cmd + + func_len_result=${#1} + }' +else + func_len () + { + $debug_cmd + + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` + } +fi + + +# func_mkdir_p DIRECTORY-PATH +# --------------------------- +# Make sure the entire path to DIRECTORY-PATH is available. +func_mkdir_p () +{ + $debug_cmd + + _G_directory_path=$1 + _G_dir_list= + + if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then + + # Protect directory names starting with '-' + case $_G_directory_path in + -*) _G_directory_path=./$_G_directory_path ;; + esac + + # While some portion of DIR does not yet exist... + while test ! -d "$_G_directory_path"; do + # ...make a list in topmost first order. Use a colon delimited + # list incase some portion of path contains whitespace. + _G_dir_list=$_G_directory_path:$_G_dir_list + + # If the last portion added has no slash in it, the list is done + case $_G_directory_path in */*) ;; *) break ;; esac + + # ...otherwise throw away the child directory and loop + _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` + done + _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` + + func_mkdir_p_IFS=$IFS; IFS=: + for _G_dir in $_G_dir_list; do + IFS=$func_mkdir_p_IFS + # mkdir can fail with a 'File exist' error if two processes + # try to create one of the directories concurrently. Don't + # stop in that case! + $MKDIR "$_G_dir" 2>/dev/null || : + done + IFS=$func_mkdir_p_IFS + + # Bail out if we (or some other process) failed to create a directory. + test -d "$_G_directory_path" || \ + func_fatal_error "Failed to create '$1'" + fi +} + + +# func_mktempdir [BASENAME] +# ------------------------- +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, BASENAME is the basename for that directory. +func_mktempdir () +{ + $debug_cmd + + _G_template=${TMPDIR-/tmp}/${1-$progname} + + if test : = "$opt_dry_run"; then + # Return a directory name, but don't create it in dry-run mode + _G_tmpdir=$_G_template-$$ + else + + # If mktemp works, use that first and foremost + _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` + + if test ! -d "$_G_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + _G_tmpdir=$_G_template-${RANDOM-0}$$ + + func_mktempdir_umask=`umask` + umask 0077 + $MKDIR "$_G_tmpdir" + umask $func_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$_G_tmpdir" || \ + func_fatal_error "cannot create temporary directory '$_G_tmpdir'" + fi + + $ECHO "$_G_tmpdir" +} + + +# func_normal_abspath PATH +# ------------------------ +# Remove doubled-up and trailing slashes, "." path components, +# and cancel out any ".." path components in PATH after making +# it an absolute path. +func_normal_abspath () +{ + $debug_cmd + + # These SED scripts presuppose an absolute path with a trailing slash. + _G_pathcar='s|^/\([^/]*\).*$|\1|' + _G_pathcdr='s|^/[^/]*||' + _G_removedotparts=':dotsl + s|/\./|/|g + t dotsl + s|/\.$|/|' + _G_collapseslashes='s|/\{1,\}|/|g' + _G_finalslash='s|/*$|/|' + + # Start from root dir and reassemble the path. + func_normal_abspath_result= + func_normal_abspath_tpath=$1 + func_normal_abspath_altnamespace= + case $func_normal_abspath_tpath in + "") + # Empty path, that just means $cwd. + func_stripname '' '/' "`pwd`" + func_normal_abspath_result=$func_stripname_result + return + ;; + # The next three entries are used to spot a run of precisely + # two leading slashes without using negated character classes; + # we take advantage of case's first-match behaviour. + ///*) + # Unusual form of absolute path, do nothing. + ;; + //*) + # Not necessarily an ordinary path; POSIX reserves leading '//' + # and for example Cygwin uses it to access remote file shares + # over CIFS/SMB, so we conserve a leading double slash if found. + func_normal_abspath_altnamespace=/ + ;; + /*) + # Absolute path, do nothing. + ;; + *) + # Relative path, prepend $cwd. + func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath + ;; + esac + + # Cancel out all the simple stuff to save iterations. We also want + # the path to end with a slash for ease of parsing, so make sure + # there is one (and only one) here. + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` + while :; do + # Processed it all yet? + if test / = "$func_normal_abspath_tpath"; then + # If we ascended to the root using ".." the result may be empty now. + if test -z "$func_normal_abspath_result"; then + func_normal_abspath_result=/ + fi + break + fi + func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcar"` + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcdr"` + # Figure out what to do with it + case $func_normal_abspath_tcomponent in + "") + # Trailing empty path component, ignore it. + ;; + ..) + # Parent dir; strip last assembled component from result. + func_dirname "$func_normal_abspath_result" + func_normal_abspath_result=$func_dirname_result + ;; + *) + # Actual path component, append it. + func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" + ;; + esac + done + # Restore leading double-slash if one was found on entry. + func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result +} + + +# func_notquiet ARG... +# -------------------- +# Echo program name prefixed message only when not in quiet mode. +func_notquiet () +{ + $debug_cmd + + $opt_quiet || func_echo ${1+"$@"} + + # A bug in bash halts the script if the last line of a function + # fails when set -e is in force, so we need another command to + # work around that: + : +} + + +# func_relative_path SRCDIR DSTDIR +# -------------------------------- +# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. +func_relative_path () +{ + $debug_cmd + + func_relative_path_result= + func_normal_abspath "$1" + func_relative_path_tlibdir=$func_normal_abspath_result + func_normal_abspath "$2" + func_relative_path_tbindir=$func_normal_abspath_result + + # Ascend the tree starting from libdir + while :; do + # check if we have found a prefix of bindir + case $func_relative_path_tbindir in + $func_relative_path_tlibdir) + # found an exact match + func_relative_path_tcancelled= + break + ;; + $func_relative_path_tlibdir*) + # found a matching prefix + func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" + func_relative_path_tcancelled=$func_stripname_result + if test -z "$func_relative_path_result"; then + func_relative_path_result=. + fi + break + ;; + *) + func_dirname $func_relative_path_tlibdir + func_relative_path_tlibdir=$func_dirname_result + if test -z "$func_relative_path_tlibdir"; then + # Have to descend all the way to the root! + func_relative_path_result=../$func_relative_path_result + func_relative_path_tcancelled=$func_relative_path_tbindir + break + fi + func_relative_path_result=../$func_relative_path_result + ;; + esac + done + + # Now calculate path; take care to avoid doubling-up slashes. + func_stripname '' '/' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + func_stripname '/' '/' "$func_relative_path_tcancelled" + if test -n "$func_stripname_result"; then + func_append func_relative_path_result "/$func_stripname_result" + fi + + # Normalisation. If bindir is libdir, return '.' else relative path. + if test -n "$func_relative_path_result"; then + func_stripname './' '' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + fi + + test -n "$func_relative_path_result" || func_relative_path_result=. + + : +} + + +# func_quote_portable EVAL ARG +# ---------------------------- +# Internal function to portably implement func_quote_arg. Note that we still +# keep attention to performance here so we as much as possible try to avoid +# calling sed binary (so far O(N) complexity as long as func_append is O(1)). +func_quote_portable () +{ + $debug_cmd + + $require_check_ifs_backslash + + func_quote_portable_result=$2 + + # one-time-loop (easy break) + while true + do + if $1; then + func_quote_portable_result=`$ECHO "$2" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` + break + fi + + # Quote for eval. + case $func_quote_portable_result in + *[\\\`\"\$]*) + # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string + # contains the shell wildcard characters. + case $check_ifs_backshlash_broken$func_quote_portable_result in + :*|*[\[\*\?]*) + func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ + | $SED "$sed_quote_subst"` + break + ;; + esac + + func_quote_portable_old_IFS=$IFS + for _G_char in '\' '`' '"' '$' + do + # STATE($1) PREV($2) SEPARATOR($3) + set start "" "" + func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy + IFS=$_G_char + for _G_part in $func_quote_portable_result + do + case $1 in + quote) + func_append func_quote_portable_result "$3$2" + set quote "$_G_part" "\\$_G_char" + ;; + start) + set first "" "" + func_quote_portable_result= + ;; + first) + set quote "$_G_part" "" + ;; + esac + done + done + IFS=$func_quote_portable_old_IFS + ;; + *) ;; + esac + break + done + + func_quote_portable_unquoted_result=$func_quote_portable_result + case $func_quote_portable_result in + # double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # many bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_portable_result=\"$func_quote_portable_result\" + ;; + esac +} + + +# func_quotefast_eval ARG +# ----------------------- +# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', +# but optimized for speed. Result is stored in $func_quotefast_eval. +if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then + printf -v _GL_test_printf_tilde %q '~' + if test '\~' = "$_GL_test_printf_tilde"; then + func_quotefast_eval () + { + printf -v func_quotefast_eval_result %q "$1" + } + else + # Broken older Bash implementations. Make those faster too if possible. + func_quotefast_eval () + { + case $1 in + '~'*) + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + ;; + *) + printf -v func_quotefast_eval_result %q "$1" + ;; + esac + } + fi +else + func_quotefast_eval () + { + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + } +fi + + +# func_quote_arg MODEs ARG +# ------------------------ +# Quote one ARG to be evaled later. MODEs argument may contain zero or more +# specifiers listed below separated by ',' character. This function returns two +# values: +# i) func_quote_arg_result +# double-quoted (when needed), suitable for a subsequent eval +# ii) func_quote_arg_unquoted_result +# has all characters that are still active within double +# quotes backslashified. Available only if 'unquoted' is specified. +# +# Available modes: +# ---------------- +# 'eval' (default) +# - escape shell special characters +# 'expand' +# - the same as 'eval'; but do not quote variable references +# 'pretty' +# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might +# be used later in func_quote to get output like: 'echo "a b"' instead +# of 'echo a\ b'. This is slower than default on some shells. +# 'unquoted' +# - produce also $func_quote_arg_unquoted_result which does not contain +# wrapping double-quotes. +# +# Examples for 'func_quote_arg pretty,unquoted string': +# +# string | *_result | *_unquoted_result +# ------------+-----------------------+------------------- +# " | \" | \" +# a b | "a b" | a b +# "a b" | "\"a b\"" | \"a b\" +# * | "*" | * +# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" +# +# Examples for 'func_quote_arg pretty,unquoted,expand string': +# +# string | *_result | *_unquoted_result +# --------------+---------------------+-------------------- +# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" +func_quote_arg () +{ + _G_quote_expand=false + case ,$1, in + *,expand,*) + _G_quote_expand=: + ;; + esac + + case ,$1, in + *,pretty,*|*,expand,*|*,unquoted,*) + func_quote_portable $_G_quote_expand "$2" + func_quote_arg_result=$func_quote_portable_result + func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result + ;; + *) + # Faster quote-for-eval for some shells. + func_quotefast_eval "$2" + func_quote_arg_result=$func_quotefast_eval_result + ;; + esac +} + + +# func_quote MODEs ARGs... +# ------------------------ +# Quote all ARGs to be evaled later and join them into single command. See +# func_quote_arg's description for more info. +func_quote () +{ + $debug_cmd + _G_func_quote_mode=$1 ; shift + func_quote_result= + while test 0 -lt $#; do + func_quote_arg "$_G_func_quote_mode" "$1" + if test -n "$func_quote_result"; then + func_append func_quote_result " $func_quote_arg_result" + else + func_append func_quote_result "$func_quote_arg_result" + fi + shift + done +} + + +# func_stripname PREFIX SUFFIX NAME +# --------------------------------- +# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_stripname () + { + $debug_cmd + + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary variable first. + func_stripname_result=$3 + func_stripname_result=${func_stripname_result#"$1"} + func_stripname_result=${func_stripname_result%"$2"} + }' +else + func_stripname () + { + $debug_cmd + + case $2 in + .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; + *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; + esac + } +fi + + +# func_show_eval CMD [FAIL_EXP] +# ----------------------------- +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. +func_show_eval () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + func_quote_arg pretty,expand "$_G_cmd" + eval "func_notquiet $func_quote_arg_result" + + $opt_dry_run || { + eval "$_G_cmd" + _G_status=$? + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_show_eval_locale CMD [FAIL_EXP] +# ------------------------------------ +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. Use the saved locale for evaluation. +func_show_eval_locale () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + $opt_quiet || { + func_quote_arg expand,pretty "$_G_cmd" + eval "func_echo $func_quote_arg_result" + } + + $opt_dry_run || { + eval "$_G_user_locale + $_G_cmd" + _G_status=$? + eval "$_G_safe_locale" + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_tr_sh +# ---------- +# Turn $1 into a string suitable for a shell variable name. +# Result is stored in $func_tr_sh_result. All characters +# not in the set a-zA-Z0-9_ are replaced with '_'. Further, +# if $1 begins with a digit, a '_' is prepended as well. +func_tr_sh () +{ + $debug_cmd + + case $1 in + [0-9]* | *[!a-zA-Z0-9_]*) + func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` + ;; + * ) + func_tr_sh_result=$1 + ;; + esac +} + + +# func_verbose ARG... +# ------------------- +# Echo program name prefixed message in verbose mode only. +func_verbose () +{ + $debug_cmd + + $opt_verbose && func_echo "$*" + + : +} + + +# func_warn_and_continue ARG... +# ----------------------------- +# Echo program name prefixed warning message to standard error. +func_warn_and_continue () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 +} + + +# func_warning CATEGORY ARG... +# ---------------------------- +# Echo program name prefixed warning message to standard error. Warning +# messages can be filtered according to CATEGORY, where this function +# elides messages where CATEGORY is not listed in the global variable +# 'opt_warning_types'. +func_warning () +{ + $debug_cmd + + # CATEGORY must be in the warning_categories list! + case " $warning_categories " in + *" $1 "*) ;; + *) func_internal_error "invalid warning category '$1'" ;; + esac + + _G_category=$1 + shift + + case " $opt_warning_types " in + *" $_G_category "*) $warning_func ${1+"$@"} ;; + esac +} + + +# func_sort_ver VER1 VER2 +# ----------------------- +# 'sort -V' is not generally available. +# Note this deviates from the version comparison in automake +# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a +# but this should suffice as we won't be specifying old +# version formats or redundant trailing .0 in bootstrap.conf. +# If we did want full compatibility then we should probably +# use m4_version_compare from autoconf. +func_sort_ver () +{ + $debug_cmd + + printf '%s\n%s\n' "$1" "$2" \ + | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n +} + +# func_lt_ver PREV CURR +# --------------------- +# Return true if PREV and CURR are in the correct order according to +# func_sort_ver, otherwise false. Use it like this: +# +# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." +func_lt_ver () +{ + $debug_cmd + + test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: +#! /bin/sh + +# A portable, pluggable option parser for Bourne shell. +# Written by Gary V. Vaughan, 2010 + +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2010-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# + +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC + + +## ------ ## +## Usage. ## +## ------ ## + +# This file is a library for parsing options in your shell scripts along +# with assorted other useful supporting features that you can make use +# of too. +# +# For the simplest scripts you might need only: +# +# #!/bin/sh +# . relative/path/to/funclib.sh +# . relative/path/to/options-parser +# scriptversion=1.0 +# func_options ${1+"$@"} +# eval set dummy "$func_options_result"; shift +# ...rest of your script... +# +# In order for the '--version' option to work, you will need to have a +# suitably formatted comment like the one at the top of this file +# starting with '# Written by ' and ending with '# Copyright'. +# +# For '-h' and '--help' to work, you will also need a one line +# description of your script's purpose in a comment directly above the +# '# Written by ' line, like the one at the top of this file. +# +# The default options also support '--debug', which will turn on shell +# execution tracing (see the comment above debug_cmd below for another +# use), and '--verbose' and the func_verbose function to allow your script +# to display verbose messages only when your user has specified +# '--verbose'. +# +# After sourcing this file, you can plug in processing for additional +# options by amending the variables from the 'Configuration' section +# below, and following the instructions in the 'Option parsing' +# section further down. + +## -------------- ## +## Configuration. ## +## -------------- ## + +# You should override these variables in your script after sourcing this +# file so that they reflect the customisations you have added to the +# option parser. + +# The usage line for option parsing errors and the start of '-h' and +# '--help' output messages. You can embed shell variables for delayed +# expansion at the time the message is displayed, but you will need to +# quote other shell meta-characters carefully to prevent them being +# expanded when the contents are evaled. +usage='$progpath [OPTION]...' + +# Short help message in response to '-h' and '--help'. Add to this or +# override it after sourcing this library to reflect the full set of +# options your script accepts. +usage_message="\ + --debug enable verbose shell tracing + -W, --warnings=CATEGORY + report the warnings falling in CATEGORY [all] + -v, --verbose verbosely report processing + --version print version information and exit + -h, --help print short or long help message and exit +" + +# Additional text appended to 'usage_message' in response to '--help'. +long_help_message=" +Warning categories include: + 'all' show all warnings + 'none' turn off all the warnings + 'error' warnings are treated as fatal errors" + +# Help message printed before fatal option parsing errors. +fatal_help="Try '\$progname --help' for more information." + + + +## ------------------------- ## +## Hook function management. ## +## ------------------------- ## + +# This section contains functions for adding, removing, and running hooks +# in the main code. A hook is just a list of function names that can be +# run in order later on. + +# func_hookable FUNC_NAME +# ----------------------- +# Declare that FUNC_NAME will run hooks added with +# 'func_add_hook FUNC_NAME ...'. +func_hookable () +{ + $debug_cmd + + func_append hookable_fns " $1" +} + + +# func_add_hook FUNC_NAME HOOK_FUNC +# --------------------------------- +# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must +# first have been declared "hookable" by a call to 'func_hookable'. +func_add_hook () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not accept hook functions." ;; + esac + + eval func_append ${1}_hooks '" $2"' +} + + +# func_remove_hook FUNC_NAME HOOK_FUNC +# ------------------------------------ +# Remove HOOK_FUNC from the list of hook functions to be called by +# FUNC_NAME. +func_remove_hook () +{ + $debug_cmd + + eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' +} + + +# func_propagate_result FUNC_NAME_A FUNC_NAME_B +# --------------------------------------------- +# If the *_result variable of FUNC_NAME_A _is set_, assign its value to +# *_result variable of FUNC_NAME_B. +func_propagate_result () +{ + $debug_cmd + + func_propagate_result_result=: + if eval "test \"\${${1}_result+set}\" = set" + then + eval "${2}_result=\$${1}_result" + else + func_propagate_result_result=false + fi +} + + +# func_run_hooks FUNC_NAME [ARG]... +# --------------------------------- +# Run all hook functions registered to FUNC_NAME. +# It's assumed that the list of hook functions contains nothing more +# than a whitespace-delimited list of legal shell function names, and +# no effort is wasted trying to catch shell meta-characters or preserve +# whitespace. +func_run_hooks () +{ + $debug_cmd + + _G_rc_run_hooks=false + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not support hook functions." ;; + esac + + eval _G_hook_fns=\$$1_hooks; shift + + for _G_hook in $_G_hook_fns; do + func_unset "${_G_hook}_result" + eval $_G_hook '${1+"$@"}' + func_propagate_result $_G_hook func_run_hooks + if $func_propagate_result_result; then + eval set dummy "$func_run_hooks_result"; shift + fi + done +} + + + +## --------------- ## +## Option parsing. ## +## --------------- ## + +# In order to add your own option parsing hooks, you must accept the +# full positional parameter list from your hook function. You may remove +# or edit any options that you action, and then pass back the remaining +# unprocessed options in '_result', escaped +# suitably for 'eval'. +# +# The '_result' variable is automatically unset +# before your hook gets called; for best performance, only set the +# *_result variable when necessary (i.e. don't call the 'func_quote' +# function unnecessarily because it can be an expensive operation on some +# machines). +# +# Like this: +# +# my_options_prep () +# { +# $debug_cmd +# +# # Extend the existing usage message. +# usage_message=$usage_message' +# -s, --silent don'\''t print informational messages +# ' +# # No change in '$@' (ignored completely by this hook). Leave +# # my_options_prep_result variable intact. +# } +# func_add_hook func_options_prep my_options_prep +# +# +# my_silent_option () +# { +# $debug_cmd +# +# args_changed=false +# +# # Note that, for efficiency, we parse as many options as we can +# # recognise in a loop before passing the remainder back to the +# # caller on the first unrecognised argument we encounter. +# while test $# -gt 0; do +# opt=$1; shift +# case $opt in +# --silent|-s) opt_silent=: +# args_changed=: +# ;; +# # Separate non-argument short options: +# -s*) func_split_short_opt "$_G_opt" +# set dummy "$func_split_short_opt_name" \ +# "-$func_split_short_opt_arg" ${1+"$@"} +# shift +# args_changed=: +# ;; +# *) # Make sure the first unrecognised option "$_G_opt" +# # is added back to "$@" in case we need it later, +# # if $args_changed was set to 'true'. +# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; +# esac +# done +# +# # Only call 'func_quote' here if we processed at least one argument. +# if $args_changed; then +# func_quote eval ${1+"$@"} +# my_silent_option_result=$func_quote_result +# fi +# } +# func_add_hook func_parse_options my_silent_option +# +# +# my_option_validation () +# { +# $debug_cmd +# +# $opt_silent && $opt_verbose && func_fatal_help "\ +# '--silent' and '--verbose' options are mutually exclusive." +# } +# func_add_hook func_validate_options my_option_validation +# +# You'll also need to manually amend $usage_message to reflect the extra +# options you parse. It's preferable to append if you can, so that +# multiple option parsing hooks can be added safely. + + +# func_options_finish [ARG]... +# ---------------------------- +# Finishing the option parse loop (call 'func_options' hooks ATM). +func_options_finish () +{ + $debug_cmd + + func_run_hooks func_options ${1+"$@"} + func_propagate_result func_run_hooks func_options_finish +} + + +# func_options [ARG]... +# --------------------- +# All the functions called inside func_options are hookable. See the +# individual implementations for details. +func_hookable func_options +func_options () +{ + $debug_cmd + + _G_options_quoted=false + + for my_func in options_prep parse_options validate_options options_finish + do + func_unset func_${my_func}_result + func_unset func_run_hooks_result + eval func_$my_func '${1+"$@"}' + func_propagate_result func_$my_func func_options + if $func_propagate_result_result; then + eval set dummy "$func_options_result"; shift + _G_options_quoted=: + fi + done + + $_G_options_quoted || { + # As we (func_options) are top-level options-parser function and + # nobody quoted "$@" for us yet, we need to do it explicitly for + # caller. + func_quote eval ${1+"$@"} + func_options_result=$func_quote_result + } +} + + +# func_options_prep [ARG]... +# -------------------------- +# All initialisations required before starting the option parse loop. +# Note that when calling hook functions, we pass through the list of +# positional parameters. If a hook function modifies that list, and +# needs to propagate that back to rest of this script, then the complete +# modified list must be put in 'func_run_hooks_result' before returning. +func_hookable func_options_prep +func_options_prep () +{ + $debug_cmd + + # Option defaults: + opt_verbose=false + opt_warning_types= + + func_run_hooks func_options_prep ${1+"$@"} + func_propagate_result func_run_hooks func_options_prep +} + + +# func_parse_options [ARG]... +# --------------------------- +# The main option parsing loop. +func_hookable func_parse_options +func_parse_options () +{ + $debug_cmd + + _G_parse_options_requote=false + # this just eases exit handling + while test $# -gt 0; do + # Defer to hook functions for initial option parsing, so they + # get priority in the event of reusing an option name. + func_run_hooks func_parse_options ${1+"$@"} + func_propagate_result func_run_hooks func_parse_options + if $func_propagate_result_result; then + eval set dummy "$func_parse_options_result"; shift + # Even though we may have changed "$@", we passed the "$@" array + # down into the hook and it quoted it for us (because we are in + # this if-branch). No need to quote it again. + _G_parse_options_requote=false + fi + + # Break out of the loop if we already parsed every option. + test $# -gt 0 || break + + # We expect that one of the options parsed in this function matches + # and thus we remove _G_opt from "$@" and need to re-quote. + _G_match_parse_options=: + _G_opt=$1 + shift + case $_G_opt in + --debug|-x) debug_cmd='set -x' + func_echo "enabling shell trace mode" >&2 + $debug_cmd + ;; + + --no-warnings|--no-warning|--no-warn) + set dummy --warnings none ${1+"$@"} + shift + ;; + + --warnings|--warning|-W) + if test $# = 0 && func_missing_arg $_G_opt; then + _G_parse_options_requote=: + break + fi + case " $warning_categories $1" in + *" $1 "*) + # trailing space prevents matching last $1 above + func_append_uniq opt_warning_types " $1" + ;; + *all) + opt_warning_types=$warning_categories + ;; + *none) + opt_warning_types=none + warning_func=: + ;; + *error) + opt_warning_types=$warning_categories + warning_func=func_fatal_error + ;; + *) + func_fatal_error \ + "unsupported warning category: '$1'" + ;; + esac + shift + ;; + + --verbose|-v) opt_verbose=: ;; + --version) func_version ;; + -\?|-h) func_usage ;; + --help) func_help ;; + + # Separate optargs to long options (plugins may need this): + --*=*) func_split_equals "$_G_opt" + set dummy "$func_split_equals_lhs" \ + "$func_split_equals_rhs" ${1+"$@"} + shift + ;; + + # Separate optargs to short options: + -W*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + # Separate non-argument short options: + -\?*|-h*|-v*|-x*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "-$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + --) _G_parse_options_requote=: ; break ;; + -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift + _G_match_parse_options=false + break + ;; + esac + + if $_G_match_parse_options; then + _G_parse_options_requote=: + fi + done + + if $_G_parse_options_requote; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + func_parse_options_result=$func_quote_result + fi +} + + +# func_validate_options [ARG]... +# ------------------------------ +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +func_hookable func_validate_options +func_validate_options () +{ + $debug_cmd + + # Display all warnings if -W was not given. + test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" + + func_run_hooks func_validate_options ${1+"$@"} + func_propagate_result func_run_hooks func_validate_options + + # Bail if the options were screwed! + $exit_cmd $EXIT_FAILURE +} + + + +## ----------------- ## +## Helper functions. ## +## ----------------- ## + +# This section contains the helper functions used by the rest of the +# hookable option parser framework in ascii-betical order. + + +# func_fatal_help ARG... +# ---------------------- +# Echo program name prefixed message to standard error, followed by +# a help hint, and exit. +func_fatal_help () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + eval \$ECHO \""$fatal_help"\" + func_error ${1+"$@"} + exit $EXIT_FAILURE +} + + +# func_help +# --------- +# Echo long help message to standard output and exit. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message" + exit 0 +} + + +# func_missing_arg ARGNAME +# ------------------------ +# Echo program name prefixed message to standard error and set global +# exit_cmd. +func_missing_arg () +{ + $debug_cmd + + func_error "Missing argument for '$1'." + exit_cmd=exit +} + + +# func_split_equals STRING +# ------------------------ +# Set func_split_equals_lhs and func_split_equals_rhs shell variables +# after splitting STRING at the '=' sign. +test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=${1%%=*} + func_split_equals_rhs=${1#*=} + if test "x$func_split_equals_lhs" = "x$1"; then + func_split_equals_rhs= + fi + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` + func_split_equals_rhs= + test "x$func_split_equals_lhs=" = "x$1" \ + || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` + } +fi #func_split_equals + + +# func_split_short_opt SHORTOPT +# ----------------------------- +# Set func_split_short_opt_name and func_split_short_opt_arg shell +# variables after splitting SHORTOPT after the 2nd character. +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_arg=${1#??} + func_split_short_opt_name=${1%"$func_split_short_opt_arg"} + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` + func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` + } +fi #func_split_short_opt + + +# func_usage +# ---------- +# Echo short help message to standard output and exit. +func_usage () +{ + $debug_cmd + + func_usage_message + $ECHO "Run '$progname --help |${PAGER-more}' for full usage" + exit 0 +} + + +# func_usage_message +# ------------------ +# Echo short help message to standard output. +func_usage_message () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + echo + $SED -n 's|^# || + /^Written by/{ + x;p;x + } + h + /^Written by/q' < "$progpath" + echo + eval \$ECHO \""$usage_message"\" +} + + +# func_version +# ------------ +# Echo version message to standard output and exit. +# The version message is extracted from the calling file's header +# comments, with leading '# ' stripped: +# 1. First display the progname and version +# 2. Followed by the header comment line matching /^# Written by / +# 3. Then a blank line followed by the first following line matching +# /^# Copyright / +# 4. Immediately followed by any lines between the previous matches, +# except lines preceding the intervening completely blank line. +# For example, see the header comments of this file. +func_version () +{ + $debug_cmd + + printf '%s\n' "$progname $scriptversion" + $SED -n ' + /^# Written by /!b + s|^# ||; p; n + + :fwd2blnk + /./ { + n + b fwd2blnk + } + p; n + + :holdwrnt + s|^# || + s|^# *$|| + /^Copyright /!{ + /./H + n + b holdwrnt + } + + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| + G + s|\(\n\)\n*|\1|g + p; q' < "$progpath" + + exit $? +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: + +# Set a version string. +scriptversion='(GNU libtool) 2.4.7' + + +# func_echo ARG... +# ---------------- +# Libtool also displays the current mode in messages, so override +# funclib.sh func_echo with this custom definition. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_warning ARG... +# ------------------- +# Libtool warnings are not categorized, so override funclib.sh +# func_warning with this simpler definition. +func_warning () +{ + $debug_cmd + + $warning_func ${1+"$@"} +} + + +## ---------------- ## +## Options parsing. ## +## ---------------- ## + +# Hook in the functions to make sure our own options are parsed during +# the option parsing loop. + +usage='$progpath [OPTION]... [MODE-ARG]...' + +# Short help message in response to '-h'. +usage_message="Options: + --config show all configuration variables + --debug enable verbose shell tracing + -n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --mode=MODE use operation mode MODE + --no-warnings equivalent to '-Wnone' + --preserve-dup-deps don't remove duplicate dependency libraries + --quiet, --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + -v, --verbose print more informational messages than default + --version print version information + -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] + -h, --help, --help-all print short, long, or detailed help message +" + +# Additional text appended to 'usage_message' in response to '--help'. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. When passed as first option, +'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. +Try '$progname --help --mode=MODE' for a more detailed description of MODE. + +When reporting a bug, please describe a test case to reproduce it and +include the following information: + + host-triplet: $host + shell: $SHELL + compiler: $LTCC + compiler flags: $LTCFLAGS + linker: $LD (gnu? $with_gnu_ld) + version: $progname $scriptversion Debian-2.4.7-5 + automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` + autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` + +Report bugs to . +GNU libtool home page: . +General help using GNU software: ." + exit 0 +} + + +# func_lo2o OBJECT-NAME +# --------------------- +# Transform OBJECT-NAME from a '.lo' suffix to the platform specific +# object suffix. + +lo2o=s/\\.lo\$/.$objext/ +o2lo=s/\\.$objext\$/.lo/ + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_lo2o () + { + case $1 in + *.lo) func_lo2o_result=${1%.lo}.$objext ;; + * ) func_lo2o_result=$1 ;; + esac + }' + + # func_xform LIBOBJ-OR-SOURCE + # --------------------------- + # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) + # suffix to a '.lo' libtool-object suffix. + eval 'func_xform () + { + func_xform_result=${1%.*}.lo + }' +else + # ...otherwise fall back to using sed. + func_lo2o () + { + func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` + } + + func_xform () + { + func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` + } +fi + + +# func_fatal_configuration ARG... +# ------------------------------- +# Echo program name prefixed message to standard error, followed by +# a configuration failure hint, and exit. +func_fatal_configuration () +{ + func_fatal_error ${1+"$@"} \ + "See the $PACKAGE documentation for more information." \ + "Fatal configuration error." +} + + +# func_config +# ----------- +# Display the configuration for all the tags in this script. +func_config () +{ + re_begincf='^# ### BEGIN LIBTOOL' + re_endcf='^# ### END LIBTOOL' + + # Default configuration. + $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" + + # Now print the configurations for the tags. + for tagname in $taglist; do + $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" + done + + exit $? +} + + +# func_features +# ------------- +# Display the features supported by this script. +func_features () +{ + echo "host: $host" + if test yes = "$build_libtool_libs"; then + echo "enable shared libraries" + else + echo "disable shared libraries" + fi + if test yes = "$build_old_libs"; then + echo "enable static libraries" + else + echo "disable static libraries" + fi + + exit $? +} + + +# func_enable_tag TAGNAME +# ----------------------- +# Verify that TAGNAME is valid, and either flag an error and exit, or +# enable the TAGNAME tag. We also add TAGNAME to the global $taglist +# variable here. +func_enable_tag () +{ + # Global variable: + tagname=$1 + + re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" + re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" + sed_extractcf=/$re_begincf/,/$re_endcf/p + + # Validate tagname. + case $tagname in + *[!-_A-Za-z0-9,/]*) + func_fatal_error "invalid tag name: $tagname" + ;; + esac + + # Don't test for the "default" C tag, as we know it's + # there but not specially marked. + case $tagname in + CC) ;; + *) + if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then + taglist="$taglist $tagname" + + # Evaluate the configuration. Be careful to quote the path + # and the sed script, to avoid splitting on whitespace, but + # also don't use non-portable quotes within backquotes within + # quotes we have to do it in 2 steps: + extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` + eval "$extractedcf" + else + func_error "ignoring unknown tag $tagname" + fi + ;; + esac +} + + +# func_check_version_match +# ------------------------ +# Ensure that we are using m4 macros, and libtool script from the same +# release of libtool. +func_check_version_match () +{ + if test "$package_revision" != "$macro_revision"; then + if test "$VERSION" != "$macro_version"; then + if test -z "$macro_version"; then + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from an older release. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + fi + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, +$progname: but the definition of this LT_INIT comes from revision $macro_revision. +$progname: You should recreate aclocal.m4 with macros from revision $package_revision +$progname: of $PACKAGE $VERSION and run autoconf again. +_LT_EOF + fi + + exit $EXIT_MISMATCH + fi +} + + +# libtool_options_prep [ARG]... +# ----------------------------- +# Preparation for options parsed by libtool. +libtool_options_prep () +{ + $debug_mode + + # Option defaults: + opt_config=false + opt_dlopen= + opt_dry_run=false + opt_help=false + opt_mode= + opt_preserve_dup_deps=false + opt_quiet=false + + nonopt= + preserve_args= + + _G_rc_lt_options_prep=: + + _G_rc_lt_options_prep=: + + # Shorthand for --mode=foo, only valid as the first argument + case $1 in + clean|clea|cle|cl) + shift; set dummy --mode clean ${1+"$@"}; shift + ;; + compile|compil|compi|comp|com|co|c) + shift; set dummy --mode compile ${1+"$@"}; shift + ;; + execute|execut|execu|exec|exe|ex|e) + shift; set dummy --mode execute ${1+"$@"}; shift + ;; + finish|finis|fini|fin|fi|f) + shift; set dummy --mode finish ${1+"$@"}; shift + ;; + install|instal|insta|inst|ins|in|i) + shift; set dummy --mode install ${1+"$@"}; shift + ;; + link|lin|li|l) + shift; set dummy --mode link ${1+"$@"}; shift + ;; + uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) + shift; set dummy --mode uninstall ${1+"$@"}; shift + ;; + *) + _G_rc_lt_options_prep=false + ;; + esac + + if $_G_rc_lt_options_prep; then + # Pass back the list of options. + func_quote eval ${1+"$@"} + libtool_options_prep_result=$func_quote_result + fi +} +func_add_hook func_options_prep libtool_options_prep + + +# libtool_parse_options [ARG]... +# --------------------------------- +# Provide handling for libtool specific options. +libtool_parse_options () +{ + $debug_cmd + + _G_rc_lt_parse_options=false + + # Perform our own loop to consume as many options as possible in + # each iteration. + while test $# -gt 0; do + _G_match_lt_parse_options=: + _G_opt=$1 + shift + case $_G_opt in + --dry-run|--dryrun|-n) + opt_dry_run=: + ;; + + --config) func_config ;; + + --dlopen|-dlopen) + opt_dlopen="${opt_dlopen+$opt_dlopen +}$1" + shift + ;; + + --preserve-dup-deps) + opt_preserve_dup_deps=: ;; + + --features) func_features ;; + + --finish) set dummy --mode finish ${1+"$@"}; shift ;; + + --help) opt_help=: ;; + + --help-all) opt_help=': help-all' ;; + + --mode) test $# = 0 && func_missing_arg $_G_opt && break + opt_mode=$1 + case $1 in + # Valid mode arguments: + clean|compile|execute|finish|install|link|relink|uninstall) ;; + + # Catch anything else as an error + *) func_error "invalid argument for $_G_opt" + exit_cmd=exit + break + ;; + esac + shift + ;; + + --no-silent|--no-quiet) + opt_quiet=false + func_append preserve_args " $_G_opt" + ;; + + --no-warnings|--no-warning|--no-warn) + opt_warning=false + func_append preserve_args " $_G_opt" + ;; + + --no-verbose) + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --silent|--quiet) + opt_quiet=: + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --tag) test $# = 0 && func_missing_arg $_G_opt && break + opt_tag=$1 + func_append preserve_args " $_G_opt $1" + func_enable_tag "$1" + shift + ;; + + --verbose|-v) opt_quiet=false + opt_verbose=: + func_append preserve_args " $_G_opt" + ;; + + # An option not handled by this hook function: + *) set dummy "$_G_opt" ${1+"$@"} ; shift + _G_match_lt_parse_options=false + break + ;; + esac + $_G_match_lt_parse_options && _G_rc_lt_parse_options=: + done + + if $_G_rc_lt_parse_options; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + libtool_parse_options_result=$func_quote_result + fi +} +func_add_hook func_parse_options libtool_parse_options + + + +# libtool_validate_options [ARG]... +# --------------------------------- +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +libtool_validate_options () +{ + # save first non-option argument + if test 0 -lt $#; then + nonopt=$1 + shift + fi + + # preserve --debug + test : = "$debug_cmd" || func_append preserve_args " --debug" + + case $host in + # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 + # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 + *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: + ;; + *) + opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps + ;; + esac + + $opt_help || { + # Sanity checks first: + func_check_version_match + + test yes != "$build_libtool_libs" \ + && test yes != "$build_old_libs" \ + && func_fatal_configuration "not configured to build any kind of library" + + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$opt_dlopen" && test execute != "$opt_mode"; then + func_error "unrecognized option '-dlopen'" + $ECHO "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help=$help + help="Try '$progname --help --mode=$opt_mode' for more information." + } + + # Pass back the unparsed argument list + func_quote eval ${1+"$@"} + libtool_validate_options_result=$func_quote_result +} +func_add_hook func_validate_options libtool_validate_options + + +# Process options as early as possible so that --help and --version +# can return quickly. +func_options ${1+"$@"} +eval set dummy "$func_options_result"; shift + + + +## ----------- ## +## Main. ## +## ----------- ## + +magic='%%%MAGIC variable%%%' +magic_exe='%%%MAGIC EXE variable%%%' + +# Global variables. +extracted_archives= +extracted_serial=0 + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + +# func_generated_by_libtool +# True iff stdin has been generated by Libtool. This function is only +# a basic sanity check; it will hardly flush out determined imposters. +func_generated_by_libtool_p () +{ + $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 +} + +# func_lalib_p file +# True iff FILE is a libtool '.la' library or '.lo' object file. +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_lalib_p () +{ + test -f "$1" && + $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p +} + +# func_lalib_unsafe_p file +# True iff FILE is a libtool '.la' library or '.lo' object file. +# This function implements the same check as func_lalib_p without +# resorting to external programs. To this end, it redirects stdin and +# closes it afterwards, without saving the original file descriptor. +# As a safety measure, use it only where a negative result would be +# fatal anyway. Works if 'file' does not exist. +func_lalib_unsafe_p () +{ + lalib_p=no + if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then + for lalib_p_l in 1 2 3 4 + do + read lalib_p_line + case $lalib_p_line in + \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; + esac + done + exec 0<&5 5<&- + fi + test yes = "$lalib_p" +} + +# func_ltwrapper_script_p file +# True iff FILE is a libtool wrapper script +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_script_p () +{ + test -f "$1" && + $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p +} + +# func_ltwrapper_executable_p file +# True iff FILE is a libtool wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_executable_p () +{ + func_ltwrapper_exec_suffix= + case $1 in + *.exe) ;; + *) func_ltwrapper_exec_suffix=.exe ;; + esac + $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 +} + +# func_ltwrapper_scriptname file +# Assumes file is an ltwrapper_executable +# uses $file to determine the appropriate filename for a +# temporary ltwrapper_script. +func_ltwrapper_scriptname () +{ + func_dirname_and_basename "$1" "" "." + func_stripname '' '.exe' "$func_basename_result" + func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper +} + +# func_ltwrapper_p file +# True iff FILE is a libtool wrapper script or wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_p () +{ + func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" +} + + +# func_execute_cmds commands fail_cmd +# Execute tilde-delimited COMMANDS. +# If FAIL_CMD is given, eval that upon failure. +# FAIL_CMD may read-access the current command in variable CMD! +func_execute_cmds () +{ + $debug_cmd + + save_ifs=$IFS; IFS='~' + for cmd in $1; do + IFS=$sp$nl + eval cmd=\"$cmd\" + IFS=$save_ifs + func_show_eval "$cmd" "${2-:}" + done + IFS=$save_ifs +} + + +# func_source file +# Source FILE, adding directory component if necessary. +# Note that it is not necessary on cygwin/mingw to append a dot to +# FILE even if both FILE and FILE.exe exist: automatic-append-.exe +# behavior happens only for exec(3), not for open(2)! Also, sourcing +# 'FILE.' does not work on cygwin managed mounts. +func_source () +{ + $debug_cmd + + case $1 in + */* | *\\*) . "$1" ;; + *) . "./$1" ;; + esac +} + + +# func_resolve_sysroot PATH +# Replace a leading = in PATH with a sysroot. Store the result into +# func_resolve_sysroot_result +func_resolve_sysroot () +{ + func_resolve_sysroot_result=$1 + case $func_resolve_sysroot_result in + =*) + func_stripname '=' '' "$func_resolve_sysroot_result" + func_resolve_sysroot_result=$lt_sysroot$func_stripname_result + ;; + esac +} + +# func_replace_sysroot PATH +# If PATH begins with the sysroot, replace it with = and +# store the result into func_replace_sysroot_result. +func_replace_sysroot () +{ + case $lt_sysroot:$1 in + ?*:"$lt_sysroot"*) + func_stripname "$lt_sysroot" '' "$1" + func_replace_sysroot_result='='$func_stripname_result + ;; + *) + # Including no sysroot. + func_replace_sysroot_result=$1 + ;; + esac +} + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + $debug_cmd + + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case "$@ " in + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + func_echo "unable to infer tagged configuration" + func_fatal_error "specify a tag with '--tag'" +# else +# func_verbose "using $tagname tagged configuration" + fi + ;; + esac + fi +} + + + +# func_write_libtool_object output_name pic_name nonpic_name +# Create a libtool object file (analogous to a ".la" file), +# but don't create it if we're doing a dry run. +func_write_libtool_object () +{ + write_libobj=$1 + if test yes = "$build_libtool_libs"; then + write_lobj=\'$2\' + else + write_lobj=none + fi + + if test yes = "$build_old_libs"; then + write_oldobj=\'$3\' + else + write_oldobj=none + fi + + $opt_dry_run || { + cat >${write_libobj}T </dev/null` + if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then + func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | + $SED -e "$sed_naive_backslashify"` + else + func_convert_core_file_wine_to_w32_result= + fi + fi +} +# end: func_convert_core_file_wine_to_w32 + + +# func_convert_core_path_wine_to_w32 ARG +# Helper function used by path conversion functions when $build is *nix, and +# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly +# configured wine environment available, with the winepath program in $build's +# $PATH. Assumes ARG has no leading or trailing path separator characters. +# +# ARG is path to be converted from $build format to win32. +# Result is available in $func_convert_core_path_wine_to_w32_result. +# Unconvertible file (directory) names in ARG are skipped; if no directory names +# are convertible, then the result may be empty. +func_convert_core_path_wine_to_w32 () +{ + $debug_cmd + + # unfortunately, winepath doesn't convert paths, only file names + func_convert_core_path_wine_to_w32_result= + if test -n "$1"; then + oldIFS=$IFS + IFS=: + for func_convert_core_path_wine_to_w32_f in $1; do + IFS=$oldIFS + func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" + if test -n "$func_convert_core_file_wine_to_w32_result"; then + if test -z "$func_convert_core_path_wine_to_w32_result"; then + func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result + else + func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" + fi + fi + done + IFS=$oldIFS + fi +} +# end: func_convert_core_path_wine_to_w32 + + +# func_cygpath ARGS... +# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when +# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) +# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or +# (2), returns the Cygwin file name or path in func_cygpath_result (input +# file name or path is assumed to be in w32 format, as previously converted +# from $build's *nix or MSYS format). In case (3), returns the w32 file name +# or path in func_cygpath_result (input file name or path is assumed to be in +# Cygwin format). Returns an empty string on error. +# +# ARGS are passed to cygpath, with the last one being the file name or path to +# be converted. +# +# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH +# environment variable; do not put it in $PATH. +func_cygpath () +{ + $debug_cmd + + if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then + func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` + if test "$?" -ne 0; then + # on failure, ensure result is empty + func_cygpath_result= + fi + else + func_cygpath_result= + func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" + fi +} +#end: func_cygpath + + +# func_convert_core_msys_to_w32 ARG +# Convert file name or path ARG from MSYS format to w32 format. Return +# result in func_convert_core_msys_to_w32_result. +func_convert_core_msys_to_w32 () +{ + $debug_cmd + + # awkward: cmd appends spaces to result + func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | + $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` +} +#end: func_convert_core_msys_to_w32 + + +# func_convert_file_check ARG1 ARG2 +# Verify that ARG1 (a file name in $build format) was converted to $host +# format in ARG2. Otherwise, emit an error message, but continue (resetting +# func_to_host_file_result to ARG1). +func_convert_file_check () +{ + $debug_cmd + + if test -z "$2" && test -n "$1"; then + func_error "Could not determine host file name corresponding to" + func_error " '$1'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback: + func_to_host_file_result=$1 + fi +} +# end func_convert_file_check + + +# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH +# Verify that FROM_PATH (a path in $build format) was converted to $host +# format in TO_PATH. Otherwise, emit an error message, but continue, resetting +# func_to_host_file_result to a simplistic fallback value (see below). +func_convert_path_check () +{ + $debug_cmd + + if test -z "$4" && test -n "$3"; then + func_error "Could not determine the host path corresponding to" + func_error " '$3'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback. This is a deliberately simplistic "conversion" and + # should not be "improved". See libtool.info. + if test "x$1" != "x$2"; then + lt_replace_pathsep_chars="s|$1|$2|g" + func_to_host_path_result=`echo "$3" | + $SED -e "$lt_replace_pathsep_chars"` + else + func_to_host_path_result=$3 + fi + fi +} +# end func_convert_path_check + + +# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG +# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT +# and appending REPL if ORIG matches BACKPAT. +func_convert_path_front_back_pathsep () +{ + $debug_cmd + + case $4 in + $1 ) func_to_host_path_result=$3$func_to_host_path_result + ;; + esac + case $4 in + $2 ) func_append func_to_host_path_result "$3" + ;; + esac +} +# end func_convert_path_front_back_pathsep + + +################################################## +# $build to $host FILE NAME CONVERSION FUNCTIONS # +################################################## +# invoked via '$to_host_file_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# Result will be available in $func_to_host_file_result. + + +# func_to_host_file ARG +# Converts the file name ARG from $build format to $host format. Return result +# in func_to_host_file_result. +func_to_host_file () +{ + $debug_cmd + + $to_host_file_cmd "$1" +} +# end func_to_host_file + + +# func_to_tool_file ARG LAZY +# converts the file name ARG from $build format to toolchain format. Return +# result in func_to_tool_file_result. If the conversion in use is listed +# in (the comma separated) LAZY, no conversion takes place. +func_to_tool_file () +{ + $debug_cmd + + case ,$2, in + *,"$to_tool_file_cmd",*) + func_to_tool_file_result=$1 + ;; + *) + $to_tool_file_cmd "$1" + func_to_tool_file_result=$func_to_host_file_result + ;; + esac +} +# end func_to_tool_file + + +# func_convert_file_noop ARG +# Copy ARG to func_to_host_file_result. +func_convert_file_noop () +{ + func_to_host_file_result=$1 +} +# end func_convert_file_noop + + +# func_convert_file_msys_to_w32 ARG +# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_file_result. +func_convert_file_msys_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_to_host_file_result=$func_convert_core_msys_to_w32_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_w32 + + +# func_convert_file_cygwin_to_w32 ARG +# Convert file name ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_file_cygwin_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + # because $build is cygwin, we call "the" cygpath in $PATH; no need to use + # LT_CYGPATH in this case. + func_to_host_file_result=`cygpath -m "$1"` + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_cygwin_to_w32 + + +# func_convert_file_nix_to_w32 ARG +# Convert file name ARG from *nix to w32 format. Requires a wine environment +# and a working winepath. Returns result in func_to_host_file_result. +func_convert_file_nix_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_file_wine_to_w32 "$1" + func_to_host_file_result=$func_convert_core_file_wine_to_w32_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_w32 + + +# func_convert_file_msys_to_cygwin ARG +# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_file_msys_to_cygwin () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_cygpath -u "$func_convert_core_msys_to_w32_result" + func_to_host_file_result=$func_cygpath_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_cygwin + + +# func_convert_file_nix_to_cygwin ARG +# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed +# in a wine environment, working winepath, and LT_CYGPATH set. Returns result +# in func_to_host_file_result. +func_convert_file_nix_to_cygwin () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. + func_convert_core_file_wine_to_w32 "$1" + func_cygpath -u "$func_convert_core_file_wine_to_w32_result" + func_to_host_file_result=$func_cygpath_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_cygwin + + +############################################# +# $build to $host PATH CONVERSION FUNCTIONS # +############################################# +# invoked via '$to_host_path_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# The result will be available in $func_to_host_path_result. +# +# Path separators are also converted from $build format to $host format. If +# ARG begins or ends with a path separator character, it is preserved (but +# converted to $host format) on output. +# +# All path conversion functions are named using the following convention: +# file name conversion function : func_convert_file_X_to_Y () +# path conversion function : func_convert_path_X_to_Y () +# where, for any given $build/$host combination the 'X_to_Y' value is the +# same. If conversion functions are added for new $build/$host combinations, +# the two new functions must follow this pattern, or func_init_to_host_path_cmd +# will break. + + +# func_init_to_host_path_cmd +# Ensures that function "pointer" variable $to_host_path_cmd is set to the +# appropriate value, based on the value of $to_host_file_cmd. +to_host_path_cmd= +func_init_to_host_path_cmd () +{ + $debug_cmd + + if test -z "$to_host_path_cmd"; then + func_stripname 'func_convert_file_' '' "$to_host_file_cmd" + to_host_path_cmd=func_convert_path_$func_stripname_result + fi +} + + +# func_to_host_path ARG +# Converts the path ARG from $build format to $host format. Return result +# in func_to_host_path_result. +func_to_host_path () +{ + $debug_cmd + + func_init_to_host_path_cmd + $to_host_path_cmd "$1" +} +# end func_to_host_path + + +# func_convert_path_noop ARG +# Copy ARG to func_to_host_path_result. +func_convert_path_noop () +{ + func_to_host_path_result=$1 +} +# end func_convert_path_noop + + +# func_convert_path_msys_to_w32 ARG +# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_path_result. +func_convert_path_msys_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # Remove leading and trailing path separator characters from ARG. MSYS + # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; + # and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result=$func_convert_core_msys_to_w32_result + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_msys_to_w32 + + +# func_convert_path_cygwin_to_w32 ARG +# Convert path ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_path_cygwin_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_cygwin_to_w32 + + +# func_convert_path_nix_to_w32 ARG +# Convert path ARG from *nix to w32 format. Requires a wine environment and +# a working winepath. Returns result in func_to_host_file_result. +func_convert_path_nix_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result=$func_convert_core_path_wine_to_w32_result + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_nix_to_w32 + + +# func_convert_path_msys_to_cygwin ARG +# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_path_msys_to_cygwin () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_msys_to_w32_result" + func_to_host_path_result=$func_cygpath_result + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_msys_to_cygwin + + +# func_convert_path_nix_to_cygwin ARG +# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a +# a wine environment, working winepath, and LT_CYGPATH set. Returns result in +# func_to_host_file_result. +func_convert_path_nix_to_cygwin () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # Remove leading and trailing path separator characters from + # ARG. msys behavior is inconsistent here, cygpath turns them + # into '.;' and ';.', and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" + func_to_host_path_result=$func_cygpath_result + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_nix_to_cygwin + + +# func_dll_def_p FILE +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with _LT_DLL_DEF_P in libtool.m4 +func_dll_def_p () +{ + $debug_cmd + + func_dll_def_p_tmp=`$SED -n \ + -e 's/^[ ]*//' \ + -e '/^\(;.*\)*$/d' \ + -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ + -e q \ + "$1"` + test DEF = "$func_dll_def_p_tmp" +} + + +# func_mode_compile arg... +func_mode_compile () +{ + $debug_cmd + + # Get the compilation command and the source file. + base_compile= + srcfile=$nonopt # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + pie_flag= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg=$arg + arg_mode=normal + ;; + + target ) + libobj=$arg + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + test -n "$libobj" && \ + func_fatal_error "you cannot specify '-o' more than once" + arg_mode=target + continue + ;; + + -pie | -fpie | -fPIE) + func_append pie_flag " $arg" + continue + ;; + + -shared | -static | -prefer-pic | -prefer-non-pic) + func_append later " $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + lastarg= + save_ifs=$IFS; IFS=, + for arg in $args; do + IFS=$save_ifs + func_append_quoted lastarg "$arg" + done + IFS=$save_ifs + func_stripname ' ' '' "$lastarg" + lastarg=$func_stripname_result + + # Add the arguments to base_compile. + func_append base_compile " $lastarg" + continue + ;; + + *) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg=$srcfile + srcfile=$arg + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + func_append_quoted base_compile "$lastarg" + done # for arg + + case $arg_mode in + arg) + func_fatal_error "you must specify an argument for -Xcompile" + ;; + target) + func_fatal_error "you must specify a target with '-o'" + ;; + *) + # Get the name of the library object. + test -z "$libobj" && { + func_basename "$srcfile" + libobj=$func_basename_result + } + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + case $libobj in + *.[cCFSifmso] | \ + *.ada | *.adb | *.ads | *.asm | \ + *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ + *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) + func_xform "$libobj" + libobj=$func_xform_result + ;; + esac + + case $libobj in + *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; + *) + func_fatal_error "cannot determine name of library object from '$libobj'" + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -shared) + test yes = "$build_libtool_libs" \ + || func_fatal_configuration "cannot build a shared library" + build_old_libs=no + continue + ;; + + -static) + build_libtool_libs=no + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + func_quote_arg pretty "$libobj" + test "X$libobj" != "X$func_quote_arg_result" \ + && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && func_warning "libobj name '$libobj' may not contain shell special characters." + func_dirname_and_basename "$obj" "/" "" + objname=$func_basename_result + xdir=$func_dirname_result + lobj=$xdir$objdir/$objname + + test -z "$base_compile" && \ + func_fatal_help "you must specify a compilation command" + + # Delete any leftover library objects. + if test yes = "$build_old_libs"; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2* | cegcc*) + pic_mode=default + ;; + esac + if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test no = "$compiler_c_o"; then + output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext + lockfile=$output_obj.lock + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test yes = "$need_locks"; then + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + elif test warn = "$need_locks"; then + if test -f "$lockfile"; then + $ECHO "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + func_append removelist " $output_obj" + $ECHO "$srcfile" > "$lockfile" + fi + + $opt_dry_run || $RM $removelist + func_append removelist " $lockfile" + trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 + + func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 + srcfile=$func_to_tool_file_result + func_quote_arg pretty "$srcfile" + qsrcfile=$func_quote_arg_result + + # Only build a PIC object if we are building libtool libraries. + if test yes = "$build_libtool_libs"; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test no != "$pic_mode"; then + command="$base_compile $qsrcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $qsrcfile" + fi + + func_mkdir_p "$xdir$objdir" + + if test -z "$output_obj"; then + # Place PIC objects in $objdir + func_append command " -o $lobj" + fi + + func_show_eval_locale "$command" \ + 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' + + if test warn = "$need_locks" && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + func_show_eval '$MV "$output_obj" "$lobj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + + # Allow error messages only from the first compilation. + if test yes = "$suppress_opt"; then + suppress_output=' >/dev/null 2>&1' + fi + fi + + # Only build a position-dependent object if we build old libraries. + if test yes = "$build_old_libs"; then + if test yes != "$pic_mode"; then + # Don't build PIC code + command="$base_compile $qsrcfile$pie_flag" + else + command="$base_compile $qsrcfile $pic_flag" + fi + if test yes = "$compiler_c_o"; then + func_append command " -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + func_append command "$suppress_output" + func_show_eval_locale "$command" \ + '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' + + if test warn = "$need_locks" && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + func_show_eval '$MV "$output_obj" "$obj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + fi + + $opt_dry_run || { + func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" + + # Unlock the critical section if it was locked + if test no != "$need_locks"; then + removelist=$lockfile + $RM "$lockfile" + fi + } + + exit $EXIT_SUCCESS +} + +$opt_help || { + test compile = "$opt_mode" && func_mode_compile ${1+"$@"} +} + +func_mode_help () +{ + # We need to display help for each of the modes. + case $opt_mode in + "") + # Generic help is extracted from the usage comments + # at the start of this file. + func_help + ;; + + clean) + $ECHO \ +"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + + compile) + $ECHO \ +"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -no-suppress do not suppress compiler output for multiple passes + -prefer-pic try to build PIC objects only + -prefer-non-pic try to build non-PIC objects only + -shared do not build a '.o' file suitable for static linking + -static only build a '.o' file suitable for static linking + -Wc,FLAG + -Xcompiler FLAG pass FLAG directly to the compiler + +COMPILE-COMMAND is a command to be used in creating a 'standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix '.c' with the +library object suffix, '.lo'." + ;; + + execute) + $ECHO \ +"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to '-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + + finish) + $ECHO \ +"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the '--dry-run' option if you just want to see what would be executed." + ;; + + install) + $ECHO \ +"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the 'install' or 'cp' program. + +The following components of INSTALL-COMMAND are treated specially: + + -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + + link) + $ECHO \ +"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -bindir BINDIR specify path to binaries directory (for systems where + libraries must be found in the PATH setting at runtime) + -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE use a list of object files found in FILE to specify objects + -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -shared only do dynamic linking of libtool libraries + -shrext SUFFIX override the standard shared library file extension + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + -weak LIBNAME declare that the target provides the LIBNAME interface + -Wc,FLAG + -Xcompiler FLAG pass linker-specific FLAG directly to the compiler + -Wa,FLAG + -Xassembler FLAG pass linker-specific FLAG directly to the assembler + -Wl,FLAG + -Xlinker FLAG pass linker-specific FLAG directly to the linker + -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) + +All other options (arguments beginning with '-') are ignored. + +Every other argument is treated as a filename. Files ending in '.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in '.la', then a libtool library is created, +only library objects ('.lo' files) may be specified, and '-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created +using 'ar' and 'ranlib', or on Windows using 'lib'. + +If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file +is created, otherwise an executable program is created." + ;; + + uninstall) + $ECHO \ +"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + + *) + func_fatal_help "invalid operation mode '$opt_mode'" + ;; + esac + + echo + $ECHO "Try '$progname --help' for more information about other modes." +} + +# Now that we've collected a possible --mode arg, show help if necessary +if $opt_help; then + if test : = "$opt_help"; then + func_mode_help + else + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + func_mode_help + done + } | $SED -n '1p; 2,$s/^Usage:/ or: /p' + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + echo + func_mode_help + done + } | + $SED '1d + /^When reporting/,/^Report/{ + H + d + } + $x + /information about other modes/d + /more detailed .*MODE/d + s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' + fi + exit $? +fi + + +# func_mode_execute arg... +func_mode_execute () +{ + $debug_cmd + + # The first argument is the command name. + cmd=$nonopt + test -z "$cmd" && \ + func_fatal_help "you must specify a COMMAND" + + # Handle -dlopen flags immediately. + for file in $opt_dlopen; do + test -f "$file" \ + || func_fatal_help "'$file' is not a file" + + dir= + case $file in + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "'$lib' is not a valid libtool archive" + + # Read the libtool library. + dlname= + library_names= + func_source "$file" + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && \ + func_warning "'$file' was not linked with '-export-dynamic'" + continue + fi + + func_dirname "$file" "" "." + dir=$func_dirname_result + + if test -f "$dir/$objdir/$dlname"; then + func_append dir "/$objdir" + else + if test ! -f "$dir/$dlname"; then + func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" + fi + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + func_dirname "$file" "" "." + dir=$func_dirname_result + ;; + + *) + func_warning "'-dlopen' is ignored for non-libtool libraries and objects" + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir=$absdir + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic=$magic + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -* | *.la | *.lo ) ;; + *) + # Do a test to see if this is really a libtool program. + if func_ltwrapper_script_p "$file"; then + func_source "$file" + # Transform arg to wrapped name. + file=$progdir/$program + elif func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + func_source "$func_ltwrapper_scriptname_result" + # Transform arg to wrapped name. + file=$progdir/$program + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + func_append_quoted args "$file" + done + + if $opt_dry_run; then + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" + echo "export $shlibpath_var" + fi + $ECHO "$cmd$args" + exit $EXIT_SUCCESS + else + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + else + $lt_unset $lt_var + fi" + done + + # Now prepare to actually exec the command. + exec_cmd=\$cmd$args + fi +} + +test execute = "$opt_mode" && func_mode_execute ${1+"$@"} + + +# func_mode_finish arg... +func_mode_finish () +{ + $debug_cmd + + libs= + libdirs= + admincmds= + + for opt in "$nonopt" ${1+"$@"} + do + if test -d "$opt"; then + func_append libdirs " $opt" + + elif test -f "$opt"; then + if func_lalib_unsafe_p "$opt"; then + func_append libs " $opt" + else + func_warning "'$opt' is not a valid libtool archive" + fi + + else + func_fatal_error "invalid argument '$opt'" + fi + done + + if test -n "$libs"; then + if test -n "$lt_sysroot"; then + sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` + sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" + else + sysroot_cmd= + fi + + # Remove sysroot references + if $opt_dry_run; then + for lib in $libs; do + echo "removing references to $lt_sysroot and '=' prefixes from $lib" + done + else + tmpdir=`func_mktempdir` + for lib in $libs; do + $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ + > $tmpdir/tmp-la + mv -f $tmpdir/tmp-la $lib + done + ${RM}r "$tmpdir" + fi + fi + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + func_execute_cmds "$finish_cmds" 'admincmds="$admincmds +'"$cmd"'"' + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $opt_dry_run || eval "$cmds" || func_append admincmds " + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + $opt_quiet && exit $EXIT_SUCCESS + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + echo "----------------------------------------------------------------------" + echo "Libraries have been installed in:" + for libdir in $libdirs; do + $ECHO " $libdir" + done + echo + echo "If you ever happen to want to link against installed libraries" + echo "in a given directory, LIBDIR, you must either use libtool, and" + echo "specify the full pathname of the library, or use the '-LLIBDIR'" + echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + echo " - add LIBDIR to the '$shlibpath_var' environment variable" + echo " during execution" + fi + if test -n "$runpath_var"; then + echo " - add LIBDIR to the '$runpath_var' environment variable" + echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $ECHO " - use the '$flag' linker flag" + fi + if test -n "$admincmds"; then + $ECHO " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" + fi + echo + + echo "See any operating system documentation about shared libraries for" + case $host in + solaris2.[6789]|solaris2.1[0-9]) + echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" + echo "pages." + ;; + *) + echo "more information, such as the ld(1) and ld.so(8) manual pages." + ;; + esac + echo "----------------------------------------------------------------------" + fi + exit $EXIT_SUCCESS +} + +test finish = "$opt_mode" && func_mode_finish ${1+"$@"} + + +# func_mode_install arg... +func_mode_install () +{ + $debug_cmd + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || + # Allow the use of GNU shtool's install command. + case $nonopt in *shtool*) :;; *) false;; esac + then + # Aesthetically quote it. + func_quote_arg pretty "$nonopt" + install_prog="$func_quote_arg_result " + arg=$1 + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + func_quote_arg pretty "$arg" + func_append install_prog "$func_quote_arg_result" + install_shared_prog=$install_prog + case " $install_prog " in + *[\\\ /]cp\ *) install_cp=: ;; + *) install_cp=false ;; + esac + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=false + stripme= + no_mode=: + for arg + do + arg2= + if test -n "$dest"; then + func_append files " $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=: ;; + -f) + if $install_cp; then :; else + prev=$arg + fi + ;; + -g | -m | -o) + prev=$arg + ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + if test X-m = "X$prev" && test -n "$install_override_mode"; then + arg2=$install_override_mode + no_mode=false + fi + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + func_quote_arg pretty "$arg" + func_append install_prog " $func_quote_arg_result" + if test -n "$arg2"; then + func_quote_arg pretty "$arg2" + fi + func_append install_shared_prog " $func_quote_arg_result" + done + + test -z "$install_prog" && \ + func_fatal_help "you must specify an install program" + + test -n "$prev" && \ + func_fatal_help "the '$prev' option requires an argument" + + if test -n "$install_override_mode" && $no_mode; then + if $install_cp; then :; else + func_quote_arg pretty "$install_override_mode" + func_append install_shared_prog " -m $func_quote_arg_result" + fi + fi + + if test -z "$files"; then + if test -z "$dest"; then + func_fatal_help "no file or destination specified" + else + func_fatal_help "you must specify a destination" + fi + fi + + # Strip any trailing slash from the destination. + func_stripname '' '/' "$dest" + dest=$func_stripname_result + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=: + if $isdir; then + destdir=$dest + destname= + else + func_dirname_and_basename "$dest" "" "." + destdir=$func_dirname_result + destname=$func_basename_result + + # Not a directory, so check to see that there is only one file specified. + set dummy $files; shift + test "$#" -gt 1 && \ + func_fatal_help "'$dest' is not a directory" + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + func_fatal_help "'$destdir' must be an absolute directory name" + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic=$magic + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + func_append staticlibs " $file" + ;; + + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "'$file' is not a valid libtool archive" + + library_names= + old_library= + relink_command= + func_source "$file" + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) func_append current_libdirs " $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) func_append future_libdirs " $libdir" ;; + esac + fi + + func_dirname "$file" "/" "" + dir=$func_dirname_result + func_append dir "$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + test "$inst_prefix_dir" = "$destdir" && \ + func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + func_warning "relinking '$file'" + func_show_eval "$relink_command" \ + 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' + fi + + # See the names of the shared library. + set dummy $library_names; shift + if test -n "$1"; then + realname=$1 + shift + + srcname=$realname + test -n "$relink_command" && srcname=${realname}T + + # Install the shared library and build the symlinks. + func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ + 'exit $?' + tstripme=$stripme + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + case $realname in + *.dll.a) + tstripme= + ;; + esac + ;; + os2*) + case $realname in + *_dll.a) + tstripme= + ;; + esac + ;; + esac + if test -n "$tstripme" && test -n "$striplib"; then + func_show_eval "$striplib $destdir/$realname" 'exit $?' + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try 'ln -sf' first, because the 'ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + test "$linkname" != "$realname" \ + && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" + done + fi + + # Do each command in the postinstall commands. + lib=$destdir/$realname + func_execute_cmds "$postinstall_cmds" 'exit $?' + fi + + # Install the pseudo-library for information purposes. + func_basename "$file" + name=$func_basename_result + instname=$dir/${name}i + func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' + + # Maybe install the static library, too. + test -n "$old_library" && func_append staticlibs " $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile=$destdir/$destname + else + func_basename "$file" + destfile=$func_basename_result + destfile=$destdir/$destfile + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + func_lo2o "$destfile" + staticdest=$func_lo2o_result + ;; + *.$objext) + staticdest=$destfile + destfile= + ;; + *) + func_fatal_help "cannot copy a libtool object to '$destfile'" + ;; + esac + + # Install the libtool object if requested. + test -n "$destfile" && \ + func_show_eval "$install_prog $file $destfile" 'exit $?' + + # Install the old object if enabled. + if test yes = "$build_old_libs"; then + # Deduce the name of the old-style object file. + func_lo2o "$file" + staticobj=$func_lo2o_result + func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile=$destdir/$destname + else + func_basename "$file" + destfile=$func_basename_result + destfile=$destdir/$destfile + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext= + case $file in + *.exe) + if test ! -f "$file"; then + func_stripname '' '.exe' "$file" + file=$func_stripname_result + stripped_ext=.exe + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin* | *mingw*) + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + wrapper=$func_ltwrapper_scriptname_result + else + func_stripname '' '.exe' "$file" + wrapper=$func_stripname_result + fi + ;; + *) + wrapper=$file + ;; + esac + if func_ltwrapper_script_p "$wrapper"; then + notinst_deplibs= + relink_command= + + func_source "$wrapper" + + # Check the variables that should have been set. + test -z "$generated_by_libtool_version" && \ + func_fatal_error "invalid libtool wrapper script '$wrapper'" + + finalize=: + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + func_source "$lib" + fi + libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` + if test -n "$libdir" && test ! -f "$libfile"; then + func_warning "'$lib' has not been installed in '$libdir'" + finalize=false + fi + done + + relink_command= + func_source "$wrapper" + + outputname= + if test no = "$fast_install" && test -n "$relink_command"; then + $opt_dry_run || { + if $finalize; then + tmpdir=`func_mktempdir` + func_basename "$file$stripped_ext" + file=$func_basename_result + outputname=$tmpdir/$file + # Replace the output file specification. + relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` + + $opt_quiet || { + func_quote_arg expand,pretty "$relink_command" + eval "func_echo $func_quote_arg_result" + } + if eval "$relink_command"; then : + else + func_error "error: relink '$file' with the above command before installing it" + $opt_dry_run || ${RM}r "$tmpdir" + continue + fi + file=$outputname + else + func_warning "cannot relink '$file'" + fi + } + else + # Install the binary that we compiled earlier. + file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + func_stripname '' '.exe' "$destfile" + destfile=$func_stripname_result + ;; + esac + ;; + esac + func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' + $opt_dry_run || if test -n "$outputname"; then + ${RM}r "$tmpdir" + fi + ;; + esac + done + + for file in $staticlibs; do + func_basename "$file" + name=$func_basename_result + + # Set up the ranlib parameters. + oldlib=$destdir/$name + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + + func_show_eval "$install_prog \$file \$oldlib" 'exit $?' + + if test -n "$stripme" && test -n "$old_striplib"; then + func_show_eval "$old_striplib $tool_oldlib" 'exit $?' + fi + + # Do each command in the postinstall commands. + func_execute_cmds "$old_postinstall_cmds" 'exit $?' + done + + test -n "$future_libdirs" && \ + func_warning "remember to run '$progname --finish$future_libdirs'" + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + $opt_dry_run && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi +} + +test install = "$opt_mode" && func_mode_install ${1+"$@"} + + +# func_generate_dlsyms outputname originator pic_p +# Extract symbols from dlprefiles and create ${outputname}S.o with +# a dlpreopen symbol table. +func_generate_dlsyms () +{ + $debug_cmd + + my_outputname=$1 + my_originator=$2 + my_pic_p=${3-false} + my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` + my_dlsyms= + + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + my_dlsyms=${my_outputname}S.c + else + func_error "not configured to extract global symbols from dlpreopened files" + fi + fi + + if test -n "$my_dlsyms"; then + case $my_dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist=$output_objdir/$my_outputname.nm + + func_show_eval "$RM $nlist ${nlist}S ${nlist}T" + + # Parse the name list into a source file. + func_verbose "creating $output_objdir/$my_dlsyms" + + $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ +/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ +/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) +#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + +/* External symbol declarations for the compiler. */\ +" + + if test yes = "$dlself"; then + func_verbose "generating symbol list for '$output'" + + $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` + for progfile in $progfiles; do + func_to_tool_file "$progfile" func_convert_file_msys_to_w32 + func_verbose "extracting global C symbols from '$func_to_tool_file_result'" + $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $opt_dry_run || { + eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + if test -n "$export_symbols_regex"; then + $opt_dry_run || { + eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols=$output_objdir/$outputname.exp + $opt_dry_run || { + $RM $export_symbols + eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + } + else + $opt_dry_run || { + eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + } + fi + fi + + for dlprefile in $dlprefiles; do + func_verbose "extracting global C symbols from '$dlprefile'" + func_basename "$dlprefile" + name=$func_basename_result + case $host in + *cygwin* | *mingw* | *cegcc* ) + # if an import library, we need to obtain dlname + if func_win32_import_lib_p "$dlprefile"; then + func_tr_sh "$dlprefile" + eval "curr_lafile=\$libfile_$func_tr_sh_result" + dlprefile_dlbasename= + if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then + # Use subshell, to avoid clobbering current variable values + dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` + if test -n "$dlprefile_dlname"; then + func_basename "$dlprefile_dlname" + dlprefile_dlbasename=$func_basename_result + else + # no lafile. user explicitly requested -dlpreopen . + $sharedlib_from_linklib_cmd "$dlprefile" + dlprefile_dlbasename=$sharedlib_from_linklib_result + fi + fi + $opt_dry_run || { + if test -n "$dlprefile_dlbasename"; then + eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' + else + func_warning "Could not compute DLL name from $name" + eval '$ECHO ": $name " >> "$nlist"' + fi + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | + $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" + } + else # not an import lib + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + fi + ;; + *) + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + ;; + esac + done + + $opt_dry_run || { + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $MV "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if $GREP -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + $GREP -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' + else + echo '/* NONE */' >> "$output_objdir/$my_dlsyms" + fi + + func_show_eval '$RM "${nlist}I"' + if test -n "$global_symbol_to_import"; then + eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' + fi + + echo >> "$output_objdir/$my_dlsyms" "\ + +/* The mapping between symbol names and symbols. */ +typedef struct { + const char *name; + void *address; +} lt_dlsymlist; +extern LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[];\ +" + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ +static void lt_syminit(void) +{ + LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; + for (; symbol->name; ++symbol) + {" + $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" + echo >> "$output_objdir/$my_dlsyms" "\ + } +}" + fi + echo >> "$output_objdir/$my_dlsyms" "\ +LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[] = +{ {\"$my_originator\", (void *) 0}," + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ + {\"@INIT@\", (void *) <_syminit}," + fi + + case $need_lib_prefix in + no) + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + *) + eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + esac + echo >> "$output_objdir/$my_dlsyms" "\ + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_${my_prefix}_LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + } # !$opt_dry_run + + pic_flag_for_symtable= + case "$compile_command " in + *" -static "*) ;; + *) + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; + *-*-hpux*) + pic_flag_for_symtable=" $pic_flag" ;; + *) + $my_pic_p && pic_flag_for_symtable=" $pic_flag" + ;; + esac + ;; + esac + symtab_cflags= + for arg in $LTCFLAGS; do + case $arg in + -pie | -fpie | -fPIE) ;; + *) func_append symtab_cflags " $arg" ;; + esac + done + + # Now compile the dynamic symbol file. + func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' + + # Clean up the generated files. + func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' + + # Transform the symbol file into the correct name. + symfileobj=$output_objdir/${my_outputname}S.$objext + case $host in + *cygwin* | *mingw* | *cegcc* ) + if test -f "$output_objdir/$my_outputname.def"; then + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + else + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + fi + ;; + *) + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + ;; + esac + ;; + *) + func_fatal_error "unknown suffix for '$my_dlsyms'" + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` + fi +} + +# func_cygming_gnu_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is a GNU/binutils-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_gnu_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` + test -n "$func_cygming_gnu_implib_tmp" +} + +# func_cygming_ms_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is an MS-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_ms_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` + test -n "$func_cygming_ms_implib_tmp" +} + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +# Despite the name, also deal with 64 bit binaries. +func_win32_libid () +{ + $debug_cmd + + win32_libid_type=unknown + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | + $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then + case $nm_interface in + "MS dumpbin") + if func_cygming_ms_implib_p "$1" || + func_cygming_gnu_implib_p "$1" + then + win32_nmres=import + else + win32_nmres= + fi + ;; + *) + func_to_tool_file "$1" func_convert_file_msys_to_w32 + win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | + $SED -n -e ' + 1,100{ + / I /{ + s|.*|import| + p + q + } + }'` + ;; + esac + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $ECHO "$win32_libid_type" +} + +# func_cygming_dll_for_implib ARG +# +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib () +{ + $debug_cmd + + sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` +} + +# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs +# +# The is the core of a fallback implementation of a +# platform-specific function to extract the name of the +# DLL associated with the specified import library LIBNAME. +# +# SECTION_NAME is either .idata$6 or .idata$7, depending +# on the platform and compiler that created the implib. +# +# Echos the name of the DLL associated with the +# specified import library. +func_cygming_dll_for_implib_fallback_core () +{ + $debug_cmd + + match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` + $OBJDUMP -s --section "$1" "$2" 2>/dev/null | + $SED '/^Contents of section '"$match_literal"':/{ + # Place marker at beginning of archive member dllname section + s/.*/====MARK====/ + p + d + } + # These lines can sometimes be longer than 43 characters, but + # are always uninteresting + /:[ ]*file format pe[i]\{,1\}-/d + /^In archive [^:]*:/d + # Ensure marker is printed + /^====MARK====/p + # Remove all lines with less than 43 characters + /^.\{43\}/!d + # From remaining lines, remove first 43 characters + s/^.\{43\}//' | + $SED -n ' + # Join marker and all lines until next marker into a single line + /^====MARK====/ b para + H + $ b para + b + :para + x + s/\n//g + # Remove the marker + s/^====MARK====// + # Remove trailing dots and whitespace + s/[\. \t]*$// + # Print + /./p' | + # we now have a list, one entry per line, of the stringified + # contents of the appropriate section of all members of the + # archive that possess that section. Heuristic: eliminate + # all those that have a first or second character that is + # a '.' (that is, objdump's representation of an unprintable + # character.) This should work for all archives with less than + # 0x302f exports -- but will fail for DLLs whose name actually + # begins with a literal '.' or a single character followed by + # a '.'. + # + # Of those that remain, print the first one. + $SED -e '/^\./d;/^.\./d;q' +} + +# func_cygming_dll_for_implib_fallback ARG +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# +# This fallback implementation is for use when $DLLTOOL +# does not support the --identify-strict option. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib_fallback () +{ + $debug_cmd + + if func_cygming_gnu_implib_p "$1"; then + # binutils import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` + elif func_cygming_ms_implib_p "$1"; then + # ms-generated import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` + else + # unknown + sharedlib_from_linklib_result= + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + $debug_cmd + + f_ex_an_ar_dir=$1; shift + f_ex_an_ar_oldlib=$1 + if test yes = "$lock_old_archive_extraction"; then + lockfile=$f_ex_an_ar_oldlib.lock + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + fi + func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ + 'stat=$?; rm -f "$lockfile"; exit $stat' + if test yes = "$lock_old_archive_extraction"; then + $opt_dry_run || rm -f "$lockfile" + fi + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" + fi +} + + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + $debug_cmd + + my_gentop=$1; shift + my_oldlibs=${1+"$@"} + my_oldobjs= + my_xlib= + my_xabs= + my_xdir= + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + func_basename "$my_xlib" + my_xlib=$func_basename_result + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + func_arith $extracted_serial + 1 + extracted_serial=$func_arith_result + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir=$my_gentop/$my_xlib_u + + func_mkdir_p "$my_xdir" + + case $host in + *-darwin*) + func_verbose "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + $opt_dry_run || { + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + func_basename "$darwin_archive" + darwin_base_archive=$func_basename_result + darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` + if test -n "$darwin_arches"; then + darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches; do + func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" + $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" + cd "unfat-$$/$darwin_base_archive-$darwin_arch" + func_extract_an_archive "`pwd`" "$darwin_base_archive" + cd "$darwin_curdir" + $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" + done # $darwin_arches + ## Okay now we've a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` + $LIPO -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + $RM -rf unfat-$$ + cd "$darwin_orig_dir" + else + cd $darwin_orig_dir + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + } # !$opt_dry_run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` + done + + func_extract_archives_result=$my_oldobjs +} + + +# func_emit_wrapper [arg=no] +# +# Emit a libtool wrapper script on stdout. +# Don't directly open a file because we may want to +# incorporate the script contents within a cygwin/mingw +# wrapper executable. Must ONLY be called from within +# func_mode_link because it depends on a number of variables +# set therein. +# +# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR +# variable will take. If 'yes', then the emitted script +# will assume that the directory where it is stored is +# the $objdir directory. This is a cygwin/mingw-specific +# behavior. +func_emit_wrapper () +{ + func_emit_wrapper_arg1=${1-no} + + $ECHO "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variables: + generated_by_libtool_version='$macro_version' + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$ECHO are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + file=\"\$0\"" + + func_quote_arg pretty "$ECHO" + qECHO=$func_quote_arg_result + $ECHO "\ + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + ECHO=$qECHO + fi + +# Very basic option parsing. These options are (a) specific to +# the libtool wrapper, (b) are identical between the wrapper +# /script/ and the wrapper /executable/ that is used only on +# windows platforms, and (c) all begin with the string "--lt-" +# (application programs are unlikely to have options that match +# this pattern). +# +# There are only two supported options: --lt-debug and +# --lt-dump-script. There is, deliberately, no --lt-help. +# +# The first argument to this parsing function should be the +# script's $0 value, followed by "$@". +lt_option_debug= +func_parse_lt_options () +{ + lt_script_arg0=\$0 + shift + for lt_opt + do + case \"\$lt_opt\" in + --lt-debug) lt_option_debug=1 ;; + --lt-dump-script) + lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` + test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. + lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` + cat \"\$lt_dump_D/\$lt_dump_F\" + exit 0 + ;; + --lt-*) + \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 + exit 1 + ;; + esac + done + + # Print the debug banner immediately: + if test -n \"\$lt_option_debug\"; then + echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 + fi +} + +# Used when --lt-debug. Prints its arguments to stdout +# (redirection is the responsibility of the caller) +func_lt_dump_args () +{ + lt_dump_args_N=1; + for lt_arg + do + \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" + lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` + done +} + +# Core function for launching the target application +func_exec_program_core () +{ +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2* | *-cegcc*) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $ECHO "\ + \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 + exit 1 +} + +# A function to encapsulate launching the target application +# Strips options in the --lt-* namespace from \$@ and +# launches target application with the remaining arguments. +func_exec_program () +{ + case \" \$* \" in + *\\ --lt-*) + for lt_wr_arg + do + case \$lt_wr_arg in + --lt-*) ;; + *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; + esac + shift + done ;; + esac + func_exec_program_core \${1+\"\$@\"} +} + + # Parse options + func_parse_lt_options \"\$0\" \${1+\"\$@\"} + + # Find the directory that this script lives in. + thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 + if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then + # special case for '.' + if test \"\$thisdir\" = \".\"; then + thisdir=\`pwd\` + fi + # remove .libs from thisdir + case \"\$thisdir\" in + *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; + $objdir ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test yes = "$fast_install"; then + $ECHO "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $MKDIR \"\$progdir\" + else + $RM \"\$progdir/\$file\" + fi" + + $ECHO "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + \$ECHO \"\$relink_command_output\" >&2 + $RM \"\$progdir/\$file\" + exit 1 + fi + fi + + $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $RM \"\$progdir/\$program\"; + $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $RM \"\$progdir/\$file\" + fi" + else + $ECHO "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $ECHO "\ + + if test -f \"\$progdir/\$program\"; then" + + # fixup the dll searchpath if we need to. + # + # Fix the DLL searchpath if we need to. Do this before prepending + # to shlibpath, because on Windows, both are PATH and uninstalled + # libraries must come first. + if test -n "$dllsearchpath"; then + $ECHO "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + # Export our shlibpath_var if we have one. + if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $ECHO "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` + + export $shlibpath_var +" + fi + + $ECHO "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. + func_exec_program \${1+\"\$@\"} + fi + else + # The program doesn't exist. + \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 + \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 + \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 + exit 1 + fi +fi\ +" +} + + +# func_emit_cwrapperexe_src +# emit the source code for a wrapper executable on stdout +# Must ONLY be called from within func_mode_link because +# it depends on a number of variable set therein. +func_emit_cwrapperexe_src () +{ + cat < +#include +#ifdef _MSC_VER +# include +# include +# include +#else +# include +# include +# ifdef __CYGWIN__ +# include +# endif +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + +/* declarations of non-ANSI functions */ +#if defined __MINGW32__ +# ifdef __STRICT_ANSI__ +int _putenv (const char *); +# endif +#elif defined __CYGWIN__ +# ifdef __STRICT_ANSI__ +char *realpath (const char *, char *); +int putenv (char *); +int setenv (const char *, const char *, int); +# endif +/* #elif defined other_platform || defined ... */ +#endif + +/* portability defines, excluding path handling macros */ +#if defined _MSC_VER +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +# define S_IXUSR _S_IEXEC +#elif defined __MINGW32__ +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +#elif defined __CYGWIN__ +# define HAVE_SETENV +# define FOPEN_WB "wb" +/* #elif defined other platforms ... */ +#endif + +#if defined PATH_MAX +# define LT_PATHMAX PATH_MAX +#elif defined MAXPATHLEN +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef S_IXOTH +# define S_IXOTH 0 +#endif +#ifndef S_IXGRP +# define S_IXGRP 0 +#endif + +/* path handling portability macros */ +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ + defined __OS2__ +# define HAVE_DOS_BASED_FILE_SYSTEM +# define FOPEN_WB "wb" +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#ifndef FOPEN_WB +# define FOPEN_WB "w" +#endif +#ifndef _O_BINARY +# define _O_BINARY 0 +#endif + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free (stale); stale = 0; } \ +} while (0) + +#if defined LT_DEBUGWRAPPER +static int lt_debug = 1; +#else +static int lt_debug = 0; +#endif + +const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ + +void *xmalloc (size_t num); +char *xstrdup (const char *string); +const char *base_name (const char *name); +char *find_executable (const char *wrapper); +char *chase_symlinks (const char *pathspec); +int make_executable (const char *path); +int check_executable (const char *path); +char *strendzap (char *str, const char *pat); +void lt_debugprintf (const char *file, int line, const char *fmt, ...); +void lt_fatal (const char *file, int line, const char *message, ...); +static const char *nonnull (const char *s); +static const char *nonempty (const char *s); +void lt_setenv (const char *name, const char *value); +char *lt_extend_str (const char *orig_value, const char *add, int to_end); +void lt_update_exe_path (const char *name, const char *value); +void lt_update_lib_path (const char *name, const char *value); +char **prepare_spawn (char **argv); +void lt_dump_script (FILE *f); +EOF + + cat <= 0) + && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) + return 1; + else + return 0; +} + +int +make_executable (const char *path) +{ + int rval = 0; + struct stat st; + + lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", + nonempty (path)); + if ((!path) || (!*path)) + return 0; + + if (stat (path, &st) >= 0) + { + rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); + } + return rval; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise + Does not chase symlinks, even on platforms that support them. +*/ +char * +find_executable (const char *wrapper) +{ + int has_slash = 0; + const char *p; + const char *p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + size_t tmp_len; + char *concat_name; + + lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", + nonempty (wrapper)); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined HAVE_DOS_BASED_FILE_SYSTEM + if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } +#if defined HAVE_DOS_BASED_FILE_SYSTEM + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char *path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char *q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR (*q)) + break; + p_len = (size_t) (q - p); + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = + XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = + XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + return NULL; +} + +char * +chase_symlinks (const char *pathspec) +{ +#ifndef S_ISLNK + return xstrdup (pathspec); +#else + char buf[LT_PATHMAX]; + struct stat s; + char *tmp_pathspec = xstrdup (pathspec); + char *p; + int has_symlinks = 0; + while (strlen (tmp_pathspec) && !has_symlinks) + { + lt_debugprintf (__FILE__, __LINE__, + "checking path component for symlinks: %s\n", + tmp_pathspec); + if (lstat (tmp_pathspec, &s) == 0) + { + if (S_ISLNK (s.st_mode) != 0) + { + has_symlinks = 1; + break; + } + + /* search backwards for last DIR_SEPARATOR */ + p = tmp_pathspec + strlen (tmp_pathspec) - 1; + while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + p--; + if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + { + /* no more DIR_SEPARATORS left */ + break; + } + *p = '\0'; + } + else + { + lt_fatal (__FILE__, __LINE__, + "error accessing file \"%s\": %s", + tmp_pathspec, nonnull (strerror (errno))); + } + } + XFREE (tmp_pathspec); + + if (!has_symlinks) + { + return xstrdup (pathspec); + } + + tmp_pathspec = realpath (pathspec, buf); + if (tmp_pathspec == 0) + { + lt_fatal (__FILE__, __LINE__, + "could not follow symlinks for %s", pathspec); + } + return xstrdup (tmp_pathspec); +#endif +} + +char * +strendzap (char *str, const char *pat) +{ + size_t len, patlen; + + assert (str != NULL); + assert (pat != NULL); + + len = strlen (str); + patlen = strlen (pat); + + if (patlen <= len) + { + str += len - patlen; + if (STREQ (str, pat)) + *str = '\0'; + } + return str; +} + +void +lt_debugprintf (const char *file, int line, const char *fmt, ...) +{ + va_list args; + if (lt_debug) + { + (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); + va_start (args, fmt); + (void) vfprintf (stderr, fmt, args); + va_end (args); + } +} + +static void +lt_error_core (int exit_status, const char *file, + int line, const char *mode, + const char *message, va_list ap) +{ + fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *file, int line, const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); + va_end (ap); +} + +static const char * +nonnull (const char *s) +{ + return s ? s : "(null)"; +} + +static const char * +nonempty (const char *s) +{ + return (s && !*s) ? "(empty)" : nonnull (s); +} + +void +lt_setenv (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_setenv) setting '%s' to '%s'\n", + nonnull (name), nonnull (value)); + { +#ifdef HAVE_SETENV + /* always make a copy, for consistency with !HAVE_SETENV */ + char *str = xstrdup (value); + setenv (name, str, 1); +#else + size_t len = strlen (name) + 1 + strlen (value) + 1; + char *str = XMALLOC (char, len); + sprintf (str, "%s=%s", name, value); + if (putenv (str) != EXIT_SUCCESS) + { + XFREE (str); + } +#endif + } +} + +char * +lt_extend_str (const char *orig_value, const char *add, int to_end) +{ + char *new_value; + if (orig_value && *orig_value) + { + size_t orig_value_len = strlen (orig_value); + size_t add_len = strlen (add); + new_value = XMALLOC (char, add_len + orig_value_len + 1); + if (to_end) + { + strcpy (new_value, orig_value); + strcpy (new_value + orig_value_len, add); + } + else + { + strcpy (new_value, add); + strcpy (new_value + add_len, orig_value); + } + } + else + { + new_value = xstrdup (add); + } + return new_value; +} + +void +lt_update_exe_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + /* some systems can't cope with a ':'-terminated path #' */ + size_t len = strlen (new_value); + while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) + { + new_value[--len] = '\0'; + } + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +void +lt_update_lib_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +EOF + case $host_os in + mingw*) + cat <<"EOF" + +/* Prepares an argument vector before calling spawn(). + Note that spawn() does not by itself call the command interpreter + (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : + ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + GetVersionEx(&v); + v.dwPlatformId == VER_PLATFORM_WIN32_NT; + }) ? "cmd.exe" : "command.com"). + Instead it simply concatenates the arguments, separated by ' ', and calls + CreateProcess(). We must quote the arguments since Win32 CreateProcess() + interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a + special way: + - Space and tab are interpreted as delimiters. They are not treated as + delimiters if they are surrounded by double quotes: "...". + - Unescaped double quotes are removed from the input. Their only effect is + that within double quotes, space and tab are treated like normal + characters. + - Backslashes not followed by double quotes are not special. + - But 2*n+1 backslashes followed by a double quote become + n backslashes followed by a double quote (n >= 0): + \" -> " + \\\" -> \" + \\\\\" -> \\" + */ +#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +char ** +prepare_spawn (char **argv) +{ + size_t argc; + char **new_argv; + size_t i; + + /* Count number of arguments. */ + for (argc = 0; argv[argc] != NULL; argc++) + ; + + /* Allocate new argument vector. */ + new_argv = XMALLOC (char *, argc + 1); + + /* Put quoted arguments into the new argument vector. */ + for (i = 0; i < argc; i++) + { + const char *string = argv[i]; + + if (string[0] == '\0') + new_argv[i] = xstrdup ("\"\""); + else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) + { + int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); + size_t length; + unsigned int backslashes; + const char *s; + char *quoted_string; + char *p; + + length = 0; + backslashes = 0; + if (quote_around) + length++; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + length += backslashes + 1; + length++; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + length += backslashes + 1; + + quoted_string = XMALLOC (char, length + 1); + + p = quoted_string; + backslashes = 0; + if (quote_around) + *p++ = '"'; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + { + unsigned int j; + for (j = backslashes + 1; j > 0; j--) + *p++ = '\\'; + } + *p++ = c; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + { + unsigned int j; + for (j = backslashes; j > 0; j--) + *p++ = '\\'; + *p++ = '"'; + } + *p = '\0'; + + new_argv[i] = quoted_string; + } + else + new_argv[i] = (char *) string; + } + new_argv[argc] = NULL; + + return new_argv; +} +EOF + ;; + esac + + cat <<"EOF" +void lt_dump_script (FILE* f) +{ +EOF + func_emit_wrapper yes | + $SED -n -e ' +s/^\(.\{79\}\)\(..*\)/\1\ +\2/ +h +s/\([\\"]\)/\\\1/g +s/$/\\n/ +s/\([^\n]*\).*/ fputs ("\1", f);/p +g +D' + cat <<"EOF" +} +EOF +} +# end: func_emit_cwrapperexe_src + +# func_win32_import_lib_p ARG +# True if ARG is an import lib, as indicated by $file_magic_cmd +func_win32_import_lib_p () +{ + $debug_cmd + + case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in + *import*) : ;; + *) false ;; + esac +} + +# func_suncc_cstd_abi +# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! +# Several compiler flags select an ABI that is incompatible with the +# Cstd library. Avoid specifying it if any are in CXXFLAGS. +func_suncc_cstd_abi () +{ + $debug_cmd + + case " $compile_command " in + *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) + suncc_use_cstd_abi=no + ;; + *) + suncc_use_cstd_abi=yes + ;; + esac +} + +# func_mode_link arg... +func_mode_link () +{ + $debug_cmd + + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # what system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll that has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args=$nonopt + base_compile="$nonopt $@" + compile_command=$nonopt + finalize_command=$nonopt + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + new_inherited_linker_flags= + + avoid_version=no + bindir= + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + os2dllname= + non_pic_objects= + precious_files_regex= + prefer_static_libs=no + preload=false + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + weak_libs= + single_module=$wl-single_module + func_infer_tag $base_compile + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -shared) + test yes != "$build_libtool_libs" \ + && func_fatal_configuration "cannot build a shared library" + build_old_libs=no + break + ;; + -all-static | -static | -static-libtool-libs) + case $arg in + -all-static) + if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then + func_warning "complete static linking is impossible in this configuration" + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg=$1 + shift + func_quote_arg pretty,unquoted "$arg" + qarg=$func_quote_arg_unquoted_result + func_append libtool_args " $func_quote_arg_result" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + func_append compile_command " @OUTPUT@" + func_append finalize_command " @OUTPUT@" + ;; + esac + + case $prev in + bindir) + bindir=$arg + prev= + continue + ;; + dlfiles|dlprefiles) + $preload || { + # Add the symbol object into the linking commands. + func_append compile_command " @SYMFILE@" + func_append finalize_command " @SYMFILE@" + preload=: + } + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test no = "$dlself"; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test dlprefiles = "$prev"; then + dlself=yes + elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test dlfiles = "$prev"; then + func_append dlfiles " $arg" + else + func_append dlprefiles " $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols=$arg + test -f "$arg" \ + || func_fatal_error "symbol file '$arg' does not exist" + prev= + continue + ;; + expsyms_regex) + export_symbols_regex=$arg + prev= + continue + ;; + framework) + case $host in + *-*-darwin*) + case "$deplibs " in + *" $qarg.ltframework "*) ;; + *) func_append deplibs " $qarg.ltframework" # this is fixed later + ;; + esac + ;; + esac + prev= + continue + ;; + inst_prefix) + inst_prefix_dir=$arg + prev= + continue + ;; + mllvm) + # Clang does not use LLVM to link, so we can simply discard any + # '-mllvm $arg' options when doing the link step. + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat "$save_arg"` + do +# func_append moreargs " $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + if test none != "$pic_object"; then + # Prepend the subdirectory the object is found in. + pic_object=$xdir$pic_object + + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test dlprefiles = "$prev"; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg=$pic_object + fi + + # Non-PIC object. + if test none != "$non_pic_object"; then + # Prepend the subdirectory the object is found in. + non_pic_object=$xdir$non_pic_object + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object=$pic_object + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "'$arg' is not a valid libtool object" + fi + fi + done + else + func_fatal_error "link input file '$arg' does not exist" + fi + arg=$save_arg + prev= + continue + ;; + os2dllname) + os2dllname=$arg + prev= + continue + ;; + precious_regex) + precious_files_regex=$arg + prev= + continue + ;; + release) + release=-$arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + if test rpath = "$prev"; then + case "$rpath " in + *" $arg "*) ;; + *) func_append rpath " $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) func_append xrpath " $arg" ;; + esac + fi + prev= + continue + ;; + shrext) + shrext_cmds=$arg + prev= + continue + ;; + weak) + func_append weak_libs " $arg" + prev= + continue + ;; + xassembler) + func_append compiler_flags " -Xassembler $qarg" + prev= + func_append compile_command " -Xassembler $qarg" + func_append finalize_command " -Xassembler $qarg" + continue + ;; + xcclinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xcompiler) + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xlinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $wl$qarg" + prev= + func_append compile_command " $wl$qarg" + func_append finalize_command " $wl$qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg=$arg + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + # See comment for -static flag below, for more details. + func_append compile_command " $link_static_flag" + func_append finalize_command " $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + func_fatal_error "'-allow-undefined' must not be used because it is the default" + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -bindir) + prev=bindir + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + func_fatal_error "more than one -exported-symbols argument is not allowed" + fi + if test X-export-symbols = "X$arg"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework) + prev=framework + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + func_append compile_command " $arg" + func_append finalize_command " $arg" + ;; + esac + continue + ;; + + -L*) + func_stripname "-L" '' "$arg" + if test -z "$func_stripname_result"; then + if test "$#" -gt 0; then + func_fatal_error "require no space between '-L' and '$1'" + else + func_fatal_error "need path for '-L' option" + fi + fi + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + test -z "$absdir" && \ + func_fatal_error "cannot determine absolute directory name of '$dir'" + dir=$absdir + ;; + esac + case "$deplibs " in + *" -L$dir "* | *" $arg "*) + # Will only happen for absolute or sysroot arguments + ;; + *) + # Preserve sysroot, but never include relative directories + case $dir in + [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; + *) func_append deplibs " -L$dir" ;; + esac + func_append lib_search_path " $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + ::) dllsearchpath=$dir;; + *) func_append dllsearchpath ":$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test X-lc = "X$arg" || test X-lm = "X$arg"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test X-lc = "X$arg" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) + # Do not include libc due to us having libc/libc_r. + test X-lc = "X$arg" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + func_append deplibs " System.ltframework" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test X-lc = "X$arg" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test X-lc = "X$arg" && continue + ;; + esac + elif test X-lc_r = "X$arg"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + func_append deplibs " $arg" + continue + ;; + + -mllvm) + prev=mllvm + continue + ;; + + -module) + module=yes + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + # Darwin uses the -arch flag to determine output architecture. + -model|-arch|-isysroot|--sysroot) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + prev=xcompiler + continue + ;; + # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. + -pthread) + case $host in + *solaris2*) ;; + *) + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + ;; + esac + continue + ;; + -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + continue + ;; + + -multi_module) + single_module=$wl-multi_module + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + func_warning "'-no-install' is ignored for $host" + func_warning "assuming '-no-fast-install' instead" + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -os2dllname) + prev=os2dllname + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + func_stripname '-R' '' "$arg" + dir=$func_stripname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + =*) + func_stripname '=' '' "$dir" + dir=$lt_sysroot$func_stripname_result + ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + continue + ;; + + -shared) + # The effects of -shared are defined in a previous loop. + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -weak) + prev=weak + continue + ;; + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs=$IFS; IFS=, + for flag in $args; do + IFS=$save_ifs + func_quote_arg pretty "$flag" + func_append arg " $func_quote_arg_result" + func_append compiler_flags " $func_quote_arg_result" + done + IFS=$save_ifs + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Wl,*) + func_stripname '-Wl,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs=$IFS; IFS=, + for flag in $args; do + IFS=$save_ifs + func_quote_arg pretty "$flag" + func_append arg " $wl$func_quote_arg_result" + func_append compiler_flags " $wl$func_quote_arg_result" + func_append linker_flags " $func_quote_arg_result" + done + IFS=$save_ifs + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Xassembler) + prev=xassembler + continue + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # -msg_* for osf cc + -msg_*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + ;; + + # Flags to be passed through unchanged, with rationale: + # -64, -mips[0-9] enable 64-bit mode for the SGI compiler + # -r[0-9][0-9]* specify processor for the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler + # +DA*, +DD* enable 64-bit mode for the HP compiler + # -q* compiler args for the IBM compiler + # -m*, -t[45]*, -txscale* architecture-specific flags for GCC + # -F/path path to uninstalled frameworks, gcc on darwin + # -p, -pg, --coverage, -fprofile-* profiling flags for GCC + # -fstack-protector* stack protector flags for GCC + # @file GCC response files + # -tp=* Portland pgcc target processor selection + # --sysroot=* for sysroot support + # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -specs=* GCC specs files + # -stdlib=* select c++ std lib with clang + # -fsanitize=* Clang/GCC memory and address sanitizer + # -fuse-ld=* Linker select flags for GCC + # -static-* direct GCC to link specific libraries statically + # -fcilkplus Cilk Plus language extension features for C/C++ + # -Wa,* Pass flags directly to the assembler + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ + -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus|-Wa,*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + func_append compile_command " $arg" + func_append finalize_command " $arg" + func_append compiler_flags " $arg" + continue + ;; + + -Z*) + if test os2 = "`expr $host : '.*\(os2\)'`"; then + # OS/2 uses -Zxxx to specify OS/2-specific options + compiler_flags="$compiler_flags $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case $arg in + -Zlinker | -Zstack) + prev=xcompiler + ;; + esac + continue + else + # Otherwise treat like 'Some other compiler flag' below + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + fi + ;; + + # Some other compiler flag. + -* | +*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + ;; + + *.$objext) + # A standard object. + func_append objs " $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + test none = "$pic_object" || { + # Prepend the subdirectory the object is found in. + pic_object=$xdir$pic_object + + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test dlprefiles = "$prev"; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg=$pic_object + } + + # Non-PIC object. + if test none != "$non_pic_object"; then + # Prepend the subdirectory the object is found in. + non_pic_object=$xdir$non_pic_object + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object=$pic_object + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "'$arg' is not a valid libtool object" + fi + fi + ;; + + *.$libext) + # An archive. + func_append deplibs " $arg" + func_append old_deplibs " $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + func_resolve_sysroot "$arg" + if test dlfiles = "$prev"; then + # This library was specified with -dlopen. + func_append dlfiles " $func_resolve_sysroot_result" + prev= + elif test dlprefiles = "$prev"; then + # The library was specified with -dlpreopen. + func_append dlprefiles " $func_resolve_sysroot_result" + prev= + else + func_append deplibs " $func_resolve_sysroot_result" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + done # argument parsing loop + + test -n "$prev" && \ + func_fatal_help "the '$prevarg' option requires an argument" + + if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + func_basename "$output" + outputname=$func_basename_result + libobjs_save=$libobjs + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + # Definition is injected by LT_CONFIG during libtool generation. + func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" + + func_dirname "$output" "/" "" + output_objdir=$func_dirname_result$objdir + func_to_tool_file "$output_objdir/" + tool_output_objdir=$func_to_tool_file_result + # Create the object directory. + func_mkdir_p "$output_objdir" + + # Determine the type of output + case $output in + "") + func_fatal_help "you must specify an output file" + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if $opt_preserve_dup_deps; then + case "$libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append libs " $deplib" + done + + if test lib = "$linkmode"; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if $opt_duplicate_compiler_generated_deps; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; + esac + func_append pre_post_deps " $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + + case $linkmode in + lib) + passes="conv dlpreopen link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=false + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + + for pass in $passes; do + # The preopen pass in lib mode reverses $deplibs; put it back here + # so that -L comes before libs that need it for instance... + if test lib,link = "$linkmode,$pass"; then + ## FIXME: Find the place where the list is rebuilt in the wrong + ## order, and fix it there properly + tmp_deplibs= + for deplib in $deplibs; do + tmp_deplibs="$deplib $tmp_deplibs" + done + deplibs=$tmp_deplibs + fi + + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass"; then + libs=$deplibs + deplibs= + fi + if test prog = "$linkmode"; then + case $pass in + dlopen) libs=$dlfiles ;; + dlpreopen) libs=$dlprefiles ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test lib,dlpreopen = "$linkmode,$pass"; then + # Collect and forward deplibs of preopened libtool libs + for lib in $dlprefiles; do + # Ignore non-libtool-libs + dependency_libs= + func_resolve_sysroot "$lib" + case $lib in + *.la) func_source "$func_resolve_sysroot_result" ;; + esac + + # Collect preopened libtool deplibs, except any this library + # has declared as weak libs + for deplib in $dependency_libs; do + func_basename "$deplib" + deplib_base=$func_basename_result + case " $weak_libs " in + *" $deplib_base "*) ;; + *) func_append deplibs " $deplib" ;; + esac + done + done + libs=$dlprefiles + fi + if test dlopen = "$pass"; then + # Collect dlpreopened libraries + save_deplibs=$deplibs + deplibs= + fi + + for deplib in $libs; do + lib= + found=false + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append compiler_flags " $deplib" + if test lib = "$linkmode"; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -l*) + if test lib != "$linkmode" && test prog != "$linkmode"; then + func_warning "'-l' is ignored for archives/objects" + continue + fi + func_stripname '-l' '' "$deplib" + name=$func_stripname_result + if test lib = "$linkmode"; then + searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" + else + searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" + fi + for searchdir in $searchdirs; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib=$searchdir/lib$name$search_ext + if test -f "$lib"; then + if test .la = "$search_ext"; then + found=: + else + found=false + fi + break 2 + fi + done + done + if $found; then + # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $deplib "*) + if func_lalib_p "$lib"; then + library_names= + old_library= + func_source "$lib" + for l in $old_library $library_names; do + ll=$l + done + if test "X$ll" = "X$old_library"; then # only static version available + found=false + func_dirname "$lib" "" "." + ladir=$func_dirname_result + lib=$ladir/$old_library + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + else + # deplib doesn't seem to be a libtool library + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + ;; # -l + *.ltframework) + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + if test lib = "$linkmode"; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test conv = "$pass" && continue + newdependency_libs="$deplib $newdependency_libs" + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + prog) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + continue + fi + if test scan = "$pass"; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + *) + func_warning "'-L' is ignored for archives/objects" + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test link = "$pass"; then + func_stripname '-R' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) + func_resolve_sysroot "$deplib" + lib=$func_resolve_sysroot_result + ;; + *.$libext) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + # Linking convenience modules into shared libraries is allowed, + # but linking other static libraries is non-portable. + case " $dlpreconveniencelibs " in + *" $deplib "*) ;; + *) + valid_a_lib=false + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=: + fi + ;; + pass_all) + valid_a_lib=: + ;; + esac + if $valid_a_lib; then + echo + $ECHO "*** Warning: Linking the shared library $output against the" + $ECHO "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + else + echo + $ECHO "*** Warning: Trying to link with static lib archive $deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because the file extensions .$libext of this argument makes me believe" + echo "*** that it is just a static archive that I should not use here." + fi + ;; + esac + continue + ;; + prog) + if test link != "$pass"; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + elif test prog = "$linkmode"; then + if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + func_append newdlprefiles " $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append newdlfiles " $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=: + continue + ;; + esac # case $deplib + + $found || test -f "$lib" \ + || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$lib" \ + || func_fatal_error "'$lib' is not a valid libtool archive" + + func_dirname "$lib" "" "." + ladir=$func_dirname_result + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + inherited_linker_flags= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + func_source "$lib" + + # Convert "-framework foo" to "foo.ltframework" + if test -n "$inherited_linker_flags"; then + tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` + for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do + case " $new_inherited_linker_flags " in + *" $tmp_inherited_linker_flag "*) ;; + *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; + esac + done + fi + dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass" || + { test prog != "$linkmode" && test lib != "$linkmode"; }; then + test -n "$dlopen" && func_append dlfiles " $dlopen" + test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" + fi + + if test conv = "$pass"; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + func_fatal_error "cannot find name of link library for '$lib'" + fi + # It is a libtool convenience library, so add in its objects. + func_append convenience " $ladir/$objdir/$old_library" + func_append old_convenience " $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done + elif test prog != "$linkmode" && test lib != "$linkmode"; then + func_fatal_error "'$lib' is not a convenience library" + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + if test -n "$old_library" && + { test yes = "$prefer_static_libs" || + test built,no = "$prefer_static_libs,$installed"; }; then + linklib=$old_library + else + for l in $old_library $library_names; do + linklib=$l + done + fi + if test -z "$linklib"; then + func_fatal_error "cannot find name of link library for '$lib'" + fi + + # This library was specified with -dlopen. + if test dlopen = "$pass"; then + test -z "$libdir" \ + && func_fatal_error "cannot -dlopen a convenience library: '$lib'" + if test -z "$dlname" || + test yes != "$dlopen_support" || + test no = "$build_libtool_libs" + then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + func_append dlprefiles " $lib $dependency_libs" + else + func_append newdlfiles " $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + func_warning "cannot determine absolute directory name of '$ladir'" + func_warning "passing it literally to the linker, although it might fail" + abs_ladir=$ladir + fi + ;; + esac + func_basename "$lib" + laname=$func_basename_result + + # Find the relevant object directory and library name. + if test yes = "$installed"; then + if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + func_warning "library '$lib' was moved." + dir=$ladir + absdir=$abs_ladir + libdir=$abs_ladir + else + dir=$lt_sysroot$libdir + absdir=$lt_sysroot$libdir + fi + test yes = "$hardcode_automatic" && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir=$ladir + absdir=$abs_ladir + # Remove this search path later + func_append notinst_path " $abs_ladir" + else + dir=$ladir/$objdir + absdir=$abs_ladir/$objdir + # Remove this search path later + func_append notinst_path " $abs_ladir" + fi + fi # $installed = yes + func_stripname 'lib' '.la' "$laname" + name=$func_stripname_result + + # This library was specified with -dlpreopen. + if test dlpreopen = "$pass"; then + if test -z "$libdir" && test prog = "$linkmode"; then + func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" + fi + case $host in + # special handling for platforms with PE-DLLs. + *cygwin* | *mingw* | *cegcc* ) + # Linker will automatically link against shared library if both + # static and shared are present. Therefore, ensure we extract + # symbols from the import library if a shared library is present + # (otherwise, the dlopen module name will be incorrect). We do + # this by putting the import library name into $newdlprefiles. + # We recover the dlopen module name by 'saving' the la file + # name in a special purpose variable, and (later) extracting the + # dlname from the la file. + if test -n "$dlname"; then + func_tr_sh "$dir/$linklib" + eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" + func_append newdlprefiles " $dir/$linklib" + else + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + fi + ;; + * ) + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + func_append newdlprefiles " $dir/$dlname" + else + func_append newdlprefiles " $dir/$linklib" + fi + ;; + esac + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test lib = "$linkmode"; then + deplibs="$dir/$old_library $deplibs" + elif test prog,link = "$linkmode,$pass"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test prog = "$linkmode" && test link != "$pass"; then + func_append newlib_search_path " $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=false + if test no != "$link_all_deplibs" || test -z "$library_names" || + test no = "$build_libtool_libs"; then + linkalldeplibs=: + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + esac + # Need to link against all dependency_libs? + if $linkalldeplibs; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test prog,link = "$linkmode,$pass"; then + if test -n "$library_names" && + { { test no = "$prefer_static_libs" || + test built,yes = "$prefer_static_libs,$installed"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then + # Make sure the rpath contains only unique directories. + case $temp_rpath: in + *"$absdir:"*) ;; + *) func_append temp_rpath "$absdir:" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if $alldeplibs && + { test pass_all = "$deplibs_check_method" || + { test yes = "$build_libtool_libs" && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test built = "$use_static_libs" && test yes = "$installed"; then + use_static_libs=no + fi + if test -n "$library_names" && + { test no = "$use_static_libs" || test -z "$old_library"; }; then + case $host in + *cygwin* | *mingw* | *cegcc* | *os2*) + # No point in relinking DLLs because paths are not encoded + func_append notinst_deplibs " $lib" + need_relink=no + ;; + *) + if test no = "$installed"; then + func_append notinst_deplibs " $lib" + need_relink=yes + fi + ;; + esac + # This is a shared library + + # Warn about portability, can't link against -module's on some + # systems (darwin). Don't bleat about dlopened modules though! + dlopenmodule= + for dlpremoduletest in $dlprefiles; do + if test "X$dlpremoduletest" = "X$lib"; then + dlopenmodule=$dlpremoduletest + break + fi + done + if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then + echo + if test prog = "$linkmode"; then + $ECHO "*** Warning: Linking the executable $output against the loadable module" + else + $ECHO "*** Warning: Linking the shared library $output against the loadable module" + fi + $ECHO "*** $linklib is not portable!" + fi + if test lib = "$linkmode" && + test yes = "$hardcode_into_libs"; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + shift + realname=$1 + shift + libname=`eval "\\$ECHO \"$libname_spec\""` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname=$dlname + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw* | *cegcc* | *os2*) + func_arith $current - $age + major=$func_arith_result + versuffix=-$major + ;; + esac + eval soname=\"$soname_spec\" + else + soname=$realname + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot=$soname + func_basename "$soroot" + soname=$func_basename_result + func_stripname 'lib' '.dll' "$soname" + newlib=libimp-$func_stripname_result.a + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + func_verbose "extracting exported symbol list from '$soname'" + func_execute_cmds "$extract_expsyms_cmds" 'exit $?' + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + func_verbose "generating import library for '$soname'" + func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test prog = "$linkmode" || test relink != "$opt_mode"; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test no = "$hardcode_direct"; then + add=$dir/$linklib + case $host in + *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; + *-*-sysv4*uw2*) add_dir=-L$dir ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir=-L$dir ;; + *-*-darwin* ) + # if the lib is a (non-dlopened) module then we cannot + # link against it, someone is ignoring the earlier warnings + if /usr/bin/file -L $add 2> /dev/null | + $GREP ": [^:]* bundle" >/dev/null; then + if test "X$dlopenmodule" != "X$lib"; then + $ECHO "*** Warning: lib $linklib is a module, not a shared library" + if test -z "$old_library"; then + echo + echo "*** And there doesn't seem to be a static archive available" + echo "*** The link will probably fail, sorry" + else + add=$dir/$old_library + fi + elif test -n "$old_library"; then + add=$dir/$old_library + fi + fi + esac + elif test no = "$hardcode_minus_L"; then + case $host in + *-*-sunos*) add_shlibpath=$dir ;; + esac + add_dir=-L$dir + add=-l$name + elif test no = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name + else + lib_linked=no + fi + ;; + relink) + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$dir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$absdir + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test yes != "$lib_linked"; then + func_fatal_configuration "unsupported hardcode properties" + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) func_append compile_shlibpath "$add_shlibpath:" ;; + esac + fi + if test prog = "$linkmode"; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test yes != "$hardcode_direct" && + test yes != "$hardcode_minus_L" && + test yes = "$hardcode_shlibpath_var"; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + fi + fi + fi + + if test prog = "$linkmode" || test relink = "$opt_mode"; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$libdir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$libdir + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + add=-l$name + elif test yes = "$hardcode_automatic"; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib"; then + add=$inst_prefix_dir$libdir/$linklib + else + add=$libdir/$linklib + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir=-L$libdir + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add=-l$name + fi + + if test prog = "$linkmode"; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test prog = "$linkmode"; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test unsupported != "$hardcode_direct"; then + test -n "$old_library" && linklib=$old_library + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test yes = "$build_libtool_libs"; then + # Not a shared library + if test pass_all != "$deplibs_check_method"; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + echo + $ECHO "*** Warning: This system cannot link to static lib archive $lib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + if test yes = "$module"; then + echo "*** But as you try to build a module library, libtool will still create " + echo "*** a static module, that should work as long as the dlopening application" + echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** 'nm' from GNU binutils and a full rebuild may help." + fi + if test no = "$build_old_libs"; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test lib = "$linkmode"; then + if test -n "$dependency_libs" && + { test yes != "$hardcode_into_libs" || + test yes = "$build_old_libs" || + test yes = "$link_static"; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) func_stripname '-R' '' "$libdir" + temp_xrpath=$func_stripname_result + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) func_append xrpath " $temp_xrpath";; + esac;; + *) func_append temp_deplibs " $libdir";; + esac + done + dependency_libs=$temp_deplibs + fi + + func_append newlib_search_path " $absdir" + # Link against this library + test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result";; + *) func_resolve_sysroot "$deplib" ;; + esac + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $func_resolve_sysroot_result "*) + func_append specialdeplibs " $func_resolve_sysroot_result" ;; + esac + fi + func_append tmp_libs " $func_resolve_sysroot_result" + done + + if test no != "$link_all_deplibs"; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + path= + case $deplib in + -L*) path=$deplib ;; + *.la) + func_resolve_sysroot "$deplib" + deplib=$func_resolve_sysroot_result + func_dirname "$deplib" "" "." + dir=$func_dirname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + func_warning "cannot determine absolute directory name of '$dir'" + absdir=$dir + fi + ;; + esac + if $GREP "^installed=no" $deplib > /dev/null; then + case $host in + *-*-darwin*) + depdepl= + eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names"; then + for tmp in $deplibrary_names; do + depdepl=$tmp + done + if test -f "$absdir/$objdir/$depdepl"; then + depdepl=$absdir/$objdir/$depdepl + darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + if test -z "$darwin_install_name"; then + darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + fi + func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" + func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" + path= + fi + fi + ;; + *) + path=-L$absdir/$objdir + ;; + esac + else + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "'$deplib' is not a valid libtool archive" + test "$absdir" != "$libdir" && \ + func_warning "'$deplib' seems to be moved" + + path=-L$absdir + fi + ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + if test link = "$pass"; then + if test prog = "$linkmode"; then + compile_deplibs="$new_inherited_linker_flags $compile_deplibs" + finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" + else + compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + fi + fi + dependency_libs=$newdependency_libs + if test dlpreopen = "$pass"; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test dlopen != "$pass"; then + test conv = "$pass" || { + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) func_append lib_search_path " $dir" ;; + esac + done + newlib_search_path= + } + + if test prog,link = "$linkmode,$pass"; then + vars="compile_deplibs finalize_deplibs" + else + vars=deplibs + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) func_append tmp_libs " $deplib" ;; + esac + ;; + *) func_append tmp_libs " $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + + # Add Sun CC postdeps if required: + test CXX = "$tagname" && { + case $host_os in + linux*) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C++ 5.9 + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + + solaris*) + func_cc_basename "$CC" + case $func_cc_basename_result in + CC* | sunCC*) + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + esac + } + + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i= + ;; + esac + if test -n "$i"; then + func_append tmp_libs " $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test prog = "$linkmode"; then + dlfiles=$newdlfiles + fi + if test prog = "$linkmode" || test lib = "$linkmode"; then + dlprefiles=$newdlprefiles + fi + + case $linkmode in + oldlib) + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for archives" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "'-l' and '-L' are ignored for archives" ;; + esac + + test -n "$rpath" && \ + func_warning "'-rpath' is ignored for archives" + + test -n "$xrpath" && \ + func_warning "'-R' is ignored for archives" + + test -n "$vinfo" && \ + func_warning "'-version-info/-version-number' is ignored for archives" + + test -n "$release" && \ + func_warning "'-release' is ignored for archives" + + test -n "$export_symbols$export_symbols_regex" && \ + func_warning "'-export-symbols' is ignored for archives" + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs=$output + func_append objs "$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form 'libNAME.la'. + case $outputname in + lib*) + func_stripname 'lib' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + test no = "$module" \ + && func_fatal_help "libtool library '$output' must begin with 'lib'" + + if test no != "$need_lib_prefix"; then + # Add the "lib" prefix for modules if required + func_stripname '' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + func_stripname '' '.la' "$outputname" + libname=$func_stripname_result + fi + ;; + esac + + if test -n "$objs"; then + if test pass_all != "$deplibs_check_method"; then + func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" + else + echo + $ECHO "*** Warning: Linking the shared library $output against the non-libtool" + $ECHO "*** objects $objs is not portable!" + func_append libobjs " $objs" + fi + fi + + test no = "$dlself" \ + || func_warning "'-dlopen self' is ignored for libtool libraries" + + set dummy $rpath + shift + test 1 -lt "$#" \ + && func_warning "ignoring multiple '-rpath's for a libtool library" + + install_libdir=$1 + + oldlibs= + if test -z "$rpath"; then + if test yes = "$build_libtool_libs"; then + # Building a libtool convenience library. + # Some compilers have problems with a '.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + test -n "$vinfo" && \ + func_warning "'-version-info/-version-number' is ignored for convenience libraries" + + test -n "$release" && \ + func_warning "'-release' is ignored for convenience libraries" + else + + # Parse the version information argument. + save_ifs=$IFS; IFS=: + set dummy $vinfo 0 0 0 + shift + IFS=$save_ifs + + test -n "$7" && \ + func_fatal_help "too many parameters to '-version-info'" + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major=$1 + number_minor=$2 + number_revision=$3 + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # that has an extra 1 added just for fun + # + case $version_type in + # correct linux to gnu/linux during the next big refactor + darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) + func_arith $number_major + $number_minor + current=$func_arith_result + age=$number_minor + revision=$number_revision + ;; + freebsd-aout|qnx|sunos) + current=$number_major + revision=$number_minor + age=0 + ;; + irix|nonstopux) + func_arith $number_major + $number_minor + current=$func_arith_result + age=$number_minor + revision=$number_minor + lt_irix_increment=no + ;; + *) + func_fatal_configuration "$modename: unknown library version type '$version_type'" + ;; + esac + ;; + no) + current=$1 + revision=$2 + age=$3 + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "CURRENT '$current' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "REVISION '$revision' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "AGE '$age' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + if test "$age" -gt "$current"; then + func_error "AGE '$age' is greater than the current interface number '$current'" + func_fatal_error "'$vinfo' is not valid version information" + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + # Darwin ld doesn't like 0 for these options... + func_arith $current + 1 + minor_current=$func_arith_result + xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + # On Darwin other compilers + case $CC in + nagfor*) + verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" + ;; + *) + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + esac + ;; + + freebsd-aout) + major=.$current + versuffix=.$current.$revision + ;; + + freebsd-elf | midnightbsd-elf) + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + ;; + + irix | nonstopux) + if test no = "$lt_irix_increment"; then + func_arith $current - $age + else + func_arith $current - $age + 1 + fi + major=$func_arith_result + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring=$verstring_prefix$major.$revision + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test 0 -ne "$loop"; do + func_arith $revision - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring=$verstring_prefix$major.$iface:$verstring + done + + # Before this point, $major must not contain '.'. + major=.$major + versuffix=$major.$revision + ;; + + linux) # correct to gnu/linux during the next big refactor + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + ;; + + osf) + func_arith $current - $age + major=.$func_arith_result + versuffix=.$current.$age.$revision + verstring=$current.$age.$revision + + # Add in all the interfaces that we are compatible with. + loop=$age + while test 0 -ne "$loop"; do + func_arith $current - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring=$verstring:$iface.0 + done + + # Make executables depend on our current version. + func_append verstring ":$current.0" + ;; + + qnx) + major=.$current + versuffix=.$current + ;; + + sco) + major=.$current + versuffix=.$current + ;; + + sunos) + major=.$current + versuffix=.$current.$revision + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 file systems. + func_arith $current - $age + major=$func_arith_result + versuffix=-$major + ;; + + *) + func_fatal_configuration "unknown library version type '$version_type'" + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring=0.0 + ;; + esac + if test no = "$need_version"; then + versuffix= + else + versuffix=.0.0 + fi + fi + + # Remove version info from name if versioning should be avoided + if test yes,no = "$avoid_version,$need_version"; then + major= + versuffix= + verstring= + fi + + # Check to see if the archive will have undefined symbols. + if test yes = "$allow_undefined"; then + if test unsupported = "$allow_undefined_flag"; then + if test yes = "$build_old_libs"; then + func_warning "undefined symbols not allowed in $host shared libraries; building static only" + build_libtool_libs=no + else + func_fatal_error "can't build $host shared library unless -no-undefined is specified" + fi + fi + else + # Don't allow undefined symbols. + allow_undefined_flag=$no_undefined_flag + fi + + fi + + func_generate_dlsyms "$libname" "$libname" : + func_append libobjs " $symfileobj" + test " " = "$libobjs" && libobjs= + + if test relink != "$opt_mode"; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$ECHO "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext | *.gcno) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) + if test -n "$precious_files_regex"; then + if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + func_append removelist " $p" + ;; + *) ;; + esac + done + test -n "$removelist" && \ + func_show_eval "${RM}r \$removelist" + fi + + # Now set the variables for building old libraries. + if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then + func_append oldlibs " $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` + # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` + # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` + #done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + func_replace_sysroot "$libdir" + func_append temp_xrpath " -R$func_replace_sysroot_result" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles=$dlfiles + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) func_append dlfiles " $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles=$dlprefiles + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) func_append dlprefiles " $lib" ;; + esac + done + + if test yes = "$build_libtool_libs"; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + func_append deplibs " System.ltframework" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test yes = "$build_libtool_need_lc"; then + func_append deplibs " -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release= + versuffix= + major= + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $opt_dry_run || $RM conftest.c + cat > conftest.c </dev/null` + $nocaseglob + else + potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` + fi + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null | + $GREP " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib=$potent_lib + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | $SED 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; + *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | + $SED -e 10q | + $EGREP "$file_magic_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib= + break 2 + fi + done + done + fi + if test -n "$a_deplib"; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib"; then + $ECHO "*** with $libname but no candidates were found. (...for file magic test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a file magic. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + for a_deplib in $deplibs; do + case $a_deplib in + -l*) + func_stripname -l '' "$a_deplib" + name=$func_stripname_result + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $a_deplib "*) + func_append newdeplibs " $a_deplib" + a_deplib= + ;; + esac + fi + if test -n "$a_deplib"; then + libname=`eval "\\$ECHO \"$libname_spec\""` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib=$potent_lib # see symlink-check above in file_magic test + if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ + $EGREP "$match_pattern_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib= + break 2 + fi + done + done + fi + if test -n "$a_deplib"; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib"; then + $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a regex pattern. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs= + tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + for i in $predeps $postdeps; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` + done + fi + case $tmp_deplibs in + *[!\ \ ]*) + echo + if test none = "$deplibs_check_method"; then + echo "*** Warning: inter-library dependencies are not supported in this platform." + else + echo "*** Warning: inter-library dependencies are not known to be supported." + fi + echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + ;; + esac + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library with the System framework + newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + if test yes = "$droppeddeps"; then + if test yes = "$module"; then + echo + echo "*** Warning: libtool could not satisfy all declared inter-library" + $ECHO "*** dependencies of module $libname. Therefore, libtool will create" + echo "*** a static module, that should work as long as the dlopening" + echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** 'nm' from GNU binutils and a full rebuild may help." + fi + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + echo "*** The inter-library dependencies that have been dropped here will be" + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." + + if test no = "$allow_undefined"; then + echo + echo "*** Since this library must not contain undefined symbols," + echo "*** because either the platform does not support them or" + echo "*** it was explicitly requested with -no-undefined," + echo "*** libtool will only create a static version of it." + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + case $host in + *-*-darwin*) + newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + deplibs=$new_libs + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test yes = "$build_libtool_libs"; then + # Remove $wl instances when linking with ld. + # FIXME: should test the right _cmds variable. + case $archive_cmds in + *\$LD\ *) wl= ;; + esac + if test yes = "$hardcode_into_libs"; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath=$finalize_rpath + test relink = "$opt_mode" || rpath=$compile_rpath$rpath + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + func_replace_sysroot "$libdir" + libdir=$func_replace_sysroot_result + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append dep_rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath=$finalize_shlibpath + test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + shift + realname=$1 + shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname=$realname + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib=$output_objdir/$realname + linknames= + for link + do + func_append linknames " $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` + test "X$libobjs" = "X " && libobjs= + + delfiles= + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" + export_symbols=$output_objdir/$libname.uexp + func_append delfiles " $export_symbols" + fi + + orig_export_symbols= + case $host_os in + cygwin* | mingw* | cegcc*) + if test -n "$export_symbols" && test -z "$export_symbols_regex"; then + # exporting using user supplied symfile + func_dll_def_p "$export_symbols" || { + # and it's NOT already a .def file. Must figure out + # which of the given symbols are data symbols and tag + # them as such. So, trigger use of export_symbols_cmds. + # export_symbols gets reassigned inside the "prepare + # the list of exported symbols" if statement, so the + # include_expsyms logic still works. + orig_export_symbols=$export_symbols + export_symbols= + always_export_symbols=yes + } + fi + ;; + esac + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp + $opt_dry_run || $RM $export_symbols + cmds=$export_symbols_cmds + save_ifs=$IFS; IFS='~' + for cmd1 in $cmds; do + IFS=$save_ifs + # Take the normal branch if the nm_file_list_spec branch + # doesn't work or if tool conversion is not needed. + case $nm_file_list_spec~$to_tool_file_cmd in + *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) + try_normal_branch=yes + eval cmd=\"$cmd1\" + func_len " $cmd" + len=$func_len_result + ;; + *) + try_normal_branch=no + ;; + esac + if test yes = "$try_normal_branch" \ + && { test "$len" -lt "$max_cmd_len" \ + || test "$max_cmd_len" -le -1; } + then + func_show_eval "$cmd" 'exit $?' + skipped_export=false + elif test -n "$nm_file_list_spec"; then + func_basename "$output" + output_la=$func_basename_result + save_libobjs=$libobjs + save_output=$output + output=$output_objdir/$output_la.nm + func_to_tool_file "$output" + libobjs=$nm_file_list_spec$func_to_tool_file_result + func_append delfiles " $output" + func_verbose "creating $NM input file list: $output" + for obj in $save_libobjs; do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > "$output" + eval cmd=\"$cmd1\" + func_show_eval "$cmd" 'exit $?' + output=$save_output + libobjs=$save_libobjs + skipped_export=false + else + # The command line is too long to execute in one step. + func_verbose "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS=$save_ifs + if test -n "$export_symbols_regex" && test : != "$skipped_export"; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test : != "$skipped_export" && test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands, which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + func_append tmp_deplibs " $test_deplib" + ;; + esac + done + deplibs=$tmp_deplibs + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec" && + test yes = "$compiler_needs_object" && + test -z "$libobjs"; then + # extract the archives, so we have objects to list. + # TODO: could optimize this to just extract one archive. + whole_archive_flag_spec= + fi + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + else + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + fi + + if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + func_append linker_flags " $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test relink = "$opt_mode"; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test yes = "$module" && test -n "$module_cmds"; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test : != "$skipped_export" && + func_len " $test_cmds" && + len=$func_len_result && + test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise + # or, if using GNU ld and skipped_export is not :, use a linker + # script. + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + func_basename "$output" + output_la=$func_basename_result + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + last_robj= + k=1 + + if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then + output=$output_objdir/$output_la.lnkscript + func_verbose "creating GNU ld script: $output" + echo 'INPUT (' > $output + for obj in $save_libobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + echo ')' >> $output + func_append delfiles " $output" + func_to_tool_file "$output" + output=$func_to_tool_file_result + elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then + output=$output_objdir/$output_la.lnk + func_verbose "creating linker input file list: $output" + : > $output + set x $save_libobjs + shift + firstobj= + if test yes = "$compiler_needs_object"; then + firstobj="$1 " + shift + fi + for obj + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + func_append delfiles " $output" + func_to_tool_file "$output" + output=$firstobj\"$file_list_spec$func_to_tool_file_result\" + else + if test -n "$save_libobjs"; then + func_verbose "creating reloadable object files..." + output=$output_objdir/$output_la-$k.$objext + eval test_cmds=\"$reload_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + if test -z "$objlist" || + test "$len" -lt "$max_cmd_len"; then + func_append objlist " $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test 1 -eq "$k"; then + # The first file doesn't have a previous command to add. + reload_objs=$objlist + eval concat_cmds=\"$reload_cmds\" + else + # All subsequent reloadable object files will link in + # the last one created. + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" + fi + last_robj=$output_objdir/$output_la-$k.$objext + func_arith $k + 1 + k=$func_arith_result + output=$output_objdir/$output_la-$k.$objext + objlist=" $obj" + func_len " $last_robj" + func_arith $len0 + $func_len_result + len=$func_arith_result + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds$reload_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + func_append delfiles " $output" + + else + output= + fi + + ${skipped_export-false} && { + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp + $opt_dry_run || $RM $export_symbols + libobjs=$output + # Append the command to create the export file. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + } + + test -n "$save_libobjs" && + func_verbose "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs=$IFS; IFS='~' + for cmd in $concat_cmds; do + IFS=$save_ifs + $opt_quiet || { + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS=$save_ifs + + if test -n "$export_symbols_regex" && ${skipped_export-false}; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + + ${skipped_export-false} && { + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands, which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + } + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test yes = "$module" && test -n "$module_cmds"; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + fi + + if test -n "$delfiles"; then + # Append the command to remove temporary files to $cmds. + eval cmds=\"\$cmds~\$RM $delfiles\" + fi + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + + save_ifs=$IFS; IFS='~' + for cmd in $cmds; do + IFS=$sp$nl + eval cmd=\"$cmd\" + IFS=$save_ifs + $opt_quiet || { + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS=$save_ifs + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + func_show_eval '${RM}r "$gentop"' + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test yes = "$module" || test yes = "$export_dynamic"; then + # On all known operating systems, these are identical. + dlname=$soname + fi + fi + ;; + + obj) + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for objects" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "'-l' and '-L' are ignored for objects" ;; + esac + + test -n "$rpath" && \ + func_warning "'-rpath' is ignored for objects" + + test -n "$xrpath" && \ + func_warning "'-R' is ignored for objects" + + test -n "$vinfo" && \ + func_warning "'-version-info' is ignored for objects" + + test -n "$release" && \ + func_warning "'-release' is ignored for objects" + + case $output in + *.lo) + test -n "$objs$old_deplibs" && \ + func_fatal_error "cannot build library object '$output' from non-libtool objects" + + libobj=$output + func_lo2o "$libobj" + obj=$func_lo2o_result + ;; + *) + libobj= + obj=$output + ;; + esac + + # Delete the old objects. + $opt_dry_run || $RM $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # if reload_cmds runs $LD directly, get rid of -Wl from + # whole_archive_flag_spec and hope we can get by with turning comma + # into space. + case $reload_cmds in + *\$LD[\ \$]*) wl= ;; + esac + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` + reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags + else + gentop=$output_objdir/${obj}x + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # If we're not building shared, we need to use non_pic_objs + test yes = "$build_libtool_libs" || libobjs=$non_pic_objects + + # Create the old-style object. + reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs + + output=$obj + func_execute_cmds "$reload_cmds" 'exit $?' + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + fi + + test yes = "$build_libtool_libs" || { + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + } + + if test -n "$pic_flag" || test default != "$pic_mode"; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output=$libobj + func_execute_cmds "$reload_cmds" 'exit $?' + fi + + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) func_stripname '' '.exe' "$output" + output=$func_stripname_result.exe;; + esac + test -n "$vinfo" && \ + func_warning "'-version-info' is ignored for programs" + + test -n "$release" && \ + func_warning "'-release' is ignored for programs" + + $preload \ + && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ + && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + case $host in + *-*-darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + # But is supposedly fixed on 10.4 or later (yay!). + if test CXX = "$tagname"; then + case ${MACOSX_DEPLOYMENT_TARGET-10.0} in + 10.[0123]) + func_append compile_command " $wl-bind_at_load" + func_append finalize_command " $wl-bind_at_load" + ;; + esac + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + compile_deplibs=$new_libs + + + func_append compile_command " $compile_deplibs" + func_append finalize_command " $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + ::) dllsearchpath=$libdir;; + *) func_append dllsearchpath ":$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath=$rpath + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) func_append finalize_perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath=$rpath + + if test -n "$libobjs" && test yes = "$build_old_libs"; then + # Transform all the library objects into standard objects. + compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + fi + + func_generate_dlsyms "$outputname" "@PROGRAM@" false + + # template prelinking step + if test -n "$prelink_cmds"; then + func_execute_cmds "$prelink_cmds" 'exit $?' + fi + + wrappers_required=: + case $host in + *cegcc* | *mingw32ce*) + # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. + wrappers_required=false + ;; + *cygwin* | *mingw* ) + test yes = "$build_libtool_libs" || wrappers_required=false + ;; + *) + if test no = "$need_relink" || test yes != "$build_libtool_libs"; then + wrappers_required=false + fi + ;; + esac + $wrappers_required || { + # Replace the output file specification. + compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + link_command=$compile_command$compile_rpath + + # We have no uninstalled library dependencies, so finalize right now. + exit_status=0 + func_show_eval "$link_command" 'exit_status=$?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Delete the generated files. + if test -f "$output_objdir/${outputname}S.$objext"; then + func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' + fi + + exit $exit_status + } + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + func_append rpath "$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test yes = "$no_install"; then + # We don't need to create a wrapper script. + link_command=$compile_var$compile_command$compile_rpath + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $opt_dry_run || $RM $output + # Link the executable and exit + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + exit $EXIT_SUCCESS + fi + + case $hardcode_action,$fast_install in + relink,*) + # Fast installation is not supported + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + + func_warning "this platform does not like uninstalled shared libraries" + func_warning "'$output' will be relinked during installation" + ;; + *,yes) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` + ;; + *,no) + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + ;; + *,needless) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command= + ;; + esac + + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname + + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output_objdir/$outputname" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Now create the wrapper script. + func_verbose "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_arg pretty "$var_value" + relink_command="$var=$func_quote_arg_result; export $var; $relink_command" + fi + done + func_quote eval cd "`pwd`" + func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" + relink_command=$func_quote_arg_unquoted_result + fi + + # Only actually do things if not in dry run mode. + $opt_dry_run || { + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) func_stripname '' '.exe' "$output" + output=$func_stripname_result ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + func_stripname '' '.exe' "$outputname" + outputname=$func_stripname_result ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + func_dirname_and_basename "$output" "" "." + output_name=$func_basename_result + output_path=$func_dirname_result + cwrappersource=$output_path/$objdir/lt-$output_name.c + cwrapper=$output_path/$output_name.exe + $RM $cwrappersource $cwrapper + trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + func_emit_cwrapperexe_src > $cwrappersource + + # The wrapper executable is built using the $host compiler, + # because it contains $host paths and files. If cross- + # compiling, it, like the target executable, must be + # executed on the $host or under an emulation environment. + $opt_dry_run || { + $LTCC $LTCFLAGS -o $cwrapper $cwrappersource + $STRIP $cwrapper + } + + # Now, create the wrapper script for func_source use: + func_ltwrapper_scriptname $cwrapper + $RM $func_ltwrapper_scriptname_result + trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 + $opt_dry_run || { + # note: this script will not be executed, so do not chmod. + if test "x$build" = "x$host"; then + $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result + else + func_emit_wrapper no > $func_ltwrapper_scriptname_result + fi + } + ;; + * ) + $RM $output + trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 + + func_emit_wrapper no > $output + chmod +x $output + ;; + esac + } + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + case $build_libtool_libs in + convenience) + oldobjs="$libobjs_save $symfileobj" + addlibs=$convenience + build_libtool_libs=no + ;; + module) + oldobjs=$libobjs_save + addlibs=$old_convenience + build_libtool_libs=no + ;; + *) + oldobjs="$old_deplibs $non_pic_objects" + $preload && test -f "$symfileobj" \ + && func_append oldobjs " $symfileobj" + addlibs=$old_convenience + ;; + esac + + if test -n "$addlibs"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $addlibs + func_append oldobjs " $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then + cmds=$old_archive_from_new_cmds + else + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append oldobjs " $func_extract_archives_result" + fi + + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + func_basename "$obj" + $ECHO "$func_basename_result" + done | sort | sort -uc >/dev/null 2>&1); then + : + else + echo "copying selected object files to avoid basename conflicts..." + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + func_mkdir_p "$gentop" + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + func_basename "$obj" + objbase=$func_basename_result + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + func_arith $counter + 1 + counter=$func_arith_result + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + func_append oldobjs " $gentop/$newobj" + ;; + *) func_append oldobjs " $obj" ;; + esac + done + fi + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + eval cmds=\"$old_archive_cmds\" + + func_len " $cmds" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + elif test -n "$archiver_list_spec"; then + func_verbose "using command file archive linking..." + for obj in $oldobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > $output_objdir/$libname.libcmd + func_to_tool_file "$output_objdir/$libname.libcmd" + oldobjs=" $archiver_list_spec$func_to_tool_file_result" + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + func_verbose "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + oldobjs= + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + eval test_cmds=\"$old_archive_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + for obj in $save_oldobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + func_append objlist " $obj" + if test "$len" -lt "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj"; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" + objlist= + len=$len0 + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test -z "$oldobjs"; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + func_execute_cmds "$cmds" 'exit $?' + done + + test -n "$generated" && \ + func_show_eval "${RM}r$generated" + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test yes = "$build_old_libs" && old_library=$libname.$libext + func_verbose "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_arg pretty,unquoted "$var_value" + relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + func_quote eval cd "`pwd`" + relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + func_quote_arg pretty,unquoted "$relink_command" + relink_command=$func_quote_arg_unquoted_result + if test yes = "$hardcode_automatic"; then + relink_command= + fi + + # Only create the output if not a dry run. + $opt_dry_run || { + for installed in no yes; do + if test yes = "$installed"; then + if test -z "$install_libdir"; then + break + fi + output=$output_objdir/${outputname}i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + func_basename "$deplib" + name=$func_basename_result + func_resolve_sysroot "$deplib" + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` + test -z "$libdir" && \ + func_fatal_error "'$deplib' is not a valid libtool archive" + func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" + ;; + -L*) + func_stripname -L '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -L$func_replace_sysroot_result" + ;; + -R*) + func_stripname -R '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -R$func_replace_sysroot_result" + ;; + *) func_append newdependency_libs " $deplib" ;; + esac + done + dependency_libs=$newdependency_libs + newdlfiles= + + for lib in $dlfiles; do + case $lib in + *.la) + func_basename "$lib" + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "'$lib' is not a valid libtool archive" + func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" + ;; + *) func_append newdlfiles " $lib" ;; + esac + done + dlfiles=$newdlfiles + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + *.la) + # Only pass preopened files to the pseudo-archive (for + # eventual linking with the app. that links it) if we + # didn't already link the preopened objects directly into + # the library: + func_basename "$lib" + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "'$lib' is not a valid libtool archive" + func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" + ;; + esac + done + dlprefiles=$newdlprefiles + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlfiles " $abs" + done + dlfiles=$newdlfiles + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlprefiles " $abs" + done + dlprefiles=$newdlprefiles + fi + $RM $output + # place dlname in correct position for cygwin + # In fact, it would be nice if we could use this code for all target + # systems that can't hard-code library paths into their executables + # and that have no shared library path variable independent of PATH, + # but it turns out we can't easily determine that from inspecting + # libtool variables, so we have to hard-code the OSs to which it + # applies here; at the moment, that means platforms that use the PE + # object format with DLL files. See the long comment at the top of + # tests/bindir.at for full details. + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) + # If a -bindir argument was supplied, place the dll there. + if test -n "$bindir"; then + func_relative_path "$install_libdir" "$bindir" + tdlname=$func_relative_path_result/$dlname + else + # Otherwise fall back on heuristic. + tdlname=../bin/$dlname + fi + ;; + esac + $ECHO > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags='$new_inherited_linker_flags' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Names of additional weak libraries provided by this library +weak_library_names='$weak_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test no,yes = "$installed,$need_relink"; then + $ECHO >> $output "\ +relink_command=\"$relink_command\"" + fi + done + } + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' + ;; + esac + exit $EXIT_SUCCESS +} + +if test link = "$opt_mode" || test relink = "$opt_mode"; then + func_mode_link ${1+"$@"} +fi + + +# func_mode_uninstall arg... +func_mode_uninstall () +{ + $debug_cmd + + RM=$nonopt + files= + rmforce=false + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic=$magic + + for arg + do + case $arg in + -f) func_append RM " $arg"; rmforce=: ;; + -*) func_append RM " $arg" ;; + *) func_append files " $arg" ;; + esac + done + + test -z "$RM" && \ + func_fatal_help "you must specify an RM program" + + rmdirs= + + for file in $files; do + func_dirname "$file" "" "." + dir=$func_dirname_result + if test . = "$dir"; then + odir=$objdir + else + odir=$dir/$objdir + fi + func_basename "$file" + name=$func_basename_result + test uninstall = "$opt_mode" && odir=$dir + + # Remember odir for removal later, being careful to avoid duplicates + if test clean = "$opt_mode"; then + case " $rmdirs " in + *" $odir "*) ;; + *) func_append rmdirs " $odir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if { test -L "$file"; } >/dev/null 2>&1 || + { test -h "$file"; } >/dev/null 2>&1 || + test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif $rmforce; then + continue + fi + + rmfiles=$file + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if func_lalib_p "$file"; then + func_source $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + func_append rmfiles " $odir/$n" + done + test -n "$old_library" && func_append rmfiles " $odir/$old_library" + + case $opt_mode in + clean) + case " $library_names " in + *" $dlname "*) ;; + *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; + esac + test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if func_lalib_p "$file"; then + + # Read the .lo file + func_source $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" && test none != "$pic_object"; then + func_append rmfiles " $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" && test none != "$non_pic_object"; then + func_append rmfiles " $dir/$non_pic_object" + fi + fi + ;; + + *) + if test clean = "$opt_mode"; then + noexename=$name + case $file in + *.exe) + func_stripname '' '.exe' "$file" + file=$func_stripname_result + func_stripname '' '.exe' "$name" + noexename=$func_stripname_result + # $file with .exe has already been added to rmfiles, + # add $file without .exe + func_append rmfiles " $file" + ;; + esac + # Do a test to see if this is a libtool program. + if func_ltwrapper_p "$file"; then + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + relink_command= + func_source $func_ltwrapper_scriptname_result + func_append rmfiles " $func_ltwrapper_scriptname_result" + else + relink_command= + func_source $dir/$noexename + fi + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + func_append rmfiles " $odir/$name $odir/${name}S.$objext" + if test yes = "$fast_install" && test -n "$relink_command"; then + func_append rmfiles " $odir/lt-$name" + fi + if test "X$noexename" != "X$name"; then + func_append rmfiles " $odir/lt-$noexename.c" + fi + fi + fi + ;; + esac + func_show_eval "$RM $rmfiles" 'exit_status=1' + done + + # Try to remove the $objdir's in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + func_show_eval "rmdir $dir >/dev/null 2>&1" + fi + done + + exit $exit_status +} + +if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then + func_mode_uninstall ${1+"$@"} +fi + +test -z "$opt_mode" && { + help=$generic_help + func_fatal_help "you must specify a MODE" +} + +test -z "$exec_cmd" && \ + func_fatal_help "invalid operation mode '$opt_mode'" + +if test -n "$exec_cmd"; then + eval exec "$exec_cmd" + exit $EXIT_FAILURE +fi + +exit $exit_status + + +# The TAGs below are defined such that we never get into a situation +# where we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +build_libtool_libs=no +build_old_libs=yes +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/lib/beagle-3.0.3/config/missing b/lib/beagle-3.0.3/config/missing new file mode 100755 index 0000000..1fe1611 --- /dev/null +++ b/lib/beagle-3.0.3/config/missing @@ -0,0 +1,215 @@ +#! /bin/sh +# Common wrapper for a few potentially missing GNU programs. + +scriptversion=2018-03-07.03; # UTC + +# Copyright (C) 1996-2021 Free Software Foundation, Inc. +# Originally written by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try '$0 --help' for more information" + exit 1 +fi + +case $1 in + + --is-lightweight) + # Used by our autoconf macros to check whether the available missing + # script is modern enough. + exit 0 + ;; + + --run) + # Back-compat with the calling convention used by older automake. + shift + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due +to PROGRAM being missing or too old. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + +Supported PROGRAM values: + aclocal autoconf autoheader autom4te automake makeinfo + bison yacc flex lex help2man + +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. + +Send bug reports to ." + exit $? + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit $? + ;; + + -*) + echo 1>&2 "$0: unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" + exit 1 + ;; + +esac + +# Run the given program, remember its exit status. +"$@"; st=$? + +# If it succeeded, we are done. +test $st -eq 0 && exit 0 + +# Also exit now if we it failed (or wasn't found), and '--version' was +# passed; such an option is passed most likely to detect whether the +# program is present and works. +case $2 in --version|--help) exit $st;; esac + +# Exit code 63 means version mismatch. This often happens when the user +# tries to use an ancient version of a tool on a file that requires a +# minimum version. +if test $st -eq 63; then + msg="probably too old" +elif test $st -eq 127; then + # Program was missing. + msg="missing on your system" +else + # Program was found and executed, but failed. Give up. + exit $st +fi + +perl_URL=https://www.perl.org/ +flex_URL=https://github.com/westes/flex +gnu_software_URL=https://www.gnu.org/software + +program_details () +{ + case $1 in + aclocal|automake) + echo "The '$1' program is part of the GNU Automake package:" + echo "<$gnu_software_URL/automake>" + echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/autoconf>" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + autoconf|autom4te|autoheader) + echo "The '$1' program is part of the GNU Autoconf package:" + echo "<$gnu_software_URL/autoconf/>" + echo "It also requires GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + esac +} + +give_advice () +{ + # Normalize program name to check for. + normalized_program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + + printf '%s\n' "'$1' is $msg." + + configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + case $normalized_program in + autoconf*) + echo "You should only need it if you modified 'configure.ac'," + echo "or m4 files included by it." + program_details 'autoconf' + ;; + autoheader*) + echo "You should only need it if you modified 'acconfig.h' or" + echo "$configure_deps." + program_details 'autoheader' + ;; + automake*) + echo "You should only need it if you modified 'Makefile.am' or" + echo "$configure_deps." + program_details 'automake' + ;; + aclocal*) + echo "You should only need it if you modified 'acinclude.m4' or" + echo "$configure_deps." + program_details 'aclocal' + ;; + autom4te*) + echo "You might have modified some maintainer files that require" + echo "the 'autom4te' program to be rebuilt." + program_details 'autom4te' + ;; + bison*|yacc*) + echo "You should only need it if you modified a '.y' file." + echo "You may want to install the GNU Bison package:" + echo "<$gnu_software_URL/bison/>" + ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; + help2man*) + echo "You should only need it if you modified a dependency" \ + "of a man page." + echo "You may want to install the GNU Help2man package:" + echo "<$gnu_software_URL/help2man/>" + ;; + makeinfo*) + echo "You should only need it if you modified a '.texi' file, or" + echo "any other file indirectly affecting the aspect of the manual." + echo "You might want to install the Texinfo package:" + echo "<$gnu_software_URL/texinfo/>" + echo "The spurious makeinfo call might also be the consequence of" + echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" + echo "want to install GNU make:" + echo "<$gnu_software_URL/make/>" + ;; + *) + echo "You might have modified some files without having the proper" + echo "tools for further handling them. Check the 'README' file, it" + echo "often tells you about the needed prerequisites for installing" + echo "this package. You may also peek at any GNU archive site, in" + echo "case some other package contains this missing '$1' program." + ;; + esac +} + +give_advice "$1" | sed -e '1s/^/WARNING: /' \ + -e '2,$s/^/ /' >&2 + +# Propagate the correct exit status (expected to be 127 for a program +# not found, 63 for a program that failed due to version mismatch). +exit $st + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/lib/beagle-3.0.3/config/mkinstalldirs b/lib/beagle-3.0.3/config/mkinstalldirs new file mode 100755 index 0000000..c364f3d --- /dev/null +++ b/lib/beagle-3.0.3/config/mkinstalldirs @@ -0,0 +1,162 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy + +scriptversion=2020-07-26.22; # UTC + +# Original author: Noah Friedman +# Created: 1993-05-16 +# Public domain. +# +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' +IFS=" "" $nl" +errstatus=0 +dirmode= + +usage="\ +Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... + +Create each directory DIR (with mode MODE, if specified), including all +leading file name components. + +Report bugs to ." + +# process command line arguments +while test $# -gt 0 ; do + case $1 in + -h | --help | --h*) # -h for help + echo "$usage" + exit $? + ;; + -m) # -m PERM arg + shift + test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } + dirmode=$1 + shift + ;; + --version) + echo "$0 $scriptversion" + exit $? + ;; + --) # stop option processing + shift + break + ;; + -*) # unknown option + echo "$usage" 1>&2 + exit 1 + ;; + *) # first non-opt arg + break + ;; + esac +done + +for file +do + if test -d "$file"; then + shift + else + break + fi +done + +case $# in + 0) exit 0 ;; +esac + +# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and +# mkdir -p a/c at the same time, both will detect that a is missing, +# one will create a, then the other will try to create a and die with +# a "File exists" error. This is a problem when calling mkinstalldirs +# from a parallel make. We use --version in the probe to restrict +# ourselves to GNU mkdir, which is thread-safe. +case $dirmode in + '') + if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + else + # On NextStep and OpenStep, the 'mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because '.' already + # exists. + test -d ./-p && rmdir ./-p + test -d ./--version && rmdir ./--version + fi + ;; + *) + if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && + test ! -d ./--version; then + echo "umask 22" + umask 22 + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + else + # Clean up after NextStep and OpenStep mkdir. + for d in ./-m ./-p ./--version "./$dirmode"; + do + test -d $d && rmdir $d + done + fi + ;; +esac + +echo "umask 22" +umask 22 + +for file +do + case $file in + /*) pathcomp=/ ;; + *) pathcomp= ;; + esac + oIFS=$IFS + IFS=/ + set fnord $file + shift + IFS=$oIFS + + for d + do + test "x$d" = x && continue + + pathcomp=$pathcomp$d + case $pathcomp in + -*) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + fi + fi + + pathcomp=$pathcomp/ + done + + if test ! -z "$dirmode"; then + echo "chmod $dirmode $file" + chmod "$dirmode" "$file" || errstatus=$? + fi +done + +exit $errstatus + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC0" +# time-stamp-end: "; # UTC" +# End: diff --git a/lib/beagle-3.0.3/config/stamp-h1 b/lib/beagle-3.0.3/config/stamp-h1 new file mode 100644 index 0000000..98a374b --- /dev/null +++ b/lib/beagle-3.0.3/config/stamp-h1 @@ -0,0 +1 @@ +timestamp for config/config-h diff --git a/lib/beagle-3.0.3/configure b/lib/beagle-3.0.3/configure new file mode 100755 index 0000000..e3c982a --- /dev/null +++ b/lib/beagle-3.0.3/configure @@ -0,0 +1,21814 @@ +#! /bin/sh +# From configure.ac Revision: 1.33.2.7 . +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.71 for Open BEAGLE 3.0.3. +# +# Report bugs to . +# +# +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, +# Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="as_nop=: +if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else \$as_nop + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ) +then : + +else \$as_nop + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +blah=\$(echo \$(echo blah)) +test x\"\$blah\" = xblah || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 + + test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null +then : + as_have_required=yes +else $as_nop + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null +then : + +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$as_shell as_have_required=yes + if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null +then : + break 2 +fi +fi + done;; + esac + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null +then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi +fi + + + if test "x$CONFIG_SHELL" != x +then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno +then : + printf "%s\n" "$0: This script requires a shell more modern than all" + printf "%s\n" "$0: the shells that I found on your system." + if test ${ZSH_VERSION+y} ; then + printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should" + printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later." + else + printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and cgagne@gmail.com +$0: about your system, including any error possibly output +$0: before this message. Then install a modern shell, or +$0: manually run the script under such a shell if you do +$0: have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + +# as_fn_nop +# --------- +# Do nothing but, unlike ":", preserve the value of $?. +as_fn_nop () +{ + return $? +} +as_nop=as_fn_nop + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + +SHELL=${CONFIG_SHELL-/bin/sh} + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='Open BEAGLE' +PACKAGE_TARNAME='beagle' +PACKAGE_VERSION='3.0.3' +PACKAGE_STRING='Open BEAGLE 3.0.3' +PACKAGE_BUGREPORT='cgagne@gmail.com' +PACKAGE_URL='' + +ac_unique_file="beagle/src/Allocator.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_STDIO_H +# include +#endif +#ifdef HAVE_STDLIB_H +# include +#endif +#ifdef HAVE_STRING_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_header_c_list= +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +LIBOBJS +PACC_VERSION +PTHREAD_CFLAGS +PTHREAD_LIBS +PTHREAD_CC +acx_pthread_config +COMPILE_TESTS_FALSE +COMPILE_TESTS_TRUE +FAST_COMPILATION_FALSE +FAST_COMPILATION_TRUE +LT_SYS_LIBRARY_PATH +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +MANIFEST_TOOL +RANLIB +ac_ct_AR +AR +DLLTOOL +OBJDUMP +FILECMD +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +EGREP +GREP +SED +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +ac_ct_CC +CFLAGS +CC +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +LIBTOOL +LN_S +CXXCPP +am__fastdepCXX_FALSE +am__fastdepCXX_TRUE +CXXDEPMODE +am__nodep +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CXX +CPPFLAGS +LDFLAGS +CXXFLAGS +CXX +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V +CSCOPE +ETAGS +CTAGS +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +runstatedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL +am__quote' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_silent_rules +enable_dependency_tracking +enable_shared +enable_static +with_pic +enable_fast_install +with_aix_soname +with_gnu_ld +with_sysroot +enable_libtool_lock +enable_optimization +enable_full_debug +enable_fast_compilation +enable_tests +enable_hashset +enable_hashmap +with_zlib +' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +LT_SYS_LIBRARY_PATH' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: \`$ac_useropt'" + ac_useropt_orig=$ac_useropt + ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir runstatedir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures Open BEAGLE 3.0.3 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/beagle] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of Open BEAGLE 3.0.3:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + --enable-full-debug enable full debug mode default=no + --enable-fast-compilation =no/yes enable fast compilation mode default=yes + --enable-tests =no/yes enable compilation of tests default=no + --enable-hashset =no/yes enable hash_set STL extension default=no + --enable-hashmap =no/yes enable hash_map STL extension default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use + both] + --with-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX, [default=aix]. + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-sysroot[=DIR] Search for dependent libraries within DIR (or the + compiler's sysroot if not specified). + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + LT_SYS_LIBRARY_PATH + User-defined run-time library search path. + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for configure.gnu first; this name is used for a wrapper for + # Metaconfig's "Configure" on case-insensitive file systems. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +Open BEAGLE configure 3.0.3 +generated by GNU Autoconf 2.71 + +Copyright (C) 2021 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_compile + +# ac_fn_cxx_try_cpp LINENO +# ------------------------ +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_cpp + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +printf %s "checking for $2... " >&6; } +if eval test \${$3+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. */ + +#include +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main (void) +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + eval "$3=yes" +else $as_nop + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_link +ac_configure_args_raw= +for ac_arg +do + case $ac_arg in + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append ac_configure_args_raw " '$ac_arg'" +done + +case $ac_configure_args_raw in + *$as_nl*) + ac_safe_unquote= ;; + *) + ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab. + ac_unsafe_a="$ac_unsafe_z#~" + ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g" + ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;; +esac + +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by Open BEAGLE $as_me 3.0.3, which was +generated by GNU Autoconf 2.71. Invocation command line was + + $ $0$ac_configure_args_raw + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + printf "%s\n" "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Sanitize IFS. + IFS=" "" $as_nl" + # Save into config.log some information that might help in debugging. + { + echo + + printf "%s\n" "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + printf "%s\n" "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + printf "%s\n" "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + printf "%s\n" "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + printf "%s\n" "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + printf "%s\n" "$as_me: caught signal $ac_signal" + printf "%s\n" "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +printf "%s\n" "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h + +printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + ac_site_files="$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + ac_site_files="$prefix/share/config.site $prefix/etc/config.site" +else + ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +fi + +for ac_site_file in $ac_site_files +do + case $ac_site_file in #( + */*) : + ;; #( + *) : + ac_site_file=./$ac_site_file ;; +esac + if test -f "$ac_site_file" && test -r "$ac_site_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +printf "%s\n" "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +printf "%s\n" "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Test code for whether the C++ compiler supports C++98 (global declarations) +ac_cxx_conftest_cxx98_globals=' +// Does the compiler advertise C++98 conformance? +#if !defined __cplusplus || __cplusplus < 199711L +# error "Compiler does not advertise C++98 conformance" +#endif + +// These inclusions are to reject old compilers that +// lack the unsuffixed header files. +#include +#include + +// and are *not* freestanding headers in C++98. +extern void assert (int); +namespace std { + extern int strcmp (const char *, const char *); +} + +// Namespaces, exceptions, and templates were all added after "C++ 2.0". +using std::exception; +using std::strcmp; + +namespace { + +void test_exception_syntax() +{ + try { + throw "test"; + } catch (const char *s) { + // Extra parentheses suppress a warning when building autoconf itself, + // due to lint rules shared with more typical C programs. + assert (!(strcmp) (s, "test")); + } +} + +template struct test_template +{ + T const val; + explicit test_template(T t) : val(t) {} + template T add(U u) { return static_cast(u) + val; } +}; + +} // anonymous namespace +' + +# Test code for whether the C++ compiler supports C++98 (body of main) +ac_cxx_conftest_cxx98_main=' + assert (argc); + assert (! argv[0]); +{ + test_exception_syntax (); + test_template tt (2.0); + assert (tt.add (4) == 6.0); + assert (true && !false); +} +' + +# Test code for whether the C++ compiler supports C++11 (global declarations) +ac_cxx_conftest_cxx11_globals=' +// Does the compiler advertise C++ 2011 conformance? +#if !defined __cplusplus || __cplusplus < 201103L +# error "Compiler does not advertise C++11 conformance" +#endif + +namespace cxx11test +{ + constexpr int get_val() { return 20; } + + struct testinit + { + int i; + double d; + }; + + class delegate + { + public: + delegate(int n) : n(n) {} + delegate(): delegate(2354) {} + + virtual int getval() { return this->n; }; + protected: + int n; + }; + + class overridden : public delegate + { + public: + overridden(int n): delegate(n) {} + virtual int getval() override final { return this->n * 2; } + }; + + class nocopy + { + public: + nocopy(int i): i(i) {} + nocopy() = default; + nocopy(const nocopy&) = delete; + nocopy & operator=(const nocopy&) = delete; + private: + int i; + }; + + // for testing lambda expressions + template Ret eval(Fn f, Ret v) + { + return f(v); + } + + // for testing variadic templates and trailing return types + template auto sum(V first) -> V + { + return first; + } + template auto sum(V first, Args... rest) -> V + { + return first + sum(rest...); + } +} +' + +# Test code for whether the C++ compiler supports C++11 (body of main) +ac_cxx_conftest_cxx11_main=' +{ + // Test auto and decltype + auto a1 = 6538; + auto a2 = 48573953.4; + auto a3 = "String literal"; + + int total = 0; + for (auto i = a3; *i; ++i) { total += *i; } + + decltype(a2) a4 = 34895.034; +} +{ + // Test constexpr + short sa[cxx11test::get_val()] = { 0 }; +} +{ + // Test initializer lists + cxx11test::testinit il = { 4323, 435234.23544 }; +} +{ + // Test range-based for + int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3, + 14, 19, 17, 8, 6, 20, 16, 2, 11, 1}; + for (auto &x : array) { x += 23; } +} +{ + // Test lambda expressions + using cxx11test::eval; + assert (eval ([](int x) { return x*2; }, 21) == 42); + double d = 2.0; + assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0); + assert (d == 5.0); + assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0); + assert (d == 5.0); +} +{ + // Test use of variadic templates + using cxx11test::sum; + auto a = sum(1); + auto b = sum(1, 2); + auto c = sum(1.0, 2.0, 3.0); +} +{ + // Test constructor delegation + cxx11test::delegate d1; + cxx11test::delegate d2(); + cxx11test::delegate d3(45); +} +{ + // Test override and final + cxx11test::overridden o1(55464); +} +{ + // Test nullptr + char *c = nullptr; +} +{ + // Test template brackets + test_template<::test_template> v(test_template(12)); +} +{ + // Unicode literals + char const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-8 string \u2500"; + char32_t const *utf32 = U"UTF-32 string \u2500"; +} +' + +# Test code for whether the C compiler supports C++11 (complete). +ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals} +${ac_cxx_conftest_cxx11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + ${ac_cxx_conftest_cxx11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C++98 (complete). +ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals} +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_cxx_conftest_cxx98_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (global declarations) +ac_c_conftest_c89_globals=' +/* Does the compiler advertise C89 conformance? + Do not test the value of __STDC__, because some compilers set it to 0 + while being otherwise adequately conformant. */ +#if !defined __STDC__ +# error "Compiler does not advertise C89 conformance" +#endif + +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */ +struct buf { int x; }; +struct buf * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not \xHH hex character constants. + These do not provoke an error unfortunately, instead are silently treated + as an "x". The following induces an error, until -std is added to get + proper ANSI mode. Curiously \x00 != x always comes out true, for an + array size at least. It is necessary to write \x00 == 0 to get something + that is true only with -std. */ +int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) '\''x'\'' +int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int), + int, int);' + +# Test code for whether the C compiler supports C89 (body of main). +ac_c_conftest_c89_main=' +ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]); +' + +# Test code for whether the C compiler supports C99 (global declarations) +ac_c_conftest_c99_globals=' +// Does the compiler advertise C99 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L +# error "Compiler does not advertise C99 conformance" +#endif + +#include +extern int puts (const char *); +extern int printf (const char *, ...); +extern int dprintf (int, const char *, ...); +extern void *malloc (size_t); + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +// dprintf is used instead of fprintf to avoid needing to declare +// FILE and stderr. +#define debug(...) dprintf (2, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + #error "your preprocessor is broken" +#endif +#if BIG_OK +#else + #error "your preprocessor is broken" +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static bool +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str = ""; + int number = 0; + float fnumber = 0; + + while (*format) + { + switch (*format++) + { + case '\''s'\'': // string + str = va_arg (args_copy, const char *); + break; + case '\''d'\'': // int + number = va_arg (args_copy, int); + break; + case '\''f'\'': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); + + return *str && number && fnumber; +} +' + +# Test code for whether the C compiler supports C99 (body of main). +ac_c_conftest_c99_main=' + // Check bool. + _Bool success = false; + success |= (argc != 0); + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[0] = argv[0][0]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\'' + || dynamic_array[ni.number - 1] != 543); +' + +# Test code for whether the C compiler supports C11 (global declarations) +ac_c_conftest_c11_globals=' +// Does the compiler advertise C11 conformance? +#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L +# error "Compiler does not advertise C11 conformance" +#endif + +// Check _Alignas. +char _Alignas (double) aligned_as_double; +char _Alignas (0) no_special_alignment; +extern char aligned_as_int; +char _Alignas (0) _Alignas (int) aligned_as_int; + +// Check _Alignof. +enum +{ + int_alignment = _Alignof (int), + int_array_alignment = _Alignof (int[100]), + char_alignment = _Alignof (char) +}; +_Static_assert (0 < -_Alignof (int), "_Alignof is signed"); + +// Check _Noreturn. +int _Noreturn does_not_return (void) { for (;;) continue; } + +// Check _Static_assert. +struct test_static_assert +{ + int x; + _Static_assert (sizeof (int) <= sizeof (long int), + "_Static_assert does not work in struct"); + long int y; +}; + +// Check UTF-8 literals. +#define u8 syntax error! +char const utf8_literal[] = u8"happens to be ASCII" "another string"; + +// Check duplicate typedefs. +typedef long *long_ptr; +typedef long int *long_ptr; +typedef long_ptr long_ptr; + +// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1. +struct anonymous +{ + union { + struct { int i; int j; }; + struct { int k; long int l; } w; + }; + int m; +} v1; +' + +# Test code for whether the C compiler supports C11 (body of main). +ac_c_conftest_c11_main=' + _Static_assert ((offsetof (struct anonymous, i) + == offsetof (struct anonymous, w.k)), + "Anonymous union alignment botch"); + v1.i = 2; + v1.w.k = 5; + ok |= v1.i != 5; +' + +# Test code for whether the C compiler supports C11 (complete). +ac_c_conftest_c11_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} +${ac_c_conftest_c11_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + ${ac_c_conftest_c11_main} + return ok; +} +" + +# Test code for whether the C compiler supports C99 (complete). +ac_c_conftest_c99_program="${ac_c_conftest_c89_globals} +${ac_c_conftest_c99_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + ${ac_c_conftest_c99_main} + return ok; +} +" + +# Test code for whether the C compiler supports C89 (complete). +ac_c_conftest_c89_program="${ac_c_conftest_c89_globals} + +int +main (int argc, char **argv) +{ + int ok = 0; + ${ac_c_conftest_c89_main} + return ok; +} +" + +as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H" +as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H" +as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H" +as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H" +as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H" +as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H" +as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H" +as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H" +as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H" + +# Auxiliary files required by this configure script. +ac_aux_files="compile config.guess config.sub ltmain.sh missing install-sh" + +# Locations in which to look for auxiliary files. +ac_aux_dir_candidates="${srcdir}/config" + +# Search for a directory containing all of the required auxiliary files, +# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates. +# If we don't find one directory that contains all the files we need, +# we report the set of missing files from the *first* directory in +# $ac_aux_dir_candidates and give up. +ac_missing_aux_files="" +ac_first_candidate=: +printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5 +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in $ac_aux_dir_candidates +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + as_found=: + + printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5 + ac_aux_dir_found=yes + ac_install_sh= + for ac_aux in $ac_aux_files + do + # As a special case, if "install-sh" is required, that requirement + # can be satisfied by any of "install-sh", "install.sh", or "shtool", + # and $ac_install_sh is set appropriately for whichever one is found. + if test x"$ac_aux" = x"install-sh" + then + if test -f "${as_dir}install-sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5 + ac_install_sh="${as_dir}install-sh -c" + elif test -f "${as_dir}install.sh"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5 + ac_install_sh="${as_dir}install.sh -c" + elif test -f "${as_dir}shtool"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5 + ac_install_sh="${as_dir}shtool install -c" + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} install-sh" + else + break + fi + fi + else + if test -f "${as_dir}${ac_aux}"; then + printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5 + else + ac_aux_dir_found=no + if $ac_first_candidate; then + ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}" + else + break + fi + fi + fi + done + if test "$ac_aux_dir_found" = yes; then + ac_aux_dir="$as_dir" + break + fi + ac_first_candidate=false + + as_found=false +done +IFS=$as_save_IFS +if $as_found +then : + +else $as_nop + as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5 +fi + + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +if test -f "${ac_aux_dir}config.guess"; then + ac_config_guess="$SHELL ${ac_aux_dir}config.guess" +fi +if test -f "${ac_aux_dir}config.sub"; then + ac_config_sub="$SHELL ${ac_aux_dir}config.sub" +fi +if test -f "$ac_aux_dir/configure"; then + ac_configure="$SHELL ${ac_aux_dir}configure" +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file' + and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + +am__api_version='1.16' + + + + # Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +printf %s "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test ${ac_cv_path_install+y} +then : + printf %s "(cached) " >&6 +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + # Account for fact that we put trailing slashes in our PATH walk. +case $as_dir in #(( + ./ | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test ${ac_cv_path_install+y}; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +printf "%s\n" "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +printf %s "checking whether build environment is sane... " >&6; } +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +esac + +# Do 'set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"` + + +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` + + + if test x"${MISSING+set}" != xset; then + MISSING="\${SHELL} '$am_aux_dir/missing'" +fi +# Use eval to expand $SHELL +if eval "$MISSING --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 +printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using 'strip' when the user +# run "make install-strip". However 'strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the 'STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5 +printf %s "checking for a race-free mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if test ${ac_cv_path_mkdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue + case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir ('*'coreutils) '* | \ + 'BusyBox '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test ${ac_cv_path_mkdir+y}; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +printf "%s\n" "$MKDIR_P" >&6; } + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval test \${ac_cv_prog_make_${ac_make}_set+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + SET_MAKE= +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# Check whether --enable-silent-rules was given. +if test ${enable_silent_rules+y} +then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +printf %s "checking whether $am_make supports nested variables... " >&6; } +if test ${am_cv_make_support_nested_variables+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if printf "%s\n" 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +printf "%s\n" "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='beagle' + VERSION='3.0.3' + + +printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h + + +printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + +# Variables for tags utilities; see am/tags.am +if test -z "$CTAGS"; then + CTAGS=ctags +fi + +if test -z "$ETAGS"; then + ETAGS=etags +fi + +if test -z "$CSCOPE"; then + CSCOPE=cscope +fi + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + +ac_config_headers="$ac_config_headers config/config-h:config/config-h.in" + + +ac_config_commands="$ac_config_commands beagle/include/beagle/config.hpp" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AWK+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +printf "%s\n" "$AWK" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AWK" && break +done + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +printf "%s\n" "$CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++ +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +printf "%s\n" "$ac_ct_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 +printf %s "checking whether the C++ compiler works... " >&6; } +ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else $as_nop + ac_file='' +fi +if test -z "$ac_file" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C++ compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 +printf %s "checking for C++ compiler default output file name... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +printf "%s\n" "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +printf %s "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +printf "%s\n" "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +printf %s "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +printf "%s\n" "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +printf %s "checking for suffix of object files... " >&6; } +if test ${ac_cv_objext+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +printf "%s\n" "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5 +printf %s "checking whether the compiler supports GNU C++... " >&6; } +if test ${ac_cv_cxx_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+y} +ac_save_CXXFLAGS=$CXXFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +printf %s "checking whether $CXX accepts -g... " >&6; } +if test ${ac_cv_prog_cxx_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +else $as_nop + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + +else $as_nop + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +printf "%s\n" "$ac_cv_prog_cxx_g" >&6; } +if test $ac_test_CXXFLAGS; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +printf %s "checking for $CXX option to enable C++11 features... " >&6; } +if test ${ac_cv_prog_cxx_cxx11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_cxx11=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx11_program +_ACEOF +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx11" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 +printf %s "checking for $CXX option to enable C++98 features... " >&6; } +if test ${ac_cv_prog_cxx_cxx98+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cxx_cxx98=no +ac_save_CXX=$CXX +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_cxx_conftest_cxx98_program +_ACEOF +for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA +do + CXX="$ac_save_CXX $ac_arg" + if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_prog_cxx_cxx98=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cxx_cxx98" != "xno" && break +done +rm -f conftest.$ac_ext +CXX=$ac_save_CXX +fi + +if test "x$ac_cv_prog_cxx_cxx98" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 +fi +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; } +cat > confinc.mk << 'END' +am__doit: + @echo this is the am__doit target >confinc.out +.PHONY: am__doit +END +am__include="#" +am__quote= +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 + (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + case $?:`cat confinc.out 2>/dev/null` in #( + '0:this is the am__doit target') : + case $s in #( + BSD) : + am__include='.include' am__quote='"' ;; #( + *) : + am__include='include' am__quote='' ;; +esac ;; #( + *) : + ;; +esac + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +printf "%s\n" "${_am_result}" >&6; } + +# Check whether --enable-dependency-tracking was given. +if test ${enable_dependency_tracking+y} +then : + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' + am__nodep='_no' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +depcc="$CXX" am_compiler_list= + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +printf %s "checking dependency style of $depcc... " >&6; } +if test ${am_cv_CXX_dependencies_compiler_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 +printf "%s\n" "$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +printf %s "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if test ${ac_cv_prog_CXXCPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CXX needs to be expanded + for CXXCPP in "$CXX -E" cpp /lib/cpp + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +printf "%s\n" "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +printf %s "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +printf "%s\n" "no, using $LN_S" >&6; } +fi + +case `pwd` in + *\ * | *\ *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; +esac + + + +macro_version='2.4.7' +macro_revision='2.4.7' + + + + + + + + + + + + + + +ltmain=$ac_aux_dir/ltmain.sh + + + + # Make sure we can run config.sub. +$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5 + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +printf %s "checking build system type... " >&6; } +if test ${ac_cv_build+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +printf "%s\n" "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +printf %s "checking host system type... " >&6; } +if test ${ac_cv_host+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` || + as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +printf "%s\n" "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +printf %s "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "" +} + +case $ECHO in + printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +printf "%s\n" "printf" >&6; } ;; + print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +printf "%s\n" "print -r" >&6; } ;; + *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +printf "%s\n" "cat" >&6; } ;; +esac + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args. +set dummy ${ac_tool_prefix}clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +printf "%s\n" "$CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "clang", so it can be a program name with args. +set dummy clang; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="clang" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +printf "%s\n" "$ac_ct_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +fi + + +test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion -version; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5 +printf %s "checking whether the compiler supports GNU C... " >&6; } +if test ${ac_cv_c_compiler_gnu+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_compiler_gnu=yes +else $as_nop + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; } +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+y} +ac_save_CFLAGS=$CFLAGS +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +printf %s "checking whether $CC accepts -g... " >&6; } +if test ${ac_cv_prog_cc_g+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +else $as_nop + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + +else $as_nop + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +printf "%s\n" "$ac_cv_prog_cc_g" >&6; } +if test $ac_test_CFLAGS; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +printf %s "checking for $CC option to enable C11 features... " >&6; } +if test ${ac_cv_prog_cc_c11+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c11=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c11_program +_ACEOF +for ac_arg in '' -std=gnu11 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c11=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c11" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c11" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 +printf %s "checking for $CC option to enable C99 features... " >&6; } +if test ${ac_cv_prog_cc_c99+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c99_program +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c99" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 +printf %s "checking for $CC option to enable C89 features... " >&6; } +if test ${ac_cv_prog_cc_c89+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_c_conftest_c89_program +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC +fi + +if test "x$ac_cv_prog_cc_c89" = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 +fi +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +printf %s "checking whether $CC understands -c and -o together... " >&6; } +if test ${am_cv_prog_cc_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +printf "%s\n" "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +depcc="$CC" am_compiler_list= + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +printf %s "checking dependency style of $depcc... " >&6; } +if test ${am_cv_CC_dependencies_compiler_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with '-c' and '-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle '-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs. + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # After this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested. + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvc7 | msvc7msys | msvisualcpp | msvcmsys) + # This compiler won't grok '-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +printf %s "checking for a sed that does not truncate output... " >&6; } +if test ${ac_cv_path_SED+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in sed gsed + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +printf "%s\n" "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" + + + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +printf %s "checking for grep that handles long lines and -e... " >&6; } +if test ${ac_cv_path_GREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in grep ggrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +printf "%s\n" "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +printf %s "checking for fgrep... " >&6; } +if test ${ac_cv_path_FGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 + then ac_cv_path_FGREP="$GREP -F" + else + if test -z "$FGREP"; then + ac_path_FGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in fgrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +printf "%s\n" "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +test -z "$GREP" && GREP=grep + + + + + + + + + + + + + + + + + + + +# Check whether --with-gnu-ld was given. +if test ${with_gnu_ld+y} +then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else $as_nop + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +printf %s "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "checking for GNU ld... " >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +printf %s "checking for non-GNU ld... " >&6; } +fi +if test ${lt_cv_path_LD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +printf "%s\n" "$LD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +printf %s "checking if the linker ($LD) is GNU ld... " >&6; } +if test ${lt_cv_prog_gnu_ld+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if test ${lt_cv_path_NM+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +printf "%s\n" "$lt_cv_path_NM" >&6; } +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + if test -n "$ac_tool_prefix"; then + for ac_prog in dumpbin "link -dump" + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DUMPBIN+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +printf "%s\n" "$DUMPBIN" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$DUMPBIN" && break + done +fi +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in dumpbin "link -dump" +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DUMPBIN+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +printf "%s\n" "$ac_ct_DUMPBIN" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_DUMPBIN" && break +done + + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DUMPBIN=$ac_ct_DUMPBIN + fi +fi + + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +printf %s "checking the name lister ($NM) interface... " >&6; } +if test ${lt_cv_nm_interface+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest* +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +printf "%s\n" "$lt_cv_nm_interface" >&6; } + +# find the maximum length of command line arguments +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +printf %s "checking the maximum length of command line arguments... " >&6; } +if test ${lt_cv_sys_max_cmd_len+y} +then : + printf %s "(cached) " >&6 +else $as_nop + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n "$lt_cv_sys_max_cmd_len"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5 +printf "%s\n" "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +printf %s "checking how to convert $build file names to $host format... " >&6; } +if test ${lt_cv_to_host_file_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac + +fi + +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; } + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +printf %s "checking how to convert $build file names to toolchain format... " >&6; } +if test ${lt_cv_to_tool_file_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac + +fi + +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +printf %s "checking for $LD option to reload object files... " >&6; } +if test ${lt_cv_ld_reload_flag+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_ld_reload_flag='-r' +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +printf "%s\n" "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test yes != "$GCC"; then + reload_cmds=false + fi + ;; + darwin*) + if test yes = "$GCC"; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args. +set dummy ${ac_tool_prefix}file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$FILECMD"; then + ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_FILECMD="${ac_tool_prefix}file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +FILECMD=$ac_cv_prog_FILECMD +if test -n "$FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5 +printf "%s\n" "$FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_FILECMD"; then + ac_ct_FILECMD=$FILECMD + # Extract the first word of "file", so it can be a program name with args. +set dummy file; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_FILECMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_FILECMD"; then + ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_FILECMD="file" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD +if test -n "$ac_ct_FILECMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5 +printf "%s\n" "$ac_ct_FILECMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_FILECMD" = x; then + FILECMD=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + FILECMD=$ac_ct_FILECMD + fi +else + FILECMD="$ac_cv_prog_FILECMD" +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OBJDUMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$OBJDUMP"; then + ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +printf "%s\n" "$OBJDUMP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OBJDUMP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_OBJDUMP"; then + ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +printf "%s\n" "$ac_ct_OBJDUMP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +printf %s "checking how to recognize dependent libraries... " >&6; } +if test ${lt_cv_deplibs_check_method+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[4-9]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='$FILECMD -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly* | midnightbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=$FILECMD + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=$FILECMD + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +printf "%s\n" "$lt_cv_deplibs_check_method" >&6; } + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + + + + + + + + + + + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DLLTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +printf "%s\n" "$DLLTOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DLLTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +printf "%s\n" "$ac_ct_DLLTOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +printf %s "checking how to associate runtime and link libraries... " >&6; } +if test ${lt_cv_sharedlib_from_linklib_cmd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + + + + + + + + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +printf "%s\n" "$AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_AR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +printf "%s\n" "$ac_ct_AR" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + +: ${AR=ar} + + + + + + +# Use ARFLAGS variable as AR's operation code to sync the variable naming with +# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have +# higher priority because thats what people were doing historically (setting +# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS +# variable obsoleted/removed. + +test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} +lt_ar_flags=$AR_FLAGS + + + + + + +# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override +# by AR_FLAGS because that was never working and AR_FLAGS is about to die. + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +printf %s "checking for archiver @FILE support... " >&6; } +if test ${lt_cv_ar_at_file+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +printf "%s\n" "$lt_cv_ar_at_file" >&6; } + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +printf "%s\n" "$STRIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_STRIP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +printf "%s\n" "$ac_ct_STRIP" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +printf "%s\n" "$RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RANLIB+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +printf "%s\n" "$ac_ct_RANLIB" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +test -z "$RANLIB" && RANLIB=: + + + + + + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +printf %s "checking command to parse $NM output from $compiler object... " >&6; } +if test ${lt_cv_sys_global_symbol_pipe+y} +then : + printf %s "(cached) " >&6 +else $as_nop + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[ABCDGISTW]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[ABCDEGRST]' + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++ or ICC, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK '"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx" + else + lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5 + if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +printf "%s\n" "failed" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +printf %s "checking for sysroot... " >&6; } + +# Check whether --with-sysroot was given. +if test ${with_sysroot+y} +then : + withval=$with_sysroot; +else $as_nop + with_sysroot=no +fi + + +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +printf "%s\n" "$with_sysroot" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +printf "%s\n" "${lt_sysroot:-no}" >&6; } + + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +printf %s "checking for a working dd... " >&6; } +if test ${ac_cv_path_lt_DD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +if test -z "$lt_DD"; then + ac_path_lt_DD_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in dd + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_lt_DD="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue +if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi + $ac_path_lt_DD_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_lt_DD"; then + : + fi +else + ac_cv_path_lt_DD=$lt_DD +fi + +rm -f conftest.i conftest2.i conftest.out +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +printf "%s\n" "$ac_cv_path_lt_DD" >&6; } + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +printf %s "checking how to truncate binary pipes... " >&6; } +if test ${lt_cv_truncate_bin+y} +then : + printf %s "(cached) " >&6 +else $as_nop + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +printf "%s\n" "$lt_cv_truncate_bin" >&6; } + + + + + + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + +# Check whether --enable-libtool-lock was given. +if test ${enable_libtool_lock+y} +then : + enableval=$enable_libtool_lock; +fi + +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `$FILECMD conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `$FILECMD conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `$FILECMD conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +printf %s "checking whether the C compiler needs -belf... " >&6; } +if test ${lt_cv_cc_needs_belf+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + lt_cv_cc_needs_belf=yes +else $as_nop + lt_cv_cc_needs_belf=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +printf "%s\n" "$lt_cv_cc_needs_belf" >&6; } + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `$FILECMD conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_MANIFEST_TOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +printf "%s\n" "$MANIFEST_TOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL + fi +else + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" +fi + +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if test ${lt_cv_path_mainfest_tool+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; } +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi + + + + + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_DSYMUTIL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$DSYMUTIL"; then + ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +printf "%s\n" "$DSYMUTIL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_DSYMUTIL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_DSYMUTIL"; then + ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL +if test -n "$ac_ct_DSYMUTIL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +printf "%s\n" "$ac_ct_DSYMUTIL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_NMEDIT+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$NMEDIT"; then + ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +printf "%s\n" "$NMEDIT" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_NMEDIT+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_NMEDIT"; then + ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +printf "%s\n" "$ac_ct_NMEDIT" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_LIPO+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$LIPO"; then + ac_cv_prog_LIPO="$LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +printf "%s\n" "$LIPO" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_LIPO+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_LIPO"; then + ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +printf "%s\n" "$ac_ct_LIPO" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$OTOOL"; then + ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +printf "%s\n" "$OTOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OTOOL+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_OTOOL"; then + ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +printf "%s\n" "$ac_ct_OTOOL" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_OTOOL64+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$OTOOL64"; then + ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +printf "%s\n" "$OTOOL64" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_OTOOL64+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$ac_ct_OTOOL64"; then + ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +printf "%s\n" "$ac_ct_OTOOL64" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +printf %s "checking for -single_module linker flag... " >&6; } +if test ${lt_cv_apple_cc_single_mod+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +printf %s "checking for -exported_symbols_list linker flag... " >&6; } +if test ${lt_cv_ld_exported_symbols_list+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + lt_cv_ld_exported_symbols_list=yes +else $as_nop + lt_cv_ld_exported_symbols_list=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +printf %s "checking for -force_load linker flag... " >&6; } +if test ${lt_cv_ld_force_load+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5 + $AR $AR_FLAGS libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +printf "%s\n" "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) + case $MACOSX_DEPLOYMENT_TARGET,$host in + 10.[012],*|,*powerpc*-darwin[5-8]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + *) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + +ac_header= ac_cache= +for ac_item in $ac_header_c_list +do + if test $ac_cache; then + ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default" + if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then + printf "%s\n" "#define $ac_item 1" >> confdefs.h + fi + ac_header= ac_cache= + elif test $ac_header; then + ac_cache=$ac_item + else + ac_header=$ac_item + fi +done + + + + + + + + +if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes +then : + +printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h + +fi +ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes +then : + printf "%s\n" "#define HAVE_DLFCN_H 1" >>confdefs.h + +fi + + + + +func_stripname_cnf () +{ + case $2 in + .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;; + *) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;; + esac +} # func_stripname_cnf + + + + + +# Set options + + + + enable_dlopen=no + + + enable_win32_dll=no + + + # Check whether --enable-shared was given. +if test ${enable_shared+y} +then : + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else $as_nop + enable_shared=yes +fi + + + + + + + + + + # Check whether --enable-static was given. +if test ${enable_static+y} +then : + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else $as_nop + enable_static=yes +fi + + + + + + + + + + +# Check whether --with-pic was given. +if test ${with_pic+y} +then : + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else $as_nop + pic_mode=default +fi + + + + + + + + + # Check whether --enable-fast-install was given. +if test ${enable_fast_install+y} +then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else $as_nop + enable_fast_install=yes +fi + + + + + + + + + shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[5-9]*,yes) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +printf %s "checking which variant of shared library versioning to provide... " >&6; } + +# Check whether --with-aix-soname was given. +if test ${with_aix_soname+y} +then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; + *) + as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +else $as_nop + if test ${lt_cv_with_aix_soname+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_with_aix_soname=aix +fi + + with_aix_soname=$lt_cv_with_aix_soname +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +printf "%s\n" "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +printf %s "checking for objdir... " >&6; } +if test ${lt_cv_objdir+y} +then : + printf %s "(cached) " >&6 +else $as_nop + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +printf "%s\n" "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +printf "%s\n" "#define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC and +# ICC, which need '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +printf %s "checking for ${ac_tool_prefix}file... " >&6; } +if test ${lt_cv_path_MAGIC_CMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/${ac_tool_prefix}file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +printf "%s\n" "$MAGIC_CMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +printf %s "checking for file... " >&6; } +if test ${lt_cv_path_MAGIC_CMD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/file"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac +fi + +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +printf "%s\n" "$MAGIC_CMD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC=$CC +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if test ${lt_cv_prog_compiler_rtti_exceptions+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + + + + + + + lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + lt_prog_compiler_pic='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='--shared' + lt_prog_compiler_static='--static' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +printf %s "checking for $compiler option to produce PIC... " >&6; } +if test ${lt_cv_prog_compiler_pic+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if test ${lt_cv_prog_compiler_pic_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test ${lt_cv_prog_compiler_static_works+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works"; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +printf %s "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +printf "%s\n" "$hard_links" >&6; } + if test no = "$hard_links"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_separator= + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no + link_all_deplibs=unknown + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= + old_archive_from_expsyms_cmds= + thread_safe_flag_spec= + whole_archive_flag_spec= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs=no + ;; + esac + + ld_shlibs=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='$wl--export-all-symbols' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + file_list_spec='@' + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object=yes + ;; + esac + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + export_dynamic_flag_spec='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test no = "$ld_shlibs"; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_direct_absolute=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + file_list_spec='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct=no + hardcode_direct_absolute=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if test ${lt_cv_aix_libpath_+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if test ${lt_cv_aix_libpath_+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +fi + + hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' $wl-bernotok' + allow_undefined_flag=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi + archive_cmds_need_lc=yes + archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++ or Intel C++ Compiler. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl* | icl*) + # Native MSVC or ICC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC and ICC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec='' + fi + link_all_deplibs=yes + allow_undefined_flag=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + + else + ld_shlibs=no + fi + + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly* | midnightbsd*) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +printf %s "checking if $CC understands -b... " >&6; } +if test ${lt_cv_prog_compiler__b+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler__b=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +printf "%s\n" "$lt_cv_prog_compiler__b" >&6; } + +if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +fi + + ;; + esac + fi + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + hardcode_direct_absolute=yes + export_dynamic_flag_spec='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if test ${lt_cv_irix_exported_symbol+y} +then : + printf %s "(cached) " >&6 +else $as_nop + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + lt_cv_irix_exported_symbol=yes +else $as_nop + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi + link_all_deplibs=no + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs=yes + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + ;; + esac + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + hardcode_direct_absolute=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + else + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + file_list_spec='@' + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + archive_cmds_need_lc='no' + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='$wl-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='$wl-z,text' + allow_undefined_flag='$wl-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-R,$libdir' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +printf "%s\n" "$ld_shlibs" >&6; } +test no = "$ld_shlibs" && can_build_shared=no + +with_gnu_ld=$with_gnu_ld + + + + + + + + + + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +printf %s "checking whether -lc should be explicitly linked in... " >&6; } +if test ${lt_cv_archive_cmds_need_lc+y} +then : + printf %s "(cached) " >&6 +else $as_nop + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +printf %s "checking dynamic linker characteristics... " >&6; } + +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([A-Za-z]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if test ${lt_cv_shlibpath_overrides_runpath+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null +then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +printf "%s\n" "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +printf %s "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test yes = "$hardcode_automatic"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && + test no != "$hardcode_minus_L"; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +printf "%s\n" "$hardcode_action" >&6; } + +if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +printf %s "checking for dlopen in -ldl... " >&6; } +if test ${ac_cv_lib_dl_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main (void) +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dl_dlopen=yes +else $as_nop + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes +then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else $as_nop + + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes +then : + lt_cv_dlopen=shl_load +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +printf %s "checking for shl_load in -ldld... " >&6; } +if test ${ac_cv_lib_dld_shl_load+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char shl_load (); +int +main (void) +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dld_shl_load=yes +else $as_nop + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes +then : + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +else $as_nop + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes +then : + lt_cv_dlopen=dlopen +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +printf %s "checking for dlopen in -ldl... " >&6; } +if test ${ac_cv_lib_dl_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main (void) +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dl_dlopen=yes +else $as_nop + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes +then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +printf %s "checking for dlopen in -lsvld... " >&6; } +if test ${ac_cv_lib_svld_dlopen+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main (void) +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_svld_dlopen=yes +else $as_nop + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes +then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +printf %s "checking for dld_link in -ldld... " >&6; } +if test ${ac_cv_lib_dld_dld_link+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dld_link (); +int +main (void) +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dld_dld_link=yes +else $as_nop + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes +then : + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +printf %s "checking whether a program can dlopen itself... " >&6; } +if test ${lt_cv_dlopen_self+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +printf "%s\n" "$lt_cv_dlopen_self" >&6; } + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +printf %s "checking whether a statically linked program can dlopen itself... " >&6; } +if test ${lt_cv_dlopen_self_static+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +printf "%s\n" "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +printf %s "checking whether stripping libraries is possible... " >&6; } +if test -z "$STRIP"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +else + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + fi + ;; + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + ;; + esac + fi +fi + + + + + + + + + + + + + # Report what library types will actually be built + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +printf %s "checking if libtool supports shared libraries... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +printf "%s\n" "$can_build_shared" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +printf %s "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +printf "%s\n" "$enable_shared" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +printf %s "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +printf "%s\n" "$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC + + if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +printf %s "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if test ${ac_cv_prog_CXXCPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CXX needs to be expanded + for CXXCPP in "$CXX -E" cpp /lib/cpp + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +printf "%s\n" "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +else + _lt_caught_CXX_error=yes +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +reload_flag_CXX=$reload_flag +reload_cmds_CXX=$reload_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_caught_CXX_error"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + + # save warnings/boilerplate of simple test code + ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + + ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + compiler_CXX=$CC + func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test yes = "$GXX"; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi + + if test yes = "$GXX"; then + # Set up default GNU C++ configuration + + + +# Check whether --with-gnu-ld was given. +if test ${with_gnu_ld+y} +then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else $as_nop + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +printf %s "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +printf %s "checking for GNU ld... " >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +printf %s "checking for non-GNU ld... " >&6; } +fi +if test ${lt_cv_path_LD+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +printf "%s\n" "$LD" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +printf %s "checking if the linker ($LD) is GNU ld... " >&6; } +if test ${lt_cv_prog_gnu_ld+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test yes = "$with_gnu_ld"; then + archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='$wl' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix[4-9]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + file_list_spec_CXX='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_CXX=no + hardcode_direct_absolute_CXX=no + ;; + esac + + if test yes = "$GXX"; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_CXX='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + always_export_symbols_CXX=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + # The "-G" linker flag allows undefined symbols. + no_undefined_flag_CXX='-bernotok' + # Determine the default libpath from the value encoded in an empty + # executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if test ${lt_cv_aix_libpath__CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if test ${lt_cv_aix_libpath__CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' $wl-bernotok' + allow_undefined_flag_CXX=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + fi + archive_cmds_need_lc_CXX=yes + archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl* | ,icl* | no,icl*) + # Native MSVC or ICC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_CXX=' ' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=yes + file_list_spec_CXX='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' + enable_shared_with_static_runtimes_CXX=yes + # Don't use ranlib + old_postinstall_cmds_CXX='chmod 644 $oldlib' + postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + export_dynamic_flag_spec_CXX='$wl--export-all-symbols' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + + + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_CXX='' + fi + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_CXX="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds_CXX="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + if test yes != "$lt_cv_apple_cc_single_mod"; then + archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" + archive_expsym_cmds_CXX="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" + fi + + else + ld_shlibs_CXX=no + fi + + ;; + + os2*) + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_minus_L_CXX=yes + allow_undefined_flag_CXX=unsupported + shrext_cmds=.dll + archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_CXX=yes + file_list_spec_CXX='@' + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; + + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + + haiku*) + archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_CXX=yes + ;; + + hpux9*) + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='$wl-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + export_dynamic_flag_spec_CXX='$wl-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + hardcode_libdir_separator_CXX=: + inherit_rpath_CXX=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [1-5].* | *pgcpp\ [1-5].*) + prelink_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + old_archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + archive_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object_CXX=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + ld_shlibs_CXX=yes + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + hardcode_direct_absolute_CXX=yes + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='$wl-E' + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + ld_shlibs_CXX=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + case $host in + osf3*) + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + ;; + *) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ + $RM $lib.exp' + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + ;; + esac + + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes,no = "$GXX,$with_gnu_ld"; then + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + case $host in + osf3*) + archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + *) + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test yes,no = "$GXX,$with_gnu_ld"; then + no_undefined_flag_CXX=' $wl-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + else + # g++ 2.7 appears to require '-G' NOT '-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' + fi + + hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='$wl-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_CXX='$wl-z,text' + allow_undefined_flag_CXX='$wl-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ + '"$old_archive_cmds_CXX" + reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ + '"$reload_cmds_CXX" + ;; + *) + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +printf "%s\n" "$ld_shlibs_CXX" >&6; } + test no = "$ld_shlibs_CXX" && can_build_shared=no + + GCC_CXX=$GXX + LD_CXX=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF + + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX=$prev$p + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX=$prev$p + else + postdeps_CXX="${postdeps_CXX} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test no = "$pre_test_object_deps_done"; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX=$p + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX=$p + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + + + # C++ specific cases for pic, static, wl, etc. + if test yes = "$GXX"; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + lt_prog_compiler_pic_CXX='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_CXX='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_CXX='$wl-static' + ;; + esac + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly* | midnightbsd*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64, which still supported -KPIC. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +printf %s "checking for $compiler option to produce PIC... " >&6; } +if test ${lt_cv_prog_compiler_pic_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_CXX" >&6; } +lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if test ${lt_cv_prog_compiler_pic_works_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_pic_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if test ${lt_cv_prog_compiler_static_works_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_static_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then + : +else + lt_prog_compiler_static_CXX= +fi + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if test ${lt_cv_prog_compiler_c_o_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +printf %s "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +printf "%s\n" "$hard_links" >&6; } + if test no = "$hard_links"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +printf "%s\n" "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + case $host_os in + aix[4-9]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX=$ltdll_cmds + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl* | icl*) + exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + ;; + esac + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +printf "%s\n" "$ld_shlibs_CXX" >&6; } +test no = "$ld_shlibs_CXX" && can_build_shared=no + +with_gnu_ld_CXX=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +printf %s "checking whether -lc should be explicitly linked in... " >&6; } +if test ${lt_cv_archive_cmds_need_lc_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_CXX=no + else + lt_cv_archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 +printf "%s\n" "$lt_cv_archive_cmds_need_lc_CXX" >&6; } + archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +printf %s "checking dynamic linker characteristics... " >&6; } + +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + + + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[4-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl* | *,icl*) + # Native MSVC or ICC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC and ICC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly* | midnightbsd*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[23].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec_CXX='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + if test ${lt_cv_shlibpath_overrides_runpath+y} +then : + printf %s "(cached) " >&6 +else $as_nop + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null +then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +printf "%s\n" "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +printf %s "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || + test yes = "$hardcode_automatic_CXX"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_CXX" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && + test no != "$hardcode_minus_L_CXX"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 +printf "%s\n" "$hardcode_action_CXX" >&6; } + +if test relink = "$hardcode_action_CXX" || + test yes = "$inherit_rpath_CXX"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test yes != "$_lt_caught_CXX_error" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +# Check whether --enable-optimization was given. +if test ${enable_optimization+y} +then : + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else $as_nop + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + +printf "%s\n" "#define NDEBUG /**/" >>confdefs.h + +fi + +# Check whether --enable-full-debug was given. +if test ${enable_full_debug+y} +then : + enableval=$enable_full_debug; case $enableval in + yes) enable_full_debug=yes;; + no) enable_full_debug=no;; + *) enable_full_debug=no;; esac +else $as_nop + enable_full_debug=no +fi + +if test "$enable_full_debug" = yes; then + +printf "%s\n" "#define FULL_DEBUG /**/" >>confdefs.h + +fi + +# Check whether --enable-fast-compilation was given. +if test ${enable_fast_compilation+y} +then : + enableval=$enable_fast_compilation; +else $as_nop + enable_fast_compilation="yes" +fi + +if test "$enable_fast_compilation" = "yes"; then + +printf "%s\n" "#define FAST_COMPILATION /**/" >>confdefs.h + +fi + if test "$enable_fast_compilation" = "yes"; then + FAST_COMPILATION_TRUE= + FAST_COMPILATION_FALSE='#' +else + FAST_COMPILATION_TRUE='#' + FAST_COMPILATION_FALSE= +fi + + +# Check whether --enable-tests was given. +if test ${enable_tests+y} +then : + enableval=$enable_tests; +else $as_nop + enable_tests="no" +fi + +if test "$enable_tests" = "yes"; then + +printf "%s\n" "#define COMPILE_TESTS /**/" >>confdefs.h + +fi + if test "$enable_tests" = "yes"; then + COMPILE_TESTS_TRUE= + COMPILE_TESTS_FALSE='#' +else + COMPILE_TESTS_TRUE='#' + COMPILE_TESTS_FALSE= +fi + + +# Autoupdate added the next two lines to ensure that your configure +# script's behavior did not change. They are probably safe to remove. + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +printf %s "checking for egrep... " >&6; } +if test ${ac_cv_path_EGREP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_prog in egrep + do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + printf %s 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + printf "%s\n" 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +printf "%s\n" "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler recognizes bool as a built-in type" >&5 +printf %s "checking whether the compiler recognizes bool as a built-in type... " >&6; } +if test ${ac_cv_cxx_bool+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int f(int x){return 1;} +int f(char x){return 1;} +int f(bool x){return 1;} + +int +main (void) +{ +bool b = true; return f(b); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_bool=yes +else $as_nop + ac_cv_cxx_bool=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_bool" >&5 +printf "%s\n" "$ac_cv_cxx_bool" >&6; } +if test "$ac_cv_cxx_bool" = yes; then + +printf "%s\n" "#define HAVE_BOOL /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for long long int" >&5 +printf %s "checking for long long int... " >&6; } +if test ${ob_cv_cxx_long_long+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +long long int i; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ob_cv_cxx_long_long=yes +else $as_nop + ob_cv_cxx_long_long=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ob_cv_cxx_long_long" >&5 +printf "%s\n" "$ob_cv_cxx_long_long" >&6; } +if test $ob_cv_cxx_long_long = yes; then + +printf "%s\n" "#define HAVE_LONG_LONG /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports isfinite macro" >&5 +printf %s "checking whether the compiler supports isfinite macro... " >&6; } +if test ${ac_cv_cxx_have_isfinite+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _GNU_SOURCE + #include +int +main (void) +{ +double d=0; int n = isfinite(d); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_isfinite=yes +else $as_nop + ac_cv_cxx_have_isfinite=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_isfinite" >&5 +printf "%s\n" "$ac_cv_cxx_have_isfinite" >&6; } +if test $ac_cv_cxx_have_isfinite = yes; then + +printf "%s\n" "#define HAVE_ISFINITE /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports basic templates" >&5 +printf %s "checking whether the compiler supports basic templates... " >&6; } +if test ${ac_cv_cxx_templates+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +template class A {public:A(){}}; +template void f(const A& ){} +int +main (void) +{ + +A d; A i; f(d); f(i); return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_templates=yes +else $as_nop + ac_cv_cxx_templates=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_templates" >&5 +printf "%s\n" "$ac_cv_cxx_templates" >&6; } +if test "$ac_cv_cxx_templates" = yes; then + +printf "%s\n" "#define HAVE_TEMPLATES /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler recognizes typename" >&5 +printf %s "checking whether the compiler recognizes typename... " >&6; } +if test ${ac_cv_cxx_typename+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +templateclass X {public:X(){}}; +int +main (void) +{ +X z; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_typename=yes +else $as_nop + ac_cv_cxx_typename=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_typename" >&5 +printf "%s\n" "$ac_cv_cxx_typename" >&6; } +if test "$ac_cv_cxx_typename" = yes; then + +printf "%s\n" "#define HAVE_TYPENAME /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports function matching with argument types which are template scope-qualified" >&5 +printf %s "checking whether the compiler supports function matching with argument types which are template scope-qualified... " >&6; } +if test ${ac_cv_cxx_template_scoped_argument_matching+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef HAVE_TYPENAME + #define typename +#endif +template class A { public : typedef X W; }; +template class B {}; +template void operator+(B d1, typename Y::W d2) {} + +int +main (void) +{ +B > z; z + 0.5f; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_template_scoped_argument_matching=yes +else $as_nop + ac_cv_cxx_template_scoped_argument_matching=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_template_scoped_argument_matching" >&5 +printf "%s\n" "$ac_cv_cxx_template_scoped_argument_matching" >&6; } +if test "$ac_cv_cxx_template_scoped_argument_matching" = yes; then + +printf "%s\n" "#define HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports default template parameters" >&5 +printf %s "checking whether the compiler supports default template parameters... " >&6; } +if test ${ac_cv_cxx_default_template_parameters+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +template class A {public: int f() {return 0;}}; + +int +main (void) +{ +A a; return a.f(); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_default_template_parameters=yes +else $as_nop + ac_cv_cxx_default_template_parameters=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_default_template_parameters" >&5 +printf "%s\n" "$ac_cv_cxx_default_template_parameters" >&6; } +if test "$ac_cv_cxx_default_template_parameters" = yes; then + +printf "%s\n" "#define HAVE_DEFAULT_TEMPLATE_PARAMETERS /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports template-qualified base class specifiers" >&5 +printf %s "checking whether the compiler supports template-qualified base class specifiers... " >&6; } +if test ${ac_cv_cxx_template_qualified_base_class+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef HAVE_TYPENAME + #define typename +#endif +class Base1 { public : int f () const { return 1; } }; +class Base2 { public : int f () const { return 0; } }; +template struct base_trait { typedef Base1 base; }; + struct base_trait { typedef Base2 base; }; +template class Weird : public base_trait::base +{ public : + typedef typename base_trait::base base; + int g () const { return f (); } +}; +int +main (void) +{ + Weird z; return z.g (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_template_qualified_base_class=yes +else $as_nop + ac_cv_cxx_template_qualified_base_class=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_template_qualified_base_class" >&5 +printf "%s\n" "$ac_cv_cxx_template_qualified_base_class" >&6; } +if test "$ac_cv_cxx_template_qualified_base_class" = yes; then + +printf "%s\n" "#define HAVE_TEMPLATE_QUALIFIED_BASE_CLASS /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports template-qualified return types" >&5 +printf %s "checking whether the compiler supports template-qualified return types... " >&6; } +if test ${ac_cv_cxx_template_qualified_return_type+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifndef HAVE_TYPENAME + #define typename +#endif +template struct promote_trait { typedef X T; }; +template<> struct promote_trait { typedef float T; }; +template class A { public : A () {} }; +template +A::T> operator+ (const A&, const A&) +{ return A::T>(); } + +int +main (void) +{ +A x; A y; A z = x + y; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_template_qualified_return_type=yes +else $as_nop + ac_cv_cxx_template_qualified_return_type=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_template_qualified_return_type" >&5 +printf "%s\n" "$ac_cv_cxx_template_qualified_return_type" >&6; } +if test "$ac_cv_cxx_template_qualified_return_type" = yes; then + +printf "%s\n" "#define HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports const_cast<>" >&5 +printf %s "checking whether the compiler supports const_cast<>... " >&6; } +if test ${ac_cv_cxx_const_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +int x = 0;const int& y = x;int& z = const_cast(y);return z; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_const_cast=yes +else $as_nop + ac_cv_cxx_const_cast=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_const_cast" >&5 +printf "%s\n" "$ac_cv_cxx_const_cast" >&6; } +if test "$ac_cv_cxx_const_cast" = yes; then + +printf "%s\n" "#define HAVE_CONST_CAST /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports reinterpret_cast<>" >&5 +printf %s "checking whether the compiler supports reinterpret_cast<>... " >&6; } +if test ${ac_cv_cxx_reinterpret_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +class Unrelated { public : Unrelated () {} }; +int g (Unrelated&) { return 0; } +int +main (void) +{ + +Derived d;Base& b=d;Unrelated& e=reinterpret_cast(b);return g(e); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_reinterpret_cast=yes +else $as_nop + ac_cv_cxx_reinterpret_cast=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_reinterpret_cast" >&5 +printf "%s\n" "$ac_cv_cxx_reinterpret_cast" >&6; } +if test "$ac_cv_cxx_reinterpret_cast" = yes; then + +printf "%s\n" "#define HAVE_REINTERPRET_CAST /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports static_cast<>" >&5 +printf %s "checking whether the compiler supports static_cast<>... " >&6; } +if test ${ac_cv_cxx_static_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +class Base { public : Base () {} virtual void f () = 0; }; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +int g (Derived&) { return 0; } +int +main (void) +{ + +Derived d; Base& b = d; Derived& s = static_cast (b); return g (s); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_static_cast=yes +else $as_nop + ac_cv_cxx_static_cast=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_static_cast" >&5 +printf "%s\n" "$ac_cv_cxx_static_cast" >&6; } +if test "$ac_cv_cxx_static_cast" = yes; then + +printf "%s\n" "#define HAVE_STATIC_CAST /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports dynamic_cast<>" >&5 +printf %s "checking whether the compiler supports dynamic_cast<>... " >&6; } +if test ${ac_cv_cxx_dynamic_cast+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +int +main (void) +{ + +Derived d; Base& b=d; return dynamic_cast(&b) ? 0 : 1; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_dynamic_cast=yes +else $as_nop + ac_cv_cxx_dynamic_cast=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_dynamic_cast" >&5 +printf "%s\n" "$ac_cv_cxx_dynamic_cast" >&6; } +if test "$ac_cv_cxx_dynamic_cast" = yes; then + +printf "%s\n" "#define HAVE_DYNAMIC_CAST /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports exceptions" >&5 +printf %s "checking whether the compiler supports exceptions... " >&6; } +if test ${ac_cv_cxx_exceptions+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ +try { throw 1; } catch (int i) { return i; } + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_exceptions=yes +else $as_nop + ac_cv_cxx_exceptions=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_exceptions" >&5 +printf "%s\n" "$ac_cv_cxx_exceptions" >&6; } +if test "$ac_cv_cxx_exceptions" = yes; then + +printf "%s\n" "#define HAVE_EXCEPTIONS /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports the explicit keyword" >&5 +printf %s "checking whether the compiler supports the explicit keyword... " >&6; } +if test ${ac_cv_cxx_explicit+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +class A{public:explicit A(double){}}; +int +main (void) +{ +double c = 5.0;A x(c);return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_explicit=yes +else $as_nop + ac_cv_cxx_explicit=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_explicit" >&5 +printf "%s\n" "$ac_cv_cxx_explicit" >&6; } +if test "$ac_cv_cxx_explicit" = yes; then + +printf "%s\n" "#define HAVE_EXPLICIT /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler implements namespaces" >&5 +printf %s "checking whether the compiler implements namespaces... " >&6; } +if test ${ac_cv_cxx_namespaces+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +namespace Outer { namespace Inner { int i = 0; }} +int +main (void) +{ +using namespace Outer::Inner; return i; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_namespaces=yes +else $as_nop + ac_cv_cxx_namespaces=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_namespaces" >&5 +printf "%s\n" "$ac_cv_cxx_namespaces" >&6; } +if test "$ac_cv_cxx_namespaces" = yes; then + +printf "%s\n" "#define HAVE_NAMESPACES /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports Run-Time Type Identification" >&5 +printf %s "checking whether the compiler supports Run-Time Type Identification... " >&6; } +if test ${ac_cv_cxx_rtti+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +class Base { public : + Base () {} + virtual int f () { return 0; } + }; +class Derived : public Base { public : + Derived () {} + virtual int f () { return 1; } + }; + +int +main (void) +{ +Derived d; +Base *ptr = &d; +return typeid (*ptr) == typeid (Derived); + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_rtti=yes +else $as_nop + ac_cv_cxx_rtti=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_rtti" >&5 +printf "%s\n" "$ac_cv_cxx_rtti" >&6; } +if test "$ac_cv_cxx_rtti" = yes; then + +printf "%s\n" "#define HAVE_RTTI /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports ISO C++ standard library" >&5 +printf %s "checking whether the compiler supports ISO C++ standard library... " >&6; } +if test ${ac_cv_cxx_have_std+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main (void) +{ +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_std=yes +else $as_nop + ac_cv_cxx_have_std=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_std" >&5 +printf "%s\n" "$ac_cv_cxx_have_std" >&6; } +if test "$ac_cv_cxx_have_std" = yes; then + +printf "%s\n" "#define HAVE_STD /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports Standard Template Library" >&5 +printf %s "checking whether the compiler supports Standard Template Library... " >&6; } +if test ${ac_cv_cxx_have_stl+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main (void) +{ +list x; x.push_back(5); +list::iterator iter = x.begin(); if (iter != x.end()) ++iter; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_stl=yes +else $as_nop + ac_cv_cxx_have_stl=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_stl" >&5 +printf "%s\n" "$ac_cv_cxx_have_stl" >&6; } +if test "$ac_cv_cxx_have_stl" = yes; then + +printf "%s\n" "#define HAVE_STL /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler has numeric_limits" >&5 +printf %s "checking whether the compiler has numeric_limits... " >&6; } +if test ${ac_cv_cxx_have_numeric_limits+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main (void) +{ +double e = numeric_limits::epsilon(); return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_numeric_limits=yes +else $as_nop + ac_cv_cxx_have_numeric_limits=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_numeric_limits" >&5 +printf "%s\n" "$ac_cv_cxx_have_numeric_limits" >&6; } +if test "$ac_cv_cxx_have_numeric_limits" = yes; then + +printf "%s\n" "#define HAVE_NUMERIC_LIMITS /**/" >>confdefs.h + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler has stringstream" >&5 +printf %s "checking whether the compiler has stringstream... " >&6; } +if test ${ac_cv_cxx_have_sstream+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main (void) +{ +stringstream message; message << "Hello"; return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_have_sstream=yes +else $as_nop + ac_cv_cxx_have_sstream=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_have_sstream" >&5 +printf "%s\n" "$ac_cv_cxx_have_sstream" >&6; } +if test "$ac_cv_cxx_have_sstream" = yes; then + +printf "%s\n" "#define HAVE_SSTREAM /**/" >>confdefs.h + +fi + + +# Check whether --enable-hashset was given. +if test ${enable_hashset+y} +then : + enableval=$enable_hashset; +else $as_nop + enable_hashset="no" +fi + +if test "$enable_hashset" = "yes"; then + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports std::hash_set" >&5 +printf %s "checking whether the compiler supports std::hash_set... " >&6; } +if test ${ac_cv_cxx_std_hashset+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using std::hash_set; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_std_hashset=yes +else $as_nop + ac_cv_cxx_std_hashset=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_std_hashset" >&5 +printf "%s\n" "$ac_cv_cxx_std_hashset" >&6; } +if test "ac_cv_cxx_std_hashset" = yes; then + +printf "%s\n" "#define HAVE_STD_HASHSET /**/" >>confdefs.h + +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports __gnu_cxx::hash_set" >&5 +printf %s "checking whether the compiler supports __gnu_cxx::hash_set... " >&6; } +if test ${ac_cv_cxx_gnucxx_hashset+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using __gnu_cxx::hash_set; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_gnucxx_hashset=yes +else $as_nop + ac_cv_cxx_gnucxx_hashset=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_gnucxx_hashset" >&5 +printf "%s\n" "$ac_cv_cxx_gnucxx_hashset" >&6; } +if test "$ac_cv_cxx_gnucxx_hashset" = yes; then + +printf "%s\n" "#define HAVE_GNUCXX_HASHSET /**/" >>confdefs.h + +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports stdext::hash_set" >&5 +printf %s "checking whether the compiler supports stdext::hash_set... " >&6; } +if test ${ac_cv_cxx_stdext_hashset+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using stdext::hash_set; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_stdext_hashset=yes +else $as_nop + ac_cv_cxx_stdext_hashset=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_stdext_hashset" >&5 +printf "%s\n" "$ac_cv_cxx_stdext_hashset" >&6; } +if test "ac_cv_cxx_stdext_hashset" = yes; then + +printf "%s\n" "#define HAVE_STDEXT_HASHSET /**/" >>confdefs.h + +fi + +fi +# Check whether --enable-hashmap was given. +if test ${enable_hashmap+y} +then : + enableval=$enable_hashmap; +else $as_nop + enable_hashmap="no" +fi + +if test "$enable_hashmap" = "yes"; then + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports std::hash_map" >&5 +printf %s "checking whether the compiler supports std::hash_map... " >&6; } +if test ${ac_cv_cxx_std_hashmap+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using std::hash_map; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_std_hashmap=yes +else $as_nop + ac_cv_cxx_std_hashmap=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_std_hashmap" >&5 +printf "%s\n" "$ac_cv_cxx_std_hashmap" >&6; } +if test "ac_cv_cxx_std_hashmap" = yes; then + +printf "%s\n" "#define HAVE_STD_HASHMAP /**/" >>confdefs.h + +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports __gnu_cxx::hash_map" >&5 +printf %s "checking whether the compiler supports __gnu_cxx::hash_map... " >&6; } +if test ${ac_cv_cxx_gnucxx_hashmap+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using __gnu_cxx::hash_map; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_gnucxx_hashmap=yes +else $as_nop + ac_cv_cxx_gnucxx_hashmap=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_gnucxx_hashmap" >&5 +printf "%s\n" "$ac_cv_cxx_gnucxx_hashmap" >&6; } +if test "$ac_cv_cxx_gnucxx_hashmap" = yes; then + +printf "%s\n" "#define HAVE_GNUCXX_HASHMAP /**/" >>confdefs.h + +fi + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports stdext::hash_map" >&5 +printf %s "checking whether the compiler supports stdext::hash_map... " >&6; } +if test ${ac_cv_cxx_stdext_hashmap+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +using stdext::hash_map; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO" +then : + ac_cv_cxx_stdext_hashmap=yes +else $as_nop + ac_cv_cxx_stdext_hashmap=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_stdext_hashmap" >&5 +printf "%s\n" "$ac_cv_cxx_stdext_hashmap" >&6; } +if test "ac_cv_cxx_stdext_hashmap" = yes; then + +printf "%s\n" "#define HAVE_STDEXT_HASHMAP /**/" >>confdefs.h + +fi + +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /dev/urandom" >&5 +printf %s "checking for /dev/urandom... " >&6; } +if test ${ac_cv_file__dev_urandom+y} +then : + printf %s "(cached) " >&6 +else $as_nop + test "$cross_compiling" = yes && + as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5 +if test -r "/dev/urandom"; then + ac_cv_file__dev_urandom=yes +else + ac_cv_file__dev_urandom=no +fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__dev_urandom" >&5 +printf "%s\n" "$ac_cv_file__dev_urandom" >&6; } +if test "x$ac_cv_file__dev_urandom" = xyes +then : + +printf "%s\n" "#define HAVE_DEV_URANDOM /**/" >>confdefs.h + +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +printf %s "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char pthread_join (); +int +main (void) +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + acx_pthread_ok=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_ok" >&5 +printf "%s\n" "$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all, and "pthread-config" +# which is a program returning the flags for the Pth emulation library. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5 +printf %s "checking whether pthreads work without any flags... " >&6; } + ;; + + -*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5 +printf %s "checking whether pthreads work with $flag... " >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + pthread-config) + # Extract the first word of "pthread-config", so it can be a program name with args. +set dummy pthread-config; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_acx_pthread_config+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$acx_pthread_config"; then + ac_cv_prog_acx_pthread_config="$acx_pthread_config" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_acx_pthread_config="yes" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no" +fi +fi +acx_pthread_config=$ac_cv_prog_acx_pthread_config +if test -n "$acx_pthread_config"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_config" >&5 +printf "%s\n" "$acx_pthread_config" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + if test x"$acx_pthread_config" = xno; then continue; fi + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; + + *) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5 +printf %s "checking for the pthreads library -l$flag... " >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + acx_pthread_ok=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $acx_pthread_ok" >&5 +printf "%s\n" "$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5 +printf %s "checking for joinable pthread attribute... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ok=PTHREAD_CREATE_JOINABLE +else $as_nop + ok=unknown +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ok=PTHREAD_CREATE_UNDETACHED +else $as_nop + ok=unknown +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +printf "%s\n" "#define PTHREAD_CREATE_JOINABLE \$ok" >>confdefs.h + + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${ok}" >&5 +printf "%s\n" "${ok}" >&6; } + if test x"$ok" = xunknown; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: we do not know how to create joinable pthreads" >&5 +printf "%s\n" "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5 +printf %s "checking if more special flags are required for pthreads... " >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${flag}" >&5 +printf "%s\n" "${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_PTHREAD_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_PTHREAD_CC="cc_r" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5 +printf "%s\n" "$PTHREAD_CC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +printf "%s\n" "#define HAVE_PTHREAD 1" >>confdefs.h + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +# +# Handle user hints +# +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if zlib is wanted" >&5 +printf %s "checking if zlib is wanted... " >&6; } + +# Check whether --with-zlib was given. +if test ${with_zlib+y} +then : + withval=$with_zlib; if test "$withval" != no ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + ZLIB_HOME="$withval" +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi +else $as_nop + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inflateEnd in -lz" >&5 +printf %s "checking for inflateEnd in -lz... " >&6; } +if test ${ac_cv_lib_z_inflateEnd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char inflateEnd (); +int +main (void) +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_z_inflateEnd=yes +else $as_nop + ac_cv_lib_z_inflateEnd=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflateEnd" >&5 +printf "%s\n" "$ac_cv_lib_z_inflateEnd" >&6; } +if test "x$ac_cv_lib_z_inflateEnd" = xyes +then : + zlib_cv_libz=yes +else $as_nop + zlib_cv_libz=no +fi + + ac_fn_c_check_header_compile "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" +if test "x$ac_cv_header_zlib_h" = xyes +then : + zlib_cv_zlib_h=yes +else $as_nop + zlib_cv_zlib_h=no +fi + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inflateEnd in -lz" >&5 +printf %s "checking for inflateEnd in -lz... " >&6; } +if test ${ac_cv_lib_z_inflateEnd+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +namespace conftest { + extern "C" int inflateEnd (); +} +int +main (void) +{ +return conftest::inflateEnd (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO" +then : + ac_cv_lib_z_inflateEnd=yes +else $as_nop + ac_cv_lib_z_inflateEnd=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflateEnd" >&5 +printf "%s\n" "$ac_cv_lib_z_inflateEnd" >&6; } +if test "x$ac_cv_lib_z_inflateEnd" = xyes +then : + printf "%s\n" "#define HAVE_LIBZ 1" >>confdefs.h + + LIBS="-lz $LIBS" + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking zlib in ${ZLIB_HOME}" >&5 +printf %s "checking zlib in ${ZLIB_HOME}... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +printf "%s\n" "ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking zlib in ${ZLIB_HOME}" >&5 +printf %s "checking zlib in ${ZLIB_HOME}... " >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +printf "%s\n" "failed" >&6; } + fi +fi + + + +if test "$ac_cv_cxx_templates" = no; then + as_fn_error $? "\"sorry, templates support needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_template_scoped_argument_matching" = no; then + as_fn_error $? "\"sorry, template scoped argument matching support needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_default_template_parameters" = no; then + as_fn_error $? "\"sorry, default template parameters support needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_typename" = no; then + as_fn_error $? "\"sorry, typename qualifier needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_exceptions" = no; then + as_fn_error $? "\"sorry, support for exception handling needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_namespaces" = no; then + as_fn_error $? "\"sorry, namespaces support needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_have_std" = no; then + as_fn_error $? "\"sorry, namespace std needed\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_have_stl" = no; then + as_fn_error $? "\"sorry, no standard template library found\"" "$LINENO" 5 +fi +if test "$ac_cv_cxx_have_sstream" = no; then + as_fn_error $? "\"sorry, no sstream found. If you are using gcc less or equal to 2.95.2, see http://gcc.gnu.org/faq.html#2.95sstream to patch your compiler\"" "$LINENO" 5 +fi + +PACC_VERSION='1.3.1b' + +if test "$zlib_cv_libz" = yes; then + CPPFLAGS="$CPPFLAGS -DPACC_ZLIB" +fi + +ac_config_files="$ac_config_files Makefile PACC/Makefile PACC/Math/Makefile PACC/SVG/Makefile PACC/Socket/Makefile PACC/Threading/Makefile PACC/Util/Makefile PACC/XML/Makefile beagle/Makefile beagle/include/Makefile beagle/include/beagle/Makefile beagle/src/Makefile beagle/GA/Makefile beagle/GA/include/Makefile beagle/GA/include/beagle/Makefile beagle/GA/include/beagle/GA/Makefile beagle/GA/src/Makefile beagle/GP/Makefile beagle/GP/include/Makefile beagle/GP/include/beagle/Makefile beagle/GP/include/beagle/GP/Makefile beagle/GP/src/Makefile beagle/Coev/Makefile beagle/Coev/include/Makefile beagle/Coev/include/beagle/Makefile beagle/Coev/include/beagle/Coev/Makefile beagle/Coev/src/Makefile tests/Makefile tests/Common/Makefile tests/Exception/Makefile tests/GA/Makefile tests/GA/optfct/Makefile tests/GP/Makefile tests/GP/FitnessTestGPIndividual/Makefile tests/GP/ReadGPIndividual/Makefile tests/GP/WriteRandomGPIndividual/Makefile tests/LinGP/Makefile tests/LinGP/include/Makefile tests/LinGP/include/beagle/Makefile tests/LinGP/include/beagle/LinGP/Makefile tests/LinGP/src/Makefile tests/Roulette/Makefile tests/Thread/Makefile tests/TransportTCPIPOp/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +printf "%s\n" "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +printf %s "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5 +printf "%s\n" "done" >&6; } + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${FAST_COMPILATION_TRUE}" && test -z "${FAST_COMPILATION_FALSE}"; then + as_fn_error $? "conditional \"FAST_COMPILATION\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${COMPILE_TESTS_TRUE}" && test -z "${COMPILE_TESTS_FALSE}"; then + as_fn_error $? "conditional \"COMPILE_TESTS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +as_nop=: +if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1 +then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else $as_nop + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + + +# Reset variables that may have inherited troublesome values from +# the environment. + +# IFS needs to be set, to space, tab, and newline, in precisely that order. +# (If _AS_PATH_WALK were called with IFS unset, it would have the +# side effect of setting IFS to empty, thus disabling word splitting.) +# Quoting is to prevent editors from complaining about space-tab. +as_nl=' +' +export as_nl +IFS=" "" $as_nl" + +PS1='$ ' +PS2='> ' +PS4='+ ' + +# Ensure predictable behavior from utilities with locale-dependent output. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# We cannot yet rely on "unset" to work, but we need these variables +# to be unset--not just set to an empty or harmless value--now, to +# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct +# also avoids known problems related to "unset" and subshell syntax +# in other old shells (e.g. bash 2.01 and pdksh 5.2.14). +for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH +do eval test \${$as_var+y} \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done + +# Ensure that fds 0, 1, and 2 are open. +if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi +if (exec 3>&2) ; then :; else exec 2>/dev/null; fi + +# The user is always right. +if ${PATH_SEPARATOR+false} :; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + test -r "$as_dir$0" && as_myself=$as_dir$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + printf "%s\n" "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null +then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else $as_nop + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null +then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else $as_nop + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + +# Determine whether it's possible to make 'echo' print without a newline. +# These variables are no longer used directly by Autoconf, but are AC_SUBSTed +# for compatibility with existing Makefiles. +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +# For backward compatibility with old third-party macros, we provide +# the shell variables $as_echo and $as_echo_n. New code should use +# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively. +as_echo='printf %s\n' +as_echo_n='printf %s' + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by Open BEAGLE $as_me 3.0.3, which was +generated by GNU Autoconf 2.71. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"` +ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"` +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config='$ac_cs_config_escaped' +ac_cs_version="\\ +Open BEAGLE config.status 3.0.3 +configured by $0, generated by GNU Autoconf 2.71, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2021 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + printf "%s\n" "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + printf "%s\n" "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + printf "%s\n" "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + printf "%s\n" "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +PACKAGE="$PACKAGE" +AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" + + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' +configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' +predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' +predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' +postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' +reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' +reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +FILECMD \ +OBJDUMP \ +deplibs_check_method \ +file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +DLLTOOL \ +sharedlib_from_linklib_cmd \ +AR \ +archiver_list_spec \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_import \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +lt_cv_nm_interface \ +nm_file_list_spec \ +lt_cv_truncate_bin \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_pic \ +lt_prog_compiler_wl \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +MANIFEST_TOOL \ +DSYMUTIL \ +NMEDIT \ +LIPO \ +OTOOL \ +OTOOL64 \ +shrext_cmds \ +export_dynamic_flag_spec \ +whole_archive_flag_spec \ +compiler_needs_object \ +with_gnu_ld \ +allow_undefined_flag \ +no_undefined_flag \ +hardcode_libdir_flag_spec \ +hardcode_libdir_separator \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +install_override_mode \ +finish_eval \ +old_striplib \ +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +reload_flag_CXX \ +compiler_CXX \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_pic_CXX \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_static_CXX \ +lt_cv_prog_compiler_c_o_CXX \ +export_dynamic_flag_spec_CXX \ +whole_archive_flag_spec_CXX \ +compiler_needs_object_CXX \ +with_gnu_ld_CXX \ +allow_undefined_flag_CXX \ +no_undefined_flag_CXX \ +hardcode_libdir_flag_spec_CXX \ +hardcode_libdir_separator_CXX \ +exclude_expsyms_CXX \ +include_expsyms_CXX \ +file_list_spec_CXX \ +compiler_lib_search_dirs_CXX \ +predep_objects_CXX \ +postdep_objects_CXX \ +predeps_CXX \ +postdeps_CXX \ +compiler_lib_search_path_CXX; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in reload_cmds \ +old_postinstall_cmds \ +old_postuninstall_cmds \ +old_archive_cmds \ +extract_expsyms_cmds \ +old_archive_from_new_cmds \ +old_archive_from_expsyms_cmds \ +archive_cmds \ +archive_expsym_cmds \ +module_cmds \ +module_expsym_cmds \ +export_symbols_cmds \ +prelink_cmds \ +postlink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +configure_time_dlsearch_path \ +configure_time_lt_sys_library_path \ +reload_cmds_CXX \ +old_archive_cmds_CXX \ +old_archive_from_new_cmds_CXX \ +old_archive_from_expsyms_cmds_CXX \ +archive_cmds_CXX \ +archive_expsym_cmds_CXX \ +module_cmds_CXX \ +module_expsym_cmds_CXX \ +export_symbols_cmds_CXX \ +prelink_cmds_CXX \ +postlink_cmds_CXX; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +ac_aux_dir='$ac_aux_dir' + +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + + + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile' + + + + + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config/config-h") CONFIG_HEADERS="$CONFIG_HEADERS config/config-h:config/config-h.in" ;; + "beagle/include/beagle/config.hpp") CONFIG_COMMANDS="$CONFIG_COMMANDS beagle/include/beagle/config.hpp" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "PACC/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Makefile" ;; + "PACC/Math/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Math/Makefile" ;; + "PACC/SVG/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/SVG/Makefile" ;; + "PACC/Socket/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Socket/Makefile" ;; + "PACC/Threading/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Threading/Makefile" ;; + "PACC/Util/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Util/Makefile" ;; + "PACC/XML/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/XML/Makefile" ;; + "beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Makefile" ;; + "beagle/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/include/Makefile" ;; + "beagle/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/include/beagle/Makefile" ;; + "beagle/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/src/Makefile" ;; + "beagle/GA/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/Makefile" ;; + "beagle/GA/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/Makefile" ;; + "beagle/GA/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/beagle/Makefile" ;; + "beagle/GA/include/beagle/GA/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/beagle/GA/Makefile" ;; + "beagle/GA/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/src/Makefile" ;; + "beagle/GP/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/Makefile" ;; + "beagle/GP/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/Makefile" ;; + "beagle/GP/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/beagle/Makefile" ;; + "beagle/GP/include/beagle/GP/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/beagle/GP/Makefile" ;; + "beagle/GP/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/src/Makefile" ;; + "beagle/Coev/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/Makefile" ;; + "beagle/Coev/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/Makefile" ;; + "beagle/Coev/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/beagle/Makefile" ;; + "beagle/Coev/include/beagle/Coev/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/beagle/Coev/Makefile" ;; + "beagle/Coev/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/src/Makefile" ;; + "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; + "tests/Common/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Common/Makefile" ;; + "tests/Exception/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Exception/Makefile" ;; + "tests/GA/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GA/Makefile" ;; + "tests/GA/optfct/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GA/optfct/Makefile" ;; + "tests/GP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/Makefile" ;; + "tests/GP/FitnessTestGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/FitnessTestGPIndividual/Makefile" ;; + "tests/GP/ReadGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/ReadGPIndividual/Makefile" ;; + "tests/GP/WriteRandomGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/WriteRandomGPIndividual/Makefile" ;; + "tests/LinGP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/Makefile" ;; + "tests/LinGP/include/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/Makefile" ;; + "tests/LinGP/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/beagle/Makefile" ;; + "tests/LinGP/include/beagle/LinGP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/beagle/LinGP/Makefile" ;; + "tests/LinGP/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/src/Makefile" ;; + "tests/Roulette/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Roulette/Makefile" ;; + "tests/Thread/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Thread/Makefile" ;; + "tests/TransportTCPIPOp/Makefile") CONFIG_FILES="$CONFIG_FILES tests/TransportTCPIPOp/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files + test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers + test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +printf "%s\n" "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`printf "%s\n" "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +printf "%s\n" "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + printf "%s\n" "/* $configure_input */" >&1 \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +printf "%s\n" "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "beagle/include/beagle/config.hpp":C) ac_prefix_conf_OUT=`echo beagle/include/beagle/config.hpp` +ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g"` +ac_prefix_conf_PKG=`echo BEAGLE` +ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"` +ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^[0123456789]/s/^/_/"` +ac_prefix_conf_INP=`echo "config/config-h" | sed -e 's/ *//'` +if test ".$ac_prefix_conf_INP" = "."; then + for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue + case "$ac_file" in + *.h) ac_prefix_conf_INP=$ac_file ;; + *) + esac + test ".$ac_prefix_conf_INP" != "." && break + done +fi +if test ".$ac_prefix_conf_INP" = "."; then + case "$ac_prefix_conf_OUT" in + */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"` + ;; + *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*-//"` + ;; + *) ac_prefix_conf_INP=config.h + ;; + esac +fi +if test -z "$ac_prefix_conf_PKG" ; then + as_fn_error $? "no prefix for _PREFIX_PKG_CONFIG_H" "$LINENO" 5 +else + if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then + ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP" + fi fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5 +printf "%s\n" "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;} + if test -f $ac_prefix_conf_INP ; then + echo "s/#undef *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]\\)/#undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix + echo "s/#undef *\\([abcdefghijklmnopqrstuvwxyz]\\)/#undef $ac_prefix_conf_LOW""_\\1/" >> conftest.prefix + echo "s/#define *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_UPP""_\\1 \\" >> conftest.prefix + echo "#define $ac_prefix_conf_UPP""_\\1 \\2 \\" >> conftest.prefix + echo "#endif/" >>conftest.prefix + echo "s/#define *\\([abcdefghijklmnopqrstuvwxyz][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_LOW""_\\1 \\" >> conftest.prefix + echo "#define $ac_prefix_conf_LOW""_\\1 \\2 \\" >> conftest.prefix + echo "#endif/" >> conftest.prefix + # now executing _script on _DEF input to create _OUT output file + echo "#ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h + echo "#define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h + + sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h + echo "#endif" >>$tmp/pconfig.h + if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_prefix_conf_OUT is unchanged" >&5 +printf "%s\n" "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;} + else + ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" || +$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$ac_prefix_conf_OUT" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + rm -f "$ac_prefix_conf_OUT" + mv $tmp/pconfig.h "$ac_prefix_conf_OUT" + fi + cp conftest.prefix _configs.sed + else + as_fn_error $? "input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" "$LINENO" 5 + fi + rm -f conftest.* +fi + ;; + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + case $CONFIG_FILES in #( + *\'*) : + eval set x "$CONFIG_FILES" ;; #( + *) : + set x $CONFIG_FILES ;; #( + *) : + ;; +esac + shift + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf + do + # Strip MF so we end up with the name of the file. + am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`$as_dirname -- "$am_mf" || +$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$am_mf" : 'X\(//\)[^/]' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X"$am_mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + am_filepart=`$as_basename -- "$am_mf" || +$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +printf "%s\n" X/"$am_mf" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { echo "$as_me:$LINENO: cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles" >&5 + (cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } || am_rc=$? + done + if test $am_rc -ne 0; then + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE=\"gmake\" (or whatever is + necessary). You can also try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking). +See \`config.log' for more details" "$LINENO" 5; } + fi + { am_dirpart=; unset am_dirpart;} + { am_filepart=; unset am_filepart;} + { am_mf=; unset am_mf;} + { am_rc=; unset am_rc;} + rm -f conftest-deps.mk +} + ;; + "libtool":C) + + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +# The names of the tagged configurations supported by this script. +available_tags='CXX ' + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=$macro_version +macro_revision=$macro_revision + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# What type of objects to build. +pic_mode=$pic_mode + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec=$shared_archive_member_spec + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="\$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP=$lt_GREP + +# An ERE matcher. +EGREP=$lt_EGREP + +# A literal string matcher. +FGREP=$lt_FGREP + +# A BSD- or MS-compatible name lister. +NM=$lt_NM + +# Whether we need soft or hard links. +LN_S=$lt_LN_S + +# What is the maximum length of a command? +max_cmd_len=$max_cmd_len + +# Object file suffix (normally "o"). +objext=$ac_objext + +# Executable file suffix (normally ""). +exeext=$exeext + +# whether the shell understands "unset". +lt_unset=$lt_unset + +# turn spaces into newlines. +SP2NL=$lt_lt_SP2NL + +# turn newlines into spaces. +NL2SP=$lt_lt_NL2SP + +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd + +# A file(cmd) program that detects file types. +FILECMD=$lt_FILECMD + +# An object symbol dumper. +OBJDUMP=$lt_OBJDUMP + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd=$lt_file_magic_cmd + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + +# The archiver. +AR=$lt_AR + +# Flags to create an archive (by configure). +lt_ar_flags=$lt_ar_flags + +# Flags to create an archive. +AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"} + +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + +# A symbol stripping program. +STRIP=$lt_STRIP + +# Commands used to install an old-style archive. +RANLIB=$lt_RANLIB +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + +# A C compiler. +LTCC=$lt_CC + +# LTCC compiler flags. +LTCFLAGS=$lt_CFLAGS + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm into a list of symbols to manually relocate. +global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix + +# The name lister interface. +nm_interface=$lt_lt_cv_nm_interface + +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec + +# The root where to search for dependent libraries,and where our libraries should be installed. +lt_sysroot=$lt_sysroot + +# Command to truncate a binary pipe. +lt_truncate_bin=$lt_lt_cv_truncate_bin + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=$MAGIC_CMD + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL=$lt_DSYMUTIL + +# Tool to change global to local symbols on Mac OS X. +NMEDIT=$lt_NMEDIT + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO=$lt_LIPO + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL=$lt_OTOOL + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64=$lt_OTOOL64 + +# Old archive suffix (normally "a"). +libext=$libext + +# Shared library suffix (normally ".so"). +shrext_cmds=$lt_shrext_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink=$lt_variables_saved_for_relink + +# Do we need the "lib" prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Library versioning type. +version_type=$version_type + +# Shared library runtime path variable. +runpath_var=$runpath_var + +# Shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval=$lt_finish_eval + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Compile-time system search path for libraries. +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + + +# The linker used to build libraries. +LD=$lt_LD + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# A language specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU compiler? +with_gcc=$GCC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + + +ltmain=$ac_aux_dir/ltmain.sh + + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + $SED '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + + + cat <<_LT_EOF >> "$ofile" + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_CXX +reload_cmds=$lt_reload_cmds_CXX + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX + +# A language specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting \$shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=$hardcode_direct_absolute_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + diff --git a/lib/beagle-3.0.3/configure.ac b/lib/beagle-3.0.3/configure.ac new file mode 100644 index 0000000..4ea8039 --- /dev/null +++ b/lib/beagle-3.0.3/configure.ac @@ -0,0 +1,197 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT([Open BEAGLE], 3.0.3,[cgagne@gmail.com],[beagle]) +AC_CONFIG_SRCDIR([beagle/src/Allocator.cpp]) +AC_CONFIG_AUX_DIR([config]) +AC_REVISION([$Revision: 1.33.2.7 $]) +AM_INIT_AUTOMAKE +AM_CONFIG_HEADER([config/config-h:config/config-h.in]) +AX_PREFIX_CONFIG_H([beagle/include/beagle/config.hpp],[BEAGLE],[config/config-h]) + +dnl Checks for programs. +AC_PROG_AWK +AC_PROG_CXX +AC_PROG_CXXCPP +AC_PROG_INSTALL +AC_PROG_LN_S +AC_PROG_LIBTOOL + +dnl Set language. +AC_LANG([C++]) + +dnl Open BEAGLE optimization mode option. +AC_ARG_ENABLE(optimization, + [ --enable-optimization enable optimization mode [default=no]], + [case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac], + enable_optimization=no) +if test "$enable_optimization" = yes; then + AC_DEFINE(NDEBUG,,[define if some debug code is disabled]) +fi + +dnl Open BEAGLE full debug mode option. +AC_ARG_ENABLE(full-debug, + [ --enable-full-debug enable full debug mode [default=no]], + [case $enableval in + yes) enable_full_debug=yes;; + no) enable_full_debug=no;; + *) enable_full_debug=no;; esac], + enable_full_debug=no) +if test "$enable_full_debug" = yes; then + AC_DEFINE(FULL_DEBUG,,[define if full debug mode is active]) +fi + +dnl Open BEAGLE fast compilation mode option. +AC_ARG_ENABLE(fast-compilation, + [ --enable-fast-compilation [=no/yes] enable fast compilation mode [default=yes]],, enable_fast_compilation="yes") +if test "$enable_fast_compilation" = "yes"; then + AC_DEFINE(FAST_COMPILATION,,[define if fast compilation mode is active]) +fi +AM_CONDITIONAL(FAST_COMPILATION, test "$enable_fast_compilation" = "yes") + +dnl Open BEAGLE tests compilation mode option. +AC_ARG_ENABLE(tests, + [ --enable-tests [=no/yes] enable compilation of tests [default=no]],, enable_tests="no") +if test "$enable_tests" = "yes"; then + AC_DEFINE(COMPILE_TESTS,,[define if compilation of tests is active]) +fi +AM_CONDITIONAL(COMPILE_TESTS, test "$enable_tests" = "yes") + +dnl Checks for libraries. +AC_HEADER_STDC + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_CXX_BOOL +OB_CXX_LONG_LONG +OB_CXX_HAVE_ISFINITE +AC_CXX_TEMPLATES +AC_CXX_TYPENAME +AC_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING +AC_CXX_DEFAULT_TEMPLATE_PARAMETERS +AC_CXX_TEMPLATE_QUALIFIED_BASE_CLASS +AC_CXX_TEMPLATE_QUALIFIED_RETURN_TYPE +AC_CXX_CONST_CAST +AC_CXX_REINTERPRET_CAST +AC_CXX_STATIC_CAST +AC_CXX_DYNAMIC_CAST +AC_CXX_EXCEPTIONS +AC_CXX_EXPLICIT +AC_CXX_NAMESPACES +AC_CXX_RTTI +AC_CXX_HAVE_STD +AC_CXX_HAVE_STL +AC_CXX_HAVE_NUMERIC_LIMITS +AC_CXX_HAVE_SSTREAM + +dnl Checks for hash_map and hash_set +AC_ARG_ENABLE(hashset, + [ --enable-hashset [=no/yes] enable hash_set STL extension [default=no]],, enable_hashset="no") +if test "$enable_hashset" = "yes"; then + AC_CXX_STD_HASHSET + AC_CXX_GNUCXX_HASHSET + AC_CXX_STDEXT_HASHSET +fi +AC_ARG_ENABLE(hashmap, + [ --enable-hashmap [=no/yes] enable hash_map STL extension [default=no]],, enable_hashmap="no") +if test "$enable_hashmap" = "yes"; then + AC_CXX_STD_HASHMAP + AC_CXX_GNUCXX_HASHMAP + AC_CXX_STDEXT_HASHMAP +fi + +dnl Check for file /dev/urandom +AC_CHECK_FILE([/dev/urandom],[AC_DEFINE([HAVE_DEV_URANDOM],[],[define if file /dev/urandom exists.])]) + +dnl Check for POSIX threads support. +ACX_PTHREAD +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +dnl Check for zlib support. +CHECK_ZLIB + +dnl Stop configure process if some C++ essentials are not present. +if test "$ac_cv_cxx_templates" = no; then + AC_MSG_ERROR([["sorry, templates support needed"]]) +fi +if test "$ac_cv_cxx_template_scoped_argument_matching" = no; then + AC_MSG_ERROR([["sorry, template scoped argument matching support needed"]]) +fi +if test "$ac_cv_cxx_default_template_parameters" = no; then + AC_MSG_ERROR([["sorry, default template parameters support needed"]]) +fi +if test "$ac_cv_cxx_typename" = no; then + AC_MSG_ERROR([["sorry, typename qualifier needed"]]) +fi +if test "$ac_cv_cxx_exceptions" = no; then + AC_MSG_ERROR([["sorry, support for exception handling needed"]]) +fi +if test "$ac_cv_cxx_namespaces" = no; then + AC_MSG_ERROR([["sorry, namespaces support needed"]]) +fi +if test "$ac_cv_cxx_have_std" = no; then + AC_MSG_ERROR([["sorry, namespace std needed"]]) +fi +if test "$ac_cv_cxx_have_stl" = no; then + AC_MSG_ERROR([["sorry, no standard template library found"]]) +fi +if test "$ac_cv_cxx_have_sstream" = no; then + AC_MSG_ERROR([["sorry, no sstream found. If you are using gcc less or equal to 2.95.2, see http://gcc.gnu.org/faq.html#2.95sstream to patch your compiler"]]) +fi + +dnl Specific variables definition for PACC +PACC_VERSION='1.3.1b' +AC_SUBST(PACC_VERSION) +if test "$zlib_cv_libz" = yes; then + CPPFLAGS="$CPPFLAGS -DPACC_ZLIB" +fi + +dnl Create makefiles. +AC_CONFIG_FILES([Makefile + PACC/Makefile + PACC/Math/Makefile + PACC/SVG/Makefile + PACC/Socket/Makefile + PACC/Threading/Makefile + PACC/Util/Makefile + PACC/XML/Makefile + beagle/Makefile + beagle/include/Makefile + beagle/include/beagle/Makefile + beagle/src/Makefile + beagle/GA/Makefile + beagle/GA/include/Makefile + beagle/GA/include/beagle/Makefile + beagle/GA/include/beagle/GA/Makefile + beagle/GA/src/Makefile + beagle/GP/Makefile + beagle/GP/include/Makefile + beagle/GP/include/beagle/Makefile + beagle/GP/include/beagle/GP/Makefile + beagle/GP/src/Makefile + beagle/Coev/Makefile + beagle/Coev/include/Makefile + beagle/Coev/include/beagle/Makefile + beagle/Coev/include/beagle/Coev/Makefile + beagle/Coev/src/Makefile + tests/Makefile + tests/Common/Makefile + tests/Exception/Makefile + tests/GA/Makefile + tests/GA/optfct/Makefile + tests/GP/Makefile + tests/GP/FitnessTestGPIndividual/Makefile + tests/GP/ReadGPIndividual/Makefile + tests/GP/WriteRandomGPIndividual/Makefile + tests/LinGP/Makefile + tests/LinGP/include/Makefile + tests/LinGP/include/beagle/Makefile + tests/LinGP/include/beagle/LinGP/Makefile + tests/LinGP/src/Makefile + tests/Roulette/Makefile + tests/Thread/Makefile + tests/TransportTCPIPOp/Makefile +]) +AC_OUTPUT diff --git a/lib/beagle-3.0.3/configure~ b/lib/beagle-3.0.3/configure~ new file mode 100755 index 0000000..0139c23 --- /dev/null +++ b/lib/beagle-3.0.3/configure~ @@ -0,0 +1,24510 @@ +#! /bin/sh +# From configure.ac Revision: 1.33.2.7 . +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for Open BEAGLE 3.0.3. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='Open BEAGLE' +PACKAGE_TARNAME='beagle' +PACKAGE_VERSION='3.0.3' +PACKAGE_STRING='Open BEAGLE 3.0.3' +PACKAGE_BUGREPORT='cgagne@gmail.com' + +ac_unique_file="beagle/src/Allocator.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +AMTAR +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +CXX +CXXFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CXX +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +LN_S +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +CC +CFLAGS +ac_ct_CC +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +SED +GREP +EGREP +ECHO +AR +RANLIB +CPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +FAST_COMPILATION_TRUE +FAST_COMPILATION_FALSE +COMPILE_TESTS_TRUE +COMPILE_TESTS_FALSE +acx_pthread_config +PTHREAD_CC +PTHREAD_LIBS +PTHREAD_CFLAGS +PACC_VERSION +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +CPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures Open BEAGLE 3.0.3 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/beagle] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of Open BEAGLE 3.0.3:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + --enable-full-debug enable full debug mode default=no + --enable-fast-compilation =no/yes enable fast compilation mode default=yes + --enable-tests =no/yes enable compilation of tests default=no + --enable-hashset =no/yes enable hash_set STL extension default=no + --enable-hashmap =no/yes enable hash_map STL extension default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] include additional configurations [automatic] + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + CPP C preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +Open BEAGLE configure 3.0.3 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by Open BEAGLE $as_me 3.0.3, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in config "$srcdir"/config; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +am__api_version="1.8" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='beagle' + VERSION='3.0.3' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. + + + +ac_config_headers="$ac_config_headers config/config-h:config/config-h.in" + + +ac_config_commands="$ac_config_commands beagle/include/beagle/config.hpp" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 +echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 +echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED + +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 +echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[3-9]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 5130 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7400: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7404: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7690: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7694: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7794: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:7798: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`echo $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + fix_srcfile_path \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + else + ld_shlibs_CXX=no + fi + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix[3-9]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + # + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + postdeps_CXX='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12676: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:12680: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12780: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:12784: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + fix_srcfile_path_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="\ + subroutine t + return + end +" + +# Code to be used in simple link tests +lt_simple_link_test_code="\ + program t + end +" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + lt_prog_compiler_wl_F77='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14357: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:14361: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14461: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:14465: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix[3-9]*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs_F77=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + fix_srcfile_path_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16661: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16665: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + lt_prog_compiler_wl_GCJ='' + ;; + esac + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16951: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16955: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:17055: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:17059: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix[3-9]*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + *) + tmp_sharedflag='-shared' ;; + esac + archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + else + ld_shlibs_GCJ=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' + fi + ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" + +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[3-9]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + fix_srcfile_path_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + fix_srcfile_path_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path=$lt_fix_srcfile_path + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +# Check whether --enable-optimization was given. +if test "${enable_optimization+set}" = set; then + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define NDEBUG +_ACEOF + +fi + +# Check whether --enable-full-debug was given. +if test "${enable_full_debug+set}" = set; then + enableval=$enable_full_debug; case $enableval in + yes) enable_full_debug=yes;; + no) enable_full_debug=no;; + *) enable_full_debug=no;; esac +else + enable_full_debug=no +fi + +if test "$enable_full_debug" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define FULL_DEBUG +_ACEOF + +fi + +# Check whether --enable-fast-compilation was given. +if test "${enable_fast_compilation+set}" = set; then + enableval=$enable_fast_compilation; +else + enable_fast_compilation="yes" +fi + +if test "$enable_fast_compilation" = "yes"; then + +cat >>confdefs.h <<\_ACEOF +#define FAST_COMPILATION +_ACEOF + +fi + + +if test "$enable_fast_compilation" = "yes"; then + FAST_COMPILATION_TRUE= + FAST_COMPILATION_FALSE='#' +else + FAST_COMPILATION_TRUE='#' + FAST_COMPILATION_FALSE= +fi + + +# Check whether --enable-tests was given. +if test "${enable_tests+set}" = set; then + enableval=$enable_tests; +else + enable_tests="no" +fi + +if test "$enable_tests" = "yes"; then + +cat >>confdefs.h <<\_ACEOF +#define COMPILE_TESTS +_ACEOF + +fi + + +if test "$enable_tests" = "yes"; then + COMPILE_TESTS_TRUE= + COMPILE_TESTS_FALSE='#' +else + COMPILE_TESTS_TRUE='#' + COMPILE_TESTS_FALSE= +fi + + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + +{ echo "$as_me:$LINENO: checking whether the compiler recognizes bool as a built-in type" >&5 +echo $ECHO_N "checking whether the compiler recognizes bool as a built-in type... $ECHO_C" >&6; } +if test "${ac_cv_cxx_bool+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int f(int x){return 1;} +int f(char x){return 1;} +int f(bool x){return 1;} + +int +main () +{ +bool b = true; return f(b); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_bool=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_bool=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_bool" >&5 +echo "${ECHO_T}$ac_cv_cxx_bool" >&6; } +if test "$ac_cv_cxx_bool" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_BOOL +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking for long long int" >&5 +echo $ECHO_N "checking for long long int... $ECHO_C" >&6; } +if test "${ob_cv_cxx_long_long+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +long long int i; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ob_cv_cxx_long_long=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ob_cv_cxx_long_long=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ob_cv_cxx_long_long" >&5 +echo "${ECHO_T}$ob_cv_cxx_long_long" >&6; } +if test $ob_cv_cxx_long_long = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LONG_LONG +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler supports isfinite macro" >&5 +echo $ECHO_N "checking whether the compiler supports isfinite macro... $ECHO_C" >&6; } +if test "${ac_cv_cxx_have_isfinite+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#define _GNU_SOURCE + #include +int +main () +{ +double d=0; int n = isfinite(d); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_have_isfinite=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_have_isfinite=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_have_isfinite" >&5 +echo "${ECHO_T}$ac_cv_cxx_have_isfinite" >&6; } +if test $ac_cv_cxx_have_isfinite = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_ISFINITE +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler supports basic templates" >&5 +echo $ECHO_N "checking whether the compiler supports basic templates... $ECHO_C" >&6; } +if test "${ac_cv_cxx_templates+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +template class A {public:A(){}}; +template void f(const A& ){} +int +main () +{ + +A d; A i; f(d); f(i); return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_templates=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_templates=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_templates" >&5 +echo "${ECHO_T}$ac_cv_cxx_templates" >&6; } +if test "$ac_cv_cxx_templates" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_TEMPLATES +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler recognizes typename" >&5 +echo $ECHO_N "checking whether the compiler recognizes typename... $ECHO_C" >&6; } +if test "${ac_cv_cxx_typename+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +templateclass X {public:X(){}}; +int +main () +{ +X z; return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_typename=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_typename=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_typename" >&5 +echo "${ECHO_T}$ac_cv_cxx_typename" >&6; } +if test "$ac_cv_cxx_typename" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_TYPENAME +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler supports function matching with argument types which are template scope-qualified" >&5 +echo $ECHO_N "checking whether the compiler supports function matching with argument types which are template scope-qualified... $ECHO_C" >&6; } +if test "${ac_cv_cxx_template_scoped_argument_matching+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#ifndef HAVE_TYPENAME + #define typename +#endif +template class A { public : typedef X W; }; +template class B {}; +template void operator+(B d1, typename Y::W d2) {} + +int +main () +{ +B > z; z + 0.5f; return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_template_scoped_argument_matching=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_template_scoped_argument_matching=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_template_scoped_argument_matching" >&5 +echo "${ECHO_T}$ac_cv_cxx_template_scoped_argument_matching" >&6; } +if test "$ac_cv_cxx_template_scoped_argument_matching" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler supports default template parameters" >&5 +echo $ECHO_N "checking whether the compiler supports default template parameters... $ECHO_C" >&6; } +if test "${ac_cv_cxx_default_template_parameters+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +template class A {public: int f() {return 0;}}; + +int +main () +{ +A a; return a.f(); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_default_template_parameters=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_default_template_parameters=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_default_template_parameters" >&5 +echo "${ECHO_T}$ac_cv_cxx_default_template_parameters" >&6; } +if test "$ac_cv_cxx_default_template_parameters" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_DEFAULT_TEMPLATE_PARAMETERS +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler supports template-qualified base class specifiers" >&5 +echo $ECHO_N "checking whether the compiler supports template-qualified base class specifiers... $ECHO_C" >&6; } +if test "${ac_cv_cxx_template_qualified_base_class+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#ifndef HAVE_TYPENAME + #define typename +#endif +class Base1 { public : int f () const { return 1; } }; +class Base2 { public : int f () const { return 0; } }; +template struct base_trait { typedef Base1 base; }; + struct base_trait { typedef Base2 base; }; +template class Weird : public base_trait::base +{ public : + typedef typename base_trait::base base; + int g () const { return f (); } +}; +int +main () +{ + Weird z; return z.g (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_template_qualified_base_class=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_template_qualified_base_class=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_template_qualified_base_class" >&5 +echo "${ECHO_T}$ac_cv_cxx_template_qualified_base_class" >&6; } +if test "$ac_cv_cxx_template_qualified_base_class" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_TEMPLATE_QUALIFIED_BASE_CLASS +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler supports template-qualified return types" >&5 +echo $ECHO_N "checking whether the compiler supports template-qualified return types... $ECHO_C" >&6; } +if test "${ac_cv_cxx_template_qualified_return_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +#ifndef HAVE_TYPENAME + #define typename +#endif +template struct promote_trait { typedef X T; }; +template<> struct promote_trait { typedef float T; }; +template class A { public : A () {} }; +template +A::T> operator+ (const A&, const A&) +{ return A::T>(); } + +int +main () +{ +A x; A y; A z = x + y; return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_template_qualified_return_type=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_template_qualified_return_type=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_template_qualified_return_type" >&5 +echo "${ECHO_T}$ac_cv_cxx_template_qualified_return_type" >&6; } +if test "$ac_cv_cxx_template_qualified_return_type" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler supports const_cast<>" >&5 +echo $ECHO_N "checking whether the compiler supports const_cast<>... $ECHO_C" >&6; } +if test "${ac_cv_cxx_const_cast+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +int x = 0;const int& y = x;int& z = const_cast(y);return z; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_const_cast=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_const_cast=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_const_cast" >&5 +echo "${ECHO_T}$ac_cv_cxx_const_cast" >&6; } +if test "$ac_cv_cxx_const_cast" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_CONST_CAST +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler supports reinterpret_cast<>" >&5 +echo $ECHO_N "checking whether the compiler supports reinterpret_cast<>... $ECHO_C" >&6; } +if test "${ac_cv_cxx_reinterpret_cast+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +class Unrelated { public : Unrelated () {} }; +int g (Unrelated&) { return 0; } +int +main () +{ + +Derived d;Base& b=d;Unrelated& e=reinterpret_cast(b);return g(e); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_reinterpret_cast=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_reinterpret_cast=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_reinterpret_cast" >&5 +echo "${ECHO_T}$ac_cv_cxx_reinterpret_cast" >&6; } +if test "$ac_cv_cxx_reinterpret_cast" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_REINTERPRET_CAST +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler supports static_cast<>" >&5 +echo $ECHO_N "checking whether the compiler supports static_cast<>... $ECHO_C" >&6; } +if test "${ac_cv_cxx_static_cast+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +class Base { public : Base () {} virtual void f () = 0; }; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +int g (Derived&) { return 0; } +int +main () +{ + +Derived d; Base& b = d; Derived& s = static_cast (b); return g (s); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_static_cast=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_static_cast=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_static_cast" >&5 +echo "${ECHO_T}$ac_cv_cxx_static_cast" >&6; } +if test "$ac_cv_cxx_static_cast" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_STATIC_CAST +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler supports dynamic_cast<>" >&5 +echo $ECHO_N "checking whether the compiler supports dynamic_cast<>... $ECHO_C" >&6; } +if test "${ac_cv_cxx_dynamic_cast+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +int +main () +{ + +Derived d; Base& b=d; return dynamic_cast(&b) ? 0 : 1; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_dynamic_cast=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_dynamic_cast=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_dynamic_cast" >&5 +echo "${ECHO_T}$ac_cv_cxx_dynamic_cast" >&6; } +if test "$ac_cv_cxx_dynamic_cast" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_DYNAMIC_CAST +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler supports exceptions" >&5 +echo $ECHO_N "checking whether the compiler supports exceptions... $ECHO_C" >&6; } +if test "${ac_cv_cxx_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +try { throw 1; } catch (int i) { return i; } + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_exceptions=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_exceptions=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_exceptions" >&5 +echo "${ECHO_T}$ac_cv_cxx_exceptions" >&6; } +if test "$ac_cv_cxx_exceptions" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_EXCEPTIONS +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler supports the explicit keyword" >&5 +echo $ECHO_N "checking whether the compiler supports the explicit keyword... $ECHO_C" >&6; } +if test "${ac_cv_cxx_explicit+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +class A{public:explicit A(double){}}; +int +main () +{ +double c = 5.0;A x(c);return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_explicit=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_explicit=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_explicit" >&5 +echo "${ECHO_T}$ac_cv_cxx_explicit" >&6; } +if test "$ac_cv_cxx_explicit" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_EXPLICIT +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler implements namespaces" >&5 +echo $ECHO_N "checking whether the compiler implements namespaces... $ECHO_C" >&6; } +if test "${ac_cv_cxx_namespaces+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +namespace Outer { namespace Inner { int i = 0; }} +int +main () +{ +using namespace Outer::Inner; return i; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_namespaces=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_namespaces=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_namespaces" >&5 +echo "${ECHO_T}$ac_cv_cxx_namespaces" >&6; } +if test "$ac_cv_cxx_namespaces" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_NAMESPACES +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler supports Run-Time Type Identification" >&5 +echo $ECHO_N "checking whether the compiler supports Run-Time Type Identification... $ECHO_C" >&6; } +if test "${ac_cv_cxx_rtti+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +class Base { public : + Base () {} + virtual int f () { return 0; } + }; +class Derived : public Base { public : + Derived () {} + virtual int f () { return 1; } + }; + +int +main () +{ +Derived d; +Base *ptr = &d; +return typeid (*ptr) == typeid (Derived); + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_rtti=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_rtti=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_rtti" >&5 +echo "${ECHO_T}$ac_cv_cxx_rtti" >&6; } +if test "$ac_cv_cxx_rtti" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_RTTI +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler supports ISO C++ standard library" >&5 +echo $ECHO_N "checking whether the compiler supports ISO C++ standard library... $ECHO_C" >&6; } +if test "${ac_cv_cxx_have_std+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main () +{ +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_have_std=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_have_std=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_have_std" >&5 +echo "${ECHO_T}$ac_cv_cxx_have_std" >&6; } +if test "$ac_cv_cxx_have_std" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_STD +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler supports Standard Template Library" >&5 +echo $ECHO_N "checking whether the compiler supports Standard Template Library... $ECHO_C" >&6; } +if test "${ac_cv_cxx_have_stl+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main () +{ +list x; x.push_back(5); +list::iterator iter = x.begin(); if (iter != x.end()) ++iter; return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_have_stl=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_have_stl=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_have_stl" >&5 +echo "${ECHO_T}$ac_cv_cxx_have_stl" >&6; } +if test "$ac_cv_cxx_have_stl" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_STL +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler has numeric_limits" >&5 +echo $ECHO_N "checking whether the compiler has numeric_limits... $ECHO_C" >&6; } +if test "${ac_cv_cxx_have_numeric_limits+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main () +{ +double e = numeric_limits::epsilon(); return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_have_numeric_limits=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_have_numeric_limits=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_have_numeric_limits" >&5 +echo "${ECHO_T}$ac_cv_cxx_have_numeric_limits" >&6; } +if test "$ac_cv_cxx_have_numeric_limits" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_NUMERIC_LIMITS +_ACEOF + +fi + +{ echo "$as_me:$LINENO: checking whether the compiler has stringstream" >&5 +echo $ECHO_N "checking whether the compiler has stringstream... $ECHO_C" >&6; } +if test "${ac_cv_cxx_have_sstream+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif +int +main () +{ +stringstream message; message << "Hello"; return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_have_sstream=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_have_sstream=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_have_sstream" >&5 +echo "${ECHO_T}$ac_cv_cxx_have_sstream" >&6; } +if test "$ac_cv_cxx_have_sstream" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_SSTREAM +_ACEOF + +fi + + +# Check whether --enable-hashset was given. +if test "${enable_hashset+set}" = set; then + enableval=$enable_hashset; +else + enable_hashset="no" +fi + +if test "$enable_hashset" = "yes"; then + +{ echo "$as_me:$LINENO: checking whether the compiler supports std::hash_set" >&5 +echo $ECHO_N "checking whether the compiler supports std::hash_set... $ECHO_C" >&6; } +if test "${ac_cv_cxx_std_hashset+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +using std::hash_set; +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_std_hashset=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_std_hashset=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_std_hashset" >&5 +echo "${ECHO_T}$ac_cv_cxx_std_hashset" >&6; } +if test "ac_cv_cxx_std_hashset" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_STD_HASHSET +_ACEOF + +fi + + +{ echo "$as_me:$LINENO: checking whether the compiler supports __gnu_cxx::hash_set" >&5 +echo $ECHO_N "checking whether the compiler supports __gnu_cxx::hash_set... $ECHO_C" >&6; } +if test "${ac_cv_cxx_gnucxx_hashset+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +using __gnu_cxx::hash_set; +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_gnucxx_hashset=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_gnucxx_hashset=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_gnucxx_hashset" >&5 +echo "${ECHO_T}$ac_cv_cxx_gnucxx_hashset" >&6; } +if test "$ac_cv_cxx_gnucxx_hashset" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GNUCXX_HASHSET +_ACEOF + +fi + + +{ echo "$as_me:$LINENO: checking whether the compiler supports stdext::hash_set" >&5 +echo $ECHO_N "checking whether the compiler supports stdext::hash_set... $ECHO_C" >&6; } +if test "${ac_cv_cxx_stdext_hashset+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +using stdext::hash_set; +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_stdext_hashset=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_stdext_hashset=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_stdext_hashset" >&5 +echo "${ECHO_T}$ac_cv_cxx_stdext_hashset" >&6; } +if test "ac_cv_cxx_stdext_hashset" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_STDEXT_HASHSET +_ACEOF + +fi + +fi +# Check whether --enable-hashmap was given. +if test "${enable_hashmap+set}" = set; then + enableval=$enable_hashmap; +else + enable_hashmap="no" +fi + +if test "$enable_hashmap" = "yes"; then + +{ echo "$as_me:$LINENO: checking whether the compiler supports std::hash_map" >&5 +echo $ECHO_N "checking whether the compiler supports std::hash_map... $ECHO_C" >&6; } +if test "${ac_cv_cxx_std_hashmap+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +using std::hash_map; +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_std_hashmap=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_std_hashmap=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_std_hashmap" >&5 +echo "${ECHO_T}$ac_cv_cxx_std_hashmap" >&6; } +if test "ac_cv_cxx_std_hashmap" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_STD_HASHMAP +_ACEOF + +fi + + +{ echo "$as_me:$LINENO: checking whether the compiler supports __gnu_cxx::hash_map" >&5 +echo $ECHO_N "checking whether the compiler supports __gnu_cxx::hash_map... $ECHO_C" >&6; } +if test "${ac_cv_cxx_gnucxx_hashmap+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +using __gnu_cxx::hash_map; +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_gnucxx_hashmap=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_gnucxx_hashmap=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_gnucxx_hashmap" >&5 +echo "${ECHO_T}$ac_cv_cxx_gnucxx_hashmap" >&6; } +if test "$ac_cv_cxx_gnucxx_hashmap" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GNUCXX_HASHMAP +_ACEOF + +fi + + +{ echo "$as_me:$LINENO: checking whether the compiler supports stdext::hash_map" >&5 +echo $ECHO_N "checking whether the compiler supports stdext::hash_map... $ECHO_C" >&6; } +if test "${ac_cv_cxx_stdext_hashmap+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +using stdext::hash_map; +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_cxx_stdext_hashmap=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_cxx_stdext_hashmap=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_stdext_hashmap" >&5 +echo "${ECHO_T}$ac_cv_cxx_stdext_hashmap" >&6; } +if test "ac_cv_cxx_stdext_hashmap" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_STDEXT_HASHMAP +_ACEOF + +fi + +fi + +{ echo "$as_me:$LINENO: checking for /dev/urandom" >&5 +echo $ECHO_N "checking for /dev/urandom... $ECHO_C" >&6; } +if test "${ac_cv_file__dev_urandom+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + test "$cross_compiling" = yes && + { { echo "$as_me:$LINENO: error: cannot check for file existence when cross compiling" >&5 +echo "$as_me: error: cannot check for file existence when cross compiling" >&2;} + { (exit 1); exit 1; }; } +if test -r "/dev/urandom"; then + ac_cv_file__dev_urandom=yes +else + ac_cv_file__dev_urandom=no +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_file__dev_urandom" >&5 +echo "${ECHO_T}$ac_cv_file__dev_urandom" >&6; } +if test $ac_cv_file__dev_urandom = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_DEV_URANDOM +_ACEOF + +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_join (); +int +main () +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all, and "pthread-config" +# which is a program returning the flags for the Pth emulation library. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 +echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6; } + ;; + + -*) + { echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 +echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + pthread-config) + # Extract the first word of "pthread-config", so it can be a program name with args. +set dummy pthread-config; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_acx_pthread_config+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$acx_pthread_config"; then + ac_cv_prog_acx_pthread_config="$acx_pthread_config" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_acx_pthread_config="yes" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_acx_pthread_config" && ac_cv_prog_acx_pthread_config="no" +fi +fi +acx_pthread_config=$ac_cv_prog_acx_pthread_config +if test -n "$acx_pthread_config"; then + { echo "$as_me:$LINENO: result: $acx_pthread_config" >&5 +echo "${ECHO_T}$acx_pthread_config" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + if test x"$acx_pthread_config" = xno; then continue; fi + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; + + *) + { echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 +echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 +echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_JOINABLE +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_UNDETACHED +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +cat >>confdefs.h <<\_ACEOF +#define PTHREAD_CREATE_JOINABLE $ok +_ACEOF + + fi + { echo "$as_me:$LINENO: result: ${ok}" >&5 +echo "${ECHO_T}${ok}" >&6; } + if test x"$ok" = xunknown; then + { echo "$as_me:$LINENO: WARNING: we do not know how to create joinable pthreads" >&5 +echo "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 +echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { echo "$as_me:$LINENO: result: ${flag}" >&5 +echo "${ECHO_T}${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PTHREAD_CC="cc_r" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 +echo "${ECHO_T}$PTHREAD_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_PTHREAD 1 +_ACEOF + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +# +# Handle user hints +# +{ echo "$as_me:$LINENO: checking if zlib is wanted" >&5 +echo $ECHO_N "checking if zlib is wanted... $ECHO_C" >&6; } + +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then + withval=$with_zlib; if test "$withval" != no ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + ZLIB_HOME="$withval" +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +else + +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + zlib_cv_libz=yes +else + zlib_cv_libz=no +fi + + if test "${ac_cv_header_zlib_h+set}" = set; then + { echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking zlib.h usability" >&5 +echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking zlib.h presence" >&5 +echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_zlib_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } + +fi +if test $ac_cv_header_zlib_h = yes; then + zlib_cv_zlib_h=yes +else + zlib_cv_zlib_h=no +fi + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + +{ echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +fi + + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } + fi +fi + + + +if test "$ac_cv_cxx_templates" = no; then + { { echo "$as_me:$LINENO: error: \"sorry, templates support needed\"" >&5 +echo "$as_me: error: \"sorry, templates support needed\"" >&2;} + { (exit 1); exit 1; }; } +fi +if test "$ac_cv_cxx_template_scoped_argument_matching" = no; then + { { echo "$as_me:$LINENO: error: \"sorry, template scoped argument matching support needed\"" >&5 +echo "$as_me: error: \"sorry, template scoped argument matching support needed\"" >&2;} + { (exit 1); exit 1; }; } +fi +if test "$ac_cv_cxx_default_template_parameters" = no; then + { { echo "$as_me:$LINENO: error: \"sorry, default template parameters support needed\"" >&5 +echo "$as_me: error: \"sorry, default template parameters support needed\"" >&2;} + { (exit 1); exit 1; }; } +fi +if test "$ac_cv_cxx_typename" = no; then + { { echo "$as_me:$LINENO: error: \"sorry, typename qualifier needed\"" >&5 +echo "$as_me: error: \"sorry, typename qualifier needed\"" >&2;} + { (exit 1); exit 1; }; } +fi +if test "$ac_cv_cxx_exceptions" = no; then + { { echo "$as_me:$LINENO: error: \"sorry, support for exception handling needed\"" >&5 +echo "$as_me: error: \"sorry, support for exception handling needed\"" >&2;} + { (exit 1); exit 1; }; } +fi +if test "$ac_cv_cxx_namespaces" = no; then + { { echo "$as_me:$LINENO: error: \"sorry, namespaces support needed\"" >&5 +echo "$as_me: error: \"sorry, namespaces support needed\"" >&2;} + { (exit 1); exit 1; }; } +fi +if test "$ac_cv_cxx_have_std" = no; then + { { echo "$as_me:$LINENO: error: \"sorry, namespace std needed\"" >&5 +echo "$as_me: error: \"sorry, namespace std needed\"" >&2;} + { (exit 1); exit 1; }; } +fi +if test "$ac_cv_cxx_have_stl" = no; then + { { echo "$as_me:$LINENO: error: \"sorry, no standard template library found\"" >&5 +echo "$as_me: error: \"sorry, no standard template library found\"" >&2;} + { (exit 1); exit 1; }; } +fi +if test "$ac_cv_cxx_have_sstream" = no; then + { { echo "$as_me:$LINENO: error: \"sorry, no sstream found. If you are using gcc less or equal to 2.95.2, see http://gcc.gnu.org/faq.html#2.95sstream to patch your compiler\"" >&5 +echo "$as_me: error: \"sorry, no sstream found. If you are using gcc less or equal to 2.95.2, see http://gcc.gnu.org/faq.html#2.95sstream to patch your compiler\"" >&2;} + { (exit 1); exit 1; }; } +fi + +PACC_VERSION='1.3.1b' + +if test "$zlib_cv_libz" = yes; then + CPPFLAGS="$CPPFLAGS -DPACC_ZLIB" +fi + +ac_config_files="$ac_config_files Makefile PACC/Makefile PACC/Math/Makefile PACC/SVG/Makefile PACC/Socket/Makefile PACC/Threading/Makefile PACC/Util/Makefile PACC/XML/Makefile beagle/Makefile beagle/include/Makefile beagle/include/beagle/Makefile beagle/src/Makefile beagle/GA/Makefile beagle/GA/include/Makefile beagle/GA/include/beagle/Makefile beagle/GA/include/beagle/GA/Makefile beagle/GA/src/Makefile beagle/GP/Makefile beagle/GP/include/Makefile beagle/GP/include/beagle/Makefile beagle/GP/include/beagle/GP/Makefile beagle/GP/src/Makefile beagle/Coev/Makefile beagle/Coev/include/Makefile beagle/Coev/include/beagle/Makefile beagle/Coev/include/beagle/Coev/Makefile beagle/Coev/src/Makefile tests/Makefile tests/Common/Makefile tests/Exception/Makefile tests/GA/Makefile tests/GA/optfct/Makefile tests/GP/Makefile tests/GP/FitnessTestGPIndividual/Makefile tests/GP/ReadGPIndividual/Makefile tests/GP/WriteRandomGPIndividual/Makefile tests/LinGP/Makefile tests/LinGP/include/Makefile tests/LinGP/include/beagle/Makefile tests/LinGP/include/beagle/LinGP/Makefile tests/LinGP/src/Makefile tests/Roulette/Makefile tests/Thread/Makefile tests/TransportTCPIPOp/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${FAST_COMPILATION_TRUE}" && test -z "${FAST_COMPILATION_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"FAST_COMPILATION\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"FAST_COMPILATION\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${COMPILE_TESTS_TRUE}" && test -z "${COMPILE_TESTS_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"COMPILE_TESTS\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"COMPILE_TESTS\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by Open BEAGLE $as_me 3.0.3, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +Open BEAGLE config.status 3.0.3 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +PACKAGE="$PACKAGE" +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config/config-h") CONFIG_HEADERS="$CONFIG_HEADERS config/config-h:config/config-h.in" ;; + "beagle/include/beagle/config.hpp") CONFIG_COMMANDS="$CONFIG_COMMANDS beagle/include/beagle/config.hpp" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "PACC/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Makefile" ;; + "PACC/Math/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Math/Makefile" ;; + "PACC/SVG/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/SVG/Makefile" ;; + "PACC/Socket/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Socket/Makefile" ;; + "PACC/Threading/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Threading/Makefile" ;; + "PACC/Util/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/Util/Makefile" ;; + "PACC/XML/Makefile") CONFIG_FILES="$CONFIG_FILES PACC/XML/Makefile" ;; + "beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Makefile" ;; + "beagle/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/include/Makefile" ;; + "beagle/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/include/beagle/Makefile" ;; + "beagle/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/src/Makefile" ;; + "beagle/GA/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/Makefile" ;; + "beagle/GA/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/Makefile" ;; + "beagle/GA/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/beagle/Makefile" ;; + "beagle/GA/include/beagle/GA/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/include/beagle/GA/Makefile" ;; + "beagle/GA/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GA/src/Makefile" ;; + "beagle/GP/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/Makefile" ;; + "beagle/GP/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/Makefile" ;; + "beagle/GP/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/beagle/Makefile" ;; + "beagle/GP/include/beagle/GP/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/include/beagle/GP/Makefile" ;; + "beagle/GP/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/GP/src/Makefile" ;; + "beagle/Coev/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/Makefile" ;; + "beagle/Coev/include/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/Makefile" ;; + "beagle/Coev/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/beagle/Makefile" ;; + "beagle/Coev/include/beagle/Coev/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/include/beagle/Coev/Makefile" ;; + "beagle/Coev/src/Makefile") CONFIG_FILES="$CONFIG_FILES beagle/Coev/src/Makefile" ;; + "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; + "tests/Common/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Common/Makefile" ;; + "tests/Exception/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Exception/Makefile" ;; + "tests/GA/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GA/Makefile" ;; + "tests/GA/optfct/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GA/optfct/Makefile" ;; + "tests/GP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/Makefile" ;; + "tests/GP/FitnessTestGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/FitnessTestGPIndividual/Makefile" ;; + "tests/GP/ReadGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/ReadGPIndividual/Makefile" ;; + "tests/GP/WriteRandomGPIndividual/Makefile") CONFIG_FILES="$CONFIG_FILES tests/GP/WriteRandomGPIndividual/Makefile" ;; + "tests/LinGP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/Makefile" ;; + "tests/LinGP/include/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/Makefile" ;; + "tests/LinGP/include/beagle/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/beagle/Makefile" ;; + "tests/LinGP/include/beagle/LinGP/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/include/beagle/LinGP/Makefile" ;; + "tests/LinGP/src/Makefile") CONFIG_FILES="$CONFIG_FILES tests/LinGP/src/Makefile" ;; + "tests/Roulette/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Roulette/Makefile" ;; + "tests/Thread/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Thread/Makefile" ;; + "tests/TransportTCPIPOp/Makefile") CONFIG_FILES="$CONFIG_FILES tests/TransportTCPIPOp/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +AMTAR!$AMTAR$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +LN_S!$LN_S$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +SED!$SED$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CPP!$CPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +ac_ct_F77!$ac_ct_F77$ac_delim +LIBTOOL!$LIBTOOL$ac_delim +FAST_COMPILATION_TRUE!$FAST_COMPILATION_TRUE$ac_delim +FAST_COMPILATION_FALSE!$FAST_COMPILATION_FALSE$ac_delim +COMPILE_TESTS_TRUE!$COMPILE_TESTS_TRUE$ac_delim +COMPILE_TESTS_FALSE!$COMPILE_TESTS_FALSE$ac_delim +acx_pthread_config!$acx_pthread_config$ac_delim +PTHREAD_CC!$PTHREAD_CC$ac_delim +PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim +PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim +PACC_VERSION!$PACC_VERSION$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 13; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "beagle/include/beagle/config.hpp":C) ac_prefix_conf_OUT=`echo beagle/include/beagle/config.hpp` +ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g"` +ac_prefix_conf_PKG=`echo BEAGLE` +ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"` +ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:" -e "/^[0123456789]/s/^/_/"` +ac_prefix_conf_INP=`echo "config/config-h" | sed -e 's/ *//'` +if test ".$ac_prefix_conf_INP" = "."; then + for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue + case "$ac_file" in + *.h) ac_prefix_conf_INP=$ac_file ;; + *) + esac + test ".$ac_prefix_conf_INP" != "." && break + done +fi +if test ".$ac_prefix_conf_INP" = "."; then + case "$ac_prefix_conf_OUT" in + */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"` + ;; + *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*-//"` + ;; + *) ac_prefix_conf_INP=config.h + ;; + esac +fi +if test -z "$ac_prefix_conf_PKG" ; then + { { echo "$as_me:$LINENO: error: no prefix for _PREFIX_PKG_CONFIG_H" >&5 +echo "$as_me: error: no prefix for _PREFIX_PKG_CONFIG_H" >&2;} + { (exit 1); exit 1; }; } +else + if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then + ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP" + fi fi + { echo "$as_me:$LINENO: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5 +echo "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;} + if test -f $ac_prefix_conf_INP ; then + echo "s/#undef *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]\\)/#undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix + echo "s/#undef *\\([abcdefghijklmnopqrstuvwxyz]\\)/#undef $ac_prefix_conf_LOW""_\\1/" >> conftest.prefix + echo "s/#define *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_UPP""_\\1 \\" >> conftest.prefix + echo "#define $ac_prefix_conf_UPP""_\\1 \\2 \\" >> conftest.prefix + echo "#endif/" >>conftest.prefix + echo "s/#define *\\([abcdefghijklmnopqrstuvwxyz][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_LOW""_\\1 \\" >> conftest.prefix + echo "#define $ac_prefix_conf_LOW""_\\1 \\2 \\" >> conftest.prefix + echo "#endif/" >> conftest.prefix + # now executing _script on _DEF input to create _OUT output file + echo "#ifndef $ac_prefix_conf_DEF" >$tmp/pconfig.h + echo "#define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h + + sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h + echo "#endif" >>$tmp/pconfig.h + if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then + { echo "$as_me:$LINENO: $ac_prefix_conf_OUT is unchanged" >&5 +echo "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;} + else + ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" || +$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \ + X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \ + X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_prefix_conf_OUT" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + rm -f "$ac_prefix_conf_OUT" + mv $tmp/pconfig.h "$ac_prefix_conf_OUT" + fi + cp conftest.prefix _configs.sed + else + { { echo "$as_me:$LINENO: error: input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" >&5 +echo "$as_me: error: input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" >&2;} + { (exit 1); exit 1; }; } + fi + rm -f conftest.* +fi + ;; + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/AUTHORS b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/AUTHORS new file mode 100644 index 0000000..5bfbce2 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/AUTHORS @@ -0,0 +1,3 @@ +Jiachuan Wang +Christian Gagne + diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/COPYING b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/COPYING new file mode 100644 index 0000000..60549be --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/INSTALL b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/INSTALL new file mode 100644 index 0000000..7aeefe4 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/INSTALL @@ -0,0 +1,82 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Co-evolutionary Symbolic Regression (coev_symbreg): +Mixed real-valued GA - GP co-evolution example with Open BEAGLE + +Copyright (C) 2003 +by Jiachuan Wang +and Christian Gagne + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON UNIX +========================================= + +To compile the allzeros example on Unix (once the Open BEAGLE framework is built), +'cd' to the main example directory, and type the following commands. + + ./configure + make clean + make + +Then, the binary will be in directory 'coev_symbreg'. + +'configure' recognizes the following options to control how it +operates. + +'--enable-optimization' + Enable the 'optimization' mode by setting the optimization flags + of the compiler. Use this flag to compile a version of the examples + linked with an optimized version of the framework libraries. + +'--with-beagle=DIR' + Specify the installation path of Open BEAGLE. + +'--with-beagle-include=DIR' + Specify exact installation directory for Open BEAGLE headers. + +'--with-beagle-GA-include=DIR' + Specify exact installation directory for Open BEAGLE GA headers. + +'--with-beagle-GP-include=DIR' + Specify exact installation directory for Open BEAGLE GP headers. + +'--with-beagle-libdir=DIR' + Specify exact installation directory for Open BEAGLE libraries. + +'--with-beagle-GA-libdir=DIR' + Specify exact installation directory for Open BEAGLE GA libraries. + +'--with-beagle-GP-libdir=DIR' + Specify exact installation directory for Open BEAGLE GP libraries. + +'--cache-file=FILE' + Use and save the test results in file FILE instead of + './config.cache'. Set FILE to '/dev/null' to disable caching, for + debugging 'configure'. + +'--help' + Print a summary of the options to 'configure', and exit. + +'--quiet' +'--silent' +'-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to '/dev/null' (any error + messages will still be shown). + +'--version' + Print the version of Autoconf used to generate the 'configure' + script, and exit. + +'configure' also accepts some other, not widely useful, options. + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON MS VISUAL C++ .NET +======================================================= + +Go to folder 'MSVCPP' and open the solution file 'coev_symbreg.sln' with +MS Visual Studio .NET. Then you can compile the example. The binary will +be in directory 'coev_symbreg'. + diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/MSVCPP/coev_symbreg.sln b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/MSVCPP/coev_symbreg.sln new file mode 100644 index 0000000..d192a55 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/MSVCPP/coev_symbreg.sln @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "coev_symbreg", "coev_symbreg\coev_symbreg.vcproj", "{A363C856-4CDF-4DC3-A71F-FB3249E79606}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {A363C856-4CDF-4DC3-A71F-FB3249E79606}.Debug.ActiveCfg = Debug|Win32 + {A363C856-4CDF-4DC3-A71F-FB3249E79606}.Debug.Build.0 = Debug|Win32 + {A363C856-4CDF-4DC3-A71F-FB3249E79606}.Release.ActiveCfg = Release|Win32 + {A363C856-4CDF-4DC3-A71F-FB3249E79606}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/MSVCPP/coev_symbreg.suo b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/MSVCPP/coev_symbreg.suo new file mode 100644 index 0000000..01185b3 Binary files /dev/null and b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/MSVCPP/coev_symbreg.suo differ diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/MSVCPP/coev_symbreg/coev_symbreg.vcproj b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/MSVCPP/coev_symbreg/coev_symbreg.vcproj new file mode 100644 index 0000000..ce20968 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/MSVCPP/coev_symbreg/coev_symbreg.vcproj @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/Makefile.am b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/Makefile.am new file mode 100644 index 0000000..cf04694 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/Makefile.am @@ -0,0 +1,2 @@ +AUTOMAKE_OPTIONS=dist-zip +SUBDIRS = coev_symbreg diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/Makefile.cvs b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/Makefile.cvs new file mode 100644 index 0000000..925be9f --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/Makefile.cvs @@ -0,0 +1,4 @@ +SHELL = /bin/sh + +all: + ${SHELL} ./bootstrap diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/Makefile.in b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/Makefile.in new file mode 100644 index 0000000..70d120c --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/Makefile.in @@ -0,0 +1,585 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \ + INSTALL config/config.guess config/config.sub config/depcomp \ + config/install-sh config/ltmain.sh config/missing \ + config/mkinstalldirs +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/coev_symbreg/config.hpp +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AUTOMAKE_OPTIONS = dist-zip +SUBDIRS = coev_symbreg +all: all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/config + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || mkdir "$(distdir)/$$subdir" \ + || exit 1; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="../$(top_distdir)" \ + distdir="../$(distdir)/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-libtool distclean-recursive \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/README b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/README new file mode 100644 index 0000000..97c55bf --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/README @@ -0,0 +1,65 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Co-evolutionary Symbolic Regression (coev_symbreg): +Mixed real-valued GA - GP co-evolution example with Open BEAGLE + +Copyright (C) 2003 +by Jiachuan Wang +and Christian Gagne + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +Getting started +=============== + + Example is compiled in binary 'coev_symbreg'. Configuration file for + real-valued GA population (the evolving training set) is in file + 'trainset-thread.conf', while configuration file for GP symbolic + regression population is in file 'symgp-thread.conf'. + +Objective +========= + + Two populations competitive co-evolution for symbolic regression. + First population is made of standard GP mathematical expressions. + Second population is made of individual representing 20 $(x_i,y_i)$ + samples in the domain $[-1,1]$ of the equation $x^4+x^3+x^2+x$. + The global objective is to a find symbolic expressions that + "generalizes" well over the domain sampled. + +Terminal set of GP expressions +============================== + + X (the independent variable) + Ephemeral constants randomly generated in $[-1,1]$ + +Function set of GP expressions +============================== + + + + - + * + / (protected division) + +Representation of training sets +=============================== + +Vector of 20 real-valued numbers in $[-1,1]$. + +Fitness +======= + + Root Mean Square (RMS) error of the GP expressions on the 20 samples + of the training set. GP expression minimizes the RMS error, while + training set maximizes it. Individuals of one population are + evaluated against last generation other population best performing + individual. + +Reference +========= + +Liviu Panait and Sean Luke, Methods for Evolving Robust Programs, +Proceedings of Genetic and Evolutionary Computation -- GECCO-2003, +LNCS, Vol. 2724, pp. 1740-1751, Springer-Verlag, 12-16 July 2003. + diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/acinclude.m4 b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/acinclude.m4 new file mode 100644 index 0000000..9d8ff5a --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/acinclude.m4 @@ -0,0 +1,603 @@ +dnl +dnl Initialize an autoconf project that use PACC::Math. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_MATH_INIT(PACC_MATH_PATH +dnl [, PACC_MATH_INCLUDEPATH] +dnl [, PACC_MATH_LIBPATH]) +dnl +AC_DEFUN([PACC_MATH_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-math, + [ --with-pacc-math=DIR specify installation path of PACC::Math], + [pacc_math_path="$withval"], + [pacc_math_path="$1"]) +AC_ARG_WITH(pacc-math-include, + [ --with-pacc-math-include=DIR specify exact dir for PACC::Math headers], + [pacc_math_path_include="$withval"]) +AC_ARG_WITH(pacc-math-libdir, + [ --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries], + [pacc_math_path_libdir="$withval"]) +if test -z "$pacc_math_path"; then + pacc_math_path="$1" +fi +if test -z "$pacc_math_path_include"; then + if test -z "$2"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="$2" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "$3"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Math headers are correctly included, +pacc_math_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Math.hpp], + pacc_math_include_test=yes, + pacc_math_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Threading. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_THREADING_INIT(PACC_THREADING_PATH +dnl [, PACC_THREADING_INCLUDEPATH] +dnl [, PACC_THREADING_LIBPATH]) +dnl +AC_DEFUN([PACC_THREADING_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-threading, + [ --with-pacc-threading=DIR specify installation path of PACC::Threading], + [pacc_threading_path="$withval"], + [pacc_threading_path="$1"]) +AC_ARG_WITH(pacc-threading-include, + [ --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers], + [pacc_threading_path_include="$withval"]) +AC_ARG_WITH(pacc-threading-libdir, + [ --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries], + [pacc_threading_path_libdir="$withval"]) +if test -z "$pacc_threading_path"; then + pacc_threading_path="$1" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "$2"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="$2" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "$3"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Threading headers are correctly included, +pacc_threading_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Threading.hpp], + pacc_threading_include_test=yes, + pacc_threading_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Util. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_UTIL_INIT(PACC_UTIL_PATH +dnl [, PACC_UTIL_INCLUDEPATH] +dnl [, PACC_UTIL_LIBPATH]) +dnl +AC_DEFUN([PACC_UTIL_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-util, + [ --with-pacc-util=DIR specify installation path of PACC::Util], + [pacc_util_path="$withval"], + [pacc_util_path="$1"]) +AC_ARG_WITH(pacc-util-include, + [ --with-pacc-util-include=DIR specify exact dir for PACC::Util headers], + [pacc_util_path_include="$withval"]) +AC_ARG_WITH(pacc-util-libdir, + [ --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries], + [pacc_util_path_libdir="$withval"]) +if test -z "$pacc_util_path"; then + pacc_util_path="$1" +fi +if test -z "$pacc_util_path_include"; then + if test -z "$2"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="$2" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "$3"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Util headers are correctly included, +pacc_util_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Util.hpp], + pacc_util_include_test=yes, + pacc_util_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::XML. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_XML_INIT(PACC_XML_PATH +dnl [, PACC_XML_INCLUDEPATH] +dnl [, PACC_XML_LIBPATH]) +dnl +AC_DEFUN([PACC_XML_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-xml, + [ --with-pacc-xml=DIR specify installation path of PACC::XML], + [pacc_xml_path="$withval"], + [pacc_xml_path="$1"]) +AC_ARG_WITH(pacc-xml-include, + [ --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers], + [pacc_xml_path_include="$withval"]) +AC_ARG_WITH(pacc-xml-libdir, + [ --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries], + [pacc_xml_path_libdir="$withval"]) +if test -z "$pacc_xml_path"; then + pacc_xml_path="$1" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "$2"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="$2" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "$3"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::XML headers are correctly included, +pacc_xml_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([XML.hpp], + pacc_xml_include_test=yes, + pacc_xml_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use Open BEAGLE. +dnl +dnl by Christian Gagne, 14/10/2002, modified 10/10/2004 and 09/08/2005 +dnl +dnl OB_BEAGLE_INIT(BEAGLE_PATH +dnl [, BEAGLE_INCLUDEPATH] +dnl [, BEAGLE_LIBPATH] +dnl [, BEAGLE_GA_INCLUDEPATH] +dnl [, BEAGLE_GA_LIBPATH] +dnl [, BEAGLE_GP_INCLUDEPATH] +dnl [, BEAGLE_GP_LIBPATH] +dnl [, BEAGLE_COEV_INCLUDEPATH] +dnl [, BEAGLE_COEV_LIBPATH]) +dnl +AC_DEFUN([OB_BEAGLE_INIT], +[ +dnl Open BEAGLE optimization mode option. +AC_ARG_ENABLE(optimization, + [ --enable-optimization enable optimization mode [default=no]], + [case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac], + enable_optimization=no) +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` +fi +dnl Set headers and libraries path correctly +AC_ARG_WITH(beagle, + [ --with-beagle=DIR specify installation path of Open BEAGLE], + [ob_beagle_path="$withval"], + [ob_beagle_path="$1"]) +AC_ARG_WITH(beagle-include, + [ --with-beagle-include=DIR specify exact dir for Open BEAGLE headers], + [ob_beagle_path_include="$withval"]) +AC_ARG_WITH(beagle-GA-include, + [ --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers], + [ob_beagle_path_ga_include="$withval"]) +AC_ARG_WITH(beagle-GP-include, + [ --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers], + [ob_beagle_path_gp_include="$withval"]) +AC_ARG_WITH(beagle-Coev-include, + [ --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers], + [ob_beagle_path_coev_include="$withval"]) +AC_ARG_WITH(beagle-libdir, + [ --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries], + [ob_beagle_path_libdir="$withval"]) +AC_ARG_WITH(beagle-GA-libdir, + [ --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries], + [ob_beagle_path_ga_libdir="$withval"]) +AC_ARG_WITH(beagle-GP-libdir, + [ --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries], + [ob_beagle_path_gp_libdir="$withval"]) +AC_ARG_WITH(beagle-Coev-libdir, + [ --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries], + [ob_beagle_path_coev_libdir="$withval"]) +if test -z "$ob_beagle_path"; then + ob_beagle_path="$1" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "$2"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="$2" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "$3"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="$3" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "$4"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="$4" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "$5"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="$5" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "$6"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="$6" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "$7"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="$7" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "$8"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="$8" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "$9"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="$9" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if Open BEAGLE headers are correctly included, +ob_beagle_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp], + ob_beagle_include_test=yes, + ob_beagle_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl *************************************************************************** +dnl *************************************************************************** +AC_DEFUN([ACX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_SAVE +AC_LANG_C +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) + AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) + AC_MSG_RESULT($acx_pthread_ok) + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $flag]) + PTHREAD_CFLAGS="$flag" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$flag]) + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + AC_TRY_LINK([#include ], + [pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], + [acx_pthread_ok=yes]) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + AC_MSG_RESULT($acx_pthread_ok) + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + AC_MSG_CHECKING([for joinable pthread attribute]) + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_JOINABLE;], + ok=PTHREAD_CREATE_JOINABLE, ok=unknown) + if test x"$ok" = xunknown; then + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_UNDETACHED;], + ok=PTHREAD_CREATE_UNDETACHED, ok=unknown) + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok, + [Define to the necessary symbol if this constant + uses a non-standard name on your system.]) + fi + AC_MSG_RESULT(${ok}) + if test x"$ok" = xunknown; then + AC_MSG_WARN([we do not know how to create joinable pthreads]) + fi + + AC_MSG_CHECKING([if more special flags are required for pthreads]) + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + AC_MSG_RESULT(${flag}) + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) +else + PTHREAD_CC="$CC" +fi + +AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_CC) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) + : +else + acx_pthread_ok=no + $2 +fi +AC_LANG_RESTORE +])dnl ACX_PTHREAD + + + +AC_DEFUN([CHECK_ZLIB], +# +# Handle user hints +# +[AC_MSG_CHECKING(if zlib is wanted) +AC_ARG_WITH(zlib, +[ --with-zlib=DIR root directory path of zlib installation [defaults to + /usr/local or /usr if not found in /usr/local] + --without-zlib to disable zlib usage completely], +[if test "$withval" != no ; then + AC_MSG_RESULT(yes) + ZLIB_HOME="$withval" +else + AC_MSG_RESULT(no) +fi], [ +AC_MSG_RESULT(yes) +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi +]) +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) + AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) + AC_LANG_RESTORE + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + AC_CHECK_LIB(z, inflateEnd) + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + AC_MSG_RESULT(ok) + else + # + # If either header or library was not found, revert and bomb + # + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + AC_MSG_RESULT(failed) + fi +fi +]) diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/aclocal.m4 b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/aclocal.m4 new file mode 100644 index 0000000..1c4e723 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/aclocal.m4 @@ -0,0 +1,7302 @@ +# generated automatically by aclocal 1.8.5 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- + +# serial 48 Debian 1.5.22-4 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# ------------------ +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# --------------------------------------------------------------------- +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ---------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +# set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# ------------------ +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# ------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) + +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.8.5])]) + +# AM_AUX_DIR_EXPAND + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 6 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]) +fi])]) + +# serial 7 -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 7 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 11 + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG(AMTAR, tar) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl + +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# -*- Autoconf -*- + + +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. + +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# +# Check to make sure that the build environment is sane. +# + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# AM_PROG_INSTALL_STRIP + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +m4_include([acinclude.m4]) diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/bootstrap b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/bootstrap new file mode 100755 index 0000000..5972642 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/bootstrap @@ -0,0 +1,7 @@ +#!/bin/sh +set -x +autoheader +libtoolize --force --copy +aclocal -I config +automake --foreign --add-missing --force-missing --copy +autoconf diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg.kdevelop b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg.kdevelop new file mode 100644 index 0000000..8b4044c --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg.kdevelop @@ -0,0 +1,228 @@ + + + + Christian Gagne + cgagne@gmail.com + 3.0.0 + KDevAutoProject + C++ + + C++ + Code + + + . + false + + + coev_symbreg + + + + src/coev_symbreg + default + + + coev_symbreg/coev_symbreg + true + executable + / + + true + + + + + + + + + + + kdevgccoptions + kdevgppoptions + kdevpgf77options + + + + + + + + + + + + + + false + 1 + false + + 0 + + + + + ada + ada_bugs_gcc + bash + bash_bugs + clanlib + w3c-dom-level2-html + fortran_bugs_gcc + gnome1 + gnustep + gtk + gtk_bugs + haskell + haskell_bugs_ghc + java_bugs_gcc + java_bugs_sun + kde2book + opengl + pascal_bugs_fp + php + php_bugs + perl + perl_bugs + python + python_bugs + qt-kdev3 + ruby + ruby_bugs + sdl + w3c-svg + sw + w3c-uaag10 + wxwidgets_bugs + + + Guide to the Qt Translation Tools + Qt Assistant Manual + Qt Designer Manual + Qt Reference Documentation + qmake User Guide + + + KDE Libraries (Doxygen) + + + + + + + + + + + + + + false + false + + + *.o,*.lo,CVS + false + false + + + + + Doxygen Documentation Collection + + + + + + coev_symbreg + coev_symbreg + COEV_SYMBREG + Christian Gagne + cgagne@gmail.com + GPL + COPYING + 3.0.0 + /home/cgagne/tmp/coev_symbreg + + + + + true + true + true + false + true + true + true + 250 + 400 + 250 + false + 0 + true + true + false + std=_GLIBCXX_STD;__gnu_cxx=std + true + false + false + false + true + true + true + false + .; + + + + set + m_,_ + theValue + true + true + + + false + 3 + 3 + /usr/share/qt3 + EmbeddedKDevDesigner + /usr/bin/qmake-qt3 + /usr/bin/designer + + + + + + .hpp + .cpp + + + + + + + + + + + true + false + false + + + false + true + 10 + + + + true + true + true + true + -C + + diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/CoSymEvalOp.cpp b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/CoSymEvalOp.cpp new file mode 100644 index 0000000..47772be --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/CoSymEvalOp.cpp @@ -0,0 +1,179 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file CoSymEvalOp.cpp + * \brief Implementation of the class CoSymEvalOp. + * \author Jiachuan Wang + * \author Christian Gagne + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Coev.hpp" +#include "CoSymEvalOp.hpp" +#include "TrainSetEvalOp.hpp" +#include "TrainSetThread.hpp" +#include "SymGPEvalOp.hpp" +#include "SymGPThread.hpp" + +#include +#include +#include +#include +#include +#include + +using namespace Beagle; + +/*! + * \brief Construct the individual evaluation operator for the co-evolutionary symbolic + * regression problem. + * \param inName Name of the operator. + */ +CoSymEvalOp::CoSymEvalOp(Beagle::string inName) : + Coev::GPEvaluationOp(4, inName) +{ } + + +/*! + * \brief Evaluate RMS value fitness of a given pair of training set / symbolic regression + * expression. + * \param inTrainSet Train set real-valued GA float vector. + * \param inExpression GP symbolic regression expression. + * \param ioContext GP evolutionary context. + * \return Root-mean square error of the GP expression on the train set. + */ +double CoSymEvalOp::evaluateRMS(GA::FloatVector& inTrainSet, + GP::Individual& inExpression, + GP::Context& ioContext) const +{ + inExpression[0]->setContextToNode(0, ioContext); + GP::Individual::Handle lOldIndivHandle = ioContext.getIndividualHandle(); + ioContext.setIndividualHandle(&inExpression); + + double lSquareError = 0.0; + for(unsigned int i=0; i 1.0) lX = 1.0; + if(lX < -1.0) lX = -1.0; + Double lY = (lX*(lX*(lX*(lX+1.0)+1.0)+1.0)); + setValue("X", lX, ioContext); + + Double lResult; + inExpression.run(lResult, ioContext); + // (*lSymGpIndiv[0])[0].mPrimitive->execute(lResult, lContext); + + double lError = std::fabs(lY - lResult); + lSquareError += (lError*lError); + } + ioContext.setIndividualHandle(lOldIndivHandle); + double lMSE = lSquareError / inTrainSet.size(); + return std::sqrt(lMSE); +} + + +/*! + * \brief Evaluate fitness with the given evaluation sets. + * \param ioSets Sets to evaluate. + */ +void CoSymEvalOp::evaluateSets(Beagle::Coev::GPEvaluationOp::EvalSetVector& ioSets) +{ + Beagle_AssertM(ioSets.size() == 4); + + // mID: GPSet(0), lBestGPSet(1), TrainSet(2), BestTrainSet(3) + unsigned int lGPSet=0; // Index for GP set in ioSets + unsigned int lTrainSet=0; // Index for training set in ioSets + unsigned int lBestTrainSet=0; // Index for best training set in ioSets + unsigned int lBestGPSet=0; // Index for best GP set in ioSets + switch(ioSets[0].mID) { + case 0: lGPSet = 0; break; + case 1: lBestGPSet = 0; break; + case 2: lTrainSet = 0; break; + case 3: lBestTrainSet = 0; break; + default: throw Beagle_RunTimeExceptionM("Undefined eval set ID!"); + } + switch(ioSets[1].mID) { + case 0: lGPSet = 1; break; + case 1: lBestGPSet = 1; break; + case 2: lTrainSet = 1; break; + case 3: lBestTrainSet = 1; break; + default: throw Beagle_RunTimeExceptionM("Undefined eval set ID!"); + } + switch(ioSets[2].mID) { + case 0: lGPSet = 2; break; + case 1: lBestGPSet = 2; break; + case 2: lTrainSet = 2; break; + case 3: lBestTrainSet = 2; break; + default: throw Beagle_RunTimeExceptionM("Undefined eval set ID!"); + } + switch(ioSets[3].mID) { + case 0: lGPSet = 3; break; + case 1: lBestGPSet = 3; break; + case 2: lTrainSet = 3; break; + case 3: lBestTrainSet = 3; break; + default: throw Beagle_RunTimeExceptionM("Undefined eval set ID!"); + } + + Beagle_AssertM(ioSets[lGPSet].mIndividuals.size() > 0); + Beagle_AssertM(ioSets[lTrainSet].mIndividuals.size() > 0); + Beagle_AssertM(ioSets[lBestTrainSet].mIndividuals.size() == 1); + Beagle_AssertM(ioSets[lBestGPSet].mIndividuals.size() == 1); + + // Match GP equations set with best training set + Individual& lBestTrainIndiv = *ioSets[lBestTrainSet].mIndividuals[0]; + Beagle_AssertM(lBestTrainIndiv.size() == 1); + GA::FloatVector::Handle lFVBestTrain = castHandleT(lBestTrainIndiv[0]); + Beagle_AssertM(lFVBestTrain->size() == 20); + GP::Context& lGPContext = castObjectT(*ioSets[lGPSet].mContext); + + unsigned int lGPSetSize = ioSets[lGPSet].mIndividuals.size(); + for(unsigned int i=0; i(*ioSets[lGPSet].mIndividuals[i]); + double lRMS = evaluateRMS(*lFVBestTrain, lGPIndividual, lGPContext); + assignFitness(new FitnessSimpleMin(lRMS), lGPIndividual, lGPContext); + } + + // Match training set with best symbolic regression function + GP::Individual& lBestGPIndiv = + castObjectT(*ioSets[lBestGPSet].mIndividuals[0]); + GP::Context& lGPContext2 = castObjectT(*ioSets[lBestGPSet].mContext); + + unsigned int lTrainSetSize = ioSets[lTrainSet].mIndividuals.size(); + for(unsigned int i=0; i(lTrainIndiv[0]); + Beagle_AssertM(lFVTrain->size() == 20); + + double lRMS = evaluateRMS(*lFVTrain, lBestGPIndiv, lGPContext2); + assignFitness(new FitnessSimple(lRMS), lTrainIndiv, *ioSets[lTrainSet].mContext); + } +} + + + diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/CoSymEvalOp.hpp b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/CoSymEvalOp.hpp new file mode 100644 index 0000000..e07fafe --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/CoSymEvalOp.hpp @@ -0,0 +1,115 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file CoSymEvalOp.hpp + * \brief Declaration of the class CoSymEvalOp. + * \author Jiachuan Wang + * \author Christian Gagne + * $Revision: 1.14.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +/*! + * \defgroup CoSym Co-evolutionary Symbolic Regression Example + * \brief Co-evolutionary Symbolic Regression (coev_symbreg): + * Mixed real-valued GA - GP co-evolution example with Open BEAGLE + * + * \par Objective + * Two populations competitive co-evolution for symbolic regression. + * First population is made of standard GP mathematical expressions. + * Second population is made of individual representing 20 \f$(x_i,y_i)\f$ + * samples in the domain \f$[-1,1]\f$ of the equation \f$x^4+x^3+x^2+x\f$. + * The global objective is to a find symbolic expressions that + * "generalizes" well over the domain sampled. + * + * \par Terminal set of GP expressions + * - X (the independent variable) + * - Ephemeral constants randomly generated in \f$[-1,1]\f$ + * + * \par Function set of GP expressions + * - + + * - - + * - * + * - / (protected division) + * + * \par Representation of training sets + * Vector of 20 real-valued numbers in \f$[-1,1]\f$. + * + * \par Fitness + * Root Mean Square (RMS) error of the GP expressions on the 20 samples + * of the training set. GP expression minimizes the RMS error, while + * training set maximizes it. Individuals of one population are + * evaluated against last generation other population best performing + * individual. + * + * \par Reference + * Liviu Panait and Sean Luke, Methods for Evolving Robust Programs, + * Proceedings of Genetic and Evolutionary Computation -- GECCO-2003, + * LNCS, Vol. 2724, pp. 1740-1751, Springer-Verlag, 12-16 July 2003. + * + */ + +#ifndef CoSymEvalOp_hpp +#define CoSymEvalOp_hpp + +#include "beagle/Coev.hpp" +#include + +/*! + * \class CoSymEvalOp CoSymEvalOp.hpp "CoSymEvalOp.hpp" + * \brief Abstract co-evolution evaluation class operator for the co-evolutionary + * symbolic regression. + * \ingroup CoSym + */ +class CoSymEvalOp : public Beagle::Coev::GPEvaluationOp { + +public: + + //! CoSymEvalOp allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< CoSymEvalOp handle type. + typedef Beagle::PointerT + Handle; + //!< CoSymEvalOp bag type. + typedef Beagle::ContainerT + Bag; + + explicit CoSymEvalOp(Beagle::string inName="CoSymEvalOp"); + + virtual void evaluateSets(Beagle::Coev::GPEvaluationOp::EvalSetVector& ioSets); + virtual void makeSets(Beagle::Individual::Bag& ioIndivBag, Beagle::Context::Handle ioContext) =0; + +protected: + + double evaluateRMS(Beagle::GA::FloatVector& inTrainSet, + Beagle::GP::Individual& inExpression, + Beagle::GP::Context& ioContext) const; + +}; + +#endif // CoSymEvalOp_hpp diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/CoevSymbregMain.cpp b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/CoevSymbregMain.cpp new file mode 100644 index 0000000..a198d67 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/CoevSymbregMain.cpp @@ -0,0 +1,87 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file CoevSymbregMain.cpp + * \brief Implementation of the main routine of co-evolutionary symbolic regression. + * \author Jiachuan Wang + * \author Christian Gagne + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Coev.hpp" +#include "CoSymEvalOp.hpp" +#include "TrainSetEvalOp.hpp" +#include "TrainSetThread.hpp" +#include "SymGPEvalOp.hpp" +#include "SymGPThread.hpp" + +#include +#include +#include +#include +#include +#include + +using namespace std; +using namespace Beagle; + +/*! + * \brief Main routine for the co-evolutionary symbolic regression example. + * \param argc Number of arguments on the command-line. + * \param argv Arguments on the command-line. + * \return Return value of the program. + * \ingroup CoSym + */ +int main(int argc, char** argv) { + try { + // Deduce configuration filename from argv[0]. + Beagle::string lConfigFilename1 = "symgp-thread.conf"; + Beagle::string lConfigFilename2 = "trainset-thread.conf"; + Beagle::string lProgramName = argv[0]; + Beagle::string::size_type lLibsPos = lProgramName.find(Beagle::string(".libs")); + Beagle::string::size_type lSlashPos = lProgramName.find_last_of(Beagle::string("/\\"), lLibsPos); + if(lSlashPos != Beagle::string::npos) { + lConfigFilename1.insert(0, lProgramName, 0, lSlashPos+1); + lConfigFilename2.insert(0, lProgramName, 0, lSlashPos+1); + } + // Creates and starts first thread/population for co-evolution. + SymGPThread lThread1(lConfigFilename1); + lThread1.run(); + // Creates and starts second thread/population for co-evolution. + TrainSetThread lThread2(lConfigFilename2); + lThread2.run(); + // Wait for the threads to finish. + lThread1.wait(); + lThread2.wait(); + } + catch(std::exception& inException) { + std::cerr << "Standard exception catched:" << std::endl << std::flush; + std::cerr << inException.what() << std::endl << std::flush; + return 1; + } +} diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/Makefile.am b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/Makefile.am new file mode 100644 index 0000000..1ca0f25 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/Makefile.am @@ -0,0 +1,13 @@ +bin_PROGRAMS = coev_symbreg +coev_symbreg_SOURCES = \ +CoevSymbregMain.cpp \ +CoSymEvalOp.cpp \ +CoSymEvalOp.hpp \ +SymGPEvalOp.cpp \ +SymGPThread.cpp \ +SymGPThread.hpp \ +TrainSetEvalOp.cpp \ +TrainSetEvalOp.hpp \ +TrainSetThread.cpp \ +TrainSetThread.hpp + diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/Makefile.in b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/Makefile.in new file mode 100644 index 0000000..113cf72 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/Makefile.in @@ -0,0 +1,506 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +SOURCES = $(coev_symbreg_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +bin_PROGRAMS = coev_symbreg$(EXEEXT) +subdir = coev_symbreg +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.hpp.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = config.hpp +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_coev_symbreg_OBJECTS = CoevSymbregMain.$(OBJEXT) \ + CoSymEvalOp.$(OBJEXT) SymGPEvalOp.$(OBJEXT) \ + SymGPThread.$(OBJEXT) TrainSetEvalOp.$(OBJEXT) \ + TrainSetThread.$(OBJEXT) +coev_symbreg_OBJECTS = $(am_coev_symbreg_OBJECTS) +coev_symbreg_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/CoSymEvalOp.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/CoevSymbregMain.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/SymGPEvalOp.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/SymGPThread.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/TrainSetEvalOp.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/TrainSetThread.Po +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(coev_symbreg_SOURCES) +DIST_SOURCES = $(coev_symbreg_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +coev_symbreg_SOURCES = \ +CoevSymbregMain.cpp \ +CoSymEvalOp.cpp \ +CoSymEvalOp.hpp \ +SymGPEvalOp.cpp \ +SymGPThread.cpp \ +SymGPThread.hpp \ +TrainSetEvalOp.cpp \ +TrainSetEvalOp.hpp \ +TrainSetThread.cpp \ +TrainSetThread.hpp + +all: config.hpp + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign coev_symbreg/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign coev_symbreg/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +config.hpp: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.hpp.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status coev_symbreg/config.hpp +$(srcdir)/config.hpp.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.hpp stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +coev_symbreg$(EXEEXT): $(coev_symbreg_OBJECTS) $(coev_symbreg_DEPENDENCIES) + @rm -f coev_symbreg$(EXEEXT) + $(CXXLINK) $(coev_symbreg_LDFLAGS) $(coev_symbreg_OBJECTS) $(coev_symbreg_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CoSymEvalOp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CoevSymbregMain.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SymGPEvalOp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SymGPThread.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TrainSetEvalOp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TrainSetThread.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) config.hpp +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/SymGPEvalOp.cpp b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/SymGPEvalOp.cpp new file mode 100644 index 0000000..aa09990 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/SymGPEvalOp.cpp @@ -0,0 +1,108 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file SymGPEvalOp.cpp + * \brief Implementation of the class SymGPEvalOp. + * \author Jiachuan Wang + * \author Christian Gagne + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Coev.hpp" +#include "CoSymEvalOp.hpp" +#include "TrainSetEvalOp.hpp" +#include "TrainSetThread.hpp" +#include "SymGPEvalOp.hpp" +#include "SymGPThread.hpp" + +#include +#include +#include +#include +#include +#include + +using namespace Beagle; + +/*! + * \brief Construct the GP individual evaluation operator for the co-evolutionary + * symbolic regression problem. + */ +SymGPEvalOp::SymGPEvalOp() : + CoSymEvalOp("SymGPEvalOp") +{ } + + +/*! + * \brief Make evaluation sets to evaluate fitness on SymGp. + * \param ioIndivBag Bag of individuals to use for evaluation. + * \param ioContext Evaluationary context. + */ +void SymGPEvalOp::makeSets(Individual::Bag& ioIndivBag, Context::Handle ioContext) +{ + // If last generation best individual is NULL handle, choose a random individual. + if(mLastGenBestIndividual == NULL) { + unsigned int lRandomIndex = + ioContext->getSystem().getRandomizer().rollInteger(0, ioContext->getDeme().size()-1); + GP::Individual::Alloc::Handle lIndivAlloc = + castHandleT(ioContext->getDeme().getTypeAlloc()); + GP::Individual::Handle lIndivToCopy = + castHandleT(ioContext->getDeme()[lRandomIndex]); + mLastGenBestIndividual = castHandleT(lIndivAlloc->cloneData(*lIndivToCopy)); + } + + // Eval set for GP Symbolic equation + EvalSet lSymGPEvalSet(ioIndivBag, ioContext, 0); + addSet(lSymGPEvalSet, false); + + // Eval set of best GP individual + GP::Individual::Bag lBestSymGPIndiv; + lBestSymGPIndiv.push_back(mLastGenBestIndividual); + EvalSet lBestSymGPEvalSet(lBestSymGPIndiv, ioContext, 1); + addSet(lBestSymGPEvalSet, true); + + // Get a copy of the best individual for next generation + unsigned int lBestIndivIndex = 0; + float lBestIndivIndexFits = + castHandleT(ioContext->getDeme()[0]->getFitness())->getValue(); + for(unsigned int i=1; igetDeme().size(); ++i) { + float lFitness = + castHandleT(ioContext->getDeme()[i]->getFitness())->getValue(); + if(lFitness < lBestIndivIndexFits) { + lBestIndivIndexFits = lFitness; + lBestIndivIndex = i; + } + } + GP::Individual::Handle lIndivToCopy = + castHandleT(ioContext->getDeme()[lBestIndivIndex]); + GP::Individual::Alloc::Handle lIndivAlloc = + castHandleT(ioContext->getDeme().getTypeAlloc()); + mLastGenBestIndividual = castHandleT(lIndivAlloc->cloneData(*lIndivToCopy)); +} + + diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/SymGPEvalOp.hpp b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/SymGPEvalOp.hpp new file mode 100644 index 0000000..c3b08d0 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/SymGPEvalOp.hpp @@ -0,0 +1,74 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file SymGPEvalOp.hpp + * \brief Declaration of the class SymGPEvalOp. + * \author Jiachuan Wang + * \author Christian Gagne + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + + +#ifndef SymGPEvalOp_hpp +#define SymGPEvalOp_hpp + +#include "beagle/Coev.hpp" +#include "CoSymEvalOp.hpp" +#include + + +/*! + * \class SymGPEvalOp SymGPEvalOp.hpp "SymGPEvalOp.hpp" + * \brief GP evaluation class operator for the co-evolutionary symbolic regression. + * \ingroup CoSym + */ +class SymGPEvalOp : public CoSymEvalOp { + +public: + + //! SymGPEvalOp allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< SymGPEvalOp handle type. + typedef Beagle::PointerT + Handle; + //!< SymGPEvalOp bag type. + typedef Beagle::ContainerT + Bag; + + explicit SymGPEvalOp(); + + virtual void makeSets(Beagle::Individual::Bag& ioIndivBag, + Beagle::Context::Handle ioContext); + +protected: + Beagle::GP::Individual::Handle mLastGenBestIndividual; //!< Copy of last gen. best individual. + +}; + +#endif // SymGPEvalOp_hpp diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/SymGPThread.cpp b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/SymGPThread.cpp new file mode 100644 index 0000000..b27afc8 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/SymGPThread.cpp @@ -0,0 +1,110 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file SymGPThread.cpp + * \brief Implementation of the class SymGPThread. + * \author Jiachuan Wang + * \author Christian Gagne + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Coev.hpp" +#include "CoSymEvalOp.hpp" +#include "TrainSetEvalOp.hpp" +#include "TrainSetThread.hpp" +#include "SymGPEvalOp.hpp" +#include "SymGPThread.hpp" + +#include +#include +#include +#include +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct the GP execution thread for the co-evolutionary symbolic regression problem. + * \param inConfigFilename Name of the configuration file to use. + */ +SymGPThread::SymGPThread(Beagle::string inConfigFilename) : + mConfigFilename(inConfigFilename) +{ } + + +/*! + * \brief Destruct an execution thread for the SymGp problem. + */ +SymGPThread::~SymGPThread() +{ + wait(); +} + + +/*! + * \brief Evolver the SymGp problem. + */ +void SymGPThread::main() +{ + try { + // 1: Build primitives. + GP::PrimitiveSet::Handle lSet = new GP::PrimitiveSet; + lSet->insert(new GP::Add); + lSet->insert(new GP::Subtract); + lSet->insert(new GP::Multiply); + lSet->insert(new GP::Divide); + //lSet->insert(new GP::Sin); + //lSet->insert(new GP::Cos); + //lSet->insert(new GP::Exp); + //lSet->insert(new GP::Log); + lSet->insert(new GP::TokenT("X")); + //lSet->insert(new GP::TokenT("Pi", Double(M_PI))); + lSet->insert(new GP::EphemeralDouble); + // 2: Build a system. + GP::System::Handle lSystem = new GP::System(lSet); + // 3: Build evaluation operator. + SymGPEvalOp::Handle lEvalOp = new SymGPEvalOp; + // 4: Build an evolver and a vivarium. + GP::Evolver::Handle lEvolver = new GP::Evolver(lEvalOp); + lEvolver->addOperator(new Coev::TermBroadcastOp); + GP::Vivarium::Handle lVivarium = + new GP::Vivarium(new GP::Tree::Alloc, new FitnessSimpleMin::Alloc); + // 5: Initialize and evolve the vivarium. + lEvolver->initialize(lSystem, mConfigFilename); + lEvolver->evolve(lVivarium); + } + catch(Exception& inException) { + inException.terminate(std::cerr); + } + catch(std::exception& inException) { + std::cerr << "Standard exception catched:" << std::endl << std::flush; + std::cerr << inException.what() << std::endl << std::flush; + } +} diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/SymGPThread.hpp b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/SymGPThread.hpp new file mode 100644 index 0000000..c0bec17 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/SymGPThread.hpp @@ -0,0 +1,63 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file SymGPThread.hpp + * \brief Declaration of the class SymGPThread. + * \author Jiachuan Wang + * \author Christian Gagne + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#ifndef SymGPThread_hpp +#define SymGPThread_hpp + +#include "beagle/Coev.hpp" +#include "Threading.hpp" +#include + + +/*! + * \class SymGPThread SymGPThread.hpp "SymGPThread.hpp" + * \brief Co-evolution thread class for the GP population. + * \ingroup CoSym + */ +class SymGPThread : public PACC::Threading::Thread { + +public: + SymGPThread(Beagle::string inConfigFilename="symgp-thread.conf"); + ~SymGPThread(); + +protected: + virtual void main(); + + Beagle::string mConfigFilename; //!< Configuration filename + +}; + +#endif // SymGPThread_hpp + diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/TrainSetEvalOp.cpp b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/TrainSetEvalOp.cpp new file mode 100644 index 0000000..93bbf99 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/TrainSetEvalOp.cpp @@ -0,0 +1,105 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file TrainSetEvalOp.cpp + * \brief Implementation of the class TrainSetEvalOp. + * \author Jiachuan Wang + * \author Christian Gagne + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Coev.hpp" +#include "CoSymEvalOp.hpp" +#include "TrainSetEvalOp.hpp" +#include "TrainSetThread.hpp" +#include "SymGPEvalOp.hpp" +#include "SymGPThread.hpp" + +#include +#include +#include +#include +#include +#include + +using namespace Beagle; + +/*! + * \brief Construct the training set individual evaluation operator for the + * co-evolutionary symbolic regression problem. + */ +TrainSetEvalOp::TrainSetEvalOp() : + CoSymEvalOp("TrainSetEvalOp") +{ } + + +/*! + * \brief Make evaluation sets to evaluate fitness on TrainSet. + * \param ioIndivBag Bag of individuals to use for evaluation. + * \param ioContext Evaluationary context. + */ +void TrainSetEvalOp::makeSets(Individual::Bag& ioIndivBag, Context::Handle ioContext) +{ + // If last generation best individual is NULL handle, choose a random individual. + if(mLastGenBestIndividual == NULL) { + unsigned int lRandomIndex = + ioContext->getSystem().getRandomizer().rollInteger(0, ioContext->getDeme().size()-1); + Individual::Handle lIndivToCopy = ioContext->getDeme()[lRandomIndex]; + Individual::Alloc::Handle lIndivAlloc = ioContext->getDeme().getTypeAlloc(); + mLastGenBestIndividual = + castHandleT(lIndivAlloc->cloneData(*lIndivToCopy)); + } + + // Eval set for best training set + Individual::Bag lBestTrainSetIndiv; + lBestTrainSetIndiv.push_back(mLastGenBestIndividual); + EvalSet lBestTrainEvalSet(lBestTrainSetIndiv, ioContext, 3); + addSet(lBestTrainEvalSet, false); + + // Eval set for training sets + EvalSet lTrainEvalSet(ioIndivBag, ioContext, 2); + addSet(lTrainEvalSet, true); + + // Get a copy of the best individual for next generation + unsigned int lBestIndivIndex = 0; + float lBestIndivIndexFits = + castHandleT(ioContext->getDeme()[0]->getFitness())->getValue(); + for(unsigned int i=1; igetDeme().size(); ++i) { + float lFitness = + castHandleT(ioContext->getDeme()[i]->getFitness())->getValue(); + if(lFitness > lBestIndivIndexFits) { + lBestIndivIndexFits = lFitness; + lBestIndivIndex = i; + } + } + Individual::Handle lIndivToCopy = ioContext->getDeme()[lBestIndivIndex]; + Individual::Alloc::Handle lIndivAlloc = ioContext->getDeme().getTypeAlloc(); + mLastGenBestIndividual = + castHandleT(lIndivAlloc->cloneData(*lIndivToCopy)); +} + diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/TrainSetEvalOp.hpp b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/TrainSetEvalOp.hpp new file mode 100644 index 0000000..6a850e1 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/TrainSetEvalOp.hpp @@ -0,0 +1,69 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file TrainSetEvalOp.hpp + * \brief Declaration of the class TrainSetEvalOp. + * \author Jiachuan Wang + * \author Christian Gagne + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#ifndef TrainSetEvalOp_hpp +#define TrainSetEvalOp_hpp + +#include "beagle/Coev.hpp" +#include "CoSymEvalOp.hpp" +#include + + +class TrainSetEvalOp : public CoSymEvalOp { + +public: + + //! TrainSetEvalOp allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< TrainSetEvalOp handle type. + typedef Beagle::PointerT + Handle; + //!< TrainSetEvalOp bag type. + typedef Beagle::ContainerT + Bag; + + explicit TrainSetEvalOp(); + + virtual void makeSets(Beagle::Individual::Bag& ioIndivBag, + Beagle::Context::Handle ioContext); + +protected: + + Beagle::Individual::Handle mLastGenBestIndividual; //!< Copy of last gen. best individual. + +}; + +#endif // TrainSetEvalOp_hpp diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/TrainSetThread.cpp b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/TrainSetThread.cpp new file mode 100644 index 0000000..9022f85 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/TrainSetThread.cpp @@ -0,0 +1,99 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file TrainSetThread.cpp + * \brief Implementation of the class TrainSetThread. + * \author Jiachuan Wang + * \author Christian Gagne + * $Revision: 1.11.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Coev.hpp" +#include "CoSymEvalOp.hpp" +#include "TrainSetEvalOp.hpp" +#include "TrainSetThread.hpp" +#include "SymGPEvalOp.hpp" +#include "SymGPThread.hpp" + +#include +#include +#include +#include +#include +#include + +using namespace Beagle; + +/*! + * \brief Construct an training set execution thread for the + * co-evolutionary symbolic regression. + * \param inConfigFilename Name of the configuration file to use. + */ +TrainSetThread::TrainSetThread(Beagle::string inConfigFilename) : + mConfigFilename(inConfigFilename) +{ } + + +/*! + * \brief Destruct an execution thread for the TrainSet problem. + */ +TrainSetThread::~TrainSetThread() +{ + wait(); +} + + +/*! + * \brief Evolver the TrainSet problem. + */ +void TrainSetThread::main() +{ + try { + // 1. Build the system. + System::Handle lSystem = new System; + // 2. Build evaluation operator. + TrainSetEvalOp::Handle lEvalOp = new TrainSetEvalOp; + // 3. Instanciate the evolver and the vivarium for float vectors GA population. + GA::FloatVector::Alloc::Handle lFVAlloc = new GA::FloatVector::Alloc; + Vivarium::Handle lVivarium = new Vivarium(lFVAlloc); + // 4. Set representation, individuals of 1 float vector, each with 20 float values. + const unsigned int lVectorSize=20; + // 5. Initialize the evolver and evolve the vivarium. + GA::EvolverFloatVector::Handle lEvolver = new GA::EvolverFloatVector(lEvalOp, lVectorSize); + lEvolver->addOperator(new Coev::TermBroadcastOp); + lEvolver->initialize(lSystem, mConfigFilename); + lEvolver->evolve(lVivarium); + } + catch(Exception& inException) { + inException.terminate(std::cerr); + } + catch(std::exception& inException) { + std::cerr << "Standard exception catched:" << std::endl << std::flush; + std::cerr << inException.what() << std::endl << std::flush; + } +} diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/TrainSetThread.hpp b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/TrainSetThread.hpp new file mode 100644 index 0000000..43240c7 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/TrainSetThread.hpp @@ -0,0 +1,64 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file TrainSetThread.hpp + * \brief Definition of the type TrainSetThread. + * \author Jiachuan Wang + * \author Christian Gagne + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#ifndef TrainSetThread_hpp +#define TrainSetThread_hpp + +#include "beagle/Coev.hpp" +#include "Threading.hpp" +#include + + +/*! + * \class TrainSetThread TrainSetThread.hpp "TrainSetThread.hpp" + * \brief Thread class for the training set population. + * \ingroup TrainSet + */ +class TrainSetThread : public PACC::Threading::Thread { + +public: + + TrainSetThread(Beagle::string inConfigFilename="trainset-thread.conf"); + ~TrainSetThread(); + +protected: + virtual void main(); + + Beagle::string mConfigFilename; //!< Configuration filename + +}; + +#endif // TrainSetThread_hpp + diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/config.hpp.in b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/config.hpp.in new file mode 100644 index 0000000..f92753a --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/config.hpp.in @@ -0,0 +1,65 @@ +/* coev_symbreg/config.hpp.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `z' library (-lz). */ +#undef HAVE_LIBZ + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define if you have POSIX threads libraries and header files. */ +#undef HAVE_PTHREAD + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +#undef PTHREAD_CREATE_JOINABLE + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/symgp-thread.conf b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/symgp-thread.conf new file mode 100644 index 0000000..9dd2324 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/symgp-thread.conf @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 500 + 2 + symgp-thread.log + symgp-thread + + \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/trainset-thread.conf b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/trainset-thread.conf new file mode 100644 index 0000000..0288cca --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/coev_symbreg/trainset-thread.conf @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 128 + 1 + -1 + 1 + -1 + 0 + trainset-thread.log + trainset-thread + + \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/config.guess b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/config.guess new file mode 100755 index 0000000..396482d --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/config.guess @@ -0,0 +1,1500 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-07-02' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + x86:Interix*:[3456]*) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T:Interix*:[3456]*) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/config.sub b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/config.sub new file mode 100755 index 0000000..fab0aa3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/config.sub @@ -0,0 +1,1616 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-09-20' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/depcomp b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/depcomp new file mode 100755 index 0000000..25bdb18 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/depcomp @@ -0,0 +1,526 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2004-04-25.13 + +# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit 0 + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit 0 + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # Dependencies are output in .lo.d with libtool 1.4. + # They are output in .o.d with libtool 1.5. + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.o.d" + tmpdepfile3="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + tmpdepfile3="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + elif test -f "$tmpdepfile2"; then + tmpdepfile="$tmpdepfile2" + else + tmpdepfile="$tmpdepfile3" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/install-sh b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/install-sh new file mode 100755 index 0000000..e4160c9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/install-sh @@ -0,0 +1,325 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2004-04-01.17 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename= +transform_arg= +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= + +usage="Usage: $0 [OPTION]... SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 -d DIRECTORIES... + +In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. +In the second, create the directory path DIR. + +Options: +-b=TRANSFORMBASENAME +-c copy source (using $cpprog) instead of moving (using $mvprog). +-d create directories instead of installing files. +-g GROUP $chgrp installed files to GROUP. +-m MODE $chmod installed files to MODE. +-o USER $chown installed files to USER. +-s strip installed files (using $stripprog). +-t=TRANSFORM +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit 0;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + --version) echo "$0 $scriptversion"; exit 0;; + + *) # When -d is used, all remaining arguments are directories to create. + test -n "$dir_arg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + instcmd=: + chmodcmd= + else + instcmd=$mkdirprog + fi + else + # Waiting for this to be detected by the "$instcmd $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" || lasterr=$? + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; } + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $instcmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + # If we're going to rename the final executable, determine the name now. + if test -z "$transformarg"; then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename \ + | sed $transformarg`$transformbasename + fi + + # don't allow the sed command to completely eliminate the filename. + test -z "$dstfile" && dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Move or copy the file name to the temp name + $doit $instcmd "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $instcmd $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/ltmain.sh b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/ltmain.sh new file mode 100644 index 0000000..c715b59 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/ltmain.sh @@ -0,0 +1,6871 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.22 Debian 1.5.22-4" +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + fi + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + else + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/missing b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/missing new file mode 100755 index 0000000..e7ef83a --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/config/missing @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2003-09-02.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/configure b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/configure new file mode 100755 index 0000000..5105938 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/configure @@ -0,0 +1,22313 @@ +#! /bin/sh +# From configure.ac Revision: 1.4 . +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for Co-evolved GP symbolic regression example 3.0.0. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='Co-evolved GP symbolic regression example' +PACKAGE_TARNAME='coev_symbreg' +PACKAGE_VERSION='3.0.0' +PACKAGE_STRING='Co-evolved GP symbolic regression example 3.0.0' +PACKAGE_BUGREPORT='cgagne@gmail.com' + +ac_unique_file="coev_symbreg/CoSymEvalOp.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +AMTAR +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +CXX +CXXFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CXX +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +LN_S +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +CC +CFLAGS +ac_ct_CC +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +GREP +EGREP +ECHO +AR +RANLIB +CPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +PTHREAD_CC +PTHREAD_LIBS +PTHREAD_CFLAGS +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +CPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures Co-evolved GP symbolic regression example 3.0.0 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/coev_symbreg] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of Co-evolved GP symbolic regression example 3.0.0:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] include additional configurations [automatic] + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + --with-pacc-util=DIR specify installation path of PACC::Util + --with-pacc-util-include=DIR specify exact dir for PACC::Util headers + --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries + --with-pacc-xml=DIR specify installation path of PACC::XML + --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers + --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries + --with-pacc-math=DIR specify installation path of PACC::Math + --with-pacc-math-include=DIR specify exact dir for PACC::Math headers + --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries + --with-pacc-threading=DIR specify installation path of PACC::Threading + --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers + --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries + --with-beagle=DIR specify installation path of Open BEAGLE + --with-beagle-include=DIR specify exact dir for Open BEAGLE headers + --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers + --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers + --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers + --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries + --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries + --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries + --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + CPP C preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +Co-evolved GP symbolic regression example configure 3.0.0 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by Co-evolved GP symbolic regression example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in config "$srcdir"/config; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +am__api_version="1.8" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='coev_symbreg' + VERSION='3.0.0' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. + + + +ac_config_headers="$ac_config_headers coev_symbreg/config.hpp:coev_symbreg/config.hpp.in" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 +echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 +echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 5044 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7303: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7307: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7571: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7575: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7675: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:7679: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix3*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_CXX=yes + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_CXX='+b $libdir' + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix3*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix3*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +solaris*) + case $cc_basename in + CC*) + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + postdeps_CXX='-lCstd -lCrun' + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12408: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:12412: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12512: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:12516: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_CXX" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14073: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:14077: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14177: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:14181: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix3*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_F77=yes + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_F77" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16364: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16368: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16632: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16636: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16736: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:16740: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix3*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_GCJ=yes + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_GCJ" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_RC" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + +# +# Handle user hints +# +{ echo "$as_me:$LINENO: checking if zlib is wanted" >&5 +echo $ECHO_N "checking if zlib is wanted... $ECHO_C" >&6; } + +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then + withval=$with_zlib; if test "$withval" != no ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + ZLIB_HOME="$withval" +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +else + +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + zlib_cv_libz=yes +else + zlib_cv_libz=no +fi + + if test "${ac_cv_header_zlib_h+set}" = set; then + { echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking zlib.h usability" >&5 +echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking zlib.h presence" >&5 +echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_zlib_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } + +fi +if test $ac_cv_header_zlib_h = yes; then + zlib_cv_zlib_h=yes +else + zlib_cv_zlib_h=no +fi + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + +{ echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +fi + + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } + fi +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_join (); +int +main () +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 +echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6; } + ;; + + -*) + { echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 +echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + *) + { echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 +echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 +echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_JOINABLE +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_UNDETACHED +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +cat >>confdefs.h <<\_ACEOF +#define PTHREAD_CREATE_JOINABLE $ok +_ACEOF + + fi + { echo "$as_me:$LINENO: result: ${ok}" >&5 +echo "${ECHO_T}${ok}" >&6; } + if test x"$ok" = xunknown; then + { echo "$as_me:$LINENO: WARNING: we do not know how to create joinable pthreads" >&5 +echo "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 +echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { echo "$as_me:$LINENO: result: ${flag}" >&5 +echo "${ECHO_T}${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PTHREAD_CC="cc_r" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 +echo "${ECHO_T}$PTHREAD_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_PTHREAD 1 +_ACEOF + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + + + +# Check whether --with-pacc-util was given. +if test "${with_pacc_util+set}" = set; then + withval=$with_pacc_util; pacc_util_path="$withval" +else + pacc_util_path="../../../../PACC" +fi + + +# Check whether --with-pacc-util-include was given. +if test "${with_pacc_util_include+set}" = set; then + withval=$with_pacc_util_include; pacc_util_path_include="$withval" +fi + + +# Check whether --with-pacc-util-libdir was given. +if test "${with_pacc_util_libdir+set}" = set; then + withval=$with_pacc_util_libdir; pacc_util_path_libdir="$withval" +fi + +if test -z "$pacc_util_path"; then + pacc_util_path="../../../../PACC" +fi +if test -z "$pacc_util_path_include"; then + if test -z "../../../../PACC"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "../../../../PACC/Util"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="../../../../PACC/Util" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Util headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Util headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_util_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Util.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_util_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_util_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_util_include_test" >&5 +echo "${ECHO_T}$pacc_util_include_test" >&6; } + + + +# Check whether --with-pacc-xml was given. +if test "${with_pacc_xml+set}" = set; then + withval=$with_pacc_xml; pacc_xml_path="$withval" +else + pacc_xml_path="../../../../PACC" +fi + + +# Check whether --with-pacc-xml-include was given. +if test "${with_pacc_xml_include+set}" = set; then + withval=$with_pacc_xml_include; pacc_xml_path_include="$withval" +fi + + +# Check whether --with-pacc-xml-libdir was given. +if test "${with_pacc_xml_libdir+set}" = set; then + withval=$with_pacc_xml_libdir; pacc_xml_path_libdir="$withval" +fi + +if test -z "$pacc_xml_path"; then + pacc_xml_path="../../../../PACC" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "../../../../PACC"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "../../../../PACC/XML"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="../../../../PACC/XML" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::XML headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::XML headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_xml_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +XML.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_xml_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_xml_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_xml_include_test" >&5 +echo "${ECHO_T}$pacc_xml_include_test" >&6; } + + + +# Check whether --with-pacc-math was given. +if test "${with_pacc_math+set}" = set; then + withval=$with_pacc_math; pacc_math_path="$withval" +else + pacc_math_path="../../../../PACC" +fi + + +# Check whether --with-pacc-math-include was given. +if test "${with_pacc_math_include+set}" = set; then + withval=$with_pacc_math_include; pacc_math_path_include="$withval" +fi + + +# Check whether --with-pacc-math-libdir was given. +if test "${with_pacc_math_libdir+set}" = set; then + withval=$with_pacc_math_libdir; pacc_math_path_libdir="$withval" +fi + +if test -z "$pacc_math_path"; then + pacc_math_path="../../../../PACC" +fi +if test -z "$pacc_math_path_include"; then + if test -z "../../../../PACC"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "../../../../PACC/Math"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="../../../../PACC/Math" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Math headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Math headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_math_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Math.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_math_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_math_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_math_include_test" >&5 +echo "${ECHO_T}$pacc_math_include_test" >&6; } + + + +# Check whether --with-pacc-threading was given. +if test "${with_pacc_threading+set}" = set; then + withval=$with_pacc_threading; pacc_threading_path="$withval" +else + pacc_threading_path="../../../../PACC" +fi + + +# Check whether --with-pacc-threading-include was given. +if test "${with_pacc_threading_include+set}" = set; then + withval=$with_pacc_threading_include; pacc_threading_path_include="$withval" +fi + + +# Check whether --with-pacc-threading-libdir was given. +if test "${with_pacc_threading_libdir+set}" = set; then + withval=$with_pacc_threading_libdir; pacc_threading_path_libdir="$withval" +fi + +if test -z "$pacc_threading_path"; then + pacc_threading_path="../../../../PACC" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "../../../../PACC"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "../../../../PACC/Threading"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="../../../../PACC/Threading" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Threading headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Threading headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_threading_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Threading.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_threading_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_threading_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_threading_include_test" >&5 +echo "${ECHO_T}$pacc_threading_include_test" >&6; } + + + +# Check whether --enable-optimization was given. +if test "${enable_optimization+set}" = set; then + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` +fi + +# Check whether --with-beagle was given. +if test "${with_beagle+set}" = set; then + withval=$with_beagle; ob_beagle_path="$withval" +else + ob_beagle_path="../../../../beagle" +fi + + +# Check whether --with-beagle-include was given. +if test "${with_beagle_include+set}" = set; then + withval=$with_beagle_include; ob_beagle_path_include="$withval" +fi + + +# Check whether --with-beagle-GA-include was given. +if test "${with_beagle_GA_include+set}" = set; then + withval=$with_beagle_GA_include; ob_beagle_path_ga_include="$withval" +fi + + +# Check whether --with-beagle-GP-include was given. +if test "${with_beagle_GP_include+set}" = set; then + withval=$with_beagle_GP_include; ob_beagle_path_gp_include="$withval" +fi + + +# Check whether --with-beagle-Coev-include was given. +if test "${with_beagle_Coev_include+set}" = set; then + withval=$with_beagle_Coev_include; ob_beagle_path_coev_include="$withval" +fi + + +# Check whether --with-beagle-libdir was given. +if test "${with_beagle_libdir+set}" = set; then + withval=$with_beagle_libdir; ob_beagle_path_libdir="$withval" +fi + + +# Check whether --with-beagle-GA-libdir was given. +if test "${with_beagle_GA_libdir+set}" = set; then + withval=$with_beagle_GA_libdir; ob_beagle_path_ga_libdir="$withval" +fi + + +# Check whether --with-beagle-GP-libdir was given. +if test "${with_beagle_GP_libdir+set}" = set; then + withval=$with_beagle_GP_libdir; ob_beagle_path_gp_libdir="$withval" +fi + + +# Check whether --with-beagle-Coev-libdir was given. +if test "${with_beagle_Coev_libdir+set}" = set; then + withval=$with_beagle_Coev_libdir; ob_beagle_path_coev_libdir="$withval" +fi + +if test -z "$ob_beagle_path"; then + ob_beagle_path="../../../../beagle" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "../../../../beagle/include"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="../../../../beagle/include" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "../../../../beagle/src"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="../../../../beagle/src" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "../../../../beagle/GA/include"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="../../../../beagle/GA/include" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "../../../../beagle/GA/src"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="../../../../beagle/GA/src" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "../../../../beagle/GP/include"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="../../../../beagle/GP/include" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "../../../../beagle/GP/src"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="../../../../beagle/GP/src" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "../../../../beagle/Coev/include"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="../../../../beagle/Coev/include" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "../../../../beagle/Coev/src"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="../../../../beagle/Coev/src" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +{ echo "$as_me:$LINENO: checking if Open BEAGLE headers are correctly included" >&5 +echo $ECHO_N "checking if Open BEAGLE headers are correctly included... $ECHO_C" >&6; } +if test "${ob_beagle_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + ob_beagle_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ob_beagle_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ob_beagle_include_test" >&5 +echo "${ECHO_T}$ob_beagle_include_test" >&6; } + + +ac_config_files="$ac_config_files Makefile coev_symbreg/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by Co-evolved GP symbolic regression example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +Co-evolved GP symbolic regression example config.status 3.0.0 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "coev_symbreg/config.hpp") CONFIG_HEADERS="$CONFIG_HEADERS coev_symbreg/config.hpp:coev_symbreg/config.hpp.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "coev_symbreg/Makefile") CONFIG_FILES="$CONFIG_FILES coev_symbreg/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +AMTAR!$AMTAR$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +LN_S!$LN_S$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CPP!$CPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +LIBTOOL!$LIBTOOL$ac_delim +PTHREAD_CC!$PTHREAD_CC$ac_delim +PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim +PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 6; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/configure.ac b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/configure.ac new file mode 100644 index 0000000..27c0fe9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/configure.ac @@ -0,0 +1,50 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT([Co-evolved GP symbolic regression example],[3.0.0],[cgagne@gmail.com],[coev_symbreg]) +AC_CONFIG_SRCDIR([coev_symbreg/CoSymEvalOp.cpp]) +AC_CONFIG_AUX_DIR([config]) +AC_REVISION([$Revision: 1.4 $]) +AM_INIT_AUTOMAKE +AM_CONFIG_HEADER([coev_symbreg/config.hpp:coev_symbreg/config.hpp.in]) + +dnl Checks for programs. +AC_PROG_AWK +AC_PROG_CXX +AC_PROG_CXXCPP +AC_PROG_LN_S +AC_PROG_LIBTOOL + +dnl Set language. +AC_LANG([C++]) + +dnl Checks for libraries. +AC_HEADER_STDC + +dnl Check for zlib support. +CHECK_ZLIB + +dnl Check for POSIX threads support. +ACX_PTHREAD +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +dnl Initialize PACC libraries with the given paths. +PACC_UTIL_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Util]) +PACC_XML_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/XML]) +PACC_MATH_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Math]) +PACC_THREADING_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Threading]) + +dnl Initialize Open BEAGLE with the given paths. +OB_BEAGLE_INIT([../../../../beagle], + [../../../../beagle/include], + [../../../../beagle/src], + [../../../../beagle/GA/include], + [../../../../beagle/GA/src], + [../../../../beagle/GP/include], + [../../../../beagle/GP/src], + [../../../../beagle/Coev/include], + [../../../../beagle/Coev/src]) + +dnl Create makefiles. +AC_CONFIG_FILES([Makefile coev_symbreg/Makefile]) +AC_OUTPUT diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/templates/cpp b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/templates/cpp new file mode 100644 index 0000000..a72843f --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/templates/cpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/%{FILE} + * \brief Implementation of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:40 $ + */ + diff --git a/lib/beagle-3.0.3/examples/Coev/coev_symbreg/templates/hpp b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/templates/hpp new file mode 100644 index 0000000..e735886 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/coev_symbreg/templates/hpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/%{FILE} + * \brief Definition of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:40 $ + */ + diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/AUTHORS b/lib/beagle-3.0.3/examples/Coev/ipd/AUTHORS new file mode 100644 index 0000000..f0c32cf --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/AUTHORS @@ -0,0 +1,2 @@ +Christian Gagne +Marc Parizeau diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/COPYING b/lib/beagle-3.0.3/examples/Coev/ipd/COPYING new file mode 100644 index 0000000..60549be --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/INSTALL b/lib/beagle-3.0.3/examples/Coev/ipd/INSTALL new file mode 100644 index 0000000..34cd70d --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/INSTALL @@ -0,0 +1,81 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Iterated Prisoner's Dilemma (ipd): Co-evolution GA example with Open BEAGLE + +Copyright (C) 2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON UNIX +========================================= + +To compile the allzeros example on Unix (once the Open BEAGLE framework is built), +'cd' to the main example directory, and type the following commands. + + ./configure + make clean + make + +Then, the binary will be in directory 'ipd'. + +'configure' recognizes the following options to control how it +operates. + +'--enable-optimization' + Enable the 'optimization' mode by setting the optimization flags + of the compiler. Use this flag to compile a version of the examples + linked with an optimized version of the framework libraries. + +'--with-beagle=DIR' + Specify the installation path of Open BEAGLE. + +'--with-beagle-include=DIR' + Specify exact installation directory for Open BEAGLE headers. + +'--with-beagle-GA-include=DIR' + Specify exact installation directory for Open BEAGLE GA headers. + +'--with-beagle-GP-include=DIR' + Specify exact installation directory for Open BEAGLE GP headers. + +'--with-beagle-libdir=DIR' + Specify exact installation directory for Open BEAGLE libraries. + +'--with-beagle-GA-libdir=DIR' + Specify exact installation directory for Open BEAGLE GA libraries. + +'--with-beagle-GP-libdir=DIR' + Specify exact installation directory for Open BEAGLE GP libraries. + +'--cache-file=FILE' + Use and save the test results in file FILE instead of + './config.cache'. Set FILE to '/dev/null' to disable caching, for + debugging 'configure'. + +'--help' + Print a summary of the options to 'configure', and exit. + +'--quiet' +'--silent' +'-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to '/dev/null' (any error + messages will still be shown). + +'--version' + Print the version of Autoconf used to generate the 'configure' + script, and exit. + +'configure' also accepts some other, not widely useful, options. + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON MS VISUAL C++ .NET +======================================================= + +Go to folder 'MSVCPP' and open the solution file 'ipd.sln' with +MS Visual Studio .NET. Then you can compile the example. The binary will +be in directory 'ipd'. + diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/MSVCPP/ipd.sln b/lib/beagle-3.0.3/examples/Coev/ipd/MSVCPP/ipd.sln new file mode 100644 index 0000000..41b9a92 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/MSVCPP/ipd.sln @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ipd", "ipd\ipd.vcproj", "{B2E49DAD-6920-4903-BFB2-D0F8EF14A806}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {B2E49DAD-6920-4903-BFB2-D0F8EF14A806}.Debug.ActiveCfg = Debug|Win32 + {B2E49DAD-6920-4903-BFB2-D0F8EF14A806}.Debug.Build.0 = Debug|Win32 + {B2E49DAD-6920-4903-BFB2-D0F8EF14A806}.Release.ActiveCfg = Release|Win32 + {B2E49DAD-6920-4903-BFB2-D0F8EF14A806}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/MSVCPP/ipd.suo b/lib/beagle-3.0.3/examples/Coev/ipd/MSVCPP/ipd.suo new file mode 100644 index 0000000..e8cc3d5 Binary files /dev/null and b/lib/beagle-3.0.3/examples/Coev/ipd/MSVCPP/ipd.suo differ diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/MSVCPP/ipd/ipd.vcproj b/lib/beagle-3.0.3/examples/Coev/ipd/MSVCPP/ipd/ipd.vcproj new file mode 100644 index 0000000..83a12f3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/MSVCPP/ipd/ipd.vcproj @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/Makefile.am b/lib/beagle-3.0.3/examples/Coev/ipd/Makefile.am new file mode 100644 index 0000000..4e5e01a --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/Makefile.am @@ -0,0 +1,2 @@ +AUTOMAKE_OPTIONS=dist-zip +SUBDIRS = ipd diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/Makefile.cvs b/lib/beagle-3.0.3/examples/Coev/ipd/Makefile.cvs new file mode 100644 index 0000000..925be9f --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/Makefile.cvs @@ -0,0 +1,4 @@ +SHELL = /bin/sh + +all: + ${SHELL} ./bootstrap diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/Makefile.in b/lib/beagle-3.0.3/examples/Coev/ipd/Makefile.in new file mode 100644 index 0000000..f31fd30 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/Makefile.in @@ -0,0 +1,585 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \ + INSTALL config/config.guess config/config.sub config/depcomp \ + config/install-sh config/ltmain.sh config/missing \ + config/mkinstalldirs +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/ipd/config.hpp +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AUTOMAKE_OPTIONS = dist-zip +SUBDIRS = ipd +all: all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/config + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || mkdir "$(distdir)/$$subdir" \ + || exit 1; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="../$(top_distdir)" \ + distdir="../$(distdir)/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-libtool distclean-recursive \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/README b/lib/beagle-3.0.3/examples/Coev/ipd/README new file mode 100644 index 0000000..a31a841 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/README @@ -0,0 +1,41 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Iterated Prisoner's Dilemma (ipd): Co-evolution GA example with Open BEAGLE + +Copyright (C) 2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +Getting started +=============== + + Example is compiled in binary 'ipd'. Configuration file for first + thread/population is in file 'ipd-thread1.conf', while configuration file + for second thread/population is in file 'ipd-thread2.conf'. + +Objective +========= + + Find solutions to the iterated prisoner's dilemma that get the highest reward for + its actions. + +Representation +============== + + Bit strings made of 3 bits. First bit is the action to take at the first turn + (0=defect, 1=cooperate), the second bit is the action to make knowing that + the companion has defected at the last turn, and the third bit is the action to + do knowing that the companion has cooperate the last turn. + +Fitness +======= + + For each turn, the individual receives points for its action. Each evaluation is done + on a total of 8 turns (iterations). The points given for each turn are the following: + - 0 points if the player cooperate and the companion defects. + - 1 points if the player defects and the companion defects. + - 3 points if the player defects and the companion cooperate. + - 5 points if the player cooperate and the companion cooperate. diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/acinclude.m4 b/lib/beagle-3.0.3/examples/Coev/ipd/acinclude.m4 new file mode 100644 index 0000000..9d8ff5a --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/acinclude.m4 @@ -0,0 +1,603 @@ +dnl +dnl Initialize an autoconf project that use PACC::Math. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_MATH_INIT(PACC_MATH_PATH +dnl [, PACC_MATH_INCLUDEPATH] +dnl [, PACC_MATH_LIBPATH]) +dnl +AC_DEFUN([PACC_MATH_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-math, + [ --with-pacc-math=DIR specify installation path of PACC::Math], + [pacc_math_path="$withval"], + [pacc_math_path="$1"]) +AC_ARG_WITH(pacc-math-include, + [ --with-pacc-math-include=DIR specify exact dir for PACC::Math headers], + [pacc_math_path_include="$withval"]) +AC_ARG_WITH(pacc-math-libdir, + [ --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries], + [pacc_math_path_libdir="$withval"]) +if test -z "$pacc_math_path"; then + pacc_math_path="$1" +fi +if test -z "$pacc_math_path_include"; then + if test -z "$2"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="$2" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "$3"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Math headers are correctly included, +pacc_math_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Math.hpp], + pacc_math_include_test=yes, + pacc_math_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Threading. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_THREADING_INIT(PACC_THREADING_PATH +dnl [, PACC_THREADING_INCLUDEPATH] +dnl [, PACC_THREADING_LIBPATH]) +dnl +AC_DEFUN([PACC_THREADING_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-threading, + [ --with-pacc-threading=DIR specify installation path of PACC::Threading], + [pacc_threading_path="$withval"], + [pacc_threading_path="$1"]) +AC_ARG_WITH(pacc-threading-include, + [ --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers], + [pacc_threading_path_include="$withval"]) +AC_ARG_WITH(pacc-threading-libdir, + [ --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries], + [pacc_threading_path_libdir="$withval"]) +if test -z "$pacc_threading_path"; then + pacc_threading_path="$1" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "$2"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="$2" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "$3"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Threading headers are correctly included, +pacc_threading_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Threading.hpp], + pacc_threading_include_test=yes, + pacc_threading_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Util. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_UTIL_INIT(PACC_UTIL_PATH +dnl [, PACC_UTIL_INCLUDEPATH] +dnl [, PACC_UTIL_LIBPATH]) +dnl +AC_DEFUN([PACC_UTIL_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-util, + [ --with-pacc-util=DIR specify installation path of PACC::Util], + [pacc_util_path="$withval"], + [pacc_util_path="$1"]) +AC_ARG_WITH(pacc-util-include, + [ --with-pacc-util-include=DIR specify exact dir for PACC::Util headers], + [pacc_util_path_include="$withval"]) +AC_ARG_WITH(pacc-util-libdir, + [ --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries], + [pacc_util_path_libdir="$withval"]) +if test -z "$pacc_util_path"; then + pacc_util_path="$1" +fi +if test -z "$pacc_util_path_include"; then + if test -z "$2"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="$2" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "$3"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Util headers are correctly included, +pacc_util_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Util.hpp], + pacc_util_include_test=yes, + pacc_util_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::XML. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_XML_INIT(PACC_XML_PATH +dnl [, PACC_XML_INCLUDEPATH] +dnl [, PACC_XML_LIBPATH]) +dnl +AC_DEFUN([PACC_XML_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-xml, + [ --with-pacc-xml=DIR specify installation path of PACC::XML], + [pacc_xml_path="$withval"], + [pacc_xml_path="$1"]) +AC_ARG_WITH(pacc-xml-include, + [ --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers], + [pacc_xml_path_include="$withval"]) +AC_ARG_WITH(pacc-xml-libdir, + [ --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries], + [pacc_xml_path_libdir="$withval"]) +if test -z "$pacc_xml_path"; then + pacc_xml_path="$1" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "$2"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="$2" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "$3"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::XML headers are correctly included, +pacc_xml_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([XML.hpp], + pacc_xml_include_test=yes, + pacc_xml_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use Open BEAGLE. +dnl +dnl by Christian Gagne, 14/10/2002, modified 10/10/2004 and 09/08/2005 +dnl +dnl OB_BEAGLE_INIT(BEAGLE_PATH +dnl [, BEAGLE_INCLUDEPATH] +dnl [, BEAGLE_LIBPATH] +dnl [, BEAGLE_GA_INCLUDEPATH] +dnl [, BEAGLE_GA_LIBPATH] +dnl [, BEAGLE_GP_INCLUDEPATH] +dnl [, BEAGLE_GP_LIBPATH] +dnl [, BEAGLE_COEV_INCLUDEPATH] +dnl [, BEAGLE_COEV_LIBPATH]) +dnl +AC_DEFUN([OB_BEAGLE_INIT], +[ +dnl Open BEAGLE optimization mode option. +AC_ARG_ENABLE(optimization, + [ --enable-optimization enable optimization mode [default=no]], + [case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac], + enable_optimization=no) +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` +fi +dnl Set headers and libraries path correctly +AC_ARG_WITH(beagle, + [ --with-beagle=DIR specify installation path of Open BEAGLE], + [ob_beagle_path="$withval"], + [ob_beagle_path="$1"]) +AC_ARG_WITH(beagle-include, + [ --with-beagle-include=DIR specify exact dir for Open BEAGLE headers], + [ob_beagle_path_include="$withval"]) +AC_ARG_WITH(beagle-GA-include, + [ --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers], + [ob_beagle_path_ga_include="$withval"]) +AC_ARG_WITH(beagle-GP-include, + [ --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers], + [ob_beagle_path_gp_include="$withval"]) +AC_ARG_WITH(beagle-Coev-include, + [ --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers], + [ob_beagle_path_coev_include="$withval"]) +AC_ARG_WITH(beagle-libdir, + [ --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries], + [ob_beagle_path_libdir="$withval"]) +AC_ARG_WITH(beagle-GA-libdir, + [ --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries], + [ob_beagle_path_ga_libdir="$withval"]) +AC_ARG_WITH(beagle-GP-libdir, + [ --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries], + [ob_beagle_path_gp_libdir="$withval"]) +AC_ARG_WITH(beagle-Coev-libdir, + [ --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries], + [ob_beagle_path_coev_libdir="$withval"]) +if test -z "$ob_beagle_path"; then + ob_beagle_path="$1" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "$2"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="$2" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "$3"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="$3" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "$4"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="$4" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "$5"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="$5" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "$6"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="$6" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "$7"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="$7" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "$8"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="$8" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "$9"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="$9" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if Open BEAGLE headers are correctly included, +ob_beagle_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp], + ob_beagle_include_test=yes, + ob_beagle_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl *************************************************************************** +dnl *************************************************************************** +AC_DEFUN([ACX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_SAVE +AC_LANG_C +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) + AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) + AC_MSG_RESULT($acx_pthread_ok) + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $flag]) + PTHREAD_CFLAGS="$flag" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$flag]) + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + AC_TRY_LINK([#include ], + [pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], + [acx_pthread_ok=yes]) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + AC_MSG_RESULT($acx_pthread_ok) + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + AC_MSG_CHECKING([for joinable pthread attribute]) + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_JOINABLE;], + ok=PTHREAD_CREATE_JOINABLE, ok=unknown) + if test x"$ok" = xunknown; then + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_UNDETACHED;], + ok=PTHREAD_CREATE_UNDETACHED, ok=unknown) + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok, + [Define to the necessary symbol if this constant + uses a non-standard name on your system.]) + fi + AC_MSG_RESULT(${ok}) + if test x"$ok" = xunknown; then + AC_MSG_WARN([we do not know how to create joinable pthreads]) + fi + + AC_MSG_CHECKING([if more special flags are required for pthreads]) + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + AC_MSG_RESULT(${flag}) + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) +else + PTHREAD_CC="$CC" +fi + +AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_CC) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) + : +else + acx_pthread_ok=no + $2 +fi +AC_LANG_RESTORE +])dnl ACX_PTHREAD + + + +AC_DEFUN([CHECK_ZLIB], +# +# Handle user hints +# +[AC_MSG_CHECKING(if zlib is wanted) +AC_ARG_WITH(zlib, +[ --with-zlib=DIR root directory path of zlib installation [defaults to + /usr/local or /usr if not found in /usr/local] + --without-zlib to disable zlib usage completely], +[if test "$withval" != no ; then + AC_MSG_RESULT(yes) + ZLIB_HOME="$withval" +else + AC_MSG_RESULT(no) +fi], [ +AC_MSG_RESULT(yes) +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi +]) +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) + AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) + AC_LANG_RESTORE + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + AC_CHECK_LIB(z, inflateEnd) + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + AC_MSG_RESULT(ok) + else + # + # If either header or library was not found, revert and bomb + # + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + AC_MSG_RESULT(failed) + fi +fi +]) diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/aclocal.m4 b/lib/beagle-3.0.3/examples/Coev/ipd/aclocal.m4 new file mode 100644 index 0000000..1c4e723 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/aclocal.m4 @@ -0,0 +1,7302 @@ +# generated automatically by aclocal 1.8.5 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- + +# serial 48 Debian 1.5.22-4 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# ------------------ +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# --------------------------------------------------------------------- +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ---------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +# set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# ------------------ +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# ------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) + +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.8.5])]) + +# AM_AUX_DIR_EXPAND + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 6 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]) +fi])]) + +# serial 7 -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 7 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 11 + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG(AMTAR, tar) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl + +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# -*- Autoconf -*- + + +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. + +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# +# Check to make sure that the build environment is sane. +# + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# AM_PROG_INSTALL_STRIP + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +m4_include([acinclude.m4]) diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/bootstrap b/lib/beagle-3.0.3/examples/Coev/ipd/bootstrap new file mode 100755 index 0000000..5972642 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/bootstrap @@ -0,0 +1,7 @@ +#!/bin/sh +set -x +autoheader +libtoolize --force --copy +aclocal -I config +automake --foreign --add-missing --force-missing --copy +autoconf diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/config/config.guess b/lib/beagle-3.0.3/examples/Coev/ipd/config/config.guess new file mode 100755 index 0000000..396482d --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/config/config.guess @@ -0,0 +1,1500 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-07-02' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + x86:Interix*:[3456]*) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T:Interix*:[3456]*) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/config/config.sub b/lib/beagle-3.0.3/examples/Coev/ipd/config/config.sub new file mode 100755 index 0000000..fab0aa3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/config/config.sub @@ -0,0 +1,1616 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-09-20' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/config/depcomp b/lib/beagle-3.0.3/examples/Coev/ipd/config/depcomp new file mode 100755 index 0000000..25bdb18 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/config/depcomp @@ -0,0 +1,526 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2004-04-25.13 + +# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit 0 + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit 0 + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # Dependencies are output in .lo.d with libtool 1.4. + # They are output in .o.d with libtool 1.5. + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.o.d" + tmpdepfile3="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + tmpdepfile3="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + elif test -f "$tmpdepfile2"; then + tmpdepfile="$tmpdepfile2" + else + tmpdepfile="$tmpdepfile3" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/config/install-sh b/lib/beagle-3.0.3/examples/Coev/ipd/config/install-sh new file mode 100755 index 0000000..e4160c9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/config/install-sh @@ -0,0 +1,325 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2004-04-01.17 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename= +transform_arg= +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= + +usage="Usage: $0 [OPTION]... SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 -d DIRECTORIES... + +In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. +In the second, create the directory path DIR. + +Options: +-b=TRANSFORMBASENAME +-c copy source (using $cpprog) instead of moving (using $mvprog). +-d create directories instead of installing files. +-g GROUP $chgrp installed files to GROUP. +-m MODE $chmod installed files to MODE. +-o USER $chown installed files to USER. +-s strip installed files (using $stripprog). +-t=TRANSFORM +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit 0;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + --version) echo "$0 $scriptversion"; exit 0;; + + *) # When -d is used, all remaining arguments are directories to create. + test -n "$dir_arg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + instcmd=: + chmodcmd= + else + instcmd=$mkdirprog + fi + else + # Waiting for this to be detected by the "$instcmd $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" || lasterr=$? + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; } + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $instcmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + # If we're going to rename the final executable, determine the name now. + if test -z "$transformarg"; then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename \ + | sed $transformarg`$transformbasename + fi + + # don't allow the sed command to completely eliminate the filename. + test -z "$dstfile" && dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Move or copy the file name to the temp name + $doit $instcmd "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $instcmd $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/config/ltmain.sh b/lib/beagle-3.0.3/examples/Coev/ipd/config/ltmain.sh new file mode 100644 index 0000000..c715b59 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/config/ltmain.sh @@ -0,0 +1,6871 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.22 Debian 1.5.22-4" +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + fi + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + else + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/config/missing b/lib/beagle-3.0.3/examples/Coev/ipd/config/missing new file mode 100755 index 0000000..e7ef83a --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/config/missing @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2003-09-02.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/configure b/lib/beagle-3.0.3/examples/Coev/ipd/configure new file mode 100755 index 0000000..6e9b57b --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/configure @@ -0,0 +1,22314 @@ +#! /bin/sh +# From configure.ac Revision: 1.4 . +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for Co-evolution iterated prisoner dilemma 3.0.0. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='Co-evolution iterated prisoner dilemma' +PACKAGE_TARNAME='ipd' +PACKAGE_VERSION='3.0.0' +PACKAGE_STRING='Co-evolution iterated prisoner dilemma 3.0.0' +PACKAGE_BUGREPORT='cgagne@gmail.com' + +ac_unique_file="ipd/IPDEvalOp.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +AMTAR +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +CXX +CXXFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CXX +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +LN_S +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +CC +CFLAGS +ac_ct_CC +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +GREP +EGREP +ECHO +AR +RANLIB +CPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +PTHREAD_CC +PTHREAD_LIBS +PTHREAD_CFLAGS +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +CPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures Co-evolution iterated prisoner dilemma 3.0.0 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/ipd] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of Co-evolution iterated prisoner dilemma 3.0.0:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] include additional configurations [automatic] + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + --with-pacc-util=DIR specify installation path of PACC::Util + --with-pacc-util-include=DIR specify exact dir for PACC::Util headers + --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries + --with-pacc-xml=DIR specify installation path of PACC::XML + --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers + --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries + --with-pacc-math=DIR specify installation path of PACC::Math + --with-pacc-math-include=DIR specify exact dir for PACC::Math headers + --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries + --with-pacc-threading=DIR specify installation path of PACC::Threading + --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers + --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries + --with-beagle=DIR specify installation path of Open BEAGLE + --with-beagle-include=DIR specify exact dir for Open BEAGLE headers + --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers + --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers + --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers + --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries + --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries + --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries + --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + CPP C preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +Co-evolution iterated prisoner dilemma configure 3.0.0 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by Co-evolution iterated prisoner dilemma $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in config "$srcdir"/config; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +am__api_version="1.8" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='ipd' + VERSION='3.0.0' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. + + + +ac_config_headers="$ac_config_headers ipd/config.hpp:ipd/config.hpp.in" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 +echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 +echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 5044 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7303: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7307: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7571: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7575: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7675: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:7679: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix3*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_CXX=yes + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_CXX='+b $libdir' + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix3*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix3*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +solaris*) + case $cc_basename in + CC*) + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + postdeps_CXX='-lCstd -lCrun' + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12408: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:12412: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12512: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:12516: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_CXX" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14073: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:14077: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14177: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:14181: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix3*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_F77=yes + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_F77" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16364: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16368: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16632: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16636: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16736: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:16740: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix3*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_GCJ=yes + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_GCJ" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_RC" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + +# +# Handle user hints +# +{ echo "$as_me:$LINENO: checking if zlib is wanted" >&5 +echo $ECHO_N "checking if zlib is wanted... $ECHO_C" >&6; } + +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then + withval=$with_zlib; if test "$withval" != no ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + ZLIB_HOME="$withval" +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +else + +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + zlib_cv_libz=yes +else + zlib_cv_libz=no +fi + + if test "${ac_cv_header_zlib_h+set}" = set; then + { echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking zlib.h usability" >&5 +echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking zlib.h presence" >&5 +echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_zlib_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } + +fi +if test $ac_cv_header_zlib_h = yes; then + zlib_cv_zlib_h=yes +else + zlib_cv_zlib_h=no +fi + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + +{ echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +fi + + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } + fi +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_join (); +int +main () +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 +echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6; } + ;; + + -*) + { echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 +echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + *) + { echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 +echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 +echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_JOINABLE +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_UNDETACHED +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +cat >>confdefs.h <<\_ACEOF +#define PTHREAD_CREATE_JOINABLE $ok +_ACEOF + + fi + { echo "$as_me:$LINENO: result: ${ok}" >&5 +echo "${ECHO_T}${ok}" >&6; } + if test x"$ok" = xunknown; then + { echo "$as_me:$LINENO: WARNING: we do not know how to create joinable pthreads" >&5 +echo "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 +echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { echo "$as_me:$LINENO: result: ${flag}" >&5 +echo "${ECHO_T}${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PTHREAD_CC="cc_r" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 +echo "${ECHO_T}$PTHREAD_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_PTHREAD 1 +_ACEOF + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + + + +# Check whether --with-pacc-util was given. +if test "${with_pacc_util+set}" = set; then + withval=$with_pacc_util; pacc_util_path="$withval" +else + pacc_util_path="../../../../PACC" +fi + + +# Check whether --with-pacc-util-include was given. +if test "${with_pacc_util_include+set}" = set; then + withval=$with_pacc_util_include; pacc_util_path_include="$withval" +fi + + +# Check whether --with-pacc-util-libdir was given. +if test "${with_pacc_util_libdir+set}" = set; then + withval=$with_pacc_util_libdir; pacc_util_path_libdir="$withval" +fi + +if test -z "$pacc_util_path"; then + pacc_util_path="../../../../PACC" +fi +if test -z "$pacc_util_path_include"; then + if test -z "../../../../PACC"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "../../../../PACC/Util"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="../../../../PACC/Util" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Util headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Util headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_util_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Util.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_util_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_util_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_util_include_test" >&5 +echo "${ECHO_T}$pacc_util_include_test" >&6; } + + + +# Check whether --with-pacc-xml was given. +if test "${with_pacc_xml+set}" = set; then + withval=$with_pacc_xml; pacc_xml_path="$withval" +else + pacc_xml_path="../../../../PACC" +fi + + +# Check whether --with-pacc-xml-include was given. +if test "${with_pacc_xml_include+set}" = set; then + withval=$with_pacc_xml_include; pacc_xml_path_include="$withval" +fi + + +# Check whether --with-pacc-xml-libdir was given. +if test "${with_pacc_xml_libdir+set}" = set; then + withval=$with_pacc_xml_libdir; pacc_xml_path_libdir="$withval" +fi + +if test -z "$pacc_xml_path"; then + pacc_xml_path="../../../../PACC" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "../../../../PACC"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "../../../../PACC/XML"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="../../../../PACC/XML" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::XML headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::XML headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_xml_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +XML.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_xml_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_xml_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_xml_include_test" >&5 +echo "${ECHO_T}$pacc_xml_include_test" >&6; } + + + +# Check whether --with-pacc-math was given. +if test "${with_pacc_math+set}" = set; then + withval=$with_pacc_math; pacc_math_path="$withval" +else + pacc_math_path="../../../../PACC" +fi + + +# Check whether --with-pacc-math-include was given. +if test "${with_pacc_math_include+set}" = set; then + withval=$with_pacc_math_include; pacc_math_path_include="$withval" +fi + + +# Check whether --with-pacc-math-libdir was given. +if test "${with_pacc_math_libdir+set}" = set; then + withval=$with_pacc_math_libdir; pacc_math_path_libdir="$withval" +fi + +if test -z "$pacc_math_path"; then + pacc_math_path="../../../../PACC" +fi +if test -z "$pacc_math_path_include"; then + if test -z "../../../../PACC"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "../../../../PACC/Math"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="../../../../PACC/Math" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Math headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Math headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_math_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Math.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_math_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_math_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_math_include_test" >&5 +echo "${ECHO_T}$pacc_math_include_test" >&6; } + + + +# Check whether --with-pacc-threading was given. +if test "${with_pacc_threading+set}" = set; then + withval=$with_pacc_threading; pacc_threading_path="$withval" +else + pacc_threading_path="../../../../PACC" +fi + + +# Check whether --with-pacc-threading-include was given. +if test "${with_pacc_threading_include+set}" = set; then + withval=$with_pacc_threading_include; pacc_threading_path_include="$withval" +fi + + +# Check whether --with-pacc-threading-libdir was given. +if test "${with_pacc_threading_libdir+set}" = set; then + withval=$with_pacc_threading_libdir; pacc_threading_path_libdir="$withval" +fi + +if test -z "$pacc_threading_path"; then + pacc_threading_path="../../../../PACC" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "../../../../PACC"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "../../../../PACC/Threading"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="../../../../PACC/Threading" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Threading headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Threading headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_threading_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Threading.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_threading_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_threading_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_threading_include_test" >&5 +echo "${ECHO_T}$pacc_threading_include_test" >&6; } + + + +# Check whether --enable-optimization was given. +if test "${enable_optimization+set}" = set; then + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` +fi + +# Check whether --with-beagle was given. +if test "${with_beagle+set}" = set; then + withval=$with_beagle; ob_beagle_path="$withval" +else + ob_beagle_path="../../../../beagle" +fi + + +# Check whether --with-beagle-include was given. +if test "${with_beagle_include+set}" = set; then + withval=$with_beagle_include; ob_beagle_path_include="$withval" +fi + + +# Check whether --with-beagle-GA-include was given. +if test "${with_beagle_GA_include+set}" = set; then + withval=$with_beagle_GA_include; ob_beagle_path_ga_include="$withval" +fi + + +# Check whether --with-beagle-GP-include was given. +if test "${with_beagle_GP_include+set}" = set; then + withval=$with_beagle_GP_include; ob_beagle_path_gp_include="$withval" +fi + + +# Check whether --with-beagle-Coev-include was given. +if test "${with_beagle_Coev_include+set}" = set; then + withval=$with_beagle_Coev_include; ob_beagle_path_coev_include="$withval" +fi + + +# Check whether --with-beagle-libdir was given. +if test "${with_beagle_libdir+set}" = set; then + withval=$with_beagle_libdir; ob_beagle_path_libdir="$withval" +fi + + +# Check whether --with-beagle-GA-libdir was given. +if test "${with_beagle_GA_libdir+set}" = set; then + withval=$with_beagle_GA_libdir; ob_beagle_path_ga_libdir="$withval" +fi + + +# Check whether --with-beagle-GP-libdir was given. +if test "${with_beagle_GP_libdir+set}" = set; then + withval=$with_beagle_GP_libdir; ob_beagle_path_gp_libdir="$withval" +fi + + +# Check whether --with-beagle-Coev-libdir was given. +if test "${with_beagle_Coev_libdir+set}" = set; then + withval=$with_beagle_Coev_libdir; ob_beagle_path_coev_libdir="$withval" +fi + +if test -z "$ob_beagle_path"; then + ob_beagle_path="../../../../beagle" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "../../../../beagle/include"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="../../../../beagle/include" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "../../../../beagle/src"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="../../../../beagle/src" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "../../../../beagle/GA/include"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="../../../../beagle/GA/include" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "../../../../beagle/GA/src"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="../../../../beagle/GA/src" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "../../../../beagle/GP/include"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="../../../../beagle/GP/include" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "../../../../beagle/GP/src"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="../../../../beagle/GP/src" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "../../../../beagle/Coev/include"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="../../../../beagle/Coev/include" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "../../../../beagle/Coev/src"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="../../../../beagle/Coev/src" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +{ echo "$as_me:$LINENO: checking if Open BEAGLE headers are correctly included" >&5 +echo $ECHO_N "checking if Open BEAGLE headers are correctly included... $ECHO_C" >&6; } +if test "${ob_beagle_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + ob_beagle_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ob_beagle_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ob_beagle_include_test" >&5 +echo "${ECHO_T}$ob_beagle_include_test" >&6; } + + +ac_config_files="$ac_config_files Makefile ipd/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by Co-evolution iterated prisoner dilemma $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +Co-evolution iterated prisoner dilemma config.status 3.0.0 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "ipd/config.hpp") CONFIG_HEADERS="$CONFIG_HEADERS ipd/config.hpp:ipd/config.hpp.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "ipd/Makefile") CONFIG_FILES="$CONFIG_FILES ipd/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +AMTAR!$AMTAR$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +LN_S!$LN_S$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CPP!$CPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +LIBTOOL!$LIBTOOL$ac_delim +PTHREAD_CC!$PTHREAD_CC$ac_delim +PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim +PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 6; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + + diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/configure.ac b/lib/beagle-3.0.3/examples/Coev/ipd/configure.ac new file mode 100644 index 0000000..6a8917a --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/configure.ac @@ -0,0 +1,51 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT([Co-evolution iterated prisoner dilemma],[3.0.0],[cgagne@gmail.com],[ipd]) +AC_CONFIG_SRCDIR([ipd/IPDEvalOp.cpp]) +AC_CONFIG_AUX_DIR([config]) +AC_REVISION([$Revision: 1.4 $]) +AM_INIT_AUTOMAKE +AM_CONFIG_HEADER([ipd/config.hpp:ipd/config.hpp.in]) + +dnl Checks for programs. +AC_PROG_AWK +AC_PROG_CXX +AC_PROG_CXXCPP +AC_PROG_LN_S +AC_PROG_LIBTOOL + +dnl Set language. +AC_LANG([C++]) + +dnl Checks for libraries. +AC_HEADER_STDC + +dnl Check for zlib support. +CHECK_ZLIB + +dnl Check for POSIX threads support. +ACX_PTHREAD +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +dnl Initialize PACC libraries with the given paths. +PACC_UTIL_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Util]) +PACC_XML_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/XML]) +PACC_MATH_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Math]) +PACC_THREADING_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Threading]) + +dnl Initialize Open BEAGLE with the given paths. +OB_BEAGLE_INIT([../../../../beagle], + [../../../../beagle/include], + [../../../../beagle/src], + [../../../../beagle/GA/include], + [../../../../beagle/GA/src], + [../../../../beagle/GP/include], + [../../../../beagle/GP/src], + [../../../../beagle/Coev/include], + [../../../../beagle/Coev/src]) + +dnl Create makefiles. +AC_CONFIG_FILES([Makefile ipd/Makefile]) +AC_OUTPUT + diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/ipd.kdevelop b/lib/beagle-3.0.3/examples/Coev/ipd/ipd.kdevelop new file mode 100644 index 0000000..448bf5a --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/ipd.kdevelop @@ -0,0 +1,202 @@ + + + + Christian Gagne + cgagne@gmail.com + 3.0.0 + KDevAutoProject + C++ + + C++ + Code + + + . + false + + + + + + src/ipd + default + + + ipd/ipd + true + executable + / + + true + + + + + + + + + + + kdevgccoptions + kdevgppoptions + kdevpgf77options + + + + + + + + + + + + + + false + 1 + false + + 0 + + + + + ada + ada_bugs_gcc + bash + bash_bugs + clanlib + w3c-dom-level2-html + fortran_bugs_gcc + gnome1 + gnustep + gtk + gtk_bugs + haskell + haskell_bugs_ghc + java_bugs_gcc + java_bugs_sun + kde2book + opengl + pascal_bugs_fp + php + php_bugs + perl + perl_bugs + python + python_bugs + qt-kdev3 + ruby + ruby_bugs + sdl + w3c-svg + sw + w3c-uaag10 + wxwidgets_bugs + + + Guide to the Qt Translation Tools + Qt Assistant Manual + Qt Designer Manual + Qt Reference Documentation + qmake User Guide + + + KDE Libraries (Doxygen) + + + + + + + + + + + + + + false + false + + + *.o,*.lo,CVS + false + false + + + + + + + + + + + ipd + ipd + IPD + Christian Gagne + cgagne@gmail.com + GPL + COPYING + 3.0.0 + /home/cgagne/tmp/ipd + + + + + true + true + true + false + true + true + true + 250 + 400 + 250 + + + + set + m_,_ + theValue + true + true + + + + + .hpp + .cpp + + + + + + + + + + + true + false + false + + + false + true + 10 + + + + true + true + true + true + -C + + diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/ipd/IPDEvalOp.cpp b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/IPDEvalOp.cpp new file mode 100644 index 0000000..49b292e --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/IPDEvalOp.cpp @@ -0,0 +1,164 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file IPDEvalOp.cpp + * \brief Implementation of the class IPDEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.14.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Coev.hpp" +#include "IPDEvalOp.hpp" + +#include +#include + +using namespace Beagle; + +/*! + * \brief Construct the individual evaluation operator for the IPD problem. + */ +IPDEvalOp::IPDEvalOp() : + Coev::EvaluationOp(2, "IPDEvalOp") +{ } + + +/*! + * \brief Evaluate fitness with the given evaluation sets. + * \param ioSets Sets to evaluate. + */ +void IPDEvalOp::evaluateSets(Beagle::Coev::EvaluationOp::EvalSetVector& ioSets) +{ + Beagle_AssertM(ioSets.size() == 2); + Beagle_AssertM(ioSets[0].mIndividuals.size() > 0); + Beagle_AssertM(ioSets[1].mIndividuals.size() > 0); + // Shuffle first population. + std::random_shuffle(ioSets[0].mIndividuals.begin(), ioSets[0].mIndividuals.end(), + ioSets[0].mContext->getSystem().getRandomizer()); + // Shuffle second population if its size is > than first population. + if(ioSets[1].mIndividuals.size() > ioSets[0].mIndividuals.size()) { + std::random_shuffle(ioSets[1].mIndividuals.begin(), ioSets[1].mIndividuals.end(), + ioSets[1].mContext->getSystem().getRandomizer()); + } + // Mate individuals one by one, until all individuals are evaluated. + unsigned int lMaxSize = maxOf(ioSets[0].mIndividuals.size(), ioSets[1].mIndividuals.size()); + for(unsigned int i=0; i(*inInd1[0]); + const GA::BitString& lBS2 = castObjectT(*inInd2[0]); + bool lMove1 = lBS1[0]; + bool lMove2 = lBS2[0]; + if(lMove1) { + if(lMove2) { // All cooperate + outScoreInd1 = 5; + outScoreInd2 = 5; + } + else { // 1: cooperate, 2: defect + outScoreInd1 = 0; + outScoreInd2 = 3; + } + } + else { + if(lMove2) { // 1: defect, 2: cooperate + outScoreInd1 = 3; + outScoreInd2 = 0; + } + else { // All defect + outScoreInd1 = 1; + outScoreInd2 = 1; + } + } + for(unsigned int i=0; i<7; ++i) { + bool lLastMove1 = lMove1; + if(lMove2) lMove1 = lBS1[1]; + else lMove1 = lBS1[2]; + if(lLastMove1) lMove2 = lBS2[1]; + else lMove2 = lBS2[2]; + if(lMove1) { + if(lMove2) { // All cooperate + outScoreInd1 += 5; + outScoreInd2 += 5; + } + else { // 1: cooperate, 2: defect + outScoreInd2 += 3; + } + } + else { + if(lMove2) { // 1: defect, 2: cooperate + outScoreInd1 += 3; + } + else { // All defect + outScoreInd1 += 1; + outScoreInd2 += 1; + } + } + } +} + + diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/ipd/IPDEvalOp.hpp b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/IPDEvalOp.hpp new file mode 100644 index 0000000..7466a5b --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/IPDEvalOp.hpp @@ -0,0 +1,100 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file IPDEvalOp.hpp + * \brief Definition of the type IPDEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.14.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +/*! + * \defgroup IPD Iterated Prisoner's Dilemma Co-evolution GA Example + * \brief Iterated Prisoner's Dilemma (ipd): Co-evolution GA example with Open BEAGLE. + * + * \par Objective + * Find solutions to the iterated prisoner's dilemma that get the highest reward for + * its actions. + * + * \par Representation + * Bit strings made of 3 bits. First bit is the action to take at the first turn + * (0=defect, 1=cooperate), the second bit is the action to make knowing that + * the companion has defected at the last turn, and the third bit is the action to + * do knowing that the companion has cooperate the last turn. + * + * \par Fitness + * For each turn, the individual receives points for its action. Each evaluation is done + * on a total of 8 turns (iterations). The points given for each turn are the following: + * - 0 points if the player cooperate and the companion defects. + * - 1 points if the player defects and the companion defects. + * - 3 points if the player defects and the companion cooperate. + * - 5 points if the player cooperate and the companion cooperate. + * + */ + +#ifndef IPDEvalOp_hpp +#define IPDEvalOp_hpp + +#include "beagle/Coev.hpp" +#include + + + +/*! + * \class IPDEvalOp IPDEvalOp.hpp "IPDEvalOp.hpp" + * \brief Co-evolution evaluation class operator for the iterated prisoner's dilemma. + * \ingroup IPD + */ +class IPDEvalOp : public Beagle::Coev::EvaluationOp { + +public: + + //! IPDEvalOp allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< IPDEvalOp handle type. + typedef Beagle::PointerT + Handle; + //!< IPDEvalOp bag type. + typedef Beagle::ContainerT + Bag; + + explicit IPDEvalOp(); + + virtual void evaluateSets(Beagle::Coev::EvaluationOp::EvalSetVector& ioSets); + virtual void makeSets(Beagle::Individual::Bag& ioIndivBag, + Beagle::Context::Handle ioContext); + +protected: + + void playIPD(const Beagle::Individual& inInd1, const Beagle::Individual& inInd2, + unsigned int& outScoreInd1, unsigned int& outScoreInd2) const; + +}; + +#endif // IPDEvalOp_hpp diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/ipd/IPDMain.cpp b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/IPDMain.cpp new file mode 100644 index 0000000..8e244bf --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/IPDMain.cpp @@ -0,0 +1,88 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file IPDMain.cpp + * \brief Implementation of the main routine for the iterated prisoner's dilemma problem. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Coev.hpp" +#include "IPDThread.hpp" + +#include +#include +#include +#include +#include + +using namespace std; +using namespace Beagle; + +/*! + * \brief Main routine for the iteration prisoner's dilemma problem. + * \param argc Number of arguments on the command-line. + * \param argv Arguments on the command-line. + * \return Return value of the program. + * \ingroup IPD + */ +int main(int argc, char** argv) { + try { + // Deduce configuration filename from argv[0]. + Beagle::string lConfigFilename1 = "ipd-thread1.conf"; + Beagle::string lConfigFilename2 = "ipd-thread2.conf"; + Beagle::string lProgramName = argv[0]; + Beagle::string::size_type lLibsPos = lProgramName.find(Beagle::string(".libs")); + Beagle::string::size_type lSlashPos = lProgramName.find_last_of(Beagle::string("/\\"), lLibsPos); + if(lSlashPos != Beagle::string::npos) { + lConfigFilename1.insert(0, lProgramName, 0, lSlashPos+1); + lConfigFilename2.insert(0, lProgramName, 0, lSlashPos+1); + } + // Creates and starts first thread/population for co-evolution. + std::cout << "Starting first thread for co-evolution with configuration file \""; + std::cout << lConfigFilename1 << "\"" << std::endl << std::flush; + IPDThread lThread1(lConfigFilename1); + lThread1.run(); + // Creates and starts second thread/population for co-evolution. + std::cout << "Starting second thread for co-evolution with configuration file \""; + std::cout << lConfigFilename2 << "\"" << std::endl << std::flush; + IPDThread lThread2(lConfigFilename2); + lThread2.run(); + // Wait for the threads to finish. + std::cout << "Waiting for the threads to finish" << std::endl << std::flush; + lThread1.wait(); + lThread2.wait(); + std::cout << "Threads finished, exiting" << std::endl << std::flush; + } + catch(std::exception& inException) { + std::cerr << "Standard exception catched:" << std::endl << std::flush; + std::cerr << inException.what() << std::endl << std::flush; + return 1; + } +} diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/ipd/IPDThread.cpp b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/IPDThread.cpp new file mode 100644 index 0000000..fdc4d21 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/IPDThread.cpp @@ -0,0 +1,90 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file IPDThread.cpp + * \brief Implementation of the class IPDThread. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.13.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/Coev.hpp" +#include "IPDThread.hpp" +#include "IPDEvalOp.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct an execution thread for the IPD problem. + * \param inConfigFilename Name of the configuration file to use. + */ +IPDThread::IPDThread(Beagle::string inConfigFilename) : + mConfigFilename(inConfigFilename) +{ } + + +/*! + * \brief Destruct an execution thread for the IPD problem. + */ +IPDThread::~IPDThread() +{ + wait(); +} + + +/*! + * \brief Evolver the IPD problem. + */ +void IPDThread::main() +{ + try { + // 1. Set encoding, that is a bitstring of 3 bits + const unsigned int lNumberOfBits=3; + // 2. Build the system. + System::Handle lSystem = new System; + // 3. Build evaluation operator. + IPDEvalOp::Handle lEvalOp = new IPDEvalOp; + // 4. Instanciate the vivarium with a bitstring allocator. + GA::BitString::Alloc::Handle lBSAlloc = new GA::BitString::Alloc; + Vivarium::Handle lVivarium = new Vivarium(lBSAlloc); + // 5. Initialize the evolver by reading configuration file. + GA::EvolverBitString::Handle lEvolver = new GA::EvolverBitString(lEvalOp, lNumberOfBits); + lEvolver->addOperator(new Coev::TermBroadcastOp); + lEvolver->initialize(lSystem, mConfigFilename); + // 6. Evolve vivarium. + lEvolver->evolve(lVivarium); + } + catch(Exception& inException) { + inException.terminate(std::cerr); + } + catch(std::exception& inException) { + std::cerr << "Standard exception catched:" << std::endl << std::flush; + std::cerr << inException.what() << std::endl << std::flush; + } +} diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/ipd/IPDThread.hpp b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/IPDThread.hpp new file mode 100644 index 0000000..28a10c0 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/IPDThread.hpp @@ -0,0 +1,64 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file IPDThread.hpp + * \brief Definition of the type IPDThread. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#ifndef IPDThread_hpp +#define IPDThread_hpp + +#include "beagle/Coev.hpp" +#include "Threading.hpp" +#include + + +/*! + * \class IPDThread IPDThread.hpp "IPDThread.hpp" + * \brief Co-evolution thread class for the iterated prisoner's dilemma. + * \ingroup IPD + */ +class IPDThread : public PACC::Threading::Thread { + +public: + IPDThread(Beagle::string inConfigFilename="ipd.conf"); + ~IPDThread(); + +protected: + + virtual void main(); + + Beagle::string mConfigFilename; //!< Configuration filename + +}; + +#endif // IPDThread_hpp + diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/ipd/Makefile.am b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/Makefile.am new file mode 100644 index 0000000..0ffa8ae --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/Makefile.am @@ -0,0 +1,3 @@ +bin_PROGRAMS = ipd +ipd_SOURCES = IPDEvalOp.hpp IPDEvalOp.cpp IPDMain.cpp IPDThread.hpp IPDThread.cpp + diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/ipd/Makefile.in b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/Makefile.in new file mode 100644 index 0000000..87a5aa0 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/Makefile.in @@ -0,0 +1,486 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +SOURCES = $(ipd_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +bin_PROGRAMS = ipd$(EXEEXT) +subdir = ipd +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.hpp.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = config.hpp +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_ipd_OBJECTS = IPDEvalOp.$(OBJEXT) IPDMain.$(OBJEXT) \ + IPDThread.$(OBJEXT) +ipd_OBJECTS = $(am_ipd_OBJECTS) +ipd_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/IPDEvalOp.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/IPDMain.Po ./$(DEPDIR)/IPDThread.Po +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(ipd_SOURCES) +DIST_SOURCES = $(ipd_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +ipd_SOURCES = IPDEvalOp.hpp IPDEvalOp.cpp IPDMain.cpp IPDThread.hpp IPDThread.cpp +all: config.hpp + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign ipd/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign ipd/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +config.hpp: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.hpp.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status ipd/config.hpp +$(srcdir)/config.hpp.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.hpp stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +ipd$(EXEEXT): $(ipd_OBJECTS) $(ipd_DEPENDENCIES) + @rm -f ipd$(EXEEXT) + $(CXXLINK) $(ipd_LDFLAGS) $(ipd_OBJECTS) $(ipd_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IPDEvalOp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IPDMain.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IPDThread.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) config.hpp +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/ipd/config.hpp.in b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/config.hpp.in new file mode 100644 index 0000000..2347b61 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/config.hpp.in @@ -0,0 +1,65 @@ +/* ipd/config.hpp.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `z' library (-lz). */ +#undef HAVE_LIBZ + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define if you have POSIX threads libraries and header files. */ +#undef HAVE_PTHREAD + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +#undef PTHREAD_CREATE_JOINABLE + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/ipd/ipd-thread1.conf b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/ipd-thread1.conf new file mode 100644 index 0000000..669222b --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/ipd-thread1.conf @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + ipd-thread1.log + ipd-thread1 + + diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/ipd/ipd-thread2.conf b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/ipd-thread2.conf new file mode 100644 index 0000000..03a2bf0 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/ipd/ipd-thread2.conf @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + ipd-thread2.log + ipd-thread2 + + diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/templates/cpp b/lib/beagle-3.0.3/examples/Coev/ipd/templates/cpp new file mode 100644 index 0000000..0f218fe --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/templates/cpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/%{FILE} + * \brief Implementation of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:41 $ + */ + diff --git a/lib/beagle-3.0.3/examples/Coev/ipd/templates/hpp b/lib/beagle-3.0.3/examples/Coev/ipd/templates/hpp new file mode 100644 index 0000000..b9505e1 --- /dev/null +++ b/lib/beagle-3.0.3/examples/Coev/ipd/templates/hpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/%{FILE} + * \brief Definition of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:41 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/AUTHORS b/lib/beagle-3.0.3/examples/GA/knapsack/AUTHORS new file mode 100644 index 0000000..f0c32cf --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/AUTHORS @@ -0,0 +1,2 @@ +Christian Gagne +Marc Parizeau diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/COPYING b/lib/beagle-3.0.3/examples/GA/knapsack/COPYING new file mode 100644 index 0000000..60549be --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/INSTALL b/lib/beagle-3.0.3/examples/GA/knapsack/INSTALL new file mode 100644 index 0000000..f7ebe98 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/INSTALL @@ -0,0 +1,81 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Multiobjective 0/1 Knapsack (knapsack): Multiobjective GA example + +Copyright (C) 2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON UNIX +========================================= + +To compile the knapsack example on Unix (once the Open BEAGLE framework is built), +'cd' to the main example directory, and type the following commands. + + ./configure + make clean + make + +Then, the binary will be in directory 'knapsack'. + +'configure' recognizes the following options to control how it +operates. + +'--enable-optimization' + Enable the 'optimization' mode by setting the optimization flags + of the compiler. Use this flag to compile a version of the examples + linked with an optimized version of the framework libraries. + +'--with-beagle=DIR' + Specify the installation path of Open BEAGLE. + +'--with-beagle-include=DIR' + Specify exact installation directory for Open BEAGLE headers. + +'--with-beagle-GA-include=DIR' + Specify exact installation directory for Open BEAGLE GA headers. + +'--with-beagle-GP-include=DIR' + Specify exact installation directory for Open BEAGLE GP headers. + +'--with-beagle-libdir=DIR' + Specify exact installation directory for Open BEAGLE libraries. + +'--with-beagle-GA-libdir=DIR' + Specify exact installation directory for Open BEAGLE GA libraries. + +'--with-beagle-GP-libdir=DIR' + Specify exact installation directory for Open BEAGLE GP libraries. + +'--cache-file=FILE' + Use and save the test results in file FILE instead of + './config.cache'. Set FILE to '/dev/null' to disable caching, for + debugging 'configure'. + +'--help' + Print a summary of the options to 'configure', and exit. + +'--quiet' +'--silent' +'-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to '/dev/null' (any error + messages will still be shown). + +'--version' + Print the version of Autoconf used to generate the 'configure' + script, and exit. + +'configure' also accepts some other, not widely useful, options. + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON MS VISUAL C++ .NET +======================================================= + +Go to folder 'MSVCPP' and open the solution file 'knapsack.sln' with +MS Visual Studio .NET. Then you can compile the example. The binary will +be in directory 'knapsack'. + diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/MSVCPP/knapsack.sln b/lib/beagle-3.0.3/examples/GA/knapsack/MSVCPP/knapsack.sln new file mode 100644 index 0000000..0c20dd1 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/MSVCPP/knapsack.sln @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "knapsack", "knapsack\knapsack.vcproj", "{653C3BFB-9212-44C4-A909-AC7A8B606C2F}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {653C3BFB-9212-44C4-A909-AC7A8B606C2F}.Debug.ActiveCfg = Debug|Win32 + {653C3BFB-9212-44C4-A909-AC7A8B606C2F}.Debug.Build.0 = Debug|Win32 + {653C3BFB-9212-44C4-A909-AC7A8B606C2F}.Release.ActiveCfg = Release|Win32 + {653C3BFB-9212-44C4-A909-AC7A8B606C2F}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/MSVCPP/knapsack.suo b/lib/beagle-3.0.3/examples/GA/knapsack/MSVCPP/knapsack.suo new file mode 100644 index 0000000..518cadf Binary files /dev/null and b/lib/beagle-3.0.3/examples/GA/knapsack/MSVCPP/knapsack.suo differ diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/MSVCPP/knapsack/knapsack.vcproj b/lib/beagle-3.0.3/examples/GA/knapsack/MSVCPP/knapsack/knapsack.vcproj new file mode 100644 index 0000000..1725792 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/MSVCPP/knapsack/knapsack.vcproj @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/Makefile.am b/lib/beagle-3.0.3/examples/GA/knapsack/Makefile.am new file mode 100644 index 0000000..ccd9d7c --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/Makefile.am @@ -0,0 +1,2 @@ +AUTOMAKE_OPTIONS=dist-zip +SUBDIRS = knapsack diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/Makefile.cvs b/lib/beagle-3.0.3/examples/GA/knapsack/Makefile.cvs new file mode 100644 index 0000000..925be9f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/Makefile.cvs @@ -0,0 +1,4 @@ +SHELL = /bin/sh + +all: + ${SHELL} ./bootstrap diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/Makefile.in b/lib/beagle-3.0.3/examples/GA/knapsack/Makefile.in new file mode 100644 index 0000000..fe6c8a4 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/Makefile.in @@ -0,0 +1,585 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \ + INSTALL config/config.guess config/config.sub config/depcomp \ + config/install-sh config/ltmain.sh config/missing \ + config/mkinstalldirs +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/knapsack/config.hpp +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AUTOMAKE_OPTIONS = dist-zip +SUBDIRS = knapsack +all: all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/config + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || mkdir "$(distdir)/$$subdir" \ + || exit 1; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="../$(top_distdir)" \ + distdir="../$(distdir)/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-libtool distclean-recursive \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/README b/lib/beagle-3.0.3/examples/GA/knapsack/README new file mode 100644 index 0000000..e3a5f54 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/README @@ -0,0 +1,38 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Multiobjective 0/1 Knapsack (knapsack): Multiobjective GA example + +Copyright (C) 2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +Getting started +=============== + + Example is compiled in binary 'knapsack'. Usage options is described by + executing it with command-line argument '-OBusage'. The detailed help can + also be obtained with argument '-OBhelp'. + +Objective +========= + + Find a combination of objects to put in a knapsack with a minimum weight but + a maximum value. + +Representation +============== + + Bit strings made of 24 bits, where the ith bit designate whether the ith + object is putted in the bag or not. The value and weight of each objects + is randomly generated at each runs. + +Fitness +======= + + First objective is the maximization of the knapsack's objects value. The + second objective is the maximization of (maximum knapsack weight - + objects weight), that is the minimization of the weight. + diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/acinclude.m4 b/lib/beagle-3.0.3/examples/GA/knapsack/acinclude.m4 new file mode 100644 index 0000000..9d8ff5a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/acinclude.m4 @@ -0,0 +1,603 @@ +dnl +dnl Initialize an autoconf project that use PACC::Math. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_MATH_INIT(PACC_MATH_PATH +dnl [, PACC_MATH_INCLUDEPATH] +dnl [, PACC_MATH_LIBPATH]) +dnl +AC_DEFUN([PACC_MATH_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-math, + [ --with-pacc-math=DIR specify installation path of PACC::Math], + [pacc_math_path="$withval"], + [pacc_math_path="$1"]) +AC_ARG_WITH(pacc-math-include, + [ --with-pacc-math-include=DIR specify exact dir for PACC::Math headers], + [pacc_math_path_include="$withval"]) +AC_ARG_WITH(pacc-math-libdir, + [ --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries], + [pacc_math_path_libdir="$withval"]) +if test -z "$pacc_math_path"; then + pacc_math_path="$1" +fi +if test -z "$pacc_math_path_include"; then + if test -z "$2"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="$2" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "$3"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Math headers are correctly included, +pacc_math_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Math.hpp], + pacc_math_include_test=yes, + pacc_math_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Threading. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_THREADING_INIT(PACC_THREADING_PATH +dnl [, PACC_THREADING_INCLUDEPATH] +dnl [, PACC_THREADING_LIBPATH]) +dnl +AC_DEFUN([PACC_THREADING_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-threading, + [ --with-pacc-threading=DIR specify installation path of PACC::Threading], + [pacc_threading_path="$withval"], + [pacc_threading_path="$1"]) +AC_ARG_WITH(pacc-threading-include, + [ --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers], + [pacc_threading_path_include="$withval"]) +AC_ARG_WITH(pacc-threading-libdir, + [ --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries], + [pacc_threading_path_libdir="$withval"]) +if test -z "$pacc_threading_path"; then + pacc_threading_path="$1" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "$2"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="$2" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "$3"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Threading headers are correctly included, +pacc_threading_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Threading.hpp], + pacc_threading_include_test=yes, + pacc_threading_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Util. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_UTIL_INIT(PACC_UTIL_PATH +dnl [, PACC_UTIL_INCLUDEPATH] +dnl [, PACC_UTIL_LIBPATH]) +dnl +AC_DEFUN([PACC_UTIL_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-util, + [ --with-pacc-util=DIR specify installation path of PACC::Util], + [pacc_util_path="$withval"], + [pacc_util_path="$1"]) +AC_ARG_WITH(pacc-util-include, + [ --with-pacc-util-include=DIR specify exact dir for PACC::Util headers], + [pacc_util_path_include="$withval"]) +AC_ARG_WITH(pacc-util-libdir, + [ --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries], + [pacc_util_path_libdir="$withval"]) +if test -z "$pacc_util_path"; then + pacc_util_path="$1" +fi +if test -z "$pacc_util_path_include"; then + if test -z "$2"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="$2" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "$3"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Util headers are correctly included, +pacc_util_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Util.hpp], + pacc_util_include_test=yes, + pacc_util_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::XML. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_XML_INIT(PACC_XML_PATH +dnl [, PACC_XML_INCLUDEPATH] +dnl [, PACC_XML_LIBPATH]) +dnl +AC_DEFUN([PACC_XML_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-xml, + [ --with-pacc-xml=DIR specify installation path of PACC::XML], + [pacc_xml_path="$withval"], + [pacc_xml_path="$1"]) +AC_ARG_WITH(pacc-xml-include, + [ --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers], + [pacc_xml_path_include="$withval"]) +AC_ARG_WITH(pacc-xml-libdir, + [ --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries], + [pacc_xml_path_libdir="$withval"]) +if test -z "$pacc_xml_path"; then + pacc_xml_path="$1" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "$2"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="$2" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "$3"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::XML headers are correctly included, +pacc_xml_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([XML.hpp], + pacc_xml_include_test=yes, + pacc_xml_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use Open BEAGLE. +dnl +dnl by Christian Gagne, 14/10/2002, modified 10/10/2004 and 09/08/2005 +dnl +dnl OB_BEAGLE_INIT(BEAGLE_PATH +dnl [, BEAGLE_INCLUDEPATH] +dnl [, BEAGLE_LIBPATH] +dnl [, BEAGLE_GA_INCLUDEPATH] +dnl [, BEAGLE_GA_LIBPATH] +dnl [, BEAGLE_GP_INCLUDEPATH] +dnl [, BEAGLE_GP_LIBPATH] +dnl [, BEAGLE_COEV_INCLUDEPATH] +dnl [, BEAGLE_COEV_LIBPATH]) +dnl +AC_DEFUN([OB_BEAGLE_INIT], +[ +dnl Open BEAGLE optimization mode option. +AC_ARG_ENABLE(optimization, + [ --enable-optimization enable optimization mode [default=no]], + [case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac], + enable_optimization=no) +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` +fi +dnl Set headers and libraries path correctly +AC_ARG_WITH(beagle, + [ --with-beagle=DIR specify installation path of Open BEAGLE], + [ob_beagle_path="$withval"], + [ob_beagle_path="$1"]) +AC_ARG_WITH(beagle-include, + [ --with-beagle-include=DIR specify exact dir for Open BEAGLE headers], + [ob_beagle_path_include="$withval"]) +AC_ARG_WITH(beagle-GA-include, + [ --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers], + [ob_beagle_path_ga_include="$withval"]) +AC_ARG_WITH(beagle-GP-include, + [ --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers], + [ob_beagle_path_gp_include="$withval"]) +AC_ARG_WITH(beagle-Coev-include, + [ --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers], + [ob_beagle_path_coev_include="$withval"]) +AC_ARG_WITH(beagle-libdir, + [ --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries], + [ob_beagle_path_libdir="$withval"]) +AC_ARG_WITH(beagle-GA-libdir, + [ --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries], + [ob_beagle_path_ga_libdir="$withval"]) +AC_ARG_WITH(beagle-GP-libdir, + [ --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries], + [ob_beagle_path_gp_libdir="$withval"]) +AC_ARG_WITH(beagle-Coev-libdir, + [ --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries], + [ob_beagle_path_coev_libdir="$withval"]) +if test -z "$ob_beagle_path"; then + ob_beagle_path="$1" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "$2"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="$2" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "$3"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="$3" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "$4"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="$4" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "$5"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="$5" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "$6"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="$6" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "$7"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="$7" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "$8"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="$8" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "$9"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="$9" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if Open BEAGLE headers are correctly included, +ob_beagle_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp], + ob_beagle_include_test=yes, + ob_beagle_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl *************************************************************************** +dnl *************************************************************************** +AC_DEFUN([ACX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_SAVE +AC_LANG_C +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) + AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) + AC_MSG_RESULT($acx_pthread_ok) + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $flag]) + PTHREAD_CFLAGS="$flag" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$flag]) + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + AC_TRY_LINK([#include ], + [pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], + [acx_pthread_ok=yes]) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + AC_MSG_RESULT($acx_pthread_ok) + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + AC_MSG_CHECKING([for joinable pthread attribute]) + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_JOINABLE;], + ok=PTHREAD_CREATE_JOINABLE, ok=unknown) + if test x"$ok" = xunknown; then + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_UNDETACHED;], + ok=PTHREAD_CREATE_UNDETACHED, ok=unknown) + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok, + [Define to the necessary symbol if this constant + uses a non-standard name on your system.]) + fi + AC_MSG_RESULT(${ok}) + if test x"$ok" = xunknown; then + AC_MSG_WARN([we do not know how to create joinable pthreads]) + fi + + AC_MSG_CHECKING([if more special flags are required for pthreads]) + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + AC_MSG_RESULT(${flag}) + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) +else + PTHREAD_CC="$CC" +fi + +AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_CC) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) + : +else + acx_pthread_ok=no + $2 +fi +AC_LANG_RESTORE +])dnl ACX_PTHREAD + + + +AC_DEFUN([CHECK_ZLIB], +# +# Handle user hints +# +[AC_MSG_CHECKING(if zlib is wanted) +AC_ARG_WITH(zlib, +[ --with-zlib=DIR root directory path of zlib installation [defaults to + /usr/local or /usr if not found in /usr/local] + --without-zlib to disable zlib usage completely], +[if test "$withval" != no ; then + AC_MSG_RESULT(yes) + ZLIB_HOME="$withval" +else + AC_MSG_RESULT(no) +fi], [ +AC_MSG_RESULT(yes) +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi +]) +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) + AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) + AC_LANG_RESTORE + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + AC_CHECK_LIB(z, inflateEnd) + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + AC_MSG_RESULT(ok) + else + # + # If either header or library was not found, revert and bomb + # + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + AC_MSG_RESULT(failed) + fi +fi +]) diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/aclocal.m4 b/lib/beagle-3.0.3/examples/GA/knapsack/aclocal.m4 new file mode 100644 index 0000000..1c4e723 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/aclocal.m4 @@ -0,0 +1,7302 @@ +# generated automatically by aclocal 1.8.5 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- + +# serial 48 Debian 1.5.22-4 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# ------------------ +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# --------------------------------------------------------------------- +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ---------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +# set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# ------------------ +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# ------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) + +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.8.5])]) + +# AM_AUX_DIR_EXPAND + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 6 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]) +fi])]) + +# serial 7 -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 7 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 11 + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG(AMTAR, tar) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl + +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# -*- Autoconf -*- + + +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. + +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# +# Check to make sure that the build environment is sane. +# + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# AM_PROG_INSTALL_STRIP + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +m4_include([acinclude.m4]) diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/bootstrap b/lib/beagle-3.0.3/examples/GA/knapsack/bootstrap new file mode 100755 index 0000000..5972642 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/bootstrap @@ -0,0 +1,7 @@ +#!/bin/sh +set -x +autoheader +libtoolize --force --copy +aclocal -I config +automake --foreign --add-missing --force-missing --copy +autoconf diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/config/config.guess b/lib/beagle-3.0.3/examples/GA/knapsack/config/config.guess new file mode 100755 index 0000000..396482d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/config/config.guess @@ -0,0 +1,1500 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-07-02' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + x86:Interix*:[3456]*) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T:Interix*:[3456]*) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/config/config.sub b/lib/beagle-3.0.3/examples/GA/knapsack/config/config.sub new file mode 100755 index 0000000..fab0aa3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/config/config.sub @@ -0,0 +1,1616 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-09-20' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/config/depcomp b/lib/beagle-3.0.3/examples/GA/knapsack/config/depcomp new file mode 100755 index 0000000..25bdb18 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/config/depcomp @@ -0,0 +1,526 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2004-04-25.13 + +# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit 0 + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit 0 + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # Dependencies are output in .lo.d with libtool 1.4. + # They are output in .o.d with libtool 1.5. + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.o.d" + tmpdepfile3="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + tmpdepfile3="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + elif test -f "$tmpdepfile2"; then + tmpdepfile="$tmpdepfile2" + else + tmpdepfile="$tmpdepfile3" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/config/install-sh b/lib/beagle-3.0.3/examples/GA/knapsack/config/install-sh new file mode 100755 index 0000000..e4160c9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/config/install-sh @@ -0,0 +1,325 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2004-04-01.17 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename= +transform_arg= +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= + +usage="Usage: $0 [OPTION]... SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 -d DIRECTORIES... + +In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. +In the second, create the directory path DIR. + +Options: +-b=TRANSFORMBASENAME +-c copy source (using $cpprog) instead of moving (using $mvprog). +-d create directories instead of installing files. +-g GROUP $chgrp installed files to GROUP. +-m MODE $chmod installed files to MODE. +-o USER $chown installed files to USER. +-s strip installed files (using $stripprog). +-t=TRANSFORM +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit 0;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + --version) echo "$0 $scriptversion"; exit 0;; + + *) # When -d is used, all remaining arguments are directories to create. + test -n "$dir_arg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + instcmd=: + chmodcmd= + else + instcmd=$mkdirprog + fi + else + # Waiting for this to be detected by the "$instcmd $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" || lasterr=$? + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; } + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $instcmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + # If we're going to rename the final executable, determine the name now. + if test -z "$transformarg"; then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename \ + | sed $transformarg`$transformbasename + fi + + # don't allow the sed command to completely eliminate the filename. + test -z "$dstfile" && dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Move or copy the file name to the temp name + $doit $instcmd "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $instcmd $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/config/ltmain.sh b/lib/beagle-3.0.3/examples/GA/knapsack/config/ltmain.sh new file mode 100644 index 0000000..c715b59 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/config/ltmain.sh @@ -0,0 +1,6871 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.22 Debian 1.5.22-4" +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + fi + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + else + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/config/missing b/lib/beagle-3.0.3/examples/GA/knapsack/config/missing new file mode 100755 index 0000000..e7ef83a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/config/missing @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2003-09-02.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/configure b/lib/beagle-3.0.3/examples/GA/knapsack/configure new file mode 100755 index 0000000..10174b6 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/configure @@ -0,0 +1,22313 @@ +#! /bin/sh +# From configure.ac Revision: 1.4 . +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for GA multiobjective knapsack example 3.0.0. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='GA multiobjective knapsack example' +PACKAGE_TARNAME='knapsack' +PACKAGE_VERSION='3.0.0' +PACKAGE_STRING='GA multiobjective knapsack example 3.0.0' +PACKAGE_BUGREPORT='cgagne@gmail.com' + +ac_unique_file="knapsack/KnapsackEvalOp.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +AMTAR +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +CXX +CXXFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CXX +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +LN_S +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +CC +CFLAGS +ac_ct_CC +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +GREP +EGREP +ECHO +AR +RANLIB +CPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +PTHREAD_CC +PTHREAD_LIBS +PTHREAD_CFLAGS +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +CPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures GA multiobjective knapsack example 3.0.0 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/knapsack] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of GA multiobjective knapsack example 3.0.0:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] include additional configurations [automatic] + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + --with-pacc-util=DIR specify installation path of PACC::Util + --with-pacc-util-include=DIR specify exact dir for PACC::Util headers + --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries + --with-pacc-xml=DIR specify installation path of PACC::XML + --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers + --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries + --with-pacc-math=DIR specify installation path of PACC::Math + --with-pacc-math-include=DIR specify exact dir for PACC::Math headers + --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries + --with-pacc-threading=DIR specify installation path of PACC::Threading + --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers + --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries + --with-beagle=DIR specify installation path of Open BEAGLE + --with-beagle-include=DIR specify exact dir for Open BEAGLE headers + --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers + --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers + --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers + --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries + --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries + --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries + --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + CPP C preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +GA multiobjective knapsack example configure 3.0.0 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by GA multiobjective knapsack example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in config "$srcdir"/config; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +am__api_version="1.8" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='knapsack' + VERSION='3.0.0' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. + + + +ac_config_headers="$ac_config_headers knapsack/config.hpp:knapsack/config.hpp.in" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 +echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 +echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 5044 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7303: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7307: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7571: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7575: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7675: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:7679: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix3*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_CXX=yes + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_CXX='+b $libdir' + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix3*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix3*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +solaris*) + case $cc_basename in + CC*) + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + postdeps_CXX='-lCstd -lCrun' + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12408: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:12412: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12512: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:12516: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_CXX" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14073: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:14077: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14177: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:14181: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix3*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_F77=yes + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_F77" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16364: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16368: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16632: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16636: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16736: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:16740: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix3*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_GCJ=yes + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_GCJ" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_RC" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + +# +# Handle user hints +# +{ echo "$as_me:$LINENO: checking if zlib is wanted" >&5 +echo $ECHO_N "checking if zlib is wanted... $ECHO_C" >&6; } + +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then + withval=$with_zlib; if test "$withval" != no ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + ZLIB_HOME="$withval" +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +else + +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + zlib_cv_libz=yes +else + zlib_cv_libz=no +fi + + if test "${ac_cv_header_zlib_h+set}" = set; then + { echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking zlib.h usability" >&5 +echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking zlib.h presence" >&5 +echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_zlib_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } + +fi +if test $ac_cv_header_zlib_h = yes; then + zlib_cv_zlib_h=yes +else + zlib_cv_zlib_h=no +fi + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + +{ echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +fi + + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } + fi +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_join (); +int +main () +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 +echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6; } + ;; + + -*) + { echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 +echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + *) + { echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 +echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 +echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_JOINABLE +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_UNDETACHED +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +cat >>confdefs.h <<\_ACEOF +#define PTHREAD_CREATE_JOINABLE $ok +_ACEOF + + fi + { echo "$as_me:$LINENO: result: ${ok}" >&5 +echo "${ECHO_T}${ok}" >&6; } + if test x"$ok" = xunknown; then + { echo "$as_me:$LINENO: WARNING: we do not know how to create joinable pthreads" >&5 +echo "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 +echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { echo "$as_me:$LINENO: result: ${flag}" >&5 +echo "${ECHO_T}${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PTHREAD_CC="cc_r" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 +echo "${ECHO_T}$PTHREAD_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_PTHREAD 1 +_ACEOF + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + + + +# Check whether --with-pacc-util was given. +if test "${with_pacc_util+set}" = set; then + withval=$with_pacc_util; pacc_util_path="$withval" +else + pacc_util_path="../../../../PACC" +fi + + +# Check whether --with-pacc-util-include was given. +if test "${with_pacc_util_include+set}" = set; then + withval=$with_pacc_util_include; pacc_util_path_include="$withval" +fi + + +# Check whether --with-pacc-util-libdir was given. +if test "${with_pacc_util_libdir+set}" = set; then + withval=$with_pacc_util_libdir; pacc_util_path_libdir="$withval" +fi + +if test -z "$pacc_util_path"; then + pacc_util_path="../../../../PACC" +fi +if test -z "$pacc_util_path_include"; then + if test -z "../../../../PACC"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "../../../../PACC/Util"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="../../../../PACC/Util" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Util headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Util headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_util_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Util.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_util_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_util_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_util_include_test" >&5 +echo "${ECHO_T}$pacc_util_include_test" >&6; } + + + +# Check whether --with-pacc-xml was given. +if test "${with_pacc_xml+set}" = set; then + withval=$with_pacc_xml; pacc_xml_path="$withval" +else + pacc_xml_path="../../../../PACC" +fi + + +# Check whether --with-pacc-xml-include was given. +if test "${with_pacc_xml_include+set}" = set; then + withval=$with_pacc_xml_include; pacc_xml_path_include="$withval" +fi + + +# Check whether --with-pacc-xml-libdir was given. +if test "${with_pacc_xml_libdir+set}" = set; then + withval=$with_pacc_xml_libdir; pacc_xml_path_libdir="$withval" +fi + +if test -z "$pacc_xml_path"; then + pacc_xml_path="../../../../PACC" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "../../../../PACC"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "../../../../PACC/XML"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="../../../../PACC/XML" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::XML headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::XML headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_xml_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +XML.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_xml_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_xml_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_xml_include_test" >&5 +echo "${ECHO_T}$pacc_xml_include_test" >&6; } + + + +# Check whether --with-pacc-math was given. +if test "${with_pacc_math+set}" = set; then + withval=$with_pacc_math; pacc_math_path="$withval" +else + pacc_math_path="../../../../PACC" +fi + + +# Check whether --with-pacc-math-include was given. +if test "${with_pacc_math_include+set}" = set; then + withval=$with_pacc_math_include; pacc_math_path_include="$withval" +fi + + +# Check whether --with-pacc-math-libdir was given. +if test "${with_pacc_math_libdir+set}" = set; then + withval=$with_pacc_math_libdir; pacc_math_path_libdir="$withval" +fi + +if test -z "$pacc_math_path"; then + pacc_math_path="../../../../PACC" +fi +if test -z "$pacc_math_path_include"; then + if test -z "../../../../PACC"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "../../../../PACC/Math"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="../../../../PACC/Math" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Math headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Math headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_math_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Math.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_math_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_math_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_math_include_test" >&5 +echo "${ECHO_T}$pacc_math_include_test" >&6; } + + + +# Check whether --with-pacc-threading was given. +if test "${with_pacc_threading+set}" = set; then + withval=$with_pacc_threading; pacc_threading_path="$withval" +else + pacc_threading_path="../../../../PACC" +fi + + +# Check whether --with-pacc-threading-include was given. +if test "${with_pacc_threading_include+set}" = set; then + withval=$with_pacc_threading_include; pacc_threading_path_include="$withval" +fi + + +# Check whether --with-pacc-threading-libdir was given. +if test "${with_pacc_threading_libdir+set}" = set; then + withval=$with_pacc_threading_libdir; pacc_threading_path_libdir="$withval" +fi + +if test -z "$pacc_threading_path"; then + pacc_threading_path="../../../../PACC" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "../../../../PACC"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "../../../../PACC/Threading"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="../../../../PACC/Threading" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Threading headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Threading headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_threading_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Threading.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_threading_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_threading_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_threading_include_test" >&5 +echo "${ECHO_T}$pacc_threading_include_test" >&6; } + + + +# Check whether --enable-optimization was given. +if test "${enable_optimization+set}" = set; then + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` +fi + +# Check whether --with-beagle was given. +if test "${with_beagle+set}" = set; then + withval=$with_beagle; ob_beagle_path="$withval" +else + ob_beagle_path="../../../../beagle" +fi + + +# Check whether --with-beagle-include was given. +if test "${with_beagle_include+set}" = set; then + withval=$with_beagle_include; ob_beagle_path_include="$withval" +fi + + +# Check whether --with-beagle-GA-include was given. +if test "${with_beagle_GA_include+set}" = set; then + withval=$with_beagle_GA_include; ob_beagle_path_ga_include="$withval" +fi + + +# Check whether --with-beagle-GP-include was given. +if test "${with_beagle_GP_include+set}" = set; then + withval=$with_beagle_GP_include; ob_beagle_path_gp_include="$withval" +fi + + +# Check whether --with-beagle-Coev-include was given. +if test "${with_beagle_Coev_include+set}" = set; then + withval=$with_beagle_Coev_include; ob_beagle_path_coev_include="$withval" +fi + + +# Check whether --with-beagle-libdir was given. +if test "${with_beagle_libdir+set}" = set; then + withval=$with_beagle_libdir; ob_beagle_path_libdir="$withval" +fi + + +# Check whether --with-beagle-GA-libdir was given. +if test "${with_beagle_GA_libdir+set}" = set; then + withval=$with_beagle_GA_libdir; ob_beagle_path_ga_libdir="$withval" +fi + + +# Check whether --with-beagle-GP-libdir was given. +if test "${with_beagle_GP_libdir+set}" = set; then + withval=$with_beagle_GP_libdir; ob_beagle_path_gp_libdir="$withval" +fi + + +# Check whether --with-beagle-Coev-libdir was given. +if test "${with_beagle_Coev_libdir+set}" = set; then + withval=$with_beagle_Coev_libdir; ob_beagle_path_coev_libdir="$withval" +fi + +if test -z "$ob_beagle_path"; then + ob_beagle_path="../../../../beagle" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "../../../../beagle/include"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="../../../../beagle/include" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "../../../../beagle/src"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="../../../../beagle/src" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "../../../../beagle/GA/include"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="../../../../beagle/GA/include" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "../../../../beagle/GA/src"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="../../../../beagle/GA/src" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "../../../../beagle/GP/include"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="../../../../beagle/GP/include" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "../../../../beagle/GP/src"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="../../../../beagle/GP/src" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "../../../../beagle/Coev/include"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="../../../../beagle/Coev/include" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "../../../../beagle/Coev/src"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="../../../../beagle/Coev/src" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +{ echo "$as_me:$LINENO: checking if Open BEAGLE headers are correctly included" >&5 +echo $ECHO_N "checking if Open BEAGLE headers are correctly included... $ECHO_C" >&6; } +if test "${ob_beagle_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + ob_beagle_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ob_beagle_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ob_beagle_include_test" >&5 +echo "${ECHO_T}$ob_beagle_include_test" >&6; } + + +ac_config_files="$ac_config_files Makefile knapsack/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by GA multiobjective knapsack example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +GA multiobjective knapsack example config.status 3.0.0 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "knapsack/config.hpp") CONFIG_HEADERS="$CONFIG_HEADERS knapsack/config.hpp:knapsack/config.hpp.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "knapsack/Makefile") CONFIG_FILES="$CONFIG_FILES knapsack/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +AMTAR!$AMTAR$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +LN_S!$LN_S$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CPP!$CPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +LIBTOOL!$LIBTOOL$ac_delim +PTHREAD_CC!$PTHREAD_CC$ac_delim +PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim +PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 6; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/configure.ac b/lib/beagle-3.0.3/examples/GA/knapsack/configure.ac new file mode 100644 index 0000000..c6b2697 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/configure.ac @@ -0,0 +1,50 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT([GA multiobjective knapsack example],[3.0.0],[cgagne@gmail.com],[knapsack]) +AC_CONFIG_SRCDIR([knapsack/KnapsackEvalOp.cpp]) +AC_CONFIG_AUX_DIR([config]) +AC_REVISION([$Revision: 1.4 $]) +AM_INIT_AUTOMAKE +AM_CONFIG_HEADER([knapsack/config.hpp:knapsack/config.hpp.in]) + +dnl Checks for programs. +AC_PROG_AWK +AC_PROG_CXX +AC_PROG_CXXCPP +AC_PROG_LN_S +AC_PROG_LIBTOOL + +dnl Set language. +AC_LANG([C++]) + +dnl Checks for libraries. +AC_HEADER_STDC + +dnl Check for zlib support. +CHECK_ZLIB + +dnl Check for POSIX threads support. +ACX_PTHREAD +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +dnl Initialize PACC libraries with the given paths. +PACC_UTIL_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Util]) +PACC_XML_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/XML]) +PACC_MATH_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Math]) +PACC_THREADING_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Threading]) + +dnl Initialize Open BEAGLE with the given paths. +OB_BEAGLE_INIT([../../../../beagle], + [../../../../beagle/include], + [../../../../beagle/src], + [../../../../beagle/GA/include], + [../../../../beagle/GA/src], + [../../../../beagle/GP/include], + [../../../../beagle/GP/src], + [../../../../beagle/Coev/include], + [../../../../beagle/Coev/src]) + +dnl Create makefiles. +AC_CONFIG_FILES([Makefile knapsack/Makefile]) +AC_OUTPUT diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/knapsack.kdevelop b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack.kdevelop new file mode 100644 index 0000000..5d7ab52 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack.kdevelop @@ -0,0 +1,202 @@ + + + + Christian Gagne + cgagne@gmail.com + 3.0.0 + KDevAutoProject + C++ + + C++ + Code + + + . + false + + + + + + src/knapsack + default + + + knapsack/knapsack + true + executable + / + + true + + + + + + + + + + + kdevgccoptions + kdevgppoptions + kdevpgf77options + + + + + + + + + + + + + + false + 1 + false + + 0 + + + + + ada + ada_bugs_gcc + bash + bash_bugs + clanlib + w3c-dom-level2-html + fortran_bugs_gcc + gnome1 + gnustep + gtk + gtk_bugs + haskell + haskell_bugs_ghc + java_bugs_gcc + java_bugs_sun + kde2book + opengl + pascal_bugs_fp + php + php_bugs + perl + perl_bugs + python + python_bugs + qt-kdev3 + ruby + ruby_bugs + sdl + w3c-svg + sw + w3c-uaag10 + wxwidgets_bugs + + + Guide to the Qt Translation Tools + Qt Assistant Manual + Qt Designer Manual + Qt Reference Documentation + qmake User Guide + + + KDE Libraries (Doxygen) + + + + + + + + + + + + + + false + false + + + *.o,*.lo,CVS + false + false + + + + + + + + + + + knapsack + knapsack + KNAPSACK + Christian Gagne + cgagne@gmail.com + GPL + COPYING + 3.0.0 + /home/cgagne/tmp/knapsack + + + + + true + true + true + false + true + true + true + 250 + 400 + 250 + + + + set + m_,_ + theValue + true + true + + + + + .hpp + .cpp + + + + + + + + + + + true + false + false + + + false + true + 10 + + + + true + true + true + true + -C + + diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/KnapsackEvalOp.cpp b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/KnapsackEvalOp.cpp new file mode 100644 index 0000000..11a3d6b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/KnapsackEvalOp.cpp @@ -0,0 +1,185 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file KnapsackEvalOp.cpp + * \brief Implementation of the class KnapsackEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.12.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/GA.hpp" +#include "KnapsackEvalOp.hpp" +#include + +#define BEAGLE_KNAPSACK_NBOBJECTS 24 + + +using namespace Beagle; + +/*! + * \brief Construct the individual evaluation operator for the Knapsack problem. + */ +KnapsackEvalOp::KnapsackEvalOp() : + EvaluationOp("KnapsackEvalOp"), + mSumWeight(0.0) +{ } + + +/*! + * \brief Evaluate the fitness of the given individual. + * \param inIndividual Current individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness value of the individual. + */ +Fitness::Handle KnapsackEvalOp::evaluate(Individual& inIndividual, Context& ioContext) +{ + Beagle_AssertM(inIndividual.size() == 1); + GA::BitString::Handle lBitString = castHandleT(inIndividual[0]); + float lValue = 0.0; + float lWeight = 0.0; + for(unsigned int i=0; isize(); ++i) { + if((*lBitString)[i]) { + lValue += (*mObjectValues)[i]; + lWeight += (*mObjectWeights)[i]; + } + } + FitnessMultiObj::Handle lFitness = new FitnessMultiObj(2); + (*lFitness)[0] = lValue; + (*lFitness)[1] = (mSumWeight - lWeight); + return lFitness; +} + + +/*! + * \brief Initialize knapsack evaluation operator. + * \param ioSystem Evolutionary system. + */ +void KnapsackEvalOp::initialize(System& ioSystem) +{ + Beagle::EvaluationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ks.object.values")) { + mObjectValues = castHandleT(ioSystem.getRegister().getEntry("ks.object.values")); + } else { + mObjectValues = new Vector(0); + Beagle::string lLongDescrip("Values of the available objects that can be put into the knapsack. "); + lLongDescrip += "If the object values is not specified, it will be randomly generated "; + lLongDescrip += "at the initialization time."; + Register::Description lDescription( + "Knapsack object values", + "Vector", + "", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ks.object.values", mObjectValues, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ks.object.weights")) { + mObjectWeights = castHandleT(ioSystem.getRegister().getEntry("ks.object.weights")); + } else { + mObjectWeights = new Vector(0); + Beagle::string lLongDescrip("Weights of the available objects that can be put into the knapsack. "); + lLongDescrip += "If the object weights is not specified, it will be randomly generated "; + lLongDescrip += "at the initialization time."; + Register::Description lDescription( + "Knapsack object weights", + "Vector", + "", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ks.object.weights", mObjectWeights, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.init.vectorsize")) { + mIntVectorSize = castHandleT(ioSystem.getRegister()["ga.init.vectorsize"]); + } else { + mIntVectorSize = new UInt(0); + Register::Description lDescription( + "Initial integer vectors sizes", + "UInt", + "0", + "Integer vector size of initialized individuals." + ); + ioSystem.getRegister().addEntry("ga.init.vectorsize", mIntVectorSize, lDescription); + } +} + + +/*! + * \brief Post-initialize knapsack evaluation operator by generating object's value/weight. + * \param ioSystem Evolutionary system. + */ +void KnapsackEvalOp::postInit(System& ioSystem) +{ + Beagle::EvaluationOp::postInit(ioSystem); + + float lSumValue = 0.0; + if((mObjectValues->size()==0) && (mObjectWeights->size()==0)) { + mObjectValues->resize(BEAGLE_KNAPSACK_NBOBJECTS); + mObjectWeights->resize(BEAGLE_KNAPSACK_NBOBJECTS); + mSumWeight = 0.0; + for(unsigned int i=0; isize() != mObjectWeights->size()) { + std::ostringstream lOSS; + lOSS << "Objects value and weight of evaluation operator (registered as "; + lOSS << "'ks.objects.value' and 'ks.objects.weight' parameters) must be of the same size!"; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + else { + mSumWeight = 0.0; + for(unsigned int i=0; isize(); ++i) { + lSumValue += (*mObjectValues)[i]; + mSumWeight += (*mObjectWeights)[i]; + } + } + + mIntVectorSize->getWrappedValue() = mObjectValues->size(); + + Beagle_LogInfoM( + ioSystem.getLogger(), + "evaluation", "KnapsackEvalOp", + Beagle::string("Sum of possible knapsack value is ")+dbl2str(lSumValue)+ + Beagle::string(", while sum of possible knapsack weight is ")+dbl2str(mSumWeight) + ); + Beagle_LogInfoM( + ioSystem.getLogger(), + "evaluation", "KnapsackEvalOp", + Beagle::string("Objects value that can be put knapsack: ")+mObjectValues->serialize() + ); + Beagle_LogInfoM( + ioSystem.getLogger(), + "evaluation", "KnapsackEvalOp", + Beagle::string("Objects weight that can be put knapsack: ")+mObjectWeights->serialize() + ); +} + diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/KnapsackEvalOp.hpp b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/KnapsackEvalOp.hpp new file mode 100644 index 0000000..84e17c1 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/KnapsackEvalOp.hpp @@ -0,0 +1,96 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file KnapsackEvalOp.hpp + * \brief Definition of the type KnapsackEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +/*! + * \defgroup Knapsack Multiobjective 0/1 Knapsack Example + * \brief Multiobjective 0/1 Knapsack (knapsack): Multiobjective GA example + * + * \par Objective + * Find a combination of objects to put in a knapsack with a minimum weight but a maximum value. + * + * \par Representation + * Bit strings made of 24 bits, where the ith bit designate whether the ith object is putted in the + * bag or not. The value and weight of each objects is randomly generated at each runs. + * + * \par Fitness + * First objective is the maximization of the knapsack's objects value. The second objective + * is the maximization of (maximum knapsack weight - objects weight), that is the minimization of + * the weight. + * + */ + +#ifndef KnapsackEvalOp_hpp +#define KnapsackEvalOp_hpp + +#include "beagle/GA.hpp" + +#include + + +/*! + * \class KnapsackEvalOp KnapsackEvalOp.hpp "KnapsackEvalOp.hpp" + * \brief The individual evaluation class operator for the Knapsack problem. + * \ingroup Knapsack + */ +class KnapsackEvalOp : public Beagle::EvaluationOp { + +public: + + //! KnapsackEvalOp allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< KnapsackEvalOp handle type. + typedef Beagle::PointerT + Handle; + //!< KnapsackEvalOp bag type. + typedef Beagle::ContainerT + Bag; + + explicit KnapsackEvalOp(); + + virtual Beagle::Fitness::Handle evaluate(Beagle::Individual& inIndividual, + Beagle::Context& ioContext); + virtual void initialize(Beagle::System& ioSystem); + virtual void postInit(Beagle::System& ioSystem); + +protected: + Beagle::Vector::Handle mObjectValues; //!< Knapsack objects value. + Beagle::Vector::Handle mObjectWeights; //!< Knapsack objects weight. + Beagle::UInt::Handle mIntVectorSize; //!< Individual integer vectors size. + float mSumWeight; //!< Sum of objects weight that can be in knapsack. + +}; + +#endif // KnapsackEvalOp_hpp diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/KnapsackMain.cpp b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/KnapsackMain.cpp new file mode 100644 index 0000000..7144ac7 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/KnapsackMain.cpp @@ -0,0 +1,81 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file KnapsackMain.cpp + * \brief Implementation of the main routine for the Knapsack problem. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/GA.hpp" +#include "KnapsackEvalOp.hpp" + +#include +#include +#include +#include +#include + +using namespace std; +using namespace Beagle; + +/*! + * \brief Main routine for the Knapsack problem. + * \param argc Number of arguments on the command-line. + * \param argv Arguments on the command-line. + * \return Return value of the program. + * \ingroup Knapsack + */ +int main(int argc, char** argv) { + try { + // 1. Build the system. + System::Handle lSystem = new System; + // 2. Build evaluation operator. + KnapsackEvalOp::Handle lEvalOp = new KnapsackEvalOp; + // 3. Instanciate the evolver. + const unsigned int lNumberOfBits=24; + GA::EvolverBitString::Handle lEvolver = new GA::EvolverBitString(lEvalOp, lNumberOfBits); + // 4. Initialize the vivarium with bitstring and MOEA fitness allocators + GA::BitString::Alloc::Handle lBSAlloc = new GA::BitString::Alloc; + FitnessMultiObj::Alloc::Handle lFitnessAlloc = new FitnessMultiObj::Alloc; + Vivarium::Handle lVivarium = new Vivarium(lBSAlloc, lFitnessAlloc); + // 5. Initialize the evolver and evolve the vivarium. + lEvolver->initialize(lSystem, argc, argv); + lEvolver->evolve(lVivarium); + } + catch(Exception& inException) { + inException.terminate(cerr); + } + catch(std::exception& inException) { + cerr << "Standard exception catched:" << endl << flush; + cerr << inException.what() << endl << flush; + return 1; + } + return 0; +} diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/Makefile.am b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/Makefile.am new file mode 100644 index 0000000..90bf1d2 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/Makefile.am @@ -0,0 +1,2 @@ +bin_PROGRAMS = knapsack +knapsack_SOURCES = KnapsackEvalOp.hpp KnapsackEvalOp.cpp KnapsackMain.cpp diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/Makefile.in b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/Makefile.in new file mode 100644 index 0000000..9fe4fc3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/Makefile.in @@ -0,0 +1,484 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +SOURCES = $(knapsack_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +bin_PROGRAMS = knapsack$(EXEEXT) +subdir = knapsack +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.hpp.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = config.hpp +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_knapsack_OBJECTS = KnapsackEvalOp.$(OBJEXT) KnapsackMain.$(OBJEXT) +knapsack_OBJECTS = $(am_knapsack_OBJECTS) +knapsack_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/KnapsackEvalOp.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/KnapsackMain.Po +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(knapsack_SOURCES) +DIST_SOURCES = $(knapsack_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +knapsack_SOURCES = KnapsackEvalOp.hpp KnapsackEvalOp.cpp KnapsackMain.cpp +all: config.hpp + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign knapsack/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign knapsack/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +config.hpp: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.hpp.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status knapsack/config.hpp +$(srcdir)/config.hpp.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.hpp stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +knapsack$(EXEEXT): $(knapsack_OBJECTS) $(knapsack_DEPENDENCIES) + @rm -f knapsack$(EXEEXT) + $(CXXLINK) $(knapsack_LDFLAGS) $(knapsack_OBJECTS) $(knapsack_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/KnapsackEvalOp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/KnapsackMain.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) config.hpp +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/config.hpp.in b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/config.hpp.in new file mode 100644 index 0000000..a4d86e8 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/config.hpp.in @@ -0,0 +1,65 @@ +/* knapsack/config.hpp.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `z' library (-lz). */ +#undef HAVE_LIBZ + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define if you have POSIX threads libraries and header files. */ +#undef HAVE_PTHREAD + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +#undef PTHREAD_CREATE_JOINABLE + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/knapsack-npga2.conf b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/knapsack-npga2.conf new file mode 100644 index 0000000..dbc0de4 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/knapsack-npga2.conf @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + 5.0 + 0 + 0 + + diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/knapsack-nsga2-non-breeder.conf b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/knapsack-nsga2-non-breeder.conf new file mode 100644 index 0000000..a2ef7ca --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/knapsack-nsga2-non-breeder.conf @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.6 + 0.4 + 0.025 + 0 + 0 + 1.0 + + diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/knapsack-nsga2.conf b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/knapsack-nsga2.conf new file mode 100644 index 0000000..076e638 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/knapsack-nsga2.conf @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.6 + 0.4 + 0.025 + 0 + 0 + + diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/knapsack.conf b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/knapsack.conf new file mode 100644 index 0000000..b1939e0 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/knapsack/knapsack.conf @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.6 + 0.4 + 0.025 + 0 + 0 + + diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/templates/cpp b/lib/beagle-3.0.3/examples/GA/knapsack/templates/cpp new file mode 100644 index 0000000..0f218fe --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/templates/cpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/%{FILE} + * \brief Implementation of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:41 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GA/knapsack/templates/hpp b/lib/beagle-3.0.3/examples/GA/knapsack/templates/hpp new file mode 100644 index 0000000..b9505e1 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/knapsack/templates/hpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/%{FILE} + * \brief Definition of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:41 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/AUTHORS b/lib/beagle-3.0.3/examples/GA/maxfct/AUTHORS new file mode 100644 index 0000000..f0c32cf --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/AUTHORS @@ -0,0 +1,2 @@ +Christian Gagne +Marc Parizeau diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/COPYING b/lib/beagle-3.0.3/examples/GA/maxfct/COPYING new file mode 100644 index 0000000..60549be --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/INSTALL b/lib/beagle-3.0.3/examples/GA/maxfct/INSTALL new file mode 100644 index 0000000..d99d23e --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/INSTALL @@ -0,0 +1,81 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Function maximization (maxfct): A simple GA example with Open BEAGLE + +Copyright (C) 2001-2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON UNIX +========================================= + +To compile the maxfct example on Unix (once the Open BEAGLE framework is built), +'cd' to the main example directory, and type the following commands. + + ./configure + make clean + make + +Then, the binary will be in directory 'maxfct'. + +'configure' recognizes the following options to control how it +operates. + +'--enable-optimization' + Enable the 'optimization' mode by setting the optimization flags + of the compiler. Use this flag to compile a version of the examples + linked with an optimized version of the framework libraries. + +'--with-beagle=DIR' + Specify the installation path of Open BEAGLE. + +'--with-beagle-include=DIR' + Specify exact installation directory for Open BEAGLE headers. + +'--with-beagle-GA-include=DIR' + Specify exact installation directory for Open BEAGLE GA headers. + +'--with-beagle-GP-include=DIR' + Specify exact installation directory for Open BEAGLE GP headers. + +'--with-beagle-libdir=DIR' + Specify exact installation directory for Open BEAGLE libraries. + +'--with-beagle-GA-libdir=DIR' + Specify exact installation directory for Open BEAGLE GA libraries. + +'--with-beagle-GP-libdir=DIR' + Specify exact installation directory for Open BEAGLE GP libraries. + +'--cache-file=FILE' + Use and save the test results in file FILE instead of + './config.cache'. Set FILE to '/dev/null' to disable caching, for + debugging 'configure'. + +'--help' + Print a summary of the options to 'configure', and exit. + +'--quiet' +'--silent' +'-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to '/dev/null' (any error + messages will still be shown). + +'--version' + Print the version of Autoconf used to generate the 'configure' + script, and exit. + +'configure' also accepts some other, not widely useful, options. + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON MS VISUAL C++ .NET +======================================================= + +Go to folder 'MSVCPP' and open the solution file 'maxfct.sln' with +MS Visual Studio .NET. Then you can compile the example. The binary will +be in directory 'maxfct'. + diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/MSVCPP/maxfct.sln b/lib/beagle-3.0.3/examples/GA/maxfct/MSVCPP/maxfct.sln new file mode 100644 index 0000000..c1ac847 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/MSVCPP/maxfct.sln @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "maxfct", "maxfct\maxfct.vcproj", "{377C5B8E-436A-4F72-8383-653EAD7566F1}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {377C5B8E-436A-4F72-8383-653EAD7566F1}.Debug.ActiveCfg = Debug|Win32 + {377C5B8E-436A-4F72-8383-653EAD7566F1}.Debug.Build.0 = Debug|Win32 + {377C5B8E-436A-4F72-8383-653EAD7566F1}.Release.ActiveCfg = Release|Win32 + {377C5B8E-436A-4F72-8383-653EAD7566F1}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/MSVCPP/maxfct.suo b/lib/beagle-3.0.3/examples/GA/maxfct/MSVCPP/maxfct.suo new file mode 100644 index 0000000..3599f1b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/MSVCPP/maxfct.suo @@ -0,0 +1 @@ +ÐÏࡱ \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/MSVCPP/maxfct/maxfct.vcproj b/lib/beagle-3.0.3/examples/GA/maxfct/MSVCPP/maxfct/maxfct.vcproj new file mode 100644 index 0000000..51f8af1 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/MSVCPP/maxfct/maxfct.vcproj @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/Makefile.am b/lib/beagle-3.0.3/examples/GA/maxfct/Makefile.am new file mode 100644 index 0000000..76fe866 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/Makefile.am @@ -0,0 +1,2 @@ +AUTOMAKE_OPTIONS=dist-zip +SUBDIRS = maxfct diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/Makefile.cvs b/lib/beagle-3.0.3/examples/GA/maxfct/Makefile.cvs new file mode 100644 index 0000000..925be9f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/Makefile.cvs @@ -0,0 +1,4 @@ +SHELL = /bin/sh + +all: + ${SHELL} ./bootstrap diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/Makefile.in b/lib/beagle-3.0.3/examples/GA/maxfct/Makefile.in new file mode 100644 index 0000000..4f242b1 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/Makefile.in @@ -0,0 +1,585 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \ + INSTALL config/config.guess config/config.sub config/depcomp \ + config/install-sh config/ltmain.sh config/missing \ + config/mkinstalldirs +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/maxfct/config.hpp +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AUTOMAKE_OPTIONS = dist-zip +SUBDIRS = maxfct +all: all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/config + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || mkdir "$(distdir)/$$subdir" \ + || exit 1; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="../$(top_distdir)" \ + distdir="../$(distdir)/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-libtool distclean-recursive \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/README b/lib/beagle-3.0.3/examples/GA/maxfct/README new file mode 100644 index 0000000..4c6c110 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/README @@ -0,0 +1,37 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Function maximization (maxfct): A simple GA example with Open BEAGLE + +Copyright (C) 2001-2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +Getting started +=============== + + Example is compiled in binary 'maxfct'. Usage options is described by + executing it with command-line argument '-OBusage'. The detailed help can + also be obtained with argument '-OBhelp'. + +Objective +========= + + Find the maximum of the following 5D function (LaTeX syntax): + $f(x) = \frac{161.8}{(u_N^2 \sum_{k=0}^{N-1}(x_k^2 + u_k^2))}$ + with $x = $, $u_{k+1} = x_k + u_k$, $x_k$ + in $[-200,200]$ for all $k$, $N = 5$ and $u_0 = 10$. + +Representation +============== + + Bit strings of 125 bits, constructed from the function's 5 arguments $x_i$, + each encoded with 25 bits on the interval $[-200,200]$. + +Fitness +======= + + Value of $f(x_1,x_2,x_3,x_4,x_5)$. + diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/acinclude.m4 b/lib/beagle-3.0.3/examples/GA/maxfct/acinclude.m4 new file mode 100644 index 0000000..9d8ff5a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/acinclude.m4 @@ -0,0 +1,603 @@ +dnl +dnl Initialize an autoconf project that use PACC::Math. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_MATH_INIT(PACC_MATH_PATH +dnl [, PACC_MATH_INCLUDEPATH] +dnl [, PACC_MATH_LIBPATH]) +dnl +AC_DEFUN([PACC_MATH_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-math, + [ --with-pacc-math=DIR specify installation path of PACC::Math], + [pacc_math_path="$withval"], + [pacc_math_path="$1"]) +AC_ARG_WITH(pacc-math-include, + [ --with-pacc-math-include=DIR specify exact dir for PACC::Math headers], + [pacc_math_path_include="$withval"]) +AC_ARG_WITH(pacc-math-libdir, + [ --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries], + [pacc_math_path_libdir="$withval"]) +if test -z "$pacc_math_path"; then + pacc_math_path="$1" +fi +if test -z "$pacc_math_path_include"; then + if test -z "$2"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="$2" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "$3"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Math headers are correctly included, +pacc_math_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Math.hpp], + pacc_math_include_test=yes, + pacc_math_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Threading. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_THREADING_INIT(PACC_THREADING_PATH +dnl [, PACC_THREADING_INCLUDEPATH] +dnl [, PACC_THREADING_LIBPATH]) +dnl +AC_DEFUN([PACC_THREADING_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-threading, + [ --with-pacc-threading=DIR specify installation path of PACC::Threading], + [pacc_threading_path="$withval"], + [pacc_threading_path="$1"]) +AC_ARG_WITH(pacc-threading-include, + [ --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers], + [pacc_threading_path_include="$withval"]) +AC_ARG_WITH(pacc-threading-libdir, + [ --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries], + [pacc_threading_path_libdir="$withval"]) +if test -z "$pacc_threading_path"; then + pacc_threading_path="$1" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "$2"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="$2" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "$3"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Threading headers are correctly included, +pacc_threading_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Threading.hpp], + pacc_threading_include_test=yes, + pacc_threading_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Util. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_UTIL_INIT(PACC_UTIL_PATH +dnl [, PACC_UTIL_INCLUDEPATH] +dnl [, PACC_UTIL_LIBPATH]) +dnl +AC_DEFUN([PACC_UTIL_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-util, + [ --with-pacc-util=DIR specify installation path of PACC::Util], + [pacc_util_path="$withval"], + [pacc_util_path="$1"]) +AC_ARG_WITH(pacc-util-include, + [ --with-pacc-util-include=DIR specify exact dir for PACC::Util headers], + [pacc_util_path_include="$withval"]) +AC_ARG_WITH(pacc-util-libdir, + [ --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries], + [pacc_util_path_libdir="$withval"]) +if test -z "$pacc_util_path"; then + pacc_util_path="$1" +fi +if test -z "$pacc_util_path_include"; then + if test -z "$2"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="$2" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "$3"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Util headers are correctly included, +pacc_util_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Util.hpp], + pacc_util_include_test=yes, + pacc_util_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::XML. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_XML_INIT(PACC_XML_PATH +dnl [, PACC_XML_INCLUDEPATH] +dnl [, PACC_XML_LIBPATH]) +dnl +AC_DEFUN([PACC_XML_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-xml, + [ --with-pacc-xml=DIR specify installation path of PACC::XML], + [pacc_xml_path="$withval"], + [pacc_xml_path="$1"]) +AC_ARG_WITH(pacc-xml-include, + [ --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers], + [pacc_xml_path_include="$withval"]) +AC_ARG_WITH(pacc-xml-libdir, + [ --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries], + [pacc_xml_path_libdir="$withval"]) +if test -z "$pacc_xml_path"; then + pacc_xml_path="$1" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "$2"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="$2" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "$3"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::XML headers are correctly included, +pacc_xml_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([XML.hpp], + pacc_xml_include_test=yes, + pacc_xml_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use Open BEAGLE. +dnl +dnl by Christian Gagne, 14/10/2002, modified 10/10/2004 and 09/08/2005 +dnl +dnl OB_BEAGLE_INIT(BEAGLE_PATH +dnl [, BEAGLE_INCLUDEPATH] +dnl [, BEAGLE_LIBPATH] +dnl [, BEAGLE_GA_INCLUDEPATH] +dnl [, BEAGLE_GA_LIBPATH] +dnl [, BEAGLE_GP_INCLUDEPATH] +dnl [, BEAGLE_GP_LIBPATH] +dnl [, BEAGLE_COEV_INCLUDEPATH] +dnl [, BEAGLE_COEV_LIBPATH]) +dnl +AC_DEFUN([OB_BEAGLE_INIT], +[ +dnl Open BEAGLE optimization mode option. +AC_ARG_ENABLE(optimization, + [ --enable-optimization enable optimization mode [default=no]], + [case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac], + enable_optimization=no) +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` +fi +dnl Set headers and libraries path correctly +AC_ARG_WITH(beagle, + [ --with-beagle=DIR specify installation path of Open BEAGLE], + [ob_beagle_path="$withval"], + [ob_beagle_path="$1"]) +AC_ARG_WITH(beagle-include, + [ --with-beagle-include=DIR specify exact dir for Open BEAGLE headers], + [ob_beagle_path_include="$withval"]) +AC_ARG_WITH(beagle-GA-include, + [ --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers], + [ob_beagle_path_ga_include="$withval"]) +AC_ARG_WITH(beagle-GP-include, + [ --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers], + [ob_beagle_path_gp_include="$withval"]) +AC_ARG_WITH(beagle-Coev-include, + [ --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers], + [ob_beagle_path_coev_include="$withval"]) +AC_ARG_WITH(beagle-libdir, + [ --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries], + [ob_beagle_path_libdir="$withval"]) +AC_ARG_WITH(beagle-GA-libdir, + [ --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries], + [ob_beagle_path_ga_libdir="$withval"]) +AC_ARG_WITH(beagle-GP-libdir, + [ --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries], + [ob_beagle_path_gp_libdir="$withval"]) +AC_ARG_WITH(beagle-Coev-libdir, + [ --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries], + [ob_beagle_path_coev_libdir="$withval"]) +if test -z "$ob_beagle_path"; then + ob_beagle_path="$1" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "$2"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="$2" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "$3"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="$3" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "$4"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="$4" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "$5"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="$5" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "$6"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="$6" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "$7"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="$7" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "$8"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="$8" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "$9"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="$9" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if Open BEAGLE headers are correctly included, +ob_beagle_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp], + ob_beagle_include_test=yes, + ob_beagle_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl *************************************************************************** +dnl *************************************************************************** +AC_DEFUN([ACX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_SAVE +AC_LANG_C +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) + AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) + AC_MSG_RESULT($acx_pthread_ok) + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $flag]) + PTHREAD_CFLAGS="$flag" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$flag]) + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + AC_TRY_LINK([#include ], + [pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], + [acx_pthread_ok=yes]) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + AC_MSG_RESULT($acx_pthread_ok) + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + AC_MSG_CHECKING([for joinable pthread attribute]) + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_JOINABLE;], + ok=PTHREAD_CREATE_JOINABLE, ok=unknown) + if test x"$ok" = xunknown; then + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_UNDETACHED;], + ok=PTHREAD_CREATE_UNDETACHED, ok=unknown) + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok, + [Define to the necessary symbol if this constant + uses a non-standard name on your system.]) + fi + AC_MSG_RESULT(${ok}) + if test x"$ok" = xunknown; then + AC_MSG_WARN([we do not know how to create joinable pthreads]) + fi + + AC_MSG_CHECKING([if more special flags are required for pthreads]) + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + AC_MSG_RESULT(${flag}) + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) +else + PTHREAD_CC="$CC" +fi + +AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_CC) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) + : +else + acx_pthread_ok=no + $2 +fi +AC_LANG_RESTORE +])dnl ACX_PTHREAD + + + +AC_DEFUN([CHECK_ZLIB], +# +# Handle user hints +# +[AC_MSG_CHECKING(if zlib is wanted) +AC_ARG_WITH(zlib, +[ --with-zlib=DIR root directory path of zlib installation [defaults to + /usr/local or /usr if not found in /usr/local] + --without-zlib to disable zlib usage completely], +[if test "$withval" != no ; then + AC_MSG_RESULT(yes) + ZLIB_HOME="$withval" +else + AC_MSG_RESULT(no) +fi], [ +AC_MSG_RESULT(yes) +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi +]) +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) + AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) + AC_LANG_RESTORE + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + AC_CHECK_LIB(z, inflateEnd) + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + AC_MSG_RESULT(ok) + else + # + # If either header or library was not found, revert and bomb + # + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + AC_MSG_RESULT(failed) + fi +fi +]) diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/aclocal.m4 b/lib/beagle-3.0.3/examples/GA/maxfct/aclocal.m4 new file mode 100644 index 0000000..1c4e723 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/aclocal.m4 @@ -0,0 +1,7302 @@ +# generated automatically by aclocal 1.8.5 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- + +# serial 48 Debian 1.5.22-4 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# ------------------ +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# --------------------------------------------------------------------- +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ---------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +# set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# ------------------ +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# ------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) + +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.8.5])]) + +# AM_AUX_DIR_EXPAND + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 6 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]) +fi])]) + +# serial 7 -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 7 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 11 + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG(AMTAR, tar) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl + +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# -*- Autoconf -*- + + +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. + +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# +# Check to make sure that the build environment is sane. +# + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# AM_PROG_INSTALL_STRIP + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +m4_include([acinclude.m4]) diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/bootstrap b/lib/beagle-3.0.3/examples/GA/maxfct/bootstrap new file mode 100755 index 0000000..5972642 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/bootstrap @@ -0,0 +1,7 @@ +#!/bin/sh +set -x +autoheader +libtoolize --force --copy +aclocal -I config +automake --foreign --add-missing --force-missing --copy +autoconf diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/config/config.guess b/lib/beagle-3.0.3/examples/GA/maxfct/config/config.guess new file mode 100755 index 0000000..396482d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/config/config.guess @@ -0,0 +1,1500 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-07-02' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + x86:Interix*:[3456]*) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T:Interix*:[3456]*) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/config/config.sub b/lib/beagle-3.0.3/examples/GA/maxfct/config/config.sub new file mode 100755 index 0000000..fab0aa3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/config/config.sub @@ -0,0 +1,1616 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-09-20' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/config/depcomp b/lib/beagle-3.0.3/examples/GA/maxfct/config/depcomp new file mode 100755 index 0000000..25bdb18 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/config/depcomp @@ -0,0 +1,526 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2004-04-25.13 + +# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit 0 + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit 0 + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # Dependencies are output in .lo.d with libtool 1.4. + # They are output in .o.d with libtool 1.5. + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.o.d" + tmpdepfile3="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + tmpdepfile3="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + elif test -f "$tmpdepfile2"; then + tmpdepfile="$tmpdepfile2" + else + tmpdepfile="$tmpdepfile3" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/config/install-sh b/lib/beagle-3.0.3/examples/GA/maxfct/config/install-sh new file mode 100755 index 0000000..e4160c9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/config/install-sh @@ -0,0 +1,325 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2004-04-01.17 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename= +transform_arg= +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= + +usage="Usage: $0 [OPTION]... SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 -d DIRECTORIES... + +In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. +In the second, create the directory path DIR. + +Options: +-b=TRANSFORMBASENAME +-c copy source (using $cpprog) instead of moving (using $mvprog). +-d create directories instead of installing files. +-g GROUP $chgrp installed files to GROUP. +-m MODE $chmod installed files to MODE. +-o USER $chown installed files to USER. +-s strip installed files (using $stripprog). +-t=TRANSFORM +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit 0;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + --version) echo "$0 $scriptversion"; exit 0;; + + *) # When -d is used, all remaining arguments are directories to create. + test -n "$dir_arg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + instcmd=: + chmodcmd= + else + instcmd=$mkdirprog + fi + else + # Waiting for this to be detected by the "$instcmd $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" || lasterr=$? + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; } + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $instcmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + # If we're going to rename the final executable, determine the name now. + if test -z "$transformarg"; then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename \ + | sed $transformarg`$transformbasename + fi + + # don't allow the sed command to completely eliminate the filename. + test -z "$dstfile" && dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Move or copy the file name to the temp name + $doit $instcmd "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $instcmd $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/config/ltmain.sh b/lib/beagle-3.0.3/examples/GA/maxfct/config/ltmain.sh new file mode 100644 index 0000000..c715b59 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/config/ltmain.sh @@ -0,0 +1,6871 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.22 Debian 1.5.22-4" +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + fi + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + else + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/config/missing b/lib/beagle-3.0.3/examples/GA/maxfct/config/missing new file mode 100755 index 0000000..e7ef83a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/config/missing @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2003-09-02.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/configure b/lib/beagle-3.0.3/examples/GA/maxfct/configure new file mode 100755 index 0000000..da65fc9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/configure @@ -0,0 +1,22313 @@ +#! /bin/sh +# From configure.ac Revision: 1.4 . +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for Bitstring GA function maximization example 3.0.0. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='Bitstring GA function maximization example' +PACKAGE_TARNAME='maxfct' +PACKAGE_VERSION='3.0.0' +PACKAGE_STRING='Bitstring GA function maximization example 3.0.0' +PACKAGE_BUGREPORT='cgagne@gmail.com' + +ac_unique_file="maxfct/MaxFctEvalOp.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +AMTAR +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +CXX +CXXFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CXX +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +LN_S +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +CC +CFLAGS +ac_ct_CC +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +GREP +EGREP +ECHO +AR +RANLIB +CPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +PTHREAD_CC +PTHREAD_LIBS +PTHREAD_CFLAGS +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +CPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures Bitstring GA function maximization example 3.0.0 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/maxfct] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of Bitstring GA function maximization example 3.0.0:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] include additional configurations [automatic] + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + --with-pacc-util=DIR specify installation path of PACC::Util + --with-pacc-util-include=DIR specify exact dir for PACC::Util headers + --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries + --with-pacc-xml=DIR specify installation path of PACC::XML + --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers + --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries + --with-pacc-math=DIR specify installation path of PACC::Math + --with-pacc-math-include=DIR specify exact dir for PACC::Math headers + --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries + --with-pacc-threading=DIR specify installation path of PACC::Threading + --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers + --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries + --with-beagle=DIR specify installation path of Open BEAGLE + --with-beagle-include=DIR specify exact dir for Open BEAGLE headers + --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers + --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers + --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers + --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries + --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries + --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries + --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + CPP C preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +Bitstring GA function maximization example configure 3.0.0 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by Bitstring GA function maximization example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in config "$srcdir"/config; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +am__api_version="1.8" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='maxfct' + VERSION='3.0.0' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. + + + +ac_config_headers="$ac_config_headers maxfct/config.hpp:maxfct/config.hpp.in" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 +echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 +echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 5044 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7303: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7307: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7571: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7575: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7675: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:7679: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix3*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_CXX=yes + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_CXX='+b $libdir' + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix3*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix3*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +solaris*) + case $cc_basename in + CC*) + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + postdeps_CXX='-lCstd -lCrun' + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12408: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:12412: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12512: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:12516: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_CXX" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14073: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:14077: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14177: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:14181: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix3*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_F77=yes + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_F77" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16364: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16368: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16632: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16636: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16736: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:16740: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix3*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_GCJ=yes + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_GCJ" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_RC" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + +# +# Handle user hints +# +{ echo "$as_me:$LINENO: checking if zlib is wanted" >&5 +echo $ECHO_N "checking if zlib is wanted... $ECHO_C" >&6; } + +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then + withval=$with_zlib; if test "$withval" != no ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + ZLIB_HOME="$withval" +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +else + +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + zlib_cv_libz=yes +else + zlib_cv_libz=no +fi + + if test "${ac_cv_header_zlib_h+set}" = set; then + { echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking zlib.h usability" >&5 +echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking zlib.h presence" >&5 +echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_zlib_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } + +fi +if test $ac_cv_header_zlib_h = yes; then + zlib_cv_zlib_h=yes +else + zlib_cv_zlib_h=no +fi + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + +{ echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +fi + + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } + fi +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_join (); +int +main () +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 +echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6; } + ;; + + -*) + { echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 +echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + *) + { echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 +echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 +echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_JOINABLE +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_UNDETACHED +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +cat >>confdefs.h <<\_ACEOF +#define PTHREAD_CREATE_JOINABLE $ok +_ACEOF + + fi + { echo "$as_me:$LINENO: result: ${ok}" >&5 +echo "${ECHO_T}${ok}" >&6; } + if test x"$ok" = xunknown; then + { echo "$as_me:$LINENO: WARNING: we do not know how to create joinable pthreads" >&5 +echo "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 +echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { echo "$as_me:$LINENO: result: ${flag}" >&5 +echo "${ECHO_T}${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PTHREAD_CC="cc_r" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 +echo "${ECHO_T}$PTHREAD_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_PTHREAD 1 +_ACEOF + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + + + +# Check whether --with-pacc-util was given. +if test "${with_pacc_util+set}" = set; then + withval=$with_pacc_util; pacc_util_path="$withval" +else + pacc_util_path="../../../../PACC" +fi + + +# Check whether --with-pacc-util-include was given. +if test "${with_pacc_util_include+set}" = set; then + withval=$with_pacc_util_include; pacc_util_path_include="$withval" +fi + + +# Check whether --with-pacc-util-libdir was given. +if test "${with_pacc_util_libdir+set}" = set; then + withval=$with_pacc_util_libdir; pacc_util_path_libdir="$withval" +fi + +if test -z "$pacc_util_path"; then + pacc_util_path="../../../../PACC" +fi +if test -z "$pacc_util_path_include"; then + if test -z "../../../../PACC"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "../../../../PACC/Util"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="../../../../PACC/Util" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Util headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Util headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_util_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Util.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_util_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_util_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_util_include_test" >&5 +echo "${ECHO_T}$pacc_util_include_test" >&6; } + + + +# Check whether --with-pacc-xml was given. +if test "${with_pacc_xml+set}" = set; then + withval=$with_pacc_xml; pacc_xml_path="$withval" +else + pacc_xml_path="../../../../PACC" +fi + + +# Check whether --with-pacc-xml-include was given. +if test "${with_pacc_xml_include+set}" = set; then + withval=$with_pacc_xml_include; pacc_xml_path_include="$withval" +fi + + +# Check whether --with-pacc-xml-libdir was given. +if test "${with_pacc_xml_libdir+set}" = set; then + withval=$with_pacc_xml_libdir; pacc_xml_path_libdir="$withval" +fi + +if test -z "$pacc_xml_path"; then + pacc_xml_path="../../../../PACC" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "../../../../PACC"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "../../../../PACC/XML"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="../../../../PACC/XML" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::XML headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::XML headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_xml_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +XML.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_xml_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_xml_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_xml_include_test" >&5 +echo "${ECHO_T}$pacc_xml_include_test" >&6; } + + + +# Check whether --with-pacc-math was given. +if test "${with_pacc_math+set}" = set; then + withval=$with_pacc_math; pacc_math_path="$withval" +else + pacc_math_path="../../../../PACC" +fi + + +# Check whether --with-pacc-math-include was given. +if test "${with_pacc_math_include+set}" = set; then + withval=$with_pacc_math_include; pacc_math_path_include="$withval" +fi + + +# Check whether --with-pacc-math-libdir was given. +if test "${with_pacc_math_libdir+set}" = set; then + withval=$with_pacc_math_libdir; pacc_math_path_libdir="$withval" +fi + +if test -z "$pacc_math_path"; then + pacc_math_path="../../../../PACC" +fi +if test -z "$pacc_math_path_include"; then + if test -z "../../../../PACC"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "../../../../PACC/Math"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="../../../../PACC/Math" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Math headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Math headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_math_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Math.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_math_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_math_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_math_include_test" >&5 +echo "${ECHO_T}$pacc_math_include_test" >&6; } + + + +# Check whether --with-pacc-threading was given. +if test "${with_pacc_threading+set}" = set; then + withval=$with_pacc_threading; pacc_threading_path="$withval" +else + pacc_threading_path="../../../../PACC" +fi + + +# Check whether --with-pacc-threading-include was given. +if test "${with_pacc_threading_include+set}" = set; then + withval=$with_pacc_threading_include; pacc_threading_path_include="$withval" +fi + + +# Check whether --with-pacc-threading-libdir was given. +if test "${with_pacc_threading_libdir+set}" = set; then + withval=$with_pacc_threading_libdir; pacc_threading_path_libdir="$withval" +fi + +if test -z "$pacc_threading_path"; then + pacc_threading_path="../../../../PACC" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "../../../../PACC"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "../../../../PACC/Threading"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="../../../../PACC/Threading" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Threading headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Threading headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_threading_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Threading.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_threading_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_threading_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_threading_include_test" >&5 +echo "${ECHO_T}$pacc_threading_include_test" >&6; } + + + +# Check whether --enable-optimization was given. +if test "${enable_optimization+set}" = set; then + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` +fi + +# Check whether --with-beagle was given. +if test "${with_beagle+set}" = set; then + withval=$with_beagle; ob_beagle_path="$withval" +else + ob_beagle_path="../../../../beagle" +fi + + +# Check whether --with-beagle-include was given. +if test "${with_beagle_include+set}" = set; then + withval=$with_beagle_include; ob_beagle_path_include="$withval" +fi + + +# Check whether --with-beagle-GA-include was given. +if test "${with_beagle_GA_include+set}" = set; then + withval=$with_beagle_GA_include; ob_beagle_path_ga_include="$withval" +fi + + +# Check whether --with-beagle-GP-include was given. +if test "${with_beagle_GP_include+set}" = set; then + withval=$with_beagle_GP_include; ob_beagle_path_gp_include="$withval" +fi + + +# Check whether --with-beagle-Coev-include was given. +if test "${with_beagle_Coev_include+set}" = set; then + withval=$with_beagle_Coev_include; ob_beagle_path_coev_include="$withval" +fi + + +# Check whether --with-beagle-libdir was given. +if test "${with_beagle_libdir+set}" = set; then + withval=$with_beagle_libdir; ob_beagle_path_libdir="$withval" +fi + + +# Check whether --with-beagle-GA-libdir was given. +if test "${with_beagle_GA_libdir+set}" = set; then + withval=$with_beagle_GA_libdir; ob_beagle_path_ga_libdir="$withval" +fi + + +# Check whether --with-beagle-GP-libdir was given. +if test "${with_beagle_GP_libdir+set}" = set; then + withval=$with_beagle_GP_libdir; ob_beagle_path_gp_libdir="$withval" +fi + + +# Check whether --with-beagle-Coev-libdir was given. +if test "${with_beagle_Coev_libdir+set}" = set; then + withval=$with_beagle_Coev_libdir; ob_beagle_path_coev_libdir="$withval" +fi + +if test -z "$ob_beagle_path"; then + ob_beagle_path="../../../../beagle" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "../../../../beagle/include"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="../../../../beagle/include" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "../../../../beagle/src"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="../../../../beagle/src" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "../../../../beagle/GA/include"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="../../../../beagle/GA/include" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "../../../../beagle/GA/src"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="../../../../beagle/GA/src" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "../../../../beagle/GP/include"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="../../../../beagle/GP/include" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "../../../../beagle/GP/src"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="../../../../beagle/GP/src" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "../../../../beagle/Coev/include"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="../../../../beagle/Coev/include" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "../../../../beagle/Coev/src"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="../../../../beagle/Coev/src" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +{ echo "$as_me:$LINENO: checking if Open BEAGLE headers are correctly included" >&5 +echo $ECHO_N "checking if Open BEAGLE headers are correctly included... $ECHO_C" >&6; } +if test "${ob_beagle_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + ob_beagle_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ob_beagle_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ob_beagle_include_test" >&5 +echo "${ECHO_T}$ob_beagle_include_test" >&6; } + + +ac_config_files="$ac_config_files Makefile maxfct/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by Bitstring GA function maximization example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +Bitstring GA function maximization example config.status 3.0.0 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "maxfct/config.hpp") CONFIG_HEADERS="$CONFIG_HEADERS maxfct/config.hpp:maxfct/config.hpp.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "maxfct/Makefile") CONFIG_FILES="$CONFIG_FILES maxfct/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +AMTAR!$AMTAR$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +LN_S!$LN_S$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CPP!$CPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +LIBTOOL!$LIBTOOL$ac_delim +PTHREAD_CC!$PTHREAD_CC$ac_delim +PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim +PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 6; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/configure.ac b/lib/beagle-3.0.3/examples/GA/maxfct/configure.ac new file mode 100644 index 0000000..96be5fc --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/configure.ac @@ -0,0 +1,50 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT([Bitstring GA function maximization example],[3.0.0],[cgagne@gmail.com],[maxfct]) +AC_CONFIG_SRCDIR([maxfct/MaxFctEvalOp.cpp]) +AC_CONFIG_AUX_DIR([config]) +AC_REVISION([$Revision: 1.4 $]) +AM_INIT_AUTOMAKE +AM_CONFIG_HEADER([maxfct/config.hpp:maxfct/config.hpp.in]) + +dnl Checks for programs. +AC_PROG_AWK +AC_PROG_CXX +AC_PROG_CXXCPP +AC_PROG_LN_S +AC_PROG_LIBTOOL + +dnl Set language. +AC_LANG([C++]) + +dnl Checks for libraries. +AC_HEADER_STDC + +dnl Check for zlib support. +CHECK_ZLIB + +dnl Check for POSIX threads support. +ACX_PTHREAD +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +dnl Initialize PACC libraries with the given paths. +PACC_UTIL_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Util]) +PACC_XML_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/XML]) +PACC_MATH_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Math]) +PACC_THREADING_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Threading]) + +dnl Initialize Open BEAGLE with the given paths. +OB_BEAGLE_INIT([../../../../beagle], + [../../../../beagle/include], + [../../../../beagle/src], + [../../../../beagle/GA/include], + [../../../../beagle/GA/src], + [../../../../beagle/GP/include], + [../../../../beagle/GP/src], + [../../../../beagle/Coev/include], + [../../../../beagle/Coev/src]) + +dnl Create makefiles. +AC_CONFIG_FILES([Makefile maxfct/Makefile]) +AC_OUTPUT diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/maxfct.kdevelop b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct.kdevelop new file mode 100644 index 0000000..e6477cc --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct.kdevelop @@ -0,0 +1,197 @@ + + + + Christian Gagne + cgagne@gmail.com + 3.0.0 + KDevAutoProject + C++ + + C++ + Code + + + . + false + + + + + + src/maxfct + default + + + maxfct/maxfct + true + executable + / + + true + + + + + + + + + + + kdevgccoptions + kdevgppoptions + kdevg77options + + + + + + + + + + + + + + + + + + ada + ada_bugs_gcc + bash + bash_bugs + clanlib + w3c-dom-level2-html + fortran_bugs_gcc + gnome1 + gnustep + gtk + gtk_bugs + haskell + haskell_bugs_ghc + java_bugs_gcc + java_bugs_sun + kde2book + opengl + pascal_bugs_fp + php + php_bugs + perl + perl_bugs + python + python_bugs + qt-kdev3 + ruby + ruby_bugs + sdl + w3c-svg + sw + w3c-uaag10 + wxwidgets_bugs + + + Guide to the Qt Translation Tools + Qt Assistant Manual + Qt Designer Manual + Qt Reference Documentation + qmake User Guide + + + KDE Libraries (Doxygen) + + + + + + + + + + + + + + false + false + + + *.o,*.lo,CVS + false + false + + + + + + + + + + + maxfct + maxfct + MAXFCT + Christian Gagne + cgagne@gmail.com + GPL + COPYING + 3.0.0 + /home/cgagne/tmp/maxfct + + + + + true + true + true + false + true + true + true + 250 + 400 + 250 + + + + set + m_,_ + theValue + true + true + + + + + .hpp + .cpp + + + + + + + + + + + true + false + false + + + false + true + 10 + + + + true + true + true + true + -C + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/Makefile.am b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/Makefile.am new file mode 100644 index 0000000..b03e35b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/Makefile.am @@ -0,0 +1,3 @@ +bin_PROGRAMS = maxfct +maxfct_SOURCES = MaxFctEvalOp.hpp MaxFctEvalOp.cpp MaxFctMain.cpp + diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/Makefile.in b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/Makefile.in new file mode 100644 index 0000000..21f7138 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/Makefile.in @@ -0,0 +1,484 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +SOURCES = $(maxfct_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +bin_PROGRAMS = maxfct$(EXEEXT) +subdir = maxfct +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.hpp.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = config.hpp +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_maxfct_OBJECTS = MaxFctEvalOp.$(OBJEXT) MaxFctMain.$(OBJEXT) +maxfct_OBJECTS = $(am_maxfct_OBJECTS) +maxfct_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/MaxFctEvalOp.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/MaxFctMain.Po +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(maxfct_SOURCES) +DIST_SOURCES = $(maxfct_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +maxfct_SOURCES = MaxFctEvalOp.hpp MaxFctEvalOp.cpp MaxFctMain.cpp +all: config.hpp + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign maxfct/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign maxfct/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +config.hpp: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.hpp.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status maxfct/config.hpp +$(srcdir)/config.hpp.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.hpp stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +maxfct$(EXEEXT): $(maxfct_OBJECTS) $(maxfct_DEPENDENCIES) + @rm -f maxfct$(EXEEXT) + $(CXXLINK) $(maxfct_LDFLAGS) $(maxfct_OBJECTS) $(maxfct_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MaxFctEvalOp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MaxFctMain.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) config.hpp +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/MaxFctEvalOp.cpp b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/MaxFctEvalOp.cpp new file mode 100644 index 0000000..266cb29 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/MaxFctEvalOp.cpp @@ -0,0 +1,79 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file MaxFctEvalOp.cpp + * \brief Implementation of the class MaxFctEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/GA.hpp" +#include "MaxFctEvalOp.hpp" +#include + +using namespace Beagle; + +/*! + * \brief Construct the individual evaluation operator for maximising the function. + * \param inEncoding Encoding of the variables (in bits). + */ +MaxFctEvalOp::MaxFctEvalOp(UIntArray inEncoding) : + EvaluationOp("MaxFctEvalOp") +{ + if(inEncoding.size() != 5) + throw ValidationException("Size of the encoding vector is different from 5!"); + for(unsigned int i=0; i<5; i++) { + GA::BitString::DecodingKey lKey(-200.0, 200.0, inEncoding[i]); + mDecodingKeys.push_back(lKey); + } +} + + +/*! + * \brief Evaluate the fitness of the given individual. + * \param inIndividual Current individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness value of the individual. + */ +Fitness::Handle MaxFctEvalOp::evaluate(Individual& inIndividual, Context& ioContext) +{ + Beagle_AssertM(inIndividual.size() == 1); + GA::BitString::Handle lBitString = castHandleT(inIndividual[0]); + Beagle::DoubleArray lX; + lBitString->decodeGray(mDecodingKeys, lX); + double lU = 10.0; + double lSum = 0.0; + for(unsigned int i=0; i<5; i++) { + lSum += ((lX[i])*(lX[i])) + (lU*lU); + lU += lX[i]; + } + lSum += (lU*lU); + double lF = 161.8 / lSum; + return new FitnessSimple(lF); +} diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/MaxFctEvalOp.hpp b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/MaxFctEvalOp.hpp new file mode 100644 index 0000000..b3d68fd --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/MaxFctEvalOp.hpp @@ -0,0 +1,93 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file MaxFctEvalOp.hpp + * \brief Definition of the type MaxFctEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +/*! + * \defgroup MaxFct Function Maximization Example + * \brief Function maximization (maxfct): A simple GA example with Open BEAGLE. + * + * \par Objective + * Find the maximum of the following 5D function: + * \f$f(x) = \frac{161.8}{(u_N^2 \sum_{k=0}^{N-1}(x_k^2 + u_k^2))}\f$ + * with \f$x = \f$, \f$u_{k+1} = x_k + u_k\f$, \f$x_k\f$ + * in \f$[-200,200]\f$ for all \f$k\f$, \f$N = 5\f$ and \f$u_0 = 10\f$. + * + * \par Representation + * Bit strings of 125 bits, constructed from the function's five arguments \f$x_i\f$, + * each encoded with 25 bits on the interval \f$[-200,200]\f$. + * + * \par Fitness + * Value of \f$f(x_1,x_2,x_3,x_4,x_5)\f$. + * + */ + +#ifndef MaxFctEvalOp_hpp +#define MaxFctEvalOp_hpp + +#include "beagle/GA.hpp" + +#include + + +/*! + * \class MaxFctEvalOp MaxFctEvalOp.hpp "MaxFctEvalOp.hpp" + * \brief The individual evaluation class operator for the problem of function maximisation. + * \ingroup MaxFct + */ +class MaxFctEvalOp : public Beagle::EvaluationOp { + +public: + + //! MaxFctEvalOp allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< MaxFctEvalOp handle type. + typedef Beagle::PointerT + Handle; + //!< MaxFctEvalOp bag type. + typedef Beagle::ContainerT + Bag; + + explicit MaxFctEvalOp(Beagle::UIntArray inEncoding=Beagle::UIntArray(5,25)); + + virtual Beagle::Fitness::Handle evaluate(Beagle::Individual& inIndividual, + Beagle::Context& ioContext); + +protected: + + Beagle::GA::BitString::DecodingKeyVector mDecodingKeys; //!< Decoding keys. + +}; + +#endif // MaxFctEvalOp_hpp diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/MaxFctMain.cpp b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/MaxFctMain.cpp new file mode 100644 index 0000000..3bb79c6 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/MaxFctMain.cpp @@ -0,0 +1,82 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file MaxFctMain.cpp + * \brief Implementation of the main routine for the maximisation problem. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:22 $ + */ + +#include "beagle/GA.hpp" +#include "MaxFctEvalOp.hpp" + +#include +#include +#include +#include +#include + +using namespace std; +using namespace Beagle; + +/*! + * \brief Main routine for the function maximisation problem. + * \param argc Number of arguments on the command-line. + * \param argv Arguments on the command-line. + * \return Return value of the program. + * \ingroup MaxFct + */ +int main(int argc, char** argv) { + try { + // 1. Encoding values. + UIntArray lEncodingOfX; + lEncodingOfX.resize(5,25); + const unsigned int lNumberOfBits = std::accumulate(lEncodingOfX.begin(), lEncodingOfX.end(), 0); + // 2. Build the system. + System::Handle lSystem = new System; + // 3. Build evaluation operator. + MaxFctEvalOp::Handle lEvalOp = new MaxFctEvalOp(lEncodingOfX); + // 4. Instanciate the evolver and the vivarium for bit string GA population. + GA::BitString::Alloc::Handle lBSAlloc = new GA::BitString::Alloc; + Vivarium::Handle lVivarium = new Vivarium(lBSAlloc); + GA::EvolverBitString::Handle lEvolver = new GA::EvolverBitString(lEvalOp, lNumberOfBits); + // 5. Initialize the evolver and evolve the vivarium. + lEvolver->initialize(lSystem, argc, argv); + lEvolver->evolve(lVivarium); + } + catch(Exception& inException) { + inException.terminate(cerr); + } + catch(std::exception& inException) { + cerr << "Standard exception catched:" << endl << flush; + cerr << inException.what() << endl << flush; + return 1; + } + return 0; +} diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/config.hpp.in b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/config.hpp.in new file mode 100644 index 0000000..ffe7f21 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/config.hpp.in @@ -0,0 +1,65 @@ +/* maxfct/config.hpp.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `z' library (-lz). */ +#undef HAVE_LIBZ + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define if you have POSIX threads libraries and header files. */ +#undef HAVE_PTHREAD + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +#undef PTHREAD_CREATE_JOINABLE + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/maxfct-generational.conf b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/maxfct-generational.conf new file mode 100644 index 0000000..2e9ab7e --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/maxfct-generational.conf @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.6 + 0.3 + 0.1 + 0.1 + + \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/maxfct-steadystate.conf b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/maxfct-steadystate.conf new file mode 100644 index 0000000..50d81fb --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/maxfct-steadystate.conf @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.6 + 0.3 + 0.1 + 0.1 + + \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/maxfct.conf b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/maxfct.conf new file mode 100644 index 0000000..627f052 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/maxfct/maxfct.conf @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/templates/cpp b/lib/beagle-3.0.3/examples/GA/maxfct/templates/cpp new file mode 100644 index 0000000..39aa73f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/templates/cpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/%{FILE} + * \brief Implementation of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:45 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GA/maxfct/templates/hpp b/lib/beagle-3.0.3/examples/GA/maxfct/templates/hpp new file mode 100644 index 0000000..8e38c1b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfct/templates/hpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/%{FILE} + * \brief Definition of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:46 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/AUTHORS b/lib/beagle-3.0.3/examples/GA/maxfctes/AUTHORS new file mode 100644 index 0000000..f0c32cf --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/AUTHORS @@ -0,0 +1,2 @@ +Christian Gagne +Marc Parizeau diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/COPYING b/lib/beagle-3.0.3/examples/GA/maxfctes/COPYING new file mode 100644 index 0000000..60549be --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/INSTALL b/lib/beagle-3.0.3/examples/GA/maxfctes/INSTALL new file mode 100644 index 0000000..179e2c5 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/INSTALL @@ -0,0 +1,82 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Function maximization with Evolution Strategy (maxfctes): +An ES example with Open BEAGLE + +Copyright (C) 2001-2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON UNIX +========================================= + +To compile the maxfct example on Unix (once the Open BEAGLE framework is built), +'cd' to the main example directory, and type the following commands. + + ./configure + make clean + make + +Then, the binary will be in directory 'maxfctes'. + +'configure' recognizes the following options to control how it +operates. + +'--enable-optimization' + Enable the 'optimization' mode by setting the optimization flags + of the compiler. Use this flag to compile a version of the examples + linked with an optimized version of the framework libraries. + +'--with-beagle=DIR' + Specify the installation path of Open BEAGLE. + +'--with-beagle-include=DIR' + Specify exact installation directory for Open BEAGLE headers. + +'--with-beagle-GA-include=DIR' + Specify exact installation directory for Open BEAGLE GA headers. + +'--with-beagle-GP-include=DIR' + Specify exact installation directory for Open BEAGLE GP headers. + +'--with-beagle-libdir=DIR' + Specify exact installation directory for Open BEAGLE libraries. + +'--with-beagle-GA-libdir=DIR' + Specify exact installation directory for Open BEAGLE GA libraries. + +'--with-beagle-GP-libdir=DIR' + Specify exact installation directory for Open BEAGLE GP libraries. + +'--cache-file=FILE' + Use and save the test results in file FILE instead of + './config.cache'. Set FILE to '/dev/null' to disable caching, for + debugging 'configure'. + +'--help' + Print a summary of the options to 'configure', and exit. + +'--quiet' +'--silent' +'-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to '/dev/null' (any error + messages will still be shown). + +'--version' + Print the version of Autoconf used to generate the 'configure' + script, and exit. + +'configure' also accepts some other, not widely useful, options. + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON MS VISUAL C++ .NET +======================================================= + +Go to folder 'MSVCPP' and open the solution file 'maxfctes.sln' with +MS Visual Studio .NET. Then you can compile the example. The binary will +be in directory 'maxfctes'. + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/MSVCPP/maxfctes.sln b/lib/beagle-3.0.3/examples/GA/maxfctes/MSVCPP/maxfctes.sln new file mode 100644 index 0000000..534cd61 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/MSVCPP/maxfctes.sln @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "maxfctes", "maxfctes\maxfctes.vcproj", "{FCEC200A-88F1-49FB-B95E-B0E505C0F8B0}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {FCEC200A-88F1-49FB-B95E-B0E505C0F8B0}.Debug.ActiveCfg = Debug|Win32 + {FCEC200A-88F1-49FB-B95E-B0E505C0F8B0}.Debug.Build.0 = Debug|Win32 + {FCEC200A-88F1-49FB-B95E-B0E505C0F8B0}.Release.ActiveCfg = Release|Win32 + {FCEC200A-88F1-49FB-B95E-B0E505C0F8B0}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/MSVCPP/maxfctes.suo b/lib/beagle-3.0.3/examples/GA/maxfctes/MSVCPP/maxfctes.suo new file mode 100644 index 0000000..09d2983 Binary files /dev/null and b/lib/beagle-3.0.3/examples/GA/maxfctes/MSVCPP/maxfctes.suo differ diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/MSVCPP/maxfctes/maxfctes.vcproj b/lib/beagle-3.0.3/examples/GA/maxfctes/MSVCPP/maxfctes/maxfctes.vcproj new file mode 100644 index 0000000..494db42 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/MSVCPP/maxfctes/maxfctes.vcproj @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/Makefile.am b/lib/beagle-3.0.3/examples/GA/maxfctes/Makefile.am new file mode 100644 index 0000000..4db74bb --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/Makefile.am @@ -0,0 +1,2 @@ +AUTOMAKE_OPTIONS=dist-zip +SUBDIRS = maxfctes diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/Makefile.cvs b/lib/beagle-3.0.3/examples/GA/maxfctes/Makefile.cvs new file mode 100644 index 0000000..925be9f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/Makefile.cvs @@ -0,0 +1,4 @@ +SHELL = /bin/sh + +all: + ${SHELL} ./bootstrap diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/Makefile.in b/lib/beagle-3.0.3/examples/GA/maxfctes/Makefile.in new file mode 100644 index 0000000..94ae5c1 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/Makefile.in @@ -0,0 +1,585 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \ + INSTALL config/config.guess config/config.sub config/depcomp \ + config/install-sh config/ltmain.sh config/missing \ + config/mkinstalldirs +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/maxfctes/config.hpp +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AUTOMAKE_OPTIONS = dist-zip +SUBDIRS = maxfctes +all: all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/config + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || mkdir "$(distdir)/$$subdir" \ + || exit 1; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="../$(top_distdir)" \ + distdir="../$(distdir)/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-libtool distclean-recursive \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/README b/lib/beagle-3.0.3/examples/GA/maxfctes/README new file mode 100644 index 0000000..70c3039 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/README @@ -0,0 +1,39 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Function maximization with Evolution Strategy (maxfctes): +An ES example with Open BEAGLE + +Copyright (C) 2001-2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +Getting started +=============== + + Example is compiled in binary 'maxfctes'. Usage options is described by + executing it with command-line argument '-OBusage'. The detailed help can + also be obtained with argument '-OBhelp'. + +Objective +========= + + Find the maximum of the following 5D function (LaTeX syntax): + $f(x) = \frac{161.8}{(u_N^2 \sum_{k=0}^{N-1}(x_k^2 + u_k^2))}$ + with $x = $, $u_{k+1} = x_k + u_k$, $x_k$ + in $[-200,200]$ for all $k$, $N = 5$ and $u_0 = 10$. + +Representation +============== + + Vector of five ES pairs, each pair being an association of a value + and a mutation strategy parameter. The values represents the function's + five arguments \f$x_i\f$. They are limited in the interval + \f$[-200,200]\f$ at the evaluation time. + +Fitness +======= + + Value of $f(x_1,x_2,x_3,x_4,x_5)$. diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/acinclude.m4 b/lib/beagle-3.0.3/examples/GA/maxfctes/acinclude.m4 new file mode 100644 index 0000000..9d8ff5a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/acinclude.m4 @@ -0,0 +1,603 @@ +dnl +dnl Initialize an autoconf project that use PACC::Math. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_MATH_INIT(PACC_MATH_PATH +dnl [, PACC_MATH_INCLUDEPATH] +dnl [, PACC_MATH_LIBPATH]) +dnl +AC_DEFUN([PACC_MATH_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-math, + [ --with-pacc-math=DIR specify installation path of PACC::Math], + [pacc_math_path="$withval"], + [pacc_math_path="$1"]) +AC_ARG_WITH(pacc-math-include, + [ --with-pacc-math-include=DIR specify exact dir for PACC::Math headers], + [pacc_math_path_include="$withval"]) +AC_ARG_WITH(pacc-math-libdir, + [ --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries], + [pacc_math_path_libdir="$withval"]) +if test -z "$pacc_math_path"; then + pacc_math_path="$1" +fi +if test -z "$pacc_math_path_include"; then + if test -z "$2"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="$2" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "$3"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Math headers are correctly included, +pacc_math_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Math.hpp], + pacc_math_include_test=yes, + pacc_math_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Threading. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_THREADING_INIT(PACC_THREADING_PATH +dnl [, PACC_THREADING_INCLUDEPATH] +dnl [, PACC_THREADING_LIBPATH]) +dnl +AC_DEFUN([PACC_THREADING_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-threading, + [ --with-pacc-threading=DIR specify installation path of PACC::Threading], + [pacc_threading_path="$withval"], + [pacc_threading_path="$1"]) +AC_ARG_WITH(pacc-threading-include, + [ --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers], + [pacc_threading_path_include="$withval"]) +AC_ARG_WITH(pacc-threading-libdir, + [ --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries], + [pacc_threading_path_libdir="$withval"]) +if test -z "$pacc_threading_path"; then + pacc_threading_path="$1" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "$2"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="$2" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "$3"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Threading headers are correctly included, +pacc_threading_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Threading.hpp], + pacc_threading_include_test=yes, + pacc_threading_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Util. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_UTIL_INIT(PACC_UTIL_PATH +dnl [, PACC_UTIL_INCLUDEPATH] +dnl [, PACC_UTIL_LIBPATH]) +dnl +AC_DEFUN([PACC_UTIL_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-util, + [ --with-pacc-util=DIR specify installation path of PACC::Util], + [pacc_util_path="$withval"], + [pacc_util_path="$1"]) +AC_ARG_WITH(pacc-util-include, + [ --with-pacc-util-include=DIR specify exact dir for PACC::Util headers], + [pacc_util_path_include="$withval"]) +AC_ARG_WITH(pacc-util-libdir, + [ --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries], + [pacc_util_path_libdir="$withval"]) +if test -z "$pacc_util_path"; then + pacc_util_path="$1" +fi +if test -z "$pacc_util_path_include"; then + if test -z "$2"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="$2" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "$3"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Util headers are correctly included, +pacc_util_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Util.hpp], + pacc_util_include_test=yes, + pacc_util_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::XML. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_XML_INIT(PACC_XML_PATH +dnl [, PACC_XML_INCLUDEPATH] +dnl [, PACC_XML_LIBPATH]) +dnl +AC_DEFUN([PACC_XML_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-xml, + [ --with-pacc-xml=DIR specify installation path of PACC::XML], + [pacc_xml_path="$withval"], + [pacc_xml_path="$1"]) +AC_ARG_WITH(pacc-xml-include, + [ --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers], + [pacc_xml_path_include="$withval"]) +AC_ARG_WITH(pacc-xml-libdir, + [ --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries], + [pacc_xml_path_libdir="$withval"]) +if test -z "$pacc_xml_path"; then + pacc_xml_path="$1" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "$2"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="$2" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "$3"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::XML headers are correctly included, +pacc_xml_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([XML.hpp], + pacc_xml_include_test=yes, + pacc_xml_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use Open BEAGLE. +dnl +dnl by Christian Gagne, 14/10/2002, modified 10/10/2004 and 09/08/2005 +dnl +dnl OB_BEAGLE_INIT(BEAGLE_PATH +dnl [, BEAGLE_INCLUDEPATH] +dnl [, BEAGLE_LIBPATH] +dnl [, BEAGLE_GA_INCLUDEPATH] +dnl [, BEAGLE_GA_LIBPATH] +dnl [, BEAGLE_GP_INCLUDEPATH] +dnl [, BEAGLE_GP_LIBPATH] +dnl [, BEAGLE_COEV_INCLUDEPATH] +dnl [, BEAGLE_COEV_LIBPATH]) +dnl +AC_DEFUN([OB_BEAGLE_INIT], +[ +dnl Open BEAGLE optimization mode option. +AC_ARG_ENABLE(optimization, + [ --enable-optimization enable optimization mode [default=no]], + [case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac], + enable_optimization=no) +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` +fi +dnl Set headers and libraries path correctly +AC_ARG_WITH(beagle, + [ --with-beagle=DIR specify installation path of Open BEAGLE], + [ob_beagle_path="$withval"], + [ob_beagle_path="$1"]) +AC_ARG_WITH(beagle-include, + [ --with-beagle-include=DIR specify exact dir for Open BEAGLE headers], + [ob_beagle_path_include="$withval"]) +AC_ARG_WITH(beagle-GA-include, + [ --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers], + [ob_beagle_path_ga_include="$withval"]) +AC_ARG_WITH(beagle-GP-include, + [ --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers], + [ob_beagle_path_gp_include="$withval"]) +AC_ARG_WITH(beagle-Coev-include, + [ --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers], + [ob_beagle_path_coev_include="$withval"]) +AC_ARG_WITH(beagle-libdir, + [ --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries], + [ob_beagle_path_libdir="$withval"]) +AC_ARG_WITH(beagle-GA-libdir, + [ --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries], + [ob_beagle_path_ga_libdir="$withval"]) +AC_ARG_WITH(beagle-GP-libdir, + [ --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries], + [ob_beagle_path_gp_libdir="$withval"]) +AC_ARG_WITH(beagle-Coev-libdir, + [ --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries], + [ob_beagle_path_coev_libdir="$withval"]) +if test -z "$ob_beagle_path"; then + ob_beagle_path="$1" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "$2"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="$2" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "$3"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="$3" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "$4"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="$4" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "$5"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="$5" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "$6"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="$6" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "$7"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="$7" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "$8"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="$8" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "$9"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="$9" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if Open BEAGLE headers are correctly included, +ob_beagle_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp], + ob_beagle_include_test=yes, + ob_beagle_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl *************************************************************************** +dnl *************************************************************************** +AC_DEFUN([ACX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_SAVE +AC_LANG_C +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) + AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) + AC_MSG_RESULT($acx_pthread_ok) + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $flag]) + PTHREAD_CFLAGS="$flag" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$flag]) + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + AC_TRY_LINK([#include ], + [pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], + [acx_pthread_ok=yes]) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + AC_MSG_RESULT($acx_pthread_ok) + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + AC_MSG_CHECKING([for joinable pthread attribute]) + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_JOINABLE;], + ok=PTHREAD_CREATE_JOINABLE, ok=unknown) + if test x"$ok" = xunknown; then + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_UNDETACHED;], + ok=PTHREAD_CREATE_UNDETACHED, ok=unknown) + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok, + [Define to the necessary symbol if this constant + uses a non-standard name on your system.]) + fi + AC_MSG_RESULT(${ok}) + if test x"$ok" = xunknown; then + AC_MSG_WARN([we do not know how to create joinable pthreads]) + fi + + AC_MSG_CHECKING([if more special flags are required for pthreads]) + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + AC_MSG_RESULT(${flag}) + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) +else + PTHREAD_CC="$CC" +fi + +AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_CC) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) + : +else + acx_pthread_ok=no + $2 +fi +AC_LANG_RESTORE +])dnl ACX_PTHREAD + + + +AC_DEFUN([CHECK_ZLIB], +# +# Handle user hints +# +[AC_MSG_CHECKING(if zlib is wanted) +AC_ARG_WITH(zlib, +[ --with-zlib=DIR root directory path of zlib installation [defaults to + /usr/local or /usr if not found in /usr/local] + --without-zlib to disable zlib usage completely], +[if test "$withval" != no ; then + AC_MSG_RESULT(yes) + ZLIB_HOME="$withval" +else + AC_MSG_RESULT(no) +fi], [ +AC_MSG_RESULT(yes) +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi +]) +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) + AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) + AC_LANG_RESTORE + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + AC_CHECK_LIB(z, inflateEnd) + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + AC_MSG_RESULT(ok) + else + # + # If either header or library was not found, revert and bomb + # + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + AC_MSG_RESULT(failed) + fi +fi +]) diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/aclocal.m4 b/lib/beagle-3.0.3/examples/GA/maxfctes/aclocal.m4 new file mode 100644 index 0000000..1c4e723 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/aclocal.m4 @@ -0,0 +1,7302 @@ +# generated automatically by aclocal 1.8.5 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- + +# serial 48 Debian 1.5.22-4 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# ------------------ +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# --------------------------------------------------------------------- +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ---------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +# set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# ------------------ +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# ------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) + +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.8.5])]) + +# AM_AUX_DIR_EXPAND + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 6 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]) +fi])]) + +# serial 7 -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 7 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 11 + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG(AMTAR, tar) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl + +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# -*- Autoconf -*- + + +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. + +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# +# Check to make sure that the build environment is sane. +# + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# AM_PROG_INSTALL_STRIP + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +m4_include([acinclude.m4]) diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/bootstrap b/lib/beagle-3.0.3/examples/GA/maxfctes/bootstrap new file mode 100755 index 0000000..5972642 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/bootstrap @@ -0,0 +1,7 @@ +#!/bin/sh +set -x +autoheader +libtoolize --force --copy +aclocal -I config +automake --foreign --add-missing --force-missing --copy +autoconf diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/config/config.guess b/lib/beagle-3.0.3/examples/GA/maxfctes/config/config.guess new file mode 100755 index 0000000..396482d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/config/config.guess @@ -0,0 +1,1500 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-07-02' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + x86:Interix*:[3456]*) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T:Interix*:[3456]*) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/config/config.sub b/lib/beagle-3.0.3/examples/GA/maxfctes/config/config.sub new file mode 100755 index 0000000..fab0aa3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/config/config.sub @@ -0,0 +1,1616 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-09-20' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/config/depcomp b/lib/beagle-3.0.3/examples/GA/maxfctes/config/depcomp new file mode 100755 index 0000000..25bdb18 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/config/depcomp @@ -0,0 +1,526 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2004-04-25.13 + +# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit 0 + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit 0 + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # Dependencies are output in .lo.d with libtool 1.4. + # They are output in .o.d with libtool 1.5. + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.o.d" + tmpdepfile3="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + tmpdepfile3="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + elif test -f "$tmpdepfile2"; then + tmpdepfile="$tmpdepfile2" + else + tmpdepfile="$tmpdepfile3" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/config/install-sh b/lib/beagle-3.0.3/examples/GA/maxfctes/config/install-sh new file mode 100755 index 0000000..e4160c9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/config/install-sh @@ -0,0 +1,325 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2004-04-01.17 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename= +transform_arg= +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= + +usage="Usage: $0 [OPTION]... SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 -d DIRECTORIES... + +In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. +In the second, create the directory path DIR. + +Options: +-b=TRANSFORMBASENAME +-c copy source (using $cpprog) instead of moving (using $mvprog). +-d create directories instead of installing files. +-g GROUP $chgrp installed files to GROUP. +-m MODE $chmod installed files to MODE. +-o USER $chown installed files to USER. +-s strip installed files (using $stripprog). +-t=TRANSFORM +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit 0;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + --version) echo "$0 $scriptversion"; exit 0;; + + *) # When -d is used, all remaining arguments are directories to create. + test -n "$dir_arg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + instcmd=: + chmodcmd= + else + instcmd=$mkdirprog + fi + else + # Waiting for this to be detected by the "$instcmd $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" || lasterr=$? + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; } + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $instcmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + # If we're going to rename the final executable, determine the name now. + if test -z "$transformarg"; then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename \ + | sed $transformarg`$transformbasename + fi + + # don't allow the sed command to completely eliminate the filename. + test -z "$dstfile" && dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Move or copy the file name to the temp name + $doit $instcmd "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $instcmd $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/config/ltmain.sh b/lib/beagle-3.0.3/examples/GA/maxfctes/config/ltmain.sh new file mode 100644 index 0000000..c715b59 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/config/ltmain.sh @@ -0,0 +1,6871 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.22 Debian 1.5.22-4" +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + fi + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + else + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/config/missing b/lib/beagle-3.0.3/examples/GA/maxfctes/config/missing new file mode 100755 index 0000000..e7ef83a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/config/missing @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2003-09-02.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/configure b/lib/beagle-3.0.3/examples/GA/maxfctes/configure new file mode 100755 index 0000000..3c2a1c4 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/configure @@ -0,0 +1,22314 @@ +#! /bin/sh +# From configure.ac Revision: 1.4 . +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for SA-ES function maximization example 3.0.0. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='SA-ES function maximization example' +PACKAGE_TARNAME='maxfctes' +PACKAGE_VERSION='3.0.0' +PACKAGE_STRING='SA-ES function maximization example 3.0.0' +PACKAGE_BUGREPORT='cgagne@gmail.com' + +ac_unique_file="maxfctes/MaxFctESEvalOp.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +AMTAR +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +CXX +CXXFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CXX +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +LN_S +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +CC +CFLAGS +ac_ct_CC +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +GREP +EGREP +ECHO +AR +RANLIB +CPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +PTHREAD_CC +PTHREAD_LIBS +PTHREAD_CFLAGS +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +CPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures SA-ES function maximization example 3.0.0 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/maxfctes] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of SA-ES function maximization example 3.0.0:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] include additional configurations [automatic] + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + --with-pacc-util=DIR specify installation path of PACC::Util + --with-pacc-util-include=DIR specify exact dir for PACC::Util headers + --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries + --with-pacc-xml=DIR specify installation path of PACC::XML + --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers + --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries + --with-pacc-math=DIR specify installation path of PACC::Math + --with-pacc-math-include=DIR specify exact dir for PACC::Math headers + --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries + --with-pacc-threading=DIR specify installation path of PACC::Threading + --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers + --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries + --with-beagle=DIR specify installation path of Open BEAGLE + --with-beagle-include=DIR specify exact dir for Open BEAGLE headers + --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers + --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers + --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers + --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries + --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries + --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries + --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + CPP C preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +SA-ES function maximization example configure 3.0.0 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by SA-ES function maximization example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in config "$srcdir"/config; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +am__api_version="1.8" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='maxfctes' + VERSION='3.0.0' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. + + + +ac_config_headers="$ac_config_headers maxfctes/config.hpp:maxfctes/config.hpp.in" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 +echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 +echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 5044 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7303: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7307: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7571: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7575: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7675: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:7679: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix3*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_CXX=yes + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_CXX='+b $libdir' + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix3*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix3*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +solaris*) + case $cc_basename in + CC*) + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + postdeps_CXX='-lCstd -lCrun' + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12408: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:12412: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12512: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:12516: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_CXX" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14073: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:14077: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14177: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:14181: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix3*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_F77=yes + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_F77" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16364: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16368: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16632: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16636: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16736: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:16740: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix3*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_GCJ=yes + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_GCJ" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_RC" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + +# +# Handle user hints +# +{ echo "$as_me:$LINENO: checking if zlib is wanted" >&5 +echo $ECHO_N "checking if zlib is wanted... $ECHO_C" >&6; } + +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then + withval=$with_zlib; if test "$withval" != no ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + ZLIB_HOME="$withval" +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +else + +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + zlib_cv_libz=yes +else + zlib_cv_libz=no +fi + + if test "${ac_cv_header_zlib_h+set}" = set; then + { echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking zlib.h usability" >&5 +echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking zlib.h presence" >&5 +echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_zlib_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } + +fi +if test $ac_cv_header_zlib_h = yes; then + zlib_cv_zlib_h=yes +else + zlib_cv_zlib_h=no +fi + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + +{ echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +fi + + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } + fi +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_join (); +int +main () +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 +echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6; } + ;; + + -*) + { echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 +echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + *) + { echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 +echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 +echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_JOINABLE +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_UNDETACHED +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +cat >>confdefs.h <<\_ACEOF +#define PTHREAD_CREATE_JOINABLE $ok +_ACEOF + + fi + { echo "$as_me:$LINENO: result: ${ok}" >&5 +echo "${ECHO_T}${ok}" >&6; } + if test x"$ok" = xunknown; then + { echo "$as_me:$LINENO: WARNING: we do not know how to create joinable pthreads" >&5 +echo "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 +echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { echo "$as_me:$LINENO: result: ${flag}" >&5 +echo "${ECHO_T}${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PTHREAD_CC="cc_r" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 +echo "${ECHO_T}$PTHREAD_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_PTHREAD 1 +_ACEOF + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + + + +# Check whether --with-pacc-util was given. +if test "${with_pacc_util+set}" = set; then + withval=$with_pacc_util; pacc_util_path="$withval" +else + pacc_util_path="../../../../PACC" +fi + + +# Check whether --with-pacc-util-include was given. +if test "${with_pacc_util_include+set}" = set; then + withval=$with_pacc_util_include; pacc_util_path_include="$withval" +fi + + +# Check whether --with-pacc-util-libdir was given. +if test "${with_pacc_util_libdir+set}" = set; then + withval=$with_pacc_util_libdir; pacc_util_path_libdir="$withval" +fi + +if test -z "$pacc_util_path"; then + pacc_util_path="../../../../PACC" +fi +if test -z "$pacc_util_path_include"; then + if test -z "../../../../PACC"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "../../../../PACC/Util"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="../../../../PACC/Util" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Util headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Util headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_util_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Util.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_util_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_util_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_util_include_test" >&5 +echo "${ECHO_T}$pacc_util_include_test" >&6; } + + + +# Check whether --with-pacc-xml was given. +if test "${with_pacc_xml+set}" = set; then + withval=$with_pacc_xml; pacc_xml_path="$withval" +else + pacc_xml_path="../../../../PACC" +fi + + +# Check whether --with-pacc-xml-include was given. +if test "${with_pacc_xml_include+set}" = set; then + withval=$with_pacc_xml_include; pacc_xml_path_include="$withval" +fi + + +# Check whether --with-pacc-xml-libdir was given. +if test "${with_pacc_xml_libdir+set}" = set; then + withval=$with_pacc_xml_libdir; pacc_xml_path_libdir="$withval" +fi + +if test -z "$pacc_xml_path"; then + pacc_xml_path="../../../../PACC" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "../../../../PACC"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "../../../../PACC/XML"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="../../../../PACC/XML" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::XML headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::XML headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_xml_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +XML.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_xml_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_xml_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_xml_include_test" >&5 +echo "${ECHO_T}$pacc_xml_include_test" >&6; } + + + +# Check whether --with-pacc-math was given. +if test "${with_pacc_math+set}" = set; then + withval=$with_pacc_math; pacc_math_path="$withval" +else + pacc_math_path="../../../../PACC" +fi + + +# Check whether --with-pacc-math-include was given. +if test "${with_pacc_math_include+set}" = set; then + withval=$with_pacc_math_include; pacc_math_path_include="$withval" +fi + + +# Check whether --with-pacc-math-libdir was given. +if test "${with_pacc_math_libdir+set}" = set; then + withval=$with_pacc_math_libdir; pacc_math_path_libdir="$withval" +fi + +if test -z "$pacc_math_path"; then + pacc_math_path="../../../../PACC" +fi +if test -z "$pacc_math_path_include"; then + if test -z "../../../../PACC"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "../../../../PACC/Math"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="../../../../PACC/Math" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Math headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Math headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_math_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Math.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_math_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_math_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_math_include_test" >&5 +echo "${ECHO_T}$pacc_math_include_test" >&6; } + + + +# Check whether --with-pacc-threading was given. +if test "${with_pacc_threading+set}" = set; then + withval=$with_pacc_threading; pacc_threading_path="$withval" +else + pacc_threading_path="../../../../PACC" +fi + + +# Check whether --with-pacc-threading-include was given. +if test "${with_pacc_threading_include+set}" = set; then + withval=$with_pacc_threading_include; pacc_threading_path_include="$withval" +fi + + +# Check whether --with-pacc-threading-libdir was given. +if test "${with_pacc_threading_libdir+set}" = set; then + withval=$with_pacc_threading_libdir; pacc_threading_path_libdir="$withval" +fi + +if test -z "$pacc_threading_path"; then + pacc_threading_path="../../../../PACC" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "../../../../PACC"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "../../../../PACC/Threading"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="../../../../PACC/Threading" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Threading headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Threading headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_threading_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Threading.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_threading_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_threading_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_threading_include_test" >&5 +echo "${ECHO_T}$pacc_threading_include_test" >&6; } + + + +# Check whether --enable-optimization was given. +if test "${enable_optimization+set}" = set; then + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` +fi + +# Check whether --with-beagle was given. +if test "${with_beagle+set}" = set; then + withval=$with_beagle; ob_beagle_path="$withval" +else + ob_beagle_path="../../../../beagle" +fi + + +# Check whether --with-beagle-include was given. +if test "${with_beagle_include+set}" = set; then + withval=$with_beagle_include; ob_beagle_path_include="$withval" +fi + + +# Check whether --with-beagle-GA-include was given. +if test "${with_beagle_GA_include+set}" = set; then + withval=$with_beagle_GA_include; ob_beagle_path_ga_include="$withval" +fi + + +# Check whether --with-beagle-GP-include was given. +if test "${with_beagle_GP_include+set}" = set; then + withval=$with_beagle_GP_include; ob_beagle_path_gp_include="$withval" +fi + + +# Check whether --with-beagle-Coev-include was given. +if test "${with_beagle_Coev_include+set}" = set; then + withval=$with_beagle_Coev_include; ob_beagle_path_coev_include="$withval" +fi + + +# Check whether --with-beagle-libdir was given. +if test "${with_beagle_libdir+set}" = set; then + withval=$with_beagle_libdir; ob_beagle_path_libdir="$withval" +fi + + +# Check whether --with-beagle-GA-libdir was given. +if test "${with_beagle_GA_libdir+set}" = set; then + withval=$with_beagle_GA_libdir; ob_beagle_path_ga_libdir="$withval" +fi + + +# Check whether --with-beagle-GP-libdir was given. +if test "${with_beagle_GP_libdir+set}" = set; then + withval=$with_beagle_GP_libdir; ob_beagle_path_gp_libdir="$withval" +fi + + +# Check whether --with-beagle-Coev-libdir was given. +if test "${with_beagle_Coev_libdir+set}" = set; then + withval=$with_beagle_Coev_libdir; ob_beagle_path_coev_libdir="$withval" +fi + +if test -z "$ob_beagle_path"; then + ob_beagle_path="../../../../beagle" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "../../../../beagle/include"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="../../../../beagle/include" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "../../../../beagle/src"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="../../../../beagle/src" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "../../../../beagle/GA/include"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="../../../../beagle/GA/include" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "../../../../beagle/GA/src"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="../../../../beagle/GA/src" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "../../../../beagle/GP/include"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="../../../../beagle/GP/include" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "../../../../beagle/GP/src"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="../../../../beagle/GP/src" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "../../../../beagle/Coev/include"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="../../../../beagle/Coev/include" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "../../../../beagle/Coev/src"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="../../../../beagle/Coev/src" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +{ echo "$as_me:$LINENO: checking if Open BEAGLE headers are correctly included" >&5 +echo $ECHO_N "checking if Open BEAGLE headers are correctly included... $ECHO_C" >&6; } +if test "${ob_beagle_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + ob_beagle_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ob_beagle_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ob_beagle_include_test" >&5 +echo "${ECHO_T}$ob_beagle_include_test" >&6; } + + +ac_config_files="$ac_config_files Makefile maxfctes/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by SA-ES function maximization example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +SA-ES function maximization example config.status 3.0.0 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "maxfctes/config.hpp") CONFIG_HEADERS="$CONFIG_HEADERS maxfctes/config.hpp:maxfctes/config.hpp.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "maxfctes/Makefile") CONFIG_FILES="$CONFIG_FILES maxfctes/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +AMTAR!$AMTAR$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +LN_S!$LN_S$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CPP!$CPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +LIBTOOL!$LIBTOOL$ac_delim +PTHREAD_CC!$PTHREAD_CC$ac_delim +PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim +PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 6; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/configure.ac b/lib/beagle-3.0.3/examples/GA/maxfctes/configure.ac new file mode 100644 index 0000000..fbab7a3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/configure.ac @@ -0,0 +1,51 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT([SA-ES function maximization example],[3.0.0],[cgagne@gmail.com],[maxfctes]) +AC_CONFIG_SRCDIR([maxfctes/MaxFctESEvalOp.cpp]) +AC_CONFIG_AUX_DIR([config]) +AC_REVISION([$Revision: 1.4 $]) +AM_INIT_AUTOMAKE +AM_CONFIG_HEADER([maxfctes/config.hpp:maxfctes/config.hpp.in]) + +dnl Checks for programs. +AC_PROG_AWK +AC_PROG_CXX +AC_PROG_CXXCPP +AC_PROG_LN_S +AC_PROG_LIBTOOL + +dnl Set language. +AC_LANG([C++]) + +dnl Checks for libraries. +AC_HEADER_STDC + +dnl Check for zlib support. +CHECK_ZLIB + +dnl Check for POSIX threads support. +ACX_PTHREAD +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +dnl Initialize PACC libraries with the given paths. +PACC_UTIL_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Util]) +PACC_XML_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/XML]) +PACC_MATH_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Math]) +PACC_THREADING_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Threading]) + +dnl Initialize Open BEAGLE with the given paths. +OB_BEAGLE_INIT([../../../../beagle], + [../../../../beagle/include], + [../../../../beagle/src], + [../../../../beagle/GA/include], + [../../../../beagle/GA/src], + [../../../../beagle/GP/include], + [../../../../beagle/GP/src], + [../../../../beagle/Coev/include], + [../../../../beagle/Coev/src]) + +dnl Create makefiles. +AC_CONFIG_FILES([Makefile maxfctes/Makefile]) +AC_OUTPUT + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes.kdevelop b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes.kdevelop new file mode 100644 index 0000000..ef08454 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes.kdevelop @@ -0,0 +1,203 @@ + + + + Christian Gagne + cgagne@gmail.com + 3.0.0 + KDevAutoProject + C++ + + C++ + Code + + + KDevClearCase + KDevcopyto + KDevCTags + KDevDoxygen + KDevFileGroups + KDevdistpart + KDevPerforce + KDevsubversion + + . + false + + + + + + src/maxfctes + default + + + maxfctes/maxfctes + true + executable + / + + true + + + + + + + + + + -static + kdevgccoptions + kdevgppoptions + kdevg77options + + + + + + + + + + + + + + false + 1 + false + + 0 + + + + + ada + ada_bugs_gcc + bash + bash_bugs + clanlib + w3c-dom-level2-html + fortran_bugs_gcc + gnome1 + gnustep + gtk + gtk_bugs + haskell + haskell_bugs_ghc + java_bugs_gcc + java_bugs_sun + kde2book + opengl + pascal_bugs_fp + php + php_bugs + perl + perl_bugs + python + python_bugs + qt-kdev3 + ruby + ruby_bugs + sdl + w3c-svg + sw + w3c-uaag10 + wxwidgets_bugs + + + Guide to the Qt Translation Tools + Qt Assistant Manual + Qt Designer Manual + Qt Reference Documentation + qmake User Guide + + + KDE Libraries (Doxygen) + + + + + + + + + + + + + + false + false + + + *.o,*.lo,CVS + false + false + + + + + + + + + + + maxfctes + maxfctes + MAXFCTES + Christian Gagne + cgagne@gmail.com + GPL + COPYING + 3.0.0 + /home/cgagne/tmp/maxfctes + + + + + true + true + true + false + true + true + true + 250 + 400 + 250 + + + + + .hpp + .cpp + + + + + + + + + + + true + false + false + + + false + true + 10 + + + + true + true + true + true + -C + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/Makefile.am b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/Makefile.am new file mode 100644 index 0000000..114e51e --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/Makefile.am @@ -0,0 +1,3 @@ +bin_PROGRAMS = maxfctes +maxfctes_SOURCES = MaxFctESEvalOp.hpp MaxFctESEvalOp.cpp MaxFctESMain.cpp + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/Makefile.in b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/Makefile.in new file mode 100644 index 0000000..cf62a09 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/Makefile.in @@ -0,0 +1,484 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +SOURCES = $(maxfctes_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +bin_PROGRAMS = maxfctes$(EXEEXT) +subdir = maxfctes +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.hpp.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = config.hpp +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_maxfctes_OBJECTS = MaxFctESEvalOp.$(OBJEXT) MaxFctESMain.$(OBJEXT) +maxfctes_OBJECTS = $(am_maxfctes_OBJECTS) +maxfctes_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/MaxFctESEvalOp.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/MaxFctESMain.Po +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(maxfctes_SOURCES) +DIST_SOURCES = $(maxfctes_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +maxfctes_SOURCES = MaxFctESEvalOp.hpp MaxFctESEvalOp.cpp MaxFctESMain.cpp +all: config.hpp + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign maxfctes/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign maxfctes/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +config.hpp: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.hpp.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status maxfctes/config.hpp +$(srcdir)/config.hpp.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.hpp stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +maxfctes$(EXEEXT): $(maxfctes_OBJECTS) $(maxfctes_DEPENDENCIES) + @rm -f maxfctes$(EXEEXT) + $(CXXLINK) $(maxfctes_LDFLAGS) $(maxfctes_OBJECTS) $(maxfctes_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MaxFctESEvalOp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MaxFctESMain.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) config.hpp +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/MaxFctESEvalOp.cpp b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/MaxFctESEvalOp.cpp new file mode 100644 index 0000000..e2ade17 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/MaxFctESEvalOp.cpp @@ -0,0 +1,74 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file MaxFctESEvalOp.cpp + * \brief Implementation of the class MaxFctESEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#include "beagle/GA.hpp" +#include "MaxFctESEvalOp.hpp" + +#include + +using namespace Beagle; + +/*! + * \brief Construct the individual evaluation operator for maximizing the function. + */ +MaxFctESEvalOp::MaxFctESEvalOp() : + EvaluationOp("MaxFctESEvalOp") +{ } + + +/*! + * \brief Evaluate the fitness of the given individual. + * \param inIndividual Current individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness value of the individual. + */ +Fitness::Handle MaxFctESEvalOp::evaluate(Individual& inIndividual, Context& ioContext) +{ + Beagle_AssertM(inIndividual.size() == 1); + GA::ESVector::Handle lESVector = castHandleT(inIndividual[0]); + Beagle_AssertM(lESVector->size() == 5); + double lU = 10.0; + double lSum = 0.0; + for(unsigned int i=0; i<5; ++i) { + double lXi = (*lESVector)[i].mValue; + if(lXi > 200.0) lXi = 200.0; + if(lXi < -200.0) lXi = -200.0; + lSum += (lXi*lXi) + (lU*lU); + lU += lXi; + } + lSum += (lU*lU); + double lF = 161.8 / lSum; + return new FitnessSimple(lF); +} diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/MaxFctESEvalOp.hpp b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/MaxFctESEvalOp.hpp new file mode 100644 index 0000000..bd12223 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/MaxFctESEvalOp.hpp @@ -0,0 +1,91 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file MaxFctESEvalOp.hpp + * \brief Definition of the type MaxFctESEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +/*! + * \defgroup MaxFctES Function Maximization with Evolution Strategy Example + * \brief Function maximization with Evolution Strategy (maxfctes): + * An ES example with Open BEAGLE + * + * \par Objective + * Find the maximum of the following 5D function: + * \f$f(x) = \frac{161.8}{(u_N^2 \sum_{k=0}^{N-1}(x_k^2 + u_k^2))}\f$ + * with \f$x = \f$, \f$u_{k+1} = x_k + u_k\f$, \f$x_k\f$ + * in \f$[-200,200]\f$ for all \f$k\f$, \f$N = 5\f$ and \f$u_0 = 10\f$. + * + * \par Representation + * Vector of five ES pairs, each pair being an association of a value + * and a mutation strategy parameter. The values represents the function's + * five arguments \f$x_i\f$. They are limited in the interval + * \f$[-200,200]\f$ at the evaluation time. + * + * \par Fitness + * Value of \f$f(x_1,x_2,x_3,x_4,x_5)\f$. + * + */ + +#ifndef MaxFctESEvalOp_hpp +#define MaxFctESEvalOp_hpp + +#include "beagle/GA.hpp" +#include + +/*! + * \class MaxFctESEvalOp MaxFctESEvalOp.hpp "MaxFctESEvalOp.hpp" + * \brief The individual evaluation class operator for the problem of ES + * function maximisation. + * \ingroup MaxFctES + */ +class MaxFctESEvalOp : public Beagle::EvaluationOp { + +public: + + //! MaxFctESEvalOp allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< MaxFctESEvalOp handle type. + typedef Beagle::PointerT + Handle; + //!< MaxFctESEvalOp bag type. + typedef Beagle::ContainerT + Bag; + + explicit MaxFctESEvalOp(); + + virtual Beagle::Fitness::Handle evaluate(Beagle::Individual& inIndividual, + Beagle::Context& ioContext); + +}; + +#endif // MaxFctESEvalOp_hpp diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/MaxFctESMain.cpp b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/MaxFctESMain.cpp new file mode 100644 index 0000000..dc7cfd5 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/MaxFctESMain.cpp @@ -0,0 +1,80 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file MaxFctESMain.cpp + * \brief Implementation of the main routine for the maximisation problem. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#include "beagle/GA.hpp" +#include "MaxFctESEvalOp.hpp" + +#include +#include +#include +#include +#include + +using namespace std; +using namespace Beagle; + +/*! + * \brief Main routine for the function maximisation problem with ES. + * \param argc Number of arguments on the command-line. + * \param argv Arguments on the command-line. + * \return Return value of the program. + * \ingroup MaxFctES + */ +int main(int argc, char** argv) { + try { + // 1. Build the system. + System::Handle lSystem = new System; + // 2. Build evaluation operator. + MaxFctESEvalOp::Handle lEvalOp = new MaxFctESEvalOp; + // 3. Instanciate the evolver and the vivarium for ES population. + GA::ESVector::Alloc::Handle lESVAlloc = new GA::ESVector::Alloc; + Vivarium::Handle lVivarium = new Vivarium(lESVAlloc); + // 4. Set representation, an ES vector of 5 parameters. + const unsigned int lVectorSize=5; + // 5. Initialize the evolver and evolve the vivarium. + GA::EvolverES::Handle lEvolver = new GA::EvolverES(lEvalOp, lVectorSize); + lEvolver->initialize(lSystem, argc, argv); + lEvolver->evolve(lVivarium); + } + catch(Exception& inException) { + inException.terminate(cerr); + } + catch(std::exception& inException) { + cerr << "Standard exception catched:" << endl << flush; + cerr << inException.what() << endl << flush; + return 1; + } + return 0; +} diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/config.hpp.in b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/config.hpp.in new file mode 100644 index 0000000..8897605 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/config.hpp.in @@ -0,0 +1,65 @@ +/* maxfctes/config.hpp.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `z' library (-lz). */ +#undef HAVE_LIBZ + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define if you have POSIX threads libraries and header files. */ +#undef HAVE_PTHREAD + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +#undef PTHREAD_CREATE_JOINABLE + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/maxfctes-comma-non-breeder.conf b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/maxfctes-comma-non-breeder.conf new file mode 100644 index 0000000..97ce765 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/maxfctes-comma-non-breeder.conf @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 50 + 7 + 15 + 1 + 0.01 + 1.0 + 200.0 + -200.0 + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/maxfctes-comma.conf b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/maxfctes-comma.conf new file mode 100644 index 0000000..e215237 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/maxfctes-comma.conf @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 50 + 7 + 15 + 1 + 0.01 + 1.0 + 200.0 + -200.0 + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/maxfctes-plus-non-breeder.conf b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/maxfctes-plus-non-breeder.conf new file mode 100644 index 0000000..42555aa --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/maxfctes-plus-non-breeder.conf @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 50 + 7 + 15 + 1 + 0.01 + 1.0 + 200.0 + -200.0 + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/maxfctes-plus.conf b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/maxfctes-plus.conf new file mode 100644 index 0000000..eef1ee5 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/maxfctes-plus.conf @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 50 + 7 + 15 + 1 + 0.01 + 1.0 + 200.0 + -200.0 + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/maxfctes.conf b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/maxfctes.conf new file mode 100644 index 0000000..cffd284 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/maxfctes/maxfctes.conf @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 50 + 7 + 15 + 1 + 0.01 + 1.0 + 200.0 + -200.0 + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/templates/cpp b/lib/beagle-3.0.3/examples/GA/maxfctes/templates/cpp new file mode 100644 index 0000000..8145e78 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/templates/cpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/%{FILE} + * \brief Implementation of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:47 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctes/templates/hpp b/lib/beagle-3.0.3/examples/GA/maxfctes/templates/hpp new file mode 100644 index 0000000..c61bf7b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctes/templates/hpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/%{FILE} + * \brief Definition of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:47 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/AUTHORS b/lib/beagle-3.0.3/examples/GA/maxfctfloat/AUTHORS new file mode 100644 index 0000000..f0c32cf --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/AUTHORS @@ -0,0 +1,2 @@ +Christian Gagne +Marc Parizeau diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/COPYING b/lib/beagle-3.0.3/examples/GA/maxfctfloat/COPYING new file mode 100644 index 0000000..60549be --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/INSTALL b/lib/beagle-3.0.3/examples/GA/maxfctfloat/INSTALL new file mode 100644 index 0000000..45e1caf --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/INSTALL @@ -0,0 +1,82 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Function maximization with real-valued GA (MaxFctFloat): +A simple real-valued GA example with Open BEAGLE + +Copyright (C) 2001-2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON UNIX +========================================= + +To compile the maxfct example on Unix (once the Open BEAGLE framework is built), +'cd' to the main example directory, and type the following commands. + + ./configure + make clean + make + +Then, the binary will be in directory 'maxfctfloat'. + +'configure' recognizes the following options to control how it +operates. + +'--enable-optimization' + Enable the 'optimization' mode by setting the optimization flags + of the compiler. Use this flag to compile a version of the examples + linked with an optimized version of the framework libraries. + +'--with-beagle=DIR' + Specify the installation path of Open BEAGLE. + +'--with-beagle-include=DIR' + Specify exact installation directory for Open BEAGLE headers. + +'--with-beagle-GA-include=DIR' + Specify exact installation directory for Open BEAGLE GA headers. + +'--with-beagle-GP-include=DIR' + Specify exact installation directory for Open BEAGLE GP headers. + +'--with-beagle-libdir=DIR' + Specify exact installation directory for Open BEAGLE libraries. + +'--with-beagle-GA-libdir=DIR' + Specify exact installation directory for Open BEAGLE GA libraries. + +'--with-beagle-GP-libdir=DIR' + Specify exact installation directory for Open BEAGLE GP libraries. + +'--cache-file=FILE' + Use and save the test results in file FILE instead of + './config.cache'. Set FILE to '/dev/null' to disable caching, for + debugging 'configure'. + +'--help' + Print a summary of the options to 'configure', and exit. + +'--quiet' +'--silent' +'-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to '/dev/null' (any error + messages will still be shown). + +'--version' + Print the version of Autoconf used to generate the 'configure' + script, and exit. + +'configure' also accepts some other, not widely useful, options. + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON MS VISUAL C++ .NET +======================================================= + +Go to folder 'MSVCPP' and open the solution file 'maxfctfloat.sln' with +MS Visual Studio .NET. Then you can compile the example. The binary will +be in directory 'maxfct'. + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/MSVCPP/maxfctfloat.sln b/lib/beagle-3.0.3/examples/GA/maxfctfloat/MSVCPP/maxfctfloat.sln new file mode 100644 index 0000000..591771c --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/MSVCPP/maxfctfloat.sln @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "maxfctfloat", "maxfctfloat\maxfctfloat.vcproj", "{55AD3A8C-EDA5-4793-B521-366B56C04B94}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {55AD3A8C-EDA5-4793-B521-366B56C04B94}.Debug.ActiveCfg = Debug|Win32 + {55AD3A8C-EDA5-4793-B521-366B56C04B94}.Debug.Build.0 = Debug|Win32 + {55AD3A8C-EDA5-4793-B521-366B56C04B94}.Release.ActiveCfg = Release|Win32 + {55AD3A8C-EDA5-4793-B521-366B56C04B94}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/MSVCPP/maxfctfloat.suo b/lib/beagle-3.0.3/examples/GA/maxfctfloat/MSVCPP/maxfctfloat.suo new file mode 100644 index 0000000..811cda7 Binary files /dev/null and b/lib/beagle-3.0.3/examples/GA/maxfctfloat/MSVCPP/maxfctfloat.suo differ diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/MSVCPP/maxfctfloat/maxfctfloat.vcproj b/lib/beagle-3.0.3/examples/GA/maxfctfloat/MSVCPP/maxfctfloat/maxfctfloat.vcproj new file mode 100644 index 0000000..cbe77dd --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/MSVCPP/maxfctfloat/maxfctfloat.vcproj @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/Makefile.am b/lib/beagle-3.0.3/examples/GA/maxfctfloat/Makefile.am new file mode 100644 index 0000000..a548a02 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/Makefile.am @@ -0,0 +1,2 @@ +AUTOMAKE_OPTIONS=dist-zip +SUBDIRS = maxfctfloat diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/Makefile.cvs b/lib/beagle-3.0.3/examples/GA/maxfctfloat/Makefile.cvs new file mode 100644 index 0000000..925be9f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/Makefile.cvs @@ -0,0 +1,4 @@ +SHELL = /bin/sh + +all: + ${SHELL} ./bootstrap diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/Makefile.in b/lib/beagle-3.0.3/examples/GA/maxfctfloat/Makefile.in new file mode 100644 index 0000000..42770b4 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/Makefile.in @@ -0,0 +1,585 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \ + INSTALL config/config.guess config/config.sub config/depcomp \ + config/install-sh config/ltmain.sh config/missing \ + config/mkinstalldirs +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/maxfctfloat/config.hpp +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AUTOMAKE_OPTIONS = dist-zip +SUBDIRS = maxfctfloat +all: all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/config + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || mkdir "$(distdir)/$$subdir" \ + || exit 1; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="../$(top_distdir)" \ + distdir="../$(distdir)/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-libtool distclean-recursive \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/README b/lib/beagle-3.0.3/examples/GA/maxfctfloat/README new file mode 100644 index 0000000..d3ae265 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/README @@ -0,0 +1,37 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Function maximization with real-valued GA (MaxFctFloat): +A simple real-valued GA example with Open BEAGLE + +Copyright (C) 2001-2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +Getting started +=============== + + Example is compiled in binary 'maxfctfloat'. Usage options is described by + executing it with command-line argument '-OBusage'. The detailed help can + also be obtained with argument '-OBhelp'. + +Objective +========= + + Find the maximum of the following 5D function (LaTeX syntax): + $f(x) = \frac{161.8}{(u_N^2 \sum_{k=0}^{N-1}(x_k^2 + u_k^2))}$ + with $x = $, $u_{k+1} = x_k + u_k$, $x_k$ + in $[-200,200]$ for all $k$, $N = 5$ and $u_0 = 10$. + +Representation +============== + + Vector of five floating-point numbers representing the function's five arguments + \f$x_i\f$, limited in the interval \f$[-200,200]\f$. + +Fitness +======= + + Value of $f(x_1,x_2,x_3,x_4,x_5)$. diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/acinclude.m4 b/lib/beagle-3.0.3/examples/GA/maxfctfloat/acinclude.m4 new file mode 100644 index 0000000..9d8ff5a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/acinclude.m4 @@ -0,0 +1,603 @@ +dnl +dnl Initialize an autoconf project that use PACC::Math. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_MATH_INIT(PACC_MATH_PATH +dnl [, PACC_MATH_INCLUDEPATH] +dnl [, PACC_MATH_LIBPATH]) +dnl +AC_DEFUN([PACC_MATH_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-math, + [ --with-pacc-math=DIR specify installation path of PACC::Math], + [pacc_math_path="$withval"], + [pacc_math_path="$1"]) +AC_ARG_WITH(pacc-math-include, + [ --with-pacc-math-include=DIR specify exact dir for PACC::Math headers], + [pacc_math_path_include="$withval"]) +AC_ARG_WITH(pacc-math-libdir, + [ --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries], + [pacc_math_path_libdir="$withval"]) +if test -z "$pacc_math_path"; then + pacc_math_path="$1" +fi +if test -z "$pacc_math_path_include"; then + if test -z "$2"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="$2" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "$3"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Math headers are correctly included, +pacc_math_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Math.hpp], + pacc_math_include_test=yes, + pacc_math_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Threading. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_THREADING_INIT(PACC_THREADING_PATH +dnl [, PACC_THREADING_INCLUDEPATH] +dnl [, PACC_THREADING_LIBPATH]) +dnl +AC_DEFUN([PACC_THREADING_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-threading, + [ --with-pacc-threading=DIR specify installation path of PACC::Threading], + [pacc_threading_path="$withval"], + [pacc_threading_path="$1"]) +AC_ARG_WITH(pacc-threading-include, + [ --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers], + [pacc_threading_path_include="$withval"]) +AC_ARG_WITH(pacc-threading-libdir, + [ --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries], + [pacc_threading_path_libdir="$withval"]) +if test -z "$pacc_threading_path"; then + pacc_threading_path="$1" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "$2"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="$2" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "$3"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Threading headers are correctly included, +pacc_threading_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Threading.hpp], + pacc_threading_include_test=yes, + pacc_threading_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Util. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_UTIL_INIT(PACC_UTIL_PATH +dnl [, PACC_UTIL_INCLUDEPATH] +dnl [, PACC_UTIL_LIBPATH]) +dnl +AC_DEFUN([PACC_UTIL_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-util, + [ --with-pacc-util=DIR specify installation path of PACC::Util], + [pacc_util_path="$withval"], + [pacc_util_path="$1"]) +AC_ARG_WITH(pacc-util-include, + [ --with-pacc-util-include=DIR specify exact dir for PACC::Util headers], + [pacc_util_path_include="$withval"]) +AC_ARG_WITH(pacc-util-libdir, + [ --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries], + [pacc_util_path_libdir="$withval"]) +if test -z "$pacc_util_path"; then + pacc_util_path="$1" +fi +if test -z "$pacc_util_path_include"; then + if test -z "$2"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="$2" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "$3"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Util headers are correctly included, +pacc_util_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Util.hpp], + pacc_util_include_test=yes, + pacc_util_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::XML. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_XML_INIT(PACC_XML_PATH +dnl [, PACC_XML_INCLUDEPATH] +dnl [, PACC_XML_LIBPATH]) +dnl +AC_DEFUN([PACC_XML_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-xml, + [ --with-pacc-xml=DIR specify installation path of PACC::XML], + [pacc_xml_path="$withval"], + [pacc_xml_path="$1"]) +AC_ARG_WITH(pacc-xml-include, + [ --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers], + [pacc_xml_path_include="$withval"]) +AC_ARG_WITH(pacc-xml-libdir, + [ --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries], + [pacc_xml_path_libdir="$withval"]) +if test -z "$pacc_xml_path"; then + pacc_xml_path="$1" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "$2"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="$2" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "$3"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::XML headers are correctly included, +pacc_xml_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([XML.hpp], + pacc_xml_include_test=yes, + pacc_xml_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use Open BEAGLE. +dnl +dnl by Christian Gagne, 14/10/2002, modified 10/10/2004 and 09/08/2005 +dnl +dnl OB_BEAGLE_INIT(BEAGLE_PATH +dnl [, BEAGLE_INCLUDEPATH] +dnl [, BEAGLE_LIBPATH] +dnl [, BEAGLE_GA_INCLUDEPATH] +dnl [, BEAGLE_GA_LIBPATH] +dnl [, BEAGLE_GP_INCLUDEPATH] +dnl [, BEAGLE_GP_LIBPATH] +dnl [, BEAGLE_COEV_INCLUDEPATH] +dnl [, BEAGLE_COEV_LIBPATH]) +dnl +AC_DEFUN([OB_BEAGLE_INIT], +[ +dnl Open BEAGLE optimization mode option. +AC_ARG_ENABLE(optimization, + [ --enable-optimization enable optimization mode [default=no]], + [case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac], + enable_optimization=no) +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` +fi +dnl Set headers and libraries path correctly +AC_ARG_WITH(beagle, + [ --with-beagle=DIR specify installation path of Open BEAGLE], + [ob_beagle_path="$withval"], + [ob_beagle_path="$1"]) +AC_ARG_WITH(beagle-include, + [ --with-beagle-include=DIR specify exact dir for Open BEAGLE headers], + [ob_beagle_path_include="$withval"]) +AC_ARG_WITH(beagle-GA-include, + [ --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers], + [ob_beagle_path_ga_include="$withval"]) +AC_ARG_WITH(beagle-GP-include, + [ --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers], + [ob_beagle_path_gp_include="$withval"]) +AC_ARG_WITH(beagle-Coev-include, + [ --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers], + [ob_beagle_path_coev_include="$withval"]) +AC_ARG_WITH(beagle-libdir, + [ --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries], + [ob_beagle_path_libdir="$withval"]) +AC_ARG_WITH(beagle-GA-libdir, + [ --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries], + [ob_beagle_path_ga_libdir="$withval"]) +AC_ARG_WITH(beagle-GP-libdir, + [ --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries], + [ob_beagle_path_gp_libdir="$withval"]) +AC_ARG_WITH(beagle-Coev-libdir, + [ --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries], + [ob_beagle_path_coev_libdir="$withval"]) +if test -z "$ob_beagle_path"; then + ob_beagle_path="$1" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "$2"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="$2" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "$3"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="$3" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "$4"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="$4" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "$5"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="$5" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "$6"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="$6" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "$7"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="$7" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "$8"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="$8" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "$9"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="$9" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if Open BEAGLE headers are correctly included, +ob_beagle_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp], + ob_beagle_include_test=yes, + ob_beagle_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl *************************************************************************** +dnl *************************************************************************** +AC_DEFUN([ACX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_SAVE +AC_LANG_C +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) + AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) + AC_MSG_RESULT($acx_pthread_ok) + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $flag]) + PTHREAD_CFLAGS="$flag" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$flag]) + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + AC_TRY_LINK([#include ], + [pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], + [acx_pthread_ok=yes]) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + AC_MSG_RESULT($acx_pthread_ok) + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + AC_MSG_CHECKING([for joinable pthread attribute]) + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_JOINABLE;], + ok=PTHREAD_CREATE_JOINABLE, ok=unknown) + if test x"$ok" = xunknown; then + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_UNDETACHED;], + ok=PTHREAD_CREATE_UNDETACHED, ok=unknown) + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok, + [Define to the necessary symbol if this constant + uses a non-standard name on your system.]) + fi + AC_MSG_RESULT(${ok}) + if test x"$ok" = xunknown; then + AC_MSG_WARN([we do not know how to create joinable pthreads]) + fi + + AC_MSG_CHECKING([if more special flags are required for pthreads]) + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + AC_MSG_RESULT(${flag}) + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) +else + PTHREAD_CC="$CC" +fi + +AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_CC) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) + : +else + acx_pthread_ok=no + $2 +fi +AC_LANG_RESTORE +])dnl ACX_PTHREAD + + + +AC_DEFUN([CHECK_ZLIB], +# +# Handle user hints +# +[AC_MSG_CHECKING(if zlib is wanted) +AC_ARG_WITH(zlib, +[ --with-zlib=DIR root directory path of zlib installation [defaults to + /usr/local or /usr if not found in /usr/local] + --without-zlib to disable zlib usage completely], +[if test "$withval" != no ; then + AC_MSG_RESULT(yes) + ZLIB_HOME="$withval" +else + AC_MSG_RESULT(no) +fi], [ +AC_MSG_RESULT(yes) +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi +]) +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) + AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) + AC_LANG_RESTORE + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + AC_CHECK_LIB(z, inflateEnd) + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + AC_MSG_RESULT(ok) + else + # + # If either header or library was not found, revert and bomb + # + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + AC_MSG_RESULT(failed) + fi +fi +]) diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/aclocal.m4 b/lib/beagle-3.0.3/examples/GA/maxfctfloat/aclocal.m4 new file mode 100644 index 0000000..1c4e723 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/aclocal.m4 @@ -0,0 +1,7302 @@ +# generated automatically by aclocal 1.8.5 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- + +# serial 48 Debian 1.5.22-4 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# ------------------ +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# --------------------------------------------------------------------- +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ---------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +# set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# ------------------ +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# ------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) + +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.8.5])]) + +# AM_AUX_DIR_EXPAND + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 6 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]) +fi])]) + +# serial 7 -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 7 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 11 + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG(AMTAR, tar) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl + +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# -*- Autoconf -*- + + +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. + +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# +# Check to make sure that the build environment is sane. +# + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# AM_PROG_INSTALL_STRIP + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +m4_include([acinclude.m4]) diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/bootstrap b/lib/beagle-3.0.3/examples/GA/maxfctfloat/bootstrap new file mode 100755 index 0000000..5972642 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/bootstrap @@ -0,0 +1,7 @@ +#!/bin/sh +set -x +autoheader +libtoolize --force --copy +aclocal -I config +automake --foreign --add-missing --force-missing --copy +autoconf diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/config.guess b/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/config.guess new file mode 100755 index 0000000..396482d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/config.guess @@ -0,0 +1,1500 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-07-02' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + x86:Interix*:[3456]*) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T:Interix*:[3456]*) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/config.sub b/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/config.sub new file mode 100755 index 0000000..fab0aa3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/config.sub @@ -0,0 +1,1616 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-09-20' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/depcomp b/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/depcomp new file mode 100755 index 0000000..25bdb18 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/depcomp @@ -0,0 +1,526 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2004-04-25.13 + +# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit 0 + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit 0 + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # Dependencies are output in .lo.d with libtool 1.4. + # They are output in .o.d with libtool 1.5. + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.o.d" + tmpdepfile3="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + tmpdepfile3="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + elif test -f "$tmpdepfile2"; then + tmpdepfile="$tmpdepfile2" + else + tmpdepfile="$tmpdepfile3" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/install-sh b/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/install-sh new file mode 100755 index 0000000..e4160c9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/install-sh @@ -0,0 +1,325 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2004-04-01.17 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename= +transform_arg= +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= + +usage="Usage: $0 [OPTION]... SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 -d DIRECTORIES... + +In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. +In the second, create the directory path DIR. + +Options: +-b=TRANSFORMBASENAME +-c copy source (using $cpprog) instead of moving (using $mvprog). +-d create directories instead of installing files. +-g GROUP $chgrp installed files to GROUP. +-m MODE $chmod installed files to MODE. +-o USER $chown installed files to USER. +-s strip installed files (using $stripprog). +-t=TRANSFORM +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit 0;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + --version) echo "$0 $scriptversion"; exit 0;; + + *) # When -d is used, all remaining arguments are directories to create. + test -n "$dir_arg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + instcmd=: + chmodcmd= + else + instcmd=$mkdirprog + fi + else + # Waiting for this to be detected by the "$instcmd $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" || lasterr=$? + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; } + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $instcmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + # If we're going to rename the final executable, determine the name now. + if test -z "$transformarg"; then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename \ + | sed $transformarg`$transformbasename + fi + + # don't allow the sed command to completely eliminate the filename. + test -z "$dstfile" && dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Move or copy the file name to the temp name + $doit $instcmd "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $instcmd $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/ltmain.sh b/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/ltmain.sh new file mode 100644 index 0000000..c715b59 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/ltmain.sh @@ -0,0 +1,6871 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.22 Debian 1.5.22-4" +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + fi + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + else + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/missing b/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/missing new file mode 100755 index 0000000..e7ef83a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/config/missing @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2003-09-02.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/configure b/lib/beagle-3.0.3/examples/GA/maxfctfloat/configure new file mode 100755 index 0000000..08c1480 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/configure @@ -0,0 +1,22313 @@ +#! /bin/sh +# From configure.ac Revision: 1.4 . +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for Real-valued GA function maximization example 3.0.0. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='Real-valued GA function maximization example' +PACKAGE_TARNAME='maxfctfloat' +PACKAGE_VERSION='3.0.0' +PACKAGE_STRING='Real-valued GA function maximization example 3.0.0' +PACKAGE_BUGREPORT='cgagne@gmail.com' + +ac_unique_file="maxfctfloat/MaxFctFloatEvalOp.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +AMTAR +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +CXX +CXXFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CXX +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +LN_S +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +CC +CFLAGS +ac_ct_CC +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +GREP +EGREP +ECHO +AR +RANLIB +CPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +PTHREAD_CC +PTHREAD_LIBS +PTHREAD_CFLAGS +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +CPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures Real-valued GA function maximization example 3.0.0 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/maxfctfloat] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of Real-valued GA function maximization example 3.0.0:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] include additional configurations [automatic] + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + --with-pacc-util=DIR specify installation path of PACC::Util + --with-pacc-util-include=DIR specify exact dir for PACC::Util headers + --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries + --with-pacc-xml=DIR specify installation path of PACC::XML + --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers + --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries + --with-pacc-math=DIR specify installation path of PACC::Math + --with-pacc-math-include=DIR specify exact dir for PACC::Math headers + --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries + --with-pacc-threading=DIR specify installation path of PACC::Threading + --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers + --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries + --with-beagle=DIR specify installation path of Open BEAGLE + --with-beagle-include=DIR specify exact dir for Open BEAGLE headers + --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers + --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers + --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers + --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries + --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries + --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries + --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + CPP C preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +Real-valued GA function maximization example configure 3.0.0 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by Real-valued GA function maximization example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in config "$srcdir"/config; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +am__api_version="1.8" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='maxfctfloat' + VERSION='3.0.0' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. + + + +ac_config_headers="$ac_config_headers maxfctfloat/config.hpp:maxfctfloat/config.hpp.in" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 +echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 +echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 5044 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7303: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7307: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7571: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7575: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7675: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:7679: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix3*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_CXX=yes + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_CXX='+b $libdir' + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix3*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix3*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +solaris*) + case $cc_basename in + CC*) + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + postdeps_CXX='-lCstd -lCrun' + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12408: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:12412: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12512: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:12516: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_CXX" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14073: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:14077: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14177: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:14181: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix3*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_F77=yes + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_F77" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16364: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16368: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16632: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16636: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16736: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:16740: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix3*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_GCJ=yes + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_GCJ" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_RC" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + +# +# Handle user hints +# +{ echo "$as_me:$LINENO: checking if zlib is wanted" >&5 +echo $ECHO_N "checking if zlib is wanted... $ECHO_C" >&6; } + +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then + withval=$with_zlib; if test "$withval" != no ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + ZLIB_HOME="$withval" +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +else + +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + zlib_cv_libz=yes +else + zlib_cv_libz=no +fi + + if test "${ac_cv_header_zlib_h+set}" = set; then + { echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking zlib.h usability" >&5 +echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking zlib.h presence" >&5 +echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_zlib_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } + +fi +if test $ac_cv_header_zlib_h = yes; then + zlib_cv_zlib_h=yes +else + zlib_cv_zlib_h=no +fi + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + +{ echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +fi + + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } + fi +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_join (); +int +main () +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 +echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6; } + ;; + + -*) + { echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 +echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + *) + { echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 +echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 +echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_JOINABLE +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_UNDETACHED +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +cat >>confdefs.h <<\_ACEOF +#define PTHREAD_CREATE_JOINABLE $ok +_ACEOF + + fi + { echo "$as_me:$LINENO: result: ${ok}" >&5 +echo "${ECHO_T}${ok}" >&6; } + if test x"$ok" = xunknown; then + { echo "$as_me:$LINENO: WARNING: we do not know how to create joinable pthreads" >&5 +echo "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 +echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { echo "$as_me:$LINENO: result: ${flag}" >&5 +echo "${ECHO_T}${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PTHREAD_CC="cc_r" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 +echo "${ECHO_T}$PTHREAD_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_PTHREAD 1 +_ACEOF + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + + + +# Check whether --with-pacc-util was given. +if test "${with_pacc_util+set}" = set; then + withval=$with_pacc_util; pacc_util_path="$withval" +else + pacc_util_path="../../../../PACC" +fi + + +# Check whether --with-pacc-util-include was given. +if test "${with_pacc_util_include+set}" = set; then + withval=$with_pacc_util_include; pacc_util_path_include="$withval" +fi + + +# Check whether --with-pacc-util-libdir was given. +if test "${with_pacc_util_libdir+set}" = set; then + withval=$with_pacc_util_libdir; pacc_util_path_libdir="$withval" +fi + +if test -z "$pacc_util_path"; then + pacc_util_path="../../../../PACC" +fi +if test -z "$pacc_util_path_include"; then + if test -z "../../../../PACC"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "../../../../PACC/Util"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="../../../../PACC/Util" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Util headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Util headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_util_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Util.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_util_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_util_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_util_include_test" >&5 +echo "${ECHO_T}$pacc_util_include_test" >&6; } + + + +# Check whether --with-pacc-xml was given. +if test "${with_pacc_xml+set}" = set; then + withval=$with_pacc_xml; pacc_xml_path="$withval" +else + pacc_xml_path="../../../../PACC" +fi + + +# Check whether --with-pacc-xml-include was given. +if test "${with_pacc_xml_include+set}" = set; then + withval=$with_pacc_xml_include; pacc_xml_path_include="$withval" +fi + + +# Check whether --with-pacc-xml-libdir was given. +if test "${with_pacc_xml_libdir+set}" = set; then + withval=$with_pacc_xml_libdir; pacc_xml_path_libdir="$withval" +fi + +if test -z "$pacc_xml_path"; then + pacc_xml_path="../../../../PACC" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "../../../../PACC"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "../../../../PACC/XML"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="../../../../PACC/XML" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::XML headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::XML headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_xml_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +XML.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_xml_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_xml_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_xml_include_test" >&5 +echo "${ECHO_T}$pacc_xml_include_test" >&6; } + + + +# Check whether --with-pacc-math was given. +if test "${with_pacc_math+set}" = set; then + withval=$with_pacc_math; pacc_math_path="$withval" +else + pacc_math_path="../../../../PACC" +fi + + +# Check whether --with-pacc-math-include was given. +if test "${with_pacc_math_include+set}" = set; then + withval=$with_pacc_math_include; pacc_math_path_include="$withval" +fi + + +# Check whether --with-pacc-math-libdir was given. +if test "${with_pacc_math_libdir+set}" = set; then + withval=$with_pacc_math_libdir; pacc_math_path_libdir="$withval" +fi + +if test -z "$pacc_math_path"; then + pacc_math_path="../../../../PACC" +fi +if test -z "$pacc_math_path_include"; then + if test -z "../../../../PACC"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "../../../../PACC/Math"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="../../../../PACC/Math" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Math headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Math headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_math_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Math.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_math_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_math_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_math_include_test" >&5 +echo "${ECHO_T}$pacc_math_include_test" >&6; } + + + +# Check whether --with-pacc-threading was given. +if test "${with_pacc_threading+set}" = set; then + withval=$with_pacc_threading; pacc_threading_path="$withval" +else + pacc_threading_path="../../../../PACC" +fi + + +# Check whether --with-pacc-threading-include was given. +if test "${with_pacc_threading_include+set}" = set; then + withval=$with_pacc_threading_include; pacc_threading_path_include="$withval" +fi + + +# Check whether --with-pacc-threading-libdir was given. +if test "${with_pacc_threading_libdir+set}" = set; then + withval=$with_pacc_threading_libdir; pacc_threading_path_libdir="$withval" +fi + +if test -z "$pacc_threading_path"; then + pacc_threading_path="../../../../PACC" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "../../../../PACC"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "../../../../PACC/Threading"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="../../../../PACC/Threading" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Threading headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Threading headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_threading_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Threading.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_threading_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_threading_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_threading_include_test" >&5 +echo "${ECHO_T}$pacc_threading_include_test" >&6; } + + + +# Check whether --enable-optimization was given. +if test "${enable_optimization+set}" = set; then + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` +fi + +# Check whether --with-beagle was given. +if test "${with_beagle+set}" = set; then + withval=$with_beagle; ob_beagle_path="$withval" +else + ob_beagle_path="../../../../beagle" +fi + + +# Check whether --with-beagle-include was given. +if test "${with_beagle_include+set}" = set; then + withval=$with_beagle_include; ob_beagle_path_include="$withval" +fi + + +# Check whether --with-beagle-GA-include was given. +if test "${with_beagle_GA_include+set}" = set; then + withval=$with_beagle_GA_include; ob_beagle_path_ga_include="$withval" +fi + + +# Check whether --with-beagle-GP-include was given. +if test "${with_beagle_GP_include+set}" = set; then + withval=$with_beagle_GP_include; ob_beagle_path_gp_include="$withval" +fi + + +# Check whether --with-beagle-Coev-include was given. +if test "${with_beagle_Coev_include+set}" = set; then + withval=$with_beagle_Coev_include; ob_beagle_path_coev_include="$withval" +fi + + +# Check whether --with-beagle-libdir was given. +if test "${with_beagle_libdir+set}" = set; then + withval=$with_beagle_libdir; ob_beagle_path_libdir="$withval" +fi + + +# Check whether --with-beagle-GA-libdir was given. +if test "${with_beagle_GA_libdir+set}" = set; then + withval=$with_beagle_GA_libdir; ob_beagle_path_ga_libdir="$withval" +fi + + +# Check whether --with-beagle-GP-libdir was given. +if test "${with_beagle_GP_libdir+set}" = set; then + withval=$with_beagle_GP_libdir; ob_beagle_path_gp_libdir="$withval" +fi + + +# Check whether --with-beagle-Coev-libdir was given. +if test "${with_beagle_Coev_libdir+set}" = set; then + withval=$with_beagle_Coev_libdir; ob_beagle_path_coev_libdir="$withval" +fi + +if test -z "$ob_beagle_path"; then + ob_beagle_path="../../../../beagle" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "../../../../beagle/include"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="../../../../beagle/include" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "../../../../beagle/src"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="../../../../beagle/src" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "../../../../beagle/GA/include"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="../../../../beagle/GA/include" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "../../../../beagle/GA/src"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="../../../../beagle/GA/src" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "../../../../beagle/GP/include"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="../../../../beagle/GP/include" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "../../../../beagle/GP/src"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="../../../../beagle/GP/src" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "../../../../beagle/Coev/include"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="../../../../beagle/Coev/include" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "../../../../beagle/Coev/src"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="../../../../beagle/Coev/src" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +{ echo "$as_me:$LINENO: checking if Open BEAGLE headers are correctly included" >&5 +echo $ECHO_N "checking if Open BEAGLE headers are correctly included... $ECHO_C" >&6; } +if test "${ob_beagle_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + ob_beagle_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ob_beagle_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ob_beagle_include_test" >&5 +echo "${ECHO_T}$ob_beagle_include_test" >&6; } + + +ac_config_files="$ac_config_files Makefile maxfctfloat/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by Real-valued GA function maximization example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +Real-valued GA function maximization example config.status 3.0.0 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "maxfctfloat/config.hpp") CONFIG_HEADERS="$CONFIG_HEADERS maxfctfloat/config.hpp:maxfctfloat/config.hpp.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "maxfctfloat/Makefile") CONFIG_FILES="$CONFIG_FILES maxfctfloat/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +AMTAR!$AMTAR$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +LN_S!$LN_S$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CPP!$CPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +LIBTOOL!$LIBTOOL$ac_delim +PTHREAD_CC!$PTHREAD_CC$ac_delim +PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim +PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 6; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/configure.ac b/lib/beagle-3.0.3/examples/GA/maxfctfloat/configure.ac new file mode 100644 index 0000000..7968d5b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/configure.ac @@ -0,0 +1,50 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT([Real-valued GA function maximization example],[3.0.0],[cgagne@gmail.com],[maxfctfloat]) +AC_CONFIG_SRCDIR([maxfctfloat/MaxFctFloatEvalOp.cpp]) +AC_CONFIG_AUX_DIR([config]) +AC_REVISION([$Revision: 1.4 $]) +AM_INIT_AUTOMAKE +AM_CONFIG_HEADER([maxfctfloat/config.hpp:maxfctfloat/config.hpp.in]) + +dnl Checks for programs. +AC_PROG_AWK +AC_PROG_CXX +AC_PROG_CXXCPP +AC_PROG_LN_S +AC_PROG_LIBTOOL + +dnl Set language. +AC_LANG([C++]) + +dnl Checks for libraries. +AC_HEADER_STDC + +dnl Check for zlib support. +CHECK_ZLIB + +dnl Check for POSIX threads support. +ACX_PTHREAD +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +dnl Initialize PACC libraries with the given paths. +PACC_UTIL_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Util]) +PACC_XML_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/XML]) +PACC_MATH_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Math]) +PACC_THREADING_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Threading]) + +dnl Initialize Open BEAGLE with the given paths. +OB_BEAGLE_INIT([../../../../beagle], + [../../../../beagle/include], + [../../../../beagle/src], + [../../../../beagle/GA/include], + [../../../../beagle/GA/src], + [../../../../beagle/GP/include], + [../../../../beagle/GP/src], + [../../../../beagle/Coev/include], + [../../../../beagle/Coev/src]) + +dnl Create makefiles. +AC_CONFIG_FILES([Makefile maxfctfloat/Makefile]) +AC_OUTPUT diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat.kdevelop b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat.kdevelop new file mode 100644 index 0000000..ddb99a6 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat.kdevelop @@ -0,0 +1,202 @@ + + + + Christian Gagne + cgagne@gmail.com + 3.0.0 + KDevAutoProject + C++ + + C++ + Code + + + . + false + + + + + + src/maxfctfloat + default + + + maxfctfloat/maxfctfloat + true + executable + / + + true + + + + + + + + + + + kdevgccoptions + kdevgppoptions + kdevg77options + + + + + + + + + + + + + + false + 1 + false + + 0 + + + + + ada + ada_bugs_gcc + bash + bash_bugs + clanlib + w3c-dom-level2-html + fortran_bugs_gcc + gnome1 + gnustep + gtk + gtk_bugs + haskell + haskell_bugs_ghc + java_bugs_gcc + java_bugs_sun + kde2book + opengl + pascal_bugs_fp + php + php_bugs + perl + perl_bugs + python + python_bugs + qt-kdev3 + ruby + ruby_bugs + sdl + w3c-svg + sw + w3c-uaag10 + wxwidgets_bugs + + + Guide to the Qt Translation Tools + Qt Assistant Manual + Qt Designer Manual + Qt Reference Documentation + qmake User Guide + + + KDE Libraries (Doxygen) + + + + + + + + + + + + + + false + false + + + *.o,*.lo,CVS + false + false + + + + + + + + + + + maxfctfloat + maxfctfloat + MAXFCTFLOAT + Christian Gagne + cgagne@gmail.com + GPL + COPYING + 3.0.0 + /home/cgagne/tmp/maxfctfloat + + + + + true + true + true + false + true + true + true + 250 + 400 + 250 + + + + set + m_,_ + theValue + true + true + + + + + .hpp + .cpp + + + + + -OBec.conf.file=maxfctfloat-cmaes.conf,lg.console.level=6 + + + + + + true + false + false + + + false + true + 10 + + + + true + true + true + true + -C + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/Makefile.am b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/Makefile.am new file mode 100644 index 0000000..c48a8e2 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/Makefile.am @@ -0,0 +1,3 @@ +bin_PROGRAMS = maxfctfloat +maxfctfloat_SOURCES = MaxFctFloatEvalOp.hpp MaxFctFloatEvalOp.cpp MaxFctFloatMain.cpp + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/Makefile.in b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/Makefile.in new file mode 100644 index 0000000..4b33323 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/Makefile.in @@ -0,0 +1,485 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +SOURCES = $(maxfctfloat_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +bin_PROGRAMS = maxfctfloat$(EXEEXT) +subdir = maxfctfloat +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.hpp.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = config.hpp +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_maxfctfloat_OBJECTS = MaxFctFloatEvalOp.$(OBJEXT) \ + MaxFctFloatMain.$(OBJEXT) +maxfctfloat_OBJECTS = $(am_maxfctfloat_OBJECTS) +maxfctfloat_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/MaxFctFloatEvalOp.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/MaxFctFloatMain.Po +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(maxfctfloat_SOURCES) +DIST_SOURCES = $(maxfctfloat_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +maxfctfloat_SOURCES = MaxFctFloatEvalOp.hpp MaxFctFloatEvalOp.cpp MaxFctFloatMain.cpp +all: config.hpp + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign maxfctfloat/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign maxfctfloat/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +config.hpp: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.hpp.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status maxfctfloat/config.hpp +$(srcdir)/config.hpp.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.hpp stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +maxfctfloat$(EXEEXT): $(maxfctfloat_OBJECTS) $(maxfctfloat_DEPENDENCIES) + @rm -f maxfctfloat$(EXEEXT) + $(CXXLINK) $(maxfctfloat_LDFLAGS) $(maxfctfloat_OBJECTS) $(maxfctfloat_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MaxFctFloatEvalOp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MaxFctFloatMain.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) config.hpp +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatEvalOp.cpp b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatEvalOp.cpp new file mode 100644 index 0000000..36b572d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatEvalOp.cpp @@ -0,0 +1,74 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file MaxFctFloatEvalOp.cpp + * \brief Implementation of the class MaxFctFloatEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#include "beagle/GA.hpp" +#include "MaxFctFloatEvalOp.hpp" + +#include + +using namespace Beagle; + +/*! + * \brief Construct the individual evaluation operator for maximizing the function. + */ +MaxFctFloatEvalOp::MaxFctFloatEvalOp() : + EvaluationOp("MaxFctFloatEvalOp") +{ } + + +/*! + * \brief Evaluate the fitness of the given individual. + * \param inIndividual Current individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness value of the individual. + */ +Fitness::Handle MaxFctFloatEvalOp::evaluate(Individual& inIndividual, Context& ioContext) +{ + Beagle_AssertM(inIndividual.size() == 1); + GA::FloatVector::Handle lFloatVector = castHandleT(inIndividual[0]); + Beagle_AssertM(lFloatVector->size() == 5); + double lU = 10.0; + double lSum = 0.0; + for(unsigned int i=0; i<5; ++i) { + double lXi = (*lFloatVector)[i]; + if(lXi > 200.0) lXi = 200.0; + if(lXi < -200.0) lXi = -200.0; + lSum += (lXi*lXi) + (lU*lU); + lU += lXi; + } + lSum += (lU*lU); + double lF = 161.8 / lSum; + return new FitnessSimple(lF); +} diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatEvalOp.hpp b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatEvalOp.hpp new file mode 100644 index 0000000..266015b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatEvalOp.hpp @@ -0,0 +1,90 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file MaxFctFloatEvalOp.hpp + * \brief Definition of the type MaxFctFloatEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +/*! + * \defgroup MaxFctFloat Function Maximization with Real-Valued GA Example + * \brief Function maximization with real-valued GA (MaxFctFloat): + * A simple real-valued GA example with Open BEAGLE. + * + * \par Objective + * Find the maximum of the following 5D function: + * \f$f(x) = \frac{161.8}{(u_N^2 \sum_{k=0}^{N-1}(x_k^2 + u_k^2))}\f$ + * with \f$x = \f$, \f$u_{k+1} = x_k + u_k\f$, \f$x_k\f$ + * in \f$[-200,200]\f$ for all \f$k\f$, \f$N = 5\f$ and \f$u_0 = 10\f$. + * + * \par Representation + * Vector of five floating-point numbers representing the function's five arguments + * \f$x_i\f$, limited in the interval \f$[-200,200]\f$. + * + * \par Fitness + * Value of \f$f(x_1,x_2,x_3,x_4,x_5)\f$. + * + */ + +#ifndef MaxFctFloatEvalOp_hpp +#define MaxFctFloatEvalOp_hpp + +#include "beagle/GA.hpp" +#include + + +/*! + * \class MaxFctFloatEvalOp MaxFctFloatEvalOp.hpp "MaxFctFloatEvalOp.hpp" + * \brief The individual evaluation class operator for the problem of real-valued GA + * function maximisation. + * \ingroup MaxFctFloat + */ +class MaxFctFloatEvalOp : public Beagle::EvaluationOp { + +public: + + //! MaxFctFloatEvalOp allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< MaxFctFloatEvalOp handle type. + typedef Beagle::PointerT + Handle; + //!< MaxFctFloatEvalOp bag type. + typedef Beagle::ContainerT + Bag; + + explicit MaxFctFloatEvalOp(); + + virtual Beagle::Fitness::Handle evaluate(Beagle::Individual& inIndividual, + Beagle::Context& ioContext); + +}; + +#endif // MaxFctFloatEvalOp_hpp diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatMain.cpp b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatMain.cpp new file mode 100644 index 0000000..2738648 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/MaxFctFloatMain.cpp @@ -0,0 +1,80 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file MaxFctFloatMain.cpp + * \brief Implementation of the main routine for the maximisation problem. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.6.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#include "beagle/GA.hpp" +#include "MaxFctFloatEvalOp.hpp" + +#include +#include +#include +#include +#include + +using namespace std; +using namespace Beagle; + +/*! + * \brief Main routine for the function maximisation problem. + * \param argc Number of arguments on the command-line. + * \param argv Arguments on the command-line. + * \return Return value of the program. + * \ingroup MaxFctFloat + */ +int main(int argc, char** argv) { + try { + // 1. Build the system. + System::Handle lSystem = new System; + // 2. Build evaluation operator. + MaxFctFloatEvalOp::Handle lEvalOp = new MaxFctFloatEvalOp; + // 3. Instanciate the evolver and the vivarium for float vectors GA population. + GA::FloatVector::Alloc::Handle lFVAlloc = new GA::FloatVector::Alloc; + Vivarium::Handle lVivarium = new Vivarium(lFVAlloc); + // 4. Set representation, float vectors of 5 values. + const unsigned int lVectorSize=5; + // 5. Initialize the evolver and evolve the vivarium. + GA::EvolverFloatVector::Handle lEvolver = new GA::EvolverFloatVector(lEvalOp, lVectorSize); + lEvolver->initialize(lSystem, argc, argv); + lEvolver->evolve(lVivarium); + } + catch(Exception& inException) { + inException.terminate(cerr); + } + catch(std::exception& inException) { + cerr << "Standard exception catched:" << endl << flush; + cerr << inException.what() << endl << flush; + return 1; + } + return 0; +} diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/config.hpp.in b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/config.hpp.in new file mode 100644 index 0000000..b9d1f6c --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/config.hpp.in @@ -0,0 +1,65 @@ +/* maxfctfloat/config.hpp.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `z' library (-lz). */ +#undef HAVE_LIBZ + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define if you have POSIX threads libraries and header files. */ +#undef HAVE_PTHREAD + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +#undef PTHREAD_CREATE_JOINABLE + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-cmaes-non-breeder.conf b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-cmaes-non-breeder.conf new file mode 100644 index 0000000..408e2f7 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-cmaes-non-breeder.conf @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100 + 10 + 2.0 + 1.0 + 200.0 + -200.0 + 200.0 + -200.0 + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-cmaes.conf b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-cmaes.conf new file mode 100644 index 0000000..a17b5f8 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-cmaes.conf @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100 + 10 + 2.0 + 200.0 + -200.0 + 200.0 + -200.0 + 1.0 + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-generational.conf b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-generational.conf new file mode 100644 index 0000000..2da9609 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-generational.conf @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.3 + 0.2 + 0.05 + 0.5 + 200.0 + -200.0 + 200.0 + -200.0 + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-sbx.conf b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-sbx.conf new file mode 100644 index 0000000..1ce3d52 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-sbx.conf @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 200.0 + -200.0 + 200.0 + -200.0 + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-steadystate.conf b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-steadystate.conf new file mode 100644 index 0000000..a5163eb --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat-steadystate.conf @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.3 + 0.2 + 0.05 + 0.5 + 200.0 + -200.0 + 200.0 + -200.0 + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat.conf b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat.conf new file mode 100644 index 0000000..3c884a9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/maxfctfloat/maxfctfloat.conf @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 200.0 + -200.0 + 200.0 + -200.0 + + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/templates/cpp b/lib/beagle-3.0.3/examples/GA/maxfctfloat/templates/cpp new file mode 100644 index 0000000..9ddb041 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/templates/cpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/%{FILE} + * \brief Implementation of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:48 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GA/maxfctfloat/templates/hpp b/lib/beagle-3.0.3/examples/GA/maxfctfloat/templates/hpp new file mode 100644 index 0000000..a291268 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/maxfctfloat/templates/hpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/%{FILE} + * \brief Definition of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:48 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GA/onemax/AUTHORS b/lib/beagle-3.0.3/examples/GA/onemax/AUTHORS new file mode 100644 index 0000000..f0c32cf --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/AUTHORS @@ -0,0 +1,2 @@ +Christian Gagne +Marc Parizeau diff --git a/lib/beagle-3.0.3/examples/GA/onemax/COPYING b/lib/beagle-3.0.3/examples/GA/onemax/COPYING new file mode 100644 index 0000000..60549be --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/lib/beagle-3.0.3/examples/GA/onemax/INSTALL b/lib/beagle-3.0.3/examples/GA/onemax/INSTALL new file mode 100644 index 0000000..203fa35 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/INSTALL @@ -0,0 +1,81 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +OneMax (onemax): Simple GA example with Open BEAGLE + +Copyright (C) 2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON UNIX +========================================= + +To compile the onemax example on Unix (once the Open BEAGLE framework is built), +'cd' to the main example directory, and type the following commands. + + ./configure + make clean + make + +Then, the binary will be in directory 'onemax'. + +'configure' recognizes the following options to control how it +operates. + +'--enable-optimization' + Enable the 'optimization' mode by setting the optimization flags + of the compiler. Use this flag to compile a version of the examples + linked with an optimized version of the framework libraries. + +'--with-beagle=DIR' + Specify the installation path of Open BEAGLE. + +'--with-beagle-include=DIR' + Specify exact installation directory for Open BEAGLE headers. + +'--with-beagle-GA-include=DIR' + Specify exact installation directory for Open BEAGLE GA headers. + +'--with-beagle-GP-include=DIR' + Specify exact installation directory for Open BEAGLE GP headers. + +'--with-beagle-libdir=DIR' + Specify exact installation directory for Open BEAGLE libraries. + +'--with-beagle-GA-libdir=DIR' + Specify exact installation directory for Open BEAGLE GA libraries. + +'--with-beagle-GP-libdir=DIR' + Specify exact installation directory for Open BEAGLE GP libraries. + +'--cache-file=FILE' + Use and save the test results in file FILE instead of + './config.cache'. Set FILE to '/dev/null' to disable caching, for + debugging 'configure'. + +'--help' + Print a summary of the options to 'configure', and exit. + +'--quiet' +'--silent' +'-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to '/dev/null' (any error + messages will still be shown). + +'--version' + Print the version of Autoconf used to generate the 'configure' + script, and exit. + +'configure' also accepts some other, not widely useful, options. + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON MS VISUAL C++ .NET +======================================================= + +Go to folder 'MSVCPP' and open the solution file 'onemax.sln' with +MS Visual Studio .NET. Then you can compile the example. The binary will +be in directory 'onemax'. + diff --git a/lib/beagle-3.0.3/examples/GA/onemax/MSVCPP/onemax.sln b/lib/beagle-3.0.3/examples/GA/onemax/MSVCPP/onemax.sln new file mode 100644 index 0000000..a5a8068 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/MSVCPP/onemax.sln @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "onemax", "onemax\onemax.vcproj", "{B8B67564-3A2C-4151-BB76-4CBE25E536A1}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {B8B67564-3A2C-4151-BB76-4CBE25E536A1}.Debug.ActiveCfg = Debug|Win32 + {B8B67564-3A2C-4151-BB76-4CBE25E536A1}.Debug.Build.0 = Debug|Win32 + {B8B67564-3A2C-4151-BB76-4CBE25E536A1}.Release.ActiveCfg = Release|Win32 + {B8B67564-3A2C-4151-BB76-4CBE25E536A1}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/lib/beagle-3.0.3/examples/GA/onemax/MSVCPP/onemax.suo b/lib/beagle-3.0.3/examples/GA/onemax/MSVCPP/onemax.suo new file mode 100644 index 0000000..3599f1b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/MSVCPP/onemax.suo @@ -0,0 +1 @@ +ÐÏࡱ \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GA/onemax/MSVCPP/onemax/onemax.vcproj b/lib/beagle-3.0.3/examples/GA/onemax/MSVCPP/onemax/onemax.vcproj new file mode 100644 index 0000000..2a31c57 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/MSVCPP/onemax/onemax.vcproj @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/examples/GA/onemax/Makefile.am b/lib/beagle-3.0.3/examples/GA/onemax/Makefile.am new file mode 100644 index 0000000..4c0d4f3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/Makefile.am @@ -0,0 +1,2 @@ +AUTOMAKE_OPTIONS=dist-zip +SUBDIRS = onemax diff --git a/lib/beagle-3.0.3/examples/GA/onemax/Makefile.cvs b/lib/beagle-3.0.3/examples/GA/onemax/Makefile.cvs new file mode 100644 index 0000000..925be9f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/Makefile.cvs @@ -0,0 +1,4 @@ +SHELL = /bin/sh + +all: + ${SHELL} ./bootstrap diff --git a/lib/beagle-3.0.3/examples/GA/onemax/Makefile.in b/lib/beagle-3.0.3/examples/GA/onemax/Makefile.in new file mode 100644 index 0000000..7b589eb --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/Makefile.in @@ -0,0 +1,585 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \ + INSTALL config/config.guess config/config.sub config/depcomp \ + config/install-sh config/ltmain.sh config/missing \ + config/mkinstalldirs +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/onemax/config.hpp +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AUTOMAKE_OPTIONS = dist-zip +SUBDIRS = onemax +all: all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/config + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || mkdir "$(distdir)/$$subdir" \ + || exit 1; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="../$(top_distdir)" \ + distdir="../$(distdir)/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-libtool distclean-recursive \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GA/onemax/README b/lib/beagle-3.0.3/examples/GA/onemax/README new file mode 100644 index 0000000..b77539b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/README @@ -0,0 +1,34 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +OneMax (onemax): Simple GA example with Open BEAGLE + +Copyright (C) 2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +Getting started +=============== + + Example is compiled in binary 'onemax'. Usage options is described by + executing it with command-line argument '-OBusage'. The detailed help can + also be obtained with argument '-OBhelp'. + +Objective +========= + + Find a bit string filled with ones. + +Representation +============== + + Bit strings made of N bits. + +Fitness +======= + + Number of ones in the bit string, where the perfect solution has a fitness equal + to N, the size of the bit strings. + diff --git a/lib/beagle-3.0.3/examples/GA/onemax/acinclude.m4 b/lib/beagle-3.0.3/examples/GA/onemax/acinclude.m4 new file mode 100644 index 0000000..9d8ff5a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/acinclude.m4 @@ -0,0 +1,603 @@ +dnl +dnl Initialize an autoconf project that use PACC::Math. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_MATH_INIT(PACC_MATH_PATH +dnl [, PACC_MATH_INCLUDEPATH] +dnl [, PACC_MATH_LIBPATH]) +dnl +AC_DEFUN([PACC_MATH_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-math, + [ --with-pacc-math=DIR specify installation path of PACC::Math], + [pacc_math_path="$withval"], + [pacc_math_path="$1"]) +AC_ARG_WITH(pacc-math-include, + [ --with-pacc-math-include=DIR specify exact dir for PACC::Math headers], + [pacc_math_path_include="$withval"]) +AC_ARG_WITH(pacc-math-libdir, + [ --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries], + [pacc_math_path_libdir="$withval"]) +if test -z "$pacc_math_path"; then + pacc_math_path="$1" +fi +if test -z "$pacc_math_path_include"; then + if test -z "$2"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="$2" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "$3"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Math headers are correctly included, +pacc_math_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Math.hpp], + pacc_math_include_test=yes, + pacc_math_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Threading. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_THREADING_INIT(PACC_THREADING_PATH +dnl [, PACC_THREADING_INCLUDEPATH] +dnl [, PACC_THREADING_LIBPATH]) +dnl +AC_DEFUN([PACC_THREADING_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-threading, + [ --with-pacc-threading=DIR specify installation path of PACC::Threading], + [pacc_threading_path="$withval"], + [pacc_threading_path="$1"]) +AC_ARG_WITH(pacc-threading-include, + [ --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers], + [pacc_threading_path_include="$withval"]) +AC_ARG_WITH(pacc-threading-libdir, + [ --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries], + [pacc_threading_path_libdir="$withval"]) +if test -z "$pacc_threading_path"; then + pacc_threading_path="$1" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "$2"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="$2" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "$3"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Threading headers are correctly included, +pacc_threading_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Threading.hpp], + pacc_threading_include_test=yes, + pacc_threading_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Util. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_UTIL_INIT(PACC_UTIL_PATH +dnl [, PACC_UTIL_INCLUDEPATH] +dnl [, PACC_UTIL_LIBPATH]) +dnl +AC_DEFUN([PACC_UTIL_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-util, + [ --with-pacc-util=DIR specify installation path of PACC::Util], + [pacc_util_path="$withval"], + [pacc_util_path="$1"]) +AC_ARG_WITH(pacc-util-include, + [ --with-pacc-util-include=DIR specify exact dir for PACC::Util headers], + [pacc_util_path_include="$withval"]) +AC_ARG_WITH(pacc-util-libdir, + [ --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries], + [pacc_util_path_libdir="$withval"]) +if test -z "$pacc_util_path"; then + pacc_util_path="$1" +fi +if test -z "$pacc_util_path_include"; then + if test -z "$2"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="$2" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "$3"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Util headers are correctly included, +pacc_util_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Util.hpp], + pacc_util_include_test=yes, + pacc_util_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::XML. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_XML_INIT(PACC_XML_PATH +dnl [, PACC_XML_INCLUDEPATH] +dnl [, PACC_XML_LIBPATH]) +dnl +AC_DEFUN([PACC_XML_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-xml, + [ --with-pacc-xml=DIR specify installation path of PACC::XML], + [pacc_xml_path="$withval"], + [pacc_xml_path="$1"]) +AC_ARG_WITH(pacc-xml-include, + [ --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers], + [pacc_xml_path_include="$withval"]) +AC_ARG_WITH(pacc-xml-libdir, + [ --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries], + [pacc_xml_path_libdir="$withval"]) +if test -z "$pacc_xml_path"; then + pacc_xml_path="$1" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "$2"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="$2" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "$3"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::XML headers are correctly included, +pacc_xml_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([XML.hpp], + pacc_xml_include_test=yes, + pacc_xml_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use Open BEAGLE. +dnl +dnl by Christian Gagne, 14/10/2002, modified 10/10/2004 and 09/08/2005 +dnl +dnl OB_BEAGLE_INIT(BEAGLE_PATH +dnl [, BEAGLE_INCLUDEPATH] +dnl [, BEAGLE_LIBPATH] +dnl [, BEAGLE_GA_INCLUDEPATH] +dnl [, BEAGLE_GA_LIBPATH] +dnl [, BEAGLE_GP_INCLUDEPATH] +dnl [, BEAGLE_GP_LIBPATH] +dnl [, BEAGLE_COEV_INCLUDEPATH] +dnl [, BEAGLE_COEV_LIBPATH]) +dnl +AC_DEFUN([OB_BEAGLE_INIT], +[ +dnl Open BEAGLE optimization mode option. +AC_ARG_ENABLE(optimization, + [ --enable-optimization enable optimization mode [default=no]], + [case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac], + enable_optimization=no) +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` +fi +dnl Set headers and libraries path correctly +AC_ARG_WITH(beagle, + [ --with-beagle=DIR specify installation path of Open BEAGLE], + [ob_beagle_path="$withval"], + [ob_beagle_path="$1"]) +AC_ARG_WITH(beagle-include, + [ --with-beagle-include=DIR specify exact dir for Open BEAGLE headers], + [ob_beagle_path_include="$withval"]) +AC_ARG_WITH(beagle-GA-include, + [ --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers], + [ob_beagle_path_ga_include="$withval"]) +AC_ARG_WITH(beagle-GP-include, + [ --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers], + [ob_beagle_path_gp_include="$withval"]) +AC_ARG_WITH(beagle-Coev-include, + [ --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers], + [ob_beagle_path_coev_include="$withval"]) +AC_ARG_WITH(beagle-libdir, + [ --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries], + [ob_beagle_path_libdir="$withval"]) +AC_ARG_WITH(beagle-GA-libdir, + [ --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries], + [ob_beagle_path_ga_libdir="$withval"]) +AC_ARG_WITH(beagle-GP-libdir, + [ --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries], + [ob_beagle_path_gp_libdir="$withval"]) +AC_ARG_WITH(beagle-Coev-libdir, + [ --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries], + [ob_beagle_path_coev_libdir="$withval"]) +if test -z "$ob_beagle_path"; then + ob_beagle_path="$1" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "$2"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="$2" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "$3"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="$3" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "$4"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="$4" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "$5"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="$5" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "$6"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="$6" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "$7"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="$7" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "$8"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="$8" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "$9"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="$9" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if Open BEAGLE headers are correctly included, +ob_beagle_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp], + ob_beagle_include_test=yes, + ob_beagle_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl *************************************************************************** +dnl *************************************************************************** +AC_DEFUN([ACX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_SAVE +AC_LANG_C +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) + AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) + AC_MSG_RESULT($acx_pthread_ok) + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $flag]) + PTHREAD_CFLAGS="$flag" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$flag]) + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + AC_TRY_LINK([#include ], + [pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], + [acx_pthread_ok=yes]) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + AC_MSG_RESULT($acx_pthread_ok) + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + AC_MSG_CHECKING([for joinable pthread attribute]) + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_JOINABLE;], + ok=PTHREAD_CREATE_JOINABLE, ok=unknown) + if test x"$ok" = xunknown; then + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_UNDETACHED;], + ok=PTHREAD_CREATE_UNDETACHED, ok=unknown) + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok, + [Define to the necessary symbol if this constant + uses a non-standard name on your system.]) + fi + AC_MSG_RESULT(${ok}) + if test x"$ok" = xunknown; then + AC_MSG_WARN([we do not know how to create joinable pthreads]) + fi + + AC_MSG_CHECKING([if more special flags are required for pthreads]) + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + AC_MSG_RESULT(${flag}) + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) +else + PTHREAD_CC="$CC" +fi + +AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_CC) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) + : +else + acx_pthread_ok=no + $2 +fi +AC_LANG_RESTORE +])dnl ACX_PTHREAD + + + +AC_DEFUN([CHECK_ZLIB], +# +# Handle user hints +# +[AC_MSG_CHECKING(if zlib is wanted) +AC_ARG_WITH(zlib, +[ --with-zlib=DIR root directory path of zlib installation [defaults to + /usr/local or /usr if not found in /usr/local] + --without-zlib to disable zlib usage completely], +[if test "$withval" != no ; then + AC_MSG_RESULT(yes) + ZLIB_HOME="$withval" +else + AC_MSG_RESULT(no) +fi], [ +AC_MSG_RESULT(yes) +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi +]) +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) + AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) + AC_LANG_RESTORE + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + AC_CHECK_LIB(z, inflateEnd) + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + AC_MSG_RESULT(ok) + else + # + # If either header or library was not found, revert and bomb + # + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + AC_MSG_RESULT(failed) + fi +fi +]) diff --git a/lib/beagle-3.0.3/examples/GA/onemax/aclocal.m4 b/lib/beagle-3.0.3/examples/GA/onemax/aclocal.m4 new file mode 100644 index 0000000..1c4e723 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/aclocal.m4 @@ -0,0 +1,7302 @@ +# generated automatically by aclocal 1.8.5 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- + +# serial 48 Debian 1.5.22-4 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# ------------------ +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# --------------------------------------------------------------------- +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ---------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +# set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# ------------------ +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# ------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) + +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.8.5])]) + +# AM_AUX_DIR_EXPAND + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 6 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]) +fi])]) + +# serial 7 -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 7 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 11 + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG(AMTAR, tar) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl + +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# -*- Autoconf -*- + + +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. + +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# +# Check to make sure that the build environment is sane. +# + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# AM_PROG_INSTALL_STRIP + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +m4_include([acinclude.m4]) diff --git a/lib/beagle-3.0.3/examples/GA/onemax/bootstrap b/lib/beagle-3.0.3/examples/GA/onemax/bootstrap new file mode 100755 index 0000000..5972642 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/bootstrap @@ -0,0 +1,7 @@ +#!/bin/sh +set -x +autoheader +libtoolize --force --copy +aclocal -I config +automake --foreign --add-missing --force-missing --copy +autoconf diff --git a/lib/beagle-3.0.3/examples/GA/onemax/config/config.guess b/lib/beagle-3.0.3/examples/GA/onemax/config/config.guess new file mode 100755 index 0000000..396482d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/config/config.guess @@ -0,0 +1,1500 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-07-02' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + x86:Interix*:[3456]*) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T:Interix*:[3456]*) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/onemax/config/config.sub b/lib/beagle-3.0.3/examples/GA/onemax/config/config.sub new file mode 100755 index 0000000..fab0aa3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/config/config.sub @@ -0,0 +1,1616 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-09-20' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/onemax/config/depcomp b/lib/beagle-3.0.3/examples/GA/onemax/config/depcomp new file mode 100755 index 0000000..25bdb18 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/config/depcomp @@ -0,0 +1,526 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2004-04-25.13 + +# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit 0 + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit 0 + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # Dependencies are output in .lo.d with libtool 1.4. + # They are output in .o.d with libtool 1.5. + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.o.d" + tmpdepfile3="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + tmpdepfile3="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + elif test -f "$tmpdepfile2"; then + tmpdepfile="$tmpdepfile2" + else + tmpdepfile="$tmpdepfile3" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/onemax/config/install-sh b/lib/beagle-3.0.3/examples/GA/onemax/config/install-sh new file mode 100755 index 0000000..e4160c9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/config/install-sh @@ -0,0 +1,325 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2004-04-01.17 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename= +transform_arg= +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= + +usage="Usage: $0 [OPTION]... SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 -d DIRECTORIES... + +In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. +In the second, create the directory path DIR. + +Options: +-b=TRANSFORMBASENAME +-c copy source (using $cpprog) instead of moving (using $mvprog). +-d create directories instead of installing files. +-g GROUP $chgrp installed files to GROUP. +-m MODE $chmod installed files to MODE. +-o USER $chown installed files to USER. +-s strip installed files (using $stripprog). +-t=TRANSFORM +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit 0;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + --version) echo "$0 $scriptversion"; exit 0;; + + *) # When -d is used, all remaining arguments are directories to create. + test -n "$dir_arg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + instcmd=: + chmodcmd= + else + instcmd=$mkdirprog + fi + else + # Waiting for this to be detected by the "$instcmd $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" || lasterr=$? + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; } + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $instcmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + # If we're going to rename the final executable, determine the name now. + if test -z "$transformarg"; then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename \ + | sed $transformarg`$transformbasename + fi + + # don't allow the sed command to completely eliminate the filename. + test -z "$dstfile" && dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Move or copy the file name to the temp name + $doit $instcmd "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $instcmd $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/onemax/config/ltmain.sh b/lib/beagle-3.0.3/examples/GA/onemax/config/ltmain.sh new file mode 100644 index 0000000..c715b59 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/config/ltmain.sh @@ -0,0 +1,6871 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.22 Debian 1.5.22-4" +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + fi + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + else + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/lib/beagle-3.0.3/examples/GA/onemax/config/missing b/lib/beagle-3.0.3/examples/GA/onemax/config/missing new file mode 100755 index 0000000..e7ef83a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/config/missing @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2003-09-02.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/onemax/configure b/lib/beagle-3.0.3/examples/GA/onemax/configure new file mode 100755 index 0000000..e97e00d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/configure @@ -0,0 +1,22313 @@ +#! /bin/sh +# From configure.ac Revision: 1.4 . +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for GA OneMax example 3.0.0. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='GA OneMax example' +PACKAGE_TARNAME='onemax' +PACKAGE_VERSION='3.0.0' +PACKAGE_STRING='GA OneMax example 3.0.0' +PACKAGE_BUGREPORT='cgagne@gmail.com' + +ac_unique_file="onemax/OneMaxEvalOp.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +AMTAR +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +CXX +CXXFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CXX +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +LN_S +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +CC +CFLAGS +ac_ct_CC +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +GREP +EGREP +ECHO +AR +RANLIB +CPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +PTHREAD_CC +PTHREAD_LIBS +PTHREAD_CFLAGS +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +CPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures GA OneMax example 3.0.0 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/onemax] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of GA OneMax example 3.0.0:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] include additional configurations [automatic] + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + --with-pacc-util=DIR specify installation path of PACC::Util + --with-pacc-util-include=DIR specify exact dir for PACC::Util headers + --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries + --with-pacc-xml=DIR specify installation path of PACC::XML + --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers + --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries + --with-pacc-math=DIR specify installation path of PACC::Math + --with-pacc-math-include=DIR specify exact dir for PACC::Math headers + --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries + --with-pacc-threading=DIR specify installation path of PACC::Threading + --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers + --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries + --with-beagle=DIR specify installation path of Open BEAGLE + --with-beagle-include=DIR specify exact dir for Open BEAGLE headers + --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers + --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers + --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers + --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries + --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries + --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries + --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + CPP C preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +GA OneMax example configure 3.0.0 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by GA OneMax example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in config "$srcdir"/config; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +am__api_version="1.8" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='onemax' + VERSION='3.0.0' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. + + + +ac_config_headers="$ac_config_headers onemax/config.hpp:onemax/config.hpp.in" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 +echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 +echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 5044 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7303: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7307: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7571: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7575: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7675: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:7679: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix3*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_CXX=yes + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_CXX='+b $libdir' + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix3*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix3*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +solaris*) + case $cc_basename in + CC*) + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + postdeps_CXX='-lCstd -lCrun' + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12408: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:12412: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12512: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:12516: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_CXX" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14073: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:14077: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14177: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:14181: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix3*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_F77=yes + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_F77" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16364: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16368: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16632: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16636: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16736: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:16740: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix3*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_GCJ=yes + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_GCJ" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_RC" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + +# +# Handle user hints +# +{ echo "$as_me:$LINENO: checking if zlib is wanted" >&5 +echo $ECHO_N "checking if zlib is wanted... $ECHO_C" >&6; } + +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then + withval=$with_zlib; if test "$withval" != no ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + ZLIB_HOME="$withval" +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +else + +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + zlib_cv_libz=yes +else + zlib_cv_libz=no +fi + + if test "${ac_cv_header_zlib_h+set}" = set; then + { echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking zlib.h usability" >&5 +echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking zlib.h presence" >&5 +echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_zlib_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } + +fi +if test $ac_cv_header_zlib_h = yes; then + zlib_cv_zlib_h=yes +else + zlib_cv_zlib_h=no +fi + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + +{ echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +fi + + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } + fi +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_join (); +int +main () +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 +echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6; } + ;; + + -*) + { echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 +echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + *) + { echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 +echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 +echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_JOINABLE +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_UNDETACHED +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +cat >>confdefs.h <<\_ACEOF +#define PTHREAD_CREATE_JOINABLE $ok +_ACEOF + + fi + { echo "$as_me:$LINENO: result: ${ok}" >&5 +echo "${ECHO_T}${ok}" >&6; } + if test x"$ok" = xunknown; then + { echo "$as_me:$LINENO: WARNING: we do not know how to create joinable pthreads" >&5 +echo "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 +echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { echo "$as_me:$LINENO: result: ${flag}" >&5 +echo "${ECHO_T}${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PTHREAD_CC="cc_r" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 +echo "${ECHO_T}$PTHREAD_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_PTHREAD 1 +_ACEOF + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + + + +# Check whether --with-pacc-util was given. +if test "${with_pacc_util+set}" = set; then + withval=$with_pacc_util; pacc_util_path="$withval" +else + pacc_util_path="../../../../PACC" +fi + + +# Check whether --with-pacc-util-include was given. +if test "${with_pacc_util_include+set}" = set; then + withval=$with_pacc_util_include; pacc_util_path_include="$withval" +fi + + +# Check whether --with-pacc-util-libdir was given. +if test "${with_pacc_util_libdir+set}" = set; then + withval=$with_pacc_util_libdir; pacc_util_path_libdir="$withval" +fi + +if test -z "$pacc_util_path"; then + pacc_util_path="../../../../PACC" +fi +if test -z "$pacc_util_path_include"; then + if test -z "../../../../PACC"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "../../../../PACC/Util"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="../../../../PACC/Util" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Util headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Util headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_util_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Util.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_util_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_util_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_util_include_test" >&5 +echo "${ECHO_T}$pacc_util_include_test" >&6; } + + + +# Check whether --with-pacc-xml was given. +if test "${with_pacc_xml+set}" = set; then + withval=$with_pacc_xml; pacc_xml_path="$withval" +else + pacc_xml_path="../../../../PACC" +fi + + +# Check whether --with-pacc-xml-include was given. +if test "${with_pacc_xml_include+set}" = set; then + withval=$with_pacc_xml_include; pacc_xml_path_include="$withval" +fi + + +# Check whether --with-pacc-xml-libdir was given. +if test "${with_pacc_xml_libdir+set}" = set; then + withval=$with_pacc_xml_libdir; pacc_xml_path_libdir="$withval" +fi + +if test -z "$pacc_xml_path"; then + pacc_xml_path="../../../../PACC" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "../../../../PACC"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "../../../../PACC/XML"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="../../../../PACC/XML" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::XML headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::XML headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_xml_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +XML.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_xml_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_xml_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_xml_include_test" >&5 +echo "${ECHO_T}$pacc_xml_include_test" >&6; } + + + +# Check whether --with-pacc-math was given. +if test "${with_pacc_math+set}" = set; then + withval=$with_pacc_math; pacc_math_path="$withval" +else + pacc_math_path="../../../../PACC" +fi + + +# Check whether --with-pacc-math-include was given. +if test "${with_pacc_math_include+set}" = set; then + withval=$with_pacc_math_include; pacc_math_path_include="$withval" +fi + + +# Check whether --with-pacc-math-libdir was given. +if test "${with_pacc_math_libdir+set}" = set; then + withval=$with_pacc_math_libdir; pacc_math_path_libdir="$withval" +fi + +if test -z "$pacc_math_path"; then + pacc_math_path="../../../../PACC" +fi +if test -z "$pacc_math_path_include"; then + if test -z "../../../../PACC"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "../../../../PACC/Math"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="../../../../PACC/Math" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Math headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Math headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_math_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Math.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_math_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_math_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_math_include_test" >&5 +echo "${ECHO_T}$pacc_math_include_test" >&6; } + + + +# Check whether --with-pacc-threading was given. +if test "${with_pacc_threading+set}" = set; then + withval=$with_pacc_threading; pacc_threading_path="$withval" +else + pacc_threading_path="../../../../PACC" +fi + + +# Check whether --with-pacc-threading-include was given. +if test "${with_pacc_threading_include+set}" = set; then + withval=$with_pacc_threading_include; pacc_threading_path_include="$withval" +fi + + +# Check whether --with-pacc-threading-libdir was given. +if test "${with_pacc_threading_libdir+set}" = set; then + withval=$with_pacc_threading_libdir; pacc_threading_path_libdir="$withval" +fi + +if test -z "$pacc_threading_path"; then + pacc_threading_path="../../../../PACC" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "../../../../PACC"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "../../../../PACC/Threading"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="../../../../PACC/Threading" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Threading headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Threading headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_threading_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Threading.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_threading_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_threading_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_threading_include_test" >&5 +echo "${ECHO_T}$pacc_threading_include_test" >&6; } + + + +# Check whether --enable-optimization was given. +if test "${enable_optimization+set}" = set; then + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` +fi + +# Check whether --with-beagle was given. +if test "${with_beagle+set}" = set; then + withval=$with_beagle; ob_beagle_path="$withval" +else + ob_beagle_path="../../../../beagle" +fi + + +# Check whether --with-beagle-include was given. +if test "${with_beagle_include+set}" = set; then + withval=$with_beagle_include; ob_beagle_path_include="$withval" +fi + + +# Check whether --with-beagle-GA-include was given. +if test "${with_beagle_GA_include+set}" = set; then + withval=$with_beagle_GA_include; ob_beagle_path_ga_include="$withval" +fi + + +# Check whether --with-beagle-GP-include was given. +if test "${with_beagle_GP_include+set}" = set; then + withval=$with_beagle_GP_include; ob_beagle_path_gp_include="$withval" +fi + + +# Check whether --with-beagle-Coev-include was given. +if test "${with_beagle_Coev_include+set}" = set; then + withval=$with_beagle_Coev_include; ob_beagle_path_coev_include="$withval" +fi + + +# Check whether --with-beagle-libdir was given. +if test "${with_beagle_libdir+set}" = set; then + withval=$with_beagle_libdir; ob_beagle_path_libdir="$withval" +fi + + +# Check whether --with-beagle-GA-libdir was given. +if test "${with_beagle_GA_libdir+set}" = set; then + withval=$with_beagle_GA_libdir; ob_beagle_path_ga_libdir="$withval" +fi + + +# Check whether --with-beagle-GP-libdir was given. +if test "${with_beagle_GP_libdir+set}" = set; then + withval=$with_beagle_GP_libdir; ob_beagle_path_gp_libdir="$withval" +fi + + +# Check whether --with-beagle-Coev-libdir was given. +if test "${with_beagle_Coev_libdir+set}" = set; then + withval=$with_beagle_Coev_libdir; ob_beagle_path_coev_libdir="$withval" +fi + +if test -z "$ob_beagle_path"; then + ob_beagle_path="../../../../beagle" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "../../../../beagle/include"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="../../../../beagle/include" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "../../../../beagle/src"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="../../../../beagle/src" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "../../../../beagle/GA/include"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="../../../../beagle/GA/include" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "../../../../beagle/GA/src"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="../../../../beagle/GA/src" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "../../../../beagle/GP/include"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="../../../../beagle/GP/include" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "../../../../beagle/GP/src"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="../../../../beagle/GP/src" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "../../../../beagle/Coev/include"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="../../../../beagle/Coev/include" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "../../../../beagle/Coev/src"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="../../../../beagle/Coev/src" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +{ echo "$as_me:$LINENO: checking if Open BEAGLE headers are correctly included" >&5 +echo $ECHO_N "checking if Open BEAGLE headers are correctly included... $ECHO_C" >&6; } +if test "${ob_beagle_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + ob_beagle_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ob_beagle_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ob_beagle_include_test" >&5 +echo "${ECHO_T}$ob_beagle_include_test" >&6; } + + +ac_config_files="$ac_config_files Makefile onemax/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by GA OneMax example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +GA OneMax example config.status 3.0.0 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "onemax/config.hpp") CONFIG_HEADERS="$CONFIG_HEADERS onemax/config.hpp:onemax/config.hpp.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "onemax/Makefile") CONFIG_FILES="$CONFIG_FILES onemax/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +AMTAR!$AMTAR$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +LN_S!$LN_S$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CPP!$CPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +LIBTOOL!$LIBTOOL$ac_delim +PTHREAD_CC!$PTHREAD_CC$ac_delim +PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim +PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 6; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/lib/beagle-3.0.3/examples/GA/onemax/configure.ac b/lib/beagle-3.0.3/examples/GA/onemax/configure.ac new file mode 100644 index 0000000..4d68467 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/configure.ac @@ -0,0 +1,50 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT([GA OneMax example],[3.0.0],[cgagne@gmail.com],[onemax]) +AC_CONFIG_SRCDIR([onemax/OneMaxEvalOp.cpp]) +AC_CONFIG_AUX_DIR([config]) +AC_REVISION([$Revision: 1.4 $]) +AM_INIT_AUTOMAKE +AM_CONFIG_HEADER([onemax/config.hpp:onemax/config.hpp.in]) + +dnl Checks for programs. +AC_PROG_AWK +AC_PROG_CXX +AC_PROG_CXXCPP +AC_PROG_LN_S +AC_PROG_LIBTOOL + +dnl Set language. +AC_LANG([C++]) + +dnl Checks for libraries. +AC_HEADER_STDC + +dnl Check for zlib support. +CHECK_ZLIB + +dnl Check for POSIX threads support. +ACX_PTHREAD +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +dnl Initialize PACC libraries with the given paths. +PACC_UTIL_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Util]) +PACC_XML_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/XML]) +PACC_MATH_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Math]) +PACC_THREADING_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Threading]) + +dnl Initialize Open BEAGLE with the given paths. +OB_BEAGLE_INIT([../../../../beagle], + [../../../../beagle/include], + [../../../../beagle/src], + [../../../../beagle/GA/include], + [../../../../beagle/GA/src], + [../../../../beagle/GP/include], + [../../../../beagle/GP/src], + [../../../../beagle/Coev/include], + [../../../../beagle/Coev/src]) + +dnl Create makefiles. +AC_CONFIG_FILES([Makefile onemax/Makefile]) +AC_OUTPUT diff --git a/lib/beagle-3.0.3/examples/GA/onemax/onemax.kdevelop b/lib/beagle-3.0.3/examples/GA/onemax/onemax.kdevelop new file mode 100644 index 0000000..dc0c75b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/onemax.kdevelop @@ -0,0 +1,202 @@ + + + + Christian Gagne + cgagne@gmail.com + 3.0.0 + KDevAutoProject + C++ + + C++ + Code + + + . + false + + + + + + src/onemax + default + + + onemax/onemax + true + executable + / + + true + + + + + + + + + + + kdevgccoptions + kdevgppoptions + kdevg77options + + + + + + + + + + + + + + false + 1 + false + + 0 + + + + + ada + ada_bugs_gcc + bash + bash_bugs + clanlib + w3c-dom-level2-html + fortran_bugs_gcc + gnome1 + gnustep + gtk + gtk_bugs + haskell + haskell_bugs_ghc + java_bugs_gcc + java_bugs_sun + kde2book + opengl + pascal_bugs_fp + php + php_bugs + perl + perl_bugs + python + python_bugs + qt-kdev3 + ruby + ruby_bugs + sdl + w3c-svg + sw + w3c-uaag10 + wxwidgets_bugs + + + Guide to the Qt Translation Tools + Qt Assistant Manual + Qt Designer Manual + Qt Reference Documentation + qmake User Guide + + + KDE Libraries (Doxygen) + + + + + + + + + + + + + + false + false + + + *.o,*.lo,CVS + false + false + + + + + + + + + + + onemax + onemax + ONEMAX + Christian Gagne + cgagne@gmail.com + GPL + COPYING + 3.0.0 + /home/cgagne/tmp/onemax + + + + + true + true + true + false + true + true + true + 250 + 400 + 250 + + + + set + m_,_ + theValue + true + true + + + + + .hpp + .cpp + + + + + -OBms.restart.file=beagle.obm + + + + + + true + false + false + + + false + true + 10 + + + + true + true + true + true + -C + + diff --git a/lib/beagle-3.0.3/examples/GA/onemax/onemax/Makefile.am b/lib/beagle-3.0.3/examples/GA/onemax/onemax/Makefile.am new file mode 100644 index 0000000..d4a7e38 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/onemax/Makefile.am @@ -0,0 +1,3 @@ +bin_PROGRAMS = onemax +onemax_SOURCES = OneMaxEvalOp.hpp OneMaxEvalOp.cpp OneMaxMain.cpp + diff --git a/lib/beagle-3.0.3/examples/GA/onemax/onemax/Makefile.in b/lib/beagle-3.0.3/examples/GA/onemax/onemax/Makefile.in new file mode 100644 index 0000000..668053e --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/onemax/Makefile.in @@ -0,0 +1,484 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +SOURCES = $(onemax_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +bin_PROGRAMS = onemax$(EXEEXT) +subdir = onemax +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.hpp.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = config.hpp +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_onemax_OBJECTS = OneMaxEvalOp.$(OBJEXT) OneMaxMain.$(OBJEXT) +onemax_OBJECTS = $(am_onemax_OBJECTS) +onemax_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/OneMaxEvalOp.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/OneMaxMain.Po +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(onemax_SOURCES) +DIST_SOURCES = $(onemax_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +onemax_SOURCES = OneMaxEvalOp.hpp OneMaxEvalOp.cpp OneMaxMain.cpp +all: config.hpp + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign onemax/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign onemax/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +config.hpp: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.hpp.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status onemax/config.hpp +$(srcdir)/config.hpp.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.hpp stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +onemax$(EXEEXT): $(onemax_OBJECTS) $(onemax_DEPENDENCIES) + @rm -f onemax$(EXEEXT) + $(CXXLINK) $(onemax_LDFLAGS) $(onemax_OBJECTS) $(onemax_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OneMaxEvalOp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OneMaxMain.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) config.hpp +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GA/onemax/onemax/OneMaxEvalOp.cpp b/lib/beagle-3.0.3/examples/GA/onemax/onemax/OneMaxEvalOp.cpp new file mode 100644 index 0000000..ea86955 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/onemax/OneMaxEvalOp.cpp @@ -0,0 +1,66 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file OneMaxEvalOp.cpp + * \brief Implementation of the class OneMaxEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#include "beagle/GA.hpp" +#include "OneMaxEvalOp.hpp" + +#include + +using namespace Beagle; + +/*! + * \brief Construct the individual evaluation operator for the OneMax problem. + */ +OneMaxEvalOp::OneMaxEvalOp() : + EvaluationOp("OneMaxEvalOp") +{ } + + +/*! + * \brief Evaluate the fitness of the given individual. + * \param inIndividual Current individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness value of the individual. + */ +Fitness::Handle OneMaxEvalOp::evaluate(Individual& inIndividual, Context& ioContext) +{ + Beagle_AssertM(inIndividual.size() == 1); + GA::BitString::Handle lBitString = castHandleT(inIndividual[0]); + unsigned int lCount = 0; + for(unsigned int i=0; isize(); ++i) { + if((*lBitString)[i] == true) ++lCount; + } + return new FitnessSimple(float(lCount)); +} diff --git a/lib/beagle-3.0.3/examples/GA/onemax/onemax/OneMaxEvalOp.hpp b/lib/beagle-3.0.3/examples/GA/onemax/onemax/OneMaxEvalOp.hpp new file mode 100644 index 0000000..378ab97 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/onemax/OneMaxEvalOp.hpp @@ -0,0 +1,85 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file OneMaxEvalOp.hpp + * \brief Definition of the type OneMaxEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +/*! + * \defgroup OneMax OneMax Example + * \brief OneMax (onemax): Simple GA example with Open BEAGLE. + * + * \par Objective + * Find a bit string filled with ones. + * + * \par Representation + * Bit strings made of N bits. + * + * \par Fitness + * Number of ones in the bit string, where the perfect solution has a fitness equal to N, the size of + * the bit strings. + * + */ + +#ifndef OneMaxEvalOp_hpp +#define OneMaxEvalOp_hpp + +#include "beagle/GA.hpp" +#include + + +/*! + * \class OneMaxEvalOp OneMaxEvalOp.hpp "OneMaxEvalOp.hpp" + * \brief The individual evaluation class operator for the OneMax problem. + * \ingroup OneMax + */ +class OneMaxEvalOp : public Beagle::EvaluationOp { + +public: + + //! OneMaxEvalOp allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< OneMaxEvalOp handle type. + typedef Beagle::PointerT + Handle; + //!< OneMaxEvalOp bag type. + typedef Beagle::ContainerT + Bag; + + explicit OneMaxEvalOp(); + + virtual Beagle::Fitness::Handle evaluate(Beagle::Individual& inIndividual, + Beagle::Context& ioContext); + +}; + +#endif // OneMaxEvalOp_hpp diff --git a/lib/beagle-3.0.3/examples/GA/onemax/onemax/OneMaxMain.cpp b/lib/beagle-3.0.3/examples/GA/onemax/onemax/OneMaxMain.cpp new file mode 100644 index 0000000..a69340b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/onemax/OneMaxMain.cpp @@ -0,0 +1,80 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file OneMaxMain.cpp + * \brief Implementation of the main routine for the OneMax problem. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#include "beagle/GA.hpp" +#include "OneMaxEvalOp.hpp" + +#include +#include +#include +#include +#include + +using namespace std; +using namespace Beagle; + +/*! + * \brief Main routine for the OneMax problem. + * \param argc Number of arguments on the command-line. + * \param argv Arguments on the command-line. + * \return Return value of the program. + * \ingroup OneMax + */ +int main(int argc, char** argv) { + try { + // 1. Build the system. + System::Handle lSystem = new System; + // 2. Build evaluation operator. + OneMaxEvalOp::Handle lEvalOp = new OneMaxEvalOp; + // 3. Instanciate the evolver. + const unsigned int lNumberOfBits = 50; + GA::EvolverBitString::Handle lEvolver = new GA::EvolverBitString(lEvalOp, lNumberOfBits); + // 4. Initialize the vivarium for bit string GA population. + GA::BitString::Alloc::Handle lBSAlloc = new GA::BitString::Alloc; + Vivarium::Handle lVivarium = new Vivarium(lBSAlloc); + // 5. Initialize the evolver and evolve the vivarium. + lEvolver->initialize(lSystem, argc, argv); + lEvolver->evolve(lVivarium); + } + catch(Exception& inException) { + inException.terminate(cerr); + } + catch(std::exception& inException) { + cerr << "Standard exception catched:" << endl << flush; + cerr << inException.what() << endl << flush; + return 1; + } + return 0; +} diff --git a/lib/beagle-3.0.3/examples/GA/onemax/onemax/config.hpp.in b/lib/beagle-3.0.3/examples/GA/onemax/onemax/config.hpp.in new file mode 100644 index 0000000..318a6f4 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/onemax/config.hpp.in @@ -0,0 +1,65 @@ +/* onemax/config.hpp.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `z' library (-lz). */ +#undef HAVE_LIBZ + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define if you have POSIX threads libraries and header files. */ +#undef HAVE_PTHREAD + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +#undef PTHREAD_CREATE_JOINABLE + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/lib/beagle-3.0.3/examples/GA/onemax/onemax/onemax-generational.conf b/lib/beagle-3.0.3/examples/GA/onemax/onemax/onemax-generational.conf new file mode 100644 index 0000000..b58ad98 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/onemax/onemax-generational.conf @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.6 + 0.3 + 0.1 + 0.1 + + \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GA/onemax/onemax/onemax-steadystate.conf b/lib/beagle-3.0.3/examples/GA/onemax/onemax/onemax-steadystate.conf new file mode 100644 index 0000000..7d0d908 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/onemax/onemax-steadystate.conf @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.6 + 0.3 + 0.1 + 0.1 + + \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GA/onemax/onemax/onemax.conf b/lib/beagle-3.0.3/examples/GA/onemax/onemax/onemax.conf new file mode 100644 index 0000000..6337a4d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/onemax/onemax.conf @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GA/onemax/templates/cpp b/lib/beagle-3.0.3/examples/GA/onemax/templates/cpp new file mode 100644 index 0000000..781c3ca --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/templates/cpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/%{FILE} + * \brief Implementation of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:49 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GA/onemax/templates/hpp b/lib/beagle-3.0.3/examples/GA/onemax/templates/hpp new file mode 100644 index 0000000..7ee806c --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/onemax/templates/hpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/%{FILE} + * \brief Definition of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:49 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GA/tsp/AUTHORS b/lib/beagle-3.0.3/examples/GA/tsp/AUTHORS new file mode 100644 index 0000000..f0c32cf --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/AUTHORS @@ -0,0 +1,2 @@ +Christian Gagne +Marc Parizeau diff --git a/lib/beagle-3.0.3/examples/GA/tsp/COPYING b/lib/beagle-3.0.3/examples/GA/tsp/COPYING new file mode 100644 index 0000000..60549be --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/lib/beagle-3.0.3/examples/GA/tsp/INSTALL b/lib/beagle-3.0.3/examples/GA/tsp/INSTALL new file mode 100644 index 0000000..dcc2a04 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/INSTALL @@ -0,0 +1,29 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Traveling Salesman Problem (tsp): Indices integer vector GA example + +Copyright (C) 2005-2006 by Christian Gagne + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON UNIX +========================================= + +To compile the tsp example on Unix (once the Open BEAGLE framework is built), +'cd' to the main example directory, and type the following commands. + + ./configure + make clean + make + +Then, the binary will be in directory 'tsp'. + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON MS VISUAL C++ .NET +======================================================= + +Go to folder 'MSVCPP' and open the solution file 'tsp.sln' with +MS Visual Studio .NET. Then you can compile the example. The binary will +be in directory 'tsp'. + diff --git a/lib/beagle-3.0.3/examples/GA/tsp/MSVCPP/tsp.sln b/lib/beagle-3.0.3/examples/GA/tsp/MSVCPP/tsp.sln new file mode 100644 index 0000000..4890e1b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/MSVCPP/tsp.sln @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tsp", "tsp\tsp.vcproj", "{D1A92DE4-B0BD-4272-9E63-4DE874A40720}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {D1A92DE4-B0BD-4272-9E63-4DE874A40720}.Debug.ActiveCfg = Debug|Win32 + {D1A92DE4-B0BD-4272-9E63-4DE874A40720}.Debug.Build.0 = Debug|Win32 + {D1A92DE4-B0BD-4272-9E63-4DE874A40720}.Release.ActiveCfg = Release|Win32 + {D1A92DE4-B0BD-4272-9E63-4DE874A40720}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/lib/beagle-3.0.3/examples/GA/tsp/MSVCPP/tsp.suo b/lib/beagle-3.0.3/examples/GA/tsp/MSVCPP/tsp.suo new file mode 100644 index 0000000..f06444c Binary files /dev/null and b/lib/beagle-3.0.3/examples/GA/tsp/MSVCPP/tsp.suo differ diff --git a/lib/beagle-3.0.3/examples/GA/tsp/MSVCPP/tsp/tsp.vcproj b/lib/beagle-3.0.3/examples/GA/tsp/MSVCPP/tsp/tsp.vcproj new file mode 100644 index 0000000..db817c0 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/MSVCPP/tsp/tsp.vcproj @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/examples/GA/tsp/Makefile.am b/lib/beagle-3.0.3/examples/GA/tsp/Makefile.am new file mode 100644 index 0000000..64c53fb --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/Makefile.am @@ -0,0 +1,2 @@ +AUTOMAKE_OPTIONS=dist-zip +SUBDIRS = tsp diff --git a/lib/beagle-3.0.3/examples/GA/tsp/Makefile.cvs b/lib/beagle-3.0.3/examples/GA/tsp/Makefile.cvs new file mode 100644 index 0000000..925be9f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/Makefile.cvs @@ -0,0 +1,4 @@ +SHELL = /bin/sh + +all: + ${SHELL} ./bootstrap diff --git a/lib/beagle-3.0.3/examples/GA/tsp/Makefile.in b/lib/beagle-3.0.3/examples/GA/tsp/Makefile.in new file mode 100644 index 0000000..c1d9616 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/Makefile.in @@ -0,0 +1,584 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \ + config/config.guess config/config.sub config/depcomp \ + config/install-sh config/ltmain.sh config/missing +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(mkdir_p) +CONFIG_HEADER = $(top_builddir)/tsp/config.hpp +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AUTOMAKE_OPTIONS = dist-zip +SUBDIRS = tsp +all: all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/config + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || mkdir "$(distdir)/$$subdir" \ + || exit 1; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="../$(top_distdir)" \ + distdir="../$(distdir)/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-libtool distclean-recursive \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GA/tsp/README b/lib/beagle-3.0.3/examples/GA/tsp/README new file mode 100644 index 0000000..ac0c4d9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/README @@ -0,0 +1,36 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Traveling Salesman Problem (tsp): Indices integer vector GA example + +Copyright (C) 2005 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +Getting started +=============== + + Example is compiled in binary 'tsp'. Usage options is described by + executing it with command-line argument '-OBusage'. The detailed help can + also be obtained with argument '-OBhelp'. + +Objective +========= + + Find a the shortest path to visit all the nodes of a randomly generated + graph. + +Representation +============== + + Order in which the nodes of the graph are visited. The integers in the + vector represent the indices of the nodes to visit. + +Fitness +======= + + Sum of the inter-node distance given the path represented by an integer + vector. + diff --git a/lib/beagle-3.0.3/examples/GA/tsp/acinclude.m4 b/lib/beagle-3.0.3/examples/GA/tsp/acinclude.m4 new file mode 100644 index 0000000..9d8ff5a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/acinclude.m4 @@ -0,0 +1,603 @@ +dnl +dnl Initialize an autoconf project that use PACC::Math. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_MATH_INIT(PACC_MATH_PATH +dnl [, PACC_MATH_INCLUDEPATH] +dnl [, PACC_MATH_LIBPATH]) +dnl +AC_DEFUN([PACC_MATH_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-math, + [ --with-pacc-math=DIR specify installation path of PACC::Math], + [pacc_math_path="$withval"], + [pacc_math_path="$1"]) +AC_ARG_WITH(pacc-math-include, + [ --with-pacc-math-include=DIR specify exact dir for PACC::Math headers], + [pacc_math_path_include="$withval"]) +AC_ARG_WITH(pacc-math-libdir, + [ --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries], + [pacc_math_path_libdir="$withval"]) +if test -z "$pacc_math_path"; then + pacc_math_path="$1" +fi +if test -z "$pacc_math_path_include"; then + if test -z "$2"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="$2" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "$3"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Math headers are correctly included, +pacc_math_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Math.hpp], + pacc_math_include_test=yes, + pacc_math_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Threading. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_THREADING_INIT(PACC_THREADING_PATH +dnl [, PACC_THREADING_INCLUDEPATH] +dnl [, PACC_THREADING_LIBPATH]) +dnl +AC_DEFUN([PACC_THREADING_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-threading, + [ --with-pacc-threading=DIR specify installation path of PACC::Threading], + [pacc_threading_path="$withval"], + [pacc_threading_path="$1"]) +AC_ARG_WITH(pacc-threading-include, + [ --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers], + [pacc_threading_path_include="$withval"]) +AC_ARG_WITH(pacc-threading-libdir, + [ --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries], + [pacc_threading_path_libdir="$withval"]) +if test -z "$pacc_threading_path"; then + pacc_threading_path="$1" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "$2"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="$2" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "$3"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Threading headers are correctly included, +pacc_threading_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Threading.hpp], + pacc_threading_include_test=yes, + pacc_threading_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Util. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_UTIL_INIT(PACC_UTIL_PATH +dnl [, PACC_UTIL_INCLUDEPATH] +dnl [, PACC_UTIL_LIBPATH]) +dnl +AC_DEFUN([PACC_UTIL_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-util, + [ --with-pacc-util=DIR specify installation path of PACC::Util], + [pacc_util_path="$withval"], + [pacc_util_path="$1"]) +AC_ARG_WITH(pacc-util-include, + [ --with-pacc-util-include=DIR specify exact dir for PACC::Util headers], + [pacc_util_path_include="$withval"]) +AC_ARG_WITH(pacc-util-libdir, + [ --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries], + [pacc_util_path_libdir="$withval"]) +if test -z "$pacc_util_path"; then + pacc_util_path="$1" +fi +if test -z "$pacc_util_path_include"; then + if test -z "$2"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="$2" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "$3"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Util headers are correctly included, +pacc_util_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Util.hpp], + pacc_util_include_test=yes, + pacc_util_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::XML. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_XML_INIT(PACC_XML_PATH +dnl [, PACC_XML_INCLUDEPATH] +dnl [, PACC_XML_LIBPATH]) +dnl +AC_DEFUN([PACC_XML_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-xml, + [ --with-pacc-xml=DIR specify installation path of PACC::XML], + [pacc_xml_path="$withval"], + [pacc_xml_path="$1"]) +AC_ARG_WITH(pacc-xml-include, + [ --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers], + [pacc_xml_path_include="$withval"]) +AC_ARG_WITH(pacc-xml-libdir, + [ --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries], + [pacc_xml_path_libdir="$withval"]) +if test -z "$pacc_xml_path"; then + pacc_xml_path="$1" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "$2"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="$2" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "$3"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::XML headers are correctly included, +pacc_xml_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([XML.hpp], + pacc_xml_include_test=yes, + pacc_xml_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use Open BEAGLE. +dnl +dnl by Christian Gagne, 14/10/2002, modified 10/10/2004 and 09/08/2005 +dnl +dnl OB_BEAGLE_INIT(BEAGLE_PATH +dnl [, BEAGLE_INCLUDEPATH] +dnl [, BEAGLE_LIBPATH] +dnl [, BEAGLE_GA_INCLUDEPATH] +dnl [, BEAGLE_GA_LIBPATH] +dnl [, BEAGLE_GP_INCLUDEPATH] +dnl [, BEAGLE_GP_LIBPATH] +dnl [, BEAGLE_COEV_INCLUDEPATH] +dnl [, BEAGLE_COEV_LIBPATH]) +dnl +AC_DEFUN([OB_BEAGLE_INIT], +[ +dnl Open BEAGLE optimization mode option. +AC_ARG_ENABLE(optimization, + [ --enable-optimization enable optimization mode [default=no]], + [case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac], + enable_optimization=no) +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` +fi +dnl Set headers and libraries path correctly +AC_ARG_WITH(beagle, + [ --with-beagle=DIR specify installation path of Open BEAGLE], + [ob_beagle_path="$withval"], + [ob_beagle_path="$1"]) +AC_ARG_WITH(beagle-include, + [ --with-beagle-include=DIR specify exact dir for Open BEAGLE headers], + [ob_beagle_path_include="$withval"]) +AC_ARG_WITH(beagle-GA-include, + [ --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers], + [ob_beagle_path_ga_include="$withval"]) +AC_ARG_WITH(beagle-GP-include, + [ --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers], + [ob_beagle_path_gp_include="$withval"]) +AC_ARG_WITH(beagle-Coev-include, + [ --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers], + [ob_beagle_path_coev_include="$withval"]) +AC_ARG_WITH(beagle-libdir, + [ --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries], + [ob_beagle_path_libdir="$withval"]) +AC_ARG_WITH(beagle-GA-libdir, + [ --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries], + [ob_beagle_path_ga_libdir="$withval"]) +AC_ARG_WITH(beagle-GP-libdir, + [ --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries], + [ob_beagle_path_gp_libdir="$withval"]) +AC_ARG_WITH(beagle-Coev-libdir, + [ --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries], + [ob_beagle_path_coev_libdir="$withval"]) +if test -z "$ob_beagle_path"; then + ob_beagle_path="$1" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "$2"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="$2" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "$3"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="$3" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "$4"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="$4" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "$5"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="$5" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "$6"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="$6" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "$7"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="$7" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "$8"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="$8" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "$9"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="$9" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if Open BEAGLE headers are correctly included, +ob_beagle_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp], + ob_beagle_include_test=yes, + ob_beagle_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl *************************************************************************** +dnl *************************************************************************** +AC_DEFUN([ACX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_SAVE +AC_LANG_C +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) + AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) + AC_MSG_RESULT($acx_pthread_ok) + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $flag]) + PTHREAD_CFLAGS="$flag" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$flag]) + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + AC_TRY_LINK([#include ], + [pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], + [acx_pthread_ok=yes]) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + AC_MSG_RESULT($acx_pthread_ok) + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + AC_MSG_CHECKING([for joinable pthread attribute]) + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_JOINABLE;], + ok=PTHREAD_CREATE_JOINABLE, ok=unknown) + if test x"$ok" = xunknown; then + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_UNDETACHED;], + ok=PTHREAD_CREATE_UNDETACHED, ok=unknown) + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok, + [Define to the necessary symbol if this constant + uses a non-standard name on your system.]) + fi + AC_MSG_RESULT(${ok}) + if test x"$ok" = xunknown; then + AC_MSG_WARN([we do not know how to create joinable pthreads]) + fi + + AC_MSG_CHECKING([if more special flags are required for pthreads]) + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + AC_MSG_RESULT(${flag}) + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) +else + PTHREAD_CC="$CC" +fi + +AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_CC) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) + : +else + acx_pthread_ok=no + $2 +fi +AC_LANG_RESTORE +])dnl ACX_PTHREAD + + + +AC_DEFUN([CHECK_ZLIB], +# +# Handle user hints +# +[AC_MSG_CHECKING(if zlib is wanted) +AC_ARG_WITH(zlib, +[ --with-zlib=DIR root directory path of zlib installation [defaults to + /usr/local or /usr if not found in /usr/local] + --without-zlib to disable zlib usage completely], +[if test "$withval" != no ; then + AC_MSG_RESULT(yes) + ZLIB_HOME="$withval" +else + AC_MSG_RESULT(no) +fi], [ +AC_MSG_RESULT(yes) +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi +]) +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) + AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) + AC_LANG_RESTORE + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + AC_CHECK_LIB(z, inflateEnd) + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + AC_MSG_RESULT(ok) + else + # + # If either header or library was not found, revert and bomb + # + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + AC_MSG_RESULT(failed) + fi +fi +]) diff --git a/lib/beagle-3.0.3/examples/GA/tsp/aclocal.m4 b/lib/beagle-3.0.3/examples/GA/tsp/aclocal.m4 new file mode 100644 index 0000000..1c4e723 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/aclocal.m4 @@ -0,0 +1,7302 @@ +# generated automatically by aclocal 1.8.5 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- + +# serial 48 Debian 1.5.22-4 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# ------------------ +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# --------------------------------------------------------------------- +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ---------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +# set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# ------------------ +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# ------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) + +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.8.5])]) + +# AM_AUX_DIR_EXPAND + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 6 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]) +fi])]) + +# serial 7 -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 7 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 11 + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG(AMTAR, tar) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl + +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# -*- Autoconf -*- + + +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. + +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# +# Check to make sure that the build environment is sane. +# + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# AM_PROG_INSTALL_STRIP + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +m4_include([acinclude.m4]) diff --git a/lib/beagle-3.0.3/examples/GA/tsp/bootstrap b/lib/beagle-3.0.3/examples/GA/tsp/bootstrap new file mode 100755 index 0000000..5972642 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/bootstrap @@ -0,0 +1,7 @@ +#!/bin/sh +set -x +autoheader +libtoolize --force --copy +aclocal -I config +automake --foreign --add-missing --force-missing --copy +autoconf diff --git a/lib/beagle-3.0.3/examples/GA/tsp/config/config.guess b/lib/beagle-3.0.3/examples/GA/tsp/config/config.guess new file mode 100755 index 0000000..396482d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/config/config.guess @@ -0,0 +1,1500 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-07-02' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + x86:Interix*:[3456]*) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T:Interix*:[3456]*) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/tsp/config/config.sub b/lib/beagle-3.0.3/examples/GA/tsp/config/config.sub new file mode 100755 index 0000000..fab0aa3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/config/config.sub @@ -0,0 +1,1616 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-09-20' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/tsp/config/depcomp b/lib/beagle-3.0.3/examples/GA/tsp/config/depcomp new file mode 100755 index 0000000..25bdb18 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/config/depcomp @@ -0,0 +1,526 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2004-04-25.13 + +# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit 0 + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit 0 + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # Dependencies are output in .lo.d with libtool 1.4. + # They are output in .o.d with libtool 1.5. + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.o.d" + tmpdepfile3="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + tmpdepfile3="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + elif test -f "$tmpdepfile2"; then + tmpdepfile="$tmpdepfile2" + else + tmpdepfile="$tmpdepfile3" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/tsp/config/install-sh b/lib/beagle-3.0.3/examples/GA/tsp/config/install-sh new file mode 100755 index 0000000..e4160c9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/config/install-sh @@ -0,0 +1,325 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2004-04-01.17 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename= +transform_arg= +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= + +usage="Usage: $0 [OPTION]... SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 -d DIRECTORIES... + +In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. +In the second, create the directory path DIR. + +Options: +-b=TRANSFORMBASENAME +-c copy source (using $cpprog) instead of moving (using $mvprog). +-d create directories instead of installing files. +-g GROUP $chgrp installed files to GROUP. +-m MODE $chmod installed files to MODE. +-o USER $chown installed files to USER. +-s strip installed files (using $stripprog). +-t=TRANSFORM +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit 0;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + --version) echo "$0 $scriptversion"; exit 0;; + + *) # When -d is used, all remaining arguments are directories to create. + test -n "$dir_arg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + instcmd=: + chmodcmd= + else + instcmd=$mkdirprog + fi + else + # Waiting for this to be detected by the "$instcmd $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" || lasterr=$? + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; } + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $instcmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + # If we're going to rename the final executable, determine the name now. + if test -z "$transformarg"; then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename \ + | sed $transformarg`$transformbasename + fi + + # don't allow the sed command to completely eliminate the filename. + test -z "$dstfile" && dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Move or copy the file name to the temp name + $doit $instcmd "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $instcmd $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/tsp/config/ltmain.sh b/lib/beagle-3.0.3/examples/GA/tsp/config/ltmain.sh new file mode 100644 index 0000000..c715b59 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/config/ltmain.sh @@ -0,0 +1,6871 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.22 Debian 1.5.22-4" +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + fi + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + else + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/lib/beagle-3.0.3/examples/GA/tsp/config/missing b/lib/beagle-3.0.3/examples/GA/tsp/config/missing new file mode 100755 index 0000000..e7ef83a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/config/missing @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2003-09-02.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/tsp/configure b/lib/beagle-3.0.3/examples/GA/tsp/configure new file mode 100755 index 0000000..93ebf35 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/configure @@ -0,0 +1,22313 @@ +#! /bin/sh +# From configure.ac Revision: 1.1 . +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for GA Integer Vector TSP example 3.0.0. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='GA Integer Vector TSP example' +PACKAGE_TARNAME='tsp' +PACKAGE_VERSION='3.0.0' +PACKAGE_STRING='GA Integer Vector TSP example 3.0.0' +PACKAGE_BUGREPORT='cgagne@gmail.com' + +ac_unique_file="tsp/TSPEvalOp.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +AMTAR +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +CXX +CXXFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CXX +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +LN_S +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +CC +CFLAGS +ac_ct_CC +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +GREP +EGREP +ECHO +AR +RANLIB +CPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +PTHREAD_CC +PTHREAD_LIBS +PTHREAD_CFLAGS +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +CPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures GA Integer Vector TSP example 3.0.0 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/tsp] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of GA Integer Vector TSP example 3.0.0:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] include additional configurations [automatic] + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + --with-pacc-util=DIR specify installation path of PACC::Util + --with-pacc-util-include=DIR specify exact dir for PACC::Util headers + --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries + --with-pacc-xml=DIR specify installation path of PACC::XML + --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers + --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries + --with-pacc-math=DIR specify installation path of PACC::Math + --with-pacc-math-include=DIR specify exact dir for PACC::Math headers + --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries + --with-pacc-threading=DIR specify installation path of PACC::Threading + --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers + --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries + --with-beagle=DIR specify installation path of Open BEAGLE + --with-beagle-include=DIR specify exact dir for Open BEAGLE headers + --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers + --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers + --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers + --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries + --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries + --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries + --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + CPP C preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +GA Integer Vector TSP example configure 3.0.0 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by GA Integer Vector TSP example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in config "$srcdir"/config; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +am__api_version="1.8" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='tsp' + VERSION='3.0.0' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. + + + +ac_config_headers="$ac_config_headers tsp/config.hpp:tsp/config.hpp.in" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 +echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 +echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 5044 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7303: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7307: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7571: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7575: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7675: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:7679: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix3*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_CXX=yes + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_CXX='+b $libdir' + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix3*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix3*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +solaris*) + case $cc_basename in + CC*) + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + postdeps_CXX='-lCstd -lCrun' + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12408: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:12412: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12512: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:12516: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_CXX" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14073: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:14077: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14177: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:14181: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix3*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_F77=yes + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_F77" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16364: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16368: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16632: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16636: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16736: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:16740: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix3*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_GCJ=yes + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_GCJ" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_RC" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + +# +# Handle user hints +# +{ echo "$as_me:$LINENO: checking if zlib is wanted" >&5 +echo $ECHO_N "checking if zlib is wanted... $ECHO_C" >&6; } + +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then + withval=$with_zlib; if test "$withval" != no ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + ZLIB_HOME="$withval" +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +else + +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + zlib_cv_libz=yes +else + zlib_cv_libz=no +fi + + if test "${ac_cv_header_zlib_h+set}" = set; then + { echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking zlib.h usability" >&5 +echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking zlib.h presence" >&5 +echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_zlib_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } + +fi +if test $ac_cv_header_zlib_h = yes; then + zlib_cv_zlib_h=yes +else + zlib_cv_zlib_h=no +fi + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + +{ echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +fi + + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } + fi +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_join (); +int +main () +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 +echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6; } + ;; + + -*) + { echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 +echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + *) + { echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 +echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 +echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_JOINABLE +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_UNDETACHED +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +cat >>confdefs.h <<\_ACEOF +#define PTHREAD_CREATE_JOINABLE $ok +_ACEOF + + fi + { echo "$as_me:$LINENO: result: ${ok}" >&5 +echo "${ECHO_T}${ok}" >&6; } + if test x"$ok" = xunknown; then + { echo "$as_me:$LINENO: WARNING: we do not know how to create joinable pthreads" >&5 +echo "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 +echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { echo "$as_me:$LINENO: result: ${flag}" >&5 +echo "${ECHO_T}${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PTHREAD_CC="cc_r" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 +echo "${ECHO_T}$PTHREAD_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_PTHREAD 1 +_ACEOF + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + + + +# Check whether --with-pacc-util was given. +if test "${with_pacc_util+set}" = set; then + withval=$with_pacc_util; pacc_util_path="$withval" +else + pacc_util_path="../../../../PACC" +fi + + +# Check whether --with-pacc-util-include was given. +if test "${with_pacc_util_include+set}" = set; then + withval=$with_pacc_util_include; pacc_util_path_include="$withval" +fi + + +# Check whether --with-pacc-util-libdir was given. +if test "${with_pacc_util_libdir+set}" = set; then + withval=$with_pacc_util_libdir; pacc_util_path_libdir="$withval" +fi + +if test -z "$pacc_util_path"; then + pacc_util_path="../../../../PACC" +fi +if test -z "$pacc_util_path_include"; then + if test -z "../../../../PACC"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "../../../../PACC/Util"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="../../../../PACC/Util" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Util headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Util headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_util_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Util.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_util_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_util_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_util_include_test" >&5 +echo "${ECHO_T}$pacc_util_include_test" >&6; } + + + +# Check whether --with-pacc-xml was given. +if test "${with_pacc_xml+set}" = set; then + withval=$with_pacc_xml; pacc_xml_path="$withval" +else + pacc_xml_path="../../../../PACC" +fi + + +# Check whether --with-pacc-xml-include was given. +if test "${with_pacc_xml_include+set}" = set; then + withval=$with_pacc_xml_include; pacc_xml_path_include="$withval" +fi + + +# Check whether --with-pacc-xml-libdir was given. +if test "${with_pacc_xml_libdir+set}" = set; then + withval=$with_pacc_xml_libdir; pacc_xml_path_libdir="$withval" +fi + +if test -z "$pacc_xml_path"; then + pacc_xml_path="../../../../PACC" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "../../../../PACC"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "../../../../PACC/XML"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="../../../../PACC/XML" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::XML headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::XML headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_xml_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +XML.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_xml_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_xml_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_xml_include_test" >&5 +echo "${ECHO_T}$pacc_xml_include_test" >&6; } + + + +# Check whether --with-pacc-math was given. +if test "${with_pacc_math+set}" = set; then + withval=$with_pacc_math; pacc_math_path="$withval" +else + pacc_math_path="../../../../PACC" +fi + + +# Check whether --with-pacc-math-include was given. +if test "${with_pacc_math_include+set}" = set; then + withval=$with_pacc_math_include; pacc_math_path_include="$withval" +fi + + +# Check whether --with-pacc-math-libdir was given. +if test "${with_pacc_math_libdir+set}" = set; then + withval=$with_pacc_math_libdir; pacc_math_path_libdir="$withval" +fi + +if test -z "$pacc_math_path"; then + pacc_math_path="../../../../PACC" +fi +if test -z "$pacc_math_path_include"; then + if test -z "../../../../PACC"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "../../../../PACC/Math"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="../../../../PACC/Math" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Math headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Math headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_math_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Math.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_math_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_math_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_math_include_test" >&5 +echo "${ECHO_T}$pacc_math_include_test" >&6; } + + + +# Check whether --with-pacc-threading was given. +if test "${with_pacc_threading+set}" = set; then + withval=$with_pacc_threading; pacc_threading_path="$withval" +else + pacc_threading_path="../../../../PACC" +fi + + +# Check whether --with-pacc-threading-include was given. +if test "${with_pacc_threading_include+set}" = set; then + withval=$with_pacc_threading_include; pacc_threading_path_include="$withval" +fi + + +# Check whether --with-pacc-threading-libdir was given. +if test "${with_pacc_threading_libdir+set}" = set; then + withval=$with_pacc_threading_libdir; pacc_threading_path_libdir="$withval" +fi + +if test -z "$pacc_threading_path"; then + pacc_threading_path="../../../../PACC" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "../../../../PACC"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "../../../../PACC/Threading"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="../../../../PACC/Threading" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Threading headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Threading headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_threading_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Threading.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_threading_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_threading_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_threading_include_test" >&5 +echo "${ECHO_T}$pacc_threading_include_test" >&6; } + + + +# Check whether --enable-optimization was given. +if test "${enable_optimization+set}" = set; then + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` +fi + +# Check whether --with-beagle was given. +if test "${with_beagle+set}" = set; then + withval=$with_beagle; ob_beagle_path="$withval" +else + ob_beagle_path="../../../../beagle" +fi + + +# Check whether --with-beagle-include was given. +if test "${with_beagle_include+set}" = set; then + withval=$with_beagle_include; ob_beagle_path_include="$withval" +fi + + +# Check whether --with-beagle-GA-include was given. +if test "${with_beagle_GA_include+set}" = set; then + withval=$with_beagle_GA_include; ob_beagle_path_ga_include="$withval" +fi + + +# Check whether --with-beagle-GP-include was given. +if test "${with_beagle_GP_include+set}" = set; then + withval=$with_beagle_GP_include; ob_beagle_path_gp_include="$withval" +fi + + +# Check whether --with-beagle-Coev-include was given. +if test "${with_beagle_Coev_include+set}" = set; then + withval=$with_beagle_Coev_include; ob_beagle_path_coev_include="$withval" +fi + + +# Check whether --with-beagle-libdir was given. +if test "${with_beagle_libdir+set}" = set; then + withval=$with_beagle_libdir; ob_beagle_path_libdir="$withval" +fi + + +# Check whether --with-beagle-GA-libdir was given. +if test "${with_beagle_GA_libdir+set}" = set; then + withval=$with_beagle_GA_libdir; ob_beagle_path_ga_libdir="$withval" +fi + + +# Check whether --with-beagle-GP-libdir was given. +if test "${with_beagle_GP_libdir+set}" = set; then + withval=$with_beagle_GP_libdir; ob_beagle_path_gp_libdir="$withval" +fi + + +# Check whether --with-beagle-Coev-libdir was given. +if test "${with_beagle_Coev_libdir+set}" = set; then + withval=$with_beagle_Coev_libdir; ob_beagle_path_coev_libdir="$withval" +fi + +if test -z "$ob_beagle_path"; then + ob_beagle_path="../../../../beagle" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "../../../../beagle/include"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="../../../../beagle/include" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "../../../../beagle/src"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="../../../../beagle/src" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "../../../../beagle/GA/include"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="../../../../beagle/GA/include" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "../../../../beagle/GA/src"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="../../../../beagle/GA/src" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "../../../../beagle/GP/include"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="../../../../beagle/GP/include" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "../../../../beagle/GP/src"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="../../../../beagle/GP/src" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "../../../../beagle/Coev/include"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="../../../../beagle/Coev/include" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "../../../../beagle/Coev/src"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="../../../../beagle/Coev/src" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +{ echo "$as_me:$LINENO: checking if Open BEAGLE headers are correctly included" >&5 +echo $ECHO_N "checking if Open BEAGLE headers are correctly included... $ECHO_C" >&6; } +if test "${ob_beagle_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + ob_beagle_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ob_beagle_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ob_beagle_include_test" >&5 +echo "${ECHO_T}$ob_beagle_include_test" >&6; } + + +ac_config_files="$ac_config_files Makefile tsp/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by GA Integer Vector TSP example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +GA Integer Vector TSP example config.status 3.0.0 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "tsp/config.hpp") CONFIG_HEADERS="$CONFIG_HEADERS tsp/config.hpp:tsp/config.hpp.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "tsp/Makefile") CONFIG_FILES="$CONFIG_FILES tsp/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +AMTAR!$AMTAR$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +LN_S!$LN_S$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CPP!$CPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +LIBTOOL!$LIBTOOL$ac_delim +PTHREAD_CC!$PTHREAD_CC$ac_delim +PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim +PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 6; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/lib/beagle-3.0.3/examples/GA/tsp/configure.ac b/lib/beagle-3.0.3/examples/GA/tsp/configure.ac new file mode 100644 index 0000000..da8cbd7 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/configure.ac @@ -0,0 +1,50 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT([GA Integer Vector TSP example],[3.0.0],[cgagne@gmail.com],[tsp]) +AC_CONFIG_SRCDIR([tsp/TSPEvalOp.cpp]) +AC_CONFIG_AUX_DIR([config]) +AC_REVISION([$Revision: 1.1 $]) +AM_INIT_AUTOMAKE +AM_CONFIG_HEADER([tsp/config.hpp:tsp/config.hpp.in]) + +dnl Checks for programs. +AC_PROG_AWK +AC_PROG_CXX +AC_PROG_CXXCPP +AC_PROG_LN_S +AC_PROG_LIBTOOL + +dnl Set language. +AC_LANG([C++]) + +dnl Checks for libraries. +AC_HEADER_STDC + +dnl Check for zlib support. +CHECK_ZLIB + +dnl Check for POSIX threads support. +ACX_PTHREAD +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +dnl Initialize PACC libraries with the given paths. +PACC_UTIL_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Util]) +PACC_XML_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/XML]) +PACC_MATH_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Math]) +PACC_THREADING_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Threading]) + +dnl Initialize Open BEAGLE with the given paths. +OB_BEAGLE_INIT([../../../../beagle], + [../../../../beagle/include], + [../../../../beagle/src], + [../../../../beagle/GA/include], + [../../../../beagle/GA/src], + [../../../../beagle/GP/include], + [../../../../beagle/GP/src], + [../../../../beagle/Coev/include], + [../../../../beagle/Coev/src]) + +dnl Create makefiles. +AC_CONFIG_FILES([Makefile tsp/Makefile]) +AC_OUTPUT diff --git a/lib/beagle-3.0.3/examples/GA/tsp/templates/cpp b/lib/beagle-3.0.3/examples/GA/tsp/templates/cpp new file mode 100644 index 0000000..facb6d5 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/templates/cpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/%{FILE} + * \brief Implementation of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/09/17 16:54:15 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GA/tsp/templates/hpp b/lib/beagle-3.0.3/examples/GA/tsp/templates/hpp new file mode 100644 index 0000000..836d895 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/templates/hpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/%{FILE} + * \brief Definition of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/09/17 16:54:15 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GA/tsp/tsp.kdevelop b/lib/beagle-3.0.3/examples/GA/tsp/tsp.kdevelop new file mode 100644 index 0000000..6700b4d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/tsp.kdevelop @@ -0,0 +1,187 @@ + + + + Christian Gagne + cgagne@gmail.com + 3.0.0 + KDevAutoProject + C++ + + C++ + Code + + kdevcvsservice + + . + false + + + + + src/tsp + default + + + tsp/tsp + true + executable + / + + true + + + + + + + + + + + + + true + 1 + false + + 0 + + + + + ada + ada_bugs_gcc + bash + bash_bugs + clanlib + w3c-dom-level2-html + fortran_bugs_gcc + gnome1 + gnustep + gtk + gtk_bugs + haskell + haskell_bugs_ghc + java_bugs_gcc + java_bugs_sun + kde2book + opengl + pascal_bugs_fp + php + php_bugs + perl + perl_bugs + python + python_bugs + qt-kdev3 + ruby + ruby_bugs + sdl + w3c-svg + sw + w3c-uaag10 + wxwidgets_bugs + + + Guide to the Qt Translation Tools + Qt Assistant Manual + Qt Designer Manual + Qt Reference Documentation + qmake User Guide + + + KDE Libraries (Doxygen) + + + + + + + + + + + + + + false + false + + + *.o,*.lo,CVS + false + false + + + + + + + + + + + tsp + tsp + Tsp + TSP + Christian Gagne + cgagne@gmail.com + LGPL + COPYING.LIB + 3.0.0 + 2005 + /home/cgagne/beagle/beagle/examples/GA/tsp + + + + + true + true + true + false + true + true + true + 250 + 400 + 250 + + + + set + m_,_ + theValue + true + true + + + + + .hpp + .cpp + + + + + + + libtool + + + + true + false + false + + + false + true + 10 + + + + + + + diff --git a/lib/beagle-3.0.3/examples/GA/tsp/tsp/Makefile.am b/lib/beagle-3.0.3/examples/GA/tsp/tsp/Makefile.am new file mode 100644 index 0000000..e2558c8 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/tsp/Makefile.am @@ -0,0 +1,3 @@ +bin_PROGRAMS = tsp +tsp_SOURCES = TSPEvalOp.hpp TSPEvalOp.cpp TSPMain.cpp + diff --git a/lib/beagle-3.0.3/examples/GA/tsp/tsp/Makefile.in b/lib/beagle-3.0.3/examples/GA/tsp/tsp/Makefile.in new file mode 100644 index 0000000..bc256bf --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/tsp/Makefile.in @@ -0,0 +1,484 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +SOURCES = $(tsp_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +bin_PROGRAMS = tsp$(EXEEXT) +subdir = tsp +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.hpp.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(mkdir_p) +CONFIG_HEADER = config.hpp +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_tsp_OBJECTS = TSPEvalOp.$(OBJEXT) TSPMain.$(OBJEXT) +tsp_OBJECTS = $(am_tsp_OBJECTS) +tsp_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/TSPEvalOp.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/TSPMain.Po +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(tsp_SOURCES) +DIST_SOURCES = $(tsp_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +tsp_SOURCES = TSPEvalOp.hpp TSPEvalOp.cpp TSPMain.cpp +all: config.hpp + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tsp/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign tsp/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +config.hpp: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.hpp.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status tsp/config.hpp +$(srcdir)/config.hpp.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.hpp stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +tsp$(EXEEXT): $(tsp_OBJECTS) $(tsp_DEPENDENCIES) + @rm -f tsp$(EXEEXT) + $(CXXLINK) $(tsp_LDFLAGS) $(tsp_OBJECTS) $(tsp_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TSPEvalOp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TSPMain.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) config.hpp +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GA/tsp/tsp/TSPEvalOp.cpp b/lib/beagle-3.0.3/examples/GA/tsp/tsp/TSPEvalOp.cpp new file mode 100644 index 0000000..5258552 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/tsp/TSPEvalOp.cpp @@ -0,0 +1,159 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file TSPEvalOp.cpp + * \brief Implementation of the class TSPEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#include "beagle/GA.hpp" +#include "TSPEvalOp.hpp" + +#include + +#define BEAGLE_TSP_PROBLEMSIZE 25 + + +using namespace Beagle; + +/*! + * \brief Construct the individual evaluation operator for the TSP problem. + */ +TSPEvalOp::TSPEvalOp() : + EvaluationOp("TSPEvalOp") +{ } + + +/*! + * \brief Evaluate the fitness of the given individual. + * \param inIndividual Current individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness value of the individual. + */ +Fitness::Handle TSPEvalOp::evaluate(Individual& inIndividual, Context& ioContext) +{ + Beagle_AssertM(inIndividual.size() == 1); + GA::IntegerVector::Handle lPath = castHandleT(inIndividual[0]); + const unsigned int lRootIndex = mDistancesMatrix->getRows()-1; + double lTripDistance = (*mDistancesMatrix)(lRootIndex,(*lPath)[0]); + for(unsigned int i=1; isize(); ++i) { + lTripDistance += (*mDistancesMatrix)((*lPath)[i-1],(*lPath)[i]); + } + lTripDistance += (*mDistancesMatrix)((*lPath)[lPath->size()-1],lRootIndex); + return new FitnessSimpleMin(float(lTripDistance)); +} + + +/*! + * \brief Initialize the TSP evaluation operator. + * \param ioSystem Evolutionary system. + */ +void TSPEvalOp::initialize(Beagle::System& ioSystem) +{ + Beagle::EvaluationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("ts.graph.distances")) { + mDistancesMatrix = castHandleT(ioSystem.getRegister().getEntry("ts.graph.distances")); + } else { + mDistancesMatrix = new Matrix(0,0); + Beagle::string lLongDescrip("Distances between graph's nodes (the towns by analogy). "); + lLongDescrip += "If the matrix value is not specified, it will be randomly generated "; + lLongDescrip += "at the initialization time."; + Register::Description lDescription( + "TSP distances matrix", + "Matrix", + "", + lLongDescrip + ); + ioSystem.getRegister().addEntry("ts.graph.distances", mDistancesMatrix, lDescription); + } + + if(ioSystem.getRegister().isRegistered("ga.init.vectorsize")) { + mIntVectorSize = castHandleT(ioSystem.getRegister()["ga.init.vectorsize"]); + } else { + mIntVectorSize = new UInt(0); + Register::Description lDescription( + "Initial integer vectors sizes", + "UInt", + "0", + "Integer vector size of initialized individuals." + ); + ioSystem.getRegister().addEntry("ga.init.vectorsize", mIntVectorSize, lDescription); + } +} + + +/*! + * \brief Post-initialize the TSP evaluation operator. + * \param ioSystem Evolutionary system. + */ +void TSPEvalOp::postInit(Beagle::System& ioSystem) +{ + Beagle::EvaluationOp::postInit(ioSystem); + + if((mDistancesMatrix->getRows()==0) || (mDistancesMatrix->getCols()==0)) { + // Generating randomly the TSP graph to solve. + std::vector< std::pair > lNodePosition(BEAGLE_TSP_PROBLEMSIZE); + for(unsigned int i=0; iresize(BEAGLE_TSP_PROBLEMSIZE,BEAGLE_TSP_PROBLEMSIZE); + for(unsigned int i=0; igetRows() != mDistancesMatrix->getCols()) { + std::ostringstream lOSS; + lOSS << "Distances matrix of TSP evaluation operator (registered as "; + lOSS << "'ts.graph.distances' parameter) must be square!"; + throw Beagle_RunTimeExceptionM(lOSS.str().c_str()); + } + + mIntVectorSize->getWrappedValue() = (mDistancesMatrix->getRows()-1); + + Beagle_LogInfoM( + ioSystem.getLogger(), + "evaluation", "TSPEvalOp", + Beagle::string("Distances matrix used in TSP problem: ")+mDistancesMatrix->serialize() + ); +} + + diff --git a/lib/beagle-3.0.3/examples/GA/tsp/tsp/TSPEvalOp.hpp b/lib/beagle-3.0.3/examples/GA/tsp/tsp/TSPEvalOp.hpp new file mode 100644 index 0000000..8ba015f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/tsp/TSPEvalOp.hpp @@ -0,0 +1,92 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file TSPEvalOp.hpp + * \brief Definition of the type TSPEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +/*! + * \defgroup TSP Traveling Salesman Problem Example + * \brief Traveling Salesman Problem (tsp): Indices integer vector GA example + * + * \par Objective + * Find a the shortest path to visit all the nodes of a randomly generated graph. + * + * \par Representation + * Order in which the nodes of the graph are visited. The integers in the vector represent the + * indices of the nodes to visit. + * + * \par Fitness + * Sum of the inter-node distance given the path represented by an integer vector. + * + */ + +#ifndef TSPEvalOp_hpp +#define TSPEvalOp_hpp + +#include "beagle/GA.hpp" +#include + + +/*! + * \class TSPEvalOp TSPEvalOp.hpp "TSPEvalOp.hpp" + * \brief The individual evaluation class operator for the TSP problem. + * \ingroup TSP + */ +class TSPEvalOp : public Beagle::EvaluationOp { + +public: + + //! TSPEvalOp allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< TSPEvalOp handle type. + typedef Beagle::PointerT + Handle; + //!< TSPEvalOp bag type. + typedef Beagle::ContainerT + Bag; + + explicit TSPEvalOp(); + + virtual Beagle::Fitness::Handle evaluate(Beagle::Individual& inIndividual, + Beagle::Context& ioContext); + virtual void initialize(Beagle::System& ioSystem); + virtual void postInit(Beagle::System& ioSystem); + +protected: + + Beagle::Matrix::Handle mDistancesMatrix; //!< Distances between the nodes of the graph. + Beagle::UInt::Handle mIntVectorSize; //!< Individual integer vectors size. + +}; + +#endif // TSPEvalOp_hpp diff --git a/lib/beagle-3.0.3/examples/GA/tsp/tsp/TSPMain.cpp b/lib/beagle-3.0.3/examples/GA/tsp/tsp/TSPMain.cpp new file mode 100644 index 0000000..acb3b5f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/tsp/TSPMain.cpp @@ -0,0 +1,80 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file TSPMain.cpp + * \brief Implementation of the main routine for the TSP problem. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.1.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#include "beagle/GA.hpp" +#include "TSPEvalOp.hpp" + +#include +#include +#include +#include +#include + +using namespace std; +using namespace Beagle; + +/*! + * \brief Main routine for the TSP problem. + * \param argc Number of arguments on the command-line. + * \param argv Arguments on the command-line. + * \return Return value of the program. + * \ingroup TSP + */ +int main(int argc, char** argv) { + try { + // 1. Build the system. + System::Handle lSystem = new System; + // 2. Build evaluation operator. + TSPEvalOp::Handle lEvalOp = new TSPEvalOp; + // 3. Instanciate the evolver. + GA::EvolverIntegerVector::Handle lEvolver = new GA::EvolverIntegerVector(lEvalOp); + // 4. Initialize the vivarium for integer vector GA population. + GA::IntegerVector::Alloc::Handle lIVAlloc = new GA::IntegerVector::Alloc; + FitnessSimpleMin::Alloc::Handle lFitAlloc = new FitnessSimpleMin::Alloc; + Vivarium::Handle lVivarium = new Vivarium(lIVAlloc, lFitAlloc); + // 5. Initialize the evolver and evolve the vivarium. + lEvolver->initialize(lSystem, argc, argv); + lEvolver->evolve(lVivarium); + } + catch(Exception& inException) { + inException.terminate(cerr); + } + catch(std::exception& inException) { + cerr << "Standard exception catched:" << endl << flush; + cerr << inException.what() << endl << flush; + return 1; + } + return 0; +} diff --git a/lib/beagle-3.0.3/examples/GA/tsp/tsp/config.hpp.in b/lib/beagle-3.0.3/examples/GA/tsp/tsp/config.hpp.in new file mode 100644 index 0000000..6c0efe9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/tsp/config.hpp.in @@ -0,0 +1,65 @@ +/* tsp/config.hpp.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `z' library (-lz). */ +#undef HAVE_LIBZ + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define if you have POSIX threads libraries and header files. */ +#undef HAVE_PTHREAD + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +#undef PTHREAD_CREATE_JOINABLE + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/lib/beagle-3.0.3/examples/GA/tsp/tsp/tsp.conf b/lib/beagle-3.0.3/examples/GA/tsp/tsp/tsp.conf new file mode 100644 index 0000000..77978e2 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/tsp/tsp/tsp.conf @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + 0.5 + 0.3 + + + diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/AUTHORS b/lib/beagle-3.0.3/examples/GA/zeromin/AUTHORS new file mode 100644 index 0000000..f0c32cf --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/AUTHORS @@ -0,0 +1,2 @@ +Christian Gagne +Marc Parizeau diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/COPYING b/lib/beagle-3.0.3/examples/GA/zeromin/COPYING new file mode 100644 index 0000000..60549be --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/INSTALL b/lib/beagle-3.0.3/examples/GA/zeromin/INSTALL new file mode 100644 index 0000000..fa69996 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/INSTALL @@ -0,0 +1,81 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +ZeroMin (zeromin): Minimization GA example with Open BEAGLE + +Copyright (C) 2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON UNIX +========================================= + +To compile the allzeros example on Unix (once the Open BEAGLE framework is built), +'cd' to the main example directory, and type the following commands. + + ./configure + make clean + make + +Then, the binary will be in directory 'zeromin'. + +'configure' recognizes the following options to control how it +operates. + +'--enable-optimization' + Enable the 'optimization' mode by setting the optimization flags + of the compiler. Use this flag to compile a version of the examples + linked with an optimized version of the framework libraries. + +'--with-beagle=DIR' + Specify the installation path of Open BEAGLE. + +'--with-beagle-include=DIR' + Specify exact installation directory for Open BEAGLE headers. + +'--with-beagle-GA-include=DIR' + Specify exact installation directory for Open BEAGLE GA headers. + +'--with-beagle-GP-include=DIR' + Specify exact installation directory for Open BEAGLE GP headers. + +'--with-beagle-libdir=DIR' + Specify exact installation directory for Open BEAGLE libraries. + +'--with-beagle-GA-libdir=DIR' + Specify exact installation directory for Open BEAGLE GA libraries. + +'--with-beagle-GP-libdir=DIR' + Specify exact installation directory for Open BEAGLE GP libraries. + +'--cache-file=FILE' + Use and save the test results in file FILE instead of + './config.cache'. Set FILE to '/dev/null' to disable caching, for + debugging 'configure'. + +'--help' + Print a summary of the options to 'configure', and exit. + +'--quiet' +'--silent' +'-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to '/dev/null' (any error + messages will still be shown). + +'--version' + Print the version of Autoconf used to generate the 'configure' + script, and exit. + +'configure' also accepts some other, not widely useful, options. + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON MS VISUAL C++ .NET +======================================================= + +Go to folder 'MSVCPP' and open the solution file 'zeromin.sln' with +MS Visual Studio .NET. Then you can compile the example. The binary will +be in directory 'zeromin'. + diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/MSVCPP/zeromin.sln b/lib/beagle-3.0.3/examples/GA/zeromin/MSVCPP/zeromin.sln new file mode 100644 index 0000000..8b00b55 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/MSVCPP/zeromin.sln @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zeromin", "zeromin\zeromin.vcproj", "{26462C24-5A49-4F9F-9014-70B0049A4F28}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {26462C24-5A49-4F9F-9014-70B0049A4F28}.Debug.ActiveCfg = Debug|Win32 + {26462C24-5A49-4F9F-9014-70B0049A4F28}.Debug.Build.0 = Debug|Win32 + {26462C24-5A49-4F9F-9014-70B0049A4F28}.Release.ActiveCfg = Release|Win32 + {26462C24-5A49-4F9F-9014-70B0049A4F28}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/MSVCPP/zeromin.suo b/lib/beagle-3.0.3/examples/GA/zeromin/MSVCPP/zeromin.suo new file mode 100644 index 0000000..3599f1b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/MSVCPP/zeromin.suo @@ -0,0 +1 @@ +ÐÏࡱ \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/MSVCPP/zeromin/zeromin.vcproj b/lib/beagle-3.0.3/examples/GA/zeromin/MSVCPP/zeromin/zeromin.vcproj new file mode 100644 index 0000000..738c3fd --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/MSVCPP/zeromin/zeromin.vcproj @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/Makefile.am b/lib/beagle-3.0.3/examples/GA/zeromin/Makefile.am new file mode 100644 index 0000000..0f05302 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/Makefile.am @@ -0,0 +1,2 @@ +AUTOMAKE_OPTIONS=dist-zip +SUBDIRS = zeromin diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/Makefile.cvs b/lib/beagle-3.0.3/examples/GA/zeromin/Makefile.cvs new file mode 100644 index 0000000..925be9f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/Makefile.cvs @@ -0,0 +1,4 @@ +SHELL = /bin/sh + +all: + ${SHELL} ./bootstrap diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/Makefile.in b/lib/beagle-3.0.3/examples/GA/zeromin/Makefile.in new file mode 100644 index 0000000..75ae483 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/Makefile.in @@ -0,0 +1,585 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \ + INSTALL config/config.guess config/config.sub config/depcomp \ + config/install-sh config/ltmain.sh config/missing \ + config/mkinstalldirs +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/zeromin/config.hpp +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AUTOMAKE_OPTIONS = dist-zip +SUBDIRS = zeromin +all: all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/config + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || mkdir "$(distdir)/$$subdir" \ + || exit 1; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="../$(top_distdir)" \ + distdir="../$(distdir)/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-libtool distclean-recursive \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/README b/lib/beagle-3.0.3/examples/GA/zeromin/README new file mode 100644 index 0000000..19ccc76 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/README @@ -0,0 +1,33 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +ZeroMin (zeromin): Minimization GA example with Open BEAGLE + +Copyright (C) 2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +Getting started +=============== + + Example is compiled in binary 'zeromin'. Usage options is described by + executing it with command-line argument '-OBusage'. The detailed help can + also be obtained with argument '-OBhelp'. + +Objective +========= + + Find a bit string filled with zeros. + +Representation +============== + + Bit strings made of N bits. + +Fitness +======= + + Number of ones in the bit string, where the perfect solution has a fitness of 0. + diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/acinclude.m4 b/lib/beagle-3.0.3/examples/GA/zeromin/acinclude.m4 new file mode 100644 index 0000000..9d8ff5a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/acinclude.m4 @@ -0,0 +1,603 @@ +dnl +dnl Initialize an autoconf project that use PACC::Math. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_MATH_INIT(PACC_MATH_PATH +dnl [, PACC_MATH_INCLUDEPATH] +dnl [, PACC_MATH_LIBPATH]) +dnl +AC_DEFUN([PACC_MATH_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-math, + [ --with-pacc-math=DIR specify installation path of PACC::Math], + [pacc_math_path="$withval"], + [pacc_math_path="$1"]) +AC_ARG_WITH(pacc-math-include, + [ --with-pacc-math-include=DIR specify exact dir for PACC::Math headers], + [pacc_math_path_include="$withval"]) +AC_ARG_WITH(pacc-math-libdir, + [ --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries], + [pacc_math_path_libdir="$withval"]) +if test -z "$pacc_math_path"; then + pacc_math_path="$1" +fi +if test -z "$pacc_math_path_include"; then + if test -z "$2"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="$2" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "$3"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Math headers are correctly included, +pacc_math_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Math.hpp], + pacc_math_include_test=yes, + pacc_math_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Threading. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_THREADING_INIT(PACC_THREADING_PATH +dnl [, PACC_THREADING_INCLUDEPATH] +dnl [, PACC_THREADING_LIBPATH]) +dnl +AC_DEFUN([PACC_THREADING_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-threading, + [ --with-pacc-threading=DIR specify installation path of PACC::Threading], + [pacc_threading_path="$withval"], + [pacc_threading_path="$1"]) +AC_ARG_WITH(pacc-threading-include, + [ --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers], + [pacc_threading_path_include="$withval"]) +AC_ARG_WITH(pacc-threading-libdir, + [ --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries], + [pacc_threading_path_libdir="$withval"]) +if test -z "$pacc_threading_path"; then + pacc_threading_path="$1" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "$2"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="$2" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "$3"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Threading headers are correctly included, +pacc_threading_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Threading.hpp], + pacc_threading_include_test=yes, + pacc_threading_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Util. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_UTIL_INIT(PACC_UTIL_PATH +dnl [, PACC_UTIL_INCLUDEPATH] +dnl [, PACC_UTIL_LIBPATH]) +dnl +AC_DEFUN([PACC_UTIL_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-util, + [ --with-pacc-util=DIR specify installation path of PACC::Util], + [pacc_util_path="$withval"], + [pacc_util_path="$1"]) +AC_ARG_WITH(pacc-util-include, + [ --with-pacc-util-include=DIR specify exact dir for PACC::Util headers], + [pacc_util_path_include="$withval"]) +AC_ARG_WITH(pacc-util-libdir, + [ --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries], + [pacc_util_path_libdir="$withval"]) +if test -z "$pacc_util_path"; then + pacc_util_path="$1" +fi +if test -z "$pacc_util_path_include"; then + if test -z "$2"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="$2" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "$3"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Util headers are correctly included, +pacc_util_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Util.hpp], + pacc_util_include_test=yes, + pacc_util_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::XML. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_XML_INIT(PACC_XML_PATH +dnl [, PACC_XML_INCLUDEPATH] +dnl [, PACC_XML_LIBPATH]) +dnl +AC_DEFUN([PACC_XML_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-xml, + [ --with-pacc-xml=DIR specify installation path of PACC::XML], + [pacc_xml_path="$withval"], + [pacc_xml_path="$1"]) +AC_ARG_WITH(pacc-xml-include, + [ --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers], + [pacc_xml_path_include="$withval"]) +AC_ARG_WITH(pacc-xml-libdir, + [ --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries], + [pacc_xml_path_libdir="$withval"]) +if test -z "$pacc_xml_path"; then + pacc_xml_path="$1" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "$2"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="$2" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "$3"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::XML headers are correctly included, +pacc_xml_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([XML.hpp], + pacc_xml_include_test=yes, + pacc_xml_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use Open BEAGLE. +dnl +dnl by Christian Gagne, 14/10/2002, modified 10/10/2004 and 09/08/2005 +dnl +dnl OB_BEAGLE_INIT(BEAGLE_PATH +dnl [, BEAGLE_INCLUDEPATH] +dnl [, BEAGLE_LIBPATH] +dnl [, BEAGLE_GA_INCLUDEPATH] +dnl [, BEAGLE_GA_LIBPATH] +dnl [, BEAGLE_GP_INCLUDEPATH] +dnl [, BEAGLE_GP_LIBPATH] +dnl [, BEAGLE_COEV_INCLUDEPATH] +dnl [, BEAGLE_COEV_LIBPATH]) +dnl +AC_DEFUN([OB_BEAGLE_INIT], +[ +dnl Open BEAGLE optimization mode option. +AC_ARG_ENABLE(optimization, + [ --enable-optimization enable optimization mode [default=no]], + [case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac], + enable_optimization=no) +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` +fi +dnl Set headers and libraries path correctly +AC_ARG_WITH(beagle, + [ --with-beagle=DIR specify installation path of Open BEAGLE], + [ob_beagle_path="$withval"], + [ob_beagle_path="$1"]) +AC_ARG_WITH(beagle-include, + [ --with-beagle-include=DIR specify exact dir for Open BEAGLE headers], + [ob_beagle_path_include="$withval"]) +AC_ARG_WITH(beagle-GA-include, + [ --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers], + [ob_beagle_path_ga_include="$withval"]) +AC_ARG_WITH(beagle-GP-include, + [ --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers], + [ob_beagle_path_gp_include="$withval"]) +AC_ARG_WITH(beagle-Coev-include, + [ --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers], + [ob_beagle_path_coev_include="$withval"]) +AC_ARG_WITH(beagle-libdir, + [ --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries], + [ob_beagle_path_libdir="$withval"]) +AC_ARG_WITH(beagle-GA-libdir, + [ --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries], + [ob_beagle_path_ga_libdir="$withval"]) +AC_ARG_WITH(beagle-GP-libdir, + [ --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries], + [ob_beagle_path_gp_libdir="$withval"]) +AC_ARG_WITH(beagle-Coev-libdir, + [ --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries], + [ob_beagle_path_coev_libdir="$withval"]) +if test -z "$ob_beagle_path"; then + ob_beagle_path="$1" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "$2"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="$2" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "$3"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="$3" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "$4"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="$4" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "$5"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="$5" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "$6"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="$6" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "$7"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="$7" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "$8"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="$8" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "$9"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="$9" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if Open BEAGLE headers are correctly included, +ob_beagle_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp], + ob_beagle_include_test=yes, + ob_beagle_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl *************************************************************************** +dnl *************************************************************************** +AC_DEFUN([ACX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_SAVE +AC_LANG_C +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) + AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) + AC_MSG_RESULT($acx_pthread_ok) + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $flag]) + PTHREAD_CFLAGS="$flag" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$flag]) + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + AC_TRY_LINK([#include ], + [pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], + [acx_pthread_ok=yes]) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + AC_MSG_RESULT($acx_pthread_ok) + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + AC_MSG_CHECKING([for joinable pthread attribute]) + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_JOINABLE;], + ok=PTHREAD_CREATE_JOINABLE, ok=unknown) + if test x"$ok" = xunknown; then + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_UNDETACHED;], + ok=PTHREAD_CREATE_UNDETACHED, ok=unknown) + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok, + [Define to the necessary symbol if this constant + uses a non-standard name on your system.]) + fi + AC_MSG_RESULT(${ok}) + if test x"$ok" = xunknown; then + AC_MSG_WARN([we do not know how to create joinable pthreads]) + fi + + AC_MSG_CHECKING([if more special flags are required for pthreads]) + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + AC_MSG_RESULT(${flag}) + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) +else + PTHREAD_CC="$CC" +fi + +AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_CC) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) + : +else + acx_pthread_ok=no + $2 +fi +AC_LANG_RESTORE +])dnl ACX_PTHREAD + + + +AC_DEFUN([CHECK_ZLIB], +# +# Handle user hints +# +[AC_MSG_CHECKING(if zlib is wanted) +AC_ARG_WITH(zlib, +[ --with-zlib=DIR root directory path of zlib installation [defaults to + /usr/local or /usr if not found in /usr/local] + --without-zlib to disable zlib usage completely], +[if test "$withval" != no ; then + AC_MSG_RESULT(yes) + ZLIB_HOME="$withval" +else + AC_MSG_RESULT(no) +fi], [ +AC_MSG_RESULT(yes) +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi +]) +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) + AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) + AC_LANG_RESTORE + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + AC_CHECK_LIB(z, inflateEnd) + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + AC_MSG_RESULT(ok) + else + # + # If either header or library was not found, revert and bomb + # + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + AC_MSG_RESULT(failed) + fi +fi +]) diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/aclocal.m4 b/lib/beagle-3.0.3/examples/GA/zeromin/aclocal.m4 new file mode 100644 index 0000000..1c4e723 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/aclocal.m4 @@ -0,0 +1,7302 @@ +# generated automatically by aclocal 1.8.5 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- + +# serial 48 Debian 1.5.22-4 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# ------------------ +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# --------------------------------------------------------------------- +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ---------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +# set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# ------------------ +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# ------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) + +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.8.5])]) + +# AM_AUX_DIR_EXPAND + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 6 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]) +fi])]) + +# serial 7 -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 7 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 11 + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG(AMTAR, tar) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl + +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# -*- Autoconf -*- + + +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. + +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# +# Check to make sure that the build environment is sane. +# + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# AM_PROG_INSTALL_STRIP + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +m4_include([acinclude.m4]) diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/bootstrap b/lib/beagle-3.0.3/examples/GA/zeromin/bootstrap new file mode 100755 index 0000000..5972642 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/bootstrap @@ -0,0 +1,7 @@ +#!/bin/sh +set -x +autoheader +libtoolize --force --copy +aclocal -I config +automake --foreign --add-missing --force-missing --copy +autoconf diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/config/config.guess b/lib/beagle-3.0.3/examples/GA/zeromin/config/config.guess new file mode 100755 index 0000000..396482d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/config/config.guess @@ -0,0 +1,1500 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-07-02' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + x86:Interix*:[3456]*) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T:Interix*:[3456]*) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/config/config.sub b/lib/beagle-3.0.3/examples/GA/zeromin/config/config.sub new file mode 100755 index 0000000..fab0aa3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/config/config.sub @@ -0,0 +1,1616 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-09-20' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/config/depcomp b/lib/beagle-3.0.3/examples/GA/zeromin/config/depcomp new file mode 100755 index 0000000..25bdb18 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/config/depcomp @@ -0,0 +1,526 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2004-04-25.13 + +# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit 0 + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit 0 + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # Dependencies are output in .lo.d with libtool 1.4. + # They are output in .o.d with libtool 1.5. + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.o.d" + tmpdepfile3="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + tmpdepfile3="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + elif test -f "$tmpdepfile2"; then + tmpdepfile="$tmpdepfile2" + else + tmpdepfile="$tmpdepfile3" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/config/install-sh b/lib/beagle-3.0.3/examples/GA/zeromin/config/install-sh new file mode 100755 index 0000000..e4160c9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/config/install-sh @@ -0,0 +1,325 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2004-04-01.17 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename= +transform_arg= +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= + +usage="Usage: $0 [OPTION]... SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 -d DIRECTORIES... + +In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. +In the second, create the directory path DIR. + +Options: +-b=TRANSFORMBASENAME +-c copy source (using $cpprog) instead of moving (using $mvprog). +-d create directories instead of installing files. +-g GROUP $chgrp installed files to GROUP. +-m MODE $chmod installed files to MODE. +-o USER $chown installed files to USER. +-s strip installed files (using $stripprog). +-t=TRANSFORM +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit 0;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + --version) echo "$0 $scriptversion"; exit 0;; + + *) # When -d is used, all remaining arguments are directories to create. + test -n "$dir_arg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + instcmd=: + chmodcmd= + else + instcmd=$mkdirprog + fi + else + # Waiting for this to be detected by the "$instcmd $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" || lasterr=$? + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; } + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $instcmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + # If we're going to rename the final executable, determine the name now. + if test -z "$transformarg"; then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename \ + | sed $transformarg`$transformbasename + fi + + # don't allow the sed command to completely eliminate the filename. + test -z "$dstfile" && dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Move or copy the file name to the temp name + $doit $instcmd "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $instcmd $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/config/ltmain.sh b/lib/beagle-3.0.3/examples/GA/zeromin/config/ltmain.sh new file mode 100644 index 0000000..c715b59 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/config/ltmain.sh @@ -0,0 +1,6871 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.22 Debian 1.5.22-4" +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + fi + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + else + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/config/missing b/lib/beagle-3.0.3/examples/GA/zeromin/config/missing new file mode 100755 index 0000000..e7ef83a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/config/missing @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2003-09-02.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/configure b/lib/beagle-3.0.3/examples/GA/zeromin/configure new file mode 100755 index 0000000..5c1cd2d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/configure @@ -0,0 +1,22313 @@ +#! /bin/sh +# From configure.ac Revision: 1.4 . +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for GA OneMax minimization example 3.0.0. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='GA OneMax minimization example' +PACKAGE_TARNAME='zeromin' +PACKAGE_VERSION='3.0.0' +PACKAGE_STRING='GA OneMax minimization example 3.0.0' +PACKAGE_BUGREPORT='cgagne@gmail.com' + +ac_unique_file="zeromin/ZeroMinEvalOp.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +AMTAR +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +CXX +CXXFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CXX +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +LN_S +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +CC +CFLAGS +ac_ct_CC +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +GREP +EGREP +ECHO +AR +RANLIB +CPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +PTHREAD_CC +PTHREAD_LIBS +PTHREAD_CFLAGS +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +CPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures GA OneMax minimization example 3.0.0 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/zeromin] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of GA OneMax minimization example 3.0.0:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] include additional configurations [automatic] + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + --with-pacc-util=DIR specify installation path of PACC::Util + --with-pacc-util-include=DIR specify exact dir for PACC::Util headers + --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries + --with-pacc-xml=DIR specify installation path of PACC::XML + --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers + --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries + --with-pacc-math=DIR specify installation path of PACC::Math + --with-pacc-math-include=DIR specify exact dir for PACC::Math headers + --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries + --with-pacc-threading=DIR specify installation path of PACC::Threading + --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers + --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries + --with-beagle=DIR specify installation path of Open BEAGLE + --with-beagle-include=DIR specify exact dir for Open BEAGLE headers + --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers + --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers + --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers + --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries + --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries + --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries + --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + CPP C preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +GA OneMax minimization example configure 3.0.0 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by GA OneMax minimization example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in config "$srcdir"/config; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +am__api_version="1.8" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='zeromin' + VERSION='3.0.0' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. + + + +ac_config_headers="$ac_config_headers zeromin/config.hpp:zeromin/config.hpp.in" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 +echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 +echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 5044 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7303: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7307: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7571: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7575: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7675: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:7679: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix3*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_CXX=yes + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_CXX='+b $libdir' + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix3*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix3*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +solaris*) + case $cc_basename in + CC*) + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + postdeps_CXX='-lCstd -lCrun' + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12408: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:12412: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12512: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:12516: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_CXX" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14073: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:14077: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14177: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:14181: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix3*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_F77=yes + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_F77" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16364: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16368: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16632: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16636: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16736: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:16740: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix3*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_GCJ=yes + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_GCJ" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_RC" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + +# +# Handle user hints +# +{ echo "$as_me:$LINENO: checking if zlib is wanted" >&5 +echo $ECHO_N "checking if zlib is wanted... $ECHO_C" >&6; } + +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then + withval=$with_zlib; if test "$withval" != no ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + ZLIB_HOME="$withval" +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +else + +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + zlib_cv_libz=yes +else + zlib_cv_libz=no +fi + + if test "${ac_cv_header_zlib_h+set}" = set; then + { echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking zlib.h usability" >&5 +echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking zlib.h presence" >&5 +echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_zlib_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } + +fi +if test $ac_cv_header_zlib_h = yes; then + zlib_cv_zlib_h=yes +else + zlib_cv_zlib_h=no +fi + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + +{ echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +fi + + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } + fi +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_join (); +int +main () +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 +echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6; } + ;; + + -*) + { echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 +echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + *) + { echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 +echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 +echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_JOINABLE +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_UNDETACHED +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +cat >>confdefs.h <<\_ACEOF +#define PTHREAD_CREATE_JOINABLE $ok +_ACEOF + + fi + { echo "$as_me:$LINENO: result: ${ok}" >&5 +echo "${ECHO_T}${ok}" >&6; } + if test x"$ok" = xunknown; then + { echo "$as_me:$LINENO: WARNING: we do not know how to create joinable pthreads" >&5 +echo "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 +echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { echo "$as_me:$LINENO: result: ${flag}" >&5 +echo "${ECHO_T}${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PTHREAD_CC="cc_r" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 +echo "${ECHO_T}$PTHREAD_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_PTHREAD 1 +_ACEOF + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + + + +# Check whether --with-pacc-util was given. +if test "${with_pacc_util+set}" = set; then + withval=$with_pacc_util; pacc_util_path="$withval" +else + pacc_util_path="../../../../PACC" +fi + + +# Check whether --with-pacc-util-include was given. +if test "${with_pacc_util_include+set}" = set; then + withval=$with_pacc_util_include; pacc_util_path_include="$withval" +fi + + +# Check whether --with-pacc-util-libdir was given. +if test "${with_pacc_util_libdir+set}" = set; then + withval=$with_pacc_util_libdir; pacc_util_path_libdir="$withval" +fi + +if test -z "$pacc_util_path"; then + pacc_util_path="../../../../PACC" +fi +if test -z "$pacc_util_path_include"; then + if test -z "../../../../PACC"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "../../../../PACC/Util"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="../../../../PACC/Util" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Util headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Util headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_util_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Util.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_util_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_util_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_util_include_test" >&5 +echo "${ECHO_T}$pacc_util_include_test" >&6; } + + + +# Check whether --with-pacc-xml was given. +if test "${with_pacc_xml+set}" = set; then + withval=$with_pacc_xml; pacc_xml_path="$withval" +else + pacc_xml_path="../../../../PACC" +fi + + +# Check whether --with-pacc-xml-include was given. +if test "${with_pacc_xml_include+set}" = set; then + withval=$with_pacc_xml_include; pacc_xml_path_include="$withval" +fi + + +# Check whether --with-pacc-xml-libdir was given. +if test "${with_pacc_xml_libdir+set}" = set; then + withval=$with_pacc_xml_libdir; pacc_xml_path_libdir="$withval" +fi + +if test -z "$pacc_xml_path"; then + pacc_xml_path="../../../../PACC" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "../../../../PACC"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "../../../../PACC/XML"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="../../../../PACC/XML" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::XML headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::XML headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_xml_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +XML.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_xml_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_xml_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_xml_include_test" >&5 +echo "${ECHO_T}$pacc_xml_include_test" >&6; } + + + +# Check whether --with-pacc-math was given. +if test "${with_pacc_math+set}" = set; then + withval=$with_pacc_math; pacc_math_path="$withval" +else + pacc_math_path="../../../../PACC" +fi + + +# Check whether --with-pacc-math-include was given. +if test "${with_pacc_math_include+set}" = set; then + withval=$with_pacc_math_include; pacc_math_path_include="$withval" +fi + + +# Check whether --with-pacc-math-libdir was given. +if test "${with_pacc_math_libdir+set}" = set; then + withval=$with_pacc_math_libdir; pacc_math_path_libdir="$withval" +fi + +if test -z "$pacc_math_path"; then + pacc_math_path="../../../../PACC" +fi +if test -z "$pacc_math_path_include"; then + if test -z "../../../../PACC"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "../../../../PACC/Math"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="../../../../PACC/Math" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Math headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Math headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_math_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Math.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_math_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_math_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_math_include_test" >&5 +echo "${ECHO_T}$pacc_math_include_test" >&6; } + + + +# Check whether --with-pacc-threading was given. +if test "${with_pacc_threading+set}" = set; then + withval=$with_pacc_threading; pacc_threading_path="$withval" +else + pacc_threading_path="../../../../PACC" +fi + + +# Check whether --with-pacc-threading-include was given. +if test "${with_pacc_threading_include+set}" = set; then + withval=$with_pacc_threading_include; pacc_threading_path_include="$withval" +fi + + +# Check whether --with-pacc-threading-libdir was given. +if test "${with_pacc_threading_libdir+set}" = set; then + withval=$with_pacc_threading_libdir; pacc_threading_path_libdir="$withval" +fi + +if test -z "$pacc_threading_path"; then + pacc_threading_path="../../../../PACC" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "../../../../PACC"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "../../../../PACC/Threading"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="../../../../PACC/Threading" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Threading headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Threading headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_threading_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Threading.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_threading_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_threading_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_threading_include_test" >&5 +echo "${ECHO_T}$pacc_threading_include_test" >&6; } + + + +# Check whether --enable-optimization was given. +if test "${enable_optimization+set}" = set; then + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` +fi + +# Check whether --with-beagle was given. +if test "${with_beagle+set}" = set; then + withval=$with_beagle; ob_beagle_path="$withval" +else + ob_beagle_path="../../../../beagle" +fi + + +# Check whether --with-beagle-include was given. +if test "${with_beagle_include+set}" = set; then + withval=$with_beagle_include; ob_beagle_path_include="$withval" +fi + + +# Check whether --with-beagle-GA-include was given. +if test "${with_beagle_GA_include+set}" = set; then + withval=$with_beagle_GA_include; ob_beagle_path_ga_include="$withval" +fi + + +# Check whether --with-beagle-GP-include was given. +if test "${with_beagle_GP_include+set}" = set; then + withval=$with_beagle_GP_include; ob_beagle_path_gp_include="$withval" +fi + + +# Check whether --with-beagle-Coev-include was given. +if test "${with_beagle_Coev_include+set}" = set; then + withval=$with_beagle_Coev_include; ob_beagle_path_coev_include="$withval" +fi + + +# Check whether --with-beagle-libdir was given. +if test "${with_beagle_libdir+set}" = set; then + withval=$with_beagle_libdir; ob_beagle_path_libdir="$withval" +fi + + +# Check whether --with-beagle-GA-libdir was given. +if test "${with_beagle_GA_libdir+set}" = set; then + withval=$with_beagle_GA_libdir; ob_beagle_path_ga_libdir="$withval" +fi + + +# Check whether --with-beagle-GP-libdir was given. +if test "${with_beagle_GP_libdir+set}" = set; then + withval=$with_beagle_GP_libdir; ob_beagle_path_gp_libdir="$withval" +fi + + +# Check whether --with-beagle-Coev-libdir was given. +if test "${with_beagle_Coev_libdir+set}" = set; then + withval=$with_beagle_Coev_libdir; ob_beagle_path_coev_libdir="$withval" +fi + +if test -z "$ob_beagle_path"; then + ob_beagle_path="../../../../beagle" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "../../../../beagle/include"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="../../../../beagle/include" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "../../../../beagle/src"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="../../../../beagle/src" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "../../../../beagle/GA/include"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="../../../../beagle/GA/include" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "../../../../beagle/GA/src"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="../../../../beagle/GA/src" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "../../../../beagle/GP/include"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="../../../../beagle/GP/include" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "../../../../beagle/GP/src"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="../../../../beagle/GP/src" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "../../../../beagle/Coev/include"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="../../../../beagle/Coev/include" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "../../../../beagle/Coev/src"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="../../../../beagle/Coev/src" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +{ echo "$as_me:$LINENO: checking if Open BEAGLE headers are correctly included" >&5 +echo $ECHO_N "checking if Open BEAGLE headers are correctly included... $ECHO_C" >&6; } +if test "${ob_beagle_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + ob_beagle_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ob_beagle_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ob_beagle_include_test" >&5 +echo "${ECHO_T}$ob_beagle_include_test" >&6; } + + +ac_config_files="$ac_config_files Makefile zeromin/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by GA OneMax minimization example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +GA OneMax minimization example config.status 3.0.0 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "zeromin/config.hpp") CONFIG_HEADERS="$CONFIG_HEADERS zeromin/config.hpp:zeromin/config.hpp.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "zeromin/Makefile") CONFIG_FILES="$CONFIG_FILES zeromin/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +AMTAR!$AMTAR$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +LN_S!$LN_S$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CPP!$CPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +LIBTOOL!$LIBTOOL$ac_delim +PTHREAD_CC!$PTHREAD_CC$ac_delim +PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim +PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 6; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/configure.ac b/lib/beagle-3.0.3/examples/GA/zeromin/configure.ac new file mode 100644 index 0000000..b17e63a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/configure.ac @@ -0,0 +1,50 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT([GA OneMax minimization example],[3.0.0],[cgagne@gmail.com],[zeromin]) +AC_CONFIG_SRCDIR([zeromin/ZeroMinEvalOp.cpp]) +AC_CONFIG_AUX_DIR([config]) +AC_REVISION([$Revision: 1.4 $]) +AM_INIT_AUTOMAKE +AM_CONFIG_HEADER([zeromin/config.hpp:zeromin/config.hpp.in]) + +dnl Checks for programs. +AC_PROG_AWK +AC_PROG_CXX +AC_PROG_CXXCPP +AC_PROG_LN_S +AC_PROG_LIBTOOL + +dnl Set language. +AC_LANG([C++]) + +dnl Checks for libraries. +AC_HEADER_STDC + +dnl Check for zlib support. +CHECK_ZLIB + +dnl Check for POSIX threads support. +ACX_PTHREAD +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +dnl Initialize PACC libraries with the given paths. +PACC_UTIL_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Util]) +PACC_XML_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/XML]) +PACC_MATH_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Math]) +PACC_THREADING_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Threading]) + +dnl Initialize Open BEAGLE with the given paths. +OB_BEAGLE_INIT([../../../../beagle], + [../../../../beagle/include], + [../../../../beagle/src], + [../../../../beagle/GA/include], + [../../../../beagle/GA/src], + [../../../../beagle/GP/include], + [../../../../beagle/GP/src], + [../../../../beagle/Coev/include], + [../../../../beagle/Coev/src]) + +dnl Create makefiles. +AC_CONFIG_FILES([Makefile zeromin/Makefile]) +AC_OUTPUT diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/templates/cpp b/lib/beagle-3.0.3/examples/GA/zeromin/templates/cpp new file mode 100644 index 0000000..1c0c91f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/templates/cpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/%{FILE} + * \brief Implementation of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:50 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/templates/hpp b/lib/beagle-3.0.3/examples/GA/zeromin/templates/hpp new file mode 100644 index 0000000..e607e20 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/templates/hpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/%{FILE} + * \brief Definition of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:50 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/zeromin.kdevelop b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin.kdevelop new file mode 100644 index 0000000..51814d5 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin.kdevelop @@ -0,0 +1,197 @@ + + + + Christian Gagne + cgagne@gmail.com + 3.0.0 + KDevAutoProject + C++ + + C++ + Code + + + . + false + + + + + + src/zeromin + default + + + zeromin/zeromin + true + executable + / + + true + + + + + + + + + + + kdevgccoptions + kdevgppoptions + kdevg77options + + + + + + + + + + + + + + + + + + ada + ada_bugs_gcc + bash + bash_bugs + clanlib + w3c-dom-level2-html + fortran_bugs_gcc + gnome1 + gnustep + gtk + gtk_bugs + haskell + haskell_bugs_ghc + java_bugs_gcc + java_bugs_sun + kde2book + opengl + pascal_bugs_fp + php + php_bugs + perl + perl_bugs + python + python_bugs + qt-kdev3 + ruby + ruby_bugs + sdl + w3c-svg + sw + w3c-uaag10 + wxwidgets_bugs + + + Guide to the Qt Translation Tools + Qt Assistant Manual + Qt Designer Manual + Qt Reference Documentation + qmake User Guide + + + KDE Libraries (Doxygen) + + + + + + + + + + + + + + false + false + + + *.o,*.lo,CVS + false + false + + + + + + + + + + + zeromin + zeromin + ZEROMIN + Christian Gagne + cgagne@gmail.com + GPL + COPYING + 3.0.0 + /home/cgagne/tmp/zeromin + + + + + true + true + true + false + true + true + true + 250 + 400 + 250 + + + + set + m_,_ + theValue + true + true + + + + + .hpp + .cpp + + + + + + + + + + + true + false + false + + + false + true + 10 + + + + true + true + true + true + -C + + diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/Makefile.am b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/Makefile.am new file mode 100644 index 0000000..00c13c0 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/Makefile.am @@ -0,0 +1,2 @@ +bin_PROGRAMS = zeromin +zeromin_SOURCES = ZeroMinEvalOp.hpp ZeroMinEvalOp.cpp ZeroMinMain.cpp diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/Makefile.in b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/Makefile.in new file mode 100644 index 0000000..8c996c0 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/Makefile.in @@ -0,0 +1,484 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +SOURCES = $(zeromin_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +bin_PROGRAMS = zeromin$(EXEEXT) +subdir = zeromin +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.hpp.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = config.hpp +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_zeromin_OBJECTS = ZeroMinEvalOp.$(OBJEXT) ZeroMinMain.$(OBJEXT) +zeromin_OBJECTS = $(am_zeromin_OBJECTS) +zeromin_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/ZeroMinEvalOp.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/ZeroMinMain.Po +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(zeromin_SOURCES) +DIST_SOURCES = $(zeromin_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +zeromin_SOURCES = ZeroMinEvalOp.hpp ZeroMinEvalOp.cpp ZeroMinMain.cpp +all: config.hpp + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign zeromin/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign zeromin/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +config.hpp: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.hpp.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status zeromin/config.hpp +$(srcdir)/config.hpp.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.hpp stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +zeromin$(EXEEXT): $(zeromin_OBJECTS) $(zeromin_DEPENDENCIES) + @rm -f zeromin$(EXEEXT) + $(CXXLINK) $(zeromin_LDFLAGS) $(zeromin_OBJECTS) $(zeromin_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ZeroMinEvalOp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ZeroMinMain.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) config.hpp +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/ZeroMinEvalOp.cpp b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/ZeroMinEvalOp.cpp new file mode 100644 index 0000000..5838cc5 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/ZeroMinEvalOp.cpp @@ -0,0 +1,66 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file ZeroMinEvalOp.cpp + * \brief Implementation of the class ZeroMinEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#include "beagle/GA.hpp" +#include "ZeroMinEvalOp.hpp" + +#include + +using namespace Beagle; + +/*! + * \brief Construct the individual evaluation operator for the ZeroMin problem. + */ +ZeroMinEvalOp::ZeroMinEvalOp() : + EvaluationOp("ZeroMinEvalOp") +{ } + + +/*! + * \brief Evaluate the fitness of the given individual. + * \param inIndividual Current individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness value of the GA individual. + */ +Fitness::Handle ZeroMinEvalOp::evaluate(Individual& inIndividual, Context& ioContext) +{ + Beagle_AssertM(inIndividual.size() == 1); + GA::BitString::Handle lBitString = castHandleT(inIndividual[0]); + unsigned int lCount = 0; + for(unsigned int i=0; isize(); ++i) { + if((*lBitString)[i] == true) ++lCount; + } + return new FitnessSimpleMin(float(lCount)); +} diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/ZeroMinEvalOp.hpp b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/ZeroMinEvalOp.hpp new file mode 100644 index 0000000..8a72a1c --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/ZeroMinEvalOp.hpp @@ -0,0 +1,84 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file ZeroMinEvalOp.hpp + * \brief Definition of the type ZeroMinEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +/*! + * \defgroup ZeroMin ZeroMin Minimization GA Example + * \brief ZeroMin (zeromin): Minimization GA example with Open BEAGLE. + * + * \par Objective + * Find a bit string filled with zeros. + * + * \par Representation + * Bit strings made of N bits. + * + * \par Fitness + * Number of ones in the bit string, where the perfect solution has a fitness of 0. + * + */ + +#ifndef ZeroMinEvalOp_hpp +#define ZeroMinEvalOp_hpp + +#include "beagle/GA.hpp" +#include + + +/*! + * \class ZeroMinEvalOp ZeroMinEvalOp.hpp "ZeroMinEvalOp.hpp" + * \brief The individual evaluation class operator for the ZeroMin minimization problem. + * \ingroup ZeroMin + */ +class ZeroMinEvalOp : public Beagle::EvaluationOp { + +public: + + //! ZeroMinEvalOp allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< ZeroMinEvalOp handle type. + typedef Beagle::PointerT + Handle; + //!< ZeroMinEvalOp bag type. + typedef Beagle::ContainerT + Bag; + + explicit ZeroMinEvalOp(); + + virtual Beagle::Fitness::Handle evaluate(Beagle::Individual& inIndividual, + Beagle::Context& ioContext); + +}; + +#endif // ZeroMinEvalOp_hpp diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/ZeroMinMain.cpp b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/ZeroMinMain.cpp new file mode 100644 index 0000000..75bc8bb --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/ZeroMinMain.cpp @@ -0,0 +1,81 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file ZeroMinMain.cpp + * \brief Implementation of the main routine for the ZeroMin minimization problem. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#include "beagle/GA.hpp" +#include "ZeroMinEvalOp.hpp" + +#include +#include +#include +#include +#include + +using namespace std; +using namespace Beagle; + +/*! + * \brief Main routine for the ZeroMin minimization problem. + * \param argc Number of arguments on the command-line. + * \param argv Arguments on the command-line. + * \return Return value of the program. + * \ingroup ZeroMin + */ +int main(int argc, char** argv) { + try { + // 1. Build the system. + System::Handle lSystem = new System; + // 2. Build evaluation operator. + ZeroMinEvalOp::Handle lEvalOp = new ZeroMinEvalOp; + // 3. Instanciate the evolver. + const unsigned int lNumberOfBits = 50; + GA::EvolverBitString::Handle lEvolver = new GA::EvolverBitString(lEvalOp, lNumberOfBits); + // 4. Initialize vivarium with bitstring and minimization fitness allocators. + GA::BitString::Alloc::Handle lBSAlloc = new GA::BitString::Alloc; + FitnessSimpleMin::Alloc::Handle lFitnessAlloc = new FitnessSimpleMin::Alloc; + Vivarium::Handle lVivarium = new Vivarium(lBSAlloc, lFitnessAlloc); + // 5. Initialize the evolver and evolve the vivarium. + lEvolver->initialize(lSystem, argc, argv); + lEvolver->evolve(lVivarium); + } + catch(Exception& inException) { + inException.terminate(cerr); + } + catch(std::exception& inException) { + cerr << "Standard exception catched:" << endl << flush; + cerr << inException.what() << endl << flush; + return 1; + } + return 0; +} diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/config.hpp.in b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/config.hpp.in new file mode 100644 index 0000000..35df704 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/config.hpp.in @@ -0,0 +1,65 @@ +/* zeromin/config.hpp.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `z' library (-lz). */ +#undef HAVE_LIBZ + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define if you have POSIX threads libraries and header files. */ +#undef HAVE_PTHREAD + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +#undef PTHREAD_CREATE_JOINABLE + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/zeromin-generational.conf b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/zeromin-generational.conf new file mode 100644 index 0000000..b41e934 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/zeromin-generational.conf @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.6 + 0.3 + 0.1 + 0.1 + + diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/zeromin-steadystate.conf b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/zeromin-steadystate.conf new file mode 100644 index 0000000..202e319 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/zeromin-steadystate.conf @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.6 + 0.3 + 0.1 + 0.1 + + diff --git a/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/zeromin.conf b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/zeromin.conf new file mode 100644 index 0000000..1ad51ef --- /dev/null +++ b/lib/beagle-3.0.3/examples/GA/zeromin/zeromin/zeromin.conf @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GP/parity/AUTHORS b/lib/beagle-3.0.3/examples/GP/parity/AUTHORS new file mode 100644 index 0000000..f0c32cf --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/AUTHORS @@ -0,0 +1,2 @@ +Christian Gagne +Marc Parizeau diff --git a/lib/beagle-3.0.3/examples/GP/parity/COPYING b/lib/beagle-3.0.3/examples/GP/parity/COPYING new file mode 100644 index 0000000..60549be --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/lib/beagle-3.0.3/examples/GP/parity/INSTALL b/lib/beagle-3.0.3/examples/GP/parity/INSTALL new file mode 100644 index 0000000..e8e79ed --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/INSTALL @@ -0,0 +1,78 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Even 6-parity (parity): A GP example using ADFs with Open BEAGLE + +Copyright (C) 2001-2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON UNIX +========================================= + +To compile the parity example on Unix (once the Open BEAGLE framework is built), +'cd' to the main example directory, and type the following commands. + + ./configure + make clean + make + +Then, the binary will be in directory 'parity'. + +'configure' recognizes the following options to control how it +operates. + +'--enable-optimization' + Enable the 'optimization' mode by setting the optimization flags + of the compiler. Use this flag to compile a version of the examples + linked with an optimized version of the framework libraries. + +'--with-beagle-include=DIR' + Specify exact installation directory for Open BEAGLE headers. + +'--with-beagle-GA-include=DIR' + Specify exact installation directory for Open BEAGLE GA headers. + +'--with-beagle-GP-include=DIR' + Specify exact installation directory for Open BEAGLE GP headers. + +'--with-beagle-libdir=DIR' + Specify exact installation directory for Open BEAGLE libraries. + +'--with-beagle-GA-libdir=DIR' + Specify exact installation directory for Open BEAGLE GA libraries. + +'--with-beagle-GP-libdir=DIR' + Specify exact installation directory for Open BEAGLE GP libraries. + +'--cache-file=FILE' + Use and save the test results in file FILE instead of + './config.cache'. Set FILE to '/dev/null' to disable caching, for + debugging 'configure'. + +'--help' + Print a summary of the options to 'configure', and exit. + +'--quiet' +'--silent' +'-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to '/dev/null' (any error + messages will still be shown). + +'--version' + Print the version of Autoconf used to generate the 'configure' + script, and exit. + +'configure' also accepts some other, not widely useful, options. + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON MS VISUAL C++ .NET +======================================================= + +Go to folder 'MSVCPP' and open the solution file 'parity.sln' with +MS Visual Studio .NET. Then you can compile the example. The binary will +be in folder 'parity'. + diff --git a/lib/beagle-3.0.3/examples/GP/parity/MSVCPP/parity.sln b/lib/beagle-3.0.3/examples/GP/parity/MSVCPP/parity.sln new file mode 100644 index 0000000..4ea0f9d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/MSVCPP/parity.sln @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "parity", "parity\parity.vcproj", "{29BA975C-FEE6-4BCC-A4D3-9ACC4634BB8E}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {29BA975C-FEE6-4BCC-A4D3-9ACC4634BB8E}.Debug.ActiveCfg = Debug|Win32 + {29BA975C-FEE6-4BCC-A4D3-9ACC4634BB8E}.Debug.Build.0 = Debug|Win32 + {29BA975C-FEE6-4BCC-A4D3-9ACC4634BB8E}.Release.ActiveCfg = Release|Win32 + {29BA975C-FEE6-4BCC-A4D3-9ACC4634BB8E}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/lib/beagle-3.0.3/examples/GP/parity/MSVCPP/parity.suo b/lib/beagle-3.0.3/examples/GP/parity/MSVCPP/parity.suo new file mode 100644 index 0000000..3599f1b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/MSVCPP/parity.suo @@ -0,0 +1 @@ +ÐÏࡱ \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GP/parity/MSVCPP/parity/parity.vcproj b/lib/beagle-3.0.3/examples/GP/parity/MSVCPP/parity/parity.vcproj new file mode 100644 index 0000000..5aade53 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/MSVCPP/parity/parity.vcproj @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/examples/GP/parity/Makefile.am b/lib/beagle-3.0.3/examples/GP/parity/Makefile.am new file mode 100644 index 0000000..abd052c --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/Makefile.am @@ -0,0 +1,2 @@ +AUTOMAKE_OPTIONS=dist-zip +SUBDIRS = parity diff --git a/lib/beagle-3.0.3/examples/GP/parity/Makefile.cvs b/lib/beagle-3.0.3/examples/GP/parity/Makefile.cvs new file mode 100644 index 0000000..925be9f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/Makefile.cvs @@ -0,0 +1,4 @@ +SHELL = /bin/sh + +all: + ${SHELL} ./bootstrap diff --git a/lib/beagle-3.0.3/examples/GP/parity/Makefile.in b/lib/beagle-3.0.3/examples/GP/parity/Makefile.in new file mode 100644 index 0000000..c2a2d8f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/Makefile.in @@ -0,0 +1,585 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \ + INSTALL config/config.guess config/config.sub config/depcomp \ + config/install-sh config/ltmain.sh config/missing \ + config/mkinstalldirs +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/parity/config.hpp +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AUTOMAKE_OPTIONS = dist-zip +SUBDIRS = parity +all: all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/config + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || mkdir "$(distdir)/$$subdir" \ + || exit 1; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="../$(top_distdir)" \ + distdir="../$(distdir)/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-libtool distclean-recursive \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GP/parity/README b/lib/beagle-3.0.3/examples/GP/parity/README new file mode 100644 index 0000000..7a617c2 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/README @@ -0,0 +1,63 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Even-6 parity (parity): A GP example using ADFs with Open BEAGLE + +Copyright (C) 2001-2007 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +Getting started +=============== + + Example is compiled in binary 'parity'. Usage options is described by + executing it with command-line argument '-OBusage'. The detailed help can + also be obtained with argument '-OBhelp'. + +Objective +========= + + Find a program that produces the value of the Boolean even 6-parity given + six independent Boolean inputs. + +Terminal set +============ + + IN0, IN1, IN2, IN3, IN4, and IN5, the inputs of the function. + 0 and 1, two Boolean constants. + +Function set +============ + + AND + OR + NAND + NOR + +Automatically defined functions +=============================== + + Two ADFs used, each with two arguments inputs. + +Fitness cases +============= + + All the $2^6 = 64$ combinations of the six input Booleans. + +Fitness +======= + + Rate of correct outputs obtained over all the 64 fitness cases. + +Stopping criteria +================= + + When the evolution reaches the maximum number of generations. + +Reference +========= + + John R. Koza, "Genetic Programming II: Automatic Discovery of Reusable + Programs", MIT Press, 1994, pages 157-199. diff --git a/lib/beagle-3.0.3/examples/GP/parity/acinclude.m4 b/lib/beagle-3.0.3/examples/GP/parity/acinclude.m4 new file mode 100644 index 0000000..9d8ff5a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/acinclude.m4 @@ -0,0 +1,603 @@ +dnl +dnl Initialize an autoconf project that use PACC::Math. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_MATH_INIT(PACC_MATH_PATH +dnl [, PACC_MATH_INCLUDEPATH] +dnl [, PACC_MATH_LIBPATH]) +dnl +AC_DEFUN([PACC_MATH_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-math, + [ --with-pacc-math=DIR specify installation path of PACC::Math], + [pacc_math_path="$withval"], + [pacc_math_path="$1"]) +AC_ARG_WITH(pacc-math-include, + [ --with-pacc-math-include=DIR specify exact dir for PACC::Math headers], + [pacc_math_path_include="$withval"]) +AC_ARG_WITH(pacc-math-libdir, + [ --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries], + [pacc_math_path_libdir="$withval"]) +if test -z "$pacc_math_path"; then + pacc_math_path="$1" +fi +if test -z "$pacc_math_path_include"; then + if test -z "$2"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="$2" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "$3"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Math headers are correctly included, +pacc_math_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Math.hpp], + pacc_math_include_test=yes, + pacc_math_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Threading. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_THREADING_INIT(PACC_THREADING_PATH +dnl [, PACC_THREADING_INCLUDEPATH] +dnl [, PACC_THREADING_LIBPATH]) +dnl +AC_DEFUN([PACC_THREADING_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-threading, + [ --with-pacc-threading=DIR specify installation path of PACC::Threading], + [pacc_threading_path="$withval"], + [pacc_threading_path="$1"]) +AC_ARG_WITH(pacc-threading-include, + [ --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers], + [pacc_threading_path_include="$withval"]) +AC_ARG_WITH(pacc-threading-libdir, + [ --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries], + [pacc_threading_path_libdir="$withval"]) +if test -z "$pacc_threading_path"; then + pacc_threading_path="$1" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "$2"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="$2" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "$3"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Threading headers are correctly included, +pacc_threading_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Threading.hpp], + pacc_threading_include_test=yes, + pacc_threading_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Util. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_UTIL_INIT(PACC_UTIL_PATH +dnl [, PACC_UTIL_INCLUDEPATH] +dnl [, PACC_UTIL_LIBPATH]) +dnl +AC_DEFUN([PACC_UTIL_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-util, + [ --with-pacc-util=DIR specify installation path of PACC::Util], + [pacc_util_path="$withval"], + [pacc_util_path="$1"]) +AC_ARG_WITH(pacc-util-include, + [ --with-pacc-util-include=DIR specify exact dir for PACC::Util headers], + [pacc_util_path_include="$withval"]) +AC_ARG_WITH(pacc-util-libdir, + [ --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries], + [pacc_util_path_libdir="$withval"]) +if test -z "$pacc_util_path"; then + pacc_util_path="$1" +fi +if test -z "$pacc_util_path_include"; then + if test -z "$2"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="$2" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "$3"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Util headers are correctly included, +pacc_util_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Util.hpp], + pacc_util_include_test=yes, + pacc_util_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::XML. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_XML_INIT(PACC_XML_PATH +dnl [, PACC_XML_INCLUDEPATH] +dnl [, PACC_XML_LIBPATH]) +dnl +AC_DEFUN([PACC_XML_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-xml, + [ --with-pacc-xml=DIR specify installation path of PACC::XML], + [pacc_xml_path="$withval"], + [pacc_xml_path="$1"]) +AC_ARG_WITH(pacc-xml-include, + [ --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers], + [pacc_xml_path_include="$withval"]) +AC_ARG_WITH(pacc-xml-libdir, + [ --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries], + [pacc_xml_path_libdir="$withval"]) +if test -z "$pacc_xml_path"; then + pacc_xml_path="$1" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "$2"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="$2" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "$3"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::XML headers are correctly included, +pacc_xml_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([XML.hpp], + pacc_xml_include_test=yes, + pacc_xml_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use Open BEAGLE. +dnl +dnl by Christian Gagne, 14/10/2002, modified 10/10/2004 and 09/08/2005 +dnl +dnl OB_BEAGLE_INIT(BEAGLE_PATH +dnl [, BEAGLE_INCLUDEPATH] +dnl [, BEAGLE_LIBPATH] +dnl [, BEAGLE_GA_INCLUDEPATH] +dnl [, BEAGLE_GA_LIBPATH] +dnl [, BEAGLE_GP_INCLUDEPATH] +dnl [, BEAGLE_GP_LIBPATH] +dnl [, BEAGLE_COEV_INCLUDEPATH] +dnl [, BEAGLE_COEV_LIBPATH]) +dnl +AC_DEFUN([OB_BEAGLE_INIT], +[ +dnl Open BEAGLE optimization mode option. +AC_ARG_ENABLE(optimization, + [ --enable-optimization enable optimization mode [default=no]], + [case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac], + enable_optimization=no) +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` +fi +dnl Set headers and libraries path correctly +AC_ARG_WITH(beagle, + [ --with-beagle=DIR specify installation path of Open BEAGLE], + [ob_beagle_path="$withval"], + [ob_beagle_path="$1"]) +AC_ARG_WITH(beagle-include, + [ --with-beagle-include=DIR specify exact dir for Open BEAGLE headers], + [ob_beagle_path_include="$withval"]) +AC_ARG_WITH(beagle-GA-include, + [ --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers], + [ob_beagle_path_ga_include="$withval"]) +AC_ARG_WITH(beagle-GP-include, + [ --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers], + [ob_beagle_path_gp_include="$withval"]) +AC_ARG_WITH(beagle-Coev-include, + [ --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers], + [ob_beagle_path_coev_include="$withval"]) +AC_ARG_WITH(beagle-libdir, + [ --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries], + [ob_beagle_path_libdir="$withval"]) +AC_ARG_WITH(beagle-GA-libdir, + [ --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries], + [ob_beagle_path_ga_libdir="$withval"]) +AC_ARG_WITH(beagle-GP-libdir, + [ --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries], + [ob_beagle_path_gp_libdir="$withval"]) +AC_ARG_WITH(beagle-Coev-libdir, + [ --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries], + [ob_beagle_path_coev_libdir="$withval"]) +if test -z "$ob_beagle_path"; then + ob_beagle_path="$1" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "$2"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="$2" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "$3"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="$3" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "$4"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="$4" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "$5"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="$5" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "$6"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="$6" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "$7"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="$7" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "$8"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="$8" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "$9"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="$9" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if Open BEAGLE headers are correctly included, +ob_beagle_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp], + ob_beagle_include_test=yes, + ob_beagle_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl *************************************************************************** +dnl *************************************************************************** +AC_DEFUN([ACX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_SAVE +AC_LANG_C +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) + AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) + AC_MSG_RESULT($acx_pthread_ok) + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $flag]) + PTHREAD_CFLAGS="$flag" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$flag]) + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + AC_TRY_LINK([#include ], + [pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], + [acx_pthread_ok=yes]) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + AC_MSG_RESULT($acx_pthread_ok) + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + AC_MSG_CHECKING([for joinable pthread attribute]) + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_JOINABLE;], + ok=PTHREAD_CREATE_JOINABLE, ok=unknown) + if test x"$ok" = xunknown; then + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_UNDETACHED;], + ok=PTHREAD_CREATE_UNDETACHED, ok=unknown) + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok, + [Define to the necessary symbol if this constant + uses a non-standard name on your system.]) + fi + AC_MSG_RESULT(${ok}) + if test x"$ok" = xunknown; then + AC_MSG_WARN([we do not know how to create joinable pthreads]) + fi + + AC_MSG_CHECKING([if more special flags are required for pthreads]) + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + AC_MSG_RESULT(${flag}) + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) +else + PTHREAD_CC="$CC" +fi + +AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_CC) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) + : +else + acx_pthread_ok=no + $2 +fi +AC_LANG_RESTORE +])dnl ACX_PTHREAD + + + +AC_DEFUN([CHECK_ZLIB], +# +# Handle user hints +# +[AC_MSG_CHECKING(if zlib is wanted) +AC_ARG_WITH(zlib, +[ --with-zlib=DIR root directory path of zlib installation [defaults to + /usr/local or /usr if not found in /usr/local] + --without-zlib to disable zlib usage completely], +[if test "$withval" != no ; then + AC_MSG_RESULT(yes) + ZLIB_HOME="$withval" +else + AC_MSG_RESULT(no) +fi], [ +AC_MSG_RESULT(yes) +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi +]) +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) + AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) + AC_LANG_RESTORE + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + AC_CHECK_LIB(z, inflateEnd) + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + AC_MSG_RESULT(ok) + else + # + # If either header or library was not found, revert and bomb + # + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + AC_MSG_RESULT(failed) + fi +fi +]) diff --git a/lib/beagle-3.0.3/examples/GP/parity/aclocal.m4 b/lib/beagle-3.0.3/examples/GP/parity/aclocal.m4 new file mode 100644 index 0000000..1c4e723 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/aclocal.m4 @@ -0,0 +1,7302 @@ +# generated automatically by aclocal 1.8.5 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- + +# serial 48 Debian 1.5.22-4 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# ------------------ +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# --------------------------------------------------------------------- +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ---------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +# set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# ------------------ +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# ------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) + +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.8.5])]) + +# AM_AUX_DIR_EXPAND + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 6 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]) +fi])]) + +# serial 7 -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 7 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 11 + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG(AMTAR, tar) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl + +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# -*- Autoconf -*- + + +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. + +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# +# Check to make sure that the build environment is sane. +# + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# AM_PROG_INSTALL_STRIP + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +m4_include([acinclude.m4]) diff --git a/lib/beagle-3.0.3/examples/GP/parity/bootstrap b/lib/beagle-3.0.3/examples/GP/parity/bootstrap new file mode 100755 index 0000000..5972642 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/bootstrap @@ -0,0 +1,7 @@ +#!/bin/sh +set -x +autoheader +libtoolize --force --copy +aclocal -I config +automake --foreign --add-missing --force-missing --copy +autoconf diff --git a/lib/beagle-3.0.3/examples/GP/parity/config/config.guess b/lib/beagle-3.0.3/examples/GP/parity/config/config.guess new file mode 100755 index 0000000..396482d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/config/config.guess @@ -0,0 +1,1500 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-07-02' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + x86:Interix*:[3456]*) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T:Interix*:[3456]*) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GP/parity/config/config.sub b/lib/beagle-3.0.3/examples/GP/parity/config/config.sub new file mode 100755 index 0000000..fab0aa3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/config/config.sub @@ -0,0 +1,1616 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-09-20' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GP/parity/config/depcomp b/lib/beagle-3.0.3/examples/GP/parity/config/depcomp new file mode 100755 index 0000000..25bdb18 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/config/depcomp @@ -0,0 +1,526 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2004-04-25.13 + +# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit 0 + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit 0 + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # Dependencies are output in .lo.d with libtool 1.4. + # They are output in .o.d with libtool 1.5. + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.o.d" + tmpdepfile3="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + tmpdepfile3="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + elif test -f "$tmpdepfile2"; then + tmpdepfile="$tmpdepfile2" + else + tmpdepfile="$tmpdepfile3" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GP/parity/config/install-sh b/lib/beagle-3.0.3/examples/GP/parity/config/install-sh new file mode 100755 index 0000000..e4160c9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/config/install-sh @@ -0,0 +1,325 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2004-04-01.17 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename= +transform_arg= +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= + +usage="Usage: $0 [OPTION]... SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 -d DIRECTORIES... + +In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. +In the second, create the directory path DIR. + +Options: +-b=TRANSFORMBASENAME +-c copy source (using $cpprog) instead of moving (using $mvprog). +-d create directories instead of installing files. +-g GROUP $chgrp installed files to GROUP. +-m MODE $chmod installed files to MODE. +-o USER $chown installed files to USER. +-s strip installed files (using $stripprog). +-t=TRANSFORM +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit 0;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + --version) echo "$0 $scriptversion"; exit 0;; + + *) # When -d is used, all remaining arguments are directories to create. + test -n "$dir_arg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + instcmd=: + chmodcmd= + else + instcmd=$mkdirprog + fi + else + # Waiting for this to be detected by the "$instcmd $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" || lasterr=$? + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; } + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $instcmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + # If we're going to rename the final executable, determine the name now. + if test -z "$transformarg"; then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename \ + | sed $transformarg`$transformbasename + fi + + # don't allow the sed command to completely eliminate the filename. + test -z "$dstfile" && dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Move or copy the file name to the temp name + $doit $instcmd "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $instcmd $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GP/parity/config/ltmain.sh b/lib/beagle-3.0.3/examples/GP/parity/config/ltmain.sh new file mode 100644 index 0000000..c715b59 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/config/ltmain.sh @@ -0,0 +1,6871 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.22 Debian 1.5.22-4" +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + fi + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + else + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/lib/beagle-3.0.3/examples/GP/parity/config/missing b/lib/beagle-3.0.3/examples/GP/parity/config/missing new file mode 100755 index 0000000..e7ef83a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/config/missing @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2003-09-02.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GP/parity/configure b/lib/beagle-3.0.3/examples/GP/parity/configure new file mode 100755 index 0000000..2cff5b2 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/configure @@ -0,0 +1,22313 @@ +#! /bin/sh +# From configure.ac Revision: 1.4 . +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for GP parity example 3.0.0. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='GP parity example' +PACKAGE_TARNAME='parity' +PACKAGE_VERSION='3.0.0' +PACKAGE_STRING='GP parity example 3.0.0' +PACKAGE_BUGREPORT='cgagne@gmail.com' + +ac_unique_file="parity/ParityEvalOp.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +AMTAR +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +CXX +CXXFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CXX +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +LN_S +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +CC +CFLAGS +ac_ct_CC +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +GREP +EGREP +ECHO +AR +RANLIB +CPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +PTHREAD_CC +PTHREAD_LIBS +PTHREAD_CFLAGS +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +CPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures GP parity example 3.0.0 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/parity] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of GP parity example 3.0.0:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] include additional configurations [automatic] + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + --with-pacc-util=DIR specify installation path of PACC::Util + --with-pacc-util-include=DIR specify exact dir for PACC::Util headers + --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries + --with-pacc-xml=DIR specify installation path of PACC::XML + --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers + --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries + --with-pacc-math=DIR specify installation path of PACC::Math + --with-pacc-math-include=DIR specify exact dir for PACC::Math headers + --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries + --with-pacc-threading=DIR specify installation path of PACC::Threading + --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers + --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries + --with-beagle=DIR specify installation path of Open BEAGLE + --with-beagle-include=DIR specify exact dir for Open BEAGLE headers + --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers + --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers + --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers + --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries + --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries + --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries + --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + CPP C preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +GP parity example configure 3.0.0 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by GP parity example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in config "$srcdir"/config; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +am__api_version="1.8" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='parity' + VERSION='3.0.0' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. + + + +ac_config_headers="$ac_config_headers parity/config.hpp:parity/config.hpp.in" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 +echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 +echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 5044 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7303: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7307: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7571: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7575: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7675: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:7679: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix3*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_CXX=yes + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_CXX='+b $libdir' + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix3*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix3*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +solaris*) + case $cc_basename in + CC*) + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + postdeps_CXX='-lCstd -lCrun' + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12408: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:12412: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12512: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:12516: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_CXX" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14073: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:14077: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14177: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:14181: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix3*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_F77=yes + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_F77" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16364: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16368: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16632: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16636: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16736: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:16740: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix3*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_GCJ=yes + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_GCJ" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_RC" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + +# +# Handle user hints +# +{ echo "$as_me:$LINENO: checking if zlib is wanted" >&5 +echo $ECHO_N "checking if zlib is wanted... $ECHO_C" >&6; } + +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then + withval=$with_zlib; if test "$withval" != no ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + ZLIB_HOME="$withval" +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +else + +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + zlib_cv_libz=yes +else + zlib_cv_libz=no +fi + + if test "${ac_cv_header_zlib_h+set}" = set; then + { echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking zlib.h usability" >&5 +echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking zlib.h presence" >&5 +echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_zlib_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } + +fi +if test $ac_cv_header_zlib_h = yes; then + zlib_cv_zlib_h=yes +else + zlib_cv_zlib_h=no +fi + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + +{ echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +fi + + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } + fi +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_join (); +int +main () +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 +echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6; } + ;; + + -*) + { echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 +echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + *) + { echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 +echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 +echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_JOINABLE +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_UNDETACHED +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +cat >>confdefs.h <<\_ACEOF +#define PTHREAD_CREATE_JOINABLE $ok +_ACEOF + + fi + { echo "$as_me:$LINENO: result: ${ok}" >&5 +echo "${ECHO_T}${ok}" >&6; } + if test x"$ok" = xunknown; then + { echo "$as_me:$LINENO: WARNING: we do not know how to create joinable pthreads" >&5 +echo "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 +echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { echo "$as_me:$LINENO: result: ${flag}" >&5 +echo "${ECHO_T}${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PTHREAD_CC="cc_r" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 +echo "${ECHO_T}$PTHREAD_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_PTHREAD 1 +_ACEOF + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + + + +# Check whether --with-pacc-util was given. +if test "${with_pacc_util+set}" = set; then + withval=$with_pacc_util; pacc_util_path="$withval" +else + pacc_util_path="../../../../PACC" +fi + + +# Check whether --with-pacc-util-include was given. +if test "${with_pacc_util_include+set}" = set; then + withval=$with_pacc_util_include; pacc_util_path_include="$withval" +fi + + +# Check whether --with-pacc-util-libdir was given. +if test "${with_pacc_util_libdir+set}" = set; then + withval=$with_pacc_util_libdir; pacc_util_path_libdir="$withval" +fi + +if test -z "$pacc_util_path"; then + pacc_util_path="../../../../PACC" +fi +if test -z "$pacc_util_path_include"; then + if test -z "../../../../PACC"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "../../../../PACC/Util"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="../../../../PACC/Util" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Util headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Util headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_util_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Util.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_util_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_util_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_util_include_test" >&5 +echo "${ECHO_T}$pacc_util_include_test" >&6; } + + + +# Check whether --with-pacc-xml was given. +if test "${with_pacc_xml+set}" = set; then + withval=$with_pacc_xml; pacc_xml_path="$withval" +else + pacc_xml_path="../../../../PACC" +fi + + +# Check whether --with-pacc-xml-include was given. +if test "${with_pacc_xml_include+set}" = set; then + withval=$with_pacc_xml_include; pacc_xml_path_include="$withval" +fi + + +# Check whether --with-pacc-xml-libdir was given. +if test "${with_pacc_xml_libdir+set}" = set; then + withval=$with_pacc_xml_libdir; pacc_xml_path_libdir="$withval" +fi + +if test -z "$pacc_xml_path"; then + pacc_xml_path="../../../../PACC" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "../../../../PACC"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "../../../../PACC/XML"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="../../../../PACC/XML" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::XML headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::XML headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_xml_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +XML.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_xml_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_xml_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_xml_include_test" >&5 +echo "${ECHO_T}$pacc_xml_include_test" >&6; } + + + +# Check whether --with-pacc-math was given. +if test "${with_pacc_math+set}" = set; then + withval=$with_pacc_math; pacc_math_path="$withval" +else + pacc_math_path="../../../../PACC" +fi + + +# Check whether --with-pacc-math-include was given. +if test "${with_pacc_math_include+set}" = set; then + withval=$with_pacc_math_include; pacc_math_path_include="$withval" +fi + + +# Check whether --with-pacc-math-libdir was given. +if test "${with_pacc_math_libdir+set}" = set; then + withval=$with_pacc_math_libdir; pacc_math_path_libdir="$withval" +fi + +if test -z "$pacc_math_path"; then + pacc_math_path="../../../../PACC" +fi +if test -z "$pacc_math_path_include"; then + if test -z "../../../../PACC"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "../../../../PACC/Math"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="../../../../PACC/Math" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Math headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Math headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_math_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Math.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_math_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_math_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_math_include_test" >&5 +echo "${ECHO_T}$pacc_math_include_test" >&6; } + + + +# Check whether --with-pacc-threading was given. +if test "${with_pacc_threading+set}" = set; then + withval=$with_pacc_threading; pacc_threading_path="$withval" +else + pacc_threading_path="../../../../PACC" +fi + + +# Check whether --with-pacc-threading-include was given. +if test "${with_pacc_threading_include+set}" = set; then + withval=$with_pacc_threading_include; pacc_threading_path_include="$withval" +fi + + +# Check whether --with-pacc-threading-libdir was given. +if test "${with_pacc_threading_libdir+set}" = set; then + withval=$with_pacc_threading_libdir; pacc_threading_path_libdir="$withval" +fi + +if test -z "$pacc_threading_path"; then + pacc_threading_path="../../../../PACC" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "../../../../PACC"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "../../../../PACC/Threading"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="../../../../PACC/Threading" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Threading headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Threading headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_threading_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Threading.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_threading_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_threading_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_threading_include_test" >&5 +echo "${ECHO_T}$pacc_threading_include_test" >&6; } + + + +# Check whether --enable-optimization was given. +if test "${enable_optimization+set}" = set; then + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` +fi + +# Check whether --with-beagle was given. +if test "${with_beagle+set}" = set; then + withval=$with_beagle; ob_beagle_path="$withval" +else + ob_beagle_path="../../../../beagle" +fi + + +# Check whether --with-beagle-include was given. +if test "${with_beagle_include+set}" = set; then + withval=$with_beagle_include; ob_beagle_path_include="$withval" +fi + + +# Check whether --with-beagle-GA-include was given. +if test "${with_beagle_GA_include+set}" = set; then + withval=$with_beagle_GA_include; ob_beagle_path_ga_include="$withval" +fi + + +# Check whether --with-beagle-GP-include was given. +if test "${with_beagle_GP_include+set}" = set; then + withval=$with_beagle_GP_include; ob_beagle_path_gp_include="$withval" +fi + + +# Check whether --with-beagle-Coev-include was given. +if test "${with_beagle_Coev_include+set}" = set; then + withval=$with_beagle_Coev_include; ob_beagle_path_coev_include="$withval" +fi + + +# Check whether --with-beagle-libdir was given. +if test "${with_beagle_libdir+set}" = set; then + withval=$with_beagle_libdir; ob_beagle_path_libdir="$withval" +fi + + +# Check whether --with-beagle-GA-libdir was given. +if test "${with_beagle_GA_libdir+set}" = set; then + withval=$with_beagle_GA_libdir; ob_beagle_path_ga_libdir="$withval" +fi + + +# Check whether --with-beagle-GP-libdir was given. +if test "${with_beagle_GP_libdir+set}" = set; then + withval=$with_beagle_GP_libdir; ob_beagle_path_gp_libdir="$withval" +fi + + +# Check whether --with-beagle-Coev-libdir was given. +if test "${with_beagle_Coev_libdir+set}" = set; then + withval=$with_beagle_Coev_libdir; ob_beagle_path_coev_libdir="$withval" +fi + +if test -z "$ob_beagle_path"; then + ob_beagle_path="../../../../beagle" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "../../../../beagle/include"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="../../../../beagle/include" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "../../../../beagle/src"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="../../../../beagle/src" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "../../../../beagle/GA/include"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="../../../../beagle/GA/include" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "../../../../beagle/GA/src"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="../../../../beagle/GA/src" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "../../../../beagle/GP/include"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="../../../../beagle/GP/include" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "../../../../beagle/GP/src"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="../../../../beagle/GP/src" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "../../../../beagle/Coev/include"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="../../../../beagle/Coev/include" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "../../../../beagle/Coev/src"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="../../../../beagle/Coev/src" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +{ echo "$as_me:$LINENO: checking if Open BEAGLE headers are correctly included" >&5 +echo $ECHO_N "checking if Open BEAGLE headers are correctly included... $ECHO_C" >&6; } +if test "${ob_beagle_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + ob_beagle_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ob_beagle_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ob_beagle_include_test" >&5 +echo "${ECHO_T}$ob_beagle_include_test" >&6; } + + +ac_config_files="$ac_config_files Makefile parity/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by GP parity example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +GP parity example config.status 3.0.0 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "parity/config.hpp") CONFIG_HEADERS="$CONFIG_HEADERS parity/config.hpp:parity/config.hpp.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "parity/Makefile") CONFIG_FILES="$CONFIG_FILES parity/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +AMTAR!$AMTAR$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +LN_S!$LN_S$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CPP!$CPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +LIBTOOL!$LIBTOOL$ac_delim +PTHREAD_CC!$PTHREAD_CC$ac_delim +PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim +PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 6; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/lib/beagle-3.0.3/examples/GP/parity/configure.ac b/lib/beagle-3.0.3/examples/GP/parity/configure.ac new file mode 100644 index 0000000..0c7569e --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/configure.ac @@ -0,0 +1,50 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT([GP parity example],[3.0.0],[cgagne@gmail.com],[parity]) +AC_CONFIG_SRCDIR([parity/ParityEvalOp.cpp]) +AC_CONFIG_AUX_DIR([config]) +AC_REVISION([$Revision: 1.4 $]) +AM_INIT_AUTOMAKE +AM_CONFIG_HEADER([parity/config.hpp:parity/config.hpp.in]) + +dnl Checks for programs. +AC_PROG_AWK +AC_PROG_CXX +AC_PROG_CXXCPP +AC_PROG_LN_S +AC_PROG_LIBTOOL + +dnl Set language. +AC_LANG([C++]) + +dnl Checks for libraries. +AC_HEADER_STDC + +dnl Check for zlib support. +CHECK_ZLIB + +dnl Check for POSIX threads support. +ACX_PTHREAD +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +dnl Initialize PACC libraries with the given paths. +PACC_UTIL_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Util]) +PACC_XML_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/XML]) +PACC_MATH_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Math]) +PACC_THREADING_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Threading]) + +dnl Initialize Open BEAGLE with the given paths. +OB_BEAGLE_INIT([../../../../beagle], + [../../../../beagle/include], + [../../../../beagle/src], + [../../../../beagle/GA/include], + [../../../../beagle/GA/src], + [../../../../beagle/GP/include], + [../../../../beagle/GP/src], + [../../../../beagle/Coev/include], + [../../../../beagle/Coev/src]) + +dnl Create makefiles. +AC_CONFIG_FILES([Makefile parity/Makefile]) +AC_OUTPUT diff --git a/lib/beagle-3.0.3/examples/GP/parity/parity.kdevelop b/lib/beagle-3.0.3/examples/GP/parity/parity.kdevelop new file mode 100644 index 0000000..1e7f312 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/parity.kdevelop @@ -0,0 +1,228 @@ + + + + Christian Gagne + cgagne@gmail.com + 3.0.0 + KDevAutoProject + C++ + + C++ + Code + + + . + false + + + parity + + + + src/parity + default + + + parity/parity + true + executable + / + + true + + + + + + + + + + + kdevgccoptions + kdevgppoptions + kdevpgf77options + + + + + + + + + + + + + + false + 1 + false + + 0 + + + + + ada + ada_bugs_gcc + bash + bash_bugs + clanlib + w3c-dom-level2-html + fortran_bugs_gcc + gnome1 + gnustep + gtk + gtk_bugs + haskell + haskell_bugs_ghc + java_bugs_gcc + java_bugs_sun + kde2book + opengl + pascal_bugs_fp + php + php_bugs + perl + perl_bugs + python + python_bugs + qt-kdev3 + ruby + ruby_bugs + sdl + w3c-svg + sw + w3c-uaag10 + wxwidgets_bugs + + + Guide to the Qt Translation Tools + Qt Assistant Manual + Qt Designer Manual + Qt Reference Documentation + qmake User Guide + + + KDE Libraries (Doxygen) + + + + + + + + + + + + + + false + false + + + *.o,*.lo,CVS + false + false + + + + + + + + + + + parity + parity + PARITY + Christian Gagne + cgagne@gmail.com + GPL + COPYING + 3.0.0 + /home/cgagne/tmp/parity + + + + + true + true + true + false + true + true + true + 250 + 400 + 250 + false + 0 + true + true + false + std=_GLIBCXX_STD;__gnu_cxx=std + true + false + false + false + true + true + true + false + .; + + + + set + m_,_ + theValue + true + true + + + false + 3 + 3 + + EmbeddedKDevDesigner + + + + + + + + .hpp + .cpp + + + + + + + + + + + true + false + false + + + false + true + 10 + + + + true + true + true + true + -C + + diff --git a/lib/beagle-3.0.3/examples/GP/parity/parity/Makefile.am b/lib/beagle-3.0.3/examples/GP/parity/parity/Makefile.am new file mode 100644 index 0000000..0892eff --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/parity/Makefile.am @@ -0,0 +1,4 @@ +bin_PROGRAMS = parity +parity_SOURCES = ParityEvalOp.hpp ParityEvalOp.cpp ParityMain.cpp + + diff --git a/lib/beagle-3.0.3/examples/GP/parity/parity/Makefile.in b/lib/beagle-3.0.3/examples/GP/parity/parity/Makefile.in new file mode 100644 index 0000000..c879d4e --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/parity/Makefile.in @@ -0,0 +1,484 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +SOURCES = $(parity_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +bin_PROGRAMS = parity$(EXEEXT) +subdir = parity +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.hpp.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = config.hpp +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_parity_OBJECTS = ParityEvalOp.$(OBJEXT) ParityMain.$(OBJEXT) +parity_OBJECTS = $(am_parity_OBJECTS) +parity_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/ParityEvalOp.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/ParityMain.Po +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(parity_SOURCES) +DIST_SOURCES = $(parity_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +parity_SOURCES = ParityEvalOp.hpp ParityEvalOp.cpp ParityMain.cpp +all: config.hpp + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign parity/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign parity/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +config.hpp: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.hpp.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status parity/config.hpp +$(srcdir)/config.hpp.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.hpp stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +parity$(EXEEXT): $(parity_OBJECTS) $(parity_DEPENDENCIES) + @rm -f parity$(EXEEXT) + $(CXXLINK) $(parity_LDFLAGS) $(parity_OBJECTS) $(parity_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ParityEvalOp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ParityMain.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) config.hpp +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GP/parity/parity/ParityEvalOp.cpp b/lib/beagle-3.0.3/examples/GP/parity/parity/ParityEvalOp.cpp new file mode 100644 index 0000000..7619c40 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/parity/ParityEvalOp.cpp @@ -0,0 +1,103 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file ParityEvalOp.cpp + * \brief Implementation of the class ParityEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.2 $ + * $Date: 2007/05/11 20:04:33 $ + */ + +#include "beagle/GP.hpp" +#include "ParityEvalOp.hpp" + +#include + +using namespace Beagle; + + +/*! + * \brief Construct a new even-6 parity evaluation operator. + */ +ParityEvalOp::ParityEvalOp() : + GP::EvaluationOp("ParityEvalOp"), + mInputs(ParitySizeM), + mOutputs(ParitySizeM) +{ } + + +/*! + * \brief Initialize the even-6 parity evaluation operator by creating the test tables. + * \param ioSystem System to use to initialize the operator. + */ +void ParityEvalOp::postInit(System& ioSystem) +{ + GP::EvaluationOp::initialize(ioSystem); + mInputs.resize(ParitySizeM); + mOutputs.resize(ParitySizeM); + for(unsigned int i=0; i= lDividor) { + mInputs[i][j] = true; + lParity = !lParity; + lValue -= lDividor; + } + else mInputs[i][j] = false; + } + mOutputs[i] = lParity; + } +} + + +/*! + * \brief Evaluate the individual fitness for the even-6 parity problem. + * \param inIndividual Individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness measure, + */ +Fitness::Handle ParityEvalOp::evaluate(GP::Individual& inIndividual, GP::Context& ioContext) +{ + unsigned int lGood = 0; + for(unsigned int i=0; i +#include + +#define ParitySizeM 64 +#define ParityFanInM 6 + + +/*! + * \class ParityEvalOp ParityEvalOp.hpp "ParityEvalOp.hpp" + * \brief The individual evaluation class operator for the even-6 parity problem. + * \ingroup Parity + */ +class ParityEvalOp : public Beagle::GP::EvaluationOp { + +public: + + //! ParityEvalOp allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< ParityEvalOp handle type. + typedef Beagle::PointerT + Handle; + //!< ParityEvalOp bag type. + typedef Beagle::ContainerT + Bag; + + explicit ParityEvalOp(); + + virtual void postInit(Beagle::System& ioSystem); + virtual Beagle::Fitness::Handle evaluate(Beagle::GP::Individual& inIndividual, + Beagle::GP::Context& ioContext); + +protected: + std::vector< std::vector > mInputs; + std::vector mOutputs; + +}; + +#endif // ParityEvalOp_hpp diff --git a/lib/beagle-3.0.3/examples/GP/parity/parity/ParityMain.cpp b/lib/beagle-3.0.3/examples/GP/parity/parity/ParityMain.cpp new file mode 100644 index 0000000..fb0d6a5 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/parity/ParityMain.cpp @@ -0,0 +1,92 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file ParityMain.cpp + * \brief Implementation of the main routine for the even-6 parity problem. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.2 $ + * $Date: 2007/05/11 20:04:33 $ + */ + +#include "beagle/GP.hpp" +#include "ParityEvalOp.hpp" + +#include +#include +#include +#include +#include +#include + +using namespace std; +using namespace Beagle; + +/*! + * \brief Main routine for the even-6 parity problem. + * \param argc Number of arguments on the command-line. + * \param argv Arguments on the command-line. + * \return Return value of the program. + * \ingroup Parity + */ +int main(int argc, char *argv[]) { + try { + // 1: Build primitives. + GP::PrimitiveSet::Handle lSet = new GP::PrimitiveSet; + lSet->insert(new GP::And); + lSet->insert(new GP::Or); + lSet->insert(new GP::Nand); + lSet->insert(new GP::Nor); + for (unsigned int i=0; iinsert(new GP::TokenT(std::string("IN")+uint2str(i))); + } + // 2: Build a system. + GP::System::Handle lSystem = new GP::System(lSet); + // 3: Build operators. + EvaluationOp::Handle lEvalOp = new ParityEvalOp; + // 4: Build an evolver and a vivarium. + Evolver::Handle lEvolver = new GP::Evolver(lEvalOp); + GP::Vivarium::Handle lVivarium = new GP::Vivarium; + // 5: Initialize and evolve the vivarium. + lEvolver->initialize(lSystem, argc, argv); + lEvolver->evolve(lVivarium); + } + catch(Exception& inException) { + inException.terminate(); + } + catch(exception& inException) { + cerr << "Standard exception catched:" << endl; + cerr << inException.what() << endl << flush; + return 1; + } + catch(...) { + cerr << "Unknown exception catched!" << endl << flush; + return 1; + } + return 0; +} + diff --git a/lib/beagle-3.0.3/examples/GP/parity/parity/config.hpp.in b/lib/beagle-3.0.3/examples/GP/parity/parity/config.hpp.in new file mode 100644 index 0000000..ce32991 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/parity/config.hpp.in @@ -0,0 +1,65 @@ +/* parity/config.hpp.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `z' library (-lz). */ +#undef HAVE_LIBZ + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define if you have POSIX threads libraries and header files. */ +#undef HAVE_PTHREAD + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +#undef PTHREAD_CREATE_JOINABLE + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/lib/beagle-3.0.3/examples/GP/parity/parity/parity-adfs.conf b/lib/beagle-3.0.3/examples/GP/parity/parity/parity-adfs.conf new file mode 100644 index 0000000..eb2f494 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/parity/parity-adfs.conf @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 4 + 0/2 + 0/4 + + + diff --git a/lib/beagle-3.0.3/examples/GP/parity/parity/parity-elitism.conf b/lib/beagle-3.0.3/examples/GP/parity/parity/parity-elitism.conf new file mode 100644 index 0000000..eeaa2c1 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/parity/parity-elitism.conf @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1000 + 6 + 5 + 0.9 + 0.1 + + + diff --git a/lib/beagle-3.0.3/examples/GP/parity/parity/parity-ema.conf b/lib/beagle-3.0.3/examples/GP/parity/parity/parity-ema.conf new file mode 100644 index 0000000..a752b3d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/parity/parity-ema.conf @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MODULEB + + + diff --git a/lib/beagle-3.0.3/examples/GP/parity/parity/parity-generational.conf b/lib/beagle-3.0.3/examples/GP/parity/parity/parity-generational.conf new file mode 100644 index 0000000..240ef84 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/parity/parity-generational.conf @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.05 + 0.8 + 0.05 + 0.05 + 0.05 + + \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GP/parity/parity/parity-steadystate.conf b/lib/beagle-3.0.3/examples/GP/parity/parity/parity-steadystate.conf new file mode 100644 index 0000000..cc830c4 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/parity/parity-steadystate.conf @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.05 + 0.8 + 0.05 + 0.05 + 0.05 + + \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GP/parity/parity/parity.conf b/lib/beagle-3.0.3/examples/GP/parity/parity/parity.conf new file mode 100644 index 0000000..e724fa4 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/parity/parity.conf @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GP/parity/templates/cpp b/lib/beagle-3.0.3/examples/GP/parity/templates/cpp new file mode 100644 index 0000000..dd89d0c --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/templates/cpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/%{FILE} + * \brief Implementation of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:51 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GP/parity/templates/hpp b/lib/beagle-3.0.3/examples/GP/parity/templates/hpp new file mode 100644 index 0000000..bfca751 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/parity/templates/hpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/%{FILE} + * \brief Definition of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:51 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/AUTHORS b/lib/beagle-3.0.3/examples/GP/spambase/AUTHORS new file mode 100644 index 0000000..ece298f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/AUTHORS @@ -0,0 +1,2 @@ +Christian Gagné +Marc Parizeau diff --git a/lib/beagle-3.0.3/examples/GP/spambase/COPYING b/lib/beagle-3.0.3/examples/GP/spambase/COPYING new file mode 100644 index 0000000..60549be --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/lib/beagle-3.0.3/examples/GP/spambase/INSTALL b/lib/beagle-3.0.3/examples/GP/spambase/INSTALL new file mode 100644 index 0000000..4f7f5cf --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/INSTALL @@ -0,0 +1,82 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +SPAM e-mail database (spambase): Machine learning using strongly-typed GP +with Open BEAGLE + +Copyright (C) 2001-2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON UNIX +========================================= + +To compile the spambase example on Unix (once the Open BEAGLE framework is built), +'cd' to the main example directory, and type the following commands. + + ./configure + make clean + make + +Then, the binary will be in directory 'spambase'. + +'configure' recognizes the following options to control how it +operates. + +'--enable-optimization' + Enable the 'optimization' mode by setting the optimization flags + of the compiler. Use this flag to compile a version of the examples + linked with an optimized version of the framework libraries. + +'--with-beagle=DIR' + Specify the installation path of Open BEAGLE. + +'--with-beagle-include=DIR' + Specify exact installation directory for Open BEAGLE headers. + +'--with-beagle-GA-include=DIR' + Specify exact installation directory for Open BEAGLE GA headers. + +'--with-beagle-GP-include=DIR' + Specify exact installation directory for Open BEAGLE GP headers. + +'--with-beagle-libdir=DIR' + Specify exact installation directory for Open BEAGLE libraries. + +'--with-beagle-GA-libdir=DIR' + Specify exact installation directory for Open BEAGLE GA libraries. + +'--with-beagle-GP-libdir=DIR' + Specify exact installation directory for Open BEAGLE GP libraries. + +'--cache-file=FILE' + Use and save the test results in file FILE instead of + './config.cache'. Set FILE to '/dev/null' to disable caching, for + debugging 'configure'. + +'--help' + Print a summary of the options to 'configure', and exit. + +'--quiet' +'--silent' +'-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to '/dev/null' (any error + messages will still be shown). + +'--version' + Print the version of Autoconf used to generate the 'configure' + script, and exit. + +'configure' also accepts some other, not widely useful, options. + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON MS VISUAL C++ .NET +======================================================= + +Go to folder 'MSVCPP' and open the solution file 'spambase.sln' with +MS Visual Studio .NET. Then you can compile the example. The binary will +be in folder 'spambase'. + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/MSVCPP/spambase.sln b/lib/beagle-3.0.3/examples/GP/spambase/MSVCPP/spambase.sln new file mode 100644 index 0000000..a5608f0 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/MSVCPP/spambase.sln @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spambase", "spambase\spambase.vcproj", "{E7312BC3-DAB2-4B72-B4D1-4D907504A977}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {E7312BC3-DAB2-4B72-B4D1-4D907504A977}.Debug.ActiveCfg = Debug|Win32 + {E7312BC3-DAB2-4B72-B4D1-4D907504A977}.Debug.Build.0 = Debug|Win32 + {E7312BC3-DAB2-4B72-B4D1-4D907504A977}.Release.ActiveCfg = Release|Win32 + {E7312BC3-DAB2-4B72-B4D1-4D907504A977}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/lib/beagle-3.0.3/examples/GP/spambase/MSVCPP/spambase.suo b/lib/beagle-3.0.3/examples/GP/spambase/MSVCPP/spambase.suo new file mode 100644 index 0000000..3599f1b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/MSVCPP/spambase.suo @@ -0,0 +1 @@ +ÐÏࡱ \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GP/spambase/MSVCPP/spambase/spambase.vcproj b/lib/beagle-3.0.3/examples/GP/spambase/MSVCPP/spambase/spambase.vcproj new file mode 100644 index 0000000..648e1bd --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/MSVCPP/spambase/spambase.vcproj @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/Makefile.am b/lib/beagle-3.0.3/examples/GP/spambase/Makefile.am new file mode 100644 index 0000000..06f6eb9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/Makefile.am @@ -0,0 +1,2 @@ +AUTOMAKE_OPTIONS=dist-zip +SUBDIRS = spambase diff --git a/lib/beagle-3.0.3/examples/GP/spambase/Makefile.cvs b/lib/beagle-3.0.3/examples/GP/spambase/Makefile.cvs new file mode 100644 index 0000000..925be9f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/Makefile.cvs @@ -0,0 +1,4 @@ +SHELL = /bin/sh + +all: + ${SHELL} ./bootstrap diff --git a/lib/beagle-3.0.3/examples/GP/spambase/Makefile.in b/lib/beagle-3.0.3/examples/GP/spambase/Makefile.in new file mode 100644 index 0000000..8f95051 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/Makefile.in @@ -0,0 +1,585 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \ + INSTALL config/config.guess config/config.sub config/depcomp \ + config/install-sh config/ltmain.sh config/missing \ + config/mkinstalldirs +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/spambase/config.hpp +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AUTOMAKE_OPTIONS = dist-zip +SUBDIRS = spambase +all: all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/config + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || mkdir "$(distdir)/$$subdir" \ + || exit 1; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="../$(top_distdir)" \ + distdir="../$(distdir)/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-libtool distclean-recursive \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GP/spambase/README b/lib/beagle-3.0.3/examples/GP/spambase/README new file mode 100644 index 0000000..0afa763 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/README @@ -0,0 +1,100 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +SPAM e-mail database (spambase): Machine learning using strongly-typed GP +with Open BEAGLE + +Copyright (C) 2001-2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +Getting started +=============== + + Example is compiled in binary 'spambase'. Usage options is described by + executing it with command-line argument '-OBusage'. The detailed help can + also be obtained with argument '-OBhelp'. + +Objective +========= + + Find a program the will successfully predict whether a given e-mail is spam + or not from some extracted features. + +Comments +======== + + The evolved programs works on floating-point values AND Booleans values. + The programs must return a Boolean value which must be true if e-mail is + spam, and false otherwise. Don't expect too much from this program as + it is quite basic and not oriented toward performance. It is there mainly + to illustrate the use of strongly-typed GP with Open BEAGLE. + +Terminal set +============ + + IN0, IN1, ... up to IN56, the e-mail features. [floating-point] + 0 and 1, two Boolean constants. [Boolean] + Ephemeral constants randomly generated in $[0,100]$ [floating-point] + +Function set +============ + AND [Inputs: Booleans, Output: Boolean] + OR [Input: Boolean, Output: Boolean] + NOT [Inputs: Booleans, Output: Boolean] + + [Inputs: floating-points, Output: floating-point] + - [Inputs: floating-points, Output: floating-point] + * [Inputs: floating-points, Output: floating-point] + / [Inputs: floating-points, Output: floating-point] + < [Inputs: floating-points, Output: Booleans] + == [Inputs: floating-points, Output: Booleans] + if-then-else [1st Input: Boolean, 2nd & 3rd Input: floating-points, + Output: floating-point] + +Fitness cases +============= + + A random sample of 400 e-mails over the database, re-chosen for + each fitness evaluation. + +Hits +==== + + Number of correct outputs obtained over the 400 fitness cases. + +Raw fitness +=========== + + Ignored (always 0). + + +Standardized fitness +==================== + + Rate of correct outputs over the fitness cases where + the desired output was 0 (non-spam). + +Adjusted fitness +================ + + Rate of correct outputs over the fitness cases where + the desired output was 1 (spam). + +Normalized fitness +================== + + Rate of correct outputs obtained over all the 400 fitness cases. + +Stopping criteria +================= + + When the best individual scores 400 hits or when the evolution reaches + the maximum number of generations. + +Reference +========= + + Machine learning repository, + http://www.ics.uci.edu/~mlearn/MLRepository.html diff --git a/lib/beagle-3.0.3/examples/GP/spambase/acinclude.m4 b/lib/beagle-3.0.3/examples/GP/spambase/acinclude.m4 new file mode 100644 index 0000000..9d8ff5a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/acinclude.m4 @@ -0,0 +1,603 @@ +dnl +dnl Initialize an autoconf project that use PACC::Math. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_MATH_INIT(PACC_MATH_PATH +dnl [, PACC_MATH_INCLUDEPATH] +dnl [, PACC_MATH_LIBPATH]) +dnl +AC_DEFUN([PACC_MATH_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-math, + [ --with-pacc-math=DIR specify installation path of PACC::Math], + [pacc_math_path="$withval"], + [pacc_math_path="$1"]) +AC_ARG_WITH(pacc-math-include, + [ --with-pacc-math-include=DIR specify exact dir for PACC::Math headers], + [pacc_math_path_include="$withval"]) +AC_ARG_WITH(pacc-math-libdir, + [ --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries], + [pacc_math_path_libdir="$withval"]) +if test -z "$pacc_math_path"; then + pacc_math_path="$1" +fi +if test -z "$pacc_math_path_include"; then + if test -z "$2"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="$2" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "$3"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Math headers are correctly included, +pacc_math_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Math.hpp], + pacc_math_include_test=yes, + pacc_math_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Threading. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_THREADING_INIT(PACC_THREADING_PATH +dnl [, PACC_THREADING_INCLUDEPATH] +dnl [, PACC_THREADING_LIBPATH]) +dnl +AC_DEFUN([PACC_THREADING_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-threading, + [ --with-pacc-threading=DIR specify installation path of PACC::Threading], + [pacc_threading_path="$withval"], + [pacc_threading_path="$1"]) +AC_ARG_WITH(pacc-threading-include, + [ --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers], + [pacc_threading_path_include="$withval"]) +AC_ARG_WITH(pacc-threading-libdir, + [ --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries], + [pacc_threading_path_libdir="$withval"]) +if test -z "$pacc_threading_path"; then + pacc_threading_path="$1" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "$2"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="$2" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "$3"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Threading headers are correctly included, +pacc_threading_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Threading.hpp], + pacc_threading_include_test=yes, + pacc_threading_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Util. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_UTIL_INIT(PACC_UTIL_PATH +dnl [, PACC_UTIL_INCLUDEPATH] +dnl [, PACC_UTIL_LIBPATH]) +dnl +AC_DEFUN([PACC_UTIL_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-util, + [ --with-pacc-util=DIR specify installation path of PACC::Util], + [pacc_util_path="$withval"], + [pacc_util_path="$1"]) +AC_ARG_WITH(pacc-util-include, + [ --with-pacc-util-include=DIR specify exact dir for PACC::Util headers], + [pacc_util_path_include="$withval"]) +AC_ARG_WITH(pacc-util-libdir, + [ --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries], + [pacc_util_path_libdir="$withval"]) +if test -z "$pacc_util_path"; then + pacc_util_path="$1" +fi +if test -z "$pacc_util_path_include"; then + if test -z "$2"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="$2" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "$3"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Util headers are correctly included, +pacc_util_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Util.hpp], + pacc_util_include_test=yes, + pacc_util_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::XML. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_XML_INIT(PACC_XML_PATH +dnl [, PACC_XML_INCLUDEPATH] +dnl [, PACC_XML_LIBPATH]) +dnl +AC_DEFUN([PACC_XML_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-xml, + [ --with-pacc-xml=DIR specify installation path of PACC::XML], + [pacc_xml_path="$withval"], + [pacc_xml_path="$1"]) +AC_ARG_WITH(pacc-xml-include, + [ --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers], + [pacc_xml_path_include="$withval"]) +AC_ARG_WITH(pacc-xml-libdir, + [ --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries], + [pacc_xml_path_libdir="$withval"]) +if test -z "$pacc_xml_path"; then + pacc_xml_path="$1" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "$2"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="$2" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "$3"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::XML headers are correctly included, +pacc_xml_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([XML.hpp], + pacc_xml_include_test=yes, + pacc_xml_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use Open BEAGLE. +dnl +dnl by Christian Gagne, 14/10/2002, modified 10/10/2004 and 09/08/2005 +dnl +dnl OB_BEAGLE_INIT(BEAGLE_PATH +dnl [, BEAGLE_INCLUDEPATH] +dnl [, BEAGLE_LIBPATH] +dnl [, BEAGLE_GA_INCLUDEPATH] +dnl [, BEAGLE_GA_LIBPATH] +dnl [, BEAGLE_GP_INCLUDEPATH] +dnl [, BEAGLE_GP_LIBPATH] +dnl [, BEAGLE_COEV_INCLUDEPATH] +dnl [, BEAGLE_COEV_LIBPATH]) +dnl +AC_DEFUN([OB_BEAGLE_INIT], +[ +dnl Open BEAGLE optimization mode option. +AC_ARG_ENABLE(optimization, + [ --enable-optimization enable optimization mode [default=no]], + [case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac], + enable_optimization=no) +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` +fi +dnl Set headers and libraries path correctly +AC_ARG_WITH(beagle, + [ --with-beagle=DIR specify installation path of Open BEAGLE], + [ob_beagle_path="$withval"], + [ob_beagle_path="$1"]) +AC_ARG_WITH(beagle-include, + [ --with-beagle-include=DIR specify exact dir for Open BEAGLE headers], + [ob_beagle_path_include="$withval"]) +AC_ARG_WITH(beagle-GA-include, + [ --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers], + [ob_beagle_path_ga_include="$withval"]) +AC_ARG_WITH(beagle-GP-include, + [ --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers], + [ob_beagle_path_gp_include="$withval"]) +AC_ARG_WITH(beagle-Coev-include, + [ --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers], + [ob_beagle_path_coev_include="$withval"]) +AC_ARG_WITH(beagle-libdir, + [ --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries], + [ob_beagle_path_libdir="$withval"]) +AC_ARG_WITH(beagle-GA-libdir, + [ --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries], + [ob_beagle_path_ga_libdir="$withval"]) +AC_ARG_WITH(beagle-GP-libdir, + [ --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries], + [ob_beagle_path_gp_libdir="$withval"]) +AC_ARG_WITH(beagle-Coev-libdir, + [ --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries], + [ob_beagle_path_coev_libdir="$withval"]) +if test -z "$ob_beagle_path"; then + ob_beagle_path="$1" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "$2"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="$2" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "$3"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="$3" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "$4"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="$4" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "$5"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="$5" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "$6"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="$6" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "$7"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="$7" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "$8"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="$8" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "$9"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="$9" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if Open BEAGLE headers are correctly included, +ob_beagle_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp], + ob_beagle_include_test=yes, + ob_beagle_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl *************************************************************************** +dnl *************************************************************************** +AC_DEFUN([ACX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_SAVE +AC_LANG_C +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) + AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) + AC_MSG_RESULT($acx_pthread_ok) + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $flag]) + PTHREAD_CFLAGS="$flag" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$flag]) + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + AC_TRY_LINK([#include ], + [pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], + [acx_pthread_ok=yes]) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + AC_MSG_RESULT($acx_pthread_ok) + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + AC_MSG_CHECKING([for joinable pthread attribute]) + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_JOINABLE;], + ok=PTHREAD_CREATE_JOINABLE, ok=unknown) + if test x"$ok" = xunknown; then + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_UNDETACHED;], + ok=PTHREAD_CREATE_UNDETACHED, ok=unknown) + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok, + [Define to the necessary symbol if this constant + uses a non-standard name on your system.]) + fi + AC_MSG_RESULT(${ok}) + if test x"$ok" = xunknown; then + AC_MSG_WARN([we do not know how to create joinable pthreads]) + fi + + AC_MSG_CHECKING([if more special flags are required for pthreads]) + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + AC_MSG_RESULT(${flag}) + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) +else + PTHREAD_CC="$CC" +fi + +AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_CC) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) + : +else + acx_pthread_ok=no + $2 +fi +AC_LANG_RESTORE +])dnl ACX_PTHREAD + + + +AC_DEFUN([CHECK_ZLIB], +# +# Handle user hints +# +[AC_MSG_CHECKING(if zlib is wanted) +AC_ARG_WITH(zlib, +[ --with-zlib=DIR root directory path of zlib installation [defaults to + /usr/local or /usr if not found in /usr/local] + --without-zlib to disable zlib usage completely], +[if test "$withval" != no ; then + AC_MSG_RESULT(yes) + ZLIB_HOME="$withval" +else + AC_MSG_RESULT(no) +fi], [ +AC_MSG_RESULT(yes) +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi +]) +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) + AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) + AC_LANG_RESTORE + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + AC_CHECK_LIB(z, inflateEnd) + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + AC_MSG_RESULT(ok) + else + # + # If either header or library was not found, revert and bomb + # + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + AC_MSG_RESULT(failed) + fi +fi +]) diff --git a/lib/beagle-3.0.3/examples/GP/spambase/aclocal.m4 b/lib/beagle-3.0.3/examples/GP/spambase/aclocal.m4 new file mode 100644 index 0000000..1c4e723 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/aclocal.m4 @@ -0,0 +1,7302 @@ +# generated automatically by aclocal 1.8.5 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- + +# serial 48 Debian 1.5.22-4 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# ------------------ +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# --------------------------------------------------------------------- +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ---------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +# set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# ------------------ +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# ------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) + +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.8.5])]) + +# AM_AUX_DIR_EXPAND + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 6 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]) +fi])]) + +# serial 7 -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 7 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 11 + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG(AMTAR, tar) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl + +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# -*- Autoconf -*- + + +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. + +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# +# Check to make sure that the build environment is sane. +# + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# AM_PROG_INSTALL_STRIP + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +m4_include([acinclude.m4]) diff --git a/lib/beagle-3.0.3/examples/GP/spambase/bootstrap b/lib/beagle-3.0.3/examples/GP/spambase/bootstrap new file mode 100755 index 0000000..5972642 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/bootstrap @@ -0,0 +1,7 @@ +#!/bin/sh +set -x +autoheader +libtoolize --force --copy +aclocal -I config +automake --foreign --add-missing --force-missing --copy +autoconf diff --git a/lib/beagle-3.0.3/examples/GP/spambase/config/config.guess b/lib/beagle-3.0.3/examples/GP/spambase/config/config.guess new file mode 100755 index 0000000..396482d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/config/config.guess @@ -0,0 +1,1500 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-07-02' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + x86:Interix*:[3456]*) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T:Interix*:[3456]*) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GP/spambase/config/config.sub b/lib/beagle-3.0.3/examples/GP/spambase/config/config.sub new file mode 100755 index 0000000..fab0aa3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/config/config.sub @@ -0,0 +1,1616 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-09-20' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GP/spambase/config/depcomp b/lib/beagle-3.0.3/examples/GP/spambase/config/depcomp new file mode 100755 index 0000000..25bdb18 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/config/depcomp @@ -0,0 +1,526 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2004-04-25.13 + +# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit 0 + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit 0 + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # Dependencies are output in .lo.d with libtool 1.4. + # They are output in .o.d with libtool 1.5. + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.o.d" + tmpdepfile3="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + tmpdepfile3="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + elif test -f "$tmpdepfile2"; then + tmpdepfile="$tmpdepfile2" + else + tmpdepfile="$tmpdepfile3" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GP/spambase/config/install-sh b/lib/beagle-3.0.3/examples/GP/spambase/config/install-sh new file mode 100755 index 0000000..e4160c9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/config/install-sh @@ -0,0 +1,325 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2004-04-01.17 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename= +transform_arg= +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= + +usage="Usage: $0 [OPTION]... SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 -d DIRECTORIES... + +In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. +In the second, create the directory path DIR. + +Options: +-b=TRANSFORMBASENAME +-c copy source (using $cpprog) instead of moving (using $mvprog). +-d create directories instead of installing files. +-g GROUP $chgrp installed files to GROUP. +-m MODE $chmod installed files to MODE. +-o USER $chown installed files to USER. +-s strip installed files (using $stripprog). +-t=TRANSFORM +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit 0;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + --version) echo "$0 $scriptversion"; exit 0;; + + *) # When -d is used, all remaining arguments are directories to create. + test -n "$dir_arg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + instcmd=: + chmodcmd= + else + instcmd=$mkdirprog + fi + else + # Waiting for this to be detected by the "$instcmd $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" || lasterr=$? + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; } + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $instcmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + # If we're going to rename the final executable, determine the name now. + if test -z "$transformarg"; then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename \ + | sed $transformarg`$transformbasename + fi + + # don't allow the sed command to completely eliminate the filename. + test -z "$dstfile" && dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Move or copy the file name to the temp name + $doit $instcmd "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $instcmd $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GP/spambase/config/ltmain.sh b/lib/beagle-3.0.3/examples/GP/spambase/config/ltmain.sh new file mode 100644 index 0000000..c715b59 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/config/ltmain.sh @@ -0,0 +1,6871 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.22 Debian 1.5.22-4" +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + fi + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + else + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/lib/beagle-3.0.3/examples/GP/spambase/config/missing b/lib/beagle-3.0.3/examples/GP/spambase/config/missing new file mode 100755 index 0000000..e7ef83a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/config/missing @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2003-09-02.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GP/spambase/configure b/lib/beagle-3.0.3/examples/GP/spambase/configure new file mode 100755 index 0000000..70d15c1 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/configure @@ -0,0 +1,22313 @@ +#! /bin/sh +# From configure.ac Revision: 1.4 . +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for GP spambase example 3.0.0. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='GP spambase example' +PACKAGE_TARNAME='spambase' +PACKAGE_VERSION='3.0.0' +PACKAGE_STRING='GP spambase example 3.0.0' +PACKAGE_BUGREPORT='cgagne@gmail.com' + +ac_unique_file="spambase/SpambaseEvalOp.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +AMTAR +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +CXX +CXXFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CXX +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +LN_S +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +CC +CFLAGS +ac_ct_CC +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +GREP +EGREP +ECHO +AR +RANLIB +CPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +PTHREAD_CC +PTHREAD_LIBS +PTHREAD_CFLAGS +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +CPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures GP spambase example 3.0.0 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/spambase] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of GP spambase example 3.0.0:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] include additional configurations [automatic] + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + --with-pacc-util=DIR specify installation path of PACC::Util + --with-pacc-util-include=DIR specify exact dir for PACC::Util headers + --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries + --with-pacc-xml=DIR specify installation path of PACC::XML + --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers + --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries + --with-pacc-math=DIR specify installation path of PACC::Math + --with-pacc-math-include=DIR specify exact dir for PACC::Math headers + --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries + --with-pacc-threading=DIR specify installation path of PACC::Threading + --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers + --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries + --with-beagle=DIR specify installation path of Open BEAGLE + --with-beagle-include=DIR specify exact dir for Open BEAGLE headers + --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers + --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers + --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers + --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries + --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries + --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries + --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + CPP C preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +GP spambase example configure 3.0.0 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by GP spambase example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in config "$srcdir"/config; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +am__api_version="1.8" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='spambase' + VERSION='3.0.0' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. + + + +ac_config_headers="$ac_config_headers spambase/config.hpp:spambase/config.hpp.in" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 +echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 +echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 5044 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7303: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7307: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7571: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7575: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7675: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:7679: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix3*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_CXX=yes + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_CXX='+b $libdir' + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix3*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix3*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +solaris*) + case $cc_basename in + CC*) + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + postdeps_CXX='-lCstd -lCrun' + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12408: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:12412: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12512: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:12516: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_CXX" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14073: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:14077: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14177: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:14181: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix3*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_F77=yes + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_F77" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16364: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16368: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16632: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16636: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16736: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:16740: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix3*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_GCJ=yes + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_GCJ" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_RC" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + +# +# Handle user hints +# +{ echo "$as_me:$LINENO: checking if zlib is wanted" >&5 +echo $ECHO_N "checking if zlib is wanted... $ECHO_C" >&6; } + +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then + withval=$with_zlib; if test "$withval" != no ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + ZLIB_HOME="$withval" +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +else + +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + zlib_cv_libz=yes +else + zlib_cv_libz=no +fi + + if test "${ac_cv_header_zlib_h+set}" = set; then + { echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking zlib.h usability" >&5 +echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking zlib.h presence" >&5 +echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_zlib_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } + +fi +if test $ac_cv_header_zlib_h = yes; then + zlib_cv_zlib_h=yes +else + zlib_cv_zlib_h=no +fi + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + +{ echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +fi + + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } + fi +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_join (); +int +main () +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 +echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6; } + ;; + + -*) + { echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 +echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + *) + { echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 +echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 +echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_JOINABLE +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_UNDETACHED +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +cat >>confdefs.h <<\_ACEOF +#define PTHREAD_CREATE_JOINABLE $ok +_ACEOF + + fi + { echo "$as_me:$LINENO: result: ${ok}" >&5 +echo "${ECHO_T}${ok}" >&6; } + if test x"$ok" = xunknown; then + { echo "$as_me:$LINENO: WARNING: we do not know how to create joinable pthreads" >&5 +echo "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 +echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { echo "$as_me:$LINENO: result: ${flag}" >&5 +echo "${ECHO_T}${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PTHREAD_CC="cc_r" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 +echo "${ECHO_T}$PTHREAD_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_PTHREAD 1 +_ACEOF + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + + + +# Check whether --with-pacc-util was given. +if test "${with_pacc_util+set}" = set; then + withval=$with_pacc_util; pacc_util_path="$withval" +else + pacc_util_path="../../../../PACC" +fi + + +# Check whether --with-pacc-util-include was given. +if test "${with_pacc_util_include+set}" = set; then + withval=$with_pacc_util_include; pacc_util_path_include="$withval" +fi + + +# Check whether --with-pacc-util-libdir was given. +if test "${with_pacc_util_libdir+set}" = set; then + withval=$with_pacc_util_libdir; pacc_util_path_libdir="$withval" +fi + +if test -z "$pacc_util_path"; then + pacc_util_path="../../../../PACC" +fi +if test -z "$pacc_util_path_include"; then + if test -z "../../../../PACC"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "../../../../PACC/Util"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="../../../../PACC/Util" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Util headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Util headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_util_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Util.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_util_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_util_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_util_include_test" >&5 +echo "${ECHO_T}$pacc_util_include_test" >&6; } + + + +# Check whether --with-pacc-xml was given. +if test "${with_pacc_xml+set}" = set; then + withval=$with_pacc_xml; pacc_xml_path="$withval" +else + pacc_xml_path="../../../../PACC" +fi + + +# Check whether --with-pacc-xml-include was given. +if test "${with_pacc_xml_include+set}" = set; then + withval=$with_pacc_xml_include; pacc_xml_path_include="$withval" +fi + + +# Check whether --with-pacc-xml-libdir was given. +if test "${with_pacc_xml_libdir+set}" = set; then + withval=$with_pacc_xml_libdir; pacc_xml_path_libdir="$withval" +fi + +if test -z "$pacc_xml_path"; then + pacc_xml_path="../../../../PACC" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "../../../../PACC"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "../../../../PACC/XML"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="../../../../PACC/XML" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::XML headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::XML headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_xml_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +XML.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_xml_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_xml_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_xml_include_test" >&5 +echo "${ECHO_T}$pacc_xml_include_test" >&6; } + + + +# Check whether --with-pacc-math was given. +if test "${with_pacc_math+set}" = set; then + withval=$with_pacc_math; pacc_math_path="$withval" +else + pacc_math_path="../../../../PACC" +fi + + +# Check whether --with-pacc-math-include was given. +if test "${with_pacc_math_include+set}" = set; then + withval=$with_pacc_math_include; pacc_math_path_include="$withval" +fi + + +# Check whether --with-pacc-math-libdir was given. +if test "${with_pacc_math_libdir+set}" = set; then + withval=$with_pacc_math_libdir; pacc_math_path_libdir="$withval" +fi + +if test -z "$pacc_math_path"; then + pacc_math_path="../../../../PACC" +fi +if test -z "$pacc_math_path_include"; then + if test -z "../../../../PACC"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "../../../../PACC/Math"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="../../../../PACC/Math" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Math headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Math headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_math_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Math.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_math_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_math_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_math_include_test" >&5 +echo "${ECHO_T}$pacc_math_include_test" >&6; } + + + +# Check whether --with-pacc-threading was given. +if test "${with_pacc_threading+set}" = set; then + withval=$with_pacc_threading; pacc_threading_path="$withval" +else + pacc_threading_path="../../../../PACC" +fi + + +# Check whether --with-pacc-threading-include was given. +if test "${with_pacc_threading_include+set}" = set; then + withval=$with_pacc_threading_include; pacc_threading_path_include="$withval" +fi + + +# Check whether --with-pacc-threading-libdir was given. +if test "${with_pacc_threading_libdir+set}" = set; then + withval=$with_pacc_threading_libdir; pacc_threading_path_libdir="$withval" +fi + +if test -z "$pacc_threading_path"; then + pacc_threading_path="../../../../PACC" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "../../../../PACC"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "../../../../PACC/Threading"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="../../../../PACC/Threading" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Threading headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Threading headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_threading_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Threading.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_threading_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_threading_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_threading_include_test" >&5 +echo "${ECHO_T}$pacc_threading_include_test" >&6; } + + + +# Check whether --enable-optimization was given. +if test "${enable_optimization+set}" = set; then + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` +fi + +# Check whether --with-beagle was given. +if test "${with_beagle+set}" = set; then + withval=$with_beagle; ob_beagle_path="$withval" +else + ob_beagle_path="../../../../beagle" +fi + + +# Check whether --with-beagle-include was given. +if test "${with_beagle_include+set}" = set; then + withval=$with_beagle_include; ob_beagle_path_include="$withval" +fi + + +# Check whether --with-beagle-GA-include was given. +if test "${with_beagle_GA_include+set}" = set; then + withval=$with_beagle_GA_include; ob_beagle_path_ga_include="$withval" +fi + + +# Check whether --with-beagle-GP-include was given. +if test "${with_beagle_GP_include+set}" = set; then + withval=$with_beagle_GP_include; ob_beagle_path_gp_include="$withval" +fi + + +# Check whether --with-beagle-Coev-include was given. +if test "${with_beagle_Coev_include+set}" = set; then + withval=$with_beagle_Coev_include; ob_beagle_path_coev_include="$withval" +fi + + +# Check whether --with-beagle-libdir was given. +if test "${with_beagle_libdir+set}" = set; then + withval=$with_beagle_libdir; ob_beagle_path_libdir="$withval" +fi + + +# Check whether --with-beagle-GA-libdir was given. +if test "${with_beagle_GA_libdir+set}" = set; then + withval=$with_beagle_GA_libdir; ob_beagle_path_ga_libdir="$withval" +fi + + +# Check whether --with-beagle-GP-libdir was given. +if test "${with_beagle_GP_libdir+set}" = set; then + withval=$with_beagle_GP_libdir; ob_beagle_path_gp_libdir="$withval" +fi + + +# Check whether --with-beagle-Coev-libdir was given. +if test "${with_beagle_Coev_libdir+set}" = set; then + withval=$with_beagle_Coev_libdir; ob_beagle_path_coev_libdir="$withval" +fi + +if test -z "$ob_beagle_path"; then + ob_beagle_path="../../../../beagle" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "../../../../beagle/include"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="../../../../beagle/include" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "../../../../beagle/src"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="../../../../beagle/src" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "../../../../beagle/GA/include"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="../../../../beagle/GA/include" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "../../../../beagle/GA/src"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="../../../../beagle/GA/src" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "../../../../beagle/GP/include"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="../../../../beagle/GP/include" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "../../../../beagle/GP/src"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="../../../../beagle/GP/src" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "../../../../beagle/Coev/include"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="../../../../beagle/Coev/include" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "../../../../beagle/Coev/src"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="../../../../beagle/Coev/src" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +{ echo "$as_me:$LINENO: checking if Open BEAGLE headers are correctly included" >&5 +echo $ECHO_N "checking if Open BEAGLE headers are correctly included... $ECHO_C" >&6; } +if test "${ob_beagle_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + ob_beagle_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ob_beagle_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ob_beagle_include_test" >&5 +echo "${ECHO_T}$ob_beagle_include_test" >&6; } + + +ac_config_files="$ac_config_files Makefile spambase/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by GP spambase example $as_me 3.0.0, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +GP spambase example config.status 3.0.0 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "spambase/config.hpp") CONFIG_HEADERS="$CONFIG_HEADERS spambase/config.hpp:spambase/config.hpp.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "spambase/Makefile") CONFIG_FILES="$CONFIG_FILES spambase/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +AMTAR!$AMTAR$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +LN_S!$LN_S$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CPP!$CPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +LIBTOOL!$LIBTOOL$ac_delim +PTHREAD_CC!$PTHREAD_CC$ac_delim +PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim +PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 6; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/configure.ac b/lib/beagle-3.0.3/examples/GP/spambase/configure.ac new file mode 100644 index 0000000..d9ae5a8 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/configure.ac @@ -0,0 +1,50 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT([GP spambase example],[3.0.0],[cgagne@gmail.com],[spambase]) +AC_CONFIG_SRCDIR([spambase/SpambaseEvalOp.cpp]) +AC_CONFIG_AUX_DIR([config]) +AC_REVISION([$Revision: 1.4 $]) +AM_INIT_AUTOMAKE +AM_CONFIG_HEADER([spambase/config.hpp:spambase/config.hpp.in]) + +dnl Checks for programs. +AC_PROG_AWK +AC_PROG_CXX +AC_PROG_CXXCPP +AC_PROG_LN_S +AC_PROG_LIBTOOL + +dnl Set language. +AC_LANG([C++]) + +dnl Checks for libraries. +AC_HEADER_STDC + +dnl Check for zlib support. +CHECK_ZLIB + +dnl Check for POSIX threads support. +ACX_PTHREAD +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +dnl Initialize PACC libraries with the given paths. +PACC_UTIL_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Util]) +PACC_XML_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/XML]) +PACC_MATH_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Math]) +PACC_THREADING_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Threading]) + +dnl Initialize Open BEAGLE with the given paths. +OB_BEAGLE_INIT([../../../../beagle], + [../../../../beagle/include], + [../../../../beagle/src], + [../../../../beagle/GA/include], + [../../../../beagle/GA/src], + [../../../../beagle/GP/include], + [../../../../beagle/GP/src], + [../../../../beagle/Coev/include], + [../../../../beagle/Coev/src]) + +dnl Create makefiles. +AC_CONFIG_FILES([Makefile spambase/Makefile]) +AC_OUTPUT diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase.kdevelop b/lib/beagle-3.0.3/examples/GP/spambase/spambase.kdevelop new file mode 100644 index 0000000..959628e --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase.kdevelop @@ -0,0 +1,229 @@ + + + + Christian Gagne + cgagne@gmail.com + 3.0.0 + KDevAutoProject + C++ + + C++ + Code + + + . + false + + + + spambase + + + + src/spambase + default + + + spambase/spambase + true + executable + / + + true + + + + + + + + + + + kdevgccoptions + kdevgppoptions + kdevpgf77options + + + + + + + + + + + + + + false + 1 + false + + 0 + + + + + ada + ada_bugs_gcc + bash + bash_bugs + clanlib + w3c-dom-level2-html + fortran_bugs_gcc + gnome1 + gnustep + gtk + gtk_bugs + haskell + haskell_bugs_ghc + java_bugs_gcc + java_bugs_sun + kde2book + opengl + pascal_bugs_fp + php + php_bugs + perl + perl_bugs + python + python_bugs + qt-kdev3 + ruby + ruby_bugs + sdl + w3c-svg + sw + w3c-uaag10 + wxwidgets_bugs + + + Guide to the Qt Translation Tools + Qt Assistant Manual + Qt Designer Manual + Qt Reference Documentation + qmake User Guide + + + KDE Libraries (Doxygen) + + + + + + + + + + + + + + false + false + + + *.o,*.lo,CVS + false + false + + + + + + + + + + + spambase + spambase + SPAMBASE + Christian Gagne + cgagne@gmail.com + GPL + COPYING + 3.0.0 + /home/cgagne/tmp/spambase + + + + + true + true + true + false + true + true + true + 250 + 400 + 250 + false + 0 + true + true + false + std=_GLIBCXX_STD;__gnu_cxx=std + true + false + false + false + true + true + true + false + .; + + + + set + m_,_ + theValue + true + true + + + false + 3 + 3 + + EmbeddedKDevDesigner + + + + + + + + .hpp + .cpp + + + + + + + + + + + true + false + false + + + false + true + 10 + + + + true + true + true + true + -C + + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/EphemeralPercent.cpp b/lib/beagle-3.0.3/examples/GP/spambase/spambase/EphemeralPercent.cpp new file mode 100644 index 0000000..3228b59 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/EphemeralPercent.cpp @@ -0,0 +1,69 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file EphemeralPercent.cpp + * \brief Implementation of the class EphemeralPercent. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#include "beagle/GP.hpp" +#include "EphemeralPercent.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a new EphemeralPercent primitive. + * \param inValue Value of the ephemeral. + */ +EphemeralPercent::EphemeralPercent(Beagle::Double::Handle inValue) : + GP::EphemeralT(inValue, "EPR") +{ } + + +/*! + * \brief Generate a new random ephemeral Double constant in [0,100]. + * \param inName Name of the constant. + * \param ioContext Context to use to generate the value. + * \return Handle to the ephemeral Double constant generated. + */ +GP::Primitive::Handle EphemeralPercent::generate(Beagle::string inName, GP::Context& ioContext) +{ + Double::Handle lValue = new Double(ioContext.getSystem().getRandomizer().rollUniform(0.,100.)); + return new EphemeralPercent(lValue); +} + + + + + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/EphemeralPercent.hpp b/lib/beagle-3.0.3/examples/GP/spambase/spambase/EphemeralPercent.hpp new file mode 100644 index 0000000..e8f8bf0 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/EphemeralPercent.hpp @@ -0,0 +1,70 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file EphemeralPercent.hpp + * \brief Definition of the EphemeralPercent primitive used in the spambase problem. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.8.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#ifndef EphemeralPercent_hpp +#define EphemeralPercent_hpp + +#include "beagle/GP.hpp" +#include + + +/*! + * \class EphemeralPercent EphemeralPercent.hpp "EphemeralPercent.hpp" + * \brief Ephemeral constant of Double randomly generated in [0,100]. + * \ingroup Spambase + */ +class EphemeralPercent : public Beagle::GP::EphemeralT { + +public: + + //! EphemeralPercent allocator type. + typedef Beagle::AllocatorT::Alloc> + Alloc; + //!< EphemeralPercent handle type. + typedef Beagle::PointerT::Handle> + Handle; + //!< EphemeralPercent bag type. + typedef Beagle::ContainerT::Bag> + Bag; + + explicit EphemeralPercent(Beagle::Double::Handle inValue=NULL); + virtual ~EphemeralPercent() { } + + virtual Beagle::GP::Primitive::Handle generate(Beagle::string inName, Beagle::GP::Context& ioContext); + +}; + + +#endif // EphemeralPercent_hpp diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/EqualTo.cpp b/lib/beagle-3.0.3/examples/GP/spambase/spambase/EqualTo.cpp new file mode 100644 index 0000000..df1033e --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/EqualTo.cpp @@ -0,0 +1,97 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file EqualTo.cpp + * \brief Implementation of the class EqualTo. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#include "beagle/GP.hpp" +#include "EqualTo.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a new EqualTo primitive. + */ +EqualTo::EqualTo() : + Beagle::GP::Primitive(2, "EQ") +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the Double tag needed as input for the primitive EqualTo. + * \param inN Index of the argument to get the tag. + * \param ioContext Evolutionary context. + * \return RTTI type_info of the data type Double. + * \throw AssertException If the index inN given is > to 1. + */ +const std::type_info* EqualTo::getArgType(unsigned int inN, Beagle::GP::Context& ioContext) const +{ + Beagle_AssertM(inN < 2); + return &typeid(Double); +} + + +/*! + * \brief Return the string tagging the Bool type returned but the primitive EqualTo. + * \param ioContext Evolutionary context. + * \return RTTI type_info of the Bool type returned. + */ +const std::type_info* EqualTo::getReturnType(Beagle::GP::Context& ioContext) const +{ + return &typeid(Bool); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Test the equality between two Double, returning a Bool. + * \param outDatum Result of the test. + * \param ioContext Evolutionary context. + */ +void EqualTo::execute(GP::Datum& outDatum, GP::Context& ioContext) +{ + Bool& lResult = castObjectT(outDatum); + Double lArgs[2]; + getArguments(lArgs, sizeof(Double), ioContext); + lResult = lArgs[0].getWrappedValue() == lArgs[1].getWrappedValue(); +} + + + + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/EqualTo.hpp b/lib/beagle-3.0.3/examples/GP/spambase/spambase/EqualTo.hpp new file mode 100644 index 0000000..cb0a1a1 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/EqualTo.hpp @@ -0,0 +1,79 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file EqualTo.hpp + * \brief Definition of EqualTo primitive used in the spambase problem. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#ifndef EqualTo_hpp +#define EqualTo_hpp + +#include "beagle/GP.hpp" +#include + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \class EqualTo EqualTo.hpp "EqualTo.hpp" + * \brief EqualTo primitive that compare equality of two Double and return a Bool. + * \ingroup Spambase + */ +class EqualTo : public Beagle::GP::Primitive { + +public: + + //! EqualTo allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< EqualTo handle type. + typedef Beagle::PointerT + Handle; + //!< EqualTo bag type. + typedef Beagle::ContainerT + Bag; + + explicit EqualTo(); + virtual ~EqualTo() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, Beagle::GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(Beagle::GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(Beagle::GP::Datum& outDatum, Beagle::GP::Context& ioContext); + +}; + + +#endif // EqualTo_hpp diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/IfThenElse.cpp b/lib/beagle-3.0.3/examples/GP/spambase/spambase/IfThenElse.cpp new file mode 100644 index 0000000..fe94f85 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/IfThenElse.cpp @@ -0,0 +1,98 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file IfThenElse.cpp + * \brief Implementation of the class IfThenElse. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#include "beagle/GP.hpp" +#include "IfThenElse.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a new IfThenElse primitive. + */ +IfThenElse::IfThenElse() : + Beagle::GP::Primitive(3, "IF") +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the type tag needed as input for the primitive (0=Bool, {1,2}=Double). + * \param inN Index of the argument to get the tag. + * \param ioContext Evolutionary context. + * \return RTTI type_info tagging the data type. + * \throw AssertException If the index inN given is > to 2. + */ +const std::type_info* IfThenElse::getArgType(unsigned int inN, Beagle::GP::Context& ioContext) const +{ + Beagle_AssertM(inN < 3); + if(inN == 0) return &typeid(Bool); + return &typeid(Double); +} + + +/*! + * \brief Return the string tagging the Double type returned but the primitive IfThenElse. + * \param ioContext Evolutionary context. + * \return RTTI type_info tagging the Double type returned. + */ +const std::type_info* IfThenElse::getReturnType(Beagle::GP::Context& ioContext) const +{ + return &typeid(Double); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Depending the first argument value, return the 2nd (true) or the 3rd (false). + * \param outDatum Result of the comparison. + * \param ioContext Evolutionary context. + */ +void IfThenElse::execute(GP::Datum& outDatum, GP::Context& ioContext) +{ + Bool lCondition; + get1stArgument(lCondition, ioContext); + if(lCondition == true) get2ndArgument(outDatum, ioContext); + else get3rdArgument(outDatum, ioContext); +} + + + + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/IfThenElse.hpp b/lib/beagle-3.0.3/examples/GP/spambase/spambase/IfThenElse.hpp new file mode 100644 index 0000000..9ca8268 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/IfThenElse.hpp @@ -0,0 +1,79 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file IfThenElse.hpp + * \brief Definition of IfThenElse primitive used in the spambase problem. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#ifndef IfThenElse_hpp +#define IfThenElse_hpp + +#include "beagle/GP.hpp" +#include + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \class IfThenElse IfThenElse.hpp "IfThenElse.hpp" + * \brief IfThenElse primitive that test 1st argument, return 2nd if true, 3rd if not. + * \ingroup Spambase + */ +class IfThenElse : public Beagle::GP::Primitive { + +public: + + //! IfThenElse allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< IfThenElse handle type. + typedef Beagle::PointerT + Handle; + //!< IfThenElse bag type. + typedef Beagle::ContainerT + Bag; + + explicit IfThenElse(); + virtual ~IfThenElse() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, Beagle::GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(Beagle::GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(Beagle::GP::Datum& outDatum, Beagle::GP::Context& ioContext); + +}; + + +#endif // IfThenElse_hpp diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/LessThan.cpp b/lib/beagle-3.0.3/examples/GP/spambase/spambase/LessThan.cpp new file mode 100644 index 0000000..66b3f84 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/LessThan.cpp @@ -0,0 +1,98 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file LessThan.cpp + * \brief Implementation of the class LessThan. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:23 $ + */ + +#include "beagle/GP.hpp" +#include "LessThan.hpp" + +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a new LessThan primitive. + */ +LessThan::LessThan() : + Beagle::GP::Primitive(2, "LT") +{ } + + +#ifdef BEAGLE_HAVE_RTTI + +/*! + * \brief Return the Double tag needed as input for the primitive LessThan. + * \param inN Index of the argument to get the tag. + * \param ioContext Evolutionary context. + * \return RTTO type_info tagging the data type Double. + * \throw AssertException If the index inN given is > to 1. + */ +const std::type_info* LessThan::getArgType(unsigned int inN, Beagle::GP::Context& ioContext) const +{ + Beagle_AssertM(inN < 2); + return &typeid(Double); +} + + +/*! + * \brief Return the string tagging the Bool type returned but the primitive LessThan. + * \param ioContext Evolutionary context. + * \return RTTI type_info tagging the Bool type returned. + */ +const std::type_info* LessThan::getReturnType(Beagle::GP::Context& ioContext) const +{ + + return &typeid(Bool); +} + +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \brief Execute the comparison operation between two Double, returning a Bool. + * \param outDatum Result of the comparison. + * \param ioContext Evolutionary context. + */ +void LessThan::execute(GP::Datum& outDatum, GP::Context& ioContext) +{ + Bool& lResult = castObjectT(outDatum); + Double lArgs[2]; + getArguments(lArgs, sizeof(Double), ioContext); + lResult = lArgs[0].getWrappedValue() < lArgs[1].getWrappedValue(); +} + + + + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/LessThan.hpp b/lib/beagle-3.0.3/examples/GP/spambase/spambase/LessThan.hpp new file mode 100644 index 0000000..6db5038 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/LessThan.hpp @@ -0,0 +1,79 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file LessThan.hpp + * \brief Definition of LessThan primitive used in the spambase problem. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:24 $ + */ + +#ifndef LessThan_hpp +#define LessThan_hpp + +#include "beagle/GP.hpp" +#include + +#ifdef BEAGLE_HAVE_RTTI +#include +#endif // BEAGLE_HAVE_RTTI + + +/*! + * \class LessThan LessThan.hpp "LessThan.hpp" + * \brief LessThan primitive that compare the order of two Double and return a Bool. + * \ingroup Spambase + */ +class LessThan : public Beagle::GP::Primitive { + +public: + + //! LessThan allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< LessThan handle type. + typedef Beagle::PointerT + Handle; + //!< LessThan bag type. + typedef Beagle::ContainerT + Bag; + + explicit LessThan(); + virtual ~LessThan() { } + +#ifdef BEAGLE_HAVE_RTTI + virtual const std::type_info* getArgType(unsigned int inN, Beagle::GP::Context& ioContext) const; + virtual const std::type_info* getReturnType(Beagle::GP::Context& ioContext) const; +#endif // BEAGLE_HAVE_RTTI + + virtual void execute(Beagle::GP::Datum& outDatum, Beagle::GP::Context& ioContext); + +}; + + +#endif // LessThan_hpp diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/Makefile.am b/lib/beagle-3.0.3/examples/GP/spambase/spambase/Makefile.am new file mode 100644 index 0000000..318c00b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/Makefile.am @@ -0,0 +1,17 @@ +bin_PROGRAMS = spambase +data_DATA = spambase.data +EXTRA_DIST = spambase.cldist spambase.data spambase.info spambase.names + +spambase_SOURCES = \ +EphemeralPercent.cpp \ +EphemeralPercent.hpp \ +EqualTo.cpp \ +EqualTo.hpp \ +IfThenElse.cpp \ +IfThenElse.hpp \ +LessThan.cpp \ +LessThan.hpp \ +SpambaseEvalOp.cpp \ +SpambaseEvalOp.hpp \ +SpambaseMain.cpp + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/Makefile.in b/lib/beagle-3.0.3/examples/GP/spambase/spambase/Makefile.in new file mode 100644 index 0000000..3bb2219 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/Makefile.in @@ -0,0 +1,528 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +SOURCES = $(spambase_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +bin_PROGRAMS = spambase$(EXEEXT) +subdir = spambase +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.hpp.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = config.hpp +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(datadir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_spambase_OBJECTS = EphemeralPercent.$(OBJEXT) EqualTo.$(OBJEXT) \ + IfThenElse.$(OBJEXT) LessThan.$(OBJEXT) \ + SpambaseEvalOp.$(OBJEXT) SpambaseMain.$(OBJEXT) +spambase_OBJECTS = $(am_spambase_OBJECTS) +spambase_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/EphemeralPercent.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/EqualTo.Po ./$(DEPDIR)/IfThenElse.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/LessThan.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/SpambaseEvalOp.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/SpambaseMain.Po +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(spambase_SOURCES) +DIST_SOURCES = $(spambase_SOURCES) +dataDATA_INSTALL = $(INSTALL_DATA) +DATA = $(data_DATA) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +data_DATA = spambase.data +EXTRA_DIST = spambase.cldist spambase.data spambase.info spambase.names +spambase_SOURCES = \ +EphemeralPercent.cpp \ +EphemeralPercent.hpp \ +EqualTo.cpp \ +EqualTo.hpp \ +IfThenElse.cpp \ +IfThenElse.hpp \ +LessThan.cpp \ +LessThan.hpp \ +SpambaseEvalOp.cpp \ +SpambaseEvalOp.hpp \ +SpambaseMain.cpp + +all: config.hpp + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign spambase/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign spambase/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +config.hpp: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.hpp.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status spambase/config.hpp +$(srcdir)/config.hpp.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.hpp stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +spambase$(EXEEXT): $(spambase_OBJECTS) $(spambase_DEPENDENCIES) + @rm -f spambase$(EXEEXT) + $(CXXLINK) $(spambase_LDFLAGS) $(spambase_OBJECTS) $(spambase_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EphemeralPercent.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EqualTo.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IfThenElse.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LessThan.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SpambaseEvalOp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SpambaseMain.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +install-dataDATA: $(data_DATA) + @$(NORMAL_INSTALL) + test -z "$(datadir)" || $(mkdir_p) "$(DESTDIR)$(datadir)" + @list='$(data_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " $(dataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(datadir)/$$f'"; \ + $(dataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(datadir)/$$f"; \ + done + +uninstall-dataDATA: + @$(NORMAL_UNINSTALL) + @list='$(data_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f '$(DESTDIR)$(datadir)/$$f'"; \ + rm -f "$(DESTDIR)$(datadir)/$$f"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(DATA) config.hpp +installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(datadir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-dataDATA + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-dataDATA \ + uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-dataDATA install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-dataDATA uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/SpambaseEvalOp.cpp b/lib/beagle-3.0.3/examples/GP/spambase/spambase/SpambaseEvalOp.cpp new file mode 100644 index 0000000..101fdd1 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/SpambaseEvalOp.cpp @@ -0,0 +1,173 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file SpambaseEvalOp.cpp + * \brief Implementation of the class SpambaseEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:24 $ + */ + +#include "beagle/GP.hpp" +#include "SpambaseEvalOp.hpp" + +#include +#include +#include + +using namespace Beagle; + + +/*! + * \brief Construct a new spambase evaluation operator. + * \param inFilename Default filename used. + */ +SpambaseEvalOp::SpambaseEvalOp(Beagle::string inFilename) : + GP::EvaluationOp("SpambaseEvalOp"), + mFilename(NULL), + mFilenameDefault(inFilename) +{ } + + +/*! + * \brief Initialize the spambase evaluation operator. + * \param ioSystem System of the evolution. + */ +void SpambaseEvalOp::initialize(Beagle::System& ioSystem) +{ + Beagle::GP::EvaluationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("spambase.filename")) { + mFilename = castHandleT(ioSystem.getRegister()["spambase.filename"]); + } else { + mFilename = new String(mFilenameDefault); + Register::Description lDescription( + "Filename of spambase", + "String", + mFilenameDefault, + "Name of the file containing the spambase." + ); + ioSystem.getRegister().addEntry("spambase.filename", mFilename, lDescription); + } +} + + +/*! + * \brief Evaluate the individual fitness for the spambase problem. + * \param inIndividual Individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness measure, + */ +Fitness::Handle SpambaseEvalOp::evaluate(GP::Individual& inIndividual, GP::Context& ioContext) +{ + unsigned int lGoodOutput = 0; + std::random_shuffle(mShuffledTable.begin(), mShuffledTable.end(), + ioContext.getSystem().getRandomizer()); + for(unsigned int i=0; igetWrappedValue().empty()==false)) { + Beagle_LogBasicM( + ioSystem.getLogger(), + "evaluation", "SpambaseEvalOp", + Beagle::string("Reading spambase data from file \"")+mFilename->getWrappedValue()+"\"" + ); + readData(mFilename->getWrappedValue(), Spambase_DataSize); + } +} + + +/*! + * \brief Read data of the spambase problem. + * \param inFilename Name of the file in which the spambase problem data are. + * \param inSizeData Number of entry in the data base. + * \throw InternalException When the file format is not valid. + */ +void SpambaseEvalOp::readData(Beagle::string inFilename, unsigned int inSizeData) +{ + mInputs.resize(inSizeData); + mOutputs.resize(inSizeData); + std::ifstream lDataIS(inFilename.c_str()); + if(!lDataIS) { + Beagle::string lMessage = "Could not open spambase data file \""; + lMessage += inFilename; + lMessage += "\"."; + throw Beagle_InternalExceptionM(lMessage); + } + for(unsigned int i=0; i> lStringData; + unsigned int lStringPos = 0; + mInputs[i].resize(57); + for(unsigned int j=0; j= lStringData.size()) { + Beagle::string lMessage = "Bad format of spambase data file \""; + lMessage += inFilename; + lMessage += "\"."; + throw Beagle_InternalExceptionM(lMessage); + } + Beagle::string lBuffer(lStringData, lStringPos, lFoundPos-lStringPos); + mInputs[i][j] = str2dbl(lBuffer); + lStringPos = lFoundPos + 1; + } + Beagle::string lBuffer2(lStringData, lStringPos, 1); + mOutputs[i] = (bool)str2uint(lBuffer2); + } + lDataIS.close(); + mShuffledTable.clear(); + for(unsigned int i=0; i +#include + +#define Spambase_DataSize 4601 +#define Spambase_TestSize 400 + + +/*! + * \class SpambaseEvalOp SpambaseEvalOp.hpp "SpambaseEvalOp.hpp" + * \brief The individual evaluation class operator for the spambase problem. + * \ingroup Spambase + */ +class SpambaseEvalOp : public Beagle::GP::EvaluationOp { + +public: + + //! SpambaseEvalOp allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< SpambaseEvalOp handle type. + typedef Beagle::PointerT + Handle; + //!< SpambaseEvalOp bag type. + typedef Beagle::ContainerT + Bag; + + explicit SpambaseEvalOp(Beagle::string inFilename="spambase.data"); + + virtual void initialize(Beagle::System& ioSystem); + virtual Beagle::Fitness::Handle evaluate(Beagle::GP::Individual& inIndividual, + Beagle::GP::Context& ioContext); + virtual void postInit(Beagle::System& ioSystem); + void readData(Beagle::string inFilename, unsigned int inSizeData); + +protected: + Beagle::String::Handle mFilename; //!< Filename containing the data. + std::vector< std::vector > mInputs; //!< Spambase data inputs. + std::vector mOutputs; //!< Desired tags (1=spam,0=non-spam). + std::vector mShuffledTable; //!< Shuffled index table of the data. + Beagle::string mFilenameDefault; //!< Default filename used. + +}; + +#endif // SpambaseEvalOp_hpp diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/SpambaseMain.cpp b/lib/beagle-3.0.3/examples/GP/spambase/spambase/SpambaseMain.cpp new file mode 100644 index 0000000..9fb782a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/SpambaseMain.cpp @@ -0,0 +1,166 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file SpambaseMain.cpp + * \brief Implementation of the main routine for the spambase problem. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:24 $ + */ + +#include "beagle/GP.hpp" +#include "SpambaseEvalOp.hpp" +#include "LessThan.hpp" +#include "EqualTo.hpp" +#include "IfThenElse.hpp" +#include "EphemeralPercent.hpp" + +#include +#include +#include +#include +#include +#include +#include + +using namespace std; +using namespace Beagle; + +/*! + * \brief Main routine for the function spambase problem. + * \param argc Number of arguments on the command-line. + * \param argv Arguments on the command-line. + * \return Return value of the program. + * \ingroup Spambase + */ +int main(int argc, char *argv[]) { + try { + // 1: Build primitives. + GP::PrimitiveSet::Handle lSet = new GP::PrimitiveSet(&typeid(Bool)); + lSet->insert(new GP::And); + lSet->insert(new GP::Or); + lSet->insert(new GP::Not); + lSet->insert(new GP::Add); + lSet->insert(new GP::Subtract); + lSet->insert(new GP::Multiply); + lSet->insert(new GP::Divide); + lSet->insert(new LessThan); + lSet->insert(new EqualTo); + lSet->insert(new IfThenElse); + lSet->insert(new EphemeralPercent); + lSet->insert(new GP::TokenT("0", Bool(false))); + lSet->insert(new GP::TokenT("1", Bool(true))); + lSet->insert(new GP::TokenT("IN0")); + lSet->insert(new GP::TokenT("IN1")); + lSet->insert(new GP::TokenT("IN2")); + lSet->insert(new GP::TokenT("IN3")); + lSet->insert(new GP::TokenT("IN4")); + lSet->insert(new GP::TokenT("IN5")); + lSet->insert(new GP::TokenT("IN6")); + lSet->insert(new GP::TokenT("IN7")); + lSet->insert(new GP::TokenT("IN8")); + lSet->insert(new GP::TokenT("IN9")); + lSet->insert(new GP::TokenT("IN10")); + lSet->insert(new GP::TokenT("IN11")); + lSet->insert(new GP::TokenT("IN12")); + lSet->insert(new GP::TokenT("IN13")); + lSet->insert(new GP::TokenT("IN14")); + lSet->insert(new GP::TokenT("IN15")); + lSet->insert(new GP::TokenT("IN16")); + lSet->insert(new GP::TokenT("IN17")); + lSet->insert(new GP::TokenT("IN18")); + lSet->insert(new GP::TokenT("IN19")); + lSet->insert(new GP::TokenT("IN20")); + lSet->insert(new GP::TokenT("IN21")); + lSet->insert(new GP::TokenT("IN22")); + lSet->insert(new GP::TokenT("IN23")); + lSet->insert(new GP::TokenT("IN24")); + lSet->insert(new GP::TokenT("IN25")); + lSet->insert(new GP::TokenT("IN26")); + lSet->insert(new GP::TokenT("IN27")); + lSet->insert(new GP::TokenT("IN28")); + lSet->insert(new GP::TokenT("IN29")); + lSet->insert(new GP::TokenT("IN30")); + lSet->insert(new GP::TokenT("IN31")); + lSet->insert(new GP::TokenT("IN32")); + lSet->insert(new GP::TokenT("IN33")); + lSet->insert(new GP::TokenT("IN34")); + lSet->insert(new GP::TokenT("IN35")); + lSet->insert(new GP::TokenT("IN36")); + lSet->insert(new GP::TokenT("IN37")); + lSet->insert(new GP::TokenT("IN38")); + lSet->insert(new GP::TokenT("IN39")); + lSet->insert(new GP::TokenT("IN40")); + lSet->insert(new GP::TokenT("IN41")); + lSet->insert(new GP::TokenT("IN42")); + lSet->insert(new GP::TokenT("IN43")); + lSet->insert(new GP::TokenT("IN44")); + lSet->insert(new GP::TokenT("IN45")); + lSet->insert(new GP::TokenT("IN46")); + lSet->insert(new GP::TokenT("IN47")); + lSet->insert(new GP::TokenT("IN48")); + lSet->insert(new GP::TokenT("IN49")); + lSet->insert(new GP::TokenT("IN50")); + lSet->insert(new GP::TokenT("IN51")); + lSet->insert(new GP::TokenT("IN52")); + lSet->insert(new GP::TokenT("IN53")); + lSet->insert(new GP::TokenT("IN54")); + lSet->insert(new GP::TokenT("IN55")); + lSet->insert(new GP::TokenT("IN56")); + // 2: Build a system. + GP::System::Handle lSystem = new GP::System(lSet); + // 3: Build operators. + std::string lSpambaseFilename = "spambase.data"; + std::string lProgramName = argv[0]; + std::string::size_type lLibsPos = lProgramName.find(std::string(".libs")); + std::string::size_type lSlashPos = lProgramName.find_last_of(std::string("/\\"), lLibsPos); + if(lSlashPos != std::string::npos) lSpambaseFilename.insert(0, lProgramName, 0, lSlashPos+1); + SpambaseEvalOp::Handle lEvalOp = new SpambaseEvalOp(lSpambaseFilename.c_str()); + // 4: Build an evolver and a vivarium. + Evolver::Handle lEvolver = new GP::Evolver(lEvalOp); + GP::Vivarium::Handle lVivarium = new GP::Vivarium; + // 5: Initialize the evolver and set a parameter. + lEvolver->initialize(lSystem, argc, argv); + // 6: Evolve the vivarium. + lEvolver->evolve(lVivarium); + } + catch(Exception& inException) { + inException.terminate(); + } + catch(exception& inException) { + cerr << "Standard exception catched:" << endl; + cerr << inException.what() << endl << flush; + return 1; + } + catch(...) { + cerr << "Unknown exception catched!" << endl << flush; + return 1; + } + return 0; +} + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/config.hpp.in b/lib/beagle-3.0.3/examples/GP/spambase/spambase/config.hpp.in new file mode 100644 index 0000000..68c0a83 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/config.hpp.in @@ -0,0 +1,65 @@ +/* spambase/config.hpp.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `z' library (-lz). */ +#undef HAVE_LIBZ + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define if you have POSIX threads libraries and header files. */ +#undef HAVE_PTHREAD + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +#undef PTHREAD_CREATE_JOINABLE + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase-generational.conf b/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase-generational.conf new file mode 100644 index 0000000..79bfaa2 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase-generational.conf @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.05 + 0.8 + 0.05 + 0.05 + 0.05 + + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase-steadystate.conf b/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase-steadystate.conf new file mode 100644 index 0000000..5efefdd --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase-steadystate.conf @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.05 + 0.8 + 0.05 + 0.05 + 0.05 + + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase.cldist b/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase.cldist new file mode 100644 index 0000000..9981eb6 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase.cldist @@ -0,0 +1,15 @@ +== SPAMBASE == database + + + Class distribution + + #Elems - Class name + ---------------------- + 1813 - 1 + 2788 - 0 + ------- + 4601 + + + Number of classes: 2 + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase.conf b/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase.conf new file mode 100644 index 0000000..4f91674 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase.conf @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase.data b/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase.data new file mode 100644 index 0000000..4b90499 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase.data @@ -0,0 +1,4603 @@ +0,0.64,0.64,0,0.32,0,0,0,0,0,0,0.64,0,0,0,0.32,0,1.29,1.93,0,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.778,0,0,3.756,61,278,1 +0.21,0.28,0.5,0,0.14,0.28,0.21,0.07,0,0.94,0.21,0.79,0.65,0.21,0.14,0.14,0.07,0.28,3.47,0,1.59,0,0.43,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0,0,0,0,0,0,0,0,0,0,0,0,0.132,0,0.372,0.18,0.048,5.114,101,1028,1 +0.06,0,0.71,0,1.23,0.19,0.19,0.12,0.64,0.25,0.38,0.45,0.12,0,1.75,0.06,0.06,1.03,1.36,0.32,0.51,0,1.16,0.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0.12,0,0.06,0.06,0,0,0.01,0.143,0,0.276,0.184,0.01,9.821,485,2259,1 +0,0,0,0,0.63,0,0.31,0.63,0.31,0.63,0.31,0.31,0.31,0,0,0.31,0,0,3.18,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.137,0,0.137,0,0,3.537,40,191,1 +0,0,0,0,0.63,0,0.31,0.63,0.31,0.63,0.31,0.31,0.31,0,0,0.31,0,0,3.18,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.135,0,0.135,0,0,3.537,40,191,1 +0,0,0,0,1.85,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.223,0,0,0,0,3,15,54,1 +0,0,0,0,1.92,0,0,0,0,0.64,0.96,1.28,0,0,0,0.96,0,0.32,3.85,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.054,0,0.164,0.054,0,1.671,4,112,1 +0,0,0,0,1.88,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.206,0,0,0,0,2.45,11,49,1 +0.15,0,0.46,0,0.61,0,0.3,0,0.92,0.76,0.76,0.92,0,0,0,0,0,0.15,1.23,3.53,2,0,0,0.15,0,0,0,0,0,0,0,0,0.15,0,0,0,0,0,0,0,0,0,0.3,0,0,0,0,0,0,0.271,0,0.181,0.203,0.022,9.744,445,1257,1 +0.06,0.12,0.77,0,0.19,0.32,0.38,0,0.06,0,0,0.64,0.25,0,0.12,0,0,0.12,1.67,0.06,0.71,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0,0.04,0.03,0,0.244,0.081,0,1.729,43,749,1 +0,0,0,0,0,0,0.96,0,0,1.92,0.96,0,0,0,0,0,0,0.96,3.84,0,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.96,0,0,0,0,0,0,0,0,0,0,0,0.462,0,0,1.312,6,21,1 +0,0,0.25,0,0.38,0.25,0.25,0,0,0,0.12,0.12,0.12,0,0,0,0,0,1.16,0,0.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.022,0.044,0,0.663,0,0,1.243,11,184,1 +0,0.69,0.34,0,0.34,0,0,0,0,0,0,0.69,0,0,0,0.34,0,1.39,2.09,0,1.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.056,0,0.786,0,0,3.728,61,261,1 +0,0,0,0,0.9,0,0.9,0,0,0.9,0.9,0,0.9,0,0,0,0,0,2.72,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.083,7,25,1 +0,0,1.42,0,0.71,0.35,0,0.35,0,0.71,0,0.35,0,0,0,5.35,0,0,3.21,0,2.85,0,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.102,0,0.357,0,0,1.971,24,205,1 +0,0.42,0.42,0,1.27,0,0.42,0,0,1.27,0,0,0,0,0,1.27,0,0,1.7,0.42,1.27,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,1.27,0,0,0.42,0,0,0,0,0,0,0,0,0,0.063,0,0.572,0.063,0,5.659,55,249,1 +0,0,0,0,0.94,0,0,0,0,0,0,0,0,0,0,0,0,0,1.88,0,2.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.428,0,0,4.652,31,107,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.11,0,0.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.975,0.37,0,35.461,95,461,1 +0,0,0.55,0,1.11,0,0.18,0,0,0,0,0,0.92,0,0.18,0,0.37,0.37,3.15,0,0.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.182,0,0.455,0,0,1.32,4,70,1 +0,0.63,0,0,1.59,0.31,0,0,0.31,0,0,0.63,0,0,1.27,0.63,0.31,3.18,2.22,0,1.91,0,0.31,0.63,0,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,1.59,0,0,0,0,0,0,0,0,0,0.275,0,0.055,0.496,0,3.509,91,186,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.729,0,0.729,0,0,3.833,9,23,1 +0.05,0.07,0.1,0,0.76,0.05,0.15,0.02,0.55,0,0.1,0.47,0.02,0,0,0,0.02,0.13,2.09,0.1,1.57,0,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0.1,0,0,0,0,0,0,0,0,0,0,0,0.042,0.101,0.016,0.25,0.046,0.059,2.569,66,2259,1 +0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.404,0.404,0,0.809,0,0,4.857,12,34,1 +0,0,0,0,1.16,0,0,0,0,0,0,0.58,0,0,0,1.16,0,1.16,1.16,0,1.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.133,0,0.667,0,0,1.131,5,69,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.44,0,0,0,0,0.196,0,0.392,0.196,0,5.466,22,82,1 +0.05,0.07,0.1,0,0.76,0.05,0.15,0.02,0.55,0,0.1,0.47,0.02,0,0,0,0.02,0.13,2.09,0.1,1.57,0,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0.1,0,0,0,0,0,0,0,0,0,0,0,0.042,0.101,0.016,0.25,0.046,0.059,2.565,66,2258,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.44,0,0,0,0,0.196,0,0.392,0.196,0,5.466,22,82,1 +0,0,0,0,0,0,1.66,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.368,0,0,2.611,12,47,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.352,0,0.352,0,0,4,11,36,1 +0,0,0,0,0.65,0,0.65,0,0,0,0.65,0.65,0,0,0,0.65,1.3,0,1.3,5.22,1.3,0,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.459,0,0.091,0,0,2.687,66,129,1 +1.17,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,1.17,0,3.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0,0,0.886,0,0,1.966,10,59,1 +0,0,3.03,0,0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.352,0,2.112,0,0,3.909,11,43,1 +0,0,0,0,1.89,0.27,0,0,0,0,0,0.81,0,0,0,0.27,0,0,3.51,0,2.7,0,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.045,0,0,0.091,0,1.39,11,89,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.83,4.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.302,0,1.7,5,17,1 +0,0.68,0,0,0,0,0,0,0,0.68,1.36,0,0,0,0,0,0,0,2.04,0,0.68,0,0,0,0.68,0,0,0.68,0,0,1.36,0,0,0,0.68,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0.185,0,0,0,3.826,30,264,1 +0,0,2.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.308,0,1.543,0,0,2.777,6,25,1 +0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.436,0.436,0,0.873,0,0,4.142,12,29,1 +0,0,0.48,0,1.46,0,0.48,0,0,0,0,0.97,0,0,0,0.48,0.97,0,2.43,0,2.43,0,0.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0.081,0,0.488,0.244,0,5.431,78,239,1 +0,0.48,0.48,0,0.48,0,0,0,0,0,0,0.97,0,0,0,0.48,0,0.97,1.46,0,0.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0.963,0,0,3.1,61,186,1 +0,0.41,1.66,0,0.41,0,0,0,0,0,0,0.41,0,0,0,0.41,0,0.83,2.08,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0.068,0,0.75,0,0,3.851,121,285,1 +0.3,0,0,0,0.61,0.92,0,2.45,0,0,0,0.3,1.53,0,0,0,0,0.3,2.76,0,0.61,0,0.3,0.61,0,0,0,0,0,0,0,0,0,0,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0.051,0,0.207,0.207,0,2.132,30,226,1 +0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.335,0.335,0,0.671,0,0,4,12,28,1 +0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.355,0.355,0,0.711,0,0,4,12,28,1 +0,0,0.55,0,1.11,0,0.18,0,0,0,0,0.18,0.92,0,0.18,0,0.37,0.37,3.15,0,0.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.182,0,0.426,0,0,1.283,4,68,1 +0,0,0,0,0.52,0,0.26,0.52,0,0.26,0.26,0.52,0,0,0,0.26,1.56,0.26,1.82,2.08,0.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.073,0,0.813,0.036,0.147,2.145,38,339,1 +0.15,0.45,1.05,0,0.45,0,0,1.81,0.6,0.75,0,0.9,0.3,0,0.3,0,0,0,4.07,0,1.51,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.15,0,0,0,0,0.25,0,1.318,0.068,0,5.301,130,774,1 +0.18,0,0.18,0,1.57,0.36,0.06,0.06,0.06,0.12,0.06,0.54,0.3,0.06,0,0,0.72,0.06,4.54,0.24,1.09,0,0.84,0.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0.06,0,0,0,0.01,0.052,0,0.01,0.167,0,1.733,12,442,1 +0.49,0,0.99,0,0,0.99,0,0,0,0.99,0.99,2.48,0.49,0,0,4.97,0.99,0,3.48,0,1.99,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0.17,0,0,1.468,8,94,1 +0.46,0.3,0.46,0,0.05,0.12,0.05,0.28,0.43,0.74,0.25,0.97,0.56,1.23,0,0.25,0.43,0.02,3.22,0,1.46,0,1.05,0.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0,0,0,0,0.065,0,0.325,0.756,0.153,5.891,193,3040,1 +0.46,0.46,0.26,0,0,0.33,0.06,0.33,0,1.12,0.39,0.73,0.79,0,0.26,0.26,0,0.26,3.51,0,0.66,0,0.19,0.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.036,0.084,0,0.278,0.23,0.084,3.887,40,898,1 +0,1.92,0,0,1.92,0,0,0,0,0,0,1.92,0,0,0,0,0,0,1.92,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.75,12,33,1 +0.73,0.36,1.09,0,0,0.73,0.73,1.09,0.36,0.36,0,0.36,0,0,0,1.09,0.36,0.36,2.19,2.19,2.19,0,1.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0.498,0.332,0,3.254,30,179,1 +0.06,0.12,0.77,0,0.19,0.32,0.38,0,0.06,0,0,0.64,0.25,0,0.12,0,0,0.12,1.67,0.06,0.7,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0,0.04,0.03,0,0.244,0.071,0,1.732,43,750,1 +0,1.26,0,0,0,1.26,0,0,0,0,0,1.26,0,0,0,0,0,0,0,0,1.26,0,0,1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.26,0,0,0,0,0.198,0,0.198,0.596,0,3.833,17,69,1 +0.73,0.36,0.73,0,0,0.73,0.73,1.1,0.36,0.36,0,0.36,0,0,0,1.1,0.36,0.36,2.2,2.2,2.2,0,1.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.111,0,0.5,0.333,0,3.259,30,176,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,1.08,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.478,0,0,2,30,106,1 +0,0,0,0,0,0,1.04,0,0,0,0,1.04,0,0,0,0,1.04,0,3.66,0,2.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.061,0.246,0,0.615,0.061,0.061,3.318,59,146,1 +0,0,1.26,0,0,0,0,0,0,0,0,2.53,0,0,0,0,0,0,2.53,0,5.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.642,8,51,1 +0,0.45,0.45,0,0.45,0,0,0,0,0,0,0.45,0,0,0,0.45,0,0.91,1.36,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.501,0,0,2.777,61,200,1 +0,0.42,1.68,0,0.42,0,0,0,0,0,0,0.42,0,0,0,0.42,0,0.84,2.1,0,1.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0.066,0,0.669,0,0,3.837,121,284,1 +0,0.59,0,0,0,0,0.59,0,0,0.59,0,0.59,0,0,0,0,0,1.18,1.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.257,0,0,0,0,8.586,66,249,1 +0.23,0,0.47,0,0.23,0,0,0,0,0,0,0,0,0.23,0,0.23,0.23,0,7.1,0,1.89,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.71,0,0,0,0.043,0.043,0,0.175,0,0,1.294,11,66,1 +0,0,0.46,0,1.39,0,0.93,0.93,0,0,0.46,0.93,0,0,0,1.39,0,0.46,0.93,0,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0,0,0,0,0,0,0.069,0,0,0,0,0.069,1.442,8,75,1 +0,0.34,0,0,0.68,0,0.68,0,0,0.34,0.34,0,0,0,0,0.34,0,1.36,3.42,0,2.73,0,0,0,0.34,0.34,0,0,0,0,0,0,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.048,0.048,0,1.411,15,96,1 +0.12,0.24,0.12,0,1.32,0.36,0,0.36,0,0,0.36,0.72,0,0,0,0,0,0,4.1,0,3.01,0,0.12,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0.12,0,0,0.12,0,0,0,0,0,0,0,0,0,0.059,0,0.019,0.019,0,1.714,34,180,1 +0.66,0,0.66,0,0,0,0,0,0,0.66,0,0,0,0,0,1.98,1.32,0,1.32,0,1.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.205,0,0,3.184,34,121,1 +0,0.48,0.48,0,1.46,0,0.48,0,0,0.97,0.48,0,0,0,0,0.48,0,0,0.97,0.48,1.95,0,0,0.48,0,0,0,0,0,0,0,0,0,0,0,0,1.46,0,0,0.48,0,0,0,0,0,0,0,0,0,0.073,0,0.589,0.294,0,4.85,47,194,1 +0,0,0,0,0,0,1.47,0,0,1.47,0,1.47,0,0,0,0,0,0,5.88,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,1.214,3,17,1 +0.3,0,0.61,0,0,0,0,0,0,0.92,0.3,0.92,0.3,0.3,0,2.15,0.61,0,5.53,0,1.23,0,0,0.3,0,0,0,0,0,0,0,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0.3,0,0,0,0,0.1,0,1.053,0.351,0.25,3.884,66,303,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0.201,0,0,0.1,0,4.548,59,141,1 +0,0,0,0,1.26,0,2.53,1.26,1.26,1.26,1.26,1.26,0,0,0,0,5.06,0,2.53,1.26,3.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.537,0,0,72.5,287,290,1 +0,0.53,0.53,0,0.53,0,0,0,0,0,0,0.53,0,0,0,0.53,0,1.06,1.6,0,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.087,0,0.877,0,0,3.4,61,187,1 +0,0.44,0.89,0,0.44,0,0,0,0,0,0,0.44,0,0,0,0.44,0,0.89,2.24,0,1.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0.073,0,0.807,0,0,3.849,121,281,1 +0,0.46,0.46,0,0.46,0.46,0.46,0,0,0,0.46,0.46,0,0,0,0.92,0,0.92,2.76,0,1.38,0,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0.46,0,0,0,0,0,0,0.298,0.223,0,2.156,13,110,1 +0,0,0.48,0,1.44,0,0.48,0,0,0,0,0.96,0,0,0,0.48,0.96,0,2.41,0,2.41,0,0.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0.081,0,0.486,0.243,0,5.13,78,236,1 +0,0.94,0.94,0,0,0,0,0,0,0.94,0,0,0,0,0,2.83,0,0,0.94,0,0.94,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.366,0,0,26.5,245,318,1 +0,0,1.77,0,0,0,0,0,0,0,0,0.59,0,0,0,0,0,0.59,4.14,0,1.18,0,0,0,0,0,0,0,0,0,0,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.165,0,0.165,0.082,0,2.325,16,100,1 +0.75,0.18,0.37,0,0.18,0.12,0,0.25,0.75,0.31,0.25,1.51,0.31,0.37,0,0.37,0.44,0.12,2.96,0.69,1.26,0,0.44,0.75,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0.12,0,0,0.06,0,0,0,0,0,0,0.085,0.053,0.437,0.234,0.064,3.675,45,1066,1 +0,0.41,0.2,0,1.67,0.2,0.2,0,0,1.04,0.2,0,0.2,0,0,0.83,0.2,0,2.09,0,0.62,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0.62,0,0.2,0,0,0,0.132,0,0,1.65,15,175,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.26,5.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.338,0,1.666,5,10,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,1.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.431,0,0,4.071,29,114,1 +0,0,0.23,0,0,0,0.23,0,0,0.95,0,0.47,0,0.23,0,0.23,0.95,0,2.38,0,1.9,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0.23,0.23,0,0,0,0,0,0,0,0,0,0,0,0,0.123,0,0.197,0,0.024,5.038,280,519,1 +0,0.72,0.72,0,0,0,0,1.45,0,0,0.72,0,0,0,0,2.91,0,0.72,1.45,0,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.123,0,0.495,0,0,1.525,8,61,1 +0,0,1.28,0,1.28,1.28,0,0,0,0,0,0,0,0,0,1.28,0,0,2.56,0,1.28,0,1.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.181,0,0.724,0,0,3.071,9,43,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.278,0,0.834,0,0,5.13,27,118,1 +0,0.46,0.46,0,1.4,0,0.46,1.86,0,0.93,0.46,0,0,0,0,1.86,0,0,0.93,0.46,1.4,0,0,0.46,0,0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0.46,0,0,0,0,0,0,0,0,0,0.071,0,0.571,0.214,0,4.63,64,213,1 +0,0,0.38,0,1.15,0.76,0,0,0,0,0,0.38,0.38,0,0,0.38,0,0.38,2.69,0,2.3,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.122,0,0.061,0.061,0,1.775,20,158,1 +0,0.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0.79,1.58,1.58,3.96,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.79,0,0,0,0,0.268,0,0.268,0,0,2.815,26,107,1 +0.06,0.06,0.47,0,0.4,0,0,0,0.67,0.06,0,0.33,0.13,0,0,0.2,0,0,1.14,0.13,1.21,0,0,0.06,0,0,0,0,0.06,0,0,0,0,0,0,0,0,0,0,0,0,0.13,0,0,0.06,0,0,0,0.021,0.107,0,0.096,0.085,0.01,3.353,144,845,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.153,0,0,0,0,3.8,23,38,1 +0,0.56,1.12,0,2.24,0,1.12,0,0,0,0,0.56,0.56,0,0,0.56,2.8,0,3.93,0,1.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.25,0,1.083,0.333,0,4.974,140,194,1 +0.47,0.31,0.47,0,0.05,0.13,0.05,0.26,0.44,0.76,0.26,0.97,0.58,1.26,0,0.26,0.44,0,3.25,0,1.5,0,1.05,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0,0,0,0.004,0.066,0,0.322,0.764,0.159,6.1,193,3038,1 +0.59,0.44,0.29,0,0.14,0.03,0.03,0.14,0.56,0.67,0.29,0.67,0.59,1.23,0.03,0.22,0.44,0.07,3.43,0,1.53,0,0.59,0.63,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0,0,0,0,0,0,0.07,0,0,0,0,0.075,0,0.613,0.532,0.137,7.3,763,2453,1 +0.59,0.44,0.29,0,0.14,0.03,0.03,0.14,0.56,0.67,0.29,0.67,0.59,1.23,0.03,0.22,0.44,0.07,3.43,0,1.53,0,0.59,0.63,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0,0,0,0,0,0,0.07,0,0,0,0,0.075,0,0.612,0.531,0.137,7.3,763,2453,1 +0.46,0,0.46,0,0,0,0,0.46,0,0,0,1.38,0,0,2.31,0,0.46,0.46,2.77,0,2.31,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0,0,0,0,0,0.494,0,0.082,0.823,0,3.4,12,102,1 +0,0,0.46,0,0,0,0.46,0,0,0,0.46,0,0,0,0,0,0,1.4,1.87,0,0,0.93,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0,0,0,0,0,2.676,32,91,1 +0,0.35,0.7,0,0.35,0,0,0,0,0,0,0.7,0,0,0,1.05,0,0.7,2.11,0,1.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,0.122,0,1.284,0,0,3.639,61,313,1 +0,0.43,0.43,0,0.43,0,0,0,0,0,0,0.43,0,0,0,0.43,0,0.86,1.29,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.147,0,0.736,0,0,2.81,61,222,1 +0,0,0,0,0,0.6,0,0,0,1.21,0,0,0,0,0,0.6,0,0,1.21,0,0,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.207,0.518,0.414,0.31,0,0,4.897,17,191,1 +1.24,0.41,1.24,0,0,0,0,0,0,0,0,0.41,0,0,0,0.41,0,0.82,3.73,0,1.24,0,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0.065,0,0.461,0.527,0,3.166,19,114,1 +0,0,0,0,4.25,0,0.7,0,0,0,0,0,0,0,0,2.83,0,0,4.96,0,1.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,0,0,1.153,3,30,1 +0,0,0.64,0,0,0.64,0,0,0,0,0,0,0,0,0,0.64,0,0,2.59,0,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0.094,0.189,0.284,0.662,0,0,10.068,131,292,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0.305,0.611,0,1.529,0,0,5.5,22,66,1 +0,0,0.64,0,0,0.64,0,0,0,0,0,0,0,0,0,0.64,0,0,2.59,0,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0.094,0.189,0.284,0.662,0,0,10.068,131,292,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0.305,0.611,0,1.529,0,0,5.5,22,66,1 +0,0,0.64,0,0,0.64,0,0,0,0,0,0,0,0,0,0.64,0,0,2.59,0,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0.094,0.189,0.284,0.662,0,0,10.068,131,292,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0.305,0.611,0,1.529,0,0,5.5,22,66,1 +0,0,0,0,0,0.79,0,0,0,0,0,0,0,0,0,0.79,0,0,1.58,0,0,0,0.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0.79,0,0,0,0,0,0,0,0,0,0,0,0.115,0.231,0.347,0.462,0,0,5.793,22,168,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0.305,0.611,0,1.529,0,0,5.5,22,66,1 +0,0,0,0,0,0,1.96,0,0,1.96,0,1.96,0,0,0,0,0,0,3.92,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.166,60,74,1 +0,0,0,0,0,0,2.46,0,0,0,0,0,0,0,0,2.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.907,0,0,1.285,7,36,1 +0,0,0,0,0,0.79,0,0,0,0,0,0,0,0,0,0,0,0,2.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.147,0,0,0,0,2.913,27,67,1 +0,0,0.76,0,0.38,0,0.76,0,0,0,0,0.38,0,0,0,0,0,0.76,1.52,0,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.177,0.059,3.836,79,211,1 +0,0,0,0,0.95,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0.95,0,0.95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.365,0,0,0,0,1.238,6,78,1 +0.12,1.76,0.63,0,0.88,0,0.12,0.5,0.25,3.9,0.5,0.88,0.12,0,0,0.25,0.12,0,2.9,0.25,1.38,0,1.13,0.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,0,0.019,0.379,0.159,0,0.119,0,4.155,38,507,1 +0,0,1.02,0,0.51,0,0,0,0,0,0,0,0,0,0,0.51,0,0,1.53,0,1.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.51,0,0,0,0,0.09,0,0.542,0,0,1.972,19,146,1 +0.05,0.3,0.4,0,0.1,0.05,0,0.05,0.1,0,0,0.3,0.2,0,0.05,0,0,0.5,1.55,0.3,0.75,0,0.15,0.2,0.05,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0.05,0,0,0,0,0.045,0,0.054,0.118,0,2.37,96,588,1 +0.05,0.3,0.4,0,0.1,0.05,0,0.05,0.1,0,0,0.3,0.2,0,0.05,0,0,0.5,1.55,0.3,0.75,0,0.15,0.2,0.05,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0.05,0,0,0,0,0.036,0,0.054,0.118,0,2.379,96,583,1 +0,0,0,0,1.28,0,2.56,1.28,1.28,1.28,1.28,1.28,0,0,0,0,5.12,0,2.56,1.28,5.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.542,0,0,102.666,304,308,1 +0,0.55,0.55,0,2.23,0,1.11,0,0,0,0,0.55,0.55,0,0,0.55,2.79,0,3.91,0,1.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.248,0,1.158,0.331,0,4.875,140,195,1 +0.05,0.3,0.4,0,0.1,0.05,0,0.05,0.1,0,0,0.3,0.2,0,0.05,0,0,0.5,1.55,0.3,0.75,0,0.15,0.2,0.05,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0.05,0,0,0,0,0.045,0,0.054,0.118,0,2.37,96,588,1 +0.05,0.3,0.4,0,0.1,0.05,0,0.05,0.1,0,0,0.3,0.2,0,0.05,0,0,0.5,1.55,0.3,0.75,0,0.15,0.2,0.05,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0.05,0,0,0,0,0.036,0,0.054,0.118,0,2.379,96,583,1 +0.5,0.46,0.34,0,0.15,0.03,0,0.19,0.57,0.65,0.3,0.73,0.65,1.27,0.03,0.23,0.42,0,3.08,0,1.34,0,0.5,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0.011,0.077,0,0.335,1.281,0.125,7.202,595,2413,1 +0,0.32,0.8,0,0.32,0,0.16,0,0,0.48,0.16,0,0.16,0,0.16,0.16,0,0.8,0.16,0.16,0.64,0,0,0,0,0,0,0.16,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.271,0.024,0.049,5.709,149,982,1 +0,0,0,0,0.92,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0.3,0,0.61,0,0.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.046,0,0,0.092,0.322,0,2.074,49,278,1 +0.16,0,0.67,0,0.33,0.16,0.33,0.84,0.16,0.5,0.33,1.51,0,0,0,0,1.68,0.33,2.18,1.68,3.69,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0.19,0,1.194,0.054,0,5.567,101,657,1 +0.5,0,0.5,0,1.51,0,0,0,0,0,0.5,1.01,0,0,0,0,0,0,4.04,0,3.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0,0,0,0,0,0,0,1.01,0,0,0,0,0.089,0,0.089,0.178,0,3.416,53,164,1 +0,0,0,0,0,0,0.59,0,0,0,0,1.19,0,0,0,0,0,0.59,4.76,0,1.19,0,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.427,0,0,10,33,170,1 +0,0,0,0,1.6,0,0.4,1.2,0,0.4,0,0.8,0,0,0,0,1.6,0.4,4,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.706,0.212,0,1.838,13,114,1 +0.41,0,0.41,0,0,0.41,0,0,0,0,0,2.07,0,0,0,0.41,0,0,7.05,0,2.48,0,0.82,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.97,0.149,0,32.142,335,450,1 +0,0,0.38,0,0.76,0,0.38,0,0,1.14,0,0,0,0,0,0.38,0.76,0,3.04,0,1.52,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.14,0,0,0,0,0.299,0,0.598,0.179,0,4.523,78,285,1 +0,0,0,0,0.4,0.4,0.4,0.4,0,0,0.4,0,0,0,0,0.4,0,0,4,0,2,0,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.121,0,0,1.979,12,95,1 +0,0,1.12,0,0.56,0,0,0,0,0.56,0,0,0,0,0,0.56,0,0,2.25,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.56,0,0,0,0,0.101,0,0.606,0,0,2.36,19,144,1 +0,0,0.8,0,1.44,0.16,0.16,0,0,0,0,0.64,0.8,0,0,0,0.16,0.16,1.6,0,0.47,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.024,0,0.299,0.174,0,1.891,24,174,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.26,0,0,0,0,0.215,0,0.215,0.431,0,4,25,76,1 +0,0.39,0.39,0,0.19,0,0,0.19,0,0,0.39,0.39,0,0,0,0.98,0.19,0.39,0.59,0,0.78,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0.128,0,0.16,0.16,0,2.128,31,730,1 +0,0.39,0.39,0,0.19,0,0,0.19,0,0,0.39,0.39,0,0,0,0.98,0.19,0.39,0.59,0,0.78,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0.128,0,0.16,0.16,0,2.128,31,730,1 +1,0,0.33,0,0.66,0.66,0,0,0,0,0,0.33,0.66,0,0,0.66,0.66,0,2.33,0,0.33,0,1.66,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0.12,0.541,0,5.428,21,304,1 +0,0,0,0,1.49,0,0,0,0,0,0,0,0,0,0,2.98,0,1.49,0,0,1.49,0,0,0,1.49,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1,2,11,1 +0,0,0,0,1.65,0,0,0,0.82,0,0,1.65,0,0,0,0.82,0,0,1.65,0,0.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.415,0,0,0,0,1.769,11,69,1 +1,0,0.33,0,0.66,0.66,0,0,0,0,0,0.33,0.66,0,0,0.66,0.66,0,2.33,0,0.33,0,1.66,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0.12,0.541,0,5.428,21,304,1 +0,0,0,0,0,0,1.58,0,0,0,0,0,1.58,0,0,0,0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.558,0.279,0,3.272,23,36,1 +0.5,0.46,0.34,0,0.15,0.03,0,0.19,0.57,0.65,0.3,0.73,0.65,1.27,0.03,0.23,0.42,0,3.08,0,1.34,0,0.5,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0.011,0.077,0,0.335,1.281,0.125,7.202,595,2413,1 +0,0,0,0,0,0,1.58,0,0,0,0,0,1.58,0,0,0,0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.558,0.279,0,3.272,23,36,1 +0,0,1.38,0,0,0,0,0,0,0,0,1.38,0,0,0,2.77,0,4.16,4.16,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.715,0,0,1.181,2,13,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.26,0,0,0,0,0.215,0,0.215,0.431,0,4.277,27,77,1 +1,0,0.33,0,0.66,0.66,0,0,0,0,0,0.33,0.66,0,0,0.66,0.66,0,2.33,0,0.33,0,1.66,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0.12,0.541,0,5.428,21,304,1 +0,0.29,0.72,0,0.29,0,0.14,0,0,0.43,0.29,0,0.14,0,0.14,0.14,0,0.72,0.58,0.14,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0,0,0,0,0.14,0,0,0,0,0,0,0.865,0.023,0.046,5.133,132,1001,1 +0.36,0,1.09,0,0,0,0,0,0,0,0,0.72,1.81,0,0,0,0,0,0.72,0,1.09,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.063,0.126,0,0.063,0.126,0,2.562,35,123,1 +0,0,0.27,0,0.81,0.81,0,2.98,0.54,0.81,0.27,0.54,0.27,0,0,0.81,1.63,0.27,2.17,1.35,2.44,0,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.04,0,0.565,0.121,0,1.617,18,131,1 +0.39,0,0.39,0,0,0.39,0,0,0,0,0,0.39,0.78,0,0,0,1.17,0.78,3.13,0,1.17,0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.261,0,0,1.461,19,114,1 +0,0.56,0.56,0,2.25,0,1.12,0,0,0,0,0.56,0.56,0,0,0.56,2.82,0,3.95,0,1.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.247,0,1.32,0.33,0,5.135,140,190,1 +0.67,0,0.67,0,2.7,0,0,0,0,0,0,0,0,0,0,0,0.67,0.67,4.05,0,1.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,1.064,3,33,1 +0,0,0.62,0,0.62,0,0,0,0,0.62,0,0,0,0,0,0.62,0,0,1.24,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.105,0,1.055,0,0,2.033,16,120,1 +0,0,1.68,0,0.33,0,0,0,0,0.33,0,0,0,0,0,0.33,0,0,2.02,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0.06,0,0.484,0,0,1.796,19,203,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,4.76,0,0,4.76,0,2.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.375,11,38,1 +0,0,0,0,1.31,0,1.31,1.31,1.31,1.31,0,0,0,0,0,0,1.31,0,1.31,1.31,3.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.117,0.117,0,48.5,186,291,1 +0,0,0,0,1.36,0.45,0.45,0,0,0,0,0,0.45,0,0,0.45,0.45,0.45,1.81,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.135,0,0.135,0,0,5.571,46,117,1 +0.42,0,0,0,0.85,0.85,0,0,0,0.42,0,2.13,0,0,0,0,1.7,0,0.85,0,0.85,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.088,0,0,5.714,107,200,1 +0,0,0,0,0.27,0,0,0,0,0.83,0,0,0,0,0,0,0,0,0.27,0,0.27,8.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.092,0,0.185,0.232,7.313,99,607,1 +0,0,0,0,0.43,0,0,0,0,0.65,0,0,0,0,0,0.43,0,0.21,0.21,0,0.43,6.75,0,0,0.21,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.073,0.146,0.146,0.183,6.233,99,642,1 +0.46,0,0.46,0,0,0,0,0.46,0,0,0,1.38,0,0,2.31,0,0.46,0.46,2.77,0,2.31,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0,0,0,0,0,0.49,0,0.081,0.816,0,3.4,12,102,1 +0.14,0.14,0.29,0,0.29,0.29,0,0.29,0,0,0.29,0,0.14,0,0,0.87,0.29,0.43,3.66,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0,0.58,0,0,0,0,0.024,0,0.265,0,0,3.121,38,437,1 +0,0.34,0.68,0,0,0,0.34,0,0,0.34,0,0,0,0,0.34,0.68,0,1.37,1.03,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.094,0,0,0,0,3.131,13,119,1 +0.46,0,0.46,0,0,0,0,0.46,0,0,0,1.38,0,0,2.31,0,0.46,0.46,2.77,0,2.31,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0,0,0,0,0,0.49,0,0.081,0.816,0,3.4,12,102,1 +0.62,0,0.62,0,0,0,0.62,0,0,0,0,3.1,0,0,0,0,1.24,1.24,5.59,0,1.86,0,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0.517,0,0,3.363,22,111,1 +0,0,0,0,2.1,0,1.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.5,34,108,1 +0,0.71,0.35,0,0.35,0,0,0,0,0,0,0.71,0,0,0,0.35,0,1.42,1.77,0,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.058,0,0.7,0,0,3.768,61,260,1 +0,0.3,0.61,0,0.3,0,0.15,0,0,0.45,0.15,0,0.15,0,0.15,0.15,0,0.76,0.15,0.15,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.15,0,0,0,0,0,0,0,0,0,0,0,0.567,0.024,0.049,5.425,132,944,1 +0,0,0,0,0,0,0.57,0,0,0.57,0,1.15,0.57,0,0,0,0,0.57,4.62,0,1.15,0,0,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.518,0,0,10.117,33,172,1 +0.52,0,2.38,0,0.26,0,0.26,0,0.52,0,0.26,0,0,0,0,0.79,0,0,1.32,0,1.05,0,0,0.52,0,0,0,0,0,0,0,0,0.26,0,0,0.26,0.26,0,0.52,0,0,0,0,0,0,0,0,0,0,0.656,0,0.31,0,0,5.549,71,566,1 +0.17,0,0.08,0,0.42,0.08,0.08,0.42,0.08,0.08,0,0.6,0.17,0.17,0,0,0.17,0.08,1.2,0,3.17,0,0.34,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.081,0.027,0.095,0.013,0,4.07,48,574,1 +0,0,1,0,0.5,0,0,0,0,0.5,0,0,0,0,0,0.5,0,0,2.5,0,1.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0,0,0.357,0,0.892,0,0,2,19,172,1 +0,0,0.54,0,0.54,0,0,0,0,0.54,0,0,0,0,0,0.54,0,0,1.64,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0.096,0,1.443,0,0,1.969,16,130,1 +0,0,0,0,0,0.78,0,2.34,0,0.78,0.78,1.56,0,0,0,0,0.78,0,3.12,0,0.78,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.889,0,0,2.13,15,49,1 +0,0,0,0,0,0,0,2.04,0,0,1.02,0,0,0,0,0,0,0,4.08,0,1.02,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.968,0,0,2.179,18,85,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1,2,11,1 +0.44,0,0,0,0.89,0,0,0,0,0.44,0,1.34,0,0,0,0.44,0,0,4.03,0,1.79,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0.944,0.145,0.072,2.451,28,152,1 +0,0.66,0.66,0,0.33,0,0,0,0,0,0,0.66,0,0,0,0.33,0,1.32,2.64,0,1.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0.053,0,0.583,0,0,4.024,121,326,1 +0,0,0,0,0,0,0,2.04,0,0,1.02,0,0,0,0,0,0,0,4.08,0,1.02,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.969,0,0,2.179,18,85,1 +0.34,0.25,0.25,0,0.08,0.43,0.08,0.25,0.08,1.46,0.34,0.51,0.94,0,0.17,0.08,0,0,3.01,0,0.77,0.17,0.34,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0,0,0,0.048,0,0.258,0.258,0.113,5.297,300,694,1 +0.34,0.26,0.26,0,0.08,0.43,0.08,0.26,0.08,1.47,0.34,0.52,0.95,0,0.17,0.08,0,0,3.03,0,0.78,0,0.34,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0,0,0,0.048,0,0.259,0.259,0.064,3.335,62,537,1 +0.43,0,0,0,0.87,0.87,0,0,0,0.43,0,2.18,0,0,0,0,1.74,0,0.87,0,0.87,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.835,0,0,5.114,107,179,1 +0.44,0,0,0,0.89,0,0,0,0,0.44,0,1.33,0,0,0,0.44,0,0,4.46,0,1.78,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0,1.083,0.144,0.072,2.428,28,153,1 +0,0,0,0,0,0,0,0,0,0.36,0,0,0,0,0,0,0,0,2.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.36,0,0,0,0,0.059,0,0.118,0,0,1.307,7,68,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.754,0,0,1,1,7,1 +0,0.41,0.53,0,0.11,0.05,0,0.05,0.11,0,0,0.17,0.05,0,0,0.05,0,0.53,1.19,0.35,0.53,0,0.23,0.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.064,0.01,0.032,0.14,0,1.364,14,303,1 +0,0,0,0,6.25,0,3.12,0,0,0,0,3.12,0,3.12,0,3.12,0,0,6.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.428,60,66,1 +2.12,0,0,0,0.53,0.53,0,0,0,1.59,0,1.59,0,0,0,1.59,0.53,0.53,6.91,0,1.59,0,0.53,0.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.467,0,0.28,0.186,0,2.823,85,240,1 +0,0,0,0,1.4,0.46,0.93,0,0,0,0,0,0.46,0,0,0.46,0.46,0,1.87,0,1.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.135,0,0.135,0,0,4,46,96,1 +0,1.12,0.56,0,0.56,0.56,1.12,1.12,0,0,0.56,2.25,0,0,0,2.25,0,1.12,2.25,0,2.82,0,0.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.416,5,51,1 +0,0,1.32,0,0.66,0,0,0,0,0,0,0.66,0,0,0,0,0.66,0,5.29,2.64,5.29,0,0,1.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0.83,0.069,0,3.215,43,164,1 +0,0.8,0,0,0.8,0,0,0,0,0.8,0,0.8,0,0,0,1.61,0,0.8,0.8,0,2.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0,0,0,1.192,0,0,1.463,12,101,1 +0,0.29,0.87,0,0.29,0,0.14,0,0,0.43,0.14,0,0.14,0,0.14,0.14,0,0.72,0.43,0.14,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0,0,0,0,0,0,0,0,0,0,0,0.585,0.046,0.046,5.02,132,979,1 +0.17,0,0.08,0,0.42,0.08,0.08,0.42,0.08,0.08,0,0.6,0.17,0.17,0,0,0.17,0.08,1.2,0,3.17,0,0.34,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.081,0.027,0.095,0.013,0,4.07,48,574,1 +0,0,0,0,0,0,0,0,0,0.81,0,0.81,0,0,0,0,0,0,1.63,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.147,0,0,0.294,0.147,0,2.333,11,63,1 +0.54,0,1.08,0,0.54,0,1.08,0,0,0,0,0.54,0,0,0,0.54,0.54,0,4.32,0,1.08,0,1.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0,0,1.18,0.252,0,5.323,68,181,1 +0.17,0,0.08,0,0.42,0.08,0.08,0.42,0.08,0.08,0,0.6,0.17,0.17,0,0,0.17,0.08,1.2,0,3.17,0,0.34,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.081,0.027,0.108,0.013,0,4.07,48,574,1 +0.53,0,1.07,0,0.53,0,1.07,0,0,0,0,0.53,0,0,0,0.53,0.53,0,4.3,0,1.07,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.53,0,0,0,0,0,0,1.183,0.253,0,5.454,68,180,1 +0.51,0.51,0,0,0,0,0.51,0,0,0.51,0,0,0,0,0.51,2.07,0,2.07,1.03,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.135,0,0.067,0,0,2.676,17,91,1 +0,0.54,0.54,0,2.19,0,1.09,0,0,0,0,0.54,0.54,0,0,0.54,3.29,0,3.84,0,1.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.241,0,1.045,0.321,0,5.047,140,212,1 +0,0,0.38,0,1.15,0,0,0,0,0.77,0,0.38,0,0,0,0.38,0.77,0,2.7,0,1.15,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.15,0,0,0,0,0.061,0,0.985,0.184,0,3.923,78,255,1 +0,0,0.39,0,1.17,0,0,0,0,0.78,0,0.39,0,0,0,0.39,0.78,0,2.73,0,1.17,0,0.39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0.062,0,0.869,0.186,0,4,78,256,1 +0.43,0,0.43,0,0.43,0,0.86,0,0,0,0,0.43,0,0,0,0,0.86,0.43,1.29,0,4.76,0,0,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0,0,0.915,0,0,3.891,47,144,1 +0.45,0,0,0,0.68,0.45,0,0.45,0,0.22,0.22,0,1.6,0,0.45,0,0.91,1.83,1.83,0,0.68,0,1.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.91,0,0,0,0,0,0,0,0,0,0.037,0,0.187,0.112,0,3.184,30,363,1 +0,0,1.12,0,0.56,0,0,0,0,0.56,0,0,0,0,0,0.56,0,0,2.25,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.56,0,0,0,0,0.102,0,0.615,0,0,2.403,19,137,1 +0,0,0.55,0,0.55,0,0,0,0,0.55,0,0,0,0,0,0.55,0,0,1.67,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.55,0,0,0,0,0.099,0,0.893,0,0,2.122,16,121,1 +0,0,1.31,0,0.65,0,0,0,0,0,0,0.65,0,0,0,0,0,0,5.26,1.97,4.6,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0.816,0.068,0,3.173,43,165,1 +0,0,0.61,0,0,0,0.61,0,0,0,0,0,0,0,0,0,1.23,1.85,2.46,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.176,0,0.353,0,0,2.25,13,81,1 +0.22,0.22,0.22,0,1.77,0.22,0.44,0.44,0.22,2.88,0,0.88,0.22,0,1.11,0.44,0,0.44,3.33,0,3.33,0,0.44,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0.563,0.15,0,86.65,1038,1733,1 +0.34,0.42,0.25,0,0.08,0.42,0.08,0.25,0.08,1.63,0.34,0.51,0.94,0,0.17,0.08,0,0,3,0,0.94,0,0.34,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0,0,0,0.063,0,0.287,0.223,0.079,3.314,62,537,1 +0,0,0,0,0,0,1.04,0,0,0,0,0,0,0,0,2.08,0,0,2.08,0,2.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.812,11,61,1 +0,0,0,0,0,0,1.33,0,0,0,0,0,0,0,0,0,0,0,1.33,0,5.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.202,1.417,0,29.125,223,233,1 +0.54,0,1.08,0,0.54,0,1.08,0,0,0,0,0.54,0,0,0,0.54,0.54,0,4.32,0,1.08,0,1.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0,0,1.182,0.253,0,5.454,68,180,1 +0,0,0,0,2.5,0,0,0,0,0,0,0.62,0,0,0,0,1.25,0,3.12,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,2.111,18,57,1 +0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9,0,1.81,3.63,0,2.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9,0,0,0,0,0,0,0.165,0.165,0,6.266,41,94,1 +0.07,0.02,0.15,0,0.25,0.2,0,0.02,0.15,0,0,0.25,0.25,0.07,0,0.05,0.22,0,0.05,0,0.02,0,0.37,0.02,0,0,0,0,0.02,0,0,0,0,0,0,0.05,0.3,0.02,0,0.02,0,0,0.02,0,0.02,0,0,0,0.011,0.022,0,0,0.022,0,1.423,20,965,1 +0.07,0.02,0.15,0,0.25,0.2,0,0.02,0.15,0,0,0.25,0.25,0.07,0,0.05,0.22,0,0.05,0,0.02,0,0.37,0.02,0,0,0,0,0.02,0,0,0,0,0,0,0.05,0.3,0.02,0,0.02,0,0,0.02,0,0.02,0,0,0,0.011,0.022,0,0,0.022,0,1.423,20,965,1 +0.17,0.26,1.07,0,0.35,0.62,0.53,0.17,0.62,0.8,0.26,1.25,0.17,0,0.62,0.62,0.08,1.43,2.5,0.17,1.16,0,0.89,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0.08,0,0,0,0,0.066,0,0.212,0.185,0.013,6.815,583,1329,1 +0,0,0.48,0,0.96,0,0,0,0.48,0,0,0,0,0,0,0.96,0.96,0,1.44,0,0.48,0,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0.133,0.066,0.468,0.267,0,3.315,61,242,1 +0.46,0,0.46,0,0,0,0,0.46,0,0,0,1.38,0,0,2.31,0,0.46,0.46,2.77,0,2.31,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0,0,0,0,0,0.49,0,0.081,0.816,0,3.4,12,102,1 +1.03,0,0.68,0,1.03,0,0.68,0,0,0.68,0,0.68,0,0,0.34,0.68,0,0,5.86,0,1.37,0,0.34,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0,0,0.366,0.061,0,1.895,12,91,1 +0,0,0.18,0,0.18,0,0,0,0.54,0.36,0.36,0.9,0,0.36,0,0.72,0,0.18,2.7,0.18,0.72,0,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0.36,0,0,0,0,0.18,0,0,0,0,0,0,0,0,0.633,0.063,0,9.043,363,841,1 +0.26,0.26,0.52,0,0.39,0,0.39,0.13,0,0.26,0,0.78,0.26,0,0,1.57,0,0.26,2.61,0,1.57,0,0.13,0.39,0,0,0,0,0,0,0,0,0,0,0,0,0.13,0,0,0,0,0,0,0,0,0,0,0,0,0.129,0,0.779,0.021,0.021,2.689,49,476,1 +0,0,0.32,0,0.65,0.65,0.32,0.32,0,0,0,0.32,0.32,0,0,0.32,0.32,0,2.28,0,3.25,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0.104,0,0,0.157,0.052,1.537,10,143,1 +0,0,0.32,0,0.64,0.64,0.32,0.32,0,0,0,0.32,0.32,0,0,0.32,0.32,0,2.27,0,3.24,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0.106,0,0,0.159,0.053,1.537,10,143,1 +0.19,0.19,0.39,0,0.19,0,0,0.59,0,0,0,0.39,0,0,0,0.59,0.39,1.37,4.52,0,3.14,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.258,0.032,0,3.112,43,305,1 +0.46,0,0,0,0.69,0.46,0,0.46,0,0.23,0.23,0,1.61,0,0.46,0,0.92,1.84,1.84,0,0.69,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.92,0,0,0,0,0,0,0,0,0,0.037,0,0.188,0.112,0,3.105,30,354,1 +0,0,0.71,0,0.71,0,0,0,0,0,0,0,0,0,0,0.71,0,0,1.42,0,0.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.71,0,0,0,0,0.121,0,1.094,0,0,2.021,16,95,1 +0,1.49,0,0,0,0,2.98,0,0,1.49,0,0,0,0,0,1.49,2.98,0,0,0,2.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.171,0,0,0.171,0.171,13,140,156,1 +0,0,0.16,0,0.33,0,0.16,0,0.5,0,0.16,0,0,0,0,0.5,0,1.5,0.66,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.088,0,0.884,0.752,0.022,5.328,47,1087,1 +0,0,1.1,0,0.55,0,0,0,0,0.55,0,0,0,0,0,0.55,0,0,2.2,0,1.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.55,0,0,0,0,0.097,0,0.683,0,0,2.338,19,145,1 +0.16,0.32,0.65,0,0.32,0,0.16,0,0,0.49,0.16,0,0.16,0,0.16,0.16,0,0.81,0.32,0.16,0.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0,0,0.773,0.08,0.08,6.586,132,955,1 +0,0,0.72,0,1.81,0,0,0,0,0.36,0,0.36,0,0,0,0,0.72,0,0.72,0,0.36,0,0,0,0,0,0,0,0,0,0,0,0.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.053,0.265,0,0,0,0,1.543,13,88,1 +0.84,0.84,0,0,0,0,1.69,0,0.84,0.84,0,0.84,0,0,0,10.16,0.84,0,0.84,0,2.54,0,0,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.113,0.278,0.092,173,418,519,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.29,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.103,3,32,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.29,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.103,3,32,1 +0.17,0,0.08,0,0.43,0.08,0.08,0.43,0.08,0.08,0,0.6,0.17,0.17,0,0,0.17,0.08,1.2,0,3.14,0,0.34,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.081,0.027,0.088,0.013,0,4.16,48,1140,1 +0,0.54,0.54,0,1.09,0.54,2.18,0,0,0.54,0,0.54,0,0,0,0,0,0.54,3.27,0,1.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0.157,0,0.471,0,0.078,15.08,147,377,1 +0,0,0.42,0,0,0,0,0,0,0,0,0.85,0,0,0,0.85,0,0.85,4.7,0,0.85,5.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0.082,0,0,0.082,0.248,7.17,42,294,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.05,0,0,0,0,2.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.05,0,0,0,0,0,0,0,1.806,0,0,1.293,5,75,1 +0,0,0.45,0,0.22,0.22,0,0,0.67,0.45,0.22,0.9,0,0,0,0.22,0,0,1.35,0,1.12,0.22,0.22,0.22,0,0,0,0,0,0,0,0,0,0,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0.064,0.258,0,0.129,0.193,0,7.258,71,617,1 +0,0.55,0.55,0,1.11,0.55,2.23,0,0,0.55,0,0.55,0,0,0,0,0,0.55,3.35,0,1.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.55,0,0,0,0,0.159,0,0.479,0,0.079,16.739,147,385,1 +0,0,0,0,0,1.12,0,2.24,0,0,1.12,1.12,0,0,0,0,0,0,4.49,0,0,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.814,0,0,2.6,15,39,1 +0,0,0.32,0,0.65,0.65,0.32,0.32,0,0,0,0.32,0.32,0,0,0.32,0.32,0,2.28,0,3.26,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0.105,0,0,0.158,0,1.494,10,139,1 +0,0,1.43,0,0.71,0,0,0.71,0,0.71,0,0,0,0,0,0,2.87,2.87,1.43,0,3.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.937,0,0,11.888,116,214,1 +0,0.55,0.55,0,1.11,0.55,2.23,0,0,0.55,0,0.55,0,0,0,0,0,0.55,3.35,0,1.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.55,0,0,0,0,0.159,0,0.479,0,0.079,16.739,147,385,1 +0,0,0,0,0,0,1.07,0,0,0,0,0,0,0,0,2.15,0,0,0,0,2.15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.07,0,0,0,0,0,0,0,0,0,0,0,0.145,0.437,0.291,1.823,10,62,1 +0,0,0.47,0,0.95,0,0,0,0.47,0,0,0,0,0,0,0.95,0.95,0,1.42,0,0.47,0,0.95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0.131,0.065,0.461,0.263,0,3.493,61,255,1 +0,0,0.15,0,0.31,0,0.15,0,0.63,0.15,0.15,0,0,0,0,1.11,0,1.27,0.79,0,0,0,0,0,0.95,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0.15,0,0,0,0,0,0,0,0,0,0.088,0,0.862,0.707,0.022,5.423,51,1128,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.39,0,0.39,0,0,0,3.58,0.39,0,0,0,0.39,0,0,0,0,0,0,0,0,0,0,0,0,0,0.39,0.39,0,0,0,0,0,0,0,0,0,2.5,21,130,1 +0,0,0,0,0,2.3,0,0,0,0,0,0.76,0.76,0,0,0,0,0,2.3,0,1.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.829,0,2.766,0.829,0,5.607,25,157,1 +0.08,0.16,0.32,0,1.38,0.16,0.08,0,0.24,0.08,0,1.3,0,0.08,0,0.48,0.08,0.08,3.5,0,0.73,0,0.08,0.16,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.085,0.061,0.39,0.097,0.012,5.594,119,1561,1 +0.48,0.2,0.55,0,0.27,0.2,0,0.27,0.27,0.97,0.41,1.04,0.13,0,0,1.11,0.69,0.06,2.37,0,1.04,0,0.06,0.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0,0.13,0,0,0,0,0.105,0,0.75,0.305,0,3.401,94,966,1 +0.48,0.2,0.55,0,0.27,0.2,0,0.27,0.27,0.97,0.41,0.97,0.13,0,0,1.11,0.69,0.06,2.23,0,0.97,0,0.06,0.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0,0.13,0,0,0,0,0.105,0,0.75,0.305,0,3.401,94,966,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.453,0,0,4.153,26,54,1 +0,0,1.42,0,0.71,0,0,0.71,0,0.71,0,0,0,0,0,0,2.85,2.85,1.42,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.931,0,0,12.055,117,217,1 +0.8,0,0.8,0,1.6,0,0,0,0,0,0,0,0,0,0,0.8,0.8,0,1.6,0,2.4,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.62,0.347,0,2.604,22,125,1 +0,0,0.33,0,0.99,0.99,0.33,0.33,0,0,0,0.33,0.33,0,0,0.33,0.33,0,1.98,0,3.3,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0.108,0,0,0.162,0.054,2.195,50,202,1 +0.07,0.37,0.81,0,0.51,0.29,0.07,0,0.07,0.37,0.07,1.48,0.14,0,0.07,0,0.14,0.44,3.55,0,1.85,0,0,0.14,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0,0,0,0,0,0,0,0,0,0,0,0.049,0.069,0,0.159,0.159,0.009,3.456,44,802,1 +0,0,0.33,0,0.99,0.99,0.33,0.33,0,0,0,0.33,0.33,0,0,0.33,0.33,0,1.98,0,3.3,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0.107,0,0,0.161,0.053,2.195,50,202,1 +0,0,0.15,0,0.31,0,0.15,0,0.63,0.15,0.15,0,0,0,0,1.11,0,1.27,0.79,0,0,0,0,0,0.95,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0.15,0,0,0,0,0,0,0,0,0,0.088,0,0.862,0.707,0.022,5.423,51,1128,1 +0,0,0.62,0,1.24,0.62,0,0,0,0,0,0,0,0,0,0.31,0,0,2.48,0,0.93,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0.086,0,0.043,0,0,1.741,14,155,1 +0,0.34,0.69,0,0.34,0,0.17,0,0,0.51,0.17,0,0.17,0,0.17,0.17,0,0.86,0.17,0.17,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0,0,0,0,0,0,0,0,0,0,0.665,0.083,0.083,6.294,132,963,1 +0,0.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0.79,0.79,1.58,3.17,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.79,0,0,0,0,0.271,0,0.271,0.135,0,3.257,26,114,1 +0.14,0.14,0.29,0,0,0,0,0,1.17,0.29,0.14,0.58,0,0,0,0.14,0,0.14,2.35,0.14,0.88,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0.204,0,0.204,0.127,0.102,2.962,73,400,1 +0,0,0,0,1.11,0,0,0,0,0,0,0,0,0,0,0,0,0,2.22,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.784,0,0,5.687,39,91,1 +0,0,1,0,0,0.25,0,0.25,0,0,0,1.5,0.25,0,0,0.25,0.5,0,2.5,0,1.5,0,0,0.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.203,0.203,0,2.866,34,129,1 +0.58,0,0,0,2.33,0,1.16,0,0,0,0.58,0,0,0.58,0,0.58,0,0.58,2.92,1.16,2.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0.09,0.09,0,1.829,9,75,1 +0.14,0.14,0.29,0,0,0,0,0,1.17,0.29,0.14,0.58,0,0,0,0.14,0,0.14,2.35,0.14,0.88,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0.204,0,0.204,0.127,0.102,2.962,73,400,1 +0.14,0.14,0.29,0,0,0,0,0,1.17,0.29,0.14,0.58,0,0,0,0.14,0,0.14,2.35,0.14,0.88,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0.204,0,0.204,0.127,0.102,2.962,73,400,1 +0,0,0.58,0,1.17,0,0.58,0,0,0,0,0.58,0,0,0,0.58,0,0,1.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.829,0,0,2.529,8,86,1 +0.25,0.25,0,0,0.75,0,0,0,0.25,0.75,0,1.51,0,1.26,0,0,0.5,0,3.29,0,1.01,0,0,0,0,0,0,0,0,0,0,0,0.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.082,0,0.041,0.124,0.124,3.181,32,210,1 +0,0,0,0,6.25,0,3.12,0,0,0,0,3.12,0,0,0,0,0,0,6.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.428,60,66,1 +0,0.57,0.57,0,1.14,0.57,2.28,0,0,0.57,0,0.57,0,0,0,0,0,0.57,3.42,0,1.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.57,0,0,0,0,0.081,0,0.487,0,0.081,16.217,147,373,1 +0,0.17,0,0,0,0,0.17,0.52,0,0.17,0.35,0.52,0,0,0,0,0.17,0.7,0.88,0,0.7,1.93,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.028,0.143,0.028,0.085,0.057,0.229,3.564,39,417,1 +0,0,0.47,0,0.95,0,0,0,0.47,0,0,0,0,0,0,0.95,0.95,0,1.42,0,0.47,0,0.95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0.133,0.066,0.401,0.267,0,3.459,61,256,1 +0,0.57,0.57,0,1.14,0.57,2.28,0,0,0.57,0,0.57,0,0,0,0,0,0.57,3.42,0,1.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.57,0,0,0,0,0.081,0,0.487,0,0.081,16.217,147,373,1 +0,0.34,0.69,0,0.34,0,0.17,0,0,0.51,0.17,0,0.17,0,0.17,0.17,0,0.86,0.34,0.17,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.315,0,0.026,6.364,149,942,1 +0,0.57,0.57,0,1.14,0.57,2.28,0,0,0.57,0,0.57,0,0,0,0,0,0.57,3.42,0,1.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.57,0,0,0,0,0.081,0,0.487,0,0.081,16.217,147,373,1 +0,1.63,0,0,0,0,3.27,0,0,0,0,0,0,0,0,1.63,1.63,0,0,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0.36,0,0.54,0.18,0.18,14.818,140,163,1 +0,0,0.14,0,0.29,0,0.14,0,0.58,0,0.29,0,0,0,0,0.87,0,1.46,0.58,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0.764,0.784,0.02,4.979,45,1200,1 +0,0.38,0.76,0,0.38,0,0.19,0,0,0.57,0.19,0,0.19,0,0.19,0.19,0,0.95,0.19,0.19,0.95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0.632,0.03,0.09,6.789,132,869,1 +0.4,0,0.6,0,0.2,0.6,0.2,0.6,0.2,0.2,0.2,1.2,0,0,0,0.4,1.61,0.4,2.21,1.81,2.62,0,0.2,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.096,0,1.453,0.129,0,3.946,64,513,1 +0,0,0,0,0,0,0,0,0.91,0,0,0,0,0,0,0,0,0,0.91,0,2.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.132,0,0.531,0,0,2.9,28,87,1 +0,0,0.15,0,0.3,0,0.15,0,0.61,0,0.3,0,0,0,0,0.92,0,1.53,0.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0.083,0,0.732,0.753,0.02,5.058,45,1128,1 +0,0.52,0.52,0,0.52,0,0,0,0,0,0,0,0,0,0,0.52,0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.192,0,0.867,0,0,2.22,20,131,1 +0,0,0.85,0,0.42,0,0,0,0,0,0,0,0,0,0,0.42,0,0,2.14,0,1.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0.159,0,1.117,0,0,1.206,7,117,1 +0.18,0,0.18,0,1.57,0.36,0.06,0.06,0.06,0.12,0.06,0.54,0.3,0.06,0,0,0.72,0.06,4.48,0.24,1.15,0,0.84,0.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0.06,0,0,0,0.01,0.052,0,0.01,0.167,0,1.733,12,442,1 +0.1,0.1,0.73,0,0.2,0.1,0.2,0.62,0.1,0.31,0.31,1.04,0,0,0,0.1,1.14,0.31,2.4,0.93,2.92,0,0,0.2,0.1,0.1,0,0,0,0,0,0,0,0,0,0,0.1,0,0.1,0.1,0,0,0,0,0,0,0,0,0,0.163,0,0.785,0.065,0,4.064,92,817,1 +0,0,0,0,0,0,5.4,0,0,0,0,0,0,0,0,5.4,0,0.9,1.8,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.841,0.21,0,24.785,295,347,1 +0.17,0.17,0.71,0,0.53,0.17,0.17,0.89,0.17,0.53,0.35,1.61,0,0,0,0,1.79,0,1.97,1.61,4.12,0,0,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0,0,0,0,0,0,0,0,0.115,0,1.158,0.057,0,5.163,63,599,1 +0.08,0.17,0.34,0,1.46,0.17,0.08,0,0.25,0.08,0,1.37,0,0.08,0,0.51,0.08,0.08,3.43,0,0.77,0,0.08,0.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.077,0.064,0.348,0.103,0.012,5.392,119,1456,1 +0,0.46,0,0,1.15,0,0.23,0.23,0,0.46,0,0.69,0.23,0,0,0,0.69,0.69,2.76,0,1.84,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0,1.15,0,0,0,0,0,0,0,0,0,0,0,0,0,0.036,0.036,0.841,0.036,0,1.862,52,285,1 +0,0,0.39,0,0.78,0,0,0.06,0.06,0.19,0.13,0.26,0.13,0,0,0,0,0,0.32,0,0.06,0,0,0,0,0,0,0,0,0.06,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0,0,0,0.032,0,0,0.032,0,1.206,15,240,1 +0,0,0,0,0,0,0,1.05,0,0,0.52,1.05,0.52,0,0,1.05,0,0,3.7,1.05,1.05,0,1.58,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.702,0.263,0,6.487,47,266,1 +0,0,0.32,0,0.64,0.64,0.32,0.64,0,0,0,0.32,0.32,0,0,0.32,0.32,0,2.27,0,3.24,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0.105,0,0,0.157,0,1.494,10,139,1 +0.54,0,0.54,0,1.63,0,0,0,0,0,0,0.54,0,0,0,0.54,0.54,0,2.17,0,5.97,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.715,0.318,0,2.345,22,129,1 +1.63,0,1.63,0,0,0,0,0,1.63,0,0,0,0,0,0,1.63,0,0,3.27,0,3.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.759,0.253,0,2,16,36,1 +0,1.32,0.56,0,0,0.94,0,0.18,0.37,0.75,0,2.07,0,0,0,0,0.37,0,2.45,0,0.94,0,0,0.18,0,0,0.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0.242,0.107,0,2.623,35,244,1 +0.35,0,0.35,0,0.35,0.7,0.35,1.41,0,0,0.35,1.06,0,0,0,0.7,1.06,0,5.3,2.82,2.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,0,0,0.411,0,0,2.917,60,213,1 +0.34,1.03,0.34,0,1.03,0,2.41,0.34,0,1.72,2.06,2.06,0.68,0,0.34,0,0,3.44,4.13,0,2.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.116,0,0,0,0,1.888,6,68,1 +0,1.32,0.56,0,0,0.94,0,0.37,0.37,0.75,0,2.07,0,0,0,0,0.37,0,2.45,0,0.94,0,0,0.18,0,0,0.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0.295,0.107,0,2.542,34,239,1 +0.64,0,0.64,0,1.28,0,0.64,0,0,0,0,0.64,0,0,0,0.64,0.64,0,1.28,0,3.2,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.551,0.459,0,2.333,22,119,1 +0,0,0.32,0,0.65,0.65,0.32,0.32,0,0,0,0.32,0.32,0,0,0.32,0.32,0,2.28,0,3.26,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0.106,0,0,0.159,0,1.494,10,139,1 +0.64,0,0.64,0,1.28,0,0.64,0,0,0,0,0.64,0,0,0,0.64,0.64,0,1.28,0,2.56,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.554,0.369,0,2.333,22,119,1 +0,0,0.56,0,0,0.18,0,0,0,1.32,0,0.75,0.75,0.18,0,0.18,0,0,0.94,0,0,0,0.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0,0.07,0.07,0,2.616,23,191,1 +0,0,0,0,0,0,0,0,0.91,0,0,0,0,0,0,0,0,0,0.91,0,2.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.133,0,0.532,0,0,2.9,28,87,1 +0,0,0,0,0,0,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.309,0,0,1.333,11,56,1 +0,0,0,0,1.29,0.43,0.43,0,0,0,0,0,0.43,0,0,0.43,0.43,0.43,1.72,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.129,0,0.129,0,0,5.8,46,116,1 +0,0,0.86,0,0.43,0,0,0,0,0,0,0,0,0,0,0.43,0,0,2.17,0,1.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0.161,0,1.133,0,0,1.2,6,114,1 +0,0.68,0.34,0,0.34,0,0,0,0,0,0,0.68,0,0,0,0.34,0,1.37,1.72,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.055,0,0.718,0,0,3.718,61,264,1 +0,0,0.16,0,0.16,0,0.16,0,0.65,0.16,0.16,0,0,0,0,1.64,0,0.65,0.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0.066,0,0.906,0.663,0,5.289,52,1116,1 +0.18,0,0.18,0,1.57,0.36,0.06,0.06,0.06,0.12,0.06,0.54,0.3,0.06,0,0,0.72,0.06,4.49,0.24,1.09,0,0.85,0.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0.06,0,0,0,0.01,0.052,0,0.01,0.167,0,1.74,12,442,1 +0,0.11,0.23,0,0.58,0.34,0.11,0,0.34,0,0.23,0.92,0.46,0,0,0.46,0.23,0.34,0.58,0,0.58,0,0.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0,0,0,0.075,0.037,0,0.322,0.094,0.018,2.576,48,389,1 +0,0,0,0,0,0,0,0,0,0,1.23,1.23,0,0,0,0,0,0,2.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.284,0,0,1.357,5,19,1 +0,0,0,0,0.91,0,0.91,0,0,0.91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.134,0,0.672,0.269,0,4.35,31,87,1 +0,0,1.31,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,1.31,0,5.26,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.199,0,4.818,25,53,1 +0,1.31,0.56,0,0,0.93,0,0.18,0.37,0.75,0,2.06,0,0,0,0,0.37,0,2.44,0,0.93,0,0,0.18,0,0,0.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0.268,0.107,0,2.698,42,251,1 +0,1.32,0.56,0,0,0.94,0,0.18,0.37,0.75,0,2.07,0,0,0,0,0.37,0,2.45,0,0.94,0,0,0.18,0,0,0.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0.241,0.107,0,2.623,35,244,1 +0,0,0.32,0,0.65,0.65,0.32,0.32,0,0,0,0.32,0.32,0,0,0.32,0.32,0,2.28,0,3.25,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0.105,0,0,0.157,0,1.494,10,139,1 +0,0,0,0,0,0,0,0.67,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.34,0,0,0,0,0,0,0,0,0,0,0,0.17,0.511,0.085,0.511,0,0,4.617,27,217,1 +0,0.62,1.24,0,0.31,0,0,0,0,0,0,0.62,0,0,0,0.31,0,1.24,2.49,0,1.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0.05,0,1.152,0,0,4.592,121,349,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.266,4,19,1 +0,0,0,0,0,0,0,0.67,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.34,0,0,0,0,0,0,0,0,0,0,0,0.17,0.511,0.085,0.511,0,0,4.617,27,217,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.266,4,19,1 +0,0,0.17,0.52,0.17,0,0.17,0,0.69,0.17,0.17,0,0,0,0,1.74,0,0.69,1.04,0,0.17,0,0,0,0.17,0,0,0,0,0,0,0,0,0.17,0,0,0.34,0,0,0.17,0,0,0,0,0,0,0,0,0,0.072,0,0.754,0.681,0,4.74,52,967,1 +0,1,1,0,2,0,1,0,0,0,0,0,0,0,0,0,2,3,2,0,4,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.275,0.137,0,2.538,11,33,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.05,1.05,0,3.15,0,2.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.05,0,0,0,0,0.351,0,0.351,0.175,0,3.343,28,107,1 +0,0,0.16,0.16,0.32,0,0.16,0,0.65,0.16,0.16,0,0,0,0,2.13,0,0.65,0.98,0,0,0,0,0,0.49,0,0,0,0,0,0,0,0,0,0,0.16,0.32,0,0,0.16,0,0,0,0,0,0,0,0,0,0.089,0,0.693,0.67,0,4.835,52,1030,1 +0,0,1.53,0,0,0,0,0,0,0,1.53,0,0,0,0,0,0,0,3.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.53,0,0,0,0,0,0,1.434,0,0,7.055,75,127,1 +0,0,1.31,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,1.31,0,5.26,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.201,0,4.5,25,54,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.28,0,0,3.84,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,0.23,0.23,0,5.538,41,72,1 +0,0,0.47,0,0,0,0.94,0,0,0,0,0.47,0,0,0,0,0.47,0,0.94,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0.072,0,0.217,0,0,1.48,11,77,1 +0.25,0,0,0,0.51,0.51,0,0,0.25,0,0.25,0,0.25,0,0,0,0.25,0,2.81,0,0.25,0,0.25,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.041,0,0.209,0.209,0,2.776,75,211,1 +0,0,0.73,0,0.36,0,0,0,0,0,0,0.73,0,0,0,0.36,0.73,0,1.09,0,1.46,0.36,0.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.36,0,0,0,0,0,0,0,0,0,0,0,0.604,0.181,0,3.787,58,356,1 +0.64,0,0.64,0,1.93,0,0,0,0,0,0,1.29,0,0,0,1.29,0.64,0,1.93,0,2.58,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.462,0.37,0,2.44,22,122,1 +0,0,0,0,0,0,0,1.29,0,0.43,0,0,0,0,0,0.43,0,1.73,0.43,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0.124,0,0.31,0.062,0,1.477,8,65,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.28,0,0,3.84,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,0.23,0.23,0,5.538,41,72,1 +0,0,0,0,0,0.6,0.6,0,0,0,0.6,0,0,0,0,0,0,1.21,1.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.095,0,0,0,0,1.583,11,38,1 +0,0,0.32,0,0.65,0.65,0.32,0.32,0,0,0,0.32,0.32,0,0,0.32,0.32,0,2.28,0,3.25,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0.106,0,0,0.159,0,1.494,10,139,1 +0,0,1.29,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0,0,1.29,0,5.19,0,0,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.198,0,4.23,25,55,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.28,0,0,3.84,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,0.23,0.23,0,5.538,41,72,1 +0.63,0,0.63,0,1.27,0,0.63,0,0,0,0,0.63,0,0,0,0.63,0.63,0,1.27,0,2.54,0,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0.501,0.3,0,2.458,22,118,1 +0.65,0,0.65,0,1.3,0,0,0,0,0,0,0.65,0,0,0,1.3,0.65,0,1.96,0,2.61,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.834,0.463,0,2.44,22,122,1 +0.19,0.19,0.19,0.19,1.16,0,0,0,0.58,0.38,0,0,0,0,0,0,0,0,0.19,0.38,0.58,0,0,0,0.19,0,0,0.19,0,0,0,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0,0,1.121,0,1021.5,2042,2043,1 +0,0,0,0,0,0,0,1.29,0,0.43,0,0,0,0,0,0.43,0,1.73,0.43,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0.124,0,0.31,0.062,0,1.477,8,65,1 +0.08,0,0.08,0,0.16,0,0,0,0,0,0,0.23,0,0,0,0.08,0.23,0,0.4,0.16,0.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0,0,0.16,0,0,0,0,0,0.228,0,0.406,0.038,0,2.811,67,1254,1 +0.64,0,0.64,0,1.93,0,0,0,0,0,0,1.29,0,0,0,1.29,0.64,0,1.93,0,2.58,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.462,0.37,0,2.44,22,122,1 +0,0,0,0,0,0,0,1.29,0,0.43,0,0,0,0,0,0.43,0,1.73,0.43,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0.124,0,0.31,0.062,0,1.477,8,65,1 +0,0,0.73,0,0.36,0,0,0,0,0,0,0.73,0,0,0,0.36,0.73,0,1.09,0,1.46,0.36,0.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.36,0,0,0,0,0,0,0,0,0,0,0,0.604,0.181,0,3.787,58,356,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.06,0,0,0,0,0,0,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.342,0,0,0,0,2.217,10,51,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.28,0,0,3.84,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,0.23,0.23,0,5.538,41,72,1 +0,0,0.32,0,0.65,0.65,0.32,0.32,0,0,0,0.32,0.32,0,0,0.32,0.32,0,2.28,0,3.25,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0.105,0,0,0.158,0,1.494,10,139,1 +0.18,0,0.18,0,1.57,0.36,0.06,0.06,0.06,0.12,0.06,0.54,0.3,0.06,0,0,0.72,0.06,4.49,0.24,1.09,0,0.85,0.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0.06,0,0,0,0.01,0.052,0,0.01,0.167,0,1.736,12,441,1 +0,0,1.31,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,1.31,0,5.26,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.201,0,4.5,25,54,1 +0,0,0,0,0,0,0.45,0.91,0.45,0.91,0,0,0,0,0,0,0.45,0.45,0.91,0,0.45,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.254,0,0.063,0.127,0,4.735,46,161,1 +0,0,0,0,0,0,1.16,0,0,0,0,0,0,0,0,4.65,2.32,0,3.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,21,1 +0,0,0,0,0,0,1.25,0,0,0,0,0,0,0,0,6.25,0,0,3.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,19,1 +0,0.02,0.05,0,0.02,0,0,0.05,0,0.35,0,0.02,0,0,0,0.05,0.1,0.38,0.07,0.2,0.17,0,0,0,0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.004,0,0.107,0.017,0.017,3.922,489,3271,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,1,1,2,1 +0.48,0,1.45,0,0.48,0,0,0,0,0,0,0,0,0,0,0.48,0,0,4.36,0,1.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0.09,0,2.443,0,0,1.227,8,81,1 +0,0,0.71,0,0.23,0,0,0,0.23,0.23,0.23,1.9,0,0,0,0.23,0,0,3.81,0.23,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.109,0,1.018,0.036,0,4.022,97,543,1 +0,0,0.32,0,0.65,0.65,0.32,0.32,0,0,0,0.32,0.32,0,0,0.32,0.32,0,2.28,0,3.25,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0.105,0,0,0.158,0,1.494,10,139,1 +0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.588,0,0,0,0,1,1,6,1 +0,0,0.71,0,0.23,0,0,0,0.23,0.23,0.23,1.9,0,0,0,0.23,0,0,3.81,0.23,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.109,0,1.018,0.036,0,4.022,97,543,1 +0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,3.178,62,89,1 +0.05,0,0.29,0,0.23,0.17,0.05,0,0,0,0.65,0.82,0,0,0,0.76,0.11,0.11,1.53,0.29,1.3,0,0.23,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.009,0.129,0,0.102,0.259,0,1.493,8,660,1 +0,0,0.32,0,0.64,0.64,0.32,0.32,0,0,0,0.32,0.32,0,0,0.32,0.32,0,2.27,0,3.24,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0.104,0,0,0.157,0,1.494,10,139,1 +0,0,1.34,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0.67,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0,0,0,0,0,0,0.332,0.11,0,2.315,12,132,1 +0,0.02,0.05,0,0.02,0,0,0.05,0,0.35,0,0.02,0,0,0,0.05,0.1,0.38,0.07,0.2,0.17,0,0,0,0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.004,0,0.107,0.017,0.017,3.922,489,3271,1 +0,0,1.35,0,0.67,0,0,0,0,0.67,0,0,0,0,0,0,0,0.67,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0,0,0,0,0,0,0.802,0.114,0,2.527,20,139,1 +0.2,0.81,0.61,0,0,0,0,0,0.2,0,0,0.4,0,0,0,0.2,0,0,0.2,0,0.2,0,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.831,0.338,0.03,1102.5,2204,2205,1 +0,0,1.22,0,1.22,0,0,0,0,0,0,0,0,0,0,0.61,0,0.61,1.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.61,0,0,0,0,0,0,0.517,0.103,0,2.966,28,178,1 +0,0,0,0,1.48,0.74,1.48,0,0,0.74,0.74,0.74,0.74,0,0,0.74,0.74,0,2.22,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.108,0,0,2.346,12,61,1 +0,0,0,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.076,0.153,0,0,3.317,11,136,1 +0.35,0.46,0.31,0,0.15,0.03,0,0.35,0.58,0.66,0.31,0.7,0.62,1.28,0.03,0.23,0.42,0,3.12,0,1.36,0,0.46,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0.005,0.088,0,0.319,0.479,0.124,6.11,116,2218,1 +0,0.35,0.7,0,0.7,0,0.35,0.35,0,0.35,0.7,0,0,0,0,0.7,0,0.35,4.25,0,1.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0.113,0,0.397,0,0,3.388,58,183,1 +0,0,0,0,1.21,0,0,0,0,0,0,0,0,0,0,2.43,0,0,3.65,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,31,1 +0,0,1.31,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,1.31,0,5.26,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.199,0,4.818,25,53,1 +0.6,0,0.36,0,1.44,0,0,0,0.24,1.32,0.72,2.52,0.6,0,0,0.6,0.24,0,4.44,0,1.8,0,0.72,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,0.04,0,0.101,0.202,0,3.548,54,479,1 +0,0,1.33,0,1.78,0.44,0,0.44,0,0,0,0,0,0,0,0,0,0,4.46,0.89,0.89,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0.078,0.078,0,0,0,0,1.541,5,37,1 +0.08,0.08,0.76,0,0.85,1.02,0.25,0.17,0.59,0.08,0.17,0.59,0.17,0,2.22,0.25,0.08,0.94,1.62,0.17,0.42,0,0.85,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0.17,0.08,0.08,0.08,0,0,0,0.063,0,0.42,0.114,0.012,7.497,669,1402,1 +0,0,0.46,0,0.46,0,0,0,0,0,0,0,0,0,0,0.46,0,0,2.8,0,0.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0.082,0,0.663,0,0,1.428,20,120,1 +0,0,0.14,0,0.14,0,0.14,0,0.57,0.14,0.14,0,0,0,0,0.86,0,0.57,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0.826,0.745,0,5.456,72,1315,1 +0.18,0,0.18,0,1.59,0.36,0,0.06,0.06,0.06,0.06,0.55,0.3,0.06,0,0,0.73,0,4.4,0.24,1.1,0,0.85,0.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0,0,0.01,0.052,0,0.01,0.169,0,1.748,12,444,1 +0.18,0,0.18,0,1.59,0.36,0,0.06,0.06,0.06,0.06,0.55,0.3,0.06,0,0,0.73,0,4.4,0.24,1.1,0,0.85,0.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0,0,0.01,0.052,0,0.01,0.169,0,1.775,12,451,1 +0.76,0.19,0.38,0,0.19,0.12,0,0.25,0.76,0.31,0.25,1.52,0.31,0.38,0,0.38,0.44,0.06,2.98,0.69,1.26,0,0.44,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0.06,0,0,0,0,0,0,0.085,0.053,0.429,0.236,0.064,3.664,45,1059,1 +0.08,0.08,0.35,0,1.52,0.17,0.08,0,0.35,0.17,0,1.43,0,0.08,0,0.53,0.08,0,3.58,0,0.89,0,0.08,0.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.054,0.068,0.369,0.109,0.027,4.911,119,1277,1 +0.08,0,0.93,0,1.52,0.33,0,0.08,0.67,0,0.25,0.67,0.16,0,1.69,0.08,0,1.1,1.86,0.16,0.42,0,1.1,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0.16,0,0.08,0.08,0,0,0.012,0.101,0,0.356,0.101,0.012,11.32,669,1834,1 +0,0,0.48,0,0.48,0.48,0.48,0,0,0.96,0,0,0,0,0,0,0.96,0,3.36,0,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.163,0,0.163,0,0,1.696,17,95,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.578,0,0,0,0,3.8,15,19,1 +0,0,0.59,0,0.59,0,0,0.59,0,0,0,1.19,0,0,2.38,0,0.59,0.59,2.97,0,2.97,0,1.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.59,0,0,0,0,0,0,0,0,0,0.105,0,0.105,0.42,0,3.428,12,72,1 +0.6,0,0,0,1.21,0,0.6,0,0,0,0,0.6,0,0,0,0,0,0.6,3.65,0,1.21,0,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.101,0.304,0,3.217,30,74,1 +0.76,0.19,0.38,0,0.19,0.12,0,0.25,0.76,0.31,0.25,1.52,0.31,0.38,0,0.38,0.44,0.06,2.98,0.69,1.26,0,0.44,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0.06,0,0,0,0,0,0,0.085,0.053,0.428,0.235,0.064,3.702,45,1070,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,2.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0.163,0,0.163,0.326,0,3.545,21,78,1 +0,0,0.33,0,0.33,0,0.33,0.33,0,0,0,0.33,0,0,0,1.65,0,1.65,2.64,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.161,0.537,0,0,2.517,9,141,1 +0,0,0.67,0,0,0,0.67,2.02,0,0,0,0,0,0,0,0,0.67,0,3.37,0,1.35,0,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.095,0,0.286,0,0,5.558,39,189,1 +0.11,0.23,0.11,0,0.46,0.46,0,0.11,0.93,1.74,0.11,0.34,0.23,0.11,2.09,0,0.46,0,3.49,0,1.28,0,0.46,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0,0,0.34,0,0,0,0.019,0.172,0,0.23,0.134,0,4.281,144,655,1 +0,0,0,0,1.55,0,0,0,0,0.31,0,0.31,0,0,0,0.31,0.62,0,2.79,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.93,0,0,0,0,0.048,0,0,0,0,2.09,22,115,1 +0,0,0,0,0.96,0,0.96,0,0,0,0.96,0,0,0,0,0,0,0,2.88,0,2.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.123,0,0.616,0,0,1.181,3,13,1 +1.05,0,0.7,0,1.05,0,0.7,0,0,0.35,0,0.7,0,0,0.35,0.7,0,0.35,5.96,0,1.4,0,0.35,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,0,0,0.367,0.061,0,1.88,12,94,1 +0,0,0.55,0,0.55,0,0,0,0,0,0,0,0,0,0,0.55,0,0,3.31,0,1.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.55,0,0,0,0,0.104,0,0.524,0,0,1.229,7,75,1 +0.29,0,0.29,0,0.29,0,0,0.29,0,0,0.29,0,0,0,0,0,2.93,0.58,1.75,0,1.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.361,6,113,1 +0,0,0,0,0,0,0,0,0.89,0,0,0,0,0,0,0,0,0,0.89,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.13,0,0.52,0,0,3.5,46,105,1 +0.08,0.08,0.35,0,1.52,0.17,0.08,0,0.35,0.17,0,1.43,0,0.08,0,0.53,0.08,0,3.58,0,0.89,0,0.08,0.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.054,0.068,0.369,0.109,0.027,4.896,119,1278,1 +0,0,1.16,0,3.48,0,0,0.58,0.58,0,0,0.58,0,0,0,1.74,0,0,1.16,0,3.48,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.082,0,0.165,0.082,0,2.17,12,102,1 +0.1,0,0.03,0,0.1,0.03,0,0,0,0.1,0.1,0.43,0,0,0,0.37,0.1,0,0.43,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0.13,0.06,0,0,0,0,0.06,0,0.03,0,0,0,0.2,0.014,0.078,0,0.034,0.019,0.019,4.93,113,3550,1 +0,0,0,0.42,0.84,0,0,0.42,0,0,0,0,0,0,0,0,0,0.42,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.488,0,2.636,0.683,0,3.168,36,301,1 +0.25,0,0.51,0,0.25,0.51,0.25,0,0,0,0,0.76,0,0,0,0.25,0,0.76,2.29,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.044,0,0.132,0.354,0,0,2.593,14,153,1 +0.08,0.08,0.76,0,0.85,1.02,0.25,0.17,0.59,0.08,0.17,0.59,0.17,0,2.21,0.25,0.08,0.93,1.61,0.17,0.42,0,0.85,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0.17,0.08,0.08,0.08,0,0,0,0.063,0,0.394,0.114,0.012,7.484,669,1407,1 +0,0.24,0.72,0,0.24,0,0.12,0,0,0.36,0.12,0,0.12,0,0.12,0.12,0,0.6,0.36,0.12,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,0,0,0,0,0,0.018,0,0.34,0,0.018,5.634,158,1234,1 +0,0,0.43,0,0.87,0,0,0,0,0,0,0,0,0,0,0.43,0.87,0,2.62,0,1.31,0.43,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0.072,0,0.577,0.216,0,6.274,90,320,1 +0.14,0.14,0.29,0,0,0,0,0,1.02,0.29,0.14,0.58,0,0,0,0,0,0.14,2.35,0.14,1.02,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0.14,0,0,0,0,0.204,0,0.153,0.153,0.102,2.705,73,368,1 +0,0,0.14,0,0.28,0,0.14,0,0,0,0,0,0,0,0,0,0,0,2.89,2.31,2.02,7.97,0.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0,0,0.053,0,0.269,0.08,0.484,15.086,74,1222,1 +0.62,0,0.62,0,1.25,0,0.62,0,0,0,0,0.62,0,0,0,0.62,0.62,0,1.25,0,2.51,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.456,0.273,0,2.52,22,121,1 +0.16,0,0.67,0,0.33,0.16,0.33,0.84,0.16,0.5,0.33,1.51,0,0,0,0,1.68,0.33,2.02,1.68,3.87,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0.218,0,1.118,0.054,0,4.928,63,621,1 +0,0,0.14,0,0.28,0,0.14,0,0,0,0.14,0.14,0,0,0,0,0,0,2.86,2.14,2,3.86,0.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0,0,0,0,0.048,0,0.241,0.072,0.435,6.238,37,1229,1 +0,0,0.15,0,0.15,0,0,0,0,0,0,0,0,0,0,0,0,0,2.56,2.26,2.11,4.07,0.15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.15,0,0,0,0,0.051,0,0.255,0.076,0.46,6.3,37,1216,1 +0.51,0.43,0.29,0,0.14,0.03,0,0.18,0.54,0.62,0.29,0.65,0.65,1.2,0.03,0.21,0.43,0.03,3.03,0,1.35,0,0.51,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0.012,0.078,0,0.443,0.51,0.133,6.59,739,2333,1 +0,0,0,0,0,0.68,0,1.36,0.68,0.68,0,0,0,0,0,0.68,2.73,0.68,1.36,3.42,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0,0,0,0,0,0,0,1.143,0.519,0,3.737,75,228,1 +0.33,0,0.66,0,0.22,0,0,0,0.44,0.11,0,0.33,0,0,0,0.55,0,0,1.76,0,1.1,0,0,0.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0,0,0.11,0,0,0,0,0,0,0.173,0,0.367,0.193,0.077,2.559,75,389,1 +0,0,0.49,0,1.48,0,0.49,0,0,0,0,0.99,0,0,0,0.49,0.99,0,2.47,0,2.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0,0.082,0,0.497,0.165,0,5.113,78,225,1 +0,0,0.94,0,0.94,0,0,0,0,0,0,0,0,0,0,0.94,0,0,4.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,3.571,0,0,1.3,7,52,1 +0.49,0.28,0.4,0,0.09,0.11,0.02,0.21,0.42,0.75,0.23,0.89,0.54,1.06,0,0.16,0.33,0.02,3.23,0,1.46,0,1.03,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0,0,0,0,0.058,0,0.382,0.847,0.141,5.783,193,3210,1 +0.33,0,0.66,0,0.22,0,0,0,0.44,0.11,0,0.33,0,0,0,0.55,0,0,1.76,0,1.1,0,0,0.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0,0,0.11,0,0,0,0,0,0,0.173,0,0.367,0.193,0.077,2.559,75,389,1 +0,0,1.56,0,0,0,1.56,0,0,0,0,0,0,0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.56,0,0,0,0,0.233,0,0.7,0,0,2.125,12,34,1 +0,1.11,1.11,0,1.11,0,2.22,0,0,0,0,0,0,0,0,3.33,0,0,3.33,0,2.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.146,0,0,2.058,5,35,1 +0,0,3.03,0,0.43,0,0.86,0,0,0,0.43,0.43,0,0,0,2.16,0,1.29,3.46,0,1.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0.801,0,0,4.77,41,353,1 +0,0,0.91,0,1.82,0.45,0,0,0,0,0,0.45,0,0,0,1.36,0,0,2.28,0,4.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.073,0,0,0,0,2.032,12,126,1 +0,0,0.76,0,0.76,0,0.5,0.5,0,1.01,0,0.25,1.52,0,0.76,0,0,1.52,2.03,0,1.52,0,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0,0,0,0,0,0,0,0.074,0,0.412,0.412,0,2.441,19,249,1 +0,0,1.44,0,0,0,0,0,0,0,0,2.89,0,0,0,1.44,0,0,5.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.277,0,0,1.312,3,21,1 +0,0,0.76,0,0.76,0,0.5,0.5,0,1.01,0,0.25,1.52,0,0.76,0,0,1.52,2.03,0,1.52,0,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0,0,0,0,0,0,0,0.074,0,0.412,0.412,0,2.441,19,249,1 +0,0.71,0.71,0,0.35,0.35,0,0,0,0,0,0.71,0,0,0,0.35,0,1.43,1.79,0,1.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.057,0,1.257,0,0,3.895,61,261,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.88,0,5.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,4,9,1 +0.6,0,0.36,0,1.44,0,0,0,0.24,1.32,0.72,2.52,0.6,0,0,0.6,0.24,0,4.44,0,1.8,0,0.72,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,0.04,0,0.101,0.222,0,3.577,54,483,1 +0,0,0.88,0,0.88,0,0,0,0,0,0,0.88,0,0,0,0,0,0,0.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.935,0,0,3.417,51,229,1 +0,0,0.36,0,0.6,0.12,0.12,0,0,0,0.12,0.48,0.12,0.12,0,0.12,0,0.6,2.41,0,0.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.056,0.037,0,0.056,0.094,0,1.246,14,389,1 +0,0,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,1.31,0,2.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.251,0,1.007,0,0,1.44,8,36,1 +0,0,0,0,0,1.2,0,0,0,0,0,0,0,0,0,0,0,0,1.2,0,3.61,0,0,3.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.421,0.21,0,3.454,17,38,1 +0,0,0,0,0,0,0,1.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.07,0,0,0,0,0.19,0,0.19,0.38,0,3.6,16,72,1 +0,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,1.92,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.336,0,0,1.21,3,23,1 +0.59,0.09,0.09,0,0.29,0.09,0,0.59,0.59,2.09,0.29,0.09,0.29,0,0.39,0.09,0.79,0.39,3.19,0.09,1.69,0,1.39,0.99,0,0,0,0,0,0,0,0,0,0,0,0.09,0,0,0.09,0,0,0,0,0,0.19,0,0,0,0.044,0.078,0,0.334,0.133,0.011,15.493,1171,2541,1 +0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.125,0,2.411,10,41,1 +0.27,0,0.41,0,0,0,0.13,0.13,0,0,0,0.41,0,0,0,0,0,0.41,0.69,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0.133,0,0,0,0,1.531,20,144,1 +0,0.62,0.62,0,0.31,0,0,0,0,0,0,0.62,0,0,0,0.31,0,1.25,2.51,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0.051,0,0.777,0,0,3.39,61,278,1 +0,0,0,0,0.26,0,0.26,0,0,0,0,0,0,0,0,0.26,0,0,0,0,0.52,17.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.26,0,0,0,0,0.451,0.082,0.082,0.369,0,1.026,13.82,104,1078,1 +0.33,0,0.67,0,0.22,0,0,0,0.44,0.11,0,0.33,0,0,0,0.56,0,0,1.79,0,1.12,0,0,0.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0,0,0.11,0,0,0,0,0,0,0.157,0,0.373,0.196,0.078,2.576,75,389,1 +0.12,0.12,0.24,0,1.34,0.12,0,0.12,0,0,0.36,0.85,0,0,0,0.24,0.24,0,2.33,0,0.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.98,0,0,0,0.12,0,0,0,0,0.12,0,0,0,0.061,0.02,0,0.041,0.041,0,2.351,69,254,1 +0.12,0.12,0.24,0,1.34,0.12,0,0.12,0,0,0.36,0.85,0,0,0,0.24,0.24,0,2.33,0,0.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.98,0,0,0,0.12,0,0,0,0,0.12,0,0,0,0.061,0.02,0,0.041,0.041,0,2.351,69,254,1 +0.31,0.31,0.31,0,0,0,0.31,0,0.31,0.31,0.31,0.31,0,0,0,0.94,0,0,0.31,0,2.51,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0.75,0,0.89,0.046,0.046,12.382,138,421,1 +0,0,0.51,0,0.51,0,0,0,0,0,0,1.03,0,0,0,0,0,0,1.54,0,1.03,0,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0.177,0,3.125,12,100,1 +0,0.48,0.48,0,0.48,0,0,0.48,0,0,0,0.96,0,0,1.92,0,0.48,0.96,2.88,0,2.88,0,1.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0,0,0,0.084,0,0.084,0.336,0,3.2,12,80,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.45,0,0,3.22,0,6.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,1 +0,0,0.89,0,1.79,0.44,0,0,0,0,0,0.44,0,0,0,1.34,0,0,2.24,0,4.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.073,0,0,0,0,2.25,12,144,1 +0,0,0.71,0,0.17,0,0.35,0.35,0,0.17,0.17,0.35,0,0,0,0.35,0,0.17,0.53,0,0.17,0,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0.057,0,0.057,0.171,0,1.974,34,229,1 +0,1.72,0,0,0,0,0,0,0,1.72,0,0,0,0,0,1.72,0,0.86,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.125,0,0.251,0.251,0,2.022,12,91,1 +0,0,0,0,0,0,0,2.53,0,0,0,0,0,0,0,0,1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.26,0,0,0,0,0.186,0,0.186,0.186,0,4,23,84,1 +0,0,0,0,0.42,0.42,0.42,0,0,0,0,0.42,0,0,0,0,0,0,0.84,0,0.42,8.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.062,0,0.187,0,1.002,7.951,74,493,1 +0,0,0,0,0.45,0.45,0.45,0,0,0,0,0.45,0,0,0,0,0,0,0.9,0,0.45,9.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.203,0,1.084,8.517,72,477,1 +0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,3.01,0,0,1.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.176,0,0,4.476,20,94,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.385,0,0,20,169,180,1 +0,0,1.25,0,2.5,0,0,0,0,0,0,0,0,0,0,1.25,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,4,36,1 +0,0,0,0,0,0,0,1.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0.194,0,0,0.389,0,3.6,16,72,1 +0,0,0,0,0,0,0,0,0,0,0,0,1.38,0,0,0,0,0,0,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.486,0,0,2.681,11,59,1 +0.21,0.1,0.52,0,1.26,0.1,0,0,0.42,0.52,0.21,0.52,0.42,0,0,0,0.52,0,4.53,0,2,0,0.31,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.028,0,0.141,3.305,0,11.288,193,1016,1 +0,0.23,0,0,0.23,0.47,0,0.47,0,0.95,2.61,1.66,0,2.61,0,0,0,0,3.8,0,0.95,0,0.23,0,0.71,0,0,0,0,0,0,0,0,0,0,0,0.95,0,0,0,0,0.23,0,0,0.47,0,0,0,0,0.121,0.04,0,0.04,0,3.78,55,189,1 +0.09,0.18,0.36,0,0.09,0,0.09,0,0.55,0.27,0.09,0.83,0.36,0,0,0,0,0.09,3.69,0.55,1.56,0,0,0.36,0,0,0,0,0,0,0,0,0,0,0,0.09,0,0,0,0,0,0,0,0,0.09,0,0,0,0,0.056,0,0.341,0.085,0,7.273,103,1171,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.546,0,0,2.3,9,23,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.631,0,0,1.666,5,15,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.844,0,0,1.666,5,15,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.081,0,0,2.3,9,23,1 +0,0,0.64,0,0.64,0,0,0,0,1.29,0,0,0,0,0,2.59,0,0,3.24,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0,0,0,0,0.574,0,0,5.833,30,105,1 +0,0,0,0,0,0,0,0,0.93,0,0,0,0,0,0,0,0,0,0.93,0,3.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.134,0,0.536,0,0,2.166,23,65,1 +0,0,0.32,0,0.64,0.64,0.64,0.32,0,0,0,0.32,0.32,0,0,0.32,0.32,0.32,2.27,0,3.24,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0.156,0,0,0.156,0,1.688,19,157,1 +0,0,0,0,0,0,0,1.08,0,0,0,0,0,1.08,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0.191,0,0.191,0.383,0,3.95,23,79,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.448,0,0,2.666,11,24,1 +0,0,0,0,0,0,0,1.08,0,0,0,0,0,1.08,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0.191,0,0.191,0.383,0,3.95,23,79,1 +0,0,0,0,0,0.05,0,0.34,0,0,0.11,0.81,0.05,0.11,0,0,0.75,0,0,0,0,0,0.05,0,1.16,0,0,0,0,0,0,0,0.05,0,0,0.23,0.05,0,0,0,0,0,0,0,0,0,0,0,0.283,0.107,0,0,0.053,0,1.864,32,910,1 +0,0,0,0,0.88,0,0,0,0,0,0.44,0.44,0,0,0,0,0,0.44,1.32,0,1.32,0,0,0,0.44,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.072,0.072,0,0.291,0,0,1.348,3,58,1 +0,0,0.41,0,0.82,0.61,0.2,0,0.2,0.61,0.41,1.23,0.2,0,0,0.61,0,0,2.89,3.09,1.23,0,0,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098,0.065,0,0.816,0.065,0,3.716,45,301,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.347,0,0,1,1,2,1 +0.1,0,0.43,0,0.1,0.1,0.1,0.53,0.1,0,0,0.64,0,0.32,0,0,0.1,0,0,0,0,0,0.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.049,0,0.016,0.065,0,1.901,29,329,1 +0.65,0.49,0.32,0,0.32,0.16,0,0.49,0.65,0.49,0.16,1.3,0,0,0.16,1.14,1.3,0.16,3.6,0.49,1.8,0,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0.225,0,0.902,0.225,2.233,5.833,47,595,1 +0.09,0,0.09,0,0.39,0.09,0.09,0,0.19,0.29,0.39,0.48,0,0.58,0,0.87,0.19,0,1.66,4.1,1.66,0,0.39,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.136,0,0.318,0.151,0,6.813,494,1458,1 +0,0,0,0,0,0,0,3.33,3.33,0,0,0,0,0,0,0,3.33,0,0,0,6.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.396,0,0.396,3.714,11,26,1 +0.1,0,0.1,0,0.4,0.1,0.1,0,0.2,0.2,0.4,0.5,0,0.6,0,0.91,0.2,0,1.72,4.26,1.72,0,0.4,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.093,0,0.297,0.156,0,6.8,494,1428,1 +0,0,0.37,0,1.11,0.74,0,2.96,0,2.96,0,0,0.74,0,0,0,2.22,0,5.18,0,2.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.149,0,1.096,0,0,5.16,107,289,1 +0.08,0.08,0.76,0,0.85,1.02,0.25,0.17,0.59,0.08,0.17,0.59,0.17,0,2.21,0.25,0.08,0.93,1.61,0.17,0.42,0,0.85,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0.17,0.08,0.08,0.08,0,0,0,0.063,0,0.394,0.114,0.012,7.484,669,1407,1 +0.25,0,0.51,0,0.25,1.28,0,0,0.77,0.51,0,0.25,0,0,0,0,0,0.51,1.79,0,0.77,0,2.05,0,0.51,0.51,0,0,0,0,0,0,0,0,0,0,0.25,0,0,0,0,0,0,0,0,0,0,0,0,0.086,0,0.26,0.173,0,3.298,16,287,1 +0,0,0,0,1.05,2.1,1.05,0,0,0,0,0,0,0,0,0,0,0,3.15,0,1.05,0,2.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.171,0.171,0,2.05,6,41,1 +0,0.1,0.3,0,1.02,0.3,0.1,0.4,0,0.2,0.1,0.92,0,0.1,0,1.94,0.92,0.4,1.94,0.4,0.61,0.92,0.51,0.1,0,0,0,0,0,0,0,0,0,0,0,0.3,0.1,0,0,0.1,0,0,0,0,0,0,0,0,0,0.048,0.016,0.518,0.162,0.34,8.181,283,1890,1 +0.1,0,0.1,0,0.4,0.1,0.1,0,0.2,0.2,0.4,0.5,0,0.6,0,0.91,0.2,0,1.72,4.26,1.72,0,0.4,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.093,0,0.297,0.156,0,6.8,494,1428,1 +0,0,0,0,0.44,0.44,0.44,0,0,0,0,0.44,0,0,0,0,0,0,0.88,0,0.44,9.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,1.017,8.033,72,474,1 +0,0.1,0.62,0,0.31,0,0.1,0,0.2,0.62,0.1,0.62,0.41,0,0,0.1,0.1,0.2,3.43,0.1,1.66,0,0.1,1.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0,0,0,0.611,0.264,0.049,3.794,69,702,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0.422,0,0.422,0.634,0,4.066,17,61,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.363,11,26,1 +0,0.62,0.62,0,0,0.62,0,2.82,0,0.31,0.31,2.5,0,0,0,2.5,0,0,5.32,0.31,1.56,0,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.055,0,0.111,0.111,0.055,1.672,6,92,1 +0.23,0.29,0.64,0,0.17,0.17,0.11,0.05,0.05,0.47,0.11,1.17,0.47,0.05,0.17,0.05,0.11,0.29,3.93,0,2.05,0,0.47,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.133,0,0.492,0.338,0.092,6.033,87,1460,1 +0.51,0.43,0.29,0,0.14,0.03,0,0.18,0.54,0.62,0.29,0.65,0.65,1.2,0.03,0.21,0.43,0.03,2.99,0,1.35,0,0.51,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0.012,0.078,0,0.478,0.509,0.127,6.518,611,2340,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,16,33,1 +0,0,0,0,0,0,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.12,0,0,0,0,0.204,0,0.408,0.408,0,4.1,25,82,1 +0,0,0.48,0,0.48,0,0,0.48,0,0,0,0.96,0,0,1.93,0,0.48,0.48,2.41,0,2.41,0,3.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0.48,0,0,0,0,0,0,0,0,0,0.084,0,0.084,0.761,0,5.322,46,165,1 +0.08,0.08,0.76,0,0.85,1.02,0.25,0.17,0.59,0.08,0.17,0.59,0.17,0,2.21,0.25,0.08,0.93,1.61,0.17,0.42,0,0.85,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0.17,0.08,0.08,0.08,0,0,0,0.063,0,0.394,0.114,0.012,7.54,669,1410,1 +0,0,0.19,0,0.19,0,0,0.19,0.19,0.19,0,0.19,0.19,0,0,0.76,0,0,0.95,0,1.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0.19,0,0,0,0.38,0,0.19,0,0,0,0,0.058,0,0.264,0,0,4.053,93,381,1 +0,0.35,0.35,0,1.07,0,0,0.35,0,1.07,0,0.71,0,0,0,0,0.71,0.71,2.85,0,2.5,0,1.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,0.35,0,0,0,0,0.233,0,0.233,0.233,0,3.414,25,140,1 +0,0,0,0,0,0,0.31,0,0,0,0,1.26,0,0,0,0,0,0.31,1.9,0,0.31,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0.043,0.086,0,0.13,0.173,0.26,3.244,60,279,1 +0.4,0.4,0.26,0,0.13,0.2,0.06,0.33,0,1.14,0.33,1.07,1,0,0.26,0.4,0.06,0,4.1,0,0.94,0,0.53,0.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.088,0,1.06,0.151,0.05,4.623,123,1045,1 +0,0.39,1.18,0,0.39,0,0,0,0,0.78,0.78,0.78,0,0,0.39,3.54,0,0,1.18,0,1.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.39,0,0,0,0,0.064,0,0.843,0.129,0.064,5.87,42,364,1 +0,0,0,0,0,0,0,4.62,0,0,0,0,0.92,0,0,0,0.92,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.919,0.367,0,2.84,16,71,1 +0.32,0.28,0.57,0,0.12,0.2,0.16,0.2,0,0.32,0.08,0.98,0.41,0.04,0.04,0,0,0.41,3.74,0,1.64,0,0.45,0.53,0.04,0.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0,0,0.171,0,0.507,0.493,0.028,5.608,133,1991,1 +0,0.43,0.87,0,0,0,0,0,0.43,0.43,0.43,0,0,0,0,0,0,0,6.14,0,0.43,0,0,0.87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.075,0.075,0,0,0.151,0,5.086,33,117,1 +0,0,0.53,0,0.53,0,0,0.53,0,0,0,1.06,0,0,2.12,0,0.53,0.53,2.65,0,2.65,0,1.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.53,0.53,0,0,0,0,0,0,0,0,0,0.186,0,0.093,0.466,0,5.038,60,131,1 +0.35,0.08,0.35,0,0.35,0,0,0.52,0.61,1.76,0.17,0.26,0.79,0,0.26,0,0.7,0.35,2.64,0,2.03,0,0.61,0.7,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0.08,0.17,0,0,0,0,0.17,0,0,0,0,0.081,0,0.556,0.069,0.011,19.234,1170,3116,1 +0.51,0.17,0.51,0,1.7,0.34,0,0,0.85,0.17,0,0.68,0.17,0.34,0,0.17,0.17,0,2.9,0,2.05,0,0.68,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.387,1.961,0.025,11,183,660,1 +0.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.53,0,1.6,0,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.062,0,0.311,0,0,1.954,11,43,1 +0.26,0.72,0.85,0,0,0.19,0.06,0.33,0.72,0.46,0.72,0.79,0.19,1.05,0.06,0.59,0.19,0.33,3.5,0.06,1.52,0,0.06,0.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0,0.06,0,0,0,0,0.131,0,0.101,0.101,0.202,4.398,79,1280,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0.417,0,0.208,0.626,0,4.066,17,61,1 +0,0,0.52,0,0,1.05,0.52,0,0,0,0,0,0,0,0,1.05,0,0,2.63,0,0,0,1.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.194,0,0.291,0,0,3.333,43,120,1 +0.31,0,0,0,0,0,0,0,0,0,0.31,0.31,0.31,0,0,0,0.31,0,2.79,0,1.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0.114,0,0,0.057,0,0,2.972,18,110,1 +0,0,0,0,0,1.29,0,0.64,0,0,0,0,0,0,0,0,0,0,3.87,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.116,0.111,0,1.8,12,63,1 +0,0,0,0,0,1.28,0,0.64,0,0,0,0,0,0,0,0,0,0,3.84,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.103,0.11,0,1.777,12,64,1 +0,0,0.15,0,0.62,0,0.31,0,1.09,0,0,0,0.46,0,0,0.15,0.15,1.4,2.19,0,1.09,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.252,0,0.378,4.017,0,3.278,23,259,1 +0,0.11,0.35,0,1.18,0.47,0.23,0.35,0,0.11,0.11,0.95,0,0.11,0,2.13,0.95,0.23,1.9,0.35,0.35,0,0.59,0.11,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0.11,0,0,0,0,0,0,0,0,0,0.057,0,0.42,0.191,0.21,8.026,283,1509,1 +0.09,0,0.27,0,0.36,0.09,0,0.18,0.09,0,0,0.73,0,0.36,0,0,0,0,2.01,0,3.38,0,0.36,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0.015,0.046,0.031,0.249,0.031,0.031,3.689,69,535,1 +0,0,0.47,0,0.47,0,0,0.47,0,0,0,0.94,0,0,1.88,0,0.47,0.47,2.83,0,2.35,0,1.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0.47,0,0,0,0,0,0,0,0,0,0.164,0,0.082,0.41,0,5.074,60,137,1 +0.14,0.14,0.29,0,0,0,0,0,1.03,0.29,0.14,0.59,0,0,0,0,0,0.14,2.36,0.14,0.88,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0.205,0,0.153,0.128,0.102,2.686,73,368,1 +0,0,0,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.125,0,0,3.871,26,151,1 +0.14,0.14,0.29,0,0,0,0,0,1.03,0.29,0.14,0.59,0,0,0,0,0,0.14,2.36,0.14,0.88,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0.205,0,0.153,0.128,0.102,2.686,73,368,1 +0.5,0.4,0.33,0,0.13,0.03,0.13,0.1,0.54,0.77,0.3,0.7,0.54,1.14,0.03,0.27,0.43,0.03,3.2,0,1.45,0,0.37,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0,0.071,0,0.456,0.5,0.11,6.049,129,2220,1 +0,0,0.2,0,0.4,0.2,0,0,0,0,0,0,0,0,0,0,0.61,0.4,2.45,0.2,0.61,4.49,0.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0,0,0,0,0.382,0.223,0.478,7.538,55,490,1 +0.57,0,0.57,0,0,0,0,0.57,0,0,0,1.14,0,0,0,0,0,0,5.14,0,1.14,0,2.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.211,0.74,0,2.9,32,116,1 +0.59,0,0.59,0,0,0,0,0.59,0,0,0,1.18,0,0,0,0,0,0,5.32,0,1.18,0,2.95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.109,0.763,0,3,32,114,1 +0,0,0.2,0,0.81,1.01,0,0,0,0,0.2,1.21,0,0,0,0,0,0.2,1.21,0,0,0,0.6,0.4,0,0,0,0,0,0,0,0,0,0,0,1.62,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0.152,0,0.121,0.121,0,2.61,10,261,1 +0.19,0.19,0,0,1.55,0.19,0.77,0,0.19,0.19,0,0.77,0.58,0,0,0.19,0.58,2.33,0.77,0,0.38,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0.03,0.061,0.03,0.185,0.216,0,1.948,11,113,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0.421,0,0.21,0.632,0,3.75,15,60,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0.407,0,0.203,0.61,0,4.133,17,62,1 +0,0,0.53,0,0.21,0.1,0.1,0.53,0.1,0.21,0,0.64,0,0,0,0,0.1,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.097,0,0.016,0.065,0,2.104,29,381,1 +0.9,0,0,0,0,0,0.9,0,0,0,0,0,0,0,0,0,0.9,0.9,1.81,0,2.72,0,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.537,0,0,2.782,19,64,1 +0,0,0,0,0,0,1.02,0,0,0,0,2.04,0,0,0,2.04,0,2.04,3.06,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0,0.17,0,1.47,4,25,1 +0,0.56,0.28,0,0,0,0.56,0,0,0.56,0.28,0.56,0.28,0,0,1.41,0.28,0,1.97,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0,0,0.114,0,0.153,0,0.153,9.25,394,555,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.92,0.46,0.92,1.85,0.46,1.85,0.46,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.142,0,0.142,0.5,0.285,1.636,10,126,1 +0.28,0,0.28,0,1.43,0.28,0,0.14,0,0,0,1.14,0,0,0,0.14,0.42,0,3.86,0,1.28,0,0.14,0.42,0,0,0,0,0,0,0,0,0.14,0,0,0,0,0,0,0,0,0,0,0.14,0,0,0,0,0,0.047,0,0.094,0.118,0.023,1.42,27,250,1 +0,0,0,0,0.87,0,0,1.16,0,0,0.29,1.74,0,0,0,0,0.87,0,4.95,0,2.91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.151,0,0,0,0,0,1.095,4,46,1 +0,0.55,0.55,0,2.23,0.55,0,0.55,0,0,0.55,0,0,0,0,0,0,1.11,1.67,0,2.23,0,0,0.55,0,0,0,0,0,0,0.55,0,0,0,0,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0.265,0,0.088,0.353,0,2.571,11,108,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12.5,0,0,0,0,12.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,1 +0,0,0,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.121,0,0,3.871,26,151,1 +0,1.47,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,1.47,4.41,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.333,12,21,1 +0.26,1.07,0,0,1.61,0,1.07,0.26,0.26,0,0,0.8,0,0,0,0,0,1.61,3.5,0,1.34,0,0,0.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0.092,0,0.324,0,0,7.369,52,339,1 +0.33,0.67,0,0,0,0,0.67,0.33,0.33,0.33,0,0.67,0,0,0,0,0.67,1.01,2.02,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.048,0,1.204,6,59,1 +0,0,0.4,0,0.4,0,0.4,0,0,0,0,0,0.4,0,0,0,0,0,2.04,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4,0,0,0,0,0,0,0.11,0,0,1.594,11,118,1 +0.41,0,0.61,0,0.41,0.61,0,0.82,0.2,0.2,0.2,1.44,0,0,0,0.41,1.03,0.2,1.65,1.65,3.09,0,0.2,0.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.099,0,1.689,0.132,0,4.913,102,565,1 +0,0.9,1.81,0,0,0,0.9,3.63,0,1.81,0,0.9,0,0,0,0,0.9,0,2.72,0,3.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.774,0,0,1,1,18,1 +0,2.66,0,0,2,0,0,0.66,0,0,0,2,1.33,0,0.66,0,0,6.66,3.33,0,1.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.111,0,0,2.133,7,32,1 +0.5,0.43,0.28,0,0.14,0.03,0,0.18,0.54,0.61,0.28,0.65,0.65,1.19,0.03,0.21,0.43,0.03,2.96,0,1.34,0,0.5,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0.012,0.078,0,0.439,0.505,0.132,6.683,798,2426,1 +0.56,0,0.84,0,0.28,0.84,0,0.84,0.28,0.28,0.28,1.41,0,0,0,0,1.41,0,0.84,1.98,2.83,0,0.28,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.128,0,1.289,0.042,0,3.979,47,386,1 +0.33,0.16,0.33,0,0,0.16,0,0.16,0.16,0.08,0.16,0.57,0.24,0,0,0.16,0.24,0.24,3.47,0,2.06,0,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.66,0,0,0,0,0,0,0.213,0.113,0,3.15,76,441,1 +0,0.34,1.02,0,0.68,0.34,0.34,0,0,0,0,0.34,0,0,0,2.04,0,0.34,4.76,0,2.38,0,0,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.161,0,0.215,0,3.879,6.978,56,328,1 +0.64,0,0.25,0,0,0.38,0,0,0,0.25,0.64,0.25,1.03,0,0,0.77,0.9,0.12,1.93,0,0.51,0.12,0.12,1.03,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,0,0.12,0,0,0,0,0.12,0,0,0,0,0.161,0,1.082,0.299,0.092,5.274,146,981,1 +0,0,0.78,0,1.17,0,0,0,0,0,0,0.39,0,0,0,0.78,0,0,1.56,0,1.96,0,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.092,0,4.111,20,222,1 +0,0,0.49,0,1.48,0,0,0,0.49,0,0,0,0,0.16,0,0.66,0.33,0,0.82,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0.197,0,0.616,0,0,5.778,128,549,1 +0,0,0.68,0,0,0,0,1.36,0,0,0.68,0.68,0,0,0,0,0,0,3.4,0,1.36,0,0.68,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.232,0.232,0,2.232,19,96,1 +0,0,0.32,0,0.64,0.64,0.64,0.32,0.32,0,0,0.32,0.32,0,0,0.32,0.32,0.32,2.25,0,3.21,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0.156,0,0,0.156,0,1.752,19,149,1 +0,0.45,0,0,0.91,0,1.36,0,0,0,0,0.45,0,0,0,1.82,0.45,0,2.73,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.368,0,0,1.68,17,158,1 +0,1.25,0.62,0,0,0,1.25,0,0,0,0.62,0.62,0,0,0.62,2.5,0,1.25,5,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.045,0,0.225,0,0,2.35,29,134,1 +0,1.25,0.62,0,0,0,1.25,0,0,0,0.62,0.62,0,0,0.62,2.5,0,1.25,5,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.044,0,0.223,0,0,2.35,29,134,1 +2.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.666,13,44,1 +0,0,0,0,0,0,2.1,0,0,0,0,1.05,0,0,0,0,0,0,4.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.695,15,62,1 +0,0,0.99,0,0.24,0,0,0,0.24,0.49,0,0.49,0,0,0.24,0.24,0,0,0.24,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.035,0,0,0,0,5.555,209,400,1 +0.52,0.34,0.4,0,0.14,0.17,0.05,0.14,0.46,0.52,0.31,0.89,0.4,1.16,0.05,0.11,0.23,0.11,2.9,0,1.1,0,0.63,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0.073,0,0.363,0.535,0.132,6.171,159,2771,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.53,6.32,0,1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.649,0,0.432,5.875,46,94,1 +0,0,0,0,0,0,0,3.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.04,0,0,0,0,0.189,0,0.189,0.189,0,3.857,25,81,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.66,5.33,1.33,1.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.699,0,0.466,9.2,46,92,1 +0.5,0,0.75,0,0.25,0.25,0.25,0.5,0,0,0.5,2.26,0,0,0,0.5,1,0.25,4.03,0,2.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.034,0,0.375,0.034,0,4.2,60,231,1 +1.03,0,0,0,0,0,0,0,0,0,0,1.03,0,0,0,1.03,0,0,3.62,0,1.03,0,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.176,0.176,0,2.766,26,83,1 +1.18,0.39,0.59,0,0,0.98,0.19,0.19,1.38,0.39,0,0.98,0,0.19,0,0.98,0,0,2.56,0.39,1.38,0,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.231,0,0.745,0.308,0.025,6.652,76,632,1 +1.18,0.39,0.59,0,0,0.98,0.19,0.19,1.38,0.39,0,0.98,0,0.19,0,0.98,0,0,2.56,0.39,1.38,0,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.232,0,0.749,0.31,0.025,6.652,76,632,1 +1.18,0.39,0.59,0,0,0.98,0.19,0.19,1.38,0.39,0,0.98,0,0.19,0,0.98,0,0,2.56,0.39,1.38,0,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.23,0,0.741,0.306,0.025,6.652,76,632,1 +0,0,0,0,0,0,2.1,0,0,0,0,1.05,0,0,0,0,0,0,4.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.695,15,62,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,2.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.05,0,0,0,0,0,0,0,0,1.05,0,0,0,0,0.169,0,0,0.338,0,4.047,29,85,1 +0.13,0.13,0.13,0,0.55,0.27,0.27,0.13,1.1,0.27,0,0.97,0.27,0,0.13,0,0,0,3.88,0.13,2.77,0,0.13,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.13,0,0,0,0,0,0,0,0,0,0.017,0,1.316,0.177,0,4.947,232,757,1 +0,0,0.46,0,0,0,0,0.15,0,0,0,0.15,0,0,0,0,0,0.46,0.93,0,0,0,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0.15,0,0,0,0.93,0,0,0,0,0,0,0,0,0.071,0.071,0,0.095,0.023,0,62.75,1505,2761,1 +0.09,0,0.27,0,0.36,0.09,0,0.18,0.09,0,0,0.72,0,0.36,0,0,0,0,2,0,3.27,0,0.36,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0.015,0.045,0.03,0.242,0.03,0.03,3.816,69,542,1 +0.13,0.13,0.13,0,0.55,0.27,0.27,0.13,1.11,0.27,0,0.97,0.27,0,0.13,0,0,0,3.91,0.13,2.65,0,0.13,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.13,0,0,0,0,0,0,0,0,0,0.018,0,1.294,0.182,0,4.745,232,726,1 +1.18,0.39,0.59,0,0,0.98,0.19,0.19,1.38,0.39,0,0.98,0,0.19,0,0.98,0,0,2.56,0.39,1.38,0,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.232,0,0.749,0.31,0.025,6.652,76,632,1 +0,0,0,0,0.28,0.86,0,0,0,0,0,0.57,0.28,0,0,0,0.28,0,0.28,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.084,0.126,0,0,0,0,27.479,772,1319,1 +0,0,0.36,0,0.36,0,0,0,0.36,0.36,0,0.36,0,1.09,0,1.81,0,0,3.63,0,1.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.125,0,0.125,0,0,1.287,5,94,1 +0,0.23,0.47,0,1.18,0,0.23,0,0.7,0.7,0,0.47,0.23,0,0,0.23,0.7,0,2.83,0,1.89,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.072,0.108,0,2.438,20,178,1 +2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.277,0,0,3.2,13,48,1 +0,0,0,0,0,0,0,0,0,1.51,0,1.51,0,0,0,0,0,0,7.57,0,1.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.769,15,36,1 +0,0.54,0,0,0,0,1.08,0,0,0.54,0.54,0.54,0,0,0,2.17,0,0.54,3.26,0,1.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0,0,0.334,0,0,1.325,5,53,1 +0.45,0.68,0.68,0,1.92,0,0.56,0.45,0,0.45,0.22,1.81,0,0,0.79,0.22,0.11,1.81,2.38,0,1.36,0,0.11,0.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0,0,0,0.11,0,0,0.019,0.057,0,0.574,0.134,0.019,3.155,94,385,1 +0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0.68,0.68,0,4.76,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.255,0,0,2.818,21,124,1 +0,0,0.55,0,0.22,0.22,0.11,0,0.11,0.22,0,0.33,0.33,0,0,0,0.22,0,0,0,0,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.155,0,0.034,0.12,0,1.961,14,302,1 +0,0,0,0,0,0,0.76,0,0,0,0,0,0.76,0,0,0,0,0,0.76,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.76,0,0,0,0,0,0,0,0,0.274,0,0,11.035,110,309,1 +0.68,0.11,0.11,0,0.45,0.11,0,0.57,0.79,2.73,0.34,0.11,0.22,0,0.45,0.11,0.68,0.45,3.07,0,1.71,0,1.82,1.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0.11,0,0,0,0,0.11,0,0,0,0.067,0.118,0,0.388,0.236,0.016,9.827,164,1592,1 +0,0,0,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,3.77,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.307,16,30,1 +0,0,0,0,1.28,0,1.28,0,0,0,0,0,0,0,0,0.64,0,1.28,1.28,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.085,0.17,0,2.466,18,111,1 +0,0,0,0,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,2.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.392,0,3.333,0,0,2.551,12,74,1 +0.9,0,0,0,0,0,0.9,0,0,0,0,0,0,0,0,0,0.9,0.9,1.81,0,2.72,0,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.546,0,0,2.818,19,62,1 +0.49,0.32,0.46,0,0.05,0.16,0.05,0.24,0.46,0.79,0.27,1.01,0.6,1.23,0,0.21,0.38,0,3.3,0,1.5,0,1.09,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0,0,0,0,0.064,0,0.322,0.626,0.165,6.896,193,3269,1 +0.39,0,0,0,0,0.39,0.79,0,0,0,0,0.79,0,0,0,0,0.39,0,2.37,0,2.76,0,1.18,0.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.061,0,0.612,0.183,0,2.678,13,75,1 +0,0.58,0.58,0,0,0,0,0.58,0.58,7.55,0.58,1.16,0,0,0,0,0.58,0,4.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.192,0,0.192,0,0.096,1.526,10,58,1 +0.17,0.17,0.69,0,0.34,0.17,0,0.86,0.17,0.69,0.34,1.38,0,0,0,0,1.73,0.34,2.07,1.55,3.8,0,0,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0,0,0,0,0,0,0,0,0.194,0,1.718,0.055,0,5.175,63,621,1 +0.51,0,0.77,0,0.25,0.25,0,0,0,0.51,0,1.55,0,0,0,0.77,1.55,0,4.9,0,2.58,0,0.77,0.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.25,0,0,0,0,0,0,0,0,0,0,0.179,0,0.359,0.403,0.134,5.774,56,358,1 +0,0,1.24,0,1.24,0.62,0,0,0,0,0,0,0,0,0,1.24,0.62,0,0.62,0,1.86,0.62,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.62,0,0,0,0,0.107,0,0.321,0.107,0.107,3.846,30,150,1 +0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.45,14.5,42,87,1 +0,0.84,0.84,0,0,0,0.84,0,0,1.68,0.84,0,0,0,0,0.84,0,0,3.36,0,0.84,0,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.519,0,0,5,43,125,1 +0,0,0,0,0,0,0,0.71,0,0,0,0.71,0,0,0,1.43,0,0,4.31,0,1.43,0,0,0.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.15,0,0,0,0,0.265,0,0.132,0,0,2.322,16,72,1 +0.09,0,0.27,0,0.36,0.09,0,0.18,0.09,0,0,0.82,0,0.36,0,0,0,0,2.01,0,3.38,0,0.36,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0.015,0.046,0.03,0.246,0.03,0.03,3.771,69,528,1 +0.11,0.22,0.11,0,0.45,0.45,0,0.11,1.02,1.59,0.11,0.34,0.22,0.11,2.16,0,0.45,0.11,3.53,0,1.25,0,0.45,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0,0,0.45,0,0,0,0.018,0.17,0,0.265,0.132,0,4.215,144,666,1 +0.44,0,0.88,0,0.44,1.32,0.44,0,0,0,0,0,0,0,0,0,0,0.44,1.76,0,2.2,0,2.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.216,0,0,0.433,0.361,0,2.375,16,133,1 +0.1,0.2,1.01,0,0.8,0.8,0.5,0,0.8,0.1,0.3,0.7,0.3,0,1.61,0.1,0,1.11,1.31,0.2,0.7,0,0.6,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0.1,0.1,0,0,0,0.107,0,0.474,0.152,0.015,8.55,669,1351,1 +0.11,0.22,0.11,0,0.45,0.45,0,0.11,1.02,1.59,0.11,0.34,0.22,0.11,2.16,0,0.45,0.11,3.53,0,1.25,0,0.45,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0,0,0.45,0,0,0,0.018,0.17,0,0.265,0.132,0,4.215,144,666,1 +0.42,0.46,0.38,0,0.19,0.11,0,0.07,0.58,0.62,0.34,0.77,0.5,1.32,0.03,0.23,0.54,0,3.06,0,1.51,0,0.38,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0,0.076,0,0.438,0.585,0.127,6.134,153,2184,1 +0,0,0.9,0,0.45,0,0,0,0,0,0,0.9,0.45,0,0,0.45,0.9,0,4.52,0,0.9,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.35,0,0,0,0,0,0,2.115,0.07,0,2.651,14,114,1 +0.33,0,0.67,0,0.22,0,0,0,0.44,0.11,0,0.33,0,0,0,0.56,0,0,1.79,0,1.12,0,0,0.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0,0,0.11,0,0,0,0,0,0,0.157,0,0.392,0.176,0.078,2.606,75,391,1 +0,0,0,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,3.77,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.307,16,30,1 +0,0,0,0,0,1.27,0,0.63,0,0,0,0,0,0,0,0,0,0,3.82,0,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.096,0.109,0,1.916,12,69,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.37,0,0,0,2.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.218,0,0,1.827,11,53,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.04,0,0,8.84,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.125,0,1.126,7.054,37,261,1 +0,0.47,0.47,0,1.41,0,0.47,0,0,0.47,0.47,0.94,0,0,0,0.94,0,0,1.88,0,0.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.218,0,0,1.102,6,54,1 +0,0,0,0,0,0,0,0,0,1.47,0,1.47,0,0,0,0,0,0,7.35,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.769,15,36,1 +0.19,0.19,0.29,0,1.07,0.19,0.19,0.97,0.87,0.58,0.09,1.07,0.19,0.87,0.09,0,0,1.17,3.71,0.68,1.75,0,0.09,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0.09,0,0,0,0,0,0,0,0,0,0,0.194,0.404,0.224,0.029,4.285,49,870,1 +0,0,0,0,0.82,0,0,1.65,0,0.82,0,0,0,0,0,0,0.82,0,1.65,0,2.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.113,0,0.113,0,0,1.25,4,50,1 +0.79,0.19,0.09,0,0,0,0,0.09,0.29,0.09,0.29,0.59,0.69,0,0,0.09,0,0.59,4.09,0,0.89,0,0.39,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.267,0,0.19,0.247,0,2.324,19,365,1 +0,0,0,0,0,0.68,1.37,0.68,0,0,0,0.68,0,0,0,0,0,0.34,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0,0.34,0,0,0,0,0,0,0,0.103,0,0.206,0.309,0,4.029,69,270,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0.85,0,0,0,0,0.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.126,0,0,0,0,3.925,51,106,1 +0,0,1.47,0,0,1.1,0.36,0,0,0,0.36,0.36,0,0,0,0.36,0,0,2.21,1.1,2.95,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.118,0,0.414,0.888,0.177,3,33,177,1 +0,0,0.31,0,0.62,0.62,0.62,0.31,0,1.88,0.62,1.25,0,0,0.31,1.56,0.31,0,3.76,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.77,0,0,2.481,11,134,1 +0.1,0.1,0.71,0,0.61,0.3,0.4,0.1,1.42,0.81,0.1,0.5,0,0,0,0.1,0,1.01,2.34,0.5,2.03,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0.256,0.928,0.384,0.032,3.179,56,1043,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.55,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,13,1 +0.52,0.42,0.35,0,0.14,0.03,0.03,0.1,0.56,0.8,0.28,0.7,0.56,1.19,0.03,0.24,0.45,0,3.18,0,1.47,0,0.38,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0,0,0,0,0.075,0,0.452,0.528,0.116,6.152,260,2184,1 +0,0,0,0,0,0,0,0,0,1.49,0,1.49,0,0,0,0,0,0,7.46,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.692,15,35,1 +0,0.35,0.71,0,0.35,0,0.17,0,0,0.53,0.17,0,0.17,0,0.35,0.17,0,1.07,0.17,0.17,0.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.027,0,0.167,0.027,0.055,7.527,149,956,1 +0,0.64,0.64,0,0.32,0,0,0,0,0,0,0.64,0,0,0,0.32,0,1.29,1.62,0,0.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.053,0,1.065,0,0,3.932,61,291,1 +0.56,0,0.84,0,0.28,0.84,0,0.84,0.28,0.28,0.28,1.41,0,0,0,0,1.41,0,0.84,1.98,2.83,0,0.28,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.129,0,1.294,0.043,0,3.979,47,386,1 +0,0.64,1.29,0,0.32,0,0,0,0,0,0,0.64,0,0,0,0.32,0,1.29,2.59,0,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0.053,0,0.531,0,0,4.337,121,334,1 +0.34,0.05,0.58,0,0.63,0.17,0,0,0.75,0.23,0.34,1.27,0.34,0,0,0.58,0.05,0.17,3.01,2.61,1.5,0,0.17,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.201,0,0.127,0.182,0.027,4.225,131,1107,1 +0,0,0.63,0,0,1.27,1.27,0.63,0,0,0,0.63,0,0,0,0,0.63,0,4.45,3.18,3.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.983,0.089,0,3.488,59,157,1 +0.44,0,0.88,0,0.44,1.32,0.44,0,0,0,0,0,0,0,0,0,0,0.44,1.76,0,2.2,0,2.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.215,0,0,0.43,0.358,0,2.403,16,137,1 +1.26,0.42,1.26,0,0,0,0,0,0,0,0,0.42,0,0,0,0.42,0,0.84,3.79,0,1.26,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0.067,0,0.472,0.472,0,3,19,108,1 +0,0,0,0,0,0,2.94,1.47,1.47,1.47,1.47,0,0,0,0,0,2.94,0,0,1.47,4.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.141,0,0.425,0.141,0,140,279,280,1 +0,0.57,0,0,0.57,0,0.57,0,0,0.57,0,0.57,0,0,0,0,0,0.57,4.57,0,1.14,0,0,0,0.57,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.57,0,0,0,0.072,0,0,0.072,0.289,0.144,7.512,114,293,1 +0.89,0,0.89,0,0,0,1.78,0,0,0,0.89,1.78,0,0,0,0,0,0,6.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.89,0,0,0,0,0,0,1.344,0,0,5.25,16,84,1 +0,0,0,0,0,0,4.08,0,0,0,0,0,0,0,0,0,0,0,2.04,0,0,0,0,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.257,0,0,4.181,26,46,1 +0,0,0,0,0,0,2.94,1.47,1.47,1.47,1.47,0,0,0,0,0,1.47,0,0,1.47,4.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0.142,0,0.427,0.142,0,92.333,274,277,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.52,0,0,2.17,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.149,0,0,9.1,33,91,1 +0.13,0.26,0.52,0,0.26,0,0.13,0,0,0.39,0.13,0.13,0.13,0,0.26,0.13,0,0.78,0.39,0.13,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.366,0,0.04,7.138,149,1235,1 +0,0,0,0,0,0,1.94,0,0,0,0,0,0,0,0,2.91,3.88,0,1.94,0,1.94,0,0,1.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0.97,0,0,0,0,0.13,0,0.52,0.13,0,6.266,26,94,1 +0,0.43,0,0,0.43,0,0.86,0,1.3,0.86,0,1.3,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0.063,0.126,0,0,0.063,0,4.297,30,159,1 +0,0.44,0.44,0,0,0,0,0,0,0,0,0.88,1.32,0,0,0,0,0.88,3.96,0,3.08,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.074,0,0.669,0.297,0,3.666,82,165,1 +0,0.65,0.98,0,0.32,0,0,0,0,0,0,0.65,0,0,0,0.32,0,1.3,2.61,0,1.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0.053,0,0.477,0,0,4.273,121,312,1 +0,0,0,0,0.89,0,0,0,0,0,0,0.89,0,0,0,0,0,0,1.78,0,2.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.121,0,1.336,0,0,6.611,51,238,1 +0.33,0,0.33,0,0,0,0.66,0,0,0,0,1.32,0,0,0,0.66,0.99,0,2.64,0,0.99,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.66,0,0,0,0,0,0,0,0,0,0,0.116,0,0.406,0.464,0.348,6.932,43,513,1 +0,0,0.94,0,0,0,0.94,0,0,1.88,0,1.88,0,0,0,0,0,0,4.71,0,0.94,0,0,0.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.163,1.305,0,2.571,20,36,1 +0.73,0,0.36,0,0.36,0.36,1.1,0,0,0,0,0.36,0,0,0,0.36,1.84,0.73,2.58,0,1.1,0,0.36,1.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.186,0,0.435,0.062,0,4.411,190,300,1 +0,0.66,0.66,0,1.33,0.33,0.33,0,0.33,0,0.33,0.33,0,0,0,0.33,0.66,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.66,0,0,0,0,0.266,0,0.372,0.159,0,1.894,14,161,1 +0,0.3,0.75,0,0.3,0,0.15,0,0,0.45,0.15,0,0.15,0,0.15,0.15,0,0.75,0.15,0.15,0.6,0,0,0,0,0,0,0.15,0,0,0,0,0.15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0,0.352,0.02,0.041,5.938,149,1057,1 +0.57,0,1.72,0,0,0,0,0.57,0,0,0,0.57,1.72,0,0,0,0.57,0,4.59,0,0,0,0,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.099,0,0.396,0.099,0,2.333,11,70,1 +0,0,0,0,0,0,1.04,0,0,0,0,1.04,0,0,0,0,1.04,0,3.66,0,2.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.062,0.248,0,0.621,0.062,0.062,3.902,59,160,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,1 +0,0.28,0.84,0,0.28,0,0.14,0,0,0.42,0.14,0,0.14,0,0.14,0.14,0,0.7,0.42,0.14,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0,0,0,0,0,0,0,0,0,0,0,0.583,0,0.067,5.415,132,991,1 +0.51,0.25,0.49,0,0.04,0.23,0.04,0.32,0.38,0.81,0.21,0.9,0.79,1.24,0.02,0.21,0.36,0.04,3.49,0,1.54,0,1.09,0.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0,0.1,0,0,0,0,0.058,0,0.308,0.672,0.128,5.459,193,3243,1 +0.7,0,0.35,0,0.7,0.35,0.7,0,0.7,0,0,0,0.7,0,0,0,1.05,0,3.16,0,1.4,0,0,1.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.173,0,0.23,0,0,4.596,60,262,1 +0.3,0,1.23,0,1.54,0.92,0.61,0.92,0.3,0.3,0,0.3,0,0,0,0,0.3,0,2.47,0.92,0.92,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3,0,0,0,0,0.045,0,0.728,0.182,0,4.339,60,243,1 +0,0,0.84,0,0.56,0,0,0.56,0,0,0,0,0,0,0,0.28,0,0,1.13,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0,0,0,0,0,0,0,0.278,0,0.046,0,0,1.661,6,118,1 +0,0.7,1.05,0,0.35,0,0,0,0,0,0,0.7,0,0,0,0.35,0,1.4,2.46,0,1.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,0.056,0,0.897,0,0,4.43,121,350,1 +0.56,0,0.32,0,1.13,0.08,0,0,0.16,0,0.08,0.72,0.56,0,0,0.24,1.13,0,4.6,0,2.01,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0.121,0,0.337,0.054,0,3.502,79,606,1 +0,0.26,0.26,0,0.39,0,0.13,0,0,0.26,0,0.26,0.26,0,0.13,0.26,0,0.13,3.14,0.26,1.44,7.33,0.13,0.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.13,0,0,0,0,0,0,0.022,0.022,0.889,12.454,107,1096,1 +0,0,1.29,0,0,1.29,0,0,0,0,0,0,0,0,0,2.59,0,0,1.29,0,1.29,1.29,2.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.439,0,1.098,0,0.439,3.571,36,125,1 +0.09,0.38,0.57,0,0.48,0.38,0,0,0,0.38,0,1.53,0.19,0,0.09,0,0.09,0,3.55,0,1.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.038,0.038,0,0.246,0.894,0.012,4,70,640,1 +0.34,0,1.7,0,1.02,0,0,0,0.68,1.02,0,0,0,0,0,0,0,0,0.34,1.02,0.68,0,0,0,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.902,0.106,0,664,1327,1328,1 +0,0.8,0,0,0.8,0,0.8,0,0,0.8,0,0,0,0,0,0.8,0.8,0.8,1.61,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.134,0,0.269,0,0,3.115,19,81,1 +0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,6.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.111,0,0,1.409,10,31,1 +0,0,0.28,0,0.16,0.18,0,0,0,0,0.02,0.09,0.11,0,0,0,0,0,0.14,0,0.02,0,0,0.04,0,0,0,0,0,0,0,0,0,0.07,0,0,0,0,0.02,0,0,0,0,0,0,0,0,0,0,0.116,0.021,0.03,0,0,16.644,154,9088,1 +0.82,0,0,0,0.41,0,0.82,0,0,0,0,0.82,0,0,0,0,0.41,0,2.46,0,1.23,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0.171,0,0.513,0.114,0,2.953,44,189,1 +0,0.42,0,0,0.42,0.42,0,0,0,0,0,0,0,0,0,0.42,0,0.42,4.2,0,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0.08,0,0.644,0.161,0,2.522,14,111,1 +0.1,0.1,0.7,0,0.6,0.2,0.4,0.1,1.41,0.8,0.1,0.5,0,0,0,0.1,0,1.11,2.22,0.4,1.92,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0.26,0.991,0.39,0.032,3.173,56,1044,1 +0,0,0.28,0,0.16,0.18,0,0,0,0,0.02,0.09,0.11,0,0,0,0,0,0.14,0,0.02,0,0,0.04,0,0,0,0,0,0,0,0,0,0.07,0,0,0,0,0.02,0,0,0,0,0,0,0,0,0,0,0.116,0.021,0.034,0,0,16.587,154,9090,1 +0.87,0.17,0.52,0,0,0.32,0,0.04,0.29,0.42,0.39,1.37,0.87,1.69,0,0.32,0.54,0.22,3.47,0.29,1.32,0,0.34,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0.07,0,0.04,0,0.016,0.058,0,0.64,0.166,0.183,3.697,117,3498,1 +0.43,0,0,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0,0.43,1.29,0,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0.122,0,0.061,0,0,1.456,13,67,1 +0,0.81,0.61,0,0,1.02,0,0.2,0.4,0.61,0,2.25,0,0,0,0,0.61,0,2.86,0,1.02,0,0,0.2,0,0,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.095,0,0.158,0.063,0,2,31,156,1 +2.32,0,0.77,0,1.55,0,0,0,0,0,0,0.77,0,0,0,0.77,0,0,2.32,0,0.77,0,0,0.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.77,0,0.134,0,0.671,0,0,129.5,515,518,1 +0.08,0.08,0.48,0,0.16,0.24,0,0,0.24,0.08,0,0.56,0,0,0,0,0,0.08,0.88,0.08,0.48,4.57,0.4,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.233,0.202,0.326,8.763,102,1481,1 +0.07,0,0.55,0,0.63,0.23,0.07,0.23,0,0.23,0.07,0.55,0.63,0,0,0.47,0.31,0.31,2.76,0,1.49,0,0.55,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.012,0,1.132,0.077,0.012,3.382,77,707,1 +0.52,0.42,0.35,0,0.14,0.03,0.03,0.1,0.56,0.8,0.28,0.7,0.56,1.19,0.03,0.24,0.45,0,3.19,0,1.43,0,0.38,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0,0,0,0,0.077,0,0.453,0.543,0.119,6.305,286,2207,1 +0.4,0.18,0.32,0,0.25,0.18,0.03,1.01,0.4,0.4,0.1,0.72,0.65,0.36,0.25,0.54,0.36,0.36,3.05,0.14,1.41,0,0.29,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0,0.07,0,0,0,0.012,0.042,0.073,0.337,0.141,0,3.305,181,1613,1 +0,0,2.22,0,0,0,2.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.22,0,0,0,0,0,0,0,0,0,0,0,0,0.439,0,3,11,24,1 +0,0,0,0,1.91,0,0.31,0.31,0,0.31,0.63,1.59,0.63,0,0.63,0,0.63,2.23,3.19,0,1.59,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.63,0,0,0,0,0,0,0,0,0,0.092,0,0.323,0,0,2.15,18,86,1 +0,0.75,0.25,0,0,0,0,0.5,0,0.5,0.25,0.75,0,0,0,1.5,0,1.5,4.26,0,4.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.045,0.18,0,0,0,0,1.023,3,86,1 +0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,2.23,0,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.109,0,0,2.263,24,86,1 +0,0,1.29,0,0,1.29,0,0,0,0,0,0,0,0,0,2.59,0,0,1.29,0,1.29,1.29,2.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.439,0,1.098,0,0.439,3.571,36,125,1 +0,0,0,0,0,0,0,0,0,0,0,0,2.58,0,0,0,0,0,2.58,0,1.72,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.142,0,0,3.851,0,0,13.266,70,199,1 +0,0,0,0,0.59,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.18,0,0,0,0,0,0,0,0,0.59,0,0,0,0,0.052,0,0.052,0.105,0,2.886,27,127,1 +0.1,0.2,1.01,0,0.8,0.8,0.5,0,0.8,0.1,0.3,0.7,0.3,0,1.61,0.1,0,1.11,1.31,0.2,0.7,0,0.6,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0.1,0.1,0,0,0,0.11,0,0.49,0.158,0.015,8.55,669,1351,1 +0,0.33,0.33,0,1.65,0.33,0.66,0,0,0.16,0.16,0.99,0,0,0,0.82,0.33,0.16,2.81,0,0.99,0,0.49,0.33,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.024,0.074,0.248,0.049,0.049,6.161,350,727,1 +0.4,0.26,0.93,0,0,0.8,0,0.8,0.8,1.2,0,0.8,0.4,0,1.46,0,0.26,2.26,2.4,0.53,1.06,0,0.8,0.93,0,0,0,0,0,0,0,0,0,0,0.13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.593,0.217,0.039,11.463,525,1112,1 +0.1,0.2,1.01,0,0.8,0.8,0.5,0,0.8,0.1,0.3,0.7,0.3,0,1.61,0.1,0,1.11,1.31,0.2,0.7,0,0.6,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0.1,0.1,0,0,0,0.11,0,0.49,0.158,0.015,8.55,669,1351,1 +0.15,0.21,0.58,0,0.15,0.15,0.05,0.1,0,0.42,0.1,0.95,0.42,0.05,0.05,0,0,0.36,3.16,0,1.58,0,0.52,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.027,0.184,0,0.406,0.388,0.036,4.829,116,1589,1 +0.1,0.1,0.71,0,0.51,0.2,0.2,0.1,1.43,0.82,0.1,0.51,0,0,0,0.1,0,1.02,2.15,0.41,1.84,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0.264,0.974,0.396,0.033,3.163,56,1028,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.118,17.481,49,472,1 +0,0,0.71,0,0.71,0,0,0,0,0,0,0,0,0,0,0.71,0,1.43,2.15,0,2.15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.256,0.128,0,0,1.779,11,105,1 +0,0.81,1.47,0,1.3,0,0.98,0.98,0.32,1.79,0,0.81,0,0,0.32,0.49,0.65,0,0.98,0.16,1.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0.247,0,0.179,0.674,0,2.922,113,640,1 +0.1,0.1,0.7,0,0.6,0.2,0.4,0.1,1.41,0.8,0.1,0.6,0,0,0,0.1,0,1.01,2.22,0.4,2.02,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0.265,0.977,0.397,0.033,3.16,56,1046,1 +0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.166,19,49,1 +0,0,0,0,0.84,1.27,0.42,0,0,0.42,0.42,0.42,0,0,0,0,0,0.42,2.11,0,1.27,0,3.38,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0,0,0,0,0.42,0,0,0,0.097,0.097,1.171,0.244,0.39,0,26.405,363,977,1 +0.11,0.11,0.47,0,0,0.11,0.23,0,0.35,0.35,0.11,0.94,0.11,0,0,0.11,0,0,3.76,0,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.23,0,0,0,0,0.233,0,0.287,0.107,0.035,3.439,64,509,1 +0,0.37,0,0,0,0.74,1.12,0,0,0,0.74,1.49,0.74,0,0,0.37,0,1.49,4.49,0,1.87,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.223,0.223,0,2.021,10,93,1 +0.24,0,0.99,0,0.99,0,0.49,0.99,0,0.24,0,0.49,0,0,0,0.49,0.99,0.74,1.98,0.74,0.99,0,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.179,0,0.847,0.077,0,3.219,114,499,1 +0.4,0.14,0.32,0,0.25,0.18,0.03,1.01,0.4,0.4,0.1,0.72,0.65,0.36,0.25,0.54,0.36,0.32,3.05,0.14,1.45,0,0.29,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0,0.07,0,0,0,0.012,0.042,0.073,0.343,0.141,0,3.328,181,1621,1 +0.95,0,0.47,0.95,0,0.95,0,0,0.47,0,0.47,0,0,0,1.42,0.47,0.47,2.38,0,0,0.95,0,0,0.47,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0,0,0.791,0,0.169,0.452,0.113,9.64,259,723,1 +0,0,0,0,0,0.63,0,1.58,0.31,0.63,0,0.95,0,0,0,0,0,0,1.26,0,0.63,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.103,0,0.206,0.206,0,4.171,76,292,1 +0,0,0,0,0.47,0,1.41,0,0,0,0.47,0.47,0,0,0,0.47,0,1.88,1.41,0.47,1.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.145,0.145,0,4.041,54,194,1 +0,0.81,1.47,0,1.3,0,0.98,0.98,0.32,1.79,0,0.81,0,0,0.32,0.49,0.65,0,0.98,0.16,1.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0.246,0,0.179,0.673,0,2.922,113,640,1 +0,0,0,0,0.47,0,1.41,0,0,0,0.47,0.47,0,0,0,0.47,0,1.88,1.41,0.47,1.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.144,0.288,0,3.745,54,191,1 +0,0,0,0,0,0,1.96,0,0,0,0,0,0,0,0,0,0,0,1.96,0,1.96,0,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.334,0,0,3.214,22,45,1 +0,0,0.47,0,0.7,0,0.7,0.23,0,0,0,0.47,0,0,0,1.65,0.7,0.23,2.12,0,1.65,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0,0.23,0,0,0,0,0,0,0,0,0.23,0,0,0,0,0.037,0.037,1.362,0.037,0,5.236,111,576,1 +0,0,0,0,0.38,0.38,0.38,0.38,0,0,0.38,0,0,0,0,0.38,0,0,3.5,0,1.94,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.122,0,0,2.08,12,104,1 +0.33,0,1.65,0,0.99,0,0.33,0,0.66,1.32,0,0,0,0,0,0,0,0,0.33,0.99,0.66,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.859,0.101,0,337.25,1146,1349,1 +0.32,0,1.64,0,0.98,0,0.32,0,0.65,1.31,0,0,0,0,0,0,0,0,0.32,0.98,0.65,0,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.858,0.101,0,337.25,1146,1349,1 +0,0.2,0.61,0,1.03,0,0.41,0.2,0,0.2,0,0.41,0.2,0,2.06,0.2,0,2.47,2.06,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0,0,0.2,0,0,0,0,0,0,0.238,0.034,0,3.632,32,247,1 +0.1,0.2,1.01,0,0.8,0.8,0.5,0,0.8,0.1,0.3,0.7,0.3,0,1.61,0.1,0,1.11,1.31,0.2,0.7,0,0.6,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0.1,0.1,0,0,0,0.11,0,0.49,0.158,0.015,8.55,669,1351,1 +0.16,0.24,1.24,0,0.41,0.58,0.49,0.33,0.66,0.66,0.24,1.24,0.16,0,0.66,0.82,0.16,1.57,2.32,0.16,1.16,0,0.91,0.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0.08,0,0,0,0,0.132,0,0.25,0.224,0.013,5.872,581,1339,1 +0.16,0.24,1.24,0,0.41,0.58,0.49,0.33,0.66,0.66,0.24,1.24,0.16,0,0.66,0.82,0.16,1.57,2.32,0.16,1.16,0,0.91,0.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0.08,0,0,0,0,0.132,0,0.25,0.224,0.026,5.872,581,1339,1 +0.93,0,0.93,0,0.93,0.93,0,0.93,0,0,0,0,0.93,0,0,0,0,0,3.73,0,2.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.343,0,0.343,0.171,0,2.235,15,38,1 +0,0,1.63,0,0,0.65,0,0,0,0,0.32,0.32,0,0,0,0.32,0,0,1.96,0.98,2.94,0,1.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0.276,0.83,0.166,3.8,33,228,1 +0,0,0,0,0.39,0.39,0.39,0.39,0,0,0.39,0,0,0,0,0.39,0,0,3.52,0,1.96,0,0,0.39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.124,0,0,1.94,12,97,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.055,3,38,1 +0,0.36,0,0,0,0.36,1.47,0,0,0.36,0.36,0.73,0,0,0,0.36,0,1.1,2.2,0,0.73,0,0.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.183,0,0.367,0.061,0.122,4,36,264,1 +0,0,0.24,0,0.72,0,0,0,0.48,0,0,0.48,0,0,0,0,0,0.96,0.96,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.24,0,0,0,0,0,0,0.328,0,0,1.74,48,141,1 +0.17,0,0.17,0.17,1.44,0.34,0.05,0.05,0.05,0.05,0.05,0.51,0.28,0.05,0,0,0.69,0.05,4.14,0.23,1.09,0.17,0.74,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.01,0.05,0,0.01,0.161,0.03,2.051,51,521,1 +0.98,0,0.32,0,0.98,0,0,0,0,0,0,0,0.98,0,0,0.65,0,0,3.6,0,3.93,0,0.32,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.529,0.411,0,3.964,132,222,1 +0.07,0.64,0.64,0,0.35,0.71,0.57,0.14,1.14,0.5,0.07,0.35,0.21,0,1,0.14,0.07,1.14,1.5,0,1.14,0,0.35,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0,0,0,0,0,0.07,0,0,0,0.08,0,0.309,0.103,0,4.923,117,1295,1 +0,0,0.71,0,0.89,0.17,0.17,0,0,1.24,0.17,0,0,0,0.89,0,0.17,0.35,1.24,0.17,1.42,6.41,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.278,0.216,0.836,8.523,58,895,1 +0,0,0.38,0,1.15,0.38,0,0.19,0.19,0,0,1.72,0,0,0,0,0.19,0,4.03,0,2.3,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0.031,0,0.349,0,0,5.886,105,312,1 +0,0,0.72,0,2.91,0,0.72,0,0,0,0,0,0,0,0,1.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0.373,0,0.124,0.124,0,1.781,12,114,1 +0,0,0.22,0,0.67,0,0,0,0.44,0,0,0.44,0,0,0,0,0,0.89,0.89,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.22,0,0,0,0,0,0,0.305,0,0,1.895,48,163,1 +0,0,0,0,0,0,0,0,0,1.35,0,0,0,0,0,1.35,0,0,1.35,0,0,0,2.7,0,1.35,1.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.836,0,0,3.285,19,92,1 +0,0.53,0.53,0,0.8,0,0.26,0.26,0,0.26,0,0.53,0.53,0.53,0,0,0,0,2.15,0.26,0.8,0,0,0,0.26,0.26,0,0,0,0,0,0,0.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.04,0,2.779,21,164,1 +0,0,0.89,0,1.79,0.44,0,0,0,0,0,0.44,0,0,0,1.34,0,0,2.24,0,4.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.075,0.075,0,0,0,1.968,11,124,1 +0,0,0.34,0,0,0,0.34,0,0,0.34,0,0.34,0,0,0,0.68,0.34,0.34,0.68,0.34,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0,0,0.34,0,0,0.393,0,0.224,0.056,0,2.257,17,158,1 +0,0,0.52,0,1.58,0,1.05,0,0,1.05,0.52,1.58,0,0,0,0.52,0,0,1.05,0,0.52,0,0,0,0.52,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.25,0,0,0,0,2.82,23,110,1 +0,0,0,0,0.43,0.43,0.43,0,0,0.43,0,0.43,0,0,0,0,0,0,0.87,0,0,9.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.065,0,1.047,9.269,89,482,1 +0,0,0.67,0,0.27,0.27,0.13,0,0.13,0.27,0,0.4,0.4,0,0,0,0.27,0,0,0,0,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.109,0,0.021,0,0,1.728,12,204,1 +0.24,0,0.24,0,0,0.48,0.24,0,0,0.48,0.24,0.72,1.2,0,0,1.68,0.72,0,1.92,0,1.68,0,0.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.677,0.828,0.15,4.333,52,429,1 +0,0.18,1.1,0,0.73,0.73,0.73,0.09,0.83,0.27,0.27,0.64,0.27,0,1.47,0.09,0,1.2,1.38,0.18,0.64,0,0.55,0.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.18,0,0.09,0.09,0,0,0,0.094,0,0.432,0.135,0.013,8.445,696,1478,1 +0,0,0,0,0,0,0,0,0,0,0,6.25,0,0,0,0,0,0,12.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,1 +0,0,0.34,0,0,0,0.34,0,0,0.34,0,0.34,0,0,0,0.68,0.34,0.34,0.68,0.34,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0,0,0.34,0,0,0.393,0,0.225,0.056,0,2.257,17,158,1 +0.68,0.17,0.51,0,0.34,0,0.51,0,0,0.51,0,0.51,0.51,0.17,0.17,0.34,0.17,1.02,4.96,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0.063,0.095,0,0.126,0,0,2.285,40,224,1 +0,1.15,0.86,0,0.57,0.28,0.57,0,0,0.28,0,0.57,0,0,0,1.72,0,0.86,4.32,0,2.01,0,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.142,0,0.19,0,3.423,6.584,56,349,1 +0,0,0,0,0,0,7.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.291,0,0,2.444,8,44,1 +0,0,0.75,0,0.75,0,0.5,0.25,0,1.01,0,0.25,1.51,0,0.75,0,0,1.51,2.02,0,1.51,0,0.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0,0,0,0,0,0,0,0.078,0,0.432,0.432,0,2.375,19,247,1 +0,0,0.32,0,0.65,0.32,0.32,0.32,0,0,0.65,1.3,0,0,0,0.98,0,0.65,2.61,2.61,3.26,0,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.051,0,0.103,0,0.103,5.85,137,234,1 +0,0.67,0.67,0,0.5,0,0.16,0.16,0,0,0,0.33,0.67,0.67,0.5,0,0,0,2.52,0.5,1.51,0,0,0.16,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.079,0.105,0.052,2,32,260,1 +0,0.66,0.66,0,0.49,0,0.16,0.16,0,0,0,0.33,0.66,0.49,0.66,0,0,0,2.47,0.49,1.48,0,0,0.16,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0.076,0.101,0.05,2.03,32,264,1 +0,0.69,0.69,0,0.51,0,0.17,0.17,0,0,0,0.34,0.69,0.69,0.69,0,0,0,2.59,0.51,1.55,0,0,0.17,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.079,0.106,0.053,2,32,260,1 +0,0,1.47,0,0,1.1,0.36,0,0,0,0.36,0.36,0,0,0,0.36,0,0,2.21,1.1,2.95,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.124,0,0.435,0.932,0.186,2.932,33,173,1 +0.46,0.33,0.2,0,0.13,0.53,0.06,0.2,0,1.13,0.33,0.66,0.93,0,0.2,0,0,0,3.6,0,1.13,0,0.13,0.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.012,0.038,0,0.41,0.192,0.115,4.754,268,813,1 +0,0,0.56,0,0,0,0,0,0,1.12,0,0,0,0,0,0,0,0,1.69,0,0.56,2.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.493,0.197,0.394,0,0.394,3.537,22,237,1 +0,0.67,0.67,0,0.5,0,0.16,0.16,0,0,0,0.33,0.67,0.67,0.5,0,0,0,2.37,0.5,1.52,0,0,0.16,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0.107,0.053,2.015,32,258,1 +0,0,0,0,0.76,0.38,0.38,0.38,0,0,0.38,0,0,0,0,0.38,0,0,3.46,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,0,0,0,0,0,0,0.117,0,0,2.061,12,101,1 +0,0,0,0,0.93,0,0,0,0,0.93,0,0,0,0,0,0,0,0,2.8,0,2.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11.066,73,166,1 +0,0,0,0,3.69,0.56,0,0.56,0.56,0.56,0,0,0,0,0,0,3.4,0,0.85,1.13,0.56,0,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.092,0,0.371,0.046,0,14.58,97,452,1 +0,0,0,0,0.94,0,0,0,0,0.94,0,0,0,0,0,0,0,0,2.83,0,2.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10.533,65,158,1 +0.26,0.08,0.26,0,0.53,0.08,0.08,0.08,0.97,0.62,0.08,1.15,0.08,0.7,0.17,0.35,0.08,0,4.16,0.26,2.21,0,0.17,1.5,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0.08,0,0,0,0,0,0,0,0,0,0,0,0.044,0,0.339,0.162,0.014,4.137,74,753,1 +0,0.47,0.47,0,1.41,0,0.47,0,0,0.47,0.47,0.94,0,0,0,0.94,0,0,1.88,0,0.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.224,0,0,1.102,6,54,1 +0,0.89,0,0,0.89,0,0,0,0,0,0,0,0.89,0,0,0.89,0,0,6.25,2.67,1.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.89,0,0,0,0,0.89,0,0,0,0,0,0,1.129,0.483,0,1.826,10,42,1 +0,0,0.18,0,0.55,0.37,0.18,0.18,0,0.18,0,0.18,0,0,0,0,0,0,0.74,0,0.37,0,0.18,0,0,0,0,0,0,0,0,0,0.55,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0.081,0,0,0.027,1.625,2.326,11,363,1 +0.17,0,0.17,0,1.45,0.34,0.05,0.05,0.05,0.05,0.05,0.52,0.29,0.05,0,0,0.69,0.05,4.24,0.23,1.04,0,0.75,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.01,0.051,0,0.02,0.163,0,1.796,12,460,1 +0,0,0,5.03,0,0,0,0,0,0,0,0,0,0,0,1.16,0,0,0.77,0,0,7.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.431,0,0,0.215,0,0.539,7.552,43,506,1 +0,0,0.44,0,1.32,0,0.44,0,0,1.32,0,0,0,0,0,0,0.44,0,4.42,0,3.09,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.301,0,0.301,0,0,2.787,19,131,1 +0.49,0,0.74,0,0.24,0.24,0.24,0.49,0,0,0.49,2.24,0,0,0,0.49,0.99,0.24,3.99,0,1.99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.035,0,0.315,0.035,0,4.071,60,228,1 +0,0,0,0,0.52,0,0,0,0,0,0,0,0,0.52,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.52,0,0,0,0,0,0,0,0,0,0.52,0,0,1.56,0,0,0,0.077,0,0.077,0,0,1.388,11,75,1 +0,0,0,0,0,1.29,0,0.64,0,0,0,0,0,0,0,0,0,0,3.87,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.179,0.117,0,1.8,12,63,1 +0.42,0,0.42,0,2.53,0.42,0.42,0,0,0.84,0.42,0.84,0,0,0,1.68,0,0,2.95,0,2.1,0,2.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.291,0,0.072,1.457,0.072,2.632,12,179,1 +0,0,0,0,3.98,0.44,0,0.44,0,0.88,0,0,0,0,0,0.88,0,0,0.88,0.44,1.32,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.257,0,0.064,0.128,0,2.215,23,113,1 +0,0,0,0,0.49,0,0.98,0,0.49,0,0,0,0,0,0,0,0,0,1.47,0,2.46,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0,0,0,0.466,0,0,0,0,2.373,12,197,1 +0.09,0.19,0.98,0,0.78,0.78,0.49,0,0.78,0.19,0.29,0.68,0.29,0,1.57,0.09,0,1.08,1.28,0.19,0.68,0,0.59,0.09,0.09,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0.09,0.09,0,0,0,0.102,0,0.393,0.145,0.014,8.323,669,1415,1 +0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.496,0,0,0,0.248,1.985,3.15,12,63,1 +0.17,0,0.17,0,1.47,0.35,0,0.05,0.05,0.05,0.05,0.52,0.29,0.05,0,0,0.7,0,4.17,0.23,1.11,0,0.76,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.01,0.051,0,0.01,0.165,0,1.79,12,453,1 +0,0,0,0,0,0,0,0,0,0,0,6.06,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4,14,24,1 +0.09,0,0.27,0,0.36,0.09,0,0.18,0.09,0,0,0.81,0,0.36,0,0,0,0,1.99,0,3.35,0,0.36,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0.015,0.047,0.031,0.253,0.031,0.031,3.771,69,528,1 +0,0,0.55,0,0.22,0.22,0.11,0,0.11,0.22,0,0.33,0.33,0,0,0,0.22,0,0,0,0,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0.035,0.124,0,1.98,14,305,1 +0,0,0,0,0.64,0,0.64,0,0,0,0,0.64,0.64,0,0,0,0,0,3.89,1.29,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0.64,0,0,0,0,0.115,0,0.921,0.345,0,1.833,11,55,1 +0,0.95,0.95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0.47,1.9,0,0,0.47,0,0,0,0,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.066,0.2,0,0.267,0,0,4.18,45,464,1 +0,0,0.54,0,0.21,0.21,0.1,0,0.1,0.21,0,0.21,0.32,0,0,0,0.21,0,0,0,0,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.152,0,0.033,0.118,0,1.987,14,306,1 +0.09,0,0.27,0,0.36,0.09,0,0.18,0.09,0,0,0.72,0,0.36,0,0,0,0,2,0,3.27,0,0.36,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0.015,0.047,0.031,0.252,0.031,0.031,3.816,69,542,1 +0.09,0,0.27,0,0.36,0.09,0,0.18,0.09,0,0,0.72,0,0.36,0,0,0,0,2,0,3.27,0,0.36,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0.015,0.047,0.031,0.252,0.031,0.031,3.816,69,542,1 +0,0.54,0,0,0,0,1.08,0,0,0.54,0.54,0.54,0,0,0,2.17,0,0.54,3.26,0,1.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0,0,0.347,0,0,1.325,5,53,1 +0.32,0,0.32,0,0.98,0.32,0.65,0,0,0.32,0,0.98,0.32,0,0,0,0.65,0,2.61,0,2.28,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.288,0.173,0,3.065,28,141,1 +1.18,0.39,0.59,0,0,0.98,0.19,0.19,1.38,0.39,0,0.98,0,0.19,0,0.98,0,0,2.56,0.39,1.38,0,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.238,0,0.766,0.317,0.026,6.652,76,632,1 +0,0.31,0,7.18,0,0,0.31,0.62,0,1.25,0,0,0,0,0,0,0,0.62,0.93,0,0.62,0.31,0,0.31,0,0,0,0,0,0,0,0,0,0,0.62,0,0,0,0,0.31,0,0,0,0,0,0,0,0,0,0.183,0,0.61,0,0.122,9.218,51,507,1 +1.01,0.33,0.5,13.63,0,0.67,0,0.16,1.34,0.33,0,0.67,0,0.16,0,0.5,0,0.16,2.02,0.33,0.84,0,0,1.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.204,0,0.613,0.229,0.051,9.652,151,888,1 +0,0.56,0,0,0.56,0,0,0,1.01,0.56,0.11,1.79,0.22,0.11,0,0.11,0.22,0.89,1.79,0,2.8,0,0,0,0.11,0.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.186,0,0.056,0.056,0,2.153,53,532,1 +0.72,0,0,0,1.45,0.72,0.72,0,0,1.45,0,0,0,0,0,0,0,0,1.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0.404,0,0.134,0,0,3.066,14,92,1 +0.09,0,0.27,0,0.36,0.09,0,0.18,0.09,0,0,0.72,0,0.36,0,0,0,0,2,0,3.36,0,0.36,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0.015,0.047,0.031,0.237,0.031,0.031,3.758,69,530,1 +0,0.27,0.82,0,1.37,0,0.82,0,0,0.82,0,0.82,0,0,0,0.82,0.27,0,2.75,0,1.1,0,0.82,0.27,0,0,0,0,0,0,0,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.235,0,0.235,0.188,0,5.622,124,298,1 +0,0,0.74,0,1.85,0.37,0.37,0,0,0.74,0,0.37,0,0,0,1.11,0,0,1.85,0,3.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.264,0,0,0,0,2.492,12,172,1 +0,0,0.68,0,0,0,0,1.36,0,0,0.68,0.68,0,0,0,0,0,0,3.4,0,1.36,0,0.68,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.238,0.238,0,2.232,19,96,1 +0,0.5,0.25,0,0.5,0,1.01,0,0,0.76,0.76,0.5,0.25,0,0,1.26,0.25,0.25,1.77,0,1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.25,0,0,0,0,0.113,0,0.189,0,0.151,8.972,447,646,1 +0.07,0.22,0.82,0,0.52,0,0.07,0,0.67,0.59,0.22,0.82,0.07,0,0.14,0,0.07,0,3.29,0.22,1.87,0,0,0.22,0,0,0,0,0,0,0,0,0,0,0.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.095,0,0.119,0.071,0.167,3.429,74,974,1 +0.08,0.08,0.76,0,0.85,1.02,0.25,0.17,0.59,0.08,0.17,0.59,0.17,0,2.21,0.25,0.08,0.93,1.61,0.17,0.42,0,0.85,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0.17,0.08,0.08,0.08,0,0,0,0.065,0,0.408,0.118,0.013,7.55,669,1412,1 +0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,0,0,0,1.28,0,2.56,0,0,0,0,0,1.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.61,0,0,3.809,28,80,1 +0,0.56,0.28,0,0,0,0.56,0,0,0.56,0.28,0.56,0.28,0,0,1.41,0.28,0,1.97,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0,0,0.118,0,0.158,0,0.158,9.25,394,555,1 +0,0,0,0.81,0,0,0,0,0,1.63,0,0,0,0,0,0,0,0,2.45,0,0,0,0,2.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.249,0,0,0.124,0,0,3.707,14,152,1 +0.34,0,1.7,0,1.02,0,0,0,0.68,1.02,0,0,0,0,0,0,0,0,0.34,1.02,0.68,0,0,0,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.898,0.105,0,443.666,1325,1331,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0.443,0,0.221,0.665,0,3.812,15,61,1 +0,0.51,0,0,0.51,0.51,1.02,0,0,0,0,0,0,0,0,0,0,0.51,0.51,0,0.51,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.142,0,0.071,1.212,0,7.025,130,281,1 +0.48,0.97,0.97,0,0.48,0,0,0.48,0,1.95,0,2.43,0,0.48,0,0.48,0,0,1.95,0,5.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.26,0,1.739,0.173,0.086,56.538,636,735,1 +0.34,0,1.7,0,1.02,0,0,0,0.68,1.02,0,0,0,0,0,0,0,0,0.34,1.02,0.68,0,0,0,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.898,0.105,0,443.333,1325,1330,1 +0.09,0,0.27,0,0.36,0.09,0,0.18,0.09,0,0,0.72,0,0.36,0,0,0,0,2,0,3.36,0,0.36,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0.015,0.047,0.031,0.237,0.031,0.031,3.758,69,530,1 +0.08,0.08,0.76,0,0.85,1.02,0.25,0.17,0.59,0.08,0.17,0.59,0.17,0,2.21,0.25,0.08,0.93,1.61,0.17,0.42,0,0.85,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0.17,0.08,0.08,0.08,0,0,0,0.065,0,0.408,0.118,0.013,7.55,669,1412,1 +0,0,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.48,0,2.32,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.733,42,131,1 +0,0,0,0,0,0,0,0,1.35,0,0,0,0,0,0,0,0,0,2.7,0,2.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.636,0,0,3.809,28,80,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.57,0,0,0,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.184,0,8.161,31,253,1 +0.43,0.43,0.43,0,0.14,0.1,0.03,0.07,0.54,1.01,0.28,0.79,0.47,1.19,0.03,0.25,0.39,0,3,0,1.3,0,0.39,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0.011,0.077,0,0.458,2.33,0.113,6.601,266,2370,1 +0.23,0.34,0.58,0,0.46,0.11,0.11,0.23,1.04,0.93,0,0.46,0,0.23,0.23,0,0.11,0,3.72,0.46,1.74,0,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.46,0,0,0.075,0,0.131,0.056,0.018,4.47,74,675,1 +0,0.67,0.33,0,0.33,0.33,0.33,0.33,0,0,0.67,1,0,0,0,1,0.33,0.33,2.68,2.68,3.02,0,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.053,0,0.16,0,0.107,6.111,139,275,1 +0.47,0.95,0.95,0,0.47,0,0,0.47,0,1.9,0,2.38,0,0.95,0,0.47,0,0,1.9,0,5.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.253,0,1.687,0.168,0.084,57.076,634,742,1 +0.46,0.93,0.93,0,0.46,0,0,0.46,0,1.86,0,2.33,0,0.46,0,0.46,0,0,1.86,0,5.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.252,0,1.683,0.168,0.084,57.076,634,742,1 +0.09,0,0.27,0,0.36,0.09,0,0.18,0.09,0,0,0.73,0,0.36,0,0,0,0,2.01,0,3.38,0,0.36,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0.016,0.048,0.032,0.257,0.032,0.032,3.689,69,535,1 +0,0,0.73,0,0,0,0.73,0,0,0,0,0,0,0,0,2.2,0,0,1.47,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.73,0,0,0,0,0,0,0,0,0,0,0,0,0.088,0,0,3.048,29,125,1 +0,0,0,1.26,0,0,0.63,0,0,1.26,0,0,0,0,0,0.63,0,0,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.195,0,0,0.979,0,0.293,8.476,68,356,1 +0,0,0.74,0,0,0,0.74,0,0,0,0,0,0,0,0,2.22,0,0,1.48,0,1.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0.088,0,0,3.048,29,125,1 +0.71,0,0.11,0,0.47,0.11,0,0.59,0.71,2.86,0.23,0.11,0.23,0,0.47,0.11,0.59,0.47,3.21,0,1.66,0,1.9,1.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0.11,0,0,0,0,0.11,0,0,0,0.072,0.127,0,0.418,0.254,0.018,9.705,148,1514,1 +0,0,0.73,0,0,0.73,0.73,0,0,0,0,0,0,0,0,0.73,0,0,1.47,0,0,0,0.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.875,0.109,13.129,2.08,12,52,1 +0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,2.04,0,0,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.125,0.375,0,1.001,0,0.25,4.551,32,132,1 +0.5,0.4,0.33,0,0.13,0.03,0.13,0.1,0.54,0.78,0.3,0.71,0.54,1.15,0.03,0.27,0.44,0.03,3.19,0,1.42,0,0.37,0.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0,0.074,0,0.445,0.519,0.119,6.029,136,2213,1 +0.67,0.16,1.35,0,1.01,0,0,0,0,0.16,0.16,1.69,0.5,0,0,0.33,0,0.16,5.77,0,1.35,0,0,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.061,0,0.123,0.278,0.03,3.774,46,268,1 +0,0,0,0,2.38,0,0,2.38,2.38,2.38,0,0,0,0,0,0,7.14,0,0,2.38,2.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.396,0,0,22.714,149,159,1 +0.18,0,0.09,0,0.36,0.09,0,0.36,0.09,0,0,0.63,0.09,0.36,0,0,0.09,0,1.27,0,3.38,0,0.36,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0.03,0.03,0.015,0,4.192,48,566,1 +0,0,0.53,0,0.53,0,0,0.53,0,0,0,1.06,0,0,2.12,0,0.53,0.53,2.65,0,2.65,0,1.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.53,0.53,0,0,0,0,0,0,0,0,0,0.191,0,0.095,0.478,0,5.038,60,131,1 +0,0,0.52,0,0.52,0,0,0.52,0,0,0,1.05,0,0,2.11,0,0.52,0.52,2.64,0,2.64,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.52,0.52,0,0,0,0,0,0,0,0,0,0.19,0,0.095,0.475,0,5.038,60,131,1 +0,0,0.51,0,0.51,0,0,0.51,0,0,0,1.02,0,0,2.05,0,0,0.51,2.56,0,2.56,0,1.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.51,0.51,0,0,0,0,0.51,0,0,0,0,0.189,0,0.094,0.473,0,5.038,60,131,1 +0,0.1,0.31,0.1,1.05,0.42,0,0.31,0,0.1,0.1,0.84,0,0.1,0,2,0.84,0.21,1.69,0.31,0.31,0,0.52,0.1,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0.054,0,0.384,0.182,0.201,8.851,299,1726,1 +0,0,1.11,0,0,0,1.11,0,0,0,1.11,1.11,0,0,0,2.22,0,0,3.33,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.138,0,0.138,0.138,0,2.7,11,54,1 +0.31,0,0.63,0,0.47,0.47,0.15,0.79,0.15,0.63,0.31,1.42,0,0,0,0,1.58,0,2.05,1.58,3.95,0,0.15,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.15,0,0,0,0,0.15,0,0,0,0,0.076,0,1.3,0.127,0,5.241,97,650,1 +0,0,0,0,0,0,0.91,0,0,0,0,0.91,0,0,0,0.91,0,1.83,4.58,0,1.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.151,0,0.455,0,0,2.842,10,54,1 +0.31,0,0.63,0,0.47,0.47,0.15,0.79,0.15,0.63,0.31,1.42,0,0,0,0,1.58,0,2.05,1.58,3.95,0,0.15,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.15,0,0,0,0,0.15,0,0,0,0,0.076,0,1.3,0.127,0,5.241,97,650,1 +0,0,0.32,0,0.64,0.64,0.64,0.32,0,0,0,0.32,0.32,0,0,0.32,0.32,0.32,2.27,0,3.24,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0.166,0,0,0.166,0,1.688,19,157,1 +0,0,0,0,1.26,0,1.26,0,0,0,0,0,0,0,0,0,0,1.26,0,0,1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.26,0,0,0,0.431,0,0,0,0.215,1.724,3.529,13,60,1 +0.1,0,0.1,0,0.4,0.1,0.1,0,0.2,0.2,0.4,0.5,0,0.6,0,0.91,0.2,0,1.72,4.26,1.72,0,0.4,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.096,0,0.336,0.16,0,6.758,494,1426,1 +0,0,0,0,0.09,0,0,0,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.032,0,0.016,0,0,24.375,135,3315,1 +0,0,0,0,0,0,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.12,0,0,0,0,0.212,0,0.424,0.424,0,4.1,25,82,1 +0.59,0,0,0,0,0,1.18,0.59,0.59,1.18,0,1.18,0,0,0,0,2.95,0,4.14,2.36,2.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.421,0,0,6.275,46,182,1 +0,0,0,0,0,0,4.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,9,18,1 +0.06,0.65,0.71,0,0.39,0.65,0.52,0.19,1.04,0.52,0.06,0.39,0.32,0,1.17,0.13,0.06,1.1,1.3,0,1.04,0,0.52,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0,0,0.06,0,0,0,0.085,0,0.287,0.106,0,4.742,117,1342,1 +1.23,0,0,0,0,0,0,0,0,0,0,2.46,0,0,0,0,0,0,6.17,0,2.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.843,0,0,2,19,106,1 +0,1.5,1.5,0,0.75,0,0,0,0.75,3.75,0,2.25,0,0,1.5,0,1.5,0,0.75,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.224,1.223,0,107.4,412,537,1 +0,1.51,1.51,0,0.75,0,0,0,0.75,3.78,0,2.27,0,0,1.51,0,0.75,0,0.75,0,3.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.249,1.237,0,105.8,404,529,1 +0.1,0.2,0.52,0,0.31,1.14,0.2,0.62,1.04,0.52,0.2,0.62,0,0,1.66,0,0.2,1.45,2.08,0.2,1.25,0,1.14,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0,0,0,0.095,0.143,0,0.334,0.175,0.031,7.439,689,1287,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.46,0,0,0,0,0,0,1.235,0,0,4.466,10,134,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0.441,0,0.441,0.662,0,4.066,17,61,1 +0,0,0.31,0,0.31,0.31,0.31,0.31,0,0,0.63,0.95,0,0,0,0.95,0.63,0.31,2.54,2.54,3.5,0,0,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.051,0,0.102,0,0.102,5.708,138,274,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.04,0,0,1.02,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.174,0,0.174,0,0,1.787,7,59,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.96,0,0,0.98,0.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.173,0,0.173,0,0,1.787,7,59,1 +0,0.39,1.17,0,0.39,0,0,0,0,0.78,0.78,0.78,0,0,0.39,3.51,0,0,1.17,0,1.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.39,0,0,0,0,0.066,0,0.864,0.132,0.066,5.87,44,364,1 +0,0,0,0,0,0,0,0,0,0,0,1.42,0,0,0,1.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.058,5,35,1 +0.09,0,0.09,0,0.39,0.09,0.09,0,0.19,0.29,0.39,0.48,0,0.58,0,0.87,0.19,0,1.66,4.1,1.66,0,0.39,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0,0.326,0.155,0,6.813,494,1458,1 +0.1,0,0.41,0,0.1,0.1,0.1,0.52,0.1,0,0,0.62,0,0.2,0,0,0.1,0,0,0,0,0,0.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.048,0,0.016,0.064,0,1.915,29,339,1 +0.14,0,0.28,0,0.09,0.24,0.04,0.04,0.24,0,0,0.52,0.04,0.09,0,0,0.14,0,0.24,0.04,0.28,0,0.38,0.14,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0.04,0,0,0,0.04,0.09,0,0,0,0,0.061,0,0.007,0.099,0,1.867,14,521,1 +0.36,0.27,0.63,0,0.82,0.36,0,0.36,0.27,4.1,0.09,1.27,0.45,0,1.27,1.18,0.27,2.1,2.73,0,2.83,0,0.09,0.27,0,0,0,0,0,0,0,0,0,0,0,0.09,0,0,0,0.09,0,0,0,0,0,0,0,0,0,0.101,0,0.611,0.014,0,3.707,127,875,1 +0,0,1.11,0,1.11,0,0.74,0,0,0,0.74,0.37,0,0,0,0,0.37,0,3.35,2.98,2.61,0,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.368,0.552,0,1.58,7,79,1 +0,0,0,0,0,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0,0.235,0.235,1.882,6.266,41,94,1 +0,0.37,1.11,0,0.37,0,0,0,0,0.74,0.37,0.74,0,0,0.37,3.34,0,0,0.74,0,1.48,0,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.292,0,0.878,0.175,0.058,5.985,58,425,1 +0,0.37,1.11,0,0.37,0,0,0,0,0.74,0.37,0.74,0,0,0.37,3.34,0,0,0.74,0,1.48,0,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.292,0,0.878,0.175,0.058,5.985,58,425,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.733,0,0,2.666,11,24,1 +0.17,0,0.51,0,0.17,0,0.17,0.34,0.17,0,0,0,0,0.34,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.026,0,0,0,0,1.559,10,145,1 +0.17,0,0.17,0.17,1.43,0.34,0.05,0.05,0.05,0.05,0.05,0.51,0.28,0.05,0,0,0.69,0.05,4.2,0.23,1.03,0.17,0.74,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.01,0.05,0,0.02,0.161,0.03,2.093,51,536,1 +0,0,0,0,1.46,0,0.83,0,0.2,1.04,0,0.41,0,0,0,0,0,1.46,1.04,0,0.2,0,0.2,0,1.46,1.46,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0,0,0,0,0,0,0,0.182,0.401,0.109,0.182,0.146,0,3.791,26,364,1 +0,0.37,0,0,0.37,0.37,0.37,0.74,0.37,0.37,0,0.74,0.37,0,0,0.37,1.49,0,3.73,2.61,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0.37,0,0,0,0,0,0,1.199,0.505,0,3.337,64,267,1 +0.45,0,0.67,0,0.22,0.67,0,0.67,0.22,0.22,0.22,1.35,0,0,0,0.45,1.35,0.22,1.57,1.57,3.37,0,0.22,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.111,0,1.599,0.148,0,4.947,102,564,1 +0,0.19,0.57,0,0.09,0.28,0.09,0.09,0.38,0.19,0,0.57,0.57,0,0,0.19,0,0,2.01,0,1.43,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.035,0.23,0,0.088,0.124,0,2.405,50,368,1 +0,0,0.44,0,0.88,0.22,0,0,0,0,0,0.44,0,0.22,0,0,0,0,0.66,0,0.44,0,0,0,0,0,0,0,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0.037,0.224,0,0,0.187,0.149,3.384,21,264,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.843,0,0,1.666,5,15,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,1 +0,0,0,0,0,0,0,2.2,0,0,1.47,0.73,0,0,0,2.94,0,0,5.14,0,0.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6,8,48,1 +0.46,0.92,0.92,0,0.46,0,0,0.46,0,1.85,0,2.31,0,0.46,0,0.46,0,0,1.85,0,5.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.249,0,1.663,0.249,0.083,49.866,636,748,1 +0.47,0.94,0.94,0,0.47,0,0,0.47,0,1.88,0,2.35,0,0.47,0,0.47,0,0,1.88,0,5.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.253,0,1.687,0.168,0.084,57.23,636,744,1 +0.9,0,0.9,0,0.9,0,0.9,0,0,0,0,0,0,0,0,0,0,0,5.45,0,0,2.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.153,0,2.143,0.612,0.459,10.125,54,162,1 +0.07,0.22,0.82,0,0.52,0,0.07,0,0.67,0.6,0.22,0.82,0.07,0,0.15,0,0.07,0,3.3,0.22,1.87,0,0,0.22,0,0,0,0,0,0,0,0,0,0,0.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.095,0,0.131,0.071,0.167,3.446,74,972,1 +0,0,1.28,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,1.28,0,6.41,0,0,1.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.204,0,5.181,25,57,1 +0,0,0.98,0.49,0,0,0.49,0,0,0.98,0,0.98,0,0,0,2.94,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0.156,0,0,0.862,0,0,12.148,272,571,1 +0.47,0.95,0.95,0,0.47,0,0,0.47,0,1.91,0,2.39,0,0.95,0,0.47,0,0,1.91,0,5.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.252,0,1.683,0.168,0.084,57.23,636,744,1 +0.47,0.94,0.94,0,0.47,0,0,0.47,0,1.88,0,2.35,0,0.47,0,0.47,0,0,1.88,0,5.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.252,0,1.68,0.168,0.084,57.23,636,744,1 +0,0,0.89,0,1.79,0.44,0,0,0,0,0,0.44,0,0,0,1.34,0,0,2.24,0,4.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.074,0,0,0,0,2.25,12,144,1 +0,0,0.89,0,1.78,0.44,0,0,0,0,0,0.44,0,0,0,1.33,0,0,2.23,0,4.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.074,0,0,0,0,2.25,12,144,1 +0.34,0,1.7,0,1.02,0,0,0,0.68,1.02,0,0,0,0,0,0,0,0,0.34,1.02,0.68,0,0,0,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.899,0.105,0,667,1333,1334,1 +0,0,0,0,0,0,0,1.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0.194,0,0,0.389,0,3.476,16,73,1 +0,0,0,0,0,0,0,0,0.91,0,0,0,0,0,0,0,0,0,0.91,0,2.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.143,0,0.572,0,0,2.9,28,87,1 +0,0,0,0,0,0,0,0,0,0,0,1.33,0,0,0,1.33,0,0,2.66,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.326,0,0,2.2,11,44,1 +0,0,0,0,0.73,0,0,0,0,0,0,0.36,1.1,0,0,0.36,0,0,3.69,0,0.73,0,0,0.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.119,0,0.238,0.059,0,2.93,29,211,1 +0,0,0,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0.96,0,0,0,0,0,0,0,0,0,0,0,0,2.24,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0,0,0,0,0,0.18,0.27,0.045,0,0,0,2,14,178,1 +0.41,0.41,0.41,0,0.13,0.1,0.03,0.06,0.52,0.94,0.27,0.76,0.45,1.15,0.03,0.24,0.41,0.03,2.99,0,1.25,0,0.34,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0.011,0.076,0,0.425,0.573,0.112,5.761,131,2224,1 +0.31,0,0,0,0.94,0,0,0,0,0,0.31,0,0,0,0,0.31,0,0.31,3.76,0.31,0.62,0,0,0.62,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0.055,0,0.055,0.111,0,2.358,32,125,1 +0,0,1.13,0,1.13,0.56,0.56,0,0,0.56,0,1.13,0,0,0,3.97,0,0,2.84,0,0.56,0,0.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.288,0,0.768,0,0,11.685,296,409,1 +0,0,0.14,0,0.29,0,0,0,0,0,0,0.89,0,0,0,0.14,0,0,0,0,0,0,0.14,0,0,0,0,0,0,0,0,0,0.44,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0.022,0.067,0,0,0.022,0,2.227,11,294,1 +0,0,0.55,0,0,0.55,0,0.27,0,0,0.55,0.27,0.27,0,0,1.1,0.27,0.83,2.49,0,3.04,0,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0,0.194,0,0.582,0.291,0.582,2.309,35,291,1 +0,0,1.31,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,1.31,0,5.26,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21,0,4.5,25,54,1 +0,0,1.31,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,1.31,0,5.26,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21,0,4.5,25,54,1 +0,0,0,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0,4.65,0,4.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.701,0.35,0,1.434,6,33,1 +0,0,2.99,0.42,0.42,0,0.85,0,0,0,0.42,0.42,0,0,0,0.42,0,1.28,3.41,0,1.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.204,0,0.819,0,0,4.84,42,363,1 +0,2.08,0,0,3.12,0,1.04,0,0,0,0,2.08,0,0,0,0,0,4.16,2.08,0,1.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.263,0,0,1.428,4,20,1 +0.29,0.04,0.04,0,0.14,0.04,0,0.29,0.29,0.94,0.14,0.04,0.14,0,0.19,0.04,0.39,0.19,1.6,0.04,0.79,9.53,0.69,0.47,0,0,0,0,0,0,0,0,0,0,0,0.04,0,0,0.04,0,0,0,0,0,0.19,0,0,0,1.117,0.053,0,0.356,0.09,0.011,12.332,1171,9163,1 +0,0,0.76,0,0.76,0,0.5,0.5,0,1.01,0,0.25,1.52,0,0.76,0,0,1.52,2.03,0,1.52,0,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0,0,0,0,0,0,0,0.078,0,0.433,0.433,0,2.441,19,249,1 +0,0,0,0,0,0,0,2.5,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0.182,0,0,0.182,0,3.545,21,78,1 +0.31,0,0.63,1.91,0.21,0,0,0,0.42,0.1,0,0.31,0,0,0,0.53,0,0,1.7,0,1.06,0,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0,0.1,0,0,0,0,0,0,0.169,0,0.358,0.188,0.075,2.847,75,447,1 +0,0.75,0.37,0,0,0,0.75,0,0,0.37,0,0.75,0,0,0,1.87,0.37,0,2.63,0,1.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.37,0,0,0,0,0,0,0.242,0,0.145,9.584,332,508,1 +0,1.96,0.98,0,0,0,1.96,0,0,0,0,0,0,0,0,0.98,0,0,0.98,0,0.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.98,0,0,0,0,0.168,0,1.011,0,0,2.888,12,52,1 +0.51,0.43,0.29,0,0.14,0.03,0,0.18,0.54,0.62,0.29,0.65,0.65,1.2,0.03,0.21,0.43,0.03,3,0,1.35,0,0.51,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0.012,0.08,0,0.454,0.523,0.136,6.59,739,2333,1 +0.2,0.4,0.4,0,0,0.4,0,0.2,1.43,0.61,0,0.2,0,0,0,0,0,0,2.66,0.2,2.04,0,0,0.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0,0.029,0.059,0.447,0.298,0.149,0.029,11.96,376,909,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,2.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0.17,0,0.17,0.341,0,3.809,24,80,1 +0,0,1.31,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,1.31,0,5.26,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21,0,4.5,25,54,1 +0,0,0,0,0,0.54,1.63,0,0,0,0.54,0.54,0,0,0,0.54,2.73,0.54,4.91,0,2.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.171,0,2.592,32,70,1 +0,0,0,0,0,0.65,0,1.3,0.65,0.65,0,0,0,0,0,0.65,2.61,0.65,1.3,3.26,1.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,0,0,0,0,0,0,1.154,0.524,0,3.89,78,249,1 +2.35,0,0,0,0,0,2.35,0,2.35,0,0,1.17,0,0,0,1.17,0,0,2.35,0,0,0,2.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.168,0.336,0,4.576,17,119,1 +0,0,0.32,0,0.65,0.65,0.32,0.32,0,0,0,0.32,0.32,0,0,0.32,0.32,0,2.28,0,3.25,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0.112,0,0,0.169,0,1.494,10,139,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.25,0,0,0,0,0,8.29,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.218,0.087,0,0.174,0.174,0.437,9.186,126,937,1 +0,0,0.24,0,0.49,0,0,0.24,0,0.24,0.24,0.49,0,0,0,0.99,0.24,0,2.47,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.478,0,0,2.868,44,175,1 +0,0,0.32,0,0.64,0.64,0.32,0.64,0,0,0,0.32,0.32,0,0,0.32,0.32,0,2.27,0,3.24,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0.112,0,0,0.168,0,1.494,10,139,1 +0,0,0.32,0,0.64,0.64,0.32,0.64,0,0,0,0.32,0.32,0,0,0.32,0.32,0,2.27,0,3.24,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0.112,0,0,0.168,0,1.494,10,139,1 +0.78,0,0.78,0,1.56,0,0,0,0,0,0,0,0,0,0,0.78,0.78,0,1.56,0,2.34,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.792,0.339,0,2.627,22,113,1 +0,0,0,0,0,0,0,0.4,0,0,0,0,0,0,0,0,0,0.4,0.4,0,0.4,7.63,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.133,0,0.601,0.133,1.068,10.578,108,603,1 +0.78,0,0.78,0,1.57,0,0,0,0,0,0,0,0,0,0,1.57,0.78,0,1.57,0,2.36,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.682,0.341,0,2.555,22,115,1 +0,0.75,0.37,0,1.51,0,0,0.37,0,0.37,0.75,1.89,0,0,0,0.75,0.37,1.13,6.06,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0.415,0.138,0,1.937,11,93,1 +0,0,0,0,0.96,0,0.96,0,0,0.48,0.48,0.96,0,0,0,1.44,0,0,3.36,0,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.149,0,0.149,0.074,0,2.586,44,150,1 +0,0,0,0,0.43,0.43,0.43,0.43,0,0,0,0.43,0,0,0,0,0,0,0.87,0,0,9.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.395,0,1.121,7.983,72,495,1 +0.78,0,0.78,0,1.57,0,0,0,0,0,0,0,0,0,0,1.57,0.78,0,1.57,0,2.36,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.682,0.341,0,2.555,22,115,1 +0,0.81,1.62,0,2.43,0,0,0,0,0.81,0,0,0,0,0,0.81,0,0.81,2.43,0.81,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.121,0,0.121,0,0,4.035,43,113,1 +0.38,0.46,0.31,0,0.15,0.03,0,0.19,0.58,0.66,0.31,0.66,0.58,1.24,0.03,0.23,0.38,0,3.11,0,1.32,0,0.46,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0.006,0.091,0,0.36,0.524,0.137,6.186,122,2227,1 +0.43,0,0.87,0,0.87,0,0.87,0,0,0,0,0.43,0,0,0,0,0.43,0.43,4.38,0,1.31,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0.145,0,1.021,0.218,0,3.35,59,134,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.23,1.23,0,4.93,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.23,0,0,0,0,0,0,0.234,0,0,4.176,41,71,1 +0,0,1.58,0,1.58,0,1.58,0,0,0,0,1.58,0,0,0,1.58,0,0,3.17,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.371,0,0,3.538,21,46,1 +0,0,0,0,0,0,0,0,0.9,0,0,0,0,0,0,0,0,0,0.9,0,3.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.139,0,0.559,0,0,2.9,28,87,1 +0,0,0,40.13,0,0,0,0,0,0.32,0,0,0,0,0,0,0,0.32,0.98,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.185,0,0.185,0.061,0,10.585,124,434,1 +0,0.47,0,0,0.94,0,0.94,0,0,0,0,0.47,0.47,0,0.47,0,0,0,1.89,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0.074,0.074,0,0,0,2.125,11,102,1 +0,0,0,0,0,0,0,0,0.91,0,0,0,0,0,0,0,0,0,0.91,0,2.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.141,0,0.565,0,0,2.9,28,87,1 +0.05,0.05,0.4,0,0.34,0,0,0,0.57,0.05,0,0.28,0.11,0,0,0.17,0,0,1.15,0.05,0.92,0,0,0.05,0,0,0,0,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0.05,0,0,0,0.019,0.099,0,0.089,0.079,0.009,4.913,95,1312,1 +0.05,0.05,0.4,0,0.34,0,0,0,0.57,0.05,0,0.28,0.11,0,0,0.17,0,0,1.04,0.05,0.92,0,0,0.05,0,0,0,0,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0.05,0,0,0,0.019,0.099,0,0.089,0.079,0.009,4.924,95,1310,1 +0,0,0,0,0,0,0.86,0,0,0,0,0,0,0,0,0.86,0,1.73,3.47,0,1.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.152,0,0.457,0,0,2.75,10,55,1 +0,0,0,0,0,0,0.86,0,0,0,0,0,0,0,0,0.86,0,1.73,3.47,0,1.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.151,0,0.759,0,0,2.75,10,55,1 +0.38,0,1.9,0,1.14,0,0,0,0.38,0.38,0,0,0,0,0,0,0,0,0.38,0.76,0,0,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.008,0.059,0,295,1177,1180,1 +0.38,0,1.9,0,1.14,0,0,0,0.38,0.38,0,0,0,0,0,0,0,0,0.38,0.76,0,0,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.005,0.059,0,295,1177,1180,1 +0.38,0,1.9,0,1.14,0,0,0,0.38,0.38,0,0,0,0,0,0,0,0,0.38,0.76,0,0,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.008,0.059,0,589,1177,1178,1 +0,0,0,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.205,0,0.034,0,0,3.168,15,339,1 +0,0,0,0,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.204,0,0.034,0,0,2.588,15,277,1 +0,0.65,0,0,0.65,0,1.31,0,0,0,0,0.65,0,0,0.65,0,0,0,3.28,0,0.65,0,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.104,0.522,0,0,1.69,11,71,1 +0,0,0,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.205,0,0.034,0,0,3.168,15,339,1 +0,0,0,0,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.204,0,0.034,0,0,2.588,15,277,1 +0,0,0.3,0,0.3,0.3,0.3,0.3,0,0,0.6,0.9,0,0,0,0.9,0.6,0.3,2.4,2.7,3,0,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.048,0,0.144,0,0.096,5.403,139,281,1 +0,0,0.32,0,0.64,0.64,0.32,0.32,0,0,0,0.32,0.32,0,0,0.32,0.32,0,2.27,0,3.24,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0.111,0,0,0.166,0,1.494,10,139,1 +0.08,0.08,0.76,0,0.85,1.02,0.25,0.17,0.59,0.08,0.17,0.59,0.17,0,2.22,0.25,0.08,0.94,1.62,0.17,0.42,0,0.85,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0.17,0.08,0.08,0.08,0,0,0,0.065,0,0.435,0.118,0.013,7.497,669,1402,1 +0,0,1.83,0.91,0,0,0.45,0,0,0.91,0,0,0,0,0,2.75,0,0,1.83,0,0.91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.134,0,0,2.077,0,0.134,12.176,338,621,1 +0,0,0,0,3.09,0,1.03,1.03,0,1.03,0,1.03,0,0,0,2.06,0,0,2.06,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0,0,0,0,0,10.692,65,139,1 +0,0,0,0,3.12,0,1.04,1.04,0,1.04,0,1.04,0,0,0,2.08,0,0,2.08,0,1.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.04,0,0,0,0,0,0,0,0,0,10.692,65,139,1 +0,0,0,0,3.09,0,1.03,1.03,0,1.03,0,1.03,0,0,0,2.06,0,0,2.06,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0,0,0,0,0,10.692,65,139,1 +0,0.46,0.46,0,2.8,0,0,0,0,0,0,1.4,0,0,0,1.4,0,1.4,1.86,0,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.93,0,0,0,0,0,0,0,0,0,0,0,0,0.148,0,0.74,0,0,2.673,21,139,1 +0,0,0,0,0,0,1.21,0,0,1.21,0,1.21,1.21,0,0,1.21,0,0,4.87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.676,15,57,1 +0,0,1.31,0,2.63,0,0,0.65,0,0,0,0.65,0,0,0,1.97,0,0,1.31,0,2.63,0,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0.198,0,0.198,0.099,0,2.195,12,101,1 +0,0,0,0,0,0,0,0,0,0,0.26,0.26,0,0,0,0,0,0,1.05,1.32,0.26,10.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.306,0.043,0.087,0.175,0.043,0.35,8.271,69,885,1 +0.74,0,0,0,0,0,0.74,0,0,1.49,0.74,0.74,0,0,0,0.74,3.73,0,4.47,0,0.74,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.355,0.118,0.237,2.095,7,44,1 +0,0,1.29,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0,0,1.29,0,5.19,0,0,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.208,0,4.818,25,53,1 +0,0.02,0.05,0,0.02,0,0,0.05,0,0.35,0,0.02,0,0,0,0.05,0.1,0.38,0.07,0.2,0.17,0,0,0,0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.004,0,0.112,0.018,0.018,3.922,489,3271,1 +0,0,1.33,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0,0.66,0.66,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.66,0,0,0,0,0,0,0.355,0.118,0,2.315,12,132,1 +0,0,1.35,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0.67,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0,0,0,0,0,0,0.356,0.118,0,2.315,12,132,1 +0,0,0,0,0.53,0,1.07,0,0,0.53,0,0,0,0,0,0,0,1.61,1.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.335,0,0,0,0,2.333,14,119,1 +0,0,0,0,0,0,0,0,0,0.27,0,0.27,0,0,0,0.27,0,0,1.09,1.36,0.27,10.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0.333,0.047,0.095,0.142,0.047,0.381,2.353,13,273,1 +0,0,0,0,0.53,0,1.07,0,0,0.53,0,0,0,0,0,0,0,1.61,1.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.336,0,0,0,0,2.333,14,119,1 +1.23,0,0,0,0,0.46,0,0.15,0,0.61,0,0.3,1.07,0,0,0,0,0,1.84,0,0.92,0,0.76,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.057,0,0.52,0.289,0.144,4.33,84,446,1 +0,0,0.71,0,0.23,0,0,0,0.23,0.23,0.23,1.9,0,0,0,0.23,0,0,3.81,0.23,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.112,0,1.046,0.037,0,4.022,97,543,1 +0.95,0,0.23,0,0.23,0.23,0.23,0,0,0.23,0,0.23,0,0,0,0,0.71,0,3.8,0,1.9,0,0,0.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.238,0,0,3.184,38,242,1 +0,0,0.71,0,0.23,0,0,0,0.23,0.23,0.23,1.9,0,0,0,0.23,0,0,3.81,0.23,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.112,0,1.046,0.037,0,4.022,97,543,1 +0,0,0.57,0,0.28,0,0,0.57,0,0,0,0.28,0,0,0,0.57,1.15,0,0.86,2.31,2.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.047,0,1.147,0.191,0.191,11.735,489,622,1 +0.9,0,0,0,0,0,0.9,0,0,1.8,0.9,0.9,0,0,0,0.9,4.5,0,5.4,0,0.9,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.391,0.13,0.26,2.15,7,43,1 +0.74,0,0,0,0,0,0.74,0,0,1.49,0.74,0.74,0,0,0,0.74,3.73,0,4.47,0,0.74,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.355,0.118,0.236,2.15,7,43,1 +0,0.16,0,0,0.16,0.16,0,1.14,1.3,0.32,0.32,0.48,0,0,0,1.95,0,0.32,0.81,0.48,1.46,2.93,0.16,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.673,0.35,0.053,0.134,0.107,0.026,5.216,57,1038,1 +0.27,0.27,0.27,0,0,0,0,0.54,0,0.27,0,0.27,0,0,0,1.08,0,0.27,1.08,0,0.27,0,0.27,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.229,0,0.458,0.504,0,2.934,64,578,1 +0,0,0.85,0,0.85,0.21,0.21,0,0,1.5,0,0,0,0,1.07,0,0.21,0,0.64,0.21,1.71,7.08,1.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.465,0.271,0.969,9.052,58,869,1 +0.64,0,0.64,0,1.29,0,0.64,0,0,0,0,0.64,0,0,0,0.64,0.64,0,1.29,0,3.22,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.104,0,0.522,0.313,0,2.511,22,113,1 +0,0,0,0,0,0.54,1.63,0,0,0,0.54,0.54,0,0,0,0.54,2.73,0.54,4.91,0,2.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.171,0,2.592,32,70,1 +0,0,0,0,0,0,0,0,0.52,0.52,0,2.08,0,0,0,0,0,0,4.16,0,4.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.073,0.073,0,0.367,0.073,0.073,2.34,27,103,1 +0,1.32,0.56,0,0,0.94,0,0.18,0.37,0.75,0,2.08,0,0,0,0,0.37,0,2.65,0,0.94,0,0,0.18,0,0,0.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.084,0,0.31,0.112,0,2.548,34,237,1 +0,0,1.07,0,0.53,0,0,0,0,0,0,0,0,0,0,0,0,0,3.22,0.53,1.07,8.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.265,0.088,1.151,11.066,67,332,1 +0,0,1.31,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,1.31,0,5.26,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.213,0,4.818,25,53,1 +0,0,0,0,0,0.84,0,0,0,0,0,0,0,0,0,0,0,0,3.36,0,0,12.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.587,0,1.468,7,35,273,1 +1.36,0,0.68,0,0,0,0.68,0,0,0,0,4.1,0.68,0,0,1.36,0,0,2.73,0,2.05,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0,0,1.706,0.2,0,4.281,38,137,1 +0,1.16,0.38,0,0,0,1.16,0,0,0.77,0.38,0.77,0,0,0,1.93,0,0.38,2.32,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,0,0,0,0,0,0,0,0.38,0,0,0,0,0,0,0.198,0,0.148,9.266,332,556,1 +0,0,0.27,0,0.27,0.27,0.27,0.27,0,0,0.54,0.82,0,0,0,0.82,0.54,1.09,2.46,2.46,2.73,0,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.043,0,0.13,0,0.086,4.6,139,276,1 +0,0,0.94,0,0.31,0,0,0,0.31,0,0,0.62,0,0,0,1.25,0.62,0,3.14,0,1.25,0,0.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0.146,0.048,0.39,0.438,0.097,3.322,61,319,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.09,1.09,0,3.29,0,2.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.09,0,0,0,0,0.371,0,0.371,0,0,3.096,28,96,1 +0.1,0.2,1.01,0,0.8,0.8,0.5,0,0.8,0.1,0.3,0.7,0.3,0,1.61,0.1,0,1.11,1.31,0.2,0.7,0,0.6,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0.1,0.1,0,0,0,0.111,0,0.491,0.158,0.015,8.55,669,1351,1 +0,0,0.81,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0.81,0,3.27,0,0.81,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.26,0,0.651,13.5,86,189,1 +1.24,0,0,0,0,0,0,0,0,0.62,0,1.24,0,0,0,0.62,0,0,1.86,0,3.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.24,0,0,0,0,0.1,0,1.105,0.201,0,12.904,155,271,1 +0,0,0,0,0,0,0,1.25,0,0.41,0,0,0,0,0,0.41,0,1.67,0.41,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0.125,0,0.312,0.062,0,1.477,8,65,1 +0,0.41,0.41,0,2.06,0,1.65,0.82,0,0,0,0,0,0,0,2.47,0,0.82,2.47,0,0.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0.265,0,0.199,0,0,15.892,226,445,1 +0,0.41,0.41,0,2.06,0,1.65,0.82,0,0,0,0,0,0,0,2.47,0,0.82,2.47,0,0.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0.265,0,0.199,0,0,15.892,226,445,1 +0,0.41,0.41,0,2.06,0,1.65,0.82,0,0,0,0,0,0,0,2.47,0,0.82,2.47,0,0.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0.265,0,0.199,0,0,15.892,226,445,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.29,0,0,3.89,0,3.89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0,0,0.236,0,0,7.181,41,79,1 +0.45,0.9,0.9,0,0.45,0,0,0.45,0,1.8,0,2.25,0,0.45,0,0.45,0,0,1.8,0,5.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.243,0,1.626,0.162,0.081,69.727,706,767,1 +0.45,0.9,0.9,0,0.45,0,0,0.45,0,1.8,0,2.26,0,0.45,0,0.45,0,0,1.8,0,4.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.244,0,1.631,0.244,0.081,64.416,708,773,1 +0.45,0.91,0.91,0,0.45,0,0,0.45,0,1.83,0,2.29,0,0.91,0,0.45,0,0,1.83,0,5.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.245,0,1.633,0.245,0.081,64.416,708,773,1 +0.82,0,0.82,0,0.41,0,0.41,0.82,0.41,1.23,1.65,0.41,0,0,0,2.47,1.65,0,1.23,1.23,2.06,0,0,0.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.53,0.132,0.132,6.404,76,301,1 +0.09,0.49,0.59,0,0.39,0.19,0,0,0.09,0.39,0,1.57,0.19,0,0,0,0.09,0,3.75,0.09,1.08,0,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.768,0.037,0,5.848,1.313,0,5.96,54,757,1 +0,0,1.31,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,1.31,0,5.26,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.212,0,4.818,25,53,1 +0,0,1.31,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,1.31,0,5.26,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.212,0,4.818,25,53,1 +0,0,0.6,0,0,0.6,0,0,0.6,0,0,1.8,0,0,0,0.3,0,0,2.7,0,1.2,0,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.094,0.047,0.189,0.141,0,1.932,31,201,1 +0.47,0,0.94,0,0.94,0,0.94,0,0,0,0,0.47,0,0,0,0,0.47,0,4.24,0,0.94,0,1.41,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0.073,0,1.254,0.221,0,5.918,91,219,1 +0,0.72,1.81,0,0,0.36,0,0.36,0.72,1.08,0.36,0.72,0,0.36,0,0.36,0.36,0.36,1.08,0,2.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0,0,0,0.36,0,0,0,0,0.334,0,1.203,0.467,0.066,18.4,393,736,1 +1.47,0,0,0,0,0,0,0,0,1.47,0,0,1.47,0,0,7.35,0,0,2.94,0,1.47,0,0,4.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.272,0.254,0,6.294,63,107,1 +1.47,0,0,0,0,0,0,0,0,1.47,0,0,1.47,0,0,7.35,0,0,2.94,0,1.47,0,0,4.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.272,0.254,0,6.055,63,109,1 +0,0,0.51,0,0.51,0.51,0.51,0,0,0,0,0,0,0,0,0,1.03,1.03,3.1,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0,0.18,0,0,1.773,17,94,1 +0,0,0.5,0,0.5,0.5,0.5,0,0,0,0,0,0,0,0,0,1.01,1.01,3.04,0,1.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.089,0,0.178,0,0,1.792,17,95,1 +0,0.74,1.85,0,0,0.37,0,0.37,0.74,1.11,0.37,0.74,0,0.37,0,0.37,0.37,0.37,1.48,0,2.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.11,0,0,0,0,0,0,0,0.37,0,0,0,0,0.336,0,1.211,0.471,0.067,18.4,393,736,1 +0.09,0.49,0.59,0,0.39,0.19,0,0,0.09,0.39,0,1.57,0.19,0,0,0,0.09,0,3.75,0.09,1.08,0,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.767,0.037,0,5.84,1.311,0,5.96,54,757,1 +0,0.72,1.81,0,0,0.36,0,0.36,0.72,1.08,0.36,0.72,0,0.36,0,0.36,0.36,0.36,1.08,0,2.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0,0,0,0.36,0,0,0,0,0.334,0,1.203,0.467,0.066,18.4,393,736,1 +0,0,0.15,0,0.9,0.15,0,0,0.9,0,0,0.75,0.15,0,0,0,0.3,0,2.26,0,0.9,0,0.15,0.3,0,0,0,0,0,0,0,0,0,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.1,0,0.376,0.05,0.025,2.271,49,427,1 +0.15,0.15,0.3,0,0.75,0,0,0,0,0,0,0.15,0.15,0,0,0,0,0.75,1.51,0,0.45,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.058,0.145,0,0.087,0,0,1.54,18,208,1 +0.12,0.19,0.7,0,0.44,0,0.06,0,0.57,0.5,0.25,0.95,0.06,0,0.19,0,0.06,0,3.82,0.19,2.48,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0,0,0,0.06,0,0,0,0,0,0,0,0.102,0,0.133,0.041,0.143,3.29,74,1030,1 +0,0,0,0,0,0,0,0,0,0,0,0,0.91,0,0,0,0,0,0.91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.143,0,0.573,0,0,2.884,18,75,1 +0.05,0.05,0.4,0,0.34,0,0,0,0.57,0.05,0,0.28,0.11,0,0,0.17,0,0,1.09,0.05,0.92,0,0,0.05,0,0,0,0,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0.05,0,0,0,0.019,0.099,0,0.099,0.079,0.009,4.906,95,1310,1 +0,0,0,0,0,0,0,0,0,1.19,0,0,0,0,0,1.19,0,0,3.57,0,3.57,0,0,0,1.19,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.19,0,0,0,0,0,0,0.204,0,0,8.636,41,95,1 +0,0,0.44,0,1.34,0,0.44,0,0,0,0,0,0,0,0,0.44,0.89,0,2.24,0,1.34,0,0.44,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.34,0,0,0,0,0.068,0,0.482,0.896,0,6.77,78,325,1 +0,0,0,0,0.77,0,0,0,0,0,0,1.55,0,0,0,0.77,0.77,0,2.32,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.77,0,0,0,0,0.268,0,0.672,0.403,0,2.794,29,109,1 +0.28,0.14,0.14,0,0,0,0.14,0,0.42,0,0.84,0.98,0,0,0,0,0.28,0,1.82,2.53,1.12,10.82,0.84,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.137,0.045,0.342,1.233,14.88,79,1622,1 +0.1,0.2,1.01,0,0.8,0.8,0.5,0,0.8,0.1,0.3,0.7,0.3,0,1.61,0.1,0,1.11,1.31,0.2,0.7,0,0.6,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0.1,0.1,0,0,0,0.11,0,0.49,0.158,0.015,8.55,669,1351,1 +0,0,0,0,0.8,0,0,0,0,0,0,1.6,0,0,0,0.8,0.8,0,2.4,0,2.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0.274,0,0.823,0,0,2.815,29,107,1 +1.63,0,1.63,0,0,0,0,0,1.63,0,0,0,0,0,0,1.63,0,0,3.27,0,3.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0.266,0,2,16,36,1 +0.69,0,0,0,1.39,0,0.69,0,0,0,0,0.69,0,0,0,0,0,0,3.49,0,1.39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.196,0,0,6.1,57,183,1 +0,0,0,0,0,0,0,1.04,0,0,0.52,1.04,0.52,0,0,1.04,0,0,3.66,1.04,1.04,0,1.57,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.539,0.269,0,5.787,47,272,1 +0,0,0.32,0,0.65,0.65,0.32,0.32,0,0,0,0.32,0.32,0,0,0.32,0.32,0,2.28,0,3.25,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0.111,0,0,0.166,0,1.494,10,139,1 +0,0,0.32,0,0.65,0.65,0.32,0.32,0,0,0,0.32,0.32,0,0,0.32,0.32,0,2.28,0,3.25,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0.111,0,0,0.166,0,1.494,10,139,1 +0.08,0.08,0.76,0,0.85,1.02,0.25,0.17,0.59,0.08,0.17,0.59,0.17,0,2.21,0.25,0.08,0.93,1.62,0.17,0.42,0,0.85,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0.17,0.08,0.08,0.08,0,0,0,0.065,0,0.486,0.118,0.013,7.561,669,1414,1 +0.17,0,0.17,0,1.52,0.35,0.05,0.05,0.05,0.05,0.05,0.52,0.29,0.05,0,0,0.64,0.05,4.21,0.23,1.11,0,0.82,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0,0.05,0,0,0,0.01,0.052,0,0.01,0.167,0,1.818,13,462,1 +0.27,0,0.27,0,0,0,0,0,0,0,0,1.62,0.27,0,0,0,0.27,0,4.87,0,0.81,0.27,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0.874,0.051,0.051,5.582,61,374,1 +0,1.32,0,0,0,0.44,0,0,1.32,0,0,2.65,0,0.44,0,0.44,0,0.44,3.53,0,1.76,0,0,1.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.066,0,0.663,0.132,0.066,8.666,123,442,1 +0,0,0,0,2.29,0,0,0,0,0,0,1.14,0,0,0,4.59,0,0,3.44,0,1.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.14,0,0,0,0,0.646,0,1.939,0,0,8.461,30,110,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.57,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.606,0.606,0,3.111,10,28,1 +0.54,0,0,0,2.16,0,0,0.54,0,1.08,0,0,0,0,0,0,1.08,0,2.7,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0.051,0,0,0,0,1.49,19,82,1 +0,0,0,0,0,0,0,0,0.91,0,0,0,0,0,0,0,0,0,0.91,0,2.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.141,0,0.567,0,0,2.9,28,87,1 +1.06,0,0.7,0,1.06,0,0.7,0,0,0.7,0,0.7,0,0,0.35,0.7,0,0,6,0,1.41,0,0.35,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,0,0,0.381,0.063,0,2.021,12,95,1 +0.68,0.68,0.68,0,0.68,0,2.73,0,0,0.68,0,2.05,0,0,0,0,0,0.68,4.1,0,2.73,0,0,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.244,0,0,2.472,9,89,1 +0,0,0,9.16,0.27,0,0.55,0.27,0.27,0.27,0,0.27,0,0,0,0,1.11,0,0.55,0.27,0.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.387,0,0,0.301,0,0.043,19.482,694,1130,1 +0,0,0.09,0,0.58,0.29,0.09,0,0.38,0,0.29,0.48,0.38,0,0,0,0.19,0,0.77,0,0.67,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0,0,0,0,0,0.09,0,0.09,0,0,0,0.063,0.047,0,0.559,0.047,0.031,1.694,23,432,1 +0,0,1.61,0,0,0,1.61,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0.268,0,0.804,0,0,2.466,17,37,1 +0,0,0,0,0.97,0,0.97,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0.97,0,0,0,0.97,0.97,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0,0,0,0,0.503,0.167,0,0,0.167,1.342,3.5,13,77,1 +0,0.56,0.56,0,1.12,0.56,2.25,0,0,0.56,0,0.56,0,0,0,0,0,0.56,3.38,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.56,0,0,0,0,0.083,0,0.503,0,0.083,16.304,148,375,1 +0.1,0.1,0.71,0,0.61,0.3,0.4,0.1,1.42,0.81,0.1,0.5,0,0,0,0.1,0,1.11,2.23,0.5,2.03,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0.264,0.976,0.397,0.033,3.186,56,1042,1 +0.8,0,0.8,0,1.61,0,0,0,0,0,0,0,0,0,0,0.8,0.8,0,1.61,0,2.41,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.562,0.36,0,2.638,22,124,1 +0,0,1.31,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,1.31,0,5.26,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.212,0,4.818,25,53,1 +0,1.47,0,0,0,0,1.47,0,0,0,0,0,0,0,0,1.47,1.47,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0.338,0,0.508,0.169,0.169,10.625,140,170,1 +0.05,0.05,0.4,0,0.34,0,0,0,0.57,0.05,0,0.28,0.11,0,0,0.17,0,0,1.04,0.05,0.92,0,0,0.05,0,0,0,0,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0.05,0,0,0,0.019,0.099,0,0.099,0.079,0.009,4.881,95,1313,1 +0,0.4,0,0,0.81,0,0.81,0,0,0.4,0,0,0,0,0,0,0,0,1.22,0,0.81,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.123,0.246,0.061,0,0.123,0.185,4.793,23,302,1 +0.29,0.58,0.58,0,0.87,0,0.58,0,0,1.16,0,0.87,0,0,0,0,0.87,0,2.62,0,1.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.054,0,0,0.271,0,1.67,14,162,1 +0.18,0,0.18,0,1.57,0.36,0.06,0.06,0.06,0.06,0.06,0.54,0.3,0.06,0,0,0.72,0.06,4.41,0.24,1.08,0,0.84,0.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0,0,0.01,0.052,0,0.01,0.169,0,1.766,12,447,1 +0.06,0,0.24,0,0.1,0,0,0.17,0.17,0.17,0,0.1,0.03,0,0,0.03,0,0,0.45,0,0.2,0,0.03,0,1.18,1.22,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0.06,0,0.45,0,0,0,0.179,0.305,0.029,0.029,0.011,0.023,2.813,26,2510,1 +1.24,0.41,1.24,0,0,0,0,0,0,0,0,0.41,0,0,0,0.41,0,0.82,3.73,0,1.24,0,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0.068,0,0.481,0.549,0,3.166,19,114,1 +0.08,0,0.32,4.31,0.08,0.16,0.08,0.08,0,0,0.08,0.24,0.32,0,0,0.08,0,0.32,1.87,0,0.57,0,0.16,0.24,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0,0,0,0.16,0,0,0,0.344,0.068,0,0.55,0.082,0.151,15.547,339,2923,1 +0.1,0.1,0.71,0,0.6,0.3,0.4,0.1,1.42,0.81,0.1,0.5,0,0,0,0.1,0,1.01,2.23,0.5,2.03,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0.264,0.977,0.397,0.033,3.166,56,1045,1 +0,0,0,0,0,0,0.45,0,0,0.45,0.22,0.22,0,0,0.22,0.22,0,0.22,1.58,0,1.13,13.34,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.037,0.15,1.584,13.936,114,1324,1 +0,0,1.31,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,1.31,0,5.26,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.212,0,4.818,25,53,1 +0,0,0,0,0,0.4,0,0,0,0.81,0,0,0,0,0,0.4,0,0,1.22,0,0,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.198,0.529,0.33,0.198,0,0,5.019,18,261,1 +0,0,0,0,0.38,0.38,0.38,0.38,0,0,0.38,0,0,0,0,0.38,0,0,3.43,0,2.29,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,0,0,0,0,0,0,0.121,0,0,2.08,12,104,1 +0,0,0,0,0,0,1.78,0,0,1.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.544,0,0,1.777,5,16,1 +0,0.06,0.2,0,0.61,0.13,0,0,0.75,0,0.27,0.75,0.27,0,0,0,0.2,0.13,1.16,0,1.23,0,0.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0.06,0,0,0,0.034,0.057,0,0.472,0.092,0.023,2.086,104,703,1 +0,1.36,0,0,0,0,1.36,0,0,0,0,0,0,0,0,1.36,1.36,0,0,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0.17,0.17,0.17,9.411,128,160,1 +0,0,0,0,0,2.3,0,0,0,0,0,0.76,0.76,0,0,0,0,0,2.3,0,1.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.868,0,2.894,0.868,0,5.607,25,157,1 +1.63,0,0,0,2.45,0,0,0,0,0,0,0,0,0,0,0.81,0,0,3.27,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.258,0,0,2.826,20,65,1 +0.16,0,0.67,0,0.33,0.16,0.33,0.84,0.16,0.5,0.33,1.51,0,0,0,0,1.68,0.33,2.02,1.68,3.87,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0.224,0,1.151,0.056,0,4.928,63,621,1 +0.09,0.49,0.59,0,0.39,0.19,0,0,0.09,0.39,0,1.58,0.19,0,0,0,0.09,0,3.75,0,1.08,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.778,0.037,0,5.213,0.979,0,5.781,54,740,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.597,0,0,4.153,26,54,1 +0.17,0,0.17,0,1.45,0.34,0.05,0.05,0.05,0.05,0.05,0.52,0.29,0.05,0,0,0.69,0.05,4.25,0.23,1.04,0,0.75,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.01,0.05,0,0.01,0.162,0,1.794,12,454,1 +0,0,0.27,0,0.54,0.27,0.27,1.08,0,0.81,0,0,0,0,0,0,0,0,2.45,0,1.36,0,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0.04,0,0.489,0.04,0,2.121,19,227,1 +1.61,0,0,0,3.22,0,0,0,0,0,0,0,0,0,0,0.8,0,0,3.22,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.511,0,0,2.909,20,64,1 +0,0.55,0.55,0,1.1,0.55,2.2,0,0,0.55,0,0.55,0,0,0,0,0,0.55,3.31,0,1.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.55,0,0,0,0,0.165,0,0.496,0,0.082,16.782,148,386,1 +0,0.55,0.55,0,1.1,0.55,2.2,0,0,0.55,0,0.55,0,0,0,0,0,0.55,3.31,0,1.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.55,0,0,0,0,0.165,0,0.496,0,0.082,16.826,148,387,1 +0,0,0.31,0,0.63,0.63,0.31,0.31,0,0,0,0.31,0.31,0,0,0.31,0.31,0,2.55,0,3.19,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0.108,0,0,0.162,0.054,1.515,10,144,1 +1.04,0,0.69,0,1.04,0,0.69,0,0,0.69,0,0.69,0,0,0.34,0.69,0,0,5.9,0,1.38,0,0.34,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0,0,0.379,0.063,0,2.042,12,96,1 +0,1.56,0,0,0,0,1.56,0,0,1.56,0,0,0,0,0,1.56,1.56,0,0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0.183,0,0,0.183,0.183,11.714,140,164,1 +0,0.54,0.54,0,1.08,0.54,2.16,0,0,0.54,0,0.54,0,0,0,0,0,0.54,3.24,0,1.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0.162,0,0.488,0,0.081,15.16,148,379,1 +0.14,0,0.57,0,0.28,0.14,0.28,0.28,0,0.43,0.14,0.28,0,0,0,1.88,0.14,0.14,1.01,0,1.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0,0,0,0,0,0,0,0,0,0.07,0,0.21,0,0,2.293,32,477,1 +0,0,0.44,0,0.22,0.22,0,0,0.66,0.44,0.22,0.88,0,0,0,0.22,0,0,1.32,0,1.1,0.22,0.22,0.22,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0.065,0.261,0,0.13,0.196,0,7.4,75,629,1 +0,0,0.29,0,0.88,0.14,0,0,0.88,0,0,0.73,0.14,0,0,0,0.29,0,2.2,0,0.88,0,0.14,0.29,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.097,0,0.388,0.048,0.024,2.264,49,428,1 +0.07,0.37,0.81,0,0.51,0.29,0.07,0,0.07,0.37,0.07,1.48,0.14,0,0.07,0,0.14,0.44,3.55,0,1.85,0,0,0.07,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0,0,0,0,0,0,0,0,0,0,0,0.052,0.073,0,0.167,0.167,0.01,3.412,44,795,1 +0,0,0.31,0,0.63,0.63,0.31,0.31,0,0,0,0.31,0.31,0,0,0.31,0.31,0,2.55,0,3.19,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0.108,0,0,0.163,0.054,1.515,10,144,1 +0,0,0.31,0,0.63,0.63,0.31,0.31,0,0,0,0.31,0.31,0,0,0.31,0.31,0,2.55,0,3.19,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0.108,0,0,0.163,0.054,1.515,10,144,1 +0.17,0,0.17,0,1.52,0.35,0.05,0.05,0.05,0.05,0.05,0.52,0.29,0.05,0,0,0.64,0.05,4.21,0.23,1.11,0,0.81,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0,0,0,0,0,0.01,0.052,0,0.01,0.167,0,1.838,13,467,1 +0.48,0,0.97,0,0.48,0,0.97,0,0,0,0,0.48,0,0,0,0,0.48,0.48,4.36,0,1.45,0,1.45,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0,1.085,0.232,0.077,5.166,58,186,1 +1.24,0.41,1.24,0,0,0,0,0,0,0,0,0.41,0,0,0,0.41,0,0.82,3.73,0,1.24,0,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0.068,0,0.48,0.549,0,3.166,19,114,1 +0.34,0.42,0.25,0,0.08,0.42,0.08,0.25,0.08,1.62,0.34,0.51,0.94,0,0.17,0.08,0,0,3,0,0.94,0,0.34,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0,0,0,0.065,0,0.261,0.294,0.065,3.282,62,535,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,8.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.233,0,0.233,9.5,84,323,1 +0,1.63,0,0,0,0,1.63,0,0,1.63,0,0,0,0,0,0,0,0,1.63,0,3.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,2,12,1 +0.17,0,0.08,0,0.43,0.08,0.08,0.43,0.08,0.08,0,0.6,0.17,0.17,0,0,0.17,0.08,1.2,0,3.14,0,0.34,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.085,0.028,0.092,0.014,0,4.16,48,1140,1 +0.17,0,0.08,0,0.43,0.08,0.08,0.43,0.08,0.08,0,0.6,0.17,0.17,0,0,0.17,0.08,1.2,0,3.14,0,0.34,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.085,0.028,0.092,0.014,0,4.16,48,1140,1 +0,0.34,0.69,0,0.34,0.69,0.34,0,0,1.04,0.34,1.38,0,0,0,0.69,0,0.69,4.86,0,1.73,0,0,1.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.058,0,0.638,0.174,0,2.17,8,89,1 +0,0,0.29,0,0.29,0.29,0.29,0.29,0,0,0.58,0.87,0,0,0,0.87,0.58,0.29,2.61,2.61,2.9,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.046,0,0.14,0,0.14,4.892,139,274,1 +0,0,0,0,0.45,0.45,0.45,0,0,0,0,0.45,0,0,0,0,0,0,0.9,0,0,9.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.072,0,1.083,7.857,45,440,1 +0,0,0.4,0,0,0,0.2,0,0.8,0.2,0,0.4,0,1.41,0.2,0.4,0,0,3.44,3.03,2.22,0,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.033,0.066,0,0.133,0.066,0,2.704,30,192,1 +0,0,0,0,0,0,1.33,0,0,0,0,0,0,0,0,0,0,0,1.33,0,5.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.213,1.492,0,29.125,223,233,1 +0.22,0.22,0.22,0,1.77,0.22,0.44,0.44,0.22,2.88,0,0.88,0.22,0,1.1,0.44,0,0.44,3.32,0,3.32,0,0.44,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0.588,0.156,0,86.7,1038,1734,1 +0,0.9,0,0,0,0,0,0,0,0,0,0.9,0,0,0,0,0,1.81,6.36,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.146,0,0.292,0,0,3,38,75,1 +0.74,0,0,0,0.74,0,0.74,0,0.74,0,0,0,0,0,0,0,0,0,0,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0.467,0.233,0,1.846,12,72,1 +0,0,0,42.81,1.28,0,0.28,0,0,0,0,0.28,0,0,0,0.14,0,0,1.7,0,0.85,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0.14,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0.026,0.078,0,0.13,0,0,7,137,826,1 +0,0,0.37,0,1.13,0,0.37,0,0,0.75,0,0.37,0,0,0,0.37,0.75,0,2.65,0,1.13,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.13,0,0,0,0,0.063,0,0.882,0.189,0,4.08,78,253,1 +0,0,0,0,0,0,0,0,0,0,0,0,1.33,0,0,0,2.66,5.33,2.66,0,2.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.799,0.514,0,1.823,11,62,1 +0,0,0.72,0,1.45,0.36,0,0,0,1.45,0,1.09,0,0,0,0.72,0,0,2.54,1.81,0.72,0,0,0,0.36,0.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.056,0,0.963,0.113,0.17,2.622,47,139,1 +0.54,0,1.08,0,0.54,0,1.08,0,0,0,0,0.54,0,0,0,0.54,0.54,0,4.32,0,1.08,0,1.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0,0,1.218,0.261,0,5.323,68,181,1 +0,0,0,0,0,0,0,0,0,1.81,0,0,0,0,1.81,1.81,0,0,1.81,0,0,0,5.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.628,0,0.628,0.943,0,2.944,9,53,1 +0,0,0.48,0,0.96,0,0.48,0,0,0,0,0,0,0,0,0.48,0.96,0,1.92,0,1.44,0,0.48,0.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.44,0,0,0,0,0.073,0,0.515,0.957,0,6.833,78,328,1 +0,0,0,0,0.98,0,0,0,0,0.98,0.98,0.98,0,0,0,0.98,0,0.98,2.94,0,1.96,0,0,0,0.98,0.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.98,0,0,0,0,0,0.278,0,0,2.95,18,59,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.833,0,0,1.375,3,11,1 +0,0,0,19.16,0.18,0,0.18,0,0,0,0,0,0,0,0,1.89,0,0,0.56,0,0,9.48,0,0.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.294,25.22,180,1261,1 +0,0,0.6,0,0,0.6,0,0,0.6,0,0,1.82,0,0,0,0.3,0,0,2.74,0,1.21,0,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.143,0.047,0.191,0.143,0,2.041,31,196,1 +0,0,0,0,0,0,0,0,0,0,0,1.33,0,0,0,1.33,0,0,2.66,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.326,0,0,2.2,11,44,1 +0.37,0.17,0.3,0.06,0.23,0.17,0.03,0.95,0.37,0.37,0.1,0.64,0.61,0.34,0.2,0.51,0.34,0.34,2.75,0.13,1.36,0,0.27,0.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0,0.03,0,0,0,0.011,0.041,0.071,0.379,0.136,0,3.341,181,1955,1 +0,0,0.6,0,0,0.6,0,0,0.6,0,0,1.81,0,0,0,0.3,0,0,2.72,0,1.21,0,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.142,0.047,0.19,0.142,0,2.03,31,199,1 +0.58,0,0,35.46,0.58,0,0.58,0.58,0,0,0,0,0,0.58,0,0.58,0.58,0.58,0.58,0,1.74,0,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.239,0.239,0,3.338,123,207,1 +0,0,1.4,0,0.46,0,0.46,1.4,0,0.46,0,0,0,0,0,0,0,0,2.8,0,1.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.93,0,0,0,0,0,0,0,0,0,0.123,0,0.37,0,0,6.137,54,313,1 +0,0,0.3,0,0.3,0.91,0,0.3,0,0,0,0.3,0.3,0,0,0.3,0.3,0.3,2.12,0,3.03,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3,0,0,0,0,0.211,0,0,0.211,0.052,1.745,11,185,1 +0,0,0.3,0,0.3,0.9,0,0.3,0,0,0,0.3,0.3,0,0,0.3,0.3,0.3,2.11,0,3.02,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3,0,0,0,0,0.21,0,0,0.21,0.052,1.738,11,186,1 +1.19,0.59,0,0,0.59,0,0,0.59,0,0,0,0,0.59,0,0,0,0,0.59,3.57,0,6.54,0,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.103,0,0,1.437,11,161,1 +0.5,0.25,0.42,0,0.08,0.23,0.02,0.35,0.35,0.69,0.21,0.9,0.5,0.92,0.02,0.33,0.42,0.02,3.05,0,1.43,0,0.94,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0,0,0,0,0.02,0,0.02,0,0,0.069,0,0.325,0.523,0.124,6.723,445,4128,1 +0.58,0,0,35.46,0.58,0,0.58,0.58,0,0,0,0,0,0.58,0,0.58,0.58,0.58,0.58,0,1.74,0,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.239,0.239,0,3.338,123,207,1 +0,0,0.3,0,0.3,0.91,0,0.3,0,0,0,0.3,0.3,0,0,0.3,0.3,0.3,2.12,0,3.03,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3,0,0,0,0,0.211,0,0,0.211,0.052,1.752,11,184,1 +0,0,0.3,0,0.3,0.91,0,0.3,0,0,0,0.3,0.3,0,0,0.3,0.3,0.3,2.12,0,3.03,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3,0,0,0,0,0.211,0,0,0.211,0.052,1.752,11,184,1 +0.47,0,1.19,0,0.23,0.23,0,0,0,0.47,0,1.43,0,0,0,0.71,1.43,0,5.26,0,2.63,0,0.71,0.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0.178,0,0.402,0.402,0.089,5.681,49,392,1 +0,0,1.79,0,0,0.59,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.103,10,204,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.347,0,0,3,7,9,1 +0,0,0.48,0,0.72,0.48,0,0,0.24,0,0.48,0.24,0,0,0,0.48,0,0,1.2,0,1.44,0,0.48,0.24,0,0,0,0,0,0.24,0,0,0,0,0,0,0,0,0,0.24,0,0,0.24,0,0,0,0,0.24,0,0.036,0,0.036,0.184,0,2.336,66,264,1 +0,0,0.48,0,0.72,0.48,0,0,0.24,0,0.48,0.24,0,0,0,0.48,0,0,1.2,0,1.44,0,0.48,0.24,0,0,0,0,0,0.24,0,0,0,0,0,0,0,0,0,0.24,0,0,0.24,0,0,0,0,0.24,0,0.036,0,0.036,0.184,0,2.336,66,264,1 +0.34,0.25,0.25,0,0.08,0.43,0.08,0.25,0.08,1.47,0.34,0.51,0.95,0,0.17,0.08,0,0,3.03,0,0.77,0,0.34,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0,0,0,0.049,0,0.263,0.263,0.065,3.076,62,526,1 +0.43,0,0,0,0.87,0.87,0,0,0,0.43,0,2.18,0,0,0,0,1.74,0,0.87,0,0.87,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.802,0,0,5.114,107,179,1 +0.43,0,0,0,0.87,0.87,0,0,0,0.43,0,2.18,0,0,0,0,1.74,0,0.87,0,0.87,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.874,0,0,5.114,107,179,1 +0,0,0.29,0,0.29,0.29,0.29,0.29,0,0,0.58,0.87,0,0,0,0.87,0.58,0.29,2.61,2.61,2.9,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.046,0,0.14,0,0.14,4.892,139,274,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4,7.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.543,0,0,5,15,50,1 +0,0,0,0,0.36,0.36,0,0.36,0.36,0.36,0,0.36,0,0,0,0,0.73,0,2.94,0,4.04,0,0,0.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.36,0,0,0,0,0,0,0,0.653,0.118,0,1.53,13,75,1 +0,0,0.97,0,0.38,0.19,0,0,0,0.19,0,1.16,0,0,0,0,0,0,0.58,0,0.38,0,0.77,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0.208,0,0.364,0.312,0,7.541,192,543,1 +0.17,0,0.08,0,0.42,0.08,0.08,0.42,0.08,0.08,0,0.6,0.17,0.17,0,0,0.17,0.08,1.2,0,3.17,0,0.34,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.085,0.028,0.099,0.014,0,4.07,48,574,1 +0.52,0,2.38,0,0.26,0,0.26,0,0.52,0,0.26,0,0,0,0,0.79,0,0,1.32,0,1.05,0,0,0.52,0,0,0,0,0,0,0,0,0.26,0,0,0.26,0.26,0,0.52,0,0,0,0,0,0,0,0,0,0,0.69,0,0.327,0,0,5.549,71,566,1 +0.46,0.31,0.46,0,0.05,0.13,0.05,0.26,0.44,0.75,0.26,0.96,0.57,1.22,0,0.1,0.44,0,3.21,0,1.48,0,1.01,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0,0,0,0,0.068,0,0.346,0.793,0.159,6.05,199,3213,1 +0.18,0,0.54,0,1.09,0.18,0.54,0,0.54,0.54,0,0.18,0,0,0.18,0.36,0.18,0.54,1.82,0,2,0,0,0.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.18,0,0,0,0,0,0,0,0.166,0,0.249,0.305,0,3.921,59,447,1 +0.17,0,0.08,0,0.42,0.08,0.08,0.42,0.08,0.08,0,0.6,0.17,0.17,0,0,0.17,0.08,1.2,0,3.17,0,0.34,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.085,0.028,0.099,0.014,0,4.07,48,574,1 +0,0,1.26,0,0,0,0,0,0,0,0,0,1.26,0,0,0,2.53,5.06,2.53,0,3.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9,0.475,0,1.763,11,67,1 +0,0,0,0,0,0,0.36,0,0,0,0,0,0,0,0,0.36,0,0,3.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.73,0,0,0,0,0,0,0.053,0.053,0,18.37,134,496,1 +0.37,0.75,1.13,0,0.37,0,0,0.37,0.37,1.88,0.37,2.64,0,0.37,0,0.37,0,0,2.26,0,4.52,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.197,0,1.248,0.197,0.065,58.705,842,998,1 +0,0.57,0,0,0,0,0,0,0,0,0.57,0.57,1.15,0,0,0,0,1.73,3.46,0,1.15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.107,0,0,1.421,7,54,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.17,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.411,0,0,4.307,15,56,1 +0.09,0.49,0.59,0,0.39,0.19,0,0,0.09,0.39,0,1.59,0.19,0,0,0,0.09,0,3.79,0,1.09,0,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.778,0.037,0,5.924,1.33,0,5.8,54,725,1 +0,0,0,0,0.38,0.38,0.38,0.38,0,0,0.38,0,0,0,0,0.38,0,0,3.87,0,1.93,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.123,0,0,2.062,12,99,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.17,0,3.17,0,3.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.298,0.597,0,3.333,12,30,1 +0,0.49,1.97,0,2.46,0,0,0,0,0,0,0,0.49,0,0,0.49,1.47,0.49,4.43,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.424,0,0,12.692,152,330,1 +0,0,0,0,0.38,0.38,0.38,0.38,0,0,0.38,0,0,0,0,0.38,0,0,3.87,0,1.93,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.123,0,0,2.062,12,99,1 +0.06,0.12,0.77,0,0.19,0.32,0.38,0,0.06,0,0,0.64,0.25,0,0.12,0,0,0.12,1.67,0.06,0.7,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0,0.041,0.031,0,0.25,0.073,0,1.764,37,766,1 +0.74,0.74,0.74,0,0,0,0.37,0,0.37,1.12,1.12,1.12,0,0,0,0,0,0.74,2.99,0,2.24,0,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.061,0.061,0.122,0,4.727,57,208,1 +0,0,0,0,1.58,0,0.39,1.19,0,0.39,0,0.79,0,0,0,0,1.58,0.39,3.96,0,1.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.705,0.211,0,1.903,13,118,1 +1.24,0,0.82,0,0,0,0.41,0,0,0.41,0,0.41,0,0,0,1.65,0.41,0,2.9,0,0.41,0,0.41,0.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.193,0,0.904,5.3,0,7.478,92,344,1 +0,0.09,0.14,0,1.04,0.09,0.09,0,0.79,0,0.04,0.29,0.19,0,0,0,0.14,0.04,1.53,0.24,1.23,0,0.29,0.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.04,0,0.04,0,0,0,0.015,0.119,0.007,0.431,0.111,0,3.37,87,1645,1 +1.24,0,0.82,0,0,0,0.41,0,0,0.41,0,0.41,0,0,0,1.65,0.41,0,2.9,0,0.41,0,0.41,0.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.193,0,0.904,5.3,0,7.478,92,344,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.722,57,85,1 +0,0,0,0,1.21,0,1.21,1.21,1.21,1.21,1.21,1.21,0,0,0,0,4.87,0,2.43,1.21,4.87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.555,0,0,104.666,311,314,1 +1.44,0,0,0,0,0,0,0,0,0.48,0,2.4,0,0,0,0.96,0,0,6.73,0,1.92,0,0.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0.174,0.087,0,1.612,12,50,1 +0.47,0.31,0.47,0,0.05,0.13,0.05,0.26,0.42,0.76,0.26,0.97,0.57,1.23,0,0.1,0.47,0,3.23,0,1.49,0,0.99,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0,0,0,0,0.067,0,0.328,0.858,0.157,5.928,199,3160,1 +0,0,0,0,1.47,1.47,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.562,0,0,5,95,170,1 +0.53,0,1.06,0,0.53,0,1.06,0,0,0,0,0.53,0,0,0,1.06,0.53,0,4.25,0,1.06,0,1.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.53,0,0,0,0,0,0,1.208,0.259,0,5.558,76,189,1 +1.24,0.41,1.24,0,0,0,0,0,0,0,0,0.41,0,0,0,0.41,0,0.82,3.73,0,1.24,0,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0.068,0,0.48,0.549,0,3.166,19,114,1 +0,0.55,0.55,0,2.23,0,0.55,0,0,0,0,0.55,0.55,0,0,0.55,2.79,0,3.91,0,1.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.259,0,1.208,0.345,0,4.761,140,200,1 +0,0.55,0.55,0,2.23,0,0.55,0,0,0,0,0.55,0.55,0,0,0.55,2.79,0,3.91,0,1.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.258,0,1.207,0.345,0,4.761,140,200,1 +0.37,0.75,1.13,0,0.37,0,0,0.37,0.37,1.89,0.37,2.65,0,0.37,0,0.37,0,0,2.27,0,4.54,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0,0.196,0,1.246,0.196,0.065,62.5,845,1000,1 +0.34,0,0.69,0,0.17,0.51,0,0.51,0.17,0.17,0.17,1.38,0,0,0,0.34,1.03,0.17,1.9,1.55,3.81,0,0.17,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0,0,0,0.17,0,1.275,0.141,0,5.598,78,711,1 +0,0.89,1.15,0,0.12,0,0,0.12,0.25,0.12,0.12,0.38,0.12,0,1.15,0,0.12,2.04,2.81,0.12,1.27,0,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0.164,0,0.371,0.061,0,2.89,84,477,1 +0,0.47,0.47,0,1.89,0,1.18,0.23,0,0.47,0.23,0.7,0.23,0,0.47,0.23,1.41,0,2.83,0,1.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,1.844,13,83,1 +0.47,0.31,0.47,0,0.05,0.13,0.05,0.26,0.44,0.76,0.26,0.97,0.58,1.26,0,0.26,0.44,0,3.24,0,1.5,0,1.02,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0,0,0,0.009,0.067,0,0.329,0.78,0.162,6.045,193,3059,1 +0,0,0,0,1.35,0.45,0,0,0,0,0,0,0.45,0,0,0.45,0.45,0.45,1.8,0,1.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.138,0,0.138,0,0,5.809,46,122,1 +0,0,0,0,0,0,1.23,0,0,0,0,0,0,0,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.939,0,0,1.379,8,40,1 +0,0,0,0,0,0,1.23,0,0,0,0,0,0,0,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.947,0,0,1.379,8,40,1 +0,0,0,0,0,0,1.23,0,0,0,0,0,0,0,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.949,0,0,1.379,8,40,1 +0.19,0,0,0,0.09,0.09,0.19,0,0,0.09,0.09,0.69,0.09,0,0,0,0,0.19,1.38,0,0.49,0,0.39,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0.09,0.017,0.068,0,0.586,0.189,0.017,2.349,31,477,1 +1.03,0,0.68,0,1.03,0,0.68,0,0,0.68,0,0.68,0,0,0.34,0.68,0,0,5.86,0,1.37,0,0.34,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0,0,0.503,0.062,0,1.82,12,91,1 +0.27,0,0.27,0,0,0,0,0,0,0.27,0.27,0.55,0,0,0,0,0,0,2.2,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.136,0.182,0,8.207,30,435,1 +0,1.09,0,0,0,0,0,1.09,0,0,0,0,0,0,0,0,0,0,0,0,1.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.09,0,0,0,0,0,0,0,1.09,0,0,0,0.173,0.519,0,0,0.692,0,4.941,25,84,1 +0,0.89,1.14,0,0.12,0,0,0.12,0.25,0.12,0.12,0.38,0.12,0,1.14,0,0.12,2.04,2.8,0.12,1.27,0,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0.165,0,0.371,0.061,0,2.878,84,475,1 +0,0,0,0,1.2,0,1.2,1.2,1.2,1.2,1.2,1.2,0,0,0,0,4.81,0,2.4,1.2,3.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.331,0,0,50.166,295,301,1 +0.49,0,0.74,0,0.24,0.74,0.24,0.74,0.24,0.24,0.24,1.23,0,0,0,0,1.23,0,1.23,1.73,2.47,0,0.24,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.116,0,1.634,0.155,0,3.975,47,485,1 +0,0,0.6,0,0.6,0,0.6,0,0,0,0,0,0.6,0,0,0,0,0.6,1.81,0,1.21,0,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.412,0,0.619,0.103,0,6.166,33,259,1 +0,0.46,0.46,0,1.38,0,0,1.85,0,0.92,0.46,0,0,0,0,0.92,0,0,0.92,0.46,1.38,0,0,0.46,0,0,0,0,0,0,0,0,0,0,0,0,1.38,0,0,0.46,0,0,0,0,0,0,0,0,0,0.072,0,0.795,0.217,0,4.869,66,224,1 +0.67,0,0.67,0,0,0,0,0,0,0.67,0,0,0,0,0,0,0,0,1.35,0,1.35,0,0,0,0,0,0,0,0,0,0,0,0,1.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.362,0,0,3.384,37,132,1 +0,0,0,0,0,0,1.47,1.47,1.47,1.47,1.47,0,0,0,0,0,2.94,0,0,1.47,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0.147,0,0.294,0.147,0,72,281,288,1 +0,0.49,0.49,0,1.49,0,0,0,0,0.99,0.49,0,0,0,0,0.49,0,0,0.99,0.49,1.99,0,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,1.49,0,0,0.49,0,0,0,0,0,0,0,0,0,0.078,0,0.625,0.312,0,4.75,47,190,1 +0,0.53,0,0,0,0.53,0.53,0,0,0,0,0,0,0,0,0,0,1.6,2.67,0,1.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.255,0,0,0,0,2.131,12,81,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,1.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.473,0,0,4.071,29,114,1 +0,0.56,0.56,0,2.27,0,0.56,0,0,0,0,0.56,0.56,0,0,0.56,3.4,0,3.97,0,1.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.262,0,1.135,0.349,0,5.105,140,194,1 +0.23,0.59,0.23,0,0.23,0.11,0,0,0.82,1.18,0.11,2,0.23,0,0,0,0.11,0,4.84,4.96,1.77,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0,0,0.186,0,0.13,0.168,0.018,5.76,175,795,1 +0,0,0.56,0,1.12,0,0,0,0,0,0,0,0.93,0,0.18,0,0.37,0.37,3.18,0,0.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.189,0,0.441,0,0,1.372,4,70,1 +0,0,0.47,0,1.42,0,0,0,0,0,0,0.95,0,0,0,0,0.95,0,2.38,0,2.38,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0.082,0,0.496,0.248,0,5.187,80,249,1 +0,0,0.56,0,1.12,0,0,0,0,0,0,0,0.93,0,0.18,0,0.37,0.37,3.18,0,0.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.189,0,0.441,0,0,1.372,4,70,1 +0,0,0.48,0,0.72,0.48,0,0,0.24,0,0.48,0.24,0,0,0,0.48,0,0.24,1.21,0,1.45,0,0.48,0.24,0,0,0,0,0,0.24,0,0,0,0,0,0,0,0,0,0.24,0,0,0.24,0,0,0,0,0.24,0,0.036,0,0.036,0.184,0,2.276,66,255,1 +0,0.36,0.72,0,1.44,0,0.36,0,0,1.44,0.72,0.36,0.36,0,0,0,0,0,2.89,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.517,6.685,60,234,1 +0.67,0,0.67,0,0,0,0,0,0,0.67,0,0,0,0,0,0,0,0,1.35,0,1.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.413,0,0,3.384,37,132,1 +0,0.47,0,0,0.47,0,0,0,0,0,0.47,0,0,0,0,0.47,0,0.95,1.9,0,1.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.056,0,0,0,0,7.18,182,359,1 +0,0.47,0,0,0.47,0,0,0,0,0,0.47,0,0,0,0,0.47,0,0.95,1.9,0,1.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.056,0,0,0,0,7.18,182,359,1 +0.43,0.28,0.43,0,0.04,0.11,0.04,0.21,0.4,0.69,0.23,0.88,0.52,1.14,0,0.23,0.4,0,2.93,0,1.36,0,0.97,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0,0,0,0,0.064,0,0.311,0.734,0.145,5.328,144,3016,1 +0,0,2.5,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.303,0,0.909,0,0,2.857,11,40,1 +0.1,0.2,1.01,0,0.8,0.8,0.5,0,0.8,0.1,0.3,0.7,0.3,0,1.61,0.1,0,1.11,1.31,0.2,0.7,0,0.6,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0.1,0.1,0,0,0,0.11,0,0.49,0.158,0.015,8.55,669,1351,1 +0,0,0,0,0,0,1.47,1.47,1.47,1.47,1.47,0,0,0,0,0,2.94,0,0,1.47,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0.147,0,0.294,0.147,0,71.5,281,286,1 +0,0.56,0.56,0,2.25,0,0.56,0,0,0,0,0.56,0.56,0,0,0.56,3.38,0,3.95,0,1.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.26,0,1.217,0.347,0,5.105,140,194,1 +0,0,0,0,2.38,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,11,20,1 +0,0,0.55,0,1.11,0,0,0,0,0,0,0,0.92,0,0.18,0,0.37,0.37,3.14,0,0.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.186,0,0.434,0,0,1.377,4,73,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.462,0,0.462,0,0,3.125,6,25,1 +0.47,0.31,0.47,0,0.05,0.15,0.05,0.23,0.44,0.76,0.26,0.97,0.58,1.27,0,0.26,0.44,0,3.25,0,1.5,0,1.11,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0,0,0,0,0.068,0,0.344,0.784,0.154,6.094,193,3029,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,4.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.176,0,0.706,0,0,8.411,55,143,1 +0,0.47,0,0,0,0.47,0,0,0.23,0.23,0,1.19,0.47,0,0,0.23,0,0.47,2.63,0,0.47,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0.23,0,0.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.327,1.357,0.046,5.769,72,450,1 +0,0,0,42.73,0,0,0.42,0,0,0.42,0,0.42,0,0,0.42,0,0,1.28,2.99,0,2.13,0,1.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.349,0,7,105,441,1 +0,0,0.54,0,1.08,0,0,0,0,0,0,0.18,0.9,0,0.18,0,0.36,0.36,3.06,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.029,0.178,0,0.416,0,0,1.373,6,92,1 +0,0,0.58,0.58,0,0,0,0.29,0,0,0,0,0.29,0,0,0,0.29,0.58,2.91,0.87,1.74,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.43,0,1.434,0,0.047,3.281,64,361,1 +0,0,0.48,0,1.44,0.48,0,0,0,0,0,0.96,0,0,0,0,0.96,0,2.41,0,2.41,0,0.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0.083,0,0.502,0.251,0,5.488,80,247,1 +0,0,0.48,0,1.45,0,0,0,0,0,0,0.97,0,0,0,0,0.97,0,2.42,0,2.42,0,0.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0.084,0,0.421,0.252,0,5.173,80,238,1 +0,0,0.49,0,1.47,0,0,0,0,0,0,0.98,0,0,0,0,0.98,0,2.45,0,2.45,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0,0.084,0,0.677,0.254,0,5.2,80,234,1 +0.72,0,0,0,0,0,1.45,0,0,0,0,0.72,0,0,0,0,1.45,0,2.18,1.45,5.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.105,0,0,2.689,25,78,1 +0.45,0.28,0.42,0,0.04,0.11,0.04,0.21,0.4,0.69,0.23,0.88,0.52,1.14,0,0.23,0.4,0,2.93,0,1.36,0,1,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0,0,0,0,0.065,0,0.318,0.754,0.152,5.349,144,3033,1 +1.17,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,1.17,0,3.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0,0,0.924,0,0,1.966,10,59,1 +0,0,0,0,0.64,0,0,0,0,0,0.64,0.64,0,0,0,0,1.29,0,1.29,5.19,1.29,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.468,0,0.093,0,0,2.755,66,135,1 +0,0,0,0,0.64,0,0,0,0,0,0.64,0.64,0,0,0,0,1.29,0,1.29,5.19,1.29,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.468,0,0.093,0,0,2.755,66,135,1 +0,0,0,0,0.64,0,0,0,0,0,0.64,0.64,0,0,0,0,1.29,0,1.29,5.19,1.29,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.468,0,0.093,0,0,2.755,66,135,1 +0,0,0.3,0,0,0,0,0,0,0.3,0,0.3,0,0,0.3,0.3,0,0.15,0.15,0,0.15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.76,0,0,0,0,0,0,0,0,0,0,0.3,0.472,0.067,0,0,0.044,0.067,1.607,16,418,1 +0.41,0,1.25,0,0.2,0.2,0,0,0,0.41,0,1.25,0,0,0,0.62,1.25,0,4.6,0,2.3,1.67,0.62,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0,0,0,0,0,0,0,0,0.153,0,0.345,0.345,0.306,5.132,37,426,1 +0,0,0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13.166,28,79,1 +0.47,0.31,0.47,0,0.07,0.13,0.05,0.26,0.44,0.76,0.26,0.97,0.57,1.26,0,0.26,0.44,0,3.22,0,1.47,0,1.1,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0,0,0,0,0.068,0,0.331,0.79,0.159,6.073,193,3043,1 +0,0,0.55,0,1.11,0,0,0,0,0,0,0,0.92,0,0.18,0,0.37,0.37,3.15,0,0.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.185,0,0.464,0,0,1.392,4,78,1 +0,0.63,0,0,1.59,0.31,0,0,0.31,0,0,0.63,0,0,1.27,0.63,0.31,3.18,2.22,0,1.91,0,0.31,0.63,0,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,1.59,0,0,0,0,0,0,0,0,0,0.278,0,0.055,0.501,0,3.509,91,186,1 +0,0.56,0.56,0,2.25,0,1.12,0,0,0,0,0.56,0.56,0,0,0.56,3.38,0,3.95,0,2.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.26,0,1.13,0.347,0,4.875,140,195,1 +0,0,0.55,0,1.11,0,0,0,0,0,0,0,0.92,0,0.18,0,0.37,0.37,3.15,0,0.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.185,0,0.464,0,0,1.392,4,78,1 +0,0,0,0,0.94,0,0,0,0,0,0,0,0,0,0,0,0,0,1.88,0,2.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.443,0,0,4.652,31,107,1 +0.17,0,0.17,0.44,0.17,0,0,0,0,0,0,0.35,0.52,0.17,0,0.08,0.52,0,4.04,0,2.64,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0,0,0,0,0,0,0,0,0,0,0.709,0.105,0,0,0,0,2.039,18,414,1 +0,0,0,0,0,0,0,0,0,0.33,0,0.67,0,0,0,0,0,0,1.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0.33,0.33,0,0,0.28,0.28,0,0.112,0.336,0,2.96,19,222,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.88,2.65,0,0.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.88,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0,0,0,0,1.512,7,62,1 +0,0,0.12,0,0.36,0.24,0,0,0,0,0.12,0.12,0.12,0,0,0,0,0,1.21,0,0.96,0,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.043,0,0.693,0,0,1.335,11,195,1 +0.19,0.19,0.29,0,1.07,0.19,0.19,0.97,0.87,0.58,0.09,1.07,0.19,0.87,0.09,0,0,1.17,3.81,0.68,1.75,0,0.09,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0.09,0,0,0,0,0,0,0,0,0,0,0.202,0.405,0.233,0.031,4.32,49,877,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,1.56,0,0,0,0,1.56,6.25,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0.754,0.188,0,5.551,119,161,1 +0.73,0,0.36,0,0.36,0.36,1.09,0,0,0,0,0.36,0,0,0,0.36,1.83,0.73,2.56,0,1.09,0,0.36,1.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.183,0,0.427,0.061,0,4.42,192,305,1 +0,0,0.22,7.07,0,0,0,0.45,0,0,0,0,0,0,0,0.45,0,0,0.22,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.22,0,0,0,0,0,0,0,0,0.22,0,0,0,0.153,0.092,0,0,0,0.03,2.47,27,425,1 +0,0.19,0,0,0.68,0.09,0.09,0,0.29,0.09,0.48,0.77,0.09,1.65,0,0.58,0.87,0.19,3.21,0,2.43,0,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0.06,0.045,0,1.597,20,329,1 +0,0.42,0.42,0,0,0,0,0,0,0,0,0.84,0,0,0,0,0,0.84,2.95,0,2.53,0,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.075,0,0.6,0.3,0,4.02,82,197,1 +0,0.42,0.42,0,0,0,0,0,0,0,0,0.84,0,0,0,0,0,0.84,2.95,0,2.53,0,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.075,0,0.6,0.3,0,4.02,82,197,1 +0,0.4,0.4,0,0.4,0,0.4,0,0,2.4,0,0,0,0,0.4,0.8,0,0,2,0.4,2,0,0,0,0,0,0,0,0,0,0.4,0,0.4,0,0,0,0,0,0,0.4,0,0,0,0,0,0,0,0,0,0.232,0,0.116,0.116,0,4.058,54,207,1 +0,0,0,0,0,0.63,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0,1.91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.613,0,1.251,12,174,1 +0,1.25,0,0,0,0,1.25,0,0,0,0,0,0,0,0,1.25,1.25,1.25,1.25,0,3.75,0,0,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.199,0,0,0.298,0,0,3.976,32,171,1 +0,0,0.79,0,0.26,0,0.26,0.26,0,0,0,1.31,0,0,0,0,0,0.26,1.58,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.52,0.26,0,0,0.26,0,0,0,0,0,0,0,0.26,0.038,0.038,0,0.077,0,0,1.8,29,171,1 +0,0.7,0,0,2.83,0,0,0,0,0.7,0,0.7,0,0,0,1.41,1.41,0,7.09,0,5.67,0,0,0,0,0,0,0,0,0,0,0,0.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.126,4.176,44,142,1 +0,0.55,0.55,0,2.22,0,0.55,0,0,0,0,0.55,0.55,0,0,0.55,3.88,0,3.88,0,1.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.255,0,1.191,0.34,0,4.59,140,202,1 +0,0,0.72,0,0.72,0,0.72,0,0,0,0,0,0.72,0,0,0,0,0,1.45,0,1.45,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.364,0,0.729,0.121,0,7.781,32,249,1 +0,0,0.84,0,0.84,0,0.84,0,0,0,0,0,0.84,0,0,0,0,0,2.54,0,1.69,0,0,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.388,0,0.776,0.129,0,10.375,168,249,1 +0,0,0.72,0,0.72,0,0.72,0,0,0,0,0,0.72,0,0,0,0,0,1.45,0,1.45,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.364,0,0.729,0.121,0,7.781,32,249,1 +0,1.22,0.81,0,0.4,0,0.81,0.4,0,0.81,0,0.4,2.04,0,0,3.27,0,1.22,0.81,0,0.4,0,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0.64,0.8,0,7.651,181,505,1 +0.34,0.05,0.58,0,0.63,0.17,0,0,0.75,0.23,0.34,1.27,0.34,0,0,0.58,0.05,0.17,3.01,2.61,1.5,0,0.17,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.204,0,0.13,0.186,0.027,4.225,131,1107,1 +0.71,0,0,0,5,0,0,0,0,0,0,0,0,0,0,2.85,0,0,2.14,0,0,0,0,0.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.417,0,0,3.029,12,103,1 +0.65,0,0,0,1.3,0,0,0,0,0,0.65,1.3,0.65,0,0,1.3,1.3,0,2.61,0,3.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,0,0.515,0.103,0,2.04,12,51,1 +0,0,0,0,0,0,1.61,0,0,1.61,0,1.61,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.23,0,0,4.941,60,84,1 +0,0,0,0,0.32,0,0,0.32,0.32,0.64,0,1.28,0,0,0,2.56,0.96,0,3.84,0,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098,0.049,0.492,0,0,2.184,25,166,1 +0,0.64,0.64,0,0.64,0,0.64,0,2.59,1.29,1.29,1.94,0,0,0,0.64,0.64,0.64,3.24,0,2.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.233,0,0,1.136,4,25,1 +0,0,0,0,0.49,0,0.98,0,0,0,0,0.98,0,0,0,0,0.98,0,2.45,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.064,0.258,0,0.645,0.064,0.064,3.552,25,135,1 +0.44,0,0.88,0,0.44,1.32,0,0,0,0,0,0,0,0,0,0,0,0.44,1.76,0,2.2,0,2.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.222,0,0,0.444,0.37,0,2.413,16,140,1 +0,0,0.69,0,0.69,0,0.69,0,0,0,0,0,0.69,0,0,0,0,0,1.38,0,2.08,0,0,0.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0.701,0.116,0,8.781,34,281,1 +0.44,0,0.88,0,0.44,1.32,0,0,0,0,0,0,0,0,0,0,0,0.44,1.76,0,2.2,0,2.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.222,0,0,0.444,0.37,0,2.413,16,140,1 +0.44,0,0.88,0,0.44,1.32,0,0,0,0,0,0,0,0,0,0,0,0.44,1.76,0,2.2,0,2.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.222,0,0,0.444,0.37,0,2.413,16,140,1 +0.44,0,0.88,0,0.44,1.32,0,0,0,0,0,0,0,0,0,0,0,0.44,1.76,0,2.2,0,2.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.222,0,0,0.444,0.37,0,2.448,16,142,1 +0,0,0,0,0,0,0,0,0,0,0,0.59,0,0,0,0.59,0,0,1.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.177,0,0.443,0.088,0,1.693,16,83,1 +0.1,0.2,1.01,0,0.8,0.8,0.5,0,0.8,0.1,0.3,0.7,0.3,0,1.61,0.1,0,1.11,1.31,0.2,0.7,0,0.6,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0.1,0.1,0,0,0,0.11,0,0.49,0.158,0.015,8.55,669,1351,1 +0,0,1.66,0,1.66,0,1.66,0,0,0,0,1.66,0,0,0,3.33,0,0,1.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.284,0,1.424,0,0,24.333,59,146,1 +0.1,0.2,1.01,0,0.8,0.8,0.5,0,0.8,0.1,0.3,0.7,0.3,0,1.61,0.1,0,1.11,1.31,0.2,0.7,0,0.6,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0.1,0.1,0,0,0,0.11,0,0.49,0.158,0.015,8.55,669,1351,1 +0.17,0.17,0,0,0.52,0,0,0.43,0,0.17,0.17,0.35,0,0,0,0.87,0,0,1.4,0.17,0.87,0,0,0.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.376,0,0.25,0.721,0,2.742,35,617,1 +0,0,0.8,0,0.8,1.61,0,0,0,0,0,0.8,1.61,0,0,0,0,0,4.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.875,0,0,6,48,138,1 +0,0.52,1.05,0,2.63,0.52,1.05,0,0,0,0.52,1.05,0,0,0,1.05,1.05,1.05,4.21,0,1.57,0,0.52,0,0,0,0,0,0,0,0,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.091,1.276,0.729,0.091,3.062,19,98,1 +0.17,0,0.17,0,1.45,0.34,0.05,0.05,0.05,0.05,0.05,0.52,0.29,0.05,0,0,0.69,0.05,4.24,0.23,1.04,0,0.75,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.01,0.051,0,0.02,0.163,0,1.796,12,458,1 +0.17,0.17,0,0,0.52,0,0,0.52,0,0.17,0.17,0.34,0,0,0,0.87,0,0,1.39,0.17,0.87,0,0,0.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.373,0,0.342,0.716,0,2.973,35,336,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.46,0,2.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.415,0,0,1.909,9,42,1 +0.1,0.3,0.4,0,0.2,0.9,0.2,0.5,0.8,0.8,0.2,0.8,0,0,1.5,0,0.2,1.6,2.2,0.2,1,0,0.1,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0,0,0,0,0.175,0,0.307,0.175,0.014,6.937,669,1214,1 +0,0,1.04,0,1.04,0,0,1.39,0.34,0,0,0.34,0,0,0,0,0,0,3.83,2.09,1.04,0,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.105,0,0.157,0.105,0,2.366,60,142,1 +0,0.89,1.14,0,0.12,0,0,0.12,0.25,0.12,0.12,0.38,0.12,0,1.14,0,0.12,2.04,2.8,0.12,1.27,0,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0.185,0,0.371,0.061,0,2.878,84,475,1 +0,0.89,1.15,0,0.12,0,0,0.12,0.25,0.12,0.12,0.38,0.12,0,1.15,0,0.12,2.04,2.81,0.12,1.27,0,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0.185,0,0.37,0.061,0,2.878,84,475,1 +0.29,0.19,0.68,0,0,0.58,0,0.58,0.58,0.77,0,0.58,0.38,0,0.97,0,0.19,1.46,1.75,0.38,0.77,0,0.58,0.68,0,0,0,0,0,0,0,0,0,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.034,0,0.569,0.207,0.034,12.064,691,1689,1 +0.31,0.2,0.72,0,0,0.62,0,0.62,0.62,0.93,0,0.62,0.41,0,1.04,0,0.2,1.56,1.87,0.41,0.83,0,0.62,0.72,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.548,0.199,0.033,14.301,685,1516,1 +0,0.3,0.3,0,0.61,0.3,0,0,0,0.3,0.3,0.3,0,0,0,0.92,0,0,0.61,0,0,0,0,0,0,0,0,0,0,3.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3,0,0,0,0,0,0.094,0,0,0,0,2.141,38,212,1 +0,0,0,0,1.13,0,1.13,0,0,0,0,0,0,0,0,1.13,1.13,0,1.13,0,0,0,0,0,0,0,0,0,0,0,0,0,1.13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.319,0,0,0,0.479,3.925,17,106,1 +0.17,0,0.17,0,1.45,0.34,0.05,0.05,0.05,0.05,0.05,0.52,0.29,0.05,0,0,0.69,0.05,4.24,0.23,1.04,0,0.75,0.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.01,0.051,0,0.02,0.163,0,1.796,12,458,1 +0,0,0,0,0.32,0.64,0,0,0,0.64,0,0.32,0,0,0,0,0,0,1.94,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.052,0,0.263,0.105,0,3.418,110,188,1 +0.31,0.2,0.72,0,0,0.62,0,0.62,0.62,0.93,0,0.62,0.31,0,1.14,0,0.2,1.56,1.87,0.41,0.83,0,0.62,0.72,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.548,0.199,0.033,14.283,685,1514,1 +0,0.39,0.99,0,0.39,0,0.19,0,0.19,0.19,0,0.39,0,0,0,0,0.19,0.19,0.59,0.59,0.39,0,0.19,0.39,0,0,0,0.59,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0.074,0,0.174,0.548,0,4.965,97,993,1 +0,0,0,0,0.43,0.86,0,0,0,0,0,0,0,0,0,0,0,0,2.17,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.068,0,0,0,0,2.923,55,114,1 +0.1,0.5,0.6,0,0.3,0.2,0,0,0.1,0.4,0,1.6,0.2,0,0,0,0.1,0,3.81,0,1.1,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78,0.037,0,5.942,1.334,0,5.838,54,724,1 +0.39,0,0,0,0,0.39,0,0,0,0,0,1.19,0,0,0,0.39,0.39,0,2.39,0,2.78,0,1.19,0.39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0.256,0,3.5,30,112,1 +0,0,0,0,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0,0,0,0,0,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098,0,0.392,0,0,3.965,67,115,1 +0,0,0,0,0.54,0.27,0,1.62,0,1.62,0,0,0,0,0.54,0,0,0.27,2.16,0,2.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.35,0,0,0,1.62,0,0,0,0,0,0,0,0,0,0.038,0.038,0.463,0,0,7.941,65,405,1 +0,0,0.26,0,0.26,0,0,0,0,0,0.26,1.06,0,0.26,0.26,0.8,0,0.26,1.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.299,0,0.471,0,0,2.088,15,188,1 +0,0.9,0,0,0.9,0,0.9,0,0,0.9,0,0,0,0,0,1.81,0,1.81,1.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0.319,0,1.492,0,19.829,5.3,66,106,1 +0.44,0.44,0,0,0,0,0,0,0,2.64,0,1.76,0,0,0,0,0,0.44,2.64,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.231,0,0,0.231,0,5.977,70,263,1 +0,0.55,0.55,0,0.55,0,0,0.55,0,0,0,1.11,0,0,0,1.11,0,0.55,1.66,0,2.22,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.55,0,0,0,0,0,0,0,0.484,0.08,0,8.375,85,201,1 +0,0,0,0,1.21,0,0.8,0,0,0.8,0.4,0.8,0.4,0,0,1.61,0,0,1.61,0,1.21,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0,0.21,0,0.07,4.49,24,229,1 +0,0.53,0,0,1.06,0,1.6,0,0,0.53,0,0,0,0,0.53,0,0,0.53,2.13,0,0.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.53,0,0,0,0,0.239,0.079,0.159,0,0,4.555,51,123,1 +0,2.35,0,0,1.17,0,0,0,0,2.35,0,1.17,0,0,0,1.17,0,0,2.35,0,3.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.25,20,42,1 +0,0,0,0,0,0,0,6.06,0,0,0,0,0,0,0,0,0,0,6.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0.48,0,1.684,10,32,1 +0,0.8,0,0,0.8,0,0.8,0,0,0.8,0,0,0,0,0,0.8,0.8,0.8,1.6,0,1.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.135,0,0.27,0,0,3.115,19,81,1 +0,0.8,0,0,0.8,0,0.8,0,0,0.8,0,0,0,0,0,0.8,0.8,0.8,1.6,0,1.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.134,0,0.269,0,0,3.115,19,81,1 +0.59,0,0.35,0,1.66,0,0,0,0.23,1.3,0.71,2.49,0.59,0,0,0.59,0.11,0,4.51,0,1.66,0,0.47,0.83,0,0,0,0,0,0,0,0,0,0,0.23,0,0,0,0,0.11,0,0,0,0,0.11,0,0,0,0,0.038,0,0.155,0.233,0.019,3.625,54,504,1 +0.17,0.26,1.21,0,0.43,0.6,0.43,0.26,0.69,0.52,0.26,1.3,0.17,0,0.6,0.78,0.17,1.39,2.43,0.17,1.13,0,0.95,0.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0.08,0,0,0,0,0.108,0,0.271,0.243,0.013,6.395,583,1375,1 +0.1,0.1,0.7,0,0.6,0.2,0.4,0.1,1.41,0.81,0.1,0.5,0,0,0,0.1,0,1.11,2.22,0.4,1.92,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0.26,0.994,0.391,0.032,3.176,56,1042,1 +0.22,0,0,0,0,0.22,0.22,0,0,0.22,0,0.22,0,0,0,0.22,0,0,2.03,0,0.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.271,0,0.647,0,0,1.869,21,215,1 +0.1,0.3,0.4,0,0.2,0.9,0.2,0.5,0.8,0.8,0.2,0.8,0,0,1.6,0,0.2,1.7,2.2,0.2,1,0,0.1,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0,0,0,0,0.174,0,0.334,0.174,0.014,6.896,669,1200,1 +0.49,0.49,0.49,0,0,0,0.49,0,0,0,0,1.98,0,0,0,0.49,0,0.49,3.46,0,0.99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0.195,0,0.845,0.195,0,7.205,47,281,1 +0,0,0.65,0,0.65,0,0.65,0,0,0,0,0.65,0,0,0,0.65,0,0,4.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0.233,0,0,2.5,23,135,1 +0,0,1.25,0,1.25,0.62,0,0,0,0,0,0,0,0,0,1.25,0.62,0,0.62,0,1.88,0.62,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.62,0,0,0,0,0.11,0,0.331,0.11,0.11,3.897,30,152,1 +0.9,0,0,0,0,0,0.9,0,0,0,0,0,0,0,0,0,0.9,0.9,1.81,0,2.72,0,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.564,0,0,2.818,19,62,1 +0,0.29,0,0,0,0.29,0.29,2.04,0,0,0.29,1.16,0.29,0,0.29,1.16,2.33,1.16,2.33,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.132,0,0.044,0,0,1.559,24,145,1 +0,0.95,0.95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0.47,1.91,0,0,0.47,0,0,0,0,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.067,0.202,0,0.269,0,0,4.18,45,464,1 +0.54,0.13,0.38,0,0.05,0.16,0,0.05,0.35,0.16,0.24,1.11,0.38,1.19,0.13,0.19,0.43,0.48,3.56,0,0.81,0,1.14,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0,0.02,0,0,0.086,0,0.268,0.15,0.159,6.761,195,3313,1 +0.54,0.13,0.38,0,0.05,0.19,0,0.05,0.35,0.16,0.24,1.11,0.38,1.19,0.13,0.19,0.43,0.48,3.56,0,0.81,0,1.14,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0,0.02,0,0,0.086,0,0.273,0.15,0.159,6.789,195,3327,1 +0.27,0.27,0.55,0,0.27,0.27,0,1.39,0.27,0.83,0.27,0.55,0,0,0,0,1.39,0.55,1.67,1.95,3.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0,0,0,0,0,0,0.279,0,2.001,0.093,0,3.706,63,341,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,2.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.05,0,0,0,0,0,0,0,0,1.05,0,0,0,0,0.177,0,0,0.354,0,4.047,29,85,1 +0.1,0.1,0.03,0,0.07,0.03,0,0.03,0,0.1,0,0.53,0,0,0,0.17,0.03,0,0.81,0.03,1.35,0,0.1,0.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0,0.03,0,0,0.071,0,0.013,0.065,0,2.11,46,3220,1 +0.49,0.33,0.33,0,0.08,0.41,0.08,0.24,0,1.4,0.33,0.57,0.9,0,0.24,0,0,0,2.89,0,0.9,0,0.16,0.41,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.063,0,0.271,0.191,0.095,4.904,264,667,1 +0,0.27,0.27,0,1.09,0,0,0,0.82,0.54,0,0.27,0.27,0,0,0.27,0.54,0,2.46,0,2.19,0,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.085,0.128,0,2.484,20,164,1 +1.18,0.39,0.59,0,0,0.98,0.19,0.19,1.38,0.39,0,0.98,0,0.19,0,0.98,0,0,2.56,0.39,1.38,0,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.237,0,0.765,0.316,0.026,6.652,76,632,1 +0,0,0,0,3.84,0,0,1.28,0,0,0,1.28,0,0,0,0,0,0,2.56,0,1.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.203,0,0,1.956,10,45,1 +0.33,0.44,0.37,0,0.14,0.11,0,0.07,0.97,1.16,0.11,1.42,1.76,1.27,0.03,0.03,0.07,0.07,4.38,0,1.49,0,0.33,0.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0.03,0,0,0,0.006,0.159,0,0.069,0.221,0.11,3.426,72,819,1 +0,0,0,0,0,0,0,3.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.04,0,0,0,0,0.198,0,0.198,0.198,0,3.857,25,81,1 +0,0,0.78,0,1.17,0,0,0,0,0,0,0.39,0,0,0,0.78,0,0,1.56,0,1.96,0,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.094,0,4.111,20,222,1 +0,0.34,1.02,0,0.68,0.34,0.34,0,0,0,0,0.34,0,0,0,2.04,0,0.34,4.76,0,2.38,0,0,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.167,0,0.222,0,4.008,6.978,56,328,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.25,0,2.12,0,0,0,0,0,0,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.5,26,45,1 +0,0,0.48,0,1.45,0,0,0,0.48,0,0,0,0,0.16,0,0.64,0.32,0,0.8,0,0.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0.198,0,0.594,0,0,5.683,128,557,1 +0.28,0.28,0.56,0,0.28,0.28,0,1.4,0.28,0.84,0.28,0.56,0,0,0,0,1.4,0.56,1.69,1.97,3.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0,0,0,0,0,0,0,0.284,0,1.282,0.094,0,3.725,63,339,1 +0.3,0,0,0,0.3,0.3,0.61,0,0.61,0.61,0,0.61,0,0,0,0.3,0.3,0.61,1.84,0,0.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.051,0,0.103,0.051,0,6.125,64,343,1 +0,0,0,0,0,0,0,0,0,3.77,0,0,0,0,0,0,0,0,1.88,0,0,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.264,0,0,0,0,0,4.333,13,78,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.66,0,0,0,0,6.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.537,0,0,2.777,12,25,1 +0,0,0,0,0,0,0,0,0,3.77,0,0,0,0,0,0,0,0,1.88,0,0,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.264,0,0,0,0,0,4.333,13,78,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.66,0,0,0,0,6.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.537,0,0,2.777,12,25,1 +0,0,0,0,0,0,0,0,0,3.77,0,0,0,0,0,0,0,0,1.88,0,0,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.264,0,0,0,0,0,4.333,13,78,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.66,0,0,0,0,6.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.537,0,0,2.777,12,25,1 +0,0,0.53,0,0.21,0.1,0.1,0.53,0.1,0.21,0,0.64,0,0,0,0,0.1,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.099,0,0.016,0.066,0,2.104,29,381,1 +0,0,0,0,0,0,1.15,0,0,0,1.15,0.76,0.76,0,0,0.38,0,0.38,4.61,0.38,0.76,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.486,0.347,0,1.608,6,74,1 +0,0,0.68,0,0.68,0,0.68,0,0,0.68,0,0.68,0,0,0,0,0,4.1,4.1,0,0.68,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,0,0,0,0,0,1.089,0.242,0,3.488,60,157,1 +0,0,0.51,0,1.03,0.51,0,0,0,0,0.51,1.03,0,0.51,0,0,0.51,0.51,2.59,0,5.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.074,0,0.373,0.149,0,7.233,71,217,1 +0,0.35,0.17,0,0,0,0,0,0.17,1.25,0,0.53,0,0,0,0,0,0.17,3.21,0,1.25,7.32,0,0.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0,0,0,0,0,0.066,0,0,0.099,0.63,16.418,158,903,1 +0,0,0,1.33,0,0,0,1.33,0,0,0,0,0,0,0,1.33,0,0,0,0,1.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.684,0,0.228,3,12,69,1 +0,0,0.27,0,0.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0.82,0,1.1,1.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0,0.187,6.693,49,328,1 +0,0,0,0,0,1.09,0,0,0,0,0,0,0,0,0,0,0,0,2.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.403,0,3.427,0,0,2.678,12,75,1 +0.09,0,0.27,0,0.36,0.09,0,0.18,0.09,0,0,0.73,0,0.36,0,0,0,0,2.01,0,3.38,0,0.36,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0.016,0.048,0.032,0.257,0.032,0.032,3.689,69,535,1 +0.73,0,0.36,0,1.59,0,0,0,0.24,1.35,0.73,2.58,0.61,0,0,0.61,0.12,0,4.55,0,1.72,0,0.49,0.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,0.041,0,0.104,0.229,0.02,3.705,54,478,1 +0.73,0,0.36,0,1.59,0,0,0,0.24,1.35,0.73,2.58,0.61,0,0,0.61,0.12,0,4.55,0,1.72,0,0.49,0.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,0.041,0,0.104,0.229,0.02,3.705,54,478,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0.176,0,0.176,0.352,0,3.857,25,81,1 +0.66,0,0.26,0,0.26,0,0.13,0,0.66,0.26,0,0,0.79,0.13,0,0,0,0,3.98,0,0.53,0,0,1.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.13,0,0,0,0,0.109,0,0.414,0.021,0,5.955,65,667,1 +0.18,0,0.09,0,0.36,0.09,0,0.36,0.09,0,0,0.63,0.09,0.36,0,0,0.09,0,1.27,0,3.38,0,0.36,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.059,0.029,0.029,0.014,0,4.192,48,566,1 +0,0,1.15,0,0.38,0.38,0,0,0,0,0,0.38,0,0,0,1.54,0,0,5.4,0,2.31,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.196,0,0.261,0,0,5.666,56,272,1 +0,0,0,0,1.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.05,0,0,0,0,0,0,0,0,0,0,0,0,0.088,0,0,0.088,0,6.718,33,215,1 +0,0,0.53,0,0.53,0,0,0.53,0,0,0,1.06,0,0,2.12,0,0.53,0.53,2.65,0,2.65,0,1.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.53,0.53,0,0,0,0,0,0,0,0,0,0.191,0,0.095,0.478,0,5.038,60,131,1 +0,0.11,0.35,0,1.18,0.47,0.23,0.35,0,0.11,0.11,0.95,0,0.11,0,2.14,0.95,0.23,1.9,0.35,0.35,0,0.59,0.11,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0.11,0,0,0,0,0,0,0,0,0,0.059,0,0.434,0.197,0.217,8.026,283,1509,1 +0,0.35,0.35,0,1.07,0,0,0.35,0,1.07,0,0.71,0,0,0,0,0.71,0.71,2.85,0,2.5,0,1.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,0.35,0,0,0,0,0.24,0,0.24,0.24,0,3.414,25,140,1 +0,0.76,0,0,0,0,0,0,0.57,0.19,0,0,0,0,0,0.57,0,0.19,0.19,0.38,0.57,10.17,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0.099,0,0.232,0.066,0.928,20.432,213,1655,1 +0.1,0,0.1,0,0.4,0.1,0.1,0,0.2,0.2,0.4,0.5,0,0.6,0,0.91,0.2,0,1.72,4.26,1.72,0,0.4,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.096,0,0.336,0.16,0,6.758,494,1426,1 +0.39,0.46,0.31,0,0.15,0.03,0,0.19,0.58,0.66,0.31,0.7,0.62,1.29,0.03,0.23,0.43,0,3.16,0,1.36,0,0.5,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0.006,0.078,0,0.381,0.496,0.133,7.192,543,2424,1 +0.32,0,0.64,0,0.32,0.32,0,1.61,0.32,0.64,0.32,0.64,0,0,0,0,1.61,0,1.29,2.58,3.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0,0,0,0,0,0.16,0,1.178,0.107,0,3.613,63,318,1 +0.1,0,0.1,0,0.4,0.1,0.1,0,0.2,0.2,0.4,0.5,0,0.6,0,0.91,0.2,0,1.72,4.26,1.72,0,0.4,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.096,0,0.336,0.16,0,6.758,494,1426,1 +0.08,0.08,0.76,0,0.85,1.02,0.25,0.17,0.59,0.08,0.17,0.59,0.17,0,2.21,0.25,0.08,0.93,1.61,0.17,0.42,0,0.85,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0.17,0.08,0.08,0.08,0,0,0,0.065,0,0.403,0.117,0.013,7.484,669,1407,1 +0.09,0.49,0.59,0,0.29,0.19,0,0,0.09,0.39,0,1.59,0.19,0,0,0,0.09,0,3.67,0.09,1.09,0,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0,0,0,0.766,0.037,0,5.836,1.31,0,5.792,54,753,1 +0,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.92,1.92,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.416,6,17,1 +0.1,0,0.1,0,0.4,0.1,0.1,0,0.2,0.2,0.4,0.5,0,0.6,0,0.91,0.2,0,1.72,4.26,1.72,0,0.4,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.096,0,0.352,0.16,0,6.918,494,1439,1 +0,0,0,0,1.26,0,0,1.26,0,0,0,0,0,0,0,1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.411,0,0.926,0,0,3.558,25,121,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.714,0,0,0.238,0,0,4.333,11,104,1 +0,0.08,0.25,0,0.84,0.25,0.08,0.33,0,0.16,0.08,0.76,0,0.08,0,1.6,0.76,0.33,1.6,0.33,0.5,0.84,0.42,0.08,0,0,0,0,0,0,0,0,0,0,0,0.25,0.08,0,0,0.08,0,0,0,0,0,0,0,0,0,0.047,0.015,0.502,0.157,0.329,7.24,292,2049,1 +0,0.08,0.25,0,0.84,0.25,0.08,0.33,0,0.16,0.08,0.76,0,0.08,0,1.61,0.76,0.33,1.52,0.33,0.5,0.84,0.42,0.08,0,0,0,0,0,0,0,0,0,0,0,0.25,0.08,0,0,0.08,0,0,0,0,0,0,0,0,0,0.047,0.015,0.518,0.157,0.33,7.277,292,2045,1 +0,0,0,0,1.05,2.1,1.05,0,0,0,0,0,0,0,0,0,0,0,3.15,0,1.05,0,2.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.176,0.176,0,2.05,6,41,1 +0,0,0,0,1.25,0,0,1.25,0,0,0,0,0,0,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.409,0,1.023,1.023,0,3.485,25,122,1 +0.09,0,0.09,0,0.39,0.09,0.09,0,0.19,0.29,0.39,0.48,0,0.58,0,0.87,0.19,0,1.66,4.1,1.66,0,0.39,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.139,0,0.31,0.155,0,6.813,494,1458,1 +0,0,0,0,0,0,0,1.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.11,0,0,0,0,0.208,0,0.208,0.416,0,3.95,23,79,1 +0,0.55,1.11,0,0.55,0.55,0,0,0,0,0.55,0,0,0,0.55,1.11,0,0,1.67,0,1.67,0.55,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.086,0.086,0.517,4.166,18,125,1 +0,0,0.29,0,0.59,0.29,0.29,0,0.29,1.78,0,0.89,0,0,0,0,0.59,0.29,4.16,0,0.89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.137,0,0.045,0.045,0,12.2,163,488,1 +0.65,0.49,0.32,0,0.32,0.16,0,0.49,0.65,0.49,0.16,1.3,0,0,0.16,1.14,1.3,0.16,3.6,0.49,1.8,0,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0.231,0,0.925,0.231,2.29,5.833,47,595,1 +0,0.64,0.64,0,1.29,0.64,0,0.64,0,0.64,0,1.94,0,0.64,0,3.89,0,0.64,3.24,0,3.89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.728,0.08,0.08,6.612,129,205,1 +0,0,0.96,0,0,0,0,0,0,0,0,0.48,0,0,0,0.96,0,0.48,5.79,0,1.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0.086,0,0.26,0.086,0,1.117,4,38,1 +0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,1.85,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.291,0,3.79,0,0,4.833,29,87,1 +0,0,0.38,0,0.38,0.38,0.38,0,0.38,1.94,0,1.16,0,0,0,0.38,0.77,0.77,2.72,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0.057,0.057,0,7.121,70,235,1 +0,0.85,0.42,0,0.42,0,0.42,0,1.27,0.85,0,0.42,0.42,0,0,0,0,0,2.55,0,2.12,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0.221,0,0.177,0.221,0.177,8.777,54,553,1 +0,0.6,0,0,0,0.6,0,0,0,0.3,0,1.21,0,0,0,0,0.3,0,0.3,0,0.3,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.146,0,0,0.097,0,3.23,77,210,1 +0,0,0.18,0,1.68,0.18,0.37,0.56,0,0,0.37,1.5,0.18,0,0,1.12,0,0.18,3.18,0,0.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.066,0,0.563,0.165,0.033,3.106,34,292,1 +0,0,0,0,0.91,0,0,0,0,0.45,0,0.45,0,0,0,0,0,0,3.21,0.45,0.91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.37,0,0,0,0,0,0,0.164,0,0,1.076,4,42,1 +0,0,0,0,1.82,0.36,0.36,0.72,0.36,0.36,0,0,0,0,0,0,0,0.36,2.91,0,2.18,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.36,0.36,0,0,0,0,0,0.297,0.059,0.178,0,0,2.446,11,115,1 +0,0,0,0,0,0,0,0,0.93,0,0,0,0,0,0,0,0,0,0.93,0,3.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0,0.561,0,0,2.166,23,65,1 +0.42,0.39,0.36,0,0.13,0.09,0.09,0.06,0.49,0.91,0.26,0.55,0.42,1.08,0.03,0.26,0.42,0.03,2.75,0,1.27,0,0.32,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0,0,0,0.032,0.104,0.016,0.345,0.515,0.109,5.632,134,2501,1 +0,0.33,1.34,0,0,0,1.34,0.33,0,0.33,0.33,0.33,0,0,0,0.67,0.67,0.33,0.67,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0.161,0,0.053,0,0.053,2.036,12,167,1 +0,0,0,0,0.13,0,0,0,0,0.13,0,0.06,0,0,0,0,0,0,0.2,0,0.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.01,1.03,0,0,1.611,0.01,7.549,278,3752,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.38,0,0,3.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.872,0,0,2.2,5,11,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.333,0,0,1.666,5,15,1 +0.29,0,0.29,0,0,0,0,0,0.44,0.29,0,0.44,0,0,0,0.14,0,0,3.14,0,1.64,0,0,0.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0.066,0,0.083,0.05,0,3.075,60,326,1 +0.6,0,0.36,0,1.44,0,0,0,0.24,1.32,0.72,2.53,0.6,0,0,0.6,0.24,0,4.45,0,1.8,0,0.72,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,0.04,0,0.102,0.224,0,3.656,54,479,1 +0.43,0.43,0.43,0,0.43,0,0,0,0,1.31,0,0.87,0.43,0,0,2.63,0,0,1.75,0,2.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.201,0,0.941,0.067,0,2.329,28,226,1 +0,0.45,0,0,0.45,0.45,0.45,0.45,0,1.8,0,0.45,0,0,0,0,0,0,1.8,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.281,0,0.21,0,0,2.368,14,135,1 +0.29,0.29,0,0,0.29,0,0,1.46,0,0,0,0.29,0,0,0,0.58,2.04,0.29,2.04,1.16,1.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0.046,0.046,2.228,34,234,1 +0.12,0.12,0.24,0,1.34,0.12,0,0.12,0,0,0.36,0.85,0,0,0,0.24,0.24,0,2.33,0,0.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.98,0,0,0,0.12,0,0,0,0,0.12,0,0,0,0.063,0.021,0,0.042,0.042,0,2.351,69,254,1 +0,0.33,0.33,0,0.66,0,0,0.33,0,0.33,0,0.33,0,0,0,0.66,1,0,1,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0.109,0,0.054,2.825,34,113,1 +0.62,0.62,0,0,0,1.86,0,0,0,0,0,0.62,0.62,0,0,0,0,0.62,2.48,0,1.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.327,0,2.295,0.218,0,5.166,28,155,1 +0,0,0.78,0,0.78,0,0.52,0.52,0,1.04,0,0.26,1.56,0,0.78,0,0,1.56,2.08,0,1.56,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.52,0,0,0,0,0,0,0,0,0,0.08,0,0.443,0.402,0,2.41,19,241,1 +0,0.72,0,0,2.89,0,0,0,0,0,0.72,0.72,0,0,0,0,0,0,2.17,0,1.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.379,7,40,1 +0,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,4.91,0,0,3.27,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.695,0,0,2.315,12,44,1 +0,0,0,0,0.26,0,0.26,0,0,0,0,0,0,0,0,0.26,0,0,0,0,0.52,17.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.26,0,0,0,0,0.462,0.084,0.084,0.378,0,1.051,13.82,104,1078,1 +0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.26,0,2.444,10,44,1 +0.25,0,0.25,0,0.5,0,0.25,0,0,0,0.5,0.76,0,0,0,0.5,0,0,1.52,0,1.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.25,0,0,0,0,0.25,0,0,0,0,0,0,0,0.041,0,0.082,0.041,0.041,1.89,18,225,1 +0.25,0.5,0.5,0,0,0,0,0,0,0.25,0.25,1,0.25,0,0,0,0,0.5,3,0,2.75,0,1.25,0.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.181,0,0.407,0.997,0,3.417,49,270,1 +0,0,0.35,0,0,0.7,0.35,0.35,0,0,0.35,1.06,0,0,0,0.7,0,1.41,2.12,2.82,2.47,0,0,0.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.061,0,0.061,0,0.122,2.302,21,99,1 +0,0,0,0,2.48,0,0,0.62,0,0,0,1.24,0,0,0,0,0,0,2.48,0,3.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.179,0,0.089,3.702,53,174,1 +0,0,0.77,0,0.77,0,0.51,0.51,0,1.03,0,0.25,1.54,0,0.77,0,0,1.54,1.8,0,1.54,0,0.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.51,0,0,0,0,0,0,0,0,0,0.079,0,0.514,0.434,0,2.441,19,249,1 +0,0,0.74,0,0.74,0,0,0.74,1.49,0,0,0,0,0,0,0,0,0,6.71,0,2.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.99,0,0,1.666,12,60,1 +0,0,0,0,0,0,0,2.5,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0.188,0,0,0.188,0,3.545,21,78,1 +0.49,0.28,0.4,0,0.09,0.11,0.02,0.21,0.42,0.75,0.23,0.89,0.54,1.06,0,0.16,0.33,0.02,3.23,0,1.46,0,1.03,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0,0,0,0,0.059,0,0.391,0.868,0.144,5.783,193,3210,1 +0,0,1.56,0,0,0,1.56,0,0,0,0,0,0,0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.56,0,0,0,0,0.256,0,0.769,0,0,2.125,12,34,1 +0,0,1.4,0,0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.647,0,0,1,1,13,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,2.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0.171,0,0.171,0.342,0,3.809,24,80,1 +0,0.19,0.39,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0.19,2.36,0,1.18,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0.152,0,0,1.357,19,148,1 +0,0.57,0.57,0,0.14,0.14,0,0,0.14,0,0,0.43,0.14,0,0,0,0.14,0,3.31,0,1.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.156,0,0,1.394,6,159,1 +0,0.17,0,0,0,0,0.17,0.17,0,0.17,0,0,0,0.35,0,0,0,0,0,0,0.17,0,0.17,0,3.37,1.77,0,0,0,0.17,0,0,0,0,0,0,0,0,0.17,0,0,0,0,0,0.35,0,0,0,0.108,0.216,0.061,0.046,0.03,0,4.259,85,3318,1 +0.1,0.2,1.01,0,0.8,0.8,0.5,0,0.8,0.1,0.3,0.7,0.3,0,1.61,0.1,0,1.11,1.31,0.2,0.7,0,0.6,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0.1,0.1,0,0,0,0.11,0,0.488,0.157,0.015,8.55,669,1351,1 +0,0,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0,1.91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.265,0,0.797,0.885,0,9.29,75,288,1 +0,0,0,1.29,1.29,0,0,0,0,0,0,0,0,0,0,1.29,0,0,2.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.187,0,0,0.936,0,0,4.586,24,133,1 +0.84,0,0,0,0,2.54,0,0,0,0,0,0.84,0.84,0,0,0,0,0,2.54,0,1.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.452,0,2.865,0.301,0,5.037,23,136,1 +0,0,0.76,0,0.76,0,0.76,0.51,0,1.02,0,0.25,1.53,0,1.02,0,0.25,1.79,1.53,0,1.79,0,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.51,0,0,0,0,0,0,0,0,0,0.083,0,0.458,0.499,0,2.455,19,248,1 +0,0,1.06,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,0,3.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.06,0,0,0,0,0,0,0,0.353,0,3.904,12,82,1 +0.08,0.08,0.76,0,0.85,1.02,0.25,0.17,0.59,0.08,0.17,0.59,0.17,0,2.21,0.25,0.08,0.93,1.61,0.17,0.42,0,0.85,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0.17,0.08,0.08,0.08,0,0,0,0.065,0,0.403,0.117,0.013,7.484,669,1407,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.273,0,0,5.75,25,69,1 +0,0,1.16,0,3.48,0,0,0.58,0.58,0,0,0.58,0,0,0,1.74,0,0,1.16,0,3.48,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.085,0,0.171,0.085,0,2.17,12,102,1 +0.74,0.28,0.31,0,0.07,0.21,0,0.14,0.49,0.35,0.17,0.74,0.56,1.48,0,0.17,0.49,0.03,3.24,0,1.23,0,0.56,0.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.07,0,0.03,0,0.006,0.054,0,0.678,1.05,0.162,5.648,154,3084,1 +0.32,0,0.64,0,0.32,0.32,0,1.6,0.32,0.64,0.32,0.64,0,0,0,0,1.6,0,1.28,2.57,3.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0,0,0,0,0,0.213,0,1.174,0.106,0,3.584,63,319,1 +0.09,0.49,0.59,0,0.29,0.19,0,0,0.09,0.39,0,1.59,0.19,0,0,0,0.09,0,3.67,0.09,1.09,0,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0,0,0,0.766,0.037,0,5.836,1.31,0,5.792,54,753,1 +0,0,0,0,1.56,0,0,0,0,0.31,0,0.31,0,0,0,0.31,0.62,0,2.82,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.94,0,0,0,0,0.05,0,0,0,0,2.132,22,113,1 +0,0,0,0,0.96,0,0.96,0,0,0,0,0,0,0,0,0.96,0,0,0,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.96,0,0,0,0,0,0,0,0.824,0,0,3.025,67,118,1 +0,0,0.93,0,0,0,0,0,0,2.8,0.93,0,0,0,0,0,2.8,0,4.67,0.93,0.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.93,0,0,0,0,0,0,0.464,0.154,0,1.612,10,50,1 +0,1.14,1.14,0,0,0,0,0,1.14,0,0,1.14,0,0,0,0,0,0,0,0,3.44,0,0,1.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.197,0,3.681,35,81,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,2.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0.17,0,0.51,0.34,0,3.761,23,79,1 +0,0.81,0,0,2.03,0,0,0.4,0,1.21,0,0.81,0,0,0,0.4,0,0,3.65,0,1.62,0,1.62,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4,0,0,0,0,0,0,0,0.272,0,3.192,34,166,1 +0.6,0,0,0,1.21,0,0.6,0,0,0,0,0.6,0,0,0,0,0,0.6,3.65,0,1.21,0,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.105,0.315,0,3.217,30,74,1 +0.25,0,0.25,0,0,0,0.25,0,0.77,1.55,0,0.51,0,0,0,0.25,0,0,1.55,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0.404,0,0.161,0.161,0.04,9.633,110,578,1 +0.76,0.19,0.38,0,0.19,0.12,0,0.25,0.76,0.31,0.25,1.52,0.31,0.38,0,0.38,0.44,0.06,2.98,0.69,1.26,0,0.44,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0.06,0,0,0,0,0,0,0.087,0.054,0.439,0.241,0.065,3.702,45,1070,1 +0,0,0.47,0,0.47,0.47,0.47,0,0,2.38,0,0.95,0.47,0,0,0,0.47,0,1.9,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0.266,0,0.621,0.799,0.088,36.642,148,513,1 +0,0,0,0,0,0,0,0.42,0,0.42,0.42,0,0,0,0,0,0,0,2.52,0,2.94,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.84,0,0,0,0,0.129,0,0.129,0.194,0,1.859,20,119,1 +0.62,0,0,0,1.24,0,0.62,0,0,0,0,0.62,0,0,0,0,0,0.62,3.72,0,1.24,0,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,1.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.107,0.322,0,3.318,30,73,1 +0.33,1.01,0,0,1.35,0,0.33,0,0,0,0.67,0.67,0.33,0,0,1.01,0,1.68,2.36,0,3.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0.06,0.06,0,193.5,1013,1161,1 +0,0,0,0,0.97,0,0.97,0,0,0,0,0,0,0,0,0.97,0,0,0,0,1.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0.834,0,0,3.052,68,116,1 +0.14,0,0.21,0,1.72,0.43,0,0,0.07,0.14,0.07,0.57,0.35,0.07,0,0,0.28,0,4.31,0.28,0.64,0,1,0.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0,0,0,0,0,0.012,0.064,0,0,0.206,0,1.711,10,380,1 +0.6,0,0.36,0,1.44,0,0,0,0.24,1.32,0.72,2.52,0.6,0,0,0.6,0.24,0,4.44,0,1.8,0,0.72,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,0.041,0,0.102,0.205,0,3.548,54,479,1 +0.2,0.1,0.7,0,1.1,0.2,0,0.3,0,1.2,0.3,1.1,0.1,0,0.1,0.4,0.2,0.1,2.61,0,2.51,0,0,0,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0,0,0,0,0,0.017,0.159,0,0.53,0.406,0.123,9.781,84,851,1 +0,0,0,0,0,0,0,0,0,0,0,5.26,0,0,0,0,0,0,5.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.048,0,0.349,3.333,10,30,1 +0.35,0.46,0.31,0,0.15,0.03,0,0.35,0.58,0.66,0.31,0.7,0.62,1.28,0.03,0.23,0.42,0,3.12,0,1.36,0,0.46,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0.006,0.09,0,0.324,0.486,0.126,6.11,116,2218,1 +0.3,0.2,0.3,0,0.2,0.4,0.2,0.3,0.4,1.71,0.1,1.91,0.2,0,0.5,0.6,0,0.8,3.43,0,1.51,0,0.9,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0.2,0,0,0,0,0.017,0,0.275,0.206,0.017,4.923,103,1029,1 +0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.59,0,2.99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.093,0.186,0.559,0.279,0,2.297,12,108,1 +0.19,0.19,0.29,0,1.07,0.19,0.19,0.97,0.87,0.58,0.09,1.07,0.19,0.87,0.09,0,0,1.17,3.81,0.68,1.75,0,0.09,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0.09,0,0,0,0,0,0,0,0,0,0,0.201,0.402,0.232,0.03,4.295,49,872,1 +0,0,0,0,0,0,0,0,0,0,0,1.42,0,0,0,1.42,0,0,2.14,0,0.71,0,0,0.71,0,0,0,0,0,0,0,0,0,0,0,0.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0.099,0,0.899,0,0,3.066,36,138,1 +0.15,0.3,0.45,0,0.76,0.3,0,0,1.52,1.52,0.15,1.98,0.3,0,0.61,0.3,0,1.52,2.14,0.15,2.44,0,0.76,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.025,0,1.051,0.225,0.05,6.686,217,896,1 +0,0,0.28,0,0.84,0.84,0.28,0,0.28,0.28,0,0.28,0,0,0,0.56,0,0.56,2.52,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0,0,0.28,0,0,0,0,0.05,0,0.05,0,0,2.083,34,150,1 +0.09,0.09,1.14,0,0.38,0,0,0.09,0,0.19,0.38,0.19,0,0,0,0.66,0,0,1.52,0,1.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,0,0,0,0,0,0.044,0.059,0,0.591,0,0,3.28,31,771,1 +0,0,0,0,0,0,1.11,0,0,1.11,0,0,0,0,0,0,0,0,2.22,0,1.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.202,0,0.202,0,0,4,16,40,1 +0,0.51,0,0,0,0,0,0,0,0.51,1.02,0.51,0,0,0,0.25,0.76,1.27,2.04,0,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.25,0,0,0,0,0,0,0,0,0,0.457,0,0.29,0,0.124,2.614,66,149,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.169,0,0,3,12,36,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.66,0,0,3.33,0,1.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.653,0,0,8,38,80,1 +0.7,0,1.05,0,0,0,0,1.4,0.35,0.35,0,0.35,0,0,0,2.1,0.7,0.35,2.1,3.15,2.1,0,0.35,1.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.116,0,0.348,0,0,1.166,13,189,1 +0,0,0,0,0,0,0,1.2,0,0,1.2,0,0,0,0,6.02,0,0,1.2,0,1.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.443,0,0,3.782,32,87,1 +0,0,0.53,0,0.53,0,0.53,0,0,0.53,0,0,0,0,0,0,0.53,0,5.85,0,3.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0,0.361,0,0,2.437,19,78,1 +0,1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,1.26,0,0,1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.416,0,0,9.785,42,137,1 +0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0.609,0,1.524,0,0.304,1,1,36,1 +0.32,0.16,0.56,0,0.32,0.23,0.04,1.24,0.4,0.4,0.11,0.68,0.52,0.36,0.28,0.72,0.4,0.4,3.08,0.16,1.32,0,0.44,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.04,0,0,0,0,0.11,0,0,0,0.019,0.052,0.065,0.413,0.164,0,3.533,181,1643,1 +0,0,0,0,0,0,0,1.21,0,0,1.21,0,0,0,0,6.09,0,0,1.21,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.407,0,0,3.454,32,76,1 +0.28,0,0.28,0,0,0.28,0.28,0.28,0.28,1.15,0,0.86,0.86,0,0,0,0,0,2.89,0,1.44,0.86,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0,0,0,0,0,0.554,0.221,0.166,5.328,140,341,1 +0.09,0,0.67,0,0.29,0,0,0,0.19,0.38,0.09,1.35,1.06,0,0,0.29,0.19,0,2.51,0,1.35,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0.29,0,0,0.19,0,0.149,0,0.374,0.059,0,9.039,148,1148,1 +0,0,0.4,0,0.4,0.2,0,0,0,1.01,0.2,0.4,0,0,0,0.2,0.4,0.2,0.8,0,0.4,0,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0,0,0,0,0,0,0,0.03,0,0,0.302,0,1.727,11,190,1 +0,3.05,0.38,0,1.14,0.19,0,0,0,1.52,0.19,0.76,0.19,0,0,0,1.72,0.38,3.05,0.38,2.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0.171,0,0.294,0.147,0.024,17.074,430,1144,1 +0,0,1.55,0,0,0.77,0,0.38,0,0,0.38,1.16,0,0,0,0.38,0,1.16,1.93,0,0.38,0,1.16,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0.609,0.121,0,2.666,22,160,1 +0,0.82,0.32,0,1.14,0.32,0,0.16,0,0.65,0,2.13,0,0,0,0.16,0,0,1.47,0,1.47,0,0.98,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0.29,0.029,2.257,13,158,1 +0,0,0,0,0,0,0,0,0,0,0,0,2.63,0,0,0,0,0,2.63,0,1.75,0,0.87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.144,0,0,3.907,0,0,13.928,70,195,1 +0.1,0,0.7,0,0.2,0,0,0,0.2,0.3,0.1,1.3,1.1,0,0,0.3,0.2,0,2.61,0,1.2,0,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0,0,0.3,0,0,0.2,0,0.141,0,0.352,0.056,0,9.601,148,1133,1 +0.35,0.1,0.55,0,2.15,0.15,0,0,0.1,0.75,0.35,0.85,0.25,0,0,0.15,0.3,0,5,0,1.75,0,0.05,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0,0.008,0.035,0,0.149,0.131,0.008,3.629,127,617,1 +0,0.19,1.08,0,0.79,0.79,0.49,0,0.89,0.29,0.29,0.69,0.29,0,1.58,0.09,0,1.08,1.38,0.19,0.69,0,0.59,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0.09,0.09,0,0,0,0.092,0,0.417,0.154,0.015,8.323,669,1365,1 +0.61,0,0,0,1.22,0.61,0.61,0,0.61,0,0,1.22,0,0,0,1.22,0,0,5.52,0,0.61,0,0.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.61,0,0,0,0,0,0,0,0,0,0.184,0,0.829,0,0,4.45,34,89,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.22,0,0,2.22,0,2.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.145,0.145,0.291,0,2.95,11,59,1 +0,0,0.7,0,0,0,0,0,0,0,0,0,0,0,0,0.7,0,0,0,0,0,0,0,0,0.7,0.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.328,0,0,1.333,4,16,1 +0,0.26,0.78,0,0.26,0.26,0.08,1.04,0.52,1.56,0.26,0.69,0.17,0.08,0.69,0.86,0.34,0,1.82,0.17,1.3,0,0.08,0.34,0,0,0,0,0,0,0,0,0.08,0,0,0.08,0,0,0,0,0,0,0,0,0.08,0.08,0,0,0.096,0.234,0,0.358,0.261,0.11,3.554,54,981,1 +0.17,0.17,0.25,0,0.43,0.08,0.08,0.08,0.69,2.41,0,0.34,0.17,0,1.46,0.34,0.08,0,2.76,0.43,1.55,0,0.17,0.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0.34,0.08,0,0,0,0.107,0,0.308,0.067,0.026,4.215,82,1214,1 +0.71,0,0.35,0,0.17,0.17,0.35,0,0,0.35,0.17,0.53,0,0,0,0.35,0.71,0.35,3.76,0,1.97,0,0,0.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.029,0,0.234,0.029,0,3.519,97,359,1 +0,0,0.71,0,0.23,0,0,0,0.23,0.23,0.23,1.9,0,0,0,0.23,0,0,3.81,0.23,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.111,0,1.045,0.037,0,4.022,97,543,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.094,0,0,1.428,5,40,1 +0,0.26,0,0,0.26,0,0,0,0,1.88,0,0,0,0,0,0,0,0,0.26,0,0.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.407,0.067,0,0.033,0,0,5.009,55,506,1 +0.27,0.27,0.27,0,0,0,0,0.54,0,0.27,0,0.27,0,0,0,1.08,0,0.27,1.08,0,0.27,0,0.27,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.225,0,0.451,0.496,0,2.934,64,578,1 +0.16,0,0.24,0,1.63,0.49,0,0,0,0.16,0.08,0.65,0.4,0.08,0,0,0.32,0,3.68,0.32,0.65,0,1.14,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0.08,0,0,0,0.014,0.058,0,0,0.232,0,1.725,10,333,1 +0,0,1.29,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0,0,1.29,0,5.19,0,0,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.208,0,4.23,25,55,1 +0.19,0,0.38,0,0,0.19,0,0,0,0,0.19,0.19,0,0,0,0.38,0,0.19,1.14,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.01,0.01,0,0,0,0.003,2.383,21,15841,1 +0.19,0,0.19,0,0.87,0.48,0.09,0,0.09,0.39,0.48,0.68,0.19,0,0.09,0.29,1.07,0.39,3.51,0.78,1.56,0,0.09,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0,0,0,0.015,0.18,0,0.045,0.015,0,2.133,40,303,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.219,0,3.875,11,31,1 +0,0,0,0,0,0,0,1.25,0,0.41,0,0,0,0,0,0.41,0,1.67,0.41,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0.125,0,0.312,0.062,0,1.477,8,65,1 +0.86,0,0.86,0,0,0,0,0,0,0,0,0.43,0,0,0,0.86,0.86,0,3.47,0,1.73,0,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.24,0,1.765,0.481,0.08,7.059,159,473,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.05,1.05,0,3.15,0,2.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.05,0,0,0,0,0.365,0,0.365,0.182,0,3.343,28,107,1 +0.76,0.38,0,0,0.38,0.38,0,0,0,0.38,0,1.53,0,0,0,0,0,0,1.92,0,3.07,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.124,0,0.124,0,0.062,89.9,735,899,1 +0,0,0.94,0,0.31,0,0,0,0.31,0,0,0.62,0,0,0,1.25,0.62,0,3.14,0,1.25,0,0.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0.145,0.048,0.485,0.388,0.097,3.322,61,319,1 +0,0,0,0,1.56,0,1.56,0,0,0,0,0,0,0,0,0,0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.767,0.255,0,8.083,81,97,1 +0.52,1.31,0.26,0,2.9,0.26,0.79,0.26,0,0.79,1.05,1.58,0.79,0,0,0,0,1.31,3.16,0,0.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.138,0,0.046,0,0,2.934,60,135,1 +0.47,0,0.95,0,0.95,0,0.95,0,0,0,0,0.47,0,0,0,0.47,0.47,0,4.28,0,0.95,0,1.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0.076,0,1.306,0.23,0,6.027,91,217,1 +0,0,0.47,0,1.43,0,0,0,0,0,0,0.95,0,0,0,0.47,0.95,0,3.34,0,1.91,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.43,0,0,0,0,0.076,0,0.536,0.306,0,4.653,78,242,1 +0.49,0,0.99,0,0.99,0,0.99,0,0,0,0,0.49,0,0,0,0.49,0.49,0,4.45,0,0.99,0,1.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0,0,0,1.118,0.239,0,5.228,69,183,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.19,1.19,0,1.19,0,0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.181,0.787,0,3.875,31,93,1 +1.63,0,1.63,0,0,0,0,0,1.63,0,0,0,0,0,0,1.63,0,0,3.27,0,3.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.802,0.267,0,2,16,36,1 +0.27,0,0.16,0,0.27,0,0,0.05,0,0.21,0.1,0.93,0.1,0,0,0.38,0.1,0,2.85,0,1.2,0,0.21,0.16,0,0,0,0,0,0,0,0,0.05,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0.068,0.029,0,0.019,0.058,0.009,3.389,56,539,1 +0.33,0,0,0,0,0.33,0,0,0,0,0,1.01,0.67,0,0,0,0.67,0,3.05,0,2.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.682,21,69,1 +0.23,0.23,0.47,0,0.7,0.23,0.23,1.41,0.23,0.47,0.23,0.47,0,0,0,0,1.41,0.47,0.94,1.89,3.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0.23,0,0,0,0,0.075,0,1.289,0.151,0,6.529,276,666,1 +0,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.21,0,0,0,0.212,0.212,0,0,0.212,0,3.272,24,72,1 +0,0.17,0,0,0,0,0.17,0.52,0,0.17,0.35,0.52,0,0,0,0,0.17,0.7,0.87,0,0.7,1.92,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.029,0.147,0.029,0.117,0.058,0.235,3.521,39,419,1 +0,0.74,0,0,0,1.49,0.74,0,0,0,0,0,0,0,0,0,0,2.23,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.307,0,0,0,0,3.39,45,139,1 +0,0.56,0.56,0,1.12,0.56,2.25,0,0,0.56,0,0.56,0,0,0,0,0,0.56,3.38,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.56,0,0,0,0,0.083,0,0.502,0,0.083,16.304,148,375,1 +0.8,0,0.8,0,1.6,0,0,0,0,0,0,0,0,0,0,0.8,0.8,0,1.6,0,2.4,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.566,0.361,0,2.638,22,124,1 +0,0,0,0,0.87,0,0,0,0,0,0,0,0,0.87,0,0,0,0,0.87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.132,0,0,0,0,3.851,51,104,1 +0,0,0,0,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,2.4,0,0,12.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.709,0,1.56,7.82,39,305,1 +0,0,0,0,1.52,0,2.29,0,0,0,0,0,0,0,0,0,0.76,0.76,0.76,0,2.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.85,19,77,1 +0,0,0,0,0,1.36,0,0,1.36,0,0,0,0,0,0,1.36,0,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,1.36,0,0,1.36,0,0,0,0,0,0,0,0,0,0,0,1.777,0.222,0,9.727,63,107,1 +0.28,0.28,0.28,0,0.57,0.28,0.28,0,0,0,0,0.86,0.28,0,0,0,0.57,0.28,2.88,0,2.01,0,1.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.131,0,0.218,0.218,0,3.694,40,218,1 +0,0.5,0,0,1.25,0,0,0.25,0,0.75,0.25,0.75,0,0,0,0.25,0,0,2.01,0,1.76,0,0,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0.25,0,0,0,0,0,0.25,0.25,0,0,0,0,0.222,0.095,0.031,0,0,5.5,114,616,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.33,0,0,0,0,0,0,0,0,1.33,0,0,0,0,0.213,0,0.426,0.213,0,4.6,23,69,1 +0.16,0.16,0.5,0,0.33,0,0,0,0.5,0.84,0,0.84,0,0.33,0,0,0,0.16,2.37,0,0.5,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0,0,0.16,0,0,0,0,0,0,0.143,0,0.458,0.143,0.028,6.298,247,781,1 +0,0,0,0,0,0.41,0,0,0,0.82,0,0,0,0,0,0.41,0,0,1.23,0,0,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.199,0.53,0.331,0.199,0,0,5.019,18,261,1 +0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9,0,1.81,3.63,0,2.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9,0,0,0,0,0,0,0.17,0.17,0,6.266,41,94,1 +0,0,0,0,0,0,0,0,0,0,0,1.14,0,0,0,0,0,0,1.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.545,4,17,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0.212,0,0.424,0.212,0,4.125,21,66,1 +0.49,0.21,0.56,0,0.28,0.21,0,0.28,0.28,0.98,0.42,0.98,0.14,0,0,1.12,0.7,0.07,2.24,0,0.98,0,0.07,0.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0,0,0,0,0.14,0,0,0,0,0.108,0,0.768,0.312,0,3.401,94,966,1 +0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9,0,1.81,3.63,0,2.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9,0,0,0,0,0,0,0.17,0.17,0,6.266,41,94,1 +0,0,1.78,0,0,0,0,0,0,0,0,1.78,0,0,0,0,0,0,1.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.351,0,0.27,32,75,160,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.413,0,0,4.047,22,85,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.412,0,0.268,20,137,180,1 +0,0.33,0.33,0,1.65,0.33,0.66,0,0,0.16,0.16,0.99,0,0,0,0.82,0.33,0.16,2.81,0,0.99,0,0.49,0.33,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.025,0.075,0.252,0.05,0.05,6.269,350,721,1 +0,0.55,0.55,0,1.1,0.55,2.2,0,0,0.55,0,0.55,0,0,0,0,0,0.55,3.31,0,1.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.55,0,0,0,0,0.165,0,0.495,0,0.082,16.826,148,387,1 +0,0,0,0,0.86,0,0.86,0,0,0,0,0,0,0,0.86,0,0,1.72,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0.272,0,0,0.136,0,4.541,31,109,1 +0.63,0.63,0.63,0,0,0,0.63,0.63,0.63,0,0,0.63,0,0,0.63,1.26,0,0.63,1.89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.398,0,0,2.625,19,126,1 +0,0,0,0,0,1.12,0,0,0,1.12,0,0,0,0,0,0,0,1.12,2.24,0,1.12,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.375,0,0,6.003,0,3.75,14,45,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.33,0,0,0,0,0.208,0,0.417,0.208,0,3.812,16,61,1 +0.15,0,1.22,0,0.45,0,0.15,0,0.61,0.61,0,0.76,0.3,0,0.3,0.61,0.61,0,1.83,0.45,2.75,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.112,0,0.698,0.067,0,5.101,63,801,1 +0,0,0,0,2.17,0,0,0,0,0,0,2.17,0,0,0,2.17,0,2.17,6.52,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.333,5,16,1 +0.16,0,0.32,0,1.3,0.65,0,0.65,0,0,0,0.16,0,0,0.16,0.32,1.63,2.45,1.79,0,1.14,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0,0,0,0,0,0,0.027,0,0.622,0.027,0,1.25,12,165,1 +0,0,0,0,2.17,0,0,0,0,0,0,2.17,0,0,0,2.17,0,2.17,6.52,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.333,5,16,1 +0,0,0,0,0,0,1.96,0,0,0,0,0.98,0,0,0,0,0.98,1.96,2.94,0,0.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.163,0.489,0,0.326,0,0,2.3,12,46,1 +0.87,0.17,0.52,0,0,0.32,0,0.04,0.29,0.42,0.39,1.37,0.87,1.69,0,0.32,0.54,0.22,3.47,0.29,1.32,0,0.34,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0.07,0,0.04,0,0.016,0.058,0,0.639,0.165,0.182,3.697,117,3498,1 +0,0,0,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,1.88,0,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.5,15,49,1 +0.56,0,0.56,0,2.25,0,0,0,0,0.56,0,0,0,0,0,0.56,0.56,0,1.69,0,1.69,0,0.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.91,0.273,0,2.283,22,121,1 +0.07,0,0.15,0,0.07,0.15,0,0.07,0.07,0,0,0.46,0,0,0,0,0.15,0,0.15,0,0.07,0,0,0.07,0,0,0,0,0,0,0,0,0,0,0,0,0.15,0,0,0.07,0,0,0.07,0,0,0,0,0,0.011,0.047,0,0,0.023,0,1.263,10,264,1 +0.54,0,1.08,0,0.54,0,1.08,0,0,0,0,0.54,0,0,0,0.54,0.54,0,4.32,0,1.08,0,1.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0,0,1.216,0.26,0,5.454,68,180,1 +0,1.65,0,0,0,0,1.65,0,0,1.65,0.82,0,0,0,0,0.82,0,0,3.3,0,0.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,15.5,68,186,1 +0.41,0,0.41,0,0,0,0.41,0,0,0,0.41,0,0.41,0,0,0,0,0,2.05,0,1.23,0,0,0.41,0,0,0,0,0,0,0,0,0.41,0,0,0,0.41,0.41,0,0,0,0,0,0,0,0,0,0,0,0.067,0,0.067,0,0,1.863,14,41,1 +0.14,0,0.29,0,1.17,0.58,0.14,0.58,0,0.43,0,0.14,0,0,0.14,0.29,1.46,2.05,1.9,0,1.02,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0,0,0,0.097,0,0.558,0.024,0,1.517,12,217,1 +0,0.29,0.29,0,0,0.59,0.29,1.04,1.04,2.22,0.14,1.04,0,0,1.04,0.29,0.74,0,1.63,0.44,0.59,0,1.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0.29,0,0,0,0,0,0,0,0,0,0.084,0,0.105,0.21,0.021,10.817,887,1244,1 +0.17,0,0.08,0,0.42,0.08,0.08,0.42,0.08,0.08,0,0.6,0.17,0.17,0,0,0.17,0.08,1.2,0,3.17,0,0.34,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.084,0.028,0.098,0.014,0,4.049,48,575,1 +0.22,0,0.78,0,0,0.11,0.11,0,0.22,0.11,0.11,0.22,0.89,0,0,0.44,0.44,0,4.68,0,1.56,0,0.11,1.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0.44,0,0,0,0,0.142,0,0.775,0.224,0.142,5.782,103,798,1 +0.58,0,0.58,0.58,0.58,0,0,0,0,0,0,1.17,0,0,0,0,0,0,4.11,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.098,0,0.197,0,0,3.807,61,297,1 +0.26,0.05,1.45,0,0.37,0.1,0,0,0.1,0.1,0.21,1.07,0,0,0,0,0,0,3.38,0,1.39,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0,0,0,0,0.076,0,0.262,0.186,0.025,11.793,289,2288,1 +0.44,0,0,0,0.89,0,0,0,0,0.44,0,1.33,0,0,0,0.44,0,0,4.46,0,1.78,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0,1.131,0.15,0.075,2.428,28,153,1 +0.43,0,0,0,0.87,0.87,0,0,0,0.43,0,2.18,0,0,0,0,1.74,0,0.87,0,0.87,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.942,0,0,5.114,107,179,1 +0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.554,0,0.518,2.111,15,38,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.428,4,10,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0.215,0,0,0.215,0,3.937,18,63,1 +0,1.63,0.81,0,0,0,1.63,0,0,1.63,1.63,0,0,0,0,0.81,0,0,4.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.212,0,0,15.916,71,191,1 +0.52,0,2.38,0,0.26,0,0.26,0,0.52,0,0.26,0,0,0,0,0.79,0,0,1.32,0,1.05,0,0,0.52,0,0,0,0,0,0,0,0,0.26,0,0,0.26,0.26,0,0.52,0,0,0,0,0,0,0,0,0,0,0.689,0,0.326,0,0,5.549,71,566,1 +0.32,0,0.8,0,0.8,0.32,0.16,0,0.64,0,0.32,1.44,0.16,0,0,0,0.32,0,3.37,0,1.28,0,0.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0.05,0,0.05,0.075,0,1.419,15,159,1 +0,0,1.2,0,0,0,0,0,0,0,0,2.4,0,0,0,0,0,0,2.4,0,4.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,16,72,1 +0.58,0,0.19,0,1.75,0.39,0.58,0,0,0.19,0.39,0.78,0.39,0,0,0.58,0.58,0.58,4.29,0,0.39,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.39,0,0,0,0,0.271,0,0.067,0.135,0,3.015,21,190,1 +0,0,0,0,0.73,0,0,0,0,0,0,0,0,0,0,0.73,0,0,2.94,0,2.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.73,0,0,0,0,0.105,0,0.211,0,0,1.333,7,48,1 +0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.666,12,23,1 +0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.317,0,0,0.952,0,0,4.823,13,82,1 +0,1.05,0,0,0,0,1.05,0,0,0,0,0,0,0,0,3.15,0,1.05,0,0,1.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,4.947,24,94,1 +0,4.76,0,0,0,0,0,0,0,1.19,0,0,0,0,0,0,0,2.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.225,38,162,1 +0,0,3.48,0,0,0,0,1.16,1.16,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.405,0,0,9,28,72,1 +0.5,0.19,0.57,0,0.25,0.38,0,0,0.5,0.06,0.12,0.63,0.19,0,0,0.69,0.5,0.38,3.49,0.06,1.27,0,0.31,1.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.25,0,0.06,0,0,0.067,0,0.435,0.592,0.022,5.335,73,1590,1 +0.09,0.09,1.14,0,0.38,0,0,0.09,0,0.19,0.38,0.19,0,0,0,0.66,0,0,1.52,0,1.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,0,0,0,0,0,0.044,0.059,0,0.591,0,0,3.28,31,771,1 +0,0,1.07,0,3.22,0,0,0,0,0,0,0,0,1.07,0,1.07,0,0,2.15,0,2.15,0,1.07,1.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.07,0,0,0,0,0,0,0,0,0,0,0,0,2.395,0.598,0.998,82.25,295,329,1 +0,0,0,0,0.68,0,0,0,0,1.81,0,0.68,0,0,0,0.22,0,0,3.4,0,1.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.45,0,0,0.22,0,0,0,0.159,0.558,0.159,0.199,0,0,6.091,83,530,1 +0,0,0,0,0.47,0,1.43,0,0,0,0.47,0.47,0,0,0,0.47,0,1.91,1.91,0.47,1.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.073,0.295,0,3.361,54,158,1 +0,0.2,1.83,0,0.81,0.2,0.61,0.4,0,0,1.22,1.01,0.2,0,0,0.2,0.4,0.2,1.83,0,1.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.232,0,0,4.159,142,287,1 +0,0,0,0,0.68,0,0,0,0,1.81,0,0.68,0,0,0,0.22,0,0,3.4,0,1.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.45,0,0,0.22,0,0,0,0.159,0.558,0.159,0.199,0,0,6.091,83,530,1 +0,0,0,0,0,1.4,0,0,0,0,0,0,0,0,0,2.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.24,0,0.963,0,0,3.8,17,57,1 +0.77,0.38,0.77,0,0,0.57,0,0.57,1.15,1.15,0,0.38,0.38,0,1.15,0.19,0.19,2.12,2.12,1.15,1.15,0,1.35,0.77,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0.027,0.027,0,0.438,0.191,0.054,14.619,525,921,1 +0,0,0,0,1.09,0,0,0.54,0,0,0.54,1.63,0,0.27,0,0,0.27,0.54,2.18,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0.208,0,0.166,0.083,0,3.521,114,243,1 +0.17,0.26,1.24,0,0.53,0.62,0.44,0.17,0.79,0.79,0.26,1.33,0.17,0,0.62,0.62,0.08,1.33,2.66,0.17,1.15,0,0.79,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0.08,0,0,0,0,0.07,0,0.225,0.211,0.014,6.725,583,1345,1 +0.13,0.13,0.26,0,0.26,0.26,0,0.13,0.39,0.13,0.13,0.39,0,0,0,0.13,0,0,2.35,0,0.13,0,0,0.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.137,0,0,0.068,0,2.736,30,468,1 +0,0,0.83,0,1.66,0.41,0,0,0,0,0,0.41,0,0,0,0.41,0,0,2.08,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.218,0,0,0,0,2.35,12,134,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.675,0,0,2.23,12,29,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.62,0.62,0,1.25,3.12,3.12,1.87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.075,0,1.285,0.075,0.226,6.722,101,363,1 +0.58,0,0.19,0,1.75,0.39,0.58,0,0,0.19,0.39,0.78,0.39,0,0,0.58,0.58,0.58,4.29,0,0.39,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.39,0,0,0,0,0.271,0,0.067,0.135,0,3.015,21,190,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0.73,0,0,0,0,0,0,0,0.73,0,0,0,0,0,0,0,0,0,0.36,0,0,0.21,0.21,0,0,0.105,0,1.866,22,112,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.714,0,0,0.238,0,0,4.333,11,104,1 +0,0.38,0.38,0,0,0,0,0.38,0.38,0,0,0,0,0,0,0.38,0,0.38,0.38,2.67,0,0,0.76,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0.35,0,2.162,8,80,1 +0.99,0.49,0,0,0,0,0,0,0,0.49,0,0.49,0,0,0,0,0,0,2.48,0,1.99,2.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.356,0,0.446,10.366,64,311,1 +0.52,0,1.05,0,0,1.05,0,0,0,0.52,0,0.52,1.05,0,0,1.05,0.52,0,3.15,0,0.52,0,1.05,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.295,0.698,0,2.016,14,125,1 +0.08,0,0.32,0,0.24,0.32,0,0.16,0.16,0,0,0.65,0,0,0,0,0,0,4.67,0,0.65,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0.32,0,0,0.24,0,0,0,0,0.045,0,0.36,0.03,0,1.42,10,196,1 +0,0,0,0,1.9,0,0.95,0,0,0.95,0,0.95,0,0,0,0,0,0,5.71,3.8,2.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.147,0,0,1.4,6,21,1 +0.85,0,0,0,0,0,0,0,0,0,0,0.85,0,0,0,4.27,0,0,3.41,0,4.27,0,0,5.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.146,0,0.881,0,0,5,17,150,1 +0.77,0.38,0.77,0,0,0.57,0,0.57,1.15,1.34,0,0.38,0.38,0,1.15,0.19,0.19,1.92,2.11,1.15,1.15,0,1.34,0.77,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0.027,0.027,0,0.438,0.191,0.054,14.619,525,921,1 +0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,1.85,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.289,0,3.768,0,0,4.833,29,87,1 +0,2.43,0,0,1.21,0,0.6,0,0.6,0,0,0,0,0,0,0,0,2.43,1.82,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.031,71,129,1 +0.32,0.16,0.56,0,0.32,0.24,0.04,1.16,0.4,0.4,0.12,0.68,0.52,0.4,0.28,0.64,0.36,0.4,3.06,0.16,1.28,0,0.36,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.04,0,0,0,0,0.12,0,0,0,0.019,0.052,0.066,0.37,0.152,0,3.225,181,1500,1 +0.28,0,0,0,0,0,0,0.28,0,0,0,0.84,0.56,0,0.84,0.84,0.28,4.51,2.54,0,2.54,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.091,0,1.147,0.045,0,7.178,104,524,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6,0,0,0,0,0,0,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.102,0,0.102,0.716,0,4.512,43,185,1 +0.09,0.09,1.14,0,0.38,0,0,0.09,0,0.19,0.38,0.19,0,0,0,0.66,0,0,1.52,0,1.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,0,0,0,0,0,0.044,0.059,0,0.591,0,0,3.28,31,771,1 +0,0,0.42,0,0.42,0,0.21,0,0,0,0.21,0.21,0,0,0,0,0,0.42,0.42,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0.126,0,0.031,1.269,0.412,13.017,183,1484,1 +0.32,0.09,0.6,0,2.04,0.13,0,0,0.09,0.69,0.32,0.79,0.27,0,0,0.13,0.32,0,4.92,0,1.81,0,0.04,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.04,0,0,0,0,0.18,0,0.09,0,0.008,0.032,0,0.145,0.121,0.008,3.575,127,640,1 +0.14,0.28,0.84,0,0.14,0.14,0,0.84,0.42,0.14,0,0.56,0.28,0.14,0.42,0.14,0.14,0.28,4.34,0.14,2.1,0,0.14,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0.025,0,0.381,0.05,0,2.322,15,216,1 +0.13,0.27,0.83,0,0.13,0.13,0,0.83,0.41,0.13,0,0.55,0.27,0.13,0.41,0.13,0.13,0.27,4.31,0.13,2.08,0,0.13,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0.025,0,0.379,0.05,0,2.329,15,219,1 +0.34,0.17,0.17,0,1.38,0.69,0.17,0.17,0,0.17,0,0.86,0,0,0.34,1.55,0.34,0.17,2.94,0,2.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.115,0,0,0.086,0,4.792,38,508,1 +0.77,0.38,0.77,0,0,0.57,0,0.57,1.15,1.15,0,0.38,0.38,0,1.15,0.19,0.19,2.12,2.12,1.15,1.15,0,1.35,0.77,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0.027,0.027,0,0.438,0.191,0.054,14.619,525,921,1 +0.4,0.18,0.32,0,0.25,0.18,0.03,1.01,0.4,0.4,0.1,0.72,0.65,0.36,0.25,0.54,0.36,0.36,3.05,0.14,1.41,0,0.29,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0,0.07,0,0,0,0.012,0.042,0.072,0.334,0.139,0,3.305,181,1613,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6,0,0,0,0,0,0,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.102,0,0.102,0.72,0,4.512,43,185,1 +0.77,0.38,0.77,0,0,0.57,0,0.57,1.15,1.15,0,0.38,0.38,0,1.15,0.19,0.19,2.11,2.11,1.15,1.15,0,1.34,0.77,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0.027,0.027,0,0.437,0.191,0.054,14.406,525,922,1 +0.32,0,0.64,0,0,0,0,0,0,0,0.64,0.97,0,0,0,2.58,0,0,2.58,0.32,1.94,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.233,0.058,0,0.116,0.116,0,2.926,20,240,1 +0,0.17,1.03,0,0.68,0.17,0.68,0,0,0.17,0,0.17,0.17,0,0.34,1.03,0.34,0.17,3.44,0,1.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0,0,0,0,0,0,0,0,0.084,0,0.056,0.196,0,2.26,53,208,1 +0,0,0,0,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,1.21,0,1.21,2.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.21,0,0,0,0,0,0,1.627,0,0.465,2.591,31,127,1 +0.77,0.38,0.77,0,0,0.57,0,0.57,1.15,1.15,0,0.38,0.38,0,1.15,0.19,0.19,2.12,2.12,1.15,1.15,0,1.35,0.77,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0.027,0.027,0,0.438,0.191,0.054,14.619,525,921,1 +0.14,0.29,0.44,0,0.88,0.29,0,0,1.47,1.47,0.14,1.91,0.29,0,0.58,0.29,0,1.62,2.35,0.14,2.35,0,0.73,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.023,0,1.003,0.215,0.047,6.602,217,898,1 +0.14,0.29,0.44,0,0.88,0.29,0,0,1.47,1.47,0.14,1.91,0.29,0,0.58,0.29,0,1.62,2.35,0.14,2.35,0,0.73,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.023,0,1.004,0.215,0.047,6.602,217,898,1 +0,0.17,0,0,0.34,0.34,0,0,0,0.17,0,0,0.17,0,0,0.17,0.17,0,0.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0.054,0,0,0.027,0,2.073,11,170,1 +0,0,0.36,0,0.73,0,0,0,0,0.73,0,0.36,0,0,0,0,0,0,0.73,0,0,0,0,0,0,0,0,0.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.36,0,0,0,0,0,0,0,0,2.13,12,228,1 +0,0,0.58,0,1.16,0,0,0,0,0.58,0,0,0,0,0,0.58,0,0,0.58,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.101,11,145,1 +0,0,0,0,0.23,0,0,0,0,0,0,0.93,0,0,0,0.11,0,0.11,0.35,0,0.23,0,0,0,0,0,0,0.35,0.11,0.11,0,0,0,0,0,0.58,0,0.11,0,0,0,0.35,0,0,0,0.46,0.11,0.11,0,0.381,0,0.016,0,0,2.47,41,504,1 +0,0,0,0,0,0.59,0,2.95,0,0,0,0.59,0.59,0,0.59,5.91,2.95,0.59,1.77,0,1.18,0,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.293,0,0,1.69,15,93,1 +0.77,0.38,0.77,0,0,0.57,0,0.57,1.15,1.34,0,0.38,0.38,0,1.15,0.19,0.19,1.92,2.11,1.15,1.15,0,1.34,0.77,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0.027,0.027,0,0.438,0.191,0.054,14.619,525,921,1 +0.43,0.26,0.43,0,0.78,0.26,0,0.17,0.34,4.09,0.08,1.22,0.43,0,0.78,1.13,0.26,1.91,2.35,0,2.35,0,0.08,0.43,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0.08,0,0,0,0,0,0,0,0,0.056,0.241,0.042,0.709,0.056,0,4.319,126,1123,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0,2.5,33,125,1 +0.85,0,0,0,0.85,0,0,0,0,0,0,0.85,0.42,0,0,1.28,0,0,3.86,0,0.85,0,0,0.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.066,0,0.535,0.133,0,11.592,110,313,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.041,0,0,0,0,1.938,33,95,1 +0,0,1.55,0,0,0.77,0,0.38,0,0,0.38,1.16,0,0,0,0.38,0,1.16,1.93,0,0.38,0,1.16,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0.601,0.12,0,2.666,22,160,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.66,0,0,3.33,0,1.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.986,0,0,8,38,80,1 +0,0.13,0.13,0,0,0.13,0,0,0.13,1.5,0,0.4,0,0,0.27,0.27,0,0.4,1.09,0,2.32,10.38,0.13,0,0,0,0,0,0,0,0,0,0,0,0,0.13,0,0,0,0,0,0,0,0,0,0,0,0,0.021,0.042,0,0.364,0.064,0.686,13.884,107,1444,1 +0.87,0.17,0.52,0,0,0.32,0,0.04,0.29,0.42,0.39,1.37,0.87,1.69,0,0.32,0.54,0.22,3.47,0.29,1.32,0,0.34,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0.07,0,0.04,0,0.016,0.058,0,0.638,0.165,0.182,3.697,117,3498,1 +0,0.27,0.54,0,0.27,1.64,0,0.27,0.54,0.54,0,1.09,0.27,0,0,0,0,0.27,1.37,0,1.09,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0,0,0,0.472,0.128,0,10.877,93,533,1 +0.4,0,0,0,0.8,0,0.4,2.8,0,1.2,1.2,2.8,0,0,0,0.4,0,0,4,0,0.8,0,0,1.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.052,0,0,0.105,0.052,0.052,1.194,5,129,1 +4.54,4.54,0,0,0,0,0,0,0,0,0,0,0,0,0,4.54,0,9.09,0,0,4.54,0,0,9.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.076,0,0,1.428,4,10,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.28,0,1.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.699,0.932,0,5.083,39,122,1 +0,0,0,0,2.63,0,0,0,0,0,0,0,0,0,0,1.31,0,0,1.31,0,2.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.818,46,106,1 +0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,1.19,0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.403,0,0,9.785,42,137,1 +0.4,0.34,0.27,0,0.13,0.4,0.06,0.2,0,1.36,0.27,0.68,0.95,0,0.2,0,0,0,3.68,0,0.81,0,0.13,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.013,0.052,0,0.474,0.197,0.065,3.286,53,608,1 +0,0,0,0,0.12,0,0,0,0,0,0,0.9,0,0,0,0.12,0,0.12,0.12,0,0.12,0,0,0,0,0,0,0.25,0.12,0.12,0,0,0,0,0,0.64,0,0.12,0,0,0,0.38,0,0,0,0.38,0,0,0,0.391,0,0,0,0,2.417,41,481,1 +0,0,0,0,0.12,0,0,0,0,0,0,0.99,0,0,0,0.12,0.12,0.12,0.12,0,0.12,0,0,0,0,0,0,0.24,0.12,0.12,0,0,0,0,0,0.62,0,0.12,0,0,0,0.37,0,0,0.12,0.37,0,0,0,0.365,0,0,0,0,2.376,41,492,1 +0,0,0,0,0.12,0,0,0,0,0,0,0.96,0,0,0,0.12,0.12,0.12,0.12,0,0.12,0,0,0,0,0,0,0.24,0.12,0.12,0,0,0,0,0,0.6,0,0.12,0,0,0,0.36,0,0,0.12,0.36,0,0,0,0.352,0,0,0,0,2.337,41,505,1 +0.19,0.19,0.19,0,1.08,0.19,0.19,0.98,0.89,0.59,0.09,1.08,0.19,0.89,0.09,0,0,1.18,3.85,0.59,1.78,0,0.09,0.29,0,0,0,0,0,0,0,0,0,0,0.09,0,0,0,0.09,0.09,0,0,0,0,0,0,0,0,0,0,0.19,0.412,0.222,0.015,4.195,49,814,1 +0.87,0.17,0.52,0,0,0.32,0,0.04,0.29,0.42,0.39,1.37,0.87,1.69,0,0.32,0.54,0.22,3.47,0.29,1.32,0,0.34,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0.07,0,0.04,0,0.016,0.058,0,0.639,0.165,0.182,3.697,117,3498,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.862,0,8.5,17,34,1 +0,0,0,0,0,0,0,0,0,0,0,2.1,0,0,0,0,0,0,2.1,0,1.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.178,0,0,0,0,1.275,7,51,1 +0.21,0.21,0.42,0,0.42,0.21,0,0.42,0.42,0.21,0,0.64,0,0,0,0.85,1.07,0,4.07,1.07,1.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.216,0,0.432,0.18,0.072,4.391,36,303,1 +0,0.29,0.29,0,0.58,0,0.58,0,0,0.58,0.29,0.29,0,0,0,1.46,0.29,0.87,1.16,0.87,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0.086,0,0.606,0,0.043,3.591,37,352,1 +0.22,0.88,0.44,0,0.22,0,0,0,1.32,1.54,0,0.88,0.66,0,1.1,0.66,0,1.54,2.87,0,1.54,0,0,0.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0,0.085,0,0.659,0.114,0.028,9.1,65,728,1 +0,0,0,0,1.63,0,0,0,0,1.63,0,0.81,0,0,0,0,0,0,3.27,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0,0,1.558,11,53,1 +0,0,0,0,0,0,0,0,0,0.76,0,2.29,0,0,0,0,0,0,3.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.76,1.52,0,0,0,0,0,0,0,0,1.216,4,45,1 +0.22,0.88,0.44,0,0.22,0,0,0,1.32,1.54,0,0.88,0.66,0,1.1,0.66,0,1.54,2.87,0,1.54,0,0,0.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0,0.085,0,0.659,0.114,0.028,9.1,65,728,1 +0.1,0,0.74,0.21,0.21,0,0.1,0.1,0,0,0.1,0.31,0,0,0,0,0,0.21,0.63,0,0.31,0,0.21,0,0,0,0,0,0,0.1,0,0,0,0,0,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0.101,0,0.05,0.609,0.253,7.887,126,1609,1 +0,0.32,0,0,0,0,0,0,0.32,0,0,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.037,0,0,0,0,2.391,36,110,1 +0.43,0,0.43,0,0.43,0.43,0,0,0,0.87,0,0.43,0,0,0,0,3.49,0,1.31,0,1.74,0,1.31,0,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.298,0.149,0.074,2.955,47,133,1 +0.43,0.26,0.43,0,0.78,0.26,0,0.17,0.34,4.09,0.08,1.22,0.43,0,0.78,1.13,0.26,1.91,2.35,0,2.35,0,0.08,0.43,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0.08,0,0,0,0,0,0,0,0,0.056,0.241,0.042,0.709,0.056,0,4.319,126,1123,1 +0.7,0,1.06,0,0,0,0,1.41,0.35,0.35,0,0.35,0,0,0,2.12,0.7,0.35,2.12,3.18,2.12,0,0.35,1.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.117,0,0.353,0,0,1.209,13,196,1 +0.43,0.4,0.37,0,0.15,0.09,0.06,0.12,0.5,0.97,0.25,0.69,0.4,1.06,0.03,0.15,0.25,0,2.57,0,1.41,1.28,0.31,0.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0.031,0.122,0.01,0.345,0.42,0.266,8.016,178,3303,1 +0,0,0.19,0,0,0,0.19,0,0,0,0,0.19,0,0.09,0,0,0,0.09,0.19,0,0.09,0,0,0,0.09,0,0,0,0,0,0,0,0.19,0,0,0,0,0.09,0.19,0,0,0,0,0,0,0,0.09,0,0.015,0.137,0,0.061,0,0,3.626,44,990,1 +0,0.24,1.45,0,0.36,0.6,0.6,0,0.6,1.45,0.12,0.85,0.48,0,1.94,0.12,0,0,1.33,0.12,0.6,0,0.48,0.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.24,0,0,0.12,0,0,0,0.117,0,0.234,0.234,0,4.493,39,746,1 +0.35,0.1,0.55,0,2.15,0.15,0,0,0.1,0.75,0.35,0.85,0.25,0,0,0.15,0.3,0,5,0,1.75,0,0.05,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0,0.008,0.035,0,0.149,0.131,0.008,3.629,127,617,1 +0,0,0,0,0.45,0,0.45,0,0.9,0.45,0.45,0.9,0.45,0,0,1.81,0,0.45,1.36,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.45,0,0,0,0,0.45,0,0,0,0,0.16,0,0.64,0.16,0,3.607,71,184,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0.83,0,0,0,0,0,0,0,0,0,0,0,0,0,1.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,0,0,0.121,0.605,0,0,0,0,2.222,22,100,1 +0,0.45,1.35,0,1.35,0,0.9,0.45,0,1.35,0,0.45,2.71,0,0,0,0,0.9,2.26,0,1.8,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.82,0.41,0,2.446,12,137,1 +0.4,0.4,0,0,0,0,0,0,1.2,4.81,0.4,0,0,0,4.41,0,0,0,1.2,0,1.2,0,4.01,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.855,0.794,0,4.152,41,353,1 +0.1,0.1,0.03,0,0.07,0.03,0,0.03,0,0.1,0,0.53,0,0,0,0.17,0.03,0,0.81,0.03,1.35,0,0.1,0.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0,0,0,0,0.03,0,0,0.071,0,0.006,0.065,0,2.106,46,3214,1 +0.14,0.18,0.79,0,0.04,0.14,0.18,0.28,0.28,0.84,0.18,0.46,0.61,0.09,0.32,0.89,0.37,0.46,3.8,0.04,1.87,0,0.46,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0,0,0.28,0.04,0,0,0,0.101,0,0.522,0.109,0.062,5.759,116,2062,1 +0,0,0.21,0,0.21,0,0,0,0,0,0,0.84,0,0,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0,0,0,0.42,0,0,0.21,0,0,0,0,0,0,1.48,0,0,0,0.057,0,0,0,0,2.807,39,379,1 +0.33,0.42,0.75,0,0,0.25,0,0.08,0.16,1.09,0.33,1.09,0.16,0,0,0.67,0.67,0.08,2.52,0,0.92,0,0,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0.08,0,0,0,0.014,0.029,0,0.523,0.378,0,3.631,67,897,1 +0,0.82,0.32,0,1.14,0.32,0,0.16,0,0.65,0,2.13,0,0,0,0.16,0,0,1.47,0,1.47,0,0.98,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0.29,0.029,2.257,13,158,1 +0,0,0,0,1.21,0,0,0.6,0,0.6,1.21,0,0,0,0,1.82,0,0,4.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0.193,0,0,1.861,26,67,1 +0.33,0.16,0.16,0,1.35,0.67,0.16,0.33,0,0.16,0,0.84,0,0,0.33,1.52,0.33,0.16,2.88,0,2.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.113,0,0.028,0.084,0,4.971,40,532,1 +0,0,0,19.73,0,0,0,0,0,0,0,0.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.53,0,0,0.53,0,0,0,0,0,0,0,0,0,0,0.087,0,0,0,0,4.786,152,292,1 +0,1.11,0.55,0,0,0,0,0,0,0,0.55,0,1.11,0,0,3.35,0,0,0.55,0,1.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.55,0,0,0,0,0,0,0,0,0.19,0,0,1.429,0.095,0,2.861,36,186,1 +0,0,0.24,0,0.72,0,0,0,1.69,0,0.48,1.21,0,0,0,0.24,0,0,2.91,0,1.21,0,0,0.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0.24,0,0,0,0,0,0,0.24,0,0,0,0,0.036,0,1.021,0.291,0.109,7.092,67,461,1 +0,0,0,0,0.67,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0.67,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.114,0.114,0,0.228,0.228,0,2.847,16,168,1 +0.15,0,0.3,0,1.23,0.61,0,0.61,0,0.15,0,0.3,0,0,0.15,0.3,1.54,2.32,1.85,0,1.08,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0,0,0,0,0,0.128,0,0.615,0.025,0,1.377,13,186,1 +0.13,0.1,0.55,0,0.02,0.13,0.02,1.11,0.23,0.29,0.05,0.34,0.42,0.07,0.55,0.87,0.45,0.66,3.95,0.05,1.59,0,0.39,0.34,0,0,0,0,0,0,0,0,0.02,0,0,0,0,0,0,0.31,0,0,0,0.05,0.23,0.02,0,0,0.03,0.083,0,0.538,0.145,0.07,5.108,116,3525,1 +0,0,0,0,0,1.05,0,0,0,0,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.057,0,0,0,0,2.675,36,99,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0.364,0,0,0,0,3.23,38,126,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4,0,0,2.4,0,2.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.151,0.302,0,2.611,11,47,1 +0,0,0.94,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0.47,0,0,0,0,0,0,0.94,0.47,0,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0,0,0.94,0,0,0,0.332,0,0,0,0,1.518,15,161,1 +0.98,0.16,0.41,0,0.08,0.24,0,0.08,0,0.49,0.08,0.57,0.9,0,0.16,0,0,0.32,2.46,0,1.14,0,0.49,1.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.095,0,0.751,0.255,0.095,4.163,84,712,1 +0,0.22,0.22,0,0,0,0,0,0.22,2.75,0,0.68,0,0,0.68,0.45,0,1.37,2.06,0,4.12,0,0.45,0.22,0,0,0,0,0,0,0,0,0,0,0,0.22,0,0,0,0,0,0,0,0,0,0,0,0,0.028,0.114,0,0.919,0.229,0.028,4.444,138,400,1 +0,0,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0,0,0,0,0.68,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.309,0,0,1.6,4,32,1 +0.26,0.46,0.99,0,0.53,0,0,0.53,0.19,1.12,0.26,0.73,0.66,0,0.06,0.26,0.13,0.26,3.78,0,3.32,0,0.39,0.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.011,0.023,0,0.449,0.265,0.034,13.235,272,1575,1 +0,0.26,0.78,0,0.26,0.26,0.08,1.04,0.52,1.56,0.26,0.69,0.17,0.08,0.69,0.86,0.34,0,1.82,0.17,1.3,0,0.08,0.34,0,0,0,0,0,0,0,0,0.08,0,0,0.08,0,0,0,0,0,0,0,0,0.08,0.08,0,0,0.096,0.234,0,0.358,0.261,0.11,3.56,54,979,1 +0.14,0,0.29,0,0.14,0,0,0,0,0,0,0.14,0.29,0,0,0.29,0,0,2.19,0,1.02,0,0,0.43,0,0,0,0,0,0,0,0,0,0.14,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0.05,0.382,0,0.764,0,0,2.468,28,469,1 +0,0.26,0.78,0,0.26,0.26,0.08,1.04,0.52,1.56,0.26,0.69,0.17,0.08,0.69,0.86,0.34,0,1.82,0.17,1.3,0,0.08,0.34,0,0,0,0,0,0,0,0,0.08,0,0,0.08,0,0,0,0,0,0,0,0,0.08,0.08,0,0,0.096,0.234,0,0.358,0.261,0.11,3.554,54,981,1 +0,0,0,0,0.53,0,0,0.26,0,0,0,0.26,0.26,0,0,0.53,0,0,1.33,0,0,9.33,0.53,0.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.555,0,1.157,19.26,107,886,1 +0,0,2.15,0,1.07,0,0,0,0,0,0,0,0,0,0,0,0,0,1.07,0,1.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.192,0,0,2.333,19,49,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,2.05,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.73,0,0,0.098,0.589,0,0,0,0,2.044,22,92,1 +0,0.18,0.37,0,0.18,0,0,0,0,0,0.18,0.56,0,0.18,0.18,0.56,0.18,0.56,0.56,0,0.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.277,0,0.493,0.061,0.03,1.874,13,253,1 +0,0,0,0,1.04,1.04,0,0,0,0,0,0,0,0,0,6.25,0,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.555,0,0,3.275,14,95,1 +0,0.28,0,0,0,0,0,0,0,0,0,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0,0,0,0,0,0.85,0,0,0.57,0,0,0,0,0,0,0.57,0,0,0,0.103,0,0,0,0,2.417,33,162,1 +0.09,0.49,0.59,0,0.49,0.19,0,0,0.09,0.39,0,1.57,0.19,0,0,0,0.09,0,3.74,0.09,1.08,0,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.765,0.037,0,5.803,1.284,0,5.944,54,755,1 +0,0.55,0.55,0,0.55,0.55,0,0.27,1.94,1.67,0,1.39,0.83,0,0.83,0.27,0,1.94,2.5,0,2.22,0,0.55,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.273,0.364,0.045,6.641,48,352,1 +0.58,0,0.34,0,0.11,0.11,0,0,0,0.23,0.23,0.93,0.93,0,0,0.58,0.23,0.11,4.19,0,1.51,0,0.58,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0,0.11,0,0,0.11,0,0.125,0,0.733,0.104,0.335,8.192,326,1360,1 +0,0.18,0.18,0,0.74,0,0.18,0,0,0.55,0.18,0.18,0,0,0.18,0,0,0,1.11,0,0.74,0,0,0,0,0,0,0,0,0.18,0,0,0.37,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0.058,0,0,0.029,1.57,2.166,11,208,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.013,0,0,0,0,3.5,28,42,1 +0.49,0,0.24,0,0.24,0,0,0.73,0,0,0,0.49,0,0,0,0,0,0,4.9,0,1.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.544,0.077,0,2.055,22,111,1 +0,0,0,0,0,0,0.91,0,0,0,0.91,2.75,0,0,0,0,0,0,6.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.941,12,33,1 +0,0,0.29,0,0.87,0,0.29,0,0.87,0,0,1.45,0,0,0,0,0,0.29,5.24,0,1.45,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.042,0,0,0.085,0,5.145,33,247,1 +0,0,0.57,0.57,0,0,0,0.28,0,0,0,0,0.28,0,0,0,0.28,0.57,2.89,0.86,1.73,0,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.461,0,1.385,0,0.046,3.535,64,396,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,7,1 +1.06,0.16,0.4,0,0.16,0.24,0,0.16,0,0.49,0.08,0.57,0.9,0,0.16,0,0,0.32,2.37,0,1.22,0,0.49,1.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.095,0,0.845,0.255,0.095,4.194,84,713,1 +0,0.26,0.79,0,0.26,0.26,0.08,1.06,0.53,1.59,0.26,0.71,0.17,0.08,0.71,0.88,0.44,0,1.86,0.26,1.24,0,0.08,0.35,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0,0,0,0,0,0,0,0.26,0.08,0,0,0.098,0.226,0,0.353,0.254,0.113,3.591,54,966,1 +0.98,0.16,0.41,0,0.16,0.24,0,0.16,0,0.49,0.08,0.57,0.9,0,0.16,0,0,0.32,2.37,0,1.23,0,0.49,1.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.096,0,0.736,0.256,0.096,4.123,84,701,1 +0.58,0,0.34,0,0.11,0.11,0,0,0,0.23,0.23,0.93,0.93,0,0,0.58,0.23,0.11,4.19,0,1.51,0,0.58,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0,0.11,0,0,0.11,0,0.125,0,0.733,0.104,0.335,8.192,326,1360,1 +0,0,0,0,0,0,0,0,0,4.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.287,0,0,0,0,0,4.333,13,78,1 +0.41,0,0.41,0,0.41,0,0,0,0.41,0.83,0,0,0,0,0,0,0.41,0,1.66,0,1.25,3.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.676,9.444,54,255,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.333,11,13,1 +0,0.26,0.79,0,0.26,0.26,0.08,1.06,0.53,1.59,0.26,0.71,0.17,0.08,0.71,0.88,0.44,0,1.86,0.26,1.24,0,0.08,0.35,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0,0,0,0,0,0,0,0.26,0.08,0,0,0.098,0.226,0,0.353,0.254,0.113,3.598,54,968,1 +0,0.32,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0.65,0,0,0,0,0,0,0,0,0,0,0.075,0,0,0,0,2.269,33,118,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0.32,0,0,0,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0.254,0,0,0,0,1.987,28,153,1 +0,0,0,0,0.44,0,0,0,0,0.88,0,0,0,0,0,0.44,0,0,1.32,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0,0,1.841,10,186,1 +0.09,0.49,0.59,0,0.39,0.19,0,0,0.09,0.39,0,1.57,0.19,0,0,0,0.09,0,3.74,0.09,1.08,0,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.765,0.037,0,5.828,1.308,0,6.047,54,768,1 +0.36,0.29,0.36,0,0,0.58,0.07,0.14,0.66,1.25,0.14,1.39,0.58,1.1,0.14,0.14,0,0,2.35,0,1.25,0.07,0.58,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0,0,0,0,0,0,0,0,0.319,0.266,0.279,4.689,145,1163,1 +0,0,0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0,0.24,0,0,0.48,0,0,0,0,0,0,0,0,0,0,0.186,0,0,0,0,2.823,38,240,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4,0,0,2.4,0,2.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.145,0.291,0,2.5,11,45,1 +0.17,0.22,0.62,0,0.11,0.22,0.05,0.11,0,0.39,0.11,1.02,0.45,0.05,0.05,0,0,0.39,3.46,0,1.76,0,0.56,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.01,0.2,0,0.441,0.421,0.04,4.945,116,1449,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,1.16,0,1.16,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.16,0,1.16,0,0,0,0.381,0,0,0,0.19,2.652,28,61,1 +0,0.26,0.78,0,0.26,0.43,0.08,1.12,0.43,1.47,0.26,0.69,0.17,0.08,0.69,0.86,0.6,0,1.82,0.6,1.39,0,0.08,0.26,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0,0,0,0,0,0,0,0.26,0.08,0,0,0.097,0.222,0,0.444,0.25,0.111,3.138,54,929,1 +0,0,0,0,0,0,0,0,0,0,1.23,0,0,0,0,2.46,0,0,2.46,0,2.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.232,0.465,0,2.687,12,43,1 +0,0,0,0.6,0.6,0,0,0,0,0,0,0,0.6,0,0,2.42,0,0.6,0,0,0.6,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.412,0.206,0.103,2.3,20,237,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,0,0,0.6,0,1.2,0,0,0,0,0,0,0,0,1.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6,0,1.8,0,0,0,0.299,0,0,0,0.199,2.465,28,106,1 +0,0,0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0,0.24,0,0,0.48,0,0,0,0,0,0,0,0,0,0,0.185,0,0,0,0,2.802,38,241,1 +0,0,0,0,0,0.27,0,0,0.82,0,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0,0,0,0.54,0,0,0.54,0,0,0,0,0,0,0,0,0,0.037,0.226,0,0.037,0,0,2.666,33,208,1 +0,0.68,0,0,4.08,0,0.68,0,0,0.68,1.36,1.36,0,0,0,0,0.68,0.68,2.72,0,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,6.588,68,112,1 +0,0.68,0,0,4.08,0,0.68,0,0,0.68,1.36,1.36,0,0,0,0,0.68,0.68,2.72,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.111,0,6.588,68,112,1 +0.7,0,0.7,0,2.83,0,0,0,0,0,0,0,0,0,0,0,0,0.7,3.54,0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,1.083,3,26,1 +0.2,0.41,0.2,0,1.44,0,0,0.41,0.41,0.62,0,1.86,0.2,0.2,0,0.2,0.41,0,2.69,1.03,2.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.249,0,0.996,0.106,0,7.836,116,384,1 +0,0,0,0,0,0,0,0,0,0,0,0,1.44,0,0,1.44,0,0,5.79,0,1.44,0,1.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.543,0.271,0,2.157,11,41,1 +0,0.28,0,0,1.4,0,0.28,0.28,0,0.56,0,0.84,0,0,0,0.28,0,0,1.68,0,1.96,0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,0.28,0,0,0,0,0,0.28,0.28,0,0,0,0,0.137,0.068,0.034,0,0,5.635,114,603,1 +0,0,0,0,1.03,0,1.03,0,0,0,0,2.06,0,0,0,2.06,0,0,3.09,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,60,84,1 +0,0.49,0,0,0,0,0,0,2.48,0,0,0,0,0,0,0,0,0,0.49,0,0.99,0,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.177,0,0,0.265,0.088,10.159,114,447,1 +0.4,0.48,0.37,0,0.14,0.14,0.03,0.07,0.55,0.66,0.29,0.89,0.44,1.04,0.03,0.26,0.37,0.07,3.16,0,1.41,0,0.48,0.59,0,0,0,0,0,0,0,0,0.03,0,0,0,0,0.03,0,0,0,0,0,0,0.07,0,0,0,0,0.082,0,0.433,0.529,0.114,6.482,140,2379,1 +0,0,0,0,0,0,0,0,0,3.57,0,1.78,0,0,0,0,0,0,1.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.252,0,0,0.757,0,0,4.157,13,79,1 +0,0,0,0,0.64,0,0.64,0,0,0,0,0.64,0,0,0,0,0,0,5.8,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0,0,1.44,0,0,2.875,21,115,1 +0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.261,0,0,0.785,0,0,4.333,13,78,1 +0,0,0,0,0.65,0,0.65,0,0,0,0,0,0,0,0,0,0,0,5.22,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,0,1.461,0,0,2.973,21,113,1 +0.1,0.1,0.71,0,0.61,0.3,0.4,0.1,1.42,0.81,0.1,0.5,0,0,0,0.1,0,1.11,2.23,0.5,2.03,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0.264,1.01,0.397,0.033,3.199,56,1043,1 +0.15,0,0.3,0,1.23,0.61,0,0.61,0,0.15,0,0.3,0,0,0.15,0.3,1.54,2.32,1.85,0,1.08,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0,0,0,0,0,0.128,0,0.615,0.025,0,1.377,13,186,1 +0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,1.85,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.258,0,0,1.55,0,0,4.555,13,82,1 +0,0,0,0,0.65,0,0.65,0,0,0,0,0,0,0,0,0.65,0,0,5.88,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,0,1.765,0,0,3.025,21,118,1 +0,0,0,0,0,0,1.43,0,0,0.47,0,0.95,0.47,0,0,0,0,0,2.87,0,0.47,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.694,0,0,7.709,164,239,1 +0.19,0.19,0.29,0,1.07,0.19,0.19,0.97,0.87,0.58,0.09,1.07,0.19,0.87,0.09,0,0,1.17,3.81,0.68,1.75,0,0.09,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0.09,0,0,0,0,0,0,0,0,0,0,0.202,0.404,0.233,0.031,4.32,49,877,1 +0,0,0,0,0,0,0,0,0,0,0,0,1.44,0,0,1.44,0,0,5.79,0,1.44,0,1.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.542,0.271,0,2.157,11,41,1 +0,0,2.43,0,0,0,0,0,0,0,0,0,0,0,0,2.43,0,4.87,2.43,0,2.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.896,0,0,5.538,58,72,1 +0,0,1.14,0,0,0,1.14,0,0,0,0,0,0,0,0,0,0,0,2.29,0,2.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.197,0,0,0,0,1.227,6,27,1 +0,1.63,0,0,0.81,0,1.63,0,0,0,0,0,0,0,0.81,0,0,0.81,1.63,0,2.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.134,0,0,0,3.294,11,56,1 +0,0,0,0,0,0,2.3,0,0,0,0.76,2.3,0,0,0,0.76,0,0.76,3.07,0,2.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.518,0,0,11.312,142,181,1 +0,0,1.06,0,0,1.06,1.06,0,0,0,0,1.06,1.06,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.909,78,108,1 +0,0,1.03,0,1.03,0,0,0,0,0,0,0,0,0,0,0,2.06,1.03,4.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.149,0,0,1.461,3,19,1 +0.27,0,0.83,0,1.11,1.11,0.27,0,0,0,0,0.83,0,0,0,0.83,1.11,0.27,1.38,0,1.11,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.638,0,0,2.512,17,196,1 +0,0,0,0,0,0,0,0,0,3.92,0,0,0,0,0,0,0,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.55,3,31,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.375,0.525,0.225,0,0,4.906,39,211,1 +0,0,0,0.04,0,0,0,0,0,0,0,0,0,0,0,0.02,0,0,0.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.024,9.752,0.003,1.542,1.785,1.998,239.571,9989,10062,1 +0.1,0.1,0.71,0,0.61,0.3,0.4,0.1,1.42,0.81,0.1,0.5,0,0,0,0.1,0,1.11,2.23,0.5,2.03,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0.264,0.975,0.396,0.033,3.186,56,1042,1 +0,0,1.63,0,0.54,0,0.54,0,0.54,1.09,0,2.18,0,1.09,0,0,0,0,2.73,0,2.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.086,0,1.466,0.258,0.086,31.388,392,565,1 +0,1.2,0.4,0,0.4,0,0.8,0.4,0,0,0,0.8,0.4,0,0,0.8,0.4,1.2,3.62,0,1.61,0,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4,0,0,0,0,0.069,0,0.552,0.207,0.138,6.652,69,153,1 +0.22,0.44,0,0,1.33,0.22,1.33,0,0,0.22,0.44,0.66,0.22,0,0,1.11,0,1.11,2.66,0,1.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.22,0,0,0,0,0,0,0,0,0,0.134,0,0.067,0.067,0,1.946,22,183,1 +0.07,0,1,0,0.3,0.46,0.07,0.23,0.23,0,0.3,1.31,0.15,0,0.07,1.39,0.15,0.85,2.24,0,0.77,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.15,0,0,0,0,0,0,0,0,0.024,0.183,0,0,0.183,0,3.211,84,700,1 +0,0.5,0,0,0,0,0,0,2.5,0,0,0,0,0,0,0,0,0,0.5,0,1,0,0,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.178,0,0,0.267,0.089,10.372,114,446,1 +0.19,0.76,0.19,0,0.19,0.19,0.19,0,0.95,0.38,0.19,0.57,0,0,2.86,0.19,0,3.43,1.71,0,2.09,0,3.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,0,0,0,0,0,0,0,0,0,0.151,0.303,0.212,0.303,0,11.242,132,742,1 +0,0.37,0,0,0,0.74,1.12,0,0,0,0.74,1.49,0.74,0,0,0.37,0,1.49,4.49,0,1.87,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.223,0.223,0,2.021,10,93,1 +0,0,0,0,0,0,0,11.11,0,0,0,0,0,0,0,0,0,0,0,0,11.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,0,0,0,0,0,0,0,0,1,1,4,1 +0.17,0.26,1.21,0,0.43,0.6,0.43,0.26,0.69,0.52,0.26,1.3,0.17,0,0.6,0.69,0.08,1.47,2.43,0.17,1.04,0,0.95,0.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0.08,0,0,0,0,0.107,0,0.256,0.242,0.013,6.142,583,1339,1 +0.96,0,0.48,0,0,0.96,0,0,0.48,0,0.48,0,0,0,1.44,0.48,0.48,2.41,0,0,0.96,0,0,0.48,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0.818,0,0.175,0.467,0.116,9.56,259,717,1 +0,0,0,0,0.67,0,2.01,0,0,0,0,0,0,0,0,0,0,2.01,1.34,0.67,2.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.305,0,0,2.162,14,93,1 +0.09,0.49,0.59,0,0.29,0.19,0,0,0.09,0.39,0,1.58,0.19,0,0,0,0.09,0,3.76,0.09,1.09,0,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.765,0.037,0,5.831,1.309,0,6,54,756,1 +0,0,0,0,0.68,0,2.04,0,0,0,0,0,0,0,0,0,0,2.04,1.36,0.68,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.309,0,0,2.111,14,95,1 +0,0,0.37,0,0,0,0.37,0,0,0,0,0.37,0,0,0,0.74,0.37,0.37,0.74,0.37,0.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.37,0,0,0,0,0,0,0.37,0,0,0.302,0,0.241,0.06,0,2.166,18,143,1 +0.16,0.24,1.23,0,0.41,0.57,0.49,0.32,0.65,0.49,0.24,1.23,0.16,0,0.65,0.9,0.08,1.56,2.38,0.16,1.07,0,0.9,0.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0.08,0,0,0,0,0.114,0,0.241,0.228,0.012,6.544,683,1466,1 +0,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0,3.26,0,0,5.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.152,0,0,5.21,36,99,1 +0,0.96,0.96,0,1.44,0,0.48,0,0.48,1.92,0.48,0.96,0.48,0,1.92,0,0,0,0.96,0,0.96,0,4.32,0.48,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0.061,0,0.43,0.43,0,25.964,305,727,1 +0,0.18,1.1,0,0.73,0.73,0.73,0.09,0.83,0.27,0.27,0.64,0.27,0,1.47,0.09,0,1.2,1.38,0.18,0.64,0,0.55,0.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.18,0,0.09,0.09,0,0,0,0.094,0,0.43,0.134,0.013,8.445,696,1478,1 +0,0,0,0,0.4,0.4,0.4,0.4,0,0,0.4,0,0,0,0,0.4,0,0,3.6,0,2,0,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.124,0,0,1.94,12,97,1 +0,0,0,0,0,0,0,0,0,0,0,0.84,0,0,0,0,0,0,2.52,0,1.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0.139,0,0,0,0,1.304,6,30,1 +0,0,0,0,0,0,0,0.85,0,0,0,0.85,0,0,0,0,0,0,2.56,0,0.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0.144,0,0,0,0,1.333,6,28,1 +0,0.21,0.43,0,0.65,0,0.21,0.21,0.87,0.65,0.43,0.87,0,0,0,0.43,0,0.87,3.71,0,1.09,0.65,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0.21,0,0,0,0,0.032,0,0.96,0.128,0.128,8.08,70,501,1 +0,0,0,0,1.29,0,0,0,0,0,0,0,0,0,0,0.64,0,1.29,2.58,0.64,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0.224,0,2.354,0,0,2.09,13,69,1 +0,0.5,0,0,0,0,2,0,0,0.5,0.5,0.5,0,0,0,0.5,0,1.5,3,0,1.5,0,0.5,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.267,0,0.445,0.979,0,4.685,28,164,1 +0.27,0.27,0.55,0,0.27,0.27,0,1.37,0.27,0.82,0.27,0.55,0,0,0,0,1.37,0.55,1.65,2.2,3.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0,0,0,0,0,0,0.28,0,1.029,0.093,0,3.621,63,344,1 +0.87,0.17,0.52,0,0,0.32,0,0.04,0.29,0.42,0.39,1.37,0.87,1.69,0,0.32,0.54,0.22,3.47,0.29,1.32,0,0.34,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.02,0.07,0,0.04,0,0.016,0.058,0,0.639,0.165,0.182,3.697,117,3498,1 +0,0.78,2.34,0,0.78,0,1.56,0,0,0,0,1.56,0,0,0,0,0,0.78,7.03,0,2.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.363,0,0,1.348,29,147,1 +0.71,0.35,0.71,0,1.79,0,0,0,0,0.35,0,1.43,0,0,0,0.35,0,0,3.94,0,1.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.061,0,0,0,0,8.086,153,186,1 +0.33,0.84,0.67,0,0.67,0.33,0.67,0,0.33,0,0.16,0.84,0.16,0,0,0.67,0,0.5,3.03,0.33,2.18,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.183,0,0.156,0.104,0.026,6.5,525,858,1 +0.42,0,0.42,0,1.71,0,0.42,0,0,0.21,0.21,0.85,0.21,0,0,0,1.92,0.42,3.21,0,1.49,5.78,0.21,0.21,0,0,0,0,0,0,0,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.075,0.263,0.075,0.639,53.433,494,1603,1 +0,0,1.01,0,0,0,0.5,0,0,2.02,1.51,1.51,0,0,0,0.5,0,0,3.53,0,1.01,0,1.51,1.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.089,0,1.431,0.536,0,4.09,23,225,1 +0.86,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0.86,3.44,0,4.31,0,0.86,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.928,0.154,0.154,2.409,7,53,1 +0.25,0.17,0.34,0,0,0.08,0,0,0.08,0.08,0.08,0.86,0,0,0,0.08,0,0.25,4.66,0,1.2,0,0,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0,0,0.015,0,0.094,0.015,0,2.531,89,319,1 +0.27,0.27,0.55,0,0.27,0.27,0,1.37,0.27,0.82,0.27,0.55,0,0,0,0,1.37,0.55,1.65,2.2,3.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0,0,0,0,0,0,0.279,0,1.023,0.093,0,3.621,63,344,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.81,9.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.763,21.428,62,150,1 +0,0,0,0,0,0,7.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.297,0,0,2,8,52,1 +0.1,0.2,1.01,0,0.8,0.8,0.5,0,0.8,0.1,0.3,0.7,0.3,0,1.61,0.1,0,1.11,1.31,0.2,0.7,0,0.6,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0.1,0.1,0,0,0,0.11,0,0.488,0.157,0.015,8.55,669,1351,1 +0.2,0,0.1,0,0,0.1,0.2,0,0,0,0,0.72,0,0,0,0.1,0.2,0.1,4.17,0,1.35,0,0.52,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.057,0,0.095,0,0,2.717,24,318,1 +0,0,1.47,0,0,1.1,0.36,0,0,0,0.36,0.36,0,0,0,0.36,0,0,2.21,1.1,2.95,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.123,0,0.433,0.928,0.185,3,33,177,1 +0.15,0.15,0.31,0,0.15,0,0.46,0,0,0,0.62,0.62,0.15,0,0,0.31,0.15,0.93,2.63,0,2.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.092,0,0.123,0,0,6.268,196,608,1 +0.93,0,0,0,0.93,0,1.86,0,0,0,0,2.8,0.93,0,0,0,0,0,8.41,0,1.86,0,0,0.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.164,0,2.306,0.164,0,8.312,29,133,1 +0,0.22,0.45,0,0.68,0,0.22,0.22,0.9,0.68,0.45,0.9,0,0,0,0.68,0,0.9,3.86,0,1.13,0,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0.45,0,0,0,0,0,0,0.22,0,0,0,0,0.033,0,1.103,0.133,0.033,7.166,54,430,1 +0,0,0.27,0,0.54,0,0.27,0,0,0.27,0,0.54,0,0,0,1.35,0,0,1.08,0,2.44,10.86,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.329,0.141,1.41,44.72,252,1118,1 +0.76,0,0.38,0,0.12,0.25,0,0.12,0.12,0,0,0.25,0.38,0,0,0.38,0,0.25,2.92,0,2.92,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.022,0,0.661,0.088,0,2.256,21,325,1 +0,0,0,0,0,0,0,3.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.06,0,0,0,0,0.207,0,0.207,0.207,0,3.761,25,79,1 +0,0,0,0,0,1.29,0,0.64,0,0,0,0,0,0,0,0,0,0,3.87,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.16,0.116,0,1.8,12,63,1 +0,0,0,0,0,0,0,3.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.06,0,0,0,0,0.207,0,0.207,0.207,0,3.761,25,79,1 +0,0,1.35,1.35,0,0,0,1.35,0,0,0,0,0,0,0,1.35,0,0,2.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,3.588,0,0,2.516,17,78,1 +0,1.03,0,0,1.03,0,1.03,0.51,0,0.51,0,1.03,0,0,0,0.51,0,0.51,2.07,0,1.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.257,0,0.6,0.429,0,1.447,4,55,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0.29,0,0.29,1.79,0,0.59,0,0.29,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0,0,0,0.89,0,0,0,0,0,0,0.248,0,0,0.049,0,2.47,30,168,1 +0,0,0.68,0,0,0,0,1.36,0,0,0.68,0.68,0,0,0,0,0,0,3.4,0,1.36,0,0.68,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.238,0.238,0,2.232,19,96,1 +0.1,0.2,1.01,0,0.8,0.8,0.5,0,0.8,0.1,0.3,0.7,0.3,0,1.61,0.1,0,1.11,1.31,0.2,0.7,0,0.6,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0.1,0.1,0,0,0,0.11,0,0.488,0.157,0.015,8.55,669,1351,1 +0,0,0.66,0,0.33,0,0.33,0.33,1.33,2,0,0.66,0,0.33,1,0.33,0,0.66,2.67,0,1,0,2,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0.23,0,0.057,0.23,0,5.279,82,227,1 +0,0,0,0,0,0.23,0,0,0,0,0,0.46,0,0,0,0.46,0.46,0.23,3,0,0.69,0,0,0,0,0,0,0,0,0,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.077,0.038,0,0,0,0.038,2.6,42,182,1 +0.39,0,0,0,0,0.39,0.79,0,0,0.39,0,0.79,0,0,0,0,0.39,0,2.37,0,2.76,0,1.18,0.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.064,0,0.64,0.192,0,2.74,13,74,1 +0,0,0.77,0,0.38,0.38,0.38,0,0,0.77,0.38,0.38,0,0,0,0.77,0.77,0.77,2.31,0,1.15,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.063,0.127,0.255,0.51,0,0,3.685,62,258,1 +0,0,0,0,0.53,0,0.53,0,0.53,0,0,1.07,0,0,0,0,0,0,2.15,0,3.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.082,0,0,4.391,66,101,1 +0,0.31,0.42,0,0,0.1,0,0.52,0.21,0.52,0,0.52,0.63,0.1,0.1,0.21,0.31,0.21,2.53,0.42,1.69,0.31,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0,0.016,0,0.887,0.032,0.049,3.446,318,1003,1 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.022,0.022,0.019,0.022,0.022,0.022,3.482,5,5902,0 +0,0,0,0,0,0,0,0,0,0.85,0,0,0,0,1.7,0,0,0,2.56,0,1.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.299,0,0,0.149,0,0,1.04,2,26,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.12,0,0,0,0,0,0,0,0,0,0,0,1.28,0,2.56,0,0,0,0,0,0,0,0,0,0,0.131,0,0.262,0,0,1.625,7,65,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0,0.07,0,0,0,0.07,0,0,0,0,0,0,0.07,0,0,0,0,0,0,0,0,0,0.104,0.324,0,0,0.011,4.411,28,1866,0 +0,0,0,0,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.08,2.04,2.04,2.04,2.04,2.04,2.04,2.04,0,2.04,2.04,2.04,0,0,0,2.04,0,4.08,0,0,0,0,0,0,0,0.671,0,0,0,0,2.5,11,35,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.84,0,0.84,0,0,0,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.273,0.136,0,0,0.136,3.571,28,150,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.87,0,0,0,0,0,0,0,0,0,0,0,0,0.393,0,0,1.75,7,28,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.729,0,0,2.285,7,16,0 +0,0,0,0,0,0,0,0,0,0,0,0.24,0,0,0,0,0,0,0.24,0,0,0,0,0,9.33,3.93,0.24,0,0,0.73,0,0,0,0,0.24,0.24,0,0,0.24,0,0,0.73,0,0.49,0,0,0,0,0,0.037,0,0.149,0,0,10.012,251,791,0 +0.9,0,0,0,0.9,0,0,0,0,0,0,1.8,0,0,0,0,0,0,3.6,0,1.8,0,0,0,0.9,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9,0,0,0,0,0,0,0,0.149,0,0,0,0,2.766,12,83,0 +0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,1.85,0,0,0,0,3.7,0,0,0,0,0,0,0,0.308,0,0,0,0,2,11,26,0 +0.08,0,0.08,0,0,0.08,0,0.49,0,0,0.08,1.48,0.08,0.08,0,0,0.08,0,0,0,0,0,0,0,3.3,0,0,0,0,0,0,0,0,0,0,0.41,0.08,0,0,0,0,0,0.08,0,0,0,0,0.16,0.098,0.153,0,0,0.032,0,2.324,18,709,0 +0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0.284,0,0,0,0,1.8,5,27,0 +0,0,1.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.89,0,0,2.89,0,0,0,0,0,0,0,0.247,0,0,0,0,2.38,8,50,0 +0,0,0,0,0,0,0,0,0,0,0,5.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.546,0,0,2,4,16,0 +0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0,0,0.8,0,0,0,0,0,0.8,0,0,0,0,0,0,0,0,0,0.8,0.8,0,0,0,0,0,1.6,0,1.6,0,0,0,0,0,0.115,0,0.115,0,0,3.388,28,122,0 +0,0,0,0,1.51,0,0,0,0,0,0,3.03,0,0,0,0,0,0,1.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.51,0,0,0,0,0,0.547,0,0,0,0,1.75,5,28,0 +0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,2.32,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,2.32,0,0,0,0,0,0.375,0,0,1.444,5,13,0 +0,0.63,0,0,1.27,0,0,0,0,0,0,1.27,0,0,0,0,0,0.63,3.18,0,0.63,0,0,0,0,0,1.27,1.27,0,0,0,0.63,0,0.63,0,0,0,0,0,0,0,0,0,0,2.54,0,0,0,0,0.218,0,0,0,0,2.215,22,113,0 +0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,1.16,0.58,0.58,0,0,0,0,0,1.16,0.58,1.16,1.74,0.58,0.58,0.58,0.58,0,0.58,0.58,0.58,0,0,0,0.58,0,0,0,0,0.58,0,0,0,0,0.658,0,0.282,0,0,1.932,11,114,0 +0.18,0.06,0.24,0,0.18,0,0,0.18,0,0.12,0,0.6,0,0,0,0.24,0.12,0,0.78,0,0.72,0,0.06,0.42,1.93,0.66,0,0.18,0,0.12,0.3,0,0,0,0.42,0,0.18,0,0.24,0,0,0.12,0,0,0.18,0,0,0.12,0,0.196,0,0.044,0.026,0,1.873,29,843,0 +0,0,1.88,0,0,0,0,0,0,0,0,1.88,0,0,0,0,0,0,1.88,0,1.88,0,0,0,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.88,0,0,0,0,0,0,0.323,0.323,0,0,0,0,1,1,12,0 +0,0,2.12,0,0,0,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.647,16,45,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.1,5.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.35,0,0,0,0,0,0,0,0,0,0,1.142,2,8,0 +0,0,0,0,0,0,0,0,0,0,0,1.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.78,0,0,0,0,0,0,0.336,0,0,0,0,1.909,5,21,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.315,0,0,1,1,7,0 +0,0,0,0,0,0,0,0,0,0,0,0.86,0.86,0,0,0,0,0,0,0,0,0,0,0,3.47,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.322,11,72,0 +0,0,0,0,0,0,0,0,0,1.44,0,0,0,0,0,0,0,1.44,0,0,0,0,0,0,2.89,1.44,0,1.44,0,1.44,1.44,0,0,0,1.44,1.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0.156,0,0.313,0,0,1.689,10,49,0 +0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.538,4,20,0 +0,0,0.54,0,0,0,0,0,0,0,0,0.27,0,0,0,0,0,0,3.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0.27,0,0.54,0,0.27,0,0.27,0.27,0,0,0,0.188,0.047,0,0,0,1.745,12,89,0 +0,0,0.75,0,0,0,0,0,0,0,0,0.75,0,0,0,0,0,0,3.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.262,0,0,0,0,1.437,3,23,0 +0,0,0.79,0,0,0,0,0,0,0,0,0.39,0,0,0,0,0,0.39,3.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.39,0,0,0,0.39,0,0,0,0.39,0.39,0,0,0,0.237,0,0,0,0.059,2.51,12,123,0 +0.08,0.16,0.08,0,0.2,0,0.04,0.04,0.04,0.49,0.12,0.32,0.12,0.04,0,0.08,0,0,0.77,0,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.69,0.65,0,0,0.04,0,0.08,0,0.16,0,0.28,0,0.89,0.016,0.243,0,0.033,0,0.016,2.747,86,1995,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.125,17,25,0 +0,0,0,0,0,0,0,0.26,0.39,0,0.13,0.52,0.26,0,0,0,0,0,0,0,0,0,0,0,4.22,0.13,0,0,0,0,0,0,0,0,0,0.13,0.13,0,0,0,0,0,0,0.13,0,0,0,0,0.017,0.107,0,0,0.071,0,2.848,26,433,0 +0,0,1.58,0,0,0,0,0,0,0,0,1.58,0,0,0,0,0,0,1.58,0,1.58,0,0,0,1.58,3.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.538,4,20,0 +0,0,0.21,0,0.42,0,0,0,0.21,0,0,0,0,1.27,0,0,0.21,0,0.21,0,1.06,0,0,0,0.21,0,0,0.21,0,0,0,0,0,0,0.21,0,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0.161,0,0.161,0,0.182,2.813,121,723,0 +0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.684,0,0,2,7,16,0 +0,0,1.21,0,0,2.43,0,0,0,0,0,0,0,0,0,0,0,0,1.21,0,1.21,0,0,0,0,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.211,0,0.211,0,0,1,1,11,0 +0,0,0,0,0,0,0,0,0,0,0,1.41,0,0,0,0,0,0,0.47,0,0.94,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0.137,0,0.068,0,0,3.195,21,147,0 +0,1.28,0,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,2.56,0,1.28,0,0,0,5.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.196,0,0,0,0,1.952,10,41,0 +0.29,0,0.29,0,0.29,0,0,0,0,0,0,0,0.29,0,0,0,0.29,0,0,0,1.75,0,0,0,2.63,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0.108,0,0.072,0,0,2.847,60,242,0 +0.26,0,0,0,0,0,0,0,0,0.53,0,3.76,0,0,0,0,0,0,0.26,0,0,0,0,0,3.76,2.68,0,0,0,0.26,0,0,0,0,0.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.55,0,0.045,0,0,1.837,11,158,0 +0,0,0,0,0,0,0,0,0,0,0,0.91,0,0,0,0,0.91,0,2.75,0,0,0,0,0,1.83,0,0,0,0,0,0,0,0,0,0,0,0.91,0,0,0,0,0.91,0,0,0,0,0,0,0.301,0,0,0.301,0,0,1.942,8,68,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,7.14,0,0,0,0,0,0,0,0,5.5,10,11,0 +0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,3.22,0,0,0,0.526,0,0,0,0,1.571,3,11,0 +0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.613,0,0,1,1,14,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,8.69,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.048,0,0,1,1,8,0 +0,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.02,0,0,0,0,0,0,1.02,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0.167,0,0,0,0,2.195,17,90,0 +0,0,0,0,0,0,0,0,0,0,0,1.75,0,0,0,0,0,0,2.63,0,3.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.235,5,21,0 +0,0,0.78,0,0,0,0,0,0,0,0,0.78,0,0,0,0,0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78,0.145,0,0,0.725,0,0,1.187,4,19,0 +0.11,0,0.11,0,0.11,0.11,0,0,1.03,0,0,0.34,0,0,0,0,0,0,0.45,0,0.22,0,0,0,0.57,0.68,0.11,0,0,0,0,0,0.34,0,0,0,0.22,0,0,0,0,0,0,0,0,0,0,0,0.078,0.171,0.031,0,0.031,0,3.407,41,535,0 +0.67,0,0,0,1.01,0,0,0,0,0,0,0.67,0.67,0,0,0,0,0,1.35,0,1.68,0,0,0,0.33,0.33,0,0,0,0,0,0,0,0,0,0,0.67,0,0,0,0,0.67,0,0,0.33,0,0,0.33,0.097,0.048,0,0.048,0,0,2.326,22,107,0 +0.02,0,0.15,0,0.24,0.31,0,0.04,0.22,0,0.02,0.08,0,0,0.02,0,0,0.02,0.08,0,0.06,0,0,0,0.44,0.47,0.02,0,0,0,0,0,0.11,0,0,0,0,0.02,0,0,0,0.02,0,0,0,0,0,0,0.185,0.15,0.044,0,0.006,0,2.838,52,2078,0 +0.51,0,0.51,0,0,0.51,0,0,0,0,0,0.51,0,0,0,0,0,0,0.51,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.51,0,0.51,0,0.51,0,1.02,0,0,0.51,0,0,0,0.161,0.08,0.08,0,0,1.885,12,66,0 +0,0,0.65,0,0.32,0,0,0,0,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.061,0.061,0.061,0,0,1.392,11,71,0 +0,0,0.1,0,0.1,0.1,0.2,0.2,0.1,0,0,0.2,0.1,0.2,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0.2,0.013,0.097,0,0,0.027,0,2.214,22,423,0 +0,0,0.23,0,0.23,0,0,0,0.23,0,0,0,0,1.43,0,0,0.23,0,0.23,0,2.14,0,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0,0.23,0,0,0,0,1.9,0,0,0,0,0,0,0.117,0.235,0,0.117,0,0.164,2.616,160,683,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.15,0,0,0,0,0,0,0,4.5,1.8,0,0,0,2.7,0,0,0,0,0,0,0,0,0,0.45,0,0,0,0,0,0,0,0,0.557,0,0,0.123,0,0,2.063,34,130,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.751,0,0,0,0,2,4,10,0 +0,0.16,0.32,0,0.16,0,0,0.16,0.16,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0.96,0.48,0.16,0,0,0,0,0,0,0,3.21,0,0.16,0,0,0,0,0.96,0,0,0.32,0.16,0.16,0,0,0.124,0,0,0,0.11,4.771,63,1064,0 +0,0.54,0,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.09,0,0,0,0,0.182,0.091,0.091,0,0,1.212,5,40,0 +0,0.37,0,0,0,0,0,0,0,0,0,0,0.37,0,0,0,0,0,1.51,0,0,0,0,0,5.68,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.065,0.261,0,0,0,0,1.114,5,39,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,7.14,3.57,0,3.57,0,3.57,3.57,0,0,0,3.57,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0.24,0,0.24,0,0,1.687,10,27,0 +0.3,0,0,0,0,0,0,0,0,0,0,0.61,0,0,0,0,0,0,0.3,0,0,0,0,0,0.3,0,0,0,0,0.3,0,0,0.3,0,0,0,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.426,6,97,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.77,0,0,0,0,0,0,5.55,2.77,0,2.77,0,2.77,2.77,0,0,0,2.77,2.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0.218,0,0.218,0,0,1.687,10,27,0 +0,0,0,0,0,0,0,0,0,0,0,3.92,0,0,0,0,0,0,0,0,0,0,0,0,1.96,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.303,0.303,0,0,0,0,1.6,9,24,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,3.7,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.645,0,0,0.645,2.888,8,26,0 +0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,2.22,0.74,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0.414,0,0.31,0.103,0,2.034,11,59,0 +0,0,0.06,0,0.89,0.13,0,0.2,0,0,0,0.13,0.06,0,0,0,0.96,0,0,0,0,0,0,0,1.1,0,0,0,0,0,0,0,0,0,0,0,0.13,0.06,0,0,0,0.06,0,0,0.34,0,0,0,0.018,0.047,0,0,0.085,0,2.924,52,617,0 +0,1.35,0.19,0,0,0,0,0,0,1.74,0,0.19,0,0,0,0,0,0,0,0,0.38,0,0,0,2.32,0.96,0,0,0,0,0,0,0,0,0.58,1.16,0.38,0,0,0,0,0,0.19,0,0,0,0,0.58,0,0.337,0,0,0,0,3.937,44,693,0 +0.07,0,0.15,0,1.53,0.15,0,0.46,0,0,0.07,0.46,0.46,0,0,0,0.07,0,0.76,0,0.38,0,0,0,0.69,0,0,0,0,0,0,0,0,0,0,0,0.15,0,0,0,0,0.07,0,0,0.61,0,0,0,0,0.022,0,0,0.033,0,1.705,36,220,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.886,0,0,1.375,4,11,0 +0,0,0,0,0.69,0,0,0,0,0,0,1.38,0,0,0,0,0,0,0.69,0,0.69,0,0,0,1.38,0,0,0,0,0,0,0,0,0,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,2.488,15,112,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,0 +0,0,0,0,0,0,0,0,0,0,0,1.07,0,0,0,0,0,0,1.07,0,0,0,0,0,0,0,0,0,0,0,0,0,2.15,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,0,1.416,6,68,0 +0,0,0,0,0,0,0,0,0.91,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0.109,0.254,0,0,0,0,3.606,119,357,0 +0,0,0,0,0,0,0,0,0,0,0,0.93,0,0,0,0,0,0,2.34,0,0,0,0,0,0.93,0,0,0,0,0.46,0,0,0,0,0,0,0,0,3.75,0,0,0,0,0,0,0,0,0,0,0.438,0,0,0,0,2.448,37,120,0 +0,0,0,0,0,0.25,0,1,0,0,0,0.25,0,0,0,0,0,0.25,0,0,0,0,0,0,0.75,0.25,0,0,0,1,0,0,0,0,0,0.25,1.25,0,0,0,0,0,0,0,0,0.5,0,0,0,0.153,0,0,0,0,1.958,26,329,0 +0.11,0.05,0.22,0,0.22,0.05,0,0,0.05,0.11,0.11,0.56,0.05,0,0,0.11,0.16,0,1.35,0,0.73,0,0,0,1.69,1.3,0,0.05,0,0.11,0.16,0,0.05,0,0.33,0.05,0.33,0,0,0.05,0,0.11,0,0.11,0.05,0,0,0.05,0.025,0.085,0,0.042,0,0,2.031,22,971,0 +0,0,0,0,0,0,0,0,0.14,0,0,0.43,0,0,0,0,0.14,0,0,0,0.14,0,0,0,0.14,0.57,0,0,0,0,0,0,0.14,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0.14,0.058,0.156,0,0,0,0,1.687,24,496,0 +0,0,0,0,0,0,0,0,0.29,0,0,0,0,1.75,0,0,0.29,0,0.29,0,0.29,0,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,1.75,0,0,0,0,0,0,0.156,0.052,0,0.052,0,0.235,2.721,38,566,0 +0,1.36,0,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,4.54,0,0,0,0,0,0,0,0,0,0.45,0,0.9,0,0.45,0,0,1.81,0.45,0,0,1.36,0,0,0.069,0.069,0,0,0,0,2.186,15,164,0 +0,2.4,0,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4,0,0,0,0,0,1.6,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,1.6,0,0,0,0.8,0,0,0.12,0,0,0,0,0,1.696,15,56,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,7.14,0,0,0,0,0,0,0,0,5.5,10,11,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0.1,0,0,0,0,0,0,0.1,0.1,0.96,0.1,0,0,0,0,0,0,0,0,0,0,0,3.52,0.1,0,0,0,0,0,0,0.74,0,0,0.1,0.21,0.1,0,0,0,0,0,0,0,0,0,0,0.014,0.117,0,0,0,0,2.204,24,496,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,7.14,0,0,0,0,0,0,0,0,5.5,10,11,0 +0,0,0,0,0,0,0,0,0,0,0,1.01,0,0,0,0,0,0,0,0,1.01,0,0,0,1.01,0,0,0,0,0,0,0,0,0,2.02,1.01,0,0,1.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.108,25,115,0 +0,0,0,0,0.68,0,0,0,0,0,0,0.34,0,0,0,0,0,0,0.34,0,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0,0,0.051,0,0,0,0,1.062,4,137,0 +0,0,0,0,0.14,0,0,0.14,0,0,0,0.73,0,0,0,0,0,0,0.14,0,0,0,0,0,2.48,1.6,0,0,0,0.14,0,0,0,0,0,0,1.16,0,0.29,0,1.16,0,0,0,0.14,3.07,0,0,0.144,0.433,0.082,0.02,0,0,4.113,52,654,0 +0,0,0,0,0,0,0,0,0,0,0,4.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,0,0,0,0,0,1.666,4,15,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.17,0,0,0,0,0,0,4.34,2.17,0,4.34,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.529,0,0,0,0,4,11,68,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.163,0,0,0,0,1.5,5,24,0 +0,0,0,0,0.26,0.26,0,0,0,0.26,0,0.26,0,0,0,0.26,0,0,2.08,0,2.6,0,0,0,0.26,0,0,0,0,0,0.26,0,0,0,0,0,0,0,0,0,0,0,0.26,0,0.26,0,0,0,0.037,0,0,0,0,0,2.545,18,168,0 +0.31,0,0,0,0,0,0,0,0,0,0,0.62,0,0,0,0,0,0,0.31,0,0,0,0,0,0.31,0,0,0,0,0.31,0,0,0.31,0,0,0,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.446,6,94,0 +0,0,0,0,0,0,0,0,0,0,0,0.96,0,0,0,0,0,0,1.44,0,0.48,0,0,0,2.89,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0.48,0,0,0,0.48,0,0,0,0,0.48,0,0.371,0.074,0.074,0,0,2.534,18,185,0 +0.32,0,0,0,0,0,0,0,0,0.64,0,3.23,0,0,0,0,0,0,0.32,0,0,0,0,0,3.88,2.58,0,0,0,0.32,0,0,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.492,0,0,0,0,1.89,11,138,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,7.14,0,0,0,0,0,0,0,0,5.5,10,11,0 +0.15,0.1,0,0,0.3,0.15,0,0.3,0,0,0,0.6,0,0,0,0,0,0,2.06,0,0.85,0,0.05,0,0.2,0,0,0,0,0,0,0,0.25,0,0.15,0,0.35,0,0,0,0,0,0,0.05,0,0,0,0,0.073,0.234,0,0.073,0,0,2.206,49,1026,0 +0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.142,3,16,0 +0,0,0,0,0,0.27,0,0,0,0.27,0,0.27,0,0,0,0.27,0,0,2.18,0,2.73,0,0,0,0.27,0,0,0,0,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.593,18,166,0 +0.07,0,0.15,0,0.09,0.05,0,0.03,0.05,0.05,0,0.41,0.03,0,0,0.01,0.09,0.13,0.03,0.01,0.07,0,0.01,0,0,0,0.03,0,0.01,0,0,0,1.21,0,0,0.07,0.95,0,0.01,0.11,0.13,0.01,0,0,0,0.39,0.03,0.51,0.042,0.173,0.002,0.008,0.005,0.002,2.145,71,2954,0 +0.16,0.08,0,0,0,0,0,0,0.16,0.33,0,0.67,0,0,0.08,0,0.5,0.33,0.58,0.16,0.42,0,0,0.08,1.34,0.58,0,0,0,0.08,0,0,0,0,0,1.09,1.34,0,0.16,0,0,0,0,0.08,0,0,0,0,0.084,0.408,0.06,0,0.012,0,4.179,104,1655,0 +1,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,5,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0,0.17,0,0,1.692,4,22,0 +0,0,1.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.7,2.35,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0,1.17,0,0,0,0,0,0,0,0.193,0,0,0,1.974,16,77,0 +0,0,1.06,0,0,0.35,0,0,0,0,0,2.13,0,0,0,0,0.71,0,0.71,0,0,0,0,0,4.62,0,0,0,0.35,1.06,0,0,0,0,0,0.35,0.35,0,0.35,0,0,0,0.35,0,0.71,0,0,0,0,0.055,0.055,0,0,0,2.239,17,206,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,7.14,3.57,0,3.57,0,3.57,3.57,0,0,0,3.57,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0.239,0,0.239,0,0,1.687,10,27,0 +0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,4,2,0,2,0,2,2,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0.18,0,0,0,0,1.611,10,29,0 +0.23,0,0,0,0,0.23,0,0,0,0,0,0.92,0.46,0,0,0,0,0,2.76,0,2.76,0,0,0.69,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.445,0,0.202,0.121,0,1.945,7,142,0 +0,0,0,0,0,0,0,1.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.78,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,1.666,7,15,0 +0,0,0,0,0,0,0,0,0,0,0,0,0.89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.89,0,0,0,0,0,0,1.78,0,0,0,0.89,0,0,0,0,0.89,0,0,0,0.269,0.269,0,0,0,2.27,16,84,0 +0,0,0,0,0,0,0,0,0,0,0,1.72,0,0,0,0,0,0,3.44,0,1.72,0,0,0,0,1.72,0,0,0,0,0,0,0,0,0,0,0,0,1.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.058,5,35,0 +0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,1.16,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.16,0,0.744,0,0.148,0,0,1.972,18,71,0 +0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,1.36,0,0,0,0,0,0,0,0,0,1.36,1.36,0,0,0,0,0,0,1.36,0,0,0,1.36,0,0,0,0,0,1.36,0,0,0,0,0,0,0.404,0.202,0,0,0,3.533,17,53,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.35,0,0,0,0,0,0,0,0,0,0,0,0,1.169,0,0,0,0,2.533,21,76,0 +0,0,1.18,0,0,0,0,0,0.59,0,0,0,0,0,0,0,0,0,1.77,0,1.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.313,0.313,0,7.588,66,129,0 +0,0,0,0,0,0.57,0,0,0,0,0,1.73,0,0,0,0,1.15,0,0.57,0,0,0,0,0,2.31,0,0,0,0.57,1.73,0,0,0,0,0,0.57,0,0,0,0,0,0,0,0,0.57,0,0,0,0,0.086,0,0,0,0,1.5,5,72,0 +0,0,0,0,0,0,0,0,0.62,0,0,0.2,0,0,0,0,0,0,0,0,0,0,0,0,3.34,2.3,0,0,0,0,0,0,0,0,0.2,0,0.62,0,0.2,0,0,0,0.41,0,0,0,0,0,0.085,0.198,0.056,0,0,0.454,3.414,108,536,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.96,0,1.96,0,0,0,0.98,0,0,0,0,0.98,0,0.377,0,0.125,0,0,2.925,27,158,0 +0,0,0.25,0,0,0.25,0.5,0.25,0,0,0,0,0,0,0,0,0,0,1.25,0,0.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.25,0,0,0,0,0.18,0,0.045,0,0,1.324,5,98,0 +0.05,0,0.45,0,0.16,0.11,0,0,0.62,0,0,0.16,0,0,0,0,0,0.05,0.22,0,0.16,0,0,0,0.62,0.67,0.05,0,0,0,0,0,0.9,0,0,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0.121,0.162,0.04,0,0.016,0,2.887,45,875,0 +0,0,0.35,0,0.35,0.71,0,0,0,0,0,0.71,0,0,0,0,0,0,0.71,0,0.35,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0.35,0,0.35,0,0,0,0.35,0,0.35,0,0,0,0,0.124,0,0.372,0,0,1.641,12,110,0 +0.25,0.25,0,0,0.25,0,0.25,0,0,0.25,0.25,0,0.25,0,0,0.25,0,1.02,2.05,0,2.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.25,0,0,0,0.51,0.25,0,0,0,0,0,0.413,0,0.165,1.78,13,146,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,1.26,0,0,0,0,0,1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.26,0,0,0,0,0,0.214,0,0.214,0,0,1.263,4,24,0 +0,0,0,0,0,0,0,0,0,0,0,1.38,0,0,0,0,0,0,1.38,0,1.38,0,0,0,1.38,1.38,2.77,0,0,0,0,0,0,0,0,0,1.38,0,1.38,0,0,0,1.38,0,0,0,0,0,0,0,0.224,0.448,0,0,1.451,12,45,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.234,0,0,3,5,15,0 +0,0,0,0,0,0,0,0,0,0,0,1.52,0,0,0,0,0,0,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.76,0,0,0,0,0.76,0,0,0,0.118,0,0,0,0,1.735,10,59,0 +0,0,0,0,0,0,0,0,0,0,0,2.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.92,0,0,0,0,0,0,0,0.92,0,0,0,0,0.92,0,0,0,0,0,0,0,0.165,0,0.165,0,0,1.666,7,45,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,3,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.42,0,1.42,0,0,0,0,0,0,0,0,1.42,0,0.361,0,0,0,0,2.025,7,81,0 +0,0,0,0,0,0,0,0,0,0.42,0,0.42,0,0,0,0,0,0,3.4,0,0.42,0,0,0.42,1.27,0.85,0,0.85,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0,0.155,0,0,0,0,2.555,11,92,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,2.307,9,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,17,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0.724,0,0,2.285,8,16,0 +0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,0.7,0,1.4,0,1.4,0,0,0,0,0,0.7,0,0,0,0.7,0,0,0,0,0,0,0,0,2.11,0,0,0,0,0,0,0,0,0,0.266,0.066,0,0,0,18,200,378,0 +0,0,0,0,0,0,0,0,0.14,0,0,0.43,0,0,0,0,0.14,0,0,0,0.14,0,0,0,0.14,0.57,0,0,0,0,0,0,0.14,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0.14,0.058,0.156,0,0,0,0,1.566,13,462,0 +0,0,0.13,0,0.26,0,0,0.65,0.13,0,0,0.78,0.26,0,0,0,0.13,0,0,0,0,0,0.13,0,1.69,0,0,0,0,0,0,0,0,0,0,0,0.13,0,0,0,0,0,0,0,0,0,0,0.13,0,0.105,0,0,0.052,0,2.165,20,446,0 +0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0.286,0,0,0,0,1.461,4,38,0 +0.67,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,1.01,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.34,0,0,0,0,0,0,0,0.055,0,0,0,0,1.644,13,74,0 +0.42,0,0,0,0,0,0,0,0,0.42,0,0.42,0.42,0,0,0,0,0,0.42,0,0.42,0,0,0,1.28,2.57,0,0,0,0.42,0,0,0.42,0,0,0.42,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.151,0,0,1.533,9,69,0 +0,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.96,0,0,0,0,0,0,3.92,1.96,0,3.92,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.475,0,0,0,0,2.95,11,59,0 +0,0,0.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0,0.96,1.93,0,0,0,0.48,0,0,0,0,0,0.96,0.48,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0,0,0,1.353,7,88,0 +0,0,1.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.66,1.66,0,0,0,0,0,3.33,1.66,0,1.66,0,1.66,1.66,0,0,0,1.66,1.66,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0.167,0,0.167,0,0,1.533,10,46,0 +0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0.81,0,0,0,0,0,2.45,2.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0.12,0,0,0,0,2.473,11,47,0 +0,0,0,0,0,0,0,0,0,0,0,2.15,0,0,0,0,0,0,1.07,0,0,0,0,0,5.37,1.07,0,0,3.22,0,1.07,0,0,0,0,0,1.07,0,0,0,0,3.22,1.07,0,0,0,0,0,0,0.388,0.194,0,0,0.194,2.666,13,104,0 +0.06,0,0.19,0,0.06,0.06,0,0,0,0.13,0,0.26,0.06,0,0,0,0,0,0.52,0,0.46,0,0,0,2.57,0.92,0,0.06,0.13,0.52,0.32,0,0.06,0,0.26,0.13,0.32,0,0.26,0,0,0,0,0,0.06,0,0,0.13,0.009,0.152,0,0.047,0.028,0,1.948,23,836,0 +0,0,0,0,0,0,0,0,0,0,0,5.12,0,0,0,0,0,0,2.56,0,0,0,0,0,0,0,0,0,5.12,0,0,0,0,0,0,0,0,0,0,0,0,5.12,0,0,0,0,0,0,0,0.5,0,0,0,0,2.266,7,34,0 +0,0,0,0,0,0,0,0,0,0,0.38,0.19,0,0,0,0,0,0,1.33,0,0.38,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0.154,0,0.03,0,0.03,2.852,12,388,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,4.54,4.54,4.54,4.54,4.54,4.54,4.54,0,4.54,4.54,4.54,0,0,0,4.54,0,0,0,0,0,0,0,0,0,1.169,0,0,0,0,3.1,11,31,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,2.43,0,0,0,0,0,0,0,0,0,0,0,0,0,2.43,0,0,0,0,0,0,0,2.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.442,0,0,0,0,1.2,3,12,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,6,66,0 +0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,0,1.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.22,0.22,0,0,0,3.875,28,93,0 +0.22,0,0.22,0,0.67,0,0,0,0.22,0,0,0,0.22,1.34,0,0,0.44,0,0.67,0,1.56,0,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.23,0,0,0,0,0,0,0,0.156,0,0.134,0,0.156,3.08,121,693,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.161,0,0,1.25,3,15,0 +0,0,0,0,0.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0.69,0,0,0,0,0,2.08,0.69,0,0,0,0,0,0,0,0,0,0,0.69,0,0,0,0,0,0,0,0,0,0,0,0,0.284,0,0.284,0.094,0,2,11,60,0 +0.13,0,0.13,0,0.13,0,0,0,1.18,0,0,0.52,0,0,0,0,0,0,0.52,0,0.26,0,0,0,0.65,0.79,0.13,0,0,0,0,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.128,0.164,0.036,0,0.036,0,3.185,32,481,0 +0.08,0,0.22,0,0.04,0,0,0,0.44,0.04,0,0.22,0.04,0,0,0,0.04,0,0.17,0,0.08,0,0,0,0.39,0.44,0.04,0,0,0,0,0,0.57,0,0,0,0.08,0.08,0,0,0,0,0.04,0.04,0,0,0,0,0.163,0.197,0.058,0,0.011,0,3.851,64,1583,0 +0,0.28,0.28,0,0.86,0,0,0,0,0.28,0.28,0,0,0,0,0,0,0,2.87,0,1.72,0,0,0,0.28,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.57,0,0,0,0,0.137,0,0,0,0,1.95,15,156,0 +0.09,0.04,0.04,0,0.04,0,0,0,0.66,0,0,0.33,0.04,0,0,0,0,0.04,0.19,0,0.14,0,0,0,0.62,0.66,0.04,0,0,0,0,0,0.14,0,0,0.04,0,0,0,0,0,0,0,0.09,0,0,0,0.04,0.145,0.152,0.053,0,0.013,0,3.685,85,1463,0 +1.14,0,0,0,1.14,0,0,0,0,0,0,1.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.14,0,2.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.14,0,0,0,0,0,0,0,0,0,1.19,3,25,0 +0,0,0,0,3.22,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,6.45,0,0,0,0,0.512,0,0,0,0,2.4,11,24,0 +0.2,0,0.1,0,0,0,0,0.1,0,0,0,0.4,0.1,0,0,0,0.2,0,0,0,0,0,0.1,0,4.5,0.1,0,0,0,0,0,0,0.1,0,0,0.1,0.1,0.1,0,0,0,0.6,0,0,0,0,0,0,0.092,0.079,0,0,0.013,0,2.361,26,562,0 +0,0,1.94,0,0,0,0,0,0,0.97,0,0.97,0,0,0,0,0,0,1.94,0,0,0,0,0,0.97,0.97,0,1.94,0,0.97,0,0,0,0,1.94,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0.379,0,0,0,0,8.125,75,195,0 +0,0,0,0,0,0,0,0,0,1.23,0,2.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0.796,0,0,0,0,2.142,8,60,0 +0.81,0,0.81,0,0.81,0,0,0,0,0,0,0.81,0,0,0,0,0,0,1.62,0,1.62,0,0,0,0.81,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,1.62,0,0,0,0,0,0,0,0.123,0,0.37,0,0,5.375,69,129,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15.38,7.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,7,17,35,0 +0.54,0,0.27,0,0,0,0,0,0.27,0.54,0,0.81,0,0,0,0,0,0.27,1.08,0,0.81,0,0,0,0.81,0.81,0,1.08,0,0.54,0,0,0.27,0,1.08,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0.039,0.318,0.079,0,0,0,4.971,76,517,0 +0.56,0,2.24,0,0,0.56,0,0,0,0,0,1.12,0,0,0,0,0,1.12,4.49,0,0,0,0,0,1.12,0,0,0,0.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.56,0,0,0,0.111,0.111,0,0.111,0,0,1.23,4,32,0 +0.36,0,1.09,0,0,0,0,0,0,0,0,0.72,1.81,0,0,0,0,0,0.72,0,1.09,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.063,0.126,0,0.063,0.126,0,2.562,35,123,0 +0,0,0,0,0,0,0,0,0,0,0,0,2.38,0,0,0,0,0,2.38,0,0,0,0,0,2.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,2,12,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,17,20,0 +0.27,0,0.27,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0.54,0,0.27,0,0,0,9.83,0.81,0.54,0.27,0.27,0.27,0.27,0.27,0,0.27,0.27,0.27,0.54,0,0.27,0.27,0,0.54,0.54,0,0.54,0,0,0,1.411,1.411,0.041,0,0,0,4.891,20,675,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.43,0,0,0,0,0,0,0,0,2.43,0,0,0,0,0,0,0,0,0,0,0,0,1.625,6,13,0 +0.84,0,0,0,0,0,0,0,0,0,0,0.84,0,0,0,0,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.84,0,0,0,0,0.082,0.414,0,0,0,0,3.34,7,167,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,1.125,2,9,0 +0,0,0,0,1.75,0,0,0,0,0.87,0,0,0,0,0,0,0,0,1.75,0,0.87,0,0,0,0.87,0.87,0.87,0,0,0,0,0,0,0,0,0,0.87,0,0.87,0,0,0,0.87,2.63,0.87,0,0,0,0.469,0,0.156,0,0,0,1.466,12,44,0 +0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0,0,0,0,0,0.48,1.93,0,0,0.48,0,0,0,0,0,0,0,1.44,0,0,0,0,0,0,1.44,0,0,0,0,0,0.304,0,0,0.365,0,3.016,10,187,0 +1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.02,0,0,0,0,0,0,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.02,0,0,0,0,1.02,0,0,0.352,0,0.176,0,0,1.241,3,36,0 +0,0,0,0,0,0,0,0,0,0,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,1.81,0.45,0,0,0,0.9,0,0,0,0,0,0.45,0,0,0,0,0,0,0,0,0.45,0,0,0,0,0,0,0,0,0,1.444,5,104,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,0,0,0,0,0,0,0,0,0,1.333,3,12,0 +0,0,0.76,0,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0.76,0,0,0,0,0,0.76,0,1.52,0.76,0.76,1.52,0.76,0.76,0,0.76,0.76,0.76,0.76,0,0,0.76,0,0.76,0,0,2.29,0,0,0,0,0.254,0,0.127,0,0,1.755,11,79,0 +0,0,0,0,2.46,0,0,0,0,1.23,0,0,0,0,0,0,0,0,2.46,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.46,0,0,0,0,0.245,0,0,0,0,0,1.166,3,14,0 +0,0,0,0,0,0.69,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.92,0.92,0,0,0,0,0,0,0.46,0,0,0,0.23,0,0.23,0.23,0,0,0.23,0,0,0.69,0,0,0.033,0,0.033,0,0,0,1.554,13,143,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.04,1.04,0,0,0,0,0,1.04,0,0,0,0,0,0,0,0,0,0,0,1.04,0,1.04,0,0,0,1.04,0,0,0,0,0,0.179,0.358,0,0.179,0,0,2.037,13,55,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.08,0,0,0,0,0,2.08,0,0,0,0,0.393,0,0,0,0,1.545,6,17,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.02,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.02,0,0,0,1.02,0,0,0,0,0,0,0,0,0,0,0.142,0,1.857,10,65,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6,4,8,0 +0.46,0,0,0,0,0,0,0,0,0,0,2.32,0.46,0,0,0,0,0.46,5.11,0,0.46,0,0,0,0.93,1.39,0,0,0.46,0,0,0,0,0,0,0,0,0,1.39,0,0,0.93,0,0,0,0,0,0,0,0,0,0.065,0,0,2,13,86,0 +0,0,0.58,0,0.58,0,0,0,0,2.35,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,1.76,1.17,1.76,0.58,0.58,0.58,0.58,0.58,0,0.58,0.58,0.58,0.58,0,0,0.58,0,0,0.58,0,0.58,0,0,0,0.188,0.566,0.094,0,0,0,2.246,13,146,0 +0,0,0,0,0,0,0,0,0,0.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.75,0,0.75,0,0,0,0.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0.133,0,0,0.133,4.472,33,161,0 +0,0,0,0,0,0,0,0,0,0.51,0,0,0,0,0,0,0,0,0.51,0,0.51,0,0,0,3.06,2.04,0.51,2.04,0.51,1.02,0.51,0.51,0,0.51,1.02,0.51,0,0,0.51,0.51,0,1.02,0,0,0.51,0,0,0,0.158,0.553,0,0,0,0,4,37,216,0 +0.85,0.85,0,0,1.7,0,0,0,0,0.85,0,0.85,0,0,0,0,0,0,0,0,0.85,0,0,0,0,0.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.275,0,0,0,0,1.55,5,31,0 +0,0,0.52,0,0.52,0,0,0,0,2.11,0,0,0,0,0,0,0,0,0.52,0,0.52,0,0,0,1.58,1.05,1.05,0.52,0.52,0.52,0.52,0.52,0,0.52,0.52,0.52,0.52,0,0.52,0.52,0,0,0.52,0,0.52,0,0,0,0.171,0.513,0.085,0,0,0,2.225,13,158,0 +0.39,0.39,0,0,0.39,0,0,0,0,0.39,0,1.19,0,0.39,0,0,0,0,1.19,0,0,0,0,0,2.77,1.98,1.19,1.19,0.39,0.39,0.39,0.39,0,0.39,1.19,0.39,0.39,0,0,0.39,0,0.39,0.39,0,0.39,0,0,0,0.125,0.377,0.439,0,0,0,2.238,13,141,0 +0,0,0,0,0,0,0,0.86,0,0,0,2.58,0,0,0,0,0.86,0,2.58,0,0,0,0,0,1.72,0,0,0,0,0.86,0,0,0,0,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.141,0,0,1.535,8,43,0 +0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0.58,1.75,1.16,0,0.58,0,0.58,0.58,0,0,0,0.58,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0.059,0,0,0,0.178,2.506,11,183,0 +0,0.68,0.34,0,0,0,0,0.34,0,0,0.34,0,0,0,0,1.72,0,0,1.03,0,2.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0.34,0,0,0,0,0.046,0,0,0,0,3.344,107,194,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0,0,0,0,0,1.46,0.29,0,0.58,0,0,0,0,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0.018,0,0,0,0,251,1488,1506,0 +0.3,0,0.3,0,0,0,0,0,0,0,0,0.15,0,0,0,0,0,0.15,1.38,0,0.61,0,0,0,1.38,0.3,0.61,0.15,0.15,0.15,0.15,0.15,0.3,0.15,0.15,0.15,0.3,0,0.15,0.15,0,0,0.3,0,0.61,0,0,0,0.131,0.183,0.052,0,0,0,1.837,13,305,0 +0,0,0.29,0,0.29,0,0,0,0.29,0,0,0.29,0,1.19,0,0,0.29,0,0.29,0,0.29,0,0,0,0,0,0,0.29,0,0,0.29,0,0,0,0.29,0,0.29,0,0,0,0,0.89,0,0,0,0,0,0,0,0.156,0.031,0.376,0,0.125,3.338,157,611,0 +0,0,0,0,0,0,0,0,0.43,0,0,2.17,0,0,0,0,0,0,0.86,0,0,0,0,0,0.86,0.43,0,1.3,0,0,0,0,0,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.248,0,0,0,0,2.119,15,142,0 +0,0,0,0,0,0,0,0,0,0.55,0,0.55,0,0,0,0,0,0,1.11,0,0.55,0,0,0,2.77,2.22,1.11,0.55,0.55,0.55,0.55,0.55,0.55,0.55,0.55,0.55,1.66,0,0.55,0.55,0,0,1.11,0,1.11,0,0,0,0,0.603,0.086,0,0,0,2.113,13,167,0 +0,0,0,0,0,0,0,0,0,0,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,1.49,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.49,0,0,0,0,0,0,0,0,2,8,36,0 +0,0,0.89,0,0.44,0.44,0,0,0,0,0,0.89,0,0.44,0,0,0.89,0,0,0,0,0,0,0,1.79,0,0,0,0,0,0,0,0,0,0,0.89,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0.131,0,0,0,0,1.61,13,95,0 +0,0,0,0,0,0,0,0,0,0,0,0.9,0,0,0,0,0,0.6,0.6,0,0.6,0,0,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.173,0,0,0.129,0,3.266,31,196,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.666,3,15,0 +0.35,0,0.35,0,0,0,0,0,0,0,0,0.35,0,0,0,0,0,0,1.42,0,0.71,0,0,0,0,0,0.35,0,0,0,0,0,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.292,4,84,0 +0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,1,1,19,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0.294,0,0,0,0,1.25,2,15,0 +0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,0.65,0,0.65,0,0,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.327,0.109,0,0,0.109,3.857,28,162,0 +0.36,0,1.47,0,0.36,0,0,0,0.36,0,0.36,3.32,0,0,0,0,0,0,1.1,0,0.36,0,0,0,0.36,0.36,0,0,0,0,0,0,0,0,0,0,1.1,0,0,0,0,1.1,0,0,0,0,0,0,0,0.051,0,0,0,0,2.293,45,172,0 +0,0,0,0,0.83,0.41,0,0.83,0,0,0,1.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0.068,0,0,0,0,1.673,5,82,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,16,0 +0,0,0.87,0,0.87,0,0,0,0,0.87,0,0,0,0,0,0,0,0,0,0,0.87,0,0,0,1.75,0.87,2.63,0,0,0,0,0,0,0,0,0,0.87,0,0,0,0,0,0.87,0,0.87,0,0,0,0,0.283,0.141,0,0,0,1.785,15,75,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.63,0,0,0,0,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.272,0.272,0,0,0,4.19,26,88,0 +0,0,0,0,0,0,0,0,0,0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.58,0,0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,1.182,0,0,0,0,2.057,13,72,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.22,2.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.22,0,0,0,0,0,0,0,0,0,1.75,5,21,0 +0,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4,0,0.56,0,0,0,3.37,1.4,0.28,0.28,0.28,0.28,0.28,0.28,0,0.28,0.28,0.28,0.56,0,0,0.28,0,0.28,0.56,0,0.28,0,0,0,0,0.14,0.093,0,0,0,2.464,15,207,0 +0,0,0,0,0,0,0,0,0,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0.5,0,0,0,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.505,0.168,0,0,0.084,4.068,28,236,0 +0,0,1.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.33,0,0,0,0,0,0,2.66,1.33,0,1.33,0,1.33,1.33,0,0,0,1.33,1.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0.288,0,0.144,0,0,1.857,10,39,0 +0,0,0,0,0.35,0,0,0,0,0.35,0,0,0,0,0,0,0,0,2.1,0,0.7,0,0,0,2.8,1.05,1.4,0.35,0.35,0.35,0.35,0.35,0,0.35,0.35,0.35,0.7,0,0,0.35,0,0,0.7,0,0.7,0,0,0,0,0.233,0.116,0,0,0,1.746,13,145,0 +0,2.07,0,0,0,0,0,0,1.55,0,0,0.51,0,0,0,0,0,0,1.03,0,0,0,0,0,0.51,0,2.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0,0,0.141,0.211,25.812,104,413,0 +0,1.36,0.9,0,0,0,0,0,0,1.81,0,0.45,0,0,0,0,0,1.81,0,0,3.18,0,0,0,0.45,0,0,0,0,0,0,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.199,0,0,0,0,3.382,53,159,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.14,0,0,0,0,0,2.29,1.14,0,3.44,0,0,0,0,0,0,2.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.163,0,0,0,0,3.28,15,82,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,1.08,0,0,0,0,0,1.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.263,4,24,0 +0.1,0,0.1,0,0.1,0.1,0,0.4,0,0,0.1,0.8,0,0,0,0,0,0.1,0.1,0,0,0,0,0,0.1,0,0,0.1,0,0,0,0,0.1,0,0,0,0.3,0,0.1,0,0,0.4,0.2,0.2,0,0.8,0,0,0.015,0.136,0.015,0,0.015,0,1.636,18,527,0 +0,0,0,0,0.67,0,0,0,0,0.67,0,0.67,0,0,0,0,0,0,0.67,0,0,0,0,0,4.05,4.05,0,2.02,0,0,0,0,0,0,0.67,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0.613,0,0,0,0,2.976,24,128,0 +0.9,0,0,0,0,0,0,0,0,0,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0.9,0.9,0,0,0,0,0,0,0,0.9,0,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0.15,0,0,0,0,3.225,22,129,0 +1.19,0,0,0,0,0,0,0,0,1.19,0,0,0,0,0,0,0,0,1.19,0,0,0,0,0,1.19,1.19,0,2.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4,0,0,0,0,3.09,11,68,0 +0,0,0,0,0.34,0,0,0,0,0,0,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,3.06,0,0,0,0.34,0,0,0,0.34,0,0,0,0,0,0,0.34,0.088,0.132,0,0,0,0,1.25,7,85,0 +0,0,0,0,0,0.32,0,0.64,0,0,0,1.6,0,0.32,0,0,0,0.32,0.32,0,0,0,0,0,0.32,0.32,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,4.295,87,262,0 +0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,1.85,0,3.7,0,0,0,1.85,0,0,3.7,0,0,0,0,1.85,0,1.85,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0.636,0,0.318,0,0,2.695,15,62,0 +0,0,0,0,0,0,0,0,0,0.76,0,0,0,0,0,0,0,0,0,0,0.76,0,0,0,0,0,0.76,0,0.76,0,0,0,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.123,0.123,0,0,0.123,3.7,28,148,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +1.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.22,0,3.33,0,0,0,2.22,1.11,2.22,1.11,1.11,1.11,1.11,1.11,0,1.11,1.11,1.11,1.11,0,1.11,1.11,0,0,1.11,3.33,1.11,0,0,0,0,0.353,0,0.176,0,0,2.1,12,63,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.14,3.57,3.57,3.57,3.57,3.57,3.57,3.57,0,3.57,3.57,3.57,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0.956,0,0,0,0,3.6,11,36,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.44,0,4.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.22,0,0,0,0,0,0,0.383,0,0,1.333,3,8,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.66,0,0.33,0,0,0,5.66,2.66,2,0.66,0.66,0.66,0.66,0.66,0,0.66,0.66,0.66,0.66,0,0.33,0.66,0,0,0.66,0,0.66,0,0,0,0.101,0.254,0.101,0.05,0.05,0,2.725,15,248,0 +0.2,0,0.2,0,0.2,0,0,0,0,0,0,1,0.2,0,0,0,0,0.2,0.4,0,0,0,0,0,2.61,1.2,0,0.4,0,0,0,0,0.8,0,0.4,0,0.8,0,0,0,0,0,0,0,0,0.2,0,0,0.061,0.462,0.061,0,0,0,2.61,24,308,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.08,0,4.16,0,0,0,0,0,2.08,0,2.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.08,0,0,0,0,0,0,0,0,1.181,3,13,0 +0,0,0,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,1.31,0,0,0,0,0,2.63,2.63,2.63,1.31,1.31,1.31,1.31,1.31,0,1.31,1.31,1.31,1.31,0,1.31,1.31,0,0,1.31,0,2.63,0,0,0,0,0.407,0.203,0,0,0,2.151,12,71,0 +0,1.32,0,0,0,0,0,0,0.66,0.66,0,0.22,0,0,0,0,0,0.88,0.66,0,0.88,0,0,0,1.76,0,1.54,0,0,0.44,0,0,0.44,0,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0.023,0,0.023,0.047,0.094,8.76,161,876,0 +0,2.07,0,0,0,0,0,0,1.55,0,0,0.51,0,0,0,0,0,0,1.03,0,0,0,0,0,0.51,0,2.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0,0,0.141,0.211,25.812,104,413,0 +0.34,0,0,0,0,0,0,0,0.34,0.68,0,1.02,0,0,0,0,0,0,1.36,0,0.68,0,0,0,2.38,1.7,0.68,1.7,0.68,0.34,0.34,0.34,0,0.34,0.34,0.34,0.68,0,0.68,0.34,0,0,0.68,0,0.34,0,0,0,0.052,0.42,0.052,0,0,0.052,2.604,13,250,0 +0,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0.47,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.074,0.297,0,0,0.074,4.308,28,293,0 +0,0,0,0,4.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.54,0,4.54,0,0,0,0,0,0,0,0,0,0,2,5,16,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,1.428,3,10,0 +0,1.86,0,0,0,0,0,0,0,0.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8,1.86,1.86,0.93,0.93,0.93,0.93,0.93,0,0.93,0.93,0.93,0.93,0,0.93,0.93,0,0.93,0.93,0,0.93,0,0,0,0,0.457,0.152,0,0,0,2.097,13,86,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0.47,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.074,0.298,0,0,0.074,4.268,28,286,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,1.625,6,13,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.27,0,0,0,0,0,2.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.052,2,20,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2,4,11,0 +0.66,0,0,0,0,0,0,0,0.66,0.66,0,2,0,0,0,0,0,0,2,0,1.33,0,0,0,0.66,0.66,0,1.33,0,0,0,0,0,0,0,0,0,0,0.66,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,2.529,11,86,0 +0,0,0,0,0,0,0,0,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.04,1.02,2.04,2.04,0,0,0,0,0,0,0,0,1.02,0,0,0,0,0,1.02,0,2.04,0,0,0,0,0.323,0,0,0,0,2.682,13,110,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.68,0,0.34,0,0,0,5.86,2.75,1.37,0.68,0.68,0.68,0.68,0.68,0,0.68,0.68,0.68,0.68,0,0.34,0.68,0,0,0.68,0,0.68,0,0,0,0.11,0.276,0.11,0.055,0.055,0,2.87,15,244,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.92,0,0,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0.26,0,0,2.2,10,44,0 +0,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.727,5,19,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.38,0,0,0,2.38,0,0,4.76,0,0,0,0,2.38,0,2.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.749,0,0.374,0,0,2.85,15,57,0 +2.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.38,0,0,0,1.38,0,0,0,0,0,0,0.213,0,0,1.75,6,49,0 +0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.733,9,26,0 +0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.592,8,43,0 +0,0,0.17,0,0.17,0,0,0.17,0.08,0,0.08,0.25,0,0,0,0.08,0,0,0.94,0,0.6,0,0.25,0,1.89,0.43,0,0.08,0,0.25,0.34,0,0,0,0.25,0,0.17,0,0,0,0,0,0,0,0,0,0,0.08,0,0.127,0,0.051,0.038,0,1.838,24,605,0 +1.05,0,0,0,1.05,0,0,0,0,0,0,2.1,0,0,0,0,0,0,4.21,0,2.1,0,0,0,1.05,1.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.05,0,0,0,0,0,0,0,0.171,0,0,0,0,2.541,12,61,0 +0,0,0,0,0.59,0,0,0,0,0,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0,1.79,1.49,0,0.59,0,0.89,0,0,0,0,0.29,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0.141,0,0,0,0,1.87,24,174,0 +0,0,0,0,0,0,0,0,0.27,0,0,0.82,0.27,0,0,0,1.64,0,1.36,0,0.54,0,0,0,0.27,0,0,0,0,0,0,0,0,0,0,0.54,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0,0.045,0,0,1.465,8,85,0 +0,0,0,0,0,0.8,0,0,0,0,0,1.61,0,0,0,0,0,0,0.8,0,0.8,0,0,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.417,0,0.139,0,0,1.411,5,24,0 +0,0,0,0,1.69,0,0,0,0,0,0,1.69,0,0,0,0,0,0,1.69,0,1.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.69,0,0,0,0,0,0,0.552,0,0,1.461,4,19,0 +0,0,0,0,0,0,0,0,0,0,0,1.6,0,0,0,0,0,0,0,0,0,0,0,0,9.62,0,0.53,0,0,0,0,0,2.13,0,0,0,1.06,0,1.6,0,0,0.53,1.06,0,1.06,0,0,0,0.425,0,0.17,0,0,0,2.567,15,172,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.93,0,0.46,0,0,0,4.2,2.8,1.4,0.46,0.46,0.46,0.46,0.46,0,0.46,0.46,0.46,0.46,0,0,0.46,0,0,0.46,0,0.46,0,0,0,0.151,0.227,0.075,0.075,0.075,0,2.482,12,139,0 +0.35,0,0,0,1.41,0,0,0,0,0,0,1.76,0,0,0,0,0.35,0,0,0,0,0,0,0,1.06,1.06,0,0.7,0,0,0.35,0,0,0,0.7,0,1.06,0,0.7,0,0,0,0,1.41,0,0,0,0.35,0,0.104,0,0,0,0,2.108,24,213,0 +0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0.68,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0.68,0,0,5.47,0,0,0,0,0,0.68,0,0.68,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0.138,0,0,0,0,1.1,3,22,0 +0,0,0,0,0.59,0,0,0,0,1.18,0,0.59,0,0,0,0,0,0,1.77,0,0,0,0,0,0.59,0.59,0,1.18,0,0,0,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.215,0,0.107,0,0,2.741,11,85,0 +0,0.55,0,0,0,0,0,0,0,0,0,1.67,0,0,0,0,0,0,2.79,0,1.67,0,0,0,0,0,0,0,0,0,0,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.083,0,0,0,0,1.392,4,39,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.098,0,0,0,2.375,5,19,0 +0,0,0,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0,0,7.27,0,1.81,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.316,0,0,0,0,1.125,2,9,0 +0,0,0.16,0,0.83,0,0.16,0,0.16,0,0,0.66,0,0.66,0,0,0.16,0,0,0,0.16,0,0,0,3,0.83,0.33,0.5,0.16,0.16,0.5,0.16,0,0.16,0.5,0.16,0.5,0,0.16,0.16,0,0.66,0.33,0.16,0,0,0,0,0,0.162,0.04,0.02,0,0.02,2.604,28,758,0 +0.33,0.33,0.99,0,0,0.66,0,0,0,0,0,0.33,0,0,0,0,0,0,2.65,0,0.33,0,0,0,1.99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0.33,0,0,0,0,0,0,0.051,0,0,1.786,28,134,0 +0,0,0,0,0,0,0,0.08,0,0,0,0.08,0,0,0,0,0.08,0,0,0,0,0,0,0,0.08,0.08,0.08,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0.08,0,0,0,0,0,0,0.34,0.081,0.451,0,0,0,0,1.833,18,935,0 +0,0,0.2,0,0.6,0.2,0,0,0.1,0,0,0.5,0,0,0,0,0.1,0,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0.049,0,0,0,0,1.133,10,263,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7,0,0.85,0,0,0,0.85,0,0,0,0,0,0,0,0.85,0,0,0,0,0,0,0,0,0.85,0,0.85,0,0,0,0,0,0,0.138,0,0,0,1.228,4,43,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.25,2,5,0 +0,0,0.23,0,0.92,0,0,0,0.23,0,0,0.92,0,0.92,0,0,0.23,0,0,0,0.23,0,0,0,0.23,0,0,0.23,0,0,0.23,0,0,0,0.23,0,0.23,0,0,0,0,0.92,0,0,0,0,0,0,0,0.13,0.026,0.026,0,0.026,2.222,23,480,0 +0,0,0.33,0,0.08,0,0,0.16,0,0,0,1,0.08,0,0,0,0.25,0,0.16,0,0,0,0,0,2.68,0,0,0,0,0,0,0,0.08,0,0,0.08,0.08,0,0,0,0,0.25,0,0,0.16,0,0,0,0.134,0.089,0,0,0,0,2.432,24,557,0 +0,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0,0,0,0,1.62,0,0,0,0,0,1.62,1.08,1.08,1.62,0.54,0.54,0.54,0.54,0,0.54,0.54,0.54,0.54,0,0,0.54,0,0,0.54,0,0.54,0,0,0,0,0.559,0,0,0,0,3.039,13,155,0 +0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,1.538,8,20,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,0,0,0,0,0,0,0,0,0,3.714,16,26,0 +0,0,0,0,0,0,0,0,0,2.56,0,0,0,0,1.28,0,0,0,0,0,0,0,0,0,3.84,3.84,0,0,0,0,0,0,2.56,0,0,0,1.28,0,0,0,0,0,1.28,0,0,0,0,0,0,0.194,0.194,0,0,0,3.631,17,69,0 +0,0,0,0,0,0,0,0,0,2.56,0,0,0,0,1.28,0,0,0,0,0,0,0,0,0,3.84,3.84,0,0,0,0,0,0,2.56,0,0,0,1.28,0,0,0,0,0,1.28,0,0,0,0,0,0,0.194,0.194,0,0,0,3.631,17,69,0 +0,0,0,0,0,0,0,0,0,0,0,0.89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.583,8,38,0 +0,0,0,0,0,0,0,0,0,4.34,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,7,0 +0,0,0.23,0,0.46,0,0,0,0.23,0,0,0,0,1.39,0,0,0.23,0,0,0,0.69,0,0,0,0.46,0,0,0,0,0,0,0,0,0,0,0,0.23,0,0,0,0,1.86,0,0,0,0,0,0,0,0.113,0,0.09,0,0.203,2.43,121,666,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.333,11,13,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.16,0,0,0,0,0,0,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.16,0,0,0,0,0,0,1.458,0,0,1.066,2,16,0 +0.08,0,0,0,0.08,0,0,0,0,0.08,0,0,0.08,0,0,0,0.08,0,0.08,0,0.08,0,0,0,0.16,0,0,0,0,0,0,0,0.16,0,0.24,0.16,0.08,0,0,0,0,0,0,0.24,0,0,0,0,0,0.085,0,0,0,0.007,4.858,60,2026,0 +0.09,0,0.09,0,0,0.09,0,0.09,0.87,0,0,0.29,0,0,0,0,0,0,0.38,0,0.19,0,0,0,0.58,0.68,0.09,0,0,0,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.173,0.173,0.053,0,0.026,0,3.704,48,726,0 +0,0,0.09,0,0.09,0,0,0.55,0,0.09,0,0.73,0.09,0,0,0,0.55,0,0.09,0,0,0,0.36,0.09,3.48,0,0,0,0,0,0.09,0,0,0,0,0.09,0.09,0,0,0,0,0,0,0.55,0,0,0,0,0.012,0.1,0,0,0.1,0,2.188,22,510,0 +0.05,0,0.15,0,0.05,0.05,0,0,0.52,0,0,0.15,0,0,0.05,0,0,0.05,0.31,0,0.15,0,0,0,0.78,0.83,0.05,0,0,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0.05,0.1,0.1,0,0,0,0.223,0.162,0.084,0,0.015,0,2.725,38,1150,0 +0,0.24,0,0,0.24,0,0,0.24,0,0.49,0,0,0,1.49,0,0,0,0,0.99,0,0,0,0,0,0.49,0,0.24,0,0,0,0.24,0,0,0,0.24,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.163,0,9.876,235,1116,0 +0,0,0.29,0,0.59,0,0,0,0.29,0,0,0,0,1.79,0,0,0.29,0,0,0,0.59,0,0,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,2.69,0,0,0,0,0,0,0,0.052,0,0.078,0,0.235,3.153,121,618,0 +0,0,0,0,0,0,0,0,0,0.46,0,1.84,0,0,0,0,0,0.46,1.38,0,0.46,0,0,0,1.84,1.38,0.92,0.92,0.46,0.46,0.92,1.38,0,1.38,0.92,0.46,0,0,0,0.92,0,1.38,0,0,0.46,0,0,0.92,0,0.362,0,0,0,0,4.153,34,162,0 +0.67,0,0.22,0,0.45,0,0,0,0,0.22,0.45,1.12,0.22,0.22,0,0,0,0,1.12,0,1.35,0,0,0,2.03,0,0,0.45,0,0,0.22,0,0,0,0.45,0,0.22,0,0,0,0,0,0,0,0,0,0,0,0,0.072,0,0.072,0.072,0.036,3.242,38,347,0 +0,0.33,0.16,0,1.15,0.33,0.16,0,0,1.32,0,0.16,0,0.16,0.16,0.99,0,0,2.8,0,2.31,0,0.33,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0,0,0,0,0.33,0,0,0,0,0.126,0,0.076,0.076,0.025,3.401,37,364,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.75,4,14,0 +0.53,0,0,0,0.88,0,0,0,0,0,0,0.71,0.35,0,0,0,0,0,1.06,0,1.06,0,0,0,2.13,1.06,0.17,0.17,0.17,0.17,0.17,0.17,0,0.17,0.17,0.17,0.53,0,0,0.17,0,0.71,0.17,0,0.53,0,0,0.35,0.052,0.131,0.026,0.026,0,0,2.941,34,353,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.25,2,5,0 +0,0,0,0,0,0,0,0.79,0,0,0,0.79,0,0,0,0,0,0,0.39,0,0,0,0,0,0,0,0,0,0.39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.309,8,55,0 +0.29,0,0.51,0,1.62,0,0,0,0,0,0,0.73,0.14,0,0,0.07,0.81,0,1.54,0,0.07,0,0,0,0.95,0,0,0,0,0.07,0,0,0,0,0,0.14,0.07,0.07,0,0,0,0.07,0,0,0.07,0,0,0,0,0.032,0,0,0.01,0,1.588,51,243,0 +0,0,0,0,0,0,0,0,0,1.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.05,1.05,0,2.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.563,0,0,0,0,3.571,11,75,0 +0,0,0,0,0,0,0,0,0,1.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.72,1.72,0,3.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.588,0,0.294,0,0,3.714,11,78,0 +0.26,0,0.26,0,0,0,0,0,0,0,0,0.26,0.52,0,0,0,0,0,1.56,0,0,0,0,0,0.78,0.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0.26,0,0,0,0,0,0,0,0,0.123,0.041,0,0.041,0,0,1.517,4,44,0 +0.6,0,0,0,0.91,0,0,0,0,0,0,0.91,0.6,0,0,0,0,0,1.21,0,1.82,0,0,0,0.3,0.3,0,0,0,0,0,0,0,0,0,0,0.6,0,0,0,0,0.91,0,0,0.3,0,0,0.3,0.088,0.044,0,0.044,0,0,2.222,22,120,0 +0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0,0,0.81,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.43,0,0,0,3.25,0,0,0,0,2.43,0,0,0,0.142,0,0.285,0,0,2.136,7,47,0 +0,0,0.76,0,0.15,0,0,0,0,0.15,0,1.07,0,0,0,0,0,0,1.99,0,0.46,0,0,0,0.92,0.15,0,0.3,0,0,0,0,0,0,0,0,0.15,0,0,0,0,0,0,0,0,0,0,0,0,0.264,0,0,0,0.026,2.891,28,347,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.69,0,1.69,0,0,0,0,0,0,3.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.69,0,0,0,0.296,0,0,0,0,3.315,13,63,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0,1.29,1.29,1.29,0,0,0,1.29,0,0,0,0,0,0,0,1.29,0,0,0,0,0,1.29,0,0,0,0,0.234,0,0,0,0,1.857,8,39,0 +0,0,0,0,0,0,0,0,0,1.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.01,0,0,0,0,0,1.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.312,0,0,0,4.03,28,133,0 +0,0,0,0,0,0,3.07,0,0,0,0,0,0,0,0,0,0,0,3.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.251,0,0,3.214,12,45,0 +1.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.04,0,0,0,0,0,0,0,3.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.04,0,0,0,0,0,0,0,0.191,0,0,0,0,1,1,17,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,0,0,0,0,0,0,0,0,0,0.6,0,0,0,0.088,0,0,0,0,1.607,4,45,0 +0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,3.57,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.545,3,17,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0,0.19,0,0,0,0.09,0,0,0,0,0,0,0.09,0,0,0,0,0,0,0,0,0,0.046,0.341,0,0,0.031,4.413,28,1399,0 +0,0,0,0,0,0.32,0,0.65,0,0,0,1.62,0,0.32,0,0,0,0.32,0,0,0,0,0,0,0.32,0.32,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.081,0,0,0,0,4.093,87,262,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.84,0,0,0,0,0,0,2.54,2.54,0,1.69,0,0,0,0,0,0,1.69,0,0,0,0.84,0,0,0,0,0,0.84,0,0,0.84,0,0.123,0,0.123,0,0.371,5.515,34,182,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.66,0,0,0,0,0,0,1.66,1.66,0,3.33,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,1.66,0,0,0,0,0,0.53,4.052,22,77,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.333,3,8,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.666,3,10,0 +0,0,0,0,0.78,0,0,0,0.78,0.78,0,0.78,0,0,0,0.78,0,0,1.56,0,0,0,0,0,0.78,0.78,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.544,0,0,0.136,0,2.62,11,76,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.42,0,0.94,0,0,0,0.47,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.94,0,0,0,0,0.079,0,0,0,0,2.315,17,88,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,3.7,1.85,1.85,1.85,1.85,1.85,1.85,1.85,0,1.85,1.85,1.85,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0.6,0,0,0,0,2.526,11,48,0 +0,0,0,0,4.76,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,0,0,0,0,0,0,0,0,1.23,3,16,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.71,2.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.25,2,10,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.22,0,0,4.44,2.22,0,0,0,0,0,4.44,0,0,0,0,0,0,2.22,0,0,0,0,0,0,0,0,0,0,0,0,3.578,20,68,0 +0.09,0.09,0.36,0,0.91,0.18,0,0,0,0,0,3.66,0.09,0,0,0,0.82,0,0.82,0,0.45,0,0,0,1.37,0.09,0,0,0,0.82,0,0,0,0,0,0.18,0,0,0.09,0,0,0,0,0,0,0,0,0,0.027,0,0,0,0,0,1.263,4,192,0 +0,0,1.96,0,0,0,0,0,0,0,0,3.92,0,0,0,0,0,0,0,0,0,0,0,0,1.96,3.92,0,0,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.476,0,0,0,0,2.318,25,51,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11.11,0,11.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,10.86,0,0,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.798,0,0,2.615,13,34,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.69,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,1.44,1.44,0,1.44,0,0,0,0,0,0.222,0,0,0,5.357,28,150,0 +0.08,0.17,0.17,0,0.8,0.08,0,0.26,0,0,0,3.39,0.17,0,0,0.08,0,0,0,0,0,0,0,0,2.68,0,0,0,0,0,0,0,0,0,0,0.35,0.08,0,0,0,0,0.08,0.08,0,0,0,0,0,0.023,0.046,0,0,0.023,0,2.658,57,436,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,3.84,0,0,0,0,0,3.84,0,0,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0.751,2.333,13,21,0 +0,0,0.69,0,0,0,0,0,0,0,0,1.39,0,0,0,0,0,0,0,0,0,0,0,0,2.79,0,0,0,0,0,0,0,0.69,0,0,0,0,0,0,0,0,0,0,1.39,0,0,0,0,0,0,0,0,0,0,1.268,4,52,0 +0,0,0,0,0,0,0,0.82,0,0,0,0.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0,0,0,0.41,0,0,0,0,0,0,0,0.41,0,0,0.41,0,0,0,0,0,0,1.394,12,53,0 +0,0,0,0,0.31,0,0.31,0,0.31,0,0.31,0.31,0,0,0,0,0,0.31,0.63,0,0.63,0,0,0,0,0,0.95,0,0,0,0,0.31,0,0.63,0,0,0.31,0,0,0,0,0,0,0,0.63,0,0,0,0,0.255,0.102,0,0,0.255,3.547,46,259,0 +0.07,0.07,0.07,0,0.14,0,0,0.43,0,0,0.14,1.43,0.07,0,0,0,0.93,0,0,0,0,0,0,0,4.3,0,0,0,0,0.07,0,0,0,0,0,0.43,0.14,0,0,0,0,0,0,0,0,0,0,0.14,0.056,0.094,0,0,0.028,0,2.394,24,881,0 +0,0,0,0,0,0,0,0,0,0.72,0,0.72,0,0,0,0,0,0,4.37,0,0,0,0,0,1.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.107,0,0,0,1.48,9,37,0 +0,0,0.32,0,0,0,0.32,0,0.32,0,0,0.65,0,0,0,0,0,0.32,0.98,0,2.63,0,0,0,0,0,0.32,0,0,0,0,0,0,0,0.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.128,5.633,118,338,0 +0.9,0,0.9,0,0,0,0,0,0,0,0.9,0,0,0,0,0,0,0.9,0.9,0,0,0,0,0,1.81,1.81,0,0.9,0,0.9,0.9,0,0,0,0.9,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0.112,0,0.225,0,0,1.807,10,47,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,0,0,0,0,0,0,8.1,0,0,0,0,0,0,0,0,0,0.473,2.25,14,27,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,2.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.432,0,0,2,16,60,0 +0,0.1,0,0,0,0,0,0.2,0,0,0,0.3,0,0,0,0,0.05,0.05,0.05,0,0,0,0,0,0.3,0.2,0,0.05,0,0.05,0,0,0.05,0,0,0.2,0.41,0,0,0,0,0,0,0.1,0.05,0.2,0,0.35,0,0.141,0,0,0,0,1.997,87,1620,0 +0,0,0,0,0,0,0,0,0.6,0,0,0,0,0,0,0,0,0,0.6,0,1.21,0,0,0,3.63,1.21,1.21,0.6,0.6,1.81,0.6,0.6,0,0.6,0.6,0.6,0,0,0,0.6,0,0,0,0,0.6,0,0,0,0,0.132,0,0,0,0,4.536,52,186,0 +0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0.74,1.49,0,0,0,0,0,4.47,2.23,0,0.74,0,0.74,0.74,0,0,0,0.74,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0.102,0.204,0.102,0,0.204,2.121,10,87,0 +0,0,0.91,0,0,0,0,0,0,0,0,1.83,0,0,0,0,0,0.91,1.83,0,0,0,0,0,1.83,0.91,0,0.91,0,0.91,0.91,0,0,0,0.91,0.91,0,0,0,0,0,0,0,0,0,0,0,0,0,0.232,0,0.116,0,0,1.619,10,68,0 +0,0,0,0,0.57,0,0,0,0,0,0,1.71,0,0,0,0,0,0.57,0,0,0,0,0,0,1.71,0.57,0,0.57,0,0.57,0,0,0,0,0.57,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0.077,0,0,0,0,1.947,12,111,0 +0.22,0,0.22,0,0.45,0,0,0,0.22,0,0,0,0,1.35,0,0,0.22,0,0,0,0.67,0,0,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0.45,0,0,0,0,2.02,0,0,0.22,0,0,0,0,0.042,0,0.063,0,0.232,3.133,121,749,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,1.4,3,7,0 +0,0,0.12,0,0.12,0,0,0.29,0.08,0.04,0,0.8,0.04,0,0,0,0.08,0,0.88,0,0.63,0,0.08,0,1.9,0.5,0,0.08,0,0.12,0.21,0,0,0,0.08,0,0.21,0,0.21,0,0,0,0,0.08,0,0,0,0.04,0.038,0.115,0,0.044,0.051,0,1.664,27,1263,0 +0,0,0.24,0,0.49,0,0,0,0.24,0,0,0,0,1.49,0,0,0.24,0,0,0,0.74,0,0,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0.24,0,0,0,0,2.23,0,0,0,0,0,0,0,0.046,0,0.069,0,0.255,2.776,121,622,0 +0,0,0,0,0.51,0,0,0,0,0,0,3.09,0,1.03,0,0,0.51,0,0,0,0,0,0,0,1.03,0.51,0,0,0,0.51,0,0,2.06,0,0,0,0,0,0,0,0,0,0,2.57,0,0,0,0,0,0,0,0,0,0,1.586,6,92,0 +0,0,1.5,0,0,0.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.116,0,0,0,0,1.833,8,22,0 +0,0,1,0,1.5,0,0,0,0,1,0.5,2,0,0,0,0,0,0,6.5,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.145,0,0,1.342,14,51,0 +0,0,0.77,0,0,0,0,0,0,0,0,0.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.77,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0.77,0,0.102,0,0.102,0,0,4.771,26,167,0 +0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,1.17,0,0,0,0,0,0.58,0,0.29,0.29,0,0,0,0,0.178,0,0.044,0,0,1.666,10,180,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.222,2,11,0 +0.01,0.01,0.13,0,0.13,0.01,0,0,0.01,0.13,0.03,0.45,0.03,0.07,0,0.11,0.53,0.07,0.07,0,0.03,0,0.01,0,0,0,0,0,0.01,0,0,0,1.57,0,0,0.11,0.86,0,0,0.03,0,0.03,0.03,0.01,0.01,0.23,0,0.15,0.008,0.111,0,0.002,0,0.01,2.106,58,3027,0 +0,0,0,0,0,0,0,0,0,0,0,0.59,0,0,0,0,0,0,2.38,0,1.19,0,0,0,1.19,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.103,0,0,0,0,3.086,55,142,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0.78,0,0,0,0,0,0,0,0,1.57,0,0,0,0,0,0,3.14,0,0,0,0,0,0,0,0,1.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78,0,0,0,0.78,0,0,0,0.437,0,0.087,0,0,2.812,13,90,0 +0,0.44,0,0,0,0,0,0,0,0.29,0,0.29,0,0,0,0,0.14,0,0,0,0.29,0,0,0,0.44,0,0,0,0,0.89,0,0,0,0,0,0,0.89,0,0,0,0.59,0,0.14,0,0,0.89,0,0.44,0.101,0.135,0.016,0,0,0,2.297,46,680,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.888,5,17,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.72,0,0,0,0,0,0,3.44,0,0,0,0,0,0,0,0,0,0.25,0,0,2.619,9,55,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.75,3,7,0 +0,0,0,0,0.57,0,0,0,0,0,0,1.72,0,0,0,0,0,0.57,0,0,0,0,0,0,1.72,0.57,0,0.57,0,0.57,0,0,0,0,0.57,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0.077,0,0,0,0,1.964,12,110,0 +0,0,0,0,0,0,0,0,0,0,0,4.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,16,0 +0,0,0,0,0,0,0,0,0,0,0,0.99,0,0,0,0.99,0,0,2.97,0,1.98,0,0,0,0.99,0.99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.262,0,0,1.565,14,36,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.63,0,0,0,0,0,0,0,0,0,1.666,7,25,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,8.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.333,2,4,0 +0,0,0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0,1.45,0,2.18,0,0,0,1.45,0.72,1.45,0.72,0.72,0.72,0.72,0.72,0,0.72,0.72,0.72,0.72,0,0.72,0.72,0,0,0.72,0,0.72,0,0,0,0,0.367,0,0,0,0,1.897,12,74,0 +0,0,0,0,0,0,0,0,0,0,0,0.58,0.58,0,0,0,0,0,1.17,0,2.35,0,0,0,1.17,0.58,1.17,0.58,0.58,0.58,0.58,0.58,0,0.58,0.58,0.58,0.58,0,0.58,0.58,0,0,0.58,0.58,0.58,0,0,0,0,0.301,0,0,0,0,1.76,12,81,0 +0,0,1.47,0,0,0,0,0,0,0,0,0,0.73,0,0,0,0,0,3.67,0,0.73,0,0,0,1.47,0.73,0.73,0.73,1.47,0.73,0.73,0.73,0,0.73,0.73,0.73,0.73,0,0,0.73,0,0,0.73,0,0,0,0,0,0,0.363,0.121,0,0,0,2.171,12,76,0 +0,0,0,0,0,0,0,0,0,1.41,0,0,1.41,0,0,0,0,0,1.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7,0,0,0,0,0.246,0,0,0,0,1.56,6,39,0 +0,0,2.5,0,0,0,0,0,0,0,0,0,2.5,0,0,0,0,0,2.5,0,2.5,0,0,0,0,0,0,0,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.222,3,11,0 +1.04,0,0.52,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,2.09,0,0.52,0,0,0,2.09,2.61,1.04,0.52,0.52,0.52,0.52,0.52,0,0.52,0.52,0.52,0,0,0,0.52,0,0,0,0,1.04,0,0,0,0,0.309,0,0.309,0,0,3.973,34,151,0 +0,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.66,0,0,0,0,0,2,2.66,0,0.66,0,0,0,0,0,0,0.66,0,1.33,0,0.66,0,0,0,0.66,0,0,0,0,0,0,0.104,0.209,0.104,0,0,2.152,17,127,0 +0,0,1.29,0,0,0,0,0,0,1.29,0,1.29,0,0,0,0,0,0,2.59,0,0,0,0,0,2.59,2.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.22,0,0,0,0,1.35,4,27,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0,0,0,2.71,0,0.67,0,0,0,0,0,0.67,0,0,0,0,4.4,0,0,0,0,0,0,0,0,0,0.555,3,14,348,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0.4,0,0,0,0,0,0,0,0,0.4,0,0,0,0,0,0,0,0,0.4,0,0,0,13.93,0.81,0,0,0,0,0,0,0,0,0,0,0.4,0,0,0,0,0,0,0,0,0,0,0,2.053,1.932,0.06,0,0,0,6.113,20,593,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.01,0,0.5,0,0,0,4.02,2.01,1,0.5,0.5,0.5,0.5,0.5,0,0.5,0.5,0.5,0.5,0,0.5,0.5,0,0,0.5,0,0.5,0,0,0,0,0.176,0.088,0,0,0,2.319,12,109,0 +0,0,0,0,0,0,0,0,0,0.37,0,0.75,0,0,0,0,0,0,2.63,0,0.75,0,0,0,0,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.066,0,0,0,0,1.433,5,86,0 +0,0,0.28,0,1.73,0,0,0,0,0,0,0.28,0.57,0.28,0,0,0,0,1.15,0,0.57,0,0,0,0.28,0,0.57,0,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0.28,0.57,0,0,0,0,0.051,0,0.103,0,0,1.411,4,24,0 +2.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1,2,11,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.408,0,0,0,0,0,2.6,6,13,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.204,0,0,0,0,0,1.285,2,9,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.96,2.97,1.98,2.97,0.99,0.99,0.99,0.99,0,0.99,0.99,0.99,0,0,0,0.99,0,0,0.99,0,0.99,0.99,0,0,0,0.479,0,0.239,0,0,2.688,13,121,0 +0,0,0,0,0,0,0,0,0.27,0,0,0.27,0,1.36,0,0,0.27,0,0.81,0,0.54,0,0,0,0.27,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0,0,0,1.09,0,0,0,0,1.91,0,0,0,0,0,0,0.23,2.521,31,517,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.123,0,0,2.6,16,26,0 +0.48,0,0,0,0,0,0,0,0,0,0,0.96,0,0,0,0,0,0.48,0.96,0,0,0,0,0,2.88,0.96,0.96,0.96,0.48,0.96,0.96,0.48,0,0.48,0.96,0.96,0,0,0,0.48,0,0,0,0,0.48,0,0,0,0,0.276,0,0.138,0,0,1.986,11,147,0 +0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,2.32,0,4.65,0,2.32,0,0,0,0,4.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.453,0,0,0,0,11.687,75,187,0 +0.43,0,0.43,0,0,0.21,0,0,0,0.21,0,0.21,0.21,0,0,0,0,0,1.08,0,0.43,0,0,0,0.43,0.43,0,0.43,0,0.21,0,0,0,0,0.43,0,0,0,0,0.21,0,0,0,0,0,0,0.65,0,0.034,0.238,0.136,0,0,0,3.372,75,344,0 +0,0,0.93,0,0.93,0,0,0,0,0,0,0,0,0,0,0.93,0,0,2.8,0,0,0,0,0,0,0.93,0,0,0.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.93,0,0,0,0,0,0,1.771,5,62,0 +0.42,0,0,0,0,0,0,0,0,0,0,0,0.85,0,0,0,0,0,4.25,0,0.85,0,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.374,0,0,0.124,0,1.772,18,78,0 +0,0,0.11,0,0.11,0,0,0.11,0,0,0,0,0.11,0.23,0,0,0.11,0,0,0,0,0,0.11,0,3.45,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0,0,0,0,0,0,0,0,0,0.047,0.157,0,0,0.078,0,2.351,28,508,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.75,0,1.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.35,0,0,0,0,0,0,0,0,0,1.913,6,44,0 +0.39,0,0,0,0,0,0,0,0,0.39,0,0,0,0,0,0,0,0,2.39,0,0,0,0,0,5.57,1.59,1.19,0.39,0.39,1.19,0.39,0.39,0,0.39,0.39,0.39,0.39,0,0.79,0.39,0,0,0.39,0,0.39,0,0,0,0,0.104,0.052,0,0,0.052,3.153,57,246,0 +0,0,0.15,0,0.3,0,0,0.15,0.15,0,0.15,2.76,0,0,0,0,0,0.46,1.69,0,0,0,0,0,0.46,0.15,0,0,0,0,0,0,0.15,0,0,0.15,0.15,0,0,0,0,0,0,0.15,0,0,0,0,0.023,0.023,0,0,0,0,2.677,58,415,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0,7.6,2.17,2.17,1.08,1.08,1.08,1.08,1.08,0,1.08,1.08,1.08,1.08,0,0,1.08,0,0,1.08,0,0,0,0,0,0,0.364,0.182,0,0,0,2.421,13,92,0 +0,2.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.23,1.23,0,1.23,0,0,0,0,0,3.7,2.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.23,0,0,0,0,0.392,0,0,0,0,2.142,10,75,0 +0,0,0,0,0,0,0,0,0,0,0,2.4,0,0,0,0,0,0,1.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,0,0,0,0,0,0,2.4,0,0,0,0,0,0,0,0.166,0,0,0,0,2.2,22,55,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.35,0,0,0,0,0,1.17,0,1.17,2.35,0,0,0,0,1.17,0,1.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.61,0,0.203,0,0,2.541,15,61,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.25,4,18,0 +0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,2.916,7,35,0 +0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0,0,0,0.97,0,0.1,0,0,0,0,2.59,69,386,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.272,0,0,1.75,7,14,0 +0,0,0,0,0,0,0,0.13,0,0.13,0,1.1,0.13,0,0,0,1.24,0,0,0,0,0,0,0,3.17,0,0,0,0,0,0,0,0.69,0,0,0.27,0.41,0,0,0,0,0,0,0,0,0,0,0.13,0.07,0.07,0,0,0,0,2.064,23,322,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.337,0,0,0,0.337,2.95,7,59,0 +0,0,0,0,0,0,0,0,0,0,0,1.44,0,0,0,0,0.48,0,0,0,0,0,0,0,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.058,0,0,0.058,0.058,1.755,9,79,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,2.04,0,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.286,0,0,2.434,17,56,0 +0,0,3.79,0,0,0,0,0,0,0,0,3.79,0,0,0,0,0,1.26,0,0,0,0,0,0,3.79,2.53,0,1.26,0,1.26,1.26,0,0,0,1.26,1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0.147,0,0.147,0,0,1.962,10,53,0 +0,0,0,0,0.42,0,0,0,0,0,0,0.42,0,0,0,0,0,0,0.42,0,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,0,0.85,0,0,0,0,0.85,0,0,0,0,0,0,0,0,0,0,0,0,2.161,5,294,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.88,0,0,0,0,0,0,1.88,0,0,0,0,0,0,0,0,0,0.277,0,0,3,17,51,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.26,0,0.65,0,0,0,0,0,1.3,0,0,0,0,4.57,0,0,0,0,0,0,0,0,0,0.657,3.041,14,219,0 +0,0.31,0,0,0,0,0,0.31,0,0,0,0.62,0,0,0,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.62,0,0.31,0,1.24,0,0.31,0,0,1.24,0,0,0,0.088,0.044,0,0,0,3.086,34,250,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.38,0,0,1.38,0,1.38,0,0,0,2.77,1.38,1.38,1.38,1.38,1.38,1.38,1.38,0,1.38,1.38,1.38,0,0,0,1.38,0,0,0,0,0,0,0,0,0,0.464,0,0,0,0,2.333,11,42,0 +0,0,0,0,0,0,0,0,0,2.5,0,0,0,0,0,0,0,0,2.5,0,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.416,3,17,0 +0.09,0,0.19,0,0.09,0,0,0.39,0,0,0,1.27,0.19,0.09,0,0,0.49,0,0.29,0,0,0,0.29,0,2.74,0,0,0,0,0,0,0,0,0,0,0.29,0.19,0,0,0,0,0,0.09,0.09,0,0,0,0,0.067,0.067,0,0,0.026,0,2.247,18,481,0 +0.44,0.22,0.22,0,0.44,0,0,0.22,0,0.22,0,0.44,0,0,0,0,0,0,1.57,0,0,0,0,0,0.44,0.22,1.12,0.22,0.22,0.22,0.22,0.22,0,0.22,0.22,0.22,0.22,0,0,0.22,0,0.22,0.22,0,0.67,0.44,0,0,0.033,0.169,0.033,0.033,0.033,0,2.28,12,203,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.342,0,0,0,0.342,2.75,7,55,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0.19,0,0,0,0.09,0,0.09,0.59,0,0,0,0.09,0.39,0,1.77,0,0.98,0,0.09,0,1.57,0.78,0,0,0,0.09,0.19,0,0.09,0,0.19,0.09,0.39,0,0.29,0.09,0,0,0,0.09,0,0,0,0.19,0,0.096,0.027,0.068,0,0,2.059,25,593,0 +0,0,0.32,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0,0,0.055,0.334,0,0.055,0,0.055,1.685,6,59,0 +0,0,0.91,0,0,0.45,0,0,0,0,0,0.45,0,0,0,0,0,0.45,2.28,0,1.36,0,0,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.416,0,0.486,0,0,3.782,31,87,0 +0.76,0,0,0,0,0,0,0,0,0,0,0.76,0,0,0,0,0,0,1.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.76,0,0,0.76,0,0,0,0.135,0,0,0,0,0,1.411,5,24,0 +0,0.44,0.44,0,0.44,0,0.22,0,0,2.43,1.1,0.44,0,0,0,0,0,1.55,2.88,0,2.21,0,0,0,0,0,0.22,0,0,0,0,0,0,0,0,0,0,0,0,0.22,0,0,0,0,0,0,0,0,0,0.036,0,0.073,0.146,0.036,2.574,22,224,0 +0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0.29,0,0,0,0.1,0.353,0.05,0,0,0,1.227,4,27,0 +0.37,0.18,0.18,0,0.37,0,0,0.18,0,0.18,0,0.55,0,0,0,0,0,0,0.92,0,0,0,0,0,0,0,0.55,0,0,0,0,0,0,0,0,0,0.55,0,0.18,0,0,0.37,0,0,0.74,1.48,0,0,0.116,0.29,0.029,0.029,0.029,0,3.455,24,387,0 +0.17,0.11,0.05,0,0.4,0.11,0,0.4,0,0,0,0.34,0.11,0,0,0,0,0,1.15,0,0.57,0,0.05,0,0.52,0,0,0,0,0,0,0,0.23,0,0.17,0,0.63,0,0,0,0,0,0,0.05,0,0,0,0,0.007,0.304,0,0.053,0.03,0,2.548,49,1134,0 +0,0,0,0,0.93,0,0,0,0,0,0,0.93,0,0,0,0,0,0,0,0,0,0,0,0,3.73,0,0,0,0,0,0,0,3.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.533,7,46,0 +0,0,0,0,0,0,0,0,0,0,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,3.06,4.08,0,0,0,0,0,0,0,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.217,0,0,0,0,1.718,12,122,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.19,0,1.19,0,0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.082,0,0,0,0.216,3.478,7,80,0 +0,0,0.85,0,0,0,0,0,0,0,0,0.85,0,0,0,0,0,0,2.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.85,0,0,0,0,0.85,0,0,0,0,0,0,0,0.331,0,0,1.842,6,35,0 +0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,1.78,0,0,0,0,0,0,0,1.78,1.78,0,0,0,0,0,0,0,0,0,0,1.78,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,1.72,11,43,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.66,0,1.66,0,0,0,1.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.884,0,0,0,0.294,3.368,7,64,0 +0,0.19,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,2.86,0,0,0.38,0.19,0,0,0,0,0,0,0,0,0,0.19,0.19,0,0.201,0,0,0,0,2.217,9,204,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,4.16,4.16,4.16,4.16,4.16,4.16,4.16,0,4.16,4.16,4.16,0,0,0,4.16,0,0,0,0,0,0,0,0,0,1.092,0,0,0,0,3.333,11,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.341,0,0,0,0.341,3.166,7,57,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.337,0,0,0,0.337,2.95,7,59,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.19,0,1.19,0,0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.082,0,0,0,0.216,3.478,7,80,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,4,9,0 +0,0,0,0,0,0,0,0,0.55,0,0,0,0,0,0,0,0,0.55,1.65,0,1.65,0,0,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.55,0,0,0.55,0,0,0,0,0,0,0.104,0.314,0,0.052,0,6.894,97,393,0 +0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0,0,0.58,0,0.58,0,0,0,3.51,2.34,0.87,2.34,0.58,1.17,0.58,0.58,0,0.58,1.17,0.58,0.29,0,0.87,0.58,0,0.87,0.29,0,0.58,0,0,0,0.091,0.637,0.045,0,0,0,3.552,37,373,0 +2,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,2,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.888,29,53,0 +0,0,1.58,0,0,0,0,0,0,0,0,0.79,0,0,0,0,0,0,1.58,0,0,0,0,0,0.79,0.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.149,0,0.149,0,0,1.482,10,43,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.375,4,11,0 +0,0,0,0,0.33,0,0,0,0,0,0,0.33,0,0,0,0.33,0,0.33,0.33,0,0.33,0,0,0,0.99,0.33,0,0.66,0,0.33,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0.13,0.043,0,0,0,2.016,19,125,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.325,0,0,0,0,0,1,1,14,0 +0,0,0,0,0,0,0,0,0,0,0,0.24,0,0,0.24,0,0,0,0.49,0,0.49,0,0,0,1.72,1.23,0.24,0.24,0.24,0.24,0.24,0.24,0,0.24,0.24,0.24,0.24,0,0,0.24,0,0,0.24,0,0.24,0,0,0,0,0.312,0.039,0,0.117,0,1.89,13,189,0 +0,0,0,0,0,0,0,0,0,0,0,0.73,0,0,0,0,0,0,0,0,0,0,0,0,8.08,5.88,0.73,0.73,0.73,0.73,0.73,0.73,0,0.73,0.73,0.73,0.73,0,0.73,0.73,0,0,0.73,0,0.73,0,0,0,0.388,0.259,0.129,0,0,0,2.666,13,96,0 +0,0,0.15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.15,0.62,0,0.31,0,0,0,1.56,0.31,0.93,0.15,0.15,0.15,0.15,0.15,0.46,0.15,0.15,0.15,0.31,0,0.31,0.15,0,0,0.31,0,0.31,0,0,0,0.078,0.235,0.052,0,0,0,1.945,12,323,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,3.03,0,3.03,0,0,6.06,3.03,0,0,0,0,0,0,0,0,0,0,0,2,12,42,0 +0.12,0,0.12,0,0,0,0,0,1.11,0,0,0.37,0,0,0,0,0,0,0.49,0,0.24,0,0,0,0.61,0.74,0.12,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.119,0.17,0.034,0,0.034,0,3.237,32,505,0 +0,0,0,0,0,0,0,0,0,0.69,0,0,0,0,0,0,0,0,0,0,0.69,0,0,0,0,0,0.69,0,0.69,0,0,0,0.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.228,0.114,0,0,0.114,3.651,28,157,0 +0,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.56,0,0,0,0,0,1.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.18,0,0,0,0,1.5,4,63,0 +0,0,0.31,0,0.31,0,0,0,0,1.27,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0,2.87,1.27,1.91,0.63,0.63,0.63,0.63,0.63,0,0.63,0.63,0.63,0.95,0,0.95,0.63,0,0,0.95,0,0.95,0,0,0,0.097,0.534,0.242,0,0.048,0,2.23,13,261,0 +0,0.16,0,0,0,0,0,0.16,0.16,0,0,0,0,0,0.16,0,0,0,0.48,0,0.16,0,0,0,0.81,0.48,0.16,0.32,0,0,0,0,0,0,3.4,0,0.16,0,0,0,0,0.48,0,0,0,0.32,0.16,0,0,0.123,0,0,0,0.095,4.438,50,932,0 +0.18,0.14,0.25,0,0,0,0,0.07,0,0.14,0.03,0.77,0.07,0.03,0,0,0.03,0.18,0.11,0,0.25,0.07,0,0,0,0,0,0,0.03,0.11,0,0,0.03,0,0,0.37,0.62,0,0,0,0.18,0,0.03,0,0,0.22,0,0.18,0.019,0.414,0,0.004,0,0,2.393,40,1795,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,6.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3,3,13,0 +0.04,0.02,0.14,0,0.25,0.08,0,0.08,0.02,0.12,0,0.27,0,0,0.02,0,0.08,0.23,0.17,0,0.06,0.29,0,0,0,0,0,0.04,0,0,0,0,1.4,0,0,0.12,1.04,0,0,0,0.17,0.04,0,0.06,0.06,0.27,0,0.02,0.046,0.149,0.005,0.014,0,0.002,2.35,46,3006,0 +0,0,0,0,0,0.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.12,1.3,0,0,0,0,0,0,0,0,0,0.18,0.93,0,0.18,0,1.3,0,0,0,0,1.49,0,0,0.182,0.339,0.13,0,0,0,3.628,44,479,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,6,0 +0,0,0,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0,0,3.09,0,0,0,0,0,1.03,0,0,0,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0,0,0,0,0,1.666,7,25,0 +0.09,0,0.09,0,0.56,0.09,0,0,0,0.18,0,0.46,0,0.09,0,0,0.37,0,0.56,0,0.65,0,0,0,1.86,0.46,0,0.09,0,0.09,0.28,0,0,0,0.37,0,0.28,0,0.09,0,0,0.28,0,0.18,0,0,0,0,0,0.081,0,0,0,0,1.983,25,601,0 +0,0,1.23,0,0,0,0,0,0,0,0,2.46,0,0,0,0,0,2.46,1.23,0,1.23,0,0,0,2.46,1.23,0,1.23,0,1.23,1.23,0,0,0,1.23,1.23,2.46,0,0,0,0,0,0,0,0,0,0,0,0,0.139,0,0.279,0,0,1.736,10,66,0 +0,0,0.57,0,0,0,0,0,0,0,0,0.57,0,0,0,0,0,0,0.57,0,0.57,0,0,0,0.57,0,0,0,0,0,0,0,1.15,0,0,0,0,0,0,0,0,0,0,1.73,0,0,0,0,0,0.093,0,0,0,0,1.136,3,25,0 +0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,0,3.26,0,0,0,0,3.26,0,0,0,0,0,0,0,0,3.066,10,46,0 +0,4.16,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0.709,0,0,2.09,6,23,0 +0,0,0.74,0,0,0,0,0,0,0,0,2.22,0,0,0,0,0,0,1.48,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,2.22,0,0,0,0,0,0,2.595,31,122,0 +0,0,0,0,0,0,0,0,0.48,0,0.48,0,0,0,0,0.48,0.48,0,1.44,0,2.88,0,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0.076,0,0.305,0.381,0,1.884,9,98,0 +0,0,0,0,0,0,0,0,0.48,0,0.48,0,0,0,0,0.48,0.48,0,1.44,0,2.88,0,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0.076,0,0.305,0.381,0,1.884,9,98,0 +0,0,0,0,0,0,1.78,0,0,1.78,0,0,0,0,0,1.78,0,1.78,5.35,0,1.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,35,63,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,0 +0.15,0.31,0,0,0,0,0,0,0,0.63,0.31,0.31,0,0,0,0,0,0.63,0.95,0,0.47,0,0,0,3.34,0.63,0.47,0.15,0.15,0.15,0.15,0.15,0,0.15,0.15,0.15,0.47,0,0.47,0.15,0,0,0.31,0,0.15,0,0,0,0.149,0.199,0.049,0.174,0,0,4.026,100,608,0 +0,0,0.43,0,0,0,0,0,0,0,0,0.43,1.29,0,0,0,0,0,1.29,0,0.43,0,0,0,0.86,0,0,0,0,0,0,0,0.43,0,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0.22,0,0.146,0,0,1.341,6,55,0 +0,0.25,0.12,0,0.37,0,0,0.12,0,0.37,0.25,0.37,0.12,0,0,0,0.12,0,0.37,0,0.12,0,0.12,0,2.51,0,0,0,0,0.25,0,0,0.12,0,0,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0.016,0.05,0,0.05,0,0,2.414,25,367,0 +0,0,0.61,0,0,0,0,0,0,0,0,0.61,0,0,0,0,0,0,0.61,0,0,0,0,0,5.52,1.22,1.22,0.61,0.61,1.84,0.61,0.61,0,0.61,0.61,0.61,0,0,1.22,0.61,0,0,0,0,0.61,0,0,0,0,0.143,0,0,0,0,3.682,51,151,0 +0,2.59,1.29,0,1.29,0,0,0,0,0,0,1.29,0,0,0,0,0,0,2.59,0,0,0,0,0,0,0,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0,0,0,0,0,1,1,13,0 +0.33,0.33,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0.99,0.33,0,0.66,0,0,0,4.98,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0.66,0,0,0,0,0,0,0,0,0,0.306,0.204,0,0.306,0,0,5.525,100,431,0 +0,0,2.41,0,0,0,0,0,0.26,0,0,2.14,0,0,0,0,0,0,0.26,0,1.6,0,0,0,0.26,0.53,0,0,0.26,0,0,0,0.26,0,0,0,0,0,0,0.26,0,0,0,0,0,0,0,0,0,0.339,0,0,0,0,2.36,12,177,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.48,0,1.48,0,0.74,0,0,0,2.96,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.105,0,0,0.105,0.105,2.555,12,69,0 +0.04,0.14,0.29,0,0.04,0.04,0,0.09,0,0.19,0.09,1.04,0,0,0,0,0,0.24,0.09,0,0.04,0,0,0,0.04,0,0,0,0,0.09,0,0,0,0,0,0.09,0.24,0,0,0,0,0,0.04,0,0,0,0,0,0.02,0.16,0.006,0,0,0,2.667,185,1763,0 +0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.666,4,16,0 +0,0,0,0,0.82,0,0,0,0,0,0,1.65,0,0,0,0,0.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.82,0,0,0,0,0,0,3.3,0,0,0,0,0,0,0,0,0,0,2.06,8,68,0 +0.18,0,0.55,0,0.18,0,0,0,0,0,0,0.37,0,0,0,0,0,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.18,0,0,0,0,0,0,0,0.18,0,0,0,0.031,0.127,0.031,0,0,0,1.428,5,80,0 +0,0,0,0,0,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.57,0,0,0,0,0,0,0.57,0,2.31,0,0,0,0,0.089,0.179,0,0.089,0,0,2.204,10,97,0 +0.37,0,0.63,0,0.25,0.12,0,0,0,0,0,0.12,0.12,0,0,0,0,0.12,1.51,0,0.25,0,0,0,0,0,0,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.37,0,0,0,0,0.107,0,0.193,0,0,1.181,4,104,0 +0,0,0.1,0,0.1,0,0,0,0,0,0,0.1,0,0.1,0,0,0,0,0,0,0,0,0,0,0.4,0.1,0,0.1,0.2,0.2,0,0.1,0.7,0,0.1,0.1,0,0,0,0.1,0,0,0,0.1,0,0,0,0.6,0,0.096,0,0,0,0.012,2.037,18,913,0 +0,0,0,0,1.38,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.94,0,0,0,0,0,0,0,0,0,0,0,0,6.94,0,0,0,0,0,0,0,0.238,0,0,0,0,1.578,4,30,0 +0.51,0,0,0,0,0,0,0,0,0,0,0.25,0.51,0,0,0,0,0,2.3,0,1.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.25,0,0,0,0,0,0,0,0.25,0,0,0,0,0.333,0.047,0,0,0,1.196,5,67,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0,1.35,0,0,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.087,0,0,0.087,0.087,4.23,24,110,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.191,0,0,0.095,0.095,1.688,11,103,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,2.27,2.27,2.27,2.27,2.27,2.27,2.27,0,2.27,2.27,2.27,0,0,0,2.27,0,0,0,0,0,0,0,0,0,0.664,0,0,0,0,3.157,11,60,0 +0,0,0.74,0,0,0,0,0,0,0,0,2.22,0,0,0,0,0,0,1.48,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,2.22,0,0,0,0,0,0,2.425,23,114,0 +0.12,0,0.12,0,0,0,0,0,1.12,0,0,0.37,0,0,0,0,0,0,0.49,0,0.24,0,0,0,0.62,0.74,0.12,0,0,0,0,0,0.37,0,0,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0.12,0.189,0.034,0,0.034,0,3.302,41,535,0 +0.08,0,0.16,0,0,0,0,0,0.82,0,0,0.24,0,0,0,0.08,0,0,0.32,0,0.16,0,0,0,0.49,0.57,0.08,0,0,0,0,0,0.74,0,0,0,0.16,0,0,0,0,0,0,0,0.08,0,0,0,0.221,0.188,0.044,0,0.033,0,2.816,32,628,0 +0,0,0,0,0,0,0,0,0,0,0,1.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,0,0,0,0,0,0,0,1.2,0,0,0,0,0.202,0,0,0,0,1.533,5,23,0 +0.12,0,0.12,0,0,0.06,0,0,0.56,0,0,0.31,0,0,0,0.06,0,0.06,0.25,0,0.18,0,0,0,0.63,0.69,0.06,0,0,0,0,0,0.82,0,0,0,0.63,0,0,0.06,0,0,0,0.06,0,0,0,0,0.187,0.16,0.035,0,0.017,0,2.829,47,815,0 +0,0,0,0,0,0,0.49,0.99,0,2.48,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,3.48,2.48,0.49,0,0,0,0,0,0,0,0,0,1.99,0,0,0,0,0,0,0,0,0,0,0,0.336,0.588,0.168,0,0,0,5.61,42,331,0 +0,0,0,0,0,0,0.49,0.99,0,2.48,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,3.48,2.48,0.49,0,0,0,0,0,0,0,0,0,1.99,0,0,0,0,0,0,0,0,0,0,0,0.336,0.588,0.168,0,0,0,5.61,42,331,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,1.5,3,6,0 +0.31,0,0.31,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0,1.24,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0,0,0,0.31,0,0,0,0.31,0,0.31,0,0.31,0.31,0,0,0,0,0.051,0,0,0,1.409,12,62,0 +0,0,0,0,0,0,0,0,0,0,0,1.11,0,0,0,0,0,0,0,0,0,0,0,0,1.11,1.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.183,0,0,0,0,1.8,4,36,0 +0.4,0,0.4,0,0,0,0,0,0,0,0,0,0.4,0,0,0,0,0,1.61,0,0,0,0,0,0,0,0,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.148,3,31,0 +0.69,0,0.69,0,0,0,0,0,0,0.69,0,0,0,0,0,1.38,0,0,1.38,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.378,0,0,3.315,37,126,0 +0,0,0,0,0,0,0,0,0,2.38,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.442,0,0,2.125,10,17,0 +0,0,0.73,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,1.47,0,0.73,0,0,0,0,0.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0.238,0,0,0,0,1.827,5,53,0 +0,0,0.17,0,0,0.08,0,0,0,0,0.08,0.87,0.08,0.08,0,0,0.78,0,0,0,0,0,0,0,3.05,0,0.08,0,0,0,0,0,0.61,0,0,0.08,0.08,0,0,0,0,0,0,0,0,0,0,0,0.079,0.068,0,0,0.022,0,2.432,24,540,0 +0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0,3.7,0,0,0,0,0,0,7.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,0,0.371,0,0,2.25,8,27,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.75,0,0,0,0,0,1.75,0.87,1.75,1.75,1.75,0.87,0.87,0.87,0,0.87,1.75,0.87,0,0,0,0.87,0,0,0,0,0.87,1.75,0,0,0,0.749,0,0.107,0,0,2.454,11,81,0 +0.03,0.01,0.15,0,0.09,0.03,0,0.03,0.03,0.11,0,0.25,0.11,0.05,0.01,0.03,0.05,0.03,0.13,0,0.15,0,0.07,0,0,0,0,0,0,0,0,0,1.84,0,0,0.11,0.91,0,0,0.05,0.19,0.01,0.03,0.03,0,0.09,0,0.23,0.038,0.19,0,0.002,0.005,0,2.143,107,3168,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.086,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.13,0,2.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.13,0,0,0,0,0,0.194,0,0,0,1.909,5,42,0 +0,0,0,0,1.47,0,0,0,0,0,0,0.73,0.73,0,0,0,0,0,0.73,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0.73,0,0.276,0,0,0,0,1.379,4,40,0 +0,0,1.61,0,0,0,0,0,1.61,0,0,0,0,0,0,0,0,0,4.83,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.769,8,23,0 +0,0,1.31,0,0,0,0,0,0,0,0,2.63,0,0,0,0,0,0,5.26,0,1.31,0,0,0,1.31,0,0,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,0,0.242,0,0,0,0,1.266,3,19,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.72,0,0.72,0,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.047,0,0,0,0.13,3.475,7,139,0 +0,0,0,0,0.44,0,0,0,0,0,0,0.88,0,0,0,0,0,0,1.32,0,0.44,0,0,0,1.76,1.32,0.88,0.44,2.64,0.44,0.44,0.44,0,0.44,0.44,0.44,0.88,0,0.88,0.44,0,2.64,0.88,0,0.88,0,0,0,0,0.146,0.073,0,0,0,1.955,13,133,0 +0,0,0,0,1.75,0,0,0,0,0,0,5.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.75,0,0,0,0,0,0,0,0,0,0,0,0,1.75,0,0,0,0,0,0,0,0,0,0.955,0,0,1.5,5,24,0 +0,0,0.94,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0.94,0,0,0,0,1.42,0,0,0,0,0,0.94,0,0,0,0,0,0,1.766,4,53,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.558,0,0,2,7,28,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,0,0,0,0.9,0,0,0,0,0,0,1.8,0,0,0,0,0,0,1.8,0,0.9,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,0,0,0,0,0,0,1.631,8,31,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,2.77,2.77,1.38,2.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.38,0,0,0,0,0.355,0,0.355,0,0,2.666,12,64,0 +0,0,0,0,0.96,0,0,0,0,0.48,0,0.48,0,0,0,0,0.48,0,1.93,0,0,0,0,0,0.96,0.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.223,0,0,0,0,0,1.375,5,55,0 +0,0.22,0.33,0,0.22,0.11,0,0,0,0,0.11,0.44,0,0,0,0,0,0,0.44,0,0.11,0.11,0,0,0.11,0.11,0,0,0,0,0,0,0.11,0,0,0,0,0,0.11,0,0,0,0,0,0.66,0,0,0,0.019,0.253,0,0,0,0,2.068,11,395,0 +0,0,2.43,0,0,0,0,0,0.27,0,0,2.16,0,0,0,0,0,0,0.27,0,1.62,0,0,0,0.27,0.54,0,0,0.27,0,0,0,0.27,0,0,0,0,0,0,0.27,0,0,0,0,0,0,0,0,0,0.344,0,0,0,0,2.319,12,167,0 +0,0,0,0,0,0,0,0,0,0,0,1.48,0,0,0,0,0,0,0,0,0,0,0,0,2.22,0.74,0,0,0,0.74,0,0,0,0,0,0,1.48,0,1.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.228,53,148,0 +0,0.18,0,0,0,0,0,0,0,0,0,0.18,0,0,0,0,0,0,0,0,0,0,0,0,0.18,0,0,0,0,0,0,0,2.8,0,0,0.37,0.18,0,0,0,0,0,0,0,0,0,0.18,0.18,0,0.187,0,0,0,0,2.141,9,212,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.787,0,0,1.875,7,15,0 +0,0,1.81,0,0,0,0,0,0,0,0,3.63,1.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0.3,0,0,0,0,1.652,8,38,0 +0,0,0,0,4.16,0,0,0,0,0,0,4.16,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0.689,0,0.689,0,0,1.3,4,13,0 +0,0,0,0,1.43,0,0,0,0,0,0,0,0,0,0,0,0,0,1.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0.71,0,0,0,0,0,0,0,0,2.15,0,0,0,0,0,0,0,0.138,0,0,0,0,1.863,5,41,0 +0,0,0,0,0.77,0,0,0,0,0,0,0,0,0,0,0,0,0,1.55,0,0.77,0,0,0.77,0,0,0.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.55,0.77,0,0,0,0.49,0,0.196,0,0,3.16,10,79,0 +0,0,0,0,3.07,0,0,0,0,0,0,4.61,0,0,0,0,0,0,0,0,1.53,0,0,0,0,0,0,0,6.15,0,0,0,0,0,0,0,0,0,0,0,0,6.15,0,0,0,0,0,0,0,0,0,0,0,0,1.529,4,26,0 +0.29,0.58,0.29,0,0.29,0,0,0.29,3.23,0.88,0.29,0.88,0,0,0,0,0,0.88,1.76,0.29,2.64,0,0,0,0.29,0.29,0.29,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0.075,0.113,0,0.113,0.265,0.113,2.285,16,208,0 +0,0,0,0,0,0,0,0,0,0,0,3.44,0,0,0,0,0,0,1.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.062,8,33,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.777,14,25,0 +0,0,0,0,0,0,0,0,0,0,0.61,0.61,0,0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0.61,0,0,0.61,0,0,0.61,0.61,0,0,0,0,0.61,0,0,0,0,0,0,0.179,0,0,0,0,0,1.24,6,67,0 +0,0,0.26,0,0,0,0,0,0,0,0.26,0,0,0,0,0,0,0.26,0,0,0,0,0,0,0.26,0,0,0,0,0,0,0,0,0,0,0,0.53,0,0,0,0,1.06,0,0.26,0,2.4,0,0,0.036,0.109,0,0,0.036,0,1.632,11,307,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.027,0,0,0,0,1.567,6,428,0 +1.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.29,2.19,0,1.09,0,0,0,0,0,0,1.09,0,0,0,0,0,0,0,0,0,1.09,0,0,0,0,0.353,0,0,0,0,2.304,10,53,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.386,0,0,1.6,4,16,0 +0,0,1.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.41,0.97,0.48,0.48,0,0,0,0,0,0,0.48,0,0.48,0,0,0,0,0,0.48,0,0.97,0,0,0,0.471,0.55,0,0.078,0,0,2.552,16,171,0 +0,0,0.08,0,0.17,0,0,0.08,0.08,0,0,0.43,0.08,0,0,0,0,0,0,0,0,0,0.08,0,3.54,0,0,0,0,0,0,0,0,0,0,0.77,0.17,0,0,0,0,0.08,0,0.17,0,0,0,0.17,0.08,0.045,0,0,0.011,0,2.45,25,566,0 +0,0,2.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.25,1.5,0,0.75,0,0,0,0,0,0,0.75,0,0,0,0,0,0,0,0,0,0.75,0,0,0,0,0.369,0,0,0,0,2.032,10,63,0 +0,0,0,0,0,0,0,0,0,0,0,0,2.56,0,0,0,0,0,2.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.56,0,0,0,0,0,2.56,0,0,0,0,0,0,0.473,0,0,2.454,15,27,0 +0,0,0,0,0,0,0,0,0,0,0,0,1.01,0,0,0,0,0,2.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.01,0,2.02,0,0,0,1.01,0,2.02,1.01,0,0,0,0,0.188,0.376,0,0,2.31,15,67,0 +0,0,1.06,0,1.06,0,0,0,0,0,0,1.06,0,0,0,0,0,0,4.25,0,0,0,0,0,0,0,1.06,0,0,0,0,0,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.186,0,0,1.25,4,25,0 +0,0,0,0,0.54,0,0,0,0,1.63,0.54,0.54,0.54,0,0,0,0,0,2.18,0,1.09,0,0,0,1.09,0.54,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0.09,0,0,0,1.969,16,65,0 +0,0,0,0,0,0,0,0,0,0,0,1.09,0,0,0,0,0,0,2.19,0,0,0,0,0,0,0,2.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.409,11,53,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,0,0,0,0,0,0.68,0.68,0,0,2.9,18,29,0 +0,0,0,0,0,0,0,0.56,0,0,0,0,0,0,0,0,0,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.12,0,0,0,0,0,1.12,0.56,0,0,0,0.181,0.09,0.181,0,0,4.5,34,153,0 +0,2.12,0,0,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3,4,13,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.88,0,0,0,0,0,1.88,0,0,0,0,0,0,0.366,0,0,2,15,28,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0.229,0,0.114,0,0,1.8,17,36,0 +0.39,0,0,0,0.78,0.39,0,0,0,0,0,0.39,0,0,0,0,0,0,0.39,0,0.39,0,0,0,3.14,0.39,1.18,0.39,0.39,0.39,0.39,0.39,0.39,0.39,0.39,0.39,0.78,0,0.78,0.39,0,1.96,0.78,0,0.78,0,0,0,0.645,0.581,0,0.129,0,0,2.895,16,249,0 +0.05,0,0,0,0,0.1,0,0,0,0.1,0.05,0.48,0,0,0.05,0.21,0.1,0,1.62,0.05,1.08,0,0.21,0.05,2.05,0.48,0.05,0.16,0,0.16,0.27,0,0,0,0.21,0,0.27,0,0.16,0,0,0,0,0,0.05,0,0,0.1,0,0.289,0.015,0.062,0.046,0,2.007,32,1026,0 +0.06,0,0,0,0,0.12,0,0,0,0.12,0,0.19,0,0,0.06,0.19,0.12,0,1.74,0.06,1.23,0,0.25,0.06,2.26,0.38,0.06,0.19,0,0.19,0.32,0,0,0,0.25,0,0.32,0,0.19,0,0,0,0,0,0.06,0,0,0.12,0,0.33,0.018,0.064,0.055,0,2.024,25,897,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.97,0,0.97,0,0,0,1.94,0.97,0,2.91,0,0,0,0,0,0,1.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.141,0,0,0,0,3.178,15,89,0 +0,0,0.85,0,1.36,0,0,0,0,0.17,0,0.34,0.17,0,0,0,0,0,0.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.034,0,0,0,0,0,1.085,3,89,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,3.7,0,0,3.7,0,0,0,0,0,0.689,0,0,0,1.888,5,17,0 +0,0,0,0,0,0,0,0,0,0,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,2.23,0.74,0,0,0,0.74,0,0,0,0,0,0,1.49,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,45,140,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.2,17,26,0 +0,0,0,0,1.92,0,0,0,0,0,0,2.88,0,0,0,0,0,0,0,0,0,0,0,0,0.96,0.96,0,0,0,0,1.92,0,0,0,0.96,0,0.96,0,0.96,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0.161,2.307,14,90,0 +0,0,0,0,0,0,0,0,0,0.45,0,0,0,0,0,0,0,0,0.45,0,1.35,0,0,0,1.35,1.35,1.35,1.35,0.9,0.45,0.45,0.45,0,0.45,1.35,0.45,0.45,0,0.45,0.45,0,0.45,0.45,0,0.45,0,0,0,0,0.358,0.43,0,0,0.071,2.236,12,161,0 +0,0,0.36,0,0.73,0,0,0,0,0,0,0.36,0.18,0,0,0.36,0,0,1.28,0,0.36,0,0,0,0.36,1.28,0,0,0,0,0,0,0,0,0,0,0.36,0,0,0,0,0,0.18,0,0.18,0,0,0,0.027,0,0,0.055,0,0,3.176,51,270,0 +1.03,0,0,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,1.03,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.09,0,0,0,0,0,0,0,0.185,0,0.37,0,0,2.277,11,41,0 +0.72,0,0,0,0,0,0,0,0,0,0,1.45,0,0,0,0,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0,1.407,6,38,0 +0,0,0,0,0.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0.82,0,0,0,0,0,4.13,2.47,1.65,0.82,0.82,0.82,0.82,0.82,0,0.82,0.82,0.82,0,0,0,0.82,0,0,0,0,0.82,0,0,0,0,0.361,0,0.24,0,0,4.666,34,126,0 +0,0,0.34,0,0.34,0,0,0,0,0,0,0.34,0.34,0,0,0,0,0,0.34,0,0.34,0,0,0,0.34,0.69,0,0,0,0,0,0,0,0,0,0.34,1.04,0,0,0,0,0,0.34,0,0,0,0,0,0,0.149,0,0,0,0,2.35,14,188,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.78,0,0,0,0,0,0,1.78,0,0,0,0,0,0,0,0,0,0.24,0,0,2.833,12,68,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.78,0,0,0,0,0,1.78,1.78,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,9,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9,0,0,0,0,0,0.9,0,0,0,0,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0,0,0,3.472,28,125,0 +0,0,0,0,0,0,0,0,2.29,0,0,0.76,0,0,0,0,0,0,0,0,0,0,0,0,5.34,1.52,1.52,0.76,0.76,2.29,0.76,0.76,0,0.76,0.76,0.76,0,0,0.76,0.76,0,0,0,0,0.76,0,0,0,0,0.157,0,0,0,0,4.242,52,140,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,1.5,4,18,0 +0.97,0,0.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.91,0,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.166,0,0,2.185,11,59,0 +0,0,0,0,0,0,0.46,0,0,0,0,0.46,0,0,0,0,0,0,0.46,0,0,0,0,0,0.46,0,0.92,0,0,0,0,0,2.3,0,0,0,0.92,0,0.92,0,0,0,0.92,0,0.46,0,0,0,0.163,0.163,0,0.163,0,0.081,2.343,13,150,0 +0,0,0,0,0.54,0.54,0,0,0,0,0,1.09,0,0,0,0,0,0,1.63,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0,0,0.299,0.199,0,0,0,0,1,1,14,0 +0,0.07,0.14,0,0.14,0.07,0,0,0,0,0,1.34,0.07,0.14,0,0,0.63,0,0.14,0,0,0,0.07,0,3.03,0,0,0,0,0,0,0,0,0,0,0.07,0.21,0,0,0,0,0,0,0,0,0,0,0,0.084,0.177,0,0,0,0,2.25,26,855,0 +0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.5,9,21,0 +0,0,0,0,0,0,0,0,0,0,0,0.99,0,0,0,0,0,0,0,0,0,0,0,0,2.97,3.96,0,0,0,0,0,0,0,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21,0,0,0,0,1.736,12,125,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.49,0,4.47,0,0,0,0,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,16,0 +0.53,0,0,0,0,0,0,0,0,0,0,1.07,0,0,0,0,0,0,0.26,0,0.26,0,0,0,1.61,0.8,1.88,0.53,0.53,0.53,0.53,0.53,1.88,0.53,0.53,0.53,0.8,0,0.8,0.53,0,0,0.8,0,0.8,0,0,0,0,0.412,0,0.091,0,0,2.225,12,227,0 +0,0,0,0,0,0,0,0,0,0.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.93,0,0,0,0,0,0.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.475,0.158,0,0,0,4.393,33,145,0 +0.58,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0,0.58,0,0,0,0,0,1.76,1.17,1.76,0.58,0.58,0.58,0.58,0.58,1.76,0.58,0.58,0.58,0.58,0,0.58,0.58,0,0,0.58,0,0.58,0,0,0,0,0.414,0,0.103,0,0,2,12,94,0 +0.31,0.31,0.94,0,0,0.62,0,0,0,0,0,0.31,0,0,0,0,0,0,2.83,0,0.31,0,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0.31,0,0,0,0,0,0,0.096,0,0,2.368,45,180,0 +0.12,0,0.12,0,0.12,0.12,0,0,1.08,0,0,0.36,0,0,0,0,0,0,0.48,0,0.24,0,0,0,0.6,0.72,0.12,0,0,0,0,0,0.36,0,0,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0.117,0.151,0.033,0,0.033,0,4.134,78,645,0 +0.05,0,0.1,0,0,0.1,0,0.05,0.49,0,0,0.27,0,0,0,0,0.38,0,0.21,0,0.1,0,0,0,0.49,0.54,0.05,0,0,0,0,0,0.38,0,0,0.38,0.21,0,0,0,0,0,0,0,0,0,0,0,0.308,0.136,0.078,0,0.014,0,3.715,107,1386,0 +0,0,0,0,0,0,0,0,0,0,0,1.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.216,0,0.216,0,0.216,2.166,6,39,0 +0.75,0,0.37,0,0,0,0,0,0,0,0,0,0.37,0,0,0,0,0,1.12,0,1.87,0,0,0,0.75,0.37,1.87,0.37,0.37,0.37,0.37,0.37,0,0.37,0.37,0.37,0.75,0,0.37,0.37,0,0,2.63,0,0.75,0,0,0,0,0.305,0,0.061,0,0,1.903,13,118,0 +0,0,0,0,0,0,0,0,0,0.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2,2.2,1.47,2.2,1.47,0.73,0.73,0.73,0,0.73,2.2,0.73,0.73,0,0.73,0.73,0,0.73,0.73,0,0.73,0,0,0,0,0.555,0.666,0,0,0.111,2.351,12,127,0 +0.68,0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0,1.37,0,2.06,0,0,0,0,0,1.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.44,0,0,0,0,0,0,0.332,0,0,0,0,1.125,2,18,0 +0,0,0,0,0,0,0,0,0,1.12,0,0,0,0,0,0,0,0,1.12,0,1.12,0,0,0,0,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.24,0,0,0,0,0,0,0.203,0,0.203,2.222,20,40,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,8.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.125,6,17,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,0 +0,0,0,0,0,0,0,0,0,0.57,0,0,0,0,0,0.57,0,0,2.87,0,4.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.14,0,0,0,0,0.84,0,0,0,0.076,3.583,31,129,0 +0.24,0,0.49,0,0,0,0,0,0,0.24,0,0.24,0.24,0,0,0,0,0,1.23,0,0.24,0,0,0,0.24,0.24,0,0.49,0,0.24,0,0,0,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0.029,0.119,0.119,0,0,0,3.574,75,336,0 +0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,0,0,0,0.564,0,0,1.818,9,20,0 +0,0,0,0,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0.49,0,0.49,0,0,0,0,0.195,0,0.097,0,0,2.3,18,69,0 +0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0.68,0,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.04,0,0,0,0,0,0,0,3.4,0,0,0,0.68,0,0.086,0,0,0,0,1.41,5,79,0 +0,0,2.91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.389,0,0.389,0,0,1.26,3,29,0 +0,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.66,0,0,0,0,0.231,0,0.231,0,0,1.761,17,37,0 +0,0,0.79,0,0,0,0,0,0,0,0,1.58,0,0,0,0,0,0,2.38,0,0.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.137,0,0,0,0,0,1.09,3,24,0 +0,0,0,0,0,0,0,0,0,0,0,1.04,0,0,0,0,0,0,5.2,0,0,0,0,0,0,0,1.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.195,0,0,0,0,1.071,2,15,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,1.28,0,0,0,1.28,0,0,0,0,1.28,0,0,0,0,1.28,0,0,0,0,0,2.56,1.28,1.28,1.28,1.28,1.28,1.28,1.28,0,1.28,1.28,1.28,0,0,0,1.28,0,0,0,0,0,0,0,0,0,0.398,0,0,0,0,2.21,11,42,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.84,0,0,2.54,0,0,0,1.69,0.84,1.69,1.69,0,0.84,0,0,0,0,0.84,0,0,0,0,0,0,0,0,0,0.84,0,0,0,0,0,0,0,0,0,1.777,11,64,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.51,0,0,0,0,0,1.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.51,0,0,0,0.3,0,0,0,0,0,1.611,5,29,0 +0.48,0,0,0,0.48,0,0,0,0,0,0,0,0.48,0,0,0,0,0,4.39,0,0,0,0,0,0.48,0,0.48,0,2.92,0,0,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0.085,0,0,0,0,1.275,3,37,0 +0.12,0,0.25,0,0,0,0,0.38,1.28,0,0,0.38,0,0,0,0,0,0,0.51,0,0.25,0,0,0,0.64,0.76,0.12,0,0,0,0,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.054,0.162,0.036,0,0.036,0,3.167,32,491,0 +0.08,0.08,0.25,0,0,0.25,0,0,0.76,0,0,0.25,0,0,0,0,0,0,0.33,0,0.16,0,0,0,0.5,0.59,0.08,0,0,0,0,0,0.42,0,0,0.25,0.08,0,0,0,0,0.08,0,0,0,0,0,0,0.148,0.136,0.045,0,0.022,0,3.995,55,807,0 +0,0,0,0,0,0,0,0,0,0,0,0.89,0,0,0,0,0,0,3.57,0,2.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.375,23,38,0 +0.24,0,0.12,0,0,0.12,0.24,0,0,0,0,0.37,0,0,0,0,0,0,0.86,0,0.24,0,0,0,1.24,0.62,0.49,0.24,0.24,0.24,0.24,0.24,0.37,0.24,0.24,0.24,0.24,0,0.24,0.24,0,0.12,0.24,0.86,0.24,0,0,0,0.018,0.297,0.055,0,0,0,1.801,13,227,0 +0,0,0,0,0.75,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,0,0,0,0,0,3.75,3,2.25,0.75,0.75,0.75,0.75,0.75,0,0.75,0.75,0.75,0.75,0,0.75,0.75,0,0.75,0.75,0,0.75,0,0,0,0,0.222,0,0,0,0,1.833,12,77,0 +0.1,0,0.21,0,0,0,0,0.21,0.31,0.1,0,1.06,0.21,0,0,0.1,0.21,0,0,0,0,0,0.21,0,3.5,0.1,0,0,0.1,0.1,0,0,0,0,0,0.21,0.21,0,0,0.1,0,0,0,0.21,0,0,0,0,0.043,0.143,0,0,0.057,0,2.409,23,571,0 +0,3.68,0,0,0,0,0,0,0,0,0,0.61,0,0,0,0,0,0,0.61,0,1.22,0,0,0,1.22,0.61,3.06,0.61,0.61,0.61,0.61,0.61,0,0.61,0.61,0.61,1.84,0,0.61,0.61,0,0,1.84,0,1.84,0,0,0,0,0.189,0.094,0,0,0.094,2.283,13,169,0 +0,0,0,0,0,0,0,0,0,0,0,3.12,0,0,0,0,0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.56,0,0,0,0,0,0,0,0,0.27,0,0,1.5,4,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.33,0,1.33,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.211,0,0,0.211,0,0,1.38,4,29,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.94,0,0,0,0.48,0,0.48,0,0,0,0,0,0,0,0,0,0,0.057,0,0,0,0,6.526,83,248,0 +0.51,0,0,0,0,0,0,0,0,0,0,1.54,0,0,0,0,2.06,0,0.51,0,0,0,0,0,3.6,2.06,0,0,0,0.51,0,0,0,0,0,0.51,0,0,0,0,0,0,0,0,0.51,0,0,0,0,0,0,0,0,0,1.574,4,74,0 +0,0,0,0,0,0,0,0,0,0,0,0.89,0,0,0,0,0,0,0.89,0,0,0,0,0,1.78,1.78,0,0.89,0,0,0,0,0,0,0.89,0.89,0,0,0,0,0,0,0,0,0,0,0,0.89,0,0.537,0,0,0,0.268,2.292,12,94,0 +0,0,0,0,0,0.78,0,0,0,0,0,0.78,0,0,0,0,0,0,0.78,0,0,0,0,0,0.78,0.78,0,0.78,0,0,0,0,0,0,0.78,0.78,0,0,0,0,0,0,0,0.78,0,0,0,0,0,0.451,0,0,0,0.112,2.714,22,133,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0,1.29,6.49,0,0,0,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0.19,0,0,1.857,4,26,0 +0,7.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.75,0,1.75,0,0,0,0,0,3.5,0,0,0,0,0,0,0,0,0,1.75,0,0,0,0,0,1.75,0,1.75,0,0,0,0,0,0,0,0,0.286,1.826,13,42,0 +0,5.47,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,1.36,0,2.73,0,0,0,0,0,2.73,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,1.36,0,1.36,0,0,0,0,0,0,0,0,0.232,2.035,13,57,0 +0,0,0,0,0.87,0,0.87,0,0,0,0,0,0,0,0,2.63,0,0.87,2.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.798,0.159,0,18.454,136,203,0 +0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,0.7,0,1.4,0,1.4,0,0,0,0,0,0.7,0,0,0,0.7,0,0,0,0,0,0,0,0,2.11,0,0,0,0,0,0,0,0,0,0.266,0.066,0,0,0,18,200,378,0 +0.3,0,0.15,0,0,0.15,0.3,0,0,0,0,0.3,0,0,0,0,0,0,0.75,0,0.3,0,0,0,0.75,0.3,0.3,0.15,0.15,0.15,0.15,0.15,0.45,0.15,0.15,0.15,0.15,0,0.15,0.15,0,0,0.15,0.75,0.15,0,0,0,0,0.328,0.046,0,0,0,1.703,12,155,0 +0.41,0,0.41,0,1.25,0,0.41,0,0,0.2,0,1.04,0.2,0,0,0.41,0.41,0,3.96,0,2.29,0,0.2,1.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0.83,0,0,0,0,0.069,0,0.866,0.103,0,5.052,214,485,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0.32,0,0,0,0.32,0,0,0,0,0,0,0.32,0,0,0,0,0,0,0,0,0,0.54,0.108,0,0,0.054,3.787,28,375,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.92,0,0,0,0,0,0,0,5.88,0,0,0,0,0,0,0,0,0,1.96,0,1.96,0,0,0,0,0,1.96,0,0,0,0,0,0,0,0,0,1.785,6,25,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.87,0,0,0,0,0,0,0,7.31,0,0,0,0,0,0,0,0,0,2.43,0,0,0,0,0,0,0,2.43,0,0,0,0,0,0,0,0,0,1.461,5,19,0 +0,0,0,0,0,0,0,0,0,0,0,0,2.22,0,0,0,0,0,4.44,0,0,0,0,0,0,0,8.88,0,0,0,0,0,0,0,0,0,2.22,0,0,0,0,0,0,0,2.22,0,0,0,0,0,0,0,0,0,1.3,5,26,0 +0,0,0.7,0,0,0.14,0,0,0.28,0,0,3.08,0.14,0.28,0,0,0.14,0,0,0,0,0,0,0,0.98,0,0,0,0.14,0.14,0,0,0,0,0,0.7,0.28,0,0,0,0,0,0,0,0,0,0,0,0.054,0.199,0,0,0,0,1.82,18,304,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,5.88,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,1.562,5,25,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.285,2,9,0 +0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,0,0,0,0,5.55,0,0,0,0,0,0,0,5.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,10,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.285,2,9,0 +0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,1.4,0,0,0,0,0,0,0,0,0,1.4,1.4,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,0,1.4,0,0,0,0,0,0,0.205,0.205,0,0,0,4.533,21,68,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.285,2,9,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.56,2.56,0,1.28,0,0,0,0,0,0,1.28,1.28,0,0,0,0,0,0,0,2.56,0,0,0,0,0,0.552,0,0,0,0,2.093,11,90,0 +0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0.64,0,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.314,0.209,0,0,0.104,4.062,28,195,0 +0,0,0,0,1.26,0,0,0,0,0,0,1.26,0,0,0,1.26,0,0,2.53,0,0,0,0,0,0,0,1.26,0,1.26,0,0,0,0,0,0,0,0,0,0,0,0,1.26,0,0,1.26,0,0,0,0,0,0,0,0,0,1.285,5,18,0 +0,0.25,0,0,0,0,0,0,0,0.51,0.77,0.25,0,0,0,0,0,0,1.02,0,0.51,0,0,0,0.25,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.124,0,0.207,0,0,10.409,343,635,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.857,18,41,0 +0,0,0.38,0,0,0,0,0,0,0,0,1.53,0,0.38,0,0,0.76,0,0.76,0,0,0,0,0,3.84,1.53,0.38,0.38,1.53,0.38,0.38,0.38,0,0.38,0.38,1.15,0.38,0,0,0.38,0,0,0.38,0,0.76,0,0,0,0,0.163,0.054,0,0,0,2.297,17,193,0 +2,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,2,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.888,29,53,0 +0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0,0,0.58,0,0.58,0,0,0,3.51,2.34,0.87,2.34,0.58,1.17,0.58,0.58,0,0.58,1.17,0.58,0.29,0,0.87,0.58,0,0.87,0.29,0,0.58,0,0,0,0.091,0.637,0.045,0,0,0,3.552,37,373,0 +2,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,2,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.888,29,53,0 +0,0,1.58,0,0,0,0,0,0,0,0,0.79,0,0,0,0,0,0,1.58,0,0,0,0,0,0.79,0.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.149,0,0.149,0,0,1.482,10,43,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.375,4,11,0 +0,0,0,0,0.33,0,0,0,0,0,0,0.33,0,0,0,0.33,0,0.33,0.33,0,0.33,0,0,0,0.99,0.33,0,0.66,0,0.33,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0.13,0.043,0,0,0,2.016,19,125,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.325,0,0,0,0,0,1,1,14,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,6.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3,3,13,0 +0.34,0,0,0,0,0,0,0,0.34,0.68,0,1.02,0,0,0,0,0,0,1.36,0,0.68,0,0,0,2.38,1.7,0.68,1.7,0.68,0.34,0.34,0.34,0,0.34,0.34,0.34,0.68,0,0.68,0.34,0,0,0.68,0,0.34,0,0,0,0.052,0.42,0.052,0,0,0.052,2.604,13,250,0 +0,0,0,0,4.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.54,0,4.54,0,0,0,0,0,0,0,0,0,0,2,5,16,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,1.428,3,10,0 +0,1.86,0,0,0,0,0,0,0,0.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8,1.86,1.86,0.93,0.93,0.93,0.93,0.93,0,0.93,0.93,0.93,0.93,0,0.93,0.93,0,0.93,0.93,0,0.93,0,0,0,0,0.457,0.152,0,0,0,2.097,13,86,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,1.625,6,13,0 +0.26,0,0.26,0,0,0,0,0,0.53,0,0.53,2.94,0,0,0,0,0,0.26,4.27,0,2.4,0,0,0,0,0.26,0.53,0,0,0,0,0,0,0,0,0,0.26,0,0.53,0,0,0.8,0,0,0,0,0,0.53,0,0.03,0,0,0,0,1.58,8,128,0 +0,0,0,0,0.13,0,0,0.55,0,0,0,0.13,0.13,0,0,0,0.27,0,0,0,0,0,0.41,0,2.79,0,0,0,0,0,0,0,0,0,0,0.13,0.27,0,0,0,0,0,0,0,0,0,0,0,0.071,0.143,0,0,0.053,0,2.662,22,418,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,2,2,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0.176,0,0,1.758,7,51,0 +0,0,1.23,0,0,0,0,0,0,0,0,2.46,0,0,0,0,0,2.46,1.23,0,1.23,0,0,0,2.46,1.23,0,1.23,0,1.23,1.23,0,0,0,1.23,1.23,2.46,0,0,0,0,0,0,0,0,0,0,0,0,0.139,0,0.278,0,0,1.736,10,66,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.166,2,7,0 +0.17,0.35,0,0,0,0,0,0,0,0.35,0,0.17,0,0,0,0,0,0,1.94,0,0.7,0,0,0.17,0.17,0.17,0.88,0,0,0.17,0,0.17,0,0.17,0,0,0.35,0,0,0,0,0,0,0,0.53,0.17,0,0,0,0.031,0,0.031,0,0,1.564,21,194,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,1.75,3,14,0 +0,0,0,0,0.1,0,0,0,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0,2.06,1.19,0,0,0,0.1,0,0,1.3,0,0,0.1,1.08,0,0,0,0.65,0,0,0,0,2.6,0,0.1,0.14,0.5,0.093,0,0,0,4.06,51,1003,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,1.6,7,16,0 +0.17,0,0.51,0,0.17,0,0,0,0,1.36,0,0.17,0,0,0,0.17,0.34,0,1.19,0,0.85,0,0,0,1.53,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.027,0.111,0,0.167,0,0,1.894,22,216,0 +0,0,0,0,0,0.44,0,0,0,0,0,0.44,0.44,0,0,0,0,0,1.32,0,0,0,0,0,0,0,0.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0.44,0,0,0,0.15,0,0,0,0,1.613,11,71,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,1.142,2,8,0 +0,0.24,0,0,0.24,0,0,0.24,0,0.49,0,0,0,1.48,0,0,0,0,0.99,0,0,0,0,0,0.49,0,0.24,0,0,0,0.24,0,0,0,0.24,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,9.31,235,1108,0 +0,0,0,0,0.44,0,0,0,0,0,0.44,0.89,0,0,0,0,0,0,1.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.89,0,0,0,0,0,0,0,0,1.33,0,0,0,0.139,0,0,0,0,1.731,16,116,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.54,0,9.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0.86,0,0,0,0,0,0,0,0.86,0.86,0,0,0,0,0,0.86,6.95,0,4.34,0,0,0,0,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.047,2,22,0 +0.25,0,0,0,0.25,0.25,0,0,0,0,0,0.51,0,0.25,0,0,0,0.25,0.51,0,0.25,0,0,0,0,0.25,0,0,0,0,0,0,0.25,0,0,0,0,0,0,0,0.25,0,0,0,0,0.25,0,0.25,0,0.082,0,0,0,0.041,1.287,4,85,0 +0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.56,0,0,0,0,1.56,0,0,0,0,0,0,0,0,1.75,3,21,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.12,0,0,0,0,0,0,0,3.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.502,0,0,0,0,1,1,8,0 +0,1.61,3.22,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,3.22,3.22,0,0,0,0,0,0,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.61,1.61,0,0,0,0,0,0,0,0,1.083,2,13,0 +0,0,0,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0,0,4.63,0,3.31,0,0,0,2.64,1.98,1.32,0.66,0.66,0.66,0.66,0.66,0,0.66,0.66,0.66,0,0,0.66,0.66,0,0,0,0,0.66,0,0,0,0,0.293,0,0,0,0,3.968,34,127,0 +0,0,0,0,0,0,0,0.77,0,0,0,0,0,0,0,0,0,1.55,2.32,0,0,0,0,0,3.1,3.87,3.1,0.77,0,0.77,0.77,0,0,0,1.55,0.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0.198,0,0.099,0,0,2.325,30,93,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.501,0.167,0,0,0.083,3.983,28,239,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.125,17,25,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.453,0.181,0,0,0.09,4.037,28,214,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.666,3,5,0 +0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0,0,0.34,0,0,0,0,0,0.68,0.34,0,0.68,0,0.34,0,0,0.34,0,0.34,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0.048,0,0,0,0,0,2.147,11,131,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.395,2.333,8,119,0 +0,0,0,0,1.04,0,0,0,0,0,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,1.56,1.04,0,0.52,0,0,0,0,2.08,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.274,0,0,0,0,1.848,10,61,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,5.6,0,4,0,0,1.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.122,0.244,0,0,0,0,1.909,6,21,0 +0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,1.36,0,5.47,0,0,0,0,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.307,8,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.396,0,0.396,2.533,10,38,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.63,0,0,0,0,0,2.63,0,0,0,0,0,2.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.248,0,0,0,0,4.166,14,50,0 +0,0.28,0,0,0.56,0,0,0,0.28,0,0,0.56,0,0,0,0,0,0.56,3.41,0,1.13,0,0,0,0.56,0.56,1.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.56,0,0.85,0,0,0,0.046,0.281,0.046,0,0,0,1.834,15,200,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,99,100,0 +0,0,0,0,0.32,0.32,0,0,0,0,0,0.32,0,0,0,0,0,0,1.3,0,0.98,0,0,0,0,0,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,0.257,0,0,0,0,1.3,7,104,0 +0,0,0,0,0,0,0,0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.19,1.19,3.57,0,0,0,0,0,0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.791,71,115,0 +0,0,0,0,2.25,0,0,0,0,0.75,0,0,0,0,0,0,0,0,1.5,0,0,0,0,0,0.75,0.75,1.5,1.5,0,0,0,0,0,0,0.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.128,0,0,0.128,0.128,3.657,28,128,0 +0,1.96,0,0,0,0,0,0,0,0,0,0,0,0.98,0,0,0,0,1.96,0,0.98,0,0,0,1.96,1.96,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.98,0,0,3.92,0,0,0,0,0,0,0,0,3.129,17,97,0 +0,0,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0.87,0,0.29,0,0,0,0.29,0.29,0.29,0.58,0,0,0,0,0,0.29,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.22,0,0,2.038,0,13.562,351,434,0 +0,0,0,0,0,0,0,0,0,1.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.615,4,21,0 +0,0,0.59,0.11,0,0,0,0,0.11,0.23,0,0.11,0,0,0,0.11,0,0,0.95,0,0.47,0,0,0,0.23,0,0.71,0,0,0,0,0,0,0.11,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0.227,0.322,0.113,0.056,0.075,0,2.546,38,601,0 +0.39,0,0,0,1.17,0,0,0,0,0.39,0,1.17,0,0,0,0,0,0.39,3.12,0.39,1.17,0,0,0,0,0,0.39,0.78,0,0,0,0,0,0,0,0,0,0,0,0.39,0,0,0,0,0,0,0,0,0.07,0.07,0,0.07,0,0,2.069,13,89,0 +0,0,0,0,1.17,0,0,0,0,1.17,0,0,0,0,0,0,0,0,2.35,0,0,0,0,0,0,0,1.17,1.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.551,10,45,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,4.8,19,24,0 +0,0,0,0,0,0,0,0,0,0,0,0.52,0,0,0,0,0,0,1.05,0,1.05,0,0,0,0.52,2.11,1.58,1.05,0,0.52,0,0,0,0,0.52,0,0,0,0,0,0,0,0,0,0.52,0,0,0,0,0.164,0,0,0,0,2.173,11,113,0 +0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,1.58,1.58,3.17,0,1.58,0,0,0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4,0,0,0.601,0,3.36,13,84,0 +0,0,0,0,0.56,0,0,0,0,0,0,2.27,0,0,0,0,0,0,1.98,0,0.28,0,0,0,0.85,0.85,0.85,0,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0.28,0,0,0,0,0.09,0.135,0,0,0,1.962,15,155,0 +0,0,0.16,0,0.64,0,0,0.16,0,0,0,1.91,0,0,0,0.16,0,0,3.04,0,1.76,0,0,0,0,0.32,0.32,0,0,0,0.16,0,0,0,0,0.16,0,0,0,0.16,0,0,0,0,0.32,0,0,0,0,0.055,0,0,0.055,0,1.798,7,196,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.49,0,0,2.98,0,0,0,0,0,0,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.761,5,37,0 +0,0,0,0,0,0.65,0,0.65,0,0.65,0,1.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0.108,0.108,0,0,0.108,0,1.924,9,102,0 +0,0,0,0,0,0,0,0,0,0,0,1.74,0,0,0,0,0,0,2.9,0,0.58,0,0,0,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.201,0,0,0,0,1.794,6,70,0 +0,0,1.49,0,0,0.37,0,0,0,0,0,0.74,0.37,0,0,0,0,0,2.24,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.49,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0,1.79,5,111,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.344,0,0,0,0,1.88,13,47,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20.83,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.555,18,64,0 +0.87,0.43,0,0,0,0,0,0,0,0.43,0,0.87,0,0,0,0,0,0,3.5,0,1.31,0,0,0,1.31,0.43,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,2.085,25,73,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.29,0,0,0,0,0,2.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.76,0,0,0,0,0.258,0,0,0,0,3.74,53,101,0 +0,6.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.58,0,0,0,0,0,1.58,1.58,1.58,1.58,1.58,1.58,1.58,3.17,0,3.17,1.58,1.58,0,0,0,1.58,0,0,0,0,0,0,0,0,0,0.431,0,0,0,0.215,3.461,12,90,0 +0.32,0,0,0,0.32,0,0,0,0,0,0,0.32,0,0,0,0,0,0,0.96,0,2.56,0,0,0,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.234,0,0.058,0,0,1.068,3,47,0 +0,1.23,0,0,0,0,0,0,0,1.23,0,0.61,2.46,0,0,0,0,0,3.08,0,1.23,0,0,0,0,0,0.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.224,0,0,0,0,1,1,20,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,6,0 +0.28,0,0,0,0.28,0,0,0,0.28,0,0.28,3.97,0,0,0,0,0,0,3.97,0,0.85,0,0,0,0.28,1.13,0,0,0,0,0,0,0,0,0,0,0.28,0,0.28,0,0,0,0,0.28,0,0,0,0.28,0,0,0,0.08,0,0,2.396,16,139,0 +0,0,0,0,0,0,0,0,0,0,0,0,1.88,0,0,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.88,0,0,0,0,0,0,0,0,0,0,1.533,5,23,0 +0,0,0,0,0,0,0,0,0,0,0,5.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.166,2,14,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.72,6.89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.466,13,37,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.53,6.15,0,0,0,0,0,0,0,0,0,0,1.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.714,6,36,0 +0,0,0,0,0,0,0,0,0,0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.56,0,1.56,0,3.12,0,1.56,0,1.56,1.56,0,0,0,0.215,0.215,0,0,0,1.666,12,30,0 +0,0,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,0,0,0,0,0,0,0,0,0,0,0,0,1,1,15,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.552,0,0,0,0,1,1,4,0 +0,0,0.97,0,0,0,0,0,0,1.94,0,0.97,0,0,0,0,0,0.97,5.82,0,0.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.293,0,0,0,0,2.187,14,70,0 +0,0,0,0,0,0,0,0,0,1.19,0,2.38,0,0,0,0,0,0,1.19,0,0,0,0,0,1.19,1.19,0,2.38,0,0,0,0,0,0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0.621,0,0,0,0,2.617,11,89,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0.34,0,0,0.34,0,1.7,0,1.36,0.34,0,0,0,0.34,0,1.36,0,0,0,0,0,0.34,0.34,1.02,0,0,0,0,0,0,0,0.34,0,0.34,0,0,0,0,0,0,2.38,0,0,0,0,0,0.055,0.11,0,0,0,1.421,8,91,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,0,0,0,0,0,0.578,1.734,0,0,0,0,3.083,24,37,0 +0,0,1.33,0,0,0,0,0,0,1.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.33,1.33,0,2.66,0,0,0,0,0,0,0,1.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0.413,0,0,0,0,4.36,46,109,0 +0.23,0,0.46,0,0,0,0,0.23,0,0.23,0,0,0,0,0,0,0,0,3.69,0,0.69,0,0,0,1.84,0.23,0,0,0,0.23,0,0,0,0,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0,0,0.253,0,0,0.031,0,2.016,19,244,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.52,4.76,4.76,4.76,4.76,4.76,4.76,4.76,0,4.76,4.76,4.76,0,0,0,4.76,0,0,0,0,0,0,0,0,0,1.257,0,0,0,0,3.333,11,30,0 +0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0.22,0,0,0.33,0.11,0,0,0,0,0.11,0,0,0,0,0,0,0.053,0.16,0,0,0,0,2.367,24,651,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.552,0,0,0,0,1.6,4,8,0 +0,0,0,0,0,0,0,0,0,0,0,3.38,0,0,0,0,1.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.204,0,0.408,0,0,6.187,47,99,0 +0,0,0.32,0,0.32,0,0,0,0,0,0,0.64,0,0,0,0,0,0,0.32,0,0,0,0,0,0.64,0.64,0,0,0,0,0,0,0,0,0,0.32,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0.04,0,0,0,0,1.677,10,156,0 +0.23,0,0.23,0,1.17,0,0,0,0,0,0,1.41,0,0,0,0,0.11,0,0.47,0,0.7,0,0.11,0,1.29,0.11,0,0,0.11,0.23,0,0,0,0,0,0,0.11,0,0,0,0,0.11,0,0,0.23,0,0,0,0,0.015,0,0,0,0.015,1.486,7,162,0 +2,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,2,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.888,29,53,0 +0,0,0,0,0,0,0,0,0,0,0,1.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6,7,64,0 +0,0,0,0,0,0,0,0,0,0,0,0.98,0,0,0,0,0,0,0,0,0,0,0,0,0.49,0.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0.159,0,0,1.45,7,74,0 +0.29,0,0.44,0,0.73,0,0,0,0,0,0,0.58,0,0,0,0.14,0,0,0.73,0.14,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0.14,0,0.14,0,0,0,1.32,0.02,0.321,0.18,0.14,0,0,1.891,24,522,0 +0,0,0.91,0,0,0,0,0.45,0,0,0,0,0,0,0,0,0,0,2.28,0,0,0,0,0,0.91,0.91,0,0,0,0,0,0,0,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.32,7,103,0 +0,0,1.09,0,0,0,0,0,0,1.09,0,2.19,0,0,0,0,0,0,0,0,0,0,0,0,1.09,1.09,0,2.19,0,0,0,0,0,0,0,1.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0.325,0,0,0,0,4.586,51,133,0 +0,0.51,0,0,1.02,0,0,0.51,0,0,0,0,0,0,0,0.51,0.51,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.51,0,0,0,0.51,0,0,0,0.51,0,0,0,0,0,0.071,0,0,0,0,2.076,9,108,0 +0,0.61,0,0,1.22,0,0,0,0,3.68,0,0,0,0,0.61,0,0,0,1.84,0,1.84,0,0,0,0.61,0.61,0,0,0,2.45,0,0,0,0,0,0,0.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.476,8,62,0 +0,0,0,0,0,0,0,0,0,0.91,0,0,0,0,0,0,0,0,1.83,0,0,0,0,0,1.83,0.91,2.75,0.91,0.91,0.91,0.91,0.91,0,0.91,0.91,0.91,0.91,0,0.91,0.91,0,0,0.91,0,0.91,0,0,0,0,0.46,0,0,0,0,1.918,13,71,0 +0,0,0,0,0,0,0,0,0,0,0,4.58,0,0,0,0,0.91,0,0,0,0.91,0,0,0,1.83,0,0,0,0,0.91,0,0,0,0,0,0.91,0,0,0.91,0,0,0,0,0,0,0,0,0,0,0.12,0,0.241,0,0,3.541,26,85,0 +0,0,0.36,0,0.36,0,0,0,0,0,0,0.36,0,0,0,0,0,0,0,0,0,0,0,0,6.25,5.51,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0.279,0.767,0.139,0,0,0,3.722,20,268,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0.18,0,0,0.09,0,0,0,0,0,0.94,0.37,0,0,0,0.28,0,0,0,0,0,0,0,1.41,0,0,0,0,0,0,0,0.84,0,0,0.47,0.09,0.09,0,0,0,0,0,0,0,0,0,0,0.052,0.065,0,0,0,0,2.022,19,451,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.44,0,0,0,1.44,0,0.72,0,1.44,1.44,0,0,0,0,0.114,0.114,0,0.114,1.645,12,51,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,1.62,0,0.81,0,1.62,1.62,0,0,0,0,0.137,0,0,0.137,1.636,12,36,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,0,0,0,1,1,8,0 +0,0,0,0,0,0,0,0,0,0,0,0.85,0,0,0,0,0,0.85,2.56,0,0,0,0,0,0.85,0.85,0,0.85,0,0,0,0,0,0,0.85,0,1.7,0,0,0,0,0,0.85,0,0.85,0,0,0,0.142,0,0.142,0,0,0,1.717,12,67,0 +0,0,0,0,0,0,0,0,0,1.22,0,0,0,0,0,0,0,0.61,1.84,0,0,0,0,0,2.45,1.84,1.22,1.22,0.61,0.61,0.61,0.61,0,0.61,1.22,0.61,0.61,0,0,0.61,0,0,0.61,0,0.61,0,0,0,0.095,0.38,0.19,0.19,0,0,1.857,12,104,0 +0,0,0,0,0,0,0,0,0,0,0,2.81,0,0,0,0.35,0,0.35,0.35,0,0,0,0,0,0.35,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0.293,0,0,0,0,1.226,5,146,0 +0,0,0,0,0,0,0,0,0,0,0,0.54,0.54,0,0,0,0,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0.54,0,0,2.7,0,0.54,0,0,0,0,0,0.087,0,0.087,0,0,2.363,5,52,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.22,0,0,0,0,0,2.22,2.22,0,0,0,0,0,0,0,0,2.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.769,8,23,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.81,0,0,0,0,0,3.63,0,0,0,0,0,0,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0,0,1.181,3,13,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,2.04,0,0.68,0,0,0,1.36,0.68,0,0.68,0,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.241,0,0,0,0,2.461,17,96,0 +0,0,0,0,6.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,6,10,0 +0,0,0,0,0,0,0,0,0,0,0,1.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.87,0,0,0,0,0,0,0,0,0,1.75,0,0,0,0,0,0,0,0,0.87,0,0,0,0,0,0,1.795,11,79,0 +0,0,0,0,0,0,0,0,0,0.9,0,1.81,0,0,0,0,0,0,0,0,0,0,0,0,0.9,0.9,0,1.81,0,0,0,0,0,0,0,0.9,0,0,0.9,0,0,0,0,0,0,0,0,0,0,1.208,0,0,0,0,5.111,58,138,0 +0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,0,0,0.35,0,1.06,0,0,0,1.41,1.06,0.7,0.35,0.35,0.7,0.35,0.35,0.35,0.35,0.35,0.35,0.35,0,0,0.35,0,0,0.35,0,0.7,0,0,0,0,0.222,0.055,0,0,0,1.506,12,119,0 +0,0,0,0,0,0,0,0,0,0,0,2.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,2,7,26,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0,0,0,1.01,0,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0,0.08,0.564,0,0,0.161,0,1.712,20,137,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0,0.33,0,0.042,0,0,0,0,2.519,46,131,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.56,0,1.12,0,0,0,0,0,0,0,0,0.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.56,0,0,0,0,0.096,0,0,0,0,1.15,4,46,0 +0,0,0.18,0,0.56,0,0,0,0,0,0,0.75,0.37,0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,0,0.18,0.18,0,0,0,0,0,0.18,0,0.18,0,0,0,0,0.056,0,0,0.112,0,2.188,19,232,0 +0,0,0.8,0,2.42,0,0,0,0,0,0,0.4,0,0,0,0,0,0.4,5.26,0,1.61,0,0,0,0.4,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,0,0.27,0,0,2.36,35,59,0 +0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,0,0,0,3.84,3.84,0,0,7.69,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,0.581,0,0,1.615,4,21,0 +0.21,0,0.21,0.21,0.63,0,0,0,0,0,0.42,0,0.21,0,0,0.84,0,0.42,1.9,0,0,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0.031,0,0.374,0.062,0,2.892,71,405,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0,4.7,2.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.882,21,49,0 +0,0,0.22,0,0,0,0,0,0,0,0,0.68,0.9,0,0,0.22,0.22,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0.22,0,0,0,0,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0.094,0,0,0,0,2.182,42,203,0 +0,0.08,0.08,0,0,0.08,0,0.16,0,0,0,0.81,0.16,0,0,0,0.08,0,0,0,0,0,0.08,0,3.49,0.48,0,0,0.32,0.24,0,0,0,0,0,0.32,0.08,0,0,0,0,0.08,0,0,0,0,0,0.08,0.022,0.111,0,0,0.055,0,2.145,21,693,0 +0.22,0,0.22,0,0.45,0,0,0,0,0,0,0,0.68,0,0,0.22,0,0,0.68,0.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.22,0,0,0,0.68,0,0.22,1.83,0.22,0.91,0,0,0,0.267,0.038,0,0,0,1.649,13,94,0 +0,0,0,0,0,0,0,0,0,0,0,1.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6,7,64,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.66,0,0,0,0,0,0,1.149,0,0,1.5,3,12,0 +0,0,0.81,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.09,2,12,0 +0,1.17,0,0,0,0,0,0,1.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.17,2.35,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0,0,0,0,0,0,1.17,0.376,0,0,0,0,0,2.925,16,117,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,1,1,8,0 +0,0,0,0,0,1.34,0,0,0,0,0,0,0,0,0,0,0,0.67,1.34,0,0,0,0,0,0,0,0.67,0,0,0,0,0,1.34,0,0,0,0,0,0,0,0,0,0,0.67,0.67,0,0,0,0,0.111,0,0,0,0,1.285,5,27,0 +0,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.65,0,0.55,0,0,0,0,0,0.55,0,0,0,0,0,0,0,0,0,0,0.55,0,0,0,0,0,1.1,0.55,0,0,0,0,0.092,0,0,0,0,1.84,5,46,0 +0,0,0,0,0,0,0,0,0,0,0,1.35,0,0,0,0,0,0,2.7,0,1.35,0,0,0,0,1.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.35,0,0,0,0,0,0,0,0,0,0,0,1.88,5,47,0 +0,0,1.56,0,1.56,0,0,0,0,1.56,0,6.25,0,0,0,0,0,1.56,1.56,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.278,0,0,0,0,1,1,11,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.687,0,0,0,0,1.903,17,59,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.52,4.76,4.76,4.76,4.76,4.76,4.76,4.76,0,4.76,4.76,4.76,0,0,0,4.76,0,0,0,0,0,0,0,0,0,1.257,0,0,0,0,3.333,11,30,0 +0,0,0,0,0.27,0,0,0,0,0.27,0,0.54,0,0.54,0,0,0.54,0,1.63,0,0,0,0,0,4.89,1.35,0.27,0.27,0.27,0.27,0.27,0.27,0,0.27,0.27,0.27,0,0,0.27,0.27,0,0,0.27,0,0.81,0,0,0,0,0.192,0.153,0,0,0,4.608,35,424,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.63,0,0,0,0,0,0,2.63,0,0,0,0,0,0,0,0,0,0.414,0,0,2.705,13,46,0 +0,0,0.2,0,0,0,0,0.2,0,0.2,0,0,0,0,0,0,0,0.2,0.2,0,0,0,0,0,0.2,0.2,0,0.41,0,0,0,0,0.2,0,0.2,0,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0.148,0,0,0,0,1.669,15,187,0 +0,0.22,0,0,0.66,0.22,0,0.44,0.44,0.89,0,0,0.22,0.22,0,1.33,0,0,0.89,0,0.44,0,0,0.22,3.34,3.56,0.66,0.22,0.22,0.22,0.22,0.22,0,0.22,0.22,0.22,1.11,0,0,0.22,0,0,0.22,0,0.22,0,0,0,0.148,0.372,0.111,0.372,0.223,0,3.425,42,411,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.66,0,0,0,0,0,1.33,0,0,1.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.478,0,0,0,0,2.166,18,52,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.333,5,7,0 +0,0,0.62,0,0,0,0,0,0,0,0,0.62,0,0,0,0,0,0.62,1.25,0,0,0,0,0,1.25,0.62,0,0.62,0,0.62,0.62,0,0.62,0,0.62,0.62,0,0,0,0,0,0,0,0,0.62,0,0,0,0,0.084,0,0.169,0,0,1.863,10,82,0 +0,0.04,0.25,0,0.04,0.04,0,0,0.16,0.08,0.2,0.62,0,0,0,0.16,0.04,0,0.71,0,0.41,0,0.12,0,2.01,0.41,0,0.12,0,0.08,0.12,0,0,0,0.04,0,0.2,0,0,0,0,0,0,0.08,0.08,0,0,0.04,0.012,0.274,0.012,0.031,0.056,0,1.83,23,1479,0 +0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0.62,0,0,0,0.62,0,0,0,3.1,0,0,0,0,0.62,0,0,0,0,0,0.62,0,0,0.62,0,0,0,0,0,0.62,0,0,0,0,0.166,0,0.333,0,0,4.255,34,200,0 +0,0.39,0.19,0,0.19,0.09,0,0,0,0,0,0.29,0,0,0.29,0,0,0.29,0.89,0,0.29,0,0,0,0.49,0.49,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,4.75,0,0.09,0,0.09,5.74,0,0,1.352,0.08,0,0.016,0,0,1.679,17,178,0 +0,0.39,0.19,0,0.19,0.09,0,0,0,0,0,0.29,0,0,0.29,0,0,0.29,0.89,0,0.29,0,0,0,0.49,0.49,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,4.75,0,0.09,0,0.09,5.74,0,0,1.353,0.08,0,0.016,0,0,1.679,17,178,0 +0,0.39,0.19,0,0.19,0.09,0,0,0,0,0,0.29,0,0,0.29,0,0,0.29,0.89,0,0.29,0,0,0,0.49,0.49,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,4.75,0,0.09,0,0.09,5.74,0,0,1.353,0.08,0,0.016,0,0,1.679,17,178,0 +0,0,0.93,0,0.31,0,0,0,0.31,0,0.31,0.93,0,0,0,0,0.62,0,3.75,0,3.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0.054,0.108,0,0.054,0,0.054,2.735,14,145,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.729,0,0,1.875,4,15,0 +0,0,0,0,0,0,0,0,0,0.84,0,0.84,0,0,0,0,0,0,4.2,0,0,0,0,0,1.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.119,0,0,0,1.454,9,32,0 +0,0,0,0,0,0,0,0,0,0,0,4.58,0,0,0,0,0.91,0,0,0,0.91,0,0,0,1.83,0,0,0,0,0.91,0,0,0,0,0,0.91,0,0,0.91,0,0,0,0,0,0,0,0,0,0,0.124,0,0.249,0,0,2.576,14,67,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.333,3,12,0 +0,0,0.86,0,0,0,0,0.86,0,0,0,1.73,0,0,0,0,0,0,0,0,0,0,0,0,3.47,5.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0.125,0,0,0,0,1.8,9,72,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.41,4.41,0,1.47,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.565,10,59,0 +0.06,0,0.19,0,0.26,0.06,0,0.19,0,0.06,0,1.12,0.06,0.19,0,0,0.52,0,0,0.59,0.06,0,0.39,0,3.23,0,0,0,0,0,0,0,0.06,0,0,0.19,0.13,0,0,0,0,0,0,0.06,0,0,0,0,0.072,0.117,0,0,0.063,0,2.121,25,751,0 +0,0,1.09,0,0,0,0,0,0,0,0,1.09,0,0,0,0,0,0,3.29,0,0,0,0,0,0,0,0,0,0,2.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.111,2,20,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.44,0,1.44,0,2.89,1.44,0,0,0,0,0.227,0,0,0,1.64,12,41,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.166,3,14,0 +0,0,0,0.14,0.42,0,0,0.14,0,0,0,0.98,0,0.14,0,0,0.7,0,0,0,0,0,0,0,1.82,0.28,0,0,0.28,0.7,0,0,0,0,0,0.28,0.14,0,0,0,0,0,0,0,0.14,0,0,0,0,0.077,0,0,0,0,1.502,6,257,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,2.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,6,24,0 +0,0,0,0,0,0,0,0,0,0,0,4.25,0,0,0,0,0,0,6.38,0,0,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.133,3,17,0 +0,0,0,0,0.68,0,0,0,0,0.68,0,0.68,0,0,0.68,0,0,0.68,1.36,0,0.68,0,0,0,2.72,1.36,1.36,0.68,0.68,0.68,0.68,0.68,0,0.68,0.68,0.68,0.68,0,0.68,0.68,0,0,0.68,0.68,0.68,0,0,0,0.104,0.418,0.104,0,0,0,2.102,12,82,0 +0,0,0,0,0,0,0,0,0,0.39,0,0,0,0,0,0,0,0,0.39,0,0,0,0,0,2.35,0.39,1.17,0.39,0.39,0.78,0.39,0.39,0,0.39,0.39,1.56,0.39,0,0,0.39,0,0.39,0.39,0,0.39,0,0,0.39,0,0.314,0,0.125,0,0,1.955,13,133,0 +0,0,0,0.15,0.46,0,0,0.15,0,0,0,0.92,0,0.15,0,0,0.46,0,0,0,0,0,0,0,2.15,0.3,0,0,0.3,0.92,0,0,0,0,0,0.3,0.15,0,0,0,0,0,0,0,0.15,0,0,0,0,0.085,0,0,0,0,1.535,6,238,0 +0,0,0,0,0.68,0,0,0,0,0.68,0,0,0,0,0.68,0,0,0,0.68,0,0,0,0,0,2.72,2.72,2.04,2.04,0.68,0.68,0.68,0.68,0,0.68,2.04,0.68,0.68,0,0.68,0.68,0,0,0.68,0.68,0.68,0,0,0,0,0.828,0.621,0,0,0,2.277,12,123,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.92,0,0.64,0,0,0,0,3.2,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0.213,0,0,0.106,0,0,2.714,47,95,0 +0,0,0.2,0,0.2,0,0,0,0,0.8,0,1,0,0,0,0,0,0,0.2,0,0.2,0,0,0,1.4,1.6,0.2,0.2,0.2,0.2,0.2,0.2,0,0.2,0.4,0.2,1,0,0.2,0.2,0,0,0.2,0.8,0,0,0,0.2,0,0.429,0.03,0,0,0,2.703,50,346,0 +0.87,0,0.87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.493,0,0,0,0,1.344,4,39,0 +0,1.12,0,0,0,0,0,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.12,2.24,0,0,0,0,0,0,0,0,0,1.12,0,0,0,0,0,0,0,0,0,0,1.12,0.361,0,0,0,0,0,2.875,16,115,0 +0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,6.92,3.89,0,0,0,0,0,0,0,0,0,0,2.16,0,0,0,1.29,0,0,0.43,0,0,0,0,0.318,0.717,0.159,0.079,0,0,4.411,19,300,0 +0.05,0,0.1,0,0.15,0.05,0,0,0.57,0,0,0.26,0,0,0,0,0,0.05,0.21,0,0.15,0,0,0,0.63,0.68,0.05,0,0,0,0,0,0.73,0,0,0,0.42,0,0,0,0,0,0,0,0,0,0.05,0,0.193,0.17,0.059,0,0.014,0,3.461,66,1170,0 +0.07,0,0.14,0,0.07,0,0,0,0.74,0,0,0.22,0,0.07,0,0,0,0.07,0.29,0,0.22,0,0,0,0.74,0.81,0.07,0,0,0,0,0,0.22,0,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0.116,0.2,0.042,0,0.021,0,2.79,36,681,0 +0.12,0,0.6,0,0.6,0,0,0,0,0,0,0.12,0.12,0,0.12,0,0.73,0,0.6,0,0.48,0,0,0,1.58,0,0,0.24,0,0,0.48,0,0,0,0.36,0,0.12,0,0,0,0,1.33,0,0.12,0.12,0,0,0.12,0.016,0.148,0,0.033,0.016,0,2.056,65,364,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.369,0,0,0,0,1.25,2,5,0 +0,0,0.42,0,0.42,0.14,0,0,0,0,0,1.56,0.14,0,0,0,0.28,0,0.14,0,0.14,0,0,0,3.12,0,0.14,0,1.27,0.42,0,0,0,0,0,0.56,0.28,0,0.14,0,0,0,0.14,0,0.14,0,0,0,0.058,0.019,0.019,0,0,0,2.345,17,333,0 +0,0,2.04,0,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.08,0,0,0,0,0,0,0,0.722,0,0,0,0,1.1,2,11,0 +0,0,0,0,0,0,0,0,0,0,0,1.13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.13,0,0,3.4,0,0,0,0,0,0,0.198,0.396,0,0,0,0,2.076,5,27,0 +0,0,0,0,0,0,0,0,0,0,0,2.77,0,0,0,0,0,0,2.77,0,0,0,0,0,5.55,2.77,2.77,2.77,5.55,2.77,2.77,2.77,0,2.77,2.77,2.77,0,0,0,2.77,0,0,0,0,0,0,0,0,0,1.229,0,0,0,0,3.25,11,39,0 +0,0,0,0,0,0,0,0,0,0,0,1.42,0,0,0,0,0,0,0,0,4.28,0,0,0,2.85,1.42,4.28,1.42,1.42,1.42,1.42,1.42,0,1.42,1.42,1.42,1.42,0,1.42,1.42,0,0,1.42,0,1.42,0,0,0,0,0.419,0,0,0,0,2.133,12,64,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0.185,0,0,0,0,1.904,11,80,0 +0.2,0.06,0.2,0,0.4,0,0,0,0,0,0,0.95,0.27,0,0,0.06,0.06,0,0,0,0,0,0,0,3.47,0,0,0,0,0,0,0,0.06,0,0,0.34,0.06,0,0,0,0,0,0.13,0.06,0.06,0,0,0.13,0.028,0.093,0,0,0.018,0,2.423,26,693,0 +0,0,0,0,0.38,0,0,0,0,0,0,2.28,0,0,0,0,0,0,0.76,0,0,0,0,0,1.14,0.76,0,0,0.38,1.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.352,3,46,0 +0.06,0.04,0.29,0,0.08,0.06,0,0.13,0.02,0.11,0,0.47,0,0.02,0.02,0.13,0.13,0.08,0.24,0,0.17,0,0,0,0,0,0,0.02,0.02,0,0,0,1.7,0,0,0.22,0.83,0.02,0,0,0.06,0.04,0.02,0.06,0,0.29,0.02,0.15,0.032,0.176,0,0.003,0.003,0,2.201,79,2631,0 +0,0,0,0,0,0,0,0,0,2.5,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.436,0,0,1.7,8,17,0 +0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.769,0,0,1.428,4,10,0 +0.2,0.06,0.2,0,0.4,0,0,0,0,0,0,0.95,0.27,0,0,0.06,0.06,0,0,0,0,0,0,0,3.47,0,0,0,0,0,0,0,0.06,0,0,0.34,0.06,0,0,0,0,0,0.13,0.06,0.06,0,0,0.13,0.027,0.09,0,0,0.018,0,2.423,26,693,0 +0.79,0,0.79,0,0.79,0,0,0,0,0,0,0.79,0,0,0,0,0,0,0.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.147,1.166,4,42,0 +0,0,0,0,0,0,0,0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.19,1.19,0,2.38,0,0,0,0,0,0,0,1.19,0,0,1.19,0,0,0,0,0,0,0,0,0,0,0.404,0,0,0,0,3.379,11,98,0 +0,0,0.32,0,0.49,0.16,0,0,0,0,0,1.48,0,0,0,0,0.32,0,0.16,0,0.16,0,0,0,1.31,0,0,0,1.31,0.49,0,0,0,0,0,0.65,0.16,0,0,0,0,0,0,0,0.16,0,0,0,0,0.022,0,0,0,0,1.638,6,154,0 +0,0,0,0,0.31,0,0,0,0,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0.63,0,0.63,0,0,0.63,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.045,0,0,0,0,1.813,11,107,0 +0,0,0,0,0,0,0,0.67,0,0,0,1.35,0,0,0,0.67,0,0,4.05,0,2.02,0,0,0,0.67,0,0,0,0,0,0,0,0,0,0.67,0,0,0,0,0,0,0,0,0,0.67,0,0,0,0,0.386,0,0,0,0,3.27,19,121,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.222,9,29,0 +0,0,1.63,0,0,0,0,0,0,0,0,1.63,0,0,0,1.63,0,0,1.63,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.181,3,13,0 +0,0,3.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.44,0,0,3.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.727,4,19,0 +0,0,0,0,0.33,0,0,0,0,0.66,0,0,0,0,0,0,0,0,0.66,0,0.33,0,0,0,7.61,2.64,0,0,0,0,0,0,0.33,0,0,0,1.32,0,0,0,2.31,0.33,0,0.33,0,0,0,0,0.349,0.524,0.116,0,0,0,3.627,19,341,0 +0,0,0,0,1.4,0,0,0,0,0,0,2.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.239,0,0,1.923,7,50,0 +0,0,0,0,0,0,0,0,0,0.53,0,2.68,0,0,0,0,0,0,0.53,0,0,0,0,0,0.53,0.53,0,1.07,0,0,0,0,0,0,0,0.53,0,0,1.07,0,0,0,0,0,0,0,0,0,0,0.194,0,0,0,0,3.731,21,153,0 +0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,10.71,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,7,0 +0,0,0,0,0.51,0,0,0,0,0,0,0,0.51,0,0,0,0,0,1.55,0,0,0,0,0,0,0,0.51,0,0,0,0,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.281,0,0,1.363,5,45,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0.925,0,0,1.833,6,11,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.52,4.76,4.76,4.76,4.76,4.76,4.76,4.76,0,4.76,4.76,4.76,0,0,0,4.76,0,0,0,0,0,0,0,0,0,1.257,0,0,0,0,3.333,11,30,0 +0,0,0,0,0,0,0,0,0,0,0,0.85,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0.42,0,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.536,8,106,0 +0,0,0,0,7.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,0,0,0,0,0,1.6,4,8,0 +0,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.92,0,0,3.92,0,0,0,0,0,0,0,0,0,1.647,4,28,0 +0,0,0,0,0,0,0,0,0,0,0,1.06,0,0,0,0,0,0,1.06,0,0,0,0,0,3.19,1.06,0,0,0,0,0,0,0,0,0,0,1.06,0,2.12,0,0,0,0,0,0,0,0,0,0,0.168,0,0.168,0,0,1.75,7,63,0 +0,0,0,0,0,0,0,0,0,0,0,3.19,0,0,0,0,1.06,0,0,0,0,0,0,0,0,1.06,0,0,0,0,0,0,0,0,0,0,0,0,1.06,0,0,0,0,0,0,0,0,0,0,0.143,0,0,0,0,2.714,13,76,0 +0.64,0,0.64,0,0,0,0,0,0,0,0,0.64,0,0,0,0.64,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0.64,0,0.64,0,0,0,0,0.309,0.619,0,0,0,0,1.727,5,57,0 +0,0,0.47,0,1.91,0,0,0,0,0,0,1.91,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.43,0,0,0.95,0,0,0,0,0,0,0,0,0,1.233,4,37,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,1.333,2,4,0 +0,0,0,0,0.76,0.25,0,1.27,0,0,0,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.14,5,65,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.38,0,0,1.38,0,0,0,0,0,0,0,2.77,0,0,0,0,0,0,0,0,0,1.38,0,0,0,0,0,0,0,1.38,0,0,1.38,0,0,0,0,0,0,1.666,9,35,0 +0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.349,0,0,1.47,4,25,0 +0,0,0.59,0,0.29,0.59,0.59,0.29,0,0.29,0.29,0,0,0,0,0,0,0.89,3.58,0,1.49,0,0,0,0.29,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0.089,0,0,0.044,0.134,0,1.6,15,120,0 +0,0,0,0,0,0,0,0,0,0.28,0,0.56,0,0,0,0,0,0,0,0,0,0,0,0,1.13,0.84,0,0.56,0,0.84,0,0,0,0,0.56,0,0.56,0,0,0,0,0,0,0,0,0,0,0.28,0,0.262,0,0,0,0,3.25,75,286,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,0,0,0.523,0,0,2.571,10,36,0 +0,0,0.08,0,0,0.25,0,0.25,0.08,0,0,1.17,0.08,0.25,0,0,0.42,0,0,0,0,0,0,0,3.11,0,0,0,0,0,0,0,0.16,0,0,0.25,0.25,0,0,0,0,0,0,0,0,0,0,0,0.034,0.08,0,0,0,0,2.023,27,694,0 +0,0,1.36,0,0.68,0.68,0,0,0,0,0,0,0,0,0,0,0,0,2.05,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0.357,0,0,0,0,1.294,5,44,0 +0,0,0,0,0,0.14,0,0,0,0.14,0,0,0,0,0,0,0,0.29,0.74,0,0.14,0,0,0,0.14,0.14,0.59,0,0,0,0,0,0.14,0,0,0,0.59,0,0,0,0,0,0,0,0.44,0,0,0,0,0.297,0,0,0,0,1.803,27,238,0 +0.03,0.03,0,0,0,0,0,0,0.06,0.09,0.03,0.15,0,0,0,0,0.03,0.12,0.03,0,0,0,0,0,0.46,0.27,0,0,0.03,0.06,0,0,0,0,0,0.03,0.15,0,0,0,0.36,0,0.03,0,0.12,1.19,0,0,0.024,0.178,0,0.128,0,0,3.427,49,1827,0 +0,0,0.27,0,0,0,0,0,0,0.83,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0.55,0.27,0,0.55,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0.082,0.164,0,0,0,0,2.235,51,199,0 +0,0,2.27,0,0,0,0,0,0,0,0,4.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.27,0,0,0,0,0,0,0,0,0,0,0,0,0.296,0,0,5.25,32,63,0 +0,0,0.7,0,0,0.7,0,0,0,0,0,0,0,0,0,0,0,0,3.54,0,0.7,0,0,0,0,0,1.41,0,0,0,0,0,0,0,0,0,0.7,0,0,0,0,0,0,0,0.7,0,0,0,0.126,0.252,0,0,0,0,1.375,5,55,0 +0,0,0.64,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,0.64,0,0,0,1.28,0.64,1.92,0.64,0.64,0.64,0.64,0.64,0,0.64,0.64,0.64,0.64,0,0.64,0.64,0,0,0.64,0,1.28,0,0,0,0,0.225,0,0.225,0,0,1.902,12,78,0 +0,0,0,0,0,0,0,0,0,0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,6.34,0,0,0,0,0,0,0,0,0,0,1.259,3,34,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,2.98,0,0,0,0,1.49,0,0,0,0,0,0,0,0,0,1.49,1.49,0,0,0,0,0,0,0,0,0,0,1.49,0,0,0,0,0,1.49,0,0,0,0,0,0,0.209,0.209,0,0,0,3.5,17,49,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,14.28,0,0,0,0,0,0,0,0,0,1.123,0,0,1.3,4,13,0 +0,0,0,0,0,0,0,0,0,0,0,2.18,0,0,0,0,0,0,1.45,0,0,0,0,0,2.18,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.45,0,0,0,0,0,0.122,0,0,0,0,1.785,18,75,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.63,0,0,0,0,0,0,0,0,0,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.187,5,35,0 +0,0.99,0,0,0.49,0,0,0.49,0,0,0,0.49,0,0,0,0,0,1.98,2.97,0,1.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.081,0,0,1.348,4,58,0 +0,0,0,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0.52,0,0,0.52,0,0,0,0.52,0.52,0.52,1.05,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0.52,0,0,0,0,0,0,0,0.166,0,0,0,0,3.888,55,140,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0.76,0,0,0,0,0,0,0,0,0,0,0,0.76,0,0,0,0,0,0,0,2.3,0.76,0,0,0,1.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3,7,138,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,0.2,0.2,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0,0.62,0.41,0,0,0,0,0,2.49,0.62,0,0,0,0,0,0,0,0,0,0.2,0.2,0,0,0,0,0,0,0,0,0,0,0.2,0,0.087,0,0,0,0,2.797,127,512,0 +0.04,0.09,0.31,0,0.04,0.22,0.04,0,0,0.58,0.09,1.17,0,0,0,0.13,0.04,0,1.3,0,1.17,0,0.04,0,0.9,0.54,0,0.04,0,0.18,0.18,0,0,0,0.18,0.04,0.31,0,0.22,0,0.04,0,0,0,0.13,0.04,0,0.09,0.013,0.224,0,0.027,0.006,0,1.784,29,1192,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.99,0,0.99,0,0,0,0,0,1.98,0,0,0,0,0,0,0,0,0,0.99,0,0,0,0,0,0,0.99,0.99,0,0,0,0,0,0,0,0,0,1.478,5,34,0 +0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,0.7,0,1.4,0,1.4,0,0,0,0,0,0.7,0,0,0,0.7,0,0,0,1.4,0,0,0,0,2.11,0,0,0,0,0,0,0,0,0,0.267,0.066,0,0,0,17.952,200,377,0 +0,0,0.59,0,0.59,0,0,0,0,0,0,2.38,0,0,0,0,0,1.19,0.59,0,0,0,0,0,1.78,1.19,0,0.59,0,0.59,0.59,0,0,0,0.59,0.59,0,0,1.19,0,0,0,0,0,0,0,0,0,0,0.177,0,0.088,0,0,1.8,10,81,0 +0,0.26,0.26,0,0.26,0,0,0.26,0,0,0.26,1.07,0,0,0,0,0.53,0,1.07,0,1.07,0,0,0,1.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.111,0,0,0.037,0,1.564,8,194,0 +0,0,5.1,0,2.04,0,0,0,0,0,0,1.02,0,0,0,0,0,0,1.02,0,0,0,0,0,0,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.094,0,0,0,0,1.29,5,40,0 +0.27,0,0.13,0,0.82,0,0,0,0,0,0,0.55,0.41,0,0,0,0,0,1.24,0,1.1,0,0,0,1.65,0.82,0.13,0.13,0.13,0.13,0.13,0.13,0,0.13,0.13,0.13,0.41,0,0,0.13,0,0.41,0.13,0,0.41,0,0,0.27,0.041,0.102,0.02,0.02,0,0,2.78,34,367,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,4.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.454,5,27,0 +0,0,0,0,0,0,0,0.39,0,0,0,0.39,0,0,0,0,0,0,0,0,0,0,0,0,0.39,0,0,0,0.39,0.39,0,0,0.39,0,0,0.39,0.39,0,0,0,0,0,0,0,0,0,0,0,0,0.049,0,0,0,0,2,38,124,0 +0,0,0,0,1.58,0.79,0,0,0,0,0,3.17,0,0,0,0,0,0.79,0,0,0,0,0,0,1.58,1.58,0,1.58,0,0,0.79,0,0,0,0.79,0,0,0,0,0,0,0,0,3.17,0,0,0,0,0,0.263,0,0,0,0,2.575,15,103,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,0,0,0.68,0,0.68,0,0.136,0,0,0,0,4.341,46,178,0 +0,0,0,0,3.27,0,0,0,0,0,0,0,0,0,0,0,0,0,1.63,0,0,0,0,0,0,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.91,0,0,0,0,0,0,0,0,0,0,0,0,1.545,5,17,0 +0,0,0,0,0,0,0,0.4,0,0,0,0.81,0.4,0,0,0,0,0,1.22,0,0,0,0,0,2.86,2.45,0,0,0.4,0.4,0,0,0,0,0,0,0.4,0,0.4,0,0,0,0,0.4,0,0,0,2.45,0.126,0.063,0.063,0.063,0,0,1.611,12,116,0 +0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,3.33,0,0,0,0,0,0,0,0,0,1.3,4,13,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.21,0,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,1.166,2,21,0 +0,0,1.16,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,3.48,0,0,1.16,0,0,0,2.32,1.16,0,1.16,0,1.16,1.16,0,0,0,1.16,1.16,0,0,1.16,0,0,0,0,0,0,0,0,0,0,0.139,0,0.139,0,0,1.515,10,50,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,0,0,0,0.163,0,0,0,0,1.153,3,15,0 +0,0.24,0,0,0.24,0,0,0.24,0,0.49,0,0,0,1.48,0,0,0,0,0.99,0,0,0,0,0,0.49,0,0.24,0,0,0,0.24,0,0,0,0.24,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,9.31,235,1108,0 +0,0,0,0,0,0,0,0.5,0,0,0,1,0.5,0,0,0,0,0,1.5,0,0,0,0,0,1,0.5,0,0,0.5,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0,2.5,0,0.075,0,0.075,0,0,1.483,6,89,0 +0,0,0,0,2.08,0,0,0,0,0,0.83,0.83,0,0,0,0.83,0,1.66,2.91,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.131,0,0.329,0,0.065,2.962,11,157,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.12,1.12,0,1.12,0,0,0,1.12,1.12,0,2.24,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.326,0,0,0,0,4.689,55,136,0 +0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0,0.32,1.28,0,0.32,0,0,0,4.48,3.52,0.96,0.96,0.64,0.32,0.32,0.32,0,0.32,0.64,0.32,0.32,0,0,0.32,0,0,0.32,0,0.96,0,0,0,0.264,0.211,0.105,0.052,0,0.105,2.258,15,192,0 +0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0,0,0,0.5,1.5,0,0.5,0,0,0,2.01,1.5,1,1,0,0,0,0,0,0,0.5,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.168,0.084,0.084,0,0.168,2.303,15,129,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.17,0,0,0,0,0,0,0,0,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.682,0,0,0,0,4.208,15,101,0 +0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.19,0,0,1.19,0,0,0,4.76,2.38,0,1.19,0,1.19,1.19,0,0,0,1.19,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0.286,0,0.286,0,0.143,2.724,13,79,0 +0,0,0,0,0.73,0.24,0,0,0,0.24,0,0.49,0,0,0,0,0,0,2.46,0,0.49,0,0,0,1.23,0.73,1.47,0.49,0.49,0.49,0.49,0.49,0,0.49,0.49,0.49,0,0,0.49,0.49,0,0,0.73,0,0.73,0,0,0,0,0.287,0.041,0.041,0,0.041,1.792,12,224,0 +0,0,0,0,0,0,0,0,0,1.56,0,0,0,0,0,0,0,0,1.56,0,0,0,0,0,1.56,1.56,0,3.12,0,0,0,0,0,0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0.484,0,0,0,0,3,11,81,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,4.76,0,0,0,0,0,0,1.8,5,9,0 +0.01,0,0.03,0,0.33,0.03,0,0,0.23,0.01,0,0.09,0,0,0,0.13,0,0.01,0.07,0,0.05,0,0,0,0.53,0.55,0.01,0,0,0,0,0,0.47,0,0.01,0.01,0.45,0.01,0,0,0,0,0.01,0,0,0,0.05,0,0.2,0.127,0.064,0,0.005,0,2.589,38,2349,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0,0,0,2,4,16,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6,4,8,0 +0.05,0,0.1,0,0.16,0.05,0,0,0.48,0,0,0.16,0,0,0,0,0,0.05,0.21,0,0.16,0,0,0,0.64,0.69,0.05,0,0,0,0,0,0.26,0,0,0.16,0.75,0,0,0,0,0,0,0,0.05,0,0,0,0.172,0.195,0.062,0,0.015,0,2.758,47,1073,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,0,0,0,0,0,0,0,0,1.36,0,2.73,0,0,0,0,0,0,1.36,0,0,0,0,0,1.36,1.36,0,2.73,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,3.142,11,88,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.37,0,1.01,0,0,0,0.67,1.69,1.01,0.33,0,0.67,0,0,0,0,0.33,0,0.33,0,0,0,1.01,0,0.33,0,1.01,1.01,0,0,0,0.108,0,0,0,0,1.851,13,100,0 +0,0,0.38,0,0.38,0,0,0,0,0,0,0.38,0.38,0,0,0,0,0,1.14,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,0,0,0,0,0.414,0,0.276,0,0,1.104,2,53,0 +0.26,0,0,0,0,0.26,0,0,0.26,0,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.35,0,0,0,0,0,0,0,0.26,0,0,0,0,0.52,0,0,0,0.033,0,0,0,0,2.921,61,111,0 +0,0,3.44,0,3.44,0,0,0,0,0,0,0,0,0,0,0,0,0,3.44,0,0,0,0,0,0,0,3.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.609,0,0,0,0,1.5,4,15,0 +0,0,0,0,0,0.13,0,0.27,0,0,0,0.54,0.13,0,0,0,0.68,0,0,0,0,0,0,0,1.9,0.13,0,0,0,0,0,0,0.13,0,0,0.54,0.27,0,0,0,0,0,0,0,0,0,0,0,0.161,0.143,0,0,0,0,2.296,21,473,0 +0,0,0,0,0,0,0,0,0,0.84,0,0,0,0,0,0,0.84,0,1.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.84,0,0.84,0,0,0,0.84,0,0.84,0.84,0,0,0,0,0.137,0.413,0,0.137,3.052,13,116,0 +0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0.42,0,0.42,2.12,0,0.42,0,0,0,1.7,0.42,0.85,0.85,0.42,1.7,0.42,0.85,0,0.85,0.42,0.42,0.85,0,0.85,0.42,0,0.42,0.85,0,0.85,0,0,0,0,0.403,0.134,0.134,0,0,2.202,17,163,0 +0,0,0.26,0,0,0,0,0,0,1.05,0,1.31,0,0,0,0,0,0,0.26,0,0.26,0,0,0,0.26,1.05,0,0,0,0,0,0,0,0,0.26,0,1.05,0,0,0,0,0,0,1.05,0,0,0,0.26,0,0.439,0,0,0,0,2.724,50,237,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,0,0,0,0,0,1.333,3,8,0 +0,0,0,0,0,0,0,0,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.363,0,0,0,0,1,1,10,0 +0,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.542,0,0.217,0,0,1.34,14,67,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,4,10,0 +1.17,0,0,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.607,8,45,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,0,1.16,0,0,0,0,0,0,1.16,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.408,0,0,0,0,2.125,17,51,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15.38,7.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.8,17,34,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.125,2,9,0 +0,0,0,0,0,0,0,0,0,0,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.655,8,48,0 +1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.27,0,0,1.63,0,0,0,0,0.571,0,0,0,0,1.181,3,13,0 +0,0,0,0,1.13,0,0,0,0,1.13,0,0,0,0,0,0,0,1.13,2.27,0,3.4,0,0,0,0,0,1.13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.13,0,0,0,0,0,0,0,0,0,0,0,0,1,1,11,0 +0,0,0.87,0,0,0,0,0,0,0.87,0,1.75,0,0,0,0,0,0,0,0,0,0,0,0,0.87,0.87,0,1.75,0,0,0,0,0,0,0,0.87,0,0,0,0,0,0,0,0,0,0,0,0,0,0.608,0,0,0,0,2.941,11,100,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.26,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.735,0,0.735,0,0,2.571,10,18,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,0,0,0,0,0.465,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.555,3,14,0 +0,0,1.33,0,0,0,0,0,0.66,0,0,0,0,0,0,0,0,0,0,0,1.33,0,0,0,2,1.33,2,0.66,0.66,0.66,0.66,0.66,0,0.66,0.66,0.66,0,0,0.66,0.66,0,0,0.66,0,0.66,0,0,0,0.3,0.2,0.1,0,0,0,1.979,12,97,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0.175,0,0,0,0,0,1.873,8,118,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0.202,0,0,0,0,2,11,82,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,2.17,0,0,0,0,0,2.17,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,8,0 +0,0,3.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.222,3,11,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.25,6,9,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.666,6,8,0 +0,0,0,0,1.31,0.65,0,0,0,0.65,0,1.31,0,0,0,0,0,0,3.28,0,0,0,0,0,1.31,0.65,1.97,0.65,0.65,0.65,0.65,0.65,0,0.65,0.65,0.65,0,0,0,0.65,0,0,0.65,0,0.65,0,0,0,0,0.35,0,0.116,0,0,2,12,88,0 +2,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,2,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.888,29,53,0 +0,0,0,0,0,0,0,0,0,0.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.83,0,0,0,0,0,0.83,0,0,0,0,0,0,0,0,0,0,0,0.83,0,0,0,0,0.131,0.262,0,0,0,4.128,28,161,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,6,0 +0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.58,0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.464,7,41,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,0,1.61,0,0,0,0,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0.253,1.518,0,0.506,0,0,2.047,6,43,0 +0,0,0,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.275,8,91,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0.272,0,0,0,4.382,28,298,0 +0,0,0,0,0,0.23,0,0,0,0.23,0,1.18,0,0,0,0,0.23,0,1.18,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.71,0,0,0,0,0,0,0,0,0,0,0.71,0,0,0,0,0.069,0,2.216,44,215,0 +0,0,0,0,0,0,0.67,0,0,0,0,0,0,0,0,0,0,0,3.37,0,0.67,0,0,0,0,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.35,0,0,0,0,0,0,0,0,0,1.87,7,58,0 +0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0.86,0,0,0,0,0,1.72,0,0,0,0,0,0,0,0,0,0,1.564,7,61,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.333,5,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.333,5,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.333,5,7,0 +0,0,0,0,0,0,0,0,0,0.87,0,2.63,0,0,0,0,0,0,0.87,0,0,0,0,0,0.87,0.87,0,1.75,0,0,0,0,0,0,0,0.87,0,0,0,0,0,0,0,0,0,0,0,0,0,0.308,0,0,0,0,3.029,11,103,0 +0,0,0.2,0,0,0.1,0,0.51,0,0.1,0,1.33,0.1,0.2,0,0,0.82,0,0,0,0,0,0,0,2.97,0,0,0,0,0,0,0,0.1,0,0,0.2,0.1,0,0,0,0,0,0,0,0,0,0,0,0.08,0.16,0,0,0.053,0,2.224,19,574,0 +0,0,0.87,0.87,0.87,0.43,0,0,0,0,0,0,0,0,0,0,0,0.43,0.43,0,0,0,0,0,1.74,1.74,0,1.74,0,0,0,0,0,0,0.43,0,1.31,0,0.43,0,0,0,0.43,0,0.43,0,0,0,0,0.298,0.059,0.059,0,0,2.554,15,212,0 +0,0,1.58,0,0,0,0,0,0,0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.58,0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.482,7,43,0 +0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0.72,0,0.36,0,0.36,0,0,0,0,0.36,0,0,0,0,0,0,0,0,1.646,12,107,0 +0.39,0,0.39,0,0.59,0,0,0,0,0,0,0.19,0,0,0,0,0,0.19,0.59,0,0.19,0,0,0,1.39,0,0,0.39,0,0,0,0,0.59,0,0.39,0,0.19,0,0,0,0,0,0,0,0.39,0.19,0,0,0,0.191,0,0,0,0,2.566,34,349,0 +0,0,0,0,0,1.01,0,0,0,0,0,0,0,0,0,0,0,0,2.02,0,1.01,0,0,0,2.02,1.01,3.03,1.01,1.01,1.01,1.01,1.01,0,1.01,1.01,1.01,0,0,0,1.01,0,0,0,0,1.01,0,0,0,0,0.476,0,0,0,0,1.875,11,45,0 +0,0,0,0,0,0,0,0,0,0,0,0.28,0.28,0,0,0,0,0,0.57,0,0,0,0,0,0.86,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0,0,0,0.28,0,0,0,0.28,0,0,0,0.216,0,0.043,0,0,1.3,7,52,0 +0,0,0,0,1.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.072,0,0,0,0,1.486,10,55,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,4.83,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,0,0,1.61,0,0,0,0,0,0,0,0,0,1.705,7,29,0 +1.16,0,0,0,0,0,0,0,0,0,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,1.16,1.16,0,0,0,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.176,0.176,0,0,0,0,1.476,7,31,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0.344,0,0,3.25,17,52,0 +2.27,0,2.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.401,0,0,0,0,1,1,5,0 +0,0,0.55,0,0,0,0,0,0,0,0,0,0.55,0,0,0,0,0.55,3.31,0,0,0,0,0,2.2,1.65,0.55,0,0,0,0,0,0.55,0,0,0,0,0.55,0,0,0,0,0,0,0,0,0,0.55,0,0.27,0.18,0,0,0,3.596,34,187,0 +0,0.77,0.77,0,0.77,0.38,0,0,0,0,0,1.16,0,0,1.16,0,0,0.38,3.48,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0.067,0,0,0,0,1.225,5,49,0 +0.1,0.05,0.1,0,0.31,0.1,0,0,0,0.05,0,0.31,0.05,0,0,0.1,0.1,0,0.84,0.05,0.63,0,0,0.05,1.47,0.36,0,0.05,0,0.21,0.1,0,0,0,0.1,0.15,0.21,0,0.36,0,0,0,0,0,0.1,0,0,0.15,0.007,0.168,0,0.038,0.061,0.007,1.704,25,939,0 +0,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,0,0,0,0,0,0,0,0,0,1.142,2,8,0 +0,0,1.58,0,0,0,0,0,0,1.58,0,0,0,1.58,0,0,0,0,3.17,0,1.58,0,0,0,1.58,0,3.17,0,1.58,1.58,0,0,0,0,0,1.58,0,0,0,0,0,0,0,0,1.58,0,0,0,0,0,0,0,0,0,1.4,5,35,0 +0,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,0,0,1.31,0,1.31,0,0,0,1.31,0,2.63,0,1.31,1.31,0,0,0,0,0,1.31,1.31,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,0,0,0,1.75,15,42,0 +0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,0.7,0,1.4,0,1.4,0,0,0,0,0,0.7,0,0,0,0.7,0,0,0,0,0,0,0,0,2.11,0,0,0,0,0,0,0,0,0,0.266,0.066,0,0,0,18,200,378,0 +0,0,0.65,0,0,0,0,0,0,0,0,2.61,0,0,0,0,0,0,0.65,0,0.65,0,0,0,1.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0.109,0,0,0,0,0,1.411,4,48,0 +0,0,0,0,2.17,0,0,0,0,0,0,0,0,4.34,0,0,0,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.367,0,0,0,0,1,1,8,0 +0,0,0,0,0,0.49,0,0,0.99,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.49,0.99,0,0,0,0.49,0,2.48,0,0.49,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0.062,0,0,0,0,2.824,29,161,0 +0,0,0.53,0,0.53,0,0,0.53,0,1.07,1.07,0,0,0,0,1.07,0,0,3.76,0,1.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.53,0,0,0,0,0.294,0,0.367,0,0,2.161,21,67,0 +0,0,0,0,0,0,0,0,0,0,0.71,0,0,0,0,0.71,0,0,5,0,0,0,0,0,0,0,1.42,0,0,0,0,0,0,0,0,0,0.71,0,0,0,0,0.71,0,0,0.71,0,0,0,0,0.121,0,0,0,0,1.387,5,43,0 +0,0,0,0,0,0,0,0,0,0,0,0.96,0,0,0,1.92,0,0,3.84,0,0,0,0,0,0,0,2.88,0,0,0,0,0,0,0,0,0,0.96,0,0,0,0,0,0,0,0.96,0,0,0,0.343,0,0,0.171,0,0,1.291,5,31,0 +0,0.56,0,0,0.56,0,0,0,0,0,0,1.7,0,0,0,0,1.7,0,1.13,0,0,0,0,0,0,0,0,0,1.13,0.56,0,0,0,0,0,0,0,0,0.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.028,13,71,0 +0.19,0,0,0,0,0,0,0,0,0,0,0.96,0.38,0,0,0,0.58,0,0,0,0,0,0.38,0,3.48,0,0,0,0,0,0,0,0,0,0,0.19,0.19,0.19,0,0,0,0,0,0,0,0,0,0,0.027,0.108,0,0,0.108,0,2.634,23,303,0 +0,0,0,0,0,0,0,0,0,0,0,3.17,0,0,0,0,0,0,0,0,0,0,0,0,1.58,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.216,0,0,0,0,1.92,6,48,0 +0,0,0,0,0,0,0,0,0,0.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.227,0.227,0,0,0,4.043,28,186,0 +0,0,0,0,0,0,0,0,0,0,0,5.88,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.211,9,115,0 +0,0,1.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.03,3.03,0,3.03,0,0,0,0,0,0,0,0,0,0,1.51,0,0,0,0,0,0,0,0,0,0,0.428,0,0,0,0,2.321,22,65,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,0,0,0,0,0,1.428,4,10,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.69,4.34,4.34,4.34,4.34,4.34,4.34,4.34,0,4.34,4.34,4.34,0,0,0,4.34,0,0,0,0,0,0,0,0,0,1.162,0,0,0,0,3.333,11,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0.416,0.416,0,0,0,0,1,1,9,0 +0,0,1.58,0,1.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.05,0,0,0,0,2.11,0,0,0,0,1.58,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0.209,0,0,0,0,1.78,7,73,0 +0.16,0,0,0,0.66,0,0,0,0,0,0,0.66,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0.16,0,0.16,0.33,0,0,0,0,0.118,0.047,0.023,0,0,0,1.983,19,240,0 +0.12,0.12,0.12,0,0.12,0.12,0,0.37,0.12,0,0.12,0.74,0,0,0,0,0.24,0.12,0,0.24,0,0,0,0,0.49,0,0,0.12,0.12,0,0,0,0,0,0,0.98,0.24,0,0.12,0,0,0.49,0,0,0,0.74,0,0,0.017,0.089,0,0,0.017,0,1.403,18,456,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.77,0,0,0,0.442,0,0,0,0,0,1.363,3,15,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,2.32,0,0,0,0,0.409,0,0,0,0,1,1,10,0 +0.24,0,0.12,0,0,0,0,0.36,0,0.12,0,1.09,0.12,0,0,0,0.6,0,0,0,0,0,0.12,0.12,3.63,0,0,0,0,0,0,0,0,0,0,0.12,0.12,0,0,0,0,0,0,0,0,0,0,0,0.016,0.05,0,0,0.016,0,2.309,25,425,0 +0,0,0,0,0,0,0,0,0.66,0,0.66,0,0,0,0,1.98,0,1.98,1.98,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,1.382,5,47,0 +0,0,0,0,0.27,0,0,0.27,0,0,0,0.27,1.91,0,0.27,0.27,0,0.54,0,0,0,0,0,0,0.27,0.27,0,0.54,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0.039,0.117,0,0,0,0,2.52,55,189,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.186,0.186,0,0,0,3.862,28,112,0 +0,0,0,0,0,0,0,0,0,0,0.56,0.56,1.12,0,0,0,0,0,2.82,0,0,0,0,0,1.12,0.56,0,0,0,0.56,0.56,0,0,0,0,0,0.56,0,0,0,0,0,0,0,0,0,0,0,0.183,0.367,0,0,0,0,1.583,7,57,0 +0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,1.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4,0,1.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.393,9,46,0 +0,0,0,0,0,0,0,0,0,0.29,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0,1.18,0.59,0,0.59,0,0.88,0,0,0,0,0.59,0,0.59,0,0,0,0,0,0,0,0,0,0,0.29,0,0.273,0,0,0,0,3.317,75,282,0 +0,0,0,0,0,0,0,0,0,0.78,0,0,0,0,0,0,0,0,1.56,0,0,0,0,0,0.78,0.78,0,1.56,0,0,0,0,0,0,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0.278,0,0,0,0,2.472,11,89,0 +0,0,0,0,0,0.76,0,0,0,0,0,0.76,0,0.76,0,0,0,0,1.53,0,0.76,0,0,0,0,0,0.76,0,0,0,0,0,0.76,0,0,0,0,0,0,0,0,0.76,0,0,0,0,0,0,0.133,0.133,0,0,0,0,1.269,4,33,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,4.16,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0.704,0,0,0,0,1.428,4,10,0 +0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0,0,1.73,0,0.86,0,0,0,6.08,3.47,0.86,0.86,0.86,0.86,0.86,0.86,0,0.86,0.86,0.86,0.86,0,0,0.86,0,0,0.86,0,0.86,0,0,0,0,0.267,0.133,0.133,0,0,2.607,13,73,0 +0,0,0,0,2.85,0,0,0,0,0,0,0,0,2.85,0,0,0,2.85,0,0,2.85,0,0,0,0,0,2.85,0,0,0,0,0,2.85,0,0,2.85,0,0,0,0,0,0,0,0,2.85,0,0,0,0,0,0,0,0,0,3.8,29,38,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0.925,0,0,1.3,4,13,0 +0,0,0,0,0.82,0,0,0,0,0.82,0,0,0,0,0,0,0,0,1.65,0,0.82,0,0,0,0,0,0.82,0,0.82,0.82,0,0,3.3,0,0,0,0,0,0,0,0,0.82,0,0,1.65,0,0,0,0,0.301,0.15,0,0,0,1.678,5,47,0 +0.07,0,0.31,0,0,0,0,0,0.71,0,0,0.31,0,0,0,0,0,0,0.31,0,0.15,0,0,0,0.55,0.63,0.07,0,0,0,0,0,0.79,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0.096,0.234,0.064,0,0.021,0,3.617,42,890,0 +0.05,0,0.11,0,0.05,0.02,0,0,0.35,0,0,0.14,0,0,0.02,0,0,0.02,0.11,0,0.08,0,0,0,0.5,0.53,0.02,0,0,0,0,0,0.14,0,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0.02,0.203,0.182,0.049,0,0.008,0,2.95,52,1617,0 +0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0,0,0,0,0,2.18,0,0,0,0,0,0,0,0,0,0,0,0.24,0,0,0,0,0,0,0,0.24,0,0,0,0.067,0.067,0,0,0,0,1.98,59,204,0 +0.03,0,0.03,0.13,0.06,0.03,0,0,0.32,0,0,0.09,0,0,0,0,0,0.03,0.13,0,0.09,0,0,0,1.4,1.44,0.03,0,0,0,0,0,0.09,0,0,0.03,1.27,0.03,0,0,0,0,0,0.06,0,0,0,0,0.226,0.235,0.181,0,0.009,0,2.754,34,2688,0 +0.06,0,0.06,0,0,0.06,0,0,0.54,0,0,0.18,0,0.12,0,0,0,0.06,0.24,0,0.18,0,0,0,1.14,1.2,0.06,0,0,0,0,0,0.18,0,0,0,0.9,0,0,0,0,0,0,0,0.12,0,0,0,0.115,0.221,0.115,0,0.017,0,3.015,38,1345,0 +0,0,0,0,0,0,0,0,0,1.05,0,1.05,0,0,0,1.05,0,0,1.05,0,0,0,0,0,0,1.05,3.15,0,0,0,0,0,0,0,0,0,1.05,0,1.05,0,0,0,1.05,2.1,1.05,0,0,0,0,0.677,0,0.338,0,0,1.468,12,47,0 +0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,0,0,0,1.61,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.222,0,0,0,0,1.958,6,47,0 +0,0,0.26,0,0,0,0,0,0,0,0,0.26,0.53,0,0,0,0.53,0,0.53,0,0,0,0,0,0.8,0,0,0,0,0,0,0,0,0,0,0.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0.043,0,0,0.043,0,1.487,4,61,0 +0.01,0.03,0.2,0,0.09,0.03,0,0,0.05,0.05,0,0.47,0.03,0.17,0,0.09,0.18,0.13,0.35,0.03,0.15,0,0,0.03,0,0,0.05,0.03,0.01,0,0,0,1.47,0,0,0.11,0.9,0,0,0.03,0,0.07,0,0.13,0.05,0.18,0,0.15,0.038,0.263,0.005,0.016,0,0.005,2.23,102,3168,0 +0,0,0,0,0,0,0,0,0,1.01,0,0,0,0,0,0,1.01,0,0,0,0,0,0,0,2.02,1.01,2.02,1.01,1.01,1.01,1.01,1.01,0,1.01,1.01,1.01,1.01,0,1.01,1.01,0,0,1.01,4.04,1.01,0,0,0,0,0.814,0,0.162,0,0,2.125,12,68,0 +0,0,0,0,0,0,0,0,0,3.33,0,3.33,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.156,0,0,2.333,10,21,0 +0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,1.07,0,0,0,0,0,1.07,2.15,0,0,0,0,0,2.15,3.22,0,2.15,0,0,0,0,0,0,2.15,0,0,0,0,0,0,2.15,0,0,0,0,0,0,0,0,0,0,0,0,1.718,11,55,0 +0,0,1.47,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,1.47,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.928,16,41,0 +0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,1.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.595,0,0,1.5,4,15,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.763,0,0,2.222,8,20,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.22,6.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.44,0,0,0,0,0,0,0,0,0,0,0,0,1.764,6,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11.11,0,0,0,0,0,0,0,0,0,0,0,0,1,1,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11.11,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0.86,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0,0.86,0.86,0,2.58,0,0,0,1.72,0.86,0,0.86,0,0.86,0.86,0,0,0,0.86,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0.11,0,0,1.812,10,58,0 +0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,2.99,1.87,0,1.87,0,0.74,0.74,0,0,0,1.49,0.74,0.37,0,0,0,0,0,0.37,0,0,0,0,0,0,0.131,0.043,0.043,0,0,2.468,15,195,0 +0,0,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.04,0,0,0,0,0,0,4.08,2.04,0,2.04,0,2.04,2.04,0,0,0,2.04,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0.189,0,0,0,0,1.681,10,37,0 +0,0,0,0,0,0,0,0,0,1.23,0,0,0,0,0,1.23,0,0,1.23,0,0,0,0,0,0,1.23,2.46,0,0,0,0,0,0,0,0,0,1.23,0,1.23,0,0,0,1.23,2.46,1.23,0,0,0,0,0.77,0,0.192,0,0,1.535,12,43,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.476,0,0,0,0,1,1,7,0 +0,0.66,0,0,0,0,0.66,0,0,1.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,1.33,0,0,2,0,0,0,0,0.66,0,0.66,0,0,0,2,0,0,0,0,0,0,0,0,0.228,0,0,0,0,2.673,18,139,0 +0,0,0,0,0,0,0,0,0,0,0,0.81,1.62,0,0,0,0,0,1.62,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0,0,0,1.125,3,18,0 +0,0,0.68,0,0,0,0,0,0,0.68,0,2.06,0,0,0,0,0,0,0.68,0,0,0,0,0,1.37,0.68,0,1.37,0,0,0,0,0,0,0,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0.114,0.342,0,0,0,0,2.727,11,90,0 +0,0,0,0,0,0,0,0,0,0,0,1.15,0,0,0,0,0,0,2.89,0,0.57,0,0,0,0,0,0,0,0,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0.57,0,0,0,0,0,0,0,0,0,0,1.379,5,40,0 +0,0,1.03,0,2.06,0,0,0,0,0,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.03,1.03,0,0,0,0.373,0.186,0,0,0,0,1.529,5,26,0 +0,1.25,0,0,0,0,0,0,0.62,1.25,0,0,0,0,0,0,0,0,1.87,0,1.25,0,0,0,1.87,1.87,1.25,1.87,0.62,1.87,0.62,0.62,0,0.62,1.87,0.62,1.87,0,0.62,0.62,0,0,0.62,0,1.87,0,0,0,0,0.475,0.57,0,0,0,2.238,12,141,0 +0,0,0.94,0,0,0,0,0,0,0,0,0.94,0,0,0,0,0,0,1.89,0,0.94,0,0,0,1.42,0.94,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.24,13,112,0 +0,0,0.18,0,0.09,0,0,0,0,0,0.27,2.31,0.27,0,0,0,0.27,0,0,0,0.18,0,0,0,3.06,0,0,0,0,0,0,0,0.27,0,0,0,0.18,0,0,0,0,0,0,0,0,0,0,0,0.143,0.117,0,0,0.039,0,2.313,24,590,0 +0,0,0,0,0,0,0,0,0,0,0,1.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.342,8,89,0 +0.84,0,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.69,0,1.69,0,0,0,1.69,0,0.84,0,0,0,0,0.136,0,0,0,0,1.619,12,68,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.25,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,1.11,0,0,0.55,0,3.91,0,0,0,0,0,0.55,0,0,1.67,0,2.23,0,0,0,0.55,0.55,0,0,0,2.79,0,0,0,0,0,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.085,0,0,1.142,5,48,0 +0,0,1.04,0,1.04,0,0,0,0,0,0,1.04,0,0,0,0,0,0,0,0,0,0,0,0,2.08,2.08,0,2.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.313,0,0,0,0,2.108,22,78,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.54,0,0,0,0,0,0,0,0,0,4.54,0,4.54,0,0,0,0,0,0,0,0,0,0.675,1.351,0,0,0,0,3.7,26,37,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.523,0,0,2.272,9,25,0 +0,0,0.5,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1.25,0,0,0,0.5,0.25,0,0,0,0,0,0,0,0,0,0,0.25,0,0,0,0,0,0,0,0,0,0,0,0,0.083,0,0,0,0.041,1.732,11,227,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0.06,0.03,0.46,0,0.13,0.06,0,0.03,0.03,0.16,0.19,0.59,0.06,0.03,0,0.19,0,0,1.23,0.19,1.06,0,0,0,1.53,0.23,0,0.06,0,0.06,0.36,0,0,0,0.13,0.09,0.13,0.16,0.19,0,0,0,0,0.06,0.03,0,0,0.13,0.024,0.231,0,0.019,0.009,0.004,1.885,25,1738,0 +0,0,0.28,0,0.28,0,0,0,0,0,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0.56,0,0,0,0,0,0,0,0,0,0,0,0,0.18,0,0,0,0,1.523,11,160,0 +0.52,0,1.05,0,0.52,0,0,0,0,0,0,3.17,0,0,0,0,0,0,0.52,0,0,0,0,0,2.64,2.64,0.52,0,0,0,0,0,0,0,0,0.52,1.05,0,2.64,0,0,0.52,0.52,1.58,0.52,0,0,0.52,0.084,0.169,0.084,0,0,0,1.577,12,112,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.12,0,0,0,0,0,6.25,3.12,3.12,3.12,3.12,3.12,3.12,3.12,0,3.12,3.12,3.12,0,0,0,3.12,0,0,0,0,0,0,0,0,0,0.913,0,0,0,0,3.454,11,38,0 +0,0,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0.58,0.58,0,0,0,0,0,0,0,0,0,1.16,1.74,0,0.58,0,0,0,0.58,0,0,0,0,1.74,0,0,0.118,0,0,0,6.428,98,315,0 +0.16,0,0.67,0,0.33,0.16,0.33,0.83,0.33,0.67,0.33,1.51,0,0,0,0,1.67,0.33,2.01,1.67,3.85,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0.205,0,1.027,0.051,0,4.984,70,638,0 +0,1.93,0.77,0,0.77,0,0,0.38,0,0,0.38,0,1.54,0,0,0.38,0.38,1.15,4.24,0,6.17,0,0,0,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.109,0,0,1.043,4,95,0 +0,0,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,2.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.01,0,0,0,1.01,0,1.01,0,0,1.01,0,0,0.271,0.09,0.181,0.181,0,0,2,12,122,0 +0,0,0.29,0,0.29,0,0,0,0,0,0,2.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0.187,0,0,0,0,1.484,11,147,0 +0,0,0.13,0,0,0,0,0,0.13,0,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0.13,0,0,0,0,0,0.13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0.072,0,0.024,0,0,1.666,8,190,0 +0,0,0,0,0,0,0,0,0.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.94,0,0,0,0.94,0.94,0,0,0,0.203,0,0,0,0,1.416,6,34,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,1.4,1.4,0,0,0,0.133,0,0,0,0,1.5,6,30,0 +0,0,0.88,0,0.88,0,0,0,0,0,0,4.42,0,0,0,0,0,0,0.88,0,0,0,0,0,1.76,1.76,0.88,0,0,0,0,0,0,0,0,0.88,0.88,0,3.53,0,0,0.88,0,1.76,0,0,0,0.88,0.139,0.279,0,0,0,0,1.326,6,61,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,8,0 +0,0,0.28,0,0,0,0,0.28,0.28,0.57,0,0.57,0,0,0,0,0,0,0,0,0.57,0,0,0,5.2,6.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0.28,0,0,0.04,0,0,0,0,1.883,9,211,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,0 +0,0,0,0,0.9,0,0,0,0,0,0,2.7,0,0,0,0,0,0,4.5,0,0,0,0,0,0.9,0,0.9,0,1.8,0,0,0,0,0,0,0,0,0,0,0,0,1.8,0,0,0,0,0,0,0,0,0,0,0,0,1.45,4,29,0 +0,0,0.52,0,0.13,0,0,0,0,0,0,2.22,0.65,0.13,0,0,0.13,0,0.13,0,0.13,0,0.13,0,2.09,0,0,0,0,0,0,0,0.78,0,0,0.26,0.26,0,0,0,0,0,0,0,0,0,0,0,0.018,0.073,0,0,0,0,2.556,23,317,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.12,0,0,0,0,0,0,0,0,2.56,2.56,0,0,0,0,0,0,0,2.56,0,0,2.56,0,0,0,0.375,0,0,2.25,7,36,0 +0,0,0,0,0.3,0,0,0,0,0,0,0.3,0.91,0,0,0,0.6,0,1.21,0,0.3,0,0,0,0,0,1.21,0,0,0,0,0,0,0,0,0,0.3,0,0.3,0,0,0.6,0.3,0,0.6,0,0,0,0,0.042,0.042,0.042,0.042,0,1.183,13,168,0 +0.43,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0,4.34,0,0.86,0,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.374,0,0,0.124,0,1.974,18,77,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.336,0,0,0,0,3.38,7,71,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,3.52,0,0,0,0,0,0,0,0,2.35,0,0,0,0,1.17,0,0,0,1.17,0,0,0,0,0,0,0,0,1.17,0,0,2.35,0,0,0,0,0,0,0,0,0,0,0,0,2,12,54,0 +0.18,0,0.18,0,0,0,0,0,0.94,0,0,0.37,0,0,0,0.09,0,0,0.37,0,0.18,0,0,0,0.56,0.66,0.09,0,0,0,0,0,0.37,0,0,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0.18,0.167,0.051,0,0.025,0,4.434,87,909,0 +0.11,0,0.22,0,0,0,0,0,1.02,0,0,0.34,0,0,0,0,0,0,0.45,0,0.22,0,0,0,0.56,0.68,0.11,0,0,0,0,0,0.34,0,0,0.11,0.22,0,0,0,0,0,0,0,0,0.11,0,0,0.076,0.198,0.03,0,0.03,0,4.211,81,678,0 +0.06,0,0.06,0,0.19,0,0,0,0.73,0,0,0.19,0,0,0,0,0,0.06,0.26,0,0.19,0,0,0,0.79,0.86,0.06,0,0,0.06,0,0,1.06,0,0,0,0,0,0,0,0.13,0,0,0,0,0,0.06,0,0.363,0.143,0.057,0,0.019,0,2.716,37,880,0 +0.05,0,0.45,0,0.15,0.1,0,0,0.55,0,0,0.15,0,0,0,0,0,0.05,0.2,0,0.15,0,0,0,0.65,0.7,0.05,0,0,0,0,0,1.16,0,0,0,0.81,0.05,0,0,0,0,0,0,0,0,0,0,0.203,0.195,0.05,0,0.014,0,2.88,45,1080,0 +0,0,0,0,0,0,0,0,0,1.21,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,1.21,1.21,0,2.43,0,0,0,0,0,0,0,1.21,0,0,1.21,0,0,0,0,0,0,0,0,0,0,0.441,0,0,0,0,3.193,11,99,0 +0,0,0,0,5.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,12,0 +0.1,0.1,0.1,0,0.21,0.1,0,0,0.1,0.31,0,0.84,0.21,0,0,0.1,0,0.21,1.78,0,0.63,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21,0,0,0.035,0.177,0.035,0.07,0.053,0,1.744,29,417,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.88,0,0.88,0,0,0,0,0,1.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.88,0,0,0,0,0.139,0.139,0,0,0,1.763,9,67,0 +0,0,0,0,0.37,0,0,0,0,0,0,0.37,0.37,0,0,0,0.75,0,1.12,0,0.37,0,0,0,0,0,0.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.75,0,0,0.37,0,0,0,0,0.054,0,0,0.054,0,1.066,4,128,0 +0.1,0,0,0,0,0.1,0,0,0,0,0,1.66,0.1,0.31,0,0,0.41,0,0,0,0,0,0,0,2.07,0,0,0,0,0.1,0,0,0,0,0,0.1,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0.117,0,0,0.043,0,2.272,24,525,0 +0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0.595,0,0,0,0,1.25,2,10,0 +0,0,0.24,0,0,0,0,0,0,0.48,0,0.24,0,0,0,0,0.48,0.24,0.72,0.48,0.72,0,0,0,1.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.034,0,0,0,0,3.202,87,285,0 +0.29,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0.29,0.29,0,2.38,0,0.29,0,0,0,1.19,0.59,2.38,0.29,0.29,0.29,0.29,0.29,0,0.29,0.29,0.29,0.89,0,0.89,0.29,0.29,0,0.89,0,0.59,0.29,0,0,0,0.196,0.049,0.344,0,0.049,1.843,17,212,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.25,2,10,0 +0,0,0,0,0,0,0,0,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13.04,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.896,2.142,8,60,0 +0,0,0.42,0,0,0,0.21,0,0,0.21,0,0.42,0,0,0,0,0,0.21,1.49,0,0.42,0,0,0,0.21,0.21,0,0,0,0,0,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.034,0.139,0.034,0,0.069,0,3.151,37,312,0 +0,0,0,0,0,0,0,0,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13.04,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.896,2.142,8,60,0 +0,0,0,0,0.15,0,0,0.07,0.07,0.07,0,0.83,0.15,0,0,0,0.15,0,0,0,0,0,0.07,0,4.42,0,0,0,0,0,0,0,0.07,0,0,0.22,0.07,0,0,0,0,0,0,0,0,0,0,0.07,0.068,0.049,0,0,0.009,0,2.356,27,707,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.735,0,0,0,0,3,7,48,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0,0,0,0,0,0.054,0.353,0,0,0,4.438,28,1589,0 +0,0,0,0,0,0,0,0,0,18.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,39,40,0 +0.08,0,0.16,0,0.58,0.08,0,0,0.08,0,0,2.24,0.08,0.16,0,0,0.08,0,0.99,0,0.74,0,0.08,0,0.74,0.66,0,0,0.82,0.99,0,0,0,0,0,0.08,0.08,0,0.16,0,0,0.24,0,0,0.08,0,0,0.08,0.08,0.011,0,0,0,0,2.1,60,500,0 +0,0,0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,3.12,0,0,0,0,0,3.12,1.56,1.56,1.56,1.56,1.56,1.56,1.56,0,1.56,1.56,1.56,0,0,0,1.56,0,0,0,1.56,0,0,0,0,0,0.53,0,0,0,0,2.533,11,38,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.555,0,0,0,0,1.647,4,28,0 +0,0,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0,0,0,0.28,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0.28,0.28,0.28,0,0.28,0,0.043,0,0,0,0,1.641,8,110,0 +0,0,0,0,0,0,0,1.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.7,1.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.196,0,0,0,0,1.294,3,22,0 +0,0,0.21,0,0,0.21,0,0,0,0.21,0.21,1.28,0,0,0,0,0.21,0,1.28,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0.097,0,2.451,55,255,0 +0,0,0,0,1.16,0,0,0,0,1.16,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,1.16,1.16,0,2.32,0,0,0,0,0,0,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0.39,0,0,0,0,3.379,11,98,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.25,0,0,0,0,0,0,0,0,0,0,2.714,10,38,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.54,0,0,0,0,0,0,0,0,0,0,0,0,4.54,0,0,0,0,0,0,0,0,0,0.925,5.857,16,41,0 +0.86,0,0,0,0,0,0,0,0,0,0,2.6,0,0,0,0,0,0,2.6,0,0,0,0,1.73,0,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0.86,0.561,0.14,0,0,0,0,1.352,6,23,0 +0,0,0.24,0,0,0,0,0,0,0.48,0,0.24,0,0,0,0,0.48,0.24,0.72,0.48,0.72,0,0,0,1.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.035,0,0,0,0,3.179,87,283,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0.62,0,0.31,0,0,0,0,0.31,1.24,0,0,0,0,0.31,0,0,0.31,0,0,0,0,0,0,0,0,0,0,2.607,11,219,0 +0,0,0,0,1.19,0,0,0,0,0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,3.57,3.57,0,0,3.57,0,0,0,0,0,0,0,1.19,0,0,0,0,3.57,0,0,1.19,0,0,0,0,0,0,0,0,0,1.733,14,52,0 +0,0,0.71,0,0,0,0,0,0,0,0,1.43,0,0,0,0,0,1.43,0.71,0,2.87,0,0,0,2.15,0.71,1.43,0,0,1.43,0,0,0,0,2.15,0,0,0,0,0,0.71,0,0,0,0,0,0,0,0.08,0.322,0,0,0,0,3.9,27,156,0 +0,0,1.31,0,0,0,0,0,0,0,0,2.63,0,0,0,0,0,1.31,0,0,0,0,0,0,2.63,1.31,0,1.31,0,1.31,1.31,0,0,0,1.31,1.31,3.94,0,0,0,0,0,0,0,0,0,0,0,0,0.15,0,0.15,0,0,1.906,10,61,0 +0.1,0,0.21,0,0.31,0,0,0.1,0,0,0,0.63,0.21,0,0,0,0.53,0,0,0,0,0,0,0,3.82,0,0.1,0.1,0,0,0,0,0.42,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0.215,0.043,0,0,0,0,2.221,18,511,0 +0,0,0,0,2.63,0,0,0,0,0,0,0,0,0,0,0,0,0,2.63,0,2.63,0,0,0,5.26,2.63,2.63,2.63,2.63,2.63,2.63,2.63,0,2.63,2.63,2.63,0,0,0,2.63,0,0,0,2.63,0,0,0,0,0,0.793,0,0,0,0,3.076,11,40,0 +0,0,0,0,5.55,0,0,0,0,0,0,5.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11.11,0,0,0,0,0,0,0,0,0,0,0,0,11.11,0,0,0,0,0,0,0,0,0,0,0,0,1.222,3,11,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.63,0,0,0,0,0,0.24,0,0,0,0,2,7,48,0 +0,0,0,0,0,0,0.62,0,0,0,0,0,0,0,0,0,0,0.62,1.25,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.62,0,0,0,0,0.049,0,0.247,0.049,0,3.732,90,321,0 +0,0,1.78,0,0.25,0.51,0,0,0,0.25,0,0.76,0.25,0,0,0,0,0,1.27,0,0.76,0,0,0,1.27,1.02,0,0.25,0.51,0.51,0,0,0,0,0.25,0,0,0,0,0,0,0,0,0,0,0,0,0.76,0.186,0.26,0,0,0,0.037,1.794,10,183,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.77,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.77,0,1.55,0,0,0,0,0.247,0.247,0,0,0,0,1.611,12,29,0 +0,0,0.25,0,0,0,0,0,0,0,0,0.25,0.25,0,0,0,0,0,4.02,0,4.02,0,0,0,0.75,0.75,0,0,0.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.25,0,0,0.111,0,0,0,0,4.446,29,209,0 +0,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,1.61,0,0,0,1.61,1.61,0,0,0,0,0,0,0,0,0,0,0,4.83,0,0,0,0,0,0,0,0.283,0,0,0,0,1.666,4,20,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.86,0,0,0,0,0,3.73,0,1.86,0,0.93,3.73,0,0,0,0,0,0,0,0.93,0,0,0,0,0,0,0,0,0,0,0,0.173,0,0,0,0,1.9,5,38,0 +0,0,1.96,0,0,0,0,0,0,0,0,0,0,1.96,0,0,0,0,1.96,0,1.96,0,0,0,0,0,0,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.142,11,30,0 +0,0,0.59,0,0,0,0,0.59,0,0,0,2.99,0,0,0,0,0,0,1.19,0,0,0,0,0,1.19,0.59,0,0,0,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.391,0,0,0,0,1.836,7,90,0 +0,0,1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.26,0,0,0,0,0,0,2.53,1.26,0,1.26,0,1.26,1.26,0,0,0,1.26,1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0.141,0,0,0,0,2.28,10,57,0 +0.1,0.05,0.35,0,0.15,0,0.05,0.05,0.05,0.2,0.15,0.61,0,0,0,0.1,0.05,0,0.71,0.05,0.46,0,0.05,0,1.84,0.3,0,0.1,0,0.15,0.15,0,0,0,0.1,0.25,0.15,0,0,0,0,0,0,0.05,0.05,0,0,0.15,0,0.153,0,0.029,0.021,0,1.871,25,1123,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.85,0,0,0,0,0,0,2.85,0,0,0,0,0,0,0,0,0,0.436,0,0,3.071,13,43,0 +0,0,0,0,0,0,0,0,0,0,0,0,0.6,0,0,0,0,0,0.6,0,1.21,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,1.21,0,1.21,0,0,0,1.21,0,1.21,0,0,0,0,0,0.1,0,0,0,1.535,13,86,0 +0.04,0.14,0.29,0,0.04,0.04,0,0.09,0,0.19,0.09,1.03,0,0,0,0,0,0.24,0.09,0,0.04,0,0,0,0.04,0,0,0,0,0.14,0,0,0,0,0,0.09,0.24,0,0,0,0,0,0.04,0,0,0,0,0,0.02,0.157,0.013,0,0,0.006,2.655,185,1787,0 +0,0,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0.62,0.62,0,0.62,0,0,0,0,0,1.87,0.62,0,0,0,0,0,0,0,0,0,0.62,0,0,0,0,0,0,0,0.62,0,0,0,0,0,0.103,0,0.103,0,0,1.347,4,31,0 +0,0,0,0,0,0,0,0,0,0,0,0.76,0,0,0,0,0,0,0.76,0,1.53,0,0,0,10.76,0,0,0,0,0,0,0,0,0,0,0,0.76,0,0,0,0,0,0.76,0,0,0,0,0,0.377,0,0.094,0,0,0,4.807,31,274,0 +0,0,0,0,0.36,0,0,0,0,0,0,1.09,0,0,0,0,0.36,0.36,0,0,0,0,0,0,1.81,0.72,0,0.72,0,0.72,0,0,0,0,0.36,0,0.36,0,0,0,0,0,0,0.36,0,0,0,0.36,0,0.201,0,0.05,0,0,2.293,11,211,0 +0,0,0,0,0,0,0,0,0,0,0,0.86,0,0.51,0,0,0,0,1.55,0,3.79,0,0,0,0.69,0.69,0,0,2.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,0,0.078,0.052,0,0,0,1.203,5,183,0 +0,0.39,0,0,0,0,0,0,0.39,0,0,1.97,0.79,0,0,0,1.18,0,0.79,0.39,0,0,0,0,0.39,0,0,0,0,0,0,0,0,0,0,1.97,0,0,0,0,0,0,0,0,0,0,0.39,0,0,0.192,0,0.128,0,0,1.229,6,75,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.53,0,0,0,3.07,0,1.53,0,1.53,3.07,0,0,0,0.253,0.253,0,0,0,2.235,12,38,0 +0,0,0.39,0,0,0,0,0.39,0,0.79,0,0.79,0,0,0,0,0,0,0,0,0,0,0,0,6.74,7.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.39,0,0,0.053,0,0,0,0,1.8,9,153,0 +0,0,0,0,0,0,0,0,0,0.85,0,0.85,0,0,0,1.28,0,0,0.85,0,0.42,0,0,0,1.7,1.28,0.85,1.28,0.42,0.42,0.42,0.42,0,0.42,0.42,0.85,0.42,0,0,0.42,0,0,0.42,0,0.42,0,0,0,0,0.369,0.073,0,0,0,2.44,12,144,0 +0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.345,0,0,0,0,1.666,6,55,0 +0.27,0,0,0.55,0.13,0,0,0,0.13,0,0,1.1,0.55,0,0,0,0,0,0.13,0,0,0,0,0,0.13,0.13,0,0,0,0,0,0,0,0,0,0.13,0.27,0,0,0,0,0,0,0.27,0,0,0,0.13,0,0.04,0,0,0,0,2.496,16,322,0 +0,0,0,0,0.62,0.62,0,0,0,0,0,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0,0,0.224,0.224,0,0,0,0,2,5,54,0 +0,0,0,0,2.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0.09,0,0,0,0,1.357,6,38,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.613,0,0,0,0,2,3,6,0 +0.47,0,0.62,0,0,0,0,0,0.15,0,0,0.15,0,0,0,0,0,0,0.15,0.15,0,0,0.15,0,0,0,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.052,0,0.105,0.079,0.026,1.962,13,155,0 +0,0,0.83,0,0.41,0,0,0,0,0,0,0,0.41,0,0,0,0,0,3.33,0,0,0,0,0,0,0,1.25,0,0,0,0,0.41,0,0.41,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0.065,0,0.195,0,0,1.444,22,91,0 +2,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,2,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.888,29,53,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,4,0,0,0,0,0,0,0,0,0,1.111,2,10,0 +0.05,0,0.15,0,0.1,0,0,0,0.52,0,0,0.15,0,0,0,0,0.1,0,0.21,0,0.1,0,0,0,0.47,0.52,0.05,0,0,0,0,0,0.15,0,0,0.05,0.36,0,0,0,0,0,0,0.1,0,0,0,0.05,0.164,0.171,0.068,0,0.013,0,3.591,35,1329,0 +0,0,0,0,0.13,0.26,0,0,0,0.13,0,1.17,0.13,0.13,0,0,0.52,0,0,0,0,0,0,0,3.64,0.65,0,0,0.13,0.52,0,0,0,0,0,0.39,0.13,0,0,0,0,0,0,0,0,0,0,0,0.135,0.101,0,0,0,0,1.915,19,387,0 +0.07,0,0.07,0,0,0,0,0.46,0.69,0,0,0.23,0,0,0,0,0.07,0.07,0.3,0,0.23,0,0,0,0.69,0.76,0.07,0,0,0,0,0,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.142,0.175,0.032,0,0.021,0,3.007,60,791,0 +0.05,0,0.05,0,0,0,0,0,0.53,0,0,0.23,0,0,0,0,0,0.05,0.23,0,0.17,0,0,0,0.65,0.71,0.05,0,0,0,0,0,0.53,0,0,0,0.71,0,0,0,0,0,0,0,0,0,0,0,0.115,0.173,0.041,0,0.016,0,2.853,47,896,0 +0.03,0.05,0.03,0,0.09,0.05,0,0.01,0.16,0,0,0.09,0.01,0,0,0.01,0.01,0.01,0.07,0.01,0.05,0,0,0,0.56,0.58,0.01,0,0,0,0,0,1.43,0,0,0.05,0.49,0.03,0,0,0.03,0.01,0.01,0.07,0,0,0.01,0,0.221,0.129,0.063,0,0.005,0,3.364,66,3334,0 +0,0.19,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0,2.86,0,0,0.38,0.19,0,0,0,0,0,0,0,0,0,0.19,0.19,0,0.199,0,0,0,0,2.204,9,205,0 +0,0,0,0,0,0,0,0,0,0,0,9.67,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.564,0,0,0,0,1.692,5,22,0 +0.41,0,0,0,0,0.82,0,0,0,0,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,3.3,0,0,0,0,1.65,0,0,0,0,0,0.82,0,0,0,0,0,0,0,0.41,0,0,0,0.41,0,0.198,0,0,0,0,1.569,7,113,0 +0,0,0,0,0,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0.63,0,0,0,0,0,3.16,0,0,0,0,0,0,0,0,0,0.63,0,0,0,0,0,0,0,0,0.63,0,0,0,0,0,0,0,0,0,0,1.56,9,64,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.714,6,24,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.125,17,25,0 +0,0,1.81,0,2.01,0,0,0,0,0,0.2,0,0,0,0,0.4,0,0.2,3.62,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4,0,0,0,0,0,0,0.301,0,0,1.576,17,164,0 +0,0,0,0,0,0,0,0,0,0,0,1.72,0,0,0,0,0,0,0,0,0,0,0,0,3.44,1.72,1.72,1.72,1.72,1.72,1.72,1.72,0,1.72,1.72,1.72,0,0,0,1.72,0,0,0,0,0,0,0,0,0,0.487,0,0,0,0,2.533,11,38,0 +0,0,0,0,0,0,0,0,0,0,0,1.72,0,0,0,0,0,0,0,0,0,0,0,0,3.44,1.72,1.72,1.72,1.72,1.72,1.72,1.72,0,1.72,1.72,1.72,0,0,0,1.72,0,0,0,0,0,0,0,0,0,0.487,0,0,0,0,2.533,11,38,0 +0,0,0,0,0,0,0,0,0,0,0,1.67,0,0,0,0,0.41,0,0.83,0,0,0,0,0,1.25,0,0,0,0.83,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0,0,0,0.139,0,0,0.069,0,1.804,6,74,0 +0,0,1.19,0,0,0,0,0.59,0,0,0,0,0,0,1.19,0,0,0,2.97,0,1.19,0,0,0,1.78,1.19,2.38,0.59,0.59,0.59,0.59,0.59,0,0.59,0.59,0.59,0,0,0.59,0.59,0,0,0.59,0,1.19,0,0,0,0,0.197,0.098,0,0,0,2.203,12,119,0 +0,0,0.36,0,0,0.09,0,0.09,0,0,0.09,0.36,0.09,0,0,0,0.27,0,0,0,0,0,0.09,0,3.2,0,0,0,0,0,0,0,0.27,0,0,0,0,0,0,0,0,0,0.09,0,0,0,0,0,0.1,0.176,0,0,0.125,0,2.356,21,641,0 +0,0,1.12,0,0,0,0,1.12,0,0,0,0,0,0,2.24,0,0,0,3.37,0,2.24,0,0,0,0,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.12,0,0,0,0,0,0,0,0,0,2,5,44,0 +0,0,0,0,0,0.74,0,0,0,0.74,0,0.37,0,0,0,0,0,0,2.61,0,1.49,0,0,0,0.37,0.37,0,0.74,0,0,0,0,0.37,0,0,0.37,0.37,0,0.37,0,0,0.37,0,0.74,0.37,0,0,0,0,0.405,0,0,0,0,2.28,11,130,0 +0,1.52,0,0,0.76,0,0,0,0,0.76,0,0,0,0,0,0,0,0,0,0,0.76,0,0,0,0.76,0.76,1.52,0,0,0,0,0.76,0,0.76,0,0,1.52,0,0.76,0,0,0.76,0.76,0,0.76,0,0,0,0.121,0.365,0.121,0.487,0,0,1.956,22,90,0 +0,0,1.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6,3.2,0,2.4,0,0,0,1.6,0.8,2.4,0.8,0.8,0.8,0.8,0.8,0,0.8,0.8,0.8,0,0,1.6,0.8,0,0,1.6,0,1.6,0,1.6,0,0,0.25,0,0,0,0,2.065,12,95,0 +0,0,0.56,0,0,0,0,0,0,1.12,0,0.56,0,0,0,0,0,0,1.12,0,1.12,0,0,0,0.56,0.56,0,1.12,0,0,0,0,0,0,0,0.56,0,0,0,0,0,0,0,0,1.12,0,0,0,0,0.311,0,0,0,0,2.486,11,92,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.769,0,0,0,0,3.75,9,15,0 +0.3,0,0,0,0,0,0,0,0,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,1.81,2.11,0,0,0,0,0,0,0.3,0,0,0.3,1.51,0,0,0,2.11,0,0,0,0,2.11,0,0,0.358,0.666,0.256,0,0,0,3.923,18,408,0 +0,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.17,8.69,0,6.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.17,0,0,0,0,0,0,0,1.333,3,8,0 +0,0,2.04,0,0,0,0,0,0,0,0,0,0,2.04,0,0,0,0,2.04,0,2.04,0,0,0,0,0,0,0,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.428,3,20,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.54,0,0,0,0,0,0,0,0,0,4.54,0,4.54,0,0,0,0,0,0,0,0,0,0.675,1.351,0,0,0,0,3.7,26,37,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.77,0,2.32,0,0,0,0,0.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.77,0,0,0,0,0,0,0,0,0,0,0,0,1.156,3,37,0 +0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,1.61,3.22,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.181,3,13,0 +0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,7,0 +0,0,0,0,0,0,0,0,0,0,0,1.58,0,0,0,0,0,0,0.79,0,0.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.79,0,0,0,0,0,0.124,0.124,0,0,0,0,1.8,8,45,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,3.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.526,7,87,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14.28,0,7.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0.8,0,0,0.6,0,0,0.2,0,0.2,0,0,0,0,0,1.8,0,2.2,1.8,0,2.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0,0.2,0.2,0,0,0,0,0,0.06,0,0,2.55,43,227,0 +0.05,0.02,0.18,0,0.02,0.02,0,0.02,0,0.07,0,0.38,0.02,0.2,0.02,0,0.33,0.12,0.31,0,0.12,0,0,0,0,0,0,0.02,0,0,0,0,2.17,0,0,0.2,0.59,0,0,0.1,0,0.07,0.02,0.28,0,0.15,0.05,0.05,0.011,0.144,0.003,0,0,0,2.255,55,1825,0 +0,0,0,0,0,0,0,0,0,1.07,0,1.07,0,0,0,0,0,0,0.53,0,0,0,0,0,1.07,0,0,0,0,0,0,0,0,0,0,0,0.53,0,0,0,0,0,0.53,0,0.53,0,0,1.07,0,0.18,0,0.09,0,0,1.825,7,73,0 +0,0,0.24,0,0.24,0,0,0,0,0,0,0.72,0,0,0,0.48,0.48,0,1.44,0.24,0.48,0,0,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.823,143,464,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7,5.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.4,0,0,0,0,0,0,0,0,0,0,0,0,1.4,3,7,0 +0,0,0,0,0,0,0,0,0,1.27,0,1.27,0,0,0,0,0,0,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.27,0,0.111,0,0.111,0,0,1.73,7,45,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,0,0,0,0.719,0,0,0,0,1.571,3,11,0 +0,0,0,0,1.81,0,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.615,0,0,0,0,1.388,5,25,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.72,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.497,0.124,0,0,0.124,3.904,28,164,0 +0,0,0,0,0,0,0,0,0,0,0,1.22,0,0,0,0,0,0,1.84,0,0.61,0,0,0,0,0,0,0,0,0.61,0,0,0,0,0,0,0,0,0,0,0.61,0,0,0,0,0.61,0,0,0,0.109,0.109,0.327,0,0,1.068,2,47,0 +0,0,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0,0,0,0.28,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0.28,0,0.28,0,0.28,0,0.043,0,0,0,0,1.651,8,109,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.769,0,0,0,0.384,3.187,7,51,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.026,0.343,0,0,0.026,4.326,28,822,0 +0,4.1,0,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,1.36,6.84,0,1.36,0,0,0,0,0,2.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0.21,0,0.42,0,0,1.387,7,43,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.176,0.264,0,0,0.088,4.25,28,238,0 +0,0,0,0,0,0,0,0,0,0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,3.12,3.12,1.56,3.12,3.12,0,0,0,0,0,1.56,0,0,0,0,0,0,3.12,0,0,0,0,0,0,0,0.515,0,0,0,0,3.285,24,69,0 +0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.58,0,0,0,0,1.58,0,1.58,0,0,0,0,0,0,2.227,7,49,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.67,0,0,0,0,0,3.91,2.23,0.55,0.55,0.55,0.55,0.55,0.55,0,0.55,0.55,0.55,0.55,0,0,0.55,0,0,0.55,0,0.55,0,0,0,0,0.275,0.091,0.367,0,0,2.208,13,106,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.689,0,0,0,0,1.666,3,10,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,7.4,0,0,0,0,0,0,0,0,0,0,0,0,7.4,0,0,0,0,0,0,0,0,0,0,0,1.503,3.875,16,31,0 +0.17,0,0.35,0,0.53,0,0,0.35,0,0,0.17,1.78,0.17,0.17,0,0,0.53,0,0,0,0,0,0,0,3.2,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0,0,0,0,0,0,0,0,0,0,0.071,0.143,0,0,0,0,2.464,80,244,0 +0,0,0,0,0,0.37,0,0,0,0,0,0.75,0.37,0,0,0,0.37,0,0,0,0,0,0,0,2.26,0,0,0,0,0,0,0,0,0,0,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0,0.387,0,0,0.331,0,2.287,14,167,0 +0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,0.7,0,1.4,0,1.4,0,0,0,0,0,0.7,0,0,0,0.7,0,0,0,0,0,0,0,0,2.11,0,0,0,0,0,0,0,0,0,0.266,0.066,0,0,0,18,200,378,0 +0,1.07,0,0,1.79,0.35,0,0,0,0.35,0,0,0.35,0,0,0,0,0,0.71,0,1.07,0,0,0,0.35,0.35,0.71,0,0,0,0,0.35,0,0.35,0,0,0.71,0,0.71,0,0,0,0.71,0,0.35,0,0,0,0,0.244,0.061,0.244,0,0,1.974,22,152,0 +0,0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,0,0,0,2.81,0,0,0,0,0,1.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.125,2,18,0 +0.59,0,1.19,0,0.59,1.19,0,0,0,0,0,0,0,0,0,0,0,0,1.19,0,0.59,0,0,0,0.59,0,1.19,0,0,0.59,0,0.59,0,0.59,0,0,0.59,0,0,0,0,0,0,0,0.59,0,0,0,0,0.312,0,0.312,0,0,1.818,22,80,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.95,0,0,0,0,0,0,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.49,0,0.262,0,0,0,0,1.625,7,26,0 +0.02,0.02,0,0,0,0,0,0,0.05,0.08,0.02,0.17,0,0,0,0,0.02,0.11,0.02,0,0,0,0,0,0.44,0.26,0,0,0.02,0.05,0,0,0,0,0,0.02,0.14,0,0,0,0.35,0,0.02,0,0.11,1.15,0,0,0.024,0.17,0,0.126,0,0,3.637,49,2015,0 +0,0,0,0,0.4,0,0,0,0,0,0,2.04,0,0,0,0,0,0,2.44,0,0.81,0,0,0,1.22,3.26,0,0,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4,0,0,0,0,0,0.137,0,0.068,0,0,2.282,21,89,0 +0,1.1,0,0,0.55,0,0,0,0,1.1,0,0,0,0,0,0,0,0.55,0,0,1.1,0,0,0,0.55,0.55,2.2,0,0,0,0,0.55,0,0.55,0,0,1.65,0,0.55,0,0,0,1.1,0,0.55,0,0,0,0.088,0.355,0.088,0.177,0,0,1.867,22,127,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0.666,0,0,1.222,3,11,0 +0,1.28,0,0,0.64,0,0,0,0,1.28,0,0,0,0,0,0,0,0,0,0,1.28,0,0,0,0.64,0.64,1.92,0,0,0,0,0.64,0,0.64,0,0,1.28,0,0.64,0,0,0,0.64,0,0.64,0,0,0,0.104,0.418,0,0.209,0,0,1.888,22,102,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.714,4,12,0 +0,0,0.37,0,0.37,0,0,0,0,0,0,0.37,0,0,0,0.37,0,0,0.37,0,0.37,0,0,0,0.37,0.74,0,0,0,0,0,0,0,0,0,0.37,0.74,0,0,0,0,0,0.37,0,0,0,0,0,0,0.162,0,0,0,0,2.643,34,193,0 +0.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.37,0,2.23,0,0.37,0,0,0,1.11,0.37,1.86,0.37,0.37,0.37,0.37,0.37,0,0.37,0.37,0.37,0.74,0,0.74,0.37,0.37,0,0.74,0,0.37,0.37,0,0,0,0.192,0.064,0.32,0,0.064,1.923,17,177,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,1.19,0,0,0,1.19,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.38,0,0,0,0,0,0,0,0.22,0,0,0,0,2,12,34,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.06,0,0,0,0,0,2.06,1.37,1.37,0.68,0.68,0.68,0.68,0.68,0,0.68,0.68,0.68,0.68,0,0,0.68,0,0,0.68,0,0.68,0.68,0,0,0,0.216,0.108,0.216,0,0.108,2.754,25,157,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,0,0,0,0,0,0,0,0,0,0,1.14,0,0,0,0,0,0,2.29,0,0,0,0,0,1.14,1.14,0,0,0,0,1.14,0,0,0,0,0,0,0,0,0,0,0,0,2.29,0,0,0,0,0,0,0,0.596,0,0.198,2.133,14,64,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0.314,0,0,2.473,10,47,0 +0,0,2.63,0,0,0,0,0,0,0,0,2.63,0,0,0,0,0,0,2.63,0,0,0,0,0,2.63,2.63,2.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,8,0 +1.02,0,0,0,0,0,0,0,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.02,1.02,0,2.04,0,0,0,0,0,0,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0.531,0,0,0,0,2.967,11,92,0 +0,0,0,0,0.6,0,0,0,0,0,0,0.6,0,0,0,0,0,0,3.01,0,0,0,0,0,0,0,1.8,0,0,0,0,0.6,0,0.6,0,0,0.6,0,0.6,0,0,0,0.6,0,1.2,0,0,0,0,0.085,0.085,0.085,0,0,1.735,22,92,0 +1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,2,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0.324,0,0.487,0,0,2.291,22,55,0 +0.06,0,0.36,0,0.12,0,0,0.06,0.06,0,0.12,0.66,0,0,0,0.06,0.18,0.06,0.6,0,0.78,0,0,0,1.99,0.42,0,0,0,0.18,0.18,0,0,0,0.06,0,0.18,0,0,0,0,0.06,0,0,0,0,0,0.24,0.008,0.099,0,0,0.008,0.016,1.972,27,941,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.833,0,0.416,1.937,8,31,0 +0,0,0,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,1.49,0,0,0,0,0,4.47,2.98,0,1.49,0,0,0,0,0,0,1.49,0,0,0,0,0,0,0,0,0,1.49,0,0,0,0,0.229,0,0,0,0,2.333,10,49,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,1.33,0,0,1.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.33,0,0,0,0,0,1.33,0,0,0,0,1.33,0,1.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.681,0,0.227,0,0,2.037,22,55,0 +0,3.27,0,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.27,0,0,0,0,0,1.63,0,0,0,0,1.63,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.527,0,0.263,0,0,2.12,22,53,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.62,0,0.81,0,0,0,0.81,0,2.43,0,0,0,0,0,0,0,0,0,0.81,0,0.81,0,0,0,0.81,0,0,0,0,0,0,0.135,0,0.406,0,0.135,1.958,17,94,0 +0,0,0,0,0.7,0,0,0,0,0,0,0.7,0,0,0,0,0,0,3.52,0,0,0,0,0,0,0,1.4,0,0,0,0,0.7,0,0.7,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,0.1,0,0.1,0,0,1.682,22,69,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10.52,0,0,0,0,0.793,0,0,0,0,1.25,2,5,0 +0,0,0,0,0.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0.61,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0.61,0,0,0,0,0,0,0,0.61,0,0,0,0.196,0.098,0,0.098,0,0,1.312,6,63,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +1.07,0,1.07,0,1.07,1.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.07,0,1.07,0,0,1.07,0,1.07,0,1.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.37,0,0.185,0,0,2.24,22,56,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,8,0 +0,0.25,0.75,0,1,0.25,0,0,0,0,0.25,0.25,1.25,0,0,0.25,0,1.25,2.51,0,1.75,0,0.25,0,0,0,0.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.042,0,0,1.204,7,118,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,8,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,0.34,0,0,0.68,0,0.68,0,0,0.34,0.34,0,0,0,0,0.34,0,1.36,3.42,0,2.73,0,0,0,0.34,0.34,0,0,0,0,0,0,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.048,0.048,0,1.411,15,96,0 +0,0,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.25,0,0,0,2.5,1.25,1.25,0,1.25,2.5,0,0,0,0,0.209,0,0,0,3.3,13,66,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.56,0,0,0,2.56,2.56,0,0,0,0,0,0,0,0,3.333,7,20,0 +0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,1.736,8,33,0 +0,0,0,0,0,0,0,0,0,0.72,0,0.72,0,0,0,0,0,0,4.37,0,0,0,0,0,1.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.107,0,0,0,1.48,9,37,0 +0,0,0.36,0,0.72,0,0,0,0,0,0,0.36,0.18,0,0,0.36,0,0,1.44,0,0.36,0,0,0,0.36,0.9,0,0,0,0,0,0,0,0,0,0,0.36,0,0,0,0,0,0.18,0,0.18,0,0,0,0.026,0,0,0.107,0,0,2.988,51,263,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.47,0,2.94,0,0,0,1.47,0,1.47,2.94,0,0,0,0,1.47,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.484,0,0.484,0,0,2.5,15,65,0 +0,0,0,0,0.09,0,0,0,0,0.09,0,0.18,0,0,0,0,0,0,0.37,0,0,0,0,0,2.43,1.21,0.28,0.09,0.09,0.18,0.09,0.09,1.12,0.09,0.09,0.18,1.12,0,0,0.09,0.56,0,0.18,0,0.09,2.24,0,0.09,0.123,0.479,0.095,0.013,0,0,3.625,51,1131,0 +0,0,0,0,0.24,0,0,0,0,0,0,0.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0.24,0,0,0,0,0,0,0,0,0,0.24,0,0.24,0,0.195,0,0,0,0,2.192,35,239,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,1.78,1.78,0,0,0,0,1.78,0,0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0.307,2.227,14,49,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,8,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,8,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.333,5,7,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,9,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,4,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.166,4,13,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,0,0,0,0,7.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,0,0,0,0,0,0,0,0,0,2.142,5,15,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0.23,0,0,0.23,0,0,0,0,0.47,0,0.23,0,1.67,0,0,0,0,1.19,0,0,0,0,0,0.47,0,0.23,0,0,0,0.23,0,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.158,0,10.036,235,1094,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,7,0 +0,0.12,0.12,0,0,0,0,0.12,0,0,0,0.12,0,0,0.12,0,0,0,0.12,0,0,0,0,0,0.9,0.38,0.38,0,0,0,0,0,0,0,4.11,0,0,0,0,0,0,0.9,0,0,0,0.12,0.12,0,0,0.149,0,0,0,0.074,5.264,53,1232,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,0,0,0,0,0,0,1.5,3,12,0 +0,0.14,0.14,0,0,0,0.14,0.14,0,0,0,0.14,0,0,0.14,0,0,0,0.28,0,0,0,0,0,1.13,0.42,0.28,0,0,0,0,0,0,0,2.69,0,0,0,0,0,0,0.84,0,0,0,0.14,0.14,0,0,0.16,0,0,0,0.072,5.331,80,1029,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,4.4,16,22,0 +0,0,0.56,0,0.08,0.16,0,0,0,0.16,0,0,0,0.24,0,0,0,0,0.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0.08,0.08,0,0,0,0,0,0,0,0,0,0,0,1.54,0.164,0.505,0,0.01,0.021,0,2.729,55,1122,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.04,0,0,0,2.04,2.04,2.04,2.04,2.04,2.04,2.04,2.04,0,2.04,2.04,2.04,0,0,0,2.04,0,0,0,0,0,0,0,0,0,0.536,0,0,0,0.268,2.529,11,43,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0 +0.38,0,0.64,0,0.12,0.25,0,0,0,0,0,0.25,0,0,0,0,0.25,0.12,1.03,0,0.38,0,0,0,0.9,0.38,0.25,0.25,0.64,0.25,0,0,0,0,0.12,0.51,0,0,0,0,0,0.12,0,0.25,0,0,0,0.25,0,0.082,0,0.02,0,0,1.491,11,267,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0.97,0.97,0.97,1.94,0,0.97,0,0,0,0,0.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.261,0,0,0,0,2.03,11,67,0 +0.44,0,0,0,1.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,2.22,0,0,0,0,0.44,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.265,0,0,0,0,1.48,7,74,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0.86,0.86,0.86,1.73,0.86,0.86,0,0,0,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.131,0,0,0,0,1.74,11,47,0 +0,0,0.64,0,0.32,0.32,0,0,0,0,0,0,1.29,0,0,0,0.32,0,0.97,0,0.32,0,0,0,0.32,0.32,0.32,0.64,0,0.32,0,0,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.371,0,0,0,0,2.05,11,82,0 +0.13,0,0.13,0,0,0,0,0,0.13,0.13,0,0.66,0,0.66,0,0,0.13,0,1.06,0,0.66,0,0,0,0.13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0.13,0,0.93,0,0.014,0.042,0,0,0,0.183,5.603,57,1160,0 +0,0,0,0,9.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,0,0,0,0,0,0,0,0,0,3.333,14,20,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.754,0,0,0,0,1,1,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.333,14,20,0 +0,0,0,0,0,0,0,0,0.3,0,0,0.3,0,1.82,0,0,0.3,0,0.6,0,0.91,0,0,0,0,0,1.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.21,0,0,0,0,1.51,0,0,0.057,0,0,0,0.231,2.011,28,358,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,1.857,5,13,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,0,2.428,5,17,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,9.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,0,0,0,0,0,1.25,2,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,0,3,5,15,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.754,0,0,0,0,1,1,7,0 +0.21,0,0.42,0,2.54,0,0,0,0,0,0,1.05,0,0,0,0,0.21,0,0,0,0,0,0,0,0.21,0,0.63,0.21,0,0,0,0,0.21,0,0,0,0,0,0.21,0,0,1.27,0,0,0,0,0,0.21,0.028,0.115,0,0,0,0,2.457,45,258,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18.18,9.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,0 +0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.333,2,4,0 +0,0.35,0.35,0,0.17,0,0,0,0.17,0.35,0,1.23,0,0.88,0,0,0.17,0,1.41,0,0.7,0,0,0,0.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7,0,0,0.17,0,0.88,0,0,0.038,0,0.019,0,0.095,2.059,28,447,0 +0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,5.88,0,1.47,0,0,1.47,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.037,15,82,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,0,0,0,0,0,0,0,0,0,4.333,20,26,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.353,0.353,0,0,0,0,1,1,21,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,0,0.289,0,0,0.289,0,0,1.076,2,14,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.666,15,20,0 +0.01,0.01,0.07,0,0.05,0,0,0.01,0.03,0.13,0.05,0,0,0.05,0,0,0.01,0.07,0.01,0,0.01,0,0,0,0,0,0,0,0,0,0,0,0.07,0,0,0.13,0,0,0,0.01,0.46,0,0,0.03,0,0.8,0.01,0.07,0.05,0.301,0.131,0.002,0.09,0.002,2.577,82,5395,0 +3.94,0,0,0,0,0,0,0,0,0,0,2.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,5,36,0 +0,0,1.13,0,0,0,0,0,0,0,0,1.13,0,0,0,0,0,1.13,1.13,0,1.13,0,0,0,2.27,1.13,0,1.13,0,1.13,1.13,0,0,0,1.13,1.13,1.13,0,0,0,0,0,0,0,0,0,0,0,0,0.136,0,0.136,0,0,1.812,10,58,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.44,3.44,0,0,0,0,0,0,0,0,0,0,6.89,0,0,0,0,0,0,0,3.44,0,0,0,0,0,0,0,0,0,2.818,8,31,0 +0,0,0,0,0,0,0,0,0,0,0,3.17,0,0,0,0,0,0,3.17,0,0,0,0,0,1.58,0,0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,6.34,0,0,0,0,0,0,0,0,0,0,0,0,1.384,4,18,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.476,0,0,2.642,9,37,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0.17,0,0,0,0,0,0,0.17,0,0.17,0,0,0,0,0,0,0.17,0,0,0,0,0,1.57,1.4,0,0,0,0.17,0,0,0.17,0,0,0,1.92,0,0,0,2.8,0,0,0,0,2.8,0,0,0.267,0.802,0.118,0,0,0,4.808,20,601,0 +0.19,0,0.39,0,1.24,0.13,0,0.06,0.32,0,0,0.45,0.26,0,0,0,0.13,0,1.24,0,0.39,0,0.06,0,1.04,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0,0,0,0,0,0,0.39,0,0,0,0,0.03,0,0,0.03,0,1.571,42,297,0 +0,0,0,0,0,0,1.78,0,0,0,0,1.78,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,1.78,0,0,0,0,0,1.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.586,0,0,1.307,4,17,0 +0,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0.58,0,0,0,0,0,1.76,0,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0.107,0,0.107,0,0,1.531,6,49,0 +0.13,0,0.2,0,0.54,0.13,0,0.13,0.4,0,0,0.06,0.06,0,0,0,1.01,0,0,0,0,0,0,0,1.08,0,0,0.06,0,0,0,0,0,0,0,0,0.4,0,0,0,0,0,0,0,0.06,0,0,0,0.009,0.068,0,0,0.166,0,2.804,45,617,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.373,0.373,0,0.373,0,0,1.714,4,12,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,0 +0.26,0,0.53,0,0,0.26,0,0,0,0,0,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0.26,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0.26,0,0,0,0,0,0,0.039,0,0,0,0,2.646,77,172,0 +0.26,0,0.53,0,0,0.26,0,0,0,0,0,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0.26,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0.26,0,0,0,0,0,0,0.039,0,0,0,0,2.646,77,172,0 +0,0,0,0,0,0,0,0,0,0,0,0.55,0,0,0,0,0,0,0,0,0.55,0,0,0,0.55,0,0,0,0.55,0,0,0,0,0,0,0,0.55,0,0,0,0,0.55,0,0,0,0,0,0,0,0.25,0,0,0,0,1.601,8,173,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,2.56,1.28,2.56,1.28,1.28,1.28,1.28,1.28,0,1.28,1.28,1.28,0,0,0,1.28,0,0,0,0,0,0,0,0,0,0.632,0,0,0,0,2.142,11,45,0 +0,0,0,0,0,0,0,0,0,0,0,1.75,0,0,0,0,0,0,0.29,0,0,0,0,0,1.75,0.29,0,0.58,0,0,0,0,0,0,0.29,0.29,0.58,0,0,0,0,0,0,0,0.29,0,0,0,0,0.091,0,0.045,0,0,2.333,15,175,0 +0,0,0.6,0,0.6,0,0,0,0,0,0,0,0,0,0,0.6,0,0,2.4,0,0,0,0,0,0,0,1.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6,0,0,0,0,0,0,0,0.11,0,0,0,0,1.074,3,29,0 +0,0.32,0.32,0,0.16,0.16,0,0,0.16,0.32,0,0,0,0,0.32,0,0.32,0.32,0.8,0.32,2.08,0,0,0.16,0,0,0.16,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,1.309,0,0.022,0.377,0,3.918,157,772,0 +0.04,0.08,0.24,0,0.04,0.16,0,0.04,0.16,0.52,0.08,1.04,0,0,0,0.24,0.04,0,0.68,0,0.88,0,0.04,0,1.76,0.6,0,0.16,0,0,0.16,0,0,0,0.36,0,0.24,0.04,0,0,0,0.04,0,0,0.04,0,0,0,0.029,0.142,0,0.071,0.071,0.011,1.983,23,1361,0 +0,0,0,0,0.7,0,0,0.88,0,0.17,0,0.52,0.17,0,0,0,0,0,2.46,0,1.93,0,0,0,0.52,0.35,0.35,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0.17,0,0,0.17,0,0,0,0,0.17,0,0,0,0,0.086,0,0.057,0,0,1.472,15,162,0 +0.09,0.09,0.09,0,0.29,0,0,0,0.87,0,0,0.29,0.09,0,0.19,0,0,0,0.39,0,0.19,0,0,0,0.58,0.68,0.09,0,0,0,0,0,0.29,0,0,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0.111,0.153,0.069,0,0.041,0,3.298,41,686,0 +0.02,0.08,0.1,0,0.27,0.07,0,0,0.14,0,0,0.05,0,0.02,0.01,0.02,0,0.01,0.05,0,0.04,0,0,0,0.48,0.49,0.04,0,0,0,0,0,0.36,0,0,0.01,0.45,0,0,0.01,0,0,0.04,0,0.01,0,0,0.02,0.221,0.152,0.056,0,0.004,0,2.63,38,3086,0 +0.05,0,0.17,0,0.28,0,0,0,0.51,0,0,0.17,0,0.05,0,0,0,0.05,0.22,0,0.17,0,0,0,0.96,1.02,0.05,0,0,0,0,0,0.28,0,0,0.11,0.73,0,0,0,0,0,0,0,0,0,0,0,0.165,0.182,0.091,0,0.016,0,2.777,38,1161,0 +0.05,0,0.11,0,0.16,0.05,0,0,0.5,0,0,0.16,0,0,0,0,0,0.05,0.22,0,0.16,0,0,0,0.62,0.67,0.05,0,0,0,0,0,0.56,0,0,0,0.73,0,0,0,0,0,0,0.05,0,0,0,0,0.073,0.211,0.04,0,0.016,0,2.787,47,1090,0 +0,0,0,0,0,0.05,0,0.34,0,0,0.11,0.81,0.05,0.11,0,0,0.75,0,0,0,0,0,0.05,0,1.16,0,0,0,0,0,0,0,0.05,0,0,0.23,0.05,0,0,0,0,0,0,0,0,0,0,0,0.283,0.107,0,0,0.053,0,1.864,32,910,0 +0,0,0,0,1.05,0,0,0,0,0,0,0,0,0,0,0,0,0,2.11,0,2.81,0,0,0,0,0,0.7,0,0,0,0,0.35,0,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.047,0,0,0,0.047,2.232,12,163,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,1.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.481,5,40,0 +0.27,0.27,0,0,0.83,0,0,0,0,0,0,0.27,0.27,0,0,0,0,0,1.1,0,0.27,0,0,0,1.93,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0,0,0,0,0,0,0,0.084,0,1.231,6,101,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.38,0,1.69,0,0,0,1.69,1.69,1.69,0,0,0,0,0,0,0,0,0,0,0,1.69,0,0,0,0,0,1.69,0,0,0,0,0.315,0,0,0.63,0,3.083,12,37,0 +0,0,0.87,0,0,2.63,0,0,0,0,0,0.87,0,0,0,0,0,0.87,0.87,0,0,0,0,0,0,0,0.87,0,0,0,0,0,0,0,0,0,0.87,0,0,0,0,0,0,0,0.87,0,0,0,0.317,0.317,0,0,0,0,1.269,5,33,0 +0,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.491,0.163,0,0,0,4.312,33,138,0 +0,0,0,0,0,0,0,0,0,0,0,0.85,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0.42,0,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.652,9,114,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,1.333,4,12,0 +0,0,0.73,0,0,0,0,0.73,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,2.94,4.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.73,0,0,0.107,0,0,0,0,1.695,9,78,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.55,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.16,0,0,0,0,0,0,0,0,0.07,0,0,0,0,1.541,4,37,0 +2,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,2,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.888,29,53,0 +0,0,0.28,0,0,0,0,0,0,0.57,0,1.43,0,0,0,0,0,0,0,0,0.28,0,0,0,0.28,1.14,0,0,0,0,0,0,0,0,0.28,0,1.14,0,0,0,0,0,0,1.14,0,0,0,0.28,0,0.43,0,0,0,0,2.902,55,238,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.49,0,0,0,0,0,7.46,2.98,0,0,0,2.98,0,0,0,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.961,11,51,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,1.666,3,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,6,0 +0,0,0,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0.8,0,0,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,1.35,3,54,0 +0,0,0,0,0,0,0,0,0,0,0,1.12,0,0,0,0,0,0,2.24,0,0.56,0,0,0.56,0,0,1.12,0,0,0,0,0,0,0,0,0,0.56,0,0,0.56,0,0,0.56,0,0.56,0,0,0,0,0.299,0,0,0,0,2.236,13,85,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.439,0,0,0.219,0,1.911,11,65,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.333,8,10,0 +0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0.74,0,0,0,0.134,0.672,0,0,0,0,1.863,5,41,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,0,0,0,0,0,0,0,0,0,1.59,5,35,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.081,0,0,0,1,1,3,0 +0.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0.97,0,0,0,0,0.76,0,0,0,0,2,5,38,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,0,0,0,2.12,0,0,4.25,0,0,0,0,2.12,0,2.12,0,0,0,0,0,0,0,0,0,2.12,0,0,0,0,0.714,0,0,0,0,2.708,15,65,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.98,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0.98,0,0,0,0,0,0,0,0,0,0,1.96,0,0.98,0,0,0,0,0,0,0,0,2,13,42,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.239,0,0,0,0,2.166,5,13,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.714,3,12,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.863,0.143,0,0,0,4.484,33,148,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.52,4.76,4.76,4.76,4.76,4.76,4.76,4.76,0,4.76,4.76,4.76,0,0,0,4.76,0,0,0,0,0,0,0,0,0,1.257,0,0,0,0,3.333,11,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0.34,1.36,0,0,0,0,0,0,0.34,1.7,0,0,0,0,0,0,0,0,1.7,0,0.34,0,0,0,1.36,0.68,1.02,0.34,0.34,0.34,0.34,0.34,0,0.34,0.34,0.34,0.34,0,0.34,0.34,0,0,0.34,0,0.34,0,0,0,0,0.244,0,0,0,0,1.696,13,112,0 +0,0,0,0,0,0,0,1.57,0,1.57,0,1.57,0,0,0,0,0,0,1.57,0,1.57,0,0,0,3.14,2.36,0.78,0.78,0.78,0.78,0.78,0.78,0,0.78,0.78,0.78,0,0,0.78,0.78,0,0,0,0,0.78,0,0,0,0,0.372,0,0,0,0,3.971,34,139,0 +0,0,0.88,0,0,0,0,0,0.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.315,0,0,0,0,1.166,3,21,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.88,5.88,0,5.88,0,0,0,0,5.88,0,0,0,0,0,5.88,0,0,0,0,5.88,0,0,0,0.763,0,0,0,0,2.285,10,16,0 +0,0,0,0,0,0,0,0,0,0.31,0,0.31,0,0,0,0,0,0,0.95,0,0.95,0,0,0,1.27,0.63,1.91,0.63,0.63,0.63,0.63,0.63,0,0.63,0.63,0.63,0.95,0,0.63,0.63,2.22,0,0.63,0,0.63,1.91,0,0,0.05,0.304,0.101,0,0,0,2.186,15,164,0 +0,0.18,0,0,0.18,0,0,0.37,0,0,0,0.94,0,0,0,0,1.89,0,0.18,0,0,0,0,0,0.37,0.18,0,0,0,0.18,0,0,0,0,0,0.37,0,0,0,0,0,0,0,0,0.56,0,0,0,0,0.244,0,0,0,0,1.663,10,168,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.176,0,0,0,2.142,8,15,0 +0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0,0,0.97,0,0.97,0,0,0,1.29,0.64,1.94,0.64,0.64,0.64,0.64,0.64,0,0.64,0.64,0.64,0.97,0,0.64,0.64,2.26,0,0.64,0,0.32,1.94,0,0,0.051,0.255,0.102,0,0,0,2.197,15,156,0 +0,0.46,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0,0,1.38,0,1.85,0,0,0,2.31,0.46,0,0,0,0.46,0,0,0,0,0,0,0.46,0,0.46,0,0,1.38,0,0,0,0,0,0,0,0.155,0,0,0,0,2.982,28,167,0 +0.1,0,0.3,0,0.05,0.15,0,0.25,0.3,0.1,0.2,0.65,0,0,0,0.25,0.05,0,0.55,0,0.65,0,0.05,0,1.3,0.35,0,0.15,0,0.25,0.2,0,0,0,0.2,0.05,0.25,0,0,0.05,0,0,0,0.3,0.15,0,0.05,0,0.014,0.139,0,0.022,0.058,0,1.979,23,1081,0 +0,0,0,0,0.81,0,0,0,0,0,0,0.81,0.81,0,0,0,0,0,1.62,0,0,0,0,0,0.81,0,1.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0.143,0,0.143,0,0,1.055,2,19,0 +0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,0.7,0,1.4,0,1.4,0,0,0,0,0,0.7,0,0,0,0.7,0,0,0,0,0,0,0,0,2.11,0,0,0,0,0,0,0,0,0,0.267,0.066,0,0,0,17.952,200,377,0 +0,0,0.61,0,0,0,0,0,0,0,0,1.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.61,0,0.079,0.158,0,0,0,0,2.508,17,143,0 +0.78,0,0,0,0.39,0,0,0,0,0.39,0,0,0,0,0,0,0,0,0.78,0,0.39,0,0,0.39,0,0,0.39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.39,0,0,0,0,0.073,0.146,0,0,0,0,1.354,8,42,0 +0,0,0,0,0,0,0,0,0,0,0,0,2.94,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6,5,16,0 +0.22,0,0.07,0,0.07,0.07,0,0.14,0,0.36,0,0.51,0.44,0.07,0,0,0.29,0.07,0.07,0,0.07,0,0,0,1.99,0,0,0,0.29,0.29,0,0,0,0,0,0.14,0.07,0.07,0,0,0,0,0,0,0,0,0,0,0.041,0.031,0,0.031,0,0,1.912,22,568,0 +0,0,0,0,0,0,0,0,0,0,0,0.91,0,0,0,0,0,0.22,0,0,0,0,0,0,0.22,0.22,0,0.45,0,0,0,0,0,0,0.22,0,0,0,0,0,0,0,0,0.22,0,0,0,0.22,0,0.154,0,0,0,0,1.768,15,122,0 +0,0.33,0,0,0.33,0,0,0,0,0,0,0.33,0,0,0,0,0,0.33,0,0,0,0,0,0,0.33,0.33,0,0.67,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0.33,0,0,0,0.33,0,0.088,0,0,0,0,1.87,15,116,0 +0.49,0,0,0,0.49,0.49,0,0.49,0,0,0,0.49,0.99,0,0,0,0,0,0.49,0,0,0,0,0,2.48,0.99,0,0,0.99,0.99,0,0,0,0,0,0.49,0.49,0,0,0,0,0,0,0,0,0,0,0.49,0,0.145,0,0,0,0,1.641,10,87,0 +0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0,0,1.28,0,1.28,0,0,0,0.85,0.42,1.7,0.42,0.42,0.42,0.42,0.42,0,0.42,0.42,0.42,0.85,0,0.42,0.42,1.7,0,0.42,0,0.42,1.28,0,0,0,0.204,0.068,0,0,0,2.108,15,97,0 +0,0,0.51,0,1.54,0,0,0,0.25,0,0,1.28,0,0,0,0,0,0,0,0,0,0,0,0,0.77,0.25,0,0,1.03,1.8,0,0,0,0,0,0,0.25,0.25,0,0,0,0,0,0,0.25,0,0,0,0,0.039,0,0,0,0,1.767,7,99,0 +0,0,0,0,0.5,0,0,0,0,0.5,0,1.01,0,0,0,0,0,0,2.53,0,1.01,0,0,0,1.52,1.01,1.52,0.5,0.5,0.5,0.5,1.01,0,1.01,0.5,0.5,0.5,0,0.5,0.5,0,0,0.5,0,1.01,0,0,0,0.09,0.272,0.09,0,0,0,1.836,13,101,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.78,0,0.89,0,0,0,0,0,2.67,0,0,0,0,0,0,0,0,0,0.89,0,0,0,0.89,0,0,0,0,0.89,0,0,0,0.15,0,0,0,0,1.85,15,37,0 +0,0,0,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,4.91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.769,5,46,0 +0,0,0,0,0,0,0,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.709,0,0.709,0,0,2.3,9,23,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.52,4.76,4.76,4.76,4.76,4.76,4.76,4.76,0,4.76,4.76,4.76,0,0,0,4.76,0,0,0,0,0,0,0,0,0,1.257,0,0,0,0,3.333,11,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0.602,4.7,23,47,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.63,4.91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.48,6,37,0 +0,0,0,0,0,0,2.22,2.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.665,0,0,0.665,0,4.571,25,64,0 +0,0,0,0,0,0,2.22,2.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.665,0,0,0.665,0,4.571,25,64,0 +0,0,0.33,0,0,0.49,0,1.32,0.16,5.12,0,0,0,0.66,0,0,0.33,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0.16,0,0,0,0.33,0,0,0,0.07,0.023,0,0,0.023,1.552,10,149,0 +0,0,0,0,1.06,0,0,0,0,0,0,1.06,0,0,0,0,0,0,1.06,0,1.06,0,0,0,1.06,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.19,0,0,0,0,0,0.181,0,0,0,0,1.4,4,28,0 +0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0.88,0,0.88,0,0,0,1.32,0.88,0.88,0.88,0.44,0.44,0.44,0.44,0,0.44,0.88,0.44,0,0,0,0.44,0,0,0,0,0.44,0,0,0,0,0.207,0,0,0,0.207,2.588,40,132,0 +0,0,0,0,0,0,0,0,0,0,0,0.51,0,0,0,0,0,0,1.03,0,0.51,0,0,0,1.54,1.03,1.54,1.03,0.51,0.51,0.51,0.51,0,0.51,1.03,0.51,0,0,0,0.51,0,0,0,0,0.51,0,0,0,0,0.24,0,0,0,0.48,2.6,40,130,0 +0,0,0,0,0,0,0,0,0,0,0,0.91,0,0,0,0,0,0.91,0.91,0,0.45,0,0,0,2.73,3.19,0.91,0.45,0,0,0,0,0,0,0.45,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0.075,0.151,0,0,0,0,2.158,20,136,0 +0.05,0,0.31,0,0,0.05,0,0.05,0.47,0,0,0.15,0,0,0,0,0.26,0.05,0.21,0,0.15,0,0,0,0.79,0.85,0.05,0,0,0,0,0,0.47,0,0,0,0.85,0,0,0,0,0,0,0,0,0,0,0,0.112,0.202,0.067,0,0.014,0,3.117,52,1303,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7,0,0,0,0,0,0.35,0.35,0,0.7,0.35,0.35,0,0,0,0,0.35,0,0,0,0.7,0,0,0,0,0.35,0,0,0,0,0,0,0,0,0,0,1.506,11,113,0 +0.23,0,0.23,0,0.69,0,0,0,0,0,0,1.39,0,0,0,0,0,0,0.23,0,0,0,0,0,0.23,0.23,0,0,0,0,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0.23,0,0,0,0,0,0.067,0,0,0,0,1.433,9,86,0 +0.23,0,0,0,0.23,0.23,0,0,0,0,0,0.23,0,0,0,0.23,0,0,0.47,0,0,0,0,0,0.47,0.23,0,0,0,0.47,0.23,0,0.47,0,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0,0.106,0.106,0,0,0,0,1.588,8,143,0 +0,0,0,0,0,0,0,0,0,1.31,0,1.31,0,0,0,0,0,0,6.57,0,0,0,0,0,2.63,1.31,2.63,1.31,1.31,1.31,1.31,1.31,0,1.31,1.31,1.31,1.31,0,0,1.31,0,0,1.31,0,1.31,0,0,0,0,0.649,0,0,0,0,2.214,13,62,0 +0.05,0,0.05,0,0.05,0.05,0,0,0.5,0,0,0.16,0,0.05,0,0,0,0.05,0.22,0,0.16,0,0,0,0.62,0.67,0.05,0,0,0,0,0,0.45,0,0,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0.185,0.233,0,0,0.016,0,2.972,46,963,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,0,0,0,0.719,0,0,0,0,1,1,4,0 +0.13,0.4,0,0,0,0,0,0,0,0.53,0,0,0,0,0,0,0.13,0,0.8,0,0.53,0,0,0,0,0,0,0,0,0,0,0,0,0.13,0,0,1.2,0,0,0,0,0,0,0,0,0.53,0,0.13,0,0.25,0,0.014,0.427,0.044,5.473,143,1538,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.909,0,0,0,0,1,1,1,0 +0.1,0,0.1,0,0.1,0,0,0,0.94,0,0,0.31,0,0,0,0,0,0,0.41,0,0.2,0,0,0,0.52,0.62,0.1,0,0,0,0,0,1.15,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0.132,0.251,0.029,0,0.029,0,2.784,32,490,0 +0.11,0,0.22,0,0,0.11,0,0,1.01,0,0,0.33,0,0,0,0,0,0,0.44,0,0.22,0,0,0,0.78,0.67,0.11,0,0,0,0,0,0.56,0,0,0,0.22,0,0,0,0,0,0,0,0,0,0,0,0.171,0.233,0.031,0,0.031,0,3.189,32,571,0 +0,0,0.09,0,0,0,0,0.09,0,0,0.09,1.49,0.27,0.09,0,0,0.37,0,0,0.09,0,0,0,0,2.51,0,0,0,0.09,0.27,0,0,0,0,0,0.37,0.18,0,0,0,0,0,0,0.09,0,0,0,0,0,0.106,0,0,0,0,2.277,27,558,0 +0.02,0,0.1,0,0.05,0.05,0,0.13,0.3,0,0,0.13,0,0,0,0,0,0.02,0.1,0,0.08,0,0,0,0.46,0.49,0.02,0,0,0,0,0,0.27,0,0,0,0.41,0,0.13,0,0,0,0,0,0,0,0,0,0.166,0.158,0.047,0,0.007,0,2.984,52,1758,0 +0,0,1.06,0,0,0,0,0,0,0,0,1.06,0,0,0,0,0,1.06,0,0,0,0,0,0,2.12,1.06,0,1.06,0,1.06,1.06,0,1.06,0,1.06,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0.121,0,0,0,0,2.151,10,71,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.88,0,0,0,0,0.35,0,0,0,0,1.461,6,19,0 +0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0.74,0,0,2.166,7,26,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0.26,0,0.26,0.13,0,0,0,0,0,0.52,0,0,0,0,0.39,0,1.05,0,1.05,0,0,0,0.39,0,0,0,0,0,0,0,0,0,0,0.13,0,0,0,0,0,0,0,0,0,0,0,0,0.017,0.089,0.017,0.035,0.053,0.053,5.189,107,685,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14.28,0,0,0,0,0,0,0,0,0,1.25,2,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,2.94,0,2.94,0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,1,1,10,0 +0,0,0.48,0,2.18,0,0,0,0.48,0,0,1.69,0,0,0,0,0.24,0,0.48,0,0.48,0,0,0,1.69,0.24,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0,0.24,0,0,0,0,0.036,0,0,0,0,2.364,73,227,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.06,3.03,3.03,3.03,3.03,3.03,3.03,3.03,0,3.03,3.03,3.03,0,0,0,3.03,0,0,0,0,0,0,0,0,0,0.9,0,0,0,0,2.75,11,33,0 +0,0,0.95,0,0.31,0,0,0,0,0,0,0.31,0,0,0,0,0,0,1.26,0,0,0,0,0,0.63,0.95,0,0,0,0,0,0,0,0,0,0.31,0.31,0,0.31,0,0,0,0.31,0,0,0,0,0,0.048,0.339,0,0.048,0,0,1.99,14,215,0 +0,0,0,0,0,0,0,1,0,0,0,0.5,0,0,0,0,0,0,0,0,0,0,0,0,2,0.5,0,0.5,0.5,1,0,0,0,0,0.5,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,2.017,13,117,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.888,5,17,0 +0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.505,0,0,2.375,4,19,0 +0,0,0,0,0,0,0,0,0.83,1.66,0,0,0,0,0,0,0,0,0.83,0,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,0.118,0,0,0,0,1.475,11,59,0 +0,0,0.57,0,0.85,0,0,0,0.28,0,0.57,0.28,0,0,0,0.85,0,0.57,1.42,0,0.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0.282,0.242,0,2.46,26,278,0 +0.71,0.14,0.42,0,1,0.14,0.14,0,0,3,0.14,0.85,0,0,0,0,0,0.28,0.85,0,0.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0,0,0,0,0,0,0,0,0,0.022,0,0,0,0.022,1.931,9,168,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4,3,7,0 +0,0,0,0,0,0,0,0,5.26,0,0,0,0,0,0,0,2.63,0,2.63,0,5.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.058,11,35,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,4,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,0,0,0,0,1.806,11,56,0 +0,0,0,0,0,0,0,1.08,0,0,0,1.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0,0,0,0.54,0.54,0,0,0,0,0,0,0,0,0,0.54,0,0.166,0,0.083,0,0,1.528,13,81,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,2.41,0,0.8,0,0,0,0,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0.8,0,0,0,0,0.45,0,0,0,0,1.2,4,30,0 +0,0,0,0,0.27,0,0,0.55,0,0.55,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,6.64,4.15,0.83,0.27,1.66,0.27,0.27,0.27,0,0.27,0.27,0.27,1.38,0,0,0.27,0,0.27,0.27,0,0.55,0,0,0,0.183,0.549,0.137,0,0,0,4.257,57,430,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.543,0,0.271,0,0,3,18,72,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0.28,0,0,0,1.43,1.15,0.86,0.28,0.28,0.28,0.28,0.28,0.14,0.28,0.28,0.28,0.28,0,0.14,0.28,0,0,0.43,0,0.57,0.28,0,0,0.023,0.324,0.046,0,0,0,2.24,12,372,0 +0,0,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0,0,0,0,6.79,3.88,0.97,0.97,0.97,0.97,0.97,0.97,0,0.97,0.97,0.97,0.97,0,0,0.97,0,0,0.97,0,1.94,0,0,0,0,0.299,0.149,0,0,0,2.666,13,72,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.35,0,1.35,0,1.35,0,1.35,0,1.35,1.35,0,0,0.205,0,0.205,0,0,0,1.722,12,31,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.666,5,20,0 +0,0,1.19,0,0,0,0,0,0,0,0,2.38,0,0,0,1.19,0,0,2.38,0,0,0,0,0,0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.19,0,0,0,0,0,0,0.2,0.4,0,0.2,0,0,1.461,4,19,0 +0,0,0,0,1.81,0,0,0,0,1.81,0,0,1.81,0,0,0,0,0,0,0,0,0,0,0,1.81,1.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3,3,13,0 +0,0,0,0,0,0,0,0,0,0.45,0,0.45,0,0,0,0,0,0,0.9,0,0,0,0,0,0,0.45,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.082,0.165,0,0,0,0,1.666,4,40,0 +0,0,0.26,0,0.53,0,0,0,0,0,0,0.26,0,0,0,0,0.26,0,0,0,0,0,0,0,1.61,0.8,0,0,0.53,0.8,0,0,0,0,0,0.8,0.26,0,0,0,0,0,0,0,0.26,0,0,0,0.128,0.042,0,0,0,0,1.635,6,139,0 +0,0,0.32,0,0,0.16,0,0,0,0,0,0.64,0,0,0,0,0.48,0,0.96,0,0.96,0,0,0,0.48,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0,0,0,0.021,0.105,0,0.021,0.063,0.063,3.789,39,432,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.24,0,0,0,1.93,1.69,0.72,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0,0,0.24,0,0,0.24,0,0.24,0.48,0,0,0,0.148,0.074,0,0,0,2.386,12,210,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.97,1.72,0.49,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0.24,0,0,0.24,0,0,0.24,0,0.24,0.49,0,0,0,0.15,0.075,0.037,0,0,2.367,12,206,0 +0,0,0.09,0,0,0.09,0,0.27,0,0,0.18,1.49,0.09,0.09,0,0,0.46,0,0,1.49,0,0,0.09,0,2.42,0,0,0,0,0,0,0,0,0,0,0.09,0.18,0,0,0,0,0,0,0,0,0,0,0,0.066,0.118,0,0,0.066,0,2.156,26,552,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.56,2.56,2.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.56,0,0,0,0,0,0,0,0,0,1.5,4,24,0 +0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.73,2.73,1.36,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.541,7,37,0 +0,0,0,0,0,0,0,0,0,1.25,0,1.25,0,0,0,0,0,0,6.25,0,0,0,0,0,0,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.246,0,0,0,0,1.076,2,14,0 +0,0.08,0.17,0,0,0.08,0,0.34,0,0.17,0.08,0.34,0,0,0,0,0.87,0,0.26,0,0,0,0,0,2.79,0.69,0,0.08,0,0,0,0,2.35,0,0,0.26,0.78,0,0.17,0,0,0,0,0,0,0,0,0,0.133,0.306,0.053,0,0.013,0,3.205,57,904,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.625,9,26,0 +0,0,0,0,0,0,0,0,0,4.54,0,4.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.51,0,0,0,0,0,0,1.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.286,0,0,0,0,2.277,12,41,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,5,18,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.545,4,17,0 +0.35,0,0.35,0,0.71,0,0,0,0,0,0,0.35,0,0,0,0,0,0,0.35,0,0.17,0,0,0,0.53,0.35,0.53,0.17,0.17,0.17,0.17,0.17,0.35,0.17,0.17,0.17,0,0,0,0.17,0,0.71,0.17,0.17,0.35,0,0,0,0.123,0.309,0.03,0,0,0,2.241,13,204,0 +0,0.13,0.55,0,0.27,0.13,0,0,0,0.27,0,1.38,0,0,0,0.13,0,0,1.94,0,0.97,0,0,0,0.13,1.11,0,0,0,0,0,0,0,0,0,0,0.55,0,0,0,0,0,0.13,0,0,0,0,0,0.075,0.025,0,0.025,0,0,5.695,82,598,0 +0,0,0.48,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0,0,0,0,0.48,0,1.44,1.93,0,0,1.44,1.44,0,0,0,0,0,0,1.44,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0,0.119,0.059,0,6.145,115,338,0 +0,0,0.24,0,0.09,0.04,0,0,0.04,0,0.04,0.69,0,0,0,0.14,0.19,0,0.69,0,0.64,0,0,0,2.04,1.09,0,0.04,0,0.19,0.14,0,0.04,0,0.29,0.09,0.34,0,0,0,0,0,0,0,0.04,0,0,0,0.014,0.148,0,0.014,0.044,0.007,2.112,26,1223,0 +0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0,0,1.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.92,0,1.92,0,1.92,0,1.92,0,1.92,1.92,0,0,0.394,0.098,0.295,0,0,0,1.813,13,107,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.09,7,23,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.94,0,1.94,0,1.94,0,1.94,0,1.94,1.94,0,0,0.147,0.147,0.294,0,0,0,1.789,12,68,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.72,0,1.72,0,1.72,0,1.72,0,1.72,1.72,0,0,0,0,0.265,0,0,0,1.65,12,33,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.09,7,23,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0.687,0,0,0,0,1.888,9,17,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.777,0,0,0,2,4,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.777,0,0,0,2,4,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,4.16,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.751,0,0,0,1.428,4,10,0 +0,0,0.08,0,0,0.16,0,0.08,0.08,0,0.08,0.92,0.08,0.08,0,0,0.16,0,0,0,0,0,0,0,3.53,0,0,0,0,0,0,0,0.25,0,0,0,0.08,0,0,0,0,0,0,0.16,0,0,0,0,0.069,0.103,0,0,0.011,0,2.44,18,598,0 +0,0,0,0,2.38,0,0,0,0,0,0,0,0,0,0,0,0,0,2.38,0,2.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,4,15,0 +0,0,0,0,0.84,0,0,0,0,0,0,1.68,0,0,0,0.42,0,0.42,1.68,0,0.42,0,0,0,0,0,0,0,0.84,0,0,0,0,0,0,0,0,0,0,0,0,2.95,0,1.26,0,0,0,0,0.145,0.217,0,0,0,0,1.487,8,61,0 +0,0,0,0,0,0,0,0,0,0.84,0,0.84,0,0,0,0,0,0,4.2,0,0,0,0,0,1.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.119,0,0,0,1.454,9,32,0 +0.08,0.08,0.57,0,0.48,0,0,0.08,0,0,0,0.81,0.08,0,0.08,0,0.81,0,0.65,0,0.4,0,0,0,1.38,0,0,0,0,0,0.16,0,0.16,0,0.08,0,0.08,0,0,0.08,0,0.89,0,0.24,0.08,0,0,0.08,0.011,0.034,0,0.057,0.022,0,1.875,65,542,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.66,0,0,0,0,0,0,0,1.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.304,0,0,2.125,9,34,0 +0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,1.78,1.78,0,0,0,0,0,1.78,0,0,1.78,0,0,0,0,1.78,0,1.78,0,1.78,0,0,0,0,0,0,0,0,0,0,0,0,0.319,0,0,0,0,2.391,10,55,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0.86,0,0,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.944,8,35,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.09,7,23,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.85,0,0,0,0,2.85,0,0,0,0,0,0,2.85,0,0,0,0,0.543,0,0,0,0,1,1,10,0 +0,0,0,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0.9,4.5,0,0.9,0,0,0,0,0,0.9,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.318,0,0,0,0,1.772,4,39,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.52,4.76,4.76,4.76,4.76,4.76,4.76,4.76,0,4.76,4.76,4.76,0,0,0,4.76,0,0,0,0,0,0,0,0,0,1.257,0,0,0,0,3.333,11,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.375,6,44,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.03,0,0,0,0,0,2.53,2.53,1.52,0,0,0,0,0,1.01,0,0,0,0.5,0,0.5,0,0,0,0.5,3.04,0.5,0,0,0,0.094,0,0.094,0.094,0,0,1.26,12,63,0 +0,0,0,0,0,0,0,0,0,1.2,0,2.4,0,0,0,0,0,0,4.81,0,1.2,0,0,0,0,0,1.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,0,0,0,0,0,0,0.227,0,0,0,0,1.062,2,17,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.09,0,0,0,0,0,1.03,1.03,2.06,0,0,0,0,0,1.03,0,0,0,0,0,0,0,0,0,0,3.09,0,0,0,0,0,0,0,0.193,0,0,1,1,23,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,0,1.2,0,0,0,0,0,1.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.237,0,0,2.583,8,62,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.73,0.86,3.47,0.86,0.86,0.86,0.86,0.86,0,0.86,0.86,0.86,1.73,0,1.73,0.86,0,0,1.73,0,1.73,0,0,0,0,0.289,0,0,0,0,1.978,12,91,0 +0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0.645,0,0,0,0,1,1,9,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.66,0,0,0,0,0,1.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.837,0,0,0,0,3.789,10,72,0 +0.23,0.23,0,0,0.23,0.23,0,0.47,0.23,0.23,0.23,0.23,0,0,0,0.23,0,0,2.87,0,1.91,0,0.23,0.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.23,0,0,0,0,0,0,0.37,0.205,0.041,2.281,24,146,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,7,0 +0.11,0,0.11,0,0.34,0.22,0,0,1.02,0,0,0.45,0.11,0,0,0,0,0,0.45,0,0.22,0,0,0,0.68,0.79,0.11,0,0,0,0,0,0.34,0,0,0.11,0.22,0,0,0,0,0,0,0,0,0,0,0,0.096,0.192,0.08,0,0.032,0,2.829,32,549,0 +0.11,0,0.11,0,0,0,0,0,1.15,0,0,0.34,0,0,0,0,0,0,0.46,0,0.23,0,0,0,0.57,0.69,0.11,0,0,0,0,0,0.34,0,0,0.11,0,0,0,0,0,0,0,0,0,0,0,0,0.047,0.159,0.031,0,0.031,0,3.196,32,505,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,12,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.272,3,14,0 +1.19,0,0.59,0,0,0,0,0,0,0,0,1.19,0,0,0,0,0,0,2.97,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.102,0,0,1.52,7,38,0 +0.08,0,0.08,0,0,0,0,0,0.79,0,0,0.26,0,0,0,0,0,0.08,0.35,0,0.26,0,0,0,0.88,0.97,0.08,0,0,0,0,0,0.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.149,0.162,0.049,0,0.024,0,2.9,40,673,0 +0.05,0,0.05,0,0.3,0,0,0,0.51,0,0,0.15,0,0,0,0,0,0.05,0.2,0,0.15,0,0,0,0.67,0.72,0.05,0,0,0,0,0,0.2,0,0,0,0.46,0,0,0,0,0,0,0.1,0,0,0,0,0.209,0.158,0.05,0,0.014,0,3.764,85,1423,0 +0.17,0.08,0.08,0,0.17,0.08,0,0,0.76,0,0,0.25,0,0,0,0.08,0,0.08,0.34,0,0.25,0,0,0,0.76,0.85,0.08,0,0,0,0,0,0.34,0,0,0,0.68,0,0,0,0,0,0,0,0,0,0,0,0.157,0.205,0.036,0,0.024,0,2.883,47,715,0 +0,0,1.16,0,0,0,0,0,0,0,0.58,4.09,0,0,0,0,0,0,0,0,0,0,0,0,1.16,0,0,0,0,0,0,0,0,0,0,0.58,0,0,1.16,0,0,0,0,0,0,0,0,0,0.091,0,0,0,0,0,1.21,4,46,0 +0,0.15,0.07,0,0.23,0,0,0.07,0.07,0.07,0,1.48,0.15,0.23,0,0.07,1.01,0,0.15,0.07,0,0,0.15,0.07,3.11,0,0,0,0,0,0,0,0.15,0,0,0,0.15,0,0,0,0,0.46,0,0,0.23,0,0,0,0.185,0.098,0,0,0.043,0,2.013,24,576,0 +0,0,0,0,0,0,0,0,0,0,0,5.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.098,0,0,2.142,9,15,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.08,0,0,0,0,0,0,0,0,0,0,2.08,2.08,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0.173,0,0,1.777,6,48,0 +0,0,0,0,0.74,0,0,0,0,1.49,0,0,0,0,0,0,0,0,1.49,0,0.74,0,0,0,2.98,2.23,1.49,2.23,0.74,0.74,1.49,0.74,0,0.74,0.74,1.49,0.74,0,0,0.74,0,0,0.74,0,0.74,0,0,0,0,0.557,0.111,0,0,0,2.607,12,133,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.75,8,19,0 +1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.26,0,1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.178,0,0,1.272,3,14,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.55,2.77,2.77,2.77,0,2.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.857,11,26,0 +0,0.13,0.52,0,0,0.13,0,0.79,0,0,0,0.13,0,0,0,0.13,0,0,0.26,0,0.39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.13,0,0,0,0,0,0,0.02,0.061,0,0.04,0.04,0,1.823,26,372,0 +0,0,0,0,0,0,0,0,0,0.8,0,1.07,0,0,0,0.26,0,0,1.07,0,1.88,0,0,0,2.15,1.61,1.07,0.26,0.26,0.26,0.26,0.26,0,0.26,0.26,0.26,0.53,0,0,0.26,0,0,0.53,0.53,0.53,0,0,0,0.174,0.437,0,0.043,0,0,2.879,19,262,0 +0,0,0.36,0,0.36,0.72,0,0,0,0,0,1.09,0,0,0,0,0.36,0,0.36,0,0.72,0,0,0,1.09,1.09,0,0,0,0.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.114,0.114,0,0,0,0,2.075,7,110,0 +0.68,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0.34,0.34,0.68,0.34,0,0.34,0,0,0,0,0.34,0,0,0,0.34,0,0.34,0,0,0,1.02,0.34,0,0,0,0.172,0,0.387,0,0,1.5,15,84,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0.86,0,0,0,6.03,3.44,0.86,0.43,0.43,0.43,0.43,0.43,0,0.43,0.43,0.43,0.86,0,0.43,0.43,0,0,0.43,0,0.43,0,0,0,0,0.13,0.065,0.065,0,1.043,2.983,40,179,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,4,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.391,0,0,1.333,4,20,0 +0,0,0,0,0,0,1.23,0,0,0,0,1.23,0,0,0,0,1.23,0,0,0,0,0,0,0,2.46,0,0,0,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.403,0,0,2.045,6,45,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0.628,0,0,0,0,1.5,5,15,0 +0,0,0,0,0,0,0,0,0,0,0,1.41,0,0,0,0,0.7,0,1.41,0,1.41,0,0,0,0,0,0.7,0,0,0,0.7,0,0,0,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,0,0.267,0.066,0,0,0,17.857,199,375,0 +0,0.07,0.15,0,0.12,0.02,0,0.02,0,0.12,0,0.3,0.12,0,0,0.02,0.17,0.12,0.22,0.02,0.12,0,0,0,0,0,0,0,0,0,0,0,2.16,0,0,0.15,0.68,0,0,0.02,0.1,0.02,0.02,0.02,0,0.33,0,0.43,0.037,0.225,0.007,0.015,0.041,0.003,2.198,25,2458,0 +1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.23,0,0.61,3.7,0,2.46,0,0,0,0,0,1.23,0,0.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.61,0,0.226,0,0,0,0,1.3,3,26,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.166,2,7,0 +0,0,0,0,1.54,0,0,0.51,0,0.51,0,0.51,0.51,0,0,0.51,0,0,1.54,0,1.03,0,0,0,0.51,0.51,1.54,0.51,0,0.51,0,0,0,0,0.51,0,0.51,0,0,0,0.51,0,0,0,0,0.51,0,0,0,0.158,0,0.079,0,0,1.711,15,77,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.166,2,7,0 +1.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.75,0,1.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.75,0,0,0,0,0.317,0,0,0,0,1.125,2,9,0 +0,0,0,0,0,0,0,0,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13.04,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.407,3.555,19,96,0 +0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,3.7,0,0,0,0,0,0,3.7,0,0,0,0,3.7,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.466,6,22,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,1.05,0,0,0,0,0,0,0,0,0,0,0,0,0,1.05,0,0,0,0,0,0,0,1.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.181,0,0,2,7,22,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.319,0,0,0,0,2.636,9,29,0 +0,0,0,0,0.22,0.22,0,0,0,0.45,0,0.9,0,0,0,0,0,0,0.67,0,0.22,0,0,0,0.67,0,0,0.67,0,0,0.45,0,0,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.024,0,4.223,157,359,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.166,2,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.166,2,7,0 +0,0,0,0,0,0.49,0,0.49,0,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0,0,0,0,0.49,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0.228,0,0,0,0,1.962,5,106,0 +0,0,0.32,0,0.32,0,0,0,0,0,0,0.64,0,0,0,0,0,0,0.32,0,0,0,0,0,0.64,0.64,0,0,0,0,0,0,0,0,0,0.32,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0.04,0,0,0,0,1.902,10,175,0 +0,0,2.5,0,0,0,0,0,0,0,0,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,1,1,15,0 +0,0,0,0,0,0,0,0,0,0,0,5.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.961,0,0,2.333,9,14,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.431,0,0,0,0,2.733,7,41,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.96,0,0,0,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.613,0.306,0,0,0,1.611,7,29,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,1.19,0,0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.178,21,61,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.12,2.56,2.56,2.56,2.56,2.56,2.56,2.56,0,2.56,2.56,2.56,0,0,0,2.56,0,0,0,0,0,0,0,0,0,0.881,0,0,0,0,2.5,11,40,0 +0.77,0,0,0,0.25,0,0,0,0,0,0,1.28,0,0,0,0,0,0,2.05,0,2.31,0,0,0,0.25,2.57,0,0,0.51,0,0,0,0,0,0,0,0.25,0,0,0,0,0,0,0,0,0,0,0,0,0.117,0,0.039,0,0,4.016,45,237,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.45,0,0,0,0,0,0.72,6.56,0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.124,0,0,2.361,30,85,0 +0.07,0,0.22,0,0.03,0.07,0,0,0.03,0.22,0,0.71,0.03,0,0,0.03,0,0,0.9,0,0.56,0,0,0,1.58,0.26,0,0.11,0.11,0.11,0.18,0,0.03,0,0.22,0.07,0.18,0,0,0.03,0,0,0,0,0,0,0,0.03,0.028,0.078,0,0.028,0.016,0,1.765,20,1356,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0,0.719,0,1.25,2,10,0 +0,0,0.34,0,0.34,0,0,0,0.34,0,0,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.78,0,0,0,0,0,0,0,0,0,0,1.583,6,95,0 +0.89,0,0,0,1.49,0.29,0,0,0,0,0,1.19,0,0,0,0,0,0,0.89,0,0.89,0,0,0,0,0,0.29,0,0,0,0,0,0.29,0,0,0,0,0,0.29,0,0,0.59,0,0.59,0,0,0,0,0.325,0.162,0,0,0,0,1.583,9,76,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0,0.724,0,1.25,2,10,0 +0,0,0,0,0,0,0,0,0,0,0,3.72,0,0,0,0,0,0,3.1,0,0,0,0,0,0.62,0,0,0,1.24,0,0,0,0,0,0,0,0,0,0,0,0,1.24,0,0,0,0,0,0,0,0.11,0,0,0,0,1.47,8,50,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.23,4,16,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,1.07,0,0,0,0,0.35,0,1.43,0,0,0,3.95,0.71,0,0,0,0,0,0,0,0,0.71,0,0.35,0,0,0,0,0,0.35,0,0.35,0,0,0,0,0.113,0.113,0.056,0,0,2.969,16,193,0 +0,0,0,0,0,0,0,0,0,1.37,0,2.75,0,0,0.68,0,0,0,0,0,0,0,0,0,2.06,2.06,1.37,0,0.68,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,1.37,0,0,0,0,0,0.235,0,0,0,0,1.531,11,49,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.66,0,1.88,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.22,0,0,0,0,2.15,8,43,0 +0,0,0.25,0,0.12,0.12,0,0.12,0.25,0,0.12,1.14,0.25,0,0,0,0.25,0,0,0,0,0,0.25,0,3.04,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0.017,0,2.444,24,418,0 +2,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,2,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.888,29,53,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.56,0,0,0,0,0.465,0,0,0,0,1.769,6,23,0 +0,0,0,0,0,0,0,0,0,0,0,0.9,0,0,0,0,0,0.9,0.9,0,0,0,0,0,0.9,0.9,0,0,0.9,0,0.9,0,0.9,0,0,0.9,0,0,0,0,0,0.9,0,0,0,0,0,0,0,0.471,0,0,0,0,1.424,8,47,0 +0,0,0,0,0,0,0,0,0,0.58,0,2.33,0,0,0,0.58,0,0,1.75,0,3.5,0,0,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0.195,0,0.097,0,0,2.157,11,41,0 +0,0,0.2,0,0,0,0,0,0.2,0.41,0,0,0,0,0,0,0,0,1.45,0,0.2,0,0,0,0,0.2,0.2,0,0.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.45,0,0,0,0,0,0.329,0,0.109,0,0.365,1.187,11,114,0 +0,1.16,0,0,0,0,0,1.16,0,1.16,0,0,0,0,0,0,0,0,0,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.16,0,0,0,0,0,0,0,0,0,1.25,3,20,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.34,0,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.06,0,0,0,0,2.426,76,199,0 +0.23,0,0,0,0.23,0.23,0,0,0,0,0,0.23,0,0,0,0.23,0,0,0.47,0,0,0,0,0,0.47,0.23,0,0,0,0.47,0.23,0,0.47,0,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0,0.107,0.107,0,0,0,0,1.595,8,142,0 +0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0.684,0,0,0,0,1,1,8,0 +0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,1.5,4,18,0 +0,0,0,0,0,0,0,0,0,0,0,0.46,0.46,0,0,0,0,0,1.38,0,0.46,0,0,0,0.46,0,0,0,0,0,0,0,0,0,0,0,0.92,0,1.38,0,0.92,0.46,1.38,0,1.38,0.92,0,0,0.149,0.074,0.149,0,0,0,1.76,12,132,0 +0,0,0.8,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0,0,4.8,0,1.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0,0,0,0,0,0,1,1,11,0 +0,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.854,0,0,0,0,1.823,8,31,0 +0,0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,1.4,2.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.125,2,9,0 +0.21,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0,2.11,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.084,0,0.028,0.084,0.084,4.11,62,411,0 +0,0,0,0,0,0,0,0,0.68,0,0.68,0,0,0,0,0.68,0,2.04,4.08,0,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.523,0,0,1.218,5,39,0 +0.11,0,0.22,0,0.55,0,0,0,0,0,0,0.55,0,0,0,0.11,0.11,0,1.22,0,0,0,0,0,1.22,0.44,0,0,0,0.11,0,0,1.89,0,0,0,0,1.22,0.11,0,0,0,0,0,0.22,0,0,0.11,0.052,0.156,0.034,0.017,0,0.052,3.061,38,600,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.35,0,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.06,0,0,0,0,2.444,76,198,0 +0.75,0,0,0,0,0,0.37,0,0,0.37,0,0,0,0,0,0,0.75,0,3.75,0,3.38,0,0,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.099,0.597,0,0,0,2.125,13,85,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.72,3.44,0,0,0,0,0,0,0,0,0,0,1.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.611,7,29,0 +0,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,2.7,0,2.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.444,0,0,2.8,7,28,0 +0,0,0,0,0,0.67,0,0.67,0,0,0,2.02,0,0,0,0,0,0,0,0,0,0,0,0,2.02,1.35,0,1.35,0,0,0,0,0,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.205,0,0,0,0,2.84,24,142,0 +0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,9.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,1.5,4,9,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,0,0,0,0,0,0,0,0,1.714,6,12,0 +0,0,0,0,0,1.03,0,2.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.144,0.072,0,0,0,1.523,11,64,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.5,2.63,3.5,2.63,1.75,1.75,0.87,0.87,0,0.87,1.75,0.87,0.87,0,2.63,0.87,0,0,0.87,0,1.75,0,0,0,0,0.49,0.122,0.122,0,0,2.203,12,130,0 +0.06,0,0.4,0,0.13,0.13,0,0.13,0,0,0,1.4,0.2,0.06,0,0,0.2,0,0.06,0,0,0,0,0,2.54,0,0,0,0,0,0,0,0,0,0,0.06,0.06,0,0,0,0,0,0,0,0.06,0,0,0,0.028,0.085,0,0,0,0,2.341,22,665,0 +0,0,0,0,0,0,0,0,0,0,0,1.02,0,0,0,0,0,1.02,2.04,0,0,0,0,0,2.04,1.02,0,0,0,0,0,0,0,0,0,0,0,0,1.02,0,0,0,0,0,0,0,0,0,0,0.188,0,0,0,0,3.9,13,78,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8,12,28,0 +0.26,0.26,0,0,0.52,0.26,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.83,1.57,0,0,0.26,0,0.26,0,0,0,0.26,0.26,0.26,0,0,0,0,0,0.52,0,0,0,0,0,0.065,0,0.032,0,0,0,1.455,12,115,0 +0.13,0,0.26,0,0.65,0,0,0,0,0,0,0.52,0,0,0,0.13,0.13,0,1.18,0,0,0,0,0,0.52,0.26,0,0,0,0.13,0,0,2.1,0,0,0,0,1.44,0.13,0,0,0,0,0,0.26,0,0,0.13,0,0.188,0.041,0,0,0.062,2.876,38,420,0 +0,0,0,0,0,0,0,0,0,0,0,3.63,0,0,0,0,0,0,0,0,0,0,0,0,0.9,3.63,0,0,0,0,0,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.153,0,0,1.933,7,58,0 +0,0,0,0,0,0,0,0,0,0,0,6.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.645,0,0,1.666,7,15,0 +1.17,3.52,0,0,0,0,0,0,0,1.17,0,1.17,0,0,0,0,0,3.52,2.35,0,3.52,0,0,0,3.52,2.35,0,0,0,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0,0,0,0,0,0,0,0.414,0,0,1,1,14,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,1.4,3,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0,2.4,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,1.6,0,0.8,0.8,1.6,0,1.6,0.8,0,0,0.128,0,0.128,0,0,0,1.596,12,83,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.25,0,0,0,0,0,0,0,6.25,0,0,0,0,0,6.25,0,0,0,0,0,0,0,0,0,0,0,6.25,0,0,0,0,0,0,0,0,0,1.285,3,9,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11.11,0,0,0,0,0,11.11,0,0,0,0,1.492,0,0,0,0,1.571,4,11,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.25,2,5,0 +0,0,0.44,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,1.76,1.76,0,0,0,0,0,0,0,0,0,0,0.88,0,0.88,0,0,0,0.44,0,0,0,0,0.44,0,0,0.061,0,0,0,1.949,17,230,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.25,0,0,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,0,1.142,2,8,0 +3.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,3.03,0,0,0,0,0.609,0,0,0,0,1.181,3,13,0 +0,0,0,0,0,0,0,0,0,0,0,1.69,0,0,0,0,0.42,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0,0,0,0.84,0,0,0,0,0,0.061,0,0,0,0,2.288,11,103,0 +0,0,0.32,0,0,0,0,0,0.32,0,0,1.3,0,0,0,0,0,0,0.97,0,0.32,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0,0,0.32,0,0.32,0,0.65,0,0.32,0.32,0,1.3,0,0,0.047,0.094,0.047,0,0,0,1.973,17,148,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.88,0,0.47,0,0,0,2.83,2.35,1.88,2.35,1.41,1.41,0.47,0.47,0,0.47,1.41,0.47,0.47,0,0,0.47,0,0,0.47,0,1.41,0,0,0,0,0.144,0.072,0.072,0,0,2,13,168,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.53,0,0,0,0,0,1.26,1.26,1.26,2.53,1.26,1.26,0,0,0,0,1.26,0,0,0,0,0,0,0,0,0,1.26,0,0,0,0,0,0,0.208,0,0,1.758,11,51,0 +0.11,0.11,0.34,0,0.11,0,0,0,1.02,0,0,0.45,0,0,0,0.11,0,0,0.45,0,0.22,0,0,0,0.56,0.68,0.11,0,0,0,0,0,0.34,0,0,0,0.22,0,0,0.11,0,0.11,0,0,0,0,0,0,0.103,0.177,0.029,0,0.029,0,4.296,81,653,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.25,10,17,0 +0,0,0.58,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0.58,0,2.33,0,0,0,0,0,2.33,0,0.58,0,0,0,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0.58,0.58,0,0,0,0,0.203,0,0.407,0.407,0,3.294,17,112,0 +0,0,0,0,0,0,0,0,0,0,0,4.65,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.448,0,0,2,4,28,0 +0,0,0,0,0,0,0.88,0,0,0,0,0.88,0,0,0,0,0,0,0.88,0,0,0,0,0,0,0,0,0,0,0,0,0,1.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.133,0,0,0,0,1.629,9,44,0 +0,0,0,0,0,0,0,0,0,0.63,0,0.63,0,0,0,0,0,0,0,0,0.63,0,0,0,2.54,1.91,1.91,0.63,0.63,0.63,0.63,0.63,0,0.63,0.63,0.63,0.63,0,0.63,0.63,0,0,0.63,0,0.63,0,0,0,0,0.279,0.093,0,0,0,1.981,12,105,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,3.84,3.84,3.84,3.84,3.84,3.84,3.84,0,3.84,3.84,3.84,0,0,0,3.84,0,0,0,0,0,0,0,0,0,1.092,0,0,0,0,2.909,11,32,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.75,4,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0.54,0,0.54,0,0,0,0,0,0,0.54,0,0,0,2.71,1.63,0.54,0.54,0.54,0.54,0.54,0.54,0,0.54,0.54,0.54,0,0,0,0.54,0,0,0,0.54,0.54,0,0,0,0,0.531,0,0,0,0,4.114,35,251,0 +0,0,0,0,0,0,0,0,0,0,0,2.38,0,0,0,0,0,0,2.38,0,0,0,0,0,0,0,2.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.38,0,0,0,0,0,0,0,0,0,1.666,9,25,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.33,0,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0.03,0.06,0,0,0,0,2.481,76,201,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.92,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,0,0,0,1.31,0,0,0,2.63,1.97,1.31,0.65,0.65,0.65,0.65,0.65,0,0.65,0.65,0.65,0,0,0,0.65,0,0,0,0.65,0.65,0,0,0,0,0.507,0,0,0,0,3.041,34,146,0 +0,0,0.32,0,0.32,0,0,0,0,0,0,0.64,0,0,0,0,0,0,0.32,0,0,0,0,0,0.64,0.64,0,0,0,0,0,0,0,0,0,0.32,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0.04,0,0,0,0,1.677,10,156,0 +0,0,0,0,0,0,0,0,0,1.96,0,0,0,0,0,0,0,1.96,1.96,0,0,0,0,0,0,0,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.373,0,0,0,0,1.857,11,26,0 +0,0,0,0,0,0,0,0,0,1.96,0,0,0,0,0,0,0,1.96,1.96,0,0,0,0,0,0,0,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.373,0,0,0,0,1.857,11,26,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,0,0,0,0,0,2.4,1.2,1.2,1.2,1.2,1.2,1.2,1.2,0,1.2,1.2,1.2,0,0,0,1.2,0,0,0,0,1.2,0,0,0,0,0.57,0,0,0,0,2.312,11,37,0 +0,0,0,0,0,0,0,0,0,1.11,0,3.33,0,0,0,0,0,0,1.11,0,0,0,0,0,2.22,1.11,0,0,0,3.33,0,0,0,0,0,1.11,0,0,0,0,0,0,0,0,0,0,0,1.11,0,0.191,0,0,0,0,1.454,7,48,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.343,0,0,0,0,4.226,8,317,0 +0,0,0.33,0,0.66,0,0,0.33,0,1.32,0,0,0,0.33,0,0,0.33,0,1.32,0,0.33,0,0,0,1.98,0.66,0.66,0,0,0,0,0,0.33,0,0,0,0.99,0,0,0,0,0,0.33,0.33,0.33,0,0,0,0.168,0.392,0,0.224,0.336,0,4.115,42,321,0 +0.51,0,0,0,0.17,0.17,0,0,0.34,0.17,0,2.07,0,0,0,0.17,0,0,2.24,0,1.03,0,0,0,0.34,0.69,0.17,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0,0.17,0.34,0,0,0,0,0.466,0.248,0,0,0,0.062,2.926,48,319,0 +0,0.1,0,0,0.1,0.21,0,0.1,0,0,0,1.19,0,0,0,0,0,0,0.1,0,0,0,0,0,0.87,0,0,0,0,0.1,0,0,0.1,0,0,0.43,0,0,0,0,0,0,0,0.1,0,0,0,0,0,0.047,0,0,0.031,0,1.793,12,391,0 +0.09,0,0,0,0,0.09,0,0.28,0,0,0,0.76,0.09,0,0,0,0.38,0,0,0,0,0,0,0,2.66,0,0,0,0,0,0,0,0.38,0,0,0,0.09,0,0,0.47,0,0.09,0,0,0,0,0,0,0.026,0.093,0,0.013,0.12,0,2.658,24,577,0 +0,0,0,0,0,0,0,0,0,0,0,2.89,0,0,0,0.57,0,0,0,0,1.73,0,0,0,2.31,0,0,0,0,3.46,0,0,0,0,0,0,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0.163,0,0,0,0,1.9,12,76,0 +0.3,0.3,0,0,0.6,0.3,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6,0.3,0,0,0.3,0,0.3,0,0,0,0.3,0.3,0,0,0,0,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,1.389,8,82,0 +0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,0.7,0,1.4,0,1.4,0,0,0,0,0,0.7,0,0,0,0.7,0,0,0,0,0,0,0,0,2.11,0,0,0,0,0,0,0,0,0,0.267,0.066,0,0,0,17.952,200,377,0 +0,0,0,0,0,0.24,0,0,0,0,0,0.72,0,0,0,0,0,0,0.24,0,0,0,0,0,2.65,1.2,0,0,0,0,0,0,0.24,0,0,0,0.96,0,0,0,0,0,0,0,0,0.48,0,0.24,0.067,0.371,0.067,0,0,0,3.322,44,319,0 +0.23,0,0.23,0,0.69,0,0,0,0,0,0,1.39,0,0,0,0,0,0,0.23,0,0,0,0,0,0.23,0.23,0,0,0,0,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0.23,0,0,0,0,0,0.068,0,0,0,0,1.483,9,89,0 +0,0,0,0,0,0,0.68,0,0,0.68,0,0,0,0,0,0,0,0,1.37,0,2.06,0,0,0,0,0,0.68,0,0,0,0,0.68,0,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.144,0,0,0,0.072,3.369,19,155,0 +0.58,0,0,0,0.19,0.19,0,0,0.38,0.19,0,2.32,0,0,0,0.19,0,0,2.51,0,1.16,0,0,0,0.19,0.58,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0,0,0,0.38,0,0,0,0,0,0.251,0,0,0,0.071,2.08,11,156,0 +0,0,0,0,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0,0,1.26,0,0,0,0,0,0,0,0.31,0,0,0,0.31,0,0,0,0,0.14,0,0,0,0,1.592,7,129,0 +0,0,0,0,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0,0,1.26,0,0,0,0,0,0,0,0.31,0,0,0,0.31,0,0,0,0,0.14,0,0,0,0,1.592,7,129,0 +0,0,0.42,0,0.64,0,0,0,0,0,0,0.21,0,0,0,0,0,0,0.85,0,0.21,0,0,0,2.13,0.21,0.21,0,0,0,0,0,2.13,0,0,0,0.42,0,0.21,0.21,0,0,0.42,0.21,0.64,0,0,0,0.238,0.443,0.068,0,0,0,2.524,18,260,0 +0,0,0,0,0.24,0.49,0,0,0,0.49,0,0.24,0,0,0,0,0,0,0.99,0,0.49,0,0,0,0.74,0,0,0.74,0,0,0.49,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.054,0,0,0.027,0,4.634,157,380,0 +0,0.23,0,0,0.47,0,0.23,0,0,0,0.23,0,0,0,0,0,0,0.23,0.23,0,0.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.23,0,0,0,0,0,0,0.23,0,0,0,0.298,0,0.149,0,0,1.533,18,184,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,1.272,4,14,0 +0,0,0,0,0,0,0,0,0,0,0,3.75,0,0,0,0,0,0,0,0,0,0,0,0,1.25,1.25,0,1.25,0,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0,0,0,0,0,0,0.224,0,0,0,0,2.379,18,69,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0.39,0,0.19,0,0,0,0,0,0,0.19,0.19,1.98,0,0.19,0,0,0,0.19,0.19,0,0.19,0,0,0,1.58,1.19,0,0.19,0,0.39,0.19,0,0.59,0,0.39,0.39,1.19,0,0.19,0,0,0.19,0.19,0,0,0,0,0.39,0.28,0.14,0.028,0.112,0,0,2.101,17,311,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0.88,0,0,0.88,0.88,2.65,0,1.76,0,0,0,0.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.37,3,37,0 +0.13,0.06,0,0,0.13,0.13,0,0,0.13,0.27,0.06,0.41,0.06,0,0,0.27,0.06,0,1.04,0.13,0.83,0,0,0.06,1.46,0.48,0,0.13,0,0.06,0.27,0,0,0,0.13,0,0.2,0,0,0,0,0,0,0,0.06,0,0,0.48,0,0.194,0,0.029,0.048,0.009,1.793,23,888,0 +0.09,0.09,0.28,0,0.28,0,0,0.28,0,0,0,0.09,0.18,0,0,0,0.18,0.28,1.22,0,0.37,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0.28,0,0,0.09,0,0,0,0.28,0.37,0.09,0,0,0.014,0.084,0,0.042,0,0.042,1.877,18,552,0 +0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0,0,0,0,1.37,0,0,0,0,0,0,0,0.68,0,0,0,0,0,0,0,0,0,0.68,0,0.68,0,0,0,0.68,0,0,0,0,0,0,0,0,0,0,0,1.488,12,64,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,4,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.934,0,0,0,0,3.2,7,16,0 +0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,2,2,2,4,2,2,0,2,2,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0.682,0,0,0,0,2.705,11,46,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.354,0,0,0,0,2.187,5,35,0 +0.9,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,3.6,0,0,0,0,0,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9,0,0,0,0.9,0,0.479,0,0,0,0,2.166,8,52,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.333,8,10,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.35,0,0,0,1.17,1.17,2.35,0,0,0,0,4.7,0,4.7,0,0,0,0,1.17,0,0,0,0,0,2.35,0,0,0,0.185,0.743,0,0,0,0,4.476,14,94,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,0,3.84,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,1.85,3.7,0,3.7,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.544,1.634,0,0,0,2.352,11,40,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0.42,0.85,0,0,0,0,2.14,0,2.14,0,0,0,0,0,0,0,0,0,0,0.85,0,0,0,0.332,0.73,0,0,0,0,5,14,270,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.84,1.27,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.84,0,0,0,0.325,0.781,0,0,0,0,4.758,14,276,0 +0,0,0.24,0,0,0,0,0.12,0.12,0,0,0.6,0.12,0.12,0,0,0.72,0,0,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0,0,0,0.12,0.12,0,0,0,0,0,0,0,0,0,0,0,0.105,0.06,0,0,0,0,1.827,23,466,0 +0.67,0,0,0,0,0,0,0,0.33,0.33,0.33,0.33,0.33,0,0,0,0,0.33,1.35,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.056,0.28,0.168,0.056,0,0,1.866,17,112,0 +0.1,0,0.1,0,0,0,0,0,0.92,0,0,0.4,0,0,0,0,0.1,0,0.4,0,0.2,0,0,0,0.51,0.61,0.1,0,0,0,0,0,0.3,0,0,0,0.1,0,0,0,0,0,0,0.1,0,0,0,0,0.014,0.154,0.028,0,0.028,0,2.785,32,507,0 +0.04,0.02,0.12,0,0.08,0.02,0,0.08,0,0.06,0.02,0.5,0.06,0,0.02,0.02,0.14,0.12,0.25,0,0.19,0,0.04,0,0,0,0.1,0,0.02,0,0,0,1.97,0,0,0.19,0.97,0.02,0,0.02,0.1,0.02,0,0.14,0,0.33,0.02,0.1,0.024,0.198,0,0,0.018,0.003,2.43,81,3337,0 +0,0,0,0,0,0,0,0,0,0,0,1.66,0,0,0,0,0,0,3.33,0,1.66,0,0,1.66,1.66,0,1.66,0,0,0,0,0,0,0,0,0,1.66,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0.29,1.722,7,31,0 +0,0,0.5,0,0,0,0,0,0,0,0,0.5,0,0,0,0,0,0,0,0,0,0,0.5,0,1.52,2.03,0,0,1.52,1.52,0,0,0,0,0,0,1.01,0,0,0,0,0,0,0.5,0,0,0,0,0,0,0,0.122,0.061,0,4.309,38,237,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,6,18,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.98,0,0.99,0,0,0,2.97,1.98,0,0.99,0,0,0,0,0,0,0.99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.51,0,0,0,0,2.347,10,54,0 +0,0.11,0,0,0.11,0.22,0,0.11,0,0,0,1.32,0,0,0,0,0,0,0.22,0,0,0,0,0,0.99,0,0,0,0,0.22,0,0,0.11,0,0.11,0.44,0,0,0,0,0,0,0,0.11,0,0,0,0,0,0.047,0,0,0.031,0,1.614,12,339,0 +0,0,0.21,0,0,0,0,0.21,0,0.21,0,0,0,0,0,0,0,0.21,0,0,0,0,0,0,0.21,0.21,0,0.43,0,0,0,0,0.21,0,0.21,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0.149,0,0,0,0,1.79,15,188,0 +0,0,0,0,0,0.3,0,0,0,0,0.3,2.42,0,0,0,0.3,0,0.9,3.63,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.087,0,0,2.74,64,148,0 +0,0,0,0,0,0,0,0,0,0,0,2.9,0,0,0,0.58,0,0,0,0,1.74,0,0,0,2.32,0,0,0,0,3.48,0,0,0,0,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0.165,0,0,0,0,1.7,12,68,0 +0,0,0,0,0,0,0,0,0,5.26,0,5.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.952,0,0,3.2,12,16,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.22,0,1.4,0,0,0,1.4,0,1.4,2.81,0,0,0,0,1.4,0,1.4,0,0,0,0,0,0,0,0,0,0,0,0,2.81,0,0.458,0,0.229,0,0,2.653,15,69,0 +0,0,0,0,0,0,0,0,0,1.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.265,0,0,0,3.85,26,77,0 +0,0,1.28,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,2.56,0,0,0,0,0,2.56,1.28,0,0,0,0,0,0,2.56,0,0,0,1.28,0,0,0,0,3.84,0,0,0,0,0,0,0,0.148,0.148,0,0,0,2.034,13,59,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.96,0,1.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0.268,0,0.134,0,0,2.75,8,22,0 +0,0,0,0,0.19,0,0,0,0,0,0.19,0.77,0.19,0,0,0.19,0,0.19,0.38,0.19,0,0,0,0,0.19,0,0,0.38,0,0,0,0,0,0,0,0.19,0.38,0,0.19,0,0,0.38,0,0,0,0,0,0,0.068,0.113,0,0.022,0.045,0,1.74,21,395,0 +0,0,2.12,0,1.06,0,0,0,0,1.06,0,1.06,0,0,0,0,0,0,4.25,0,0,0,0,0,0,0,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.06,0,0,0,0,0,0,0,0,0,1.785,6,25,0 +0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0,0,0.68,0,0,0,0,0,0,0,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0.237,0,0,0,0,1.8,9,36,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,4,4,4,4,4,4,4,0,4,4,4,0,0,0,4,0,0,0,0,0,0,0,0,0,1.117,0,0,0,0,3.333,11,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,4.16,4.16,4.16,4.16,4.16,4.16,4.16,0,4.16,4.16,4.16,0,0,0,4.16,0,0,0,0,0,0,0,0,0,1.142,0,0,0,0,3.333,11,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.2,4.05,0,0,0,0,0,0,0.9,0,0,0,2.25,0,0,0,1.35,0.9,0,0,0.9,0,0,0,0.332,0.747,0.166,0,0,0,4.054,19,296,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,1.214,4,17,0 +0,0,0.36,0,0,0,0,0,0.36,0,0,0,0,0,0,0,0,0.36,1.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.236,0,0,0,0,1.277,3,69,0 +0,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.21,0,0,0,0,0,1.21,0,0,0,0.238,0,0,0.238,0,0,1,1,16,0 +2,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,2,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.888,29,53,0 +0,0,0,0,1.21,0,0,0,0,0,0,2.43,0,0,0,0,0,0,0,0,1.21,0,0,0,0,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.43,0,1.21,0,0,0,0,0.567,0.378,0,0,0,0,1.333,3,24,0 +0,0.5,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0.5,0,0,0,0,0,0,0,1.5,1,0,0,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0,0,0,0,0,0,0,0,0,0,1.468,5,69,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.17,0,0,0,0,0,5.43,6.52,2.17,1.08,1.08,1.08,1.08,1.08,0,1.08,1.08,1.08,0,0,1.08,1.08,0,0,0,0,1.08,0,0,0,0,0.472,0,0,0,0,5.291,34,127,0 +0.06,0,0.25,0,0.25,0.25,0,0.5,0,0,0,0.56,0.12,0.06,0,0,0.5,0,0.12,0,0,0,0,0,2.06,0,0,0,0,0,0,0,0.06,0,0,0.75,0.06,0,0,0,0,0.06,0,0.06,0,0,0,0.06,0.104,0.069,0,0,0.043,0,2.148,23,623,0 +0,0,0,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,1.31,0,0,0,0,0,0,2.63,0,0,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0.431,0,0,0,0,2.176,8,37,0 +0,0,0,0,0.19,0,0,0,0,0,0.19,0.76,0.19,0,0,0.19,0,0.19,0.38,0.19,0,0,0,0,0.38,0,0,0.38,0,0,0,0,0,0,0,0.19,0.38,0,0.19,0,0,0.38,0,0,0,0,0,0,0.066,0.111,0,0.022,0.044,0,1.759,21,403,0 +0.75,0,0,0,0,0,0,0,0.75,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,0,0,0,0,0,0,1.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.846,39,100,0 +0,0,1.69,0,0,0,0,0,0,0,0,1.69,0,0,0,0,0,0,1.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.69,0,0,1.69,0,0,0,0,0,0,0,0,0,0,0,0,1,1,12,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.714,5,12,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,0,0,0,0,0,0.33,0,0,0,1.444,5,13,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.384,4,18,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0.99,0,0,0,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0,0,0,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0.28,0,0,0,0,1.363,5,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.526,0,0,0,0,1.529,6,26,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.285,7,32,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,3,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.833,5,11,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,3,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,7,10,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.25,6,9,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,3,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,1.5,3,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4,2,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6,4,8,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14.28,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.333,8,10,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.142,2,8,0 +0,0,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.34,0,0,0,0,0,0,0,0.44,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,3.901,33,398,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.941,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,6,0 +0,0,0,0,0,0,0,0,0,0,0,5.26,0,0,0,0,0,0,0,0,0,0,0,0,2.63,2.63,0,0,5.26,0,0,0,0,0,0,0,0,0,0,0,0,7.89,0,0,0,0,0,0,0,0,0,0,0,0,1.4,3,14,0 +0,0.15,0,0,0.15,0,0,0,0.15,0.15,0.3,0.46,0,0,0,0,0,0.15,0.3,0,1.07,0,0,0,0,0,0,0,0,0.15,0,0,0.61,0,0,0.15,1.22,0,0,0,0,0,0,0,0,0.61,0,0.15,0.019,0.137,0,0,0,0,2.276,20,485,0 +0.36,0.36,0,0,1.8,0,0,0,0,0,0,1.44,0,0,0,0,0.72,0,0.36,0,1.08,0,0,0,1.8,0,0,0,0.72,0.36,0,0,0,0,0,0,0.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.636,12,54,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12.88,0,0,0,0,0.28,0,0,0.28,0,0,0,0.14,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0.037,0,0,12.43,30,2051,0 +0,0,0,0,2.02,0,0,0,0,0,0,0,1.01,0,0,0,0,0,1.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.02,0,0,0,0,0.166,0.166,0.166,0,0,0,1.428,6,40,0 +0,0,0,0,0.3,0,0,0,0,0,0,0.76,0,0,0,0,0,0,0.15,0,0,0,0,0,0.3,0.15,0,0,0.6,0,0,0,0,0,0,1.21,0.15,0,0,0,0,0,0,0,0,0.15,0,0,0,0.022,0,0,0,0,1.59,37,272,0 +0,0,0,0,0,0,0,0,0,1.08,0,1.08,0,0,0,0,0,0,2.17,0,2.17,0,0,0,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0,0.173,0,0,0,0,2.1,18,42,0 +0,0,0.61,0,0,0,0,0,0,0,0,1.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.61,0,0.079,0.158,0,0,0,0,2.508,17,143,0 +0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0,1.29,0,0,0,0,0,0,4.51,3.22,3.22,1.29,0,1.29,1.29,0,0,0,1.29,1.29,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0.324,0.194,0.129,0,0.194,2.142,10,150,0 +0,0,0,0,0.53,0,0,0,0,0,0,0.53,0.53,0,0,0,0,0,0.53,0,1.06,0,0,0,0,0,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.53,0,0,0,0,0.188,0,0,0,0,1.142,3,40,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.869,0,1.739,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0.14,0,0,0,0,0,0,0,0,0.14,0,0,0,5.16,0,0,0,0.14,0.44,0,0,0.14,0,0,0,1.47,0,0.59,0,0,0,0,0,0.29,0,0,0,0.186,0.538,0.124,0,0,0,4.454,55,931,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.92,0,0,0,0,0,0,0,3.84,0,0,0,1.92,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0.178,0,0,1.666,7,50,0 +0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0.636,0,0,2,10,18,0 +0,0,0,0,0,0,0,0,0,0,0,2.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.85,0,0,0,0,0,0,0,0,0,0.444,0,0,2.333,12,28,0 +0,0,0,0,0,0,0,0,0,0,0,1.35,0,0,0,0,0,0,1.35,0,0,0,0,0,0,0,1.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.35,0,0,0,0,0,0,1.533,6,23,0 +0.11,0,0.23,0,0.23,0.11,0,0,1.15,0,0,0.34,0,0,0,0.11,0,0,0.46,0,0.23,0,0,0,0.57,0.69,0.11,0,0,0,0,0,0.34,0,0,0.34,0.23,0,0,0,0,0,0,0,0,0,0,0,0.048,0.194,0.032,0,0.032,0,3.275,33,511,0 +0.17,0,0.17,0,0,0,0,0,0.8,0,0,0.26,0,0,0.08,0,0,0,0.35,0,0.17,0,0,0,0.62,0.71,0.08,0,0,0,0,0,0.26,0,0,0.08,0.44,0,0,0,0,0,0,0,0,0,0,0,0.253,0.168,0.084,0,0.024,0,4.665,81,1031,0 +0.07,0,0.29,0,0.07,0.07,0,0,0.74,0,0,0.22,0,0.07,0,0,0,0.07,0.29,0,0.22,0,0,0,0.67,0.74,0.07,0,0,0,0,0,1.63,0,0,0,0.59,0,0,0,0,0,0.07,0,0,0,0,0,0.163,0.228,0.032,0,0.021,0,3.03,45,706,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,4,2,2,4,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2.095,11,44,0 +0,0,0,0,0,0,0,0,0.75,0,0,0,0,0,0,0,0,0,1.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.75,0,0,0,0,0.255,0,0,0,0,1.842,6,35,0 +0.83,0,0.41,0,0,0,0,0,0,0,0.41,0.83,0,0,0,0,0,0,2.91,0,1.66,0,0,0,0.41,0.41,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0,0.41,0,0,0,0,0,0,0,0,0.283,0,0,2.022,13,91,0 +0,0,0.06,0,0,0,0,0.06,0.13,0.13,0.13,1.67,0.26,0.33,0,0.13,0.13,0,0,0.06,0.06,0,0,0,2.54,0.13,0,0,0.2,0.26,0.13,0,0,0,0.06,0.2,0.13,0.06,0,0.06,0,0,0,0,0,0,0,0,0.028,0.131,0,0,0,0,1.997,20,787,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0,2.32,0,0,0,0,0,4.65,0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0,0,0,1,1,11,0 +0,0,0.38,0,0.38,0.38,0,0,0.38,0,0,1.55,0,0,0,0,0,0,1.16,0,0.38,0,0,0,0.77,0.77,0.38,0,0,0,0,0,1.93,0,0,0,0,0,0.38,0,0,0,0,0,1.16,0,0,0,0,0.061,0,0,0,0,2.953,34,127,0 +0,0,0,0,0,0.47,0,0,0,0.23,0,0,0,0,0,0,0,0,2.6,0,0,0,0,0,5.45,0,0.23,0,0,0,0,0,0,0,0,0,0.71,0,0,0,0,0,0.94,0,1.18,0,0,0,0.119,0.158,0.119,0,0,0,2.565,19,295,0 +0,0,0,0,0,0,0,0,0,0,0,0.88,0,0,0,0,0,0.22,0,0,0,0,0,0,0.22,0.22,0,0.44,0,0,0,0,0,0,0.22,0,0,0,0,0,0,0,0,0.22,0,0,0,0.22,0,0.172,0,0,0,0,1.729,15,128,0 +0,0,0,0,0,0.57,0,0,0,0.28,0,0,0,0,0,0,0,0,2.86,0,0,0,0,0,4.58,0,0.28,0,0,0,0,0,0,0,0,0,0.57,0,0,0,0,0,0.85,0,0.85,0,0,0,0.144,0.192,0.096,0,0,0,2.306,19,203,0 +0.41,0,0.83,0,0,0.41,0,0,0,0,0,0.83,0,0,0,0,0,0,1.67,0,0.41,0,0,0,0,0,0.83,0,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0,0,0,0,0,0,0,1.12,3,56,0 +0,0,0.15,0,0.13,0.03,0,0.08,0,0.06,0.03,0.64,0.08,0.01,0,0.05,0.22,0.01,0.15,0.03,0.33,0,0,0,0,0,0.01,0,0.03,0.01,0,0,1.33,0,0,0.1,0.76,0,0.01,0.05,0.06,0.03,0,0.05,0,0.1,0,0.37,0.024,0.254,0.002,0.002,0.007,0,2.128,36,3467,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0.675,0,0,0,0,0,1,1,3,0 +0,0.33,0,0,0.33,0,0,0,0,0,0,0.33,0,0,0,0,0,0.33,0,0,0,0,0,0,0.33,0.33,0,0.67,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0.33,0,0,0,0.33,0,0.132,0,0,0,0,1.857,15,117,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,0,0,0,0,0,0,2.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,7,0 +0,0,0,0,0,0,0,0,0,0,0,1.63,0,0,0,0,0,0,1.63,0,0,0,0,0,0,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.63,0,0,0,0,0,0,0,0,0,2.333,8,28,0 +0,0,0.52,0,0,0,0,0,0,0,0,1.56,0,0,0,0.52,0,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,5.72,0,0,0,1.56,0,0,0,0.52,1.04,0,0,0,0.52,0,0,0,0.075,0.151,0,0,0,2.416,18,116,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.449,0,0,0,2,5,14,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.25,2,5,0 +0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,4.74,0,0,0.86,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0.062,0,0,0,0,1.21,6,69,0 +0,0.13,0.54,0,0.27,0.13,0,0,0,0.27,0,1.21,0,0,0,0.13,0,0,1.89,0,0.94,0,0,0,0.13,0.94,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0,0.13,0,0,0,0,0,0.073,0.048,0,0.024,0,0,5.15,82,582,0 +1.26,0,0,0,0,0,0,0,0,1.26,0,1.26,0,0,0,0,0,1.26,2.53,0,0,0,0,0,0,0,0,2.53,0,0,0,0,0,0,0,0,0,0,0,0,1.26,0,0,0,1.26,2.53,0,0,0,0,0,0,0,0,2.842,11,54,0 +0,0,0,0,0.64,0,0,0,1.28,0,0,0.64,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,1.28,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0,0,0,0.64,0,0,0,0,0,0,0.197,0,0,2.35,13,94,0 +0,0,0,0,0.5,0,0,0,0,0,0,0.5,0,0,0,0,0,0,1.01,0,0,0,0,0,1.01,0.5,5.55,0.5,0.5,0.5,0.5,0.5,0,0.5,0.5,0.5,0.5,0,0.5,0.5,0,0,0.5,0,0.5,0,0,0,0.083,0.167,0,0.502,0,0,1.547,11,113,0 +0,0,0,0,0,0,0,0,0,0,0,1.33,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0.44,0,0,0,0,0,0,1.33,0,0.44,0,0.89,0,0,0,0,0,0,0,0,0,0,0,0,0.397,0,0,0,0,1.936,10,122,0 +0,0,0,0,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0,0,1.37,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0.143,0,0,0,0,1.784,18,141,0 +0,0,0,0,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0,0,1.37,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0.143,0,0,0,0,1.784,18,141,0 +0,0,0,0,0.9,0,0,0,0,0,0,0,1.8,0,0,0.9,0,0,0.9,0,0,0,0,0,2.7,0.9,0.9,0.9,0.9,0.9,0.9,0.9,0,0.9,0.9,0.9,0,0,0,0.9,0,0,0,0,0,0,0,0,0,0.449,0,0,0,0,2.15,11,43,0 +0,0,0,0,0,0,0,0.99,0,0,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,1.98,0.49,0,0.49,0.49,0.99,0,0,0,0,0.49,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0.119,0,0,0,0,2.135,13,126,0 +0,0,0,0,0,0.23,0.23,0.23,0,0,0,0.46,0,0.46,0,0,0,0,0.23,0,0,0,0.23,0,0,0,0,0,0,0,0,0,0.23,0,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0,0.073,0,0,0,0,0,3.184,74,207,0 +0,0,0,0,0,0,0,0,0,0,0,0,0.86,0.86,0,0,0,0,0,0,0,0,0,0,3.44,2.58,1.72,0.86,0.86,0.86,0.86,0.86,0,0.86,0.86,0.86,1.72,0,1.72,0.86,0,0,1.72,0,1.72,0,0,0,0,0.27,0.135,0.135,0,0,2.288,13,103,0 +0.1,0,0,0,0,0.1,0,0.52,0,0.1,0,1.9,0.1,0.1,0,0.1,0.21,0,0,0,0,0,0,0,3.17,0,0,0,0,0,0,0,0,0,0,0.1,0.1,0,0,0,0,0,0,0.1,0,0,0,0,0.027,0.138,0,0.041,0.041,0,2.321,31,469,0 +0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,0,0.53,0,0,0,0,0,1.61,0.53,0,0,0.53,0,0,0,0,0,0,0.53,0,0,0,0,0,0.53,0,1.07,0,0,0,0.53,0,0,0,0,0,0,1.375,5,99,0 +0,0,0.41,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0.41,0,0,0,0,0,0,0.41,0,0.41,0,0,0,0,0,0,0,0,1.522,11,67,0 +0,0,0,0,0.43,0,0,0,0,0,0,0.43,0,0,0,0,0,0,2.19,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0.87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.079,0.158,0,0,0,0,1.115,2,29,0 +0.23,0,0.23,0,0.69,0,0,0,0,0,0,1.38,0,0,0,0,0,0,0.23,0,0,0,0,0,0.23,0.23,0,0,0,0,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0.23,0,0,0,0,0,0.066,0,0,0,0,1.412,9,89,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,9,15,0 +0,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.02,0,0,0,0,0,0.395,0,0,0,1.523,6,32,0 +0,0,0,0,0,0,0,0,0.75,0,0,0.75,0,0,0,0,0,0,2.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.75,0,0,0,0,0.263,0,0,0,0,1.176,3,20,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,6,0 +0,0,0.19,0,0.19,0.19,0,0,0,0.19,0,0.38,0,0,0,0,0,0.38,1.54,0,0.96,0,0,0,2.69,1.54,0.77,0.57,0.19,1.15,0.19,0.19,0,0.19,0.57,0.38,0.38,0,0,0.19,0.38,0,0.38,0,0.38,0,0,0.19,0.026,0.404,0.053,0.026,0,0,2.894,45,411,0 +0,0,0,0,0,0,0,0.65,0,1.3,0,0,0,0,0,0,0,0.32,0.32,0,0.65,0,0,0,4.9,4.24,0.32,0,0,0.65,0,0,0,0,0,0,1.63,0,0,0,0.98,0,0,0,0.65,0,0,0,0.153,0.562,0.102,0,0,0,5.555,42,500,0 +0.25,0,0,0,0,0,0,0,0.25,0,0,0,0,0,0,0.25,0,0,0.25,0,0,0,0,0,2.06,1.03,0.25,0.25,0.25,0.25,0.25,0.25,2.83,0.25,0.25,0.25,0.25,0,0,0.25,0,0,0.25,0,0.25,0,0,0,0.301,0.473,0.043,0.043,0,0,2.111,17,190,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0.44,0,0,0,0,0,0,0.44,0.44,0,0.88,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0.123,0,0,0,0,1.857,15,104,0 +0,0,0.44,0,0.44,0,0,0,0,0.44,0,0.88,0,0,0,0,0,0.88,2.22,0,2.22,0,0,0,1.33,0.44,0.88,0.88,0,0.88,0,0,0,0,0.88,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0.506,0,0.05,0,0,3.772,45,249,0 +0.33,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,3.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.448,0,0.056,0,0,1.788,6,93,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.166,2,7,0 +0,0,1.1,0,0,0,0,0,0,0.27,0.27,0.55,0,0,0,0,0,0,1.1,0,0.83,0,0,0,1.1,0.27,0,0,0.55,0.27,0,0,0,0,0,0,0.83,0,0,0,0,0,0,0,0,0,0,1.1,0.543,0.349,0,0,0,0,2.724,79,316,0 +0,0.29,0.29,0,0.29,0,0,0.29,0,0,0.29,1.45,0,0,0,0,0.58,0,1.16,0,1.45,0,0,0,0.87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.037,0.113,0,0,0.037,0,1.531,7,147,0 +0,0,2.56,0,0,0,0,0,0,0,0,0,0,5.12,0,0,0,0,2.56,0,0,0,0,0,0,0,2.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.56,0,0,0,0,0.485,0,0,0,0,1,1,11,0 +0,0,0,0,0,0,0,0,0,0,0,2.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.22,0,0,0,0,0,0,0.374,0,0,1.375,5,22,0 +0,0,0,0,0,5.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.666,5,16,0 +0,0,0,0,2.22,0,0,0,0,0,0,3.33,0,0,0,0,0,0,1.11,0,1.11,0,0,0,1.11,1.11,0,0,1.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,22,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.26,0,0,5.26,0,0,0,0,0,0,0,0,0,1.25,2,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,2.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,7,18,0 +0,0,0,0,0,0,0,0,0,0,0,1.81,0,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0.286,0,0,0,0,2.277,9,41,0 +2,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,2,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.888,29,53,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.69,0,0,0,0,0,1.69,0,0,0,0,0,0,1.629,7,44,0 +0,0,0,0,0.93,0,0,0,0,0.93,0,0.46,0,0,0,0,0,0,1.4,0,0,0,0,0,4.22,1.87,0.93,0.46,0.93,0.46,0.46,0.46,0,0.46,0.46,0.46,0.46,0,0,0.46,0,0,0.46,0,0.93,0,0,0,0,0.2,0.066,0,0,0,5.593,42,330,0 +0,0,0,0,0,0,0,0,0,0,0,1.23,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.23,0,0,1.23,0,0,0,0,0.404,0,0,0,0,1.187,4,19,0 +0,0,1.49,0,0,0,0,0,0,0,0,1.49,0,0,0,0,0,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.49,0,0,0,0,0,0,0,0.238,0,0.238,0,0,2,8,50,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.32,0,0,0,0,0,1.98,3.97,0,0,0,0.66,0,0,0,0,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.102,0,0,2.531,30,81,0 +0,0.23,0,0,0,0.23,0,0.46,0,0,0,0.92,0,0,0.23,0,0,0.23,0.23,0,0,0,0,0,1.15,0.92,0,0,0,0.23,0,0,0.23,0,0,0.23,0.23,0,0,0,0,0.23,0.23,0,0,0.23,0,0,0.063,0.063,0,0.159,0,0,1.616,13,173,0 +0,0,0,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,1.23,0,0,0,0,0,0,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,0,1.23,1.23,0,0,0,0,0.468,0,0,0,0,1.058,2,18,0 +0,0.8,0,0,0,0,0,0,0,1.6,0,0,0,0,0,2.4,0,0,5.6,0,1.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.235,0,0,1.38,4,29,0 +0.07,0,0.07,0,0,0.07,0,0,0,0,0.15,1.07,0.15,0.07,0,0,0.53,0,0,0,0,0,0.22,0,1.83,0,0,0,0,0,0,0,0,0,0,0.22,0.07,0,0,0,0,0,0,0,0,0,0,0,0.127,0.174,0,0,0.023,0,2.182,24,659,0 +0.2,0,0.2,0,0.4,0,0,0,0,0,0.3,1.71,0,0.1,0,0,0.1,0,1.01,0.3,0.5,0,0,0,2.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.042,0,0.014,0,0,4.325,63,545,0 +0,0,0,0,1.11,0,0,0,0,0,1.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.11,0,0,0,0,0,1.11,0,0,0,0,1.11,0,0,0,2.22,0,0,0,0,0,0,0,0.363,0,0.181,0,0,1.285,4,27,0 +0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0.336,0,0,1.555,4,42,0 +0.07,0,0.07,0,0,0.07,0,0,0,0,0.14,1.04,0.14,0.07,0,0,0.52,0,0,0,0,0,0.22,0,2.23,0.07,0,0,0,0,0,0,0,0,0,0.22,0.14,0,0.07,0,0,0,0.07,0,0,0,0,0,0.111,0.151,0.01,0,0.02,0,2.25,24,720,0 +0,0.27,0,0,0,0,0,0,0,0,0,1.94,0,0,0,0,0.27,0,1.39,0,0,0,0,0,0.83,0.55,0,0,0,0.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0,0.128,0,0,0,0,0,1.197,6,109,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,4.34,0,8.69,0,0,0,0,0,0,0,0,0,0.636,1.273,0,0,0,0,3.5,24,35,0 +1.06,0,0,0,1.06,0,0,0,0,0,0,1.06,0,0,0,0,0,0,1.06,0,1.06,0,0,0,0,0,1.06,0,0,0,0,0,0,0,0,0,0,1.06,0,0,0,0,0,0,0,0,0,0,0,0.386,0,0,0,0,1.705,6,29,0 +0,0,0,0,3.44,0,0,0,0,0,0,3.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.574,0,0,0,0,1.714,4,12,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0,0.8,0,0,0,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.125,0,0,0,0,1.428,5,50,0 +0,0,0,0,0,0,0,0,0,0,0,0.55,0.55,0,0,0,0,0,1.65,0,0.55,0,0,0,1.1,0.55,0,0,0,0.55,0.55,0,0,0,0,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0.087,0,0,0,0,0,1.657,8,58,0 +0,0,0,0,0,0,0,0,1.16,0,0,1.16,1.16,0,0,0,0,0,1.16,0,1.16,0,0,0,0,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,3,12,0 +0,0,0,0,1.85,0,0,0,0,0,0,1.85,1.85,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.714,4,12,0 +0,0,0,0,8.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,0,0,0,8.33,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,0 +0,0,0,0,0,0.17,0,0,0,0,0,0.52,0.17,0,0,0,0.69,0,0,0,0.17,0,0,0,1.04,0,0,0,0.34,0.34,0,0,0,0,0,1.04,0,0,0,0.17,0,0,0,0.52,0,0,0,0,0,0.055,0,0,0,0,1.685,7,204,0 +0,0,0,0,1.61,0,0,0,0,0,0,0.8,0.8,0,0,0.8,0,0,0.8,0,0,0,0,0,1.61,1.61,0,0,0,0,0,0,0,0,0,0,0.8,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0.144,0,0,0,1.913,13,44,0 +0,0,0,0,2.04,0,0,0,0,0,0,1.02,1.02,0,0,1.02,0,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.642,4,23,0 +0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,0,0.5,0,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0.411,0,0,0,0,1.866,10,112,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4,1.2,1.2,1.2,1.2,1.2,1.2,1.2,1.2,1.2,1.2,1.2,0,0,0,1.2,0,0,0,1.2,0,0,0,0,0,0.446,0,0,0,0,2.166,11,39,0 +0,0,0.28,0,0.28,0,0,0,0,0,0,0.85,0,0,0,0,0,0,0.28,0,0,0,0,0,1.7,0,0,0.56,0,0,0,0,0,0,0.56,2.55,0.28,0,0.28,0,0,0,0,0.28,0,0,0,0,0.223,0.074,0,0,0,0,1.958,55,190,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.333,4,12,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.88,1.88,0,1.88,0,0,0,0,0,1.88,0,0,0,0,0,3.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.366,0,0,0,0,1.307,3,17,0 +0,0,0.5,0,0,0,0,0.5,0,0,0,0.5,0,0,0,0.5,0,0,0.5,0,0,0,0,0,0.5,1,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0.062,0,0.188,0,0,3.461,47,180,0 +0.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.43,0,0.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.041,26,73,0 +0,0,0.36,0,0,0.73,0,0,0,0,0,1.46,0.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.36,0,0,0,0,0,0,0,0,0,0,0,0,0.049,0,0.049,0,0,1.919,54,167,0 +0,0,0,0,0,0,0,0.42,0,0,0,1.28,0.42,0,0,0,0.42,0,0,0,0,0,0,0,2.57,0,0,0,0.14,0,0,0,0.14,0,0,0.28,0.28,0.14,0,0,0,0,0,0,0,0,0,0.14,0.08,0.242,0,0,0.04,0,2.275,20,421,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6,3,8,0 +0,0,0.5,0,0.5,0,0,0,0,0.5,0,1.01,0,0,0,0,0.5,1.01,2.03,0,3.04,0,0,0,1.52,0.5,1.01,1.01,0,1.01,0,0,0,0,1.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.551,0,0.055,0,0,4.275,45,248,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.888,13,35,0 +0,0,1.31,0,0,0,0,1.31,0,0,0,0,0,0,0,0,0,0,3.94,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0.279,0,0.139,0,0,2.13,15,49,0 +0,0,2.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.27,0,0,0,0,0.404,0,0.404,0,0,2.076,15,27,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.862,0,0.862,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0.507,0,0,0,0,1.133,3,17,0 +0,0,0.65,0,0.65,0,0,0,0,0,0,0.65,0,0,0,0,0.65,0,0,0,0,0,0,0,0.65,3.26,0,0,0,0.65,0,0,0,0,0,0,0.65,0,0.65,0,0,0,0.65,0,0.65,0,0,0,0.093,0,0,0.093,0,0,1.705,17,87,0 +0,0,0,0,0,0,0,2.63,0,0,0,0,0,0,0,0,0,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.37,0,0.37,0,0.75,0,0.37,0,0.75,1.12,0,0,0,0,0.063,0,0,0,2.023,14,85,0 +0,0,0,0,0,0,0,3.97,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.32,0,0,0,1.98,0,0,0,0.66,1.98,0,0,0.11,0.11,0,0,0,0,2.857,19,120,0 +0,0,0,0,0,0,0,5.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,10,0 +0,0,0,0,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0.6,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,0.6,0,0,0,0,0,0,0,0,0.6,0,0,0,0,0,0.092,0,0,0,0,1.568,9,69,0 +0.46,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0.92,0,0.46,0,0,0,0.92,0,0,0,0,0,0,0,0,0,0.46,0,0.92,0,0,0,0,0,0,0,0,0,0,0,0,0.125,0,0,0,0,1.51,10,74,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.26,0,0,0,0,0,0,0,0,0,0,0,0,1,1,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,3,6,0 +0,0,0,0,0,0,0,0.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.83,0.41,0,0.41,0.41,0,0,0,0,0,0.41,0.41,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0.158,0,0,0,0,1.969,13,130,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.85,0,0,0,0,0,4.27,3.41,2.56,0.85,0.85,0.85,0.85,0.85,0,0.85,0.85,0.85,0.85,0,0.85,0.85,0,0,0.85,0,0.85,0,0,0,0,0.278,0.139,0,0,0,2.138,12,77,0 +0,0,0,0,0.67,0,0,0,0,0,0,2.01,0,0,0,0,0,0,1.34,0.67,1.34,0,0,0,0,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0.67,0,0,0,0.117,0.117,0,0,0,0,1.222,5,33,0 +0,0.25,0,0,0,0.25,0,0.5,0,0,0,1.01,0,0,0.25,0,0,0.25,0.25,0,0,0,0,0,0.5,0.25,0,0,0,0.25,0,0,0.25,0,0,0.25,0,0,0,0,0,0.25,0,0,0,0.25,0,0,0,0.073,0,0,0,0,1.545,7,136,0 +0,0,1.33,0,1.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.33,0,0,0,8,8,0,0,0,0,0,0,0,0,0,0,1.33,4,1.33,0,0,4,0,0,0,0,0,0,0.865,0,0.216,0,0,0,1.647,12,28,0 +0,0.04,0.23,0,0.09,0,0,0.04,0.04,0.04,0.04,0.74,0,0,0,0.13,0.04,0.04,0.93,0,0.65,0,0,0,1.49,0.32,0,0.23,0,0.18,0.18,0,0,0,0.23,0,0.32,0,0.04,0.04,0,0.18,0,0.13,0,0,0,0.04,0.027,0.184,0,0.047,0.061,0,1.686,20,1184,0 +0,0,3.22,0,3.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.45,0,0,0,6.45,0,0,0,0,0,0,0,0,0,0,0,0,1,1,8,0 +0,0,0.1,0,0.2,0.1,0,0,0,0,0,2.04,0.2,0.1,0,0,0.81,0,0,0,0,0,0.2,0,2.75,0,0,0,0,0,0,0,0,0,0,0.3,0.3,0,0,0,0,0,0,0,0,0,0,0,0.03,0.091,0,0,0,0,2.161,27,575,0 +0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,1.36,0,2.73,0,0,0,0,0,0,0,1.36,0,0,1.36,0,0,0,0,0,0,0,0,0,0,0.475,0,0,0,0,3.478,11,80,0 +0,0,0,0,0,0,0,0,0,0,0,1.11,0,0,0,0,0,0,0,0,0,0,0,0,4.44,1.66,0,1.11,0,0,0,0,0,0,1.11,0,0.55,0,0,0,0,0,0,0.55,0,0,0,0,0,0,0,0,0,0,2.018,12,107,0 +0,0,0.31,0,1.04,0.1,0,0,0,0,0,0.1,0,0,0,0,0,0,0.2,0,0,0,0,0,0.41,0.2,0.52,0.2,0.2,0.2,0.2,0.2,0.41,0.2,0.2,0.2,0.1,1.57,0.1,0.2,0,0.41,0.1,0.1,0.1,0,0,0.1,0.067,0.523,0.016,0,0.016,0.033,2.232,47,393,0 +0,0,0,0,2.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,0,0,0,0,1.4,5,14,0 +0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,1.333,3,16,0 +0,0,0.28,0,0.84,0,0,0,0,0,0,1.96,0,0,0,0,0,0,0.28,0,0,0,0,0,1.4,0.84,0,0,0,0.84,0,0,0,0,0,0,0.56,0,0,0,0,0,0,0,0.28,0,0,0,0,0,0,0,0,0,1.426,7,97,0 +0.55,0,0,0,0,0,0,0,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.11,0.55,1.66,0.55,0.55,0.55,0.55,0.55,0,0.55,0.55,0.55,0.55,0,0.55,0.55,0,0,0.55,0,0.55,0,0,0,0,0.367,0.091,0,0,0,2.117,12,108,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0.86,2.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0.295,0,0,0,0,3.26,42,75,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0,0,0.218,0.218,0,0.054,0,0,2.16,9,108,0 +0,0,0.78,0,0,0,0,0,0,0,0,0,0.78,0,0,0,0,0,0,0,0.78,0,0,0,0,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78,0,0,0,0,0.401,0,0.133,0,0,1.565,4,36,0 +0,0,0,0,6.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,2,3,0 +0,0,0.71,0,0.71,0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,1.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.71,0,0,0,0,0,0,0,0.055,0,0.055,0,0,15.333,54,138,0 +0,0,0.82,0,0.82,0,0,0,0,0,0,0.82,0,0,0,0,0.82,0,0,0,0,0,0,0,0,1.65,0,0,0,0.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.82,0,0,0,0,0,0,0.119,0,0,1.272,6,42,0 +0,0,0,0,0,0,0,0,0,2.43,0,2.43,0,0,0,0,0,0,0,0,2.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.43,0,0,0,0,0,0,5.3,40,53,0 +0,0,0,0,3.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.96,0,1.96,1.96,0,0,0,0,0,0,0.348,0,0,1.312,4,21,0 +0,0,0.52,0,1.04,0,0,0,0,0,0,1.04,0,0,0,0,0,0,0.52,0,0.52,0,0,0,1.83,1.57,0.52,0.26,0.26,0.26,0.26,0.26,1.3,0.26,0.26,0.26,0.26,0,0.26,0.26,0,0.78,0.26,0.26,0.78,0,0,0.52,0.136,0.182,0.091,0,0.045,0,1.823,13,155,0 +0,0,0.62,0,0.62,0,0,0,0,0,0,1.25,0,0,0,0,0,0,0.62,0,0.62,0,0,0,1.57,1.57,0.31,0,0,0,0,0,1.57,0,0,0,0.31,0,0.31,0,0,0.94,0,0,0.62,0,0,0.62,0.164,0.109,0.109,0,0.054,0,1.671,13,107,0 +0,0,0.31,0,0,0,0,0,0,0,0,0.63,0,0,0,0,0,0.31,0,0,0.31,0,0,0,0.63,0.63,0,0.63,0,0.63,0,0,0,0,0.31,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0.588,0,0,0,0,3.183,55,191,0 +0,0,0.11,0,0.11,0,0,0,0,0,0.11,1.02,0,0,0,0,0,0.11,0.11,0,0,0,0,0,0,0,0,0.22,0,0,0,0,0,0,0.22,0,0.22,0,0.11,0.11,0,0.34,0,0,0,1.02,0,0,0.049,0.149,0,0,0,0,1.637,18,511,0 +0,0,0.71,0,0.71,0,0,0,0,0,0,1.43,0,0,0,0,0,0,0.71,0,0.71,0,0,0,0,0,0.35,0,0,0,0,0,1.79,0,0,0,0,0,0,0,0,0.71,0,0,0.71,0,0,0.71,0,0.125,0.062,0,0.062,0,1.574,6,85,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,53,56,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,1.75,3,7,0 +0,0,0.1,0,0,0,0,0.1,0,0,0.31,0.52,0.1,0,0,0.1,0.1,0,0.1,0,0,0,0.1,0,3.14,0,0,0,0,0,0,0,0,0,0,0.52,0.31,0,0,0.1,0,0,0,0,0,0,0,0.1,0.079,0.142,0,0,0.063,0,2.542,26,605,0 +0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,0,0.7,0,1.4,0,1.4,0,0,0,0,0,0.7,0,0,0,0.7,0,0,0,0,0,0,0,0,2.11,0,0,0,0,0,0,0,0,0,0.267,0.066,0,0,0,17.904,200,376,0 +0,0,0,0,0,0,0,0,0,0,0,1.16,0,0,0,0,0,0,0,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.866,6,28,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.81,0,0,0,0,0,3.63,1.81,0,0,0,3.63,0,0,0,0,1.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.227,11,49,0 +0,0,0,0,0,0,0,0,0,0,0,0,0.62,0,0,0.62,0,0,1.88,0,0.62,0,0,0,1.25,0.62,0,0,0,0,0,0,0,0,0,0,1.25,0,1.25,0,0,0,1.25,0,0,0,0,0,0.895,0.179,0.358,0,0,0,1.712,13,149,0 +0,0,0,0,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.63,0,0,0,0,0,0,0,0,0,1.25,4,15,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0.8,0,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0.8,0,0,0,0,0,0,0,0.265,0,1.347,3,31,0 +0,0,0.1,0,0,0,0,0.1,0,0,0.2,0.41,0.1,0,0,0.1,0.1,0,0.1,0,0,0,0.1,0,3.02,0,0,0,0,0,0,0,0,0,0,0.52,0.31,0,0,0.1,0,0,0,0,0,0,0,0.1,0.074,0.134,0,0,0.059,0,2.529,26,597,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.72,0,0,0,0,0,6.89,3.44,0,0,0,3.44,0,0,0,0,1.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.16,11,54,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.65,2.32,2.32,2.32,2.32,2.32,2.32,2.32,0,2.32,2.32,2.32,0,0,0,2.32,0,0,0,0,0,2.32,0,0,0,0.692,0,0,0,0,3.312,11,53,0 +0,0,0,0,0,0,0,0,0,1.57,0,4.72,0,0,0,0,0,0,1.57,0,0,0,0,0,0.78,0.78,0,1.57,0,0,0,0,0,0,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0.268,0,0,0,0,2.885,11,101,0 +0,0,2.56,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,1.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.227,0,0,0,0,1.647,7,28,0 +0,0,0,0,0,0,0,0,0,0,0,1.22,0,0,0,0,0,0.61,0,0,0,0,0,0,0.61,0.61,0,1.22,0,0,0,0,0.61,0,0.61,0,0.61,0,0,0,0,0,0,0.61,0,0.61,0,0,0,0.412,0,0,0,0,2.206,19,128,0 +0,0.16,0.32,0,0.16,0.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.97,1.13,0,0,0,0,0,0,0.8,0,0,0,1.29,0,0,0,0.32,0,0,0,0,1.61,0,0,0.184,0.394,0.131,0,0,0,3.666,20,506,0 +1.12,0,0,0,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.12,0,0,0,0,0,0,0.204,0,0,1.214,3,34,0 +0.19,0,0.59,0,0,0,0,0,0,0.39,0,0,0,0,0,0,0,0,2.59,0,0.39,0,0,0,0.79,0.39,0.59,0.39,0.39,0.39,0.39,0.39,0,0.39,0.39,0.39,0.19,0,0,0.39,0,0,0.19,0,1.19,0,0,0,0.093,0.657,0.062,0,0,0.062,2.156,13,207,0 +0,0,0.87,0,0,0,0,0,0,2.63,0.87,0.87,0,0,0,0,0,0,1.75,0,0,0,0,0,1.75,0.87,2.63,0.87,0.87,0.87,0.87,0.87,0,0.87,0.87,0.87,0.87,0,0.87,0.87,0,0,0.87,0,0.87,0,0,0,0.139,0.976,0,0.139,0,0,1.767,12,76,0 +0,0,0.6,0,0,0,0,3.04,0,0,0,0.6,0,0,0,0.6,0,0,0.6,0,1.21,0,0,0,1.21,1.82,0,0.6,0,0.6,0,0,0,0,0.6,0.6,1.21,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,0.077,0,0,3.277,33,177,0 +0,0,0,0,0,0,0,0,0,0.82,0,0.82,0,0,0,0,0,0,1.65,0,0.82,0,0,0,0,1.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.82,0,0,0,0,0.122,0,0,0,0,2.111,19,76,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,6.38,0,0,0,0,0,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.722,7,31,0 +0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,2.2,0,0.73,0,0,0,0.73,0.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.111,0.223,0,1.76,6,88,0 +0,0,0,0,0.87,0,0,0,0,0,1.31,0.43,0,0,0,1.75,0,1.31,2.63,0,0.87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0.361,0.18,0,1.72,6,86,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.285,3,9,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,1.16,0,0,0,0,0.391,0,0,0,0,1.384,4,18,0 +0,0,0.47,0,0.95,0.47,0,0,0,0,0,0.47,0,0,0,0,0,0,0.95,0,0,0,0,0,0,0.47,0.47,0,0,0,0,0,0,0,0,0,0,0.95,0,0,0,0.47,0,0,0,0,0,0,0,0.073,0,0,0,0,1.884,8,98,0 +0,0,0,0,0,0,0,0,0,0,0,1.75,0,0,0,0,0,0,3.5,0,3.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.75,0,0,0,0.325,0,0,0,0.651,0,1.125,3,18,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.44,0,0,0,0,0,0,0,0,0,1,1,8,0 +0,0,0,0,0.81,0,0,0,0,1.22,0,0.4,0,0,0,0,0,0,0.4,0,0.4,0,0,0,4.08,4.08,0,0,0,1.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.754,8,93,0 +0,0,0,0,0.88,0,0,0,0,2.65,0.88,0,0,0,0,0,0,0,1.76,0,0,0,0,0,1.76,0.88,1.76,0.88,0.88,0.88,0.88,0.88,0,0.88,0.88,0.88,0.88,0,0.88,0.88,0,0,0.88,0,2.65,0,0,0,0.142,0.855,0,0.285,0,0,1.777,12,80,0 +0,0,0,0,0,0,0,0.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.83,0.41,0,0.41,0.41,0,0,0,0,0,0.41,0.41,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0.159,0,0,0,0,1.848,13,122,0 +0,0,0.51,0,0.51,0,0,0,0,0,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0,2.07,2.07,0,0,0,0,0,0,0,0,0,0,1.55,0,0,0,0,0.51,0,0,0,0,0,0.51,0.165,0.497,0,0.082,0,0,3.525,20,208,0 +0,0,0,0,0,0,0,0,0.13,0,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,1.38,1.52,0,0,0,0,0,0,1.38,0,0,0,1.25,0,0.27,0,0.69,0,0,0,0,2.63,0.27,0,0.125,0.438,0.146,0,0,0,3.657,35,534,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.65,2.32,2.32,2.32,2.32,2.32,2.32,2.32,0,2.32,2.32,2.32,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0.757,0,0,0,0,2.5,11,50,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.75,0,0,0,0,0,3.5,3.5,0,0,0,0,0,0,0,0,1.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.846,11,48,0 +0,0,0,0,0.28,0,0,0,0,0,0,0.57,0,0,0,0,0,0.85,0,0,0,0,0,0,5.14,4,2.28,1.14,0.28,1.14,1.14,0.28,0.57,0.28,1.14,1.14,0.28,0,0,0.28,0,0,0.28,0,0.57,0,0,0,0.064,0.292,0.194,0.097,0,0.097,2.291,12,307,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.83,5.5,0,0,0,0,0,0,0,0.91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.91,0,0,0.91,0,0.175,0,0,0,0,1,1,18,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,3.33,0,0,0,0,0,0,1,1,6,0 +0,0.19,0.59,0,0.19,0,0,0,0,0.59,0.39,0.19,0,0.19,0,0,0,0.79,2.79,0,1.99,0,0,0,1.79,0.19,0.39,0.19,0,0,0.59,0.19,0.79,0.19,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.203,0.018,0.018,0,0,3.716,47,472,0 +0,0,0,0,1.15,0.28,0,0,0,0,0,0,0,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.072,0,0,0,0,1.517,8,88,0 +0,0,0,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0,0,0,0,0,0,0,0,1.29,3.89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.625,6,26,0 +0,0,0,0,0.14,0,0,0,0,0,0,1.75,0,0,0,0,0,0,0.29,0,0,0,0,0,0.14,0,0,0.29,0,0.14,0,0,0.14,0,0.14,0,0.14,0.14,0,0,0,0,0,0.29,0,0.14,0,0,0,0.064,0,0.021,0,0,1.715,11,187,0 +0,0,0,0,1.28,0,0,0,0,2.56,0,0.64,0,0,0,0,0,0,1.92,0,0.64,0,0,0,0.64,0.64,0,0,0,1.92,0,0,0,0,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.536,8,63,0 +0,0.22,0.22,0,0.45,0,0.22,0,0,1.82,0,0.68,0,0,0,0.68,0.22,0,2.05,0.45,1.59,0,0,0,0,0,0.22,0,0,0,0,0,0,0,0,0,0.91,0,0,0,0,0,0,0,0,0,0,0,0,0.101,0,0.135,0.067,0,2.5,27,210,0 +0,0,0,0,0,0,0,0,0,1.44,0,0,0,0,0,0,0,0,1.44,0,1.44,0,0,0,2.89,1.44,4.34,1.44,1.44,1.44,1.44,1.44,0,1.44,1.44,1.44,0,0,0,1.44,0,0,0,0,1.44,0,0,0,0,0.417,0,0,0,0,2.166,11,39,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.78,0,0,0,0,0,0,0,3.57,0,0,0,1.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.406,7,45,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.846,17,76,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.846,0,0,0,0,0,6.333,17,19,0 +0,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0.083,0,0,0,0,6.096,21,189,0 +0.24,0,0.24,0,0.24,0,0,0,0,0,0,0,0,0,0,0,0.24,0.24,0.24,0,0,0,0,0.24,0.98,0.73,0,0.49,0,0.24,0,0,0,0,0.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.831,13,152,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.22,0,0,2.22,2.22,0,0,0,0,0,0,2.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.374,0,0,0,1.583,8,19,0 +0,0.25,0.5,0,0,0,0,0,0,0.5,0,0.63,0,0,0,0,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.018,0.129,0.092,0.018,0,0,8.021,66,746,0 +0,0,1.16,0,1.16,0,0,0,0,0,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.16,0,0,0,0,0,1.16,0,0.368,0,0.184,0,0,2.833,11,51,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.5,4,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.888,8,35,0 +0,0,0,0,0,0.4,0,0,0.4,0.4,0,0,0,0,0.4,0,0,0,1.22,1.22,0.4,0,0,0,0,0.4,0.4,0,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0.4,0,0,0,0.065,0,0,0,0,1.84,8,81,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,6,0 +0,0,0,0,0,0,0,0,0,0,0,2.08,0,0,0,0,1.04,0,0,0,0,0,0,0,1.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.478,0,0,0,0,3.291,21,79,0 +0.17,0,0.26,0,0.08,0.08,0,0.08,0.08,0.08,0.17,0.17,0.08,0,0,0.08,0.26,0,1.75,0,1.14,0,0,0,1.93,0.52,0,0.17,0,0,0.26,0,0.17,0,0.26,0.08,0.79,0,0,0,0,0,0,0,0.08,0,0,0,0,0.063,0,0.038,0,0,1.66,20,646,0 +0,0.18,0.72,0,0.18,0,0,0,0,0,0,0.54,0,0,0,0,0,0.18,0.9,0,0.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.36,0,0,0,0,0,0.18,0.54,0,0,0,0.177,0.059,0.148,0.029,0,1.6,18,256,0 +2,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,2,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.888,29,53,0 +0,0,0.11,0,0.22,0.11,0,0,0,0,0,0.99,0.11,0.11,0,0,0.22,0,0,0,0,0,0.11,0,3.21,0.11,0,0,0.33,0,0,0,0.11,0,0,0.88,0.44,0,0.11,0,0,0,0.11,0,0,0,0,0,0.044,0.149,0.014,0,0,0,2.419,27,559,0 +0,0,0.33,0,0.33,0,0,0,0,0,0,0.33,0,0,0,0,0,0,1.01,0,0.67,0,0,0,1.35,1.01,0.67,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0.33,0,0.33,0.33,0,0,0.33,0,1.35,0,0,0,0,0.175,0.058,0,0,0,2.068,12,120,0 +0,0,0.59,0,0.59,0,0,0,0,0,0,0.59,0,0,0,0,0,0,0.59,0,0.59,0,0,0,0,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.59,0,0,0,0,0.105,0,0,0,0,1.826,8,42,0 +0,0,0.3,0,0.61,0,0,0,0,0,0,0,0,0,0,0,0.3,0,0.91,0,0.3,0,0,0,2.44,0.61,0,0,0,0,0,0,0,0,0,0,0.3,1.52,0,0,0,0,0.61,1.22,0,0,0,0,0.301,0.043,0.043,0,0.086,0,2.161,19,227,0 +0.4,0,0.81,0,0,0.4,0,0,0,0,0,0.81,0,0,0,0,0,0,1.63,0,0.4,0,0,0,0,0,0.81,0,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0.4,0,0.4,0,0,0,0,0.071,0,0,0,0,1.156,3,59,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0.16,0,0,0,0,0,0,0,0,0.76,0.028,0,0,0,3.989,33,738,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,7,0 +0,0,0,0,0,0,0,0,0,0.4,0,0.4,0,0,0,0,0,0,0,0,1.22,0,0,0,0.4,0.4,0,0.81,0,0,0,0,0.81,0,0,0.4,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0.199,0,0,0,0,2.386,11,105,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.47,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.49,0,0,0,0,0,0,0,0,1.49,0,0,0,0,0,0,1.785,6,25,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.186,0,0,0,3.677,28,114,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.44,2.22,2.22,2.22,2.22,2.22,2.22,2.22,0,2.22,2.22,2.22,0,0,0,2.22,0,0,0,0,0,0,0,0,0,0.735,0,0,0,0,2.45,11,49,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.428,4,10,0 +0,0,0,0,0,0,0,0,0,1.07,0,0,0,0,0,0,0,0,1.07,0,0,0,0,0,1.07,1.07,2.15,2.15,0,0,0,0,0,0,0,1.07,1.07,0,1.07,0,0,0,1.07,0,2.15,0,0,0,0,0.326,0,0,0,0,2.7,12,108,0 +0,0,1.14,0,0,0,0,0,0,0,0,2.29,0,0,0,0,0,0,1.14,0,0,0,0,0,0,0,1.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.209,0,0,0,0,1.833,5,22,0 +0.08,0,0.16,0,0,0.08,0,0.08,0.73,0,0,0.24,0,0,0,0,0,0,0.32,0,0.16,0,0,0,0.49,0.57,0.08,0,0,0,0,0,0.57,0,0,0,0.16,0,0,0,0,0,0,0,0,0,0,0,0.126,0.172,0.057,0,0.022,0,3.212,44,665,0 +0.12,0,0.12,0,0.12,0,0,0,1.11,0,0,0.37,0,0,0,0,0,0,0.49,0,0.24,0,0,0,0.62,0.74,0.12,0,0,0,0,0,0.49,0,0,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0.083,0.167,0.033,0,0.033,0,3.211,32,485,0 +0.06,0,0.06,0,0,0,0,0,0.61,0,0,0.2,0,0,0,0,0,0.06,0.27,0,0.2,0,0,0,0.75,0.81,0.06,0,0,0,0,0,0.27,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0.173,0.183,0.048,0,0.019,0,2.738,36,827,0 +0.08,0,0.08,0,0,0,0,0,0.77,0,0,0.25,0,0,0,0,0,0.08,0.34,0,0.25,0,0,0,0.77,0.86,0.08,0,0,0,0,0,0.25,0,0,0,0.43,0,0,0.17,0,0,0,0,0,0,0,0,0.098,0.16,0.037,0,0.024,0,2.634,36,598,0 +0.07,0.03,0.18,0,0.1,0.03,0,0,0.4,0,0,0.1,0,0,0,0,0,0.03,0.14,0,0.1,0,0,0,0.47,0.5,0.03,0,0,0,0,0,0.76,0,0,0,0.32,0,0,0,0.07,0,0,0,0,0,0,0,0.188,0.148,0.035,0,0.01,0,3.233,66,1387,0 +0,0,0,0,0,0,0,0,0,0,0,3.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0.232,0.116,0,0,0,0,1.976,9,83,0 +0.23,0,0.47,0,0,0,0.23,0,0,0.47,0,0,0,0,0,0,0,0,1.17,0,0.23,0,0,0,1.64,0.7,0.7,1.17,0.23,0.23,0.23,0.23,0,0.23,0.23,0.7,0.47,0,0.23,0.23,0,0,0.47,0,0.7,0,0,0,0,0.237,0,0,0,0,2.42,12,334,0 +0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.18,1.45,0,1.45,0,0,0,0,0,0,0,0.72,0.72,0,0.72,0,0,0,0.72,0,0.72,0,0,0,0,0.467,0.116,0,0,0,2.431,12,124,0 +0,0,0,0,0,0,0,0,0,0,0,0.54,0.54,0,0,0,0,0,1.09,0,0,0,0,0,0.54,0.54,0.54,0.54,0,0,0,0,0,0,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0.102,0.308,0,0,0,0,1.4,10,77,0 +2.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.85,0,0,0,0,0,0,0,0,0,2.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.85,0,0,0,0,0,0,0,0.465,0,0,0,0,1.25,3,10,0 +0,0,0,0,0,0,0,0,0,0,0,2.23,0,0,0,0,0,0,0.74,0,0,0,0,0.74,0,0.74,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.49,0,0,0,0,0,0,0,0.124,0,0,2.333,31,77,0 +0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0,0,1.61,0,0,0,0,0,1.61,0.8,2.41,0.8,0.8,0.8,0.8,0.8,0,0.8,0.8,0.8,0.8,0,0,0.8,0,0,0.8,0,0.8,0,0,0,0.122,0.366,0,0,0,0,1.853,13,76,0 +0,0,0,0,0,0,0,0,0,0,0,1.38,0,0,0,0,0,0,2.77,0,0,0,0,0,0,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.228,0,0,0,0,1,1,12,0 +0.04,0.08,0.15,0,0.04,0.04,0,0.04,0.04,0.08,0,0.41,0.06,0,0,0,0.06,0.15,0.6,0,0.34,0,0.02,0,0,0,0,0,0.02,0,0,0,1.67,0,0,0.19,0.82,0.02,0.04,0,0.02,0.02,0.08,0.02,0,0.26,0.04,0.54,0.005,0.213,0.002,0.031,0.039,0.008,2.246,54,3003,0 +0,0,0.86,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0,0,2.6,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0,0,0,0,0.167,0,0,1.5,4,24,0 +0,0,0,0,0,0,0,0,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.217,0.29,0,0,0,4.461,28,290,0 +0,0,0,0,0,0,0,0,0,1.86,0,1.24,0,0,0,0,0,0,0,0,0,0,0,0,2.48,1.24,1.24,1.86,0.62,0.62,0.62,0.62,0,0.62,0.62,1.24,0,0,0.62,0.62,0,0,0.62,0,0.62,0,0,0,0.189,0.757,0,0,0,0,2.63,16,171,0 +0,0,0,0,0,3.44,0,0,0,0,0,0,0,3.44,0,0,0,0,0,0,6.89,0,0,0,0,0,3.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.52,0,0,0,0,1,1,7,0 +0,0,0.87,0,0,0.14,0,0,0,0,0.14,1.46,0.14,0,0,0.14,0.58,0.43,0.14,0,0.43,0,0,0,1.9,0.58,0,0.29,0.14,0,0,0,0,0,0.29,0,0.29,0,0,0.14,0,0.43,0.14,0,0.14,0,0,0.29,0.019,0.019,0.019,0,0,0,2.174,35,461,0 +0,0,0.74,0,0,0,0,0,0,0.74,0,0,0.37,0.74,0,0,0.37,0,0.37,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.11,0,0,0,0,0,0,0.37,0,0,0,0,0,0.245,0,0,0,0,4.666,64,196,0 +0,2.35,0,0,3.52,1.17,0,1.17,0,4.7,0,0,0,0,0,1.17,0,0,1.17,0,1.17,0,0,0,0,0,1.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0.192,0,0,0,0,1,1,14,0 +0,0.17,0,0,0.17,0,0,0.35,0,0,0,0.88,0,0,0,0,1.95,0,0.17,0,0,0,0,0,0.35,0.17,0,0,0,0.17,0,0,0,0,0,0.35,0,0,0,0,0,0,0,0,0.53,0,0,0,0,0.256,0,0,0,0,2.097,14,237,0 +0,0,0,0,0,0,0,0,0,0.62,0.31,0,0,0,0,0,0,0,0.31,0,0,0,0,0,0.93,0.62,0,0.93,0,0,0,0,0,0,0.31,0,0.93,0,0,0,0.93,0,0.31,0,0,0.62,0,1.86,0,0.122,0.122,0,0.214,0,2.904,20,363,0 +0,0,0,0,0,0,0,1.78,0,0,0,0,0,1.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,1.444,5,13,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.28,1.44,0,0,0,0,0,0,1.44,0,0,0,1.6,0,0,0,2.56,0,0,0,0,3.52,0,0,0.208,0.671,0.092,0,0,0,4.122,20,540,0 +0,0,1.81,0,0,0,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0,3.63,0,0,0,0,0,0,0,0,0.849,0,0,0,2.294,8,39,0 +0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,1.928,15,54,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.88,0,0,0,1.88,0,0,0,0,0,0,0.647,0,0,0,0,2.8,18,42,0 +0,0,2.08,0,0,0,0,0,0,0,0,2.08,0,2.08,0,0,0,0,2.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,11,0 +0,0,0,0,0,0,0,0,0,1.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.335,0,0,0,4.133,26,124,0 +0.09,0,0.36,0,0,0,0,0.09,0,0,0.18,1.01,0.18,0,0,0,0.64,0,0,0,0,0,0,0,2.49,0,0,0,0,0,0,0,0,0,0,0.09,0.18,0,0,0,0,0,0,0,0,0,0,0,0.131,0.209,0,0,0.039,0,2.278,24,629,0 +0,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0.77,0,0,0,0,0,0,0,0,1.55,0.77,0.77,0.77,0.77,0.77,0.77,0.77,0,0.77,0.77,0.77,0,0,0,0.77,0,0,0,0,0,0,0,0,0,0.376,0.125,0,0,0,2.4,11,48,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.17,0,0,0,0,2.094,26,111,0 +0,0,0,0,0,0,0,0,0,0,0,0.53,0,0,0,0,0,0,0.17,0,0,0,0,0,1.41,1.59,0,0,0,0,0,0,0.17,0,0,0,2.83,0,0,0,2.83,0,0,0,0,3,0,0.17,0.271,0.753,0.12,0,0,0,4.84,20,576,0 +0,0,0,0,2.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.38,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,2.111,6,19,0 +0,0,0.49,0,0.49,0.49,0,0,0,0.49,0,2.94,0,0,0,0,0,0,0.98,0,0,0,0,0,1.47,0.98,0,0.98,0.49,0,0,0,0.49,0,0,0.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0.166,0,0,0,0,2.234,11,105,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,6.38,0,0,0,0,0,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.666,6,30,0 +0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.16,0,0,0,0,0,0,0,1.16,0,0,0,0,0,1.16,0,0,0,0,0,0,0,0,0,0,0,1.16,0,0,0,0.196,0.393,0,0,0,0,1.058,2,18,0 +0,0,0,0,0.47,0,0,0,0,0,0,0.47,0,0,0,0,1.9,0,0,0,0,0,0,0,1.9,0.95,0,0,0,1.42,0,0,0,0,0,0.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0.217,0,0,0,0,1.677,5,99,0 +0,0,0,0,0,0,0,0,0,0,0,4.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.333,0,0,1.666,4,25,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,8.333,0,0,2,3,8,0 +0,0,0.28,0,0.28,0,0,0,0,0,0,0.84,0,0,0,0,0,0,0.28,0,0,0,0,0,1.69,0,0,0.56,0,0,0,0,0,0,0.56,2.54,0.28,0,0.28,0,0,0,0,0.28,0,0,0,0,0.217,0.072,0,0,0,0,1.948,55,191,0 +0,0,0,0,0.32,0,0,0,0.32,0.96,0,1.29,0,0,0.32,0.32,0,0,1.29,0,0,0,0,0,0.64,0.64,0,0,0.32,0,0,0,0,0,0,0.32,0.64,0,0.32,0,0,0,0.32,1.29,0.32,0,0,0,0,0.145,0.048,0,0,0,1.967,18,120,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0.632,0,0,1,1,4,0 +0.33,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0.33,2.01,0,0.33,0,0,0,1.34,1,1.34,0.33,0.33,0.33,0.33,0.33,1.34,0.33,0.33,0.33,0.33,0,0.33,0.33,0,0,0.33,0,0.33,0,0,0,0,0.296,0.059,0,0,0,1.742,12,122,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.46,0,1.23,0,0,0,0,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.062,2,17,0 +0,0,1,0,0,0,0,0,0,0.25,0.25,0.5,0,0,0,0,0,0,1,0,0.75,0,0,0,1,0.5,0,0,0.5,0.25,0,0,0,0,0,0,0.75,0,0,0,0,0,0,0,0,0,0,1,0.457,0.294,0,0,0,0,4.379,208,508,0 +0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.207,0.207,0,0,0,0,1.466,4,22,0 +0.54,0,0,0,0,0.27,0,0,0,0,0,0,0.54,0,0,0,0,0,3.79,0,0.54,0,0,0,0.27,0,0,0,0,0,0.54,0,0,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.433,0,0,0.078,0,1.859,18,106,0 +0.09,0,0.57,0,0,0.09,0,0,0,0,0.09,1.33,0.19,0,0,0.09,0.38,0.28,0.38,0,0.19,0,0,0,4.37,0.57,0.19,0.28,0.19,0.09,0.09,0.09,0,0.09,0.28,0.09,0.19,0,0,0.19,0,0.28,0.09,0,0.28,0,0,0.19,0.21,0.052,0.013,0,0,0,2.731,34,885,0 +0,0.17,0,0,0.17,0,0,0.35,0,0,0,0.88,0,0,0,0,1.95,0,0.17,0,0,0,0,0,0.35,0.17,0,0,0,0.17,0,0,0,0,0,0.35,0,0,0,0,0,0,0,0,0.53,0,0,0,0,0.256,0,0,0,0,2.053,13,232,0 +0,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0,0,0,1.17,0,1.17,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.817,0,0,0,0,1.64,5,146,0 +0,0,0,0,0,0,0,0,0,0,0,1.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.578,5,60,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.476,0,0,0,0,1.285,3,18,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.95,0,0,0,0,0,0.95,0,0,0,0,0,0,0,0.95,0,0,0,0,0,0,0,0,0,0,1.9,0,0,0,0,0.263,0.394,0,0,0,0,2.142,5,45,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.222,2,11,0 +0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.342,0,0,1.2,2,12,0 +0,0,0.87,0,0,0.17,0,0,0,0,0.17,1.74,0.17,0,0,0.17,0.69,0.52,0.17,0,0.17,0,0,0,1.21,0.52,0,0.34,0.17,0,0,0,0,0,0.34,0,0.17,0,0,0.17,0,0.52,0,0,0.17,0,0,0.34,0.022,0.022,0,0,0,0,1.601,11,277,0 +0.06,0,0.18,0,0.12,0.12,0,0,0.06,0.18,0,0.55,0.06,0,0,0.06,0.12,0.06,0.93,0.06,1.05,0,0,0,0.93,0.43,0,0,0,0.18,0.18,0,0,0,0.31,0,0.49,0,0,0.06,0,0,0,0.12,0,0,0,0.24,0,0.182,0,0.1,0.109,0,2.062,21,1056,0 +0,0,1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.26,0,0,0,0,0,0,2.53,1.26,0,1.26,0,1.26,1.26,0,0,0,1.26,1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0.149,0,0.149,0,0,1.423,10,37,0 +0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0,1.61,0,0,0.8,0,0.8,0,0,0,0.8,0,0,0,0,0,0.8,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.089,0,0,0,0,2.405,28,89,0 +0,0.85,0.42,0,0,0,0,1.28,0,0,0,0.42,0,0,0,0,0,0.42,1.28,0,0,0,0,0,2.14,1.28,0,0.42,0,0.42,0.42,0,0,0,0.42,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0.112,0,0.056,0,0,1.602,14,125,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0.44,0,0,0,0,0,0,0.44,0.44,0,0.88,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0.119,0,0,0,0,1.842,15,105,0 +0,0,0.51,0,0.17,0.17,0,0,0,0,0,0,0.17,0,0,0,0,0,1.19,0,1.02,0,0,0,2.9,0,0,0,0,0,0.34,0,0,0,0,0,0.34,0,0,0,0,0,0.17,0,0,0,0,0,0.026,0.156,0,0.078,0,0,1.748,13,299,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.166,2,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.166,2,7,0 +0,0.22,0,0,0.22,0,0,0.22,0,0.45,0,0.22,0,1.59,0,0,0.22,0,1.36,0,0,0,0,0,0.68,0,0.22,0,0,0,0.22,0,0,0,0.22,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0.053,0,0,0,0,4.964,152,705,0 +0,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6,0,0,0,0,0,2.4,1.6,0,0.8,0,0,0,0,1.6,0,0.8,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0.371,0.123,0,0,0,2.44,10,61,0 +0,0,1.09,0,1.09,0,0,0,0,0,0,1.09,0,0,0,0,0,0,3.29,0,0,0,0,0,0,0,1.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.434,0.217,0,0,0,0,1,1,18,0 +0,0,0,0,0,0,0,0,0,0,0,2.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.56,0,0,0,0.485,0,0,3.444,15,31,0 +0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0.74,0.74,0,1.48,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0.257,0,0,0,0,2.638,11,95,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.545,6,17,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0.87,0,0,0,0,0.87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.87,0,0,0,0.327,0.327,0,0,0,0,1.3,3,26,0 +0,0,0,0,0,0,0,0,0,0,0,4.22,0,0,0,0,0,0,0,0,1.4,0,0,0,0,2.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.81,0,0,0,0,0,0,0,0,0,0,0,0,3.153,38,82,0 +0,0,0,0,0,0,0,4.23,0,0,0,0,0,0,0,0,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.84,0,0.84,0,1.69,0,0.84,0,0.84,1.69,0,0,0,0,0.126,0,0,0,1.605,12,61,0 +0,0,0,0,0,0,0,4.68,0,0,0,0,0,0,0,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.153,3,15,0 +0.07,0,0.23,0,0.15,0,0,0.07,0,0.07,0.15,1.84,0.07,0,0,0,0.15,0,0.23,0.23,0,0,0.23,0,2.61,0,0,0,0,0,0,0,0,0,0,0.07,0.07,0.07,0,0,0,0,0,0.15,0,0,0,0,0.011,0.143,0,0,0.044,0,2.442,26,591,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0.343,0,0.171,0,0,0,1.725,13,69,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0.33,0.33,0,0,0,0,0,1,0,0.33,0,0,0,8.69,4.68,0,0,0,0.33,0.33,0,0,0,0,0,0.66,0,0.33,0,1.33,0,0,0,0,0,0,0,1.001,0,0,0,0,0,2.701,20,181,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,8,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.31,0,0,0,0,0,9.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.875,12,46,0 +0,0,0,0,0.92,0,0,0,0,0,0,0.92,0,0,0,0,0,0,0.92,0,0.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,7,33,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.44,1.72,0,0,0,0,0,0,0,1.72,0,0,0,0,0,0,0,0,0,0,3.44,0,0,0,1.72,0,0,1.72,0,0,1.72,0,0,0,0,0,0,1.2,4,18,0 +0,0,0.66,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,1.98,0,0.66,0,0,0,0.99,0.66,0.66,0.99,0.33,0.33,0.33,0.33,0,0.33,0.33,0.66,0.33,0,0,0.33,0,0,0.33,0,0.33,0,0,0,0,0.282,0,0,0,0,2.238,13,188,0 +0,0,0.38,0,0.38,0,0,0,0,0,0,1.15,0,0,0,0,0,0,0,0,0.38,0,0,0,0.38,0.38,0,0,1.93,0,0,0,0,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0.129,0,0,0,0,1.8,5,108,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.72,0,0,0,0,0,6.89,3.44,0,0,0,3.44,0,0,0,0,1.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.16,11,54,0 +0,0,2.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.12,0,0,0,0,0,0,0,0,0,0,0,0,4.368,52,83,0 +0,0,0,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,0,0,0,0,0,1.8,0,0.9,0,0,0,0,0,0,0.281,0,0,1.551,13,76,0 +0,0,0.13,0,0.2,0,0,0,0,0,0,0.6,0.06,0,0,0.13,0,0,0.73,0.06,0.73,0,0,0,1.6,0.33,0,0.13,0,0,0.26,0,0,0,0.33,0.13,0.4,0,0,0,0,0,0,0,0.13,0.06,0,0.2,0,0.208,0,0.028,0.075,0,2.068,29,871,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.43,0,0,0,0,0,4.87,4.87,0,2.43,0,0,0,0,0,0,2.43,1.21,0,0,0,0,0,0,0,0,0,0,0,0,0.182,0.365,0,0,0,0,2.25,10,63,0 +0,0,0.4,0,0,0,0,0,0,0.8,0,0,0,0,0,0,0,0,0.4,0,0.4,0,0,0,1.2,0.8,0,0,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.099,0,0.049,0,0,2.288,9,135,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.79,1.79,0,0.89,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0.89,0,0,0,0,0,0.136,0,0,0,0,1.988,24,179,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.29,2.19,0,3.29,0,0,0,0,0,0,1.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.155,0,0,0,0,2.862,15,83,0 +0,0,0,0,1.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.96,0,0,0,0,0,0.666,0,0,0,0,2.111,7,19,0 +0.19,0,0,0,0,0,0,0,0,0.59,0,0.19,0.19,0,0,0,0,0.19,0.59,0,0.19,0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0.127,0.095,0,0,0.031,0,1.411,7,120,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,4.16,4.16,4.16,4.16,4.16,4.16,4.16,0,4.16,4.16,4.16,0,0,0,4.16,0,0,0,0,0,0,0,0,0,1.176,0,0,0,0,3.444,11,31,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.69,4.34,4.34,4.34,4.34,4.34,4.34,4.34,0,4.34,4.34,4.34,0,0,0,4.34,0,0,0,0,0,0,0,0,0,1.19,0,0,0,0,3.333,11,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,1.09,0,0,0,0,0,1.63,0,0.54,0,0,0,1.09,0.54,0.54,0.54,0.54,0.54,0.54,0.54,0,0.54,0.54,0.54,0,0,0,0.54,0,0,0,0,0,0,0,0,0,0.17,0,0,0,0,1.373,11,169,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.25,2,5,0 +0,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0,0,0,2.9,0,0,0,0,0,1.74,1.16,1.16,1.74,0.58,1.16,0.58,0.58,0,0.58,0.58,1.16,0.58,0,0.58,0.58,0,0,0.58,0,0.58,0,0,0,0,0.379,0,0,0,0,2.222,12,140,0 +0,0,0,0,0,0,0,0,0,0.67,0,0.67,0.67,0,0,0,0,0,2.68,0,0,0,0,0,2.68,1.34,2.01,0.67,0.67,0.67,0.67,0.67,0,0.67,0.67,0.67,0.67,0,0.67,0.67,0,0,0.67,0,1.34,0,0,0,0.107,0.537,0,0,0,0,2.604,17,112,0 +0.34,0,0.34,0,0.34,0.34,0,0,0,0,0,0,0,0,0,0,0,0,2.41,0,1.03,0,0,0,2.06,1.03,1.03,0.68,0,0.68,0,0,0,0,0.68,0,1.03,0,0,0,0,0,0.34,0,0.68,0.34,0,0,0.116,0.292,0.058,0,0,0,2.333,15,182,0 +0,0,1.2,0,0,0,0,0,0,0,0,2.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,0,0,0,0,0,0,0,0.666,1.111,0.222,0,0,2.826,8,65,0 +0.08,0,0.16,0,0,0.08,0,0.08,0.08,0,0.16,0.74,0.57,0.16,0,0,0.41,0,0,0,0,0,0.24,0,3.3,0,0,0,0,0,0,0,0,0,0,0.24,0.24,0,0,0,0,0,0,0,0,0,0,0,0.199,0.105,0,0,0.023,0,1.878,24,740,0 +0.89,0,0,0,0.89,0.89,0,0,0,0,0,0,0,0,0,0,0,0,2.67,0,1.78,0,0,0,1.78,0.89,1.78,0.89,0,0.89,0,0,0,0,0.89,0,0.89,0,0,0,0,0,0,0,0.89,0,0,0,0.149,0.298,0,0,0,0,2.259,15,61,0 +0,0,0,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,2.63,2.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.208,10,53,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,2.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.25,10,13,0 +0,0,0,0,0.32,0,0,0,0,0,0,0.32,0,0,0,0,0,0.32,0.64,0,0.32,0,0,0,1.28,1.28,0.64,0.32,0.32,0.32,0.32,0.32,0.64,0.32,0.32,0.32,0.96,0,0.32,0.32,0,0,0.64,0.32,0.32,0.64,0,0,0,0.094,0.047,0.094,0,0,1.919,13,167,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.76,0,0,0,1.53,0.76,2.3,0.76,0.76,0.76,0.76,0.76,0,0.76,0.76,0.76,0.76,0,0.76,0.76,0,0,0.76,0,0.76,0,0,0,0,0.339,0,0.339,0,0,1.813,12,78,0 +0,0,0,0,0,0,0,0,0,0,0,1.6,0,0,0,0,0,0,0,1.6,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0.136,0,0.273,0,0,2.588,29,88,0 +0.51,0,0.51,0,1.53,0.51,0,0,0,0,0,0.51,0,0,0,0,0,0,3.58,0,0,0,0,0,2.56,0,2.05,0.51,0.51,2.05,0.51,0.51,0,0.51,0.51,1.02,0,0,0,0.51,0,0,0,0,1.02,0.51,0,0,0,0.27,0,0,0,0,1.983,24,121,0 +0,0,0,0,0.51,0,0,0,0,0,0,0.51,0,0,0,0,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.03,0,0,0,0.51,0,0,0,0,0,0,0.51,0,1.03,0,0,0,0,0,0,0,0,1.681,11,74,0 +0,0,1.05,0,0,0,0,0,0,0,0,1.05,0,0,0,0,0,0,0,0,0,0,0,0,4.21,3.15,0,0,0,0,0,0,1.05,0,0,0,0,0,1.05,0,0,2.1,1.05,0,0,0,0,0,0.169,0,0.679,0,0,0,2.096,12,65,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.282,0,0,1,1,8,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.44,2.22,0,2.22,0,0,0,0,0,4.44,0,0,0,0,0,0,0,0,0,2.22,0,2.22,0,0,0,2.22,0,4.44,0,0,0,0,0,0,0,0,0,1.947,12,37,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.69,4.34,4.34,4.34,4.34,4.34,4.34,4.34,0,4.34,4.34,4.34,0,0,0,4.34,0,0,0,0,0,0,0,0,0,1.111,0,0,0,0,3.1,11,31,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.5,9,11,0 +0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.85,0,0,0,0.398,0,0,0,0.199,3.055,11,55,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.69,5.93,0,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.84,0,0,0.84,0,0.84,0,0,0,0,0,0,0,0,1.285,4,36,0 +0.34,0,0,0,0,0,0,0,0,0,0,0.69,0,0,0,0,0,0,3.12,0,0.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0.432,0,0,0,0,1.526,11,87,0 +0,0,0,0,0,0,0,0,0,0,0,1.58,0,0,0,0,0,0,0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.58,0,0,0,0.287,0,0.287,0,0,1.076,2,14,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,3.26,0,0,1,1,5,0 +0,0,0.9,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,3.63,0,0.9,0,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.45,0.45,0,0,0,0.155,0,0.077,0,0,1.545,15,68,0 +0,0,1.4,0,0,0,0,0,0,0,0,1.4,0,0,0,0,0,0,1.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.81,0,0,0,0,1.4,0,0,0,0,0,0.497,0,0,1.722,10,31,0 +0.26,0,0.52,0,0.52,0,0,0,0,0.26,0,0.26,0,0,0,0,0,0.26,1.31,0,0.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.26,0.52,0.26,0,0,0.047,0.047,0,0.047,0,0,1.081,3,53,0 +0,0,0.27,0,0,0.27,0,0,0,0,0,0.27,1.39,0,0,0.27,0,0.27,2.79,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0.27,0,0,0.051,0,0,0,0,0,1.195,6,55,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.23,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.23,0,0,0,0.202,0,0,0,0,1,1,14,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.45,0,3.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0,1.125,2,9,0 +0,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0,0,1.94,0,0.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0.255,0,0,0,0.127,2.344,11,68,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,2.32,0,0,0,0,0,0,0,0,1.666,5,25,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.22,0,2.15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.15,0,0,0,0,1.07,0,0,0,0.197,0,0,0,0,2.315,7,44,0 +0,0,0,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,1.73,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0.86,0,0.86,0,0,0,0.152,0,0.457,0,0,1.192,3,31,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.44,0,0,0,1.44,1.44,0,0,0,0,0,0.247,0,0,1.684,5,32,0 +0,0,0,0,0,0.34,0,0,0,0,0,0.69,0,0,0,0,0,0,4.19,0,1.39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0.34,0.34,0,0,0,0,0,0,0,0,1.206,5,70,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9,0,0,0,0.174,0,0,0,0,1.222,4,22,0 +0,0,0.49,0,0,0.49,0,0,0,0,0,0.99,0,0,0,0,0,0,2.47,0,0.99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0.093,0,0.093,0,0,1.275,4,51,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.943,0,0.943,0,0,2.166,5,13,0 +0,0,0,0,0.96,0.48,0,0,0.48,0,0.48,0.48,0,0,0,1.44,0,1.92,0.96,0,1.44,0,0.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0,0,0.666,0,0,4.437,27,142,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,2.01,0,0,0,0,0,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0,0,0,0,0,0,0,0.67,0,0,0,0,0,0,0,0.26,0,1.592,5,43,0 +0,0,0.59,0,0.19,0,0,0,0,0,0,0.39,0.19,0,0,0.19,0.19,0.19,2.19,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.39,0.19,0,0,0,0.232,0,0,0.038,0,1.129,4,96,0 +3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,0,0,0.645,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,1.724,0,0,1,1,6,0 +0,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.16,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.16,0,0,0,0,0,0,0,1.16,1.16,0,0,0,0,0,0.578,0,0,1.36,5,34,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0.684,0,0,0,0,1.125,2,9,0 +0,0,0,0,0,0.57,0,0,0,0,0,0,0,0,0,0,0,0,2.31,0,2.89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.57,0,0,0,0,0,0,0,1.73,0.57,0,0,0,0,0,0,0,0,1.645,5,51,0 +0.54,0,0,0,0,0,0,0,0,0,0,2.18,0.54,0,0,0,0,0,3.82,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0,0,0,0,0,1.09,0,0,0,0,0.294,0,0.392,0,0,1.829,7,75,0 +0,0,0,0,0,0,0,0,0,1.38,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.38,0,0,0,0,0,0,0,0,1.5,4,24,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.19,0,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.06,0,0,0,1.06,1.06,0,0,0,0,0,0.398,0,0,1.181,5,26,0 +0,0,0,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0,0,1.94,0,2.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0.105,0.105,0,0,0,1,1,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.89,0,0.44,0,0,0,0,0,1.34,2.69,0,0,0,0,0,0,0,0,2.362,15,137,0 +0,0,0,0,0,0,0,0,0,0,0,3.84,0,0,0,0,0,0,5.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.92,1.92,0,0,0,0,0,0,0,0,1.166,3,14,0 +0,0,0.67,0,0,0,0,0,0,0,0,1.34,0,0,0,0,0,0,4.69,0,1.34,0,0,0,0,0,0,0,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0,0,0,0.493,0,0,0,0,1.24,3,31,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.4,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0.613,0,0,1,1,8,0 +0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,4.16,0,0,0,0,0,0,0,0,1,1,9,0 +0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.428,3,20,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,0,0,0,2.12,0,0,0,0.344,0,0,0,0,1.4,5,14,0 +0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,1,1,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.85,0,0,0,0,0,0,0,2.85,2.85,0,0,0,0.473,0,2.843,0,0,1.294,5,22,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,3.57,3.57,0,0,0,0.564,0,0,0,0,1.454,5,16,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,3.33,0,0,0,0.537,0,1.075,0,0,1.2,3,12,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0.28,0,0,0,0,0,0.86,1.72,0,0,0,0,0,0,0,0,2.557,16,179,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.68,4.08,0,0.68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0.68,0,0,1.36,0.68,0,0,0,0.38,0,0,0,0,1.607,6,45,0 +0.49,0,0.49,0,0.49,0,0,0,0,0,0,0.99,0,0,0,0,0,0,0.99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0,0,0,0,0.99,0.49,0,0,0,0,0,0.091,0,0,1.214,5,51,0 +0,0,0,0,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.21,0,0,0,0,0,0,0,1.21,0,0,0,0,0.212,0,0,0,0,1.406,5,45,0 +0,0,0,0,0,0,0,0,0,0,0,2.38,0,0,0,0,0,1.19,2.38,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0.395,0,0,0.197,0,1.428,4,30,0 +0,0,0,0,0,0,0,0,0,0,0,3.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.438,0,0,0,0,1,1,9,0 +0,0,0,0,0,0,0,0,0,0,0,1.81,0,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9,0,0,0,0,0,0,0,0.159,0,0,0.159,0,1.515,5,50,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,1.438,0,0,1,1,7,0 +0.08,0,0.17,0,0,0.08,0,0,0.08,0,0,0,0.08,0,0,0,0,0.08,4.19,0,1.39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.26,0,0,0,0.031,0.078,0,0.078,0,0,1.114,9,272,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.85,2.85,0,0,0,0,0,0,0,0,1.111,3,20,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.17,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.17,2.17,0,0,0,0.743,0,0.371,0,0.371,1.714,11,24,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,1.142,2,8,0 +1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.31,1.31,0,0,0,0,0,0,0,0,1.25,3,30,0 +0,0,0,0,0,0,0,0,0,0,0,0.84,0,0,0,0,0,0,5.04,0,0.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.84,0,0,0,0,0.143,0,0.143,0,0,1.37,4,37,0 +0,0,0,0,0,0,0,0,0,0,0,1.86,0,0,0,0,0,0,1.86,0,0.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.93,0,0,0,0,0,0,0.165,0,0,1.238,4,26,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.17,0,0,0,0,0,0.704,0,0,1,1,10,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,1,1,11,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,7.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,1.04,0,0,0,0,0,0,1.04,0,0,0,0,0,0,0,0,5.2,0,0,0,0,0,1.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.08,0,0,0,0,0.211,0,0.422,0,0,1.16,4,29,0 +0,0,0,0,0,0,0,0,0,0,0,1.53,0,0,0,0,0,0,4.61,0,0,0,0,0,0,0,0,0,1.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.222,5,20,0 +0,0,0,0,0.79,0.79,0,0,0,0,0,0,0,0,0,0,0,0,3.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.58,0,0,0,0.79,0,0,0,0,0,0,0,0,0,1.076,2,28,0 +0.13,0,0.41,0,0,0,0,0.27,0,0,0.27,1.93,0.13,0,0,0,0,0.27,1.65,0,0.13,0,0,0,0,0,0,0,0,0,0,0,0.13,0,0,0,0,0,0,0,0,0,0,0,0.82,0,0,0.13,0,0.023,0.046,0.164,0,0,1.279,11,183,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.61,0,0,0,0,0,0,0,0.61,0,0,0,0,0.118,0,0,0.118,0,1.59,5,35,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,2.666,7,24,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0,0,0.546,0,0,1.75,7,14,0 +0,0,0,0,0,0,0,0,0,0.95,0,0,0,0,0,0,0,0,2.85,0,0.95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.95,0,0,0,0.172,0.172,0,0,0,0,1.263,5,24,0 +0,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.49,0,2.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.49,0,0,0,0,0,0,1.069,0,0,1,1,13,0 +0,0,0.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,7.88,0,0,0.109,0,0,0.054,0,0,1.786,14,134,0 +0,0,0,0,0,0.6,0,0,0,0.6,0,0.6,0.6,0,0,0,0,0,3.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6,0,0,0,0,0,0,0,0.6,3.04,0,0,0.094,0,0,0.094,0.189,0,1.976,15,83,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.89,0,0,0,0.188,0,0.564,0,0,1,1,14,0 +0,0,0,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.56,0,0,0.182,0.182,0,0,0,0,1,1,9,0 +0,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0,1.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0,0,0,0,0.47,0.47,1.91,0,0,0,0.076,0,0.076,0,0,1.833,12,77,0 +0,0,0,0,0,0,0,0,0,0,0,1.75,0,0,0,0,0,0,3.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.87,1.75,0,0,0,0,0,0.259,0,0,1.681,12,37,0 +0.66,0.66,0.66,0,0,0,0,0,0,1.33,0,0,0,0,0,0.66,0,0,3.33,0,2.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.117,0,0,2.487,17,97,0 +0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,2.413,15,70,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.88,0,0,0,0,0,0,0,0,1,1,8,0 +0,0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0,4.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0,0,0,0.68,3.42,0,0,0,0,0,0.109,0.218,0,1.897,15,74,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.12,0,0,0,0,0,0.248,0,0,1.1,2,11,0 +0,0,0,0,0,0,0,0,0,1.44,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.89,0,0,0,0,0,0.954,0,0,9.125,63,73,0 +0,0,0,0,0,0,0,0,0,0,0,0.45,0,0,0,0,0,0,4.1,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.45,0.91,0,0,0,0.219,0,0,0,0,1.225,5,49,0 +0,0,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.08,0,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.04,4.08,0,0,0.226,0,0,0,0,0,1,1,8,0 +0,0,0,0,0,0,0,0,0,2.55,0,0,0,0,0,0,0,0,3.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.02,1.02,0,0,0,0.253,0,0.169,0.169,0,1.677,7,52,0 +0,0,0,0,0,0,0,0,0,0.84,0,0.84,0,0,0,0,0,0,2.54,0,1.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.69,0,0,0,0.134,0,0,0,0,1.285,5,27,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.81,0,1.16,0,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0.163,0,0.49,0,0,2.125,7,34,0 +0,0,0.35,0,0.35,0,0,0,0.35,0,0,0,0,0,0,0,0,0,1.4,0,3.5,1.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,0,0,0,0,0.35,0,0,0,0.65,0,0,0,0.05,2.483,17,226,0 +0,0,0.52,0,0,1.04,0,0,0,0.52,0,1.57,0,0,0,0,0,0,3.66,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.04,0,0,0,0,0,0.09,0,0,1.466,6,44,0 +0,0,0,0,0,0,0,0,0,1.02,0,0,1.02,0,0,0,0,0,4.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.04,0,0,0,0,0,0.147,0,0,1.333,4,24,0 +0.63,0.63,0,0,0,0,0,0,0,0.63,0,0,0,0,0.63,0,0,0,4.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.27,1.91,0,0,0,0.204,0,0.102,0,0,1.361,4,49,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.25,0,1.25,2.5,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.176,55,71,0 +0.1,0.72,0.62,0,0.62,0.1,0.2,0.2,0,0,0.1,0.51,0,0,0,0,0,0.82,3.61,0,0.93,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0.41,0,0,0,0.122,0,0.157,0,0,2.213,29,425,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.25,0,0,0,0,0,0,0,0,0,1,1,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.47,1.47,0,0,0,1.066,0,0.213,0,0,1.333,3,36,0 +0,0,0,0,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.29,0,0,0,0.246,0,0,0,0.246,0,1.363,4,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,1.13,0,0,0,0,0,1.13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.13,0,0,0,0.634,0,0.211,0,0.211,0,1.347,4,31,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.253,0.253,0,0,0,2.352,17,40,0 +0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.17,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.23,4,16,0 +0.34,0,0.69,0,0,0,0,0,0,0,0,0.69,0,0,0,0,0,0,2.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.69,0,1.39,0,0.34,0,0,0,0.374,0,0,0,0,1.775,5,71,0 +0,0,0,0,0,0,0,0,0,0,0,0.6,0,0,0,0,0,0,1.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21,0,0,1.454,5,32,0 +0.9,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9,3.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9,0,0,0,0,0,1.8,0.9,0,0,0,0,0,0,0,0,0,1.727,5,19,0 +0,0,0.4,0,0,0,0,0,0.4,0.4,0,0,0,0,0,0,0,0.4,1.63,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4,0,0,0.81,0,0,0,0,3.68,0,0,0.139,0,0,0.069,0,0,2.525,15,101,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8,0,0,0,0.9,4.5,0,0,0.145,0,0,0,0,0,2.638,20,124,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,2.263,0,0,0,0,3.149,9,1310,0 +0,0,0,0,0.66,0,0,0,0,0,0,0.66,0,0,0,0,0.66,0,3.33,0,0,0,0,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.66,0,0,0,0,0,0.254,0,0,0,0,1.458,7,35,0 +1.08,0,1.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0,0,0,0,0,1.523,5,32,0 +0,0,0,0,0,0,0,0,0,0.44,0,0,0.44,0,0,0,0,0,3.53,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0.44,0,0,0,0,0,0,0,0,2.063,47,97,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.06,0,0,0,0,0,0,0,1.06,2.65,0,0,0,0.322,0,0,0,0.129,2.6,18,182,0 +0,0.78,1.56,0,0,0,0,0,0,0,0,0.78,0,0,0,0,0,1.56,5.46,0,3.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.137,0,0.275,0,0,1.625,9,39,0 +0,0,0,0,0,1.63,0,0,0,0,0,0,0.81,0,0,0,0,0,3.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0.81,2.45,0,0,0,0,0,0,0,0,2.829,47,116,0 +0,0,0.55,0,0,0,0,0,0,0,0,0.55,0.55,0,0,0,0,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.55,0,0,0,0.087,0,0,0,0,2.54,47,94,0 +0,0,0,0,0,0,0,0,0,0,0,0,1.26,0,0,0,0,0,2.53,0,1.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.26,0,0,0,0,0,0,0,0,4.352,47,74,0 +0,0,0,0,0,0,0,0,0,0,0,0,0.62,0,0,0,0,0,3.75,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.25,1.87,0,0,0,0,0,0,0,0,2.704,47,119,0 +0,0,0.81,0,0.27,0,0,0,0,0.27,0,0.27,0.27,0,0,0,0,0,2.16,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0.27,0,0,0.045,0.091,0,0.045,0,0,2.078,47,106,0 +0,0,0.78,0,0,0.78,0,0,0,0.78,0,0,0.78,0,0,0,0,0,1.56,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78,0,0,0,0.12,0,0.12,0,0,2.862,47,83,0 +0,0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,2.94,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,4.312,47,69,0 +0,0,0,0,0,0,0,0,0,0.54,0,0,0.54,0,0,0,0,0,5.43,0,1.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,1.63,0.54,0,0,0,0.083,0,0,0,0,2.827,47,82,0 +0,0,0,0,0,0.33,0,0,0,0,0,0,0.82,0.16,0,0,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.49,0.16,0,0,0.019,0.039,0,0.059,0,0,1.632,47,191,0 +0,0,0,0,0,0.65,0,0,0,0,0,0,0.65,0,0,0,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,0,0,0,2.555,47,92,0 +0,0,0.43,0,0,0,0,0,0,0,0,3.94,0,0,0,0,0,0,2.63,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.314,5,46,0 +0,0,0.5,0,0,0.5,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0.5,0,0,0,0,0,0,0,0,2.527,47,91,0 +0,0,0,0,0,0,0,0,0,0,0,0,1.09,0,0,0,0,0,2.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.09,0,0,0,0,0,0,0,0,3.304,47,76,0 +0.32,0,0.16,0,0,0,0,0,0,0,0,1.29,0.48,0,0,0.16,0,0,2.43,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0.48,0.16,0,0,0,0,0,0.082,0,0,1.704,47,167,0 +0.43,0,1.31,0,0,0.43,0,0,0,0,0,0,0.87,0,0,0,0,0,0.87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0,0,2.137,47,109,0 +0,0,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0,4.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0,3.391,47,78,0 +0,0,0.67,0,0,0,0,0,0,0,0,1.01,0.33,0,0,0,0,0,1.35,0,0.33,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0.33,0,0,0,0,0,0.174,0,0,2.071,47,116,0 +0.15,0,0.15,0,0,0,0,0,0.07,0,0,0.07,0.15,0,0,0.07,0,0.07,3.6,0,1.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.15,0,0,0,0.013,0.123,0,0.082,0,0,1.111,9,328,0 +0.09,0,0.54,0,0,0.09,0,0,0.09,0,0,0.09,0.09,0,0,0.09,0,0,0.09,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0,0,0,0.017,0,0.034,0,0,1.429,47,306,0 +0,0,0.38,0,0.19,0.29,0,0,0,0,0,0,0.87,0,0,0.09,0,0,0.19,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0,0,0,0,0,0.09,0,0,0,0,0,0,0,0,1.508,47,187,0 +0,0,0.09,0,0,0,0,0,0,0,0,0.47,0.66,0,0,0.09,0,0,1.23,0,0.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.37,0.09,0,0,0,0.033,0,0,0,0,1.536,47,192,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.68,0,1.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0,0,0,0,0,0,0.471,0,0,1.033,2,31,0 +0,0,1.57,0,0.22,0.22,0,0,0,0,0,0,0.22,0,0,0,0,0,2.02,0,0.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.22,0,0,0,0,0,0.89,0,0,0,0,0.091,0,0.045,0,0,1.276,16,97,0 +0,0,0.66,0,0,0.66,0,0,0,0,0,0.66,0,0,0,0,0,0,1.66,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0.33,0,0,0,0,0,0,0,0,0,1.142,4,56,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0,0,0,0,3.103,51,90,0 +0,0,0,0,0,0,0,0,0,0.86,0,1.72,0.86,0,0,0,0,0,2.58,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0.321,0,0.214,0,0,3.956,51,91,0 +0,0,0,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,3.84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.56,1.28,0,0,0,0,0,0,0,0,3.772,51,83,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.57,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78,0.78,0.78,0,0,0,0,0,0,0,0,2.848,51,94,0 +0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,0,0,4.05,51,81,0 +0,0,0,0,0,0,0,0,0,0.75,0,0,0,0,0,0,0,0,2.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.75,0,0,0,0,0,0,0,0,3.333,51,90,0 +0,0,0.25,0,0.25,0,0,0,0,0,0,0,0,0,0,0,0,0,2.05,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.76,0.25,0,0,0,0.094,0,0.047,0,0,1.884,51,147,0 +0,0,0.48,0,0.32,0.16,0,0,0.32,0,0,0,0.16,0,0,0,0,0,2.26,0,0.48,0,0,0.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0.16,0,0,0,0.086,0,0.057,0,0,1.698,51,158,0 +0,0,1.88,0,0.94,0,0,0,0,0,0,0,0,0,0,0,0,0,2.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.94,0,0,0,0,0,0,0.756,0,0,1,1,22,0 +0.38,0,1.16,0,0,0,0,0,0,0,0,1.16,0,0,0,0.77,0,0,0.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.77,0.38,0,0,0,0,0,0,0,0,2,51,114,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.58,0,0,0,0,0,0,0,0,4.368,51,83,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0,0,0,0,0,0,0,2.01,2.68,0,0,0,0.102,0,0,0,0,3.4,51,119,0 +0,0,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.76,0,0,0,0,0,0,0,1.52,2.29,0,0,0,0.139,0,0,0,0,2.29,16,71,0 +0,0,0.53,0,0,0.53,0,0,0,0.53,0,0,0.53,0,0,0,0,0,2.15,0,0.53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.07,0,0,0,0,0.101,0,0,0,0,1.857,16,52,0 +2.32,0,0,0,0,0.77,0,0,0,0,0,0.77,0,0,0,0,0,0,4.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.55,0,0,0,0,0,0,0.159,0,0,1.346,4,35,0 +0,0,0,0,0,0,0,0,0,1.43,0,0,0,0,0,0,0,0,2.15,0,0.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.71,0.71,0,0,0,0,0,0,0,0,2.939,51,97,0 +0,0,0,0,0.64,1.29,0,0,0,0,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,1.29,0,0,0,0,0,1.29,1.94,0,0,0,0,0,0.188,0,0,2.686,51,137,0 +0,0,0.27,0,0,0,0,0,0.27,0.55,0,0,0,0,0,0,0,0,3.3,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0.27,0,0,0,0,0,0.048,0,0,1.873,47,118,0 +0,0,1.39,0,0,0,0,0,0,0,0,0.34,0,0,0,1.04,0,0,4.52,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.04,0.34,0,0,0,0.122,0,0,0,0,1.963,47,108,0 +0,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0.6,0,0,1.8,0,1.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.817,0,0,1.857,15,39,0 +0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,4.117,47,70,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.92,0.92,0,0,0,0,0,0,0.857,0,2.918,47,108,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.06,0,0,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,1.06,0,0,0,0.14,0,0,0,0,2.625,47,84,0 +0.7,0,0.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.41,1.41,0,0,0,0,0,0.105,0,0,2.342,47,89,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.03,0,0,3.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.03,1.03,0,0,0,0,0,0,0,0,2.843,47,91,0 +0,0,0,0,0,0,0,0,0,0,0,1.53,0.76,0,0,0,0,0,3.07,0,0.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.444,6,26,0 +0,0,0.91,0,0,0,0,0,0,0,0,0.91,0.91,0,0,0,0,0,5.5,0,0.91,0,0,1.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.91,0.91,0,0,0,0,0,0.13,0,0,2.457,47,86,0 +0,0,0,0,0,0,0,0,0,0,0,0.83,0,0,0,0,0,0,3.33,0,0.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.83,0,0,0,0.83,0,0,0,0.12,0,0,0,0,3.137,47,91,0 +0,0,1.17,0,0,0,0,0,0,1.17,0,2.35,1.17,0,0,0,0,0,1.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.17,0,0,0,0,0,0,0,0.361,0,0.361,0.18,0,1.652,4,38,0 +0,0,0,0,0,0,0,0,0,0.96,0,0,0.96,0,0,0,0,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.96,0,0,2.88,0,0,0,0,0.327,0,0.327,0.327,0,1.482,4,43,0 +0,0,0,0,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0.78,0,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.277,0,0.263,0,0,1.047,2,22,0 +0,0,1.17,0,1.17,0,0,0,0,0,0,3.52,0,0,0,0,0,0,1.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.35,0,0,2.35,0,0,0,0,0.192,0,1.156,0.192,0,1.7,6,34,0 +0,0,1.17,0,0,0,0,0,0,0,0,2.35,0.78,0,0,0,0,0,3.13,0,0.39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.39,0,0,0,0.284,0,0.284,0.213,0.071,1.565,12,72,0 +0,0,1.5,0,0.75,0,0,0,0,0,0,0.75,1.5,0,0,0.75,0,0,1.5,0,0.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.75,0,0,0,0,0.147,0,0.441,0,0,2,6,54,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.331,0,0.331,0,0,1.714,4,24,0 +0,0,0,0,0,0,0,0,0,0,0,1.88,0,0,0,0,0,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0.33,0,0,1.769,4,23,0 +0.36,0,0.36,0,0.36,0,0,0,0,0,0,0.72,0,0,0,0,0,0,1.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0.36,0,1.08,0.72,0,0,0.124,0,0.062,0.062,0,0,1.414,13,116,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.75,0,1.75,5.26,0,1.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.238,0,0,4.375,55,70,0 +0,0,0.39,0,0.39,0.39,0,0,0,0,0,0,0.39,0,0,0.39,0,0.39,1.17,0,0.78,0,0.39,0.39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.39,0,0,0,0.065,0.065,0.261,0.065,0,2.89,55,159,0 +0,0,0,0,0,0,0,0,0,0,0,1.31,0,0,0,1.31,0,1.31,0,0,3.94,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0.194,0,0,0,5.2,55,104,0 +0,0,1.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.05,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0.68,0,0,0,0.113,0,0,0,0,1.315,4,25,0 +0,0,0.71,0,0,0,0,0,0,0,0,0.71,0,0,0,0,0,0,2.15,0,0.71,0,0,0,0,0,0,0,0.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.342,0,0,1,1,31,0 +0,0,0.9,0,0,0,0,0,0,0.45,0,0,0,0,0,0.45,0,0.45,0,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.45,0,0,0,0,0,0,0,0.45,0.45,0,0,0.056,0.227,0,0.056,0,0.056,5.8,70,290,0 +0,0,1.25,0,0.62,0,0,0,0,0,0,1.25,0,0,0,1.88,0,0,4.4,0,0,0,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.327,0,0,0.109,0.109,1.705,9,58,0 +0.31,0,0.31,0,0,0,0,0,0,0,0,0.31,0.31,0,0,0,0,0,2.84,0,0.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.059,0,0.709,0,0,1.119,4,47,0 +0,0,0.21,0,0.21,0,0,0.21,0,0,0,0,0,0,0,0,0,0,1.94,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.079,0,0.039,0.119,0,0.039,1.086,3,101,0 +0,0,1.85,0,0,0,0,0,0,1.85,0,1.85,1.85,0,0,0,0,0,5.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.692,0,0,1.727,5,19,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.216,0,0,1,1,18,0 +0,0,0.35,0,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0,2.47,0,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,0,0.7,0,0,0,0,0.064,0,0.324,0,0,1.12,3,56,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.653,0,0,1.666,5,10,0 +0,0,0.58,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,1.76,0,1.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.108,0.108,0.432,0,0,1,1,35,0 +0.28,0,0.28,0,0.57,0,0,0,0,0,0,0.28,0,0,0,0,0,0,2.87,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.154,0,0.308,0,0,1.148,4,54,0 +0,0,0,0,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0,1.89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.63,0,0,0,0,0,0.103,0,0.62,0,0,1,1,26,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,8,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.757,0,0,1.222,4,22,0 +0.39,0,0.13,0,0.13,0,0,0,0.13,0,0.13,0.13,0,0,0,0.13,0,0,3.85,0,1.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.066,0,0,0,0.022,1.514,21,159,0 +0,0.49,0,0,0,0,0,0,0,0,0,0.49,0,0,0,0,0,0,2.94,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.241,0,0,0,0.08,1.77,21,85,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.66,0,0,0,1.66,3.33,0,0,0,0.8,0,0,0,0,1.5,4,33,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.87,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.478,0,0,0,0,1.333,4,28,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,0,0,0,0,0,0,0,1.4,4,14,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.69,0,0,0,0,1.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.69,0,0,1.69,0,0,0,0,0,0,0,0,0,1.071,2,15,0 +0,0,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0,0,1.25,0,3.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0.715,0,0,0,0,1.411,4,24,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.63,0,2.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.523,0,0,0,0,1.6,4,16,0 +0,0.52,0.52,0,0,1.57,0,0,0,0,0,0,0,0,0,0.52,0,0.52,1.04,0,0.52,0,0,0,0,0,0,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0.52,0,0.52,0,0,0,0,0,0.087,0,0.175,0,0,1.093,3,35,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.94,0,2.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,1.92,0,0,0,0,0,0,1.92,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.5,21,42,0 +0,0,0.19,0,0,0,0,0,0,0,0,0.79,0,0,0,0.39,0,0,0.99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0,0.19,1.19,0,0,0,0,0,0.029,0,0,1.131,11,155,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.69,0,0,0,0,0,0,9.575,0,0,1.387,5,43,0 +0.28,0,0.28,0,0,0,0,0,0,0,0,0.28,0.28,0,0,0.28,0,0.28,1.97,0,0,0,0,0.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.28,0,0,0,0.103,0,5.054,0,0,1.403,18,80,0 +0,0,0.73,0,0.36,0.36,0,0,0,0,0,0,0,0,0,0,0,0,2.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.387,0,0,1.131,4,69,0 +0,0,0.48,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,2.43,0,0.97,0,0,0.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0.45,0,0,1.138,4,41,0 +0,0,0,0,0,0.61,0,0,0,0,0,0.61,0,0,0,0,0,0,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.61,0,0,0,0,0,0,0,0,0,1,1,35,0 +0,0.35,0.35,0,0,0.35,0,0,0,0.35,0,0.71,0,0,0,0,0,0,3.58,0,1.07,0,0,0,0,0,0,0,0.35,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,0,0,0,0,0,0,0.12,0.06,0,0,0,1.787,11,118,0 +0,0,0,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0,0,2.59,0,2.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0,0.64,0,0,0,0,0,0,0,0,0,1.5,5,51,0 +0,0,0.51,0,0,0.51,0,0,0,0,0,0,0.51,0,0,0.51,0,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.087,0,0,1.218,6,39,0 +0,0.38,0.38,0,0,0.38,0,0,0,0.38,0,0.77,0,0,0,0,0,0,3.5,0,1.16,0,0,0,0,0,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.131,0.065,0,0,0,1.843,11,118,0 +0.95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.85,0,0.95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.95,0,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,2.608,14,60,0 +0.76,0,0,0,0,0.76,0,0,0,0,0,0,0,0,0,0,0,0,3.07,0,3.07,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.253,0,0.253,0,0,2.172,9,63,0 +0,0,0,0,0,0,0,0,0,0,0,1.69,0,0,0,0,0,1.69,0,0,1.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.69,0,0,0,0,0,0,0.278,0,0,1.777,4,32,0 +0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,3.33,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0.558,0,0,0,0,1,1,6,0 +1.47,1.47,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.391,21,55,0 +0,0.87,0.87,0,0,0,0,0,0,0.87,0,0.87,0,0,0,0,0,0,3.5,0,0.87,0,0,0.87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.87,0,0,0,0,0,0,0,0.138,0,2.136,21,47,0 +0,3.03,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,2.769,21,36,0 +0,1.08,0,0,0,0,0,0,0,1.08,0,3.26,0,0,0,0,0,0,5.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0,0,0.169,0,0,2.052,21,39,0 +0,2.7,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,0,0,8.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,0,0,0,2.538,21,33,0 +0.58,0,0,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,2.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0.58,0,0,0.58,1.16,0,0,0,0.165,0,0.082,0,1.403,2.674,17,115,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,1.75,0,0,0,0,1.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.25,0,0,1.285,3,18,0 +0,1.28,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,0,0,5.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.28,0,0,1.28,1.28,0,0,0,0,0,0,0,0,0,2.105,21,40,0 +0,0.36,0.36,0,0,0,0,0,0,0.36,0,0,0,0,0,0,0,0,1.47,0,0.36,8.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.121,0,0,0.063,0,0.507,7.326,43,359,0 +0,0.42,0.21,0,0,0,0,0,0,0.42,0,0,0,0,0,0,0,0,1.26,0,0.21,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21,0,0,0.42,0,0,4.385,0,0,0.071,0,0.503,6.822,43,614,0 +0,0.36,0,0,0.36,0,0,0,0,0.36,0,0.36,0,0,0,0,0,0,1.08,0,0,7.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.972,0,0,0.063,0,0.504,6.423,43,334,0 +0,0.44,0,0,0.44,0,0,0,0,0.44,0,0.44,0,0,0,0,0,0,0.44,0,0,8.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.367,0,0,0.074,0,0.592,7.288,43,328,0 +0,0.41,0,0,0,0,0,0,0,0.41,0,0.41,0,0,0,0,0,0,0.41,0,0,8.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.096,0,0,0.07,0,0.776,7.531,43,354,0 +0,1.35,1.35,0,0,0,0,0,0,1.35,0,0,0,0,0,0,0,0,2.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.35,0,0,0,0,0.221,0,0,0,0,2.222,21,40,0 +0,1.38,1.38,0,0,0,0,0,0,1.38,0,0,0,0,0,0,0,0,9.72,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.38,0,0,0,0,0,0,0,0,0,2.052,21,39,0 +0,2.12,0,0,0,0,0,0,0,2.12,0,2.12,0,0,0,0,0,0,6.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,0,0,0,0,0,0,0,0,0,2.692,21,35,0 +0.35,0.35,0,0,0,0,0,0,0,0.35,0,0.35,0,0,0,0,0,0,1.42,0,0,11.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.672,0,0,0.06,0,0.481,7.464,43,418,0 +0,0,0,0,0,0,0,0,0,0,0,1.01,0,0,0,1.01,0,0,2.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.327,0,0,1.263,6,24,0 +0,0.36,0,0,0,0,0,0,0,0.73,0,0,0,0,0,0,0,0,1.46,0,0.36,10.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.838,0,0,0.062,0,0.503,6.912,43,394,0 +0,1.42,0,0,0,0,0,0,0,1.42,0,0,0,0,0,0,0,0,4.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.42,1.42,0,0,0,0,0,0,0,0,3.555,21,96,0 +0,1.78,0,0,0,0,0,0,0,1.78,0,3.57,0,0,0,0,0,0,8.92,0,1.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.78,0,0,0,0,0,1.78,0,0,0,0,0,0,0,0,0,2.388,21,43,0 +0.36,0,0.73,0,0,0,0,0,0,0.73,0,0.73,0,0,0,0,0,0,3.3,0,0,0,0,0,0.73,1.1,0,0.73,0.36,0.36,0,0,0,0,0.36,0.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0.231,0,0,0,0,2.482,16,144,0 +1.49,0,0,0,0,0,0,0,0,0,0,1.49,0,0,0,0,0,0,4.47,0,1.49,0,0,0,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.49,0,0,0,0,0,0,0,0,0,0,1.933,8,29,0 +0,0,0,0,0,0,0,0,0,0.69,0,2.09,0,0,0,0,0,0,4.19,0,0.69,0,0,0,1.39,3.49,0,1.39,0.69,0.69,0,0,0,0,0.69,1.39,0,0,0,0,0,0,0,0,0,0,0,0,0,0.281,0,0,0.093,0,2.744,12,129,0 +0.16,0,0.32,0,0,0.16,0,0,0,0.16,0,1.44,0,0,0,0.16,0,0,3.21,0,0.96,0,0,0,0.16,0.16,0,0,0.16,0.16,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0.64,0,0,0,0.32,0.185,0.318,0,0.079,0,0.053,1.695,36,290,0 +0,0,0,0,0,0,0,0,0,1.02,0,1.02,0,0,0,0,0,0,5.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.04,0,0,0,0,0.309,0.154,0,0.154,0,0,3.304,48,76,0 +0,0,2.32,0,0,0,0,0,0,2.32,0,0,0,0,1.16,0,0,0,2.32,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.16,0,1.16,0,0,0,0,0.204,0,0,0,0,1.75,11,35,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0.72,0.72,0,2.17,0,0,0,0,0,0,1.44,0,0,0,0,0,0,0,0,0.72,0,0,0.72,0,0,0.204,0,0.306,0.102,0,2.538,22,99,0 +0,0.56,0,0,0,0,0,0,0,0,0,0.56,0,0,0,0,0,0,2.27,0,0,0,0,0.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.56,0.56,0,0,0,0,0.099,0,0,0,0.099,1.035,2,29,0 +0,0,0,0,0,0,0,0,0,0,0,0.67,0,0,0,0,0,0,4.05,0,2.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0,0.67,0,0,0,0,0.679,0,0,0,0,1.636,6,72,0 +0,0,0,0,3.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.307,5,17,0 +0,0.8,0,0,0.6,0,0,0.2,0,0.2,0,0,0,0,0,1.8,0,2.2,1.8,0,2.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0.2,0,0,0,0,0,0.06,0,0,2.533,43,228,0 +0,0.37,0.37,0,0.09,0.09,0,0.37,0,0,0,0.28,0.28,0,0,0.84,0.09,0.56,2.72,0,2.16,0,0.18,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0,0,0,0,0,0,0,0.18,0,0,0,0,0.056,0,0.142,0.071,0.014,1.934,19,383,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,1.571,3,11,0 +2.27,0,0,0,0,0,0,0,0,2.27,0,0,0,0,0,0,0,0,2.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.27,0,0,0,0,0,2.27,0,0,0,0,0,0,0,0,0,1.2,3,12,0 +4,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.168,0,0.168,0,0,1.459,10,54,0 +0,0,0,0,0.48,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.084,9,123,0 +0,0,0.37,0,1.13,0,0,0,0,0.75,0,1.13,0,0,0,0,0,0,2.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.37,0,0,0,0,0,0,0,0,0,0,1.264,4,43,0 +0,0,1.98,0,0.99,0,0,0,0,0,0,1.98,0,0,0,0,0,0,4.95,0,0.99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.99,0,0,1.98,0,0,0,0,0,0,0,0,0,0,0,0,1.222,4,22,0 +0,0,0,0,0,0.5,0,0,0,0,0,0,0,0,0,0,0,0.5,2,0,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.271,0,0,1.057,2,37,0 +0,0,0,0,0,0,0,0,0,0.88,0,0,0,0,0,0,0,0,1.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.88,0,0.88,0,0,0,0,0,0,1.76,0,0,0,0.157,0,0.157,0,0,2,15,84,0 +0,0,0.51,0,0.17,0,0,0,0,0,0,0.34,0,0,0,0,0,0,2.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.064,0,0.064,0,0,3.587,55,226,0 +0,0,0.46,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0,0,3.7,0,0,0,0,0.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0.094,0,0.473,0,0,2.5,24,40,0 +0,0,0.36,0,0.09,0,0,0,0,0,0,0,0.09,0,0,0,0,0.18,4.24,0,1.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.09,0.99,0,0,0.072,0.116,0,0.188,0,0,1.302,9,297,0 +0,0,3.61,0,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,3.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6,0,0,0,0,0,0,0.12,0,0.12,1.96,9,49,0 +0,0.82,0,0,0,0,0,0,0,1.24,0,0,0,0,0,0,0,0,1.65,0,0,9.95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.149,0,0,0.07,0,0.562,7.416,43,356,0 +0,0,0,0,0,0,0,0,0,2.77,0,0,0,0,0,0,0,0,2.77,0,5.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.77,0,0,0,0,0,0,0.438,0,0,1.214,3,17,0 +0,9.52,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,0,0,0,0,0,1,1,10,0 +0,0.27,0,0,0,0,0,0,0,0.27,0,0,0,0,0,0,0,0,1.94,0,0,8.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.23,0,0,0.048,0,0.482,5.802,43,412,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.63,0,0,0,0,0,0,0,0,0,1,1,12,0 +0,0,0.71,0,0,0,0,0,0,0,0,0.71,0.71,0,0,0,0,0,0.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.121,0,0.243,0,0,1,1,31,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.04,0,0,9.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.187,0,0,0.141,0,0.425,6.51,43,319,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,6.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.43,0,0,0,0,0,0,0,0,0.43,0,0,3.885,0,0,0.073,0,0.439,5.754,43,328,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.37,0,0,2.24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.37,0,0,3.024,0.059,0,0.059,0,0.237,5.016,43,311,0 +0,0,0.22,0,0,0,0,0,0,0,0,0.22,0,0,0,0,0,0,1.11,0,0.22,7.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.22,0,0,0,0,0,0,0,0,0,3.125,0,0,0.24,0,0.28,5.397,43,448,0 +0,0,0,0,0,0.42,0,0,0,0,0,0.84,0,0,0,0,0,0,2.1,0,0,6.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0,0,0,0,0,0,4.123,0,0,0.073,0,0.441,6.186,43,266,0 +0,0,0,0,0,0,0,0,0,0,0,1.63,0,0,0,0,0,0,6.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.63,0,0,0,0,0,0,0,0,0,1.333,4,20,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0.95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.95,0,0,0,0,0,0,0,0,0,0,0,0,1.076,3,28,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.37,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.116,0,1.419,5,44,0 +0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,9,0 +0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,0,0,1,1,9,0 +0,0,0,0,0,0,0,0,0,0,0,0.76,0,0,0,0,0,0.76,1.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.133,0,0.266,0,0,1,1,23,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12.19,0,4.87,0,0,9.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,7,0 +0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,0,3.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,3.33,0,0,0,0,0,0,0,0,0,1.142,3,16,0 +0,0,0,0,0,0,0,0,0,0,0.24,0.72,0.24,0,0,0,0.24,0,0.72,0.24,2.16,0,0.48,0,0,0,0,0,0,0,0,0,0,0,0.24,0,0,0,0,0,0,0,0,0,0,0.24,0,0,0,0.447,0,0.122,0.285,0,3.714,19,286,0 +0,0,0.91,0,0.3,0,0,0,0,0,0,0.3,0.3,0,0,0,0,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.3,0.3,0,0,0,0,0,0,0,0,1.505,14,128,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.38,0,0,0,0,0,0,0,0,1.38,0,0,0,0,0,0.208,0,0,2.655,15,77,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,10,0 +0,1.25,0,0,0,0,0,0,0,0,0,2.81,0,0,0,0,0,1.56,0.93,0,0.31,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0.164,0,0.109,0.054,0,2.193,18,136,0 +0,0.22,0,0,0.22,0,0,0,0,0,0,1.36,0,0,0,0,0,1.59,0.91,0,0,0,0,0,0,0,0,0,0.22,0,0,0,0.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.326,0,0.285,0,0,2.043,31,141,0 +0.51,0,0.51,0,1.53,0,0,0,0,0.51,0,0.51,0,0,0,0,0,0,1.02,0,0,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.51,0.51,0,0,0.079,0,0,0,0,1.442,8,75,0 +0,0,0.34,0,0.34,0,0,0,0,0,0,1.37,1.37,0,0,0,0,0.34,2.74,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0.232,0,0.406,0,0,1.425,6,77,0 +0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.377,0,0,1,1,33,0 +0,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,0,0,2.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,0,0,0,0,0,0,0.232,0,0,1.296,8,35,0 +0,0,2.12,0,1.06,0,0,0,0,0,0,2.12,0,0,0,0,0,0,5.31,0,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.06,0,0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,1.238,4,26,0 +0.26,0,0.26,0,0.52,0,0,0,0,0.26,0,0.26,0,0,0,0.26,0,0,1.31,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.038,0,0.038,1.541,12,202,0 +0,0,0,0,0,0,0,0,0,0,0,0.69,0,0,0,0.69,0,0,2.79,0,0.69,0,0,0,2.09,0,0,0,0,1.39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.69,1.39,0,0,0,0.221,0,0,0,0,2.184,12,83,0 +0,0,0,0,0.54,0,0,0,0,0,0.54,1.09,0,0,0,0,0,0,3.82,0,0,0,0,0,2.18,2.18,0,0.54,0,1.09,0,0,0,0,0.54,0,0,0,0,0,0,0,0.54,0,0.54,0,0,0,0,0.087,0,0,0,0,3.533,34,159,0 +0,0,0,0,0,0,0,0,0,1.25,0,1.25,0,0,0,0,0,0,2.5,0,1.25,0,0,0,1.25,1.25,0,0,0,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0,1.25,1.25,0,0,0,0,0,0,0.204,0,2.45,15,49,0 +0,0,0.55,0,0,0,0,0,0.55,0,0,0,0.55,0,0,0.55,0,0.55,0,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.093,0,0.563,0,0,2.928,55,82,0 +0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0,0.54,0.54,0,1.63,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,0.54,0,0,0,0,0,0.407,0,0,2.038,14,53,0 +0,0,2.27,0,0,0,0,0,0,0,0,2.27,0,0,0,1.13,0,1.13,2.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.13,0,0,0,0.143,0,0,0,0,8.761,77,184,0 +0,0,0,0,0,0,0,0,0,0,0,0.92,0,0,0,0,0,0.92,3.7,0,0.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.92,1.85,0,0,0,0.295,0,0,0,0,2.535,12,71,0 +0,0,0,0,0,0,0,0,0,0,0,0.99,0,0,0,0,0,0,5.94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.99,0,0,0,0.191,0,0,0.766,0,0,1,1,18,0 +0.12,0,0.12,0,0,0,0,0,0,0,0.12,0.38,0,0,0,0,0.12,0,1.78,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0,0,0,0.25,0,0,0.12,0.63,0,0,0.018,0.074,0,0.055,0,0.018,3.08,63,419,0 +0.11,0,0.33,0,0,0,0,0,0,0.11,0,0.45,0,0,0,0.11,0.11,0,2.81,0,0.9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0,0,0,0,0.22,0,0,0.33,0.56,0,0,0.017,0.136,0,0.051,0,0.017,2.944,63,427,0 +0,0.6,0,0,0.6,0,0,0,0,2.43,0,0.6,0,0,0,0,0,0,1.82,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.21,0,0,0,1.82,0,0,0,0.271,0,0,0,0.09,6.09,71,201,0 +0,0.6,0,0,0.6,0,0,0,0,2.43,0,0.6,0,0,0,0,0,0,1.82,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.21,0,0,0,1.82,0,0,0,0.271,0,0,0,0.09,6.09,71,201,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.63,5.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.625,3,13,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14.28,0,7.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,2.34,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0.33,0,0,0,0.06,0,0.302,0,0,1.562,14,100,0 +0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1,0,0,0,0,0,0,0.633,0,0,1.386,11,61,0 +0,0,0,0,0,0.77,0,0,0,0,0,0,0,0,0,0,0,0,7.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.156,0,0.312,0,0,1.08,2,27,0 +0,0,0.26,0,0.52,0,0,0,0,0,0,0,0,0,0,0,0,0.52,1.56,0,1.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.52,0,0,0,0.26,0,0,0,0,0.26,0,0,0,0.753,0.113,0,0.037,0.037,0,1.797,20,169,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0.34,0,0,0.68,0,0.68,0,0,0.34,0.34,0,0,0,0,0.34,0,1.36,3.42,0,2.73,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0.34,0,0,0,0,0,0.048,0.048,0,1.405,15,97,0 +0,0,0.59,0,0.29,0.59,0.59,0.29,0,0.29,0.29,0,0,0,0,0,0,0.89,3.58,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0.29,0,0,0.088,0,0,0.044,0.132,0,1.592,15,121,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.66,0,0,0,0.675,0,0,0,0,1,1,4,0 +0.06,0,0.32,0,0,0,0,0,0,0.06,0,0.06,0.06,0,0,0,0,0.06,2.79,0,1.1,0.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.06,0,0,0.06,0.19,0,0,0.317,0.035,0,0.093,0,0,1.11,9,261,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,7.69,0,0,0,0.775,0,0,0,0,1,1,5,0 +0,0,0.6,0,0,0,0,0,0,0,0,0.43,0.08,0,0,0,0,0,3.02,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0,0,0.51,0,0,0,0,0.083,0,0.099,0,0,1.329,18,214,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.56,0,0,0,0,0,0,0,0,7.69,0,0,0,0.395,0,0,0,0,3,18,39,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.88,0,0,0,0,0,0,0,0,1,1,7,0 +0,1.57,1.18,0,0,0,0,0,0,2.36,0,0.78,0,0,0,0,0,0,0.39,0,0,6.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.151,0.203,0,0.271,0,0.067,5.689,30,330,0 +0,0,0,0,0,1.42,0,0,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.42,0,0,0,0,0.267,0,0,0,0,1,1,17,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,1.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.82,0,0.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.21,0,0,0,0,0.371,0,0,0,0,1.967,13,61,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21.42,0,0,0,0,0,0,0,0,0,1.125,2,9,0 +0,2.6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.47,0,1.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.154,0,0.773,0,0,1,1,17,0 +0,0,0.21,0,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0,1.95,0,0.21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.131,0.175,0,0,0,0,1,1,68,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0 +0,0,1.01,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,5.05,0,2.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.187,0,0,1.166,3,21,0 +0,0,0.81,0,0,0,0,0,0,0,0,3.25,0,0,0,0,0,0,4.06,0,1.62,0,0,0,0.81,0,0,0,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0.134,0,0,1.366,5,41,0 +0,0,1.81,0,0,0,0,0,0,0,0,0.9,0.9,0,0,0,0,0,4.54,0,2.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.164,0,0,1.391,8,32,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.71,0,1.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.85,0,0,0,0,0,0,0,0,0,2.125,5,17,0 +1.39,0,2.09,0,0,0,0,0,0,0,0,6.29,0,0,0,0.69,0,0,4.19,0.69,0.69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.69,0,0,0,0,0,0,0,0,0,0,0,0,0.254,0,0,2,13,64,0 +0.97,0,0,0,0.48,0,0,0,0,0,0,0,0,0,0,0.48,0,0,2.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.48,0,0,0.48,0.97,0,0,0,0.15,0,0,0,0.075,3.367,21,165,0 +0.15,0,0.63,0,0.07,0.11,0,0,0,0.03,0,0.07,0.37,0,0,0,0.03,0.03,1.16,0,0.22,0,0,0,0.03,0,0,0,0,0,0,0,0,0,0,0,0,0.07,0,0,0,0.03,0,0,0.22,0.03,0,0,0.014,0.05,0,0.014,0,0,1.111,7,389,0 +0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,0,0,3.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.473,0,0,1.687,5,27,0 +0,0,0,0,0,0,0,0,0,0,0,3.44,0,0,0,0,0,0,3.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,26,0 +0,0,2.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.214,4,17,0 +4.34,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.75,4,14,0 +0,0,4.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.645,0,0,0,0,1,1,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.02,0,0,0,0.344,0,0.344,0.172,0,2.166,11,39,0 +0,0,1.66,0,0,0,0,0,0,0,0,1.66,0,0,0,0,0,0.83,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.151,0,0,1.518,8,41,0 +0,1.08,0,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.181,0,0,0,0,1.612,11,50,0 +0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0.266,0,0.533,0,0,4.5,31,63,0 +0,0,0,0,0,0,0,0,0,0.38,0,0,0,0,0,0.19,0,0.19,0,0,0,0,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0,0,0,22.05,0,0,0.135,0.339,0.067,0,0,0,4.13,81,285,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.17,0,3.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.58,1.58,0,0,0,0,0,0,0,0,1,1,12,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.934,0,0,0,0,3,9,18,0 +0,0.36,0.36,0,0,0.36,0,0.73,0,0.36,0.36,1.46,0,0,0,0.36,0,2.56,2.93,0,0.36,0,0,0.73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.36,0,0,0,0,0,0,0,0,0,0.123,0,2.854,68,157,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0.112,0,0,0.903,0,2.285,14,80,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,0,0,0,0,0,0,0,0,0,1,1,4,0 +0,0,1.72,0,0,0,0,0,0,0,0,2.58,0,0,0,0,0,0,2.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0.86,2.58,0,0,0.86,0,0,0,0,0.303,0,0.91,0,0,2.171,9,76,0 +0,0,0,0,0,0,0,0,0,0,0,1.78,0,0,0,0,0,0,3.57,0,1.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.78,0,0,1.78,0,0,0,0,0,0,1.194,0,0,2.23,8,29,0 +0,0,0,0.31,0.94,0,0,0.31,0,0.63,0,1.26,0,0,0,0,0,0,0.94,0,1.26,0,0,0,0,0,0,0.63,0,0,0,0,0,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0.037,0,0.074,0,0,3.904,39,246,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.571,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0.79,0,0.79,0,0,0,0,0,0.79,1.58,0,2.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.79,0,0,0,0,0,0,0,1.58,0,0,0,0.135,0.405,0,0.27,0,0,1.608,13,37,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.225,0,0,1,1,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.32,0,0,0,0,0,0,0.763,0,2.181,6,24,0 +0,0.15,0.3,0,0.15,0,0,0,0,0,0,1.38,0.15,0,0,0,0.15,0,2.6,0,1.68,0,0.15,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0.3,0,0,0,0,0,0,0,0.61,2.91,0,0,0.023,0.093,0,0.069,0,0,2.05,23,326,0 +0.32,0.32,0.32,0,0,0,0,0,0,0,0,1.29,0.32,0,0,0,0,0,2.92,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0.32,0,0,0,0,0,1.29,0,0,0,0.058,0.174,0,0.291,0,0,1.833,15,121,0 +0,0,1.18,0,0.16,0,0,0,0,0.16,0,0.16,0.16,0,0,0,0.16,0,2.88,0,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0.031,0.374,0,0.561,0,0,1.462,10,136,0 +0,0,1.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.94,0,1.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.656,0,0.656,0,0,1.488,5,67,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.571,5,11,0 +0.13,0,0.13,0,0.27,0.27,0,0,0,0,0,0.41,0.27,0,0,0,0,0,1.25,0,0.27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.13,0,0,0,0,0,0.27,0.13,0,0,0,0.294,0,0.514,0,0,1.409,17,172,0 +0,0.16,0.49,0,0,0.16,0,0,0,0.49,0,0.16,0.32,0,0,0,0,0,1.3,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0,0,0,0,0,0,0,0.16,0.16,0,0,0,0.119,0,0.149,0,0,2.178,107,244,0 +0,3.36,1.92,0,0,0,0,0,0,4.32,0,1.44,0,0,0,0,0,0,0.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.695,0,0.347,0,0,6.137,107,178,0 +0,0,0.21,0,0,0,0,0,0,0.21,0.21,0,0.42,0,0,0,0,0,0,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,0,0,0,0.058,0,0,0,0,1.203,8,195,0 +0,0,0.23,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0,0,0.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.23,0,0,0,0.23,1.4,0,0,0,0.064,0,0.161,0,0,1.065,7,146,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.22,4.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.22,2.22,0,0,0,0,0,0,0,0,1.75,5,14,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.01,0,1.01,5.05,0,1.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,55,60,0 +0,0,0,0,0,0,0,0,0.58,0,0,1.16,0,0,0,0,0,0.58,1.75,0,1.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0,0,0,0.58,0,0,0,0.282,0,0.376,0,0,1.702,16,80,0 +0.99,0,0.99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.98,2.97,0,0,0,0,0,0.186,0,0,1.937,15,62,0 +0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0.74,0,0,1.49,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,4.47,0,0,0,0.124,0,0,0,0,1.966,15,59,0 +0.71,0,0.71,0,0,0,0,0,0,0.71,0,1.43,0,0,0,1.43,0,0,1.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.43,0,0,0,0,0,0,0,0,1.032,2,32,0 +0,0,0,0,0,0,0,0,0,1.19,0,0,0,0,0,0,0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.19,0,0,0,0,0,0,0,0,9.52,0,0,0,0,0,0,0,0,2.074,15,56,0 +0,0,1.01,0,0,1.01,0,0,0,1.01,0,0,0,0,0,0,0,0,1.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.01,0,0,0,0,0,1.01,3.03,0,0,0,0,0,0.475,0,0,1.576,15,41,0 +0,0,0,0,0,0,0,0,0,0.33,0,0,0.33,0,0,0,0,0,2,0,0.33,0,0,0.33,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0,0,4.33,0,0,0,0.112,0,0.224,0.224,0,1.542,15,108,0 +0,1.62,0.54,0,0,0,0,0,0,0.54,0,1.62,0,0,0,0,0,0,1.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,0,0.484,0,0,0,0,1.769,27,69,0 +0,0,0,0,0,0,0,0,0,11.11,0,0,0,0,0,0,0,0,5.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,0 +0.59,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.19,0,0.59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.59,1.19,0,0,0,0.212,0,0.212,0,0.106,1.7,11,68,0 +0,0.32,0.96,0,0,0,0,0,0,0.64,0,1.28,0,0,0,0,0,0,3.52,0,1.6,0,0,0,0.96,1.6,0,0,0,0.64,0,0,0,0,0,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0.064,0,0.128,0,0,1.653,5,86,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,2.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0.81,0,0,0.81,0.81,0,0,0,0,0,0,0,0,1.684,5,64,0 +0,0,0,0,0,0,0,0,0,0,0,1.23,0,0,0,0,0,0,1.85,0,0.61,0,0,0.61,0,0,0,0,0,0,0,0,0,0,0,0,0.61,0,0,0,0,1.23,0,0,1.23,1.85,0,0,0,0.098,0,0.098,0,0,1.627,15,70,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,1,1,5,0 +0,0,0.41,0,0,0,0,0,0,0.41,0,1.25,0,0,0,0,0,0,2.91,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.184,0,0,0,0,1.538,10,40,0 +0.4,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0.4,0,0.81,1.22,0,0.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.22,0,0,0,0,0.223,0,0,0,0.055,4.75,70,266,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,0,0.38,2.31,0,0.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,0,0,0,0,0.216,0,0.162,0,0.054,5.07,70,289,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0.27,0.55,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.55,0.27,0,0,0,0.122,0.081,0,0,0.04,3.891,70,323,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.03,0,3.03,3.03,0,3.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.153,55,67,0 +0,0,1.13,0,0.37,0,0,0,0,0,0,0,0,0,0,0.37,0,0.37,1.13,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.145,0,0.436,0,0,1.792,55,147,0 +0,0,2.06,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0,0,4.12,0,1.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.03,0,0,0,0,0,0,0,0,1,1,16,0 +0,0.31,0.31,0,0,0,0,0,0,0.31,0,0,0.31,0,0,0.63,0,0.31,4.73,0,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.63,0,0,0,0,0.228,0,0.045,0,0.045,8.117,97,414,0 +0,0,0.4,0,0,0.4,0,0,0,0,0,0,0,0,0,0.4,0,0.4,0.4,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0,0.4,0.4,0,0,0,0.323,0.053,0,0,0.053,5.263,70,300,0 +0,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0,0.44,0,0.44,0.44,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0,0.44,0.44,0,0,0,0.175,0.058,0,0,0.058,8.478,122,390,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.41,0,0.41,1.23,0,0.41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.82,0,0,0,0,0.229,0,0.114,0,0.057,5.196,70,265,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.72,0,0.72,2.18,0,0.72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0.298,0,0.198,0,0.099,4,59,128,0 +0,0,0.59,0,0,0,0,0,0,0.29,0,0.59,0,0,0,0.29,0,0.29,1.47,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0.039,0.235,0,0.471,0,0.039,3.659,70,333,0 +0,0.13,0.66,0,0,0,0,0,0,0.13,0,0.13,0,0,0,0.26,0,0.13,2.65,0,0.39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.26,0,0,0,0,0,0,0,0.26,0,0,0,0.019,0.367,0,0.193,0,0.038,3.122,70,559,0 +0,0,0.92,0,0,0,0,0,0,0,0,0,0.61,0,0,0.3,0,0.3,0,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.044,0.222,0,0.178,0,0.044,4.757,70,314,0 +0,0,0.74,0,0,0,0,0,0,0,0,0.24,0,0,0,0.49,0,0.49,2.71,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.24,0,0,0,0,0,0,0,0.49,0,0,0,0.036,0.147,0,0.147,0,0,2.587,55,282,0 +0,0,0.74,0,0,0,0,0,0,0,0,0.24,0,0,0,0.49,0,0.49,2.71,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.24,0,0,0,0,0,0,0,0.49,0,0,0,0.036,0.147,0,0.147,0,0,2.587,55,282,0 +0,0,0,0,0.43,0,0,0,0,0,0,0,0,0,0,0,0,0.43,2.19,0,0.87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.87,0.87,0.43,0,0,0,0.079,0,0,0,0,1.292,5,53,0 +0,0,0.74,0,0,0,0,0,0,0,0,0.24,0,0,0,0.49,0,0.49,2.71,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.24,0,0,0,0,0,0,0,0.49,0,0,0,0.036,0.147,0,0.147,0,0,2.587,55,282,0 +0,0,0,0,0,0,0,0,0,0,0,0.61,0.61,0,0,0.61,0,0.3,3.09,0,0.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.61,0,0,0,0,0.179,0,0.448,0,0,5.277,70,285,0 +0,0.28,0.42,0,0,0,0,0,0,0,0,0.28,0,0,0,0.14,0,0.14,0.14,0,0.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.14,0.14,0.14,0,0,0,0,0.132,0,0.022,0,0,2.621,70,422,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0.44,0,0,0.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0,0,0,0,0.88,0,0,0,0.178,0.059,0,0,0.059,7.046,70,303,0 +0,0,0.08,0,0,0.17,0,0,0,0,0,0.17,0,0,0,0.08,0,0.08,0.17,0,0.25,0,0,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0.08,0,0,0,0.08,0,0,0,0,0.59,0,0,0,0.075,0,0.012,0.012,0,2.057,70,605,0 +0,0,0.68,0,0.68,0,0,0,0,0,0,0,0.34,0,0,0,0,0.34,1.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0,0,0.173,0,0.463,0,0,1.538,11,80,0 +0,0,0,0,0,0,0,0,0,2.11,0,0,0.7,0,0,0.7,0,0.7,2.11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7,0,0.7,0.7,0,0,0,0,0,0.336,0,0,2.97,68,101,0 +0,0,0,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,3.84,0,0,0,0,0,1.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.28,1.28,0,0,0,0,0,0,0,0,0,1.428,2,10,0 +0,0,0.62,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0,0,3.41,0,0,0,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0.62,0,0,0,1.24,0,0,0,0,0.112,0,0.225,0,0,1.866,4,28,0 +0.3,0,0.3,0,0,0,0,0,0,0,0,0.3,0.6,0,0,0,0,0,3.03,0,1.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6,0,0,0,1.21,0,0,0,0.055,0.11,0,0.055,0,0,1.947,7,74,0 +0.12,0,0.12,0,0,0.25,0,0,0,0,0,0.12,0.25,0,0,0.12,0,0,2.19,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.25,0,0,0.64,0.25,0.12,0,0,0,0.093,0,0.023,0,0,1.247,5,131,0 +0,0,0,0,0,0,0,0,0.64,0,0,0,0,0,0,0,0,0,1.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0,0,0,0.116,0,0.232,0,0,1.551,6,45,0 +0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,2.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0.74,0,0,0,0,0.276,0,0.552,0,0,2.666,16,72,0 +0,0,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,0,2.12,0,0,0,0,0,0,0,0,1.06,0,0,0,0,0,0,0,0,0,0,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,13.333,73,160,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.77,2.77,0,0,0,0,0,0,0,0,0,1,1,8,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.12,3.12,0,0,0,0,0,0,0.467,0,0,1,1,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.44,0,0,0,0,0,0,0,0,0,1.6,4,8,0 +0.25,0,0.51,0,0,0.25,0,0,0,0.12,0,0,0.25,0,0,0.25,0.25,0.38,1.78,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,4.34,0,0,0.019,0.019,0,0,0.038,0,1.642,17,207,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.23,0,0,0,0,0,0,19.131,0,0,13.25,48,53,0 +0.16,0.16,0.16,0,0.83,0.16,0,0.16,0,0,0,0.5,0.16,0,0,0,0,0,2.34,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.16,0.33,0.16,0,0,0.087,0.058,0,0,0,0,1.901,16,135,0 +0.95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9,0,0.95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.95,0.95,0,0,0,0.144,0,5.78,0,0,2.13,15,49,0 +0,0,0,0,0,1.2,0,0,0,0,0,0,0,0,0,0,0,0,4.81,0,3.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,0,0,0,0,0,0,0,0,1.3,3,13,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.66,0,0,0,0,0,0,32.478,0,0,1.666,3,5,0 +0,0,1.2,0,0,0,0,0,0,0,0,1.2,0,0,0,0,0,0,6.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.4,0,1.2,0,0,0,1.2,1.2,0,0,0.197,0,0,7.707,0,0,3.4,15,51,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.92,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.92,0,0,0,0,0,0,0,0,5.76,0,0,0,0.336,0,0,0,0,2.352,15,40,0 +0,0,2.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.05,0,1.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.17,0,1.17,0,0,0,1.17,1.17,0,0,0,0,0,0,0,0,3,15,45,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.704,0,0,0,0,1.75,3,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.33,0,0,0,0,0,1.66,0,0,0,0,0,0,0,0,0,0,0,1.66,0,0,0,0,0,0,0,0,5,0,0,0,0.554,0,0,0,0,2.294,15,39,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.45,0,0,0,0,0,1.81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5,2,3,0 +0,0,0.44,0,0,0.44,0,0,0,0,0,0,0.44,0,0,0,0,0,2.67,0,0.89,0,0,0,0.89,0,0,0,0,0,0,0,0,0,0,0.44,0,0,0,0,0.44,0,0,0,0.44,0,0,0,0,0.074,0,0.149,0,0,1.115,2,29,0 +1.42,0,0,0,0,0,0,0,0,0,0,4.28,0,0,0,0,0,0,1.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.28,0,0,0,0,0,0,0,0,0.35,0,0.175,0,0,1.826,7,42,0 +0.76,0,0.76,0,0,0.38,0,0,0,0,0,1.15,0.38,0,0,0,0,0,2.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,0,2.69,0,0,0,0.38,0.38,0,0,0,0.18,0,0.54,0,0,2.285,15,144,0 +0.26,0,0,0,0,0.26,0,0,0,0,0,0,0.26,0,0,0,0,0,2.66,0,0.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.53,0,0,0.26,0.53,0.26,0,0,0,0.046,0,0,0,0,1.222,5,77,0 +0,0,0,0,0,0,0,0,0,0,0,2.85,0,0,0,0,0,0,8.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.85,0,0,0,0,0,0,0,0,0,1,1,7,0 +0,0,0,0,0,0,0,0,0,0,0,0.94,0,0,0,0,0,0,2.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.94,0,0,0,1.88,0,0,0,0.94,8.49,0,0,0,0.267,0,0,0,0,2.241,15,65,0 +0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.684,0,0.684,0,0,1,1,1,0 +0,0,0.37,0,0,0,0,0,0,0,0,0.37,0.37,0,0,0,0,0,3.33,0,0.37,0,0,0.37,1.48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.37,0,0,0,0,0.067,0,0.135,0.135,0,1.437,4,23,0 +0,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0.57,0,0,3.17,0,0.28,0,0,0,0.57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0.196,0,0.049,0.147,0,1.1,2,55,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.25,0,4.16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.359,0.359,0,0,0,0,1,1,1,0 +1.88,0,0,0,0,0,0,0,0,0,0,0.31,0,0,0,0,0,0,0.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.168,0,0.112,0,0.056,2.933,23,311,0 +0,0.11,0.11,0,0.34,0,0,0,0.11,0.69,0.34,0.23,0.11,0,0,0,0,0.11,0.81,0,0.46,0,0.34,0,0,0,0,0,0,0,0,0,0,0,0,0.11,0.23,0,0.11,0,0,0,0,0,0,0.92,0,0,0.017,0.153,0,0.017,0.068,0.017,3.441,35,499,0 +0.08,0.08,0.61,0,0,0,0,0,0,0.43,0,0,0.08,0,0,0,0,0.08,0.87,0,0.08,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.26,0,0,0,0,0.08,0,0,0,0.78,0,0,0.027,0.208,0.013,0.027,0,0,4.696,124,1315,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,1.47,0,0,0,0.335,0,0,0,0.167,2.652,11,61,0 +0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0,4.8,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0.8,0,0,0,0,0,0,0,0,1,1,18,0 +0,0.62,0.62,0,0,0,0,0,0,1.24,0,0,0,0,0,0.62,0,0.62,0,0,3.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.24,0,1.86,0,0,0,0,0,0,1.24,0,0,0,0.384,0,0.288,0,0.096,6,116,294,0 +0.39,0,0.98,0,0,0.19,0,0,0,0,0,0.58,0.19,0,0,0.78,0,0.39,5.09,0,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.19,0,0,0.39,0,0.19,0,0,0.239,0,0.444,0,0,1.626,8,122,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0.127,0,0,0,0,0,1.137,3,33,0 +0.35,0,0.71,0,0,0,0,0,0,0.35,0,0.71,0,0,0,0,0,0,7.47,0,1.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0,0.067,0,0,0,0,1,1,40,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,4.38,0,0.58,0,0,0,0,0,0,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0.055,0.167,0,0,0,0,1.122,3,55,0 +0,0,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0,0,2.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.62,0,0,0,0,0.62,0.62,0,0,0,0,0.356,0,0.594,0,0,2.125,16,34,0 +0,0,1.09,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.29,0,0,0,0.191,0,0,0,0,3,15,51,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,3.176,15,54,0 +0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,0,4.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.36,0,0,0,0,0,1.36,1.36,0,0,0,0,0,0.234,0,0,2.076,15,27,0 +0,0,0,0,0,0,0,0,0,0,0,0.95,0,0,0,0,0,0,3.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.95,0,0,0,0,0,0,0,0,2.85,0,0,0,0,0,0.175,0,0,3.125,15,50,0 +0,0,0,0,0.35,0.35,0,0,0,0,0,0,0,0,0,0,0,0,1.79,0,0.71,0,0,0,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.35,0,0,0,0.064,0,0,0,0,1.27,8,61,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.17,0,0,0,0,0,3.17,0,0,0,0,0,0,0,0,0,0,0,0,0,1.58,0,0,0,0,0,1.58,1.58,0,0,0,0,0,0,0,0,2.071,14,29,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.61,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,0,0,0,4.83,0,0,0,0,0,0,0,0,3.117,15,53,0 +0,0,0,0,0,0.74,0,0,0,0,0,0.74,1.49,0,0,0,0,0,1.49,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,1.36,3,34,0 +0.78,0,0,0,0,0,0,0,0,0,0,0.78,0,0,0,0,0,0,2.36,0,0.78,0,0,0,0,0.78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.78,0,0,0,0,0,0,0,0,0,0,1.875,8,30,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.84,0,1.28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,0,1.28,0,0,0,0,0,0,1.548,0,0,3.222,14,58,0 +0,0,0,0,0,0,0,0,0,0,0,2.38,0,0,0,0,0,0,2.38,0,2.38,0,0,0,2.38,2.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.404,0,0.809,0.809,0,3,11,27,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.08,0,0,0,0,0,0,0,0,6.25,0,0,0,0,0,0,0,0,3.125,15,50,0 +0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.22,0,0,0,0,0,0.64,0,0,0,0,0,0,0,0,0,0,0,0.64,0,0.64,0,0,0,0,0,1.29,2.58,0,0,0,0.348,0,1.16,0,0,3.121,15,103,0 +0,0,0,0,0,0,0,0,0,0,0,2.22,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.74,0,0,0,0,0,0,0,0,2.22,0,0,0,0,0,0,0.277,0,2.72,15,68,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.01,0,0,0,0,0,0,0,0,5.05,0,0,0,0,0,0,0,0,3.043,15,70,0 +0.23,0,0,0,0,0.11,0,0,0,0.11,0,0.11,0.11,0,0,0,0,0.23,2.15,0,0.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.23,0,0,0,0,0,0,0.71,0.11,0,0,0,0.126,0,0.021,0,0,1.198,5,145,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.85,0,0.42,0,0,0,0,0,0.85,3.84,0,0,0,0,0,0,0,0,2.769,15,180,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.63,0,0.31,0,0,0,0,0,0.95,2.22,0,0,0,0,0,0,0,0,2.603,16,164,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.81,0,0,0,0,0,0,0,0,2.45,0,0,0,0.306,0,0,0.46,0.153,3.173,15,73,0 +0,0,0,0,0,0,0,0,0,0,0,0,1.08,0,0,0,0,0,2.17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.17,0,0,0,0,0,0,0,0,7.6,0,0,0,0,0,0,0,0,3.387,15,105,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.66,0,0,0,0,0,0,1.66,0,5,0,0,0,0,0,0,0,0,3.125,15,50,0 +0.88,0,0,0,0,0,0,0,0,1.76,0,0,0,0,0,0,0,0,1.76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.88,0,0,0,0,0.88,0,0,0.88,1.76,0,0,0,0.125,0,0.125,0,0,1.681,5,37,0 +0,0,0,0,0,0,0,0,0,0,0,0.86,0.86,0,0,0,0,0,2.58,0,0.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.86,0,0,0,0,0,0,0,0.86,0,0,0,0,0,0,0.152,0,0,2.166,14,52,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.91,0,0,0,0,0,0,0,0,0,0.22,0,0,0,0,0,0,0,0.45,0,0,0,0,0,0,0,0,16.7,0,0,0,0.066,0,0,0,0,2.284,19,329,0 +0,0.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.39,0.98,0.19,0.98,0,0,0,0.19,0,0,0,0,0.19,0,0,0,0,0,0,0.39,0,0,0,0,0,0,0,0.19,15.35,0,0,0.086,0,0,0.028,0,0,3.377,15,537,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,1,1,9,0 +0,2.01,0,0,0,0,0,0,0,2.68,0,0.67,0,0,0,0,0,0,4.02,0,3.35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0,0,0,0,0,0,0,0,2.01,0,0,0.112,0.112,0,0.112,0,0,2.484,15,82,0 +0.09,0,0.48,0,0,0.29,0,0,0,0.09,0,0,0.19,0,0,0.09,0.19,0.58,1.35,0,0.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.38,3.1,0,0,0.015,0.03,0,0,0.046,0,1.722,17,267,0 +0,0,0,0,0,0,0,0,0,0,0,0.63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.63,0,0,0,0,0,0,0,0.63,13.37,0,0,0,0.158,0,0,0.079,0.079,1.719,15,98,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.13,0,0,0,0,0,0,0,0,0,1.13,0,0,0,0.136,0,0,0,0.409,1.837,12,68,0 +0.42,0,0.42,0,0.21,0,0,0,0,0,0,0.21,0,0,0,0,0,0,1.91,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21,0,0,0,0.04,0.04,0,0,0,0,2,3,14,0 +0,0,0,0,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0,3.73,0,0.37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.11,0,0,0,0,0.066,0,0.066,0,0,1.555,4,14,0 +0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,4.29,0,2.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.66,0,0,0,0,0.058,0,0,0,0,1.153,3,15,0 +0,0,0.4,0,0.2,0.1,0,0,0,0,0,0.1,0.2,0,0,0,0,0,1.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.2,0,0,0,0,0.055,0,0.018,0,0,1.666,4,25,0 +0,0,0.36,0,0.12,0.24,0,0,0,0.24,0,0,0.24,0,0,0,0,0,1.58,0,0.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.12,0,0.12,0.24,0,0,0,0.067,0.022,0,0,0,1.433,12,76,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.72,0,0,0,0,0,0,0,0,0,0.123,1.75,4,21,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.33,0,1.86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0.46,0,0.46,0,0,0,0.082,0,0,0,0,1.117,3,38,0 +0,0,0,0,0,0,0,0,0,5.26,0,0,0,0,0,0,0,0,5.26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.666,3,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.26,5.06,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.26,2.53,0,0,0,0,0.263,0,0,0,0,2,5,32,0 +0,0,0,0,0,0,0,0,0,0,0,1.92,0,0,0,1.92,0,0,3.84,0,1.92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.92,0,0,0,1.92,1.92,0,0,0,0,0,0,0,0,1.611,5,29,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,9,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.55,0,0,0,0,0,0,0,0,0,0,0,0,1.375,4,11,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,0,0,0,0,0,0,0,0,0,5.333,18,32,0 +0,0,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0,0,1.25,0,0,0,0,0,0,0,0,0,1.25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.746,0,0,0,0,1.687,4,27,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.03,0,0,0,0,3.03,0,0,3.03,3.03,0,0,0,0,0,0,0,0,1.47,5,25,0 +0,0,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,0,3.7,0,7.4,0,0,0,0,0,0,0,3.7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,8,0 +0,0,0.42,0,0,0,0,0,0,0,0,0,0.21,0,0,0.21,0,0.21,2.14,0,0.42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.21,0.21,0,0,0.42,0.21,0,0,0,0.078,0.039,0.039,0,0,1.292,6,106,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8.33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.272,4,25,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.16,0,0,0,0,0,0,0,0,0,0,1.666,3,10,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.93,0,0,0.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.93,0,0,0,0,0,0,0.93,0.93,0.93,0,0,0,0.163,0,0,0,0,1.911,15,65,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0,0,0.8,0.8,0.8,0,0,0,0.149,0,0,0,0,1.9,15,57,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.25,2,5,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.333,5,7,0 +0,0,0.97,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0,2.91,0,0.97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.97,0,0,0,0,0,0,0,0,0,0,1.714,6,12,0 +0,0,0,0,0,0.8,0,0,0.8,0,0,0,0,0,0,0,0,0.8,1.6,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0.8,0,0,0.294,0,0,0,0,1.166,2,14,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.47,0.47,0,0,0,0.252,0.168,0.168,0,0,1.228,5,43,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.66,0,0,0,0.334,0,0,0,0,3.333,18,60,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16.66,0,0,0,0,0,0,0,0,0,0,2,3,4,0 +0.33,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0,0,0,0,0.66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.33,0,0,0.99,0.33,0,0,0,0.175,0.058,0.116,0,0,1.271,5,75,0 +0.17,0,0.68,0,0.34,0.34,0,0,0,0,0,0,0,0,0,0,0,0.34,4.8,0,1.88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.51,0.17,0,0,0,0.032,0,0.065,0,0,1.189,5,69,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.77,0,0,0,0,0,0,0,0,1,1,10,0 +0.69,0,0,0,0.69,0,0,0,0,0,0,0,0,0,0,0,0,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.69,0,0,1.38,0,0,1.38,1.38,0,0,0,0.302,0,0,0,0.1,2.447,15,93,0 +0.16,0,0.32,0,0.1,0.1,0,0,0,0,0,0.21,0.96,0,0,0.05,0.05,0,0.64,0,0,0,0.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.1,0,0,0,0.025,0.017,0.008,0,0.008,0.008,1.318,12,244,0 +0,0,0.55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.11,4.45,0,0.83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0.27,0,0,0,0.052,0,0,0,0,1.2,4,54,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.12,0,0,0,0,0,0,0,0,1,1,7,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10.63,0,2.12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.12,2.12,0,0,0.374,0,0,0,0,0,1,1,7,0 +0,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.06,0,2.04,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.02,0,0,0,0,1.02,0,0,0,0.55,0,0,0,0,1.333,5,28,0 +0.54,0,0.54,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,4.39,0,1.64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.54,0,1.09,0,0,0,0,0.097,0,0,0,1.512,11,59,0 +0,0,0.37,0,0.28,0.28,0,0,0.09,0,0,0.18,0.28,0,0,0,0,0.46,2.71,0,0.93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.56,0.09,0.09,0,0,0.017,0,0,0,0,1.024,3,128,0 +0,0,0,0,0,0,0,0,0,0,0.6,0,0,0,0,0,0,0,1.82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6,1.21,0,0,0.112,0,0,0,0,0,1.617,11,55,0 +0,0,0.45,0,0.45,0,0,0,0,0,0,0,0.22,0,0,0,0,0,1.35,0,0.22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.22,0.22,0.22,0,0,0,0,0,0,0,0,1.13,3,78,0 +0.14,0,0.14,0,0,0.56,0,0,0,0,0,0.14,0,0,0,0,0,0.28,2.41,0,0.14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.42,0,0,0,0.7,0.14,0,0,0,0.053,0,0,0,0,1.136,5,108,0 +0.67,0,0,0,0.67,0,0,0,0,0,0,0,0,0,0,0,0,0,1.34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.67,0,0,1.34,0,0,2.01,1.34,0,0,0,0.29,0,0,0,0.096,2.432,15,90,0 +0.25,0,0.5,0,0.25,0,0,0,0,0,0,0.5,0,0,0,0,0,0.75,6.28,0,0.75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0.25,0,0,0.048,0,0,0,0,0,1,1,42,0 +0,0,0,0,0,0,0,0,0,0,0,0.5,1.01,0,0,0.5,0,0.5,2.53,0,0.5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5,0,0,0.5,0.5,0,0,0,0.087,0,0,0.087,0,1.225,3,38,0 +0,0,0.46,0,0.23,0.23,0,0,0,0,0,0,0,0,0,0.23,0,0,1.63,0,0.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.46,0,0,0,0,0.23,0,0,0,0.082,0,0.082,0,0,1.256,5,98,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4,0,0,0,0.254,0,0,0,0,1,1,13,0 +0,0,0.18,0,0.18,0.18,0,0,0,0,0,0,0,0,0,0,0,0,2.06,0,0.56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.37,0.56,0.37,0,0,0.033,0.033,0,0.099,0,0,1.489,11,137,0 +0.29,0,0.29,0,0,0,0,0,0,0.29,0,0.29,0.59,0,0,0.29,0,0,3.86,0,0.29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.29,0,0,0,0.107,0,0,0,0,1.22,6,61,0 +0,0,0,0,0,0,0,0,0,1.38,0,0,0,0,0,0,0,1.38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.38,2.77,0,0,0,0.213,0,0,0,0,1.72,11,43,0 +0,0,0,0,0,0,0,0,0,0,0,0.37,0.37,0,0,0,0,0,1.49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.37,0,0,0,0,0.37,0,0,0,1.11,0.37,0,0,0,0.131,0,0,0,0,1.488,5,64,0 +0,0,1.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.61,0,2.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,0,0,0,0,0,0,0,0,1.2,3,24,0 +0,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8,0,0,0,0,0.4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4,0.4,0,0,0,0,0.145,0,0,0,1.372,5,70,0 +0.27,0.05,0.1,0,0,0,0,0,0,0,0,0.48,0,0,0,0,0,0.1,0.97,0,0.1,3.47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.27,0,0,0,0,0,0,0,0,0.76,0,0,0.607,0.064,0.036,0.055,0,0.202,3.766,43,1789,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0,4.76,0,0,0,0,0,0,0,0,1.571,5,11,0 +0,0,0,0,0,0.51,0,0,0,0,0,0,0,0,0,0,0,0.51,3.06,0,1.02,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.51,0,0,0,0.091,0,0.091,0,0,1.586,4,46,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.89,0.89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.89,0,0,0,0,0,0,0,0,1.266,3,19,0 +0,0,1.23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.61,1.85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.61,0.61,0,0,1.23,0.61,0,0,0,0,0.406,0,0,0,1.666,13,70,0 +0,0,0.45,0,0,0.22,0,0,0,0,0,0,0.45,0,0,0,0,0,1.83,0,0.45,0,0,0,0,0,0,0,0.22,0,0,0,0,0,0,0,0,0,0,0,0.68,0,0,0.45,0.22,0.22,0,0,0,0.082,0,0.041,0,0,1.5,7,123,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9.52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.76,0,0,0,0.625,0,0,0,0,1.375,4,11,0 +0,0,0,0,0.36,0,0,0,0,0,0,3.3,0,0,0,0,0.36,0.36,1.47,0,0.36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.47,0,0,0,0,0,0,0,0,0,0,0.112,0,0,0,0.056,1.793,21,174,0 +0,0,0,0,0,0,0,0,0,0,0,0.71,0.71,0,0,0,0,0,0.71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.71,0,0,0,0.125,0,0,0.125,0,1.272,4,28,0 +0,0,3.03,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.03,3.03,0,0,0,0,0,0,0,0,1.111,2,10,0 +0,0,0,0,0.54,0,0,0,0,0,0,0.54,0,0,0,0,0,0,0.54,0,0.54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.09,0,0.54,0,0,0,0,0,0,0,0,1,1,22,0 +0,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0.58,0,0,2.9,0,0.58,0.58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.58,0,0,0,0.185,0,0,0,0.092,2.468,11,79,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.44,0,0,0,0,0,0,0,0,1,1,8,0 +0,0,1.25,0,2.5,0,0,0,0,0,0,0,0.62,0,0,0,0,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.62,0,0,1.25,0.62,0.62,0,0,0,0.111,0,0,0,0,1.285,4,27,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7.69,0,0,0,0,0,1.052,0,0,1,1,6,0 +0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,0,6.45,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.61,0,0,0,0.63,0,0,0,0,1.727,5,19,0 +0,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.59,3.57,0,1.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.59,0,0,0,0,0,0,0,0,1,1,24,0 +0.31,0,0.62,0,0,0.31,0,0,0,0,0,1.88,0,0,0,0,0,0,0.62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.31,0.31,0.31,0,0,0,0.232,0,0,0,0,1.142,3,88,0 +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0.353,0,0,1.555,4,14,0 +0.3,0,0.3,0,0,0,0,0,0,0,0,1.8,0.3,0,0,0,0,0.9,1.5,0,0.3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2,0,0,0.102,0.718,0,0,0,0,1.404,6,118,0 +0.96,0,0,0,0.32,0,0,0,0,0,0,0.32,0,0,0,0,0,0,1.93,0,0.32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.32,0,0.32,0,0,0,0.057,0,0,0,0,1.147,5,78,0 +0,0,0.65,0,0,0,0,0,0,0,0,0,0.65,0,0,0,0,0,4.6,0,0.65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.97,0.65,0,0,0,0,0,0.125,0,0,1.25,5,40,0 + + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase.info b/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase.info new file mode 100644 index 0000000..4f18820 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase.info @@ -0,0 +1,142 @@ +1. Title: SPAM E-mail Database + +2. Sources: + (a) Creators: Mark Hopkins, Erik Reeber, George Forman, Jaap Suermondt + Hewlett-Packard Labs, 1501 Page Mill Rd., Palo Alto, CA 94304 + (b) Donor: George Forman (gforman at nospam hpl.hp.com) 650-857-7835 + (c) Generated: June-July 1999 + +3. Past Usage: + (a) Hewlett-Packard Internal-only Technical Report. External forthcoming. + (b) Determine whether a given email is spam or not. + (c) ~7% misclassification error. + False positives (marking good mail as spam) are very undesirable. + If we insist on zero false positives in the training/testing set, + 20-25% of the spam passed through the filter. + +4. Relevant Information: + The "spam" concept is diverse: advertisements for products/web + sites, make money fast schemes, chain letters, pornography... + Our collection of spam e-mails came from our postmaster and + individuals who had filed spam. Our collection of non-spam + e-mails came from filed work and personal e-mails, and hence + the word 'george' and the area code '650' are indicators of + non-spam. These are useful when constructing a personalized + spam filter. One would either have to blind such non-spam + indicators or get a very wide collection of non-spam to + generate a general purpose spam filter. + + For background on spam: + Cranor, Lorrie F., LaMacchia, Brian A. Spam! + Communications of the ACM, 41(8):74-83, 1998. + +5. Number of Instances: 4601 (1813 Spam = 39.4%) + +6. Number of Attributes: 58 (57 continuous, 1 nominal class label) + +7. Attribute Information: +The last column of 'spambase.data' denotes whether the e-mail was +considered spam (1) or not (0), i.e. unsolicited commercial e-mail. +Most of the attributes indicate whether a particular word or +character was frequently occuring in the e-mail. The run-length +attributes (55-57) measure the length of sequences of consecutive +capital letters. For the statistical measures of each attribute, +see the end of this file. Here are the definitions of the attributes: + +48 continuous real [0,100] attributes of type word_freq_WORD += percentage of words in the e-mail that match WORD, +i.e. 100 * (number of times the WORD appears in the e-mail) / +total number of words in e-mail. A "word" in this case is any +string of alphanumeric characters bounded by non-alphanumeric +characters or end-of-string. + +6 continuous real [0,100] attributes of type char_freq_CHAR += percentage of characters in the e-mail that match CHAR, +i.e. 100 * (number of CHAR occurences) / total characters in e-mail + +1 continuous real [1,...] attribute of type capital_run_length_average += average length of uninterrupted sequences of capital letters + +1 continuous integer [1,...] attribute of type capital_run_length_longest += length of longest uninterrupted sequence of capital letters + +1 continuous integer [1,...] attribute of type capital_run_length_total += sum of length of uninterrupted sequences of capital letters += total number of capital letters in the e-mail + +1 nominal {0,1} class attribute of type spam += denotes whether the e-mail was considered spam (1) or not (0), +i.e. unsolicited commercial e-mail. + + +8. Missing Attribute Values: None + +9. Class Distribution: + Spam 1813 (39.4%) + Non-Spam 2788 (60.6%) + + +Attribute Statistics: + Min: Max: Average: Std.Dev: Coeff.Var_%: +1 0 4.54 0.10455 0.30536 292 +2 0 14.28 0.21301 1.2906 606 +3 0 5.1 0.28066 0.50414 180 +4 0 42.81 0.065425 1.3952 2130 +5 0 10 0.31222 0.67251 215 +6 0 5.88 0.095901 0.27382 286 +7 0 7.27 0.11421 0.39144 343 +8 0 11.11 0.10529 0.40107 381 +9 0 5.26 0.090067 0.27862 309 +10 0 18.18 0.23941 0.64476 269 +11 0 2.61 0.059824 0.20154 337 +12 0 9.67 0.5417 0.8617 159 +13 0 5.55 0.09393 0.30104 320 +14 0 10 0.058626 0.33518 572 +15 0 4.41 0.049205 0.25884 526 +16 0 20 0.24885 0.82579 332 +17 0 7.14 0.14259 0.44406 311 +18 0 9.09 0.18474 0.53112 287 +19 0 18.75 1.6621 1.7755 107 +20 0 18.18 0.085577 0.50977 596 +21 0 11.11 0.80976 1.2008 148 +22 0 17.1 0.1212 1.0258 846 +23 0 5.45 0.10165 0.35029 345 +24 0 12.5 0.094269 0.44264 470 +25 0 20.83 0.5495 1.6713 304 +26 0 16.66 0.26538 0.88696 334 +27 0 33.33 0.7673 3.3673 439 +28 0 9.09 0.12484 0.53858 431 +29 0 14.28 0.098915 0.59333 600 +30 0 5.88 0.10285 0.45668 444 +31 0 12.5 0.064753 0.40339 623 +32 0 4.76 0.047048 0.32856 698 +33 0 18.18 0.097229 0.55591 572 +34 0 4.76 0.047835 0.32945 689 +35 0 20 0.10541 0.53226 505 +36 0 7.69 0.097477 0.40262 413 +37 0 6.89 0.13695 0.42345 309 +38 0 8.33 0.013201 0.22065 1670 +39 0 11.11 0.078629 0.43467 553 +40 0 4.76 0.064834 0.34992 540 +41 0 7.14 0.043667 0.3612 827 +42 0 14.28 0.13234 0.76682 579 +43 0 3.57 0.046099 0.22381 486 +44 0 20 0.079196 0.62198 785 +45 0 21.42 0.30122 1.0117 336 +46 0 22.05 0.17982 0.91112 507 +47 0 2.17 0.0054445 0.076274 1400 +48 0 10 0.031869 0.28573 897 +49 0 4.385 0.038575 0.24347 631 +50 0 9.752 0.13903 0.27036 194 +51 0 4.081 0.016976 0.10939 644 +52 0 32.478 0.26907 0.81567 303 +53 0 6.003 0.075811 0.24588 324 +54 0 19.829 0.044238 0.42934 971 +55 1 1102.5 5.1915 31.729 611 +56 1 9989 52.173 194.89 374 +57 1 15841 283.29 606.35 214 +58 0 1 0.39404 0.4887 124 + + +This file: 'spambase.DOCUMENTATION' at the UCI Machine Learning Repository +http://www.ics.uci.edu/~mlearn/MLRepository.html diff --git a/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase.names b/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase.names new file mode 100644 index 0000000..778b211 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/spambase/spambase.names @@ -0,0 +1,90 @@ +| SPAM E-MAIL DATABASE ATTRIBUTES (in .names format) +| +| 48 continuous real [0,100] attributes of type word_freq_WORD +| = percentage of words in the e-mail that match WORD, +| i.e. 100 * (number of times the WORD appears in the e-mail) / +| total number of words in e-mail. A "word" in this case is any +| string of alphanumeric characters bounded by non-alphanumeric +| characters or end-of-string. +| +| 6 continuous real [0,100] attributes of type char_freq_CHAR +| = percentage of characters in the e-mail that match CHAR, +| i.e. 100 * (number of CHAR occurences) / total characters in e-mail +| +| 1 continuous real [1,...] attribute of type capital_run_length_average +| = average length of uninterrupted sequences of capital letters +| +| 1 continuous integer [1,...] attribute of type capital_run_length_longest +| = length of longest uninterrupted sequence of capital letters +| +| 1 continuous integer [1,...] attribute of type capital_run_length_total +| = sum of length of uninterrupted sequences of capital letters +| = total number of capital letters in the e-mail +| +| 1 nominal {0,1} class attribute of type spam +| = denotes whether the e-mail was considered spam (1) or not (0), +| i.e. unsolicited commercial e-mail. +| +| For more information, see file 'spambase.DOCUMENTATION' at the +| UCI Machine Learning Repository: http://www.ics.uci.edu/~mlearn/MLRepository.html + + +1, 0. | spam, non-spam classes + +word_freq_make: continuous. +word_freq_address: continuous. +word_freq_all: continuous. +word_freq_3d: continuous. +word_freq_our: continuous. +word_freq_over: continuous. +word_freq_remove: continuous. +word_freq_internet: continuous. +word_freq_order: continuous. +word_freq_mail: continuous. +word_freq_receive: continuous. +word_freq_will: continuous. +word_freq_people: continuous. +word_freq_report: continuous. +word_freq_addresses: continuous. +word_freq_free: continuous. +word_freq_business: continuous. +word_freq_email: continuous. +word_freq_you: continuous. +word_freq_credit: continuous. +word_freq_your: continuous. +word_freq_font: continuous. +word_freq_000: continuous. +word_freq_money: continuous. +word_freq_hp: continuous. +word_freq_hpl: continuous. +word_freq_george: continuous. +word_freq_650: continuous. +word_freq_lab: continuous. +word_freq_labs: continuous. +word_freq_telnet: continuous. +word_freq_857: continuous. +word_freq_data: continuous. +word_freq_415: continuous. +word_freq_85: continuous. +word_freq_technology: continuous. +word_freq_1999: continuous. +word_freq_parts: continuous. +word_freq_pm: continuous. +word_freq_direct: continuous. +word_freq_cs: continuous. +word_freq_meeting: continuous. +word_freq_original: continuous. +word_freq_project: continuous. +word_freq_re: continuous. +word_freq_edu: continuous. +word_freq_table: continuous. +word_freq_conference: continuous. +char_freq_;: continuous. +char_freq_(: continuous. +char_freq_[: continuous. +char_freq_!: continuous. +char_freq_$: continuous. +char_freq_#: continuous. +capital_run_length_average: continuous. +capital_run_length_longest: continuous. +capital_run_length_total: continuous. diff --git a/lib/beagle-3.0.3/examples/GP/spambase/templates/cpp b/lib/beagle-3.0.3/examples/GP/spambase/templates/cpp new file mode 100644 index 0000000..dd89d0c --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/templates/cpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/%{FILE} + * \brief Implementation of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:51 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GP/spambase/templates/hpp b/lib/beagle-3.0.3/examples/GP/spambase/templates/hpp new file mode 100644 index 0000000..bfca751 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/spambase/templates/hpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/%{FILE} + * \brief Definition of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:51 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/AUTHORS b/lib/beagle-3.0.3/examples/GP/symbreg/AUTHORS new file mode 100644 index 0000000..f0c32cf --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/AUTHORS @@ -0,0 +1,2 @@ +Christian Gagne +Marc Parizeau diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/COPYING b/lib/beagle-3.0.3/examples/GP/symbreg/COPYING new file mode 100644 index 0000000..60549be --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/INSTALL b/lib/beagle-3.0.3/examples/GP/symbreg/INSTALL new file mode 100644 index 0000000..0f0def9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/INSTALL @@ -0,0 +1,81 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Symbolic regression (symbreg): A simple GP example with Open BEAGLE + +Copyright (C) 2001-2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON UNIX +========================================= + +To compile the symbreg example on Unix (once the Open BEAGLE framework is built), +'cd' to the main example directory, and type the following commands. + + ./configure + make clean + make + +Then, the binary will be in directory 'symbreg'. + +'configure' recognizes the following options to control how it +operates. + +'--enable-optimization' + Enable the 'optimization' mode by setting the optimization flags + of the compiler. Use this flag to compile a version of the examples + linked with an optimized version of the framework libraries. + +'--with-beagle=DIR' + Specify the installation path of Open BEAGLE. + +'--with-beagle-include=DIR' + Specify exact installation directory for Open BEAGLE headers. + +'--with-beagle-GA-include=DIR' + Specify exact installation directory for Open BEAGLE GA headers. + +'--with-beagle-GP-include=DIR' + Specify exact installation directory for Open BEAGLE GP headers. + +'--with-beagle-libdir=DIR' + Specify exact installation directory for Open BEAGLE libraries. + +'--with-beagle-GA-libdir=DIR' + Specify exact installation directory for Open BEAGLE GA libraries. + +'--with-beagle-GP-libdir=DIR' + Specify exact installation directory for Open BEAGLE GP libraries. + +'--cache-file=FILE' + Use and save the test results in file FILE instead of + './config.cache'. Set FILE to '/dev/null' to disable caching, for + debugging 'configure'. + +'--help' + Print a summary of the options to 'configure', and exit. + +'--quiet' +'--silent' +'-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to '/dev/null' (any error + messages will still be shown). + +'--version' + Print the version of Autoconf used to generate the 'configure' + script, and exit. + +'configure' also accepts some other, not widely useful, options. + + +INSTRUCTIONS TO BUILD THE EXAMPLE ON MS VISUAL C++ .NET +======================================================= + +Go to folder 'MSVCPP' and open the solution file 'symbreg.sln' with +MS Visual Studio .NET. Then you can compile the example. The binary will +be in folder 'symbreg'. + diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/MSVCPP/symbreg.sln b/lib/beagle-3.0.3/examples/GP/symbreg/MSVCPP/symbreg.sln new file mode 100644 index 0000000..0bf8006 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/MSVCPP/symbreg.sln @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "symbreg", "symbreg\symbreg.vcproj", "{C5842A81-2E5B-48BC-89B7-227D5A955C91}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {C5842A81-2E5B-48BC-89B7-227D5A955C91}.Debug.ActiveCfg = Debug|Win32 + {C5842A81-2E5B-48BC-89B7-227D5A955C91}.Debug.Build.0 = Debug|Win32 + {C5842A81-2E5B-48BC-89B7-227D5A955C91}.Release.ActiveCfg = Release|Win32 + {C5842A81-2E5B-48BC-89B7-227D5A955C91}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/MSVCPP/symbreg.suo b/lib/beagle-3.0.3/examples/GP/symbreg/MSVCPP/symbreg.suo new file mode 100644 index 0000000..3599f1b --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/MSVCPP/symbreg.suo @@ -0,0 +1 @@ +ÐÏࡱ \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/MSVCPP/symbreg/symbreg.vcproj b/lib/beagle-3.0.3/examples/GP/symbreg/MSVCPP/symbreg/symbreg.vcproj new file mode 100644 index 0000000..cc554e8 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/MSVCPP/symbreg/symbreg.vcproj @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/Makefile.am b/lib/beagle-3.0.3/examples/GP/symbreg/Makefile.am new file mode 100644 index 0000000..410545e --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/Makefile.am @@ -0,0 +1,2 @@ +AUTOMAKE_OPTIONS=dist-zip +SUBDIRS = symbreg diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/Makefile.cvs b/lib/beagle-3.0.3/examples/GP/symbreg/Makefile.cvs new file mode 100644 index 0000000..925be9f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/Makefile.cvs @@ -0,0 +1,4 @@ +SHELL = /bin/sh + +all: + ${SHELL} ./bootstrap diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/Makefile.in b/lib/beagle-3.0.3/examples/GP/symbreg/Makefile.in new file mode 100644 index 0000000..869a831 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/Makefile.in @@ -0,0 +1,585 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \ + INSTALL config/config.guess config/config.sub config/depcomp \ + config/install-sh config/ltmain.sh config/missing \ + config/mkinstalldirs +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/symbreg/config.hpp +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).zip +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AUTOMAKE_OPTIONS = dist-zip +SUBDIRS = symbreg +all: all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @set fnord $$MAKEFLAGS; amf=$$2; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/config + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || mkdir "$(distdir)/$$subdir" \ + || exit 1; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="../$(top_distdir)" \ + distdir="../$(distdir)/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + $(AMTAR) chof - $(distdir) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(AMTAR) xf - ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(AMTAR) xf - ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-libtool \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-libtool distclean-recursive \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/README b/lib/beagle-3.0.3/examples/GP/symbreg/README new file mode 100644 index 0000000..f13535e --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/README @@ -0,0 +1,67 @@ ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + +Symbolic regression (symbreg): A simple GP example with Open BEAGLE + +Copyright (C) 2001-2003 +by Christian Gagne +and Marc Parizeau + ++=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ + + +Getting started +=============== + + Example is compiled in binary 'symbreg'. Usage options is described by + executing it with command-line argument '-OBusage'. The detailed help can + also be obtained with argument '-OBhelp'. + +Objective +========= + + Find a function of one independent variable and one dependent variable, in + symbolic form, that fits a given sample of 20 $(x_i,y_i)$ data points, + where the target function is the quadratic polynomial $x^4 + x^3 + x^2 + x$. + +Terminal set +============ + + X (the independent variable) + PI + Ephemeral constants randomly generated in $[-1,1]$ + +Function set +============ + + + + - + * + / (protected division) + SIN + COS + EXP + LOG (protected logarithm) + +Fitness cases +============= + + The given sample of 20 data points $(x_i,y_i)$, randomly chosen within + interval [-1,1]. + +Fitness +======= + + $\frac{1.}{1.+RMSE}$ where RMSE is the Root Mean Square Error on the + fitness cases. + +Stopping criteria +================= + + When the evolution reaches the maximum number of generations. + +Reference +========= + + John R. Koza, "Genetic Programming: On the Programming of Computers by Means + of Natural Selection", MIT Press, 1992, pages 162-169. + diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/acinclude.m4 b/lib/beagle-3.0.3/examples/GP/symbreg/acinclude.m4 new file mode 100644 index 0000000..9d8ff5a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/acinclude.m4 @@ -0,0 +1,603 @@ +dnl +dnl Initialize an autoconf project that use PACC::Math. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_MATH_INIT(PACC_MATH_PATH +dnl [, PACC_MATH_INCLUDEPATH] +dnl [, PACC_MATH_LIBPATH]) +dnl +AC_DEFUN([PACC_MATH_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-math, + [ --with-pacc-math=DIR specify installation path of PACC::Math], + [pacc_math_path="$withval"], + [pacc_math_path="$1"]) +AC_ARG_WITH(pacc-math-include, + [ --with-pacc-math-include=DIR specify exact dir for PACC::Math headers], + [pacc_math_path_include="$withval"]) +AC_ARG_WITH(pacc-math-libdir, + [ --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries], + [pacc_math_path_libdir="$withval"]) +if test -z "$pacc_math_path"; then + pacc_math_path="$1" +fi +if test -z "$pacc_math_path_include"; then + if test -z "$2"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="$2" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "$3"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Math headers are correctly included, +pacc_math_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Math.hpp], + pacc_math_include_test=yes, + pacc_math_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Threading. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_THREADING_INIT(PACC_THREADING_PATH +dnl [, PACC_THREADING_INCLUDEPATH] +dnl [, PACC_THREADING_LIBPATH]) +dnl +AC_DEFUN([PACC_THREADING_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-threading, + [ --with-pacc-threading=DIR specify installation path of PACC::Threading], + [pacc_threading_path="$withval"], + [pacc_threading_path="$1"]) +AC_ARG_WITH(pacc-threading-include, + [ --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers], + [pacc_threading_path_include="$withval"]) +AC_ARG_WITH(pacc-threading-libdir, + [ --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries], + [pacc_threading_path_libdir="$withval"]) +if test -z "$pacc_threading_path"; then + pacc_threading_path="$1" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "$2"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="$2" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "$3"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Threading headers are correctly included, +pacc_threading_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Threading.hpp], + pacc_threading_include_test=yes, + pacc_threading_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::Util. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_UTIL_INIT(PACC_UTIL_PATH +dnl [, PACC_UTIL_INCLUDEPATH] +dnl [, PACC_UTIL_LIBPATH]) +dnl +AC_DEFUN([PACC_UTIL_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-util, + [ --with-pacc-util=DIR specify installation path of PACC::Util], + [pacc_util_path="$withval"], + [pacc_util_path="$1"]) +AC_ARG_WITH(pacc-util-include, + [ --with-pacc-util-include=DIR specify exact dir for PACC::Util headers], + [pacc_util_path_include="$withval"]) +AC_ARG_WITH(pacc-util-libdir, + [ --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries], + [pacc_util_path_libdir="$withval"]) +if test -z "$pacc_util_path"; then + pacc_util_path="$1" +fi +if test -z "$pacc_util_path_include"; then + if test -z "$2"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="$2" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "$3"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::Util headers are correctly included, +pacc_util_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([Util.hpp], + pacc_util_include_test=yes, + pacc_util_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use PACC::XML. +dnl +dnl by Christian Gagne, 09/08/2005 +dnl +dnl PACC_XML_INIT(PACC_XML_PATH +dnl [, PACC_XML_INCLUDEPATH] +dnl [, PACC_XML_LIBPATH]) +dnl +AC_DEFUN([PACC_XML_INIT], +[ +dnl Set headers and libraries path correctly +AC_ARG_WITH(pacc-xml, + [ --with-pacc-xml=DIR specify installation path of PACC::XML], + [pacc_xml_path="$withval"], + [pacc_xml_path="$1"]) +AC_ARG_WITH(pacc-xml-include, + [ --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers], + [pacc_xml_path_include="$withval"]) +AC_ARG_WITH(pacc-xml-libdir, + [ --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries], + [pacc_xml_path_libdir="$withval"]) +if test -z "$pacc_xml_path"; then + pacc_xml_path="$1" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "$2"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="$2" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "$3"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="$3" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if PACC::XML headers are correctly included, +pacc_xml_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([XML.hpp], + pacc_xml_include_test=yes, + pacc_xml_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl +dnl Initialize an autoconf project that use Open BEAGLE. +dnl +dnl by Christian Gagne, 14/10/2002, modified 10/10/2004 and 09/08/2005 +dnl +dnl OB_BEAGLE_INIT(BEAGLE_PATH +dnl [, BEAGLE_INCLUDEPATH] +dnl [, BEAGLE_LIBPATH] +dnl [, BEAGLE_GA_INCLUDEPATH] +dnl [, BEAGLE_GA_LIBPATH] +dnl [, BEAGLE_GP_INCLUDEPATH] +dnl [, BEAGLE_GP_LIBPATH] +dnl [, BEAGLE_COEV_INCLUDEPATH] +dnl [, BEAGLE_COEV_LIBPATH]) +dnl +AC_DEFUN([OB_BEAGLE_INIT], +[ +dnl Open BEAGLE optimization mode option. +AC_ARG_ENABLE(optimization, + [ --enable-optimization enable optimization mode [default=no]], + [case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac], + enable_optimization=no) +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[[0-9]]\(?*\)/\1\2/'` +fi +dnl Set headers and libraries path correctly +AC_ARG_WITH(beagle, + [ --with-beagle=DIR specify installation path of Open BEAGLE], + [ob_beagle_path="$withval"], + [ob_beagle_path="$1"]) +AC_ARG_WITH(beagle-include, + [ --with-beagle-include=DIR specify exact dir for Open BEAGLE headers], + [ob_beagle_path_include="$withval"]) +AC_ARG_WITH(beagle-GA-include, + [ --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers], + [ob_beagle_path_ga_include="$withval"]) +AC_ARG_WITH(beagle-GP-include, + [ --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers], + [ob_beagle_path_gp_include="$withval"]) +AC_ARG_WITH(beagle-Coev-include, + [ --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers], + [ob_beagle_path_coev_include="$withval"]) +AC_ARG_WITH(beagle-libdir, + [ --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries], + [ob_beagle_path_libdir="$withval"]) +AC_ARG_WITH(beagle-GA-libdir, + [ --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries], + [ob_beagle_path_ga_libdir="$withval"]) +AC_ARG_WITH(beagle-GP-libdir, + [ --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries], + [ob_beagle_path_gp_libdir="$withval"]) +AC_ARG_WITH(beagle-Coev-libdir, + [ --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries], + [ob_beagle_path_coev_libdir="$withval"]) +if test -z "$ob_beagle_path"; then + ob_beagle_path="$1" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "$2"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="$2" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "$3"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="$3" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "$4"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="$4" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "$5"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="$5" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "$6"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="$6" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "$7"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="$7" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "$8"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="$8" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "$9"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="$9" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +dnl Finally, do a little compilation test. +AC_CACHE_CHECK(if Open BEAGLE headers are correctly included, +ob_beagle_include_test, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_CPP([beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp], + ob_beagle_include_test=yes, + ob_beagle_include_test=no) + AC_LANG_RESTORE +]) +]) + + + +dnl *************************************************************************** +dnl *************************************************************************** +AC_DEFUN([ACX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_SAVE +AC_LANG_C +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) + AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) + AC_MSG_RESULT($acx_pthread_ok) + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $flag]) + PTHREAD_CFLAGS="$flag" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$flag]) + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + AC_TRY_LINK([#include ], + [pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], + [acx_pthread_ok=yes]) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + AC_MSG_RESULT($acx_pthread_ok) + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + AC_MSG_CHECKING([for joinable pthread attribute]) + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_JOINABLE;], + ok=PTHREAD_CREATE_JOINABLE, ok=unknown) + if test x"$ok" = xunknown; then + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_UNDETACHED;], + ok=PTHREAD_CREATE_UNDETACHED, ok=unknown) + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok, + [Define to the necessary symbol if this constant + uses a non-standard name on your system.]) + fi + AC_MSG_RESULT(${ok}) + if test x"$ok" = xunknown; then + AC_MSG_WARN([we do not know how to create joinable pthreads]) + fi + + AC_MSG_CHECKING([if more special flags are required for pthreads]) + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + AC_MSG_RESULT(${flag}) + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) +else + PTHREAD_CC="$CC" +fi + +AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_CC) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) + : +else + acx_pthread_ok=no + $2 +fi +AC_LANG_RESTORE +])dnl ACX_PTHREAD + + + +AC_DEFUN([CHECK_ZLIB], +# +# Handle user hints +# +[AC_MSG_CHECKING(if zlib is wanted) +AC_ARG_WITH(zlib, +[ --with-zlib=DIR root directory path of zlib installation [defaults to + /usr/local or /usr if not found in /usr/local] + --without-zlib to disable zlib usage completely], +[if test "$withval" != no ; then + AC_MSG_RESULT(yes) + ZLIB_HOME="$withval" +else + AC_MSG_RESULT(no) +fi], [ +AC_MSG_RESULT(yes) +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi +]) +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) + AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) + AC_LANG_RESTORE + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + AC_CHECK_LIB(z, inflateEnd) + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + AC_MSG_RESULT(ok) + else + # + # If either header or library was not found, revert and bomb + # + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + AC_MSG_RESULT(failed) + fi +fi +]) diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/aclocal.m4 b/lib/beagle-3.0.3/examples/GP/symbreg/aclocal.m4 new file mode 100644 index 0000000..1c4e723 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/aclocal.m4 @@ -0,0 +1,7302 @@ +# generated automatically by aclocal 1.8.5 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- + +# serial 48 Debian 1.5.22-4 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +AC_DEFUN([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +AC_DEFUN([_LT_COMPILER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +AC_DEFUN([_LT_LINKER_BOILERPLATE], +[ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* +])# _LT_LINKER_BOILERPLATE + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# ------------------ +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# --------------------------------------------------------------------- +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ---------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 DLLs +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +# set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# it is assumed to be `libltdl'. LIBLTDL will be prefixed with +# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' +# (note the single quotes!). If your package is not flat and you're not +# using automake, define top_builddir and top_srcdir appropriately in +# the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that +# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, +# and an installed libltdl is not found, it is assumed to be `libltdl'. +# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and top_srcdir +# appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + +# _LT_AC_PROG_CXXCPP +# ------------------ +AC_DEFUN([_LT_AC_PROG_CXXCPP], +[ +AC_REQUIRE([AC_PROG_CXX]) +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +fi +])# _LT_AC_PROG_CXXCPP + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# ------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF + +# Report which library types will actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([_LT_AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + ;; + *) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([[^ ]]*\) [[^ ]]*/\1 DATA/;/^I /d;/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + _LT_CC_BASENAME([$compiler]) + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=no + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi[[45]]*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + *) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) + +# -*- Autoconf -*- +# Copyright (C) 2002, 2003 Free Software Foundation, Inc. +# Generated from amversion.in; do not edit by hand. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.8"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.8.5])]) + +# AM_AUX_DIR_EXPAND + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 6 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]) +fi])]) + +# serial 7 -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 7 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 11 + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG(AMTAR, tar) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl + +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# -*- Autoconf -*- +# Copyright (C) 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 1 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# -*- Autoconf -*- + + +# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. + +# Copyright (C) 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 2 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# +# Check to make sure that the build environment is sane. +# + +# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# AM_PROG_INSTALL_STRIP + +# Copyright (C) 2001, 2003 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +m4_include([acinclude.m4]) diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/bootstrap b/lib/beagle-3.0.3/examples/GP/symbreg/bootstrap new file mode 100755 index 0000000..5972642 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/bootstrap @@ -0,0 +1,7 @@ +#!/bin/sh +set -x +autoheader +libtoolize --force --copy +aclocal -I config +automake --foreign --add-missing --force-missing --copy +autoconf diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/config/config.guess b/lib/beagle-3.0.3/examples/GP/symbreg/config/config.guess new file mode 100755 index 0000000..396482d --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/config/config.guess @@ -0,0 +1,1500 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-07-02' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + x86:Interix*:[3456]*) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T:Interix*:[3456]*) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/config/config.sub b/lib/beagle-3.0.3/examples/GP/symbreg/config/config.sub new file mode 100755 index 0000000..fab0aa3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/config/config.sub @@ -0,0 +1,1616 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +# Inc. + +timestamp='2006-09-20' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/config/depcomp b/lib/beagle-3.0.3/examples/GP/symbreg/config/depcomp new file mode 100755 index 0000000..25bdb18 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/config/depcomp @@ -0,0 +1,526 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2004-04-25.13 + +# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit 0 + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit 0 + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # Dependencies are output in .lo.d with libtool 1.4. + # They are output in .o.d with libtool 1.5. + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.o.d" + tmpdepfile3="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + tmpdepfile3="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + elif test -f "$tmpdepfile2"; then + tmpdepfile="$tmpdepfile2" + else + tmpdepfile="$tmpdepfile3" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/config/install-sh b/lib/beagle-3.0.3/examples/GP/symbreg/config/install-sh new file mode 100755 index 0000000..e4160c9 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/config/install-sh @@ -0,0 +1,325 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2004-04-01.17 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename= +transform_arg= +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= + +usage="Usage: $0 [OPTION]... SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 -d DIRECTORIES... + +In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. +In the second, create the directory path DIR. + +Options: +-b=TRANSFORMBASENAME +-c copy source (using $cpprog) instead of moving (using $mvprog). +-d create directories instead of installing files. +-g GROUP $chgrp installed files to GROUP. +-m MODE $chmod installed files to MODE. +-o USER $chown installed files to USER. +-s strip installed files (using $stripprog). +-t=TRANSFORM +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + -c) instcmd=$cpprog + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit 0;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + --version) echo "$0 $scriptversion"; exit 0;; + + *) # When -d is used, all remaining arguments are directories to create. + test -n "$dir_arg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + instcmd=: + chmodcmd= + else + instcmd=$mkdirprog + fi + else + # Waiting for this to be detected by the "$instcmd $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" || lasterr=$? + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; } + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $instcmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + # If we're going to rename the final executable, determine the name now. + if test -z "$transformarg"; then + dstfile=`basename "$dst"` + else + dstfile=`basename "$dst" $transformbasename \ + | sed $transformarg`$transformbasename + fi + + # don't allow the sed command to completely eliminate the filename. + test -z "$dstfile" && dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Move or copy the file name to the temp name + $doit $instcmd "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $instcmd $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/config/ltmain.sh b/lib/beagle-3.0.3/examples/GP/symbreg/config/ltmain.sh new file mode 100644 index 0000000..c715b59 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/config/ltmain.sh @@ -0,0 +1,6871 @@ +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION="1.5.22 Debian 1.5.22-4" +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes. +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xdir="$my_gentop/$my_xlib" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + fi + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + for path in $notinst_path; do + lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` + deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` + dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` + done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%"` + else + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$echo "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/config/missing b/lib/beagle-3.0.3/examples/GP/symbreg/config/missing new file mode 100755 index 0000000..e7ef83a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/config/missing @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2003-09-02.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/configure b/lib/beagle-3.0.3/examples/GP/symbreg/configure new file mode 100755 index 0000000..69d6dbd --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/configure @@ -0,0 +1,22313 @@ +#! /bin/sh +# From configure.ac Revision: 1.4.2.1 . +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.61 for GP symbolic regression example 3.0.2. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + + +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` + ;; +esac + +echo=${ECHO-echo} +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null 2>&1 && unset CDPATH + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string=`eval $cmd`) 2>/dev/null && + echo_test_string=`eval $cmd` && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" +fi + + + + +tagnames=${tagnames+${tagnames},}CXX + +tagnames=${tagnames+${tagnames},}F77 + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME='GP symbolic regression example' +PACKAGE_TARNAME='symbreg' +PACKAGE_VERSION='3.0.2' +PACKAGE_STRING='GP symbolic regression example 3.0.2' +PACKAGE_BUGREPORT='cgagne@gmail.com' + +ac_unique_file="symbreg/SymbRegEvalOp.cpp" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CYGPATH_W +PACKAGE +VERSION +ACLOCAL +AUTOCONF +AUTOMAKE +AUTOHEADER +MAKEINFO +AMTAR +install_sh +STRIP +INSTALL_STRIP_PROGRAM +mkdir_p +AWK +SET_MAKE +am__leading_dot +CXX +CXXFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CXX +EXEEXT +OBJEXT +DEPDIR +am__include +am__quote +AMDEP_TRUE +AMDEP_FALSE +AMDEPBACKSLASH +CXXDEPMODE +am__fastdepCXX_TRUE +am__fastdepCXX_FALSE +CXXCPP +LN_S +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +CC +CFLAGS +ac_ct_CC +CCDEPMODE +am__fastdepCC_TRUE +am__fastdepCC_FALSE +GREP +EGREP +ECHO +AR +RANLIB +CPP +F77 +FFLAGS +ac_ct_F77 +LIBTOOL +PTHREAD_CC +PTHREAD_LIBS +PTHREAD_CFLAGS +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CXX +CXXFLAGS +LDFLAGS +LIBS +CPPFLAGS +CCC +CXXCPP +CC +CFLAGS +CPP +F77 +FFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures GP symbolic regression example 3.0.2 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/symbreg] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of GP symbolic regression example 3.0.2:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --enable-shared[=PKGS] build shared libraries [default=yes] + --enable-static[=PKGS] build static libraries [default=yes] + --enable-fast-install[=PKGS] + optimize for fast installation [default=yes] + --disable-libtool-lock avoid locking (might break parallel builds) + --enable-optimization enable optimization mode default=no + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-pic try to use only PIC/non-PIC objects [default=use + both] + --with-tags[=TAGS] include additional configurations [automatic] + --with-zlib=DIR root directory path of zlib installation defaults to + /usr/local or /usr if not found in /usr/local + --without-zlib to disable zlib usage completely + --with-pacc-util=DIR specify installation path of PACC::Util + --with-pacc-util-include=DIR specify exact dir for PACC::Util headers + --with-pacc-util-libdir=DIR specify exact dir for PACC::Util libraries + --with-pacc-xml=DIR specify installation path of PACC::XML + --with-pacc-xml-include=DIR specify exact dir for PACC::XML headers + --with-pacc-xml-libdir=DIR specify exact dir for PACC::XML libraries + --with-pacc-math=DIR specify installation path of PACC::Math + --with-pacc-math-include=DIR specify exact dir for PACC::Math headers + --with-pacc-math-libdir=DIR specify exact dir for PACC::Math libraries + --with-pacc-threading=DIR specify installation path of PACC::Threading + --with-pacc-threading-include=DIR specify exact dir for PACC::Threading headers + --with-pacc-threading-libdir=DIR specify exact dir for PACC::Threading libraries + --with-beagle=DIR specify installation path of Open BEAGLE + --with-beagle-include=DIR specify exact dir for Open BEAGLE headers + --with-beagle-GA-include=DIR specify exact dir for Open BEAGLE GA headers + --with-beagle-GP-include=DIR specify exact dir for Open BEAGLE GP headers + --with-beagle-Coev-include=DIR specify exact dir for Open BEAGLE co-evolution headers + --with-beagle-libdir=DIR specify exact dir for Open BEAGLE libraries + --with-beagle-GA-libdir=DIR specify exact dir for Open BEAGLE GA libraries + --with-beagle-GP-libdir=DIR specify exact dir for Open BEAGLE GP libraries + --with-beagle-Coev-libdir=DIR specify exact dir for Open BEAGLE co-evolution libraries + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CXXCPP C++ preprocessor + CC C compiler command + CFLAGS C compiler flags + CPP C preprocessor + F77 Fortran 77 compiler command + FFLAGS Fortran 77 compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +GP symbolic regression example configure 3.0.2 +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by GP symbolic regression example $as_me 3.0.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" +fi +shift +for ac_site_file +do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_aux_dir= +for ac_dir in config "$srcdir"/config; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in config \"$srcdir\"/config" >&2;} + { (exit 1); exit 1; }; } +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + + +am__api_version="1.8" +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done +IFS=$as_save_IFS + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm -f conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # Keeping the `.' argument allows $(mkdir_p) to be used without + # argument. Indeed, we sometimes output rules like + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. + # (`test -n '$(somedir)' && $(mkdir_p) $(somedir)' is a more + # expensive solution, as it forces Make to start a sub-shell.) + mkdir_p='mkdir -p -- .' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + SET_MAKE= +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='symbreg' + VERSION='3.0.2' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. + + + +ac_config_headers="$ac_config_headers symbreg/config.hpp:symbreg/config.hpp.in" + + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$AWK" && break +done + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 +echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 +echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +{ echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CXX" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } +fi + +# Check whether --enable-shared was given. +if test "${enable_shared+set}" = set; then + enableval=$enable_shared; p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_shared=yes +fi + + +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then + enableval=$enable_static; p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_static=yes +fi + + +# Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac +else + enable_fast_install=yes +fi + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 +echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } +if test "${lt_cv_path_SED+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done + +fi + +SED=$lt_cv_path_SED +{ echo "$as_me:$LINENO: result: $SED" >&5 +echo "${ECHO_T}$SED" >&6; } + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + +{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 +echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } +if test "${lt_cv_ld_reload_flag+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 +echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 +echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } +if test "${lt_cv_path_NM+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi +fi +{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 +echo "${ECHO_T}$lt_cv_path_NM" >&6; } +NM="$lt_cv_path_NM" + +{ echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5 +echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6; } +if test "${lt_cv_deplibs_check_method+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[45]*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump'. + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 +echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '#line 5044 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 +echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } +if test "${lt_cv_cc_needs_belf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + lt_cv_cc_needs_belf=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + lt_cv_cc_needs_belf=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 +echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + + +esac + +need_locks="$enable_libtool_lock" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in dlfcn.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +fi + + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$F77"; then + ac_cv_prog_F77="$F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_F77="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +F77=$ac_cv_prog_F77 +if test -n "$F77"; then + { echo "$as_me:$LINENO: result: $F77" >&5 +echo "${ECHO_T}$F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$F77" && break + done +fi +if test -z "$F77"; then + ac_ct_F77=$F77 + for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_F77"; then + ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_F77="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_F77=$ac_cv_prog_ac_ct_F77 +if test -n "$ac_ct_F77"; then + { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 +echo "${ECHO_T}$ac_ct_F77" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + + test -n "$ac_ct_F77" && break +done + + if test "x$ac_ct_F77" = x; then + F77="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + F77=$ac_ct_F77 + fi +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +rm -f a.out + +# If we don't use `.F' as extension, the preprocessor is not run on the +# input file. (Note that this only needs to work for GNU compilers.) +ac_save_ext=$ac_ext +ac_ext=F +{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } +if test "${ac_cv_f77_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF + program main +#ifndef __GNUC__ + choke me +#endif + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_f77_compiler_gnu=$ac_compiler_gnu + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } +ac_ext=$ac_save_ext +ac_test_FFLAGS=${FFLAGS+set} +ac_save_FFLAGS=$FFLAGS +FFLAGS= +{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 +echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_f77_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + FFLAGS=-g +cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_f77_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_prog_f77_g=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 +echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } +if test "$ac_test_FFLAGS" = set; then + FFLAGS=$ac_save_FFLAGS +elif test $ac_cv_prog_f77_g = yes; then + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-g -O2" + else + FFLAGS="-g" + fi +else + if test "x$ac_cv_f77_compiler_gnu" = xyes; then + FFLAGS="-O2" + else + FFLAGS= + fi +fi + +G77=`test $ac_compiler_gnu = yes && echo yes` +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! + +# find the maximum length of command line arguments +{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 +echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } +if test "${lt_cv_sys_max_cmd_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ + = "XX$teststring") >/dev/null 2>&1 && + new_result=`expr "X$teststring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + teststring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac + +fi + +if test -n $lt_cv_sys_max_cmd_len ; then + { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 +echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } +else + { echo "$as_me:$LINENO: result: none" >&5 +echo "${ECHO_T}none" >&6; } +fi + + + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 +echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } +if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[BCDEGRST]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([_A-Za-z][_A-Za-z0-9]*\)' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[BCDT]' + ;; +cygwin* | mingw* | pw32*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[ABCDEGRST]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +linux* | k*bsd*-gnu) + if test "$host_cpu" = ia64; then + symcode='[ABCDGIRSTW]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + fi + ;; +irix* | nonstopux*) + symcode='[BCDEGRST]' + ;; +osf*) + symcode='[BCDEGQRST]' + ;; +solaris*) + symcode='[BDRT]' + ;; +sco3.2v5*) + symcode='[DT]' + ;; +sysv4.2uw2*) + symcode='[DT]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[ABDT]' + ;; +sysv4) + symcode='[DFNSTU]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 + (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi + else + echo "cannot find nm_test_var in $nlist" >&5 + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 + fi + else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + +fi + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } +else + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } +fi + +{ echo "$as_me:$LINENO: checking for objdir" >&5 +echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } +if test "${lt_cv_objdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 +echo "${ECHO_T}$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e 1s/^X//' +sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. +set dummy ${ac_tool_prefix}ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AR"; then + ac_cv_prog_AR="$AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AR="${ac_tool_prefix}ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_AR"; then + ac_ct_AR=$AR + # Extract the first word of "ar", so it can be a program name with args. +set dummy ar; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_AR"; then + ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_AR="ar" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 +echo "${ECHO_T}$ac_ct_AR" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +else + AR="$ac_cv_prog_AR" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 +echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/${ac_tool_prefix}file; then + lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { echo "$as_me:$LINENO: checking for file" >&5 +echo $ECHO_N "checking for file... $ECHO_C" >&6; } +if test "${lt_cv_path_MAGIC_CMD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $MAGIC_CMD in +[\\/*] | ?:[\\/]*) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/file; then + lt_cv_path_MAGIC_CMD="$ac_dir/file" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac +fi + +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 +echo "${ECHO_T}$MAGIC_CMD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +enable_dlopen=no +enable_win32_dll=no + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval=$enable_libtool_lock; +fi + +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +lt_save_CC="$CC" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + + +lt_prog_compiler_no_builtin_flag= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7303: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7307: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl= +lt_prog_compiler_pic= +lt_prog_compiler_static= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic='-qnocommon' + lt_prog_compiler_wl='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7571: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:7575: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } + +if test x"$lt_prog_compiler_pic_works" = xyes; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works=yes + fi + else + lt_prog_compiler_static_works=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } + +if test x"$lt_prog_compiler_static_works" = xyes; then + : +else + lt_prog_compiler_static= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:7675: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:7679: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag= + enable_shared_with_static_runtimes=no + archive_cmds= + archive_expsym_cmds= + old_archive_From_new_cmds= + old_archive_from_expsyms_cmds= + export_dynamic_flag_spec= + whole_archive_flag_spec= + thread_safe_flag_spec= + hardcode_libdir_flag_spec= + hardcode_libdir_flag_spec_ld= + hardcode_libdir_separator= + hardcode_direct=no + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + link_all_deplibs=unknown + hardcode_automatic=no + module_cmds= + module_expsym_cmds= + always_export_symbols=no + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + interix3*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs=no + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac + + if test "$ld_shlibs" = no; then + runpath_var= + hardcode_libdir_flag_spec= + export_dynamic_flag_spec= + whole_archive_flag_spec= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag=unsupported + always_export_symbols=yes + archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds='' + hardcode_direct=yes + hardcode_libdir_separator=':' + link_all_deplibs=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag="-z nodefs" + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag=' ${wl}-bernotok' + allow_undefined_flag=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + archive_cmds_need_lc=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + whole_archive_flag_spec='' + link_all_deplibs=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + freebsd1*) + ld_shlibs=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_direct=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + export_dynamic_flag_spec='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld='+b $libdir' + hardcode_direct=no + hardcode_shlibpath_var=no + ;; + *) + hardcode_direct=yes + export_dynamic_flag_spec='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld='-rpath $libdir' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + link_all_deplibs=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + newsos6) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + hardcode_shlibpath_var=no + ;; + + openbsd*) + hardcode_direct=yes + hardcode_shlibpath_var=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + export_dynamic_flag_spec='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-R$libdir' + ;; + *) + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec='-rpath $libdir' + fi + hardcode_libdir_separator=: + ;; + + solaris*) + no_undefined_flag=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec='-R$libdir' + hardcode_shlibpath_var=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec='-L$libdir' + hardcode_direct=yes + hardcode_minus_L=yes + hardcode_shlibpath_var=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds='$CC -r -o $output$reload_objs' + hardcode_direct=no + ;; + motorola) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var=no + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag='${wl}-z,text' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag='${wl}-z,text' + allow_undefined_flag='${wl}-z,nodefs' + archive_cmds_need_lc=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator=':' + link_all_deplibs=yes + export_dynamic_flag_spec='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + *) + ld_shlibs=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 +echo "${ECHO_T}$ld_shlibs" >&6; } +test "$ld_shlibs" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc=no + else + archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 +echo "${ECHO_T}$archive_cmds_need_lc" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || \ + test -n "$runpath_var" || \ + test "X$hardcode_automatic" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && + test "$hardcode_minus_L" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 +echo "${ECHO_T}$hardcode_action" >&6; } + +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + +striplib= +old_striplib= +{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 +echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + ;; + *) + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + ;; + esac +fi + +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + +fi + + ;; + + *) + { echo "$as_me:$LINENO: checking for shl_load" >&5 +echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } +if test "${ac_cv_func_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shl_load to an innocuous variant, in case declares shl_load. + For example, HP-UX 11i declares gettimeofday. */ +#define shl_load innocuous_shl_load + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shl_load (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shl_load + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_shl_load || defined __stub___shl_load +choke me +#endif + +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 +echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } +if test $ac_cv_func_shl_load = yes; then + lt_cv_dlopen="shl_load" +else + { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 +echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_shl_load+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_shl_load=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_shl_load=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } +if test $ac_cv_lib_dld_shl_load = yes; then + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" +else + { echo "$as_me:$LINENO: checking for dlopen" >&5 +echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } +if test "${ac_cv_func_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define dlopen to an innocuous variant, in case declares dlopen. + For example, HP-UX 11i declares gettimeofday. */ +#define dlopen innocuous_dlopen + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char dlopen (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef dlopen + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_dlopen || defined __stub___dlopen +choke me +#endif + +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 +echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } +if test $ac_cv_func_dlopen = yes; then + lt_cv_dlopen="dlopen" +else + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 +echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } +if test "${ac_cv_lib_svld_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_svld_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_svld_dlopen=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } +if test $ac_cv_lib_svld_dlopen = yes; then + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" +else + { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 +echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } +if test "${ac_cv_lib_dld_dld_link+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dld_dld_link=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dld_dld_link=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 +echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } +if test $ac_cv_lib_dld_dld_link = yes; then + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 +echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 +echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + exit (status); +} +EOF + if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 +echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + +# Report which library types will actually be built +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler \ + CC \ + LD \ + lt_prog_compiler_wl \ + lt_prog_compiler_pic \ + lt_prog_compiler_static \ + lt_prog_compiler_no_builtin_flag \ + export_dynamic_flag_spec \ + thread_safe_flag_spec \ + whole_archive_flag_spec \ + enable_shared_with_static_runtimes \ + old_archive_cmds \ + old_archive_from_new_cmds \ + predep_objects \ + postdep_objects \ + predeps \ + postdeps \ + compiler_lib_search_path \ + archive_cmds \ + archive_expsym_cmds \ + postinstall_cmds \ + postuninstall_cmds \ + old_archive_from_expsyms_cmds \ + allow_undefined_flag \ + no_undefined_flag \ + export_symbols_cmds \ + hardcode_libdir_flag_spec \ + hardcode_libdir_flag_spec_ld \ + hardcode_libdir_separator \ + hardcode_automatic \ + module_cmds \ + module_expsym_cmds \ + lt_cv_prog_compiler_c_o \ + exclude_expsyms \ + include_expsyms; do + + case $var in + old_archive_cmds | \ + old_archive_from_new_cmds | \ + archive_cmds | \ + archive_expsym_cmds | \ + module_cmds | \ + module_expsym_cmds | \ + old_archive_from_expsyms_cmds | \ + export_symbols_cmds | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + { echo "$as_me:$LINENO: creating $ofile" >&5 +echo "$as_me: creating $ofile" >&6;} + + cat <<__EOF__ >> "$cfgfile" +#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler + +# Is the compiler the GNU C compiler? +with_gcc=$GCC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds +archive_expsym_cmds=$lt_archive_expsym_cmds +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds +module_expsym_cmds=$lt_module_expsym_cmds + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms + +# ### END LIBTOOL CONFIG + +__EOF__ + + + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + +# Check whether --with-tags was given. +if test "${with_tags+set}" = set; then + withval=$with_tags; tagnames="$withval" +fi + + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 +echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} + else + { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 +echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} + fi + fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in + "") ;; + *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 +echo "$as_me: error: invalid tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 +echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} + { (exit 1); exit 1; }; } + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_flag_spec_ld_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + $as_unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + $as_unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +compiler_CXX=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' +else + lt_prog_compiler_no_builtin_flag_CXX= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 +echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { echo "$as_me:$LINENO: checking for GNU ld" >&5 +echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } +else + { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 +echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } +fi +if test "${lt_cv_path_LD+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &5 +echo "${ECHO_T}$LD" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 +echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} + { (exit 1); exit 1; }; } +{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 +echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } +if test "${lt_cv_prog_gnu_ld+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } +ld_shlibs_CXX=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_CXX='' + hardcode_direct_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_CXX=yes + else + # We have old collect2 + hardcode_direct_CXX=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_CXX=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_CXX='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_CXX=' ${wl}-bernotok' + allow_undefined_flag_CXX=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + archive_cmds_need_lc_CXX=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_CXX=no + fi + ;; + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + whole_archive_flag_spec_CXX='' + link_all_deplibs_CXX=yes + + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_CXX=no + ;; + esac + fi + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + ld_shlibs_CXX=no + ;; + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + gnu*) + ;; + hpux9*) + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='${wl}-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_CXX='+b $libdir' + ;; + *) + export_dynamic_flag_spec_CXX='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + interix3*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc*) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC*) + # Portland Group C++ compiler + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_CXX='${wl}--export-dynamic' + whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + openbsd2*) + # C++ shared libraries are fairly broken + ld_shlibs_CXX=no + ;; + openbsd*) + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='${wl}-E' + whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; + osf3*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ + $rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + + hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_CXX=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. We must also pass each convience library through + # to the system linker between allextract/defaultextract. + # The C++ compiler will combine linker options so we + # cannot just pass the convience library names through + # without $wl. + # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + no_undefined_flag_CXX=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='${wl}-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + no_undefined_flag_CXX='${wl}-z,text' + allow_undefined_flag_CXX='${wl}-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; +esac +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +GCC_CXX="$GXX" +LD_CXX="$LD" + + +cat > conftest.$ac_ext <&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX="${prev}${p}" + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$postdeps_CXX"; then + postdeps_CXX="${prev}${p}" + else + postdeps_CXX="${postdeps_CXX} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX="$p" + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX="$p" + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$rm -f confest.$objext + +# PORTME: override above test on systems where it is broken +case $host_os in +interix3*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; + +solaris*) + case $cc_basename in + CC*) + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + postdeps_CXX='-lCstd -lCrun' + ;; + esac + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + +lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_CXX=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_CXX='-qnocommon' + lt_prog_compiler_wl_CXX='-Wl,' + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + icpc* | ecpc*) + # Intel C++ + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC*) + # Portland Group C++ compiler. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12408: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:12412: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_CXX=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } + +if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_CXX=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_CXX=yes + fi + else + lt_prog_compiler_static_works_CXX=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } + +if test x"$lt_prog_compiler_static_works_CXX" = xyes; then + : +else + lt_prog_compiler_static_CXX= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:12512: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:12516: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX="$ltdll_cmds" + ;; + cygwin* | mingw*) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/;/^.* __nm__/s/^.* __nm__\([^ ]*\) [^ ]*/\1 DATA/;/^I /d;/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 +echo "${ECHO_T}$ld_shlibs_CXX" >&6; } +test "$ld_shlibs_CXX" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_CXX=no + else + archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || \ + test -n "$runpath_var_CXX" || \ + test "X$hardcode_automatic_CXX" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_CXX" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && + test "$hardcode_minus_L_CXX" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 +echo "${ECHO_T}$hardcode_action_CXX" >&6; } + +if test "$hardcode_action_CXX" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_CXX \ + CC_CXX \ + LD_CXX \ + lt_prog_compiler_wl_CXX \ + lt_prog_compiler_pic_CXX \ + lt_prog_compiler_static_CXX \ + lt_prog_compiler_no_builtin_flag_CXX \ + export_dynamic_flag_spec_CXX \ + thread_safe_flag_spec_CXX \ + whole_archive_flag_spec_CXX \ + enable_shared_with_static_runtimes_CXX \ + old_archive_cmds_CXX \ + old_archive_from_new_cmds_CXX \ + predep_objects_CXX \ + postdep_objects_CXX \ + predeps_CXX \ + postdeps_CXX \ + compiler_lib_search_path_CXX \ + archive_cmds_CXX \ + archive_expsym_cmds_CXX \ + postinstall_cmds_CXX \ + postuninstall_cmds_CXX \ + old_archive_from_expsyms_cmds_CXX \ + allow_undefined_flag_CXX \ + no_undefined_flag_CXX \ + export_symbols_cmds_CXX \ + hardcode_libdir_flag_spec_CXX \ + hardcode_libdir_flag_spec_ld_CXX \ + hardcode_libdir_separator_CXX \ + hardcode_automatic_CXX \ + module_cmds_CXX \ + module_expsym_cmds_CXX \ + lt_cv_prog_compiler_c_o_CXX \ + exclude_expsyms_CXX \ + include_expsyms_CXX; do + + case $var in + old_archive_cmds_CXX | \ + old_archive_from_new_cmds_CXX | \ + archive_cmds_CXX | \ + archive_expsym_cmds_CXX | \ + module_cmds_CXX | \ + module_expsym_cmds_CXX | \ + old_archive_from_expsyms_cmds_CXX | \ + export_symbols_cmds_CXX | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_CXX + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_CXX +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_CXX + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_CXX + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_CXX + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_CXX" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld + + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + + +archive_cmds_need_lc_F77=no +allow_undefined_flag_F77= +always_export_symbols_F77=no +archive_expsym_cmds_F77= +export_dynamic_flag_spec_F77= +hardcode_direct_F77=no +hardcode_libdir_flag_spec_F77= +hardcode_libdir_flag_spec_ld_F77= +hardcode_libdir_separator_F77= +hardcode_minus_L_F77=no +hardcode_automatic_F77=no +module_cmds_F77= +module_expsym_cmds_F77= +link_all_deplibs_F77=unknown +old_archive_cmds_F77=$old_archive_cmds +no_undefined_flag_F77= +whole_archive_flag_spec_F77= +enable_shared_with_static_runtimes_F77=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +objext_F77=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +compiler_F77=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 +echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 +echo "${ECHO_T}$can_build_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 +echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case $host_os in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4* | aix5*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; +esac +{ echo "$as_me:$LINENO: result: $enable_shared" >&5 +echo "${ECHO_T}$enable_shared" >&6; } + +{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 +echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +{ echo "$as_me:$LINENO: result: $enable_static" >&5 +echo "${ECHO_T}$enable_static" >&6; } + +GCC_F77="$G77" +LD_F77="$LD" + +lt_prog_compiler_wl_F77= +lt_prog_compiler_pic_F77= +lt_prog_compiler_static_F77= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_static_F77='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_F77='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_F77=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_F77=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_F77='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_F77='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_F77='-Bstatic' + else + lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_F77='-qnocommon' + lt_prog_compiler_wl_F77='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_F77='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_F77='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_F77='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_F77='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_F77='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-fpic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_F77='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_F77='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_F77='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_F77='-Qoption ld ';; + *) + lt_prog_compiler_wl_F77='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_F77='-Qoption ld ' + lt_prog_compiler_pic_F77='-PIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_F77='-Kconform_pic' + lt_prog_compiler_static_F77='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_pic_F77='-KPIC' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_F77='-Wl,' + lt_prog_compiler_can_build_shared_F77=no + ;; + + uts4*) + lt_prog_compiler_pic_F77='-pic' + lt_prog_compiler_static_F77='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_F77"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_F77=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_F77" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14073: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:14077: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_F77=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } + +if test x"$lt_prog_compiler_pic_works_F77" = xyes; then + case $lt_prog_compiler_pic_F77 in + "" | " "*) ;; + *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; + esac +else + lt_prog_compiler_pic_F77= + lt_prog_compiler_can_build_shared_F77=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_F77= + ;; + *) + lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_F77=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_F77=yes + fi + else + lt_prog_compiler_static_works_F77=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } + +if test x"$lt_prog_compiler_static_works_F77" = xyes; then + : +else + lt_prog_compiler_static_F77= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_F77=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:14177: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:14181: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_F77=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_F77= + enable_shared_with_static_runtimes_F77=no + archive_cmds_F77= + archive_expsym_cmds_F77= + old_archive_From_new_cmds_F77= + old_archive_from_expsyms_cmds_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + thread_safe_flag_spec_F77= + hardcode_libdir_flag_spec_F77= + hardcode_libdir_flag_spec_ld_F77= + hardcode_libdir_separator_F77= + hardcode_direct_F77=no + hardcode_minus_L_F77=no + hardcode_shlibpath_var_F77=unsupported + link_all_deplibs_F77=unknown + hardcode_automatic_F77=no + module_cmds_F77= + module_expsym_cmds_F77= + always_export_symbols_F77=no + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_F77= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_F77=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_F77='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_F77= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_F77=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_F77=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_F77='-L$libdir' + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=no + enable_shared_with_static_runtimes_F77=yes + export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_F77=no + fi + ;; + + interix3*) + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_F77='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_F77=no + else + ld_shlibs_F77=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_F77=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_F77=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_F77=no + fi + ;; + esac + + if test "$ld_shlibs_F77" = no; then + runpath_var= + hardcode_libdir_flag_spec_F77= + export_dynamic_flag_spec_F77= + whole_archive_flag_spec_F77= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_F77=unsupported + always_export_symbols_F77=yes + archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_F77=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_F77=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_F77='' + hardcode_direct_F77=yes + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_F77=yes + else + # We have old collect2 + hardcode_direct_F77=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_F77=yes + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_libdir_separator_F77= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_F77=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_F77='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_F77="-z nodefs" + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF + program main + + end +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_f77_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_F77=' ${wl}-bernotok' + allow_undefined_flag_F77=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_F77='$convenience' + archive_cmds_need_lc_F77=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_F77=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_F77=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_F77=' ' + allow_undefined_flag_F77=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_F77='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_F77='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_F77='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_F77=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_F77=no + hardcode_direct_F77=no + hardcode_automatic_F77=yes + hardcode_shlibpath_var_F77=unsupported + whole_archive_flag_spec_F77='' + link_all_deplibs_F77=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_F77=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + freebsd1*) + ld_shlibs_F77=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_direct_F77=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_F77=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_F77='+b $libdir' + hardcode_direct_F77=no + hardcode_shlibpath_var_F77=no + ;; + *) + hardcode_direct_F77=yes + export_dynamic_flag_spec_F77='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_F77=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + link_all_deplibs_F77=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + newsos6) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + hardcode_shlibpath_var_F77=no + ;; + + openbsd*) + hardcode_direct_F77=yes + hardcode_shlibpath_var_F77=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + export_dynamic_flag_spec_F77='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-R$libdir' + ;; + *) + archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_minus_L_F77=yes + allow_undefined_flag_F77=unsupported + archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_F77=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_F77=' -expect_unresolved \*' + archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_F77='-rpath $libdir' + fi + hardcode_libdir_separator_F77=: + ;; + + solaris*) + no_undefined_flag_F77=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_F77='-R$libdir' + hardcode_shlibpath_var_F77=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_F77='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_F77=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_direct_F77=yes + hardcode_minus_L_F77=yes + hardcode_shlibpath_var_F77=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_F77='$CC -r -o $output$reload_objs' + hardcode_direct_F77=no + ;; + motorola) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_F77=no + ;; + + sysv4.3*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + export_dynamic_flag_spec_F77='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_F77=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_F77=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_F77='${wl}-z,text' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_F77='${wl}-z,text' + allow_undefined_flag_F77='${wl}-z,nodefs' + archive_cmds_need_lc_F77=no + hardcode_shlibpath_var_F77=no + hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_F77=':' + link_all_deplibs_F77=yes + export_dynamic_flag_spec_F77='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_F77='-L$libdir' + hardcode_shlibpath_var_F77=no + ;; + + *) + ld_shlibs_F77=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 +echo "${ECHO_T}$ld_shlibs_F77" >&6; } +test "$ld_shlibs_F77" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_F77" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_F77=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_F77 in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_F77 + pic_flag=$lt_prog_compiler_pic_F77 + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_F77 + allow_undefined_flag_F77= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_F77=no + else + archive_cmds_need_lc_F77=yes + fi + allow_undefined_flag_F77=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_F77= +if test -n "$hardcode_libdir_flag_spec_F77" || \ + test -n "$runpath_var_F77" || \ + test "X$hardcode_automatic_F77" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_F77" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && + test "$hardcode_minus_L_F77" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_F77=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_F77=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_F77=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 +echo "${ECHO_T}$hardcode_action_F77" >&6; } + +if test "$hardcode_action_F77" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_F77 \ + CC_F77 \ + LD_F77 \ + lt_prog_compiler_wl_F77 \ + lt_prog_compiler_pic_F77 \ + lt_prog_compiler_static_F77 \ + lt_prog_compiler_no_builtin_flag_F77 \ + export_dynamic_flag_spec_F77 \ + thread_safe_flag_spec_F77 \ + whole_archive_flag_spec_F77 \ + enable_shared_with_static_runtimes_F77 \ + old_archive_cmds_F77 \ + old_archive_from_new_cmds_F77 \ + predep_objects_F77 \ + postdep_objects_F77 \ + predeps_F77 \ + postdeps_F77 \ + compiler_lib_search_path_F77 \ + archive_cmds_F77 \ + archive_expsym_cmds_F77 \ + postinstall_cmds_F77 \ + postuninstall_cmds_F77 \ + old_archive_from_expsyms_cmds_F77 \ + allow_undefined_flag_F77 \ + no_undefined_flag_F77 \ + export_symbols_cmds_F77 \ + hardcode_libdir_flag_spec_F77 \ + hardcode_libdir_flag_spec_ld_F77 \ + hardcode_libdir_separator_F77 \ + hardcode_automatic_F77 \ + module_cmds_F77 \ + module_expsym_cmds_F77 \ + lt_cv_prog_compiler_c_o_F77 \ + exclude_expsyms_F77 \ + include_expsyms_F77; do + + case $var in + old_archive_cmds_F77 | \ + old_archive_from_new_cmds_F77 | \ + archive_cmds_F77 | \ + archive_expsym_cmds_F77 | \ + module_cmds_F77 | \ + module_expsym_cmds_F77 | \ + old_archive_from_expsyms_cmds_F77 | \ + export_symbols_cmds_F77 | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_F77 + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_F77 + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_F77 + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_F77 + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_F77 + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_F77 +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_F77 + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_F77 +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_F77 +archive_expsym_cmds=$lt_archive_expsym_cmds_F77 +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_F77 +module_expsym_cmds=$lt_module_expsym_cmds_F77 + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_F77 + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_F77 + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_F77 + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_F77 + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_F77 + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_F77 + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_F77 + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_F77 + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_F77 + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_F77 + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_F77 + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_F77" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_F77 + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_F77 + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_F77 + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_F77 + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +objext_GCJ=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +compiler_GCJ=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +archive_cmds_need_lc_GCJ=no + +old_archive_cmds_GCJ=$old_archive_cmds + + +lt_prog_compiler_no_builtin_flag_GCJ= + +if test "$GCC" = yes; then + lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' + + +{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_rtti_exceptions=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="-fno-rtti -fno-exceptions" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16364: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16368: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then + lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" +else + : +fi + +fi + +lt_prog_compiler_wl_GCJ= +lt_prog_compiler_pic_GCJ= +lt_prog_compiler_static_GCJ= + +{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 +echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } + + if test "$GCC" = yes; then + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_static_GCJ='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_GCJ='-fno-common' + ;; + + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared_GCJ=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic_GCJ=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + ;; + + *) + lt_prog_compiler_pic_GCJ='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + lt_prog_compiler_wl_GCJ='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_GCJ='-Bstatic' + else + lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' + fi + ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case $cc_basename in + xlc*) + lt_prog_compiler_pic_GCJ='-qnocommon' + lt_prog_compiler_wl_GCJ='-Wl,' + ;; + esac + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_GCJ='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl_GCJ='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + newsos6) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + icc* | ecc*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-fpic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl_GCJ='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static_GCJ='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + lt_prog_compiler_wl_GCJ='-Qoption ld ';; + *) + lt_prog_compiler_wl_GCJ='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl_GCJ='-Qoption ld ' + lt_prog_compiler_pic_GCJ='-PIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + lt_prog_compiler_pic_GCJ='-Kconform_pic' + lt_prog_compiler_static_GCJ='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_pic_GCJ='-KPIC' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl_GCJ='-Wl,' + lt_prog_compiler_can_build_shared_GCJ=no + ;; + + uts4*) + lt_prog_compiler_pic_GCJ='-pic' + lt_prog_compiler_static_GCJ='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_GCJ"; then + +{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 +echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_pic_works_GCJ=no + ac_outfile=conftest.$ac_objext + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_GCJ" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16632: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:16636: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_pic_works_GCJ=yes + fi + fi + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then + case $lt_prog_compiler_pic_GCJ in + "" | " "*) ;; + *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; + esac +else + lt_prog_compiler_pic_GCJ= + lt_prog_compiler_can_build_shared_GCJ=no +fi + +fi +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_GCJ= + ;; + *) + lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" + ;; +esac + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" +{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } +if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_prog_compiler_static_works_GCJ=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_prog_compiler_static_works_GCJ=yes + fi + else + lt_prog_compiler_static_works_GCJ=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" + +fi +{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 +echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } + +if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then + : +else + lt_prog_compiler_static_GCJ= +fi + + +{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 +echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } +if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + lt_cv_prog_compiler_c_o_GCJ=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:16736: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:16740: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_GCJ=yes + fi + fi + chmod u+w . 2>&5 + $rm conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files + $rm out/* && rmdir out + cd .. + rmdir conftest + $rm conftest* + +fi +{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 +echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } + + +hard_links="nottested" +if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 +echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { echo "$as_me:$LINENO: result: $hard_links" >&5 +echo "${ECHO_T}$hard_links" >&6; } + if test "$hard_links" = no; then + { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 +echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + +{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } + + runpath_var= + allow_undefined_flag_GCJ= + enable_shared_with_static_runtimes_GCJ=no + archive_cmds_GCJ= + archive_expsym_cmds_GCJ= + old_archive_From_new_cmds_GCJ= + old_archive_from_expsyms_cmds_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + thread_safe_flag_spec_GCJ= + hardcode_libdir_flag_spec_GCJ= + hardcode_libdir_flag_spec_ld_GCJ= + hardcode_libdir_separator_GCJ= + hardcode_direct_GCJ=no + hardcode_minus_L_GCJ=no + hardcode_shlibpath_var_GCJ=unsupported + link_all_deplibs_GCJ=unknown + hardcode_automatic_GCJ=no + module_cmds_GCJ= + module_expsym_cmds_GCJ= + always_export_symbols_GCJ=no + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + include_expsyms_GCJ= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + # Just being paranoid about ensuring that cc_basename is set. + for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + ld_shlibs_GCJ=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' + export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + whole_archive_flag_spec_GCJ= + fi + supports_anon_versioning=no + case `$LD -v 2>/dev/null` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + ld_shlibs_GCJ=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_GCJ=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_GCJ='-L$libdir' + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=no + enable_shared_with_static_runtimes_GCJ=yes + export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS] /s/.* \([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + interix3*) + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + linux* | k*bsd*-gnu) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + tmp_addflag= + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + esac + archive_cmds_GCJ='$CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test $supports_anon_versioning = yes; then + archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + $echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -shared'"$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + link_all_deplibs_GCJ=no + else + ld_shlibs_GCJ=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + ld_shlibs_GCJ=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) + ld_shlibs_GCJ=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + ;; + + sunos4*) + archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs_GCJ=no + fi + ;; + esac + + if test "$ld_shlibs_GCJ" = no; then + runpath_var= + hardcode_libdir_flag_spec_GCJ= + export_dynamic_flag_spec_GCJ= + whole_archive_flag_spec_GCJ= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + allow_undefined_flag_GCJ=unsupported + always_export_symbols_GCJ=yes + archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + hardcode_minus_L_GCJ=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + hardcode_direct_GCJ=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[23]|aix4.[23].*|aix5*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + archive_cmds_GCJ='' + hardcode_direct_GCJ=yes + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct_GCJ=yes + else + # We have old collect2 + hardcode_direct_GCJ=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L_GCJ=yes + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_libdir_separator_GCJ= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + always_export_symbols_GCJ=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + allow_undefined_flag_GCJ='-berok' + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' + allow_undefined_flag_GCJ="-z nodefs" + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi + + hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + no_undefined_flag_GCJ=' ${wl}-bernotok' + allow_undefined_flag_GCJ=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_GCJ='$convenience' + archive_cmds_need_lc_GCJ=yes + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + # see comment about different semantics on the GNU ld section + ld_shlibs_GCJ=no + ;; + + bsdi[45]*) + export_dynamic_flag_spec_GCJ=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_GCJ=' ' + allow_undefined_flag_GCJ=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_From_new_cmds_GCJ='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds_GCJ='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' + enable_shared_with_static_runtimes_GCJ=yes + ;; + + darwin* | rhapsody*) + case $host_os in + rhapsody* | darwin1.[012]) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[012]) + allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + archive_cmds_need_lc_GCJ=no + hardcode_direct_GCJ=no + hardcode_automatic_GCJ=yes + hardcode_shlibpath_var_GCJ=unsupported + whole_archive_flag_spec_GCJ='' + link_all_deplibs_GCJ=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case $cc_basename in + xlc*) + output_verbose_link_cmd='echo' + archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds + archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + ld_shlibs_GCJ=no + ;; + esac + fi + ;; + + dgux*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + freebsd1*) + ld_shlibs_GCJ=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + hpux9*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_direct_GCJ=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + + case $host_cpu in + hppa*64*|ia64*) + hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' + hardcode_direct_GCJ=no + hardcode_shlibpath_var_GCJ=no + ;; + *) + hardcode_direct_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + hardcode_minus_L_GCJ=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + link_all_deplibs_GCJ=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + newsos6) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + hardcode_shlibpath_var_GCJ=no + ;; + + openbsd*) + hardcode_direct_GCJ=yes + hardcode_shlibpath_var_GCJ=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + export_dynamic_flag_spec_GCJ='${wl}-E' + else + case $host_os in + openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) + archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-R$libdir' + ;; + *) + archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_minus_L_GCJ=yes + allow_undefined_flag_GCJ=unsupported + archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator_GCJ=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' + else + allow_undefined_flag_GCJ=' -expect_unresolved \*' + archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + hardcode_libdir_flag_spec_GCJ='-rpath $libdir' + fi + hardcode_libdir_separator_GCJ=: + ;; + + solaris*) + no_undefined_flag_GCJ=' -z text' + if test "$GCC" = yes; then + wlarc='${wl}' + archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + wlarc='' + archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + hardcode_libdir_flag_spec_GCJ='-R$libdir' + hardcode_shlibpath_var_GCJ=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The compiler driver will combine linker options so we + # cannot just pass the convience library names through + # without $wl, iff we do not link with $LD. + # Luckily, gcc supports the same syntax we need for Sun Studio. + # Supported since Solaris 2.6 (maybe 2.5.1?) + case $wlarc in + '') + whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' ;; + *) + whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}-z ${wl}defaultextract' ;; + esac ;; + esac + link_all_deplibs_GCJ=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_direct_GCJ=yes + hardcode_minus_L_GCJ=yes + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4) + case $host_vendor in + sni) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' + reload_cmds_GCJ='$CC -r -o $output$reload_objs' + hardcode_direct_GCJ=no + ;; + motorola) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + hardcode_shlibpath_var_GCJ=no + ;; + + sysv4.3*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + export_dynamic_flag_spec_GCJ='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_shlibpath_var_GCJ=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs_GCJ=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) + no_undefined_flag_GCJ='${wl}-z,text' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + no_undefined_flag_GCJ='${wl}-z,text' + allow_undefined_flag_GCJ='${wl}-z,nodefs' + archive_cmds_need_lc_GCJ=no + hardcode_shlibpath_var_GCJ=no + hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + hardcode_libdir_separator_GCJ=':' + link_all_deplibs_GCJ=yes + export_dynamic_flag_spec_GCJ='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + hardcode_libdir_flag_spec_GCJ='-L$libdir' + hardcode_shlibpath_var_GCJ=no + ;; + + *) + ld_shlibs_GCJ=no + ;; + esac + fi + +{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 +echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } +test "$ld_shlibs_GCJ" = no && can_build_shared=no + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_GCJ" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_GCJ=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $archive_cmds_GCJ in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 +echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_GCJ + pic_flag=$lt_prog_compiler_pic_GCJ + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ + allow_undefined_flag_GCJ= + if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 + (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + then + archive_cmds_need_lc_GCJ=no + else + archive_cmds_need_lc_GCJ=yes + fi + allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 +echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } + ;; + esac + fi + ;; +esac + +{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 +echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[01] | aix4.[01].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[45]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[123]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ + freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[89] | openbsd2.[89].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 +echo "${ECHO_T}$dynamic_linker" >&6; } +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 +echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } +hardcode_action_GCJ= +if test -n "$hardcode_libdir_flag_spec_GCJ" || \ + test -n "$runpath_var_GCJ" || \ + test "X$hardcode_automatic_GCJ" = "Xyes" ; then + + # We can hardcode non-existant directories. + if test "$hardcode_direct_GCJ" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && + test "$hardcode_minus_L_GCJ" != no; then + # Linking always hardcodes the temporary library directory. + hardcode_action_GCJ=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_GCJ=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_GCJ=unsupported +fi +{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 +echo "${ECHO_T}$hardcode_action_GCJ" >&6; } + +if test "$hardcode_action_GCJ" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_GCJ \ + CC_GCJ \ + LD_GCJ \ + lt_prog_compiler_wl_GCJ \ + lt_prog_compiler_pic_GCJ \ + lt_prog_compiler_static_GCJ \ + lt_prog_compiler_no_builtin_flag_GCJ \ + export_dynamic_flag_spec_GCJ \ + thread_safe_flag_spec_GCJ \ + whole_archive_flag_spec_GCJ \ + enable_shared_with_static_runtimes_GCJ \ + old_archive_cmds_GCJ \ + old_archive_from_new_cmds_GCJ \ + predep_objects_GCJ \ + postdep_objects_GCJ \ + predeps_GCJ \ + postdeps_GCJ \ + compiler_lib_search_path_GCJ \ + archive_cmds_GCJ \ + archive_expsym_cmds_GCJ \ + postinstall_cmds_GCJ \ + postuninstall_cmds_GCJ \ + old_archive_from_expsyms_cmds_GCJ \ + allow_undefined_flag_GCJ \ + no_undefined_flag_GCJ \ + export_symbols_cmds_GCJ \ + hardcode_libdir_flag_spec_GCJ \ + hardcode_libdir_flag_spec_ld_GCJ \ + hardcode_libdir_separator_GCJ \ + hardcode_automatic_GCJ \ + module_cmds_GCJ \ + module_expsym_cmds_GCJ \ + lt_cv_prog_compiler_c_o_GCJ \ + exclude_expsyms_GCJ \ + include_expsyms_GCJ; do + + case $var in + old_archive_cmds_GCJ | \ + old_archive_from_new_cmds_GCJ | \ + archive_cmds_GCJ | \ + archive_expsym_cmds_GCJ | \ + module_cmds_GCJ | \ + module_expsym_cmds_GCJ | \ + old_archive_from_expsyms_cmds_GCJ | \ + export_symbols_cmds_GCJ | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_GCJ + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_GCJ + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_GCJ + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_GCJ + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_GCJ + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_GCJ +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_GCJ + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_GCJ +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_GCJ +archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_GCJ +module_expsym_cmds=$lt_module_expsym_cmds_GCJ + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_GCJ + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_GCJ + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_GCJ + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_GCJ + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_GCJ + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_GCJ + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_GCJ + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_GCJ + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_GCJ + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_GCJ + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_GCJ" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_GCJ + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_GCJ + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_GCJ + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_GCJ + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + else + tagname="" + fi + ;; + + RC) + + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +objext_RC=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +printf "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$rm conftest* + +ac_outfile=conftest.$ac_objext +printf "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$rm conftest* + + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +compiler_RC=$CC +for cc_temp in $compiler""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` + +lt_cv_prog_compiler_c_o_RC=yes + +# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ + SED SHELL STRIP \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + compiler_RC \ + CC_RC \ + LD_RC \ + lt_prog_compiler_wl_RC \ + lt_prog_compiler_pic_RC \ + lt_prog_compiler_static_RC \ + lt_prog_compiler_no_builtin_flag_RC \ + export_dynamic_flag_spec_RC \ + thread_safe_flag_spec_RC \ + whole_archive_flag_spec_RC \ + enable_shared_with_static_runtimes_RC \ + old_archive_cmds_RC \ + old_archive_from_new_cmds_RC \ + predep_objects_RC \ + postdep_objects_RC \ + predeps_RC \ + postdeps_RC \ + compiler_lib_search_path_RC \ + archive_cmds_RC \ + archive_expsym_cmds_RC \ + postinstall_cmds_RC \ + postuninstall_cmds_RC \ + old_archive_from_expsyms_cmds_RC \ + allow_undefined_flag_RC \ + no_undefined_flag_RC \ + export_symbols_cmds_RC \ + hardcode_libdir_flag_spec_RC \ + hardcode_libdir_flag_spec_ld_RC \ + hardcode_libdir_separator_RC \ + hardcode_automatic_RC \ + module_cmds_RC \ + module_expsym_cmds_RC \ + lt_cv_prog_compiler_c_o_RC \ + exclude_expsyms_RC \ + include_expsyms_RC; do + + case $var in + old_archive_cmds_RC | \ + old_archive_from_new_cmds_RC | \ + archive_cmds_RC | \ + archive_expsym_cmds_RC | \ + module_cmds_RC | \ + module_expsym_cmds_RC | \ + old_archive_from_expsyms_cmds_RC | \ + export_symbols_cmds_RC | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\$0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` + ;; + esac + +cfgfile="$ofile" + + cat <<__EOF__ >> "$cfgfile" +# ### BEGIN LIBTOOL TAG CONFIG: $tagname + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_RC + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host +host_os=$host_os + +# The build system. +build_alias=$build_alias +build=$build +build_os=$build_os + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + +# A language-specific compiler. +CC=$lt_compiler_RC + +# Is the compiler the GNU C compiler? +with_gcc=$GCC_RC + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_LD_RC + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$lt_STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_RC + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext_cmds='$shrext_cmds' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_RC +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC + +# Must we lock files when doing compilation? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_RC + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_old_archive_cmds_RC +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC + +# Commands used to build and install a shared archive. +archive_cmds=$lt_archive_cmds_RC +archive_expsym_cmds=$lt_archive_expsym_cmds_RC +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_module_cmds_RC +module_expsym_cmds=$lt_module_expsym_cmds_RC + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_predep_objects_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_postdep_objects_RC + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_predeps_RC + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_postdeps_RC + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_RC + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_RC + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_RC + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_RC + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$hardcode_direct_RC + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$hardcode_minus_L_RC + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_RC + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$hardcode_automatic_RC + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_RC + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path_RC" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols_RC + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_RC + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_RC + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_RC + +# ### END LIBTOOL TAG CONFIG: $tagname + +__EOF__ + + +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` + if test -f "$ltmain_in"; then + test -f Makefile && make "$ltmain" + fi +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC="$lt_save_CC" + + ;; + + *) + { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 +echo "$as_me: error: Unsupported tag name: $tagname" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 +echo "$as_me: error: unable to update list of available tagged configurations." >&2;} + { (exit 1); exit 1; }; } + fi +fi + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Prevent multiple expansion + + + + + + + + + + + + + + + + + + + + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + + +# +# Handle user hints +# +{ echo "$as_me:$LINENO: checking if zlib is wanted" >&5 +echo $ECHO_N "checking if zlib is wanted... $ECHO_C" >&6; } + +# Check whether --with-zlib was given. +if test "${with_zlib+set}" = set; then + withval=$with_zlib; if test "$withval" != no ; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + ZLIB_HOME="$withval" +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi +else + +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi + +fi + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + { echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + zlib_cv_libz=yes +else + zlib_cv_libz=no +fi + + if test "${ac_cv_header_zlib_h+set}" = set; then + { echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking zlib.h usability" >&5 +echo $ECHO_N "checking zlib.h usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking zlib.h presence" >&5 +echo $ECHO_N "checking zlib.h presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: zlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: zlib.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: zlib.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: zlib.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: zlib.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: zlib.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: zlib.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: zlib.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: zlib.h: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## ------------------------------- ## +## Report this to cgagne@gmail.com ## +## ------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ echo "$as_me:$LINENO: checking for zlib.h" >&5 +echo $ECHO_N "checking for zlib.h... $ECHO_C" >&6; } +if test "${ac_cv_header_zlib_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_zlib_h=$ac_header_preproc +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_zlib_h" >&5 +echo "${ECHO_T}$ac_cv_header_zlib_h" >&6; } + +fi +if test $ac_cv_header_zlib_h = yes; then + zlib_cv_zlib_h=yes +else + zlib_cv_zlib_h=no +fi + + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + +{ echo "$as_me:$LINENO: checking for inflateEnd in -lz" >&5 +echo $ECHO_N "checking for inflateEnd in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_inflateEnd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflateEnd (); +int +main () +{ +return inflateEnd (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_inflateEnd=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_inflateEnd=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflateEnd" >&5 +echo "${ECHO_T}$ac_cv_lib_z_inflateEnd" >&6; } +if test $ac_cv_lib_z_inflateEnd = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +fi + + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + { echo "$as_me:$LINENO: result: ok" >&5 +echo "${ECHO_T}ok" >&6; } + else + # + # If either header or library was not found, revert and bomb + # + { echo "$as_me:$LINENO: checking zlib in ${ZLIB_HOME}" >&5 +echo $ECHO_N "checking zlib in ${ZLIB_HOME}... $ECHO_C" >&6; } + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + { echo "$as_me:$LINENO: result: failed" >&5 +echo "${ECHO_T}failed" >&6; } + fi +fi + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + { echo "$as_me:$LINENO: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 +echo $ECHO_N "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_join (); +int +main () +{ +return pthread_join (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + { echo "$as_me:$LINENO: checking whether pthreads work without any flags" >&5 +echo $ECHO_N "checking whether pthreads work without any flags... $ECHO_C" >&6; } + ;; + + -*) + { echo "$as_me:$LINENO: checking whether pthreads work with $flag" >&5 +echo $ECHO_N "checking whether pthreads work with $flag... $ECHO_C" >&6; } + PTHREAD_CFLAGS="$flag" + ;; + + *) + { echo "$as_me:$LINENO: checking for the pthreads library -l$flag" >&5 +echo $ECHO_N "checking for the pthreads library -l$flag... $ECHO_C" >&6; } + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + acx_pthread_ok=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + { echo "$as_me:$LINENO: result: $acx_pthread_ok" >&5 +echo "${ECHO_T}$acx_pthread_ok" >&6; } + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + { echo "$as_me:$LINENO: checking for joinable pthread attribute" >&5 +echo $ECHO_N "checking for joinable pthread attribute... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_JOINABLE; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_JOINABLE +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + if test x"$ok" = xunknown; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +int attr=PTHREAD_CREATE_UNDETACHED; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ok=PTHREAD_CREATE_UNDETACHED +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ok=unknown +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + +cat >>confdefs.h <<\_ACEOF +#define PTHREAD_CREATE_JOINABLE $ok +_ACEOF + + fi + { echo "$as_me:$LINENO: result: ${ok}" >&5 +echo "${ECHO_T}${ok}" >&6; } + if test x"$ok" = xunknown; then + { echo "$as_me:$LINENO: WARNING: we do not know how to create joinable pthreads" >&5 +echo "$as_me: WARNING: we do not know how to create joinable pthreads" >&2;} + fi + + { echo "$as_me:$LINENO: checking if more special flags are required for pthreads" >&5 +echo $ECHO_N "checking if more special flags are required for pthreads... $ECHO_C" >&6; } + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + { echo "$as_me:$LINENO: result: ${flag}" >&5 +echo "${ECHO_T}${flag}" >&6; } + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + # Extract the first word of "cc_r", so it can be a program name with args. +set dummy cc_r; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_PTHREAD_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$PTHREAD_CC"; then + ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_PTHREAD_CC="cc_r" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_PTHREAD_CC" && ac_cv_prog_PTHREAD_CC="${CC}" +fi +fi +PTHREAD_CC=$ac_cv_prog_PTHREAD_CC +if test -n "$PTHREAD_CC"; then + { echo "$as_me:$LINENO: result: $PTHREAD_CC" >&5 +echo "${ECHO_T}$PTHREAD_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +else + PTHREAD_CC="$CC" +fi + + + + + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_PTHREAD 1 +_ACEOF + + : +else + acx_pthread_ok=no + +fi +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + + + +# Check whether --with-pacc-util was given. +if test "${with_pacc_util+set}" = set; then + withval=$with_pacc_util; pacc_util_path="$withval" +else + pacc_util_path="../../../../PACC" +fi + + +# Check whether --with-pacc-util-include was given. +if test "${with_pacc_util_include+set}" = set; then + withval=$with_pacc_util_include; pacc_util_path_include="$withval" +fi + + +# Check whether --with-pacc-util-libdir was given. +if test "${with_pacc_util_libdir+set}" = set; then + withval=$with_pacc_util_libdir; pacc_util_path_libdir="$withval" +fi + +if test -z "$pacc_util_path"; then + pacc_util_path="../../../../PACC" +fi +if test -z "$pacc_util_path_include"; then + if test -z "../../../../PACC"; then + pacc_util_path_include="$pacc_util_path"/include + else + pacc_util_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_util_path_libdir"; then + if test -z "../../../../PACC/Util"; then + pacc_util_path_libdir="$pacc_util_path"/lib + else + pacc_util_path_libdir="../../../../PACC/Util" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_util_path_include" +LIBS="$pacc_util_path_libdir/libpacc-util.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Util headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Util headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_util_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Util.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_util_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_util_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_util_include_test" >&5 +echo "${ECHO_T}$pacc_util_include_test" >&6; } + + + +# Check whether --with-pacc-xml was given. +if test "${with_pacc_xml+set}" = set; then + withval=$with_pacc_xml; pacc_xml_path="$withval" +else + pacc_xml_path="../../../../PACC" +fi + + +# Check whether --with-pacc-xml-include was given. +if test "${with_pacc_xml_include+set}" = set; then + withval=$with_pacc_xml_include; pacc_xml_path_include="$withval" +fi + + +# Check whether --with-pacc-xml-libdir was given. +if test "${with_pacc_xml_libdir+set}" = set; then + withval=$with_pacc_xml_libdir; pacc_xml_path_libdir="$withval" +fi + +if test -z "$pacc_xml_path"; then + pacc_xml_path="../../../../PACC" +fi +if test -z "$pacc_xml_path_include"; then + if test -z "../../../../PACC"; then + pacc_xml_path_include="$pacc_xml_path"/include + else + pacc_xml_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_xml_path_libdir"; then + if test -z "../../../../PACC/XML"; then + pacc_xml_path_libdir="$pacc_xml_path"/lib + else + pacc_xml_path_libdir="../../../../PACC/XML" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_xml_path_include" +LIBS="$pacc_xml_path_libdir/libpacc-xml.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::XML headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::XML headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_xml_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +XML.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_xml_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_xml_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_xml_include_test" >&5 +echo "${ECHO_T}$pacc_xml_include_test" >&6; } + + + +# Check whether --with-pacc-math was given. +if test "${with_pacc_math+set}" = set; then + withval=$with_pacc_math; pacc_math_path="$withval" +else + pacc_math_path="../../../../PACC" +fi + + +# Check whether --with-pacc-math-include was given. +if test "${with_pacc_math_include+set}" = set; then + withval=$with_pacc_math_include; pacc_math_path_include="$withval" +fi + + +# Check whether --with-pacc-math-libdir was given. +if test "${with_pacc_math_libdir+set}" = set; then + withval=$with_pacc_math_libdir; pacc_math_path_libdir="$withval" +fi + +if test -z "$pacc_math_path"; then + pacc_math_path="../../../../PACC" +fi +if test -z "$pacc_math_path_include"; then + if test -z "../../../../PACC"; then + pacc_math_path_include="$pacc_math_path"/include + else + pacc_math_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_math_path_libdir"; then + if test -z "../../../../PACC/Math"; then + pacc_math_path_libdir="$pacc_math_path"/lib + else + pacc_math_path_libdir="../../../../PACC/Math" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_math_path_include" +LIBS="$pacc_math_path_libdir/libpacc-math.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Math headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Math headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_math_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Math.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_math_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_math_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_math_include_test" >&5 +echo "${ECHO_T}$pacc_math_include_test" >&6; } + + + +# Check whether --with-pacc-threading was given. +if test "${with_pacc_threading+set}" = set; then + withval=$with_pacc_threading; pacc_threading_path="$withval" +else + pacc_threading_path="../../../../PACC" +fi + + +# Check whether --with-pacc-threading-include was given. +if test "${with_pacc_threading_include+set}" = set; then + withval=$with_pacc_threading_include; pacc_threading_path_include="$withval" +fi + + +# Check whether --with-pacc-threading-libdir was given. +if test "${with_pacc_threading_libdir+set}" = set; then + withval=$with_pacc_threading_libdir; pacc_threading_path_libdir="$withval" +fi + +if test -z "$pacc_threading_path"; then + pacc_threading_path="../../../../PACC" +fi +if test -z "$pacc_threading_path_include"; then + if test -z "../../../../PACC"; then + pacc_threading_path_include="$pacc_threading_path"/include + else + pacc_threading_path_include="../../../../PACC" + fi +fi +if test -z "$pacc_threading_path_libdir"; then + if test -z "../../../../PACC/Threading"; then + pacc_threading_path_libdir="$pacc_threading_path"/lib + else + pacc_threading_path_libdir="../../../../PACC/Threading" + fi +fi +CPPFLAGS="$CPPFLAGS -I$pacc_threading_path_include" +LIBS="$pacc_threading_path_libdir/libpacc-threading.la $LIBS" +{ echo "$as_me:$LINENO: checking if PACC::Threading headers are correctly included" >&5 +echo $ECHO_N "checking if PACC::Threading headers are correctly included... $ECHO_C" >&6; } +if test "${pacc_threading_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +Threading.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + pacc_threading_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + pacc_threading_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $pacc_threading_include_test" >&5 +echo "${ECHO_T}$pacc_threading_include_test" >&6; } + + + +# Check whether --enable-optimization was given. +if test "${enable_optimization+set}" = set; then + enableval=$enable_optimization; case $enableval in + yes) enable_optimization=yes;; + no) enable_optimization=no;; + *) enable_optimization=no;; esac +else + enable_optimization=no +fi + +if test "$enable_optimization" = yes; then + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-g\(?*\)/\1\2/'` +else + CFLAGS=`echo $CFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` + CXXFLAGS=`echo $CXXFLAGS | sed 's/\(?*\)-O[0-9]\(?*\)/\1\2/'` +fi + +# Check whether --with-beagle was given. +if test "${with_beagle+set}" = set; then + withval=$with_beagle; ob_beagle_path="$withval" +else + ob_beagle_path="../../../../beagle" +fi + + +# Check whether --with-beagle-include was given. +if test "${with_beagle_include+set}" = set; then + withval=$with_beagle_include; ob_beagle_path_include="$withval" +fi + + +# Check whether --with-beagle-GA-include was given. +if test "${with_beagle_GA_include+set}" = set; then + withval=$with_beagle_GA_include; ob_beagle_path_ga_include="$withval" +fi + + +# Check whether --with-beagle-GP-include was given. +if test "${with_beagle_GP_include+set}" = set; then + withval=$with_beagle_GP_include; ob_beagle_path_gp_include="$withval" +fi + + +# Check whether --with-beagle-Coev-include was given. +if test "${with_beagle_Coev_include+set}" = set; then + withval=$with_beagle_Coev_include; ob_beagle_path_coev_include="$withval" +fi + + +# Check whether --with-beagle-libdir was given. +if test "${with_beagle_libdir+set}" = set; then + withval=$with_beagle_libdir; ob_beagle_path_libdir="$withval" +fi + + +# Check whether --with-beagle-GA-libdir was given. +if test "${with_beagle_GA_libdir+set}" = set; then + withval=$with_beagle_GA_libdir; ob_beagle_path_ga_libdir="$withval" +fi + + +# Check whether --with-beagle-GP-libdir was given. +if test "${with_beagle_GP_libdir+set}" = set; then + withval=$with_beagle_GP_libdir; ob_beagle_path_gp_libdir="$withval" +fi + + +# Check whether --with-beagle-Coev-libdir was given. +if test "${with_beagle_Coev_libdir+set}" = set; then + withval=$with_beagle_Coev_libdir; ob_beagle_path_coev_libdir="$withval" +fi + +if test -z "$ob_beagle_path"; then + ob_beagle_path="../../../../beagle" +fi +if test -z "$ob_beagle_path_include"; then + if test -z "../../../../beagle/include"; then + ob_beagle_path_include="$ob_beagle_path"/include + else + ob_beagle_path_include="../../../../beagle/include" + fi +fi +if test -z "$ob_beagle_path_libdir"; then + if test -z "../../../../beagle/src"; then + ob_beagle_path_libdir="$ob_beagle_path"/lib + else + ob_beagle_path_libdir="../../../../beagle/src" + fi +fi +if test -z "$ob_beagle_path_ga_include"; then + if test -z "../../../../beagle/GA/include"; then + ob_beagle_path_ga_include=$ob_beagle_path_include + else + ob_beagle_path_ga_include="../../../../beagle/GA/include" + fi +fi +if test -z "$ob_beagle_path_ga_libdir"; then + if test -z "../../../../beagle/GA/src"; then + ob_beagle_path_ga_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_ga_libdir="../../../../beagle/GA/src" + fi +fi +if test -z "$ob_beagle_path_gp_include"; then + if test -z "../../../../beagle/GP/include"; then + ob_beagle_path_gp_include=$ob_beagle_path_include + else + ob_beagle_path_gp_include="../../../../beagle/GP/include" + fi +fi +if test -z "$ob_beagle_path_gp_libdir"; then + if test -z "../../../../beagle/GP/src"; then + ob_beagle_path_gp_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_gp_libdir="../../../../beagle/GP/src" + fi +fi +if test -z "$ob_beagle_path_coev_include"; then + if test -z "../../../../beagle/Coev/include"; then + ob_beagle_path_coev_include=$ob_beagle_path_include + else + ob_beagle_path_coev_include="../../../../beagle/Coev/include" + fi +fi +if test -z "$ob_beagle_path_coev_libdir"; then + if test -z "../../../../beagle/Coev/src"; then + ob_beagle_path_coev_libdir=$ob_beagle_path_libdir + else + ob_beagle_path_coev_libdir="../../../../beagle/Coev/src" + fi +fi +CPPFLAGS="$CPPFLAGS -I$ob_beagle_path_include -I$ob_beagle_path_ga_include -I$ob_beagle_path_gp_include -I$ob_beagle_path_coev_include" +LIBS="$ob_beagle_path_coev_libdir/libbeagle-Coev.la $ob_beagle_path_gp_libdir/libbeagle-GP.la $ob_beagle_path_ga_libdir/libbeagle-GA.la $ob_beagle_path_libdir/libbeagle.la $LIBS" +{ echo "$as_me:$LINENO: checking if Open BEAGLE headers are correctly included" >&5 +echo $ECHO_N "checking if Open BEAGLE headers are correctly included... $ECHO_C" >&6; } +if test "${ob_beagle_include_test+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +beagle/beagle.hpp beagle/GA.hpp beagle/GP.hpp beagle/Coev.hpp +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then + ob_beagle_include_test=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ob_beagle_include_test=no +fi + +rm -f conftest.err conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +fi +{ echo "$as_me:$LINENO: result: $ob_beagle_include_test" >&5 +echo "${ECHO_T}$ob_beagle_include_test" >&6; } + + +ac_config_files="$ac_config_files Makefile symbreg/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by GP symbolic regression example $as_me 3.0.2, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +GP symbolic regression example config.status 3.0.2 +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "symbreg/config.hpp") CONFIG_HEADERS="$CONFIG_HEADERS symbreg/config.hpp:symbreg/config.hpp.in" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "symbreg/Makefile") CONFIG_FILES="$CONFIG_FILES symbreg/Makefile" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# +# Set up the sed scripts for CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CYGPATH_W!$CYGPATH_W$ac_delim +PACKAGE!$PACKAGE$ac_delim +VERSION!$VERSION$ac_delim +ACLOCAL!$ACLOCAL$ac_delim +AUTOCONF!$AUTOCONF$ac_delim +AUTOMAKE!$AUTOMAKE$ac_delim +AUTOHEADER!$AUTOHEADER$ac_delim +MAKEINFO!$MAKEINFO$ac_delim +AMTAR!$AMTAR$ac_delim +install_sh!$install_sh$ac_delim +STRIP!$STRIP$ac_delim +INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim +mkdir_p!$mkdir_p$ac_delim +AWK!$AWK$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +am__leading_dot!$am__leading_dot$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +DEPDIR!$DEPDIR$ac_delim +am__include!$am__include$ac_delim +am__quote!$am__quote$ac_delim +AMDEP_TRUE!$AMDEP_TRUE$ac_delim +AMDEP_FALSE!$AMDEP_FALSE$ac_delim +AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim +CXXDEPMODE!$CXXDEPMODE$ac_delim +am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim +am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim +CXXCPP!$CXXCPP$ac_delim +LN_S!$LN_S$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +CCDEPMODE!$CCDEPMODE$ac_delim +am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim +am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +ECHO!$ECHO$ac_delim +AR!$AR$ac_delim +RANLIB!$RANLIB$ac_delim +CPP!$CPP$ac_delim +F77!$F77$ac_delim +FFLAGS!$FFLAGS$ac_delim +ac_ct_F77!$ac_ct_F77$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +LIBTOOL!$LIBTOOL$ac_delim +PTHREAD_CC!$PTHREAD_CC$ac_delim +PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim +PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 6; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines + +# Break up conftest.defines: +ac_max_sed_lines=50 + +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + +while : +do + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines conftest.tail + +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi + else + echo "/* $configure_input */" + cat "$ac_result" + fi + rm -f "$tmp/out12" +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| . 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 +echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/configure.ac b/lib/beagle-3.0.3/examples/GP/symbreg/configure.ac new file mode 100644 index 0000000..5d0bcf0 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/configure.ac @@ -0,0 +1,50 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT([GP symbolic regression example], 3.0.2,[cgagne@gmail.com],[symbreg]) +AC_CONFIG_SRCDIR([symbreg/SymbRegEvalOp.cpp]) +AC_CONFIG_AUX_DIR([config]) +AC_REVISION([$Revision: 1.4.2.1 $]) +AM_INIT_AUTOMAKE +AM_CONFIG_HEADER([symbreg/config.hpp:symbreg/config.hpp.in]) + +dnl Checks for programs. +AC_PROG_AWK +AC_PROG_CXX +AC_PROG_CXXCPP +AC_PROG_LN_S +AC_PROG_LIBTOOL + +dnl Set language. +AC_LANG([C++]) + +dnl Checks for libraries. +AC_HEADER_STDC + +dnl Check for zlib support. +CHECK_ZLIB + +dnl Check for POSIX threads support. +ACX_PTHREAD +LIBS="$PTHREAD_LIBS $LIBS" +CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" + +dnl Initialize PACC libraries with the given paths. +PACC_UTIL_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Util]) +PACC_XML_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/XML]) +PACC_MATH_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Math]) +PACC_THREADING_INIT([../../../../PACC], [../../../../PACC], [../../../../PACC/Threading]) + +dnl Initialize Open BEAGLE with the given paths. +OB_BEAGLE_INIT([../../../../beagle], + [../../../../beagle/include], + [../../../../beagle/src], + [../../../../beagle/GA/include], + [../../../../beagle/GA/src], + [../../../../beagle/GP/include], + [../../../../beagle/GP/src], + [../../../../beagle/Coev/include], + [../../../../beagle/Coev/src]) + +dnl Create makefiles. +AC_CONFIG_FILES([Makefile symbreg/Makefile]) +AC_OUTPUT diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/symbreg.kdevelop b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg.kdevelop new file mode 100644 index 0000000..1344e4a --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg.kdevelop @@ -0,0 +1,245 @@ + + + + Christian Gagne + cgagne@gmail.com + 3.0.2 + KDevAutoProject + C++ + + C++ + Code + + + . + false + + + kdevcvsservice + symbreg + + + + + src/symbreg + default + + + /home/cgagne/beagle/beagle-stable/examples/GP/symbreg/symbreg/symbreg + true + executable + / + + true + + + /home/cgagne/beagle/beagle-stable/examples/GP/symbreg + true + false + false + + + + + + + + + + kdevgccoptions + kdevgppoptions + kdevpgf77options + + + + + + + + + + + + + + false + 1 + false + + 0 + + + + + ada + ada_bugs_gcc + bash + bash_bugs + clanlib + w3c-dom-level2-html + fortran_bugs_gcc + gnome1 + gnustep + gtk + gtk_bugs + haskell + haskell_bugs_ghc + java_bugs_gcc + java_bugs_sun + kde2book + opengl + pascal_bugs_fp + php + php_bugs + perl + perl_bugs + python + python_bugs + qt-kdev3 + ruby + ruby_bugs + sdl + w3c-svg + sw + w3c-uaag10 + wxwidgets_bugs + + + Guide to the Qt Translation Tools + Qt Assistant Manual + Qt Designer Manual + Qt Reference Documentation + qmake User Guide + + + KDE Libraries (Doxygen) + + + + + + + + + + + + + + + false + false + + + *.o,*.lo,CVS + false + false + + + + + + + + + + + symbreg + symbreg + SYMBREG + Christian Gagne + cgagne@gmail.com + GPL + COPYING + 3.0.0 + /home/cgagne/tmp/symbreg + + + + + true + true + true + false + true + true + true + 250 + 400 + 250 + false + 0 + true + true + false + std=_GLIBCXX_STD;__gnu_cxx=std + true + false + false + false + true + true + true + false + .; + + + + set + m_,_ + theValue + true + true + + + false + 3 + 3 + /usr/share/qt3 + EmbeddedKDevDesigner + /usr/bin/qmake-qt3 + /usr/bin/designer-qt3 + + + + false + true + Vertical + + + + + .hpp + .cpp + + + + + + + + + + + true + false + false + + + false + true + 10 + + + + true + true + true + true + -C + + + + + + diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/Makefile.am b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/Makefile.am new file mode 100644 index 0000000..bb78029 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/Makefile.am @@ -0,0 +1,3 @@ +bin_PROGRAMS = symbreg +symbreg_SOURCES = SymbRegEvalOp.hpp SymbRegEvalOp.cpp SymbRegMain.cpp + diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/Makefile.in b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/Makefile.in new file mode 100644 index 0000000..a7bb15e --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/Makefile.in @@ -0,0 +1,484 @@ +# Makefile.in generated by automake 1.8.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +SOURCES = $(symbreg_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +host_triplet = @host@ +bin_PROGRAMS = symbreg$(EXEEXT) +subdir = symbreg +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.hpp.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = config.hpp +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_symbreg_OBJECTS = SymbRegEvalOp.$(OBJEXT) SymbRegMain.$(OBJEXT) +symbreg_OBJECTS = $(am_symbreg_OBJECTS) +symbreg_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/SymbRegEvalOp.Po \ +@AMDEP_TRUE@ ./$(DEPDIR)/SymbRegMain.Po +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(symbreg_SOURCES) +DIST_SOURCES = $(symbreg_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GREP = @GREP@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +symbreg_SOURCES = SymbRegEvalOp.hpp SymbRegEvalOp.cpp SymbRegMain.cpp +all: config.hpp + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign symbreg/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign symbreg/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +config.hpp: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.hpp.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status symbreg/config.hpp +$(srcdir)/config.hpp.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.hpp stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +symbreg$(EXEEXT): $(symbreg_OBJECTS) $(symbreg_DEPENDENCIES) + @rm -f symbreg$(EXEEXT) + $(CXXLINK) $(symbreg_LDFLAGS) $(symbreg_OBJECTS) $(symbreg_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SymbRegEvalOp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SymbRegMain.Po@am__quote@ + +.cpp.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.hpp.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.hpp.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) config.hpp +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool ctags distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/SymbRegEvalOp.cpp b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/SymbRegEvalOp.cpp new file mode 100644 index 0000000..ef25c03 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/SymbRegEvalOp.cpp @@ -0,0 +1,88 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file SymbRegEvalOp.cpp + * \brief Implementation of the class SymbRegEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.9.2.1 $ + * $Date: 2007/05/09 01:51:24 $ + */ + +#include "beagle/GP.hpp" +#include "SymbRegEvalOp.hpp" + +#include + +using namespace Beagle; + +/*! + * \brief Construct a new symbolic regression evaluation operator. + */ +SymbRegEvalOp::SymbRegEvalOp() : + GP::EvaluationOp("SymbRegEvalOp"), + mX(0), + mY(0) +{ } + + +/*! + * \brief Evaluate the individual fitness for the symbolic regression problem. + * \param inIndividual Individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness measure, + */ +Fitness::Handle SymbRegEvalOp::evaluate(GP::Individual& inIndividual, GP::Context& ioContext) +{ + double lSquareError = 0.0; + for(unsigned int i=0; i +#include + + +/*! + * \class SymbRegEvalOp SymbRegEvalOp.hpp "SymbRegEvalOp.hpp" + * \brief The individual evaluation class operator for the problem of symbolic regression. + * \ingroup SymbReg + */ +class SymbRegEvalOp : public Beagle::GP::EvaluationOp { + +public: + + //! SymbRegEvalOp allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< SymbRegEvalOp handle type. + typedef Beagle::PointerT + Handle; + //!< SymbRegEvalOp bag type. + typedef Beagle::ContainerT + Bag; + + explicit SymbRegEvalOp(); + + virtual Beagle::Fitness::Handle evaluate(Beagle::GP::Individual& inIndividual, + Beagle::GP::Context& ioContext); + virtual void postInit(Beagle::System& ioSystem); + +protected: + + std::vector mX; + std::vector mY; + +}; + +#endif // SymbRegEvalOp_hpp diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/SymbRegMain.cpp b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/SymbRegMain.cpp new file mode 100644 index 0000000..fcda563 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/SymbRegMain.cpp @@ -0,0 +1,98 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file SymbRegMain.cpp + * \brief Implementation of the main routine for the symbolic regression problem. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.10.2.1 $ + * $Date: 2007/05/09 01:51:24 $ + */ + +#include "beagle/GP.hpp" +#include "SymbRegEvalOp.hpp" + +#define _USE_MATH_DEFINES +#include +#include +#include +#include +#include +#include + +using namespace std; +using namespace Beagle; + + +/*! + * \brief Main routine for the function symbolic regression problem. + * \param argc Number of arguments on the command-line. + * \param argv Arguments on the command-line. + * \return Return value of the program. + * \ingroup SymbReg + */ +int main(int argc, char *argv[]) { + try { + // 1: Build primitives. + GP::PrimitiveSet::Handle lSet = new GP::PrimitiveSet; + lSet->insert(new GP::Add); + lSet->insert(new GP::Subtract); + lSet->insert(new GP::Multiply); + lSet->insert(new GP::Divide); + //lSet->insert(new GP::Sin); + //lSet->insert(new GP::Cos); + //lSet->insert(new GP::Exp); + //lSet->insert(new GP::Log); + lSet->insert(new GP::TokenT("X")); + lSet->insert(new GP::EphemeralDouble); + //lSet->insert(new GP::TokenT("Pi", Double(M_PI))); + // 2: Build a system. + GP::System::Handle lSystem = new GP::System(lSet); + // 3: Build evaluation operator. + SymbRegEvalOp::Handle lEvalOp = new SymbRegEvalOp; + // 4: Build an evolver and a vivarium. + GP::Evolver::Handle lEvolver = new GP::Evolver(lEvalOp); + GP::Vivarium::Handle lVivarium = new GP::Vivarium; + // 5: Initialize and evolve the vivarium. + lEvolver->initialize(lSystem, argc, argv); + lEvolver->evolve(lVivarium); + } + catch(Exception& inException) { + inException.terminate(); + } + catch(exception& inException) { + cerr << "Standard exception catched:" << endl; + cerr << inException.what() << endl << flush; + return 1; + } + catch(...) { + cerr << "Unknown exception catched!" << endl << flush; + return 1; + } + return 0; +} + diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/config.hpp.in b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/config.hpp.in new file mode 100644 index 0000000..e4c9e24 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/config.hpp.in @@ -0,0 +1,65 @@ +/* symbreg/config.hpp.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `z' library (-lz). */ +#undef HAVE_LIBZ + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define if you have POSIX threads libraries and header files. */ +#undef HAVE_PTHREAD + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to the necessary symbol if this constant uses a non-standard name on + your system. */ +#undef PTHREAD_CREATE_JOINABLE + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg-adfs.conf b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg-adfs.conf new file mode 100644 index 0000000..419ef5f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg-adfs.conf @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 4 + 0/2 + 0/4 + + + diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg-ema.conf b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg-ema.conf new file mode 100644 index 0000000..9d50546 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg-ema.conf @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg-generational.conf b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg-generational.conf new file mode 100644 index 0000000..215446f --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg-generational.conf @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.05 + 0.8 + 0.05 + 0.05 + 0.05 + + \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg-hfc.conf b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg-hfc.conf new file mode 100644 index 0000000..8f6e7c3 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg-hfc.conf @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100/100/100/100/100 + 1.0 + + diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg-steadystate.conf b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg-steadystate.conf new file mode 100644 index 0000000..8599101 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg-steadystate.conf @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.05 + 0.8 + 0.05 + 0.05 + 0.05 + + \ No newline at end of file diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg.conf b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg.conf new file mode 100644 index 0000000..ff0aa57 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/symbreg/symbreg.conf @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/templates/cpp b/lib/beagle-3.0.3/examples/GP/symbreg/templates/cpp new file mode 100644 index 0000000..64a2ab0 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/templates/cpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/%{FILE} + * \brief Implementation of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:52 $ + */ + diff --git a/lib/beagle-3.0.3/examples/GP/symbreg/templates/hpp b/lib/beagle-3.0.3/examples/GP/symbreg/templates/hpp new file mode 100644 index 0000000..6cc1261 --- /dev/null +++ b/lib/beagle-3.0.3/examples/GP/symbreg/templates/hpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/%{FILE} + * \brief Definition of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:52 $ + */ + diff --git a/lib/beagle-3.0.3/libtool b/lib/beagle-3.0.3/libtool new file mode 100755 index 0000000..7eaa264 --- /dev/null +++ b/lib/beagle-3.0.3/libtool @@ -0,0 +1,12114 @@ +#! /bin/bash +# Generated automatically by config.status (beagle) 3.0.3 +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +# The names of the tagged configurations supported by this script. +available_tags='CXX ' + +# Configured defaults for sys_lib_dlsearch_path munging. +: ${LT_SYS_LIBRARY_PATH=""} + +# ### BEGIN LIBTOOL CONFIG + +# Which release of libtool.m4 was used? +macro_version=2.4.7 +macro_revision=2.4.7 + +# Whether or not to build shared libraries. +build_libtool_libs=yes + +# Whether or not to build static libraries. +build_old_libs=yes + +# What type of objects to build. +pic_mode=default + +# Whether or not to optimize for fast installation. +fast_install=needless + +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec= + +# Shell to use when invoking shell scripts. +SHELL="/bin/bash" + +# An echo program that protects backslashes. +ECHO="printf %s\\n" + +# The PATH separator for the build system. +PATH_SEPARATOR=":" + +# The host system. +host_alias= +host=x86_64-pc-linux-gnu +host_os=linux-gnu + +# The build system. +build_alias= +build=x86_64-pc-linux-gnu +build_os=linux-gnu + +# A sed program that does not truncate output. +SED="/usr/bin/sed" + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e 1s/^X//" + +# A grep program that handles long lines. +GREP="/usr/bin/grep" + +# An ERE matcher. +EGREP="/usr/bin/grep -E" + +# A literal string matcher. +FGREP="/usr/bin/grep -F" + +# A BSD- or MS-compatible name lister. +NM="/usr/bin/nm -B" + +# Whether we need soft or hard links. +LN_S="ln -s" + +# What is the maximum length of a command? +max_cmd_len=1572864 + +# Object file suffix (normally "o"). +objext=o + +# Executable file suffix (normally ""). +exeext= + +# whether the shell understands "unset". +lt_unset=unset + +# turn spaces into newlines. +SP2NL="tr \\040 \\012" + +# turn newlines into spaces. +NL2SP="tr \\015\\012 \\040\\040" + +# convert $build file names to $host format. +to_host_file_cmd=func_convert_file_noop + +# convert $build files to toolchain format. +to_tool_file_cmd=func_convert_file_noop + +# A file(cmd) program that detects file types. +FILECMD="file" + +# An object symbol dumper. +OBJDUMP="objdump" + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method = "file_magic". +file_magic_cmd="\$MAGIC_CMD" + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob="" + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob="no" + +# DLL creation program. +DLLTOOL="false" + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd="printf %s\\n" + +# The archiver. +AR="ar" + +# Flags to create an archive (by configure). +lt_ar_flags=cr + +# Flags to create an archive. +AR_FLAGS=${ARFLAGS-"$lt_ar_flags"} + +# How to feed a file listing to the archiver. +archiver_list_spec="@" + +# A symbol stripping program. +STRIP="strip" + +# Commands used to install an old-style archive. +RANLIB="ranlib" +old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$tool_oldlib" +old_postuninstall_cmds="" + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=no + +# A C compiler. +LTCC="gcc" + +# LTCC compiler flags. +LTCFLAGS="-std=c++03 " + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="/usr/bin/sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p' | /usr/bin/sed '/ __gnu_lto/d'" + +# Transform the output of nm in a proper C declaration. +global_symbol_to_cdecl="/usr/bin/sed -n -e 's/^T .* \\(.*\\)\$/extern int \\1();/p' -e 's/^[ABCDGIRSTW][ABCDGIRSTW]* .* \\(.*\\)\$/extern char \\1;/p'" + +# Transform the output of nm into a list of symbols to manually relocate. +global_symbol_to_import="" + +# Transform the output of nm in a C name address pair. +global_symbol_to_c_name_address="/usr/bin/sed -n -e 's/^: \\(.*\\) .*\$/ {\"\\1\", (void *) 0},/p' -e 's/^[ABCDGIRSTW][ABCDGIRSTW]* .* \\(.*\\)\$/ {\"\\1\", (void *) \\&\\1},/p'" + +# Transform the output of nm in a C name address pair when lib prefix is needed. +global_symbol_to_c_name_address_lib_prefix="/usr/bin/sed -n -e 's/^: \\(.*\\) .*\$/ {\"\\1\", (void *) 0},/p' -e 's/^[ABCDGIRSTW][ABCDGIRSTW]* .* \\(lib.*\\)\$/ {\"\\1\", (void *) \\&\\1},/p' -e 's/^[ABCDGIRSTW][ABCDGIRSTW]* .* \\(.*\\)\$/ {\"lib\\1\", (void *) \\&\\1},/p'" + +# The name lister interface. +nm_interface="BSD nm" + +# Specify filename containing input files for $NM. +nm_file_list_spec="@" + +# The root where to search for dependent libraries,and where our libraries should be installed. +lt_sysroot= + +# Command to truncate a binary pipe. +lt_truncate_bin="/usr/bin/dd bs=4096 count=1" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# Used to examine libraries when file_magic_cmd begins with "file". +MAGIC_CMD=file + +# Must we lock files when doing compilation? +need_locks="no" + +# Manifest tool. +MANIFEST_TOOL=":" + +# Tool to manipulate archived DWARF debug symbol files on Mac OS X. +DSYMUTIL="" + +# Tool to change global to local symbols on Mac OS X. +NMEDIT="" + +# Tool to manipulate fat objects and archives on Mac OS X. +LIPO="" + +# ldd/readelf like tool for Mach-O binaries on Mac OS X. +OTOOL="" + +# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. +OTOOL64="" + +# Old archive suffix (normally "a"). +libext=a + +# Shared library suffix (normally ".so"). +shrext_cmds=".so" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at link time. +variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + +# Do we need the "lib" prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Library versioning type. +version_type=linux + +# Shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# Shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=yes + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME +library_names_spec="\$libname\$release\$shared_ext\$versuffix \$libname\$release\$shared_ext\$major \$libname\$shared_ext" + +# The coded name of the library, if different from the real name. +soname_spec="\$libname\$release\$shared_ext\$major" + +# Permission mode override for installation of shared libraries. +install_override_mode="" + +# Command to use after installation of a shared archive. +postinstall_cmds="" + +# Command to use after uninstallation of a shared archive. +postuninstall_cmds="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# As "finish_cmds", except a single script fragment to be evaled but +# not shown. +finish_eval="" + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Compile-time system search path for libraries. +sys_lib_search_path_spec="/usr/lib/gcc/x86_64-linux-gnu/12 /usr/lib/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib " + +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/lib/x86_64-linux-gnu/libfakeroot /usr/local/lib/i386-linux-gnu /lib/i386-linux-gnu /usr/lib/i386-linux-gnu /usr/local/lib/i686-linux-gnu /lib/i686-linux-gnu /usr/lib/i686-linux-gnu /usr/local/lib /usr/local/lib/x86_64-linux-gnu /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu /lib32 /usr/lib32 " + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path="" + +# Whether dlopen is supported. +dlopen_support=unknown + +# Whether dlopen of programs is supported. +dlopen_self=unknown + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=unknown + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + + +# The linker used to build libraries. +LD="/usr/bin/ld -m elf_x86_64" + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# Commands used to build an old-style archive. +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$tool_oldlib" + +# A language specific compiler. +CC="gcc" + +# Is the compiler the GNU compiler? +with_gcc=yes + +# Compiler flag to turn off builtin functions. +no_builtin_flag=" -fno-builtin" + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC -DPIC" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=no + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\$wl--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\$wl--whole-archive\$convenience \$wl--no-whole-archive" + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object="no" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build a shared archive. +archive_cmds="\$CC -shared \$pic_flag \$libobjs \$deplibs \$compiler_flags \$wl-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ + cat \$export_symbols | \$SED -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ + echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ + \$CC -shared \$pic_flag \$libobjs \$deplibs \$compiler_flags \$wl-soname \$wl\$soname \$wl-version-script \$wl\$output_objdir/\$libname.ver -o \$lib" + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds="" +module_expsym_cmds="" + +# Whether we are building with GNU ld or not. +with_gnu_ld="yes" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that enforces no undefined symbols. +no_undefined_flag="" + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist +hardcode_libdir_flag_spec="\$wl-rpath \$wl\$libdir" + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator="" + +# Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=no + +# Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting $shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=no + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=no + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=unsupported + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=no + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=no + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=no + +# Set to "yes" if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*" + +# Symbols that must always be exported. +include_expsyms="" + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds="" + +# Commands necessary for finishing linking programs. +postlink_cmds="" + +# Specify filename containing input files. +file_list_spec="" + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs="" + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects="" +postdep_objects="" +predeps="" +postdeps="" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="" + +# ### END LIBTOOL CONFIG + + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +#! /usr/bin/env sh +## DO NOT EDIT - This file generated from ./build-aux/ltmain.in +## by inline-source v2019-02-19.15 + +# libtool (GNU libtool) 2.4.7 +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit , 1996 + +# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +PROGRAM=libtool +PACKAGE=libtool +VERSION="2.4.7 Debian-2.4.7-5" +package_revision=2.4.7 + + +## ------ ## +## Usage. ## +## ------ ## + +# Run './libtool --help' for help with using this script from the +# command line. + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# After configure completes, it has a better idea of some of the +# shell tools we need than the defaults used by the functions shared +# with bootstrap, so set those here where they can still be over- +# ridden by the user, but otherwise take precedence. + +: ${AUTOCONF="autoconf"} +: ${AUTOMAKE="automake"} + + +## -------------------------- ## +## Source external libraries. ## +## -------------------------- ## + +# Much of our low-level functionality needs to be sourced from external +# libraries, which are installed to $pkgauxdir. + +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC + +# General shell script boiler plate, and helper functions. +# Written by Gary V. Vaughan, 2004 + +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2004-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# + + +## ------ ## +## Usage. ## +## ------ ## + +# Evaluate this file near the top of your script to gain access to +# the functions and variables defined here: +# +# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh +# +# If you need to override any of the default environment variable +# settings, do that before evaluating this file. + + +## -------------------- ## +## Shell normalisation. ## +## -------------------- ## + +# Some shells need a little help to be as Bourne compatible as possible. +# Before doing anything else, make sure all that help has been provided! + +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac +fi + +# NLS nuisances: We save the old values in case they are required later. +_G_user_locale= +_G_safe_locale= +for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES +do + eval "if test set = \"\${$_G_var+set}\"; then + save_$_G_var=\$$_G_var + $_G_var=C + export $_G_var + _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\" + _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\" + fi" +done +# These NLS vars are set unconditionally (bootstrap issue #24). Unset those +# in case the environment reset is needed later and the $save_* variant is not +# defined (see the code above). +LC_ALL=C +LANGUAGE=C +export LANGUAGE LC_ALL + +# Make sure IFS has a sensible default +sp=' ' +nl=' +' +IFS="$sp $nl" + +# There are apparently some retarded systems that use ';' as a PATH separator! +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# func_unset VAR +# -------------- +# Portably unset VAR. +# In some shells, an 'unset VAR' statement leaves a non-zero return +# status if VAR is already unset, which might be problematic if the +# statement is used at the end of a function (thus poisoning its return +# value) or when 'set -e' is active (causing even a spurious abort of +# the script in this case). +func_unset () +{ + { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; } +} + + +# Make sure CDPATH doesn't cause `cd` commands to output the target dir. +func_unset CDPATH + +# Make sure ${,E,F}GREP behave sanely. +func_unset GREP_OPTIONS + + +## ------------------------- ## +## Locate command utilities. ## +## ------------------------- ## + + +# func_executable_p FILE +# ---------------------- +# Check that FILE is an executable regular file. +func_executable_p () +{ + test -f "$1" && test -x "$1" +} + + +# func_path_progs PROGS_LIST CHECK_FUNC [PATH] +# -------------------------------------------- +# Search for either a program that responds to --version with output +# containing "GNU", or else returned by CHECK_FUNC otherwise, by +# trying all the directories in PATH with each of the elements of +# PROGS_LIST. +# +# CHECK_FUNC should accept the path to a candidate program, and +# set $func_check_prog_result if it truncates its output less than +# $_G_path_prog_max characters. +func_path_progs () +{ + _G_progs_list=$1 + _G_check_func=$2 + _G_PATH=${3-"$PATH"} + + _G_path_prog_max=0 + _G_path_prog_found=false + _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:} + for _G_dir in $_G_PATH; do + IFS=$_G_save_IFS + test -z "$_G_dir" && _G_dir=. + for _G_prog_name in $_G_progs_list; do + for _exeext in '' .EXE; do + _G_path_prog=$_G_dir/$_G_prog_name$_exeext + func_executable_p "$_G_path_prog" || continue + case `"$_G_path_prog" --version 2>&1` in + *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;; + *) $_G_check_func $_G_path_prog + func_path_progs_result=$func_check_prog_result + ;; + esac + $_G_path_prog_found && break 3 + done + done + done + IFS=$_G_save_IFS + test -z "$func_path_progs_result" && { + echo "no acceptable sed could be found in \$PATH" >&2 + exit 1 + } +} + + +# We want to be able to use the functions in this file before configure +# has figured out where the best binaries are kept, which means we have +# to search for them ourselves - except when the results are already set +# where we skip the searches. + +# Unless the user overrides by setting SED, search the path for either GNU +# sed, or the sed that truncates its output the least. +test -z "$SED" && { + _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for _G_i in 1 2 3 4 5 6 7; do + _G_sed_script=$_G_sed_script$nl$_G_sed_script + done + echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed + _G_sed_script= + + func_check_prog_sed () + { + _G_path_prog=$1 + + _G_count=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo '' >> conftest.nl + "$_G_path_prog" -f conftest.sed conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin" + rm -f conftest.sed + SED=$func_path_progs_result +} + + +# Unless the user overrides by setting GREP, search the path for either GNU +# grep, or the grep that truncates its output the least. +test -z "$GREP" && { + func_check_prog_grep () + { + _G_path_prog=$1 + + _G_count=0 + _G_path_prog_max=0 + printf 0123456789 >conftest.in + while : + do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo 'GREP' >> conftest.nl + "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' conftest.out 2>/dev/null || break + diff conftest.out conftest.nl >/dev/null 2>&1 || break + _G_count=`expr $_G_count + 1` + if test "$_G_count" -gt "$_G_path_prog_max"; then + # Best one so far, save it but keep looking for a better one + func_check_prog_result=$_G_path_prog + _G_path_prog_max=$_G_count + fi + # 10*(2^10) chars as input seems more than enough + test 10 -lt "$_G_count" && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out + } + + func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin" + GREP=$func_path_progs_result +} + + +## ------------------------------- ## +## User overridable command paths. ## +## ------------------------------- ## + +# All uppercase variable names are used for environment variables. These +# variables can be overridden by the user before calling a script that +# uses them if a suitable command of that name is not already available +# in the command search PATH. + +: ${CP="cp -f"} +: ${ECHO="printf %s\n"} +: ${EGREP="$GREP -E"} +: ${FGREP="$GREP -F"} +: ${LN_S="ln -s"} +: ${MAKE="make"} +: ${MKDIR="mkdir"} +: ${MV="mv -f"} +: ${RM="rm -f"} +: ${SHELL="${CONFIG_SHELL-/bin/sh}"} + + +## -------------------- ## +## Useful sed snippets. ## +## -------------------- ## + +sed_dirname='s|/[^/]*$||' +sed_basename='s|^.*/||' + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s|\([`"$\\]\)|\\\1|g' + +# Same as above, but do not quote variable references. +sed_double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution that turns a string into a regex matching for the +# string literally. +sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g' + +# Sed substitution that converts a w32 file name or path +# that contains forward slashes, into one that contains +# (escaped) backslashes. A very naive implementation. +sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' + +# Re-'\' parameter expansions in output of sed_double_quote_subst that +# were '\'-ed in input to the same. If an odd number of '\' preceded a +# '$' in input to sed_double_quote_subst, that '$' was protected from +# expansion. Since each input '\' is now two '\'s, look for any number +# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'. +_G_bs='\\' +_G_bs2='\\\\' +_G_bs4='\\\\\\\\' +_G_dollar='\$' +sed_double_backslash="\ + s/$_G_bs4/&\\ +/g + s/^$_G_bs2$_G_dollar/$_G_bs&/ + s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g + s/\n//g" + +# require_check_ifs_backslash +# --------------------------- +# Check if we can use backslash as IFS='\' separator, and set +# $check_ifs_backshlash_broken to ':' or 'false'. +require_check_ifs_backslash=func_require_check_ifs_backslash +func_require_check_ifs_backslash () +{ + _G_save_IFS=$IFS + IFS='\' + _G_check_ifs_backshlash='a\\b' + for _G_i in $_G_check_ifs_backshlash + do + case $_G_i in + a) + check_ifs_backshlash_broken=false + ;; + '') + break + ;; + *) + check_ifs_backshlash_broken=: + break + ;; + esac + done + IFS=$_G_save_IFS + require_check_ifs_backslash=: +} + + +## ----------------- ## +## Global variables. ## +## ----------------- ## + +# Except for the global variables explicitly listed below, the following +# functions in the '^func_' namespace, and the '^require_' namespace +# variables initialised in the 'Resource management' section, sourcing +# this file will not pollute your global namespace with anything +# else. There's no portable way to scope variables in Bourne shell +# though, so actually running these functions will sometimes place +# results into a variable named after the function, and often use +# temporary variables in the '^_G_' namespace. If you are careful to +# avoid using those namespaces casually in your sourcing script, things +# should continue to work as you expect. And, of course, you can freely +# overwrite any of the functions or variables defined here before +# calling anything to customize them. + +EXIT_SUCCESS=0 +EXIT_FAILURE=1 +EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. +EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. + +# Allow overriding, eg assuming that you follow the convention of +# putting '$debug_cmd' at the start of all your functions, you can get +# bash to show function call trace with: +# +# debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name +debug_cmd=${debug_cmd-":"} +exit_cmd=: + +# By convention, finish your script with: +# +# exit $exit_status +# +# so that you can set exit_status to non-zero if you want to indicate +# something went wrong during execution without actually bailing out at +# the point of failure. +exit_status=$EXIT_SUCCESS + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath=$0 + +# The name of this program. +progname=`$ECHO "$progpath" |$SED "$sed_basename"` + +# Make sure we have an absolute progpath for reexecution: +case $progpath in + [\\/]*|[A-Za-z]:\\*) ;; + *[\\/]*) + progdir=`$ECHO "$progpath" |$SED "$sed_dirname"` + progdir=`cd "$progdir" && pwd` + progpath=$progdir/$progname + ;; + *) + _G_IFS=$IFS + IFS=${PATH_SEPARATOR-:} + for progdir in $PATH; do + IFS=$_G_IFS + test -x "$progdir/$progname" && break + done + IFS=$_G_IFS + test -n "$progdir" || progdir=`pwd` + progpath=$progdir/$progname + ;; +esac + + +## ----------------- ## +## Standard options. ## +## ----------------- ## + +# The following options affect the operation of the functions defined +# below, and should be set appropriately depending on run-time para- +# meters passed on the command line. + +opt_dry_run=false +opt_quiet=false +opt_verbose=false + +# Categories 'all' and 'none' are always available. Append any others +# you will pass as the first argument to func_warning from your own +# code. +warning_categories= + +# By default, display warnings according to 'opt_warning_types'. Set +# 'warning_func' to ':' to elide all warnings, or func_fatal_error to +# treat the next displayed warning as a fatal error. +warning_func=func_warn_and_continue + +# Set to 'all' to display all warnings, 'none' to suppress all +# warnings, or a space delimited list of some subset of +# 'warning_categories' to display only the listed warnings. +opt_warning_types=all + + +## -------------------- ## +## Resource management. ## +## -------------------- ## + +# This section contains definitions for functions that each ensure a +# particular resource (a file, or a non-empty configuration variable for +# example) is available, and if appropriate to extract default values +# from pertinent package files. Call them using their associated +# 'require_*' variable to ensure that they are executed, at most, once. +# +# It's entirely deliberate that calling these functions can set +# variables that don't obey the namespace limitations obeyed by the rest +# of this file, in order that that they be as useful as possible to +# callers. + + +# require_term_colors +# ------------------- +# Allow display of bold text on terminals that support it. +require_term_colors=func_require_term_colors +func_require_term_colors () +{ + $debug_cmd + + test -t 1 && { + # COLORTERM and USE_ANSI_COLORS environment variables take + # precedence, because most terminfo databases neglect to describe + # whether color sequences are supported. + test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"} + + if test 1 = "$USE_ANSI_COLORS"; then + # Standard ANSI escape sequences + tc_reset='' + tc_bold=''; tc_standout='' + tc_red=''; tc_green='' + tc_blue=''; tc_cyan='' + else + # Otherwise trust the terminfo database after all. + test -n "`tput sgr0 2>/dev/null`" && { + tc_reset=`tput sgr0` + test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold` + tc_standout=$tc_bold + test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso` + test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1` + test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2` + test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4` + test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5` + } + fi + } + + require_term_colors=: +} + + +## ----------------- ## +## Function library. ## +## ----------------- ## + +# This section contains a variety of useful functions to call in your +# scripts. Take note of the portable wrappers for features provided by +# some modern shells, which will fall back to slower equivalents on +# less featureful shells. + + +# func_append VAR VALUE +# --------------------- +# Append VALUE onto the existing contents of VAR. + + # We should try to minimise forks, especially on Windows where they are + # unreasonably slow, so skip the feature probes when bash or zsh are + # being used: + if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then + : ${_G_HAVE_ARITH_OP="yes"} + : ${_G_HAVE_XSI_OPS="yes"} + # The += operator was introduced in bash 3.1 + case $BASH_VERSION in + [12].* | 3.0 | 3.0*) ;; + *) + : ${_G_HAVE_PLUSEQ_OP="yes"} + ;; + esac + fi + + # _G_HAVE_PLUSEQ_OP + # Can be empty, in which case the shell is probed, "yes" if += is + # useable or anything else if it does not work. + test -z "$_G_HAVE_PLUSEQ_OP" \ + && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ + && _G_HAVE_PLUSEQ_OP=yes + +if test yes = "$_G_HAVE_PLUSEQ_OP" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_append () + { + $debug_cmd + + eval "$1+=\$2" + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_append () + { + $debug_cmd + + eval "$1=\$$1\$2" + } +fi + + +# func_append_quoted VAR VALUE +# ---------------------------- +# Quote VALUE and append to the end of shell variable VAR, separated +# by a space. +if test yes = "$_G_HAVE_PLUSEQ_OP"; then + eval 'func_append_quoted () + { + $debug_cmd + + func_quote_arg pretty "$2" + eval "$1+=\\ \$func_quote_arg_result" + }' +else + func_append_quoted () + { + $debug_cmd + + func_quote_arg pretty "$2" + eval "$1=\$$1\\ \$func_quote_arg_result" + } +fi + + +# func_append_uniq VAR VALUE +# -------------------------- +# Append unique VALUE onto the existing contents of VAR, assuming +# entries are delimited by the first character of VALUE. For example: +# +# func_append_uniq options " --another-option option-argument" +# +# will only append to $options if " --another-option option-argument " +# is not already present somewhere in $options already (note spaces at +# each end implied by leading space in second argument). +func_append_uniq () +{ + $debug_cmd + + eval _G_current_value='`$ECHO $'$1'`' + _G_delim=`expr "$2" : '\(.\)'` + + case $_G_delim$_G_current_value$_G_delim in + *"$2$_G_delim"*) ;; + *) func_append "$@" ;; + esac +} + + +# func_arith TERM... +# ------------------ +# Set func_arith_result to the result of evaluating TERMs. + test -z "$_G_HAVE_ARITH_OP" \ + && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \ + && _G_HAVE_ARITH_OP=yes + +if test yes = "$_G_HAVE_ARITH_OP"; then + eval 'func_arith () + { + $debug_cmd + + func_arith_result=$(( $* )) + }' +else + func_arith () + { + $debug_cmd + + func_arith_result=`expr "$@"` + } +fi + + +# func_basename FILE +# ------------------ +# Set func_basename_result to FILE with everything up to and including +# the last / stripped. +if test yes = "$_G_HAVE_XSI_OPS"; then + # If this shell supports suffix pattern removal, then use it to avoid + # forking. Hide the definitions single quotes in case the shell chokes + # on unsupported syntax... + _b='func_basename_result=${1##*/}' + _d='case $1 in + */*) func_dirname_result=${1%/*}$2 ;; + * ) func_dirname_result=$3 ;; + esac' + +else + # ...otherwise fall back to using sed. + _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`' + _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"` + if test "X$func_dirname_result" = "X$1"; then + func_dirname_result=$3 + else + func_append func_dirname_result "$2" + fi' +fi + +eval 'func_basename () +{ + $debug_cmd + + '"$_b"' +}' + + +# func_dirname FILE APPEND NONDIR_REPLACEMENT +# ------------------------------------------- +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +eval 'func_dirname () +{ + $debug_cmd + + '"$_d"' +}' + + +# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT +# -------------------------------------------------------- +# Perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# For efficiency, we do not delegate to the functions above but instead +# duplicate the functionality here. +eval 'func_dirname_and_basename () +{ + $debug_cmd + + '"$_b"' + '"$_d"' +}' + + +# func_echo ARG... +# ---------------- +# Echo program name prefixed message. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_echo_all ARG... +# -------------------- +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + + +# func_echo_infix_1 INFIX ARG... +# ------------------------------ +# Echo program name, followed by INFIX on the first line, with any +# additional lines not showing INFIX. +func_echo_infix_1 () +{ + $debug_cmd + + $require_term_colors + + _G_infix=$1; shift + _G_indent=$_G_infix + _G_prefix="$progname: $_G_infix: " + _G_message=$* + + # Strip color escape sequences before counting printable length + for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan" + do + test -n "$_G_tc" && { + _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"` + _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"` + } + done + _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes + + func_echo_infix_1_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_infix_1_IFS + $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2 + _G_prefix=$_G_indent + done + IFS=$func_echo_infix_1_IFS +} + + +# func_error ARG... +# ----------------- +# Echo program name prefixed message to standard error. +func_error () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2 +} + + +# func_fatal_error ARG... +# ----------------------- +# Echo program name prefixed message to standard error, and exit. +func_fatal_error () +{ + $debug_cmd + + func_error "$*" + exit $EXIT_FAILURE +} + + +# func_grep EXPRESSION FILENAME +# ----------------------------- +# Check whether EXPRESSION matches any line of FILENAME, without output. +func_grep () +{ + $debug_cmd + + $GREP "$1" "$2" >/dev/null 2>&1 +} + + +# func_len STRING +# --------------- +# Set func_len_result to the length of STRING. STRING may not +# start with a hyphen. + test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_len () + { + $debug_cmd + + func_len_result=${#1} + }' +else + func_len () + { + $debug_cmd + + func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` + } +fi + + +# func_mkdir_p DIRECTORY-PATH +# --------------------------- +# Make sure the entire path to DIRECTORY-PATH is available. +func_mkdir_p () +{ + $debug_cmd + + _G_directory_path=$1 + _G_dir_list= + + if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then + + # Protect directory names starting with '-' + case $_G_directory_path in + -*) _G_directory_path=./$_G_directory_path ;; + esac + + # While some portion of DIR does not yet exist... + while test ! -d "$_G_directory_path"; do + # ...make a list in topmost first order. Use a colon delimited + # list incase some portion of path contains whitespace. + _G_dir_list=$_G_directory_path:$_G_dir_list + + # If the last portion added has no slash in it, the list is done + case $_G_directory_path in */*) ;; *) break ;; esac + + # ...otherwise throw away the child directory and loop + _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"` + done + _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'` + + func_mkdir_p_IFS=$IFS; IFS=: + for _G_dir in $_G_dir_list; do + IFS=$func_mkdir_p_IFS + # mkdir can fail with a 'File exist' error if two processes + # try to create one of the directories concurrently. Don't + # stop in that case! + $MKDIR "$_G_dir" 2>/dev/null || : + done + IFS=$func_mkdir_p_IFS + + # Bail out if we (or some other process) failed to create a directory. + test -d "$_G_directory_path" || \ + func_fatal_error "Failed to create '$1'" + fi +} + + +# func_mktempdir [BASENAME] +# ------------------------- +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, BASENAME is the basename for that directory. +func_mktempdir () +{ + $debug_cmd + + _G_template=${TMPDIR-/tmp}/${1-$progname} + + if test : = "$opt_dry_run"; then + # Return a directory name, but don't create it in dry-run mode + _G_tmpdir=$_G_template-$$ + else + + # If mktemp works, use that first and foremost + _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null` + + if test ! -d "$_G_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + _G_tmpdir=$_G_template-${RANDOM-0}$$ + + func_mktempdir_umask=`umask` + umask 0077 + $MKDIR "$_G_tmpdir" + umask $func_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$_G_tmpdir" || \ + func_fatal_error "cannot create temporary directory '$_G_tmpdir'" + fi + + $ECHO "$_G_tmpdir" +} + + +# func_normal_abspath PATH +# ------------------------ +# Remove doubled-up and trailing slashes, "." path components, +# and cancel out any ".." path components in PATH after making +# it an absolute path. +func_normal_abspath () +{ + $debug_cmd + + # These SED scripts presuppose an absolute path with a trailing slash. + _G_pathcar='s|^/\([^/]*\).*$|\1|' + _G_pathcdr='s|^/[^/]*||' + _G_removedotparts=':dotsl + s|/\./|/|g + t dotsl + s|/\.$|/|' + _G_collapseslashes='s|/\{1,\}|/|g' + _G_finalslash='s|/*$|/|' + + # Start from root dir and reassemble the path. + func_normal_abspath_result= + func_normal_abspath_tpath=$1 + func_normal_abspath_altnamespace= + case $func_normal_abspath_tpath in + "") + # Empty path, that just means $cwd. + func_stripname '' '/' "`pwd`" + func_normal_abspath_result=$func_stripname_result + return + ;; + # The next three entries are used to spot a run of precisely + # two leading slashes without using negated character classes; + # we take advantage of case's first-match behaviour. + ///*) + # Unusual form of absolute path, do nothing. + ;; + //*) + # Not necessarily an ordinary path; POSIX reserves leading '//' + # and for example Cygwin uses it to access remote file shares + # over CIFS/SMB, so we conserve a leading double slash if found. + func_normal_abspath_altnamespace=/ + ;; + /*) + # Absolute path, do nothing. + ;; + *) + # Relative path, prepend $cwd. + func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath + ;; + esac + + # Cancel out all the simple stuff to save iterations. We also want + # the path to end with a slash for ease of parsing, so make sure + # there is one (and only one) here. + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"` + while :; do + # Processed it all yet? + if test / = "$func_normal_abspath_tpath"; then + # If we ascended to the root using ".." the result may be empty now. + if test -z "$func_normal_abspath_result"; then + func_normal_abspath_result=/ + fi + break + fi + func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcar"` + func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ + -e "$_G_pathcdr"` + # Figure out what to do with it + case $func_normal_abspath_tcomponent in + "") + # Trailing empty path component, ignore it. + ;; + ..) + # Parent dir; strip last assembled component from result. + func_dirname "$func_normal_abspath_result" + func_normal_abspath_result=$func_dirname_result + ;; + *) + # Actual path component, append it. + func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent" + ;; + esac + done + # Restore leading double-slash if one was found on entry. + func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result +} + + +# func_notquiet ARG... +# -------------------- +# Echo program name prefixed message only when not in quiet mode. +func_notquiet () +{ + $debug_cmd + + $opt_quiet || func_echo ${1+"$@"} + + # A bug in bash halts the script if the last line of a function + # fails when set -e is in force, so we need another command to + # work around that: + : +} + + +# func_relative_path SRCDIR DSTDIR +# -------------------------------- +# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR. +func_relative_path () +{ + $debug_cmd + + func_relative_path_result= + func_normal_abspath "$1" + func_relative_path_tlibdir=$func_normal_abspath_result + func_normal_abspath "$2" + func_relative_path_tbindir=$func_normal_abspath_result + + # Ascend the tree starting from libdir + while :; do + # check if we have found a prefix of bindir + case $func_relative_path_tbindir in + $func_relative_path_tlibdir) + # found an exact match + func_relative_path_tcancelled= + break + ;; + $func_relative_path_tlibdir*) + # found a matching prefix + func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" + func_relative_path_tcancelled=$func_stripname_result + if test -z "$func_relative_path_result"; then + func_relative_path_result=. + fi + break + ;; + *) + func_dirname $func_relative_path_tlibdir + func_relative_path_tlibdir=$func_dirname_result + if test -z "$func_relative_path_tlibdir"; then + # Have to descend all the way to the root! + func_relative_path_result=../$func_relative_path_result + func_relative_path_tcancelled=$func_relative_path_tbindir + break + fi + func_relative_path_result=../$func_relative_path_result + ;; + esac + done + + # Now calculate path; take care to avoid doubling-up slashes. + func_stripname '' '/' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + func_stripname '/' '/' "$func_relative_path_tcancelled" + if test -n "$func_stripname_result"; then + func_append func_relative_path_result "/$func_stripname_result" + fi + + # Normalisation. If bindir is libdir, return '.' else relative path. + if test -n "$func_relative_path_result"; then + func_stripname './' '' "$func_relative_path_result" + func_relative_path_result=$func_stripname_result + fi + + test -n "$func_relative_path_result" || func_relative_path_result=. + + : +} + + +# func_quote_portable EVAL ARG +# ---------------------------- +# Internal function to portably implement func_quote_arg. Note that we still +# keep attention to performance here so we as much as possible try to avoid +# calling sed binary (so far O(N) complexity as long as func_append is O(1)). +func_quote_portable () +{ + $debug_cmd + + $require_check_ifs_backslash + + func_quote_portable_result=$2 + + # one-time-loop (easy break) + while true + do + if $1; then + func_quote_portable_result=`$ECHO "$2" | $SED \ + -e "$sed_double_quote_subst" -e "$sed_double_backslash"` + break + fi + + # Quote for eval. + case $func_quote_portable_result in + *[\\\`\"\$]*) + # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string + # contains the shell wildcard characters. + case $check_ifs_backshlash_broken$func_quote_portable_result in + :*|*[\[\*\?]*) + func_quote_portable_result=`$ECHO "$func_quote_portable_result" \ + | $SED "$sed_quote_subst"` + break + ;; + esac + + func_quote_portable_old_IFS=$IFS + for _G_char in '\' '`' '"' '$' + do + # STATE($1) PREV($2) SEPARATOR($3) + set start "" "" + func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy + IFS=$_G_char + for _G_part in $func_quote_portable_result + do + case $1 in + quote) + func_append func_quote_portable_result "$3$2" + set quote "$_G_part" "\\$_G_char" + ;; + start) + set first "" "" + func_quote_portable_result= + ;; + first) + set quote "$_G_part" "" + ;; + esac + done + done + IFS=$func_quote_portable_old_IFS + ;; + *) ;; + esac + break + done + + func_quote_portable_unquoted_result=$func_quote_portable_result + case $func_quote_portable_result in + # double-quote args containing shell metacharacters to delay + # word splitting, command substitution and variable expansion + # for a subsequent eval. + # many bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + func_quote_portable_result=\"$func_quote_portable_result\" + ;; + esac +} + + +# func_quotefast_eval ARG +# ----------------------- +# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG', +# but optimized for speed. Result is stored in $func_quotefast_eval. +if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then + printf -v _GL_test_printf_tilde %q '~' + if test '\~' = "$_GL_test_printf_tilde"; then + func_quotefast_eval () + { + printf -v func_quotefast_eval_result %q "$1" + } + else + # Broken older Bash implementations. Make those faster too if possible. + func_quotefast_eval () + { + case $1 in + '~'*) + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + ;; + *) + printf -v func_quotefast_eval_result %q "$1" + ;; + esac + } + fi +else + func_quotefast_eval () + { + func_quote_portable false "$1" + func_quotefast_eval_result=$func_quote_portable_result + } +fi + + +# func_quote_arg MODEs ARG +# ------------------------ +# Quote one ARG to be evaled later. MODEs argument may contain zero or more +# specifiers listed below separated by ',' character. This function returns two +# values: +# i) func_quote_arg_result +# double-quoted (when needed), suitable for a subsequent eval +# ii) func_quote_arg_unquoted_result +# has all characters that are still active within double +# quotes backslashified. Available only if 'unquoted' is specified. +# +# Available modes: +# ---------------- +# 'eval' (default) +# - escape shell special characters +# 'expand' +# - the same as 'eval'; but do not quote variable references +# 'pretty' +# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might +# be used later in func_quote to get output like: 'echo "a b"' instead +# of 'echo a\ b'. This is slower than default on some shells. +# 'unquoted' +# - produce also $func_quote_arg_unquoted_result which does not contain +# wrapping double-quotes. +# +# Examples for 'func_quote_arg pretty,unquoted string': +# +# string | *_result | *_unquoted_result +# ------------+-----------------------+------------------- +# " | \" | \" +# a b | "a b" | a b +# "a b" | "\"a b\"" | \"a b\" +# * | "*" | * +# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\" +# +# Examples for 'func_quote_arg pretty,unquoted,expand string': +# +# string | *_result | *_unquoted_result +# --------------+---------------------+-------------------- +# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\" +func_quote_arg () +{ + _G_quote_expand=false + case ,$1, in + *,expand,*) + _G_quote_expand=: + ;; + esac + + case ,$1, in + *,pretty,*|*,expand,*|*,unquoted,*) + func_quote_portable $_G_quote_expand "$2" + func_quote_arg_result=$func_quote_portable_result + func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result + ;; + *) + # Faster quote-for-eval for some shells. + func_quotefast_eval "$2" + func_quote_arg_result=$func_quotefast_eval_result + ;; + esac +} + + +# func_quote MODEs ARGs... +# ------------------------ +# Quote all ARGs to be evaled later and join them into single command. See +# func_quote_arg's description for more info. +func_quote () +{ + $debug_cmd + _G_func_quote_mode=$1 ; shift + func_quote_result= + while test 0 -lt $#; do + func_quote_arg "$_G_func_quote_mode" "$1" + if test -n "$func_quote_result"; then + func_append func_quote_result " $func_quote_arg_result" + else + func_append func_quote_result "$func_quote_arg_result" + fi + shift + done +} + + +# func_stripname PREFIX SUFFIX NAME +# --------------------------------- +# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_stripname () + { + $debug_cmd + + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary variable first. + func_stripname_result=$3 + func_stripname_result=${func_stripname_result#"$1"} + func_stripname_result=${func_stripname_result%"$2"} + }' +else + func_stripname () + { + $debug_cmd + + case $2 in + .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;; + *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;; + esac + } +fi + + +# func_show_eval CMD [FAIL_EXP] +# ----------------------------- +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. +func_show_eval () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + func_quote_arg pretty,expand "$_G_cmd" + eval "func_notquiet $func_quote_arg_result" + + $opt_dry_run || { + eval "$_G_cmd" + _G_status=$? + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_show_eval_locale CMD [FAIL_EXP] +# ------------------------------------ +# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is +# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP +# is given, then evaluate it. Use the saved locale for evaluation. +func_show_eval_locale () +{ + $debug_cmd + + _G_cmd=$1 + _G_fail_exp=${2-':'} + + $opt_quiet || { + func_quote_arg expand,pretty "$_G_cmd" + eval "func_echo $func_quote_arg_result" + } + + $opt_dry_run || { + eval "$_G_user_locale + $_G_cmd" + _G_status=$? + eval "$_G_safe_locale" + if test 0 -ne "$_G_status"; then + eval "(exit $_G_status); $_G_fail_exp" + fi + } +} + + +# func_tr_sh +# ---------- +# Turn $1 into a string suitable for a shell variable name. +# Result is stored in $func_tr_sh_result. All characters +# not in the set a-zA-Z0-9_ are replaced with '_'. Further, +# if $1 begins with a digit, a '_' is prepended as well. +func_tr_sh () +{ + $debug_cmd + + case $1 in + [0-9]* | *[!a-zA-Z0-9_]*) + func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'` + ;; + * ) + func_tr_sh_result=$1 + ;; + esac +} + + +# func_verbose ARG... +# ------------------- +# Echo program name prefixed message in verbose mode only. +func_verbose () +{ + $debug_cmd + + $opt_verbose && func_echo "$*" + + : +} + + +# func_warn_and_continue ARG... +# ----------------------------- +# Echo program name prefixed warning message to standard error. +func_warn_and_continue () +{ + $debug_cmd + + $require_term_colors + + func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2 +} + + +# func_warning CATEGORY ARG... +# ---------------------------- +# Echo program name prefixed warning message to standard error. Warning +# messages can be filtered according to CATEGORY, where this function +# elides messages where CATEGORY is not listed in the global variable +# 'opt_warning_types'. +func_warning () +{ + $debug_cmd + + # CATEGORY must be in the warning_categories list! + case " $warning_categories " in + *" $1 "*) ;; + *) func_internal_error "invalid warning category '$1'" ;; + esac + + _G_category=$1 + shift + + case " $opt_warning_types " in + *" $_G_category "*) $warning_func ${1+"$@"} ;; + esac +} + + +# func_sort_ver VER1 VER2 +# ----------------------- +# 'sort -V' is not generally available. +# Note this deviates from the version comparison in automake +# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a +# but this should suffice as we won't be specifying old +# version formats or redundant trailing .0 in bootstrap.conf. +# If we did want full compatibility then we should probably +# use m4_version_compare from autoconf. +func_sort_ver () +{ + $debug_cmd + + printf '%s\n%s\n' "$1" "$2" \ + | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n +} + +# func_lt_ver PREV CURR +# --------------------- +# Return true if PREV and CURR are in the correct order according to +# func_sort_ver, otherwise false. Use it like this: +# +# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..." +func_lt_ver () +{ + $debug_cmd + + test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q` +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: +#! /bin/sh + +# A portable, pluggable option parser for Bourne shell. +# Written by Gary V. Vaughan, 2010 + +# This is free software. There is NO warranty; not even for +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Copyright (C) 2010-2019, 2021 Bootstrap Authors +# +# This file is dual licensed under the terms of the MIT license +# , and GPL version 2 or later +# . You must apply one of +# these licenses when using or redistributing this software or any of +# the files within it. See the URLs above, or the file `LICENSE` +# included in the Bootstrap distribution for the full license texts. + +# Please report bugs or propose patches to: +# + +# Set a version string for this script. +scriptversion=2019-02-19.15; # UTC + + +## ------ ## +## Usage. ## +## ------ ## + +# This file is a library for parsing options in your shell scripts along +# with assorted other useful supporting features that you can make use +# of too. +# +# For the simplest scripts you might need only: +# +# #!/bin/sh +# . relative/path/to/funclib.sh +# . relative/path/to/options-parser +# scriptversion=1.0 +# func_options ${1+"$@"} +# eval set dummy "$func_options_result"; shift +# ...rest of your script... +# +# In order for the '--version' option to work, you will need to have a +# suitably formatted comment like the one at the top of this file +# starting with '# Written by ' and ending with '# Copyright'. +# +# For '-h' and '--help' to work, you will also need a one line +# description of your script's purpose in a comment directly above the +# '# Written by ' line, like the one at the top of this file. +# +# The default options also support '--debug', which will turn on shell +# execution tracing (see the comment above debug_cmd below for another +# use), and '--verbose' and the func_verbose function to allow your script +# to display verbose messages only when your user has specified +# '--verbose'. +# +# After sourcing this file, you can plug in processing for additional +# options by amending the variables from the 'Configuration' section +# below, and following the instructions in the 'Option parsing' +# section further down. + +## -------------- ## +## Configuration. ## +## -------------- ## + +# You should override these variables in your script after sourcing this +# file so that they reflect the customisations you have added to the +# option parser. + +# The usage line for option parsing errors and the start of '-h' and +# '--help' output messages. You can embed shell variables for delayed +# expansion at the time the message is displayed, but you will need to +# quote other shell meta-characters carefully to prevent them being +# expanded when the contents are evaled. +usage='$progpath [OPTION]...' + +# Short help message in response to '-h' and '--help'. Add to this or +# override it after sourcing this library to reflect the full set of +# options your script accepts. +usage_message="\ + --debug enable verbose shell tracing + -W, --warnings=CATEGORY + report the warnings falling in CATEGORY [all] + -v, --verbose verbosely report processing + --version print version information and exit + -h, --help print short or long help message and exit +" + +# Additional text appended to 'usage_message' in response to '--help'. +long_help_message=" +Warning categories include: + 'all' show all warnings + 'none' turn off all the warnings + 'error' warnings are treated as fatal errors" + +# Help message printed before fatal option parsing errors. +fatal_help="Try '\$progname --help' for more information." + + + +## ------------------------- ## +## Hook function management. ## +## ------------------------- ## + +# This section contains functions for adding, removing, and running hooks +# in the main code. A hook is just a list of function names that can be +# run in order later on. + +# func_hookable FUNC_NAME +# ----------------------- +# Declare that FUNC_NAME will run hooks added with +# 'func_add_hook FUNC_NAME ...'. +func_hookable () +{ + $debug_cmd + + func_append hookable_fns " $1" +} + + +# func_add_hook FUNC_NAME HOOK_FUNC +# --------------------------------- +# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must +# first have been declared "hookable" by a call to 'func_hookable'. +func_add_hook () +{ + $debug_cmd + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not accept hook functions." ;; + esac + + eval func_append ${1}_hooks '" $2"' +} + + +# func_remove_hook FUNC_NAME HOOK_FUNC +# ------------------------------------ +# Remove HOOK_FUNC from the list of hook functions to be called by +# FUNC_NAME. +func_remove_hook () +{ + $debug_cmd + + eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`' +} + + +# func_propagate_result FUNC_NAME_A FUNC_NAME_B +# --------------------------------------------- +# If the *_result variable of FUNC_NAME_A _is set_, assign its value to +# *_result variable of FUNC_NAME_B. +func_propagate_result () +{ + $debug_cmd + + func_propagate_result_result=: + if eval "test \"\${${1}_result+set}\" = set" + then + eval "${2}_result=\$${1}_result" + else + func_propagate_result_result=false + fi +} + + +# func_run_hooks FUNC_NAME [ARG]... +# --------------------------------- +# Run all hook functions registered to FUNC_NAME. +# It's assumed that the list of hook functions contains nothing more +# than a whitespace-delimited list of legal shell function names, and +# no effort is wasted trying to catch shell meta-characters or preserve +# whitespace. +func_run_hooks () +{ + $debug_cmd + + _G_rc_run_hooks=false + + case " $hookable_fns " in + *" $1 "*) ;; + *) func_fatal_error "'$1' does not support hook functions." ;; + esac + + eval _G_hook_fns=\$$1_hooks; shift + + for _G_hook in $_G_hook_fns; do + func_unset "${_G_hook}_result" + eval $_G_hook '${1+"$@"}' + func_propagate_result $_G_hook func_run_hooks + if $func_propagate_result_result; then + eval set dummy "$func_run_hooks_result"; shift + fi + done +} + + + +## --------------- ## +## Option parsing. ## +## --------------- ## + +# In order to add your own option parsing hooks, you must accept the +# full positional parameter list from your hook function. You may remove +# or edit any options that you action, and then pass back the remaining +# unprocessed options in '_result', escaped +# suitably for 'eval'. +# +# The '_result' variable is automatically unset +# before your hook gets called; for best performance, only set the +# *_result variable when necessary (i.e. don't call the 'func_quote' +# function unnecessarily because it can be an expensive operation on some +# machines). +# +# Like this: +# +# my_options_prep () +# { +# $debug_cmd +# +# # Extend the existing usage message. +# usage_message=$usage_message' +# -s, --silent don'\''t print informational messages +# ' +# # No change in '$@' (ignored completely by this hook). Leave +# # my_options_prep_result variable intact. +# } +# func_add_hook func_options_prep my_options_prep +# +# +# my_silent_option () +# { +# $debug_cmd +# +# args_changed=false +# +# # Note that, for efficiency, we parse as many options as we can +# # recognise in a loop before passing the remainder back to the +# # caller on the first unrecognised argument we encounter. +# while test $# -gt 0; do +# opt=$1; shift +# case $opt in +# --silent|-s) opt_silent=: +# args_changed=: +# ;; +# # Separate non-argument short options: +# -s*) func_split_short_opt "$_G_opt" +# set dummy "$func_split_short_opt_name" \ +# "-$func_split_short_opt_arg" ${1+"$@"} +# shift +# args_changed=: +# ;; +# *) # Make sure the first unrecognised option "$_G_opt" +# # is added back to "$@" in case we need it later, +# # if $args_changed was set to 'true'. +# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; +# esac +# done +# +# # Only call 'func_quote' here if we processed at least one argument. +# if $args_changed; then +# func_quote eval ${1+"$@"} +# my_silent_option_result=$func_quote_result +# fi +# } +# func_add_hook func_parse_options my_silent_option +# +# +# my_option_validation () +# { +# $debug_cmd +# +# $opt_silent && $opt_verbose && func_fatal_help "\ +# '--silent' and '--verbose' options are mutually exclusive." +# } +# func_add_hook func_validate_options my_option_validation +# +# You'll also need to manually amend $usage_message to reflect the extra +# options you parse. It's preferable to append if you can, so that +# multiple option parsing hooks can be added safely. + + +# func_options_finish [ARG]... +# ---------------------------- +# Finishing the option parse loop (call 'func_options' hooks ATM). +func_options_finish () +{ + $debug_cmd + + func_run_hooks func_options ${1+"$@"} + func_propagate_result func_run_hooks func_options_finish +} + + +# func_options [ARG]... +# --------------------- +# All the functions called inside func_options are hookable. See the +# individual implementations for details. +func_hookable func_options +func_options () +{ + $debug_cmd + + _G_options_quoted=false + + for my_func in options_prep parse_options validate_options options_finish + do + func_unset func_${my_func}_result + func_unset func_run_hooks_result + eval func_$my_func '${1+"$@"}' + func_propagate_result func_$my_func func_options + if $func_propagate_result_result; then + eval set dummy "$func_options_result"; shift + _G_options_quoted=: + fi + done + + $_G_options_quoted || { + # As we (func_options) are top-level options-parser function and + # nobody quoted "$@" for us yet, we need to do it explicitly for + # caller. + func_quote eval ${1+"$@"} + func_options_result=$func_quote_result + } +} + + +# func_options_prep [ARG]... +# -------------------------- +# All initialisations required before starting the option parse loop. +# Note that when calling hook functions, we pass through the list of +# positional parameters. If a hook function modifies that list, and +# needs to propagate that back to rest of this script, then the complete +# modified list must be put in 'func_run_hooks_result' before returning. +func_hookable func_options_prep +func_options_prep () +{ + $debug_cmd + + # Option defaults: + opt_verbose=false + opt_warning_types= + + func_run_hooks func_options_prep ${1+"$@"} + func_propagate_result func_run_hooks func_options_prep +} + + +# func_parse_options [ARG]... +# --------------------------- +# The main option parsing loop. +func_hookable func_parse_options +func_parse_options () +{ + $debug_cmd + + _G_parse_options_requote=false + # this just eases exit handling + while test $# -gt 0; do + # Defer to hook functions for initial option parsing, so they + # get priority in the event of reusing an option name. + func_run_hooks func_parse_options ${1+"$@"} + func_propagate_result func_run_hooks func_parse_options + if $func_propagate_result_result; then + eval set dummy "$func_parse_options_result"; shift + # Even though we may have changed "$@", we passed the "$@" array + # down into the hook and it quoted it for us (because we are in + # this if-branch). No need to quote it again. + _G_parse_options_requote=false + fi + + # Break out of the loop if we already parsed every option. + test $# -gt 0 || break + + # We expect that one of the options parsed in this function matches + # and thus we remove _G_opt from "$@" and need to re-quote. + _G_match_parse_options=: + _G_opt=$1 + shift + case $_G_opt in + --debug|-x) debug_cmd='set -x' + func_echo "enabling shell trace mode" >&2 + $debug_cmd + ;; + + --no-warnings|--no-warning|--no-warn) + set dummy --warnings none ${1+"$@"} + shift + ;; + + --warnings|--warning|-W) + if test $# = 0 && func_missing_arg $_G_opt; then + _G_parse_options_requote=: + break + fi + case " $warning_categories $1" in + *" $1 "*) + # trailing space prevents matching last $1 above + func_append_uniq opt_warning_types " $1" + ;; + *all) + opt_warning_types=$warning_categories + ;; + *none) + opt_warning_types=none + warning_func=: + ;; + *error) + opt_warning_types=$warning_categories + warning_func=func_fatal_error + ;; + *) + func_fatal_error \ + "unsupported warning category: '$1'" + ;; + esac + shift + ;; + + --verbose|-v) opt_verbose=: ;; + --version) func_version ;; + -\?|-h) func_usage ;; + --help) func_help ;; + + # Separate optargs to long options (plugins may need this): + --*=*) func_split_equals "$_G_opt" + set dummy "$func_split_equals_lhs" \ + "$func_split_equals_rhs" ${1+"$@"} + shift + ;; + + # Separate optargs to short options: + -W*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + # Separate non-argument short options: + -\?*|-h*|-v*|-x*) + func_split_short_opt "$_G_opt" + set dummy "$func_split_short_opt_name" \ + "-$func_split_short_opt_arg" ${1+"$@"} + shift + ;; + + --) _G_parse_options_requote=: ; break ;; + -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift + _G_match_parse_options=false + break + ;; + esac + + if $_G_match_parse_options; then + _G_parse_options_requote=: + fi + done + + if $_G_parse_options_requote; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + func_parse_options_result=$func_quote_result + fi +} + + +# func_validate_options [ARG]... +# ------------------------------ +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +func_hookable func_validate_options +func_validate_options () +{ + $debug_cmd + + # Display all warnings if -W was not given. + test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" + + func_run_hooks func_validate_options ${1+"$@"} + func_propagate_result func_run_hooks func_validate_options + + # Bail if the options were screwed! + $exit_cmd $EXIT_FAILURE +} + + + +## ----------------- ## +## Helper functions. ## +## ----------------- ## + +# This section contains the helper functions used by the rest of the +# hookable option parser framework in ascii-betical order. + + +# func_fatal_help ARG... +# ---------------------- +# Echo program name prefixed message to standard error, followed by +# a help hint, and exit. +func_fatal_help () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + eval \$ECHO \""$fatal_help"\" + func_error ${1+"$@"} + exit $EXIT_FAILURE +} + + +# func_help +# --------- +# Echo long help message to standard output and exit. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message" + exit 0 +} + + +# func_missing_arg ARGNAME +# ------------------------ +# Echo program name prefixed message to standard error and set global +# exit_cmd. +func_missing_arg () +{ + $debug_cmd + + func_error "Missing argument for '$1'." + exit_cmd=exit +} + + +# func_split_equals STRING +# ------------------------ +# Set func_split_equals_lhs and func_split_equals_rhs shell variables +# after splitting STRING at the '=' sign. +test -z "$_G_HAVE_XSI_OPS" \ + && (eval 'x=a/b/c; + test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \ + && _G_HAVE_XSI_OPS=yes + +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=${1%%=*} + func_split_equals_rhs=${1#*=} + if test "x$func_split_equals_lhs" = "x$1"; then + func_split_equals_rhs= + fi + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_equals () + { + $debug_cmd + + func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'` + func_split_equals_rhs= + test "x$func_split_equals_lhs=" = "x$1" \ + || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'` + } +fi #func_split_equals + + +# func_split_short_opt SHORTOPT +# ----------------------------- +# Set func_split_short_opt_name and func_split_short_opt_arg shell +# variables after splitting SHORTOPT after the 2nd character. +if test yes = "$_G_HAVE_XSI_OPS" +then + # This is an XSI compatible shell, allowing a faster implementation... + eval 'func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_arg=${1#??} + func_split_short_opt_name=${1%"$func_split_short_opt_arg"} + }' +else + # ...otherwise fall back to using expr, which is often a shell builtin. + func_split_short_opt () + { + $debug_cmd + + func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'` + func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'` + } +fi #func_split_short_opt + + +# func_usage +# ---------- +# Echo short help message to standard output and exit. +func_usage () +{ + $debug_cmd + + func_usage_message + $ECHO "Run '$progname --help |${PAGER-more}' for full usage" + exit 0 +} + + +# func_usage_message +# ------------------ +# Echo short help message to standard output. +func_usage_message () +{ + $debug_cmd + + eval \$ECHO \""Usage: $usage"\" + echo + $SED -n 's|^# || + /^Written by/{ + x;p;x + } + h + /^Written by/q' < "$progpath" + echo + eval \$ECHO \""$usage_message"\" +} + + +# func_version +# ------------ +# Echo version message to standard output and exit. +# The version message is extracted from the calling file's header +# comments, with leading '# ' stripped: +# 1. First display the progname and version +# 2. Followed by the header comment line matching /^# Written by / +# 3. Then a blank line followed by the first following line matching +# /^# Copyright / +# 4. Immediately followed by any lines between the previous matches, +# except lines preceding the intervening completely blank line. +# For example, see the header comments of this file. +func_version () +{ + $debug_cmd + + printf '%s\n' "$progname $scriptversion" + $SED -n ' + /^# Written by /!b + s|^# ||; p; n + + :fwd2blnk + /./ { + n + b fwd2blnk + } + p; n + + :holdwrnt + s|^# || + s|^# *$|| + /^Copyright /!{ + /./H + n + b holdwrnt + } + + s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2| + G + s|\(\n\)\n*|\1|g + p; q' < "$progpath" + + exit $? +} + + +# Local variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC" +# time-stamp-time-zone: "UTC" +# End: + +# Set a version string. +scriptversion='(GNU libtool) 2.4.7' + + +# func_echo ARG... +# ---------------- +# Libtool also displays the current mode in messages, so override +# funclib.sh func_echo with this custom definition. +func_echo () +{ + $debug_cmd + + _G_message=$* + + func_echo_IFS=$IFS + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS + $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" + done + IFS=$func_echo_IFS +} + + +# func_warning ARG... +# ------------------- +# Libtool warnings are not categorized, so override funclib.sh +# func_warning with this simpler definition. +func_warning () +{ + $debug_cmd + + $warning_func ${1+"$@"} +} + + +## ---------------- ## +## Options parsing. ## +## ---------------- ## + +# Hook in the functions to make sure our own options are parsed during +# the option parsing loop. + +usage='$progpath [OPTION]... [MODE-ARG]...' + +# Short help message in response to '-h'. +usage_message="Options: + --config show all configuration variables + --debug enable verbose shell tracing + -n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --mode=MODE use operation mode MODE + --no-warnings equivalent to '-Wnone' + --preserve-dup-deps don't remove duplicate dependency libraries + --quiet, --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + -v, --verbose print more informational messages than default + --version print version information + -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] + -h, --help, --help-all print short, long, or detailed help message +" + +# Additional text appended to 'usage_message' in response to '--help'. +func_help () +{ + $debug_cmd + + func_usage_message + $ECHO "$long_help_message + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. When passed as first option, +'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that. +Try '$progname --help --mode=MODE' for a more detailed description of MODE. + +When reporting a bug, please describe a test case to reproduce it and +include the following information: + + host-triplet: $host + shell: $SHELL + compiler: $LTCC + compiler flags: $LTCFLAGS + linker: $LD (gnu? $with_gnu_ld) + version: $progname $scriptversion Debian-2.4.7-5 + automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` + autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` + +Report bugs to . +GNU libtool home page: . +General help using GNU software: ." + exit 0 +} + + +# func_lo2o OBJECT-NAME +# --------------------- +# Transform OBJECT-NAME from a '.lo' suffix to the platform specific +# object suffix. + +lo2o=s/\\.lo\$/.$objext/ +o2lo=s/\\.$objext\$/.lo/ + +if test yes = "$_G_HAVE_XSI_OPS"; then + eval 'func_lo2o () + { + case $1 in + *.lo) func_lo2o_result=${1%.lo}.$objext ;; + * ) func_lo2o_result=$1 ;; + esac + }' + + # func_xform LIBOBJ-OR-SOURCE + # --------------------------- + # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise) + # suffix to a '.lo' libtool-object suffix. + eval 'func_xform () + { + func_xform_result=${1%.*}.lo + }' +else + # ...otherwise fall back to using sed. + func_lo2o () + { + func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"` + } + + func_xform () + { + func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'` + } +fi + + +# func_fatal_configuration ARG... +# ------------------------------- +# Echo program name prefixed message to standard error, followed by +# a configuration failure hint, and exit. +func_fatal_configuration () +{ + func_fatal_error ${1+"$@"} \ + "See the $PACKAGE documentation for more information." \ + "Fatal configuration error." +} + + +# func_config +# ----------- +# Display the configuration for all the tags in this script. +func_config () +{ + re_begincf='^# ### BEGIN LIBTOOL' + re_endcf='^# ### END LIBTOOL' + + # Default configuration. + $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" + + # Now print the configurations for the tags. + for tagname in $taglist; do + $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" + done + + exit $? +} + + +# func_features +# ------------- +# Display the features supported by this script. +func_features () +{ + echo "host: $host" + if test yes = "$build_libtool_libs"; then + echo "enable shared libraries" + else + echo "disable shared libraries" + fi + if test yes = "$build_old_libs"; then + echo "enable static libraries" + else + echo "disable static libraries" + fi + + exit $? +} + + +# func_enable_tag TAGNAME +# ----------------------- +# Verify that TAGNAME is valid, and either flag an error and exit, or +# enable the TAGNAME tag. We also add TAGNAME to the global $taglist +# variable here. +func_enable_tag () +{ + # Global variable: + tagname=$1 + + re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" + re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" + sed_extractcf=/$re_begincf/,/$re_endcf/p + + # Validate tagname. + case $tagname in + *[!-_A-Za-z0-9,/]*) + func_fatal_error "invalid tag name: $tagname" + ;; + esac + + # Don't test for the "default" C tag, as we know it's + # there but not specially marked. + case $tagname in + CC) ;; + *) + if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then + taglist="$taglist $tagname" + + # Evaluate the configuration. Be careful to quote the path + # and the sed script, to avoid splitting on whitespace, but + # also don't use non-portable quotes within backquotes within + # quotes we have to do it in 2 steps: + extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` + eval "$extractedcf" + else + func_error "ignoring unknown tag $tagname" + fi + ;; + esac +} + + +# func_check_version_match +# ------------------------ +# Ensure that we are using m4 macros, and libtool script from the same +# release of libtool. +func_check_version_match () +{ + if test "$package_revision" != "$macro_revision"; then + if test "$VERSION" != "$macro_version"; then + if test -z "$macro_version"; then + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from an older release. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, but the +$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. +$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION +$progname: and run autoconf again. +_LT_EOF + fi + else + cat >&2 <<_LT_EOF +$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, +$progname: but the definition of this LT_INIT comes from revision $macro_revision. +$progname: You should recreate aclocal.m4 with macros from revision $package_revision +$progname: of $PACKAGE $VERSION and run autoconf again. +_LT_EOF + fi + + exit $EXIT_MISMATCH + fi +} + + +# libtool_options_prep [ARG]... +# ----------------------------- +# Preparation for options parsed by libtool. +libtool_options_prep () +{ + $debug_mode + + # Option defaults: + opt_config=false + opt_dlopen= + opt_dry_run=false + opt_help=false + opt_mode= + opt_preserve_dup_deps=false + opt_quiet=false + + nonopt= + preserve_args= + + _G_rc_lt_options_prep=: + + _G_rc_lt_options_prep=: + + # Shorthand for --mode=foo, only valid as the first argument + case $1 in + clean|clea|cle|cl) + shift; set dummy --mode clean ${1+"$@"}; shift + ;; + compile|compil|compi|comp|com|co|c) + shift; set dummy --mode compile ${1+"$@"}; shift + ;; + execute|execut|execu|exec|exe|ex|e) + shift; set dummy --mode execute ${1+"$@"}; shift + ;; + finish|finis|fini|fin|fi|f) + shift; set dummy --mode finish ${1+"$@"}; shift + ;; + install|instal|insta|inst|ins|in|i) + shift; set dummy --mode install ${1+"$@"}; shift + ;; + link|lin|li|l) + shift; set dummy --mode link ${1+"$@"}; shift + ;; + uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) + shift; set dummy --mode uninstall ${1+"$@"}; shift + ;; + *) + _G_rc_lt_options_prep=false + ;; + esac + + if $_G_rc_lt_options_prep; then + # Pass back the list of options. + func_quote eval ${1+"$@"} + libtool_options_prep_result=$func_quote_result + fi +} +func_add_hook func_options_prep libtool_options_prep + + +# libtool_parse_options [ARG]... +# --------------------------------- +# Provide handling for libtool specific options. +libtool_parse_options () +{ + $debug_cmd + + _G_rc_lt_parse_options=false + + # Perform our own loop to consume as many options as possible in + # each iteration. + while test $# -gt 0; do + _G_match_lt_parse_options=: + _G_opt=$1 + shift + case $_G_opt in + --dry-run|--dryrun|-n) + opt_dry_run=: + ;; + + --config) func_config ;; + + --dlopen|-dlopen) + opt_dlopen="${opt_dlopen+$opt_dlopen +}$1" + shift + ;; + + --preserve-dup-deps) + opt_preserve_dup_deps=: ;; + + --features) func_features ;; + + --finish) set dummy --mode finish ${1+"$@"}; shift ;; + + --help) opt_help=: ;; + + --help-all) opt_help=': help-all' ;; + + --mode) test $# = 0 && func_missing_arg $_G_opt && break + opt_mode=$1 + case $1 in + # Valid mode arguments: + clean|compile|execute|finish|install|link|relink|uninstall) ;; + + # Catch anything else as an error + *) func_error "invalid argument for $_G_opt" + exit_cmd=exit + break + ;; + esac + shift + ;; + + --no-silent|--no-quiet) + opt_quiet=false + func_append preserve_args " $_G_opt" + ;; + + --no-warnings|--no-warning|--no-warn) + opt_warning=false + func_append preserve_args " $_G_opt" + ;; + + --no-verbose) + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --silent|--quiet) + opt_quiet=: + opt_verbose=false + func_append preserve_args " $_G_opt" + ;; + + --tag) test $# = 0 && func_missing_arg $_G_opt && break + opt_tag=$1 + func_append preserve_args " $_G_opt $1" + func_enable_tag "$1" + shift + ;; + + --verbose|-v) opt_quiet=false + opt_verbose=: + func_append preserve_args " $_G_opt" + ;; + + # An option not handled by this hook function: + *) set dummy "$_G_opt" ${1+"$@"} ; shift + _G_match_lt_parse_options=false + break + ;; + esac + $_G_match_lt_parse_options && _G_rc_lt_parse_options=: + done + + if $_G_rc_lt_parse_options; then + # save modified positional parameters for caller + func_quote eval ${1+"$@"} + libtool_parse_options_result=$func_quote_result + fi +} +func_add_hook func_parse_options libtool_parse_options + + + +# libtool_validate_options [ARG]... +# --------------------------------- +# Perform any sanity checks on option settings and/or unconsumed +# arguments. +libtool_validate_options () +{ + # save first non-option argument + if test 0 -lt $#; then + nonopt=$1 + shift + fi + + # preserve --debug + test : = "$debug_cmd" || func_append preserve_args " --debug" + + case $host in + # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 + # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 + *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) + # don't eliminate duplications in $postdeps and $predeps + opt_duplicate_compiler_generated_deps=: + ;; + *) + opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps + ;; + esac + + $opt_help || { + # Sanity checks first: + func_check_version_match + + test yes != "$build_libtool_libs" \ + && test yes != "$build_old_libs" \ + && func_fatal_configuration "not configured to build any kind of library" + + # Darwin sucks + eval std_shrext=\"$shrext_cmds\" + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$opt_dlopen" && test execute != "$opt_mode"; then + func_error "unrecognized option '-dlopen'" + $ECHO "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help=$help + help="Try '$progname --help --mode=$opt_mode' for more information." + } + + # Pass back the unparsed argument list + func_quote eval ${1+"$@"} + libtool_validate_options_result=$func_quote_result +} +func_add_hook func_validate_options libtool_validate_options + + +# Process options as early as possible so that --help and --version +# can return quickly. +func_options ${1+"$@"} +eval set dummy "$func_options_result"; shift + + + +## ----------- ## +## Main. ## +## ----------- ## + +magic='%%%MAGIC variable%%%' +magic_exe='%%%MAGIC EXE variable%%%' + +# Global variables. +extracted_archives= +extracted_serial=0 + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' +} + +# func_generated_by_libtool +# True iff stdin has been generated by Libtool. This function is only +# a basic sanity check; it will hardly flush out determined imposters. +func_generated_by_libtool_p () +{ + $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 +} + +# func_lalib_p file +# True iff FILE is a libtool '.la' library or '.lo' object file. +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_lalib_p () +{ + test -f "$1" && + $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p +} + +# func_lalib_unsafe_p file +# True iff FILE is a libtool '.la' library or '.lo' object file. +# This function implements the same check as func_lalib_p without +# resorting to external programs. To this end, it redirects stdin and +# closes it afterwards, without saving the original file descriptor. +# As a safety measure, use it only where a negative result would be +# fatal anyway. Works if 'file' does not exist. +func_lalib_unsafe_p () +{ + lalib_p=no + if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then + for lalib_p_l in 1 2 3 4 + do + read lalib_p_line + case $lalib_p_line in + \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; + esac + done + exec 0<&5 5<&- + fi + test yes = "$lalib_p" +} + +# func_ltwrapper_script_p file +# True iff FILE is a libtool wrapper script +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_script_p () +{ + test -f "$1" && + $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p +} + +# func_ltwrapper_executable_p file +# True iff FILE is a libtool wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_executable_p () +{ + func_ltwrapper_exec_suffix= + case $1 in + *.exe) ;; + *) func_ltwrapper_exec_suffix=.exe ;; + esac + $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 +} + +# func_ltwrapper_scriptname file +# Assumes file is an ltwrapper_executable +# uses $file to determine the appropriate filename for a +# temporary ltwrapper_script. +func_ltwrapper_scriptname () +{ + func_dirname_and_basename "$1" "" "." + func_stripname '' '.exe' "$func_basename_result" + func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper +} + +# func_ltwrapper_p file +# True iff FILE is a libtool wrapper script or wrapper executable +# This function is only a basic sanity check; it will hardly flush out +# determined imposters. +func_ltwrapper_p () +{ + func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" +} + + +# func_execute_cmds commands fail_cmd +# Execute tilde-delimited COMMANDS. +# If FAIL_CMD is given, eval that upon failure. +# FAIL_CMD may read-access the current command in variable CMD! +func_execute_cmds () +{ + $debug_cmd + + save_ifs=$IFS; IFS='~' + for cmd in $1; do + IFS=$sp$nl + eval cmd=\"$cmd\" + IFS=$save_ifs + func_show_eval "$cmd" "${2-:}" + done + IFS=$save_ifs +} + + +# func_source file +# Source FILE, adding directory component if necessary. +# Note that it is not necessary on cygwin/mingw to append a dot to +# FILE even if both FILE and FILE.exe exist: automatic-append-.exe +# behavior happens only for exec(3), not for open(2)! Also, sourcing +# 'FILE.' does not work on cygwin managed mounts. +func_source () +{ + $debug_cmd + + case $1 in + */* | *\\*) . "$1" ;; + *) . "./$1" ;; + esac +} + + +# func_resolve_sysroot PATH +# Replace a leading = in PATH with a sysroot. Store the result into +# func_resolve_sysroot_result +func_resolve_sysroot () +{ + func_resolve_sysroot_result=$1 + case $func_resolve_sysroot_result in + =*) + func_stripname '=' '' "$func_resolve_sysroot_result" + func_resolve_sysroot_result=$lt_sysroot$func_stripname_result + ;; + esac +} + +# func_replace_sysroot PATH +# If PATH begins with the sysroot, replace it with = and +# store the result into func_replace_sysroot_result. +func_replace_sysroot () +{ + case $lt_sysroot:$1 in + ?*:"$lt_sysroot"*) + func_stripname "$lt_sysroot" '' "$1" + func_replace_sysroot_result='='$func_stripname_result + ;; + *) + # Including no sysroot. + func_replace_sysroot_result=$1 + ;; + esac +} + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + $debug_cmd + + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + func_append_quoted CC_quoted "$arg" + done + CC_expanded=`func_echo_all $CC` + CC_quoted_expanded=`func_echo_all $CC_quoted` + case "$@ " in + " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ + " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + func_echo "unable to infer tagged configuration" + func_fatal_error "specify a tag with '--tag'" +# else +# func_verbose "using $tagname tagged configuration" + fi + ;; + esac + fi +} + + + +# func_write_libtool_object output_name pic_name nonpic_name +# Create a libtool object file (analogous to a ".la" file), +# but don't create it if we're doing a dry run. +func_write_libtool_object () +{ + write_libobj=$1 + if test yes = "$build_libtool_libs"; then + write_lobj=\'$2\' + else + write_lobj=none + fi + + if test yes = "$build_old_libs"; then + write_oldobj=\'$3\' + else + write_oldobj=none + fi + + $opt_dry_run || { + cat >${write_libobj}T </dev/null` + if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then + func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | + $SED -e "$sed_naive_backslashify"` + else + func_convert_core_file_wine_to_w32_result= + fi + fi +} +# end: func_convert_core_file_wine_to_w32 + + +# func_convert_core_path_wine_to_w32 ARG +# Helper function used by path conversion functions when $build is *nix, and +# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly +# configured wine environment available, with the winepath program in $build's +# $PATH. Assumes ARG has no leading or trailing path separator characters. +# +# ARG is path to be converted from $build format to win32. +# Result is available in $func_convert_core_path_wine_to_w32_result. +# Unconvertible file (directory) names in ARG are skipped; if no directory names +# are convertible, then the result may be empty. +func_convert_core_path_wine_to_w32 () +{ + $debug_cmd + + # unfortunately, winepath doesn't convert paths, only file names + func_convert_core_path_wine_to_w32_result= + if test -n "$1"; then + oldIFS=$IFS + IFS=: + for func_convert_core_path_wine_to_w32_f in $1; do + IFS=$oldIFS + func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" + if test -n "$func_convert_core_file_wine_to_w32_result"; then + if test -z "$func_convert_core_path_wine_to_w32_result"; then + func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result + else + func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" + fi + fi + done + IFS=$oldIFS + fi +} +# end: func_convert_core_path_wine_to_w32 + + +# func_cygpath ARGS... +# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when +# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) +# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or +# (2), returns the Cygwin file name or path in func_cygpath_result (input +# file name or path is assumed to be in w32 format, as previously converted +# from $build's *nix or MSYS format). In case (3), returns the w32 file name +# or path in func_cygpath_result (input file name or path is assumed to be in +# Cygwin format). Returns an empty string on error. +# +# ARGS are passed to cygpath, with the last one being the file name or path to +# be converted. +# +# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH +# environment variable; do not put it in $PATH. +func_cygpath () +{ + $debug_cmd + + if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then + func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` + if test "$?" -ne 0; then + # on failure, ensure result is empty + func_cygpath_result= + fi + else + func_cygpath_result= + func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'" + fi +} +#end: func_cygpath + + +# func_convert_core_msys_to_w32 ARG +# Convert file name or path ARG from MSYS format to w32 format. Return +# result in func_convert_core_msys_to_w32_result. +func_convert_core_msys_to_w32 () +{ + $debug_cmd + + # awkward: cmd appends spaces to result + func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | + $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"` +} +#end: func_convert_core_msys_to_w32 + + +# func_convert_file_check ARG1 ARG2 +# Verify that ARG1 (a file name in $build format) was converted to $host +# format in ARG2. Otherwise, emit an error message, but continue (resetting +# func_to_host_file_result to ARG1). +func_convert_file_check () +{ + $debug_cmd + + if test -z "$2" && test -n "$1"; then + func_error "Could not determine host file name corresponding to" + func_error " '$1'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback: + func_to_host_file_result=$1 + fi +} +# end func_convert_file_check + + +# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH +# Verify that FROM_PATH (a path in $build format) was converted to $host +# format in TO_PATH. Otherwise, emit an error message, but continue, resetting +# func_to_host_file_result to a simplistic fallback value (see below). +func_convert_path_check () +{ + $debug_cmd + + if test -z "$4" && test -n "$3"; then + func_error "Could not determine the host path corresponding to" + func_error " '$3'" + func_error "Continuing, but uninstalled executables may not work." + # Fallback. This is a deliberately simplistic "conversion" and + # should not be "improved". See libtool.info. + if test "x$1" != "x$2"; then + lt_replace_pathsep_chars="s|$1|$2|g" + func_to_host_path_result=`echo "$3" | + $SED -e "$lt_replace_pathsep_chars"` + else + func_to_host_path_result=$3 + fi + fi +} +# end func_convert_path_check + + +# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG +# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT +# and appending REPL if ORIG matches BACKPAT. +func_convert_path_front_back_pathsep () +{ + $debug_cmd + + case $4 in + $1 ) func_to_host_path_result=$3$func_to_host_path_result + ;; + esac + case $4 in + $2 ) func_append func_to_host_path_result "$3" + ;; + esac +} +# end func_convert_path_front_back_pathsep + + +################################################## +# $build to $host FILE NAME CONVERSION FUNCTIONS # +################################################## +# invoked via '$to_host_file_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# Result will be available in $func_to_host_file_result. + + +# func_to_host_file ARG +# Converts the file name ARG from $build format to $host format. Return result +# in func_to_host_file_result. +func_to_host_file () +{ + $debug_cmd + + $to_host_file_cmd "$1" +} +# end func_to_host_file + + +# func_to_tool_file ARG LAZY +# converts the file name ARG from $build format to toolchain format. Return +# result in func_to_tool_file_result. If the conversion in use is listed +# in (the comma separated) LAZY, no conversion takes place. +func_to_tool_file () +{ + $debug_cmd + + case ,$2, in + *,"$to_tool_file_cmd",*) + func_to_tool_file_result=$1 + ;; + *) + $to_tool_file_cmd "$1" + func_to_tool_file_result=$func_to_host_file_result + ;; + esac +} +# end func_to_tool_file + + +# func_convert_file_noop ARG +# Copy ARG to func_to_host_file_result. +func_convert_file_noop () +{ + func_to_host_file_result=$1 +} +# end func_convert_file_noop + + +# func_convert_file_msys_to_w32 ARG +# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_file_result. +func_convert_file_msys_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_to_host_file_result=$func_convert_core_msys_to_w32_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_w32 + + +# func_convert_file_cygwin_to_w32 ARG +# Convert file name ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_file_cygwin_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + # because $build is cygwin, we call "the" cygpath in $PATH; no need to use + # LT_CYGPATH in this case. + func_to_host_file_result=`cygpath -m "$1"` + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_cygwin_to_w32 + + +# func_convert_file_nix_to_w32 ARG +# Convert file name ARG from *nix to w32 format. Requires a wine environment +# and a working winepath. Returns result in func_to_host_file_result. +func_convert_file_nix_to_w32 () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_file_wine_to_w32 "$1" + func_to_host_file_result=$func_convert_core_file_wine_to_w32_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_w32 + + +# func_convert_file_msys_to_cygwin ARG +# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_file_msys_to_cygwin () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + func_convert_core_msys_to_w32 "$1" + func_cygpath -u "$func_convert_core_msys_to_w32_result" + func_to_host_file_result=$func_cygpath_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_msys_to_cygwin + + +# func_convert_file_nix_to_cygwin ARG +# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed +# in a wine environment, working winepath, and LT_CYGPATH set. Returns result +# in func_to_host_file_result. +func_convert_file_nix_to_cygwin () +{ + $debug_cmd + + func_to_host_file_result=$1 + if test -n "$1"; then + # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. + func_convert_core_file_wine_to_w32 "$1" + func_cygpath -u "$func_convert_core_file_wine_to_w32_result" + func_to_host_file_result=$func_cygpath_result + fi + func_convert_file_check "$1" "$func_to_host_file_result" +} +# end func_convert_file_nix_to_cygwin + + +############################################# +# $build to $host PATH CONVERSION FUNCTIONS # +############################################# +# invoked via '$to_host_path_cmd ARG' +# +# In each case, ARG is the path to be converted from $build to $host format. +# The result will be available in $func_to_host_path_result. +# +# Path separators are also converted from $build format to $host format. If +# ARG begins or ends with a path separator character, it is preserved (but +# converted to $host format) on output. +# +# All path conversion functions are named using the following convention: +# file name conversion function : func_convert_file_X_to_Y () +# path conversion function : func_convert_path_X_to_Y () +# where, for any given $build/$host combination the 'X_to_Y' value is the +# same. If conversion functions are added for new $build/$host combinations, +# the two new functions must follow this pattern, or func_init_to_host_path_cmd +# will break. + + +# func_init_to_host_path_cmd +# Ensures that function "pointer" variable $to_host_path_cmd is set to the +# appropriate value, based on the value of $to_host_file_cmd. +to_host_path_cmd= +func_init_to_host_path_cmd () +{ + $debug_cmd + + if test -z "$to_host_path_cmd"; then + func_stripname 'func_convert_file_' '' "$to_host_file_cmd" + to_host_path_cmd=func_convert_path_$func_stripname_result + fi +} + + +# func_to_host_path ARG +# Converts the path ARG from $build format to $host format. Return result +# in func_to_host_path_result. +func_to_host_path () +{ + $debug_cmd + + func_init_to_host_path_cmd + $to_host_path_cmd "$1" +} +# end func_to_host_path + + +# func_convert_path_noop ARG +# Copy ARG to func_to_host_path_result. +func_convert_path_noop () +{ + func_to_host_path_result=$1 +} +# end func_convert_path_noop + + +# func_convert_path_msys_to_w32 ARG +# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic +# conversion to w32 is not available inside the cwrapper. Returns result in +# func_to_host_path_result. +func_convert_path_msys_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # Remove leading and trailing path separator characters from ARG. MSYS + # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; + # and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result=$func_convert_core_msys_to_w32_result + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_msys_to_w32 + + +# func_convert_path_cygwin_to_w32 ARG +# Convert path ARG from Cygwin to w32 format. Returns result in +# func_to_host_file_result. +func_convert_path_cygwin_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_cygwin_to_w32 + + +# func_convert_path_nix_to_w32 ARG +# Convert path ARG from *nix to w32 format. Requires a wine environment and +# a working winepath. Returns result in func_to_host_file_result. +func_convert_path_nix_to_w32 () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_to_host_path_result=$func_convert_core_path_wine_to_w32_result + func_convert_path_check : ";" \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" + fi +} +# end func_convert_path_nix_to_w32 + + +# func_convert_path_msys_to_cygwin ARG +# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. +# Returns result in func_to_host_file_result. +func_convert_path_msys_to_cygwin () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # See func_convert_path_msys_to_w32: + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_msys_to_w32_result" + func_to_host_path_result=$func_cygpath_result + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_msys_to_cygwin + + +# func_convert_path_nix_to_cygwin ARG +# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a +# a wine environment, working winepath, and LT_CYGPATH set. Returns result in +# func_to_host_file_result. +func_convert_path_nix_to_cygwin () +{ + $debug_cmd + + func_to_host_path_result=$1 + if test -n "$1"; then + # Remove leading and trailing path separator characters from + # ARG. msys behavior is inconsistent here, cygpath turns them + # into '.;' and ';.', and winepath ignores them completely. + func_stripname : : "$1" + func_to_host_path_tmp1=$func_stripname_result + func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" + func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" + func_to_host_path_result=$func_cygpath_result + func_convert_path_check : : \ + "$func_to_host_path_tmp1" "$func_to_host_path_result" + func_convert_path_front_back_pathsep ":*" "*:" : "$1" + fi +} +# end func_convert_path_nix_to_cygwin + + +# func_dll_def_p FILE +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with _LT_DLL_DEF_P in libtool.m4 +func_dll_def_p () +{ + $debug_cmd + + func_dll_def_p_tmp=`$SED -n \ + -e 's/^[ ]*//' \ + -e '/^\(;.*\)*$/d' \ + -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \ + -e q \ + "$1"` + test DEF = "$func_dll_def_p_tmp" +} + + +# func_mode_compile arg... +func_mode_compile () +{ + $debug_cmd + + # Get the compilation command and the source file. + base_compile= + srcfile=$nonopt # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + pie_flag= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg=$arg + arg_mode=normal + ;; + + target ) + libobj=$arg + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + test -n "$libobj" && \ + func_fatal_error "you cannot specify '-o' more than once" + arg_mode=target + continue + ;; + + -pie | -fpie | -fPIE) + func_append pie_flag " $arg" + continue + ;; + + -shared | -static | -prefer-pic | -prefer-non-pic) + func_append later " $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + lastarg= + save_ifs=$IFS; IFS=, + for arg in $args; do + IFS=$save_ifs + func_append_quoted lastarg "$arg" + done + IFS=$save_ifs + func_stripname ' ' '' "$lastarg" + lastarg=$func_stripname_result + + # Add the arguments to base_compile. + func_append base_compile " $lastarg" + continue + ;; + + *) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg=$srcfile + srcfile=$arg + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + func_append_quoted base_compile "$lastarg" + done # for arg + + case $arg_mode in + arg) + func_fatal_error "you must specify an argument for -Xcompile" + ;; + target) + func_fatal_error "you must specify a target with '-o'" + ;; + *) + # Get the name of the library object. + test -z "$libobj" && { + func_basename "$srcfile" + libobj=$func_basename_result + } + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + case $libobj in + *.[cCFSifmso] | \ + *.ada | *.adb | *.ads | *.asm | \ + *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ + *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) + func_xform "$libobj" + libobj=$func_xform_result + ;; + esac + + case $libobj in + *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; + *) + func_fatal_error "cannot determine name of library object from '$libobj'" + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -shared) + test yes = "$build_libtool_libs" \ + || func_fatal_configuration "cannot build a shared library" + build_old_libs=no + continue + ;; + + -static) + build_libtool_libs=no + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + func_quote_arg pretty "$libobj" + test "X$libobj" != "X$func_quote_arg_result" \ + && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && func_warning "libobj name '$libobj' may not contain shell special characters." + func_dirname_and_basename "$obj" "/" "" + objname=$func_basename_result + xdir=$func_dirname_result + lobj=$xdir$objdir/$objname + + test -z "$base_compile" && \ + func_fatal_help "you must specify a compilation command" + + # Delete any leftover library objects. + if test yes = "$build_old_libs"; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2* | cegcc*) + pic_mode=default + ;; + esac + if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test no = "$compiler_c_o"; then + output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext + lockfile=$output_obj.lock + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test yes = "$need_locks"; then + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + elif test warn = "$need_locks"; then + if test -f "$lockfile"; then + $ECHO "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + func_append removelist " $output_obj" + $ECHO "$srcfile" > "$lockfile" + fi + + $opt_dry_run || $RM $removelist + func_append removelist " $lockfile" + trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 + + func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 + srcfile=$func_to_tool_file_result + func_quote_arg pretty "$srcfile" + qsrcfile=$func_quote_arg_result + + # Only build a PIC object if we are building libtool libraries. + if test yes = "$build_libtool_libs"; then + # Without this assignment, base_compile gets emptied. + fbsd_hideous_sh_bug=$base_compile + + if test no != "$pic_mode"; then + command="$base_compile $qsrcfile $pic_flag" + else + # Don't build PIC code + command="$base_compile $qsrcfile" + fi + + func_mkdir_p "$xdir$objdir" + + if test -z "$output_obj"; then + # Place PIC objects in $objdir + func_append command " -o $lobj" + fi + + func_show_eval_locale "$command" \ + 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' + + if test warn = "$need_locks" && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + func_show_eval '$MV "$output_obj" "$lobj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + + # Allow error messages only from the first compilation. + if test yes = "$suppress_opt"; then + suppress_output=' >/dev/null 2>&1' + fi + fi + + # Only build a position-dependent object if we build old libraries. + if test yes = "$build_old_libs"; then + if test yes != "$pic_mode"; then + # Don't build PIC code + command="$base_compile $qsrcfile$pie_flag" + else + command="$base_compile $qsrcfile $pic_flag" + fi + if test yes = "$compiler_c_o"; then + func_append command " -o $obj" + fi + + # Suppress compiler output if we already did a PIC compilation. + func_append command "$suppress_output" + func_show_eval_locale "$command" \ + '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' + + if test warn = "$need_locks" && + test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then + $ECHO "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support '-c' and '-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $opt_dry_run || $RM $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + func_show_eval '$MV "$output_obj" "$obj"' \ + 'error=$?; $opt_dry_run || $RM $removelist; exit $error' + fi + fi + + $opt_dry_run || { + func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" + + # Unlock the critical section if it was locked + if test no != "$need_locks"; then + removelist=$lockfile + $RM "$lockfile" + fi + } + + exit $EXIT_SUCCESS +} + +$opt_help || { + test compile = "$opt_mode" && func_mode_compile ${1+"$@"} +} + +func_mode_help () +{ + # We need to display help for each of the modes. + case $opt_mode in + "") + # Generic help is extracted from the usage comments + # at the start of this file. + func_help + ;; + + clean) + $ECHO \ +"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + + compile) + $ECHO \ +"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -no-suppress do not suppress compiler output for multiple passes + -prefer-pic try to build PIC objects only + -prefer-non-pic try to build non-PIC objects only + -shared do not build a '.o' file suitable for static linking + -static only build a '.o' file suitable for static linking + -Wc,FLAG + -Xcompiler FLAG pass FLAG directly to the compiler + +COMPILE-COMMAND is a command to be used in creating a 'standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix '.c' with the +library object suffix, '.lo'." + ;; + + execute) + $ECHO \ +"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to '-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + + finish) + $ECHO \ +"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the '--dry-run' option if you just want to see what would be executed." + ;; + + install) + $ECHO \ +"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the 'install' or 'cp' program. + +The following components of INSTALL-COMMAND are treated specially: + + -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + + link) + $ECHO \ +"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -bindir BINDIR specify path to binaries directory (for systems where + libraries must be found in the PATH setting at runtime) + -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE use a list of object files found in FILE to specify objects + -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes) + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -shared only do dynamic linking of libtool libraries + -shrext SUFFIX override the standard shared library file extension + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + -weak LIBNAME declare that the target provides the LIBNAME interface + -Wc,FLAG + -Xcompiler FLAG pass linker-specific FLAG directly to the compiler + -Wa,FLAG + -Xassembler FLAG pass linker-specific FLAG directly to the assembler + -Wl,FLAG + -Xlinker FLAG pass linker-specific FLAG directly to the linker + -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) + +All other options (arguments beginning with '-') are ignored. + +Every other argument is treated as a filename. Files ending in '.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in '.la', then a libtool library is created, +only library objects ('.lo' files) may be specified, and '-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created +using 'ar' and 'ranlib', or on Windows using 'lib'. + +If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file +is created, otherwise an executable program is created." + ;; + + uninstall) + $ECHO \ +"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + + *) + func_fatal_help "invalid operation mode '$opt_mode'" + ;; + esac + + echo + $ECHO "Try '$progname --help' for more information about other modes." +} + +# Now that we've collected a possible --mode arg, show help if necessary +if $opt_help; then + if test : = "$opt_help"; then + func_mode_help + else + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + func_mode_help + done + } | $SED -n '1p; 2,$s/^Usage:/ or: /p' + { + func_help noexit + for opt_mode in compile link execute install finish uninstall clean; do + echo + func_mode_help + done + } | + $SED '1d + /^When reporting/,/^Report/{ + H + d + } + $x + /information about other modes/d + /more detailed .*MODE/d + s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' + fi + exit $? +fi + + +# func_mode_execute arg... +func_mode_execute () +{ + $debug_cmd + + # The first argument is the command name. + cmd=$nonopt + test -z "$cmd" && \ + func_fatal_help "you must specify a COMMAND" + + # Handle -dlopen flags immediately. + for file in $opt_dlopen; do + test -f "$file" \ + || func_fatal_help "'$file' is not a file" + + dir= + case $file in + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "'$lib' is not a valid libtool archive" + + # Read the libtool library. + dlname= + library_names= + func_source "$file" + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && \ + func_warning "'$file' was not linked with '-export-dynamic'" + continue + fi + + func_dirname "$file" "" "." + dir=$func_dirname_result + + if test -f "$dir/$objdir/$dlname"; then + func_append dir "/$objdir" + else + if test ! -f "$dir/$dlname"; then + func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'" + fi + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + func_dirname "$file" "" "." + dir=$func_dirname_result + ;; + + *) + func_warning "'-dlopen' is ignored for non-libtool libraries and objects" + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir=$absdir + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic=$magic + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -* | *.la | *.lo ) ;; + *) + # Do a test to see if this is really a libtool program. + if func_ltwrapper_script_p "$file"; then + func_source "$file" + # Transform arg to wrapped name. + file=$progdir/$program + elif func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + func_source "$func_ltwrapper_scriptname_result" + # Transform arg to wrapped name. + file=$progdir/$program + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + func_append_quoted args "$file" + done + + if $opt_dry_run; then + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" + echo "export $shlibpath_var" + fi + $ECHO "$cmd$args" + exit $EXIT_SUCCESS + else + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + else + $lt_unset $lt_var + fi" + done + + # Now prepare to actually exec the command. + exec_cmd=\$cmd$args + fi +} + +test execute = "$opt_mode" && func_mode_execute ${1+"$@"} + + +# func_mode_finish arg... +func_mode_finish () +{ + $debug_cmd + + libs= + libdirs= + admincmds= + + for opt in "$nonopt" ${1+"$@"} + do + if test -d "$opt"; then + func_append libdirs " $opt" + + elif test -f "$opt"; then + if func_lalib_unsafe_p "$opt"; then + func_append libs " $opt" + else + func_warning "'$opt' is not a valid libtool archive" + fi + + else + func_fatal_error "invalid argument '$opt'" + fi + done + + if test -n "$libs"; then + if test -n "$lt_sysroot"; then + sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` + sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" + else + sysroot_cmd= + fi + + # Remove sysroot references + if $opt_dry_run; then + for lib in $libs; do + echo "removing references to $lt_sysroot and '=' prefixes from $lib" + done + else + tmpdir=`func_mktempdir` + for lib in $libs; do + $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ + > $tmpdir/tmp-la + mv -f $tmpdir/tmp-la $lib + done + ${RM}r "$tmpdir" + fi + fi + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + func_execute_cmds "$finish_cmds" 'admincmds="$admincmds +'"$cmd"'"' + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $opt_dry_run || eval "$cmds" || func_append admincmds " + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + $opt_quiet && exit $EXIT_SUCCESS + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + echo "----------------------------------------------------------------------" + echo "Libraries have been installed in:" + for libdir in $libdirs; do + $ECHO " $libdir" + done + echo + echo "If you ever happen to want to link against installed libraries" + echo "in a given directory, LIBDIR, you must either use libtool, and" + echo "specify the full pathname of the library, or use the '-LLIBDIR'" + echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + echo " - add LIBDIR to the '$shlibpath_var' environment variable" + echo " during execution" + fi + if test -n "$runpath_var"; then + echo " - add LIBDIR to the '$runpath_var' environment variable" + echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $ECHO " - use the '$flag' linker flag" + fi + if test -n "$admincmds"; then + $ECHO " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'" + fi + echo + + echo "See any operating system documentation about shared libraries for" + case $host in + solaris2.[6789]|solaris2.1[0-9]) + echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" + echo "pages." + ;; + *) + echo "more information, such as the ld(1) and ld.so(8) manual pages." + ;; + esac + echo "----------------------------------------------------------------------" + fi + exit $EXIT_SUCCESS +} + +test finish = "$opt_mode" && func_mode_finish ${1+"$@"} + + +# func_mode_install arg... +func_mode_install () +{ + $debug_cmd + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" || + # Allow the use of GNU shtool's install command. + case $nonopt in *shtool*) :;; *) false;; esac + then + # Aesthetically quote it. + func_quote_arg pretty "$nonopt" + install_prog="$func_quote_arg_result " + arg=$1 + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + func_quote_arg pretty "$arg" + func_append install_prog "$func_quote_arg_result" + install_shared_prog=$install_prog + case " $install_prog " in + *[\\\ /]cp\ *) install_cp=: ;; + *) install_cp=false ;; + esac + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=false + stripme= + no_mode=: + for arg + do + arg2= + if test -n "$dest"; then + func_append files " $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=: ;; + -f) + if $install_cp; then :; else + prev=$arg + fi + ;; + -g | -m | -o) + prev=$arg + ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + if test X-m = "X$prev" && test -n "$install_override_mode"; then + arg2=$install_override_mode + no_mode=false + fi + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + func_quote_arg pretty "$arg" + func_append install_prog " $func_quote_arg_result" + if test -n "$arg2"; then + func_quote_arg pretty "$arg2" + fi + func_append install_shared_prog " $func_quote_arg_result" + done + + test -z "$install_prog" && \ + func_fatal_help "you must specify an install program" + + test -n "$prev" && \ + func_fatal_help "the '$prev' option requires an argument" + + if test -n "$install_override_mode" && $no_mode; then + if $install_cp; then :; else + func_quote_arg pretty "$install_override_mode" + func_append install_shared_prog " -m $func_quote_arg_result" + fi + fi + + if test -z "$files"; then + if test -z "$dest"; then + func_fatal_help "no file or destination specified" + else + func_fatal_help "you must specify a destination" + fi + fi + + # Strip any trailing slash from the destination. + func_stripname '' '/' "$dest" + dest=$func_stripname_result + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=: + if $isdir; then + destdir=$dest + destname= + else + func_dirname_and_basename "$dest" "" "." + destdir=$func_dirname_result + destname=$func_basename_result + + # Not a directory, so check to see that there is only one file specified. + set dummy $files; shift + test "$#" -gt 1 && \ + func_fatal_help "'$dest' is not a directory" + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + func_fatal_help "'$destdir' must be an absolute directory name" + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic=$magic + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + func_append staticlibs " $file" + ;; + + *.la) + func_resolve_sysroot "$file" + file=$func_resolve_sysroot_result + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$file" \ + || func_fatal_help "'$file' is not a valid libtool archive" + + library_names= + old_library= + relink_command= + func_source "$file" + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) func_append current_libdirs " $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) func_append future_libdirs " $libdir" ;; + esac + fi + + func_dirname "$file" "/" "" + dir=$func_dirname_result + func_append dir "$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + test "$inst_prefix_dir" = "$destdir" && \ + func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir" + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` + else + relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` + fi + + func_warning "relinking '$file'" + func_show_eval "$relink_command" \ + 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' + fi + + # See the names of the shared library. + set dummy $library_names; shift + if test -n "$1"; then + realname=$1 + shift + + srcname=$realname + test -n "$relink_command" && srcname=${realname}T + + # Install the shared library and build the symlinks. + func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ + 'exit $?' + tstripme=$stripme + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + case $realname in + *.dll.a) + tstripme= + ;; + esac + ;; + os2*) + case $realname in + *_dll.a) + tstripme= + ;; + esac + ;; + esac + if test -n "$tstripme" && test -n "$striplib"; then + func_show_eval "$striplib $destdir/$realname" 'exit $?' + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try 'ln -sf' first, because the 'ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + test "$linkname" != "$realname" \ + && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" + done + fi + + # Do each command in the postinstall commands. + lib=$destdir/$realname + func_execute_cmds "$postinstall_cmds" 'exit $?' + fi + + # Install the pseudo-library for information purposes. + func_basename "$file" + name=$func_basename_result + instname=$dir/${name}i + func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' + + # Maybe install the static library, too. + test -n "$old_library" && func_append staticlibs " $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile=$destdir/$destname + else + func_basename "$file" + destfile=$func_basename_result + destfile=$destdir/$destfile + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + func_lo2o "$destfile" + staticdest=$func_lo2o_result + ;; + *.$objext) + staticdest=$destfile + destfile= + ;; + *) + func_fatal_help "cannot copy a libtool object to '$destfile'" + ;; + esac + + # Install the libtool object if requested. + test -n "$destfile" && \ + func_show_eval "$install_prog $file $destfile" 'exit $?' + + # Install the old object if enabled. + if test yes = "$build_old_libs"; then + # Deduce the name of the old-style object file. + func_lo2o "$file" + staticobj=$func_lo2o_result + func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile=$destdir/$destname + else + func_basename "$file" + destfile=$func_basename_result + destfile=$destdir/$destfile + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext= + case $file in + *.exe) + if test ! -f "$file"; then + func_stripname '' '.exe' "$file" + file=$func_stripname_result + stripped_ext=.exe + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin* | *mingw*) + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + wrapper=$func_ltwrapper_scriptname_result + else + func_stripname '' '.exe' "$file" + wrapper=$func_stripname_result + fi + ;; + *) + wrapper=$file + ;; + esac + if func_ltwrapper_script_p "$wrapper"; then + notinst_deplibs= + relink_command= + + func_source "$wrapper" + + # Check the variables that should have been set. + test -z "$generated_by_libtool_version" && \ + func_fatal_error "invalid libtool wrapper script '$wrapper'" + + finalize=: + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + func_source "$lib" + fi + libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'` + if test -n "$libdir" && test ! -f "$libfile"; then + func_warning "'$lib' has not been installed in '$libdir'" + finalize=false + fi + done + + relink_command= + func_source "$wrapper" + + outputname= + if test no = "$fast_install" && test -n "$relink_command"; then + $opt_dry_run || { + if $finalize; then + tmpdir=`func_mktempdir` + func_basename "$file$stripped_ext" + file=$func_basename_result + outputname=$tmpdir/$file + # Replace the output file specification. + relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` + + $opt_quiet || { + func_quote_arg expand,pretty "$relink_command" + eval "func_echo $func_quote_arg_result" + } + if eval "$relink_command"; then : + else + func_error "error: relink '$file' with the above command before installing it" + $opt_dry_run || ${RM}r "$tmpdir" + continue + fi + file=$outputname + else + func_warning "cannot relink '$file'" + fi + } + else + # Install the binary that we compiled earlier. + file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + func_stripname '' '.exe' "$destfile" + destfile=$func_stripname_result + ;; + esac + ;; + esac + func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' + $opt_dry_run || if test -n "$outputname"; then + ${RM}r "$tmpdir" + fi + ;; + esac + done + + for file in $staticlibs; do + func_basename "$file" + name=$func_basename_result + + # Set up the ranlib parameters. + oldlib=$destdir/$name + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + + func_show_eval "$install_prog \$file \$oldlib" 'exit $?' + + if test -n "$stripme" && test -n "$old_striplib"; then + func_show_eval "$old_striplib $tool_oldlib" 'exit $?' + fi + + # Do each command in the postinstall commands. + func_execute_cmds "$old_postinstall_cmds" 'exit $?' + done + + test -n "$future_libdirs" && \ + func_warning "remember to run '$progname --finish$future_libdirs'" + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + $opt_dry_run && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi +} + +test install = "$opt_mode" && func_mode_install ${1+"$@"} + + +# func_generate_dlsyms outputname originator pic_p +# Extract symbols from dlprefiles and create ${outputname}S.o with +# a dlpreopen symbol table. +func_generate_dlsyms () +{ + $debug_cmd + + my_outputname=$1 + my_originator=$2 + my_pic_p=${3-false} + my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'` + my_dlsyms= + + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + my_dlsyms=${my_outputname}S.c + else + func_error "not configured to extract global symbols from dlpreopened files" + fi + fi + + if test -n "$my_dlsyms"; then + case $my_dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist=$output_objdir/$my_outputname.nm + + func_show_eval "$RM $nlist ${nlist}S ${nlist}T" + + # Parse the name list into a source file. + func_verbose "creating $output_objdir/$my_dlsyms" + + $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ +/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */ +/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) +#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" +#endif + +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + +/* External symbol declarations for the compiler. */\ +" + + if test yes = "$dlself"; then + func_verbose "generating symbol list for '$output'" + + $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` + for progfile in $progfiles; do + func_to_tool_file "$progfile" func_convert_file_msys_to_w32 + func_verbose "extracting global C symbols from '$func_to_tool_file_result'" + $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $opt_dry_run || { + eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + if test -n "$export_symbols_regex"; then + $opt_dry_run || { + eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + } + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols=$output_objdir/$outputname.exp + $opt_dry_run || { + $RM $export_symbols + eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + } + else + $opt_dry_run || { + eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + eval '$MV "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* | *cegcc* ) + eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + } + fi + fi + + for dlprefile in $dlprefiles; do + func_verbose "extracting global C symbols from '$dlprefile'" + func_basename "$dlprefile" + name=$func_basename_result + case $host in + *cygwin* | *mingw* | *cegcc* ) + # if an import library, we need to obtain dlname + if func_win32_import_lib_p "$dlprefile"; then + func_tr_sh "$dlprefile" + eval "curr_lafile=\$libfile_$func_tr_sh_result" + dlprefile_dlbasename= + if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then + # Use subshell, to avoid clobbering current variable values + dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` + if test -n "$dlprefile_dlname"; then + func_basename "$dlprefile_dlname" + dlprefile_dlbasename=$func_basename_result + else + # no lafile. user explicitly requested -dlpreopen . + $sharedlib_from_linklib_cmd "$dlprefile" + dlprefile_dlbasename=$sharedlib_from_linklib_result + fi + fi + $opt_dry_run || { + if test -n "$dlprefile_dlbasename"; then + eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' + else + func_warning "Could not compute DLL name from $name" + eval '$ECHO ": $name " >> "$nlist"' + fi + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | + $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" + } + else # not an import lib + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + fi + ;; + *) + $opt_dry_run || { + eval '$ECHO ": $name " >> "$nlist"' + func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 + eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" + } + ;; + esac + done + + $opt_dry_run || { + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $MV "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if $GREP -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + $GREP -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' + else + echo '/* NONE */' >> "$output_objdir/$my_dlsyms" + fi + + func_show_eval '$RM "${nlist}I"' + if test -n "$global_symbol_to_import"; then + eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I' + fi + + echo >> "$output_objdir/$my_dlsyms" "\ + +/* The mapping between symbol names and symbols. */ +typedef struct { + const char *name; + void *address; +} lt_dlsymlist; +extern LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[];\ +" + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ +static void lt_syminit(void) +{ + LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols; + for (; symbol->name; ++symbol) + {" + $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms" + echo >> "$output_objdir/$my_dlsyms" "\ + } +}" + fi + echo >> "$output_objdir/$my_dlsyms" "\ +LT_DLSYM_CONST lt_dlsymlist +lt_${my_prefix}_LTX_preloaded_symbols[] = +{ {\"$my_originator\", (void *) 0}," + + if test -s "$nlist"I; then + echo >> "$output_objdir/$my_dlsyms" "\ + {\"@INIT@\", (void *) <_syminit}," + fi + + case $need_lib_prefix in + no) + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + *) + eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" + ;; + esac + echo >> "$output_objdir/$my_dlsyms" "\ + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_${my_prefix}_LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + } # !$opt_dry_run + + pic_flag_for_symtable= + case "$compile_command " in + *" -static "*) ;; + *) + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; + *-*-hpux*) + pic_flag_for_symtable=" $pic_flag" ;; + *) + $my_pic_p && pic_flag_for_symtable=" $pic_flag" + ;; + esac + ;; + esac + symtab_cflags= + for arg in $LTCFLAGS; do + case $arg in + -pie | -fpie | -fPIE) ;; + *) func_append symtab_cflags " $arg" ;; + esac + done + + # Now compile the dynamic symbol file. + func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' + + # Clean up the generated files. + func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"' + + # Transform the symbol file into the correct name. + symfileobj=$output_objdir/${my_outputname}S.$objext + case $host in + *cygwin* | *mingw* | *cegcc* ) + if test -f "$output_objdir/$my_outputname.def"; then + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` + else + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + fi + ;; + *) + compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` + ;; + esac + ;; + *) + func_fatal_error "unknown suffix for '$my_dlsyms'" + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` + finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` + fi +} + +# func_cygming_gnu_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is a GNU/binutils-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_gnu_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` + test -n "$func_cygming_gnu_implib_tmp" +} + +# func_cygming_ms_implib_p ARG +# This predicate returns with zero status (TRUE) if +# ARG is an MS-style import library. Returns +# with nonzero status (FALSE) otherwise. +func_cygming_ms_implib_p () +{ + $debug_cmd + + func_to_tool_file "$1" func_convert_file_msys_to_w32 + func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` + test -n "$func_cygming_ms_implib_tmp" +} + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +# Despite the name, also deal with 64 bit binaries. +func_win32_libid () +{ + $debug_cmd + + win32_libid_type=unknown + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | + $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then + case $nm_interface in + "MS dumpbin") + if func_cygming_ms_implib_p "$1" || + func_cygming_gnu_implib_p "$1" + then + win32_nmres=import + else + win32_nmres= + fi + ;; + *) + func_to_tool_file "$1" func_convert_file_msys_to_w32 + win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | + $SED -n -e ' + 1,100{ + / I /{ + s|.*|import| + p + q + } + }'` + ;; + esac + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $ECHO "$win32_libid_type" +} + +# func_cygming_dll_for_implib ARG +# +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib () +{ + $debug_cmd + + sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` +} + +# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs +# +# The is the core of a fallback implementation of a +# platform-specific function to extract the name of the +# DLL associated with the specified import library LIBNAME. +# +# SECTION_NAME is either .idata$6 or .idata$7, depending +# on the platform and compiler that created the implib. +# +# Echos the name of the DLL associated with the +# specified import library. +func_cygming_dll_for_implib_fallback_core () +{ + $debug_cmd + + match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` + $OBJDUMP -s --section "$1" "$2" 2>/dev/null | + $SED '/^Contents of section '"$match_literal"':/{ + # Place marker at beginning of archive member dllname section + s/.*/====MARK====/ + p + d + } + # These lines can sometimes be longer than 43 characters, but + # are always uninteresting + /:[ ]*file format pe[i]\{,1\}-/d + /^In archive [^:]*:/d + # Ensure marker is printed + /^====MARK====/p + # Remove all lines with less than 43 characters + /^.\{43\}/!d + # From remaining lines, remove first 43 characters + s/^.\{43\}//' | + $SED -n ' + # Join marker and all lines until next marker into a single line + /^====MARK====/ b para + H + $ b para + b + :para + x + s/\n//g + # Remove the marker + s/^====MARK====// + # Remove trailing dots and whitespace + s/[\. \t]*$// + # Print + /./p' | + # we now have a list, one entry per line, of the stringified + # contents of the appropriate section of all members of the + # archive that possess that section. Heuristic: eliminate + # all those that have a first or second character that is + # a '.' (that is, objdump's representation of an unprintable + # character.) This should work for all archives with less than + # 0x302f exports -- but will fail for DLLs whose name actually + # begins with a literal '.' or a single character followed by + # a '.'. + # + # Of those that remain, print the first one. + $SED -e '/^\./d;/^.\./d;q' +} + +# func_cygming_dll_for_implib_fallback ARG +# Platform-specific function to extract the +# name of the DLL associated with the specified +# import library ARG. +# +# This fallback implementation is for use when $DLLTOOL +# does not support the --identify-strict option. +# Invoked by eval'ing the libtool variable +# $sharedlib_from_linklib_cmd +# Result is available in the variable +# $sharedlib_from_linklib_result +func_cygming_dll_for_implib_fallback () +{ + $debug_cmd + + if func_cygming_gnu_implib_p "$1"; then + # binutils import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` + elif func_cygming_ms_implib_p "$1"; then + # ms-generated import library + sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` + else + # unknown + sharedlib_from_linklib_result= + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + $debug_cmd + + f_ex_an_ar_dir=$1; shift + f_ex_an_ar_oldlib=$1 + if test yes = "$lock_old_archive_extraction"; then + lockfile=$f_ex_an_ar_oldlib.lock + until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do + func_echo "Waiting for $lockfile to be removed" + sleep 2 + done + fi + func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ + 'stat=$?; rm -f "$lockfile"; exit $stat' + if test yes = "$lock_old_archive_extraction"; then + $opt_dry_run || rm -f "$lockfile" + fi + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" + fi +} + + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + $debug_cmd + + my_gentop=$1; shift + my_oldlibs=${1+"$@"} + my_oldobjs= + my_xlib= + my_xabs= + my_xdir= + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + func_basename "$my_xlib" + my_xlib=$func_basename_result + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + func_arith $extracted_serial + 1 + extracted_serial=$func_arith_result + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir=$my_gentop/$my_xlib_u + + func_mkdir_p "$my_xdir" + + case $host in + *-darwin*) + func_verbose "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + $opt_dry_run || { + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + func_basename "$darwin_archive" + darwin_base_archive=$func_basename_result + darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` + if test -n "$darwin_arches"; then + darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches; do + func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch" + $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive" + cd "unfat-$$/$darwin_base_archive-$darwin_arch" + func_extract_an_archive "`pwd`" "$darwin_base_archive" + cd "$darwin_curdir" + $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" + done # $darwin_arches + ## Okay now we've a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` + $LIPO -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + $RM -rf unfat-$$ + cd "$darwin_orig_dir" + else + cd $darwin_orig_dir + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + } # !$opt_dry_run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` + done + + func_extract_archives_result=$my_oldobjs +} + + +# func_emit_wrapper [arg=no] +# +# Emit a libtool wrapper script on stdout. +# Don't directly open a file because we may want to +# incorporate the script contents within a cygwin/mingw +# wrapper executable. Must ONLY be called from within +# func_mode_link because it depends on a number of variables +# set therein. +# +# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR +# variable will take. If 'yes', then the emitted script +# will assume that the directory where it is stored is +# the $objdir directory. This is a cygwin/mingw-specific +# behavior. +func_emit_wrapper () +{ + func_emit_wrapper_arg1=${1-no} + + $ECHO "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variables: + generated_by_libtool_version='$macro_version' + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$ECHO are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + file=\"\$0\"" + + func_quote_arg pretty "$ECHO" + qECHO=$func_quote_arg_result + $ECHO "\ + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + ECHO=$qECHO + fi + +# Very basic option parsing. These options are (a) specific to +# the libtool wrapper, (b) are identical between the wrapper +# /script/ and the wrapper /executable/ that is used only on +# windows platforms, and (c) all begin with the string "--lt-" +# (application programs are unlikely to have options that match +# this pattern). +# +# There are only two supported options: --lt-debug and +# --lt-dump-script. There is, deliberately, no --lt-help. +# +# The first argument to this parsing function should be the +# script's $0 value, followed by "$@". +lt_option_debug= +func_parse_lt_options () +{ + lt_script_arg0=\$0 + shift + for lt_opt + do + case \"\$lt_opt\" in + --lt-debug) lt_option_debug=1 ;; + --lt-dump-script) + lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` + test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. + lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` + cat \"\$lt_dump_D/\$lt_dump_F\" + exit 0 + ;; + --lt-*) + \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 + exit 1 + ;; + esac + done + + # Print the debug banner immediately: + if test -n \"\$lt_option_debug\"; then + echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2 + fi +} + +# Used when --lt-debug. Prints its arguments to stdout +# (redirection is the responsibility of the caller) +func_lt_dump_args () +{ + lt_dump_args_N=1; + for lt_arg + do + \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\" + lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` + done +} + +# Core function for launching the target application +func_exec_program_core () +{ +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2* | *-cegcc*) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $ECHO "\ + if test -n \"\$lt_option_debug\"; then + \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2 + func_lt_dump_args \${1+\"\$@\"} 1>&2 + fi + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $ECHO "\ + \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 + exit 1 +} + +# A function to encapsulate launching the target application +# Strips options in the --lt-* namespace from \$@ and +# launches target application with the remaining arguments. +func_exec_program () +{ + case \" \$* \" in + *\\ --lt-*) + for lt_wr_arg + do + case \$lt_wr_arg in + --lt-*) ;; + *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; + esac + shift + done ;; + esac + func_exec_program_core \${1+\"\$@\"} +} + + # Parse options + func_parse_lt_options \"\$0\" \${1+\"\$@\"} + + # Find the directory that this script lives in. + thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` + done + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 + if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then + # special case for '.' + if test \"\$thisdir\" = \".\"; then + thisdir=\`pwd\` + fi + # remove .libs from thisdir + case \"\$thisdir\" in + *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; + $objdir ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test yes = "$fast_install"; then + $ECHO "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $MKDIR \"\$progdir\" + else + $RM \"\$progdir/\$file\" + fi" + + $ECHO "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + \$ECHO \"\$relink_command_output\" >&2 + $RM \"\$progdir/\$file\" + exit 1 + fi + fi + + $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $RM \"\$progdir/\$program\"; + $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $RM \"\$progdir/\$file\" + fi" + else + $ECHO "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $ECHO "\ + + if test -f \"\$progdir/\$program\"; then" + + # fixup the dll searchpath if we need to. + # + # Fix the DLL searchpath if we need to. Do this before prepending + # to shlibpath, because on Windows, both are PATH and uninstalled + # libraries must come first. + if test -n "$dllsearchpath"; then + $ECHO "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + # Export our shlibpath_var if we have one. + if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $ECHO "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` + + export $shlibpath_var +" + fi + + $ECHO "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. + func_exec_program \${1+\"\$@\"} + fi + else + # The program doesn't exist. + \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2 + \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 + \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 + exit 1 + fi +fi\ +" +} + + +# func_emit_cwrapperexe_src +# emit the source code for a wrapper executable on stdout +# Must ONLY be called from within func_mode_link because +# it depends on a number of variable set therein. +func_emit_cwrapperexe_src () +{ + cat < +#include +#ifdef _MSC_VER +# include +# include +# include +#else +# include +# include +# ifdef __CYGWIN__ +# include +# endif +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0) + +/* declarations of non-ANSI functions */ +#if defined __MINGW32__ +# ifdef __STRICT_ANSI__ +int _putenv (const char *); +# endif +#elif defined __CYGWIN__ +# ifdef __STRICT_ANSI__ +char *realpath (const char *, char *); +int putenv (char *); +int setenv (const char *, const char *, int); +# endif +/* #elif defined other_platform || defined ... */ +#endif + +/* portability defines, excluding path handling macros */ +#if defined _MSC_VER +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +# define S_IXUSR _S_IEXEC +#elif defined __MINGW32__ +# define setmode _setmode +# define stat _stat +# define chmod _chmod +# define getcwd _getcwd +# define putenv _putenv +#elif defined __CYGWIN__ +# define HAVE_SETENV +# define FOPEN_WB "wb" +/* #elif defined other platforms ... */ +#endif + +#if defined PATH_MAX +# define LT_PATHMAX PATH_MAX +#elif defined MAXPATHLEN +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef S_IXOTH +# define S_IXOTH 0 +#endif +#ifndef S_IXGRP +# define S_IXGRP 0 +#endif + +/* path handling portability macros */ +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \ + defined __OS2__ +# define HAVE_DOS_BASED_FILE_SYSTEM +# define FOPEN_WB "wb" +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#ifndef FOPEN_WB +# define FOPEN_WB "w" +#endif +#ifndef _O_BINARY +# define _O_BINARY 0 +#endif + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free (stale); stale = 0; } \ +} while (0) + +#if defined LT_DEBUGWRAPPER +static int lt_debug = 1; +#else +static int lt_debug = 0; +#endif + +const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ + +void *xmalloc (size_t num); +char *xstrdup (const char *string); +const char *base_name (const char *name); +char *find_executable (const char *wrapper); +char *chase_symlinks (const char *pathspec); +int make_executable (const char *path); +int check_executable (const char *path); +char *strendzap (char *str, const char *pat); +void lt_debugprintf (const char *file, int line, const char *fmt, ...); +void lt_fatal (const char *file, int line, const char *message, ...); +static const char *nonnull (const char *s); +static const char *nonempty (const char *s); +void lt_setenv (const char *name, const char *value); +char *lt_extend_str (const char *orig_value, const char *add, int to_end); +void lt_update_exe_path (const char *name, const char *value); +void lt_update_lib_path (const char *name, const char *value); +char **prepare_spawn (char **argv); +void lt_dump_script (FILE *f); +EOF + + cat <= 0) + && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) + return 1; + else + return 0; +} + +int +make_executable (const char *path) +{ + int rval = 0; + struct stat st; + + lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", + nonempty (path)); + if ((!path) || (!*path)) + return 0; + + if (stat (path, &st) >= 0) + { + rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); + } + return rval; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise + Does not chase symlinks, even on platforms that support them. +*/ +char * +find_executable (const char *wrapper) +{ + int has_slash = 0; + const char *p; + const char *p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + size_t tmp_len; + char *concat_name; + + lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", + nonempty (wrapper)); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined HAVE_DOS_BASED_FILE_SYSTEM + if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } +#if defined HAVE_DOS_BASED_FILE_SYSTEM + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char *path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char *q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR (*q)) + break; + p_len = (size_t) (q - p); + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = + XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = + XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", + nonnull (strerror (errno))); + tmp_len = strlen (tmp); + concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable (concat_name)) + return concat_name; + XFREE (concat_name); + return NULL; +} + +char * +chase_symlinks (const char *pathspec) +{ +#ifndef S_ISLNK + return xstrdup (pathspec); +#else + char buf[LT_PATHMAX]; + struct stat s; + char *tmp_pathspec = xstrdup (pathspec); + char *p; + int has_symlinks = 0; + while (strlen (tmp_pathspec) && !has_symlinks) + { + lt_debugprintf (__FILE__, __LINE__, + "checking path component for symlinks: %s\n", + tmp_pathspec); + if (lstat (tmp_pathspec, &s) == 0) + { + if (S_ISLNK (s.st_mode) != 0) + { + has_symlinks = 1; + break; + } + + /* search backwards for last DIR_SEPARATOR */ + p = tmp_pathspec + strlen (tmp_pathspec) - 1; + while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + p--; + if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) + { + /* no more DIR_SEPARATORS left */ + break; + } + *p = '\0'; + } + else + { + lt_fatal (__FILE__, __LINE__, + "error accessing file \"%s\": %s", + tmp_pathspec, nonnull (strerror (errno))); + } + } + XFREE (tmp_pathspec); + + if (!has_symlinks) + { + return xstrdup (pathspec); + } + + tmp_pathspec = realpath (pathspec, buf); + if (tmp_pathspec == 0) + { + lt_fatal (__FILE__, __LINE__, + "could not follow symlinks for %s", pathspec); + } + return xstrdup (tmp_pathspec); +#endif +} + +char * +strendzap (char *str, const char *pat) +{ + size_t len, patlen; + + assert (str != NULL); + assert (pat != NULL); + + len = strlen (str); + patlen = strlen (pat); + + if (patlen <= len) + { + str += len - patlen; + if (STREQ (str, pat)) + *str = '\0'; + } + return str; +} + +void +lt_debugprintf (const char *file, int line, const char *fmt, ...) +{ + va_list args; + if (lt_debug) + { + (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); + va_start (args, fmt); + (void) vfprintf (stderr, fmt, args); + va_end (args); + } +} + +static void +lt_error_core (int exit_status, const char *file, + int line, const char *mode, + const char *message, va_list ap) +{ + fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *file, int line, const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); + va_end (ap); +} + +static const char * +nonnull (const char *s) +{ + return s ? s : "(null)"; +} + +static const char * +nonempty (const char *s) +{ + return (s && !*s) ? "(empty)" : nonnull (s); +} + +void +lt_setenv (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_setenv) setting '%s' to '%s'\n", + nonnull (name), nonnull (value)); + { +#ifdef HAVE_SETENV + /* always make a copy, for consistency with !HAVE_SETENV */ + char *str = xstrdup (value); + setenv (name, str, 1); +#else + size_t len = strlen (name) + 1 + strlen (value) + 1; + char *str = XMALLOC (char, len); + sprintf (str, "%s=%s", name, value); + if (putenv (str) != EXIT_SUCCESS) + { + XFREE (str); + } +#endif + } +} + +char * +lt_extend_str (const char *orig_value, const char *add, int to_end) +{ + char *new_value; + if (orig_value && *orig_value) + { + size_t orig_value_len = strlen (orig_value); + size_t add_len = strlen (add); + new_value = XMALLOC (char, add_len + orig_value_len + 1); + if (to_end) + { + strcpy (new_value, orig_value); + strcpy (new_value + orig_value_len, add); + } + else + { + strcpy (new_value, add); + strcpy (new_value + add_len, orig_value); + } + } + else + { + new_value = xstrdup (add); + } + return new_value; +} + +void +lt_update_exe_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + /* some systems can't cope with a ':'-terminated path #' */ + size_t len = strlen (new_value); + while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1])) + { + new_value[--len] = '\0'; + } + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +void +lt_update_lib_path (const char *name, const char *value) +{ + lt_debugprintf (__FILE__, __LINE__, + "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", + nonnull (name), nonnull (value)); + + if (name && *name && value && *value) + { + char *new_value = lt_extend_str (getenv (name), value, 0); + lt_setenv (name, new_value); + XFREE (new_value); + } +} + +EOF + case $host_os in + mingw*) + cat <<"EOF" + +/* Prepares an argument vector before calling spawn(). + Note that spawn() does not by itself call the command interpreter + (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : + ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + GetVersionEx(&v); + v.dwPlatformId == VER_PLATFORM_WIN32_NT; + }) ? "cmd.exe" : "command.com"). + Instead it simply concatenates the arguments, separated by ' ', and calls + CreateProcess(). We must quote the arguments since Win32 CreateProcess() + interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a + special way: + - Space and tab are interpreted as delimiters. They are not treated as + delimiters if they are surrounded by double quotes: "...". + - Unescaped double quotes are removed from the input. Their only effect is + that within double quotes, space and tab are treated like normal + characters. + - Backslashes not followed by double quotes are not special. + - But 2*n+1 backslashes followed by a double quote become + n backslashes followed by a double quote (n >= 0): + \" -> " + \\\" -> \" + \\\\\" -> \\" + */ +#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" +char ** +prepare_spawn (char **argv) +{ + size_t argc; + char **new_argv; + size_t i; + + /* Count number of arguments. */ + for (argc = 0; argv[argc] != NULL; argc++) + ; + + /* Allocate new argument vector. */ + new_argv = XMALLOC (char *, argc + 1); + + /* Put quoted arguments into the new argument vector. */ + for (i = 0; i < argc; i++) + { + const char *string = argv[i]; + + if (string[0] == '\0') + new_argv[i] = xstrdup ("\"\""); + else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) + { + int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); + size_t length; + unsigned int backslashes; + const char *s; + char *quoted_string; + char *p; + + length = 0; + backslashes = 0; + if (quote_around) + length++; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + length += backslashes + 1; + length++; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + length += backslashes + 1; + + quoted_string = XMALLOC (char, length + 1); + + p = quoted_string; + backslashes = 0; + if (quote_around) + *p++ = '"'; + for (s = string; *s != '\0'; s++) + { + char c = *s; + if (c == '"') + { + unsigned int j; + for (j = backslashes + 1; j > 0; j--) + *p++ = '\\'; + } + *p++ = c; + if (c == '\\') + backslashes++; + else + backslashes = 0; + } + if (quote_around) + { + unsigned int j; + for (j = backslashes; j > 0; j--) + *p++ = '\\'; + *p++ = '"'; + } + *p = '\0'; + + new_argv[i] = quoted_string; + } + else + new_argv[i] = (char *) string; + } + new_argv[argc] = NULL; + + return new_argv; +} +EOF + ;; + esac + + cat <<"EOF" +void lt_dump_script (FILE* f) +{ +EOF + func_emit_wrapper yes | + $SED -n -e ' +s/^\(.\{79\}\)\(..*\)/\1\ +\2/ +h +s/\([\\"]\)/\\\1/g +s/$/\\n/ +s/\([^\n]*\).*/ fputs ("\1", f);/p +g +D' + cat <<"EOF" +} +EOF +} +# end: func_emit_cwrapperexe_src + +# func_win32_import_lib_p ARG +# True if ARG is an import lib, as indicated by $file_magic_cmd +func_win32_import_lib_p () +{ + $debug_cmd + + case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in + *import*) : ;; + *) false ;; + esac +} + +# func_suncc_cstd_abi +# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!! +# Several compiler flags select an ABI that is incompatible with the +# Cstd library. Avoid specifying it if any are in CXXFLAGS. +func_suncc_cstd_abi () +{ + $debug_cmd + + case " $compile_command " in + *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*) + suncc_use_cstd_abi=no + ;; + *) + suncc_use_cstd_abi=yes + ;; + esac +} + +# func_mode_link arg... +func_mode_link () +{ + $debug_cmd + + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # what system we are compiling for in order to pass an extra + # flag for every libtool invocation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll that has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + ;; + *) + allow_undefined=yes + ;; + esac + libtool_args=$nonopt + base_compile="$nonopt $@" + compile_command=$nonopt + finalize_command=$nonopt + + compile_rpath= + finalize_rpath= + compile_shlibpath= + finalize_shlibpath= + convenience= + old_convenience= + deplibs= + old_deplibs= + compiler_flags= + linker_flags= + dllsearchpath= + lib_search_path=`pwd` + inst_prefix_dir= + new_inherited_linker_flags= + + avoid_version=no + bindir= + dlfiles= + dlprefiles= + dlself=no + export_dynamic=no + export_symbols= + export_symbols_regex= + generated= + libobjs= + ltlibs= + module=no + no_install=no + objs= + os2dllname= + non_pic_objects= + precious_files_regex= + prefer_static_libs=no + preload=false + prev= + prevarg= + release= + rpath= + xrpath= + perm_rpath= + temp_rpath= + thread_safe=no + vinfo= + vinfo_number=no + weak_libs= + single_module=$wl-single_module + func_infer_tag $base_compile + + # We need to know -static, to get the right output filenames. + for arg + do + case $arg in + -shared) + test yes != "$build_libtool_libs" \ + && func_fatal_configuration "cannot build a shared library" + build_old_libs=no + break + ;; + -all-static | -static | -static-libtool-libs) + case $arg in + -all-static) + if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then + func_warning "complete static linking is impossible in this configuration" + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg=$1 + shift + func_quote_arg pretty,unquoted "$arg" + qarg=$func_quote_arg_unquoted_result + func_append libtool_args " $func_quote_arg_result" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + func_append compile_command " @OUTPUT@" + func_append finalize_command " @OUTPUT@" + ;; + esac + + case $prev in + bindir) + bindir=$arg + prev= + continue + ;; + dlfiles|dlprefiles) + $preload || { + # Add the symbol object into the linking commands. + func_append compile_command " @SYMFILE@" + func_append finalize_command " @SYMFILE@" + preload=: + } + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test no = "$dlself"; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test dlprefiles = "$prev"; then + dlself=yes + elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test dlfiles = "$prev"; then + func_append dlfiles " $arg" + else + func_append dlprefiles " $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols=$arg + test -f "$arg" \ + || func_fatal_error "symbol file '$arg' does not exist" + prev= + continue + ;; + expsyms_regex) + export_symbols_regex=$arg + prev= + continue + ;; + framework) + case $host in + *-*-darwin*) + case "$deplibs " in + *" $qarg.ltframework "*) ;; + *) func_append deplibs " $qarg.ltframework" # this is fixed later + ;; + esac + ;; + esac + prev= + continue + ;; + inst_prefix) + inst_prefix_dir=$arg + prev= + continue + ;; + mllvm) + # Clang does not use LLVM to link, so we can simply discard any + # '-mllvm $arg' options when doing the link step. + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat "$save_arg"` + do +# func_append moreargs " $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + if test none != "$pic_object"; then + # Prepend the subdirectory the object is found in. + pic_object=$xdir$pic_object + + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test dlprefiles = "$prev"; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg=$pic_object + fi + + # Non-PIC object. + if test none != "$non_pic_object"; then + # Prepend the subdirectory the object is found in. + non_pic_object=$xdir$non_pic_object + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object=$pic_object + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "'$arg' is not a valid libtool object" + fi + fi + done + else + func_fatal_error "link input file '$arg' does not exist" + fi + arg=$save_arg + prev= + continue + ;; + os2dllname) + os2dllname=$arg + prev= + continue + ;; + precious_regex) + precious_files_regex=$arg + prev= + continue + ;; + release) + release=-$arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + if test rpath = "$prev"; then + case "$rpath " in + *" $arg "*) ;; + *) func_append rpath " $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) func_append xrpath " $arg" ;; + esac + fi + prev= + continue + ;; + shrext) + shrext_cmds=$arg + prev= + continue + ;; + weak) + func_append weak_libs " $arg" + prev= + continue + ;; + xassembler) + func_append compiler_flags " -Xassembler $qarg" + prev= + func_append compile_command " -Xassembler $qarg" + func_append finalize_command " -Xassembler $qarg" + continue + ;; + xcclinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xcompiler) + func_append compiler_flags " $qarg" + prev= + func_append compile_command " $qarg" + func_append finalize_command " $qarg" + continue + ;; + xlinker) + func_append linker_flags " $qarg" + func_append compiler_flags " $wl$qarg" + prev= + func_append compile_command " $wl$qarg" + func_append finalize_command " $wl$qarg" + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg=$arg + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + # See comment for -static flag below, for more details. + func_append compile_command " $link_static_flag" + func_append finalize_command " $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + func_fatal_error "'-allow-undefined' must not be used because it is the default" + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -bindir) + prev=bindir + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + func_fatal_error "more than one -exported-symbols argument is not allowed" + fi + if test X-export-symbols = "X$arg"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework) + prev=framework + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + func_append compile_command " $arg" + func_append finalize_command " $arg" + ;; + esac + continue + ;; + + -L*) + func_stripname "-L" '' "$arg" + if test -z "$func_stripname_result"; then + if test "$#" -gt 0; then + func_fatal_error "require no space between '-L' and '$1'" + else + func_fatal_error "need path for '-L' option" + fi + fi + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + test -z "$absdir" && \ + func_fatal_error "cannot determine absolute directory name of '$dir'" + dir=$absdir + ;; + esac + case "$deplibs " in + *" -L$dir "* | *" $arg "*) + # Will only happen for absolute or sysroot arguments + ;; + *) + # Preserve sysroot, but never include relative directories + case $dir in + [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; + *) func_append deplibs " -L$dir" ;; + esac + func_append lib_search_path " $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + ::) dllsearchpath=$dir;; + *) func_append dllsearchpath ":$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test X-lc = "X$arg" || test X-lm = "X$arg"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test X-lc = "X$arg" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) + # Do not include libc due to us having libc/libc_r. + test X-lc = "X$arg" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + func_append deplibs " System.ltframework" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test X-lc = "X$arg" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test X-lc = "X$arg" && continue + ;; + esac + elif test X-lc_r = "X$arg"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + func_append deplibs " $arg" + continue + ;; + + -mllvm) + prev=mllvm + continue + ;; + + -module) + module=yes + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + # Darwin uses the -arch flag to determine output architecture. + -model|-arch|-isysroot|--sysroot) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + prev=xcompiler + continue + ;; + # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199. + -pthread) + case $host in + *solaris2*) ;; + *) + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + ;; + esac + continue + ;; + -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + func_append compiler_flags " $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case "$new_inherited_linker_flags " in + *" $arg "*) ;; + * ) func_append new_inherited_linker_flags " $arg" ;; + esac + continue + ;; + + -multi_module) + single_module=$wl-multi_module + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) + # The PATH hackery in wrapper scripts is required on Windows + # and Darwin in order for the loader to find any dlls it needs. + func_warning "'-no-install' is ignored for $host" + func_warning "assuming '-no-fast-install' instead" + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -os2dllname) + prev=os2dllname + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + func_stripname '-R' '' "$arg" + dir=$func_stripname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + =*) + func_stripname '=' '' "$dir" + dir=$lt_sysroot$func_stripname_result + ;; + *) + func_fatal_error "only absolute run-paths are allowed" + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + continue + ;; + + -shared) + # The effects of -shared are defined in a previous loop. + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -weak) + prev=weak + continue + ;; + + -Wc,*) + func_stripname '-Wc,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs=$IFS; IFS=, + for flag in $args; do + IFS=$save_ifs + func_quote_arg pretty "$flag" + func_append arg " $func_quote_arg_result" + func_append compiler_flags " $func_quote_arg_result" + done + IFS=$save_ifs + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Wl,*) + func_stripname '-Wl,' '' "$arg" + args=$func_stripname_result + arg= + save_ifs=$IFS; IFS=, + for flag in $args; do + IFS=$save_ifs + func_quote_arg pretty "$flag" + func_append arg " $wl$func_quote_arg_result" + func_append compiler_flags " $wl$func_quote_arg_result" + func_append linker_flags " $func_quote_arg_result" + done + IFS=$save_ifs + func_stripname ' ' '' "$arg" + arg=$func_stripname_result + ;; + + -Xassembler) + prev=xassembler + continue + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # -msg_* for osf cc + -msg_*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + ;; + + # Flags to be passed through unchanged, with rationale: + # -64, -mips[0-9] enable 64-bit mode for the SGI compiler + # -r[0-9][0-9]* specify processor for the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler + # +DA*, +DD* enable 64-bit mode for the HP compiler + # -q* compiler args for the IBM compiler + # -m*, -t[45]*, -txscale* architecture-specific flags for GCC + # -F/path path to uninstalled frameworks, gcc on darwin + # -p, -pg, --coverage, -fprofile-* profiling flags for GCC + # -fstack-protector* stack protector flags for GCC + # @file GCC response files + # -tp=* Portland pgcc target processor selection + # --sysroot=* for sysroot support + # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -specs=* GCC specs files + # -stdlib=* select c++ std lib with clang + # -fsanitize=* Clang/GCC memory and address sanitizer + # -fuse-ld=* Linker select flags for GCC + # -static-* direct GCC to link specific libraries statically + # -fcilkplus Cilk Plus language extension features for C/C++ + # -Wa,* Pass flags directly to the assembler + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ + -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ + -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ + -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus|-Wa,*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + func_append compile_command " $arg" + func_append finalize_command " $arg" + func_append compiler_flags " $arg" + continue + ;; + + -Z*) + if test os2 = "`expr $host : '.*\(os2\)'`"; then + # OS/2 uses -Zxxx to specify OS/2-specific options + compiler_flags="$compiler_flags $arg" + func_append compile_command " $arg" + func_append finalize_command " $arg" + case $arg in + -Zlinker | -Zstack) + prev=xcompiler + ;; + esac + continue + else + # Otherwise treat like 'Some other compiler flag' below + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + fi + ;; + + # Some other compiler flag. + -* | +*) + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + ;; + + *.$objext) + # A standard object. + func_append objs " $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if func_lalib_unsafe_p "$arg"; then + pic_object= + non_pic_object= + + # Read the .lo file + func_source "$arg" + + if test -z "$pic_object" || + test -z "$non_pic_object" || + test none = "$pic_object" && + test none = "$non_pic_object"; then + func_fatal_error "cannot find name of object for '$arg'" + fi + + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + test none = "$pic_object" || { + # Prepend the subdirectory the object is found in. + pic_object=$xdir$pic_object + + if test dlfiles = "$prev"; then + if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then + func_append dlfiles " $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test dlprefiles = "$prev"; then + # Preload the old-style object. + func_append dlprefiles " $pic_object" + prev= + fi + + # A PIC object. + func_append libobjs " $pic_object" + arg=$pic_object + } + + # Non-PIC object. + if test none != "$non_pic_object"; then + # Prepend the subdirectory the object is found in. + non_pic_object=$xdir$non_pic_object + + # A standard non-PIC object + func_append non_pic_objects " $non_pic_object" + if test -z "$pic_object" || test none = "$pic_object"; then + arg=$non_pic_object + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object=$pic_object + func_append non_pic_objects " $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if $opt_dry_run; then + # Extract subdirectory from the argument. + func_dirname "$arg" "/" "" + xdir=$func_dirname_result + + func_lo2o "$arg" + pic_object=$xdir$objdir/$func_lo2o_result + non_pic_object=$xdir$func_lo2o_result + func_append libobjs " $pic_object" + func_append non_pic_objects " $non_pic_object" + else + func_fatal_error "'$arg' is not a valid libtool object" + fi + fi + ;; + + *.$libext) + # An archive. + func_append deplibs " $arg" + func_append old_deplibs " $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + func_resolve_sysroot "$arg" + if test dlfiles = "$prev"; then + # This library was specified with -dlopen. + func_append dlfiles " $func_resolve_sysroot_result" + prev= + elif test dlprefiles = "$prev"; then + # The library was specified with -dlpreopen. + func_append dlprefiles " $func_resolve_sysroot_result" + prev= + else + func_append deplibs " $func_resolve_sysroot_result" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + func_quote_arg pretty "$arg" + arg=$func_quote_arg_result + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + done # argument parsing loop + + test -n "$prev" && \ + func_fatal_help "the '$prevarg' option requires an argument" + + if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + func_append compile_command " $arg" + func_append finalize_command " $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + func_basename "$output" + outputname=$func_basename_result + libobjs_save=$libobjs + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + # Definition is injected by LT_CONFIG during libtool generation. + func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH" + + func_dirname "$output" "/" "" + output_objdir=$func_dirname_result$objdir + func_to_tool_file "$output_objdir/" + tool_output_objdir=$func_to_tool_file_result + # Create the object directory. + func_mkdir_p "$output_objdir" + + # Determine the type of output + case $output in + "") + func_fatal_help "you must specify an output file" + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if $opt_preserve_dup_deps; then + case "$libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append libs " $deplib" + done + + if test lib = "$linkmode"; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if $opt_duplicate_compiler_generated_deps; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; + esac + func_append pre_post_deps " $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + notinst_path= # paths that contain not-installed libtool libraries + + case $linkmode in + lib) + passes="conv dlpreopen link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + func_fatal_help "libraries can '-dlopen' only libtool libraries: $file" + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=false + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + + for pass in $passes; do + # The preopen pass in lib mode reverses $deplibs; put it back here + # so that -L comes before libs that need it for instance... + if test lib,link = "$linkmode,$pass"; then + ## FIXME: Find the place where the list is rebuilt in the wrong + ## order, and fix it there properly + tmp_deplibs= + for deplib in $deplibs; do + tmp_deplibs="$deplib $tmp_deplibs" + done + deplibs=$tmp_deplibs + fi + + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass"; then + libs=$deplibs + deplibs= + fi + if test prog = "$linkmode"; then + case $pass in + dlopen) libs=$dlfiles ;; + dlpreopen) libs=$dlprefiles ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; + esac + fi + if test lib,dlpreopen = "$linkmode,$pass"; then + # Collect and forward deplibs of preopened libtool libs + for lib in $dlprefiles; do + # Ignore non-libtool-libs + dependency_libs= + func_resolve_sysroot "$lib" + case $lib in + *.la) func_source "$func_resolve_sysroot_result" ;; + esac + + # Collect preopened libtool deplibs, except any this library + # has declared as weak libs + for deplib in $dependency_libs; do + func_basename "$deplib" + deplib_base=$func_basename_result + case " $weak_libs " in + *" $deplib_base "*) ;; + *) func_append deplibs " $deplib" ;; + esac + done + done + libs=$dlprefiles + fi + if test dlopen = "$pass"; then + # Collect dlpreopened libraries + save_deplibs=$deplibs + deplibs= + fi + + for deplib in $libs; do + lib= + found=false + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ + |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append compiler_flags " $deplib" + if test lib = "$linkmode"; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -l*) + if test lib != "$linkmode" && test prog != "$linkmode"; then + func_warning "'-l' is ignored for archives/objects" + continue + fi + func_stripname '-l' '' "$deplib" + name=$func_stripname_result + if test lib = "$linkmode"; then + searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" + else + searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" + fi + for searchdir in $searchdirs; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib=$searchdir/lib$name$search_ext + if test -f "$lib"; then + if test .la = "$search_ext"; then + found=: + else + found=false + fi + break 2 + fi + done + done + if $found; then + # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $deplib "*) + if func_lalib_p "$lib"; then + library_names= + old_library= + func_source "$lib" + for l in $old_library $library_names; do + ll=$l + done + if test "X$ll" = "X$old_library"; then # only static version available + found=false + func_dirname "$lib" "" "." + ladir=$func_dirname_result + lib=$ladir/$old_library + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + else + # deplib doesn't seem to be a libtool library + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + ;; # -l + *.ltframework) + if test prog,link = "$linkmode,$pass"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + if test lib = "$linkmode"; then + case "$new_inherited_linker_flags " in + *" $deplib "*) ;; + * ) func_append new_inherited_linker_flags " $deplib" ;; + esac + fi + fi + continue + ;; + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test conv = "$pass" && continue + newdependency_libs="$deplib $newdependency_libs" + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + prog) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + continue + fi + if test scan = "$pass"; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + *) + func_warning "'-L' is ignored for archives/objects" + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test link = "$pass"; then + func_stripname '-R' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + dir=$func_resolve_sysroot_result + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) func_append xrpath " $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) + func_resolve_sysroot "$deplib" + lib=$func_resolve_sysroot_result + ;; + *.$libext) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + # Linking convenience modules into shared libraries is allowed, + # but linking other static libraries is non-portable. + case " $dlpreconveniencelibs " in + *" $deplib "*) ;; + *) + valid_a_lib=false + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=: + fi + ;; + pass_all) + valid_a_lib=: + ;; + esac + if $valid_a_lib; then + echo + $ECHO "*** Warning: Linking the shared library $output against the" + $ECHO "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + else + echo + $ECHO "*** Warning: Trying to link with static lib archive $deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because the file extensions .$libext of this argument makes me believe" + echo "*** that it is just a static archive that I should not use here." + fi + ;; + esac + continue + ;; + prog) + if test link != "$pass"; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test conv = "$pass"; then + deplibs="$deplib $deplibs" + elif test prog = "$linkmode"; then + if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + func_append newdlprefiles " $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + func_append newdlfiles " $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=: + continue + ;; + esac # case $deplib + + $found || test -f "$lib" \ + || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'" + + # Check to see that this really is a libtool archive. + func_lalib_unsafe_p "$lib" \ + || func_fatal_error "'$lib' is not a valid libtool archive" + + func_dirname "$lib" "" "." + ladir=$func_dirname_result + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + inherited_linker_flags= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + func_source "$lib" + + # Convert "-framework foo" to "foo.ltframework" + if test -n "$inherited_linker_flags"; then + tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` + for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do + case " $new_inherited_linker_flags " in + *" $tmp_inherited_linker_flag "*) ;; + *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; + esac + done + fi + dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + if test lib,link = "$linkmode,$pass" || + test prog,scan = "$linkmode,$pass" || + { test prog != "$linkmode" && test lib != "$linkmode"; }; then + test -n "$dlopen" && func_append dlfiles " $dlopen" + test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" + fi + + if test conv = "$pass"; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + func_fatal_error "cannot find name of link library for '$lib'" + fi + # It is a libtool convenience library, so add in its objects. + func_append convenience " $ladir/$objdir/$old_library" + func_append old_convenience " $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done + elif test prog != "$linkmode" && test lib != "$linkmode"; then + func_fatal_error "'$lib' is not a convenience library" + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + if test -n "$old_library" && + { test yes = "$prefer_static_libs" || + test built,no = "$prefer_static_libs,$installed"; }; then + linklib=$old_library + else + for l in $old_library $library_names; do + linklib=$l + done + fi + if test -z "$linklib"; then + func_fatal_error "cannot find name of link library for '$lib'" + fi + + # This library was specified with -dlopen. + if test dlopen = "$pass"; then + test -z "$libdir" \ + && func_fatal_error "cannot -dlopen a convenience library: '$lib'" + if test -z "$dlname" || + test yes != "$dlopen_support" || + test no = "$build_libtool_libs" + then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + func_append dlprefiles " $lib $dependency_libs" + else + func_append newdlfiles " $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + func_warning "cannot determine absolute directory name of '$ladir'" + func_warning "passing it literally to the linker, although it might fail" + abs_ladir=$ladir + fi + ;; + esac + func_basename "$lib" + laname=$func_basename_result + + # Find the relevant object directory and library name. + if test yes = "$installed"; then + if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + func_warning "library '$lib' was moved." + dir=$ladir + absdir=$abs_ladir + libdir=$abs_ladir + else + dir=$lt_sysroot$libdir + absdir=$lt_sysroot$libdir + fi + test yes = "$hardcode_automatic" && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir=$ladir + absdir=$abs_ladir + # Remove this search path later + func_append notinst_path " $abs_ladir" + else + dir=$ladir/$objdir + absdir=$abs_ladir/$objdir + # Remove this search path later + func_append notinst_path " $abs_ladir" + fi + fi # $installed = yes + func_stripname 'lib' '.la' "$laname" + name=$func_stripname_result + + # This library was specified with -dlpreopen. + if test dlpreopen = "$pass"; then + if test -z "$libdir" && test prog = "$linkmode"; then + func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'" + fi + case $host in + # special handling for platforms with PE-DLLs. + *cygwin* | *mingw* | *cegcc* ) + # Linker will automatically link against shared library if both + # static and shared are present. Therefore, ensure we extract + # symbols from the import library if a shared library is present + # (otherwise, the dlopen module name will be incorrect). We do + # this by putting the import library name into $newdlprefiles. + # We recover the dlopen module name by 'saving' the la file + # name in a special purpose variable, and (later) extracting the + # dlname from the la file. + if test -n "$dlname"; then + func_tr_sh "$dir/$linklib" + eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" + func_append newdlprefiles " $dir/$linklib" + else + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + fi + ;; + * ) + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + func_append newdlprefiles " $dir/$old_library" + # Keep a list of preopened convenience libraries to check + # that they are being used correctly in the link pass. + test -z "$libdir" && \ + func_append dlpreconveniencelibs " $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + func_append newdlprefiles " $dir/$dlname" + else + func_append newdlprefiles " $dir/$linklib" + fi + ;; + esac + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test lib = "$linkmode"; then + deplibs="$dir/$old_library $deplibs" + elif test prog,link = "$linkmode,$pass"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test prog = "$linkmode" && test link != "$pass"; then + func_append newlib_search_path " $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=false + if test no != "$link_all_deplibs" || test -z "$library_names" || + test no = "$build_libtool_libs"; then + linkalldeplibs=: + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result" + func_append newlib_search_path " $func_resolve_sysroot_result" + ;; + esac + # Need to link against all dependency_libs? + if $linkalldeplibs; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test prog,link = "$linkmode,$pass"; then + if test -n "$library_names" && + { { test no = "$prefer_static_libs" || + test built,yes = "$prefer_static_libs,$installed"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then + # Make sure the rpath contains only unique directories. + case $temp_rpath: in + *"$absdir:"*) ;; + *) func_append temp_rpath "$absdir:" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if $alldeplibs && + { test pass_all = "$deplibs_check_method" || + { test yes = "$build_libtool_libs" && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test built = "$use_static_libs" && test yes = "$installed"; then + use_static_libs=no + fi + if test -n "$library_names" && + { test no = "$use_static_libs" || test -z "$old_library"; }; then + case $host in + *cygwin* | *mingw* | *cegcc* | *os2*) + # No point in relinking DLLs because paths are not encoded + func_append notinst_deplibs " $lib" + need_relink=no + ;; + *) + if test no = "$installed"; then + func_append notinst_deplibs " $lib" + need_relink=yes + fi + ;; + esac + # This is a shared library + + # Warn about portability, can't link against -module's on some + # systems (darwin). Don't bleat about dlopened modules though! + dlopenmodule= + for dlpremoduletest in $dlprefiles; do + if test "X$dlpremoduletest" = "X$lib"; then + dlopenmodule=$dlpremoduletest + break + fi + done + if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then + echo + if test prog = "$linkmode"; then + $ECHO "*** Warning: Linking the executable $output against the loadable module" + else + $ECHO "*** Warning: Linking the shared library $output against the loadable module" + fi + $ECHO "*** $linklib is not portable!" + fi + if test lib = "$linkmode" && + test yes = "$hardcode_into_libs"; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) func_append compile_rpath " $absdir" ;; + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + shift + realname=$1 + shift + libname=`eval "\\$ECHO \"$libname_spec\""` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname=$dlname + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw* | *cegcc* | *os2*) + func_arith $current - $age + major=$func_arith_result + versuffix=-$major + ;; + esac + eval soname=\"$soname_spec\" + else + soname=$realname + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot=$soname + func_basename "$soroot" + soname=$func_basename_result + func_stripname 'lib' '.dll' "$soname" + newlib=libimp-$func_stripname_result.a + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + func_verbose "extracting exported symbol list from '$soname'" + func_execute_cmds "$extract_expsyms_cmds" 'exit $?' + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + func_verbose "generating import library for '$soname'" + func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test prog = "$linkmode" || test relink != "$opt_mode"; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test no = "$hardcode_direct"; then + add=$dir/$linklib + case $host in + *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; + *-*-sysv4*uw2*) add_dir=-L$dir ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir=-L$dir ;; + *-*-darwin* ) + # if the lib is a (non-dlopened) module then we cannot + # link against it, someone is ignoring the earlier warnings + if /usr/bin/file -L $add 2> /dev/null | + $GREP ": [^:]* bundle" >/dev/null; then + if test "X$dlopenmodule" != "X$lib"; then + $ECHO "*** Warning: lib $linklib is a module, not a shared library" + if test -z "$old_library"; then + echo + echo "*** And there doesn't seem to be a static archive available" + echo "*** The link will probably fail, sorry" + else + add=$dir/$old_library + fi + elif test -n "$old_library"; then + add=$dir/$old_library + fi + fi + esac + elif test no = "$hardcode_minus_L"; then + case $host in + *-*-sunos*) add_shlibpath=$dir ;; + esac + add_dir=-L$dir + add=-l$name + elif test no = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name + else + lib_linked=no + fi + ;; + relink) + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$dir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$absdir + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then + add_shlibpath=$dir + add=-l$name + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test yes != "$lib_linked"; then + func_fatal_configuration "unsupported hardcode properties" + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) func_append compile_shlibpath "$add_shlibpath:" ;; + esac + fi + if test prog = "$linkmode"; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test yes != "$hardcode_direct" && + test yes != "$hardcode_minus_L" && + test yes = "$hardcode_shlibpath_var"; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + fi + fi + fi + + if test prog = "$linkmode" || test relink = "$opt_mode"; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test yes = "$hardcode_direct" && + test no = "$hardcode_direct_absolute"; then + add=$libdir/$linklib + elif test yes = "$hardcode_minus_L"; then + add_dir=-L$libdir + add=-l$name + elif test yes = "$hardcode_shlibpath_var"; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; + esac + add=-l$name + elif test yes = "$hardcode_automatic"; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib"; then + add=$inst_prefix_dir$libdir/$linklib + else + add=$libdir/$linklib + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir=-L$libdir + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + func_append add_dir " -L$inst_prefix_dir$libdir" + ;; + esac + fi + add=-l$name + fi + + if test prog = "$linkmode"; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test prog = "$linkmode"; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test unsupported != "$hardcode_direct"; then + test -n "$old_library" && linklib=$old_library + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test yes = "$build_libtool_libs"; then + # Not a shared library + if test pass_all != "$deplibs_check_method"; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + echo + $ECHO "*** Warning: This system cannot link to static lib archive $lib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + if test yes = "$module"; then + echo "*** But as you try to build a module library, libtool will still create " + echo "*** a static module, that should work as long as the dlopening application" + echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** 'nm' from GNU binutils and a full rebuild may help." + fi + if test no = "$build_old_libs"; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test lib = "$linkmode"; then + if test -n "$dependency_libs" && + { test yes != "$hardcode_into_libs" || + test yes = "$build_old_libs" || + test yes = "$link_static"; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) func_stripname '-R' '' "$libdir" + temp_xrpath=$func_stripname_result + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) func_append xrpath " $temp_xrpath";; + esac;; + *) func_append temp_deplibs " $libdir";; + esac + done + dependency_libs=$temp_deplibs + fi + + func_append newlib_search_path " $absdir" + # Link against this library + test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result";; + *) func_resolve_sysroot "$deplib" ;; + esac + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $func_resolve_sysroot_result "*) + func_append specialdeplibs " $func_resolve_sysroot_result" ;; + esac + fi + func_append tmp_libs " $func_resolve_sysroot_result" + done + + if test no != "$link_all_deplibs"; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + path= + case $deplib in + -L*) path=$deplib ;; + *.la) + func_resolve_sysroot "$deplib" + deplib=$func_resolve_sysroot_result + func_dirname "$deplib" "" "." + dir=$func_dirname_result + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + func_warning "cannot determine absolute directory name of '$dir'" + absdir=$dir + fi + ;; + esac + if $GREP "^installed=no" $deplib > /dev/null; then + case $host in + *-*-darwin*) + depdepl= + eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names"; then + for tmp in $deplibrary_names; do + depdepl=$tmp + done + if test -f "$absdir/$objdir/$depdepl"; then + depdepl=$absdir/$objdir/$depdepl + darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + if test -z "$darwin_install_name"; then + darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` + fi + func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl" + func_append linker_flags " -dylib_file $darwin_install_name:$depdepl" + path= + fi + fi + ;; + *) + path=-L$absdir/$objdir + ;; + esac + else + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + test -z "$libdir" && \ + func_fatal_error "'$deplib' is not a valid libtool archive" + test "$absdir" != "$libdir" && \ + func_warning "'$deplib' seems to be moved" + + path=-L$absdir + fi + ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + if test link = "$pass"; then + if test prog = "$linkmode"; then + compile_deplibs="$new_inherited_linker_flags $compile_deplibs" + finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" + else + compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + fi + fi + dependency_libs=$newdependency_libs + if test dlpreopen = "$pass"; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test dlopen != "$pass"; then + test conv = "$pass" || { + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) func_append lib_search_path " $dir" ;; + esac + done + newlib_search_path= + } + + if test prog,link = "$linkmode,$pass"; then + vars="compile_deplibs finalize_deplibs" + else + vars=deplibs + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) func_append tmp_libs " $deplib" ;; + esac + ;; + *) func_append tmp_libs " $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + + # Add Sun CC postdeps if required: + test CXX = "$tagname" && { + case $host_os in + linux*) + case `$CC -V 2>&1 | $SED 5q` in + *Sun\ C*) # Sun C++ 5.9 + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + + solaris*) + func_cc_basename "$CC" + case $func_cc_basename_result in + CC* | sunCC*) + func_suncc_cstd_abi + + if test no != "$suncc_use_cstd_abi"; then + func_append postdeps ' -library=Cstd -library=Crun' + fi + ;; + esac + ;; + esac + } + + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i= + ;; + esac + if test -n "$i"; then + func_append tmp_libs " $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test prog = "$linkmode"; then + dlfiles=$newdlfiles + fi + if test prog = "$linkmode" || test lib = "$linkmode"; then + dlprefiles=$newdlprefiles + fi + + case $linkmode in + oldlib) + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for archives" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "'-l' and '-L' are ignored for archives" ;; + esac + + test -n "$rpath" && \ + func_warning "'-rpath' is ignored for archives" + + test -n "$xrpath" && \ + func_warning "'-R' is ignored for archives" + + test -n "$vinfo" && \ + func_warning "'-version-info/-version-number' is ignored for archives" + + test -n "$release" && \ + func_warning "'-release' is ignored for archives" + + test -n "$export_symbols$export_symbols_regex" && \ + func_warning "'-export-symbols' is ignored for archives" + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs=$output + func_append objs "$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form 'libNAME.la'. + case $outputname in + lib*) + func_stripname 'lib' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + test no = "$module" \ + && func_fatal_help "libtool library '$output' must begin with 'lib'" + + if test no != "$need_lib_prefix"; then + # Add the "lib" prefix for modules if required + func_stripname '' '.la' "$outputname" + name=$func_stripname_result + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + func_stripname '' '.la' "$outputname" + libname=$func_stripname_result + fi + ;; + esac + + if test -n "$objs"; then + if test pass_all != "$deplibs_check_method"; then + func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs" + else + echo + $ECHO "*** Warning: Linking the shared library $output against the non-libtool" + $ECHO "*** objects $objs is not portable!" + func_append libobjs " $objs" + fi + fi + + test no = "$dlself" \ + || func_warning "'-dlopen self' is ignored for libtool libraries" + + set dummy $rpath + shift + test 1 -lt "$#" \ + && func_warning "ignoring multiple '-rpath's for a libtool library" + + install_libdir=$1 + + oldlibs= + if test -z "$rpath"; then + if test yes = "$build_libtool_libs"; then + # Building a libtool convenience library. + # Some compilers have problems with a '.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + test -n "$vinfo" && \ + func_warning "'-version-info/-version-number' is ignored for convenience libraries" + + test -n "$release" && \ + func_warning "'-release' is ignored for convenience libraries" + else + + # Parse the version information argument. + save_ifs=$IFS; IFS=: + set dummy $vinfo 0 0 0 + shift + IFS=$save_ifs + + test -n "$7" && \ + func_fatal_help "too many parameters to '-version-info'" + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major=$1 + number_minor=$2 + number_revision=$3 + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # that has an extra 1 added just for fun + # + case $version_type in + # correct linux to gnu/linux during the next big refactor + darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none) + func_arith $number_major + $number_minor + current=$func_arith_result + age=$number_minor + revision=$number_revision + ;; + freebsd-aout|qnx|sunos) + current=$number_major + revision=$number_minor + age=0 + ;; + irix|nonstopux) + func_arith $number_major + $number_minor + current=$func_arith_result + age=$number_minor + revision=$number_minor + lt_irix_increment=no + ;; + *) + func_fatal_configuration "$modename: unknown library version type '$version_type'" + ;; + esac + ;; + no) + current=$1 + revision=$2 + age=$3 + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "CURRENT '$current' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "REVISION '$revision' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + func_error "AGE '$age' must be a nonnegative integer" + func_fatal_error "'$vinfo' is not valid version information" + ;; + esac + + if test "$age" -gt "$current"; then + func_error "AGE '$age' is greater than the current interface number '$current'" + func_fatal_error "'$vinfo' is not valid version information" + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + # Darwin ld doesn't like 0 for these options... + func_arith $current + 1 + minor_current=$func_arith_result + xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + # On Darwin other compilers + case $CC in + nagfor*) + verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision" + ;; + *) + verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" + ;; + esac + ;; + + freebsd-aout) + major=.$current + versuffix=.$current.$revision + ;; + + freebsd-elf | midnightbsd-elf) + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + ;; + + irix | nonstopux) + if test no = "$lt_irix_increment"; then + func_arith $current - $age + else + func_arith $current - $age + 1 + fi + major=$func_arith_result + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring=$verstring_prefix$major.$revision + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test 0 -ne "$loop"; do + func_arith $revision - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring=$verstring_prefix$major.$iface:$verstring + done + + # Before this point, $major must not contain '.'. + major=.$major + versuffix=$major.$revision + ;; + + linux) # correct to gnu/linux during the next big refactor + func_arith $current - $age + major=.$func_arith_result + versuffix=$major.$age.$revision + ;; + + osf) + func_arith $current - $age + major=.$func_arith_result + versuffix=.$current.$age.$revision + verstring=$current.$age.$revision + + # Add in all the interfaces that we are compatible with. + loop=$age + while test 0 -ne "$loop"; do + func_arith $current - $loop + iface=$func_arith_result + func_arith $loop - 1 + loop=$func_arith_result + verstring=$verstring:$iface.0 + done + + # Make executables depend on our current version. + func_append verstring ":$current.0" + ;; + + qnx) + major=.$current + versuffix=.$current + ;; + + sco) + major=.$current + versuffix=.$current + ;; + + sunos) + major=.$current + versuffix=.$current.$revision + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 file systems. + func_arith $current - $age + major=$func_arith_result + versuffix=-$major + ;; + + *) + func_fatal_configuration "unknown library version type '$version_type'" + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring=0.0 + ;; + esac + if test no = "$need_version"; then + versuffix= + else + versuffix=.0.0 + fi + fi + + # Remove version info from name if versioning should be avoided + if test yes,no = "$avoid_version,$need_version"; then + major= + versuffix= + verstring= + fi + + # Check to see if the archive will have undefined symbols. + if test yes = "$allow_undefined"; then + if test unsupported = "$allow_undefined_flag"; then + if test yes = "$build_old_libs"; then + func_warning "undefined symbols not allowed in $host shared libraries; building static only" + build_libtool_libs=no + else + func_fatal_error "can't build $host shared library unless -no-undefined is specified" + fi + fi + else + # Don't allow undefined symbols. + allow_undefined_flag=$no_undefined_flag + fi + + fi + + func_generate_dlsyms "$libname" "$libname" : + func_append libobjs " $symfileobj" + test " " = "$libobjs" && libobjs= + + if test relink != "$opt_mode"; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$ECHO "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext | *.gcno) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*) + if test -n "$precious_files_regex"; then + if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + func_append removelist " $p" + ;; + *) ;; + esac + done + test -n "$removelist" && \ + func_show_eval "${RM}r \$removelist" + fi + + # Now set the variables for building old libraries. + if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then + func_append oldlibs " $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. + #for path in $notinst_path; do + # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` + # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` + # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` + #done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + func_replace_sysroot "$libdir" + func_append temp_xrpath " -R$func_replace_sysroot_result" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles=$dlfiles + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) func_append dlfiles " $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles=$dlprefiles + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) func_append dlprefiles " $lib" ;; + esac + done + + if test yes = "$build_libtool_libs"; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + func_append deplibs " System.ltframework" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test yes = "$build_libtool_need_lc"; then + func_append deplibs " -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release= + versuffix= + major= + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $opt_dry_run || $RM conftest.c + cat > conftest.c </dev/null` + $nocaseglob + else + potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` + fi + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null | + $GREP " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib=$potent_lib + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | $SED 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;; + *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | + $SED -e 10q | + $EGREP "$file_magic_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib= + break 2 + fi + done + done + fi + if test -n "$a_deplib"; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib"; then + $ECHO "*** with $libname but no candidates were found. (...for file magic test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a file magic. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method; shift + match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` + for a_deplib in $deplibs; do + case $a_deplib in + -l*) + func_stripname -l '' "$a_deplib" + name=$func_stripname_result + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + case " $predeps $postdeps " in + *" $a_deplib "*) + func_append newdeplibs " $a_deplib" + a_deplib= + ;; + esac + fi + if test -n "$a_deplib"; then + libname=`eval "\\$ECHO \"$libname_spec\""` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib=$potent_lib # see symlink-check above in file_magic test + if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ + $EGREP "$match_pattern_regex" > /dev/null; then + func_append newdeplibs " $a_deplib" + a_deplib= + break 2 + fi + done + done + fi + if test -n "$a_deplib"; then + droppeddeps=yes + echo + $ECHO "*** Warning: linker path does not have real file for library $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have" + echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib"; then + $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $ECHO "*** with $libname and none of the candidates passed a file format test" + $ECHO "*** using a regex pattern. Last file checked: $potlib" + fi + fi + ;; + *) + # Add a -L argument. + func_append newdeplibs " $a_deplib" + ;; + esac + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs= + tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` + if test yes = "$allow_libtool_libs_with_static_runtimes"; then + for i in $predeps $postdeps; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"` + done + fi + case $tmp_deplibs in + *[!\ \ ]*) + echo + if test none = "$deplibs_check_method"; then + echo "*** Warning: inter-library dependencies are not supported in this platform." + else + echo "*** Warning: inter-library dependencies are not known to be supported." + fi + echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + ;; + esac + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library with the System framework + newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + if test yes = "$droppeddeps"; then + if test yes = "$module"; then + echo + echo "*** Warning: libtool could not satisfy all declared inter-library" + $ECHO "*** dependencies of module $libname. Therefore, libtool will create" + echo "*** a static module, that should work as long as the dlopening" + echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using 'nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** 'nm' from GNU binutils and a full rebuild may help." + fi + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + echo "*** The inter-library dependencies that have been dropped here will be" + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." + + if test no = "$allow_undefined"; then + echo + echo "*** Since this library must not contain undefined symbols," + echo "*** because either the platform does not support them or" + echo "*** it was explicitly requested with -no-undefined," + echo "*** libtool will only create a static version of it." + if test no = "$build_old_libs"; then + oldlibs=$output_objdir/$libname.$libext + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + case $host in + *-*-darwin*) + newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + deplibs=$new_libs + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test yes = "$build_libtool_libs"; then + # Remove $wl instances when linking with ld. + # FIXME: should test the right _cmds variable. + case $archive_cmds in + *\$LD\ *) wl= ;; + esac + if test yes = "$hardcode_into_libs"; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath=$finalize_rpath + test relink = "$opt_mode" || rpath=$compile_rpath$rpath + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + func_replace_sysroot "$libdir" + libdir=$func_replace_sysroot_result + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append dep_rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath=$finalize_shlibpath + test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + shift + realname=$1 + shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname=$realname + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib=$output_objdir/$realname + linknames= + for link + do + func_append linknames " $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` + test "X$libobjs" = "X " && libobjs= + + delfiles= + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" + export_symbols=$output_objdir/$libname.uexp + func_append delfiles " $export_symbols" + fi + + orig_export_symbols= + case $host_os in + cygwin* | mingw* | cegcc*) + if test -n "$export_symbols" && test -z "$export_symbols_regex"; then + # exporting using user supplied symfile + func_dll_def_p "$export_symbols" || { + # and it's NOT already a .def file. Must figure out + # which of the given symbols are data symbols and tag + # them as such. So, trigger use of export_symbols_cmds. + # export_symbols gets reassigned inside the "prepare + # the list of exported symbols" if statement, so the + # include_expsyms logic still works. + orig_export_symbols=$export_symbols + export_symbols= + always_export_symbols=yes + } + fi + ;; + esac + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp + $opt_dry_run || $RM $export_symbols + cmds=$export_symbols_cmds + save_ifs=$IFS; IFS='~' + for cmd1 in $cmds; do + IFS=$save_ifs + # Take the normal branch if the nm_file_list_spec branch + # doesn't work or if tool conversion is not needed. + case $nm_file_list_spec~$to_tool_file_cmd in + *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) + try_normal_branch=yes + eval cmd=\"$cmd1\" + func_len " $cmd" + len=$func_len_result + ;; + *) + try_normal_branch=no + ;; + esac + if test yes = "$try_normal_branch" \ + && { test "$len" -lt "$max_cmd_len" \ + || test "$max_cmd_len" -le -1; } + then + func_show_eval "$cmd" 'exit $?' + skipped_export=false + elif test -n "$nm_file_list_spec"; then + func_basename "$output" + output_la=$func_basename_result + save_libobjs=$libobjs + save_output=$output + output=$output_objdir/$output_la.nm + func_to_tool_file "$output" + libobjs=$nm_file_list_spec$func_to_tool_file_result + func_append delfiles " $output" + func_verbose "creating $NM input file list: $output" + for obj in $save_libobjs; do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > "$output" + eval cmd=\"$cmd1\" + func_show_eval "$cmd" 'exit $?' + output=$save_output + libobjs=$save_libobjs + skipped_export=false + else + # The command line is too long to execute in one step. + func_verbose "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS=$save_ifs + if test -n "$export_symbols_regex" && test : != "$skipped_export"; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test : != "$skipped_export" && test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands, which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + func_append tmp_deplibs " $test_deplib" + ;; + esac + done + deplibs=$tmp_deplibs + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec" && + test yes = "$compiler_needs_object" && + test -z "$libobjs"; then + # extract the archives, so we have objects to list. + # TODO: could optimize this to just extract one archive. + whole_archive_flag_spec= + fi + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + else + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + fi + + if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + func_append linker_flags " $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test relink = "$opt_mode"; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test yes = "$module" && test -n "$module_cmds"; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test : != "$skipped_export" && + func_len " $test_cmds" && + len=$func_len_result && + test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise + # or, if using GNU ld and skipped_export is not :, use a linker + # script. + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + func_basename "$output" + output_la=$func_basename_result + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + last_robj= + k=1 + + if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then + output=$output_objdir/$output_la.lnkscript + func_verbose "creating GNU ld script: $output" + echo 'INPUT (' > $output + for obj in $save_libobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + echo ')' >> $output + func_append delfiles " $output" + func_to_tool_file "$output" + output=$func_to_tool_file_result + elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then + output=$output_objdir/$output_la.lnk + func_verbose "creating linker input file list: $output" + : > $output + set x $save_libobjs + shift + firstobj= + if test yes = "$compiler_needs_object"; then + firstobj="$1 " + shift + fi + for obj + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + func_append delfiles " $output" + func_to_tool_file "$output" + output=$firstobj\"$file_list_spec$func_to_tool_file_result\" + else + if test -n "$save_libobjs"; then + func_verbose "creating reloadable object files..." + output=$output_objdir/$output_la-$k.$objext + eval test_cmds=\"$reload_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + if test -z "$objlist" || + test "$len" -lt "$max_cmd_len"; then + func_append objlist " $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test 1 -eq "$k"; then + # The first file doesn't have a previous command to add. + reload_objs=$objlist + eval concat_cmds=\"$reload_cmds\" + else + # All subsequent reloadable object files will link in + # the last one created. + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" + fi + last_robj=$output_objdir/$output_la-$k.$objext + func_arith $k + 1 + k=$func_arith_result + output=$output_objdir/$output_la-$k.$objext + objlist=" $obj" + func_len " $last_robj" + func_arith $len0 + $func_len_result + len=$func_arith_result + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + reload_objs="$objlist $last_robj" + eval concat_cmds=\"\$concat_cmds$reload_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + func_append delfiles " $output" + + else + output= + fi + + ${skipped_export-false} && { + func_verbose "generating symbol list for '$libname.la'" + export_symbols=$output_objdir/$libname.exp + $opt_dry_run || $RM $export_symbols + libobjs=$output + # Append the command to create the export file. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" + if test -n "$last_robj"; then + eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" + fi + } + + test -n "$save_libobjs" && + func_verbose "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs=$IFS; IFS='~' + for cmd in $concat_cmds; do + IFS=$save_ifs + $opt_quiet || { + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS=$save_ifs + + if test -n "$export_symbols_regex" && ${skipped_export-false}; then + func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + func_show_eval '$MV "${export_symbols}T" "$export_symbols"' + fi + fi + + ${skipped_export-false} && { + if test -n "$export_symbols" && test -n "$include_expsyms"; then + tmp_export_symbols=$export_symbols + test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols + $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' + fi + + if test -n "$orig_export_symbols"; then + # The given exports_symbols file has to be filtered, so filter it. + func_verbose "filter symbol list for '$libname.la' to tag DATA exports" + # FIXME: $output_objdir/$libname.filter potentially contains lots of + # 's' commands, which not all seds can handle. GNU sed should be fine + # though. Also, the filter scales superlinearly with the number of + # global variables. join(1) would be nice here, but unfortunately + # isn't a blessed tool. + $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter + func_append delfiles " $export_symbols $output_objdir/$libname.filter" + export_symbols=$output_objdir/$libname.def + $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols + fi + } + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + test "X$libobjs" = "X " && libobjs= + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test yes = "$module" && test -n "$module_cmds"; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + fi + + if test -n "$delfiles"; then + # Append the command to remove temporary files to $cmds. + eval cmds=\"\$cmds~\$RM $delfiles\" + fi + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append libobjs " $func_extract_archives_result" + test "X$libobjs" = "X " && libobjs= + fi + + save_ifs=$IFS; IFS='~' + for cmd in $cmds; do + IFS=$sp$nl + eval cmd=\"$cmd\" + IFS=$save_ifs + $opt_quiet || { + func_quote_arg expand,pretty "$cmd" + eval "func_echo $func_quote_arg_result" + } + $opt_dry_run || eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + ( cd "$output_objdir" && \ + $RM "${realname}T" && \ + $MV "${realname}U" "$realname" ) + fi + + exit $lt_exit + } + done + IFS=$save_ifs + + # Restore the uninstalled library and exit + if test relink = "$opt_mode"; then + $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + func_show_eval '${RM}r "$gentop"' + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test yes = "$module" || test yes = "$export_dynamic"; then + # On all known operating systems, these are identical. + dlname=$soname + fi + fi + ;; + + obj) + if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then + func_warning "'-dlopen' is ignored for objects" + fi + + case " $deplibs" in + *\ -l* | *\ -L*) + func_warning "'-l' and '-L' are ignored for objects" ;; + esac + + test -n "$rpath" && \ + func_warning "'-rpath' is ignored for objects" + + test -n "$xrpath" && \ + func_warning "'-R' is ignored for objects" + + test -n "$vinfo" && \ + func_warning "'-version-info' is ignored for objects" + + test -n "$release" && \ + func_warning "'-release' is ignored for objects" + + case $output in + *.lo) + test -n "$objs$old_deplibs" && \ + func_fatal_error "cannot build library object '$output' from non-libtool objects" + + libobj=$output + func_lo2o "$libobj" + obj=$func_lo2o_result + ;; + *) + libobj= + obj=$output + ;; + esac + + # Delete the old objects. + $opt_dry_run || $RM $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # if reload_cmds runs $LD directly, get rid of -Wl from + # whole_archive_flag_spec and hope we can get by with turning comma + # into space. + case $reload_cmds in + *\$LD[\ \$]*) wl= ;; + esac + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` + reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags + else + gentop=$output_objdir/${obj}x + func_append generated " $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # If we're not building shared, we need to use non_pic_objs + test yes = "$build_libtool_libs" || libobjs=$non_pic_objects + + # Create the old-style object. + reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs + + output=$obj + func_execute_cmds "$reload_cmds" 'exit $?' + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + fi + + test yes = "$build_libtool_libs" || { + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + } + + if test -n "$pic_flag" || test default != "$pic_mode"; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output=$libobj + func_execute_cmds "$reload_cmds" 'exit $?' + fi + + if test -n "$gentop"; then + func_show_eval '${RM}r "$gentop"' + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) func_stripname '' '.exe' "$output" + output=$func_stripname_result.exe;; + esac + test -n "$vinfo" && \ + func_warning "'-version-info' is ignored for programs" + + test -n "$release" && \ + func_warning "'-release' is ignored for programs" + + $preload \ + && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \ + && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support." + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` + ;; + esac + + case $host in + *-*-darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + # But is supposedly fixed on 10.4 or later (yay!). + if test CXX = "$tagname"; then + case ${MACOSX_DEPLOYMENT_TARGET-10.0} in + 10.[0123]) + func_append compile_command " $wl-bind_at_load" + func_append finalize_command " $wl-bind_at_load" + ;; + esac + fi + # Time to change all our "foo.ltframework" stuff back to "-framework foo" + compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + func_append new_libs " -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) func_append new_libs " $deplib" ;; + esac + ;; + *) func_append new_libs " $deplib" ;; + esac + done + compile_deplibs=$new_libs + + + func_append compile_command " $compile_deplibs" + func_append finalize_command " $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) func_append finalize_rpath " $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) func_append perm_rpath " $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + ::) dllsearchpath=$libdir;; + *) func_append dllsearchpath ":$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + ::) dllsearchpath=$testbindir;; + *) func_append dllsearchpath ":$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath=$rpath + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs=$libdir + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + func_append rpath " $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) func_append finalize_perm_rpath " $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir=$hardcode_libdirs + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath=$rpath + + if test -n "$libobjs" && test yes = "$build_old_libs"; then + # Transform all the library objects into standard objects. + compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` + fi + + func_generate_dlsyms "$outputname" "@PROGRAM@" false + + # template prelinking step + if test -n "$prelink_cmds"; then + func_execute_cmds "$prelink_cmds" 'exit $?' + fi + + wrappers_required=: + case $host in + *cegcc* | *mingw32ce*) + # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. + wrappers_required=false + ;; + *cygwin* | *mingw* ) + test yes = "$build_libtool_libs" || wrappers_required=false + ;; + *) + if test no = "$need_relink" || test yes != "$build_libtool_libs"; then + wrappers_required=false + fi + ;; + esac + $wrappers_required || { + # Replace the output file specification. + compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + link_command=$compile_command$compile_rpath + + # We have no uninstalled library dependencies, so finalize right now. + exit_status=0 + func_show_eval "$link_command" 'exit_status=$?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Delete the generated files. + if test -f "$output_objdir/${outputname}S.$objext"; then + func_show_eval '$RM "$output_objdir/${outputname}S.$objext"' + fi + + exit $exit_status + } + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + func_append rpath "$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + func_append rpath "$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test yes = "$no_install"; then + # We don't need to create a wrapper script. + link_command=$compile_var$compile_command$compile_rpath + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $opt_dry_run || $RM $output + # Link the executable and exit + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + exit $EXIT_SUCCESS + fi + + case $hardcode_action,$fast_install in + relink,*) + # Fast installation is not supported + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + + func_warning "this platform does not like uninstalled shared libraries" + func_warning "'$output' will be relinked during installation" + ;; + *,yes) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` + ;; + *,no) + link_command=$compile_var$compile_command$compile_rpath + relink_command=$finalize_var$finalize_command$finalize_rpath + ;; + *,needless) + link_command=$finalize_var$compile_command$finalize_rpath + relink_command= + ;; + esac + + # Replace the output file specification. + link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname + + func_show_eval "$link_command" 'exit $?' + + if test -n "$postlink_cmds"; then + func_to_tool_file "$output_objdir/$outputname" + postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` + func_execute_cmds "$postlink_cmds" 'exit $?' + fi + + # Now create the wrapper script. + func_verbose "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_arg pretty "$var_value" + relink_command="$var=$func_quote_arg_result; export $var; $relink_command" + fi + done + func_quote eval cd "`pwd`" + func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)" + relink_command=$func_quote_arg_unquoted_result + fi + + # Only actually do things if not in dry run mode. + $opt_dry_run || { + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) func_stripname '' '.exe' "$output" + output=$func_stripname_result ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + func_stripname '' '.exe' "$outputname" + outputname=$func_stripname_result ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + func_dirname_and_basename "$output" "" "." + output_name=$func_basename_result + output_path=$func_dirname_result + cwrappersource=$output_path/$objdir/lt-$output_name.c + cwrapper=$output_path/$output_name.exe + $RM $cwrappersource $cwrapper + trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + func_emit_cwrapperexe_src > $cwrappersource + + # The wrapper executable is built using the $host compiler, + # because it contains $host paths and files. If cross- + # compiling, it, like the target executable, must be + # executed on the $host or under an emulation environment. + $opt_dry_run || { + $LTCC $LTCFLAGS -o $cwrapper $cwrappersource + $STRIP $cwrapper + } + + # Now, create the wrapper script for func_source use: + func_ltwrapper_scriptname $cwrapper + $RM $func_ltwrapper_scriptname_result + trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 + $opt_dry_run || { + # note: this script will not be executed, so do not chmod. + if test "x$build" = "x$host"; then + $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result + else + func_emit_wrapper no > $func_ltwrapper_scriptname_result + fi + } + ;; + * ) + $RM $output + trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 + + func_emit_wrapper no > $output + chmod +x $output + ;; + esac + } + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + case $build_libtool_libs in + convenience) + oldobjs="$libobjs_save $symfileobj" + addlibs=$convenience + build_libtool_libs=no + ;; + module) + oldobjs=$libobjs_save + addlibs=$old_convenience + build_libtool_libs=no + ;; + *) + oldobjs="$old_deplibs $non_pic_objects" + $preload && test -f "$symfileobj" \ + && func_append oldobjs " $symfileobj" + addlibs=$old_convenience + ;; + esac + + if test -n "$addlibs"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $addlibs + func_append oldobjs " $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then + cmds=$old_archive_from_new_cmds + else + + # Add any objects from preloaded convenience libraries + if test -n "$dlprefiles"; then + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + + func_extract_archives $gentop $dlprefiles + func_append oldobjs " $func_extract_archives_result" + fi + + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + func_basename "$obj" + $ECHO "$func_basename_result" + done | sort | sort -uc >/dev/null 2>&1); then + : + else + echo "copying selected object files to avoid basename conflicts..." + gentop=$output_objdir/${outputname}x + func_append generated " $gentop" + func_mkdir_p "$gentop" + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + func_basename "$obj" + objbase=$func_basename_result + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + func_arith $counter + 1 + counter=$func_arith_result + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + func_append oldobjs " $gentop/$newobj" + ;; + *) func_append oldobjs " $obj" ;; + esac + done + fi + func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 + tool_oldlib=$func_to_tool_file_result + eval cmds=\"$old_archive_cmds\" + + func_len " $cmds" + len=$func_len_result + if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + elif test -n "$archiver_list_spec"; then + func_verbose "using command file archive linking..." + for obj in $oldobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" + done > $output_objdir/$libname.libcmd + func_to_tool_file "$output_objdir/$libname.libcmd" + oldobjs=" $archiver_list_spec$func_to_tool_file_result" + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + func_verbose "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + oldobjs= + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + eval test_cmds=\"$old_archive_cmds\" + func_len " $test_cmds" + len0=$func_len_result + len=$len0 + for obj in $save_oldobjs + do + func_len " $obj" + func_arith $len + $func_len_result + len=$func_arith_result + func_append objlist " $obj" + if test "$len" -lt "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj"; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\$concat_cmds$old_archive_cmds\" + objlist= + len=$len0 + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test -z "$oldobjs"; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + func_execute_cmds "$cmds" 'exit $?' + done + + test -n "$generated" && \ + func_show_eval "${RM}r$generated" + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test yes = "$build_old_libs" && old_library=$libname.$libext + func_verbose "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + func_quote_arg pretty,unquoted "$var_value" + relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + func_quote eval cd "`pwd`" + relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + func_quote_arg pretty,unquoted "$relink_command" + relink_command=$func_quote_arg_unquoted_result + if test yes = "$hardcode_automatic"; then + relink_command= + fi + + # Only create the output if not a dry run. + $opt_dry_run || { + for installed in no yes; do + if test yes = "$installed"; then + if test -z "$install_libdir"; then + break + fi + output=$output_objdir/${outputname}i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + func_basename "$deplib" + name=$func_basename_result + func_resolve_sysroot "$deplib" + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` + test -z "$libdir" && \ + func_fatal_error "'$deplib' is not a valid libtool archive" + func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" + ;; + -L*) + func_stripname -L '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -L$func_replace_sysroot_result" + ;; + -R*) + func_stripname -R '' "$deplib" + func_replace_sysroot "$func_stripname_result" + func_append newdependency_libs " -R$func_replace_sysroot_result" + ;; + *) func_append newdependency_libs " $deplib" ;; + esac + done + dependency_libs=$newdependency_libs + newdlfiles= + + for lib in $dlfiles; do + case $lib in + *.la) + func_basename "$lib" + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "'$lib' is not a valid libtool archive" + func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" + ;; + *) func_append newdlfiles " $lib" ;; + esac + done + dlfiles=$newdlfiles + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + *.la) + # Only pass preopened files to the pseudo-archive (for + # eventual linking with the app. that links it) if we + # didn't already link the preopened objects directly into + # the library: + func_basename "$lib" + name=$func_basename_result + eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + test -z "$libdir" && \ + func_fatal_error "'$lib' is not a valid libtool archive" + func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" + ;; + esac + done + dlprefiles=$newdlprefiles + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlfiles " $abs" + done + dlfiles=$newdlfiles + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;; + *) abs=`pwd`"/$lib" ;; + esac + func_append newdlprefiles " $abs" + done + dlprefiles=$newdlprefiles + fi + $RM $output + # place dlname in correct position for cygwin + # In fact, it would be nice if we could use this code for all target + # systems that can't hard-code library paths into their executables + # and that have no shared library path variable independent of PATH, + # but it turns out we can't easily determine that from inspecting + # libtool variables, so we have to hard-code the OSs to which it + # applies here; at the moment, that means platforms that use the PE + # object format with DLL files. See the long comment at the top of + # tests/bindir.at for full details. + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) + # If a -bindir argument was supplied, place the dll there. + if test -n "$bindir"; then + func_relative_path "$install_libdir" "$bindir" + tdlname=$func_relative_path_result/$dlname + else + # Otherwise fall back on heuristic. + tdlname=../bin/$dlname + fi + ;; + esac + $ECHO > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM (GNU $PACKAGE) $VERSION +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags='$new_inherited_linker_flags' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Names of additional weak libraries provided by this library +weak_library_names='$weak_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test no,yes = "$installed,$need_relink"; then + $ECHO >> $output "\ +relink_command=\"$relink_command\"" + fi + done + } + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' + ;; + esac + exit $EXIT_SUCCESS +} + +if test link = "$opt_mode" || test relink = "$opt_mode"; then + func_mode_link ${1+"$@"} +fi + + +# func_mode_uninstall arg... +func_mode_uninstall () +{ + $debug_cmd + + RM=$nonopt + files= + rmforce=false + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic=$magic + + for arg + do + case $arg in + -f) func_append RM " $arg"; rmforce=: ;; + -*) func_append RM " $arg" ;; + *) func_append files " $arg" ;; + esac + done + + test -z "$RM" && \ + func_fatal_help "you must specify an RM program" + + rmdirs= + + for file in $files; do + func_dirname "$file" "" "." + dir=$func_dirname_result + if test . = "$dir"; then + odir=$objdir + else + odir=$dir/$objdir + fi + func_basename "$file" + name=$func_basename_result + test uninstall = "$opt_mode" && odir=$dir + + # Remember odir for removal later, being careful to avoid duplicates + if test clean = "$opt_mode"; then + case " $rmdirs " in + *" $odir "*) ;; + *) func_append rmdirs " $odir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if { test -L "$file"; } >/dev/null 2>&1 || + { test -h "$file"; } >/dev/null 2>&1 || + test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif $rmforce; then + continue + fi + + rmfiles=$file + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if func_lalib_p "$file"; then + func_source $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + func_append rmfiles " $odir/$n" + done + test -n "$old_library" && func_append rmfiles " $odir/$old_library" + + case $opt_mode in + clean) + case " $library_names " in + *" $dlname "*) ;; + *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; + esac + test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1' + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1' + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if func_lalib_p "$file"; then + + # Read the .lo file + func_source $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" && test none != "$pic_object"; then + func_append rmfiles " $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" && test none != "$non_pic_object"; then + func_append rmfiles " $dir/$non_pic_object" + fi + fi + ;; + + *) + if test clean = "$opt_mode"; then + noexename=$name + case $file in + *.exe) + func_stripname '' '.exe' "$file" + file=$func_stripname_result + func_stripname '' '.exe' "$name" + noexename=$func_stripname_result + # $file with .exe has already been added to rmfiles, + # add $file without .exe + func_append rmfiles " $file" + ;; + esac + # Do a test to see if this is a libtool program. + if func_ltwrapper_p "$file"; then + if func_ltwrapper_executable_p "$file"; then + func_ltwrapper_scriptname "$file" + relink_command= + func_source $func_ltwrapper_scriptname_result + func_append rmfiles " $func_ltwrapper_scriptname_result" + else + relink_command= + func_source $dir/$noexename + fi + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + func_append rmfiles " $odir/$name $odir/${name}S.$objext" + if test yes = "$fast_install" && test -n "$relink_command"; then + func_append rmfiles " $odir/lt-$name" + fi + if test "X$noexename" != "X$name"; then + func_append rmfiles " $odir/lt-$noexename.c" + fi + fi + fi + ;; + esac + func_show_eval "$RM $rmfiles" 'exit_status=1' + done + + # Try to remove the $objdir's in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + func_show_eval "rmdir $dir >/dev/null 2>&1" + fi + done + + exit $exit_status +} + +if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then + func_mode_uninstall ${1+"$@"} +fi + +test -z "$opt_mode" && { + help=$generic_help + func_fatal_help "you must specify a MODE" +} + +test -z "$exec_cmd" && \ + func_fatal_help "invalid operation mode '$opt_mode'" + +if test -n "$exec_cmd"; then + eval exec "$exec_cmd" + exit $EXIT_FAILURE +fi + +exit $exit_status + + +# The TAGs below are defined such that we never get into a situation +# where we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +build_libtool_libs=no +build_old_libs=yes +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD="/usr/bin/ld -m elf_x86_64" + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# Commands used to build an old-style archive. +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$tool_oldlib" + +# A language specific compiler. +CC="g++" + +# Is the compiler the GNU compiler? +with_gcc=yes + +# Compiler flag to turn off builtin functions. +no_builtin_flag=" -fno-builtin" + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC -DPIC" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Compiler flag to prevent dynamic linking. +link_static_flag="-static" + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=no + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\$wl--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\$wl--whole-archive\$convenience \$wl--no-whole-archive" + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object="no" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build a shared archive. +archive_cmds="\$CC \$pic_flag -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \$wl-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="\$CC \$pic_flag -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \$wl-soname \$wl\$soname \$wl-retain-symbols-file \$wl\$export_symbols -o \$lib" + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds="" +module_expsym_cmds="" + +# Whether we are building with GNU ld or not. +with_gnu_ld="yes" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that enforces no undefined symbols. +no_undefined_flag="" + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist +hardcode_libdir_flag_spec="\$wl-rpath \$wl\$libdir" + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator="" + +# Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=no + +# Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes +# DIR into the resulting binary and the resulting library dependency is +# "absolute",i.e impossible to change by setting $shlibpath_var if the +# library is relocated. +hardcode_direct_absolute=no + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=no + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=unsupported + +# Set to "yes" if building a shared library automatically hardcodes DIR +# into the library and all subsequent libraries and executables linked +# against it. +hardcode_automatic=no + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=no + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=no + +# Set to "yes" if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*" + +# Symbols that must always be exported. +include_expsyms="" + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds="" + +# Commands necessary for finishing linking programs. +postlink_cmds="" + +# Specify filename containing input files. +file_list_spec="" + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs="/usr/lib/gcc/x86_64-linux-gnu/12 /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu /usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /usr/lib/gcc/x86_64-linux-gnu/12/../../.." + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects="/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o" +postdep_objects="/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o" +predeps="" +postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path="-L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/12/../../.." + +# ### END LIBTOOL TAG CONFIG: CXX diff --git a/lib/beagle-3.0.3/m4/ac_cxx_bool.m4 b/lib/beagle-3.0.3/m4/ac_cxx_bool.m4 new file mode 100644 index 0000000..5bd69d7 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_bool.m4 @@ -0,0 +1,20 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_bool.html +dnl +AC_DEFUN([AC_CXX_BOOL], +[AC_CACHE_CHECK(whether the compiler recognizes bool as a built-in type, +ac_cv_cxx_bool, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +int f(int x){return 1;} +int f(char x){return 1;} +int f(bool x){return 1;} +],[bool b = true; return f(b);], + ac_cv_cxx_bool=yes, ac_cv_cxx_bool=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_bool" = yes; then + AC_DEFINE(HAVE_BOOL,,[define if bool is a built-in type]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_complex_math_in_namespace_std.m4 b/lib/beagle-3.0.3/m4/ac_cxx_complex_math_in_namespace_std.m4 new file mode 100644 index 0000000..b52a94d --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_complex_math_in_namespace_std.m4 @@ -0,0 +1,23 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_complex_math_in_namespace_std.html +dnl +AC_DEFUN([AC_CXX_COMPLEX_MATH_IN_NAMESPACE_STD], +[AC_CACHE_CHECK(whether complex math functions are in std::, +ac_cv_cxx_complex_math_in_namespace_std, +[AC_REQUIRE([AC_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +namespace S { using namespace std; + complex pow(complex x, complex y) + { return std::pow(x,y); } + }; +],[using namespace S; complex x = 1.0, y = 1.0; S::pow(x,y); return 0;], + ac_cv_cxx_complex_math_in_namespace_std=yes, ac_cv_cxx_complex_math_in_namespace_std=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_complex_math_in_namespace_std" = yes; then + AC_DEFINE(HAVE_COMPLEX_MATH_IN_NAMESPACE_STD,, + [define if complex math functions are in std::]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_const_cast.m4 b/lib/beagle-3.0.3/m4/ac_cxx_const_cast.m4 new file mode 100644 index 0000000..106514f --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_const_cast.m4 @@ -0,0 +1,16 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_const_cast.html +dnl +AC_DEFUN([AC_CXX_CONST_CAST], +[AC_CACHE_CHECK(whether the compiler supports const_cast<>, +ac_cv_cxx_const_cast, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE(,[int x = 0;const int& y = x;int& z = const_cast(y);return z;], + ac_cv_cxx_const_cast=yes, ac_cv_cxx_const_cast=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_const_cast" = yes; then + AC_DEFINE(HAVE_CONST_CAST,,[define if the compiler supports const_cast<>]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_default_template_parameters.m4 b/lib/beagle-3.0.3/m4/ac_cxx_default_template_parameters.m4 new file mode 100644 index 0000000..0b7273c --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_default_template_parameters.m4 @@ -0,0 +1,19 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_default_template_parameters.html +dnl +AC_DEFUN([AC_CXX_DEFAULT_TEMPLATE_PARAMETERS], +[AC_CACHE_CHECK(whether the compiler supports default template parameters, +ac_cv_cxx_default_template_parameters, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +template class A {public: int f() {return 0;}}; +],[A a; return a.f();], + ac_cv_cxx_default_template_parameters=yes, ac_cv_cxx_default_template_parameters=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_default_template_parameters" = yes; then + AC_DEFINE(HAVE_DEFAULT_TEMPLATE_PARAMETERS,, + [define if the compiler supports default template parameters]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_dynamic_cast.m4 b/lib/beagle-3.0.3/m4/ac_cxx_dynamic_cast.m4 new file mode 100644 index 0000000..ef592b0 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_dynamic_cast.m4 @@ -0,0 +1,19 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_dynamic_cast.html +dnl +AC_DEFUN([AC_CXX_DYNAMIC_CAST], +[AC_CACHE_CHECK(whether the compiler supports dynamic_cast<>, +ac_cv_cxx_dynamic_cast, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} };],[ +Derived d; Base& b=d; return dynamic_cast(&b) ? 0 : 1;], + ac_cv_cxx_dynamic_cast=yes, ac_cv_cxx_dynamic_cast=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_dynamic_cast" = yes; then + AC_DEFINE(HAVE_DYNAMIC_CAST,,[define if the compiler supports dynamic_cast<>]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_exceptions.m4 b/lib/beagle-3.0.3/m4/ac_cxx_exceptions.m4 new file mode 100644 index 0000000..bf95992 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_exceptions.m4 @@ -0,0 +1,16 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_exceptions.html +dnl +AC_DEFUN([AC_CXX_EXCEPTIONS], +[AC_CACHE_CHECK(whether the compiler supports exceptions, +ac_cv_cxx_exceptions, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE(,[try { throw 1; } catch (int i) { return i; }], + ac_cv_cxx_exceptions=yes, ac_cv_cxx_exceptions=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_exceptions" = yes; then + AC_DEFINE(HAVE_EXCEPTIONS,,[define if the compiler supports exceptions]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_explicit.m4 b/lib/beagle-3.0.3/m4/ac_cxx_explicit.m4 new file mode 100644 index 0000000..39de556 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_explicit.m4 @@ -0,0 +1,17 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_explicit.html +dnl +AC_DEFUN([AC_CXX_EXPLICIT], +[AC_CACHE_CHECK(whether the compiler supports the explicit keyword, +ac_cv_cxx_explicit, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([class A{public:explicit A(double){}};], +[double c = 5.0;A x(c);return 0;], + ac_cv_cxx_explicit=yes, ac_cv_cxx_explicit=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_explicit" = yes; then + AC_DEFINE(HAVE_EXPLICIT,,[define if the compiler supports the explicit keyword]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_have_ext_hash_map.m4 b/lib/beagle-3.0.3/m4/ac_cxx_have_ext_hash_map.m4 new file mode 100644 index 0000000..38d58b7 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_have_ext_hash_map.m4 @@ -0,0 +1,20 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_have_ext_hash_map.html +dnl +AC_DEFUN([AC_CXX_HAVE_EXT_HASH_MAP], +[AC_CACHE_CHECK(whether the compiler has ext/hash_map, +ac_cv_cxx_have_ext_hash_map, +[AC_REQUIRE([AC_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[hash_map t; return 0;], + ac_cv_cxx_have_ext_hash_map=yes, ac_cv_cxx_have_ext_hash_map=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_have_ext_hash_map" = yes; then + AC_DEFINE(HAVE_EXT_HASH_MAP,,[define if the compiler has ext/hash_map]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_have_ext_hash_set.m4 b/lib/beagle-3.0.3/m4/ac_cxx_have_ext_hash_set.m4 new file mode 100644 index 0000000..f613b3f --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_have_ext_hash_set.m4 @@ -0,0 +1,20 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_have_ext_hash_set.html +dnl +AC_DEFUN([AC_CXX_HAVE_EXT_HASH_SET], +[AC_CACHE_CHECK(whether the compiler has ext/hash_set, +ac_cv_cxx_have_ext_hash_set, +[AC_REQUIRE([AC_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[hash_set t; return 0;], + ac_cv_cxx_have_ext_hash_set=yes, ac_cv_cxx_have_ext_hash_set=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_have_ext_hash_set" = yes; then + AC_DEFINE(HAVE_EXT_HASH_SET,,[define if the compiler has ext/hash_set]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_have_numeric_limits.m4 b/lib/beagle-3.0.3/m4/ac_cxx_have_numeric_limits.m4 new file mode 100644 index 0000000..13ff1b2 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_have_numeric_limits.m4 @@ -0,0 +1,20 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_have_numeric_limits.html +dnl +AC_DEFUN([AC_CXX_HAVE_NUMERIC_LIMITS], +[AC_CACHE_CHECK(whether the compiler has numeric_limits, +ac_cv_cxx_have_numeric_limits, +[AC_REQUIRE([AC_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[double e = numeric_limits::epsilon(); return 0;], + ac_cv_cxx_have_numeric_limits=yes, ac_cv_cxx_have_numeric_limits=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_have_numeric_limits" = yes; then + AC_DEFINE(HAVE_NUMERIC_LIMITS,,[define if the compiler has numeric_limits]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_have_sstream.m4 b/lib/beagle-3.0.3/m4/ac_cxx_have_sstream.m4 new file mode 100644 index 0000000..15be840 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_have_sstream.m4 @@ -0,0 +1,20 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_have_sstream.html +dnl +AC_DEFUN([AC_CXX_HAVE_SSTREAM], +[AC_CACHE_CHECK(whether the compiler has stringstream, +ac_cv_cxx_have_sstream, +[AC_REQUIRE([AC_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[stringstream message; message << "Hello"; return 0;], + ac_cv_cxx_have_sstream=yes, ac_cv_cxx_have_sstream=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_have_sstream" = yes; then + AC_DEFINE(HAVE_SSTREAM,,[define if the compiler has stringstream]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_have_std.m4 b/lib/beagle-3.0.3/m4/ac_cxx_have_std.m4 new file mode 100644 index 0000000..b1ffbf0 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_have_std.m4 @@ -0,0 +1,23 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_have_std.html +dnl +AC_DEFUN([AC_CXX_HAVE_STD], +[AC_CACHE_CHECK(whether the compiler supports ISO C++ standard library, +ac_cv_cxx_have_std, +[AC_REQUIRE([AC_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#include +#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[return 0;], + ac_cv_cxx_have_std=yes, ac_cv_cxx_have_std=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_have_std" = yes; then + AC_DEFINE(HAVE_STD,,[define if the compiler supports ISO C++ standard library]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_have_stl.m4 b/lib/beagle-3.0.3/m4/ac_cxx_have_stl.m4 new file mode 100644 index 0000000..7d585bf --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_have_stl.m4 @@ -0,0 +1,22 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_have_stl.html +dnl +AC_DEFUN([AC_CXX_HAVE_STL], +[AC_CACHE_CHECK(whether the compiler supports Standard Template Library, +ac_cv_cxx_have_stl, +[AC_REQUIRE([AC_CXX_NAMESPACES]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +#include +#ifdef HAVE_NAMESPACES +using namespace std; +#endif],[list x; x.push_back(5); +list::iterator iter = x.begin(); if (iter != x.end()) ++iter; return 0;], + ac_cv_cxx_have_stl=yes, ac_cv_cxx_have_stl=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_have_stl" = yes; then + AC_DEFINE(HAVE_STL,,[define if the compiler supports Standard Template Library]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_namespaces.m4 b/lib/beagle-3.0.3/m4/ac_cxx_namespaces.m4 new file mode 100644 index 0000000..37510c0 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_namespaces.m4 @@ -0,0 +1,17 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_namespaces.html +dnl +AC_DEFUN([AC_CXX_NAMESPACES], +[AC_CACHE_CHECK(whether the compiler implements namespaces, +ac_cv_cxx_namespaces, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([namespace Outer { namespace Inner { int i = 0; }}], + [using namespace Outer::Inner; return i;], + ac_cv_cxx_namespaces=yes, ac_cv_cxx_namespaces=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_namespaces" = yes; then + AC_DEFINE(HAVE_NAMESPACES,,[define if the compiler implements namespaces]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_new_for_scoping.m4 b/lib/beagle-3.0.3/m4/ac_cxx_new_for_scoping.m4 new file mode 100644 index 0000000..8f58934 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_new_for_scoping.m4 @@ -0,0 +1,22 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_new_for_scoping.html +dnl +AC_DEFUN([AC_CXX_NEW_FOR_SCOPING], +[AC_CACHE_CHECK(whether the compiler accepts the new for scoping rules, +ac_cv_cxx_new_for_scoping, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE(,[ + int z = 0; + for (int i = 0; i < 10; ++i) + z = z + i; + for (int i = 0; i < 10; ++i) + z = z - i; + return z;], + ac_cv_cxx_new_for_scoping=yes, ac_cv_cxx_new_for_scoping=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_new_for_scoping" = yes; then + AC_DEFINE(HAVE_NEW_FOR_SCOPING,,[define if the compiler accepts the new for scoping rules]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_reinterpret_cast.m4 b/lib/beagle-3.0.3/m4/ac_cxx_reinterpret_cast.m4 new file mode 100644 index 0000000..f47c9c7 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_reinterpret_cast.m4 @@ -0,0 +1,22 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_reinterpret_cast.html +dnl +AC_DEFUN([AC_CXX_REINTERPRET_CAST], +[AC_CACHE_CHECK(whether the compiler supports reinterpret_cast<>, +ac_cv_cxx_reinterpret_cast, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +class Base { public : Base () {} virtual void f () = 0;}; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +class Unrelated { public : Unrelated () {} }; +int g (Unrelated&) { return 0; }],[ +Derived d;Base& b=d;Unrelated& e=reinterpret_cast(b);return g(e);], + ac_cv_cxx_reinterpret_cast=yes, ac_cv_cxx_reinterpret_cast=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_reinterpret_cast" = yes; then + AC_DEFINE(HAVE_REINTERPRET_CAST,, + [define if the compiler supports reinterpret_cast<>]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_rtti.m4 b/lib/beagle-3.0.3/m4/ac_cxx_rtti.m4 new file mode 100644 index 0000000..e9fda0b --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_rtti.m4 @@ -0,0 +1,29 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_rtti.html +dnl +AC_DEFUN([AC_CXX_RTTI], +[AC_CACHE_CHECK(whether the compiler supports Run-Time Type Identification, +ac_cv_cxx_rtti, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +class Base { public : + Base () {} + virtual int f () { return 0; } + }; +class Derived : public Base { public : + Derived () {} + virtual int f () { return 1; } + }; +],[Derived d; +Base *ptr = &d; +return typeid (*ptr) == typeid (Derived); +], + ac_cv_cxx_rtti=yes, ac_cv_cxx_rtti=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_rtti" = yes; then + AC_DEFINE(HAVE_RTTI,, + [define if the compiler supports Run-Time Type Identification]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_static_cast.m4 b/lib/beagle-3.0.3/m4/ac_cxx_static_cast.m4 new file mode 100644 index 0000000..a157fd3 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_static_cast.m4 @@ -0,0 +1,21 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_static_cast.html +dnl +AC_DEFUN([AC_CXX_STATIC_CAST], +[AC_CACHE_CHECK(whether the compiler supports static_cast<>, +ac_cv_cxx_static_cast, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +class Base { public : Base () {} virtual void f () = 0; }; +class Derived : public Base { public : Derived () {} virtual void f () {} }; +int g (Derived&) { return 0; }],[ +Derived d; Base& b = d; Derived& s = static_cast (b); return g (s);], + ac_cv_cxx_static_cast=yes, ac_cv_cxx_static_cast=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_static_cast" = yes; then + AC_DEFINE(HAVE_STATIC_CAST,, + [define if the compiler supports static_cast<>]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_template_qualified_base_class.m4 b/lib/beagle-3.0.3/m4/ac_cxx_template_qualified_base_class.m4 new file mode 100644 index 0000000..a592ade --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_template_qualified_base_class.m4 @@ -0,0 +1,30 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_template_qualified_base_class.html +dnl +AC_DEFUN([AC_CXX_TEMPLATE_QUALIFIED_BASE_CLASS], +[AC_CACHE_CHECK(whether the compiler supports template-qualified base class specifiers, +ac_cv_cxx_template_qualified_base_class, +[AC_REQUIRE([AC_CXX_TYPENAME]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +#ifndef HAVE_TYPENAME + #define typename +#endif +class Base1 { public : int f () const { return 1; } }; +class Base2 { public : int f () const { return 0; } }; +template struct base_trait { typedef Base1 base; }; + struct base_trait { typedef Base2 base; }; +template class Weird : public base_trait::base +{ public : + typedef typename base_trait::base base; + int g () const { return f (); } +};],[ Weird z; return z.g ();], + ac_cv_cxx_template_qualified_base_class=yes, ac_cv_cxx_template_qualified_base_class=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_template_qualified_base_class" = yes; then + AC_DEFINE(HAVE_TEMPLATE_QUALIFIED_BASE_CLASS,, + [define if the compiler supports template-qualified base class specifiers]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_template_qualified_return_type.m4 b/lib/beagle-3.0.3/m4/ac_cxx_template_qualified_return_type.m4 new file mode 100644 index 0000000..cb94581 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_template_qualified_return_type.m4 @@ -0,0 +1,28 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_template_qualified_return_type.html +dnl +AC_DEFUN([AC_CXX_TEMPLATE_QUALIFIED_RETURN_TYPE], +[AC_CACHE_CHECK(whether the compiler supports template-qualified return types, +ac_cv_cxx_template_qualified_return_type, +[AC_REQUIRE([AC_CXX_TYPENAME]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +#ifndef HAVE_TYPENAME + #define typename +#endif +template struct promote_trait { typedef X T; }; +template<> struct promote_trait { typedef float T; }; +template class A { public : A () {} }; +template +A::T> operator+ (const A&, const A&) +{ return A::T>(); } +],[A x; A y; A z = x + y; return 0;], + ac_cv_cxx_template_qualified_return_type=yes, ac_cv_cxx_template_qualified_return_type=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_template_qualified_return_type" = yes; then + AC_DEFINE(HAVE_TEMPLATE_QUALIFIED_RETURN_TYPE,, + [define if the compiler supports template-qualified return types]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_template_scoped_argument_matching.m4 b/lib/beagle-3.0.3/m4/ac_cxx_template_scoped_argument_matching.m4 new file mode 100644 index 0000000..8ddb148 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_template_scoped_argument_matching.m4 @@ -0,0 +1,25 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_template_scoped_argument_matching.html +dnl +AC_DEFUN([AC_CXX_TEMPLATE_SCOPED_ARGUMENT_MATCHING], +[AC_CACHE_CHECK(whether the compiler supports function matching with argument types which are template scope-qualified, +ac_cv_cxx_template_scoped_argument_matching, +[AC_REQUIRE([AC_CXX_TYPENAME]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +#ifndef HAVE_TYPENAME + #define typename +#endif +template class A { public : typedef X W; }; +template class B {}; +template void operator+(B d1, typename Y::W d2) {} +],[B > z; z + 0.5f; return 0;], + ac_cv_cxx_template_scoped_argument_matching=yes, ac_cv_cxx_template_scoped_argument_matching=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_template_scoped_argument_matching" = yes; then + AC_DEFINE(HAVE_TEMPLATE_SCOPED_ARGUMENT_MATCHING,, + [define if the compiler supports function matching with argument types which are template scope-qualified]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_templates.m4 b/lib/beagle-3.0.3/m4/ac_cxx_templates.m4 new file mode 100644 index 0000000..b8d5de2 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_templates.m4 @@ -0,0 +1,18 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_templates.html +dnl +AC_DEFUN([AC_CXX_TEMPLATES], +[AC_CACHE_CHECK(whether the compiler supports basic templates, +ac_cv_cxx_templates, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([template class A {public:A(){}}; +template void f(const A& ){}],[ +A d; A i; f(d); f(i); return 0;], + ac_cv_cxx_templates=yes, ac_cv_cxx_templates=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_templates" = yes; then + AC_DEFINE(HAVE_TEMPLATES,,[define if the compiler supports basic templates]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ac_cxx_typename.m4 b/lib/beagle-3.0.3/m4/ac_cxx_typename.m4 new file mode 100644 index 0000000..f073385 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ac_cxx_typename.m4 @@ -0,0 +1,17 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_typename.html +dnl +AC_DEFUN([AC_CXX_TYPENAME], +[AC_CACHE_CHECK(whether the compiler recognizes typename, +ac_cv_cxx_typename, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([templateclass X {public:X(){}};], +[X z; return 0;], + ac_cv_cxx_typename=yes, ac_cv_cxx_typename=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_typename" = yes; then + AC_DEFINE(HAVE_TYPENAME,,[define if the compiler recognizes typename]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/acx_pthread.m4 b/lib/beagle-3.0.3/m4/acx_pthread.m4 new file mode 100644 index 0000000..bedf51c --- /dev/null +++ b/lib/beagle-3.0.3/m4/acx_pthread.m4 @@ -0,0 +1,199 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/acx_pthread.html +dnl +AC_DEFUN([ACX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_SAVE +AC_LANG_C +acx_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) + AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) + AC_MSG_RESULT($acx_pthread_ok) + if test x"$acx_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all, and "pthread-config" +# which is a program returning the flags for the Pth emulation library. + +acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) + +case "${host_cpu}-${host_os}" in + *solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthread or + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags" + ;; +esac + +if test x"$acx_pthread_ok" = xno; then +for flag in $acx_pthread_flags; do + + case $flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $flag]) + PTHREAD_CFLAGS="$flag" + ;; + + pthread-config) + AC_CHECK_PROG(acx_pthread_config, pthread-config, yes, no) + if test x"$acx_pthread_config" = xno; then continue; fi + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$flag]) + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + AC_TRY_LINK([#include ], + [pthread_t th; pthread_join(th, 0); + pthread_attr_init(0); pthread_cleanup_push(0, 0); + pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], + [acx_pthread_ok=yes]) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + AC_MSG_RESULT($acx_pthread_ok) + if test "x$acx_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$acx_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: threads are created detached by default + # and the JOINABLE attribute has a nonstandard name (UNDETACHED). + AC_MSG_CHECKING([for joinable pthread attribute]) + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_JOINABLE;], + ok=PTHREAD_CREATE_JOINABLE, ok=unknown) + if test x"$ok" = xunknown; then + AC_TRY_LINK([#include ], + [int attr=PTHREAD_CREATE_UNDETACHED;], + ok=PTHREAD_CREATE_UNDETACHED, ok=unknown) + fi + if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then + AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ok, + [Define to the necessary symbol if this constant + uses a non-standard name on your system.]) + fi + AC_MSG_RESULT(${ok}) + if test x"$ok" = xunknown; then + AC_MSG_WARN([we do not know how to create joinable pthreads]) + fi + + AC_MSG_CHECKING([if more special flags are required for pthreads]) + flag=no + case "${host_cpu}-${host_os}" in + *-aix* | *-freebsd* | *-darwin*) flag="-D_THREAD_SAFE";; + *solaris* | *-osf* | *-hpux*) flag="-D_REENTRANT";; + esac + AC_MSG_RESULT(${flag}) + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: must compile with cc_r + AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC}) +else + PTHREAD_CC="$CC" +fi + +AC_SUBST(PTHREAD_LIBS) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_CC) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$acx_pthread_ok" = xyes; then + ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) + : +else + acx_pthread_ok=no + $2 +fi +AC_LANG_RESTORE +])dnl ACX_PTHREAD diff --git a/lib/beagle-3.0.3/m4/ax_prefix_config_h.m4 b/lib/beagle-3.0.3/m4/ax_prefix_config_h.m4 new file mode 100644 index 0000000..f0ab8c4 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ax_prefix_config_h.m4 @@ -0,0 +1,87 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ax_prefix_config_h.html +dnl +AC_DEFUN([AX_PREFIX_CONFIG_H],[AC_REQUIRE([AC_CONFIG_HEADERS]) +AC_CONFIG_COMMANDS([ifelse($1,,$PACKAGE-config.h,$1)],[dnl +AS_VAR_PUSHDEF([_OUT],[ac_prefix_conf_OUT])dnl +AS_VAR_PUSHDEF([_DEF],[ac_prefix_conf_DEF])dnl +AS_VAR_PUSHDEF([_PKG],[ac_prefix_conf_PKG])dnl +AS_VAR_PUSHDEF([_LOW],[ac_prefix_conf_LOW])dnl +AS_VAR_PUSHDEF([_UPP],[ac_prefix_conf_UPP])dnl +AS_VAR_PUSHDEF([_INP],[ac_prefix_conf_INP])dnl +m4_pushdef([_script],[conftest.prefix])dnl +m4_pushdef([_symbol],[m4_cr_Letters[]m4_cr_digits[]_])dnl +_OUT=`echo ifelse($1, , $PACKAGE-config.h, $1)` +_DEF=`echo _$_OUT | sed -e "y:m4_cr_letters:m4_cr_LETTERS[]:" -e "s/@<:@^m4_cr_Letters@:>@/_/g"` +_PKG=`echo ifelse($2, , $PACKAGE, $2)` +_LOW=`echo _$_PKG | sed -e "y:m4_cr_LETTERS-:m4_cr_letters[]_:"` +_UPP=`echo $_PKG | sed -e "y:m4_cr_letters-:m4_cr_LETTERS[]_:" -e "/^@<:@m4_cr_digits@:>@/s/^/_/"` +_INP=`echo "ifelse($3,,,$3)" | sed -e 's/ *//'` +if test ".$_INP" = "."; then + for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue + case "$ac_file" in + *.h) _INP=$ac_file ;; + *) + esac + test ".$_INP" != "." && break + done +fi +if test ".$_INP" = "."; then + case "$_OUT" in + */*) _INP=`basename "$_OUT"` + ;; + *-*) _INP=`echo "$_OUT" | sed -e "s/@<:@_symbol@:>@*-//"` + ;; + *) _INP=config.h + ;; + esac +fi +if test -z "$_PKG" ; then + AC_MSG_ERROR([no prefix for _PREFIX_PKG_CONFIG_H]) +else + if test ! -f "$_INP" ; then if test -f "$srcdir/$_INP" ; then + _INP="$srcdir/$_INP" + fi fi + AC_MSG_NOTICE(creating $_OUT - prefix $_UPP for $_INP defines) + if test -f $_INP ; then + echo "s/@%:@undef *\\(@<:@m4_cr_LETTERS[]_@:>@\\)/@%:@undef $_UPP""_\\1/" > _script + echo "s/@%:@undef *\\(@<:@m4_cr_letters@:>@\\)/@%:@undef $_LOW""_\\1/" >> _script + echo "s/@%:@def[]ine *\\(@<:@m4_cr_LETTERS[]_@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_UPP""_\\1 \\" >> _script + echo "@%:@def[]ine $_UPP""_\\1 \\2 \\" >> _script + echo "@%:@endif/" >>_script + echo "s/@%:@def[]ine *\\(@<:@m4_cr_letters@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_LOW""_\\1 \\" >> _script + echo "@%:@define $_LOW""_\\1 \\2 \\" >> _script + echo "@%:@endif/" >> _script + # now executing _script on _DEF input to create _OUT output file + echo "@%:@ifndef $_DEF" >$tmp/pconfig.h + echo "@%:@def[]ine $_DEF 1" >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo /'*' $_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h + + sed -f _script $_INP >>$tmp/pconfig.h + echo ' ' >>$tmp/pconfig.h + echo '/* once:' $_DEF '*/' >>$tmp/pconfig.h + echo "@%:@endif" >>$tmp/pconfig.h + if cmp -s $_OUT $tmp/pconfig.h 2>/dev/null; then + AC_MSG_NOTICE([$_OUT is unchanged]) + else + ac_dir=`AS_DIRNAME(["$_OUT"])` + AS_MKDIR_P(["$ac_dir"]) + rm -f "$_OUT" + mv $tmp/pconfig.h "$_OUT" + fi + cp _script _configs.sed + else + AC_MSG_ERROR([input file $_INP does not exist - skip generating $_OUT]) + fi + rm -f conftest.* +fi +m4_popdef([_symbol])dnl +m4_popdef([_script])dnl +AS_VAR_POPDEF([_INP])dnl +AS_VAR_POPDEF([_UPP])dnl +AS_VAR_POPDEF([_LOW])dnl +AS_VAR_POPDEF([_PKG])dnl +AS_VAR_POPDEF([_DEF])dnl +AS_VAR_POPDEF([_OUT])dnl +],[PACKAGE="$PACKAGE"])]) diff --git a/lib/beagle-3.0.3/m4/check_zlib.m4 b/lib/beagle-3.0.3/m4/check_zlib.m4 new file mode 100644 index 0000000..a3fcf5e --- /dev/null +++ b/lib/beagle-3.0.3/m4/check_zlib.m4 @@ -0,0 +1,60 @@ +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/check_zlib.html +dnl +AC_DEFUN([CHECK_ZLIB], +# +# Handle user hints +# +[AC_MSG_CHECKING(if zlib is wanted) +AC_ARG_WITH(zlib, +[ --with-zlib=DIR root directory path of zlib installation [defaults to + /usr/local or /usr if not found in /usr/local] + --without-zlib to disable zlib usage completely], +[if test "$withval" != no ; then + AC_MSG_RESULT(yes) + ZLIB_HOME="$withval" +else + AC_MSG_RESULT(no) +fi], [ +AC_MSG_RESULT(yes) +ZLIB_HOME=/usr/local +if test ! -f "${ZLIB_HOME}/include/zlib.h" +then + ZLIB_HOME=/usr +fi +]) + +# +# Locate zlib, if wanted +# +if test -n "${ZLIB_HOME}" +then + ZLIB_OLD_LDFLAGS=$LDFLAGS + ZLIB_OLD_CPPFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" + CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" + AC_LANG_SAVE + AC_LANG_C + AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) + AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) + AC_LANG_RESTORE + if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" + then + # + # If both library and header were found, use them + # + AC_CHECK_LIB(z, inflateEnd) + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + AC_MSG_RESULT(ok) + else + # + # If either header or library was not found, revert and bomb + # + AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) + LDFLAGS="$ZLIB_OLD_LDFLAGS" + CPPFLAGS="$ZLIB_OLD_CPPFLAGS" + AC_MSG_RESULT(failed) + fi +fi + +]) diff --git a/lib/beagle-3.0.3/m4/ob_cxx_have_isinfinite.m4 b/lib/beagle-3.0.3/m4/ob_cxx_have_isinfinite.m4 new file mode 100644 index 0000000..bf56642 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ob_cxx_have_isinfinite.m4 @@ -0,0 +1,16 @@ +AC_DEFUN([OB_CXX_HAVE_ISFINITE], +[AC_CACHE_CHECK(whether the compiler supports isfinite macro, +ac_cv_cxx_have_isfinite, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#define _GNU_SOURCE + #include ], + [double d=0; int n = isfinite(d);], + ac_cv_cxx_have_isfinite=yes, + ac_cv_cxx_have_isfinite=no) + AC_LANG_RESTORE +]) +if test $ac_cv_cxx_have_isfinite = yes; then + AC_DEFINE(HAVE_ISFINITE,,[define if the macro isfinite exist]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ob_cxx_long_long.m4 b/lib/beagle-3.0.3/m4/ob_cxx_long_long.m4 new file mode 100644 index 0000000..4c45a52 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ob_cxx_long_long.m4 @@ -0,0 +1,13 @@ +AC_DEFUN([OB_CXX_LONG_LONG], +[AC_CACHE_CHECK(for long long int, ob_cv_cxx_long_long, +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE(,[long long int i;], + ob_cv_cxx_long_long=yes, + ob_cv_cxx_long_long=no) + ]) +if test $ob_cv_cxx_long_long = yes; then + AC_DEFINE(HAVE_LONG_LONG,,[define if long long int type is supported]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ob_have_hash_map.m4 b/lib/beagle-3.0.3/m4/ob_have_hash_map.m4 new file mode 100644 index 0000000..69707e0 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ob_have_hash_map.m4 @@ -0,0 +1,55 @@ +dnl +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_have_ext_hash_map.html +dnl +dnl Modified by Christian Gagne, August-September 2007 +dnl For checking availability in namespaces stdext (MSVC++) and __gnu_cxx (GCC 3.1-4) +dnl + +AC_DEFUN([AC_CXX_STD_HASHMAP],[ +AC_CACHE_CHECK(whether the compiler supports std::hash_map, +ac_cv_cxx_std_hashmap, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +using std::hash_map;], + [], + ac_cv_cxx_std_hashmap=yes, ac_cv_cxx_std_hashmap=no) + AC_LANG_RESTORE +]) +if test "ac_cv_cxx_std_hashmap" = yes; then + AC_DEFINE(HAVE_STD_HASHMAP,,[define if the compiler supports std::hash_map]) +fi +]) + +AC_DEFUN([AC_CXX_GNUCXX_HASHMAP],[ +AC_CACHE_CHECK(whether the compiler supports __gnu_cxx::hash_map, +ac_cv_cxx_gnucxx_hashmap, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +using __gnu_cxx::hash_map;], + [], + ac_cv_cxx_gnucxx_hashmap=yes, ac_cv_cxx_gnucxx_hashmap=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_gnucxx_hashmap" = yes; then + AC_DEFINE(HAVE_GNUCXX_HASHMAP,,[define if the compiler supports __gnu_cxx::hash_map]) +fi +]) + +AC_DEFUN([AC_CXX_STDEXT_HASHMAP],[ +AC_CACHE_CHECK(whether the compiler supports stdext::hash_map, +ac_cv_cxx_stdext_hashmap, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +using stdext::hash_map;], + [], + ac_cv_cxx_stdext_hashmap=yes, ac_cv_cxx_stdext_hashmap=no) + AC_LANG_RESTORE +]) +if test "ac_cv_cxx_stdext_hashmap" = yes; then + AC_DEFINE(HAVE_STDEXT_HASHMAP,,[define if the compiler supports stdext::hash_map]) +fi +]) diff --git a/lib/beagle-3.0.3/m4/ob_have_hash_set.m4 b/lib/beagle-3.0.3/m4/ob_have_hash_set.m4 new file mode 100644 index 0000000..c18e342 --- /dev/null +++ b/lib/beagle-3.0.3/m4/ob_have_hash_set.m4 @@ -0,0 +1,55 @@ +dnl +dnl Available from the GNU Autoconf Macro Archive at: +dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_cxx_have_ext_hash_set.html +dnl +dnl Modified by Christian Gagne, August 01, 2007 +dnl Now check for availability in namespaces stdext (MSVC++) and __gnu_cxx (GCC 3.1-4) +dnl + +AC_DEFUN([AC_CXX_STD_HASHSET],[ +AC_CACHE_CHECK(whether the compiler supports std::hash_set, +ac_cv_cxx_std_hashset, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +using std::hash_set;], + [], + ac_cv_cxx_std_hashset=yes, ac_cv_cxx_std_hashset=no) + AC_LANG_RESTORE +]) +if test "ac_cv_cxx_std_hashset" = yes; then + AC_DEFINE(HAVE_STD_HASHSET,,[define if the compiler supports std::hash_set]) +fi +]) + +AC_DEFUN([AC_CXX_GNUCXX_HASHSET],[ +AC_CACHE_CHECK(whether the compiler supports __gnu_cxx::hash_set, +ac_cv_cxx_gnucxx_hashset, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +using __gnu_cxx::hash_set;], + [], + ac_cv_cxx_gnucxx_hashset=yes, ac_cv_cxx_gnucxx_hashset=no) + AC_LANG_RESTORE +]) +if test "$ac_cv_cxx_gnucxx_hashset" = yes; then + AC_DEFINE(HAVE_GNUCXX_HASHSET,,[define if the compiler supports __gnu_cxx::hash_set]) +fi +]) + +AC_DEFUN([AC_CXX_STDEXT_HASHSET],[ +AC_CACHE_CHECK(whether the compiler supports stdext::hash_set, +ac_cv_cxx_stdext_hashset, +[AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([#include +using stdext::hash_set;], + [], + ac_cv_cxx_stdext_hashset=yes, ac_cv_cxx_stdext_hashset=no) + AC_LANG_RESTORE +]) +if test "ac_cv_cxx_stdext_hashset" = yes; then + AC_DEFINE(HAVE_STDEXT_HASHSET,,[define if the compiler supports stdext::hash_set]) +fi +]) diff --git a/lib/beagle-3.0.3/reconfigure b/lib/beagle-3.0.3/reconfigure new file mode 100644 index 0000000..59d8881 --- /dev/null +++ b/lib/beagle-3.0.3/reconfigure @@ -0,0 +1,9 @@ +#!/bin/sh +set -x +rm -f acinclude.m4 +for i in `ls m4/*.m4`; +do + cat $i >> acinclude.m4; + echo -e '\n' >> acinclude.m4; +done +autoreconf --verbose --install --force diff --git a/lib/beagle-3.0.3/templates/cpp b/lib/beagle-3.0.3/templates/cpp new file mode 100644 index 0000000..2759e93 --- /dev/null +++ b/lib/beagle-3.0.3/templates/cpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/src/%{FILE} + * \brief Implementation of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:53 $ + */ + diff --git a/lib/beagle-3.0.3/templates/hpp b/lib/beagle-3.0.3/templates/hpp new file mode 100644 index 0000000..a7659ae --- /dev/null +++ b/lib/beagle-3.0.3/templates/hpp @@ -0,0 +1,34 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2005 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/%{FILE} + * \brief Definition of %{MODULE}. + * \author %{AUTHOR} <%{EMAIL}> + * $Revision: 1.1 $ + * $Date: 2005/08/09 14:42:53 $ + */ + diff --git a/lib/beagle-3.0.3/tests/Common/.deps/BeagleTest.Plo b/lib/beagle-3.0.3/tests/Common/.deps/BeagleTest.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/.deps/BeagleTest.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/Common/.deps/GenotypeString.Plo b/lib/beagle-3.0.3/tests/Common/.deps/GenotypeString.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/.deps/GenotypeString.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/Common/.deps/InitializationStringOp.Plo b/lib/beagle-3.0.3/tests/Common/.deps/InitializationStringOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/.deps/InitializationStringOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/Common/.deps/Pass.Plo b/lib/beagle-3.0.3/tests/Common/.deps/Pass.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/.deps/Pass.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/Common/.deps/libtest.Plo b/lib/beagle-3.0.3/tests/Common/.deps/libtest.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/.deps/libtest.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/Common/BeagleTest.cpp b/lib/beagle-3.0.3/tests/Common/BeagleTest.cpp new file mode 100644 index 0000000..a6f6d9c --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/BeagleTest.cpp @@ -0,0 +1,259 @@ +#include "Test.hpp" + + +using namespace Beagle; +using namespace Test; +using namespace std; + + +// ********** STAGE ONE ***************** +// Set objects to specific values + +void +BeagleTest::setSystem(System::Handle inSystem) +{ + if (mSystem!=NULL) { + Beagle_LogBasicM( + mSystem->getLogger(), + "setSystem","Beagle::Test::BeagleTest", + "Warning: Called setSystem() when a system already exists" + ); + } + mSystem = inSystem; +} + + +void +BeagleTest::setVivarium( Vivarium::Handle inVivarium ) +{ + if (mSystem==NULL) createSystem(); + if (mVivarium!=NULL) { + Beagle_LogBasicM( + mSystem->getLogger(), + "setVivarium","Beagle::Test::BeagleTest", + "Warning: Called setVivarium() when a vivarium already exists" + ); + } + mVivarium = inVivarium; +} + + +void +BeagleTest::setInitializationOp( InitializationOp::Handle inInitOp ) +{ + if (mSystem==NULL) createSystem(); + if (mInitOp!=NULL) { + Beagle_LogBasicM( + mSystem->getLogger(), + "setInitializationOp","Beagle::Test::BeagleTest", + "Warning: Called setInitializationOp() when an initialization operators already exists" + ); + } + mInitOp = inInitOp; +} + + + +// ********** STAGE TWO ***************** +// Get the object that will be required + + +System::Handle +BeagleTest::requestSystem() +{ + if (mSystem==NULL) { + createSystem(); + } + return mSystem; +} + + +Context::Handle +BeagleTest::requestContext() +{ + if (mContext==NULL) { + createContext(); + } + return mContext; +} + +Vivarium::Handle +BeagleTest::requestVivarium() +{ + if (mVivarium==NULL) { + createVivarium(); + } + return mVivarium; +} + + + + +void +BeagleTest::createSystem() +{ + // Check that the system doesn't already exist + if (mSystem!=NULL) { + Beagle_LogBasicM( + mSystem->getLogger(), + "createSystem","Beagle::Test::BeagleTest", + "Warning: Called createSystem() when the system already exists" + ); + return; + } + + // Create a new system + mSystem = new Beagle::System; +} + + +void +BeagleTest::createContext() +{ + // Ensure that a system exists + if (mSystem==NULL) createSystem(); + + // Check that context doesn't already exist + if (mContext!=NULL) { + Beagle_LogBasicM( + mSystem->getLogger(), + "createContext","Beagle::Test::BeagleTest", + "Warning: Called createContext() when a context already exists" + ); + return; + } + + // Create context + Beagle_LogDebugM( + mSystem->getLogger(), + "createContext","Beagle::Test::BeagleTest", + "Creating a context" + ); + mContext = castHandleT(mSystem->getContextAllocator().allocate()); + mContext->setSystemHandle( mSystem ); +} + + +void +BeagleTest::createVivarium() +{ + // Ensure that a system exists + if (mSystem==NULL) createSystem(); + + // Ensure that a context exists + if (mContext==NULL) createContext(); + + // Check that a vivarium doesn't already exist + if (mVivarium!=NULL) { + Beagle_LogBasicM( + mSystem->getLogger(), + "createVivarium","Beagle::Test::BeagleTest", + "Warning: Called createVivarium() when a vivarium already exists" + ); + return; + } + + // Create a vivarium + Beagle_LogDebugM( + mSystem->getLogger(), + "createVivarium","Beagle::Test::BeagleTest", + "Creating a vivarium" + ); + mVivarium = new Vivarium(new GenotypeString::Alloc, new FitnessSimple::Alloc); + + // Seeing we're defaulting to "GenotypeString", use the default + // initialization operator + mInitOp = new InitializationStringOp; +} + + + + + +// ********** STAGE THREE ***************** +// Initialize everything + + +// No objects are valid for use until after the class has been initialized. +// The idea is to "get" each object and then call initialize(). +void +BeagleTest::initialize(int &ioArgc, char **ioArgv, bool doPostInit) +{ + if (mSystem==NULL) createSystem(); + + // Add population size parameter + if(mSystem->getRegister().isRegistered("ec.pop.size")) { + mPopSize = castHandleT(mSystem->getRegister().getEntry("ec.pop.size")); + } else { + mPopSize = new UIntArray(1,10); + string lLongDescrip("Number of demes and size of each deme of the population. "); + lLongDescrip += "The format of an UIntArray is S1,S2,...,Sn, where Si is the ith value. "; + lLongDescrip += "The size of the UIntArray is the number of demes present in the "; + lLongDescrip += "vivarium, while each value of the vector is the size of the corresponding "; + lLongDescrip += "deme."; + Register::Description lDescription( + "Vivarium and demes sizes", + "UIntArray", + "10", + lLongDescrip + ); + mSystem->getRegister().addEntry("ec.pop.size", mPopSize, lDescription); + } + + // Initialize system + mSystem->initialize(ioArgc, ioArgv); + + // Initialize the operators + if (mVivarium!=NULL) { + Beagle_NonNullPointerAssertM( mInitOp ); + mInitOp->initialize( *mSystem ); + } + + // Consider an automatic call to postInit() + if (doPostInit) postInit(); +} + +void +BeagleTest::postInit() +{ + // postInit the operators + if (mVivarium!=NULL) { + Beagle_NonNullPointerAssertM( mInitOp ); + mInitOp->postInit( *mSystem ); + } + + // postInit the System + Beagle_NonNullPointerAssertM( mSystem ); + mSystem->postInit(); + + // Check if the vivarium exists + if (mVivarium!=NULL) { + // Fill the vivarium + Beagle_NonNullPointerAssertM( mPopSize ); + mVivarium->resize( mPopSize->size() ); + Beagle_NonNullPointerAssertM( mInitOp ); + Beagle_NonNullPointerAssertM( mContext ); + for (unsigned int i=0; isize(); i++) { + mContext->setDemeIndex( i ); + mContext->setDemeHandle( mVivarium->at(i) ); + mInitOp->operate( *(mVivarium->at(i)), *mContext ); + } + } +} + + + + +// ********** STAGE FOUR ***************** +// Get objects after initialization + + +Deme::Handle +BeagleTest::getDeme(unsigned int inIndex) +{ + if (mVivarium==NULL) { + createVivarium(); + } + Beagle_AssertM( inIndex < mVivarium->size() ); + return mVivarium->at(inIndex); +} diff --git a/lib/beagle-3.0.3/tests/Common/BeagleTest.hpp b/lib/beagle-3.0.3/tests/Common/BeagleTest.hpp new file mode 100644 index 0000000..18ffa7b --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/BeagleTest.hpp @@ -0,0 +1,50 @@ +#ifndef Beagle_Test_BeagleTest_hpp +#define Beagle_Test_BeagleTest_hpp + +#include "beagle/Beagle.hpp" + +namespace Beagle { +namespace Test { + +class BeagleTest { +public: + BeagleTest() {} + virtual ~BeagleTest() {} + + // STAGE ONE + virtual void setSystem(System::Handle inSystem); + virtual void setVivarium(Vivarium::Handle inVivarium); + virtual void setInitializationOp( InitializationOp::Handle inInitOp ); + + // STAGE TWO + virtual System::Handle requestSystem(); + virtual Context::Handle requestContext(); + virtual Vivarium::Handle requestVivarium(); + + // STAGE THREE + virtual void initialize(int &ioArgc, char **ioArgv, bool doPostInit=true); + virtual void postInit(); + + // STAGE FOUR + virtual Deme::Handle getDeme(unsigned int inIndex=0); + +protected: + virtual void createSystem(); + virtual void createContext(); + virtual void createVivarium(); + + System::Handle mSystem; + Context::Handle mContext; + Vivarium::Handle mVivarium; + + UIntArray::Handle mPopSize; + InitializationOp::Handle mInitOp; + +}; + + +} // end of namespace Test +} // end of namespace Beagle + + +#endif // Beagle_Test_BeagleTest_hpp diff --git a/lib/beagle-3.0.3/tests/Common/GenotypeString.cpp b/lib/beagle-3.0.3/tests/Common/GenotypeString.cpp new file mode 100644 index 0000000..e4365cd --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/GenotypeString.cpp @@ -0,0 +1,18 @@ +#include "GenotypeString.hpp" + +using namespace Beagle; +using namespace Test; +using namespace std; + +void GenotypeString::setData(const string& inData) +{ + mData = inData; +} + +void GenotypeString::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + ioStreamer.openTag("Genotype", inIndent); + ioStreamer.insertAttribute("type","string"); + ioStreamer.insertStringContent(mData.c_str()); + ioStreamer.closeTag(); +} diff --git a/lib/beagle-3.0.3/tests/Common/GenotypeString.hpp b/lib/beagle-3.0.3/tests/Common/GenotypeString.hpp new file mode 100644 index 0000000..6e99684 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/GenotypeString.hpp @@ -0,0 +1,28 @@ +#ifndef Beagle_Test_GenotypeString_hpp +#define Beagle_Test_GenotypeString_hpp + +#include "beagle/Genotype.hpp" + +namespace Beagle { +namespace Test { + + +class GenotypeString : public Genotype { +public: + typedef AllocatorT< GenotypeString, Genotype::Alloc > Alloc; + typedef PointerT< GenotypeString, Genotype::Handle > Handle; + typedef ContainerT< GenotypeString, Genotype::Bag > Bag; + + void setData(const string& inData); + void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + string mData; +}; + + +} // end of namespace Test +} // end of namespace Beagle + + +#endif // Beagle_Test_GenotypeString_hpp diff --git a/lib/beagle-3.0.3/tests/Common/InitializationStringOp.cpp b/lib/beagle-3.0.3/tests/Common/InitializationStringOp.cpp new file mode 100644 index 0000000..595f206 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/InitializationStringOp.cpp @@ -0,0 +1,17 @@ +#include "Test.hpp" +#include + +using namespace Beagle; +using namespace Test; +using namespace std; + +void +InitializationStringOp::initIndividual(Individual& outIndividual, Context& ioContext) +{ + std::ostringstream lOSS; + lOSS << "Individual#" << ioContext.getDemeIndex() << "-" << ioContext.getIndividualIndex(); + outIndividual.resize(1); + GenotypeString& lGenotype = castObjectT(*(outIndividual[0])); + lGenotype.setData( lOSS.str().c_str() ); +} + diff --git a/lib/beagle-3.0.3/tests/Common/InitializationStringOp.hpp b/lib/beagle-3.0.3/tests/Common/InitializationStringOp.hpp new file mode 100644 index 0000000..42e9389 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/InitializationStringOp.hpp @@ -0,0 +1,18 @@ +#ifndef Beagle_Test_InitializationStringOp_hpp +#define Beagle_Test_InitializationStringOp_hpp + +#include "beagle/Beagle.hpp" + +namespace Beagle { +namespace Test { + +class InitializationStringOp : public InitializationOp { +public: + virtual void initIndividual(Individual& outIndividual, Context& ioContext); +}; + +} // end of namespace Test +} // end of namespace Beagle + + +#endif // Beagle_Test_InitializationStringOp_hpp diff --git a/lib/beagle-3.0.3/tests/Common/Macros.hpp b/lib/beagle-3.0.3/tests/Common/Macros.hpp new file mode 100644 index 0000000..f4080af --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/Macros.hpp @@ -0,0 +1,36 @@ +#ifndef Beagle_Test_Macro_hpp +#define Beagle_Test_Macro_hpp + +#include "beagle/Exception.hpp" + +#define Beagle_Test_CatchEverythingM \ +catch ( Beagle::Exception& inException ) { \ + cerr << "A Beagle exception was thrown:" << endl; \ + inException.terminate(); \ +} \ +catch ( PACC::Socket::Exception& inException ) { \ + cerr << "A PACC::Socket exception was thrown:" << endl; \ + cerr << inException.getMessage() << endl; \ +} \ +catch ( std::exception& inException ) { \ + cerr << "A standard exception was thrown:" << endl; \ + cerr << inException.what(); \ +} \ +catch ( std::string& inException ) { \ + cerr << "A standard string was thrown:" << endl; \ + cerr << "Its contents are: \"" << inException << "\"" << endl; \ +} \ +catch ( char* inException ) { \ + cerr << "A character pointer was thrown:" << endl; \ + cerr << "Its contents are: \"" << inException << "\"" << endl; \ +} \ +catch ( int inException ) { \ + cerr << "An integer was thrown:" << endl; \ + cerr << "Its value is: \"" << inException << "\"" << endl; \ +} \ +catch ( ... ) { \ + cerr << "An unknown exception was thrown" << endl; \ +} \ + + +#endif // Beagle_Test_Macro_hpp diff --git a/lib/beagle-3.0.3/tests/Common/Makefile b/lib/beagle-3.0.3/tests/Common/Makefile new file mode 100644 index 0000000..22ea95e --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/Makefile @@ -0,0 +1,703 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# tests/Common/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = tests/Common +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__noinst_HEADERS_DIST) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +#libtest_la_DEPENDENCIES = \ +# $(top_srcdir)/beagle/src/libbeagle.la \ +# $(top_srcdir)/PACC/Math/libpacc-math.la \ +# $(top_srcdir)/PACC/XML/libpacc-xml.la \ +# $(top_srcdir)/PACC/Util/libpacc-util.la +am__libtest_la_SOURCES_DIST = BeagleTest.cpp Pass.cpp \ + GenotypeString.cpp InitializationStringOp.cpp +#am__objects_1 = BeagleTest.lo Pass.lo \ +# GenotypeString.lo \ +# InitializationStringOp.lo +##am_libtest_la_OBJECTS = \ +## $(am__objects_1) +#nodist_libtest_la_OBJECTS = \ +# libtest.lo +libtest_la_OBJECTS = $(am_libtest_la_OBJECTS) \ + $(nodist_libtest_la_OBJECTS) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +libtest_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(libtest_la_LDFLAGS) $(LDFLAGS) -o $@ +#am_libtest_la_rpath = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/BeagleTest.Plo \ + ./$(DEPDIR)/GenotypeString.Plo \ + ./$(DEPDIR)/InitializationStringOp.Plo ./$(DEPDIR)/Pass.Plo \ + ./$(DEPDIR)/libtest.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libtest_la_SOURCES) $(nodist_libtest_la_SOURCES) +DIST_SOURCES = $(am__libtest_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__noinst_HEADERS_DIST = BeagleTest.hpp GenotypeString.hpp \ + InitializationStringOp.hpp Macros.hpp Pass.hpp Test.hpp +HEADERS = $(noinst_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/Common +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/Common +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +#TEST_SRC_VAR = \ +#BeagleTest.cpp \ +#Pass.cpp \ +#GenotypeString.cpp \ +#InitializationStringOp.cpp + +#noinst_LTLIBRARIES = libtest.la +#INCLUDES = \ +#-I. \ +#-I$(top_srcdir)/PACC \ +#-I$(top_srcdir)/beagle/include \ +#-I$(top_srcdir)/beagle/GA/include \ +#-I$(top_srcdir)/beagle/GP/include + +#libtest_la_LIBADD = \ +#$(top_srcdir)/beagle/src/libbeagle.la \ +#$(top_srcdir)/PACC/Math/libpacc-math.la \ +#$(top_srcdir)/PACC/XML/libpacc-xml.la \ +#$(top_srcdir)/PACC/Util/libpacc-util.la + +#libtest_la_LDFLAGS = -no-undefined +#noinst_HEADERS = \ +#BeagleTest.hpp \ +#GenotypeString.hpp \ +#InitializationStringOp.hpp \ +#Macros.hpp \ +#Pass.hpp \ +#Test.hpp + +#nodist_libtest_la_SOURCES = libtest.cpp +##libtest_la_SOURCES = $(TEST_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Common/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/Common/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libtest.la: $(libtest_la_OBJECTS) $(libtest_la_DEPENDENCIES) $(EXTRA_libtest_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libtest_la_LINK) $(am_libtest_la_rpath) $(libtest_la_OBJECTS) $(libtest_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/BeagleTest.Plo # am--include-marker +include ./$(DEPDIR)/GenotypeString.Plo # am--include-marker +include ./$(DEPDIR)/InitializationStringOp.Plo # am--include-marker +include ./$(DEPDIR)/Pass.Plo # am--include-marker +include ./$(DEPDIR)/libtest.Plo # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +#clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/BeagleTest.Plo + -rm -f ./$(DEPDIR)/GenotypeString.Plo + -rm -f ./$(DEPDIR)/InitializationStringOp.Plo + -rm -f ./$(DEPDIR)/Pass.Plo + -rm -f ./$(DEPDIR)/libtest.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/BeagleTest.Plo + -rm -f ./$(DEPDIR)/GenotypeString.Plo + -rm -f ./$(DEPDIR)/InitializationStringOp.Plo + -rm -f ./$(DEPDIR)/Pass.Plo + -rm -f ./$(DEPDIR)/libtest.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstLTLIBRARIES \ + cscopelist-am ctags ctags-am distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + +#libtest.cpp: +# rm -f libtest.cpp +# echo "// Generated automatically by make" > libtest.cpp +# echo >> libtest.cpp +# echo $(TEST_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libtest.cpp + +#clean-generic: +# rm -f libtest.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/Common/Makefile.am b/lib/beagle-3.0.3/tests/Common/Makefile.am new file mode 100644 index 0000000..dfd4c8c --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/Makefile.am @@ -0,0 +1,41 @@ +if COMPILE_TESTS +TEST_SRC_VAR = \ +BeagleTest.cpp \ +Pass.cpp \ +GenotypeString.cpp \ +InitializationStringOp.cpp +noinst_LTLIBRARIES = libtest.la +INCLUDES = \ +-I. \ +-I$(top_srcdir)/PACC \ +-I$(top_srcdir)/beagle/include \ +-I$(top_srcdir)/beagle/GA/include \ +-I$(top_srcdir)/beagle/GP/include +libtest_la_LIBADD = \ +$(top_srcdir)/beagle/src/libbeagle.la \ +$(top_srcdir)/PACC/Math/libpacc-math.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la +libtest_la_LDFLAGS = -no-undefined +noinst_HEADERS = \ +BeagleTest.hpp \ +GenotypeString.hpp \ +InitializationStringOp.hpp \ +Macros.hpp \ +Pass.hpp \ +Test.hpp +if FAST_COMPILATION +libtest.cpp: + rm -f libtest.cpp + echo "// Generated automatically by make" > libtest.cpp + echo >> libtest.cpp + echo $(TEST_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libtest.cpp + +clean-generic: + rm -f libtest.cpp + +nodist_libtest_la_SOURCES = libtest.cpp +else +libtest_la_SOURCES = $(TEST_SRC_VAR) +endif +endif COMPILE_TESTS diff --git a/lib/beagle-3.0.3/tests/Common/Makefile.in b/lib/beagle-3.0.3/tests/Common/Makefile.in new file mode 100644 index 0000000..708d9a4 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/Makefile.in @@ -0,0 +1,703 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = tests/Common +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__noinst_HEADERS_DIST) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +@COMPILE_TESTS_TRUE@libtest_la_DEPENDENCIES = \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Math/libpacc-math.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Util/libpacc-util.la +am__libtest_la_SOURCES_DIST = BeagleTest.cpp Pass.cpp \ + GenotypeString.cpp InitializationStringOp.cpp +@COMPILE_TESTS_TRUE@am__objects_1 = BeagleTest.lo Pass.lo \ +@COMPILE_TESTS_TRUE@ GenotypeString.lo \ +@COMPILE_TESTS_TRUE@ InitializationStringOp.lo +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_FALSE@am_libtest_la_OBJECTS = \ +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_FALSE@ $(am__objects_1) +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@nodist_libtest_la_OBJECTS = \ +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@ libtest.lo +libtest_la_OBJECTS = $(am_libtest_la_OBJECTS) \ + $(nodist_libtest_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libtest_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(libtest_la_LDFLAGS) $(LDFLAGS) -o $@ +@COMPILE_TESTS_TRUE@am_libtest_la_rpath = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/BeagleTest.Plo \ + ./$(DEPDIR)/GenotypeString.Plo \ + ./$(DEPDIR)/InitializationStringOp.Plo ./$(DEPDIR)/Pass.Plo \ + ./$(DEPDIR)/libtest.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libtest_la_SOURCES) $(nodist_libtest_la_SOURCES) +DIST_SOURCES = $(am__libtest_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__noinst_HEADERS_DIST = BeagleTest.hpp GenotypeString.hpp \ + InitializationStringOp.hpp Macros.hpp Pass.hpp Test.hpp +HEADERS = $(noinst_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@COMPILE_TESTS_TRUE@TEST_SRC_VAR = \ +@COMPILE_TESTS_TRUE@BeagleTest.cpp \ +@COMPILE_TESTS_TRUE@Pass.cpp \ +@COMPILE_TESTS_TRUE@GenotypeString.cpp \ +@COMPILE_TESTS_TRUE@InitializationStringOp.cpp + +@COMPILE_TESTS_TRUE@noinst_LTLIBRARIES = libtest.la +@COMPILE_TESTS_TRUE@INCLUDES = \ +@COMPILE_TESTS_TRUE@-I. \ +@COMPILE_TESTS_TRUE@-I$(top_srcdir)/PACC \ +@COMPILE_TESTS_TRUE@-I$(top_srcdir)/beagle/include \ +@COMPILE_TESTS_TRUE@-I$(top_srcdir)/beagle/GA/include \ +@COMPILE_TESTS_TRUE@-I$(top_srcdir)/beagle/GP/include + +@COMPILE_TESTS_TRUE@libtest_la_LIBADD = \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/PACC/Math/libpacc-math.la \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/PACC/Util/libpacc-util.la + +@COMPILE_TESTS_TRUE@libtest_la_LDFLAGS = -no-undefined +@COMPILE_TESTS_TRUE@noinst_HEADERS = \ +@COMPILE_TESTS_TRUE@BeagleTest.hpp \ +@COMPILE_TESTS_TRUE@GenotypeString.hpp \ +@COMPILE_TESTS_TRUE@InitializationStringOp.hpp \ +@COMPILE_TESTS_TRUE@Macros.hpp \ +@COMPILE_TESTS_TRUE@Pass.hpp \ +@COMPILE_TESTS_TRUE@Test.hpp + +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@nodist_libtest_la_SOURCES = libtest.cpp +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_FALSE@libtest_la_SOURCES = $(TEST_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Common/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/Common/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libtest.la: $(libtest_la_OBJECTS) $(libtest_la_DEPENDENCIES) $(EXTRA_libtest_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libtest_la_LINK) $(am_libtest_la_rpath) $(libtest_la_OBJECTS) $(libtest_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BeagleTest.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GenotypeString.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitializationStringOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Pass.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtest.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(HEADERS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +@COMPILE_TESTS_FALSE@clean-generic: + +@FAST_COMPILATION_FALSE@clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/BeagleTest.Plo + -rm -f ./$(DEPDIR)/GenotypeString.Plo + -rm -f ./$(DEPDIR)/InitializationStringOp.Plo + -rm -f ./$(DEPDIR)/Pass.Plo + -rm -f ./$(DEPDIR)/libtest.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/BeagleTest.Plo + -rm -f ./$(DEPDIR)/GenotypeString.Plo + -rm -f ./$(DEPDIR)/InitializationStringOp.Plo + -rm -f ./$(DEPDIR)/Pass.Plo + -rm -f ./$(DEPDIR)/libtest.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstLTLIBRARIES \ + cscopelist-am ctags ctags-am distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@libtest.cpp: +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@ rm -f libtest.cpp +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@ echo "// Generated automatically by make" > libtest.cpp +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@ echo >> libtest.cpp +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@ echo $(TEST_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libtest.cpp + +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@clean-generic: +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@ rm -f libtest.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/Common/Pass.cpp b/lib/beagle-3.0.3/tests/Common/Pass.cpp new file mode 100644 index 0000000..7ca4c55 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/Pass.cpp @@ -0,0 +1,21 @@ +#include "Pass.hpp" + +using namespace std; +using namespace Beagle; +using namespace Test; + +const static int Pass = 0; +const static int Fail = 1; + + +int pass(std::string inMessage) +{ + cerr << "PASS (" << inMessage << ")" << endl; + return Pass; +} + +int fail(std::string inMessage) +{ + cerr << "FAIL (" << inMessage << ")" << endl; + return Fail; +} diff --git a/lib/beagle-3.0.3/tests/Common/Pass.hpp b/lib/beagle-3.0.3/tests/Common/Pass.hpp new file mode 100644 index 0000000..8a8a0eb --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/Pass.hpp @@ -0,0 +1,16 @@ +#ifndef Beagle_Tests_Pass_hpp +#define Beagle_Tests_Pass_hpp + +#include + +namespace Beagle { +namespace Test { + +int pass(std::string inMessage); +int fail(std::string inMessage); + +} // end of namespace Test +} // end of namespace Beagle + + +#endif // Beagle_Tests_Pass_hpp diff --git a/lib/beagle-3.0.3/tests/Common/Test.hpp b/lib/beagle-3.0.3/tests/Common/Test.hpp new file mode 100644 index 0000000..c5f2dc2 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Common/Test.hpp @@ -0,0 +1,10 @@ +#ifndef Beagle_Test_Test_hpp +#define Beagle_Test_Test_hpp + +#include "Macros.hpp" +#include "BeagleTest.hpp" +#include "Pass.hpp" +#include "GenotypeString.hpp" +#include "InitializationStringOp.hpp" + +#endif // Beagle_Test_Test_hpp diff --git a/lib/beagle-3.0.3/tests/Exception/.deps/TestStackTrace.Po b/lib/beagle-3.0.3/tests/Exception/.deps/TestStackTrace.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Exception/.deps/TestStackTrace.Po @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/Exception/Makefile b/lib/beagle-3.0.3/tests/Exception/Makefile new file mode 100644 index 0000000..bebbaa0 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Exception/Makefile @@ -0,0 +1,640 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# tests/Exception/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +#noinst_PROGRAMS = testStackTrace$(EXEEXT) +subdir = tests/Exception +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__testStackTrace_SOURCES_DIST = TestStackTrace.cpp +#am_testStackTrace_OBJECTS = \ +# TestStackTrace.$(OBJEXT) +testStackTrace_OBJECTS = $(am_testStackTrace_OBJECTS) +#testStackTrace_DEPENDENCIES = \ +# $(top_srcdir)/beagle/src/libbeagle.la \ +# $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +# $(top_srcdir)/PACC/XML/libpacc-xml.la \ +# $(top_srcdir)/PACC/Util/libpacc-util.la \ +# $(top_srcdir)/PACC/Math/libpacc-math.la +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/TestStackTrace.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(testStackTrace_SOURCES) +DIST_SOURCES = $(am__testStackTrace_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/Exception +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/Exception +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +#INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include +#testStackTrace_LDADD = $(top_srcdir)/beagle/src/libbeagle.la \ +# $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +# $(top_srcdir)/PACC/XML/libpacc-xml.la \ +# $(top_srcdir)/PACC/Util/libpacc-util.la \ +# $(top_srcdir)/PACC/Math/libpacc-math.la + +#testStackTrace_SOURCES = TestStackTrace.cpp +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Exception/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/Exception/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +testStackTrace$(EXEEXT): $(testStackTrace_OBJECTS) $(testStackTrace_DEPENDENCIES) $(EXTRA_testStackTrace_DEPENDENCIES) + @rm -f testStackTrace$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(testStackTrace_OBJECTS) $(testStackTrace_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/TestStackTrace.Po # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/TestStackTrace.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/TestStackTrace.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/Exception/Makefile.am b/lib/beagle-3.0.3/tests/Exception/Makefile.am new file mode 100644 index 0000000..8a2e786 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Exception/Makefile.am @@ -0,0 +1,10 @@ +if COMPILE_TESTS +noinst_PROGRAMS = testStackTrace +INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include +testStackTrace_LDADD = $(top_srcdir)/beagle/src/libbeagle.la \ + $(top_srcdir)/PACC/Threading/libpacc-threading.la \ + $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la \ + $(top_srcdir)/PACC/Math/libpacc-math.la +testStackTrace_SOURCES = TestStackTrace.cpp +endif COMPILE_TESTS diff --git a/lib/beagle-3.0.3/tests/Exception/Makefile.in b/lib/beagle-3.0.3/tests/Exception/Makefile.in new file mode 100644 index 0000000..e7b1615 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Exception/Makefile.in @@ -0,0 +1,640 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@COMPILE_TESTS_TRUE@noinst_PROGRAMS = testStackTrace$(EXEEXT) +subdir = tests/Exception +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__testStackTrace_SOURCES_DIST = TestStackTrace.cpp +@COMPILE_TESTS_TRUE@am_testStackTrace_OBJECTS = \ +@COMPILE_TESTS_TRUE@ TestStackTrace.$(OBJEXT) +testStackTrace_OBJECTS = $(am_testStackTrace_OBJECTS) +@COMPILE_TESTS_TRUE@testStackTrace_DEPENDENCIES = \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Util/libpacc-util.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Math/libpacc-math.la +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/TestStackTrace.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(testStackTrace_SOURCES) +DIST_SOURCES = $(am__testStackTrace_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@COMPILE_TESTS_TRUE@INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include +@COMPILE_TESTS_TRUE@testStackTrace_LDADD = $(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Util/libpacc-util.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Math/libpacc-math.la + +@COMPILE_TESTS_TRUE@testStackTrace_SOURCES = TestStackTrace.cpp +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Exception/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/Exception/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +testStackTrace$(EXEEXT): $(testStackTrace_OBJECTS) $(testStackTrace_DEPENDENCIES) $(EXTRA_testStackTrace_DEPENDENCIES) + @rm -f testStackTrace$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(testStackTrace_OBJECTS) $(testStackTrace_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestStackTrace.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/TestStackTrace.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/TestStackTrace.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/Exception/TestStackTrace.cpp b/lib/beagle-3.0.3/tests/Exception/TestStackTrace.cpp new file mode 100644 index 0000000..3407afe --- /dev/null +++ b/lib/beagle-3.0.3/tests/Exception/TestStackTrace.cpp @@ -0,0 +1,19 @@ +#include "beagle/Beagle.hpp" + +#include + +using namespace std; + +int main() { + try { + Beagle_StackTraceBeginM(); + Beagle_StackTraceBeginM(); + throw Beagle_RunTimeExceptionM("This is a test"); + Beagle_StackTraceEndM("Inner"); + Beagle_StackTraceEndM("Outer"); + } + catch (Beagle::Exception& inException) { + cout << "Caught Beagle::Exception:" << endl; + inException.explain(cerr); + } +} diff --git a/lib/beagle-3.0.3/tests/GA/Makefile b/lib/beagle-3.0.3/tests/GA/Makefile new file mode 100644 index 0000000..3322083 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GA/Makefile @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# tests/GA/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = tests/GA +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/GA +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/GA +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +SUBDIRS = optfct +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/GA/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/GA/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/GA/Makefile.am b/lib/beagle-3.0.3/tests/GA/Makefile.am new file mode 100644 index 0000000..9181f13 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GA/Makefile.am @@ -0,0 +1,2 @@ +SUBDIRS = optfct + diff --git a/lib/beagle-3.0.3/tests/GA/Makefile.in b/lib/beagle-3.0.3/tests/GA/Makefile.in new file mode 100644 index 0000000..ecf6d05 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GA/Makefile.in @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = tests/GA +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = optfct +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/GA/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/GA/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/GA/optfct/.deps/OptFctFloatMain.Po b/lib/beagle-3.0.3/tests/GA/optfct/.deps/OptFctFloatMain.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GA/optfct/.deps/OptFctFloatMain.Po @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/GA/optfct/Functions.hpp b/lib/beagle-3.0.3/tests/GA/optfct/Functions.hpp new file mode 100644 index 0000000..bfbd82a --- /dev/null +++ b/lib/beagle-3.0.3/tests/GA/optfct/Functions.hpp @@ -0,0 +1,196 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file Functions.hpp + * \brief Definition of the differents functions that can be optimized. + * \author Christian Gagne + * $Revision: 1.5.2.1 $ + * $Date: 2007/05/11 19:13:09 $ + */ + +#ifndef Functions_hpp +#define Functions_hpp + +#include +#include + + +/*! + * \brief Sphere function (F1). + */ +class SphereFunct { + +public: + + /*! + * \brief Construct a Sphere function object. + */ + SphereFunct() { } + + /*! + * \brief Evaluate the function on a given point. + * \param inX Point to evaluate the function value. + * \return Value of function at the given point. + */ + inline double operator()(const std::vector& inX) const + { + double lSum=0.0; +// for(unsigned i=0; i& inX) const + { + double lSum1=0.0, lSum2=0.0; + for(unsigned i=0; i& inX) const + { + double lSum=0.0; + for(unsigned i=0; i& inX) const + { + double lSum=0.0; + for(unsigned int i=0; i<(inX.size()-1); ++i) { + lSum += (100.0 * std::pow(((inX[i]*inX[i])-inX[i+1]), 2.0)) + + std::pow(inX[i], 2.0); + } + return lSum; + } + +}; + + +/*! + * \brief Rastrigin's function (F9). + */ +class RastriginFunct { + +public: + + /*! + * \brief Construct a Rastrigin's function object. + */ + RastriginFunct() { } + + /*! + * \brief Evaluate the function on a given point. + * \param inX Point to evaluate the function value. + * \return Value of function at the given point. + */ + inline double operator()(const std::vector& inX) const + { + double lSum=0.0; + for(unsigned i=0; i&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +#noinst_PROGRAMS = optfctfloat$(EXEEXT) +subdir = tests/GA/optfct +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__noinst_HEADERS_DIST) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__optfctfloat_SOURCES_DIST = OptFctFloatMain.cpp +#am_optfctfloat_OBJECTS = \ +# OptFctFloatMain.$(OBJEXT) +optfctfloat_OBJECTS = $(am_optfctfloat_OBJECTS) +#optfctfloat_DEPENDENCIES = $(top_builddir)/beagle/GA/src/libbeagle-GA.la \ +# $(top_builddir)/beagle/src/libbeagle.la \ +# $(top_builddir)/PACC/Math/libpacc-math.la \ +# $(top_builddir)/PACC/XML/libpacc-xml.la \ +# $(top_builddir)/PACC/Util/libpacc-util.la +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/OptFctFloatMain.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(optfctfloat_SOURCES) +DIST_SOURCES = $(am__optfctfloat_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__noinst_HEADERS_DIST = Functions.hpp OptFctFloatEvalOpT.hpp +HEADERS = $(noinst_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/GA/optfct +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/GA/optfct +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../ +top_builddir = ../../.. +top_srcdir = ../../.. +#INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include +#optfctfloat_LDADD = \ +#$(top_builddir)/beagle/GA/src/libbeagle-GA.la \ +#$(top_builddir)/beagle/src/libbeagle.la \ +#$(top_builddir)/PACC/Math/libpacc-math.la \ +#$(top_builddir)/PACC/XML/libpacc-xml.la \ +#$(top_builddir)/PACC/Util/libpacc-util.la + +#noinst_HEADERS = Functions.hpp OptFctFloatEvalOpT.hpp +#optfctfloat_SOURCES = OptFctFloatMain.cpp +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/GA/optfct/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/GA/optfct/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +optfctfloat$(EXEEXT): $(optfctfloat_OBJECTS) $(optfctfloat_DEPENDENCIES) $(EXTRA_optfctfloat_DEPENDENCIES) + @rm -f optfctfloat$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(optfctfloat_OBJECTS) $(optfctfloat_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/OptFctFloatMain.Po # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(HEADERS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/OptFctFloatMain.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/OptFctFloatMain.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/GA/optfct/Makefile.am b/lib/beagle-3.0.3/tests/GA/optfct/Makefile.am new file mode 100644 index 0000000..c625e95 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GA/optfct/Makefile.am @@ -0,0 +1,12 @@ +if COMPILE_TESTS +noinst_PROGRAMS = optfctfloat +INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include +optfctfloat_LDADD = \ +$(top_builddir)/beagle/GA/src/libbeagle-GA.la \ +$(top_builddir)/beagle/src/libbeagle.la \ +$(top_builddir)/PACC/Math/libpacc-math.la \ +$(top_builddir)/PACC/XML/libpacc-xml.la \ +$(top_builddir)/PACC/Util/libpacc-util.la +noinst_HEADERS = Functions.hpp OptFctFloatEvalOpT.hpp +optfctfloat_SOURCES = OptFctFloatMain.cpp +endif COMPILE_TESTS diff --git a/lib/beagle-3.0.3/tests/GA/optfct/Makefile.in b/lib/beagle-3.0.3/tests/GA/optfct/Makefile.in new file mode 100644 index 0000000..778c54f --- /dev/null +++ b/lib/beagle-3.0.3/tests/GA/optfct/Makefile.in @@ -0,0 +1,645 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@COMPILE_TESTS_TRUE@noinst_PROGRAMS = optfctfloat$(EXEEXT) +subdir = tests/GA/optfct +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__noinst_HEADERS_DIST) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__optfctfloat_SOURCES_DIST = OptFctFloatMain.cpp +@COMPILE_TESTS_TRUE@am_optfctfloat_OBJECTS = \ +@COMPILE_TESTS_TRUE@ OptFctFloatMain.$(OBJEXT) +optfctfloat_OBJECTS = $(am_optfctfloat_OBJECTS) +@COMPILE_TESTS_TRUE@optfctfloat_DEPENDENCIES = $(top_builddir)/beagle/GA/src/libbeagle-GA.la \ +@COMPILE_TESTS_TRUE@ $(top_builddir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@ $(top_builddir)/PACC/Math/libpacc-math.la \ +@COMPILE_TESTS_TRUE@ $(top_builddir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_builddir)/PACC/Util/libpacc-util.la +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/OptFctFloatMain.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(optfctfloat_SOURCES) +DIST_SOURCES = $(am__optfctfloat_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__noinst_HEADERS_DIST = Functions.hpp OptFctFloatEvalOpT.hpp +HEADERS = $(noinst_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@COMPILE_TESTS_TRUE@INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include +@COMPILE_TESTS_TRUE@optfctfloat_LDADD = \ +@COMPILE_TESTS_TRUE@$(top_builddir)/beagle/GA/src/libbeagle-GA.la \ +@COMPILE_TESTS_TRUE@$(top_builddir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@$(top_builddir)/PACC/Math/libpacc-math.la \ +@COMPILE_TESTS_TRUE@$(top_builddir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@$(top_builddir)/PACC/Util/libpacc-util.la + +@COMPILE_TESTS_TRUE@noinst_HEADERS = Functions.hpp OptFctFloatEvalOpT.hpp +@COMPILE_TESTS_TRUE@optfctfloat_SOURCES = OptFctFloatMain.cpp +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/GA/optfct/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/GA/optfct/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +optfctfloat$(EXEEXT): $(optfctfloat_OBJECTS) $(optfctfloat_DEPENDENCIES) $(EXTRA_optfctfloat_DEPENDENCIES) + @rm -f optfctfloat$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(optfctfloat_OBJECTS) $(optfctfloat_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OptFctFloatMain.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(HEADERS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/OptFctFloatMain.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/OptFctFloatMain.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/GA/optfct/OptFctFloatEvalOpT.hpp b/lib/beagle-3.0.3/tests/GA/optfct/OptFctFloatEvalOpT.hpp new file mode 100644 index 0000000..1e9630d --- /dev/null +++ b/lib/beagle-3.0.3/tests/GA/optfct/OptFctFloatEvalOpT.hpp @@ -0,0 +1,97 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file OptFctFloatEvalOp.hpp + * \brief Definition of the type OptFctFloatEvalOp. + * \author Christian Gagne + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/11 19:13:09 $ + */ + +#ifndef OptFctFloatEvalOp_hpp +#define OptFctFloatEvalOp_hpp + +#include "beagle/GA.hpp" + + +/*! + * \class OptFctFloatEvalOpT OptFctFloatEvalOpT.hpp "OptFctFloatEvalOpT.hpp" + * \brief Evaluation class operator for the optimisation with float vector GA. + */ +template +class OptFctFloatEvalOpT : public Beagle::EvaluationOp { + +public: + + //! OptFctFloatEvalOpT allocator type. + typedef Beagle::AllocatorT< OptFctFloatEvalOpT,Beagle::EvaluationOp::Alloc > + Alloc; + //!< OptFctFloatEvalOpT handle type. + typedef Beagle::PointerT< OptFctFloatEvalOpT,Beagle::EvaluationOp::Handle > + Handle; + //!< OptFctFloatEvalOpT bag type. + typedef Beagle::ContainerT< OptFctFloatEvalOpT,Beagle::EvaluationOp::Bag > + Bag; + + explicit OptFctFloatEvalOpT(std::string inName="OptFctFloatEvalOpT"); + virtual ~OptFctFloatEvalOpT() { } + + virtual Beagle::Fitness::Handle evaluate(Beagle::Individual& inIndividual, + Beagle::Context& ioContext); + +}; + + +/*! + * \brief Construct an evaluation operator for the optimization with float vector GA. + * \param inName Operator name. + */ +template +OptFctFloatEvalOpT::OptFctFloatEvalOpT(std::string inName) : + Beagle::EvaluationOp(inName) +{ } + + +/*! + * \brief Evaluate the fitness of an individual for real-valued optimization function. + * \param inIndividual Individual to use for fitness evaluation. + * \param ioContext Evolutionary context. + */ +template +Beagle::Fitness::Handle OptFctFloatEvalOpT::evaluate(Beagle::Individual& inIndividual, + Beagle::Context& ioContext) +{ + Beagle_AssertM(inIndividual.size() == 1); + Beagle::GA::FloatVector::Handle lFloatVector = + Beagle::castHandleT(inIndividual[0]); + T lFunctor; + const double lF = lFunctor(*lFloatVector); + return new Beagle::FitnessSimpleMin(lF); +} + + +#endif // OptFctFloatEvalOp_hpp diff --git a/lib/beagle-3.0.3/tests/GA/optfct/OptFctFloatMain.cpp b/lib/beagle-3.0.3/tests/GA/optfct/OptFctFloatMain.cpp new file mode 100644 index 0000000..9f9607c --- /dev/null +++ b/lib/beagle-3.0.3/tests/GA/optfct/OptFctFloatMain.cpp @@ -0,0 +1,99 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file OptFctFloatMain.cpp + * \brief Main routine for the real-valued function optimization problems. + * \author Christian Gagne + * $Revision: 1.3.2.1 $ + * $Date: 2007/05/11 19:13:09 $ + */ + +#include "Functions.hpp" +#include "OptFctFloatEvalOpT.hpp" + +#include +#include +#include +#include +#include + +using namespace std; +using namespace Beagle; + + +/*! + * \brief Main routine for the real-valued function optimization problems. + * \param argc Number of arguments on the command-line. + * \param argv Arguments on the command-line. + * \return Return value of the program. + */ +int main(int argc, char** argv) { + try { + // 1. Build the system. + System::Handle lSystem = new System; + // 2. Build the different evaluation operators. + OptFctFloatEvalOpT::Handle lSphereEvalOp = + new OptFctFloatEvalOpT("SphereEvalOp"); + OptFctFloatEvalOpT::Handle lSchwefelEvalOp = + new OptFctFloatEvalOpT("SchwefelEvalOp"); + OptFctFloatEvalOpT::Handle lF3EvalOp = + new OptFctFloatEvalOpT("F3EvalOp"); + OptFctFloatEvalOpT::Handle lRosenbrockEvalOp = + new OptFctFloatEvalOpT("RosenbrockEvalOp"); + OptFctFloatEvalOpT::Handle lRastriginEvalOp = + new OptFctFloatEvalOpT("RastriginEvalOp"); + // 3. Instanciate the evolver and the vivarium for float vectors GA population. + GA::FloatVector::Alloc::Handle lFVAlloc = new GA::FloatVector::Alloc; + FitnessSimpleMin::Alloc::Handle lFitAlloc = new FitnessSimpleMin::Alloc; + Vivarium::Handle lVivarium = new Vivarium(lFVAlloc, lFitAlloc); + // 4. Initialize the evolver and evolve the vivarium. + GA::EvolverFloatVector::Handle lEvolver = new GA::EvolverFloatVector(lSphereEvalOp, 5); + lEvolver->addOperator(lSchwefelEvalOp); + lEvolver->addOperator(lF3EvalOp); + lEvolver->addOperator(lRosenbrockEvalOp); + lEvolver->addOperator(lRastriginEvalOp); + lEvolver->initialize(lSystem, argc, argv); + lEvolver->evolve(lVivarium); + // 5. Log best-of-run solution. + Beagle_LogObjectM( + lSystem->getLogger(), + Beagle::Logger::eBasic, + "main", + "main", + lVivarium->getHallOfFame() + ); + } + catch(Exception& inException) { + inException.terminate(cerr); + } + catch(std::exception& inException) { + cerr << "Standard exception catched:" << endl << flush; + cerr << inException.what() << endl << flush; + return 1; + } + return 0; +} diff --git a/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/.deps/FitnessTestGPIndividual.Po b/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/.deps/FitnessTestGPIndividual.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/.deps/FitnessTestGPIndividual.Po @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/.deps/SymbRegEvalOp.Po b/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/.deps/SymbRegEvalOp.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/.deps/SymbRegEvalOp.Po @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/FitnessTestGPIndividual.cpp b/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/FitnessTestGPIndividual.cpp new file mode 100644 index 0000000..48c93ca --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/FitnessTestGPIndividual.cpp @@ -0,0 +1,64 @@ +#include "SymbRegEvalOp.hpp" + +#include + + +using namespace std; +using namespace Beagle; + + +int main(int argc, char** argv) { + try { + // Create a set of primitives + GP::PrimitiveSet::Handle lSet = new GP::PrimitiveSet; + lSet->insert(new GP::Add); + lSet->insert(new GP::Subtract); + lSet->insert(new GP::Multiply); + lSet->insert(new GP::Divide); + lSet->insert(new GP::TokenT("X")); + lSet->insert(new GP::EphemeralDouble); + + // Create a system + Beagle::GP::System::Handle lSystem = new Beagle::GP::System(lSet); + + // Create operators + Beagle::GP::EvaluationOp::Handle lEvalOp = new SymbRegEvalOp; + + // Initialize operators and system + lSystem->initialize(argc, argv); + lEvalOp->initialize(*lSystem); + lSystem->postInit(); + lEvalOp->postInit(*lSystem); + + // Get filename from command-line arguments + std::string lFileName = "indi.xml"; + if(argc>1) lFileName=argv[1]; + + // Create and read individual + Beagle::GP::Individual::Handle lIndividual = new Beagle::GP::Individual; + lIndividual->readFromFile(lFileName.c_str(), *lSystem); + + // Write individual to screen + std::cout << "Read individual: " << lIndividual->serialize() << std::endl; + + // Evaluate individual + Beagle::Fitness::Handle lFitness = lEvalOp->test(lIndividual, lSystem); + + // Write fitness to screen + std::cout << "Fitness: " << std::endl; + std::cout << lFitness->serialize() << std::endl; + + } + catch(Beagle::Exception& inException) { + inException.terminate(); + } + catch(std::exception& inException) { + std::cerr << "Standard exception catched: " << inException.what() << std::endl; + std::terminate(); + } + catch(...) { + std::cerr << "An unknown exception was thrown, exiting!" << std::endl; + } +} + + diff --git a/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/Makefile b/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/Makefile new file mode 100644 index 0000000..dacd27f --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/Makefile @@ -0,0 +1,658 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# tests/GP/FitnessTestGPIndividual/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +#noinst_PROGRAMS = \ +# fitnessTestGPIndividual$(EXEEXT) +subdir = tests/GP/FitnessTestGPIndividual +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__noinst_HEADERS_DIST) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__fitnessTestGPIndividual_SOURCES_DIST = \ + FitnessTestGPIndividual.cpp SymbRegEvalOp.cpp +#am_fitnessTestGPIndividual_OBJECTS = \ +# FitnessTestGPIndividual.$(OBJEXT) \ +# SymbRegEvalOp.$(OBJEXT) +fitnessTestGPIndividual_OBJECTS = \ + $(am_fitnessTestGPIndividual_OBJECTS) +#fitnessTestGPIndividual_DEPENDENCIES = \ +# $(top_srcdir)/PACC/Math/libpacc-math.la \ +# $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +# $(top_srcdir)/PACC/Util/libpacc-util.la \ +# $(top_srcdir)/PACC/XML/libpacc-xml.la \ +# $(top_srcdir)/beagle/src/libbeagle.la \ +# $(top_srcdir)/beagle/GP/src/libbeagle-GP.la +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/FitnessTestGPIndividual.Po \ + ./$(DEPDIR)/SymbRegEvalOp.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(fitnessTestGPIndividual_SOURCES) +DIST_SOURCES = $(am__fitnessTestGPIndividual_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__noinst_HEADERS_DIST = SymbRegEvalOp.hpp +HEADERS = $(noinst_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../ +top_builddir = ../../.. +top_srcdir = ../../.. +#INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include +#fitnessTestGPIndividual_LDADD = $(top_srcdir)/PACC/Math/libpacc-math.la \ +# $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +# $(top_srcdir)/PACC/Util/libpacc-util.la \ +# $(top_srcdir)/PACC/XML/libpacc-xml.la \ +# $(top_srcdir)/beagle/src/libbeagle.la \ +# $(top_srcdir)/beagle/GP/src/libbeagle-GP.la + +#noinst_HEADERS = SymbRegEvalOp.hpp +#fitnessTestGPIndividual_SOURCES = \ +#FitnessTestGPIndividual.cpp \ +#SymbRegEvalOp.cpp + +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/GP/FitnessTestGPIndividual/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/GP/FitnessTestGPIndividual/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +fitnessTestGPIndividual$(EXEEXT): $(fitnessTestGPIndividual_OBJECTS) $(fitnessTestGPIndividual_DEPENDENCIES) $(EXTRA_fitnessTestGPIndividual_DEPENDENCIES) + @rm -f fitnessTestGPIndividual$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(fitnessTestGPIndividual_OBJECTS) $(fitnessTestGPIndividual_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/FitnessTestGPIndividual.Po # am--include-marker +include ./$(DEPDIR)/SymbRegEvalOp.Po # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(HEADERS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/FitnessTestGPIndividual.Po + -rm -f ./$(DEPDIR)/SymbRegEvalOp.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/FitnessTestGPIndividual.Po + -rm -f ./$(DEPDIR)/SymbRegEvalOp.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/Makefile.am b/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/Makefile.am new file mode 100644 index 0000000..7d4c208 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/Makefile.am @@ -0,0 +1,14 @@ +if COMPILE_TESTS +noinst_PROGRAMS = fitnessTestGPIndividual +INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include +fitnessTestGPIndividual_LDADD = $(top_srcdir)/PACC/Math/libpacc-math.la \ + $(top_srcdir)/PACC/Threading/libpacc-threading.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la \ + $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/beagle/src/libbeagle.la \ + $(top_srcdir)/beagle/GP/src/libbeagle-GP.la +noinst_HEADERS = SymbRegEvalOp.hpp +fitnessTestGPIndividual_SOURCES = \ +FitnessTestGPIndividual.cpp \ +SymbRegEvalOp.cpp +endif COMPILE_TESTS diff --git a/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/Makefile.in b/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/Makefile.in new file mode 100644 index 0000000..51fbf17 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/Makefile.in @@ -0,0 +1,658 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@COMPILE_TESTS_TRUE@noinst_PROGRAMS = \ +@COMPILE_TESTS_TRUE@ fitnessTestGPIndividual$(EXEEXT) +subdir = tests/GP/FitnessTestGPIndividual +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__noinst_HEADERS_DIST) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__fitnessTestGPIndividual_SOURCES_DIST = \ + FitnessTestGPIndividual.cpp SymbRegEvalOp.cpp +@COMPILE_TESTS_TRUE@am_fitnessTestGPIndividual_OBJECTS = \ +@COMPILE_TESTS_TRUE@ FitnessTestGPIndividual.$(OBJEXT) \ +@COMPILE_TESTS_TRUE@ SymbRegEvalOp.$(OBJEXT) +fitnessTestGPIndividual_OBJECTS = \ + $(am_fitnessTestGPIndividual_OBJECTS) +@COMPILE_TESTS_TRUE@fitnessTestGPIndividual_DEPENDENCIES = \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Math/libpacc-math.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Util/libpacc-util.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/GP/src/libbeagle-GP.la +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/FitnessTestGPIndividual.Po \ + ./$(DEPDIR)/SymbRegEvalOp.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(fitnessTestGPIndividual_SOURCES) +DIST_SOURCES = $(am__fitnessTestGPIndividual_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__noinst_HEADERS_DIST = SymbRegEvalOp.hpp +HEADERS = $(noinst_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@COMPILE_TESTS_TRUE@INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include +@COMPILE_TESTS_TRUE@fitnessTestGPIndividual_LDADD = $(top_srcdir)/PACC/Math/libpacc-math.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Util/libpacc-util.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/GP/src/libbeagle-GP.la + +@COMPILE_TESTS_TRUE@noinst_HEADERS = SymbRegEvalOp.hpp +@COMPILE_TESTS_TRUE@fitnessTestGPIndividual_SOURCES = \ +@COMPILE_TESTS_TRUE@FitnessTestGPIndividual.cpp \ +@COMPILE_TESTS_TRUE@SymbRegEvalOp.cpp + +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/GP/FitnessTestGPIndividual/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/GP/FitnessTestGPIndividual/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +fitnessTestGPIndividual$(EXEEXT): $(fitnessTestGPIndividual_OBJECTS) $(fitnessTestGPIndividual_DEPENDENCIES) $(EXTRA_fitnessTestGPIndividual_DEPENDENCIES) + @rm -f fitnessTestGPIndividual$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(fitnessTestGPIndividual_OBJECTS) $(fitnessTestGPIndividual_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/FitnessTestGPIndividual.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SymbRegEvalOp.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(HEADERS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/FitnessTestGPIndividual.Po + -rm -f ./$(DEPDIR)/SymbRegEvalOp.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/FitnessTestGPIndividual.Po + -rm -f ./$(DEPDIR)/SymbRegEvalOp.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/SymbRegEvalOp.cpp b/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/SymbRegEvalOp.cpp new file mode 100644 index 0000000..c11a479 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/FitnessTestGPIndividual/SymbRegEvalOp.cpp @@ -0,0 +1,92 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2007 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1K 7P4 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file SymbRegEvalOp.cpp + * \brief Implementation of the class SymbRegEvalOp. + * \author Christian Gagne + * \author Marc Parizeau + * $Revision: 1.7.2.1 $ + * $Date: 2007/05/09 01:51:24 $ + */ + +#include "SymbRegEvalOp.hpp" + +#include + +using namespace Beagle; + +/*! + * \brief Construct a new symbolic regression evaluation operator. + * \param inName Name of the evaluation operator. + */ +SymbRegEvalOp::SymbRegEvalOp(std::string inName) : + GP::EvaluationOp(inName.c_str()), + mX(0), + mY(0) +{ } + + +/*! + * \brief Evaluate the individual fitness for the symbolic regression problem. + * \param inIndividual Individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness measure, + */ +Fitness::Handle SymbRegEvalOp::evaluate(GP::Individual& inIndividual, GP::Context& ioContext) +{ + using namespace std; + cout << "Evaluating individual's fitness:" << endl; + double lSquareError = 0.0; + for(unsigned int i=0; i +#include + + + +/*! + * \class SymbRegEvalOp SymbRegEvalOp.hpp "SymbRegEvalOp.hpp" + * \brief The individual evaluation class operator for the problem of symbolic regression. + * \ingroup SymbReg + */ +class SymbRegEvalOp : public Beagle::GP::EvaluationOp { + +public: + + //! SymbRegEvalOp allocator type. + typedef Beagle::AllocatorT + Alloc; + //!< SymbRegEvalOp handle type. + typedef Beagle::PointerT + Handle; + //!< SymbRegEvalOp bag type. + typedef Beagle::ContainerT + Bag; + + explicit SymbRegEvalOp(std::string inName="SymbRegEvalOp"); + + virtual Beagle::Fitness::Handle evaluate(Beagle::GP::Individual& inIndividual, + Beagle::GP::Context& ioContext); + virtual void postInit(Beagle::System& ioSystem); + +protected: + std::vector mX; + std::vector mY; + +}; + +#endif // SymbRegEvalOp_hpp diff --git a/lib/beagle-3.0.3/tests/GP/Makefile b/lib/beagle-3.0.3/tests/GP/Makefile new file mode 100644 index 0000000..d5699b9 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/Makefile @@ -0,0 +1,657 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# tests/GP/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = tests/GP +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/GP +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/GP +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +SUBDIRS = \ +FitnessTestGPIndividual \ +ReadGPIndividual \ +WriteRandomGPIndividual + +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/GP/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/GP/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/GP/Makefile.am b/lib/beagle-3.0.3/tests/GP/Makefile.am new file mode 100644 index 0000000..57b36ca --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/Makefile.am @@ -0,0 +1,4 @@ +SUBDIRS = \ +FitnessTestGPIndividual \ +ReadGPIndividual \ +WriteRandomGPIndividual diff --git a/lib/beagle-3.0.3/tests/GP/Makefile.in b/lib/beagle-3.0.3/tests/GP/Makefile.in new file mode 100644 index 0000000..740dd98 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/Makefile.in @@ -0,0 +1,657 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = tests/GP +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = \ +FitnessTestGPIndividual \ +ReadGPIndividual \ +WriteRandomGPIndividual + +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/GP/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/GP/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/GP/ReadGPIndividual/.deps/ReadGPIndividual.Po b/lib/beagle-3.0.3/tests/GP/ReadGPIndividual/.deps/ReadGPIndividual.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/ReadGPIndividual/.deps/ReadGPIndividual.Po @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/GP/ReadGPIndividual/Makefile b/lib/beagle-3.0.3/tests/GP/ReadGPIndividual/Makefile new file mode 100644 index 0000000..e1b82ca --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/ReadGPIndividual/Makefile @@ -0,0 +1,641 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# tests/GP/ReadGPIndividual/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +#noinst_PROGRAMS = readgpind$(EXEEXT) +subdir = tests/GP/ReadGPIndividual +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__readgpind_SOURCES_DIST = ReadGPIndividual.cpp +#am_readgpind_OBJECTS = ReadGPIndividual.$(OBJEXT) +readgpind_OBJECTS = $(am_readgpind_OBJECTS) +#readgpind_DEPENDENCIES = \ +# $(top_srcdir)/PACC/Math/libpacc-math.la \ +# $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +# $(top_srcdir)/PACC/Util/libpacc-util.la \ +# $(top_srcdir)/PACC/XML/libpacc-xml.la \ +# $(top_srcdir)/beagle/src/libbeagle.la \ +# $(top_srcdir)/beagle/GP/src/libbeagle-GP.la +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/ReadGPIndividual.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(readgpind_SOURCES) +DIST_SOURCES = $(am__readgpind_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/GP/ReadGPIndividual +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/GP/ReadGPIndividual +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../ +top_builddir = ../../.. +top_srcdir = ../../.. +#INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include +#readgpind_LDADD = $(top_srcdir)/PACC/Math/libpacc-math.la \ +# $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +# $(top_srcdir)/PACC/Util/libpacc-util.la \ +# $(top_srcdir)/PACC/XML/libpacc-xml.la \ +# $(top_srcdir)/beagle/src/libbeagle.la \ +# $(top_srcdir)/beagle/GP/src/libbeagle-GP.la + +#readgpind_SOURCES = ReadGPIndividual.cpp +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/GP/ReadGPIndividual/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/GP/ReadGPIndividual/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +readgpind$(EXEEXT): $(readgpind_OBJECTS) $(readgpind_DEPENDENCIES) $(EXTRA_readgpind_DEPENDENCIES) + @rm -f readgpind$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(readgpind_OBJECTS) $(readgpind_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/ReadGPIndividual.Po # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/ReadGPIndividual.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/ReadGPIndividual.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/GP/ReadGPIndividual/Makefile.am b/lib/beagle-3.0.3/tests/GP/ReadGPIndividual/Makefile.am new file mode 100644 index 0000000..1ad55ca --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/ReadGPIndividual/Makefile.am @@ -0,0 +1,11 @@ +if COMPILE_TESTS +noinst_PROGRAMS = readgpind +INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include +readgpind_LDADD = $(top_srcdir)/PACC/Math/libpacc-math.la \ + $(top_srcdir)/PACC/Threading/libpacc-threading.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la \ + $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/beagle/src/libbeagle.la \ + $(top_srcdir)/beagle/GP/src/libbeagle-GP.la +readgpind_SOURCES = ReadGPIndividual.cpp +endif COMPILE_TESTS diff --git a/lib/beagle-3.0.3/tests/GP/ReadGPIndividual/Makefile.in b/lib/beagle-3.0.3/tests/GP/ReadGPIndividual/Makefile.in new file mode 100644 index 0000000..8f86d60 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/ReadGPIndividual/Makefile.in @@ -0,0 +1,641 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@COMPILE_TESTS_TRUE@noinst_PROGRAMS = readgpind$(EXEEXT) +subdir = tests/GP/ReadGPIndividual +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__readgpind_SOURCES_DIST = ReadGPIndividual.cpp +@COMPILE_TESTS_TRUE@am_readgpind_OBJECTS = ReadGPIndividual.$(OBJEXT) +readgpind_OBJECTS = $(am_readgpind_OBJECTS) +@COMPILE_TESTS_TRUE@readgpind_DEPENDENCIES = \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Math/libpacc-math.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Util/libpacc-util.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/GP/src/libbeagle-GP.la +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/ReadGPIndividual.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(readgpind_SOURCES) +DIST_SOURCES = $(am__readgpind_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@COMPILE_TESTS_TRUE@INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include +@COMPILE_TESTS_TRUE@readgpind_LDADD = $(top_srcdir)/PACC/Math/libpacc-math.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Util/libpacc-util.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/GP/src/libbeagle-GP.la + +@COMPILE_TESTS_TRUE@readgpind_SOURCES = ReadGPIndividual.cpp +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/GP/ReadGPIndividual/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/GP/ReadGPIndividual/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +readgpind$(EXEEXT): $(readgpind_OBJECTS) $(readgpind_DEPENDENCIES) $(EXTRA_readgpind_DEPENDENCIES) + @rm -f readgpind$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(readgpind_OBJECTS) $(readgpind_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ReadGPIndividual.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/ReadGPIndividual.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/ReadGPIndividual.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/GP/ReadGPIndividual/ReadGPIndividual.cpp b/lib/beagle-3.0.3/tests/GP/ReadGPIndividual/ReadGPIndividual.cpp new file mode 100644 index 0000000..8a09d50 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/ReadGPIndividual/ReadGPIndividual.cpp @@ -0,0 +1,45 @@ +#include + +#include "beagle/GP.hpp" + +using namespace Beagle; + + +int main(int argc, char** argv) { + try { + // Create a set of primitives + GP::PrimitiveSet::Handle lSet = new GP::PrimitiveSet; + lSet->insert(new GP::Add); + lSet->insert(new GP::Subtract); + lSet->insert(new GP::Multiply); + lSet->insert(new GP::Divide); + lSet->insert(new GP::TokenT("X")); + lSet->insert(new GP::EphemeralDouble); + + // Create and initialize the system + Beagle::GP::System::Handle lSystem = new Beagle::GP::System(lSet); + lSystem->initialize(argc, argv); + lSystem->postInit(); + + // Get filename from command-line arguments + string lFileName = "indi.xml"; + if(argc>1) lFileName=argv[1]; + + // Create and read individual + Beagle::GP::Individual::Handle lIndividual = new Beagle::GP::Individual; + lIndividual->readFromFile(lFileName, *lSystem); + + // Write individual to screen + std::cout << "Read individual: " << lIndividual->serialize() << std::endl; + } + catch(Beagle::Exception& inException) { + inException.terminate(); + } + catch(std::exception& inException) { + std::cerr << "Standard exception catched: " << inException.what() << std::endl; + std::terminate(); + } + catch(...) { + std::cerr << "An unknown exception was thrown, exiting!" << std::endl; + } +} diff --git a/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual/.deps/WriteRandomGPIndividual.Po b/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual/.deps/WriteRandomGPIndividual.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual/.deps/WriteRandomGPIndividual.Po @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual/Makefile b/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual/Makefile new file mode 100644 index 0000000..6fadff6 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual/Makefile @@ -0,0 +1,645 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# tests/GP/WriteRandomGPIndividual/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +#noinst_PROGRAMS = \ +# writeRandomGPIndividual$(EXEEXT) +subdir = tests/GP/WriteRandomGPIndividual +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__writeRandomGPIndividual_SOURCES_DIST = \ + WriteRandomGPIndividual.cpp +#am_writeRandomGPIndividual_OBJECTS = \ +# WriteRandomGPIndividual.$(OBJEXT) +writeRandomGPIndividual_OBJECTS = \ + $(am_writeRandomGPIndividual_OBJECTS) +#writeRandomGPIndividual_DEPENDENCIES = \ +# $(top_srcdir)/PACC/Math/libpacc-math.la \ +# $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +# $(top_srcdir)/PACC/Util/libpacc-util.la \ +# $(top_srcdir)/PACC/XML/libpacc-xml.la \ +# $(top_srcdir)/beagle/src/libbeagle.la \ +# $(top_srcdir)/beagle/GP/src/libbeagle-GP.la +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/WriteRandomGPIndividual.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(writeRandomGPIndividual_SOURCES) +DIST_SOURCES = $(am__writeRandomGPIndividual_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../ +top_builddir = ../../.. +top_srcdir = ../../.. +#INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include +#writeRandomGPIndividual_LDADD = $(top_srcdir)/PACC/Math/libpacc-math.la \ +# $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +# $(top_srcdir)/PACC/Util/libpacc-util.la \ +# $(top_srcdir)/PACC/XML/libpacc-xml.la \ +# $(top_srcdir)/beagle/src/libbeagle.la \ +# $(top_srcdir)/beagle/GP/src/libbeagle-GP.la + +#writeRandomGPIndividual_SOURCES = WriteRandomGPIndividual.cpp +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/GP/WriteRandomGPIndividual/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/GP/WriteRandomGPIndividual/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +writeRandomGPIndividual$(EXEEXT): $(writeRandomGPIndividual_OBJECTS) $(writeRandomGPIndividual_DEPENDENCIES) $(EXTRA_writeRandomGPIndividual_DEPENDENCIES) + @rm -f writeRandomGPIndividual$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(writeRandomGPIndividual_OBJECTS) $(writeRandomGPIndividual_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/WriteRandomGPIndividual.Po # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/WriteRandomGPIndividual.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/WriteRandomGPIndividual.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual/Makefile.am b/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual/Makefile.am new file mode 100644 index 0000000..13d9f34 --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual/Makefile.am @@ -0,0 +1,11 @@ +if COMPILE_TESTS +noinst_PROGRAMS = writeRandomGPIndividual +INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include +writeRandomGPIndividual_LDADD = $(top_srcdir)/PACC/Math/libpacc-math.la \ + $(top_srcdir)/PACC/Threading/libpacc-threading.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la \ + $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/beagle/src/libbeagle.la \ + $(top_srcdir)/beagle/GP/src/libbeagle-GP.la +writeRandomGPIndividual_SOURCES = WriteRandomGPIndividual.cpp +endif COMPILE_TESTS diff --git a/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual/Makefile.in b/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual/Makefile.in new file mode 100644 index 0000000..c3a708a --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual/Makefile.in @@ -0,0 +1,645 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@COMPILE_TESTS_TRUE@noinst_PROGRAMS = \ +@COMPILE_TESTS_TRUE@ writeRandomGPIndividual$(EXEEXT) +subdir = tests/GP/WriteRandomGPIndividual +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__writeRandomGPIndividual_SOURCES_DIST = \ + WriteRandomGPIndividual.cpp +@COMPILE_TESTS_TRUE@am_writeRandomGPIndividual_OBJECTS = \ +@COMPILE_TESTS_TRUE@ WriteRandomGPIndividual.$(OBJEXT) +writeRandomGPIndividual_OBJECTS = \ + $(am_writeRandomGPIndividual_OBJECTS) +@COMPILE_TESTS_TRUE@writeRandomGPIndividual_DEPENDENCIES = \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Math/libpacc-math.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Util/libpacc-util.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/GP/src/libbeagle-GP.la +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/WriteRandomGPIndividual.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(writeRandomGPIndividual_SOURCES) +DIST_SOURCES = $(am__writeRandomGPIndividual_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@COMPILE_TESTS_TRUE@INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include +@COMPILE_TESTS_TRUE@writeRandomGPIndividual_LDADD = $(top_srcdir)/PACC/Math/libpacc-math.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Util/libpacc-util.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/GP/src/libbeagle-GP.la + +@COMPILE_TESTS_TRUE@writeRandomGPIndividual_SOURCES = WriteRandomGPIndividual.cpp +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/GP/WriteRandomGPIndividual/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/GP/WriteRandomGPIndividual/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +writeRandomGPIndividual$(EXEEXT): $(writeRandomGPIndividual_OBJECTS) $(writeRandomGPIndividual_DEPENDENCIES) $(EXTRA_writeRandomGPIndividual_DEPENDENCIES) + @rm -f writeRandomGPIndividual$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(writeRandomGPIndividual_OBJECTS) $(writeRandomGPIndividual_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WriteRandomGPIndividual.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/WriteRandomGPIndividual.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/WriteRandomGPIndividual.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual/WriteRandomGPIndividual.cpp b/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual/WriteRandomGPIndividual.cpp new file mode 100644 index 0000000..add9f2d --- /dev/null +++ b/lib/beagle-3.0.3/tests/GP/WriteRandomGPIndividual/WriteRandomGPIndividual.cpp @@ -0,0 +1,63 @@ +#include + +#include "beagle/GP.hpp" + +using namespace std; +using namespace Beagle; + + +int main(int argc, char** argv) { + try { + // Create a set of primitives + GP::PrimitiveSet::Handle lSet = new GP::PrimitiveSet; + lSet->insert(new GP::Add); + lSet->insert(new GP::Subtract); + lSet->insert(new GP::Multiply); + lSet->insert(new GP::Divide); + lSet->insert(new GP::TokenT("X")); + lSet->insert(new GP::EphemeralDouble); + + // Create a system + Beagle::GP::System::Handle lSystem = + new Beagle::GP::System( lSet ); + + // Create operators + Beagle::GP::InitHalfOp::Handle lInitHalfOp = + new Beagle::GP::InitHalfOp; + + + // Initialize operators + lInitHalfOp->initialize( *lSystem ); + // Initialize System + lSystem->initialize( argc, argv ); + // Post-init System + lSystem->postInit(); + // Post-init operators + lInitHalfOp->postInit( *lSystem ); + + + // Create a Context and set it up + Beagle::GP::Context lContext; + lContext.setSystemHandle(lSystem); + + + // Create individual and initialize using ramped-half-and-half + Beagle::GP::Individual::Handle lIndividual + = new Beagle::GP::Individual; + + lInitHalfOp->initIndividual( *lIndividual, lContext ); + + + // Write individual to screen + PACC::XML::Streamer lXMLStreamer( cout ); + lIndividual->write( lXMLStreamer ); + + cout << endl; + } + catch ( Beagle::Exception& inException ) { + inException.terminate(); + } + catch ( ... ) { + cout << "An non-Beagle exception was thrown" << endl; + } +} diff --git a/lib/beagle-3.0.3/tests/LinGP/Makefile b/lib/beagle-3.0.3/tests/LinGP/Makefile new file mode 100644 index 0000000..39fabf3 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/Makefile @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# tests/LinGP/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = tests/LinGP +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/LinGP +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/LinGP +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +SUBDIRS = include src +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/LinGP/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/LinGP/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/LinGP/Makefile.am b/lib/beagle-3.0.3/tests/LinGP/Makefile.am new file mode 100644 index 0000000..c74acb4 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = include src diff --git a/lib/beagle-3.0.3/tests/LinGP/Makefile.in b/lib/beagle-3.0.3/tests/LinGP/Makefile.in new file mode 100644 index 0000000..42fff77 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/Makefile.in @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = tests/LinGP +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = include src +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/LinGP/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/LinGP/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/LinGP/include/Makefile b/lib/beagle-3.0.3/tests/LinGP/include/Makefile new file mode 100644 index 0000000..2f43e78 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/Makefile @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# tests/LinGP/include/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = tests/LinGP/include +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/LinGP/include +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/LinGP/include +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../ +top_builddir = ../../.. +top_srcdir = ../../.. +SUBDIRS = beagle +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/LinGP/include/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/LinGP/include/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/LinGP/include/Makefile.am b/lib/beagle-3.0.3/tests/LinGP/include/Makefile.am new file mode 100644 index 0000000..eb21220 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = beagle diff --git a/lib/beagle-3.0.3/tests/LinGP/include/Makefile.in b/lib/beagle-3.0.3/tests/LinGP/include/Makefile.in new file mode 100644 index 0000000..c2088e7 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/Makefile.in @@ -0,0 +1,653 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = tests/LinGP/include +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = beagle +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/LinGP/include/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/LinGP/include/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP.hpp new file mode 100644 index 0000000..0b741bc --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP.hpp @@ -0,0 +1,79 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP.hpp + * \brief File to include to import all the linear GP specific Beagle classes. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +/*! + * \namespace Beagle::LinGP + * \brief Namespace of all the classes of the Open Beagle linear GP framework. + * \ingroup LinGPF + */ + +/*! + * \defgroup LinGPF Linear GP Framework + * \brief Specialized framework for linear genetic programming. + */ + +#ifndef Beagle_LinGP_hpp +#define Beagle_LinGP_hpp + + +// Beagle generic components + +#include "beagle/Beagle.hpp" + +// GA framework + +#include "beagle/GA.hpp" + +// Linear GP framework + +#include "beagle/LinGP/Instruction.hpp" +#include "beagle/LinGP/Context.hpp" +#include "beagle/LinGP/Memory.hpp" +#include "beagle/LinGP/System.hpp" +#include "beagle/LinGP/InstructionInline.hpp" +#include "beagle/LinGP/InstructionSet.hpp" +#include "beagle/LinGP/InstructionSuperSet.hpp" +#include "beagle/LinGP/Program.hpp" +#include "beagle/LinGP/Individual.hpp" +#include "beagle/LinGP/EvaluationOp.hpp" +#include "beagle/LinGP/CrossoverOnePointOp.hpp" +#include "beagle/LinGP/CrossoverTwoPointsOp.hpp" +#include "beagle/LinGP/CrossoverUniformOp.hpp" +#include "beagle/LinGP/MutationOp.hpp" +#include "beagle/LinGP/InitializationOp.hpp" +#include "beagle/LinGP/Evolver.hpp" + +#endif // Beagle_LinGP_hpp + diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Context.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Context.hpp new file mode 100644 index 0000000..1703dc4 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Context.hpp @@ -0,0 +1,281 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/Context.hpp + * \brief Definition of the type LinGP::Context. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#ifndef Beagle_LinGP_Context_hpp +#define Beagle_LinGP_Context_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/AssertException.hpp" +#include "beagle/Context.hpp" +#include "beagle/LinGP/Individual.hpp" +#include "beagle/LinGP/Program.hpp" +#include "beagle/LinGP/System.hpp" +#include "beagle/LinGP/Memory.hpp" + +namespace Beagle { +namespace LinGP { + + +/*! + * \class Context beagle/LinGP/Context.hpp "beagle/LinGP/Context.hpp" + * \brief The linear GP context class. + * \ingroup LinGPF + * \ingroup LinGPSys + */ +class Context : public Beagle::Context { + +public: + + //! LinGP::Context allocator type. + typedef AllocatorT + Alloc; + //! LinGP::Context handle type. + typedef PointerT + Handle; + //! LinGP::Context bag type. + typedef ContainerT + Bag; + + /*! + * \brief Construct a linear GP context. + */ + Context() : + mExecIndex(0), + mExecCount(0), + mExecLimit(0) + { } + + virtual ~Context() { } + + /*! + * \brief Return execution index in the genotype. + * \return Index to the instruction in the genotype actually executed. + */ + inline unsigned int getExecIndex() const + { + return mExecIndex; + } + + /*! + * \brief Return number of instructions executed. + * \return Number of instructions actually executed. + */ + inline unsigned int getExecCount() const + { + return mExecCount; + } + + /*! + * \brief Return maximum number of instructions allowed. + * \return Maximum number of instructions allowed. + */ + inline unsigned int getExecLimit() const + { + return mExecLimit; + } + + /*! + * \brief Return a constant reference to the actual linear GP program. + * \return Actual linear GP program constant reference. + */ + inline const LinGP::Program& getGenotype() const + { + return castObjectT(*mGenotypeHandle); + } + + /*! + * \brief Return a reference to the actual linear GP program. + * \return Actual linear GP program reference. + */ + inline LinGP::Program& getGenotype() + { + return castObjectT(*mGenotypeHandle); + } + + /*! + * \brief Return a handle to the actual linear GP program. + * \return Actual linear GP program handle. + */ + LinGP::Program::Handle getGenotypeHandle() + { + return castHandleT(mGenotypeHandle); + } + + /*! + * \brief Return a constant reference to the actual individual. + * \return Actual individual constant reference. + */ + inline const LinGP::Individual& getIndividual() const + { + return castObjectT(*mIndividualHandle); + } + + /*! + * \brief Return a reference to the actual linear GP individual. + * \return Actual linear GP individual reference. + */ + inline LinGP::Individual& getIndividual() + { + return castObjectT(*mIndividualHandle); + } + + /*! + * \brief Return a handle to the actual linear GP individual. + * \return Actual linear GP individual handle. + */ + inline LinGP::Individual::Handle getIndividualHandle() + { + return castHandleT(mIndividualHandle); + } + + /*! + * \brief Return a constant reference to the shared memories. + * \return Constant reference to the shared memories. + */ + inline const Memory::Bag& getSharedMemories() const + { + return mSharedMemories; + } + + /*! + * \brief Return a reference to the shared memories. + * \return Reference to the shared memories. + */ + inline Memory::Bag& getSharedMemories() + { + return mSharedMemories; + } + + /*! + * \brief Return a constant reference to the linear GP system. + * \return Evolution linear GP system constant reference. + */ + inline const LinGP::System& getSystem() const + { + return castObjectT(*mSystemHandle); + } + + /*! + * \brief Return a reference to the linear GP system. + * \return Evolution linear GP system reference. + */ + inline LinGP::System& getSystem() + { + return castObjectT(*mSystemHandle); + } + + /*! + * \brief Return a handle to the linear GP system. + * \return Evolution linear GP system handle. + */ + inline LinGP::System::Handle getSystemHandle() + { + return castHandleT(mSystemHandle); + } + + /*! + * \brief Set index of instruction actually executed in genotype. + * \param inExecIndex Execution index value. + */ + inline void setExecIndex(unsigned int inExecIndex) + { + mExecIndex = inExecIndex; + } + + /*! + * \brief Number of instructions actually executed. + * \param inExecCount Number of instructions actually executed. + */ + inline void setExecCount(unsigned int inExecCount) + { + mExecCount = inExecCount; + } + + /*! + * \brief Maximum number of instruction executions. + * \param inExecLimit Maximum number of instruction executions. + */ + inline void setExecLimit(unsigned int inExecLimit) + { + mExecLimit = inExecLimit; + } + + /*! + * \brief Set an handle to the actual linear GP program. + * \param inTreeHandle Actual linear GP program handle. + */ + inline void setGenotypeHandle(LinGP::Program::Handle inProgramHandle) + { + mGenotypeHandle = inProgramHandle; + } + + /*! + * \brief Set an handle to the actual linear GP individual. + * \param inIndividualHandle Actual linear GP individual handle. + */ + inline void setIndividualHandle(LinGP::Individual::Handle inIndividualHandle) + { + mIndividualHandle = inIndividualHandle; + } + + /*! + * \brief Set the linear GP system handle. + * \param inSystemHandle linear GP handle to the system. + */ + inline void setSystemHandle(LinGP::System::Handle inSystemHandle) + { + mSystemHandle = inSystemHandle; + } + +protected: + Memory::Bag mSharedMemories; // Memories shared in the context. + unsigned int mExecIndex; // Index of the instruction actually executed in the genotype + unsigned int mExecCount; // Number of instructions executed + unsigned int mExecLimit; // Maximum number of instructions allowed. + +}; + +} +} + +#endif // Beagle_LinGP_Context_hpp + + + diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/CrossoverOnePointOp.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/CrossoverOnePointOp.hpp new file mode 100644 index 0000000..934fe63 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/CrossoverOnePointOp.hpp @@ -0,0 +1,88 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/CrossoverOnePointBitStrOp.hpp + * \brief Definition of the class LinGP::CrossoverOnePointBitStrOp. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#ifndef Beagle_LinGP_CrossoverOnePointOp_hpp +#define Beagle_LinGP_CrossoverOnePointOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/GA/CrossoverOnePointOpT.hpp" +#include "beagle/LinGP/Program.hpp" + +namespace Beagle { +namespace LinGP { + +/*! + * \class CrossoverOnePointOp beagle/LinGP/CrossoverOnePointOp.hpp + * "beagle/LinGP/CrossoverOnePointOp.hpp" + * \brief Lineat GP one point crossover operator class. + * \ingroup LinGPF + */ +class CrossoverOnePointOp : public GA::CrossoverOnePointOpT { + +public: + + //! LinGP::CrossoverOnePointOp allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! LinGP::CrossoverOnePointOp handle type. + typedef PointerT::Handle> + Handle; + //! LinGP::CrossoverOnePointOp bag type. + typedef ContainerT::Bag> + Bag; + + /*! + * \brief Construct linear GP one point crossover operator. + * \param inMatingPbName Name of the mating probability parameter used in the register. + * \param inName Name of the linear GP one point crossover operator. + */ + explicit CrossoverOnePointOp(Beagle::string inMatingPbName="lingp.cx1p.prob", + Beagle::string inName="LinGP-CrossoverOnePointOp") : + GA::CrossoverOnePointOpT(inMatingPbName, inName) + { } + + virtual ~CrossoverOnePointOp() { } + +}; + +} +} + +#endif // Beagle_LinGP_CrossoverOnePointOp_hpp diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/CrossoverTwoPointsOp.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/CrossoverTwoPointsOp.hpp new file mode 100644 index 0000000..77d1ef6 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/CrossoverTwoPointsOp.hpp @@ -0,0 +1,88 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/CrossoverTwoPointsOp.hpp + * \brief Definition of the class LinGP::CrossoverTwoPointsOp. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#ifndef Beagle_LinGP_CrossoverTwoPointsOp_hpp +#define Beagle_LinGP_CrossoverTwoPointsOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/GA/CrossoverTwoPointsOpT.hpp" +#include "beagle/LinGP/Program.hpp" + +namespace Beagle { +namespace LinGP { + +/*! + * \class CrossoverTwoPointsOp beagle/LinGP/CrossoverTwoPointsOp.hpp + * "beagle/LinGP/CrossoverTwoPointsOp.hpp" + * \brief Linear GP two points crossover operator class. + * \ingroup LinGPF + */ +class CrossoverTwoPointsOp : public GA::CrossoverTwoPointsOpT { + +public: + + //! LinGP::CrossoverTwoPointsOp allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! LinGP::CrossoverTwoPointsOp handle type. + typedef PointerT::Handle> + Handle; + //! LinGP::CrossoverTwoPointsOp bag type. + typedef ContainerT::Bag> + Bag; + + /*! + * \brief Construct linear GP two points crossover operator. + * \param inMatingPbName Name of the mating probability parameter used in the register. + * \param inName Name of the linear GP two points crossover operator. + */ + explicit CrossoverTwoPointsOp(Beagle::string inMatingPbName="lingp.cx2p.prob", + Beagle::string inName="LinGP-CrossoverTwoPointsOp") : + GA::CrossoverTwoPointsOpT(inMatingPbName, inName) + { } + + virtual ~CrossoverTwoPointsOp() { } + +}; + +} +} + +#endif // Beagle_LinGP_CrossoverTwoPointsOp_hpp diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/CrossoverUniformOp.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/CrossoverUniformOp.hpp new file mode 100644 index 0000000..86cb054 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/CrossoverUniformOp.hpp @@ -0,0 +1,90 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/CrossoverUniformOp.hpp + * \brief Definition of the class LinGP::CrossoverUniformOp. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#ifndef Beagle_LinGP_CrossoverUniformOp_hpp +#define Beagle_LinGP_CrossoverUniformOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/CrossoverOp.hpp" +#include "beagle/GA/CrossoverUniformOpT.hpp" +#include "beagle/LinGP/Program.hpp" + +namespace Beagle { +namespace LinGP { + +/*! + * \class CrossoverUniformOp beagle/LinGP/CrossoverUniformOp.hpp + * "beagle/LinGP/CrossoverUniformOp.hpp" + * \brief Linear GP uniform crossover operator class. + * \ingroup LinGPF + */ +class CrossoverUniformOp : public GA::CrossoverUniformOpT { + +public: + + //! LinGP::CrossoverUniformOp allocator type. + typedef AllocatorT::Alloc> + Alloc; + //! LinGP::CrossoverUniformOp handle type. + typedef PointerT::Handle> + Handle; + //! LinGP::CrossoverUniformOp bag type. + typedef ContainerT::Bag> + Bag; + + /*! + * \brief Construct linear GP uniform crossover operator. + * \param inMatingPbName Name of the mating probability parameter used in the register. + * \param inDistribPbName Name of the distribution probability parameter used in the register. + * \param inName Name of the linear GP uniform crossover operator. + */ + explicit CrossoverUniformOp(Beagle::string inMatingPbName="lingp.cxunif.prob", + Beagle::string inDistribPbName="lingp.cxunif.distribprob", + Beagle::string inName="LinGP-CrossoverUniformOp") : + GA::CrossoverUniformOpT(inMatingPbName, inDistribPbName, inName) + { } + + virtual ~CrossoverUniformOp() { } + +}; + +} +} + +#endif // Beagle_LinGP_CrossoverUniformOp_hpp diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/EvaluationOp.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/EvaluationOp.hpp new file mode 100644 index 0000000..3672674 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/EvaluationOp.hpp @@ -0,0 +1,103 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/EvaluationOp.hpp + * \brief Definition of the class LinGP::EvaluationOp. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#ifndef Beagle_LinGP_EvaluationOp_hpp +#define Beagle_LinGP_EvaluationOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/EvaluationOp.hpp" +#include "beagle/LinGP/Individual.hpp" +#include "beagle/LinGP/Context.hpp" + + +namespace Beagle { +namespace LinGP { + +/*! + * \class EvaluationOp beagle/LinGP/EvaluationOp.hpp "beagle/LinGP/EvaluationOp.hpp" + * \brief Abstract linear GP evaluation operator class. + * \ingroup LinGPF + * \ingroup LinGPOp + */ +class EvaluationOp : public Beagle::EvaluationOp { + +public: + + //! LinGP::EvaluationOp allocator type. + typedef AbstractAllocT + Alloc; + //! LinGP::EvaluationOp handle type. + typedef PointerT + Handle; + //! LinGP::EvaluationOp bag type. + typedef ContainerT + Bag; + + explicit EvaluationOp(Beagle::string inName="LinGP-EvaluationOp"); + virtual ~EvaluationOp() { } + + /*! + * \brief Evaluate the fitness of the given linear GP individual. + * \param inIndividual Current individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness value of the GP individual. + */ + virtual Fitness::Handle evaluate(Beagle::Individual& inIndividual, Beagle::Context& ioContext) + { + return evaluate(castObjectT(inIndividual), + castObjectT(ioContext)); + } + + /*! + * \brief Evaluate the fitness of the given linear GP individual. + * \param inIndividual Current linear GP individual to evaluate. + * \param ioContext Evolutionary context. + * \return Handle to the fitness value of the linear GP individual. + */ + virtual Fitness::Handle evaluate(LinGP::Individual& inIndividual, LinGP::Context& ioContext) =0; + +}; + +} +} + +#endif // Beagle_LinGP_EvaluationOp_hpp diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Evolver.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Evolver.hpp new file mode 100644 index 0000000..47031a3 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Evolver.hpp @@ -0,0 +1,90 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/Evolver.hpp + * \brief Definition of the class LinGP::Evolver. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +/*! + * \defgroup LinGPOp Linear GP Operators and Evolvers + * \ingroup LinGPF + * \brief Genetic programming operators and evolvers, part of the linear GP framework. + */ + +#ifndef Beagle_LinGP_Evolver_hpp +#define Beagle_LinGP_Evolver_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Evolver.hpp" +#include "beagle/LinGP/EvaluationOp.hpp" + +namespace Beagle { +namespace LinGP { + +/*! + * \class Evolver beagle/LinGP/Evolver.hpp "beagle/LinGP/Evolver.hpp" + * \brief Standard linear GP generational evolver class. + * \ingroup LinGPF + * \ingroup LinGPOp + */ +class Evolver : public Beagle::Evolver { + +public: + + //! LinGP::Evolver allocator type. + typedef AllocatorT + Alloc; + //! LinGP::Evolver handle type. + typedef PointerT + Handle; + //! LinGP::Evolver bag type. + typedef ContainerT + Bag; + + Evolver(); + explicit Evolver(Beagle::EvaluationOp::Handle inEvalOp); + virtual ~Evolver() { } + +}; + +} +} + +#endif // Beagle_LinGP_Evolver_hpp diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Individual.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Individual.hpp new file mode 100644 index 0000000..d2f84db --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Individual.hpp @@ -0,0 +1,131 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/Individual.hpp + * \brief Definition of the class LinGP::Individual. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1.2.1 $ + * $Date: 2007/09/10 18:24:21 $ + */ + +#ifndef Beagle_LinGP_Individual_hpp +#define Beagle_LinGP_Individual_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Individual.hpp" +#include "beagle/IndividualAllocT.hpp" +#include "beagle/LinGP/Program.hpp" + +namespace Beagle { +namespace LinGP { + +/*! + * \class Individual beagle/LinGP/Individual.hpp "beagle/LinGP/Individual.hpp" + * \brief An individual inherits from a uniform bag of genotypes and has a fitness member. + * \ingroup LinGPF + * \ingroup LinGPPop + */ +class Individual : public Beagle::Individual { + +public: + + //! LinGP::Individual allocator type. + typedef IndividualAllocT + Alloc; + //! LinGP::Individual handle type. + typedef PointerT + Handle; + //! LinGP::Individual bag type. + typedef ContainerT + Bag; + + Individual(); + explicit Individual(LinGP::Program::Alloc::Handle inGenotypeAlloc); + explicit Individual(LinGP::Program::Alloc::Handle inGenotypeAlloc, + Fitness::Alloc::Handle inFitnessAlloc, + size_type inN=0); + virtual ~Individual() { } + + void run(LinGP::Context& ioContext); + + /*! + * \brief Acces to a constant handle the nth Program of the LinGP::Individual. + * \param inN Indice of the LinGP::Program to get + * \return Constant pointer (LinGP::Program::Handle) at the indice N. + */ + inline const LinGP::Program::Handle& operator[](unsigned int inN) const + { + Beagle_UpperBoundCheckAssertM(inN,size()-1); + return castHandleT(std::vector::operator[](inN)); + } + + /*! + * \brief Acces to an handle the nth Program of the LinGP::Individual. + * \param inN Indice of the LinGP::Program to get. + * \return Pointer (LinGP::Program::Handle) at the indice N. + */ + inline LinGP::Program::Handle& operator[](unsigned int inN) + { + Beagle_UpperBoundCheckAssertM(inN,size()-1); + return castHandleT(std::vector::operator[](inN)); + } + + /*! + * \brief Get the program data type allocator. + * \return An handle to the program type allocator. + */ + inline const LinGP::Program::Alloc::Handle getTypeAlloc() const + { + return castHandleT(Beagle::Individual::getTypeAlloc()); + } + + /*! + * \brief Get the program data type allocator. + * \return An handle to the program type allocator. + */ + inline LinGP::Program::Alloc::Handle getTypeAlloc() + { + return castHandleT(Beagle::Individual::getTypeAlloc()); + } + + /*! + * \brief Set the program data type allocator. + * \param inTypeAlloc An handle to the new program type allocator. + */ + inline void setTypeAlloc(LinGP::Program::Alloc::Handle inTypeAlloc) + { + Beagle::Individual::setTypeAlloc(inTypeAlloc); + } + +}; + +} +} + +#endif // Beagle_LinGP_Individual_hpp diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/InitializationOp.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/InitializationOp.hpp new file mode 100644 index 0000000..28f0715 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/InitializationOp.hpp @@ -0,0 +1,123 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/Initialization.hpp + * \brief Definition of the class LinGP::InitializationOp. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#ifndef Beagle_LinGP_InitializationOp_hpp +#define Beagle_LinGP_InitializationOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/InitializationOp.hpp" +#include "beagle/Float.hpp" +#include "beagle/Int.hpp" + +namespace Beagle { +namespace LinGP { + +/*! + * \class InitializationOp beagle/LinGP/InitializationOp.hpp "beagle/LinGP/InitializationOp.hpp" + * \brief Linear GP initialization operator class. + * \ingroup LinGPF + */ +class InitializationOp : public Beagle::InitializationOp { + +public: + + //! LinGP::InitializationOp allocator type. + typedef AllocatorT + Alloc; + //! LinGP::InitializationOp handle type. + typedef PointerT + Handle; + //! LinGP::InitializationOp bag type. + typedef ContainerT + Bag; + + explicit InitializationOp(IntArray inMinInitSize=IntArray(1,2), + IntArray inMaxInitSize=IntArray(1,10), + Beagle::string inName="LinGP-InitializationOp"); + virtual ~InitializationOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual void initIndividual(Beagle::Individual& outIndividual, Beagle::Context& ioContext); + + /*! + * \return Minimum individual initialization size. + */ + const IntArray& getMinInitSize() const + { + return *mMinInitSize; + } + + /*! + * \return Minimum individual initialization size. + */ + IntArray& getMinInitSize() + { + return *mMinInitSize; + } + + /*! + * \return Maximum individual initialization size. + */ + const IntArray& getMaxInitSize() const + { + return *mMaxInitSize; + } + + /*! + * \return Maximum individual initialization size. + */ + IntArray& getMaxInitSize() + { + return *mMaxInitSize; + } + +protected: + + IntArray::Handle mMinInitSize; //!< Minimum program size at initialization. + IntArray::Handle mMaxInitSize; //!< Maximum program size at initialization. + +}; + +} +} + +#endif // Beagle_LinGP_InitializationOp_hpp diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Instruction.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Instruction.hpp new file mode 100644 index 0000000..07f8b98 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Instruction.hpp @@ -0,0 +1,134 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/Instruction.hpp + * \brief Definition of the type LinGP::Instruction. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +/*! + * \defgroup Instructions GP Instructions + * \ingroup LinGPF + * \brief Linear GP instructions mechanism and library, part of the linear GP framework. + */ + +#ifndef Beagle_LinGP_Instruction_hpp +#define Beagle_LinGP_Instruction_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/AbstractAllocT.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/Container.hpp" +#include "beagle/System.hpp" + +namespace Beagle { +namespace LinGP { + + +// Forward declaration. +class Context; +class System; + + +/*! + * \class Instruction beagle/LinGP/Instruction.hpp "beagle/LinGP/Instruction.hpp" + * \brief The linear GP instruction class. + * \ingroup LinGPF + * \ingroup Instructions + */ +class Instruction : public Object { + +public: + + //! LinGP::Instruction allocator type. + typedef AbstractAllocT + Alloc; + //! LinGP::Instruction handle type. + typedef PointerT + Handle; + //! LinGP::Instruction bag type. + typedef ContainerT + Bag; + + explicit Instruction(const char* inName=""); + explicit Instruction(Beagle::string inName); + virtual ~Instruction() { } + + virtual Handle giveReference(LinGP::Context& ioContext); + virtual bool isEqual(const Object& inRightObj) const; + virtual void initialize(LinGP::System& ioSystem); + virtual void read(PACC::XML::ConstIterator inIter); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + + /*! + * \brief Execute the caracteristic instruction operation. + * \param ioContext Evolutionary context. + */ + virtual void execute(LinGP::Context& ioContext) =0; + + /*! + * \brief Get the name of the instruction. + * \return Instruction name. + */ + inline const Beagle::string& getName() const + { + return mName; + } + +protected: + + inline void execNextInstruction(LinGP::Context& ioContext); + inline void execInstruction(unsigned int inIndex, LinGP::Context& ioContext); + + /*! + * \brief Set the name of the instruction. + * \param inName New instruction name. + */ + inline void setName(Beagle::string inName) + { + mName = inName; + } + +private: + Beagle::string mName; //!< Name of the Instruction. + +}; + +} +} + +#endif // Beagle_LinGP_Instruction_hpp + + diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/InstructionInline.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/InstructionInline.hpp new file mode 100644 index 0000000..543e381 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/InstructionInline.hpp @@ -0,0 +1,113 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/PrimitiveInline.hpp + * \brief Implementation of some inlined methods of LinGP::Instruction. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#ifndef Beagle_LinGP_InstructionInline_hpp +#define Beagle_LinGP_InstructionInline_hpp + +#include "beagle/LinGP/Program.hpp" +#include "beagle/LinGP/Context.hpp" +#include "beagle/LinGP/Instruction.hpp" + + +/*! + * \brief Execute next instruction. + * \param ioContext Evolutionary context. + * \throw Beagle::AssertException If Argument index is invalid. + */ +inline void Beagle::LinGP::Instruction::execNextInstruction(LinGP::Context& ioContext) +{ + if((ioContext.getExecIndex()+1) >= ioContext.getGenotype().size()) { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "primitive", "Beagle::LinGP::Primitive", + "End of program reached" + ); + return; + } + if((ioContext.getExecLimit() != 0) && + (ioContext.getExecCount() >= ioContext.getExecLimit())) { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "primitive", "Beagle::LinGP::Primitive", + "Maximum number of instruction executions reached" + ); + return; + } + + unsigned int lActualExecIndex = ioContext.getExecIndex(); + ioContext.setExecIndex(lActualExecIndex+1); + ioContext.setExecCount(ioContext.getExecCount()+1); + ioContext.getGenotype()[lActualExecIndex+1]->execute(ioContext); + ioContext.setExecIndex(lActualExecIndex); +} + + +/*! + * \brief Execute instruction specified by index. + * \param inIndex Execute instruction at specified index. + * \param ioContext Evolutionary context. + * \throw Beagle::AssertException If Argument index is invalid. + */ +inline void Beagle::LinGP::Instruction::execInstruction(unsigned int inIndex, + LinGP::Context& ioContext) +{ + if(inIndex >= ioContext.getGenotype().size()) { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "primitive", "Beagle::LinGP::Primitive", + "End of program reached" + ); + return; + } + if((ioContext.getExecLimit() != 0) && + (ioContext.getExecCount() >= ioContext.getExecLimit())) { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "primitive", "Beagle::LinGP::Primitive", + "Maximum number of instruction executions reached" + ); + return; + } + + unsigned int lActualExecIndex = ioContext.getExecIndex(); + ioContext.setExecIndex(inIndex); + ioContext.setExecCount(ioContext.getExecCount()+1); + ioContext.getGenotype()[inIndex]->execute(ioContext); + ioContext.setExecIndex(lActualExecIndex); +} + + +#endif // Beagle_LinGP_InstructionInline_hpp + diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/InstructionSet.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/InstructionSet.hpp new file mode 100644 index 0000000..2cc86b4 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/InstructionSet.hpp @@ -0,0 +1,99 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/InstructionSet.hpp + * \brief Definition of the type LinGP::InstructionSet. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#ifndef Beagle_InstructionSet_hpp +#define Beagle_InstructionSet_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/Container.hpp" +#include "beagle/System.hpp" +#include "beagle/LinGP/Instruction.hpp" + + +namespace Beagle { +namespace LinGP { + + +// Forward declaration +class System; + + +/*! + * \class InstructionSet beagle/LinGP/InstructionSet.hpp "beagle/LinGP/InstructionSet.hpp" + * \brief The linear GP instruction set class. + * \ingroup LinGPF + * \ingroup Instructions + * \ingroup LinGPSys + */ +class InstructionSet : public Instruction::Bag { + +public: + + //! LinGP::InstructionSet allocator type. + typedef AllocatorT + Alloc; + //! LinGP::InstructionSet handle type. + typedef PointerT + Handle; + //! LinGP::InstructionSet mixed bag type. + typedef ContainerT + Bag; + + explicit InstructionSet() { } + virtual ~InstructionSet() { } + + Instruction::Handle getInstructionByName(Beagle::string inName) const; + virtual void initialize(LinGP::System& ioSystem); + virtual void insert(Instruction::Handle inInstruction); + virtual Instruction::Handle selectRandomInstruction(LinGP::System& ioSystem) const; + virtual void read(PACC::XML::ConstIterator inIter); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + Map mNameLUT; //!< Look-up table (by name) of the instructions. + +}; + +} +} + +#endif // Beagle_InstructionSet_hpp + diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/InstructionSuperSet.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/InstructionSuperSet.hpp new file mode 100644 index 0000000..e43f114 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/InstructionSuperSet.hpp @@ -0,0 +1,91 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/InstructionSuperSet.hpp + * \brief Definition of the type LinGP::InstructionSuperSet. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + + +#ifndef Beagle_LinGP_InstructionSuperSet_hpp +#define Beagle_LinGP_InstructionSuperSet_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/LinGP/InstructionSet.hpp" + +namespace Beagle { +namespace LinGP { + + +// Forward declaration +class System; + + +/*! + * \class InstructionSuperSet beagle/LinGP/InstructionSuperSet.hpp + * "beagle/LinGP/InstructionSuperSet.hpp" + * \brief Linear GP instruction super set class. + * \ingroup LinGPF + * \ingroup Instructions + * \ingroup LinGPSys + */ +class InstructionSuperSet : public InstructionSet::Bag { + +public: + + //! LinGP::InstructionSuperSet allocator type. + typedef AllocatorT + Alloc; + //! LinGP::InstructionSuperSet handle type. + typedef PointerT + Handle; + //! LinGP::InstructionSuperSet bag type. + typedef ContainerT + Bag; + + InstructionSuperSet() { } + virtual ~InstructionSuperSet() { } + + virtual void initialize(LinGP::System& ioSystem); + virtual void insert(InstructionSet::Handle inInstructionSet); + virtual void read(PACC::XML::ConstIterator inIter); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +}; + +} +} + +#endif // Beagle_LinGP_InstructionSuperSet_hpp diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Makefile b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Makefile new file mode 100644 index 0000000..d547372 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Makefile @@ -0,0 +1,564 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# tests/LinGP/include/beagle/LinGP/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = tests/LinGP/include/beagle/LinGP +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__noinst_HEADERS_DIST) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__noinst_HEADERS_DIST = Context.hpp CrossoverOnePointOp.hpp \ + CrossoverTwoPointsOp.hpp CrossoverUniformOp.hpp \ + EvaluationOp.hpp Evolver.hpp Individual.hpp \ + InitializationOp.hpp Instruction.hpp InstructionInline.hpp \ + InstructionSet.hpp InstructionSuperSet.hpp Memory.hpp \ + MutationOp.hpp Program.hpp System.hpp +HEADERS = $(noinst_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../../../ +top_builddir = ../../../../.. +top_srcdir = ../../../../.. +#noinst_HEADERS = \ +#Context.hpp \ +#CrossoverOnePointOp.hpp \ +#CrossoverTwoPointsOp.hpp \ +#CrossoverUniformOp.hpp \ +#EvaluationOp.hpp \ +#Evolver.hpp \ +#Individual.hpp \ +#InitializationOp.hpp \ +#Instruction.hpp \ +#InstructionInline.hpp \ +#InstructionSet.hpp \ +#InstructionSuperSet.hpp \ +#Memory.hpp \ +#MutationOp.hpp \ +#Program.hpp \ +#System.hpp + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/LinGP/include/beagle/LinGP/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/LinGP/include/beagle/LinGP/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(HEADERS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ + clean-libtool cscopelist-am ctags ctags-am distclean \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Makefile.am b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Makefile.am new file mode 100644 index 0000000..4561e83 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Makefile.am @@ -0,0 +1,19 @@ +if COMPILE_TESTS +noinst_HEADERS = \ +Context.hpp \ +CrossoverOnePointOp.hpp \ +CrossoverTwoPointsOp.hpp \ +CrossoverUniformOp.hpp \ +EvaluationOp.hpp \ +Evolver.hpp \ +Individual.hpp \ +InitializationOp.hpp \ +Instruction.hpp \ +InstructionInline.hpp \ +InstructionSet.hpp \ +InstructionSuperSet.hpp \ +Memory.hpp \ +MutationOp.hpp \ +Program.hpp \ +System.hpp +endif COMPILE_TESTS diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Makefile.in b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Makefile.in new file mode 100644 index 0000000..dd6f285 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Makefile.in @@ -0,0 +1,564 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = tests/LinGP/include/beagle/LinGP +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__noinst_HEADERS_DIST) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__noinst_HEADERS_DIST = Context.hpp CrossoverOnePointOp.hpp \ + CrossoverTwoPointsOp.hpp CrossoverUniformOp.hpp \ + EvaluationOp.hpp Evolver.hpp Individual.hpp \ + InitializationOp.hpp Instruction.hpp InstructionInline.hpp \ + InstructionSet.hpp InstructionSuperSet.hpp Memory.hpp \ + MutationOp.hpp Program.hpp System.hpp +HEADERS = $(noinst_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@COMPILE_TESTS_TRUE@noinst_HEADERS = \ +@COMPILE_TESTS_TRUE@Context.hpp \ +@COMPILE_TESTS_TRUE@CrossoverOnePointOp.hpp \ +@COMPILE_TESTS_TRUE@CrossoverTwoPointsOp.hpp \ +@COMPILE_TESTS_TRUE@CrossoverUniformOp.hpp \ +@COMPILE_TESTS_TRUE@EvaluationOp.hpp \ +@COMPILE_TESTS_TRUE@Evolver.hpp \ +@COMPILE_TESTS_TRUE@Individual.hpp \ +@COMPILE_TESTS_TRUE@InitializationOp.hpp \ +@COMPILE_TESTS_TRUE@Instruction.hpp \ +@COMPILE_TESTS_TRUE@InstructionInline.hpp \ +@COMPILE_TESTS_TRUE@InstructionSet.hpp \ +@COMPILE_TESTS_TRUE@InstructionSuperSet.hpp \ +@COMPILE_TESTS_TRUE@Memory.hpp \ +@COMPILE_TESTS_TRUE@MutationOp.hpp \ +@COMPILE_TESTS_TRUE@Program.hpp \ +@COMPILE_TESTS_TRUE@System.hpp + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/LinGP/include/beagle/LinGP/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/LinGP/include/beagle/LinGP/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(HEADERS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ + clean-libtool cscopelist-am ctags ctags-am distclean \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ + uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Memory.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Memory.hpp new file mode 100644 index 0000000..03a58eb --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Memory.hpp @@ -0,0 +1,123 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/Memory.hpp + * \brief Definition of the type LinGP::Memory. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#ifndef Beagle_LinGP_Memory_hpp +#define Beagle_LinGP_Memory_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/AssertException.hpp" +#include "beagle/Container.hpp" + +namespace Beagle { +namespace LinGP { + + +/*! + * \class Memory beagle/LinGP/Memory.hpp "beagle/LinGP/Memory.hpp" + * \brief The linear GP memory class. + * \ingroup LinGPF + * \ingroup LinGPSys + */ +class Memory : public Container { + +public: + + //! LinGP::Memory allocator type. + typedef ContainerAllocatorT + Alloc; + //! LinGP::Memory handle type. + typedef PointerT + Handle; + //! LinGP::Memory bag type. + typedef ContainerT + Bag; + + /*! + * \brief Construct a shared memory for linear GP. + * \param inTypeAlloc Type allocator of data in the shared memory. + * \param inN Number of data in the shared memory. + */ + explicit Memory(Object::Alloc::Handle inTypeAlloc=NULL, size_type inN=0) : + Container(inTypeAlloc, inN), + mIndex(0) + { } + + /*! + * \brief Construct a shared memory for linear GP. + * \param inTypeAlloc Type allocator of data in the shared memory. + * \param inN Number of data in the shared memory. + * \param inModel Model to use to initialize the memory's data. + */ + explicit Memory(Object::Alloc::Handle inTypeAlloc, size_type inN, const Object& inModel) : + Container(inTypeAlloc, inN, inModel), + mIndex(0) + { } + + virtual ~Memory() { } + + /*! + * \return Memory's index value. + */ + inline unsigned int getIndex() const + { + return mIndex; + } + + /*! + * \brief Set memory's index value. + * \param inIndex New index value. + */ + inline void setIndex(unsigned int inIndex) + { + mIndex = inIndex; + } + +protected: + unsigned int mIndex; // Index in the memory. + +}; + +} +} + +#endif // Beagle_LinGP_Memory_hpp + + + diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/MutationOp.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/MutationOp.hpp new file mode 100644 index 0000000..f1587b8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/MutationOp.hpp @@ -0,0 +1,88 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/MutationOp.hpp + * \brief Definition of the class LinGP::MutationOp. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#ifndef Beagle_LinGP_MutationOp_hpp +#define Beagle_LinGP_MutationOp_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/MutationOp.hpp" + + +namespace Beagle { +namespace LinGP { + +/*! + * \class MutationOp beagle/LinGP/MutationOp.hpp "beagle/LinGP/MutationOp.hpp" + * \brief Linear GP mutation operator class. + * \ingroup LinGPF + */ +class MutationOp : public Beagle::MutationOp { + +public: + + //! LinGP::MutationOp allocator type. + typedef AllocatorT + Alloc; + //! LinGP::MutationOp handle type. + typedef PointerT + Handle; + //! LinGP::MutationOp bag type. + typedef ContainerT + Bag; + + explicit MutationOp(Beagle::string inMutationPbName="lingp.mut.indpb", + Beagle::string inInstructMutatePbName="lingp.mut.instructpb", + Beagle::string inName="LinGP-MutationOp"); + virtual ~MutationOp() { } + + virtual void initialize(Beagle::System& ioSystem); + virtual bool mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + Float::Handle mInstructMutateProba; //!< Single instruction mutation probability. + Beagle::string mInstructMutatePbName; //!< Single instruction mutation probability parameter name. + +}; + +} +} + +#endif // Beagle_LinGP_MutationOp_hpp diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Program.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Program.hpp new file mode 100644 index 0000000..6f85a37 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/Program.hpp @@ -0,0 +1,88 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/Program.hpp + * \brief Definition of the type LinGP::Program. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#ifndef Beagle_LinGP_Program_hpp +#define Beagle_LinGP_Program_hpp + +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/Allocator.hpp" +#include "beagle/Pointer.hpp" +#include "beagle/Container.hpp" +#include "beagle/Genotype.hpp" +#include "beagle/LinGP/Instruction.hpp" + + +namespace Beagle { +namespace LinGP { + + +/*! + * \class Program beagle/LinGP/Program.hpp "beagle/LinGP/Program.hpp" + * \brief The linear GP program class, the genotype used in linear GP. + * \ingroup LinGPF + * \ingroup LinGPPop + */ +class Program : public Genotype, public std::vector { + +public: + + //! LinGP::Program allocator type. + typedef AllocatorT + Alloc; + //! LinGP::Program handle type. + typedef PointerT + Handle; + //! LinGP::Program bag type. + typedef ContainerT + Bag; + + explicit Program(unsigned int inSize=0); + virtual ~Program() { } + + void interpret(LinGP::Context& ioContext); + virtual bool isEqual(const Object& inRightObj) const; + virtual void readWithContext(PACC::XML::ConstIterator inIter, Beagle::Context& ioContext); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +}; + +} +} + +#endif // Beagle_LinGP_Program_hpp diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/System.hpp b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/System.hpp new file mode 100644 index 0000000..0712300 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/LinGP/System.hpp @@ -0,0 +1,165 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/Context.hpp + * \brief Definition of the type LinGP::System. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +/*! + * \defgroup LinGPSys Linear GP Evolutionary System + * \ingroup LinGPF + * \brief Linear GP evolutionary system components, part of the linear GP frameowork. + */ + +#ifndef Beagle_LinGP_System_hpp +#define Beagle_LinGP_System_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/AssertException.hpp" +#include "beagle/Context.hpp" +#include "beagle/LinGP/InstructionSuperSet.hpp" + +namespace Beagle { +namespace LinGP { + +/*! + * \class System beagle/LinGP/System.hpp "beagle/LinGP/System.hpp" + * \brief The linear GP system class. + * \ingroup LinGPF + * \ingroup LinGPSys + */ +class System : public Beagle::System { + +public: + + //! LinGP::System allocator type. + typedef AllocatorT + Alloc; + //! LinGP::System handle type. + typedef PointerT + Handle; + //! LinGP::System bag type. + typedef ContainerT + Bag; + + System(); + explicit System(LinGP::InstructionSuperSet::Handle inSuperSet); + explicit System(LinGP::InstructionSuperSet::Handle inSuperSet, + Beagle::Context::Alloc::Handle inContextAllocator); + explicit System(LinGP::InstructionSuperSet::Handle inSuperSet, + Beagle::Context::Alloc::Handle inContextAllocator, + Randomizer::Handle inRandomizer, + Register::Handle inRegister, + Logger::Handle inLogger); + explicit System(LinGP::InstructionSet::Handle inSet); + explicit System(LinGP::InstructionSet::Handle inSet, + Beagle::Context::Alloc::Handle inContextAllocator); + explicit System(LinGP::InstructionSet::Handle inSet, + Beagle::Context::Alloc::Handle inContextAllocator, + Randomizer::Handle inRandomizer, + Register::Handle inRegister, + Logger::Handle inLogger); + virtual ~System() { } + + virtual void initialize(int& ioArgc, char** ioArgv); + virtual void initialize(Beagle::string inRegisterFileName); + + /*! + * \brief Get a constant reference to the linear GP context allocator of the system. + * \return Constant reference to the linear GP context allocator. + */ + inline const Beagle::Context::Alloc& getContextAllocator() const + { + return castObjectT(*mContextAllocator); + } + + /*! + * \brief Get reference to the linear GP context allocator of the system. + * \return Reference to the linear GP context allocator. + */ + inline Beagle::Context::Alloc& getContextAllocator() + { + return castObjectT(*mContextAllocator); + } + + /*! + * \brief Get a handle to the linear GP context allocator of the system. + * \return Handle to the linear GP context allocator. + */ + inline Beagle::Context::Alloc::Handle getContextAllocatorHandle() + { + return castHandleT(mContextAllocator); + } + + /*! + * \brief Get a constant reference to the linear GP instruction super set of the system. + * \return Constant reference to the linear GP instruction super set allocator. + */ + inline const LinGP::InstructionSuperSet& getInstructionSuperSet() const + { + return *mInstructionSuperSet; + } + + /*! + * \brief Get a reference to the linear GP instruction super set of the system. + * \return Reference to the linear GP instruction super set allocator. + */ + inline LinGP::InstructionSuperSet& getInstructionSuperSet() + { + return *mInstructionSuperSet; + } + + /*! + * \brief Get a handle to the linear GP instruction super set of the system. + * \return Handle to the linear GP instruction super set allocator. + */ + inline LinGP::InstructionSuperSet::Handle getInstructionSuperSetHandle() + { + return mInstructionSuperSet; + } + +protected: + LinGP::InstructionSuperSet::Handle mInstructionSuperSet; //!< The super set of instructions + +}; + +} +} + +#endif // Beagle_LinGP_System_hpp + + + diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/Makefile b/lib/beagle-3.0.3/tests/LinGP/include/beagle/Makefile new file mode 100644 index 0000000..d365804 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/Makefile @@ -0,0 +1,658 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# tests/LinGP/include/beagle/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = tests/LinGP/include/beagle +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__noinst_HEADERS_DIST) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__noinst_HEADERS_DIST = LinGP.hpp +HEADERS = $(noinst_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/LinGP/include/beagle +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/LinGP/include/beagle +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../../ +top_builddir = ../../../.. +top_srcdir = ../../../.. +SUBDIRS = LinGP +#noinst_HEADERS = LinGP.hpp +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/LinGP/include/beagle/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/LinGP/include/beagle/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(HEADERS) +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/Makefile.am b/lib/beagle-3.0.3/tests/LinGP/include/beagle/Makefile.am new file mode 100644 index 0000000..382d6a5 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/Makefile.am @@ -0,0 +1,4 @@ +SUBDIRS = LinGP +if COMPILE_TESTS +noinst_HEADERS = LinGP.hpp +endif COMPILE_TESTS diff --git a/lib/beagle-3.0.3/tests/LinGP/include/beagle/Makefile.in b/lib/beagle-3.0.3/tests/LinGP/include/beagle/Makefile.in new file mode 100644 index 0000000..f3c04d5 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/include/beagle/Makefile.in @@ -0,0 +1,658 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = tests/LinGP/include/beagle +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__noinst_HEADERS_DIST) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__noinst_HEADERS_DIST = LinGP.hpp +HEADERS = $(noinst_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = LinGP +@COMPILE_TESTS_TRUE@noinst_HEADERS = LinGP.hpp +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/LinGP/include/beagle/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/LinGP/include/beagle/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile $(HEADERS) +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/LinGP/src/.deps/Evolver.Plo b/lib/beagle-3.0.3/tests/LinGP/src/.deps/Evolver.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/.deps/Evolver.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/LinGP/src/.deps/Individual.Plo b/lib/beagle-3.0.3/tests/LinGP/src/.deps/Individual.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/.deps/Individual.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/LinGP/src/.deps/InitializationOp.Plo b/lib/beagle-3.0.3/tests/LinGP/src/.deps/InitializationOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/.deps/InitializationOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/LinGP/src/.deps/Instruction.Plo b/lib/beagle-3.0.3/tests/LinGP/src/.deps/Instruction.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/.deps/Instruction.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/LinGP/src/.deps/InstructionSet.Plo b/lib/beagle-3.0.3/tests/LinGP/src/.deps/InstructionSet.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/.deps/InstructionSet.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/LinGP/src/.deps/InstructionSuperSet.Plo b/lib/beagle-3.0.3/tests/LinGP/src/.deps/InstructionSuperSet.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/.deps/InstructionSuperSet.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/LinGP/src/.deps/MutationOp.Plo b/lib/beagle-3.0.3/tests/LinGP/src/.deps/MutationOp.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/.deps/MutationOp.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/LinGP/src/.deps/Program.Plo b/lib/beagle-3.0.3/tests/LinGP/src/.deps/Program.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/.deps/Program.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/LinGP/src/.deps/System.Plo b/lib/beagle-3.0.3/tests/LinGP/src/.deps/System.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/.deps/System.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/LinGP/src/.deps/libbeagle-LinGP.Plo b/lib/beagle-3.0.3/tests/LinGP/src/.deps/libbeagle-LinGP.Plo new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/.deps/libbeagle-LinGP.Plo @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/LinGP/src/Evolver.cpp b/lib/beagle-3.0.3/tests/LinGP/src/Evolver.cpp new file mode 100644 index 0000000..bfd7603 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/Evolver.cpp @@ -0,0 +1,97 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/src/Evolver.cpp + * \brief Source code of class LinGP::Evolver. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#include + +#include "beagle/GP.hpp" +#include "beagle/LinGP/Evolver.hpp" +#include "beagle/LinGP/EvaluationOp.hpp" +#include "beagle/LinGP/CrossoverOnePointOp.hpp" +#include "beagle/LinGP/CrossoverTwoPointsOp.hpp" +#include "beagle/LinGP/CrossoverUniformOp.hpp" +#include "beagle/LinGP/MutationOp.hpp" +#include "beagle/LinGP/InitializationOp.hpp" +#include "beagle/IfThenElseOp.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a linear GP evolver. + */ +LinGP::Evolver::Evolver() +{ + addOperator(new LinGP::InitializationOp); + addOperator(new LinGP::CrossoverOnePointOp); + addOperator(new LinGP::CrossoverTwoPointsOp); + addOperator(new LinGP::CrossoverUniformOp); + addOperator(new LinGP::MutationOp); +} + + +/*! + * \brief Construct a linear GP generational evolver. + * \param inEvalOp Linear GP evaluation operator. + */ +LinGP::Evolver::Evolver(Beagle::EvaluationOp::Handle inEvalOp) +{ + addOperator(inEvalOp); + addOperator(new LinGP::InitializationOp); + addOperator(new LinGP::CrossoverOnePointOp); + addOperator(new LinGP::CrossoverTwoPointsOp); + addOperator(new LinGP::CrossoverUniformOp); + addOperator(new LinGP::MutationOp); + + addBootStrapOp("IfThenElseOp"); + IfThenElseOp::Handle lITE = castHandleT(getBootStrapSet().back()); + lITE->setConditionTag("ms.restart.file"); + lITE->setConditionValue(""); + lITE->insertPositiveOp("LinGP-InitializationOp", getOperatorMap()); + lITE->insertPositiveOp(inEvalOp->getName(), getOperatorMap()); + lITE->insertPositiveOp("StatsCalcFitnessSimpleOp", getOperatorMap()); + lITE->insertNegativeOp("MilestoneReadOp", getOperatorMap()); + addBootStrapOp("TermMaxGenOp"); + addBootStrapOp("MilestoneWriteOp"); + + addMainLoopOp("SelectTournamentOp"); + addMainLoopOp("LinGP-CrossoverOnePointOp"); + addMainLoopOp("LinGP-MutationOp"); + addMainLoopOp(inEvalOp->getName()); + addMainLoopOp("MigrationRandomRingOp"); + addMainLoopOp("StatsCalcFitnessSimpleOp"); + addMainLoopOp("TermMaxGenOp"); + addMainLoopOp("MilestoneWriteOp"); +} + diff --git a/lib/beagle-3.0.3/tests/LinGP/src/Individual.cpp b/lib/beagle-3.0.3/tests/LinGP/src/Individual.cpp new file mode 100644 index 0000000..2fa579c --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/Individual.cpp @@ -0,0 +1,116 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/src/Individual.cpp + * \brief Source code of class LinGP::Individual. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#include "beagle/GP.hpp" +#include "beagle/ObjectException.hpp" +#include "beagle/LinGP/Individual.hpp" +#include "beagle/LinGP/Program.hpp" +#include "beagle/LinGP/Context.hpp" +#include "beagle/FitnessSimple.hpp" +#include "beagle/LinGP/Program.hpp" + +using namespace Beagle; + + +/*! + * \brief Contruct a LinGP individual. + * \par Note: + * Use LinGP::Program allocator to allocate the genotypes. + */ +LinGP::Individual::Individual() : + Beagle::Individual(new LinGP::Program::Alloc) +{ } + + +/*! + * \brief Contruct a linear GP individual from a program allocator. + * \param inGenotypeAlloc Allocator of linear GP programs. + */ +LinGP::Individual::Individual(LinGP::Program::Alloc::Handle inGenotypeAlloc) : + Beagle::Individual(inGenotypeAlloc) +{ } + + +/*! + * \brief Contruct a linear GP individual from a genotype allocator and a fitness allocator. + * \param inGenotypeAlloc Allocator of linear GP programs. + * \param inFitnessAlloc Fitness allocator. + * \param inN Number of genotypes of the GP individual. + */ +LinGP::Individual::Individual(LinGP::Program::Alloc::Handle inGenotypeAlloc, + Fitness::Alloc::Handle inFitnessAlloc, + size_type inN) : + Beagle::Individual(inGenotypeAlloc, inFitnessAlloc, inN) +{ } + + +/*! + * \brief Interpret the linear GP individual. + * \param ioContext Linear GP evolutionary context. + * \throw Beagle::ObjectException When individual or program are empty. + * \throw Beagle::AssertException When context is not correctly set. + */ +void LinGP::Individual::run(LinGP::Context& ioContext) +{ + Beagle_AssertM(&ioContext.getIndividual() == this); + if(empty()) throw Beagle_ObjectExceptionM("Could not interpret, individual got no programs!"); + if((*this)[0]->empty()) + throw Beagle_ObjectExceptionM("Could not interpret, first program is empty!"); + Program::Handle lOldProgramHandle = ioContext.getGenotypeHandle(); + unsigned int lOldProgramIndex = ioContext.getGenotypeIndex(); + ioContext.setGenotypeIndex(0); + ioContext.setGenotypeHandle((*this)[0]); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "individual", "Beagle::LinGP::Individual", + string("Running the ")+uint2ordinal(ioContext.getIndividualIndex()+1)+ + string(" individual") + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "individual", "Beagle::LinGP::Individual", + string("The individual is: ")+serialize() + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "individual", "Beagle::LinGP::Individual", + string("Executing the first Program root node \"")+ + (*(*this)[0])[0]->getName()+"\"" + ); + (*(*this)[0])[0]->execute(ioContext); + ioContext.setGenotypeIndex(lOldProgramIndex); + ioContext.setGenotypeHandle(lOldProgramHandle); +} + diff --git a/lib/beagle-3.0.3/tests/LinGP/src/InitializationOp.cpp b/lib/beagle-3.0.3/tests/LinGP/src/InitializationOp.cpp new file mode 100644 index 0000000..d326332 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/InitializationOp.cpp @@ -0,0 +1,205 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/src/InitializationOp.cpp + * \brief Source code of class LinGP::InitializationOp. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#include + +#include "beagle/GP.hpp" +#include "beagle/RunTimeException.hpp" +#include "beagle/LinGP/System.hpp" +#include "beagle/LinGP/Context.hpp" +#include "beagle/LinGP/InitializationOp.hpp" +#include "beagle/LinGP/Program.hpp" +#include "beagle/LinGP/Individual.hpp" + + +using namespace Beagle; + + +/*! + * \brief Construct a linear GP initialization operator. + * \param inBitStringSize Size of the programs initialized. + * \param inName Name of the operator. + */ +LinGP::InitializationOp::InitializationOp(IntArray inMinInitSize, + IntArray inMaxInitSize, + Beagle::string inName) : + Beagle::InitializationOp(inName), + mMinInitSize(new IntArray(inMinInitSize)), + mMaxInitSize(new IntArray(inMaxInitSize)) +{ } + + +/*! + * \brief Initialize the linear GP initialization operator. + * \param ioSystem System of the evolution. + */ +void LinGP::InitializationOp::initialize(Beagle::System& ioSystem) +{ + Beagle::InitializationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered("lingp.init.minsize")) { + mMinInitSize = castHandleT(ioSystem.getRegister()["lingp.init.minsize"]); + } else { + string lDefaultValue; + for(unsigned int i=0; isize(); i++) { + lDefaultValue += uint2str((*mMinInitSize)[i]); + if(i != (mMinInitSize->size()-1)) lDefaultValue += "/"; + } + string lLongDescrip("Minimum program size for individuals at initialization. "); + lLongDescrip += "The size of the IntArray is the number of program composing the "; + lLongDescrip += "linear GP individuals, while each value of the vector is the minimum "; + lLongDescrip += "number of instructions composing the programs. "; + lLongDescrip += "IntArray format is S1/S2/.../Sn, where Si is ith value."; + Register::Description lDescription( + "Min individual init. sizes", + "IntArray", + lDefaultValue, + lLongDescrip + ); + ioSystem.getRegister().addEntry("lingp.init.minsize", mMinInitSize, lDescription); + } + + if(ioSystem.getRegister().isRegistered("lingp.init.maxsize")) { + mMaxInitSize = castHandleT(ioSystem.getRegister()["lingp.init.maxsize"]); + } else { + string lDefaultValue; + for(unsigned int i=0; isize(); i++) { + lDefaultValue += uint2str((*mMaxInitSize)[i]); + if(i != (mMaxInitSize->size()-1)) lDefaultValue += "/"; + } + string lLongDescrip("Maximum program size for individuals at initialization. "); + lLongDescrip += "The size of the IntArray is the number of program composing the "; + lLongDescrip += "linear GP individuals, while each value of the vector is the maximum "; + lLongDescrip += "number of instructions composing the programs. "; + lLongDescrip += "IntArray format is S1/S2/.../Sn, where Si is ith value."; + Register::Description lDescription( + "Max individual init. sizes", + "IntArray", + lDefaultValue, + lLongDescrip + ); + ioSystem.getRegister().addEntry("lingp.init.maxsize", mMaxInitSize, lDescription); + } +} + + +/*! + * \brief Initialize an linear GP individual. + * \param outIndividual Individual to initialize. + * \param ioContext Evolution context. + */ +void LinGP::InitializationOp::initIndividual(Beagle::Individual& outIndividual, + Beagle::Context& ioContext) +{ +#ifndef BEAGLE_NDEBUG + if(mMinInitSize->size() == 0) { + string lMessage = "LinGP::InitializationOp::initIndividual: "; + lMessage += "Size of the minimum iniitalization size parameter is zero. "; + lMessage += "Could not initialize the individuals!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + if(mMaxInitSize->size() == 0) { + string lMessage = "LinGP::InitializationOp::initIndividual: "; + lMessage += "Size of the maximum iniitalization size parameter is zero. "; + lMessage += "Could not initialize the individuals!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + if(mMinInitSize->size() != mMaxInitSize->size()) { + string lMessage = "LinGP::InitializationOp::initIndividual: "; + lMessage += "Size of the maximum and minimum iniitalization size parameter mismatch. "; + lMessage += "Could not initialize the individuals!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + + for(unsigned int k=0; ksize(); k++) { + if((*mMinInitSize)[k] == 0) { + string lMessage = "LinGP::InitializationOp::initIndividual: Value of the "; + lMessage += uint2ordinal(k); + lMessage += " minimum initialization size parameter is zero. "; + lMessage += "Could not initialize the individuals!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + if((*mMaxInitSize)[k] == 0) { + string lMessage = "LinGP::InitializationOp::initIndividual: Value of the "; + lMessage += uint2ordinal(k); + lMessage += " maximum initialization size parameter is zero. "; + lMessage += "Could not initialize the individuals!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + if((*mMaxInitSize)[k] > (*mMaxInitSize)[k]) { + string lMessage = "LinGP::InitializationOp::initIndividual: Value of the "; + lMessage += uint2ordinal(k); + lMessage += " minimum initialization size parameter is bigger than "; + lMessage += " maximum initialization size parameter. "; + lMessage += "Could not initialize the individuals!"; + throw Beagle_RunTimeExceptionM(lMessage); + } + } +#endif // BEAGLE_NDEBUG + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::LinGP::InitializationOp", + string("Resizing the individual to ")+ + uint2str(mMinInitSize->size())+" programs" + ); + outIndividual.resize(mMinInitSize->size()); + LinGP::Context& lLinGPContext = castObjectT(ioContext); + LinGP::InstructionSuperSet& lInsSS = lLinGPContext.getSystem().getInstructionSuperSet(); + + for(unsigned int i=0; i(outIndividual[i]); + unsigned int lInitProgramSize = + lLinGPContext.getSystem().getRandomizer().rollInteger((*mMinInitSize)[i], (*mMaxInitSize)[i]); + lActualProgram->resize(lInitProgramSize); + for(unsigned int j=0; jselectRandomInstruction(lLinGPContext.getSystem())->giveReference(lLinGPContext); + } + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::LinGP::InitializationOp", + string("Program ")+uint2str(i+1)+ + string(" has ")+uint2str(lInitProgramSize)+" initialized instructions" + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "initialization", "Beagle::LinGP::InitializationOp", + uint2ordinal(i+1)+ + string(" program is initialized as: ")+lActualProgram->serialize() + ); + } +} + diff --git a/lib/beagle-3.0.3/tests/LinGP/src/Instruction.cpp b/lib/beagle-3.0.3/tests/LinGP/src/Instruction.cpp new file mode 100644 index 0000000..cf9c756 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/Instruction.cpp @@ -0,0 +1,124 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/src/Instruction.cpp + * \brief Implementation of the type LinGP::Instruction. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#include "beagle/GP.hpp" +#include "beagle/LinGP/Instruction.hpp" +#include "beagle/LinGP/InstructionInline.hpp" +#include "beagle/IOException.hpp" +#include "beagle/ObjectException.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a Instruction. + * \param inNumberArguments Number of arguments of the instruction. + * \param inName Name of the instruction. + */ +LinGP::Instruction::Instruction(const char* inName) : + mName(inName) +{ } + + +/*! + * \brief Construct a instruction. + * \param inName Name of the Instruction. + */ +LinGP::Instruction::Instruction(string inName) : + mName(inName) +{ } + + +/*! + * \brief Give a reference to the current instruction. + * \param ioContext Reference to the evolution context. + * \return Handle to the refered instruction. + */ +LinGP::Instruction::Handle LinGP::Instruction::giveReference(LinGP::Context& ioContext) +{ + return LinGP::Instruction::Handle(this); +} + + +/*! + * \brief Initialize the instruction. + * \param ioSystem Evolutionary system used. + */ +void LinGP::Instruction::initialize(LinGP::System& ioSystem) +{ } + + +/*! + * \brief Compare equality of two instructions. Name must be the same. + * \param inRightObj Instruction to compare to the actual one. + * \return True if instruction name is identical, false if not. + */ +bool LinGP::Instruction::isEqual(const Object& inRightObj) const +{ + const LinGP::Instruction& lRightInstruction = castObjectT(inRightObj); + return mName == lRightInstruction.mName; +} + + +/*! + * \brief Read the instruction. + * \param inIter XML node used to read the instruction from. + * \throw IOException If instruction format is not respected. + */ +void LinGP::Instruction::read(PACC::XML::ConstIterator inIter) +{ + if(inIter->getType() != PACC::XML::eData) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + if(inIter->getValue() != mName) { + std::ostringstream lOSS; + lOSS << "tag <" << mName << "> expected, but "; + lOSS << "got tag <" << inIter->getValue() << "> instead!"; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str()); + } +} + + +/*! + * \brief Write the instruction. + * \param ioStreamer XML stream to write the Instruction into. + * \param inIndent Whether XML output should be indented. + */ +void LinGP::Instruction::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + ioStreamer.openTag(mName, inIndent); + ioStreamer.closeTag(); +} + diff --git a/lib/beagle-3.0.3/tests/LinGP/src/InstructionSet.cpp b/lib/beagle-3.0.3/tests/LinGP/src/InstructionSet.cpp new file mode 100644 index 0000000..5849961 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/InstructionSet.cpp @@ -0,0 +1,138 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/src/InstructionSet.cpp + * \brief Implementation of the type LinGP::InstructionSet. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#include "beagle/GP.hpp" +#include "beagle/LinGP/InstructionSet.hpp" +#include "beagle/LinGP/Instruction.hpp" +#include "beagle/LinGP/Context.hpp" +#include "beagle/AssertException.hpp" +#include "beagle/RunTimeException.hpp" +#include "beagle/System.hpp" +#include "beagle/Randomizer.hpp" + +using namespace Beagle; + + +/*! + * \brief Get the instruction of the name given. + * \param inName Name of the instruction to get. + * \return Handle to the named instruction, NULL handle if there is no given named instruction. + */ +LinGP::Instruction::Handle LinGP::InstructionSet::getInstructionByName(string inName) const +{ + Map::const_iterator lMapIter = mNameLUT.find(inName); + if(lMapIter == mNameLUT.end()) return LinGP::Instruction::Handle(NULL); + return castHandleT(lMapIter->second); +} + + +/*! + * \brief Initialize the set of instruction. + * \param ioSystem System used to initialize the instruction set. + */ +void LinGP::InstructionSet::initialize(LinGP::System& ioSystem) +{ + for(unsigned int i=0; iinitialize(ioSystem); +} + + +/*! + * \brief Insert a new instruction in the set. + * \param inInstruction Handle to the instruction to insert. + * \throw AssertException If the given handle is NULL. + * \throw RunTimeException If a Instruction of the same name is already in the set. + */ +void LinGP::InstructionSet::insert(LinGP::Instruction::Handle inInstruction) +{ + Beagle_NonNullPointerAssertM(inInstruction); + if(mNameLUT.find(inInstruction->getName()) != mNameLUT.end()) { + string lMessage = "An instruction named \""; + lMessage += inInstruction->getName(); + lMessage += "\" is already in the instruction set."; + throw Beagle_RunTimeExceptionM(lMessage); + } + mNameLUT[inInstruction->getName()] = inInstruction; + (*this).push_back(inInstruction); +} + + +/*! + * \brief Select randomly an instruction. + * \param ioSystem Reference to the evolution system. + * \return Handle to the selected instruction. + */ +LinGP::Instruction::Handle +LinGP::InstructionSet::selectRandomInstruction(LinGP::System& ioSystem) const +{ + if(empty()) return LinGP::Instruction::Handle(NULL); + return (*this)[ioSystem.getRandomizer().rollInteger(0,size()-1)]; +} + + +/*! + * \brief Read an instruction set from a XML node. + * \param inIter XML node to read the instruction set from. + * \throw IOException If size atribute not present or if the size mismatch. + */ +void LinGP::InstructionSet::read(PACC::XML::ConstIterator inIter) +{ + if((inIter->getType() != PACC::XML::eData) || (inIter->getValue() != "InstructionSet")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() == PACC::XML::eData) { + Instruction::Handle lInstruction = getInstructionByName(lChild->getValue()); + if(lInstruction == NULL) { + std::ostringstream lOSS; + lOSS << "Instruction \"" << lChild->getValue(); + lOSS << "\" is not in the instruction set!"; + throw Beagle_IOExceptionNodeM(*lChild, lOSS.str()); + } + lInstruction->read(lChild); + } + } +} + + +/*! + * \brief Write an instruction set into a XML streamer. + * \param ioStreamer XML streamer to use to read the instruction set into. + * \param inIndent Whether XML output should be indented. + */ +void LinGP::InstructionSet::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + ioStreamer.openTag("InstructionSet", inIndent); + for(unsigned int i=0; iwrite(ioStreamer, inIndent); + ioStreamer.closeTag(); +} diff --git a/lib/beagle-3.0.3/tests/LinGP/src/InstructionSuperSet.cpp b/lib/beagle-3.0.3/tests/LinGP/src/InstructionSuperSet.cpp new file mode 100644 index 0000000..3a1769a --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/InstructionSuperSet.cpp @@ -0,0 +1,90 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/src/InstructionSuperSet.cpp + * \brief Implementation of the type LinGP::InstructionSuperSet. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#include "beagle/GP.hpp" +#include "beagle/LinGP/InstructionSuperSet.hpp" +#include "beagle/LinGP/InstructionSet.hpp" +#include "beagle/LinGP/System.hpp" + +using namespace Beagle; + + +/*! + * \brief Initialize the super set of instructions. + */ +void LinGP::InstructionSuperSet::initialize(LinGP::System& ioSystem) +{ + for(unsigned int i=0; iinitialize(ioSystem); +} + + +/*! + * \brief Insert a nes set of instructions in the super set. + * \param inInstructionSet Inserted instruction set. + */ +void LinGP::InstructionSuperSet::insert(LinGP::InstructionSet::Handle inInstructionSet) +{ + push_back(inInstructionSet); +} + +/*! + * \brief Read an instruction super set from a Beagle XML stream. + * \param inIter XML node used to read the super set from. + * \throw Beagle::IOException If size atribute not present. + */ +void LinGP::InstructionSuperSet::read(PACC::XML::ConstIterator inIter) +{ + if((inIter->getType() != PACC::XML::eData) || (inIter->getValue() != "InstructionSuperSet")) + throw Beagle_IOExceptionNodeM((*inIter), "tag expected!"); + size_type lPSIndex = 0; + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if((lChild->getType()==PACC::XML::eData) && (lChild->getValue()=="InstructionSet")) { + (*this)[lPSIndex++]->read(lChild); + } + } +} + + +/*! + * \brief Write an instruction super set into a Beagle XML stream. + * \param ioStreamer XMl streamer to write the super set into. + * \param inIndent Whether XML output should be indented. + */ +void LinGP::InstructionSuperSet::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + ioStreamer.openTag("InstructionSuperSet", inIndent); + for(unsigned int i=0; iwrite(ioStreamer); + ioStreamer.closeTag(); +} diff --git a/lib/beagle-3.0.3/tests/LinGP/src/Makefile b/lib/beagle-3.0.3/tests/LinGP/src/Makefile new file mode 100644 index 0000000..57ff42d --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/Makefile @@ -0,0 +1,719 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# tests/LinGP/src/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = tests/LinGP/src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +#libbeagle_LinGP_la_DEPENDENCIES = $(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +# $(top_srcdir)/beagle/GA/src/libbeagle-GA.la \ +# $(top_srcdir)/beagle/src/libbeagle.la \ +# $(top_srcdir)/PACC/Math/libpacc-math.la \ +# $(top_srcdir)/PACC/XML/libpacc-xml.la \ +# $(top_srcdir)/PACC/Util/libpacc-util.la +am__libbeagle_LinGP_la_SOURCES_DIST = Evolver.cpp Individual.cpp \ + InitializationOp.cpp Instruction.cpp InstructionSet.cpp \ + InstructionSuperSet.cpp MutationOp.cpp Program.cpp System.cpp +#am__objects_1 = Evolver.lo Individual.lo \ +# InitializationOp.lo Instruction.lo \ +# InstructionSet.lo InstructionSuperSet.lo \ +# MutationOp.lo Program.lo System.lo +##am_libbeagle_LinGP_la_OBJECTS = \ +## $(am__objects_1) +#nodist_libbeagle_LinGP_la_OBJECTS = \ +# libbeagle-LinGP.lo +libbeagle_LinGP_la_OBJECTS = $(am_libbeagle_LinGP_la_OBJECTS) \ + $(nodist_libbeagle_LinGP_la_OBJECTS) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +libbeagle_LinGP_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libbeagle_LinGP_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +#am_libbeagle_LinGP_la_rpath = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/Evolver.Plo \ + ./$(DEPDIR)/Individual.Plo ./$(DEPDIR)/InitializationOp.Plo \ + ./$(DEPDIR)/Instruction.Plo ./$(DEPDIR)/InstructionSet.Plo \ + ./$(DEPDIR)/InstructionSuperSet.Plo ./$(DEPDIR)/MutationOp.Plo \ + ./$(DEPDIR)/Program.Plo ./$(DEPDIR)/System.Plo \ + ./$(DEPDIR)/libbeagle-LinGP.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libbeagle_LinGP_la_SOURCES) \ + $(nodist_libbeagle_LinGP_la_SOURCES) +DIST_SOURCES = $(am__libbeagle_LinGP_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/LinGP/src +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/LinGP/src +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../../ +top_builddir = ../../.. +top_srcdir = ../../.. +#BEAGLE_LINGP_SRC_VAR = \ +#Evolver.cpp \ +#Individual.cpp \ +#InitializationOp.cpp \ +#Instruction.cpp \ +#InstructionSet.cpp \ +#InstructionSuperSet.cpp \ +#MutationOp.cpp \ +#Program.cpp \ +#System.cpp + +#noinst_LTLIBRARIES = libbeagle-LinGP.la +#INCLUDES = \ +#-I$(top_srcdir)/PACC \ +#-I$(top_srcdir)/beagle/include \ +#-I$(top_srcdir)/beagle/GA/include \ +#-I$(top_srcdir)/beagle/GP/include \ +#-I$(top_srcdir)/tests/LinGP/include + +#libbeagle_LinGP_la_LIBADD = \ +#$(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +#$(top_srcdir)/beagle/GA/src/libbeagle-GA.la \ +#$(top_srcdir)/beagle/src/libbeagle.la \ +#$(top_srcdir)/PACC/Math/libpacc-math.la \ +#$(top_srcdir)/PACC/XML/libpacc-xml.la \ +#$(top_srcdir)/PACC/Util/libpacc-util.la + +#libbeagle_LinGP_la_LDFLAGS = -no-undefined +#nodist_libbeagle_LinGP_la_SOURCES = libbeagle-LinGP.cpp +##libbeagle_LinGP_la_SOURCES = $(BEAGLE_LINGP_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/LinGP/src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/LinGP/src/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libbeagle-LinGP.la: $(libbeagle_LinGP_la_OBJECTS) $(libbeagle_LinGP_la_DEPENDENCIES) $(EXTRA_libbeagle_LinGP_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libbeagle_LinGP_la_LINK) $(am_libbeagle_LinGP_la_rpath) $(libbeagle_LinGP_la_OBJECTS) $(libbeagle_LinGP_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/Evolver.Plo # am--include-marker +include ./$(DEPDIR)/Individual.Plo # am--include-marker +include ./$(DEPDIR)/InitializationOp.Plo # am--include-marker +include ./$(DEPDIR)/Instruction.Plo # am--include-marker +include ./$(DEPDIR)/InstructionSet.Plo # am--include-marker +include ./$(DEPDIR)/InstructionSuperSet.Plo # am--include-marker +include ./$(DEPDIR)/MutationOp.Plo # am--include-marker +include ./$(DEPDIR)/Program.Plo # am--include-marker +include ./$(DEPDIR)/System.Plo # am--include-marker +include ./$(DEPDIR)/libbeagle-LinGP.Plo # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +#clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/Evolver.Plo + -rm -f ./$(DEPDIR)/Individual.Plo + -rm -f ./$(DEPDIR)/InitializationOp.Plo + -rm -f ./$(DEPDIR)/Instruction.Plo + -rm -f ./$(DEPDIR)/InstructionSet.Plo + -rm -f ./$(DEPDIR)/InstructionSuperSet.Plo + -rm -f ./$(DEPDIR)/MutationOp.Plo + -rm -f ./$(DEPDIR)/Program.Plo + -rm -f ./$(DEPDIR)/System.Plo + -rm -f ./$(DEPDIR)/libbeagle-LinGP.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/Evolver.Plo + -rm -f ./$(DEPDIR)/Individual.Plo + -rm -f ./$(DEPDIR)/InitializationOp.Plo + -rm -f ./$(DEPDIR)/Instruction.Plo + -rm -f ./$(DEPDIR)/InstructionSet.Plo + -rm -f ./$(DEPDIR)/InstructionSuperSet.Plo + -rm -f ./$(DEPDIR)/MutationOp.Plo + -rm -f ./$(DEPDIR)/Program.Plo + -rm -f ./$(DEPDIR)/System.Plo + -rm -f ./$(DEPDIR)/libbeagle-LinGP.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstLTLIBRARIES \ + cscopelist-am ctags ctags-am distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + +#libbeagle-LinGP.cpp: +# rm -f libbeagle-LinGP.cpp +# echo "// Generated automatically by make" > libbeagle-LinGP.cpp +# echo >> libbeagle-LinGP.cpp +# echo $(BEAGLE_LINGP_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libbeagle-LinGP.cpp + +#clean-generic: +# rm -f libbeagle-LinGP.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/LinGP/src/Makefile.am b/lib/beagle-3.0.3/tests/LinGP/src/Makefile.am new file mode 100644 index 0000000..12ede5a --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/Makefile.am @@ -0,0 +1,41 @@ +if COMPILE_TESTS +BEAGLE_LINGP_SRC_VAR = \ +Evolver.cpp \ +Individual.cpp \ +InitializationOp.cpp \ +Instruction.cpp \ +InstructionSet.cpp \ +InstructionSuperSet.cpp \ +MutationOp.cpp \ +Program.cpp \ +System.cpp +noinst_LTLIBRARIES = libbeagle-LinGP.la +INCLUDES = \ +-I$(top_srcdir)/PACC \ +-I$(top_srcdir)/beagle/include \ +-I$(top_srcdir)/beagle/GA/include \ +-I$(top_srcdir)/beagle/GP/include \ +-I$(top_srcdir)/tests/LinGP/include +libbeagle_LinGP_la_LIBADD = \ +$(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +$(top_srcdir)/beagle/GA/src/libbeagle-GA.la \ +$(top_srcdir)/beagle/src/libbeagle.la \ +$(top_srcdir)/PACC/Math/libpacc-math.la \ +$(top_srcdir)/PACC/XML/libpacc-xml.la \ +$(top_srcdir)/PACC/Util/libpacc-util.la +libbeagle_LinGP_la_LDFLAGS = -no-undefined +if FAST_COMPILATION +libbeagle-LinGP.cpp: + rm -f libbeagle-LinGP.cpp + echo "// Generated automatically by make" > libbeagle-LinGP.cpp + echo >> libbeagle-LinGP.cpp + echo $(BEAGLE_LINGP_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libbeagle-LinGP.cpp + +clean-generic: + rm -f libbeagle-LinGP.cpp + +nodist_libbeagle_LinGP_la_SOURCES = libbeagle-LinGP.cpp +else +libbeagle_LinGP_la_SOURCES = $(BEAGLE_LINGP_SRC_VAR) +endif +endif COMPILE_TESTS diff --git a/lib/beagle-3.0.3/tests/LinGP/src/Makefile.in b/lib/beagle-3.0.3/tests/LinGP/src/Makefile.in new file mode 100644 index 0000000..f6aff8b --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/Makefile.in @@ -0,0 +1,719 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = tests/LinGP/src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LTLIBRARIES = $(noinst_LTLIBRARIES) +@COMPILE_TESTS_TRUE@libbeagle_LinGP_la_DEPENDENCIES = $(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/GA/src/libbeagle-GA.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Math/libpacc-math.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Util/libpacc-util.la +am__libbeagle_LinGP_la_SOURCES_DIST = Evolver.cpp Individual.cpp \ + InitializationOp.cpp Instruction.cpp InstructionSet.cpp \ + InstructionSuperSet.cpp MutationOp.cpp Program.cpp System.cpp +@COMPILE_TESTS_TRUE@am__objects_1 = Evolver.lo Individual.lo \ +@COMPILE_TESTS_TRUE@ InitializationOp.lo Instruction.lo \ +@COMPILE_TESTS_TRUE@ InstructionSet.lo InstructionSuperSet.lo \ +@COMPILE_TESTS_TRUE@ MutationOp.lo Program.lo System.lo +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_FALSE@am_libbeagle_LinGP_la_OBJECTS = \ +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_FALSE@ $(am__objects_1) +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@nodist_libbeagle_LinGP_la_OBJECTS = \ +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@ libbeagle-LinGP.lo +libbeagle_LinGP_la_OBJECTS = $(am_libbeagle_LinGP_la_OBJECTS) \ + $(nodist_libbeagle_LinGP_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libbeagle_LinGP_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libbeagle_LinGP_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +@COMPILE_TESTS_TRUE@am_libbeagle_LinGP_la_rpath = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/Evolver.Plo \ + ./$(DEPDIR)/Individual.Plo ./$(DEPDIR)/InitializationOp.Plo \ + ./$(DEPDIR)/Instruction.Plo ./$(DEPDIR)/InstructionSet.Plo \ + ./$(DEPDIR)/InstructionSuperSet.Plo ./$(DEPDIR)/MutationOp.Plo \ + ./$(DEPDIR)/Program.Plo ./$(DEPDIR)/System.Plo \ + ./$(DEPDIR)/libbeagle-LinGP.Plo +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libbeagle_LinGP_la_SOURCES) \ + $(nodist_libbeagle_LinGP_la_SOURCES) +DIST_SOURCES = $(am__libbeagle_LinGP_la_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@COMPILE_TESTS_TRUE@BEAGLE_LINGP_SRC_VAR = \ +@COMPILE_TESTS_TRUE@Evolver.cpp \ +@COMPILE_TESTS_TRUE@Individual.cpp \ +@COMPILE_TESTS_TRUE@InitializationOp.cpp \ +@COMPILE_TESTS_TRUE@Instruction.cpp \ +@COMPILE_TESTS_TRUE@InstructionSet.cpp \ +@COMPILE_TESTS_TRUE@InstructionSuperSet.cpp \ +@COMPILE_TESTS_TRUE@MutationOp.cpp \ +@COMPILE_TESTS_TRUE@Program.cpp \ +@COMPILE_TESTS_TRUE@System.cpp + +@COMPILE_TESTS_TRUE@noinst_LTLIBRARIES = libbeagle-LinGP.la +@COMPILE_TESTS_TRUE@INCLUDES = \ +@COMPILE_TESTS_TRUE@-I$(top_srcdir)/PACC \ +@COMPILE_TESTS_TRUE@-I$(top_srcdir)/beagle/include \ +@COMPILE_TESTS_TRUE@-I$(top_srcdir)/beagle/GA/include \ +@COMPILE_TESTS_TRUE@-I$(top_srcdir)/beagle/GP/include \ +@COMPILE_TESTS_TRUE@-I$(top_srcdir)/tests/LinGP/include + +@COMPILE_TESTS_TRUE@libbeagle_LinGP_la_LIBADD = \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/beagle/GA/src/libbeagle-GA.la \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/PACC/Math/libpacc-math.la \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/PACC/Util/libpacc-util.la + +@COMPILE_TESTS_TRUE@libbeagle_LinGP_la_LDFLAGS = -no-undefined +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@nodist_libbeagle_LinGP_la_SOURCES = libbeagle-LinGP.cpp +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_FALSE@libbeagle_LinGP_la_SOURCES = $(BEAGLE_LINGP_SRC_VAR) +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/LinGP/src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/LinGP/src/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libbeagle-LinGP.la: $(libbeagle_LinGP_la_OBJECTS) $(libbeagle_LinGP_la_DEPENDENCIES) $(EXTRA_libbeagle_LinGP_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libbeagle_LinGP_la_LINK) $(am_libbeagle_LinGP_la_rpath) $(libbeagle_LinGP_la_OBJECTS) $(libbeagle_LinGP_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Evolver.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Individual.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitializationOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Instruction.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InstructionSet.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InstructionSuperSet.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MutationOp.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Program.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/System.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libbeagle-LinGP.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +@COMPILE_TESTS_FALSE@clean-generic: + +@FAST_COMPILATION_FALSE@clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/Evolver.Plo + -rm -f ./$(DEPDIR)/Individual.Plo + -rm -f ./$(DEPDIR)/InitializationOp.Plo + -rm -f ./$(DEPDIR)/Instruction.Plo + -rm -f ./$(DEPDIR)/InstructionSet.Plo + -rm -f ./$(DEPDIR)/InstructionSuperSet.Plo + -rm -f ./$(DEPDIR)/MutationOp.Plo + -rm -f ./$(DEPDIR)/Program.Plo + -rm -f ./$(DEPDIR)/System.Plo + -rm -f ./$(DEPDIR)/libbeagle-LinGP.Plo + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/Evolver.Plo + -rm -f ./$(DEPDIR)/Individual.Plo + -rm -f ./$(DEPDIR)/InitializationOp.Plo + -rm -f ./$(DEPDIR)/Instruction.Plo + -rm -f ./$(DEPDIR)/InstructionSet.Plo + -rm -f ./$(DEPDIR)/InstructionSuperSet.Plo + -rm -f ./$(DEPDIR)/MutationOp.Plo + -rm -f ./$(DEPDIR)/Program.Plo + -rm -f ./$(DEPDIR)/System.Plo + -rm -f ./$(DEPDIR)/libbeagle-LinGP.Plo + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstLTLIBRARIES \ + cscopelist-am ctags ctags-am distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@libbeagle-LinGP.cpp: +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@ rm -f libbeagle-LinGP.cpp +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@ echo "// Generated automatically by make" > libbeagle-LinGP.cpp +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@ echo >> libbeagle-LinGP.cpp +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@ echo $(BEAGLE_LINGP_SRC_VAR) | sed -e 's/ *\([a-zA-Z0-9_\-]*\.cpp\)/\#include \"\1\"=/g' | tr '=' '\n' >> libbeagle-LinGP.cpp + +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@clean-generic: +@COMPILE_TESTS_TRUE@@FAST_COMPILATION_TRUE@ rm -f libbeagle-LinGP.cpp + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/LinGP/src/MutationOp.cpp b/lib/beagle-3.0.3/tests/LinGP/src/MutationOp.cpp new file mode 100644 index 0000000..292a3ef --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/MutationOp.cpp @@ -0,0 +1,197 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/src/MutationOp.cpp + * \brief Source code of class LinGP::MutationOp. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#include +#include + +#include "beagle/GP.hpp" +#include "beagle/LinGP/MutationOp.hpp" +#include "beagle/LinGP/Program.hpp" +#include "beagle/RunTimeException.hpp" +#include "beagle/ValidationException.hpp" +#include "beagle/LinGP/Context.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a linear GP mutation operator. + * \param inMutationPbName Mutation probability parameter name used in register. + * \param inInstructMutatePbName Instruction mutation probability parameter name used in register. + * \param inName Name of the operator. + */ +LinGP::MutationOp::MutationOp(string inMutationPbName, + string inInstructMutatePbName, + string inName) : + Beagle::MutationOp(inMutationPbName, inName), + mInstructMutatePbName(inInstructMutatePbName) +{ } + + +/*! + * \brief Initialize the linear GP mutation operator. + * \param ioSystem System of the evolution. + */ +void LinGP::MutationOp::initialize(Beagle::System& ioSystem) +{ + Beagle::MutationOp::initialize(ioSystem); + + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + ioSystem.getRegister().deleteEntry(mMutationPbName); + } + + if(ioSystem.getRegister().isRegistered(mMutationPbName)) { + mMutationProba = castHandleT(ioSystem.getRegister()[mMutationPbName]); + } else { + mMutationProba = new Float(float(1.0)); + Register::Description lProbaDescription( + "Individual linear GP mutation prob.", + "Float", + "1.0", + "Linear GP mutation probability for each individual." + ); + ioSystem.getRegister().addEntry(mMutationPbName, mMutationProba, lProbaDescription); + } + + if(ioSystem.getRegister().isRegistered(mInstructMutatePbName)) { + mInstructMutateProba = castHandleT(ioSystem.getRegister()[mInstructMutatePbName]); + } else { + mInstructMutateProba = new Float(float(0.05)); + Register::Description lDescription( + "Instruction mutation probability", + "Float", + "0.05", + "Probability for each instruction inverted by mutation, when an individual is mutated." + ); + ioSystem.getRegister().addEntry(mInstructMutatePbName, mInstructMutateProba, lDescription); + } +} + + +/*! + * \brief Mutate a linear GP individual. + * \param ioIndividual Linear GP individual to mutate. + * \param ioContext Context of the evolution. + * \return True if the individual is effectively mutated, false if not. + */ +bool LinGP::MutationOp::mutate(Beagle::Individual& ioIndividual, Beagle::Context& ioContext) +{ + Beagle_ValidateParameterM(mInstructMutateProba->getWrappedValue()>=0.0, + mInstructMutatePbName, "<0"); + bool lMutated = false; + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::LinGP::MutationOp", + string("Linear GP mutation probability is: ")+ + dbl2str(mInstructMutateProba->getWrappedValue()) + ); + + LinGP::Context& lLinGPContext = castObjectT(ioContext); + LinGP::InstructionSuperSet& lInsSS = lLinGPContext.getSystem().getInstructionSuperSet(); + + for(unsigned int i=0; i(ioIndividual[i]); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::LinGP::MutationOp", + string("Mutating the ")+uint2ordinal(i+1)+" program" + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::LinGP::MutationOp", + string("The program before mutation: ")+lProgram->serialize() + ); + for(unsigned int j=0; jsize(); j++) { + double lRolledPb = ioContext.getSystem().getRandomizer().rollUniform(); + if(lRolledPb <= mInstructMutateProba->getWrappedValue()) { + (*lProgram)[j] = + lInsSS[i]->selectRandomInstruction(lLinGPContext.getSystem())->giveReference(lLinGPContext); + lMutated = true; + } + } + if(lMutated) { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::LinGP::MutationOp", + string("The program has been mutated") + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::LinGP::MutationOp", + string("The program after mutation: ")+lProgram->serialize() + ); + } + else { + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "mutation", "Beagle::LinGP::MutationOp", + string("The program has not been mutated") + ); + } + } + return lMutated; +} + + +/*! + * \brief Read a linear GP mutation operator from XML tree. + * \param inNode XML node to use to read mutation operator. + * \param inOpMap Operator map to use to read mutation operator. + */ +void LinGP::MutationOp::readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap) +{ + if((inIter->getType() != PACC::XML::eData) || (inIter->getValue() != getName())) { + std::ostringstream lOSS; + lOSS << "tag <" << getName() << "> expected!" << std::flush; + throw Beagle_IOExceptionNodeM(*inIter, lOSS.str()); + } + string lMutationPbReadName = inIter->getAttribute("mutationpb"); + if(lMutationPbReadName.empty() == false) mMutationPbName = lMutationPbReadName; + string lInstructMutatePbReadName = inIter->getAttribute("mutinstructpb"); + if(lInstructMutatePbReadName.empty() == false) mInstructMutatePbName = lInstructMutatePbReadName; +} + + +/*! + * \brief Write linear GP mutation operator into XML streamer. + * \param ioStreamer XML streamer to write mutation operator into. + * \param inIndent Whether XML output should be indented. + */ +void LinGP::MutationOp::writeContent(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + Beagle::MutationOp::writeContent(ioStreamer, inIndent); + ioStreamer.insertAttribute("mutinstructpb", mInstructMutatePbName); +} + diff --git a/lib/beagle-3.0.3/tests/LinGP/src/Program.cpp b/lib/beagle-3.0.3/tests/LinGP/src/Program.cpp new file mode 100644 index 0000000..da47026 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/Program.cpp @@ -0,0 +1,173 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/src/Program.cpp + * \brief Implementation of the type LinGP::Program. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#include + +#include "beagle/GP.hpp" +#include "beagle/LinGP/Program.hpp" +#include "beagle/LinGP/Context.hpp" +#include "beagle/LinGP/System.hpp" +#include "beagle/LinGP/Instruction.hpp" +#include "beagle/IOException.hpp" +#include "beagle/ObjectException.hpp" +#include "beagle/AssertException.hpp" +#include "beagle/InternalException.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a linear GP program of the size given. + * \param inSize Size of the Program. + */ +LinGP::Program::Program(unsigned int inSize) : + std::vector(inSize) +{ } + + +/*! + * \brief Interpret the linear GP program. + * \param ioContext GP evolutionary context. + * \throw Beagle::ObjectException When Program is empty or not in contextual individual. + * \throw Beagle::AssertException When the contextual individual is a NULL pointer. + */ +void LinGP::Program::interpret(LinGP::Context& ioContext) +{ + if(empty()) throw Beagle_ObjectExceptionM("Could not interpret, program is empty!"); + LinGP::Individual::Handle lIndiv = ioContext.getIndividualHandle(); + Beagle_NonNullPointerAssertM(lIndiv.getPointer()); + unsigned int lProgramIndex = 0; + for(; lProgramIndex < lIndiv->size(); lProgramIndex++) { + if(this == (*lIndiv)[lProgramIndex].getPointer()) break; + } + if(lProgramIndex == lIndiv->size()) + throw Beagle_ObjectExceptionM("Interpreted Program is not in the actual individual of the context!"); + + Program::Handle lOldProgramHandle = ioContext.getGenotypeHandle(); + unsigned int lOldProgramIndex = ioContext.getGenotypeIndex(); + ioContext.setGenotypeIndex(lProgramIndex); + ioContext.setGenotypeHandle(Handle(this)); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "program", "Beagle::LinGP::Program", + string("Interpreting the ")+uint2ordinal(lProgramIndex+1)+ + string(" linear program of the ")+uint2ordinal(ioContext.getIndividualIndex()+1)+ + string(" individual") + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "program", "Beagle::LinGP::Program", + string("The individual is: ")+ioContext.getIndividual().serialize() + ); + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "program", "Beagle::LinGP::Program", + string("Executing the linear program first instruction \"")+ + (*this)[0]->getName()+"\"" + ); + (*this)[0]->execute(ioContext); + ioContext.setGenotypeIndex(lOldProgramIndex); + ioContext.setGenotypeHandle(lOldProgramHandle); +} + + +/*! + * \brief Compare the equality of two linear GP programs. + * \param inRightObj Right program to be compare to tha actual one. + * \return True if the programs are identical, false if not. + */ +bool LinGP::Program::isEqual(const Object& inRightObj) const +{ + const LinGP::Program& lRightProgram = castObjectT(inRightObj); + if(size() != lRightProgram.size()) return false; + return std::equal(begin(), end(), lRightProgram.begin()); +} + + +/*! + * \brief Read a linear GP program from an XML node. + * \param inIter XML node to use to read the program from. + * \param ioContext Context to use to read the program. + */ +void LinGP::Program::readWithContext(PACC::XML::ConstIterator inIter, Beagle::Context& ioContext) +{ + if((inIter->getType() != PACC::XML::eData) || (inIter->getValue() != "Genotype")) + throw Beagle_IOExceptionNodeM(*inIter, "tag expected!"); + + string lType = inIter->getAttribute("type"); + if(lType.empty()) + throw Beagle_IOExceptionNodeM(*inIter, "type of the genotype is not present!"); + if(lType != "gplinear") + throw Beagle_IOExceptionNodeM(*inIter, "type of genotype mismatch, expected \"gplinear\"!"); + + LinGP::Context& lLinGPContext = castObjectT(ioContext); + LinGP::InstructionSet::Handle lInstructionSet = + lLinGPContext.getSystem().getInstructionSuperSet()[ioContext.getGenotypeIndex()]; + + clear(); + for(PACC::XML::ConstIterator lChild=inIter->getFirstChild(); lChild; ++lChild) { + if(lChild->getType() != PACC::XML::eData) + throw Beagle_IOExceptionNodeM(*lChild, "tag expected!"); + + LinGP::Instruction::Handle lInstruction = + lInstructionSet->getInstructionByName(lChild->getValue()); + if(lInstruction == NULL) { + std::ostringstream lOSS; + lOSS << "no instruction named \"" << lChild->getValue(); + lOSS << "\" found in the instruction set"; + throw Beagle_IOExceptionNodeM(*lChild, lOSS.str()); + } + push_back(lInstruction->giveReference(lLinGPContext)); + back()->read(lChild); + } +} + + +/*! + * \brief Write a GP Program into a XML streamer. + * \param ioStreamer XML streamer to write the program into. + * \param inIndent Whether XML output should be indented. + */ +void LinGP::Program::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + ioStreamer.openTag("Genotype", inIndent); + ioStreamer.insertAttribute("type", "gplinear"); + ioStreamer.insertAttribute("size", uint2str(size())); + for(unsigned int i=0; iwrite(ioStreamer, inIndent); + ioStreamer.closeTag(); +} + + + diff --git a/lib/beagle-3.0.3/tests/LinGP/src/System.cpp b/lib/beagle-3.0.3/tests/LinGP/src/System.cpp new file mode 100644 index 0000000..d0e32c3 --- /dev/null +++ b/lib/beagle-3.0.3/tests/LinGP/src/System.cpp @@ -0,0 +1,196 @@ +/* + * Open BEAGLE + * Copyright (C) 2001-2004 by Christian Gagne and Marc Parizeau + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact: + * Laboratoire de Vision et Systemes Numeriques + * Departement de genie electrique et de genie informatique + * Universite Laval, Quebec, Canada, G1V 4J7 + * http://vision.gel.ulaval.ca + * + */ + +/*! + * \file beagle/LinGP/src/System.cpp + * \brief Implementation of the type LinGP::System. + * \author Christian Gagne + * \author Alain-Daniel Bourdage + * $Revision: 1.1 $ + * $Date: 2005/10/06 15:43:44 $ + */ + +#include "beagle/GP.hpp" +#include "beagle/LinGP/System.hpp" +#include "beagle/LinGP/InstructionSuperSet.hpp" +#include "beagle/LinGP/Context.hpp" +#include "beagle/System.hpp" + +using namespace Beagle; + + +/*! + * \brief Construct a new linear GP system. + */ +LinGP::System::System() : + Beagle::System(new LinGP::Context::Alloc), + mInstructionSuperSet(new LinGP::InstructionSuperSet) +{ } + + +/*! + * \brief Construct a new linear GP system. + * \param inSuperSet Handle to the instruction super set to use. + */ +LinGP::System::System(LinGP::InstructionSuperSet::Handle inSuperSet) : + Beagle::System(new LinGP::Context::Alloc), + mInstructionSuperSet(inSuperSet) +{ } + + +/*! + * \brief Construct a new linear GP system. + * \param inSuperSet Handle to the instruction super set to use. + * \param inContextAllocator Context allocator to use. + */ +LinGP::System::System(LinGP::InstructionSuperSet::Handle inSuperSet, + Beagle::Context::Alloc::Handle inContextAllocator) : + Beagle::System(inContextAllocator), + mInstructionSuperSet(inSuperSet) +{ } + + +/*! + * \brief Construct a new linear GP system. + * \param inSuperSet Handle to the instruction super set to use. + * \param inContextAllocator Context allocator to use. + * \param inRandomizer Handle to the randomizer used. + * \param inRegister Handle to the register used. + * \param inLogger Handle to the logger used. + */ +LinGP::System::System(LinGP::InstructionSuperSet::Handle inSuperSet, + Beagle::Context::Alloc::Handle inContextAllocator, + Randomizer::Handle inRandomizer, + Register::Handle inRegister, + Logger::Handle inLogger) : + Beagle::System(inContextAllocator, inRandomizer, inRegister, inLogger), + mInstructionSuperSet(inSuperSet) +{ } + + +/*! + * \brief Construct a new linear GP system. + * \param inSet Handle to the instruction set to use. + */ +LinGP::System::System(LinGP::InstructionSet::Handle inSet) : + Beagle::System(new LinGP::Context::Alloc), + mInstructionSuperSet(new InstructionSuperSet) +{ + mInstructionSuperSet->insert(inSet); +} + + +/*! + * \brief Construct a new linear GP system. + * \param inSet Handle to the instruction set to use. + * \param inContextAllocator Context allocator to use. + */ +LinGP::System::System(LinGP::InstructionSet::Handle inSet, + Beagle::Context::Alloc::Handle inContextAllocator) : + Beagle::System(inContextAllocator), + mInstructionSuperSet(new InstructionSuperSet) +{ + mInstructionSuperSet->insert(inSet); +} + + +/*! + * \brief Construct a new linear GP system. + * \param inSet Handle to the instruction set to use. + * \param inContextAllocator Context allocator to use. + * \param inRandomizer Handle to the randomizer used. + * \param inRegister Handle to the register used. + * \param inLogger Handle to the logger used. + */ +LinGP::System::System(LinGP::InstructionSet::Handle inSet, + Beagle::Context::Alloc::Handle inContextAllocator, + Randomizer::Handle inRandomizer, + Register::Handle inRegister, + Logger::Handle inLogger) : + Beagle::System(inContextAllocator, inRandomizer, inRegister, inLogger), + mInstructionSuperSet(new InstructionSuperSet) +{ + mInstructionSuperSet->insert(inSet); +} + + +/*! + * \brief Initialize the system. + * \param ioArgc Number of elements on the command-line. + * \param ioArgv Element on the command-line. + */ +void LinGP::System::initialize(int& ioArgc, char** ioArgv) +{ + // Initializing the system. + Beagle_LogDetailedM( + getLogger(), + "system", "Beagle::LinGP::System", + "Initializing the system" + ); + mLogger->initialize(*this); + mRandomizer->initialize(*this); + mRegister->initialize(*this); + mInstructionSuperSet->initialize(*this); + + // Parsing the command-line. + Beagle_LogTraceM( + (*mLogger), + "system", "Beagle::LinGP::System", + "Parsing the command-line" + ); + mRegister->parseCommandLine(*this, ioArgc, ioArgv); +} + + +/*! + * \brief Initialize the system. + * \param inRegisterFileName Name of the filename containing the system configuration. + */ +void LinGP::System::initialize(string inRegisterFileName) +{ + // Initializing the system. + Beagle_LogDetailedM( + getLogger(), + "system", "Beagle::LinGP::System", + "Initializing the system" + ); + mLogger->initialize(*this); + mRandomizer->initialize(*this); + mRegister->initialize(*this); + mInstructionSuperSet->initialize(*this); + + // Reading configuration file. + if(inRegisterFileName.empty() == false) { + Beagle_LogTraceM( + (*mLogger), + "system", "Beagle::LinGP::System", + "Reading system configuration file" + ); + mRegister->readParametersFile(inRegisterFileName, *this); + } +} + + diff --git a/lib/beagle-3.0.3/tests/Makefile b/lib/beagle-3.0.3/tests/Makefile new file mode 100644 index 0000000..6b89fff --- /dev/null +++ b/lib/beagle-3.0.3/tests/Makefile @@ -0,0 +1,662 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# tests/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = tests +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../ +top_builddir = .. +top_srcdir = .. +SUBDIRS = \ +Common \ +Exception \ +GA \ +GP \ +LinGP \ +Roulette \ +Thread \ +TransportTCPIPOp + +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/Makefile.am b/lib/beagle-3.0.3/tests/Makefile.am new file mode 100644 index 0000000..f90de80 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Makefile.am @@ -0,0 +1,9 @@ +SUBDIRS = \ +Common \ +Exception \ +GA \ +GP \ +LinGP \ +Roulette \ +Thread \ +TransportTCPIPOp diff --git a/lib/beagle-3.0.3/tests/Makefile.in b/lib/beagle-3.0.3/tests/Makefile.in new file mode 100644 index 0000000..5c1ca64 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Makefile.in @@ -0,0 +1,662 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = tests +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = \ +Common \ +Exception \ +GA \ +GP \ +LinGP \ +Roulette \ +Thread \ +TransportTCPIPOp + +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-am clean clean-generic clean-libtool cscopelist-am ctags \ + ctags-am distclean distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/Roulette/.deps/testRoulette.Po b/lib/beagle-3.0.3/tests/Roulette/.deps/testRoulette.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Roulette/.deps/testRoulette.Po @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/Roulette/Makefile b/lib/beagle-3.0.3/tests/Roulette/Makefile new file mode 100644 index 0000000..7bf235e --- /dev/null +++ b/lib/beagle-3.0.3/tests/Roulette/Makefile @@ -0,0 +1,639 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# tests/Roulette/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +#noinst_PROGRAMS = testRoulette$(EXEEXT) +subdir = tests/Roulette +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__testRoulette_SOURCES_DIST = testRoulette.cpp +#am_testRoulette_OBJECTS = testRoulette.$(OBJEXT) +testRoulette_OBJECTS = $(am_testRoulette_OBJECTS) +#testRoulette_DEPENDENCIES = \ +# $(top_srcdir)/PACC/Math/libpacc-math.la \ +# $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +# $(top_srcdir)/PACC/Util/libpacc-util.la \ +# $(top_srcdir)/PACC/XML/libpacc-xml.la \ +# $(top_srcdir)/beagle/src/libbeagle.la +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/testRoulette.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(testRoulette_SOURCES) +DIST_SOURCES = $(am__testRoulette_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/Roulette +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/Roulette +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +#INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include +#testRoulette_LDADD = $(top_srcdir)/PACC/Math/libpacc-math.la \ +# $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +# $(top_srcdir)/PACC/Util/libpacc-util.la \ +# $(top_srcdir)/PACC/XML/libpacc-xml.la \ +# $(top_srcdir)/beagle/src/libbeagle.la + +#testRoulette_SOURCES = testRoulette.cpp +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Roulette/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/Roulette/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +testRoulette$(EXEEXT): $(testRoulette_OBJECTS) $(testRoulette_DEPENDENCIES) $(EXTRA_testRoulette_DEPENDENCIES) + @rm -f testRoulette$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(testRoulette_OBJECTS) $(testRoulette_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/testRoulette.Po # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/testRoulette.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/testRoulette.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/Roulette/Makefile.am b/lib/beagle-3.0.3/tests/Roulette/Makefile.am new file mode 100644 index 0000000..7a399af --- /dev/null +++ b/lib/beagle-3.0.3/tests/Roulette/Makefile.am @@ -0,0 +1,10 @@ +if COMPILE_TESTS +noinst_PROGRAMS = testRoulette +INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include +testRoulette_LDADD = $(top_srcdir)/PACC/Math/libpacc-math.la \ + $(top_srcdir)/PACC/Threading/libpacc-threading.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la \ + $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/beagle/src/libbeagle.la +testRoulette_SOURCES = testRoulette.cpp +endif COMPILE_TESTS diff --git a/lib/beagle-3.0.3/tests/Roulette/Makefile.in b/lib/beagle-3.0.3/tests/Roulette/Makefile.in new file mode 100644 index 0000000..f02e401 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Roulette/Makefile.in @@ -0,0 +1,639 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@COMPILE_TESTS_TRUE@noinst_PROGRAMS = testRoulette$(EXEEXT) +subdir = tests/Roulette +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__testRoulette_SOURCES_DIST = testRoulette.cpp +@COMPILE_TESTS_TRUE@am_testRoulette_OBJECTS = testRoulette.$(OBJEXT) +testRoulette_OBJECTS = $(am_testRoulette_OBJECTS) +@COMPILE_TESTS_TRUE@testRoulette_DEPENDENCIES = \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Math/libpacc-math.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Util/libpacc-util.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/src/libbeagle.la +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/testRoulette.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(testRoulette_SOURCES) +DIST_SOURCES = $(am__testRoulette_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@COMPILE_TESTS_TRUE@INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include +@COMPILE_TESTS_TRUE@testRoulette_LDADD = $(top_srcdir)/PACC/Math/libpacc-math.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Util/libpacc-util.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/src/libbeagle.la + +@COMPILE_TESTS_TRUE@testRoulette_SOURCES = testRoulette.cpp +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Roulette/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/Roulette/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +testRoulette$(EXEEXT): $(testRoulette_OBJECTS) $(testRoulette_DEPENDENCIES) $(EXTRA_testRoulette_DEPENDENCIES) + @rm -f testRoulette$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(testRoulette_OBJECTS) $(testRoulette_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testRoulette.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/testRoulette.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/testRoulette.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/Roulette/testRoulette.cpp b/lib/beagle-3.0.3/tests/Roulette/testRoulette.cpp new file mode 100644 index 0000000..0d47749 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Roulette/testRoulette.cpp @@ -0,0 +1,25 @@ +#include "beagle/Beagle.hpp" +#include + + +using namespace std; + +int main(int argc, char** argv) +{ + Beagle::System::Handle lSystem = new Beagle::System; + lSystem->initialize(argc, argv); + + Beagle::Context lContext; + lContext.setSystemHandle( lSystem ); + + Beagle::RouletteT lRoulette; + lRoulette.insert("first", 2.0); + lRoulette.insert("second", 1.0); + lRoulette.insert("third", 0.5); + + cout << "Selection: " << lRoulette.select(lContext.getSystem().getRandomizer()) << endl; + lRoulette.optimize(); + cout << "Selection: " << lRoulette.select(lContext.getSystem().getRandomizer()) << endl; + + cout << "Finished." << endl; +} diff --git a/lib/beagle-3.0.3/tests/Thread/.deps/TestThread.Po b/lib/beagle-3.0.3/tests/Thread/.deps/TestThread.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Thread/.deps/TestThread.Po @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/Thread/Makefile b/lib/beagle-3.0.3/tests/Thread/Makefile new file mode 100644 index 0000000..080883a --- /dev/null +++ b/lib/beagle-3.0.3/tests/Thread/Makefile @@ -0,0 +1,641 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# tests/Thread/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +#noinst_PROGRAMS = testThread$(EXEEXT) +subdir = tests/Thread +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__testThread_SOURCES_DIST = TestThread.cpp +#am_testThread_OBJECTS = TestThread.$(OBJEXT) +testThread_OBJECTS = $(am_testThread_OBJECTS) +#testThread_DEPENDENCIES = \ +# $(top_srcdir)/PACC/Math/libpacc-math.la \ +# $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +# $(top_srcdir)/PACC/Util/libpacc-util.la \ +# $(top_srcdir)/PACC/XML/libpacc-xml.la \ +# $(top_srcdir)/beagle/src/libbeagle.la \ +# $(top_srcdir)/beagle/GP/src/libbeagle-GP.la +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/TestThread.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(testThread_SOURCES) +DIST_SOURCES = $(am__testThread_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/Thread +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/Thread +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +#INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include +#testThread_LDADD = $(top_srcdir)/PACC/Math/libpacc-math.la \ +# $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +# $(top_srcdir)/PACC/Util/libpacc-util.la \ +# $(top_srcdir)/PACC/XML/libpacc-xml.la \ +# $(top_srcdir)/beagle/src/libbeagle.la \ +# $(top_srcdir)/beagle/GP/src/libbeagle-GP.la + +#testThread_SOURCES = TestThread.cpp +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Thread/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/Thread/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +testThread$(EXEEXT): $(testThread_OBJECTS) $(testThread_DEPENDENCIES) $(EXTRA_testThread_DEPENDENCIES) + @rm -f testThread$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(testThread_OBJECTS) $(testThread_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/TestThread.Po # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/TestThread.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/TestThread.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/Thread/Makefile.am b/lib/beagle-3.0.3/tests/Thread/Makefile.am new file mode 100644 index 0000000..533d78c --- /dev/null +++ b/lib/beagle-3.0.3/tests/Thread/Makefile.am @@ -0,0 +1,11 @@ +if COMPILE_TESTS +noinst_PROGRAMS = testThread +INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include +testThread_LDADD = $(top_srcdir)/PACC/Math/libpacc-math.la \ + $(top_srcdir)/PACC/Threading/libpacc-threading.la \ + $(top_srcdir)/PACC/Util/libpacc-util.la \ + $(top_srcdir)/PACC/XML/libpacc-xml.la \ + $(top_srcdir)/beagle/src/libbeagle.la \ + $(top_srcdir)/beagle/GP/src/libbeagle-GP.la +testThread_SOURCES = TestThread.cpp +endif COMPILE_TESTS diff --git a/lib/beagle-3.0.3/tests/Thread/Makefile.in b/lib/beagle-3.0.3/tests/Thread/Makefile.in new file mode 100644 index 0000000..15db9c7 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Thread/Makefile.in @@ -0,0 +1,641 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@COMPILE_TESTS_TRUE@noinst_PROGRAMS = testThread$(EXEEXT) +subdir = tests/Thread +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__testThread_SOURCES_DIST = TestThread.cpp +@COMPILE_TESTS_TRUE@am_testThread_OBJECTS = TestThread.$(OBJEXT) +testThread_OBJECTS = $(am_testThread_OBJECTS) +@COMPILE_TESTS_TRUE@testThread_DEPENDENCIES = \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Math/libpacc-math.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Util/libpacc-util.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/GP/src/libbeagle-GP.la +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/TestThread.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(testThread_SOURCES) +DIST_SOURCES = $(am__testThread_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@COMPILE_TESTS_TRUE@INCLUDES = -I. -I$(top_srcdir)/PACC -I$(top_srcdir)/beagle/include -I$(top_srcdir)/beagle/GA/include -I$(top_srcdir)/beagle/GP/include +@COMPILE_TESTS_TRUE@testThread_LDADD = $(top_srcdir)/PACC/Math/libpacc-math.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Util/libpacc-util.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/GP/src/libbeagle-GP.la + +@COMPILE_TESTS_TRUE@testThread_SOURCES = TestThread.cpp +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Thread/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/Thread/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +testThread$(EXEEXT): $(testThread_OBJECTS) $(testThread_DEPENDENCIES) $(EXTRA_testThread_DEPENDENCIES) + @rm -f testThread$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(testThread_OBJECTS) $(testThread_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestThread.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/TestThread.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/TestThread.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/Thread/TestThread.cpp b/lib/beagle-3.0.3/tests/Thread/TestThread.cpp new file mode 100644 index 0000000..a132002 --- /dev/null +++ b/lib/beagle-3.0.3/tests/Thread/TestThread.cpp @@ -0,0 +1,51 @@ +#include +#include +#include + +#include "Threading.hpp" +#include "beagle/Beagle.hpp" + +using namespace std; +using namespace Beagle; +using namespace PACC; + +class TestThread : public Threading::Thread { +public: + TestThread() {} + ~TestThread() { wait(); } + + void setChar(char inChar) + { + mChar = inChar; + } + +protected: + virtual void main() + { + while (true) { + putchar(mChar); + fflush(stdout); + } + } + +private: + char mChar; +}; + + + + +int main(int argc, char** argv) { + TestThread lThread1; + lThread1.setChar('1'); + + TestThread lThread2; + lThread2.setChar('2'); + + cout << "Starting thread one" << endl; + lThread1.run(); + cout << "Starting thread two" << endl; + lThread2.run(); + + cout << "Finished." << endl; +} diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/DefaultSignalHandler.Po b/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/DefaultSignalHandler.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/DefaultSignalHandler.Po @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TestTransportReceiveTCPIPOp.Po b/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TestTransportReceiveTCPIPOp.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TestTransportReceiveTCPIPOp.Po @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TestTransportSendTCPIPOp.Po b/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TestTransportSendTCPIPOp.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TestTransportSendTCPIPOp.Po @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TransportReceiveOp.Po b/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TransportReceiveOp.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TransportReceiveOp.Po @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TransportReceiveTCPIPOp.Po b/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TransportReceiveTCPIPOp.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TransportReceiveTCPIPOp.Po @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TransportSendOp.Po b/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TransportSendOp.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TransportSendOp.Po @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TransportSendTCPIPOp.Po b/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TransportSendTCPIPOp.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TransportSendTCPIPOp.Po @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TransportTCPIPReceiver.Po b/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TransportTCPIPReceiver.Po new file mode 100644 index 0000000..9ce06a8 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/.deps/TransportTCPIPReceiver.Po @@ -0,0 +1 @@ +# dummy diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/DefaultSignalHandler.cpp b/lib/beagle-3.0.3/tests/TransportTCPIPOp/DefaultSignalHandler.cpp new file mode 100644 index 0000000..de042ff --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/DefaultSignalHandler.cpp @@ -0,0 +1,23 @@ +#include "DefaultSignalHandler.hpp" + +DefaultSignalHandler::DefaultSignalHandler() +{ + setCustomAction(eSigInt); + setCustomAction(eSigTerm); +} + +DefaultSignalHandler::~DefaultSignalHandler() +{} + +void +DefaultSignalHandler::main(SignalType inSignalNumber) +{ + switch(inSignalNumber) { + case eSigInt: + case eSigTerm: + throw "This is the default signal handler cleaning things up."; + break; + default: + break; + } +} diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/DefaultSignalHandler.hpp b/lib/beagle-3.0.3/tests/TransportTCPIPOp/DefaultSignalHandler.hpp new file mode 100644 index 0000000..2b2005b --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/DefaultSignalHandler.hpp @@ -0,0 +1,17 @@ +#ifndef DefaultSignalHandler_hpp +#define DefaultSignalHandler_hpp + +#include "Util.hpp" + +class DefaultSignalHandler : public PACC::SignalHandler { + +public: + + DefaultSignalHandler(); + virtual ~DefaultSignalHandler(); + + virtual void main(SignalType inSignalNumber); + +}; + +#endif // DefaultSignalHandler_hpp diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/Makefile b/lib/beagle-3.0.3/tests/TransportTCPIPOp/Makefile new file mode 100644 index 0000000..47576ea --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/Makefile @@ -0,0 +1,751 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# tests/TransportTCPIPOp/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/beagle +pkgincludedir = $(includedir)/beagle +pkglibdir = $(libdir)/beagle +pkglibexecdir = $(libexecdir)/beagle +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +#noinst_PROGRAMS = \ +# testTransportSendTCPIPOp$(EXEEXT) \ +# testTransportReceiveTCPIPOp$(EXEEXT) +subdir = tests/TransportTCPIPOp +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__noinst_HEADERS_DIST) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__testTransportReceiveTCPIPOp_SOURCES_DIST = \ + TestTransportReceiveTCPIPOp.cpp TransportReceiveOp.cpp \ + TransportReceiveTCPIPOp.cpp TransportTCPIPReceiver.cpp \ + DefaultSignalHandler.cpp +#am_testTransportReceiveTCPIPOp_OBJECTS = \ +# TestTransportReceiveTCPIPOp.$(OBJEXT) \ +# TransportReceiveOp.$(OBJEXT) \ +# TransportReceiveTCPIPOp.$(OBJEXT) \ +# TransportTCPIPReceiver.$(OBJEXT) \ +# DefaultSignalHandler.$(OBJEXT) +testTransportReceiveTCPIPOp_OBJECTS = \ + $(am_testTransportReceiveTCPIPOp_OBJECTS) +#testTransportReceiveTCPIPOp_DEPENDENCIES = \ +# $(top_srcdir)/beagle/src/libbeagle.la \ +# $(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +# $(top_srcdir)/tests/Common/libtest.la \ +# $(top_srcdir)/PACC/Socket/libpacc-socket.la \ +# $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +# $(top_srcdir)/PACC/XML/libpacc-xml.la \ +# $(top_srcdir)/PACC/Util/libpacc-util.la \ +# $(top_srcdir)/PACC/Math/libpacc-math.la +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +am__testTransportSendTCPIPOp_SOURCES_DIST = \ + TestTransportSendTCPIPOp.cpp TransportSendOp.cpp \ + TransportSendTCPIPOp.cpp +#am_testTransportSendTCPIPOp_OBJECTS = \ +# TestTransportSendTCPIPOp.$(OBJEXT) \ +# TransportSendOp.$(OBJEXT) \ +# TransportSendTCPIPOp.$(OBJEXT) +testTransportSendTCPIPOp_OBJECTS = \ + $(am_testTransportSendTCPIPOp_OBJECTS) +#testTransportSendTCPIPOp_DEPENDENCIES = \ +# $(top_srcdir)/beagle/src/libbeagle.la \ +# $(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +# $(top_srcdir)/tests/Common/libtest.la \ +# $(top_srcdir)/PACC/Socket/libpacc-socket.la \ +# $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +# $(top_srcdir)/PACC/XML/libpacc-xml.la \ +# $(top_srcdir)/PACC/Util/libpacc-util.la \ +# $(top_srcdir)/PACC/Math/libpacc-math.la +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/DefaultSignalHandler.Po \ + ./$(DEPDIR)/TestTransportReceiveTCPIPOp.Po \ + ./$(DEPDIR)/TestTransportSendTCPIPOp.Po \ + ./$(DEPDIR)/TransportReceiveOp.Po \ + ./$(DEPDIR)/TransportReceiveTCPIPOp.Po \ + ./$(DEPDIR)/TransportSendOp.Po \ + ./$(DEPDIR)/TransportSendTCPIPOp.Po \ + ./$(DEPDIR)/TransportTCPIPReceiver.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(testTransportReceiveTCPIPOp_SOURCES) \ + $(testTransportSendTCPIPOp_SOURCES) +DIST_SOURCES = $(am__testTransportReceiveTCPIPOp_SOURCES_DIST) \ + $(am__testTransportSendTCPIPOp_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__noinst_HEADERS_DIST = DefaultSignalHandler.hpp \ + TransportReceiveOp.hpp TransportReceiveTCPIPOp.hpp \ + TransportSendOp.hpp TransportSendTCPIPOp.hpp \ + TransportTCPIPReceiver.hpp +HEADERS = $(noinst_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' aclocal-1.16 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +AR = ar +AUTOCONF = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoconf +AUTOHEADER = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' autoheader +AUTOMAKE = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' automake-1.16 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -std=c++03 +CPPFLAGS = -I/usr/include -DPACC_ZLIB +CSCOPE = cscope +CTAGS = ctags +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /usr/bin/grep -E +ETAGS = etags +EXEEXT = +FGREP = /usr/bin/grep -F +FILECMD = file +GREP = /usr/bin/grep +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -L/usr/lib +LIBOBJS = +LIBS = -lz +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +MAKEINFO = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/missing' makeinfo +MANIFEST_TOOL = : +MKDIR_P = /usr/bin/mkdir -p +NM = /usr/bin/nm -B +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACC_VERSION = 1.3.1b +PACKAGE = beagle +PACKAGE_BUGREPORT = cgagne@gmail.com +PACKAGE_NAME = Open BEAGLE +PACKAGE_STRING = Open BEAGLE 3.0.3 +PACKAGE_TARNAME = beagle +PACKAGE_URL = +PACKAGE_VERSION = 3.0.3 +PATH_SEPARATOR = : +PTHREAD_CC = gcc +PTHREAD_CFLAGS = +PTHREAD_LIBS = +RANLIB = ranlib +SED = /usr/bin/sed +SET_MAKE = +SHELL = /bin/bash +STRIP = strip +VERSION = 3.0.3 +abs_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/TransportTCPIPOp +abs_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/tests/TransportTCPIPOp +abs_top_builddir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +abs_top_srcdir = /home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +acx_pthread_config = +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} '/home/brett/Documents/Brock/CS 4P82/Assignment 1/lib/beagle-3.0.3/config/install-sh' +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. +#INCLUDES = \ +#-I.\ +#-I$(top_srcdir)/PACC\ +#-I$(top_srcdir)/beagle/include\ +#-I$(top_srcdir)/beagle/GP/include\ +#-I$(top_srcdir)/tests/Common + +#noinst_HEADERS = \ +#DefaultSignalHandler.hpp \ +#TransportReceiveOp.hpp \ +#TransportReceiveTCPIPOp.hpp \ +#TransportSendOp.hpp \ +#TransportSendTCPIPOp.hpp \ +#TransportTCPIPReceiver.hpp + +#testTransportSendTCPIPOp_LDADD = \ +#$(top_srcdir)/beagle/src/libbeagle.la \ +#$(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +#$(top_srcdir)/tests/Common/libtest.la \ +#$(top_srcdir)/PACC/Socket/libpacc-socket.la\ +#$(top_srcdir)/PACC/Threading/libpacc-threading.la\ +#$(top_srcdir)/PACC/XML/libpacc-xml.la\ +#$(top_srcdir)/PACC/Util/libpacc-util.la\ +#$(top_srcdir)/PACC/Math/libpacc-math.la + +#testTransportSendTCPIPOp_SOURCES = \ +#TestTransportSendTCPIPOp.cpp \ +#TransportSendOp.cpp \ +#TransportSendTCPIPOp.cpp + +#testTransportReceiveTCPIPOp_LDADD = \ +#$(top_srcdir)/beagle/src/libbeagle.la \ +#$(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +#$(top_srcdir)/tests/Common/libtest.la \ +#$(top_srcdir)/PACC/Socket/libpacc-socket.la\ +#$(top_srcdir)/PACC/Threading/libpacc-threading.la\ +#$(top_srcdir)/PACC/XML/libpacc-xml.la\ +#$(top_srcdir)/PACC/Util/libpacc-util.la\ +#$(top_srcdir)/PACC/Math/libpacc-math.la + +#testTransportReceiveTCPIPOp_SOURCES = \ +#TestTransportReceiveTCPIPOp.cpp \ +#TransportReceiveOp.cpp \ +#TransportReceiveTCPIPOp.cpp \ +#TransportTCPIPReceiver.cpp \ +#DefaultSignalHandler.cpp + +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/TransportTCPIPOp/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/TransportTCPIPOp/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +testTransportReceiveTCPIPOp$(EXEEXT): $(testTransportReceiveTCPIPOp_OBJECTS) $(testTransportReceiveTCPIPOp_DEPENDENCIES) $(EXTRA_testTransportReceiveTCPIPOp_DEPENDENCIES) + @rm -f testTransportReceiveTCPIPOp$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(testTransportReceiveTCPIPOp_OBJECTS) $(testTransportReceiveTCPIPOp_LDADD) $(LIBS) + +testTransportSendTCPIPOp$(EXEEXT): $(testTransportSendTCPIPOp_OBJECTS) $(testTransportSendTCPIPOp_DEPENDENCIES) $(EXTRA_testTransportSendTCPIPOp_DEPENDENCIES) + @rm -f testTransportSendTCPIPOp$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(testTransportSendTCPIPOp_OBJECTS) $(testTransportSendTCPIPOp_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/DefaultSignalHandler.Po # am--include-marker +include ./$(DEPDIR)/TestTransportReceiveTCPIPOp.Po # am--include-marker +include ./$(DEPDIR)/TestTransportSendTCPIPOp.Po # am--include-marker +include ./$(DEPDIR)/TransportReceiveOp.Po # am--include-marker +include ./$(DEPDIR)/TransportReceiveTCPIPOp.Po # am--include-marker +include ./$(DEPDIR)/TransportSendOp.Po # am--include-marker +include ./$(DEPDIR)/TransportSendTCPIPOp.Po # am--include-marker +include ./$(DEPDIR)/TransportTCPIPReceiver.Po # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< + $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(HEADERS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/DefaultSignalHandler.Po + -rm -f ./$(DEPDIR)/TestTransportReceiveTCPIPOp.Po + -rm -f ./$(DEPDIR)/TestTransportSendTCPIPOp.Po + -rm -f ./$(DEPDIR)/TransportReceiveOp.Po + -rm -f ./$(DEPDIR)/TransportReceiveTCPIPOp.Po + -rm -f ./$(DEPDIR)/TransportSendOp.Po + -rm -f ./$(DEPDIR)/TransportSendTCPIPOp.Po + -rm -f ./$(DEPDIR)/TransportTCPIPReceiver.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/DefaultSignalHandler.Po + -rm -f ./$(DEPDIR)/TestTransportReceiveTCPIPOp.Po + -rm -f ./$(DEPDIR)/TestTransportSendTCPIPOp.Po + -rm -f ./$(DEPDIR)/TransportReceiveOp.Po + -rm -f ./$(DEPDIR)/TransportReceiveTCPIPOp.Po + -rm -f ./$(DEPDIR)/TransportSendOp.Po + -rm -f ./$(DEPDIR)/TransportSendTCPIPOp.Po + -rm -f ./$(DEPDIR)/TransportTCPIPReceiver.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/Makefile.am b/lib/beagle-3.0.3/tests/TransportTCPIPOp/Makefile.am new file mode 100644 index 0000000..e0c450e --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/Makefile.am @@ -0,0 +1,44 @@ +if COMPILE_TESTS +noinst_PROGRAMS = testTransportSendTCPIPOp testTransportReceiveTCPIPOp +INCLUDES = \ +-I.\ +-I$(top_srcdir)/PACC\ +-I$(top_srcdir)/beagle/include\ +-I$(top_srcdir)/beagle/GP/include\ +-I$(top_srcdir)/tests/Common +noinst_HEADERS = \ +DefaultSignalHandler.hpp \ +TransportReceiveOp.hpp \ +TransportReceiveTCPIPOp.hpp \ +TransportSendOp.hpp \ +TransportSendTCPIPOp.hpp \ +TransportTCPIPReceiver.hpp +testTransportSendTCPIPOp_LDADD = \ +$(top_srcdir)/beagle/src/libbeagle.la \ +$(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +$(top_srcdir)/tests/Common/libtest.la \ +$(top_srcdir)/PACC/Socket/libpacc-socket.la\ +$(top_srcdir)/PACC/Threading/libpacc-threading.la\ +$(top_srcdir)/PACC/XML/libpacc-xml.la\ +$(top_srcdir)/PACC/Util/libpacc-util.la\ +$(top_srcdir)/PACC/Math/libpacc-math.la +testTransportSendTCPIPOp_SOURCES = \ +TestTransportSendTCPIPOp.cpp \ +TransportSendOp.cpp \ +TransportSendTCPIPOp.cpp +testTransportReceiveTCPIPOp_LDADD = \ +$(top_srcdir)/beagle/src/libbeagle.la \ +$(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +$(top_srcdir)/tests/Common/libtest.la \ +$(top_srcdir)/PACC/Socket/libpacc-socket.la\ +$(top_srcdir)/PACC/Threading/libpacc-threading.la\ +$(top_srcdir)/PACC/XML/libpacc-xml.la\ +$(top_srcdir)/PACC/Util/libpacc-util.la\ +$(top_srcdir)/PACC/Math/libpacc-math.la +testTransportReceiveTCPIPOp_SOURCES = \ +TestTransportReceiveTCPIPOp.cpp \ +TransportReceiveOp.cpp \ +TransportReceiveTCPIPOp.cpp \ +TransportTCPIPReceiver.cpp \ +DefaultSignalHandler.cpp +endif COMPILE_TESTS diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/Makefile.in b/lib/beagle-3.0.3/tests/TransportTCPIPOp/Makefile.in new file mode 100644 index 0000000..580a888 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/Makefile.in @@ -0,0 +1,751 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@COMPILE_TESTS_TRUE@noinst_PROGRAMS = \ +@COMPILE_TESTS_TRUE@ testTransportSendTCPIPOp$(EXEEXT) \ +@COMPILE_TESTS_TRUE@ testTransportReceiveTCPIPOp$(EXEEXT) +subdir = tests/TransportTCPIPOp +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ac_cxx_bool.m4 \ + $(top_srcdir)/m4/ac_cxx_const_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_default_template_parameters.m4 \ + $(top_srcdir)/m4/ac_cxx_dynamic_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_exceptions.m4 \ + $(top_srcdir)/m4/ac_cxx_explicit.m4 \ + $(top_srcdir)/m4/ac_cxx_have_numeric_limits.m4 \ + $(top_srcdir)/m4/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/m4/ac_cxx_have_std.m4 \ + $(top_srcdir)/m4/ac_cxx_have_stl.m4 \ + $(top_srcdir)/m4/ac_cxx_namespaces.m4 \ + $(top_srcdir)/m4/ac_cxx_reinterpret_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_rtti.m4 \ + $(top_srcdir)/m4/ac_cxx_static_cast.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_base_class.m4 \ + $(top_srcdir)/m4/ac_cxx_template_qualified_return_type.m4 \ + $(top_srcdir)/m4/ac_cxx_template_scoped_argument_matching.m4 \ + $(top_srcdir)/m4/ac_cxx_templates.m4 \ + $(top_srcdir)/m4/ac_cxx_typename.m4 \ + $(top_srcdir)/m4/acx_pthread.m4 \ + $(top_srcdir)/m4/ax_prefix_config_h.m4 \ + $(top_srcdir)/m4/check_zlib.m4 \ + $(top_srcdir)/m4/ob_cxx_have_isinfinite.m4 \ + $(top_srcdir)/m4/ob_cxx_long_long.m4 \ + $(top_srcdir)/m4/ob_have_hash_map.m4 \ + $(top_srcdir)/m4/ob_have_hash_set.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__noinst_HEADERS_DIST) \ + $(am__DIST_COMMON) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config/config-h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__testTransportReceiveTCPIPOp_SOURCES_DIST = \ + TestTransportReceiveTCPIPOp.cpp TransportReceiveOp.cpp \ + TransportReceiveTCPIPOp.cpp TransportTCPIPReceiver.cpp \ + DefaultSignalHandler.cpp +@COMPILE_TESTS_TRUE@am_testTransportReceiveTCPIPOp_OBJECTS = \ +@COMPILE_TESTS_TRUE@ TestTransportReceiveTCPIPOp.$(OBJEXT) \ +@COMPILE_TESTS_TRUE@ TransportReceiveOp.$(OBJEXT) \ +@COMPILE_TESTS_TRUE@ TransportReceiveTCPIPOp.$(OBJEXT) \ +@COMPILE_TESTS_TRUE@ TransportTCPIPReceiver.$(OBJEXT) \ +@COMPILE_TESTS_TRUE@ DefaultSignalHandler.$(OBJEXT) +testTransportReceiveTCPIPOp_OBJECTS = \ + $(am_testTransportReceiveTCPIPOp_OBJECTS) +@COMPILE_TESTS_TRUE@testTransportReceiveTCPIPOp_DEPENDENCIES = \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/tests/Common/libtest.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Socket/libpacc-socket.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Util/libpacc-util.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Math/libpacc-math.la +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +am__testTransportSendTCPIPOp_SOURCES_DIST = \ + TestTransportSendTCPIPOp.cpp TransportSendOp.cpp \ + TransportSendTCPIPOp.cpp +@COMPILE_TESTS_TRUE@am_testTransportSendTCPIPOp_OBJECTS = \ +@COMPILE_TESTS_TRUE@ TestTransportSendTCPIPOp.$(OBJEXT) \ +@COMPILE_TESTS_TRUE@ TransportSendOp.$(OBJEXT) \ +@COMPILE_TESTS_TRUE@ TransportSendTCPIPOp.$(OBJEXT) +testTransportSendTCPIPOp_OBJECTS = \ + $(am_testTransportSendTCPIPOp_OBJECTS) +@COMPILE_TESTS_TRUE@testTransportSendTCPIPOp_DEPENDENCIES = \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/tests/Common/libtest.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Socket/libpacc-socket.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Threading/libpacc-threading.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/XML/libpacc-xml.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Util/libpacc-util.la \ +@COMPILE_TESTS_TRUE@ $(top_srcdir)/PACC/Math/libpacc-math.la +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/config +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/DefaultSignalHandler.Po \ + ./$(DEPDIR)/TestTransportReceiveTCPIPOp.Po \ + ./$(DEPDIR)/TestTransportSendTCPIPOp.Po \ + ./$(DEPDIR)/TransportReceiveOp.Po \ + ./$(DEPDIR)/TransportReceiveTCPIPOp.Po \ + ./$(DEPDIR)/TransportSendOp.Po \ + ./$(DEPDIR)/TransportSendTCPIPOp.Po \ + ./$(DEPDIR)/TransportTCPIPReceiver.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(testTransportReceiveTCPIPOp_SOURCES) \ + $(testTransportSendTCPIPOp_SOURCES) +DIST_SOURCES = $(am__testTransportReceiveTCPIPOp_SOURCES_DIST) \ + $(am__testTransportSendTCPIPOp_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__noinst_HEADERS_DIST = DefaultSignalHandler.hpp \ + TransportReceiveOp.hpp TransportReceiveTCPIPOp.hpp \ + TransportSendOp.hpp TransportSendTCPIPOp.hpp \ + TransportTCPIPReceiver.hpp +HEADERS = $(noinst_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/config/depcomp \ + $(top_srcdir)/config/mkinstalldirs +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FILECMD = @FILECMD@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACC_VERSION = @PACC_VERSION@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +acx_pthread_config = @acx_pthread_config@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@COMPILE_TESTS_TRUE@INCLUDES = \ +@COMPILE_TESTS_TRUE@-I.\ +@COMPILE_TESTS_TRUE@-I$(top_srcdir)/PACC\ +@COMPILE_TESTS_TRUE@-I$(top_srcdir)/beagle/include\ +@COMPILE_TESTS_TRUE@-I$(top_srcdir)/beagle/GP/include\ +@COMPILE_TESTS_TRUE@-I$(top_srcdir)/tests/Common + +@COMPILE_TESTS_TRUE@noinst_HEADERS = \ +@COMPILE_TESTS_TRUE@DefaultSignalHandler.hpp \ +@COMPILE_TESTS_TRUE@TransportReceiveOp.hpp \ +@COMPILE_TESTS_TRUE@TransportReceiveTCPIPOp.hpp \ +@COMPILE_TESTS_TRUE@TransportSendOp.hpp \ +@COMPILE_TESTS_TRUE@TransportSendTCPIPOp.hpp \ +@COMPILE_TESTS_TRUE@TransportTCPIPReceiver.hpp + +@COMPILE_TESTS_TRUE@testTransportSendTCPIPOp_LDADD = \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/tests/Common/libtest.la \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/PACC/Socket/libpacc-socket.la\ +@COMPILE_TESTS_TRUE@$(top_srcdir)/PACC/Threading/libpacc-threading.la\ +@COMPILE_TESTS_TRUE@$(top_srcdir)/PACC/XML/libpacc-xml.la\ +@COMPILE_TESTS_TRUE@$(top_srcdir)/PACC/Util/libpacc-util.la\ +@COMPILE_TESTS_TRUE@$(top_srcdir)/PACC/Math/libpacc-math.la + +@COMPILE_TESTS_TRUE@testTransportSendTCPIPOp_SOURCES = \ +@COMPILE_TESTS_TRUE@TestTransportSendTCPIPOp.cpp \ +@COMPILE_TESTS_TRUE@TransportSendOp.cpp \ +@COMPILE_TESTS_TRUE@TransportSendTCPIPOp.cpp + +@COMPILE_TESTS_TRUE@testTransportReceiveTCPIPOp_LDADD = \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/beagle/src/libbeagle.la \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/beagle/GP/src/libbeagle-GP.la \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/tests/Common/libtest.la \ +@COMPILE_TESTS_TRUE@$(top_srcdir)/PACC/Socket/libpacc-socket.la\ +@COMPILE_TESTS_TRUE@$(top_srcdir)/PACC/Threading/libpacc-threading.la\ +@COMPILE_TESTS_TRUE@$(top_srcdir)/PACC/XML/libpacc-xml.la\ +@COMPILE_TESTS_TRUE@$(top_srcdir)/PACC/Util/libpacc-util.la\ +@COMPILE_TESTS_TRUE@$(top_srcdir)/PACC/Math/libpacc-math.la + +@COMPILE_TESTS_TRUE@testTransportReceiveTCPIPOp_SOURCES = \ +@COMPILE_TESTS_TRUE@TestTransportReceiveTCPIPOp.cpp \ +@COMPILE_TESTS_TRUE@TransportReceiveOp.cpp \ +@COMPILE_TESTS_TRUE@TransportReceiveTCPIPOp.cpp \ +@COMPILE_TESTS_TRUE@TransportTCPIPReceiver.cpp \ +@COMPILE_TESTS_TRUE@DefaultSignalHandler.cpp + +all: all-am + +.SUFFIXES: +.SUFFIXES: .cpp .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/TransportTCPIPOp/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu tests/TransportTCPIPOp/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +testTransportReceiveTCPIPOp$(EXEEXT): $(testTransportReceiveTCPIPOp_OBJECTS) $(testTransportReceiveTCPIPOp_DEPENDENCIES) $(EXTRA_testTransportReceiveTCPIPOp_DEPENDENCIES) + @rm -f testTransportReceiveTCPIPOp$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(testTransportReceiveTCPIPOp_OBJECTS) $(testTransportReceiveTCPIPOp_LDADD) $(LIBS) + +testTransportSendTCPIPOp$(EXEEXT): $(testTransportSendTCPIPOp_OBJECTS) $(testTransportSendTCPIPOp_DEPENDENCIES) $(EXTRA_testTransportSendTCPIPOp_DEPENDENCIES) + @rm -f testTransportSendTCPIPOp$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(testTransportSendTCPIPOp_OBJECTS) $(testTransportSendTCPIPOp_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DefaultSignalHandler.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestTransportReceiveTCPIPOp.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TestTransportSendTCPIPOp.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TransportReceiveOp.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TransportReceiveTCPIPOp.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TransportSendOp.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TransportSendTCPIPOp.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TransportTCPIPReceiver.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(HEADERS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/DefaultSignalHandler.Po + -rm -f ./$(DEPDIR)/TestTransportReceiveTCPIPOp.Po + -rm -f ./$(DEPDIR)/TestTransportSendTCPIPOp.Po + -rm -f ./$(DEPDIR)/TransportReceiveOp.Po + -rm -f ./$(DEPDIR)/TransportReceiveTCPIPOp.Po + -rm -f ./$(DEPDIR)/TransportSendOp.Po + -rm -f ./$(DEPDIR)/TransportSendTCPIPOp.Po + -rm -f ./$(DEPDIR)/TransportTCPIPReceiver.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/DefaultSignalHandler.Po + -rm -f ./$(DEPDIR)/TestTransportReceiveTCPIPOp.Po + -rm -f ./$(DEPDIR)/TestTransportSendTCPIPOp.Po + -rm -f ./$(DEPDIR)/TransportReceiveOp.Po + -rm -f ./$(DEPDIR)/TransportReceiveTCPIPOp.Po + -rm -f ./$(DEPDIR)/TransportSendOp.Po + -rm -f ./$(DEPDIR)/TransportSendTCPIPOp.Po + -rm -f ./$(DEPDIR)/TransportTCPIPReceiver.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/TestTransportReceiveTCPIPOp.cpp b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TestTransportReceiveTCPIPOp.cpp new file mode 100644 index 0000000..bba8936 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TestTransportReceiveTCPIPOp.cpp @@ -0,0 +1,41 @@ +#include + +#include "beagle/Beagle.hpp" +#include "Test.hpp" + +#include "Socket.hpp" +#include "Threading.hpp" +#include "TransportReceiveTCPIPOp.hpp" + +using namespace std; +using namespace Beagle; + +int main(int argc, char** argv) { + try { + Test::BeagleTest lBeagleTest; + System::Handle lSystem = lBeagleTest.requestSystem(); + Context::Handle lContext = lBeagleTest.requestContext(); + lBeagleTest.requestVivarium(); + lBeagleTest.initialize(argc,argv); + + // Create a transport operator + TransportReceiveTCPIPOp::Handle lTransportOp = new TransportReceiveTCPIPOp(); + lTransportOp->initialize( *lSystem ); + + // Read configuration + PACC::XML::Document lParser; + lParser.parse("TransportReceiveTCPIPOp.conf"); + PACC::XML::ConstIterator lNode = lParser.getFirstRoot(); + OperatorMap lEmptyMap; + lTransportOp->readWithMap( lNode, lEmptyMap ); + + // Wait for individuals to be sent + PACC::Threading::Thread::sleep(10.); + + // Test the operator + Deme::Handle lDeme = lBeagleTest.getDeme(); + lTransportOp->operate(*lDeme, *lContext); + } + Beagle_Test_CatchEverythingM; +} + diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/TestTransportSendTCPIPOp.cpp b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TestTransportSendTCPIPOp.cpp new file mode 100644 index 0000000..799992f --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TestTransportSendTCPIPOp.cpp @@ -0,0 +1,40 @@ +#include + +#include "beagle/Beagle.hpp" + + +#include "Test.hpp" + +#include "Socket.hpp" +#include "TransportSendTCPIPOp.hpp" + +using namespace std; +using namespace Beagle; + +int main(int argc, char** argv) { + try { + Test::BeagleTest lBeagleTest; + System::Handle lSystem = lBeagleTest.requestSystem(); + Context::Handle lContext = lBeagleTest.requestContext(); + lBeagleTest.requestVivarium(); + lBeagleTest.initialize(argc,argv); + + // Create a transport operator + TransportSendTCPIPOp::Handle lTransportOp = new TransportSendTCPIPOp; + lTransportOp->initialize( *lSystem ); + + // Read configuration + PACC::XML::Document lParser; + lParser.parse("TransportSendTCPIPOp.conf"); + PACC::XML::ConstIterator lNode = lParser.getFirstRoot(); + OperatorMap lEmptyMap; + lTransportOp->readWithMap( lNode, lEmptyMap ); + + // Test the operator + Deme::Handle lDeme = lBeagleTest.getDeme(); + lTransportOp->operate(*lDeme, *lContext); + } + Beagle_Test_CatchEverythingM; +} + + diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportReceiveOp.cpp b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportReceiveOp.cpp new file mode 100644 index 0000000..d0431ac --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportReceiveOp.cpp @@ -0,0 +1,63 @@ +#include "beagle/Beagle.hpp" +#include "TransportReceiveOp.hpp" + +using namespace Beagle; + +TransportReceiveOp::TransportReceiveOp(const string& inName) : + Operator(inName) +{} + + +TransportReceiveOp::~TransportReceiveOp() +{} + + +void +TransportReceiveOp::initialize(System& ioSystem) +{ +} + +void +TransportReceiveOp::operate(Deme &ioDeme, Context &ioContext) +{ + // Sort the deme + std::make_heap(ioDeme.begin(), ioDeme.end(), IsLessPointerPredicate()); + + // Receive individuals + Individual::Bag lBag(ioDeme.getTypeAlloc()); + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "transport", "Beagle::TransportReceiveOp", + string("Receiving transported individuals") + ); + receive(lBag,ioContext); + + // Check that the bag is not empty + if (lBag.empty()) { + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "transport", "Beagle::TransportReceiveOp", + "No individuals were received" + ); + return; + } + + // Replace the bottom of the deme with the received individuals + Beagle_LogTraceM( + ioContext.getSystem().getLogger(), + "transport", "Beagle::TransportReceiveOp", + string("Received ")+uint2str(lBag.size())+ + string(" individuals. Replacing the worst individuals of the ")+ + uint2ordinal(ioContext.getDemeIndex()+1)+string(" deme.") + ); + for (unsigned int i=0; igetFitness()->setInvalid(); + } + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "transport", "Beagle::TransportReceiveOp", + string("Transportation complete") + ); +} diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportReceiveOp.hpp b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportReceiveOp.hpp new file mode 100644 index 0000000..7fd61d6 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportReceiveOp.hpp @@ -0,0 +1,46 @@ +#ifndef Beagle_TransportReceiveOp_hpp +#define Beagle_TransportReceiveOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/UInt.hpp" + + +namespace Beagle { + +class TransportReceiveOp : public Operator { + +public: + + //! TransportReceiveOp allocator type. + typedef AllocatorT + Alloc; + //! TransportReceiveOp handle type. + typedef PointerT + Handle; + //! TransportReceiveOp bag type. + typedef ContainerT + Bag; + + TransportReceiveOp(const string& inName="TransportReceiveOp"); + virtual ~TransportReceiveOp(); + + virtual void initialize(System& ioSystem); + virtual void operate(Deme &ioDeme, Context &ioContext); + virtual void receive(Individual::Bag& outIndividuals, Context &ioContext)=0; + +protected: + + UInt::Handle mReceiveFrequency; + +}; + + +} // end of namespace Beagle + +#endif // Beagle_TransportReceiveOp_hpp diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportReceiveTCPIPOp.cpp b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportReceiveTCPIPOp.cpp new file mode 100644 index 0000000..b2b0a38 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportReceiveTCPIPOp.cpp @@ -0,0 +1,95 @@ +#include "beagle/Beagle.hpp" +#include "TransportReceiveTCPIPOp.hpp" +#include "Socket.hpp" + +#include +#include + +using namespace Beagle; +using namespace std; + +TransportReceiveTCPIPOp::TransportReceiveTCPIPOp(const string& inName) : + TransportReceiveOp(inName), + mReceiver(NULL) +{} + + +TransportReceiveTCPIPOp::~TransportReceiveTCPIPOp() +{ + if (mReceiver!=NULL) { + // Stop receiver thread + mReceiver->cancel(); + // Wait till thread's stopped + mReceiver->wait(); + delete mReceiver; + } +} + + +void +TransportReceiveTCPIPOp::initialize(System& ioSystem) +{} + +void +TransportReceiveTCPIPOp::receive(Individual::Bag& outIndividuals, + Context& ioContext) +{ + Beagle_AssertM( mReceiver!=NULL ); + + // Get data from receiver thread + vector lData; + mReceiver->getData( lData ); + + PACC::XML::Document lParser; + for (unsigned int i=0; i + PACC::XML::ConstIterator lNode = inNode->getFirstChild(); + Beagle_AssertM( lNode->getValue() == "Port" ); + + // Get associated string + lNode = lNode->getFirstChild(); + Beagle_AssertM( lNode->getType() == PACC::XML::eString ); + + // Read string + std::istringstream lISS( lNode->getValue() ); + unsigned int lPortNumber; + lISS >> lPortNumber; + + // Create and start the receiver + try { + mReceiver = new TransportTCPIPReceiver(lPortNumber); + } + catch (PACC::Socket::Exception& inException) { + throw Beagle_RunTimeExceptionM + (string("An exception was thrown while creating the TCPIP receiver thread.")+ + string(" The exception message was: ")+inException.getMessage().c_str()); + } + mReceiver->run(); +} + + +void +TransportReceiveTCPIPOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + if ( mReceiver==NULL ) return; + ioStreamer.openTag(getName().c_str(), inIndent); + ioStreamer.insertStringContent( uint2str(mReceiver->getPortNumber()).c_str(), "Port"); + ioStreamer.closeTag(); // getName() +} diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportReceiveTCPIPOp.hpp b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportReceiveTCPIPOp.hpp new file mode 100644 index 0000000..fa1d090 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportReceiveTCPIPOp.hpp @@ -0,0 +1,39 @@ +#ifndef Beagle_TransportReceiveTCPIPOp_hpp +#define Beagle_TransportReceiveTCPIPOp_hpp + +#include "TransportReceiveOp.hpp" +#include "TransportTCPIPReceiver.hpp" +#include "DefaultSignalHandler.hpp" + + +namespace Beagle { + +class TransportReceiveTCPIPOp : public TransportReceiveOp { +public: + //! TransportReceiveTCPIPOp allocator type. + typedef AllocatorT + Alloc; + //! TransportReceiveTCPIPOp handle type. + typedef PointerT + Handle; + //! TransportReceiveTCPIPOp bag type. + typedef ContainerT + Bag; + + TransportReceiveTCPIPOp(const string& inName="TransportReceiveTCPIPOp"); + virtual ~TransportReceiveTCPIPOp(); + + virtual void initialize(System& ioSystem); + virtual void receive(Individual::Bag& outIndividuals, Context& ioContext); + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + TransportTCPIPReceiver* mReceiver; + DefaultSignalHandler mSignalHandler; +}; + + +} // end of namespace Beagle + +#endif // Beagle_TransportReceiveTCPIPOp_hpp diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportSendOp.cpp b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportSendOp.cpp new file mode 100644 index 0000000..4efb7a6 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportSendOp.cpp @@ -0,0 +1,128 @@ +#include +#include "beagle/Beagle.hpp" +#include "TransportSendOp.hpp" + +using namespace Beagle; + +TransportSendOp::TransportSendOp(const string& inName) : + Operator(inName) +{} + + +TransportSendOp::~TransportSendOp() +{} + + +void +TransportSendOp::initialize(System& ioSystem) +{ + Beagle_LogVerboseM( + ioSystem.getLogger(), + "transport", "Beagle::TransportSendOp", + "Initializing TransportSendOp" + ); + + + // Add proportion to send parameter + if(ioSystem.getRegister().isRegistered("ec.transport.send")) { + mProportionToSend = castHandleT(ioSystem.getRegister().getEntry("ec.transport.send")); + } else { + mProportionToSend = new Float(0.05); + Register::Description lDescription + ("Proportion to transport", + "Float", + "0.05", + "Proportion of the population to send (sent individuals are not removed from the deme)"); + ioSystem.getRegister().addEntry("ec.transport.send", mProportionToSend, lDescription); + } +} + +void +TransportSendOp::operate(Deme &ioDeme, Context &ioContext) +{ + // Check there are individuals in the deme + if (ioDeme.empty()) { + Beagle_LogBasicM( + ioContext.getSystem().getLogger(), + "transport", "Beagle::TransportSendOp", + "Warning: There are no individuals in the deme, unable to transport any individuals" + ); + return; + } + + // Sort the deme + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "transport", "Beagle::TransportSendOp", + "Sorting the deme" + ); + std::make_heap(ioDeme.begin(), ioDeme.end(), IsLessPointerPredicate()); + + // Place the top mProportionToSend into a bag + Beagle_NonNullPointerAssertM( mProportionToSend ); + + // Check that there are sufficient individuals + unsigned int lNumberToSend + = static_cast(std::ceil(mProportionToSend->getWrappedValue() * ioDeme.size())); + if (lNumberToSend > ioDeme.size()) { + Beagle_LogDebugM( + ioContext.getSystem().getLogger(), + "transport", "Beagle::TransportSendOp", + string("There are only ")+uint2str(ioDeme.size())+ + string(" individuals in the deme; sending all of them") + ); + lNumberToSend=ioDeme.size(); + } + + Beagle_LogVerboseM( + ioContext.getSystem().getLogger(), + "transport", "Beagle::TransportSendOp", + string("Collecting the ")+uint2str(lNumberToSend)+ + string(" best individuals of the ")+uint2ordinal(ioContext.getDemeIndex()+1)+ + string(" deme for transport") + ); + Individual::Bag lBag; + lBag.resize(lNumberToSend); + for (unsigned int i=0; igetFirstChild(); + lAddressIter; + lAddressIter = lAddressIter->getNextSibling() ) { + if ( lAddressIter->getValue() == "Address" ) { + readAddress( lAddressIter ); + } + } + } + } +} diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportSendOp.hpp b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportSendOp.hpp new file mode 100644 index 0000000..d2fc968 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportSendOp.hpp @@ -0,0 +1,48 @@ +#ifndef Beagle_TransportSendOp_hpp +#define Beagle_TransportSendOp_hpp + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/Float.hpp" + +namespace Beagle { + +class TransportSendOp : public Operator { + +public: + + //! TransportSendOp allocator type. + typedef AllocatorT + Alloc; + //! TransportSendOp handle type. + typedef PointerT + Handle; + //! TransportSendOp bag type. + typedef ContainerT + Bag; + + TransportSendOp(const string& inName="TransportSendOp"); + virtual ~TransportSendOp(); + + virtual void initialize(System& ioSystem); + virtual void operate(Deme &ioDeme, Context &ioContext); + virtual void send(const Individual::Bag& inIndividuals, Context &ioContext)=0; + virtual void readWithMap(PACC::XML::ConstIterator inIter, OperatorMap& inOpMap); + +protected: + + virtual void readAddress(PACC::XML::ConstIterator inIter)=0; + + Float::Handle mProportionToSend; + +}; + + +} // end of namespace Beagle + +#endif // Beagle_TransportSendOp_hpp diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportSendTCPIPOp.cpp b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportSendTCPIPOp.cpp new file mode 100644 index 0000000..19c7864 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportSendTCPIPOp.cpp @@ -0,0 +1,160 @@ +#include "beagle/Beagle.hpp" +#include "TransportSendTCPIPOp.hpp" +#include "Socket.hpp" + +#include +#include + +using namespace Beagle; +using namespace std; + +TransportSendTCPIPOp::TransportSendTCPIPOp(const string& inName) : + TransportSendOp(inName) +{ +} + + +TransportSendTCPIPOp::~TransportSendTCPIPOp() +{ +} + + +void +TransportSendTCPIPOp::initialize(System& ioSystem) +{ + TransportSendOp::initialize(ioSystem); +} + + +void +TransportSendTCPIPOp::send(const Individual::Bag& inIndividuals, Context &ioContext) +{ + if (mAddresses.empty()) { + Beagle_LogBasicM( + ioContext.getSystem().getLogger(), + "transport", "Beagle::TransportSendTCPIPOp", + "Warning! There are no addresses to send individuals" + ); + return; + } + + // Convert the bag into a string + string lMessage = inIndividuals.serialize(); + + // Send to addresses + for (unsigned int i=0; igetValue() == "Address" ); + UInt::Handle lPort; + String::Handle lName; + for (PACC::XML::ConstIterator lNode = inNode->getFirstChild(); + lNode; + lNode = lNode->getNextSibling()) { + // Read port + if (lNode->getValue() == "Port") { + lPort = new UInt; + PACC::XML::ConstIterator lPortNode = lNode->getFirstChild(); + Beagle_AssertM( lPortNode->getType() == PACC::XML::eString ); + std::istringstream lISS( lPortNode->getValue() ); + lISS >> lPort->getWrappedValue(); + } + // Read name + else if (lNode->getValue() == "Name") { + lName = new String; + PACC::XML::ConstIterator lNameNode = lNode->getFirstChild(); + Beagle_AssertM( lNameNode->getType() == PACC::XML::eString ); + std::istringstream lISS( lNameNode->getValue().c_str() ); + lName->getWrappedValue() = lNameNode->getValue().c_str(); + } + } + if (lPort!=NULL && lName!=NULL) { + PACC::Socket::Address lAddress(*lPort,lName->getWrappedValue().c_str()); + mAddresses.push_back( lAddress ); + } + else { + // error reading address + } +} + + +void +TransportSendTCPIPOp::write(PACC::XML::Streamer& ioStreamer, bool inIndent) const +{ + using namespace std; + cout << "In TransportSendTCPIPOp::write()\n"; + /* + ioStreamer.openTag(getName()); + ioStreamer.openTag("Addresses"); + + for (unsigned int i=0; i + Alloc; + //! TransportSendTCPIPOp handle type. + typedef PointerT + Handle; + //! TransportSendTCPIPOp bag type. + typedef ContainerT + Bag; + + TransportSendTCPIPOp(const string& inName="TransportSendTCPIPOp"); + virtual ~TransportSendTCPIPOp(); + + virtual void initialize(System& ioSystem); + virtual void send(const Individual::Bag& inIndividuals, Context &ioContext); + virtual bool send(const PACC::Socket::Address& inAddress, + const std::string& inMessage, + Context &ioContext); + virtual void write(PACC::XML::Streamer& ioStreamer, bool inIndent=true) const; + +protected: + + virtual void readAddress(PACC::XML::ConstIterator inIter); + + std::vector< PACC::Socket::Address > mAddresses; + +}; + + +} // end of namespace Beagle + +#endif // Beagle_TransportSendTCPIPOp_hpp diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportTCPIPReceiver.cpp b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportTCPIPReceiver.cpp new file mode 100644 index 0000000..f5863d6 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportTCPIPReceiver.cpp @@ -0,0 +1,82 @@ +#include "beagle/Beagle.hpp" +#include "TransportTCPIPReceiver.hpp" + +using namespace std; +using namespace Beagle; + +const unsigned int TransportTCPIPReceiver::QueueMax = 10; + +TransportTCPIPReceiver::TransportTCPIPReceiver(unsigned int inPortNumber) : + mPortNumber(inPortNumber) +{ + bind(mPortNumber); + listen(QueueMax); + /* + cout << "Created TransportTCPIPReceiver on port " << mPortNumber << endl; + cout << "getSockAddress = " << getSockAddress().getIPAddress() << ":" << getSockAddress().getPortNumber() << endl; + */ +} + + +TransportTCPIPReceiver::~TransportTCPIPReceiver() +{ + //cout << "Destroying TransportTCPIPReceiver" << endl; + wait(); // Is this necessary? +} + + +void +TransportTCPIPReceiver::getData(vector& outData) +{ + mWriteDataMutex.lock(); // Ensure that data isn't written during read + for (DataType::const_iterator lItr = mData.begin(); + lItr != mData.end(); + lItr++) { + outData.push_back( lItr->second ); + } + mData.clear(); // Clear data so that it's not read again + mWriteDataMutex.unlock(); +} + + +void +TransportTCPIPReceiver::main() +{ + /* + cout << "In TransportTCPIPReceiver::main():" << endl; + cout << "getSockAddress = " << getSockAddress().getIPAddress() << ":" << getSockAddress().getPortNumber() << endl; + cout << "In TransportTCPIPReceiver::main(): closing port and returning!" << endl; + close(); return; + */ + + while (!mCancel) { + // Wait for activity + while (!waitForActivity(10)) { + makeCancellationPoint(); + } + + // Accept connection + int lDescriptor = accept(); + PACC::Socket::Cafe lConnection(lDescriptor); + + // Who's the connection from? + PACC::Socket::Address lAddress = lConnection.getPeerAddress(); + //cout << "** Received connection from " << lAddress.getIPAddress() << ":" << lAddress.getPortNumber() << endl; + + // Get message + std::string lMessage; + lConnection.receiveMessage(lMessage); + + // Close connection + lConnection.close(); + + // Get address as string + std::string lAddressString; + lAddressString = lAddress.getIPAddress()+std::string(":")+uint2str(lAddress.getPortNumber()).c_str(); + + // Store message (overwrite if necessary) + mWriteDataMutex.lock(); + mData[lAddressString.c_str()] = lMessage.c_str(); + mWriteDataMutex.unlock(); + } +} diff --git a/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportTCPIPReceiver.hpp b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportTCPIPReceiver.hpp new file mode 100644 index 0000000..5b64b27 --- /dev/null +++ b/lib/beagle-3.0.3/tests/TransportTCPIPOp/TransportTCPIPReceiver.hpp @@ -0,0 +1,44 @@ +#ifndef Beagle_TransportTCPIPReceiver_hpp +#define Beagle_TransportTCPIPReceiver_hpp + +#include +#include + +#include "beagle/config.hpp" +#include "beagle/macros.hpp" +#include "beagle/Object.hpp" +#include "beagle/AllocatorT.hpp" +#include "beagle/PointerT.hpp" +#include "beagle/ContainerT.hpp" +#include "beagle/Operator.hpp" +#include "beagle/UInt.hpp" + +#include "Threading.hpp" +#include "Socket.hpp" + + +namespace Beagle { + +class TransportTCPIPReceiver : public PACC::Threading::Thread, private PACC::Socket::TCP { +public: + TransportTCPIPReceiver(unsigned int inPortNumber); + virtual ~TransportTCPIPReceiver(); + + void getData(std::vector& outData); + unsigned int getPortNumber() { return mPortNumber; } + +protected: + + static const unsigned int QueueMax; + typedef std::map< const string,string > DataType; + DataType mData; // Address -> Individual data + PACC::Threading::Mutex mWriteDataMutex; + unsigned int mPortNumber; + + virtual void main(); +}; + + +} // end of namespace Beagle + +#endif // Beagle_TransportTCPIPReceiver_hpp diff --git a/lib/blt b/lib/blt new file mode 160000 index 0000000..e1530de --- /dev/null +++ b/lib/blt @@ -0,0 +1 @@ +Subproject commit e1530de338e2c668d41f538d6133b06e5cea1dc8 diff --git a/lib/lilgp/.cvsignore b/lib/lilgp/.cvsignore new file mode 100644 index 0000000..e989dce --- /dev/null +++ b/lib/lilgp/.cvsignore @@ -0,0 +1,2 @@ +lilgpSetup1.0/classes/* +app/mushroom/* diff --git a/lib/lilgp/LICENSE b/lib/lilgp/LICENSE new file mode 100644 index 0000000..a43ea21 --- /dev/null +++ b/lib/lilgp/LICENSE @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/lib/lilgp/README.html b/lib/lilgp/README.html new file mode 100644 index 0000000..f729be9 --- /dev/null +++ b/lib/lilgp/README.html @@ -0,0 +1,305 @@ + + + +Sean's Patched lil-gp Kernel + + + +

Sean's Patched lil-gp Kernel

+ +

Sean Luke
+Department of Computer Science
+University of Maryland at College Park
+seanl@cs.umd.edu
+http://www.cs.umd.edu/users/seanl/
+ +

This modified lil-gp kernel provides a number of new features developed to make possible our GP development of real-time soccer softbots for 1997 RoboCup competition in Nagoya. You may find them useful. + +

Bug Fixes +
There are two serious bugs in multithreaded lil-gp. This kernel fixes them, but if you don't want to use this kernel, you can still patch them + yourself; the instructions are located here. The first bug concerns individual evaluation, and should be patched by anyone using multi-threaded lil-gp. The second bug concerns the non-threadsafeness of lil-gp's random facility; however, the fix for it only handles POSIX threads (I don't know nothin' bout Solaris threads...) + +
Strongly Typed GP +
+ The kernel is now strongly-typed, not typeless like normal lil-gp. + You can still do "typeless" GP, of course, as this is just a special case of + strongly-typed GP (with a single type). + +
Coevolution +
The kernel supports a simple form of coevolution. + +
Reading Populations from Files +
You can now generate populations from lisp-like tree files. + +
Tree Generation and Modification +
Mutation, population generation, and crossover now have some + new features. + +
New Selection Methods +
The kernel now provides boltzman selection and sigma scaling selection. +
Mutlithreading Patch +
You can now specify the number of threads in your input file, instead of (yuck) in an environment variable. + +
+ +

Actually, I'm not exactly certain if this is all the features added to this kernel; it's been a while. And I state here and now, I am not responsible for any bugs or errors in this code. It is offered freely and without warranty or guarantee of any kind. + +

Peter Andersen has found two bugs in the patched and original kernels. One is a minor memory leak which has been fixed as of December 23, 1997 (download a new version if your version is older than this). The other concerns ERCs and appears to occur in the original kernel; I've not verified if his patch fix works yet, so instead of patching it in the kernel, I give his instructions here. + +

The kernel is located here. It includes a single app (a modified version of ant, called anttype, which demonstrates strongly-typed GP with the kernel), but no documentation etc. You'll have to get that from the lil-gp home page. + + +

Strongly-Typed lilgp

+ +

This version of lilgp has been modified to use strongly-typed gp instead of +single-typed gp. Tree generation (for mutation and for initial trees) and +crossover have been heavily modified to enforce strongly-typed GP. + +

This kernel distinguishes "types" by assigning each "type" a unique integer, starting with 0 and going up. +Each tree has a user-defined return type for that tree. Additionally, each +function (terminal or nonterminal) has a user-defined return type, +and nonterminal functions have +unique return types for each of their arguments. The kernel will not permit +trees to be constructed such that their root function returns the wrong type +for the tree, or such that any nonterminal has as a child a function which returns +the wrong type for that argument position in the nonterminal. + +

You'll use DATATYPE as usual for passing results among functions. You should take +it on faith that whatever you encode in DATATYPE will be properly decoded by whomever +you pass it to, since you now are enforced to expect the data in DATATYPE to be of the +same exact "type". + +

This code works peachy for a single tree and for individuals with several trees not used as ADFs. I have *not* tested it for ADFs, so I cannot vouch that it works for sure with them, but I believe it works right. + +

Here are the main data types and defines, and explanations for how they've changed to support +strong typing. Read and follow these THOROUGHLY. + + +

+
DATATYPE
+ is the C data type returned by all functions and terminals. + because this is *strongly*typed* GP, DATATYPE is best written as the + *union* of all your data types. As an example, suppose you wanted to + support vectors (two floats) and booleans as your datatypes. Then + DATATYPE might be set to something like + +
       typedef struct vect_ { float x; float y; } vect;
+       typedef union app_datatype_ { vect v ; char bool; } app_datatype;
+       #define DATATYPE app_datatype
+
+ + +
NUMTYPES
A new define. This indicates the total number of data types in your domain. + If your types are, say, int, bool, and vector, then you + set NUMTYPES to 3. Your datatype should be assigned numbers (as explained below) + ranging from 0 to NUMTYPES - 1. You need to add this define to your appdef.h file. + +
function
Now looks like this: + +
                    typedef struct
+                        {
+                         DATATYPE (*code)();
+                         void (*ephem_gen)( DATATYPE * );
+                         char * (*ephem_str)();
+                         int arity;
+                         char *string;
+                         int type;
+                         int evaltree;
+                         int index;
+                    /* Added to support strong data typing */
+                         int return_type;
+                         int argument_type[MAXARGS];
+                        } function;
+
+ The two last items are the return type (a value between + 0 and NUMTYPES-1) and the type of each argument to + the function (if it's a nonterminal). Here's an example. Imagine that your MAXARGS is 3, your NUMTYPES is 2 (booleans are 0 and vectors are 1). You want to describe a nonterminal function "CrossProduct>0" that returns a boolean value after comparing two vectors. You might write it as: + +
+/* Okay, some defines first... */
+#define BOOLEANS 0
+#define VECTORS 1
+#define IGNORE -1      /* This will get ignored anyway */
+
+/* ... and your function definition might look like... */
+     
+{f_cp,NULL,NULL,2,"CrossProduct>0",FUNC_DATA,-1,0,BOOLEANS,{VECTORS,VECTORS,IGNORE}}
+
+ + +
user_treeinfo
This combines the old tree map (an integer), the + tree_name (a char*) together, plus the return type + for the tree as a whole, as: + +
                    typedef struct
+                        {
+                        int fset;                   /* function set for tree */
+                        int return_type;            /* return type for tree */
+                        char* name;                 /* tree name */
+                        } user_treeinfo;
+
+
function_sets_init()
This has been modified; you no longer pass it + the tree_map[] and tree_name[]; instead, you pass it + a user_treeinfo[] array containing all necessary + tree information for each tree. The format is now: + +
                   int function_sets_init(function_set* user_fset, 
+                                          int user_fcount,
+                                          user_treeinfo* user_tree_map,
+                                          int user_tcount );
+
+ +
+ +Some caveats: +
    + +
  • You *must* have at least one terminal and at least + one nonterminal for *each* return type, or tree-generation + will fail. + +
  • If you're supporting ADFs, you *must* make certain that + the ADF functions in your function set have the same return + type as the ADF tree itself! Additionally, you *must* + make certain that the ARG functions have the same return + type as that argument type for the cooresponding ADF + function in calling trees. If you do this, the ADF + facility will probably work, though I've not tested it. + +
  • Remember to properly set the return types for ephemeral + random constants. + +
  • When evaluating a tree, remember to cast its result to the + appropriate return type for that tree. +
+ + + + +

Reading from Files

+ +

You can now read trees in from a file at population-generation time, + instead of generating them randomly. To force a particular tree to be read from + a file, use the new input-file parameters: + +

	init.tree[val].method = load
+	tree-replace[val] = filename
+
+ +

The first tells the GP system that it will be loading trees for tree position val for individuals in the population. The second gives the filename of the file to load from. You should use separate filenames for separate tree positions. All the trees for all the individuals in a particular tree position should appear one after another in the file. + +

Files consist of a series of trees in pseudo-LISP form. The tree syntax follows the following rules: +

    +
  • nonterminals are of the form (nonterminal_name function function function etc.) +
  • terminals are of the form (terminal_name). Terminals + may alternately be written without the parentheses only within an enclosing + nonterminal. +
  • Parentheses may not have whitespace around them. That is,
    ( hello ( dolly ! ) )
    + is INVALID. It must be written as
    (hello (dolly !))
    +
+

For example, if you have a population of four individuals, consisting of a single tree each, for, say, symbolic regression, you might load them from a file that looks like: + +

	(+ (/ x 2) x)
+	(sin (cos
+	     (+ 2 x)))
+	(x)
+	(- x x)
+
+ +

Note that the lone (x) must have parenthesis around itself. This is not a robust system; if there is an error in the syntax of the file, the program will self-destruct. GDB can help you determine which function name is causing the problem. + + + +

Coevolution

+ +

You can do a simple 2-individual form of coevolution over a single population in multi-threaded lil-gp easily. Single-threaded coevolution is not supported. +

First, add the item -DCOEVOLUTION to your app's GNUmakefile CFLAGS line. Now lil-gp expects to pass you two roughly random (okay, next to each other in the individual array, but it was loaded randomly) individuals in app_eval_fitness(). So your app_eval_fitness() function would now look something like: + +


+     void app_eval_fitness ( individual *ind, individual* ind2 )
+             /* Note there are two individuals now, not just one */
+     {
+     DATATYPE d1, d2;
+
+     set_current_individual(ind);
+     d1=evaluate_tree(ind->tr[0].data,0);
+
+     set_current_individual(ind2);
+     d2=evaluate_tree(ind2->tr[0].data,0);
+
+     /* yahda yahda yahda */
+
+     ind->hits= /* blah blah blah */
+     ind->r_fitness = /* blah blah blah */
+     ind->s_fitness = /* blah blah blah */
+     ind->a_fitness = 1.0/(1.0+ind->s_fitness);
+     ind->evald = EVAL_CACHE_VALID;
+
+     ind2->hits= /* blah blah blah */
+     ind2->r_fitness = /* blah blah blah */
+     ind2->s_fitness = /* blah blah blah */
+     ind2->a_fitness = 1.0/(1.0+ind2->s_fitness);
+     ind2->evald = EVAL_CACHE_VALID;
+     }
+
+ + + +

Tree Generation and Modification

+ +

The new initialization parameter + +

	init.ignore_limits = 1         # by default, it's 0
+ +

...will force GP to ignore depth limit, node size, and duplicate individual violations + when generating new individuals. This is useful for reading individuals from files. + + +

The mutation and crossover operators now have a new argument: + +

		num_times = val
+ +

In conjunction with the argument keep_trying, this new argument tells lil-gp how many times to keep trying; this puts an effective bound on the number of times (previously, it was unbounded). If num_times is set to 0, then there is no bound. + + +

New Selection Methods

+ +

Sigma Scaling Selection

+ +

Sigma Scaling selection attempts to keep up selection pressure throughout a run. Sigma Scaling adjusts the selection intervals with a function based on the mean and standard deviation of the population. For more information, see [Mitchell 96]. + +

This version isn't very rigorous as it uses Koza's adjusted fitness metric as its basic fitness, and this isn't the best choice. To perform Sigma Scaling selection, change your input file's selection method to "sigma". + +

Sigma scaling is located in sigma.c + + +

Boltzman Selection

+ +

Boltzman selection slowly decreases temperature T from boltzman_hi to boltzman_low through the course of the GP run. T is decreased by boltzman_step each generation. As described in [Mitchell 96], T determines the randomness of the selection. + +

This version isn't very rigorous as it uses Koza's adjusted fitness metric as its basic fitness, and this isn't the best choice. Boltzman selection MAY NOT WORK WITH CHECKPOINT FILES. + +

To perform Boltzman selection, change your input file's selection method to "boltzman". You adjust Boltzman selection with the input file parameters: + +

boltzman_hi
+ The high-temperature (initial) value, default: max_generations, else 51.0; + +
boltzman_low +
The low-temperature (final) value, default: 0.0 + +
boltzman_step +
The amount T decreases each generation, default: 1.0 +
+ +

Boltzman selection is located in boltzman.c. + +

Multithreading Patch

+ +

You now specify the number of threads not with an environment variable (man, that was weird), but with an input file parameter: + +

	num_threads = val 
+ +

This must be set in order to do multithreading. + +

Have fun! + diff --git a/lib/lilgp/app/anttype/GNUmakefile b/lib/lilgp/app/anttype/GNUmakefile new file mode 100644 index 0000000..18ed941 --- /dev/null +++ b/lib/lilgp/app/anttype/GNUmakefile @@ -0,0 +1,43 @@ +# +# GNU makefile, application portion. +# +# "make" or "make all" to build executable. +# "make clean" to delete object code. +# +# some users have reported a "high performance arithmetic trap" on DEC Alphas +# and on LINUX. if you get this, try adding "-DTOLERANCE_ZERO" to CFLAGS -- +# it apparently works on Alphas; don't know about Linux. +# + +TARGET = gp +KERNELDIR = ../../kernel +#CC = gcc +#CFLAGS = -O2 + +# For POSIX style multi-threading under Solaris 2.4 or greater use: +#CC = cc +#CFLAGS = -fast -xO4 -DPOSIX_MT -D_REENTRANT +#LIBS = -lpthread + +# For POSIX multi-threading under other OSes try: +#CC = CC +#CFLAGS = -O -DPOSIX_MT +#LIBS = -lpthread + +# For Solaris style multi-threading under Solaris 2.x use: +#CC = cc +#CFLAGS = -mt -fast -xO4 -DSOLARIS_MT +#LIBS = -mt + + +# if you want multithreading with POSIX threads, +# this will do the trick for Alphas running Digital Unix 4.0 -- Sean +CC = cc +CFLAGS = -O3 -DPOSIX_MT -ansi +LIBS = -lpthread -lmach -lexc -lc + + +uobjects = function.o app.o +uheaders = appdef.h app.h function.h + +include $(KERNELDIR)/GNUmakefile.kernel diff --git a/lib/lilgp/app/anttype/README b/lib/lilgp/app/anttype/README new file mode 100644 index 0000000..2ca54d9 --- /dev/null +++ b/lib/lilgp/app/anttype/README @@ -0,0 +1,10 @@ +This is a version of ant that has been customized to demonstrate +multithreading and strong typing. Ant now has a function called +(if ...) which takes a boolean value. Based on that value, it +either evaluates and returns its second or third argument. + +Booleans include food ahead, food behind, food to the right, +or food to the left. + +This code runs great on an Alpha machine running digital Unix 4.0; +I can't vouch for anything else. diff --git a/lib/lilgp/app/anttype/app.c b/lib/lilgp/app/anttype/app.c new file mode 100644 index 0000000..ecd3a89 --- /dev/null +++ b/lib/lilgp/app/anttype/app.c @@ -0,0 +1,257 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + + +int app_build_function_sets ( void ) +{ + function_set fset; + user_treeinfo tree_map; + function sets[] = + { { f_if, NULL, NULL, 3, "if", FUNC_EXPR, -1, 0 + ,0 ,{1 ,0 ,0,0 }}, + { f_food_ahead, NULL, NULL, 0, "food-ahead", TERM_NORM, -1, 0 + ,1 ,{0,0,0,0}}, + { f_food_behind, NULL, NULL, 0, "food-behind", TERM_NORM, -1, 0 + ,1 ,{0,0,0,0}}, + { f_food_left, NULL, NULL, 0, "food-left", TERM_NORM, -1, 0 + ,1 ,{0,0,0,0}}, + { f_food_right, NULL, NULL, 0, "food-right", TERM_NORM, -1, 0 + ,1 ,{0,0,0,0}}, + { f_and, NULL, NULL, 2, "and", FUNC_DATA, -1, 0 + ,1 ,{1,1,0,0}}, + { f_or, NULL, NULL, 2, "or", FUNC_DATA, -1, 0 + ,1 ,{1,1,0,0}}, + + { f_not, NULL, NULL, 1, "not", FUNC_DATA, -1, 0 + ,1 ,{1,0,0,0}}, + + { f_progn2, NULL, NULL, 2, "progn2", FUNC_DATA, -1, 0 + ,0 ,{0,0,0,0}}, + { f_progn3, NULL, NULL, 3, "progn3", FUNC_DATA, -1, 0 + ,0 ,{0,0,0,0}}, + { f_move, NULL, NULL, 0, "move", TERM_NORM, -1, 0 + ,0 ,{0,0,0,0}}, + { f_right, NULL, NULL, 0, "right", TERM_NORM, -1, 0 + ,0 ,{0,0,0,0}}, + { f_left, NULL, NULL, 0, "left", TERM_NORM, -1, 0 + ,0 ,{0,0,0,0}}, + { f_progn4, NULL, NULL, 4, "progn4", FUNC_DATA, -1, 0 + ,0 ,{0,0,0,0}} }; + + binary_parameter ( "app.use_progn4", 0 ); + if ( atoi ( get_parameter ( "app.use_progn4" ) ) ) + fset.size = 14; + else + fset.size = 13; + fset.cset = sets; + + tree_map.fset=0; + tree_map.return_type=0; + tree_map.name = "TREE"; + + return function_sets_init ( &fset, 1, &tree_map, 1 ); +} +void app_eval_fitness ( individual *ind ) +{ + int i, j, k; + globaldata* g=get_globaldata(); + + set_current_individual ( ind ); + + /* reset the map. */ + for ( i = 0; i < g->ysize; ++i ) + memcpy ( g->cmap[i], g->map[i], g->xsize ); + + /* reset the simulation variables. */ + g->x = g->y = 0; + g->dir = APP_EAST; + g->food = 0; + g->time = 0; + + /*print_tree(ind->tr[0].data,stdout); + printf("\n");*/ + + /* evaluate the tree until the ant collects all the food + or runs out of time. */ + while ( g->time < g->maxtime && g->food < g->maxfood ) + { + evaluate_tree ( ind->tr[0].data, 0 ); + } + + ind->hits = g->food; + ind->r_fitness = g->food; + ind->s_fitness = g->maxfood - g->food; + ind->a_fitness = 1.0/(1.0+ind->s_fitness); + ind->evald = EVAL_CACHE_VALID; + +} + +int app_end_of_evaluation ( int gen, multipop *mpop, int newbest, + popstats *gen_stats, popstats *run_stats ) +{ + individual temp; + + globaldata* g=get_globaldata(); + temp.tr = run_stats[0].best[0]->ind->tr; + app_eval_fitness ( &temp ); + oprintf ( OUT_BST, 50, "BEST OF RUN INDIVIDUAL:\n" ); + oprintf ( OUT_BST, 50, " time taken: %d/%d\n", g->time, g->maxtime ); + oprintf ( OUT_BST, 50, "food consumed: %d/%d\n", g->food, g->maxfood ); + oprintf ( OUT_BST, 50, "path: \n" ); + app_print_trail ( OUT_BST, g->cmap, g->xsize, g->ysize ); + + return 0; /*(run_stats[0].best[0]->ind->hits==g->maxfood);*/ +} + +void app_end_of_breeding ( int gen, multipop *mpop ) +{ + return; +} + +int app_create_output_streams ( void ) +{ + return 0; +} + +int app_initialize ( int startfromcheckpoint ) +{ + char *param; + FILE *in; + int i, j, k; + + globaldata* g=get_globaldata(); + param = get_parameter ( "app.maxtime" ); + if ( param == NULL ) + g->maxtime = 400; + else + { + g->maxtime = atoi ( param ); + if ( g->maxtime < 1 ) + error ( E_FATAL_ERROR, "\"app.maxtime\" must be positive." ); + } + + param = get_parameter ( "app.trail" ); + if ( param == NULL ) + error ( E_FATAL_ERROR, "\"app.trail\" not specified." ); + + in = fopen ( param, "r" ); + if ( in == NULL ) + error ( E_FATAL_ERROR, "can't open \"%s\".", param ); + + fscanf ( in, "%d %d", &g->xsize, &g->ysize ); + if ( g->xsize < 1 || g->ysize < 1 ) + error ( E_FATAL_ERROR, "bad trail size." ); + + g->map = (unsigned char **)MALLOC ( g->ysize * sizeof ( unsigned char * ) ); + g->cmap = (unsigned char **)MALLOC ( g->ysize * sizeof ( unsigned char * )); + for ( i = 0; i < g->ysize; ++i ) + { + g->map[i] = (unsigned char *)MALLOC ( g->xsize * + sizeof ( unsigned char ) ); + g->cmap[i] = (unsigned char *)MALLOC ( g->xsize * + sizeof ( unsigned char ) ); + memset ( g->map[i], APP_EMPTY, g->xsize ); + } + + i = j = 0; + while ( (k=fgetc(in))!='\n' && k != EOF ); + g->maxfood = 0; + + while ( j < g->ysize ) + { + k = fgetc(in); + if ( k == EOF ) + j = g->ysize; + else if ( k == '\n' ) + { + i = 0; + ++j; + } + else if ( k == '#' && i < g->xsize ) + { + g->map[j][i] = APP_FOOD; + ++i; + ++g->maxfood; + } + else if ( i < g->xsize ) + ++i; + } + + fclose ( in ); + + app_print_trail ( OUT_PRG, g->map, g->xsize, g->ysize ); + + return 0; + +} + +void app_print_trail ( int stream, unsigned char **m, int x, int y ) +{ + int i, j; + char string[] = ".#xENWS"; + + for ( j = 0; j < y; ++j ) + { + oprintf ( stream, 50, " " ); + for ( i = 0; i < x; ++i ) + oprintf ( stream, 50, "%c", string[m[j][i]] ); + oprintf ( stream, 50, "\n" ); + } +} + + +void app_uninitialize ( void ) +{ + int i; + + globaldata* g=get_globaldata(); + for ( i = 0; i < g->ysize; ++i ) + { + FREE ( g->map[i] ); + FREE ( g->cmap[i] ); + } + + FREE ( g->map ); + FREE ( g->cmap ); +} + +void app_write_checkpoint ( FILE *f ) +{ + return; +} + +void app_read_checkpoint ( FILE *f ) +{ + return; +} + + + + + diff --git a/lib/lilgp/app/anttype/app.h b/lib/lilgp/app/anttype/app.h new file mode 100644 index 0000000..f2b3917 --- /dev/null +++ b/lib/lilgp/app/anttype/app.h @@ -0,0 +1,50 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _APP_H +#define _APP_H + +typedef struct +{ + /* Included to patch the current_individual bug...leave this alone */ + individual* current_individual; + /* End patch */ + + + int xsize, ysize; + unsigned char **map; + int x, y, dir; + int time, maxtime; + int food, maxfood; + unsigned char **cmap; +} globaldata; + +/*extern globaldata g;*/ + +void app_print_trail ( int, unsigned char **, int, int ); + +#endif diff --git a/lib/lilgp/app/anttype/appdef.h b/lib/lilgp/app/anttype/appdef.h new file mode 100644 index 0000000..bd31693 --- /dev/null +++ b/lib/lilgp/app/anttype/appdef.h @@ -0,0 +1,49 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _APPDEF_H +#define _APPDEF_H + +#define MAXARGS 4 +#define DATATYPE int + +/* Define NUMTYPES to be the number of types passed and returned in your + GP program. You should distinguish your types from 0 to NUMTYPES-1 */ +#define NUMTYPES 2 /* Void (what move etc. do) and bool */ + + +#define APP_EMPTY 0 +#define APP_FOOD 1 +#define APP_PATH 2 +#define APP_ANT 3 + +#define APP_EAST 0 +#define APP_NORTH 1 +#define APP_WEST 2 +#define APP_SOUTH 3 + +#endif diff --git a/lib/lilgp/app/anttype/function.c b/lib/lilgp/app/anttype/function.c new file mode 100644 index 0000000..fd0a07e --- /dev/null +++ b/lib/lilgp/app/anttype/function.c @@ -0,0 +1,248 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +DATATYPE f_food_ahead (int tree, farg *args) + { + int spot; globaldata* g = get_globaldata(); + + if ( g->time >= g->maxtime ) + return 0; + + switch ( g->dir ) + { + case APP_EAST: + spot = g->cmap[g->y][(g->x+1)%g->xsize]; + break; + case APP_WEST: + spot = g->cmap[g->y][(g->x-1+g->xsize)%g->xsize]; + break; + case APP_SOUTH: + spot = g->cmap[(g->y+1)%g->ysize][g->x]; + break; + case APP_NORTH: + spot = g->cmap[(g->y-1+g->ysize)%g->ysize][g->x]; + break; + } + + if ( spot == APP_FOOD ) + return 1; + return 0; + } + +DATATYPE f_food_left (int tree, farg* args) + { + int spot; globaldata* g = get_globaldata(); + + if ( g->time >= g->maxtime ) + return 0; + + switch ( g->dir ) + { + case APP_EAST: + spot = g->cmap[(g->y-1+g->ysize)%g->ysize][g->x]; + break; + case APP_SOUTH: + spot = g->cmap[g->y][(g->x+1)%g->xsize]; + break; + case APP_WEST: + spot = g->cmap[(g->y+1)%g->ysize][g->x]; + break; + case APP_NORTH: + spot = g->cmap[g->y][(g->x-1+g->xsize)%g->xsize]; + break; + } + + if ( spot == APP_FOOD ) + return 1; + return 0; + + } + +DATATYPE f_food_behind(int tree, farg* args) + { + int spot; globaldata* g = get_globaldata(); + + if ( g->time >= g->maxtime ) + return 0; + + switch ( g->dir ) + { + case APP_SOUTH: + spot = g->cmap[(g->y-1+g->ysize)%g->ysize][g->x]; + break; + case APP_WEST: + spot = g->cmap[g->y][(g->x+1)%g->xsize]; + break; + case APP_NORTH: + spot = g->cmap[(g->y+1)%g->ysize][g->x]; + break; + case APP_EAST: + spot = g->cmap[g->y][(g->x-1+g->xsize)%g->xsize]; + break; + } + + if ( spot == APP_FOOD ) + return 1; + return 0; + + + } + + +DATATYPE f_food_right(int tree, farg* args) + { + int spot; globaldata* g = get_globaldata(); + + if ( g->time >= g->maxtime ) + return 0; + + switch ( g->dir ) + { + case APP_WEST: + spot = g->cmap[(g->y-1+g->ysize)%g->ysize][g->x]; + break; + case APP_NORTH: + spot = g->cmap[g->y][(g->x+1)%g->xsize]; + break; + case APP_EAST: + spot = g->cmap[(g->y+1)%g->ysize][g->x]; + break; + case APP_SOUTH: + spot = g->cmap[g->y][(g->x-1+g->xsize)%g->xsize]; + break; + } + + if ( spot == APP_FOOD ) + return 1; + return 0; + + + } + +DATATYPE f_and (int tree, farg *args) + { + return (args[0].d && args[1].d); + } + +DATATYPE f_or (int tree, farg *args) + { + return (args[0].d || args[1].d); + } + +DATATYPE f_not (int tree, farg *args) + { + return (!args[0].d); + } + +DATATYPE f_if ( int tree, farg *args ) +{ + int spot; globaldata* g = get_globaldata(); + + if ( g->time >= g->maxtime ) + return 0; + + + if ( evaluate_tree (args[0].t, tree )) + evaluate_tree ( args[1].t, tree ); + else + evaluate_tree ( args[2].t, tree ); + + return 0; +} + +DATATYPE f_progn2 ( int tree, farg *args ) +{ + return 0; +} + +DATATYPE f_progn3 ( int tree, farg *args ) +{ + return 0; +} + +DATATYPE f_progn4 ( int tree, farg *args ) +{ + return 0; +} + +DATATYPE f_move ( int tree, farg *args ) +{ + globaldata* g = get_globaldata(); + if ( g->time >= g->maxtime ) + return 0; + + ++g->time; + + g->cmap[g->y][g->x] = APP_PATH; + + switch ( g->dir ) + { + case APP_EAST: + ++g->x; + break; + case APP_WEST: + g->x += g->xsize-1; + break; + case APP_SOUTH: + ++g->y; + break; + case APP_NORTH: + g->y += g->ysize-1; + break; + } + + g->x %= g->xsize; + g->y %= g->ysize; + + if ( g->cmap[g->y][g->x] == APP_FOOD ) + ++g->food; + + g->cmap[g->y][g->x] = APP_ANT + g->dir; +} + +DATATYPE f_right ( int tree, farg *args ) +{ + globaldata* g = get_globaldata(); + if ( g->time >= g->maxtime ) + return 0; + ++g->time; + g->dir = (g->dir+3)%4; + return 0; +} + +DATATYPE f_left ( int tree, farg *args ) +{ + globaldata* g = get_globaldata(); + if ( g->time >= g->maxtime ) + return 0; + ++g->time; + g->dir = (g->dir+1)%4; + return 0; +} + diff --git a/lib/lilgp/app/anttype/function.h b/lib/lilgp/app/anttype/function.h new file mode 100644 index 0000000..61e16f8 --- /dev/null +++ b/lib/lilgp/app/anttype/function.h @@ -0,0 +1,48 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _FUNCTIONS_H +#define _FUNCTIONS_H + +#include + +DATATYPE f_if ( int tree, farg *args ); +DATATYPE f_progn2 ( int tree, farg *args ); +DATATYPE f_progn3 ( int tree, farg *args ); +DATATYPE f_progn4 ( int tree, farg *args ); +DATATYPE f_move ( int tree, farg *args ); +DATATYPE f_right ( int tree, farg *args ); +DATATYPE f_left ( int tree, farg *args ); +DATATYPE f_and (int tree, farg *args); +DATATYPE f_or (int tree, farg *args); +DATATYPE f_not (int tree, farg *args); +DATATYPE f_food_ahead (int tree, farg *args); +DATATYPE f_food_behind (int tree, farg *args); +DATATYPE f_food_left (int tree, farg *args); +DATATYPE f_food_right (int tree, farg *args); + +#endif diff --git a/lib/lilgp/app/anttype/input.file b/lib/lilgp/app/anttype/input.file new file mode 100644 index 0000000..dd3ed16 --- /dev/null +++ b/lib/lilgp/app/anttype/input.file @@ -0,0 +1,41 @@ +### +### sample input parameter file for the artificial ant. +### + +# app-specific parameters +app.trail = santafe.trl +app.maxtime = 400 + + +# new item--the number of threads is placed in the input file, +# not in the environment (weird placement there anyway) +num_threads = 20 + +max_generations = 50 +pop_size = 500 +random_seed = 1 + +output.basename = ant + +# how to generate the initial population +init.method = grow +init.depth = 2-6 + +# limits on tree size. +max_depth = 17 + +## breeding parameters (emulates Koza Ch. 7) + +breed_phases = 1 + +#breed[1].operator=mutation,select=fitness +#breed[1].rate =0.1 + +breed[1].operator = crossover, select=fitness_overselect +breed[1].rate = 1.0 + +#breed[2].operator = reproduction, select=fitness_overselect +#breed[2].rate = 0.1 + + + diff --git a/lib/lilgp/app/anttype/losaltos.trl b/lib/lilgp/app/anttype/losaltos.trl new file mode 100644 index 0000000..182323e --- /dev/null +++ b/lib/lilgp/app/anttype/losaltos.trl @@ -0,0 +1,67 @@ +100 100 + ### + # .###.. + # # # + # # # + ####.##### .############.. . + # . # + # # . + # # . + # # # + . # . + # . . + # . # + # # . + # # ...###. + . .#... # + . . . + # . . + # # .#... + # # # + # # . + # # . + # . ...#. + # . # + ..##..#####. # # + # # # + # # # + # # # + # # # + # # # + # .#####....##.. # + # # # + . # # + .####.. # + #.# + # + # + # + # + # + # + # + ###### + . + # + # + # + # + # + # + #.. + # + # + # + # + # + .###### + . + # + # + # + # + # + # + # + # + # \ No newline at end of file diff --git a/lib/lilgp/app/anttype/santafe.trl b/lib/lilgp/app/anttype/santafe.trl new file mode 100644 index 0000000..9921bad --- /dev/null +++ b/lib/lilgp/app/anttype/santafe.trl @@ -0,0 +1,32 @@ +32 32 + ### + # + # .###.. + # # # + # # # + ####.##### .##.. . + # . # + # # . + # # . + # # # + . # . + # . . + # . # + # # . + # # ...###. + . .#... # + . . . + # . . + # # .#... + # # # + # # . + # # . + # . ...#. + # . # + ..##..#####. # + # # + # # + # .#######.. + # # + . # + .####.. \ No newline at end of file diff --git a/lib/lilgp/app/regression/GNUmakefile b/lib/lilgp/app/regression/GNUmakefile new file mode 100644 index 0000000..82c4195 --- /dev/null +++ b/lib/lilgp/app/regression/GNUmakefile @@ -0,0 +1,44 @@ +# +# GNU makefile, application portion. +# +# "make" or "make all" to build executable. +# "make clean" to delete object code. +# +# some users have reported a "high performance arithmetic trap" on DEC Alphas +# and on LINUX. if you get this, try adding "-DTOLERANCE_ZERO" to CFLAGS -- +# it apparently works on Alphas; don't know about Linux. +# + +TARGET = gp +KERNELDIR = ../../kernel +#CC = gcc +#CFLAGS = -O2 + +# For POSIX style multi-threading under Solaris 2.4 or greater use: +#CC = cc +#CFLAGS = -fast -xO4 -DPOSIX_MT -D_REENTRANT +#LIBS = -lpthread + +# For POSIX multi-threading under other OSes try: +#CC = CC +#CFLAGS = -O -DPOSIX_MT +#LIBS = -lpthread + +# For Solaris style multi-threading under Solaris 2.x use: +#CC = cc +#CFLAGS = -mt -fast -xO4 -DSOLARIS_MT +#LIBS = -mt + + +# if you want multithreading with POSIX threads, +# this will do the trick for Alphas running Digital Unix 4.0 -- Sean +CC = cc +CFLAGS = -O3 -DPOSIX_MT -ansi +# LIBS = -lpthread -lmach -lexc -lc +LIBS = -lpthread -lexc -lc + + +uobjects = function.o app.o +uheaders = appdef.h app.h function.h + +include $(KERNELDIR)/GNUmakefile.kernel diff --git a/lib/lilgp/app/regression/Makefile b/lib/lilgp/app/regression/Makefile new file mode 100644 index 0000000..e8ac8ff --- /dev/null +++ b/lib/lilgp/app/regression/Makefile @@ -0,0 +1,45 @@ +# +# GNU makefile, application portion. +# +# "make" or "make all" to build executable. +# "make clean" to delete object code. +# +# some users have reported a "high performance arithmetic trap" on DEC Alphas +# and on LINUX. if you get this, try adding "-DTOLERANCE_ZERO" to CFLAGS -- +# it apparently works on Alphas; don't know about Linux. +# + +TARGET = gp +KERNELDIR = ../../kernel + +## Generic settings for *nix with vendors cc compiler + CC = cc + CFLAGS = -O2 + +## Generic settings for *nix with GCC +# CC = gcc +# CFLAGS = -O2 + +## For Linux with GCC uncomment the next line +# CFLAGS += -mieee-fp + +## For a multi-threaded kernel on most systems uncomment the next 2 lines + CFLAGS += -DPOSIX_MT + LIBS += -lpthread + +## For POSIX style multi-threading under Solaris 2.4 or greater use: +# CFLAGS += -fast -xO4 -D_REENTRANT + +## For Solaris style multi-threading under Solaris 2.x use: +# CFLAGS = -mt -fast -xO4 -DSOLARIS_MT +# LIBS += -mt + +## For PSIX style multi-threading on Alphas running Digital Unix 4.0 -- Sean +# CFLAGS += -ansi +# LIBS += -lmach -lexc -lc + + +uobjects = function.o app.o +uheaders = appdef.h app.h function.h + +include $(KERNELDIR)/GNUmakefile.kernel diff --git a/lib/lilgp/app/regression/app.c b/lib/lilgp/app/regression/app.c new file mode 100644 index 0000000..ac1aeb4 --- /dev/null +++ b/lib/lilgp/app/regression/app.c @@ -0,0 +1,242 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include +#include + +#include + +globaldata g; + +static int fitness_cases = -1; +static double *app_fitness_cases[2]; +static double value_cutoff; + +int app_build_function_sets ( void ) +{ + function_set fset; + user_treeinfo tree_map; + function sets[] = + { { f_multiply, NULL, NULL, 2, "*", FUNC_DATA, -1, 0, 0, {0, 0} }, + { f_protdivide, NULL, NULL, 2, "/", FUNC_DATA, -1, 0, 0, {0, 0} }, + { f_add, NULL, NULL, 2, "+", FUNC_DATA, -1, 0, 0, {0, 0} }, + { f_subtract, NULL, NULL, 2, "-", FUNC_DATA, -1, 0, 0, {0, 0} }, + { f_sin, NULL, NULL, 1, "sin", FUNC_DATA, -1, 0, 0, {0, 0} }, + { f_cos, NULL, NULL, 1, "cos", FUNC_DATA, -1, 0, 0, {0, 0} }, + { f_exp, NULL, NULL, 1, "exp", FUNC_DATA, -1, 0, 0, {0, 0} }, + { f_rlog, NULL, NULL, 1, "rlog", FUNC_DATA, -1, 0, 0, {0, 0} }, + { f_indepvar, NULL, NULL, 0, "X", TERM_NORM, -1, 0, 0, {0, 0} }, + { NULL, f_erc_gen, f_erc_print, 0, "R", TERM_ERC, -1, 0, 0, {0, 0} } }; + + binary_parameter ( "app.use_ercs", 1 ); + if ( atoi ( get_parameter ( "app.use_ercs" ) ) ) + fset.size = 10; + else + fset.size = 9; + + fset.cset = sets; + + tree_map.fset = 0; + tree_map.return_type=0; + tree_map.name = "TREE"; + + return function_sets_init ( &fset, 1, &tree_map, 1 ); +} + +void app_eval_fitness ( individual *ind ) +{ + int i; + double v, dv; + double disp; + globaldata *g = get_globaldata(); + + set_current_individual ( ind ); + + ind->r_fitness = 0.0; + ind->hits = 0; + + for ( i = 0; i < fitness_cases; ++i ) + { + g->x = app_fitness_cases[0][i]; + v = evaluate_tree ( ind->tr[0].data, 0 ); + dv = app_fitness_cases[1][i]; + disp = fabs ( dv-v ); + + if ( disp < value_cutoff ) + { + ind->r_fitness += disp; + if ( disp <= 0.01 ) + ++ind->hits; + } + else + { + ind->r_fitness += value_cutoff; + } + } + ind->s_fitness = ind->r_fitness; + ind->a_fitness = 1/(1+ind->s_fitness); + ind->evald = EVAL_CACHE_VALID; +} + +int app_end_of_evaluation ( int gen, multipop *mpop, int newbest, + popstats *gen_stats, popstats *run_stats ) +{ + int i; + double v; + globaldata *g = get_globaldata(); + + if ( newbest ) + { + output_stream_open ( OUT_USER ); + + for ( i = -100; i <= 100; ++i ) + { + g->x = (double)i*.01; + v = evaluate_tree ( run_stats[0].best[0]->ind->tr[0].data, 0 ); + oprintf ( OUT_USER, 50, "%lf %lf\n", g->x, v ); + } + + output_stream_close ( OUT_USER ); + + if ( run_stats[0].best[0]->ind->hits == fitness_cases ) + return 1; + } + + return 0; +} + +void app_end_of_breeding ( int gen, multipop *mpop ) +{ + return; +} + +int app_create_output_streams ( void ) +{ + if ( create_output_stream ( OUT_USER, ".fn", 1, "w", 0 ) != + OUTPUT_OK ) + return 1; + + return 0; +} + +int app_initialize ( int startfromcheckpoint ) +{ + int i; + double x, y; + char *param; + globaldata *g = get_globaldata(); + + if ( !startfromcheckpoint ) + { + oprintf ( OUT_PRG, 50, "not starting from checkpoint file.\n" ); + + param = get_parameter ( "app.fitness_cases" ); + if ( param == NULL ) + fitness_cases = 200; + else + { + fitness_cases = atoi ( param ); + if ( fitness_cases < 0 ) + error ( E_FATAL_ERROR, "invalid value for \"app.fitness_cases\"." ); + } + + app_fitness_cases[0] = (double *)MALLOC ( fitness_cases * + sizeof ( double ) ); + app_fitness_cases[1] = (double *)MALLOC ( fitness_cases * + sizeof ( double ) ); + + oprintf ( OUT_PRG, 50, "%d fitness cases:\n", fitness_cases ); + for ( i = 0; i < fitness_cases; ++i ) + { + x = (random_double(&globrand)*2.0)-1.0; + + /* change this line to modify the goal function. */ + y = x*x*x*x + x*x*x + x*x + x; +/* y = x*x; */ + + app_fitness_cases[0][i] = x; + app_fitness_cases[1][i] = y; + + oprintf ( OUT_PRG, 50, + " x = %12.5lf, y = %12.5lf\n", x, y ); + } + } + else + { + oprintf ( OUT_PRG, 50, "started from checkpoint file.\n" ); + } + + param = get_parameter ( "app.value_cutoff" ); + if ( param == NULL ) + value_cutoff = 1.e15; + else + value_cutoff = strtod ( param, NULL ); + + return 0; +} + +void app_uninitialize ( void ) +{ + FREE ( app_fitness_cases[0] ); + FREE ( app_fitness_cases[1] ); +} + +void app_write_checkpoint ( FILE *f ) +{ + int i; + fprintf ( f, "fitness-cases: %d\n", fitness_cases ); + for ( i = 0; i < fitness_cases; ++i ) + { + write_hex_block ( app_fitness_cases[0]+i, sizeof(double), f ); + fputc ( ' ', f ); + write_hex_block ( app_fitness_cases[1]+i, sizeof(double), f ); + fprintf ( f, " %.5lf %.5lf\n", + app_fitness_cases[0][i], app_fitness_cases[1][i] ); + } +} + +void app_read_checkpoint ( FILE *f ) +{ + int i; + + fscanf ( f, "%*s %d\n", &fitness_cases ); + + app_fitness_cases[0] = (double *)MALLOC ( fitness_cases * + sizeof ( double ) ); + app_fitness_cases[1] = (double *)MALLOC ( fitness_cases * + sizeof ( double ) ); + + for ( i = 0; i < fitness_cases; ++i ) + { + read_hex_block ( app_fitness_cases[0]+i, sizeof ( double ), f ); + fgetc ( f ); + read_hex_block ( app_fitness_cases[1]+i, sizeof ( double ), f ); + fscanf ( f, " %*f %*f\n" ); + fprintf ( stderr, "%.5lf %.5lf\n", app_fitness_cases[0][i], + app_fitness_cases[1][i] ); + } +} diff --git a/lib/lilgp/app/regression/app.h b/lib/lilgp/app/regression/app.h new file mode 100644 index 0000000..e1acf45 --- /dev/null +++ b/lib/lilgp/app/regression/app.h @@ -0,0 +1,41 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _APP_H +#define _APP_H + +#include + +typedef struct +{ + individual *current_individual; + double x; +} globaldata; + +extern globaldata g; + +#endif diff --git a/lib/lilgp/app/regression/appdef.h b/lib/lilgp/app/regression/appdef.h new file mode 100644 index 0000000..356af74 --- /dev/null +++ b/lib/lilgp/app/regression/appdef.h @@ -0,0 +1,35 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _APPDEF_H +#define _APPDEF_H + +#define MAXARGS 2 +#define DATATYPE double +#define NUMTYPES 2 + +#endif diff --git a/lib/lilgp/app/regression/function.c b/lib/lilgp/app/regression/function.c new file mode 100644 index 0000000..67ae534 --- /dev/null +++ b/lib/lilgp/app/regression/function.c @@ -0,0 +1,114 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include +#include + +#include + +DATATYPE f_multiply ( int tree, farg *args ) +{ + return args[0].d * args[1].d; +} + +#ifdef TOLERANCE_ZERO + +/* fixes the DEC Alpha "high performance arithmetic trap" error. + * provided by Glen Ropella. + */ + +DATATYPE f_protdivide ( int tree, farg *args ) +{ + if (args[1].d >= -0.00000000001 || args[1].d <= 0.00000000001) + return 1.0; + else + return args[0].d / args[1].d; +} + +#else + +DATATYPE f_protdivide ( int tree, farg *args ) +{ + if ( args[1].d == 0.0 ) + return 1.0; + else + return args[0].d / args[1].d; +} + +#endif + +DATATYPE f_add ( int tree, farg *args ) +{ + return args[0].d + args[1].d; +} + +DATATYPE f_subtract ( int tree, farg *args ) +{ + return args[0].d - args[1].d; +} + +DATATYPE f_sin ( int tree, farg *args ) +{ + return sin(args[0].d); +} + +DATATYPE f_cos ( int tree, farg *args ) +{ + return cos(args[0].d); +} + +DATATYPE f_exp ( int tree, farg *args ) +{ + return exp(args[0].d); +} + +DATATYPE f_rlog ( int tree, farg *args ) +{ + if ( args[0].d == 0.0 ) + return 0.0; + else + return log ( fabs ( args[0].d ) ); +} + +DATATYPE f_indepvar ( int tree, farg *args ) +{ + globaldata *g = get_globaldata(); + return g->x; +} + +void f_erc_gen ( DATATYPE *r ) +{ + *r = (random_double(&globrand)*2.0) - 1.0; +} + +char *f_erc_print ( DATATYPE d ) +{ + static char buffer[20]; + + sprintf ( buffer, "%.5f", d ); + return buffer; +} diff --git a/lib/lilgp/app/regression/function.h b/lib/lilgp/app/regression/function.h new file mode 100644 index 0000000..fb25889 --- /dev/null +++ b/lib/lilgp/app/regression/function.h @@ -0,0 +1,46 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _FUNCTIONS_H +#define _FUNCTIONS_H + +#include + +DATATYPE f_multiply ( int tree, farg *args ); +DATATYPE f_protdivide ( int tree, farg *args ); +DATATYPE f_add ( int tree, farg *args ); +DATATYPE f_subtract ( int tree, farg *args ); +DATATYPE f_sin ( int tree, farg *args ); +DATATYPE f_cos ( int tree, farg *args ); +DATATYPE f_exp ( int tree, farg *args ); +DATATYPE f_rlog ( int tree, farg *args ); +DATATYPE f_indepvar ( int tree, farg *args ); + +void f_erc_gen ( DATATYPE * ); +char *f_erc_print ( DATATYPE ); + +#endif diff --git a/lib/lilgp/app/regression/input.file b/lib/lilgp/app/regression/input.file new file mode 100644 index 0000000..59408c7 --- /dev/null +++ b/lib/lilgp/app/regression/input.file @@ -0,0 +1,31 @@ +# This stuff added for bst-lilgp +num_threads = 1 +# End of bst specific stuff + +### +### sample input parameter file for symbolic regression. +### + +pop_size = 5000 +max_generations = 50 +random_seed = 1234567890 + +output.basename = regress + +# how to generate the initial population +init.method = half_and_half +init.depth = 2-6 + +# limits on tree size. +max_depth = 17 + +## breeding parameters (emulates Koza Ch. 7) + +breed_phases = 2 + +breed[1].operator = crossover, select=fitness +breed[1].rate = 0.9 + +breed[2].operator = reproduction, select=fitness +breed[2].rate = 0.1 + diff --git a/lib/lilgp/app/skeleton/GNUmakefile b/lib/lilgp/app/skeleton/GNUmakefile new file mode 100644 index 0000000..bef1bb9 --- /dev/null +++ b/lib/lilgp/app/skeleton/GNUmakefile @@ -0,0 +1,41 @@ +# +# GNU makefile, application portion. +# +# "make" or "make all" to build executable. +# "make clean" to delete object code. +# +# some users have reported a "high performance arithmetic trap" on DEC Alphas +# and on LINUX. if you get this, try adding "-DTOLERANCE_ZERO" to CFLAGS -- +# it apparently works on Alphas; don't know about Linux. +# + +TARGET = gp +KERNELDIR = ../../kernel +#CC = gcc +#CFLAGS = -O2 + +# For POSIX style multi-threading under Solaris 2.4 or greater use: +#CC = cc +#CFLAGS = -fast -xO4 -DPOSIX_MT -D_REENTRANT +#LIBS = -lpthread + +# For POSIX multi-threading under other OSes try: +#CC = CC +#CFLAGS = -O -DPOSIX_MT +#LIBS = -lpthread + +# For Solaris style multi-threading under Solaris 2.x use: +#CC = cc +#CFLAGS = -mt -fast -xO4 -DSOLARIS_MT +#LIBS = -mt + +# For POSIX style multi-threading on Alphas under Digital Unix 4.0 use: -- Sean +#CC = cc +#CFLAGS = -O3 -DPOSIX_MT -ansi +#LIBS = -lpthread -lmach -lexc -lc + + +uobjects = function.o app.o +uheaders = appdef.h app.h function.h + +include $(KERNELDIR)/GNUmakefile.kernel diff --git a/lib/lilgp/app/skeleton/app.c b/lib/lilgp/app/skeleton/app.c new file mode 100644 index 0000000..b36fd1d --- /dev/null +++ b/lib/lilgp/app/skeleton/app.c @@ -0,0 +1,145 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* Possible Parameter/Return Types +#define NONE -1 +#define BOOL 0 +#define FLOAT 1 +*/ + +int app_build_function_sets ( void ) +{ + function_set fset; + user_treeinfo tree_map; + /* -- make sure "name" is unique over set -- + function sets[] = + {{f_func_expr, NULL, NULL, 2, "func_expr", FUNC_EXPR, -1, 0, + BOOL, {BOOL, BOOL, NONE, NONE}} + ,{f_func_data, NULL, NULL, 2, "func_data", FUNC_DATA, -1, 0, + FLOAT, {FLOAT, BOOL, NONE, NONE}} + ,{f_terminal, NULL, NULL, 0, "terminal", TERM_NORM, -1, 0, + BOOL, {NONE, NONE, NONE, NONE}} + }; + + // Setup function set structure + fset.size = 3; + fset.cset = sets; + + // Setup tree map with function set + tree_map.fset = 0; + tree_map.return_type = BOOL; + tree_map.name = "My Tree"; + + */ + return function_sets_init ( &fset, 1, &tree_map, 1 ); +} + + +int app_initialize ( int startfromcheckpoint ) +{ + // Get the a ptr to the global data structure + globaldata* g = get_globaldata(); + + // Initialize the local random number generator + random_seed(&g->myrand, 0); + + return 0; +} + + +void app_uninitialize ( void ) +{ + // Destroy the random number structure + random_destroy(&g->myrand); +} + + +void app_eval_fitness ( individual *ind ) +{ + +} + + +int app_end_of_evaluation ( int gen, multipop *mpop, int newbest, + popstats *gen_stats, popstats *run_stats ) +{ + return 0; +} + + +void app_end_of_breeding ( int gen, multipop *mpop ) +{ + return; +} + + +void app_write_checkpoint ( FILE *f ) +{ + int random_state_bytes; + unsigned char *rand_state; + // Get the a ptr to the global data structure + globaldata* g = get_globaldata(); + + // write the state of the random number generator + rand_state = random_get_state_str ( &g->myrand, &random_state_bytes ); + fprintf ( f, "random-state: %d ", random_state_bytes ); + // store buffer as hex data + write_hex_block ( rand_state, random_state_bytes, f ); + fputc ( '\n', f ); + FREE ( rand_state ); +} + + +void app_read_checkpoint ( FILE *f ) +{ + int random_state_bytes; + unsigned char *rand_state; + // Get the a ptr to the global data structure + globaldata* g = get_globaldata(); + + // Read the size of the state + fscanf ( f, "%*s %d ", &random_state_bytes ); + // allocate the buffer + rand_state = (char *)MALLOC ( random_state_bytes+1 ); + // read the hex data into the buffer. */ + read_hex_block ( rand_state, random_state_bytes, f ); + // set the state + random_set_state_str ( &g->myrand, rand_state ); + FREE ( rand_state ); + fgetc ( f ); +} + + +int app_create_output_streams ( void ) +{ + return 0; +} + + + diff --git a/lib/lilgp/app/skeleton/app.h b/lib/lilgp/app/skeleton/app.h new file mode 100644 index 0000000..6d53434 --- /dev/null +++ b/lib/lilgp/app/skeleton/app.h @@ -0,0 +1,45 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _APP_H +#define _APP_H + +typedef struct +{ + /* Included to patch the current_individual bug...leave this alone */ + individual* current_individual; + + /* app global data */ + randomgen myrand; +} +globaldata; + +/* app-specific function prototypes */ + + + +#endif diff --git a/lib/lilgp/app/skeleton/appdef.h b/lib/lilgp/app/skeleton/appdef.h new file mode 100644 index 0000000..5712a88 --- /dev/null +++ b/lib/lilgp/app/skeleton/appdef.h @@ -0,0 +1,52 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _APPDEF_H +#define _APPDEF_H + +/* Maximum number of arguments to functions */ +#define MAXARGS 4 + +/* set of all types used in strong typing */ +typedef union uApptypes +{ + +} +apptypes; +#define DATATYPE apptypes + + +/* Define NUMTYPES to be the number of types passed and returned in your + GP program. You should distinguish your types from 0 to NUMTYPES-1 */ +#define NUMTYPES 2 + + +/* App-specific defines */ + + + +#endif diff --git a/lib/lilgp/app/skeleton/function.c b/lib/lilgp/app/skeleton/function.c new file mode 100644 index 0000000..024ef3c --- /dev/null +++ b/lib/lilgp/app/skeleton/function.c @@ -0,0 +1,70 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* +DATATYPE f_terminal (int tree, farg* args) +{ + globaldata* g = get_globaldata(); + DATATYPE retval; + + // calculations need to generate terminal value, + // place value inside retval in proper type container + + // To generate a random integer [0..y) + // x = random_int ( &g->myrand, y ); + // To generate a random double [0..1) + // x = random_double ( &g->myrand ); + + + return retval; +} + + +DATATYPE f_func_data (int tree, farg *args) +{ + DATATYPE retval; + + // calculations using parameters args[i], + // place value inside retval in proper type container + + return retval; +} + + +DATATYPE f_func_expr ( int tree, farg *args ) +{ + globaldata* g = get_globaldata(); + DATATYPE retval; + + // evaluate subtrees using ... + retval = evaluate_tree (args[i].t, tree); + + return retval; +} +*/ diff --git a/lib/lilgp/app/skeleton/function.h b/lib/lilgp/app/skeleton/function.h new file mode 100644 index 0000000..cf49305 --- /dev/null +++ b/lib/lilgp/app/skeleton/function.h @@ -0,0 +1,37 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _FUNCTIONS_H +#define _FUNCTIONS_H + +#include + +/* function prototypes for all functions in function.c */ + + + +#endif diff --git a/lib/lilgp/app/skeleton/input.file b/lib/lilgp/app/skeleton/input.file new file mode 100644 index 0000000..e5e0a4a --- /dev/null +++ b/lib/lilgp/app/skeleton/input.file @@ -0,0 +1,46 @@ +### +### Skeletion lilgp app code input file. +### + +### app-specific parameters + + + + +### lilgp-specific parameters + +# number of threads to use for run +num_threads = 4 + +# GP parameters +max_generations = 50 +pop_size = 500 +random_seed = 1 + +# name to use for the first part of all output files +output.basename = skel + +# how to generate the initial population +init.method = half_and_half +init.depth = 2-6 + +# limits on tree size. +max_depth = 17 + + +## breeding parameters (emulates Koza Ch. 7) +## see ../params directory for more examples of breeding params + +breed_phases = 1 + +breed[1].operator=mutation,select=fitness +breed[1].rate =0.1 + +breed[1].operator = crossover, select=fitness_overselect +breed[1].rate = 0.8 + +breed[2].operator = reproduction, select=fitness_overselect +breed[2].rate = 0.1 + + + diff --git a/lib/lilgp/bugs.html b/lib/lilgp/bugs.html new file mode 100644 index 0000000..80c3409 --- /dev/null +++ b/lib/lilgp/bugs.html @@ -0,0 +1,223 @@ + + + +lil-gp Bug Patches + + + +

lil-gp Bug Patches

+

I have identified two chief bugs in lil-gpl 1.1 beta while working in multi-threaded mode. Until they are resolved, here are (ugly) patches to the code which should work nicely. + +Peter Anderson has also identified a bug in lilgp's ERC facility; I've not verified this bug, but his patch is located here. + +

The Tree Evaluation Facility

+

This appears to be a very serious bug; all the function set_current_individual() does is modify a global static pointer. This creates a very dangerous race condition when individuals are being evaluated simultaneously. The patch is to move this global variable into the thread-safe globaldata structure. This means you will have to first add to your globaldata structure the line... + +

individual* current_individual; + +

You should not access this line in your evaluation code, even though it's in the globaldata structure. Once this line has been added, follow the following patch instructions. + +

Open the file eval.c. Change the passage... + +


+static individual * current_individual;
+
+void set_current_individual ( individual *ind )
+{
+  current_individual = ind;
+}
+
+ +

...to... + +


+#if !defined(POSIX_MT) && !defined(SOLARIS_MT)
+static individual * current_individual;
+#define CURRENT_INDIVIDUAL current_individual
+#else
+#define CURRENT_INDIVIDUAL ((get_globaldata())->current_individual)
+#endif
+
+void set_current_individual ( individual *ind )
+{
+  CURRENT_INDIVIDUAL = ind;
+}
+
+ +

...next, there are THREE passages you'll need to change. They're all identical. All three times it occurs, change... + +


+arg->d = evaluate_tree ( current_individual->tr[f->evaltree].data,
+                        f->evaltree );
+
+ +

...to... + +


+arg->d = evaluate_tree ( CURRENT_INDIVIDUAL->tr[f->evaltree].data,
+                        f->evaltree );
+
+ + +

The Random Facility

+

lil-gp's random facility is not threadsafe and cannot be called from your evaluation code in multi-threaded mode without some patching. The patch for this wraps the random facility in a mutex so only one thread can call the random function at a time. Assuming threads aren't re-seeing the generator, the only function that needs to be wrapped is random_double() because the other random functions operate on it. Note that this patch only works for POSIX Threads. You'll have to code your own Solaris Threads patch, sorry. Here are the patch instructions. + +

First open main.c, and change the passage + +


+/* maximum number of nodes per individual.  -1 if no limit is
+   enforced. */
+int ind_nodelimit;
+
+int main ( int argc, char **argv )
+{
+
+     multipop *mpop;
+     int startgen;
+     char *param;
+     event start, end, diff;
+     event eval, breed;
+     int startfromcheckpoint;
+
+#ifdef MEMORY_LOG
+     /* dump all memory allocations to a file. */
+     mlog = fopen ( "memory.log", "w" );
+#endif
+
+ +

...to... + +


+/* maximum number of nodes per individual.  -1 if no limit is
+   enforced. */
+int ind_nodelimit;
+
+extern pthread_mutex_t random_mutex;  /* Mutexes the random code */
+
+int main ( int argc, char **argv )
+{
+
+     multipop *mpop;
+     int startgen;
+     char *param;
+     event start, end, diff;
+     event eval, breed;
+     int startfromcheckpoint;
+
+     pthread_mutex_init(&random_mutex,NULL); /* Initialize the random mutex */
+
+#ifdef MEMORY_LOG
+     /* dump all memory allocations to a file. */
+     mlog = fopen ( "memory.log", "w" );
+#endif
+
+ +

Then modify the passage (at the end of main())... + +


+     /* print memory/time statistics and close output files. */
+     output_system_stats ( &diff, &eval, &breed );
+     close_output_streams();
+
+#ifdef MEMORY_LOG
+     fclose ( mlog );
+#endif
+
+     /* all done. */
+     return 0;
+}
+
+ +

...to... + +


+     /* print memory/time statistics and close output files. */
+     output_system_stats ( &diff, &eval, &breed );
+     close_output_streams();
+
+#ifdef MEMORY_LOG
+     fclose ( mlog );
+#endif
+
+     pthread_mutex_destroy(&random_mutex);  /* Destroy random mutex */
+
+     /* all done. */
+     return 0;
+}
+
+ + +

Next, open the file random.c Change the passage + + +


+static double mz = 0.0;
+static double ma[55];       /* the number 55 is special -- see Knuth. */
+static int inext, inextp;
+
+ +

...to... + +


+static double mz = 0.0;
+static double ma[55];       /* the number 55 is special -- see Knuth. */
+static int inext, inextp;
+
+pthread_mutex_t random_mutex;
+
+ +

and change the function... + +


+double random_double ( void )
+{
+
+     double mj;
+     double res;
+
+     inext = (inext+1)%55;
+     inextp = (inextp+1)%55;
+     
+     mj = ma[inext] - ma[inextp];
+     if ( mj < mz )
+          mj = mj + mbig;
+     ma[inext] = mj;
+
+     res=mbig;
+
+     return mj/res;
+}
+
+ +

...to... + +


+double random_double ( void )
+{
+  /* There's a race condition on this, so we need to mutex it! */
+
+     double mj;
+     double res;
+
+     pthread_mutex_lock(&random_mutex);
+
+     inext = (inext+1)%55;
+     inextp = (inextp+1)%55;
+     
+     mj = ma[inext] - ma[inextp];
+     if ( mj < mz )
+          mj = mj + mbig;
+     ma[inext] = mj;
+
+     res=mbig;
+
+     pthread_mutex_unlock(&random_mutex);
+     return mj/res;
+}
+
+ + + + + + diff --git a/lib/lilgp/htmlMan/lil-gp.bib.htm b/lib/lilgp/htmlMan/lil-gp.bib.htm new file mode 100644 index 0000000..b87aa2d --- /dev/null +++ b/lib/lilgp/htmlMan/lil-gp.bib.htm @@ -0,0 +1,31 @@ + + + + +Bibliography + + + +

+Bibliography
+
+

+

+[1] David E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, 1989.
+ +

+

+[2] John H. Holland. Adaptation in Natural and Artifical Systems. Bradford/MIT Press, 1992.
+ +

+

+[3] John R. Koza. Genetic Programming. Bradford/MIT Press, +1992.
+ +

+

+[4] John R. Koza. Genetic Programming II. Bradford/MIT Press, +1994. +

+ + \ No newline at end of file diff --git a/lib/lilgp/htmlMan/lil-gp.ch1.htm b/lib/lilgp/htmlMan/lil-gp.ch1.htm new file mode 100644 index 0000000..ed4672a --- /dev/null +++ b/lib/lilgp/htmlMan/lil-gp.ch1.htm @@ -0,0 +1,184 @@ + + + + + +

Chapter 1 + +

+
+     1.1    Features

+     1.2    Kernel
+
     1.3    Specification of Problems

+     1.4    Multiple Populations

+     1.5    Availability

+     1.6    Author
+

+


+

+

+Introduction

+

+lil-gp is a C language system for developing genetic +programming applications based on the LISP +work of John Koza at Stanford University. +lil-gp evolves trees whose nodes are C function pointers, +so tree evaluation is done entirely with complied +code. This gives us a manyfold speed increase, +allows us to handle much large problems (bigger +populations, more generations), and is portable to a wide +variety of platforms. lil-gp individuals can be composed +of multiple trees, some of which can evaluate +the others to give ADF capabilities. This +system is the first (that we know of) to support multiple-population +runs with arbitrary interchange topologies. lil-gp +has many many options for controlling breeding, and is capable +of emulating the "Simple LISP Code," given +in the appendix of Koza's book [3 ], as well +as the parameters given in Chapter 7, "Detailed Description +of Genetic Programming," of that book.
+
+

+

+1.1 Features

+

+lil-gp features include:

+
    +
  • ease-of-use: options are specified via a flexible format parameter +file; command line arguments lend the system to batch operation +for long series of runs +
  • +
+ +
    +
  • supports multiple subpopulations with arbitrary exchange topologies +
    + +
  • +
  • written in C for portability to a wide variety of Unix/DOS/Mac +platforms
    + +
  • +
  • 7 selection methods: fitness proportionate, greedy overselection, +inverse fitness, variable size tournament, random, best, worst +
    + +
  • +
  • 3 genetic operators: crossover, reproduction, mutation
    + +
  • +
  • writes and restarts from checkpoint files
    + +
  • +
  • optional node and/or depth limitations on tree size
    + +
  • +
  • support for ephemeral random constants
    + +
  • +
  • extensive output, including statistics files ready for import +into plotting/analysis packages
    + +
  • +
+ +

+1.2 Kernel

+

+At lil-gp's core is a tree representation that is compact yet +amenable to extremely fast evaluation. Trees are stored as preorder +expressions, with special symbols inserted to indicate ephemeral +random constants and conditionally evaluated subtrees. The compactness +of the representation allows larger populations to be stored in +real memory, and the fact that trees are stored as contiguous +blocks of memory minimizes the impact of paging on performance. +The selection methods and genetic operators are implemented in +an object-oriented fashion, allowing new routines to be added +easily. Checkpoint files save the entire state of the run, allowing +a promising run to be extended, or an interrupted run to be completed. +A portable random number generator provides consistent results +across platforms.
+ +

+

+1.3 Specification of Problems

+

+Creating a program in lil-gp is done with a minimum of code writing. +The use must provide one C function for each GP function and terminal, +in addition to a fitness evaluation function. Several callback +hooks are provided for initialization, customized output, and +reading and writing user state information to checkpoint files. +Once the user code is written, the executable need only be compiled +once_all parameters and operators are available_even switch between +single and multiple population runs_just by modifying the parameter +file.
+ +

+

+1.4 Multiple Populations

+

+lil-gp's support for multiple population problems includes user-specified +exchange topology and exchange interval. The parameter file specifies +how the individuals to be exchanged from each subpopulation are +selected, and where they go. The output files include statistics +on fitness and tree size for each subpopulation and for the entire +population, both for the current generation and the entire run +to that point.
+ +

+

+1.5 Availability

+

+This is version 1.0 of lil-gp. The distribution includes implementations +of three of the problems from Koza's first book [3]--the Boolean +11-multiplexer, symbolic regression, and the artificial ant. Two +problems from the second book [4] using ADFs are also implemented: +the two-boxes problem and the lawnmower problem. This documentation +covers building and running the sample problems, writing your +own applications, and extending the kernel.
+ +

+

+1.6 Author

+

+lil-gp was written by Douglas Zongker, under the direction of +Dr. Bill Punch. Mike Boers, Mike Raymer, Dr. Erik Goodman, and +the rest of the MSU GARAGe (Genetic Algorithms Research and Applications +Group) also provided valuable assistance. +

+

+Other users of lil-gp have provided suggestions and solutions +for compatibility problems. Thanks especially go to Nigel Dodd, +Kayvan Sylvan, Pierce T. Wetter III, and Glen Ropella.
+ +

+

+We want to hear about your experiences with lil-gp. We welcome +your questions, comments, sugges- tions, and, of course, bug reports.1 +lil-gp related e-mail can be sent to zongker@isl.cps.msu.edu. +You should always be able to find any new information on lil-gp +on the World Wide Web, at the URL http://isl.cps.msu.edu/GA/software/lil-gp. +Paper mail may be sent to:
+ +

+
+Computer Science Department +
+
+A-714 Wells Hall +
+
+Michigan State University +
+
+East Lansing, MI 48824 +
+
+USA
+ +
+

+1 Well, we don't actually welcome bug reports, but +send them anyway.

+ + \ No newline at end of file diff --git a/lib/lilgp/htmlMan/lil-gp.ch2.htm b/lib/lilgp/htmlMan/lil-gp.ch2.htm new file mode 100644 index 0000000..87a272d --- /dev/null +++ b/lib/lilgp/htmlMan/lil-gp.ch2.htm @@ -0,0 +1,651 @@ + + + + +Untitled + + + +

+Chapter 2

+
+     2.1    Introduction
+
+     2.2    Defining an Application
+            2.2.1     Closure
+            2.2.2     Examples
+
+     2.3    Size of Individuals

+     2.4    Fitness

+     2.5    Population Initialization

+     2.6    Selection

+     2.7    Operators
+          2.7.1     Crossover
+          2.7.2     Reproduction
+          2.7.3     Mutation
+

+     2.8    Automatically Defined Functions (ADFs)
+          2.8.1     ADFs in lil-gp
+ +
+

+Background
+
+

+

+2.1 Introduction

+

+The term Genetic Programming is associated with the work +of John Koza [3,4]. A genetic program (or GP) is an adaptive +learning system based on many of the principles of genetic algorithms +(GA) as described by Holland's Adaptation in Natural and Artificial +Systems [2] and Goldberg's Genetic Algorithms [1]. +

+

+There are many similarities between a GA and a GP. Both maintain +a multitude of independent solutions, represented as individuals +in a population. Each runs in a cycle called a generation, in +which the members of the present population are moved forward, +deleted or modified into a new population. Each uses a set of +genetic operators +

+

+to modify individuals of the population. Each uses a selection +operation to determine which individuals will moved to the next +generation based on the fitness of those individuals, typically +as measured by an external evaluation function.
+ +

+

+However, there are some important, basic differences as well: +
+ +

+
    +
  1. + The structure of representation for a GP is a tree, while +most GA applications use a string for representing an individual +in the population.
    + +
  2. +
  3. + The nodes of a GP tree are typically functions or terminals, allowing each tree to be interpreted as a program. While +this could be true of a GA, it typically is not. It is +almost +always true of a GP however.
    + +
  4. +
  5. + While the length of a GA string is often fixed, the size +of a GP individual is intrinsically variable in length.
    + +
  6. +
+

+In the rest of this section we will lay some of the groundwork +for what a GP is, and how to work with it. It will, by no means, +be a complete exposition on genetic programming. For such a description, +we refer you to [3,4].
+ +

+

+2.2 Defining an Application

+

+To define a GP application, one must provide both the function +and terminal nodes from which the GP tree is constructed. + The function nodes constitute the internal nodes of the tree, +representing a function whose arguments are the subtrees below +that node. The +terminal nodes constitute the terminal nodes of the tree, representing +non-argument taking functions, or atoms

+

+Thus a GP constructs a parse tree of a function, and the functions +contained in that tree take arguments from the evaluation of their +subtrees. The GP system generally either runs for a prespecified +number of generations or until a satisfactory soluttion has been found.
+ +

+

+2.2.1 Closure

+

+Because a GP structure represents a program, and because the program +can be constructed in ways not necessarily foreseen, the functions +must designed such that they can take any arguments that +could possibly be returned by an atom or the evaluation of another +GP function. A classic example would be a division operator. + A division used in a GP application that has numbers as +atoms must be designed so that, when given a divisor of 0, division +has some default behavior that allows the program to continue, +rather than signaling an error condition and stopping. Koza calls +this the closure property. One must take some care in designing +the functions for an application such that they are indeed closed +under the other functions and atoms.
+ +

+

+2.2.2 Examples

+

+There are 5 example programs, taken from GP I [3] and GP II [4], +distributed with lil-gp. We define them below to give you a feel +for GP applications.
+ +

+

+Artificial Ant

+

+In the artificial ant problem a grid is provided with a "trail" +of food pellets distributed over the grid. Two examples are provided, +the Los Altos trail (100x100 with 105 food pellets) and the Santa +Fe trail (32x32 with 89 food pellets). The GP-program generates +a path by walking through this map. It is allowed to run for +some number of time-steps t (400 in Santa Fe, 3000 in Los Altos), +after which fitness is measured by the number of food pellets +"run over" by the ant. Each terminal costs one time +step to evaluate, each +function takes no time

+

+The function set has 4 members. The first is if-food-ahead, +which has two arguments_one to be performed if there is food in +front of the ant, the other otherwise. It has the for

+
+      (if-food-ahead  (arg1-true-subtree)  (arg2-false-subtree))
+
+

+The other 3 functions are progn2 (2 args), progn3 +(3 args), and progn4 (4 args). Each of these functions +simply executes its children from left to right

+

+The terminal set has 3 members: move, which moves the ant +one step forward. left, which turns the ant left, and +right, turns the ant right.
+ +

+

+Boolean 11-multiplexer

+

+The Boolean 11-multiplexer problem generates GP-programs/individuals +that show the same be- havior as a multiplexer with 3 address +lines and 8 data lines. That is, given all the possible inputs +of an 11-multiplexer (211 possibilities), determine GP-program +fitness based on how it compares on all 2048 cases

+

+The function set has 4 members, which are: and (2 args), +or (2 args), not (1 arg), and an if function +(3 args) that evaluates one or the other subtree associated with +it based on a condition, as follows

+
+      (if (arg1-cond) (arg2-true-subtree) (arg3-false-subtree))
+
+

+The terminal set has 11 members which are: the data lines {d0 +: : :d7 }, and the address lines {a0 +: : :a2 }.
+ +

+

+Regression

+

+The GP-programs/individuals are designed to generate a function +which matches a target curve. The fitness cases are a number +of known (x,y) pairs on the target curve. The GP-program +is evaluated at each of these x-coordinates, and the difference +between the y value and the value returned by the GP-program, +summed over all the cases, is the fitness

+

+The function set has 8 members which are: multiply, protected-divide +(returns 1 when dividing by 0), add, subtract, sin, cos, exponentiation +and protected-log (log of 0 is 0, otherwise is the log of the +absolute value)

+

+The terminal set has one or two members: the input value x, +and (optionally) ephemeral random constants or ERCs. An +ERC is a special terminal whose value is fixed. When an ERC terminal +is generated, either during the filling of the initial population +or by mutation later in the run, a value is attached to that terminal +and is unchanged by subsequent operations. In our example, ERC's +were generated in the range of [-1; 1).
+ +

+

+Two-Boxes

+

+Here, the GP attempts to evolve the function l0 +h0 w0 - l1 h1 w1 +using the four elementary arithmetic functions and six terminals, +one for each variable. This problem is included because it provides +a simple introduction to the use of ADFs.
+ +

+

+Lawnmower

+

+This problem evolves a control program for a lawnmower, with the +goal being to mow the grass on every square of a toroidal grid. + The mower can move forward (and mow) one square, turn left, or +jump any distance (relative to its own position and facing direction). + For more information, the reader is referred to [4].
+ +

+

+2.3 Size of Individuals

+

+The trees evolved by GP can grow very large. To avoid wasting +time evaluating a few very large trees, the user can place limits +on the number of nodes and/or the depth of an individual. In +problems where individuals are composed of multiple trees (see +Section 2.8.1), separate limits can be set for each component +tree, as well as for the individual as a whole.

+

+Koza's experiments, in both books [3,4], place a maximum depth +limit of 17 (with no restriction on the number of nodes).
+ +

+

+2.4 Fitness

+

+The fitness of each individual in the population is determined +by use of an evaluation function. Based on the results of the +evaluation function, decisions are made with regards to the propagation +and recombination of an individual into the next generation. +There are a number of types of "fitness" that can be +used by a GP, which we note below:

+

+Raw Fitness, fr This measure is some +direct measure, based on the application itself, of progress made +in solving the problem. More often than not, such a measure is +based on some comparison to fitness cases. Much like a training +set used in other applications like a neural net, one applies +each of the fitness cases to the GP-program being evaluated, and +the sum performance of that GP-program on all the cases +is the raw fitness.
+ +For the three of the lil-gp test cases, raw fitness is +measured as follows:
+

+
+ Regression Raw fitness is based on measuring +the GP-generate curve against 20 test points on a test curve. + For each GP, if the generated point is within some , (0.01 by +default) then it counts as a "hit." The raw fitness +is the sum of the distances between the ideal and GP-calculated +values over all the fitness cases.
+ +
+
+ Multiplexer For the "11-multiplexer" +(3 address lines, 8 data lines), each of the 2048 cases (211 +possible values of the 11 variables) is tested. Raw fitness is +the number of cases that the GP gets correct.
+ +
+
+ Artificial Ant A number of "food" pellets +are placed on a map. The GP evolves a control program for the +ant, and simulates the repeated execution of it until all the +food is consumed or the maximum time limit is reached. Raw fitness +is the number of food pellets that the ant hits.
+ +
+
+ Two-boxes Raw fitness is equal to the absolute +difference between the correct answer and the GP-answer, summed +over 10 fitness cases. A hit is defined as a fitness case where +the GP is within 0.01 of the correct answer.
+ +
+
+ Lawnmower Raw fitness is equal to the number +of squares mowed during one execution of the GP-program.
+ +
+

+Standardized Fitness, fs Standardized +fitness simply reverses and/or translates the raw fitness so that +all fitnesses are nonnegative, with 0 being for the best possible +fitness.
+ +

+

+Adjusted Fitness, fa This value is +calculated from the standardized fitness. It is defined as follows +for each individual i

+
+                                           1
+                            f
+

a (i) = + ----------- + 1 + fs(i) + +

+

+ fa varies from 0 to 1, with 1 being best. +It has the advantage of exaggerating small differences as the +fitness of the individuals increases. Thus, as the solution is +nearly complete, better feedback is give to the GP so that the +best solutions can be pursued.
+ +

+

Koza and others also refer to a "normalized fitness." + This is simply adjusted fitness divided by the sum of all adjusted +fitnesses in the population. lil-gp does not use normalized fitness +explicitly, but instead does implicit normalization of adjusted +fitness where necessary (for instance, in fitness-proportionate +selection).
+ +

+

+2.5 Population Initialization

+

+The GP-programs are created from random selections from the function +and terminal set. However, even though the selections are random +there are some parameters which control the initial population. + See page 33 for a listing of lil-gp parameter names

+

+There are three methods available for creating these initial random +structures

+

+Full The full method generates only full trees, that +is, trees which have all terminal nodes in the same level of the +generated program tree. Another way to say this is that the tree +path length from any terminal node to the root of the tree is +the same.
+

+

+Grow The grow method chooses any node (function or terminal) +for the root, then recursively calls itself to generate child +trees for any nodes which need them. It is restricted so that +each tree has a maximum depth (if the tree reaches the maximum +depth, all further nodes are restricted to be terminals, so growth +will cease).
+ +

+

+Half-and-half This method merely chooses the full method +50% of the time and the grow method the other 50%.
+

+

+All of the generation methods can be specified with a "ramp" +of initial depth values instead of a single value. For instance, +if the ramp is 2 - 5, then 25% of the trees will be generated +with depth 2, 25% will be generated with depth 3, and so on. +Note that the grow method (and consequently, the half-and-half +method), when called to generate a tree of depth n, can +produce a tree with actual depth less than n

+

+Half-and-half with a depth ramp is typically the method of choice +for initialization since it produces a wide variety of tree shapes +and sizes

+

+lil-gp checks each individual generated against node and/or depth +limits (if any have been) set before inserting it into the initial +population. It also ensures that no duplicates are present in +the initial population.
+ +

+

+2.6 Selection

+

+A selection method is routines used to select an individual from +a population. Currently, selections are used for two purposes +in lil-gp: selecting the input individuals for a genetic operator +(such as crossover) to work on, and selecting individuals to undergo +subpopulation exchange in multiple- population problems

+

+Three commonly used selection methods are

+

+Fitness-proportionate selection This selects an individual +based on the proportion of that individual's adjusted fitness +in comparison to the total adjusted fitness of the population. +When there are n individuals in the population, an individual +i will be chosen with probability

+

+ f
+

a(i) + pi = ----------------------- Sum(j=1...n)fa (j)
+

+ + +

+This is also known as the "roulette wheel" algorithm +[1]. That is, each individual gets a portion of a roulette wheel +based on the above formula (the entire wheel being equal to 1). + The wheel is then "spun" to determine which individual +is next selected. Individuals with a large portion of the overall +fitness have an increased chance of being selected, but every +individual has some chance.
+ +

+

+(Greedy) Overselection Though fitness-proportionate selection +is considered good for most applications, it is sometimes desirable +to speed up the process. For large populations (in [3] Koza defines +large as over 500), you might use overselection. Overselection +partitions the population into two groups. In Koza's standard +formulation, 80% of the time, individuals are selected from Group +I (based on fitness proportionate selection within the group) +and 20% of the time from Group II. The partition into two groups +can be arbitrary, but Koza has defined this partition based on +fitness. For a population of 1000, the top individuals accounting +for 32% of the total adjusted fitness go into the first group, +the rest into the second. For popu- lations of 2000, the split +occurs at 16% of the adjusted fitness, for populations of 4000, +the split occurs at 8% and so on. The particular percentages +are parameters in lil-gp and can be altered.
+ +

+

+ Overselection results in much higher selection +pressures on the population than fitness proportionate selection. + While such pressure often results in local minima solutions in +GAs, Koza does not report such results in GPs.
+ +

+

+Tournament Selection Tournament selection was originated +in GAs to avoid overselection pres- sure on a population that +could cause premature convergence. In tournament selection n +individuals are chosen in a uniform random manner, then the best +(by fitness) of those n individuals is selected. n +is the tournament size. Koza uses this type of selection, +with a tournament size of 7, for most of the runs given in GP +II [4].

+

+lil-gp provides these and 4 other selection methods. See page +33 for more information on these methods in lil-gp.
+ +

+

+2.7 Operators

+

+A genetic operator is a method for creating the individuals in +each generation, usually by recombining pieces of individuals +in the current generation. Crossover, reproduction, and mutation +are the three operators implemented in lil-gp. For information +on their use in lil-gp, see page 36.
+ +

+

+2.7.1 Crossover

+

+Crossover is the main operator in recombining old solutions into +new and potentially better solutions in both GAs and GPs. In +a GP, crossover occurs on trees. Thus two individuals are selected +(using whatever selection method is in force) for crossover. +Let's call them A and B. If the individuals in the current problem +are composed of multiple trees (see Section 2.8.1), then one tree +is randomly selected from each individual, subject to the restriction +that both trees must share the same function set. A node is randomly +selected on each tree, nA and nB +. Crossover occurs by moving nA and +the subtree which has nA as its root, to tree +B at the position of nB , and at the same time +moving nB and the subtree which has nB +as its root, to A at the position of nA

+

+lil-gp allows mixed selection operations. That is, certain operators +such as crossover can use one selection method, while other operators +use another. This allows for experiments with mixed strategies. +lil-gp also allows a different selection method to be used for +each +

+

+parent in crossover, and the probability that each crossover point +is at an internal node versus an external node can be set by the +user. If the individuals are composed of multiple trees, the probability +that a given tree within an individual is chosen as the crossover +tree can be set as well

+

+It is possible for crossover to create a tree that violates some +of the node and/or depth maximums, if any are set by the user. + In such cases, Koza just reproduces one of the parents into the +new population in place of the too-large offspring. lil-gp supports +this behavior, but can be set to continue picking random crossover +points until two legal offspring are produced.
+ +

+

+2.7.2 Reproduction

+

+The simplest operator, reproduction simply chooses an individual +in the current population and copies it verbatim into the new +population. Apart from the choice of selection method, no options +are available (or needed).
+ +

+

+2.7.3 Mutation

+

+Mutation in GP is typically a point mutation. An individual is +selected, and a mutation point picked. The subtree with the mutation +point as its root is deleted and replaced with a randomly generated +subtree

+

+The mutation options in lil-gp are similar to those of crossover: +method for selecting the individual, probabilities governing the +location of the mutation point, what to do when mutation produces +a tree that violates node and/or depth limits. In addition, the +user can specify the method and depth ramp for creating the new, +random subtree.
+ +

+

+2.8 Automatically Defined Functions (ADFs)

+

+Koza's second book on genetic programming [4] was devoted mainly +to exploring the use of au- tomatically defined functions (ADFs). + This technique places constraints on the tree_usually the nodes +around the root have a constant structure for all individuals, +and this constrant structure has two or more "slots" +where the evolved portions of the individual hang off

+

+The running example in this section will be the "two-boxes" +problem presented in [4]. This problem attempts to evolve a program +to compute l0 w0 h0 - l1 +w1 h1 using the four basic arithmetic +functions and six terminals representing the six variables. Koza's +experiments with this problem use a single three-argument ADF. + All individuals in the LISP representation of this problem fit +the general framework depicted in Figure 2.1.
+ +

+
+                      progn
+
+                     /     \
+
+                  defun     \
+
+                /   |  \     \
+
+            ADF0    |   \     \                     
+
+                    |    \     \
+
+        (ARG0 ARG1 ARG2)  \     \
+
+                          |      \
+
+   - - - - - - - - - - - -|- - - -\- - - - - - - - - - - - - -
+

+                          |         \
+
+               <body of ADF0>     <body of main program>
+
+
+    Figure 2.1: LISP representation of individual in two-boxes
+    problem.  (After figures in GP II.)
+ +
+

+The portion of the individual above the dotted line is just setup +for the evaluation. It serves to define a new three-argument +function ADF0 with the given body, and bind the arguments +of the function to the symbols ARG0, ARG1, and ARG2 +within the function body. It then evaluates the right, "result-producing" +branch of the individual

+

+Each of the two evolved sections of the tree has its own set of +functions and terminals. The left branch (ADF0) has the +four arithmetic functions available, but only its only terminals +are the three arguments ARG0, ARG1, and ARG2. + The right branch, though, has the four arithmetic functions, +the six terminals representing variables, and an additional three-argument +function ADF0 which causes evaluation of the left branch. + Genetic operators, such as crossover, must ensure that new individuals +fit this scheme. In this case, crossover must not occur within +the nodes above the dotted line, and it must ensure that the operation +preserves the separate function sets_ADF0s can only cross over +with other ADF0s and RPBs can only cross over with other RPBs. + Similar retrictions apply for mutation.
+ +

+

+2.8.1 ADFs in lil-gp

+

+Representation of ADFs in lil-gp is different but essentially +equivalent. lil-gp stores only the "guts" of the individual_the +portions below the dotted line. lil-gp defines an "individual" +as being a set of trees rather than a single tree. The number +of trees per individual is fixed (set by the application code), +say at K. Each tree 0...(K - 1) within an individual can have +a different function set . The function set for a particular +tree number k is the same for all individuals

+

+lil-gp replaces the LISP bookkeeping stuff explicitly stored in +the individual (the portions above the dotted line) with C bookkeeping +stuff represented (1) implicitly in the user-defined func- tion +sets, and (2) explicitly in the structure of the user-written +individual evaluation function (app_eval_fitness())

+

+In the two-boxes example, the application code would specify that +individuals have two trees each. Let us suppose tree 0 is the +RPB and tree 1 is ADF0. The corresponding function sets would +look like

+
+    tree 0:     {+, -, *, =, l0, w0, h0, l1, w1, h1, EVAL1}
+    tree 1:     {+, -, *, =, ARG0  , ARG1  , ARG2  }
+

+EVAL1 is a special type of function. When the evaluation +routine hits an EVAL1, it will evaluate tree 1 of the individual +and take that value as the value of EVAL1. ARG0, +ARG1, and ARG2 are special terminals that will take +on the appropriate values (the arguments to the EVAL1 function) +each time an EVAL1 is hit and tree 1 is evaluated. +

+

+EVALn functions may be of any arity, including zero. + The arity of these functions is determined when the function +set is initialized, by counting the number of ARGn +terminals in the target tree

+

+To determine the fitness of the individual in this example, the +application code would just evaluate tree 0

+
+      value = evaluate_tree ( ind->tr[0].data, 0 );
+

+Any evaluation of tree 1 of the individual will be done via the +EVAL1 functions in tree 0.
+ +

+ + \ No newline at end of file diff --git a/lib/lilgp/htmlMan/lil-gp.ch3.htm b/lib/lilgp/htmlMan/lil-gp.ch3.htm new file mode 100644 index 0000000..8ac128b --- /dev/null +++ b/lib/lilgp/htmlMan/lil-gp.ch3.htm @@ -0,0 +1,337 @@ + + + + + lil-gp 1 + + + +

+Chapter 3

+
+     3.1    Preparing the kernel
+
     3.2    Building the Sample Problems
+
+     3.3    Running the Sample Problems
+          3.3.1     Symbolic Regression
          3.3.2     Artificial Ant
+          3.3.3     Boolean 11-Multiplexer
+          3.3.4     Two-boxes
          3.3.5     Lawnmower

+     3.4    Compiling Without the Makefile
+
+
+

+Compiling lil-gp
+
+

+

+When you unpack the distribution, you should get this directory +tree:
+ +

+

+ lilgp/ +

+
app + + + + + + + + + + + + + + + + + + + + + + + + + +
ant/ (artificial ant problem)
lawnmower/ (lawnmower problem)
multiplexer/ (Boolean 11-multiplexer problem)
regression/ (symbolic regression problem)
skeleton/ (skeleton code for new problems)
twobox/ (two-boxes problem)
+
+docs/ (documentation) +
+
+ kernel/ (kernel source) +
+
+ params/ (sample parameter files) +
+
+ aux/ (miscellany)
+ +
+

+This chapter describes how to prepare the kernel, and how to build +and run the five sample problems included in the distribution. + It assumes your system is running on some flavor of Unix, and +has the GNU make utility available. If you don't have +GNU make, read section 3.4 for tips on writing your own makefile +or compiling manually.
+ +

+

+3.1 Preparing the kernel

+

+First you should examine the file GNUmakefile.kernel in +the kernel directory. At the top will be things (such +as compiler flags) that need to be set for various systems. Look +to see if you need to make any changes there.

+

+Secondly, you need to customize the timing code, since timing +relies on system calls which vary from system to system. You +need to create a pair of files, event.c and event.h. + There are three pairs of files +provided:

+

 

+

+ ev_times Use this if your system has the times() system +call. It will provide wall clock time, in addition to processor +time spent in user and system spaces, to (on most systems) .01 +second resolution.
+ +

+

+ ev_time Use this if your system only has the time() +system call. It will provide wall clock time only, to the nearest +second.
+ +

+

+ ev_none Use this if nothing else works. It provides +no timing information at all, but will work on anything.
+ +

+

+Copy the appropriate pair to event.c and event.h. + Under Unix, that +would be something like:
+ +

+
+     % cp ev_times.c event.c
+     % cp ev_times.h event.h
+
+

+If you do not know which to use, try them in the order listed. + If compilation fails with a message like "Undefined symbol," +then try the next one. If all else fails, ev_none will +always work since it is not system-dependent.
+ +

+

+3.2 Building the Sample Problems

+

+Go into the directory for the problem you want to build. Type +make. If all goes well, you will be left with an executable +named gp in the directory. You can type make clean +to remove all the object files in that directory, leaving only +the executable.

+

+There is a makefile in the directory of each sample problem. +Each of these "include"s another file, Makefile.kernel, +located in the kernel directory, which compiles the kernel code. + Application- specific makefile changes should be made in the +problem's directory, while modifications to the kernel should +be reflected in the kernel makefile, so that they will be visible +for all applications

+

+The application makefiles included assume use of the gcc +compiler. If you do not have that, you can change the makefile +to use something else. Look for the line CC = gcc and +change gcc to cc, or whatever the name of your C +compiler is. You may also need to change some of the compiler +flags found just beneath that.
+ +

+

+3.3 Running the Sample Problems

+

+This section describes specific features and parameters for each +sample problem.
+ +

+

+3.3.1 Symbolic Regression

+

+This uses GP to "discover" the function x4 ++ x3+ x2 + x, given some randomly chosen +sample points in the interval [-1, 1). In addition to the normal +output files, it creates another (with the extension ".fn"), +that has the best-of-run function evaluated at 201 points over +the interval of interest. You can use this file directly in a +plotting utility such as gnuplot to compare the evolved function +with the objective function

+

+There are three application-specific parameters.
+

+
+ + + + + + + + + + + + +
app.use_ercstype: binary If yes, an ephemeral random constant terminal (with the range +[-1; 1)) is added to the function set.default: yes
app.fitness_casestype: integer The number of fitness cases generated (sample points in the +interval).default: 20
+

 

+

+When this problem computes the difference between the ideal value +of the function and the value returned by the individual, large +values are capped so as not to produce infinite results. A parameter +controls the value of this cap:
+

+
+ + + + + + +
app.value_cutofftype: double Maximum allowed value for the difference between objective function +and evolved individual for any one fitness case. Larger values +are replaced by this number.default: 1e15
+

+You can change the objective function by editing app.c, +in the function app_initialize().
+
+

+

+3.3.2 Artificial Ant
+
+

+

+This problem has three parameters:

+
+ + + + + + + + + + + + + + + + + + +
app.maxtimetype: int Maximum number of time steps before the ant "times out." default: 400
app.trail type: filename The name of a file depicting the "trail" of food for +this run. The first line of the file should have the x and y +dimensions. Remaining lines should have a "#" +to indicate a square with food, any other character to indicate +a blank square.default: none
app.use_progn4type: binary Whether or not the PROGN4 fucntion should be included +in the function set.default: no
+ + +

+ +
+ +

+

+Two trail files are provided in the ant/ directory: santafe.trl +and losaltos.trl, both taken from Koza's first book

+

+In addition to the normal information, the .bst file contains +the number of time steps used by the ant, the food collected, +and a picture of the trail. Blank squares are shown by a ".", +uneaten food is a "#", squares the ant passed +through have an "x", and the final location and +facing direction of the ant are indicated by a "N", +"S", "E", or "W" +in the appropriate square.
+ +

+

+3.3.3 Boolean 11-Multiplexer

+

+This problem has no parameters specific to it. The .bst +file contains the usual information plus a Koza-esque "scoreboard," +with hits indicated by "*" and misses by ".". +
+ +

+

+3.3.4 Two-boxes
+
+There are no application-specific parameters, and no problem-specific +output is generated.
+ +

+

+3.3.5 Lawnmower

+

+This problem has three parameters:
+

+ +
+
+

 

+ + +
+ + + + + + + + + + + + + + + + + + +
app.use_adfstype: binary Controls whether the ADFs are used.default: yes
app.lawn_widthtype: int The width of the lawn.default: 8
app.lawn_heighttype: int +The height of the lawn.default: 8
+
+ + +

 

+

+3.4 Compiling Without the Makefile
+
+

+

+You will first need to set up the event.c and event.h +files just as if you were using a makefile. Look in the file +GNUmakefile.kernel in the kernel directory. The +first three lines (beginning kobjects = main.o +

+

+gp.o eval.o ...) list all the kernel object files that +need to be built, along with the application objects function.o +and app.o. Building all those together should produce the +executable. +

+ + \ No newline at end of file diff --git a/lib/lilgp/htmlMan/lil-gp.ch4.htm b/lib/lilgp/htmlMan/lil-gp.ch4.htm new file mode 100644 index 0000000..f65cd33 --- /dev/null +++ b/lib/lilgp/htmlMan/lil-gp.ch4.htm @@ -0,0 +1,468 @@ + + + + + lil-gp 1 + + + +

+Chapter 4
+
+

+
     4.1    Invoking lil-gp
+          4.1.1     Parameter Files
+
+     4.2    Output Files
+
+
+

+Running lil-gp

+

+This chapter describes how to use lil-gp once you have built the +executable program, including the various command-line options +available.

+

+4.1 Invoking lil-gp

+

+The default executable name produced by the makefile is "gp". + Once you have built this, you can run it from the command line. + There are six command-line arguments you can use:
+ +

+

+ -f <parameter_filename> +

+

+This loads a parameter file into lil-gp's parameter database. + The format of this file is explained in section 4.1.1. You can +have multiple -f options.
+ +

+

+ -p <parametername=value> +

+

+ This sets the value of an individual parameter. You +can have multiple -p options.
+ +

+

+ -c <checkpoint_filename> +

+

+This restarts lil-gp from the specified checkpoint file. You may +only have one -c option.
+ +

+

+ -d <defined_symbol> +

+

+ This defines the given parameter file symbol. The space between +the "d" and the symbol is optional.
+ +

+

+ -u <parameter_file_directive> +

+

+This undefines the given parameter file symbol. The space between +the "u" and the symbol is optional.
+ +

+

+ -q +

+

+Causes lil-gp to run in quiet mode, producing nothing on standard +output. Without this option, everything written to the .SYS +output file is also printed to the terminal.
+ +

+

+These options can be specified in any order, but the order is +significant. Options that modify the parameter database (all +except -q) are processed in the order they appear on the +command line. If a parameter is multiply defined, it is the last +occurrence of it that takes effect. A listing and explanation +of all parameters available is given in chapter 5. Order of directives +is important too, so for +instance

+
+% gp -dBLAH -f file1 -uBLAH -f file2
+

+will cause the symbol "BLAH" to be defined during the +processing of file1 but not file2.
+ +

+

+Note that all parameter settings are saved in the checkpoint files, +so if you are just restarting an interrupted run you need only +the -c option. You can, however, use -f and -p +to modify parameter +settings--they should, of course, come after the -c option +or they will have no effect.
+ +

+

+4.1.1 Parameter Files

+

+Parameter files have a simple syntax. Comments can begin with +a '#' or a ';' and continue to the end of a line. +
+ +

+

+The file is a series of "name=value" pairs. If the +last nonwhitespace, noncomment character on a line is a backslash +then the next nonblank line is considered a continuation of the +line. Blank lines and lines that contain only comments are completely +ignored, even in the middle of a continuation. For instance: +
+ +

+
+sample = here is \
+
     a single parameter that is continued \
+
+# this comment is followed by a blank line
+
# this comment is preceded by a blank line + + right through a comment onto this line.
+

+Whitespace (spaces and tabs) are ignored before the name, on either +side of the equals sign, and after the value. The following are +all equivalent:

+
+max_generations  =  100
+
+      max_generations=   100            ;  here  is  a  comment
+
+max_generations=100                     #  this  is  a  comment too.
+
+

+Both the name and the value of a parameter are just strings. +In many cases, the names have been chosen to convey the impression +of a hierarchical structure, but as far as lil-gp is concerned, +all parameter names are plain strings and no interpretation is +applied. So, for example, the parameter names breed[1].rate, +breed[01].rate, and breed[1.0].rate are all different. +
+ +

+

+"Preprocessor" Directives

+

+Parameter files also support a simple set of C-preprocessor-like +directives to allow parts of the file to be processed optionally. +They all begin with a "%" character, which must occur +on the first column of the line. They are:
+ +

+

+ %define symbol +

+

+ Defines the given symbol. Equivalent to the -d +command line option.
+ +

+

+ %undefine symbol +

+

+ Undefines the given symbol. Equivalent to the -u +command line option.
+ +

+

+ %ifdef symbol +

+

+ If the given symbol is defined, has no effect. Otherwise skips +all lines up until the next %ifdef, %ifndef, %endif, +or end-of-file.
+ +

+

+ %ifndef symbol +

+

+ Same as %ifdef, but reverses the sense of the +test.
+ +

+

+ %endif +

+

+ Cancels a previous %ifdef or %ifndef. +
+ +

+

+Symbols are case-sensitive. Leading and trailing whitespace are +ignored, but internal whitespace is allowed.1 It is +important to remember that these may look like C preprocessor +directives, but they don't work the same. In particular, you +can't nest ifs and there are no Boolean operations (i.e. %ifdef +FIRST && SECOND is legal, but it tests a single symbol +named "FIRST && SECOND"). Also, %define +does not assign a value to the symbol, and no text substitution +occurs. This is merely meant as a simple mechanism for optionally +setting groups of parameters, without having to fiddle with lots +of different parameter files.

+

+The idea is that you can keep multiple sets of parameters in one +parameter file, and switch among them using directives on the +command line. You can have a parameter file that looks like:

+
<some common parameters>
+
+%ifdef FIRST
+
+<one set of parameters>
+
+%endif
+
+%ifdef SECOND
+
+<another set of parameters>
+
+%endif
+

+You can then use one set or the other with a command line like: +

+
+gp -d FIRST -f parameter.file
+

+to select the first set.
+
+ +

+

+4.2 Output Files

+

+lil-gp produces a number of output files, with statistics on tree +size and fitness for each generation. The filenames are produced +by appending a three-character extension to the value of the output.basename +parameter. They are:

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
.sysgeneral information about the run
.genstatistics on tree size and depth
.prgstatistics on fitness and hits
.bstinformation about the current best-of-run individual(s)
.hishistory of the .bst file
.sttcondensed version of all statistics
+

  +

+

the .bst is rewritten every generation, and all the other +files are flushed to disk at the completion of every generation. + This lets you see current information on backgrounded runs.

+

+Each message printed to an output file has an integer priority +associated with it, ranging from 0 to 100. A given message is +produced only if its priority is less than or equal to the setting +of the output.detail parameter. You can experiment to +find a level of output detail that you like.

+

+The .gen and .prg files can grow very large, and +are basically just a human-readable form of the information in +the .stt file. This information is not written to them +unless you really ask for it (by setting the output.detail +parameter to at least 90)

+

+The .stt file has one line per subpopulation per generation, +each line consisting of 20 space- separated numbers. The parameter +output.stt_interval can be set to modify how often the +.stt file is written to. The default is 1, meaning every +generation. For multiple-population problems, a line is written +for each subpopulation, plus one more line for the population +as a whole. For single-population problems, only one line (the +overall population line) is written, since the overall population +is just the single subpop. The meanings of each column are listed +in Table 4.

+

+The aux directory in the distribution contains a short +Perl script called splitstt. This will split an .stt +file into separate files for each subpopulation. When invoked +as +

+
+% splitstt myfile.stt
+
+

+it will produce files named myfile.stt.pop0, myfile.stt.pop1, +etc.
+ +

+ + + + + + + + + + + + + + + + + + + + + + +
+

 

+

column

+
+

 

+contents
+

1

+

+2 +

+
generation number +

+subpopulation number (0 indicates the overall population) +

+
+

3

+

+4 +

+

+5 +

+

+6 +

+

+7 +

+

+8 +

+

+9 +

+

+10 +

+

+11 +

+
mean standardized fitness of generation +

+standardized fitness of best-of-generation individual +

+

+standardized fitness of worst-of-generation individual +

+

+mean tree size of generation +

+

+mean tree depth of generation +

+

+tree size of best-of-generation individual +

+

+tree depth of best-of-generation individual +

+

+tree size of worst-of-generation individual +

+

+tree depth of worst-of-generation individual +

+
+

12

+

+13 +

+

+14 +

+

+15 +

+

+16 +

+

+17 +

+

+18 +

+

+19 +

+

+20 +

+
mean standardized fitness of run +

+standardized fitness of best-of-run individual +

+

+standardized fitness of worst-of-run individual +

+

+mean tree size of run +

+

+mean tree depth of run +

+

+tree size of best-of-run individual +

+

+tree depth of best-of-run individual +

+

+tree size of worst-of-run individual +

+

+tree depth of worst-of-run individual +

+
+ +

  + +

+ +

+ Table 4.1: Columns of the .stt output file.
+
+ +

+ + \ No newline at end of file diff --git a/lib/lilgp/htmlMan/lil-gp.ch5.htm b/lib/lilgp/htmlMan/lil-gp.ch5.htm new file mode 100644 index 0000000..16d89b2 --- /dev/null +++ b/lib/lilgp/htmlMan/lil-gp.ch5.htm @@ -0,0 +1,871 @@ + + + + + lil-gp 1 + + + +

+Chapter 5

+
     5.1    General
+
+     5.2    Output
+
+     5.3    Size Limits
+
+     5.4    Initialization
+
+     5.5    Selection Methods
+
+     5.6    Breeding
+
+     5.7    Operators
+
+     5.8    Multiple Populations
+
+

+Parameters

+

+A large number of parameters control lil-gp. These parameters +are input via parameter files and command line arguments. This +chapter lists and describes all the available parameters. In +addition, user code may define application-specific parameters +(as in the sample artificial ant problem, for instance.

+

+All parameter settings are saved in the checkpoint files, so if +you are restarting an aborted run from a checkpoint you do not +need to explicitly load all the original parameter files on the +command line

+

+Default values for parameters, where appropriate, have been chosen +to correspond with those given in Chapter 7 ("Detailed Description +of Genetic Programming") of Koza's (first) book [3]

+

+The following conventions apply:

+
    +
  1. All tree depths are measured so that a 1-node tree has depth 0. + +
  2. +
  3. For binary parameters, all of the following strings (insensitive +to case) mean "on": true, t, on, yes, +y, and 1. The corresponding "off" strings +are: false, f, off, no, n, +and 0. + +
  4. +
  5. A "depth ramp" is used to specify the depths of a group of randomly +generated trees. It is a single integer or +two integers separated by a hyphen (ascending order, no internal +whitespace). If a single integer, then all trees will be generated +with that depth. If a range, then each tree will have a depth +selected randomly from that range. +
  6. +
+ + +

+5.1 General

+

+These parameters govern the overall operation of the run.
+ +

+
+ + + + + + + + + + + + + + + + + + +
+max_generationstype: integer The maximum number of generations for the run.default: none
pop_sizetype: integer The population size. For multipop runs, the subpopulation size. default: none
random_seedtype: integer The seed for the random number generator.default: 1
+ +

  + +

+

 

+

5.2 Output
+
+

+

+These parameters control the writing of output and checkpoint +files.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
output.basenametype: stringThe base name for the output files. Various three-character extensions +are added to create the actual filenames.
+
default: lilgp
output.detailtype: integer, 0-100The level of detail in output files. 100 is everything, 0 is +practically nothing. default: 50
output.stt_intervaltype: positive integerHow often, in generations, to write information to the STT +file.default: 1
output.bestntype: positive integerHow many individuals are printed to the BST file (i.e., +if set to 5 then the top 5 individuals are written to the file). default: 1
output.digitstype: integer +The number of decimal places with which fitness values are printed +in output files.default: 4
checkpoint.intervaltype: integer Specifies how often (in generations) to write a checkpoint file. + If not set or negative, no checkpoint files are written. If +set to a positive number, checkpoint files are written every (that +number) generations and after the last generation. If set to +zero, then only one checkpoint file is written, after the last +generation.default: none +
checkpoint.filenametype: string A printf() format string with exactly one %d specifier, +which is replaced with a generation number. The resulting string +will be used as the filename for the checkpoint file for that +generation.default: gp%06d.ckp
checkpoint.compresstype: string A printf() format string used to generate a command to +run on each checkpoint file after it is written. The string should +have one %s specifier, which will be replaced with the +name of the checkpoint file. The usual printf() conventions +for percent signs apply. Typically this command is used to compress +the checkpoint file. If this parameter is not defined, then no +command is executed.default: none
+


+ +

+

  +

+

+5.3 Size Limits

+

+These parameters set limits on the number of nodes and/or the +depth of individuals in the population, both at initialization +and during evolution. In problems where individuals are composed +of multiple trees, # refers to the tree number.
+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + +
max_nodestype: integer Maximum total number of nodes per individual. If not set, no +limit is enforced.default: none
tree[#].max_nodestype: integer The maximum number of nodes in tree #. If not set, no limit is +enforced.default: none
max_depthtype: integer Maximum depth of individual. If not set, no limit is enforced. default: none
tree[#].max_depthtype: integer +The maximum depth of tree #. If not set, no limit is enforced. +default: none
+

+ +
+ +

+

+5.4 Initialization

+

+These parameters control generation of the initial random population.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
init.tree[#].methodtype: half_and_half, grow, or full + Method for generating tree # of each individual in the initial +population. If not set, then the value of init.method +is used.default: none
init.methodtype: half_and_half, grow, or fullDefault method for generation of initial random population.default: half_and_half
init.tree[#].depthtype: depth ramp A depth ramp for choosing the size of tree # during the generation +of the initial population. If not set, then the value of init.depth +is used.default: none
init.depthtype: string +Default depth ramp for generation of initial random population.default: 2-6
init.random_attemptstype: positive integer During initial generation, trees that violate size limits or are +duplicates are rejected. This parameter is the maximum number +of consecutive rejected trees the program will tolerate before +generating an error and giving up.default: 100
+

+
+ +

+

+5.5 Selection Methods

+

+A selection method is an algorithm for picking an individual from +a population. Selection methods are used in various places throughout +the program. This section does not list parameters per se, +but rather describes valid values for parameters needing selection +methods

+

+lil-gp currently has seven selection methods available. Some +selection methods have options, which are set by following the +method name with a comma-separated list of "option=value" +pairs, as in:
+

+
+blahblah.select  =  tournament,size=7
+

+Whitespace in the string is completely ignored. The previous +example +is equivalent to all of the following:
+ +

+
+blahblah.select = tournament,     size  =   7
+blahblah.select = tournament,     size = 7
+blahblah.select = tournament,     size = 7
+

+The selection methods available are:
+

+

+fitness Fitness-proportionate selection. Individuals +are chosen at random, with the probability for an individual proportional to its adjusted fitness. + No options are available.
+ +

+

+fitness_overselect Greedy overselection. In a population, +the top individuals accounting for cutoff +of the total adjusted fitness are placed in Group I, the rest +of the population going into Group II. Individuals are randomly +selected from Group I (proportional to adjusted fitness) proportion +of the time, and from Group II (proportional to adjusted fitness) +the rest of the time. cutoff and proportion are +set with options:
+ +

+
+ cutoff For populations less than 1000, defaults +to 0.32. For larger populations, +defaults to 320/popsize (i.e., 32% for popsize of 1000, 16% for +popsize of 2000, etc.).
+ +
+
+ proportion Defaults to 0.80.
+ +
+

+tournament A number of individuals are chosen at random +with uniform probability with reselection +allowed. The best of the chosen individuals is selected. Has +one option: +

+
+ size The size of the tournament (how many individuals +are randomly chosen to compete). Defaults to 2.
+ +
+

+inverse_fitness Individuals are randomly chosen with +probability proportional to 1 divided by the +adjusted fitness.
+ +

+

+random Individuals are selected at random with uniform +probability.
+ +

+

+best The first time the selection is done, the best +member of the population (as determined by adjusted +fitness) is returned. Subsequent selections return the 2nd, 3rd, +4th, etc. best individuals. Should not be used in a context +which will need to select more individuals than are in the population. +
+ +

+

+worst Same as best, but returns individuals in +order of increasing adjusted fitness (i.e., worst first).
+ +

+

+5.6 Breeding

+

+Breeding is the term used in lil-gp for creation of the new population +each generation. It is controlled through a number of "phases." +Each phase has an operator (such as crossover) and a rate specifying +how +often that operator occurs

+

+The breeding parameters described at the end of Chapter 7 in Koza's +first book [3] (for populations less than 1000) can be emulated +with the following breeding settings

+
+breed_phases = 2
+breed[1].operator = crossover, select=fitness
+breed[1].rate = 0.9
+breed[2].operator = reproduction, select=fitness
+breed[2].rate = 0.1
+

+The "Simple LISP Code" presented in the back of that +book can be emulated with the following parameters (for populations +of 1000 or larger, replace all occurrences of fitness with +fitness_overselect):

+
+probabilistic_operators = off
+breed_phases = 4
+  ; functionpoint crossover 70% of the time
+breed[1].operator = crossover, select=fitness, internal=1.0
+breed[1].rate = 0.7
+  ; anypoint crossover 20% of the time
+breed[2].operator = crossover, select=fitness, internal=0.0,
+external=0.0
+breed[2].rate = 0.2
+breed[3].operator = reproduction, select=fitness
+breed[3].rate = 0.1
+breed[4].operator = mutation, select=fitness, method=grow,depth=4
+breed[4].rate = 0.0
+

+In the second book [4], Koza uses defaults equivalent to

+
+breed_phases = 2
+breed[1].operator = crossover, select=(tournament, size=7)
+breed[1].rate = 0.9
+breed[2].operator = reproduction, select=(tournament, size=7)
+breed[2].rate = 0.1
+

+The specific parameters are:
+

+
+ + + + + + + + + + + + +
breed_phasestype: integer Specifies the number of phases.default: none
probabilistic_operatorstype: binary When on, phases are selected by chance, with frequency proportional +to that phase's "rate" parameter. When off, the number +of individuals produced by a given phase is exactly (well, approximately) +proportional to that phase's rate.default: on
+

  +

+

+The following parameter names should all substitute a number in +the +range [1,breed_phases] for "#".
+

+ + + + + + + + + + + + + +
breed[#].ratetype: float The rate for this phase. With probabilistic_operators +on, specifies the probability with which this phase is (randomly) +chosen. Otherwise, specifies the proportion of individuals in +new population to be created with this phase. Note that if the +rates for all phases sum to something other than 1, each is divided +by the total to normalize them.default: none
breed[#].operatortype: operator string Specifies the operator for this phase, and any arguments it has. default: none
+

  + +

+

+The available operators are listed in the next section.
+ +

+

+5.7 Operators

+

+Operators are picked in a manner identical to that for selection +methods: the string consists of the operator name, a comma, then +any arguments to that operator as a comma-separated list of "option=value" +pairs

+

+Note that the argument list for an operator may include one or +more selection methods. If the selection method itself has arguments, +then the entire selection string should be enclosed in parentheses:

+
+blahblah.operator = crossover, select=(tournament, size=7),
+internal=0.3
+

+This forces the "size" argument to be parsed as an option +to the tournament selection method, not to the crossover operator.

+

+Three operators are currently available:
+ +

+

+crossover Chooses two parent individuals. Picks a tree +on each one, subject to the restriction that the trees be over +the same function set. Chooses a crossover point on each tree. +Switches the subtrees rooted at those points, placing newly created +individuals in new population. This operator has the following +arguments:
+ +

+
+ select Specifies the selection method (and arguments) +used to pick the first parent. This option is required.
+ +
+
+ select2 Specifies the selection method (and arguments) +used to pick the second parent. If not specified, then defaults +to be the same method as is used to pick the first parent.
+ +
+
+ keep_trying This is a binary argument. It specifies +what to do when the crossover operation produces a tree that violates +the node and/or depth limits. If on, then it keeps picking new +crossover points on the same two parents until it produces legal +child trees. If off, then upon failure it just reproduces one +of the parents into the new generation in lieu of the child individual. + The default is off.
+ +
+
+ internal Specifies the frequency with which internal +points are selected as the crossover point.
+ +
+
+ external Specifies the frequency with which external +points are selected as the crossover point. The defaults for +these two options are coupled. If neither is set, then internal +is 0.9 and external is 0.1. If one is set but not the other, +the unset one is taken as zero. If both are set to zero, then +the crossover point is selected uniformly over all points, without +regard to their location.
+ +
+
+ tree Sets the frequency with which a particular +tree is selected as the crossover tree. Should be a comma separated +list of reals enclosed in parentheses, with a length equal to +the number of trees per individual. For instance, if individuals +consist of three trees, this argument could be tree=(0.1,0.2,0.7). +
+
+
+
+ treen Sets the frequency with which tree +n is selected as the crossover tree. Multiple "tree" +and "treen" arguments are allowed and are applied +in the order that they appear. If no tree arguments are used, +then each tree has the same probability of being selected. If +some tree arguments are used, any unspecified trees are given +a zero probability of being chosen.
+ +
+

+reproduction Chooses an individual and copies it into +the new population. It has only one argument, which is required: +
+ +

+
+ select The selection method (and arguments) used +to pick the individual to be reproduced.
+ +
+

+mutation Chooses an individual, then chooses a tree within +that individual and a mutation point on that tree. Replaces the +subtree at that point with a randomly generated subtree. Places +new individual in new population. It has several arguments:
+ +

+
+ select The selection method (and arguments) used +to pick the individual to be mutated. This argument is required. +
+ +
+
+ keep_trying This is a binary argument. It specifies +what to do when the mutation operation produces a tree that violates +the node and/or depth limits. If on, then it keeps picking new +mutation points and generating replacement subtrees until it produces +a legal child tree. If off, then upon failure it just reproduces +the original tree into the new generation in lieu of the mutated +individual. The default is off.
+ +
+
+ internal Specifies the frequency with which internal +points are selected as the mutation point.
+ +
+
+ external Specifies the frequency with which external +points are selected as the mutation point. The defaults for these +two options are coupled. If neither is set, then internal is +0.9 and external is 0.1. If one is set but not the other, the +unset one is taken as zero. If both are set to zero, then the +mutation point is selected uniformly over all points, without +regard to internal or external.
+ +
+
+ tree Sets the frequency with which a particular +tree is selected as the mutated tree. Should be a comma separated +list of reals enclosed in parentheses, with a length equal to +the number of trees per individual. For instance, if individuals +consist of three trees, this argument could be tree=(0.1,0.2,0.7). +
+
+
+
+ treen Sets the frequency with which tree +n is selected as the mutated tree. Multiple "tree" +and "treen" arguments are allowed and are applied +in the order that they appear. If no tree arguments are used, +then each tree has the same probability of being selected. If +some tree arguments are used, any unspecified trees are given +a zero probability of being chosen.
+ +
+

+ method Selects the method used to generate the +replacement subtree. The allowed values are the same as those +for the init.method parameter. The default is half_and_half. +
+
+

+

+ depth The depth ramp used to generate the replacement +subtree The default is "0-4".
+ +

+

+5.8 Multiple Populations

+

+lil-gp supports multiple population runs, in which subpopulations +evolve separately, exchanging individuals (or parts of individuals) +periodically. Breeding parameters can be set individually for +each subpop. The frequency of exchange and the exchange topology +are set via parameters

+

+All three of these populations must be set to use multiple populations: +
+ +

+
+ + + + + + + + + + + + + + + + + + +
multiple.subpopstype: integer The number of subpopulations (each of pop_size individuals) for +multipop runs. The default of 1 specifies an ordinary, singlepop +run.default: 1 +
multiple.exch_gentype: integer +How often (in generations) the subpop exchange takes place. default: none
multiple.exchangestype: integer The number of sets of exchanges done.default: none +
+

  + +

+

+Any breeding parameter can be set for a specific subpop by prefixing +the parameter name with "subpop[#].". (Occurrences +of "#" in this parameter names of section should be +replaced with a subpopulation number, in the range [1; multiple.subpops +].) The unprefixed form of the parameter name acts a default. + For instance, when looking for the operator for the first phase +for breeding subpop 3, lil-gp will first look for a parameter +named subpop[3].breed[1].operator. If that is not found, +it will look for a parameter named just breed[1].operator. +If that is not found, lil-gp will stop with an error message.

+

+Exchange of information between subpopulations can take one of +two forms. In the first, whole individuals are copied from one +subpop to another, replacing some of the individuals in the destination +subpop. The other applies only to individuals composed of multiple +trees. The exchange process can create a new individual by taking +different trees from (possibly) individuals in (possibly) different +subpops, and using the resulting composite individual to replace +an existing individual

+

+You specify a set of exchanges by first giving the following three +parameters: ("#" in all these should be replaced with +a number from 1; : : :; multiple.exchanges .)
+ +

+
+ + + + + + + + + + + + + + + + + + +
exch[#].totype: integer The number of the subpop to receive the individuals.default: none
exch[#].toselecttype: selection method +The method used to select the individuals to be replaced in the +destination subpopulation.default: none
exch[#].counttype: integer How many individuals to replace with this exchange.default: none
+ +

+For the simple transfer of a whole individual, you specify two +more parameters:
+ +

+
+ + + + + + + + + + + + +
exch[#].fromtype: integer The subpop to take the individuals out of. Individuals are always +copied ; the donor subpop is left unchanged.default: none
exch[#].fromselecttype: selection methodThe method used to select the individuals to be copied out.default: none
+

 

+

+For example, consider a ring of three subpopulations. Each subpopulation +chooses its five best members and sends them to the next subpop +in the ring. Each takes the individuals sent to it and uses them +to replace its five worst members. The topology parameters for +this would look like

+
+multiple.subpops = 3
+multiple.exch_gen = 10    # exchange every 10 generations
+multiple.exchanges = 3
+
+exch[1].from = 1 +exch[1].fromselect = best +exch[1].to = 2 +exch[1].toselect = worst +exch[1].count = 5
+
+exch[2].from = 2 +exch[2].fromselect = best +exch[2].to = 3 +exch[2].toselect = worst +exch[2].count = 5
+
+exch[3].from = 3 +exch[3].fromselect = best +exch[3].to = 1 +exch[3].toselect = worst +exch[3].count = 5
+

+To build a new individual from pieces of current ones, you need +to +specify a from and/or fromselect for each tree instead: +
+ +

+
+ + + + + + + + + + +
exch[#].from.tree[#]type: integer default: none
exch[#].fromselect.tree[#]type: string default: none
+

  + +

+

+There are four possibilities, for each tree:
+ +

+

+from and fromselect are both set. +

+

+In this case, the selection method fromselect is used to +select an individual from the subpop from, and the tree +is taken from that individual.
+ +

+

+only from is set. +

+

+The parameter exch[#].fromselect (with no tree number) +is examined for a default. If it is found, then it is used as +the selection method as in the first case. If it is not found, +an error message results.
+ +

+

+only fromselect is set. +

+

+fromselect should be set to the string "asn", +where n is a tree number. This means "take this tree +from the same individual you took tree n from." If +it is set to anything else an error message results.
+ +

+

+neither is set. +

+

+ The tree is taken from the individual selected to be replaced +(i.e., that tree is just left alone).
+ +

+

+Consider this exotic (and probably not terribly useful) example. + We have three subpops and individuals composed of four trees. + We want to take the worst individuals in subpop 1, replace their +tree 0 with that from an individual in subpop 2 (using the fitness +selection method), and replace both trees 1 and 2 with those from +a single individual in subpop 3 (using tournament selection with +a tournament size of 7). We want to leave tree 3 alone. We want +to replace 10 individuals in this manner. The following parameters +will set this up

+
+exch[1].to = 1
+exch[1].toselect = worst
+exch[1].count = 10
+; replace tree 0 with one from an individual in subpop 2, fitness
+selection
+exch[1].from.tree[0] = 2
+exch[1].fromselect.tree[0] = fitness
+; replace tree 1 with one from an indiviudal in subpop 3, tournament
+selection
+exch[1].from.tree[1] = 3
+exch[1].fromselect.tree[1] = tournament, size=7
+; replace tree 2 with the one from the individual that you
+got tree 1 from
+exch[1].fromselect.tree[2] = as1
+; no parameters for tree 3 means leave it unchanged
+

+Exchanges are done in the order that they are specified in the +parameter file. Individuals that are placed into a subpopulation +(either copied whole or created from different trees) are marked +as ineligible to be written over by another exchange during that +generation. They can, however, contribute part or all of themselves +to other exchanges.
+
+ +

+ + \ No newline at end of file diff --git a/lib/lilgp/htmlMan/lil-gp.ch6.htm b/lib/lilgp/htmlMan/lil-gp.ch6.htm new file mode 100644 index 0000000..26fafc6 --- /dev/null +++ b/lib/lilgp/htmlMan/lil-gp.ch6.htm @@ -0,0 +1,1104 @@ + + + + + +

  +

+

+Chapter 6

+
     6.1    Basic Definitions
+
+     6.2    Functions and Terminals
          6.2.1     Ephemeral Random Constants
+          6.2.2     Evaluation and Argument Functions

+     6.3    User Callbacks
          6.3.1     Defining the Function Set(s)
          6.3.2     Fitness Evaluation Function
+          6.3.3     Custom Output
          6.3.4     Application Initialization
          6.3.5     Output Streams
          6.3.6     Checkpoint Files
+
+     6.4    Order of Processing
+
+     6.5    Kernel Considerations
          6.5.1     Memory Allocation
+          6.5.2     Using Parameters
+
+
+

+Implementing Problems

+

+This chapter documents how to implement a new problem in lil-gp. +There are five files that the user must write. A set of skeleton +user files is provided in the distribution, it is suggested that +you copy these files and modify them to create a new problem.

+

+Throughout this chapter, the term "function" refers +to functions in the GP sense. "C function" refers to +a function in the C language

+

+User-written code can be divided into two categories: C functions +implementing functions and terminals, and user callbacks. The +user callbacks, usually placed in the app.c file, do application- +specific tasks like function set initialization, calculation of +fitness, etc. The other group of C functions, usually placed in +function.c, are the code that is called by the kernel during +tree evaluation.
+ +

+

+6.1 Basic Definitions

+

+There are two defined constants that the kernel of lil-gp needs +in appdef.h. They are:
+
+

+ + + + + + + + + + + + + +
constantvalue
MAXARGS the maximum number of arguments (children) +for any function
DATATYPEthe C data type returned by all functions +and terminals
+

 

+

+This is also a good place to put any application-specific #defines +that you may need. It is suggested that all application defines +be prefixed with APP_ so as not to conflict with any current +or future kernel defines.

+

+If your problem requires a more complex data type than the ones +available in C, you can use typedef to create a new type. +For instance, the lawnmower problem uses an ordered pair of integers +as its datatype. Its appdef.h file contains:

+
+typedef struct
+{
+     short x;
+     short y;
+} vector;
+#define DATATYPE vector
+
+
+

+6.2 Functions and Terminals

+

+For every ordinary function and terminal in your problem, you +write a C function to implement the action of that node. These +C functions are placed in the file function.c, and prototypes +for them should be placed in function.h.

+

+Each C function is passed two arguments, an int and a (farg +*). What it does with these arguments depends on whether it +is implementing a function or a terminal, and if it is a function, +what type of function. All these C functions should return the +user-defined type DATATYPE.

+

+There are two types of functions, referred to in lil-gp as types +"DATA" and "EXPR". If the function is of type +DATA, then when it is found in a tree, all its children will be +evaluated and their return values passed to the user code implementing +the function. The LISP equivalent of this is to implement the +function with a defun. If the lil-gp function is of type +EXPR, then the user code is passed pointers to its children, which +it can then ask the kernel to evaluate if needed. It can evaluate +each child as many times as appropriate, or not at all. The LISP +equivalent of this type would be to implement the function with +a defmacro. Use of the correct type in lil-gp is important, +especially when the evaluation of functions and terminals have +global side effects (for instance, where the evolved program is +controlling a simulation).

+

+If the function is of type DATA, it can ignore the int +passed to it. The (farg *) argument will be an array of +arguments, one element for each child. The C function should reference +the d field of each element to get that child's value. +For instance, consider the two-argument addition function from +the regression problem:

+
+DATATYPE f_add ( int tree, farg *args 
+{
+     return args[0].d + args[1].d;
+}
+
+

+When this function occurs in evaluating a tree, the lil-gp kernel +will evaluate the children, store their values in the args +array, and call this C function.

+

+Now consider another example: the IF_FOOD_AHEAD function +from the artificial ant problem. It has two arguments_the first +should be evaluated if there is food in front of the ant, the +second otherwise. If type DATA were to be used for this function, +then both would be evaluated and only their return values passed +to the function (which would be doubly useless in this case, since +all the functions and terminals in the ant problem ignore the +return value). We want to let the function itself choose which +child to evaluate. This function must be of type EXPR:
+ +

+
+DATATYPE f_if_food_ahead ( int tree, farg *args )
+{
+     if ( ... ) /* determine if there is food ahead */
+          evaluate_tree ( args[0].t, tree );
+     else
+          evaluate_tree ( args[1].t, tree );
+}
+
+

+For type EXPR functions, the t field of each array element should +be accessed-it is a pointer to the corresponding child. This pointer +can be passed to the evaluate_tree() C function to actually +do the evaluation. evaluate_tree() also needs to be passed +the integer argument (called tree in this case).

+

+C functions implementing terminals should ignore both arguments +passed to them. A simple example is the independent variable terminal +X from the symbolic regression problem:
+ +

+
+DATATYPE f_indepvar ( int tree, farg *args )
+{
+     return g.x;
+}
+
+

+This function just returns the value of the independent variable +for the current fitness case, which has previously been stored +in a global variable by the application fitness evaluation function. +
+
+

+

+6.2.1 Ephemeral Random Constants

+

+To create a terminal that acts as an ephemeral random constant, +you need to write two C functions. One will generate a new constant, +and one will print its value to a string. The first is passed +a pointer to a DATATYPE; it should generate a new value +and place it in the pointer.
+ +

+
+void f_erc_generate ( DATATYPE *r )
+{
+     *r = random_double() * 10.0;
+}
+

+This function generates a random real number in the interval [0; +10) (assuming that DATATYPE is defined to be double +or some compatible type.

+

+The second function is used when printing out individuals. It +is passed a DATATYPE value. It should create a string representing +that value and return it. Typically this will print the value +into a buffer and return the buffer's address. The buffer should +be declared static_it should not be dynamically allocated (as +there is no code to free it). An example:
+ +

+
+char *f_erc_print ( DATATYPE v )
+{
+     static char buffer[20];
+ sprintf ( buffer, "%.5f", v ); + return buffer; +}
+

+assuming again that DATATYPE is double or something compatible, +this will print the value to five decimal places.
+ +

+

+6.2.2 Evaluation and Argument Functions

+

+No user code needs to be written to support the ADF functions +or corresponding argument termi- nals. Special entries are made +in the function table for them, and the kernel handles the evaluation +internally

+

+Evaluation functions with arguments have type DATA or EXPR, just +like ordinary functions. If the type is DATA, when the evaluation +function is hit, each child is evaluated once, and the return +values are made available via the argument terminals in the evaluated +tree. If the type is EXPR, then the children are evaluated only +when the evaluation of the target tree hits the appropriate argument +terminal (and if the same argument terminal is hit multiple times, +the child is reevaluated each time).
+ +

+

+6.3 User Callbacks

+

+Only two of the user callbacks listed here are required to do +anything (app_build_function_sets() to create the function +set(s) and app_eval_fitness() to evaluate individuals). +All the others must be present, but they can be just stubs if +you don't want to make use of them.
+ +

+

+6.3.1 Defining the Function Set(s)

+

+The first user callback required is app_build_function_sets(). +This C function creates tables for each function set. There may +be more than one function set when individuals are represented +by multiple trees, since each tree can have its own function set. +Each function set is an array of type function. The following +tables show, for each type of node, what the eight fields of the +corresponding function structure should be. Some general rules +apply:
+ +

+
    +
  • The code, ephem_gen, and ephem_str fields +are C function pointers, not strings. You put the name of the +function you +
  • +
  • are referencing here, but don't quote it.
    + +
  • +
  • The string field is the name of the function as a string. +It is what gets printed to represent the node when trees are printed +to output files. Names may not contain whitespace or any of the +characters `:', `(', `)', `[', `]'.
    + +
  • +
  • The index field should always be zero.
    + +
  • +
+

ordinary function +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
code The C function implementing the function.
ephem_gen NULL
ephem_str NULL
arity The arity of the function (greater than zero).
string +The name of the function.
typeFUNC_DATA or FUNC_EXPR, as appropriate.
evaltree-1
index0
+ + +

+ +ordinary terminal

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
code The C function implementing the function.
ephem_gen NULL
ephem_str NULL
arity 0
string +The name of the terminal
typeTERM_E
evaltree-1
index0
+
+ + +


+
+

+

ephemeral random constant terminal

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
code NULL
ephem_gen The C function to generate new random +values.
ephem_str The C function to print values to a string.
arity 0
string +The generic name of the terminal. (Printed +trees willalmost always have the string representing the +value ofthe terminal, rather than this name. + +
typeTERM_ERC
evaltree-1
index0
+
+

 

+

+evaluation function/terminal

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
code NULL
ephem_gen NULL
ephem_str NULL
arity -1. (The kernel will determine the arity +by lookingat the argument terminals in the target tree.)
string + + +The name of this function/terminal.
typeEVAL_DATA or EVAL_EXPR, as appropriate.
evaltreeThe number of the tree to evaluate when +this function is hit.
index0
+
+ + +

+argument terminal

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
code NULL
ephem_gen NULL
ephem_str NULL
arity 0
string + + +The name of this terminal.
typeTERM_ARG
evaltreeThe argument number (which child of the +correspondingevaluation function this terminal represents).
index0
+
+ + +

+The function sets for the lawnmower problem contain examples of +all five types of node:
+
+

+
+function sets[3][10] =
+
+     /*** RPB ***/
+
+{ { { f_left, NULL, NULL, 0, "left", TERM_NORM, -1,0 },
+     { f_mow, NULL, NULL, 0, "mow", TERM_NORM, -1, 0 },
+     { NULL, f_vecgen, f_vecstr, 0, "Rvm", TERM_ERC, -1,0 },
+
+     { f_frog, NULL, NULL, 1, "frog", FUNC_DATA, -1, 0},
+     { f_vma, NULL, NULL, 2, "vma", FUNC_DATA, -1, 0 },
+     { f_prog2, NULL, NULL, 2, "prog2", FUNC_DATA, -1,0 },
+     { NULL, NULL, NULL, -1, "ADF0", EVAL_DATA, 1, 0 },
+     { NULL, NULL, NULL, -1, "ADF1", EVAL_DATA, 2, 0 }},
+
+ +/*** ADF0 ***/ + +{ { f_vma, NULL, NULL, 2, "vma", FUNC_DATA, -1, 0}, + { f_prog2, NULL, NULL, 2, "prog2", FUNC_DATA, -1,0 }, + { f_left, NULL, NULL, 0, "left", TERM_NORM, -1, 0}, + { f_mow, NULL, NULL, 0, "mow", TERM_NORM, -1, 0 }, + { NULL, f_vecgen, f_vecstr, 0, "Rvm", TERM_ERC, -1,0 } },
+
+
+/*** ADF1 ***/ + +{ { f_left, NULL, NULL, 0, "left", TERM_NORM, -1,0 }, + { f_mow, NULL, NULL, 0, "mow", TERM_NORM, -1, 0 }, + { NULL, f_vecgen, f_vecstr, 0, "Rvm", TERM_ERC, -1,0 }, + { NULL, NULL, NULL, 0, "ARG0", TERM_ARG, 0, 0 }, +
+ { f_frog, NULL, NULL, 1, "frog", FUNC_DATA, -1, 0}, + { f_vma, NULL, NULL, 2, "vma", FUNC_DATA, -1, 0 }, + { f_prog2, NULL, NULL, 2, "prog2", FUNC_DATA, -1,0 }, + { NULL, NULL, NULL, -1, "ADF0", EVAL_DATA, 1, 0 }} };
+
+

+This problem uses two ADFs-the zero-argument ADF0 and the one-argument +ADF1. Both ADFs are available to the result-producing branch. +In addition, ADF0 can be called from within ADF1

+

+Note that the functions and terminals can appear in the table +in any order. Previous versions of lil-gp required all functions +to appear first in the table, followed by the terminals, but this +is no longer the case

+

+Once the function table is created, a list of function sets needs +to be created that references it. You should create an array of +type function_set with one member for each function set. +The size field should be set to the number of functions and terminals +in it, and the cset field should point to the function +table. The lawnmower problem uses:
+ +

+
+function_set *fset;
+. . . .
+fset = (function_set *)MALLOC ( 3 * sizeof ( function_set ));
+fset[0].size = 8;
+fset[0].cset = sets[0];
+fset[1].size = 5;
+fset[1].cset = sets[1];
+fset[2].size = 8;
+fset[2].cset = sets[2];
+

+Next you must build a tree map, indicating which trees +use which function sets. This is just an array of ints, +where the nth element indicates the number of the function +set of the nth tree. In the case of the lawnmower problem, +there is just one tree per function set:

+
+tree_map = (int *)MALLOC ( 3 * sizeof ( int ) );
+tree_map[0] = 0;
+tree_map[1] = 1;
+tree_map[2] = 2;
+

+If two trees use the same function set, then crossover may exchange +genetic material between these trees on different individuals. +If this is not desired, you can make a copy of the function set, +and have one tree use the copy. This would be accomplished with +something like:

+
+fset[2].size = 8;
+fset[2].cset = sets[2];
+fset[3].size = 8;
+fset[3].cset = sets[2]; /* note they refer to the same functions*/
+
+. . .
+
+tree_map[2] = 2;
+tree_map[3] = 3;
+

+Now trees 2 and 3 will not crossover with each other, even though +their function sets are identical

+

+One last thing to build is a list of tree names--these will be +used to label the separate trees when individuals are printed +out:

+
+char *tree_name[3];
+. . .
+tree_name[0] = "RPB";
+tree_name[1] = "ADF0";
+tree_name[2] = "ADF1";
+

+Now that all the data structures are built, you must pass them +as arguments to the kernel function function_sets_init(). +This function will do some validity checking and make internal +copies of everything. After this function returns, you may destroy +your copies. You should also save the return value of this function +(an int) and return it to the kernel.

+
+int ret;
+. . .
+ret = function_sets_init ( fset, 3, tree_map, tree_name, 3);
+
+FREE ( tree_map ); +FREE ( fset ) ;
+
+return ret;
+

+The second argument to function_sets_init() is the number +of function sets, the fifth argument is the number of trees per +individual.
+ +

+

+6.3.2 Fitness Evaluation Function

+

+The user function app_eval_fitness() is called whenever +an individual is to be evaluated. It is passed a pointer to an +individual structure. It should fill in these fields:

+

+r_fitness The raw fitness.
+ +

+

+s_fitness The standardized fitness (all values nonnegative, +a perfect individual is zero).
+ +

+

+a_fitness The adjusted fitness (lies in the interval [0; +1], a perfect individual is one).
+ +

+

+hits The auxiliary hits measure.
+ +

+

+evald Always set this to EVAL_CACHE_VALID to indicate +that the fitness fields are valid.
+ +

+

+The function should call set_current_individual() with +the pointer passed to it before doing any evaluations. The function +can evaluate trees of the individual by calling evaluate_tree(), +passing it a pointer to the tree data and the tree number. +

+

+Typically the function will iterate over all the fitness cases. +The global variable g, which is a user-defined structure, is used +to pass information between app_eval_fitness() and the +functions and terminals. For example, in the symbolic regression +problem, g.x is set to the x value for the current +fitness case, then the tree is evaluated. When the evaluation +reaches the independent variable terminal, the C function implementing +it simply reads this value and returns it.

+

+A typical evaluation function will have this general structure: +

+
+void app_eval_fitness ( individual *ind )
+{
+     set_current_individual ( ind );
+     . . .
+     for ( <loop over fitness cases> )
+     {
+          <set up global structure for current fitness case>
+
+ /* here we evaluate tree 0, but you can evaluate any tree of + * the individual as many times as you like. + */ + value = evaluate_tree ( ind->tr[0].data, 0 ); + . . . + }
+
+ ind->hits = <whatever>; + ind->r_fitness = <whatever>; + ind->s_fitness = <whatever>; + ind->a_fitness = <whatever>;
+
+ /* indicate that the fitness fields are correct.*/ + ind->evald = EVAL_CACHE_VALID; +}
+

+More complex problems which require a simulation store the entire +state of the simulation in g. app_eval_fitness() resets +the simulation, before evaluating the tree. For instance, in the +artificial ant problem the tree is evaluated repeatedly until +the time expires or all the food has been collected

+

+The functions and terminals read and modify the global state information +in order to simulate the ant's senses and movements.
+ +

+

+6.3.3 Custom Output

+

+After every the evaluation of each generation, lil-gp calls the +function app_end_of_evalulation(). It is passed the generation +number, a pointer to the entire population, statistics for the +run and generation, and a flag indicating whether a new best-of-run +individual has been found or not. It should return a 1 or 0, indicating +whether the user termination criterion has been met and the run +should stop

+

+Suppose the that the function is declared with the following argument +names:

+
+int app_end_of_evaluation ( int gen, multipop *mpop, int newbest,
+popstats *gen_stats, popstats *run_stats )
+
+

+The population is passed as the pointer to a structure of type +(multipop *). Everything within this structure should be +treated as read-only. This table gives some useful items of information +stored in this structure:

+

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
mpop->sizenumber of subpopulations
mpop->pop[p]->sizesize of population p
mpop->pop[p]->ind[i] the i'th individual of population +p
mpop->pop[p]->ind[i].r_fitnessraw fitness of individual
mpop->pop[p]->ind[i].s_fitness standardized fitness +of individual
mpop->pop[p]->ind[i].a_fitnessadjusted fitness of +individual
mpop->pop[p]->ind[i].hits hits of individual
mpop->pop[p]->ind[i].tr[n].datatree n data pointer +
+

 

+

+The tree data pointer(s) can be passed to evaluate_tree() +to evaluate the tree just as in the evaluation function. To print +the entire individual, pass its address to print_individual() +or pretty_print_individual().

+

+The content of the statistics structure should be discernible +to the interested reader from the declaration in types.h. gen_stats[0] +is statistics for the whole population in the current generation, +while gen_stats[i] gives the same just for subpopulation +i. The run_stats array is similar, but accumulates +information over the whole run

+

+In many problems it is useful to access the best-of-run or best-of-generation +individual for printing or doing extra evaluations. For instance, +the symbolic regression problem produces an extra output file +with the best-of-run individual evaluated at 200 points over the +interval of interest, for easy plotting. A copy of the best-of-run +individual is pointed to by run_stats[0].best[0]->ind, +and the best-of-generation individual by gen_stats[0].best[0]->ind.

+

+In versions of lil-gp prior to 0.99b, it was an undocumented feature +that by modifying the parameter database, the breeding parameters +could be altered dynamically during the run. If you took advantage +of this, you must now call rebuild_breeding_table() after +modifying the parameters, and pass it the multipop pointer +passed to you. If you do not, your changes to the parameter database +will have no effect. This ability is now considered a bona fide +feature of lil-gp, and will be supported in future releases

+

+Changes to the subpopulation exchange topology parameters underwent +a similar change. If you change the parameters during the run, +you should call rebuild_exchange_topology() after making +changes in order for them to have any effect

+

+Some kernel operations (for instance, restarting from a checkpoint +file) imply rebuilding the breeding and topology tables from the +parameter database. You should only make changes to these parameters +when you intend to immediately call the appropriate rebuilding +functions, otherwise unpredictable things will occur.

+

+Another user callback app_end_of_breeding() is called after +the new population is created each generation. This is passed +the generation number and the population structure, just as in +the end of evaluation callback, but no statistics information. +
+ +

+

+6.3.4 Application Initialization

+

+There are two functions provided for application-specific initialization: +app_initialize() and app_uninitialize(). app_initialize() +is passed an integer flag indicating whether the run is starting +from a checkpoint or not. It should return 0 to indicate success, +or anything to abort the run

+

+Initialization such as memory allocation and reading parameters +should go in app_initialize(). The last function is called +at the end of the run, and may used to do things like free memory. +
+
+

+

+6.3.5 Output Streams

+

+An output stream is a simple abstraction of an output file. This +mechanism handles both the naming of the actual file and uses +the detail level (the output.detail parameter) to filter +the output. Some functions are provided for writing to output +streams:

+

+oputs ( int streamid, int detail, char *string ) Prints +the string to the given output stream, if the value of +detail is less than or equal to the current detail level.
+ +

+

+oprintf ( int streamid, int detail, char *format, ... ) +Processes the format and succeeding arguments as in +printf(), and prints the resulting string to the stream if the +detail is less than or equal to the current detail level.
+ +

+

+test_detail_level ( int detail ) Returns true if the argument +is less than or equal to the current detail level.
+ +

+

+output_filehandle ( int streamid ) Returns the filehandle +(FILE *) for the given stream. Useful for passing to print_tree() and the like.
+ +

+

+The standard output files (.sys, .gen, etc.) are can be +printed to with the stream ids OUT_SYS, OUT_GEN, etc. For +instance:

+
+oprintf ( OUT_SYS, 30, "Tree %d is:"n", tree_num);
+if ( test_detail_level ( 30 ) )
+     print_tree ( tree[tree_num], output_filehandle ( OUT_SYS ));
+

+An application can define custom output streams (for instance, +the .fn output file of the regression problem). This is +done in the application function app_create_output_streams(). +This function should be used only to create user output +streams. In it, you call create_output_stream() with five +arguments

+

+id The id for the stream (an integer). User-defined output +streams should have ids OUT_USER, +OUT_USER+1, etc.
+ +

+

+ext The extension for the filename. This string is appended +to a basename (the parameter output.basename) to create the filename).
+ +

+

+reset A flag indicating whether the stream can be closed +and reopened (using the functions output_stream_close() and output_stream_open()). +Reopening a stream overwrites the old file (like +the .bst file).
+ +

+

+mode The mode string to pass to fopen() when opening +the file. Typically will be "w" or "wb". +
+ +

+

+autoflush Flag indicating whether the file should be flushed +after each call to oputs() and oprintf().
+
+

+

+app_create_output_streams() is called before any parameters +have been loaded, so you should not attempt to read the parameter +database in this function.
+ +

+

+6.3.6 Checkpoint Files

+

+Two functions are provided for saving user state to checkpoint +files, app_write_checkpoint() and app_read_checkpoint(). +Each is passed a file handle (FILE *) opened in text mode +for writing or reading, respectively. Each function should leave +the file pointer at the end of the user section.
+ +

+

+6.4 Order of Processing

+

+Here is the order things happen in during a run.
+ +

+

+print startup message +

+

initialize parameter database +

+

+initialize ERCs +

+

+initialize generation space +

+

+app_create_output_streams() +

+

+initialize output streams +

+

+pre_parameter_defaults() +

+

+process command-line arguments in order, possibly including loading +of checkpoint file +

+

+if not starting from checkpoint, post_parameter_defaults() +

+

+open output files +

+

+if not already done (during loading of checkpoint), app_build_function_sets() +

+

+read tree node/depth limits from parameters +

+

+if not starting from checkpoint, seed random number generator +

+

+app_initialize() +

+

+if not starting from checkpoint, create initial random population +

+

+initialize subpopulation exchange topology +

+

+initialize breeding table +

+

+run the GP: until termination +

+
+evaluate the population, unless this is first generation after +loading checkpoint +
+
+compute population statistics
+
+ + + + + +
app_end_of_evaluation()
+
+
+write checkpoint file, if necessary +
+
+if this is not the last generation
+
+ + + + + + + + + + + + + +
do subpopulation exchange, if necessary
breed new population
+app_end_of_breeding()
+
+
+ + +
+
+

+app_uninitialize() +

+

+free breeding table +

+

+free subpopulation exchange topology +

+

+free population +

+

+free parameter database +

+

+free ERCs +

+

+free generation spaces +

+

+free function sets +

+

+print system statistics +

+

+close output streams
+ +

+

+6.5 Kernel Considerations
+
+

+

+6.5.1 Memory Allocation

+

+lil-gp system has a system for tracking memory usage.1 This is +helpful in tracking down mem- ory leaks, among other things. To +use it, just use MALLOC(), REALLOC(), and FREE() +instead of malloc(), realloc(), and free(). The +uppercased versions should work exactly like their low- ercased +counterparts. You may use the lowercase versions if you do not +wish to have the memory included in the statistics, but do +not mix pointers returned by the two different sets of +functions. Don't FREE memory that you've malloc'ed, +etc.
+ +

+

+6.5.2 Using Parameters

+

+User code may read and write the parameter database, using the +functions get_parameter() and add_parameter(). The +implementation of the database is not terribly efficient,2 so +you shouldn't, for instance, read a parameter inside the code +for a function or terminal. Reading a given parameter once per +generation should be considered a maximum. If you need the value +more often than that, you should buffer it in a C variable

+

+get_parameter() takes the name of the parameter (the string) +and returns a character pointer to its value, or NULL if +the parameter is not present in the database. You should not modify +the string returned; make a copy if you need to use it in a destructive +manner. add_parameter() takes the parameter name, value, +and a flag indicating whether the name or the value should be +copied, or both. Adding a parameter that is already present overwrites +the old value.
+ +

+

+1 It can be disabled completely by removing or commenting +out the line"#define TRACK_MEMORY" from protos.h. +

+

+2 Read "linear search."

+ + \ No newline at end of file diff --git a/lib/lilgp/htmlMan/lil-gp.ch7.htm b/lib/lilgp/htmlMan/lil-gp.ch7.htm new file mode 100644 index 0000000..803a436 --- /dev/null +++ b/lib/lilgp/htmlMan/lil-gp.ch7.htm @@ -0,0 +1,380 @@ + + + + + +

Chapter 7

+
     7.1    Tree Representation
+
+     7.2    Selection Methods
+
     7.3    Operators
+
     7.4    Miscellany
+          7.4.1     Tree Generation Spaces
          7.4.2     Saved Individuals
          7.4.3     Ephemeral Random Constants
+

+ +


+

+

+Extending the Kernel
+
+

+

+Internally, lil-gp is fairly simple. I have attempted to keep +the structure reasonably clean and modular, without going too +overboard about avoiding global variables and such. 24 C files +comprise the kernel:
+ +

+

+main.c Initialization and cleanup.

+

+gp.c The main evaluate-and-breed cycle, and population +statistics calculation.

+

+eval.c The tree evaluator.

+

+tree.c Utility routines dealing with trees--counting nodes +and depth, printing, generating random trees, finding +subtrees, copying trees.

+

+change.c Breeding of the new population each generation. +

+

+crossovr.c The crossover operator.

+

+reproduc.c The reproduction operator.

+

+mutate.c The mutation operator.

+

+select.c Utility routines for selection methods.

+

+tournmnt.c The tournament selection method.

+

+bstworst.c The best, worst, and random +selection methods.

+

+fitness.c The fitness, fitness_overselect, and inverse_fitness +selection methods.

+

+genspace.c Utility routines for allocating space to grow +new trees in.

+

+exch.c The subpopulation exchange system.

+

+populate.c Utility routines for population--copying, freeing, +random generation.

+

+ephem.c Utility routines for ephemeral random constants. +

+

+ckpoint.c Reading and writing checkpoint files.

+

+event.c System-dependent module for tracking execution +time.

+

+pretty.c The tree pretty-printer.

+

+individ.c Utility routines for whole individuals--printing +and calculating size.

+

+params.c The parameter database.

+

+random.c The portable pseudorandom number generator, adapted +from Numerical Recipes in FORTRAN.

+

+memory.c The implementations of MALLOC(), FREE(), +and REALLOC() that track memory usage.

+

+output.c The output subsystem (oprintf() and oputs(), +among others).

+

 

+

+7.1 Tree Representation

+

+A tree is stored as an array of type lnode. An lnode is +a union which can can a pointer to a function structure, a pointer +to an ephemeral random constant (ERC) structure, or an integer. +The tree is stored in prefix order. The first lnode is always +a pointer to a function. If the function is an ERC terminal, then +the next lnode in the array has the pointer to the ERC structure. +If a function is of type EXPR (the user code controls evaluation +of the function's arguments) then there is an extra lnode just +before the start of each child_it contains an integer, the number +of lnodes used in representing the child subtree. The evaluation +code uses this value to skip the child during evaluation.

+

+Consider this expression in the symbolic regression problem:

+
+(+ X (iflte X (* .34 X) .56))
+

+This would be represented in lil-gp as the array:

+

+
+
+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ pointer to structure for function +
X pointer to structure for function X
ifltepointer to structure for function iflte
1 first argument to iflte takes 1 lnode to store
X +
4 second argument to iflte takes 4 lnodes to store
* pointer to structure for function *
Rpointer to structure for ERC function
.34pointer to structure containing ERC value
X
2 third argument to iflte takes 2 lnodes to store
R
.56
+ +

+
+
+

+

+This representation, while it may seem cumbersome, has two major +advantages over a more traditional C representation (with individual +structs for each node, linked by pointers). First, it uses much +less memory--approximately 1-2 words per node versus the 4-5 it +would take otherwise. This is because the structure of the tree +is represented implicitly in the ordering of the nodes rather +than explicitly via pointers. Second, it results in much faster +tree evaluation. For instance, consider the crossover operator. +In the traditional representation crossover is performed by just +swapping two pointers. While this is very fast and easy, over +time it means that the nodes of a given tree become spread out +over the process's address space. On a system with virtual memory, +this slows evaluation (or any traversal of the tree) to a crawl +as the tree is spread across dozens of pages which must constantly +be swapped in and out. lil-gp's representation complicates crossover +somewhat, but leaves each offspring tree as a single continuous +block of memory, able to fit on just one or two pages.
+ +

+

+7.2 Selection Methods

+

+A selection method is implemented with two functions: one to perform +initialization and cleanup, and another to do the actual selection. +The first function, when called for initialization, creates and +returns a data structure called a selection context. This contains +any state information needed for the selection method. It should +also store a pointer to the population that the selection is being +done on. This structure will be passed to the second function, +which should return an index of an individual within the population. +

+

+To create a new selection method, it is suggested that you copy +and modify an existing one (the random method in bstworst.c +is an especially simple one). If your of selection can be expressed +as randomly selecting an individual from a set where each individual +has a fixed probability of selection, then there is already an +efficient implementation of the second function. See the code +for the fitness, fitness_overselect, and inverse_fitness +methods for examples

+

+Finally, you must add a record describing your selection method +to the array select_method_table at the top of select.c. +This lists the names and initialization functions of each selection +method available.
+ +

+

+7.3 Operator

+

+The breeding of the population is controlled by a table of breeding +phases. This is built from the parameter database at the start +of the run (and whenever rebuild_breeding_table() is called +from user code. Each subpopulation has its own breeding table. +For each phase, there is a record in the table. Each record has +pointers to the four methods for the operator, the rate for that +phase, and a pointer to an operator-specific structure

+

+To implement a new operator, it is suggested that you copy and +modify the code of an existing operator. The reproduction operator +is the simplest of the three included. Suppose that your new operator +is called "foo". You would need to provide five functions +(the following naming scheme is strongly recommended):
+ +

+

+operator_foo_init Parses the operator's options string +and builds the operator table entry. The kernel +functions parse_o_rama() and free_o_rama() are available +to parse the options string just like the built-in operators do. +
+ +

+

+operator_foo_free Frees the operator-specific part of the +operator table entry.
+ +

+

+operator_foo_start This is called at the start of breeding. +Selection methods should be initialized here.
+ +

+

+operator_foo_end This is called at the end of breeding. +Selection contexts should be freed here.
+ +

+

+operator_foo This performs the actual operation. +
+
+

+

+You then add a record to the array operator_table at the +top of change.c, listing the name of the operator (a string) +and the operator's initialization method (a function pointer), +for example, after adding the foo operator the table would look +like:

+
+operator operator_table[] =
+{ { "crossover", operator_crossover_init },
+     { "reproduction", operator_reproduce_init },
+     { "mutation", operator_mutate_init },
+     { "foo", operator_foo_init },
+     { NULL, NULL } };
+
+
+

+The next field of the new population structure gives the +index at which the operator should place the new individual. After +adding an individual, increment the next field. If your +operator produces multiple offspring with a single call then you +must make sure that you don't overfill the population (the next +field should not exceed the size field). The crossover +operator, for instance, normally produces two offspring on each +call. If it is called when there is only one more space in the +population, it fills the space and throws the other offspring +away.

+

+Your operator should always add at least one individual to the +new population per call. If it does not, infinite loops may occur +when the probabilistic_operators parameter is off.
+ +

+

+7.4 Miscellany

+

+This section gives a general overview of how some of the nonobvious +parts of lil-gp work and how they fit together.
+ +

+

+7.4.1 Tree Generation Spaces

+

+When building a new tree, lilgp needs a continuous block of memory +to put the tree in, but can't allocate the final location of the +tree because the size isn't known ahead of time. Therefore, special +blocks of memory are allocated to grow the trees in. Every time +an lnode is added to a tree-in- progress, the function gensp_next +(or gensp_next_int) is called to enlarge the memory block +if needed. Once the tree is finished and its size is known, its +final location is allocated and the tree is copied from the generation +space

+

+Currently there are two generation spaces needed. If you are implementing +an operator or some- thing that requires three or more trees to +be grown simultaneously, increase GENSPACE_COUNT in defines.h. +

+

+Generation spaces are initially allocated to hold GENSPACE_START +lnodes, and grow in steps of GENSPACE_GROW lnodes. These +constants are in defines.h.
+ +

+

+7.4.2 Saved Individuals

+

+lilgp tracks the best n individuals of each population, +where n is a user-settable parameter. Pointers to these +best individuals are passed to the user function app_end_of_evaluation(). +To ensure that these pointers are always good, the kernel makes +a copy of each individual in the top n and passes the address +of the copy (since the original individual may not survive the +breeding process)

+

+An individual can be referenced in multiple top-n lists (best-of-gen, +best-of-run, etc.). To avoid making multiple copies, a reference +count is kept for each individual. All these saved individuals +are kept in a linked list, and once per generation a garbage collection +procedure traverses the list and frees any individuals which have +no references to them.
+ +

+

+7.4.3 Ephemeral Random Constants

+

+Whenever a new ephemeral random constant terminal is inserted +into a tree (during the generation of the initial population, +or during mutation operations) the function new_ephemeral_const() +is called to create the constant. It calls the user-supplied generation +function to create a new value. Each ERC record stores the value, +along with a reference count of how many tree nodes point to that +value. The ERC records are maintained in a linked list. Once per +generation, a garbage collection routine traverses the linked +list and removes any ERCs which are no longer needed (that have +a reference count of zero)

+

+The ERC records are not allocated individually but in large blocks. +This ensures that all the ERCs are kept on a few memory pages +at most, which reduces the need for paging during evaluation (when +there are many scattered references to the ERCs). When an ERC +is freed by the garbage collection routine, it is added to the +end of the free list. If the free list ever becomes empty, a new +large block of ERC records is allocated and all of them added +on to the end of the free list

+

+Pointers to the blocks themselves are kept in an array so that +the blocks can be freed at the conclusion of the run. Since the +number of blocks can increase, this array is reallocated as necessary. +
+ +

+ + \ No newline at end of file diff --git a/lib/lilgp/htmlMan/lil-gp.contents.htm b/lib/lilgp/htmlMan/lil-gp.contents.htm new file mode 100644 index 0000000..e086c4a --- /dev/null +++ b/lib/lilgp/htmlMan/lil-gp.contents.htm @@ -0,0 +1,325 @@ + + + + + lil-gp 1 + + + +

+ lil-gp 1.0 User's Manual
+ +

+

+ Douglas Zongker Dr. Bill +Punch +

+

+ Michigan State University Michigan State +University +

+

+ zongker@isl.cps.msu.edu punch@isl.cps.msu.edu +
+ +

+

+ 11 July 1995
+ +

+

+Copyright (c) 1995 Michigan State University.
+ +

+

+This program is free software; you can redistribute it and/or +modify it under the terms of version 2 of the GNU General Public +License as published by the Free Software Foundation.
+ +

+

+This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details.
+ +

+

+You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software Foundation, +Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+
+ +

+

+Contents
+
+

+

+1 Introduction +

+
+ 1.1 Features +
+
+ 1.2 Kernel +
+
+ 1.3 Specification of Problems +
+
+ 1.4 Multiple Populations +
+
+ 1.5 Availability +
+
+ 1.6 Author
+ +
+

+2 Background +

+
+ 2.1 Introduction +
+
+ 2.2 Defining an Application +
+
+ 2.2.1 Closure +
+
+ 2.2.2 Examples +
+
+ 2.3 Size of Individuals +
+
+ 2.4 Fitness +
+
+ 2.5 Population Initialization +
+
+ 2.6 Selection +
+
+ 2.7 Operators
+
+ + + + + + + + + + + + + +
2.7.1 Crossover
2.7.2 Reproduction
2.7.3 Mutation
+
+
+ 2.8 Automatically Defined Functions (ADFs) +
+
+ 2.8.1 ADFs in lil-gp
+ +
+

+3 Compiling lil-gp +

+
+ 3.1 Preparing the kernel +
+
+ 3.2 Building the Sample Problems +
+
+ 3.3 Running the Sample Problems +
+
+ + + + + + + + + + + + + + + + + + + + + +
3.3.1 Symbolic Regression
3.3.2 Artificial Ant
3.3.3 Boolean 11-Multiplexer
3.3.4 Two-boxes
3.3.5 Lawnmower
+
+ +
+ 3.4 Compiling Without the Makefile
+ +
+

+4 Running lil-gp +

+
+ 4.1 Invoking lil-gp +
+
+ 4.1.1 Parameter Files +
+
+ 4.2 Output Files
+ +
+

+5 Parameters +

+
+ 5.1 General +
+
+ 5.2 Output +
+
+ 5.3 Size Limits +
+
+ 5.4 Initialization +
+
+ 5.5 Selection Methods +
+
+ 5.6 Breeding +
+
+ 5.7 Operators +
+
+ 5.8 Multiple Populations
+ +
+

+6 Implementing Problems +

+
+ 6.1 Basic Definitions +
+
+ 6.2 Functions and Terminals
+
+ + + + + + + + + +
6.2.1 Ephemeral Random Constants
6.2.2 Evaluation and Argument Functions
+
+ +
+ 6.3 User Callbacks
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
6.3.1 Defining the Function Set(s)
6.3.2 Fitness Evaluation Function
6.3.3 Custom Output
6.3.4 Application Initialization
6.3.5 Output Streams +
6.3.6 Checkpoint Files
+
+
+ 6.4 Order of Processing +
+
+ 6.5 Kernel Considerations +
+
+ 6.5.1 Memory Allocation +
+
+ 6.5.2 Using Parameters
+ +
+

+7 Extending the Kernel +

+
+ 7.1 Tree Representation +
+
+ 7.2 Selection Methods +
+
+ 7.3 Operators +
+
+ 7.4 Miscellany
+
+ + + + + + + + + + + + + + + + +
7.4.1 Tree Generation Spaces
7.4.2 Saved Individuals
7.4.3 Ephemeral Random Constants
+
+
+ +
+
+ +
+
+
+
+ +
+ + \ No newline at end of file diff --git a/lib/lilgp/kernel/GNUmakefile.kernel b/lib/lilgp/kernel/GNUmakefile.kernel new file mode 100644 index 0000000..3f2c8ee --- /dev/null +++ b/lib/lilgp/kernel/GNUmakefile.kernel @@ -0,0 +1,45 @@ +## Linux users should uncomment this when using gcc +# CFLAGS += -mieee-fp + +## if you have the vfork() system call available (most Un*x systems), +## use it to spawn the checkpoint file compression process. +# CFLAGS += -DUSEVFORK +## if you don't have vfork(), use the (much) less efficient system() +## system call. (default to system, always available) +CFLAGS += -DUSESYSTEM +## if both of these are commented out, checkpoint compression will not +## be available. + +### +### end of configuration section +### + +kobjects = main.o gp.o eval.o tree.o change.o crossovr.o reproduc.o \ + mutate.o select.o tournmnt.o bstworst.o fitness.o genspace.o \ + exch.o populate.o ephem.o ckpoint.o event.o pretty.o individ.o \ + params.o random.o memory.o output.o boltzman.o sigma.o fsetupdate.o + +kheaders = event.h defines.h types.h protos.h protoapp.h + +.PHONY : all clean + +LIBS += -lm +CFLAGS += -I. -I$(KERNELDIR) + +all : $(TARGET) + +lilgp.h = $(addprefix $(KERNELDIR)/,$(kheaders)) $(uheaders) + +$(kobjects) : %.o : $(KERNELDIR)/%.c + $(CC) -c $(CFLAGS) $< -o $@ + +$(uobjects) : %.o : %.c + $(CC) -c $(CFLAGS) $< -o $@ + +$(kobjects) $(uobjects) : $(lilgp.h) + +$(TARGET) : $(kobjects) $(uobjects) + $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + +clean : + \rm -f *.o core diff --git a/lib/lilgp/kernel/boltzman.c b/lib/lilgp/kernel/boltzman.c new file mode 100644 index 0000000..111373e --- /dev/null +++ b/lib/lilgp/kernel/boltzman.c @@ -0,0 +1,106 @@ +#include +#include + +#define _E_ 2.718281828459 + +/* This version of the boltzman distribution will not work with + checkpoint files--we'll have to add the globals below into the global + section of the checkpoint file later... -- Sean */ + + + +int boltzman_initialized = 0; /* This SHOULD start out 0!!! */ +double boltzman_hi; +double boltzman_low; +double boltzman_step; +double boltzman_t; /* Current Temperature */ + +sel_context *select_boltzman_context (int op, + sel_context *sc, + population *p, + char *string ) +{ + interval_data *id; + int i, j = 0; + double n; /* Our New Boltzman Value */ + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_interval; + sc->context_method = select_boltzman_context; + + /* the interval_data structure (used with select_interval()) is + essentially a list of interval widths and indices for each + individual. */ + + id = (interval_data *)MALLOC ( sizeof ( interval_data ) ); + + id->ri = (reverse_index *)MALLOC ( (p->size+1) * + sizeof ( reverse_index ) ); + id->total = 0.0; + id->count = p->size; + id->ri[j].fitness = 0.0; + id->ri[j].index = -1; + ++j; + + if (!boltzman_initialized) + { + char* param; + + boltzman_initialized=1; + param=get_parameter("boltzman_hi"); + if (param==NULL) + { + param=get_parameter("max_generations"); + if (param==NULL) param="51.0"; /* Default */ + } + boltzman_hi=atof(param); + + param=get_parameter("boltzman_low"); + if (param==NULL) param="0.0"; /* Default */ + boltzman_low=atof(param); + + param=get_parameter("boltzman_step"); + if (param==NULL) param="1.0"; /* Default */ + boltzman_step=atof(param); + + boltzman_t=boltzman_hi; + } + + for ( i = 0; i < p->size; ++i ) + { + + n = pow(_E_,(p->ind[i].a_fitness / boltzman_t)); + /* Boltzman distribution modification */ + + boltzman_t -= boltzman_step; + if (boltzman_t < boltzman_low) boltzman_t=boltzman_low; + + id->total += n; + id->ri[j].fitness = id->total; + id->ri[j].index = i; + ++j; + } + + /* We don't need to divide everything by the total to + normalize the boltzman results--we're done as it is. */ + + sc->data = (void *)id; + return sc; + break; + + case SELECT_CLEAN: + id = (interval_data *)(sc->data); + FREE ( id->ri ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} diff --git a/lib/lilgp/kernel/bstworst.c b/lib/lilgp/kernel/bstworst.c new file mode 100644 index 0000000..fbc7c31 --- /dev/null +++ b/lib/lilgp/kernel/bstworst.c @@ -0,0 +1,226 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +typedef struct +{ + int next; + int *list; +} bestworst_data; + +static population *selectpop = NULL; + + +/* select_bestworst() + * + * do the actual selection for both the best and worst methods. both these + * just create a sorted list of individuals to return, so this function just + * returns the next in the list. + */ + +int select_bestworst ( sel_context *sc ) +{ + bestworst_data *bwd; + bwd = (bestworst_data *)(sc->data); + return bwd->list[bwd->next++]; +} + +/* select_best_context() + * + * Sets up the best selection method. + */ + +sel_context *select_best_context ( int op, sel_context *sc, + population *p, char *string ) +{ + int i, j; + bestworst_data *bwd; + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_bestworst; + sc->context_method = select_best_context; + + /** the method-specific part is a sorted list of individuals + (from best to worst). the selection function just returns + the next element off the list. the list is built here. **/ + + bwd = (bestworst_data *)MALLOC ( sizeof ( bestworst_data ) ); + bwd->list = (int *)MALLOC ( (p->size+1) * sizeof ( int ) ); + bwd->next = 0; + + j = 0; + for ( i = 0; i < p->size; ++i ) + bwd->list[j++] = i; + + selectpop = p; + qsort ( bwd->list, p->size, sizeof(int), select_best_compare ); + selectpop = NULL; + + sc->data = (void *)bwd; + return sc; + break; + + case SELECT_CLEAN: + bwd = (bestworst_data *)(sc->data); + FREE ( bwd->list ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_best_compare() + * + * comparison function for qsort() to sort a list of indices in order + * of fitness (best first). + */ + +int select_best_compare ( const void *a, const void *b ) +{ + if ( selectpop->ind[*(int *)a].a_fitness == + selectpop->ind[*(int *)b].a_fitness ) + return 0; + else if ( selectpop->ind[*(int *)a].a_fitness < + selectpop->ind[*(int *)b].a_fitness ) + return 1; + else + return -1; +} + +/* select_worst_context() + * + * sets up the worst selection method. identical to select_best_context(), + * except for the call to qsort(). + */ + +sel_context *select_worst_context ( int op, sel_context *sc, population *p, + char *string ) +{ + int i, j; + bestworst_data *bwd; + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_bestworst; + sc->context_method = select_worst_context; + + bwd = (bestworst_data *)MALLOC ( sizeof ( bestworst_data ) ); + bwd->list = (int *)MALLOC ( (p->size+1) * sizeof ( int ) ); + bwd->next = 0; + + j = 0; + for ( i = 0; i < p->size; ++i ) + bwd->list[j++] = i; + selectpop = p; + qsort ( bwd->list, p->size, sizeof(int), select_worst_compare ); + selectpop = NULL; + + sc->data = (void *)bwd; + return sc; + break; + + case SELECT_CLEAN: + bwd = (bestworst_data *)(sc->data); + FREE ( bwd->list ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_worst_compare() + * + * comparison function for qsort() to sort a list of indices by fitness, + * worst first. + */ + +int select_worst_compare ( const void *a, const void *b ) +{ + if ( selectpop->ind[*(int *)a].a_fitness == + selectpop->ind[*(int *)b].a_fitness ) + return 0; + else if ( selectpop->ind[*(int *)a].a_fitness < + selectpop->ind[*(int *)b].a_fitness ) + return -1; + else + return 1; +} + +/* select_random_context() + * + * sets up the random selection method. + */ + +sel_context *select_random_context ( int op, sel_context *sc, + population *p, char *string ) +{ + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->data = NULL; + sc->select_method = select_random; + sc->context_method = select_random_context; + return sc; + break; + + case SELECT_CLEAN: + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_random() + * + * picks an individual at random a returns it. + */ + +int select_random ( sel_context *sc ) +{ + return random_int ( &globrand, sc->p->size ); +} + diff --git a/lib/lilgp/kernel/change.c b/lib/lilgp/kernel/change.c new file mode 100644 index 0000000..341c6fc --- /dev/null +++ b/lib/lilgp/kernel/change.c @@ -0,0 +1,355 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* the table of operator names and initialization functions. extend this + * table whenever you add a new operator. {NULL,NULL} marks the end of + * the table. + */ + +gp_operator operator_table[] = + {{"crossover", operator_crossover_init}, + {"reproduction", operator_reproduce_init}, + {"mutation", operator_mutate_init}, + {NULL, NULL}}; + +/* change_population() + * + * breed the new population. + */ + +population* change_population(population* oldpop, breedphase* bp) +{ + population* newpop; + int i, j; + int numphases; + double totalrate = 0.0; + double r, r2; + int prob_oper = atoi(get_parameter("probabilistic_operators")); + + /* allocate the new population. */ + newpop = allocate_population(oldpop->size); + + /* the first element of the breedphase table is a dummy -- its + operator field stores the number of phases. */ + numphases = bp[0].gp_operator; + + /* call the start method for each phase. */ + for (i = 1; i <= numphases; ++i) + { + totalrate += bp[i].rate; + if (bp[i].operator_start) + bp[i].operator_start(oldpop, bp[i].data); + } + + select_context_func_ptr select_con = get_select_context("best"); + struct _sel_context* context = select_con(SELECT_INIT, NULL, oldpop, "best"); + char* elitism_str = get_parameter("elitism"); + + if (elitism_str == NULL) + elitism_str = "0"; + + int elitism = atoi(elitism_str); + if (elitism < 0) + error(E_FATAL_ERROR, "elitism must be >= 0"); + + for (i = 0; i < elitism; i++) + { + /* select an individual... */ + j = context->select_method(context); + + /* ...and reproduce it into the new population. */ + duplicate_individual((newpop->ind) + newpop->next, (oldpop->ind) + j); + newpop->ind[newpop->next].flags = FLAG_NONE; + ++newpop->next; + printf("\tEliting a new pop!\n"); + } + + typedef struct + { + int next; + int *list; + } bestworst_data; + + FREE(((bestworst_data*) context->data)->list); + FREE(context->data); + FREE(context); + + /* now fill the new population. */ + while (newpop->next < newpop->size) + { + + /** select an operator, either stochastically or not depending on + the probabilistic_operators parameter. **/ + if (prob_oper) + r = totalrate * random_double(&globrand); + else + r = totalrate * ((double) newpop->next / (double) newpop->size); + + r2 = bp[1].rate; + for (i = 1; r2 < r;) + r2 += bp[++i].rate; +#ifdef DEBUG + fprintf ( stderr, "picked %10.3lf; operator %d\n", r, i ); +#endif + + /* call the phase's method to do the operation. */ + if (bp[i].operator_operate) + bp[i].operator_operate(oldpop, newpop, bp[i].data); + } + + /* call each phase's method to do cleanup. */ + for (i = 1; i <= numphases; ++i) + { + if (bp[i].operator_end) + bp[i].operator_end(bp[i].data); + } + + /* mark all the ERCs referenced in the new population. */ + for (i = 0; i < newpop->size; ++i) + for (j = 0; j < tree_count; ++j) + reference_ephem_constants(newpop->ind[i].tr[j].data, 1); + + /* free the old population. */ + free_population(oldpop); + + return (newpop); + +} + +/* free_breeding() + * + * this frees the breedphase table for each subpopulation. + */ + +void free_breeding(multipop* mpop) +{ + int i; + + for (i = 0; i < mpop->size; ++i) + { + free_one_breeding(mpop->bpt[i]); + FREE(mpop->bpt[i]); + } + FREE(mpop->bpt); + mpop->bpt = NULL; +} + +/* free_one_breeding() + * + * this frees the breedphase table for a single subpopulation. + */ + +void free_one_breeding(breedphase* bp) +{ + int i; + + for (i = 1; i <= bp[0].gp_operator; ++i) + { + if (bp[i].operator_free) + bp[i].operator_free(bp[i].data); + } +} + +/* initialize_breeding() + * + * this builds the breedphase table for each subpopulation. + */ + +void initialize_breeding(multipop* mpop) +{ + char pnamebuf[100]; + int i; + + mpop->bpt = (breedphase**) MALLOC(mpop->size * sizeof(breedphase*)); + + for (i = 0; i < mpop->size; ++i) + { + sprintf(pnamebuf, "subpop[%d].", i + 1); + mpop->bpt[i] = initialize_one_breeding(pnamebuf); + } + +} + +/* initialize_one_breeding() + * + * this builds the breedphase table for a single subpopulation. */ + +breedphase* initialize_one_breeding(char* prefix) +{ + char pnamebuf[100]; + char* param, * param2; + int i, j; + double rate; + int errors = 0; + breedphase* bp; + gp_operator* op; + char* name, * namep; + + /* get the number of phases. */ + param = get_breed_parameter(prefix, "breed_phases"); + if (param == NULL) + error(E_FATAL_ERROR, "no value specified for \"%sbreed_phases\".", + prefix); + j = atoi(param); + if (j <= 0) + error(E_FATAL_ERROR, + "\"%sbreed_phases\" must be greater than zero.", prefix); + + /* the first record of the table is a dummy -- its operator field + contains the number of phases. */ + bp = (breedphase*) MALLOC((j + 1) * sizeof(breedphase)); + bp[0].gp_operator = j; + bp[0].rate = 0.0; + bp[0].operator_start = NULL; + bp[0].operator_end = NULL; + bp[0].operator_free = NULL; + bp[0].operator_operate = NULL; + + /* for each phase... */ + for (i = 0; i < j; ++i) + { + bp[i + 1].operator_start = NULL; + bp[i + 1].operator_end = NULL; + bp[i + 1].operator_free = NULL; + bp[i + 1].operator_operate = NULL; + + /* get the operator string (name and options) */ + param = get_breed_parameter(prefix, "breed[%d].operator", i + 1); + if (param == NULL) + { + ++errors; + error(E_ERROR, + "no value specifed for \"%sbreed[%d].operator\".", + prefix, i + 1); + continue; + } + + /* isolate the name portion of the string. */ + name = (char*) MALLOC((strlen(param) + 1) * sizeof(char)); + namep = name; + for (param2 = param, namep = name; + *param2 && *param2 != ',' && *param2 != '\n'; + ++param2) + if (!isspace(*param2)) + *(namep++) = *param2; + *namep = 0; + if (!*param2) + --param2; + + /* look up the name in the table of operators. */ + op = operator_table; + while (op->name) + { + if (strcmp(op->name, name) == 0) + break; + ++op; + } + + FREE(name); + + if (op->name) + /* call the operator's initialization function to fill in the fields + of the table for this phase. */ + errors += op->func(param2 + 1, bp + i + 1); + else + /* the specified operator is not in the table. */ + error(E_FATAL_ERROR, + "%s: \"%s\" is not a known operator.", pnamebuf, param); + + /* get the rate for this phase. */ + param = get_breed_parameter(prefix, "breed[%d].rate", i + 1); + if (param == NULL) + { + ++errors; + error(E_ERROR, + "no value specified for \"%sbreed[%d].rate\".", + prefix, i + 1); + } else + { + rate = strtod(param, NULL); + if (rate < 0.0) + { + ++errors; + error(E_FATAL_ERROR, + "\"%sbreed[%d].rate\" must be nonnegative.", + prefix, i + 1); + } else if (rate == 0.0) + { + error(E_WARNING, + "\"%sbreed[%d].rate\" is zero; is this correct?", + prefix, i + 1); + } + bp[i + 1].rate = rate; + } + } + + /* if any errors occurred, stop now. */ + if (errors) + error(E_FATAL_ERROR, "Errors have occurred, aborting."); + + return bp; +} + +/* rebuild_breeding() + * + * rebuilds the breeding table from the parameter database. called from + * user code when the breeding parameters change mid-run. + */ + +void rebuild_breeding(multipop* mpop) +{ + free_breeding(mpop); + initialize_breeding(mpop); +} + +/* get_breed_parameter() + * + * format and following arguments are passed to sprintf to form a string. + * looks for a parameter called "", and returns its value. + * if it does not exist, returns the value of a parameter called "". + */ + +char* get_breed_parameter(char* prefix, char* format, ...) +{ + char* param; + static char pnamebuf[200]; + int len = strlen(prefix); + va_list ap; + + strcpy(pnamebuf, prefix); + va_start (ap, format); + vsprintf(pnamebuf + len, format, ap); + va_end (ap); + + param = get_parameter(pnamebuf); + if (param == NULL) + return get_parameter(pnamebuf + len); + else + return param; +} diff --git a/lib/lilgp/kernel/ckpoint.c b/lib/lilgp/kernel/ckpoint.c new file mode 100644 index 0000000..f124381 --- /dev/null +++ b/lib/lilgp/kernel/ckpoint.c @@ -0,0 +1,714 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +#ifdef USEVFORK +extern char **environ; +#endif + + +/* read_checkpoint() + * + * reads a checkpoint file, placing the generation number in gen and filling + * the population (and other structures) with information from the file + */ + +void read_checkpoint ( char *filename, int *gen, multipop **mpop ) +{ + FILE *f; + char *buffer; + ephem_const **eind; + int random_state_bytes; + int i; + char *rand_state; + + /* miscellaneous buffer for reading. */ + buffer = (char *)MALLOC ( MAXCHECKLINELENGTH ); + + /* open the file. */ + f = fopen ( filename, "rb" ); + if ( f == NULL ) + { + error ( E_FATAL_ERROR, "couldn't read checkpoint \"%s\".", + filename ); + } + + oprintf ( OUT_SYS, 30, "reading from checkpoint \"%s\".\n", + filename ); + + /** confirm the magic word that starts every checkpoint file. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); + if ( strcmp ( buffer, CK_MAGIC ) ) + error ( E_FATAL_ERROR, + "\"%s\" is not a lil-gp v1.0 checkpoint file.", filename ); + + /* skip the human-readable id line. */ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "id line: %s", buffer ); +#endif + + /** read and print the timestamp. **/ + fscanf ( f, "%*s " ); + fgets ( buffer, MAXCHECKLINELENGTH, f ); + /* chop the newline. */ + buffer[strlen(buffer)-1] = 0; + oprintf ( OUT_SYS, 30, " checkpoint timestamp: [%s].\n", buffer ); + + /* skip the "section: global" line. */ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be global section: %s", buffer ); +#endif + + /* read the generation number. */ + fscanf ( f, "%*s %d\n", gen ); + + /** read the random number state encoded as a string of hex chars. **/ + + /* first read the length. */ + fscanf ( f, "%*s %d ", &random_state_bytes ); +#ifdef DEBUG + fprintf ( stderr, "%d random state bytes.\n", random_state_bytes ); +#endif + /* allocate the buffer. */ + rand_state = (char *)MALLOC ( random_state_bytes+1 ); + /* read the hex data into the buffer. */ + read_hex_block ( rand_state, random_state_bytes, f ); + /* set the state. */ + random_set_state ( &globrand, rand_state ); + /* free the buffer. */ + FREE ( rand_state ); + /* slurp the newline character following the hex data. */ + fgetc ( f ); + + /** skip the "section: parameter" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be parameter section: %s", buffer ); +#endif + /* read the parameter database. */ + read_parameter_database ( f ); + + /* make internal copies of function set(s). */ + if ( app_build_function_sets() ) + error ( E_FATAL_ERROR, "app_build_function_sets() failure." ); + + /** skip the "section: erc" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be erc section: %s", buffer ); +#endif + + /* read the list of ephemeral constants, and index them */ + eind = read_ephem_list ( f ); + + /** skip the "section: erc" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be population section: %s", buffer ); +#endif + + /** read the population **/ + + /* allocate memory. */ + *mpop = (multipop *)MALLOC ( sizeof ( multipop ) ); + /* read number of subpops. */ + fscanf ( f, "%*s %d\n", &((**mpop).size) ); + /* allocate subpop list. */ + (**mpop).pop = (population **)MALLOC ( (**mpop).size * + sizeof ( population * ) ); + for ( i = 0; i < (**mpop).size; ++i ) + { + /** skip each "subpop: #" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be subpop %d: %s", i, buffer ); +#endif + /* read the population. */ + (**mpop).pop[i] = read_population ( eind, f ); + } + + /** skip the "section: application" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be application section: %s", buffer ); +#endif + /* read application-specific stuff. */ + app_read_checkpoint ( f ); + + /** skip the "section: statistics" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be statistics section: %s", buffer ); +#endif + /* read the statistics. */ + read_stats_checkpoint ( *mpop, eind, f ); + + /* close'n'free. */ + FREE ( eind ); + FREE ( buffer ); + fclose ( f ); + + oprintf ( OUT_SYS, 30, "population read from checkpoint \"%s\".\n", + filename ); + +} + +/* write_checkpoint() + * + * checkpoints the population to the given file. + */ + +void write_checkpoint ( int gen, multipop *mpop, char *filename ) +{ + + FILE *f; + unsigned char *rand_state; + ephem_index *eind; + int i; + int random_state_bytes; + time_t now; + char *param; + char *compresscommand[4] = { NULL, NULL, NULL, NULL }; + + /* open the file. */ + f = fopen ( filename, "w" ); + if ( f == NULL ) + { + error ( E_ERROR, "couldn't write checkpoint \"%s\"; skipping.", + filename ); + return; + } + + /* write magic number and id string. */ + fputs ( CK_MAGIC, f ); + fputs ( CK_IDSTRING, f ); + /* write timestamp. */ + time ( &now ); + fprintf ( f, "checkpoint-written: %s", ctime ( &now ) ); + + /* global section. */ + fputs ( "section: global\n", f ); + fprintf ( f, "generation: %d\n", gen ); + + /** write the state of the random number generator. **/ + rand_state = random_get_state ( &globrand, &random_state_bytes ); + fprintf ( f, "random-state: %d ", random_state_bytes ); + /* store buffer as hex data. */ + write_hex_block ( rand_state, random_state_bytes, f ); + fputc ( '\n', f ); + FREE ( rand_state ); + + /** write the parameter database. **/ + fprintf ( f, "section: parameter\n" ); + write_parameter_database ( f ); + + /** write the list of ephemeral constants, and index them. **/ + fprintf ( f, "section: erc\n" ); + eind = write_ephem_list ( f ); + + /** write the population. **/ + fprintf ( f, "section: population\n" ); + fprintf ( f, "subpop-count: %d\n", mpop->size ); + for ( i = 0; i < mpop->size; ++i ) + { + fprintf ( f, "subpop: %d\n", i ); + write_population ( mpop->pop[i], eind, f ); + } + + /** application-specific data. **/ + fprintf ( f, "section: application\n" ); + app_write_checkpoint ( f ); + + /** statistics structures. **/ + fprintf ( f, "section: statistics\n" ); + write_stats_checkpoint ( mpop, eind, f ); + + /** close'n'free. **/ + FREE ( eind ); + fclose ( f ); + + oprintf ( OUT_SYS, 20, " population checkpointed: \"%s\".\n", + filename ); + + /** do we compress the checkpoint file? **/ + param = get_parameter ( "checkpoint.compress" ); + if ( param ) + { +#if defined(USEVFORK) || defined(USESYSTEM) + /* allocate a string big enough to hold the command. */ + compresscommand[2] = (char *)MALLOC ( 2*(strlen(param) + + strlen(filename)) * + sizeof ( char ) ); + /* create the command string. */ + sprintf ( compresscommand[2], param, filename ); +#ifdef DEBUG + oprintf ( OUT_SYS, 20, " compression command is [%s]\n", + compresscommand[2] ); +#endif +#ifdef USEVFORK + /* in unix (solaris at least), a system() call performs a fork(), + * then an exec(). the fork system call copies the entire address + * space of the parent process to the child process. for large + * GP applications, this could be intolerably slow. + * + * vfork() does a fork without copying the address space. it can + * be used when the child immediately exec()s following the + * vfork(). + * + * we use exec() to do a "/bin/sh -c compresscommand" to parse + * and execute the compression command. + * + * we neither wait for the child to complete nor check the exit + * status to see if the compression was successful. + */ + + /** create the rest of the argv[] array to pass to the child. */ + compresscommand[0] = "/bin/sh"; + compresscommand[1] = "-c"; + if ( !vfork() ) + { + execve ( "/bin/sh", compresscommand, environ ); + _exit(1); + } +#else + /* this is provided for non-unix systems which don't provide the + * vfork() call but do have the system() call. + */ + + system ( compresscommand[2] ); +#endif + FREE ( compresscommand[2] ); + oprintf ( OUT_SYS, 20, " checkpoint compressed.\n" ); +#else + /* neither vfork() nor system() is available; + can't do compression. */ + oprintf ( OUT_SYS, 20, " checkpoint compression unavailable.\n" ); +#endif + } + +} + +/* read_population() + * + * allocates a population structure, reads a population from a checkpoint + * file into it, and returns it. must be passed an index to look up ERCs + * in. + */ + +population *read_population ( ephem_const **eind, FILE *f ) +{ + int i; + char *buffer; + population *pop; + + /* allocate. */ + pop = (population *)MALLOC ( sizeof ( population ) ); + /* read the "size" and "next" fields. */ + fscanf ( f, "%*s %d\n%*s %d\n", &(pop->size), &(pop->next) ); + /* allocate the individual array. */ + pop->ind = (individual *)MALLOC ( pop->size * sizeof ( individual ) ); + /* this buffer is used by read_individual for reading and parsing + function names in trees. we allocate it here, so that all calls + to read_individual share the same buffer (we don't have to repeatedly + allocate and free). */ + buffer = (char *)MALLOC ( MAXCHECKLINELENGTH ); + + for ( i = 0; i < pop->size; ++i ) + { + read_individual ( pop->ind+i, eind, f, buffer ); + } + + FREE ( buffer ); + return pop; +} + +/* read_individual() + * + * reads a single individual from a checkpoint file into the given individual + * pointer. it does NOT allocate the pointer. + */ + +void read_individual ( individual *ind, ephem_const **eind, FILE *f, + char *buffer ) +{ + int j, k[3]; + + /* read the evald and flags fields. */ + fscanf ( f, "%d %d ", &(ind->evald), &(ind->flags) ); + if ( ind->evald == EVAL_CACHE_VALID ) + { + /** if the individual has valid fitness values saved in the + file, read them. **/ + + /* skip over the human-readable fitness values and read the + hits count. */ + fscanf ( f, "%*f %*f %*f %d ", &(ind->hits) ); + /** the fitness values, which are double precision, are dumped out + in hex so that no significant digits are lost. **/ + read_hex_block ( &(ind->r_fitness), sizeof(double), f ); + fgetc ( f ); + read_hex_block ( &(ind->s_fitness), sizeof(double), f ); + fgetc ( f ); + read_hex_block ( &(ind->a_fitness), sizeof(double), f ); + fgetc ( f ); + } + +#ifdef DEBUG + fprintf ( stderr, "%lf %lf %lf %d %d %d\n", + ind->r_fitness, + ind->s_fitness, + ind->a_fitness, + ind->hits, + ind->evald, + ind->flags ); +#endif + + /* allocate the array of trees. */ + ind->tr = (tree *)MALLOC ( tree_count * sizeof ( tree ) ); + for ( j = 0; j < tree_count; ++j ) + { + /* read the tree number, tree size, and tree node count. */ + fscanf ( f, "%d %d %d ", k+0, k+1, k+2 ); + + /** read the tree into a generation space, then copy it to + it's final location. **/ + gensp_reset ( 0 ); + read_tree_recurse ( 0, eind, f, j, buffer ); + gensp_dup_tree ( 0, ind->tr+j ); + +#ifdef DEBUG_READTREE + fprintf ( stderr, "file: %d %d %d here: %d %d %d\n", + k[0], k[1], k[2], j, ind->tr[j].size, + ind->tr[j].nodes ); + print_tree ( ind->tr[j].data, stderr ); +#endif + if ( k[0] != j || + k[1] != ind->tr[j].size || + k[2] != ind->tr[j].nodes ) + { + /** if the values in the checkpoint file don't match the + values of the tree we read, this is a problem. this, of + course should never happen. **/ + /*printf("Correct size: %d Nodes: %d\n",ind->tr[j].size,ind->tr[j].nodes);*/ + error ( E_FATAL_ERROR, "checkpoint file corrupted in population section." ); + } + } +} + +/* read_tree_recurse() + * + * function to recursively read a tree from a checkpoint file. + */ + +void read_tree_recurse ( int space, ephem_const **eind, FILE *fil, int tree, + char *string ) +{ + function *f; + int i, j; + ephem_const *ep; + + /* read up until a nonwhitespace character in file. the nonwhitespace + character is saved in string[0]. */ + while ( isspace(string[0]=fgetc(fil)) ); + /* get the next character. */ + i = fgetc ( fil ); + if ( isspace(i) ) + /* if the next character is whitespace, then string[0] is a + one-character function name. null-terminate the string. */ + string[1] = 0; + else + { + /** if the next character is not whitespace, then string[0] + is either an open parenthesis or the first character of a + multi-character function name. **/ + + /* push the next character back. */ + ungetc ( i, fil ); + /* read the function name. skip over an open parenthesis, if there + is one. */ + fscanf ( fil, "%s ", string+(string[0]!='(') ); + } +#ifdef DEBUG_READTREE + fprintf ( stderr, "function name is [%s]\n", string ); +#endif + + /* look up the function name in this tree's function set. if the + function is an ERC terminal (the name is of the form "name:ERCindex"), + then place the ERC address in ep. */ + f = get_function_by_name ( tree, string, &ep, eind ); + /* add an lnode to the tree. */ + gensp_next(space)->f = f; + + switch ( f->type ) + { + case TERM_NORM: + case TERM_ARG: + case EVAL_TERM: + break; + case TERM_ERC: + /* record the ERC address as the next lnode in the array. */ + gensp_next(space)->d = ep; + break; + case FUNC_DATA: + case EVAL_DATA: + /** recursively read child functions, no skip nodes needed. **/ + for ( i = 0; i < f->arity; ++i ) + read_tree_recurse ( space, eind, fil, tree, string ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + /** recursively read child functions, recording skip values. **/ + for ( i = 0; i < f->arity; ++i ) + { + /* save an lnode for the skip value. */ + j = gensp_next_int ( space ); + /* read the child tree. */ + read_tree_recurse ( space, eind, fil, tree, string ); + /* figure out how big the child tree was, and save that + number in the skip node. */ + gensp[space].data[j].s = gensp[space].used-j-1; + } + break; + } +} + +/* get_function_by_name() + * + * looks up a function name in the function set for the given tree. if + * the function is an ERC, looks up the index (encoded in the name) + * and stores the ERC address in ep. + */ + +function * get_function_by_name ( int tree, char *string, ephem_const **ep, + ephem_const **eind ) +{ + int i, j, k; + function_set *fs = fset+tree_map[tree].fset; + + k = strlen ( string ); + for ( i = 0; i < k; ++i ) + { + if ( string[i] == ':' ) + { + /* names of the form "name:index" are chopped at the colon, + and the value of the index saved. */ + string[i] = 0; + j = atoi ( string+i+1 ); + break; + } + else if ( string[i] == ')' ) + { + /* chop the name at the first closing parenthesis, since we + could be passed a string like "function))))" */ + string[i] = 0; + break; + } + } + + /* find the string in the function set. */ + for ( i = 0; i < fs->size; ++i ) + if ( strcmp ( string, fs->cset[i].string ) == 0 ) + { + if ( fs->cset[i].type == TERM_ERC ) + { + /* if this is an ERC, lookup the saved index in the + eind table, and store the looked-up address in ep. */ + *ep = eind[j]; + (*ep)->f = fs->cset+i; + } + /* return a pointer to the function. */ + return fs->cset+i; + } + + /* this, of course, should never happen. */ + return NULL; +} + +/* write_population() + * + * writes a population to a checkpoint file. + */ + +void write_population ( population *pop, ephem_index *eind, FILE *f ) +{ + int i; + + /* write size and next fields. */ + fprintf ( f, "size: %d\nnext: %d\n", pop->size, pop->next ); + + /* write each individual. */ + for ( i = 0; i < pop->size; ++i ) + { + write_individual ( pop->ind+i, eind, f ); + } +} + +/* write_individual() + * + * writes an individual to a checkpoint file. uses eind to change ERC + * addresses to integer indices. + */ + +void write_individual ( individual *ind, ephem_index *eind, FILE *f ) +{ + int j; + lnode *l; + + /* write evald and flags fields. */ + fprintf ( f, "%d %d ", ind->evald, ind->flags ); + if ( ind->evald == EVAL_CACHE_VALID ) + { + /** if the fitness values are valid... **/ + + /* ...write them in human-readable form. */ + fprintf ( f, "%lf %lf %lf %d ", + ind->r_fitness, ind->s_fitness, + ind->a_fitness, ind->hits ); + /** then write the double-precision values as hex blocks, so + as not to lose significant digits. **/ + write_hex_block ( &(ind->r_fitness), sizeof(double), f ); + fputc ( ' ', f ); + write_hex_block ( &(ind->s_fitness), sizeof(double), f ); + fputc ( ' ', f ); + write_hex_block ( &(ind->a_fitness), sizeof(double), f ); + } + fputc ( '\n', f ); + + /** now write the trees of the individual. **/ + for ( j = 0; j < tree_count; ++j ) + { + /* write tree number, size, nodes. */ + fprintf ( f, "%d %d %d ", j, ind->tr[j].size, + ind->tr[j].nodes ); + + /** write tree data. **/ + l = ind->tr[j].data; + write_tree_recurse ( &l, eind, f ); + fputc ( '\n', f ); + } +} + +/* write_tree_recurse() + * + * function to recursively write trees to a checkpoint file. the same + * as print_tree_recurse(), except that ERC nodes are written as + * "name:index" rather than the value, using eind to translate addresses + * to indices. + */ + +void write_tree_recurse ( lnode **l, ephem_index *eind, FILE *fil ) +{ + function *f; + int i; + + /* remember which function we are. */ + f = (**l).f; + + /* a space, then an open-paren if this function is not a terminal. */ + fputc ( ' ', fil ); + if ( f->arity != 0 ) + fprintf ( fil, "(" ); + + ++*l; + if ( f->type == TERM_ERC ) + { + /* ERCs printed as "name:index". */ + fprintf ( fil, "%s:%d", f->string, + lookup_ephem ( eind, (**l).d ) ); + ++*l; + } + else + /* everything else printed normally. */ + fprintf ( fil, "%s", f->string ); + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + /** recursively print children. **/ + for ( i = 0; i < f->arity; ++i ) + write_tree_recurse ( l, eind, fil ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + /** recursive print children, ignoring the skip nodes. **/ + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + write_tree_recurse ( l, eind, fil ); + } + break; + } + + if ( f->arity != 0 ) + fprintf ( fil, ")" ); +} + +/* write_hex_block() + * + * writes a block of memory to a file, as a string of hex characters. + */ + +void write_hex_block ( void *buf, int n, FILE *f ) +{ + int i; + unsigned char *b = (unsigned char *)buf; + + for ( i = 0; i < n; ++i ) + fprintf ( f, "%02x", b[i] ); +} + +/* read_hex_block() + * + * reads hex characters into a block of memory, the inverse of + * write_hex_block(). + */ + +void read_hex_block ( void *buf, int n, FILE *f ) +{ + int i; + unsigned char *b = (unsigned char *)buf; + int c[2] = { 0, 0 }; + + for ( i = 0; i < n; ++i ) + { + c[0] = fgetc ( f ); + c[1] = fgetc ( f ); + + /* convert hex chars to base 10. */ + c[0] = c[0]>'9' ? c[0]-'a'+10 : c[0]-'0'; + c[1] = c[1]>'9' ? c[1]-'a'+10 : c[1]-'0'; + + b[i] = c[0] * 16 + c[1]; + } +} + + + diff --git a/lib/lilgp/kernel/crossovr.c b/lib/lilgp/kernel/crossovr.c new file mode 100644 index 0000000..6d98a47 --- /dev/null +++ b/lib/lilgp/kernel/crossovr.c @@ -0,0 +1,709 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +typedef struct +{ + int keep_trying; + int num_times; /* Number of times we should keep trying. If 0, infinity. --Sean */ + double internal; + double external; + double *tree; /* probability that a given tree + will be selected for crossover. */ + double *treecumul; /* running sum of "tree" field. */ + double treetotal; /* total of all tree fields. */ + double *func; /* probability that a given function + set will be selected for crossover. */ + char *sname; + sel_context *sc; + char *sname2; + sel_context *sc2; +} crossover_data; + + + +/* operator_crossver_init() + * + * called to parse crossover options and initialize one record + * of a breedphase table appropriately. + */ + +int operator_crossover_init ( char *options, breedphase *bp ) +{ + int errors = 0; + crossover_data *cd; + int i, j, k, m; + double r; + char **argv, **targv; + int internalset = 0, externalset = 0; + char *cp; + + cd = (crossover_data *)MALLOC ( sizeof ( crossover_data ) ); + + /* place values into the breedphase table record. */ + bp->gp_operator = OPERATOR_CROSSOVER; + bp->data = (void *)cd; + bp->operator_free = operator_crossover_free; + bp->operator_start = operator_crossover_start; + bp->operator_end = operator_crossover_end; + bp->operator_operate = operator_crossover; + + /* default values for all the crossover options. */ + cd->keep_trying = 0; + cd->num_times = 0; + cd->internal = 0.9; + cd->external = 0.1; + cd->tree = (double *)MALLOC ( tree_count * sizeof ( double ) ); + cd->treecumul = (double *)MALLOC ( tree_count * sizeof ( double ) ); + for ( j = 0; j < tree_count; ++j ) + cd->tree[j] = 0.0; + cd->treetotal = 0.0; + cd->func = (double *)MALLOC ( fset_count * sizeof ( double ) ); + cd->sname = NULL; + cd->sname2 = NULL; + + /* break the options string into an argv-style array of strings. */ + j = parse_o_rama ( options, &argv ); + + for ( i = 0; i < j; ++i ) + { + /* parse "keep_trying" option. */ + if ( strcmp ( "keep_trying", argv[i] ) == 0 ) + { + /* translate a string into a binary value. returns -1 if + the string is not one of the valid strings meaning + yes or no. */ + cd->keep_trying = translate_binary ( argv[++i] ); + if ( cd->keep_trying == -1 ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a valid setting for \"keep_trying\".", + argv[i] ); + } + } + /* parse number of times to try */ + else if (strcmp ("num_times", argv[i]) == 0) + { + cd->num_times = translate_binary(argv[++i]); + if (cd->num_times < 0 ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a valid setting for \"num_times\".", + argv[i] ); + } + } + /* parse "internal" option. */ + else if ( strcmp ( "internal", argv[i] ) == 0 ) + { + internalset = 1; + cd->internal = strtod ( argv[++i], NULL ); + if ( cd->internal < 0.0 ) + { + ++errors; + error ( E_ERROR, "crossover: \"internal\" must be nonnegative." ); + } + } + /* parse "external" option. */ + else if ( strcmp ( "external", argv[i] ) == 0 ) + { + externalset = 1; + cd->external = strtod ( argv[++i], NULL ); + if ( cd->external < 0.0 ) + { + ++errors; + error ( E_ERROR, "crossover: \"external\" must be nonnegative." ); + } + } + /* parse "select" option. */ + else if ( strcmp ( "select", argv[i] ) == 0 ) + { + if ( !exists_select_method ( argv[++i] ) ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a known selection method.", + argv[i] ); + } + FREE ( cd->sname ); + cd->sname = (char *)MALLOC ( (strlen(argv[i])+1) * sizeof ( char ) ); + strcpy ( cd->sname, argv[i] ); + if ( cd->sname2 == NULL ) + cd->sname2 = cd->sname; + } + /* parse "select2" option. */ + else if ( strcmp ( "select2", argv[i] ) == 0 ) + { + if ( !exists_select_method ( argv[++i] ) ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a known selection method.", + argv[i] ); + } + if ( cd->sname2 && cd->sname != cd->sname2 ) + FREE ( cd->sname2 ); + cd->sname2 = (char *)MALLOC ( (strlen(argv[i])+1) * sizeof ( char ) ); + strcpy ( cd->sname2, argv[i] ); + } + /* parse "tree" option. */ + else if ( strcmp ( "tree", argv[i] ) == 0 ) + { + k = parse_o_rama ( argv[++i], &targv ); + if ( k != tree_count ) + { + ++errors; + error ( E_ERROR, "crossover: wrong number of tree fields: \"%s\".", + argv[i] ); + } + else + { + for ( m = 0; m < k; ++m ) + { + cd->tree[m] = strtod ( targv[m], &cp ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a number.", + targv[m] ); + } + } + } + + free_o_rama ( k, &targv ); + } + /* parse "tree#" option. */ + else if ( strncmp ( "tree", argv[i], 4 ) == 0 ) + { + k = strtol ( argv[i]+4, &cp, 10 ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "crossover: unknown option \"%s\".", + argv[i] ); + } + if ( k < 0 || k >= tree_count ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is out of range.", + argv[i] ); + } + else + { + cd->tree[k] = strtod ( argv[++i], &cp ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a number.", + argv[i] ); + } + } + } + else + { + ++errors; + error ( E_ERROR, "crossover: unknown option \"%s\".", + argv[i] ); + } + } + + free_o_rama ( j, &argv ); + + if ( internalset && !externalset ) + cd->external = 0.0; + else if ( !internalset && externalset ) + cd->internal = 0.0; + + if ( cd->sname == NULL ) + { + ++errors; + error ( E_ERROR, "crossover: no selection method specified." ); + } + + /** compute "func" array from the "tree" array. **/ + + for ( j = 0; j < tree_count; ++j ) + cd->treetotal += cd->tree[j]; + if ( cd->treetotal == 0.0 ) + { + for ( j = 0; j < tree_count; ++j ) + cd->tree[j] = 1.0; + cd->treetotal = tree_count; + } + + for ( j = 0; j < fset_count; ++j ) + cd->func[j] = 0.0; + for ( j = 0; j < tree_count; ++j ) + cd->func[tree_map[j].fset] += cd->tree[j]; + + r = 0.0; + for ( j = 0; j < fset_count; ++j ) + r = (cd->func[j] += r); + +#ifdef DEBUG + if ( !errors ) + { + printf ( "crossover options:\n" ); + printf ( " internal: %lf external: %lf\n", cd->internal, cd->external ); + printf ( " keep_trying: %d\n", cd->keep_trying ); + printf ( " primary selection: %s\n", cd->sname==NULL?"NULL":cd->sname ); + printf ( " second selection: %s\n", cd->sname2==NULL?"NULL":(cd->sname2==cd->sname?"same as primary":cd->sname2) ); + printf ( " tree total: %lf\n", cd->treetotal ); + for ( j = 0; j < tree_count; ++j ) + printf ( " tree %d: %lf\n", j, cd->tree[j] ); + for ( j = 0; j < fset_count; ++j ) + printf ( " fset %d: %lf\n", j, cd->func[j] ); + } +#endif + + return errors; +} + +/* operator_crossover_free() + * + * free the crossover-specific data structure. + */ + +void operator_crossover_free ( void *data ) +{ + crossover_data * cd; + + cd = (crossover_data *)data; + + FREE ( cd->sname ); + if ( cd->sname != cd->sname2 ) + FREE ( cd->sname2 ); + FREE ( cd->tree ); + FREE ( cd->treecumul ); + FREE ( cd->func ); + FREE ( cd ); +} + +/* operator_crossover_start() + * + * called at the start of the breeding process each generation. + * initializes the selection contexts for this phase. + */ + +void operator_crossover_start ( population *oldpop, void *data ) +{ + crossover_data * cd; + select_context_func_ptr select_con; + + cd = (crossover_data *)data; + + select_con = get_select_context ( cd->sname ); + cd->sc = select_con ( SELECT_INIT, NULL, oldpop, cd->sname ); + + /* if there is a separate selection method specified for the + second parent... */ + if ( cd->sname2 != cd->sname ) + { + /* ...then initialize it too. */ + select_con = get_select_context ( cd->sname2 ); + cd->sc2 = select_con ( SELECT_INIT, NULL, oldpop, cd->sname2 ); + } + else + /* ...otherwise use the first context. */ + cd->sc2 = cd->sc; +} + +/* operator_crossover_end() + * + * called when breeding is finished each generation. frees up selection + * contexts for this phase. + */ + +void operator_crossover_end ( void *data ) +{ + crossover_data * cd; + + cd = (crossover_data *)data; + + cd->sc->context_method ( SELECT_CLEAN, cd->sc, NULL, NULL ); + if ( cd->sname != cd->sname2 ) + cd->sc2->context_method ( SELECT_CLEAN, cd->sc2, NULL, NULL ); +} + +/* operator_crossover() + * + * performs the crossover, inserting one or both offspring into the + * new population. + */ + +void operator_crossover ( population *oldpop, population *newpop, + void *data ) +{ + crossover_data * cd; + int p1, p2; + int ps1, ps2; + int l1, l2; + lnode *st[3]; + int sts1, sts2; + int ns1, ns2; + int badtree1, badtree2; + double total; + int forceany1, forceany2; + int repcount; + int f, t1, t2, j; + double r, r2; + int totalnodes1, totalnodes2; + int i; + int count=0; /* Number of attempts */ + + /* get the crossover-specific data structure. */ + cd = (crossover_data *)data; + total = cd->internal + cd->external; + + /* choose a function set. */ + r = random_double(&globrand) * cd->treetotal; + for ( f = 0; r >= cd->func[f]; ++f ); + + /* fill in the "treecumul" array, zeroing all trees which + don't use the selected function set. */ + r = 0.0; + t1 = 0; + for ( j = 0; j < tree_count; ++j ) + { + if ( tree_map[j].fset == f ) + r = (cd->treecumul[j] = r + cd->tree[j]); + else + cd->treecumul[j] = r; + } + + /* select the first and second trees. */ + r2 = random_double(&globrand) * r; + for ( t1 = 0; r2 >= cd->treecumul[t1]; ++t1 ); + r2 = random_double(&globrand) * r; + for ( t2 = 0; r2 >= cd->treecumul[t2]; ++t2 ); + +#ifdef DEBUG_CROSSOVER + printf ( "selected function set %d --> t1: %d; t2: %d\n", f, t1, t2 ); +#endif + + /* choose two parents */ + p1 = cd->sc->select_method ( cd->sc ); + ps1 = oldpop->ind[p1].tr[t1].nodes; + /* if the tree only has one node, we obviously can't do + fucntionpoint crossover. use anypoint instead. */ + forceany1 = (ps1==1||total==0.0); + + p2 = cd->sc2->select_method ( cd->sc2 ); + ps2 = oldpop->ind[p2].tr[t2].nodes; + forceany2 = (ps2==1||total==0.0); + +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "parent 1 is:\n" ); + print_individual ( oldpop->ind+p1, stderr ); + fprintf ( stderr, "parent 2 is:\n" ); + print_individual ( oldpop->ind+p2, stderr ); +#endif + + while(1) + { + count++; + badtree1=0; /* Moved up here so they don't overwrite my claims --strong typing */ + badtree2=0; + + /* choose two crossover points */ + + if ( forceany1 ) + { + /* choose any point. */ + l1 = random_int ( &globrand, ps1 ); + st[1] = get_subtree ( oldpop->ind[p1].tr[t1].data, l1 ); + /* print_tree(st[1],stdout);*/ + } + else if ( total*random_double(&globrand) < cd->internal ) + { + /* choose an internal point. */ + l1 = random_int ( &globrand, tree_nodes_internal (oldpop->ind[p1].tr[t1].data) ); + st[1] = get_subtree_internal ( oldpop->ind[p1].tr[t1].data, l1 ); + /*print_tree(st[1],stdout);*/ + } + else + { + /* choose an external point. */ + l1 = random_int ( &globrand, tree_nodes_external (oldpop->ind[p1].tr[t1].data) ); + st[1] = get_subtree_external ( oldpop->ind[p1].tr[t1].data, l1 ); + /*print_tree(st[1],stdout);*/ + } + + if ( forceany2 ) + { + /* choose any point on second parent. */ + l2 = random_int ( &globrand, ps2 ); + st[2] = get_subtree ( oldpop->ind[p2].tr[t2].data, l2 ); + /*print_tree(st[2],stdout);*/ + } + else if ( total*random_double(&globrand) < cd->internal ) + { + /* choose internal point. */ + l2 = random_int ( &globrand, tree_nodes_internal (oldpop->ind[p2].tr[t2].data) ); + st[2] = get_subtree_internal ( oldpop->ind[p2].tr[t2].data, l2 ); + /*print_tree(st[2],stdout);*/ + } + else + { + /* choose external point. */ + l2 = random_int ( &globrand, tree_nodes_external (oldpop->ind[p2].tr[t2].data) ); + st[2] = get_subtree_external ( oldpop->ind[p2].tr[t2].data, l2 ); + /*print_tree(st[2],stdout);*/ + } + + /** validate the second offspring with regards to the first + offspring. **/ + + if ( st[1]->f->return_type != st[2]->f->return_type) + {badtree2=1; badtree1=1;} /* Needs to be *both*--don't know if either + is valid with regards to new children; + the simple way out is to just say they're + both bad. This is a better randomization + anyway... */ + + /* if we're supposed to keep trying, skip up and choose new crossover + points. */ + if ( cd->keep_trying && badtree2 && + (cd->num_times==0 || + cd->num_times > count) ) + continue; + +#ifdef DEBUG_CROSSOVER + printf ( "subtree 1 is: " ); + print_tree ( st[1], stdout ); + printf ( "subtree 2 is: " ); + print_tree ( st[2], stdout ); +#endif + + /* count the nodes in the selected subtrees. */ + sts1 = tree_nodes ( st[1] ); + sts2 = tree_nodes ( st[2] ); + + /* calculate the sizes of the offspring. */ + ns1 = ps1 - sts1 + sts2; + ns2 = ps2 - sts2 + sts1; + + totalnodes1 = ns1; + totalnodes2 = ns2; + +#ifdef DEBUG_CROSSOVER + printf ( "newtree 1 has size %d; limit is %d\n", + ns1, tree_map[t1].nodelimit ); +#endif + + /** validate the first offspring against the tree node and depth + limits; set "badtree1" if any are violated. **/ + + /*badtree1 = 0; moved to the while() loop */ + if ( tree_map[t1].nodelimit > -1 && ns1 > tree_map[t1].nodelimit ) + badtree1 |= 1; + else if ( tree_map[t1].depthlimit > -1 ) + { + ns1 = tree_depth_to_subtree ( oldpop->ind[p1].tr[t1].data, st[1] ) + + tree_depth ( st[2] ); +#ifdef DEBUG_CROSSOVER + printf ( "newtree 1 has depth %d; limit is %d\n", + ns1, tree_map[t1].depthlimit ); +#endif + if ( ns1 > tree_map[t1].depthlimit ) + badtree1 |= 1; + } + + /* if we're supposed to keep trying, skip up and choose new crossover + points. */ + if ( cd->keep_trying && badtree1 && + (cd->num_times==0 || + cd->num_times > count) ) + continue; + + /** validate the second offspring against the tree node and depth + limits; set "badtree2" if any are violated. **/ + + /* badtree2 = 0; moved to the while() loop */ + if ( tree_map[t2].nodelimit > -1 && ns2 > tree_map[t2].nodelimit ) + badtree2 |= 1; + else if ( tree_map[t2].depthlimit > -1 ) + { + ns2 = tree_depth_to_subtree ( oldpop->ind[p2].tr[t2].data, st[2] ) + + tree_depth ( st[1] ); + if ( ns2 > tree_map[t2].depthlimit ) + badtree2 |= 1; + } + + /* if we're supposed to keep trying, skip up and choose new crossover + points. */ + + if ( cd->keep_trying && badtree2 && + (cd->num_times==0 || + cd->num_times > count) ) + continue; + + /* check both offspring against the individual node limits, set + badtree1 and/or badtree2 if either is too big. */ + + if ( ind_nodelimit > -1 ) + { + for ( i = 0; i < tree_count; ++i ) + { + if ( i != t1 ) + totalnodes1 += oldpop->ind[p1].tr[i].nodes; + if ( i != t2 ) + totalnodes2 += oldpop->ind[p2].tr[i].nodes; + } + badtree1 |= (totalnodes1 > ind_nodelimit); + badtree2 |= (totalnodes2 > ind_nodelimit); +#ifdef DEBUG_CROSSOVER + printf ( "newind 1 has %d nodes; limit is %d\n", + totalnodes1, ind_nodelimit ); +#endif + } + + /* choose new crossover points if either tree is too big. */ + if ( cd->keep_trying && (badtree1 || badtree2) && + (cd->num_times==0 || + cd->num_times > count)) + continue; + + /* copy the first parent to the first offspring position */ + duplicate_individual ( newpop->ind+newpop->next, + oldpop->ind+p1 ); + if ( !badtree1 ) + { + /* if the first offspring is allowable... */ + +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 1 is allowable.\n" ); +#endif + + /* make a copy of the crossover tree, replacing the + selected subtree with the crossed-over subtree. */ + copy_tree_replace_many ( 0, oldpop->ind[p1].tr[t1].data, + st+1, st+2, 1, &repcount ); + if ( repcount != 1 ) + { + /* this can't happen, but check anyway. */ + error ( E_FATAL_ERROR, + "botched crossover: this can't happen" ); + } + + /* free the appropriate tree of the new individual */ + free_tree ( newpop->ind[newpop->next].tr+t1 ); + /* copy the crossovered tree to the freed space */ + gensp_dup_tree ( 0, newpop->ind[newpop->next].tr+t1 ); + + /* the new individual's fitness fields are of course invalid. */ + newpop->ind[newpop->next].evald = EVAL_CACHE_INVALID; + newpop->ind[newpop->next].flags = FLAG_NONE; + } + else + { + /* offspring too big but keep_trying not set, just leave the copied + parent 1 in the offspring position. */ +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 1 is too big; copying parent 1.\n" ); +#endif + } + + /* we've just filled in one member of the new population. */ + ++newpop->next; + +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 1:" ); + if ( newpop->ind[newpop->next-1].evald == EVAL_CACHE_VALID ) + fprintf ( stderr, " (valid)\n" ); + else + fprintf ( stderr, " (invalid)\n" ); + print_individual ( newpop->ind+(newpop->next-1), stderr ); +#endif + + /* if the new population needs another member (it's not full) */ + if ( newpop->next < newpop->size ) + { + /* copy the second parent to the second offspring position. */ + duplicate_individual ( newpop->ind+newpop->next, + oldpop->ind+p2 ); + if ( !badtree2 ) + { + /* if the second offspring is allowable... */ +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 2 is allowable.\n" ); +#endif + /* then make a copy of the tree, replacing the crossover + subtree. */ + copy_tree_replace_many ( 0, oldpop->ind[p2].tr[t2].data, + st+2, st+1, 1, &repcount ); + if ( repcount != 1 ) + { + error ( E_FATAL_ERROR, + "bad crossover: this can't happen" ); + } + + /* free the old tree in the new individual, and replace + it with the crossover tree. */ + free_tree ( newpop->ind[newpop->next].tr+t2 ); + gensp_dup_tree ( 0, newpop->ind[newpop->next].tr+t2 ); + + newpop->ind[newpop->next].evald = EVAL_CACHE_INVALID; + newpop->ind[newpop->next].flags = FLAG_NONE; + } + else + { + /* offspring too big but keep_trying not set; just leave + the copy of parent 2 where it is. */ +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 2 is big; copying parent 2.\n" ); +#endif + } + + ++newpop->next; + +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 2:" ); + if ( newpop->ind[newpop->next-1].evald == EVAL_CACHE_VALID ) + fprintf ( stderr, " (valid)\n" ); + else + fprintf ( stderr, " (invalid)\n" ); + print_individual ( newpop->ind+(newpop->next-1), stderr ); +#endif + + } +#ifdef DEBUG_CROSSOVER + else + { + /* the first offspring filled the population, discard the + second. */ + fprintf ( stderr, "offspring 2 not needed.\n\n" ); + } +#endif + + break; + } + +#ifdef DEBUG_CROSSOVER + printf ( "CROSSOVER COMPLETE.\n\n\n" ); +#endif + +} + diff --git a/lib/lilgp/kernel/defines.h b/lib/lilgp/kernel/defines.h new file mode 100644 index 0000000..f894f37 --- /dev/null +++ b/lib/lilgp/kernel/defines.h @@ -0,0 +1,122 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _DEFINES_H +#define _DEFINES_H + +/* remove this #define to turn off memory tracking. */ +#define TRACK_MEMORY + +/* define this to write a file "memory.log" with a record of all MALLOC()s, + REALLOC()s, and FREE()s. useful for debugging and finding memory leaks. */ +/*#define MEMORY_LOG*/ + +/* when this symbol is defined, the current time will be used instead of + 1 as the default random seed. */ +/*#define RANDOMSEEDTIME*/ + +#define EXTRAMEM 8 +#define EPHEM_METABLOCKSIZE 10 +#define EPHEM_STARTSIZE 1000 +#define EPHEM_GROWSIZE 500 + +#define MAXPARAMLINELENGTH 255 +#define MAXCHECKLINELENGTH 255 + +#define FUNC_DATA 1 +#define FUNC_FUNC 1 +#define FUNC_EXPR 2 +#define FUNC_MACRO 2 +#define TERM_NORM 3 +#define TERM_ERC 4 +#define TERM_ARG 5 +#define EVAL_DATA 6 +#define EVAL_FUNC 6 +#define EVAL_EXPR 7 +#define EVAL_MACRO 7 +#define EVAL_TERM 8 + +#define EVAL_CACHE_INVALID 1 +#define EVAL_CACHE_VALID 0 + +#define SELECT_INIT 1 +#define SELECT_CLEAN 3 + +#define GENERATE_FULL 1 +#define GENERATE_GROW 2 +#define GENERATE_HALF_AND_HALF 3 +#define LOAD_FILE 4 + +#define MAXDETAILLEVEL 100 +#define DEFDETAILLEVEL 50 +#define MINDETAILLEVEL 1 + +#define E_WARNING 0 +#define E_ERROR 1 +#define E_FATAL_ERROR 2 + +#define OUTPUT_OK 0 +#define OUTPUT_DUP_ID 1 +#define OUTPUT_DUP_EXT 2 +#define OUTPUT_TOOMANY 3 +#define OUTPUT_TOOLATE 4 + +#define OUT_SYS 0 +#define OUT_GEN 1 +#define OUT_PRG 2 +#define OUT_STT 3 +#define OUT_BST 4 +#define OUT_HIS 5 +#define OUT_USER 6 + +#define PARAM_COPY_NONE 0 +#define PARAM_COPY_NAME 1 +#define PARAM_COPY_VALUE 2 + +#define MAXMESSAGELENGTH 4096 +#define MAXOUTPUTSTREAMS 25 +#define SYSOUTPUTSTREAMS 6 + +#define PARAMETER_MINSIZE 31 +#define PARAMETER_CHUNKSIZE 16 + +#define OPERATOR_CROSSOVER 1 +#define OPERATOR_REPRODUCE 2 +#define OPERATOR_MUTATE 3 + +#define FLAG_NONE 0 +#define FLAG_NEWEXCH 1 + +#define GENSPACE_COUNT 2 + +#define GENSPACE_START 100 +#define GENSPACE_GROW 100 + +#define CK_MAGIC "lilgp1.0\n" +#define CK_IDSTRING "id: lilgp v1.0 checkpoint file\n" + +#endif diff --git a/lib/lilgp/kernel/ephem.c b/lib/lilgp/kernel/ephem.c new file mode 100644 index 0000000..eeb51e0 --- /dev/null +++ b/lib/lilgp/kernel/ephem.c @@ -0,0 +1,380 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* total counts of ERCs used and freed */ +int ercused = 0; +int ercfree = 0; +int ercalloc = 0; + +/* the active list. */ +ephem_const *active_head; +int active_count; + +/* the free list. */ +ephem_const *free_head; +int free_count; + +/* pointers for the allocated blocks for ERCs. */ +ephem_const **block_list; +int block_list_size; +int block_count; + +/* initialize_ephem_const() + * + * allocate and set up the first block of ERCs, the free list, + * etc. + */ + +void initialize_ephem_const ( void ) +{ + int i; + int size; + + oputs ( OUT_SYS, 30, " ephemeral random constants.\n" ); + + active_head = (ephem_const *)MALLOC ( sizeof ( ephem_const ) ); + active_head->refcount = 1; + active_head->next = NULL; + + free_head = (ephem_const *)MALLOC ( sizeof ( ephem_const ) ); + free_head->refcount = 1; + free_head->next = NULL; + + /** how many block >>pointers<< to allocate (not blocks). **/ + block_list_size = EPHEM_METABLOCKSIZE; + block_list = (ephem_const **)MALLOC ( block_list_size * + sizeof ( ephem_const * ) ); + + /* allocate the first block. */ + size = EPHEM_STARTSIZE; + block_count = 1; + block_list[0] = (ephem_const *)MALLOC ( size * + sizeof ( ephem_const ) ); + free_count = ercalloc = size; + + /* chain all the ERC records in the block together. */ + for ( i = 0; i < size-1; ++i ) + block_list[0][i].next = block_list[0]+i+1; + block_list[0][size-1].next = NULL; + + /* add the chain to the free list. */ + free_head->next = block_list[0]; +} + +/* free_ephem_const() + * + * free all the memory allocated to hold ERCs. + */ + +void free_ephem_const ( void ) +{ + int i; + + ephem_const_gc(); + + for ( i = 0; i < block_count; ++i ) + FREE ( block_list[i] ); + FREE ( block_list ); + + FREE ( active_head ); + FREE ( free_head ); +} + +/* enlarge_ephem_space() + * + * allocate a new block of ERCs, and add all the records in it + * to the free list. + */ + +void enlarge_ephem_space ( void ) +{ + int i; + int size = EPHEM_GROWSIZE; + + /** if we've allocated too many blocks, we need to lengthen the + list that holds block pointers. **/ + if ( block_count == block_list_size ) + { + block_list_size += EPHEM_METABLOCKSIZE; + block_list = (ephem_const **)REALLOC ( block_list, + block_list_size * + sizeof ( ephem_const *)); + } + + /* allocate the new block. */ + block_list[block_count] = + (ephem_const *)MALLOC ( size * sizeof ( ephem_const ) ); + free_count += size; + ercalloc += size; + + /* chain together all the records in it. */ + for ( i = 0; i < size-1; ++i ) + block_list[block_count][i].next = + block_list[block_count]+i+1; + + block_list[block_count][size-1].next = free_head->next; + free_head->next = block_list[block_count]; + + ++block_count; +} + +/* new_ephemeral_const() + * + * create a new ERC, corresponding to the given function. + */ + +ephem_const *new_ephemeral_const ( function *f ) +{ + ephem_const *p; + + /* make sure we have enough space. */ + while ( free_count <= 0 ) + enlarge_ephem_space(); + + /* take the next record off the free list. */ + p = free_head->next; + free_head->next = free_head->next->next; + --free_count; + + /* call user code to generate the constant, placing + the value in the new record. */ + f->ephem_gen ( &(p->d) ); + p->f = f; + + /* no references yet. */ + p->refcount = 0; + + /* add this record to the linked list of active ERCs. */ + p->next = active_head->next; + active_head->next = p; + ++active_count; + + ++ercused; + + return p; +} + +/* ephem_const_gc() + * + * traverse the linked list of active ERCs, removing those with + * a reference count of 0. + */ + +void ephem_const_gc ( void ) +{ + ephem_const *p = active_head->next; + ephem_const *m = active_head; + + while ( p != NULL ) + { + if ( p->refcount == 0 ) + { + /* patch the linked list to skip this record. */ + m->next = p->next; + + /* add this record to the free list. */ + p->next = free_head->next; + free_head->next = p; + ++free_count; + ++ercfree; + --active_count; + + p = m->next; + } + else + { + /* move past this record. */ + m = p; + p = p->next; + } + } + +} + +/* read_ephem_list() + * + * read list of ERCs from a checkpoint file. + */ + +ephem_const **read_ephem_list ( FILE *f ) +{ + ephem_const **ind; + ephem_const *p; + int count; + int i, j; + char *buffer; + + /* read the count. */ + fscanf ( f, "%*s %d\n", &count ); + + /** if no ERCs, do nothing and return a NULL pointer for the index. **/ + if ( count == 0 ) + return NULL; + + /* somewhere to place (and ignore) the human-readable forms of + the ERCs after the hex blocks. */ + buffer = (char *)MALLOC ( MAXCHECKLINELENGTH ); + + /* allocate the index translating integers --> addresses. */ + ind = (ephem_const **)MALLOC ( count * sizeof ( ephem_const * ) ); + + /** allocate a new block to hold all the ERCs we read. **/ + + /* we shouldn't EVER need to lengthen the block list while reading + a checkpoint, but check anyway... */ + if ( block_count == block_list_size ) + { + block_list_size += EPHEM_METABLOCKSIZE; + block_list = (ephem_const **)REALLOC ( block_list, + block_list_size * + sizeof ( ephem_const *)); + } + + /* allocate the new block. */ + block_list[block_count] = + (ephem_const *)MALLOC ( count * sizeof ( ephem_const ) ); + ercalloc += count; + + /* read the checkpointed ERCs into the new block. */ + for ( i = 0; i < count; ++i ) + { + p = block_list[block_count]+i; + fscanf ( f, "%d %d ", &j, &(p->refcount) ); + ind[j] = p; + read_hex_block ( &(p->d), sizeof ( DATATYPE ), f ); + fgets ( buffer, MAXCHECKLINELENGTH, f ); + + /* chain together all the records. */ + block_list[block_count][i].next = block_list[block_count]+i+1; + } + /* add the chained block to the active list. */ + block_list[block_count][count-1].next = active_head->next; + active_head->next = block_list[block_count]; + active_count += count; + ercused += count; + + ++block_count; + + FREE ( buffer ); + + return ind; + +} + +/* write_ephem_list() + * + * write the active list of ERCs to a checkpoint file. returns an + * index listing for translating an ERC address to a unique integer. + * (we can't store the address directly in the checkpoint, since + * the ERCs won't be loaded in the same spot in memory on restart.) + */ + +ephem_index *write_ephem_list ( FILE *f ) +{ + ephem_index *ind; + ephem_const *p = active_head->next; + int j; + + ind = (ephem_index *)MALLOC ( active_count * sizeof ( ephem_index ) ); + fprintf ( f, "erc-count: %d\n", active_count ); + + j = 0; + while ( p ) + { + /* store the index entry. */ + ind[j].e = p; + ind[j].i = j; + + /* write the reference count and the value. */ + fprintf ( f, "%d %d ", j, p->refcount ); + write_hex_block ( &(p->d), sizeof(DATATYPE), f ); + fprintf ( f, " %s %s\n", p->f->string, p->f->ephem_str ( p->d ) ); + + /* move down the list. */ + p = p->next; + ++j; + } + + /* sort the index by address, so we can use binary searching + on it. */ + qsort ( ind, active_count, sizeof(ephem_index), ephem_index_comp ); + + return ind; +} + +/* lookup_ephem() + * + * look up an ERC (by address) in an index returned by write_ephem_list() + * and return its integer index. + */ + +int lookup_ephem ( ephem_index *ind, ephem_const *e ) +{ + int low = 0; + int high = (ercused-ercfree); + int mid; + + while ( low < high-1 ) + { + mid = (low+high)/2; + if ( e >= ind[mid].e ) + low = mid; + else + high = mid; + } + + return ind[low].i; +} + +/* ephem_index_comp() + * + * comparison function for using qsort() to order the ERC index by + * address. + */ + +int ephem_index_comp ( const void *a, const void *b ) +{ + if ( ((ephem_index *)a)->e < ((ephem_index *)b)->e ) + return -1; + else + return 1; +} + +/* get_ephem_stats() + * + * return ERC statistics. + */ + +void get_ephem_stats ( int *used, int *free, int *blocks, int *alloc ) +{ + *used = ercused; + *free = ercfree; + *blocks = block_count; + *alloc = ercalloc; +} diff --git a/lib/lilgp/kernel/ev_none.c b/lib/lilgp/kernel/ev_none.c new file mode 100644 index 0000000..8728ea6 --- /dev/null +++ b/lib/lilgp/kernel/ev_none.c @@ -0,0 +1,61 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include "event.h" + +static char string[2] = { "" }; + +void event_init ( void ) +{ +} + +void event_mark ( event *e ) +{ +} + +char *event_string ( event *z ) +{ + return string; +} + +void event_zero ( event *z ) +{ +} + +void event_diff ( event *z, event *one, event *two ) +{ +} + +void event_accum ( event *z, event *one ) +{ +} + +void event_accumdiff ( event *z, event *one, event *two ) +{ +} + + diff --git a/lib/lilgp/kernel/ev_none.h b/lib/lilgp/kernel/ev_none.h new file mode 100644 index 0000000..63e0a2e --- /dev/null +++ b/lib/lilgp/kernel/ev_none.h @@ -0,0 +1,45 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _EVENT_H +#define _EVENT_H + +typedef struct +{ +} event; + +void event_init ( void ); +void event_mark ( event *e ); +char *event_string ( event *z ); +void event_zero ( event *z ); +void event_diff ( event *z, event *one, event *two ); +void event_accum ( event *z, event *one ); +void event_accumdiff ( event *z, event *one, event *two ); + +#undef TIMING_AVAILABLE + +#endif diff --git a/lib/lilgp/kernel/ev_time.c b/lib/lilgp/kernel/ev_time.c new file mode 100644 index 0000000..27c27aa --- /dev/null +++ b/lib/lilgp/kernel/ev_time.c @@ -0,0 +1,70 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include +#include + +#include "event.h" + +static char string[200]; + +void event_init ( void ) +{ +} + +void event_mark ( event *e ) +{ + e->wall = time(NULL); +} + +char *event_string ( event *z ) +{ + sprintf ( string, "%ds wall", z->wall ); + return string; +} + +void event_zero ( event *z ) +{ + z->wall = 0; +} + +void event_diff ( event *z, event *one, event *two ) +{ + z->wall = two->wall - one->wall; +} + +void event_accum ( event *z, event *one ) +{ + z->wall += one->wall; +} + +void event_accumdiff ( event *z, event *one, event *two ) +{ + z->wall += two->wall - one->wall; +} + + diff --git a/lib/lilgp/kernel/ev_time.h b/lib/lilgp/kernel/ev_time.h new file mode 100644 index 0000000..999b262 --- /dev/null +++ b/lib/lilgp/kernel/ev_time.h @@ -0,0 +1,49 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _EVENT_H +#define _EVENT_H + +#include +#include + +typedef struct +{ + clock_t wall; +} event; + +void event_init ( void ); +void event_mark ( event *e ); +char *event_string ( event *z ); +void event_zero ( event *z ); +void event_diff ( event *z, event *one, event *two ); +void event_accum ( event *z, event *one ); +void event_accumdiff ( event *z, event *one, event *two ); + +#define TIMING_AVAILABLE + +#endif diff --git a/lib/lilgp/kernel/ev_times.c b/lib/lilgp/kernel/ev_times.c new file mode 100644 index 0000000..1793c5c --- /dev/null +++ b/lib/lilgp/kernel/ev_times.c @@ -0,0 +1,85 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include +#include + +#include "event.h" + +static int tickspersec; +static char string[200]; + +void event_init ( void ) +{ + tickspersec = CLK_TCK; +} + +void event_mark ( event *e ) +{ + struct tms b; + + e->wall = times(&b); + e->user = b.tms_utime; + e->sys = b.tms_stime; +} + +char *event_string ( event *z ) +{ + sprintf ( string, "%.2lfs wall, %.2lfs user, %.2lfs sys", + (double)(z->wall)/tickspersec, + (double)(z->user)/tickspersec, + (double)(z->sys)/tickspersec ); + return string; +} + +void event_zero ( event *z ) +{ + z->wall = z->user = z->sys = 0; +} + +void event_diff ( event *z, event *one, event *two ) +{ + z->wall = two->wall - one->wall; + z->user = two->user - one->user; + z->sys = two->sys - one->sys; +} + +void event_accum ( event *z, event *one ) +{ + z->wall += one->wall; + z->user += one->user; + z->sys += one->sys; +} + +void event_accumdiff ( event *z, event *one, event *two ) +{ + z->wall += two->wall - one->wall; + z->user += two->user - one->user; + z->sys += two->sys - one->sys; +} + + diff --git a/lib/lilgp/kernel/ev_times.h b/lib/lilgp/kernel/ev_times.h new file mode 100644 index 0000000..07a33b2 --- /dev/null +++ b/lib/lilgp/kernel/ev_times.h @@ -0,0 +1,56 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _EVENT_H +#define _EVENT_H + +#include +#include +#include + +typedef struct +{ + clock_t wall; + clock_t user; + clock_t sys; +} event; + +void event_init ( void ); +void event_mark ( event *e ); +char *event_string ( event *z ); +void event_zero ( event *z ); +void event_diff ( event *z, event *one, event *two ); +void event_accum ( event *z, event *one ); +void event_accumdiff ( event *z, event *one, event *two ); + +#ifndef CLK_TCK +#define CLK_TCK sysconf(_SC_CLK_TCK) +#endif + +#define TIMING_AVAILABLE + +#endif diff --git a/lib/lilgp/kernel/eval.c b/lib/lilgp/kernel/eval.c new file mode 100644 index 0000000..5e414b6 --- /dev/null +++ b/lib/lilgp/kernel/eval.c @@ -0,0 +1,220 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* set_current_individual() + * + * the current_individual variable is used so that evaluation tokens know + * where to find their target trees. set_current_individual() is used to + * set this value from the application code. + */ + + +#if !defined(POSIX_MT) && !defined(SOLARIS_MT) + +static individual * current_individual; +#define CURRENT_INDIVIDUAL current_individual + +#else + +#define CURRENT_INDIVIDUAL (get_globaldata())->current_individual + +#endif + + + + + +void set_current_individual ( individual *ind ) +{ + CURRENT_INDIVIDUAL = ind; +} + + + + + + + +/* evaluate_tree() + * + * this is the wrapper which sets up a traversal pointer for doing the + * evaluation. the whichtree argument is needed so that ARG terminals + * know where to find their values. + */ + +DATATYPE evaluate_tree ( lnode *tree, int whichtree ) +{ + lnode *l = tree; +#ifdef DEBUG_EVAL + printf ( "call to evaluate_tree in context %d\n", whichtree ); +#endif + return evaluate_tree_recurse ( &l, whichtree ); +} + +/* evaluate_tree_recurse() + * + * the recursive part of the tree evaluator. returns the value of the + * evaluated tree. + */ + +DATATYPE evaluate_tree_recurse ( lnode **l, int whichtree ) +{ + farg arg[MAXARGS]; + int i; + function *f = (**l).f; + treeinfo savearg; + + /* step the traversal pointer forward, now that we've saved which + function we're at. */ + ++*l; + + switch ( f->type ) + { + case FUNC_DATA: + /* function (DATA type): recursively evaluate each subtree, + saving the values. pass these values to the user code. */ + for ( i = 0; i < f->arity; ++i ) + arg[i].d = evaluate_tree_recurse ( l, whichtree ); + return (f->code)(whichtree, arg); + break; + case EVAL_DATA: + /* evaluation token (DATA type): first evaluate each child, + saving the returned values. these values will be returned + by the appropriate ARG tokens in the called tree. */ + for ( i = 0; i < f->arity; ++i ) + arg[i].d = evaluate_tree_recurse ( l, whichtree ); + + /* the arguments are stored using three fields in the global + tree_map. we save whatever was in these three fields in + local variables. */ + savearg.arguments = tree_map[f->evaltree].arguments; + savearg.argtype = tree_map[f->evaltree].argtype; + savearg.evaluatedfrom = tree_map[f->evaltree].evaluatedfrom; + + /** now we store the new values in the global structure. **/ + /* first, the argument list. */ + tree_map[f->evaltree].arguments = arg; + /* next, the type of this eval token. */ + tree_map[f->evaltree].argtype = EVAL_DATA; + /* now the tree number which we are currently evaluating. this + is necessary so that nested ADFs evaluate correctly -- we must + remember where we are so that ARG tokens know which tree's + arguments to look at. */ + tree_map[f->evaltree].evaluatedfrom = whichtree; + + /* finally call evaluate_tree to evaluate the target tree. */ + arg->d = evaluate_tree ( CURRENT_INDIVIDUAL->tr[f->evaltree].data, + f->evaltree ); + + /* restore the old values in the global structure. */ + tree_map[f->evaltree].arguments = savearg.arguments; + tree_map[f->evaltree].argtype = savearg.argtype; + tree_map[f->evaltree].evaluatedfrom = savearg.evaluatedfrom; + + /* return the final value. */ + return arg->d; + break; + case FUNC_EXPR: + /* function (EXPR type): save the address of each child tree, + using the skip nodes to quickly move the traversal pointer + past the child. */ + for ( i = 0; i < f->arity; ++i ) + { + arg[i].t = (*l+1); + *l += (**l).s; + ++*l; + } + /* now pass this array of saved trees to the user code. */ + return (f->code)(whichtree, arg); + break; + case EVAL_EXPR: + /* evaluation token (EXPR type): works just like the DATA + type, only the saved arguments are tree address instead + of values. */ + for ( i = 0; i < f->arity; ++i ) + { + arg[i].t = (*l+1); + *l += (**l).s; + ++*l; + } + savearg.arguments = tree_map[f->evaltree].arguments; + savearg.argtype = tree_map[f->evaltree].argtype; + savearg.evaluatedfrom = tree_map[f->evaltree].evaluatedfrom; + tree_map[f->evaltree].arguments = arg; + tree_map[f->evaltree].argtype = EVAL_EXPR; + tree_map[f->evaltree].evaluatedfrom = whichtree; + arg->d = evaluate_tree ( CURRENT_INDIVIDUAL->tr[f->evaltree].data, + f->evaltree ); + tree_map[f->evaltree].arguments = savearg.arguments; + tree_map[f->evaltree].argtype = savearg.argtype; + tree_map[f->evaltree].evaluatedfrom = savearg.evaluatedfrom; + return arg->d; + break; + case EVAL_TERM: + /* evaluation token (TERM type): works just like the DATA + type, only we pass NULL as an argument list. */ + savearg.arguments = tree_map[f->evaltree].arguments; + savearg.argtype = tree_map[f->evaltree].argtype; + savearg.evaluatedfrom = tree_map[f->evaltree].evaluatedfrom; + tree_map[f->evaltree].arguments = NULL; + tree_map[f->evaltree].argtype = EVAL_TERM; + tree_map[f->evaltree].evaluatedfrom = whichtree; + arg->d = evaluate_tree ( CURRENT_INDIVIDUAL->tr[f->evaltree].data, + f->evaltree ); + tree_map[f->evaltree].arguments = savearg.arguments; + tree_map[f->evaltree].argtype = savearg.argtype; + tree_map[f->evaltree].evaluatedfrom = savearg.evaluatedfrom; + return arg->d; + break; + case TERM_ARG: + /* an ARG terminal. */ + if ( tree_map[whichtree].argtype == EVAL_DATA ) + /* if the EVAL token calling this tree is of type DATA, then + just pull the value out of the argument list and return it. */ + return tree_map[whichtree].arguments[f->evaltree].d; + else + /* if the EVAL token calling this tree is of type EXPR, then + evaluate the tree pointer in the argument list and return + the value. */ + return evaluate_tree ( tree_map[whichtree].arguments[f->evaltree].t, tree_map[whichtree].evaluatedfrom ); + break; + case TERM_ERC: + /* ERC terminal: traversal pointer points to ERC structure. + pull the value out, and step the pointer forward. */ + return (*((*l)++)).d->d; + break; + default: /* TERM_NORM */ + /* normal terminal: just call the user code. */ + return (f->code)(whichtree, NULL); + break; + } +} + + + diff --git a/lib/lilgp/kernel/event.c b/lib/lilgp/kernel/event.c new file mode 100644 index 0000000..27c27aa --- /dev/null +++ b/lib/lilgp/kernel/event.c @@ -0,0 +1,70 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include +#include + +#include "event.h" + +static char string[200]; + +void event_init ( void ) +{ +} + +void event_mark ( event *e ) +{ + e->wall = time(NULL); +} + +char *event_string ( event *z ) +{ + sprintf ( string, "%ds wall", z->wall ); + return string; +} + +void event_zero ( event *z ) +{ + z->wall = 0; +} + +void event_diff ( event *z, event *one, event *two ) +{ + z->wall = two->wall - one->wall; +} + +void event_accum ( event *z, event *one ) +{ + z->wall += one->wall; +} + +void event_accumdiff ( event *z, event *one, event *two ) +{ + z->wall += two->wall - one->wall; +} + + diff --git a/lib/lilgp/kernel/event.h b/lib/lilgp/kernel/event.h new file mode 100644 index 0000000..999b262 --- /dev/null +++ b/lib/lilgp/kernel/event.h @@ -0,0 +1,49 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _EVENT_H +#define _EVENT_H + +#include +#include + +typedef struct +{ + clock_t wall; +} event; + +void event_init ( void ); +void event_mark ( event *e ); +char *event_string ( event *z ); +void event_zero ( event *z ); +void event_diff ( event *z, event *one, event *two ); +void event_accum ( event *z, event *one ); +void event_accumdiff ( event *z, event *one, event *two ); + +#define TIMING_AVAILABLE + +#endif diff --git a/lib/lilgp/kernel/exch.c b/lib/lilgp/kernel/exch.c new file mode 100644 index 0000000..813fc8c --- /dev/null +++ b/lib/lilgp/kernel/exch.c @@ -0,0 +1,642 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* initialize_topology() + * + * reads the parameter database and builds the exchange table. + */ + +void initialize_topology ( multipop *mpop ) +{ + char pnamebuf[100], pnamebuf2[100]; + char *param, *param2, *param3; + int i, j, k; + int errors = 0; + + if ( mpop->size == 1 ) + { + /* singlepop problem -- no topology needed. */ + mpop->exch = NULL; + mpop->exchanges = -1; + return; + } + + oprintf ( OUT_SYS, 30, "building subpopulation exchange topology:\n" ); + + param = get_parameter ( "multiple.exchanges" ); + if ( param == NULL ) + { + /* multipop problem, but no exchanges specified. */ + + mpop->exch = NULL; + mpop->exchanges = 0; + return; + } + else + { + mpop->exchanges = atoi ( param ); + if ( mpop->exchanges < 0 ) + error ( E_FATAL_ERROR, "\"exchanges\" must be nonnegative." ); + } + + mpop->exch = (exchange *)MALLOC ( mpop->exchanges * sizeof ( exchange ) ); + + for ( i = 0; i < mpop->exchanges; ++i ) + { + /** read the destination subpop. **/ + + sprintf ( pnamebuf, "exch[%d].to", i+1 ); + param = get_parameter ( pnamebuf ); + if ( param == NULL ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be set.", pnamebuf ); + } + else + { + mpop->exch[i].to = atoi ( param ) - 1; + if ( mpop->exch[i].to < 0 || mpop->exch[i].to >= mpop->size ) + { + ++errors; + error ( E_ERROR, "\"%s\" is out of range.\n", pnamebuf ); + } + } + + /** read how the individuals to be replaced in the destination + subpop are selected. **/ + + sprintf ( pnamebuf, "exch[%d].toselect", i+1 ); + mpop->exch[i].tosc = get_parameter ( pnamebuf ); + if ( mpop->exch[i].tosc == NULL ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be set.", pnamebuf ); + } + else + { + if ( ! exists_select_method ( mpop->exch[i].tosc ) ) + { + ++errors; + error ( E_ERROR, "\"%s\": \"%s\" is not a selection method.", + pnamebuf, mpop->exch[i].tosc ); + } + } + + /** read how many individuals are to be exchanged in this + manner. **/ + + sprintf ( pnamebuf, "exch[%d].count", i+1 ); + param = get_parameter ( pnamebuf ); + if ( param == NULL ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be set.", pnamebuf ); + } + else + { + mpop->exch[i].count = atoi ( param ); + if ( mpop->exch[i].count < 0 ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be nonnegative.", pnamebuf ); + } + } + + /** check to see if "from" is specified without a "tree[#]". **/ + + sprintf ( pnamebuf, "exch[%d].from", i+1 ); + param = get_parameter ( pnamebuf ); + if ( param ) + { + /** if "from" is specified, then we're copying whole individuals + from one subpop to another. **/ + + /* these arrays are not needed. */ + mpop->exch[i].from = NULL; + mpop->exch[i].as = NULL; + /* allocate an array of one string (to hold the selection + method). */ + mpop->exch[i].fromsc = (char **)MALLOC ( sizeof ( char * ) ); + + /* the subpop that individuals are taken from. */ + mpop->exch[i].copywhole = atoi ( param ) - 1; + if ( mpop->exch[i].copywhole < 0 || + mpop->exch[i].copywhole >= mpop->size ) + { + ++errors; + error ( E_ERROR, "\"%s\" is out of range.", pnamebuf ); + } + + /* the selection method used to pick the individuals from the + source subpop. */ + sprintf ( pnamebuf, "exch[%d].fromselect", i+1 ); + mpop->exch[i].fromsc[0] = get_parameter ( pnamebuf ); + if ( mpop->exch[i].fromsc[0] == NULL ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be set.", pnamebuf ); + } + else + { + if ( ! exists_select_method ( mpop->exch[i].fromsc[0] ) ) + { + ++errors; + error ( E_ERROR, "\"%s\": \"%s\" is not a selection method.", + pnamebuf, mpop->exch[i].fromsc[0] ); + } + } + } + else + { + + /** since "from" is not defined, we're taking trees from different + subpops and merging them to create a composite individual to place + in the destination subpop. **/ + + mpop->exch[i].copywhole = -1; + /* this array lists, for each tree, which subpop it comes from. */ + mpop->exch[i].from = (int *)MALLOC ( tree_count * sizeof ( int ) ); + /* this array keeps track of when two trees are supposed to always + come from the same individual (not just the same subpop). */ + mpop->exch[i].as = (int *)MALLOC ( tree_count * sizeof ( int ) ); + /* this array holds the selection method strings used for each + tree. */ + mpop->exch[i].fromsc = (char **)MALLOC ( tree_count * sizeof ( char * ) ); + + /* get the default selection method, if one is specified. */ + sprintf ( pnamebuf, "exch[%d].fromselect", i+1 ); + param3 = get_parameter ( pnamebuf ); + + for ( j = 0; j < tree_count; ++j ) + { + /** for each tree, attempt to read the "from" and + "fromselect" parameters. **/ + + sprintf ( pnamebuf, "exch[%d].from.tree[%d]", i+1, j ); + param = get_parameter ( pnamebuf ); + sprintf ( pnamebuf2, "exch[%d].fromselect.tree[%d]", + i+1, j ); + param2 = get_parameter ( pnamebuf2 ); + + if ( param == NULL && param2 == NULL ) + { + /* neither is set, we're supposed to leave this + tree untouched in the destination individual. */ + + mpop->exch[i].from[j] = -1; + mpop->exch[i].as[j] = -1; + mpop->exch[i].fromsc[j] = NULL; + } + else if ( param2 == NULL ) + { + /* only "from" is set, examine param3 for default + selection method. */ + + /* source subpop. */ + mpop->exch[i].from[j] = atoi ( param ) - 1; + if ( mpop->exch[i].from[j] < 0 || mpop->exch[i].from[j] >= mpop->size ) + { + ++errors; + error ( E_ERROR, "\"%s\" is out of range.", pnamebuf ); + } + + /* no default set, error. */ + if ( param3 == NULL ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be set.", pnamebuf2 ); + } + else + { + mpop->exch[i].as[j] = -1; + if ( ! exists_select_method ( param3 ) ) + { + ++errors; + error ( E_ERROR, "\"%s\": \"%s\" is not a selection method.", + pnamebuf, param3 ); + } + } + mpop->exch[i].fromsc[j] = param3; + } + else if ( param == NULL ) + { + /* only "fromselect" is set; it better be of the form + "as_#". */ + + if ( strncmp ( param2, "as_", 3 ) == 0 ) + { + mpop->exch[i].from[j] = -1; + mpop->exch[i].fromsc[j] = NULL; + /* "as" stores which tree this one comes from the + same subpop as. */ + mpop->exch[i].as[j] = atoi ( param2 + 3 ); + if ( mpop->exch[i].as[j] < 0 || + mpop->exch[i].as[j] >= tree_count ) + { + ++errors; + error ( E_ERROR, "\"%s\" is out of range.", pnamebuf2 ); + } + } + else + { + ++errors; + error ( E_ERROR, "\"%s\" must be \"as_#\".", pnamebuf2 ); + } + } + else + { + /* they're both set. */ + + mpop->exch[i].as[j] = -1; + mpop->exch[i].from[j] = atoi ( param ) - 1; + if ( mpop->exch[i].from[j] < 0 || mpop->exch[i].from[j] >= mpop->size ) + { + ++errors; + error ( E_ERROR, "\"%s\" is out of range.", pnamebuf ); + } + mpop->exch[i].fromsc[j] = param2; + if ( ! exists_select_method ( param2 ) ) + { + ++errors; + error ( E_ERROR, "\"%s\": \"%s\" is not a selection method.", + pnamebuf2, param2 ); + } + } + } + + /* now we need to resolve any chains of "as_" references: if + tree 2 comes from the same individual as tree 1, and tree 1 + comes from the same individual as tree 0, we need to change that + to say that both 2 and 1 come from tree 0. + + also detect circular references. */ + + for ( j = 0; j < tree_count; ++j ) + { + if ( mpop->exch[i].as[j] == -1 ) + continue; + k = mpop->exch[i].as[j]; + while ( k != -1 ) + { + if ( k == j ) + { + ++errors; + error ( E_ERROR, "Circular reference resolving \"exch[%d].fromselect.tree[%d]\".", + i+1, j ); + j = tree_count; + break; + } + mpop->exch[i].as[j] = k; + k = mpop->exch[i].as[k]; + } + k = mpop->exch[i].as[j]; + if ( mpop->exch[i].from[k] == -1 && mpop->exch[i].as[k] == -1 ) + mpop->exch[i].as[j] = -1; + } + } + + +#ifdef DEBUG + /* print out information on this exchange. */ + printf ( "exchange %d:\n", i+1 ); + printf ( "to: %d; count: %d; select: %s\n", mpop->exch[i].to, + mpop->exch[i].count, mpop->exch[i].tosc ); + if ( mpop->exch[i].copywhole == -1 ) + { + for ( j = 0; j < tree_count; ++j ) + { + param = mpop->exch[i].fromsc[j]; + printf ( " %3d: from: %3d as: %3d select: %s\n", + j, mpop->exch[i].from[j], mpop->exch[i].as[j], + param==NULL?"NULL":param ); + } + } + else + { + param = mpop->exch[i].fromsc[0]; + printf ( "copywhole: %d select: %s\n", + mpop->exch[i].copywhole, param==NULL?"NULL":param ); + } +#endif + } + + /* if any errors occurred then stop now. */ + if ( errors ) + error ( E_FATAL_ERROR, "Errors occurred while building topology. Aborting." ); + + /* print out the summary of exchanges. */ + oprintf ( OUT_SYS, 30, " %d exchange(s) total.\n", mpop->exchanges ); + for ( i = 0; i < mpop->exchanges; ++i ) + { + oprintf ( OUT_SYS, 30, " exchange %d:\n", i+1 ); + oprintf ( OUT_SYS, 30, " replace %d individual(s) in subpop %d (selected by %s)\n", + mpop->exch[i].count, mpop->exch[i].to+1, mpop->exch[i].tosc ); + if ( mpop->exch[i].copywhole != -1 ) + oprintf ( OUT_SYS, 30, " with individual(s) from subpop %d (selected by %s)\n", + mpop->exch[i].copywhole+1, mpop->exch[i].fromsc[0] ); + else + for ( j = 0; j < tree_count; ++j ) + { + if ( mpop->exch[i].from[j] == -1 ) + { + if ( mpop->exch[i].as[j] == -1 ) + oprintf ( OUT_SYS, 30, " tree %d: leaving original tree\n", j ); + else + oprintf ( OUT_SYS, 30, " tree %d: from same individual as tree %d\n", j, mpop->exch[i].as[j] ); + } + else + oprintf ( OUT_SYS, 30, " tree %d: from subpop %d (selected by %s)\n", j, + mpop->exch[i].from[j]+1, mpop->exch[i].fromsc[j] ); + } + } + +} + +/* free_topology() + * + * this frees the topology table. + */ + +void free_topology ( multipop *mpop ) +{ + int i; + for ( i = 0; i < mpop->exchanges; ++i ) + { + if ( mpop->exch[i].from ) + FREE ( mpop->exch[i].from ); + if ( mpop->exch[i].as ) + FREE ( mpop->exch[i].as ); + FREE ( mpop->exch[i].fromsc ); + } + if ( mpop->exch ) + FREE ( mpop->exch ); +} + +/* exchange_subpopulations() + * + * this performs the actual exchanges, using the information stored + * in the exchange table. + */ + +void exchange_subpopulations ( multipop *mpop ) +{ + int i, j, k; + sel_context *tocon; + sel_context **fromcon; + select_context_func_ptr select_con; + int tp, *fp; + int ti, *fi; + + /** arrays used for composite individuals. **/ + + /* fromcon[j] holds the selection context used to pick individual + to take tree j from. */ + fromcon = (sel_context **)MALLOC ( tree_count * sizeof ( sel_context * ) ); + /* fp[j] holds the population from which to take tree j from. */ + fp = (int *)MALLOC ( tree_count * sizeof ( int ) ); + /* fi[j] holds the individual from which to take tree j from. */ + fi = (int *)MALLOC ( tree_count * sizeof ( int ) ); + + for ( i = 0; i < mpop->exchanges; ++i ) + { +#ifdef DEBUG + printf ( "working on exch[%d]\n", i+1 ); +#endif + + /* where individuals are going. */ + tp = mpop->exch[i].to; + + /* set up selection method to pick individuals to be replaced. */ + select_con = get_select_context ( mpop->exch[i].tosc ); + tocon = select_con ( SELECT_INIT, NULL, mpop->pop[tp], + mpop->exch[i].tosc ); + + /* are we copying whole individuals or creating composites? */ + if ( mpop->exch[i].copywhole > -1 ) + { + /*** copying whole individuals. ***/ + + /* the source subpop. */ + fp[0] = mpop->exch[i].copywhole; + + /* selection method for choosing individuals from source + subpop. */ + select_con = get_select_context ( mpop->exch[i].fromsc[0] ); + fromcon[0] = select_con ( SELECT_INIT, NULL, mpop->pop[fp[0]], + mpop->exch[i].fromsc[0] ); + + for ( k = 0; k < mpop->exch[i].count; ++k ) + { + /** pick an individual to be replaced that has not already + been replaced during this exchange cycle. **/ + do + { + ti = tocon->select_method ( tocon ); + } + while ( mpop->pop[tp]->ind[ti].flags & FLAG_NEWEXCH ); + + /* pick an individual from the source subpop. */ + fi[0] = fromcon[0]->select_method ( fromcon[0] ); + +#ifdef DEBUG + printf ( "COPYING WHOLE INDIVIDUAL: ind %d subpop %d --> ind %d subpop %d\n", + fi[0], fp[0], ti, tp ); +#endif + + /** remove the old iondividual from the population. **/ + for ( j = 0; j < tree_count; ++j ) + { + /* always dereference ERCs when removing trees + from the population. */ + reference_ephem_constants ( mpop->pop[tp]->ind[ti].tr[j].data, -1 ); + free_tree ( mpop->pop[tp]->ind[ti].tr+j ); + } + + /* copy the individual. */ + duplicate_individual ( mpop->pop[tp]->ind+ti, + mpop->pop[fp[0]]->ind+fi[0] ); + + /* reference the ERCs in the new individual. */ + for ( j = 0; j < tree_count; ++j ) + reference_ephem_constants ( mpop->pop[tp]->ind[ti].tr[j].data, 1 ); + + /* mark the individual as just coming from an exchange. */ + mpop->pop[tp]->ind[ti].flags = FLAG_NEWEXCH; + } + + /* all done with this exchange, delete the selection context. */ + fromcon[0]->context_method ( SELECT_CLEAN, fromcon[0], + NULL, NULL ); + } + else + { + /*** creating composite individuals. ***/ + + /** create selection contexts for each tree. **/ + for ( j = 0; j < tree_count; ++j ) + { + /* does this tree need a context? */ + if ( mpop->exch[i].fromsc[j] ) + { +#ifdef DEBUG + printf ( "getting selection context for tree %d (%s)\n", + j, mpop->exch[i].fromsc[j] ); +#endif + /* create it. */ + select_con = get_select_context ( mpop->exch[i].fromsc[j] ); + fromcon[j] = select_con ( SELECT_INIT, NULL, + mpop->pop[mpop->exch[i].from[j]], + mpop->exch[i].fromsc[j] ); + } + else + /* don't need one. */ + fromcon[j] = NULL; + } + + for ( k = 0; k < mpop->exch[i].count; ++k ) + { + /** select an individual to be replaced that hasn't already + been during this exchange cycle. **/ + do + { + ti = tocon->select_method ( tocon ); + } + while ( mpop->pop[tp]->ind[ti].flags & FLAG_NEWEXCH ); + +#ifdef DEBUG + printf ( "SELECTED TREE %d FOR REPLACEMENT.\n", ti ); + print_individual ( mpop->pop[tp]->ind+ti, stdout ); +#endif + /** now select the individuals that we will merge to + replace trees of the destination individual. **/ + for ( j = 0; j < tree_count; ++j ) + { + /* we don't need to do a selection for a particular + tree if (1) it uses the same individual as another + tree or (2) it doesn't get replaced in the destination + individual. */ + + fp[j] = mpop->exch[i].from[j]; + if ( fp[j] != -1 ) + { + fi[j] = fromcon[fp[j]]->select_method ( fromcon[fp[j]] ); +#ifdef DEBUG + printf ( "selecting using (%s) from subpop %d (for tree %d): individual %d\n", + mpop->exch[i].fromsc[j], fp[j], j, fi[j] ); + print_individual ( mpop->pop[fp[j]]->ind+fi[j], stdout ); +#endif + } + } + + /** now resolve "as_" references in the fp and fi arrays. */ + for ( j = 0; j < tree_count; ++j ) + if ( fp[j] == -1 ) + { + if ( mpop->exch[i].as[j] == -1 ) + /* tree j doesn't get replaced, so set both + values to -1. */ + fp[j] = fi[j] = -1; + else + { + /* tree j comes from the same individual as + some other tree. */ + fp[j] = fp[mpop->exch[i].as[j]]; + fi[j] = fi[mpop->exch[i].as[j]]; + } + } + +#ifdef DEBUG + printf ( "the fp,fi arrays are:\n" ); + for ( j = 0; j < tree_count; ++j ) + printf ( " %3d: fp = %3d fi = %4d\n", j, fp[j], fi[j] ); +#endif + + /** replace the appropriate parts of the old tree. **/ + for ( j = 0; j < tree_count; ++j ) + { + /* skip trees that don't get replaced. */ + if ( fp[j] == -1 ) + continue; + + /* dereference ERCs in old tree. */ + reference_ephem_constants ( mpop->pop[tp]->ind[ti].tr[j].data, -1 ); + /* delete old tree. */ + free_tree ( mpop->pop[tp]->ind[ti].tr+j ); + /* copy new tree. */ + copy_tree ( mpop->pop[tp]->ind[ti].tr+j, mpop->pop[fp[j]]->ind[fi[j]].tr+j ); + /* reference ERCs in new tree. */ + reference_ephem_constants ( mpop->pop[tp]->ind[ti].tr[j].data, 1 ); + } +#ifdef COEVOLUTION + error ( E_FATAL_ERROR, "Can't do COEVOLUTION and multi-pop experiments\n together at this time, sorry.\n"); +#else + /* evaluate the fitness of the new composite individual. */ + app_eval_fitness ( mpop->pop[tp]->ind+ti ); +#endif + mpop->pop[tp]->ind[ti].flags = FLAG_NEWEXCH; + +#ifdef DEBUG + printf ( "the new individual is:\n" ); + print_individual ( mpop->pop[tp]->ind+ti, stdout ); +#endif + } + + /* destroy source selection contexts. */ + for ( j = 0; j < tree_count; ++j ) + if ( fromcon[j] ) + fromcon[j]->context_method ( SELECT_CLEAN, + fromcon[j], NULL, NULL ); + } + + /* destroy destination selection context. */ + tocon->context_method ( SELECT_CLEAN, tocon, NULL, NULL ); + } + + FREE ( fromcon ); + FREE ( fp ); + FREE ( fi ); + + /* erase all the NEWEXCH flags. */ + for ( i = 0; i < mpop->size; ++i ) + for ( j = 0; j < mpop->pop[i]->size; ++j ) + mpop->pop[i]->ind[j].flags &= ~FLAG_NEWEXCH; + +} + +/* rebuild_exchange_topology() + * + * rebuilds the exchange table. called from user code after making changes + * to the parameters governing exchanges. + */ + +void rebuild_exchange_topology ( multipop *mpop ) +{ + free_topology ( mpop ); + initialize_topology ( mpop ); +} diff --git a/lib/lilgp/kernel/fitness.c b/lib/lilgp/kernel/fitness.c new file mode 100644 index 0000000..a4ee7ec --- /dev/null +++ b/lib/lilgp/kernel/fitness.c @@ -0,0 +1,275 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* select_afit_context() + * + * creates context for the fitness selection method. + */ + +sel_context *select_afit_context ( int op, sel_context *sc, population *p, + char *string ) +{ + interval_data *id; + int i, j = 0; + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_interval; + sc->context_method = select_afit_context; + + /* the interval_data structure (used with select_interval()) is + essentially a list of interval widths and indices for each + individual. */ + + id = (interval_data *)MALLOC ( sizeof ( interval_data ) ); + + id->ri = (reverse_index *)MALLOC ( (p->size+1) * + sizeof ( reverse_index ) ); + id->total = 0.0; + id->count = p->size; + id->ri[j].fitness = 0.0; + id->ri[j].index = -1; + ++j; + + for ( i = 0; i < p->size; ++i ) + { + /* interval width is the adjusted fitness. */ + id->total += p->ind[i].a_fitness; + id->ri[j].fitness = id->total; + id->ri[j].index = i; + ++j; + } + + sc->data = (void *)id; + return sc; + break; + + case SELECT_CLEAN: + id = (interval_data *)(sc->data); + FREE ( id->ri ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_inverse_afit_context() + * + * creates context for inverse_fitness selection method. + */ + +sel_context *select_inverse_afit_context ( int op, sel_context *sc, + population *p, char *string ) +{ + interval_data *id; + int i, j = 0; + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_interval; + sc->context_method = select_inverse_afit_context; + + /** use select_interval() to do the selection. **/ + + id = (interval_data *)MALLOC ( sizeof ( interval_data ) ); + + id->ri = (reverse_index *)MALLOC ( (p->size+1) * + sizeof ( reverse_index ) ); + id->total = 0.0; + id->count = p->size; + id->ri[j].fitness = 0.0; + id->ri[j].index = -1; + ++j; + + for ( i = 0; i < p->size; ++i ) + { + /* interval width is inverse of adjusted fitness. */ + id->total += 1.0/p->ind[i].a_fitness; + id->ri[j].fitness = id->total; + id->ri[j].index = i; + ++j; + } + + sc->data = (void *)id; + return sc; + break; + + case SELECT_CLEAN: + id = (interval_data *)(sc->data); + FREE ( id->ri ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_afit_overselect_context() + * + * creates context for fitness_overselect selection method. + */ + +sel_context *select_afit_overselect_context ( int op, sel_context *sc, + population *p, char *string ) +{ + interval_data *id; + int i, j; + double total; + double group1_cutoff = 0.32; + int cutoffset; + double group1_selection = 0.8; + double cutoff; + double temp; + char **argv; + + switch ( op ) + { + case SELECT_INIT: + + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_interval; + sc->context_method = select_afit_overselect_context; + + /** parse the options string. **/ + + j = parse_o_rama ( string, &argv ); + + cutoffset = 0; + for ( i = 1; i < j; ++i ) + { + if ( strcmp ( argv[i], "cutoff" ) == 0 ) + { + group1_cutoff = strtod ( argv[++i], NULL ); + cutoffset = 1; + } + else if ( strcmp ( argv[i], "proportion" ) == 0 ) + group1_selection = strtod ( argv[++i], NULL ); + else + error ( E_FATAL_ERROR, "unknown fitness_overselect option \"%s\".", + argv[i] ); + } + + /* if the cutoff was not set manually, then set it based on + the population size. */ + if ( !cutoffset ) + { + group1_cutoff = 320.0/p->size; + if ( group1_cutoff < 0.0 || group1_cutoff > 1.0 ) + group1_cutoff = 0.32; + } + + free_o_rama ( j, &argv ); + + if ( group1_cutoff < 0.0 || group1_cutoff > 1.0 ) + error ( E_FATAL_ERROR, "Overselected fitness cutoff out of range. (%s)", string ); + + if ( group1_selection < 0.0 || group1_selection > 1.0 ) + error ( E_FATAL_ERROR, "Overselected fitness proportion out of range. (%s)", string ); + + id = (interval_data *)MALLOC ( sizeof ( interval_data ) ); + + id->ri = (reverse_index *)MALLOC ( (p->size+1) * + sizeof ( reverse_index ) ); + id->total = 0.0; + id->count = p->size; + + id->ri[0].fitness = 0.0; + id->ri[0].index = -1; + j = 1; + + /* store the fitness values in the reverse_index */ + total = 0.0; + for ( i = 0; i < p->size; ++i ) + { + total += p->ind[i].a_fitness; + id->ri[j].fitness = p->ind[i].a_fitness; + id->ri[j].index = i; + ++j; + } + + /* (sort lowest first) */ + qsort ( (id->ri)+1, p->size, sizeof ( reverse_index ), + rev_ind_compare ); + + /* find the top individuals accounting for (cutoff) of the fitness, + and multiply their interval width by the selection. multiply + all the others by (1-selection). */ + cutoff = total * (1.0-group1_cutoff); + total = 0.0; + for ( i = 1; i < p->size+1; ++i ) + { + if ( total >= cutoff ) + temp = id->ri[i].fitness * group1_selection; + else + temp = id->ri[i].fitness * (1.0-group1_selection); + total += id->ri[i].fitness; + id->ri[i].fitness = temp; + } + + /* now convert to cumulative. */ + total = 0.0; + for ( i = 1; i < p->size+1; ++i ) + { + total += id->ri[i].fitness; + id->ri[i].fitness = total; + } + + id->total = total; + + sc->data = (void *)id; + return sc; + break; + + case SELECT_CLEAN: + id = (interval_data *)(sc->data); + FREE ( id->ri ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + diff --git a/lib/lilgp/kernel/fsetupdate.c b/lib/lilgp/kernel/fsetupdate.c new file mode 100644 index 0000000..ac44658 --- /dev/null +++ b/lib/lilgp/kernel/fsetupdate.c @@ -0,0 +1,72 @@ +/* +fset_update + + Takes a function_set (from app_build_function_sets) and + removes all functions that are not specified thusly: + + app.use_FunctionRepString=1 + + in the input file. + + NOTE: if no specification exists then enabled is assumed + + so + + {and, NULL, NULL, 2, "AND", FUNC_EXPR, -1, 0, BOOL, {BOOL,BOOL}} + + would be disabled by adding + + app.use_AND=0 + + to the input file. + + This is very handy when working through to see if a + function or terminal is useful. + + NOTE: function representitive strings should be unique, both + because of the matching done here and because lilgp assumes + they are unique in various places. + + Written by: Adam Hewgill (C) 2002 +*/ +#include +#include + + +void fset_update (function_set *app_fset) +{ + char name[80], *param; + int i, j; + int numrem = 0; + function *fset = app_fset->cset; + int size = app_fset->size; + + for (i = 0; i < size - numrem; ++i) + { + /* Setup name string */ + sprintf(name, "app.use_%s", fset[i].string); + + /* Get value of parameter in input file */ + param = get_parameter(name); + + /* If not specified assume enabled */ + if (param == NULL) + continue; + + /* Remove if value of param is <= 0 */ + if (atoi(param) <= 0) + { + /* Output function removed */ + oprintf ( OUT_SYS, 30, " %s", fset[i].string); + /* Roll rest up */ + for (j = i + 1; j < size - numrem; ++j) + fset[j - 1] = fset[j]; + ++numrem; + --i; + } + } + /* Update the set size */ + app_fset->size = size - numrem; + /* Print final message */ + oprintf ( OUT_SYS, 30, " removed.\n"); +} diff --git a/lib/lilgp/kernel/genspace.c b/lib/lilgp/kernel/genspace.c new file mode 100644 index 0000000..2da6753 --- /dev/null +++ b/lib/lilgp/kernel/genspace.c @@ -0,0 +1,182 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* initialize_genspace() + * + * allocates each genspace with GENSPACE_START lnodes. + */ + +void initialize_genspace ( void ) +{ + int i; + + oputs ( OUT_SYS, 30, " generation spaces.\n" ); + + for ( i = 0; i < GENSPACE_COUNT; ++i ) + { + gensp[i].size = GENSPACE_START; + gensp[i].data = (lnode *)MALLOC ( gensp[i].size * sizeof ( lnode ) ); + memset ( gensp[i].data, 0, gensp[i].size * sizeof ( lnode ) ); + gensp[i].used = 0; +#ifdef DEBUG + printf ( "genspace %d initialized with %d nodes.\n", + i, gensp[i].size ); +#endif + } +} + +/* free_genspace() + * + * frees all the genspaces. + */ + +void free_genspace ( void ) +{ + int i; + for ( i = 0; i < GENSPACE_COUNT; ++i ) + { + FREE ( gensp[i].data ); + gensp[i].data = NULL; + } +} + +/* gensp_next() + * + * returns the address of the next free lnode in the given generation + * space. enlarges the generation space by GENSPACE_GROW lnodes if + * there is no free space. + */ + +lnode * gensp_next ( int space ) +{ + while ( gensp[space].used >= gensp[space].size ) + { + int oldsize = gensp[space].size; + gensp[space].size += GENSPACE_GROW; + gensp[space].data = (lnode *)REALLOC ( gensp[space].data, + gensp[space].size * + sizeof ( lnode ) ); + memset ( gensp[space].data+oldsize, 0, + (gensp[space].size-oldsize) * sizeof ( lnode ) ); +#ifdef DEBUG + printf ( "next: genspace %d grown to %d nodes.\n", + space, gensp[space].size ); +#endif + } + + return gensp[space].data+(gensp[space].used++); +} + +/* gensp_next_int() + * + * like gensp_next(), but returns the position (not the address) of the + * next free lnode. + */ + +int gensp_next_int ( int space ) +{ + while ( gensp[space].used >= gensp[space].size ) + { + int oldsize = gensp[space].size; + gensp[space].size += GENSPACE_GROW; + gensp[space].data = (lnode *)REALLOC ( gensp[space].data, + gensp[space].size * + sizeof ( lnode ) ); + memset ( gensp[space].data+oldsize, 0, + (gensp[space].size-oldsize) * sizeof ( lnode ) ); +#ifdef DEBUG + printf ( "next_int: genspace %d grown to %d nodes from %d.\n", + space, gensp[space].size, oldsize ); +#endif + } + + return gensp[space].used++; +} + +/* gensp_dup_tree() + * + * copies a completed tree out of a generation space into the tree + * pointer passed. + */ + +void gensp_dup_tree ( int space, tree *t ) +{ + t->size = gensp[space].used; + t->nodes = tree_nodes ( gensp[space].data ); + t->data = (lnode *)MALLOC ( t->size * sizeof ( lnode ) ); + memcpy ( t->data, gensp[space].data, t->size * sizeof ( lnode ) ); +} + +/* gensp_reset() + * + * marks a genspace as being empty. + */ + +void gensp_reset ( int space ) +{ + gensp[space].used = 0; + memset ( gensp[space].data, 0, gensp[space].size * sizeof ( lnode ) ); +} + +/* gensp_print() + * + * prints out a section of the genspace from [i..j) + */ + +void gensp_print ( int space, int i, int j, FILE *out ) +{ + int u; + function *f; + + /* remove problems when used wants to print last x nodes */ + if ( i < 0 ) + i = 0; + + for ( u = i; u < j; ++u ) + { + /* print value of skip node */ + if ( gensp[space].data[u].s < 1000 ) + fprintf(out, "<%d: %d> ", u, gensp[space].data[u].s); + else if ( gensp[space].data[u].f->arity == 0 ) + { + /* print out a terminal */ + f = gensp[space].data[u].f; + if ( f->ephem_gen ) + { + fprintf(out, "[%d: %s] [%d: ERC] ", u, (f->ephem_str)(gensp[space].data[u+1].d->d), u+1); + ++u; + } + else + fprintf(out, "[%d: %s] ", u, f->string); + } + else + fprintf(out, "(%d: %s) ", u, gensp[space].data[u].f->string); + } + fprintf(out, "\n"); +} diff --git a/lib/lilgp/kernel/gp.c b/lib/lilgp/kernel/gp.c new file mode 100644 index 0000000..74b0432 --- /dev/null +++ b/lib/lilgp/kernel/gp.c @@ -0,0 +1,1378 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +popstats* run_stats; +saved_ind* saved_head, * saved_tail; + +#if !defined(POSIX_MT) && !defined(SOLARIS_MT) + +globaldata global_g; + +#else + +int numthreads = 0; + +struct thread_param_t +{ + population* pop; + int startidx; + int endidx; + globaldata g; +}; + +#ifdef POSIX_MT + +#include + +static pthread_key_t g_key; +static pthread_attr_t pthread_attr; +#endif + +#ifdef SOLARIS_MT +#include +static thread_key_t g_key; +#endif + +#endif /* !defined(POSIX_MT) && !defined(SOLARIS_MT) */ + +/* run_gp() + * + * the whole enchilada. runs, from generation startgen, using population + * mpop. accumulates time spent evaluating and breeding in t_eval and t_breed. + */ + +void run_gp(multipop* mpop, int startgen, + event* t_eval, event* t_breed, int startfromcheckpoint) +{ + + char* param; + int gen; + int maxgen; + int exch_gen; + int i, j; + int checkinterval; + char* checkfileformat; + char* checkfilename = NULL; + event start, end, diff; + int term = 0; + int stt_interval; + int bestn; + + if (!startfromcheckpoint) + { + + /* get the number of top individuals to track. */ + bestn = atoi(get_parameter("output.bestn")); + if (bestn < 1) + { + error(E_WARNING, "\"output.bestn\" must be at least 1. defaulting to 1."); + bestn = 1; + } + + /* allocate statistics for overall run. */ + run_stats = (popstats*) MALLOC((mpop->size + 1) * sizeof(popstats)); + for (i = 0; i < mpop->size + 1; ++i) + { + run_stats[i].bestn = bestn; + run_stats[i].size = -1; + } + + /* initialize the linked list of saved individuals. */ + saved_head = (saved_ind*) MALLOC(sizeof(saved_ind)); + saved_head->ind = NULL; + saved_head->refcount = 0; + saved_head->next = NULL; + saved_tail = saved_head; + } + + /* get the maximum number of generations. */ + param = get_parameter("max_generations"); + if (param == NULL) + error(E_FATAL_ERROR, + "no value specified for \"max_generations\"."); + maxgen = atoi(param); + if (maxgen <= 0) + error(E_FATAL_ERROR, + "\"max_generations\" must be greater than zero."); + + /* get the interval for subpopulation exchanges, if there is more than + one subpopulation. */ + if (mpop->size > 1) + { + param = get_parameter("multiple.exch_gen"); + if (param == NULL) + error(E_FATAL_ERROR, + "no value specified for \"multiple.exch_gen\"."); + exch_gen = atoi(param); + if (exch_gen <= 0) + error(E_FATAL_ERROR, + "\"multiple.exch_gen\" must be greater than zero."); + } + + /* get the interval for doing checkpointing. */ + param = get_parameter("checkpoint.interval"); + if (param == NULL) + /* checkpointing disabled. */ + checkinterval = -1; + else + checkinterval = atoi(param); + + /* get the format string for the checkpoint filenames. */ + checkfileformat = get_parameter("checkpoint.filename"); + checkfilename = (char*) MALLOC(strlen(checkfileformat) + 50); + + /* get the interval for writing information to the .stt file. */ + stt_interval = atoi(get_parameter("output.stt_interval")); + if (stt_interval < 1) + error(E_FATAL_ERROR, + "\"output.stt_interval\" must be greater than zero."); + + oputs(OUT_SYS, 10, "\n\nstarting evolution.\n"); + + /* print out how often we'll be doing checkpointing. */ + if (checkinterval > 0) + oprintf(OUT_SYS, 20, + "checkpointing will be done every %d generations and "\ + "after the last generation.\n", checkinterval); + else if (checkinterval == 0) + oprintf(OUT_SYS, 20, + "checkpointing will be done only after the last "\ + "generation.\n"); + else + oprintf(OUT_SYS, 20, + "no checkpointing will be done.\n"); + + output_stream_open(OUT_STT); + oprintf(OUT_STT, 50, "GEN#\tSUB#\tμFGEN\tFsBestGEN\tFsWorstGEN\tμTreeSzGEN\tμTreeDpGEN\tbTreeSzGEN\tbTreeDpGEN\twTreeSzGEN\twTreeDpGEN\tμFRUN\t" + "FsBestRUN\tFsWorstRUN\tμTreeSzRUN\tμTreeDpRUN\tbTreeSzRUN\tbTreeDpRUN\twTreeSzRUN\twTreeDpRUN\n"); + + /* the big loop. */ + for (gen = startgen; gen <= maxgen && !term; ++gen) + { + oprintf(OUT_SYS, 20, + "=== generation %d.\n", gen); + + /* unless this is the first generation after loading a checkpoint + file... */ + if (!(startfromcheckpoint && gen == startgen)) + { + + /* evaluate the population. */ + event_mark(&start); + for (i = 0; i < mpop->size; ++i) + evaluate_pop(mpop->pop[i]); + event_mark(&end); + event_diff(&diff, &start, &end); + +#ifdef TIMING_AVAILABLE + oprintf(OUT_SYS, 40, " evaluation complete. (%s)\n", + event_string(&diff)); +#else + oprintf ( OUT_SYS, 40, " evaluation complete.\n" ); +#endif + + event_accum(t_eval, &diff); + + /* calculate and print statistics. returns 1 if user termination + criterion was met, 0 otherwise. */ + term = generation_information(gen, mpop, stt_interval, + run_stats[0].bestn); + if (term) + oprintf(OUT_SYS, 30, "user termination criterion met.\n"); + + flush_output_streams(); + + } + + /** write a checkpoint file if checkinterval is non-negative and: + we've reached the last generation, or + the user termination criterion has been met, or + we've reached the specified checkpoint interval. **/ + if (checkinterval >= 0 && + (gen == maxgen || term || + (checkinterval > 0 && gen > startgen && (gen % checkinterval) == 0))) + { + sprintf(checkfilename, checkfileformat, gen); + write_checkpoint(gen, mpop, checkfilename); + } + + /** if this is not the last generation and the user criterion hasn't + been met, then do breeding. **/ + if (gen != maxgen && !term) + { + + /** exchange subpops if it's time. **/ + if (mpop->size > 1 && gen && (gen % exch_gen) == 0) + { + exchange_subpopulations(mpop); + oprintf(OUT_SYS, 10, + " subpopulation exchange complete.\n"); + } + + /* breed the new population. */ + event_mark(&start); + for (i = 0; i < mpop->size; ++i) + mpop->pop[i] = change_population(mpop->pop[i], mpop->bpt[i]); + event_mark(&end); + event_diff(&diff, &start, &end); + + /* call the application end-of-breeding callback. */ + app_end_of_breeding(gen, mpop); + +#ifdef TIMING_AVAILABLE + oprintf(OUT_SYS, 30, " breeding complete. (%s)\n", + event_string(&diff)); +#else + oprintf ( OUT_SYS, 30, " breeding complete.\n" ); +#endif + + event_accum(t_breed, &diff); + + } + + /* free unused ERCs. */ + ephem_const_gc(); + + flush_output_streams(); + + } + + /** free up a lot of stuff before returning. */ + + if (checkfilename) + FREE(checkfilename); + + ephem_const_gc(); + + for (i = 0; i < mpop->size + 1; ++i) + { + for (j = 0; j < run_stats[i].bestn; ++j) + --run_stats[i].best[j]->refcount; + FREE(run_stats[i].best); + } + FREE(run_stats); + + saved_individual_gc(); + FREE(saved_head); +} + +/* generation_information() + * + * calculates and prints population statistics. + */ + +int generation_information(int gen, multipop* mpop, int stt_interval, + int bestn) +{ + int i, j; + int newbest; + static int fd = -1; + popstats* gen_stats; + int ret = 0; + FILE* bout, * hout; + + /* number of decimal digits to use when printing fitness values. */ + if (fd == -1) + fd = atoi(get_parameter("output.digits")); + + /* allocate stats records for the current generation. */ + gen_stats = (popstats*) MALLOC((mpop->size + 1) * sizeof(popstats)); + for (i = 0; i < mpop->size + 1; ++i) + { + gen_stats[i].bestn = bestn; + gen_stats[i].size = -1; + } + + oprintf(OUT_GEN, 90, "=== GENERATION %d ===\n", gen); + oprintf(OUT_PRG, 90, "=== GENERATION %d ===\n", gen); + + /* for each subpopulation... */ + for (i = 0; i < mpop->size; ++i) + { + /* calculate stats for subpopulation. */ + calculate_pop_stats(gen_stats + i + 1, mpop->pop[i], gen, i); + /* accumulate that into stats for whole popluation... */ + accumulate_pop_stats(gen_stats, gen_stats + i + 1); + /* ...and stats for this subpopulation over the whole run. */ + accumulate_pop_stats(run_stats + i + 1, gen_stats + i + 1); + + /* if only one subpop, don't print out the subpop stuff. */ + if (mpop->size == 1) + continue; + + /** print much stuff to .gen, .prg, and .stt files. */ + + if (test_detail_level(90)) + { + oprintf(OUT_GEN, 90, " subpopulation %d:\n", i + 1); + oprintf(OUT_GEN, 90, " generation:\n"); + oprintf(OUT_GEN, 90, " mean: nodes: %.3lf (%d-%d); depth: %.3lf (%d-%d)\n", + (double) gen_stats[i + 1].totalnodes / gen_stats[i + 1].size, + gen_stats[i + 1].minnodes, gen_stats[i + 1].maxnodes, + (double) gen_stats[i + 1].totaldepth / gen_stats[i + 1].size, + gen_stats[i + 1].mindepth, gen_stats[i + 1].maxdepth); + oprintf(OUT_GEN, 90, " best: nodes: %d; depth: %d\n", + gen_stats[i + 1].bestnodes, gen_stats[i + 1].bestdepth); + oprintf(OUT_GEN, 90, " worst: nodes: %d; depth: %d\n", + gen_stats[i + 1].worstnodes, gen_stats[i + 1].worstdepth); + oprintf(OUT_GEN, 90, " run: (%d trees)\n", + run_stats[i + 1].size); + oprintf(OUT_GEN, 90, " mean: nodes: %.3lf (%d-%d); depth: %.3lf (%d-%d)\n", + (double) run_stats[i + 1].totalnodes / run_stats[i + 1].size, + run_stats[i + 1].minnodes, run_stats[i + 1].maxnodes, + (double) run_stats[i + 1].totaldepth / run_stats[i + 1].size, + run_stats[i + 1].mindepth, run_stats[i + 1].maxdepth); + oprintf(OUT_GEN, 90, " best: nodes: %d; depth: %d\n", + run_stats[i + 1].bestnodes, run_stats[i + 1].bestdepth); + oprintf(OUT_GEN, 90, " worst: nodes: %d; depth: %d\n", + run_stats[i + 1].worstnodes, run_stats[i + 1].worstdepth); + } + + if (test_detail_level(90)) + { + oprintf(OUT_PRG, 90, " subpopulation %d:\n", i + 1); + oprintf(OUT_PRG, 90, " generation stats:\n"); + oprintf(OUT_PRG, 90, " mean: hits: %.3lf (%d-%d); standardized fitness: %.*lf\n", + (double) gen_stats[i + 1].totalhits / gen_stats[i + 1].size, + gen_stats[i + 1].minhits, gen_stats[i + 1].maxhits, + fd, (double) gen_stats[i + 1].totalfit / gen_stats[i + 1].size); + oprintf(OUT_PRG, 90, " best: hits: %d; standardized fitness: %.*lf\n", + gen_stats[i + 1].besthits, fd, + (double) gen_stats[i + 1].bestfit); + oprintf(OUT_PRG, 90, " worst: hits: %d; standardized fitness: %.*lf\n", + gen_stats[i + 1].worsthits, fd, + (double) gen_stats[i + 1].worstfit); + oprintf(OUT_PRG, 90, " run stats: (%d trees)\n", + run_stats[i + 1].size); + oprintf(OUT_PRG, 90, " mean: hits: %.3lf (%d-%d); standardized fitness: %.*lf\n", + (double) run_stats[i + 1].totalhits / run_stats[i + 1].size, + run_stats[i + 1].minhits, run_stats[i + 1].maxhits, + fd, (double) run_stats[i + 1].totalfit / run_stats[i + 1].size); + oprintf(OUT_PRG, 90, " best: hits: %d; standardized fitness: %.*lf; generation: %d\n", + run_stats[i + 1].besthits, fd, (double) run_stats[i + 1].bestfit, + run_stats[i + 1].bestgen); + oprintf(OUT_PRG, 90, " worst: hits: %d; standardized fitness: %.*lf; generation: %d\n", + run_stats[i + 1].worsthits, fd, + (double) run_stats[i + 1].worstfit, run_stats[i + 1].worstgen); + } + + if (gen % stt_interval == 0) + { + oprintf(OUT_STT, 50, "%d\t%d\t", gen, i + 1); + oprintf(OUT_STT, 50, "%.*lf\t%.*lf %.*lf\t", + fd, gen_stats[i + 1].totalfit / gen_stats[i + 1].size, + fd, gen_stats[i + 1].bestfit, + fd, gen_stats[i + 1].worstfit); + oprintf(OUT_STT, 50, "%.3lf\t%.3lf\t%d\t%d\t%d\t%d\t", + (double) gen_stats[i + 1].totalnodes / gen_stats[i + 1].size, + (double) gen_stats[i + 1].totaldepth / gen_stats[i + 1].size, + gen_stats[i + 1].bestnodes, gen_stats[i + 1].bestdepth, + gen_stats[i + 1].worstnodes, gen_stats[i + 1].worstdepth); + oprintf(OUT_STT, 50, "%.*lf\t%.*lf\t%.*lf\t", + fd, run_stats[i + 1].totalfit / run_stats[i + 1].size, + fd, run_stats[i + 1].bestfit, + fd, run_stats[i + 1].worstfit); + oprintf(OUT_STT, 50, "%.3lf\t%.3lf\t%d\t%d\t%d\t%d\t", + (double) run_stats[i + 1].totalnodes / run_stats[i + 1].size, + (double) run_stats[i + 1].totaldepth / run_stats[i + 1].size, + run_stats[i + 1].bestnodes, run_stats[i + 1].bestdepth, + run_stats[i + 1].worstnodes, run_stats[i + 1].worstdepth); + oprintf(OUT_STT, 50, "\n"); + } + + } + + /* merge stats for current generation into overall run stats. */ + newbest = accumulate_pop_stats(run_stats, gen_stats); + + /** more printing. **/ + + if (test_detail_level(90)) + { + oprintf(OUT_GEN, 90, " total population:\n"); + oprintf(OUT_GEN, 90, " generation:\n"); + oprintf(OUT_GEN, 90, " mean: nodes: %.3lf (%d-%d); depth: %.3lf (%d-%d)\n", + (double) gen_stats[0].totalnodes / gen_stats[0].size, + gen_stats[0].minnodes, gen_stats[0].maxnodes, + (double) gen_stats[0].totaldepth / gen_stats[0].size, + gen_stats[0].mindepth, gen_stats[0].maxdepth); + oprintf(OUT_GEN, 90, " best: nodes: %d; depth: %d\n", + gen_stats[0].bestnodes, gen_stats[0].bestdepth); + oprintf(OUT_GEN, 90, " worst: nodes: %d; depth: %d\n", + gen_stats[0].worstnodes, gen_stats[0].worstdepth); + oprintf(OUT_GEN, 90, " run: (%d trees)\n", + run_stats[0].size); + oprintf(OUT_GEN, 90, " mean: nodes: %.3lf (%d-%d); depth: %.3lf (%d-%d)\n", + (double) run_stats[0].totalnodes / run_stats[0].size, + run_stats[0].minnodes, run_stats[0].maxnodes, + (double) run_stats[0].totaldepth / run_stats[0].size, + run_stats[0].mindepth, run_stats[0].maxdepth); + oprintf(OUT_GEN, 90, " best: nodes: %d; depth: %d\n", + run_stats[0].bestnodes, run_stats[0].bestdepth); + oprintf(OUT_GEN, 90, " worst: nodes: %d; depth: %d\n", + run_stats[0].worstnodes, run_stats[0].worstdepth); + } + + if (test_detail_level(90)) + { + oprintf(OUT_PRG, 90, " total population:\n"); + oprintf(OUT_PRG, 90, " generation stats:\n"); + oprintf(OUT_PRG, 90, " mean: hits: %.3lf (%d-%d); standardized fitness: %.*lf\n", + (double) gen_stats[0].totalhits / gen_stats[0].size, + gen_stats[0].minhits, gen_stats[0].maxhits, + fd, (double) gen_stats[0].totalfit / gen_stats[0].size); + oprintf(OUT_PRG, 90, " best: hits: %d; standardized fitness: %.*lf\n", + gen_stats[0].besthits, fd, (double) gen_stats[0].bestfit); + oprintf(OUT_PRG, 90, " worst: hits: %d; standardized fitness: %.*lf\n", + gen_stats[0].worsthits, fd, (double) gen_stats[0].worstfit); + oprintf(OUT_PRG, 90, " run stats: (%d trees)\n", + run_stats[0].size); + oprintf(OUT_PRG, 90, " mean: hits: %.3lf (%d-%d); standardized fitness: %.*lf\n", + (double) run_stats[0].totalhits / run_stats[0].size, + run_stats[0].minhits, run_stats[0].maxhits, + fd, (double) run_stats[0].totalfit / run_stats[0].size); + oprintf(OUT_PRG, 90, " best: hits: %d; standardized fitness: %.*lf; generation: %d\n", + run_stats[0].besthits, fd, (double) run_stats[0].bestfit, + run_stats[0].bestgen); + oprintf(OUT_PRG, 90, " worst: hits: %d; standardized fitness: %.*lf; generation: %d\n", + run_stats[0].worsthits, fd, (double) run_stats[0].worstfit, + run_stats[0].worstgen); + } + + if (gen % stt_interval == 0) + { + if (test_detail_level(50)) + { + oprintf(OUT_STT, 50, "%d\t0\t", gen); + oprintf(OUT_STT, 50, "%.*lf\t%.*lf\t%.*lf\t", + fd, gen_stats[0].totalfit / gen_stats[0].size, + fd, gen_stats[0].bestfit, fd, gen_stats[0].worstfit); + oprintf(OUT_STT, 50, "%.3lf\t%.3lf\t%d\t%d\t%d\t%d\t", + (double) gen_stats[0].totalnodes / gen_stats[0].size, + (double) gen_stats[0].totaldepth / gen_stats[0].size, + gen_stats[0].bestnodes, gen_stats[0].bestdepth, + gen_stats[0].worstnodes, gen_stats[0].worstdepth); + oprintf(OUT_STT, 50, "%.*lf\t%.*lf\t%.*lf\t", + fd, run_stats[0].totalfit / run_stats[0].size, + fd, run_stats[0].bestfit, fd, run_stats[0].worstfit); + oprintf(OUT_STT, 50, "%.3lf\t%.3lf\t%d\t%d\t%d\t%d\t", + (double) run_stats[0].totalnodes / run_stats[0].size, + (double) run_stats[0].totaldepth / run_stats[0].size, + run_stats[0].bestnodes, run_stats[0].bestdepth, + run_stats[0].worstnodes, run_stats[0].worstdepth); + oprintf(OUT_STT, 50, "\n"); + } + } + + /* rewrite the .bst file, and append to the .his file. */ + + output_stream_open(OUT_BST); + + oprintf(OUT_BST, 10, "=== BEST-OF-RUN ===\n"); + oprintf(OUT_BST, 10, " generation: %d\n", + run_stats[0].bestgen); + if (mpop->size > 1) + oprintf(OUT_BST, 10, " subpopulation: %d\n", + run_stats[0].bestpop + 1); + oprintf(OUT_BST, 10, " nodes: %d\n", + run_stats[0].bestnodes); + oprintf(OUT_BST, 10, " depth: %d\n", + run_stats[0].bestdepth); + oprintf(OUT_BST, 10, " hits: %d\n", + run_stats[0].besthits); + + oprintf(OUT_HIS, 10, "=== BEST-OF-RUN ===\n"); + oprintf(OUT_HIS, 10, " current generation: %d\n", gen); + oprintf(OUT_HIS, 10, " generation: %d\n", + run_stats[0].bestgen); + if (mpop->size > 1) + oprintf(OUT_HIS, 10, " subpopulation: %d\n", + run_stats[0].bestpop + 1); + oprintf(OUT_HIS, 10, " nodes: %d\n", + run_stats[0].bestnodes); + oprintf(OUT_HIS, 10, " depth: %d\n", + run_stats[0].bestdepth); + oprintf(OUT_HIS, 10, " hits: %d\n", + run_stats[0].besthits); + + /* retrieve the (FILE *) for the .bst and .his files, so that + the trees can be printed to them. */ + + bout = output_filehandle(OUT_BST); + hout = output_filehandle(OUT_HIS); + + if (run_stats[0].bestn == 1) + { + oprintf(OUT_BST, 20, "TOP INDIVIDUAL:\n\n"); + oprintf(OUT_HIS, 20, "TOP INDIVIDUAL:\n\n"); + } else + { + oprintf(OUT_BST, 20, "TOP %d INDIVIDUALS (in order):\n\n", + run_stats[0].bestn); + oprintf(OUT_HIS, 20, "TOP %d INDIVIDUALS (in order):\n\n", + run_stats[0].bestn); + } + + for (i = 0; i < run_stats[0].bestn; ++i) + { + oprintf(OUT_BST, 20, "\n\n-- #%d --\n", i + 1); + + oprintf(OUT_BST, 20, " hits: %d\n", + run_stats[0].best[i]->ind->hits); + oprintf(OUT_BST, 20, " raw fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->r_fitness); + oprintf(OUT_BST, 20, " standardized fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->s_fitness); + oprintf(OUT_BST, 20, " adjusted fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->a_fitness); + + oprintf(OUT_HIS, 20, "\n\n-- #%d --\n", i + 1); + + oprintf(OUT_HIS, 20, " hits: %d\n", + run_stats[0].best[i]->ind->hits); + oprintf(OUT_HIS, 20, " raw fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->r_fitness); + oprintf(OUT_HIS, 20, " standardized fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->s_fitness); + oprintf(OUT_HIS, 20, " adjusted fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->a_fitness); + + /* print the tree to both files here. */ + if (test_detail_level(20)) + { + pretty_print_individual(run_stats[0].best[i]->ind, bout); + pretty_print_individual_equ(run_stats[0].best[i]->ind, bout); + pretty_print_individual(run_stats[0].best[i]->ind, hout); + } + } + + /* call the end-of-evaluation callback. returns 1 if user termination + criterion is met, 0 otherwise. */ + ret = app_end_of_evaluation(gen, mpop, newbest, gen_stats, run_stats); + + /* close the .bst file. */ + output_stream_close(OUT_BST); + + /* free stats structures for current generation. */ + for (i = 0; i < mpop->size + 1; ++i) + { + for (j = 0; j < gen_stats[i].bestn; ++j) + --gen_stats[i].best[j]->refcount; + FREE(gen_stats[i].best); + } + FREE(gen_stats); + + /* deallocate saved individuals that are no longer needed. */ + saved_individual_gc(); + + /* return value the application callback gave us. */ + return ret; + +} + +/* evaluate_pop() + * + * evaluates all the individuals in a population whose cached + * fitness values are invalid. + */ + +void evaluate_pop(population* pop) +{ + int i; +#if defined(POSIX_MT) || defined(SOLARIS_MT) + int start, end, inc, err; + struct thread_param_t* t_param; +#endif +#if POSIX_MT + pthread_t* t_ids; +#endif + +#ifdef DEBUG + print_individual ( pop->ind, stdout ); +#ifdef COEVOLUTION + printf("Can't do COEVOLUTION and DEBUG at the same time, sorry!\n"); +#else + app_eval_fitness ( pop->ind ); +#endif + exit(0); +#endif + +#if !defined(POSIX_MT) && !defined(SOLARIS_MT) +#ifdef COEVOLUTION + + if (pop->size % 2) + { + /* It's not even! */ + error ( E_FATAL_ERROR, "Population must be even to do COEVOLUTION\n"); + } + + for ( i = 0; i < pop->size; i+=2) + if ( pop->ind[i].evald != EVAL_CACHE_VALID || + pop->ind[i+1].evald != EVAL_CACHE_VALID ) + app_eval_fitness ( (pop->ind)+i ); +#else + for ( i = 0; i < pop->size; ++i ) + if ( pop->ind[i].evald != EVAL_CACHE_VALID ) + app_eval_fitness ( (pop->ind)+i ); +#endif + +#else + +#if POSIX_MT + t_ids = (pthread_t*) MALLOC(numthreads * sizeof(pthread_t)); +#endif + t_param = (struct thread_param_t*) MALLOC(numthreads * + sizeof(struct thread_param_t)); + + /* figure out how many pop members per thread */ + inc = pop->size / numthreads; + if (pop->size != inc * numthreads) inc++; + + start = 0; + for (i = 0; i < numthreads; i++) + { + end = start + inc; + if (end > pop->size) end = pop->size; + + /* setup the paramater to pass */ + t_param[i].pop = pop; + t_param[i].startidx = start; + t_param[i].endidx = end; + t_param[i].g = *(get_globaldata()); + +#ifdef POSIX_MT + err = pthread_create(&t_ids[i], &pthread_attr, + evaluate_pop_chunk, &t_param[i]); +#endif +#ifdef SOLARIS_MT + err = thr_create(NULL, (int)NULL, evaluate_pop_chunk, + &t_param[i], (int)NULL,NULL); +#endif + if (err != 0) + { + error(E_FATAL_ERROR, "cannot create thread"); + } + + start = end; + } + +#ifdef SOLARIS_MT + while (thr_join(NULL, NULL, NULL) == 0); +#endif +#ifdef POSIX_MT + for (i = 0; i < numthreads; i++) + { + pthread_join(t_ids[i], NULL); + } + FREE(t_ids); +#endif + FREE(t_param); + +#endif + +} + +/* calculate_pop_stats() + * + * tabulates stats for a population: fitness and size of best, worst, + * mean, etc. also finds top N individuals and saves them. + */ + +void calculate_pop_stats(popstats* s, population* pop, int gen, + int subpop) +{ + int i, j, k, l; + int b; + saved_ind* shp; + individual** temp; + + /* allocate a list of the top N individuals. */ + s->best = (saved_ind**) MALLOC(s->bestn * + sizeof(saved_ind*)); + temp = (individual**) MALLOC((s->bestn + 1) * sizeof(individual*)); + + s->size = pop->size; + + /** this is all pretty obvious -- set all the max and min values to the + first individual's values, then go through the population looking for + things that are bigger/smaller/better/worse/etc. **/ + + s->maxnodes = s->minnodes = s->totalnodes = s->bestnodes = s->worstnodes = + individual_size(pop->ind + 0); + s->maxdepth = s->mindepth = s->totaldepth = s->bestdepth = s->worstdepth = + individual_depth(pop->ind + 0); + s->maxhits = s->minhits = s->totalhits = s->besthits = s->worsthits = + pop->ind[0].hits; + s->bestfit = s->worstfit = s->totalfit = pop->ind[0].a_fitness; + temp[0] = pop->ind; + b = 1; + s->bestgen = s->worstgen = gen; + s->bestpop = s->worstpop = subpop; + + for (i = 1; i < s->size; ++i) + { + j = individual_size(pop->ind + i); + s->totalnodes += j; + if (j < s->minnodes) s->minnodes = j; + if (j > s->maxnodes) s->maxnodes = j; + + k = individual_depth(pop->ind + i); + s->totaldepth += k; + if (k < s->mindepth) s->mindepth = k; + if (k > s->maxdepth) s->maxdepth = k; + + l = pop->ind[i].hits; + s->totalhits += l; + if (l < s->minhits) s->minhits = l; + if (l > s->maxhits) s->maxhits = l; + + s->totalfit += pop->ind[i].a_fitness; + if (pop->ind[i].a_fitness > s->bestfit) + { + s->bestfit = pop->ind[i].a_fitness; + s->bestnodes = j; + s->bestdepth = k; + s->besthits = l; + } else if (pop->ind[i].a_fitness < s->worstfit) + { + s->worstfit = pop->ind[i].a_fitness; + s->worstnodes = j; + s->worstdepth = k; + s->worsthits = l; + } + + /** insert the current individual into the top N list + (if it belongs there). **/ + + for (j = b; j > 0; --j) + { + if (pop->ind[i].a_fitness < temp[j - 1]->a_fitness) + break; + temp[j] = temp[j - 1]; + } + if (j < s->bestn) + temp[j] = pop->ind + i; + if (b < s->bestn) + ++b; + } + + /** now save copies of the individuals in the "temp" list **/ + for (i = 0; i < b; ++i) + { + shp = (saved_ind*) MALLOC(sizeof(saved_ind)); + shp->ind = (individual*) MALLOC(sizeof(individual)); + shp->ind->tr = (tree*) MALLOC(tree_count * sizeof(tree)); + duplicate_individual(shp->ind, temp[i]); + for (j = 0; j < tree_count; ++j) + reference_ephem_constants(shp->ind->tr[j].data, 1); + shp->refcount = 1; + shp->next = NULL; + + saved_tail->next = shp; + saved_tail = shp; + ++saved_head->refcount; + + s->best[i] = shp; + } + +#ifdef DEBUG + printf ( "the best list is:\n" ); + for ( j = 0; j < s->bestn; ++j ) + printf ( " %08x %lf\n", s->best[j], s->best[j]->ind->a_fitness ); +#endif + + FREE(temp); + +} + +/* accumulate_pop_stats() + * + * this merges the second statistics record into the first, so that it reflects + * the "sum" of the underlying populations. returns 1 if the best individual + * of the first record has changed (that is, if the second record has a better + * best individual. + */ + +int accumulate_pop_stats(popstats* total, popstats* n) +{ + int ret = 0; + int i, j, k; + saved_ind** temp; + + if (total->size == -1) + { + /* if the "total" record is empty, then just copy the second record + into it. */ + memcpy(total, n, sizeof(popstats)); + total->best = (saved_ind**) MALLOC(total->bestn * + sizeof(saved_ind*)); + memcpy(total->best, n->best, total->bestn * + sizeof(saved_ind*)); + ret = 1; + } else + { + /* sum the totals. */ + total->size += n->size; + total->totalnodes += n->totalnodes; + total->totaldepth += n->totaldepth; + total->totalhits += n->totalhits; + total->totalfit += n->totalfit; + + /* find the maximums. */ + if (n->maxnodes > total->maxnodes) total->maxnodes = n->maxnodes; + if (n->maxdepth > total->maxdepth) total->maxdepth = n->maxdepth; + if (n->maxhits > total->maxhits) total->maxhits = n->maxhits; + + /* find the minimums. */ + if (n->minnodes < total->minnodes) total->minnodes = n->minnodes; + if (n->mindepth < total->mindepth) total->mindepth = n->mindepth; + if (n->minhits < total->minhits) total->minhits = n->minhits; + + /* find the best individual's numbers. */ + if (n->bestfit > total->bestfit) + { + total->bestfit = n->bestfit; + total->bestnodes = n->bestnodes; + total->bestdepth = n->bestdepth; + total->besthits = n->besthits; + total->bestgen = n->bestgen; + total->bestpop = n->bestpop; + ret = 1; + } + + /* find the worst individual's numbers. */ + if (n->worstfit < total->worstfit) + { + total->worstfit = n->worstfit; + total->worstnodes = n->worstnodes; + total->worstdepth = n->worstdepth; + total->worsthits = n->worsthits; + total->worstgen = n->worstgen; + total->worstpop = n->worstpop; + } + +#ifdef DEBUG + printf ( "total list:\n" ); + for ( i = 0; i < total->bestn; ++i ) + printf ( " %08x %lf\n", + total->best[i], total->best[i]->ind->a_fitness ); + printf ( "new list:\n" ); + for ( i = 0; i < n->bestn; ++i ) + printf ( " %08x %lf\n", + n->best[i], n->best[i]->ind->a_fitness ); +#endif + + /** here we merge the two "top N" lists into one, discarding + the remaining N individuals. **/ + + temp = (saved_ind**) MALLOC(total->bestn * + sizeof(saved_ind*)); + j = 0; /* position in "total"s list */ + k = 0; /* position in "n"s list */ + for (i = 0; i < total->bestn; ++i) + { + /* if the n list is empty, take from the total list. */ + if (k == -1) + temp[i] = total->best[j++]; + /* if the total list is empty, take from the n list. */ + else if (j == -1) + { + ret |= (i == 0); + temp[i] = n->best[k++]; + } + /* if neither list is empty, take the better individual. */ + else if (total->best[j]->ind->a_fitness < + n->best[k]->ind->a_fitness) + { + ret |= (i == 0); + temp[i] = n->best[k++]; + } else + temp[i] = total->best[j++]; + + /* have we run off the end of either list? */ + if (j >= total->bestn) + j = -1; + if (k >= n->bestn) + k = -1; + } + + /* decrement the reference count of the old "best" list. */ + for (i = 0; i < total->bestn; ++i) + --total->best[i]->refcount; + + FREE(total->best); + total->best = temp; + +#ifdef DEBUG + printf ( "new total list:\n" ); + for ( i = 0; i < total->bestn; ++i ) + printf ( " %08x %lf\n", + total->best[i], total->best[i]->ind->a_fitness ); +#endif + } + + /* increment the reference count of the new "best" list. */ + for (i = 0; i < total->bestn; ++i) + ++total->best[i]->refcount; + + return ret; +} + +/* saved_individual_gc() + * + * go through the list of saved individuals, deleting any which are no longer + * referred to. + */ + +void saved_individual_gc(void) +{ + int j; + saved_ind* shp = saved_head->next; + saved_ind* shm = saved_head; + + while (shp) + { + if (shp->refcount == 0) + { + /** found one that needs to be deleted. **/ + + /* dereference its trees' ERCs and delete the trees. */ + for (j = 0; j < tree_count; ++j) + { + reference_ephem_constants(shp->ind->tr[j].data, -1); + free_tree(shp->ind->tr + j); + } + FREE(shp->ind->tr); + FREE(shp->ind); + + /* cut the record out of the linked list. */ + shm->next = shp->next; + if (saved_tail == shp) + saved_tail = shm; + FREE(shp); + shp = shm->next; + + /* the refcount field of the list head (a dummy node) holds the + size of the list. */ + --saved_head->refcount; + } else + { + /* move down the list. */ + shm = shp; + shp = shp->next; + } + } +} + +/* read_saved_individuals() + * + * reads the list of saved individuals from a checkpoint file. constructs + * an index translating indices to addresses. + */ + +saved_ind** read_saved_individuals(ephem_const** eind, FILE* f) +{ + char* buffer; + int count; + int i; + saved_ind* p; + saved_ind** sind; + + buffer = (char*) MALLOC(MAXCHECKLINELENGTH); + + /* read the number of saved individuals. */ + fscanf(f, "%*s %d\n", &count); + + /* allocate the index. */ + sind = (saved_ind**) MALLOC(count * sizeof(saved_ind*)); + + /* allocate the head of the linked list (a dummy node whose refcount + equals the number of individuals on the list). */ + saved_head = (saved_ind*) MALLOC(sizeof(saved_ind)); + saved_head->ind = NULL; + saved_head->refcount = count; + p = saved_head; + for (i = 0; i < count; ++i) + { + /* allocate the next saved_ind on the list. */ + p->next = (saved_ind*) MALLOC(sizeof(saved_ind)); + p = p->next; + /* allocate the individual. */ + p->ind = (individual*) MALLOC(sizeof(individual)); + /* make the index entry. */ + sind[i] = p; + /* read the refcount. */ + fscanf(f, "%d ", &(p->refcount)); + /* read the individual. */ + read_individual(p->ind, eind, f, buffer); + } + /* mark the end of the list. */ + p->next = NULL; + saved_tail = p; + + FREE(buffer); + + return sind; +} + +/* read_stats_checkpoint() + * + * read the overall run statistics structures from a checkpoint file. + */ + +void read_stats_checkpoint(multipop* mpop, ephem_const** eind, FILE* f) +{ + int i, j, k; + saved_ind** sind; + + /* read and index the saved individuals list. */ + sind = read_saved_individuals(eind, f); + + /* allocate the run_stats array. */ + run_stats = (popstats*) MALLOC((mpop->size + 1) * sizeof(popstats)); + for (i = 0; i < mpop->size + 1; ++i) + { + /* read lots of integer values into run_stats. */ + fscanf(f, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", + &(run_stats[i].size), + &(run_stats[i].maxnodes), &(run_stats[i].minnodes), + &(run_stats[i].totalnodes), &(run_stats[i].bestnodes), + &(run_stats[i].worstnodes), + &(run_stats[i].maxdepth), &(run_stats[i].mindepth), + &(run_stats[i].totaldepth), &(run_stats[i].bestdepth), + &(run_stats[i].worstdepth), + &(run_stats[i].maxhits), &(run_stats[i].minhits), + &(run_stats[i].totalhits), &(run_stats[i].besthits), + &(run_stats[i].worsthits)); + /** double-precision values are stored as hex data to avoid loss + of precision. **/ + read_hex_block(&(run_stats[i].bestfit), sizeof(double), f); + fgetc(f); + read_hex_block(&(run_stats[i].worstfit), sizeof(double), f); + fgetc(f); + read_hex_block(&(run_stats[i].totalfit), sizeof(double), f); + /* they are also printed as decimal values, for the benefit of human + readers -- skip these fields. */ + fscanf(f, " %*f %*f %*f\n"); + /* read some more integers. */ + fscanf(f, "%d %d %d %d %d ", + &(run_stats[i].bestgen), &(run_stats[i].worstgen), + &(run_stats[i].bestpop), &(run_stats[i].worstpop), + &(run_stats[i].bestn)); + run_stats[i].best = (saved_ind**) MALLOC(run_stats[i].bestn * + sizeof(saved_ind*)); + /** read the indices of the contents of the best array, and look up + the addresses in the index. **/ + for (j = 0; j < run_stats[i].bestn; ++j) + { + fscanf(f, "%d\n", &k); + run_stats[i].best[j] = sind[k]; + } + } + FREE(sind); +} + +/* write_saved_individuals() + * + * writes the linked list of saved individuals to a checkpoint file. returns + * an index for translating saved_ind addresses to integer indices. + */ + +saved_ind** write_saved_individuals(ephem_index* eind, FILE* f) +{ + saved_ind** index; + saved_ind* shp; + int i = 0; + + index = (saved_ind**) MALLOC(saved_head->refcount * + sizeof(saved_ind*)); + + /* write the count of individuals. */ + fprintf(f, "saved-individual-count: %d\n", saved_head->refcount); + + shp = saved_head->next; + + /** traverse the linked list. **/ + while (shp) + { + /* write the reference count and individual. */ + fprintf(f, "%d ", shp->refcount); + write_individual(shp->ind, eind, f); + + /* record the address in the index. */ + index[i++] = shp; + + shp = shp->next; + } + + return index; +} + +/* write_stats_checkpoint() + * + * write the overall run statistics structures to a checkpoint file. + */ + +void write_stats_checkpoint(multipop* mpop, ephem_index* eind, FILE* f) +{ + int i, j, k; + saved_ind** sind; + + /* write and index the saved individuals list. */ + sind = write_saved_individuals(eind, f); + + for (i = 0; i < mpop->size + 1; ++i) + { + /* write many integer values. */ + fprintf(f, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", + run_stats[i].size, + run_stats[i].maxnodes, run_stats[i].minnodes, + run_stats[i].totalnodes, run_stats[i].bestnodes, + run_stats[i].worstnodes, + run_stats[i].maxdepth, run_stats[i].mindepth, + run_stats[i].totaldepth, run_stats[i].bestdepth, + run_stats[i].worstdepth, + run_stats[i].maxhits, run_stats[i].minhits, + run_stats[i].totalhits, run_stats[i].besthits, + run_stats[i].worsthits); + /** write double-precision values as hex data. **/ + write_hex_block(&(run_stats[i].bestfit), sizeof(double), f); + fputc(' ', f); + write_hex_block(&(run_stats[i].worstfit), sizeof(double), f); + fputc(' ', f); + write_hex_block(&(run_stats[i].totalfit), sizeof(double), f); + /* also write them as decimal values. */ + fprintf(f, " %f %f %f\n", run_stats[i].bestfit, + run_stats[i].worstfit, run_stats[i].totalfit); + /* write more integers. */ + fprintf(f, "%d %d %d %d %d ", + run_stats[i].bestgen, run_stats[i].worstgen, + run_stats[i].bestpop, run_stats[i].worstpop, + run_stats[i].bestn); + /** write the best array, indexing saved individuals using integers. **/ + for (j = 0; j < run_stats[i].bestn; ++j) + { + /** search the index for the address. **/ + for (k = 0; k < saved_head->refcount; ++k) + if (run_stats[i].best[j] == sind[k]) + { + /* print the index to the checkpoint file. */ + fprintf(f, " %d", k); + break; + } + /** address was not found in the index. **/ + if (k == saved_head->refcount) + { + /* this shouldn't ever happen. */ + fprintf(f, " -1"); + error(E_WARNING, "bestn pointer is bad."); + } + } + + fputc('\n', f); + } + + FREE(sind); +} + + +#if !defined(POSIX_MT) && !defined(SOLARIS_MT) + +/* return the globaldata structure */ +globaldata *get_globaldata(void) { + return( &global_g ); +} + +#else /* continues to end of file */ + +/* provide each thread with seperate copy of 'g' */ +globaldata* get_globaldata(void) +{ + globaldata* retval; + +#ifdef POSIX_MT + retval = pthread_getspecific(g_key); +#endif +#ifdef SOLARIS_MT + thr_getspecific( g_key, (void *)&retval ); +#endif + + if (retval == NULL) + { + error(E_FATAL_ERROR, "get_globaldata() tried to return NULL"); + } + + return (retval); +} + + +/* + * initialize_threading() + * + * Setup the program for multithreading use. + */ + +void initialize_threading(void) +{ + char* numthreads_str; + globaldata* main_g; + + /* numthreads_str = getenv( "NUM_THREADS" );*/ + numthreads_str = get_parameter("num_threads"); /* Now in input file */ + if (numthreads_str == NULL) + { + error(E_FATAL_ERROR, "num_threads undefined"); + } + numthreads = atoi(numthreads_str); + if (numthreads < 1) + { + error(E_FATAL_ERROR, "num_threads must be > 0"); + } + + printf("numthreads: %d\n", numthreads); + + /* create the thread key for access to 'g' */ +#ifdef POSIX_MT + pthread_key_create(&g_key, NULL); +#endif +#ifdef SOLARIS_MT + thr_keycreate( &g_key, NULL ); +#endif + + /* main thread needs its own 'g' */ + main_g = (globaldata*) malloc(sizeof(globaldata)); +#ifdef POSIX_MT + pthread_setspecific(g_key, main_g); +#endif +#ifdef SOLARIS_MT + thr_setspecific(g_key, main_g); +#endif + +#ifdef POSIX_MT + /* Setup default thread attributes */ + pthread_attr_init(&pthread_attr); + pthread_attr_setscope(&pthread_attr, PTHREAD_SCOPE_SYSTEM); + + if (1) + { + size_t size; + size_t guard; + + /* Double the stack size */ + pthread_attr_getstacksize(&pthread_attr, &size); + printf("Kernel Old Size %d\n", (int) size); + pthread_attr_setstacksize(&pthread_attr, size * 2); + pthread_attr_getstacksize(&pthread_attr, &size); + printf("Kernel New Size %d\n", (int) size); + +/* Double the Guard size (account for old pthread implementation) */ +#ifdef PTHREAD_1.X + pthread_attr_getguardsize_np(&pthread_attr,&guard); + printf("Kernel Old Guard %d\n",(int)guard); + pthread_attr_setguardsize_np(&pthread_attr,2*guard); + pthread_attr_getguardsize_np(&pthread_attr,&guard); +#else + pthread_attr_getguardsize(&pthread_attr, &guard); + printf("Kernel Old Guard %d\n", (int) guard); + pthread_attr_setguardsize(&pthread_attr, 2 * guard); + pthread_attr_getguardsize(&pthread_attr, &guard); +#endif + printf("Kernel New Guard %d\n", (int) guard); + } +#endif + +#ifdef SOLARIS_MT + /* let the OS know how many threads to run at once */ + thr_setconcurrency( numthreads ); +#endif + +} + +/* evaluate_pop_chuck() + * + * Called from evaluate_pop to do a chunk of evaluations on a pop. + * This was done to allow multithreading. + */ + +void* evaluate_pop_chunk(void* param) +{ + int k, startidx, endidx; + population* pop; + globaldata* g; + struct thread_param_t* t_param; + + t_param = (struct thread_param_t*) param; + pop = t_param->pop; + startidx = t_param->startidx; + endidx = t_param->endidx; + +#ifdef POSIX_MT + pthread_setspecific(g_key, &t_param->g); +#endif +#ifdef SOLARIS_MT + thr_setspecific(g_key, &t_param->g); +#endif + + g = get_globaldata(); + + /* printf("START: %d,%d\n", startidx, endidx); */ + +#ifdef COEVOLUTION /* Here we hack it to provide *two* individuals */ + + if ((endidx-startidx)%2) /* it it's not even */ + + { + char xx[256]; + sprintf(xx,"Uneven number of individuals (%d) at %d", + endidx-startidx,startidx); + error ( E_FATAL_ERROR,xx); + } + + for ( k = startidx; k < endidx; k+=2 ) + + /* It's GOT to have even number of inds */ + + if ( pop->ind[k].evald != EVAL_CACHE_VALID || + pop->ind[k+1].evald != EVAL_CACHE_VALID ) + { + app_eval_fitness ( (pop->ind)+k, (pop->ind)+(k+1) ); + } +#else + for (k = startidx; k < endidx; ++k) + if (pop->ind[k].evald != EVAL_CACHE_VALID) + { + app_eval_fitness((pop->ind) + k); + } +#endif + +} + +#endif /* !defined(POSIX_MT) && !defined(SOLARIS_MT) */ + + diff --git a/lib/lilgp/kernel/individ.c b/lib/lilgp/kernel/individ.c new file mode 100644 index 0000000..e37fb34 --- /dev/null +++ b/lib/lilgp/kernel/individ.c @@ -0,0 +1,136 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* print_individual_stdout() + * + * prints the given individual to stdout. used with the "call" command + * in gdb (stdout is a #defined symbol and so is not available to the + * debugger, at least under Solaris...) + */ + +void print_individual_stdout ( individual *ind ) +{ + print_individual ( ind, stdout ); +} + +/* print_individual() + * + * prints the given individual to the given FILE *. + */ + +void print_individual ( individual *ind, FILE *f ) +{ + int j; + + for ( j = 0; j < tree_count; ++j ) + { + fprintf ( f, " %s: ", tree_map[j].name ); + print_tree ( ind->tr[j].data, f ); + } +} + +/* pretty_print_individual() + * + * pretty-prints the individual to the given FILE *. shows expression + * structure via indentation. + */ + +void pretty_print_individual ( individual *ind, FILE *f ) +{ + int j; + + for ( j = 0; j < tree_count; ++j ) + { + fprintf ( f, "%s:", tree_map[j].name ); + pretty_print_tree ( ind->tr[j].data, f ); + } +} + +void pretty_print_individual_equ ( individual *ind, FILE *f ) +{ + int j; + + for ( j = 0; j < tree_count; ++j ) + { + fprintf ( f, "%s-equ:", tree_map[j].name ); + pretty_print_tree_equ ( ind->tr[j].data, f ); + } +} + +/* individual_size() + * + * returns the total number of nodes in an individual. + */ + +int individual_size ( individual *ind ) +{ + int j, k = 0; + + for ( j = 0; j < tree_count; ++j ) + k += ind->tr[j].nodes; + + return k; +} + +/* individual_depth() + * + * returns the depth of an individual (maximum of the depths + * of its trees). + */ + +int individual_depth ( individual *ind ) +{ + int i, j, k = 0; + + for ( j = 0; j < tree_count; ++j ) + { + if ( ( i = tree_depth ( ind->tr[j].data ) ) > k ) + k = i; + } + return k; +} + +/* duplicate_individual() + * + * duplicates an individual. + */ + +void duplicate_individual ( individual *to, individual *from ) +{ + int j; + for ( j = 0; j < tree_count; ++j ) + copy_tree ( to->tr+j, from->tr+j ); + to->r_fitness = from->r_fitness; + to->s_fitness = from->s_fitness; + to->a_fitness = from->a_fitness; + to->hits = from->hits; + to->evald = from->evald; + to->flags = from->flags; +} + diff --git a/lib/lilgp/kernel/lilgp.h b/lib/lilgp/kernel/lilgp.h new file mode 100644 index 0000000..4228d95 --- /dev/null +++ b/lib/lilgp/kernel/lilgp.h @@ -0,0 +1,57 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _LILGP_H +#define _LILGP_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifdef USEVFORK +#include +#endif + +#include "appdef.h" + +#include "event.h" + +#include "defines.h" +#include "types.h" + +#include "protoapp.h" +#include "function.h" +#include "app.h" +#include "protos.h" + +#endif diff --git a/lib/lilgp/kernel/main.c b/lib/lilgp/kernel/main.c new file mode 100644 index 0000000..830a39e --- /dev/null +++ b/lib/lilgp/kernel/main.c @@ -0,0 +1,897 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include +#include + +#ifdef MEMORY_LOG +FILE *mlog; +#endif + +/* do we dup OUT_SYS to stdout? */ +int quietmode = 0; + +/* tree generation spaces. */ +genspace gensp[GENSPACE_COUNT]; + +/* internal copy of function set(s). */ +function_set* fset; +int fset_count; + +/* information about each tree--which function set it uses, + its name, size limits, etc. */ +treeinfo* tree_map; +int tree_count; + +/* maximum number of nodes per individual. -1 if no limit is + enforced. */ +int ind_nodelimit; + +/* random number generator state */ +randomgen globrand; + +int main(int argc, char** argv) +{ + + multipop* mpop; + int startgen; + event start, end, diff; + event eval, breed; + int startfromcheckpoint; + +#ifdef MEMORY_LOG + /* dump all memory allocations to a file. */ + mlog = fopen ( "memory.log", "w" ); +#endif + + /* mark the start time, and zero the accumulators for evaluation + and breeding time. */ + event_init(); + event_mark(&start); + event_zero(&eval); + event_zero(&breed); + + if (app_create_output_streams()) + error(E_FATAL_ERROR, "app_create_output_streams() failure."); + initialize_output_streams(); + + /* print copyright message and such. */ + initial_message(); + + /* some initialization. */ + oprintf(OUT_SYS, 30, "initialization:\n"); + initialize_parameters(); + initialize_ephem_const(); + initialize_genspace(); + /* process the command line. if starting from a checkpoint file, this + function will load the population. */ + startfromcheckpoint = process_commandline(argc, argv, &startgen, &mpop); + + /* open the files associated with each stream. */ + open_output_streams(); + + /* make internal copies of function set(s), if it hasn't already been + done. */ + if (!startfromcheckpoint) + if (app_build_function_sets()) + error(E_FATAL_ERROR, "app_build_function_sets() failure."); + + /* read parameters limiting tree node count and/or depth. */ + read_tree_limits(); + + /* if not starting from a checkpoint, seed the random number generator. */ + if (!startfromcheckpoint) + initialize_random(); + +#if defined(POSIX_MT) || defined(SOLARIS_MT) + /* setup for multi-threading if applicable */ + initialize_threading(); +#endif + + if (app_initialize(startfromcheckpoint)) + error(E_FATAL_ERROR, "app_initialize() failure."); + + /* if not starting from a checkpoint, create a random population. */ + if (!startfromcheckpoint) + mpop = initial_multi_population(); + + /* build the breeding table and the subpop exchange table from + the parameter database. */ + initialize_topology(mpop); + initialize_breeding(mpop); + + /* do the GP. */ + run_gp(mpop, startgen, &eval, &breed, startfromcheckpoint); + + /* free app stuff. */ + app_uninitialize(); + + /* free lots of stuff. */ + free_breeding(mpop); + free_topology(mpop); + free_multi_population(mpop); + free_parameters(); + free_ephem_const(); + free_genspace(); + free_function_sets(); + + /* mark the finish time. */ + event_mark(&end); + event_diff(&diff, &start, &end); + + /* print memory/time statistics and close output files. */ + output_system_stats(&diff, &eval, &breed); + close_output_streams(); + +#ifdef MEMORY_LOG + fclose ( mlog ); +#endif + + /* destroy global random structure */ + random_destroy(&globrand); + + /* all done. */ + return 0; +} + +/* function_sets_init() + * + * this function is called from user code and passed the function sets + * and tree maps and names. it makes internal copies and does some + * validation. + */ + +int function_sets_init(function_set* user_fset, int user_fcount, + user_treeinfo* user_tree_map, int user_tcount) +{ + int i, j, k, m, n, p; + int x; + int errors = 0; + function* cur; + + /* Strongly Typed... */ + + int pos[NUMTYPES]; /* Current position to place a function/terminal in the cset by type */ + + /* allocate internal copies. */ + fset = (function_set*) MALLOC(user_fcount * sizeof(function_set)); + tree_map = (treeinfo*) MALLOC(user_tcount * sizeof(treeinfo)); + fset_count = user_fcount; + tree_count = user_tcount; + + oprintf(OUT_SYS, 30, "updating function set(s):\n"); + + /* Updates the function set based on input file */ + for (i = 0; i < fset_count; ++i) + { + oprintf(OUT_SYS, 30, " set %d:", i); + fset_update(&user_fset[i]); + } + + oprintf(OUT_SYS, 30, "building function set(s):\n"); + + /* for each set of functions... */ + for (i = 0; i < fset_count; ++i) + { + /* Initialize counts */ + for (x = 0; x < NUMTYPES; x++) + { + fset[i].function_count_by_type[x] = 0; + fset[i].terminal_count_by_type[x] = 0; + fset[i].cset_by_type[x] = (function*) MALLOC(user_fset[i].size * sizeof(function)); + pos[x] = 0; + } + + oprintf(OUT_SYS, 30, " set %d:", i); + + + + /* allocate memory for the set. */ + m = user_fset[i].size; + fset[i].cset = (function*) MALLOC(m * sizeof(function)); + fset[i].num_args = 0; + + k = 0; + + /* Strong Typing: determine number of functions by type */ + + for (j = 0; j < m; ++j) + { + if (user_fset[i].cset[j].type == FUNC_DATA || + user_fset[i].cset[j].type == FUNC_EXPR || + user_fset[i].cset[j].type == EVAL_DATA || + user_fset[i].cset[j].type == EVAL_EXPR) /* non-terminals */ + { + fset[i].function_count_by_type[user_fset[i].cset[j].return_type]++; + } else fset[i].terminal_count_by_type[user_fset[i].cset[j].return_type]++; + } + + + for (j = 0; j < m; ++j) + { + if (user_fset[i].cset[j].type == FUNC_DATA || + user_fset[i].cset[j].type == FUNC_EXPR || + user_fset[i].cset[j].type == EVAL_DATA || + user_fset[i].cset[j].type == EVAL_EXPR) + { + /** functions and evaluation tokens **/ + + cur = &(fset[i].cset[k]); + + /* copy some stuff over. */ + cur->code = user_fset[i].cset[j].code; + cur->ephem_gen = user_fset[i].cset[j].ephem_gen; + cur->ephem_str = user_fset[i].cset[j].ephem_str; + cur->arity = user_fset[i].cset[j].arity; + cur->type = user_fset[i].cset[j].type; + cur->evaltree = user_fset[i].cset[j].evaltree; + + /* copy the name string. */ + n = strlen(user_fset[i].cset[j].string); + cur->string = (char*) MALLOC(n + 1); + for (p = 0; p < n; ++p) + { + if (isspace(user_fset[i].cset[j].string[p]) || + user_fset[i].cset[j].string[p] == ':' || + user_fset[i].cset[j].string[p] == ')' || + user_fset[i].cset[j].string[p] == '(' || + user_fset[i].cset[j].string[p] == '[' || + user_fset[i].cset[j].string[p] == ']') + { + error(E_WARNING, "illegal character(s) in function name changed to '_'."); + cur->string[p] = '_'; + } else + cur->string[p] = user_fset[i].cset[j].string[p]; + } + cur->string[n] = 0; + + /* fill in the index field with this function's position in the + set. */ + cur->index = k; + + /* the ERC-related fields should be NULL. */ + if (cur->ephem_gen || cur->ephem_str) + { + ++errors; + error(E_ERROR, "function has non-NULL ephem_gen and/or ephem_str field(s)."); + } + + /* do some type-specific checking. */ + switch (cur->type) + { + case FUNC_DATA: + case FUNC_EXPR: + if (cur->code == NULL) + { + ++errors; + error(E_ERROR, "ordinary function has NULL code field."); + } + if (cur->arity < 1) + { + ++errors; + error(E_ERROR, "ordinary function has arity of %d.", + cur->arity); + } + if (cur->evaltree != -1) + { + error(E_WARNING, "ordinary function has evaltree field of %d; this will be ignored.", cur->evaltree); + } + break; + case EVAL_DATA: + case EVAL_EXPR: + if (cur->code != NULL) + { + ++errors; + error(E_ERROR, "eval function function has non-NULL code field."); + } + if (cur->arity != -1) + { + error(E_WARNING, "eval function has arity field of %d; this will be ignored.", cur->arity); + } + if (cur->evaltree < 0 || + cur->evaltree >= tree_count) + /* evaluation token refers to a tree that doesn't exist. */ + error(E_FATAL_ERROR, "eval function refers to nonexistent tree (%d).", cur->evaltree); + break; + default: + ++errors; + error(E_ERROR, "unknown function type %d.", cur->type); + } + /* strong typing...*/ + cur->return_type = user_fset[i].cset[j].return_type; + for (x = 0; x < cur->arity; x++) + { + cur->argument_type[x] = user_fset[i].cset[j].argument_type[x]; + } + (fset[i].cset_by_type[cur->return_type])[pos[cur->return_type]++] = *cur; + + ++k; + } else if (user_fset[i].cset[j].type == TERM_NORM || + user_fset[i].cset[j].type == TERM_ERC || + user_fset[i].cset[j].type == TERM_ARG) + { + /** terminals (all kinds). **/ + + /* "cur" is so much easier to type. :) */ + cur = &(fset[i].cset[k]); + + /* copy stuff. */ + cur->code = user_fset[i].cset[j].code; + cur->ephem_gen = user_fset[i].cset[j].ephem_gen; + cur->ephem_str = user_fset[i].cset[j].ephem_str; + cur->arity = user_fset[i].cset[j].arity; + cur->type = user_fset[i].cset[j].type; + cur->evaltree = user_fset[i].cset[j].evaltree; + + /* copy terminal name. */ + n = strlen(user_fset[i].cset[j].string); + cur->string = (char*) MALLOC(n + 1); + strcpy(cur->string, user_fset[i].cset[j].string); + cur->string[n] = 0; + + /* fill in the index field. */ + cur->index = k; + + if (cur->arity != 0) + { + ++errors; + error(E_ERROR, "terminal has nonzero arity."); + } + + /* check for correctness of type-dependent fields. */ + switch (cur->type) + { + case TERM_NORM: + if (cur->code == NULL) + { + ++errors; + error(E_ERROR, "normal terminal has NULL code field."); + } + if (cur->ephem_gen != NULL || cur->ephem_str != NULL) + { + ++errors; + error(E_ERROR, "normal terminal has non-NULL ephem_gen and/or ephem_str field(s)."); + } + if (cur->evaltree != -1) + { + error(E_WARNING, "normal terminal has evaltree field of %d; this will be ignored."); + } + break; + case TERM_ERC: + if (cur->code != NULL) + { + ++errors; + error(E_ERROR, "ERC terminal has non-NULL code field."); + } + if (cur->ephem_gen == NULL || cur->ephem_str == NULL) + { + ++errors; + error(E_ERROR, "ERC terminal has NULL ephem_hen and/or ephem_str field(s)."); + } + if (cur->evaltree != -1) + { + error(E_WARNING, "ERC terminal has evaltree field of %d; this will be ignored."); + } + break; + case TERM_ARG: + ++fset[i].num_args; + if (cur->code != NULL) + { + ++errors; + error(E_ERROR, "argument terminal has non-NULL code field."); + } + if (cur->ephem_gen != NULL || cur->ephem_str != NULL) + { + ++errors; + error(E_ERROR, "argument terminal has non-NULL ephem_hen and/or ephem_str field(s)."); + } + if (cur->evaltree < 0) + { + ++errors; + error(E_ERROR, "argument terminal should have nonnegative evaltree field."); + } + break; + } + + /* strong typing...*/ + cur->return_type = user_fset[i].cset[j].return_type; + (fset[i].cset_by_type[cur->return_type]) + [pos[cur->return_type]++] = *cur; + + ++k; + } + oputs(OUT_SYS, 30, " "); + oputs(OUT_SYS, 30, fset[i].cset[k - 1].string); + } + fset[i].size = k; + oputs(OUT_SYS, 30, "\n"); + } + + + /* if there were any errors, stop now. */ + if (errors) + { + error(E_FATAL_ERROR, "error(s) occurred while processing function set(s)."); + } + + /* build the internal tree map. */ + for (i = 0; i < tree_count; ++i) + { + /* the function set used for this tree. */ + tree_map[i].fset = user_tree_map[i].fset; + if (tree_map[i].fset < 0 || tree_map[i].fset >= fset_count) + error(E_FATAL_ERROR, "tree %d uses a nonexistent function set.\n", i); + tree_map[i].return_type = user_tree_map[i].return_type; + if (tree_map[i].return_type < 0 || tree_map[i].return_type >= NUMTYPES) + error(E_FATAL_ERROR, "tree %d uses an invalid return type: %d.\n", i, + tree_map[i].return_type); + + oprintf(OUT_SYS, 30, " tree %d uses function set %d.\n", i, tree_map[i].fset); + + /* these will be filled in by read_tree_limits(). */ + tree_map[i].nodelimit = -1; + tree_map[i].depthlimit = -1; + + /* copy the tree name. */ + j = strlen(user_tree_map[i].name); + tree_map[i].name = (char*) MALLOC((j + 1) * sizeof(char)); + strcpy(tree_map[i].name, user_tree_map[i].name); + } + + /* now some more processing on each function set. */ + for (i = 0; i < fset_count; ++i) + { + fset[i].function_count = 0; + fset[i].terminal_count = 0; + for (j = 0; j < fset[i].size; ++j) + { + if (fset[i].cset[j].arity == -1) + { + /* change the arity of evaluation tokens from -1 + to the number of argument tokens in the called tree. */ + fset[i].cset[j].arity = fset[tree_map[fset[i].cset[j].evaltree].fset].num_args; + if (fset[i].cset[j].arity == 0) + /* if there are no argument tokens in the tree, + mark this as a terminal. */ + fset[i].cset[j].type = EVAL_TERM; + } + + /* update count of functions and terminals. */ + if (fset[i].cset[j].arity) + ++fset[i].function_count; + else + ++fset[i].terminal_count; + } + + /* now sort the function set so that all the functions + come first. */ + qsort(fset[i].cset, fset[i].size, sizeof(function), + function_compare); + for (x = 0; x < NUMTYPES; x++) + { + qsort(fset[i].cset_by_type[x], fset[i].function_count_by_type[x] + + fset[i].terminal_count_by_type[x], sizeof(function), + function_compare); + } + } + + +#ifdef DEBUG + /* dump the function sets to stdout. */ + for ( i = 0; i < fset_count; ++i ) + { + printf ( "FUNCTION SET %d\n", i ); + printf ( " %d functions; %d terminals; %d arguments\n", + fset[i].function_count, fset[i].terminal_count, + fset[i].num_args ); + + for ( j = 0; j < fset[i].size; ++j ) + printf ( "%10s %06x %06x %06x arity: %3d evaltree: %3d index: %3d type: %3d\n", + fset[i].cset[j].string, + fset[i].cset[j].code, + fset[i].cset[j].ephem_gen, + fset[i].cset[j].ephem_str, + fset[i].cset[j].arity, + fset[i].cset[j].evaltree, + fset[i].cset[j].index, + fset[i].cset[j].type ); + } +#endif + + oprintf(OUT_SYS, 30, " function set complete.\n"); + + return 0; +} + +/* function_compare() + * + * comparison function for qsort() that puts all functions ahead of + * all terminals. + */ + +int function_compare(const void* a, const void* b) +{ + int aa, ba; + aa = !!(((function*) a)->arity); + ba = !!(((function*) b)->arity); + return ba - aa; +} + +/* free_function_sets() + * + * free up internal copies of function sets and tree maps. + */ + +void free_function_sets(void) +{ + int i, j; + + for (i = 0; i < fset_count; ++i) + { + for (j = 0; j < fset[i].function_count + fset[i].terminal_count; ++j) + FREE(fset[i].cset[j].string); + FREE(fset[i].cset); + /* Strong Typing */ + for (j = 0; j < NUMTYPES; ++j) + { + FREE(fset[i].cset_by_type[j]); + } + } + FREE(fset); + + for (i = 0; i < tree_count; ++i) + FREE(tree_map[i].name); + FREE(tree_map); + + fset = NULL; + tree_map = NULL; +} + +/* read_tree_limits() + * + * read limits on tree node count and/or depth from the parameter + * database and fill in the appropriate fields of the tree_map + * array. + */ + +void read_tree_limits(void) +{ + int i, j; + char pnamebuf[100]; + char* param; + + for (i = 0; i < tree_count; ++i) + { + /* read the node limit for this tree. */ + sprintf(pnamebuf, "tree[%d].max_nodes", i); + param = get_parameter(pnamebuf); + if (param == NULL) + tree_map[i].nodelimit = -1; + else + tree_map[i].nodelimit = atoi(param); + + /* read the depth limit for this tree. */ + sprintf(pnamebuf, "tree[%d].max_depth", i); + param = get_parameter(pnamebuf); + if (param == NULL) + tree_map[i].depthlimit = -1; + else + tree_map[i].depthlimit = atoi(param); + } + + /* read the node limit for the whole individual. */ + param = get_parameter("max_nodes"); + if (param == NULL) + ind_nodelimit = -1; + else + ind_nodelimit = atoi(param); + + /* read the depth limit for the whole individual. note that + this is implemented just as a cap on the maximum depth of + any single tree in the individual. */ + param = get_parameter("max_depth"); + if (param) + { + j = atoi(param); + if (j >= 0) + for (i = 0; i < tree_count; ++i) + if (tree_map[i].depthlimit < 0 || + tree_map[i].depthlimit > j) + tree_map[i].depthlimit = j; + } +} + +/* initialize_random() + * + * initialize the random number generator. + */ + +void initialize_random(void) +{ + char* param; + char seedstr[30]; + int seed; + + /* look for a seed parameter. */ + param = get_parameter("random_seed"); + if (param == NULL) + { + sprintf(seedstr, "%d", 1); + + /* if it's not found... */ +#ifdef RANDOMSEEDTIME + FILE* RANDOM_FILE = fopen("/dev/urandom", "r"); + char buffer[4]; + fgets(buffer, 4, RANDOM_FILE); + int tm = (int) time(NULL); + /* ...use the current time. */ + if (buffer[1] == 0) + buffer[1] = 1; + seed = (tm % buffer[0]) * (tm % buffer[1]) + ((tm % buffer[2]) << buffer[3] % 31); + sprintf(seedstr, "%d", seed); + add_parameter("random_seed", seedstr, PARAM_COPY_VALUE); + fclose(RANDOM_FILE); +#else + /* ...use 1. */ + seed = 1; + add_parameter ( "random_seed", seedstr, PARAM_COPY_NONE); +#endif + /* print out what we're using. */ + oprintf(OUT_SYS, 20, + " no random number seed specfied; using %d.\n", + seed); + } else + { + /* the parameter was found; use it. */ + seed = atoi(param); + oprintf(OUT_SYS, 20, + " seeding random number generator with %d.\n", + seed); + } + random_seed(&globrand, seed); +} + +/* pre_parameter_defaults() + * + * used to place values into the parameter database before any application + * code is called or any command line options are processed. + */ + +void pre_parameter_defaults(void) +{ + add_parameter("output.basename", "lilgp", PARAM_COPY_NONE); + add_parameter("output.stt_interval", "1", PARAM_COPY_NONE); + add_parameter("output.detail", "50", PARAM_COPY_NONE); + add_parameter("output.bestn", "1", PARAM_COPY_NONE); + add_parameter("output.digits", "4", PARAM_COPY_NONE); + + add_parameter("init.method", "half_and_half", + PARAM_COPY_NONE); + add_parameter("init.depth", "2-6", PARAM_COPY_NONE); + add_parameter("init.random_attempts", "100", PARAM_COPY_NONE); + + add_parameter("checkpoint.filename", "gp%06d.ckp", + PARAM_COPY_NONE); + + /* default problem uses a single population. */ + add_parameter("multiple.subpops", "1", PARAM_COPY_NONE); +} + +/* post_parameter_defaults() + * + * add/change values in the parameter database after all command line options + * are parsed. can be used to set defaults based on values of other + * parameters. + */ + +void post_parameter_defaults(void) +{ + binary_parameter("probabilistic_operators", 1); +} + +/* process_commandline() + * + * parses the command line. + */ + +int process_commandline(int argc, char** argv, int* gen, + multipop** mpop) +{ + int i; + int errorflag = 0; + int startfromcheckpoint = 0; + + *mpop = NULL; + *gen = 0; + + /* if there are no arguments, print out a brief statement of usage + and exit. */ + if (argc < 2) + { + fprintf(stderr, "usage: %s options\nValid options are:\n", argv[0]); + fprintf(stderr, " [-f parameterfile] read named parameter file\n"); + fprintf(stderr, " [-c checkpointfile] restart from name checkpoint file\n"); + fprintf(stderr, " [-p name=value] set parameter name to value\n"); + fprintf(stderr, " [-q] run in quiet mode\n"); + fprintf(stderr, " [-d symbol] define symbol\n"); + fprintf(stderr, " [-u symbol] undefine symbol\n"); + exit(1); + } + + /* load hardcoded defaults into database. */ + pre_parameter_defaults(); + + for (i = 1; i < argc; ++i) + { + /* all options begin with '-' and have two characters, + except "-d" and "-u" which may have more. */ + if (argv[i][0] != '-' || (argv[i][1] != 'd' && argv[i][1] != 'u' && argv[i][2] != 0)) + { + error(E_ERROR, "unrecognized command line option: \"%s\".", + argv[i]); + errorflag = 1; + continue; + } + + switch (argv[i][1]) + { + case 'f': + /* load a parameter file, named in the next argument. */ + read_parameter_file(argv[++i]); + break; + case 'p': + /* parse a single parameter, in the next argument. */ + if (parse_one_parameter(argv[++i])) + { + errorflag = 1; + error(E_ERROR, "malformed parameter: \"%s\".", argv[i]); + } + break; + case 'c': + /* load a checkpoint file, named in the next argument. */ + if (startfromcheckpoint) + { + /* error if a checkpoint has already been loaded. */ + error(E_ERROR, "can't load multiple checkpoint files."); + errorflag = 1; + continue; + } + read_checkpoint(argv[++i], gen, mpop); + startfromcheckpoint = 1; + break; + case 'q': + /* turn on quiet mode (don't dup OUT_SYS to stdout). */ + quietmode = 1; + break; + case 'd': + /* define a symbol. */ + if (argv[i][2]) + /* of the form "-dsymbol". */ + define_directive(argv[i] + 2); + else + /* of the form "-d symbol". */ + define_directive(argv[++i]); + break; + case 'u': + /* undefine a symbol. */ + if (argv[i][2]) + /* of the form "-usymbol". */ + undefine_directive(argv[i] + 2); + else + /* of the form "-u symbol". */ + undefine_directive(argv[++i]); + break; + default: + error(E_ERROR, "unrecognized command line option: \"%s\".", + argv[i]); + errorflag = 1; + break; + } + } + + if (errorflag) + error(E_FATAL_ERROR, "command line errors occurred. dying."); + + if (!startfromcheckpoint) + post_parameter_defaults(); + + return startfromcheckpoint; + +} + +/* output_system_stats() + * + * print statistics about memory use, execution time, etc. to OUT_SYS + * at conclusion of run. + */ + +void output_system_stats(event* t_total, event* t_eval, event* t_breed) +{ + int total, free, max, mallocc, reallocc, freec; + int ercused, ercfree, ercblocks, ercalloc; + int i; + + get_ephem_stats(&ercused, &ercfree, &ercblocks, &ercalloc); + + oprintf(OUT_SYS, 30, "\nSYSTEM STATISTICS\n"); + +#ifdef TRACK_MEMORY + /* if memory tracking available, then get and print the numbers. */ + get_memory_stats(&total, &free, &max, &mallocc, &reallocc, &freec); + oprintf(OUT_SYS, 30, "\n------- memory -------\n"); + oprintf(OUT_SYS, 30, " allocated: %d\n", total); + oprintf(OUT_SYS, 30, " freed: %d\n", free); + oprintf(OUT_SYS, 30, " not freed: %d\n", total - free); + oprintf(OUT_SYS, 30, " max allocated: %d\n", max); + oprintf(OUT_SYS, 30, " malloc'ed blocks: %d\n", mallocc); + oprintf(OUT_SYS, 30, " realloc'ed blocks: %d\n", reallocc); + oprintf(OUT_SYS, 30, " free'ed blocks: %d\n", freec); +#endif + +#ifdef TIMING_AVAILABLE + /* if timing is available, the get and print the numbers. */ + oprintf(OUT_SYS, 30, "\n------- time -------\n"); + oprintf(OUT_SYS, 30, " overall: %s\n", + event_string(t_total)); + oprintf(OUT_SYS, 30, " evaluation: %s\n", + event_string(t_eval)); + oprintf(OUT_SYS, 30, " breeding: %s\n", + event_string(t_breed)); +#endif + + /* show how large the generation spaces grew. */ + oprintf(OUT_SYS, 30, "\n------- generation spaces -------\n"); + for (i = 0; i < GENSPACE_COUNT; ++i) + oprintf(OUT_SYS, 30, " space %3d size: %d\n", + i, gensp[i].size); + + /* if any ERCs were used, then show these stats. */ + if (ercused > 0) + { + oprintf(OUT_SYS, 30, "\n------- ephemeral random constants -------\n"); + oprintf(OUT_SYS, 30, " used: %d\n", ercused); + oprintf(OUT_SYS, 30, " freed: %d\n", ercfree); + oprintf(OUT_SYS, 30, " allocated: %d\n", ercalloc); + oprintf(OUT_SYS, 30, " blocks: %d\n", ercblocks); + } +} + +/* initial_message() + * + * show startup and copyright messages. + */ + +void initial_message(void) +{ + oputs(OUT_SYS, 0, + "\n[ lil-gp Genetic Programming System.\n"); + oputs(OUT_SYS, 0, + "[ Portions copyright (c) 1995 Michigan State University. All rights reserved.\n"); + oputs(OUT_SYS, 0, + "[ kernel version 1.0; 11 July 1995.\n\n\n"); + +} diff --git a/lib/lilgp/kernel/memory.c b/lib/lilgp/kernel/memory.c new file mode 100644 index 0000000..d0f2bff --- /dev/null +++ b/lib/lilgp/kernel/memory.c @@ -0,0 +1,151 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +#ifdef MEMORY_LOG +extern FILE *mlog; +#endif + +static int totalalloc = 0; +static int maxalloc = 0; +static int freealloc = 0; +static int curalloc = 0; +static int malloccalls = 0; +static int freecalls = 0; +static int realloccalls = 0; + +/* get_memory_stats() + * + * returns the memory statistics stored in static global + * variables. + */ + +void get_memory_stats ( int *total, int *free, int *max, + int *mallocc, int *reallocc, int *freec ) +{ + *total = totalalloc; + *free = freealloc; + *max = maxalloc; + *mallocc = malloccalls; + *reallocc = realloccalls; + *freec = freecalls; +} + +/* track_malloc() + * + * like malloc(), but tracks memory block size. + */ + +void *track_malloc ( unsigned long size ) +{ + unsigned char *p; + + if ( size == 0 ) + return NULL; + + p = (unsigned char *)malloc ( size+EXTRAMEM ); + if ( p == NULL ) + return NULL; + ++malloccalls; + totalalloc += size; + curalloc += size; + if ( curalloc > maxalloc ) + maxalloc = curalloc; + *(int *)p = size; +#ifdef MEMORY_LOG + fprintf ( mlog, "MALLOC %d %08x\n", size, (void *)(p+EXTRAMEM) ); + fflush ( mlog ); +#endif + return (void *)(p+EXTRAMEM); +} + +/* track_free() + * + * like free(), but tracks memory block size. use with pointers + * returned by track_malloc(). + */ + +void track_free ( void *p ) +{ + int size; + + if ( p == NULL ) + return; + +#ifdef MEMORY_LOG + fprintf ( mlog, "FREE %08x\n", p ); + fflush ( mlog ); +#endif + + size = *(int *)((unsigned char *)p-EXTRAMEM); + + ++freecalls; + curalloc -= size; + freealloc += size; + + free ( (unsigned char *)p-EXTRAMEM ); +} + +/* *track_realloc() + * + * like realloc(), but tracks memory block size. use with pointers + * returned by track_malloc(). + */ + +void *track_realloc ( void *p, int newsize ) +{ + int size, change; + + if ( p == NULL ) + return MALLOC ( newsize ); + + size = *(int *)((unsigned char *)p-EXTRAMEM); + + change = newsize-size; + curalloc += change; + if ( curalloc > maxalloc ) + maxalloc = curalloc; + if ( change > 0 ) + totalalloc += change; + else + freealloc -= change; + ++realloccalls; + +#ifdef MEMORY_LOG + fprintf ( mlog, "REALLOC %08x", p ); +#endif + p = realloc ( (unsigned char *)p-EXTRAMEM, newsize+EXTRAMEM ); + *(int *)p = newsize; +#ifdef MEMORY_LOG + fprintf ( mlog, " %d %08x\n", newsize, (void *)((unsigned char *)p+EXTRAMEM) ); + fflush ( mlog ); +#endif + return (void *)((unsigned char *)p+EXTRAMEM); +} + + diff --git a/lib/lilgp/kernel/mutate.c b/lib/lilgp/kernel/mutate.c new file mode 100644 index 0000000..e660edf --- /dev/null +++ b/lib/lilgp/kernel/mutate.c @@ -0,0 +1,532 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + + +#include + +typedef struct +{ + int keep_trying; + int num_times; /* Number of times we should keep trying. If 0, infinity. --Sean */ + double internal; + double external; + double *tree; + double treetotal; + char *sname; + sel_context *sc; + int method; + int mindepth, maxdepth; +} mutate_data; + + + +/* operator_mutate_init() + * + * initialize a breedphase record for mutation. much of this is cut and + * paste from the crossover operator; see that for (a few) more comments. + */ + +int operator_mutate_init ( char *options, breedphase *bp ) +{ + int errors = 0; + mutate_data *md; + int i, j, k, m; + double r; + char **argv, **targv; + int internalset = 0, externalset = 0; + char *cp; + + md = (mutate_data *)MALLOC ( sizeof ( mutate_data ) ); + + /* fill in the breedphase record. */ + bp->gp_operator = OPERATOR_MUTATE; + bp->data = (void *)md; + bp->operator_free = operator_mutate_free; + bp->operator_start = operator_mutate_start; + bp->operator_end = operator_mutate_end; + bp->operator_operate = operator_mutate; + + /* default values for the mutation-specific data structure. */ + md->keep_trying = 0; + md->internal = 0.9; + md->external = 0.1; + md->tree = (double *)MALLOC ( tree_count * sizeof ( double ) ); + for ( j = 0; j < tree_count; ++j ) + md->tree[j] = 0.0; + md->treetotal = 0.0; + md->sname = NULL; + md->method = GENERATE_HALF_AND_HALF; + md->mindepth = -1; + md->maxdepth = -1; + + j = parse_o_rama ( options, &argv ); + + for ( i = 0; i < j; ++i ) + { + if ( strcmp ( "keep_trying", argv[i] ) == 0 ) + { + md->keep_trying = translate_binary ( argv[++i] ); + if ( md->keep_trying == -1 ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a valid setting for \"keep_trying\".", + argv[i] ); + } + } + /* parse number of times to try */ + else if (strcmp ("num_times", argv[i]) == 0) + { + md->num_times = translate_binary(argv[++i]); + if (md->num_times < 0 ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a valid setting for \"num_times\".", + argv[i] ); + } + } + else if ( strcmp ( "internal", argv[i] ) == 0 ) + { + internalset = 1; + md->internal = strtod ( argv[++i], NULL ); + if ( md->internal < 0.0 ) + { + ++errors; + error ( E_ERROR, "mutation: \"internal\" must be nonnegative." ); + } + } + else if ( strcmp ( "external", argv[i] ) == 0 ) + { + externalset = 1; + md->external = strtod ( argv[++i], NULL ); + if ( md->external < 0.0 ) + { + ++errors; + error ( E_ERROR, "mutation: \"external\" must be nonnegative." ); + } + } + else if ( strcmp ( "select", argv[i] ) == 0 ) + { + if ( !exists_select_method ( argv[++i] ) ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a known selection method.", + argv[i] ); + } + FREE ( md->sname ); + md->sname = (char *)MALLOC ( (strlen(argv[i])+1) * sizeof ( char ) ); + strcpy ( md->sname, argv[i] ); + } + else if ( strcmp ( "method", argv[i] ) == 0 ) + { + ++i; + if ( strcmp ( argv[i], "half_and_half" ) == 0 ) + md->method = GENERATE_HALF_AND_HALF; + else if ( strcmp ( argv[i], "grow" ) == 0 ) + md->method = GENERATE_GROW; + else if ( strcmp ( argv[i], "full" ) == 0 ) + md->method = GENERATE_FULL; + else + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a known generation method.", + argv[i] ); + } + } + else if ( strcmp ( "depth", argv[i] ) == 0 ) + { + md->mindepth = strtol ( argv[++i], &cp, 10 ); + if ( *cp == 0 ) + md->maxdepth = md->mindepth; + else if ( *cp == '-' ) + { + md->maxdepth = strtol ( cp+1, &cp, 10 ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "mutation: malformed depth string \"%s\".", + argv[i] ); + } + } + else + { + ++errors; + error ( E_ERROR, "mutation: malformed depth string \"%s\".", + argv[i] ); + } + } + else if ( strcmp ( "tree", argv[i] ) == 0 ) + { + k = parse_o_rama ( argv[++i], &targv ); + if ( k != tree_count ) + { + ++errors; + error ( E_ERROR, "mutation: wrong number of tree fields: \"%s\".", + argv[i] ); + } + else + { + for ( m = 0; m < k; ++m ) + { + md->tree[m] = strtod ( targv[m], &cp ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a number.", + targv[m] ); + } + } + } + + free_o_rama ( k, &targv ); + } + else if ( strncmp ( "tree", argv[i], 4 ) == 0 ) + { + k = strtol ( argv[i]+4, &cp, 10 ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "mutation: unknown option \"%s\".", + argv[i] ); + } + if ( k < 0 || k >= tree_count ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is out of range.", + argv[i] ); + } + else + { + md->tree[k] = strtod ( argv[++i], &cp ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a number.", + argv[i] ); + } + } + } + else + { + ++errors; + error ( E_ERROR, "mutation: unknown option \"%s\".", + argv[i] ); + } + } + + free_o_rama ( j, &argv ); + + if ( internalset && !externalset ) + md->external = 0.0; + else if ( !internalset && externalset ) + md->internal = 0.0; + + if ( md->sname == NULL ) + { + ++errors; + error ( E_ERROR, "mutation: no selection method specified." ); + } + + if ( md->mindepth == -1 && md->maxdepth == -1 ) + { + md->mindepth = 0; + md->maxdepth = 4; + } + + if ( md->mindepth < 0 || md->maxdepth < 0 || + md->maxdepth < md->mindepth ) + { + ++errors; + error ( E_ERROR, "mutation: bad depth range.\n" ); + } + + for ( j = 0; j < tree_count; ++j ) + md->treetotal += md->tree[j]; + if ( md->treetotal == 0.0 ) + { + for ( j = 0; j < tree_count; ++j ) + md->tree[j] = 1.0; + md->treetotal = tree_count; + } + + r = 0.0; + for ( j = 0; j < tree_count; ++j ) + r = (md->tree[j] += r); + +#ifdef DEBUG + if ( !errors ) + { + printf ( "mutation options:\n" ); + printf ( " internal: %lf external: %lf\n", md->internal, md->external ); + printf ( " keep_trying: %d\n", md->keep_trying ); + printf ( " selection: %s\n", md->sname==NULL?"NULL":md->sname ); + printf ( " method: %d mindepth: %d maxdepth: %d\n", + md->method, md->mindepth, md->maxdepth ); + printf ( " tree total: %lf\n", md->treetotal ); + for ( j = 0; j < tree_count; ++j ) + printf ( " tree %d: %lf\n", j, md->tree[j] ); + } +#endif + + return errors; +} + +/* operator_mutate_free() + * + * free mutation stuff. + */ + +void operator_mutate_free ( void *data ) +{ + mutate_data * md; + + md = (mutate_data *)data; + FREE ( md->sname ); + FREE ( md->tree ); + FREE ( md ); +} + +/* operator_mutate_start() + * + * get selection context for mutation operator. + */ + +void operator_mutate_start ( population *oldpop, void *data ) +{ + mutate_data * md; + select_context_func_ptr select_con; + + md = (mutate_data *)data; + select_con = get_select_context ( md->sname ); + md->sc = select_con ( SELECT_INIT, NULL, oldpop, md->sname ); +} + +/* operator_mutate_end() + * + * free selection context for mutation operator. + */ + +void operator_mutate_end ( void *data ) +{ + mutate_data * md; + + md = (mutate_data *)data; + md->sc->context_method ( SELECT_CLEAN, md->sc, NULL, NULL ); +} + + +/* operator_mutate() + * + * do the mutation. + */ + +void operator_mutate ( population *oldpop, population *newpop, + void *data ) +{ + int i; + int ps; + lnode *replace[2]; + int l, ns; + int badtree; + int repcount; + mutate_data * md; + int t; + double r; + int depth; + int totalnodes; + int p; + int forceany; + double total; + int count=0; + + md = (mutate_data *)data; + total = md->internal + md->external; + + /* choose a tree to mutate. */ + r = random_double(&globrand) * md->treetotal; + for ( t = 0; r >= md->tree[t]; ++t ); + + /* select an individual to mutate. */ + p = md->sc->select_method ( md->sc ); + ps = tree_nodes ( oldpop->ind[p].tr[t].data ); + forceany = (ps==1||total==0.0); + +#ifdef DEBUG_MUTATE + fprintf ( stderr, "the parent size is %d\n", ps ); + fprintf ( stderr, " parent %4d: ", p ); + print_tree ( oldpop->ind[p].tr[t].data, stderr ); +#endif + + while(1) + { + count++; + + if ( forceany ) + { + /* choose any point. */ + l = random_int ( &globrand, ps ); + replace[0] = get_subtree ( oldpop->ind[p].tr[t].data, l ); + } + else if ( total*random_double(&globrand) < md->internal ) + { + /* choose an internal point. */ + l = random_int ( &globrand, tree_nodes_internal ( oldpop->ind[p].tr[t].data ) ); + replace[0] = get_subtree_internal ( oldpop->ind[p].tr[t].data, l ); + } + else + { + /* choose an external point. */ + l = random_int ( &globrand, tree_nodes_external ( oldpop->ind[p].tr[t].data ) ); + replace[0] = get_subtree_external ( oldpop->ind[p].tr[t].data, l ); + } + +#ifdef DEBUG_MUTATE + fprintf ( stderr, "selected for replacement: " ); + print_tree ( replace[0], stderr ); +#endif + + gensp_reset ( 1 ); + /* pick a value from the depth ramp. */ + depth = md->mindepth + random_int ( &globrand, md->maxdepth - md->mindepth + 1 ); + /* grow the tree. */ + switch ( md->method ) + { + case GENERATE_GROW: + /* Look up the return type of the parent */ + generate_random_grow_tree ( 1, depth, fset+tree_map[t].fset, + replace[0]->f->return_type); + break; + case GENERATE_FULL: + generate_random_full_tree ( 1, depth, fset+tree_map[t].fset, + replace[0]->f->return_type); + break; + case GENERATE_HALF_AND_HALF: + if ( random_double(&globrand) < 0.5 ) + generate_random_grow_tree ( 1, depth, fset+tree_map[t].fset, + replace[0]->f->return_type); + else + generate_random_full_tree ( 1, depth, fset+tree_map[t].fset , + replace[0]->f->return_type); + break; + } + +#ifdef DEBUG_MUTATE + fprintf ( stderr, "the new subtree is: " ); + print_tree ( gensp[1].data, stderr ); +#endif + + /* count the nodes in the new tree. */ + ns = ps - tree_nodes ( replace[0] ) + tree_nodes ( gensp[1].data ); + totalnodes = ns; + + /* check the mutated tree against node count and/or size limits. */ + badtree = 0; + if ( tree_map[t].nodelimit > -1 && ns > tree_map[t].nodelimit ) + badtree = 1; + else if ( tree_map[t].depthlimit > -1 ) + { + ns = tree_depth_to_subtree ( oldpop->ind[p].tr[t].data, + replace[0] ) + + tree_depth ( gensp[1].data ); + if ( ns > tree_map[t].depthlimit ) + badtree = 1; + } + + /* if tree is too big and keep_trying is set, then skip to the + stop and choose a new mutation point/mutant subtree. */ + if ( md->keep_trying && badtree && + (md->num_times==0 || + md->num_times > count) ) + continue; + + /* check mutated tree against whole-individual node limits. */ + if ( ind_nodelimit > -1 ) + { + for ( i = 0; i < tree_count; ++i ) + if ( i != t ) + totalnodes += oldpop->ind[p].tr[i].nodes; + badtree |= (totalnodes > ind_nodelimit); + } + + /* if tree is too big and keep_trying is set, then skip to the + stop and choose a new mutation point/mutant subtree. */ + if ( md->keep_trying && badtree && + (md->num_times==0 || + md->num_times > count)) + continue; + + if ( badtree ) + { +#ifdef DEBUG_MUTATE + fprintf ( stderr, + "new tree is too big; reproducing parent.\n" ); +#endif + /* tree too big but keep_trying not set, just reproduce + parent tree. */ + duplicate_individual ( (newpop->ind)+newpop->next, + (oldpop->ind)+p ); + } + else + { +#ifdef DEBUG_MUTATE + fprintf ( stderr, "new tree is permissible.\n" ); +#endif + /* copy the parent tree to the offspring position. */ + duplicate_individual ( (newpop->ind)+newpop->next, + (oldpop->ind)+p ); + /* free the tree selected for mutation. */ + free_tree ( newpop->ind[newpop->next].tr+t ); + + /* copy the selected tree, replacing the subtree at the + mutation point with the randomly generated tree. */ + replace[1] = gensp[1].data; + copy_tree_replace_many ( 0, oldpop->ind[p].tr[t].data, + replace, replace+1, 1, &repcount ); + if ( repcount != 1 ) + { + error ( E_FATAL_ERROR, + "botched mutation: this can't happen." ); + } + /* copy the tree to the new individual. */ + gensp_dup_tree ( 0, newpop->ind[newpop->next].tr+t ); + newpop->ind[newpop->next].evald = EVAL_CACHE_INVALID; + newpop->ind[newpop->next].flags = FLAG_NONE; + +#ifdef DEBUG_MUTATE + fprintf ( stderr, " the mutated individual is: " ); + print_individual ( newpop->ind+newpop->next, stderr ); +#endif + } + + ++newpop->next; + break; + } + +#ifdef DEBUG_MUTATE + printf ( "MUTATION COMPLETE.\n\n\n" ); +#endif +} + diff --git a/lib/lilgp/kernel/output.c b/lib/lilgp/kernel/output.c new file mode 100644 index 0000000..17ea176 --- /dev/null +++ b/lib/lilgp/kernel/output.c @@ -0,0 +1,406 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +char buffer[MAXMESSAGELENGTH]; + +typedef struct +{ + int id; + char *ext; + int reset; + char *mode; + int autoflush; + + FILE *f; + int valid; + + char *buffer; +} output; + +output streams[MAXOUTPUTSTREAMS] = + { { OUT_SYS, ".sys", 0, "w", 1, NULL, 0 }, + { OUT_GEN, ".gen", 0, "w", 0, NULL, 0 }, + { OUT_PRG, ".prg", 0, "w", 0, NULL, 0 }, + { OUT_STT, ".stt", 0, "w", 0, NULL, 0 }, + { OUT_BST, ".bst", 1, "w", 0, NULL, 0 }, + { OUT_HIS, ".his", 0, "w", 0, NULL, 0 } }; + +int output_stream_count = SYSOUTPUTSTREAMS; +int toolate = 0; +char *global_basename = NULL; +int detail_level = DEFDETAILLEVEL; + +char error_type[3][20] = { "WARNING: ", "ERROR: ", "FATAL ERROR: " }; + +extern int quietmode; + +/* create_output_stream() + * + * make a new entry in the outputstream table. + */ + +int create_output_stream ( int id, char *ext, int reset, char *mode, + int autoflush ) +{ + int i; + + /* can't create a new stream if they've already been opened. */ + if ( toolate ) + return OUTPUT_TOOLATE; + + /* is the stream table full? */ + if ( output_stream_count >= MAXOUTPUTSTREAMS ) + return OUTPUT_TOOMANY; + + /* is the id or extension the same as an existing stream? */ + for ( i = 0; i < output_stream_count; ++i ) + { + if ( id == streams[i].id ) + return OUTPUT_DUP_ID; + if ( strcmp ( ext, streams[i].ext ) == 0 ) + return OUTPUT_DUP_EXT; + } + + /** save stuff in the table. **/ + + streams[output_stream_count].id = id; + streams[output_stream_count].ext = (char *)malloc ( strlen(ext)+1 ); + strcpy ( streams[output_stream_count].ext, ext ); + streams[output_stream_count].reset = reset; + streams[output_stream_count].mode = (char *)malloc ( strlen(mode)+1 ); + strcpy ( streams[output_stream_count].mode, mode ); + streams[output_stream_count].autoflush = autoflush; + + streams[output_stream_count].f = NULL; + streams[output_stream_count].valid = 0; + ++output_stream_count; + + return OUTPUT_OK; + +} + +/* initialize_output_streams() + * + * initialize the output streams. until they are opened, anything printed + * to one (via oputs() or oprintf()) is saved in memory. + */ + +void initialize_output_streams ( void ) +{ + int i; + + toolate = 1; + + for ( i = 0; i < output_stream_count; ++i ) + streams[i].buffer = NULL; + +} + +/* open_output_streams() + * + * open files associated with each output stream. dump anything buffered + * in memory to the file. + */ + +void open_output_streams ( void ) +{ + int i; + char *fn = NULL; + char *basename; + + basename = get_parameter ( "output.basename" ); + + fn = (char *)MALLOC ( strlen(basename)+50 ); + + for ( i = 0; i < output_stream_count; ++i ) + { + strcpy ( fn, basename ); + strcat ( fn, streams[i].ext ); + streams[i].f = fopen ( fn, streams[i].mode ); + if ( streams[i].f == NULL ) + { + error ( E_ERROR, "can't open output file \"%s\".", fn ); + } + else + { + streams[i].valid = 1; + if ( streams[i].buffer ) + fputs ( streams[i].buffer, streams[i].f ); + FREE ( streams[i].buffer ); + streams[i].buffer = NULL; + } + } + + global_basename = (char *)malloc ( strlen(basename)+1 ); + strcpy ( global_basename, basename ); + + set_detail_level ( atoi ( get_parameter ( "output.detail" ) ) ); + if (fn) + FREE(fn); +} + +/* oputs() + * + * prints a string to an output stream. + */ + +void oputs ( int streamid, int detail, const char *string ) +{ + int i, j; + + if ( streamid == OUT_SYS && !quietmode ) + { + printf ( string ); + fflush ( stdout ); + } + + if ( detail_level < detail ) + return; + + for ( i = 0; i < output_stream_count; ++i ) + { + if ( streamid == streams[i].id ) + { + if ( streams[i].valid ) + { + fputs ( string, streams[i].f ); + if ( streams[i].autoflush ) + fflush ( streams[i].f ); + break; + } + else + { + if ( streams[i].buffer ) + { + j = strlen ( streams[i].buffer ) + + strlen ( string ) + 1; + streams[i].buffer = (char *)REALLOC ( streams[i].buffer, j ); + strcat ( streams[i].buffer, string ); + } + else + { + streams[i].buffer = (char *)MALLOC ( strlen ( string ) + 1 ); + strcpy ( streams[i].buffer, string ); + } + } + } + } +} + +/* oprintf() + * + * prints a formatted string to an output stream. + */ + +void oprintf ( int streamid, int detail, const char *format, ... ) +{ + va_list ap; + + if ( detail_level < detail ) + return; + + va_start ( ap, format ); + vsprintf ( buffer, format, ap ); + va_end ( ap ); + + oputs ( streamid, detail, buffer ); +} + +/* output_filehandle() + * + * returns the filehandle associated with a given stream. + */ + +FILE *output_filehandle ( int streamid ) +{ + int i; + for ( i = 0; i < output_stream_count; ++i ) + if ( streamid == streams[i].id ) + if ( streams[i].valid ) + return ( streams[i].f ); + return NULL; +} + +/* output_stream_close() + * + * closes an output stream, if it has been marked as resettable. + */ + +void output_stream_close ( int streamid ) +{ + int i; + for ( i = 0; i < output_stream_count; ++i ) + if ( streamid == streams[i].id ) + if ( streams[i].reset ) + if ( streams[i].valid ) + { + fclose ( streams[i].f ); + streams[i].valid = 0; + break; + } +} + +/* output_stream_open() + * + * reopens a resettable output stream. + */ + +void output_stream_open ( int streamid ) +{ + char *fn = NULL; + int i; + + for ( i = 0; i < output_stream_count; ++i ) + if ( streamid == streams[i].id ) + if ( streams[i].reset ) + if ( !streams[i].valid ) + { + fn = (char *)MALLOC ( strlen(global_basename)+50 ); + + strcpy ( fn, global_basename ); + strcat ( fn, streams[i].ext ); + streams[i].f = fopen ( fn, streams[i].mode ); + if ( streams[i].f == NULL ) + { + /* an error. */ + } + else + streams[i].valid = 1; + } + if (fn) + FREE(fn); +} + +/* output_stream_flush() + * + * flushes all the resettable output streams. + */ + +void output_stream_flush ( int streamid ) +{ + int i; + + for ( i = 0; i < output_stream_count; ++i ) + if ( streamid == streams[i].id ) + if ( streams[i].reset ) + if ( streams[i].valid ) + fflush ( streams[i].f ); +} + +/* close_output_streams() + * + * closes all the output streams. + */ + +void close_output_streams ( void ) +{ + int i; + + for ( i = 0; i < output_stream_count; ++i ) + { + if ( streams[i].valid ) + { + fclose ( streams[i].f ); + streams[i].valid = 0; + } + } + + for ( i = SYSOUTPUTSTREAMS; i < MAXOUTPUTSTREAMS; ++i ) + { + free ( streams[i].ext ); + free ( streams[i].mode ); + } + + free ( global_basename ); +} + +/* flush_output_streams() + * + * flushes all the output streams. + */ + +void flush_output_streams ( void ) +{ + int i; + for ( i = 0; i < output_stream_count; ++i ) + if ( streams[i].valid ) + fflush ( streams[i].f ); +} + +/* error() + * + * prints an error message to the system output stream, with a given + * level of severity. If the error is fatal, then the error is also + * printed to stderr and the program exits with status 1. + */ + +void error ( int severity, char *format, ... ) +{ + va_list ap; + + va_start ( ap, format ); + vsprintf ( buffer, format, ap ); + va_end ( ap ); + strcat ( buffer, "\n" ); + + oputs ( OUT_SYS, 0, error_type[severity] ); + oputs ( OUT_SYS, 0, buffer ); + + if ( severity == E_FATAL_ERROR ) + { + fprintf ( stderr, "exiting due to fatal error.\n" ); + exit(1); + } + +} + +/* set_detail_level() + * + * sets the detail level to a given value. + */ + +void set_detail_level ( int newlevel ) +{ + if ( newlevel >= MINDETAILLEVEL && + newlevel <= MAXDETAILLEVEL ) + detail_level = newlevel; +} + +/* test_detail_level() + * + * returns 1 if the argument is less than or equal to the current + * detail level. + */ + +int test_detail_level ( int detail ) +{ + if ( detail_level < detail ) + return 0; + return 1; +} diff --git a/lib/lilgp/kernel/params.c b/lib/lilgp/kernel/params.c new file mode 100644 index 0000000..03c83b4 --- /dev/null +++ b/lib/lilgp/kernel/params.c @@ -0,0 +1,751 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/** array of parameters, along with the size of the array and the number + of parameters used. **/ +parameter *param; +int param_size = 0, param_alloc = 0; + +/* read_parameter_file() + * + * reads and parses a parameter file. + */ + +void read_parameter_file ( char *filename ) +{ + FILE *f; + char buffer[MAXPARAMLINELENGTH+1]; + char *buf2; + int buf2size; + int line = 0; + int errors = 0; + int including = 1; + int flag; + int buflen, buf2len; + int cont; + + /** open it. **/ + f = fopen ( filename, "r" ); + if ( f == NULL ) + error ( E_FATAL_ERROR, "can't open parameter file \"%s\".", + filename ); + + /** lines are read into buffer. they are appended to buf2 until a + line which is not continued is hit, then buf2 is parsed and the + parameter added. **/ + + /* initial allocation of buf2. */ + buf2 = (char *)MALLOC ( MAXPARAMLINELENGTH * sizeof ( char ) ); + buf2size = MAXPARAMLINELENGTH; + buf2[0] = 0; + buf2len = 0; + cont = 0; + + while ( fgets ( buffer, MAXPARAMLINELENGTH, f ) != NULL ) + { + ++line; + + /* remove comments, skip line if it's blank after comment + removal. */ + if ( delete_comment ( buffer ) ) + continue; + + /** if this is a %ifdef, %ifndef, or %endif directive, then + set the including variable accordingly. **/ + if ( buffer[0] == '%' ) + { + flag = 0; + if ( strncmp ( buffer+1, "ifdef", 5 ) == 0 ) + including = test_directive ( buffer+6 ); + else if ( strncmp ( buffer+1, "ifndef", 6 ) == 0 ) + including = !test_directive ( buffer+7 ); + else if ( strncmp ( buffer+1, "endif", 5 ) == 0 ) + including = 1; + else + flag = 1; + + if ( !flag ) + continue; + } + + /* skip this line unless including is set. */ + if ( !including ) + continue; + + /** if this is a %define or %undefine directive, then process + it. **/ + if ( buffer[0] == '%' ) + { + if ( strncmp ( buffer+1, "define", 6 ) == 0 ) + define_directive ( buffer+7 ); + else if ( strncmp ( buffer+1, "undefine", 8 ) == 0 ) + undefine_directive ( buffer+9 ); + else + error ( E_ERROR, "%s line %d: unknown directive.", + filename, line ); + continue; + } + + /* is this line continued? (is the last nonwhitespace character + a backslash?) */ + cont = check_continuation ( buffer ); + + /** make buf2 bigger if necessary. **/ + buflen = strlen ( buffer ); + while ( buf2len + buflen > buf2size + 10 ) + { + buf2size += MAXPARAMLINELENGTH; + buf2 = (char *)REALLOC ( buf2, buf2size * sizeof ( char ) ); + } + + /** tack the current line onto buf2. **/ + strcat ( buf2, buffer ); + buf2len += buflen; + + /** if this line is not continued further, then parse buf2. and + add the parameter. **/ + if ( !cont ) + { + if ( parse_one_parameter ( buf2 ) ) + { + errors = 1; + error ( E_ERROR, "%s line %d: syntax error.", + filename, line ); + } + + /** reset buf2 as empty. **/ + buf2len = 0; + buf2[0] = 0; + } + } + + /* close file. */ + fclose ( f ); + + /** if the last line was continued, and nothing followed it, that's + an error. **/ + if ( buf2len != 0 ) + { + errors = 1; + error ( E_ERROR, "unexpected EOF." ); + } + + /** if any errors occurred during parsing, stop now. **/ + if ( errors ) + error ( E_FATAL_ERROR, + "some syntax errors occurred parsing \"%s\".", filename ); + + FREE ( buf2 ); + +} + +/* check_continuation() + * + * returns true/false depending on whether the given string is continued + * (the last nonwhitespace character is a backslash). If so, the backslash + * and everything after it is chopped. + */ + +int check_continuation ( char *buffer ) +{ + int i, l; + l = strlen ( buffer ); + for ( i = l-1; i >= 0; --i ) + if ( !isspace(buffer[i]) ) + { + if ( buffer[i] == '\\' ) + { + buffer[i] = '\n'; + buffer[i+1] = 0; + return 1; + } + else + return 0; + } + + /* a blank line was passed. */ + return 0; +} + +/* delete_comment() + * + * this searches the string for a '#' or ';' and chops everything + * following, if one is found. returns 1 if the resulting line is blank + * (all whitespace), 0 otherwise. + */ + +int delete_comment ( char *buffer ) +{ + int i, l; + + l = strlen ( buffer ); + /* zero-length lines are considered blank. */ + if ( l == 0 ) + return 1; + /* if the last character is a newline, chop it. */ + if ( buffer[--l] == '\n' ) + buffer[l] = 0; + for ( i = 0; i < l; ++i ) + if ( buffer[i] == '#' || buffer[i] == ';' ) + { + /* chop the line at a '#' or ';'. */ + buffer[i] = 0; + break; + } + /* look for a nonwhitespace character. */ + l = strlen ( buffer ); + for ( i = 0; i < l; ++i ) + if ( !isspace(buffer[i]) ) + /* found one, return 0. */ + return 0; + + /* blank line, return 1. */ + return 1; +} + +/* translate_binary() + * + * this translates all of the valid strings representing binary values + * to the corresponding integer. + */ + +int translate_binary ( char *string ) +{ + if ( strcmp ( string, "true" ) == 0 || + strcmp ( string, "t" ) == 0 || + strcmp ( string, "on" ) == 0 || + strcmp ( string, "yes" ) == 0 || + strcmp ( string, "y" ) == 0 || + strcmp ( string, "1" ) == 0 ) + return 1; + else if ( strcmp ( string, "false" ) == 0 || + strcmp ( string, "f" ) == 0 || + strcmp ( string, "off" ) == 0 || + strcmp ( string, "no" ) == 0 || + strcmp ( string, "n" ) == 0 || + strcmp ( string, "0" ) == 0 ) + return 0; + else + return -1; +} + +/* read_parameter_database() + * + * this reads parameters from a checkpoint file. + */ + +void read_parameter_database ( FILE *f ) +{ + int i, j, k; + int count; + char *buf1, *buf2; + int buf2len, buf2alloc; + + /* how many parameters are we supposed to find? */ + fscanf ( f, "%*s %d\n", &count ); + if ( fgetc ( f ) != '#' ) + error ( E_FATAL_ERROR, "error in parameter section of checkpoint file." ); + + buf1 = (char *)MALLOC ( MAXPARAMLINELENGTH ); + buf2 = (char *)MALLOC ( MAXPARAMLINELENGTH ); + buf2alloc = MAXPARAMLINELENGTH; + buf2[0] = 0; + buf2len = 0; + + for ( i = 0; i < count; ) + { + /* get a line in buf1. */ + fgets ( buf1, MAXPARAMLINELENGTH, f ); + + /** lengthen buf2 if necessary. */ + while ( buf2len + strlen ( buf1 ) >= buf2alloc ) + { + buf2 = (char *)REALLOC ( buf2, buf2alloc + MAXPARAMLINELENGTH ); + buf2alloc += MAXPARAMLINELENGTH; + } + /** tack line onto buf2. **/ + strcat ( buf2, buf1 ); + buf2len += strlen ( buf1 ); + + /* get the first character of the next line. */ + k = fgetc ( f ); + if ( k != '+' ) + { + /** not a '+', so the line is not continued. **/ + + /* chop the final newline. */ + buf2[buf2len-1] = 0; + for ( j = 0; j < buf2len; ++j ) + /* look for a " = " substring, and break it into name/value + there. */ + if ( buf2[j] == ' ' && buf2[j+1] == '=' && + buf2[j+2] == ' ' ) + { + /** add the parameter. **/ + buf2[j] = 0; + add_parameter ( buf2, buf2+j+3, + PARAM_COPY_NAME|PARAM_COPY_VALUE ); +#ifdef DEBUG + fprintf ( stderr, "name = [%s]\nvalue = [%s]\n", + buf2, buf2+j+3 ); +#endif + } + + /** reset buf2. **/ + buf2[0] = 0; + buf2len = 0; + + /* count of how many we've found. */ + ++i; + } + } + /* put the extra character we read back. */ + ungetc ( k, f ); + + FREE ( buf1 ); + FREE ( buf2 ); +} + +/* write_parameter_database() + * + * this writes all the parameters to a checkpoint file, as "name = value\n". + * since parameters can have embedded newlines, we begin each line of the + * file with a "#" to indicate the start of a new name/value pair or a "+" + * to indicate a continuation of the previous line. + */ + +void write_parameter_database ( FILE *f ) +{ + int i, j; + + /* write the total count. */ + fprintf ( f, "parameter-count: %d\n", param_size ); + for ( i = 0; i < param_size; ++i ) + { + /* start the pair with a '#'. */ + fputc ( '#', f ); + /** write the name, adding '+' after newlines. */ + for ( j = 0; j < strlen ( param[i].n ); ++j ) + { + fputc ( param[i].n[j], f ); + if ( param[i].n[j] == '\n' ) + fputc ( '+', f ); + } + /* write " = ". */ + fputs ( " = ", f ); + /** write the value, adding '+' after newlines. */ + for ( j = 0; j < strlen ( param[i].v ); ++j ) + { + fputc ( param[i].v[j], f ); + if ( param[i].v[j] == '\n' ) + fputc ( '+', f ); + } + /* end the pair. */ + fputc ( '\n', f ); + } +} + +/* initialize_parameters() + * + * initializes the parameter database. */ + +void initialize_parameters ( void ) +{ + oputs ( OUT_SYS, 30, " parameter database.\n" ); + + param = (parameter *)MALLOC ( PARAMETER_MINSIZE * sizeof ( parameter ) ); + param_alloc = PARAMETER_MINSIZE; + param_size = 0; +} + +/* free_parameters() + * + * frees all the parameters. + */ + +void free_parameters ( void ) +{ + int i; + + for ( i = 0; i < param_size; ++i ) + { + /* if add_parameter made a copy of the name, then free it. */ + if ( param[i].copyflags & PARAM_COPY_NAME ) + FREE ( param[i].n ); + /* if add_parameter make a copy of the value, then free it. */ + if ( param[i].copyflags & PARAM_COPY_VALUE ) + FREE ( param[i].v ); + } + + FREE ( param ); + param = NULL; + param_alloc = 0; + param_size = 0; +} + +/* add_parameter() + * + * adds the given name/value pair to the database. the flags indicate + * which if any of the strings need to be copied. + */ + +void add_parameter ( char *name, char *value, int copyflags ) +{ + + /* erase any existing parameter of the same name. */ + delete_parameter ( name ); + + /** if the database is full, make it bigger. **/ + while ( param_alloc < param_size+1 ) + { + param_alloc += PARAMETER_CHUNKSIZE; + param = (parameter *)REALLOC ( param, + param_alloc * sizeof ( parameter ) ); + } + + /** add the name. **/ + if ( copyflags & PARAM_COPY_NAME ) + { + /* make a copy of the string if requested. */ + param[param_size].n = (char *)MALLOC ( strlen(name)+1 ); + strcpy ( param[param_size].n, name ); + } + else + /* just store the pointer passed to us. */ + param[param_size].n = name; + + /** add the value. **/ + if ( copyflags & PARAM_COPY_VALUE ) + { + /* make a copy of the string if requested. */ + param[param_size].v = (char *)MALLOC ( strlen(value)+1 ); + strcpy ( param[param_size].v, value ); + } + else + /* just store the pointer passed to us. */ + param[param_size].v = value; + + /* record whether our values are copies or not. */ + param[param_size].copyflags = copyflags; + + ++param_size; + +} + +/* delete_parameter() + * + * deletes a parameter from the database. + */ + +int delete_parameter ( char *name ) +{ + int i; + + for ( i = 0; i < param_size; ++i ) + if ( strcmp ( name, param[i].n ) == 0 ) + { + /** free any copies make by add_parameter. **/ + if ( param[i].copyflags & PARAM_COPY_NAME ) + FREE ( param[i].n ); + if ( param[i].copyflags & PARAM_COPY_VALUE ) + FREE ( param[i].v ); + + /** move the last value in the database to the position + of the deleted one. **/ + if ( param_size-1 != i ) + { + param[i].n = param[param_size-1].n; + param[i].v = param[param_size-1].v; + param[i].copyflags = param[param_size-1].copyflags; + } + --param_size; + return 1; + } + + return 0; +} + +/* get_parameter() + * + * looks up a parameter in the database. + */ + +char *get_parameter ( const char *name ) +{ + int i; + + for ( i = 0; i < param_size; ++i ) + if ( strcmp ( name, param[i].n ) == 0 ) + return param[i].v; + return NULL; +} + +/* print_parameters() + * + * dumps parameter database to stdout. + */ + +void print_parameters ( void ) +{ + int i; + + for ( i = 0; i < param_size; ++i ) + printf ( "name: \"%s\" value: \"%s\" copy: %d\n", + param[i].n, param[i].v, param[i].copyflags ); + +} + +/* parse_one_parameter() + * + * breaks a string at the first equals sign into name and value parts. + * removes leading and trailing whitespace from both parts. inserts the + * resulting pair into the parameter database. + */ + +int parse_one_parameter ( char *buffer ) +{ + char name[MAXPARAMLINELENGTH+1]; + char data[MAXPARAMLINELENGTH+1]; + int i, j, k, l; + int n, d; + + k = -1; + j = 0; + l = strlen ( buffer ); + /** scan for a equals sign. **/ + for ( i = 0; i < l; ++i ) + { + /* j records whether or not we have found a nonwhitespace + character. */ + j += (buffer[i] != ' ' && buffer[i] != '\t' && buffer[i] != '\n'); + if ( buffer[i] == '=' ) + { + k = i; + /* copy the name part. */ + strncpy ( name, buffer, k ); + name[k] = 0; + /* copy the value part. */ + strcpy ( data, buffer+k+1 ); + break; + } + } + + /* if we found no '=', return an error unless the line was + completely blank. */ + if ( k == -1 ) + return !!j; + + /* trim leading and trailing whitespace. */ + n = trim_string ( name ); + d = trim_string ( data ); + + /** if either section is blank, return an error, otherwise add + the pair as a parameter. **/ + if ( n == 0 || d == 0 ) + return 1; + else + add_parameter ( name, data, PARAM_COPY_NAME|PARAM_COPY_VALUE ); + + return 0; +} + +/* trim_string() + * + * trims leading and trailing whitespace from a string, overwriting the + * argument with the result. returns number of characters in result. + */ + +int trim_string ( char *string ) +{ + int i, j, l; + + j = -1; + l = strlen ( string ); + for ( i = 0; i < l; ++i ) + { + if ( j == -1 ) + { + if ( string[i] != ' ' && string[i] != '\t' && + string[i] != '\n' ) + { + j = i; + --i; + } + } + else + string[i-j] = string[i]; + } + if ( j == -1 ) + { + string[0] = 0; + return 0; + } + + string[i-j] = 0; + l = i-j; + j = -1; + for ( i = 0; i < l; ++i ) + { + if ( string[i] != ' ' && string[i] != '\t' && string[i] != '\n' ) + j = i; + } + string[j+1] = 0; + + return j+1; +} + +/* define_directive() + * + * defines a directive "SYMBOL", which is just a parameter called + * "__define:SYMBOL". trims leading and trailing whitespace from SYMBOL. + */ + +void define_directive ( char *string ) +{ + char *buffer; + int i; + + for ( i = 0; i < strlen(string) && isspace(string[i]); ++i ); + + buffer = (char *)MALLOC ( (20 + strlen(string)) * sizeof ( char ) ); + strcpy ( buffer, "__define:" ); + strcat ( buffer, string+i ); + + for ( i = strlen(buffer)-1; i >= 0 && isspace(buffer[i]); --i ) + buffer[i] = 0; + + add_parameter ( buffer, "1", PARAM_COPY_NAME ); + FREE ( buffer ); +} + +/* undefine_directive() + * + * undefines a directive "SYMBOL". + */ + +void undefine_directive ( char *string ) +{ + char *buffer; + int i; + + for ( i = 0; i < strlen(string) && isspace(string[i]); ++i ); + + buffer = (char *)MALLOC ( (20 + strlen(string)) * sizeof ( char ) ); + strcpy ( buffer, "__define:" ); + strcat ( buffer, string+i ); + + for ( i = strlen(buffer)-1; i >= 0 && isspace(buffer[i]); --i ) + buffer[i] = 0; + + delete_parameter ( buffer ); + FREE ( buffer ); +} + +/* test_directive() + * + * returns 1 iff a given directive is defined. + */ + +int test_directive ( char *string ) +{ + char *buffer; + int ret; + int i; + + for ( i = 0; i < strlen(string) && isspace(string[i]); ++i ); + + buffer = (char *)MALLOC ( (20 + strlen(string)) * sizeof ( char ) ); + strcpy ( buffer, "__define:" ); + strcat ( buffer, string+i ); + + for ( i = strlen(buffer)-1; i >= 0 && isspace(buffer[i]); --i ) + buffer[i] = 0; + + if ( get_parameter ( buffer ) ) + ret = 1; + else + ret = 0; + + FREE ( buffer ); + return ret; +} + +/* binary_parameter() + * + * checks for the existence of a parameter. if it exists, then it is changed + * to the string "0" or "1" using lilgp's list of strings representing + * binary values. if the value is not on the list, or the parameter is + * not found, then the parameter is set according to the value argument (it + * acts as a default). + */ + +void binary_parameter ( char *name, int value ) +{ + char *param = get_parameter ( name ); + char string[2]; + char *i, *is; + int v; + + if ( param != NULL ) + { + /* copy the value and lowercase it. */ + v = strlen ( param ); + i = (char *)MALLOC ( (v+1)*sizeof ( char ) ); + strcpy ( i, param ); + for ( is = i; *is; ++is ) + *is = tolower(*is); + + /* translate to a binary integer. */ + v = translate_binary ( i ); + + if ( v == -1 ) + { + /* translation failed, use the value argument. */ + error ( E_ERROR, + "\"%s\" is not a legal value for \"%s\"; assuming default.", + i, name ); + v = value; + } + + FREE ( i ); + + } + else + /* parameter not found, use the value argument. */ + v = value; + + /** print the value to a string and put it in the parameter database. */ + sprintf ( string, "%d", !!v ); + add_parameter ( name, string, PARAM_COPY_VALUE|PARAM_COPY_NAME ); + +} + + + + diff --git a/lib/lilgp/kernel/populate.c b/lib/lilgp/kernel/populate.c new file mode 100644 index 0000000..8bef282 --- /dev/null +++ b/lib/lilgp/kernel/populate.c @@ -0,0 +1,548 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ +#include + + + +/* Read in an individual from a file, skipping any text in between */ +void mod_read_tree_recurse ( int space, ephem_const **eind, FILE *fil, int tree, + char *string, int skip ) +{ + function *f; + int i, j; + ephem_const *ep; + + if( skip ) + { + i = 0; + /*Read up until we get the first parenthesies */ + while( i != '(' ) + { + if( feof(fil) ) + { + fseek( fil, 0L, SEEK_SET ); + } + i = fgetc(fil); + } + if( i != '(' ) + { + error( E_FATAL_ERROR, "Ran out of file space while reading in saved tree"); + } + } + /* read up until a nonwhitespace character in file. the nonwhitespace + character is saved in string[0]. */ + while ( isspace(string[0]=fgetc(fil)) ); + /* get the next character. */ + i = fgetc ( fil ); + if ( isspace(i) ) + /* if the next character is whitespace, then string[0] is a + one-character function name. null-terminate the string. */ + string[1] = 0; + else + { + /** if the next character is not whitespace, then string[0] + is either an open parenthesis or the first character of a + multi-character function name. **/ + + /* push the next character back. */ + ungetc ( i, fil ); + /* read the function name. skip over an open parenthesis, if there + is one. */ + fscanf ( fil, "%s ", string+(string[0]!='(') ); + } +#ifdef DEBUG_READTREE + fprintf ( stderr, "function name is [%s]\n", string ); +#endif + + /* look up the function name in this tree's function set. if the + function is an ERC terminal (the name is of the form "name:ERCindex"), + then place the ERC address in ep. */ + f = get_function_by_name ( tree, string, &ep, eind ); + /* add an lnode to the tree. */ + gensp_next(space)->f = f; + + switch ( f->type ) + { + case TERM_NORM: + case TERM_ARG: + case EVAL_TERM: + break; + case TERM_ERC: + /* record the ERC address as the next lnode in the array. */ + gensp_next(space)->d = ep; + break; + case FUNC_DATA: + case EVAL_DATA: + /** recursively read child functions, no skip nodes needed. **/ + for ( i = 0; i < f->arity; ++i ) + mod_read_tree_recurse ( space, eind, fil, tree, string, 0 ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + /** recursively read child functions, recording skip values. **/ + for ( i = 0; i < f->arity; ++i ) + { + /* save an lnode for the skip value. */ + j = gensp_next_int ( space ); + /* read the child tree. */ + mod_read_tree_recurse ( space, eind, fil, tree, string, 0); + /* figure out how big the child tree was, and save that + number in the skip node. */ + gensp[space].data[j].s = gensp[space].used-j-1; + } + break; + } +} + + +/* generate_random_population() + * + * fills a population with randomly generated members. + */ + +void generate_random_population ( population *p, int *mindepth, + int *maxdepth, int *method, FILE **dataum ) +{ + int i, j, k, m; + int attempts; + int totalattempts = 0; + int depth; + int attempts_generation; + tree *temp; + int totalnodes = 0; + int flag; + char buf[2048]; + int ignore_limits; + + /* how many consecutive rejected trees we will tolerate before + giving up. */ + attempts_generation = atoi ( get_parameter ( "init.random_attempts" ) ); + if ( attempts_generation <= 0 ) + error ( E_FATAL_ERROR, + "\"init.random_attempts\" must be positive." ); + + ignore_limits = (get_parameter("init.ignore_limits")!=NULL); + + temp = (tree *)MALLOC ( tree_count * sizeof ( tree ) ); + + k = 0; + attempts = attempts_generation; + while ( k < p->size ) + { + /* total nodes in the individual being generated. */ + totalnodes = 0; + + for ( j = 0; j < tree_count; ++j ) + { + + if ( attempts <= 0 ) + error ( E_FATAL_ERROR, + "The last %d trees generated have been bad. Giving up.", + attempts_generation ); + + --attempts; + ++totalattempts; + + /* pick a depth on the depth ramp. */ + depth = mindepth[j] + random_int ( &globrand, maxdepth[j] - mindepth[j] + 1 ); + + /* clear a generation space. */ + gensp_reset ( 0 ); + + /** generate the tree. **/ + switch ( method[j] ) + { + case GENERATE_FULL: + generate_random_full_tree ( 0, depth, fset+tree_map[j].fset, + tree_map[j].return_type); + break; + case GENERATE_GROW: + generate_random_grow_tree ( 0, depth, fset+tree_map[j].fset, + tree_map[j].return_type); + break; + case GENERATE_HALF_AND_HALF: + if ( random_double(&globrand) < 0.5 ) + generate_random_full_tree ( 0, depth, fset+tree_map[j].fset, + tree_map[j].return_type); + else + generate_random_grow_tree ( 0, depth, fset+tree_map[j].fset, + tree_map[j].return_type); + break; + + case LOAD_FILE: + gensp_reset(0); + mod_read_tree_recurse( 0, NULL, dataum[j], j, buf, 1); + /* need to do something here about limit checking */ + break; + } + + /** throw away the tree if it's too big. **/ + + /*printf("Attempted Tree: "); + print_tree(gensp[0].data,stdout);*/ + + /* first check the node limits. */ + flag = 0; + m = tree_nodes ( gensp[0].data ); + + + if (method[j]!=LOAD_FILE) + { + if ( tree_map[j].nodelimit > -1 && m > tree_map[j].nodelimit ) + { + --j; + continue; + } + + /* now change the depth limits. */ + if ( tree_map[j].depthlimit > -1 && tree_depth ( gensp[0].data ) > tree_map[j].depthlimit ) + { + --j; + continue; + } + + /* count total nodes in the individual being created. */ + } + totalnodes += m; + gensp_dup_tree ( 0, temp+j ); + } + + if (!ignore_limits) + { + + /* is the individual over the total node limit (if one is set)? */ + if ( ind_nodelimit > -1 && totalnodes > ind_nodelimit ) + { +#ifdef DEBUG + printf ( "overall node limit violated.\n" ); +#endif + /* yes, so delete it and try again. */ + for ( j = 0; j < tree_count; ++j ) + free_tree ( temp+j ); + continue; + } + + /* throw away the individual if it's a duplicate. */ + for ( i = 0; i < k; ++i ) + { + flag = 0; + for ( j = 0; j < tree_count && !flag; ++j ) + { + if ( temp[j].size == p->ind[i].tr[j].size ) + { + if ( memcmp ( temp[j].data, p->ind[i].tr[j].data, + temp[j].size * sizeof ( lnode ) ) ) + { + flag = 1; + } + } + else + flag = 1; + } + if ( !flag ) + break; + } + if ( i < k ) + { +#ifdef DEBUG + printf ( "duplicate individual: (same as %d)\n", i ); + for ( j = 0; j < tree_count; ++j ) + { + printf ( " tree %d: ", j ); + print_tree ( temp[j].data, stdout ); + } +#endif + /* individual is a duplicate, throw it away. */ + --attempts; + for ( j = 0; j < tree_count; ++j ) + free_tree ( temp+j ); + continue; + } + } + + /** we now have a good individual to put in the population. */ + + /* copy the tree array. */ + memcpy ( p->ind[k].tr, temp, tree_count * sizeof ( tree ) ); + + /* reference ERCs. */ + for ( j = 0; j < tree_count; ++j ) + reference_ephem_constants ( p->ind[k].tr[j].data, 1 ); + +#ifdef DUMP_POPULATION + printf ( "individual %5d:\n", k ); + print_individual ( p->ind+k, stdout ); +#endif + /* mark individual as unevaluated. */ + p->ind[k].evald = EVAL_CACHE_INVALID; + p->ind[k].flags = FLAG_NONE; + + attempts = attempts_generation; + ++k; + + } + + FREE ( temp ); + + oprintf ( OUT_SYS, 10, + " %d trees were generated to fill the population of %d (%d trees).\n", + totalattempts, p->size, p->size * tree_count ); + +} + +/* allocate_population() + * + * allocates a population structure with the given size. + */ + +population *allocate_population ( int size ) +{ + int i; + population *p = (population *)MALLOC ( sizeof ( population ) ); + + p->size = size; + p->next = 0; + /* allocate the array of individuals. */ + p->ind = (individual *)MALLOC ( size * sizeof ( individual ) ); + + for ( i = 0; i < size; ++i ) + { + /* each individual has a block of tree structures, allocate + those here. */ + p->ind[i].tr = (tree *)MALLOC ( tree_count * sizeof ( tree ) ); + p->ind[i].evald = EVAL_CACHE_INVALID; + p->ind[i].flags = FLAG_NONE; + } + + return p; +} + +/* free_multi_population() + * + * frees the populations in a multipop structure. + */ + +void free_multi_population ( multipop *mp ) +{ + int i; + for ( i = 0; i < mp->size; ++i ) + free_population ( mp->pop[i] ); + FREE ( mp->pop ); + FREE ( mp ); +} + +/* free_population() + * + * frees a population and all the individuals in it. + */ + +void free_population ( population *p ) +{ + int i, j; + for ( i = 0; i < p->size; ++i ) + { + for ( j = 0; j < tree_count; ++j ) + { + /* dereference ERCs. */ + reference_ephem_constants ( p->ind[i].tr[j].data, -1 ); + free_tree ( &(p->ind[i].tr[j]) ); + } + FREE ( p->ind[i].tr ); + } + FREE ( p->ind ); + FREE ( p ); +} + +/* initial_multi_population() + * + * randomly fills a multipop strcture with individuals. + */ + +multipop *initial_multi_population ( void ) +{ + char *param; + char temp_name[256]; + char **tree_replace; + multipop *mpop; + int i; + int *mindepth, *maxdepth, *method; + char *cp; + char pnamebuf[100]; + FILE **tree_data; + FILE *fp; + + oputs ( OUT_SYS, 10, "creating initial population(s):\n" ); + + mpop = (multipop *)MALLOC ( sizeof ( multipop ) ); + + /* how many subpops are we supposed to have? */ + param = get_parameter ( "multiple.subpops" ); + mpop->size = atoi ( param ); + if ( mpop->size <= 0 ) + error ( E_FATAL_ERROR, + "\"%s\" is not a valid value for \"multiple.subpops\".", + param ); + + /* allocate that many population pointers. */ + mpop->pop = (population **)MALLOC ( sizeof ( population* ) * mpop->size ); + + /* read the depth ramp and generation method(s), which can be + different for each tree. */ + tree_replace = (char **)MALLOC(sizeof(char *)*tree_count); + tree_data = (FILE **)MALLOC( sizeof(FILE *)*tree_count); + + for( i = 0; i < tree_count; i++ ) + { + sprintf( temp_name, "tree-replace[%d]", i ); + tree_replace[i] = get_parameter( temp_name ); + } + + for( i = 0; i < tree_count; i++ ) + { + if( tree_replace[i] != NULL ) + { + tree_data[i] = fopen( tree_replace[i], "r" ); + if( fp == NULL ) + { + /* Error Handler */ + error( E_FATAL_ERROR, "Unable to open file %s\n", tree_replace[i] ); + } + + } else { + tree_data[i] = NULL; + } + } + + mindepth = (int *)MALLOC ( tree_count * sizeof ( int ) ); + maxdepth = (int *)MALLOC ( tree_count * sizeof ( int ) ); + method = (int *)MALLOC ( tree_count * sizeof ( int ) ); + + for ( i = 0; i < tree_count; ++i ) + { + mindepth[i] = -1; + maxdepth[i] = -1; + + /** read the depth ramp. **/ + sprintf ( pnamebuf, "init.tree[%d].depth", i ); + param = get_parameter ( pnamebuf ); + if ( !param ) + param = get_parameter ( "init.depth" ); + if ( param == NULL ) + error ( E_FATAL_ERROR, "\"init.tree[%d].depth\" must be specified.", i ); + + /** parse the depth ramp ("min-max" or just "val"). **/ + mindepth[i] = strtol ( param, &cp, 10 ); + if ( *cp ) + { + if ( *cp == '-' ) + { + maxdepth[i] = strtol ( cp+1, &cp, 10 ); + } + if ( *cp ) + { + error ( E_FATAL_ERROR, "\"init.tree[%d].depth\" is malformed.", + i ); + } + } + if ( maxdepth[i] == -1 ) + maxdepth[i] = mindepth[i]; + + if ( mindepth[i] > maxdepth[i] ) + error ( E_FATAL_ERROR, "\"init.tree[%d].depth\" is malformed.", i ); + + /** read the method. **/ + sprintf ( pnamebuf, "init.tree[%d].method", i ); + param = get_parameter ( pnamebuf ); + if ( !param ) + param = get_parameter ( "init.method" ); + + if ( param == NULL ) + error ( E_FATAL_ERROR, "\"init.tree[%d].method\" must be set.", + i ); + + if ( strcmp ( param, "half_and_half" ) == 0 ) + method[i] = GENERATE_HALF_AND_HALF; + else if ( strcmp ( param, "full" ) == 0 ) + method[i] = GENERATE_FULL; + else if ( strcmp ( param, "grow" ) == 0 ) + method[i] = GENERATE_GROW; + else if ( strcmp ( param, "load" ) == 0 ) + method[i]= LOAD_FILE; + else + error ( E_FATAL_ERROR, "\"init.tree[%d].method\": \"%s\" is not a known generation method.", + i, param ); + } + + /* generate each population. */ + for ( i = 0; i < mpop->size; ++i ) + mpop->pop[i] = initial_population ( mindepth, maxdepth, method, tree_data ); + + for( i = 0; i < tree_count; i++ ) + { + if( tree_data[i] != NULL ) + fclose(tree_data[i]); + } + + FREE ( mindepth ); + FREE ( maxdepth ); + FREE ( method ); + FREE ( tree_replace ); + FREE ( tree_data ); + + oputs ( OUT_SYS, 10, " initial population(s) complete.\n" ); + + return mpop; +} + +/* initial_population() + * + * creates a population structure and fills it with randomly + * generated individuals. + */ + +population *initial_population ( int *mindepth, int *maxdepth, int *method, FILE **dataum ) +{ + population *pop; + int pop_size; + char *param; + + /* get the population size and allocate. */ + + param = get_parameter ( "pop_size" ); + if ( param == NULL ) + error ( E_FATAL_ERROR, + "no value specified for \"pop_size\"." ); + pop_size = atoi ( param ); + pop = allocate_population ( pop_size ); + + /* get the generation method and create the random population. */ + + generate_random_population ( pop, mindepth, maxdepth, method, dataum ); + + return pop; +} + diff --git a/lib/lilgp/kernel/pretty.c b/lib/lilgp/kernel/pretty.c new file mode 100644 index 0000000..fe0a3d4 --- /dev/null +++ b/lib/lilgp/kernel/pretty.c @@ -0,0 +1,321 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* pretty_print_tree() + * + * print a tree as an S-expression, indenting functions to show + * structure. + */ + +void pretty_print_tree(lnode* data, FILE* fil) +{ + lnode* l = data; + int* indent; + int* istep; + + /* indent is a table, parallel to the tree's array, of indentation + values. */ + indent = (int*) MALLOC((tree_nodes(data) + 1) * sizeof(int)); + istep = indent; + /* fill the indentation table. */ + gen_indents(&l, &istep, 0, 1); + + istep = indent; + l = data; + + /* now print the tree using the indentation table. */ + pretty_print_tree_recurse(&l, &istep, fil); + + fprintf(fil, "\n"); + + FREE(indent); + +} + +void pretty_print_tree_equ(lnode* data, FILE* fil) +{ + lnode* l = data; + int* indent; + int* istep; + + /* indent is a table, parallel to the tree's array, of indentation + values. */ + indent = (int*) MALLOC((tree_nodes(data) + 1) * sizeof(int)); + istep = indent; + /* fill the indentation table. */ + gen_indents(&l, &istep, 0, 1); + + istep = indent; + l = data; + + fprintf(fil, "\ny = "); + /* now print the tree using the indentation table. */ + pretty_print_tree_recurse_equ(&l, &istep, fil); + + fprintf(fil, "\n"); + + FREE(indent); + +} + +/* pretty_print_tree_recurse() + * + * recursive tree printer, using a table of indentations. + */ + +void pretty_print_tree_recurse(lnode** l, int** is, FILE* fil) +{ + int i; + function* f; + + f = (**l).f; + + /** a positive indentation value means move to the next line and + print that many spaces before the function name. */ + if (**is >= 0) + { + fprintf(fil, "\n"); + for (i = 0; i < **is; ++i) + fprintf(fil, " "); + } + ++*l; + ++*is; + + /** for terminals, don't print ()'s. **/ + if (f->arity == 0) + { + if (f->ephem_gen) + { + /* show value of ERCs. */ + fprintf(fil, " %s", (f->ephem_str)((**l).d->d)); + ++*l; + } else + /* show name of other terminals. */ + fprintf(fil, " %s", f->string); + + return; + } + + /* print function name with a parenthesis. */ + fprintf(fil, " (%s", f->string); + + switch (f->type) + { + case FUNC_DATA: + case EVAL_DATA: + /* recursively print children. */ + for (i = 0; i < f->arity; ++i) + pretty_print_tree_recurse(l, is, fil); + break; + case FUNC_EXPR: + case EVAL_EXPR: + /* recursively print children, ignoring skip nodes. */ + for (i = 0; i < f->arity; ++i) + { + ++*l; + pretty_print_tree_recurse(l, is, fil); + } + break; + } + + /* print matching parenthesis. */ + fprintf(fil, ")"); +} + +void pretty_print_tree_recurse_equ(lnode** l, int** is, FILE* fil) +{ + int i; + function* f; + + f = (**l).f; + + /** a positive indentation value means move to the next line and + print that many spaces before the function name. */ +// if (**is >= 0) +// { +// fprintf(fil, "\n"); +// for (i = 0; i < **is; ++i) +// fprintf(fil, " "); +// } + ++*l; + ++*is; + + /** for terminals, don't print ()'s. **/ + if (f->arity == 0) + { + if (f->ephem_gen) + { + /* show value of ERCs. */ + fprintf(fil, "%s", (f->ephem_str)((**l).d->d)); + ++*l; + } else + /* show name of other terminals. */ + fprintf(fil, "%s", f->string); + + return; + } + + if (f->arity > 2) + { + /* print function name with a parenthesis. */ + fprintf(fil, " (%s", f->string); + + switch (f->type) + { + case FUNC_DATA: + case EVAL_DATA: + /* recursively print children. */ + for (i = 0; i < f->arity; ++i) + pretty_print_tree_recurse(l, is, fil); + break; + case FUNC_EXPR: + case EVAL_EXPR: + /* recursively print children, ignoring skip nodes. */ + for (i = 0; i < f->arity; ++i) + { + ++*l; + pretty_print_tree_recurse(l, is, fil); + } + break; + } + + /* print matching parenthesis. */ + fprintf(fil, ")"); + return; + } + if (f->arity == 1) + { + fprintf(fil, "%s(", f->string); + switch (f->type) + { + case FUNC_DATA: + case EVAL_DATA: + pretty_print_tree_recurse_equ(l, is, fil); + break; + case FUNC_EXPR: + case EVAL_EXPR: + ++*l; + pretty_print_tree_recurse_equ(l, is, fil); + break; + } + fprintf(fil, ")"); + } else + { + fprintf(fil, "("); + switch (f->type) + { + case FUNC_DATA: + case EVAL_DATA: + pretty_print_tree_recurse_equ(l, is, fil); + break; + case FUNC_EXPR: + case EVAL_EXPR: + ++*l; + pretty_print_tree_recurse_equ(l, is, fil); + break; + } + fprintf(fil, " %s ", f->string); + switch (f->type) + { + case FUNC_DATA: + case EVAL_DATA: + pretty_print_tree_recurse_equ(l, is, fil); + break; + case FUNC_EXPR: + case EVAL_EXPR: + ++*l; + pretty_print_tree_recurse_equ(l, is, fil); + break; + } + fprintf(fil, ")"); + } + /* print matching parenthesis. */ + //fprintf(fil, ""); +} + +/* gen_indents() + * + * generates a table of indentations -- positive numbers indicate skipping + * to next line and indenting that much, negative indicate continuing current + * line. the result should look like: + * + * (function terminal + * (function terminal + * terminal) + * terminal) + */ + +void gen_indents(lnode** l, int** is, int start, int sameline) +{ + function* f = (**l).f; + int i; + + /** sameline is true for the first child of a function. first + children and terminals always go on the same line as their + parent. **/ + if (sameline || f->arity == 0) + **is = -start; + else + **is = start; + + ++*is; + ++*l; + + if (f->arity == 0) + { + if (f->ephem_gen) + /* skip the value of an ERC. */ + ++*l; + return; + } + + /* move forward the length of the function name plus a space + plus a '('. */ + start += strlen(f->string) + 2; + + switch (f->type) + { + case FUNC_DATA: + case EVAL_DATA: + /* generate children's indents. */ + for (i = 0; i < f->arity; ++i) + gen_indents(l, is, start, i == 0); + break; + case FUNC_EXPR: + case EVAL_EXPR: + /* generate children's indents, ignoring skip nodes. */ + for (i = 0; i < f->arity; ++i) + { + ++*l; + gen_indents(l, is, start, i == 0); + } + break; + } +} + diff --git a/lib/lilgp/kernel/protoapp.h b/lib/lilgp/kernel/protoapp.h new file mode 100644 index 0000000..3d3f8a8 --- /dev/null +++ b/lib/lilgp/kernel/protoapp.h @@ -0,0 +1,45 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _PROTOAPP_H +#define _PROTOAPP_H + +int app_build_function_sets ( void ); +#ifdef COEVOLUTION +void app_eval_fitness (individual *, individual *); +#else +void app_eval_fitness ( individual * ); +#endif +int app_create_output_streams ( void ); +int app_initialize ( int ); +void app_uninitialize ( void ); +void app_write_checkpoint ( FILE * ); +void app_read_checkpoint ( FILE * ); +int app_end_of_evaluation ( int, multipop *, int, popstats *, popstats * ); +void app_end_of_breeding ( int, multipop * ); + +#endif diff --git a/lib/lilgp/kernel/protos.h b/lib/lilgp/kernel/protos.h new file mode 100644 index 0000000..48d99ab --- /dev/null +++ b/lib/lilgp/kernel/protos.h @@ -0,0 +1,380 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _PROTOS_H +#define _PROTOS_H + + +extern randomgen globrand; +extern genspace gensp[GENSPACE_COUNT]; +extern function_set *fset; +extern int fset_count; +extern treeinfo *tree_map; +extern int tree_count; +extern int ind_nodelimit; + + +/*** exch.c ***/ + +void exchange_subpopulations ( multipop *mpop ); +void initialize_topology ( multipop *mpop ); +void free_topology ( multipop *mpop ); +void rebuild_exchange_topology ( multipop *mpop ); + + +/*** change.c ***/ + +population *change_population ( population *pop, breedphase * ); +void show_population ( population *p ); +breedphase * initialize_one_breeding ( char *prefix ); +void initialize_breeding ( multipop * ); +void free_one_breeding ( breedphase * ); +void free_breeding ( multipop * ); +void rebuild_breeding ( multipop * ); +char *get_breed_parameter ( char *prefix, char *format, ... ); + + +/*** ckpoint.c ***/ + +void read_checkpoint ( char *filename, int *gen, multipop **mpop ); +void write_checkpoint ( int gen, multipop *mpop, char *filename ); +population *read_population ( ephem_const **eind, FILE *f ); +void read_individual ( individual *ind, ephem_const **eind, FILE *f, + char *buffer ); +void write_individual ( individual *ind, ephem_index *eind, FILE *f ); +void read_tree_recurse ( int space, ephem_const **eind, FILE *fil, int tree, + char *string ); +function * get_function_by_name ( int tree, char *string, ephem_const **ep, + ephem_const **eind ); +void write_population ( population *pop, ephem_index *eind, FILE *f ); +void write_tree_recurse ( lnode **l, ephem_index *eind, FILE *fil ); +void write_hex_block ( void *, int, FILE * ); +void read_hex_block ( void *, int, FILE * ); + + +/*** ephem.c ***/ + +void initialize_ephem_const ( void ); +void free_ephem_const ( void ); +void enlarge_ephem_space ( void ); +void ephem_const_gc ( void ); +ephem_const *new_ephemeral_const ( function *f ); +int ephem_index_comp ( const void *a, const void *b ); +ephem_index *write_ephem_list ( FILE *f ); +int lookup_ephem ( ephem_index *ind, ephem_const *e ); +ephem_const **read_ephem_list ( FILE *f ); +void get_ephem_stats ( int *used, int *free, int *blocks, int *alloc ); + + +/*** eval.c ***/ + +void set_current_individual ( individual * ); +DATATYPE evaluate_tree ( lnode *, int ); +DATATYPE evaluate_tree_recurse ( lnode **, int ); + + +/*** fsetupdate.c ***/ + +void fset_update ( function_set *app_fset ); + + +/*** gp.c ***/ + +void run_gp ( multipop *mpop, int startgen, + event *t_eval, event *t_breed, int startfromcheckpoint ); +int generation_information ( int gen, multipop *mpop, int stt_interval, + int bestn ); +void evaluate_pop ( population *pop ); +int accumulate_pop_stats ( popstats *total, popstats *n ); +void calculate_pop_stats ( popstats *s, population *pop, int gen, int subpop ); +void saved_individual_gc ( void ); +saved_ind ** write_saved_individuals ( ephem_index *eind, FILE *f ); +void write_stats_checkpoint ( multipop *mpop, ephem_index *eind, FILE *f ); +saved_ind ** read_saved_individuals ( ephem_const **eind, FILE *f ); +void read_stats_checkpoint ( multipop *mpop, ephem_const **eind, FILE *f ); +globaldata *get_globaldata( void ); +#if defined(POSIX_MT) || defined(SOLARIS_MT) +void initialize_threading( void ); +void *evaluate_pop_chunk( void * ); +#endif + + +/*** main.c ***/ + +int function_sets_init ( function_set *, int, user_treeinfo*, int ); +int function_compare ( const void *a, const void *b ); +void free_function_sets ( void ); +void read_tree_limits ( void ); +void initialize_random ( void ); +void pre_parameter_defaults ( void ); +void post_parameter_defaults ( void ); +int process_commandline ( int argc, char **argv, int *gen, multipop ** ); +void output_system_stats ( event *t_total, event *t_eval, event *t_breed ); +void initial_message ( void ); + + +/*** memory.c ***/ + +#ifdef TRACK_MEMORY +#define MALLOC track_malloc +#define FREE track_free +#define REALLOC track_realloc +#else +#define MALLOC malloc +#define FREE free +#define REALLOC realloc +#endif +void *track_malloc ( unsigned long ); +void track_free ( void * ); +void *track_realloc ( void *, int ); +void get_memory_stats ( int *total, int *free, int *max, + int *mallocc, int *reallocc, int *freec ); + + +/*** output.c ***/ + +int create_output_stream ( int id, char *ext, int reset, char *mode, + int autoflush ); +void initialize_output_streams ( void ); +void open_output_streams ( void ); +void oputs ( int streamid, int detail, const char *string ); +void oprintf ( int streamid, int detail, const char *format, ... ); +FILE *output_filehandle ( int streamid ); +void output_stream_close ( int streamid ); +void output_stream_open ( int streamid ); +void output_stream_flush ( int streamid ); +void close_output_streams ( void ); +void error ( int severity, char *format, ... ); +void set_detail_level ( int ); +int test_detail_level ( int ); +void flush_output_streams ( void ); + + +/*** params.c ***/ + +void initialize_parameters ( void ); +void free_parameters ( void ); +void add_parameter ( char *name, char *value, int copyflags ); +int delete_parameter ( char *name ); +char *get_parameter ( const char *name ); +void print_parameters ( void ); +void write_parameter_database ( FILE *f ); +void read_parameter_database ( FILE *f ); +void read_parameter_file ( char * ); +int delete_comment ( char * ); +int check_continuation ( char * ); +int parse_one_parameter ( char *buffer ); +int trim_string ( char *string ); +int translate_binary ( char *string ); +void binary_parameter ( char *name, int value ); +void define_directive ( char *string ); +void undefine_directive ( char *string ); +int test_directive ( char *string ); + + +/*** populate.c ***/ + +void generate_random_population ( population *p, int *mindepth, + int *maxdepth, int *method, FILE **datum ); +population *allocate_population ( int size ); +void free_population ( population *p ); +void free_multi_population ( multipop *mp ); +population *initial_population ( int *, int *, int *, FILE ** ); +multipop *initial_multi_population ( void ); + + +/*** postscript.c ***/ + +int postscript_recurse ( lnode **, FILE *, int, int, int ); +void make_postscript_tree ( lnode *, char *, int ); + + +/*** random.c ***/ + +void random_seed ( randomgen *, int ); +void random_destroy ( randomgen * ); +int random_int ( randomgen *, int ); +double random_double ( randomgen * ); +void *random_get_state ( randomgen *, int * ); +void random_set_state ( randomgen *, void * ); + + +/*** select.c ***/ + +int exists_select_method ( char *string ); +select_context_func_ptr get_select_context ( char *string ); +void free_o_rama ( int, char *** ); +int parse_o_rama ( char *string, char *** argv ); +int rev_ind_compare ( const void *a, const void *b ); +int select_interval ( sel_context *sc ); + + +/*** fitness.c ***/ + +sel_context *select_afit_context ( int op, sel_context *sc, + population *p, char *string ); +int select_afit ( sel_context *sc ); +sel_context *select_inverse_afit_context ( int op, sel_context *sc, + population *p, char *string ); +int select_inverse_afit ( sel_context *sc ); +sel_context *select_afit_overselect_context ( int op, sel_context *sc, + population *p, char *string ); +int select_afit_overselect ( sel_context *sc ); + + +/*** tournament.c ***/ + +sel_context *select_tournament_context ( int op, sel_context *sc, + population *p, char *string ); +int select_tournament ( sel_context *sc ); + + +/*** bestworst.c ***/ + +int select_bestworst ( sel_context *sc ); +sel_context *select_best_context ( int op, sel_context *sc, + population *p, char *string ); +int select_best_compare ( const void *a, const void *b ); +sel_context *select_worst_context ( int op, sel_context *sc, + population *p, char *string ); +int select_worst_compare ( const void *a, const void *b ); +sel_context *select_random_context ( int op, sel_context *sc, + population *p, char *string ); +int select_random ( sel_context *sc ); + + +/*** tree.c ***/ + +int tree_nodes ( lnode *tree ); +int tree_nodes_recurse ( lnode ** ); +int tree_nodes_internal ( lnode * ); +int tree_nodes_internal_recurse ( lnode ** ); +int tree_nodes_external ( lnode * ); +int tree_nodes_external_recurse ( lnode ** ); +int generate_random_full_tree ( int space, int depth, function_set *, int return_type ); +int generate_random_grow_tree ( int space, int depth, function_set *, int return_type ); +int tree_depth ( lnode * ); +int tree_depth_recurse ( lnode ** ); +int tree_depth_to_subtree ( lnode *, lnode * ); +int tree_depth_to_subtree_recurse ( lnode **, lnode *, int ); +void print_tree ( lnode *, FILE * ); +void print_tree_recurse ( lnode **, FILE * ); +void print_tree_array ( lnode * ); +void print_tree_array_recurse ( lnode **, int * ); +lnode *get_subtree ( lnode *, int ); +lnode *get_subtree_recurse ( lnode **, int * ); +lnode *get_subtree_internal ( lnode *, int ); +lnode *get_subtree_internal_recurse ( lnode **, int * ); +lnode *get_subtree_external ( lnode *, int ); +lnode *get_subtree_external_recurse ( lnode **, int * ); +void copy_tree ( tree *to, tree *from ); +void free_tree ( tree * ); +int tree_size ( lnode * ); +int tree_size_recurse ( lnode ** ); +void copy_tree_replace_many ( int space, lnode *parent, lnode **replace, + lnode **with, int count, int *repcount ); +void copy_tree_replace_many_recurse ( int space, lnode **lp, lnode **lr, + lnode **lw, int count, int *repcount ); +void skip_over_subtree ( lnode ** ); +void reference_ephem_constants ( lnode *, int ); +void reference_ephem_constants_recurse ( lnode **, int ); + + +/*** pretty.c ***/ + +void gen_indents ( lnode **l, int **is, int start, int sameline ); +void pretty_print_tree_recurse ( lnode **l, int **is, FILE *fil ); +void pretty_print_tree_recurse_equ ( lnode **l, int **is, FILE *fil ); +void pretty_print_tree ( lnode *data, FILE *fil ); +void pretty_print_tree_equ ( lnode *data, FILE *fil ); + + +/*** genspace.c ***/ + +void initialize_genspace ( void ); +void free_genspace ( void ); +lnode * gensp_next ( int space ); +int gensp_next_int ( int space ); +void gensp_dup_tree ( int space, tree *t ); +void gensp_reset ( int space ); +void gensp_print ( int space, int i, int j, FILE *out ); + + +/*** individ.c ***/ + +void print_individual ( individual *ind, FILE *f ); +void pretty_print_individual ( individual *ind, FILE *f ); +void pretty_print_individual_equ ( individual *ind, FILE *f ); +int individual_size ( individual *ind ); +int individual_depth ( individual *ind ); +void duplicate_individual ( individual *to, individual *from ); + + +/*** crossover.c ***/ + +int operator_crossover_init ( char *options, breedphase *bp ); +void operator_crossover_free ( void * ); +void operator_crossover_start ( population *oldpop, void *data ); +void operator_crossover_end ( void *data ); +void operator_crossover ( population *oldpop, population *newpop, void *data ); + + +/*** reproduce.c ***/ + +int operator_reproduce_init ( char *options, breedphase *bp ); +void operator_reproduce_free ( void * ); +void operator_reproduce_start ( population *oldpop, void *data ); +void operator_reproduce_end ( void *data ); +void operator_reproduce ( population *oldpop, population *newpop, void *data ); + + +/*** mutate.c ***/ + +int operator_mutate_init ( char *options, breedphase *bp ); +void operator_mutate_free ( void * ); +void operator_mutate_start ( population *oldpop, void *data ); +void operator_mutate_end ( void *data ); +void operator_mutate ( population *oldpop, population *newpop, void *data ); + + +/*** boltzman.c ***/ + +sel_context *select_boltzman_context (int op, + sel_context *sc, + population *p, + char *string ); + + +/*** sigma.c ***/ + +sel_context *select_sigma_context (int op, + sel_context *sc, + population *p, + char *string ); + + +#endif diff --git a/lib/lilgp/kernel/random.c b/lib/lilgp/kernel/random.c new file mode 100644 index 0000000..2e8d0d3 --- /dev/null +++ b/lib/lilgp/kernel/random.c @@ -0,0 +1,200 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + + +#include +#include + +/* + * adapted from the RAN3 routine (in Fortran - ugh) in "Numerical Recipes: + * The Art of Scientific Computing", page 199. They adapted it from + * (surprise) Knuth, Seminumerical Algorithms. + */ + + +/* random_seed() + * + * seeds the random number generator using the given int. + */ + +void random_seed ( randomgen *randstr, int seed ) +{ + int i, i1, k; + double mj, mk, ms; + + pthread_mutex_init(&randstr->rmut, NULL); + + randstr->mbig = 10000000.0; + randstr->mseed = 1618033.0; + randstr->mz = 0.0; + + mj = randstr->mseed - seed; + ms = (mj<0)? -0.5 : 0.5; + mj = mj-((int)((mj/randstr->mbig)+ms)*randstr->mbig); + randstr->ma[54] = mj; + mk = 1; + + for ( i = 1; i < 55; ++i ) + { + i1 = ((21*i) % 55)-1; + randstr->ma[i1] = mk; + mk = mj - mk; + if ( mk < randstr->mz ) + mk += randstr->mbig; + mj = randstr->ma[i1]; + } + + for ( k = 0; k < 4; ++k ) + for ( i = 0; i < 55; ++i ) + { + randstr->ma[i] = randstr->ma[i] - randstr->ma[(i+30)%55]; + if ( randstr->ma[i] < randstr->mz ) + randstr->ma[i] += randstr->mbig; + } + + randstr->inext = 0; + randstr->inextp = 31; /* the number 31 is special -- see Knuth. */ + +} + + +/* random_destroy() + * + * destroys the mutex with the random structure + */ + +void random_destroy ( randomgen *randstr ) +{ + pthread_mutex_destroy(&randstr->rmut); +} + + +/* random_int() + * + * returns an integer randomly selected from the uniform distribution + * over the interval [0,max). + */ + +int random_int ( randomgen *randstr, int max ) +{ + double v = random_double(randstr); + return (int)(v*(double)max); +} + +/* random_double() + * + * returns a double randomly selected from the uniform distribution + * over the interval [0,1). + */ + +double random_double ( randomgen *randstr ) +{ + /* There's a race condition on this, so we need to mutex it! */ + + double mj; + double res; + + pthread_mutex_lock(&(randstr->rmut)); + + randstr->inext = (randstr->inext+1)%55; + randstr->inextp = (randstr->inextp+1)%55; + + mj = randstr->ma[randstr->inext] - randstr->ma[randstr->inextp]; + if ( mj < randstr->mz ) + mj = mj + randstr->mbig; + randstr->ma[randstr->inext] = mj; + + res=randstr->mbig; + pthread_mutex_unlock(&(randstr->rmut)); + return mj/res; +} + +/* random_get_state() + * + * allocates a memory block, saves the state of the random number + * generator in it, and returns the address. puts the number of + * bytes in the block into *size. + */ + +void *random_get_state ( randomgen *randstr, int *size ) +{ + unsigned char *buffer; + double *db; + int i; + + *size = sizeof(double)*58+2*sizeof(int); + + buffer = (unsigned char *)MALLOC ( *size ); + db = (double *)buffer; + + db[0] = randstr->mbig; + db[1] = randstr->mseed; + db[2] = randstr->mz; + for ( i = 0; i < 55; ++i ) + db[i+3] = randstr->ma[i]; + ((int *)(buffer+58*sizeof(double)))[0] = randstr->inext; + ((int *)(buffer+58*sizeof(double)))[1] = randstr->inextp; + +#ifdef DEBUG + fprintf ( stderr, "writing random state: %lf, %lf, %lf, %d, %d\n", + randstr->mbig, randstr->mseed, randstr->mz, randstr->inext, randstr->inextp ); +#endif + + return buffer; + +} + +/* random_set_state() + * + * restores the random number generator state using a block of + * data previously returned by random_get_state(). + */ + +void random_set_state ( randomgen *randstr, void *buffer ) +{ + unsigned char *cb; + double *db; + int i; + + cb = (unsigned char *)buffer; + db = (double *)buffer; + + randstr->mbig = db[0]; + randstr->mseed = db[1]; + randstr->mz = db[2]; + for ( i = 0; i < 55; ++i ) + randstr->ma[i] = db[i+3]; + randstr->inext = ((int *)(cb+58*sizeof(double)))[0]; + randstr->inextp = ((int *)(cb+58*sizeof(double)))[1]; + +#ifdef DEBUG + fprintf ( stderr, "reading random state: %lf, %lf, %lf, %d, %d\n", + randstr->mbig, randstr->mseed, randstr->mz, randstr->inext, randstr->inextp ); +#endif + +} + diff --git a/lib/lilgp/kernel/reproduc.c b/lib/lilgp/kernel/reproduc.c new file mode 100644 index 0000000..8f3d2eb --- /dev/null +++ b/lib/lilgp/kernel/reproduc.c @@ -0,0 +1,168 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +typedef struct +{ + char* sname; + sel_context* sc; +} reproduce_data; + +/* operator_reproduce_init() + * + * called to parse reproduction options and initialize one record of a + * breedphase table. + */ + +int operator_reproduce_init(char* options, breedphase* bp) +{ + int errors = 0; + reproduce_data* rd; + int i, j; + char** argv; + + rd = (reproduce_data*) MALLOC(sizeof(reproduce_data)); + + /* fill in the breedphase record. */ + bp->gp_operator = OPERATOR_REPRODUCE; + bp->data = (void*) rd; + bp->operator_free = operator_reproduce_free; + bp->operator_start = operator_reproduce_start; + bp->operator_end = operator_reproduce_end; + bp->operator_operate = operator_reproduce; + + rd->sname = NULL; + + j = parse_o_rama(options, &argv); + + for (i = 0; i < j; ++i) + { + /* parse "select" option. */ + if (strcmp("select", argv[i]) == 0) + { + if (!exists_select_method(argv[++i])) + { + ++errors; + error(E_ERROR, "reproduction: \"%s\" is not a known selection method.", + argv[i]); + } + FREE(rd->sname); + rd->sname = (char*) MALLOC((strlen(argv[i]) + 1) * sizeof(char)); + strcpy(rd->sname, argv[i]); + } else + { + ++errors; + error(E_ERROR, "reproduction: unknown option \"%s\".", + argv[i]); + } + } + + free_o_rama(j, &argv); + + if (rd->sname == NULL) + { + ++errors; + error(E_ERROR, "reproduction: no selection method specified."); + } + +#ifdef DEBUG + if ( !errors ) + { + printf ( "reproduction options:\n" ); + printf ( " selection: %s\n", rd->sname==NULL?"NULL":rd->sname ); + } +#endif + + return errors; +} + +/* operator_reproduce_free() + * + * frees the reproduction-specific data of a breedphase record. + */ + +void operator_reproduce_free(void* data) +{ + reproduce_data* rd; + + rd = (reproduce_data*) data; + + FREE(rd->sname); + FREE(rd); +} + +/* operator_reproduce_start() + * + * gets the selection context for this phase. + */ + +void operator_reproduce_start(population* oldpop, void* data) +{ + reproduce_data* rd; + select_context_func_ptr select_con; + + rd = (reproduce_data*) data; + + select_con = get_select_context(rd->sname); + rd->sc = select_con(SELECT_INIT, NULL, oldpop, rd->sname); +} + +/* operator_reproduce_end() + * + * frees the selection context for this phase. + */ + +void operator_reproduce_end(void* data) +{ + reproduce_data* rd; + + rd = (reproduce_data*) data; + rd->sc->context_method(SELECT_CLEAN, rd->sc, NULL, NULL); +} + + +/* operator_reproduce() + * + * does the reproduction operation. + */ + +void operator_reproduce(population* oldpop, population* newpop, + void* data) +{ + int j; + reproduce_data* rd = (reproduce_data*) data; + + /* select an individual... */ + j = rd->sc->select_method(rd->sc); + + /* ...and reproduce it into the new population. */ + duplicate_individual((newpop->ind) + newpop->next, (oldpop->ind) + j); + newpop->ind[newpop->next].flags = FLAG_NONE; + ++newpop->next; +} + diff --git a/lib/lilgp/kernel/select.c b/lib/lilgp/kernel/select.c new file mode 100644 index 0000000..40e04fd --- /dev/null +++ b/lib/lilgp/kernel/select.c @@ -0,0 +1,281 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* the table listing selection method names and the functions which + create selection contexts. extend this table whenever you add a + new selection method. {NULL,NULL} marks the end of the table. */ + +select_method select_method_table[] = +{ { "fitness", select_afit_context }, + { "fitness_overselect", select_afit_overselect_context }, + { "tournament", select_tournament_context }, + { "inverse_fitness", select_inverse_afit_context }, + { "best", select_best_context }, + { "worst", select_worst_context }, + { "random", select_random_context }, + { "boltzman", select_boltzman_context }, + { "sigma", select_sigma_context }, + { NULL, NULL } }; + + + +/* context_func_ptr() + * + * looks for the named string in the selection method table + * and returns the corresponding context method. + */ + +select_context_func_ptr get_select_context ( char *string ) +{ + int i, j, k; + char *name; + select_method *s = select_method_table; + + /* pull off the name section of the string. */ + for ( i = 0; string[i] != 0 && string[i] != ',' + && string[i] != '\n'; ++i ); + name = (char *)MALLOC ( i+1 ); + k = 0; + for ( j = 0; j < i; ++j ) + if ( !isspace(string[j]) ) + name[k++] = string[j]; + name[k] = 0; + + /* search the table. */ + while ( s->name != NULL ) + { + if ( strcmp ( s->name, name ) == 0 ) + break; + ++s; + } + FREE ( name ); + + /* return the function (NULL if it wasn't found). */ + return s->func; +} + +/* exists_select_method() + * + * returns 1 if the named selection method exists, 0 otherwise. + */ + +int exists_select_method ( char *string ) +{ + return ( get_select_context ( string ) != NULL ); +} + +/* free_o_rama() + * + * frees the argv-style array produced by parse_o_rama(). + */ + +void free_o_rama ( int j, char ***argv ) +{ + int i; + + for ( i = 0; i < j; ++i ) + FREE ( (*argv)[i] ); + FREE ( *argv ); + *argv = NULL; +} + +/* parse_o_rama() + * + * breaks a string into an argv-style array. field delimiters + * are newlines, commas, equal-signs, NULLS, and open-parentheses. + * no field breaking occurs within a pair of nested parentheses. + * any whitespace is removed from the string. any zero-length + * fields are ignored. + * + * currently seg faults parentheses are mismatched. this should + * be fixed. + */ + +int parse_o_rama ( char *string, char ***argv ) +{ + int i, j; + char *p, *m, *o; + int parendepth = 0; + char **fargv; + int nonblank = 0; + + /** this is not commented because it sorely needs to be + rewritten. **/ + + /** pass through the string counting fields **/ + for ( j = 1, p = string; *p; ++p ) + { + j += (parendepth==0)&&(*p=='\n'||*p=='='||*p==','||*p==0||*p=='('); + if ( *p == '(' ) + ++parendepth; + else if ( *p == ')' ) + { + --parendepth; + if ( parendepth == 0 ) + ++j; + else if ( parendepth < 0 ) + return -1; + } + } + + if ( *string == 0 ) + j = 0; + + /* allocate space for the fields. */ + fargv = (char **)MALLOC ( j * sizeof ( char * ) ); + p = m = string; + parendepth = 0; + for ( i = 0; i < j; ++i ) + { + while ( parendepth || ( *p && *p != '=' && *p != ',' && *p != '\n' + && *p != '(' && *p != ')' ) ) + { + if ( *p == '(' ) + ++parendepth; + else if ( *p == ')' ) + { + --parendepth; + if ( !parendepth ) + --p; + } + ++p; + } + if ( *p == '(' ) + ++parendepth; + fargv[i] = (char *)MALLOC ( (p-m+1) * sizeof ( char ) ); + o = fargv[i]; + while ( m < p ) + { + if ( !isspace(*m) ) + *(o++) = *m; + ++m; + } + *o = 0; + if ( fargv[i][0] != 0 ) + ++nonblank; + ++p; + ++m; + } + + *argv = (char **)MALLOC ( nonblank * sizeof ( char * ) ); + nonblank = 0; +#ifdef DEBUG + printf ( "parse_o_rama: %d fields\n", nonblank ); +#endif + for ( i = 0; i < j; ++i ) + { + if ( fargv[i][0] ) + { +#ifdef DEBUG + printf ( " [%s]\n", fargv[i] ); +#endif + (*argv)[nonblank++] = fargv[i]; + } + else + FREE ( fargv[i] ); + } + FREE ( fargv ); + + return nonblank; +} + +/* rev_ind_compare() + * + * comparison function for sorting a reverse_index table by increasing + * fitness. + */ + +int rev_ind_compare ( const void *a, const void *b ) +{ + if ( ((reverse_index *)a)->fitness > ((reverse_index *)b)->fitness ) + return 1; + else if ( ((reverse_index *)a)->fitness < ((reverse_index *)b)->fitness ) + return -1; + else + return 0; +} + +/* select_interval() + * + * for selection methods which can be expressed as randomly selecting an + * individual, where each individual has some fixed probability of + * being selected, this efficiently does the selection. + * + * the selection_context's data field must point to an interval_data + * structure, which contains (essentially) a list of consecutive intervals + * and which individuals they correspond to. this function chooses a random + * number in the whole range of the intervals and uses binary search to + * locate which interval that falls in, returning the corresponding + * index. + */ + +int select_interval ( sel_context *sc ) +{ + double rval; + int middle; + interval_data *id = sc->data; + int low = 0, high = id->count; + + rval = random_double(&globrand) * id->total; + +#ifdef DEBUG_INTERVAL + printf ( "random value is %.6f (%.6f)\n", rval, id->total ); +#endif + + while ( low < high-1 ) + { +#ifdef DEBUG_INTERVAL + printf ( "current range is %d (%.6f) to %d (%.6f)\n", + low, id->ri[low].fitness, + high, id->ri[high].fitness ); +#endif + + middle = (low+high)/2; + if ( rval >= id->ri[middle].fitness ) + low = middle; + else + high = middle; + } + +#ifdef DEBUG_INTERVAL + printf ( "selected value %d (%.6f)\n", high, + id->ri[high].fitness ); +#endif + + if ( id->ri[high].index == -1 ) + { + /* this shouldn't ever happen either, but I'm nervous about + off-by-one errors on binary searches. */ + fprintf ( stderr, "afitness select misfired.\n" ); + } + + return id->ri[high].index; + +} + diff --git a/lib/lilgp/kernel/sigma.c b/lib/lilgp/kernel/sigma.c new file mode 100644 index 0000000..53cbde8 --- /dev/null +++ b/lib/lilgp/kernel/sigma.c @@ -0,0 +1,95 @@ +#include +#include + + +sel_context *select_sigma_context (int op, + sel_context *sc, + population *p, + char *string ) +{ + interval_data *id; + int i, j = 0; + double average; + double std; + double n; + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_interval; + sc->context_method = select_boltzman_context; + + /* the interval_data structure (used with select_interval()) is + essentially a list of interval widths and indices for each + individual. */ + + id = (interval_data *)MALLOC ( sizeof ( interval_data ) ); + + id->ri = (reverse_index *)MALLOC ( (p->size+1) * + sizeof ( reverse_index ) ); + id->total = 0.0; + id->count = p->size; + id->ri[j].fitness = 0.0; + id->ri[j].index = -1; + ++j; + + /* Compute average */ + + average=0; + for (i=0;isize;++i) + { + average += p->ind[i].a_fitness; + } + average/=p->size; + + /* Compute Standard Deviation */ + if (p->size<=1) + std=0; + else + { + std=0; + for(i=0;isize;i++) + { + std += (p->ind[i].a_fitness - average) * + (p->ind[i].a_fitness - average); + } + std/=(p->size-1); + std=sqrt(std); + } + + + for (i=0; i< p->size; ++i) + { + if (std==0) + { + n=1.0; + } + else + { + n= 1 + (p->ind[i].a_fitness - average)/(2 * std); + } + + id->total += n; + id->ri[j].fitness = id->total; + id->ri[j].index = i; + ++j; + } + + sc->data = (void *)id; + return sc; + break; + + case SELECT_CLEAN: + id = (interval_data *)(sc->data); + FREE ( id->ri ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} diff --git a/lib/lilgp/kernel/tournmnt.c b/lib/lilgp/kernel/tournmnt.c new file mode 100644 index 0000000..b1dba09 --- /dev/null +++ b/lib/lilgp/kernel/tournmnt.c @@ -0,0 +1,125 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +typedef struct +{ + int count; +} tournament_data; + + + +/* select_tournament_context() + * + * returns a selection context for the tournament selection method. + */ + +sel_context *select_tournament_context ( int op, sel_context *sc, + population *p, char *string ) +{ + char **argv; + int i, j; + tournament_data *td; + + switch ( op ) + { + case SELECT_INIT: + + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + /* fill in fields of the selection context. */ + sc->p = p; + sc->select_method = select_tournament; + sc->context_method = select_tournament_context; + + /* store the tournament data record. */ + td = (tournament_data *)MALLOC ( sizeof ( tournament_data ) ); + + /* parse the options. */ + td->count = 2; + j = parse_o_rama ( string, &argv ); + for ( i = 1; i < j; ++i ) + { + /* "size" is the only valid option. */ + if ( strcmp ( argv[i], "size" ) == 0 ) + td->count = atoi ( argv[++i] ); + else + error ( E_FATAL_ERROR, "unknown tournament option \"%s\".", + argv[i] ); + } + + free_o_rama ( j, &argv ); + + if ( td->count <= 0 ) + error ( E_FATAL_ERROR, + "tournament size must be at least 1. (%s)", string ); + + sc->data = (void *)td; + return sc; + break; + + case SELECT_CLEAN: + + td = (tournament_data *)(sc->data); + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_tournament() + * + * does a tournament selection. randomly picks (uniformly) a number (size) + * of individuals, then selects the best one among those. + */ + +int select_tournament ( sel_context *sc ) +{ + int i, j, k; + tournament_data *td; + population *p; + + td = (tournament_data *)(sc->data); + p = sc->p; + + j = -1; + for ( i = 0; i < td->count; ++i ) + { + /* pick another individual. */ + k = random_int ( &globrand, p->size ); + /* save it if it is better than the current best. */ + if ( j == -1 || p->ind[k].a_fitness > p->ind[j].a_fitness ) + j = k; + } + + return j; +} + + diff --git a/lib/lilgp/kernel/tree.c b/lib/lilgp/kernel/tree.c new file mode 100644 index 0000000..3b91821 --- /dev/null +++ b/lib/lilgp/kernel/tree.c @@ -0,0 +1,1119 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + + +/* + * note: that almost all these functions that recurse through the tree + * come in two parts: the wrapper and the recursive part. the "standard" + * method of traversing a tree like this is to set up a pointer to the + * first node in the tree, then subsequent recursive calls step the + * pointer forward, traversing the tree in preorder. the wrapper function + * sets up this pointer, then passes the address of that pointer [that's + * an (lnode **)] to the recursive part. + * + * the first function in this file [tree_size()] is commented in detail, + * others (which are just variations on this theme) are rather glossed over. + * + * note: when I refer to a tree's "size" I almost always mean "how many + * lnodes the tree takes to store", NOT how many nodes are in the tree. + * watch out for this. (the major exception is, of course, "tree_size()" + * which returns the node count.) + */ + +/* + * tree_nodes: return the number of nodes in the tree. + */ + +int tree_nodes ( lnode *tree ) +{ + lnode *l = tree; + return tree_nodes_recurse ( &l ); +} + +int tree_nodes_recurse ( lnode **l ) +{ + /* + * *l always points at a function node here; save the function. + */ + function *f = (**l).f; + int i, j = 1; + + /* step the pointer over the function. */ + ++*l; + + /* if the function is a terminal, then the recursion bottoms out. */ + if ( f->arity == 0 ) + { + /* skip the pointer over the ERC value if this node has one. */ + if ( f->ephem_gen ) + ++*l; + + /* return this subtree size. */ + return 1; + } + else + { + /* function is not a terminal, so add up its subtrees and return + * the total. + */ + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + j += tree_nodes_recurse ( l ); + break; + + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + /* skip the pointer over the skipsize node. */ + ++*l; + /* add this subtree's size to the total. */ + j += tree_nodes_recurse ( l ); + } + break; + } + } + + return j; +} + +/* + * tree_nodes_internal: return number of internal (function) nodes in the + * tree. + */ + +int tree_nodes_internal ( lnode *data ) +{ + lnode *l = data; + return tree_nodes_internal_recurse ( &l ); +} + +int tree_nodes_internal_recurse ( lnode **l ) +{ + function *f = (**l).f; + int i, j = 1; + + ++*l; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + ++*l; + return 0; + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + j += tree_nodes_internal_recurse ( l ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + j += tree_nodes_internal_recurse ( l ); + } + break; + } + } + + return j; +} + +/* + * tree_nodes_external: return number of external (terminal) nodes in the + * tree. + */ + +int tree_nodes_external ( lnode *data ) +{ + lnode *l = data; + return tree_nodes_external_recurse ( &l ); +} + +int tree_nodes_external_recurse ( lnode **l ) +{ + function *f = (**l).f; + int i, j = 0; + + ++*l; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + ++*l; + return 1; + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + j += tree_nodes_external_recurse ( l ) ; + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + j += tree_nodes_external_recurse ( l ) ; + } + break; + } + } + return j; +} + +/* + * print_tree_array: print the tree, as an array, on stdout. primarily + * for debugging. + */ + +void print_tree_array ( lnode *data ) +{ + lnode *l = data; + int i = 0; + print_tree_array_recurse ( &l, &i ); +} + +void print_tree_array_recurse ( lnode **l, int *index ) +{ + function *f = (**l).f; + int i; + + fprintf ( stderr, "%3d: function: \"%s\"\n", *index, f->string ); + + ++*l; + ++*index; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + { + fprintf ( stderr, "%3d: value: %s\n", *index, (f->ephem_str)((**l).d->d) ); + ++*l; + ++*index; + } + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + print_tree_array_recurse ( l, index ); + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + fprintf ( stderr, "%3d: {skip %d}\n", *index, (**l).s ); + ++*l; + ++*index; + print_tree_array_recurse ( l, index ); + } + break; + } + } +} + +/* + * print_tree: print the tree, as a LISP S-expression, to the given FILE *. + */ + +void print_tree ( lnode *data, FILE *fil ) +{ + lnode *c = data; + print_tree_recurse ( &c, fil ); + fprintf ( fil, "\n" ); +} + +void print_tree_recurse ( lnode **l, FILE *fil ) +{ + function *f; + int i; + + f = (**l).f; + + fprintf ( fil, " " ); + if ( f->arity != 0 ) + fprintf ( fil, "(" ); + + ++*l; + if ( f->ephem_gen ) + { + fprintf ( fil, "%s", (f->ephem_str)((**l).d->d) ); +#ifdef DEBUG + fprintf ( fil, " <%d>", (**l).d->refcount ); +#endif + ++*l; + } + else + fprintf ( fil, "%s", f->string ); + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + print_tree_recurse ( l, fil ); + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { +#ifdef DEBUG + fprintf ( fil, " {skip %d}", (**l).s ); +#endif + ++*l; + print_tree_recurse ( l, fil ); + } + break; + } + + if ( f->arity != 0 ) + fprintf ( fil, ")" ); +} + +/* + * generate_random_full_tree: generates, in the given generation space, + * a random full tree of the specified depth. + */ + +int generate_random_full_tree ( int space, int depth, function_set *fset, int return_type ) +{ + int i, j; + int save, used_save, is_expr; + int c_nval, *f_used, f_num_used, f_this; + int notvalid = 0; + + /* Reached maximum depth so choose terminal */ + if ( depth == 0 ) + { + /* Check if a terminal exists for this type */ + if ( fset->terminal_count_by_type[return_type] == 0 ) + return 1; + + /* Randomly select the terminal and add it to the tree */ + i = random_int(&globrand, fset->terminal_count_by_type[return_type])+ + (fset->function_count_by_type[return_type]); + gensp_next(space)->f = (fset->cset_by_type[return_type])+i; + + /* if this terminal is an ERC, then generate one and store it. */ + if ( (fset->cset_by_type[return_type])[i].ephem_gen ) + gensp_next(space)->d = new_ephemeral_const + ( (fset->cset_by_type[return_type])+i ); + + /* Tree is OK */ + return 0; + } + + /* Check if a function of this type exists */ + if ( fset->function_count_by_type[return_type] == 0 ) + return 1; + + /* Possible function so init function used array */ + f_used = (int *) MALLOC ((fset->function_count_by_type[return_type]) * sizeof(int)); + for ( i = 0; i < fset->function_count_by_type[return_type]; ++i ) + f_used[i] = 0; + f_num_used = 0; + + /* Get a ptr to the next free lnode */ + f_this = gensp_next_int(space); + /* Save our position in the genspace */ + used_save = gensp[space].used; + + /* Try to generate a tree to attach to parent node */ + do + { + /* Reset to possibly valid */ + notvalid = 0; + + /* Check if any more functions exist */ + if ( f_num_used >= fset->function_count_by_type[return_type] ) + { + /* Unuse the function we recieved */ + --gensp[space].used; + FREE (f_used); + return 1; + } + + /* Generate unique function (not at depth 0) */ + do { + i = random_int(&globrand, fset->function_count_by_type[return_type]); + } while ( f_used[i] ); + /* Mark function used */ + f_used[i] = 1; + ++f_num_used; + /* Setup function in genspace */ + gensp[space].data[f_this].f = (fset->cset_by_type[return_type])+i; + + /* Check if this is a EXPR type function */ + is_expr = gensp[space].data[f_this].f->type; + is_expr = (is_expr == FUNC_EXPR || is_expr == EVAL_EXPR); + + /* now generate the node's children. */ + for ( j = 0; j < gensp[space].data[f_this].f->arity; ++j ) + { + /* if this is a EXPR function then get a location for the skip node */ + if ( is_expr ) + save = gensp_next_int ( space ); + + /* generate a full tree of depth [depth-1]. */ + c_nval = generate_random_full_tree ( space, depth - 1, fset, + gensp[space].data[f_this].f->argument_type[j]); + + /* save the size of the subtree in the skip node, if we need to. */ + if ( is_expr ) + gensp[space].data[save].s = gensp[space].used - save - 1; + + /* if one child is not creatable then quit */ + if ( c_nval ) + { + /* Roll back in genspace to before children created */ + gensp[space].used = used_save; + notvalid = 1; + break; + } + } + } while ( notvalid ); + FREE(f_used); + + /* Tree is OK */ + return 0; +} + +/* + * generate_random_grow_tree: grow a random tree, of (maximum) depth [depth]. + * works just like genereate_random_full_tree, except that a node with + * depth > 0 can be a terminal. + */ + +int generate_random_grow_tree ( int space, int depth, function_set *fset, int return_type ) +{ + int i, j; + int save, used_save, is_expr; + int c_nval, *f_used, f_num_used, f_this; + int notvalid = 0; + int num_node = fset->function_count_by_type[return_type]+fset->terminal_count_by_type[return_type]; + int num_func = fset->function_count_by_type[return_type]; + int sel_term = 0; + + /* Calculate whether a function or terminal is selected */ + if ( random_double ( &globrand ) >= (double) num_func / (double) num_node ) + sel_term = 1; + + /* Reached maximum depth so choose terminal */ + if ( depth == 0 || sel_term ) + { + /* Check if a terminal exists for this type */ + if ( fset->terminal_count_by_type[return_type] == 0 ) + return 1; + + i = random_int(&globrand, fset->terminal_count_by_type[return_type])+ + (fset->function_count_by_type[return_type]); + gensp_next(space)->f = (fset->cset_by_type[return_type])+i; + + if ( (fset->cset_by_type[return_type])[i].ephem_gen ) + gensp_next(space)->d = new_ephemeral_const ( (fset->cset_by_type[return_type])+i ); + + /* Tree OK */ + return 0; + } + + /* Check if a function of this type exists */ + if ( fset->function_count_by_type[return_type] == 0 ) + return 1; + + /* Possible function so init function used array */ + f_used = (int *) MALLOC ((fset->function_count_by_type[return_type]) * sizeof(int)); + for ( i = 0; i < fset->function_count_by_type[return_type]; ++i ) + f_used[i] = 0; + f_num_used = 0; + + /* Get a ptr to the next free lnode */ + f_this = gensp_next_int(space); + /* Save our position in the genspace */ + used_save = gensp[space].used; + + /* Try to generate a tree to attach to parent node */ + do + { + /* Reset to possibly valid */ + notvalid = 0; + + /* Check if any more functions exist */ + if ( f_num_used >= fset->function_count_by_type[return_type] ) + { + /* Unuse the function we recieved */ + --gensp[space].used; + FREE(f_used); + return 1; + } + + /* Generate unique function (not at depth 0) */ + do { + i = random_int(&globrand, fset->function_count_by_type[return_type]); + } while ( f_used[i] ); + /* Mark function used */ + f_used[i] = 1; + ++f_num_used; + /* Setup function in genspace */ + gensp[space].data[f_this].f = (fset->cset_by_type[return_type])+i; + + /* Check if this is a EXPR type function */ + is_expr = gensp[space].data[f_this].f->type; + is_expr = (is_expr == FUNC_EXPR || is_expr == EVAL_EXPR); + + /* now generate the node's children. */ + for ( j = 0; j < gensp[space].data[f_this].f->arity; ++j ) + { + /* if this is a EXPR function then get a location for the skip node */ + if ( is_expr ) + save = gensp_next_int ( space ); + + /* generate a full tree of depth [depth-1]. */ + c_nval = generate_random_grow_tree ( space, depth - 1, fset, + gensp[space].data[f_this].f->argument_type[j]); + + /* save the size of the subtree in the skip node, if we need to. */ + if ( is_expr ) + gensp[space].data[save].s = gensp[space].used - save - 1; + + /* if one child is not creatable then quit */ + if ( c_nval ) + { + /* Roll back in genspace to before children created */ + gensp[space].used = used_save; + notvalid = 1; + break; + } + } + } while ( notvalid ); + FREE(f_used); + + /* Tree OK */ + return 0; +} + +/* + * tree_depth: return the depth of the tree. a tree with one node has + * depth 0. + */ + +int tree_depth ( lnode *data ) +{ + lnode *l = data; + return tree_depth_recurse ( &l ); +} + +int tree_depth_recurse ( lnode **l ) +{ + + function *f = (**l).f; + int i, j, k = 0; + + ++*l; + if ( f->arity == 0 ) + { + /* a terminal node; advance the pointer and return 0. */ + + if ( f->ephem_gen ) + ++*l; + return 0; + } + + /* a nonterminal; find the deepest child and return its depth plus one. */ + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + j = tree_depth_recurse ( l ); + if ( j > k ) + k = j; + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + j = tree_depth_recurse ( l ); + if ( j > k ) + k = j; + } + break; + } + + return k+1; +} + +int tree_depth_to_subtree ( lnode *data, lnode *sub ) +{ + lnode *l = data; + return tree_depth_to_subtree_recurse ( &l, sub, 0 ); +} + +int tree_depth_to_subtree_recurse ( lnode **l, lnode *sub, int depth ) +{ + function *f = (**l).f; + int i, j; + + if ( *l == sub ) + return depth; + + ++*l; + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + ++*l; + return -1; + } + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + j = tree_depth_to_subtree_recurse ( l, sub, depth+1 ); + if ( j != -1 ) + return j; + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + j = tree_depth_to_subtree_recurse ( l, sub, depth+1 ); + if ( j != -1 ) + return j; + } + break; + } + + return -1; +} + + +/* + * get_subtree: returns the start'th subtree of the tree, where start + * ranges from 0..(nodecount-1). the zeroth subtree is the tree itself. + * the subtrees are returned in preorder. + */ + +lnode *get_subtree ( lnode *data, int start ) +{ + lnode *l = data; + /* initialize a counter with start. the counter is passed by address, + * and so is shared across all recursive calls. it is decremented once + * for every node in the tree -- the current node when it reaches zero + * is returned. + */ + int c = start; + + return get_subtree_recurse ( &l, &c ); +} + +lnode *get_subtree_recurse ( lnode **l, int *c ) +{ + function *f = (**l).f; + lnode *r; + int i; + + /* if the counter is zero, return the current subtree. */ + if ( *c == 0 ) + return *l; + + ++*l; + --*c; + + if ( f->arity == 0 ) + { + /* skip over the terminal nodes. */ + if ( f->ephem_gen ) + ++*l; + } + else + { + /* recurse into this node's children. if one of them returns + * non-NULL, it means that the subtree has been found and the + * return value is immediately propagated up the call chain. + * if all of them return NULL, then the desired subtree is + * not in this subtree and we return NULL. */ + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + r = get_subtree_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + r = get_subtree_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + } + } + + return NULL; +} + +/* + * get_subtree_internal: just like get_subtree, but only selects nonterminal + * points. start should range from 0..(internalnodecount-1). + */ + +lnode *get_subtree_internal ( lnode *data, int start ) +{ + lnode *l = data; + int c = start; + return get_subtree_internal_recurse ( &l, &c ); +} + +lnode *get_subtree_internal_recurse ( lnode **l, int *c ) +{ + function *f = (**l).f; + int i; + lnode *r; + + /* if the current subtree is a terminal node, skip it immediately. */ + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + ++*l; + ++*l; + } + else + { + if ( *c == 0 ) + return *l; + + ++*l; + --*c; + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + r = get_subtree_internal_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + r = get_subtree_internal_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + } + } + + return NULL; +} + +/* + * get_subtree_external: just like get_subtree, but only selects terminal + * nodes (that is, 1-node subtrees). start ranges from + * 0..(externalnodecount-1). + */ + +lnode *get_subtree_external ( lnode *data, int start ) +{ + lnode *l = data; + int c = start; + return get_subtree_external_recurse ( &l, &c ); +} + +lnode *get_subtree_external_recurse ( lnode **l, int *c ) +{ + function *f = (**l).f; + int i; + lnode *r; + + if ( f->arity == 0 ) + { + if ( *c == 0 ) + return *l; + + ++*l; + --*c; + + if ( f->ephem_gen ) + ++*l; + } + else + { + ++*l; + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + r = get_subtree_external_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + r = get_subtree_external_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + } + } + + return NULL; +} + +/* + * copy_tree: allocates space for and makes a copy of a tree. + */ + +void copy_tree ( tree *to, tree *from ) +{ + to->data = (lnode *)MALLOC ( from->size * sizeof ( lnode ) ); + to->size = from->size; + to->nodes = from->nodes; + memcpy ( to->data, from->data, from->size * sizeof ( lnode ) ); +} + +/* + * free_tree: frees the memory allocated by a tree, and resets variables. + */ + +void free_tree ( tree *t ) +{ + FREE ( t->data ); + t->data = NULL; + t->size = -1; + t->nodes = -1; +} + +/* + * tree_size: returns the number of lnodes used to store the tree. + * this is equal to + * (node count)+(ERC count)+(conditionally evaluated subtree count). + */ + +int tree_size ( lnode *data ) +{ + lnode *l = data; + return tree_size_recurse ( &l ); +} + +int tree_size_recurse ( lnode **l ) +{ + function *f = (**l).f; + int i, j = 1; + + ++*l; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + { + ++*l; + ++j; + } + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + j += tree_size_recurse ( l ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + ++j; + j += tree_size_recurse ( l ); + } + break; + } + } + + return j; + +} + +/* + * copy_tree_replace_many: copies a tree, replacing some of its subtrees + * with other subtrees. arguments: + * + * space - the generation space to put the new tree in + * parent - the tree to copy from + * replace - a list of subtrees to replace + * with - a list of subtrees to replace them with + * count - the size of the replace and width arrays + * repcount - returns the number of subtrees replaced + * + * this function starts to recursively copy the "parent" tree to "dest". + * when the recursive copy hits any subtree in the "replace" array, + * the corresponding subtree in the "with" array is copied in its + * place. repcount returns the number of subtrees that were hit and + * replaced. this can be less than count, as some subtrees may never + * be found (if, for instance, one of the subtrees in the "replace" + * array is the subtree of another). + */ + +void copy_tree_replace_many ( int space, lnode *parent, lnode **replace, + lnode **with, int count, int *repcount ) +{ + lnode *lp = parent; + + gensp_reset ( space ); + *repcount = 0; + copy_tree_replace_many_recurse ( space, &lp, replace, + with, count, repcount ); +} + +void copy_tree_replace_many_recurse ( int space, lnode **lp, lnode **lr, + lnode **lw, int count, int *repcount ) +{ + function *f = (**lp).f; + int i; + int save; + lnode *new; + + /* only do the comparison if the lr is non-NULL. */ + if ( lr ) + { + /* check the current subtree against everything in the lr array. */ + for ( i = 0; i < count; ++i ) + if ( *lp == lr[i] ) + { + /* we have a match! */ + + /* increment the replacement count. */ + ++*repcount; + + /* copy the new tree into the destination. note that the + * lr and lw arguments are passed as NULL to prevent + * further replacement within the replacement tree. + */ + new = lw[i]; + copy_tree_replace_many_recurse ( space, &new, NULL, + NULL, count, repcount ); + + /* now skip the lp pointer over the lr subtree. */ + skip_over_subtree ( lp ); + + return; + } + } + + /* copy the node from the parent to the destination. */ + + gensp_next(space)->f = (**lp).f; + ++*lp; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + { + /* copy the ERC pointer. */ + + gensp_next(space)->d = (**lp).d; + ++*lp; + } + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + copy_tree_replace_many_recurse ( space, lp, lr, lw, + count, repcount ); + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + /* note that we just can't copy the skip value, since + * replacement within the subtree may change it. we + * have to save where it is needed and fill it in + * afterwards, just like generate_random_full_tree(). */ + + save = gensp_next_int ( space ); + ++*lp; + copy_tree_replace_many_recurse ( space, lp, lr, lw, + count, repcount ); + gensp[space].data[save].s = gensp[space].used-save-1; + } + break; + } + } + return; +} + +/* + * skip_over_subtree: takes a traversal pointer and skips it over the + * subtree it points to. + */ + +void skip_over_subtree ( lnode **l ) +{ + function *f = (**l).f; + int i; + + ++*l; + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + ++*l; + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + skip_over_subtree ( l ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + skip_over_subtree ( l ); + } + break; + } + } + return; +} + +/* + * reference_ephem_constants: traverses a tree, adding "count" to the + * refcount of each ERC that is used within the tree. + */ + +void reference_ephem_constants ( lnode *data, int count ) +{ + lnode *l = data; + reference_ephem_constants_recurse ( &l, count ); +} + +void reference_ephem_constants_recurse ( lnode **l, int count ) +{ + function *f = (**l).f; + int i; + + ++*l; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + { + if ( (**l).d ) + { + (**l).d->refcount += count; + ++*l; + } + else + error ( E_FATAL_ERROR, "aarg: this can't happen." ); + } + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + reference_ephem_constants_recurse ( l, count ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + reference_ephem_constants_recurse ( l, count ); + } + break; + } + } + +} + + diff --git a/lib/lilgp/kernel/types.h b/lib/lilgp/kernel/types.h new file mode 100644 index 0000000..c2c23b4 --- /dev/null +++ b/lib/lilgp/kernel/types.h @@ -0,0 +1,263 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _TYPES_H +#define _TYPES_H + + +typedef struct +{ + int fset; /* function set for tree */ + int return_type; /* return type for tree */ + char* name; /* tree name */ +} user_treeinfo; + +/* holds information about one function (or terminal). */ + +typedef struct +{ + DATATYPE (*code)(); + void (*ephem_gen)( DATATYPE * ); + char * (*ephem_str)(); + int arity; + char *string; + int type; + int evaltree; + int index; + /* Added to support strong data typing */ + int return_type; + int argument_type[MAXARGS]; +} function; + +typedef struct +{ + function *cset; + int function_count; + int terminal_count; + int num_args; + int size; + /* Added to support strong data typing */ + function* cset_by_type[NUMTYPES]; + int function_count_by_type[NUMTYPES]; + int terminal_count_by_type[NUMTYPES]; +} function_set; + +/* holds one ERC. contains the data, reference count, and pointer for + building a linked list. */ + +typedef struct _ephem_const +{ + int refcount; + struct _ephem_const *next; + DATATYPE d; + function *f; +} ephem_const; + +/* the basic building block of the tree structure. can be a function pointer, + a skip value, or a pointer to an ERC. */ + +typedef union +{ + int s; + function *f; + ephem_const *d; +} lnode; + +/* one tree -- consists of an array of lnodes. the size and node counts are + cached here for speed improvement. */ + +typedef struct _tree +{ + lnode *data; + int size; /* the lnode count */ + int nodes; /* the actual node count */ +} tree; + +/* the arguments passed to the function (terminal) code. can be either a + value or a pointer to a tree. */ + +typedef union +{ + DATATYPE d; + lnode *t; +} farg; + +/* one individual. holds the expression, fitness values, etc. */ + +typedef struct +{ + tree *tr; + double r_fitness; + double s_fitness; + double a_fitness; + int hits; + int evald; + int flags; +} individual; + +/* struct for doing a binary search of successive real-valued intervals. */ + +typedef struct +{ + double fitness; + int index; +} reverse_index; + +/* one population -- an array of individuals, and some global info. */ + +typedef struct +{ + individual *ind; + int size; + int next; +} population; + +struct _sel_context; + +typedef int (*select_func_ptr)(struct _sel_context*); +typedef struct _sel_context * (*select_context_func_ptr)(); + +typedef struct _sel_context +{ + population *p; + select_func_ptr select_method; + select_context_func_ptr context_method; + void *data; +} sel_context; + +typedef struct +{ + char *name; + select_context_func_ptr func; +} select_method; + +typedef struct +{ + char *name; + int (*func)(); +} gp_operator; + +typedef struct +{ + int copywhole; + int * from; + int * as; + char ** fromsc; + int to; + char * tosc; + int count; +} exchange; + +typedef struct +{ + int gp_operator; + double rate; + void *data; + void (*operator_free)(); + void (*operator_start)(); + void (*operator_end)(); + void (*operator_operate)(); +} breedphase; + +typedef struct +{ + int size, exchanges; + population **pop; + exchange *exch; + breedphase **bpt; +} multipop; + +typedef struct +{ + double total; + reverse_index *ri; + int count; +} interval_data; + +typedef struct +{ + int i; + ephem_const *e; +} ephem_index; + +typedef struct _parameter +{ + char *n; + char *v; + int copyflags; +} parameter; + +typedef struct _saved_ind +{ + individual *ind; + int refcount; + struct _saved_ind *next; +} saved_ind; + +typedef struct _popstats +{ + int size; + int maxnodes, minnodes, totalnodes, bestnodes, worstnodes; + int maxdepth, mindepth, totaldepth, bestdepth, worstdepth; + int maxhits, minhits, totalhits, besthits, worsthits; + double bestfit, worstfit, totalfit; + int bestgen, worstgen; + int bestpop, worstpop; + int bestn; + saved_ind **best; +} popstats; + +typedef struct +{ + lnode *data; + int size, used; +} genspace; + +typedef struct +{ + int fset; + int nodelimit; + int depthlimit; + farg *arguments; + int argtype; + int evaluatedfrom; + char *name; + /* Added to support typing */ + int return_type; +} treeinfo; + +typedef struct +{ + double mbig, mseed, mz, ma[55]; + int inext, inextp; + pthread_mutex_t rmut; +} randomgen; + +#endif + + + diff --git a/lib/lilgp/kernel_c/GNUmakefile.kernel b/lib/lilgp/kernel_c/GNUmakefile.kernel new file mode 100644 index 0000000..3f2c8ee --- /dev/null +++ b/lib/lilgp/kernel_c/GNUmakefile.kernel @@ -0,0 +1,45 @@ +## Linux users should uncomment this when using gcc +# CFLAGS += -mieee-fp + +## if you have the vfork() system call available (most Un*x systems), +## use it to spawn the checkpoint file compression process. +# CFLAGS += -DUSEVFORK +## if you don't have vfork(), use the (much) less efficient system() +## system call. (default to system, always available) +CFLAGS += -DUSESYSTEM +## if both of these are commented out, checkpoint compression will not +## be available. + +### +### end of configuration section +### + +kobjects = main.o gp.o eval.o tree.o change.o crossovr.o reproduc.o \ + mutate.o select.o tournmnt.o bstworst.o fitness.o genspace.o \ + exch.o populate.o ephem.o ckpoint.o event.o pretty.o individ.o \ + params.o random.o memory.o output.o boltzman.o sigma.o fsetupdate.o + +kheaders = event.h defines.h types.h protos.h protoapp.h + +.PHONY : all clean + +LIBS += -lm +CFLAGS += -I. -I$(KERNELDIR) + +all : $(TARGET) + +lilgp.h = $(addprefix $(KERNELDIR)/,$(kheaders)) $(uheaders) + +$(kobjects) : %.o : $(KERNELDIR)/%.c + $(CC) -c $(CFLAGS) $< -o $@ + +$(uobjects) : %.o : %.c + $(CC) -c $(CFLAGS) $< -o $@ + +$(kobjects) $(uobjects) : $(lilgp.h) + +$(TARGET) : $(kobjects) $(uobjects) + $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + +clean : + \rm -f *.o core diff --git a/lib/lilgp/kernel_c/boltzman.c b/lib/lilgp/kernel_c/boltzman.c new file mode 100644 index 0000000..111373e --- /dev/null +++ b/lib/lilgp/kernel_c/boltzman.c @@ -0,0 +1,106 @@ +#include +#include + +#define _E_ 2.718281828459 + +/* This version of the boltzman distribution will not work with + checkpoint files--we'll have to add the globals below into the global + section of the checkpoint file later... -- Sean */ + + + +int boltzman_initialized = 0; /* This SHOULD start out 0!!! */ +double boltzman_hi; +double boltzman_low; +double boltzman_step; +double boltzman_t; /* Current Temperature */ + +sel_context *select_boltzman_context (int op, + sel_context *sc, + population *p, + char *string ) +{ + interval_data *id; + int i, j = 0; + double n; /* Our New Boltzman Value */ + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_interval; + sc->context_method = select_boltzman_context; + + /* the interval_data structure (used with select_interval()) is + essentially a list of interval widths and indices for each + individual. */ + + id = (interval_data *)MALLOC ( sizeof ( interval_data ) ); + + id->ri = (reverse_index *)MALLOC ( (p->size+1) * + sizeof ( reverse_index ) ); + id->total = 0.0; + id->count = p->size; + id->ri[j].fitness = 0.0; + id->ri[j].index = -1; + ++j; + + if (!boltzman_initialized) + { + char* param; + + boltzman_initialized=1; + param=get_parameter("boltzman_hi"); + if (param==NULL) + { + param=get_parameter("max_generations"); + if (param==NULL) param="51.0"; /* Default */ + } + boltzman_hi=atof(param); + + param=get_parameter("boltzman_low"); + if (param==NULL) param="0.0"; /* Default */ + boltzman_low=atof(param); + + param=get_parameter("boltzman_step"); + if (param==NULL) param="1.0"; /* Default */ + boltzman_step=atof(param); + + boltzman_t=boltzman_hi; + } + + for ( i = 0; i < p->size; ++i ) + { + + n = pow(_E_,(p->ind[i].a_fitness / boltzman_t)); + /* Boltzman distribution modification */ + + boltzman_t -= boltzman_step; + if (boltzman_t < boltzman_low) boltzman_t=boltzman_low; + + id->total += n; + id->ri[j].fitness = id->total; + id->ri[j].index = i; + ++j; + } + + /* We don't need to divide everything by the total to + normalize the boltzman results--we're done as it is. */ + + sc->data = (void *)id; + return sc; + break; + + case SELECT_CLEAN: + id = (interval_data *)(sc->data); + FREE ( id->ri ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} diff --git a/lib/lilgp/kernel_c/bstworst.c b/lib/lilgp/kernel_c/bstworst.c new file mode 100644 index 0000000..fbc7c31 --- /dev/null +++ b/lib/lilgp/kernel_c/bstworst.c @@ -0,0 +1,226 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +typedef struct +{ + int next; + int *list; +} bestworst_data; + +static population *selectpop = NULL; + + +/* select_bestworst() + * + * do the actual selection for both the best and worst methods. both these + * just create a sorted list of individuals to return, so this function just + * returns the next in the list. + */ + +int select_bestworst ( sel_context *sc ) +{ + bestworst_data *bwd; + bwd = (bestworst_data *)(sc->data); + return bwd->list[bwd->next++]; +} + +/* select_best_context() + * + * Sets up the best selection method. + */ + +sel_context *select_best_context ( int op, sel_context *sc, + population *p, char *string ) +{ + int i, j; + bestworst_data *bwd; + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_bestworst; + sc->context_method = select_best_context; + + /** the method-specific part is a sorted list of individuals + (from best to worst). the selection function just returns + the next element off the list. the list is built here. **/ + + bwd = (bestworst_data *)MALLOC ( sizeof ( bestworst_data ) ); + bwd->list = (int *)MALLOC ( (p->size+1) * sizeof ( int ) ); + bwd->next = 0; + + j = 0; + for ( i = 0; i < p->size; ++i ) + bwd->list[j++] = i; + + selectpop = p; + qsort ( bwd->list, p->size, sizeof(int), select_best_compare ); + selectpop = NULL; + + sc->data = (void *)bwd; + return sc; + break; + + case SELECT_CLEAN: + bwd = (bestworst_data *)(sc->data); + FREE ( bwd->list ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_best_compare() + * + * comparison function for qsort() to sort a list of indices in order + * of fitness (best first). + */ + +int select_best_compare ( const void *a, const void *b ) +{ + if ( selectpop->ind[*(int *)a].a_fitness == + selectpop->ind[*(int *)b].a_fitness ) + return 0; + else if ( selectpop->ind[*(int *)a].a_fitness < + selectpop->ind[*(int *)b].a_fitness ) + return 1; + else + return -1; +} + +/* select_worst_context() + * + * sets up the worst selection method. identical to select_best_context(), + * except for the call to qsort(). + */ + +sel_context *select_worst_context ( int op, sel_context *sc, population *p, + char *string ) +{ + int i, j; + bestworst_data *bwd; + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_bestworst; + sc->context_method = select_worst_context; + + bwd = (bestworst_data *)MALLOC ( sizeof ( bestworst_data ) ); + bwd->list = (int *)MALLOC ( (p->size+1) * sizeof ( int ) ); + bwd->next = 0; + + j = 0; + for ( i = 0; i < p->size; ++i ) + bwd->list[j++] = i; + selectpop = p; + qsort ( bwd->list, p->size, sizeof(int), select_worst_compare ); + selectpop = NULL; + + sc->data = (void *)bwd; + return sc; + break; + + case SELECT_CLEAN: + bwd = (bestworst_data *)(sc->data); + FREE ( bwd->list ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_worst_compare() + * + * comparison function for qsort() to sort a list of indices by fitness, + * worst first. + */ + +int select_worst_compare ( const void *a, const void *b ) +{ + if ( selectpop->ind[*(int *)a].a_fitness == + selectpop->ind[*(int *)b].a_fitness ) + return 0; + else if ( selectpop->ind[*(int *)a].a_fitness < + selectpop->ind[*(int *)b].a_fitness ) + return -1; + else + return 1; +} + +/* select_random_context() + * + * sets up the random selection method. + */ + +sel_context *select_random_context ( int op, sel_context *sc, + population *p, char *string ) +{ + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->data = NULL; + sc->select_method = select_random; + sc->context_method = select_random_context; + return sc; + break; + + case SELECT_CLEAN: + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_random() + * + * picks an individual at random a returns it. + */ + +int select_random ( sel_context *sc ) +{ + return random_int ( &globrand, sc->p->size ); +} + diff --git a/lib/lilgp/kernel_c/change.c b/lib/lilgp/kernel_c/change.c new file mode 100644 index 0000000..7b0c2db --- /dev/null +++ b/lib/lilgp/kernel_c/change.c @@ -0,0 +1,324 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* the table of operator names and initialization functions. extend this + * table whenever you add a new operator. {NULL,NULL} marks the end of + * the table. + */ + +operator operator_table[] = +{ { "crossover", operator_crossover_init }, + { "reproduction", operator_reproduce_init }, + { "mutation", operator_mutate_init }, + { NULL, NULL } }; + +/* change_population() + * + * breed the new population. + */ + +population *change_population ( population *oldpop, breedphase *bp ) +{ + population *newpop; + int i, j; + int numphases; + double totalrate = 0.0; + double r, r2; + int prob_oper = atoi ( get_parameter ( "probabilistic_operators" ) ); + + /* allocate the new population. */ + newpop = allocate_population ( oldpop->size ); + + /* the first element of the breedphase table is a dummy -- its + operator field stores the number of phases. */ + numphases = bp[0].operator; + + /* call the start method for each phase. */ + for ( i = 1; i <= numphases; ++i ) + { + totalrate += bp[i].rate; + if ( bp[i].operator_start ) + bp[i].operator_start ( oldpop, bp[i].data ); + } + + /* now fill the new population. */ + while ( newpop->next < newpop->size ) + { + + /** select an operator, either stochastically or not depending on + the probabilistic_operators parameter. **/ + if ( prob_oper ) + r = totalrate * random_double ( &globrand ); + else + r = totalrate * ((double)newpop->next/(double)newpop->size); + + r2 = bp[1].rate; + for ( i = 1; r2 < r; ) + r2 += bp[++i].rate; +#ifdef DEBUG + fprintf ( stderr, "picked %10.3lf; operator %d\n", r, i ); +#endif + + /* call the phase's method to do the operation. */ + if ( bp[i].operator_operate ) + bp[i].operator_operate ( oldpop, newpop, bp[i].data ); + } + + /* call each phase's method to do cleanup. */ + for ( i = 1; i <= numphases; ++i ) + { + if ( bp[i].operator_end ) + bp[i].operator_end ( bp[i].data ); + } + + /* mark all the ERCs referenced in the new population. */ + for ( i = 0; i < newpop->size; ++i ) + for ( j = 0; j < tree_count; ++j ) + reference_ephem_constants ( newpop->ind[i].tr[j].data, 1 ); + + /* free the old population. */ + free_population ( oldpop ); + + return ( newpop ); + +} + +/* free_breeding() + * + * this frees the breedphase table for each subpopulation. + */ + +void free_breeding ( multipop *mpop ) +{ + int i; + + for ( i = 0; i < mpop->size; ++i ) + { + free_one_breeding ( mpop->bpt[i] ); + FREE ( mpop->bpt[i] ); + } + FREE ( mpop->bpt ); + mpop->bpt = NULL; +} + +/* free_one_breeding() + * + * this frees the breedphase table for a single subpopulation. + */ + +void free_one_breeding ( breedphase *bp ) +{ + int i; + + for ( i = 1; i <= bp[0].operator; ++i ) + { + if ( bp[i].operator_free ) + bp[i].operator_free ( bp[i].data ); + } +} + +/* initialize_breeding() + * + * this builds the breedphase table for each subpopulation. + */ + +void initialize_breeding ( multipop *mpop ) +{ + char pnamebuf[100]; + int i; + + mpop->bpt = (breedphase **)MALLOC ( mpop->size * sizeof ( breedphase * ) ); + + for ( i = 0; i < mpop->size; ++i ) + { + sprintf ( pnamebuf, "subpop[%d].", i+1 ); + mpop->bpt[i] = initialize_one_breeding ( pnamebuf ); + } + +} + +/* initialize_one_breeding() + * + * this builds the breedphase table for a single subpopulation. */ + +breedphase * initialize_one_breeding ( char *prefix ) +{ + char pnamebuf[100]; + char *param, *param2; + int i, j; + double rate; + int errors = 0; + breedphase *bp; + operator *op; + char *name, *namep; + + /* get the number of phases. */ + param = get_breed_parameter ( prefix, "breed_phases" ); + if ( param == NULL ) + error ( E_FATAL_ERROR, "no value specified for \"%sbreed_phases\".", + prefix ); + j = atoi ( param ); + if ( j <= 0 ) + error ( E_FATAL_ERROR, + "\"%sbreed_phases\" must be greater than zero.", prefix ); + + /* the first record of the table is a dummy -- its operator field + contains the number of phases. */ + bp = (breedphase *)MALLOC ( (j+1) * sizeof ( breedphase ) ); + bp[0].operator = j; + bp[0].rate = 0.0; + bp[0].operator_start = NULL; + bp[0].operator_end = NULL; + bp[0].operator_free = NULL; + bp[0].operator_operate = NULL; + + /* for each phase... */ + for ( i = 0; i < j; ++i ) + { + bp[i+1].operator_start = NULL; + bp[i+1].operator_end = NULL; + bp[i+1].operator_free = NULL; + bp[i+1].operator_operate = NULL; + + /* get the operator string (name and options) */ + param = get_breed_parameter ( prefix, "breed[%d].operator", i+1 ); + if ( param == NULL ) + { + ++errors; + error ( E_ERROR, + "no value specifed for \"%sbreed[%d].operator\".", + prefix, i+1 ); + continue; + } + + /* isolate the name portion of the string. */ + name = (char *)MALLOC ( ( strlen ( param ) + 1 ) * sizeof ( char ) ); + namep = name; + for ( param2 = param, namep = name; + *param2 && *param2 != ',' && *param2 != '\n'; + ++param2 ) + if ( !isspace(*param2) ) + *(namep++) = *param2; + *namep = 0; + if ( ! *param2 ) + --param2; + + /* look up the name in the table of operators. */ + op = operator_table; + while ( op->name ) + { + if ( strcmp ( op->name, name ) == 0 ) + break; + ++op; + } + + FREE ( name ); + + if ( op->name ) + /* call the operator's initialization function to fill in the fields + of the table for this phase. */ + errors += op->func ( param2+1, bp+i+1 ); + else + /* the specified operator is not in the table. */ + error ( E_FATAL_ERROR, + "%s: \"%s\" is not a known operator.", pnamebuf, param ); + + /* get the rate for this phase. */ + param = get_breed_parameter ( prefix, "breed[%d].rate", i+1 ); + if ( param == NULL ) + { + ++errors; + error ( E_ERROR, + "no value specified for \"%sbreed[%d].rate\".", + prefix, i+1 ); + } + else + { + rate = strtod ( param, NULL ); + if ( rate < 0.0 ) + { + ++errors; + error ( E_FATAL_ERROR, + "\"%sbreed[%d].rate\" must be nonnegative.", + prefix, i+1 ); + } + else if ( rate == 0.0 ) + { + error ( E_WARNING, + "\"%sbreed[%d].rate\" is zero; is this correct?", + prefix, i+1 ); + } + bp[i+1].rate = rate; + } + } + + /* if any errors occurred, stop now. */ + if ( errors ) + error ( E_FATAL_ERROR, "Errors have occurred, aborting." ); + + return bp; +} + +/* rebuild_breeding() + * + * rebuilds the breeding table from the parameter database. called from + * user code when the breeding parameters change mid-run. + */ + +void rebuild_breeding ( multipop *mpop ) +{ + free_breeding ( mpop ); + initialize_breeding ( mpop ); +} + +/* get_breed_parameter() + * + * format and following arguments are passed to sprintf to form a string. + * looks for a parameter called "", and returns its value. + * if it does not exist, returns the value of a parameter called "". + */ + +char *get_breed_parameter ( char *prefix, char *format, ... ) +{ + char *param; + static char pnamebuf[200]; + int len = strlen(prefix); + va_list ap; + + strcpy ( pnamebuf, prefix ); + va_start ( ap, format ); + vsprintf ( pnamebuf+len, format, ap ); + va_end ( ap ); + + param = get_parameter ( pnamebuf ); + if ( param == NULL ) + return get_parameter ( pnamebuf+len ); + else + return param; +} diff --git a/lib/lilgp/kernel_c/ckpoint.c b/lib/lilgp/kernel_c/ckpoint.c new file mode 100644 index 0000000..f124381 --- /dev/null +++ b/lib/lilgp/kernel_c/ckpoint.c @@ -0,0 +1,714 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +#ifdef USEVFORK +extern char **environ; +#endif + + +/* read_checkpoint() + * + * reads a checkpoint file, placing the generation number in gen and filling + * the population (and other structures) with information from the file + */ + +void read_checkpoint ( char *filename, int *gen, multipop **mpop ) +{ + FILE *f; + char *buffer; + ephem_const **eind; + int random_state_bytes; + int i; + char *rand_state; + + /* miscellaneous buffer for reading. */ + buffer = (char *)MALLOC ( MAXCHECKLINELENGTH ); + + /* open the file. */ + f = fopen ( filename, "rb" ); + if ( f == NULL ) + { + error ( E_FATAL_ERROR, "couldn't read checkpoint \"%s\".", + filename ); + } + + oprintf ( OUT_SYS, 30, "reading from checkpoint \"%s\".\n", + filename ); + + /** confirm the magic word that starts every checkpoint file. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); + if ( strcmp ( buffer, CK_MAGIC ) ) + error ( E_FATAL_ERROR, + "\"%s\" is not a lil-gp v1.0 checkpoint file.", filename ); + + /* skip the human-readable id line. */ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "id line: %s", buffer ); +#endif + + /** read and print the timestamp. **/ + fscanf ( f, "%*s " ); + fgets ( buffer, MAXCHECKLINELENGTH, f ); + /* chop the newline. */ + buffer[strlen(buffer)-1] = 0; + oprintf ( OUT_SYS, 30, " checkpoint timestamp: [%s].\n", buffer ); + + /* skip the "section: global" line. */ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be global section: %s", buffer ); +#endif + + /* read the generation number. */ + fscanf ( f, "%*s %d\n", gen ); + + /** read the random number state encoded as a string of hex chars. **/ + + /* first read the length. */ + fscanf ( f, "%*s %d ", &random_state_bytes ); +#ifdef DEBUG + fprintf ( stderr, "%d random state bytes.\n", random_state_bytes ); +#endif + /* allocate the buffer. */ + rand_state = (char *)MALLOC ( random_state_bytes+1 ); + /* read the hex data into the buffer. */ + read_hex_block ( rand_state, random_state_bytes, f ); + /* set the state. */ + random_set_state ( &globrand, rand_state ); + /* free the buffer. */ + FREE ( rand_state ); + /* slurp the newline character following the hex data. */ + fgetc ( f ); + + /** skip the "section: parameter" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be parameter section: %s", buffer ); +#endif + /* read the parameter database. */ + read_parameter_database ( f ); + + /* make internal copies of function set(s). */ + if ( app_build_function_sets() ) + error ( E_FATAL_ERROR, "app_build_function_sets() failure." ); + + /** skip the "section: erc" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be erc section: %s", buffer ); +#endif + + /* read the list of ephemeral constants, and index them */ + eind = read_ephem_list ( f ); + + /** skip the "section: erc" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be population section: %s", buffer ); +#endif + + /** read the population **/ + + /* allocate memory. */ + *mpop = (multipop *)MALLOC ( sizeof ( multipop ) ); + /* read number of subpops. */ + fscanf ( f, "%*s %d\n", &((**mpop).size) ); + /* allocate subpop list. */ + (**mpop).pop = (population **)MALLOC ( (**mpop).size * + sizeof ( population * ) ); + for ( i = 0; i < (**mpop).size; ++i ) + { + /** skip each "subpop: #" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be subpop %d: %s", i, buffer ); +#endif + /* read the population. */ + (**mpop).pop[i] = read_population ( eind, f ); + } + + /** skip the "section: application" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be application section: %s", buffer ); +#endif + /* read application-specific stuff. */ + app_read_checkpoint ( f ); + + /** skip the "section: statistics" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be statistics section: %s", buffer ); +#endif + /* read the statistics. */ + read_stats_checkpoint ( *mpop, eind, f ); + + /* close'n'free. */ + FREE ( eind ); + FREE ( buffer ); + fclose ( f ); + + oprintf ( OUT_SYS, 30, "population read from checkpoint \"%s\".\n", + filename ); + +} + +/* write_checkpoint() + * + * checkpoints the population to the given file. + */ + +void write_checkpoint ( int gen, multipop *mpop, char *filename ) +{ + + FILE *f; + unsigned char *rand_state; + ephem_index *eind; + int i; + int random_state_bytes; + time_t now; + char *param; + char *compresscommand[4] = { NULL, NULL, NULL, NULL }; + + /* open the file. */ + f = fopen ( filename, "w" ); + if ( f == NULL ) + { + error ( E_ERROR, "couldn't write checkpoint \"%s\"; skipping.", + filename ); + return; + } + + /* write magic number and id string. */ + fputs ( CK_MAGIC, f ); + fputs ( CK_IDSTRING, f ); + /* write timestamp. */ + time ( &now ); + fprintf ( f, "checkpoint-written: %s", ctime ( &now ) ); + + /* global section. */ + fputs ( "section: global\n", f ); + fprintf ( f, "generation: %d\n", gen ); + + /** write the state of the random number generator. **/ + rand_state = random_get_state ( &globrand, &random_state_bytes ); + fprintf ( f, "random-state: %d ", random_state_bytes ); + /* store buffer as hex data. */ + write_hex_block ( rand_state, random_state_bytes, f ); + fputc ( '\n', f ); + FREE ( rand_state ); + + /** write the parameter database. **/ + fprintf ( f, "section: parameter\n" ); + write_parameter_database ( f ); + + /** write the list of ephemeral constants, and index them. **/ + fprintf ( f, "section: erc\n" ); + eind = write_ephem_list ( f ); + + /** write the population. **/ + fprintf ( f, "section: population\n" ); + fprintf ( f, "subpop-count: %d\n", mpop->size ); + for ( i = 0; i < mpop->size; ++i ) + { + fprintf ( f, "subpop: %d\n", i ); + write_population ( mpop->pop[i], eind, f ); + } + + /** application-specific data. **/ + fprintf ( f, "section: application\n" ); + app_write_checkpoint ( f ); + + /** statistics structures. **/ + fprintf ( f, "section: statistics\n" ); + write_stats_checkpoint ( mpop, eind, f ); + + /** close'n'free. **/ + FREE ( eind ); + fclose ( f ); + + oprintf ( OUT_SYS, 20, " population checkpointed: \"%s\".\n", + filename ); + + /** do we compress the checkpoint file? **/ + param = get_parameter ( "checkpoint.compress" ); + if ( param ) + { +#if defined(USEVFORK) || defined(USESYSTEM) + /* allocate a string big enough to hold the command. */ + compresscommand[2] = (char *)MALLOC ( 2*(strlen(param) + + strlen(filename)) * + sizeof ( char ) ); + /* create the command string. */ + sprintf ( compresscommand[2], param, filename ); +#ifdef DEBUG + oprintf ( OUT_SYS, 20, " compression command is [%s]\n", + compresscommand[2] ); +#endif +#ifdef USEVFORK + /* in unix (solaris at least), a system() call performs a fork(), + * then an exec(). the fork system call copies the entire address + * space of the parent process to the child process. for large + * GP applications, this could be intolerably slow. + * + * vfork() does a fork without copying the address space. it can + * be used when the child immediately exec()s following the + * vfork(). + * + * we use exec() to do a "/bin/sh -c compresscommand" to parse + * and execute the compression command. + * + * we neither wait for the child to complete nor check the exit + * status to see if the compression was successful. + */ + + /** create the rest of the argv[] array to pass to the child. */ + compresscommand[0] = "/bin/sh"; + compresscommand[1] = "-c"; + if ( !vfork() ) + { + execve ( "/bin/sh", compresscommand, environ ); + _exit(1); + } +#else + /* this is provided for non-unix systems which don't provide the + * vfork() call but do have the system() call. + */ + + system ( compresscommand[2] ); +#endif + FREE ( compresscommand[2] ); + oprintf ( OUT_SYS, 20, " checkpoint compressed.\n" ); +#else + /* neither vfork() nor system() is available; + can't do compression. */ + oprintf ( OUT_SYS, 20, " checkpoint compression unavailable.\n" ); +#endif + } + +} + +/* read_population() + * + * allocates a population structure, reads a population from a checkpoint + * file into it, and returns it. must be passed an index to look up ERCs + * in. + */ + +population *read_population ( ephem_const **eind, FILE *f ) +{ + int i; + char *buffer; + population *pop; + + /* allocate. */ + pop = (population *)MALLOC ( sizeof ( population ) ); + /* read the "size" and "next" fields. */ + fscanf ( f, "%*s %d\n%*s %d\n", &(pop->size), &(pop->next) ); + /* allocate the individual array. */ + pop->ind = (individual *)MALLOC ( pop->size * sizeof ( individual ) ); + /* this buffer is used by read_individual for reading and parsing + function names in trees. we allocate it here, so that all calls + to read_individual share the same buffer (we don't have to repeatedly + allocate and free). */ + buffer = (char *)MALLOC ( MAXCHECKLINELENGTH ); + + for ( i = 0; i < pop->size; ++i ) + { + read_individual ( pop->ind+i, eind, f, buffer ); + } + + FREE ( buffer ); + return pop; +} + +/* read_individual() + * + * reads a single individual from a checkpoint file into the given individual + * pointer. it does NOT allocate the pointer. + */ + +void read_individual ( individual *ind, ephem_const **eind, FILE *f, + char *buffer ) +{ + int j, k[3]; + + /* read the evald and flags fields. */ + fscanf ( f, "%d %d ", &(ind->evald), &(ind->flags) ); + if ( ind->evald == EVAL_CACHE_VALID ) + { + /** if the individual has valid fitness values saved in the + file, read them. **/ + + /* skip over the human-readable fitness values and read the + hits count. */ + fscanf ( f, "%*f %*f %*f %d ", &(ind->hits) ); + /** the fitness values, which are double precision, are dumped out + in hex so that no significant digits are lost. **/ + read_hex_block ( &(ind->r_fitness), sizeof(double), f ); + fgetc ( f ); + read_hex_block ( &(ind->s_fitness), sizeof(double), f ); + fgetc ( f ); + read_hex_block ( &(ind->a_fitness), sizeof(double), f ); + fgetc ( f ); + } + +#ifdef DEBUG + fprintf ( stderr, "%lf %lf %lf %d %d %d\n", + ind->r_fitness, + ind->s_fitness, + ind->a_fitness, + ind->hits, + ind->evald, + ind->flags ); +#endif + + /* allocate the array of trees. */ + ind->tr = (tree *)MALLOC ( tree_count * sizeof ( tree ) ); + for ( j = 0; j < tree_count; ++j ) + { + /* read the tree number, tree size, and tree node count. */ + fscanf ( f, "%d %d %d ", k+0, k+1, k+2 ); + + /** read the tree into a generation space, then copy it to + it's final location. **/ + gensp_reset ( 0 ); + read_tree_recurse ( 0, eind, f, j, buffer ); + gensp_dup_tree ( 0, ind->tr+j ); + +#ifdef DEBUG_READTREE + fprintf ( stderr, "file: %d %d %d here: %d %d %d\n", + k[0], k[1], k[2], j, ind->tr[j].size, + ind->tr[j].nodes ); + print_tree ( ind->tr[j].data, stderr ); +#endif + if ( k[0] != j || + k[1] != ind->tr[j].size || + k[2] != ind->tr[j].nodes ) + { + /** if the values in the checkpoint file don't match the + values of the tree we read, this is a problem. this, of + course should never happen. **/ + /*printf("Correct size: %d Nodes: %d\n",ind->tr[j].size,ind->tr[j].nodes);*/ + error ( E_FATAL_ERROR, "checkpoint file corrupted in population section." ); + } + } +} + +/* read_tree_recurse() + * + * function to recursively read a tree from a checkpoint file. + */ + +void read_tree_recurse ( int space, ephem_const **eind, FILE *fil, int tree, + char *string ) +{ + function *f; + int i, j; + ephem_const *ep; + + /* read up until a nonwhitespace character in file. the nonwhitespace + character is saved in string[0]. */ + while ( isspace(string[0]=fgetc(fil)) ); + /* get the next character. */ + i = fgetc ( fil ); + if ( isspace(i) ) + /* if the next character is whitespace, then string[0] is a + one-character function name. null-terminate the string. */ + string[1] = 0; + else + { + /** if the next character is not whitespace, then string[0] + is either an open parenthesis or the first character of a + multi-character function name. **/ + + /* push the next character back. */ + ungetc ( i, fil ); + /* read the function name. skip over an open parenthesis, if there + is one. */ + fscanf ( fil, "%s ", string+(string[0]!='(') ); + } +#ifdef DEBUG_READTREE + fprintf ( stderr, "function name is [%s]\n", string ); +#endif + + /* look up the function name in this tree's function set. if the + function is an ERC terminal (the name is of the form "name:ERCindex"), + then place the ERC address in ep. */ + f = get_function_by_name ( tree, string, &ep, eind ); + /* add an lnode to the tree. */ + gensp_next(space)->f = f; + + switch ( f->type ) + { + case TERM_NORM: + case TERM_ARG: + case EVAL_TERM: + break; + case TERM_ERC: + /* record the ERC address as the next lnode in the array. */ + gensp_next(space)->d = ep; + break; + case FUNC_DATA: + case EVAL_DATA: + /** recursively read child functions, no skip nodes needed. **/ + for ( i = 0; i < f->arity; ++i ) + read_tree_recurse ( space, eind, fil, tree, string ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + /** recursively read child functions, recording skip values. **/ + for ( i = 0; i < f->arity; ++i ) + { + /* save an lnode for the skip value. */ + j = gensp_next_int ( space ); + /* read the child tree. */ + read_tree_recurse ( space, eind, fil, tree, string ); + /* figure out how big the child tree was, and save that + number in the skip node. */ + gensp[space].data[j].s = gensp[space].used-j-1; + } + break; + } +} + +/* get_function_by_name() + * + * looks up a function name in the function set for the given tree. if + * the function is an ERC, looks up the index (encoded in the name) + * and stores the ERC address in ep. + */ + +function * get_function_by_name ( int tree, char *string, ephem_const **ep, + ephem_const **eind ) +{ + int i, j, k; + function_set *fs = fset+tree_map[tree].fset; + + k = strlen ( string ); + for ( i = 0; i < k; ++i ) + { + if ( string[i] == ':' ) + { + /* names of the form "name:index" are chopped at the colon, + and the value of the index saved. */ + string[i] = 0; + j = atoi ( string+i+1 ); + break; + } + else if ( string[i] == ')' ) + { + /* chop the name at the first closing parenthesis, since we + could be passed a string like "function))))" */ + string[i] = 0; + break; + } + } + + /* find the string in the function set. */ + for ( i = 0; i < fs->size; ++i ) + if ( strcmp ( string, fs->cset[i].string ) == 0 ) + { + if ( fs->cset[i].type == TERM_ERC ) + { + /* if this is an ERC, lookup the saved index in the + eind table, and store the looked-up address in ep. */ + *ep = eind[j]; + (*ep)->f = fs->cset+i; + } + /* return a pointer to the function. */ + return fs->cset+i; + } + + /* this, of course, should never happen. */ + return NULL; +} + +/* write_population() + * + * writes a population to a checkpoint file. + */ + +void write_population ( population *pop, ephem_index *eind, FILE *f ) +{ + int i; + + /* write size and next fields. */ + fprintf ( f, "size: %d\nnext: %d\n", pop->size, pop->next ); + + /* write each individual. */ + for ( i = 0; i < pop->size; ++i ) + { + write_individual ( pop->ind+i, eind, f ); + } +} + +/* write_individual() + * + * writes an individual to a checkpoint file. uses eind to change ERC + * addresses to integer indices. + */ + +void write_individual ( individual *ind, ephem_index *eind, FILE *f ) +{ + int j; + lnode *l; + + /* write evald and flags fields. */ + fprintf ( f, "%d %d ", ind->evald, ind->flags ); + if ( ind->evald == EVAL_CACHE_VALID ) + { + /** if the fitness values are valid... **/ + + /* ...write them in human-readable form. */ + fprintf ( f, "%lf %lf %lf %d ", + ind->r_fitness, ind->s_fitness, + ind->a_fitness, ind->hits ); + /** then write the double-precision values as hex blocks, so + as not to lose significant digits. **/ + write_hex_block ( &(ind->r_fitness), sizeof(double), f ); + fputc ( ' ', f ); + write_hex_block ( &(ind->s_fitness), sizeof(double), f ); + fputc ( ' ', f ); + write_hex_block ( &(ind->a_fitness), sizeof(double), f ); + } + fputc ( '\n', f ); + + /** now write the trees of the individual. **/ + for ( j = 0; j < tree_count; ++j ) + { + /* write tree number, size, nodes. */ + fprintf ( f, "%d %d %d ", j, ind->tr[j].size, + ind->tr[j].nodes ); + + /** write tree data. **/ + l = ind->tr[j].data; + write_tree_recurse ( &l, eind, f ); + fputc ( '\n', f ); + } +} + +/* write_tree_recurse() + * + * function to recursively write trees to a checkpoint file. the same + * as print_tree_recurse(), except that ERC nodes are written as + * "name:index" rather than the value, using eind to translate addresses + * to indices. + */ + +void write_tree_recurse ( lnode **l, ephem_index *eind, FILE *fil ) +{ + function *f; + int i; + + /* remember which function we are. */ + f = (**l).f; + + /* a space, then an open-paren if this function is not a terminal. */ + fputc ( ' ', fil ); + if ( f->arity != 0 ) + fprintf ( fil, "(" ); + + ++*l; + if ( f->type == TERM_ERC ) + { + /* ERCs printed as "name:index". */ + fprintf ( fil, "%s:%d", f->string, + lookup_ephem ( eind, (**l).d ) ); + ++*l; + } + else + /* everything else printed normally. */ + fprintf ( fil, "%s", f->string ); + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + /** recursively print children. **/ + for ( i = 0; i < f->arity; ++i ) + write_tree_recurse ( l, eind, fil ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + /** recursive print children, ignoring the skip nodes. **/ + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + write_tree_recurse ( l, eind, fil ); + } + break; + } + + if ( f->arity != 0 ) + fprintf ( fil, ")" ); +} + +/* write_hex_block() + * + * writes a block of memory to a file, as a string of hex characters. + */ + +void write_hex_block ( void *buf, int n, FILE *f ) +{ + int i; + unsigned char *b = (unsigned char *)buf; + + for ( i = 0; i < n; ++i ) + fprintf ( f, "%02x", b[i] ); +} + +/* read_hex_block() + * + * reads hex characters into a block of memory, the inverse of + * write_hex_block(). + */ + +void read_hex_block ( void *buf, int n, FILE *f ) +{ + int i; + unsigned char *b = (unsigned char *)buf; + int c[2] = { 0, 0 }; + + for ( i = 0; i < n; ++i ) + { + c[0] = fgetc ( f ); + c[1] = fgetc ( f ); + + /* convert hex chars to base 10. */ + c[0] = c[0]>'9' ? c[0]-'a'+10 : c[0]-'0'; + c[1] = c[1]>'9' ? c[1]-'a'+10 : c[1]-'0'; + + b[i] = c[0] * 16 + c[1]; + } +} + + + diff --git a/lib/lilgp/kernel_c/crossovr.c b/lib/lilgp/kernel_c/crossovr.c new file mode 100644 index 0000000..e67c2ae --- /dev/null +++ b/lib/lilgp/kernel_c/crossovr.c @@ -0,0 +1,709 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +typedef struct +{ + int keep_trying; + int num_times; /* Number of times we should keep trying. If 0, infinity. --Sean */ + double internal; + double external; + double *tree; /* probability that a given tree + will be selected for crossover. */ + double *treecumul; /* running sum of "tree" field. */ + double treetotal; /* total of all tree fields. */ + double *func; /* probability that a given function + set will be selected for crossover. */ + char *sname; + sel_context *sc; + char *sname2; + sel_context *sc2; +} crossover_data; + + + +/* operator_crossver_init() + * + * called to parse crossover options and initialize one record + * of a breedphase table appropriately. + */ + +int operator_crossover_init ( char *options, breedphase *bp ) +{ + int errors = 0; + crossover_data *cd; + int i, j, k, m; + double r; + char **argv, **targv; + int internalset = 0, externalset = 0; + char *cp; + + cd = (crossover_data *)MALLOC ( sizeof ( crossover_data ) ); + + /* place values into the breedphase table record. */ + bp->operator = OPERATOR_CROSSOVER; + bp->data = (void *)cd; + bp->operator_free = operator_crossover_free; + bp->operator_start = operator_crossover_start; + bp->operator_end = operator_crossover_end; + bp->operator_operate = operator_crossover; + + /* default values for all the crossover options. */ + cd->keep_trying = 0; + cd->num_times = 0; + cd->internal = 0.9; + cd->external = 0.1; + cd->tree = (double *)MALLOC ( tree_count * sizeof ( double ) ); + cd->treecumul = (double *)MALLOC ( tree_count * sizeof ( double ) ); + for ( j = 0; j < tree_count; ++j ) + cd->tree[j] = 0.0; + cd->treetotal = 0.0; + cd->func = (double *)MALLOC ( fset_count * sizeof ( double ) ); + cd->sname = NULL; + cd->sname2 = NULL; + + /* break the options string into an argv-style array of strings. */ + j = parse_o_rama ( options, &argv ); + + for ( i = 0; i < j; ++i ) + { + /* parse "keep_trying" option. */ + if ( strcmp ( "keep_trying", argv[i] ) == 0 ) + { + /* translate a string into a binary value. returns -1 if + the string is not one of the valid strings meaning + yes or no. */ + cd->keep_trying = translate_binary ( argv[++i] ); + if ( cd->keep_trying == -1 ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a valid setting for \"keep_trying\".", + argv[i] ); + } + } + /* parse number of times to try */ + else if (strcmp ("num_times", argv[i]) == 0) + { + cd->num_times = translate_binary(argv[++i]); + if (cd->num_times < 0 ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a valid setting for \"num_times\".", + argv[i] ); + } + } + /* parse "internal" option. */ + else if ( strcmp ( "internal", argv[i] ) == 0 ) + { + internalset = 1; + cd->internal = strtod ( argv[++i], NULL ); + if ( cd->internal < 0.0 ) + { + ++errors; + error ( E_ERROR, "crossover: \"internal\" must be nonnegative." ); + } + } + /* parse "external" option. */ + else if ( strcmp ( "external", argv[i] ) == 0 ) + { + externalset = 1; + cd->external = strtod ( argv[++i], NULL ); + if ( cd->external < 0.0 ) + { + ++errors; + error ( E_ERROR, "crossover: \"external\" must be nonnegative." ); + } + } + /* parse "select" option. */ + else if ( strcmp ( "select", argv[i] ) == 0 ) + { + if ( !exists_select_method ( argv[++i] ) ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a known selection method.", + argv[i] ); + } + FREE ( cd->sname ); + cd->sname = (char *)MALLOC ( (strlen(argv[i])+1) * sizeof ( char ) ); + strcpy ( cd->sname, argv[i] ); + if ( cd->sname2 == NULL ) + cd->sname2 = cd->sname; + } + /* parse "select2" option. */ + else if ( strcmp ( "select2", argv[i] ) == 0 ) + { + if ( !exists_select_method ( argv[++i] ) ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a known selection method.", + argv[i] ); + } + if ( cd->sname2 && cd->sname != cd->sname2 ) + FREE ( cd->sname2 ); + cd->sname2 = (char *)MALLOC ( (strlen(argv[i])+1) * sizeof ( char ) ); + strcpy ( cd->sname2, argv[i] ); + } + /* parse "tree" option. */ + else if ( strcmp ( "tree", argv[i] ) == 0 ) + { + k = parse_o_rama ( argv[++i], &targv ); + if ( k != tree_count ) + { + ++errors; + error ( E_ERROR, "crossover: wrong number of tree fields: \"%s\".", + argv[i] ); + } + else + { + for ( m = 0; m < k; ++m ) + { + cd->tree[m] = strtod ( targv[m], &cp ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a number.", + targv[m] ); + } + } + } + + free_o_rama ( k, &targv ); + } + /* parse "tree#" option. */ + else if ( strncmp ( "tree", argv[i], 4 ) == 0 ) + { + k = strtol ( argv[i]+4, &cp, 10 ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "crossover: unknown option \"%s\".", + argv[i] ); + } + if ( k < 0 || k >= tree_count ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is out of range.", + argv[i] ); + } + else + { + cd->tree[k] = strtod ( argv[++i], &cp ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a number.", + argv[i] ); + } + } + } + else + { + ++errors; + error ( E_ERROR, "crossover: unknown option \"%s\".", + argv[i] ); + } + } + + free_o_rama ( j, &argv ); + + if ( internalset && !externalset ) + cd->external = 0.0; + else if ( !internalset && externalset ) + cd->internal = 0.0; + + if ( cd->sname == NULL ) + { + ++errors; + error ( E_ERROR, "crossover: no selection method specified." ); + } + + /** compute "func" array from the "tree" array. **/ + + for ( j = 0; j < tree_count; ++j ) + cd->treetotal += cd->tree[j]; + if ( cd->treetotal == 0.0 ) + { + for ( j = 0; j < tree_count; ++j ) + cd->tree[j] = 1.0; + cd->treetotal = tree_count; + } + + for ( j = 0; j < fset_count; ++j ) + cd->func[j] = 0.0; + for ( j = 0; j < tree_count; ++j ) + cd->func[tree_map[j].fset] += cd->tree[j]; + + r = 0.0; + for ( j = 0; j < fset_count; ++j ) + r = (cd->func[j] += r); + +#ifdef DEBUG + if ( !errors ) + { + printf ( "crossover options:\n" ); + printf ( " internal: %lf external: %lf\n", cd->internal, cd->external ); + printf ( " keep_trying: %d\n", cd->keep_trying ); + printf ( " primary selection: %s\n", cd->sname==NULL?"NULL":cd->sname ); + printf ( " second selection: %s\n", cd->sname2==NULL?"NULL":(cd->sname2==cd->sname?"same as primary":cd->sname2) ); + printf ( " tree total: %lf\n", cd->treetotal ); + for ( j = 0; j < tree_count; ++j ) + printf ( " tree %d: %lf\n", j, cd->tree[j] ); + for ( j = 0; j < fset_count; ++j ) + printf ( " fset %d: %lf\n", j, cd->func[j] ); + } +#endif + + return errors; +} + +/* operator_crossover_free() + * + * free the crossover-specific data structure. + */ + +void operator_crossover_free ( void *data ) +{ + crossover_data * cd; + + cd = (crossover_data *)data; + + FREE ( cd->sname ); + if ( cd->sname != cd->sname2 ) + FREE ( cd->sname2 ); + FREE ( cd->tree ); + FREE ( cd->treecumul ); + FREE ( cd->func ); + FREE ( cd ); +} + +/* operator_crossover_start() + * + * called at the start of the breeding process each generation. + * initializes the selection contexts for this phase. + */ + +void operator_crossover_start ( population *oldpop, void *data ) +{ + crossover_data * cd; + select_context_func_ptr select_con; + + cd = (crossover_data *)data; + + select_con = get_select_context ( cd->sname ); + cd->sc = select_con ( SELECT_INIT, NULL, oldpop, cd->sname ); + + /* if there is a separate selection method specified for the + second parent... */ + if ( cd->sname2 != cd->sname ) + { + /* ...then initialize it too. */ + select_con = get_select_context ( cd->sname2 ); + cd->sc2 = select_con ( SELECT_INIT, NULL, oldpop, cd->sname2 ); + } + else + /* ...otherwise use the first context. */ + cd->sc2 = cd->sc; +} + +/* operator_crossover_end() + * + * called when breeding is finished each generation. frees up selection + * contexts for this phase. + */ + +void operator_crossover_end ( void *data ) +{ + crossover_data * cd; + + cd = (crossover_data *)data; + + cd->sc->context_method ( SELECT_CLEAN, cd->sc, NULL, NULL ); + if ( cd->sname != cd->sname2 ) + cd->sc2->context_method ( SELECT_CLEAN, cd->sc2, NULL, NULL ); +} + +/* operator_crossover() + * + * performs the crossover, inserting one or both offspring into the + * new population. + */ + +void operator_crossover ( population *oldpop, population *newpop, + void *data ) +{ + crossover_data * cd; + int p1, p2; + int ps1, ps2; + int l1, l2; + lnode *st[3]; + int sts1, sts2; + int ns1, ns2; + int badtree1, badtree2; + double total; + int forceany1, forceany2; + int repcount; + int f, t1, t2, j; + double r, r2; + int totalnodes1, totalnodes2; + int i; + int count=0; /* Number of attempts */ + + /* get the crossover-specific data structure. */ + cd = (crossover_data *)data; + total = cd->internal + cd->external; + + /* choose a function set. */ + r = random_double(&globrand) * cd->treetotal; + for ( f = 0; r >= cd->func[f]; ++f ); + + /* fill in the "treecumul" array, zeroing all trees which + don't use the selected function set. */ + r = 0.0; + t1 = 0; + for ( j = 0; j < tree_count; ++j ) + { + if ( tree_map[j].fset == f ) + r = (cd->treecumul[j] = r + cd->tree[j]); + else + cd->treecumul[j] = r; + } + + /* select the first and second trees. */ + r2 = random_double(&globrand) * r; + for ( t1 = 0; r2 >= cd->treecumul[t1]; ++t1 ); + r2 = random_double(&globrand) * r; + for ( t2 = 0; r2 >= cd->treecumul[t2]; ++t2 ); + +#ifdef DEBUG_CROSSOVER + printf ( "selected function set %d --> t1: %d; t2: %d\n", f, t1, t2 ); +#endif + + /* choose two parents */ + p1 = cd->sc->select_method ( cd->sc ); + ps1 = oldpop->ind[p1].tr[t1].nodes; + /* if the tree only has one node, we obviously can't do + fucntionpoint crossover. use anypoint instead. */ + forceany1 = (ps1==1||total==0.0); + + p2 = cd->sc2->select_method ( cd->sc2 ); + ps2 = oldpop->ind[p2].tr[t2].nodes; + forceany2 = (ps2==1||total==0.0); + +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "parent 1 is:\n" ); + print_individual ( oldpop->ind+p1, stderr ); + fprintf ( stderr, "parent 2 is:\n" ); + print_individual ( oldpop->ind+p2, stderr ); +#endif + + while(1) + { + count++; + badtree1=0; /* Moved up here so they don't overwrite my claims --strong typing */ + badtree2=0; + + /* choose two crossover points */ + + if ( forceany1 ) + { + /* choose any point. */ + l1 = random_int ( &globrand, ps1 ); + st[1] = get_subtree ( oldpop->ind[p1].tr[t1].data, l1 ); + /* print_tree(st[1],stdout);*/ + } + else if ( total*random_double(&globrand) < cd->internal ) + { + /* choose an internal point. */ + l1 = random_int ( &globrand, tree_nodes_internal (oldpop->ind[p1].tr[t1].data) ); + st[1] = get_subtree_internal ( oldpop->ind[p1].tr[t1].data, l1 ); + /*print_tree(st[1],stdout);*/ + } + else + { + /* choose an external point. */ + l1 = random_int ( &globrand, tree_nodes_external (oldpop->ind[p1].tr[t1].data) ); + st[1] = get_subtree_external ( oldpop->ind[p1].tr[t1].data, l1 ); + /*print_tree(st[1],stdout);*/ + } + + if ( forceany2 ) + { + /* choose any point on second parent. */ + l2 = random_int ( &globrand, ps2 ); + st[2] = get_subtree ( oldpop->ind[p2].tr[t2].data, l2 ); + /*print_tree(st[2],stdout);*/ + } + else if ( total*random_double(&globrand) < cd->internal ) + { + /* choose internal point. */ + l2 = random_int ( &globrand, tree_nodes_internal (oldpop->ind[p2].tr[t2].data) ); + st[2] = get_subtree_internal ( oldpop->ind[p2].tr[t2].data, l2 ); + /*print_tree(st[2],stdout);*/ + } + else + { + /* choose external point. */ + l2 = random_int ( &globrand, tree_nodes_external (oldpop->ind[p2].tr[t2].data) ); + st[2] = get_subtree_external ( oldpop->ind[p2].tr[t2].data, l2 ); + /*print_tree(st[2],stdout);*/ + } + + /** validate the second offspring with regards to the first + offspring. **/ + + if ( st[1]->f->return_type != st[2]->f->return_type) + {badtree2=1; badtree1=1;} /* Needs to be *both*--don't know if either + is valid with regards to new children; + the simple way out is to just say they're + both bad. This is a better randomization + anyway... */ + + /* if we're supposed to keep trying, skip up and choose new crossover + points. */ + if ( cd->keep_trying && badtree2 && + (cd->num_times==0 || + cd->num_times > count) ) + continue; + +#ifdef DEBUG_CROSSOVER + printf ( "subtree 1 is: " ); + print_tree ( st[1], stdout ); + printf ( "subtree 2 is: " ); + print_tree ( st[2], stdout ); +#endif + + /* count the nodes in the selected subtrees. */ + sts1 = tree_nodes ( st[1] ); + sts2 = tree_nodes ( st[2] ); + + /* calculate the sizes of the offspring. */ + ns1 = ps1 - sts1 + sts2; + ns2 = ps2 - sts2 + sts1; + + totalnodes1 = ns1; + totalnodes2 = ns2; + +#ifdef DEBUG_CROSSOVER + printf ( "newtree 1 has size %d; limit is %d\n", + ns1, tree_map[t1].nodelimit ); +#endif + + /** validate the first offspring against the tree node and depth + limits; set "badtree1" if any are violated. **/ + + /*badtree1 = 0; moved to the while() loop */ + if ( tree_map[t1].nodelimit > -1 && ns1 > tree_map[t1].nodelimit ) + badtree1 |= 1; + else if ( tree_map[t1].depthlimit > -1 ) + { + ns1 = tree_depth_to_subtree ( oldpop->ind[p1].tr[t1].data, st[1] ) + + tree_depth ( st[2] ); +#ifdef DEBUG_CROSSOVER + printf ( "newtree 1 has depth %d; limit is %d\n", + ns1, tree_map[t1].depthlimit ); +#endif + if ( ns1 > tree_map[t1].depthlimit ) + badtree1 |= 1; + } + + /* if we're supposed to keep trying, skip up and choose new crossover + points. */ + if ( cd->keep_trying && badtree1 && + (cd->num_times==0 || + cd->num_times > count) ) + continue; + + /** validate the second offspring against the tree node and depth + limits; set "badtree2" if any are violated. **/ + + /* badtree2 = 0; moved to the while() loop */ + if ( tree_map[t2].nodelimit > -1 && ns2 > tree_map[t2].nodelimit ) + badtree2 |= 1; + else if ( tree_map[t2].depthlimit > -1 ) + { + ns2 = tree_depth_to_subtree ( oldpop->ind[p2].tr[t2].data, st[2] ) + + tree_depth ( st[1] ); + if ( ns2 > tree_map[t2].depthlimit ) + badtree2 |= 1; + } + + /* if we're supposed to keep trying, skip up and choose new crossover + points. */ + + if ( cd->keep_trying && badtree2 && + (cd->num_times==0 || + cd->num_times > count) ) + continue; + + /* check both offspring against the individual node limits, set + badtree1 and/or badtree2 if either is too big. */ + + if ( ind_nodelimit > -1 ) + { + for ( i = 0; i < tree_count; ++i ) + { + if ( i != t1 ) + totalnodes1 += oldpop->ind[p1].tr[i].nodes; + if ( i != t2 ) + totalnodes2 += oldpop->ind[p2].tr[i].nodes; + } + badtree1 |= (totalnodes1 > ind_nodelimit); + badtree2 |= (totalnodes2 > ind_nodelimit); +#ifdef DEBUG_CROSSOVER + printf ( "newind 1 has %d nodes; limit is %d\n", + totalnodes1, ind_nodelimit ); +#endif + } + + /* choose new crossover points if either tree is too big. */ + if ( cd->keep_trying && (badtree1 || badtree2) && + (cd->num_times==0 || + cd->num_times > count)) + continue; + + /* copy the first parent to the first offspring position */ + duplicate_individual ( newpop->ind+newpop->next, + oldpop->ind+p1 ); + if ( !badtree1 ) + { + /* if the first offspring is allowable... */ + +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 1 is allowable.\n" ); +#endif + + /* make a copy of the crossover tree, replacing the + selected subtree with the crossed-over subtree. */ + copy_tree_replace_many ( 0, oldpop->ind[p1].tr[t1].data, + st+1, st+2, 1, &repcount ); + if ( repcount != 1 ) + { + /* this can't happen, but check anyway. */ + error ( E_FATAL_ERROR, + "botched crossover: this can't happen" ); + } + + /* free the appropriate tree of the new individual */ + free_tree ( newpop->ind[newpop->next].tr+t1 ); + /* copy the crossovered tree to the freed space */ + gensp_dup_tree ( 0, newpop->ind[newpop->next].tr+t1 ); + + /* the new individual's fitness fields are of course invalid. */ + newpop->ind[newpop->next].evald = EVAL_CACHE_INVALID; + newpop->ind[newpop->next].flags = FLAG_NONE; + } + else + { + /* offspring too big but keep_trying not set, just leave the copied + parent 1 in the offspring position. */ +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 1 is too big; copying parent 1.\n" ); +#endif + } + + /* we've just filled in one member of the new population. */ + ++newpop->next; + +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 1:" ); + if ( newpop->ind[newpop->next-1].evald == EVAL_CACHE_VALID ) + fprintf ( stderr, " (valid)\n" ); + else + fprintf ( stderr, " (invalid)\n" ); + print_individual ( newpop->ind+(newpop->next-1), stderr ); +#endif + + /* if the new population needs another member (it's not full) */ + if ( newpop->next < newpop->size ) + { + /* copy the second parent to the second offspring position. */ + duplicate_individual ( newpop->ind+newpop->next, + oldpop->ind+p2 ); + if ( !badtree2 ) + { + /* if the second offspring is allowable... */ +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 2 is allowable.\n" ); +#endif + /* then make a copy of the tree, replacing the crossover + subtree. */ + copy_tree_replace_many ( 0, oldpop->ind[p2].tr[t2].data, + st+2, st+1, 1, &repcount ); + if ( repcount != 1 ) + { + error ( E_FATAL_ERROR, + "bad crossover: this can't happen" ); + } + + /* free the old tree in the new individual, and replace + it with the crossover tree. */ + free_tree ( newpop->ind[newpop->next].tr+t2 ); + gensp_dup_tree ( 0, newpop->ind[newpop->next].tr+t2 ); + + newpop->ind[newpop->next].evald = EVAL_CACHE_INVALID; + newpop->ind[newpop->next].flags = FLAG_NONE; + } + else + { + /* offspring too big but keep_trying not set; just leave + the copy of parent 2 where it is. */ +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 2 is big; copying parent 2.\n" ); +#endif + } + + ++newpop->next; + +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 2:" ); + if ( newpop->ind[newpop->next-1].evald == EVAL_CACHE_VALID ) + fprintf ( stderr, " (valid)\n" ); + else + fprintf ( stderr, " (invalid)\n" ); + print_individual ( newpop->ind+(newpop->next-1), stderr ); +#endif + + } +#ifdef DEBUG_CROSSOVER + else + { + /* the first offspring filled the population, discard the + second. */ + fprintf ( stderr, "offspring 2 not needed.\n\n" ); + } +#endif + + break; + } + +#ifdef DEBUG_CROSSOVER + printf ( "CROSSOVER COMPLETE.\n\n\n" ); +#endif + +} + diff --git a/lib/lilgp/kernel_c/defines.h b/lib/lilgp/kernel_c/defines.h new file mode 100644 index 0000000..f894f37 --- /dev/null +++ b/lib/lilgp/kernel_c/defines.h @@ -0,0 +1,122 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _DEFINES_H +#define _DEFINES_H + +/* remove this #define to turn off memory tracking. */ +#define TRACK_MEMORY + +/* define this to write a file "memory.log" with a record of all MALLOC()s, + REALLOC()s, and FREE()s. useful for debugging and finding memory leaks. */ +/*#define MEMORY_LOG*/ + +/* when this symbol is defined, the current time will be used instead of + 1 as the default random seed. */ +/*#define RANDOMSEEDTIME*/ + +#define EXTRAMEM 8 +#define EPHEM_METABLOCKSIZE 10 +#define EPHEM_STARTSIZE 1000 +#define EPHEM_GROWSIZE 500 + +#define MAXPARAMLINELENGTH 255 +#define MAXCHECKLINELENGTH 255 + +#define FUNC_DATA 1 +#define FUNC_FUNC 1 +#define FUNC_EXPR 2 +#define FUNC_MACRO 2 +#define TERM_NORM 3 +#define TERM_ERC 4 +#define TERM_ARG 5 +#define EVAL_DATA 6 +#define EVAL_FUNC 6 +#define EVAL_EXPR 7 +#define EVAL_MACRO 7 +#define EVAL_TERM 8 + +#define EVAL_CACHE_INVALID 1 +#define EVAL_CACHE_VALID 0 + +#define SELECT_INIT 1 +#define SELECT_CLEAN 3 + +#define GENERATE_FULL 1 +#define GENERATE_GROW 2 +#define GENERATE_HALF_AND_HALF 3 +#define LOAD_FILE 4 + +#define MAXDETAILLEVEL 100 +#define DEFDETAILLEVEL 50 +#define MINDETAILLEVEL 1 + +#define E_WARNING 0 +#define E_ERROR 1 +#define E_FATAL_ERROR 2 + +#define OUTPUT_OK 0 +#define OUTPUT_DUP_ID 1 +#define OUTPUT_DUP_EXT 2 +#define OUTPUT_TOOMANY 3 +#define OUTPUT_TOOLATE 4 + +#define OUT_SYS 0 +#define OUT_GEN 1 +#define OUT_PRG 2 +#define OUT_STT 3 +#define OUT_BST 4 +#define OUT_HIS 5 +#define OUT_USER 6 + +#define PARAM_COPY_NONE 0 +#define PARAM_COPY_NAME 1 +#define PARAM_COPY_VALUE 2 + +#define MAXMESSAGELENGTH 4096 +#define MAXOUTPUTSTREAMS 25 +#define SYSOUTPUTSTREAMS 6 + +#define PARAMETER_MINSIZE 31 +#define PARAMETER_CHUNKSIZE 16 + +#define OPERATOR_CROSSOVER 1 +#define OPERATOR_REPRODUCE 2 +#define OPERATOR_MUTATE 3 + +#define FLAG_NONE 0 +#define FLAG_NEWEXCH 1 + +#define GENSPACE_COUNT 2 + +#define GENSPACE_START 100 +#define GENSPACE_GROW 100 + +#define CK_MAGIC "lilgp1.0\n" +#define CK_IDSTRING "id: lilgp v1.0 checkpoint file\n" + +#endif diff --git a/lib/lilgp/kernel_c/ephem.c b/lib/lilgp/kernel_c/ephem.c new file mode 100644 index 0000000..eeb51e0 --- /dev/null +++ b/lib/lilgp/kernel_c/ephem.c @@ -0,0 +1,380 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* total counts of ERCs used and freed */ +int ercused = 0; +int ercfree = 0; +int ercalloc = 0; + +/* the active list. */ +ephem_const *active_head; +int active_count; + +/* the free list. */ +ephem_const *free_head; +int free_count; + +/* pointers for the allocated blocks for ERCs. */ +ephem_const **block_list; +int block_list_size; +int block_count; + +/* initialize_ephem_const() + * + * allocate and set up the first block of ERCs, the free list, + * etc. + */ + +void initialize_ephem_const ( void ) +{ + int i; + int size; + + oputs ( OUT_SYS, 30, " ephemeral random constants.\n" ); + + active_head = (ephem_const *)MALLOC ( sizeof ( ephem_const ) ); + active_head->refcount = 1; + active_head->next = NULL; + + free_head = (ephem_const *)MALLOC ( sizeof ( ephem_const ) ); + free_head->refcount = 1; + free_head->next = NULL; + + /** how many block >>pointers<< to allocate (not blocks). **/ + block_list_size = EPHEM_METABLOCKSIZE; + block_list = (ephem_const **)MALLOC ( block_list_size * + sizeof ( ephem_const * ) ); + + /* allocate the first block. */ + size = EPHEM_STARTSIZE; + block_count = 1; + block_list[0] = (ephem_const *)MALLOC ( size * + sizeof ( ephem_const ) ); + free_count = ercalloc = size; + + /* chain all the ERC records in the block together. */ + for ( i = 0; i < size-1; ++i ) + block_list[0][i].next = block_list[0]+i+1; + block_list[0][size-1].next = NULL; + + /* add the chain to the free list. */ + free_head->next = block_list[0]; +} + +/* free_ephem_const() + * + * free all the memory allocated to hold ERCs. + */ + +void free_ephem_const ( void ) +{ + int i; + + ephem_const_gc(); + + for ( i = 0; i < block_count; ++i ) + FREE ( block_list[i] ); + FREE ( block_list ); + + FREE ( active_head ); + FREE ( free_head ); +} + +/* enlarge_ephem_space() + * + * allocate a new block of ERCs, and add all the records in it + * to the free list. + */ + +void enlarge_ephem_space ( void ) +{ + int i; + int size = EPHEM_GROWSIZE; + + /** if we've allocated too many blocks, we need to lengthen the + list that holds block pointers. **/ + if ( block_count == block_list_size ) + { + block_list_size += EPHEM_METABLOCKSIZE; + block_list = (ephem_const **)REALLOC ( block_list, + block_list_size * + sizeof ( ephem_const *)); + } + + /* allocate the new block. */ + block_list[block_count] = + (ephem_const *)MALLOC ( size * sizeof ( ephem_const ) ); + free_count += size; + ercalloc += size; + + /* chain together all the records in it. */ + for ( i = 0; i < size-1; ++i ) + block_list[block_count][i].next = + block_list[block_count]+i+1; + + block_list[block_count][size-1].next = free_head->next; + free_head->next = block_list[block_count]; + + ++block_count; +} + +/* new_ephemeral_const() + * + * create a new ERC, corresponding to the given function. + */ + +ephem_const *new_ephemeral_const ( function *f ) +{ + ephem_const *p; + + /* make sure we have enough space. */ + while ( free_count <= 0 ) + enlarge_ephem_space(); + + /* take the next record off the free list. */ + p = free_head->next; + free_head->next = free_head->next->next; + --free_count; + + /* call user code to generate the constant, placing + the value in the new record. */ + f->ephem_gen ( &(p->d) ); + p->f = f; + + /* no references yet. */ + p->refcount = 0; + + /* add this record to the linked list of active ERCs. */ + p->next = active_head->next; + active_head->next = p; + ++active_count; + + ++ercused; + + return p; +} + +/* ephem_const_gc() + * + * traverse the linked list of active ERCs, removing those with + * a reference count of 0. + */ + +void ephem_const_gc ( void ) +{ + ephem_const *p = active_head->next; + ephem_const *m = active_head; + + while ( p != NULL ) + { + if ( p->refcount == 0 ) + { + /* patch the linked list to skip this record. */ + m->next = p->next; + + /* add this record to the free list. */ + p->next = free_head->next; + free_head->next = p; + ++free_count; + ++ercfree; + --active_count; + + p = m->next; + } + else + { + /* move past this record. */ + m = p; + p = p->next; + } + } + +} + +/* read_ephem_list() + * + * read list of ERCs from a checkpoint file. + */ + +ephem_const **read_ephem_list ( FILE *f ) +{ + ephem_const **ind; + ephem_const *p; + int count; + int i, j; + char *buffer; + + /* read the count. */ + fscanf ( f, "%*s %d\n", &count ); + + /** if no ERCs, do nothing and return a NULL pointer for the index. **/ + if ( count == 0 ) + return NULL; + + /* somewhere to place (and ignore) the human-readable forms of + the ERCs after the hex blocks. */ + buffer = (char *)MALLOC ( MAXCHECKLINELENGTH ); + + /* allocate the index translating integers --> addresses. */ + ind = (ephem_const **)MALLOC ( count * sizeof ( ephem_const * ) ); + + /** allocate a new block to hold all the ERCs we read. **/ + + /* we shouldn't EVER need to lengthen the block list while reading + a checkpoint, but check anyway... */ + if ( block_count == block_list_size ) + { + block_list_size += EPHEM_METABLOCKSIZE; + block_list = (ephem_const **)REALLOC ( block_list, + block_list_size * + sizeof ( ephem_const *)); + } + + /* allocate the new block. */ + block_list[block_count] = + (ephem_const *)MALLOC ( count * sizeof ( ephem_const ) ); + ercalloc += count; + + /* read the checkpointed ERCs into the new block. */ + for ( i = 0; i < count; ++i ) + { + p = block_list[block_count]+i; + fscanf ( f, "%d %d ", &j, &(p->refcount) ); + ind[j] = p; + read_hex_block ( &(p->d), sizeof ( DATATYPE ), f ); + fgets ( buffer, MAXCHECKLINELENGTH, f ); + + /* chain together all the records. */ + block_list[block_count][i].next = block_list[block_count]+i+1; + } + /* add the chained block to the active list. */ + block_list[block_count][count-1].next = active_head->next; + active_head->next = block_list[block_count]; + active_count += count; + ercused += count; + + ++block_count; + + FREE ( buffer ); + + return ind; + +} + +/* write_ephem_list() + * + * write the active list of ERCs to a checkpoint file. returns an + * index listing for translating an ERC address to a unique integer. + * (we can't store the address directly in the checkpoint, since + * the ERCs won't be loaded in the same spot in memory on restart.) + */ + +ephem_index *write_ephem_list ( FILE *f ) +{ + ephem_index *ind; + ephem_const *p = active_head->next; + int j; + + ind = (ephem_index *)MALLOC ( active_count * sizeof ( ephem_index ) ); + fprintf ( f, "erc-count: %d\n", active_count ); + + j = 0; + while ( p ) + { + /* store the index entry. */ + ind[j].e = p; + ind[j].i = j; + + /* write the reference count and the value. */ + fprintf ( f, "%d %d ", j, p->refcount ); + write_hex_block ( &(p->d), sizeof(DATATYPE), f ); + fprintf ( f, " %s %s\n", p->f->string, p->f->ephem_str ( p->d ) ); + + /* move down the list. */ + p = p->next; + ++j; + } + + /* sort the index by address, so we can use binary searching + on it. */ + qsort ( ind, active_count, sizeof(ephem_index), ephem_index_comp ); + + return ind; +} + +/* lookup_ephem() + * + * look up an ERC (by address) in an index returned by write_ephem_list() + * and return its integer index. + */ + +int lookup_ephem ( ephem_index *ind, ephem_const *e ) +{ + int low = 0; + int high = (ercused-ercfree); + int mid; + + while ( low < high-1 ) + { + mid = (low+high)/2; + if ( e >= ind[mid].e ) + low = mid; + else + high = mid; + } + + return ind[low].i; +} + +/* ephem_index_comp() + * + * comparison function for using qsort() to order the ERC index by + * address. + */ + +int ephem_index_comp ( const void *a, const void *b ) +{ + if ( ((ephem_index *)a)->e < ((ephem_index *)b)->e ) + return -1; + else + return 1; +} + +/* get_ephem_stats() + * + * return ERC statistics. + */ + +void get_ephem_stats ( int *used, int *free, int *blocks, int *alloc ) +{ + *used = ercused; + *free = ercfree; + *blocks = block_count; + *alloc = ercalloc; +} diff --git a/lib/lilgp/kernel_c/ev_none.c b/lib/lilgp/kernel_c/ev_none.c new file mode 100644 index 0000000..8728ea6 --- /dev/null +++ b/lib/lilgp/kernel_c/ev_none.c @@ -0,0 +1,61 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include "event.h" + +static char string[2] = { "" }; + +void event_init ( void ) +{ +} + +void event_mark ( event *e ) +{ +} + +char *event_string ( event *z ) +{ + return string; +} + +void event_zero ( event *z ) +{ +} + +void event_diff ( event *z, event *one, event *two ) +{ +} + +void event_accum ( event *z, event *one ) +{ +} + +void event_accumdiff ( event *z, event *one, event *two ) +{ +} + + diff --git a/lib/lilgp/kernel_c/ev_none.h b/lib/lilgp/kernel_c/ev_none.h new file mode 100644 index 0000000..63e0a2e --- /dev/null +++ b/lib/lilgp/kernel_c/ev_none.h @@ -0,0 +1,45 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _EVENT_H +#define _EVENT_H + +typedef struct +{ +} event; + +void event_init ( void ); +void event_mark ( event *e ); +char *event_string ( event *z ); +void event_zero ( event *z ); +void event_diff ( event *z, event *one, event *two ); +void event_accum ( event *z, event *one ); +void event_accumdiff ( event *z, event *one, event *two ); + +#undef TIMING_AVAILABLE + +#endif diff --git a/lib/lilgp/kernel_c/ev_time.c b/lib/lilgp/kernel_c/ev_time.c new file mode 100644 index 0000000..27c27aa --- /dev/null +++ b/lib/lilgp/kernel_c/ev_time.c @@ -0,0 +1,70 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include +#include + +#include "event.h" + +static char string[200]; + +void event_init ( void ) +{ +} + +void event_mark ( event *e ) +{ + e->wall = time(NULL); +} + +char *event_string ( event *z ) +{ + sprintf ( string, "%ds wall", z->wall ); + return string; +} + +void event_zero ( event *z ) +{ + z->wall = 0; +} + +void event_diff ( event *z, event *one, event *two ) +{ + z->wall = two->wall - one->wall; +} + +void event_accum ( event *z, event *one ) +{ + z->wall += one->wall; +} + +void event_accumdiff ( event *z, event *one, event *two ) +{ + z->wall += two->wall - one->wall; +} + + diff --git a/lib/lilgp/kernel_c/ev_time.h b/lib/lilgp/kernel_c/ev_time.h new file mode 100644 index 0000000..999b262 --- /dev/null +++ b/lib/lilgp/kernel_c/ev_time.h @@ -0,0 +1,49 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _EVENT_H +#define _EVENT_H + +#include +#include + +typedef struct +{ + clock_t wall; +} event; + +void event_init ( void ); +void event_mark ( event *e ); +char *event_string ( event *z ); +void event_zero ( event *z ); +void event_diff ( event *z, event *one, event *two ); +void event_accum ( event *z, event *one ); +void event_accumdiff ( event *z, event *one, event *two ); + +#define TIMING_AVAILABLE + +#endif diff --git a/lib/lilgp/kernel_c/ev_times.c b/lib/lilgp/kernel_c/ev_times.c new file mode 100644 index 0000000..1793c5c --- /dev/null +++ b/lib/lilgp/kernel_c/ev_times.c @@ -0,0 +1,85 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include +#include + +#include "event.h" + +static int tickspersec; +static char string[200]; + +void event_init ( void ) +{ + tickspersec = CLK_TCK; +} + +void event_mark ( event *e ) +{ + struct tms b; + + e->wall = times(&b); + e->user = b.tms_utime; + e->sys = b.tms_stime; +} + +char *event_string ( event *z ) +{ + sprintf ( string, "%.2lfs wall, %.2lfs user, %.2lfs sys", + (double)(z->wall)/tickspersec, + (double)(z->user)/tickspersec, + (double)(z->sys)/tickspersec ); + return string; +} + +void event_zero ( event *z ) +{ + z->wall = z->user = z->sys = 0; +} + +void event_diff ( event *z, event *one, event *two ) +{ + z->wall = two->wall - one->wall; + z->user = two->user - one->user; + z->sys = two->sys - one->sys; +} + +void event_accum ( event *z, event *one ) +{ + z->wall += one->wall; + z->user += one->user; + z->sys += one->sys; +} + +void event_accumdiff ( event *z, event *one, event *two ) +{ + z->wall += two->wall - one->wall; + z->user += two->user - one->user; + z->sys += two->sys - one->sys; +} + + diff --git a/lib/lilgp/kernel_c/ev_times.h b/lib/lilgp/kernel_c/ev_times.h new file mode 100644 index 0000000..07a33b2 --- /dev/null +++ b/lib/lilgp/kernel_c/ev_times.h @@ -0,0 +1,56 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _EVENT_H +#define _EVENT_H + +#include +#include +#include + +typedef struct +{ + clock_t wall; + clock_t user; + clock_t sys; +} event; + +void event_init ( void ); +void event_mark ( event *e ); +char *event_string ( event *z ); +void event_zero ( event *z ); +void event_diff ( event *z, event *one, event *two ); +void event_accum ( event *z, event *one ); +void event_accumdiff ( event *z, event *one, event *two ); + +#ifndef CLK_TCK +#define CLK_TCK sysconf(_SC_CLK_TCK) +#endif + +#define TIMING_AVAILABLE + +#endif diff --git a/lib/lilgp/kernel_c/eval.c b/lib/lilgp/kernel_c/eval.c new file mode 100644 index 0000000..5e414b6 --- /dev/null +++ b/lib/lilgp/kernel_c/eval.c @@ -0,0 +1,220 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* set_current_individual() + * + * the current_individual variable is used so that evaluation tokens know + * where to find their target trees. set_current_individual() is used to + * set this value from the application code. + */ + + +#if !defined(POSIX_MT) && !defined(SOLARIS_MT) + +static individual * current_individual; +#define CURRENT_INDIVIDUAL current_individual + +#else + +#define CURRENT_INDIVIDUAL (get_globaldata())->current_individual + +#endif + + + + + +void set_current_individual ( individual *ind ) +{ + CURRENT_INDIVIDUAL = ind; +} + + + + + + + +/* evaluate_tree() + * + * this is the wrapper which sets up a traversal pointer for doing the + * evaluation. the whichtree argument is needed so that ARG terminals + * know where to find their values. + */ + +DATATYPE evaluate_tree ( lnode *tree, int whichtree ) +{ + lnode *l = tree; +#ifdef DEBUG_EVAL + printf ( "call to evaluate_tree in context %d\n", whichtree ); +#endif + return evaluate_tree_recurse ( &l, whichtree ); +} + +/* evaluate_tree_recurse() + * + * the recursive part of the tree evaluator. returns the value of the + * evaluated tree. + */ + +DATATYPE evaluate_tree_recurse ( lnode **l, int whichtree ) +{ + farg arg[MAXARGS]; + int i; + function *f = (**l).f; + treeinfo savearg; + + /* step the traversal pointer forward, now that we've saved which + function we're at. */ + ++*l; + + switch ( f->type ) + { + case FUNC_DATA: + /* function (DATA type): recursively evaluate each subtree, + saving the values. pass these values to the user code. */ + for ( i = 0; i < f->arity; ++i ) + arg[i].d = evaluate_tree_recurse ( l, whichtree ); + return (f->code)(whichtree, arg); + break; + case EVAL_DATA: + /* evaluation token (DATA type): first evaluate each child, + saving the returned values. these values will be returned + by the appropriate ARG tokens in the called tree. */ + for ( i = 0; i < f->arity; ++i ) + arg[i].d = evaluate_tree_recurse ( l, whichtree ); + + /* the arguments are stored using three fields in the global + tree_map. we save whatever was in these three fields in + local variables. */ + savearg.arguments = tree_map[f->evaltree].arguments; + savearg.argtype = tree_map[f->evaltree].argtype; + savearg.evaluatedfrom = tree_map[f->evaltree].evaluatedfrom; + + /** now we store the new values in the global structure. **/ + /* first, the argument list. */ + tree_map[f->evaltree].arguments = arg; + /* next, the type of this eval token. */ + tree_map[f->evaltree].argtype = EVAL_DATA; + /* now the tree number which we are currently evaluating. this + is necessary so that nested ADFs evaluate correctly -- we must + remember where we are so that ARG tokens know which tree's + arguments to look at. */ + tree_map[f->evaltree].evaluatedfrom = whichtree; + + /* finally call evaluate_tree to evaluate the target tree. */ + arg->d = evaluate_tree ( CURRENT_INDIVIDUAL->tr[f->evaltree].data, + f->evaltree ); + + /* restore the old values in the global structure. */ + tree_map[f->evaltree].arguments = savearg.arguments; + tree_map[f->evaltree].argtype = savearg.argtype; + tree_map[f->evaltree].evaluatedfrom = savearg.evaluatedfrom; + + /* return the final value. */ + return arg->d; + break; + case FUNC_EXPR: + /* function (EXPR type): save the address of each child tree, + using the skip nodes to quickly move the traversal pointer + past the child. */ + for ( i = 0; i < f->arity; ++i ) + { + arg[i].t = (*l+1); + *l += (**l).s; + ++*l; + } + /* now pass this array of saved trees to the user code. */ + return (f->code)(whichtree, arg); + break; + case EVAL_EXPR: + /* evaluation token (EXPR type): works just like the DATA + type, only the saved arguments are tree address instead + of values. */ + for ( i = 0; i < f->arity; ++i ) + { + arg[i].t = (*l+1); + *l += (**l).s; + ++*l; + } + savearg.arguments = tree_map[f->evaltree].arguments; + savearg.argtype = tree_map[f->evaltree].argtype; + savearg.evaluatedfrom = tree_map[f->evaltree].evaluatedfrom; + tree_map[f->evaltree].arguments = arg; + tree_map[f->evaltree].argtype = EVAL_EXPR; + tree_map[f->evaltree].evaluatedfrom = whichtree; + arg->d = evaluate_tree ( CURRENT_INDIVIDUAL->tr[f->evaltree].data, + f->evaltree ); + tree_map[f->evaltree].arguments = savearg.arguments; + tree_map[f->evaltree].argtype = savearg.argtype; + tree_map[f->evaltree].evaluatedfrom = savearg.evaluatedfrom; + return arg->d; + break; + case EVAL_TERM: + /* evaluation token (TERM type): works just like the DATA + type, only we pass NULL as an argument list. */ + savearg.arguments = tree_map[f->evaltree].arguments; + savearg.argtype = tree_map[f->evaltree].argtype; + savearg.evaluatedfrom = tree_map[f->evaltree].evaluatedfrom; + tree_map[f->evaltree].arguments = NULL; + tree_map[f->evaltree].argtype = EVAL_TERM; + tree_map[f->evaltree].evaluatedfrom = whichtree; + arg->d = evaluate_tree ( CURRENT_INDIVIDUAL->tr[f->evaltree].data, + f->evaltree ); + tree_map[f->evaltree].arguments = savearg.arguments; + tree_map[f->evaltree].argtype = savearg.argtype; + tree_map[f->evaltree].evaluatedfrom = savearg.evaluatedfrom; + return arg->d; + break; + case TERM_ARG: + /* an ARG terminal. */ + if ( tree_map[whichtree].argtype == EVAL_DATA ) + /* if the EVAL token calling this tree is of type DATA, then + just pull the value out of the argument list and return it. */ + return tree_map[whichtree].arguments[f->evaltree].d; + else + /* if the EVAL token calling this tree is of type EXPR, then + evaluate the tree pointer in the argument list and return + the value. */ + return evaluate_tree ( tree_map[whichtree].arguments[f->evaltree].t, tree_map[whichtree].evaluatedfrom ); + break; + case TERM_ERC: + /* ERC terminal: traversal pointer points to ERC structure. + pull the value out, and step the pointer forward. */ + return (*((*l)++)).d->d; + break; + default: /* TERM_NORM */ + /* normal terminal: just call the user code. */ + return (f->code)(whichtree, NULL); + break; + } +} + + + diff --git a/lib/lilgp/kernel_c/event.c b/lib/lilgp/kernel_c/event.c new file mode 100644 index 0000000..27c27aa --- /dev/null +++ b/lib/lilgp/kernel_c/event.c @@ -0,0 +1,70 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include +#include + +#include "event.h" + +static char string[200]; + +void event_init ( void ) +{ +} + +void event_mark ( event *e ) +{ + e->wall = time(NULL); +} + +char *event_string ( event *z ) +{ + sprintf ( string, "%ds wall", z->wall ); + return string; +} + +void event_zero ( event *z ) +{ + z->wall = 0; +} + +void event_diff ( event *z, event *one, event *two ) +{ + z->wall = two->wall - one->wall; +} + +void event_accum ( event *z, event *one ) +{ + z->wall += one->wall; +} + +void event_accumdiff ( event *z, event *one, event *two ) +{ + z->wall += two->wall - one->wall; +} + + diff --git a/lib/lilgp/kernel_c/event.h b/lib/lilgp/kernel_c/event.h new file mode 100644 index 0000000..999b262 --- /dev/null +++ b/lib/lilgp/kernel_c/event.h @@ -0,0 +1,49 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _EVENT_H +#define _EVENT_H + +#include +#include + +typedef struct +{ + clock_t wall; +} event; + +void event_init ( void ); +void event_mark ( event *e ); +char *event_string ( event *z ); +void event_zero ( event *z ); +void event_diff ( event *z, event *one, event *two ); +void event_accum ( event *z, event *one ); +void event_accumdiff ( event *z, event *one, event *two ); + +#define TIMING_AVAILABLE + +#endif diff --git a/lib/lilgp/kernel_c/exch.c b/lib/lilgp/kernel_c/exch.c new file mode 100644 index 0000000..813fc8c --- /dev/null +++ b/lib/lilgp/kernel_c/exch.c @@ -0,0 +1,642 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* initialize_topology() + * + * reads the parameter database and builds the exchange table. + */ + +void initialize_topology ( multipop *mpop ) +{ + char pnamebuf[100], pnamebuf2[100]; + char *param, *param2, *param3; + int i, j, k; + int errors = 0; + + if ( mpop->size == 1 ) + { + /* singlepop problem -- no topology needed. */ + mpop->exch = NULL; + mpop->exchanges = -1; + return; + } + + oprintf ( OUT_SYS, 30, "building subpopulation exchange topology:\n" ); + + param = get_parameter ( "multiple.exchanges" ); + if ( param == NULL ) + { + /* multipop problem, but no exchanges specified. */ + + mpop->exch = NULL; + mpop->exchanges = 0; + return; + } + else + { + mpop->exchanges = atoi ( param ); + if ( mpop->exchanges < 0 ) + error ( E_FATAL_ERROR, "\"exchanges\" must be nonnegative." ); + } + + mpop->exch = (exchange *)MALLOC ( mpop->exchanges * sizeof ( exchange ) ); + + for ( i = 0; i < mpop->exchanges; ++i ) + { + /** read the destination subpop. **/ + + sprintf ( pnamebuf, "exch[%d].to", i+1 ); + param = get_parameter ( pnamebuf ); + if ( param == NULL ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be set.", pnamebuf ); + } + else + { + mpop->exch[i].to = atoi ( param ) - 1; + if ( mpop->exch[i].to < 0 || mpop->exch[i].to >= mpop->size ) + { + ++errors; + error ( E_ERROR, "\"%s\" is out of range.\n", pnamebuf ); + } + } + + /** read how the individuals to be replaced in the destination + subpop are selected. **/ + + sprintf ( pnamebuf, "exch[%d].toselect", i+1 ); + mpop->exch[i].tosc = get_parameter ( pnamebuf ); + if ( mpop->exch[i].tosc == NULL ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be set.", pnamebuf ); + } + else + { + if ( ! exists_select_method ( mpop->exch[i].tosc ) ) + { + ++errors; + error ( E_ERROR, "\"%s\": \"%s\" is not a selection method.", + pnamebuf, mpop->exch[i].tosc ); + } + } + + /** read how many individuals are to be exchanged in this + manner. **/ + + sprintf ( pnamebuf, "exch[%d].count", i+1 ); + param = get_parameter ( pnamebuf ); + if ( param == NULL ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be set.", pnamebuf ); + } + else + { + mpop->exch[i].count = atoi ( param ); + if ( mpop->exch[i].count < 0 ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be nonnegative.", pnamebuf ); + } + } + + /** check to see if "from" is specified without a "tree[#]". **/ + + sprintf ( pnamebuf, "exch[%d].from", i+1 ); + param = get_parameter ( pnamebuf ); + if ( param ) + { + /** if "from" is specified, then we're copying whole individuals + from one subpop to another. **/ + + /* these arrays are not needed. */ + mpop->exch[i].from = NULL; + mpop->exch[i].as = NULL; + /* allocate an array of one string (to hold the selection + method). */ + mpop->exch[i].fromsc = (char **)MALLOC ( sizeof ( char * ) ); + + /* the subpop that individuals are taken from. */ + mpop->exch[i].copywhole = atoi ( param ) - 1; + if ( mpop->exch[i].copywhole < 0 || + mpop->exch[i].copywhole >= mpop->size ) + { + ++errors; + error ( E_ERROR, "\"%s\" is out of range.", pnamebuf ); + } + + /* the selection method used to pick the individuals from the + source subpop. */ + sprintf ( pnamebuf, "exch[%d].fromselect", i+1 ); + mpop->exch[i].fromsc[0] = get_parameter ( pnamebuf ); + if ( mpop->exch[i].fromsc[0] == NULL ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be set.", pnamebuf ); + } + else + { + if ( ! exists_select_method ( mpop->exch[i].fromsc[0] ) ) + { + ++errors; + error ( E_ERROR, "\"%s\": \"%s\" is not a selection method.", + pnamebuf, mpop->exch[i].fromsc[0] ); + } + } + } + else + { + + /** since "from" is not defined, we're taking trees from different + subpops and merging them to create a composite individual to place + in the destination subpop. **/ + + mpop->exch[i].copywhole = -1; + /* this array lists, for each tree, which subpop it comes from. */ + mpop->exch[i].from = (int *)MALLOC ( tree_count * sizeof ( int ) ); + /* this array keeps track of when two trees are supposed to always + come from the same individual (not just the same subpop). */ + mpop->exch[i].as = (int *)MALLOC ( tree_count * sizeof ( int ) ); + /* this array holds the selection method strings used for each + tree. */ + mpop->exch[i].fromsc = (char **)MALLOC ( tree_count * sizeof ( char * ) ); + + /* get the default selection method, if one is specified. */ + sprintf ( pnamebuf, "exch[%d].fromselect", i+1 ); + param3 = get_parameter ( pnamebuf ); + + for ( j = 0; j < tree_count; ++j ) + { + /** for each tree, attempt to read the "from" and + "fromselect" parameters. **/ + + sprintf ( pnamebuf, "exch[%d].from.tree[%d]", i+1, j ); + param = get_parameter ( pnamebuf ); + sprintf ( pnamebuf2, "exch[%d].fromselect.tree[%d]", + i+1, j ); + param2 = get_parameter ( pnamebuf2 ); + + if ( param == NULL && param2 == NULL ) + { + /* neither is set, we're supposed to leave this + tree untouched in the destination individual. */ + + mpop->exch[i].from[j] = -1; + mpop->exch[i].as[j] = -1; + mpop->exch[i].fromsc[j] = NULL; + } + else if ( param2 == NULL ) + { + /* only "from" is set, examine param3 for default + selection method. */ + + /* source subpop. */ + mpop->exch[i].from[j] = atoi ( param ) - 1; + if ( mpop->exch[i].from[j] < 0 || mpop->exch[i].from[j] >= mpop->size ) + { + ++errors; + error ( E_ERROR, "\"%s\" is out of range.", pnamebuf ); + } + + /* no default set, error. */ + if ( param3 == NULL ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be set.", pnamebuf2 ); + } + else + { + mpop->exch[i].as[j] = -1; + if ( ! exists_select_method ( param3 ) ) + { + ++errors; + error ( E_ERROR, "\"%s\": \"%s\" is not a selection method.", + pnamebuf, param3 ); + } + } + mpop->exch[i].fromsc[j] = param3; + } + else if ( param == NULL ) + { + /* only "fromselect" is set; it better be of the form + "as_#". */ + + if ( strncmp ( param2, "as_", 3 ) == 0 ) + { + mpop->exch[i].from[j] = -1; + mpop->exch[i].fromsc[j] = NULL; + /* "as" stores which tree this one comes from the + same subpop as. */ + mpop->exch[i].as[j] = atoi ( param2 + 3 ); + if ( mpop->exch[i].as[j] < 0 || + mpop->exch[i].as[j] >= tree_count ) + { + ++errors; + error ( E_ERROR, "\"%s\" is out of range.", pnamebuf2 ); + } + } + else + { + ++errors; + error ( E_ERROR, "\"%s\" must be \"as_#\".", pnamebuf2 ); + } + } + else + { + /* they're both set. */ + + mpop->exch[i].as[j] = -1; + mpop->exch[i].from[j] = atoi ( param ) - 1; + if ( mpop->exch[i].from[j] < 0 || mpop->exch[i].from[j] >= mpop->size ) + { + ++errors; + error ( E_ERROR, "\"%s\" is out of range.", pnamebuf ); + } + mpop->exch[i].fromsc[j] = param2; + if ( ! exists_select_method ( param2 ) ) + { + ++errors; + error ( E_ERROR, "\"%s\": \"%s\" is not a selection method.", + pnamebuf2, param2 ); + } + } + } + + /* now we need to resolve any chains of "as_" references: if + tree 2 comes from the same individual as tree 1, and tree 1 + comes from the same individual as tree 0, we need to change that + to say that both 2 and 1 come from tree 0. + + also detect circular references. */ + + for ( j = 0; j < tree_count; ++j ) + { + if ( mpop->exch[i].as[j] == -1 ) + continue; + k = mpop->exch[i].as[j]; + while ( k != -1 ) + { + if ( k == j ) + { + ++errors; + error ( E_ERROR, "Circular reference resolving \"exch[%d].fromselect.tree[%d]\".", + i+1, j ); + j = tree_count; + break; + } + mpop->exch[i].as[j] = k; + k = mpop->exch[i].as[k]; + } + k = mpop->exch[i].as[j]; + if ( mpop->exch[i].from[k] == -1 && mpop->exch[i].as[k] == -1 ) + mpop->exch[i].as[j] = -1; + } + } + + +#ifdef DEBUG + /* print out information on this exchange. */ + printf ( "exchange %d:\n", i+1 ); + printf ( "to: %d; count: %d; select: %s\n", mpop->exch[i].to, + mpop->exch[i].count, mpop->exch[i].tosc ); + if ( mpop->exch[i].copywhole == -1 ) + { + for ( j = 0; j < tree_count; ++j ) + { + param = mpop->exch[i].fromsc[j]; + printf ( " %3d: from: %3d as: %3d select: %s\n", + j, mpop->exch[i].from[j], mpop->exch[i].as[j], + param==NULL?"NULL":param ); + } + } + else + { + param = mpop->exch[i].fromsc[0]; + printf ( "copywhole: %d select: %s\n", + mpop->exch[i].copywhole, param==NULL?"NULL":param ); + } +#endif + } + + /* if any errors occurred then stop now. */ + if ( errors ) + error ( E_FATAL_ERROR, "Errors occurred while building topology. Aborting." ); + + /* print out the summary of exchanges. */ + oprintf ( OUT_SYS, 30, " %d exchange(s) total.\n", mpop->exchanges ); + for ( i = 0; i < mpop->exchanges; ++i ) + { + oprintf ( OUT_SYS, 30, " exchange %d:\n", i+1 ); + oprintf ( OUT_SYS, 30, " replace %d individual(s) in subpop %d (selected by %s)\n", + mpop->exch[i].count, mpop->exch[i].to+1, mpop->exch[i].tosc ); + if ( mpop->exch[i].copywhole != -1 ) + oprintf ( OUT_SYS, 30, " with individual(s) from subpop %d (selected by %s)\n", + mpop->exch[i].copywhole+1, mpop->exch[i].fromsc[0] ); + else + for ( j = 0; j < tree_count; ++j ) + { + if ( mpop->exch[i].from[j] == -1 ) + { + if ( mpop->exch[i].as[j] == -1 ) + oprintf ( OUT_SYS, 30, " tree %d: leaving original tree\n", j ); + else + oprintf ( OUT_SYS, 30, " tree %d: from same individual as tree %d\n", j, mpop->exch[i].as[j] ); + } + else + oprintf ( OUT_SYS, 30, " tree %d: from subpop %d (selected by %s)\n", j, + mpop->exch[i].from[j]+1, mpop->exch[i].fromsc[j] ); + } + } + +} + +/* free_topology() + * + * this frees the topology table. + */ + +void free_topology ( multipop *mpop ) +{ + int i; + for ( i = 0; i < mpop->exchanges; ++i ) + { + if ( mpop->exch[i].from ) + FREE ( mpop->exch[i].from ); + if ( mpop->exch[i].as ) + FREE ( mpop->exch[i].as ); + FREE ( mpop->exch[i].fromsc ); + } + if ( mpop->exch ) + FREE ( mpop->exch ); +} + +/* exchange_subpopulations() + * + * this performs the actual exchanges, using the information stored + * in the exchange table. + */ + +void exchange_subpopulations ( multipop *mpop ) +{ + int i, j, k; + sel_context *tocon; + sel_context **fromcon; + select_context_func_ptr select_con; + int tp, *fp; + int ti, *fi; + + /** arrays used for composite individuals. **/ + + /* fromcon[j] holds the selection context used to pick individual + to take tree j from. */ + fromcon = (sel_context **)MALLOC ( tree_count * sizeof ( sel_context * ) ); + /* fp[j] holds the population from which to take tree j from. */ + fp = (int *)MALLOC ( tree_count * sizeof ( int ) ); + /* fi[j] holds the individual from which to take tree j from. */ + fi = (int *)MALLOC ( tree_count * sizeof ( int ) ); + + for ( i = 0; i < mpop->exchanges; ++i ) + { +#ifdef DEBUG + printf ( "working on exch[%d]\n", i+1 ); +#endif + + /* where individuals are going. */ + tp = mpop->exch[i].to; + + /* set up selection method to pick individuals to be replaced. */ + select_con = get_select_context ( mpop->exch[i].tosc ); + tocon = select_con ( SELECT_INIT, NULL, mpop->pop[tp], + mpop->exch[i].tosc ); + + /* are we copying whole individuals or creating composites? */ + if ( mpop->exch[i].copywhole > -1 ) + { + /*** copying whole individuals. ***/ + + /* the source subpop. */ + fp[0] = mpop->exch[i].copywhole; + + /* selection method for choosing individuals from source + subpop. */ + select_con = get_select_context ( mpop->exch[i].fromsc[0] ); + fromcon[0] = select_con ( SELECT_INIT, NULL, mpop->pop[fp[0]], + mpop->exch[i].fromsc[0] ); + + for ( k = 0; k < mpop->exch[i].count; ++k ) + { + /** pick an individual to be replaced that has not already + been replaced during this exchange cycle. **/ + do + { + ti = tocon->select_method ( tocon ); + } + while ( mpop->pop[tp]->ind[ti].flags & FLAG_NEWEXCH ); + + /* pick an individual from the source subpop. */ + fi[0] = fromcon[0]->select_method ( fromcon[0] ); + +#ifdef DEBUG + printf ( "COPYING WHOLE INDIVIDUAL: ind %d subpop %d --> ind %d subpop %d\n", + fi[0], fp[0], ti, tp ); +#endif + + /** remove the old iondividual from the population. **/ + for ( j = 0; j < tree_count; ++j ) + { + /* always dereference ERCs when removing trees + from the population. */ + reference_ephem_constants ( mpop->pop[tp]->ind[ti].tr[j].data, -1 ); + free_tree ( mpop->pop[tp]->ind[ti].tr+j ); + } + + /* copy the individual. */ + duplicate_individual ( mpop->pop[tp]->ind+ti, + mpop->pop[fp[0]]->ind+fi[0] ); + + /* reference the ERCs in the new individual. */ + for ( j = 0; j < tree_count; ++j ) + reference_ephem_constants ( mpop->pop[tp]->ind[ti].tr[j].data, 1 ); + + /* mark the individual as just coming from an exchange. */ + mpop->pop[tp]->ind[ti].flags = FLAG_NEWEXCH; + } + + /* all done with this exchange, delete the selection context. */ + fromcon[0]->context_method ( SELECT_CLEAN, fromcon[0], + NULL, NULL ); + } + else + { + /*** creating composite individuals. ***/ + + /** create selection contexts for each tree. **/ + for ( j = 0; j < tree_count; ++j ) + { + /* does this tree need a context? */ + if ( mpop->exch[i].fromsc[j] ) + { +#ifdef DEBUG + printf ( "getting selection context for tree %d (%s)\n", + j, mpop->exch[i].fromsc[j] ); +#endif + /* create it. */ + select_con = get_select_context ( mpop->exch[i].fromsc[j] ); + fromcon[j] = select_con ( SELECT_INIT, NULL, + mpop->pop[mpop->exch[i].from[j]], + mpop->exch[i].fromsc[j] ); + } + else + /* don't need one. */ + fromcon[j] = NULL; + } + + for ( k = 0; k < mpop->exch[i].count; ++k ) + { + /** select an individual to be replaced that hasn't already + been during this exchange cycle. **/ + do + { + ti = tocon->select_method ( tocon ); + } + while ( mpop->pop[tp]->ind[ti].flags & FLAG_NEWEXCH ); + +#ifdef DEBUG + printf ( "SELECTED TREE %d FOR REPLACEMENT.\n", ti ); + print_individual ( mpop->pop[tp]->ind+ti, stdout ); +#endif + /** now select the individuals that we will merge to + replace trees of the destination individual. **/ + for ( j = 0; j < tree_count; ++j ) + { + /* we don't need to do a selection for a particular + tree if (1) it uses the same individual as another + tree or (2) it doesn't get replaced in the destination + individual. */ + + fp[j] = mpop->exch[i].from[j]; + if ( fp[j] != -1 ) + { + fi[j] = fromcon[fp[j]]->select_method ( fromcon[fp[j]] ); +#ifdef DEBUG + printf ( "selecting using (%s) from subpop %d (for tree %d): individual %d\n", + mpop->exch[i].fromsc[j], fp[j], j, fi[j] ); + print_individual ( mpop->pop[fp[j]]->ind+fi[j], stdout ); +#endif + } + } + + /** now resolve "as_" references in the fp and fi arrays. */ + for ( j = 0; j < tree_count; ++j ) + if ( fp[j] == -1 ) + { + if ( mpop->exch[i].as[j] == -1 ) + /* tree j doesn't get replaced, so set both + values to -1. */ + fp[j] = fi[j] = -1; + else + { + /* tree j comes from the same individual as + some other tree. */ + fp[j] = fp[mpop->exch[i].as[j]]; + fi[j] = fi[mpop->exch[i].as[j]]; + } + } + +#ifdef DEBUG + printf ( "the fp,fi arrays are:\n" ); + for ( j = 0; j < tree_count; ++j ) + printf ( " %3d: fp = %3d fi = %4d\n", j, fp[j], fi[j] ); +#endif + + /** replace the appropriate parts of the old tree. **/ + for ( j = 0; j < tree_count; ++j ) + { + /* skip trees that don't get replaced. */ + if ( fp[j] == -1 ) + continue; + + /* dereference ERCs in old tree. */ + reference_ephem_constants ( mpop->pop[tp]->ind[ti].tr[j].data, -1 ); + /* delete old tree. */ + free_tree ( mpop->pop[tp]->ind[ti].tr+j ); + /* copy new tree. */ + copy_tree ( mpop->pop[tp]->ind[ti].tr+j, mpop->pop[fp[j]]->ind[fi[j]].tr+j ); + /* reference ERCs in new tree. */ + reference_ephem_constants ( mpop->pop[tp]->ind[ti].tr[j].data, 1 ); + } +#ifdef COEVOLUTION + error ( E_FATAL_ERROR, "Can't do COEVOLUTION and multi-pop experiments\n together at this time, sorry.\n"); +#else + /* evaluate the fitness of the new composite individual. */ + app_eval_fitness ( mpop->pop[tp]->ind+ti ); +#endif + mpop->pop[tp]->ind[ti].flags = FLAG_NEWEXCH; + +#ifdef DEBUG + printf ( "the new individual is:\n" ); + print_individual ( mpop->pop[tp]->ind+ti, stdout ); +#endif + } + + /* destroy source selection contexts. */ + for ( j = 0; j < tree_count; ++j ) + if ( fromcon[j] ) + fromcon[j]->context_method ( SELECT_CLEAN, + fromcon[j], NULL, NULL ); + } + + /* destroy destination selection context. */ + tocon->context_method ( SELECT_CLEAN, tocon, NULL, NULL ); + } + + FREE ( fromcon ); + FREE ( fp ); + FREE ( fi ); + + /* erase all the NEWEXCH flags. */ + for ( i = 0; i < mpop->size; ++i ) + for ( j = 0; j < mpop->pop[i]->size; ++j ) + mpop->pop[i]->ind[j].flags &= ~FLAG_NEWEXCH; + +} + +/* rebuild_exchange_topology() + * + * rebuilds the exchange table. called from user code after making changes + * to the parameters governing exchanges. + */ + +void rebuild_exchange_topology ( multipop *mpop ) +{ + free_topology ( mpop ); + initialize_topology ( mpop ); +} diff --git a/lib/lilgp/kernel_c/fitness.c b/lib/lilgp/kernel_c/fitness.c new file mode 100644 index 0000000..a4ee7ec --- /dev/null +++ b/lib/lilgp/kernel_c/fitness.c @@ -0,0 +1,275 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* select_afit_context() + * + * creates context for the fitness selection method. + */ + +sel_context *select_afit_context ( int op, sel_context *sc, population *p, + char *string ) +{ + interval_data *id; + int i, j = 0; + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_interval; + sc->context_method = select_afit_context; + + /* the interval_data structure (used with select_interval()) is + essentially a list of interval widths and indices for each + individual. */ + + id = (interval_data *)MALLOC ( sizeof ( interval_data ) ); + + id->ri = (reverse_index *)MALLOC ( (p->size+1) * + sizeof ( reverse_index ) ); + id->total = 0.0; + id->count = p->size; + id->ri[j].fitness = 0.0; + id->ri[j].index = -1; + ++j; + + for ( i = 0; i < p->size; ++i ) + { + /* interval width is the adjusted fitness. */ + id->total += p->ind[i].a_fitness; + id->ri[j].fitness = id->total; + id->ri[j].index = i; + ++j; + } + + sc->data = (void *)id; + return sc; + break; + + case SELECT_CLEAN: + id = (interval_data *)(sc->data); + FREE ( id->ri ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_inverse_afit_context() + * + * creates context for inverse_fitness selection method. + */ + +sel_context *select_inverse_afit_context ( int op, sel_context *sc, + population *p, char *string ) +{ + interval_data *id; + int i, j = 0; + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_interval; + sc->context_method = select_inverse_afit_context; + + /** use select_interval() to do the selection. **/ + + id = (interval_data *)MALLOC ( sizeof ( interval_data ) ); + + id->ri = (reverse_index *)MALLOC ( (p->size+1) * + sizeof ( reverse_index ) ); + id->total = 0.0; + id->count = p->size; + id->ri[j].fitness = 0.0; + id->ri[j].index = -1; + ++j; + + for ( i = 0; i < p->size; ++i ) + { + /* interval width is inverse of adjusted fitness. */ + id->total += 1.0/p->ind[i].a_fitness; + id->ri[j].fitness = id->total; + id->ri[j].index = i; + ++j; + } + + sc->data = (void *)id; + return sc; + break; + + case SELECT_CLEAN: + id = (interval_data *)(sc->data); + FREE ( id->ri ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_afit_overselect_context() + * + * creates context for fitness_overselect selection method. + */ + +sel_context *select_afit_overselect_context ( int op, sel_context *sc, + population *p, char *string ) +{ + interval_data *id; + int i, j; + double total; + double group1_cutoff = 0.32; + int cutoffset; + double group1_selection = 0.8; + double cutoff; + double temp; + char **argv; + + switch ( op ) + { + case SELECT_INIT: + + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_interval; + sc->context_method = select_afit_overselect_context; + + /** parse the options string. **/ + + j = parse_o_rama ( string, &argv ); + + cutoffset = 0; + for ( i = 1; i < j; ++i ) + { + if ( strcmp ( argv[i], "cutoff" ) == 0 ) + { + group1_cutoff = strtod ( argv[++i], NULL ); + cutoffset = 1; + } + else if ( strcmp ( argv[i], "proportion" ) == 0 ) + group1_selection = strtod ( argv[++i], NULL ); + else + error ( E_FATAL_ERROR, "unknown fitness_overselect option \"%s\".", + argv[i] ); + } + + /* if the cutoff was not set manually, then set it based on + the population size. */ + if ( !cutoffset ) + { + group1_cutoff = 320.0/p->size; + if ( group1_cutoff < 0.0 || group1_cutoff > 1.0 ) + group1_cutoff = 0.32; + } + + free_o_rama ( j, &argv ); + + if ( group1_cutoff < 0.0 || group1_cutoff > 1.0 ) + error ( E_FATAL_ERROR, "Overselected fitness cutoff out of range. (%s)", string ); + + if ( group1_selection < 0.0 || group1_selection > 1.0 ) + error ( E_FATAL_ERROR, "Overselected fitness proportion out of range. (%s)", string ); + + id = (interval_data *)MALLOC ( sizeof ( interval_data ) ); + + id->ri = (reverse_index *)MALLOC ( (p->size+1) * + sizeof ( reverse_index ) ); + id->total = 0.0; + id->count = p->size; + + id->ri[0].fitness = 0.0; + id->ri[0].index = -1; + j = 1; + + /* store the fitness values in the reverse_index */ + total = 0.0; + for ( i = 0; i < p->size; ++i ) + { + total += p->ind[i].a_fitness; + id->ri[j].fitness = p->ind[i].a_fitness; + id->ri[j].index = i; + ++j; + } + + /* (sort lowest first) */ + qsort ( (id->ri)+1, p->size, sizeof ( reverse_index ), + rev_ind_compare ); + + /* find the top individuals accounting for (cutoff) of the fitness, + and multiply their interval width by the selection. multiply + all the others by (1-selection). */ + cutoff = total * (1.0-group1_cutoff); + total = 0.0; + for ( i = 1; i < p->size+1; ++i ) + { + if ( total >= cutoff ) + temp = id->ri[i].fitness * group1_selection; + else + temp = id->ri[i].fitness * (1.0-group1_selection); + total += id->ri[i].fitness; + id->ri[i].fitness = temp; + } + + /* now convert to cumulative. */ + total = 0.0; + for ( i = 1; i < p->size+1; ++i ) + { + total += id->ri[i].fitness; + id->ri[i].fitness = total; + } + + id->total = total; + + sc->data = (void *)id; + return sc; + break; + + case SELECT_CLEAN: + id = (interval_data *)(sc->data); + FREE ( id->ri ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + diff --git a/lib/lilgp/kernel_c/fsetupdate.c b/lib/lilgp/kernel_c/fsetupdate.c new file mode 100644 index 0000000..ac44658 --- /dev/null +++ b/lib/lilgp/kernel_c/fsetupdate.c @@ -0,0 +1,72 @@ +/* +fset_update + + Takes a function_set (from app_build_function_sets) and + removes all functions that are not specified thusly: + + app.use_FunctionRepString=1 + + in the input file. + + NOTE: if no specification exists then enabled is assumed + + so + + {and, NULL, NULL, 2, "AND", FUNC_EXPR, -1, 0, BOOL, {BOOL,BOOL}} + + would be disabled by adding + + app.use_AND=0 + + to the input file. + + This is very handy when working through to see if a + function or terminal is useful. + + NOTE: function representitive strings should be unique, both + because of the matching done here and because lilgp assumes + they are unique in various places. + + Written by: Adam Hewgill (C) 2002 +*/ +#include +#include + + +void fset_update (function_set *app_fset) +{ + char name[80], *param; + int i, j; + int numrem = 0; + function *fset = app_fset->cset; + int size = app_fset->size; + + for (i = 0; i < size - numrem; ++i) + { + /* Setup name string */ + sprintf(name, "app.use_%s", fset[i].string); + + /* Get value of parameter in input file */ + param = get_parameter(name); + + /* If not specified assume enabled */ + if (param == NULL) + continue; + + /* Remove if value of param is <= 0 */ + if (atoi(param) <= 0) + { + /* Output function removed */ + oprintf ( OUT_SYS, 30, " %s", fset[i].string); + /* Roll rest up */ + for (j = i + 1; j < size - numrem; ++j) + fset[j - 1] = fset[j]; + ++numrem; + --i; + } + } + /* Update the set size */ + app_fset->size = size - numrem; + /* Print final message */ + oprintf ( OUT_SYS, 30, " removed.\n"); +} diff --git a/lib/lilgp/kernel_c/genspace.c b/lib/lilgp/kernel_c/genspace.c new file mode 100644 index 0000000..2da6753 --- /dev/null +++ b/lib/lilgp/kernel_c/genspace.c @@ -0,0 +1,182 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* initialize_genspace() + * + * allocates each genspace with GENSPACE_START lnodes. + */ + +void initialize_genspace ( void ) +{ + int i; + + oputs ( OUT_SYS, 30, " generation spaces.\n" ); + + for ( i = 0; i < GENSPACE_COUNT; ++i ) + { + gensp[i].size = GENSPACE_START; + gensp[i].data = (lnode *)MALLOC ( gensp[i].size * sizeof ( lnode ) ); + memset ( gensp[i].data, 0, gensp[i].size * sizeof ( lnode ) ); + gensp[i].used = 0; +#ifdef DEBUG + printf ( "genspace %d initialized with %d nodes.\n", + i, gensp[i].size ); +#endif + } +} + +/* free_genspace() + * + * frees all the genspaces. + */ + +void free_genspace ( void ) +{ + int i; + for ( i = 0; i < GENSPACE_COUNT; ++i ) + { + FREE ( gensp[i].data ); + gensp[i].data = NULL; + } +} + +/* gensp_next() + * + * returns the address of the next free lnode in the given generation + * space. enlarges the generation space by GENSPACE_GROW lnodes if + * there is no free space. + */ + +lnode * gensp_next ( int space ) +{ + while ( gensp[space].used >= gensp[space].size ) + { + int oldsize = gensp[space].size; + gensp[space].size += GENSPACE_GROW; + gensp[space].data = (lnode *)REALLOC ( gensp[space].data, + gensp[space].size * + sizeof ( lnode ) ); + memset ( gensp[space].data+oldsize, 0, + (gensp[space].size-oldsize) * sizeof ( lnode ) ); +#ifdef DEBUG + printf ( "next: genspace %d grown to %d nodes.\n", + space, gensp[space].size ); +#endif + } + + return gensp[space].data+(gensp[space].used++); +} + +/* gensp_next_int() + * + * like gensp_next(), but returns the position (not the address) of the + * next free lnode. + */ + +int gensp_next_int ( int space ) +{ + while ( gensp[space].used >= gensp[space].size ) + { + int oldsize = gensp[space].size; + gensp[space].size += GENSPACE_GROW; + gensp[space].data = (lnode *)REALLOC ( gensp[space].data, + gensp[space].size * + sizeof ( lnode ) ); + memset ( gensp[space].data+oldsize, 0, + (gensp[space].size-oldsize) * sizeof ( lnode ) ); +#ifdef DEBUG + printf ( "next_int: genspace %d grown to %d nodes from %d.\n", + space, gensp[space].size, oldsize ); +#endif + } + + return gensp[space].used++; +} + +/* gensp_dup_tree() + * + * copies a completed tree out of a generation space into the tree + * pointer passed. + */ + +void gensp_dup_tree ( int space, tree *t ) +{ + t->size = gensp[space].used; + t->nodes = tree_nodes ( gensp[space].data ); + t->data = (lnode *)MALLOC ( t->size * sizeof ( lnode ) ); + memcpy ( t->data, gensp[space].data, t->size * sizeof ( lnode ) ); +} + +/* gensp_reset() + * + * marks a genspace as being empty. + */ + +void gensp_reset ( int space ) +{ + gensp[space].used = 0; + memset ( gensp[space].data, 0, gensp[space].size * sizeof ( lnode ) ); +} + +/* gensp_print() + * + * prints out a section of the genspace from [i..j) + */ + +void gensp_print ( int space, int i, int j, FILE *out ) +{ + int u; + function *f; + + /* remove problems when used wants to print last x nodes */ + if ( i < 0 ) + i = 0; + + for ( u = i; u < j; ++u ) + { + /* print value of skip node */ + if ( gensp[space].data[u].s < 1000 ) + fprintf(out, "<%d: %d> ", u, gensp[space].data[u].s); + else if ( gensp[space].data[u].f->arity == 0 ) + { + /* print out a terminal */ + f = gensp[space].data[u].f; + if ( f->ephem_gen ) + { + fprintf(out, "[%d: %s] [%d: ERC] ", u, (f->ephem_str)(gensp[space].data[u+1].d->d), u+1); + ++u; + } + else + fprintf(out, "[%d: %s] ", u, f->string); + } + else + fprintf(out, "(%d: %s) ", u, gensp[space].data[u].f->string); + } + fprintf(out, "\n"); +} diff --git a/lib/lilgp/kernel_c/gp.c b/lib/lilgp/kernel_c/gp.c new file mode 100644 index 0000000..4b01799 --- /dev/null +++ b/lib/lilgp/kernel_c/gp.c @@ -0,0 +1,1371 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +popstats* run_stats; +saved_ind* saved_head, * saved_tail; + +#if !defined(POSIX_MT) && !defined(SOLARIS_MT) + +globaldata global_g; + +#else + +int numthreads = 0; + +struct thread_param_t +{ + population* pop; + int startidx; + int endidx; + globaldata g; +}; + +#ifdef POSIX_MT + +#include + +static pthread_key_t g_key; +static pthread_attr_t pthread_attr; +#endif + +#ifdef SOLARIS_MT +#include +static thread_key_t g_key; +#endif + +#endif /* !defined(POSIX_MT) && !defined(SOLARIS_MT) */ + +/* run_gp() + * + * the whole enchilada. runs, from generation startgen, using population + * mpop. accumulates time spent evaluating and breeding in t_eval and t_breed. + */ + +void run_gp(multipop* mpop, int startgen, + event* t_eval, event* t_breed, int startfromcheckpoint) +{ + + char* param; + int gen; + int maxgen; + int exch_gen; + int i, j; + int checkinterval; + char* checkfileformat; + char* checkfilename = NULL; + event start, end, diff; + int term = 0; + int stt_interval; + int bestn; + + if (!startfromcheckpoint) + { + + /* get the number of top individuals to track. */ + bestn = atoi(get_parameter("output.bestn")); + if (bestn < 1) + { + error(E_WARNING, "\"output.bestn\" must be at least 1. defaulting to 1."); + bestn = 1; + } + + /* allocate statistics for overall run. */ + run_stats = (popstats*) MALLOC((mpop->size + 1) * sizeof(popstats)); + for (i = 0; i < mpop->size + 1; ++i) + { + run_stats[i].bestn = bestn; + run_stats[i].size = -1; + } + + /* initialize the linked list of saved individuals. */ + saved_head = (saved_ind*) MALLOC(sizeof(saved_ind)); + saved_head->ind = NULL; + saved_head->refcount = 0; + saved_head->next = NULL; + saved_tail = saved_head; + } + + /* get the maximum number of generations. */ + param = get_parameter("max_generations"); + if (param == NULL) + error(E_FATAL_ERROR, + "no value specified for \"max_generations\"."); + maxgen = atoi(param); + if (maxgen <= 0) + error(E_FATAL_ERROR, + "\"max_generations\" must be greater than zero."); + + /* get the interval for subpopulation exchanges, if there is more than + one subpopulation. */ + if (mpop->size > 1) + { + param = get_parameter("multiple.exch_gen"); + if (param == NULL) + error(E_FATAL_ERROR, + "no value specified for \"multiple.exch_gen\"."); + exch_gen = atoi(param); + if (exch_gen <= 0) + error(E_FATAL_ERROR, + "\"multiple.exch_gen\" must be greater than zero."); + } + + /* get the interval for doing checkpointing. */ + param = get_parameter("checkpoint.interval"); + if (param == NULL) + /* checkpointing disabled. */ + checkinterval = -1; + else + checkinterval = atoi(param); + + /* get the format string for the checkpoint filenames. */ + checkfileformat = get_parameter("checkpoint.filename"); + checkfilename = (char*) MALLOC(strlen(checkfileformat) + 50); + + /* get the interval for writing information to the .stt file. */ + stt_interval = atoi(get_parameter("output.stt_interval")); + if (stt_interval < 1) + error(E_FATAL_ERROR, + "\"output.stt_interval\" must be greater than zero."); + + oputs(OUT_SYS, 10, "\n\nstarting evolution.\n"); + + /* print out how often we'll be doing checkpointing. */ + if (checkinterval > 0) + oprintf(OUT_SYS, 20, + "checkpointing will be done every %d generations and "\ + "after the last generation.\n", checkinterval); + else if (checkinterval == 0) + oprintf(OUT_SYS, 20, + "checkpointing will be done only after the last "\ + "generation.\n"); + else + oprintf(OUT_SYS, 20, + "no checkpointing will be done.\n"); + + /* the big loop. */ + for (gen = startgen; gen <= maxgen && !term; ++gen) + { + oprintf(OUT_SYS, 20, + "=== generation %d.\n", gen); + + /* unless this is the first generation after loading a checkpoint + file... */ + if (!(startfromcheckpoint && gen == startgen)) + { + + /* evaluate the population. */ + event_mark(&start); + for (i = 0; i < mpop->size; ++i) + evaluate_pop(mpop->pop[i]); + event_mark(&end); + event_diff(&diff, &start, &end); + +#ifdef TIMING_AVAILABLE + oprintf(OUT_SYS, 40, " evaluation complete. (%s)\n", + event_string(&diff)); +#else + oprintf ( OUT_SYS, 40, " evaluation complete.\n" ); +#endif + + event_accum(t_eval, &diff); + + /* calculate and print statistics. returns 1 if user termination + criterion was met, 0 otherwise. */ + term = generation_information(gen, mpop, stt_interval, + run_stats[0].bestn); + if (term) + oprintf(OUT_SYS, 30, "user termination criterion met.\n"); + + flush_output_streams(); + + } + + /** write a checkpoint file if checkinterval is non-negative and: + we've reached the last generation, or + the user termination criterion has been met, or + we've reached the specified checkpoint interval. **/ + if (checkinterval >= 0 && + (gen == maxgen || term || + (checkinterval > 0 && gen > startgen && (gen % checkinterval) == 0))) + { + sprintf(checkfilename, checkfileformat, gen); + write_checkpoint(gen, mpop, checkfilename); + } + + /** if this is not the last generation and the user criterion hasn't + been met, then do breeding. **/ + if (gen != maxgen && !term) + { + + /** exchange subpops if it's time. **/ + if (mpop->size > 1 && gen && (gen % exch_gen) == 0) + { + exchange_subpopulations(mpop); + oprintf(OUT_SYS, 10, + " subpopulation exchange complete.\n"); + } + + /* breed the new population. */ + event_mark(&start); + for (i = 0; i < mpop->size; ++i) + mpop->pop[i] = change_population(mpop->pop[i], mpop->bpt[i]); + event_mark(&end); + event_diff(&diff, &start, &end); + + /* call the application end-of-breeding callback. */ + app_end_of_breeding(gen, mpop); + +#ifdef TIMING_AVAILABLE + oprintf(OUT_SYS, 30, " breeding complete. (%s)\n", + event_string(&diff)); +#else + oprintf ( OUT_SYS, 30, " breeding complete.\n" ); +#endif + + event_accum(t_breed, &diff); + + } + + /* free unused ERCs. */ + ephem_const_gc(); + + flush_output_streams(); + + } + + /** free up a lot of stuff before returning. */ + + if (checkfilename) + FREE(checkfilename); + + ephem_const_gc(); + + for (i = 0; i < mpop->size + 1; ++i) + { + for (j = 0; j < run_stats[i].bestn; ++j) + --run_stats[i].best[j]->refcount; + FREE(run_stats[i].best); + } + FREE(run_stats); + + saved_individual_gc(); + FREE(saved_head); +} + +/* generation_information() + * + * calculates and prints population statistics. + */ + +int generation_information(int gen, multipop* mpop, int stt_interval, + int bestn) +{ + int i, j; + int newbest; + static int fd = -1; + popstats* gen_stats; + int ret = 0; + FILE* bout, * hout; + + /* number of decimal digits to use when printing fitness values. */ + if (fd == -1) + fd = atoi(get_parameter("output.digits")); + + /* allocate stats records for the current generation. */ + gen_stats = (popstats*) MALLOC((mpop->size + 1) * sizeof(popstats)); + for (i = 0; i < mpop->size + 1; ++i) + { + gen_stats[i].bestn = bestn; + gen_stats[i].size = -1; + } + + oprintf(OUT_GEN, 90, "=== GENERATION %d ===\n", gen); + oprintf(OUT_PRG, 90, "=== GENERATION %d ===\n", gen); + + /* for each subpopulation... */ + for (i = 0; i < mpop->size; ++i) + { + /* calculate stats for subpopulation. */ + calculate_pop_stats(gen_stats + i + 1, mpop->pop[i], gen, i); + /* accumulate that into stats for whole popluation... */ + accumulate_pop_stats(gen_stats, gen_stats + i + 1); + /* ...and stats for this subpopulation over the whole run. */ + accumulate_pop_stats(run_stats + i + 1, gen_stats + i + 1); + + /* if only one subpop, don't print out the subpop stuff. */ + if (mpop->size == 1) + continue; + + /** print much stuff to .gen, .prg, and .stt files. */ + + if (test_detail_level(90)) + { + oprintf(OUT_GEN, 90, " subpopulation %d:\n", i + 1); + oprintf(OUT_GEN, 90, " generation:\n"); + oprintf(OUT_GEN, 90, " mean: nodes: %.3lf (%d-%d); depth: %.3lf (%d-%d)\n", + (double) gen_stats[i + 1].totalnodes / gen_stats[i + 1].size, + gen_stats[i + 1].minnodes, gen_stats[i + 1].maxnodes, + (double) gen_stats[i + 1].totaldepth / gen_stats[i + 1].size, + gen_stats[i + 1].mindepth, gen_stats[i + 1].maxdepth); + oprintf(OUT_GEN, 90, " best: nodes: %d; depth: %d\n", + gen_stats[i + 1].bestnodes, gen_stats[i + 1].bestdepth); + oprintf(OUT_GEN, 90, " worst: nodes: %d; depth: %d\n", + gen_stats[i + 1].worstnodes, gen_stats[i + 1].worstdepth); + oprintf(OUT_GEN, 90, " run: (%d trees)\n", + run_stats[i + 1].size); + oprintf(OUT_GEN, 90, " mean: nodes: %.3lf (%d-%d); depth: %.3lf (%d-%d)\n", + (double) run_stats[i + 1].totalnodes / run_stats[i + 1].size, + run_stats[i + 1].minnodes, run_stats[i + 1].maxnodes, + (double) run_stats[i + 1].totaldepth / run_stats[i + 1].size, + run_stats[i + 1].mindepth, run_stats[i + 1].maxdepth); + oprintf(OUT_GEN, 90, " best: nodes: %d; depth: %d\n", + run_stats[i + 1].bestnodes, run_stats[i + 1].bestdepth); + oprintf(OUT_GEN, 90, " worst: nodes: %d; depth: %d\n", + run_stats[i + 1].worstnodes, run_stats[i + 1].worstdepth); + } + + if (test_detail_level(90)) + { + oprintf(OUT_PRG, 90, " subpopulation %d:\n", i + 1); + oprintf(OUT_PRG, 90, " generation stats:\n"); + oprintf(OUT_PRG, 90, " mean: hits: %.3lf (%d-%d); standardized fitness: %.*lf\n", + (double) gen_stats[i + 1].totalhits / gen_stats[i + 1].size, + gen_stats[i + 1].minhits, gen_stats[i + 1].maxhits, + fd, (double) gen_stats[i + 1].totalfit / gen_stats[i + 1].size); + oprintf(OUT_PRG, 90, " best: hits: %d; standardized fitness: %.*lf\n", + gen_stats[i + 1].besthits, fd, + (double) gen_stats[i + 1].bestfit); + oprintf(OUT_PRG, 90, " worst: hits: %d; standardized fitness: %.*lf\n", + gen_stats[i + 1].worsthits, fd, + (double) gen_stats[i + 1].worstfit); + oprintf(OUT_PRG, 90, " run stats: (%d trees)\n", + run_stats[i + 1].size); + oprintf(OUT_PRG, 90, " mean: hits: %.3lf (%d-%d); standardized fitness: %.*lf\n", + (double) run_stats[i + 1].totalhits / run_stats[i + 1].size, + run_stats[i + 1].minhits, run_stats[i + 1].maxhits, + fd, (double) run_stats[i + 1].totalfit / run_stats[i + 1].size); + oprintf(OUT_PRG, 90, " best: hits: %d; standardized fitness: %.*lf; generation: %d\n", + run_stats[i + 1].besthits, fd, (double) run_stats[i + 1].bestfit, + run_stats[i + 1].bestgen); + oprintf(OUT_PRG, 90, " worst: hits: %d; standardized fitness: %.*lf; generation: %d\n", + run_stats[i + 1].worsthits, fd, + (double) run_stats[i + 1].worstfit, run_stats[i + 1].worstgen); + } + + if (gen % stt_interval == 0) + { + oprintf(OUT_STT, 50, "%d %d ", gen, i + 1); + oprintf(OUT_STT, 50, "%.*lf %.*lf %.*lf ", + fd, gen_stats[i + 1].totalfit / gen_stats[i + 1].size, + fd, gen_stats[i + 1].bestfit, + fd, gen_stats[i + 1].worstfit); + oprintf(OUT_STT, 50, "%.3lf %.3lf %d %d %d %d ", + (double) gen_stats[i + 1].totalnodes / gen_stats[i + 1].size, + (double) gen_stats[i + 1].totaldepth / gen_stats[i + 1].size, + gen_stats[i + 1].bestnodes, gen_stats[i + 1].bestdepth, + gen_stats[i + 1].worstnodes, gen_stats[i + 1].worstdepth); + oprintf(OUT_STT, 50, "%.*lf %.*lf %.*lf ", + fd, run_stats[i + 1].totalfit / run_stats[i + 1].size, + fd, run_stats[i + 1].bestfit, + fd, run_stats[i + 1].worstfit); + oprintf(OUT_STT, 50, "%.3lf %.3lf %d %d %d %d ", + (double) run_stats[i + 1].totalnodes / run_stats[i + 1].size, + (double) run_stats[i + 1].totaldepth / run_stats[i + 1].size, + run_stats[i + 1].bestnodes, run_stats[i + 1].bestdepth, + run_stats[i + 1].worstnodes, run_stats[i + 1].worstdepth); + oprintf(OUT_STT, 50, "\n"); + } + + } + + /* merge stats for current generation into overall run stats. */ + newbest = accumulate_pop_stats(run_stats, gen_stats); + + /** more printing. **/ + + if (test_detail_level(90)) + { + oprintf(OUT_GEN, 90, " total population:\n"); + oprintf(OUT_GEN, 90, " generation:\n"); + oprintf(OUT_GEN, 90, " mean: nodes: %.3lf (%d-%d); depth: %.3lf (%d-%d)\n", + (double) gen_stats[0].totalnodes / gen_stats[0].size, + gen_stats[0].minnodes, gen_stats[0].maxnodes, + (double) gen_stats[0].totaldepth / gen_stats[0].size, + gen_stats[0].mindepth, gen_stats[0].maxdepth); + oprintf(OUT_GEN, 90, " best: nodes: %d; depth: %d\n", + gen_stats[0].bestnodes, gen_stats[0].bestdepth); + oprintf(OUT_GEN, 90, " worst: nodes: %d; depth: %d\n", + gen_stats[0].worstnodes, gen_stats[0].worstdepth); + oprintf(OUT_GEN, 90, " run: (%d trees)\n", + run_stats[0].size); + oprintf(OUT_GEN, 90, " mean: nodes: %.3lf (%d-%d); depth: %.3lf (%d-%d)\n", + (double) run_stats[0].totalnodes / run_stats[0].size, + run_stats[0].minnodes, run_stats[0].maxnodes, + (double) run_stats[0].totaldepth / run_stats[0].size, + run_stats[0].mindepth, run_stats[0].maxdepth); + oprintf(OUT_GEN, 90, " best: nodes: %d; depth: %d\n", + run_stats[0].bestnodes, run_stats[0].bestdepth); + oprintf(OUT_GEN, 90, " worst: nodes: %d; depth: %d\n", + run_stats[0].worstnodes, run_stats[0].worstdepth); + } + + if (test_detail_level(90)) + { + oprintf(OUT_PRG, 90, " total population:\n"); + oprintf(OUT_PRG, 90, " generation stats:\n"); + oprintf(OUT_PRG, 90, " mean: hits: %.3lf (%d-%d); standardized fitness: %.*lf\n", + (double) gen_stats[0].totalhits / gen_stats[0].size, + gen_stats[0].minhits, gen_stats[0].maxhits, + fd, (double) gen_stats[0].totalfit / gen_stats[0].size); + oprintf(OUT_PRG, 90, " best: hits: %d; standardized fitness: %.*lf\n", + gen_stats[0].besthits, fd, (double) gen_stats[0].bestfit); + oprintf(OUT_PRG, 90, " worst: hits: %d; standardized fitness: %.*lf\n", + gen_stats[0].worsthits, fd, (double) gen_stats[0].worstfit); + oprintf(OUT_PRG, 90, " run stats: (%d trees)\n", + run_stats[0].size); + oprintf(OUT_PRG, 90, " mean: hits: %.3lf (%d-%d); standardized fitness: %.*lf\n", + (double) run_stats[0].totalhits / run_stats[0].size, + run_stats[0].minhits, run_stats[0].maxhits, + fd, (double) run_stats[0].totalfit / run_stats[0].size); + oprintf(OUT_PRG, 90, " best: hits: %d; standardized fitness: %.*lf; generation: %d\n", + run_stats[0].besthits, fd, (double) run_stats[0].bestfit, + run_stats[0].bestgen); + oprintf(OUT_PRG, 90, " worst: hits: %d; standardized fitness: %.*lf; generation: %d\n", + run_stats[0].worsthits, fd, (double) run_stats[0].worstfit, + run_stats[0].worstgen); + } + + if (gen % stt_interval == 0) + { + if (test_detail_level(50)) + { + oprintf(OUT_STT, 50, "%d 0 ", gen); + oprintf(OUT_STT, 50, "%.*lf %.*lf %.*lf ", + fd, gen_stats[0].totalfit / gen_stats[0].size, + fd, gen_stats[0].bestfit, fd, gen_stats[0].worstfit); + oprintf(OUT_STT, 50, "%.3lf %.3lf %d %d %d %d ", + (double) gen_stats[0].totalnodes / gen_stats[0].size, + (double) gen_stats[0].totaldepth / gen_stats[0].size, + gen_stats[0].bestnodes, gen_stats[0].bestdepth, + gen_stats[0].worstnodes, gen_stats[0].worstdepth); + oprintf(OUT_STT, 50, "%.*lf %.*lf %.*lf ", + fd, run_stats[0].totalfit / run_stats[0].size, + fd, run_stats[0].bestfit, fd, run_stats[0].worstfit); + oprintf(OUT_STT, 50, "%.3lf %.3lf %d %d %d %d ", + (double) run_stats[0].totalnodes / run_stats[0].size, + (double) run_stats[0].totaldepth / run_stats[0].size, + run_stats[0].bestnodes, run_stats[0].bestdepth, + run_stats[0].worstnodes, run_stats[0].worstdepth); + oprintf(OUT_STT, 50, "\n"); + } + } + + /* rewrite the .bst file, and append to the .his file. */ + + output_stream_open(OUT_BST); + + oprintf(OUT_BST, 10, "=== BEST-OF-RUN ===\n"); + oprintf(OUT_BST, 10, " generation: %d\n", + run_stats[0].bestgen); + if (mpop->size > 1) + oprintf(OUT_BST, 10, " subpopulation: %d\n", + run_stats[0].bestpop + 1); + oprintf(OUT_BST, 10, " nodes: %d\n", + run_stats[0].bestnodes); + oprintf(OUT_BST, 10, " depth: %d\n", + run_stats[0].bestdepth); + oprintf(OUT_BST, 10, " hits: %d\n", + run_stats[0].besthits); + + oprintf(OUT_HIS, 10, "=== BEST-OF-RUN ===\n"); + oprintf(OUT_HIS, 10, " current generation: %d\n", gen); + oprintf(OUT_HIS, 10, " generation: %d\n", + run_stats[0].bestgen); + if (mpop->size > 1) + oprintf(OUT_HIS, 10, " subpopulation: %d\n", + run_stats[0].bestpop + 1); + oprintf(OUT_HIS, 10, " nodes: %d\n", + run_stats[0].bestnodes); + oprintf(OUT_HIS, 10, " depth: %d\n", + run_stats[0].bestdepth); + oprintf(OUT_HIS, 10, " hits: %d\n", + run_stats[0].besthits); + + /* retrieve the (FILE *) for the .bst and .his files, so that + the trees can be printed to them. */ + + bout = output_filehandle(OUT_BST); + hout = output_filehandle(OUT_HIS); + + if (run_stats[0].bestn == 1) + { + oprintf(OUT_BST, 20, "TOP INDIVIDUAL:\n\n"); + oprintf(OUT_HIS, 20, "TOP INDIVIDUAL:\n\n"); + } else + { + oprintf(OUT_BST, 20, "TOP %d INDIVIDUALS (in order):\n\n", + run_stats[0].bestn); + oprintf(OUT_HIS, 20, "TOP %d INDIVIDUALS (in order):\n\n", + run_stats[0].bestn); + } + + for (i = 0; i < run_stats[0].bestn; ++i) + { + oprintf(OUT_BST, 20, "\n\n-- #%d --\n", i + 1); + + oprintf(OUT_BST, 20, " hits: %d\n", + run_stats[0].best[i]->ind->hits); + oprintf(OUT_BST, 20, " raw fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->r_fitness); + oprintf(OUT_BST, 20, " standardized fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->s_fitness); + oprintf(OUT_BST, 20, " adjusted fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->a_fitness); + + oprintf(OUT_HIS, 20, "\n\n-- #%d --\n", i + 1); + + oprintf(OUT_HIS, 20, " hits: %d\n", + run_stats[0].best[i]->ind->hits); + oprintf(OUT_HIS, 20, " raw fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->r_fitness); + oprintf(OUT_HIS, 20, " standardized fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->s_fitness); + oprintf(OUT_HIS, 20, " adjusted fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->a_fitness); + + /* print the tree to both files here. */ + if (test_detail_level(20)) + { + pretty_print_individual(run_stats[0].best[i]->ind, bout); + pretty_print_individual(run_stats[0].best[i]->ind, hout); + } + } + + /* call the end-of-evaluation callback. returns 1 if user termination + criterion is met, 0 otherwise. */ + ret = app_end_of_evaluation(gen, mpop, newbest, gen_stats, run_stats); + + /* close the .bst file. */ + output_stream_close(OUT_BST); + + /* free stats structures for current generation. */ + for (i = 0; i < mpop->size + 1; ++i) + { + for (j = 0; j < gen_stats[i].bestn; ++j) + --gen_stats[i].best[j]->refcount; + FREE(gen_stats[i].best); + } + FREE(gen_stats); + + /* deallocate saved individuals that are no longer needed. */ + saved_individual_gc(); + + /* return value the application callback gave us. */ + return ret; + +} + +/* evaluate_pop() + * + * evaluates all the individuals in a population whose cached + * fitness values are invalid. + */ + +void evaluate_pop(population* pop) +{ + int i; +#if defined(POSIX_MT) || defined(SOLARIS_MT) + int start, end, inc, err; + struct thread_param_t* t_param; +#endif +#if POSIX_MT + pthread_t* t_ids; +#endif + +#ifdef DEBUG + print_individual ( pop->ind, stdout ); +#ifdef COEVOLUTION + printf("Can't do COEVOLUTION and DEBUG at the same time, sorry!\n"); +#else + app_eval_fitness ( pop->ind ); +#endif + exit(0); +#endif + +#if !defined(POSIX_MT) && !defined(SOLARIS_MT) +#ifdef COEVOLUTION + + if (pop->size % 2) + { + /* It's not even! */ + error ( E_FATAL_ERROR, "Population must be even to do COEVOLUTION\n"); + } + + for ( i = 0; i < pop->size; i+=2) + if ( pop->ind[i].evald != EVAL_CACHE_VALID || + pop->ind[i+1].evald != EVAL_CACHE_VALID ) + app_eval_fitness ( (pop->ind)+i ); +#else + for ( i = 0; i < pop->size; ++i ) + if ( pop->ind[i].evald != EVAL_CACHE_VALID ) + app_eval_fitness ( (pop->ind)+i ); +#endif + +#else + +#if POSIX_MT + t_ids = (pthread_t*) malloc(numthreads * sizeof(pthread_t)); +#endif + t_param = (struct thread_param_t*) malloc(numthreads * + sizeof(struct thread_param_t)); + + /* figure out how many pop members per thread */ + inc = pop->size / numthreads; + if (pop->size != inc * numthreads) inc++; + + start = 0; + for (i = 0; i < numthreads; i++) + { + end = start + inc; + if (end > pop->size) end = pop->size; + + /* setup the paramater to pass */ + t_param[i].pop = pop; + t_param[i].startidx = start; + t_param[i].endidx = end; + t_param[i].g = *(get_globaldata()); + +#ifdef POSIX_MT + err = pthread_create(&t_ids[i], &pthread_attr, + evaluate_pop_chunk, &t_param[i]); +#endif +#ifdef SOLARIS_MT + err = thr_create(NULL, (int)NULL, evaluate_pop_chunk, + &t_param[i], (int)NULL,NULL); +#endif + if (err != 0) + { + error(E_FATAL_ERROR, "cannot create thread"); + } + + start = end; + } + +#ifdef SOLARIS_MT + while (thr_join(NULL, NULL, NULL) == 0); +#endif +#ifdef POSIX_MT + for (i = 0; i < numthreads; i++) + { + pthread_join(t_ids[i], NULL); + } +#endif + +#endif + +} + +/* calculate_pop_stats() + * + * tabulates stats for a population: fitness and size of best, worst, + * mean, etc. also finds top N individuals and saves them. + */ + +void calculate_pop_stats(popstats* s, population* pop, int gen, + int subpop) +{ + int i, j, k, l; + int b; + saved_ind* shp; + individual** temp; + + /* allocate a list of the top N individuals. */ + s->best = (saved_ind**) MALLOC(s->bestn * + sizeof(saved_ind*)); + temp = (individual**) MALLOC((s->bestn + 1) * sizeof(individual*)); + + s->size = pop->size; + + /** this is all pretty obvious -- set all the max and min values to the + first individual's values, then go through the population looking for + things that are bigger/smaller/better/worse/etc. **/ + + s->maxnodes = s->minnodes = s->totalnodes = s->bestnodes = s->worstnodes = + individual_size(pop->ind + 0); + s->maxdepth = s->mindepth = s->totaldepth = s->bestdepth = s->worstdepth = + individual_depth(pop->ind + 0); + s->maxhits = s->minhits = s->totalhits = s->besthits = s->worsthits = + pop->ind[0].hits; + s->bestfit = s->worstfit = s->totalfit = pop->ind[0].a_fitness; + temp[0] = pop->ind; + b = 1; + s->bestgen = s->worstgen = gen; + s->bestpop = s->worstpop = subpop; + + for (i = 1; i < s->size; ++i) + { + j = individual_size(pop->ind + i); + s->totalnodes += j; + if (j < s->minnodes) s->minnodes = j; + if (j > s->maxnodes) s->maxnodes = j; + + k = individual_depth(pop->ind + i); + s->totaldepth += k; + if (k < s->mindepth) s->mindepth = k; + if (k > s->maxdepth) s->maxdepth = k; + + l = pop->ind[i].hits; + s->totalhits += l; + if (l < s->minhits) s->minhits = l; + if (l > s->maxhits) s->maxhits = l; + + s->totalfit += pop->ind[i].a_fitness; + if (pop->ind[i].a_fitness > s->bestfit) + { + s->bestfit = pop->ind[i].a_fitness; + s->bestnodes = j; + s->bestdepth = k; + s->besthits = l; + } else if (pop->ind[i].a_fitness < s->worstfit) + { + s->worstfit = pop->ind[i].a_fitness; + s->worstnodes = j; + s->worstdepth = k; + s->worsthits = l; + } + + /** insert the current individual into the top N list + (if it belongs there). **/ + + for (j = b; j > 0; --j) + { + if (pop->ind[i].a_fitness < temp[j - 1]->a_fitness) + break; + temp[j] = temp[j - 1]; + } + if (j < s->bestn) + temp[j] = pop->ind + i; + if (b < s->bestn) + ++b; + } + + /** now save copies of the individuals in the "temp" list **/ + for (i = 0; i < b; ++i) + { + shp = (saved_ind*) MALLOC(sizeof(saved_ind)); + shp->ind = (individual*) MALLOC(sizeof(individual)); + shp->ind->tr = (tree*) MALLOC(tree_count * sizeof(tree)); + duplicate_individual(shp->ind, temp[i]); + for (j = 0; j < tree_count; ++j) + reference_ephem_constants(shp->ind->tr[j].data, 1); + shp->refcount = 1; + shp->next = NULL; + + saved_tail->next = shp; + saved_tail = shp; + ++saved_head->refcount; + + s->best[i] = shp; + } + +#ifdef DEBUG + printf ( "the best list is:\n" ); + for ( j = 0; j < s->bestn; ++j ) + printf ( " %08x %lf\n", s->best[j], s->best[j]->ind->a_fitness ); +#endif + + FREE(temp); + +} + +/* accumulate_pop_stats() + * + * this merges the second statistics record into the first, so that it reflects + * the "sum" of the underlying populations. returns 1 if the best individual + * of the first record has changed (that is, if the second record has a better + * best individual. + */ + +int accumulate_pop_stats(popstats* total, popstats* n) +{ + int ret = 0; + int i, j, k; + saved_ind** temp; + + if (total->size == -1) + { + /* if the "total" record is empty, then just copy the second record + into it. */ + memcpy(total, n, sizeof(popstats)); + total->best = (saved_ind**) MALLOC(total->bestn * + sizeof(saved_ind*)); + memcpy(total->best, n->best, total->bestn * + sizeof(saved_ind*)); + ret = 1; + } else + { + /* sum the totals. */ + total->size += n->size; + total->totalnodes += n->totalnodes; + total->totaldepth += n->totaldepth; + total->totalhits += n->totalhits; + total->totalfit += n->totalfit; + + /* find the maximums. */ + if (n->maxnodes > total->maxnodes) total->maxnodes = n->maxnodes; + if (n->maxdepth > total->maxdepth) total->maxdepth = n->maxdepth; + if (n->maxhits > total->maxhits) total->maxhits = n->maxhits; + + /* find the minimums. */ + if (n->minnodes < total->minnodes) total->minnodes = n->minnodes; + if (n->mindepth < total->mindepth) total->mindepth = n->mindepth; + if (n->minhits < total->minhits) total->minhits = n->minhits; + + /* find the best individual's numbers. */ + if (n->bestfit > total->bestfit) + { + total->bestfit = n->bestfit; + total->bestnodes = n->bestnodes; + total->bestdepth = n->bestdepth; + total->besthits = n->besthits; + total->bestgen = n->bestgen; + total->bestpop = n->bestpop; + ret = 1; + } + + /* find the worst individual's numbers. */ + if (n->worstfit < total->worstfit) + { + total->worstfit = n->worstfit; + total->worstnodes = n->worstnodes; + total->worstdepth = n->worstdepth; + total->worsthits = n->worsthits; + total->worstgen = n->worstgen; + total->worstpop = n->worstpop; + } + +#ifdef DEBUG + printf ( "total list:\n" ); + for ( i = 0; i < total->bestn; ++i ) + printf ( " %08x %lf\n", + total->best[i], total->best[i]->ind->a_fitness ); + printf ( "new list:\n" ); + for ( i = 0; i < n->bestn; ++i ) + printf ( " %08x %lf\n", + n->best[i], n->best[i]->ind->a_fitness ); +#endif + + /** here we merge the two "top N" lists into one, discarding + the remaining N individuals. **/ + + temp = (saved_ind**) MALLOC(total->bestn * + sizeof(saved_ind*)); + j = 0; /* position in "total"s list */ + k = 0; /* position in "n"s list */ + for (i = 0; i < total->bestn; ++i) + { + /* if the n list is empty, take from the total list. */ + if (k == -1) + temp[i] = total->best[j++]; + /* if the total list is empty, take from the n list. */ + else if (j == -1) + { + ret |= (i == 0); + temp[i] = n->best[k++]; + } + /* if neither list is empty, take the better individual. */ + else if (total->best[j]->ind->a_fitness < + n->best[k]->ind->a_fitness) + { + ret |= (i == 0); + temp[i] = n->best[k++]; + } else + temp[i] = total->best[j++]; + + /* have we run off the end of either list? */ + if (j >= total->bestn) + j = -1; + if (k >= n->bestn) + k = -1; + } + + /* decrement the reference count of the old "best" list. */ + for (i = 0; i < total->bestn; ++i) + --total->best[i]->refcount; + + FREE(total->best); + total->best = temp; + +#ifdef DEBUG + printf ( "new total list:\n" ); + for ( i = 0; i < total->bestn; ++i ) + printf ( " %08x %lf\n", + total->best[i], total->best[i]->ind->a_fitness ); +#endif + } + + /* increment the reference count of the new "best" list. */ + for (i = 0; i < total->bestn; ++i) + ++total->best[i]->refcount; + + return ret; +} + +/* saved_individual_gc() + * + * go through the list of saved individuals, deleting any which are no longer + * referred to. + */ + +void saved_individual_gc(void) +{ + int j; + saved_ind* shp = saved_head->next; + saved_ind* shm = saved_head; + + while (shp) + { + if (shp->refcount == 0) + { + /** found one that needs to be deleted. **/ + + /* dereference its trees' ERCs and delete the trees. */ + for (j = 0; j < tree_count; ++j) + { + reference_ephem_constants(shp->ind->tr[j].data, -1); + free_tree(shp->ind->tr + j); + } + FREE(shp->ind->tr); + FREE(shp->ind); + + /* cut the record out of the linked list. */ + shm->next = shp->next; + if (saved_tail == shp) + saved_tail = shm; + FREE(shp); + shp = shm->next; + + /* the refcount field of the list head (a dummy node) holds the + size of the list. */ + --saved_head->refcount; + } else + { + /* move down the list. */ + shm = shp; + shp = shp->next; + } + } +} + +/* read_saved_individuals() + * + * reads the list of saved individuals from a checkpoint file. constructs + * an index translating indices to addresses. + */ + +saved_ind** read_saved_individuals(ephem_const** eind, FILE* f) +{ + char* buffer; + int count; + int i; + saved_ind* p; + saved_ind** sind; + + buffer = (char*) MALLOC(MAXCHECKLINELENGTH); + + /* read the number of saved individuals. */ + fscanf(f, "%*s %d\n", &count); + + /* allocate the index. */ + sind = (saved_ind**) MALLOC(count * sizeof(saved_ind*)); + + /* allocate the head of the linked list (a dummy node whose refcount + equals the number of individuals on the list). */ + saved_head = (saved_ind*) MALLOC(sizeof(saved_ind)); + saved_head->ind = NULL; + saved_head->refcount = count; + p = saved_head; + for (i = 0; i < count; ++i) + { + /* allocate the next saved_ind on the list. */ + p->next = (saved_ind*) MALLOC(sizeof(saved_ind)); + p = p->next; + /* allocate the individual. */ + p->ind = (individual*) MALLOC(sizeof(individual)); + /* make the index entry. */ + sind[i] = p; + /* read the refcount. */ + fscanf(f, "%d ", &(p->refcount)); + /* read the individual. */ + read_individual(p->ind, eind, f, buffer); + } + /* mark the end of the list. */ + p->next = NULL; + saved_tail = p; + + FREE(buffer); + + return sind; +} + +/* read_stats_checkpoint() + * + * read the overall run statistics structures from a checkpoint file. + */ + +void read_stats_checkpoint(multipop* mpop, ephem_const** eind, FILE* f) +{ + int i, j, k; + saved_ind** sind; + + /* read and index the saved individuals list. */ + sind = read_saved_individuals(eind, f); + + /* allocate the run_stats array. */ + run_stats = (popstats*) MALLOC((mpop->size + 1) * sizeof(popstats)); + for (i = 0; i < mpop->size + 1; ++i) + { + /* read lots of integer values into run_stats. */ + fscanf(f, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", + &(run_stats[i].size), + &(run_stats[i].maxnodes), &(run_stats[i].minnodes), + &(run_stats[i].totalnodes), &(run_stats[i].bestnodes), + &(run_stats[i].worstnodes), + &(run_stats[i].maxdepth), &(run_stats[i].mindepth), + &(run_stats[i].totaldepth), &(run_stats[i].bestdepth), + &(run_stats[i].worstdepth), + &(run_stats[i].maxhits), &(run_stats[i].minhits), + &(run_stats[i].totalhits), &(run_stats[i].besthits), + &(run_stats[i].worsthits)); + /** double-precision values are stored as hex data to avoid loss + of precision. **/ + read_hex_block(&(run_stats[i].bestfit), sizeof(double), f); + fgetc(f); + read_hex_block(&(run_stats[i].worstfit), sizeof(double), f); + fgetc(f); + read_hex_block(&(run_stats[i].totalfit), sizeof(double), f); + /* they are also printed as decimal values, for the benefit of human + readers -- skip these fields. */ + fscanf(f, " %*f %*f %*f\n"); + /* read some more integers. */ + fscanf(f, "%d %d %d %d %d ", + &(run_stats[i].bestgen), &(run_stats[i].worstgen), + &(run_stats[i].bestpop), &(run_stats[i].worstpop), + &(run_stats[i].bestn)); + run_stats[i].best = (saved_ind**) MALLOC(run_stats[i].bestn * + sizeof(saved_ind*)); + /** read the indices of the contents of the best array, and look up + the addresses in the index. **/ + for (j = 0; j < run_stats[i].bestn; ++j) + { + fscanf(f, "%d\n", &k); + run_stats[i].best[j] = sind[k]; + } + } + FREE(sind); +} + +/* write_saved_individuals() + * + * writes the linked list of saved individuals to a checkpoint file. returns + * an index for translating saved_ind addresses to integer indices. + */ + +saved_ind** write_saved_individuals(ephem_index* eind, FILE* f) +{ + saved_ind** index; + saved_ind* shp; + int i = 0; + + index = (saved_ind**) MALLOC(saved_head->refcount * + sizeof(saved_ind*)); + + /* write the count of individuals. */ + fprintf(f, "saved-individual-count: %d\n", saved_head->refcount); + + shp = saved_head->next; + + /** traverse the linked list. **/ + while (shp) + { + /* write the reference count and individual. */ + fprintf(f, "%d ", shp->refcount); + write_individual(shp->ind, eind, f); + + /* record the address in the index. */ + index[i++] = shp; + + shp = shp->next; + } + + return index; +} + +/* write_stats_checkpoint() + * + * write the overall run statistics structures to a checkpoint file. + */ + +void write_stats_checkpoint(multipop* mpop, ephem_index* eind, FILE* f) +{ + int i, j, k; + saved_ind** sind; + + /* write and index the saved individuals list. */ + sind = write_saved_individuals(eind, f); + + for (i = 0; i < mpop->size + 1; ++i) + { + /* write many integer values. */ + fprintf(f, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", + run_stats[i].size, + run_stats[i].maxnodes, run_stats[i].minnodes, + run_stats[i].totalnodes, run_stats[i].bestnodes, + run_stats[i].worstnodes, + run_stats[i].maxdepth, run_stats[i].mindepth, + run_stats[i].totaldepth, run_stats[i].bestdepth, + run_stats[i].worstdepth, + run_stats[i].maxhits, run_stats[i].minhits, + run_stats[i].totalhits, run_stats[i].besthits, + run_stats[i].worsthits); + /** write double-precision values as hex data. **/ + write_hex_block(&(run_stats[i].bestfit), sizeof(double), f); + fputc(' ', f); + write_hex_block(&(run_stats[i].worstfit), sizeof(double), f); + fputc(' ', f); + write_hex_block(&(run_stats[i].totalfit), sizeof(double), f); + /* also write them as decimal values. */ + fprintf(f, " %f %f %f\n", run_stats[i].bestfit, + run_stats[i].worstfit, run_stats[i].totalfit); + /* write more integers. */ + fprintf(f, "%d %d %d %d %d ", + run_stats[i].bestgen, run_stats[i].worstgen, + run_stats[i].bestpop, run_stats[i].worstpop, + run_stats[i].bestn); + /** write the best array, indexing saved individuals using integers. **/ + for (j = 0; j < run_stats[i].bestn; ++j) + { + /** search the index for the address. **/ + for (k = 0; k < saved_head->refcount; ++k) + if (run_stats[i].best[j] == sind[k]) + { + /* print the index to the checkpoint file. */ + fprintf(f, " %d", k); + break; + } + /** address was not found in the index. **/ + if (k == saved_head->refcount) + { + /* this shouldn't ever happen. */ + fprintf(f, " -1"); + error(E_WARNING, "bestn pointer is bad."); + } + } + + fputc('\n', f); + } + + FREE(sind); +} + + +#if !defined(POSIX_MT) && !defined(SOLARIS_MT) + +/* return the globaldata structure */ +globaldata *get_globaldata(void) { + return( &global_g ); +} + +#else /* continues to end of file */ + +/* provide each thread with seperate copy of 'g' */ +globaldata* get_globaldata(void) +{ + globaldata* retval; + +#ifdef POSIX_MT + retval = pthread_getspecific(g_key); +#endif +#ifdef SOLARIS_MT + thr_getspecific( g_key, (void *)&retval ); +#endif + + if (retval == NULL) + { + error(E_FATAL_ERROR, "get_globaldata() tried to return NULL"); + } + + return (retval); +} + + +/* + * initialize_threading() + * + * Setup the program for multithreading use. + */ + +void initialize_threading(void) +{ + char* numthreads_str; + globaldata* main_g; + + /* numthreads_str = getenv( "NUM_THREADS" );*/ + numthreads_str = get_parameter("num_threads"); /* Now in input file */ + if (numthreads_str == NULL) + { + error(E_FATAL_ERROR, "num_threads undefined"); + } + numthreads = atoi(numthreads_str); + if (numthreads < 1) + { + error(E_FATAL_ERROR, "num_threads must be > 0"); + } + + printf("numthreads: %d\n", numthreads); + + /* create the thread key for access to 'g' */ +#ifdef POSIX_MT + pthread_key_create(&g_key, NULL); +#endif +#ifdef SOLARIS_MT + thr_keycreate( &g_key, NULL ); +#endif + + /* main thread needs its own 'g' */ + main_g = (globaldata*) malloc(sizeof(globaldata)); +#ifdef POSIX_MT + pthread_setspecific(g_key, main_g); +#endif +#ifdef SOLARIS_MT + thr_setspecific(g_key, main_g); +#endif + +#ifdef POSIX_MT + /* Setup default thread attributes */ + pthread_attr_init(&pthread_attr); + pthread_attr_setscope(&pthread_attr, PTHREAD_SCOPE_SYSTEM); + + if (1) + { + size_t size; + size_t guard; + + /* Double the stack size */ + pthread_attr_getstacksize(&pthread_attr, &size); + printf("Kernel Old Size %d\n", (int) size); + pthread_attr_setstacksize(&pthread_attr, size * 2); + pthread_attr_getstacksize(&pthread_attr, &size); + printf("Kernel New Size %d\n", (int) size); + +/* Double the Guard size (account for old pthread implementation) */ +#ifdef PTHREAD_1.X + pthread_attr_getguardsize_np(&pthread_attr,&guard); + printf("Kernel Old Guard %d\n",(int)guard); + pthread_attr_setguardsize_np(&pthread_attr,2*guard); + pthread_attr_getguardsize_np(&pthread_attr,&guard); +#else + pthread_attr_getguardsize(&pthread_attr, &guard); + printf("Kernel Old Guard %d\n", (int) guard); + pthread_attr_setguardsize(&pthread_attr, 2 * guard); + pthread_attr_getguardsize(&pthread_attr, &guard); +#endif + printf("Kernel New Guard %d\n", (int) guard); + } +#endif + +#ifdef SOLARIS_MT + /* let the OS know how many threads to run at once */ + thr_setconcurrency( numthreads ); +#endif + +} + +/* evaluate_pop_chuck() + * + * Called from evaluate_pop to do a chunk of evaluations on a pop. + * This was done to allow multithreading. + */ + +void* evaluate_pop_chunk(void* param) +{ + int k, startidx, endidx; + population* pop; + globaldata* g; + struct thread_param_t* t_param; + + t_param = (struct thread_param_t*) param; + pop = t_param->pop; + startidx = t_param->startidx; + endidx = t_param->endidx; + +#ifdef POSIX_MT + pthread_setspecific(g_key, &t_param->g); +#endif +#ifdef SOLARIS_MT + thr_setspecific(g_key, &t_param->g); +#endif + + g = get_globaldata(); + + /* printf("START: %d,%d\n", startidx, endidx); */ + +#ifdef COEVOLUTION /* Here we hack it to provide *two* individuals */ + + if ((endidx-startidx)%2) /* it it's not even */ + + { + char xx[256]; + sprintf(xx,"Uneven number of individuals (%d) at %d", + endidx-startidx,startidx); + error ( E_FATAL_ERROR,xx); + } + + for ( k = startidx; k < endidx; k+=2 ) + + /* It's GOT to have even number of inds */ + + if ( pop->ind[k].evald != EVAL_CACHE_VALID || + pop->ind[k+1].evald != EVAL_CACHE_VALID ) + { + app_eval_fitness ( (pop->ind)+k, (pop->ind)+(k+1) ); + } +#else + for (k = startidx; k < endidx; ++k) + if (pop->ind[k].evald != EVAL_CACHE_VALID) + { + app_eval_fitness((pop->ind) + k); + } +#endif + +} + +#endif /* !defined(POSIX_MT) && !defined(SOLARIS_MT) */ + + diff --git a/lib/lilgp/kernel_c/individ.c b/lib/lilgp/kernel_c/individ.c new file mode 100644 index 0000000..08997c7 --- /dev/null +++ b/lib/lilgp/kernel_c/individ.c @@ -0,0 +1,125 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* print_individual_stdout() + * + * prints the given individual to stdout. used with the "call" command + * in gdb (stdout is a #defined symbol and so is not available to the + * debugger, at least under Solaris...) + */ + +void print_individual_stdout ( individual *ind ) +{ + print_individual ( ind, stdout ); +} + +/* print_individual() + * + * prints the given individual to the given FILE *. + */ + +void print_individual ( individual *ind, FILE *f ) +{ + int j; + + for ( j = 0; j < tree_count; ++j ) + { + fprintf ( f, " %s: ", tree_map[j].name ); + print_tree ( ind->tr[j].data, f ); + } +} + +/* pretty_print_individual() + * + * pretty-prints the individual to the given FILE *. shows expression + * structure via indentation. + */ + +void pretty_print_individual ( individual *ind, FILE *f ) +{ + int j; + + for ( j = 0; j < tree_count; ++j ) + { + fprintf ( f, "%s:", tree_map[j].name ); + pretty_print_tree ( ind->tr[j].data, f ); + } +} + +/* individual_size() + * + * returns the total number of nodes in an individual. + */ + +int individual_size ( individual *ind ) +{ + int j, k = 0; + + for ( j = 0; j < tree_count; ++j ) + k += ind->tr[j].nodes; + + return k; +} + +/* individual_depth() + * + * returns the depth of an individual (maximum of the depths + * of its trees). + */ + +int individual_depth ( individual *ind ) +{ + int i, j, k = 0; + + for ( j = 0; j < tree_count; ++j ) + { + if ( ( i = tree_depth ( ind->tr[j].data ) ) > k ) + k = i; + } + return k; +} + +/* duplicate_individual() + * + * duplicates an individual. + */ + +void duplicate_individual ( individual *to, individual *from ) +{ + int j; + for ( j = 0; j < tree_count; ++j ) + copy_tree ( to->tr+j, from->tr+j ); + to->r_fitness = from->r_fitness; + to->s_fitness = from->s_fitness; + to->a_fitness = from->a_fitness; + to->hits = from->hits; + to->evald = from->evald; + to->flags = from->flags; +} + diff --git a/lib/lilgp/kernel_c/lilgp.h b/lib/lilgp/kernel_c/lilgp.h new file mode 100644 index 0000000..4228d95 --- /dev/null +++ b/lib/lilgp/kernel_c/lilgp.h @@ -0,0 +1,57 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _LILGP_H +#define _LILGP_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifdef USEVFORK +#include +#endif + +#include "appdef.h" + +#include "event.h" + +#include "defines.h" +#include "types.h" + +#include "protoapp.h" +#include "function.h" +#include "app.h" +#include "protos.h" + +#endif diff --git a/lib/lilgp/kernel_c/main.c b/lib/lilgp/kernel_c/main.c new file mode 100644 index 0000000..5cc59f2 --- /dev/null +++ b/lib/lilgp/kernel_c/main.c @@ -0,0 +1,896 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include +#include + +#ifdef MEMORY_LOG +FILE *mlog; +#endif + +/* do we dup OUT_SYS to stdout? */ +int quietmode = 0; + +/* tree generation spaces. */ +genspace gensp[GENSPACE_COUNT]; + +/* internal copy of function set(s). */ +function_set *fset; +int fset_count; + +/* information about each tree--which function set it uses, + its name, size limits, etc. */ +treeinfo *tree_map; +int tree_count; + +/* maximum number of nodes per individual. -1 if no limit is + enforced. */ +int ind_nodelimit; + +/* random number generator state */ +randomgen globrand; + + +int main ( int argc, char **argv ) +{ + + multipop *mpop; + int startgen; + event start, end, diff; + event eval, breed; + int startfromcheckpoint; + +#ifdef MEMORY_LOG + /* dump all memory allocations to a file. */ + mlog = fopen ( "memory.log", "w" ); +#endif + + /* mark the start time, and zero the accumulators for evaluation + and breeding time. */ + event_init(); + event_mark ( &start ); + event_zero ( &eval ); + event_zero ( &breed ); + + if ( app_create_output_streams() ) + error ( E_FATAL_ERROR, "app_create_output_streams() failure." ); + initialize_output_streams(); + + /* print copyright message and such. */ + initial_message(); + + /* some initialization. */ + oprintf ( OUT_SYS, 30, "initialization:\n" ); + initialize_parameters(); + initialize_ephem_const(); + initialize_genspace(); + /* process the command line. if starting from a checkpoint file, this + function will load the population. */ + startfromcheckpoint = process_commandline ( argc, argv, &startgen, &mpop ); + + /* open the files associated with each stream. */ + open_output_streams(); + + /* make internal copies of function set(s), if it hasn't already been + done. */ + if ( !startfromcheckpoint ) + if ( app_build_function_sets() ) + error ( E_FATAL_ERROR, "app_build_function_sets() failure." ); + + /* read parameters limiting tree node count and/or depth. */ + read_tree_limits(); + + /* if not starting from a checkpoint, seed the random number generator. */ + if ( !startfromcheckpoint ) + initialize_random(); + +#if defined(POSIX_MT) || defined(SOLARIS_MT) + /* setup for multi-threading if applicable */ + initialize_threading(); +#endif + + if ( app_initialize ( startfromcheckpoint ) ) + error ( E_FATAL_ERROR, "app_initialize() failure." ); + + /* if not starting from a checkpoint, create a random population. */ + if ( !startfromcheckpoint ) + mpop = initial_multi_population(); + + /* build the breeding table and the subpop exchange table from + the parameter database. */ + initialize_topology ( mpop ); + initialize_breeding ( mpop ); + + /* do the GP. */ + run_gp ( mpop, startgen, &eval, &breed, startfromcheckpoint ); + + /* free app stuff. */ + app_uninitialize(); + + /* free lots of stuff. */ + free_breeding ( mpop ); + free_topology ( mpop ); + free_multi_population ( mpop ); + free_parameters(); + free_ephem_const(); + free_genspace(); + free_function_sets(); + + /* mark the finish time. */ + event_mark ( &end ); + event_diff ( &diff, &start, &end ); + + /* print memory/time statistics and close output files. */ + output_system_stats ( &diff, &eval, &breed ); + close_output_streams(); + +#ifdef MEMORY_LOG + fclose ( mlog ); +#endif + + /* destroy global random structure */ + random_destroy(&globrand); + + /* all done. */ + return 0; +} + +/* function_sets_init() + * + * this function is called from user code and passed the function sets + * and tree maps and names. it makes internal copies and does some + * validation. + */ + +int function_sets_init ( function_set *user_fset, int user_fcount, + user_treeinfo *user_tree_map, int user_tcount ) +{ + int i, j, k, m, n, p; + int x; + int errors = 0; + function *cur; + + /* Strongly Typed... */ + + int pos[NUMTYPES]; /* Current position to place a function/terminal in the cset by type */ + + /* allocate internal copies. */ + fset = (function_set *)MALLOC ( user_fcount * sizeof ( function_set ) ); + tree_map = (treeinfo *)MALLOC ( user_tcount * sizeof ( treeinfo ) ); + fset_count = user_fcount; + tree_count = user_tcount; + + oprintf ( OUT_SYS, 30, "updating function set(s):\n" ); + + /* Updates the function set based on input file */ + for ( i = 0; i < fset_count; ++i ) + { + oprintf ( OUT_SYS, 30, " set %d:", i ); + fset_update ( &user_fset[i] ); + } + + oprintf ( OUT_SYS, 30, "building function set(s):\n" ); + + /* for each set of functions... */ + for ( i = 0; i < fset_count; ++i ) + { + /* Initialize counts */ + for (x=0;xcode = user_fset[i].cset[j].code; + cur->ephem_gen = user_fset[i].cset[j].ephem_gen; + cur->ephem_str = user_fset[i].cset[j].ephem_str; + cur->arity = user_fset[i].cset[j].arity; + cur->type = user_fset[i].cset[j].type; + cur->evaltree = user_fset[i].cset[j].evaltree; + + /* copy the name string. */ + n = strlen ( user_fset[i].cset[j].string ); + cur->string = (char *)MALLOC ( n+1 ); + for ( p = 0; p < n; ++p ) + { + if ( isspace(user_fset[i].cset[j].string[p]) || + user_fset[i].cset[j].string[p] == ':' || + user_fset[i].cset[j].string[p] == ')' || + user_fset[i].cset[j].string[p] == '(' || + user_fset[i].cset[j].string[p] == '[' || + user_fset[i].cset[j].string[p] == ']' ) + { + error ( E_WARNING, "illegal character(s) in function name changed to '_'." ); + cur->string[p] = '_'; + } + else + cur->string[p] = user_fset[i].cset[j].string[p]; + } + cur->string[n] = 0; + + /* fill in the index field with this function's position in the + set. */ + cur->index = k; + + /* the ERC-related fields should be NULL. */ + if ( cur->ephem_gen || cur->ephem_str ) + { + ++errors; + error ( E_ERROR, "function has non-NULL ephem_gen and/or ephem_str field(s)." ); + } + + /* do some type-specific checking. */ + switch ( cur->type ) + { + case FUNC_DATA: + case FUNC_EXPR: + if ( cur->code == NULL ) + { + ++errors; + error ( E_ERROR, "ordinary function has NULL code field." ); + } + if ( cur->arity < 1 ) + { + ++errors; + error ( E_ERROR, "ordinary function has arity of %d.", + cur->arity ); + } + if ( cur->evaltree != -1 ) + { + error ( E_WARNING, "ordinary function has evaltree field of %d; this will be ignored.", cur->evaltree ); + } + break; + case EVAL_DATA: + case EVAL_EXPR: + if ( cur->code != NULL ) + { + ++errors; + error ( E_ERROR, "eval function function has non-NULL code field." ); + } + if ( cur->arity != -1 ) + { + error ( E_WARNING, "eval function has arity field of %d; this will be ignored.", cur->arity ); + } + if ( cur->evaltree < 0 || + cur->evaltree >= tree_count ) + /* evaluation token refers to a tree that doesn't exist. */ + error ( E_FATAL_ERROR, "eval function refers to nonexistent tree (%d).", cur->evaltree ); + break; + default: + ++errors; + error ( E_ERROR, "unknown function type %d.", cur->type ); + } + /* strong typing...*/ + cur->return_type = user_fset[i].cset[j].return_type; + for (x=0;xarity;x++) + { + cur->argument_type[x]=user_fset[i].cset[j].argument_type[x]; + } + (fset[i].cset_by_type[cur->return_type]) + [pos[cur->return_type]++] = *cur; + + ++k; + } + else if ( user_fset[i].cset[j].type == TERM_NORM || + user_fset[i].cset[j].type == TERM_ERC || + user_fset[i].cset[j].type == TERM_ARG ) + { + /** terminals (all kinds). **/ + + /* "cur" is so much easier to type. :) */ + cur = &(fset[i].cset[k]); + + /* copy stuff. */ + cur->code = user_fset[i].cset[j].code; + cur->ephem_gen = user_fset[i].cset[j].ephem_gen; + cur->ephem_str = user_fset[i].cset[j].ephem_str; + cur->arity = user_fset[i].cset[j].arity; + cur->type = user_fset[i].cset[j].type; + cur->evaltree = user_fset[i].cset[j].evaltree; + + /* copy terminal name. */ + n = strlen ( user_fset[i].cset[j].string ); + cur->string = (char *)MALLOC ( n+1 ); + strcpy ( cur->string, user_fset[i].cset[j].string ); + cur->string[n] = 0; + + /* fill in the index field. */ + cur->index = k; + + if ( cur->arity != 0 ) + { + ++errors; + error ( E_ERROR, "terminal has nonzero arity." ); + } + + /* check for correctness of type-dependent fields. */ + switch ( cur->type ) + { + case TERM_NORM: + if ( cur->code == NULL ) + { + ++errors; + error ( E_ERROR, "normal terminal has NULL code field." ); + } + if ( cur->ephem_gen != NULL || cur->ephem_str != NULL ) + { + ++errors; + error ( E_ERROR, "normal terminal has non-NULL ephem_gen and/or ephem_str field(s)." ); + } + if ( cur->evaltree != -1 ) + { + error ( E_WARNING, "normal terminal has evaltree field of %d; this will be ignored." ); + } + break; + case TERM_ERC: + if ( cur->code != NULL ) + { + ++errors; + error ( E_ERROR, "ERC terminal has non-NULL code field." ); + } + if ( cur->ephem_gen == NULL || cur->ephem_str == NULL ) + { + ++errors; + error ( E_ERROR, "ERC terminal has NULL ephem_hen and/or ephem_str field(s)." ); + } + if ( cur->evaltree != -1 ) + { + error ( E_WARNING, "ERC terminal has evaltree field of %d; this will be ignored." ); + } + break; + case TERM_ARG: + ++fset[i].num_args; + if ( cur->code != NULL ) + { + ++errors; + error ( E_ERROR, "argument terminal has non-NULL code field." ); + } + if ( cur->ephem_gen != NULL || cur->ephem_str != NULL ) + { + ++errors; + error ( E_ERROR, "argument terminal has non-NULL ephem_hen and/or ephem_str field(s)." ); + } + if ( cur->evaltree < 0 ) + { + ++errors; + error ( E_ERROR, "argument terminal should have nonnegative evaltree field." ); + } + break; + } + + /* strong typing...*/ + cur->return_type = user_fset[i].cset[j].return_type; + (fset[i].cset_by_type[cur->return_type]) + [pos[cur->return_type]++] = *cur; + + ++k; + } + oputs ( OUT_SYS, 30, " " ); + oputs ( OUT_SYS, 30, fset[i].cset[k-1].string ); + } + fset[i].size = k; + oputs ( OUT_SYS, 30, "\n" ); + } + + + /* if there were any errors, stop now. */ + if ( errors ) + { + error ( E_FATAL_ERROR, "error(s) occurred while processing function set(s)." ); + } + + /* build the internal tree map. */ + for ( i = 0; i < tree_count; ++i ) + { + /* the function set used for this tree. */ + tree_map[i].fset = user_tree_map[i].fset; + if ( tree_map[i].fset < 0 || tree_map[i].fset >= fset_count ) + error ( E_FATAL_ERROR, "tree %d uses a nonexistent function set.\n", i ); + tree_map[i].return_type = user_tree_map[i].return_type; + if ( tree_map[i].return_type < 0 || tree_map[i].return_type >= NUMTYPES) + error ( E_FATAL_ERROR, "tree %d uses an invalid return type: %d.\n", i, + tree_map[i].return_type); + + oprintf ( OUT_SYS, 30, " tree %d uses function set %d.\n", i, tree_map[i].fset ); + + /* these will be filled in by read_tree_limits(). */ + tree_map[i].nodelimit = -1; + tree_map[i].depthlimit = -1; + + /* copy the tree name. */ + j = strlen ( user_tree_map[i].name ); + tree_map[i].name = (char *)MALLOC ( (j+1) * sizeof ( char ) ); + strcpy ( tree_map[i].name, user_tree_map[i].name ); + } + + /* now some more processing on each function set. */ + for ( i = 0; i < fset_count; ++i ) + { + fset[i].function_count = 0; + fset[i].terminal_count = 0; + for ( j = 0; j < fset[i].size; ++j ) + { + if ( fset[i].cset[j].arity == -1 ) + { + /* change the arity of evaluation tokens from -1 + to the number of argument tokens in the called tree. */ + fset[i].cset[j].arity = fset[tree_map[fset[i].cset[j].evaltree].fset].num_args; + if ( fset[i].cset[j].arity == 0 ) + /* if there are no argument tokens in the tree, + mark this as a terminal. */ + fset[i].cset[j].type = EVAL_TERM; + } + + /* update count of functions and terminals. */ + if ( fset[i].cset[j].arity ) + ++fset[i].function_count; + else + ++fset[i].terminal_count; + } + + /* now sort the function set so that all the functions + come first. */ + qsort ( fset[i].cset, fset[i].size, sizeof ( function ), + function_compare ); + for (x=0;xarity); + ba = !!(((function *)b)->arity); + return ba-aa; +} + +/* free_function_sets() + * + * free up internal copies of function sets and tree maps. + */ + +void free_function_sets ( void ) +{ + int i, j; + + for ( i = 0; i < fset_count; ++i ) + { + for ( j = 0; j < fset[i].function_count + fset[i].terminal_count; ++j ) + FREE ( fset[i].cset[j].string ); + FREE ( fset[i].cset ); + /* Strong Typing */ + for (j = 0; j < NUMTYPES ; ++j ) + { + FREE(fset[i].cset_by_type[j]); + } + } + FREE ( fset ); + + for ( i = 0; i < tree_count; ++i ) + FREE ( tree_map[i].name ); + FREE ( tree_map ); + + fset = NULL; + tree_map = NULL; +} + +/* read_tree_limits() + * + * read limits on tree node count and/or depth from the parameter + * database and fill in the appropriate fields of the tree_map + * array. + */ + +void read_tree_limits ( void ) +{ + int i, j; + char pnamebuf[100]; + char *param; + + for ( i = 0; i < tree_count; ++i ) + { + /* read the node limit for this tree. */ + sprintf ( pnamebuf, "tree[%d].max_nodes", i ); + param = get_parameter ( pnamebuf ); + if ( param == NULL ) + tree_map[i].nodelimit = -1; + else + tree_map[i].nodelimit = atoi ( param ); + + /* read the depth limit for this tree. */ + sprintf ( pnamebuf, "tree[%d].max_depth", i ); + param = get_parameter ( pnamebuf ); + if ( param == NULL ) + tree_map[i].depthlimit = -1; + else + tree_map[i].depthlimit = atoi ( param ); + } + + /* read the node limit for the whole individual. */ + param = get_parameter ( "max_nodes" ); + if ( param == NULL ) + ind_nodelimit = -1; + else + ind_nodelimit = atoi ( param ); + + /* read the depth limit for the whole individual. note that + this is implemented just as a cap on the maximum depth of + any single tree in the individual. */ + param = get_parameter ( "max_depth" ); + if ( param ) + { + j = atoi ( param ); + if ( j >= 0 ) + for ( i = 0; i < tree_count; ++i ) + if ( tree_map[i].depthlimit < 0 || + tree_map[i].depthlimit > j ) + tree_map[i].depthlimit = j; + } +} + +/* initialize_random() + * + * initialize the random number generator. + */ + +void initialize_random ( void ) +{ + char *param; + char seedstr[30]; + int seed; + + /* look for a seed parameter. */ + param = get_parameter ( "random_seed" ); + if ( param == NULL ) + { + sprintf(seedstr, "%d", 1); + + /* if it's not found... */ +#ifdef RANDOMSEEDTIME + /* ...use the current time. */ + seed = time(NULL); + sprintf(seedstr, "%ld", seed); + add_parameter ( "random_seed", seedstr, PARAM_COPY_VALUE); +#else + /* ...use 1. */ + seed = 1; + add_parameter ( "random_seed", seedstr, PARAM_COPY_NONE); +#endif + /* print out what we're using. */ + oprintf ( OUT_SYS, 20, + " no random number seed specfied; using %d.\n", + seed ); + } + else + { + /* the parameter was found; use it. */ + seed = atoi ( param ); + oprintf ( OUT_SYS, 20, + " seeding random number generator with %d.\n", + seed ); + } + random_seed ( &globrand, seed ); +} + +/* pre_parameter_defaults() + * + * used to place values into the parameter database before any application + * code is called or any command line options are processed. + */ + +void pre_parameter_defaults ( void ) +{ + add_parameter ( "output.basename", "lilgp", PARAM_COPY_NONE ); + add_parameter ( "output.stt_interval", "1", PARAM_COPY_NONE ); + add_parameter ( "output.detail", "50", PARAM_COPY_NONE ); + add_parameter ( "output.bestn", "1", PARAM_COPY_NONE ); + add_parameter ( "output.digits", "4", PARAM_COPY_NONE ); + + add_parameter ( "init.method", "half_and_half", + PARAM_COPY_NONE ); + add_parameter ( "init.depth", "2-6", PARAM_COPY_NONE ); + add_parameter ( "init.random_attempts", "100", PARAM_COPY_NONE ); + + add_parameter ( "checkpoint.filename", "gp%06d.ckp", + PARAM_COPY_NONE ); + + /* default problem uses a single population. */ + add_parameter ( "multiple.subpops", "1", PARAM_COPY_NONE ); +} + +/* post_parameter_defaults() + * + * add/change values in the parameter database after all command line options + * are parsed. can be used to set defaults based on values of other + * parameters. + */ + +void post_parameter_defaults ( void ) +{ + binary_parameter ( "probabilistic_operators", 1 ); +} + +/* process_commandline() + * + * parses the command line. + */ + +int process_commandline ( int argc, char **argv, int *gen, + multipop **mpop ) +{ + int i; + int errorflag = 0; + int startfromcheckpoint = 0; + + *mpop = NULL; + *gen = 0; + + /* if there are no arguments, print out a brief statement of usage + and exit. */ + if ( argc < 2 ) + { + fprintf ( stderr, "usage: %s options\nValid options are:\n", argv[0] ); + fprintf ( stderr, " [-f parameterfile] read named parameter file\n" ); + fprintf ( stderr, " [-c checkpointfile] restart from name checkpoint file\n" ); + fprintf ( stderr, " [-p name=value] set parameter name to value\n" ); + fprintf ( stderr, " [-q] run in quiet mode\n" ); + fprintf ( stderr, " [-d symbol] define symbol\n" ); + fprintf ( stderr, " [-u symbol] undefine symbol\n" ); + exit(1); + } + + /* load hardcoded defaults into database. */ + pre_parameter_defaults(); + + for ( i = 1; i < argc; ++i ) + { + /* all options begin with '-' and have two characters, + except "-d" and "-u" which may have more. */ + if ( argv[i][0] != '-' || ( argv[i][1] != 'd' && argv[i][1] != 'u' && argv[i][2] != 0 ) ) + { + error ( E_ERROR, "unrecognized command line option: \"%s\".", + argv[i] ); + errorflag = 1; + continue; + } + + switch ( argv[i][1] ) + { + case 'f': + /* load a parameter file, named in the next argument. */ + read_parameter_file ( argv[++i] ); + break; + case 'p': + /* parse a single parameter, in the next argument. */ + if ( parse_one_parameter ( argv[++i] ) ) + { + errorflag = 1; + error ( E_ERROR, "malformed parameter: \"%s\".", argv[i] ); + } + break; + case 'c': + /* load a checkpoint file, named in the next argument. */ + if ( startfromcheckpoint ) + { + /* error if a checkpoint has already been loaded. */ + error ( E_ERROR, "can't load multiple checkpoint files." ); + errorflag = 1; + continue; + } + read_checkpoint ( argv[++i], gen, mpop ); + startfromcheckpoint = 1; + break; + case 'q': + /* turn on quiet mode (don't dup OUT_SYS to stdout). */ + quietmode = 1; + break; + case 'd': + /* define a symbol. */ + if ( argv[i][2] ) + /* of the form "-dsymbol". */ + define_directive ( argv[i]+2 ); + else + /* of the form "-d symbol". */ + define_directive ( argv[++i] ); + break; + case 'u': + /* undefine a symbol. */ + if ( argv[i][2] ) + /* of the form "-usymbol". */ + undefine_directive ( argv[i]+2 ); + else + /* of the form "-u symbol". */ + undefine_directive ( argv[++i] ); + break; + default: + error ( E_ERROR, "unrecognized command line option: \"%s\".", + argv[i] ); + errorflag = 1; + break; + } + } + + if ( errorflag ) + error ( E_FATAL_ERROR, "command line errors occurred. dying." ); + + if ( !startfromcheckpoint ) + post_parameter_defaults(); + + return startfromcheckpoint; + +} + +/* output_system_stats() + * + * print statistics about memory use, execution time, etc. to OUT_SYS + * at conclusion of run. + */ + +void output_system_stats ( event *t_total, event *t_eval, event *t_breed ) +{ + int total, free, max, mallocc, reallocc, freec; + int ercused, ercfree, ercblocks, ercalloc; + int i; + + get_ephem_stats ( &ercused, &ercfree, &ercblocks, &ercalloc ); + + oprintf ( OUT_SYS, 30, "\nSYSTEM STATISTICS\n" ); + +#ifdef TRACK_MEMORY + /* if memory tracking available, then get and print the numbers. */ + get_memory_stats ( &total, &free, &max, &mallocc, &reallocc, &freec ); + oprintf ( OUT_SYS, 30, "\n------- memory -------\n" ); + oprintf ( OUT_SYS, 30, " allocated: %d\n", total ); + oprintf ( OUT_SYS, 30, " freed: %d\n", free ); + oprintf ( OUT_SYS, 30, " not freed: %d\n", total-free ); + oprintf ( OUT_SYS, 30, " max allocated: %d\n", max ); + oprintf ( OUT_SYS, 30, " malloc'ed blocks: %d\n", mallocc ); + oprintf ( OUT_SYS, 30, " realloc'ed blocks: %d\n", reallocc ); + oprintf ( OUT_SYS, 30, " free'ed blocks: %d\n", freec ); +#endif + +#ifdef TIMING_AVAILABLE + /* if timing is available, the get and print the numbers. */ + oprintf ( OUT_SYS, 30, "\n------- time -------\n" ); + oprintf ( OUT_SYS, 30, " overall: %s\n", + event_string ( t_total ) ); + oprintf ( OUT_SYS, 30, " evaluation: %s\n", + event_string ( t_eval ) ); + oprintf ( OUT_SYS, 30, " breeding: %s\n", + event_string ( t_breed ) ); +#endif + + /* show how large the generation spaces grew. */ + oprintf ( OUT_SYS, 30, "\n------- generation spaces -------\n" ); + for ( i = 0; i < GENSPACE_COUNT; ++i ) + oprintf ( OUT_SYS, 30, " space %3d size: %d\n", + i, gensp[i].size ); + + /* if any ERCs were used, then show these stats. */ + if ( ercused > 0 ) + { + oprintf ( OUT_SYS, 30, "\n------- ephemeral random constants -------\n" ); + oprintf ( OUT_SYS, 30, " used: %d\n", ercused ); + oprintf ( OUT_SYS, 30, " freed: %d\n", ercfree ); + oprintf ( OUT_SYS, 30, " allocated: %d\n", ercalloc ); + oprintf ( OUT_SYS, 30, " blocks: %d\n", ercblocks ); + } +} + +/* initial_message() + * + * show startup and copyright messages. + */ + +void initial_message ( void ) +{ + oputs ( OUT_SYS, 0, + "\n[ lil-gp Genetic Programming System.\n" ); + oputs ( OUT_SYS, 0, + "[ Portions copyright (c) 1995 Michigan State University. All rights reserved.\n" ); + oputs ( OUT_SYS, 0, + "[ kernel version 1.0; 11 July 1995.\n\n\n" ); + +} diff --git a/lib/lilgp/kernel_c/memory.c b/lib/lilgp/kernel_c/memory.c new file mode 100644 index 0000000..93dc7ff --- /dev/null +++ b/lib/lilgp/kernel_c/memory.c @@ -0,0 +1,151 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +#ifdef MEMORY_LOG +extern FILE *mlog; +#endif + +static int totalalloc = 0; +static int maxalloc = 0; +static int freealloc = 0; +static int curalloc = 0; +static int malloccalls = 0; +static int freecalls = 0; +static int realloccalls = 0; + +/* get_memory_stats() + * + * returns the memory statistics stored in static global + * variables. + */ + +void get_memory_stats ( int *total, int *free, int *max, + int *mallocc, int *reallocc, int *freec ) +{ + *total = totalalloc; + *free = freealloc; + *max = maxalloc; + *mallocc = malloccalls; + *reallocc = realloccalls; + *freec = freecalls; +} + +/* track_malloc() + * + * like malloc(), but tracks memory block size. + */ + +void *track_malloc ( int size ) +{ + unsigned char *p; + + if ( size == 0 ) + return NULL; + + p = (unsigned char *)malloc ( size+EXTRAMEM ); + if ( p == NULL ) + return NULL; + ++malloccalls; + totalalloc += size; + curalloc += size; + if ( curalloc > maxalloc ) + maxalloc = curalloc; + *(int *)p = size; +#ifdef MEMORY_LOG + fprintf ( mlog, "MALLOC %d %08x\n", size, (void *)(p+EXTRAMEM) ); + fflush ( mlog ); +#endif + return (void *)(p+EXTRAMEM); +} + +/* track_free() + * + * like free(), but tracks memory block size. use with pointers + * returned by track_malloc(). + */ + +void track_free ( void *p ) +{ + int size; + + if ( p == NULL ) + return; + +#ifdef MEMORY_LOG + fprintf ( mlog, "FREE %08x\n", p ); + fflush ( mlog ); +#endif + + size = *(int *)((unsigned char *)p-EXTRAMEM); + + ++freecalls; + curalloc -= size; + freealloc += size; + + free ( (unsigned char *)p-EXTRAMEM ); +} + +/* *track_realloc() + * + * like realloc(), but tracks memory block size. use with pointers + * returned by track_malloc(). + */ + +void *track_realloc ( void *p, int newsize ) +{ + int size, change; + + if ( p == NULL ) + return MALLOC ( newsize ); + + size = *(int *)((unsigned char *)p-EXTRAMEM); + + change = newsize-size; + curalloc += change; + if ( curalloc > maxalloc ) + maxalloc = curalloc; + if ( change > 0 ) + totalalloc += change; + else + freealloc -= change; + ++realloccalls; + +#ifdef MEMORY_LOG + fprintf ( mlog, "REALLOC %08x", p ); +#endif + p = realloc ( (unsigned char *)p-EXTRAMEM, newsize+EXTRAMEM ); + *(int *)p = newsize; +#ifdef MEMORY_LOG + fprintf ( mlog, " %d %08x\n", newsize, (void *)((unsigned char *)p+EXTRAMEM) ); + fflush ( mlog ); +#endif + return (void *)((unsigned char *)p+EXTRAMEM); +} + + diff --git a/lib/lilgp/kernel_c/mutate.c b/lib/lilgp/kernel_c/mutate.c new file mode 100644 index 0000000..296d5e3 --- /dev/null +++ b/lib/lilgp/kernel_c/mutate.c @@ -0,0 +1,532 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + + +#include + +typedef struct +{ + int keep_trying; + int num_times; /* Number of times we should keep trying. If 0, infinity. --Sean */ + double internal; + double external; + double *tree; + double treetotal; + char *sname; + sel_context *sc; + int method; + int mindepth, maxdepth; +} mutate_data; + + + +/* operator_mutate_init() + * + * initialize a breedphase record for mutation. much of this is cut and + * paste from the crossover operator; see that for (a few) more comments. + */ + +int operator_mutate_init ( char *options, breedphase *bp ) +{ + int errors = 0; + mutate_data *md; + int i, j, k, m; + double r; + char **argv, **targv; + int internalset = 0, externalset = 0; + char *cp; + + md = (mutate_data *)MALLOC ( sizeof ( mutate_data ) ); + + /* fill in the breedphase record. */ + bp->operator = OPERATOR_MUTATE; + bp->data = (void *)md; + bp->operator_free = operator_mutate_free; + bp->operator_start = operator_mutate_start; + bp->operator_end = operator_mutate_end; + bp->operator_operate = operator_mutate; + + /* default values for the mutation-specific data structure. */ + md->keep_trying = 0; + md->internal = 0.9; + md->external = 0.1; + md->tree = (double *)MALLOC ( tree_count * sizeof ( double ) ); + for ( j = 0; j < tree_count; ++j ) + md->tree[j] = 0.0; + md->treetotal = 0.0; + md->sname = NULL; + md->method = GENERATE_HALF_AND_HALF; + md->mindepth = -1; + md->maxdepth = -1; + + j = parse_o_rama ( options, &argv ); + + for ( i = 0; i < j; ++i ) + { + if ( strcmp ( "keep_trying", argv[i] ) == 0 ) + { + md->keep_trying = translate_binary ( argv[++i] ); + if ( md->keep_trying == -1 ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a valid setting for \"keep_trying\".", + argv[i] ); + } + } + /* parse number of times to try */ + else if (strcmp ("num_times", argv[i]) == 0) + { + md->num_times = translate_binary(argv[++i]); + if (md->num_times < 0 ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a valid setting for \"num_times\".", + argv[i] ); + } + } + else if ( strcmp ( "internal", argv[i] ) == 0 ) + { + internalset = 1; + md->internal = strtod ( argv[++i], NULL ); + if ( md->internal < 0.0 ) + { + ++errors; + error ( E_ERROR, "mutation: \"internal\" must be nonnegative." ); + } + } + else if ( strcmp ( "external", argv[i] ) == 0 ) + { + externalset = 1; + md->external = strtod ( argv[++i], NULL ); + if ( md->external < 0.0 ) + { + ++errors; + error ( E_ERROR, "mutation: \"external\" must be nonnegative." ); + } + } + else if ( strcmp ( "select", argv[i] ) == 0 ) + { + if ( !exists_select_method ( argv[++i] ) ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a known selection method.", + argv[i] ); + } + FREE ( md->sname ); + md->sname = (char *)MALLOC ( (strlen(argv[i])+1) * sizeof ( char ) ); + strcpy ( md->sname, argv[i] ); + } + else if ( strcmp ( "method", argv[i] ) == 0 ) + { + ++i; + if ( strcmp ( argv[i], "half_and_half" ) == 0 ) + md->method = GENERATE_HALF_AND_HALF; + else if ( strcmp ( argv[i], "grow" ) == 0 ) + md->method = GENERATE_GROW; + else if ( strcmp ( argv[i], "full" ) == 0 ) + md->method = GENERATE_FULL; + else + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a known generation method.", + argv[i] ); + } + } + else if ( strcmp ( "depth", argv[i] ) == 0 ) + { + md->mindepth = strtol ( argv[++i], &cp, 10 ); + if ( *cp == 0 ) + md->maxdepth = md->mindepth; + else if ( *cp == '-' ) + { + md->maxdepth = strtol ( cp+1, &cp, 10 ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "mutation: malformed depth string \"%s\".", + argv[i] ); + } + } + else + { + ++errors; + error ( E_ERROR, "mutation: malformed depth string \"%s\".", + argv[i] ); + } + } + else if ( strcmp ( "tree", argv[i] ) == 0 ) + { + k = parse_o_rama ( argv[++i], &targv ); + if ( k != tree_count ) + { + ++errors; + error ( E_ERROR, "mutation: wrong number of tree fields: \"%s\".", + argv[i] ); + } + else + { + for ( m = 0; m < k; ++m ) + { + md->tree[m] = strtod ( targv[m], &cp ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a number.", + targv[m] ); + } + } + } + + free_o_rama ( k, &targv ); + } + else if ( strncmp ( "tree", argv[i], 4 ) == 0 ) + { + k = strtol ( argv[i]+4, &cp, 10 ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "mutation: unknown option \"%s\".", + argv[i] ); + } + if ( k < 0 || k >= tree_count ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is out of range.", + argv[i] ); + } + else + { + md->tree[k] = strtod ( argv[++i], &cp ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a number.", + argv[i] ); + } + } + } + else + { + ++errors; + error ( E_ERROR, "mutation: unknown option \"%s\".", + argv[i] ); + } + } + + free_o_rama ( j, &argv ); + + if ( internalset && !externalset ) + md->external = 0.0; + else if ( !internalset && externalset ) + md->internal = 0.0; + + if ( md->sname == NULL ) + { + ++errors; + error ( E_ERROR, "mutation: no selection method specified." ); + } + + if ( md->mindepth == -1 && md->maxdepth == -1 ) + { + md->mindepth = 0; + md->maxdepth = 4; + } + + if ( md->mindepth < 0 || md->maxdepth < 0 || + md->maxdepth < md->mindepth ) + { + ++errors; + error ( E_ERROR, "mutation: bad depth range.\n" ); + } + + for ( j = 0; j < tree_count; ++j ) + md->treetotal += md->tree[j]; + if ( md->treetotal == 0.0 ) + { + for ( j = 0; j < tree_count; ++j ) + md->tree[j] = 1.0; + md->treetotal = tree_count; + } + + r = 0.0; + for ( j = 0; j < tree_count; ++j ) + r = (md->tree[j] += r); + +#ifdef DEBUG + if ( !errors ) + { + printf ( "mutation options:\n" ); + printf ( " internal: %lf external: %lf\n", md->internal, md->external ); + printf ( " keep_trying: %d\n", md->keep_trying ); + printf ( " selection: %s\n", md->sname==NULL?"NULL":md->sname ); + printf ( " method: %d mindepth: %d maxdepth: %d\n", + md->method, md->mindepth, md->maxdepth ); + printf ( " tree total: %lf\n", md->treetotal ); + for ( j = 0; j < tree_count; ++j ) + printf ( " tree %d: %lf\n", j, md->tree[j] ); + } +#endif + + return errors; +} + +/* operator_mutate_free() + * + * free mutation stuff. + */ + +void operator_mutate_free ( void *data ) +{ + mutate_data * md; + + md = (mutate_data *)data; + FREE ( md->sname ); + FREE ( md->tree ); + FREE ( md ); +} + +/* operator_mutate_start() + * + * get selection context for mutation operator. + */ + +void operator_mutate_start ( population *oldpop, void *data ) +{ + mutate_data * md; + select_context_func_ptr select_con; + + md = (mutate_data *)data; + select_con = get_select_context ( md->sname ); + md->sc = select_con ( SELECT_INIT, NULL, oldpop, md->sname ); +} + +/* operator_mutate_end() + * + * free selection context for mutation operator. + */ + +void operator_mutate_end ( void *data ) +{ + mutate_data * md; + + md = (mutate_data *)data; + md->sc->context_method ( SELECT_CLEAN, md->sc, NULL, NULL ); +} + + +/* operator_mutate() + * + * do the mutation. + */ + +void operator_mutate ( population *oldpop, population *newpop, + void *data ) +{ + int i; + int ps; + lnode *replace[2]; + int l, ns; + int badtree; + int repcount; + mutate_data * md; + int t; + double r; + int depth; + int totalnodes; + int p; + int forceany; + double total; + int count=0; + + md = (mutate_data *)data; + total = md->internal + md->external; + + /* choose a tree to mutate. */ + r = random_double(&globrand) * md->treetotal; + for ( t = 0; r >= md->tree[t]; ++t ); + + /* select an individual to mutate. */ + p = md->sc->select_method ( md->sc ); + ps = tree_nodes ( oldpop->ind[p].tr[t].data ); + forceany = (ps==1||total==0.0); + +#ifdef DEBUG_MUTATE + fprintf ( stderr, "the parent size is %d\n", ps ); + fprintf ( stderr, " parent %4d: ", p ); + print_tree ( oldpop->ind[p].tr[t].data, stderr ); +#endif + + while(1) + { + count++; + + if ( forceany ) + { + /* choose any point. */ + l = random_int ( &globrand, ps ); + replace[0] = get_subtree ( oldpop->ind[p].tr[t].data, l ); + } + else if ( total*random_double(&globrand) < md->internal ) + { + /* choose an internal point. */ + l = random_int ( &globrand, tree_nodes_internal ( oldpop->ind[p].tr[t].data ) ); + replace[0] = get_subtree_internal ( oldpop->ind[p].tr[t].data, l ); + } + else + { + /* choose an external point. */ + l = random_int ( &globrand, tree_nodes_external ( oldpop->ind[p].tr[t].data ) ); + replace[0] = get_subtree_external ( oldpop->ind[p].tr[t].data, l ); + } + +#ifdef DEBUG_MUTATE + fprintf ( stderr, "selected for replacement: " ); + print_tree ( replace[0], stderr ); +#endif + + gensp_reset ( 1 ); + /* pick a value from the depth ramp. */ + depth = md->mindepth + random_int ( &globrand, md->maxdepth - md->mindepth + 1 ); + /* grow the tree. */ + switch ( md->method ) + { + case GENERATE_GROW: + /* Look up the return type of the parent */ + generate_random_grow_tree ( 1, depth, fset+tree_map[t].fset, + replace[0]->f->return_type); + break; + case GENERATE_FULL: + generate_random_full_tree ( 1, depth, fset+tree_map[t].fset, + replace[0]->f->return_type); + break; + case GENERATE_HALF_AND_HALF: + if ( random_double(&globrand) < 0.5 ) + generate_random_grow_tree ( 1, depth, fset+tree_map[t].fset, + replace[0]->f->return_type); + else + generate_random_full_tree ( 1, depth, fset+tree_map[t].fset , + replace[0]->f->return_type); + break; + } + +#ifdef DEBUG_MUTATE + fprintf ( stderr, "the new subtree is: " ); + print_tree ( gensp[1].data, stderr ); +#endif + + /* count the nodes in the new tree. */ + ns = ps - tree_nodes ( replace[0] ) + tree_nodes ( gensp[1].data ); + totalnodes = ns; + + /* check the mutated tree against node count and/or size limits. */ + badtree = 0; + if ( tree_map[t].nodelimit > -1 && ns > tree_map[t].nodelimit ) + badtree = 1; + else if ( tree_map[t].depthlimit > -1 ) + { + ns = tree_depth_to_subtree ( oldpop->ind[p].tr[t].data, + replace[0] ) + + tree_depth ( gensp[1].data ); + if ( ns > tree_map[t].depthlimit ) + badtree = 1; + } + + /* if tree is too big and keep_trying is set, then skip to the + stop and choose a new mutation point/mutant subtree. */ + if ( md->keep_trying && badtree && + (md->num_times==0 || + md->num_times > count) ) + continue; + + /* check mutated tree against whole-individual node limits. */ + if ( ind_nodelimit > -1 ) + { + for ( i = 0; i < tree_count; ++i ) + if ( i != t ) + totalnodes += oldpop->ind[p].tr[i].nodes; + badtree |= (totalnodes > ind_nodelimit); + } + + /* if tree is too big and keep_trying is set, then skip to the + stop and choose a new mutation point/mutant subtree. */ + if ( md->keep_trying && badtree && + (md->num_times==0 || + md->num_times > count)) + continue; + + if ( badtree ) + { +#ifdef DEBUG_MUTATE + fprintf ( stderr, + "new tree is too big; reproducing parent.\n" ); +#endif + /* tree too big but keep_trying not set, just reproduce + parent tree. */ + duplicate_individual ( (newpop->ind)+newpop->next, + (oldpop->ind)+p ); + } + else + { +#ifdef DEBUG_MUTATE + fprintf ( stderr, "new tree is permissible.\n" ); +#endif + /* copy the parent tree to the offspring position. */ + duplicate_individual ( (newpop->ind)+newpop->next, + (oldpop->ind)+p ); + /* free the tree selected for mutation. */ + free_tree ( newpop->ind[newpop->next].tr+t ); + + /* copy the selected tree, replacing the subtree at the + mutation point with the randomly generated tree. */ + replace[1] = gensp[1].data; + copy_tree_replace_many ( 0, oldpop->ind[p].tr[t].data, + replace, replace+1, 1, &repcount ); + if ( repcount != 1 ) + { + error ( E_FATAL_ERROR, + "botched mutation: this can't happen." ); + } + /* copy the tree to the new individual. */ + gensp_dup_tree ( 0, newpop->ind[newpop->next].tr+t ); + newpop->ind[newpop->next].evald = EVAL_CACHE_INVALID; + newpop->ind[newpop->next].flags = FLAG_NONE; + +#ifdef DEBUG_MUTATE + fprintf ( stderr, " the mutated individual is: " ); + print_individual ( newpop->ind+newpop->next, stderr ); +#endif + } + + ++newpop->next; + break; + } + +#ifdef DEBUG_MUTATE + printf ( "MUTATION COMPLETE.\n\n\n" ); +#endif +} + diff --git a/lib/lilgp/kernel_c/output.c b/lib/lilgp/kernel_c/output.c new file mode 100644 index 0000000..2b7cbfe --- /dev/null +++ b/lib/lilgp/kernel_c/output.c @@ -0,0 +1,402 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +char buffer[MAXMESSAGELENGTH]; + +typedef struct +{ + int id; + char *ext; + int reset; + char *mode; + int autoflush; + + FILE *f; + int valid; + + char *buffer; +} output; + +output streams[MAXOUTPUTSTREAMS] = + { { OUT_SYS, ".sys", 0, "w", 1, NULL, 0 }, + { OUT_GEN, ".gen", 0, "w", 0, NULL, 0 }, + { OUT_PRG, ".prg", 0, "w", 0, NULL, 0 }, + { OUT_STT, ".stt", 0, "w", 0, NULL, 0 }, + { OUT_BST, ".bst", 1, "w", 0, NULL, 0 }, + { OUT_HIS, ".his", 0, "w", 0, NULL, 0 } }; + +int output_stream_count = SYSOUTPUTSTREAMS; +int toolate = 0; +char *global_basename = NULL; +int detail_level = DEFDETAILLEVEL; + +char error_type[3][20] = { "WARNING: ", "ERROR: ", "FATAL ERROR: " }; + +extern int quietmode; + +/* create_output_stream() + * + * make a new entry in the outputstream table. + */ + +int create_output_stream ( int id, char *ext, int reset, char *mode, + int autoflush ) +{ + int i; + + /* can't create a new stream if they've already been opened. */ + if ( toolate ) + return OUTPUT_TOOLATE; + + /* is the stream table full? */ + if ( output_stream_count >= MAXOUTPUTSTREAMS ) + return OUTPUT_TOOMANY; + + /* is the id or extension the same as an existing stream? */ + for ( i = 0; i < output_stream_count; ++i ) + { + if ( id == streams[i].id ) + return OUTPUT_DUP_ID; + if ( strcmp ( ext, streams[i].ext ) == 0 ) + return OUTPUT_DUP_EXT; + } + + /** save stuff in the table. **/ + + streams[output_stream_count].id = id; + streams[output_stream_count].ext = (char *)malloc ( strlen(ext)+1 ); + strcpy ( streams[output_stream_count].ext, ext ); + streams[output_stream_count].reset = reset; + streams[output_stream_count].mode = (char *)malloc ( strlen(mode)+1 ); + strcpy ( streams[output_stream_count].mode, mode ); + streams[output_stream_count].autoflush = autoflush; + + streams[output_stream_count].f = NULL; + streams[output_stream_count].valid = 0; + ++output_stream_count; + + return OUTPUT_OK; + +} + +/* initialize_output_streams() + * + * initialize the output streams. until they are opened, anything printed + * to one (via oputs() or oprintf()) is saved in memory. + */ + +void initialize_output_streams ( void ) +{ + int i; + + toolate = 1; + + for ( i = 0; i < output_stream_count; ++i ) + streams[i].buffer = NULL; + +} + +/* open_output_streams() + * + * open files associated with each output stream. dump anything buffered + * in memory to the file. + */ + +void open_output_streams ( void ) +{ + int i; + char *fn; + char *basename; + + basename = get_parameter ( "output.basename" ); + + fn = (char *)malloc ( strlen(basename)+50 ); + + for ( i = 0; i < output_stream_count; ++i ) + { + strcpy ( fn, basename ); + strcat ( fn, streams[i].ext ); + streams[i].f = fopen ( fn, streams[i].mode ); + if ( streams[i].f == NULL ) + { + error ( E_ERROR, "can't open output file \"%s\".", fn ); + } + else + { + streams[i].valid = 1; + if ( streams[i].buffer ) + fputs ( streams[i].buffer, streams[i].f ); + FREE ( streams[i].buffer ); + streams[i].buffer = NULL; + } + } + + global_basename = (char *)malloc ( strlen(basename)+1 ); + strcpy ( global_basename, basename ); + + set_detail_level ( atoi ( get_parameter ( "output.detail" ) ) ); +} + +/* oputs() + * + * prints a string to an output stream. + */ + +void oputs ( int streamid, int detail, char *string ) +{ + int i, j; + + if ( streamid == OUT_SYS && !quietmode ) + { + printf ( string ); + fflush ( stdout ); + } + + if ( detail_level < detail ) + return; + + for ( i = 0; i < output_stream_count; ++i ) + { + if ( streamid == streams[i].id ) + { + if ( streams[i].valid ) + { + fputs ( string, streams[i].f ); + if ( streams[i].autoflush ) + fflush ( streams[i].f ); + break; + } + else + { + if ( streams[i].buffer ) + { + j = strlen ( streams[i].buffer ) + + strlen ( string ) + 1; + streams[i].buffer = (char *)REALLOC ( streams[i].buffer, j ); + strcat ( streams[i].buffer, string ); + } + else + { + streams[i].buffer = (char *)MALLOC ( strlen ( string ) + 1 ); + strcpy ( streams[i].buffer, string ); + } + } + } + } +} + +/* oprintf() + * + * prints a formatted string to an output stream. + */ + +void oprintf ( int streamid, int detail, char *format, ... ) +{ + va_list ap; + + if ( detail_level < detail ) + return; + + va_start ( ap, format ); + vsprintf ( buffer, format, ap ); + va_end ( ap ); + + oputs ( streamid, detail, buffer ); +} + +/* output_filehandle() + * + * returns the filehandle associated with a given stream. + */ + +FILE *output_filehandle ( int streamid ) +{ + int i; + for ( i = 0; i < output_stream_count; ++i ) + if ( streamid == streams[i].id ) + if ( streams[i].valid ) + return ( streams[i].f ); + return NULL; +} + +/* output_stream_close() + * + * closes an output stream, if it has been marked as resettable. + */ + +void output_stream_close ( int streamid ) +{ + int i; + for ( i = 0; i < output_stream_count; ++i ) + if ( streamid == streams[i].id ) + if ( streams[i].reset ) + if ( streams[i].valid ) + { + fclose ( streams[i].f ); + streams[i].valid = 0; + break; + } +} + +/* output_stream_open() + * + * reopens a resettable output stream. + */ + +void output_stream_open ( int streamid ) +{ + char *fn; + int i; + + for ( i = 0; i < output_stream_count; ++i ) + if ( streamid == streams[i].id ) + if ( streams[i].reset ) + if ( !streams[i].valid ) + { + fn = (char *)malloc ( strlen(global_basename)+50 ); + + strcpy ( fn, global_basename ); + strcat ( fn, streams[i].ext ); + streams[i].f = fopen ( fn, streams[i].mode ); + if ( streams[i].f == NULL ) + { + /* an error. */ + } + else + streams[i].valid = 1; + } +} + +/* output_stream_flush() + * + * flushes all the resettable output streams. + */ + +void output_stream_flush ( int streamid ) +{ + int i; + + for ( i = 0; i < output_stream_count; ++i ) + if ( streamid == streams[i].id ) + if ( streams[i].reset ) + if ( streams[i].valid ) + fflush ( streams[i].f ); +} + +/* close_output_streams() + * + * closes all the output streams. + */ + +void close_output_streams ( void ) +{ + int i; + + for ( i = 0; i < output_stream_count; ++i ) + { + if ( streams[i].valid ) + { + fclose ( streams[i].f ); + streams[i].valid = 0; + } + } + + for ( i = SYSOUTPUTSTREAMS; i < MAXOUTPUTSTREAMS; ++i ) + { + free ( streams[i].ext ); + free ( streams[i].mode ); + } + + free ( global_basename ); +} + +/* flush_output_streams() + * + * flushes all the output streams. + */ + +void flush_output_streams ( void ) +{ + int i; + for ( i = 0; i < output_stream_count; ++i ) + if ( streams[i].valid ) + fflush ( streams[i].f ); +} + +/* error() + * + * prints an error message to the system output stream, with a given + * level of severity. If the error is fatal, then the error is also + * printed to stderr and the program exits with status 1. + */ + +void error ( int severity, char *format, ... ) +{ + va_list ap; + + va_start ( ap, format ); + vsprintf ( buffer, format, ap ); + va_end ( ap ); + strcat ( buffer, "\n" ); + + oputs ( OUT_SYS, 0, error_type[severity] ); + oputs ( OUT_SYS, 0, buffer ); + + if ( severity == E_FATAL_ERROR ) + { + fprintf ( stderr, "exiting due to fatal error.\n" ); + exit(1); + } + +} + +/* set_detail_level() + * + * sets the detail level to a given value. + */ + +void set_detail_level ( int newlevel ) +{ + if ( newlevel >= MINDETAILLEVEL && + newlevel <= MAXDETAILLEVEL ) + detail_level = newlevel; +} + +/* test_detail_level() + * + * returns 1 if the argument is less than or equal to the current + * detail level. + */ + +int test_detail_level ( int detail ) +{ + if ( detail_level < detail ) + return 0; + return 1; +} diff --git a/lib/lilgp/kernel_c/params.c b/lib/lilgp/kernel_c/params.c new file mode 100644 index 0000000..70113d9 --- /dev/null +++ b/lib/lilgp/kernel_c/params.c @@ -0,0 +1,751 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/** array of parameters, along with the size of the array and the number + of parameters used. **/ +parameter *param; +int param_size = 0, param_alloc = 0; + +/* read_parameter_file() + * + * reads and parses a parameter file. + */ + +void read_parameter_file ( char *filename ) +{ + FILE *f; + char buffer[MAXPARAMLINELENGTH+1]; + char *buf2; + int buf2size; + int line = 0; + int errors = 0; + int including = 1; + int flag; + int buflen, buf2len; + int cont; + + /** open it. **/ + f = fopen ( filename, "r" ); + if ( f == NULL ) + error ( E_FATAL_ERROR, "can't open parameter file \"%s\".", + filename ); + + /** lines are read into buffer. they are appended to buf2 until a + line which is not continued is hit, then buf2 is parsed and the + parameter added. **/ + + /* initial allocation of buf2. */ + buf2 = (char *)MALLOC ( MAXPARAMLINELENGTH * sizeof ( char ) ); + buf2size = MAXPARAMLINELENGTH; + buf2[0] = 0; + buf2len = 0; + cont = 0; + + while ( fgets ( buffer, MAXPARAMLINELENGTH, f ) != NULL ) + { + ++line; + + /* remove comments, skip line if it's blank after comment + removal. */ + if ( delete_comment ( buffer ) ) + continue; + + /** if this is a %ifdef, %ifndef, or %endif directive, then + set the including variable accordingly. **/ + if ( buffer[0] == '%' ) + { + flag = 0; + if ( strncmp ( buffer+1, "ifdef", 5 ) == 0 ) + including = test_directive ( buffer+6 ); + else if ( strncmp ( buffer+1, "ifndef", 6 ) == 0 ) + including = !test_directive ( buffer+7 ); + else if ( strncmp ( buffer+1, "endif", 5 ) == 0 ) + including = 1; + else + flag = 1; + + if ( !flag ) + continue; + } + + /* skip this line unless including is set. */ + if ( !including ) + continue; + + /** if this is a %define or %undefine directive, then process + it. **/ + if ( buffer[0] == '%' ) + { + if ( strncmp ( buffer+1, "define", 6 ) == 0 ) + define_directive ( buffer+7 ); + else if ( strncmp ( buffer+1, "undefine", 8 ) == 0 ) + undefine_directive ( buffer+9 ); + else + error ( E_ERROR, "%s line %d: unknown directive.", + filename, line ); + continue; + } + + /* is this line continued? (is the last nonwhitespace character + a backslash?) */ + cont = check_continuation ( buffer ); + + /** make buf2 bigger if necessary. **/ + buflen = strlen ( buffer ); + while ( buf2len + buflen > buf2size + 10 ) + { + buf2size += MAXPARAMLINELENGTH; + buf2 = (char *)REALLOC ( buf2, buf2size * sizeof ( char ) ); + } + + /** tack the current line onto buf2. **/ + strcat ( buf2, buffer ); + buf2len += buflen; + + /** if this line is not continued further, then parse buf2. and + add the parameter. **/ + if ( !cont ) + { + if ( parse_one_parameter ( buf2 ) ) + { + errors = 1; + error ( E_ERROR, "%s line %d: syntax error.", + filename, line ); + } + + /** reset buf2 as empty. **/ + buf2len = 0; + buf2[0] = 0; + } + } + + /* close file. */ + fclose ( f ); + + /** if the last line was continued, and nothing followed it, that's + an error. **/ + if ( buf2len != 0 ) + { + errors = 1; + error ( E_ERROR, "unexpected EOF." ); + } + + /** if any errors occurred during parsing, stop now. **/ + if ( errors ) + error ( E_FATAL_ERROR, + "some syntax errors occurred parsing \"%s\".", filename ); + + FREE ( buf2 ); + +} + +/* check_continuation() + * + * returns true/false depending on whether the given string is continued + * (the last nonwhitespace character is a backslash). If so, the backslash + * and everything after it is chopped. + */ + +int check_continuation ( char *buffer ) +{ + int i, l; + l = strlen ( buffer ); + for ( i = l-1; i >= 0; --i ) + if ( !isspace(buffer[i]) ) + { + if ( buffer[i] == '\\' ) + { + buffer[i] = '\n'; + buffer[i+1] = 0; + return 1; + } + else + return 0; + } + + /* a blank line was passed. */ + return 0; +} + +/* delete_comment() + * + * this searches the string for a '#' or ';' and chops everything + * following, if one is found. returns 1 if the resulting line is blank + * (all whitespace), 0 otherwise. + */ + +int delete_comment ( char *buffer ) +{ + int i, l; + + l = strlen ( buffer ); + /* zero-length lines are considered blank. */ + if ( l == 0 ) + return 1; + /* if the last character is a newline, chop it. */ + if ( buffer[--l] == '\n' ) + buffer[l] = 0; + for ( i = 0; i < l; ++i ) + if ( buffer[i] == '#' || buffer[i] == ';' ) + { + /* chop the line at a '#' or ';'. */ + buffer[i] = 0; + break; + } + /* look for a nonwhitespace character. */ + l = strlen ( buffer ); + for ( i = 0; i < l; ++i ) + if ( !isspace(buffer[i]) ) + /* found one, return 0. */ + return 0; + + /* blank line, return 1. */ + return 1; +} + +/* translate_binary() + * + * this translates all of the valid strings representing binary values + * to the corresponding integer. + */ + +int translate_binary ( char *string ) +{ + if ( strcmp ( string, "true" ) == 0 || + strcmp ( string, "t" ) == 0 || + strcmp ( string, "on" ) == 0 || + strcmp ( string, "yes" ) == 0 || + strcmp ( string, "y" ) == 0 || + strcmp ( string, "1" ) == 0 ) + return 1; + else if ( strcmp ( string, "false" ) == 0 || + strcmp ( string, "f" ) == 0 || + strcmp ( string, "off" ) == 0 || + strcmp ( string, "no" ) == 0 || + strcmp ( string, "n" ) == 0 || + strcmp ( string, "0" ) == 0 ) + return 0; + else + return -1; +} + +/* read_parameter_database() + * + * this reads parameters from a checkpoint file. + */ + +void read_parameter_database ( FILE *f ) +{ + int i, j, k; + int count; + char *buf1, *buf2; + int buf2len, buf2alloc; + + /* how many parameters are we supposed to find? */ + fscanf ( f, "%*s %d\n", &count ); + if ( fgetc ( f ) != '#' ) + error ( E_FATAL_ERROR, "error in parameter section of checkpoint file." ); + + buf1 = (char *)MALLOC ( MAXPARAMLINELENGTH ); + buf2 = (char *)MALLOC ( MAXPARAMLINELENGTH ); + buf2alloc = MAXPARAMLINELENGTH; + buf2[0] = 0; + buf2len = 0; + + for ( i = 0; i < count; ) + { + /* get a line in buf1. */ + fgets ( buf1, MAXPARAMLINELENGTH, f ); + + /** lengthen buf2 if necessary. */ + while ( buf2len + strlen ( buf1 ) >= buf2alloc ) + { + buf2 = (char *)REALLOC ( buf2, buf2alloc + MAXPARAMLINELENGTH ); + buf2alloc += MAXPARAMLINELENGTH; + } + /** tack line onto buf2. **/ + strcat ( buf2, buf1 ); + buf2len += strlen ( buf1 ); + + /* get the first character of the next line. */ + k = fgetc ( f ); + if ( k != '+' ) + { + /** not a '+', so the line is not continued. **/ + + /* chop the final newline. */ + buf2[buf2len-1] = 0; + for ( j = 0; j < buf2len; ++j ) + /* look for a " = " substring, and break it into name/value + there. */ + if ( buf2[j] == ' ' && buf2[j+1] == '=' && + buf2[j+2] == ' ' ) + { + /** add the parameter. **/ + buf2[j] = 0; + add_parameter ( buf2, buf2+j+3, + PARAM_COPY_NAME|PARAM_COPY_VALUE ); +#ifdef DEBUG + fprintf ( stderr, "name = [%s]\nvalue = [%s]\n", + buf2, buf2+j+3 ); +#endif + } + + /** reset buf2. **/ + buf2[0] = 0; + buf2len = 0; + + /* count of how many we've found. */ + ++i; + } + } + /* put the extra character we read back. */ + ungetc ( k, f ); + + FREE ( buf1 ); + FREE ( buf2 ); +} + +/* write_parameter_database() + * + * this writes all the parameters to a checkpoint file, as "name = value\n". + * since parameters can have embedded newlines, we begin each line of the + * file with a "#" to indicate the start of a new name/value pair or a "+" + * to indicate a continuation of the previous line. + */ + +void write_parameter_database ( FILE *f ) +{ + int i, j; + + /* write the total count. */ + fprintf ( f, "parameter-count: %d\n", param_size ); + for ( i = 0; i < param_size; ++i ) + { + /* start the pair with a '#'. */ + fputc ( '#', f ); + /** write the name, adding '+' after newlines. */ + for ( j = 0; j < strlen ( param[i].n ); ++j ) + { + fputc ( param[i].n[j], f ); + if ( param[i].n[j] == '\n' ) + fputc ( '+', f ); + } + /* write " = ". */ + fputs ( " = ", f ); + /** write the value, adding '+' after newlines. */ + for ( j = 0; j < strlen ( param[i].v ); ++j ) + { + fputc ( param[i].v[j], f ); + if ( param[i].v[j] == '\n' ) + fputc ( '+', f ); + } + /* end the pair. */ + fputc ( '\n', f ); + } +} + +/* initialize_parameters() + * + * initializes the parameter database. */ + +void initialize_parameters ( void ) +{ + oputs ( OUT_SYS, 30, " parameter database.\n" ); + + param = (parameter *)MALLOC ( PARAMETER_MINSIZE * sizeof ( parameter ) ); + param_alloc = PARAMETER_MINSIZE; + param_size = 0; +} + +/* free_parameters() + * + * frees all the parameters. + */ + +void free_parameters ( void ) +{ + int i; + + for ( i = 0; i < param_size; ++i ) + { + /* if add_parameter made a copy of the name, then free it. */ + if ( param[i].copyflags & PARAM_COPY_NAME ) + FREE ( param[i].n ); + /* if add_parameter make a copy of the value, then free it. */ + if ( param[i].copyflags & PARAM_COPY_VALUE ) + FREE ( param[i].v ); + } + + FREE ( param ); + param = NULL; + param_alloc = 0; + param_size = 0; +} + +/* add_parameter() + * + * adds the given name/value pair to the database. the flags indicate + * which if any of the strings need to be copied. + */ + +void add_parameter ( char *name, char *value, int copyflags ) +{ + + /* erase any existing parameter of the same name. */ + delete_parameter ( name ); + + /** if the database is full, make it bigger. **/ + while ( param_alloc < param_size+1 ) + { + param_alloc += PARAMETER_CHUNKSIZE; + param = (parameter *)REALLOC ( param, + param_alloc * sizeof ( parameter ) ); + } + + /** add the name. **/ + if ( copyflags & PARAM_COPY_NAME ) + { + /* make a copy of the string if requested. */ + param[param_size].n = (char *)MALLOC ( strlen(name)+1 ); + strcpy ( param[param_size].n, name ); + } + else + /* just store the pointer passed to us. */ + param[param_size].n = name; + + /** add the value. **/ + if ( copyflags & PARAM_COPY_VALUE ) + { + /* make a copy of the string if requested. */ + param[param_size].v = (char *)MALLOC ( strlen(value)+1 ); + strcpy ( param[param_size].v, value ); + } + else + /* just store the pointer passed to us. */ + param[param_size].v = value; + + /* record whether our values are copies or not. */ + param[param_size].copyflags = copyflags; + + ++param_size; + +} + +/* delete_parameter() + * + * deletes a parameter from the database. + */ + +int delete_parameter ( char *name ) +{ + int i; + + for ( i = 0; i < param_size; ++i ) + if ( strcmp ( name, param[i].n ) == 0 ) + { + /** free any copies make by add_parameter. **/ + if ( param[i].copyflags & PARAM_COPY_NAME ) + FREE ( param[i].n ); + if ( param[i].copyflags & PARAM_COPY_VALUE ) + FREE ( param[i].v ); + + /** move the last value in the database to the position + of the deleted one. **/ + if ( param_size-1 != i ) + { + param[i].n = param[param_size-1].n; + param[i].v = param[param_size-1].v; + param[i].copyflags = param[param_size-1].copyflags; + } + --param_size; + return 1; + } + + return 0; +} + +/* get_parameter() + * + * looks up a parameter in the database. + */ + +char *get_parameter ( char *name ) +{ + int i; + + for ( i = 0; i < param_size; ++i ) + if ( strcmp ( name, param[i].n ) == 0 ) + return param[i].v; + return NULL; +} + +/* print_parameters() + * + * dumps parameter database to stdout. + */ + +void print_parameters ( void ) +{ + int i; + + for ( i = 0; i < param_size; ++i ) + printf ( "name: \"%s\" value: \"%s\" copy: %d\n", + param[i].n, param[i].v, param[i].copyflags ); + +} + +/* parse_one_parameter() + * + * breaks a string at the first equals sign into name and value parts. + * removes leading and trailing whitespace from both parts. inserts the + * resulting pair into the parameter database. + */ + +int parse_one_parameter ( char *buffer ) +{ + char name[MAXPARAMLINELENGTH+1]; + char data[MAXPARAMLINELENGTH+1]; + int i, j, k, l; + int n, d; + + k = -1; + j = 0; + l = strlen ( buffer ); + /** scan for a equals sign. **/ + for ( i = 0; i < l; ++i ) + { + /* j records whether or not we have found a nonwhitespace + character. */ + j += (buffer[i] != ' ' && buffer[i] != '\t' && buffer[i] != '\n'); + if ( buffer[i] == '=' ) + { + k = i; + /* copy the name part. */ + strncpy ( name, buffer, k ); + name[k] = 0; + /* copy the value part. */ + strcpy ( data, buffer+k+1 ); + break; + } + } + + /* if we found no '=', return an error unless the line was + completely blank. */ + if ( k == -1 ) + return !!j; + + /* trim leading and trailing whitespace. */ + n = trim_string ( name ); + d = trim_string ( data ); + + /** if either section is blank, return an error, otherwise add + the pair as a parameter. **/ + if ( n == 0 || d == 0 ) + return 1; + else + add_parameter ( name, data, PARAM_COPY_NAME|PARAM_COPY_VALUE ); + + return 0; +} + +/* trim_string() + * + * trims leading and trailing whitespace from a string, overwriting the + * argument with the result. returns number of characters in result. + */ + +int trim_string ( char *string ) +{ + int i, j, l; + + j = -1; + l = strlen ( string ); + for ( i = 0; i < l; ++i ) + { + if ( j == -1 ) + { + if ( string[i] != ' ' && string[i] != '\t' && + string[i] != '\n' ) + { + j = i; + --i; + } + } + else + string[i-j] = string[i]; + } + if ( j == -1 ) + { + string[0] = 0; + return 0; + } + + string[i-j] = 0; + l = i-j; + j = -1; + for ( i = 0; i < l; ++i ) + { + if ( string[i] != ' ' && string[i] != '\t' && string[i] != '\n' ) + j = i; + } + string[j+1] = 0; + + return j+1; +} + +/* define_directive() + * + * defines a directive "SYMBOL", which is just a parameter called + * "__define:SYMBOL". trims leading and trailing whitespace from SYMBOL. + */ + +void define_directive ( char *string ) +{ + char *buffer; + int i; + + for ( i = 0; i < strlen(string) && isspace(string[i]); ++i ); + + buffer = (char *)MALLOC ( (20 + strlen(string)) * sizeof ( char ) ); + strcpy ( buffer, "__define:" ); + strcat ( buffer, string+i ); + + for ( i = strlen(buffer)-1; i >= 0 && isspace(buffer[i]); --i ) + buffer[i] = 0; + + add_parameter ( buffer, "1", PARAM_COPY_NAME ); + FREE ( buffer ); +} + +/* undefine_directive() + * + * undefines a directive "SYMBOL". + */ + +void undefine_directive ( char *string ) +{ + char *buffer; + int i; + + for ( i = 0; i < strlen(string) && isspace(string[i]); ++i ); + + buffer = (char *)MALLOC ( (20 + strlen(string)) * sizeof ( char ) ); + strcpy ( buffer, "__define:" ); + strcat ( buffer, string+i ); + + for ( i = strlen(buffer)-1; i >= 0 && isspace(buffer[i]); --i ) + buffer[i] = 0; + + delete_parameter ( buffer ); + FREE ( buffer ); +} + +/* test_directive() + * + * returns 1 iff a given directive is defined. + */ + +int test_directive ( char *string ) +{ + char *buffer; + int ret; + int i; + + for ( i = 0; i < strlen(string) && isspace(string[i]); ++i ); + + buffer = (char *)MALLOC ( (20 + strlen(string)) * sizeof ( char ) ); + strcpy ( buffer, "__define:" ); + strcat ( buffer, string+i ); + + for ( i = strlen(buffer)-1; i >= 0 && isspace(buffer[i]); --i ) + buffer[i] = 0; + + if ( get_parameter ( buffer ) ) + ret = 1; + else + ret = 0; + + FREE ( buffer ); + return ret; +} + +/* binary_parameter() + * + * checks for the existence of a parameter. if it exists, then it is changed + * to the string "0" or "1" using lilgp's list of strings representing + * binary values. if the value is not on the list, or the parameter is + * not found, then the parameter is set according to the value argument (it + * acts as a default). + */ + +void binary_parameter ( char *name, int value ) +{ + char *param = get_parameter ( name ); + char string[2]; + char *i, *is; + int v; + + if ( param != NULL ) + { + /* copy the value and lowercase it. */ + v = strlen ( param ); + i = (char *)MALLOC ( (v+1)*sizeof ( char ) ); + strcpy ( i, param ); + for ( is = i; *is; ++is ) + *is = tolower(*is); + + /* translate to a binary integer. */ + v = translate_binary ( i ); + + if ( v == -1 ) + { + /* translation failed, use the value argument. */ + error ( E_ERROR, + "\"%s\" is not a legal value for \"%s\"; assuming default.", + i, name ); + v = value; + } + + FREE ( i ); + + } + else + /* parameter not found, use the value argument. */ + v = value; + + /** print the value to a string and put it in the parameter database. */ + sprintf ( string, "%d", !!v ); + add_parameter ( name, string, PARAM_COPY_VALUE|PARAM_COPY_NAME ); + +} + + + + diff --git a/lib/lilgp/kernel_c/populate.c b/lib/lilgp/kernel_c/populate.c new file mode 100644 index 0000000..8bef282 --- /dev/null +++ b/lib/lilgp/kernel_c/populate.c @@ -0,0 +1,548 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ +#include + + + +/* Read in an individual from a file, skipping any text in between */ +void mod_read_tree_recurse ( int space, ephem_const **eind, FILE *fil, int tree, + char *string, int skip ) +{ + function *f; + int i, j; + ephem_const *ep; + + if( skip ) + { + i = 0; + /*Read up until we get the first parenthesies */ + while( i != '(' ) + { + if( feof(fil) ) + { + fseek( fil, 0L, SEEK_SET ); + } + i = fgetc(fil); + } + if( i != '(' ) + { + error( E_FATAL_ERROR, "Ran out of file space while reading in saved tree"); + } + } + /* read up until a nonwhitespace character in file. the nonwhitespace + character is saved in string[0]. */ + while ( isspace(string[0]=fgetc(fil)) ); + /* get the next character. */ + i = fgetc ( fil ); + if ( isspace(i) ) + /* if the next character is whitespace, then string[0] is a + one-character function name. null-terminate the string. */ + string[1] = 0; + else + { + /** if the next character is not whitespace, then string[0] + is either an open parenthesis or the first character of a + multi-character function name. **/ + + /* push the next character back. */ + ungetc ( i, fil ); + /* read the function name. skip over an open parenthesis, if there + is one. */ + fscanf ( fil, "%s ", string+(string[0]!='(') ); + } +#ifdef DEBUG_READTREE + fprintf ( stderr, "function name is [%s]\n", string ); +#endif + + /* look up the function name in this tree's function set. if the + function is an ERC terminal (the name is of the form "name:ERCindex"), + then place the ERC address in ep. */ + f = get_function_by_name ( tree, string, &ep, eind ); + /* add an lnode to the tree. */ + gensp_next(space)->f = f; + + switch ( f->type ) + { + case TERM_NORM: + case TERM_ARG: + case EVAL_TERM: + break; + case TERM_ERC: + /* record the ERC address as the next lnode in the array. */ + gensp_next(space)->d = ep; + break; + case FUNC_DATA: + case EVAL_DATA: + /** recursively read child functions, no skip nodes needed. **/ + for ( i = 0; i < f->arity; ++i ) + mod_read_tree_recurse ( space, eind, fil, tree, string, 0 ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + /** recursively read child functions, recording skip values. **/ + for ( i = 0; i < f->arity; ++i ) + { + /* save an lnode for the skip value. */ + j = gensp_next_int ( space ); + /* read the child tree. */ + mod_read_tree_recurse ( space, eind, fil, tree, string, 0); + /* figure out how big the child tree was, and save that + number in the skip node. */ + gensp[space].data[j].s = gensp[space].used-j-1; + } + break; + } +} + + +/* generate_random_population() + * + * fills a population with randomly generated members. + */ + +void generate_random_population ( population *p, int *mindepth, + int *maxdepth, int *method, FILE **dataum ) +{ + int i, j, k, m; + int attempts; + int totalattempts = 0; + int depth; + int attempts_generation; + tree *temp; + int totalnodes = 0; + int flag; + char buf[2048]; + int ignore_limits; + + /* how many consecutive rejected trees we will tolerate before + giving up. */ + attempts_generation = atoi ( get_parameter ( "init.random_attempts" ) ); + if ( attempts_generation <= 0 ) + error ( E_FATAL_ERROR, + "\"init.random_attempts\" must be positive." ); + + ignore_limits = (get_parameter("init.ignore_limits")!=NULL); + + temp = (tree *)MALLOC ( tree_count * sizeof ( tree ) ); + + k = 0; + attempts = attempts_generation; + while ( k < p->size ) + { + /* total nodes in the individual being generated. */ + totalnodes = 0; + + for ( j = 0; j < tree_count; ++j ) + { + + if ( attempts <= 0 ) + error ( E_FATAL_ERROR, + "The last %d trees generated have been bad. Giving up.", + attempts_generation ); + + --attempts; + ++totalattempts; + + /* pick a depth on the depth ramp. */ + depth = mindepth[j] + random_int ( &globrand, maxdepth[j] - mindepth[j] + 1 ); + + /* clear a generation space. */ + gensp_reset ( 0 ); + + /** generate the tree. **/ + switch ( method[j] ) + { + case GENERATE_FULL: + generate_random_full_tree ( 0, depth, fset+tree_map[j].fset, + tree_map[j].return_type); + break; + case GENERATE_GROW: + generate_random_grow_tree ( 0, depth, fset+tree_map[j].fset, + tree_map[j].return_type); + break; + case GENERATE_HALF_AND_HALF: + if ( random_double(&globrand) < 0.5 ) + generate_random_full_tree ( 0, depth, fset+tree_map[j].fset, + tree_map[j].return_type); + else + generate_random_grow_tree ( 0, depth, fset+tree_map[j].fset, + tree_map[j].return_type); + break; + + case LOAD_FILE: + gensp_reset(0); + mod_read_tree_recurse( 0, NULL, dataum[j], j, buf, 1); + /* need to do something here about limit checking */ + break; + } + + /** throw away the tree if it's too big. **/ + + /*printf("Attempted Tree: "); + print_tree(gensp[0].data,stdout);*/ + + /* first check the node limits. */ + flag = 0; + m = tree_nodes ( gensp[0].data ); + + + if (method[j]!=LOAD_FILE) + { + if ( tree_map[j].nodelimit > -1 && m > tree_map[j].nodelimit ) + { + --j; + continue; + } + + /* now change the depth limits. */ + if ( tree_map[j].depthlimit > -1 && tree_depth ( gensp[0].data ) > tree_map[j].depthlimit ) + { + --j; + continue; + } + + /* count total nodes in the individual being created. */ + } + totalnodes += m; + gensp_dup_tree ( 0, temp+j ); + } + + if (!ignore_limits) + { + + /* is the individual over the total node limit (if one is set)? */ + if ( ind_nodelimit > -1 && totalnodes > ind_nodelimit ) + { +#ifdef DEBUG + printf ( "overall node limit violated.\n" ); +#endif + /* yes, so delete it and try again. */ + for ( j = 0; j < tree_count; ++j ) + free_tree ( temp+j ); + continue; + } + + /* throw away the individual if it's a duplicate. */ + for ( i = 0; i < k; ++i ) + { + flag = 0; + for ( j = 0; j < tree_count && !flag; ++j ) + { + if ( temp[j].size == p->ind[i].tr[j].size ) + { + if ( memcmp ( temp[j].data, p->ind[i].tr[j].data, + temp[j].size * sizeof ( lnode ) ) ) + { + flag = 1; + } + } + else + flag = 1; + } + if ( !flag ) + break; + } + if ( i < k ) + { +#ifdef DEBUG + printf ( "duplicate individual: (same as %d)\n", i ); + for ( j = 0; j < tree_count; ++j ) + { + printf ( " tree %d: ", j ); + print_tree ( temp[j].data, stdout ); + } +#endif + /* individual is a duplicate, throw it away. */ + --attempts; + for ( j = 0; j < tree_count; ++j ) + free_tree ( temp+j ); + continue; + } + } + + /** we now have a good individual to put in the population. */ + + /* copy the tree array. */ + memcpy ( p->ind[k].tr, temp, tree_count * sizeof ( tree ) ); + + /* reference ERCs. */ + for ( j = 0; j < tree_count; ++j ) + reference_ephem_constants ( p->ind[k].tr[j].data, 1 ); + +#ifdef DUMP_POPULATION + printf ( "individual %5d:\n", k ); + print_individual ( p->ind+k, stdout ); +#endif + /* mark individual as unevaluated. */ + p->ind[k].evald = EVAL_CACHE_INVALID; + p->ind[k].flags = FLAG_NONE; + + attempts = attempts_generation; + ++k; + + } + + FREE ( temp ); + + oprintf ( OUT_SYS, 10, + " %d trees were generated to fill the population of %d (%d trees).\n", + totalattempts, p->size, p->size * tree_count ); + +} + +/* allocate_population() + * + * allocates a population structure with the given size. + */ + +population *allocate_population ( int size ) +{ + int i; + population *p = (population *)MALLOC ( sizeof ( population ) ); + + p->size = size; + p->next = 0; + /* allocate the array of individuals. */ + p->ind = (individual *)MALLOC ( size * sizeof ( individual ) ); + + for ( i = 0; i < size; ++i ) + { + /* each individual has a block of tree structures, allocate + those here. */ + p->ind[i].tr = (tree *)MALLOC ( tree_count * sizeof ( tree ) ); + p->ind[i].evald = EVAL_CACHE_INVALID; + p->ind[i].flags = FLAG_NONE; + } + + return p; +} + +/* free_multi_population() + * + * frees the populations in a multipop structure. + */ + +void free_multi_population ( multipop *mp ) +{ + int i; + for ( i = 0; i < mp->size; ++i ) + free_population ( mp->pop[i] ); + FREE ( mp->pop ); + FREE ( mp ); +} + +/* free_population() + * + * frees a population and all the individuals in it. + */ + +void free_population ( population *p ) +{ + int i, j; + for ( i = 0; i < p->size; ++i ) + { + for ( j = 0; j < tree_count; ++j ) + { + /* dereference ERCs. */ + reference_ephem_constants ( p->ind[i].tr[j].data, -1 ); + free_tree ( &(p->ind[i].tr[j]) ); + } + FREE ( p->ind[i].tr ); + } + FREE ( p->ind ); + FREE ( p ); +} + +/* initial_multi_population() + * + * randomly fills a multipop strcture with individuals. + */ + +multipop *initial_multi_population ( void ) +{ + char *param; + char temp_name[256]; + char **tree_replace; + multipop *mpop; + int i; + int *mindepth, *maxdepth, *method; + char *cp; + char pnamebuf[100]; + FILE **tree_data; + FILE *fp; + + oputs ( OUT_SYS, 10, "creating initial population(s):\n" ); + + mpop = (multipop *)MALLOC ( sizeof ( multipop ) ); + + /* how many subpops are we supposed to have? */ + param = get_parameter ( "multiple.subpops" ); + mpop->size = atoi ( param ); + if ( mpop->size <= 0 ) + error ( E_FATAL_ERROR, + "\"%s\" is not a valid value for \"multiple.subpops\".", + param ); + + /* allocate that many population pointers. */ + mpop->pop = (population **)MALLOC ( sizeof ( population* ) * mpop->size ); + + /* read the depth ramp and generation method(s), which can be + different for each tree. */ + tree_replace = (char **)MALLOC(sizeof(char *)*tree_count); + tree_data = (FILE **)MALLOC( sizeof(FILE *)*tree_count); + + for( i = 0; i < tree_count; i++ ) + { + sprintf( temp_name, "tree-replace[%d]", i ); + tree_replace[i] = get_parameter( temp_name ); + } + + for( i = 0; i < tree_count; i++ ) + { + if( tree_replace[i] != NULL ) + { + tree_data[i] = fopen( tree_replace[i], "r" ); + if( fp == NULL ) + { + /* Error Handler */ + error( E_FATAL_ERROR, "Unable to open file %s\n", tree_replace[i] ); + } + + } else { + tree_data[i] = NULL; + } + } + + mindepth = (int *)MALLOC ( tree_count * sizeof ( int ) ); + maxdepth = (int *)MALLOC ( tree_count * sizeof ( int ) ); + method = (int *)MALLOC ( tree_count * sizeof ( int ) ); + + for ( i = 0; i < tree_count; ++i ) + { + mindepth[i] = -1; + maxdepth[i] = -1; + + /** read the depth ramp. **/ + sprintf ( pnamebuf, "init.tree[%d].depth", i ); + param = get_parameter ( pnamebuf ); + if ( !param ) + param = get_parameter ( "init.depth" ); + if ( param == NULL ) + error ( E_FATAL_ERROR, "\"init.tree[%d].depth\" must be specified.", i ); + + /** parse the depth ramp ("min-max" or just "val"). **/ + mindepth[i] = strtol ( param, &cp, 10 ); + if ( *cp ) + { + if ( *cp == '-' ) + { + maxdepth[i] = strtol ( cp+1, &cp, 10 ); + } + if ( *cp ) + { + error ( E_FATAL_ERROR, "\"init.tree[%d].depth\" is malformed.", + i ); + } + } + if ( maxdepth[i] == -1 ) + maxdepth[i] = mindepth[i]; + + if ( mindepth[i] > maxdepth[i] ) + error ( E_FATAL_ERROR, "\"init.tree[%d].depth\" is malformed.", i ); + + /** read the method. **/ + sprintf ( pnamebuf, "init.tree[%d].method", i ); + param = get_parameter ( pnamebuf ); + if ( !param ) + param = get_parameter ( "init.method" ); + + if ( param == NULL ) + error ( E_FATAL_ERROR, "\"init.tree[%d].method\" must be set.", + i ); + + if ( strcmp ( param, "half_and_half" ) == 0 ) + method[i] = GENERATE_HALF_AND_HALF; + else if ( strcmp ( param, "full" ) == 0 ) + method[i] = GENERATE_FULL; + else if ( strcmp ( param, "grow" ) == 0 ) + method[i] = GENERATE_GROW; + else if ( strcmp ( param, "load" ) == 0 ) + method[i]= LOAD_FILE; + else + error ( E_FATAL_ERROR, "\"init.tree[%d].method\": \"%s\" is not a known generation method.", + i, param ); + } + + /* generate each population. */ + for ( i = 0; i < mpop->size; ++i ) + mpop->pop[i] = initial_population ( mindepth, maxdepth, method, tree_data ); + + for( i = 0; i < tree_count; i++ ) + { + if( tree_data[i] != NULL ) + fclose(tree_data[i]); + } + + FREE ( mindepth ); + FREE ( maxdepth ); + FREE ( method ); + FREE ( tree_replace ); + FREE ( tree_data ); + + oputs ( OUT_SYS, 10, " initial population(s) complete.\n" ); + + return mpop; +} + +/* initial_population() + * + * creates a population structure and fills it with randomly + * generated individuals. + */ + +population *initial_population ( int *mindepth, int *maxdepth, int *method, FILE **dataum ) +{ + population *pop; + int pop_size; + char *param; + + /* get the population size and allocate. */ + + param = get_parameter ( "pop_size" ); + if ( param == NULL ) + error ( E_FATAL_ERROR, + "no value specified for \"pop_size\"." ); + pop_size = atoi ( param ); + pop = allocate_population ( pop_size ); + + /* get the generation method and create the random population. */ + + generate_random_population ( pop, mindepth, maxdepth, method, dataum ); + + return pop; +} + diff --git a/lib/lilgp/kernel_c/pretty.c b/lib/lilgp/kernel_c/pretty.c new file mode 100644 index 0000000..5b2b317 --- /dev/null +++ b/lib/lilgp/kernel_c/pretty.c @@ -0,0 +1,185 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* pretty_print_tree() + * + * print a tree as an S-expression, indenting functions to show + * structure. + */ + +void pretty_print_tree ( lnode *data, FILE *fil ) +{ + lnode *l = data; + int *indent; + int *istep; + + /* indent is a table, parallel to the tree's array, of indentation + values. */ + indent = (int *)MALLOC ( (tree_nodes(data)+1) * sizeof(int) ); + istep = indent; + /* fill the indentation table. */ + gen_indents ( &l, &istep, 0, 1 ); + + istep = indent; + l = data; + + /* now print the tree using the indentation table. */ + pretty_print_tree_recurse ( &l, &istep, fil ); + + fprintf ( fil, "\n" ); + + FREE ( indent ); + +} + +/* pretty_print_tree_recurse() + * + * recursive tree printer, using a table of indentations. + */ + +void pretty_print_tree_recurse ( lnode **l, int **is, FILE *fil ) +{ + int i; + function *f; + + f = (**l).f; + + /** a positive indentation value means move to the next line and + print that many spaces before the function name. */ + if ( **is >= 0 ) + { + fprintf ( fil, "\n" ); + for ( i = 0; i < **is; ++i ) + fprintf ( fil, " " ); + } + ++*l; + ++*is; + + /** for terminals, don't print ()'s. **/ + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + { + /* show value of ERCs. */ + fprintf ( fil, " %s", (f->ephem_str)((**l).d->d) ); + ++*l; + } + else + /* show name of other terminals. */ + fprintf ( fil, " %s", f->string ); + + return; + } + + /* print function name with a parenthesis. */ + fprintf ( fil, " (%s", f->string ); + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + /* recursively print children. */ + for ( i = 0; i < f->arity; ++i ) + pretty_print_tree_recurse ( l, is, fil ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + /* recursively print children, ignoring skip nodes. */ + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + pretty_print_tree_recurse ( l, is, fil ); + } + break; + } + + /* print matching parenthesis. */ + fprintf ( fil, ")" ); +} + +/* gen_indents() + * + * generates a table of indentations -- positive numbers indicate skipping + * to next line and indenting that much, negative indicate continuing current + * line. the result should look like: + * + * (function terminal + * (function terminal + * terminal) + * terminal) + */ + +void gen_indents ( lnode **l, int **is, int start, int sameline ) +{ + function *f = (**l).f; + int i; + + /** sameline is true for the first child of a function. first + children and terminals always go on the same line as their + parent. **/ + if ( sameline || f->arity == 0 ) + **is = -start; + else + **is = start; + + ++*is; + ++*l; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + /* skip the value of an ERC. */ + ++*l; + return; + } + + /* move forward the length of the function name plus a space + plus a '('. */ + start += strlen ( f->string ) + 2; + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + /* generate children's indents. */ + for ( i = 0; i < f->arity; ++i ) + gen_indents ( l, is, start, i==0 ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + /* generate children's indents, ignoring skip nodes. */ + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + gen_indents ( l, is, start, i==0 ); + } + break; + } +} + diff --git a/lib/lilgp/kernel_c/protoapp.h b/lib/lilgp/kernel_c/protoapp.h new file mode 100644 index 0000000..3d3f8a8 --- /dev/null +++ b/lib/lilgp/kernel_c/protoapp.h @@ -0,0 +1,45 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _PROTOAPP_H +#define _PROTOAPP_H + +int app_build_function_sets ( void ); +#ifdef COEVOLUTION +void app_eval_fitness (individual *, individual *); +#else +void app_eval_fitness ( individual * ); +#endif +int app_create_output_streams ( void ); +int app_initialize ( int ); +void app_uninitialize ( void ); +void app_write_checkpoint ( FILE * ); +void app_read_checkpoint ( FILE * ); +int app_end_of_evaluation ( int, multipop *, int, popstats *, popstats * ); +void app_end_of_breeding ( int, multipop * ); + +#endif diff --git a/lib/lilgp/kernel_c/protos.h b/lib/lilgp/kernel_c/protos.h new file mode 100644 index 0000000..c22d261 --- /dev/null +++ b/lib/lilgp/kernel_c/protos.h @@ -0,0 +1,377 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _PROTOS_H +#define _PROTOS_H + + +extern randomgen globrand; +extern genspace gensp[GENSPACE_COUNT]; +extern function_set *fset; +extern int fset_count; +extern treeinfo *tree_map; +extern int tree_count; +extern int ind_nodelimit; + + +/*** exch.c ***/ + +void exchange_subpopulations ( multipop *mpop ); +void initialize_topology ( multipop *mpop ); +void free_topology ( multipop *mpop ); +void rebuild_exchange_topology ( multipop *mpop ); + + +/*** change.c ***/ + +population *change_population ( population *pop, breedphase * ); +void show_population ( population *p ); +breedphase * initialize_one_breeding ( char *prefix ); +void initialize_breeding ( multipop * ); +void free_one_breeding ( breedphase * ); +void free_breeding ( multipop * ); +void rebuild_breeding ( multipop * ); +char *get_breed_parameter ( char *prefix, char *format, ... ); + + +/*** ckpoint.c ***/ + +void read_checkpoint ( char *filename, int *gen, multipop **mpop ); +void write_checkpoint ( int gen, multipop *mpop, char *filename ); +population *read_population ( ephem_const **eind, FILE *f ); +void read_individual ( individual *ind, ephem_const **eind, FILE *f, + char *buffer ); +void write_individual ( individual *ind, ephem_index *eind, FILE *f ); +void read_tree_recurse ( int space, ephem_const **eind, FILE *fil, int tree, + char *string ); +function * get_function_by_name ( int tree, char *string, ephem_const **ep, + ephem_const **eind ); +void write_population ( population *pop, ephem_index *eind, FILE *f ); +void write_tree_recurse ( lnode **l, ephem_index *eind, FILE *fil ); +void write_hex_block ( void *, int, FILE * ); +void read_hex_block ( void *, int, FILE * ); + + +/*** ephem.c ***/ + +void initialize_ephem_const ( void ); +void free_ephem_const ( void ); +void enlarge_ephem_space ( void ); +void ephem_const_gc ( void ); +ephem_const *new_ephemeral_const ( function *f ); +int ephem_index_comp ( const void *a, const void *b ); +ephem_index *write_ephem_list ( FILE *f ); +int lookup_ephem ( ephem_index *ind, ephem_const *e ); +ephem_const **read_ephem_list ( FILE *f ); +void get_ephem_stats ( int *used, int *free, int *blocks, int *alloc ); + + +/*** eval.c ***/ + +void set_current_individual ( individual * ); +DATATYPE evaluate_tree ( lnode *, int ); +DATATYPE evaluate_tree_recurse ( lnode **, int ); + + +/*** fsetupdate.c ***/ + +void fset_update ( function_set *app_fset ); + + +/*** gp.c ***/ + +void run_gp ( multipop *mpop, int startgen, + event *t_eval, event *t_breed, int startfromcheckpoint ); +int generation_information ( int gen, multipop *mpop, int stt_interval, + int bestn ); +void evaluate_pop ( population *pop ); +int accumulate_pop_stats ( popstats *total, popstats *n ); +void calculate_pop_stats ( popstats *s, population *pop, int gen, int subpop ); +void saved_individual_gc ( void ); +saved_ind ** write_saved_individuals ( ephem_index *eind, FILE *f ); +void write_stats_checkpoint ( multipop *mpop, ephem_index *eind, FILE *f ); +saved_ind ** read_saved_individuals ( ephem_const **eind, FILE *f ); +void read_stats_checkpoint ( multipop *mpop, ephem_const **eind, FILE *f ); +globaldata *get_globaldata( void ); +#if defined(POSIX_MT) || defined(SOLARIS_MT) +void initialize_threading( void ); +void *evaluate_pop_chunk( void * ); +#endif + + +/*** main.c ***/ + +int function_sets_init ( function_set *, int, user_treeinfo*, int ); +int function_compare ( const void *a, const void *b ); +void free_function_sets ( void ); +void read_tree_limits ( void ); +void initialize_random ( void ); +void pre_parameter_defaults ( void ); +void post_parameter_defaults ( void ); +int process_commandline ( int argc, char **argv, int *gen, multipop ** ); +void output_system_stats ( event *t_total, event *t_eval, event *t_breed ); +void initial_message ( void ); + + +/*** memory.c ***/ + +#ifdef TRACK_MEMORY +#define MALLOC track_malloc +#define FREE track_free +#define REALLOC track_realloc +#else +#define MALLOC malloc +#define FREE free +#define REALLOC realloc +#endif +void *track_malloc ( int ); +void track_free ( void * ); +void *track_realloc ( void *, int ); +void get_memory_stats ( int *total, int *free, int *max, + int *mallocc, int *reallocc, int *freec ); + + +/*** output.c ***/ + +int create_output_stream ( int id, char *ext, int reset, char *mode, + int autoflush ); +void initialize_output_streams ( void ); +void open_output_streams ( void ); +void oputs ( int streamid, int detail, char *string ); +void oprintf ( int streamid, int detail, char *format, ... ); +FILE *output_filehandle ( int streamid ); +void output_stream_close ( int streamid ); +void output_stream_open ( int streamid ); +void output_stream_flush ( int streamid ); +void close_output_streams ( void ); +void error ( int severity, char *format, ... ); +void set_detail_level ( int ); +int test_detail_level ( int ); +void flush_output_streams ( void ); + + +/*** params.c ***/ + +void initialize_parameters ( void ); +void free_parameters ( void ); +void add_parameter ( char *name, char *value, int copyflags ); +int delete_parameter ( char *name ); +char *get_parameter ( char *name ); +void print_parameters ( void ); +void write_parameter_database ( FILE *f ); +void read_parameter_database ( FILE *f ); +void read_parameter_file ( char * ); +int delete_comment ( char * ); +int check_continuation ( char * ); +int parse_one_parameter ( char *buffer ); +int trim_string ( char *string ); +int translate_binary ( char *string ); +void binary_parameter ( char *name, int value ); +void define_directive ( char *string ); +void undefine_directive ( char *string ); +int test_directive ( char *string ); + + +/*** populate.c ***/ + +void generate_random_population ( population *p, int *mindepth, + int *maxdepth, int *method, FILE **datum ); +population *allocate_population ( int size ); +void free_population ( population *p ); +void free_multi_population ( multipop *mp ); +population *initial_population ( int *, int *, int *, FILE ** ); +multipop *initial_multi_population ( void ); + + +/*** postscript.c ***/ + +int postscript_recurse ( lnode **, FILE *, int, int, int ); +void make_postscript_tree ( lnode *, char *, int ); + + +/*** random.c ***/ + +void random_seed ( randomgen *, int ); +void random_destroy ( randomgen * ); +int random_int ( randomgen *, int ); +double random_double ( randomgen * ); +void *random_get_state ( randomgen *, int * ); +void random_set_state ( randomgen *, void * ); + + +/*** select.c ***/ + +int exists_select_method ( char *string ); +select_context_func_ptr get_select_context ( char *string ); +void free_o_rama ( int, char *** ); +int parse_o_rama ( char *string, char *** argv ); +int rev_ind_compare ( const void *a, const void *b ); +int select_interval ( sel_context *sc ); + + +/*** fitness.c ***/ + +sel_context *select_afit_context ( int op, sel_context *sc, + population *p, char *string ); +int select_afit ( sel_context *sc ); +sel_context *select_inverse_afit_context ( int op, sel_context *sc, + population *p, char *string ); +int select_inverse_afit ( sel_context *sc ); +sel_context *select_afit_overselect_context ( int op, sel_context *sc, + population *p, char *string ); +int select_afit_overselect ( sel_context *sc ); + + +/*** tournament.c ***/ + +sel_context *select_tournament_context ( int op, sel_context *sc, + population *p, char *string ); +int select_tournament ( sel_context *sc ); + + +/*** bestworst.c ***/ + +int select_bestworst ( sel_context *sc ); +sel_context *select_best_context ( int op, sel_context *sc, + population *p, char *string ); +int select_best_compare ( const void *a, const void *b ); +sel_context *select_worst_context ( int op, sel_context *sc, + population *p, char *string ); +int select_worst_compare ( const void *a, const void *b ); +sel_context *select_random_context ( int op, sel_context *sc, + population *p, char *string ); +int select_random ( sel_context *sc ); + + +/*** tree.c ***/ + +int tree_nodes ( lnode *tree ); +int tree_nodes_recurse ( lnode ** ); +int tree_nodes_internal ( lnode * ); +int tree_nodes_internal_recurse ( lnode ** ); +int tree_nodes_external ( lnode * ); +int tree_nodes_external_recurse ( lnode ** ); +int generate_random_full_tree ( int space, int depth, function_set *, int return_type ); +int generate_random_grow_tree ( int space, int depth, function_set *, int return_type ); +int tree_depth ( lnode * ); +int tree_depth_recurse ( lnode ** ); +int tree_depth_to_subtree ( lnode *, lnode * ); +int tree_depth_to_subtree_recurse ( lnode **, lnode *, int ); +void print_tree ( lnode *, FILE * ); +void print_tree_recurse ( lnode **, FILE * ); +void print_tree_array ( lnode * ); +void print_tree_array_recurse ( lnode **, int * ); +lnode *get_subtree ( lnode *, int ); +lnode *get_subtree_recurse ( lnode **, int * ); +lnode *get_subtree_internal ( lnode *, int ); +lnode *get_subtree_internal_recurse ( lnode **, int * ); +lnode *get_subtree_external ( lnode *, int ); +lnode *get_subtree_external_recurse ( lnode **, int * ); +void copy_tree ( tree *to, tree *from ); +void free_tree ( tree * ); +int tree_size ( lnode * ); +int tree_size_recurse ( lnode ** ); +void copy_tree_replace_many ( int space, lnode *parent, lnode **replace, + lnode **with, int count, int *repcount ); +void copy_tree_replace_many_recurse ( int space, lnode **lp, lnode **lr, + lnode **lw, int count, int *repcount ); +void skip_over_subtree ( lnode ** ); +void reference_ephem_constants ( lnode *, int ); +void reference_ephem_constants_recurse ( lnode **, int ); + + +/*** pretty.c ***/ + +void gen_indents ( lnode **l, int **is, int start, int sameline ); +void pretty_print_tree_recurse ( lnode **l, int **is, FILE *fil ); +void pretty_print_tree ( lnode *data, FILE *fil ); + + +/*** genspace.c ***/ + +void initialize_genspace ( void ); +void free_genspace ( void ); +lnode * gensp_next ( int space ); +int gensp_next_int ( int space ); +void gensp_dup_tree ( int space, tree *t ); +void gensp_reset ( int space ); +void gensp_print ( int space, int i, int j, FILE *out ); + + +/*** individ.c ***/ + +void print_individual ( individual *ind, FILE *f ); +void pretty_print_individual ( individual *ind, FILE *f ); +int individual_size ( individual *ind ); +int individual_depth ( individual *ind ); +void duplicate_individual ( individual *to, individual *from ); + + +/*** crossover.c ***/ + +int operator_crossover_init ( char *options, breedphase *bp ); +void operator_crossover_free ( void * ); +void operator_crossover_start ( population *oldpop, void *data ); +void operator_crossover_end ( void *data ); +void operator_crossover ( population *oldpop, population *newpop, void *data ); + + +/*** reproduce.c ***/ + +int operator_reproduce_init ( char *options, breedphase *bp ); +void operator_reproduce_free ( void * ); +void operator_reproduce_start ( population *oldpop, void *data ); +void operator_reproduce_end ( void *data ); +void operator_reproduce ( population *oldpop, population *newpop, void *data ); + + +/*** mutate.c ***/ + +int operator_mutate_init ( char *options, breedphase *bp ); +void operator_mutate_free ( void * ); +void operator_mutate_start ( population *oldpop, void *data ); +void operator_mutate_end ( void *data ); +void operator_mutate ( population *oldpop, population *newpop, void *data ); + + +/*** boltzman.c ***/ + +sel_context *select_boltzman_context (int op, + sel_context *sc, + population *p, + char *string ); + + +/*** sigma.c ***/ + +sel_context *select_sigma_context (int op, + sel_context *sc, + population *p, + char *string ); + + +#endif diff --git a/lib/lilgp/kernel_c/random.c b/lib/lilgp/kernel_c/random.c new file mode 100644 index 0000000..2e8d0d3 --- /dev/null +++ b/lib/lilgp/kernel_c/random.c @@ -0,0 +1,200 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + + +#include +#include + +/* + * adapted from the RAN3 routine (in Fortran - ugh) in "Numerical Recipes: + * The Art of Scientific Computing", page 199. They adapted it from + * (surprise) Knuth, Seminumerical Algorithms. + */ + + +/* random_seed() + * + * seeds the random number generator using the given int. + */ + +void random_seed ( randomgen *randstr, int seed ) +{ + int i, i1, k; + double mj, mk, ms; + + pthread_mutex_init(&randstr->rmut, NULL); + + randstr->mbig = 10000000.0; + randstr->mseed = 1618033.0; + randstr->mz = 0.0; + + mj = randstr->mseed - seed; + ms = (mj<0)? -0.5 : 0.5; + mj = mj-((int)((mj/randstr->mbig)+ms)*randstr->mbig); + randstr->ma[54] = mj; + mk = 1; + + for ( i = 1; i < 55; ++i ) + { + i1 = ((21*i) % 55)-1; + randstr->ma[i1] = mk; + mk = mj - mk; + if ( mk < randstr->mz ) + mk += randstr->mbig; + mj = randstr->ma[i1]; + } + + for ( k = 0; k < 4; ++k ) + for ( i = 0; i < 55; ++i ) + { + randstr->ma[i] = randstr->ma[i] - randstr->ma[(i+30)%55]; + if ( randstr->ma[i] < randstr->mz ) + randstr->ma[i] += randstr->mbig; + } + + randstr->inext = 0; + randstr->inextp = 31; /* the number 31 is special -- see Knuth. */ + +} + + +/* random_destroy() + * + * destroys the mutex with the random structure + */ + +void random_destroy ( randomgen *randstr ) +{ + pthread_mutex_destroy(&randstr->rmut); +} + + +/* random_int() + * + * returns an integer randomly selected from the uniform distribution + * over the interval [0,max). + */ + +int random_int ( randomgen *randstr, int max ) +{ + double v = random_double(randstr); + return (int)(v*(double)max); +} + +/* random_double() + * + * returns a double randomly selected from the uniform distribution + * over the interval [0,1). + */ + +double random_double ( randomgen *randstr ) +{ + /* There's a race condition on this, so we need to mutex it! */ + + double mj; + double res; + + pthread_mutex_lock(&(randstr->rmut)); + + randstr->inext = (randstr->inext+1)%55; + randstr->inextp = (randstr->inextp+1)%55; + + mj = randstr->ma[randstr->inext] - randstr->ma[randstr->inextp]; + if ( mj < randstr->mz ) + mj = mj + randstr->mbig; + randstr->ma[randstr->inext] = mj; + + res=randstr->mbig; + pthread_mutex_unlock(&(randstr->rmut)); + return mj/res; +} + +/* random_get_state() + * + * allocates a memory block, saves the state of the random number + * generator in it, and returns the address. puts the number of + * bytes in the block into *size. + */ + +void *random_get_state ( randomgen *randstr, int *size ) +{ + unsigned char *buffer; + double *db; + int i; + + *size = sizeof(double)*58+2*sizeof(int); + + buffer = (unsigned char *)MALLOC ( *size ); + db = (double *)buffer; + + db[0] = randstr->mbig; + db[1] = randstr->mseed; + db[2] = randstr->mz; + for ( i = 0; i < 55; ++i ) + db[i+3] = randstr->ma[i]; + ((int *)(buffer+58*sizeof(double)))[0] = randstr->inext; + ((int *)(buffer+58*sizeof(double)))[1] = randstr->inextp; + +#ifdef DEBUG + fprintf ( stderr, "writing random state: %lf, %lf, %lf, %d, %d\n", + randstr->mbig, randstr->mseed, randstr->mz, randstr->inext, randstr->inextp ); +#endif + + return buffer; + +} + +/* random_set_state() + * + * restores the random number generator state using a block of + * data previously returned by random_get_state(). + */ + +void random_set_state ( randomgen *randstr, void *buffer ) +{ + unsigned char *cb; + double *db; + int i; + + cb = (unsigned char *)buffer; + db = (double *)buffer; + + randstr->mbig = db[0]; + randstr->mseed = db[1]; + randstr->mz = db[2]; + for ( i = 0; i < 55; ++i ) + randstr->ma[i] = db[i+3]; + randstr->inext = ((int *)(cb+58*sizeof(double)))[0]; + randstr->inextp = ((int *)(cb+58*sizeof(double)))[1]; + +#ifdef DEBUG + fprintf ( stderr, "reading random state: %lf, %lf, %lf, %d, %d\n", + randstr->mbig, randstr->mseed, randstr->mz, randstr->inext, randstr->inextp ); +#endif + +} + diff --git a/lib/lilgp/kernel_c/reproduc.c b/lib/lilgp/kernel_c/reproduc.c new file mode 100644 index 0000000..3b6ebbf --- /dev/null +++ b/lib/lilgp/kernel_c/reproduc.c @@ -0,0 +1,171 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +typedef struct +{ + char *sname; + sel_context *sc; +} reproduce_data; + +/* operator_reproduce_init() + * + * called to parse reproduction options and initialize one record of a + * breedphase table. + */ + +int operator_reproduce_init ( char *options, breedphase *bp ) +{ + int errors = 0; + reproduce_data *rd; + int i, j; + char **argv; + + rd = (reproduce_data *)MALLOC ( sizeof ( reproduce_data ) ); + + /* fill in the breedphase record. */ + bp->operator = OPERATOR_REPRODUCE; + bp->data = (void *)rd; + bp->operator_free = operator_reproduce_free; + bp->operator_start = operator_reproduce_start; + bp->operator_end = operator_reproduce_end; + bp->operator_operate = operator_reproduce; + + rd->sname = NULL; + + j = parse_o_rama ( options, &argv ); + + for ( i = 0; i < j; ++i ) + { + /* parse "select" option. */ + if ( strcmp ( "select", argv[i] ) == 0 ) + { + if ( !exists_select_method ( argv[++i] ) ) + { + ++errors; + error ( E_ERROR, "reproduction: \"%s\" is not a known selection method.", + argv[i] ); + } + FREE ( rd->sname ); + rd->sname = (char *)MALLOC ( (strlen(argv[i])+1) * sizeof ( char ) ); + strcpy ( rd->sname, argv[i] ); + } + else + { + ++errors; + error ( E_ERROR, "reproduction: unknown option \"%s\".", + argv[i] ); + } + } + + free_o_rama ( j, &argv ); + + if ( rd->sname == NULL ) + { + ++errors; + error ( E_ERROR, "reproduction: no selection method specified." ); + } + +#ifdef DEBUG + if ( !errors ) + { + printf ( "reproduction options:\n" ); + printf ( " selection: %s\n", rd->sname==NULL?"NULL":rd->sname ); + } +#endif + + return errors; +} + +/* operator_reproduce_free() + * + * frees the reproduction-specific data of a breedphase record. + */ + +void operator_reproduce_free ( void *data ) +{ + reproduce_data * rd; + + rd = (reproduce_data *)data; + + FREE ( rd->sname ); + FREE ( rd ); +} + +/* operator_reproduce_start() + * + * gets the selection context for this phase. + */ + +void operator_reproduce_start ( population *oldpop, void *data ) +{ + reproduce_data * rd; + select_context_func_ptr select_con; + + rd = (reproduce_data *)data; + + select_con = get_select_context ( rd->sname ); + rd->sc = select_con ( SELECT_INIT, NULL, oldpop, rd->sname ); +} + +/* operator_reproduce_end() + * + * frees the selection context for this phase. + */ + +void operator_reproduce_end ( void *data ) +{ + reproduce_data * rd; + + rd = (reproduce_data *)data; + rd->sc->context_method ( SELECT_CLEAN, rd->sc, NULL, NULL ); +} + + +/* operator_reproduce() + * + * does the reproduction operation. + */ + +void operator_reproduce ( population *oldpop, population *newpop, + void *data ) +{ + int j; + reproduce_data * rd; + + rd = (reproduce_data *)data; + + /* select an individual... */ + j = rd->sc->select_method ( rd->sc ); + + /* ...and reproduce it into the new population. */ + duplicate_individual ( (newpop->ind)+newpop->next, (oldpop->ind)+j ); + newpop->ind[newpop->next].flags = FLAG_NONE; + ++newpop->next; +} + diff --git a/lib/lilgp/kernel_c/select.c b/lib/lilgp/kernel_c/select.c new file mode 100644 index 0000000..40e04fd --- /dev/null +++ b/lib/lilgp/kernel_c/select.c @@ -0,0 +1,281 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* the table listing selection method names and the functions which + create selection contexts. extend this table whenever you add a + new selection method. {NULL,NULL} marks the end of the table. */ + +select_method select_method_table[] = +{ { "fitness", select_afit_context }, + { "fitness_overselect", select_afit_overselect_context }, + { "tournament", select_tournament_context }, + { "inverse_fitness", select_inverse_afit_context }, + { "best", select_best_context }, + { "worst", select_worst_context }, + { "random", select_random_context }, + { "boltzman", select_boltzman_context }, + { "sigma", select_sigma_context }, + { NULL, NULL } }; + + + +/* context_func_ptr() + * + * looks for the named string in the selection method table + * and returns the corresponding context method. + */ + +select_context_func_ptr get_select_context ( char *string ) +{ + int i, j, k; + char *name; + select_method *s = select_method_table; + + /* pull off the name section of the string. */ + for ( i = 0; string[i] != 0 && string[i] != ',' + && string[i] != '\n'; ++i ); + name = (char *)MALLOC ( i+1 ); + k = 0; + for ( j = 0; j < i; ++j ) + if ( !isspace(string[j]) ) + name[k++] = string[j]; + name[k] = 0; + + /* search the table. */ + while ( s->name != NULL ) + { + if ( strcmp ( s->name, name ) == 0 ) + break; + ++s; + } + FREE ( name ); + + /* return the function (NULL if it wasn't found). */ + return s->func; +} + +/* exists_select_method() + * + * returns 1 if the named selection method exists, 0 otherwise. + */ + +int exists_select_method ( char *string ) +{ + return ( get_select_context ( string ) != NULL ); +} + +/* free_o_rama() + * + * frees the argv-style array produced by parse_o_rama(). + */ + +void free_o_rama ( int j, char ***argv ) +{ + int i; + + for ( i = 0; i < j; ++i ) + FREE ( (*argv)[i] ); + FREE ( *argv ); + *argv = NULL; +} + +/* parse_o_rama() + * + * breaks a string into an argv-style array. field delimiters + * are newlines, commas, equal-signs, NULLS, and open-parentheses. + * no field breaking occurs within a pair of nested parentheses. + * any whitespace is removed from the string. any zero-length + * fields are ignored. + * + * currently seg faults parentheses are mismatched. this should + * be fixed. + */ + +int parse_o_rama ( char *string, char ***argv ) +{ + int i, j; + char *p, *m, *o; + int parendepth = 0; + char **fargv; + int nonblank = 0; + + /** this is not commented because it sorely needs to be + rewritten. **/ + + /** pass through the string counting fields **/ + for ( j = 1, p = string; *p; ++p ) + { + j += (parendepth==0)&&(*p=='\n'||*p=='='||*p==','||*p==0||*p=='('); + if ( *p == '(' ) + ++parendepth; + else if ( *p == ')' ) + { + --parendepth; + if ( parendepth == 0 ) + ++j; + else if ( parendepth < 0 ) + return -1; + } + } + + if ( *string == 0 ) + j = 0; + + /* allocate space for the fields. */ + fargv = (char **)MALLOC ( j * sizeof ( char * ) ); + p = m = string; + parendepth = 0; + for ( i = 0; i < j; ++i ) + { + while ( parendepth || ( *p && *p != '=' && *p != ',' && *p != '\n' + && *p != '(' && *p != ')' ) ) + { + if ( *p == '(' ) + ++parendepth; + else if ( *p == ')' ) + { + --parendepth; + if ( !parendepth ) + --p; + } + ++p; + } + if ( *p == '(' ) + ++parendepth; + fargv[i] = (char *)MALLOC ( (p-m+1) * sizeof ( char ) ); + o = fargv[i]; + while ( m < p ) + { + if ( !isspace(*m) ) + *(o++) = *m; + ++m; + } + *o = 0; + if ( fargv[i][0] != 0 ) + ++nonblank; + ++p; + ++m; + } + + *argv = (char **)MALLOC ( nonblank * sizeof ( char * ) ); + nonblank = 0; +#ifdef DEBUG + printf ( "parse_o_rama: %d fields\n", nonblank ); +#endif + for ( i = 0; i < j; ++i ) + { + if ( fargv[i][0] ) + { +#ifdef DEBUG + printf ( " [%s]\n", fargv[i] ); +#endif + (*argv)[nonblank++] = fargv[i]; + } + else + FREE ( fargv[i] ); + } + FREE ( fargv ); + + return nonblank; +} + +/* rev_ind_compare() + * + * comparison function for sorting a reverse_index table by increasing + * fitness. + */ + +int rev_ind_compare ( const void *a, const void *b ) +{ + if ( ((reverse_index *)a)->fitness > ((reverse_index *)b)->fitness ) + return 1; + else if ( ((reverse_index *)a)->fitness < ((reverse_index *)b)->fitness ) + return -1; + else + return 0; +} + +/* select_interval() + * + * for selection methods which can be expressed as randomly selecting an + * individual, where each individual has some fixed probability of + * being selected, this efficiently does the selection. + * + * the selection_context's data field must point to an interval_data + * structure, which contains (essentially) a list of consecutive intervals + * and which individuals they correspond to. this function chooses a random + * number in the whole range of the intervals and uses binary search to + * locate which interval that falls in, returning the corresponding + * index. + */ + +int select_interval ( sel_context *sc ) +{ + double rval; + int middle; + interval_data *id = sc->data; + int low = 0, high = id->count; + + rval = random_double(&globrand) * id->total; + +#ifdef DEBUG_INTERVAL + printf ( "random value is %.6f (%.6f)\n", rval, id->total ); +#endif + + while ( low < high-1 ) + { +#ifdef DEBUG_INTERVAL + printf ( "current range is %d (%.6f) to %d (%.6f)\n", + low, id->ri[low].fitness, + high, id->ri[high].fitness ); +#endif + + middle = (low+high)/2; + if ( rval >= id->ri[middle].fitness ) + low = middle; + else + high = middle; + } + +#ifdef DEBUG_INTERVAL + printf ( "selected value %d (%.6f)\n", high, + id->ri[high].fitness ); +#endif + + if ( id->ri[high].index == -1 ) + { + /* this shouldn't ever happen either, but I'm nervous about + off-by-one errors on binary searches. */ + fprintf ( stderr, "afitness select misfired.\n" ); + } + + return id->ri[high].index; + +} + diff --git a/lib/lilgp/kernel_c/sigma.c b/lib/lilgp/kernel_c/sigma.c new file mode 100644 index 0000000..53cbde8 --- /dev/null +++ b/lib/lilgp/kernel_c/sigma.c @@ -0,0 +1,95 @@ +#include +#include + + +sel_context *select_sigma_context (int op, + sel_context *sc, + population *p, + char *string ) +{ + interval_data *id; + int i, j = 0; + double average; + double std; + double n; + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_interval; + sc->context_method = select_boltzman_context; + + /* the interval_data structure (used with select_interval()) is + essentially a list of interval widths and indices for each + individual. */ + + id = (interval_data *)MALLOC ( sizeof ( interval_data ) ); + + id->ri = (reverse_index *)MALLOC ( (p->size+1) * + sizeof ( reverse_index ) ); + id->total = 0.0; + id->count = p->size; + id->ri[j].fitness = 0.0; + id->ri[j].index = -1; + ++j; + + /* Compute average */ + + average=0; + for (i=0;isize;++i) + { + average += p->ind[i].a_fitness; + } + average/=p->size; + + /* Compute Standard Deviation */ + if (p->size<=1) + std=0; + else + { + std=0; + for(i=0;isize;i++) + { + std += (p->ind[i].a_fitness - average) * + (p->ind[i].a_fitness - average); + } + std/=(p->size-1); + std=sqrt(std); + } + + + for (i=0; i< p->size; ++i) + { + if (std==0) + { + n=1.0; + } + else + { + n= 1 + (p->ind[i].a_fitness - average)/(2 * std); + } + + id->total += n; + id->ri[j].fitness = id->total; + id->ri[j].index = i; + ++j; + } + + sc->data = (void *)id; + return sc; + break; + + case SELECT_CLEAN: + id = (interval_data *)(sc->data); + FREE ( id->ri ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} diff --git a/lib/lilgp/kernel_c/tournmnt.c b/lib/lilgp/kernel_c/tournmnt.c new file mode 100644 index 0000000..b1dba09 --- /dev/null +++ b/lib/lilgp/kernel_c/tournmnt.c @@ -0,0 +1,125 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +typedef struct +{ + int count; +} tournament_data; + + + +/* select_tournament_context() + * + * returns a selection context for the tournament selection method. + */ + +sel_context *select_tournament_context ( int op, sel_context *sc, + population *p, char *string ) +{ + char **argv; + int i, j; + tournament_data *td; + + switch ( op ) + { + case SELECT_INIT: + + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + /* fill in fields of the selection context. */ + sc->p = p; + sc->select_method = select_tournament; + sc->context_method = select_tournament_context; + + /* store the tournament data record. */ + td = (tournament_data *)MALLOC ( sizeof ( tournament_data ) ); + + /* parse the options. */ + td->count = 2; + j = parse_o_rama ( string, &argv ); + for ( i = 1; i < j; ++i ) + { + /* "size" is the only valid option. */ + if ( strcmp ( argv[i], "size" ) == 0 ) + td->count = atoi ( argv[++i] ); + else + error ( E_FATAL_ERROR, "unknown tournament option \"%s\".", + argv[i] ); + } + + free_o_rama ( j, &argv ); + + if ( td->count <= 0 ) + error ( E_FATAL_ERROR, + "tournament size must be at least 1. (%s)", string ); + + sc->data = (void *)td; + return sc; + break; + + case SELECT_CLEAN: + + td = (tournament_data *)(sc->data); + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_tournament() + * + * does a tournament selection. randomly picks (uniformly) a number (size) + * of individuals, then selects the best one among those. + */ + +int select_tournament ( sel_context *sc ) +{ + int i, j, k; + tournament_data *td; + population *p; + + td = (tournament_data *)(sc->data); + p = sc->p; + + j = -1; + for ( i = 0; i < td->count; ++i ) + { + /* pick another individual. */ + k = random_int ( &globrand, p->size ); + /* save it if it is better than the current best. */ + if ( j == -1 || p->ind[k].a_fitness > p->ind[j].a_fitness ) + j = k; + } + + return j; +} + + diff --git a/lib/lilgp/kernel_c/tree.c b/lib/lilgp/kernel_c/tree.c new file mode 100644 index 0000000..6bc218c --- /dev/null +++ b/lib/lilgp/kernel_c/tree.c @@ -0,0 +1,1115 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + + +/* + * note: that almost all these functions that recurse through the tree + * come in two parts: the wrapper and the recursive part. the "standard" + * method of traversing a tree like this is to set up a pointer to the + * first node in the tree, then subsequent recursive calls step the + * pointer forward, traversing the tree in preorder. the wrapper function + * sets up this pointer, then passes the address of that pointer [that's + * an (lnode **)] to the recursive part. + * + * the first function in this file [tree_size()] is commented in detail, + * others (which are just variations on this theme) are rather glossed over. + * + * note: when I refer to a tree's "size" I almost always mean "how many + * lnodes the tree takes to store", NOT how many nodes are in the tree. + * watch out for this. (the major exception is, of course, "tree_size()" + * which returns the node count.) + */ + +/* + * tree_nodes: return the number of nodes in the tree. + */ + +int tree_nodes ( lnode *tree ) +{ + lnode *l = tree; + return tree_nodes_recurse ( &l ); +} + +int tree_nodes_recurse ( lnode **l ) +{ + /* + * *l always points at a function node here; save the function. + */ + function *f = (**l).f; + int i, j = 1; + + /* step the pointer over the function. */ + ++*l; + + /* if the function is a terminal, then the recursion bottoms out. */ + if ( f->arity == 0 ) + { + /* skip the pointer over the ERC value if this node has one. */ + if ( f->ephem_gen ) + ++*l; + + /* return this subtree size. */ + return 1; + } + else + { + /* function is not a terminal, so add up its subtrees and return + * the total. + */ + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + j += tree_nodes_recurse ( l ); + break; + + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + /* skip the pointer over the skipsize node. */ + ++*l; + /* add this subtree's size to the total. */ + j += tree_nodes_recurse ( l ); + } + break; + } + } + + return j; +} + +/* + * tree_nodes_internal: return number of internal (function) nodes in the + * tree. + */ + +int tree_nodes_internal ( lnode *data ) +{ + lnode *l = data; + return tree_nodes_internal_recurse ( &l ); +} + +int tree_nodes_internal_recurse ( lnode **l ) +{ + function *f = (**l).f; + int i, j = 1; + + ++*l; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + ++*l; + return 0; + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + j += tree_nodes_internal_recurse ( l ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + j += tree_nodes_internal_recurse ( l ); + } + break; + } + } + + return j; +} + +/* + * tree_nodes_external: return number of external (terminal) nodes in the + * tree. + */ + +int tree_nodes_external ( lnode *data ) +{ + lnode *l = data; + return tree_nodes_external_recurse ( &l ); +} + +int tree_nodes_external_recurse ( lnode **l ) +{ + function *f = (**l).f; + int i, j = 0; + + ++*l; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + ++*l; + return 1; + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + j += tree_nodes_external_recurse ( l ) ; + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + j += tree_nodes_external_recurse ( l ) ; + } + break; + } + } + return j; +} + +/* + * print_tree_array: print the tree, as an array, on stdout. primarily + * for debugging. + */ + +void print_tree_array ( lnode *data ) +{ + lnode *l = data; + int i = 0; + print_tree_array_recurse ( &l, &i ); +} + +void print_tree_array_recurse ( lnode **l, int *index ) +{ + function *f = (**l).f; + int i; + + fprintf ( stderr, "%3d: function: \"%s\"\n", *index, f->string ); + + ++*l; + ++*index; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + { + fprintf ( stderr, "%3d: value: %s\n", *index, (f->ephem_str)((**l).d->d) ); + ++*l; + ++*index; + } + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + print_tree_array_recurse ( l, index ); + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + fprintf ( stderr, "%3d: {skip %d}\n", *index, (**l).s ); + ++*l; + ++*index; + print_tree_array_recurse ( l, index ); + } + break; + } + } +} + +/* + * print_tree: print the tree, as a LISP S-expression, to the given FILE *. + */ + +void print_tree ( lnode *data, FILE *fil ) +{ + lnode *c = data; + print_tree_recurse ( &c, fil ); + fprintf ( fil, "\n" ); +} + +void print_tree_recurse ( lnode **l, FILE *fil ) +{ + function *f; + int i; + + f = (**l).f; + + fprintf ( fil, " " ); + if ( f->arity != 0 ) + fprintf ( fil, "(" ); + + ++*l; + if ( f->ephem_gen ) + { + fprintf ( fil, "%s", (f->ephem_str)((**l).d->d) ); +#ifdef DEBUG + fprintf ( fil, " <%d>", (**l).d->refcount ); +#endif + ++*l; + } + else + fprintf ( fil, "%s", f->string ); + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + print_tree_recurse ( l, fil ); + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { +#ifdef DEBUG + fprintf ( fil, " {skip %d}", (**l).s ); +#endif + ++*l; + print_tree_recurse ( l, fil ); + } + break; + } + + if ( f->arity != 0 ) + fprintf ( fil, ")" ); +} + +/* + * generate_random_full_tree: generates, in the given generation space, + * a random full tree of the specified depth. + */ + +int generate_random_full_tree ( int space, int depth, function_set *fset, int return_type ) +{ + int i, j; + int save, used_save, is_expr; + int c_nval, *f_used, f_num_used, f_this; + int notvalid = 0; + + /* Reached maximum depth so choose terminal */ + if ( depth == 0 ) + { + /* Check if a terminal exists for this type */ + if ( fset->terminal_count_by_type[return_type] == 0 ) + return 1; + + /* Randomly select the terminal and add it to the tree */ + i = random_int(&globrand, fset->terminal_count_by_type[return_type])+ + (fset->function_count_by_type[return_type]); + gensp_next(space)->f = (fset->cset_by_type[return_type])+i; + + /* if this terminal is an ERC, then generate one and store it. */ + if ( (fset->cset_by_type[return_type])[i].ephem_gen ) + gensp_next(space)->d = new_ephemeral_const + ( (fset->cset_by_type[return_type])+i ); + + /* Tree is OK */ + return 0; + } + + /* Check if a function of this type exists */ + if ( fset->function_count_by_type[return_type] == 0 ) + return 1; + + /* Possible function so init function used array */ + f_used = (int *) malloc ((fset->function_count_by_type[return_type]) * sizeof(int)); + for ( i = 0; i < fset->function_count_by_type[return_type]; ++i ) + f_used[i] = 0; + f_num_used = 0; + + /* Get a ptr to the next free lnode */ + f_this = gensp_next_int(space); + /* Save our position in the genspace */ + used_save = gensp[space].used; + + /* Try to generate a tree to attach to parent node */ + do + { + /* Reset to possibly valid */ + notvalid = 0; + + /* Check if any more functions exist */ + if ( f_num_used >= fset->function_count_by_type[return_type] ) + { + /* Unuse the function we recieved */ + --gensp[space].used; + return 1; + } + + /* Generate unique function (not at depth 0) */ + do { + i = random_int(&globrand, fset->function_count_by_type[return_type]); + } while ( f_used[i] ); + /* Mark function used */ + f_used[i] = 1; + ++f_num_used; + /* Setup function in genspace */ + gensp[space].data[f_this].f = (fset->cset_by_type[return_type])+i; + + /* Check if this is a EXPR type function */ + is_expr = gensp[space].data[f_this].f->type; + is_expr = (is_expr == FUNC_EXPR || is_expr == EVAL_EXPR); + + /* now generate the node's children. */ + for ( j = 0; j < gensp[space].data[f_this].f->arity; ++j ) + { + /* if this is a EXPR function then get a location for the skip node */ + if ( is_expr ) + save = gensp_next_int ( space ); + + /* generate a full tree of depth [depth-1]. */ + c_nval = generate_random_full_tree ( space, depth - 1, fset, + gensp[space].data[f_this].f->argument_type[j]); + + /* save the size of the subtree in the skip node, if we need to. */ + if ( is_expr ) + gensp[space].data[save].s = gensp[space].used - save - 1; + + /* if one child is not creatable then quit */ + if ( c_nval ) + { + /* Roll back in genspace to before children created */ + gensp[space].used = used_save; + notvalid = 1; + break; + } + } + } while ( notvalid ); + + /* Tree is OK */ + return 0; +} + +/* + * generate_random_grow_tree: grow a random tree, of (maximum) depth [depth]. + * works just like genereate_random_full_tree, except that a node with + * depth > 0 can be a terminal. + */ + +int generate_random_grow_tree ( int space, int depth, function_set *fset, int return_type ) +{ + int i, j; + int save, used_save, is_expr; + int c_nval, *f_used, f_num_used, f_this; + int notvalid = 0; + int num_node = fset->function_count_by_type[return_type]+fset->terminal_count_by_type[return_type]; + int num_func = fset->function_count_by_type[return_type]; + int sel_term = 0; + + /* Calculate whether a function or terminal is selected */ + if ( random_double ( &globrand ) >= (double) num_func / (double) num_node ) + sel_term = 1; + + /* Reached maximum depth so choose terminal */ + if ( depth == 0 || sel_term ) + { + /* Check if a terminal exists for this type */ + if ( fset->terminal_count_by_type[return_type] == 0 ) + return 1; + + i = random_int(&globrand, fset->terminal_count_by_type[return_type])+ + (fset->function_count_by_type[return_type]); + gensp_next(space)->f = (fset->cset_by_type[return_type])+i; + + if ( (fset->cset_by_type[return_type])[i].ephem_gen ) + gensp_next(space)->d = new_ephemeral_const ( (fset->cset_by_type[return_type])+i ); + + /* Tree OK */ + return 0; + } + + /* Check if a function of this type exists */ + if ( fset->function_count_by_type[return_type] == 0 ) + return 1; + + /* Possible function so init function used array */ + f_used = (int *) malloc ((fset->function_count_by_type[return_type]) * sizeof(int)); + for ( i = 0; i < fset->function_count_by_type[return_type]; ++i ) + f_used[i] = 0; + f_num_used = 0; + + /* Get a ptr to the next free lnode */ + f_this = gensp_next_int(space); + /* Save our position in the genspace */ + used_save = gensp[space].used; + + /* Try to generate a tree to attach to parent node */ + do + { + /* Reset to possibly valid */ + notvalid = 0; + + /* Check if any more functions exist */ + if ( f_num_used >= fset->function_count_by_type[return_type] ) + { + /* Unuse the function we recieved */ + --gensp[space].used; + return 1; + } + + /* Generate unique function (not at depth 0) */ + do { + i = random_int(&globrand, fset->function_count_by_type[return_type]); + } while ( f_used[i] ); + /* Mark function used */ + f_used[i] = 1; + ++f_num_used; + /* Setup function in genspace */ + gensp[space].data[f_this].f = (fset->cset_by_type[return_type])+i; + + /* Check if this is a EXPR type function */ + is_expr = gensp[space].data[f_this].f->type; + is_expr = (is_expr == FUNC_EXPR || is_expr == EVAL_EXPR); + + /* now generate the node's children. */ + for ( j = 0; j < gensp[space].data[f_this].f->arity; ++j ) + { + /* if this is a EXPR function then get a location for the skip node */ + if ( is_expr ) + save = gensp_next_int ( space ); + + /* generate a full tree of depth [depth-1]. */ + c_nval = generate_random_grow_tree ( space, depth - 1, fset, + gensp[space].data[f_this].f->argument_type[j]); + + /* save the size of the subtree in the skip node, if we need to. */ + if ( is_expr ) + gensp[space].data[save].s = gensp[space].used - save - 1; + + /* if one child is not creatable then quit */ + if ( c_nval ) + { + /* Roll back in genspace to before children created */ + gensp[space].used = used_save; + notvalid = 1; + break; + } + } + } while ( notvalid ); + + /* Tree OK */ + return 0; +} + +/* + * tree_depth: return the depth of the tree. a tree with one node has + * depth 0. + */ + +int tree_depth ( lnode *data ) +{ + lnode *l = data; + return tree_depth_recurse ( &l ); +} + +int tree_depth_recurse ( lnode **l ) +{ + + function *f = (**l).f; + int i, j, k = 0; + + ++*l; + if ( f->arity == 0 ) + { + /* a terminal node; advance the pointer and return 0. */ + + if ( f->ephem_gen ) + ++*l; + return 0; + } + + /* a nonterminal; find the deepest child and return its depth plus one. */ + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + j = tree_depth_recurse ( l ); + if ( j > k ) + k = j; + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + j = tree_depth_recurse ( l ); + if ( j > k ) + k = j; + } + break; + } + + return k+1; +} + +int tree_depth_to_subtree ( lnode *data, lnode *sub ) +{ + lnode *l = data; + return tree_depth_to_subtree_recurse ( &l, sub, 0 ); +} + +int tree_depth_to_subtree_recurse ( lnode **l, lnode *sub, int depth ) +{ + function *f = (**l).f; + int i, j; + + if ( *l == sub ) + return depth; + + ++*l; + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + ++*l; + return -1; + } + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + j = tree_depth_to_subtree_recurse ( l, sub, depth+1 ); + if ( j != -1 ) + return j; + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + j = tree_depth_to_subtree_recurse ( l, sub, depth+1 ); + if ( j != -1 ) + return j; + } + break; + } + + return -1; +} + + +/* + * get_subtree: returns the start'th subtree of the tree, where start + * ranges from 0..(nodecount-1). the zeroth subtree is the tree itself. + * the subtrees are returned in preorder. + */ + +lnode *get_subtree ( lnode *data, int start ) +{ + lnode *l = data; + /* initialize a counter with start. the counter is passed by address, + * and so is shared across all recursive calls. it is decremented once + * for every node in the tree -- the current node when it reaches zero + * is returned. + */ + int c = start; + + return get_subtree_recurse ( &l, &c ); +} + +lnode *get_subtree_recurse ( lnode **l, int *c ) +{ + function *f = (**l).f; + lnode *r; + int i; + + /* if the counter is zero, return the current subtree. */ + if ( *c == 0 ) + return *l; + + ++*l; + --*c; + + if ( f->arity == 0 ) + { + /* skip over the terminal nodes. */ + if ( f->ephem_gen ) + ++*l; + } + else + { + /* recurse into this node's children. if one of them returns + * non-NULL, it means that the subtree has been found and the + * return value is immediately propagated up the call chain. + * if all of them return NULL, then the desired subtree is + * not in this subtree and we return NULL. */ + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + r = get_subtree_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + r = get_subtree_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + } + } + + return NULL; +} + +/* + * get_subtree_internal: just like get_subtree, but only selects nonterminal + * points. start should range from 0..(internalnodecount-1). + */ + +lnode *get_subtree_internal ( lnode *data, int start ) +{ + lnode *l = data; + int c = start; + return get_subtree_internal_recurse ( &l, &c ); +} + +lnode *get_subtree_internal_recurse ( lnode **l, int *c ) +{ + function *f = (**l).f; + int i; + lnode *r; + + /* if the current subtree is a terminal node, skip it immediately. */ + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + ++*l; + ++*l; + } + else + { + if ( *c == 0 ) + return *l; + + ++*l; + --*c; + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + r = get_subtree_internal_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + r = get_subtree_internal_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + } + } + + return NULL; +} + +/* + * get_subtree_external: just like get_subtree, but only selects terminal + * nodes (that is, 1-node subtrees). start ranges from + * 0..(externalnodecount-1). + */ + +lnode *get_subtree_external ( lnode *data, int start ) +{ + lnode *l = data; + int c = start; + return get_subtree_external_recurse ( &l, &c ); +} + +lnode *get_subtree_external_recurse ( lnode **l, int *c ) +{ + function *f = (**l).f; + int i; + lnode *r; + + if ( f->arity == 0 ) + { + if ( *c == 0 ) + return *l; + + ++*l; + --*c; + + if ( f->ephem_gen ) + ++*l; + } + else + { + ++*l; + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + r = get_subtree_external_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + r = get_subtree_external_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + } + } + + return NULL; +} + +/* + * copy_tree: allocates space for and makes a copy of a tree. + */ + +void copy_tree ( tree *to, tree *from ) +{ + to->data = (lnode *)MALLOC ( from->size * sizeof ( lnode ) ); + to->size = from->size; + to->nodes = from->nodes; + memcpy ( to->data, from->data, from->size * sizeof ( lnode ) ); +} + +/* + * free_tree: frees the memory allocated by a tree, and resets variables. + */ + +void free_tree ( tree *t ) +{ + FREE ( t->data ); + t->data = NULL; + t->size = -1; + t->nodes = -1; +} + +/* + * tree_size: returns the number of lnodes used to store the tree. + * this is equal to + * (node count)+(ERC count)+(conditionally evaluated subtree count). + */ + +int tree_size ( lnode *data ) +{ + lnode *l = data; + return tree_size_recurse ( &l ); +} + +int tree_size_recurse ( lnode **l ) +{ + function *f = (**l).f; + int i, j = 1; + + ++*l; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + { + ++*l; + ++j; + } + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + j += tree_size_recurse ( l ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + ++j; + j += tree_size_recurse ( l ); + } + break; + } + } + + return j; + +} + +/* + * copy_tree_replace_many: copies a tree, replacing some of its subtrees + * with other subtrees. arguments: + * + * space - the generation space to put the new tree in + * parent - the tree to copy from + * replace - a list of subtrees to replace + * with - a list of subtrees to replace them with + * count - the size of the replace and width arrays + * repcount - returns the number of subtrees replaced + * + * this function starts to recursively copy the "parent" tree to "dest". + * when the recursive copy hits any subtree in the "replace" array, + * the corresponding subtree in the "with" array is copied in its + * place. repcount returns the number of subtrees that were hit and + * replaced. this can be less than count, as some subtrees may never + * be found (if, for instance, one of the subtrees in the "replace" + * array is the subtree of another). + */ + +void copy_tree_replace_many ( int space, lnode *parent, lnode **replace, + lnode **with, int count, int *repcount ) +{ + lnode *lp = parent; + + gensp_reset ( space ); + *repcount = 0; + copy_tree_replace_many_recurse ( space, &lp, replace, + with, count, repcount ); +} + +void copy_tree_replace_many_recurse ( int space, lnode **lp, lnode **lr, + lnode **lw, int count, int *repcount ) +{ + function *f = (**lp).f; + int i; + int save; + lnode *new; + + /* only do the comparison if the lr is non-NULL. */ + if ( lr ) + { + /* check the current subtree against everything in the lr array. */ + for ( i = 0; i < count; ++i ) + if ( *lp == lr[i] ) + { + /* we have a match! */ + + /* increment the replacement count. */ + ++*repcount; + + /* copy the new tree into the destination. note that the + * lr and lw arguments are passed as NULL to prevent + * further replacement within the replacement tree. + */ + new = lw[i]; + copy_tree_replace_many_recurse ( space, &new, NULL, + NULL, count, repcount ); + + /* now skip the lp pointer over the lr subtree. */ + skip_over_subtree ( lp ); + + return; + } + } + + /* copy the node from the parent to the destination. */ + + gensp_next(space)->f = (**lp).f; + ++*lp; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + { + /* copy the ERC pointer. */ + + gensp_next(space)->d = (**lp).d; + ++*lp; + } + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + copy_tree_replace_many_recurse ( space, lp, lr, lw, + count, repcount ); + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + /* note that we just can't copy the skip value, since + * replacement within the subtree may change it. we + * have to save where it is needed and fill it in + * afterwards, just like generate_random_full_tree(). */ + + save = gensp_next_int ( space ); + ++*lp; + copy_tree_replace_many_recurse ( space, lp, lr, lw, + count, repcount ); + gensp[space].data[save].s = gensp[space].used-save-1; + } + break; + } + } + return; +} + +/* + * skip_over_subtree: takes a traversal pointer and skips it over the + * subtree it points to. + */ + +void skip_over_subtree ( lnode **l ) +{ + function *f = (**l).f; + int i; + + ++*l; + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + ++*l; + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + skip_over_subtree ( l ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + skip_over_subtree ( l ); + } + break; + } + } + return; +} + +/* + * reference_ephem_constants: traverses a tree, adding "count" to the + * refcount of each ERC that is used within the tree. + */ + +void reference_ephem_constants ( lnode *data, int count ) +{ + lnode *l = data; + reference_ephem_constants_recurse ( &l, count ); +} + +void reference_ephem_constants_recurse ( lnode **l, int count ) +{ + function *f = (**l).f; + int i; + + ++*l; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + { + if ( (**l).d ) + { + (**l).d->refcount += count; + ++*l; + } + else + error ( E_FATAL_ERROR, "aarg: this can't happen." ); + } + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + reference_ephem_constants_recurse ( l, count ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + reference_ephem_constants_recurse ( l, count ); + } + break; + } + } + +} + + diff --git a/lib/lilgp/kernel_c/types.h b/lib/lilgp/kernel_c/types.h new file mode 100644 index 0000000..5ad3c44 --- /dev/null +++ b/lib/lilgp/kernel_c/types.h @@ -0,0 +1,261 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _TYPES_H +#define _TYPES_H + + +typedef struct +{ + int fset; /* function set for tree */ + int return_type; /* return type for tree */ + char* name; /* tree name */ +} user_treeinfo; + +/* holds information about one function (or terminal). */ + +typedef struct +{ + DATATYPE (*code)(); + void (*ephem_gen)( DATATYPE * ); + char * (*ephem_str)(); + int arity; + char *string; + int type; + int evaltree; + int index; + /* Added to support strong data typing */ + int return_type; + int argument_type[MAXARGS]; +} function; + +typedef struct +{ + function *cset; + int function_count; + int terminal_count; + int num_args; + int size; + /* Added to support strong data typing */ + function* cset_by_type[NUMTYPES]; + int function_count_by_type[NUMTYPES]; + int terminal_count_by_type[NUMTYPES]; +} function_set; + +/* holds one ERC. contains the data, reference count, and pointer for + building a linked list. */ + +typedef struct _ephem_const +{ + int refcount; + struct _ephem_const *next; + DATATYPE d; + function *f; +} ephem_const; + +/* the basic building block of the tree structure. can be a function pointer, + a skip value, or a pointer to an ERC. */ + +typedef union +{ + int s; + function *f; + ephem_const *d; +} lnode; + +/* one tree -- consists of an array of lnodes. the size and node counts are + cached here for speed improvement. */ + +typedef struct _tree +{ + lnode *data; + int size; /* the lnode count */ + int nodes; /* the actual node count */ +} tree; + +/* the arguments passed to the function (terminal) code. can be either a + value or a pointer to a tree. */ + +typedef union +{ + DATATYPE d; + lnode *t; +} farg; + +/* one individual. holds the expression, fitness values, etc. */ + +typedef struct +{ + tree *tr; + double r_fitness; + double s_fitness; + double a_fitness; + int hits; + int evald; + int flags; +} individual; + +/* struct for doing a binary search of successive real-valued intervals. */ + +typedef struct +{ + double fitness; + int index; +} reverse_index; + +/* one population -- an array of individuals, and some global info. */ + +typedef struct +{ + individual *ind; + int size; + int next; +} population; + +typedef int (*select_func_ptr)(); +typedef struct _sel_context * (*select_context_func_ptr)(); + +typedef struct _sel_context +{ + population *p; + select_func_ptr select_method; + select_context_func_ptr context_method; + void *data; +} sel_context; + +typedef struct +{ + char *name; + select_context_func_ptr func; +} select_method; + +typedef struct +{ + char *name; + int (*func)(); +} operator; + +typedef struct +{ + int copywhole; + int * from; + int * as; + char ** fromsc; + int to; + char * tosc; + int count; +} exchange; + +typedef struct +{ + int operator; + double rate; + void *data; + void (*operator_free)(); + void (*operator_start)(); + void (*operator_end)(); + void (*operator_operate)(); +} breedphase; + +typedef struct +{ + int size, exchanges; + population **pop; + exchange *exch; + breedphase **bpt; +} multipop; + +typedef struct +{ + double total; + reverse_index *ri; + int count; +} interval_data; + +typedef struct +{ + int i; + ephem_const *e; +} ephem_index; + +typedef struct _parameter +{ + char *n; + char *v; + int copyflags; +} parameter; + +typedef struct _saved_ind +{ + individual *ind; + int refcount; + struct _saved_ind *next; +} saved_ind; + +typedef struct _popstats +{ + int size; + int maxnodes, minnodes, totalnodes, bestnodes, worstnodes; + int maxdepth, mindepth, totaldepth, bestdepth, worstdepth; + int maxhits, minhits, totalhits, besthits, worsthits; + double bestfit, worstfit, totalfit; + int bestgen, worstgen; + int bestpop, worstpop; + int bestn; + saved_ind **best; +} popstats; + +typedef struct +{ + lnode *data; + int size, used; +} genspace; + +typedef struct +{ + int fset; + int nodelimit; + int depthlimit; + farg *arguments; + int argtype; + int evaluatedfrom; + char *name; + /* Added to support typing */ + int return_type; +} treeinfo; + +typedef struct +{ + double mbig, mseed, mz, ma[55]; + int inext, inextp; + pthread_mutex_t rmut; +} randomgen; + +#endif + + + diff --git a/lib/lilgp/kernel_mod/GNUmakefile.kernel b/lib/lilgp/kernel_mod/GNUmakefile.kernel new file mode 100644 index 0000000..3f2c8ee --- /dev/null +++ b/lib/lilgp/kernel_mod/GNUmakefile.kernel @@ -0,0 +1,45 @@ +## Linux users should uncomment this when using gcc +# CFLAGS += -mieee-fp + +## if you have the vfork() system call available (most Un*x systems), +## use it to spawn the checkpoint file compression process. +# CFLAGS += -DUSEVFORK +## if you don't have vfork(), use the (much) less efficient system() +## system call. (default to system, always available) +CFLAGS += -DUSESYSTEM +## if both of these are commented out, checkpoint compression will not +## be available. + +### +### end of configuration section +### + +kobjects = main.o gp.o eval.o tree.o change.o crossovr.o reproduc.o \ + mutate.o select.o tournmnt.o bstworst.o fitness.o genspace.o \ + exch.o populate.o ephem.o ckpoint.o event.o pretty.o individ.o \ + params.o random.o memory.o output.o boltzman.o sigma.o fsetupdate.o + +kheaders = event.h defines.h types.h protos.h protoapp.h + +.PHONY : all clean + +LIBS += -lm +CFLAGS += -I. -I$(KERNELDIR) + +all : $(TARGET) + +lilgp.h = $(addprefix $(KERNELDIR)/,$(kheaders)) $(uheaders) + +$(kobjects) : %.o : $(KERNELDIR)/%.c + $(CC) -c $(CFLAGS) $< -o $@ + +$(uobjects) : %.o : %.c + $(CC) -c $(CFLAGS) $< -o $@ + +$(kobjects) $(uobjects) : $(lilgp.h) + +$(TARGET) : $(kobjects) $(uobjects) + $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) + +clean : + \rm -f *.o core diff --git a/lib/lilgp/kernel_mod/boltzman.c b/lib/lilgp/kernel_mod/boltzman.c new file mode 100644 index 0000000..111373e --- /dev/null +++ b/lib/lilgp/kernel_mod/boltzman.c @@ -0,0 +1,106 @@ +#include +#include + +#define _E_ 2.718281828459 + +/* This version of the boltzman distribution will not work with + checkpoint files--we'll have to add the globals below into the global + section of the checkpoint file later... -- Sean */ + + + +int boltzman_initialized = 0; /* This SHOULD start out 0!!! */ +double boltzman_hi; +double boltzman_low; +double boltzman_step; +double boltzman_t; /* Current Temperature */ + +sel_context *select_boltzman_context (int op, + sel_context *sc, + population *p, + char *string ) +{ + interval_data *id; + int i, j = 0; + double n; /* Our New Boltzman Value */ + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_interval; + sc->context_method = select_boltzman_context; + + /* the interval_data structure (used with select_interval()) is + essentially a list of interval widths and indices for each + individual. */ + + id = (interval_data *)MALLOC ( sizeof ( interval_data ) ); + + id->ri = (reverse_index *)MALLOC ( (p->size+1) * + sizeof ( reverse_index ) ); + id->total = 0.0; + id->count = p->size; + id->ri[j].fitness = 0.0; + id->ri[j].index = -1; + ++j; + + if (!boltzman_initialized) + { + char* param; + + boltzman_initialized=1; + param=get_parameter("boltzman_hi"); + if (param==NULL) + { + param=get_parameter("max_generations"); + if (param==NULL) param="51.0"; /* Default */ + } + boltzman_hi=atof(param); + + param=get_parameter("boltzman_low"); + if (param==NULL) param="0.0"; /* Default */ + boltzman_low=atof(param); + + param=get_parameter("boltzman_step"); + if (param==NULL) param="1.0"; /* Default */ + boltzman_step=atof(param); + + boltzman_t=boltzman_hi; + } + + for ( i = 0; i < p->size; ++i ) + { + + n = pow(_E_,(p->ind[i].a_fitness / boltzman_t)); + /* Boltzman distribution modification */ + + boltzman_t -= boltzman_step; + if (boltzman_t < boltzman_low) boltzman_t=boltzman_low; + + id->total += n; + id->ri[j].fitness = id->total; + id->ri[j].index = i; + ++j; + } + + /* We don't need to divide everything by the total to + normalize the boltzman results--we're done as it is. */ + + sc->data = (void *)id; + return sc; + break; + + case SELECT_CLEAN: + id = (interval_data *)(sc->data); + FREE ( id->ri ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} diff --git a/lib/lilgp/kernel_mod/bstworst.c b/lib/lilgp/kernel_mod/bstworst.c new file mode 100644 index 0000000..fbc7c31 --- /dev/null +++ b/lib/lilgp/kernel_mod/bstworst.c @@ -0,0 +1,226 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +typedef struct +{ + int next; + int *list; +} bestworst_data; + +static population *selectpop = NULL; + + +/* select_bestworst() + * + * do the actual selection for both the best and worst methods. both these + * just create a sorted list of individuals to return, so this function just + * returns the next in the list. + */ + +int select_bestworst ( sel_context *sc ) +{ + bestworst_data *bwd; + bwd = (bestworst_data *)(sc->data); + return bwd->list[bwd->next++]; +} + +/* select_best_context() + * + * Sets up the best selection method. + */ + +sel_context *select_best_context ( int op, sel_context *sc, + population *p, char *string ) +{ + int i, j; + bestworst_data *bwd; + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_bestworst; + sc->context_method = select_best_context; + + /** the method-specific part is a sorted list of individuals + (from best to worst). the selection function just returns + the next element off the list. the list is built here. **/ + + bwd = (bestworst_data *)MALLOC ( sizeof ( bestworst_data ) ); + bwd->list = (int *)MALLOC ( (p->size+1) * sizeof ( int ) ); + bwd->next = 0; + + j = 0; + for ( i = 0; i < p->size; ++i ) + bwd->list[j++] = i; + + selectpop = p; + qsort ( bwd->list, p->size, sizeof(int), select_best_compare ); + selectpop = NULL; + + sc->data = (void *)bwd; + return sc; + break; + + case SELECT_CLEAN: + bwd = (bestworst_data *)(sc->data); + FREE ( bwd->list ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_best_compare() + * + * comparison function for qsort() to sort a list of indices in order + * of fitness (best first). + */ + +int select_best_compare ( const void *a, const void *b ) +{ + if ( selectpop->ind[*(int *)a].a_fitness == + selectpop->ind[*(int *)b].a_fitness ) + return 0; + else if ( selectpop->ind[*(int *)a].a_fitness < + selectpop->ind[*(int *)b].a_fitness ) + return 1; + else + return -1; +} + +/* select_worst_context() + * + * sets up the worst selection method. identical to select_best_context(), + * except for the call to qsort(). + */ + +sel_context *select_worst_context ( int op, sel_context *sc, population *p, + char *string ) +{ + int i, j; + bestworst_data *bwd; + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_bestworst; + sc->context_method = select_worst_context; + + bwd = (bestworst_data *)MALLOC ( sizeof ( bestworst_data ) ); + bwd->list = (int *)MALLOC ( (p->size+1) * sizeof ( int ) ); + bwd->next = 0; + + j = 0; + for ( i = 0; i < p->size; ++i ) + bwd->list[j++] = i; + selectpop = p; + qsort ( bwd->list, p->size, sizeof(int), select_worst_compare ); + selectpop = NULL; + + sc->data = (void *)bwd; + return sc; + break; + + case SELECT_CLEAN: + bwd = (bestworst_data *)(sc->data); + FREE ( bwd->list ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_worst_compare() + * + * comparison function for qsort() to sort a list of indices by fitness, + * worst first. + */ + +int select_worst_compare ( const void *a, const void *b ) +{ + if ( selectpop->ind[*(int *)a].a_fitness == + selectpop->ind[*(int *)b].a_fitness ) + return 0; + else if ( selectpop->ind[*(int *)a].a_fitness < + selectpop->ind[*(int *)b].a_fitness ) + return -1; + else + return 1; +} + +/* select_random_context() + * + * sets up the random selection method. + */ + +sel_context *select_random_context ( int op, sel_context *sc, + population *p, char *string ) +{ + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->data = NULL; + sc->select_method = select_random; + sc->context_method = select_random_context; + return sc; + break; + + case SELECT_CLEAN: + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_random() + * + * picks an individual at random a returns it. + */ + +int select_random ( sel_context *sc ) +{ + return random_int ( &globrand, sc->p->size ); +} + diff --git a/lib/lilgp/kernel_mod/change.c b/lib/lilgp/kernel_mod/change.c new file mode 100644 index 0000000..7b0c2db --- /dev/null +++ b/lib/lilgp/kernel_mod/change.c @@ -0,0 +1,324 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* the table of operator names and initialization functions. extend this + * table whenever you add a new operator. {NULL,NULL} marks the end of + * the table. + */ + +operator operator_table[] = +{ { "crossover", operator_crossover_init }, + { "reproduction", operator_reproduce_init }, + { "mutation", operator_mutate_init }, + { NULL, NULL } }; + +/* change_population() + * + * breed the new population. + */ + +population *change_population ( population *oldpop, breedphase *bp ) +{ + population *newpop; + int i, j; + int numphases; + double totalrate = 0.0; + double r, r2; + int prob_oper = atoi ( get_parameter ( "probabilistic_operators" ) ); + + /* allocate the new population. */ + newpop = allocate_population ( oldpop->size ); + + /* the first element of the breedphase table is a dummy -- its + operator field stores the number of phases. */ + numphases = bp[0].operator; + + /* call the start method for each phase. */ + for ( i = 1; i <= numphases; ++i ) + { + totalrate += bp[i].rate; + if ( bp[i].operator_start ) + bp[i].operator_start ( oldpop, bp[i].data ); + } + + /* now fill the new population. */ + while ( newpop->next < newpop->size ) + { + + /** select an operator, either stochastically or not depending on + the probabilistic_operators parameter. **/ + if ( prob_oper ) + r = totalrate * random_double ( &globrand ); + else + r = totalrate * ((double)newpop->next/(double)newpop->size); + + r2 = bp[1].rate; + for ( i = 1; r2 < r; ) + r2 += bp[++i].rate; +#ifdef DEBUG + fprintf ( stderr, "picked %10.3lf; operator %d\n", r, i ); +#endif + + /* call the phase's method to do the operation. */ + if ( bp[i].operator_operate ) + bp[i].operator_operate ( oldpop, newpop, bp[i].data ); + } + + /* call each phase's method to do cleanup. */ + for ( i = 1; i <= numphases; ++i ) + { + if ( bp[i].operator_end ) + bp[i].operator_end ( bp[i].data ); + } + + /* mark all the ERCs referenced in the new population. */ + for ( i = 0; i < newpop->size; ++i ) + for ( j = 0; j < tree_count; ++j ) + reference_ephem_constants ( newpop->ind[i].tr[j].data, 1 ); + + /* free the old population. */ + free_population ( oldpop ); + + return ( newpop ); + +} + +/* free_breeding() + * + * this frees the breedphase table for each subpopulation. + */ + +void free_breeding ( multipop *mpop ) +{ + int i; + + for ( i = 0; i < mpop->size; ++i ) + { + free_one_breeding ( mpop->bpt[i] ); + FREE ( mpop->bpt[i] ); + } + FREE ( mpop->bpt ); + mpop->bpt = NULL; +} + +/* free_one_breeding() + * + * this frees the breedphase table for a single subpopulation. + */ + +void free_one_breeding ( breedphase *bp ) +{ + int i; + + for ( i = 1; i <= bp[0].operator; ++i ) + { + if ( bp[i].operator_free ) + bp[i].operator_free ( bp[i].data ); + } +} + +/* initialize_breeding() + * + * this builds the breedphase table for each subpopulation. + */ + +void initialize_breeding ( multipop *mpop ) +{ + char pnamebuf[100]; + int i; + + mpop->bpt = (breedphase **)MALLOC ( mpop->size * sizeof ( breedphase * ) ); + + for ( i = 0; i < mpop->size; ++i ) + { + sprintf ( pnamebuf, "subpop[%d].", i+1 ); + mpop->bpt[i] = initialize_one_breeding ( pnamebuf ); + } + +} + +/* initialize_one_breeding() + * + * this builds the breedphase table for a single subpopulation. */ + +breedphase * initialize_one_breeding ( char *prefix ) +{ + char pnamebuf[100]; + char *param, *param2; + int i, j; + double rate; + int errors = 0; + breedphase *bp; + operator *op; + char *name, *namep; + + /* get the number of phases. */ + param = get_breed_parameter ( prefix, "breed_phases" ); + if ( param == NULL ) + error ( E_FATAL_ERROR, "no value specified for \"%sbreed_phases\".", + prefix ); + j = atoi ( param ); + if ( j <= 0 ) + error ( E_FATAL_ERROR, + "\"%sbreed_phases\" must be greater than zero.", prefix ); + + /* the first record of the table is a dummy -- its operator field + contains the number of phases. */ + bp = (breedphase *)MALLOC ( (j+1) * sizeof ( breedphase ) ); + bp[0].operator = j; + bp[0].rate = 0.0; + bp[0].operator_start = NULL; + bp[0].operator_end = NULL; + bp[0].operator_free = NULL; + bp[0].operator_operate = NULL; + + /* for each phase... */ + for ( i = 0; i < j; ++i ) + { + bp[i+1].operator_start = NULL; + bp[i+1].operator_end = NULL; + bp[i+1].operator_free = NULL; + bp[i+1].operator_operate = NULL; + + /* get the operator string (name and options) */ + param = get_breed_parameter ( prefix, "breed[%d].operator", i+1 ); + if ( param == NULL ) + { + ++errors; + error ( E_ERROR, + "no value specifed for \"%sbreed[%d].operator\".", + prefix, i+1 ); + continue; + } + + /* isolate the name portion of the string. */ + name = (char *)MALLOC ( ( strlen ( param ) + 1 ) * sizeof ( char ) ); + namep = name; + for ( param2 = param, namep = name; + *param2 && *param2 != ',' && *param2 != '\n'; + ++param2 ) + if ( !isspace(*param2) ) + *(namep++) = *param2; + *namep = 0; + if ( ! *param2 ) + --param2; + + /* look up the name in the table of operators. */ + op = operator_table; + while ( op->name ) + { + if ( strcmp ( op->name, name ) == 0 ) + break; + ++op; + } + + FREE ( name ); + + if ( op->name ) + /* call the operator's initialization function to fill in the fields + of the table for this phase. */ + errors += op->func ( param2+1, bp+i+1 ); + else + /* the specified operator is not in the table. */ + error ( E_FATAL_ERROR, + "%s: \"%s\" is not a known operator.", pnamebuf, param ); + + /* get the rate for this phase. */ + param = get_breed_parameter ( prefix, "breed[%d].rate", i+1 ); + if ( param == NULL ) + { + ++errors; + error ( E_ERROR, + "no value specified for \"%sbreed[%d].rate\".", + prefix, i+1 ); + } + else + { + rate = strtod ( param, NULL ); + if ( rate < 0.0 ) + { + ++errors; + error ( E_FATAL_ERROR, + "\"%sbreed[%d].rate\" must be nonnegative.", + prefix, i+1 ); + } + else if ( rate == 0.0 ) + { + error ( E_WARNING, + "\"%sbreed[%d].rate\" is zero; is this correct?", + prefix, i+1 ); + } + bp[i+1].rate = rate; + } + } + + /* if any errors occurred, stop now. */ + if ( errors ) + error ( E_FATAL_ERROR, "Errors have occurred, aborting." ); + + return bp; +} + +/* rebuild_breeding() + * + * rebuilds the breeding table from the parameter database. called from + * user code when the breeding parameters change mid-run. + */ + +void rebuild_breeding ( multipop *mpop ) +{ + free_breeding ( mpop ); + initialize_breeding ( mpop ); +} + +/* get_breed_parameter() + * + * format and following arguments are passed to sprintf to form a string. + * looks for a parameter called "", and returns its value. + * if it does not exist, returns the value of a parameter called "". + */ + +char *get_breed_parameter ( char *prefix, char *format, ... ) +{ + char *param; + static char pnamebuf[200]; + int len = strlen(prefix); + va_list ap; + + strcpy ( pnamebuf, prefix ); + va_start ( ap, format ); + vsprintf ( pnamebuf+len, format, ap ); + va_end ( ap ); + + param = get_parameter ( pnamebuf ); + if ( param == NULL ) + return get_parameter ( pnamebuf+len ); + else + return param; +} diff --git a/lib/lilgp/kernel_mod/ckpoint.c b/lib/lilgp/kernel_mod/ckpoint.c new file mode 100644 index 0000000..f124381 --- /dev/null +++ b/lib/lilgp/kernel_mod/ckpoint.c @@ -0,0 +1,714 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +#ifdef USEVFORK +extern char **environ; +#endif + + +/* read_checkpoint() + * + * reads a checkpoint file, placing the generation number in gen and filling + * the population (and other structures) with information from the file + */ + +void read_checkpoint ( char *filename, int *gen, multipop **mpop ) +{ + FILE *f; + char *buffer; + ephem_const **eind; + int random_state_bytes; + int i; + char *rand_state; + + /* miscellaneous buffer for reading. */ + buffer = (char *)MALLOC ( MAXCHECKLINELENGTH ); + + /* open the file. */ + f = fopen ( filename, "rb" ); + if ( f == NULL ) + { + error ( E_FATAL_ERROR, "couldn't read checkpoint \"%s\".", + filename ); + } + + oprintf ( OUT_SYS, 30, "reading from checkpoint \"%s\".\n", + filename ); + + /** confirm the magic word that starts every checkpoint file. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); + if ( strcmp ( buffer, CK_MAGIC ) ) + error ( E_FATAL_ERROR, + "\"%s\" is not a lil-gp v1.0 checkpoint file.", filename ); + + /* skip the human-readable id line. */ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "id line: %s", buffer ); +#endif + + /** read and print the timestamp. **/ + fscanf ( f, "%*s " ); + fgets ( buffer, MAXCHECKLINELENGTH, f ); + /* chop the newline. */ + buffer[strlen(buffer)-1] = 0; + oprintf ( OUT_SYS, 30, " checkpoint timestamp: [%s].\n", buffer ); + + /* skip the "section: global" line. */ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be global section: %s", buffer ); +#endif + + /* read the generation number. */ + fscanf ( f, "%*s %d\n", gen ); + + /** read the random number state encoded as a string of hex chars. **/ + + /* first read the length. */ + fscanf ( f, "%*s %d ", &random_state_bytes ); +#ifdef DEBUG + fprintf ( stderr, "%d random state bytes.\n", random_state_bytes ); +#endif + /* allocate the buffer. */ + rand_state = (char *)MALLOC ( random_state_bytes+1 ); + /* read the hex data into the buffer. */ + read_hex_block ( rand_state, random_state_bytes, f ); + /* set the state. */ + random_set_state ( &globrand, rand_state ); + /* free the buffer. */ + FREE ( rand_state ); + /* slurp the newline character following the hex data. */ + fgetc ( f ); + + /** skip the "section: parameter" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be parameter section: %s", buffer ); +#endif + /* read the parameter database. */ + read_parameter_database ( f ); + + /* make internal copies of function set(s). */ + if ( app_build_function_sets() ) + error ( E_FATAL_ERROR, "app_build_function_sets() failure." ); + + /** skip the "section: erc" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be erc section: %s", buffer ); +#endif + + /* read the list of ephemeral constants, and index them */ + eind = read_ephem_list ( f ); + + /** skip the "section: erc" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be population section: %s", buffer ); +#endif + + /** read the population **/ + + /* allocate memory. */ + *mpop = (multipop *)MALLOC ( sizeof ( multipop ) ); + /* read number of subpops. */ + fscanf ( f, "%*s %d\n", &((**mpop).size) ); + /* allocate subpop list. */ + (**mpop).pop = (population **)MALLOC ( (**mpop).size * + sizeof ( population * ) ); + for ( i = 0; i < (**mpop).size; ++i ) + { + /** skip each "subpop: #" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be subpop %d: %s", i, buffer ); +#endif + /* read the population. */ + (**mpop).pop[i] = read_population ( eind, f ); + } + + /** skip the "section: application" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be application section: %s", buffer ); +#endif + /* read application-specific stuff. */ + app_read_checkpoint ( f ); + + /** skip the "section: statistics" line. **/ + fgets ( buffer, MAXCHECKLINELENGTH, f ); +#ifdef DEBUG + printf ( "should be statistics section: %s", buffer ); +#endif + /* read the statistics. */ + read_stats_checkpoint ( *mpop, eind, f ); + + /* close'n'free. */ + FREE ( eind ); + FREE ( buffer ); + fclose ( f ); + + oprintf ( OUT_SYS, 30, "population read from checkpoint \"%s\".\n", + filename ); + +} + +/* write_checkpoint() + * + * checkpoints the population to the given file. + */ + +void write_checkpoint ( int gen, multipop *mpop, char *filename ) +{ + + FILE *f; + unsigned char *rand_state; + ephem_index *eind; + int i; + int random_state_bytes; + time_t now; + char *param; + char *compresscommand[4] = { NULL, NULL, NULL, NULL }; + + /* open the file. */ + f = fopen ( filename, "w" ); + if ( f == NULL ) + { + error ( E_ERROR, "couldn't write checkpoint \"%s\"; skipping.", + filename ); + return; + } + + /* write magic number and id string. */ + fputs ( CK_MAGIC, f ); + fputs ( CK_IDSTRING, f ); + /* write timestamp. */ + time ( &now ); + fprintf ( f, "checkpoint-written: %s", ctime ( &now ) ); + + /* global section. */ + fputs ( "section: global\n", f ); + fprintf ( f, "generation: %d\n", gen ); + + /** write the state of the random number generator. **/ + rand_state = random_get_state ( &globrand, &random_state_bytes ); + fprintf ( f, "random-state: %d ", random_state_bytes ); + /* store buffer as hex data. */ + write_hex_block ( rand_state, random_state_bytes, f ); + fputc ( '\n', f ); + FREE ( rand_state ); + + /** write the parameter database. **/ + fprintf ( f, "section: parameter\n" ); + write_parameter_database ( f ); + + /** write the list of ephemeral constants, and index them. **/ + fprintf ( f, "section: erc\n" ); + eind = write_ephem_list ( f ); + + /** write the population. **/ + fprintf ( f, "section: population\n" ); + fprintf ( f, "subpop-count: %d\n", mpop->size ); + for ( i = 0; i < mpop->size; ++i ) + { + fprintf ( f, "subpop: %d\n", i ); + write_population ( mpop->pop[i], eind, f ); + } + + /** application-specific data. **/ + fprintf ( f, "section: application\n" ); + app_write_checkpoint ( f ); + + /** statistics structures. **/ + fprintf ( f, "section: statistics\n" ); + write_stats_checkpoint ( mpop, eind, f ); + + /** close'n'free. **/ + FREE ( eind ); + fclose ( f ); + + oprintf ( OUT_SYS, 20, " population checkpointed: \"%s\".\n", + filename ); + + /** do we compress the checkpoint file? **/ + param = get_parameter ( "checkpoint.compress" ); + if ( param ) + { +#if defined(USEVFORK) || defined(USESYSTEM) + /* allocate a string big enough to hold the command. */ + compresscommand[2] = (char *)MALLOC ( 2*(strlen(param) + + strlen(filename)) * + sizeof ( char ) ); + /* create the command string. */ + sprintf ( compresscommand[2], param, filename ); +#ifdef DEBUG + oprintf ( OUT_SYS, 20, " compression command is [%s]\n", + compresscommand[2] ); +#endif +#ifdef USEVFORK + /* in unix (solaris at least), a system() call performs a fork(), + * then an exec(). the fork system call copies the entire address + * space of the parent process to the child process. for large + * GP applications, this could be intolerably slow. + * + * vfork() does a fork without copying the address space. it can + * be used when the child immediately exec()s following the + * vfork(). + * + * we use exec() to do a "/bin/sh -c compresscommand" to parse + * and execute the compression command. + * + * we neither wait for the child to complete nor check the exit + * status to see if the compression was successful. + */ + + /** create the rest of the argv[] array to pass to the child. */ + compresscommand[0] = "/bin/sh"; + compresscommand[1] = "-c"; + if ( !vfork() ) + { + execve ( "/bin/sh", compresscommand, environ ); + _exit(1); + } +#else + /* this is provided for non-unix systems which don't provide the + * vfork() call but do have the system() call. + */ + + system ( compresscommand[2] ); +#endif + FREE ( compresscommand[2] ); + oprintf ( OUT_SYS, 20, " checkpoint compressed.\n" ); +#else + /* neither vfork() nor system() is available; + can't do compression. */ + oprintf ( OUT_SYS, 20, " checkpoint compression unavailable.\n" ); +#endif + } + +} + +/* read_population() + * + * allocates a population structure, reads a population from a checkpoint + * file into it, and returns it. must be passed an index to look up ERCs + * in. + */ + +population *read_population ( ephem_const **eind, FILE *f ) +{ + int i; + char *buffer; + population *pop; + + /* allocate. */ + pop = (population *)MALLOC ( sizeof ( population ) ); + /* read the "size" and "next" fields. */ + fscanf ( f, "%*s %d\n%*s %d\n", &(pop->size), &(pop->next) ); + /* allocate the individual array. */ + pop->ind = (individual *)MALLOC ( pop->size * sizeof ( individual ) ); + /* this buffer is used by read_individual for reading and parsing + function names in trees. we allocate it here, so that all calls + to read_individual share the same buffer (we don't have to repeatedly + allocate and free). */ + buffer = (char *)MALLOC ( MAXCHECKLINELENGTH ); + + for ( i = 0; i < pop->size; ++i ) + { + read_individual ( pop->ind+i, eind, f, buffer ); + } + + FREE ( buffer ); + return pop; +} + +/* read_individual() + * + * reads a single individual from a checkpoint file into the given individual + * pointer. it does NOT allocate the pointer. + */ + +void read_individual ( individual *ind, ephem_const **eind, FILE *f, + char *buffer ) +{ + int j, k[3]; + + /* read the evald and flags fields. */ + fscanf ( f, "%d %d ", &(ind->evald), &(ind->flags) ); + if ( ind->evald == EVAL_CACHE_VALID ) + { + /** if the individual has valid fitness values saved in the + file, read them. **/ + + /* skip over the human-readable fitness values and read the + hits count. */ + fscanf ( f, "%*f %*f %*f %d ", &(ind->hits) ); + /** the fitness values, which are double precision, are dumped out + in hex so that no significant digits are lost. **/ + read_hex_block ( &(ind->r_fitness), sizeof(double), f ); + fgetc ( f ); + read_hex_block ( &(ind->s_fitness), sizeof(double), f ); + fgetc ( f ); + read_hex_block ( &(ind->a_fitness), sizeof(double), f ); + fgetc ( f ); + } + +#ifdef DEBUG + fprintf ( stderr, "%lf %lf %lf %d %d %d\n", + ind->r_fitness, + ind->s_fitness, + ind->a_fitness, + ind->hits, + ind->evald, + ind->flags ); +#endif + + /* allocate the array of trees. */ + ind->tr = (tree *)MALLOC ( tree_count * sizeof ( tree ) ); + for ( j = 0; j < tree_count; ++j ) + { + /* read the tree number, tree size, and tree node count. */ + fscanf ( f, "%d %d %d ", k+0, k+1, k+2 ); + + /** read the tree into a generation space, then copy it to + it's final location. **/ + gensp_reset ( 0 ); + read_tree_recurse ( 0, eind, f, j, buffer ); + gensp_dup_tree ( 0, ind->tr+j ); + +#ifdef DEBUG_READTREE + fprintf ( stderr, "file: %d %d %d here: %d %d %d\n", + k[0], k[1], k[2], j, ind->tr[j].size, + ind->tr[j].nodes ); + print_tree ( ind->tr[j].data, stderr ); +#endif + if ( k[0] != j || + k[1] != ind->tr[j].size || + k[2] != ind->tr[j].nodes ) + { + /** if the values in the checkpoint file don't match the + values of the tree we read, this is a problem. this, of + course should never happen. **/ + /*printf("Correct size: %d Nodes: %d\n",ind->tr[j].size,ind->tr[j].nodes);*/ + error ( E_FATAL_ERROR, "checkpoint file corrupted in population section." ); + } + } +} + +/* read_tree_recurse() + * + * function to recursively read a tree from a checkpoint file. + */ + +void read_tree_recurse ( int space, ephem_const **eind, FILE *fil, int tree, + char *string ) +{ + function *f; + int i, j; + ephem_const *ep; + + /* read up until a nonwhitespace character in file. the nonwhitespace + character is saved in string[0]. */ + while ( isspace(string[0]=fgetc(fil)) ); + /* get the next character. */ + i = fgetc ( fil ); + if ( isspace(i) ) + /* if the next character is whitespace, then string[0] is a + one-character function name. null-terminate the string. */ + string[1] = 0; + else + { + /** if the next character is not whitespace, then string[0] + is either an open parenthesis or the first character of a + multi-character function name. **/ + + /* push the next character back. */ + ungetc ( i, fil ); + /* read the function name. skip over an open parenthesis, if there + is one. */ + fscanf ( fil, "%s ", string+(string[0]!='(') ); + } +#ifdef DEBUG_READTREE + fprintf ( stderr, "function name is [%s]\n", string ); +#endif + + /* look up the function name in this tree's function set. if the + function is an ERC terminal (the name is of the form "name:ERCindex"), + then place the ERC address in ep. */ + f = get_function_by_name ( tree, string, &ep, eind ); + /* add an lnode to the tree. */ + gensp_next(space)->f = f; + + switch ( f->type ) + { + case TERM_NORM: + case TERM_ARG: + case EVAL_TERM: + break; + case TERM_ERC: + /* record the ERC address as the next lnode in the array. */ + gensp_next(space)->d = ep; + break; + case FUNC_DATA: + case EVAL_DATA: + /** recursively read child functions, no skip nodes needed. **/ + for ( i = 0; i < f->arity; ++i ) + read_tree_recurse ( space, eind, fil, tree, string ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + /** recursively read child functions, recording skip values. **/ + for ( i = 0; i < f->arity; ++i ) + { + /* save an lnode for the skip value. */ + j = gensp_next_int ( space ); + /* read the child tree. */ + read_tree_recurse ( space, eind, fil, tree, string ); + /* figure out how big the child tree was, and save that + number in the skip node. */ + gensp[space].data[j].s = gensp[space].used-j-1; + } + break; + } +} + +/* get_function_by_name() + * + * looks up a function name in the function set for the given tree. if + * the function is an ERC, looks up the index (encoded in the name) + * and stores the ERC address in ep. + */ + +function * get_function_by_name ( int tree, char *string, ephem_const **ep, + ephem_const **eind ) +{ + int i, j, k; + function_set *fs = fset+tree_map[tree].fset; + + k = strlen ( string ); + for ( i = 0; i < k; ++i ) + { + if ( string[i] == ':' ) + { + /* names of the form "name:index" are chopped at the colon, + and the value of the index saved. */ + string[i] = 0; + j = atoi ( string+i+1 ); + break; + } + else if ( string[i] == ')' ) + { + /* chop the name at the first closing parenthesis, since we + could be passed a string like "function))))" */ + string[i] = 0; + break; + } + } + + /* find the string in the function set. */ + for ( i = 0; i < fs->size; ++i ) + if ( strcmp ( string, fs->cset[i].string ) == 0 ) + { + if ( fs->cset[i].type == TERM_ERC ) + { + /* if this is an ERC, lookup the saved index in the + eind table, and store the looked-up address in ep. */ + *ep = eind[j]; + (*ep)->f = fs->cset+i; + } + /* return a pointer to the function. */ + return fs->cset+i; + } + + /* this, of course, should never happen. */ + return NULL; +} + +/* write_population() + * + * writes a population to a checkpoint file. + */ + +void write_population ( population *pop, ephem_index *eind, FILE *f ) +{ + int i; + + /* write size and next fields. */ + fprintf ( f, "size: %d\nnext: %d\n", pop->size, pop->next ); + + /* write each individual. */ + for ( i = 0; i < pop->size; ++i ) + { + write_individual ( pop->ind+i, eind, f ); + } +} + +/* write_individual() + * + * writes an individual to a checkpoint file. uses eind to change ERC + * addresses to integer indices. + */ + +void write_individual ( individual *ind, ephem_index *eind, FILE *f ) +{ + int j; + lnode *l; + + /* write evald and flags fields. */ + fprintf ( f, "%d %d ", ind->evald, ind->flags ); + if ( ind->evald == EVAL_CACHE_VALID ) + { + /** if the fitness values are valid... **/ + + /* ...write them in human-readable form. */ + fprintf ( f, "%lf %lf %lf %d ", + ind->r_fitness, ind->s_fitness, + ind->a_fitness, ind->hits ); + /** then write the double-precision values as hex blocks, so + as not to lose significant digits. **/ + write_hex_block ( &(ind->r_fitness), sizeof(double), f ); + fputc ( ' ', f ); + write_hex_block ( &(ind->s_fitness), sizeof(double), f ); + fputc ( ' ', f ); + write_hex_block ( &(ind->a_fitness), sizeof(double), f ); + } + fputc ( '\n', f ); + + /** now write the trees of the individual. **/ + for ( j = 0; j < tree_count; ++j ) + { + /* write tree number, size, nodes. */ + fprintf ( f, "%d %d %d ", j, ind->tr[j].size, + ind->tr[j].nodes ); + + /** write tree data. **/ + l = ind->tr[j].data; + write_tree_recurse ( &l, eind, f ); + fputc ( '\n', f ); + } +} + +/* write_tree_recurse() + * + * function to recursively write trees to a checkpoint file. the same + * as print_tree_recurse(), except that ERC nodes are written as + * "name:index" rather than the value, using eind to translate addresses + * to indices. + */ + +void write_tree_recurse ( lnode **l, ephem_index *eind, FILE *fil ) +{ + function *f; + int i; + + /* remember which function we are. */ + f = (**l).f; + + /* a space, then an open-paren if this function is not a terminal. */ + fputc ( ' ', fil ); + if ( f->arity != 0 ) + fprintf ( fil, "(" ); + + ++*l; + if ( f->type == TERM_ERC ) + { + /* ERCs printed as "name:index". */ + fprintf ( fil, "%s:%d", f->string, + lookup_ephem ( eind, (**l).d ) ); + ++*l; + } + else + /* everything else printed normally. */ + fprintf ( fil, "%s", f->string ); + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + /** recursively print children. **/ + for ( i = 0; i < f->arity; ++i ) + write_tree_recurse ( l, eind, fil ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + /** recursive print children, ignoring the skip nodes. **/ + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + write_tree_recurse ( l, eind, fil ); + } + break; + } + + if ( f->arity != 0 ) + fprintf ( fil, ")" ); +} + +/* write_hex_block() + * + * writes a block of memory to a file, as a string of hex characters. + */ + +void write_hex_block ( void *buf, int n, FILE *f ) +{ + int i; + unsigned char *b = (unsigned char *)buf; + + for ( i = 0; i < n; ++i ) + fprintf ( f, "%02x", b[i] ); +} + +/* read_hex_block() + * + * reads hex characters into a block of memory, the inverse of + * write_hex_block(). + */ + +void read_hex_block ( void *buf, int n, FILE *f ) +{ + int i; + unsigned char *b = (unsigned char *)buf; + int c[2] = { 0, 0 }; + + for ( i = 0; i < n; ++i ) + { + c[0] = fgetc ( f ); + c[1] = fgetc ( f ); + + /* convert hex chars to base 10. */ + c[0] = c[0]>'9' ? c[0]-'a'+10 : c[0]-'0'; + c[1] = c[1]>'9' ? c[1]-'a'+10 : c[1]-'0'; + + b[i] = c[0] * 16 + c[1]; + } +} + + + diff --git a/lib/lilgp/kernel_mod/crossovr.c b/lib/lilgp/kernel_mod/crossovr.c new file mode 100644 index 0000000..e67c2ae --- /dev/null +++ b/lib/lilgp/kernel_mod/crossovr.c @@ -0,0 +1,709 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +typedef struct +{ + int keep_trying; + int num_times; /* Number of times we should keep trying. If 0, infinity. --Sean */ + double internal; + double external; + double *tree; /* probability that a given tree + will be selected for crossover. */ + double *treecumul; /* running sum of "tree" field. */ + double treetotal; /* total of all tree fields. */ + double *func; /* probability that a given function + set will be selected for crossover. */ + char *sname; + sel_context *sc; + char *sname2; + sel_context *sc2; +} crossover_data; + + + +/* operator_crossver_init() + * + * called to parse crossover options and initialize one record + * of a breedphase table appropriately. + */ + +int operator_crossover_init ( char *options, breedphase *bp ) +{ + int errors = 0; + crossover_data *cd; + int i, j, k, m; + double r; + char **argv, **targv; + int internalset = 0, externalset = 0; + char *cp; + + cd = (crossover_data *)MALLOC ( sizeof ( crossover_data ) ); + + /* place values into the breedphase table record. */ + bp->operator = OPERATOR_CROSSOVER; + bp->data = (void *)cd; + bp->operator_free = operator_crossover_free; + bp->operator_start = operator_crossover_start; + bp->operator_end = operator_crossover_end; + bp->operator_operate = operator_crossover; + + /* default values for all the crossover options. */ + cd->keep_trying = 0; + cd->num_times = 0; + cd->internal = 0.9; + cd->external = 0.1; + cd->tree = (double *)MALLOC ( tree_count * sizeof ( double ) ); + cd->treecumul = (double *)MALLOC ( tree_count * sizeof ( double ) ); + for ( j = 0; j < tree_count; ++j ) + cd->tree[j] = 0.0; + cd->treetotal = 0.0; + cd->func = (double *)MALLOC ( fset_count * sizeof ( double ) ); + cd->sname = NULL; + cd->sname2 = NULL; + + /* break the options string into an argv-style array of strings. */ + j = parse_o_rama ( options, &argv ); + + for ( i = 0; i < j; ++i ) + { + /* parse "keep_trying" option. */ + if ( strcmp ( "keep_trying", argv[i] ) == 0 ) + { + /* translate a string into a binary value. returns -1 if + the string is not one of the valid strings meaning + yes or no. */ + cd->keep_trying = translate_binary ( argv[++i] ); + if ( cd->keep_trying == -1 ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a valid setting for \"keep_trying\".", + argv[i] ); + } + } + /* parse number of times to try */ + else if (strcmp ("num_times", argv[i]) == 0) + { + cd->num_times = translate_binary(argv[++i]); + if (cd->num_times < 0 ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a valid setting for \"num_times\".", + argv[i] ); + } + } + /* parse "internal" option. */ + else if ( strcmp ( "internal", argv[i] ) == 0 ) + { + internalset = 1; + cd->internal = strtod ( argv[++i], NULL ); + if ( cd->internal < 0.0 ) + { + ++errors; + error ( E_ERROR, "crossover: \"internal\" must be nonnegative." ); + } + } + /* parse "external" option. */ + else if ( strcmp ( "external", argv[i] ) == 0 ) + { + externalset = 1; + cd->external = strtod ( argv[++i], NULL ); + if ( cd->external < 0.0 ) + { + ++errors; + error ( E_ERROR, "crossover: \"external\" must be nonnegative." ); + } + } + /* parse "select" option. */ + else if ( strcmp ( "select", argv[i] ) == 0 ) + { + if ( !exists_select_method ( argv[++i] ) ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a known selection method.", + argv[i] ); + } + FREE ( cd->sname ); + cd->sname = (char *)MALLOC ( (strlen(argv[i])+1) * sizeof ( char ) ); + strcpy ( cd->sname, argv[i] ); + if ( cd->sname2 == NULL ) + cd->sname2 = cd->sname; + } + /* parse "select2" option. */ + else if ( strcmp ( "select2", argv[i] ) == 0 ) + { + if ( !exists_select_method ( argv[++i] ) ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a known selection method.", + argv[i] ); + } + if ( cd->sname2 && cd->sname != cd->sname2 ) + FREE ( cd->sname2 ); + cd->sname2 = (char *)MALLOC ( (strlen(argv[i])+1) * sizeof ( char ) ); + strcpy ( cd->sname2, argv[i] ); + } + /* parse "tree" option. */ + else if ( strcmp ( "tree", argv[i] ) == 0 ) + { + k = parse_o_rama ( argv[++i], &targv ); + if ( k != tree_count ) + { + ++errors; + error ( E_ERROR, "crossover: wrong number of tree fields: \"%s\".", + argv[i] ); + } + else + { + for ( m = 0; m < k; ++m ) + { + cd->tree[m] = strtod ( targv[m], &cp ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a number.", + targv[m] ); + } + } + } + + free_o_rama ( k, &targv ); + } + /* parse "tree#" option. */ + else if ( strncmp ( "tree", argv[i], 4 ) == 0 ) + { + k = strtol ( argv[i]+4, &cp, 10 ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "crossover: unknown option \"%s\".", + argv[i] ); + } + if ( k < 0 || k >= tree_count ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is out of range.", + argv[i] ); + } + else + { + cd->tree[k] = strtod ( argv[++i], &cp ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "crossover: \"%s\" is not a number.", + argv[i] ); + } + } + } + else + { + ++errors; + error ( E_ERROR, "crossover: unknown option \"%s\".", + argv[i] ); + } + } + + free_o_rama ( j, &argv ); + + if ( internalset && !externalset ) + cd->external = 0.0; + else if ( !internalset && externalset ) + cd->internal = 0.0; + + if ( cd->sname == NULL ) + { + ++errors; + error ( E_ERROR, "crossover: no selection method specified." ); + } + + /** compute "func" array from the "tree" array. **/ + + for ( j = 0; j < tree_count; ++j ) + cd->treetotal += cd->tree[j]; + if ( cd->treetotal == 0.0 ) + { + for ( j = 0; j < tree_count; ++j ) + cd->tree[j] = 1.0; + cd->treetotal = tree_count; + } + + for ( j = 0; j < fset_count; ++j ) + cd->func[j] = 0.0; + for ( j = 0; j < tree_count; ++j ) + cd->func[tree_map[j].fset] += cd->tree[j]; + + r = 0.0; + for ( j = 0; j < fset_count; ++j ) + r = (cd->func[j] += r); + +#ifdef DEBUG + if ( !errors ) + { + printf ( "crossover options:\n" ); + printf ( " internal: %lf external: %lf\n", cd->internal, cd->external ); + printf ( " keep_trying: %d\n", cd->keep_trying ); + printf ( " primary selection: %s\n", cd->sname==NULL?"NULL":cd->sname ); + printf ( " second selection: %s\n", cd->sname2==NULL?"NULL":(cd->sname2==cd->sname?"same as primary":cd->sname2) ); + printf ( " tree total: %lf\n", cd->treetotal ); + for ( j = 0; j < tree_count; ++j ) + printf ( " tree %d: %lf\n", j, cd->tree[j] ); + for ( j = 0; j < fset_count; ++j ) + printf ( " fset %d: %lf\n", j, cd->func[j] ); + } +#endif + + return errors; +} + +/* operator_crossover_free() + * + * free the crossover-specific data structure. + */ + +void operator_crossover_free ( void *data ) +{ + crossover_data * cd; + + cd = (crossover_data *)data; + + FREE ( cd->sname ); + if ( cd->sname != cd->sname2 ) + FREE ( cd->sname2 ); + FREE ( cd->tree ); + FREE ( cd->treecumul ); + FREE ( cd->func ); + FREE ( cd ); +} + +/* operator_crossover_start() + * + * called at the start of the breeding process each generation. + * initializes the selection contexts for this phase. + */ + +void operator_crossover_start ( population *oldpop, void *data ) +{ + crossover_data * cd; + select_context_func_ptr select_con; + + cd = (crossover_data *)data; + + select_con = get_select_context ( cd->sname ); + cd->sc = select_con ( SELECT_INIT, NULL, oldpop, cd->sname ); + + /* if there is a separate selection method specified for the + second parent... */ + if ( cd->sname2 != cd->sname ) + { + /* ...then initialize it too. */ + select_con = get_select_context ( cd->sname2 ); + cd->sc2 = select_con ( SELECT_INIT, NULL, oldpop, cd->sname2 ); + } + else + /* ...otherwise use the first context. */ + cd->sc2 = cd->sc; +} + +/* operator_crossover_end() + * + * called when breeding is finished each generation. frees up selection + * contexts for this phase. + */ + +void operator_crossover_end ( void *data ) +{ + crossover_data * cd; + + cd = (crossover_data *)data; + + cd->sc->context_method ( SELECT_CLEAN, cd->sc, NULL, NULL ); + if ( cd->sname != cd->sname2 ) + cd->sc2->context_method ( SELECT_CLEAN, cd->sc2, NULL, NULL ); +} + +/* operator_crossover() + * + * performs the crossover, inserting one or both offspring into the + * new population. + */ + +void operator_crossover ( population *oldpop, population *newpop, + void *data ) +{ + crossover_data * cd; + int p1, p2; + int ps1, ps2; + int l1, l2; + lnode *st[3]; + int sts1, sts2; + int ns1, ns2; + int badtree1, badtree2; + double total; + int forceany1, forceany2; + int repcount; + int f, t1, t2, j; + double r, r2; + int totalnodes1, totalnodes2; + int i; + int count=0; /* Number of attempts */ + + /* get the crossover-specific data structure. */ + cd = (crossover_data *)data; + total = cd->internal + cd->external; + + /* choose a function set. */ + r = random_double(&globrand) * cd->treetotal; + for ( f = 0; r >= cd->func[f]; ++f ); + + /* fill in the "treecumul" array, zeroing all trees which + don't use the selected function set. */ + r = 0.0; + t1 = 0; + for ( j = 0; j < tree_count; ++j ) + { + if ( tree_map[j].fset == f ) + r = (cd->treecumul[j] = r + cd->tree[j]); + else + cd->treecumul[j] = r; + } + + /* select the first and second trees. */ + r2 = random_double(&globrand) * r; + for ( t1 = 0; r2 >= cd->treecumul[t1]; ++t1 ); + r2 = random_double(&globrand) * r; + for ( t2 = 0; r2 >= cd->treecumul[t2]; ++t2 ); + +#ifdef DEBUG_CROSSOVER + printf ( "selected function set %d --> t1: %d; t2: %d\n", f, t1, t2 ); +#endif + + /* choose two parents */ + p1 = cd->sc->select_method ( cd->sc ); + ps1 = oldpop->ind[p1].tr[t1].nodes; + /* if the tree only has one node, we obviously can't do + fucntionpoint crossover. use anypoint instead. */ + forceany1 = (ps1==1||total==0.0); + + p2 = cd->sc2->select_method ( cd->sc2 ); + ps2 = oldpop->ind[p2].tr[t2].nodes; + forceany2 = (ps2==1||total==0.0); + +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "parent 1 is:\n" ); + print_individual ( oldpop->ind+p1, stderr ); + fprintf ( stderr, "parent 2 is:\n" ); + print_individual ( oldpop->ind+p2, stderr ); +#endif + + while(1) + { + count++; + badtree1=0; /* Moved up here so they don't overwrite my claims --strong typing */ + badtree2=0; + + /* choose two crossover points */ + + if ( forceany1 ) + { + /* choose any point. */ + l1 = random_int ( &globrand, ps1 ); + st[1] = get_subtree ( oldpop->ind[p1].tr[t1].data, l1 ); + /* print_tree(st[1],stdout);*/ + } + else if ( total*random_double(&globrand) < cd->internal ) + { + /* choose an internal point. */ + l1 = random_int ( &globrand, tree_nodes_internal (oldpop->ind[p1].tr[t1].data) ); + st[1] = get_subtree_internal ( oldpop->ind[p1].tr[t1].data, l1 ); + /*print_tree(st[1],stdout);*/ + } + else + { + /* choose an external point. */ + l1 = random_int ( &globrand, tree_nodes_external (oldpop->ind[p1].tr[t1].data) ); + st[1] = get_subtree_external ( oldpop->ind[p1].tr[t1].data, l1 ); + /*print_tree(st[1],stdout);*/ + } + + if ( forceany2 ) + { + /* choose any point on second parent. */ + l2 = random_int ( &globrand, ps2 ); + st[2] = get_subtree ( oldpop->ind[p2].tr[t2].data, l2 ); + /*print_tree(st[2],stdout);*/ + } + else if ( total*random_double(&globrand) < cd->internal ) + { + /* choose internal point. */ + l2 = random_int ( &globrand, tree_nodes_internal (oldpop->ind[p2].tr[t2].data) ); + st[2] = get_subtree_internal ( oldpop->ind[p2].tr[t2].data, l2 ); + /*print_tree(st[2],stdout);*/ + } + else + { + /* choose external point. */ + l2 = random_int ( &globrand, tree_nodes_external (oldpop->ind[p2].tr[t2].data) ); + st[2] = get_subtree_external ( oldpop->ind[p2].tr[t2].data, l2 ); + /*print_tree(st[2],stdout);*/ + } + + /** validate the second offspring with regards to the first + offspring. **/ + + if ( st[1]->f->return_type != st[2]->f->return_type) + {badtree2=1; badtree1=1;} /* Needs to be *both*--don't know if either + is valid with regards to new children; + the simple way out is to just say they're + both bad. This is a better randomization + anyway... */ + + /* if we're supposed to keep trying, skip up and choose new crossover + points. */ + if ( cd->keep_trying && badtree2 && + (cd->num_times==0 || + cd->num_times > count) ) + continue; + +#ifdef DEBUG_CROSSOVER + printf ( "subtree 1 is: " ); + print_tree ( st[1], stdout ); + printf ( "subtree 2 is: " ); + print_tree ( st[2], stdout ); +#endif + + /* count the nodes in the selected subtrees. */ + sts1 = tree_nodes ( st[1] ); + sts2 = tree_nodes ( st[2] ); + + /* calculate the sizes of the offspring. */ + ns1 = ps1 - sts1 + sts2; + ns2 = ps2 - sts2 + sts1; + + totalnodes1 = ns1; + totalnodes2 = ns2; + +#ifdef DEBUG_CROSSOVER + printf ( "newtree 1 has size %d; limit is %d\n", + ns1, tree_map[t1].nodelimit ); +#endif + + /** validate the first offspring against the tree node and depth + limits; set "badtree1" if any are violated. **/ + + /*badtree1 = 0; moved to the while() loop */ + if ( tree_map[t1].nodelimit > -1 && ns1 > tree_map[t1].nodelimit ) + badtree1 |= 1; + else if ( tree_map[t1].depthlimit > -1 ) + { + ns1 = tree_depth_to_subtree ( oldpop->ind[p1].tr[t1].data, st[1] ) + + tree_depth ( st[2] ); +#ifdef DEBUG_CROSSOVER + printf ( "newtree 1 has depth %d; limit is %d\n", + ns1, tree_map[t1].depthlimit ); +#endif + if ( ns1 > tree_map[t1].depthlimit ) + badtree1 |= 1; + } + + /* if we're supposed to keep trying, skip up and choose new crossover + points. */ + if ( cd->keep_trying && badtree1 && + (cd->num_times==0 || + cd->num_times > count) ) + continue; + + /** validate the second offspring against the tree node and depth + limits; set "badtree2" if any are violated. **/ + + /* badtree2 = 0; moved to the while() loop */ + if ( tree_map[t2].nodelimit > -1 && ns2 > tree_map[t2].nodelimit ) + badtree2 |= 1; + else if ( tree_map[t2].depthlimit > -1 ) + { + ns2 = tree_depth_to_subtree ( oldpop->ind[p2].tr[t2].data, st[2] ) + + tree_depth ( st[1] ); + if ( ns2 > tree_map[t2].depthlimit ) + badtree2 |= 1; + } + + /* if we're supposed to keep trying, skip up and choose new crossover + points. */ + + if ( cd->keep_trying && badtree2 && + (cd->num_times==0 || + cd->num_times > count) ) + continue; + + /* check both offspring against the individual node limits, set + badtree1 and/or badtree2 if either is too big. */ + + if ( ind_nodelimit > -1 ) + { + for ( i = 0; i < tree_count; ++i ) + { + if ( i != t1 ) + totalnodes1 += oldpop->ind[p1].tr[i].nodes; + if ( i != t2 ) + totalnodes2 += oldpop->ind[p2].tr[i].nodes; + } + badtree1 |= (totalnodes1 > ind_nodelimit); + badtree2 |= (totalnodes2 > ind_nodelimit); +#ifdef DEBUG_CROSSOVER + printf ( "newind 1 has %d nodes; limit is %d\n", + totalnodes1, ind_nodelimit ); +#endif + } + + /* choose new crossover points if either tree is too big. */ + if ( cd->keep_trying && (badtree1 || badtree2) && + (cd->num_times==0 || + cd->num_times > count)) + continue; + + /* copy the first parent to the first offspring position */ + duplicate_individual ( newpop->ind+newpop->next, + oldpop->ind+p1 ); + if ( !badtree1 ) + { + /* if the first offspring is allowable... */ + +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 1 is allowable.\n" ); +#endif + + /* make a copy of the crossover tree, replacing the + selected subtree with the crossed-over subtree. */ + copy_tree_replace_many ( 0, oldpop->ind[p1].tr[t1].data, + st+1, st+2, 1, &repcount ); + if ( repcount != 1 ) + { + /* this can't happen, but check anyway. */ + error ( E_FATAL_ERROR, + "botched crossover: this can't happen" ); + } + + /* free the appropriate tree of the new individual */ + free_tree ( newpop->ind[newpop->next].tr+t1 ); + /* copy the crossovered tree to the freed space */ + gensp_dup_tree ( 0, newpop->ind[newpop->next].tr+t1 ); + + /* the new individual's fitness fields are of course invalid. */ + newpop->ind[newpop->next].evald = EVAL_CACHE_INVALID; + newpop->ind[newpop->next].flags = FLAG_NONE; + } + else + { + /* offspring too big but keep_trying not set, just leave the copied + parent 1 in the offspring position. */ +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 1 is too big; copying parent 1.\n" ); +#endif + } + + /* we've just filled in one member of the new population. */ + ++newpop->next; + +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 1:" ); + if ( newpop->ind[newpop->next-1].evald == EVAL_CACHE_VALID ) + fprintf ( stderr, " (valid)\n" ); + else + fprintf ( stderr, " (invalid)\n" ); + print_individual ( newpop->ind+(newpop->next-1), stderr ); +#endif + + /* if the new population needs another member (it's not full) */ + if ( newpop->next < newpop->size ) + { + /* copy the second parent to the second offspring position. */ + duplicate_individual ( newpop->ind+newpop->next, + oldpop->ind+p2 ); + if ( !badtree2 ) + { + /* if the second offspring is allowable... */ +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 2 is allowable.\n" ); +#endif + /* then make a copy of the tree, replacing the crossover + subtree. */ + copy_tree_replace_many ( 0, oldpop->ind[p2].tr[t2].data, + st+2, st+1, 1, &repcount ); + if ( repcount != 1 ) + { + error ( E_FATAL_ERROR, + "bad crossover: this can't happen" ); + } + + /* free the old tree in the new individual, and replace + it with the crossover tree. */ + free_tree ( newpop->ind[newpop->next].tr+t2 ); + gensp_dup_tree ( 0, newpop->ind[newpop->next].tr+t2 ); + + newpop->ind[newpop->next].evald = EVAL_CACHE_INVALID; + newpop->ind[newpop->next].flags = FLAG_NONE; + } + else + { + /* offspring too big but keep_trying not set; just leave + the copy of parent 2 where it is. */ +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 2 is big; copying parent 2.\n" ); +#endif + } + + ++newpop->next; + +#ifdef DEBUG_CROSSOVER + fprintf ( stderr, "offspring 2:" ); + if ( newpop->ind[newpop->next-1].evald == EVAL_CACHE_VALID ) + fprintf ( stderr, " (valid)\n" ); + else + fprintf ( stderr, " (invalid)\n" ); + print_individual ( newpop->ind+(newpop->next-1), stderr ); +#endif + + } +#ifdef DEBUG_CROSSOVER + else + { + /* the first offspring filled the population, discard the + second. */ + fprintf ( stderr, "offspring 2 not needed.\n\n" ); + } +#endif + + break; + } + +#ifdef DEBUG_CROSSOVER + printf ( "CROSSOVER COMPLETE.\n\n\n" ); +#endif + +} + diff --git a/lib/lilgp/kernel_mod/defines.h b/lib/lilgp/kernel_mod/defines.h new file mode 100644 index 0000000..d090adb --- /dev/null +++ b/lib/lilgp/kernel_mod/defines.h @@ -0,0 +1,122 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _DEFINES_H +#define _DEFINES_H + +/* remove this #define to turn off memory tracking. */ +#define TRACK_MEMORY + +/* define this to write a file "memory.log" with a record of all MALLOC()s, + REALLOC()s, and FREE()s. useful for debugging and finding memory leaks. */ +/*#define MEMORY_LOG*/ + +/* when this symbol is defined, the current time will be used instead of + 1 as the default random seed. */ +#define RANDOMSEEDTIME + +#define EXTRAMEM 8 +#define EPHEM_METABLOCKSIZE 10 +#define EPHEM_STARTSIZE 1000 +#define EPHEM_GROWSIZE 500 + +#define MAXPARAMLINELENGTH 255 +#define MAXCHECKLINELENGTH 255 + +#define FUNC_DATA 1 +#define FUNC_FUNC 1 +#define FUNC_EXPR 2 +#define FUNC_MACRO 2 +#define TERM_NORM 3 +#define TERM_ERC 4 +#define TERM_ARG 5 +#define EVAL_DATA 6 +#define EVAL_FUNC 6 +#define EVAL_EXPR 7 +#define EVAL_MACRO 7 +#define EVAL_TERM 8 + +#define EVAL_CACHE_INVALID 1 +#define EVAL_CACHE_VALID 0 + +#define SELECT_INIT 1 +#define SELECT_CLEAN 3 + +#define GENERATE_FULL 1 +#define GENERATE_GROW 2 +#define GENERATE_HALF_AND_HALF 3 +#define LOAD_FILE 4 + +#define MAXDETAILLEVEL 100 +#define DEFDETAILLEVEL 50 +#define MINDETAILLEVEL 1 + +#define E_WARNING 0 +#define E_ERROR 1 +#define E_FATAL_ERROR 2 + +#define OUTPUT_OK 0 +#define OUTPUT_DUP_ID 1 +#define OUTPUT_DUP_EXT 2 +#define OUTPUT_TOOMANY 3 +#define OUTPUT_TOOLATE 4 + +#define OUT_SYS 0 +#define OUT_GEN 1 +#define OUT_PRG 2 +#define OUT_STT 3 +#define OUT_BST 4 +#define OUT_HIS 5 +#define OUT_USER 6 + +#define PARAM_COPY_NONE 0 +#define PARAM_COPY_NAME 1 +#define PARAM_COPY_VALUE 2 + +#define MAXMESSAGELENGTH 4096 +#define MAXOUTPUTSTREAMS 25 +#define SYSOUTPUTSTREAMS 6 + +#define PARAMETER_MINSIZE 31 +#define PARAMETER_CHUNKSIZE 16 + +#define OPERATOR_CROSSOVER 1 +#define OPERATOR_REPRODUCE 2 +#define OPERATOR_MUTATE 3 + +#define FLAG_NONE 0 +#define FLAG_NEWEXCH 1 + +#define GENSPACE_COUNT 2 + +#define GENSPACE_START 100 +#define GENSPACE_GROW 100 + +#define CK_MAGIC "lilgp1.0\n" +#define CK_IDSTRING "id: lilgp v1.0 checkpoint file\n" + +#endif diff --git a/lib/lilgp/kernel_mod/ephem.c b/lib/lilgp/kernel_mod/ephem.c new file mode 100644 index 0000000..eeb51e0 --- /dev/null +++ b/lib/lilgp/kernel_mod/ephem.c @@ -0,0 +1,380 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* total counts of ERCs used and freed */ +int ercused = 0; +int ercfree = 0; +int ercalloc = 0; + +/* the active list. */ +ephem_const *active_head; +int active_count; + +/* the free list. */ +ephem_const *free_head; +int free_count; + +/* pointers for the allocated blocks for ERCs. */ +ephem_const **block_list; +int block_list_size; +int block_count; + +/* initialize_ephem_const() + * + * allocate and set up the first block of ERCs, the free list, + * etc. + */ + +void initialize_ephem_const ( void ) +{ + int i; + int size; + + oputs ( OUT_SYS, 30, " ephemeral random constants.\n" ); + + active_head = (ephem_const *)MALLOC ( sizeof ( ephem_const ) ); + active_head->refcount = 1; + active_head->next = NULL; + + free_head = (ephem_const *)MALLOC ( sizeof ( ephem_const ) ); + free_head->refcount = 1; + free_head->next = NULL; + + /** how many block >>pointers<< to allocate (not blocks). **/ + block_list_size = EPHEM_METABLOCKSIZE; + block_list = (ephem_const **)MALLOC ( block_list_size * + sizeof ( ephem_const * ) ); + + /* allocate the first block. */ + size = EPHEM_STARTSIZE; + block_count = 1; + block_list[0] = (ephem_const *)MALLOC ( size * + sizeof ( ephem_const ) ); + free_count = ercalloc = size; + + /* chain all the ERC records in the block together. */ + for ( i = 0; i < size-1; ++i ) + block_list[0][i].next = block_list[0]+i+1; + block_list[0][size-1].next = NULL; + + /* add the chain to the free list. */ + free_head->next = block_list[0]; +} + +/* free_ephem_const() + * + * free all the memory allocated to hold ERCs. + */ + +void free_ephem_const ( void ) +{ + int i; + + ephem_const_gc(); + + for ( i = 0; i < block_count; ++i ) + FREE ( block_list[i] ); + FREE ( block_list ); + + FREE ( active_head ); + FREE ( free_head ); +} + +/* enlarge_ephem_space() + * + * allocate a new block of ERCs, and add all the records in it + * to the free list. + */ + +void enlarge_ephem_space ( void ) +{ + int i; + int size = EPHEM_GROWSIZE; + + /** if we've allocated too many blocks, we need to lengthen the + list that holds block pointers. **/ + if ( block_count == block_list_size ) + { + block_list_size += EPHEM_METABLOCKSIZE; + block_list = (ephem_const **)REALLOC ( block_list, + block_list_size * + sizeof ( ephem_const *)); + } + + /* allocate the new block. */ + block_list[block_count] = + (ephem_const *)MALLOC ( size * sizeof ( ephem_const ) ); + free_count += size; + ercalloc += size; + + /* chain together all the records in it. */ + for ( i = 0; i < size-1; ++i ) + block_list[block_count][i].next = + block_list[block_count]+i+1; + + block_list[block_count][size-1].next = free_head->next; + free_head->next = block_list[block_count]; + + ++block_count; +} + +/* new_ephemeral_const() + * + * create a new ERC, corresponding to the given function. + */ + +ephem_const *new_ephemeral_const ( function *f ) +{ + ephem_const *p; + + /* make sure we have enough space. */ + while ( free_count <= 0 ) + enlarge_ephem_space(); + + /* take the next record off the free list. */ + p = free_head->next; + free_head->next = free_head->next->next; + --free_count; + + /* call user code to generate the constant, placing + the value in the new record. */ + f->ephem_gen ( &(p->d) ); + p->f = f; + + /* no references yet. */ + p->refcount = 0; + + /* add this record to the linked list of active ERCs. */ + p->next = active_head->next; + active_head->next = p; + ++active_count; + + ++ercused; + + return p; +} + +/* ephem_const_gc() + * + * traverse the linked list of active ERCs, removing those with + * a reference count of 0. + */ + +void ephem_const_gc ( void ) +{ + ephem_const *p = active_head->next; + ephem_const *m = active_head; + + while ( p != NULL ) + { + if ( p->refcount == 0 ) + { + /* patch the linked list to skip this record. */ + m->next = p->next; + + /* add this record to the free list. */ + p->next = free_head->next; + free_head->next = p; + ++free_count; + ++ercfree; + --active_count; + + p = m->next; + } + else + { + /* move past this record. */ + m = p; + p = p->next; + } + } + +} + +/* read_ephem_list() + * + * read list of ERCs from a checkpoint file. + */ + +ephem_const **read_ephem_list ( FILE *f ) +{ + ephem_const **ind; + ephem_const *p; + int count; + int i, j; + char *buffer; + + /* read the count. */ + fscanf ( f, "%*s %d\n", &count ); + + /** if no ERCs, do nothing and return a NULL pointer for the index. **/ + if ( count == 0 ) + return NULL; + + /* somewhere to place (and ignore) the human-readable forms of + the ERCs after the hex blocks. */ + buffer = (char *)MALLOC ( MAXCHECKLINELENGTH ); + + /* allocate the index translating integers --> addresses. */ + ind = (ephem_const **)MALLOC ( count * sizeof ( ephem_const * ) ); + + /** allocate a new block to hold all the ERCs we read. **/ + + /* we shouldn't EVER need to lengthen the block list while reading + a checkpoint, but check anyway... */ + if ( block_count == block_list_size ) + { + block_list_size += EPHEM_METABLOCKSIZE; + block_list = (ephem_const **)REALLOC ( block_list, + block_list_size * + sizeof ( ephem_const *)); + } + + /* allocate the new block. */ + block_list[block_count] = + (ephem_const *)MALLOC ( count * sizeof ( ephem_const ) ); + ercalloc += count; + + /* read the checkpointed ERCs into the new block. */ + for ( i = 0; i < count; ++i ) + { + p = block_list[block_count]+i; + fscanf ( f, "%d %d ", &j, &(p->refcount) ); + ind[j] = p; + read_hex_block ( &(p->d), sizeof ( DATATYPE ), f ); + fgets ( buffer, MAXCHECKLINELENGTH, f ); + + /* chain together all the records. */ + block_list[block_count][i].next = block_list[block_count]+i+1; + } + /* add the chained block to the active list. */ + block_list[block_count][count-1].next = active_head->next; + active_head->next = block_list[block_count]; + active_count += count; + ercused += count; + + ++block_count; + + FREE ( buffer ); + + return ind; + +} + +/* write_ephem_list() + * + * write the active list of ERCs to a checkpoint file. returns an + * index listing for translating an ERC address to a unique integer. + * (we can't store the address directly in the checkpoint, since + * the ERCs won't be loaded in the same spot in memory on restart.) + */ + +ephem_index *write_ephem_list ( FILE *f ) +{ + ephem_index *ind; + ephem_const *p = active_head->next; + int j; + + ind = (ephem_index *)MALLOC ( active_count * sizeof ( ephem_index ) ); + fprintf ( f, "erc-count: %d\n", active_count ); + + j = 0; + while ( p ) + { + /* store the index entry. */ + ind[j].e = p; + ind[j].i = j; + + /* write the reference count and the value. */ + fprintf ( f, "%d %d ", j, p->refcount ); + write_hex_block ( &(p->d), sizeof(DATATYPE), f ); + fprintf ( f, " %s %s\n", p->f->string, p->f->ephem_str ( p->d ) ); + + /* move down the list. */ + p = p->next; + ++j; + } + + /* sort the index by address, so we can use binary searching + on it. */ + qsort ( ind, active_count, sizeof(ephem_index), ephem_index_comp ); + + return ind; +} + +/* lookup_ephem() + * + * look up an ERC (by address) in an index returned by write_ephem_list() + * and return its integer index. + */ + +int lookup_ephem ( ephem_index *ind, ephem_const *e ) +{ + int low = 0; + int high = (ercused-ercfree); + int mid; + + while ( low < high-1 ) + { + mid = (low+high)/2; + if ( e >= ind[mid].e ) + low = mid; + else + high = mid; + } + + return ind[low].i; +} + +/* ephem_index_comp() + * + * comparison function for using qsort() to order the ERC index by + * address. + */ + +int ephem_index_comp ( const void *a, const void *b ) +{ + if ( ((ephem_index *)a)->e < ((ephem_index *)b)->e ) + return -1; + else + return 1; +} + +/* get_ephem_stats() + * + * return ERC statistics. + */ + +void get_ephem_stats ( int *used, int *free, int *blocks, int *alloc ) +{ + *used = ercused; + *free = ercfree; + *blocks = block_count; + *alloc = ercalloc; +} diff --git a/lib/lilgp/kernel_mod/ev_none.c b/lib/lilgp/kernel_mod/ev_none.c new file mode 100644 index 0000000..f76ea9b --- /dev/null +++ b/lib/lilgp/kernel_mod/ev_none.c @@ -0,0 +1,61 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include "event.h" + +//static char string[2] = { "" }; +// +//void event_init ( void ) +//{ +//} +// +//void event_mark ( event *e ) +//{ +//} +// +//char *event_string ( event *z ) +//{ +// return string; +//} +// +//void event_zero ( event *z ) +//{ +//} +// +//void event_diff ( event *z, event *one, event *two ) +//{ +//} +// +//void event_accum ( event *z, event *one ) +//{ +//} +// +//void event_accumdiff ( event *z, event *one, event *two ) +//{ +//} +// +// diff --git a/lib/lilgp/kernel_mod/ev_none.h b/lib/lilgp/kernel_mod/ev_none.h new file mode 100644 index 0000000..63e0a2e --- /dev/null +++ b/lib/lilgp/kernel_mod/ev_none.h @@ -0,0 +1,45 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _EVENT_H +#define _EVENT_H + +typedef struct +{ +} event; + +void event_init ( void ); +void event_mark ( event *e ); +char *event_string ( event *z ); +void event_zero ( event *z ); +void event_diff ( event *z, event *one, event *two ); +void event_accum ( event *z, event *one ); +void event_accumdiff ( event *z, event *one, event *two ); + +#undef TIMING_AVAILABLE + +#endif diff --git a/lib/lilgp/kernel_mod/ev_time.c b/lib/lilgp/kernel_mod/ev_time.c new file mode 100644 index 0000000..b3455c6 --- /dev/null +++ b/lib/lilgp/kernel_mod/ev_time.c @@ -0,0 +1,68 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include +#include + +#include "event.h" + +//static char string[200]; +// +//void event_init ( void ) +//{ +//} +// +//void event_mark ( event *e ) +//{ +// e->wall = time(NULL); +//} +// +//char *event_string ( event *z ) +//{ +// sprintf ( string, "%ds wall", z->wall ); +// return string; +//} +// +//void event_zero ( event *z ) +//{ +// z->wall = 0; +//} +// +//void event_diff ( event *z, event *one, event *two ) +//{ +// z->wall = two->wall - one->wall; +//} +// +//void event_accum ( event *z, event *one ) +//{ +// z->wall += one->wall; +//} +// +//void event_accumdiff ( event *z, event *one, event *two ) +//{ +// z->wall += two->wall - one->wall; +//} diff --git a/lib/lilgp/kernel_mod/ev_time.h b/lib/lilgp/kernel_mod/ev_time.h new file mode 100644 index 0000000..999b262 --- /dev/null +++ b/lib/lilgp/kernel_mod/ev_time.h @@ -0,0 +1,49 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _EVENT_H +#define _EVENT_H + +#include +#include + +typedef struct +{ + clock_t wall; +} event; + +void event_init ( void ); +void event_mark ( event *e ); +char *event_string ( event *z ); +void event_zero ( event *z ); +void event_diff ( event *z, event *one, event *two ); +void event_accum ( event *z, event *one ); +void event_accumdiff ( event *z, event *one, event *two ); + +#define TIMING_AVAILABLE + +#endif diff --git a/lib/lilgp/kernel_mod/ev_times.c b/lib/lilgp/kernel_mod/ev_times.c new file mode 100644 index 0000000..5a7bdbe --- /dev/null +++ b/lib/lilgp/kernel_mod/ev_times.c @@ -0,0 +1,86 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include +#include +#include + +#include "ev_times.h" + +static int tickspersec; +static char string[200]; + +void event_init ( void ) +{ + tickspersec = CLK_TCK; +} + +void event_mark ( event *e ) +{ + struct tms b; + + e->wall = times(&b); + e->user = b.tms_utime; + e->sys = b.tms_stime; +} + +char *event_string ( event *z ) +{ + sprintf ( string, "%.2lfs wall, %.2lfs user, %.2lfs sys", + (double)(z->wall)/tickspersec, + (double)(z->user)/tickspersec, + (double)(z->sys)/tickspersec ); + return string; +} + +void event_zero ( event *z ) +{ + z->wall = z->user = z->sys = 0; +} + +void event_diff ( event *z, event *one, event *two ) +{ + z->wall = two->wall - one->wall; + z->user = two->user - one->user; + z->sys = two->sys - one->sys; +} + +void event_accum ( event *z, event *one ) +{ + z->wall += one->wall; + z->user += one->user; + z->sys += one->sys; +} + +void event_accumdiff ( event *z, event *one, event *two ) +{ + z->wall += two->wall - one->wall; + z->user += two->user - one->user; + z->sys += two->sys - one->sys; +} + + diff --git a/lib/lilgp/kernel_mod/ev_times.h b/lib/lilgp/kernel_mod/ev_times.h new file mode 100644 index 0000000..07a33b2 --- /dev/null +++ b/lib/lilgp/kernel_mod/ev_times.h @@ -0,0 +1,56 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _EVENT_H +#define _EVENT_H + +#include +#include +#include + +typedef struct +{ + clock_t wall; + clock_t user; + clock_t sys; +} event; + +void event_init ( void ); +void event_mark ( event *e ); +char *event_string ( event *z ); +void event_zero ( event *z ); +void event_diff ( event *z, event *one, event *two ); +void event_accum ( event *z, event *one ); +void event_accumdiff ( event *z, event *one, event *two ); + +#ifndef CLK_TCK +#define CLK_TCK sysconf(_SC_CLK_TCK) +#endif + +#define TIMING_AVAILABLE + +#endif diff --git a/lib/lilgp/kernel_mod/eval.c b/lib/lilgp/kernel_mod/eval.c new file mode 100644 index 0000000..5e414b6 --- /dev/null +++ b/lib/lilgp/kernel_mod/eval.c @@ -0,0 +1,220 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* set_current_individual() + * + * the current_individual variable is used so that evaluation tokens know + * where to find their target trees. set_current_individual() is used to + * set this value from the application code. + */ + + +#if !defined(POSIX_MT) && !defined(SOLARIS_MT) + +static individual * current_individual; +#define CURRENT_INDIVIDUAL current_individual + +#else + +#define CURRENT_INDIVIDUAL (get_globaldata())->current_individual + +#endif + + + + + +void set_current_individual ( individual *ind ) +{ + CURRENT_INDIVIDUAL = ind; +} + + + + + + + +/* evaluate_tree() + * + * this is the wrapper which sets up a traversal pointer for doing the + * evaluation. the whichtree argument is needed so that ARG terminals + * know where to find their values. + */ + +DATATYPE evaluate_tree ( lnode *tree, int whichtree ) +{ + lnode *l = tree; +#ifdef DEBUG_EVAL + printf ( "call to evaluate_tree in context %d\n", whichtree ); +#endif + return evaluate_tree_recurse ( &l, whichtree ); +} + +/* evaluate_tree_recurse() + * + * the recursive part of the tree evaluator. returns the value of the + * evaluated tree. + */ + +DATATYPE evaluate_tree_recurse ( lnode **l, int whichtree ) +{ + farg arg[MAXARGS]; + int i; + function *f = (**l).f; + treeinfo savearg; + + /* step the traversal pointer forward, now that we've saved which + function we're at. */ + ++*l; + + switch ( f->type ) + { + case FUNC_DATA: + /* function (DATA type): recursively evaluate each subtree, + saving the values. pass these values to the user code. */ + for ( i = 0; i < f->arity; ++i ) + arg[i].d = evaluate_tree_recurse ( l, whichtree ); + return (f->code)(whichtree, arg); + break; + case EVAL_DATA: + /* evaluation token (DATA type): first evaluate each child, + saving the returned values. these values will be returned + by the appropriate ARG tokens in the called tree. */ + for ( i = 0; i < f->arity; ++i ) + arg[i].d = evaluate_tree_recurse ( l, whichtree ); + + /* the arguments are stored using three fields in the global + tree_map. we save whatever was in these three fields in + local variables. */ + savearg.arguments = tree_map[f->evaltree].arguments; + savearg.argtype = tree_map[f->evaltree].argtype; + savearg.evaluatedfrom = tree_map[f->evaltree].evaluatedfrom; + + /** now we store the new values in the global structure. **/ + /* first, the argument list. */ + tree_map[f->evaltree].arguments = arg; + /* next, the type of this eval token. */ + tree_map[f->evaltree].argtype = EVAL_DATA; + /* now the tree number which we are currently evaluating. this + is necessary so that nested ADFs evaluate correctly -- we must + remember where we are so that ARG tokens know which tree's + arguments to look at. */ + tree_map[f->evaltree].evaluatedfrom = whichtree; + + /* finally call evaluate_tree to evaluate the target tree. */ + arg->d = evaluate_tree ( CURRENT_INDIVIDUAL->tr[f->evaltree].data, + f->evaltree ); + + /* restore the old values in the global structure. */ + tree_map[f->evaltree].arguments = savearg.arguments; + tree_map[f->evaltree].argtype = savearg.argtype; + tree_map[f->evaltree].evaluatedfrom = savearg.evaluatedfrom; + + /* return the final value. */ + return arg->d; + break; + case FUNC_EXPR: + /* function (EXPR type): save the address of each child tree, + using the skip nodes to quickly move the traversal pointer + past the child. */ + for ( i = 0; i < f->arity; ++i ) + { + arg[i].t = (*l+1); + *l += (**l).s; + ++*l; + } + /* now pass this array of saved trees to the user code. */ + return (f->code)(whichtree, arg); + break; + case EVAL_EXPR: + /* evaluation token (EXPR type): works just like the DATA + type, only the saved arguments are tree address instead + of values. */ + for ( i = 0; i < f->arity; ++i ) + { + arg[i].t = (*l+1); + *l += (**l).s; + ++*l; + } + savearg.arguments = tree_map[f->evaltree].arguments; + savearg.argtype = tree_map[f->evaltree].argtype; + savearg.evaluatedfrom = tree_map[f->evaltree].evaluatedfrom; + tree_map[f->evaltree].arguments = arg; + tree_map[f->evaltree].argtype = EVAL_EXPR; + tree_map[f->evaltree].evaluatedfrom = whichtree; + arg->d = evaluate_tree ( CURRENT_INDIVIDUAL->tr[f->evaltree].data, + f->evaltree ); + tree_map[f->evaltree].arguments = savearg.arguments; + tree_map[f->evaltree].argtype = savearg.argtype; + tree_map[f->evaltree].evaluatedfrom = savearg.evaluatedfrom; + return arg->d; + break; + case EVAL_TERM: + /* evaluation token (TERM type): works just like the DATA + type, only we pass NULL as an argument list. */ + savearg.arguments = tree_map[f->evaltree].arguments; + savearg.argtype = tree_map[f->evaltree].argtype; + savearg.evaluatedfrom = tree_map[f->evaltree].evaluatedfrom; + tree_map[f->evaltree].arguments = NULL; + tree_map[f->evaltree].argtype = EVAL_TERM; + tree_map[f->evaltree].evaluatedfrom = whichtree; + arg->d = evaluate_tree ( CURRENT_INDIVIDUAL->tr[f->evaltree].data, + f->evaltree ); + tree_map[f->evaltree].arguments = savearg.arguments; + tree_map[f->evaltree].argtype = savearg.argtype; + tree_map[f->evaltree].evaluatedfrom = savearg.evaluatedfrom; + return arg->d; + break; + case TERM_ARG: + /* an ARG terminal. */ + if ( tree_map[whichtree].argtype == EVAL_DATA ) + /* if the EVAL token calling this tree is of type DATA, then + just pull the value out of the argument list and return it. */ + return tree_map[whichtree].arguments[f->evaltree].d; + else + /* if the EVAL token calling this tree is of type EXPR, then + evaluate the tree pointer in the argument list and return + the value. */ + return evaluate_tree ( tree_map[whichtree].arguments[f->evaltree].t, tree_map[whichtree].evaluatedfrom ); + break; + case TERM_ERC: + /* ERC terminal: traversal pointer points to ERC structure. + pull the value out, and step the pointer forward. */ + return (*((*l)++)).d->d; + break; + default: /* TERM_NORM */ + /* normal terminal: just call the user code. */ + return (f->code)(whichtree, NULL); + break; + } +} + + + diff --git a/lib/lilgp/kernel_mod/event.c b/lib/lilgp/kernel_mod/event.c new file mode 100644 index 0000000..48d5a62 --- /dev/null +++ b/lib/lilgp/kernel_mod/event.c @@ -0,0 +1,70 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include +#include + +#include "event.h" + +//static char string[200]; +// +//void event_init ( void ) +//{ +//} +// +//void event_mark ( event *e ) +//{ +// e->wall = time(NULL); +//} +// +//char *event_string ( event *z ) +//{ +// sprintf ( string, "%ds wall", z->wall ); +// return string; +//} +// +//void event_zero ( event *z ) +//{ +// z->wall = 0; +//} +// +//void event_diff ( event *z, event *one, event *two ) +//{ +// z->wall = two->wall - one->wall; +//} +// +//void event_accum ( event *z, event *one ) +//{ +// z->wall += one->wall; +//} +// +//void event_accumdiff ( event *z, event *one, event *two ) +//{ +// z->wall += two->wall - one->wall; +//} +// +// diff --git a/lib/lilgp/kernel_mod/event.h b/lib/lilgp/kernel_mod/event.h new file mode 100644 index 0000000..999b262 --- /dev/null +++ b/lib/lilgp/kernel_mod/event.h @@ -0,0 +1,49 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _EVENT_H +#define _EVENT_H + +#include +#include + +typedef struct +{ + clock_t wall; +} event; + +void event_init ( void ); +void event_mark ( event *e ); +char *event_string ( event *z ); +void event_zero ( event *z ); +void event_diff ( event *z, event *one, event *two ); +void event_accum ( event *z, event *one ); +void event_accumdiff ( event *z, event *one, event *two ); + +#define TIMING_AVAILABLE + +#endif diff --git a/lib/lilgp/kernel_mod/exch.c b/lib/lilgp/kernel_mod/exch.c new file mode 100644 index 0000000..813fc8c --- /dev/null +++ b/lib/lilgp/kernel_mod/exch.c @@ -0,0 +1,642 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* initialize_topology() + * + * reads the parameter database and builds the exchange table. + */ + +void initialize_topology ( multipop *mpop ) +{ + char pnamebuf[100], pnamebuf2[100]; + char *param, *param2, *param3; + int i, j, k; + int errors = 0; + + if ( mpop->size == 1 ) + { + /* singlepop problem -- no topology needed. */ + mpop->exch = NULL; + mpop->exchanges = -1; + return; + } + + oprintf ( OUT_SYS, 30, "building subpopulation exchange topology:\n" ); + + param = get_parameter ( "multiple.exchanges" ); + if ( param == NULL ) + { + /* multipop problem, but no exchanges specified. */ + + mpop->exch = NULL; + mpop->exchanges = 0; + return; + } + else + { + mpop->exchanges = atoi ( param ); + if ( mpop->exchanges < 0 ) + error ( E_FATAL_ERROR, "\"exchanges\" must be nonnegative." ); + } + + mpop->exch = (exchange *)MALLOC ( mpop->exchanges * sizeof ( exchange ) ); + + for ( i = 0; i < mpop->exchanges; ++i ) + { + /** read the destination subpop. **/ + + sprintf ( pnamebuf, "exch[%d].to", i+1 ); + param = get_parameter ( pnamebuf ); + if ( param == NULL ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be set.", pnamebuf ); + } + else + { + mpop->exch[i].to = atoi ( param ) - 1; + if ( mpop->exch[i].to < 0 || mpop->exch[i].to >= mpop->size ) + { + ++errors; + error ( E_ERROR, "\"%s\" is out of range.\n", pnamebuf ); + } + } + + /** read how the individuals to be replaced in the destination + subpop are selected. **/ + + sprintf ( pnamebuf, "exch[%d].toselect", i+1 ); + mpop->exch[i].tosc = get_parameter ( pnamebuf ); + if ( mpop->exch[i].tosc == NULL ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be set.", pnamebuf ); + } + else + { + if ( ! exists_select_method ( mpop->exch[i].tosc ) ) + { + ++errors; + error ( E_ERROR, "\"%s\": \"%s\" is not a selection method.", + pnamebuf, mpop->exch[i].tosc ); + } + } + + /** read how many individuals are to be exchanged in this + manner. **/ + + sprintf ( pnamebuf, "exch[%d].count", i+1 ); + param = get_parameter ( pnamebuf ); + if ( param == NULL ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be set.", pnamebuf ); + } + else + { + mpop->exch[i].count = atoi ( param ); + if ( mpop->exch[i].count < 0 ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be nonnegative.", pnamebuf ); + } + } + + /** check to see if "from" is specified without a "tree[#]". **/ + + sprintf ( pnamebuf, "exch[%d].from", i+1 ); + param = get_parameter ( pnamebuf ); + if ( param ) + { + /** if "from" is specified, then we're copying whole individuals + from one subpop to another. **/ + + /* these arrays are not needed. */ + mpop->exch[i].from = NULL; + mpop->exch[i].as = NULL; + /* allocate an array of one string (to hold the selection + method). */ + mpop->exch[i].fromsc = (char **)MALLOC ( sizeof ( char * ) ); + + /* the subpop that individuals are taken from. */ + mpop->exch[i].copywhole = atoi ( param ) - 1; + if ( mpop->exch[i].copywhole < 0 || + mpop->exch[i].copywhole >= mpop->size ) + { + ++errors; + error ( E_ERROR, "\"%s\" is out of range.", pnamebuf ); + } + + /* the selection method used to pick the individuals from the + source subpop. */ + sprintf ( pnamebuf, "exch[%d].fromselect", i+1 ); + mpop->exch[i].fromsc[0] = get_parameter ( pnamebuf ); + if ( mpop->exch[i].fromsc[0] == NULL ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be set.", pnamebuf ); + } + else + { + if ( ! exists_select_method ( mpop->exch[i].fromsc[0] ) ) + { + ++errors; + error ( E_ERROR, "\"%s\": \"%s\" is not a selection method.", + pnamebuf, mpop->exch[i].fromsc[0] ); + } + } + } + else + { + + /** since "from" is not defined, we're taking trees from different + subpops and merging them to create a composite individual to place + in the destination subpop. **/ + + mpop->exch[i].copywhole = -1; + /* this array lists, for each tree, which subpop it comes from. */ + mpop->exch[i].from = (int *)MALLOC ( tree_count * sizeof ( int ) ); + /* this array keeps track of when two trees are supposed to always + come from the same individual (not just the same subpop). */ + mpop->exch[i].as = (int *)MALLOC ( tree_count * sizeof ( int ) ); + /* this array holds the selection method strings used for each + tree. */ + mpop->exch[i].fromsc = (char **)MALLOC ( tree_count * sizeof ( char * ) ); + + /* get the default selection method, if one is specified. */ + sprintf ( pnamebuf, "exch[%d].fromselect", i+1 ); + param3 = get_parameter ( pnamebuf ); + + for ( j = 0; j < tree_count; ++j ) + { + /** for each tree, attempt to read the "from" and + "fromselect" parameters. **/ + + sprintf ( pnamebuf, "exch[%d].from.tree[%d]", i+1, j ); + param = get_parameter ( pnamebuf ); + sprintf ( pnamebuf2, "exch[%d].fromselect.tree[%d]", + i+1, j ); + param2 = get_parameter ( pnamebuf2 ); + + if ( param == NULL && param2 == NULL ) + { + /* neither is set, we're supposed to leave this + tree untouched in the destination individual. */ + + mpop->exch[i].from[j] = -1; + mpop->exch[i].as[j] = -1; + mpop->exch[i].fromsc[j] = NULL; + } + else if ( param2 == NULL ) + { + /* only "from" is set, examine param3 for default + selection method. */ + + /* source subpop. */ + mpop->exch[i].from[j] = atoi ( param ) - 1; + if ( mpop->exch[i].from[j] < 0 || mpop->exch[i].from[j] >= mpop->size ) + { + ++errors; + error ( E_ERROR, "\"%s\" is out of range.", pnamebuf ); + } + + /* no default set, error. */ + if ( param3 == NULL ) + { + ++errors; + error ( E_ERROR, "\"%s\" must be set.", pnamebuf2 ); + } + else + { + mpop->exch[i].as[j] = -1; + if ( ! exists_select_method ( param3 ) ) + { + ++errors; + error ( E_ERROR, "\"%s\": \"%s\" is not a selection method.", + pnamebuf, param3 ); + } + } + mpop->exch[i].fromsc[j] = param3; + } + else if ( param == NULL ) + { + /* only "fromselect" is set; it better be of the form + "as_#". */ + + if ( strncmp ( param2, "as_", 3 ) == 0 ) + { + mpop->exch[i].from[j] = -1; + mpop->exch[i].fromsc[j] = NULL; + /* "as" stores which tree this one comes from the + same subpop as. */ + mpop->exch[i].as[j] = atoi ( param2 + 3 ); + if ( mpop->exch[i].as[j] < 0 || + mpop->exch[i].as[j] >= tree_count ) + { + ++errors; + error ( E_ERROR, "\"%s\" is out of range.", pnamebuf2 ); + } + } + else + { + ++errors; + error ( E_ERROR, "\"%s\" must be \"as_#\".", pnamebuf2 ); + } + } + else + { + /* they're both set. */ + + mpop->exch[i].as[j] = -1; + mpop->exch[i].from[j] = atoi ( param ) - 1; + if ( mpop->exch[i].from[j] < 0 || mpop->exch[i].from[j] >= mpop->size ) + { + ++errors; + error ( E_ERROR, "\"%s\" is out of range.", pnamebuf ); + } + mpop->exch[i].fromsc[j] = param2; + if ( ! exists_select_method ( param2 ) ) + { + ++errors; + error ( E_ERROR, "\"%s\": \"%s\" is not a selection method.", + pnamebuf2, param2 ); + } + } + } + + /* now we need to resolve any chains of "as_" references: if + tree 2 comes from the same individual as tree 1, and tree 1 + comes from the same individual as tree 0, we need to change that + to say that both 2 and 1 come from tree 0. + + also detect circular references. */ + + for ( j = 0; j < tree_count; ++j ) + { + if ( mpop->exch[i].as[j] == -1 ) + continue; + k = mpop->exch[i].as[j]; + while ( k != -1 ) + { + if ( k == j ) + { + ++errors; + error ( E_ERROR, "Circular reference resolving \"exch[%d].fromselect.tree[%d]\".", + i+1, j ); + j = tree_count; + break; + } + mpop->exch[i].as[j] = k; + k = mpop->exch[i].as[k]; + } + k = mpop->exch[i].as[j]; + if ( mpop->exch[i].from[k] == -1 && mpop->exch[i].as[k] == -1 ) + mpop->exch[i].as[j] = -1; + } + } + + +#ifdef DEBUG + /* print out information on this exchange. */ + printf ( "exchange %d:\n", i+1 ); + printf ( "to: %d; count: %d; select: %s\n", mpop->exch[i].to, + mpop->exch[i].count, mpop->exch[i].tosc ); + if ( mpop->exch[i].copywhole == -1 ) + { + for ( j = 0; j < tree_count; ++j ) + { + param = mpop->exch[i].fromsc[j]; + printf ( " %3d: from: %3d as: %3d select: %s\n", + j, mpop->exch[i].from[j], mpop->exch[i].as[j], + param==NULL?"NULL":param ); + } + } + else + { + param = mpop->exch[i].fromsc[0]; + printf ( "copywhole: %d select: %s\n", + mpop->exch[i].copywhole, param==NULL?"NULL":param ); + } +#endif + } + + /* if any errors occurred then stop now. */ + if ( errors ) + error ( E_FATAL_ERROR, "Errors occurred while building topology. Aborting." ); + + /* print out the summary of exchanges. */ + oprintf ( OUT_SYS, 30, " %d exchange(s) total.\n", mpop->exchanges ); + for ( i = 0; i < mpop->exchanges; ++i ) + { + oprintf ( OUT_SYS, 30, " exchange %d:\n", i+1 ); + oprintf ( OUT_SYS, 30, " replace %d individual(s) in subpop %d (selected by %s)\n", + mpop->exch[i].count, mpop->exch[i].to+1, mpop->exch[i].tosc ); + if ( mpop->exch[i].copywhole != -1 ) + oprintf ( OUT_SYS, 30, " with individual(s) from subpop %d (selected by %s)\n", + mpop->exch[i].copywhole+1, mpop->exch[i].fromsc[0] ); + else + for ( j = 0; j < tree_count; ++j ) + { + if ( mpop->exch[i].from[j] == -1 ) + { + if ( mpop->exch[i].as[j] == -1 ) + oprintf ( OUT_SYS, 30, " tree %d: leaving original tree\n", j ); + else + oprintf ( OUT_SYS, 30, " tree %d: from same individual as tree %d\n", j, mpop->exch[i].as[j] ); + } + else + oprintf ( OUT_SYS, 30, " tree %d: from subpop %d (selected by %s)\n", j, + mpop->exch[i].from[j]+1, mpop->exch[i].fromsc[j] ); + } + } + +} + +/* free_topology() + * + * this frees the topology table. + */ + +void free_topology ( multipop *mpop ) +{ + int i; + for ( i = 0; i < mpop->exchanges; ++i ) + { + if ( mpop->exch[i].from ) + FREE ( mpop->exch[i].from ); + if ( mpop->exch[i].as ) + FREE ( mpop->exch[i].as ); + FREE ( mpop->exch[i].fromsc ); + } + if ( mpop->exch ) + FREE ( mpop->exch ); +} + +/* exchange_subpopulations() + * + * this performs the actual exchanges, using the information stored + * in the exchange table. + */ + +void exchange_subpopulations ( multipop *mpop ) +{ + int i, j, k; + sel_context *tocon; + sel_context **fromcon; + select_context_func_ptr select_con; + int tp, *fp; + int ti, *fi; + + /** arrays used for composite individuals. **/ + + /* fromcon[j] holds the selection context used to pick individual + to take tree j from. */ + fromcon = (sel_context **)MALLOC ( tree_count * sizeof ( sel_context * ) ); + /* fp[j] holds the population from which to take tree j from. */ + fp = (int *)MALLOC ( tree_count * sizeof ( int ) ); + /* fi[j] holds the individual from which to take tree j from. */ + fi = (int *)MALLOC ( tree_count * sizeof ( int ) ); + + for ( i = 0; i < mpop->exchanges; ++i ) + { +#ifdef DEBUG + printf ( "working on exch[%d]\n", i+1 ); +#endif + + /* where individuals are going. */ + tp = mpop->exch[i].to; + + /* set up selection method to pick individuals to be replaced. */ + select_con = get_select_context ( mpop->exch[i].tosc ); + tocon = select_con ( SELECT_INIT, NULL, mpop->pop[tp], + mpop->exch[i].tosc ); + + /* are we copying whole individuals or creating composites? */ + if ( mpop->exch[i].copywhole > -1 ) + { + /*** copying whole individuals. ***/ + + /* the source subpop. */ + fp[0] = mpop->exch[i].copywhole; + + /* selection method for choosing individuals from source + subpop. */ + select_con = get_select_context ( mpop->exch[i].fromsc[0] ); + fromcon[0] = select_con ( SELECT_INIT, NULL, mpop->pop[fp[0]], + mpop->exch[i].fromsc[0] ); + + for ( k = 0; k < mpop->exch[i].count; ++k ) + { + /** pick an individual to be replaced that has not already + been replaced during this exchange cycle. **/ + do + { + ti = tocon->select_method ( tocon ); + } + while ( mpop->pop[tp]->ind[ti].flags & FLAG_NEWEXCH ); + + /* pick an individual from the source subpop. */ + fi[0] = fromcon[0]->select_method ( fromcon[0] ); + +#ifdef DEBUG + printf ( "COPYING WHOLE INDIVIDUAL: ind %d subpop %d --> ind %d subpop %d\n", + fi[0], fp[0], ti, tp ); +#endif + + /** remove the old iondividual from the population. **/ + for ( j = 0; j < tree_count; ++j ) + { + /* always dereference ERCs when removing trees + from the population. */ + reference_ephem_constants ( mpop->pop[tp]->ind[ti].tr[j].data, -1 ); + free_tree ( mpop->pop[tp]->ind[ti].tr+j ); + } + + /* copy the individual. */ + duplicate_individual ( mpop->pop[tp]->ind+ti, + mpop->pop[fp[0]]->ind+fi[0] ); + + /* reference the ERCs in the new individual. */ + for ( j = 0; j < tree_count; ++j ) + reference_ephem_constants ( mpop->pop[tp]->ind[ti].tr[j].data, 1 ); + + /* mark the individual as just coming from an exchange. */ + mpop->pop[tp]->ind[ti].flags = FLAG_NEWEXCH; + } + + /* all done with this exchange, delete the selection context. */ + fromcon[0]->context_method ( SELECT_CLEAN, fromcon[0], + NULL, NULL ); + } + else + { + /*** creating composite individuals. ***/ + + /** create selection contexts for each tree. **/ + for ( j = 0; j < tree_count; ++j ) + { + /* does this tree need a context? */ + if ( mpop->exch[i].fromsc[j] ) + { +#ifdef DEBUG + printf ( "getting selection context for tree %d (%s)\n", + j, mpop->exch[i].fromsc[j] ); +#endif + /* create it. */ + select_con = get_select_context ( mpop->exch[i].fromsc[j] ); + fromcon[j] = select_con ( SELECT_INIT, NULL, + mpop->pop[mpop->exch[i].from[j]], + mpop->exch[i].fromsc[j] ); + } + else + /* don't need one. */ + fromcon[j] = NULL; + } + + for ( k = 0; k < mpop->exch[i].count; ++k ) + { + /** select an individual to be replaced that hasn't already + been during this exchange cycle. **/ + do + { + ti = tocon->select_method ( tocon ); + } + while ( mpop->pop[tp]->ind[ti].flags & FLAG_NEWEXCH ); + +#ifdef DEBUG + printf ( "SELECTED TREE %d FOR REPLACEMENT.\n", ti ); + print_individual ( mpop->pop[tp]->ind+ti, stdout ); +#endif + /** now select the individuals that we will merge to + replace trees of the destination individual. **/ + for ( j = 0; j < tree_count; ++j ) + { + /* we don't need to do a selection for a particular + tree if (1) it uses the same individual as another + tree or (2) it doesn't get replaced in the destination + individual. */ + + fp[j] = mpop->exch[i].from[j]; + if ( fp[j] != -1 ) + { + fi[j] = fromcon[fp[j]]->select_method ( fromcon[fp[j]] ); +#ifdef DEBUG + printf ( "selecting using (%s) from subpop %d (for tree %d): individual %d\n", + mpop->exch[i].fromsc[j], fp[j], j, fi[j] ); + print_individual ( mpop->pop[fp[j]]->ind+fi[j], stdout ); +#endif + } + } + + /** now resolve "as_" references in the fp and fi arrays. */ + for ( j = 0; j < tree_count; ++j ) + if ( fp[j] == -1 ) + { + if ( mpop->exch[i].as[j] == -1 ) + /* tree j doesn't get replaced, so set both + values to -1. */ + fp[j] = fi[j] = -1; + else + { + /* tree j comes from the same individual as + some other tree. */ + fp[j] = fp[mpop->exch[i].as[j]]; + fi[j] = fi[mpop->exch[i].as[j]]; + } + } + +#ifdef DEBUG + printf ( "the fp,fi arrays are:\n" ); + for ( j = 0; j < tree_count; ++j ) + printf ( " %3d: fp = %3d fi = %4d\n", j, fp[j], fi[j] ); +#endif + + /** replace the appropriate parts of the old tree. **/ + for ( j = 0; j < tree_count; ++j ) + { + /* skip trees that don't get replaced. */ + if ( fp[j] == -1 ) + continue; + + /* dereference ERCs in old tree. */ + reference_ephem_constants ( mpop->pop[tp]->ind[ti].tr[j].data, -1 ); + /* delete old tree. */ + free_tree ( mpop->pop[tp]->ind[ti].tr+j ); + /* copy new tree. */ + copy_tree ( mpop->pop[tp]->ind[ti].tr+j, mpop->pop[fp[j]]->ind[fi[j]].tr+j ); + /* reference ERCs in new tree. */ + reference_ephem_constants ( mpop->pop[tp]->ind[ti].tr[j].data, 1 ); + } +#ifdef COEVOLUTION + error ( E_FATAL_ERROR, "Can't do COEVOLUTION and multi-pop experiments\n together at this time, sorry.\n"); +#else + /* evaluate the fitness of the new composite individual. */ + app_eval_fitness ( mpop->pop[tp]->ind+ti ); +#endif + mpop->pop[tp]->ind[ti].flags = FLAG_NEWEXCH; + +#ifdef DEBUG + printf ( "the new individual is:\n" ); + print_individual ( mpop->pop[tp]->ind+ti, stdout ); +#endif + } + + /* destroy source selection contexts. */ + for ( j = 0; j < tree_count; ++j ) + if ( fromcon[j] ) + fromcon[j]->context_method ( SELECT_CLEAN, + fromcon[j], NULL, NULL ); + } + + /* destroy destination selection context. */ + tocon->context_method ( SELECT_CLEAN, tocon, NULL, NULL ); + } + + FREE ( fromcon ); + FREE ( fp ); + FREE ( fi ); + + /* erase all the NEWEXCH flags. */ + for ( i = 0; i < mpop->size; ++i ) + for ( j = 0; j < mpop->pop[i]->size; ++j ) + mpop->pop[i]->ind[j].flags &= ~FLAG_NEWEXCH; + +} + +/* rebuild_exchange_topology() + * + * rebuilds the exchange table. called from user code after making changes + * to the parameters governing exchanges. + */ + +void rebuild_exchange_topology ( multipop *mpop ) +{ + free_topology ( mpop ); + initialize_topology ( mpop ); +} diff --git a/lib/lilgp/kernel_mod/fitness.c b/lib/lilgp/kernel_mod/fitness.c new file mode 100644 index 0000000..a4ee7ec --- /dev/null +++ b/lib/lilgp/kernel_mod/fitness.c @@ -0,0 +1,275 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* select_afit_context() + * + * creates context for the fitness selection method. + */ + +sel_context *select_afit_context ( int op, sel_context *sc, population *p, + char *string ) +{ + interval_data *id; + int i, j = 0; + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_interval; + sc->context_method = select_afit_context; + + /* the interval_data structure (used with select_interval()) is + essentially a list of interval widths and indices for each + individual. */ + + id = (interval_data *)MALLOC ( sizeof ( interval_data ) ); + + id->ri = (reverse_index *)MALLOC ( (p->size+1) * + sizeof ( reverse_index ) ); + id->total = 0.0; + id->count = p->size; + id->ri[j].fitness = 0.0; + id->ri[j].index = -1; + ++j; + + for ( i = 0; i < p->size; ++i ) + { + /* interval width is the adjusted fitness. */ + id->total += p->ind[i].a_fitness; + id->ri[j].fitness = id->total; + id->ri[j].index = i; + ++j; + } + + sc->data = (void *)id; + return sc; + break; + + case SELECT_CLEAN: + id = (interval_data *)(sc->data); + FREE ( id->ri ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_inverse_afit_context() + * + * creates context for inverse_fitness selection method. + */ + +sel_context *select_inverse_afit_context ( int op, sel_context *sc, + population *p, char *string ) +{ + interval_data *id; + int i, j = 0; + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_interval; + sc->context_method = select_inverse_afit_context; + + /** use select_interval() to do the selection. **/ + + id = (interval_data *)MALLOC ( sizeof ( interval_data ) ); + + id->ri = (reverse_index *)MALLOC ( (p->size+1) * + sizeof ( reverse_index ) ); + id->total = 0.0; + id->count = p->size; + id->ri[j].fitness = 0.0; + id->ri[j].index = -1; + ++j; + + for ( i = 0; i < p->size; ++i ) + { + /* interval width is inverse of adjusted fitness. */ + id->total += 1.0/p->ind[i].a_fitness; + id->ri[j].fitness = id->total; + id->ri[j].index = i; + ++j; + } + + sc->data = (void *)id; + return sc; + break; + + case SELECT_CLEAN: + id = (interval_data *)(sc->data); + FREE ( id->ri ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_afit_overselect_context() + * + * creates context for fitness_overselect selection method. + */ + +sel_context *select_afit_overselect_context ( int op, sel_context *sc, + population *p, char *string ) +{ + interval_data *id; + int i, j; + double total; + double group1_cutoff = 0.32; + int cutoffset; + double group1_selection = 0.8; + double cutoff; + double temp; + char **argv; + + switch ( op ) + { + case SELECT_INIT: + + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_interval; + sc->context_method = select_afit_overselect_context; + + /** parse the options string. **/ + + j = parse_o_rama ( string, &argv ); + + cutoffset = 0; + for ( i = 1; i < j; ++i ) + { + if ( strcmp ( argv[i], "cutoff" ) == 0 ) + { + group1_cutoff = strtod ( argv[++i], NULL ); + cutoffset = 1; + } + else if ( strcmp ( argv[i], "proportion" ) == 0 ) + group1_selection = strtod ( argv[++i], NULL ); + else + error ( E_FATAL_ERROR, "unknown fitness_overselect option \"%s\".", + argv[i] ); + } + + /* if the cutoff was not set manually, then set it based on + the population size. */ + if ( !cutoffset ) + { + group1_cutoff = 320.0/p->size; + if ( group1_cutoff < 0.0 || group1_cutoff > 1.0 ) + group1_cutoff = 0.32; + } + + free_o_rama ( j, &argv ); + + if ( group1_cutoff < 0.0 || group1_cutoff > 1.0 ) + error ( E_FATAL_ERROR, "Overselected fitness cutoff out of range. (%s)", string ); + + if ( group1_selection < 0.0 || group1_selection > 1.0 ) + error ( E_FATAL_ERROR, "Overselected fitness proportion out of range. (%s)", string ); + + id = (interval_data *)MALLOC ( sizeof ( interval_data ) ); + + id->ri = (reverse_index *)MALLOC ( (p->size+1) * + sizeof ( reverse_index ) ); + id->total = 0.0; + id->count = p->size; + + id->ri[0].fitness = 0.0; + id->ri[0].index = -1; + j = 1; + + /* store the fitness values in the reverse_index */ + total = 0.0; + for ( i = 0; i < p->size; ++i ) + { + total += p->ind[i].a_fitness; + id->ri[j].fitness = p->ind[i].a_fitness; + id->ri[j].index = i; + ++j; + } + + /* (sort lowest first) */ + qsort ( (id->ri)+1, p->size, sizeof ( reverse_index ), + rev_ind_compare ); + + /* find the top individuals accounting for (cutoff) of the fitness, + and multiply their interval width by the selection. multiply + all the others by (1-selection). */ + cutoff = total * (1.0-group1_cutoff); + total = 0.0; + for ( i = 1; i < p->size+1; ++i ) + { + if ( total >= cutoff ) + temp = id->ri[i].fitness * group1_selection; + else + temp = id->ri[i].fitness * (1.0-group1_selection); + total += id->ri[i].fitness; + id->ri[i].fitness = temp; + } + + /* now convert to cumulative. */ + total = 0.0; + for ( i = 1; i < p->size+1; ++i ) + { + total += id->ri[i].fitness; + id->ri[i].fitness = total; + } + + id->total = total; + + sc->data = (void *)id; + return sc; + break; + + case SELECT_CLEAN: + id = (interval_data *)(sc->data); + FREE ( id->ri ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + diff --git a/lib/lilgp/kernel_mod/fsetupdate.c b/lib/lilgp/kernel_mod/fsetupdate.c new file mode 100644 index 0000000..ac44658 --- /dev/null +++ b/lib/lilgp/kernel_mod/fsetupdate.c @@ -0,0 +1,72 @@ +/* +fset_update + + Takes a function_set (from app_build_function_sets) and + removes all functions that are not specified thusly: + + app.use_FunctionRepString=1 + + in the input file. + + NOTE: if no specification exists then enabled is assumed + + so + + {and, NULL, NULL, 2, "AND", FUNC_EXPR, -1, 0, BOOL, {BOOL,BOOL}} + + would be disabled by adding + + app.use_AND=0 + + to the input file. + + This is very handy when working through to see if a + function or terminal is useful. + + NOTE: function representitive strings should be unique, both + because of the matching done here and because lilgp assumes + they are unique in various places. + + Written by: Adam Hewgill (C) 2002 +*/ +#include +#include + + +void fset_update (function_set *app_fset) +{ + char name[80], *param; + int i, j; + int numrem = 0; + function *fset = app_fset->cset; + int size = app_fset->size; + + for (i = 0; i < size - numrem; ++i) + { + /* Setup name string */ + sprintf(name, "app.use_%s", fset[i].string); + + /* Get value of parameter in input file */ + param = get_parameter(name); + + /* If not specified assume enabled */ + if (param == NULL) + continue; + + /* Remove if value of param is <= 0 */ + if (atoi(param) <= 0) + { + /* Output function removed */ + oprintf ( OUT_SYS, 30, " %s", fset[i].string); + /* Roll rest up */ + for (j = i + 1; j < size - numrem; ++j) + fset[j - 1] = fset[j]; + ++numrem; + --i; + } + } + /* Update the set size */ + app_fset->size = size - numrem; + /* Print final message */ + oprintf ( OUT_SYS, 30, " removed.\n"); +} diff --git a/lib/lilgp/kernel_mod/genspace.c b/lib/lilgp/kernel_mod/genspace.c new file mode 100644 index 0000000..2da6753 --- /dev/null +++ b/lib/lilgp/kernel_mod/genspace.c @@ -0,0 +1,182 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* initialize_genspace() + * + * allocates each genspace with GENSPACE_START lnodes. + */ + +void initialize_genspace ( void ) +{ + int i; + + oputs ( OUT_SYS, 30, " generation spaces.\n" ); + + for ( i = 0; i < GENSPACE_COUNT; ++i ) + { + gensp[i].size = GENSPACE_START; + gensp[i].data = (lnode *)MALLOC ( gensp[i].size * sizeof ( lnode ) ); + memset ( gensp[i].data, 0, gensp[i].size * sizeof ( lnode ) ); + gensp[i].used = 0; +#ifdef DEBUG + printf ( "genspace %d initialized with %d nodes.\n", + i, gensp[i].size ); +#endif + } +} + +/* free_genspace() + * + * frees all the genspaces. + */ + +void free_genspace ( void ) +{ + int i; + for ( i = 0; i < GENSPACE_COUNT; ++i ) + { + FREE ( gensp[i].data ); + gensp[i].data = NULL; + } +} + +/* gensp_next() + * + * returns the address of the next free lnode in the given generation + * space. enlarges the generation space by GENSPACE_GROW lnodes if + * there is no free space. + */ + +lnode * gensp_next ( int space ) +{ + while ( gensp[space].used >= gensp[space].size ) + { + int oldsize = gensp[space].size; + gensp[space].size += GENSPACE_GROW; + gensp[space].data = (lnode *)REALLOC ( gensp[space].data, + gensp[space].size * + sizeof ( lnode ) ); + memset ( gensp[space].data+oldsize, 0, + (gensp[space].size-oldsize) * sizeof ( lnode ) ); +#ifdef DEBUG + printf ( "next: genspace %d grown to %d nodes.\n", + space, gensp[space].size ); +#endif + } + + return gensp[space].data+(gensp[space].used++); +} + +/* gensp_next_int() + * + * like gensp_next(), but returns the position (not the address) of the + * next free lnode. + */ + +int gensp_next_int ( int space ) +{ + while ( gensp[space].used >= gensp[space].size ) + { + int oldsize = gensp[space].size; + gensp[space].size += GENSPACE_GROW; + gensp[space].data = (lnode *)REALLOC ( gensp[space].data, + gensp[space].size * + sizeof ( lnode ) ); + memset ( gensp[space].data+oldsize, 0, + (gensp[space].size-oldsize) * sizeof ( lnode ) ); +#ifdef DEBUG + printf ( "next_int: genspace %d grown to %d nodes from %d.\n", + space, gensp[space].size, oldsize ); +#endif + } + + return gensp[space].used++; +} + +/* gensp_dup_tree() + * + * copies a completed tree out of a generation space into the tree + * pointer passed. + */ + +void gensp_dup_tree ( int space, tree *t ) +{ + t->size = gensp[space].used; + t->nodes = tree_nodes ( gensp[space].data ); + t->data = (lnode *)MALLOC ( t->size * sizeof ( lnode ) ); + memcpy ( t->data, gensp[space].data, t->size * sizeof ( lnode ) ); +} + +/* gensp_reset() + * + * marks a genspace as being empty. + */ + +void gensp_reset ( int space ) +{ + gensp[space].used = 0; + memset ( gensp[space].data, 0, gensp[space].size * sizeof ( lnode ) ); +} + +/* gensp_print() + * + * prints out a section of the genspace from [i..j) + */ + +void gensp_print ( int space, int i, int j, FILE *out ) +{ + int u; + function *f; + + /* remove problems when used wants to print last x nodes */ + if ( i < 0 ) + i = 0; + + for ( u = i; u < j; ++u ) + { + /* print value of skip node */ + if ( gensp[space].data[u].s < 1000 ) + fprintf(out, "<%d: %d> ", u, gensp[space].data[u].s); + else if ( gensp[space].data[u].f->arity == 0 ) + { + /* print out a terminal */ + f = gensp[space].data[u].f; + if ( f->ephem_gen ) + { + fprintf(out, "[%d: %s] [%d: ERC] ", u, (f->ephem_str)(gensp[space].data[u+1].d->d), u+1); + ++u; + } + else + fprintf(out, "[%d: %s] ", u, f->string); + } + else + fprintf(out, "(%d: %s) ", u, gensp[space].data[u].f->string); + } + fprintf(out, "\n"); +} diff --git a/lib/lilgp/kernel_mod/gp.c b/lib/lilgp/kernel_mod/gp.c new file mode 100644 index 0000000..325b4ed --- /dev/null +++ b/lib/lilgp/kernel_mod/gp.c @@ -0,0 +1,1368 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +popstats *run_stats; +saved_ind *saved_head, *saved_tail; + +#if !defined(POSIX_MT) && !defined(SOLARIS_MT) + +globaldata global_g; + +#else + +int numthreads = 0; + +struct thread_param_t { + population *pop; + int startidx; + int endidx; + globaldata g; +}; + +#ifdef POSIX_MT +#include +static pthread_key_t g_key; +static pthread_attr_t pthread_attr; +#endif + +#ifdef SOLARIS_MT +#include +static thread_key_t g_key; +#endif + +#endif /* !defined(POSIX_MT) && !defined(SOLARIS_MT) */ + +/* run_gp() + * + * the whole enchilada. runs, from generation startgen, using population + * mpop. accumulates time spent evaluating and breeding in t_eval and t_breed. + */ + +void run_gp ( multipop *mpop, int startgen, + event *t_eval, event *t_breed, int startfromcheckpoint ) +{ + + char *param; + int gen; + int maxgen; + int exch_gen; + int i, j; + int checkinterval; + char *checkfileformat; + char *checkfilename = NULL; + event start, end, diff; + int term = 0; + int stt_interval = 0; + int bestn; + + if ( !startfromcheckpoint ) + { + + /* get the number of top individuals to track. */ + bestn = atoi ( get_parameter ( "output.bestn" ) ); + if ( bestn < 1 ) + { + error ( E_WARNING, "\"output.bestn\" must be at least 1. defaulting to 1." ); + bestn = 1; + } + + /* allocate statistics for overall run. */ + run_stats = (popstats *)MALLOC ( (mpop->size+1)*sizeof ( popstats ) ); + for ( i = 0; i < mpop->size+1; ++i ) + { + run_stats[i].bestn = bestn; + run_stats[i].size = -1; + } + + /* initialize the linked list of saved individuals. */ + saved_head = (saved_ind *)MALLOC ( sizeof ( saved_ind ) ); + saved_head->ind = NULL; + saved_head->refcount = 0; + saved_head->next = NULL; + saved_tail = saved_head; + } + + /* get the maximum number of generations. */ + param = get_parameter ( "max_generations" ); + if ( param == NULL ) + error ( E_FATAL_ERROR, + "no value specified for \"max_generations\"." ); + maxgen = atoi ( param ); + if ( maxgen <= 0 ) + error ( E_FATAL_ERROR, + "\"max_generations\" must be greater than zero." ); + + /* get the interval for subpopulation exchanges, if there is more than + one subpopulation. */ + if ( mpop->size > 1 ) + { + param = get_parameter ( "multiple.exch_gen" ); + if ( param == NULL ) + error ( E_FATAL_ERROR, + "no value specified for \"multiple.exch_gen\"." ); + exch_gen = atoi ( param ); + if ( exch_gen <= 0 ) + error ( E_FATAL_ERROR, + "\"multiple.exch_gen\" must be greater than zero." ); + } + + /* get the interval for doing checkpointing. */ + param = get_parameter ( "checkpoint.interval" ); + if ( param == NULL ) + /* checkpointing disabled. */ + checkinterval = -1; + else + checkinterval = atoi ( param ); + + /* get the format string for the checkpoint filenames. */ + checkfileformat = get_parameter ( "checkpoint.filename" ); + checkfilename = (char *)MALLOC ( strlen ( checkfileformat ) + 50 ); + + /* get the interval for writing information to the .stt file. */ + stt_interval = atoi ( get_parameter ( "output.stt_interval" ) ); + if ( stt_interval < 1 ) + { + error(E_FATAL_ERROR, + "\"output.stt_interval\" must be greater than zero."); + exit(1); + } + + oputs ( OUT_SYS, 10, "\n\nstarting evolution.\n" ); + + /* print out how often we'll be doing checkpointing. */ + if ( checkinterval > 0 ) + oprintf ( OUT_SYS, 20, + "checkpointing will be done every %d generations and "\ + "after the last generation.\n", checkinterval ); + else if ( checkinterval == 0 ) + oprintf ( OUT_SYS, 20, + "checkpointing will be done only after the last "\ + "generation.\n" ); + else + oprintf ( OUT_SYS, 20, + "no checkpointing will be done.\n" ); + + /* the big loop. */ + for ( gen = startgen; gen <= maxgen && !term; ++gen ) + { + oprintf ( OUT_SYS, 20, + "=== generation %d.\n", gen ); + + /* unless this is the first generation after loading a checkpoint + file... */ + if ( ! ( startfromcheckpoint && gen == startgen ) ) + { + + /* evaluate the population. */ + event_mark ( &start ); + for ( i = 0; i < mpop->size; ++i ) + evaluate_pop ( mpop->pop[i] ); + event_mark ( &end ); + event_diff ( &diff, &start, &end ); + +#ifdef TIMING_AVAILABLE + oprintf ( OUT_SYS, 40, " evaluation complete. (%s)\n", + event_string ( &diff ) ); +#else + oprintf ( OUT_SYS, 40, " evaluation complete.\n" ); +#endif + + event_accum ( t_eval, &diff ); + + /* calculate and print statistics. returns 1 if user termination + criterion was met, 0 otherwise. */ + term = generation_information ( gen, mpop, stt_interval, + run_stats[0].bestn ); + if ( term ) + oprintf ( OUT_SYS, 30, "user termination criterion met.\n" ); + + flush_output_streams(); + + } + + /** write a checkpoint file if checkinterval is non-negative and: + we've reached the last generation, or + the user termination criterion has been met, or + we've reached the specified checkpoint interval. **/ + if ( checkinterval >= 0 && + (gen == maxgen || term || + (checkinterval>0 && gen>startgen && (gen%checkinterval)==0)) ) + { + sprintf ( checkfilename, checkfileformat, gen ); + write_checkpoint ( gen, mpop, checkfilename ); + } + + /** if this is not the last generation and the user criterion hasn't + been met, then do breeding. **/ + if ( gen != maxgen && !term ) + { + + /** exchange subpops if it's time. **/ + if ( mpop->size>1 && gen && (gen%exch_gen)==0 ) + { + exchange_subpopulations ( mpop ); + oprintf ( OUT_SYS, 10, + " subpopulation exchange complete.\n" ); + } + + /* breed the new population. */ + event_mark ( &start ); + for ( i = 0; i < mpop->size; ++i ) + mpop->pop[i] = change_population ( mpop->pop[i], mpop->bpt[i] ); + event_mark ( &end ); + event_diff ( &diff, &start, &end ); + + /* call the application end-of-breeding callback. */ + app_end_of_breeding ( gen, mpop ); + +#ifdef TIMING_AVAILABLE + oprintf ( OUT_SYS, 30, " breeding complete. (%s)\n", + event_string ( &diff ) ); +#else + oprintf ( OUT_SYS, 30, " breeding complete.\n" ); +#endif + + event_accum ( t_breed, &diff ); + + } + + /* free unused ERCs. */ + ephem_const_gc(); + + flush_output_streams(); + + } + + /** free up a lot of stuff before returning. */ + + if ( checkfilename ) + FREE ( checkfilename ); + + ephem_const_gc(); + + for ( i = 0; i < mpop->size+1; ++i ) + { + for ( j = 0; j < run_stats[i].bestn; ++j ) + --run_stats[i].best[j]->refcount; + FREE ( run_stats[i].best ); + } + FREE ( run_stats ); + + saved_individual_gc(); + FREE ( saved_head ); +} + +/* generation_information() + * + * calculates and prints population statistics. + */ + +int generation_information ( int gen, multipop *mpop, int stt_interval, + int bestn ) +{ + int i, j; + int newbest; + static int fd = -1; + popstats *gen_stats; + int ret = 0; + FILE *bout, *hout; + + /* number of decimal digits to use when printing fitness values. */ + if ( fd == -1 ) + fd = atoi ( get_parameter ( "output.digits" ) ); + + /* allocate stats records for the current generation. */ + gen_stats = (popstats *)MALLOC ( (mpop->size+1)*sizeof ( popstats ) ); + for ( i = 0; i < mpop->size+1; ++i ) + { + gen_stats[i].bestn = bestn; + gen_stats[i].size = -1; + } + + oprintf ( OUT_GEN, 90, "=== GENERATION %d ===\n", gen ); + oprintf ( OUT_PRG, 90, "=== GENERATION %d ===\n", gen ); + + /* for each subpopulation... */ + for ( i = 0; i < mpop->size; ++i ) + { + /* calculate stats for subpopulation. */ + calculate_pop_stats ( gen_stats+i+1, mpop->pop[i], gen, i ); + /* accumulate that into stats for whole popluation... */ + accumulate_pop_stats ( gen_stats, gen_stats+i+1 ); + /* ...and stats for this subpopulation over the whole run. */ + accumulate_pop_stats ( run_stats+i+1, gen_stats+i+1 ); + + /* if only one subpop, don't print out the subpop stuff. */ + if ( mpop->size == 1 ) + continue; + + /** print much stuff to .gen, .prg, and .stt files. */ + + if ( test_detail_level ( 90 ) ) + { + oprintf ( OUT_GEN, 90, " subpopulation %d:\n", i+1 ); + oprintf ( OUT_GEN, 90, " generation:\n" ); + oprintf ( OUT_GEN, 90, " mean: nodes: %.3lf (%d-%d); depth: %.3lf (%d-%d)\n", + (double)gen_stats[i+1].totalnodes/gen_stats[i+1].size, + gen_stats[i+1].minnodes, gen_stats[i+1].maxnodes, + (double)gen_stats[i+1].totaldepth/gen_stats[i+1].size, + gen_stats[i+1].mindepth, gen_stats[i+1].maxdepth ); + oprintf ( OUT_GEN, 90, " best: nodes: %d; depth: %d\n", + gen_stats[i+1].bestnodes, gen_stats[i+1].bestdepth ); + oprintf ( OUT_GEN, 90, " worst: nodes: %d; depth: %d\n", + gen_stats[i+1].worstnodes, gen_stats[i+1].worstdepth ); + oprintf ( OUT_GEN, 90, " run: (%d trees)\n", + run_stats[i+1].size ); + oprintf ( OUT_GEN, 90, " mean: nodes: %.3lf (%d-%d); depth: %.3lf (%d-%d)\n", + (double)run_stats[i+1].totalnodes/run_stats[i+1].size, + run_stats[i+1].minnodes, run_stats[i+1].maxnodes, + (double)run_stats[i+1].totaldepth/run_stats[i+1].size, + run_stats[i+1].mindepth, run_stats[i+1].maxdepth ); + oprintf ( OUT_GEN, 90, " best: nodes: %d; depth: %d\n", + run_stats[i+1].bestnodes, run_stats[i+1].bestdepth ); + oprintf ( OUT_GEN, 90, " worst: nodes: %d; depth: %d\n", + run_stats[i+1].worstnodes, run_stats[i+1].worstdepth ); + } + + if ( test_detail_level ( 90 ) ) + { + oprintf ( OUT_PRG, 90, " subpopulation %d:\n", i+1 ); + oprintf ( OUT_PRG, 90, " generation stats:\n" ); + oprintf ( OUT_PRG, 90, " mean: hits: %.3lf (%d-%d); standardized fitness: %.*lf\n", + (double)gen_stats[i+1].totalhits/gen_stats[i+1].size, + gen_stats[i+1].minhits, gen_stats[i+1].maxhits, + fd, (double)gen_stats[i+1].totalfit/gen_stats[i+1].size ); + oprintf ( OUT_PRG, 90, " best: hits: %d; standardized fitness: %.*lf\n", + gen_stats[i+1].besthits, fd, + (double)gen_stats[i+1].bestfit ); + oprintf ( OUT_PRG, 90, " worst: hits: %d; standardized fitness: %.*lf\n", + gen_stats[i+1].worsthits, fd, + (double)gen_stats[i+1].worstfit ); + oprintf ( OUT_PRG, 90, " run stats: (%d trees)\n", + run_stats[i+1].size ); + oprintf ( OUT_PRG, 90, " mean: hits: %.3lf (%d-%d); standardized fitness: %.*lf\n", + (double)run_stats[i+1].totalhits/run_stats[i+1].size, + run_stats[i+1].minhits, run_stats[i+1].maxhits, + fd, (double)run_stats[i+1].totalfit/run_stats[i+1].size ); + oprintf ( OUT_PRG, 90, " best: hits: %d; standardized fitness: %.*lf; generation: %d\n", + run_stats[i+1].besthits, fd, (double)run_stats[i+1].bestfit, + run_stats[i+1].bestgen ); + oprintf ( OUT_PRG, 90, " worst: hits: %d; standardized fitness: %.*lf; generation: %d\n", + run_stats[i+1].worsthits, fd, + (double)run_stats[i+1].worstfit, run_stats[i+1].worstgen ); + } + + if ( gen%stt_interval == 0 ) + { + oprintf ( OUT_STT, 50, "%d %d ", gen, i+1 ); + oprintf ( OUT_STT, 50, "%.*lf %.*lf %.*lf ", + fd, gen_stats[i+1].totalfit/gen_stats[i+1].size, + fd, gen_stats[i+1].bestfit, + fd, gen_stats[i+1].worstfit ); + oprintf ( OUT_STT, 50, "%.3lf %.3lf %d %d %d %d ", + (double)gen_stats[i+1].totalnodes/gen_stats[i+1].size, + (double)gen_stats[i+1].totaldepth/gen_stats[i+1].size, + gen_stats[i+1].bestnodes, gen_stats[i+1].bestdepth, + gen_stats[i+1].worstnodes, gen_stats[i+1].worstdepth ); + oprintf ( OUT_STT, 50, "%.*lf %.*lf %.*lf ", + fd, run_stats[i+1].totalfit/run_stats[i+1].size, + fd, run_stats[i+1].bestfit, + fd, run_stats[i+1].worstfit ); + oprintf ( OUT_STT, 50, "%.3lf %.3lf %d %d %d %d ", + (double)run_stats[i+1].totalnodes/run_stats[i+1].size, + (double)run_stats[i+1].totaldepth/run_stats[i+1].size, + run_stats[i+1].bestnodes, run_stats[i+1].bestdepth, + run_stats[i+1].worstnodes, run_stats[i+1].worstdepth ); + oprintf ( OUT_STT, 50, "\n" ); + } + + } + + /* merge stats for current generation into overall run stats. */ + newbest = accumulate_pop_stats ( run_stats, gen_stats ); + + /** more printing. **/ + + if ( test_detail_level ( 90 ) ) + { + oprintf ( OUT_GEN, 90, " total population:\n" ); + oprintf ( OUT_GEN, 90, " generation:\n" ); + oprintf ( OUT_GEN, 90, " mean: nodes: %.3lf (%d-%d); depth: %.3lf (%d-%d)\n", + (double)gen_stats[0].totalnodes/gen_stats[0].size, + gen_stats[0].minnodes, gen_stats[0].maxnodes, + (double)gen_stats[0].totaldepth/gen_stats[0].size, + gen_stats[0].mindepth, gen_stats[0].maxdepth ); + oprintf ( OUT_GEN, 90, " best: nodes: %d; depth: %d\n", + gen_stats[0].bestnodes, gen_stats[0].bestdepth ); + oprintf ( OUT_GEN, 90, " worst: nodes: %d; depth: %d\n", + gen_stats[0].worstnodes, gen_stats[0].worstdepth ); + oprintf ( OUT_GEN, 90, " run: (%d trees)\n", + run_stats[0].size ); + oprintf ( OUT_GEN, 90, " mean: nodes: %.3lf (%d-%d); depth: %.3lf (%d-%d)\n", + (double)run_stats[0].totalnodes/run_stats[0].size, + run_stats[0].minnodes, run_stats[0].maxnodes, + (double)run_stats[0].totaldepth/run_stats[0].size, + run_stats[0].mindepth, run_stats[0].maxdepth ); + oprintf ( OUT_GEN, 90, " best: nodes: %d; depth: %d\n", + run_stats[0].bestnodes, run_stats[0].bestdepth ); + oprintf ( OUT_GEN, 90, " worst: nodes: %d; depth: %d\n", + run_stats[0].worstnodes, run_stats[0].worstdepth ); + } + + if ( test_detail_level ( 90 ) ) + { + oprintf ( OUT_PRG, 90, " total population:\n" ); + oprintf ( OUT_PRG, 90, " generation stats:\n" ); + oprintf ( OUT_PRG, 90, " mean: hits: %.3lf (%d-%d); standardized fitness: %.*lf\n", + (double)gen_stats[0].totalhits/gen_stats[0].size, + gen_stats[0].minhits, gen_stats[0].maxhits, + fd, (double)gen_stats[0].totalfit/gen_stats[0].size ); + oprintf ( OUT_PRG, 90, " best: hits: %d; standardized fitness: %.*lf\n", + gen_stats[0].besthits, fd, (double)gen_stats[0].bestfit ); + oprintf ( OUT_PRG, 90, " worst: hits: %d; standardized fitness: %.*lf\n", + gen_stats[0].worsthits, fd, (double)gen_stats[0].worstfit ); + oprintf ( OUT_PRG, 90, " run stats: (%d trees)\n", + run_stats[0].size ); + oprintf ( OUT_PRG, 90, " mean: hits: %.3lf (%d-%d); standardized fitness: %.*lf\n", + (double)run_stats[0].totalhits/run_stats[0].size, + run_stats[0].minhits, run_stats[0].maxhits, + fd, (double)run_stats[0].totalfit/run_stats[0].size ); + oprintf ( OUT_PRG, 90, " best: hits: %d; standardized fitness: %.*lf; generation: %d\n", + run_stats[0].besthits, fd, (double)run_stats[0].bestfit, + run_stats[0].bestgen ); + oprintf ( OUT_PRG, 90, " worst: hits: %d; standardized fitness: %.*lf; generation: %d\n", + run_stats[0].worsthits, fd, (double)run_stats[0].worstfit, + run_stats[0].worstgen ); + } + + if ( gen%stt_interval == 0 ) + { + if ( test_detail_level ( 50 ) ) + { + oprintf ( OUT_STT, 50, "%d 0 ", gen ); + oprintf ( OUT_STT, 50, "%.*lf %.*lf %.*lf ", + fd, gen_stats[0].totalfit/gen_stats[0].size, + fd, gen_stats[0].bestfit, fd, gen_stats[0].worstfit ); + oprintf ( OUT_STT, 50, "%.3lf %.3lf %d %d %d %d ", + (double)gen_stats[0].totalnodes/gen_stats[0].size, + (double)gen_stats[0].totaldepth/gen_stats[0].size, + gen_stats[0].bestnodes, gen_stats[0].bestdepth, + gen_stats[0].worstnodes, gen_stats[0].worstdepth ); + oprintf ( OUT_STT, 50, "%.*lf %.*lf %.*lf ", + fd, run_stats[0].totalfit/run_stats[0].size, + fd, run_stats[0].bestfit, fd, run_stats[0].worstfit ); + oprintf ( OUT_STT, 50, "%.3lf %.3lf %d %d %d %d ", + (double)run_stats[0].totalnodes/run_stats[0].size, + (double)run_stats[0].totaldepth/run_stats[0].size, + run_stats[0].bestnodes, run_stats[0].bestdepth, + run_stats[0].worstnodes, run_stats[0].worstdepth ); + oprintf ( OUT_STT, 50, "\n" ); + } + } + + /* rewrite the .bst file, and append to the .his file. */ + + output_stream_open ( OUT_BST ); + + oprintf ( OUT_BST, 10, "=== BEST-OF-RUN ===\n" ); + oprintf ( OUT_BST, 10, " generation: %d\n", + run_stats[0].bestgen ); + if ( mpop->size > 1 ) + oprintf ( OUT_BST, 10, " subpopulation: %d\n", + run_stats[0].bestpop+1 ); + oprintf ( OUT_BST, 10, " nodes: %d\n", + run_stats[0].bestnodes ); + oprintf ( OUT_BST, 10, " depth: %d\n", + run_stats[0].bestdepth ); + oprintf ( OUT_BST, 10, " hits: %d\n", + run_stats[0].besthits ); + + oprintf ( OUT_HIS, 10, "=== BEST-OF-RUN ===\n" ); + oprintf ( OUT_HIS, 10, " current generation: %d\n", gen ); + oprintf ( OUT_HIS, 10, " generation: %d\n", + run_stats[0].bestgen ); + if ( mpop->size > 1 ) + oprintf ( OUT_HIS, 10, " subpopulation: %d\n", + run_stats[0].bestpop+1 ); + oprintf ( OUT_HIS, 10, " nodes: %d\n", + run_stats[0].bestnodes ); + oprintf ( OUT_HIS, 10, " depth: %d\n", + run_stats[0].bestdepth ); + oprintf ( OUT_HIS, 10, " hits: %d\n", + run_stats[0].besthits ); + + /* retrieve the (FILE *) for the .bst and .his files, so that + the trees can be printed to them. */ + + bout = output_filehandle ( OUT_BST ); + hout = output_filehandle ( OUT_HIS ); + + if ( run_stats[0].bestn == 1 ) + { + oprintf ( OUT_BST, 20, "TOP INDIVIDUAL:\n\n" ); + oprintf ( OUT_HIS, 20, "TOP INDIVIDUAL:\n\n" ); + } + else + { + oprintf ( OUT_BST, 20, "TOP %d INDIVIDUALS (in order):\n\n", + run_stats[0].bestn ); + oprintf ( OUT_HIS, 20, "TOP %d INDIVIDUALS (in order):\n\n", + run_stats[0].bestn ); + } + + for ( i = 0; i < run_stats[0].bestn; ++i ) + { + oprintf ( OUT_BST, 20, "\n\n-- #%d --\n", i+1 ); + + oprintf ( OUT_BST, 20, " hits: %d\n", + run_stats[0].best[i]->ind->hits ); + oprintf ( OUT_BST, 20, " raw fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->r_fitness ); + oprintf ( OUT_BST, 20, " standardized fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->s_fitness ); + oprintf ( OUT_BST, 20, " adjusted fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->a_fitness ); + + oprintf ( OUT_HIS, 20, "\n\n-- #%d --\n", i+1 ); + + oprintf ( OUT_HIS, 20, " hits: %d\n", + run_stats[0].best[i]->ind->hits ); + oprintf ( OUT_HIS, 20, " raw fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->r_fitness ); + oprintf ( OUT_HIS, 20, " standardized fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->s_fitness ); + oprintf ( OUT_HIS, 20, " adjusted fitness: %.*lf\n", + fd, run_stats[0].best[i]->ind->a_fitness ); + + /* print the tree to both files here. */ + if ( test_detail_level ( 20 ) ) + { + pretty_print_individual ( run_stats[0].best[i]->ind, bout ); + pretty_print_individual ( run_stats[0].best[i]->ind, hout ); + } + } + + /* call the end-of-evaluation callback. returns 1 if user termination + criterion is met, 0 otherwise. */ + ret = app_end_of_evaluation ( gen, mpop, newbest, gen_stats, run_stats ); + + /* close the .bst file. */ + output_stream_close ( OUT_BST ); + + /* free stats structures for current generation. */ + for ( i = 0; i < mpop->size+1; ++i ) + { + for ( j = 0; j < gen_stats[i].bestn; ++j ) + --gen_stats[i].best[j]->refcount; + FREE ( gen_stats[i].best ); + } + FREE ( gen_stats ); + + /* deallocate saved individuals that are no longer needed. */ + saved_individual_gc(); + + /* return value the application callback gave us. */ + return ret; + +} + +/* evaluate_pop() + * + * evaluates all the individuals in a population whose cached + * fitness values are invalid. + */ + +void evaluate_pop ( population *pop ) +{ + int i; +#if defined(POSIX_MT) || defined(SOLARIS_MT) + int start, end, inc, err; + struct thread_param_t *t_param; +#endif +#if POSIX_MT + pthread_t *t_ids; +#endif + +#ifdef DEBUG + print_individual ( pop->ind, stdout ); +#ifdef COEVOLUTION +printf("Can't do COEVOLUTION and DEBUG at the same time, sorry!\n"); +#else + app_eval_fitness ( pop->ind ); +#endif + exit(0); +#endif + +#if !defined(POSIX_MT) && !defined(SOLARIS_MT) +#ifdef COEVOLUTION + +if (pop->size % 2) +{ + /* It's not even! */ + error ( E_FATAL_ERROR, "Population must be even to do COEVOLUTION\n"); +} + + for ( i = 0; i < pop->size; i+=2) + if ( pop->ind[i].evald != EVAL_CACHE_VALID || + pop->ind[i+1].evald != EVAL_CACHE_VALID ) + app_eval_fitness ( (pop->ind)+i ); +#else + for ( i = 0; i < pop->size; ++i ) + if ( pop->ind[i].evald != EVAL_CACHE_VALID ) + app_eval_fitness ( (pop->ind)+i ); +#endif + +#else + +#if POSIX_MT + t_ids = (pthread_t *)malloc( numthreads * sizeof( pthread_t )); +#endif + t_param = (struct thread_param_t *)malloc( numthreads * + sizeof( struct thread_param_t )); + + /* figure out how many pop members per thread */ + inc = pop->size / numthreads; + if (pop->size != inc * numthreads) inc++; + + start = 0; + for (i=0; i pop->size) end = pop->size; + + /* setup the paramater to pass */ + t_param[i].pop = pop; + t_param[i].startidx = start; + t_param[i].endidx = end; + t_param[i].g = *(get_globaldata()); + +#ifdef POSIX_MT + err = pthread_create(&t_ids[i], &pthread_attr, + evaluate_pop_chunk, &t_param[i]); +#endif +#ifdef SOLARIS_MT + err = thr_create(NULL, (int)NULL, evaluate_pop_chunk, + &t_param[i], (int)NULL,NULL); +#endif + if (err != 0) { + error ( E_FATAL_ERROR, "cannot create thread"); + } + + start = end; + } + +#ifdef SOLARIS_MT + while (thr_join(NULL, NULL, NULL) == 0); +#endif +#ifdef POSIX_MT + for (i=0; i < numthreads; i++) { + pthread_join( t_ids[i], NULL); + } +#endif + +#endif + +} + +/* calculate_pop_stats() + * + * tabulates stats for a population: fitness and size of best, worst, + * mean, etc. also finds top N individuals and saves them. + */ + +void calculate_pop_stats ( popstats *s, population *pop, int gen, + int subpop ) +{ + int i, j, k, l; + int b; + saved_ind *shp; + individual **temp; + + /* allocate a list of the top N individuals. */ + s->best = (saved_ind **)MALLOC ( s->bestn * + sizeof ( saved_ind * ) ); + temp = (individual **)MALLOC ( (s->bestn+1) * sizeof ( individual * ) ); + + s->size = pop->size; + + /** this is all pretty obvious -- set all the max and min values to the + first individual's values, then go through the population looking for + things that are bigger/smaller/better/worse/etc. **/ + + s->maxnodes = s->minnodes = s->totalnodes = s->bestnodes = s->worstnodes = + individual_size ( pop->ind+0 ); + s->maxdepth = s->mindepth = s->totaldepth = s->bestdepth = s->worstdepth = + individual_depth ( pop->ind+0 ); + s->maxhits = s->minhits = s->totalhits = s->besthits = s->worsthits = + pop->ind[0].hits; + s->bestfit = s->worstfit = s->totalfit = pop->ind[0].a_fitness; + temp[0] = pop->ind; + b = 1; + s->bestgen = s->worstgen = gen; + s->bestpop = s->worstpop = subpop; + + for ( i = 1; i < s->size; ++i ) + { + j = individual_size ( pop->ind+i ); + s->totalnodes += j; + if ( j < s->minnodes ) s->minnodes = j; + if ( j > s->maxnodes ) s->maxnodes = j; + + k = individual_depth ( pop->ind+i ); + s->totaldepth += k; + if ( k < s->mindepth ) s->mindepth = k; + if ( k > s->maxdepth ) s->maxdepth = k; + + l = pop->ind[i].hits; + s->totalhits += l; + if ( l < s->minhits ) s->minhits = l; + if ( l > s->maxhits ) s->maxhits = l; + + s->totalfit += pop->ind[i].a_fitness; + if ( pop->ind[i].a_fitness > s->bestfit ) + { + s->bestfit = pop->ind[i].a_fitness; + s->bestnodes = j; + s->bestdepth = k; + s->besthits = l; + } + else if ( pop->ind[i].a_fitness < s->worstfit ) + { + s->worstfit = pop->ind[i].a_fitness; + s->worstnodes = j; + s->worstdepth = k; + s->worsthits = l; + } + + /** insert the current individual into the top N list + (if it belongs there). **/ + + for ( j = b; j > 0; --j ) + { + if ( pop->ind[i].a_fitness < temp[j-1]->a_fitness ) + break; + temp[j] = temp[j-1]; + } + if ( j < s->bestn ) + temp[j] = pop->ind+i; + if ( b < s->bestn ) + ++b; + } + + /** now save copies of the individuals in the "temp" list **/ + for ( i = 0; i < b; ++i ) + { + shp = (saved_ind *)MALLOC ( sizeof ( saved_ind ) ); + shp->ind = (individual *)MALLOC ( sizeof ( individual ) ); + shp->ind->tr = (tree *)MALLOC ( tree_count * sizeof ( tree ) ); + duplicate_individual ( shp->ind, temp[i] ); + for ( j = 0; j < tree_count; ++j ) + reference_ephem_constants ( shp->ind->tr[j].data, 1 ); + shp->refcount = 1; + shp->next = NULL; + + saved_tail->next = shp; + saved_tail = shp; + ++saved_head->refcount; + + s->best[i] = shp; + } + +#ifdef DEBUG + printf ( "the best list is:\n" ); + for ( j = 0; j < s->bestn; ++j ) + printf ( " %08x %lf\n", s->best[j], s->best[j]->ind->a_fitness ); +#endif + + FREE ( temp ); + +} + +/* accumulate_pop_stats() + * + * this merges the second statistics record into the first, so that it reflects + * the "sum" of the underlying populations. returns 1 if the best individual + * of the first record has changed (that is, if the second record has a better + * best individual. + */ + +int accumulate_pop_stats ( popstats *total, popstats *n ) +{ + int ret = 0; + int i, j, k; + saved_ind **temp; + + if ( total->size == -1 ) + { + /* if the "total" record is empty, then just copy the second record + into it. */ + memcpy ( total, n, sizeof ( popstats ) ); + total->best = (saved_ind **)MALLOC ( total->bestn * + sizeof ( saved_ind * ) ); + memcpy ( total->best, n->best, total->bestn * + sizeof ( saved_ind * ) ); + ret = 1; + } + else + { + /* sum the totals. */ + total->size += n->size; + total->totalnodes += n->totalnodes; + total->totaldepth += n->totaldepth; + total->totalhits += n->totalhits; + total->totalfit += n->totalfit; + + /* find the maximums. */ + if ( n->maxnodes > total->maxnodes ) total->maxnodes = n->maxnodes; + if ( n->maxdepth > total->maxdepth ) total->maxdepth = n->maxdepth; + if ( n->maxhits > total->maxhits ) total->maxhits = n->maxhits; + + /* find the minimums. */ + if ( n->minnodes < total->minnodes ) total->minnodes = n->minnodes; + if ( n->mindepth < total->mindepth ) total->mindepth = n->mindepth; + if ( n->minhits < total->minhits ) total->minhits = n->minhits; + + /* find the best individual's numbers. */ + if ( n->bestfit > total->bestfit ) + { + total->bestfit = n->bestfit; + total->bestnodes = n->bestnodes; + total->bestdepth = n->bestdepth; + total->besthits = n->besthits; + total->bestgen = n->bestgen; + total->bestpop = n->bestpop; + ret = 1; + } + + /* find the worst individual's numbers. */ + if ( n->worstfit < total->worstfit ) + { + total->worstfit = n->worstfit; + total->worstnodes = n->worstnodes; + total->worstdepth = n->worstdepth; + total->worsthits = n->worsthits; + total->worstgen = n->worstgen; + total->worstpop = n->worstpop; + } + +#ifdef DEBUG + printf ( "total list:\n" ); + for ( i = 0; i < total->bestn; ++i ) + printf ( " %08x %lf\n", + total->best[i], total->best[i]->ind->a_fitness ); + printf ( "new list:\n" ); + for ( i = 0; i < n->bestn; ++i ) + printf ( " %08x %lf\n", + n->best[i], n->best[i]->ind->a_fitness ); +#endif + + /** here we merge the two "top N" lists into one, discarding + the remaining N individuals. **/ + + temp = (saved_ind **)MALLOC ( total->bestn * + sizeof ( saved_ind * ) ); + j = 0; /* position in "total"s list */ + k = 0; /* position in "n"s list */ + for ( i = 0; i < total->bestn; ++i ) + { + /* if the n list is empty, take from the total list. */ + if ( k == -1 ) + temp[i] = total->best[j++]; + /* if the total list is empty, take from the n list. */ + else if ( j == -1 ) + { + ret |= (i==0); + temp[i] = n->best[k++]; + } + /* if neither list is empty, take the better individual. */ + else if ( total->best[j]->ind->a_fitness < + n->best[k]->ind->a_fitness ) + { + ret |= (i==0); + temp[i] = n->best[k++]; + } + else + temp[i] = total->best[j++]; + + /* have we run off the end of either list? */ + if ( j >= total->bestn ) + j = -1; + if ( k >= n->bestn ) + k = -1; + } + + /* decrement the reference count of the old "best" list. */ + for ( i = 0; i < total->bestn; ++i ) + --total->best[i]->refcount; + + FREE ( total->best ); + total->best = temp; + +#ifdef DEBUG + printf ( "new total list:\n" ); + for ( i = 0; i < total->bestn; ++i ) + printf ( " %08x %lf\n", + total->best[i], total->best[i]->ind->a_fitness ); +#endif + } + + /* increment the reference count of the new "best" list. */ + for ( i = 0; i < total->bestn; ++i ) + ++total->best[i]->refcount; + + return ret; +} + +/* saved_individual_gc() + * + * go through the list of saved individuals, deleting any which are no longer + * referred to. + */ + +void saved_individual_gc ( void ) +{ + int j; + saved_ind *shp = saved_head->next; + saved_ind *shm = saved_head; + + while ( shp ) + { + if ( shp->refcount == 0 ) + { + /** found one that needs to be deleted. **/ + + /* dereference its trees' ERCs and delete the trees. */ + for ( j = 0; j < tree_count; ++j ) + { + reference_ephem_constants ( shp->ind->tr[j].data, -1 ); + free_tree ( shp->ind->tr+j ); + } + FREE ( shp->ind->tr ); + FREE ( shp->ind ); + + /* cut the record out of the linked list. */ + shm->next = shp->next; + if ( saved_tail == shp ) + saved_tail = shm; + FREE ( shp ); + shp = shm->next; + + /* the refcount field of the list head (a dummy node) holds the + size of the list. */ + --saved_head->refcount; + } + else + { + /* move down the list. */ + shm = shp; + shp = shp->next; + } + } +} + +/* read_saved_individuals() + * + * reads the list of saved individuals from a checkpoint file. constructs + * an index translating indices to addresses. + */ + +saved_ind ** read_saved_individuals ( ephem_const **eind, FILE *f ) +{ + char *buffer; + int count; + int i; + saved_ind *p; + saved_ind **sind; + + buffer = (char *)MALLOC ( MAXCHECKLINELENGTH ); + + /* read the number of saved individuals. */ + fscanf ( f, "%*s %d\n", &count ); + + /* allocate the index. */ + sind = (saved_ind **)MALLOC ( count * sizeof ( saved_ind * ) ); + + /* allocate the head of the linked list (a dummy node whose refcount + equals the number of individuals on the list). */ + saved_head = (saved_ind *)MALLOC ( sizeof ( saved_ind ) ); + saved_head->ind = NULL; + saved_head->refcount = count; + p = saved_head; + for ( i = 0; i < count; ++i ) + { + /* allocate the next saved_ind on the list. */ + p->next = (saved_ind *)MALLOC ( sizeof ( saved_ind ) ); + p = p->next; + /* allocate the individual. */ + p->ind = (individual *)MALLOC ( sizeof ( individual ) ); + /* make the index entry. */ + sind[i] = p; + /* read the refcount. */ + fscanf ( f, "%d ", &(p->refcount) ); + /* read the individual. */ + read_individual ( p->ind, eind, f, buffer ); + } + /* mark the end of the list. */ + p->next = NULL; + saved_tail = p; + + FREE ( buffer ); + + return sind; +} + +/* read_stats_checkpoint() + * + * read the overall run statistics structures from a checkpoint file. + */ + +void read_stats_checkpoint ( multipop *mpop, ephem_const **eind, FILE *f ) +{ + int i, j, k; + saved_ind **sind; + + /* read and index the saved individuals list. */ + sind = read_saved_individuals ( eind, f ); + + /* allocate the run_stats array. */ + run_stats = (popstats *)MALLOC ( (mpop->size+1)*sizeof ( popstats ) ); + for ( i = 0; i < mpop->size+1; ++i ) + { + /* read lots of integer values into run_stats. */ + fscanf ( f, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", + &(run_stats[i].size), + &(run_stats[i].maxnodes), &(run_stats[i].minnodes), + &(run_stats[i].totalnodes), &(run_stats[i].bestnodes), + &(run_stats[i].worstnodes), + &(run_stats[i].maxdepth), &(run_stats[i].mindepth), + &(run_stats[i].totaldepth), &(run_stats[i].bestdepth), + &(run_stats[i].worstdepth), + &(run_stats[i].maxhits), &(run_stats[i].minhits), + &(run_stats[i].totalhits), &(run_stats[i].besthits), + &(run_stats[i].worsthits) ); + /** double-precision values are stored as hex data to avoid loss + of precision. **/ + read_hex_block ( &(run_stats[i].bestfit), sizeof ( double ), f ); + fgetc ( f ); + read_hex_block ( &(run_stats[i].worstfit), sizeof ( double ), f ); + fgetc ( f ); + read_hex_block ( &(run_stats[i].totalfit), sizeof ( double ), f ); + /* they are also printed as decimal values, for the benefit of human + readers -- skip these fields. */ + fscanf ( f, " %*f %*f %*f\n" ); + /* read some more integers. */ + fscanf ( f, "%d %d %d %d %d ", + &(run_stats[i].bestgen), &(run_stats[i].worstgen), + &(run_stats[i].bestpop), &(run_stats[i].worstpop), + &(run_stats[i].bestn) ); + run_stats[i].best = (saved_ind **)MALLOC ( run_stats[i].bestn * + sizeof ( saved_ind * ) ); + /** read the indices of the contents of the best array, and look up + the addresses in the index. **/ + for ( j = 0; j < run_stats[i].bestn; ++j ) + { + fscanf ( f, "%d\n", &k ); + run_stats[i].best[j] = sind[k]; + } + } + FREE ( sind ); +} + +/* write_saved_individuals() + * + * writes the linked list of saved individuals to a checkpoint file. returns + * an index for translating saved_ind addresses to integer indices. + */ + +saved_ind ** write_saved_individuals ( ephem_index *eind, FILE *f ) +{ + saved_ind **index; + saved_ind *shp; + int i = 0; + + index = (saved_ind **)MALLOC ( saved_head->refcount * + sizeof ( saved_ind * ) ); + + /* write the count of individuals. */ + fprintf ( f, "saved-individual-count: %d\n", saved_head->refcount ); + + shp = saved_head->next; + + /** traverse the linked list. **/ + while ( shp ) + { + /* write the reference count and individual. */ + fprintf ( f, "%d ", shp->refcount ); + write_individual ( shp->ind, eind, f ); + + /* record the address in the index. */ + index[i++] = shp; + + shp = shp->next; + } + + return index; +} + +/* write_stats_checkpoint() + * + * write the overall run statistics structures to a checkpoint file. + */ + +void write_stats_checkpoint ( multipop *mpop, ephem_index *eind, FILE *f ) +{ + int i, j, k; + saved_ind **sind; + + /* write and index the saved individuals list. */ + sind = write_saved_individuals ( eind, f ); + + for ( i = 0; i < mpop->size+1; ++i ) + { + /* write many integer values. */ + fprintf ( f, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", + run_stats[i].size, + run_stats[i].maxnodes, run_stats[i].minnodes, + run_stats[i].totalnodes, run_stats[i].bestnodes, + run_stats[i].worstnodes, + run_stats[i].maxdepth, run_stats[i].mindepth, + run_stats[i].totaldepth, run_stats[i].bestdepth, + run_stats[i].worstdepth, + run_stats[i].maxhits, run_stats[i].minhits, + run_stats[i].totalhits, run_stats[i].besthits, + run_stats[i].worsthits ); + /** write double-precision values as hex data. **/ + write_hex_block ( &(run_stats[i].bestfit), sizeof ( double ), f ); + fputc ( ' ', f ); + write_hex_block ( &(run_stats[i].worstfit), sizeof ( double ), f ); + fputc ( ' ', f ); + write_hex_block ( &(run_stats[i].totalfit), sizeof ( double ), f ); + /* also write them as decimal values. */ + fprintf ( f, " %f %f %f\n", run_stats[i].bestfit, + run_stats[i].worstfit, run_stats[i].totalfit ); + /* write more integers. */ + fprintf ( f, "%d %d %d %d %d ", + run_stats[i].bestgen, run_stats[i].worstgen, + run_stats[i].bestpop, run_stats[i].worstpop, + run_stats[i].bestn ); + /** write the best array, indexing saved individuals using integers. **/ + for ( j = 0; j < run_stats[i].bestn; ++j ) + { + /** search the index for the address. **/ + for ( k = 0; k < saved_head->refcount; ++k ) + if ( run_stats[i].best[j] == sind[k] ) + { + /* print the index to the checkpoint file. */ + fprintf ( f, " %d", k ); + break; + } + /** address was not found in the index. **/ + if ( k == saved_head->refcount ) + { + /* this shouldn't ever happen. */ + fprintf ( f, " -1" ); + error ( E_WARNING, "bestn pointer is bad." ); + } + } + + fputc ( '\n', f ); + } + + FREE ( sind ); +} + + +#if !defined(POSIX_MT) && !defined(SOLARIS_MT) + +/* return the globaldata structure */ +globaldata *get_globaldata(void) { + return( &global_g ); +} + +#else /* continues to end of file */ + +/* provide each thread with seperate copy of 'g' */ +globaldata *get_globaldata(void) { + globaldata *retval; + +#ifdef POSIX_MT + retval = pthread_getspecific( g_key ); +#endif +#ifdef SOLARIS_MT + thr_getspecific( g_key, (void *)&retval ); +#endif + + if (retval == NULL) { + error ( E_FATAL_ERROR, "get_globaldata() tried to return NULL"); + } + + return( retval ); +} + + + +/* + * initialize_threading() + * + * Setup the program for multithreading use. + */ + +void initialize_threading( void ) { + char *numthreads_str; + globaldata *main_g; + + /* numthreads_str = getenv( "NUM_THREADS" );*/ + numthreads_str= get_parameter("num_threads"); /* Now in input file */ + if (numthreads_str == NULL) { + error ( E_FATAL_ERROR, "num_threads undefined"); + } + numthreads = atoi( numthreads_str ); + if (numthreads < 1) { + error ( E_FATAL_ERROR, "num_threads must be > 0"); + } + + printf("numthreads: %d\n",numthreads); + + /* create the thread key for access to 'g' */ +#ifdef POSIX_MT + pthread_key_create( &g_key, NULL ); +#endif +#ifdef SOLARIS_MT + thr_keycreate( &g_key, NULL ); +#endif + + /* main thread needs its own 'g' */ + main_g = (globaldata *)malloc(sizeof(globaldata)); +#ifdef POSIX_MT + pthread_setspecific(g_key, main_g); +#endif +#ifdef SOLARIS_MT + thr_setspecific(g_key, main_g); +#endif + +#ifdef POSIX_MT + /* Setup default thread attributes */ + pthread_attr_init(&pthread_attr); + pthread_attr_setscope(&pthread_attr, PTHREAD_SCOPE_SYSTEM); + + if (1) + { + size_t size; + size_t guard; + + /* Double the stack size */ + pthread_attr_getstacksize(&pthread_attr,&size); + printf("Kernel Old Size %d\n",(int)size); + pthread_attr_setstacksize(&pthread_attr,size * 2); + pthread_attr_getstacksize(&pthread_attr,&size); + printf("Kernel New Size %d\n",(int)size); + +/* Double the Guard size (account for old pthread implementation) */ +#ifdef PTHREAD_1.X + pthread_attr_getguardsize_np(&pthread_attr,&guard); + printf("Kernel Old Guard %d\n",(int)guard); + pthread_attr_setguardsize_np(&pthread_attr,2*guard); + pthread_attr_getguardsize_np(&pthread_attr,&guard); +#else + pthread_attr_getguardsize(&pthread_attr,&guard); + printf("Kernel Old Guard %d\n",(int)guard); + pthread_attr_setguardsize(&pthread_attr,2*guard); + pthread_attr_getguardsize(&pthread_attr,&guard); +#endif + printf("Kernel New Guard %d\n",(int) guard); + } +#endif + +#ifdef SOLARIS_MT + /* let the OS know how many threads to run at once */ + thr_setconcurrency( numthreads ); +#endif + +} + +/* evaluate_pop_chuck() + * + * Called from evaluate_pop to do a chunk of evaluations on a pop. + * This was done to allow multithreading. + */ + +void *evaluate_pop_chunk( void *param ) { + int k, startidx, endidx; + population *pop; + globaldata* g; + struct thread_param_t *t_param; + + t_param = (struct thread_param_t *)param; + pop = t_param->pop; + startidx = t_param->startidx; + endidx = t_param->endidx; + +#ifdef POSIX_MT + pthread_setspecific(g_key, &t_param->g); +#endif +#ifdef SOLARIS_MT + thr_setspecific(g_key, &t_param->g); +#endif + + g=get_globaldata(); + + /* printf("START: %d,%d\n", startidx, endidx); */ + +#ifdef COEVOLUTION /* Here we hack it to provide *two* individuals */ + + if ((endidx-startidx)%2) /* it it's not even */ + + { + char xx[256]; + sprintf(xx,"Uneven number of individuals (%d) at %d", + endidx-startidx,startidx); + error ( E_FATAL_ERROR,xx); + } + + for ( k = startidx; k < endidx; k+=2 ) + + /* It's GOT to have even number of inds */ + + if ( pop->ind[k].evald != EVAL_CACHE_VALID || + pop->ind[k+1].evald != EVAL_CACHE_VALID ) + { + app_eval_fitness ( (pop->ind)+k, (pop->ind)+(k+1) ); + } +#else + for ( k = startidx; k < endidx; ++k ) + if ( pop->ind[k].evald != EVAL_CACHE_VALID ) + { + app_eval_fitness ( (pop->ind)+k ); + } +#endif + +} + +#endif /* !defined(POSIX_MT) && !defined(SOLARIS_MT) */ + + diff --git a/lib/lilgp/kernel_mod/individ.c b/lib/lilgp/kernel_mod/individ.c new file mode 100644 index 0000000..08997c7 --- /dev/null +++ b/lib/lilgp/kernel_mod/individ.c @@ -0,0 +1,125 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* print_individual_stdout() + * + * prints the given individual to stdout. used with the "call" command + * in gdb (stdout is a #defined symbol and so is not available to the + * debugger, at least under Solaris...) + */ + +void print_individual_stdout ( individual *ind ) +{ + print_individual ( ind, stdout ); +} + +/* print_individual() + * + * prints the given individual to the given FILE *. + */ + +void print_individual ( individual *ind, FILE *f ) +{ + int j; + + for ( j = 0; j < tree_count; ++j ) + { + fprintf ( f, " %s: ", tree_map[j].name ); + print_tree ( ind->tr[j].data, f ); + } +} + +/* pretty_print_individual() + * + * pretty-prints the individual to the given FILE *. shows expression + * structure via indentation. + */ + +void pretty_print_individual ( individual *ind, FILE *f ) +{ + int j; + + for ( j = 0; j < tree_count; ++j ) + { + fprintf ( f, "%s:", tree_map[j].name ); + pretty_print_tree ( ind->tr[j].data, f ); + } +} + +/* individual_size() + * + * returns the total number of nodes in an individual. + */ + +int individual_size ( individual *ind ) +{ + int j, k = 0; + + for ( j = 0; j < tree_count; ++j ) + k += ind->tr[j].nodes; + + return k; +} + +/* individual_depth() + * + * returns the depth of an individual (maximum of the depths + * of its trees). + */ + +int individual_depth ( individual *ind ) +{ + int i, j, k = 0; + + for ( j = 0; j < tree_count; ++j ) + { + if ( ( i = tree_depth ( ind->tr[j].data ) ) > k ) + k = i; + } + return k; +} + +/* duplicate_individual() + * + * duplicates an individual. + */ + +void duplicate_individual ( individual *to, individual *from ) +{ + int j; + for ( j = 0; j < tree_count; ++j ) + copy_tree ( to->tr+j, from->tr+j ); + to->r_fitness = from->r_fitness; + to->s_fitness = from->s_fitness; + to->a_fitness = from->a_fitness; + to->hits = from->hits; + to->evald = from->evald; + to->flags = from->flags; +} + diff --git a/lib/lilgp/kernel_mod/lilgp.h b/lib/lilgp/kernel_mod/lilgp.h new file mode 100644 index 0000000..4228d95 --- /dev/null +++ b/lib/lilgp/kernel_mod/lilgp.h @@ -0,0 +1,57 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _LILGP_H +#define _LILGP_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifdef USEVFORK +#include +#endif + +#include "appdef.h" + +#include "event.h" + +#include "defines.h" +#include "types.h" + +#include "protoapp.h" +#include "function.h" +#include "app.h" +#include "protos.h" + +#endif diff --git a/lib/lilgp/kernel_mod/main.c b/lib/lilgp/kernel_mod/main.c new file mode 100644 index 0000000..5cc59f2 --- /dev/null +++ b/lib/lilgp/kernel_mod/main.c @@ -0,0 +1,896 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include +#include + +#ifdef MEMORY_LOG +FILE *mlog; +#endif + +/* do we dup OUT_SYS to stdout? */ +int quietmode = 0; + +/* tree generation spaces. */ +genspace gensp[GENSPACE_COUNT]; + +/* internal copy of function set(s). */ +function_set *fset; +int fset_count; + +/* information about each tree--which function set it uses, + its name, size limits, etc. */ +treeinfo *tree_map; +int tree_count; + +/* maximum number of nodes per individual. -1 if no limit is + enforced. */ +int ind_nodelimit; + +/* random number generator state */ +randomgen globrand; + + +int main ( int argc, char **argv ) +{ + + multipop *mpop; + int startgen; + event start, end, diff; + event eval, breed; + int startfromcheckpoint; + +#ifdef MEMORY_LOG + /* dump all memory allocations to a file. */ + mlog = fopen ( "memory.log", "w" ); +#endif + + /* mark the start time, and zero the accumulators for evaluation + and breeding time. */ + event_init(); + event_mark ( &start ); + event_zero ( &eval ); + event_zero ( &breed ); + + if ( app_create_output_streams() ) + error ( E_FATAL_ERROR, "app_create_output_streams() failure." ); + initialize_output_streams(); + + /* print copyright message and such. */ + initial_message(); + + /* some initialization. */ + oprintf ( OUT_SYS, 30, "initialization:\n" ); + initialize_parameters(); + initialize_ephem_const(); + initialize_genspace(); + /* process the command line. if starting from a checkpoint file, this + function will load the population. */ + startfromcheckpoint = process_commandline ( argc, argv, &startgen, &mpop ); + + /* open the files associated with each stream. */ + open_output_streams(); + + /* make internal copies of function set(s), if it hasn't already been + done. */ + if ( !startfromcheckpoint ) + if ( app_build_function_sets() ) + error ( E_FATAL_ERROR, "app_build_function_sets() failure." ); + + /* read parameters limiting tree node count and/or depth. */ + read_tree_limits(); + + /* if not starting from a checkpoint, seed the random number generator. */ + if ( !startfromcheckpoint ) + initialize_random(); + +#if defined(POSIX_MT) || defined(SOLARIS_MT) + /* setup for multi-threading if applicable */ + initialize_threading(); +#endif + + if ( app_initialize ( startfromcheckpoint ) ) + error ( E_FATAL_ERROR, "app_initialize() failure." ); + + /* if not starting from a checkpoint, create a random population. */ + if ( !startfromcheckpoint ) + mpop = initial_multi_population(); + + /* build the breeding table and the subpop exchange table from + the parameter database. */ + initialize_topology ( mpop ); + initialize_breeding ( mpop ); + + /* do the GP. */ + run_gp ( mpop, startgen, &eval, &breed, startfromcheckpoint ); + + /* free app stuff. */ + app_uninitialize(); + + /* free lots of stuff. */ + free_breeding ( mpop ); + free_topology ( mpop ); + free_multi_population ( mpop ); + free_parameters(); + free_ephem_const(); + free_genspace(); + free_function_sets(); + + /* mark the finish time. */ + event_mark ( &end ); + event_diff ( &diff, &start, &end ); + + /* print memory/time statistics and close output files. */ + output_system_stats ( &diff, &eval, &breed ); + close_output_streams(); + +#ifdef MEMORY_LOG + fclose ( mlog ); +#endif + + /* destroy global random structure */ + random_destroy(&globrand); + + /* all done. */ + return 0; +} + +/* function_sets_init() + * + * this function is called from user code and passed the function sets + * and tree maps and names. it makes internal copies and does some + * validation. + */ + +int function_sets_init ( function_set *user_fset, int user_fcount, + user_treeinfo *user_tree_map, int user_tcount ) +{ + int i, j, k, m, n, p; + int x; + int errors = 0; + function *cur; + + /* Strongly Typed... */ + + int pos[NUMTYPES]; /* Current position to place a function/terminal in the cset by type */ + + /* allocate internal copies. */ + fset = (function_set *)MALLOC ( user_fcount * sizeof ( function_set ) ); + tree_map = (treeinfo *)MALLOC ( user_tcount * sizeof ( treeinfo ) ); + fset_count = user_fcount; + tree_count = user_tcount; + + oprintf ( OUT_SYS, 30, "updating function set(s):\n" ); + + /* Updates the function set based on input file */ + for ( i = 0; i < fset_count; ++i ) + { + oprintf ( OUT_SYS, 30, " set %d:", i ); + fset_update ( &user_fset[i] ); + } + + oprintf ( OUT_SYS, 30, "building function set(s):\n" ); + + /* for each set of functions... */ + for ( i = 0; i < fset_count; ++i ) + { + /* Initialize counts */ + for (x=0;xcode = user_fset[i].cset[j].code; + cur->ephem_gen = user_fset[i].cset[j].ephem_gen; + cur->ephem_str = user_fset[i].cset[j].ephem_str; + cur->arity = user_fset[i].cset[j].arity; + cur->type = user_fset[i].cset[j].type; + cur->evaltree = user_fset[i].cset[j].evaltree; + + /* copy the name string. */ + n = strlen ( user_fset[i].cset[j].string ); + cur->string = (char *)MALLOC ( n+1 ); + for ( p = 0; p < n; ++p ) + { + if ( isspace(user_fset[i].cset[j].string[p]) || + user_fset[i].cset[j].string[p] == ':' || + user_fset[i].cset[j].string[p] == ')' || + user_fset[i].cset[j].string[p] == '(' || + user_fset[i].cset[j].string[p] == '[' || + user_fset[i].cset[j].string[p] == ']' ) + { + error ( E_WARNING, "illegal character(s) in function name changed to '_'." ); + cur->string[p] = '_'; + } + else + cur->string[p] = user_fset[i].cset[j].string[p]; + } + cur->string[n] = 0; + + /* fill in the index field with this function's position in the + set. */ + cur->index = k; + + /* the ERC-related fields should be NULL. */ + if ( cur->ephem_gen || cur->ephem_str ) + { + ++errors; + error ( E_ERROR, "function has non-NULL ephem_gen and/or ephem_str field(s)." ); + } + + /* do some type-specific checking. */ + switch ( cur->type ) + { + case FUNC_DATA: + case FUNC_EXPR: + if ( cur->code == NULL ) + { + ++errors; + error ( E_ERROR, "ordinary function has NULL code field." ); + } + if ( cur->arity < 1 ) + { + ++errors; + error ( E_ERROR, "ordinary function has arity of %d.", + cur->arity ); + } + if ( cur->evaltree != -1 ) + { + error ( E_WARNING, "ordinary function has evaltree field of %d; this will be ignored.", cur->evaltree ); + } + break; + case EVAL_DATA: + case EVAL_EXPR: + if ( cur->code != NULL ) + { + ++errors; + error ( E_ERROR, "eval function function has non-NULL code field." ); + } + if ( cur->arity != -1 ) + { + error ( E_WARNING, "eval function has arity field of %d; this will be ignored.", cur->arity ); + } + if ( cur->evaltree < 0 || + cur->evaltree >= tree_count ) + /* evaluation token refers to a tree that doesn't exist. */ + error ( E_FATAL_ERROR, "eval function refers to nonexistent tree (%d).", cur->evaltree ); + break; + default: + ++errors; + error ( E_ERROR, "unknown function type %d.", cur->type ); + } + /* strong typing...*/ + cur->return_type = user_fset[i].cset[j].return_type; + for (x=0;xarity;x++) + { + cur->argument_type[x]=user_fset[i].cset[j].argument_type[x]; + } + (fset[i].cset_by_type[cur->return_type]) + [pos[cur->return_type]++] = *cur; + + ++k; + } + else if ( user_fset[i].cset[j].type == TERM_NORM || + user_fset[i].cset[j].type == TERM_ERC || + user_fset[i].cset[j].type == TERM_ARG ) + { + /** terminals (all kinds). **/ + + /* "cur" is so much easier to type. :) */ + cur = &(fset[i].cset[k]); + + /* copy stuff. */ + cur->code = user_fset[i].cset[j].code; + cur->ephem_gen = user_fset[i].cset[j].ephem_gen; + cur->ephem_str = user_fset[i].cset[j].ephem_str; + cur->arity = user_fset[i].cset[j].arity; + cur->type = user_fset[i].cset[j].type; + cur->evaltree = user_fset[i].cset[j].evaltree; + + /* copy terminal name. */ + n = strlen ( user_fset[i].cset[j].string ); + cur->string = (char *)MALLOC ( n+1 ); + strcpy ( cur->string, user_fset[i].cset[j].string ); + cur->string[n] = 0; + + /* fill in the index field. */ + cur->index = k; + + if ( cur->arity != 0 ) + { + ++errors; + error ( E_ERROR, "terminal has nonzero arity." ); + } + + /* check for correctness of type-dependent fields. */ + switch ( cur->type ) + { + case TERM_NORM: + if ( cur->code == NULL ) + { + ++errors; + error ( E_ERROR, "normal terminal has NULL code field." ); + } + if ( cur->ephem_gen != NULL || cur->ephem_str != NULL ) + { + ++errors; + error ( E_ERROR, "normal terminal has non-NULL ephem_gen and/or ephem_str field(s)." ); + } + if ( cur->evaltree != -1 ) + { + error ( E_WARNING, "normal terminal has evaltree field of %d; this will be ignored." ); + } + break; + case TERM_ERC: + if ( cur->code != NULL ) + { + ++errors; + error ( E_ERROR, "ERC terminal has non-NULL code field." ); + } + if ( cur->ephem_gen == NULL || cur->ephem_str == NULL ) + { + ++errors; + error ( E_ERROR, "ERC terminal has NULL ephem_hen and/or ephem_str field(s)." ); + } + if ( cur->evaltree != -1 ) + { + error ( E_WARNING, "ERC terminal has evaltree field of %d; this will be ignored." ); + } + break; + case TERM_ARG: + ++fset[i].num_args; + if ( cur->code != NULL ) + { + ++errors; + error ( E_ERROR, "argument terminal has non-NULL code field." ); + } + if ( cur->ephem_gen != NULL || cur->ephem_str != NULL ) + { + ++errors; + error ( E_ERROR, "argument terminal has non-NULL ephem_hen and/or ephem_str field(s)." ); + } + if ( cur->evaltree < 0 ) + { + ++errors; + error ( E_ERROR, "argument terminal should have nonnegative evaltree field." ); + } + break; + } + + /* strong typing...*/ + cur->return_type = user_fset[i].cset[j].return_type; + (fset[i].cset_by_type[cur->return_type]) + [pos[cur->return_type]++] = *cur; + + ++k; + } + oputs ( OUT_SYS, 30, " " ); + oputs ( OUT_SYS, 30, fset[i].cset[k-1].string ); + } + fset[i].size = k; + oputs ( OUT_SYS, 30, "\n" ); + } + + + /* if there were any errors, stop now. */ + if ( errors ) + { + error ( E_FATAL_ERROR, "error(s) occurred while processing function set(s)." ); + } + + /* build the internal tree map. */ + for ( i = 0; i < tree_count; ++i ) + { + /* the function set used for this tree. */ + tree_map[i].fset = user_tree_map[i].fset; + if ( tree_map[i].fset < 0 || tree_map[i].fset >= fset_count ) + error ( E_FATAL_ERROR, "tree %d uses a nonexistent function set.\n", i ); + tree_map[i].return_type = user_tree_map[i].return_type; + if ( tree_map[i].return_type < 0 || tree_map[i].return_type >= NUMTYPES) + error ( E_FATAL_ERROR, "tree %d uses an invalid return type: %d.\n", i, + tree_map[i].return_type); + + oprintf ( OUT_SYS, 30, " tree %d uses function set %d.\n", i, tree_map[i].fset ); + + /* these will be filled in by read_tree_limits(). */ + tree_map[i].nodelimit = -1; + tree_map[i].depthlimit = -1; + + /* copy the tree name. */ + j = strlen ( user_tree_map[i].name ); + tree_map[i].name = (char *)MALLOC ( (j+1) * sizeof ( char ) ); + strcpy ( tree_map[i].name, user_tree_map[i].name ); + } + + /* now some more processing on each function set. */ + for ( i = 0; i < fset_count; ++i ) + { + fset[i].function_count = 0; + fset[i].terminal_count = 0; + for ( j = 0; j < fset[i].size; ++j ) + { + if ( fset[i].cset[j].arity == -1 ) + { + /* change the arity of evaluation tokens from -1 + to the number of argument tokens in the called tree. */ + fset[i].cset[j].arity = fset[tree_map[fset[i].cset[j].evaltree].fset].num_args; + if ( fset[i].cset[j].arity == 0 ) + /* if there are no argument tokens in the tree, + mark this as a terminal. */ + fset[i].cset[j].type = EVAL_TERM; + } + + /* update count of functions and terminals. */ + if ( fset[i].cset[j].arity ) + ++fset[i].function_count; + else + ++fset[i].terminal_count; + } + + /* now sort the function set so that all the functions + come first. */ + qsort ( fset[i].cset, fset[i].size, sizeof ( function ), + function_compare ); + for (x=0;xarity); + ba = !!(((function *)b)->arity); + return ba-aa; +} + +/* free_function_sets() + * + * free up internal copies of function sets and tree maps. + */ + +void free_function_sets ( void ) +{ + int i, j; + + for ( i = 0; i < fset_count; ++i ) + { + for ( j = 0; j < fset[i].function_count + fset[i].terminal_count; ++j ) + FREE ( fset[i].cset[j].string ); + FREE ( fset[i].cset ); + /* Strong Typing */ + for (j = 0; j < NUMTYPES ; ++j ) + { + FREE(fset[i].cset_by_type[j]); + } + } + FREE ( fset ); + + for ( i = 0; i < tree_count; ++i ) + FREE ( tree_map[i].name ); + FREE ( tree_map ); + + fset = NULL; + tree_map = NULL; +} + +/* read_tree_limits() + * + * read limits on tree node count and/or depth from the parameter + * database and fill in the appropriate fields of the tree_map + * array. + */ + +void read_tree_limits ( void ) +{ + int i, j; + char pnamebuf[100]; + char *param; + + for ( i = 0; i < tree_count; ++i ) + { + /* read the node limit for this tree. */ + sprintf ( pnamebuf, "tree[%d].max_nodes", i ); + param = get_parameter ( pnamebuf ); + if ( param == NULL ) + tree_map[i].nodelimit = -1; + else + tree_map[i].nodelimit = atoi ( param ); + + /* read the depth limit for this tree. */ + sprintf ( pnamebuf, "tree[%d].max_depth", i ); + param = get_parameter ( pnamebuf ); + if ( param == NULL ) + tree_map[i].depthlimit = -1; + else + tree_map[i].depthlimit = atoi ( param ); + } + + /* read the node limit for the whole individual. */ + param = get_parameter ( "max_nodes" ); + if ( param == NULL ) + ind_nodelimit = -1; + else + ind_nodelimit = atoi ( param ); + + /* read the depth limit for the whole individual. note that + this is implemented just as a cap on the maximum depth of + any single tree in the individual. */ + param = get_parameter ( "max_depth" ); + if ( param ) + { + j = atoi ( param ); + if ( j >= 0 ) + for ( i = 0; i < tree_count; ++i ) + if ( tree_map[i].depthlimit < 0 || + tree_map[i].depthlimit > j ) + tree_map[i].depthlimit = j; + } +} + +/* initialize_random() + * + * initialize the random number generator. + */ + +void initialize_random ( void ) +{ + char *param; + char seedstr[30]; + int seed; + + /* look for a seed parameter. */ + param = get_parameter ( "random_seed" ); + if ( param == NULL ) + { + sprintf(seedstr, "%d", 1); + + /* if it's not found... */ +#ifdef RANDOMSEEDTIME + /* ...use the current time. */ + seed = time(NULL); + sprintf(seedstr, "%ld", seed); + add_parameter ( "random_seed", seedstr, PARAM_COPY_VALUE); +#else + /* ...use 1. */ + seed = 1; + add_parameter ( "random_seed", seedstr, PARAM_COPY_NONE); +#endif + /* print out what we're using. */ + oprintf ( OUT_SYS, 20, + " no random number seed specfied; using %d.\n", + seed ); + } + else + { + /* the parameter was found; use it. */ + seed = atoi ( param ); + oprintf ( OUT_SYS, 20, + " seeding random number generator with %d.\n", + seed ); + } + random_seed ( &globrand, seed ); +} + +/* pre_parameter_defaults() + * + * used to place values into the parameter database before any application + * code is called or any command line options are processed. + */ + +void pre_parameter_defaults ( void ) +{ + add_parameter ( "output.basename", "lilgp", PARAM_COPY_NONE ); + add_parameter ( "output.stt_interval", "1", PARAM_COPY_NONE ); + add_parameter ( "output.detail", "50", PARAM_COPY_NONE ); + add_parameter ( "output.bestn", "1", PARAM_COPY_NONE ); + add_parameter ( "output.digits", "4", PARAM_COPY_NONE ); + + add_parameter ( "init.method", "half_and_half", + PARAM_COPY_NONE ); + add_parameter ( "init.depth", "2-6", PARAM_COPY_NONE ); + add_parameter ( "init.random_attempts", "100", PARAM_COPY_NONE ); + + add_parameter ( "checkpoint.filename", "gp%06d.ckp", + PARAM_COPY_NONE ); + + /* default problem uses a single population. */ + add_parameter ( "multiple.subpops", "1", PARAM_COPY_NONE ); +} + +/* post_parameter_defaults() + * + * add/change values in the parameter database after all command line options + * are parsed. can be used to set defaults based on values of other + * parameters. + */ + +void post_parameter_defaults ( void ) +{ + binary_parameter ( "probabilistic_operators", 1 ); +} + +/* process_commandline() + * + * parses the command line. + */ + +int process_commandline ( int argc, char **argv, int *gen, + multipop **mpop ) +{ + int i; + int errorflag = 0; + int startfromcheckpoint = 0; + + *mpop = NULL; + *gen = 0; + + /* if there are no arguments, print out a brief statement of usage + and exit. */ + if ( argc < 2 ) + { + fprintf ( stderr, "usage: %s options\nValid options are:\n", argv[0] ); + fprintf ( stderr, " [-f parameterfile] read named parameter file\n" ); + fprintf ( stderr, " [-c checkpointfile] restart from name checkpoint file\n" ); + fprintf ( stderr, " [-p name=value] set parameter name to value\n" ); + fprintf ( stderr, " [-q] run in quiet mode\n" ); + fprintf ( stderr, " [-d symbol] define symbol\n" ); + fprintf ( stderr, " [-u symbol] undefine symbol\n" ); + exit(1); + } + + /* load hardcoded defaults into database. */ + pre_parameter_defaults(); + + for ( i = 1; i < argc; ++i ) + { + /* all options begin with '-' and have two characters, + except "-d" and "-u" which may have more. */ + if ( argv[i][0] != '-' || ( argv[i][1] != 'd' && argv[i][1] != 'u' && argv[i][2] != 0 ) ) + { + error ( E_ERROR, "unrecognized command line option: \"%s\".", + argv[i] ); + errorflag = 1; + continue; + } + + switch ( argv[i][1] ) + { + case 'f': + /* load a parameter file, named in the next argument. */ + read_parameter_file ( argv[++i] ); + break; + case 'p': + /* parse a single parameter, in the next argument. */ + if ( parse_one_parameter ( argv[++i] ) ) + { + errorflag = 1; + error ( E_ERROR, "malformed parameter: \"%s\".", argv[i] ); + } + break; + case 'c': + /* load a checkpoint file, named in the next argument. */ + if ( startfromcheckpoint ) + { + /* error if a checkpoint has already been loaded. */ + error ( E_ERROR, "can't load multiple checkpoint files." ); + errorflag = 1; + continue; + } + read_checkpoint ( argv[++i], gen, mpop ); + startfromcheckpoint = 1; + break; + case 'q': + /* turn on quiet mode (don't dup OUT_SYS to stdout). */ + quietmode = 1; + break; + case 'd': + /* define a symbol. */ + if ( argv[i][2] ) + /* of the form "-dsymbol". */ + define_directive ( argv[i]+2 ); + else + /* of the form "-d symbol". */ + define_directive ( argv[++i] ); + break; + case 'u': + /* undefine a symbol. */ + if ( argv[i][2] ) + /* of the form "-usymbol". */ + undefine_directive ( argv[i]+2 ); + else + /* of the form "-u symbol". */ + undefine_directive ( argv[++i] ); + break; + default: + error ( E_ERROR, "unrecognized command line option: \"%s\".", + argv[i] ); + errorflag = 1; + break; + } + } + + if ( errorflag ) + error ( E_FATAL_ERROR, "command line errors occurred. dying." ); + + if ( !startfromcheckpoint ) + post_parameter_defaults(); + + return startfromcheckpoint; + +} + +/* output_system_stats() + * + * print statistics about memory use, execution time, etc. to OUT_SYS + * at conclusion of run. + */ + +void output_system_stats ( event *t_total, event *t_eval, event *t_breed ) +{ + int total, free, max, mallocc, reallocc, freec; + int ercused, ercfree, ercblocks, ercalloc; + int i; + + get_ephem_stats ( &ercused, &ercfree, &ercblocks, &ercalloc ); + + oprintf ( OUT_SYS, 30, "\nSYSTEM STATISTICS\n" ); + +#ifdef TRACK_MEMORY + /* if memory tracking available, then get and print the numbers. */ + get_memory_stats ( &total, &free, &max, &mallocc, &reallocc, &freec ); + oprintf ( OUT_SYS, 30, "\n------- memory -------\n" ); + oprintf ( OUT_SYS, 30, " allocated: %d\n", total ); + oprintf ( OUT_SYS, 30, " freed: %d\n", free ); + oprintf ( OUT_SYS, 30, " not freed: %d\n", total-free ); + oprintf ( OUT_SYS, 30, " max allocated: %d\n", max ); + oprintf ( OUT_SYS, 30, " malloc'ed blocks: %d\n", mallocc ); + oprintf ( OUT_SYS, 30, " realloc'ed blocks: %d\n", reallocc ); + oprintf ( OUT_SYS, 30, " free'ed blocks: %d\n", freec ); +#endif + +#ifdef TIMING_AVAILABLE + /* if timing is available, the get and print the numbers. */ + oprintf ( OUT_SYS, 30, "\n------- time -------\n" ); + oprintf ( OUT_SYS, 30, " overall: %s\n", + event_string ( t_total ) ); + oprintf ( OUT_SYS, 30, " evaluation: %s\n", + event_string ( t_eval ) ); + oprintf ( OUT_SYS, 30, " breeding: %s\n", + event_string ( t_breed ) ); +#endif + + /* show how large the generation spaces grew. */ + oprintf ( OUT_SYS, 30, "\n------- generation spaces -------\n" ); + for ( i = 0; i < GENSPACE_COUNT; ++i ) + oprintf ( OUT_SYS, 30, " space %3d size: %d\n", + i, gensp[i].size ); + + /* if any ERCs were used, then show these stats. */ + if ( ercused > 0 ) + { + oprintf ( OUT_SYS, 30, "\n------- ephemeral random constants -------\n" ); + oprintf ( OUT_SYS, 30, " used: %d\n", ercused ); + oprintf ( OUT_SYS, 30, " freed: %d\n", ercfree ); + oprintf ( OUT_SYS, 30, " allocated: %d\n", ercalloc ); + oprintf ( OUT_SYS, 30, " blocks: %d\n", ercblocks ); + } +} + +/* initial_message() + * + * show startup and copyright messages. + */ + +void initial_message ( void ) +{ + oputs ( OUT_SYS, 0, + "\n[ lil-gp Genetic Programming System.\n" ); + oputs ( OUT_SYS, 0, + "[ Portions copyright (c) 1995 Michigan State University. All rights reserved.\n" ); + oputs ( OUT_SYS, 0, + "[ kernel version 1.0; 11 July 1995.\n\n\n" ); + +} diff --git a/lib/lilgp/kernel_mod/memory.c b/lib/lilgp/kernel_mod/memory.c new file mode 100644 index 0000000..93dc7ff --- /dev/null +++ b/lib/lilgp/kernel_mod/memory.c @@ -0,0 +1,151 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +#ifdef MEMORY_LOG +extern FILE *mlog; +#endif + +static int totalalloc = 0; +static int maxalloc = 0; +static int freealloc = 0; +static int curalloc = 0; +static int malloccalls = 0; +static int freecalls = 0; +static int realloccalls = 0; + +/* get_memory_stats() + * + * returns the memory statistics stored in static global + * variables. + */ + +void get_memory_stats ( int *total, int *free, int *max, + int *mallocc, int *reallocc, int *freec ) +{ + *total = totalalloc; + *free = freealloc; + *max = maxalloc; + *mallocc = malloccalls; + *reallocc = realloccalls; + *freec = freecalls; +} + +/* track_malloc() + * + * like malloc(), but tracks memory block size. + */ + +void *track_malloc ( int size ) +{ + unsigned char *p; + + if ( size == 0 ) + return NULL; + + p = (unsigned char *)malloc ( size+EXTRAMEM ); + if ( p == NULL ) + return NULL; + ++malloccalls; + totalalloc += size; + curalloc += size; + if ( curalloc > maxalloc ) + maxalloc = curalloc; + *(int *)p = size; +#ifdef MEMORY_LOG + fprintf ( mlog, "MALLOC %d %08x\n", size, (void *)(p+EXTRAMEM) ); + fflush ( mlog ); +#endif + return (void *)(p+EXTRAMEM); +} + +/* track_free() + * + * like free(), but tracks memory block size. use with pointers + * returned by track_malloc(). + */ + +void track_free ( void *p ) +{ + int size; + + if ( p == NULL ) + return; + +#ifdef MEMORY_LOG + fprintf ( mlog, "FREE %08x\n", p ); + fflush ( mlog ); +#endif + + size = *(int *)((unsigned char *)p-EXTRAMEM); + + ++freecalls; + curalloc -= size; + freealloc += size; + + free ( (unsigned char *)p-EXTRAMEM ); +} + +/* *track_realloc() + * + * like realloc(), but tracks memory block size. use with pointers + * returned by track_malloc(). + */ + +void *track_realloc ( void *p, int newsize ) +{ + int size, change; + + if ( p == NULL ) + return MALLOC ( newsize ); + + size = *(int *)((unsigned char *)p-EXTRAMEM); + + change = newsize-size; + curalloc += change; + if ( curalloc > maxalloc ) + maxalloc = curalloc; + if ( change > 0 ) + totalalloc += change; + else + freealloc -= change; + ++realloccalls; + +#ifdef MEMORY_LOG + fprintf ( mlog, "REALLOC %08x", p ); +#endif + p = realloc ( (unsigned char *)p-EXTRAMEM, newsize+EXTRAMEM ); + *(int *)p = newsize; +#ifdef MEMORY_LOG + fprintf ( mlog, " %d %08x\n", newsize, (void *)((unsigned char *)p+EXTRAMEM) ); + fflush ( mlog ); +#endif + return (void *)((unsigned char *)p+EXTRAMEM); +} + + diff --git a/lib/lilgp/kernel_mod/mutate.c b/lib/lilgp/kernel_mod/mutate.c new file mode 100644 index 0000000..296d5e3 --- /dev/null +++ b/lib/lilgp/kernel_mod/mutate.c @@ -0,0 +1,532 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + + +#include + +typedef struct +{ + int keep_trying; + int num_times; /* Number of times we should keep trying. If 0, infinity. --Sean */ + double internal; + double external; + double *tree; + double treetotal; + char *sname; + sel_context *sc; + int method; + int mindepth, maxdepth; +} mutate_data; + + + +/* operator_mutate_init() + * + * initialize a breedphase record for mutation. much of this is cut and + * paste from the crossover operator; see that for (a few) more comments. + */ + +int operator_mutate_init ( char *options, breedphase *bp ) +{ + int errors = 0; + mutate_data *md; + int i, j, k, m; + double r; + char **argv, **targv; + int internalset = 0, externalset = 0; + char *cp; + + md = (mutate_data *)MALLOC ( sizeof ( mutate_data ) ); + + /* fill in the breedphase record. */ + bp->operator = OPERATOR_MUTATE; + bp->data = (void *)md; + bp->operator_free = operator_mutate_free; + bp->operator_start = operator_mutate_start; + bp->operator_end = operator_mutate_end; + bp->operator_operate = operator_mutate; + + /* default values for the mutation-specific data structure. */ + md->keep_trying = 0; + md->internal = 0.9; + md->external = 0.1; + md->tree = (double *)MALLOC ( tree_count * sizeof ( double ) ); + for ( j = 0; j < tree_count; ++j ) + md->tree[j] = 0.0; + md->treetotal = 0.0; + md->sname = NULL; + md->method = GENERATE_HALF_AND_HALF; + md->mindepth = -1; + md->maxdepth = -1; + + j = parse_o_rama ( options, &argv ); + + for ( i = 0; i < j; ++i ) + { + if ( strcmp ( "keep_trying", argv[i] ) == 0 ) + { + md->keep_trying = translate_binary ( argv[++i] ); + if ( md->keep_trying == -1 ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a valid setting for \"keep_trying\".", + argv[i] ); + } + } + /* parse number of times to try */ + else if (strcmp ("num_times", argv[i]) == 0) + { + md->num_times = translate_binary(argv[++i]); + if (md->num_times < 0 ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a valid setting for \"num_times\".", + argv[i] ); + } + } + else if ( strcmp ( "internal", argv[i] ) == 0 ) + { + internalset = 1; + md->internal = strtod ( argv[++i], NULL ); + if ( md->internal < 0.0 ) + { + ++errors; + error ( E_ERROR, "mutation: \"internal\" must be nonnegative." ); + } + } + else if ( strcmp ( "external", argv[i] ) == 0 ) + { + externalset = 1; + md->external = strtod ( argv[++i], NULL ); + if ( md->external < 0.0 ) + { + ++errors; + error ( E_ERROR, "mutation: \"external\" must be nonnegative." ); + } + } + else if ( strcmp ( "select", argv[i] ) == 0 ) + { + if ( !exists_select_method ( argv[++i] ) ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a known selection method.", + argv[i] ); + } + FREE ( md->sname ); + md->sname = (char *)MALLOC ( (strlen(argv[i])+1) * sizeof ( char ) ); + strcpy ( md->sname, argv[i] ); + } + else if ( strcmp ( "method", argv[i] ) == 0 ) + { + ++i; + if ( strcmp ( argv[i], "half_and_half" ) == 0 ) + md->method = GENERATE_HALF_AND_HALF; + else if ( strcmp ( argv[i], "grow" ) == 0 ) + md->method = GENERATE_GROW; + else if ( strcmp ( argv[i], "full" ) == 0 ) + md->method = GENERATE_FULL; + else + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a known generation method.", + argv[i] ); + } + } + else if ( strcmp ( "depth", argv[i] ) == 0 ) + { + md->mindepth = strtol ( argv[++i], &cp, 10 ); + if ( *cp == 0 ) + md->maxdepth = md->mindepth; + else if ( *cp == '-' ) + { + md->maxdepth = strtol ( cp+1, &cp, 10 ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "mutation: malformed depth string \"%s\".", + argv[i] ); + } + } + else + { + ++errors; + error ( E_ERROR, "mutation: malformed depth string \"%s\".", + argv[i] ); + } + } + else if ( strcmp ( "tree", argv[i] ) == 0 ) + { + k = parse_o_rama ( argv[++i], &targv ); + if ( k != tree_count ) + { + ++errors; + error ( E_ERROR, "mutation: wrong number of tree fields: \"%s\".", + argv[i] ); + } + else + { + for ( m = 0; m < k; ++m ) + { + md->tree[m] = strtod ( targv[m], &cp ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a number.", + targv[m] ); + } + } + } + + free_o_rama ( k, &targv ); + } + else if ( strncmp ( "tree", argv[i], 4 ) == 0 ) + { + k = strtol ( argv[i]+4, &cp, 10 ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "mutation: unknown option \"%s\".", + argv[i] ); + } + if ( k < 0 || k >= tree_count ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is out of range.", + argv[i] ); + } + else + { + md->tree[k] = strtod ( argv[++i], &cp ); + if ( *cp ) + { + ++errors; + error ( E_ERROR, "mutation: \"%s\" is not a number.", + argv[i] ); + } + } + } + else + { + ++errors; + error ( E_ERROR, "mutation: unknown option \"%s\".", + argv[i] ); + } + } + + free_o_rama ( j, &argv ); + + if ( internalset && !externalset ) + md->external = 0.0; + else if ( !internalset && externalset ) + md->internal = 0.0; + + if ( md->sname == NULL ) + { + ++errors; + error ( E_ERROR, "mutation: no selection method specified." ); + } + + if ( md->mindepth == -1 && md->maxdepth == -1 ) + { + md->mindepth = 0; + md->maxdepth = 4; + } + + if ( md->mindepth < 0 || md->maxdepth < 0 || + md->maxdepth < md->mindepth ) + { + ++errors; + error ( E_ERROR, "mutation: bad depth range.\n" ); + } + + for ( j = 0; j < tree_count; ++j ) + md->treetotal += md->tree[j]; + if ( md->treetotal == 0.0 ) + { + for ( j = 0; j < tree_count; ++j ) + md->tree[j] = 1.0; + md->treetotal = tree_count; + } + + r = 0.0; + for ( j = 0; j < tree_count; ++j ) + r = (md->tree[j] += r); + +#ifdef DEBUG + if ( !errors ) + { + printf ( "mutation options:\n" ); + printf ( " internal: %lf external: %lf\n", md->internal, md->external ); + printf ( " keep_trying: %d\n", md->keep_trying ); + printf ( " selection: %s\n", md->sname==NULL?"NULL":md->sname ); + printf ( " method: %d mindepth: %d maxdepth: %d\n", + md->method, md->mindepth, md->maxdepth ); + printf ( " tree total: %lf\n", md->treetotal ); + for ( j = 0; j < tree_count; ++j ) + printf ( " tree %d: %lf\n", j, md->tree[j] ); + } +#endif + + return errors; +} + +/* operator_mutate_free() + * + * free mutation stuff. + */ + +void operator_mutate_free ( void *data ) +{ + mutate_data * md; + + md = (mutate_data *)data; + FREE ( md->sname ); + FREE ( md->tree ); + FREE ( md ); +} + +/* operator_mutate_start() + * + * get selection context for mutation operator. + */ + +void operator_mutate_start ( population *oldpop, void *data ) +{ + mutate_data * md; + select_context_func_ptr select_con; + + md = (mutate_data *)data; + select_con = get_select_context ( md->sname ); + md->sc = select_con ( SELECT_INIT, NULL, oldpop, md->sname ); +} + +/* operator_mutate_end() + * + * free selection context for mutation operator. + */ + +void operator_mutate_end ( void *data ) +{ + mutate_data * md; + + md = (mutate_data *)data; + md->sc->context_method ( SELECT_CLEAN, md->sc, NULL, NULL ); +} + + +/* operator_mutate() + * + * do the mutation. + */ + +void operator_mutate ( population *oldpop, population *newpop, + void *data ) +{ + int i; + int ps; + lnode *replace[2]; + int l, ns; + int badtree; + int repcount; + mutate_data * md; + int t; + double r; + int depth; + int totalnodes; + int p; + int forceany; + double total; + int count=0; + + md = (mutate_data *)data; + total = md->internal + md->external; + + /* choose a tree to mutate. */ + r = random_double(&globrand) * md->treetotal; + for ( t = 0; r >= md->tree[t]; ++t ); + + /* select an individual to mutate. */ + p = md->sc->select_method ( md->sc ); + ps = tree_nodes ( oldpop->ind[p].tr[t].data ); + forceany = (ps==1||total==0.0); + +#ifdef DEBUG_MUTATE + fprintf ( stderr, "the parent size is %d\n", ps ); + fprintf ( stderr, " parent %4d: ", p ); + print_tree ( oldpop->ind[p].tr[t].data, stderr ); +#endif + + while(1) + { + count++; + + if ( forceany ) + { + /* choose any point. */ + l = random_int ( &globrand, ps ); + replace[0] = get_subtree ( oldpop->ind[p].tr[t].data, l ); + } + else if ( total*random_double(&globrand) < md->internal ) + { + /* choose an internal point. */ + l = random_int ( &globrand, tree_nodes_internal ( oldpop->ind[p].tr[t].data ) ); + replace[0] = get_subtree_internal ( oldpop->ind[p].tr[t].data, l ); + } + else + { + /* choose an external point. */ + l = random_int ( &globrand, tree_nodes_external ( oldpop->ind[p].tr[t].data ) ); + replace[0] = get_subtree_external ( oldpop->ind[p].tr[t].data, l ); + } + +#ifdef DEBUG_MUTATE + fprintf ( stderr, "selected for replacement: " ); + print_tree ( replace[0], stderr ); +#endif + + gensp_reset ( 1 ); + /* pick a value from the depth ramp. */ + depth = md->mindepth + random_int ( &globrand, md->maxdepth - md->mindepth + 1 ); + /* grow the tree. */ + switch ( md->method ) + { + case GENERATE_GROW: + /* Look up the return type of the parent */ + generate_random_grow_tree ( 1, depth, fset+tree_map[t].fset, + replace[0]->f->return_type); + break; + case GENERATE_FULL: + generate_random_full_tree ( 1, depth, fset+tree_map[t].fset, + replace[0]->f->return_type); + break; + case GENERATE_HALF_AND_HALF: + if ( random_double(&globrand) < 0.5 ) + generate_random_grow_tree ( 1, depth, fset+tree_map[t].fset, + replace[0]->f->return_type); + else + generate_random_full_tree ( 1, depth, fset+tree_map[t].fset , + replace[0]->f->return_type); + break; + } + +#ifdef DEBUG_MUTATE + fprintf ( stderr, "the new subtree is: " ); + print_tree ( gensp[1].data, stderr ); +#endif + + /* count the nodes in the new tree. */ + ns = ps - tree_nodes ( replace[0] ) + tree_nodes ( gensp[1].data ); + totalnodes = ns; + + /* check the mutated tree against node count and/or size limits. */ + badtree = 0; + if ( tree_map[t].nodelimit > -1 && ns > tree_map[t].nodelimit ) + badtree = 1; + else if ( tree_map[t].depthlimit > -1 ) + { + ns = tree_depth_to_subtree ( oldpop->ind[p].tr[t].data, + replace[0] ) + + tree_depth ( gensp[1].data ); + if ( ns > tree_map[t].depthlimit ) + badtree = 1; + } + + /* if tree is too big and keep_trying is set, then skip to the + stop and choose a new mutation point/mutant subtree. */ + if ( md->keep_trying && badtree && + (md->num_times==0 || + md->num_times > count) ) + continue; + + /* check mutated tree against whole-individual node limits. */ + if ( ind_nodelimit > -1 ) + { + for ( i = 0; i < tree_count; ++i ) + if ( i != t ) + totalnodes += oldpop->ind[p].tr[i].nodes; + badtree |= (totalnodes > ind_nodelimit); + } + + /* if tree is too big and keep_trying is set, then skip to the + stop and choose a new mutation point/mutant subtree. */ + if ( md->keep_trying && badtree && + (md->num_times==0 || + md->num_times > count)) + continue; + + if ( badtree ) + { +#ifdef DEBUG_MUTATE + fprintf ( stderr, + "new tree is too big; reproducing parent.\n" ); +#endif + /* tree too big but keep_trying not set, just reproduce + parent tree. */ + duplicate_individual ( (newpop->ind)+newpop->next, + (oldpop->ind)+p ); + } + else + { +#ifdef DEBUG_MUTATE + fprintf ( stderr, "new tree is permissible.\n" ); +#endif + /* copy the parent tree to the offspring position. */ + duplicate_individual ( (newpop->ind)+newpop->next, + (oldpop->ind)+p ); + /* free the tree selected for mutation. */ + free_tree ( newpop->ind[newpop->next].tr+t ); + + /* copy the selected tree, replacing the subtree at the + mutation point with the randomly generated tree. */ + replace[1] = gensp[1].data; + copy_tree_replace_many ( 0, oldpop->ind[p].tr[t].data, + replace, replace+1, 1, &repcount ); + if ( repcount != 1 ) + { + error ( E_FATAL_ERROR, + "botched mutation: this can't happen." ); + } + /* copy the tree to the new individual. */ + gensp_dup_tree ( 0, newpop->ind[newpop->next].tr+t ); + newpop->ind[newpop->next].evald = EVAL_CACHE_INVALID; + newpop->ind[newpop->next].flags = FLAG_NONE; + +#ifdef DEBUG_MUTATE + fprintf ( stderr, " the mutated individual is: " ); + print_individual ( newpop->ind+newpop->next, stderr ); +#endif + } + + ++newpop->next; + break; + } + +#ifdef DEBUG_MUTATE + printf ( "MUTATION COMPLETE.\n\n\n" ); +#endif +} + diff --git a/lib/lilgp/kernel_mod/output.c b/lib/lilgp/kernel_mod/output.c new file mode 100644 index 0000000..2b7cbfe --- /dev/null +++ b/lib/lilgp/kernel_mod/output.c @@ -0,0 +1,402 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +char buffer[MAXMESSAGELENGTH]; + +typedef struct +{ + int id; + char *ext; + int reset; + char *mode; + int autoflush; + + FILE *f; + int valid; + + char *buffer; +} output; + +output streams[MAXOUTPUTSTREAMS] = + { { OUT_SYS, ".sys", 0, "w", 1, NULL, 0 }, + { OUT_GEN, ".gen", 0, "w", 0, NULL, 0 }, + { OUT_PRG, ".prg", 0, "w", 0, NULL, 0 }, + { OUT_STT, ".stt", 0, "w", 0, NULL, 0 }, + { OUT_BST, ".bst", 1, "w", 0, NULL, 0 }, + { OUT_HIS, ".his", 0, "w", 0, NULL, 0 } }; + +int output_stream_count = SYSOUTPUTSTREAMS; +int toolate = 0; +char *global_basename = NULL; +int detail_level = DEFDETAILLEVEL; + +char error_type[3][20] = { "WARNING: ", "ERROR: ", "FATAL ERROR: " }; + +extern int quietmode; + +/* create_output_stream() + * + * make a new entry in the outputstream table. + */ + +int create_output_stream ( int id, char *ext, int reset, char *mode, + int autoflush ) +{ + int i; + + /* can't create a new stream if they've already been opened. */ + if ( toolate ) + return OUTPUT_TOOLATE; + + /* is the stream table full? */ + if ( output_stream_count >= MAXOUTPUTSTREAMS ) + return OUTPUT_TOOMANY; + + /* is the id or extension the same as an existing stream? */ + for ( i = 0; i < output_stream_count; ++i ) + { + if ( id == streams[i].id ) + return OUTPUT_DUP_ID; + if ( strcmp ( ext, streams[i].ext ) == 0 ) + return OUTPUT_DUP_EXT; + } + + /** save stuff in the table. **/ + + streams[output_stream_count].id = id; + streams[output_stream_count].ext = (char *)malloc ( strlen(ext)+1 ); + strcpy ( streams[output_stream_count].ext, ext ); + streams[output_stream_count].reset = reset; + streams[output_stream_count].mode = (char *)malloc ( strlen(mode)+1 ); + strcpy ( streams[output_stream_count].mode, mode ); + streams[output_stream_count].autoflush = autoflush; + + streams[output_stream_count].f = NULL; + streams[output_stream_count].valid = 0; + ++output_stream_count; + + return OUTPUT_OK; + +} + +/* initialize_output_streams() + * + * initialize the output streams. until they are opened, anything printed + * to one (via oputs() or oprintf()) is saved in memory. + */ + +void initialize_output_streams ( void ) +{ + int i; + + toolate = 1; + + for ( i = 0; i < output_stream_count; ++i ) + streams[i].buffer = NULL; + +} + +/* open_output_streams() + * + * open files associated with each output stream. dump anything buffered + * in memory to the file. + */ + +void open_output_streams ( void ) +{ + int i; + char *fn; + char *basename; + + basename = get_parameter ( "output.basename" ); + + fn = (char *)malloc ( strlen(basename)+50 ); + + for ( i = 0; i < output_stream_count; ++i ) + { + strcpy ( fn, basename ); + strcat ( fn, streams[i].ext ); + streams[i].f = fopen ( fn, streams[i].mode ); + if ( streams[i].f == NULL ) + { + error ( E_ERROR, "can't open output file \"%s\".", fn ); + } + else + { + streams[i].valid = 1; + if ( streams[i].buffer ) + fputs ( streams[i].buffer, streams[i].f ); + FREE ( streams[i].buffer ); + streams[i].buffer = NULL; + } + } + + global_basename = (char *)malloc ( strlen(basename)+1 ); + strcpy ( global_basename, basename ); + + set_detail_level ( atoi ( get_parameter ( "output.detail" ) ) ); +} + +/* oputs() + * + * prints a string to an output stream. + */ + +void oputs ( int streamid, int detail, char *string ) +{ + int i, j; + + if ( streamid == OUT_SYS && !quietmode ) + { + printf ( string ); + fflush ( stdout ); + } + + if ( detail_level < detail ) + return; + + for ( i = 0; i < output_stream_count; ++i ) + { + if ( streamid == streams[i].id ) + { + if ( streams[i].valid ) + { + fputs ( string, streams[i].f ); + if ( streams[i].autoflush ) + fflush ( streams[i].f ); + break; + } + else + { + if ( streams[i].buffer ) + { + j = strlen ( streams[i].buffer ) + + strlen ( string ) + 1; + streams[i].buffer = (char *)REALLOC ( streams[i].buffer, j ); + strcat ( streams[i].buffer, string ); + } + else + { + streams[i].buffer = (char *)MALLOC ( strlen ( string ) + 1 ); + strcpy ( streams[i].buffer, string ); + } + } + } + } +} + +/* oprintf() + * + * prints a formatted string to an output stream. + */ + +void oprintf ( int streamid, int detail, char *format, ... ) +{ + va_list ap; + + if ( detail_level < detail ) + return; + + va_start ( ap, format ); + vsprintf ( buffer, format, ap ); + va_end ( ap ); + + oputs ( streamid, detail, buffer ); +} + +/* output_filehandle() + * + * returns the filehandle associated with a given stream. + */ + +FILE *output_filehandle ( int streamid ) +{ + int i; + for ( i = 0; i < output_stream_count; ++i ) + if ( streamid == streams[i].id ) + if ( streams[i].valid ) + return ( streams[i].f ); + return NULL; +} + +/* output_stream_close() + * + * closes an output stream, if it has been marked as resettable. + */ + +void output_stream_close ( int streamid ) +{ + int i; + for ( i = 0; i < output_stream_count; ++i ) + if ( streamid == streams[i].id ) + if ( streams[i].reset ) + if ( streams[i].valid ) + { + fclose ( streams[i].f ); + streams[i].valid = 0; + break; + } +} + +/* output_stream_open() + * + * reopens a resettable output stream. + */ + +void output_stream_open ( int streamid ) +{ + char *fn; + int i; + + for ( i = 0; i < output_stream_count; ++i ) + if ( streamid == streams[i].id ) + if ( streams[i].reset ) + if ( !streams[i].valid ) + { + fn = (char *)malloc ( strlen(global_basename)+50 ); + + strcpy ( fn, global_basename ); + strcat ( fn, streams[i].ext ); + streams[i].f = fopen ( fn, streams[i].mode ); + if ( streams[i].f == NULL ) + { + /* an error. */ + } + else + streams[i].valid = 1; + } +} + +/* output_stream_flush() + * + * flushes all the resettable output streams. + */ + +void output_stream_flush ( int streamid ) +{ + int i; + + for ( i = 0; i < output_stream_count; ++i ) + if ( streamid == streams[i].id ) + if ( streams[i].reset ) + if ( streams[i].valid ) + fflush ( streams[i].f ); +} + +/* close_output_streams() + * + * closes all the output streams. + */ + +void close_output_streams ( void ) +{ + int i; + + for ( i = 0; i < output_stream_count; ++i ) + { + if ( streams[i].valid ) + { + fclose ( streams[i].f ); + streams[i].valid = 0; + } + } + + for ( i = SYSOUTPUTSTREAMS; i < MAXOUTPUTSTREAMS; ++i ) + { + free ( streams[i].ext ); + free ( streams[i].mode ); + } + + free ( global_basename ); +} + +/* flush_output_streams() + * + * flushes all the output streams. + */ + +void flush_output_streams ( void ) +{ + int i; + for ( i = 0; i < output_stream_count; ++i ) + if ( streams[i].valid ) + fflush ( streams[i].f ); +} + +/* error() + * + * prints an error message to the system output stream, with a given + * level of severity. If the error is fatal, then the error is also + * printed to stderr and the program exits with status 1. + */ + +void error ( int severity, char *format, ... ) +{ + va_list ap; + + va_start ( ap, format ); + vsprintf ( buffer, format, ap ); + va_end ( ap ); + strcat ( buffer, "\n" ); + + oputs ( OUT_SYS, 0, error_type[severity] ); + oputs ( OUT_SYS, 0, buffer ); + + if ( severity == E_FATAL_ERROR ) + { + fprintf ( stderr, "exiting due to fatal error.\n" ); + exit(1); + } + +} + +/* set_detail_level() + * + * sets the detail level to a given value. + */ + +void set_detail_level ( int newlevel ) +{ + if ( newlevel >= MINDETAILLEVEL && + newlevel <= MAXDETAILLEVEL ) + detail_level = newlevel; +} + +/* test_detail_level() + * + * returns 1 if the argument is less than or equal to the current + * detail level. + */ + +int test_detail_level ( int detail ) +{ + if ( detail_level < detail ) + return 0; + return 1; +} diff --git a/lib/lilgp/kernel_mod/params.c b/lib/lilgp/kernel_mod/params.c new file mode 100644 index 0000000..70113d9 --- /dev/null +++ b/lib/lilgp/kernel_mod/params.c @@ -0,0 +1,751 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/** array of parameters, along with the size of the array and the number + of parameters used. **/ +parameter *param; +int param_size = 0, param_alloc = 0; + +/* read_parameter_file() + * + * reads and parses a parameter file. + */ + +void read_parameter_file ( char *filename ) +{ + FILE *f; + char buffer[MAXPARAMLINELENGTH+1]; + char *buf2; + int buf2size; + int line = 0; + int errors = 0; + int including = 1; + int flag; + int buflen, buf2len; + int cont; + + /** open it. **/ + f = fopen ( filename, "r" ); + if ( f == NULL ) + error ( E_FATAL_ERROR, "can't open parameter file \"%s\".", + filename ); + + /** lines are read into buffer. they are appended to buf2 until a + line which is not continued is hit, then buf2 is parsed and the + parameter added. **/ + + /* initial allocation of buf2. */ + buf2 = (char *)MALLOC ( MAXPARAMLINELENGTH * sizeof ( char ) ); + buf2size = MAXPARAMLINELENGTH; + buf2[0] = 0; + buf2len = 0; + cont = 0; + + while ( fgets ( buffer, MAXPARAMLINELENGTH, f ) != NULL ) + { + ++line; + + /* remove comments, skip line if it's blank after comment + removal. */ + if ( delete_comment ( buffer ) ) + continue; + + /** if this is a %ifdef, %ifndef, or %endif directive, then + set the including variable accordingly. **/ + if ( buffer[0] == '%' ) + { + flag = 0; + if ( strncmp ( buffer+1, "ifdef", 5 ) == 0 ) + including = test_directive ( buffer+6 ); + else if ( strncmp ( buffer+1, "ifndef", 6 ) == 0 ) + including = !test_directive ( buffer+7 ); + else if ( strncmp ( buffer+1, "endif", 5 ) == 0 ) + including = 1; + else + flag = 1; + + if ( !flag ) + continue; + } + + /* skip this line unless including is set. */ + if ( !including ) + continue; + + /** if this is a %define or %undefine directive, then process + it. **/ + if ( buffer[0] == '%' ) + { + if ( strncmp ( buffer+1, "define", 6 ) == 0 ) + define_directive ( buffer+7 ); + else if ( strncmp ( buffer+1, "undefine", 8 ) == 0 ) + undefine_directive ( buffer+9 ); + else + error ( E_ERROR, "%s line %d: unknown directive.", + filename, line ); + continue; + } + + /* is this line continued? (is the last nonwhitespace character + a backslash?) */ + cont = check_continuation ( buffer ); + + /** make buf2 bigger if necessary. **/ + buflen = strlen ( buffer ); + while ( buf2len + buflen > buf2size + 10 ) + { + buf2size += MAXPARAMLINELENGTH; + buf2 = (char *)REALLOC ( buf2, buf2size * sizeof ( char ) ); + } + + /** tack the current line onto buf2. **/ + strcat ( buf2, buffer ); + buf2len += buflen; + + /** if this line is not continued further, then parse buf2. and + add the parameter. **/ + if ( !cont ) + { + if ( parse_one_parameter ( buf2 ) ) + { + errors = 1; + error ( E_ERROR, "%s line %d: syntax error.", + filename, line ); + } + + /** reset buf2 as empty. **/ + buf2len = 0; + buf2[0] = 0; + } + } + + /* close file. */ + fclose ( f ); + + /** if the last line was continued, and nothing followed it, that's + an error. **/ + if ( buf2len != 0 ) + { + errors = 1; + error ( E_ERROR, "unexpected EOF." ); + } + + /** if any errors occurred during parsing, stop now. **/ + if ( errors ) + error ( E_FATAL_ERROR, + "some syntax errors occurred parsing \"%s\".", filename ); + + FREE ( buf2 ); + +} + +/* check_continuation() + * + * returns true/false depending on whether the given string is continued + * (the last nonwhitespace character is a backslash). If so, the backslash + * and everything after it is chopped. + */ + +int check_continuation ( char *buffer ) +{ + int i, l; + l = strlen ( buffer ); + for ( i = l-1; i >= 0; --i ) + if ( !isspace(buffer[i]) ) + { + if ( buffer[i] == '\\' ) + { + buffer[i] = '\n'; + buffer[i+1] = 0; + return 1; + } + else + return 0; + } + + /* a blank line was passed. */ + return 0; +} + +/* delete_comment() + * + * this searches the string for a '#' or ';' and chops everything + * following, if one is found. returns 1 if the resulting line is blank + * (all whitespace), 0 otherwise. + */ + +int delete_comment ( char *buffer ) +{ + int i, l; + + l = strlen ( buffer ); + /* zero-length lines are considered blank. */ + if ( l == 0 ) + return 1; + /* if the last character is a newline, chop it. */ + if ( buffer[--l] == '\n' ) + buffer[l] = 0; + for ( i = 0; i < l; ++i ) + if ( buffer[i] == '#' || buffer[i] == ';' ) + { + /* chop the line at a '#' or ';'. */ + buffer[i] = 0; + break; + } + /* look for a nonwhitespace character. */ + l = strlen ( buffer ); + for ( i = 0; i < l; ++i ) + if ( !isspace(buffer[i]) ) + /* found one, return 0. */ + return 0; + + /* blank line, return 1. */ + return 1; +} + +/* translate_binary() + * + * this translates all of the valid strings representing binary values + * to the corresponding integer. + */ + +int translate_binary ( char *string ) +{ + if ( strcmp ( string, "true" ) == 0 || + strcmp ( string, "t" ) == 0 || + strcmp ( string, "on" ) == 0 || + strcmp ( string, "yes" ) == 0 || + strcmp ( string, "y" ) == 0 || + strcmp ( string, "1" ) == 0 ) + return 1; + else if ( strcmp ( string, "false" ) == 0 || + strcmp ( string, "f" ) == 0 || + strcmp ( string, "off" ) == 0 || + strcmp ( string, "no" ) == 0 || + strcmp ( string, "n" ) == 0 || + strcmp ( string, "0" ) == 0 ) + return 0; + else + return -1; +} + +/* read_parameter_database() + * + * this reads parameters from a checkpoint file. + */ + +void read_parameter_database ( FILE *f ) +{ + int i, j, k; + int count; + char *buf1, *buf2; + int buf2len, buf2alloc; + + /* how many parameters are we supposed to find? */ + fscanf ( f, "%*s %d\n", &count ); + if ( fgetc ( f ) != '#' ) + error ( E_FATAL_ERROR, "error in parameter section of checkpoint file." ); + + buf1 = (char *)MALLOC ( MAXPARAMLINELENGTH ); + buf2 = (char *)MALLOC ( MAXPARAMLINELENGTH ); + buf2alloc = MAXPARAMLINELENGTH; + buf2[0] = 0; + buf2len = 0; + + for ( i = 0; i < count; ) + { + /* get a line in buf1. */ + fgets ( buf1, MAXPARAMLINELENGTH, f ); + + /** lengthen buf2 if necessary. */ + while ( buf2len + strlen ( buf1 ) >= buf2alloc ) + { + buf2 = (char *)REALLOC ( buf2, buf2alloc + MAXPARAMLINELENGTH ); + buf2alloc += MAXPARAMLINELENGTH; + } + /** tack line onto buf2. **/ + strcat ( buf2, buf1 ); + buf2len += strlen ( buf1 ); + + /* get the first character of the next line. */ + k = fgetc ( f ); + if ( k != '+' ) + { + /** not a '+', so the line is not continued. **/ + + /* chop the final newline. */ + buf2[buf2len-1] = 0; + for ( j = 0; j < buf2len; ++j ) + /* look for a " = " substring, and break it into name/value + there. */ + if ( buf2[j] == ' ' && buf2[j+1] == '=' && + buf2[j+2] == ' ' ) + { + /** add the parameter. **/ + buf2[j] = 0; + add_parameter ( buf2, buf2+j+3, + PARAM_COPY_NAME|PARAM_COPY_VALUE ); +#ifdef DEBUG + fprintf ( stderr, "name = [%s]\nvalue = [%s]\n", + buf2, buf2+j+3 ); +#endif + } + + /** reset buf2. **/ + buf2[0] = 0; + buf2len = 0; + + /* count of how many we've found. */ + ++i; + } + } + /* put the extra character we read back. */ + ungetc ( k, f ); + + FREE ( buf1 ); + FREE ( buf2 ); +} + +/* write_parameter_database() + * + * this writes all the parameters to a checkpoint file, as "name = value\n". + * since parameters can have embedded newlines, we begin each line of the + * file with a "#" to indicate the start of a new name/value pair or a "+" + * to indicate a continuation of the previous line. + */ + +void write_parameter_database ( FILE *f ) +{ + int i, j; + + /* write the total count. */ + fprintf ( f, "parameter-count: %d\n", param_size ); + for ( i = 0; i < param_size; ++i ) + { + /* start the pair with a '#'. */ + fputc ( '#', f ); + /** write the name, adding '+' after newlines. */ + for ( j = 0; j < strlen ( param[i].n ); ++j ) + { + fputc ( param[i].n[j], f ); + if ( param[i].n[j] == '\n' ) + fputc ( '+', f ); + } + /* write " = ". */ + fputs ( " = ", f ); + /** write the value, adding '+' after newlines. */ + for ( j = 0; j < strlen ( param[i].v ); ++j ) + { + fputc ( param[i].v[j], f ); + if ( param[i].v[j] == '\n' ) + fputc ( '+', f ); + } + /* end the pair. */ + fputc ( '\n', f ); + } +} + +/* initialize_parameters() + * + * initializes the parameter database. */ + +void initialize_parameters ( void ) +{ + oputs ( OUT_SYS, 30, " parameter database.\n" ); + + param = (parameter *)MALLOC ( PARAMETER_MINSIZE * sizeof ( parameter ) ); + param_alloc = PARAMETER_MINSIZE; + param_size = 0; +} + +/* free_parameters() + * + * frees all the parameters. + */ + +void free_parameters ( void ) +{ + int i; + + for ( i = 0; i < param_size; ++i ) + { + /* if add_parameter made a copy of the name, then free it. */ + if ( param[i].copyflags & PARAM_COPY_NAME ) + FREE ( param[i].n ); + /* if add_parameter make a copy of the value, then free it. */ + if ( param[i].copyflags & PARAM_COPY_VALUE ) + FREE ( param[i].v ); + } + + FREE ( param ); + param = NULL; + param_alloc = 0; + param_size = 0; +} + +/* add_parameter() + * + * adds the given name/value pair to the database. the flags indicate + * which if any of the strings need to be copied. + */ + +void add_parameter ( char *name, char *value, int copyflags ) +{ + + /* erase any existing parameter of the same name. */ + delete_parameter ( name ); + + /** if the database is full, make it bigger. **/ + while ( param_alloc < param_size+1 ) + { + param_alloc += PARAMETER_CHUNKSIZE; + param = (parameter *)REALLOC ( param, + param_alloc * sizeof ( parameter ) ); + } + + /** add the name. **/ + if ( copyflags & PARAM_COPY_NAME ) + { + /* make a copy of the string if requested. */ + param[param_size].n = (char *)MALLOC ( strlen(name)+1 ); + strcpy ( param[param_size].n, name ); + } + else + /* just store the pointer passed to us. */ + param[param_size].n = name; + + /** add the value. **/ + if ( copyflags & PARAM_COPY_VALUE ) + { + /* make a copy of the string if requested. */ + param[param_size].v = (char *)MALLOC ( strlen(value)+1 ); + strcpy ( param[param_size].v, value ); + } + else + /* just store the pointer passed to us. */ + param[param_size].v = value; + + /* record whether our values are copies or not. */ + param[param_size].copyflags = copyflags; + + ++param_size; + +} + +/* delete_parameter() + * + * deletes a parameter from the database. + */ + +int delete_parameter ( char *name ) +{ + int i; + + for ( i = 0; i < param_size; ++i ) + if ( strcmp ( name, param[i].n ) == 0 ) + { + /** free any copies make by add_parameter. **/ + if ( param[i].copyflags & PARAM_COPY_NAME ) + FREE ( param[i].n ); + if ( param[i].copyflags & PARAM_COPY_VALUE ) + FREE ( param[i].v ); + + /** move the last value in the database to the position + of the deleted one. **/ + if ( param_size-1 != i ) + { + param[i].n = param[param_size-1].n; + param[i].v = param[param_size-1].v; + param[i].copyflags = param[param_size-1].copyflags; + } + --param_size; + return 1; + } + + return 0; +} + +/* get_parameter() + * + * looks up a parameter in the database. + */ + +char *get_parameter ( char *name ) +{ + int i; + + for ( i = 0; i < param_size; ++i ) + if ( strcmp ( name, param[i].n ) == 0 ) + return param[i].v; + return NULL; +} + +/* print_parameters() + * + * dumps parameter database to stdout. + */ + +void print_parameters ( void ) +{ + int i; + + for ( i = 0; i < param_size; ++i ) + printf ( "name: \"%s\" value: \"%s\" copy: %d\n", + param[i].n, param[i].v, param[i].copyflags ); + +} + +/* parse_one_parameter() + * + * breaks a string at the first equals sign into name and value parts. + * removes leading and trailing whitespace from both parts. inserts the + * resulting pair into the parameter database. + */ + +int parse_one_parameter ( char *buffer ) +{ + char name[MAXPARAMLINELENGTH+1]; + char data[MAXPARAMLINELENGTH+1]; + int i, j, k, l; + int n, d; + + k = -1; + j = 0; + l = strlen ( buffer ); + /** scan for a equals sign. **/ + for ( i = 0; i < l; ++i ) + { + /* j records whether or not we have found a nonwhitespace + character. */ + j += (buffer[i] != ' ' && buffer[i] != '\t' && buffer[i] != '\n'); + if ( buffer[i] == '=' ) + { + k = i; + /* copy the name part. */ + strncpy ( name, buffer, k ); + name[k] = 0; + /* copy the value part. */ + strcpy ( data, buffer+k+1 ); + break; + } + } + + /* if we found no '=', return an error unless the line was + completely blank. */ + if ( k == -1 ) + return !!j; + + /* trim leading and trailing whitespace. */ + n = trim_string ( name ); + d = trim_string ( data ); + + /** if either section is blank, return an error, otherwise add + the pair as a parameter. **/ + if ( n == 0 || d == 0 ) + return 1; + else + add_parameter ( name, data, PARAM_COPY_NAME|PARAM_COPY_VALUE ); + + return 0; +} + +/* trim_string() + * + * trims leading and trailing whitespace from a string, overwriting the + * argument with the result. returns number of characters in result. + */ + +int trim_string ( char *string ) +{ + int i, j, l; + + j = -1; + l = strlen ( string ); + for ( i = 0; i < l; ++i ) + { + if ( j == -1 ) + { + if ( string[i] != ' ' && string[i] != '\t' && + string[i] != '\n' ) + { + j = i; + --i; + } + } + else + string[i-j] = string[i]; + } + if ( j == -1 ) + { + string[0] = 0; + return 0; + } + + string[i-j] = 0; + l = i-j; + j = -1; + for ( i = 0; i < l; ++i ) + { + if ( string[i] != ' ' && string[i] != '\t' && string[i] != '\n' ) + j = i; + } + string[j+1] = 0; + + return j+1; +} + +/* define_directive() + * + * defines a directive "SYMBOL", which is just a parameter called + * "__define:SYMBOL". trims leading and trailing whitespace from SYMBOL. + */ + +void define_directive ( char *string ) +{ + char *buffer; + int i; + + for ( i = 0; i < strlen(string) && isspace(string[i]); ++i ); + + buffer = (char *)MALLOC ( (20 + strlen(string)) * sizeof ( char ) ); + strcpy ( buffer, "__define:" ); + strcat ( buffer, string+i ); + + for ( i = strlen(buffer)-1; i >= 0 && isspace(buffer[i]); --i ) + buffer[i] = 0; + + add_parameter ( buffer, "1", PARAM_COPY_NAME ); + FREE ( buffer ); +} + +/* undefine_directive() + * + * undefines a directive "SYMBOL". + */ + +void undefine_directive ( char *string ) +{ + char *buffer; + int i; + + for ( i = 0; i < strlen(string) && isspace(string[i]); ++i ); + + buffer = (char *)MALLOC ( (20 + strlen(string)) * sizeof ( char ) ); + strcpy ( buffer, "__define:" ); + strcat ( buffer, string+i ); + + for ( i = strlen(buffer)-1; i >= 0 && isspace(buffer[i]); --i ) + buffer[i] = 0; + + delete_parameter ( buffer ); + FREE ( buffer ); +} + +/* test_directive() + * + * returns 1 iff a given directive is defined. + */ + +int test_directive ( char *string ) +{ + char *buffer; + int ret; + int i; + + for ( i = 0; i < strlen(string) && isspace(string[i]); ++i ); + + buffer = (char *)MALLOC ( (20 + strlen(string)) * sizeof ( char ) ); + strcpy ( buffer, "__define:" ); + strcat ( buffer, string+i ); + + for ( i = strlen(buffer)-1; i >= 0 && isspace(buffer[i]); --i ) + buffer[i] = 0; + + if ( get_parameter ( buffer ) ) + ret = 1; + else + ret = 0; + + FREE ( buffer ); + return ret; +} + +/* binary_parameter() + * + * checks for the existence of a parameter. if it exists, then it is changed + * to the string "0" or "1" using lilgp's list of strings representing + * binary values. if the value is not on the list, or the parameter is + * not found, then the parameter is set according to the value argument (it + * acts as a default). + */ + +void binary_parameter ( char *name, int value ) +{ + char *param = get_parameter ( name ); + char string[2]; + char *i, *is; + int v; + + if ( param != NULL ) + { + /* copy the value and lowercase it. */ + v = strlen ( param ); + i = (char *)MALLOC ( (v+1)*sizeof ( char ) ); + strcpy ( i, param ); + for ( is = i; *is; ++is ) + *is = tolower(*is); + + /* translate to a binary integer. */ + v = translate_binary ( i ); + + if ( v == -1 ) + { + /* translation failed, use the value argument. */ + error ( E_ERROR, + "\"%s\" is not a legal value for \"%s\"; assuming default.", + i, name ); + v = value; + } + + FREE ( i ); + + } + else + /* parameter not found, use the value argument. */ + v = value; + + /** print the value to a string and put it in the parameter database. */ + sprintf ( string, "%d", !!v ); + add_parameter ( name, string, PARAM_COPY_VALUE|PARAM_COPY_NAME ); + +} + + + + diff --git a/lib/lilgp/kernel_mod/populate.c b/lib/lilgp/kernel_mod/populate.c new file mode 100644 index 0000000..8bef282 --- /dev/null +++ b/lib/lilgp/kernel_mod/populate.c @@ -0,0 +1,548 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ +#include + + + +/* Read in an individual from a file, skipping any text in between */ +void mod_read_tree_recurse ( int space, ephem_const **eind, FILE *fil, int tree, + char *string, int skip ) +{ + function *f; + int i, j; + ephem_const *ep; + + if( skip ) + { + i = 0; + /*Read up until we get the first parenthesies */ + while( i != '(' ) + { + if( feof(fil) ) + { + fseek( fil, 0L, SEEK_SET ); + } + i = fgetc(fil); + } + if( i != '(' ) + { + error( E_FATAL_ERROR, "Ran out of file space while reading in saved tree"); + } + } + /* read up until a nonwhitespace character in file. the nonwhitespace + character is saved in string[0]. */ + while ( isspace(string[0]=fgetc(fil)) ); + /* get the next character. */ + i = fgetc ( fil ); + if ( isspace(i) ) + /* if the next character is whitespace, then string[0] is a + one-character function name. null-terminate the string. */ + string[1] = 0; + else + { + /** if the next character is not whitespace, then string[0] + is either an open parenthesis or the first character of a + multi-character function name. **/ + + /* push the next character back. */ + ungetc ( i, fil ); + /* read the function name. skip over an open parenthesis, if there + is one. */ + fscanf ( fil, "%s ", string+(string[0]!='(') ); + } +#ifdef DEBUG_READTREE + fprintf ( stderr, "function name is [%s]\n", string ); +#endif + + /* look up the function name in this tree's function set. if the + function is an ERC terminal (the name is of the form "name:ERCindex"), + then place the ERC address in ep. */ + f = get_function_by_name ( tree, string, &ep, eind ); + /* add an lnode to the tree. */ + gensp_next(space)->f = f; + + switch ( f->type ) + { + case TERM_NORM: + case TERM_ARG: + case EVAL_TERM: + break; + case TERM_ERC: + /* record the ERC address as the next lnode in the array. */ + gensp_next(space)->d = ep; + break; + case FUNC_DATA: + case EVAL_DATA: + /** recursively read child functions, no skip nodes needed. **/ + for ( i = 0; i < f->arity; ++i ) + mod_read_tree_recurse ( space, eind, fil, tree, string, 0 ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + /** recursively read child functions, recording skip values. **/ + for ( i = 0; i < f->arity; ++i ) + { + /* save an lnode for the skip value. */ + j = gensp_next_int ( space ); + /* read the child tree. */ + mod_read_tree_recurse ( space, eind, fil, tree, string, 0); + /* figure out how big the child tree was, and save that + number in the skip node. */ + gensp[space].data[j].s = gensp[space].used-j-1; + } + break; + } +} + + +/* generate_random_population() + * + * fills a population with randomly generated members. + */ + +void generate_random_population ( population *p, int *mindepth, + int *maxdepth, int *method, FILE **dataum ) +{ + int i, j, k, m; + int attempts; + int totalattempts = 0; + int depth; + int attempts_generation; + tree *temp; + int totalnodes = 0; + int flag; + char buf[2048]; + int ignore_limits; + + /* how many consecutive rejected trees we will tolerate before + giving up. */ + attempts_generation = atoi ( get_parameter ( "init.random_attempts" ) ); + if ( attempts_generation <= 0 ) + error ( E_FATAL_ERROR, + "\"init.random_attempts\" must be positive." ); + + ignore_limits = (get_parameter("init.ignore_limits")!=NULL); + + temp = (tree *)MALLOC ( tree_count * sizeof ( tree ) ); + + k = 0; + attempts = attempts_generation; + while ( k < p->size ) + { + /* total nodes in the individual being generated. */ + totalnodes = 0; + + for ( j = 0; j < tree_count; ++j ) + { + + if ( attempts <= 0 ) + error ( E_FATAL_ERROR, + "The last %d trees generated have been bad. Giving up.", + attempts_generation ); + + --attempts; + ++totalattempts; + + /* pick a depth on the depth ramp. */ + depth = mindepth[j] + random_int ( &globrand, maxdepth[j] - mindepth[j] + 1 ); + + /* clear a generation space. */ + gensp_reset ( 0 ); + + /** generate the tree. **/ + switch ( method[j] ) + { + case GENERATE_FULL: + generate_random_full_tree ( 0, depth, fset+tree_map[j].fset, + tree_map[j].return_type); + break; + case GENERATE_GROW: + generate_random_grow_tree ( 0, depth, fset+tree_map[j].fset, + tree_map[j].return_type); + break; + case GENERATE_HALF_AND_HALF: + if ( random_double(&globrand) < 0.5 ) + generate_random_full_tree ( 0, depth, fset+tree_map[j].fset, + tree_map[j].return_type); + else + generate_random_grow_tree ( 0, depth, fset+tree_map[j].fset, + tree_map[j].return_type); + break; + + case LOAD_FILE: + gensp_reset(0); + mod_read_tree_recurse( 0, NULL, dataum[j], j, buf, 1); + /* need to do something here about limit checking */ + break; + } + + /** throw away the tree if it's too big. **/ + + /*printf("Attempted Tree: "); + print_tree(gensp[0].data,stdout);*/ + + /* first check the node limits. */ + flag = 0; + m = tree_nodes ( gensp[0].data ); + + + if (method[j]!=LOAD_FILE) + { + if ( tree_map[j].nodelimit > -1 && m > tree_map[j].nodelimit ) + { + --j; + continue; + } + + /* now change the depth limits. */ + if ( tree_map[j].depthlimit > -1 && tree_depth ( gensp[0].data ) > tree_map[j].depthlimit ) + { + --j; + continue; + } + + /* count total nodes in the individual being created. */ + } + totalnodes += m; + gensp_dup_tree ( 0, temp+j ); + } + + if (!ignore_limits) + { + + /* is the individual over the total node limit (if one is set)? */ + if ( ind_nodelimit > -1 && totalnodes > ind_nodelimit ) + { +#ifdef DEBUG + printf ( "overall node limit violated.\n" ); +#endif + /* yes, so delete it and try again. */ + for ( j = 0; j < tree_count; ++j ) + free_tree ( temp+j ); + continue; + } + + /* throw away the individual if it's a duplicate. */ + for ( i = 0; i < k; ++i ) + { + flag = 0; + for ( j = 0; j < tree_count && !flag; ++j ) + { + if ( temp[j].size == p->ind[i].tr[j].size ) + { + if ( memcmp ( temp[j].data, p->ind[i].tr[j].data, + temp[j].size * sizeof ( lnode ) ) ) + { + flag = 1; + } + } + else + flag = 1; + } + if ( !flag ) + break; + } + if ( i < k ) + { +#ifdef DEBUG + printf ( "duplicate individual: (same as %d)\n", i ); + for ( j = 0; j < tree_count; ++j ) + { + printf ( " tree %d: ", j ); + print_tree ( temp[j].data, stdout ); + } +#endif + /* individual is a duplicate, throw it away. */ + --attempts; + for ( j = 0; j < tree_count; ++j ) + free_tree ( temp+j ); + continue; + } + } + + /** we now have a good individual to put in the population. */ + + /* copy the tree array. */ + memcpy ( p->ind[k].tr, temp, tree_count * sizeof ( tree ) ); + + /* reference ERCs. */ + for ( j = 0; j < tree_count; ++j ) + reference_ephem_constants ( p->ind[k].tr[j].data, 1 ); + +#ifdef DUMP_POPULATION + printf ( "individual %5d:\n", k ); + print_individual ( p->ind+k, stdout ); +#endif + /* mark individual as unevaluated. */ + p->ind[k].evald = EVAL_CACHE_INVALID; + p->ind[k].flags = FLAG_NONE; + + attempts = attempts_generation; + ++k; + + } + + FREE ( temp ); + + oprintf ( OUT_SYS, 10, + " %d trees were generated to fill the population of %d (%d trees).\n", + totalattempts, p->size, p->size * tree_count ); + +} + +/* allocate_population() + * + * allocates a population structure with the given size. + */ + +population *allocate_population ( int size ) +{ + int i; + population *p = (population *)MALLOC ( sizeof ( population ) ); + + p->size = size; + p->next = 0; + /* allocate the array of individuals. */ + p->ind = (individual *)MALLOC ( size * sizeof ( individual ) ); + + for ( i = 0; i < size; ++i ) + { + /* each individual has a block of tree structures, allocate + those here. */ + p->ind[i].tr = (tree *)MALLOC ( tree_count * sizeof ( tree ) ); + p->ind[i].evald = EVAL_CACHE_INVALID; + p->ind[i].flags = FLAG_NONE; + } + + return p; +} + +/* free_multi_population() + * + * frees the populations in a multipop structure. + */ + +void free_multi_population ( multipop *mp ) +{ + int i; + for ( i = 0; i < mp->size; ++i ) + free_population ( mp->pop[i] ); + FREE ( mp->pop ); + FREE ( mp ); +} + +/* free_population() + * + * frees a population and all the individuals in it. + */ + +void free_population ( population *p ) +{ + int i, j; + for ( i = 0; i < p->size; ++i ) + { + for ( j = 0; j < tree_count; ++j ) + { + /* dereference ERCs. */ + reference_ephem_constants ( p->ind[i].tr[j].data, -1 ); + free_tree ( &(p->ind[i].tr[j]) ); + } + FREE ( p->ind[i].tr ); + } + FREE ( p->ind ); + FREE ( p ); +} + +/* initial_multi_population() + * + * randomly fills a multipop strcture with individuals. + */ + +multipop *initial_multi_population ( void ) +{ + char *param; + char temp_name[256]; + char **tree_replace; + multipop *mpop; + int i; + int *mindepth, *maxdepth, *method; + char *cp; + char pnamebuf[100]; + FILE **tree_data; + FILE *fp; + + oputs ( OUT_SYS, 10, "creating initial population(s):\n" ); + + mpop = (multipop *)MALLOC ( sizeof ( multipop ) ); + + /* how many subpops are we supposed to have? */ + param = get_parameter ( "multiple.subpops" ); + mpop->size = atoi ( param ); + if ( mpop->size <= 0 ) + error ( E_FATAL_ERROR, + "\"%s\" is not a valid value for \"multiple.subpops\".", + param ); + + /* allocate that many population pointers. */ + mpop->pop = (population **)MALLOC ( sizeof ( population* ) * mpop->size ); + + /* read the depth ramp and generation method(s), which can be + different for each tree. */ + tree_replace = (char **)MALLOC(sizeof(char *)*tree_count); + tree_data = (FILE **)MALLOC( sizeof(FILE *)*tree_count); + + for( i = 0; i < tree_count; i++ ) + { + sprintf( temp_name, "tree-replace[%d]", i ); + tree_replace[i] = get_parameter( temp_name ); + } + + for( i = 0; i < tree_count; i++ ) + { + if( tree_replace[i] != NULL ) + { + tree_data[i] = fopen( tree_replace[i], "r" ); + if( fp == NULL ) + { + /* Error Handler */ + error( E_FATAL_ERROR, "Unable to open file %s\n", tree_replace[i] ); + } + + } else { + tree_data[i] = NULL; + } + } + + mindepth = (int *)MALLOC ( tree_count * sizeof ( int ) ); + maxdepth = (int *)MALLOC ( tree_count * sizeof ( int ) ); + method = (int *)MALLOC ( tree_count * sizeof ( int ) ); + + for ( i = 0; i < tree_count; ++i ) + { + mindepth[i] = -1; + maxdepth[i] = -1; + + /** read the depth ramp. **/ + sprintf ( pnamebuf, "init.tree[%d].depth", i ); + param = get_parameter ( pnamebuf ); + if ( !param ) + param = get_parameter ( "init.depth" ); + if ( param == NULL ) + error ( E_FATAL_ERROR, "\"init.tree[%d].depth\" must be specified.", i ); + + /** parse the depth ramp ("min-max" or just "val"). **/ + mindepth[i] = strtol ( param, &cp, 10 ); + if ( *cp ) + { + if ( *cp == '-' ) + { + maxdepth[i] = strtol ( cp+1, &cp, 10 ); + } + if ( *cp ) + { + error ( E_FATAL_ERROR, "\"init.tree[%d].depth\" is malformed.", + i ); + } + } + if ( maxdepth[i] == -1 ) + maxdepth[i] = mindepth[i]; + + if ( mindepth[i] > maxdepth[i] ) + error ( E_FATAL_ERROR, "\"init.tree[%d].depth\" is malformed.", i ); + + /** read the method. **/ + sprintf ( pnamebuf, "init.tree[%d].method", i ); + param = get_parameter ( pnamebuf ); + if ( !param ) + param = get_parameter ( "init.method" ); + + if ( param == NULL ) + error ( E_FATAL_ERROR, "\"init.tree[%d].method\" must be set.", + i ); + + if ( strcmp ( param, "half_and_half" ) == 0 ) + method[i] = GENERATE_HALF_AND_HALF; + else if ( strcmp ( param, "full" ) == 0 ) + method[i] = GENERATE_FULL; + else if ( strcmp ( param, "grow" ) == 0 ) + method[i] = GENERATE_GROW; + else if ( strcmp ( param, "load" ) == 0 ) + method[i]= LOAD_FILE; + else + error ( E_FATAL_ERROR, "\"init.tree[%d].method\": \"%s\" is not a known generation method.", + i, param ); + } + + /* generate each population. */ + for ( i = 0; i < mpop->size; ++i ) + mpop->pop[i] = initial_population ( mindepth, maxdepth, method, tree_data ); + + for( i = 0; i < tree_count; i++ ) + { + if( tree_data[i] != NULL ) + fclose(tree_data[i]); + } + + FREE ( mindepth ); + FREE ( maxdepth ); + FREE ( method ); + FREE ( tree_replace ); + FREE ( tree_data ); + + oputs ( OUT_SYS, 10, " initial population(s) complete.\n" ); + + return mpop; +} + +/* initial_population() + * + * creates a population structure and fills it with randomly + * generated individuals. + */ + +population *initial_population ( int *mindepth, int *maxdepth, int *method, FILE **dataum ) +{ + population *pop; + int pop_size; + char *param; + + /* get the population size and allocate. */ + + param = get_parameter ( "pop_size" ); + if ( param == NULL ) + error ( E_FATAL_ERROR, + "no value specified for \"pop_size\"." ); + pop_size = atoi ( param ); + pop = allocate_population ( pop_size ); + + /* get the generation method and create the random population. */ + + generate_random_population ( pop, mindepth, maxdepth, method, dataum ); + + return pop; +} + diff --git a/lib/lilgp/kernel_mod/pretty.c b/lib/lilgp/kernel_mod/pretty.c new file mode 100644 index 0000000..5b2b317 --- /dev/null +++ b/lib/lilgp/kernel_mod/pretty.c @@ -0,0 +1,185 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* pretty_print_tree() + * + * print a tree as an S-expression, indenting functions to show + * structure. + */ + +void pretty_print_tree ( lnode *data, FILE *fil ) +{ + lnode *l = data; + int *indent; + int *istep; + + /* indent is a table, parallel to the tree's array, of indentation + values. */ + indent = (int *)MALLOC ( (tree_nodes(data)+1) * sizeof(int) ); + istep = indent; + /* fill the indentation table. */ + gen_indents ( &l, &istep, 0, 1 ); + + istep = indent; + l = data; + + /* now print the tree using the indentation table. */ + pretty_print_tree_recurse ( &l, &istep, fil ); + + fprintf ( fil, "\n" ); + + FREE ( indent ); + +} + +/* pretty_print_tree_recurse() + * + * recursive tree printer, using a table of indentations. + */ + +void pretty_print_tree_recurse ( lnode **l, int **is, FILE *fil ) +{ + int i; + function *f; + + f = (**l).f; + + /** a positive indentation value means move to the next line and + print that many spaces before the function name. */ + if ( **is >= 0 ) + { + fprintf ( fil, "\n" ); + for ( i = 0; i < **is; ++i ) + fprintf ( fil, " " ); + } + ++*l; + ++*is; + + /** for terminals, don't print ()'s. **/ + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + { + /* show value of ERCs. */ + fprintf ( fil, " %s", (f->ephem_str)((**l).d->d) ); + ++*l; + } + else + /* show name of other terminals. */ + fprintf ( fil, " %s", f->string ); + + return; + } + + /* print function name with a parenthesis. */ + fprintf ( fil, " (%s", f->string ); + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + /* recursively print children. */ + for ( i = 0; i < f->arity; ++i ) + pretty_print_tree_recurse ( l, is, fil ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + /* recursively print children, ignoring skip nodes. */ + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + pretty_print_tree_recurse ( l, is, fil ); + } + break; + } + + /* print matching parenthesis. */ + fprintf ( fil, ")" ); +} + +/* gen_indents() + * + * generates a table of indentations -- positive numbers indicate skipping + * to next line and indenting that much, negative indicate continuing current + * line. the result should look like: + * + * (function terminal + * (function terminal + * terminal) + * terminal) + */ + +void gen_indents ( lnode **l, int **is, int start, int sameline ) +{ + function *f = (**l).f; + int i; + + /** sameline is true for the first child of a function. first + children and terminals always go on the same line as their + parent. **/ + if ( sameline || f->arity == 0 ) + **is = -start; + else + **is = start; + + ++*is; + ++*l; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + /* skip the value of an ERC. */ + ++*l; + return; + } + + /* move forward the length of the function name plus a space + plus a '('. */ + start += strlen ( f->string ) + 2; + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + /* generate children's indents. */ + for ( i = 0; i < f->arity; ++i ) + gen_indents ( l, is, start, i==0 ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + /* generate children's indents, ignoring skip nodes. */ + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + gen_indents ( l, is, start, i==0 ); + } + break; + } +} + diff --git a/lib/lilgp/kernel_mod/protoapp.h b/lib/lilgp/kernel_mod/protoapp.h new file mode 100644 index 0000000..3d3f8a8 --- /dev/null +++ b/lib/lilgp/kernel_mod/protoapp.h @@ -0,0 +1,45 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _PROTOAPP_H +#define _PROTOAPP_H + +int app_build_function_sets ( void ); +#ifdef COEVOLUTION +void app_eval_fitness (individual *, individual *); +#else +void app_eval_fitness ( individual * ); +#endif +int app_create_output_streams ( void ); +int app_initialize ( int ); +void app_uninitialize ( void ); +void app_write_checkpoint ( FILE * ); +void app_read_checkpoint ( FILE * ); +int app_end_of_evaluation ( int, multipop *, int, popstats *, popstats * ); +void app_end_of_breeding ( int, multipop * ); + +#endif diff --git a/lib/lilgp/kernel_mod/protos.h b/lib/lilgp/kernel_mod/protos.h new file mode 100644 index 0000000..c22d261 --- /dev/null +++ b/lib/lilgp/kernel_mod/protos.h @@ -0,0 +1,377 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _PROTOS_H +#define _PROTOS_H + + +extern randomgen globrand; +extern genspace gensp[GENSPACE_COUNT]; +extern function_set *fset; +extern int fset_count; +extern treeinfo *tree_map; +extern int tree_count; +extern int ind_nodelimit; + + +/*** exch.c ***/ + +void exchange_subpopulations ( multipop *mpop ); +void initialize_topology ( multipop *mpop ); +void free_topology ( multipop *mpop ); +void rebuild_exchange_topology ( multipop *mpop ); + + +/*** change.c ***/ + +population *change_population ( population *pop, breedphase * ); +void show_population ( population *p ); +breedphase * initialize_one_breeding ( char *prefix ); +void initialize_breeding ( multipop * ); +void free_one_breeding ( breedphase * ); +void free_breeding ( multipop * ); +void rebuild_breeding ( multipop * ); +char *get_breed_parameter ( char *prefix, char *format, ... ); + + +/*** ckpoint.c ***/ + +void read_checkpoint ( char *filename, int *gen, multipop **mpop ); +void write_checkpoint ( int gen, multipop *mpop, char *filename ); +population *read_population ( ephem_const **eind, FILE *f ); +void read_individual ( individual *ind, ephem_const **eind, FILE *f, + char *buffer ); +void write_individual ( individual *ind, ephem_index *eind, FILE *f ); +void read_tree_recurse ( int space, ephem_const **eind, FILE *fil, int tree, + char *string ); +function * get_function_by_name ( int tree, char *string, ephem_const **ep, + ephem_const **eind ); +void write_population ( population *pop, ephem_index *eind, FILE *f ); +void write_tree_recurse ( lnode **l, ephem_index *eind, FILE *fil ); +void write_hex_block ( void *, int, FILE * ); +void read_hex_block ( void *, int, FILE * ); + + +/*** ephem.c ***/ + +void initialize_ephem_const ( void ); +void free_ephem_const ( void ); +void enlarge_ephem_space ( void ); +void ephem_const_gc ( void ); +ephem_const *new_ephemeral_const ( function *f ); +int ephem_index_comp ( const void *a, const void *b ); +ephem_index *write_ephem_list ( FILE *f ); +int lookup_ephem ( ephem_index *ind, ephem_const *e ); +ephem_const **read_ephem_list ( FILE *f ); +void get_ephem_stats ( int *used, int *free, int *blocks, int *alloc ); + + +/*** eval.c ***/ + +void set_current_individual ( individual * ); +DATATYPE evaluate_tree ( lnode *, int ); +DATATYPE evaluate_tree_recurse ( lnode **, int ); + + +/*** fsetupdate.c ***/ + +void fset_update ( function_set *app_fset ); + + +/*** gp.c ***/ + +void run_gp ( multipop *mpop, int startgen, + event *t_eval, event *t_breed, int startfromcheckpoint ); +int generation_information ( int gen, multipop *mpop, int stt_interval, + int bestn ); +void evaluate_pop ( population *pop ); +int accumulate_pop_stats ( popstats *total, popstats *n ); +void calculate_pop_stats ( popstats *s, population *pop, int gen, int subpop ); +void saved_individual_gc ( void ); +saved_ind ** write_saved_individuals ( ephem_index *eind, FILE *f ); +void write_stats_checkpoint ( multipop *mpop, ephem_index *eind, FILE *f ); +saved_ind ** read_saved_individuals ( ephem_const **eind, FILE *f ); +void read_stats_checkpoint ( multipop *mpop, ephem_const **eind, FILE *f ); +globaldata *get_globaldata( void ); +#if defined(POSIX_MT) || defined(SOLARIS_MT) +void initialize_threading( void ); +void *evaluate_pop_chunk( void * ); +#endif + + +/*** main.c ***/ + +int function_sets_init ( function_set *, int, user_treeinfo*, int ); +int function_compare ( const void *a, const void *b ); +void free_function_sets ( void ); +void read_tree_limits ( void ); +void initialize_random ( void ); +void pre_parameter_defaults ( void ); +void post_parameter_defaults ( void ); +int process_commandline ( int argc, char **argv, int *gen, multipop ** ); +void output_system_stats ( event *t_total, event *t_eval, event *t_breed ); +void initial_message ( void ); + + +/*** memory.c ***/ + +#ifdef TRACK_MEMORY +#define MALLOC track_malloc +#define FREE track_free +#define REALLOC track_realloc +#else +#define MALLOC malloc +#define FREE free +#define REALLOC realloc +#endif +void *track_malloc ( int ); +void track_free ( void * ); +void *track_realloc ( void *, int ); +void get_memory_stats ( int *total, int *free, int *max, + int *mallocc, int *reallocc, int *freec ); + + +/*** output.c ***/ + +int create_output_stream ( int id, char *ext, int reset, char *mode, + int autoflush ); +void initialize_output_streams ( void ); +void open_output_streams ( void ); +void oputs ( int streamid, int detail, char *string ); +void oprintf ( int streamid, int detail, char *format, ... ); +FILE *output_filehandle ( int streamid ); +void output_stream_close ( int streamid ); +void output_stream_open ( int streamid ); +void output_stream_flush ( int streamid ); +void close_output_streams ( void ); +void error ( int severity, char *format, ... ); +void set_detail_level ( int ); +int test_detail_level ( int ); +void flush_output_streams ( void ); + + +/*** params.c ***/ + +void initialize_parameters ( void ); +void free_parameters ( void ); +void add_parameter ( char *name, char *value, int copyflags ); +int delete_parameter ( char *name ); +char *get_parameter ( char *name ); +void print_parameters ( void ); +void write_parameter_database ( FILE *f ); +void read_parameter_database ( FILE *f ); +void read_parameter_file ( char * ); +int delete_comment ( char * ); +int check_continuation ( char * ); +int parse_one_parameter ( char *buffer ); +int trim_string ( char *string ); +int translate_binary ( char *string ); +void binary_parameter ( char *name, int value ); +void define_directive ( char *string ); +void undefine_directive ( char *string ); +int test_directive ( char *string ); + + +/*** populate.c ***/ + +void generate_random_population ( population *p, int *mindepth, + int *maxdepth, int *method, FILE **datum ); +population *allocate_population ( int size ); +void free_population ( population *p ); +void free_multi_population ( multipop *mp ); +population *initial_population ( int *, int *, int *, FILE ** ); +multipop *initial_multi_population ( void ); + + +/*** postscript.c ***/ + +int postscript_recurse ( lnode **, FILE *, int, int, int ); +void make_postscript_tree ( lnode *, char *, int ); + + +/*** random.c ***/ + +void random_seed ( randomgen *, int ); +void random_destroy ( randomgen * ); +int random_int ( randomgen *, int ); +double random_double ( randomgen * ); +void *random_get_state ( randomgen *, int * ); +void random_set_state ( randomgen *, void * ); + + +/*** select.c ***/ + +int exists_select_method ( char *string ); +select_context_func_ptr get_select_context ( char *string ); +void free_o_rama ( int, char *** ); +int parse_o_rama ( char *string, char *** argv ); +int rev_ind_compare ( const void *a, const void *b ); +int select_interval ( sel_context *sc ); + + +/*** fitness.c ***/ + +sel_context *select_afit_context ( int op, sel_context *sc, + population *p, char *string ); +int select_afit ( sel_context *sc ); +sel_context *select_inverse_afit_context ( int op, sel_context *sc, + population *p, char *string ); +int select_inverse_afit ( sel_context *sc ); +sel_context *select_afit_overselect_context ( int op, sel_context *sc, + population *p, char *string ); +int select_afit_overselect ( sel_context *sc ); + + +/*** tournament.c ***/ + +sel_context *select_tournament_context ( int op, sel_context *sc, + population *p, char *string ); +int select_tournament ( sel_context *sc ); + + +/*** bestworst.c ***/ + +int select_bestworst ( sel_context *sc ); +sel_context *select_best_context ( int op, sel_context *sc, + population *p, char *string ); +int select_best_compare ( const void *a, const void *b ); +sel_context *select_worst_context ( int op, sel_context *sc, + population *p, char *string ); +int select_worst_compare ( const void *a, const void *b ); +sel_context *select_random_context ( int op, sel_context *sc, + population *p, char *string ); +int select_random ( sel_context *sc ); + + +/*** tree.c ***/ + +int tree_nodes ( lnode *tree ); +int tree_nodes_recurse ( lnode ** ); +int tree_nodes_internal ( lnode * ); +int tree_nodes_internal_recurse ( lnode ** ); +int tree_nodes_external ( lnode * ); +int tree_nodes_external_recurse ( lnode ** ); +int generate_random_full_tree ( int space, int depth, function_set *, int return_type ); +int generate_random_grow_tree ( int space, int depth, function_set *, int return_type ); +int tree_depth ( lnode * ); +int tree_depth_recurse ( lnode ** ); +int tree_depth_to_subtree ( lnode *, lnode * ); +int tree_depth_to_subtree_recurse ( lnode **, lnode *, int ); +void print_tree ( lnode *, FILE * ); +void print_tree_recurse ( lnode **, FILE * ); +void print_tree_array ( lnode * ); +void print_tree_array_recurse ( lnode **, int * ); +lnode *get_subtree ( lnode *, int ); +lnode *get_subtree_recurse ( lnode **, int * ); +lnode *get_subtree_internal ( lnode *, int ); +lnode *get_subtree_internal_recurse ( lnode **, int * ); +lnode *get_subtree_external ( lnode *, int ); +lnode *get_subtree_external_recurse ( lnode **, int * ); +void copy_tree ( tree *to, tree *from ); +void free_tree ( tree * ); +int tree_size ( lnode * ); +int tree_size_recurse ( lnode ** ); +void copy_tree_replace_many ( int space, lnode *parent, lnode **replace, + lnode **with, int count, int *repcount ); +void copy_tree_replace_many_recurse ( int space, lnode **lp, lnode **lr, + lnode **lw, int count, int *repcount ); +void skip_over_subtree ( lnode ** ); +void reference_ephem_constants ( lnode *, int ); +void reference_ephem_constants_recurse ( lnode **, int ); + + +/*** pretty.c ***/ + +void gen_indents ( lnode **l, int **is, int start, int sameline ); +void pretty_print_tree_recurse ( lnode **l, int **is, FILE *fil ); +void pretty_print_tree ( lnode *data, FILE *fil ); + + +/*** genspace.c ***/ + +void initialize_genspace ( void ); +void free_genspace ( void ); +lnode * gensp_next ( int space ); +int gensp_next_int ( int space ); +void gensp_dup_tree ( int space, tree *t ); +void gensp_reset ( int space ); +void gensp_print ( int space, int i, int j, FILE *out ); + + +/*** individ.c ***/ + +void print_individual ( individual *ind, FILE *f ); +void pretty_print_individual ( individual *ind, FILE *f ); +int individual_size ( individual *ind ); +int individual_depth ( individual *ind ); +void duplicate_individual ( individual *to, individual *from ); + + +/*** crossover.c ***/ + +int operator_crossover_init ( char *options, breedphase *bp ); +void operator_crossover_free ( void * ); +void operator_crossover_start ( population *oldpop, void *data ); +void operator_crossover_end ( void *data ); +void operator_crossover ( population *oldpop, population *newpop, void *data ); + + +/*** reproduce.c ***/ + +int operator_reproduce_init ( char *options, breedphase *bp ); +void operator_reproduce_free ( void * ); +void operator_reproduce_start ( population *oldpop, void *data ); +void operator_reproduce_end ( void *data ); +void operator_reproduce ( population *oldpop, population *newpop, void *data ); + + +/*** mutate.c ***/ + +int operator_mutate_init ( char *options, breedphase *bp ); +void operator_mutate_free ( void * ); +void operator_mutate_start ( population *oldpop, void *data ); +void operator_mutate_end ( void *data ); +void operator_mutate ( population *oldpop, population *newpop, void *data ); + + +/*** boltzman.c ***/ + +sel_context *select_boltzman_context (int op, + sel_context *sc, + population *p, + char *string ); + + +/*** sigma.c ***/ + +sel_context *select_sigma_context (int op, + sel_context *sc, + population *p, + char *string ); + + +#endif diff --git a/lib/lilgp/kernel_mod/random.c b/lib/lilgp/kernel_mod/random.c new file mode 100644 index 0000000..2e8d0d3 --- /dev/null +++ b/lib/lilgp/kernel_mod/random.c @@ -0,0 +1,200 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + + +#include +#include + +/* + * adapted from the RAN3 routine (in Fortran - ugh) in "Numerical Recipes: + * The Art of Scientific Computing", page 199. They adapted it from + * (surprise) Knuth, Seminumerical Algorithms. + */ + + +/* random_seed() + * + * seeds the random number generator using the given int. + */ + +void random_seed ( randomgen *randstr, int seed ) +{ + int i, i1, k; + double mj, mk, ms; + + pthread_mutex_init(&randstr->rmut, NULL); + + randstr->mbig = 10000000.0; + randstr->mseed = 1618033.0; + randstr->mz = 0.0; + + mj = randstr->mseed - seed; + ms = (mj<0)? -0.5 : 0.5; + mj = mj-((int)((mj/randstr->mbig)+ms)*randstr->mbig); + randstr->ma[54] = mj; + mk = 1; + + for ( i = 1; i < 55; ++i ) + { + i1 = ((21*i) % 55)-1; + randstr->ma[i1] = mk; + mk = mj - mk; + if ( mk < randstr->mz ) + mk += randstr->mbig; + mj = randstr->ma[i1]; + } + + for ( k = 0; k < 4; ++k ) + for ( i = 0; i < 55; ++i ) + { + randstr->ma[i] = randstr->ma[i] - randstr->ma[(i+30)%55]; + if ( randstr->ma[i] < randstr->mz ) + randstr->ma[i] += randstr->mbig; + } + + randstr->inext = 0; + randstr->inextp = 31; /* the number 31 is special -- see Knuth. */ + +} + + +/* random_destroy() + * + * destroys the mutex with the random structure + */ + +void random_destroy ( randomgen *randstr ) +{ + pthread_mutex_destroy(&randstr->rmut); +} + + +/* random_int() + * + * returns an integer randomly selected from the uniform distribution + * over the interval [0,max). + */ + +int random_int ( randomgen *randstr, int max ) +{ + double v = random_double(randstr); + return (int)(v*(double)max); +} + +/* random_double() + * + * returns a double randomly selected from the uniform distribution + * over the interval [0,1). + */ + +double random_double ( randomgen *randstr ) +{ + /* There's a race condition on this, so we need to mutex it! */ + + double mj; + double res; + + pthread_mutex_lock(&(randstr->rmut)); + + randstr->inext = (randstr->inext+1)%55; + randstr->inextp = (randstr->inextp+1)%55; + + mj = randstr->ma[randstr->inext] - randstr->ma[randstr->inextp]; + if ( mj < randstr->mz ) + mj = mj + randstr->mbig; + randstr->ma[randstr->inext] = mj; + + res=randstr->mbig; + pthread_mutex_unlock(&(randstr->rmut)); + return mj/res; +} + +/* random_get_state() + * + * allocates a memory block, saves the state of the random number + * generator in it, and returns the address. puts the number of + * bytes in the block into *size. + */ + +void *random_get_state ( randomgen *randstr, int *size ) +{ + unsigned char *buffer; + double *db; + int i; + + *size = sizeof(double)*58+2*sizeof(int); + + buffer = (unsigned char *)MALLOC ( *size ); + db = (double *)buffer; + + db[0] = randstr->mbig; + db[1] = randstr->mseed; + db[2] = randstr->mz; + for ( i = 0; i < 55; ++i ) + db[i+3] = randstr->ma[i]; + ((int *)(buffer+58*sizeof(double)))[0] = randstr->inext; + ((int *)(buffer+58*sizeof(double)))[1] = randstr->inextp; + +#ifdef DEBUG + fprintf ( stderr, "writing random state: %lf, %lf, %lf, %d, %d\n", + randstr->mbig, randstr->mseed, randstr->mz, randstr->inext, randstr->inextp ); +#endif + + return buffer; + +} + +/* random_set_state() + * + * restores the random number generator state using a block of + * data previously returned by random_get_state(). + */ + +void random_set_state ( randomgen *randstr, void *buffer ) +{ + unsigned char *cb; + double *db; + int i; + + cb = (unsigned char *)buffer; + db = (double *)buffer; + + randstr->mbig = db[0]; + randstr->mseed = db[1]; + randstr->mz = db[2]; + for ( i = 0; i < 55; ++i ) + randstr->ma[i] = db[i+3]; + randstr->inext = ((int *)(cb+58*sizeof(double)))[0]; + randstr->inextp = ((int *)(cb+58*sizeof(double)))[1]; + +#ifdef DEBUG + fprintf ( stderr, "reading random state: %lf, %lf, %lf, %d, %d\n", + randstr->mbig, randstr->mseed, randstr->mz, randstr->inext, randstr->inextp ); +#endif + +} + diff --git a/lib/lilgp/kernel_mod/reproduc.c b/lib/lilgp/kernel_mod/reproduc.c new file mode 100644 index 0000000..3b6ebbf --- /dev/null +++ b/lib/lilgp/kernel_mod/reproduc.c @@ -0,0 +1,171 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +typedef struct +{ + char *sname; + sel_context *sc; +} reproduce_data; + +/* operator_reproduce_init() + * + * called to parse reproduction options and initialize one record of a + * breedphase table. + */ + +int operator_reproduce_init ( char *options, breedphase *bp ) +{ + int errors = 0; + reproduce_data *rd; + int i, j; + char **argv; + + rd = (reproduce_data *)MALLOC ( sizeof ( reproduce_data ) ); + + /* fill in the breedphase record. */ + bp->operator = OPERATOR_REPRODUCE; + bp->data = (void *)rd; + bp->operator_free = operator_reproduce_free; + bp->operator_start = operator_reproduce_start; + bp->operator_end = operator_reproduce_end; + bp->operator_operate = operator_reproduce; + + rd->sname = NULL; + + j = parse_o_rama ( options, &argv ); + + for ( i = 0; i < j; ++i ) + { + /* parse "select" option. */ + if ( strcmp ( "select", argv[i] ) == 0 ) + { + if ( !exists_select_method ( argv[++i] ) ) + { + ++errors; + error ( E_ERROR, "reproduction: \"%s\" is not a known selection method.", + argv[i] ); + } + FREE ( rd->sname ); + rd->sname = (char *)MALLOC ( (strlen(argv[i])+1) * sizeof ( char ) ); + strcpy ( rd->sname, argv[i] ); + } + else + { + ++errors; + error ( E_ERROR, "reproduction: unknown option \"%s\".", + argv[i] ); + } + } + + free_o_rama ( j, &argv ); + + if ( rd->sname == NULL ) + { + ++errors; + error ( E_ERROR, "reproduction: no selection method specified." ); + } + +#ifdef DEBUG + if ( !errors ) + { + printf ( "reproduction options:\n" ); + printf ( " selection: %s\n", rd->sname==NULL?"NULL":rd->sname ); + } +#endif + + return errors; +} + +/* operator_reproduce_free() + * + * frees the reproduction-specific data of a breedphase record. + */ + +void operator_reproduce_free ( void *data ) +{ + reproduce_data * rd; + + rd = (reproduce_data *)data; + + FREE ( rd->sname ); + FREE ( rd ); +} + +/* operator_reproduce_start() + * + * gets the selection context for this phase. + */ + +void operator_reproduce_start ( population *oldpop, void *data ) +{ + reproduce_data * rd; + select_context_func_ptr select_con; + + rd = (reproduce_data *)data; + + select_con = get_select_context ( rd->sname ); + rd->sc = select_con ( SELECT_INIT, NULL, oldpop, rd->sname ); +} + +/* operator_reproduce_end() + * + * frees the selection context for this phase. + */ + +void operator_reproduce_end ( void *data ) +{ + reproduce_data * rd; + + rd = (reproduce_data *)data; + rd->sc->context_method ( SELECT_CLEAN, rd->sc, NULL, NULL ); +} + + +/* operator_reproduce() + * + * does the reproduction operation. + */ + +void operator_reproduce ( population *oldpop, population *newpop, + void *data ) +{ + int j; + reproduce_data * rd; + + rd = (reproduce_data *)data; + + /* select an individual... */ + j = rd->sc->select_method ( rd->sc ); + + /* ...and reproduce it into the new population. */ + duplicate_individual ( (newpop->ind)+newpop->next, (oldpop->ind)+j ); + newpop->ind[newpop->next].flags = FLAG_NONE; + ++newpop->next; +} + diff --git a/lib/lilgp/kernel_mod/select.c b/lib/lilgp/kernel_mod/select.c new file mode 100644 index 0000000..40e04fd --- /dev/null +++ b/lib/lilgp/kernel_mod/select.c @@ -0,0 +1,281 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +/* the table listing selection method names and the functions which + create selection contexts. extend this table whenever you add a + new selection method. {NULL,NULL} marks the end of the table. */ + +select_method select_method_table[] = +{ { "fitness", select_afit_context }, + { "fitness_overselect", select_afit_overselect_context }, + { "tournament", select_tournament_context }, + { "inverse_fitness", select_inverse_afit_context }, + { "best", select_best_context }, + { "worst", select_worst_context }, + { "random", select_random_context }, + { "boltzman", select_boltzman_context }, + { "sigma", select_sigma_context }, + { NULL, NULL } }; + + + +/* context_func_ptr() + * + * looks for the named string in the selection method table + * and returns the corresponding context method. + */ + +select_context_func_ptr get_select_context ( char *string ) +{ + int i, j, k; + char *name; + select_method *s = select_method_table; + + /* pull off the name section of the string. */ + for ( i = 0; string[i] != 0 && string[i] != ',' + && string[i] != '\n'; ++i ); + name = (char *)MALLOC ( i+1 ); + k = 0; + for ( j = 0; j < i; ++j ) + if ( !isspace(string[j]) ) + name[k++] = string[j]; + name[k] = 0; + + /* search the table. */ + while ( s->name != NULL ) + { + if ( strcmp ( s->name, name ) == 0 ) + break; + ++s; + } + FREE ( name ); + + /* return the function (NULL if it wasn't found). */ + return s->func; +} + +/* exists_select_method() + * + * returns 1 if the named selection method exists, 0 otherwise. + */ + +int exists_select_method ( char *string ) +{ + return ( get_select_context ( string ) != NULL ); +} + +/* free_o_rama() + * + * frees the argv-style array produced by parse_o_rama(). + */ + +void free_o_rama ( int j, char ***argv ) +{ + int i; + + for ( i = 0; i < j; ++i ) + FREE ( (*argv)[i] ); + FREE ( *argv ); + *argv = NULL; +} + +/* parse_o_rama() + * + * breaks a string into an argv-style array. field delimiters + * are newlines, commas, equal-signs, NULLS, and open-parentheses. + * no field breaking occurs within a pair of nested parentheses. + * any whitespace is removed from the string. any zero-length + * fields are ignored. + * + * currently seg faults parentheses are mismatched. this should + * be fixed. + */ + +int parse_o_rama ( char *string, char ***argv ) +{ + int i, j; + char *p, *m, *o; + int parendepth = 0; + char **fargv; + int nonblank = 0; + + /** this is not commented because it sorely needs to be + rewritten. **/ + + /** pass through the string counting fields **/ + for ( j = 1, p = string; *p; ++p ) + { + j += (parendepth==0)&&(*p=='\n'||*p=='='||*p==','||*p==0||*p=='('); + if ( *p == '(' ) + ++parendepth; + else if ( *p == ')' ) + { + --parendepth; + if ( parendepth == 0 ) + ++j; + else if ( parendepth < 0 ) + return -1; + } + } + + if ( *string == 0 ) + j = 0; + + /* allocate space for the fields. */ + fargv = (char **)MALLOC ( j * sizeof ( char * ) ); + p = m = string; + parendepth = 0; + for ( i = 0; i < j; ++i ) + { + while ( parendepth || ( *p && *p != '=' && *p != ',' && *p != '\n' + && *p != '(' && *p != ')' ) ) + { + if ( *p == '(' ) + ++parendepth; + else if ( *p == ')' ) + { + --parendepth; + if ( !parendepth ) + --p; + } + ++p; + } + if ( *p == '(' ) + ++parendepth; + fargv[i] = (char *)MALLOC ( (p-m+1) * sizeof ( char ) ); + o = fargv[i]; + while ( m < p ) + { + if ( !isspace(*m) ) + *(o++) = *m; + ++m; + } + *o = 0; + if ( fargv[i][0] != 0 ) + ++nonblank; + ++p; + ++m; + } + + *argv = (char **)MALLOC ( nonblank * sizeof ( char * ) ); + nonblank = 0; +#ifdef DEBUG + printf ( "parse_o_rama: %d fields\n", nonblank ); +#endif + for ( i = 0; i < j; ++i ) + { + if ( fargv[i][0] ) + { +#ifdef DEBUG + printf ( " [%s]\n", fargv[i] ); +#endif + (*argv)[nonblank++] = fargv[i]; + } + else + FREE ( fargv[i] ); + } + FREE ( fargv ); + + return nonblank; +} + +/* rev_ind_compare() + * + * comparison function for sorting a reverse_index table by increasing + * fitness. + */ + +int rev_ind_compare ( const void *a, const void *b ) +{ + if ( ((reverse_index *)a)->fitness > ((reverse_index *)b)->fitness ) + return 1; + else if ( ((reverse_index *)a)->fitness < ((reverse_index *)b)->fitness ) + return -1; + else + return 0; +} + +/* select_interval() + * + * for selection methods which can be expressed as randomly selecting an + * individual, where each individual has some fixed probability of + * being selected, this efficiently does the selection. + * + * the selection_context's data field must point to an interval_data + * structure, which contains (essentially) a list of consecutive intervals + * and which individuals they correspond to. this function chooses a random + * number in the whole range of the intervals and uses binary search to + * locate which interval that falls in, returning the corresponding + * index. + */ + +int select_interval ( sel_context *sc ) +{ + double rval; + int middle; + interval_data *id = sc->data; + int low = 0, high = id->count; + + rval = random_double(&globrand) * id->total; + +#ifdef DEBUG_INTERVAL + printf ( "random value is %.6f (%.6f)\n", rval, id->total ); +#endif + + while ( low < high-1 ) + { +#ifdef DEBUG_INTERVAL + printf ( "current range is %d (%.6f) to %d (%.6f)\n", + low, id->ri[low].fitness, + high, id->ri[high].fitness ); +#endif + + middle = (low+high)/2; + if ( rval >= id->ri[middle].fitness ) + low = middle; + else + high = middle; + } + +#ifdef DEBUG_INTERVAL + printf ( "selected value %d (%.6f)\n", high, + id->ri[high].fitness ); +#endif + + if ( id->ri[high].index == -1 ) + { + /* this shouldn't ever happen either, but I'm nervous about + off-by-one errors on binary searches. */ + fprintf ( stderr, "afitness select misfired.\n" ); + } + + return id->ri[high].index; + +} + diff --git a/lib/lilgp/kernel_mod/sigma.c b/lib/lilgp/kernel_mod/sigma.c new file mode 100644 index 0000000..53cbde8 --- /dev/null +++ b/lib/lilgp/kernel_mod/sigma.c @@ -0,0 +1,95 @@ +#include +#include + + +sel_context *select_sigma_context (int op, + sel_context *sc, + population *p, + char *string ) +{ + interval_data *id; + int i, j = 0; + double average; + double std; + double n; + + switch ( op ) + { + case SELECT_INIT: + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + sc->p = p; + sc->select_method = select_interval; + sc->context_method = select_boltzman_context; + + /* the interval_data structure (used with select_interval()) is + essentially a list of interval widths and indices for each + individual. */ + + id = (interval_data *)MALLOC ( sizeof ( interval_data ) ); + + id->ri = (reverse_index *)MALLOC ( (p->size+1) * + sizeof ( reverse_index ) ); + id->total = 0.0; + id->count = p->size; + id->ri[j].fitness = 0.0; + id->ri[j].index = -1; + ++j; + + /* Compute average */ + + average=0; + for (i=0;isize;++i) + { + average += p->ind[i].a_fitness; + } + average/=p->size; + + /* Compute Standard Deviation */ + if (p->size<=1) + std=0; + else + { + std=0; + for(i=0;isize;i++) + { + std += (p->ind[i].a_fitness - average) * + (p->ind[i].a_fitness - average); + } + std/=(p->size-1); + std=sqrt(std); + } + + + for (i=0; i< p->size; ++i) + { + if (std==0) + { + n=1.0; + } + else + { + n= 1 + (p->ind[i].a_fitness - average)/(2 * std); + } + + id->total += n; + id->ri[j].fitness = id->total; + id->ri[j].index = i; + ++j; + } + + sc->data = (void *)id; + return sc; + break; + + case SELECT_CLEAN: + id = (interval_data *)(sc->data); + FREE ( id->ri ); + + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} diff --git a/lib/lilgp/kernel_mod/tournmnt.c b/lib/lilgp/kernel_mod/tournmnt.c new file mode 100644 index 0000000..b1dba09 --- /dev/null +++ b/lib/lilgp/kernel_mod/tournmnt.c @@ -0,0 +1,125 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + +typedef struct +{ + int count; +} tournament_data; + + + +/* select_tournament_context() + * + * returns a selection context for the tournament selection method. + */ + +sel_context *select_tournament_context ( int op, sel_context *sc, + population *p, char *string ) +{ + char **argv; + int i, j; + tournament_data *td; + + switch ( op ) + { + case SELECT_INIT: + + sc = (sel_context *)MALLOC ( sizeof ( sel_context ) ); + /* fill in fields of the selection context. */ + sc->p = p; + sc->select_method = select_tournament; + sc->context_method = select_tournament_context; + + /* store the tournament data record. */ + td = (tournament_data *)MALLOC ( sizeof ( tournament_data ) ); + + /* parse the options. */ + td->count = 2; + j = parse_o_rama ( string, &argv ); + for ( i = 1; i < j; ++i ) + { + /* "size" is the only valid option. */ + if ( strcmp ( argv[i], "size" ) == 0 ) + td->count = atoi ( argv[++i] ); + else + error ( E_FATAL_ERROR, "unknown tournament option \"%s\".", + argv[i] ); + } + + free_o_rama ( j, &argv ); + + if ( td->count <= 0 ) + error ( E_FATAL_ERROR, + "tournament size must be at least 1. (%s)", string ); + + sc->data = (void *)td; + return sc; + break; + + case SELECT_CLEAN: + + td = (tournament_data *)(sc->data); + FREE ( sc->data ); + FREE ( sc ); + return NULL; + break; + } + + return NULL; +} + +/* select_tournament() + * + * does a tournament selection. randomly picks (uniformly) a number (size) + * of individuals, then selects the best one among those. + */ + +int select_tournament ( sel_context *sc ) +{ + int i, j, k; + tournament_data *td; + population *p; + + td = (tournament_data *)(sc->data); + p = sc->p; + + j = -1; + for ( i = 0; i < td->count; ++i ) + { + /* pick another individual. */ + k = random_int ( &globrand, p->size ); + /* save it if it is better than the current best. */ + if ( j == -1 || p->ind[k].a_fitness > p->ind[j].a_fitness ) + j = k; + } + + return j; +} + + diff --git a/lib/lilgp/kernel_mod/tree.c b/lib/lilgp/kernel_mod/tree.c new file mode 100644 index 0000000..6bc218c --- /dev/null +++ b/lib/lilgp/kernel_mod/tree.c @@ -0,0 +1,1115 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include + + +/* + * note: that almost all these functions that recurse through the tree + * come in two parts: the wrapper and the recursive part. the "standard" + * method of traversing a tree like this is to set up a pointer to the + * first node in the tree, then subsequent recursive calls step the + * pointer forward, traversing the tree in preorder. the wrapper function + * sets up this pointer, then passes the address of that pointer [that's + * an (lnode **)] to the recursive part. + * + * the first function in this file [tree_size()] is commented in detail, + * others (which are just variations on this theme) are rather glossed over. + * + * note: when I refer to a tree's "size" I almost always mean "how many + * lnodes the tree takes to store", NOT how many nodes are in the tree. + * watch out for this. (the major exception is, of course, "tree_size()" + * which returns the node count.) + */ + +/* + * tree_nodes: return the number of nodes in the tree. + */ + +int tree_nodes ( lnode *tree ) +{ + lnode *l = tree; + return tree_nodes_recurse ( &l ); +} + +int tree_nodes_recurse ( lnode **l ) +{ + /* + * *l always points at a function node here; save the function. + */ + function *f = (**l).f; + int i, j = 1; + + /* step the pointer over the function. */ + ++*l; + + /* if the function is a terminal, then the recursion bottoms out. */ + if ( f->arity == 0 ) + { + /* skip the pointer over the ERC value if this node has one. */ + if ( f->ephem_gen ) + ++*l; + + /* return this subtree size. */ + return 1; + } + else + { + /* function is not a terminal, so add up its subtrees and return + * the total. + */ + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + j += tree_nodes_recurse ( l ); + break; + + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + /* skip the pointer over the skipsize node. */ + ++*l; + /* add this subtree's size to the total. */ + j += tree_nodes_recurse ( l ); + } + break; + } + } + + return j; +} + +/* + * tree_nodes_internal: return number of internal (function) nodes in the + * tree. + */ + +int tree_nodes_internal ( lnode *data ) +{ + lnode *l = data; + return tree_nodes_internal_recurse ( &l ); +} + +int tree_nodes_internal_recurse ( lnode **l ) +{ + function *f = (**l).f; + int i, j = 1; + + ++*l; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + ++*l; + return 0; + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + j += tree_nodes_internal_recurse ( l ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + j += tree_nodes_internal_recurse ( l ); + } + break; + } + } + + return j; +} + +/* + * tree_nodes_external: return number of external (terminal) nodes in the + * tree. + */ + +int tree_nodes_external ( lnode *data ) +{ + lnode *l = data; + return tree_nodes_external_recurse ( &l ); +} + +int tree_nodes_external_recurse ( lnode **l ) +{ + function *f = (**l).f; + int i, j = 0; + + ++*l; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + ++*l; + return 1; + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + j += tree_nodes_external_recurse ( l ) ; + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + j += tree_nodes_external_recurse ( l ) ; + } + break; + } + } + return j; +} + +/* + * print_tree_array: print the tree, as an array, on stdout. primarily + * for debugging. + */ + +void print_tree_array ( lnode *data ) +{ + lnode *l = data; + int i = 0; + print_tree_array_recurse ( &l, &i ); +} + +void print_tree_array_recurse ( lnode **l, int *index ) +{ + function *f = (**l).f; + int i; + + fprintf ( stderr, "%3d: function: \"%s\"\n", *index, f->string ); + + ++*l; + ++*index; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + { + fprintf ( stderr, "%3d: value: %s\n", *index, (f->ephem_str)((**l).d->d) ); + ++*l; + ++*index; + } + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + print_tree_array_recurse ( l, index ); + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + fprintf ( stderr, "%3d: {skip %d}\n", *index, (**l).s ); + ++*l; + ++*index; + print_tree_array_recurse ( l, index ); + } + break; + } + } +} + +/* + * print_tree: print the tree, as a LISP S-expression, to the given FILE *. + */ + +void print_tree ( lnode *data, FILE *fil ) +{ + lnode *c = data; + print_tree_recurse ( &c, fil ); + fprintf ( fil, "\n" ); +} + +void print_tree_recurse ( lnode **l, FILE *fil ) +{ + function *f; + int i; + + f = (**l).f; + + fprintf ( fil, " " ); + if ( f->arity != 0 ) + fprintf ( fil, "(" ); + + ++*l; + if ( f->ephem_gen ) + { + fprintf ( fil, "%s", (f->ephem_str)((**l).d->d) ); +#ifdef DEBUG + fprintf ( fil, " <%d>", (**l).d->refcount ); +#endif + ++*l; + } + else + fprintf ( fil, "%s", f->string ); + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + print_tree_recurse ( l, fil ); + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { +#ifdef DEBUG + fprintf ( fil, " {skip %d}", (**l).s ); +#endif + ++*l; + print_tree_recurse ( l, fil ); + } + break; + } + + if ( f->arity != 0 ) + fprintf ( fil, ")" ); +} + +/* + * generate_random_full_tree: generates, in the given generation space, + * a random full tree of the specified depth. + */ + +int generate_random_full_tree ( int space, int depth, function_set *fset, int return_type ) +{ + int i, j; + int save, used_save, is_expr; + int c_nval, *f_used, f_num_used, f_this; + int notvalid = 0; + + /* Reached maximum depth so choose terminal */ + if ( depth == 0 ) + { + /* Check if a terminal exists for this type */ + if ( fset->terminal_count_by_type[return_type] == 0 ) + return 1; + + /* Randomly select the terminal and add it to the tree */ + i = random_int(&globrand, fset->terminal_count_by_type[return_type])+ + (fset->function_count_by_type[return_type]); + gensp_next(space)->f = (fset->cset_by_type[return_type])+i; + + /* if this terminal is an ERC, then generate one and store it. */ + if ( (fset->cset_by_type[return_type])[i].ephem_gen ) + gensp_next(space)->d = new_ephemeral_const + ( (fset->cset_by_type[return_type])+i ); + + /* Tree is OK */ + return 0; + } + + /* Check if a function of this type exists */ + if ( fset->function_count_by_type[return_type] == 0 ) + return 1; + + /* Possible function so init function used array */ + f_used = (int *) malloc ((fset->function_count_by_type[return_type]) * sizeof(int)); + for ( i = 0; i < fset->function_count_by_type[return_type]; ++i ) + f_used[i] = 0; + f_num_used = 0; + + /* Get a ptr to the next free lnode */ + f_this = gensp_next_int(space); + /* Save our position in the genspace */ + used_save = gensp[space].used; + + /* Try to generate a tree to attach to parent node */ + do + { + /* Reset to possibly valid */ + notvalid = 0; + + /* Check if any more functions exist */ + if ( f_num_used >= fset->function_count_by_type[return_type] ) + { + /* Unuse the function we recieved */ + --gensp[space].used; + return 1; + } + + /* Generate unique function (not at depth 0) */ + do { + i = random_int(&globrand, fset->function_count_by_type[return_type]); + } while ( f_used[i] ); + /* Mark function used */ + f_used[i] = 1; + ++f_num_used; + /* Setup function in genspace */ + gensp[space].data[f_this].f = (fset->cset_by_type[return_type])+i; + + /* Check if this is a EXPR type function */ + is_expr = gensp[space].data[f_this].f->type; + is_expr = (is_expr == FUNC_EXPR || is_expr == EVAL_EXPR); + + /* now generate the node's children. */ + for ( j = 0; j < gensp[space].data[f_this].f->arity; ++j ) + { + /* if this is a EXPR function then get a location for the skip node */ + if ( is_expr ) + save = gensp_next_int ( space ); + + /* generate a full tree of depth [depth-1]. */ + c_nval = generate_random_full_tree ( space, depth - 1, fset, + gensp[space].data[f_this].f->argument_type[j]); + + /* save the size of the subtree in the skip node, if we need to. */ + if ( is_expr ) + gensp[space].data[save].s = gensp[space].used - save - 1; + + /* if one child is not creatable then quit */ + if ( c_nval ) + { + /* Roll back in genspace to before children created */ + gensp[space].used = used_save; + notvalid = 1; + break; + } + } + } while ( notvalid ); + + /* Tree is OK */ + return 0; +} + +/* + * generate_random_grow_tree: grow a random tree, of (maximum) depth [depth]. + * works just like genereate_random_full_tree, except that a node with + * depth > 0 can be a terminal. + */ + +int generate_random_grow_tree ( int space, int depth, function_set *fset, int return_type ) +{ + int i, j; + int save, used_save, is_expr; + int c_nval, *f_used, f_num_used, f_this; + int notvalid = 0; + int num_node = fset->function_count_by_type[return_type]+fset->terminal_count_by_type[return_type]; + int num_func = fset->function_count_by_type[return_type]; + int sel_term = 0; + + /* Calculate whether a function or terminal is selected */ + if ( random_double ( &globrand ) >= (double) num_func / (double) num_node ) + sel_term = 1; + + /* Reached maximum depth so choose terminal */ + if ( depth == 0 || sel_term ) + { + /* Check if a terminal exists for this type */ + if ( fset->terminal_count_by_type[return_type] == 0 ) + return 1; + + i = random_int(&globrand, fset->terminal_count_by_type[return_type])+ + (fset->function_count_by_type[return_type]); + gensp_next(space)->f = (fset->cset_by_type[return_type])+i; + + if ( (fset->cset_by_type[return_type])[i].ephem_gen ) + gensp_next(space)->d = new_ephemeral_const ( (fset->cset_by_type[return_type])+i ); + + /* Tree OK */ + return 0; + } + + /* Check if a function of this type exists */ + if ( fset->function_count_by_type[return_type] == 0 ) + return 1; + + /* Possible function so init function used array */ + f_used = (int *) malloc ((fset->function_count_by_type[return_type]) * sizeof(int)); + for ( i = 0; i < fset->function_count_by_type[return_type]; ++i ) + f_used[i] = 0; + f_num_used = 0; + + /* Get a ptr to the next free lnode */ + f_this = gensp_next_int(space); + /* Save our position in the genspace */ + used_save = gensp[space].used; + + /* Try to generate a tree to attach to parent node */ + do + { + /* Reset to possibly valid */ + notvalid = 0; + + /* Check if any more functions exist */ + if ( f_num_used >= fset->function_count_by_type[return_type] ) + { + /* Unuse the function we recieved */ + --gensp[space].used; + return 1; + } + + /* Generate unique function (not at depth 0) */ + do { + i = random_int(&globrand, fset->function_count_by_type[return_type]); + } while ( f_used[i] ); + /* Mark function used */ + f_used[i] = 1; + ++f_num_used; + /* Setup function in genspace */ + gensp[space].data[f_this].f = (fset->cset_by_type[return_type])+i; + + /* Check if this is a EXPR type function */ + is_expr = gensp[space].data[f_this].f->type; + is_expr = (is_expr == FUNC_EXPR || is_expr == EVAL_EXPR); + + /* now generate the node's children. */ + for ( j = 0; j < gensp[space].data[f_this].f->arity; ++j ) + { + /* if this is a EXPR function then get a location for the skip node */ + if ( is_expr ) + save = gensp_next_int ( space ); + + /* generate a full tree of depth [depth-1]. */ + c_nval = generate_random_grow_tree ( space, depth - 1, fset, + gensp[space].data[f_this].f->argument_type[j]); + + /* save the size of the subtree in the skip node, if we need to. */ + if ( is_expr ) + gensp[space].data[save].s = gensp[space].used - save - 1; + + /* if one child is not creatable then quit */ + if ( c_nval ) + { + /* Roll back in genspace to before children created */ + gensp[space].used = used_save; + notvalid = 1; + break; + } + } + } while ( notvalid ); + + /* Tree OK */ + return 0; +} + +/* + * tree_depth: return the depth of the tree. a tree with one node has + * depth 0. + */ + +int tree_depth ( lnode *data ) +{ + lnode *l = data; + return tree_depth_recurse ( &l ); +} + +int tree_depth_recurse ( lnode **l ) +{ + + function *f = (**l).f; + int i, j, k = 0; + + ++*l; + if ( f->arity == 0 ) + { + /* a terminal node; advance the pointer and return 0. */ + + if ( f->ephem_gen ) + ++*l; + return 0; + } + + /* a nonterminal; find the deepest child and return its depth plus one. */ + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + j = tree_depth_recurse ( l ); + if ( j > k ) + k = j; + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + j = tree_depth_recurse ( l ); + if ( j > k ) + k = j; + } + break; + } + + return k+1; +} + +int tree_depth_to_subtree ( lnode *data, lnode *sub ) +{ + lnode *l = data; + return tree_depth_to_subtree_recurse ( &l, sub, 0 ); +} + +int tree_depth_to_subtree_recurse ( lnode **l, lnode *sub, int depth ) +{ + function *f = (**l).f; + int i, j; + + if ( *l == sub ) + return depth; + + ++*l; + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + ++*l; + return -1; + } + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + j = tree_depth_to_subtree_recurse ( l, sub, depth+1 ); + if ( j != -1 ) + return j; + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + j = tree_depth_to_subtree_recurse ( l, sub, depth+1 ); + if ( j != -1 ) + return j; + } + break; + } + + return -1; +} + + +/* + * get_subtree: returns the start'th subtree of the tree, where start + * ranges from 0..(nodecount-1). the zeroth subtree is the tree itself. + * the subtrees are returned in preorder. + */ + +lnode *get_subtree ( lnode *data, int start ) +{ + lnode *l = data; + /* initialize a counter with start. the counter is passed by address, + * and so is shared across all recursive calls. it is decremented once + * for every node in the tree -- the current node when it reaches zero + * is returned. + */ + int c = start; + + return get_subtree_recurse ( &l, &c ); +} + +lnode *get_subtree_recurse ( lnode **l, int *c ) +{ + function *f = (**l).f; + lnode *r; + int i; + + /* if the counter is zero, return the current subtree. */ + if ( *c == 0 ) + return *l; + + ++*l; + --*c; + + if ( f->arity == 0 ) + { + /* skip over the terminal nodes. */ + if ( f->ephem_gen ) + ++*l; + } + else + { + /* recurse into this node's children. if one of them returns + * non-NULL, it means that the subtree has been found and the + * return value is immediately propagated up the call chain. + * if all of them return NULL, then the desired subtree is + * not in this subtree and we return NULL. */ + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + r = get_subtree_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + r = get_subtree_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + } + } + + return NULL; +} + +/* + * get_subtree_internal: just like get_subtree, but only selects nonterminal + * points. start should range from 0..(internalnodecount-1). + */ + +lnode *get_subtree_internal ( lnode *data, int start ) +{ + lnode *l = data; + int c = start; + return get_subtree_internal_recurse ( &l, &c ); +} + +lnode *get_subtree_internal_recurse ( lnode **l, int *c ) +{ + function *f = (**l).f; + int i; + lnode *r; + + /* if the current subtree is a terminal node, skip it immediately. */ + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + ++*l; + ++*l; + } + else + { + if ( *c == 0 ) + return *l; + + ++*l; + --*c; + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + r = get_subtree_internal_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + r = get_subtree_internal_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + } + } + + return NULL; +} + +/* + * get_subtree_external: just like get_subtree, but only selects terminal + * nodes (that is, 1-node subtrees). start ranges from + * 0..(externalnodecount-1). + */ + +lnode *get_subtree_external ( lnode *data, int start ) +{ + lnode *l = data; + int c = start; + return get_subtree_external_recurse ( &l, &c ); +} + +lnode *get_subtree_external_recurse ( lnode **l, int *c ) +{ + function *f = (**l).f; + int i; + lnode *r; + + if ( f->arity == 0 ) + { + if ( *c == 0 ) + return *l; + + ++*l; + --*c; + + if ( f->ephem_gen ) + ++*l; + } + else + { + ++*l; + + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + r = get_subtree_external_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + r = get_subtree_external_recurse ( l, c ); + if ( r != NULL ) + return r; + } + break; + } + } + + return NULL; +} + +/* + * copy_tree: allocates space for and makes a copy of a tree. + */ + +void copy_tree ( tree *to, tree *from ) +{ + to->data = (lnode *)MALLOC ( from->size * sizeof ( lnode ) ); + to->size = from->size; + to->nodes = from->nodes; + memcpy ( to->data, from->data, from->size * sizeof ( lnode ) ); +} + +/* + * free_tree: frees the memory allocated by a tree, and resets variables. + */ + +void free_tree ( tree *t ) +{ + FREE ( t->data ); + t->data = NULL; + t->size = -1; + t->nodes = -1; +} + +/* + * tree_size: returns the number of lnodes used to store the tree. + * this is equal to + * (node count)+(ERC count)+(conditionally evaluated subtree count). + */ + +int tree_size ( lnode *data ) +{ + lnode *l = data; + return tree_size_recurse ( &l ); +} + +int tree_size_recurse ( lnode **l ) +{ + function *f = (**l).f; + int i, j = 1; + + ++*l; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + { + ++*l; + ++j; + } + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + j += tree_size_recurse ( l ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + ++j; + j += tree_size_recurse ( l ); + } + break; + } + } + + return j; + +} + +/* + * copy_tree_replace_many: copies a tree, replacing some of its subtrees + * with other subtrees. arguments: + * + * space - the generation space to put the new tree in + * parent - the tree to copy from + * replace - a list of subtrees to replace + * with - a list of subtrees to replace them with + * count - the size of the replace and width arrays + * repcount - returns the number of subtrees replaced + * + * this function starts to recursively copy the "parent" tree to "dest". + * when the recursive copy hits any subtree in the "replace" array, + * the corresponding subtree in the "with" array is copied in its + * place. repcount returns the number of subtrees that were hit and + * replaced. this can be less than count, as some subtrees may never + * be found (if, for instance, one of the subtrees in the "replace" + * array is the subtree of another). + */ + +void copy_tree_replace_many ( int space, lnode *parent, lnode **replace, + lnode **with, int count, int *repcount ) +{ + lnode *lp = parent; + + gensp_reset ( space ); + *repcount = 0; + copy_tree_replace_many_recurse ( space, &lp, replace, + with, count, repcount ); +} + +void copy_tree_replace_many_recurse ( int space, lnode **lp, lnode **lr, + lnode **lw, int count, int *repcount ) +{ + function *f = (**lp).f; + int i; + int save; + lnode *new; + + /* only do the comparison if the lr is non-NULL. */ + if ( lr ) + { + /* check the current subtree against everything in the lr array. */ + for ( i = 0; i < count; ++i ) + if ( *lp == lr[i] ) + { + /* we have a match! */ + + /* increment the replacement count. */ + ++*repcount; + + /* copy the new tree into the destination. note that the + * lr and lw arguments are passed as NULL to prevent + * further replacement within the replacement tree. + */ + new = lw[i]; + copy_tree_replace_many_recurse ( space, &new, NULL, + NULL, count, repcount ); + + /* now skip the lp pointer over the lr subtree. */ + skip_over_subtree ( lp ); + + return; + } + } + + /* copy the node from the parent to the destination. */ + + gensp_next(space)->f = (**lp).f; + ++*lp; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + { + /* copy the ERC pointer. */ + + gensp_next(space)->d = (**lp).d; + ++*lp; + } + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + { + copy_tree_replace_many_recurse ( space, lp, lr, lw, + count, repcount ); + } + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + /* note that we just can't copy the skip value, since + * replacement within the subtree may change it. we + * have to save where it is needed and fill it in + * afterwards, just like generate_random_full_tree(). */ + + save = gensp_next_int ( space ); + ++*lp; + copy_tree_replace_many_recurse ( space, lp, lr, lw, + count, repcount ); + gensp[space].data[save].s = gensp[space].used-save-1; + } + break; + } + } + return; +} + +/* + * skip_over_subtree: takes a traversal pointer and skips it over the + * subtree it points to. + */ + +void skip_over_subtree ( lnode **l ) +{ + function *f = (**l).f; + int i; + + ++*l; + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + ++*l; + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + skip_over_subtree ( l ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + skip_over_subtree ( l ); + } + break; + } + } + return; +} + +/* + * reference_ephem_constants: traverses a tree, adding "count" to the + * refcount of each ERC that is used within the tree. + */ + +void reference_ephem_constants ( lnode *data, int count ) +{ + lnode *l = data; + reference_ephem_constants_recurse ( &l, count ); +} + +void reference_ephem_constants_recurse ( lnode **l, int count ) +{ + function *f = (**l).f; + int i; + + ++*l; + + if ( f->arity == 0 ) + { + if ( f->ephem_gen ) + { + if ( (**l).d ) + { + (**l).d->refcount += count; + ++*l; + } + else + error ( E_FATAL_ERROR, "aarg: this can't happen." ); + } + } + else + { + switch ( f->type ) + { + case FUNC_DATA: + case EVAL_DATA: + for ( i = 0; i < f->arity; ++i ) + reference_ephem_constants_recurse ( l, count ); + break; + case FUNC_EXPR: + case EVAL_EXPR: + for ( i = 0; i < f->arity; ++i ) + { + ++*l; + reference_ephem_constants_recurse ( l, count ); + } + break; + } + } + +} + + diff --git a/lib/lilgp/kernel_mod/types.h b/lib/lilgp/kernel_mod/types.h new file mode 100644 index 0000000..5ad3c44 --- /dev/null +++ b/lib/lilgp/kernel_mod/types.h @@ -0,0 +1,261 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#ifndef _TYPES_H +#define _TYPES_H + + +typedef struct +{ + int fset; /* function set for tree */ + int return_type; /* return type for tree */ + char* name; /* tree name */ +} user_treeinfo; + +/* holds information about one function (or terminal). */ + +typedef struct +{ + DATATYPE (*code)(); + void (*ephem_gen)( DATATYPE * ); + char * (*ephem_str)(); + int arity; + char *string; + int type; + int evaltree; + int index; + /* Added to support strong data typing */ + int return_type; + int argument_type[MAXARGS]; +} function; + +typedef struct +{ + function *cset; + int function_count; + int terminal_count; + int num_args; + int size; + /* Added to support strong data typing */ + function* cset_by_type[NUMTYPES]; + int function_count_by_type[NUMTYPES]; + int terminal_count_by_type[NUMTYPES]; +} function_set; + +/* holds one ERC. contains the data, reference count, and pointer for + building a linked list. */ + +typedef struct _ephem_const +{ + int refcount; + struct _ephem_const *next; + DATATYPE d; + function *f; +} ephem_const; + +/* the basic building block of the tree structure. can be a function pointer, + a skip value, or a pointer to an ERC. */ + +typedef union +{ + int s; + function *f; + ephem_const *d; +} lnode; + +/* one tree -- consists of an array of lnodes. the size and node counts are + cached here for speed improvement. */ + +typedef struct _tree +{ + lnode *data; + int size; /* the lnode count */ + int nodes; /* the actual node count */ +} tree; + +/* the arguments passed to the function (terminal) code. can be either a + value or a pointer to a tree. */ + +typedef union +{ + DATATYPE d; + lnode *t; +} farg; + +/* one individual. holds the expression, fitness values, etc. */ + +typedef struct +{ + tree *tr; + double r_fitness; + double s_fitness; + double a_fitness; + int hits; + int evald; + int flags; +} individual; + +/* struct for doing a binary search of successive real-valued intervals. */ + +typedef struct +{ + double fitness; + int index; +} reverse_index; + +/* one population -- an array of individuals, and some global info. */ + +typedef struct +{ + individual *ind; + int size; + int next; +} population; + +typedef int (*select_func_ptr)(); +typedef struct _sel_context * (*select_context_func_ptr)(); + +typedef struct _sel_context +{ + population *p; + select_func_ptr select_method; + select_context_func_ptr context_method; + void *data; +} sel_context; + +typedef struct +{ + char *name; + select_context_func_ptr func; +} select_method; + +typedef struct +{ + char *name; + int (*func)(); +} operator; + +typedef struct +{ + int copywhole; + int * from; + int * as; + char ** fromsc; + int to; + char * tosc; + int count; +} exchange; + +typedef struct +{ + int operator; + double rate; + void *data; + void (*operator_free)(); + void (*operator_start)(); + void (*operator_end)(); + void (*operator_operate)(); +} breedphase; + +typedef struct +{ + int size, exchanges; + population **pop; + exchange *exch; + breedphase **bpt; +} multipop; + +typedef struct +{ + double total; + reverse_index *ri; + int count; +} interval_data; + +typedef struct +{ + int i; + ephem_const *e; +} ephem_index; + +typedef struct _parameter +{ + char *n; + char *v; + int copyflags; +} parameter; + +typedef struct _saved_ind +{ + individual *ind; + int refcount; + struct _saved_ind *next; +} saved_ind; + +typedef struct _popstats +{ + int size; + int maxnodes, minnodes, totalnodes, bestnodes, worstnodes; + int maxdepth, mindepth, totaldepth, bestdepth, worstdepth; + int maxhits, minhits, totalhits, besthits, worsthits; + double bestfit, worstfit, totalfit; + int bestgen, worstgen; + int bestpop, worstpop; + int bestn; + saved_ind **best; +} popstats; + +typedef struct +{ + lnode *data; + int size, used; +} genspace; + +typedef struct +{ + int fset; + int nodelimit; + int depthlimit; + farg *arguments; + int argtype; + int evaluatedfrom; + char *name; + /* Added to support typing */ + int return_type; +} treeinfo; + +typedef struct +{ + double mbig, mseed, mz, ma[55]; + int inext, inextp; + pthread_mutex_t rmut; +} randomgen; + +#endif + + + diff --git a/lib/lilgp/lilgpMonitor/README.1ST b/lib/lilgp/lilgpMonitor/README.1ST new file mode 100644 index 0000000..5651ac4 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/README.1ST @@ -0,0 +1,19 @@ + +After unpacking the distribution, you should have the following tree +structure: + + lilgpMonitor\ + classes\ + docs\ + images\ + javadocs\ + images\ + src\ + +To build the .class files, change into the src\ directory and type: + + javac -d ../classes *.java + +To run lilgpSetup, change into the classes\ directory and type: + + java lilgpMonitor diff --git a/lib/lilgp/lilgpMonitor/classes/AboutBox.class b/lib/lilgp/lilgpMonitor/classes/AboutBox.class new file mode 100644 index 0000000..65a5cdb Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/AboutBox.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/BitFile.class b/lib/lilgp/lilgpMonitor/classes/BitFile.class new file mode 100644 index 0000000..e595f38 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/BitFile.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/BitUtils.class b/lib/lilgp/lilgpMonitor/classes/BitUtils.class new file mode 100644 index 0000000..1d61593 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/BitUtils.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/ControlPanel.class b/lib/lilgp/lilgpMonitor/classes/ControlPanel.class new file mode 100644 index 0000000..63819b9 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/ControlPanel.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/DataGenerator.class b/lib/lilgp/lilgpMonitor/classes/DataGenerator.class new file mode 100644 index 0000000..168f4e9 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/DataGenerator.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/GIFEncoder.class b/lib/lilgp/lilgpMonitor/classes/GIFEncoder.class new file mode 100644 index 0000000..de87b68 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/GIFEncoder.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/GenerationData.class b/lib/lilgp/lilgpMonitor/classes/GenerationData.class new file mode 100644 index 0000000..85fc5bf Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/GenerationData.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/Graph.class b/lib/lilgp/lilgpMonitor/classes/Graph.class new file mode 100644 index 0000000..167dd45 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/Graph.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/GroupPanel.class b/lib/lilgp/lilgpMonitor/classes/GroupPanel.class new file mode 100644 index 0000000..47393ff Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/GroupPanel.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/ImageDescriptor.class b/lib/lilgp/lilgpMonitor/classes/ImageDescriptor.class new file mode 100644 index 0000000..ea17f0b Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/ImageDescriptor.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/LZWCompressor.class b/lib/lilgp/lilgpMonitor/classes/LZWCompressor.class new file mode 100644 index 0000000..5c24186 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/LZWCompressor.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/LZWStringTable.class b/lib/lilgp/lilgpMonitor/classes/LZWStringTable.class new file mode 100644 index 0000000..2620fe3 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/LZWStringTable.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/PopulationData.class b/lib/lilgp/lilgpMonitor/classes/PopulationData.class new file mode 100644 index 0000000..da2e993 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/PopulationData.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/QuitBox.class b/lib/lilgp/lilgpMonitor/classes/QuitBox.class new file mode 100644 index 0000000..949fa43 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/QuitBox.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/ScreenDescriptor.class b/lib/lilgp/lilgpMonitor/classes/ScreenDescriptor.class new file mode 100644 index 0000000..09619b4 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/ScreenDescriptor.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/Timed.class b/lib/lilgp/lilgpMonitor/classes/Timed.class new file mode 100644 index 0000000..a8077ca Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/Timed.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/Timer.class b/lib/lilgp/lilgpMonitor/classes/Timer.class new file mode 100644 index 0000000..0624329 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/Timer.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/TitlePanel.class b/lib/lilgp/lilgpMonitor/classes/TitlePanel.class new file mode 100644 index 0000000..907c692 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/TitlePanel.class differ diff --git a/lib/lilgp/lilgpMonitor/classes/lilgpMonitor.class b/lib/lilgp/lilgpMonitor/classes/lilgpMonitor.class new file mode 100644 index 0000000..e5196e6 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/classes/lilgpMonitor.class differ diff --git a/lib/lilgp/lilgpMonitor/docs/COPYING.txt b/lib/lilgp/lilgpMonitor/docs/COPYING.txt new file mode 100644 index 0000000..be8b163 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/docs/COPYING.txt @@ -0,0 +1,285 @@ +GNU GENERAL PUBLIC LICENSE + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom +to share and change it. By contrast, the GNU General Public License is +intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the software, or if you modify it. + +For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + +We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + +Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, +we want its recipients to know that what they have is not the +original, so that any problems introduced by others will not reflect +on the original authors' reputations. + +Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at +all. + +The precise terms and conditions for copying, distribution and +modification follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a +notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the Program +(independent of having been made by running the Program). Whether that +is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source +code as you receive it, in any medium, provided that you conspicuously +and appropriately publish on each copy an appropriate copyright notice +and disclaimer of warranty; keep intact all the notices that refer to +this License and to the absence of any warranty; and give any other +recipients of the Program a copy of this License along with the +Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a +fee. + +2. You may modify your copy or copies of the Program or any portion of +it, thus forming a work based on the Program, and copy and distribute +such modifications or work under the terms of Section 1 above, +provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices +stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that +in whole or in part contains or is derived from the Program or any +part thereof, to be licensed as a whole at no charge to all third +parties under the terms of this License. + + c) If the modified program normally reads commands interactively +when run, you must cause it, when started running for such interactive +use in the most ordinary way, to print or display an announcement +including an appropriate copyright notice and a notice that there is +no warranty (or else, saying that you provide a warranty) and that +users may redistribute the program under these conditions, and telling +the user how to view a copy of this License. (Exception: if the +Program itself is interactive but does not normally print such an +announcement, your work based on the Program is not required to print +an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + +3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable +source code, which must be distributed under the terms of Sections 1 +and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three +years, to give any third party, for a charge no more than your cost of +physically performing source distribution, a complete machine-readable +copy of the corresponding source code, to be distributed under the +terms of Sections 1 and 2 above on a medium customarily used for +software interchange; or, + + c) Accompany it with the information you received as to the offer +to distribute corresponding source code. (This alternative is allowed +only for noncommercial distribution and only if you received the +program in object code or executable form with such an offer, in +accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt otherwise +to copy, modify, sublicense or distribute the Program is void, and +will automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + +5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted +herein. You are not responsible for enforcing compliance by third +parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + +9. The Free Software Foundation may publish revised and/or new +versions of the General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Program does not specify a +version number of this License, you may choose any version ever +published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the +author to ask for permission. For software which is copyrighted by the +Free Software Foundation, write to the Free Software Foundation; we +sometimes make exceptions for this. Our decision will be guided by the +two goals of preserving the free status of all derivatives of our free +software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE +LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS +AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF +ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + +END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/lib/lilgp/lilgpMonitor/docs/Manual.doc b/lib/lilgp/lilgpMonitor/docs/Manual.doc new file mode 100644 index 0000000..8f83efe Binary files /dev/null and b/lib/lilgp/lilgpMonitor/docs/Manual.doc differ diff --git a/lib/lilgp/lilgpMonitor/docs/Manual.htm b/lib/lilgp/lilgpMonitor/docs/Manual.htm new file mode 100644 index 0000000..79495fe --- /dev/null +++ b/lib/lilgp/lilgpMonitor/docs/Manual.htm @@ -0,0 +1,427 @@ + + +lilgpMonitor User's Manual + + +

+

lilgpMonitor User's Manual

+

+

1.1 Introduction

+ +lilgpMonitor is a companion utility for lil-gp that +allows you to monitor the run-time progress of lil-gp +experiments. It provides you with a mechanism to easily plot various +genetic programming metrics such as mean standardized fitness, mean +tree size, etc. After selecting a lil-gp statistics file, you +may plot up to two curves on the same monitor using a variety of +scaling techniques and line styles. You also have the ability to plot +statistics for either the entire population or specific +sub-populations. Several monitors can be used to simultaneously +observe the trends of several genetic programming metrics. At the end +of the experiment, the graphs can be saved in a GIF format, allowing +them to be easily imported into word-processing documents.
+ +

+If you are unfamiliar with genetic algorithms, genetic programming, or +lil-gp, then you should begin by reading the lil-gp User's +Manual. +

+ + +

1.1.1 Features

+ +lilgpMonitor features +include: +
    +
  • Comparative Analysis: able to have several monitors open +simultaneously, each plotting up to two GP metrics +
  • Useful: graphs can be exported as GIF files for easy import into +word processors +
  • Timed updates: automatically re-reads statistics file and updates +graphs at regular intervals +
  • Manual updates: can manually control graph updates +
  • Intelligent scaling function: automatically calculates 'nice' tick +placements on the y-axis +
  • User specified scales: accepts maximum y-axis values from user +
  • Independent scale selection: plot metrics using independent scales +
  • Dependent scale selection: plot metrics using the same scale +
  • Sub-population support: Point and click selection of +sub-population statistics +
  • Line styles: different line styles available +
  • Help: linked to on-line help system +
+

+ + + +

1.1.2 Limitations

+ +lilgpMonitor is capable of plotting all of the statistics +generated by lil-gp, including the ability to plot statistics +for specific sub-populations. In that regard, there are no +limitations. However, there are limitations with respect to Java. +Unfortunately, Java is slow, executing at about 1/20th the +speed of compiled C code [Fla96]. This is especially evident when +reading large statistics files. For example, loading a file +containing statistics for a 50 generation experiment with 5 +sub-populations takes approximately 15 seconds on a Sparc20 with 64Mb +RAM. There is hope; Sun claims that the performance of Java +byte-codes converted to machine code is nearly as fast as native C or +C++[Fla96].
+ +

+The current version of lilgpMonitor does not perform any data +manipulation such as smoothing. As a result, data sets containing +localized spikes that are several orders of magnitude larger than the +average trend cause curves to appear 'flat' when plotted. However, +since the user has control over the maximum value for the y-axis, +there is some mechanism for producing useful information in these +cases. This may or may not be considered a limitation. +

+ + + +

1.1.3 Author

+ +This software was written by Ryan Shoemaker under the direction of +Dr. William Punch. Other companion utilities for lil-gp have +been developed by Ryan Shoemaker and Dave Guyette as part of a joint +project.
+ +

+Comments and suggestions may be sent to: +

+ +

+ +shoema16@cps.msu.edu
+punch@cps.msu.edu
+

+Department of Computer Science
+3115 Engineering Building
+Michigan State University
+East Lansing, MI 48824
+USA
+
+

+

+ + +

1.2 Getting Started

+ +When you unpack the distribution, you should get +this directory tree: +

+ +

+ 
+lilgpMonitor/ 
+    classes/         (byte-code files)
+    docs/            (documentation files)
+        images/      (image files used in documentation)
+    javadocs/        (source-code documentation files)
+        images/      (image files used in source-code documentation)
+    src/             (source-code files)
+
+
+
+ +

+Before using lilgpMonitor, you must have Java JDK 1.02 +installed on your system. To generate the .class files, change into the lilgpMonitor/src directory and type: +

+javac -d ../classes *.java +

+To run lilgpMonitor, simply change into the lilgpMonitor/classes directory and type: +

+java lilgpMonitor +

+If you are running the utilities under Windows95/NT, you will have to +modify the paths in the above commands and also add the lilgpMonitor/classes directory to your CLASSPATH in place of the dot +directory ".".
+ +

+This is version 1.0 of lilgpMonitor. Updates and information +related to lilgpMonitor can be found on the World Wide Web at + +http://isl.cps.msu.edu. +

+ + + +

1.3 The Main Window

+ +The only window in lilgpMonitor is shown in Figure 1. This +section will give a brief overview of the options available and the +next section will give detailed explanations of each feature.
+ +

+

+

+Figure 1 - The Main Window

+

+

+As you can see, there are four menus available in the menubar at the +top of the window. From the File menu, you may open a +statistics file, save your graph as a GIF file, create a new monitor, +close the current monitor, or close all monitors. From the +Graph menu, you may select a line style for the curves. The +Update menu has options for selecting either manual updates or +automatic timed updates. Finally, the Help menu provides +access to the on-line help system and also information about the +author and version of lilgpMonitor that you are using.
+ +

+The actual graph sits in the middle of the window, with all of its +controls along the bottom. In Figure 1, there are two curves on the +graph, each with its own scale. The red scale appears on the left +axis, while the blue scale appears on the right axis. The various +controls on the bottom of the widow allow you to select a scale, the +maximum scale values, and the GP metrics and sub-populations you want +to plot. +

+ + + +

1.4 Feature Descriptions

+ +The features listed in this section apply only to the monitor in which +you make the selection. For example, changing the automatic update +interval to five minutes in one monitor will have no impact on the +settings in any other monitors that are currently open or any monitors +that are opened at a later time. +

+ + + +

1.4.1 The File Menu

+ +The File menu lets you perform file operations and +create/destroy monitors.
+ +
    +
  • Selecting Open causes a file dialog to appear. Simply +select the statistics file that you are interested in and it will be +opened. +
  • Selecting Save As also causes a file dialog to appear. +Simply supply a file name and the graph will be converted into GIF +format and saved. +
  • Selecting New Viewer will create a new statistics monitor +that contains all of the same features as the original monitor that +you opened. +
  • Selecting Close Viewer will destroy the current monitor. +Any other monitors that are currently open will remain open. +
  • Selecting Exit All will destroy all of the monitors that +are currently open. +
+

+ + + +

1.4.2 The Graph Menu

+ +The Graph menu lets you select the line style +you would like to apply to the curves. +
    +
  • Selecting Lines will cause the curves to be plotted using +line segments to connect the data points, as shown in Figure 2. +
  • Selecting Lines + Points will cause the curves to plotted +using line segments to connect the data points, but will also draw a +small diamond indicating the actual positions of the data points on +the curve, as shown in Figure 3. +
+

+

+

+Figure 2 - Lines

+

+

+

+

+Figure 3 - Lines + Points

+

+

+ + + +

1.4.3 The Update Menu

+ +The Update menu lets you select the timing of graph updates. +
    +
  • Selecting Manual Updates/Update Now does two things. +First, is stops the automatic update timer if it is currently set. +Second, it reads the contents of the statistics file and refreshes the +graph immediately. +
  • Selecting any of the update intervals sets the timer to update the +graph automatically. For example, selecting 5 Minutes will +cause the monitor to re-read the statistics file and refresh the graph +every five minutes. +
+

+ + +

1.4.4 The Help Menu

+ +
    +
  • Selecting Help provides access to the on-line help system. +
  • Selecting About provides information about the version of +lilgpMonitor that you are using. +
+

+ + +

1.4.5 Selecting a Scale

+ +Below the graph, there are three boxes labeled 'Red Scale', +'Independent Scales', and 'Blue Scale.' These controls +allow you to choose which scales to use and specify maximum scale +values.
+ +

+The default setting for the scale is Independent +Automatic scaling. This means that lilgpMonitor will +examine the data set and determine the best scales to use when +plotting the curves. Figure 4 shows the result of using this +combination of settings. In this case, the red curve is plotted using +the scale on the left axis, while the blue curve is plotted using the +scale on the right axis. These curves are plotted using +independent scales. Since there are no values supplied in the +y-max fields, lilgpMonitor automatically selects values +that will allow the entire data set to be visible within the graph - +this is automatic scaling. These settings are useful when you +would like to view two GP metrics that are unrelated +(i.e. standardized fitness versus tree size). +

+

+

+Figure 4 - Independent Autoscaling

+

+

+By clicking on either the 'red' or 'blue' checkboxes, +you will be selecting a dependent scaling mechanism with +automatic scaling. This means that lilgpMonitor will +apply the selected scale to both curves. Figure 5 shows the red scale +being applied to both curves, while Figure 6 shows the blue scale +being applied to both curves. These settings are useful when you +would like to compare two GP metrics that are related +(i.e. standardized fitness of sub-population 1 versus standardized +fitness of sub-population 2). Looking back at Figure 4, you can see +how it can be difficult to determine the relationship between two GP +metrics when using Independent Autoscaling. It isn't until you +examine Figure 5 where Dependent Autoscaling is used that you +can clearly see the relationship between the two curves. Since the +blue curve falls below the red curve in every generation, the red +curve is not visible when Dependent Autoscaling is set on the +blue curve in Figure 6. +

+

+

+Figure 5 - Red Dependent Autoscaling

+

+

+

+

+Figure 6 - Blue Dependent Autoscaling

+

+

+By changing the values in the y-max fields, you are selecting +manual scaling. It is possible to have manual scaling +active for one curve and automatic scaling active for the other +curve by supplying a value for y-max in only one of the +textfields. It is important to understand that when you select +manual scaling, you are not actually specifying the scale of +the curve, per se, but rather the maximum value that will be +used to in determining the scale. For example, specifying a +y-max value of 0.5 for the red curve will cause it to truncate +the top of the tallest spikes as shown in Figure 7. +

+

+

+Figure 7 - Independent Manual Scaling

+

+

+ + +

1.4.6 Selecting the GP Metrics

+ +Below the scale selection boxes, there are two pull-down list menus +that allow you to choose the GP metrics to display. The default +setting is Gen Fitness - Mean for the red curve and None +for the blue curve. Figure 8 outlines all of the available metrics +and their abbreviations.
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + +
GP Metric
+
Abbreviation Used in lilgpMonitor
+
mean standardized fitness of generationGen Fitness - Mean
standardized fitness of best-of-generation individual +Gen Fitness - Best
standardized fitness of worst-of-generation individual +Gen Fitness - Worst
mean tree size of generationGen Tree Size - Mean +
mean tree depth of generationGen Tree Depth - Mean +
tree size of best-of-generation individualGen Tree Size - Best
tree depth of best-of-generation individual +Gen Tree Depth - Best
tree size of worst-of-generation individual +Gen Tree Size - Worst
tree depth of worst-of-generation individual +Gen Tree Depth - Worst
mean standardized fitness of runFitness - Mean +
standardized fitness of best-of-run individual +Fitness - Best
standardized fitness of worst-of-run individual +Fitness - Worst
mean tree size of runTree Size - Mean +
mean tree depth of runTree Depth - Mean +
tree size of best-of-run individualTree Size - Best +
tree depth of best-of-run individualTree Depth - Best +
tree size of worst-of-run individualTree Size - Worst +
tree depth of worst-of-run individualTree Depth - Worst +
+

+Figure 8 - Available GP Metrics +

+
+ +

+

1.4.7 Selecting the Sub-Populations

+ +Below the GP metric selection components, there are two list boxes +that allow you to select which sub-population you would like to +monitor. The default setting is to view the overall statistics. + Using these list boxes is more clumsy than it should be due to +bugs in Java's AWT event model. Unfortunately, on the x86 port +of Java, list selection events only occur if you double-click +on the list item. Even though selecting a list item with a single-click +appears to change the list selection, it does not generate +a list selection event, at least not on x86 machines. Therefore, +in an effort to remain consistent on every platform, you must +double-click the list items to select the sup-population. The +currently selected sub-population is preceded by an asterisk - +the sub-population that is obviously highlighted may not be the +sub-population that is actually being displayed in the graph. + Be careful!
+
+ + + diff --git a/lib/lilgp/lilgpMonitor/docs/Sun-license.txt b/lib/lilgp/lilgpMonitor/docs/Sun-license.txt new file mode 100644 index 0000000..c0aa553 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/docs/Sun-license.txt @@ -0,0 +1,69 @@ +SUN MICROSYSTEMS LICENSE AGREEMENT + +This is a legal agreement between the purchaser of this book/CD-ROM package +("You") and Sun Microsystems, Inc. By opening the sealed CD-ROM you are +agreeing to be bound by the terms of this agreement. If you do not agree to the +terms of this agreement, promptly return the unopened book/CD-ROM package to the +place you obtained it for a full refund. + +SOFTWARE LICENSE + +1. Grant of License: Sun Microsystems grants to you ("Licensee") a +non-exclusive, non-transferable license to use the Sun Microsystems software +programs included on the CD-ROM without fee. The software is in "use" on a +computer when it is loaded into the temporary memory (i.e. RAM) or installed +into the permanent memory (e.g. hard disk, CD-ROM, or other storage device). +You may network the software or otherwise use it on more than one computer or +computer terminal at the same time. + +2. Copyright: The CD-ROM is copyrighted by Sun Microsystems, Inc. and is +protected by United States copyright laws and international treaty provisions. +Therefore, you must treat the CD-ROM like any other copyrighted material. +Individual software programs on the CD-ROM are copyrighted by their respective +owners and may require separate licensing. The Java Development Kit is +copyrighted by Sun Microsystems, Inc. and is covered by a separate license +agreement provided on the CD-ROM. + +3. Graphic Java Toolkit (GJT) and Sample Code: Sun Microsystems, Inc. +grants you a royalty-free right to reproduce and distribute the GJT and sample +code provided that you: (a) distribute the GJT and sample code only in +conjunction with and as a part of your software application; (b) do not use Sun +Microsystems, Inc. or its authors' names, logos, or trademarks to market your +software product; and (c) agree to indemnify, hold harmless and defend Sun +Microsystems, Inc. and its authors and suppliers from and against any claims or +lawsuits, including attorneys fees, that arise or result from the use or +distribution of your software product. + +DISCLAIMER OF WARRANTY + +The SOFTWARE (including instructions for its use) is provided "AS IS" WITHOUT +WARRANTY OF ANY KIND. SUN MICROSYSTEMS and any distributor of the SOFTWARE +FURTHER DISCLAIM ALL IMPLIED WARRANTIES INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OF MERCHANTABILITY OR OF FITNESS FOR A PARTICULAR PURPOSE. THE +ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THE SOFTWARE OR +DOCUMENTATION REMAINS WITH YOU. + +IN NO EVENT SHALL SUN MICROSYSTEMS, ITS AUTHORS, OR ANY ONE ELSE INVOLVED IN THE +CREATION, PRODUCTION, OR DELIVERY OF THE SOFTWARE BE LIABLE FOR ANY DAMAGES +WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, +BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) +ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE OR DOCUMENTATION, +EVEN IF SUN MICROSYSTEMS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, +BECAUSE SOME STATES/COUNTRIES DO NOT ALLOW THE EXCLUSION OF LIMITATION OF +LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT +APPLY TO YOU. + +U.S. GOVERNMENT RESTRICTED RIGHTS + +The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, +duplication, or disclosure is subject to restrictions as set forth in +subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software +clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial +Computer Software -- Restricted Rights 48 CFR 52.227-19. + +Should you have any questions concerning this Agreement, or if you desire to +contact Sun Microsystems for any reason, please write: Sun Microsystems, Inc., +2550 Garcia Avenue, Mountain View, CA 94043. + +Copyright: (c) 1997, Sun Microsystems, Inc. + diff --git a/lib/lilgp/lilgpMonitor/docs/images/lines.gif b/lib/lilgp/lilgpMonitor/docs/images/lines.gif new file mode 100644 index 0000000..6e447ef Binary files /dev/null and b/lib/lilgp/lilgpMonitor/docs/images/lines.gif differ diff --git a/lib/lilgp/lilgpMonitor/docs/images/linespoints.gif b/lib/lilgp/lilgpMonitor/docs/images/linespoints.gif new file mode 100644 index 0000000..fa35b23 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/docs/images/linespoints.gif differ diff --git a/lib/lilgp/lilgpMonitor/docs/images/oneplot.jpg b/lib/lilgp/lilgpMonitor/docs/images/oneplot.jpg new file mode 100644 index 0000000..5be7a04 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/docs/images/oneplot.jpg differ diff --git a/lib/lilgp/lilgpMonitor/docs/images/twoplot-blue.jpg b/lib/lilgp/lilgpMonitor/docs/images/twoplot-blue.jpg new file mode 100644 index 0000000..422b78c Binary files /dev/null and b/lib/lilgp/lilgpMonitor/docs/images/twoplot-blue.jpg differ diff --git a/lib/lilgp/lilgpMonitor/docs/images/twoplot-ind.jpg b/lib/lilgp/lilgpMonitor/docs/images/twoplot-ind.jpg new file mode 100644 index 0000000..9e4d956 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/docs/images/twoplot-ind.jpg differ diff --git a/lib/lilgp/lilgpMonitor/docs/images/twoplot-red.jpg b/lib/lilgp/lilgpMonitor/docs/images/twoplot-red.jpg new file mode 100644 index 0000000..c21b610 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/docs/images/twoplot-red.jpg differ diff --git a/lib/lilgp/lilgpMonitor/docs/images/twoplottrunc.jpg b/lib/lilgp/lilgpMonitor/docs/images/twoplottrunc.jpg new file mode 100644 index 0000000..37cf8d2 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/docs/images/twoplottrunc.jpg differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/AboutBox.html b/lib/lilgp/lilgpMonitor/javadocs/AboutBox.html new file mode 100644 index 0000000..f2281fb --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/AboutBox.html @@ -0,0 +1,78 @@ + + + + + + + Class AboutBox + + + +

+ Class AboutBox +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Window
+                           |
+                           +----java.awt.Dialog
+                                   |
+                                   +----AboutBox
+
+
+
+
class AboutBox +
extends Dialog +
+This class creates a simple dialog frame that is displayed when +the user selects Help -> About +
+ +

+ Constructor Index +

+
+
 o + AboutBox(Frame) +
+
+

+ Method Index +

+
+
 o + handleEvent(Event) +
+
+ +

+ Constructors +

+ + o +AboutBox +
+  public AboutBox(Frame parent)
+
+ +

+ Methods +

+ o +handleEvent +
+  public boolean handleEvent(Event event)
+
+
+
+
Overrides: +
handleEvent in class Component +
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/AllNames.html b/lib/lilgp/lilgpMonitor/javadocs/AllNames.html new file mode 100644 index 0000000..eac3aa3 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/AllNames.html @@ -0,0 +1,501 @@ + + + + + + + Index of all Fields and Methods + + + +
All Packages  Class Hierarchy

+A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z + +
+

+ Index of all Fields and Methods +

+

+ A +

+
+
AboutBox(Frame). +Constructor for class .AboutBox +
+
action(Event, Object). +Method in class .ControlPanel +
+
action(Event, Object). +Method in class .lilgpMonitor +
+
AddCharString(short, byte). +Method in class .LZWStringTable +
+
addComponent(Component, int, int, int, int, int, int, int, int). +Method in class .ControlPanel +
+
addNotify(). +Method in class .GroupPanel +
+
addPop(String). +Method in class .ControlPanel +
+
addValue(Double). +Method in class .GenerationData +
+
addValue(int, Double). +Method in class .PopulationData +
This method adds the given value to the correct vector. +
+
+

+ B +

+
+
backgroundColorIndex_. +Variable in class .ScreenDescriptor +
+
backgroundPaint(Graphics). +Method in class .Graph +
This method is actually in charge of calling each of the drawing +methods. +
BitFile(OutputStream). +Constructor for class .BitFile +
+
BitsNeeded(int). +Static method in class .BitUtils +
+
+
+

+ C +

+
+
clearGraphData(). +Method in class .Graph +
This method deletes the old graph data + +
ClearTable(int). +Method in class .LZWStringTable +
+
clickedNoButton(). +Method in class .QuitBox +
+
clickedYesButton(). +Method in class .QuitBox +
+
ControlPanel(lilgpMonitor, Graph). +Constructor for class .ControlPanel +
+
+
+

+ D +

+
+
DataGenerator(). +Constructor for class .DataGenerator +
+
drawPoint(Graphics, int, int). +Method in class .Graph +
This method draws a small diamond at the specified point + + +
drawTicks(Graphics, Vector, String). +Method in class .Graph +
This method draws the y-axis tick marks and labelling them + + +
+
+ +

+ F +

+
+
FindCharString(short, byte). +Method in class .LZWStringTable +
+
Flush(). +Method in class .BitFile +
+
+
+

+ G +

+
+
GenerationData(). +Constructor for class .GenerationData +
+
getImage(). +Method in class .Graph +
This method returns the offscreen image for creating the GIF file. +
getMetricData(int). +Method in class .PopulationData +
This method returns the requested Vector + + +
getNumGenerations(). +Method in class .PopulationData +
This method returns the number of generations of data. +
getValue(int). +Method in class .GenerationData +
+
getValue(int, int). +Method in class .PopulationData +
This method returns the specified value. +
GIFEncoder(byte[][], byte[][], byte[][]). +Constructor for class .GIFEncoder +
Construct a GIFEncoder. +
GIFEncoder(Image). +Constructor for class .GIFEncoder +
Construct a GIFEncoder. +
Graph(). +Constructor for class .Graph +
The constructor method creates storage for data for each +of the curves, initializes some variables, and resizes the +graph. +
graphHeight. +Variable in class .Graph +
+
graphWidth. +Variable in class .Graph +
+
GroupPanel(String). +Constructor for class .GroupPanel +
Create a new object and assign the title string + +
+
+

+ H +

+
+
handleEvent(Event). +Method in class .AboutBox +
+
handleEvent(Event). +Method in class .lilgpMonitor +
+
handleEvent(Event). +Method in class .QuitBox +
+
Hash(short, byte). +Static method in class .LZWStringTable +
+
height_. +Variable in class .ImageDescriptor +
+
+
+

+ I +

+
+
ImageDescriptor(short, short, char). +Constructor for class .ImageDescriptor +
+
insets(). +Method in class .GroupPanel +
Create new insets + +
+
+ + +

+ L +

+
+
leftPosition_. +Variable in class .ImageDescriptor +
+
lilgpMonitor(). +Constructor for class .lilgpMonitor +
The constructor method is responsible for creating each of the +UI components and initializing variables. +
localScreenHeight_. +Variable in class .ScreenDescriptor +
+
localScreenWidth_. +Variable in class .ScreenDescriptor +
+
LZWCompress(OutputStream, int, byte[]). +Static method in class .LZWCompressor +
+
LZWStringTable(). +Constructor for class .LZWStringTable +
+
+
+

+ M +

+
+
main(String[]). +Static method in class .DataGenerator +
+
main(String[]). +Static method in class .lilgpMonitor +
The main method for the application. +
+
+

+ N +

+
+
numViewers. +Static variable in class .lilgpMonitor +
+
+
+ +

+ P +

+
+
paint(Graphics). +Method in class .Graph +
This method attempts to create an off screen image and then calls the +background paint method. +
paint(Graphics). +Method in class .GroupPanel +
Paint the border around the group + +param g the graphics object + +
pixelAspectRatio_. +Variable in class .ScreenDescriptor +
+
PopulationData(). +Constructor for class .PopulationData +
The constructor method instantiates a Vector that contains +references for 20 other vectors - one for each column of +data in the statistics file. +
+
+

+ Q +

+
+
QuitBox(Frame). +Constructor for class .QuitBox +
+
+
+

+ R +

+
+
readData(String). +Method in class .lilgpMonitor +
This method actually reads the lilgp statistics file. +
removePop(int). +Method in class .ControlPanel +
+
run(). +Method in class .Timer +
+
+
+

+ S +

+
+
ScreenDescriptor(short, short, int). +Constructor for class .ScreenDescriptor +
+
selectedAbout(). +Method in class .lilgpMonitor +
This method creates a dialog that describes the software + +
selectedCloseViewer(). +Method in class .lilgpMonitor +
This method closes a viewer. +
selectedExitAll(). +Method in class .lilgpMonitor +
This method closes all viewers. +
selectedLines(). +Method in class .lilgpMonitor +
This method responsible for updating the linestyle in +the Graph object. +
selectedLinesPoints(). +Method in class .lilgpMonitor +
This method responsible for updating the linestyle in +the Graph object. +
selectedManualUpdates(). +Method in class .lilgpMonitor +
This method manually updates the graph. +
selectedNewViewer(). +Method in class .lilgpMonitor +
This method simply instantiates a new viewer + +
selectedOpen(). +Method in class .lilgpMonitor +
This method is called when the user selects Open from the +file menu. +
selectedSaveAs(). +Method in class .lilgpMonitor +
This method is called when the user selects Save As from the file menu. +
separator_. +Variable in class .ImageDescriptor +
+
setBackground(Color). +Method in class .GroupPanel +
Set the background color + + +
SetColorResolution(byte). +Method in class .ScreenDescriptor +
+
SetGlobalColorTableFlag(byte). +Method in class .ScreenDescriptor +
+
SetGlobalColorTableSize(byte). +Method in class .ScreenDescriptor +
+
setGraphData(Vector, Vector). +Method in class .Graph +
This method assigns new data to the curve vectors + + +
SetInterlaceFlag(byte). +Method in class .ImageDescriptor +
+
setLineStyle(String). +Method in class .Graph +
This method is used to update the line style selected +by the user. +
SetLocalColorTableFlag(byte). +Method in class .ImageDescriptor +
+
SetLocalColorTableSize(byte). +Method in class .ImageDescriptor +
+
SetReserved(byte). +Method in class .ImageDescriptor +
+
SetSortFlag(byte). +Method in class .ImageDescriptor +
+
SetSortFlag(byte). +Method in class .ScreenDescriptor +
+
setTimer(int). +Method in class .lilgpMonitor +
This method sets a timer for automatic updates + + +
show(). +Method in class .QuitBox +
+
stopTimer(). +Method in class .lilgpMonitor +
This method stops the current timer + +
+
+

+ T +

+
+
tick(Timer). +Method in class .lilgpMonitor +
Everytime we recieve a tick from our timer, reload the data file + + +
tick(Timer). +Method in interface .Timed +
+
Timer(Timed, int). +Constructor for class .Timer +
+
TitlePanel(String). +Constructor for class .TitlePanel +
Set up a font and print the title on a yellow background + + +
topPosition_. +Variable in class .ImageDescriptor +
+
+
+

+ U +

+
+
updateGraph(). +Method in class .ControlPanel +
+
updateGraphData(int, int, int, int). +Method in class .lilgpMonitor +
This method is responsible for retrieving the correct data from the +statistics and passing it into the Graph object. +
updateList(List, int). +Method in class .ControlPanel +
+
updateScale(String). +Method in class .Graph +
This method is called by external classes to update the scale +selection. +
updateUserScale(String, double). +Method in class .Graph +
This method allows external classes to update the manual +scale mechanisms. +
+
+ +

+ W +

+
+
width_. +Variable in class .ImageDescriptor +
+
Write(OutputStream). +Method in class .GIFEncoder +
Writes the image out to a stream in the GIF file format. +
Write(OutputStream). +Method in class .ImageDescriptor +
+
Write(OutputStream). +Method in class .ScreenDescriptor +
+
WriteBits(int, int). +Method in class .BitFile +
+
WriteWord(OutputStream, short). +Static method in class .BitUtils +
+ + + +
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/BitFile.html b/lib/lilgp/lilgpMonitor/javadocs/BitFile.html new file mode 100644 index 0000000..481aa93 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/BitFile.html @@ -0,0 +1,71 @@ + + + + + + + Class BitFile + + + +

+ Class BitFile +

+
+java.lang.Object
+   |
+   +----BitFile
+
+
+
+
class BitFile +
extends Object +
+
+ +

+ Constructor Index +

+
+
 o + BitFile(OutputStream) +
+
+

+ Method Index +

+
+
 o + Flush() +
+
 o + WriteBits(int, int) +
+
+ +

+ Constructors +

+ + o +BitFile +
+  public BitFile(OutputStream output)
+
+ +

+ Methods +

+ o +Flush +
+  public void Flush() throws IOException
+
+ o +WriteBits +
+  public void WriteBits(int bits,
+                        int numbits) throws IOException
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/BitUtils.html b/lib/lilgp/lilgpMonitor/javadocs/BitUtils.html new file mode 100644 index 0000000..49d4dff --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/BitUtils.html @@ -0,0 +1,53 @@ + + + + + + + Class BitUtils + + + +

+ Class BitUtils +

+
+java.lang.Object
+   |
+   +----BitUtils
+
+
+
+
class BitUtils +
extends Object +
+
+ +

+ Method Index +

+
+
 o + BitsNeeded(int) +
+
 o + WriteWord(OutputStream, short) +
+
+ +

+ Methods +

+ o +BitsNeeded +
+  public static byte BitsNeeded(int n)
+
+ o +WriteWord +
+  public static void WriteWord(OutputStream output,
+                               short w) throws IOException
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/ControlPanel.html b/lib/lilgp/lilgpMonitor/javadocs/ControlPanel.html new file mode 100644 index 0000000..b7890fc --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/ControlPanel.html @@ -0,0 +1,125 @@ + + + + + + + Class ControlPanel + + + +

+ Class ControlPanel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----ControlPanel
+
+
+
+
public class ControlPanel +
extends Panel +
+
+ +

+ Constructor Index +

+
+
 o + ControlPanel(lilgpMonitor, Graph) +
+
+

+ Method Index +

+
+
 o + action(Event, Object) +
+
 o + addComponent(Component, int, int, int, int, int, int, int, int) +
+
 o + addPop(String) +
+
 o + removePop(int) +
+
 o + updateGraph() +
+
 o + updateList(List, int) +
+
+ +

+ Constructors +

+ + o +ControlPanel +
+  public ControlPanel(lilgpMonitor lm,
+                      Graph g)
+
+ +

+ Methods +

+ o +addComponent +
+  public void addComponent(Component component,
+                           int gx,
+                           int gy,
+                           int gw,
+                           int gh,
+                           int wx,
+                           int wy,
+                           int fill,
+                           int anchor)
+
+ o +action +
+  public boolean action(Event e,
+                        Object arg)
+
+
+
+
Overrides: +
action in class Component +
+
+ o +addPop +
+  public void addPop(String popLabel)
+
+ o +removePop +
+  public void removePop(int popIndex)
+
+ o +updateGraph +
+  public void updateGraph()
+
+ o +updateList +
+  public void updateList(List l,
+                         int index)
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/DataGenerator.html b/lib/lilgp/lilgpMonitor/javadocs/DataGenerator.html new file mode 100644 index 0000000..d5b8ce9 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/DataGenerator.html @@ -0,0 +1,62 @@ + + + + + + + Class DataGenerator + + + +

+ Class DataGenerator +

+
+java.lang.Object
+   |
+   +----DataGenerator
+
+
+
+
public class DataGenerator +
extends Object +
+
+ +

+ Constructor Index +

+
+
 o + DataGenerator() +
+
+

+ Method Index +

+
+
 o + main(String[]) +
+
+ +

+ Constructors +

+ + o +DataGenerator +
+  public DataGenerator()
+
+ +

+ Methods +

+ o +main +
+  public static void main(String args[])
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/GIFEncoder.html b/lib/lilgp/lilgpMonitor/javadocs/GIFEncoder.html new file mode 100644 index 0000000..f21c518 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/GIFEncoder.html @@ -0,0 +1,152 @@ + + + + + + + Class GIFEncoder + + + +

+ Class GIFEncoder +

+
+java.lang.Object
+   |
+   +----GIFEncoder
+
+
+
+
public class GIFEncoder +
extends Object +
+GIFEncoder is a class which takes an image and saves it to a stream +using the GIF file format (Graphics Interchange +Format). A GIFEncoder +is constructed with either an AWT Image (which must be fully +loaded) or a set of RGB arrays. The image can be written out with a +call to Write.

+Three caveats: +

    +
  • GIFEncoder will convert the image to indexed color upon + construction. This will take some time, depending on the size of + the image. Also, actually writing the image out (Write) will take + time.

    +

  • The image cannot have more than 256 colors, since GIF is an 8 + bit format. For a 24 bit to 8 bit quantization algorithm, see + Graphics Gems II III.2 by Xialoin Wu. Or check out his C source.

    +

  • Since the image must be completely loaded into memory, + GIFEncoder may have problems with large images. Attempting to + encode an image which will not fit into memory will probably + result in the following exception:

    + java.awt.AWTException: Grabber returned false: 192

    +

+GIFEncoder is based upon gifsave.c, which was written and released +by:

+

+ Sverre H. Huseby
+ Bjoelsengt. 17
+ N-0468 Oslo
+ Norway

+ Phone: +47 2 230539
+ sverrehu@ifi.uio.no

+

+
+
Version: +
0.90 21 Apr 1996 +
Author: +
Adam Doppelt +
+
+ +

+ Constructor Index +

+
+
 o + GIFEncoder(byte[][], byte[][], byte[][]) +
Construct a GIFEncoder. +
 o + GIFEncoder(Image) +
Construct a GIFEncoder. +
+

+ Method Index +

+
+
 o + Write(OutputStream) +
Writes the image out to a stream in the GIF file format. +
+ +

+ Constructors +

+ + o +GIFEncoder +
+  public GIFEncoder(Image image) throws AWTException
+
+
+
Construct a GIFEncoder. The constructor will convert the image to +an indexed color array. This may take some time.

+

+
Parameters: +
image - The image to encode. The image must be +completely loaded. +
Throws: AWTException +
Will be thrown if the pixel grab fails. This +can happen if Java runs out of memory. It may also indicate that the image +contains more than 256 colors. +
+
+ o +GIFEncoder +
+  public GIFEncoder(byte r[][],
+                    byte g[][],
+                    byte b[][]) throws AWTException
+
+
+
Construct a GIFEncoder. The constructor will convert the image to +an indexed color array. This may take some time.

+Each array stores intensity values for the image. In other words, +r[x][y] refers to the red intensity of the pixel at column x, row +y.

+

+
Parameters: +
r - An array containing the red intensity values. +
g - An array containing the green intensity values. +
b - An array containing the blue intensity values. +
Throws: AWTException +
Will be thrown if the image contains more than +256 colors. +
+
+ +

+ Methods +

+ o +Write +
+  public void Write(OutputStream output) throws IOException
+
+
+
Writes the image out to a stream in the GIF file format. This will +be a single GIF87a image, non-interlaced, with no background color. +This may take some time.

+

+
Parameters: +
output - The stream to output to. This should probably be a +buffered stream. +
Throws: IOException +
Will be thrown if a write operation fails. +
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/GenerationData.html b/lib/lilgp/lilgpMonitor/javadocs/GenerationData.html new file mode 100644 index 0000000..71d6e11 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/GenerationData.html @@ -0,0 +1,70 @@ + + + + + + + Class GenerationData + + + +

+ Class GenerationData +

+
+java.lang.Object
+   |
+   +----GenerationData
+
+
+
+
class GenerationData +
extends Object +
+
+ +

+ Constructor Index +

+
+
 o + GenerationData() +
+
+

+ Method Index +

+
+
 o + addValue(Double) +
+
 o + getValue(int) +
+
+ +

+ Constructors +

+ + o +GenerationData +
+  public GenerationData()
+
+ +

+ Methods +

+ o +addValue +
+  public void addValue(Double val)
+
+ o +getValue +
+  public double getValue(int index)
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/Graph.html b/lib/lilgp/lilgpMonitor/javadocs/Graph.html new file mode 100644 index 0000000..3088373 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/Graph.html @@ -0,0 +1,270 @@ + + + + + + + Class Graph + + + +

+ Class Graph +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Canvas
+                   |
+                   +----Graph
+
+
+
+
public class Graph +
extends Canvas +
+This class is responsible for drawing and refreshing +the graph. +
+ +

+ Variable Index +

+
+
 o + graphHeight +
+
 o + graphWidth +
+
+

+ Constructor Index +

+
+
 o + Graph() +
The constructor method creates storage for data for each +of the curves, initializes some variables, and resizes the +graph. +
+

+ Method Index +

+
+
 o + backgroundPaint(Graphics) +
This method is actually in charge of calling each of the drawing +methods. +
 o + clearGraphData() +
This method deletes the old graph data + +
 o + drawPoint(Graphics, int, int) +
This method draws a small diamond at the specified point + + +
 o + drawTicks(Graphics, Vector, String) +
This method draws the y-axis tick marks and labelling them + + +
 o + getImage() +
This method returns the offscreen image for creating the GIF file. +
 o + paint(Graphics) +
This method attempts to create an off screen image and then calls the +background paint method. +
 o + setGraphData(Vector, Vector) +
This method assigns new data to the curve vectors + + +
 o + setLineStyle(String) +
This method is used to update the line style selected +by the user. +
 o + updateScale(String) +
This method is called by external classes to update the scale +selection. +
 o + updateUserScale(String, double) +
This method allows external classes to update the manual +scale mechanisms. +
+ +

+ Variables +

+ o +graphWidth +
+  public final int graphWidth
+
+ o +graphHeight +
+  public final int graphHeight
+
+ +

+ Constructors +

+ + o +Graph +
+  public Graph()
+
+
+
The constructor method creates storage for data for each +of the curves, initializes some variables, and resizes the +graph. +
+ +

+ Methods +

+ o +updateScale +
+  public void updateScale(String s)
+
+
+
This method is called by external classes to update the scale +selection. +
+
Parameters: +
s - string parameter containing either RED, BLUE, or INDEPENDENT +
See Also: +
lilgpMonitor +
+
+ o +updateUserScale +
+  public void updateUserScale(String which,
+                              double s)
+
+
+
This method allows external classes to update the manual +scale mechanisms. +
+
Parameters: +
which - is used to determine which scale to adjust either RED or BLUE +
s - is the scale value +
See Also: +
lilgpMonitor +
+
+ o +clearGraphData +
+  public void clearGraphData()
+
+
+
This method deletes the old graph data +
+ o +setGraphData +
+  public void setGraphData(Vector metricOne,
+                           Vector metricTwo)
+
+
+
This method assigns new data to the curve vectors +
+
Parameters: +
metricOne - specifies the data for the red curve +
metricTwo - specifies the data for the blue curve +
+
+ o +setLineStyle +
+  public void setLineStyle(String style)
+
+
+
This method is used to update the line style selected +by the user. +
+
Parameters: +
style - specifes the line style, either LINES or LINESPOINTS +
+
+ o +drawTicks +
+  public void drawTicks(Graphics g,
+                        Vector theData,
+                        String anchor)
+
+
+
This method draws the y-axis tick marks and labelling them +
+
Parameters: +
g - the graphics context +
theData - current curve data +
anchor - specifies which axis to draw the ticks on, either EAST or WEST +
+
+ o +drawPoint +
+  public void drawPoint(Graphics g,
+                        int x,
+                        int y)
+
+
+
This method draws a small diamond at the specified point +
+
Parameters: +
g - the graphics context +
x - the x coordinate of the data point +
y - the y coordinate of the data point +
+
+ o +backgroundPaint +
+  public void backgroundPaint(Graphics g)
+
+
+
This method is actually in charge of calling each of the drawing +methods. +
+
Parameters: +
g - the graphics context +
+
+ o +paint +
+  public void paint(Graphics g)
+
+
+
This method attempts to create an off screen image and then calls the +background paint method. If it fails, then it simply paints on the +visible graphics context. +
+
Parameters: +
g - the graphics context +
Overrides: +
paint in class Canvas +
+
+ o +getImage +
+  public Image getImage()
+
+
+
This method returns the offscreen image for creating the GIF file. +
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/GroupPanel.html b/lib/lilgp/lilgpMonitor/javadocs/GroupPanel.html new file mode 100644 index 0000000..65d2da2 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/GroupPanel.html @@ -0,0 +1,135 @@ + + + + + + + Class GroupPanel + + + +

+ Class GroupPanel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----GroupPanel
+
+
+
+
class GroupPanel +
extends Panel +
+Create a panel that allows you to organize related components +on a panel surrounded by a raised border. It also allows you +to specify a group title. +
+ +

+ Constructor Index +

+
+
 o + GroupPanel(String) +
Create a new object and assign the title string + +
+

+ Method Index +

+
+
 o + addNotify() +
+
 o + insets() +
Create new insets + +
 o + paint(Graphics) +
Paint the border around the group + +param g the graphics object + +
 o + setBackground(Color) +
Set the background color + + +
+ +

+ Constructors +

+ + o +GroupPanel +
+  public GroupPanel(String title)
+
+
+
Create a new object and assign the title string +
+ +

+ Methods +

+ o +setBackground +
+  public synchronized void setBackground(Color c)
+
+
+
Set the background color +
+
Parameters: +
c - the background color +
Overrides: +
setBackground in class Component +
+
+ o +addNotify +
+  public void addNotify()
+
+
+
+
Overrides: +
addNotify in class Panel +
+
+ o +insets +
+  public Insets insets()
+
+
+
Create new insets +
+
Overrides: +
insets in class Container +
+
+ o +paint +
+  public void paint(Graphics g)
+
+
+
Paint the border around the group +param g the graphics object +
+
Overrides: +
paint in class Component +
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/ImageDescriptor.html b/lib/lilgp/lilgpMonitor/javadocs/ImageDescriptor.html new file mode 100644 index 0000000..15d35c6 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/ImageDescriptor.html @@ -0,0 +1,153 @@ + + + + + + + Class ImageDescriptor + + + +

+ Class ImageDescriptor +

+
+java.lang.Object
+   |
+   +----ImageDescriptor
+
+
+
+
class ImageDescriptor +
extends Object +
+
+ +

+ Variable Index +

+
+
 o + height_ +
+
 o + leftPosition_ +
+
 o + separator_ +
+
 o + topPosition_ +
+
 o + width_ +
+
+

+ Constructor Index +

+
+
 o + ImageDescriptor(short, short, char) +
+
+

+ Method Index +

+
+
 o + SetInterlaceFlag(byte) +
+
 o + SetLocalColorTableFlag(byte) +
+
 o + SetLocalColorTableSize(byte) +
+
 o + SetReserved(byte) +
+
 o + SetSortFlag(byte) +
+
 o + Write(OutputStream) +
+
+ +

+ Variables +

+ o +separator_ +
+  public byte separator_
+
+ o +leftPosition_ +
+  public short leftPosition_
+
+ o +topPosition_ +
+  public short topPosition_
+
+ o +width_ +
+  public short width_
+
+ o +height_ +
+  public short height_
+
+ +

+ Constructors +

+ + o +ImageDescriptor +
+  public ImageDescriptor(short width,
+                         short height,
+                         char separator)
+
+ +

+ Methods +

+ o +Write +
+  public void Write(OutputStream output) throws IOException
+
+ o +SetLocalColorTableSize +
+  public void SetLocalColorTableSize(byte num)
+
+ o +SetReserved +
+  public void SetReserved(byte num)
+
+ o +SetSortFlag +
+  public void SetSortFlag(byte num)
+
+ o +SetInterlaceFlag +
+  public void SetInterlaceFlag(byte num)
+
+ o +SetLocalColorTableFlag +
+  public void SetLocalColorTableFlag(byte num)
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/LZWCompressor.html b/lib/lilgp/lilgpMonitor/javadocs/LZWCompressor.html new file mode 100644 index 0000000..6a146da --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/LZWCompressor.html @@ -0,0 +1,46 @@ + + + + + + + Class LZWCompressor + + + +

+ Class LZWCompressor +

+
+java.lang.Object
+   |
+   +----LZWCompressor
+
+
+
+
class LZWCompressor +
extends Object +
+
+ +

+ Method Index +

+
+
 o + LZWCompress(OutputStream, int, byte[]) +
+
+ +

+ Methods +

+ o +LZWCompress +
+  public static void LZWCompress(OutputStream output,
+                                 int codesize,
+                                 byte toCompress[]) throws IOException
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/LZWStringTable.html b/lib/lilgp/lilgpMonitor/javadocs/LZWStringTable.html new file mode 100644 index 0000000..0f53df3 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/LZWStringTable.html @@ -0,0 +1,89 @@ + + + + + + + Class LZWStringTable + + + +

+ Class LZWStringTable +

+
+java.lang.Object
+   |
+   +----LZWStringTable
+
+
+
+
class LZWStringTable +
extends Object +
+
+ +

+ Constructor Index +

+
+
 o + LZWStringTable() +
+
+

+ Method Index +

+
+
 o + AddCharString(short, byte) +
+
 o + ClearTable(int) +
+
 o + FindCharString(short, byte) +
+
 o + Hash(short, byte) +
+
+ +

+ Constructors +

+ + o +LZWStringTable +
+  public LZWStringTable()
+
+ +

+ Methods +

+ o +AddCharString +
+  public int AddCharString(short index,
+                           byte b)
+
+ o +FindCharString +
+  public short FindCharString(short index,
+                              byte b)
+
+ o +ClearTable +
+  public void ClearTable(int codesize)
+
+ o +Hash +
+  public static int Hash(short index,
+                         byte lastbyte)
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/PopulationData.html b/lib/lilgp/lilgpMonitor/javadocs/PopulationData.html new file mode 100644 index 0000000..247acac --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/PopulationData.html @@ -0,0 +1,126 @@ + + + + + + + Class PopulationData + + + +

+ Class PopulationData +

+
+java.lang.Object
+   |
+   +----PopulationData
+
+
+
+
public class PopulationData +
extends Object +
+This class simply contains a vector that will store all of the +data from the lilgp statistics file for a single +sub-population. +
+ +

+ Constructor Index +

+
+
 o + PopulationData() +
The constructor method instantiates a Vector that contains +references for 20 other vectors - one for each column of +data in the statistics file. +
+

+ Method Index +

+
+
 o + addValue(int, Double) +
This method adds the given value to the correct vector. +
 o + getMetricData(int) +
This method returns the requested Vector + + +
 o + getNumGenerations() +
This method returns the number of generations of data. +
 o + getValue(int, int) +
This method returns the specified value. +
+ +

+ Constructors +

+ + o +PopulationData +
+  public PopulationData()
+
+
+
The constructor method instantiates a Vector that contains +references for 20 other vectors - one for each column of +data in the statistics file. +
+ +

+ Methods +

+ o +addValue +
+  public void addValue(int whichMetric,
+                       Double value)
+
+
+
This method adds the given value to the correct vector. +
+
Parameters: +
whichMetric - is the index of the correct vector +
value - is the value to be inserted +
+
+ o +getValue +
+  public double getValue(int whichMetric,
+                         int whichGeneration)
+
+
+
This method returns the specified value. +
+
Parameters: +
whichMetric - specifies which Vector to look in +
whichGeneration - specifies which generation to look at +
+
+ o +getMetricData +
+  public Vector getMetricData(int whichMetric)
+
+
+
This method returns the requested Vector +
+
Parameters: +
whichMetric - the index of the Vector to return. +
+
+ o +getNumGenerations +
+  public int getNumGenerations()
+
+
+
This method returns the number of generations of data. +
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/QuitBox.html b/lib/lilgp/lilgpMonitor/javadocs/QuitBox.html new file mode 100644 index 0000000..0402945 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/QuitBox.html @@ -0,0 +1,107 @@ + + + + + + + Class QuitBox + + + +

+ Class QuitBox +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Window
+                           |
+                           +----java.awt.Dialog
+                                   |
+                                   +----QuitBox
+
+
+
+
class QuitBox +
extends Dialog +
+Ask the user if they really want to quit. +
+ +

+ Constructor Index +

+
+
 o + QuitBox(Frame) +
+
+

+ Method Index +

+
+
 o + clickedNoButton() +
+
 o + clickedYesButton() +
+
 o + handleEvent(Event) +
+
 o + show() +
+
+ +

+ Constructors +

+ + o +QuitBox +
+  public QuitBox(Frame parent)
+
+ +

+ Methods +

+ o +show +
+  public void show()
+
+
+
+
Overrides: +
show in class Window +
+
+ o +handleEvent +
+  public boolean handleEvent(Event event)
+
+
+
+
Overrides: +
handleEvent in class Component +
+
+ o +clickedYesButton +
+  public void clickedYesButton()
+
+ o +clickedNoButton +
+  public void clickedNoButton()
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/ScreenDescriptor.html b/lib/lilgp/lilgpMonitor/javadocs/ScreenDescriptor.html new file mode 100644 index 0000000..bea4162 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/ScreenDescriptor.html @@ -0,0 +1,137 @@ + + + + + + + Class ScreenDescriptor + + + +

+ Class ScreenDescriptor +

+
+java.lang.Object
+   |
+   +----ScreenDescriptor
+
+
+
+
class ScreenDescriptor +
extends Object +
+
+ +

+ Variable Index +

+
+
 o + backgroundColorIndex_ +
+
 o + localScreenHeight_ +
+
 o + localScreenWidth_ +
+
 o + pixelAspectRatio_ +
+
+

+ Constructor Index +

+
+
 o + ScreenDescriptor(short, short, int) +
+
+

+ Method Index +

+
+
 o + SetColorResolution(byte) +
+
 o + SetGlobalColorTableFlag(byte) +
+
 o + SetGlobalColorTableSize(byte) +
+
 o + SetSortFlag(byte) +
+
 o + Write(OutputStream) +
+
+ +

+ Variables +

+ o +localScreenWidth_ +
+  public short localScreenWidth_
+
+ o +localScreenHeight_ +
+  public short localScreenHeight_
+
+ o +backgroundColorIndex_ +
+  public byte backgroundColorIndex_
+
+ o +pixelAspectRatio_ +
+  public byte pixelAspectRatio_
+
+ +

+ Constructors +

+ + o +ScreenDescriptor +
+  public ScreenDescriptor(short width,
+                          short height,
+                          int numColors)
+
+ +

+ Methods +

+ o +Write +
+  public void Write(OutputStream output) throws IOException
+
+ o +SetGlobalColorTableSize +
+  public void SetGlobalColorTableSize(byte num)
+
+ o +SetSortFlag +
+  public void SetSortFlag(byte num)
+
+ o +SetColorResolution +
+  public void SetColorResolution(byte num)
+
+ o +SetGlobalColorTableFlag +
+  public void SetGlobalColorTableFlag(byte num)
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/Timed.html b/lib/lilgp/lilgpMonitor/javadocs/Timed.html new file mode 100644 index 0000000..1eb79f8 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/Timed.html @@ -0,0 +1,43 @@ + + + + + + + Interface Timed + + + +

+ Interface Timed +

+
+
interface Timed +
extends Object +
+An interface for the Timer class. +
+
See Also: +
Timer +
+
+ +

+ Method Index +

+
+
 o + tick(Timer) +
+
+ +

+ Methods +

+ o +tick +
+  public abstract void tick(Timer t)
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/Timer.html b/lib/lilgp/lilgpMonitor/javadocs/Timer.html new file mode 100644 index 0000000..0ad7f02 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/Timer.html @@ -0,0 +1,75 @@ + + + + + + + Class Timer + + + +

+ Class Timer +

+
+java.lang.Object
+   |
+   +----java.lang.Thread
+           |
+           +----Timer
+
+
+
+
class Timer +
extends Thread +
+This is a very simple timer class runs in its own thread, It starts +a new Thread and sleeps fot the interval of time supplied to the +ccnstructor method. Classes that wish to use this class must +implement the Timed interface. +
+ +

+ Constructor Index +

+
+
 o + Timer(Timed, int) +
+
+

+ Method Index +

+
+
 o + run() +
+
+ +

+ Constructors +

+ + o +Timer +
+  public Timer(Timed t,
+               int i)
+
+ +

+ Methods +

+ o +run +
+  public void run()
+
+
+
+
Overrides: +
run in class Thread +
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/TitlePanel.html b/lib/lilgp/lilgpMonitor/javadocs/TitlePanel.html new file mode 100644 index 0000000..4ed1ee7 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/TitlePanel.html @@ -0,0 +1,62 @@ + + + + + + + Class TitlePanel + + + +

+ Class TitlePanel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----TitlePanel
+
+
+
+
class TitlePanel +
extends Panel +
+This class simply creates a panel with a yellow background and +prints the title string. +
+ +

+ Constructor Index +

+
+
 o + TitlePanel(String) +
Set up a font and print the title on a yellow background + + +
+ +

+ Constructors +

+ + o +TitlePanel +
+  public TitlePanel(String title)
+
+
+
Set up a font and print the title on a yellow background +
+
Parameters: +
title - the title string +
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/blue-ball-small.gif b/lib/lilgp/lilgpMonitor/javadocs/images/blue-ball-small.gif new file mode 100644 index 0000000..d4c5cde Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/blue-ball-small.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/blue-ball.gif b/lib/lilgp/lilgpMonitor/javadocs/images/blue-ball.gif new file mode 100644 index 0000000..edc29b7 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/blue-ball.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/class-index.gif b/lib/lilgp/lilgpMonitor/javadocs/images/class-index.gif new file mode 100644 index 0000000..7f276bc Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/class-index.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/constructor-index.gif b/lib/lilgp/lilgpMonitor/javadocs/images/constructor-index.gif new file mode 100644 index 0000000..435cac4 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/constructor-index.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/constructors.gif b/lib/lilgp/lilgpMonitor/javadocs/images/constructors.gif new file mode 100644 index 0000000..d1a6ae5 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/constructors.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/cyan-ball-small.gif b/lib/lilgp/lilgpMonitor/javadocs/images/cyan-ball-small.gif new file mode 100644 index 0000000..7f74357 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/cyan-ball-small.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/cyan-ball.gif b/lib/lilgp/lilgpMonitor/javadocs/images/cyan-ball.gif new file mode 100644 index 0000000..97ca1f2 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/cyan-ball.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/error-index.gif b/lib/lilgp/lilgpMonitor/javadocs/images/error-index.gif new file mode 100644 index 0000000..22835ff Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/error-index.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/exception-index.gif b/lib/lilgp/lilgpMonitor/javadocs/images/exception-index.gif new file mode 100644 index 0000000..e3830d9 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/exception-index.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/green-ball-small.gif b/lib/lilgp/lilgpMonitor/javadocs/images/green-ball-small.gif new file mode 100644 index 0000000..17fea5b Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/green-ball-small.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/green-ball.gif b/lib/lilgp/lilgpMonitor/javadocs/images/green-ball.gif new file mode 100644 index 0000000..71e1b2e Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/green-ball.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/interface-index.gif b/lib/lilgp/lilgpMonitor/javadocs/images/interface-index.gif new file mode 100644 index 0000000..bf93dda Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/interface-index.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/logo.java-powered.color-transp.55x60.gif b/lib/lilgp/lilgpMonitor/javadocs/images/logo.java-powered.color-transp.55x60.gif new file mode 100644 index 0000000..530bd65 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/logo.java-powered.color-transp.55x60.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/logo.javasoft.color-trans.251x50.gif b/lib/lilgp/lilgpMonitor/javadocs/images/logo.javasoft.color-trans.251x50.gif new file mode 100644 index 0000000..eb175ac Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/logo.javasoft.color-trans.251x50.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/magenta-ball-small.gif b/lib/lilgp/lilgpMonitor/javadocs/images/magenta-ball-small.gif new file mode 100644 index 0000000..bd0584b Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/magenta-ball-small.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/magenta-ball.gif b/lib/lilgp/lilgpMonitor/javadocs/images/magenta-ball.gif new file mode 100644 index 0000000..5da03b8 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/magenta-ball.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/method-index.gif b/lib/lilgp/lilgpMonitor/javadocs/images/method-index.gif new file mode 100644 index 0000000..a05e705 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/method-index.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/methods.gif b/lib/lilgp/lilgpMonitor/javadocs/images/methods.gif new file mode 100644 index 0000000..949e01b Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/methods.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/package-index.gif b/lib/lilgp/lilgpMonitor/javadocs/images/package-index.gif new file mode 100644 index 0000000..f894d42 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/package-index.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/red-ball-small.gif b/lib/lilgp/lilgpMonitor/javadocs/images/red-ball-small.gif new file mode 100644 index 0000000..f6b3c37 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/red-ball-small.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/red-ball.gif b/lib/lilgp/lilgpMonitor/javadocs/images/red-ball.gif new file mode 100644 index 0000000..dca9296 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/red-ball.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/transparent.gif b/lib/lilgp/lilgpMonitor/javadocs/images/transparent.gif new file mode 100644 index 0000000..f88bb2b Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/transparent.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/variable-index.gif b/lib/lilgp/lilgpMonitor/javadocs/images/variable-index.gif new file mode 100644 index 0000000..65cc029 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/variable-index.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/variables.gif b/lib/lilgp/lilgpMonitor/javadocs/images/variables.gif new file mode 100644 index 0000000..e8a7353 Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/variables.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/yellow-ball-small.gif b/lib/lilgp/lilgpMonitor/javadocs/images/yellow-ball-small.gif new file mode 100644 index 0000000..8e5f57c Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/yellow-ball-small.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/images/yellow-ball.gif b/lib/lilgp/lilgpMonitor/javadocs/images/yellow-ball.gif new file mode 100644 index 0000000..2b8c0bb Binary files /dev/null and b/lib/lilgp/lilgpMonitor/javadocs/images/yellow-ball.gif differ diff --git a/lib/lilgp/lilgpMonitor/javadocs/lilgpMonitor.html b/lib/lilgp/lilgpMonitor/javadocs/lilgpMonitor.html new file mode 100644 index 0000000..4f7b6b1 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/lilgpMonitor.html @@ -0,0 +1,338 @@ + + + + + + + Class lilgpMonitor + + + +

+ Class lilgpMonitor +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Window
+                           |
+                           +----java.awt.Frame
+                                   |
+                                   +----lilgpMonitor
+
+
+
+
public class lilgpMonitor +
extends Frame +
implements Timed +
+This is the main class. It creates the various UI components +and is responsible for dispatching events to the appropriate +classes when the user changes settings. +
+ +

+ Variable Index +

+
+
 o + numViewers +
+
+

+ Constructor Index +

+
+
 o + lilgpMonitor() +
The constructor method is responsible for creating each of the +UI components and initializing variables. +
+

+ Method Index +

+
+
 o + action(Event, Object) +
+
 o + handleEvent(Event) +
+
 o + main(String[]) +
The main method for the application. +
 o + readData(String) +
This method actually reads the lilgp statistics file. +
 o + selectedAbout() +
This method creates a dialog that describes the software + +
 o + selectedCloseViewer() +
This method closes a viewer. +
 o + selectedExitAll() +
This method closes all viewers. +
 o + selectedLines() +
This method responsible for updating the linestyle in +the Graph object. +
 o + selectedLinesPoints() +
This method responsible for updating the linestyle in +the Graph object. +
 o + selectedManualUpdates() +
This method manually updates the graph. +
 o + selectedNewViewer() +
This method simply instantiates a new viewer + +
 o + selectedOpen() +
This method is called when the user selects Open from the +file menu. +
 o + selectedSaveAs() +
This method is called when the user selects Save As from the file menu. +
 o + setTimer(int) +
This method sets a timer for automatic updates + + +
 o + stopTimer() +
This method stops the current timer + +
 o + tick(Timer) +
Everytime we recieve a tick from our timer, reload the data file + + +
 o + updateGraphData(int, int, int, int) +
This method is responsible for retrieving the correct data from the +statistics and passing it into the Graph object. +
+ +

+ Variables +

+ o +numViewers +
+  public static int numViewers
+
+ +

+ Constructors +

+ + o +lilgpMonitor +
+  public lilgpMonitor()
+
+
+
The constructor method is responsible for creating each of the +UI components and initializing variables. +
+ +

+ Methods +

+ o +handleEvent +
+  public boolean handleEvent(Event event)
+
+
+
+
Overrides: +
handleEvent in class Component +
+
+ o +action +
+  public boolean action(Event event,
+                        Object arg)
+
+
+
+
Overrides: +
action in class Component +
+
+ o +main +
+  public static void main(String args[])
+
+
+
The main method for the application. Simply instantiates itself. +
+ o +selectedOpen +
+  public void selectedOpen()
+
+
+
This method is called when the user selects Open from the +file menu. It creates a file dialog and then calls the +method that reads the data. +
+
See Also: +
readData +
+
+ o +selectedSaveAs +
+  public void selectedSaveAs()
+
+
+
This method is called when the user selects Save As from the file menu. +It opens a file dialog and then calls the conversion routine to create +the GIF file. +
+ o +selectedNewViewer +
+  public void selectedNewViewer()
+
+
+
This method simply instantiates a new viewer +
+ o +selectedCloseViewer +
+  public void selectedCloseViewer()
+
+
+
This method closes a viewer. +
+ o +selectedExitAll +
+  public void selectedExitAll()
+
+
+
This method closes all viewers. +
+ o +selectedLines +
+  public void selectedLines()
+
+
+
This method responsible for updating the linestyle in +the Graph object. +
+
See Also: +
setLineStyle +
+
+ o +selectedLinesPoints +
+  public void selectedLinesPoints()
+
+
+
This method responsible for updating the linestyle in +the Graph object. +
+
See Also: +
setLineStyle +
+
+ o +selectedManualUpdates +
+  public void selectedManualUpdates()
+
+
+
This method manually updates the graph. +
+ o +selectedAbout +
+  public void selectedAbout()
+
+
+
This method creates a dialog that describes the software +
+ o +readData +
+  public void readData(String inputFile) throws IOException
+
+
+
This method actually reads the lilgp statistics file. +
+
Parameters: +
inputFile - pathname to the datafile. +
+
+ o +updateGraphData +
+  public void updateGraphData(int m_One,
+                              int m_Two,
+                              int p_one,
+                              int p_two)
+
+
+
This method is responsible for retrieving the correct data from the +statistics and passing it into the Graph object. +
+
Parameters: +
m_One - the current selection for metric one +
m_Two - the current selection for metric Two +
p_one - the current selection for subpopulation one +
p_two - the current selection for subpopulation two +
See Also: +
setGraphData +
+
+ o +stopTimer +
+  public void stopTimer()
+
+
+
This method stops the current timer +
+ o +setTimer +
+  public void setTimer(int minutes)
+
+
+
This method sets a timer for automatic updates +
+
Parameters: +
minutes - the amount of time in minutes for the timer +
+
+ o +tick +
+  public void tick(Timer t)
+
+
+
Everytime we recieve a tick from our timer, reload the data file +
+
Parameters: +
t - a reference to the Timer object +
See Also: +
Timer +
+
+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/packages.html b/lib/lilgp/lilgpMonitor/javadocs/packages.html new file mode 100644 index 0000000..dc264d2 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/packages.html @@ -0,0 +1,16 @@ + + + + + + + Package Index + + + +
API User's Guide  Class Hierarchy  Index

+

+Package Index +

+ + diff --git a/lib/lilgp/lilgpMonitor/javadocs/tree.html b/lib/lilgp/lilgpMonitor/javadocs/tree.html new file mode 100644 index 0000000..cdf2bf1 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/javadocs/tree.html @@ -0,0 +1,151 @@ + + + + + + + Class Hierarchy + + + +
All Packages  Index

+

+ Class Hierarchy +

+ + + diff --git a/lib/lilgp/lilgpMonitor/src/AboutBox.java b/lib/lilgp/lilgpMonitor/src/AboutBox.java new file mode 100644 index 0000000..7471e5a --- /dev/null +++ b/lib/lilgp/lilgpMonitor/src/AboutBox.java @@ -0,0 +1,92 @@ +/* + * lilgpMonitor Utility for monitoring lilgp statistics files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + + +import java.awt.*; + +/** + * This class creates a simple dialog frame that is displayed when + * the user selects Help -> About + */ + +class AboutBox extends Dialog { + Label label1; + Button OKButton; + + public AboutBox(Frame parent) { + super(parent, "About", true); + setResizable(false); + setLayout(new BorderLayout()); + setBackground(Color.white); + + Panel tp = new TitlePanel("lilgpMonitor"); + add("North", tp); + + Panel p = new Panel(); + p.setLayout(new GridLayout(5, 1)); + + p.add(new Label("Ryan Shoemaker Dr. Bill Punch", Label.CENTER)); + p.add(new Label("Michigan State University", Label.CENTER)); + p.add(new Label("{shoema16, punch}@cps.msu.edu", Label.CENTER)); + p.add(new Label("Version 1.0", Label.CENTER)); + p.add(new Label("15-Mar-97", Label.CENTER)); + + add("Center", p); + OKButton=new Button("OK"); + + Panel p2 = new Panel(); + p2.setLayout(new FlowLayout()); + p2.add(OKButton); + add("South", p2); + resize(250,200); + } + + public boolean handleEvent(Event event) { + if (event.id == Event.ACTION_EVENT && event.target == OKButton) { + this.hide(); + this.dispose(); + return true; + } + else if (event.id == Event.WINDOW_DESTROY) { + this.hide(); + this.dispose(); + return true; + } + return super.handleEvent(event); + } +} + + diff --git a/lib/lilgp/lilgpMonitor/src/ControlPanel.java b/lib/lilgp/lilgpMonitor/src/ControlPanel.java new file mode 100644 index 0000000..4f4d143 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/src/ControlPanel.java @@ -0,0 +1,350 @@ +/* + * lilgpMonitor Utility for monitoring lilgp statistics files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +public class ControlPanel extends Panel { + + String viewItems[] = { + "Gen Fitness - Mean", "Gen Fitness - Best", "Gen Fitness - Worst", + "Gen Tree Size - Mean", "Gen Tree Depth - Mean", + "Gen Tree Size - Best", "Gen Tree Depth - Best", + "Gen Tree Size - Worst", "Gen Tree Depth - Worst", + "Fitness - Mean", "Fitness - Best", "Fitness - Worst", + "Tree Size - Mean", "Tree Depth - Mean", + "Tree Size - Best", "Tree Depth - Best", + "Tree Size - Worst", "Tree Depth - Worst" }; + + CheckboxGroup theScalesGroup; + Checkbox[] theScales; + Choice metricOne, metricTwo; + List subpopOne, subpopTwo; + TextField redMaxBox, blueMaxBox; + + lilgpMonitor theMonitor; + Graph theGraph; + + GridBagConstraints constraints; + GridBagLayout layout; + + int curSelOne, curSelTwo; + + public ControlPanel(lilgpMonitor lm, Graph g) { + // our reference to the graph and the main class.... + theMonitor = lm; + theGraph = g; + + // build the scale selector + theScalesGroup = new CheckboxGroup(); + theScales = new Checkbox[3]; + theScales[0] = new Checkbox("Red", theScalesGroup, false); + theScales[1] = new Checkbox("Blue", theScalesGroup, false); + theScales[2] = new Checkbox("Independent", theScalesGroup, true); + redMaxBox = new TextField(3); + blueMaxBox = new TextField(3); + + GroupPanel redPanel = new GroupPanel("Red Scale"); + GroupPanel bluePanel = new GroupPanel("Blue Scale"); + GroupPanel indPanel = new GroupPanel("Independent Scales"); + Panel scalesPanel = new Panel(); + + redPanel.setLayout(new FlowLayout()); + redPanel.add(theScales[0]); + redPanel.add(new Label("y-max")); + redPanel.add(redMaxBox); + + bluePanel.setLayout(new FlowLayout()); + bluePanel.add(theScales[1]); + bluePanel.add(new Label("y-max")); + bluePanel.add(blueMaxBox); + + indPanel.setLayout(new FlowLayout()); + indPanel.add(theScales[2]); + + scalesPanel.setLayout(new FlowLayout()); + scalesPanel.add(redPanel); + scalesPanel.add(indPanel); + scalesPanel.add(bluePanel); + + // choose the first metric + metricOne = new Choice(); + metricOne.addItem("None"); + for(int i = 0; i < viewItems.length; i++) { + metricOne.addItem(viewItems[i]); + } + metricOne.select(1); + + // choose the subpop for the first metric + subpopOne = new List(3, false); + subpopOne.addItem("* Overall"); + subpopOne.select(0); + curSelOne = 0; + + // choose the second metric + metricTwo = new Choice(); + metricTwo.addItem("None"); + for(int i = 0; i < viewItems.length; i++) { + metricTwo.addItem(viewItems[i]); + } + metricTwo.select(0); + curSelTwo = 0; + + // choose the subpop for the second metric + subpopTwo = new List(3, false); + subpopTwo.addItem("* Overall"); + subpopTwo.select(0); + + // make the labels + Label l1 = new Label("Primary (red)", Label.RIGHT); + Label l2 = new Label("Secondary (blue)", Label.RIGHT); + Label l3 = new Label("Subpop", Label.RIGHT); + Label l4 = new Label("Subpop", Label.RIGHT); + Label l5 = new Label("double-click to select subpopulations"); + + // put it together + layout = new GridBagLayout(); + setLayout(layout); + constraints = new GridBagConstraints(); + + addComponent(scalesPanel, 0, 0, 4, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.CENTER); + addComponent(l1, 0, 1, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.EAST); + addComponent(metricOne, 1, 1, 1, 1, 1, 1, GridBagConstraints.HORIZONTAL, GridBagConstraints.CENTER); + addComponent(l2, 2, 1, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.EAST); + addComponent(metricTwo, 3, 1, 1, 1, 1, 1, GridBagConstraints.HORIZONTAL, GridBagConstraints.CENTER); + addComponent(l3, 0, 2, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.EAST); + addComponent(subpopOne, 1, 2, 1, 1, 1, 1, GridBagConstraints.HORIZONTAL, GridBagConstraints.CENTER); + addComponent(l4, 2, 2, 1, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.EAST); + addComponent(subpopTwo, 3, 2, 1, 1, 1, 1, GridBagConstraints.HORIZONTAL, GridBagConstraints.CENTER); + addComponent(l5, 0, 3, 4, 1, 1, 1, GridBagConstraints.NONE, GridBagConstraints.CENTER); + } + + public void addComponent(Component component, int gx, int gy, int gw, int gh, + int wx, int wy, int fill, int anchor) + { + // fill in the constraints + constraints.gridx = gx; + constraints.gridy = gy; + constraints.gridwidth = gw; + constraints.gridheight = gh; + constraints.weightx = wx; + constraints.weighty = wy; + constraints.fill = fill; + constraints.anchor = anchor; + + // give a 3 pixel margin on top & bottom of each component + constraints.insets = new Insets(3, 1, 3, 1); + + // set the constraints and add the component + layout.setConstraints(component, constraints); + add(component); + } + + public boolean action(Event e, Object arg) { + if ((e.target == metricOne) || (e.target == metricTwo)) { + updateGraph(); + return true; + } + else if ((e.target == subpopOne) || (e.target == subpopTwo)) { + // Win95 won't catch the LIST_SELECT events, so the user + // has to double-click the item to generate a ACTION_EVENT..... + if (e.target == subpopOne) { + updateList(subpopOne, subpopOne.getSelectedIndex()); + } + else if (e.target == subpopTwo) { + updateList(subpopTwo, subpopTwo.getSelectedIndex()); + } + + updateGraph(); + return true; + } + else if ((e.target == theScales[0]) || + (e.target == theScales[1]) || + (e.target == theScales[2])) { + theGraph.updateScale(theScalesGroup.getCurrent().getLabel()); + updateGraph(); + return true; + } + else if (e.target == redMaxBox) { + /* + String contents = redMaxBox.getText().trim(); + if (contents.length() == 0) { + theGraph.updateUserScale("RED", 0); + updateGraph(); + } + else if (isPositiveDouble(contents)) { + theGraph.updateUserScale("RED", toDouble(contents)); + updateGraph(); + } + */ + updateGraph(); + return true; + } + else if (e.target == blueMaxBox) { + /* + String contents = blueMaxBox.getText().trim(); + if (contents.length() == 0) { + theGraph.updateUserScale("BLUE", 0); + updateGraph(); + } + else if (isPositiveDouble(contents)) { + theGraph.updateUserScale("BLUE", toDouble(contents)); + updateGraph(); + } + */ + updateGraph(); + return true; + } + else { + return super.action(e, arg); + } + } + + public void addPop(String popLabel) { + subpopOne.addItem(popLabel); + subpopTwo.addItem(popLabel); + } + + public void removePop(int popIndex) { + subpopOne.delItem(popIndex); + subpopTwo.delItem(popIndex); + } + + + public void updateGraph() { + // grab the current settings + int m_one = metricOne.getSelectedIndex(); + int m_two = metricTwo.getSelectedIndex(); + int p_one = subpopOne.getSelectedIndex(); + int p_two = subpopTwo.getSelectedIndex(); + + if (subpopOne.countItems() >= curSelOne+1) { + p_one = curSelOne; + updateList(subpopOne, curSelOne); + } + else { + p_one = 0; + subpopOne.replaceItem("* Overall", 0); + subpopOne.select(0); + curSelOne = 0; + } + + if (subpopTwo.countItems() >= curSelTwo+1) { + p_two = curSelTwo; + updateList(subpopTwo, curSelTwo); + } + else { + p_two = 0; + subpopTwo.replaceItem("* Overall", 0); + subpopTwo.select(0); + curSelTwo = 0; + } + + theMonitor.updateGraphData(m_one, m_two, p_one, p_two); + + String contents = redMaxBox.getText().trim(); + if (contents.length() == 0) { + theGraph.updateUserScale("RED", 0); + //updateGraph(); + } + else if (isPositiveDouble(contents)) { + theGraph.updateUserScale("RED", toDouble(contents)); + //updateGraph(); + } + + contents = blueMaxBox.getText().trim(); + if (contents.length() == 0) { + theGraph.updateUserScale("BLUE", 0); + //updateGraph(); + } + else if (isPositiveDouble(contents)) { + theGraph.updateUserScale("BLUE", toDouble(contents)); + //updateGraph(); + } + } + + public void updateList(List l, int index) { + if (l == subpopOne) { + if ((curSelOne == 0) && (index != 0)) { + l.replaceItem(" Overall", 0); + l.replaceItem(new String("* pop " + index), index); + } + else if ((curSelOne != 0) && (index != 0)) { + l.replaceItem(new String(" pop " + curSelOne), curSelOne); + l.replaceItem(new String("* pop " + index), index); + } + else if ((curSelOne != 0) && (index == 0)) { + l.replaceItem(new String(" pop " + curSelOne), curSelOne); + l.replaceItem("* Overall", 0); + } + + l.select(index); + curSelOne = index; + } + else if (l == subpopTwo) { + if ((curSelTwo == 0) && (index != 0)) { + l.replaceItem(" Overall", 0); + l.replaceItem(new String("* pop " + index), index); + } + else if ((curSelTwo != 0) && (index != 0)) { + l.replaceItem(new String(" pop " + curSelTwo), curSelTwo); + l.replaceItem(new String("* pop " + index), index); + } + else if ((curSelTwo != 0) && (index == 0)) { + l.replaceItem(new String(" pop " + curSelTwo), curSelTwo); + l.replaceItem("* Overall", 0); + } + + l.select(index); + curSelTwo = index; + } + } + + private double toDouble(String s) { + return Double.valueOf(s).doubleValue(); + } + + private boolean isPositiveDouble(String s) { + try { + Double.valueOf(s); + } + catch (NumberFormatException e) { + System.err.println("the y-max value must be a positive double"); + return false; + } + + return true; + } +} \ No newline at end of file diff --git a/lib/lilgp/lilgpMonitor/src/DataGenerator.java b/lib/lilgp/lilgpMonitor/src/DataGenerator.java new file mode 100644 index 0000000..9faac18 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/src/DataGenerator.java @@ -0,0 +1,30 @@ +import java.io.*; + +public class DataGenerator { + + public static void main(String args[]) { + boolean cont = true; + + try { + DataInputStream din = new DataInputStream(new FileInputStream("onepop.stt")); + PrintStream dout = new PrintStream(new FileOutputStream("slow.stt")); + + while(cont) { + String data = din.readLine(); + if (data == null) { + cont = false; + } + else { + dout.println(data); + Thread.currentThread().sleep(1000); + } + } + } + catch (IOException e) { + System.out.println("Blah"); + } + catch (InterruptedException i) { + System.out.println("Bluh"); + } + } +} diff --git a/lib/lilgp/lilgpMonitor/src/GIFEncoder.java b/lib/lilgp/lilgpMonitor/src/GIFEncoder.java new file mode 100644 index 0000000..cd5189b --- /dev/null +++ b/lib/lilgp/lilgpMonitor/src/GIFEncoder.java @@ -0,0 +1,477 @@ +/* + * @(#)GIFEncoder.java 0.90 4/21/96 Adam Doppelt + * http://www.cs.brown.edu/people/amd/java/GIFEncoder/ + */ + +import java.io.*; +import java.awt.*; +import java.awt.image.*; + +/** + * GIFEncoder is a class which takes an image and saves it to a stream + * using the GIF file format (Graphics Interchange + * Format). A GIFEncoder + * is constructed with either an AWT Image (which must be fully + * loaded) or a set of RGB arrays. The image can be written out with a + * call to Write.

+ * + * Three caveats: + *

    + *
  • GIFEncoder will convert the image to indexed color upon + * construction. This will take some time, depending on the size of + * the image. Also, actually writing the image out (Write) will take + * time.

    + * + *

  • The image cannot have more than 256 colors, since GIF is an 8 + * bit format. For a 24 bit to 8 bit quantization algorithm, see + * Graphics Gems II III.2 by Xialoin Wu. Or check out his C source.

    + * + *

  • Since the image must be completely loaded into memory, + * GIFEncoder may have problems with large images. Attempting to + * encode an image which will not fit into memory will probably + * result in the following exception:

    + * java.awt.AWTException: Grabber returned false: 192

    + *

+ * + * GIFEncoder is based upon gifsave.c, which was written and released + * by:

+ *

+ * Sverre H. Huseby
+ * Bjoelsengt. 17
+ * N-0468 Oslo
+ * Norway

+ * + * Phone: +47 2 230539
+ * sverrehu@ifi.uio.no

+ *

+ * @version 0.90 21 Apr 1996 + * @author Adam Doppelt */ +public class GIFEncoder { + short width_, height_; + int numColors_; + byte pixels_[], colors_[]; + + ScreenDescriptor sd_; + ImageDescriptor id_; + +/** + * Construct a GIFEncoder. The constructor will convert the image to + * an indexed color array. This may take some time.

+ * + * @param image The image to encode. The image must be + * completely loaded. + * @exception AWTException Will be thrown if the pixel grab fails. This + * can happen if Java runs out of memory. It may also indicate that the image + * contains more than 256 colors. + * */ + public GIFEncoder(Image image) throws AWTException { + width_ = (short)image.getWidth(null); + height_ = (short)image.getHeight(null); + + int values[] = new int[width_ * height_]; + PixelGrabber grabber = new PixelGrabber( + image, 0, 0, width_, height_, values, 0, width_); + + try { + if(grabber.grabPixels() != true) + throw new AWTException("Grabber returned false: " + + grabber.status()); + } + catch (InterruptedException e) {System.out.println("Double BUNK!"); } + + byte r[][] = new byte[width_][height_]; + byte g[][] = new byte[width_][height_]; + byte b[][] = new byte[width_][height_]; + int index = 0; + for (int y = 0; y < height_; ++y) + for (int x = 0; x < width_; ++x) { + r[x][y] = (byte)((values[index] >> 16) & 0xFF); + g[x][y] = (byte)((values[index] >> 8) & 0xFF); + b[x][y] = (byte)((values[index]) & 0xFF); + ++index; + } + ToIndexedColor(r, g, b); + } + +/** + * Construct a GIFEncoder. The constructor will convert the image to + * an indexed color array. This may take some time.

+ * + * Each array stores intensity values for the image. In other words, + * r[x][y] refers to the red intensity of the pixel at column x, row + * y.

+ * + * @param r An array containing the red intensity values. + * @param g An array containing the green intensity values. + * @param b An array containing the blue intensity values. + * + * @exception AWTException Will be thrown if the image contains more than + * 256 colors. + * */ + public GIFEncoder(byte r[][], byte g[][], byte b[][]) throws AWTException { + width_ = (short)(r.length); + height_ = (short)(r[0].length); + + ToIndexedColor(r, g, b); + } + +/** + * Writes the image out to a stream in the GIF file format. This will + * be a single GIF87a image, non-interlaced, with no background color. + * This may take some time.

+ * + * @param output The stream to output to. This should probably be a + * buffered stream. + * + * @exception IOException Will be thrown if a write operation fails. + * */ + public void Write(OutputStream output) throws IOException { + BitUtils.WriteString(output, "GIF87a"); + + ScreenDescriptor sd = new ScreenDescriptor(width_, height_, + numColors_); + sd.Write(output); + + output.write(colors_, 0, colors_.length); + + ImageDescriptor id = new ImageDescriptor(width_, height_, ','); + id.Write(output); + + byte codesize = BitUtils.BitsNeeded(numColors_); + if (codesize == 1) + ++codesize; + output.write(codesize); + + LZWCompressor.LZWCompress(output, codesize, pixels_); + output.write(0); + + id = new ImageDescriptor((byte)0, (byte)0, ';'); + id.Write(output); + output.flush(); + } + + void ToIndexedColor(byte r[][], byte g[][], + byte b[][]) throws AWTException { + pixels_ = new byte[width_ * height_]; + colors_ = new byte[256 * 3]; + int colornum = 0; + for (int x = 0; x < width_; ++x) { + for (int y = 0; y < height_; ++y) { + int search; + for (search = 0; search < colornum; ++search) + if (colors_[search * 3] == r[x][y] && + colors_[search * 3 + 1] == g[x][y] && + colors_[search * 3 + 2] == b[x][y]) + break; + + if (search > 255) + throw new AWTException("Too many colors."); + + pixels_[y * width_ + x] = (byte)search; + + if (search == colornum) { + colors_[search * 3] = r[x][y]; + colors_[search * 3 + 1] = g[x][y]; + colors_[search * 3 + 2] = b[x][y]; + ++colornum; + } + } + } + numColors_ = 1 << BitUtils.BitsNeeded(colornum); + byte copy[] = new byte[numColors_ * 3]; + System.arraycopy(colors_, 0, copy, 0, numColors_ * 3); + colors_ = copy; + } + +} + +class BitFile { + OutputStream output_; + byte buffer_[]; + int index_, bitsLeft_; + + public BitFile(OutputStream output) { + output_ = output; + buffer_ = new byte[256]; + index_ = 0; + bitsLeft_ = 8; + } + + public void Flush() throws IOException { + int numBytes = index_ + (bitsLeft_ == 8 ? 0 : 1); + if (numBytes > 0) { + output_.write(numBytes); + output_.write(buffer_, 0, numBytes); + buffer_[0] = 0; + index_ = 0; + bitsLeft_ = 8; + } + } + + public void WriteBits(int bits, int numbits) throws IOException { + int bitsWritten = 0; + int numBytes = 255; + do { + if ((index_ == 254 && bitsLeft_ == 0) || index_ > 254) { + output_.write(numBytes); + output_.write(buffer_, 0, numBytes); + + buffer_[0] = 0; + index_ = 0; + bitsLeft_ = 8; + } + + if (numbits <= bitsLeft_) { + buffer_[index_] |= (bits & ((1 << numbits) - 1)) << + (8 - bitsLeft_); + bitsWritten += numbits; + bitsLeft_ -= numbits; + numbits = 0; + } + else { + buffer_[index_] |= (bits & ((1 << bitsLeft_) - 1)) << + (8 - bitsLeft_); + bitsWritten += bitsLeft_; + bits >>= bitsLeft_; + numbits -= bitsLeft_; + buffer_[++index_] = 0; + bitsLeft_ = 8; + } + } while (numbits != 0); + } +} + +class LZWStringTable { + private final static int RES_CODES = 2; + private final static short HASH_FREE = (short)0xFFFF; + private final static short NEXT_FIRST = (short)0xFFFF; + private final static int MAXBITS = 12; + private final static int MAXSTR = (1 << MAXBITS); + private final static short HASHSIZE = 9973; + private final static short HASHSTEP = 2039; + + byte strChr_[]; + short strNxt_[]; + short strHsh_[]; + short numStrings_; + + public LZWStringTable() { + strChr_ = new byte[MAXSTR]; + strNxt_ = new short[MAXSTR]; + strHsh_ = new short[HASHSIZE]; + } + + public int AddCharString(short index, byte b) { + int hshidx; + + if (numStrings_ >= MAXSTR) + return 0xFFFF; + + hshidx = Hash(index, b); + while (strHsh_[hshidx] != HASH_FREE) + hshidx = (hshidx + HASHSTEP) % HASHSIZE; + + strHsh_[hshidx] = numStrings_; + strChr_[numStrings_] = b; + strNxt_[numStrings_] = (index != HASH_FREE) ? index : NEXT_FIRST; + + return numStrings_++; + } + + public short FindCharString(short index, byte b) { + int hshidx, nxtidx; + + if (index == HASH_FREE) + return b; + + hshidx = Hash(index, b); + while ((nxtidx = strHsh_[hshidx]) != HASH_FREE) { + if (strNxt_[nxtidx] == index && strChr_[nxtidx] == b) + return (short)nxtidx; + hshidx = (hshidx + HASHSTEP) % HASHSIZE; + } + + return (short)0xFFFF; + } + + public void ClearTable(int codesize) { + numStrings_ = 0; + + for (int q = 0; q < HASHSIZE; q++) { + strHsh_[q] = HASH_FREE; + } + + int w = (1 << codesize) + RES_CODES; + for (int q = 0; q < w; q++) + AddCharString((short)0xFFFF, (byte)q); + } + + static public int Hash(short index, byte lastbyte) { + return ((int)((short)(lastbyte << 8) ^ index) & 0xFFFF) % HASHSIZE; + } +} + +class LZWCompressor { + + public static void LZWCompress(OutputStream output, int codesize, + byte toCompress[]) throws IOException { + byte c; + short index; + int clearcode, endofinfo, numbits, limit, errcode; + short prefix = (short)0xFFFF; + + BitFile bitFile = new BitFile(output); + LZWStringTable strings = new LZWStringTable(); + + clearcode = 1 << codesize; + endofinfo = clearcode + 1; + + numbits = codesize + 1; + limit = (1 << numbits) - 1; + + strings.ClearTable(codesize); + bitFile.WriteBits(clearcode, numbits); + + for (int loop = 0; loop < toCompress.length; ++loop) { + c = toCompress[loop]; + if ((index = strings.FindCharString(prefix, c)) != -1) + prefix = index; + else { + bitFile.WriteBits(prefix, numbits); + if (strings.AddCharString(prefix, c) > limit) { + if (++numbits > 12) { + bitFile.WriteBits(clearcode, numbits - 1); + strings.ClearTable(codesize); + numbits = codesize + 1; + } + limit = (1 << numbits) - 1; + } + + prefix = (short)((short)c & 0xFF); + } + } + + if (prefix != -1) + bitFile.WriteBits(prefix, numbits); + + bitFile.WriteBits(endofinfo, numbits); + bitFile.Flush(); + } +} + +class ScreenDescriptor { + public short localScreenWidth_, localScreenHeight_; + private byte byte_; + public byte backgroundColorIndex_, pixelAspectRatio_; + + public ScreenDescriptor(short width, short height, int numColors) { + localScreenWidth_ = width; + localScreenHeight_ = height; + SetGlobalColorTableSize((byte)(BitUtils.BitsNeeded(numColors) - 1)); + SetGlobalColorTableFlag((byte)1); + SetSortFlag((byte)0); + SetColorResolution((byte)7); + backgroundColorIndex_ = 0; + pixelAspectRatio_ = 0; + } + + public void Write(OutputStream output) throws IOException { + BitUtils.WriteWord(output, localScreenWidth_); + BitUtils.WriteWord(output, localScreenHeight_); + output.write(byte_); + output.write(backgroundColorIndex_); + output.write(pixelAspectRatio_); + } + + public void SetGlobalColorTableSize(byte num) { + byte_ |= (num & 7); + } + + public void SetSortFlag(byte num) { + byte_ |= (num & 1) << 3; + } + + public void SetColorResolution(byte num) { + byte_ |= (num & 7) << 4; + } + + public void SetGlobalColorTableFlag(byte num) { + byte_ |= (num & 1) << 7; + } +} + +class ImageDescriptor { + public byte separator_; + public short leftPosition_, topPosition_, width_, height_; + private byte byte_; + + public ImageDescriptor(short width, short height, char separator) { + separator_ = (byte)separator; + leftPosition_ = 0; + topPosition_ = 0; + width_ = width; + height_ = height; + SetLocalColorTableSize((byte)0); + SetReserved((byte)0); + SetSortFlag((byte)0); + SetInterlaceFlag((byte)0); + SetLocalColorTableFlag((byte)0); + } + + public void Write(OutputStream output) throws IOException { + output.write(separator_); + BitUtils.WriteWord(output, leftPosition_); + BitUtils.WriteWord(output, topPosition_); + BitUtils.WriteWord(output, width_); + BitUtils.WriteWord(output, height_); + output.write(byte_); + } + + public void SetLocalColorTableSize(byte num) { + byte_ |= (num & 7); + } + + public void SetReserved(byte num) { + byte_ |= (num & 3) << 3; + } + + public void SetSortFlag(byte num) { + byte_ |= (num & 1) << 5; + } + + public void SetInterlaceFlag(byte num) { + byte_ |= (num & 1) << 6; + } + + public void SetLocalColorTableFlag(byte num) { + byte_ |= (num & 1) << 7; + } +} + +class BitUtils { + public static byte BitsNeeded(int n) { + byte ret = 1; + + if (n-- == 0) + return 0; + + while ((n >>= 1) != 0) + ++ret; + + return ret; + } + + public static void WriteWord(OutputStream output, + short w) throws IOException { + output.write(w & 0xFF); + output.write((w >> 8) & 0xFF); + } + + static void WriteString(OutputStream output, + String string) throws IOException { + for (int loop = 0; loop < string.length(); ++loop) + output.write((byte)(string.charAt(loop))); + } +} diff --git a/lib/lilgp/lilgpMonitor/src/GenerationData.java b/lib/lilgp/lilgpMonitor/src/GenerationData.java new file mode 100644 index 0000000..81fdfca --- /dev/null +++ b/lib/lilgp/lilgpMonitor/src/GenerationData.java @@ -0,0 +1,53 @@ +/* + * lilgpMonitor Utility for monitoring lilgp statistics files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.util.Vector; + +class GenerationData { + Vector genData; + + public GenerationData() { + genData = new Vector(); + } + + public void addValue(Double val) { + genData.addElement(val); + } + + public double getValue(int index) { + return (((Double)genData.elementAt(index)).doubleValue()); + } +} \ No newline at end of file diff --git a/lib/lilgp/lilgpMonitor/src/Graph.java b/lib/lilgp/lilgpMonitor/src/Graph.java new file mode 100644 index 0000000..7290940 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/src/Graph.java @@ -0,0 +1,435 @@ +/* + * lilgpMonitor Utility for monitoring lilgp statistics files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; +import java.util.Vector; + +/** + * This class is responsible for drawing and refreshing + * the graph. + * + */ +public class Graph extends Canvas { + + public final int graphWidth = 525; + public final int graphHeight = 350; + + Vector redGraphData, blueGraphData; + private boolean includePoints; + private String scale; + private double redYmax, blueYmax; + int currentPop; + + Image offScreenImage; + Graphics offScreen; + Dimension graphArea; + + /** + * The constructor method creates storage for data for each + * of the curves, initializes some variables, and resizes the + * graph. + * + */ + public Graph() { + redGraphData = new Vector(); + blueGraphData = new Vector(); + + currentPop = 0; + redYmax = 0; + blueYmax = 0; + includePoints = false; + scale = new String("Independent"); + + resize(graphWidth, graphHeight); + } + + /** + * This method is called by external classes to update the scale + * selection. + * + * @param s string parameter containing either RED, BLUE, or INDEPENDENT + * @see lilgpMonitor + */ + public void updateScale(String s) { + scale = s; + } + + /** + * This method allows external classes to update the manual + * scale mechanisms. + * + * @param which is used to determine which scale to adjust either RED or BLUE + * @param s is the scale value + * @see lilgpMonitor + * + */ + public void updateUserScale(String which, double s) { + if (which.equalsIgnoreCase("RED")) { + redYmax = s; + } + else if (which.equalsIgnoreCase("BLUE")) { + blueYmax = s; + } + } + + /** + * This method deletes the old graph data + */ + public void clearGraphData() { + redGraphData = new Vector(); + blueGraphData = new Vector(); + } + + /** + * This method assigns new data to the curve vectors + * + * @param metricOne specifies the data for the red curve + * @param metricTwo specifies the data for the blue curve + */ + public void setGraphData(Vector metricOne, Vector metricTwo) { + redGraphData = metricOne; + blueGraphData = metricTwo; + } + + /** + * This method is used to update the line style selected + * by the user. + * + * @param style specifes the line style, either LINES or LINESPOINTS + */ + public void setLineStyle(String style) { + if (style.equals("LINES")) { + includePoints = false; + } + else if (style.equals("LINESPOINTS")) { + includePoints = true; + } + } + + /** + * This method draws the y-axis tick marks and labelling them + * + * @param g the graphics context + * @param theData current curve data + * @param anchor specifies which axis to draw the ticks on, either EAST or WEST + */ + public void drawTicks(Graphics g, Vector theData, String anchor) { + double min = Double.POSITIVE_INFINITY; + double max = Double.NEGATIVE_INFINITY; + double range; + int gens = theData.size(); + + if ((redYmax != 0) && (theData == redGraphData)) { + max = redYmax; + } + else if ((blueYmax != 0) && (theData == blueGraphData)) { + max = blueYmax; + } + else { + for(int i = 0; i < theData.size(); i++) { + double d = ((Double)theData.elementAt(i)).doubleValue(); + if (d < min) min = d; + if (d > max) max = d; + } + } + + range = max - min; + + // figure out what step to use for the tick marks based on the range + double step = -1; + int numTicks = 1; + for (int exp = 20; exp > -20; exp--) { + step = Math.pow(10, exp); + numTicks = (int)(max/step); + + // if we find a power of 10 step that gives us 5 to 10 ticks, then use it + if ((numTicks >= 5) && (numTicks <= 10)) { + break; + } + else if (numTicks > 10) { + // otherwise, double the smaller step until we get less than 10 ticks + while (numTicks > 10) { + step *= 2.0; + numTicks = (int)(max/step); + } + break; + + } + } + + // now, draw the ticks.... + FontMetrics fm = g.getFontMetrics(); + if (anchor.equalsIgnoreCase("WEST")) { + for (int i = 1; i <= numTicks; i++) { + int y = graphHeight - (int)(i*step*getTheScale(theData)); + g.drawLine(0, y, 5, y); + String label = String.valueOf(i*step); + g.drawString(label, 8, y + (fm.getAscent()/2)); + } + } + else if (anchor.equalsIgnoreCase("EAST")) { + for (int i = 1; i <= numTicks; i++) { + int y = graphHeight - (int)(i*step*getTheScale(theData)); + g.drawLine(graphWidth, y, graphWidth-5, y); + String label = String.valueOf(i*step); + g.drawString(label, graphWidth-8-(fm.stringWidth(label)), y + (fm.getAscent()/2)); + } + } + + + /* wfp: now lets do the same thing for the x axis, for nice graphs */ + + // figure out what step to use for the tick marks based on the range + step = -1; + numTicks = 1; + for (int exp = 20; exp > -20; exp--) { + step = Math.pow(10, exp); + numTicks = (int)(gens/step); + + // if we find a power of 10 step that gives us 5 to 10 ticks, then use it + if ((numTicks >= 5) && (numTicks <= 10)) { + break; + } + else if (numTicks > 10) { + // otherwise, double the smaller step until we get less than 10 ticks + while (numTicks > 10) { + step *= 2.0; + numTicks = (int)(gens/step); + } + break; + } + } + int xcoord=0; + // System.out.println("Step is:" + step + ", ticks is:" + numTicks + ", gens is:" + gens); + for (int i = 1; i <= numTicks; i++) { + xcoord = (int)(xcoord + (graphWidth/numTicks)); + g.drawLine(xcoord, graphHeight, xcoord, graphHeight-5); + String label = String.valueOf(i*step); + g.drawString(label, xcoord - fm.stringWidth(label)/2, graphHeight - (fm.getHeight() + fm.getDescent())); + } + } + + + + /** + * This method draws a small diamond at the specified point + * + * @param g the graphics context + * @param x the x coordinate of the data point + * @param y the y coordinate of the data point + */ + public void drawPoint(Graphics g, int x, int y) { + int d = 2; + + // X's + // g.drawLine(x-d, y-d, x+d, y+d); + // g.drawLine(x-d, y+d, x+d, y-d); + + // diamonds + g.drawLine(x, y-d, x+d, y); + g.drawLine(x+d, y, x, y+d); + g.drawLine(x, y+d, x-d, y); + g.drawLine(x-d, y, x, y-d); + } + + /** + * This method is actually in charge of calling each of the drawing + * methods. + * + * @param g the graphics context + */ + public void backgroundPaint(Graphics g) { + double sx, sy; // the scales + double rsx, rsy; // the red scales + double bsx, bsy; // the blue scales + + // figure out the scales + if (scale.equalsIgnoreCase("Red")) { + rsx = (double)graphWidth/(double)(redGraphData.size()-1); + rsy = getTheScale(redGraphData); + bsx = rsx; + bsy = rsy; + } + else if (scale.equalsIgnoreCase("Blue")) { + bsx = (double)graphWidth/(double)(blueGraphData.size()-1); + bsy = getTheScale(blueGraphData); + rsx = bsx; + rsy = bsy; + } + else if (scale.equalsIgnoreCase("Independent")) { + rsx = (double)graphWidth/(double)(redGraphData.size()-1); + rsy = getTheScale(redGraphData); + bsx = (double)graphWidth/(double)(blueGraphData.size()-1); + bsy = getTheScale(blueGraphData); + } + else { + System.err.println("illeagal scale request"); + rsx = rsy = bsx = bsy = 1; + } + + // fill in the background + g.setColor(Color.white); + g.fillRect(0, 0, graphWidth, graphHeight); + + // draw a nice border + g.setColor(Color.black); + g.drawRect(0, 0, graphWidth-1, graphHeight-1); + + // draw the tick marks + if (scale.equalsIgnoreCase("Red")) { + if (redGraphData.size() != 0) { + drawTicks(g, redGraphData, "WEST"); + } + } + else if (scale.equalsIgnoreCase("Blue")) { + if (blueGraphData.size() != 0) { + drawTicks(g, blueGraphData, "EAST"); + } + } + else if (scale.equalsIgnoreCase("Independent")) { + if (redGraphData.size() != 0) { + drawTicks(g, redGraphData, "WEST"); + } + + if (blueGraphData.size() != 0) { + drawTicks(g, blueGraphData, "EAST"); + } + } + + // draw the primary(red) curve + if (redGraphData.size() != 0) { + g.setColor(Color.red); + + // draw the curve + int x1, y1, x2, y2; + for(int i = 1; i < redGraphData.size(); i++) { + // adding -2 pulls the curve up above the bottom border + y1 = -2 + graphHeight - (int)(((Double)redGraphData.elementAt(i-1)).doubleValue() * rsy); + y2 = -2 + graphHeight - (int)(((Double)redGraphData.elementAt(i)).doubleValue() * rsy); + x1 = (int)((i-1) * rsx); + x2 = (int)(i * rsx); + g.drawLine(x1, y1, x2, y2); + + if (includePoints) { + drawPoint(g, x1, y1); + } + } + } + + // draw the secondary(blue) curve + if (blueGraphData.size() != 0) { + g.setColor(Color.blue); + + // draw the curve + int x1, y1, x2, y2; + for(int i = 1; i < blueGraphData.size(); i++) { + // adding -2 pulls the curve up above the bottom border + y1 = -2 + graphHeight - (int)(((Double)blueGraphData.elementAt(i-1)).doubleValue() * bsy); + y2 = -2 + graphHeight - (int)(((Double)blueGraphData.elementAt(i)).doubleValue() * bsy); + x1 = (int)((i-1) * bsx); + x2 = (int)(i * bsx); + g.drawLine(x1, y1, x2, y2); + + if (includePoints) { + drawPoint(g, x1, y1); + } + } + } + } + + /** + * This method attempts to create an off screen image and then calls the + * background paint method. If it fails, then it simply paints on the + * visible graphics context. + * + * @param g the graphics context + */ + public void paint(Graphics g) { + if (offScreenImage == null) + { + offScreenImage = createImage (graphWidth, graphHeight); + offScreen = offScreenImage.getGraphics (); + } + + if (offScreen != null) { + backgroundPaint(offScreen); + g.drawImage(offScreenImage, 0, 0, this); + } + else { + backgroundPaint(g); + } + } + + /** + * This method figures out the appropriate scale to use for the + * given data set. + * + * @param v the data set + */ + private double getTheScale(Vector v) { + double min = Double.POSITIVE_INFINITY; + double max = Double.NEGATIVE_INFINITY; + + if ((redYmax != 0) && (v == redGraphData)) { + return (graphHeight-10) / redYmax; + } + else if ((blueYmax != 0) && (v == blueGraphData)) { + return (graphHeight-10) / blueYmax; + } + else { + for(int i = 0; i < v.size(); i++) { + double d = ((Double)v.elementAt(i)).doubleValue(); + if (d < min) min = d; + if (d > max) max = d; + } + + return (graphHeight-10)/max; + } + } + + /** + * This method returns the offscreen image for creating the GIF file. + * + */ + public Image getImage() { + if (offScreenImage != null) { + return offScreenImage; + } + else { + return null; + } + } +} diff --git a/lib/lilgp/lilgpMonitor/src/GroupPanel.java b/lib/lilgp/lilgpMonitor/src/GroupPanel.java new file mode 100644 index 0000000..ee2bcba --- /dev/null +++ b/lib/lilgp/lilgpMonitor/src/GroupPanel.java @@ -0,0 +1,120 @@ +/* + * lilgpMonitor Utility for monitoring lilgp statistics files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * Create a panel that allows you to organize related components + * on a panel surrounded by a raised border. It also allows you + * to specify a group title. + */ + +class GroupPanel extends Panel { + private boolean raised = true; + private String title; + private FontMetrics fm; + + /** + * Create a new object and assign the title string + */ + public GroupPanel(String title) { + this.title = title; + } + + /** + * Set the background color + * + * @param c the background color + */ + public synchronized void setBackground(Color c) { + super.setBackground(c); + repaint(); + } + + public void addNotify() { + super.addNotify(); + } + + /** + * Create new insets + */ + public Insets insets() { + fm = getFontMetrics(getFont()); + return new Insets(fm.getHeight()+5, 5, 5, 5); + } + + /** + * Paint the border around the group + * + * param g the graphics object + */ + public void paint(Graphics g) { + super.paint(g); + + int y = fm.getAscent()/2; + int w = size().width-2; + int h = size().height-2-y; + Color c1 = getBackground().brighter().brighter().brighter(); + Color c2 = getBackground().darker().darker().darker(); + + g.setColor(c1); + g.drawRect(0,y,w,h); + g.setColor(c2); + g.drawRect(1,y+1,w,h); + + paintTitle(g); + } + + /** + * Paint the group title + * + * @param g the graphics object + */ + void paintTitle(Graphics g) { + // Calculate the boundary + int w = size().width; + int text_width = fm.stringWidth(title); + int x = w/2 - text_width/2; + int y = fm.getAscent(); + + g.setColor(getBackground()); + g.fillRect(x-2,0,text_width+4,fm.getHeight()); + g.setColor(getForeground()); + g.drawString(title,x,y); + } +} + + diff --git a/lib/lilgp/lilgpMonitor/src/PopulationData.java b/lib/lilgp/lilgpMonitor/src/PopulationData.java new file mode 100644 index 0000000..d1cc423 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/src/PopulationData.java @@ -0,0 +1,98 @@ +/* + * lilgpMonitor Utility for monitoring lilgp statistics files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.util.Vector; + +/** + * This class simply contains a vector that will store all of the + * data from the lilgp statistics file for a single + * sub-population. + */ +public class PopulationData { + Vector popData; + + /** + * The constructor method instantiates a Vector that contains + * references for 20 other vectors - one for each column of + * data in the statistics file. + * + */ + public PopulationData() { + popData = new Vector(); + + for(int i = 0; i< 20; i++) { + popData.addElement(new Vector()); + } + } + + /** + * This method adds the given value to the correct vector. + * + * @param whichMetric is the index of the correct vector + * @param value is the value to be inserted + */ + public void addValue(int whichMetric, Double value) { + ((Vector)popData.elementAt(whichMetric)).addElement(value); + } + + /** + * This method returns the specified value. + * + * @param whichMetric specifies which Vector to look in + * @param whichGeneration specifies which generation to look at + */ + public double getValue(int whichMetric, int whichGeneration) { + Vector v = (Vector)popData.elementAt(whichMetric); + Double d = (Double)v.elementAt(whichGeneration); + return d.doubleValue(); + } + + /** + * This method returns the requested Vector + * + * @param whichMetric the index of the Vector to return. + */ + public Vector getMetricData(int whichMetric) { + return (Vector)popData.elementAt(whichMetric); + } + + /** + * This method returns the number of generations of data. + */ + public int getNumGenerations() { + return ((Vector)popData.elementAt(0)).size(); + } +} diff --git a/lib/lilgp/lilgpMonitor/src/QuitBox.java b/lib/lilgp/lilgpMonitor/src/QuitBox.java new file mode 100644 index 0000000..335db36 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/src/QuitBox.java @@ -0,0 +1,104 @@ +/* + * lilgpMonitor Utility for monitoring lilgp statistics files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * Ask the user if they really want to quit. + */ + +class QuitBox extends Dialog { + Button yesButton; + Button noButton; + + public QuitBox(Frame parent) { + super(parent, "Quit Application?", true); + setResizable(false); + setLayout(new BorderLayout()); + setBackground(Color.white); + + Panel p = new Panel(); + p.setLayout(new FlowLayout()); + yesButton=new Button("Yes"); + p.add(yesButton); + noButton=new Button("No"); + p.add(noButton); + + add("North", new TitlePanel("Close All Viewers And Exit?")); + add("Center", p); + + resize(300, 150); + } + + public void show() { + Rectangle parentBounds = getParent().bounds(); + Rectangle myBounds = this.bounds(); + + move(parentBounds.x + (parentBounds.width - myBounds.width)/ 2, + parentBounds.y + (parentBounds.height - myBounds.height)/2); + + super.show(); + } + + public boolean handleEvent(Event event) { + if (event.id == Event.ACTION_EVENT && event.target == noButton) { + clickedNoButton(); + return true; + } + else + if (event.id == Event.ACTION_EVENT && event.target == yesButton) { + clickedYesButton(); + return true; + } + else + + if (event.id == Event.WINDOW_DESTROY) { + hide(); + return true; + } + return super.handleEvent(event); + } + + public void clickedYesButton() { + System.exit(0); + } + + public void clickedNoButton() { + handleEvent(new Event(this, Event.WINDOW_DESTROY, null)); + } +} + + diff --git a/lib/lilgp/lilgpMonitor/src/Timer.java b/lib/lilgp/lilgpMonitor/src/Timer.java new file mode 100644 index 0000000..027ebf5 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/src/Timer.java @@ -0,0 +1,64 @@ +/* + * lilgpMonitor Utility for monitoring lilgp statistics files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +/** + * This is a very simple timer class runs in its own thread, It starts + * a new Thread and sleeps fot the interval of time supplied to the + * ccnstructor method. Classes that wish to use this class must + * implement the Timed interface. + * + */ +class Timer extends Thread { + private Timed target; + private int interval; + + public Timer(Timed t, int i) { + target = t; + interval = i; + setDaemon(true); + } + + public void run() { + while(true) { + try { + sleep(interval); + } + catch (InterruptedException e) { }; + + target.tick(this); + } + } +} diff --git a/lib/lilgp/lilgpMonitor/src/TitlePanel.java b/lib/lilgp/lilgpMonitor/src/TitlePanel.java new file mode 100644 index 0000000..445a3c0 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/src/TitlePanel.java @@ -0,0 +1,58 @@ +/* + * lilgpMonitor Utility for monitoring lilgp statistics files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * This class simply creates a panel with a yellow background and + * prints the title string. + */ +class TitlePanel extends Panel { + /** + * Set up a font and print the title on a yellow background + * + * @param title the title string + */ + public TitlePanel(String title) { + Font f = new Font("TimesRoman", Font.ITALIC + Font.BOLD, 20); + setFont(f); + setLayout(new FlowLayout()); + setBackground(Color.yellow); + add(new Label(title, Label.CENTER)); + } +} + + diff --git a/lib/lilgp/lilgpMonitor/src/lilgpMonitor.java b/lib/lilgp/lilgpMonitor/src/lilgpMonitor.java new file mode 100644 index 0000000..625fdf1 --- /dev/null +++ b/lib/lilgp/lilgpMonitor/src/lilgpMonitor.java @@ -0,0 +1,537 @@ +/* + * lilgpMonitor Utility for monitoring lilgp statistics files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; +import java.io.*; +import java.util.StringTokenizer; +import java.util.Vector; +import java.util.Date; + +/** + * An interface for the Timer class. + * + * @see Timer + */ +interface Timed { + public void tick(Timer t); +} + +/** + * This is the main class. It creates the various UI components + * and is responsible for dispatching events to the appropriate + * classes when the user changes settings. + * + */ +public class lilgpMonitor extends Frame implements Timed { + public static int numViewers = 0; + + Menu fileMenu, helpMenu, graphMenu, updateMenu; + Vector allPopulations; + + ControlPanel theControls; + Graph theGraph; + + Timer theTimer; + boolean manualUpdates = true; + + String filepath; + + int numPops = 0; + int numGens = 0; + + /** + * The constructor method is responsible for creating each of the + * UI components and initializing variables. + */ + public lilgpMonitor() { + super("lilgpMonitor"); + + // keep track of how many viewers are open + numViewers++; + + // create the menubar + MenuBar mb = new MenuBar(); + buildMenus(); + + // add menus to the menubar + mb.add(fileMenu); + mb.add(graphMenu); + mb.add(updateMenu); + mb.add(helpMenu); + setMenuBar(mb); + + setLayout(new BorderLayout()); + + // add our panels + add("North", new TitlePanel("lilgpMonitor")); + + Panel gp = new Panel(); + theGraph = new Graph(); + gp.add(theGraph); + add("Center", gp); + + Panel cp = new Panel(); + theControls = new ControlPanel(this, theGraph); + cp.add(theControls); + add("South", cp); + + resize(600, 690); + show(); + } + + + public boolean handleEvent(Event event) { + if (event.id == Event.WINDOW_DESTROY) { + selectedCloseViewer(); + return true; + } + return super.handleEvent(event); + } + + + public boolean action(Event event, Object arg) { + if (event.target instanceof MenuItem) { + String label = (String) arg; + + if (label.equalsIgnoreCase("About...")) { + selectedAbout(); + return true; + } + else if (label.equalsIgnoreCase("Exit All")) { + selectedExitAll(); + return true; + } + else if (label.equalsIgnoreCase("Open...")) { + selectedOpen(); + return true; + } + else if (label.equalsIgnoreCase("Save As...")) { + selectedSaveAs(); + return true; + } + else if (label.equalsIgnoreCase("New Viewer")) { + selectedNewViewer(); + return true; + } + else if (label.equalsIgnoreCase("Close Viewer")) { + selectedCloseViewer(); + return true; + } + else if (label.equalsIgnoreCase("Lines")) { + selectedLines(); + return true; + } + else if (label.equalsIgnoreCase("Lines + Points")) { + selectedLinesPoints(); + return true; + } + else if (label.equalsIgnoreCase("Manual Updates/Update Now")) { + selectedManualUpdates(); + return true; + } + else if (label.equalsIgnoreCase("1 Minute")) { + setTimer(1); + return true; + } + else if (label.equalsIgnoreCase("2 Minutes")) { + setTimer(2); + return true; + } + else if (label.equalsIgnoreCase("5 Minutes")) { + setTimer(5); + return true; + } + else if (label.equalsIgnoreCase("10 Minutes")) { + setTimer(10); + return true; + } + + } + + return super.action(event, arg); + } + + /** + * The main method for the application. Simply instantiates itself. + */ + public static void main(String args[]) { + new lilgpMonitor(); + } + + private void buildMenus() { + // create the file menu + fileMenu = new Menu("File"); + fileMenu.add(new MenuItem("Open...")); + fileMenu.add(new MenuItem("Save As...")); + fileMenu.add(new MenuItem("New Viewer")); + fileMenu.addSeparator(); + fileMenu.add(new MenuItem("Close Viewer")); + fileMenu.add(new MenuItem("Exit All")); + + // create the graph menu + graphMenu = new Menu("Graph"); + graphMenu.add(new MenuItem("Lines")); + graphMenu.add(new MenuItem("Lines + Points")); + + // create update menu + updateMenu = new Menu("Update"); + updateMenu.add(new MenuItem("Manual Updates/Update Now")); + updateMenu.addSeparator(); + updateMenu.add(new MenuItem("1 Minute")); + updateMenu.add(new MenuItem("2 Minutes")); + updateMenu.add(new MenuItem("5 Minutes")); + updateMenu.add(new MenuItem("10 Minutes")); + + // create the help menu + helpMenu = new Menu("Help"); + helpMenu.add(new MenuItem("About...")); + helpMenu.add(new MenuItem("Help")); + } + + /** + * This method is called when the user selects Open from the + * file menu. It creates a file dialog and then calls the + * method that reads the data. + * + * @see lilgpMonitor#readData + */ + public void selectedOpen() { + FileDialog fd = new FileDialog(this, "Open...", FileDialog.LOAD); + fd.setDirectory("."); + fd.setFile("*.stt"); + fd.show(); + + if (fd.getFile() != null) { + try { + filepath = new String(fd.getDirectory() + fd.getFile()); + readData(filepath); + } + catch (IOException e) { + System.err.println("Error opening file: " + filepath); + return; + } + } + } + + /** + * This method is called when the user selects Save As from the file menu. + * It opens a file dialog and then calls the conversion routine to create + * the GIF file. + * + */ + public void selectedSaveAs() { + String outputFilename; + FileDialog fd = new FileDialog(this, "Save As...", FileDialog.SAVE); + //fd.setDirectory("."); + fd.setFile("*.gif"); + fd.show(); + + if (fd.getFile() != null) { + try { + outputFilename = new String(fd.getDirectory() + fd.getFile()); + + // get the image + Image theImage = theGraph.getImage(); + + if (theImage != null) { + // encode the image as a GIF + GIFEncoder encoder = new GIFEncoder(theImage); + OutputStream output = new BufferedOutputStream( + new FileOutputStream(outputFilename)); + encoder.Write(output); + } + else { + System.err.println("Couldn't capture image"); + } + } + catch (IOException e) { + System.err.println("Error " + e); + return; + } + catch (AWTException e) { + System.err.println("Error " + e); + } + } + + + } + + /** + * This method simply instantiates a new viewer + */ + public void selectedNewViewer() { + new lilgpMonitor(); + } + + + /** + * This method closes a viewer. + */ + public void selectedCloseViewer() { + // stop the timer + stopTimer(); + + // if this is the last viewer alive, then exit, + // else dispose it. + numViewers--; + if(numViewers == 0) { + System.exit(0); + } + else { + // destroy the Frame + this.hide(); + this.dispose(); + } + } + + + /** + * This method closes all viewers. + */ + public void selectedExitAll() { + QuitBox theQuitBox; + theQuitBox = new QuitBox(this); + theQuitBox.show(); + } + + /** + * This method responsible for updating the linestyle in + * the Graph object. + * + * @see Graph#setLineStyle + */ + public void selectedLines() { + theGraph.setLineStyle("LINES"); + theControls.updateGraph(); + } + + /** + * This method responsible for updating the linestyle in + * the Graph object. + * + * @see Graph#setLineStyle + */ + public void selectedLinesPoints() { + theGraph.setLineStyle("LINESPOINTS"); + theControls.updateGraph(); + } + + /** + * This method manually updates the graph. + */ + public void selectedManualUpdates() { + stopTimer(); + manualUpdates = true; + try { + if (filepath != null) { + readData(filepath); + } + } + catch (IOException e) { + System.err.println("Error reading from: " + filepath); + } + } + + /** + * This method creates a dialog that describes the software + */ + public void selectedAbout() { + AboutBox theAboutBox; + theAboutBox = new AboutBox(this); + theAboutBox.show(); + } + + /** + * This method actually reads the lilgp statistics file. + * + * @param inputFile pathname to the datafile. + */ + public void readData(String inputFile) throws IOException { + DataInputStream din; + boolean cont = true; + int lineCount = 0; + + din = new DataInputStream(new BufferedInputStream( + new FileInputStream(inputFile), 1024)); + + // initialize population vector + allPopulations = new Vector(); + + // clear the population menu + for (int i = numPops; i > 0; i--) { + theControls.removePop(i); + } + + numPops = 0; + + // create a slot for subpop 0 ahead of time + allPopulations.addElement(new PopulationData()); + + while(cont) { + String data = din.readLine(); + if (data == null) { + cont = false; + } + else { + lineCount++; + + // tokenize the line + StringTokenizer st = new StringTokenizer(data, " ", false); + + // make sure that there are 20 items on each line + if (st.countTokens() != 20) { + System.err.println("parse error on line " + lineCount); + return; + } + + // pull the generation & subpop out of this line of data + int currentGen = Integer.parseInt(st.nextToken()); + int currentPop = Integer.parseInt(st.nextToken()); + + // if currentGen == 0 then this is a new subpop, so create storage for it. + if (currentGen == 0) { + // we've already created a slot for subpop 0 + if (currentPop != 0) { + allPopulations.addElement(new PopulationData()); + + // add a new item on the pop menu + theControls.addPop(new String(" pop " + currentPop)); + + numPops++; + } + } + + // store the generation and population (eventhough we don't need them) + ((PopulationData)allPopulations.elementAt(currentPop)).addValue(0, new Double((double)currentGen)); + ((PopulationData)allPopulations.elementAt(currentPop)).addValue(1, new Double((double)currentPop)); + + // add the rest of the data + for(int i = 2; i < 20; i++) { + Double value = new Double(st.nextToken()); + ((PopulationData)allPopulations.elementAt(currentPop)).addValue(i, value); + } + + numGens++; + } + } + + theControls.updateGraph(); + } + + /** + * This method is responsible for retrieving the correct data from the + * statistics and passing it into the Graph object. + * + * @param m_One the current selection for metric one + * @param m_Two the current selection for metric Two + * @param p_one the current selection for subpopulation one + * @param p_two the current selection for subpopulation two + * @see Graph#setGraphData + */ + public void updateGraphData(int m_One, int m_Two, int p_one, int p_two) { + Vector tempVec_1 = new Vector(); + Vector tempVec_2 = new Vector(); + + // subtract one since "None" is the first item in the Choice + m_One--; + m_Two--; + + theGraph.clearGraphData(); + + if (allPopulations != null) { + if(m_One >= 0) { + PopulationData pd = (PopulationData)allPopulations.elementAt(p_one); + tempVec_1 = pd.getMetricData(m_One+2); + } + + if(m_Two >= 0) { + PopulationData pd = (PopulationData)allPopulations.elementAt(p_two); + tempVec_2 = pd.getMetricData(m_Two+2); + } + + theGraph.setGraphData(tempVec_1, tempVec_2); + + theGraph.repaint(); + } + } + + /** + * This method stops the current timer + */ + public void stopTimer() { + if (theTimer != null) { + if (theTimer.isAlive()) { + theTimer.stop(); + } + } + } + + /** + * This method sets a timer for automatic updates + * + * @param minutes the amount of time in minutes for the timer + */ + public void setTimer(int minutes) { + manualUpdates = false; + + // destroy the old timer if it exists + stopTimer(); + + // and start a new one + theTimer = new Timer(this, minutes*60000); + theTimer.start(); + } + + + /** + * Everytime we recieve a tick from our timer, reload the data file + * + * @param t a reference to the Timer object + * @see Timer + */ + public void tick(Timer t) { + if (filepath != null) { + try { + readData(filepath); + } + catch (IOException e) { + System.err.println("Error opening file " + filepath); + } + } + } +} + + diff --git a/lib/lilgp/lilgpSetup1.0/README.1ST b/lib/lilgp/lilgpSetup1.0/README.1ST new file mode 100644 index 0000000..602ac9d --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/README.1ST @@ -0,0 +1,19 @@ + +After unpacking the distribution, you should have the following tree +structure: + + lilgpSetup\ + classes\ + docs\ + images\ + javadocs\ + images\ + src\ + +To build the .class files, change into the src\ directory and type: + + javac -d ../classes *.java + +To run lilgpSetup, change into the classes\ directory and type: + + java lilgpSetup diff --git a/lib/lilgp/lilgpSetup1.0/classes/AboutBox.class b/lib/lilgp/lilgpSetup1.0/classes/AboutBox.class new file mode 100644 index 0000000..83be756 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/AboutBox.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/Assert.class b/lib/lilgp/lilgpSetup1.0/classes/Assert.class new file mode 100644 index 0000000..0039cdf Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/Assert.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/BreedFrame.class b/lib/lilgp/lilgpSetup1.0/classes/BreedFrame.class new file mode 100644 index 0000000..f498a84 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/BreedFrame.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/BreedingPanel.class b/lib/lilgp/lilgpSetup1.0/classes/BreedingPanel.class new file mode 100644 index 0000000..c8603cb Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/BreedingPanel.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/BulletinLayout.class b/lib/lilgp/lilgpSetup1.0/classes/BulletinLayout.class new file mode 100644 index 0000000..c52a96e Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/BulletinLayout.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/ClickableLabel.class b/lib/lilgp/lilgpSetup1.0/classes/ClickableLabel.class new file mode 100644 index 0000000..afabf34 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/ClickableLabel.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/ComponentScroller.class b/lib/lilgp/lilgpSetup1.0/classes/ComponentScroller.class new file mode 100644 index 0000000..83353af Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/ComponentScroller.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/ControlClickEvent.class b/lib/lilgp/lilgpSetup1.0/classes/ControlClickEvent.class new file mode 100644 index 0000000..8bd0cb2 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/ControlClickEvent.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/ControlPanel.class b/lib/lilgp/lilgpSetup1.0/classes/ControlPanel.class new file mode 100644 index 0000000..85e85b6 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/ControlPanel.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/ErrorFrame.class b/lib/lilgp/lilgpSetup1.0/classes/ErrorFrame.class new file mode 100644 index 0000000..f8d2f03 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/ErrorFrame.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/Exchange.class b/lib/lilgp/lilgpSetup1.0/classes/Exchange.class new file mode 100644 index 0000000..f1f73b2 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/Exchange.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/GeneralPanel.class b/lib/lilgp/lilgpSetup1.0/classes/GeneralPanel.class new file mode 100644 index 0000000..926e45c Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/GeneralPanel.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/GridBagPanel.class b/lib/lilgp/lilgpSetup1.0/classes/GridBagPanel.class new file mode 100644 index 0000000..baec048 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/GridBagPanel.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/GroupPanel.class b/lib/lilgp/lilgpSetup1.0/classes/GroupPanel.class new file mode 100644 index 0000000..e6027ea Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/GroupPanel.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/IndexPanel.class b/lib/lilgp/lilgpSetup1.0/classes/IndexPanel.class new file mode 100644 index 0000000..10af6b0 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/IndexPanel.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/InfoDialog.class b/lib/lilgp/lilgpSetup1.0/classes/InfoDialog.class new file mode 100644 index 0000000..2f9192b Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/InfoDialog.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/InitializationPanel.class b/lib/lilgp/lilgpSetup1.0/classes/InitializationPanel.class new file mode 100644 index 0000000..2ee5d5e Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/InitializationPanel.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/MainWindow.class b/lib/lilgp/lilgpSetup1.0/classes/MainWindow.class new file mode 100644 index 0000000..5b9332e Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/MainWindow.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/OutputPanel.class b/lib/lilgp/lilgpSetup1.0/classes/OutputPanel.class new file mode 100644 index 0000000..2c72b84 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/OutputPanel.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/ParameterDB.class b/lib/lilgp/lilgpSetup1.0/classes/ParameterDB.class new file mode 100644 index 0000000..f90db76 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/ParameterDB.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/PhasePanel.class b/lib/lilgp/lilgpSetup1.0/classes/PhasePanel.class new file mode 100644 index 0000000..5bcda31 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/PhasePanel.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/QuitBox.class b/lib/lilgp/lilgpSetup1.0/classes/QuitBox.class new file mode 100644 index 0000000..8c26c3d Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/QuitBox.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/Scroller.class b/lib/lilgp/lilgpSetup1.0/classes/Scroller.class new file mode 100644 index 0000000..3eff350 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/Scroller.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/ScrollerLayout.class b/lib/lilgp/lilgpSetup1.0/classes/ScrollerLayout.class new file mode 100644 index 0000000..2a18fd0 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/ScrollerLayout.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/SizeLimitsPanel.class b/lib/lilgp/lilgpSetup1.0/classes/SizeLimitsPanel.class new file mode 100644 index 0000000..bfd19c0 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/SizeLimitsPanel.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/SubPopFrame.class b/lib/lilgp/lilgpSetup1.0/classes/SubPopFrame.class new file mode 100644 index 0000000..6dbe82c Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/SubPopFrame.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/SubPopGraph.class b/lib/lilgp/lilgpSetup1.0/classes/SubPopGraph.class new file mode 100644 index 0000000..a79dee9 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/SubPopGraph.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/SubPopsPanel.class b/lib/lilgp/lilgpSetup1.0/classes/SubPopsPanel.class new file mode 100644 index 0000000..19199e1 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/SubPopsPanel.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/TitlePanel.class b/lib/lilgp/lilgpSetup1.0/classes/TitlePanel.class new file mode 100644 index 0000000..907c692 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/TitlePanel.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/UserDefinedPanel.class b/lib/lilgp/lilgpSetup1.0/classes/UserDefinedPanel.class new file mode 100644 index 0000000..a3b78b8 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/UserDefinedPanel.class differ diff --git a/lib/lilgp/lilgpSetup1.0/classes/lilgpSetup.class b/lib/lilgp/lilgpSetup1.0/classes/lilgpSetup.class new file mode 100644 index 0000000..dc0c86a Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/classes/lilgpSetup.class differ diff --git a/lib/lilgp/lilgpSetup1.0/docs/COPYING.txt b/lib/lilgp/lilgpSetup1.0/docs/COPYING.txt new file mode 100644 index 0000000..be8b163 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/docs/COPYING.txt @@ -0,0 +1,285 @@ +GNU GENERAL PUBLIC LICENSE + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom +to share and change it. By contrast, the GNU General Public License is +intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the software, or if you modify it. + +For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + +We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + +Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, +we want its recipients to know that what they have is not the +original, so that any problems introduced by others will not reflect +on the original authors' reputations. + +Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at +all. + +The precise terms and conditions for copying, distribution and +modification follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a +notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the Program +(independent of having been made by running the Program). Whether that +is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source +code as you receive it, in any medium, provided that you conspicuously +and appropriately publish on each copy an appropriate copyright notice +and disclaimer of warranty; keep intact all the notices that refer to +this License and to the absence of any warranty; and give any other +recipients of the Program a copy of this License along with the +Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a +fee. + +2. You may modify your copy or copies of the Program or any portion of +it, thus forming a work based on the Program, and copy and distribute +such modifications or work under the terms of Section 1 above, +provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices +stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that +in whole or in part contains or is derived from the Program or any +part thereof, to be licensed as a whole at no charge to all third +parties under the terms of this License. + + c) If the modified program normally reads commands interactively +when run, you must cause it, when started running for such interactive +use in the most ordinary way, to print or display an announcement +including an appropriate copyright notice and a notice that there is +no warranty (or else, saying that you provide a warranty) and that +users may redistribute the program under these conditions, and telling +the user how to view a copy of this License. (Exception: if the +Program itself is interactive but does not normally print such an +announcement, your work based on the Program is not required to print +an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + +3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable +source code, which must be distributed under the terms of Sections 1 +and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three +years, to give any third party, for a charge no more than your cost of +physically performing source distribution, a complete machine-readable +copy of the corresponding source code, to be distributed under the +terms of Sections 1 and 2 above on a medium customarily used for +software interchange; or, + + c) Accompany it with the information you received as to the offer +to distribute corresponding source code. (This alternative is allowed +only for noncommercial distribution and only if you received the +program in object code or executable form with such an offer, in +accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt otherwise +to copy, modify, sublicense or distribute the Program is void, and +will automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + +5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted +herein. You are not responsible for enforcing compliance by third +parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + +9. The Free Software Foundation may publish revised and/or new +versions of the General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Program does not specify a +version number of this License, you may choose any version ever +published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the +author to ask for permission. For software which is copyrighted by the +Free Software Foundation, write to the Free Software Foundation; we +sometimes make exceptions for this. Our decision will be guided by the +two goals of preserving the free status of all derivatives of our free +software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE +LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS +AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF +ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + +END OF TERMS AND CONDITIONS \ No newline at end of file diff --git a/lib/lilgp/lilgpSetup1.0/docs/Manual.doc b/lib/lilgp/lilgpSetup1.0/docs/Manual.doc new file mode 100644 index 0000000..d64ab77 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/docs/Manual.doc differ diff --git a/lib/lilgp/lilgpSetup1.0/docs/Manual.htm b/lib/lilgp/lilgpSetup1.0/docs/Manual.htm new file mode 100644 index 0000000..f32c3ba --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/docs/Manual.htm @@ -0,0 +1,570 @@ + + +lilgpSetup User's Manual + + + +

+

lilgpSetup User's Manual

+

+ +

1.1 Introduction

+ +LilgpSetup is a companion utility for lil-gp that will +help you construct the parameter files necessary to run experiments +with lil-gp. It provides a set of fill-in forms that are +organized by the type of parameters they are responsible for. You +simply enter parameters in the required fields, many of which already +contain default values that follow the recommendations found in John +Koza's Genetic Programming and Genetic Programming II. +Once the parameters have been entered, lilgpSetup will parse +them and report any errors or warnings it has found. After the you +have resolved the errors, lilgpSetup will automatically +generate a parameter file that is ready to be used by +lil-gp.
+ +

+If you are unfamiliar with genetic algorithms, genetic programming, or +lil-gp, then you should begin by reading the lil-gp User's +Manual. + +

+ +

1.1.1 Features

+ +lilgpSetup features include: +
    +
  • Ease of use: graphical interface allows point and click selection +of several parameters +
  • Secure: built-in error checking for every parameter allows nearly error-proof entry of parameters +
  • Parameter +file generation: automatically creates the lil-gp parameter file +
  • Parameter file support: able to read existing parameter files +and edit them +
  • Visual sub-population editor: graphical editor +allows point and click construction of sub-population exchanges +
  • Complete: supports most of the lil-gp parameter file +features +
  • Portable: written in Java for portability +
  • Help: point +and click access to definitions of every parameter +
+
+

+ +

1.1.2 Limitations

+ +lilgpSetup does not support +the following features of lil-gp: +
    +
  • no built in support for any of the parameters +associated with problems that define individuals in the population as +sets of trees, rather than as single trees. However, +these parameters can be entered in the User Defined Parameters +window, but they will not be checked for errors. + The following table summarizes the parameters that are not supported: +
+ +
+ + + + + + + +
tree[#].max_nodes +
tree[#].max_depth +
init.tree[#].method +
init.tree[#].depth +
exch[#].from.tree[#] +
exch[#].fromselect[#] +
+
+
    +
  • No support for parameter file pre-processor directives +
  • Not guaranteed to read parameter files that were not +created with lilgpSetup. Unknown parameters are placed +in the User Defined Parameter window. +
+
+

+ +

1.1.3 Author

+ +This software was written by Ryan Shoemaker under the direction +of Dr. William Punch. Other companion utilities for lil-gp +have been developed by Ryan Shoemaker and Dave Guyette as part +of a joint project.
+

+Comments and suggestions may be sent to:
+

+ +shoema16@cps.msu.edu
+punch@cps.msu.edu +

+Department of Computer Science
+3115 Engineering Building
+Michigan State University
+East Lansing, MI 48824
+USA
+
+

+
+

+ +

1.2 Getting Started

+ +When you unpack the distribution, you should get this +directory tree: +

+

+
+lilgpSetup/ 
+    classes/          (byte-code files)
+    docs/             (documentation files)
+        images/       (image files used in documentation)
+    javadocs/         (source-code documentation files)
+        images/       (image files used in source-code documentation)
+    src/              (source-code files)
+
+
+

+Before using lilgpSetup, you must have Java JDK 1.02 installed +on your system. To generate the .class files, change into the lilgpSetup/src directory and type: +

+javac -d ../classes *.java +

+To run lilgpSetup, simply change into the lilgpSetup/classes directory and type: +

+java lilgpSetup +

+If you are running the utilities under Windows95/NT, you will have to +modify the paths in the above commands and also add the lilgpSetup/classes directory to your +CLASSPATH in place of the dot +directory ".".
+ +

+This is version 1.0 of lilgpetup. Updates and information +related to lilgpSetup can be found on the World Wide Web at http://isl.cps.msu.edu. +

+ + +

1.3 Window Descriptions

+ +The user interface for lilgpSetup is structured around the +different parameter categories outlined in Chapter 5 of [Zon96]. Each +parameter category has a panel dedicated to it in lilgpSetup +and switching between them is accomplished by clicking on the buttons +on the left-hand side of the main window. Each panel contains a number +of fields and components that allow you to select values for the +parameters that control the operation of lil-gp. Several of +these components already contain values when you run +lilgpSetup. These are the default values that the system +assumes if you do not change them. Each component has a label next to +it that can be used to request immediate help for that parameter. +Simply place the mouse over the label and hold down the Ctrl button while you click on the label. +This will open the on-line help system to a page that contains +information about the selected parameter.
+ +

+This remainder of this manual will be dedicated to providing +screen-by-screen description of every feature available in +lilgpSetup. Each section will focus on a specific window in +the system and the features available from it. +

+ + +

1.3.1 Menu Options

+ +The only two menus available on the menubar are File and +Help. The File menu offers three options: Open, +Save As, and Exit. Selecting the Open or Save +As menu items will open a file dialog and allow you to open and +save parameter files. Selecting the Exit menu item will exit +the system after asking for confirmation. The Help menu has +two menu items: Help and About. Selecting Help +will open an on-line help system that will allow you to search by +keyword and selecting About will display information about the +author and version of lilgpSetup. +

+ + +

1.3.2 The General Parameters Window

+ +This window allows you to enter all of the parameters +that control the over all operation of lil-gp. As you can see +in Figure 1, this parameter panel contains three textfields for +entering parameter values. The following table summarizes legal +values for these fields:
+

+

+ + + + + +
Parameter Name
+
Expected Data Type and Range
+
Default Value
max_generations
+
positive integer
none
+
pop_size
+
positive integer
none
+
random_seed
+
integer
1
+
+
+ +

+

+

+Figure 1 - General Parameters Window
+

+

+ + +

1.3.3 The Output Parameters Window

+ +This panel allows you to enter parameters that control lil-gp's +output files and checkpoint files.
+

+

+ + + + + + + + + + +
Parameter Name
Expected Data Type and Range
+
Default Value
output.basename
+
string
lilgp
+
output.detail
+
integer between 0 and 100
+
50
output.stt_interval
+
integer between 1 and max_generations
+
1
output.bestn
+
integer between 1 and pop_size
+
1
output.digits
+
positive integer
4
+
checkpoint.interval
+
integer between 1 and max_generations
+
none
checkpoint.filename
+
string
gp%06d.ckp
+
checkpoint.compress
+
string
none
+
+
+

+

+

+

+Figure 2 - Output Parameters Window +
+

+
+

+ +

1.3.4 The Size Limit Parameter Window

+ +This panel allows you to enter the parameters that control the size of +individual trees in the population.
+

+

+ + + + +
Parameter Name
Expected Data Type and Range
+
Default Value
max_nodes
+
positive integer
none
+
max_depth
+
positive integer
none
+
+
+ +

+

+

+

+Figure 3 - Size Limit Parameters Window +

+

+ + +

1.3.5 The Tree Initialization Window

+ +Parameters entered in this window will control how the population of +trees is initialized.
+

+

+ + + + + +
Parameter Name
Expected Data Type and Range
+
Default Value
init.method
+
half_and_half, grow, or full
+
half_and_half
init.depth
+
string
2-6
+
init.random_attempts
+
positive integer
100
+
+
+ +

+

+

+

+Figure 4 - Tree Initialization Parameter Window +

+

+ + +

1.3.6 The Breeding Parameter Window

+ +This window allows you to select the number of breed phases and +whether or not to use probabilistic operators. After entering the +number of breed phases, click the 'Go' button to open the +Phase Parameters window where you will select the individual +operators and rates. If you want to delete all of the current breed +phase operators and rates from the database, simply press the +'Purge' button.
+ +

+

+ + + + +
Parameter Name
Expected Data Type and Range
+
Default Value
breed_phase
+
positive integer
none
+
probabilistic_operators
+
on or off
on
+
+
+ +

+

+

+

+Figure 5 - Breeding Parameters Window +

+

+ + +

1.3.7 The Phase Parameters Window

+ +This window allows you to select the breed operators, selection +methods, and breed rates for each phase. The left-hand panel contains +all of the parameter labels for the phase panels. The phase panels +respond to your selections by hiding and showing only those options +appropriate for the current selection. For example, when you select +'crossover' in an operator field, the 'cutoff', 'proportion', 'size', +'method', and 'depth' options are hidden since they do not apply to +the crossover operation. When you are through selecting the options +for each phase, click the 'Accept' button to save your changes +and return to the main window.
+ +

+

+ + + + + + + + + + + + + +
Parameter Name
Expected Data Type and Range
+
Default Value
operator
+
crossover, reproduction, or mutation
+
crossover
selection
+
fitness, fitness_overselect, tournament, inverse_fitness, random, best, or worst
+
fitness
cutoff
+
real number between 0.0 and 1.0
+
+
+if pop_size <= 1000
+else 320/pop_size
+
proportion
+
real number between 0.0 and 1.0
+
0.80
size
+
integer between 1 and pop_size
+
2
keep_trying
+
on or off
on
+
internal
+
real number between 0.0 and 1.0
+
0.9
external
+
real number between 0.0 and 1.0
+
0.1
method
+
half_and_half, grow, full
+
half_and_half
depth
+
string
0-4
+
rate
+
real number between 0.0 and 1.0
+
none
+
+ +

+

+

+

+Figure 6 - Phase Parameters Window +

+
+ + +

1.3.8 The Sub Population Parameters Window

+ +This window is very similar to the Breed Phase Parameters +window. After entering the number of sub-populations and the exchange +frequency, click on the 'Go' button to open the exchange editor +and exchange graph. This window also has a 'Purge' button on +it to remove any exchange parameters that are currently in the +database.
+ +

+

+ + + + +
Parameter Name
Expected Data Type and Range
+
Default Value
multiple.subpops
+
positive integer
1
+
multiple.exch_gen
+
integer between 1 and max_generations
+
none
+
+ +

+

+Note, there is no field for multiple.exchanges. + This parameter is automatically entered into the database by +lilgpSetup when you close the sub-population editor.
+ +

+

+

+Figure 7 - Sub Population Parameters Window +

+

+ + +

1.3.9 The Sub Population Editor Window

+ +This window contains all of the controls needed to create and edit +sub-population exchanges. Adding a new exchange requires you to set +the five components in the top of the panel and click on the +'Add/Replace' button. After adding the new exchange, you will +see a verbal description of it appear in the bottom summary area. You +should also see a graphical representation of it in the Sub +Population Graph window. There are several other options +available to you in this window. To delete an existing exchange, +select it in the summary portion of the window and press the +'Delete' button. Similarly, you can edit and replace exchanges +by clicking the appropriate buttons. +

+ +

+

+Figure 8 - Sub Population Editor Window +

+

+ + +

1.3.10 The Sub Population Graph Window

+ +In this window, you will find a graphic representation of the +sub-population exchanges that you have entered in the exchange editor. +There are no controls available in this window - it is for visual +purposes only. +

+ +

+

+Figure 9 - Sub Population Graph Window +

+

+ + +

1.3.11 The User Defined Parameters Window

+ +Any application specific parameters may be typed in this window as +long as they are of the form 'parameter = +value' Even though there is no explicit support for the +multi-tree individual parameters listed in the Limitations section, +you may enter values for them here. Unfortunately, the validity of +the parameter values can not be checked.
+ +

+If lilgpSetup fails to recognize a parameter while reading from +a parameter file, then it will assume that the parameter is user +defined and place it in this window. As a consequence, if you hand +edit a parameter file (i.e. in emacs or notepad) and make a +typographical error, that parameter will likely appear in this window +along with any legitimate user defined parameters. +

+ +

+

+Figure 10 - User Defined Parameters Window +

+

+ + +

1.3.12 The Compile Button and Error List

+ +At any time during the process of entering parameters, you may press +the 'Compile' button found in the lower left corner of the main +window. This will cause lilgpSetup to collect all of the +parameters from each window and check them for errors. When this +process is complete, the Error List window will open (or be +updated if it is already open) and display the results. Figure 11 +shows what this window looks like when it contains errors. In this +case, lilgpSetup has found an error with the pop_size parameter. Consequently, it can +not verify any of the variables that depend on pop_size, so a warning is issued for output.bestn. Entries beginning with '>' are comments inserted by lilgpSetup.
+ +

+

+

+Figure 11 - Error Window With Errors +

+

+Once you have fixed all of the errors, the Error +List window should look like Figure 12, and you are ready +to save the parameter file. It is not necessary to manually compile +the parameters before saving the parameter file, lilgpSetup +automatically checks them for errors before allowing a save to +occur. As a result, there is no way of saving a set of parameters +that contains either errors or warnings.
+ +

+

+

+Figure 12 - Error Window With No Errors +

+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/docs/Sun-license.txt b/lib/lilgp/lilgpSetup1.0/docs/Sun-license.txt new file mode 100644 index 0000000..c0aa553 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/docs/Sun-license.txt @@ -0,0 +1,69 @@ +SUN MICROSYSTEMS LICENSE AGREEMENT + +This is a legal agreement between the purchaser of this book/CD-ROM package +("You") and Sun Microsystems, Inc. By opening the sealed CD-ROM you are +agreeing to be bound by the terms of this agreement. If you do not agree to the +terms of this agreement, promptly return the unopened book/CD-ROM package to the +place you obtained it for a full refund. + +SOFTWARE LICENSE + +1. Grant of License: Sun Microsystems grants to you ("Licensee") a +non-exclusive, non-transferable license to use the Sun Microsystems software +programs included on the CD-ROM without fee. The software is in "use" on a +computer when it is loaded into the temporary memory (i.e. RAM) or installed +into the permanent memory (e.g. hard disk, CD-ROM, or other storage device). +You may network the software or otherwise use it on more than one computer or +computer terminal at the same time. + +2. Copyright: The CD-ROM is copyrighted by Sun Microsystems, Inc. and is +protected by United States copyright laws and international treaty provisions. +Therefore, you must treat the CD-ROM like any other copyrighted material. +Individual software programs on the CD-ROM are copyrighted by their respective +owners and may require separate licensing. The Java Development Kit is +copyrighted by Sun Microsystems, Inc. and is covered by a separate license +agreement provided on the CD-ROM. + +3. Graphic Java Toolkit (GJT) and Sample Code: Sun Microsystems, Inc. +grants you a royalty-free right to reproduce and distribute the GJT and sample +code provided that you: (a) distribute the GJT and sample code only in +conjunction with and as a part of your software application; (b) do not use Sun +Microsystems, Inc. or its authors' names, logos, or trademarks to market your +software product; and (c) agree to indemnify, hold harmless and defend Sun +Microsystems, Inc. and its authors and suppliers from and against any claims or +lawsuits, including attorneys fees, that arise or result from the use or +distribution of your software product. + +DISCLAIMER OF WARRANTY + +The SOFTWARE (including instructions for its use) is provided "AS IS" WITHOUT +WARRANTY OF ANY KIND. SUN MICROSYSTEMS and any distributor of the SOFTWARE +FURTHER DISCLAIM ALL IMPLIED WARRANTIES INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OF MERCHANTABILITY OR OF FITNESS FOR A PARTICULAR PURPOSE. THE +ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THE SOFTWARE OR +DOCUMENTATION REMAINS WITH YOU. + +IN NO EVENT SHALL SUN MICROSYSTEMS, ITS AUTHORS, OR ANY ONE ELSE INVOLVED IN THE +CREATION, PRODUCTION, OR DELIVERY OF THE SOFTWARE BE LIABLE FOR ANY DAMAGES +WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, +BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) +ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE OR DOCUMENTATION, +EVEN IF SUN MICROSYSTEMS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, +BECAUSE SOME STATES/COUNTRIES DO NOT ALLOW THE EXCLUSION OF LIMITATION OF +LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT +APPLY TO YOU. + +U.S. GOVERNMENT RESTRICTED RIGHTS + +The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, +duplication, or disclosure is subject to restrictions as set forth in +subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software +clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial +Computer Software -- Restricted Rights 48 CFR 52.227-19. + +Should you have any questions concerning this Agreement, or if you desire to +contact Sun Microsystems for any reason, please write: Sun Microsystems, Inc., +2550 Garcia Avenue, Mountain View, CA 94043. + +Copyright: (c) 1997, Sun Microsystems, Inc. + diff --git a/lib/lilgp/lilgpSetup1.0/docs/images/breeding.jpg b/lib/lilgp/lilgpSetup1.0/docs/images/breeding.jpg new file mode 100644 index 0000000..5004854 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/docs/images/breeding.jpg differ diff --git a/lib/lilgp/lilgpSetup1.0/docs/images/general.jpg b/lib/lilgp/lilgpSetup1.0/docs/images/general.jpg new file mode 100644 index 0000000..2d30f68 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/docs/images/general.jpg differ diff --git a/lib/lilgp/lilgpSetup1.0/docs/images/init.jpg b/lib/lilgp/lilgpSetup1.0/docs/images/init.jpg new file mode 100644 index 0000000..6141666 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/docs/images/init.jpg differ diff --git a/lib/lilgp/lilgpSetup1.0/docs/images/limits.jpg b/lib/lilgp/lilgpSetup1.0/docs/images/limits.jpg new file mode 100644 index 0000000..8b80df7 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/docs/images/limits.jpg differ diff --git a/lib/lilgp/lilgpSetup1.0/docs/images/noerrors.jpg b/lib/lilgp/lilgpSetup1.0/docs/images/noerrors.jpg new file mode 100644 index 0000000..5f3cac6 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/docs/images/noerrors.jpg differ diff --git a/lib/lilgp/lilgpSetup1.0/docs/images/output.jpg b/lib/lilgp/lilgpSetup1.0/docs/images/output.jpg new file mode 100644 index 0000000..690fd11 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/docs/images/output.jpg differ diff --git a/lib/lilgp/lilgpSetup1.0/docs/images/phases.jpg b/lib/lilgp/lilgpSetup1.0/docs/images/phases.jpg new file mode 100644 index 0000000..d5befc8 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/docs/images/phases.jpg differ diff --git a/lib/lilgp/lilgpSetup1.0/docs/images/popeditor.jpg b/lib/lilgp/lilgpSetup1.0/docs/images/popeditor.jpg new file mode 100644 index 0000000..562c2aa Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/docs/images/popeditor.jpg differ diff --git a/lib/lilgp/lilgpSetup1.0/docs/images/popgraph.jpg b/lib/lilgp/lilgpSetup1.0/docs/images/popgraph.jpg new file mode 100644 index 0000000..9c6136a Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/docs/images/popgraph.jpg differ diff --git a/lib/lilgp/lilgpSetup1.0/docs/images/someerrors.jpg b/lib/lilgp/lilgpSetup1.0/docs/images/someerrors.jpg new file mode 100644 index 0000000..b233b82 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/docs/images/someerrors.jpg differ diff --git a/lib/lilgp/lilgpSetup1.0/docs/images/subpops.jpg b/lib/lilgp/lilgpSetup1.0/docs/images/subpops.jpg new file mode 100644 index 0000000..07716ec Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/docs/images/subpops.jpg differ diff --git a/lib/lilgp/lilgpSetup1.0/docs/images/user.jpg b/lib/lilgp/lilgpSetup1.0/docs/images/user.jpg new file mode 100644 index 0000000..3e3be21 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/docs/images/user.jpg differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/AboutBox.html b/lib/lilgp/lilgpSetup1.0/javadocs/AboutBox.html new file mode 100644 index 0000000..e1b50a1 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/AboutBox.html @@ -0,0 +1,78 @@ + + + + + + + Class AboutBox + + + +

+ Class AboutBox +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Window
+                           |
+                           +----java.awt.Dialog
+                                   |
+                                   +----AboutBox
+
+
+
+
class AboutBox +
extends Dialog +
+This class creates a simple dialog frame that is displayed when +the user selects Help -> About +
+ +

+ Constructor Index +

+
+
 o + AboutBox(Frame) +
+
+

+ Method Index +

+
+
 o + handleEvent(Event) +
+
+ +

+ Constructors +

+ + o +AboutBox +
+  public AboutBox(Frame parent)
+
+ +

+ Methods +

+ o +handleEvent +
+  public boolean handleEvent(Event event)
+
+
+
+
Overrides: +
handleEvent in class Component +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/AllNames.html b/lib/lilgp/lilgpSetup1.0/javadocs/AllNames.html new file mode 100644 index 0000000..22e6038 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/AllNames.html @@ -0,0 +1,805 @@ + + + + + + + Index of all Fields and Methods + + + +
All Packages  Class Hierarchy

+A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z + +
+

+ Index of all Fields and Methods +

+

+ A +

+
+
AboutBox(Frame). +Constructor for class .AboutBox +
+
action(Event, Object). +Method in class .BreedFrame +
Trap Button events. +
action(Event, Object). +Method in class .BreedingPanel +
Trap TextField events and Button events. +
action(Event, Object). +Method in class .ControlPanel +
Trap button clicks in the ControlPanel and flip to the +appropriate card in the IndexPanel. +
action(Event, Object). +Method in class .ErrorFrame +
+
action(Event, Object). +Method in class .GeneralPanel +
Trap TextField events and send the focus to the +next field on the panel. +
action(Event, Object). +Method in class .InfoDialog +
+
action(Event, Object). +Method in class .InitializationPanel +
Trap TextField events and send the focus to the +next field on the panel. +
action(Event, Object). +Method in class .MainWindow +
Trap menu events and call the appropriate method. +
action(Event, Object). +Method in class .OutputPanel +
Trap TextField events and send the focus to the +next field on the panel. +
action(Event, Object). +Method in class .PhasePanel +
Trap input events and determine which set of UI components should be +visible based on the user's selections. +
action(Event, Object). +Method in class .SizeLimitsPanel +
Trap TextField events and send the focus to the +next field on the panel. +
action(Event, Object). +Method in class .SubPopFrame +
Trap Button events. +
action(Event, Object). +Method in class .SubPopsPanel +
Trap TextField events and Button events. +
addComponent(Component, int, int, int, int, int, int, int, int). +Method in class .GridBagPanel +
A generic method that allows you to add a Component to the +GridBagPanel and specify all of the GridBagConstraints +at the same time. +
addLayoutComponent(String, Component). +Method in class .BulletinLayout +
+
addLayoutComponent(String, Component). +Method in class .ScrollerLayout +
+
addNotify(). +Method in class .GroupPanel +
+
addToDB(String, String). +Method in class .ParameterDB +
This method allows external classes to request that +a parameter be added to the database. +
arch. +Static variable in class .lilgpSetup +
+
+
+

+ B +

+
+
backgroundPaint(Graphics). +Method in class .SubPopGraph +
The method that actually does all of the drawing. +
BreedFrame(int). +Constructor for class .BreedFrame +
Add each of the UI components needed to accept input. +
BreedingPanel(). +Constructor for class .BreedingPanel +
Add each of the UI components needed to accept input. +
BulletinLayout(). +Constructor for class .BulletinLayout +
+
+
+

+ C +

+
+
ClickableLabel(String). +Constructor for class .ClickableLabel +
Most classes will use this constructor method. +
ClickableLabel(String, boolean). +Constructor for class .ClickableLabel +
This constructor method is only used by ClickableLabels +placed in the BreedFrame. +
clickedNoButton(). +Method in class .QuitBox +
+
clickedYesButton(). +Method in class .QuitBox +
+
ComponentScroller(). +Constructor for class .ComponentScroller +
+
ComponentScroller(Component). +Constructor for class .ComponentScroller +
+
ControlClickEvent(Object, Event). +Constructor for class .ControlClickEvent +
Create a new event, but set the id field to -1 so that +our custom event is not mistaken for something else when it +propagates into other components + +
ControlPanel(). +Constructor for class .ControlPanel +
Create a new GridLayout manager and add the buttons. +
count. +Variable in class .Exchange +
+
cp. +Variable in class .MainWindow +
+
CTRL_CLICK. +Static variable in class .ControlClickEvent +
+
+
+

+ D +

+
+
delFromDB(String). +Method in class .ParameterDB +
This method allows external classes to request that +a parameter be deleted from the database. +
displayErrors(). +Method in class .ParameterDB +
This method is responsible for creating the ErrorFrame. +
dump(). +Method in class .ParameterDB +
A useful debugging method that dumps the contents of the database + +
+
+

+ E +

+
+
enableButtons(). +Static method in class .BreedingPanel +
Allow the BreedFrame to re-enable the button after the user +closes the frame. +
enableButtons(). +Static method in class .SubPopsPanel +
Allow the SubPopFrame to re-enable the buttons after the user +closes the frame. +
endl. +Static variable in class .lilgpSetup +
+
endl. +Static variable in class .ParameterDB +
+
ErrorFrame(Vector). +Constructor for class .ErrorFrame +
+
Exchange(Exchange). +Constructor for class .Exchange +
This constructor allows you to create a new exchange from an existing one + +
Exchange(String, String, String, String, String, String). +Constructor for class .Exchange +
This constructor allows you to specify each field of the object + +
exchanges. +Variable in class .SubPopGraph +
+
+
+

+ F +

+
+
fliptoPanel(Object). +Static method in class .IndexPanel +
This static class method allows the event handler in the +ControlPanel to trigger a card flip. +
flushAllPanels(). +Method in class .ControlPanel +
Call the flushParameters() method in each of the +parameter classes. +
flushParameters(). +Static method in class .BreedingPanel +
Collect the contents of each UI component and store it in the +ParameterDB. +
flushParameters(). +Static method in class .GeneralPanel +
Collect the contents of each UI component and store it in the +ParameterDB. +
flushParameters(). +Static method in class .InitializationPanel +
Collect the contents of each UI component and store it in the +ParameterDB. +
flushParameters(). +Static method in class .OutputPanel +
Collect the contents of each UI component and store it in the +ParameterDB. +
flushParameters(). +Method in class .PhasePanel +
Collect the contents of each UI component and store it in the +ParameterDB. +
flushParameters(). +Static method in class .SizeLimitsPanel +
Collect the contents of each UI component and store it in the +ParameterDB. +
flushParameters(). +Static method in class .SubPopsPanel +
Collect the contents of each UI component and store it in the +ParameterDB. +
flushParameters(). +Static method in class .UserDefinedPanel +
+
fromPop. +Variable in class .Exchange +
+
fromSelect. +Variable in class .Exchange +
+
+
+

+ G +

+
+
GeneralPanel(). +Constructor for class .GeneralPanel +
Add each of the UI components needed to accept input. +
getElements(). +Method in class .ParameterDB +
This method allows external classes to request an +Enumeration of the elements in the parameter database. +
getHorizontalScrollbar(). +Method in class .Scroller +
+
getKeys(). +Method in class .ParameterDB +
This method allows external classes to request an +Enumeration of the keys in the parameter database. +
getLabel(). +Method in class .ClickableLabel +
Accessor method for the label. +
getProp(String). +Method in class .ParameterDB +
This method allows external classes to request a +specific parameter in the database. +
getScrollAreaSize(). +Method in class .ComponentScroller +
+
getScrollAreaSize(). +Method in class .Scroller +
+
getVerticalScrollbar(). +Method in class .Scroller +
+
getViewport(). +Method in class .Scroller +
+
graphHeight. +Static variable in class .SubPopGraph +
+
graphWidth. +Static variable in class .SubPopGraph +
+
GridBagPanel(). +Constructor for class .GridBagPanel +
Instantiate a new Panel and set its layout +manager to be GridBagLayout. +
GroupPanel(String). +Constructor for class .GroupPanel +
Create a new object and assign the title string + +
+
+

+ H +

+
+
handleEvent(Event). +Method in class .AboutBox +
+
handleEvent(Event). +Method in class .MainWindow +
+
handleEvent(Event). +Method in class .QuitBox +
+
handleEvent(Event). +Method in class .Scroller +
+
handleEvent(Event). +Method in class .UserDefinedPanel +
+
hbar. +Variable in class .Scroller +
+
+
+

+ I +

+
+
IndexPanel(). +Constructor for class .IndexPanel +
Instantiate each of the parameter panels and add them to the +CardLayout manager in the IndexPanel. +
InfoDialog(String). +Constructor for class .InfoDialog +
+
InitializationPanel(). +Constructor for class .InitializationPanel +
Add each of the UI components needed to accept input. +
insets(). +Method in class .GroupPanel +
Create new insets + +
ip. +Variable in class .MainWindow +
+
isAlive. +Static variable in class .ErrorFrame +
+
+
+ +

+ K +

+
+
key. +Variable in class .Exchange +
+
keyDown(Event, int). +Method in class .SubPopFrame +
if there is a selected exchange and the user has not clicked +the edit button, deselect the exchange so it doesn't look like +they are editing it. +
+
+

+ L +

+
+
layoutContainer(Container). +Method in class .BulletinLayout +
+
layoutContainer(Container). +Method in class .ScrollerLayout +
+
lilgpSetup(). +Constructor for class .lilgpSetup +
+
loadParams(). +Static method in class .BreedFrame +
This method is responsible for cycling through each of the phase panels +and invoking their loadParams() method. +
loadParams(). +Static method in class .BreedingPanel +
This method is responsible for loading parameters onto the BreedingPanel +after the user opens a parameter file. +
loadParams(). +Static method in class .GeneralPanel +
This method is responsible for loading parameters onto the GeneralPanel +after the user opens a parameter file. +
loadParams(). +Static method in class .InitializationPanel +
This method is responsible for loading parameters onto the InitializationPanel +after the user opens a parameter file. +
loadParams(). +Static method in class .OutputPanel +
This method is responsible for loading parameters onto the OutputPanel +after the user opens a parameter file. +
loadParams(). +Method in class .PhasePanel +
This method is responsible for loading parameters on each of the phase panels +after the user opens a parameter file. +
loadParams(). +Static method in class .SizeLimitsPanel +
+
loadParams(). +Method in class .SubPopFrame +
This methos is responsible for loading parameters into the exchange hashtable +and refreshing the sub-pop graph. +
loadParams(). +Static method in class .SubPopsPanel +
This method is responsible for loading parameters onto the SubPopsPanel +after the user opens a parameter file. +
loadParams(). +Static method in class .UserDefinedPanel +
+
+
+

+ M +

+
+
main(String[]). +Static method in class .lilgpSetup +
Create the MainWindow and the ParameterDB. +
MainWindow(). +Constructor for class .MainWindow +
Constructs the menus and two sub-panels. +
manageHorizontalScrollbar(). +Method in class .Scroller +
+
manageScrollbars(). +Method in class .Scroller +
+
manageVerticalScrollbar(). +Method in class .Scroller +
+
minimumLayoutSize(Container). +Method in class .BulletinLayout +
+
minimumLayoutSize(Container). +Method in class .ScrollerLayout +
+
minimumSize(). +Method in class .ClickableLabel +
Defines the minimum size to be the same the preferred size + + +
minimumSize(). +Method in class .SubPopGraph +
Calculate the minimum size of the panel + + +
mouseDown(Event, int, int). +Method in class .ClickableLabel +
Detect MOUSE_DOWN events and create a new CTRL_CLICK +event defined in the ControlClickEvent class. +
mw. +Static variable in class .lilgpSetup +
+
+
+

+ N +

+
+
notFalse(boolean). +Static method in class .Assert +
+
notFalse(boolean, String). +Static method in class .Assert +
+
notNull(Object). +Static method in class .Assert +
+
notNull(Object, String). +Static method in class .Assert +
+
+
+

+ O +

+
+
OLDsave(String). +Method in class .ParameterDB +
This method is responsible for generating the output file that +will be used as input for lil-gp. +
open(String). +Method in class .ParameterDB +
This method is repsonsible for opening an existing parameter file and +reading the contents into a temporary hashtable. +
OutputPanel(). +Constructor for class .OutputPanel +
Add each of the UI components needed to accept input. +
+
+

+ P +

+
+
paint(Graphics). +Method in class .ClickableLabel +
Draw the label on the canvas. +
paint(Graphics). +Method in class .GroupPanel +
Paint the border around the group + +param g the graphics object + +
paint(Graphics). +Method in class .Scroller +
+
paint(Graphics). +Method in class .SubPopGraph +
The overridden paint method responsible for figuring out if +we are double-buffered or not and then dispatching the drawing + + +
ParameterDB(). +Constructor for class .ParameterDB +
The constructor method is responsible for creating a default +Property object and instantiating the main Property object. +
params. +Static variable in class .lilgpSetup +
+
paramString(). +Method in class .ClickableLabel +
Create the event argument + +
paramString(). +Method in class .ControlClickEvent +
Construct the argument field. +
parse(). +Method in class .ParameterDB +
This method simply adds informative comments to the error Vector +add calls the appropriate parse methods for each panel. +
PhasePanel(int). +Constructor for class .PhasePanel +
Add each of the UI components needed to accept input. +
preferredLayoutSize(Container). +Method in class .BulletinLayout +
+
preferredLayoutSize(Container). +Method in class .ScrollerLayout +
+
preferredSize(). +Method in class .ClickableLabel +
Calculate the preferred size based on the current font settings + + +
preferredSize(). +Method in class .SubPopGraph +
Calculate the preferred size of the panel + + +
purgeOldPhases(). +Method in class .ParameterDB +
This method will purge all parameters associated with breeding +phases from the database. +
purgeOldSubPopExchanges(). +Method in class .ParameterDB +
This method will purge all of the parameters associated with +exchanges between sub-populations. +
purgeOldSubPopParameters(). +Method in class .ParameterDB +
This method purges the parameters associated with multiple +sub-populations, but does not purge the parameters associated +with the actual sub-pop exchanges. +
purgeUserDefinedParameters(). +Method in class .ParameterDB +
+
+
+

+ Q +

+
+
QuitBox(Frame). +Constructor for class .QuitBox +
+
+
+

+ R +

+
+
radius. +Static variable in class .SubPopGraph +
+
refreshGraph(Exchange[]). +Method in class .SubPopGraph +
After accepting a new set of exchanges, redraw the sub pop graph + + +
removeLayoutComponent(Component). +Method in class .BulletinLayout +
+
removeLayoutComponent(Component). +Method in class .ScrollerLayout +
+
reshape(int, int, int, int). +Method in class .ClickableLabel +
Reshape the label + + +
resize(int, int). +Method in class .ClickableLabel +
Specify a new width and height for the label + + +
+
+

+ S +

+
+
save(String). +Method in class .ParameterDB +
+
scroll(). +Method in class .Scroller +
+
scrollAbsolute(Event). +Method in class .Scroller +
+
Scroller(). +Constructor for class .Scroller +
+
ScrollerLayout(Scroller). +Constructor for class .ScrollerLayout +
+
scrollLineDown(Event). +Method in class .Scroller +
+
scrollLineUp(Event). +Method in class .Scroller +
+
scrollPageDown(Event). +Method in class .Scroller +
+
scrollPageUp(Event). +Method in class .Scroller +
+
scrollTo(int, int). +Method in class .ComponentScroller +
+
scrollTo(int, int). +Method in class .Scroller +
+
selectedAbout(). +Method in class .MainWindow +
Show the user who wrote the software and who his advisor is + +
selectedExit(). +Method in class .MainWindow +
Open a dialog that asks the user if they really want to quit. +
selectedHelp(). +Method in class .MainWindow +
Open the lilgpHelp subsystem. +
selectedOpen(). +Method in class .MainWindow +
This method is called when the user selects File -> Open + +
selectedSaveAs(). +Method in class .MainWindow +
This method is called when the user selects File -> SaveAs + +
setBackground(Color). +Method in class .GroupPanel +
Set the background color + + +
setComponent(Component). +Method in class .ComponentScroller +
+
setHorizontalLineAndPageIncrements(). +Method in class .Scroller +
+
setHorizontalScrollbarValues(). +Method in class .Scroller +
+
setInsets(Insets). +Method in class .ClickableLabel +
Change the insets + + +
setScrollbarValues(). +Method in class .Scroller +
+
setVerticalLineAndPageIncrements(). +Method in class .Scroller +
+
setVerticalScrollbarValues(). +Method in class .Scroller +
+
show(). +Method in class .MainWindow +
+
show(). +Method in class .QuitBox +
+
showGraphFrame(). +Method in class .SubPopFrame +
This method is called by the SubPopPanel when the user clicks on the go +button to reshow the sub-pop graph Frame. +
SizeLimitsPanel(). +Constructor for class .SizeLimitsPanel +
Add each of the UI components needed to accept input. +
SubPopFrame(int, boolean). +Constructor for class .SubPopFrame +
Add each of the UI components needed to accept input. +
SubPopGraph(SubPopFrame, int). +Constructor for class .SubPopGraph +
Initialize instance variables and resize the panel + + +
SubPopsPanel(). +Constructor for class .SubPopsPanel +
Add each of the UI components needed to accept input. +
+
+

+ T +

+
+
TitlePanel(String). +Constructor for class .TitlePanel +
Set up a font and print the title on a yellow background + + +
toPop. +Variable in class .Exchange +
+
toSelect. +Variable in class .Exchange +
+
+
+

+ U +

+
+
update(Graphics). +Method in class .Scroller +
+
updateErrors(Vector). +Method in class .ErrorFrame +
Erase the contents of the text area and show the new errors + +
UserDefinedPanel(). +Constructor for class .UserDefinedPanel +
+
+
+

+ V +

+
+
vbar. +Variable in class .Scroller +
+
viewport. +Variable in class .Scroller +
+ + + + +
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/Assert.html b/lib/lilgp/lilgpSetup1.0/javadocs/Assert.html new file mode 100644 index 0000000..1635d1d --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/Assert.html @@ -0,0 +1,78 @@ + + + + + + + Class Assert + + + +

+ Class Assert +

+
+java.lang.Object
+   |
+   +----Assert
+
+
+
+
class Assert +
extends Object +
+A simple assertion mechanism for asserting validity of +arguments.

+

+
Version: +
1.0, Apr 1 1996 +
Author: +
David Geary +
+
+ +

+ Method Index +

+
+
 o + notFalse(boolean) +
+
 o + notFalse(boolean, String) +
+
 o + notNull(Object) +
+
 o + notNull(Object, String) +
+
+ +

+ Methods +

+ o +notFalse +
+  public static void notFalse(boolean b) throws IllegalArgumentException
+
+ o +notNull +
+  public static void notNull(Object obj) throws IllegalArgumentException
+
+ o +notFalse +
+  public static void notFalse(boolean b,
+                              String s) throws IllegalArgumentException
+
+ o +notNull +
+  public static void notNull(Object obj,
+                             String s) throws IllegalArgumentException
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/BreedFrame.html b/lib/lilgp/lilgpSetup1.0/javadocs/BreedFrame.html new file mode 100644 index 0000000..64558f9 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/BreedFrame.html @@ -0,0 +1,120 @@ + + + + + + + Class BreedFrame + + + +

+ Class BreedFrame +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Window
+                           |
+                           +----java.awt.Frame
+                                   |
+                                   +----BreedFrame
+
+
+
+
class BreedFrame +
extends Frame +
+This frame contains a TitlePanel and a GridBagPanel. +The GridBagPanel contains an array of type PhasePanel +which actually house all of the UI components for breeding parameter +input. +
+
See Also: +
TitlePanel, GridBagPanel, PhasePanel +
+
+ +

+ Constructor Index +

+
+
 o + BreedFrame(int) +
Add each of the UI components needed to accept input. +
+

+ Method Index +

+
+
 o + action(Event, Object) +
Trap Button events. +
 o + loadParams() +
This method is responsible for cycling through each of the phase panels +and invoking their loadParams() method. +
+ +

+ Constructors +

+ + o +BreedFrame +
+  public BreedFrame(int num)
+
+
+
Add each of the UI components needed to accept input. +
+
Parameters: +
num - the number of breed phases entered by the user +
See Also: +
addComponent +
+
+ +

+ Methods +

+ o +action +
+  public boolean action(Event event,
+                        Object arg)
+
+
+
Trap Button events. If the Accept button is pressed, +then hide() the BreedFrame and re-enable the Go +button on the BreedingPanel. If the Cancel button is +pressed, then dispose() the frame and re-enable the Go +button. The Go button is disabled to prevent the user from +clicking on it several times and therefore instantiating several +BreedFrames. +
+
Overrides: +
action in class Component +
See Also: +
BreedingPanel, enableButtons +
+
+ o +loadParams +
+  public static void loadParams()
+
+
+
This method is responsible for cycling through each of the phase panels +and invoking their loadParams() method. +
+
See Also: +
loadParams +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/BreedingPanel.html b/lib/lilgp/lilgpSetup1.0/javadocs/BreedingPanel.html new file mode 100644 index 0000000..faacc74 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/BreedingPanel.html @@ -0,0 +1,162 @@ + + + + + + + Class BreedingPanel + + + +

+ Class BreedingPanel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----BreedingPanel
+
+
+
+
class BreedingPanel +
extends Panel +
+This panel contains a TitlePanel and a GridBagPanel +that accepts input for the following lilgp parameters: +
+
  • breed_phases
  • probabilistic_operators

+After entering the number of bread phases, the user has to click +on the Go button in order to enter the additional +breed phase parameters. Clicking on the Go button causes +a new BreedFrame to be instantiated. Clicking on the +purge button causes all of the parameters associated +with breed phases to be removed from the database. +

+
See Also: +
TitlePanel, GridBagPanel, BreedFrame, purgeOldPhases +
+
+ +

+ Constructor Index +

+
+
 o + BreedingPanel() +
Add each of the UI components needed to accept input. +
+

+ Method Index +

+
+
 o + action(Event, Object) +
Trap TextField events and Button events. +
 o + enableButtons() +
Allow the BreedFrame to re-enable the button after the user +closes the frame. +
 o + flushParameters() +
Collect the contents of each UI component and store it in the +ParameterDB. +
 o + loadParams() +
This method is responsible for loading parameters onto the BreedingPanel +after the user opens a parameter file. +
+ +

+ Constructors +

+ + o +BreedingPanel +
+  public BreedingPanel()
+
+
+
Add each of the UI components needed to accept input. +
+
See Also: +
addComponent +
+
+ +

+ Methods +

+ o +flushParameters +
+  public static void flushParameters()
+
+
+
Collect the contents of each UI component and store it in the +ParameterDB. The parameters associated with breed phases +are flushed into the database in the action() method of +BreedFrame. +
+
See Also: +
ParameterDB, action +
+
+ o +action +
+  public boolean action(Event event,
+                        Object arg)
+
+
+
Trap TextField events and Button events. +If the Go button has been pressed, then extract +the contents of the field containing the breed_phases +and parse it for errors. If the number of breed phases +has not changed since the last time the button was +pressed, then simply show() the old BreedFrame +(it will contain any previously entered data). Otherwise, +instantiate a new BreedFrame containing the +default values. If the purge button has been pressed, +then remove all breed phase parameters from the database. +
+
Overrides: +
action in class Component +
See Also: +
BreedFrame, purgeOldPhases +
+
+ o +enableButtons +
+  public static void enableButtons()
+
+
+
Allow the BreedFrame to re-enable the button after the user +closes the frame. +
+
See Also: +
BreedFrame +
+
+ o +loadParams +
+  public static void loadParams()
+
+
+
This method is responsible for loading parameters onto the BreedingPanel +after the user opens a parameter file. It then invokes the loadParams +method in the BreedFrame. +
+
See Also: +
loadParams +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/BulletinLayout.html b/lib/lilgp/lilgpSetup1.0/javadocs/BulletinLayout.html new file mode 100644 index 0000000..1ba4c3d --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/BulletinLayout.html @@ -0,0 +1,108 @@ + + + + + + + Class BulletinLayout + + + +

+ Class BulletinLayout +

+
+java.lang.Object
+   |
+   +----BulletinLayout
+
+
+
+
public class BulletinLayout +
extends Object +
implements LayoutManager +
+Lays out components as though they were pinned to +a bulletin board.

+Components are simply reshaped to their location and their +preferred size. BulletinLayout is preferrable to setting +a container's layout manager to null and explicitly positioning +and sizing components.

+

+
Version: +
1.0, Apr 1 1996 +
Author: +
David Geary +
+
+ +

+ Constructor Index +

+
+
 o + BulletinLayout() +
+
+

+ Method Index +

+
+
 o + addLayoutComponent(String, Component) +
+
 o + layoutContainer(Container) +
+
 o + minimumLayoutSize(Container) +
+
 o + preferredLayoutSize(Container) +
+
 o + removeLayoutComponent(Component) +
+
+ +

+ Constructors +

+ + o +BulletinLayout +
+  public BulletinLayout()
+
+ +

+ Methods +

+ o +addLayoutComponent +
+  public void addLayoutComponent(String name,
+                                 Component comp)
+
+ o +removeLayoutComponent +
+  public void removeLayoutComponent(Component comp)
+
+ o +preferredLayoutSize +
+  public Dimension preferredLayoutSize(Container target)
+
+ o +minimumLayoutSize +
+  public Dimension minimumLayoutSize(Container target)
+
+ o +layoutContainer +
+  public void layoutContainer(Container target)
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/ClickableLabel.html b/lib/lilgp/lilgpSetup1.0/javadocs/ClickableLabel.html new file mode 100644 index 0000000..fcb6b7d --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/ClickableLabel.html @@ -0,0 +1,266 @@ + + + + + + + Class ClickableLabel + + + +

+ Class ClickableLabel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Canvas
+                   |
+                   +----ClickableLabel
+
+
+
+
class ClickableLabel +
extends Canvas +
+This class extends Canvas and is used to create a custom +component that will detect control mouse clicks on a label. It +simply places a label on a canvas and overrides the necessary +methods. When a MOUSE_DOWN event occurs on the label, +a new event is created and delivered. +
+
See Also: +
ControlClickEvent +
+
+ +

+ Constructor Index +

+
+
 o + ClickableLabel(String) +
Most classes will use this constructor method. +
 o + ClickableLabel(String, boolean) +
This constructor method is only used by ClickableLabels +placed in the BreedFrame. +
+

+ Method Index +

+
+
 o + getLabel() +
Accessor method for the label. +
 o + minimumSize() +
Defines the minimum size to be the same the preferred size + + +
 o + mouseDown(Event, int, int) +
Detect MOUSE_DOWN events and create a new CTRL_CLICK +event defined in the ControlClickEvent class. +
 o + paint(Graphics) +
Draw the label on the canvas. +
 o + paramString() +
Create the event argument + +
 o + preferredSize() +
Calculate the preferred size based on the current font settings + + +
 o + reshape(int, int, int, int) +
Reshape the label + + +
 o + resize(int, int) +
Specify a new width and height for the label + + +
 o + setInsets(Insets) +
Change the insets + + +
+ +

+ Constructors +

+ + o +ClickableLabel +
+  public ClickableLabel(String label)
+
+
+
Most classes will use this constructor method. It simply +assigns the string label. +
+
Parameters: +
label - the string label +
+
+ o +ClickableLabel +
+  public ClickableLabel(String label,
+                        boolean es)
+
+
+
This constructor method is only used by ClickableLabels +placed in the BreedFrame. +
+
Parameters: +
label - the string label +
es - specifies that we want extra space around the label +
+
+ +

+ Methods +

+ o +paint +
+  public void paint(Graphics g)
+
+
+
Draw the label on the canvas. +
+
Parameters: +
g - the Graphics objbect +
Overrides: +
paint in class Canvas +
+
+ o +setInsets +
+  public void setInsets(Insets insets)
+
+
+
Change the insets +
+
Parameters: +
insets - the new inset values +
+
+ o +getLabel +
+  public String getLabel()
+
+
+
Accessor method for the label. +
+
Returns: +
the label +
+
+ o +resize +
+  public void resize(int w,
+                     int h)
+
+
+
Specify a new width and height for the label +
+
Parameters: +
w - the width +
h - the height +
Overrides: +
resize in class Component +
+
+ o +reshape +
+  public void reshape(int x,
+                      int y,
+                      int w,
+                      int h)
+
+
+
Reshape the label +
+
Parameters: +
x - the x coordinate +
y - the y coordinate +
w - the width +
h - the height +
Overrides: +
reshape in class Component +
+
+ o +minimumSize +
+  public Dimension minimumSize()
+
+
+
Defines the minimum size to be the same the preferred size +
+
Returns: +
the dimensions of the preferred size +
Overrides: +
minimumSize in class Component +
+
+ o +preferredSize +
+  public Dimension preferredSize()
+
+
+
Calculate the preferred size based on the current font settings +
+
Returns: +
the dimesions of the preferred size +
Overrides: +
preferredSize in class Component +
+
+ o +mouseDown +
+  public boolean mouseDown(Event event,
+                           int x,
+                           int y)
+
+
+
Detect MOUSE_DOWN events and create a new CTRL_CLICK +event defined in the ControlClickEvent class. +
+
Parameters: +
event - the AWT generated event +
x - the x coordinate of the mouse location +
y - the y coordinate of the mouse location +
Overrides: +
mouseDown in class Component +
+
+ o +paramString +
+  protected String paramString()
+
+
+
Create the event argument +
+
Overrides: +
paramString in class Component +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/ComponentScroller.html b/lib/lilgp/lilgpSetup1.0/javadocs/ComponentScroller.html new file mode 100644 index 0000000..b85326c --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/ComponentScroller.html @@ -0,0 +1,121 @@ + + + + + + + Class ComponentScroller + + + +

+ Class ComponentScroller +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----Scroller
+                                   |
+                                   +----ComponentScroller
+
+
+
+
public class ComponentScroller +
extends Scroller +
+Scrolls any component. Component to be scrolled may be a +container, so ultimately many components may be scrolled +at once.

+Component to be scrolled may be specified at construction +time, or may be set after construction via +void setComponent(Component).

+

+
Version: +
1.0, Apr 1 1996 +
Author: +
David Geary +
See Also: +
BulletinLayout, Scroller, ScrollerLayout, ImageScroller, ComponentScrollerTest +
+
+ +

+ Constructor Index +

+
+
 o + ComponentScroller() +
+
 o + ComponentScroller(Component) +
+
+

+ Method Index +

+
+
 o + getScrollAreaSize() +
+
 o + scrollTo(int, int) +
+
 o + setComponent(Component) +
+
+ +

+ Constructors +

+ + o +ComponentScroller +
+  public ComponentScroller()
+
+ o +ComponentScroller +
+  public ComponentScroller(Component component)
+
+ +

+ Methods +

+ o +setComponent +
+  public void setComponent(Component component)
+
+ o +scrollTo +
+  public void scrollTo(int x,
+                       int y)
+
+
+
+
Overrides: +
scrollTo in class Scroller +
+
+ o +getScrollAreaSize +
+  public Dimension getScrollAreaSize()
+
+
+
+
Overrides: +
getScrollAreaSize in class Scroller +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/ControlClickEvent.html b/lib/lilgp/lilgpSetup1.0/javadocs/ControlClickEvent.html new file mode 100644 index 0000000..2807cd6 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/ControlClickEvent.html @@ -0,0 +1,102 @@ + + + + + + + Class ControlClickEvent + + + +

+ Class ControlClickEvent +

+
+java.lang.Object
+   |
+   +----java.awt.Event
+           |
+           +----ControlClickEvent
+
+
+
+
class ControlClickEvent +
extends Event +
+This class creates a custom event for the ClickableLabel class. +
+
See Also: +
ClickablLabel +
+
+ +

+ Variable Index +

+
+
 o + CTRL_CLICK +
+
+

+ Constructor Index +

+
+
 o + ControlClickEvent(Object, Event) +
Create a new event, but set the id field to -1 so that +our custom event is not mistaken for something else when it +propagates into other components + +
+

+ Method Index +

+
+
 o + paramString() +
Construct the argument field. +
+ +

+ Variables +

+ o +CTRL_CLICK +
+  public final static int CTRL_CLICK
+
+ +

+ Constructors +

+ + o +ControlClickEvent +
+  public ControlClickEvent(Object target,
+                           Event event)
+
+
+
Create a new event, but set the id field to -1 so that +our custom event is not mistaken for something else when it +propagates into other components +
+ +

+ Methods +

+ o +paramString +
+  protected String paramString()
+
+
+
Construct the argument field. +
+
Overrides: +
paramString in class Event +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/ControlPanel.html b/lib/lilgp/lilgpSetup1.0/javadocs/ControlPanel.html new file mode 100644 index 0000000..2965c90 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/ControlPanel.html @@ -0,0 +1,105 @@ + + + + + + + Class ControlPanel + + + +

+ Class ControlPanel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----ControlPanel
+
+
+
+
class ControlPanel +
extends Panel +
+Create a panel that contains a button for each of the parameter +panels. Clicking on the buttons will cause the CardLayout manager +in the IndexPanel to flip to the appropriate panel. +
+
See Also: +
IndexPanel +
+
+ +

+ Constructor Index +

+
+
 o + ControlPanel() +
Create a new GridLayout manager and add the buttons. +
+

+ Method Index +

+
+
 o + action(Event, Object) +
Trap button clicks in the ControlPanel and flip to the +appropriate card in the IndexPanel. +
 o + flushAllPanels() +
Call the flushParameters() method in each of the +parameter classes. +
+ +

+ Constructors +

+ + o +ControlPanel +
+  public ControlPanel()
+
+
+
Create a new GridLayout manager and add the buttons. +
+ +

+ Methods +

+ o +action +
+  public boolean action(Event evt,
+                        Object arg)
+
+
+
Trap button clicks in the ControlPanel and flip to the +appropriate card in the IndexPanel. +
+
Overrides: +
action in class Component +
+
+ o +flushAllPanels +
+  public void flushAllPanels()
+
+
+
Call the flushParameters() method in each of the +parameter classes. +
+
See Also: +
flushParameters, flushParameters, flushParameters, flushParameters, flushParameters, flushParameters +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/ErrorFrame.html b/lib/lilgp/lilgpSetup1.0/javadocs/ErrorFrame.html new file mode 100644 index 0000000..393c318 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/ErrorFrame.html @@ -0,0 +1,112 @@ + + + + + + + Class ErrorFrame + + + +

+ Class ErrorFrame +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Window
+                           |
+                           +----java.awt.Frame
+                                   |
+                                   +----ErrorFrame
+
+
+
+
class ErrorFrame +
extends Frame +
+Create a frame that contains a text area to display the error +messages in and a button that will destroy the frame. +
+
See Also: +
addComment, addWarning, addError +
+
+ +

+ Variable Index +

+
+
 o + isAlive +
+
+

+ Constructor Index +

+
+
 o + ErrorFrame(Vector) +
+
+

+ Method Index +

+
+
 o + action(Event, Object) +
+
 o + updateErrors(Vector) +
Erase the contents of the text area and show the new errors + +
+ +

+ Variables +

+ o +isAlive +
+  public static boolean isAlive
+
+ +

+ Constructors +

+ + o +ErrorFrame +
+  public ErrorFrame(Vector errors)
+
+ +

+ Methods +

+ o +updateErrors +
+  public void updateErrors(Vector errors)
+
+
+
Erase the contents of the text area and show the new errors +
+ o +action +
+  public boolean action(Event event,
+                        Object arg)
+
+
+
+
Overrides: +
action in class Component +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/Exchange.html b/lib/lilgp/lilgpSetup1.0/javadocs/Exchange.html new file mode 100644 index 0000000..4980436 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/Exchange.html @@ -0,0 +1,135 @@ + + + + + + + Class Exchange + + + +

+ Class Exchange +

+
+java.lang.Object
+   |
+   +----Exchange
+
+
+
+
class Exchange +
extends Object +
+This class defines the structure of a sub-pop exchange. It contains fields +for the following lil-gp parameters: +
  • exch[#].from +
  • exch[#].fromselect +
  • exch[#].to +
  • exch[#].toselect +
  • exch[#].count

+It also stores the key value used when these objects are hashed. +
+
See Also: +
SubPopFrame +
+
+ +

+ Variable Index +

+
+
 o + count +
+
 o + fromPop +
+
 o + fromSelect +
+
 o + key +
+
 o + toPop +
+
 o + toSelect +
+
+

+ Constructor Index +

+
+
 o + Exchange(Exchange) +
This constructor allows you to create a new exchange from an existing one + +
 o + Exchange(String, String, String, String, String, String) +
This constructor allows you to specify each field of the object + +
+ +

+ Variables +

+ o +fromPop +
+  public String fromPop
+
+ o +toPop +
+  public String toPop
+
+ o +count +
+  public String count
+
+ o +fromSelect +
+  public String fromSelect
+
+ o +toSelect +
+  public String toSelect
+
+ o +key +
+  public String key
+
+ +

+ Constructors +

+ + o +Exchange +
+  public Exchange(String fp,
+                  String tp,
+                  String c,
+                  String fs,
+                  String ts,
+                  String k)
+
+
+
This constructor allows you to specify each field of the object +
+ o +Exchange +
+  public Exchange(Exchange e)
+
+
+
This constructor allows you to create a new exchange from an existing one +
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/GeneralPanel.html b/lib/lilgp/lilgpSetup1.0/javadocs/GeneralPanel.html new file mode 100644 index 0000000..cf089d4 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/GeneralPanel.html @@ -0,0 +1,126 @@ + + + + + + + Class GeneralPanel + + + +

+ Class GeneralPanel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----GeneralPanel
+
+
+
+
class GeneralPanel +
extends Panel +
+This panel contains a TitlePanel and a GridBagPanel +that accepts input for the following lilgp parameters: +
+
  • max_gen +
  • pop_size +
  • rand_seed +
+
+
See Also: +
TitlePanel, GridBagPanel +
+
+ +

+ Constructor Index +

+
+
 o + GeneralPanel() +
Add each of the UI components needed to accept input. +
+

+ Method Index +

+
+
 o + action(Event, Object) +
Trap TextField events and send the focus to the +next field on the panel. +
 o + flushParameters() +
Collect the contents of each UI component and store it in the +ParameterDB. +
 o + loadParams() +
This method is responsible for loading parameters onto the GeneralPanel +after the user opens a parameter file. +
+ +

+ Constructors +

+ + o +GeneralPanel +
+  public GeneralPanel()
+
+
+
Add each of the UI components needed to accept input. +
+
See Also: +
addComponent +
+
+ +

+ Methods +

+ o +flushParameters +
+  public static void flushParameters()
+
+
+
Collect the contents of each UI component and store it in the +ParameterDB. +
+
See Also: +
ParameterDB +
+
+ o +action +
+  public boolean action(Event event,
+                        Object arg)
+
+
+
Trap TextField events and send the focus to the +next field on the panel. +
+
Overrides: +
action in class Component +
+
+ o +loadParams +
+  public static void loadParams()
+
+
+
This method is responsible for loading parameters onto the GeneralPanel +after the user opens a parameter file. +
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/GridBagPanel.html b/lib/lilgp/lilgpSetup1.0/javadocs/GridBagPanel.html new file mode 100644 index 0000000..c364752 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/GridBagPanel.html @@ -0,0 +1,103 @@ + + + + + + + Class GridBagPanel + + + +

+ Class GridBagPanel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----GridBagPanel
+
+
+
+
class GridBagPanel +
extends Panel +
+This class is simply a Panel that is managed +by the GridBagLayout manager. +
+ +

+ Constructor Index +

+
+
 o + GridBagPanel() +
Instantiate a new Panel and set its layout +manager to be GridBagLayout. +
+

+ Method Index +

+
+
 o + addComponent(Component, int, int, int, int, int, int, int, int) +
A generic method that allows you to add a Component to the +GridBagPanel and specify all of the GridBagConstraints +at the same time. +
+ +

+ Constructors +

+ + o +GridBagPanel +
+  public GridBagPanel()
+
+
+
Instantiate a new Panel and set its layout +manager to be GridBagLayout. +
+ +

+ Methods +

+ o +addComponent +
+  public void addComponent(Component component,
+                           int gx,
+                           int gy,
+                           int gw,
+                           int gh,
+                           int wx,
+                           int wy,
+                           int fill,
+                           int anchor)
+
+
+
A generic method that allows you to add a Component to the +GridBagPanel and specify all of the GridBagConstraints +at the same time. Each component has a default Inset setting +of (3, 1, 3, 1). +
+
Parameters: +
component - the component being added to the Panel +
gx - the gridx constraint +
gy - the gridy constraint +
gw - the grid width constraint +
gh - the grid height constraint +
wx - the weightx constraint +
wy - the weighty constraint +
fill - the fill constraint +
anchor - the anchor constraint +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/GroupPanel.html b/lib/lilgp/lilgpSetup1.0/javadocs/GroupPanel.html new file mode 100644 index 0000000..40a4305 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/GroupPanel.html @@ -0,0 +1,135 @@ + + + + + + + Class GroupPanel + + + +

+ Class GroupPanel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----GroupPanel
+
+
+
+
class GroupPanel +
extends Panel +
+Create a panel that allows you to organize related components +on a panel surrounded by a raised border. It also allows you +to specify a group title. +
+ +

+ Constructor Index +

+
+
 o + GroupPanel(String) +
Create a new object and assign the title string + +
+

+ Method Index +

+
+
 o + addNotify() +
+
 o + insets() +
Create new insets + +
 o + paint(Graphics) +
Paint the border around the group + +param g the graphics object + +
 o + setBackground(Color) +
Set the background color + + +
+ +

+ Constructors +

+ + o +GroupPanel +
+  public GroupPanel(String title)
+
+
+
Create a new object and assign the title string +
+ +

+ Methods +

+ o +setBackground +
+  public synchronized void setBackground(Color c)
+
+
+
Set the background color +
+
Parameters: +
c - the background color +
Overrides: +
setBackground in class Component +
+
+ o +addNotify +
+  public void addNotify()
+
+
+
+
Overrides: +
addNotify in class Panel +
+
+ o +insets +
+  public Insets insets()
+
+
+
Create new insets +
+
Overrides: +
insets in class Container +
+
+ o +paint +
+  public void paint(Graphics g)
+
+
+
Paint the border around the group +param g the graphics object +
+
Overrides: +
paint in class Component +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/IndexPanel.html b/lib/lilgp/lilgpSetup1.0/javadocs/IndexPanel.html new file mode 100644 index 0000000..1c9ce77 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/IndexPanel.html @@ -0,0 +1,90 @@ + + + + + + + Class IndexPanel + + + +

+ Class IndexPanel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----IndexPanel
+
+
+
+
class IndexPanel +
extends Panel +
+Create an index panel that uses the CardLayout manager +to store the six different parameter panels. Clicking +on a button in the ControlPanel will cause a new card +to be displayed. +
+
See Also: +
ControlPanel +
+
+ +

+ Constructor Index +

+
+
 o + IndexPanel() +
Instantiate each of the parameter panels and add them to the +CardLayout manager in the IndexPanel. +
+

+ Method Index +

+
+
 o + fliptoPanel(Object) +
This static class method allows the event handler in the +ControlPanel to trigger a card flip. +
+ +

+ Constructors +

+ + o +IndexPanel +
+  public IndexPanel()
+
+
+
Instantiate each of the parameter panels and add them to the +CardLayout manager in the IndexPanel. +
+ +

+ Methods +

+ o +fliptoPanel +
+  public static void fliptoPanel(Object arg)
+
+
+
This static class method allows the event handler in the +ControlPanel to trigger a card flip. +
+
Parameters: +
arg - the button label +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/InfoDialog.html b/lib/lilgp/lilgpSetup1.0/javadocs/InfoDialog.html new file mode 100644 index 0000000..29eb2a3 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/InfoDialog.html @@ -0,0 +1,78 @@ + + + + + + + Class InfoDialog + + + +

+ Class InfoDialog +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Window
+                           |
+                           +----java.awt.Dialog
+                                   |
+                                   +----InfoDialog
+
+
+
+
class InfoDialog +
extends Dialog +
+A simple non-modal dialog frame used to convey error messages +
+ +

+ Constructor Index +

+
+
 o + InfoDialog(String) +
+
+

+ Method Index +

+
+
 o + action(Event, Object) +
+
+ +

+ Constructors +

+ + o +InfoDialog +
+  public InfoDialog(String msg)
+
+ +

+ Methods +

+ o +action +
+  public boolean action(Event e,
+                        Object arg)
+
+
+
+
Overrides: +
action in class Component +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/InitializationPanel.html b/lib/lilgp/lilgpSetup1.0/javadocs/InitializationPanel.html new file mode 100644 index 0000000..9353534 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/InitializationPanel.html @@ -0,0 +1,127 @@ + + + + + + + Class InitializationPanel + + + +

+ Class InitializationPanel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----InitializationPanel
+
+
+
+
class InitializationPanel +
extends Panel +
+This panel contains a TitlePanel and a GridBagPanel +that accepts input for the following lilgp parameters: +
+
  • init.method
  • init.depth
  • init.random_attempts
+

+It does not currently support the input of: +
+

  • init.tree[#].method
  • init.tree[#].depth
+
+
See Also: +
TitlePanel, GridBagPanel +
+
+ +

+ Constructor Index +

+
+
 o + InitializationPanel() +
Add each of the UI components needed to accept input. +
+

+ Method Index +

+
+
 o + action(Event, Object) +
Trap TextField events and send the focus to the +next field on the panel. +
 o + flushParameters() +
Collect the contents of each UI component and store it in the +ParameterDB. +
 o + loadParams() +
This method is responsible for loading parameters onto the InitializationPanel +after the user opens a parameter file. +
+ +

+ Constructors +

+ + o +InitializationPanel +
+  public InitializationPanel()
+
+
+
Add each of the UI components needed to accept input. +
+
See Also: +
addComponent +
+
+ +

+ Methods +

+ o +flushParameters +
+  public static void flushParameters()
+
+
+
Collect the contents of each UI component and store it in the +ParameterDB. +
+
See Also: +
ParameterDB +
+
+ o +action +
+  public boolean action(Event event,
+                        Object arg)
+
+
+
Trap TextField events and send the focus to the +next field on the panel. +
+
Overrides: +
action in class Component +
+
+ o +loadParams +
+  public static void loadParams()
+
+
+
This method is responsible for loading parameters onto the InitializationPanel +after the user opens a parameter file. +
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/MainWindow.html b/lib/lilgp/lilgpSetup1.0/javadocs/MainWindow.html new file mode 100644 index 0000000..2cdf8dc --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/MainWindow.html @@ -0,0 +1,200 @@ + + + + + + + Class MainWindow + + + +

+ Class MainWindow +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Window
+                           |
+                           +----java.awt.Frame
+                                   |
+                                   +----MainWindow
+
+
+
+
class MainWindow +
extends Frame +
+This class is responsible for creating all of the menus +and instantiating a ControlPanel and an IndexPanel. +
+
See Also: +
ControlPanel, IndexPanel +
+
+ +

+ Variable Index +

+
+
 o + cp +
+
 o + ip +
+
+

+ Constructor Index +

+
+
 o + MainWindow() +
Constructs the menus and two sub-panels. +
+

+ Method Index +

+
+
 o + action(Event, Object) +
Trap menu events and call the appropriate method. +
 o + handleEvent(Event) +
+
 o + selectedAbout() +
Show the user who wrote the software and who his advisor is + +
 o + selectedExit() +
Open a dialog that asks the user if they really want to quit. +
 o + selectedHelp() +
Open the lilgpHelp subsystem. +
 o + selectedOpen() +
This method is called when the user selects File -> Open + +
 o + selectedSaveAs() +
This method is called when the user selects File -> SaveAs + +
 o + show() +
+
+ +

+ Variables +

+ o +cp +
+  public ControlPanel cp
+
+ o +ip +
+  public IndexPanel ip
+
+ +

+ Constructors +

+ + o +MainWindow +
+  public MainWindow()
+
+
+
Constructs the menus and two sub-panels. +
+ +

+ Methods +

+ o +show +
+  public synchronized void show()
+
+
+
+
Overrides: +
show in class Window +
+
+ o +handleEvent +
+  public boolean handleEvent(Event event)
+
+
+
+
Overrides: +
handleEvent in class Component +
+
+ o +action +
+  public boolean action(Event event,
+                        Object arg)
+
+
+
Trap menu events and call the appropriate method. +
+
Overrides: +
action in class Component +
See Also: +
selectedAbout, selectedExit, selectedOpen, selectedSaveAs +
+
+ o +selectedOpen +
+  public void selectedOpen()
+
+
+
This method is called when the user selects File -> Open +
+ o +selectedSaveAs +
+  public void selectedSaveAs()
+
+
+
This method is called when the user selects File -> SaveAs +
+ o +selectedExit +
+  public void selectedExit()
+
+
+
Open a dialog that asks the user if they really want to quit. +
+ o +selectedAbout +
+  public void selectedAbout()
+
+
+
Show the user who wrote the software and who his advisor is +
+ o +selectedHelp +
+  public void selectedHelp()
+
+
+
Open the lilgpHelp subsystem. +
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/OutputPanel.html b/lib/lilgp/lilgpSetup1.0/javadocs/OutputPanel.html new file mode 100644 index 0000000..73d7c44 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/OutputPanel.html @@ -0,0 +1,131 @@ + + + + + + + Class OutputPanel + + + +

+ Class OutputPanel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----OutputPanel
+
+
+
+
class OutputPanel +
extends Panel +
+This panel contains a TitlePanel and a GridBagPanel +that accepts input for the following lilgp parameters: +
+
  • output.basename +
  • output.detail +
  • output.stt_interval +
  • output.bestn +
  • output.digits +
  • checkpoint.interval +
  • checkpoint.filename +
  • checkpoint.compress +
. +
+
See Also: +
TitlePanel, GridBagPanel +
+
+ +

+ Constructor Index +

+
+
 o + OutputPanel() +
Add each of the UI components needed to accept input. +
+

+ Method Index +

+
+
 o + action(Event, Object) +
Trap TextField events and send the focus to the +next field on the panel. +
 o + flushParameters() +
Collect the contents of each UI component and store it in the +ParameterDB. +
 o + loadParams() +
This method is responsible for loading parameters onto the OutputPanel +after the user opens a parameter file. +
+ +

+ Constructors +

+ + o +OutputPanel +
+  public OutputPanel()
+
+
+
Add each of the UI components needed to accept input. +
+
See Also: +
addComponent +
+
+ +

+ Methods +

+ o +flushParameters +
+  public static void flushParameters()
+
+
+
Collect the contents of each UI component and store it in the +ParameterDB. +
+
See Also: +
ParameterDB +
+
+ o +action +
+  public boolean action(Event event,
+                        Object arg)
+
+
+
Trap TextField events and send the focus to the +next field on the panel. +
+
Overrides: +
action in class Component +
+
+ o +loadParams +
+  public static void loadParams()
+
+
+
This method is responsible for loading parameters onto the OutputPanel +after the user opens a parameter file. +
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/ParameterDB.html b/lib/lilgp/lilgpSetup1.0/javadocs/ParameterDB.html new file mode 100644 index 0000000..d0cd815 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/ParameterDB.html @@ -0,0 +1,355 @@ + + + + + + + Class ParameterDB + + + +

+ Class ParameterDB +

+
+java.lang.Object
+   |
+   +----ParameterDB
+
+
+
+
class ParameterDB +
extends Object +
+This class contains a Properties object that is used to store all +of the parameter names and their corresponding values. It contains +a secondary Property object that is initialized with the default +values of the parameters as described in Chapter 5 of the lil-gp +User's Manual. +More importantly, this class contains all of the methods responsible +for parsing the parameter values for errors before the output file +can be generated. +This class also contains a Vector object that is used to store +errors encountered while parsing the database. Once the parse is +complete, an ErrorFrame is instantiated and the error Vector is +passed in. +
+
See Also: +
ErrorFrame +
+
+ +

+ Variable Index +

+
+
 o + endl +
+
+

+ Constructor Index +

+
+
 o + ParameterDB() +
The constructor method is responsible for creating a default +Property object and instantiating the main Property object. +
+

+ Method Index +

+
+
 o + addToDB(String, String) +
This method allows external classes to request that +a parameter be added to the database. +
 o + delFromDB(String) +
This method allows external classes to request that +a parameter be deleted from the database. +
 o + displayErrors() +
This method is responsible for creating the ErrorFrame. +
 o + dump() +
A useful debugging method that dumps the contents of the database + +
 o + getElements() +
This method allows external classes to request an +Enumeration of the elements in the parameter database. +
 o + getKeys() +
This method allows external classes to request an +Enumeration of the keys in the parameter database. +
 o + getProp(String) +
This method allows external classes to request a +specific parameter in the database. +
 o + OLDsave(String) +
This method is responsible for generating the output file that +will be used as input for lil-gp. +
 o + open(String) +
This method is repsonsible for opening an existing parameter file and +reading the contents into a temporary hashtable. +
 o + parse() +
This method simply adds informative comments to the error Vector +add calls the appropriate parse methods for each panel. +
 o + purgeOldPhases() +
This method will purge all parameters associated with breeding +phases from the database. +
 o + purgeOldSubPopExchanges() +
This method will purge all of the parameters associated with +exchanges between sub-populations. +
 o + purgeOldSubPopParameters() +
This method purges the parameters associated with multiple +sub-populations, but does not purge the parameters associated +with the actual sub-pop exchanges. +
 o + purgeUserDefinedParameters() +
+
 o + save(String) +
+
+ +

+ Variables +

+ o +endl +
+  public static String endl
+
+ +

+ Constructors +

+ + o +ParameterDB +
+  public ParameterDB()
+
+
+
The constructor method is responsible for creating a default +Property object and instantiating the main Property object. +
+ +

+ Methods +

+ o +getKeys +
+  public Enumeration getKeys()
+
+
+
This method allows external classes to request an +Enumeration of the keys in the parameter database. +
+
Returns: +
an Enumeration of the keys +
+
+ o +getElements +
+  public Enumeration getElements()
+
+
+
This method allows external classes to request an +Enumeration of the elements in the parameter database. +
+
Returns: +
an Enumeration of the elements +
+
+ o +getProp +
+  public String getProp(String key)
+
+
+
This method allows external classes to request a +specific parameter in the database. +
+
Parameters: +
key - String object containing the desired property key +
Returns: +
the value associated with key +
+
+ o +addToDB +
+  public void addToDB(String name,
+                      String value)
+
+
+
This method allows external classes to request that +a parameter be added to the database. If the parameter +is already in the database, its old value is replaced with +the specified value. +
+
Parameters: +
name - String object containing the name of the parameter +
value - String object containing the value of the parameter. +
+
+ o +delFromDB +
+  public void delFromDB(String name)
+
+
+
This method allows external classes to request that +a parameter be deleted from the database. +
+
Parameters: +
name - String object containing the name of the parameter +
+
+ o +purgeOldPhases +
+  public void purgeOldPhases()
+
+
+
This method will purge all parameters associated with breeding +phases from the database. It is called when the user clicks on +the 'purge' button on the BreedingPanel and before adding new +breed phase parameters when the user clicks the 'accept' button. +
+ o +purgeOldSubPopExchanges +
+  public void purgeOldSubPopExchanges()
+
+
+
This method will purge all of the parameters associated with +exchanges between sub-populations. It does not remove the +following parameters: +
  • multiple.sub_pops +
  • multiple.exch_gen +
  • multiple.exchanges
+It is called when the user clicks on the 'purge' button on the +SubPopsPanel and also before new exchanges are added to the +database. +
+
See Also: +
purgeOldSubPopParameters +
+
+ o +purgeUserDefinedParameters +
+  public void purgeUserDefinedParameters()
+
+ o +purgeOldSubPopParameters +
+  public void purgeOldSubPopParameters()
+
+
+
This method purges the parameters associated with multiple +sub-populations, but does not purge the parameters associated +with the actual sub-pop exchanges. It is called when the +user clicks on the 'purge' button and before new sub-pop +parameters are added to the database. +
+
See Also: +
purgeOldSubPopExchanges +
+
+ o +OLDsave +
+  public void OLDsave(String filename) throws IOException
+
+
+
This method is responsible for generating the output file that +will be used as input for lil-gp. Before generating the file, +it parses the parameters for errors. If there are no errors, +a FileOutputStream is created and the file is generated. The +parameters are grouped in the file by category and comments +are inserted to help make it readable. +
+
Parameters: +
filename - String object containing the name of the output file +
See Also: +
parse +
+
+ o +save +
+  public void save(String filename) throws IOException
+
+ o +open +
+  public void open(String filename) throws IOException
+
+
+
This method is repsonsible for opening an existing parameter file and +reading the contents into a temporary hashtable. If it encounters any +unexpected errors in the parameter file, it will abort the open process. +That is, it will leave the current settings on all of the panels intact +and show the user where the error occurred. If there are no sytax errors +in the file, then the parameters are run through the parse() +method. If there are no errors in the parameter settings, then the +loadParams() method is called for each panel. +
+
Parameters: +
filename - the name of the input file +
See Also: +
loadParams, loadParams, loadParams, loadParams, loadParams, loadParams, loadParams, loadParams +
+
+ o +dump +
+  public void dump()
+
+
+
A useful debugging method that dumps the contents of the database +
+ o +displayErrors +
+  public void displayErrors()
+
+
+
This method is responsible for creating the ErrorFrame. +
+
See Also: +
ErrorFrame, addComment, addWarning, addError +
+
+ o +parse +
+  public boolean parse()
+
+
+
This method simply adds informative comments to the error Vector +add calls the appropriate parse methods for each panel. If there +were any errors or warnings encountered while parsing the parameters, +then return false. +
+
Returns: +
true if there were no errors or warnings, else return false +
See Also: +
parseGeneralPanel, parseOutputPanel, parseLimitsPanel, parseInitPanel, parseBreedingPanel, parseSubPopsPanel +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/PhasePanel.html b/lib/lilgp/lilgpSetup1.0/javadocs/PhasePanel.html new file mode 100644 index 0000000..da0189b --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/PhasePanel.html @@ -0,0 +1,117 @@ + + + + + + + Class PhasePanel + + + +

+ Class PhasePanel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----PhasePanel
+
+
+
+
class PhasePanel +
extends Panel +
+This actually contains all of the UI components that accept breeding +parameters. It currently accepts the following lilgp parameters: +
+ +

+ Constructor Index +

+
+
 o + PhasePanel(int) +
Add each of the UI components needed to accept input. +
+

+ Method Index +

+
+
 o + action(Event, Object) +
Trap input events and determine which set of UI components should be +visible based on the user's selections. +
 o + flushParameters() +
Collect the contents of each UI component and store it in the +ParameterDB. +
 o + loadParams() +
This method is responsible for loading parameters on each of the phase panels +after the user opens a parameter file. +
+ +

+ Constructors +

+ + o +PhasePanel +
+  public PhasePanel(int num)
+
+
+
Add each of the UI components needed to accept input. +
+
Parameters: +
num - the phase number +
+
+ +

+ Methods +

+ o +action +
+  public boolean action(Event event,
+                        Object arg)
+
+
+
Trap input events and determine which set of UI components should be +visible based on the user's selections. +
+
Overrides: +
action in class Component +
+
+ o +flushParameters +
+  public void flushParameters()
+
+
+
Collect the contents of each UI component and store it in the +ParameterDB. +
+
See Also: +
ParameterDB +
+
+ o +loadParams +
+  public void loadParams()
+
+
+
This method is responsible for loading parameters on each of the phase panels +after the user opens a parameter file. +
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/QuitBox.html b/lib/lilgp/lilgpSetup1.0/javadocs/QuitBox.html new file mode 100644 index 0000000..acea667 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/QuitBox.html @@ -0,0 +1,107 @@ + + + + + + + Class QuitBox + + + +

+ Class QuitBox +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Window
+                           |
+                           +----java.awt.Dialog
+                                   |
+                                   +----QuitBox
+
+
+
+
class QuitBox +
extends Dialog +
+Ask the user if they really want to quit. +
+ +

+ Constructor Index +

+
+
 o + QuitBox(Frame) +
+
+

+ Method Index +

+
+
 o + clickedNoButton() +
+
 o + clickedYesButton() +
+
 o + handleEvent(Event) +
+
 o + show() +
+
+ +

+ Constructors +

+ + o +QuitBox +
+  public QuitBox(Frame parent)
+
+ +

+ Methods +

+ o +show +
+  public void show()
+
+
+
+
Overrides: +
show in class Window +
+
+ o +handleEvent +
+  public boolean handleEvent(Event event)
+
+
+
+
Overrides: +
handleEvent in class Component +
+
+ o +clickedYesButton +
+  public void clickedYesButton()
+
+ o +clickedNoButton +
+  public void clickedNoButton()
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/Scroller.html b/lib/lilgp/lilgpSetup1.0/javadocs/Scroller.html new file mode 100644 index 0000000..e93adab --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/Scroller.html @@ -0,0 +1,305 @@ + + + + + + + Class Scroller + + + +

+ Class Scroller +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----Scroller
+
+
+
+
public class Scroller +
extends Panel +
+Each Scroller contains a Panel (viewport) and two Scrollbars +(horizontal and vertical). Works in conjunction with a +ScrollerLayout, that lays out the viewport and two +scrollbars.

+Subclasses must override:

+

+
abstract public void scrollTo(int x, int y) +
abstract public Dimension getScrollAreaSize() +
+
+
Version: +
1.0, Apr 1 1996 +
Author: +
David Geary +
See Also: +
ComponentScroller, ImageScroller, ScrollerLayout, ComponentScrollerTest, ImageScrollerTest +
+
+ +

+ Variable Index +

+
+
 o + hbar +
+
 o + vbar +
+
 o + viewport +
+
+

+ Constructor Index +

+
+
 o + Scroller() +
+
+

+ Method Index +

+
+
 o + getHorizontalScrollbar() +
+
 o + getScrollAreaSize() +
+
 o + getVerticalScrollbar() +
+
 o + getViewport() +
+
 o + handleEvent(Event) +
+
 o + manageHorizontalScrollbar() +
+
 o + manageScrollbars() +
+
 o + manageVerticalScrollbar() +
+
 o + paint(Graphics) +
+
 o + scroll() +
+
 o + scrollAbsolute(Event) +
+
 o + scrollLineDown(Event) +
+
 o + scrollLineUp(Event) +
+
 o + scrollPageDown(Event) +
+
 o + scrollPageUp(Event) +
+
 o + scrollTo(int, int) +
+
 o + setHorizontalLineAndPageIncrements() +
+
 o + setHorizontalScrollbarValues() +
+
 o + setScrollbarValues() +
+
 o + setVerticalLineAndPageIncrements() +
+
 o + setVerticalScrollbarValues() +
+
 o + update(Graphics) +
+
+ +

+ Variables +

+ o +viewport +
+  protected Panel viewport
+
+ o +hbar +
+  protected Scrollbar hbar
+
+ o +vbar +
+  protected Scrollbar vbar
+
+ +

+ Constructors +

+ + o +Scroller +
+  public Scroller()
+
+ +

+ Methods +

+ o +scrollTo +
+  public abstract void scrollTo(int x,
+                                int y)
+
+ o +getScrollAreaSize +
+  public abstract Dimension getScrollAreaSize()
+
+ o +getHorizontalScrollbar +
+  public Scrollbar getHorizontalScrollbar()
+
+ o +getVerticalScrollbar +
+  public Scrollbar getVerticalScrollbar()
+
+ o +getViewport +
+  public Panel getViewport()
+
+ o +handleEvent +
+  public boolean handleEvent(Event event)
+
+
+
+
Overrides: +
handleEvent in class Component +
+
+ o +paint +
+  public void paint(Graphics g)
+
+
+
+
Overrides: +
paint in class Component +
+
+ o +update +
+  public void update(Graphics g)
+
+
+
+
Overrides: +
update in class Component +
+
+ o +manageScrollbars +
+  public void manageScrollbars()
+
+ o +manageHorizontalScrollbar +
+  protected void manageHorizontalScrollbar()
+
+ o +manageVerticalScrollbar +
+  protected void manageVerticalScrollbar()
+
+ o +setScrollbarValues +
+  public void setScrollbarValues()
+
+ o +setHorizontalScrollbarValues +
+  protected void setHorizontalScrollbarValues()
+
+ o +setVerticalScrollbarValues +
+  protected void setVerticalScrollbarValues()
+
+ o +scrollLineUp +
+  protected void scrollLineUp(Event event)
+
+ o +scrollLineDown +
+  protected void scrollLineDown(Event event)
+
+ o +scrollPageUp +
+  protected void scrollPageUp(Event event)
+
+ o +scrollPageDown +
+  protected void scrollPageDown(Event event)
+
+ o +scrollAbsolute +
+  protected void scrollAbsolute(Event event)
+
+ o +setHorizontalLineAndPageIncrements +
+  protected void setHorizontalLineAndPageIncrements()
+
+ o +setVerticalLineAndPageIncrements +
+  protected void setVerticalLineAndPageIncrements()
+
+ o +scroll +
+  protected void scroll()
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/ScrollerLayout.html b/lib/lilgp/lilgpSetup1.0/javadocs/ScrollerLayout.html new file mode 100644 index 0000000..1d6c96d --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/ScrollerLayout.html @@ -0,0 +1,116 @@ + + + + + + + Class ScrollerLayout + + + +

+ Class ScrollerLayout +

+
+java.lang.Object
+   |
+   +----ScrollerLayout
+
+
+
+
public class ScrollerLayout +
extends Object +
implements LayoutManager +
+Layout manager for a Scroller.

+Lays out 3 Components: a horizontal scrollbar, a vertical +scrollbar and a viewport (Panel).

+Valid names/Component pairs that can be added via +addLayoutComponent(String, Component):

+

+
"East" Scrollbar (vertical) +
"West" Scrollbar (vertical) +
"North" Scrollbar (horizontal) +
"South" Scrollbar (horizontal) +
"Scroll" Panel (viewport) +
+
+
Version: +
1.0, Apr 1 1996 +
Author: +
David Geary +
See Also: +
Scroller +
+
+ +

+ Constructor Index +

+
+
 o + ScrollerLayout(Scroller) +
+
+

+ Method Index +

+
+
 o + addLayoutComponent(String, Component) +
+
 o + layoutContainer(Container) +
+
 o + minimumLayoutSize(Container) +
+
 o + preferredLayoutSize(Container) +
+
 o + removeLayoutComponent(Component) +
+
+ +

+ Constructors +

+ + o +ScrollerLayout +
+  public ScrollerLayout(Scroller scroller)
+
+ +

+ Methods +

+ o +addLayoutComponent +
+  public void addLayoutComponent(String name,
+                                 Component comp)
+
+ o +removeLayoutComponent +
+  public void removeLayoutComponent(Component comp)
+
+ o +preferredLayoutSize +
+  public Dimension preferredLayoutSize(Container parent)
+
+ o +minimumLayoutSize +
+  public Dimension minimumLayoutSize(Container parent)
+
+ o +layoutContainer +
+  public void layoutContainer(Container target)
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/SizeLimitsPanel.html b/lib/lilgp/lilgpSetup1.0/javadocs/SizeLimitsPanel.html new file mode 100644 index 0000000..7f01972 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/SizeLimitsPanel.html @@ -0,0 +1,121 @@ + + + + + + + Class SizeLimitsPanel + + + +

+ Class SizeLimitsPanel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----SizeLimitsPanel
+
+
+
+
class SizeLimitsPanel +
extends Panel +
+This panel contains a TitlePanel and a GridBagPanel +that accepts input for the following lilgp parameters: +
+
  • max_nodes
  • max_depth
+

+It does not currently support the input of: +

  • tree[#].max_nodes
  • tree[#].max_depth
+
+
See Also: +
TitlePanel, GridBagPanel +
+
+ +

+ Constructor Index +

+
+
 o + SizeLimitsPanel() +
Add each of the UI components needed to accept input. +
+

+ Method Index +

+
+
 o + action(Event, Object) +
Trap TextField events and send the focus to the +next field on the panel. +
 o + flushParameters() +
Collect the contents of each UI component and store it in the +ParameterDB. +
 o + loadParams() +
+
+ +

+ Constructors +

+ + o +SizeLimitsPanel +
+  public SizeLimitsPanel()
+
+
+
Add each of the UI components needed to accept input. +
+
See Also: +
addComponent +
+
+ +

+ Methods +

+ o +flushParameters +
+  public static void flushParameters()
+
+
+
Collect the contents of each UI component and store it in the +ParameterDB. +
+
See Also: +
ParameterDB +
+
+ o +action +
+  public boolean action(Event event,
+                        Object arg)
+
+
+
Trap TextField events and send the focus to the +next field on the panel. +
+
Overrides: +
action in class Component +
+
+ o +loadParams +
+  public static void loadParams()
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/SubPopFrame.html b/lib/lilgp/lilgpSetup1.0/javadocs/SubPopFrame.html new file mode 100644 index 0000000..be09c8d --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/SubPopFrame.html @@ -0,0 +1,158 @@ + + + + + + + Class SubPopFrame + + + +

+ Class SubPopFrame +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Window
+                           |
+                           +----java.awt.Frame
+                                   |
+                                   +----SubPopFrame
+
+
+
+
class SubPopFrame +
extends Frame +
+This frame contains a TitlePanel and groups of UI components +that allow the user to specify the following sub-pop exchange parameters: +
  • exch[#].from +
  • exch[#].fromselect +
  • exch[#].to +
  • exch[#].toselect +
  • exch[#].count

+There is also a group of buttons that allow the user to add, replace, edit, +and accept the exchanges. There is a List component in the bottom of the +frame that is used to show the current exchanges. +The constructor function creates a second frame that contains a SubPopGraph. +
+
See Also: +
SubPopGraph +
+
+ +

+ Constructor Index +

+
+
 o + SubPopFrame(int, boolean) +
Add each of the UI components needed to accept input. +
+

+ Method Index +

+
+
 o + action(Event, Object) +
Trap Button events. +
 o + keyDown(Event, int) +
if there is a selected exchange and the user has not clicked +the edit button, deselect the exchange so it doesn't look like +they are editing it. +
 o + loadParams() +
This methos is responsible for loading parameters into the exchange hashtable +and refreshing the sub-pop graph. +
 o + showGraphFrame() +
This method is called by the SubPopPanel when the user clicks on the go +button to reshow the sub-pop graph Frame. +
+ +

+ Constructors +

+ + o +SubPopFrame +
+  public SubPopFrame(int np,
+                     boolean showGraph)
+
+
+
Add each of the UI components needed to accept input. +
+
Parameters: +
np - the number of sub populations +
See Also: +
addComponent +
+
+ +

+ Methods +

+ o +action +
+  public boolean action(Event e,
+                        Object arg)
+
+
+
Trap Button events. If the Accept button is pressed, +then hide() the SubPopFrame and re-enable the Go +button and the purge button on the SubPopPanel. If the +accept button has been pressed, then all of the parameters associated +with sub-pops are purged from the database before adding the new ones. +
+
Overrides: +
action in class Component +
See Also: +
SubPopsPanel, enableButtons +
+
+ o +keyDown +
+  public boolean keyDown(Event e,
+                         int key)
+
+
+
if there is a selected exchange and the user has not clicked +the edit button, deselect the exchange so it doesn't look like +they are editing it. This code is repeated from +the action() method since typing in a TextField doesn't +generate an ACTION_EVENT. +
+
Overrides: +
keyDown in class Component +
+
+ o +loadParams +
+  public void loadParams()
+
+
+
This methos is responsible for loading parameters into the exchange hashtable +and refreshing the sub-pop graph. It also loads the exchange descriptions into +the summary list. +
+ o +showGraphFrame +
+  public void showGraphFrame()
+
+
+
This method is called by the SubPopPanel when the user clicks on the go +button to reshow the sub-pop graph Frame. +
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/SubPopGraph.html b/lib/lilgp/lilgpSetup1.0/javadocs/SubPopGraph.html new file mode 100644 index 0000000..9fa9793 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/SubPopGraph.html @@ -0,0 +1,212 @@ + + + + + + + Class SubPopGraph + + + +

+ Class SubPopGraph +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----SubPopGraph
+
+
+
+
public class SubPopGraph +
extends Panel +
+This class is responsible for generating a visual representation +of the sub-population exchanges. It uses double buffering and all +that other cool stuff..... +
+
See Also: +
SubPopFrame +
+
+ +

+ Variable Index +

+
+
 o + exchanges +
+
 o + graphHeight +
+
 o + graphWidth +
+
 o + radius +
+
+

+ Constructor Index +

+
+
 o + SubPopGraph(SubPopFrame, int) +
Initialize instance variables and resize the panel + + +
+

+ Method Index +

+
+
 o + backgroundPaint(Graphics) +
The method that actually does all of the drawing. +
 o + minimumSize() +
Calculate the minimum size of the panel + + +
 o + paint(Graphics) +
The overridden paint method responsible for figuring out if +we are double-buffered or not and then dispatching the drawing + + +
 o + preferredSize() +
Calculate the preferred size of the panel + + +
 o + refreshGraph(Exchange[]) +
After accepting a new set of exchanges, redraw the sub pop graph + + +
+ +

+ Variables +

+ o +graphWidth +
+  public final static int graphWidth
+
+ o +graphHeight +
+  public final static int graphHeight
+
+ o +radius +
+  public final static int radius
+
+ o +exchanges +
+  public Exchange exchanges[]
+
+ +

+ Constructors +

+ + o +SubPopGraph +
+  public SubPopGraph(SubPopFrame spf,
+                     int n)
+
+
+
Initialize instance variables and resize the panel +
+
Parameters: +
spf - a reference to the SubPopFrame that created me +
n - the number of sub populations +
+
+ +

+ Methods +

+ o +refreshGraph +
+  public void refreshGraph(Exchange exArray[])
+
+
+
After accepting a new set of exchanges, redraw the sub pop graph +
+
Parameters: +
exArray - an array of Exchange objects +
+
+ o +backgroundPaint +
+  public void backgroundPaint(Graphics g)
+
+
+
The method that actually does all of the drawing. It paints the +background, then the exchange links, the link arrowheads, and +finally the sub pops. +
+
Parameters: +
g - the graphics object +
+
+ o +paint +
+  public void paint(Graphics g)
+
+
+
The overridden paint method responsible for figuring out if +we are double-buffered or not and then dispatching the drawing +
+
Parameters: +
g - the graphics object +
Overrides: +
paint in class Component +
+
+ o +minimumSize +
+  public Dimension minimumSize()
+
+
+
Calculate the minimum size of the panel +
+
Returns: +
the dimensions of the graph +
Overrides: +
minimumSize in class Container +
+
+ o +preferredSize +
+  public Dimension preferredSize()
+
+
+
Calculate the preferred size of the panel +
+
Returns: +
the minimum size of the panel +
Overrides: +
preferredSize in class Container +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/SubPopsPanel.html b/lib/lilgp/lilgpSetup1.0/javadocs/SubPopsPanel.html new file mode 100644 index 0000000..a4cbde1 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/SubPopsPanel.html @@ -0,0 +1,162 @@ + + + + + + + Class SubPopsPanel + + + +

+ Class SubPopsPanel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----SubPopsPanel
+
+
+
+
class SubPopsPanel +
extends Panel +
+This panel contains a TitlePanel and a GridBagPanel +that accepts input for the following lilgp parameters: +
+
  • multiple.subpops +
  • multiple.exch_gen

+After pressing the go button, a SubPopFrame will +be created to allow the user to setup exchanges between the sub-pops. +If the purge button is pressed, then all of the parameters +associated with multiple sub populations will be removed from the +database. +

+
See Also: +
TitlePanel, GridBagPanel, SubPopFrame, purgeOldSubPopParameters, purgeOldSubPopExchanges +
+
+ +

+ Constructor Index +

+
+
 o + SubPopsPanel() +
Add each of the UI components needed to accept input. +
+

+ Method Index +

+
+
 o + action(Event, Object) +
Trap TextField events and Button events. +
 o + enableButtons() +
Allow the SubPopFrame to re-enable the buttons after the user +closes the frame. +
 o + flushParameters() +
Collect the contents of each UI component and store it in the +ParameterDB. +
 o + loadParams() +
This method is responsible for loading parameters onto the SubPopsPanel +after the user opens a parameter file. +
+ +

+ Constructors +

+ + o +SubPopsPanel +
+  public SubPopsPanel()
+
+
+
Add each of the UI components needed to accept input. +
+
See Also: +
addComponent +
+
+ +

+ Methods +

+ o +action +
+  public boolean action(Event event,
+                        Object arg)
+
+
+
Trap TextField events and Button events. +If the Go button has been pressed, then extract +the contents of the field containing multiple.subpops +and parse it for errors. If the number of sub-pops +has not changed since the last time the button was +pressed, then simply show() the old SubPopFrame +(it will contain any previously entered data). Otherwise, +instantiate a new SubPopFrame containing the +default values. If the purge button has been pressed, +then remove all sub-pop parameters from the database. +
+
Overrides: +
action in class Component +
See Also: +
SubPopFrame, purgeOldSubPopParameters, purgeOldSubPopExchanges +
+
+ o +flushParameters +
+  public static void flushParameters()
+
+
+
Collect the contents of each UI component and store it in the +ParameterDB. The parameters associated with sub-pop +exchanges are flushed into the databse in the action() +method in SubPopFrame +
+
See Also: +
ParameterDB, action +
+
+ o +enableButtons +
+  public static void enableButtons()
+
+
+
Allow the SubPopFrame to re-enable the buttons after the user +closes the frame. +
+
See Also: +
BreedFrame +
+
+ o +loadParams +
+  public static void loadParams()
+
+
+
This method is responsible for loading parameters onto the SubPopsPanel +after the user opens a parameter file. It then calls the loadParams() +method in SubPopFrame. +
+
See Also: +
loadParams +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/TitlePanel.html b/lib/lilgp/lilgpSetup1.0/javadocs/TitlePanel.html new file mode 100644 index 0000000..c2ef2c2 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/TitlePanel.html @@ -0,0 +1,62 @@ + + + + + + + Class TitlePanel + + + +

+ Class TitlePanel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----TitlePanel
+
+
+
+
class TitlePanel +
extends Panel +
+This class simply creates a panel with a yellow background and +prints the title string. +
+ +

+ Constructor Index +

+
+
 o + TitlePanel(String) +
Set up a font and print the title on a yellow background + + +
+ +

+ Constructors +

+ + o +TitlePanel +
+  public TitlePanel(String title)
+
+
+
Set up a font and print the title on a yellow background +
+
Parameters: +
title - the title string +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/UserDefinedPanel.html b/lib/lilgp/lilgpSetup1.0/javadocs/UserDefinedPanel.html new file mode 100644 index 0000000..19a7417 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/UserDefinedPanel.html @@ -0,0 +1,90 @@ + + + + + + + Class UserDefinedPanel + + + +

+ Class UserDefinedPanel +

+
+java.lang.Object
+   |
+   +----java.awt.Component
+           |
+           +----java.awt.Container
+                   |
+                   +----java.awt.Panel
+                           |
+                           +----UserDefinedPanel
+
+
+
+
class UserDefinedPanel +
extends Panel +
+
+ +

+ Constructor Index +

+
+
 o + UserDefinedPanel() +
+
+

+ Method Index +

+
+
 o + flushParameters() +
+
 o + handleEvent(Event) +
+
 o + loadParams() +
+
+ +

+ Constructors +

+ + o +UserDefinedPanel +
+  public UserDefinedPanel()
+
+ +

+ Methods +

+ o +handleEvent +
+  public boolean handleEvent(Event e)
+
+
+
+
Overrides: +
handleEvent in class Component +
+
+ o +flushParameters +
+  public static void flushParameters()
+
+ o +loadParams +
+  public static void loadParams()
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/blue-ball-small.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/blue-ball-small.gif new file mode 100644 index 0000000..d4c5cde Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/blue-ball-small.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/blue-ball.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/blue-ball.gif new file mode 100644 index 0000000..edc29b7 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/blue-ball.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/class-index.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/class-index.gif new file mode 100644 index 0000000..7f276bc Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/class-index.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/constructor-index.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/constructor-index.gif new file mode 100644 index 0000000..435cac4 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/constructor-index.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/constructors.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/constructors.gif new file mode 100644 index 0000000..d1a6ae5 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/constructors.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/cyan-ball-small.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/cyan-ball-small.gif new file mode 100644 index 0000000..7f74357 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/cyan-ball-small.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/cyan-ball.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/cyan-ball.gif new file mode 100644 index 0000000..97ca1f2 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/cyan-ball.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/error-index.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/error-index.gif new file mode 100644 index 0000000..22835ff Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/error-index.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/exception-index.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/exception-index.gif new file mode 100644 index 0000000..e3830d9 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/exception-index.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/green-ball-small.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/green-ball-small.gif new file mode 100644 index 0000000..17fea5b Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/green-ball-small.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/green-ball.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/green-ball.gif new file mode 100644 index 0000000..71e1b2e Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/green-ball.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/interface-index.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/interface-index.gif new file mode 100644 index 0000000..bf93dda Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/interface-index.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/logo.java-powered.color-transp.55x60.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/logo.java-powered.color-transp.55x60.gif new file mode 100644 index 0000000..530bd65 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/logo.java-powered.color-transp.55x60.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/logo.javasoft.color-trans.251x50.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/logo.javasoft.color-trans.251x50.gif new file mode 100644 index 0000000..eb175ac Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/logo.javasoft.color-trans.251x50.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/magenta-ball-small.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/magenta-ball-small.gif new file mode 100644 index 0000000..bd0584b Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/magenta-ball-small.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/magenta-ball.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/magenta-ball.gif new file mode 100644 index 0000000..5da03b8 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/magenta-ball.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/method-index.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/method-index.gif new file mode 100644 index 0000000..a05e705 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/method-index.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/methods.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/methods.gif new file mode 100644 index 0000000..949e01b Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/methods.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/package-index.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/package-index.gif new file mode 100644 index 0000000..f894d42 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/package-index.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/red-ball-small.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/red-ball-small.gif new file mode 100644 index 0000000..f6b3c37 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/red-ball-small.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/red-ball.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/red-ball.gif new file mode 100644 index 0000000..dca9296 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/red-ball.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/transparent.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/transparent.gif new file mode 100644 index 0000000..f88bb2b Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/transparent.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/variable-index.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/variable-index.gif new file mode 100644 index 0000000..65cc029 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/variable-index.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/variables.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/variables.gif new file mode 100644 index 0000000..e8a7353 Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/variables.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/yellow-ball-small.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/yellow-ball-small.gif new file mode 100644 index 0000000..8e5f57c Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/yellow-ball-small.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/images/yellow-ball.gif b/lib/lilgp/lilgpSetup1.0/javadocs/images/yellow-ball.gif new file mode 100644 index 0000000..2b8c0bb Binary files /dev/null and b/lib/lilgp/lilgpSetup1.0/javadocs/images/yellow-ball.gif differ diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/lilgpSetup.html b/lib/lilgp/lilgpSetup1.0/javadocs/lilgpSetup.html new file mode 100644 index 0000000..f74d58c --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/lilgpSetup.html @@ -0,0 +1,121 @@ + + + + + + + Class lilgpSetup + + + +

+ Class lilgpSetup +

+
+java.lang.Object
+   |
+   +----lilgpSetup
+
+
+
+
public class lilgpSetup +
extends Object +
+The main class that simply instantiates the topmost window +and calls show(). It is also repsponsible for +instantiating the parameter database. +
+
Version: +
0.4.0 10-Feb-97 +
Author: +
Ryan Shoemaker +
See Also: +
MainWindow, ParameterDB +
+
+ +

+ Variable Index +

+
+
 o + arch +
+
 o + endl +
+
 o + mw +
+
 o + params +
+
+

+ Constructor Index +

+
+
 o + lilgpSetup() +
+
+

+ Method Index +

+
+
 o + main(String[]) +
Create the MainWindow and the ParameterDB. +
+ +

+ Variables +

+ o +mw +
+  public static MainWindow mw
+
+ o +params +
+  public static ParameterDB params
+
+ o +arch +
+  public static String arch
+
+ o +endl +
+  public static String endl
+
+ +

+ Constructors +

+ + o +lilgpSetup +
+  public lilgpSetup()
+
+ +

+ Methods +

+ o +main +
+  public static void main(String args[])
+
+
+
Create the MainWindow and the ParameterDB. +
+
Parameters: +
args - the command line arguments (not curently used) +
+
+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/packages.html b/lib/lilgp/lilgpSetup1.0/javadocs/packages.html new file mode 100644 index 0000000..0c8b6e5 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/packages.html @@ -0,0 +1,16 @@ + + + + + + + Package Index + + + +
API User's Guide  Class Hierarchy  Index

+

+Package Index +

+ + diff --git a/lib/lilgp/lilgpSetup1.0/javadocs/tree.html b/lib/lilgp/lilgpSetup1.0/javadocs/tree.html new file mode 100644 index 0000000..7416c2e --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/javadocs/tree.html @@ -0,0 +1,140 @@ + + + + + + + Class Hierarchy + + + +
All Packages  Index

+

+ Class Hierarchy +

+ + + diff --git a/lib/lilgp/lilgpSetup1.0/src/AboutBox.java b/lib/lilgp/lilgpSetup1.0/src/AboutBox.java new file mode 100644 index 0000000..7f9e074 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/AboutBox.java @@ -0,0 +1,92 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + + +import java.awt.*; + +/** + * This class creates a simple dialog frame that is displayed when + * the user selects Help -> About + */ + +class AboutBox extends Dialog { + Label label1; + Button OKButton; + + public AboutBox(Frame parent) { + super(parent, "About", true); + setResizable(false); + setLayout(new BorderLayout()); + setBackground(Color.white); + + Panel tp = new TitlePanel("lilgpSetup"); + add("North", tp); + + Panel p = new Panel(); + p.setLayout(new GridLayout(5, 1)); + + p.add(new Label("Ryan Shoemaker Dr. Bill Punch", Label.CENTER)); + p.add(new Label("Michigan State University", Label.CENTER)); + p.add(new Label("{shoema16, punch}@cps.msu.edu", Label.CENTER)); + p.add(new Label("Version 1.0", Label.CENTER)); + p.add(new Label("15-Mar-97", Label.CENTER)); + + add("Center", p); + OKButton=new Button("OK"); + + Panel p2 = new Panel(); + p2.setLayout(new FlowLayout()); + p2.add(OKButton); + add("South", p2); + resize(250,200); + } + + public boolean handleEvent(Event event) { + if (event.id == Event.ACTION_EVENT && event.target == OKButton) { + this.hide(); + this.dispose(); + return true; + } + else if (event.id == Event.WINDOW_DESTROY) { + this.hide(); + this.dispose(); + return true; + } + return super.handleEvent(event); + } +} + + diff --git a/lib/lilgp/lilgpSetup1.0/src/Assert.java b/lib/lilgp/lilgpSetup1.0/src/Assert.java new file mode 100644 index 0000000..6f47f12 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/Assert.java @@ -0,0 +1,101 @@ +/* SUN MICROSYSTEMS LICENSE AGREEMENT + * + * This is a legal agreement between the purchaser of this book/CD-ROM package + * ("You") and Sun Microsystems, Inc. By opening the sealed CD-ROM you are + * agreeing to be bound by the terms of this agreement. If you do not agree to the + * terms of this agreement, promptly return the unopened book/CD-ROM package to the + * place you obtained it for a full refund. + * + * SOFTWARE LICENSE + * + * 1. Grant of License: Sun Microsystems grants to you ("Licensee") a + * non-exclusive, non-transferable license to use the Sun Microsystems software + * programs included on the CD-ROM without fee. The software is in "use" on a + * computer when it is loaded into the temporary memory (i.e. RAM) or installed + * into the permanent memory (e.g. hard disk, CD-ROM, or other storage device). + * You may network the software or otherwise use it on more than one computer or + * computer terminal at the same time. + * + * 2. Copyright: The CD-ROM is copyrighted by Sun Microsystems, Inc. and is + * protected by United States copyright laws and international treaty provisions. + * Therefore, you must treat the CD-ROM like any other copyrighted material. + * Individual software programs on the CD-ROM are copyrighted by their respective + * owners and may require separate licensing. The Java Development Kit is + * copyrighted by Sun Microsystems, Inc. and is covered by a separate license + * agreement provided on the CD-ROM. + * + * 3. Graphic Java Toolkit (GJT) and Sample Code: Sun Microsystems, Inc. + * grants you a royalty-free right to reproduce and distribute the GJT and sample + * code provided that you: (a) distribute the GJT and sample code only in + * conjunction with and as a part of your software application; (b) do not use Sun + * Microsystems, Inc. or its authors' names, logos, or trademarks to market your + * software product; and (c) agree to indemnify, hold harmless and defend Sun + * Microsystems, Inc. and its authors and suppliers from and against any claims or + * lawsuits, including attorneys fees, that arise or result from the use or + * distribution of your software product. + * + * DISCLAIMER OF WARRANTY + * + * The SOFTWARE (including instructions for its use) is provided "AS IS" WITHOUT + * WARRANTY OF ANY KIND. SUN MICROSYSTEMS and any distributor of the SOFTWARE + * FURTHER DISCLAIM ALL IMPLIED WARRANTIES INCLUDING WITHOUT LIMITATION ANY IMPLIED + * WARRANTIES OF MERCHANTABILITY OR OF FITNESS FOR A PARTICULAR PURPOSE. THE + * ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THE SOFTWARE OR + * DOCUMENTATION REMAINS WITH YOU. + * + * IN NO EVENT SHALL SUN MICROSYSTEMS, ITS AUTHORS, OR ANY ONE ELSE INVOLVED IN THE + * CREATION, PRODUCTION, OR DELIVERY OF THE SOFTWARE BE LIABLE FOR ANY DAMAGES + * WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, + * BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) + * ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE OR DOCUMENTATION, + * EVEN IF SUN MICROSYSTEMS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, + * BECAUSE SOME STATES/COUNTRIES DO NOT ALLOW THE EXCLUSION OF LIMITATION OF + * LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT + * APPLY TO YOU. + * + * U.S. GOVERNMENT RESTRICTED RIGHTS + * + * The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, + * duplication, or disclosure is subject to restrictions as set forth in + * subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software + * clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial + * Computer Software -- Restricted Rights 48 CFR 52.227-19. + * + * Should you have any questions concerning this Agreement, or if you desire to + * contact Sun Microsystems for any reason, please write: Sun Microsystems, Inc., + * 2550 Garcia Avenue, Mountain View, CA 94043. + * + * Copyright: (c) 1997, Sun Microsystems, Inc. + */ + +/** + * A simple assertion mechanism for asserting validity of + * arguments.

+ * + * @version 1.0, Apr 1 1996 + * @author David Geary + */ +class Assert { + static public void notFalse(boolean b) + throws IllegalArgumentException { + if(b == false) + throw new IllegalArgumentException( + "boolean expression false"); + } + static public void notNull(Object obj) + throws IllegalArgumentException { + if(obj == null) + throw new IllegalArgumentException("null argument"); + } + + static public void notFalse(boolean b, String s) + throws IllegalArgumentException { + if(b == false) + throw new IllegalArgumentException(s); + } + static public void notNull(Object obj, String s) + throws IllegalArgumentException { + if(obj == null) + throw new IllegalArgumentException(s); + } +} diff --git a/lib/lilgp/lilgpSetup1.0/src/BreedFrame.java b/lib/lilgp/lilgpSetup1.0/src/BreedFrame.java new file mode 100644 index 0000000..97ad002 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/BreedFrame.java @@ -0,0 +1,157 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * This frame contains a TitlePanel and a GridBagPanel. + * The GridBagPanel contains an array of type PhasePanel + * which actually house all of the UI components for breeding parameter + * input. + * + * @see TitlePanel + * @see GridBagPanel + * @see PhasePanel + */ +class BreedFrame extends Frame { + private TitlePanel tp = new TitlePanel("Phase Parameters"); + private GridBagPanel fip = new GridBagPanel(); + private GroupPanel lp = new GroupPanel("Parameters"); + + private static PhasePanel[] phases; + + private Panel bp = new Panel(); + private Button accept = new Button("Accept"); + private Button cancel = new Button("Cancel"); + + /** + * Add each of the UI components needed to accept input. + * + * @param num the number of breed phases entered by the user + * @see GridBagPanel#addComponent + */ + public BreedFrame( int num ) { + super("Breed Phase Parameters"); + + + // create the label panel + lp.setLayout(new GridLayout(11, 1)); + lp.setBackground(Color.lightGray); + lp.add(new ClickableLabel("operator", true)); + lp.add(new ClickableLabel("selection", true)); + lp.add(new ClickableLabel("cutoff", true)); + lp.add(new ClickableLabel("proportion", true)); + lp.add(new ClickableLabel("size", true)); + lp.add(new ClickableLabel("keep trying", true)); + lp.add(new ClickableLabel("internal", true)); + lp.add(new ClickableLabel("external", true)); + lp.add(new ClickableLabel("method", true)); + lp.add(new ClickableLabel("depth", true)); + lp.add(new ClickableLabel("rate", true)); + fip.addComponent(lp, 0, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + + // create each of the breed[#].operator panels... + phases = new PhasePanel[num]; + for( int i = 0; i < num; i++ ) { + phases[i] = new PhasePanel(i+1); + + fip.addComponent(phases[i], i+1, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + } + + // add some control buttons... + bp.setLayout(new FlowLayout()); + bp.add(accept); + bp.add(cancel); + + setLayout(new BorderLayout()); + add("North", tp); + add("Center", new ComponentScroller(fip)); + add("South", bp); + } + + /** + * Trap Button events. If the Accept button is pressed, + * then hide() the BreedFrame and re-enable the Go + * button on the BreedingPanel. If the Cancel button is + * pressed, then dispose() the frame and re-enable the Go + * button. The Go button is disabled to prevent the user from + * clicking on it several times and therefore instantiating several + * BreedFrames. + * + * @see BreedingPanel + * @see BreedingPanel#enableButtons + */ + public boolean action(Event event, Object arg) { + if (event.target == cancel) { + hide(); + // dispose(); + BreedingPanel.enableButtons(); + return true; + } + else if (event.target == accept) { + // loop through the array of PhasePanels and flush their + // parameters... + for (int i = 0; i < phases.length; i++) { + phases[i].flushParameters(); + } + + hide(); + BreedingPanel.enableButtons(); + return true; + } + + return super.action(event, arg); + } + + /** + * This method is responsible for cycling through each of the phase panels + * and invoking their loadParams() method. + * + * @see PhasePanel#loadParams + */ + public static void loadParams() { + // loop through each of the PhasePanels and call their loadParams() + // method. That's where we actually set the specific UI component + // values. + for(int i = 0; i < phases.length; i++) { + phases[i].loadParams(); + } + } +} + diff --git a/lib/lilgp/lilgpSetup1.0/src/BreedingPanel.java b/lib/lilgp/lilgpSetup1.0/src/BreedingPanel.java new file mode 100644 index 0000000..5f0b20a --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/BreedingPanel.java @@ -0,0 +1,280 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * This panel contains a TitlePanel and a GridBagPanel + * that accepts input for the following lilgp parameters: + *
+ *

  • breed_phases
  • probabilistic_operators

+ * After entering the number of bread phases, the user has to click + * on the Go button in order to enter the additional + * breed phase parameters. Clicking on the Go button causes + * a new BreedFrame to be instantiated. Clicking on the + * purge button causes all of the parameters associated + * with breed phases to be removed from the database. + * + * @see TitlePanel + * @see GridBagPanel + * @see BreedFrame + * @see ParameterDB#purgeOldPhases + */ +class BreedingPanel extends Panel { + private TitlePanel tp = new TitlePanel("Breeding Parameters"); + private GridBagPanel fip = new GridBagPanel(); + private static BreedFrame bf; + + static TextField num_phases = new TextField(10); + private static Choice ops = new Choice(); + + private static int num_phases_int; + private static int old_num_phases = 0; + private Label l1 = new Label("press 'go' after filling in breed phases"); + private Label l2 = new Label("to specifiy additional parameters."); + private Label l3 = new Label("Press 'Purge' to delete current breed"); + private Label l4 = new Label("parameters from the database."); + + // keep this button static so external classes can + // enable and disable it. + private static Button launch = new Button("Go"); + private static Button purge = new Button("Purge"); + + /** + * Add each of the UI components needed to accept input. + * + * @see GridBagPanel#addComponent + */ + public BreedingPanel() { + setLayout(new BorderLayout()); + + // fill-in panel for parameters + fip.setBackground(Color.white); + fip.addComponent(new ClickableLabel("breed_phases"), 0, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(num_phases, 1, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + //Choice ops = new Choice(); + ops.addItem("on"); + ops.addItem("off"); + ops.select(lilgpSetup.params.getProp("probabilistic_operators")); + + fip.addComponent(new ClickableLabel("probabilistic_operators"), 0, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(ops, 1, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + // add a button and a label + Font nf = new Font("TimesRoman", Font.ITALIC, 14); + l1.setFont(nf); + l2.setFont(nf); + l3.setFont(nf); + l4.setFont(nf); + + fip.addComponent(l1, 0, 2, 2, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(l2, 0, 3, 2, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(l3, 0, 4, 2, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(l4, 0, 5, 2, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(launch, 0, 6, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(purge, 1, 6, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + // finally, add the two panels and show them + add("North", tp); + add("Center", fip); + show(); + } + + /** + * Collect the contents of each UI component and store it in the + * ParameterDB. The parameters associated with breed phases + * are flushed into the database in the action() method of + * BreedFrame. + * + * @see ParameterDB + * @see BreedFrame#action + */ + public static void flushParameters() { + String temp_str; + + lilgpSetup.params.addToDB("probabilistic_operators", (ops.getSelectedItem()).trim()); + + temp_str = (num_phases.getText()).trim(); + if (temp_str.length() != 0) + lilgpSetup.params.addToDB("breed_phases", temp_str); + else + lilgpSetup.params.delFromDB("breed_phases"); + } + + /** + * Trap TextField events and Button events. + * If the Go button has been pressed, then extract + * the contents of the field containing the breed_phases + * and parse it for errors. If the number of breed phases + * has not changed since the last time the button was + * pressed, then simply show() the old BreedFrame + * (it will contain any previously entered data). Otherwise, + * instantiate a new BreedFrame containing the + * default values. If the purge button has been pressed, + * then remove all breed phase parameters from the database. + * + * @throws NumberFormatException if bad data + * @see BreedFrame + * @see ParameterDB#purgeOldPhases + */ + public boolean action(Event event, Object arg) { + if (event.target == num_phases) { + launch.requestFocus(); + return true; + } + else if (event.target == launch) { + // the launch button has been pressed, so we need to + // process the contents of the field to make sure it + // contains an integer number. + String phase_string = new String((num_phases.getText()).trim()); + boolean isvalid = true; + + if ( phase_string.length() == 0 ) { + InfoDialog id = new InfoDialog("You must supply the number of breed phases"); + id.show(); + } + else { + try { // to convert the string to an int... + num_phases_int = Integer.parseInt(phase_string); + + if (num_phases_int >= 1) { + // if the user has changed the number of breed phases + // then create a totally new BreedFrame, otherwise just + // show the old one. + if (num_phases_int == old_num_phases) { + launch.disable(); + purge.disable(); + bf.show(); + } + else { + // get rid of the old parameters in the db first. + lilgpSetup.params.purgeOldPhases(); + + old_num_phases = num_phases_int; + + bf = new BreedFrame(num_phases_int); + launch.disable(); + purge.disable(); + + bf.resize(750, 500); + bf.show(); + } + } + } + catch( NumberFormatException e ){ + num_phases.setText(""); + InfoDialog id = new InfoDialog("breed_phases must be an integer greater than 0"); + id.show(); + } + } + } + else if (event.target == purge) { + lilgpSetup.params.purgeOldPhases(); + num_phases.setText(""); + old_num_phases = 0; + } + + return super.action(event, arg); + } + + /** + * Allow the BreedFrame to re-enable the button after the user + * closes the frame. + * + * @see BreedFrame + */ + public static void enableButtons() { + launch.enable(); + purge.enable(); + } + + /** + * This method is responsible for loading parameters onto the BreedingPanel + * after the user opens a parameter file. It then invokes the loadParams + * method in the BreedFrame. + * + * @see BreedFrame#loadParams + */ + public static void loadParams() { + String s = lilgpSetup.params.getProp("breed_phases"); + if (s != null) { + num_phases.setText(s); + + try { + // this should be an int since we've already parsed the parameters + num_phases_int = Integer.parseInt(s); + old_num_phases = num_phases_int; + + // create a new BreedFrame and resize it (but don't show it). + bf = new BreedFrame(num_phases_int); + bf.resize(750, 500); + + // call the loadParams() method in the BreedFrame class + bf.loadParams(); + } + catch( NumberFormatException e ){ + // Do I *really* need this block???? + num_phases.setText(""); + InfoDialog id = new InfoDialog("breed_phases must be an integer greater than 0"); + id.show(); + } + } + else { + num_phases.setText(""); + } + + s = lilgpSetup.params.getProp("probabilistic_operators"); + if (s != null) { + ops.select(s); + } + else { + ops.select("on"); + } + } +} + + diff --git a/lib/lilgp/lilgpSetup1.0/src/BulletinLayout.java b/lib/lilgp/lilgpSetup1.0/src/BulletinLayout.java new file mode 100644 index 0000000..13f34f5 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/BulletinLayout.java @@ -0,0 +1,169 @@ +/* SUN MICROSYSTEMS LICENSE AGREEMENT + * + * This is a legal agreement between the purchaser of this book/CD-ROM package + * ("You") and Sun Microsystems, Inc. By opening the sealed CD-ROM you are + * agreeing to be bound by the terms of this agreement. If you do not agree to the + * terms of this agreement, promptly return the unopened book/CD-ROM package to the + * place you obtained it for a full refund. + * + * SOFTWARE LICENSE + * + * 1. Grant of License: Sun Microsystems grants to you ("Licensee") a + * non-exclusive, non-transferable license to use the Sun Microsystems software + * programs included on the CD-ROM without fee. The software is in "use" on a + * computer when it is loaded into the temporary memory (i.e. RAM) or installed + * into the permanent memory (e.g. hard disk, CD-ROM, or other storage device). + * You may network the software or otherwise use it on more than one computer or + * computer terminal at the same time. + * + * 2. Copyright: The CD-ROM is copyrighted by Sun Microsystems, Inc. and is + * protected by United States copyright laws and international treaty provisions. + * Therefore, you must treat the CD-ROM like any other copyrighted material. + * Individual software programs on the CD-ROM are copyrighted by their respective + * owners and may require separate licensing. The Java Development Kit is + * copyrighted by Sun Microsystems, Inc. and is covered by a separate license + * agreement provided on the CD-ROM. + * + * 3. Graphic Java Toolkit (GJT) and Sample Code: Sun Microsystems, Inc. + * grants you a royalty-free right to reproduce and distribute the GJT and sample + * code provided that you: (a) distribute the GJT and sample code only in + * conjunction with and as a part of your software application; (b) do not use Sun + * Microsystems, Inc. or its authors' names, logos, or trademarks to market your + * software product; and (c) agree to indemnify, hold harmless and defend Sun + * Microsystems, Inc. and its authors and suppliers from and against any claims or + * lawsuits, including attorneys fees, that arise or result from the use or + * distribution of your software product. + * + * DISCLAIMER OF WARRANTY + * + * The SOFTWARE (including instructions for its use) is provided "AS IS" WITHOUT + * WARRANTY OF ANY KIND. SUN MICROSYSTEMS and any distributor of the SOFTWARE + * FURTHER DISCLAIM ALL IMPLIED WARRANTIES INCLUDING WITHOUT LIMITATION ANY IMPLIED + * WARRANTIES OF MERCHANTABILITY OR OF FITNESS FOR A PARTICULAR PURPOSE. THE + * ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THE SOFTWARE OR + * DOCUMENTATION REMAINS WITH YOU. + * + * IN NO EVENT SHALL SUN MICROSYSTEMS, ITS AUTHORS, OR ANY ONE ELSE INVOLVED IN THE + * CREATION, PRODUCTION, OR DELIVERY OF THE SOFTWARE BE LIABLE FOR ANY DAMAGES + * WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, + * BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) + * ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE OR DOCUMENTATION, + * EVEN IF SUN MICROSYSTEMS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, + * BECAUSE SOME STATES/COUNTRIES DO NOT ALLOW THE EXCLUSION OF LIMITATION OF + * LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT + * APPLY TO YOU. + * + * U.S. GOVERNMENT RESTRICTED RIGHTS + * + * The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, + * duplication, or disclosure is subject to restrictions as set forth in + * subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software + * clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial + * Computer Software -- Restricted Rights 48 CFR 52.227-19. + * + * Should you have any questions concerning this Agreement, or if you desire to + * contact Sun Microsystems for any reason, please write: Sun Microsystems, Inc., + * 2550 Garcia Avenue, Mountain View, CA 94043. + * + * Copyright: (c) 1997, Sun Microsystems, Inc. + */ + + +import java.awt.*; + +/** + * Lays out components as though they were pinned to + * a bulletin board.

+ * + * Components are simply reshaped to their location and their + * preferred size. BulletinLayout is preferrable to setting + * a container's layout manager to null and explicitly positioning + * and sizing components.

+ * + * @version 1.0, Apr 1 1996 + * @author David Geary + */ +public class BulletinLayout implements LayoutManager { + public BulletinLayout() { + } + public void addLayoutComponent(String name, Component comp) { + } + public void removeLayoutComponent(Component comp) { + } + public Dimension preferredLayoutSize(Container target) { + Insets insets = target.insets(); + Dimension dim = new Dimension(0,0); + int ncomponents = target.countComponents(); + Component comp; + Dimension d; + Rectangle preferredBounds = new Rectangle(0,0); + Rectangle compPreferredBounds; + + for (int i = 0 ; i < ncomponents ; i++) { + comp = target.getComponent(i); + + if(comp.isVisible()) { + d = comp.preferredSize(); + compPreferredBounds = + new Rectangle(comp.location()); + compPreferredBounds.width = d.width; + compPreferredBounds.height = d.height; + + preferredBounds = + preferredBounds.union(compPreferredBounds); + } + } + dim.width += insets.left + insets.right; + dim.height += insets.top + insets.bottom; + + return dim; + } + public Dimension minimumLayoutSize(Container target) { + Insets insets = target.insets(); + Dimension dim = new Dimension(0,0); + int ncomponents = target.countComponents(); + Component comp; + Dimension d; + Rectangle minimumBounds = new Rectangle(0,0); + Rectangle compMinimumBounds; + + for (int i = 0 ; i < ncomponents ; i++) { + comp = target.getComponent(i); + + if(comp.isVisible()) { + d = comp.minimumSize(); + compMinimumBounds = + new Rectangle(comp.location()); + compMinimumBounds.width = d.width; + compMinimumBounds.height = d.height; + + minimumBounds = + minimumBounds.union(compMinimumBounds); + } + } + dim.width += insets.left + insets.right; + dim.height += insets.top + insets.bottom; + + return dim; + } + public void layoutContainer(Container target) { + Insets insets = target.insets(); + int ncomponents = target.countComponents(); + Component comp; + Dimension ps; + Point loc; + + for (int i = 0 ; i < ncomponents ; i++) { + comp = target.getComponent(i); + + if(comp.isVisible()) { + ps = comp.preferredSize(); + loc = comp.location(); + + comp.reshape(insets.left + loc.x, + insets.top + loc.y, + ps.width, ps.height); + } + } + } +} diff --git a/lib/lilgp/lilgpSetup1.0/src/ClickableLabel.java b/lib/lilgp/lilgpSetup1.0/src/ClickableLabel.java new file mode 100644 index 0000000..1af5b27 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/ClickableLabel.java @@ -0,0 +1,208 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * This class extends Canvas and is used to create a custom + * component that will detect control mouse clicks on a label. It + * simply places a label on a canvas and overrides the necessary + * methods. When a MOUSE_DOWN event occurs on the label, + * a new event is created and delivered. + * + * @see ControlClickEvent + */ +class ClickableLabel extends Canvas { + private String label; + private Insets insets = new Insets(1, 3, 2, 3); + private Point labelLoc = new Point(0,0); + private boolean extraSpace = false; + + /** + * Most classes will use this constructor method. It simply + * assigns the string label. + * + * @param label the string label + */ + public ClickableLabel(String label) { + this.label = label; + } + + /** + * This constructor method is only used by ClickableLabels + * placed in the BreedFrame. + * + * @param label the string label + * @param es specifies that we want extra space around the label + */ + public ClickableLabel(String label, boolean es) { + this.label = label; + extraSpace = es; + } + + /** + * Draw the label on the canvas. + * + * @param g the Graphics objbect + */ + public void paint(Graphics g) { + g.drawString(label, labelLoc.x, labelLoc.y); + } + + /** + * Change the insets + * + * @param insets the new inset values + */ + public void setInsets(Insets insets) { + this.insets = insets; + repaint(); + } + + /** + * Accessor method for the label. + * + * @return the label + */ + public String getLabel() { + return label; + } + + /** + * Specify a new width and height for the label + * + * @param w the width + * @param h the height + */ + public void resize(int w, int h) { + reshape(location().x, location().y, w, h); + } + + /** + * Reshape the label + * + * @param x the x coordinate + * @param y the y coordinate + * @param w the width + * @param h the height + */ + public void reshape(int x, int y, int w, int h) { + super.reshape(x, y, w, h); + labelLoc = labelLocation(getGraphics()); + } + + /** + * Defines the minimum size to be the same the preferred size + * + * @return the dimensions of the preferred size + */ + public Dimension minimumSize() { + return preferredSize(); + } + + /** + * Calculate the preferred size based on the current font settings + * + * @return the dimesions of the preferred size + */ + public Dimension preferredSize() { + FontMetrics fm = getFontMetrics(getFont()); + if (extraSpace == true) { + // a hack to figure out the proper height for the labels on the + // BreedFrame. I would have created a temp TextField here to get + // the right height, but they don't have Dimensions until after + // the call to show(). + Dimension d = BreedingPanel.num_phases.minimumSize(); + + // I need the (1, 3, 2, 3) insets on 'x86' platforms to get the + // correct spacing of the labels, but not on other platforms + // like 'sparc' and 'mips' + if (!lilgpSetup.arch.equals("x86")) { + insets = new Insets(0, 0, 0, 0); + } + + return new Dimension(insets.left + 100 + insets.right, + insets.top + d.height + insets.bottom); + } + else { + return new Dimension(insets.left + fm.stringWidth(label) + insets.right, + insets.top + fm.getHeight() + insets.bottom); + } + } + + /** + * Detect MOUSE_DOWN events and create a new CTRL_CLICK + * event defined in the ControlClickEvent class. + * + * @param event the AWT generated event + * @param x the x coordinate of the mouse location + * @param y the y coordinate of the mouse location + */ + public boolean mouseDown(Event event, int x, int y) { + Event newEvent = new ControlClickEvent(this, event); + + // we're only interested in control-clicks + if(event.modifiers == Event.CTRL_MASK) { + System.out.println("Help request for: " + getLabel()); + deliverEvent(newEvent); + } + + return true; + } + + /** + * Create the event argument + */ + protected String paramString() { + return super.paramString() + ",text=" + label; + } + + /** + * Calculate the starting location of the string based + * on the current font settings. + * + * @return the starting point + */ + private Point labelLocation(Graphics g) { + Dimension size = size(); + FontMetrics fm = g.getFontMetrics(); + + int x = (size.width/2) - (fm.stringWidth(label)/2); + int y = (size.height/2) + (fm.getAscent()/2) - + fm.getLeading(); + return new Point(x,y); + } +} diff --git a/lib/lilgp/lilgpSetup1.0/src/ComponentScroller.java b/lib/lilgp/lilgpSetup1.0/src/ComponentScroller.java new file mode 100644 index 0000000..b214613 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/ComponentScroller.java @@ -0,0 +1,110 @@ +/* SUN MICROSYSTEMS LICENSE AGREEMENT + * + * This is a legal agreement between the purchaser of this book/CD-ROM package + * ("You") and Sun Microsystems, Inc. By opening the sealed CD-ROM you are + * agreeing to be bound by the terms of this agreement. If you do not agree to the + * terms of this agreement, promptly return the unopened book/CD-ROM package to the + * place you obtained it for a full refund. + * + * SOFTWARE LICENSE + * + * 1. Grant of License: Sun Microsystems grants to you ("Licensee") a + * non-exclusive, non-transferable license to use the Sun Microsystems software + * programs included on the CD-ROM without fee. The software is in "use" on a + * computer when it is loaded into the temporary memory (i.e. RAM) or installed + * into the permanent memory (e.g. hard disk, CD-ROM, or other storage device). + * You may network the software or otherwise use it on more than one computer or + * computer terminal at the same time. + * + * 2. Copyright: The CD-ROM is copyrighted by Sun Microsystems, Inc. and is + * protected by United States copyright laws and international treaty provisions. + * Therefore, you must treat the CD-ROM like any other copyrighted material. + * Individual software programs on the CD-ROM are copyrighted by their respective + * owners and may require separate licensing. The Java Development Kit is + * copyrighted by Sun Microsystems, Inc. and is covered by a separate license + * agreement provided on the CD-ROM. + * + * 3. Graphic Java Toolkit (GJT) and Sample Code: Sun Microsystems, Inc. + * grants you a royalty-free right to reproduce and distribute the GJT and sample + * code provided that you: (a) distribute the GJT and sample code only in + * conjunction with and as a part of your software application; (b) do not use Sun + * Microsystems, Inc. or its authors' names, logos, or trademarks to market your + * software product; and (c) agree to indemnify, hold harmless and defend Sun + * Microsystems, Inc. and its authors and suppliers from and against any claims or + * lawsuits, including attorneys fees, that arise or result from the use or + * distribution of your software product. + * + * DISCLAIMER OF WARRANTY + * + * The SOFTWARE (including instructions for its use) is provided "AS IS" WITHOUT + * WARRANTY OF ANY KIND. SUN MICROSYSTEMS and any distributor of the SOFTWARE + * FURTHER DISCLAIM ALL IMPLIED WARRANTIES INCLUDING WITHOUT LIMITATION ANY IMPLIED + * WARRANTIES OF MERCHANTABILITY OR OF FITNESS FOR A PARTICULAR PURPOSE. THE + * ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THE SOFTWARE OR + * DOCUMENTATION REMAINS WITH YOU. + * + * IN NO EVENT SHALL SUN MICROSYSTEMS, ITS AUTHORS, OR ANY ONE ELSE INVOLVED IN THE + * CREATION, PRODUCTION, OR DELIVERY OF THE SOFTWARE BE LIABLE FOR ANY DAMAGES + * WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, + * BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) + * ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE OR DOCUMENTATION, + * EVEN IF SUN MICROSYSTEMS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, + * BECAUSE SOME STATES/COUNTRIES DO NOT ALLOW THE EXCLUSION OF LIMITATION OF + * LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT + * APPLY TO YOU. + * + * U.S. GOVERNMENT RESTRICTED RIGHTS + * + * The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, + * duplication, or disclosure is subject to restrictions as set forth in + * subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software + * clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial + * Computer Software -- Restricted Rights 48 CFR 52.227-19. + * + * Should you have any questions concerning this Agreement, or if you desire to + * contact Sun Microsystems for any reason, please write: Sun Microsystems, Inc., + * 2550 Garcia Avenue, Mountain View, CA 94043. + * + * Copyright: (c) 1997, Sun Microsystems, Inc. + */ + +import java.awt.*; + +/** + * Scrolls any component. Component to be scrolled may be a + * container, so ultimately many components may be scrolled + * at once.

+ * + * Component to be scrolled may be specified at construction + * time, or may be set after construction via + * void setComponent(Component).

+ * + * @version 1.0, Apr 1 1996 + * @author David Geary + * @see BulletinLayout + * @see Scroller + * @see ScrollerLayout + * @see ImageScroller + * @see gjt.test.ComponentScrollerTest + */ +public class ComponentScroller extends Scroller { + private Component scrollMe; + + public ComponentScroller() { + } + public ComponentScroller(Component component) { + setComponent(component); + } + public void setComponent(Component component) { + scrollMe = component; + viewport.setLayout(new BulletinLayout()); + viewport.add (scrollMe); + viewport.move (0,0); + } + public void scrollTo(int x, int y) { + scrollMe.move(-x,-y); + } + public Dimension getScrollAreaSize() { + return scrollMe.preferredSize(); + } +} diff --git a/lib/lilgp/lilgpSetup1.0/src/ControlClickEvent.java b/lib/lilgp/lilgpSetup1.0/src/ControlClickEvent.java new file mode 100644 index 0000000..5084fd9 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/ControlClickEvent.java @@ -0,0 +1,68 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * This class creates a custom event for the ClickableLabel class. + * + * @see ClickablLabel + */ +class ControlClickEvent extends Event { + public static final int CTRL_CLICK = 1; + + /** + * Create a new event, but set the id field to -1 so that + * our custom event is not mistaken for something else when it + * propagates into other components + */ + public ControlClickEvent(Object target, + Event event) { + super(target, event.when, event.id, event.x, event.y, + event.key, event.modifiers, event.arg); + + id = -1; + } + + /** + * Construct the argument field. + */ + protected String paramString() { + String typeString = new String("CTRL_CLICK"); + + return super.paramString() + typeString; + } +} diff --git a/lib/lilgp/lilgpSetup1.0/src/ControlPanel.java b/lib/lilgp/lilgpSetup1.0/src/ControlPanel.java new file mode 100644 index 0000000..2fa1a6d --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/ControlPanel.java @@ -0,0 +1,130 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * Create a panel that contains a button for each of the parameter + * panels. Clicking on the buttons will cause the CardLayout manager + * in the IndexPanel to flip to the appropriate panel. + * + * @see IndexPanel + */ +class ControlPanel extends Panel { + // The button names correspond to the names of the 'cards' in the + // IndexPanel, so make sure that they are exactly the same! + private Button generalButton = new Button("General"); + private Button outputButton = new Button("Output"); + private Button limitsButton = new Button("Limits"); + private Button initButton = new Button("Init"); + private Button breedingButton = new Button("Breeding"); + private Button subpopsButton = new Button("Sub.Pops"); + private Button userdefinedButton = new Button("User Defined"); + private Button compileButton = new Button("Compile"); + + /** + * Create a new GridLayout manager and add the buttons. + */ + public ControlPanel() { + setLayout(new GridLayout(8,1)); + setBackground(Color.lightGray); + + add(generalButton); + add(outputButton); + add(limitsButton); + add(initButton); + add(breedingButton); + add(subpopsButton); + add(userdefinedButton); + add(compileButton); + + show(); + } + + /** + * Trap button clicks in the ControlPanel and flip to the + * appropriate card in the IndexPanel. + */ + public boolean action(Event evt, Object arg) { + // I'm not sure why Cornell & Horstmann use this conditional to check + // for a button press, but I'll leave it here for now.... + // if (evt.target instanceof Component && ((Component)evt.target).getParent().equals(this)) { + if (evt.target instanceof Button) { + // Collect all of the parameters... + if (evt.target == compileButton) { + flushAllPanels(); + + // parse parameters for errors + lilgpSetup.params.parse(); + lilgpSetup.params.displayErrors(); + + return true; + } + // or flip to the selected panel.. + else if ((evt.target == generalButton) || (evt.target == outputButton) || + (evt.target == limitsButton) || (evt.target == initButton) || + (evt.target == breedingButton) || (evt.target == subpopsButton) || + (evt.target == userdefinedButton)) + IndexPanel.fliptoPanel(arg); + return true; + } + + return super.action(evt, arg); + } + + /** + * Call the flushParameters() method in each of the + * parameter classes. + * + * @see GeneralPanel#flushParameters + * @see OutputPanel#flushParameters + * @see SizeLimitsPanel#flushParameters + * @see InitializationPanel#flushParameters + * @see BreedingPanel#flushParameters + * @see SubPopsPanel#flushParameters + */ + public void flushAllPanels() { + GeneralPanel.flushParameters(); + OutputPanel.flushParameters(); + SizeLimitsPanel.flushParameters(); + InitializationPanel.flushParameters(); + BreedingPanel.flushParameters(); + SubPopsPanel.flushParameters(); + UserDefinedPanel.flushParameters(); + } +} + + diff --git a/lib/lilgp/lilgpSetup1.0/src/ErrorFrame.java b/lib/lilgp/lilgpSetup1.0/src/ErrorFrame.java new file mode 100644 index 0000000..6f2b23b --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/ErrorFrame.java @@ -0,0 +1,97 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; +import java.util.*; + +/** + * Create a frame that contains a text area to display the error + * messages in and a button that will destroy the frame. + * + * @see ParameterDB#addComment + * @see ParameterDB#addWarning + * @see ParameterDB#addError + */ +class ErrorFrame extends Frame { + TextArea errorList = new TextArea(20, 65); + Button dismiss = new Button("Dismiss"); + public static boolean isAlive = false; + + public ErrorFrame(Vector errors) { + super("Error List"); + isAlive = true; + TitlePanel tp = new TitlePanel("Error List"); + + Panel bp = new Panel(); + + for (int i = 0; i < errors.size(); i++) { + errorList.appendText((String)errors.elementAt(i) + "\n"); + } + + errorList.setEditable(false); + errorList.setBackground(Color.white); + + bp.setLayout(new FlowLayout()); + bp.setBackground(Color.white); + bp.add(dismiss); + + add("North", tp); + add("Center", errorList); + add("South", bp); + pack(); + show(); + } + + /** + * Erase the contents of the text area and show the new errors + */ + public void updateErrors(Vector errors) { + errorList.setText(""); + for (int i = 0; i < errors.size(); i++) { + errorList.appendText((String)errors.elementAt(i) + "\n"); + } + } + + public boolean action(Event event, Object arg) { + if (event.target == dismiss) { + isAlive = false; + hide(); + dispose(); + return true; + } + return super.action(event, arg); + } +} diff --git a/lib/lilgp/lilgpSetup1.0/src/Exchange.java b/lib/lilgp/lilgpSetup1.0/src/Exchange.java new file mode 100644 index 0000000..f2d42eb --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/Exchange.java @@ -0,0 +1,85 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +/** + * This class defines the structure of a sub-pop exchange. It contains fields + * for the following lil-gp parameters: + *

  • exch[#].from + *
  • exch[#].fromselect + *
  • exch[#].to + *
  • exch[#].toselect + *
  • exch[#].count

+ * + * It also stores the key value used when these objects are hashed. + * + * @see SubPopFrame + */ +class Exchange { + public String fromPop; + public String toPop; + public String count; + public String fromSelect; + public String toSelect; + + public String key; + + /** + * This constructor allows you to specify each field of the object + */ + public Exchange(String fp, String tp, String c, String fs, String ts, String k) { + // these should never throw a NumberFormatException since + // the values are coming from a choice. + fromPop = new String(fp); + toPop = new String(tp); + count = new String(c); + fromSelect = new String(fs); + toSelect = new String(ts); + key = new String(k); + } + + /** + * This constructor allows you to create a new exchange from an existing one + */ + public Exchange(Exchange e) { + fromPop = new String(e.fromPop); + toPop = new String(e.toPop); + count = new String(e.count); + fromSelect = new String(e.fromSelect); + toSelect = new String(e.toSelect); + key = new String(e.key); + } + +} diff --git a/lib/lilgp/lilgpSetup1.0/src/GeneralPanel.java b/lib/lilgp/lilgpSetup1.0/src/GeneralPanel.java new file mode 100644 index 0000000..561514a --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/GeneralPanel.java @@ -0,0 +1,177 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * This panel contains a TitlePanel and a GridBagPanel + * that accepts input for the following lilgp parameters: + *
+ *
  • max_gen + *
  • pop_size + *
  • rand_seed + *
+ * + * @see TitlePanel + * @see GridBagPanel + */ +class GeneralPanel extends Panel { + private TitlePanel tp = new TitlePanel("General Parameters"); + private GridBagPanel fip = new GridBagPanel(); + + private static TextField max_gen = new TextField(10); + private static TextField pop_size = new TextField(10); + private static TextField rand_seed = new TextField(lilgpSetup.params.getProp("random_seed"), 10); + + /** + * Add each of the UI components needed to accept input. + * + * @see GridBagPanel#addComponent + */ + public GeneralPanel() { + setLayout(new BorderLayout()); + + // fill-in panel for parameters + fip.setBackground(Color.white); + + fip.addComponent(new ClickableLabel("max_generations"), 0, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(max_gen, 1, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + fip.addComponent(new ClickableLabel("pop_size"), 0, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(pop_size, 1, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + fip.addComponent(new ClickableLabel("random_seed"), 0, 2, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(rand_seed, 1, 2, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + // finally, add the two panels and show them + add("North", tp); + add("Center", fip); + show(); + } + + /** + * Collect the contents of each UI component and store it in the + * ParameterDB. + * + * @see ParameterDB + */ + public static void flushParameters() { + String tmp_str; + + // collect the parameters + // only add them to the database if they contain data + // if they don't contain any data, then delete any old + // values left in the database. + tmp_str = (max_gen.getText()).trim(); + if ( tmp_str.length() != 0 ) + lilgpSetup.params.addToDB("max_generations", tmp_str); + else + lilgpSetup.params.delFromDB("max_generations"); + + tmp_str = (pop_size.getText()).trim(); + if ( tmp_str.length() != 0 ) + lilgpSetup.params.addToDB("pop_size", tmp_str); + else + lilgpSetup.params.delFromDB("pop_size"); + + tmp_str = (rand_seed.getText()).trim(); + if ( tmp_str.length() != 0 ) + lilgpSetup.params.addToDB("random_seed", tmp_str); + else + lilgpSetup.params.delFromDB("random_seed"); + } + + /** + * Trap TextField events and send the focus to the + * next field on the panel. + */ + public boolean action(Event event, Object arg) { + if (event.target == max_gen) { + pop_size.requestFocus(); + return true; + } + else if (event.target == pop_size) { + rand_seed.requestFocus(); + return true; + } + else if (event.target == rand_seed) { + max_gen.requestFocus(); + return true; + } + + return super.action(event, arg); + } + + /** + * This method is responsible for loading parameters onto the GeneralPanel + * after the user opens a parameter file. + * + */ + public static void loadParams() { + String s = lilgpSetup.params.getProp("max_generations"); + if (s != null) { + max_gen.setText(s); + } + else { + max_gen.setText(""); + } + + s = lilgpSetup.params.getProp("pop_size"); + if (s != null) { + pop_size.setText(s); + } + else { + pop_size.setText(""); + } + + s = lilgpSetup.params.getProp("random_seed"); + if (s != null) { + rand_seed.setText(s); + } + else { + rand_seed.setText(""); + } + } + +} + + diff --git a/lib/lilgp/lilgpSetup1.0/src/GridBagPanel.java b/lib/lilgp/lilgpSetup1.0/src/GridBagPanel.java new file mode 100644 index 0000000..413a7f7 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/GridBagPanel.java @@ -0,0 +1,101 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * This class is simply a Panel that is managed + * by the GridBagLayout manager. + */ +class GridBagPanel extends Panel { + private GridBagLayout layout; + private GridBagConstraints constraints; + private Panel p; + private boolean border = true; + + /** + * Instantiate a new Panel and set its layout + * manager to be GridBagLayout. + */ + public GridBagPanel() { + setLayout(new BorderLayout()); + + p = new Panel(); + layout = new GridBagLayout(); + p.setLayout(layout); + constraints = new GridBagConstraints(); + + add("Center", p); + } + + /** + * A generic method that allows you to add a Component to the + * GridBagPanel and specify all of the GridBagConstraints + * at the same time. Each component has a default Inset setting + * of (3, 1, 3, 1). + * + * @param component the component being added to the Panel + * @param gx the gridx constraint + * @param gy the gridy constraint + * @param gw the grid width constraint + * @param gh the grid height constraint + * @param wx the weightx constraint + * @param wy the weighty constraint + * @param fill the fill constraint + * @param anchor the anchor constraint + */ + public void addComponent(Component component, int gx, int gy, int gw, int gh, + int wx, int wy, int fill, int anchor) + { + // fill in the constraints + constraints.gridx = gx; + constraints.gridy = gy; + constraints.gridwidth = gw; + constraints.gridheight = gh; + constraints.weightx = wx; + constraints.weighty = wy; + constraints.fill = fill; + constraints.anchor = anchor; + + // give a 3 pixel margin on top & bottom of each component + constraints.insets = new Insets(3, 1, 3, 1); + + // set the constraints and add the component + layout.setConstraints(component, constraints); + p.add(component); + } +} + diff --git a/lib/lilgp/lilgpSetup1.0/src/GroupPanel.java b/lib/lilgp/lilgpSetup1.0/src/GroupPanel.java new file mode 100644 index 0000000..89d5675 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/GroupPanel.java @@ -0,0 +1,120 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * Create a panel that allows you to organize related components + * on a panel surrounded by a raised border. It also allows you + * to specify a group title. + */ + +class GroupPanel extends Panel { + private boolean raised = true; + private String title; + private FontMetrics fm; + + /** + * Create a new object and assign the title string + */ + public GroupPanel(String title) { + this.title = title; + } + + /** + * Set the background color + * + * @param c the background color + */ + public synchronized void setBackground(Color c) { + super.setBackground(c); + repaint(); + } + + public void addNotify() { + super.addNotify(); + fm = getFontMetrics(getFont()); + } + + /** + * Create new insets + */ + public Insets insets() { + return new Insets(fm.getHeight()+5, 5, 5, 5); + } + + /** + * Paint the border around the group + * + * param g the graphics object + */ + public void paint(Graphics g) { + super.paint(g); + + int y = fm.getAscent()/2; + int w = size().width-2; + int h = size().height-2-y; + Color c1 = getBackground().brighter().brighter().brighter(); + Color c2 = getBackground().darker().darker().darker(); + + g.setColor(c1); + g.drawRect(0,y,w,h); + g.setColor(c2); + g.drawRect(1,y+1,w,h); + + paintTitle(g); + } + + /** + * Paint the group title + * + * @param g the graphics object + */ + void paintTitle(Graphics g) { + // Calculate the boundary + int w = size().width; + int text_width = fm.stringWidth(title); + int x = w/2 - text_width/2; + int y = fm.getAscent(); + + g.setColor(getBackground()); + g.fillRect(x-2,0,text_width+4,fm.getHeight()); + g.setColor(getForeground()); + g.drawString(title,x,y); + } +} + + diff --git a/lib/lilgp/lilgpSetup1.0/src/IndexPanel.java b/lib/lilgp/lilgpSetup1.0/src/IndexPanel.java new file mode 100644 index 0000000..6e9edcf --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/IndexPanel.java @@ -0,0 +1,84 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * Create an index panel that uses the CardLayout manager + * to store the six different parameter panels. Clicking + * on a button in the ControlPanel will cause a new card + * to be displayed. + * + * @see ControlPanel + */ +class IndexPanel extends Panel { + static CardLayout layout = new CardLayout(); + static Panel p = new Panel(); + + /** + * Instantiate each of the parameter panels and add them to the + * CardLayout manager in the IndexPanel. + */ + public IndexPanel() { + setLayout(new BorderLayout()); + p.setLayout(layout); + + // make sure that the panel names match the button names + // in the ControlPanel. + p.add("General", new GeneralPanel()); + p.add("Output", new OutputPanel()); + p.add("Limits", new SizeLimitsPanel()); + p.add("Init", new InitializationPanel()); + p.add("Breeding", new BreedingPanel()); + p.add("Sub.Pops", new SubPopsPanel()); + p.add("User Defined", new UserDefinedPanel()); + p.setBackground(Color.white); + add("Center", p); + show(); + } + + /** + * This static class method allows the event handler in the + * ControlPanel to trigger a card flip. + * + * @param arg the button label + */ + public static void fliptoPanel(Object arg) { + layout.show(p, (String)arg); + } +} + + diff --git a/lib/lilgp/lilgpSetup1.0/src/InfoDialog.java b/lib/lilgp/lilgpSetup1.0/src/InfoDialog.java new file mode 100644 index 0000000..356aa8b --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/InfoDialog.java @@ -0,0 +1,79 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * A simple non-modal dialog frame used to convey error messages + */ +class InfoDialog extends Dialog { + private Button button; + private static boolean isAlive = false; + + public InfoDialog( String msg ) { + super(lilgpSetup.mw, "Error Dialog", false); + + if (!isAlive) { + isAlive = true; + + Panel p = new Panel(); + + p.setLayout(new FlowLayout()); + p.add(new Button("Ok")); + + setLayout(new BorderLayout()); + add("Center", new Label(msg, Label.CENTER)); + add("South", p); + + resize(350, 150); + show(); + } + else { + dispose(); + } + } + + public boolean action(Event e, Object arg) { + if (e.target instanceof Button) { + isAlive = false; + hide(); + dispose(); + return true; + } + else return false; + } +} + diff --git a/lib/lilgp/lilgpSetup1.0/src/InitializationPanel.java b/lib/lilgp/lilgpSetup1.0/src/InitializationPanel.java new file mode 100644 index 0000000..2c93612 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/InitializationPanel.java @@ -0,0 +1,174 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * This panel contains a TitlePanel and a GridBagPanel + * that accepts input for the following lilgp parameters: + *
+ *
  • init.method
  • init.depth
  • init.random_attempts
+ *

+ * It does not currently support the input of: + *
+ *

  • init.tree[#].method
  • init.tree[#].depth
+ * + * @see TitlePanel + * @see GridBagPanel + */ +class InitializationPanel extends Panel { + private TitlePanel tp = new TitlePanel("Tree Initialization Parameters"); + private GridBagPanel fip = new GridBagPanel(); + + private static TextField depth = new TextField("2-6", 10); + private static TextField rand_atmp = new TextField("100", 10); + private static Choice method = new Choice(); + + /** + * Add each of the UI components needed to accept input. + * + * @see GridBagPanel#addComponent + */ + public InitializationPanel() { + setLayout(new BorderLayout()); + + // setup the method menu + method.addItem("half_and_half"); + method.addItem("full"); + method.addItem("grow"); + + fip.addComponent(new ClickableLabel("init.method"), 0, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(method, 1, 0, 1, 1, 0, 0, + GridBagConstraints.HORIZONTAL, GridBagConstraints.CENTER); + + fip.addComponent(new ClickableLabel("init.depth"), 0, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(depth, 1, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + // don't forget the random_attempts.... + fip.setBackground(Color.white); + fip.addComponent(new ClickableLabel("init.random_attempts"), 0, 2, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(rand_atmp, 1, 2, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + // finally, add the two panels and show them + add("North", tp); + add("Center", fip); + show(); + } + + /** + * Collect the contents of each UI component and store it in the + * ParameterDB. + * + * @see ParameterDB + */ + public static void flushParameters() { + String temp_str; + + lilgpSetup.params.addToDB("init.method", (method.getSelectedItem()).trim()); + + temp_str = (depth.getText()).trim(); + if (temp_str.length() != 0) + lilgpSetup.params.addToDB("init.depth", temp_str); + else + lilgpSetup.params.delFromDB("init.depth"); + + temp_str = (rand_atmp.getText()).trim(); + if (temp_str.length() != 0) + lilgpSetup.params.addToDB("init.random_attempts", temp_str); + else + lilgpSetup.params.delFromDB("init.random_attempts"); + } + + /** + * Trap TextField events and send the focus to the + * next field on the panel. + */ + public boolean action(Event event, Object arg) { + if (event.target == method) { + // leave the 'method' pull down menu out of + // the focus cycle. + return true; + } + else if (event.target == depth) { + rand_atmp.requestFocus(); + return true; + } + else if (event.target == rand_atmp) { + depth.requestFocus(); + return true; + } + + return super.action(event, arg); + } + + /** + * This method is responsible for loading parameters onto the InitializationPanel + * after the user opens a parameter file. + * + */ + public static void loadParams() { + String s = lilgpSetup.params.getProp("init.method"); + if (s != null) { + method.select(s); + } + else { + method.select("half_and_half"); + } + + s = lilgpSetup.params.getProp("init.depth"); + if (s != null) { + depth.setText(s); + } + else { + depth.setText(""); + } + + s = lilgpSetup.params.getProp("init.random_attempts"); + if (s != null) { + rand_atmp.setText(s); + } + else { + rand_atmp.setText(""); + } + } +} + + diff --git a/lib/lilgp/lilgpSetup1.0/src/MainWindow.java b/lib/lilgp/lilgpSetup1.0/src/MainWindow.java new file mode 100644 index 0000000..8c1d68a --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/MainWindow.java @@ -0,0 +1,246 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; +import java.util.StringTokenizer; +import java.io.IOException; + +/** + * This class is responsible for creating all of the menus + * and instantiating a ControlPanel and an IndexPanel. + * + * @see ControlPanel + * @see IndexPanel + */ +class MainWindow extends Frame { + Menu fileMenu; + Menu helpMenu; + private static String lastFileName = new String("input.file"); + + public ControlPanel cp; + public IndexPanel ip; + /** + * Constructs the menus and two sub-panels. + */ + public MainWindow() { + super("lilgpSetup"); + + MenuBar mb = new MenuBar(); + fileMenu = new Menu("File"); + fileMenu.add(new MenuItem("Open...")); + fileMenu.add(new MenuItem("Save As...")); + fileMenu.addSeparator(); + fileMenu.add(new MenuItem("Exit")); + mb.add(fileMenu); + helpMenu = new Menu("Help"); + helpMenu.add(new MenuItem("lilgpHelp...")); + helpMenu.add(new MenuItem("About...")); + mb.add(helpMenu); + setMenuBar(mb); + + setLayout(new BorderLayout()); + addNotify(); + + cp = new ControlPanel(); + ip = new IndexPanel(); + + add("West", cp); + add("Center", ip); + + resize(450,450); + show(); + } + + public synchronized void show() { + move(50, 50); + super.show(); + } + + public boolean handleEvent(Event event) { + if (event.id == Event.WINDOW_DESTROY) { + hide(); // hide the Frame + dispose(); // tell windowing system to free resources + System.exit(0); // exit + return true; + } + return super.handleEvent(event); + } + + /** + * Trap menu events and call the appropriate method. + * + * @see MainWindow#selectedAbout + * @see MainWindow#selectedExit + * @see MainWindow#selectedOpen + * @see MainWindow#selectedSaveAs + */ + public boolean action(Event event, Object arg) { + if (event.target instanceof MenuItem) { + String label = (String) arg; + if (label.equalsIgnoreCase("About...")) { + selectedAbout(); + return true; + } else if (label.equalsIgnoreCase("lilgpHelp...")) { + selectedHelp(); + return true; + } else if (label.equalsIgnoreCase("Exit")) { + selectedExit(); + return true; + } else if (label.equalsIgnoreCase("Open...")) { + selectedOpen(); + return true; + } else if (label.equalsIgnoreCase("Save As...")) { + selectedSaveAs(); + //return true; + return super.action(event, arg); + } + } + return super.action(event, arg); + } + + /** + * This method is called when the user selects File -> Open + */ + public void selectedOpen() { + FileDialog fd = new FileDialog(this, "Open...", FileDialog.LOAD); + fd.setDirectory("."); + fd.setFile(lastFileName); + fd.show(); + + // show() will not return until the user is finished with the dialog + + if (fd.getFile() != null) { + try { + String filename = new String(fd.getDirectory() + fd.getFile()); + lastFileName = new String(filename); + lilgpSetup.params.open(filename); + } + catch(IOException e) { + System.err.println(e); + } + } + } + + /** + * This method is called when the user selects File -> SaveAs + */ + public void selectedSaveAs() { + String contents; + String filename; + StringTokenizer st; + StringBuffer sb; + boolean cont; + boolean first; + FileDialog fd = new FileDialog(this, "Save As...", FileDialog.SAVE); + fd.setDirectory("."); + fd.setFile(lastFileName); + fd.show(); + + // show() will not return until the user is finished with the dialog + + + if (fd.getFile() != null) { + contents = new String(fd.getDirectory() + fd.getFile()); + + // this whole mess is a bug-workaround. For some reason, getFile() + // adds a "*.*" on the end of the filename after a save as option on + // Win95. So, I tokenize the file name and strip off the "*.*" if + // it exists. + if (contents.endsWith("*.*")) { + sb = new StringBuffer(); + st = new StringTokenizer(contents, ".", false); + cont = true; + first = true; + while (cont) { + String temp = st.nextToken(); + if (temp.equals("*")) { + cont = false; + } + else { + if (!first) sb.append("."); + sb.append(temp); + } + first = false; + } + + filename = new String(sb.toString()); + } + else { + // we have a normal, well behaved FileDialog + filename = new String(contents); + } + + lastFileName = new String(filename); + // now that we have a decent filename, try to save it. + // Note: the save() method will determine if the user + // is allowed to save the file after parsing all of the + // data.... + try { + lilgpSetup.params.save(filename); + } + catch (IOException e) { + System.err.println("Error: " + e); + } + } + } + + /** + * Open a dialog that asks the user if they really want to quit. + */ + public void selectedExit() { + QuitBox theQuitBox; + theQuitBox = new QuitBox(this); + theQuitBox.show(); + } + + /** + * Show the user who wrote the software and who his advisor is + */ + public void selectedAbout() { + AboutBox theAboutBox; + theAboutBox = new AboutBox(this); + theAboutBox.show(); + } + + /** + * Open the lilgpHelp subsystem. + */ + public void selectedHelp() { + // trigger Dave's help system. + } +} + + diff --git a/lib/lilgp/lilgpSetup1.0/src/OutputPanel.java b/lib/lilgp/lilgpSetup1.0/src/OutputPanel.java new file mode 100644 index 0000000..5062497 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/OutputPanel.java @@ -0,0 +1,298 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * This panel contains a TitlePanel and a GridBagPanel + * that accepts input for the following lilgp parameters: + *
+ *
  • output.basename + *
  • output.detail + *
  • output.stt_interval + *
  • output.bestn + *
  • output.digits + *
  • checkpoint.interval + *
  • checkpoint.filename + *
  • checkpoint.compress + *
. + * + * @see TitlePanel + * @see GridBagPanel + */ +class OutputPanel extends Panel { + private TitlePanel tp = new TitlePanel("Output Parameters"); + private GridBagPanel fip = new GridBagPanel(); + + private static TextField basename = new TextField(lilgpSetup.params.getProp("output.basename"), 15); + private static TextField detail = new TextField(lilgpSetup.params.getProp("output.detail"), 10); + private static TextField stt_int = new TextField(lilgpSetup.params.getProp("output.stt_interval"), 10); + private static TextField bestn = new TextField(lilgpSetup.params.getProp("output.bestn"), 10); + private static TextField digits = new TextField(lilgpSetup.params.getProp("output.digits"), 10); + private static TextField ck_int = new TextField(10); + private static TextField filename = new TextField(lilgpSetup.params.getProp("checkpoint.filename"), 15); + private static TextField compress = new TextField(15); + + /** + * Add each of the UI components needed to accept input. + * + * @see GridBagPanel#addComponent + */ + public OutputPanel() { + setLayout(new BorderLayout()); + + // fill-in panel for parameters + fip.setBackground(Color.white); + fip.addComponent(new ClickableLabel("output.basename"), 0, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(basename, 1, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + fip.addComponent(new ClickableLabel("output.detail"), 0, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(detail, 1, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + fip.addComponent(new ClickableLabel("output.stt_interval"), 0, 2, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(stt_int, 1, 2, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + fip.addComponent(new ClickableLabel("output.bestn"), 0, 3, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(bestn, 1, 3, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + fip.addComponent(new ClickableLabel("output.digits"), 0, 4, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(digits, 1, 4, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + // add some sort of horizontal divider here!!! + + fip.addComponent(new ClickableLabel("checkpoint.interval"), 0, 5, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(ck_int, 1, 5, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + fip.addComponent(new ClickableLabel("checkpoint.filename"), 0, 6, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(filename, 1, 6, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + fip.addComponent(new ClickableLabel("checkpoint.compress"), 0, 7, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(compress, 1, 7, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + + // finally, add the two panels and show them + add("North", tp); + add("Center", fip); + show(); + } + + /** + * Collect the contents of each UI component and store it in the + * ParameterDB. + * + * @see ParameterDB + */ + public static void flushParameters() { + String temp_str; + + temp_str = (basename.getText()).trim(); + if( temp_str.length() != 0 ) + lilgpSetup.params.addToDB("output.basename", temp_str); + else + lilgpSetup.params.delFromDB("output.basename"); + + temp_str = (detail.getText()).trim(); + if( temp_str.length() != 0 ) + lilgpSetup.params.addToDB("output.detail", temp_str); + else + lilgpSetup.params.delFromDB("output.detail"); + + temp_str = (stt_int.getText()).trim(); + if( temp_str.length() != 0 ) + lilgpSetup.params.addToDB("output.stt_interval", temp_str); + else + lilgpSetup.params.delFromDB("output.stt_interval"); + + temp_str = (bestn.getText()).trim(); + if( temp_str.length() != 0 ) + lilgpSetup.params.addToDB("output.bestn", temp_str); + else + lilgpSetup.params.delFromDB("output.bestn"); + + temp_str = (digits.getText()).trim(); + if( temp_str.length() != 0 ) + lilgpSetup.params.addToDB("output.digits", temp_str); + else + lilgpSetup.params.delFromDB("output.digits"); + + temp_str = (ck_int.getText()).trim(); + if( temp_str.length() != 0 ) + lilgpSetup.params.addToDB("checkpoint.interval", temp_str); + else + lilgpSetup.params.delFromDB("checkpoint.interval"); + + temp_str = (filename.getText()).trim(); + if( temp_str.length() != 0 ) + lilgpSetup.params.addToDB("checkpoint.filename", temp_str); + else + lilgpSetup.params.delFromDB("checkpoint.filename"); + + temp_str = (compress.getText()).trim(); + if( temp_str.length() != 0 ) + lilgpSetup.params.addToDB("checkpoint.compress", temp_str); + else + lilgpSetup.params.delFromDB("checkpoint.compress"); + } + + /** + * Trap TextField events and send the focus to the + * next field on the panel. + */ + public boolean action(Event event, Object arg) { + if (event.target == basename) { + detail.requestFocus(); + return true; + } + else if (event.target == detail) { + stt_int.requestFocus(); + return true; + } + else if (event.target == stt_int) { + bestn.requestFocus(); + return true; + } + else if (event.target == bestn) { + digits.requestFocus(); + return true; + } + else if (event.target == digits) { + ck_int.requestFocus(); + return true; + } + else if (event.target == ck_int) { + filename.requestFocus(); + return true; + } + else if (event.target == filename) { + compress.requestFocus(); + return true; + } + else if (event.target == compress) { + basename.requestFocus(); + return true; + } + + return super.action(event, arg); + } + + /** + * This method is responsible for loading parameters onto the OutputPanel + * after the user opens a parameter file. + * + */ + public static void loadParams() { + String s = lilgpSetup.params.getProp("output.basename"); + if (s != null) { + basename.setText(s); + } + else { + basename.setText(""); + } + + s = lilgpSetup.params.getProp("output.detail"); + if (s != null) { + detail.setText(s); + } + else { + detail.setText(""); + } + + s = lilgpSetup.params.getProp("output.stt_interval"); + if (s != null) { + stt_int.setText(s); + } + else { + stt_int.setText(""); + } + + s = lilgpSetup.params.getProp("output.bestn"); + if (s != null) { + bestn.setText(s); + } + else { + bestn.setText(""); + } + + s = lilgpSetup.params.getProp("output.digits"); + if (s != null) { + digits.setText(s); + } + else { + digits.setText(""); + } + + s = lilgpSetup.params.getProp("checkpoint.interval"); + if (s != null) { + ck_int.setText(s); + } + else { + ck_int.setText(""); + } + + s = lilgpSetup.params.getProp("checkpoint.filename"); + if (s != null) { + filename.setText(s); + } + else { + filename.setText(""); + } + + s = lilgpSetup.params.getProp("checkpoint.compress"); + if (s != null) { + compress.setText(s); + } + else { + compress.setText(""); + } + } +} + diff --git a/lib/lilgp/lilgpSetup1.0/src/ParameterDB.java b/lib/lilgp/lilgpSetup1.0/src/ParameterDB.java new file mode 100644 index 0000000..1354ec2 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/ParameterDB.java @@ -0,0 +1,1419 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.util.*; +import java.io.*; + +/** + * This class contains a Properties object that is used to store all + * of the parameter names and their corresponding values. It contains + * a secondary Property object that is initialized with the default + * values of the parameters as described in Chapter 5 of the lil-gp + * User's Manual. + * + * More importantly, this class contains all of the methods responsible + * for parsing the parameter values for errors before the output file + * can be generated. + * + * This class also contains a Vector object that is used to store + * errors encountered while parsing the database. Once the parse is + * complete, an ErrorFrame is instantiated and the error Vector is + * passed in. + * + * @see ErrorFrame + */ +class ParameterDB { + private Properties paramdb; + private Properties defaults; + private ErrorFrame ef; + private Vector errors = new Vector(); + private int numErrors = 0; + private int numWarnings = 0; + private boolean errorsDetected = false; + private boolean warningsDetected = false; + + // alot of other parameters depend on these, so we'll keep + // copies of them available so we don't have to keep pulling + // them out of the parameter list. Initialize them both to + // 0 (invalid values for these parameters). + private int num_gens = 0; + private int pop_size = 0; + + public static String endl = new String(System.getProperty("line.separator")); + + /** + * The constructor method is responsible for creating a default + * Property object and instantiating the main Property object. + */ + public ParameterDB() { + defaults = new Properties(); + + // add all of the lilgp default values. + // phase and subpop specific defaults will be handled by + // the appropriate class. + defaults.put("random_seed", "1"); + defaults.put("output.basename", "lilgp"); + defaults.put("output.detail", "50"); + defaults.put("output.stt_interval", "1"); + defaults.put("output.bestn", "1"); + defaults.put("output.digits", "4"); + defaults.put("checkpoint.filename", "gp%06d.ckp"); + defaults.put("init.method", "half_and_half"); + defaults.put("init.depth", "2-6"); + defaults.put("init.random_attempts", "100"); + defaults.put("probabilistic_operators", "on"); + defaults.put("multiple.subpops", "1"); + defaults.put("expected_pops", "1"); + + paramdb = new Properties(defaults); + } + + /** + * This method allows external classes to request an + * Enumeration of the keys in the parameter database. + * + * @return an Enumeration of the keys + */ + public Enumeration getKeys() { + return paramdb.keys(); + } + + /** + * This method allows external classes to request an + * Enumeration of the elements in the parameter database. + * + * @return an Enumeration of the elements + */ + public Enumeration getElements() { + return paramdb.elements(); + } + + /** + * This method allows external classes to request a + * specific parameter in the database. + * + * @param key String object containing the desired property key + * @return the value associated with key + */ + public String getProp(String key) { + return paramdb.getProperty(key); + } + + /** + * This method allows external classes to request that + * a parameter be added to the database. If the parameter + * is already in the database, its old value is replaced with + * the specified value. + * + * @param name String object containing the name of the parameter + * @param value String object containing the value of the parameter. + */ + public void addToDB(String name, String value) { + paramdb.put(name, value); + } + + /** + * This method allows external classes to request that + * a parameter be deleted from the database. + * + * @param name String object containing the name of the parameter + */ + public void delFromDB(String name) { + if (paramdb.containsKey(name)) { + paramdb.remove(name); + } + } + + /** + * This method will purge all parameters associated with breeding + * phases from the database. It is called when the user clicks on + * the 'purge' button on the BreedingPanel and before adding new + * breed phase parameters when the user clicks the 'accept' button. + */ + public void purgeOldPhases() { + int i = 1; + String tempKey = new String("breed[" + i + "].operator"); + + while(paramdb.containsKey(tempKey)) { + String key1 = new String("breed[" + i + "].operator"); + String key2 = new String("breed[" + i + "].rate"); + + if (paramdb.containsKey(key1)) { + paramdb.remove(key1); + } + + if (paramdb.containsKey(key2)) { + paramdb.remove(key2); + } + + i++; + tempKey = new String("breed[" + i + "].operator"); + } + } + + /** + * This method will purge all of the parameters associated with + * exchanges between sub-populations. It does not remove the + * following parameters: + *
  • multiple.sub_pops + *
  • multiple.exch_gen + *
  • multiple.exchanges
+ * + * It is called when the user clicks on the 'purge' button on the + * SubPopsPanel and also before new exchanges are added to the + * database. + * + * @see ParameterDB#purgeOldSubPopParameters + */ + public void purgeOldSubPopExchanges() { + int i = 1; + String tempKey = new String("exch[" + i + "].from"); + + while(paramdb.containsKey(tempKey)) { + String key = new String("exch[" + i + "].from"); + if (paramdb.containsKey(key)) { + paramdb.remove(key); + } + + key = new String("exch[" + i + "].fromselect"); + if (paramdb.containsKey(key)) { + paramdb.remove(key); + } + + key = new String("exch[" + i + "].to"); + if (paramdb.containsKey(key)) { + paramdb.remove(key); + } + + key = new String("exch[" + i + "].toselect"); + if (paramdb.containsKey(key)) { + paramdb.remove(key); + } + + key = new String("exch[" + i + "].count"); + if (paramdb.containsKey(key)) { + paramdb.remove(key); + } + + i++; + tempKey = new String("exch[" + i + "].from"); + } + } + + public void purgeUserDefinedParameters() { + int i = 1; + String tempKey = new String("userdefined" + i); + + while(paramdb.containsKey(tempKey)) { + paramdb.remove(tempKey); + i++; + tempKey = new String("userdefined" + i); + } + } + + /** + * This method purges the parameters associated with multiple + * sub-populations, but does not purge the parameters associated + * with the actual sub-pop exchanges. It is called when the + * user clicks on the 'purge' button and before new sub-pop + * parameters are added to the database. + * + * @see ParameterDB#purgeOldSubPopExchanges + */ + public void purgeOldSubPopParameters() { + if (paramdb.containsKey("multiple.subpops")) { + paramdb.remove("multiple.subpops"); + } + + if (paramdb.containsKey("multiple.exch_gen")) { + paramdb.remove("multiple.exch_gen"); + } + + if (paramdb.containsKey("multiple.exchanges")) { + paramdb.remove("multiple.exchanges"); + } + + // reset the number of expected pops to 1... + if (paramdb.containsKey("expected_pops")) { + addToDB("expected_pops", "1"); + } + } + + /** + * This method is responsible for generating the output file that + * will be used as input for lil-gp. Before generating the file, + * it parses the parameters for errors. If there are no errors, + * a FileOutputStream is created and the file is generated. The + * parameters are grouped in the file by category and comments + * are inserted to help make it readable. + * + * @param filename String object containing the name of the output file + * @see ParameterDB#parse + */ + public void OLDsave(String filename) throws IOException { + // flush all parameters before parsing database + lilgpSetup.mw.cp.flushAllPanels(); + + if ( parse() ) { + addComment(new String(">Saving '" + filename + "'")); + displayErrors(); + PrintStream pout = new PrintStream(new FileOutputStream(filename)); + + pout.println("\r\n###\r\n### lilgpSetup v1.0\r\n### Machine Generated - DO NOT EDIT"); + pout.println("\r### Generation Date:"); + pout.println(new String("\r### " + new Date() + "\r\n###")); + + // if there are are userdefined parameters, then generate some output + if(paramdb.containsKey("userdefined1")) { + pout.println("\r\n#\r\n# User Defined Parameters\r\n#"); + + int i = 1; + String tempKey = new String("userdefined" + i); + + while(paramdb.containsKey(tempKey)) { + pout.println("\r" + paramdb.getProperty(tempKey)); + i++; + tempKey = new String("userdefined" + i); + } + } + + pout.println("\r\n#\r\n# General Parameters\r\n#"); + pout.println("\rmax_generations = " + paramdb.getProperty("max_generations")); + pout.println("\rpop_size = " + paramdb.getProperty("pop_size")); + pout.println("\rrandom_seed = " + paramdb.getProperty("random_seed")); + + pout.println("\r\n#\r\n# Output Parameters\r\n#"); + pout.println("\routput.basename = " + paramdb.getProperty("output.basename")); + pout.println("\routput.detail = " + paramdb.getProperty("output.detail")); + pout.println("\routput.stt_interval = " + paramdb.getProperty("output.stt_interval")); + pout.println("\routput.bestn = " + paramdb.getProperty("output.bestn")); + pout.println("\routput.digits = " + paramdb.getProperty("output.digits")); + if (paramdb.containsKey("checkpoint.interval")) + pout.println("\rcheckpoint.interval = " + paramdb.getProperty("checkpoint.interval")); + pout.println("\rcheckpoint.filename = " + paramdb.getProperty("checkpoint.filename")); + if (paramdb.containsKey("checkpoint.compress")) + pout.println("\rcheckpoint.compress = " + paramdb.getProperty("checkpoint.compress")); + + // dont bother printing the comments unless there are parameters + if ((paramdb.containsKey("max_nodes")) || (paramdb.containsKey("max_depth"))) { + pout.println("\r\n#\r\n# Size Limit Parameters\r\n#"); + if (paramdb.containsKey("max_nodes")) + pout.println("\rmax_nodes = " + paramdb.getProperty("max_nodes")); + if (paramdb.containsKey("max_depth")) + pout.println("\rmax_depth = " + paramdb.getProperty("max_depth")); + } + + pout.println("\r\n#\r\n# Initialization Parameters\r\n#"); + pout.println("\rinit.method = " + paramdb.getProperty("init.method")); + pout.println("\rinit.depth = " + paramdb.getProperty("init.depth")); + pout.println("\rinit.random_attempts = " + paramdb.getProperty("init.random_attempts")); + + // if there are breed phases, then generate some output + if (paramdb.containsKey("breed_phases")) { + pout.println("\r\n#\r\n# Breed Phase Parameters\r\n#"); + pout.println("\rprobabilistic_operators = " + paramdb.getProperty("probabilistic_operators")); + pout.println("\rbreed_phases = " + paramdb.getProperty("breed_phases")); + + // loop through the phase parameters + for (int i = 0; i < Integer.parseInt(paramdb.getProperty("breed_phases")); i++) { + String op = new String("breed[" + i + "].operator"); + String rate = new String("breed[" + i + "].rate"); + + pout.println("\r" + op + " = " + paramdb.getProperty(op)); + pout.println("\r" + rate + " = " + paramdb.getProperty(rate)); + } + } + + // if there are more than 1 sub-pops, then generate some output + if (!(paramdb.getProperty("multiple.subpops")).equals("1")) { + pout.println("\r\n#\r\n# Subpop Parameters\r\n#"); + pout.println("\rmultiple.subpops = " + paramdb.getProperty("multiple.subpops")); + if (paramdb.containsKey("multiple.exch_gen")) + pout.println("\rmultiple.exch_gen = " + paramdb.getProperty("multiple.exch_gen")); + if (paramdb.containsKey("multiple.exchanges")) + pout.println("\rmultiple.exchanges = " + paramdb.getProperty("multiple.exchanges")); + + pout.println("\r"); + + for(int i = 1; i <= Integer.parseInt(paramdb.getProperty("multiple.exchanges")); i++) { + String op = new String("exch[" + i + "].from"); + pout.println("\r" + op + " = " + paramdb.getProperty(op)); + + op = new String("exch[" + i + "].fromselect"); + pout.println("\r" + op + " = " + paramdb.getProperty(op)); + + op = new String("exch[" + i + "].to"); + pout.println("\r" + op + " = " + paramdb.getProperty(op)); + + op = new String("exch[" + i + "].toselect"); + pout.println("\r" + op + " = " + paramdb.getProperty(op)); + + op = new String("exch[" + i + "].count"); + pout.println("\r" + op + " = " + paramdb.getProperty(op)); + + pout.println("\r"); + } + } + + pout.close(); + } + else { + addComment(new String(">Cannot save '" + filename + "' until you have corrected all errors")); + displayErrors(); + } + } + + public void save(String filename) throws IOException { + // flush all parameters before parsing database + lilgpSetup.mw.cp.flushAllPanels(); + + if ( parse() ) { + addComment(new String(">Saving '" + filename + "'")); + displayErrors(); + PrintStream pout = new PrintStream(new FileOutputStream(filename)); + + pout.print("###" + endl + "### lilgpSetup v1.0" + endl + "### Machine Generated - DO NOT EDIT" + endl); + pout.print("### Generation Date:" + endl); + pout.print(new String("### " + new Date() + endl + "###" + endl)); + + // if there are are userdefined parameters, then generate some output + if(paramdb.containsKey("userdefined1")) { + pout.print(endl + "#" + endl + "# User Defined Parameters" + endl + "#" + endl); + + int i = 1; + String tempKey = new String("userdefined" + i); + + while(paramdb.containsKey(tempKey)) { + pout.print(paramdb.getProperty(tempKey) + endl); + i++; + tempKey = new String("userdefined" + i); + } + } + + pout.print(endl + "#" + endl + "# General Parameters" + endl + "#" + endl); + pout.print("max_generations = " + paramdb.getProperty("max_generations") + endl); + pout.print("pop_size = " + paramdb.getProperty("pop_size") + endl); + pout.print("random_seed = " + paramdb.getProperty("random_seed") + endl); + + pout.print(endl + "#" + endl + "# Output Parameters" + endl + "#" + endl); + pout.print("output.basename = " + paramdb.getProperty("output.basename") + endl); + pout.print("output.detail = " + paramdb.getProperty("output.detail") + endl); + pout.print("output.stt_interval = " + paramdb.getProperty("output.stt_interval") + endl); + pout.print("output.bestn = " + paramdb.getProperty("output.bestn") + endl); + pout.print("output.digits = " + paramdb.getProperty("output.digits") + endl); + if (paramdb.containsKey("checkpoint.interval")) + pout.print("checkpoint.interval = " + paramdb.getProperty("checkpoint.interval") + endl); + pout.print("checkpoint.filename = " + paramdb.getProperty("checkpoint.filename") + endl); + if (paramdb.containsKey("checkpoint.compress")) + pout.print("checkpoint.compress = " + paramdb.getProperty("checkpoint.compress") + endl); + + // dont bother printing the comments unless there are parameters + if ((paramdb.containsKey("max_nodes")) || (paramdb.containsKey("max_depth"))) { + pout.print(endl + "#" + endl + "# Size Limit Parameters" + endl + "#" + endl); + if (paramdb.containsKey("max_nodes")) + pout.print("max_nodes = " + paramdb.getProperty("max_nodes") + endl); + if (paramdb.containsKey("max_depth")) + pout.print("max_depth = " + paramdb.getProperty("max_depth") + endl); + } + + pout.print(endl + "#" + endl + "# Initialization Parameters" + endl + "#" + endl); + pout.print("init.method = " + paramdb.getProperty("init.method") + endl); + pout.print("init.depth = " + paramdb.getProperty("init.depth") + endl); + pout.print("init.random_attempts = " + paramdb.getProperty("init.random_attempts") + endl); + + // if there are breed phases, then generate some output + if (paramdb.containsKey("breed_phases")) { + pout.print(endl + "#" + endl + "# Breed Phase Parameters" + endl + "#" + endl); + pout.print("probabilistic_operators = " + paramdb.getProperty("probabilistic_operators") + endl); + pout.print("breed_phases = " + paramdb.getProperty("breed_phases") + endl); + + // loop through the phase parameters + for (int i = 1; i <= Integer.parseInt(paramdb.getProperty("breed_phases")); i++) { + String op = new String("breed[" + i + "].operator"); + String rate = new String("breed[" + i + "].rate"); + + pout.print(endl + op + " = " + paramdb.getProperty(op) + endl); + pout.print(rate + " = " + paramdb.getProperty(rate) + endl); + } + } + + // if there are more than 1 sub-pops, then generate some output + if (!(paramdb.getProperty("multiple.subpops")).equals("1")) { + pout.print(endl + "#" + endl + "# Subpop Parameters" + endl + "#" + endl); + pout.print("multiple.subpops = " + paramdb.getProperty("multiple.subpops") + endl); + if (paramdb.containsKey("multiple.exch_gen")) + pout.print("multiple.exch_gen = " + paramdb.getProperty("multiple.exch_gen") + endl); + if (paramdb.containsKey("multiple.exchanges")) + pout.print("multiple.exchanges = " + paramdb.getProperty("multiple.exchanges") + endl + endl); + + for(int i = 1; i <= Integer.parseInt(paramdb.getProperty("multiple.exchanges")); i++) { + String op = new String("exch[" + i + "].from"); + pout.print(op + " = " + paramdb.getProperty(op) + endl); + + op = new String("exch[" + i + "].fromselect"); + pout.print(op + " = " + paramdb.getProperty(op) + endl); + + op = new String("exch[" + i + "].to"); + pout.print(op + " = " + paramdb.getProperty(op) + endl); + + op = new String("exch[" + i + "].toselect"); + pout.print(op + " = " + paramdb.getProperty(op) + endl); + + op = new String("exch[" + i + "].count"); + pout.print(op + " = " + paramdb.getProperty(op) + endl + endl); + } + } + + pout.close(); + } + else { + addComment(new String(">Cannot save '" + filename + "' until you have corrected all errors")); + displayErrors(); + } + } + + /** + * This method is repsonsible for opening an existing parameter file and + * reading the contents into a temporary hashtable. If it encounters any + * unexpected errors in the parameter file, it will abort the open process. + * That is, it will leave the current settings on all of the panels intact + * and show the user where the error occurred. If there are no sytax errors + * in the file, then the parameters are run through the parse() + * method. If there are no errors in the parameter settings, then the + * loadParams() method is called for each panel. + * + * @param filename the name of the input file + * @see BreedFrame#loadParams + * @see BreedingPanel#loadParams + * @see GeneralPanel#loadParams + * @see InitializationPanel#loadParams + * @see OutputPanel#loadParams + * @see PhasePanel#loadParams + * @see SubPopFrame#loadParams + * @see SubPopsPanel#loadParams + */ + public void open(String filename) throws IOException { + DataInputStream din = new DataInputStream(new FileInputStream(filename)); + boolean cont = true; + boolean fatalError = false; + + // create a temporary storage table for the contents of the datafile + Properties temp = new Properties(defaults); + + purgeErrors(); + addComment(">Opening '" + filename + "' for input"); + int numUserDefined = 1; + + while(cont) { + String data = din.readLine(); + if (data == null) { + cont = false; + } + else { + // load the "param = value" pairs into the temporary table + if (data.startsWith("%")) { + addError("This version of lilgpSetup does not support the use of pre-processor directives"); + fatalError = true; + cont = false; + } + else { + if (!data.equals("") && (!data.startsWith("#")) && (!data.startsWith(";"))) { + try { + StringTokenizer st = new StringTokenizer(data, "="); + + // here we have a simple param = value situation + if(st.countTokens() == 2) { + String param = st.nextToken(); + String value = st.nextToken(); + + // if this parameter is not in a form we are expecting then + // throw it into the user defined section. + if(isUserDefined(param.trim())) { + String newParam = new String("userdefined" + numUserDefined); + temp.put(newParam, new String(param.trim() + " = " + value.trim())); + numUserDefined++; + } + else { + temp.put(param.trim(), value.trim()); + } + } + else if (st.countTokens() > 2) { + // here we have the more complicated breed phases + // which have many = symbols in them + String param = st.nextToken(); + + StringBuffer value = new StringBuffer(); + + value.append(st.nextToken()); + while(st.hasMoreTokens()) { + value.append("="); + value.append(st.nextToken()); + } + + temp.put(param.trim(), (value.toString()).trim()); + } + } + catch(NoSuchElementException e) { + addError("An unrecoverable error occurred while reading the parameter file"); + addComment(new String(" at: '" + data + "'")); + fatalError = true; + cont = false; + } + } + } + } + } + + // make sure that the database knows how many subpops to expect + // when parsing the database. + String mpops = temp.getProperty("multiple.subpops"); + if (mpops != null) { + temp.put("expected_pops", mpops); + } + + // if there were no fatal errors in the format of the input file, then + // put the temp property list in place of the paramdb property list and + // parse if for syntax errors. + if(!fatalError) { + paramdb = temp; + + GeneralPanel.loadParams(); + OutputPanel.loadParams(); + SizeLimitsPanel.loadParams(); + InitializationPanel.loadParams(); + BreedingPanel.loadParams(); + SubPopsPanel.loadParams(); + UserDefinedPanel.loadParams(); + + parse(); + } + displayErrors(); + + } + + + private boolean isUserDefined(String param) { + if (!isBreedParam(param) && + !isExchangeParam(param) && + !isRegularParam(param)) { + return true; + } + else + return false; + } + + private boolean isBreedParam(String param) { + return (param.startsWith("breed[") && + ( (param.endsWith("].rate")) || (param.endsWith("].operator")) ) ); + } + + private boolean isExchangeParam(String param) { + return (param.startsWith("exch[") && + ( (param.endsWith("].from")) || (param.endsWith("].fromselect")) || + (param.endsWith("].to")) || (param.endsWith("].toselect")) || + (param.endsWith("].count")) ) ); + } + + private boolean isRegularParam(String param) { + return ( (param.equals("max_generations")) || (param.equals("pop_size")) || + (param.equals("random_seed")) || (param.equals("output.basename")) || + (param.equals("output.detail")) || (param.equals("output.stt_interval")) || + (param.equals("output.bestn")) || (param.equals("output.digits")) || + (param.equals("checkpoint.interval")) || (param.equals("checkpoint.filename")) || + (param.equals("checkpoint.compress")) || (param.equals("max_nodes")) || + (param.equals("max_depth")) || (param.equals("init.method")) || + (param.equals("init.depth")) || (param.equals("init.random_attempts")) || + (param.equals("breed_phases")) || (param.equals("probabilistic_operators")) || + (param.equals("multiple.subpops")) || (param.equals("multiple.exch_gen")) || + (param.equals("multiple.exchanges")) ); + } + + + /** + * A useful debugging method that dumps the contents of the database + */ + public void dump() { + Enumeration e = paramdb.propertyNames(); + System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); + while(e.hasMoreElements()) { + String s = (String)e.nextElement(); + System.out.println(s + " : " + paramdb.getProperty(s)); + } + System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); + } + + /** + * This method inserts a comment into the error Vector. + * + * @param c String object containing the comment + * @see ParameterDB#addWarning + * @see ParameterDB#addError + */ + private void addComment(String c) { + errors.addElement(c); + } + + /** + * This method inserts a warning into the error Vector. + * + * @param w String object containing the warning + * @see ParameterDB#addComment + * @see ParameterDB#addError + */ + private void addWarning(String w) { + numWarnings++; + warningsDetected = true; + errors.addElement(" " + w); + } + + /** + * This method inserts a error into the error Vector. + * + * @param e String object containing the error + * @see ParameterDB#addComment + * @see ParameterDB#addWarning + */ + private void addError(String e) { + numErrors++; + errorsDetected = true; + + // indent the error a little for readability + errors.addElement(" " + e); + } + + /** + * This method purges all of the comments, warnings, and errors + * from the error Vector. + */ + private void purgeErrors() { + errors.removeAllElements(); + numErrors = 0; + numWarnings = 0; + } + + /** + * This method is responsible for creating the ErrorFrame. + * + * @see ErrorFrame + * @see ParameterDB#addComment + * @see ParameterDB#addWarning + * @see ParameterDB#addError + */ + public void displayErrors() { + // tell the user how many errors and warnings were discovered + addComment("~~~~~~~~~~~~~~~~"); + addComment(new String("Errors: " + numErrors + " Warnings: " + numWarnings)); + + if (!ErrorFrame.isAlive) { + ef = new ErrorFrame( errors ); + } + else { + //ef.toFront(); won't work in Win95..... + ef.hide(); + ef.show(); + ef.updateErrors( errors ); + } + + // delete the error vector as soon as we display it - there's + // no need to keep it and we want to make sure that it is empty + // before the next time the database is parsed. + purgeErrors(); + } + + /** + * This method simply adds informative comments to the error Vector + * add calls the appropriate parse methods for each panel. If there + * were any errors or warnings encountered while parsing the parameters, + * then return false. + * + * @return true if there were no errors or warnings, else return false + * @see ParameterDB#parseGeneralPanel + * @see ParameterDB#parseOutputPanel + * @see ParameterDB#parseLimitsPanel + * @see ParameterDB#parseInitPanel + * @see ParameterDB#parseBreedingPanel + * @see ParameterDB#parseSubPopsPanel + */ + public boolean parse() { + errorsDetected = false; + warningsDetected = false; + + addComment(">Compiling Parameters"); + addComment(">General Panel"); + parseGeneralPanel(); + + addComment(">Output Panel"); + parseOutputPanel(); + + addComment(">Size Limits Panel"); + parseLimitsPanel(); + + addComment(">Initialization Panel"); + parseInitPanel(); + + addComment(">Breed Phase Panel"); + parseBreedingPanel(); + + addComment(">Sub-Population Panel"); + parseSubPopsPanel(); + + addComment(">User Defined Parameters"); + parseUserDefinedPanel(); + + // DEBUG + // dump(); + + if ( errorsDetected ) { + addComment(">Errors were detected"); + return false; + } + else if ( warningsDetected ) { + addComment(">Warnings were issued"); + return false; + } + else { + addComment(">No errors detected"); + return true; + } + } + + /** + * This method parses each of the parameters found on the General + * parameter panel. + * + * @see GeneralPanel + */ + private void parseGeneralPanel() { + int temp_int; + double temp_dbl; + String temp_str; + + // check the GeneralPanel parameters + + // this has NO default, check for null + temp_str = paramdb.getProperty("max_generations"); + if( (temp_str == null) || (!isInt(temp_str)) || + (!isIntInRange(toInt(temp_str), 1, Integer.MAX_VALUE))) { + addError("max_generations should be a positive integer"); + num_gens = 0; + } + else { + num_gens = toInt(temp_str); + } + + // this has NO default, check for null + temp_str = paramdb.getProperty("pop_size"); + if ( (temp_str == null) || + (!isInt(temp_str)) || (!isIntInRange(toInt(temp_str), 1, Integer.MAX_VALUE))) { + addError("pop_size should be a positive integer"); + pop_size = 0; + } + else { + pop_size = toInt(temp_str); + } + + // random_seed has a defualt parameter, so this should never return null + temp_str = paramdb.getProperty("random_seed"); + if ((!isDbl(temp_str)) || (!isDblInRange(toDbl(temp_str), 0, Integer.MAX_VALUE))) { + addError("rand_seed should be a positive real number"); + } + + } + + /** + * This method parses each of the parameters found on the Output + * parameter panel. + * + * @see OutputPanel + */ + private void parseOutputPanel() { + int temp_int; + String temp_str; + + // check the OutputPanel parameters + + // this has a default, it should never return null + temp_str = paramdb.getProperty("output.detail"); + if ((!isInt(temp_str)) || (!isIntInRange(toInt(temp_str), 0, 100))) { + addError("output.detail should be an integer between 0 and 100"); + } + + // this has a default, it should never return null + temp_str = paramdb.getProperty("output.stt_interval"); + if (num_gens != 0) { + if ((!isInt(temp_str)) || (!isIntInRange(toInt(temp_str), 1, num_gens))) { + addError("output.stt_interval should be an integer between 1 and max_generations"); + } + } + else { + addWarning("can't verify output.stt_interval until max_generations is correct"); + } + + + // this has a default, it should never return null + temp_str = paramdb.getProperty("output.bestn"); + if (pop_size != 0) { + if ((!isInt(temp_str)) || (!isIntInRange(toInt(temp_str), 1, pop_size))) { + addError("output.bestn should be an integer between 1 and pop_size"); + } + } + else { + addWarning("can't verify output.bestn until pop_size is correct"); + } + + // this has a default, it should never return null + temp_str = paramdb.getProperty("output.digits"); + if ((!isInt(temp_str)) || (!isIntInRange(toInt(temp_str), 1, 100))) { + addError("output.digits should be an integer between 1 and 100"); + } + + // this has NO default, check for null + temp_str = paramdb.getProperty("checkpoint.interval"); + if (temp_str != null) { + if (num_gens != 0) { + if (!isInt(temp_str) || + ( isInt(temp_str) && !isIntInRange(toInt(temp_str), 1, num_gens) ) ) { + addError("if supplied, checkpoint.interval must be an integer between 1 and max_generation"); + } + } + else { + addWarning("can't verify checkpoint.interval until max_generations is correct"); + } + } + } + + /** + * This method parses each of the parameters found on the Size Limits + * parameter panel. + * + * @see SizeLimitsPanel + */ + private void parseLimitsPanel() { + int temp_int; + String temp_str; + + //this has NO default, check for null + temp_str = paramdb.getProperty("max_nodes"); + if (temp_str != null) { + if (!isInt(temp_str) || + ( isInt(temp_str) && !isIntInRange(toInt(temp_str), 1, Integer.MAX_VALUE))) + addError("if supplied, max_nodes must be a positive integer"); + } + + //this has NO default, check for null + temp_str = paramdb.getProperty("max_depth"); + if (temp_str != null) { + if (!isInt(temp_str) || + ( isInt(temp_str) && !isIntInRange(toInt(temp_str), 1, Integer.MAX_VALUE))) + addError("if supplied, max_depth must be a positive integer"); + } + } + + /** + * This method parses each of the parameters found on the Initialization + * parameter panel. + * + * @see InitializationPanel + */ + private void parseInitPanel() { + String temp_str; + StringTokenizer st; + int num_tokens; + int min = 0; + int max = 0; + + // this has a default, so it should never return null + temp_str = paramdb.getProperty("init.depth"); + + st = new StringTokenizer(temp_str, "-", true); + num_tokens = st.countTokens(); + if (num_tokens != 3) { + addError("init.depth must be in the form - where and are positive integers"); + } + else { + // grab the first token + temp_str = st.nextToken(); + if (isInt(temp_str)) min = toInt(temp_str); + + // grab the second token - this should be a dash + temp_str = st.nextToken(); + + // grab the third token + temp_str = st.nextToken(); + if (isInt(temp_str)) max = toInt(temp_str); + + if ((min <= 0) || (min >= max)) + addError("init.depth must be in the form - where and are positive integers"); + } + + // this has a default, so it should never return null + temp_str = paramdb.getProperty("init.random_attempts"); + if ((!isInt(temp_str)) || (!isIntInRange(toInt(temp_str), 1, Integer.MAX_VALUE))) { + addError("init.random_attempts should be a positive integer"); + } + } + + /** + * This method parses all of the parameters found on the Breeding + * parameters panel. It does not parse the individual breed phase + * parameters. + * + * @see BreedingPanel + * @see ParameterDB#parseBreedRates + * @see ParameterDB#parseBreedOperators + */ + private void parseBreedingPanel() { + String temp_str; + String s; + boolean cont = true; + int num_phases; + int phasesInDB = 0; + int i = 1; + + // figure out how many phases are actually in the database + do { + s = new String("breed[" + i + "].operator"); + if ( paramdb.getProperty(s) == null ) { + cont = false; + } + else { + i++; + } + } while ( cont ); + phasesInDB = i-1; + + if (phasesInDB == 0) { + addError("you have not supplied any breed phase parameters"); + } + + // this has NO default, so check for null + temp_str = paramdb.getProperty("breed_phases"); + + if (temp_str != null) { // there is something in the db + if (!isInt(temp_str) || + ( isInt(temp_str) && !isIntInRange(toInt(temp_str), 1, Integer.MAX_VALUE))) { + addError("if supplied, breed_phases must be a positive integer"); + } + else { // it is a positive integer + num_phases = toInt(temp_str); + if (phasesInDB != num_phases) { + addWarning("breed_phases does not agree with the number of phases in the database"); + } + else { // the integer agrees with what is in the db + // first check to see if the rates add up to 1.00 + parseBreedRates( num_phases ); + + // now check to see if the operator strings are correct + parseBreedOperators( num_phases ); + } + } + } + else if (phasesInDB != 0) { // the field was blank, but there may be info in the db + addWarning("breed_phase does not agree with the number of phases in the database"); + } + } + + /** + * This method parses the individual breed rate parameters supplied on the + * PhasePanel. The breed rates should add up to 1.00 + * + * @param num_phases the number of breed phases + * @see ParameterDB#parseBreedingPanel + * @see ParameterDB#parseBreedOperators + * @see PhasePanel + */ + private void parseBreedRates(int num_phases) { + String temp_str; + String rate_str; + double rateSum = 0.0; + double epsilon = 0.0000000001; + + for( int i = 1; i <= num_phases; i++ ) { + // is it a double? + rate_str = new String("breed[" + i + "].rate"); + temp_str = paramdb.getProperty(rate_str); + + // the rate parameters are a special case, where we allow them to + // be put into the db even if they are empty to keep the same number + // operator and rate parameters in the db. + if (!temp_str.equals("")) { + if ((!isDbl(temp_str)) || (!isDblInRange(toDbl(temp_str), 0, 1))) { + addError(rate_str + " should be a real number between 0.0 and 1.0"); + } + else { + rateSum = rateSum + toDbl(temp_str); + } + } + else { + addError(rate_str + " was not supplied"); + } + } + + // (0.7 + 0.1 + 0.1 + 0.1) != (0.1 + 0.1 + 0.1 + 0.7) go figure? + if (( rateSum < 1.0-epsilon) || ( rateSum > 1.0+epsilon)) { + addError("the breed[#].rate parameters should add up to 1.0000"); + } + } + + + /** + * This method parses the breed operators that are constructed on the PhasePanel. + * + * @param num_phases the number of breed phases + * @see ParameterDB#parseBreedingPanel + * @see ParameterDB#parseBreedRates + */ + private void parseBreedOperators(int num_phases) { + String temp_str; + String op_param; + String op_str; + int temp_int; + double temp_dbl; + StringTokenizer st; + StringTokenizer s; + StringBuffer new_op_str; + + for( int i = 1; i <= num_phases; i++ ) { + op_param = new String("breed[" + i + "].operator"); + + // this will never be null.... + op_str = paramdb.getProperty( op_param ); + new_op_str = new StringBuffer(op_str); + + // tokenize the operator string + st = new StringTokenizer(op_str, ",() ", false); + + // examine each piece of this operator + while(st.hasMoreTokens()) { + // now examine the param=value pieces + s = new StringTokenizer(st.nextToken(), "=", false); + + // we are looking at a param=value situation + if (s.countTokens() == 2) { + String param = s.nextToken(); + String value = s.nextToken(); + + if (param.equals("cutoff") || param.equals("proportion") || + param.equals("internal") || param.equals("external")) { + if ((!isDbl(value)) || (!isDblInRange(toDbl(value), 0, 1))) { + addError("the "+ param + " parameter in " + + op_param + " should be a real number between 0.0 and 1.0"); + } + } + else if (param.equals("depth")) { + StringTokenizer dst = new StringTokenizer(value, "-", true); + int min = 0; + int max = 0; + if (dst.countTokens() != 3) { + addError(param + " in " + op_param + + " must be in the form - where and are positive integers"); + } + else { + // grab the first token + value = dst.nextToken(); + if (isInt(value)) min = toInt(value); + + // grab the second token - this should be a dash + value = dst.nextToken(); + + // grab the third token + value = dst.nextToken(); + if (isInt(value)) max = toInt(value); + + if ((min < 0) || (min >= max)) + addError(param + " in " + op_param + + " must be in the form - where and are positive integers"); + } + } + else if (param.equals("size")) { + if ((!isInt(value)) || (!isIntInRange(toInt(value), 1, Integer.MAX_VALUE))) { + addError("the size parameter in " + op_param + " should be a positive integer"); + } + } + } + else if (s.countTokens() == 1) { + // have to insert the default values because the field was left empty...... + String param = s.nextToken(); + + if (param.equals("cutoff")) { + // tricky default here depends on the value of pop_size + if (pop_size == 0) { + addWarning("can't verify cutoff in " + op_param + " until pop_size is correct"); + } + else { + if (pop_size <= 1000) { + // insert 0.32 into op_str + int index = (new_op_str.toString()).indexOf("cutoff="); + new_op_str.insert(index+7, "0.32"); + } + else if (pop_size > 1000) { + // insert 320/pop_size into op_str + int index = (new_op_str.toString()).indexOf("cutoff="); + new_op_str.insert(index+7, String.valueOf(320.0/pop_size)); + } + } + } + else if (param.equals("proportion")) { + // insert 0.80 into op_str + int index = (new_op_str.toString()).indexOf("proportion="); + new_op_str.insert(index+11, "0.80"); + } + else if (param.equals("size")) { + // insert 2 into op_str + int index = (new_op_str.toString()).indexOf("size="); + new_op_str.insert(index+5, "2"); + } + else if (param.equals("depth")) { + // insert 0-4 into op_str + int index = (new_op_str.toString()).indexOf("depth="); + new_op_str.insert(index+6, "0-4"); + } + } + } + paramdb.put(op_param, new_op_str.toString()); + } + } + + /** + * This method parses the parameters supplied on the Sub-Population + * parameter panel. It does not actually parse the sub-pop exchange + * parameters. + * + * @see SubPopsPanel + * @see ParameterDB#parseSubPopExchanges + */ + private void parseSubPopsPanel() { + // if there are more than one sub-pops then check to make + // sure that an exch_gen parameter has been supplied. Then + // check to make sure that there is at least one exchange in + // the database. + String num_pops_str = paramdb.getProperty("multiple.subpops"); + String exch_gen_str = paramdb.getProperty("multiple.exch_gen"); + String expected_pops_str = paramdb.getProperty("expected_pops"); + + // check to make sure that there are the expected number of + // sub_pops int the database. + if ( !num_pops_str.equals(expected_pops_str) ) { + addError("the number of sub-pops does not match multiple.subpops"); + } + + // the number of sub pops WILL be a positive integer - see action() + // method in SubPopsPanel.... + if (!num_pops_str.equals("1")) { + if (exch_gen_str != null) { + if (!isInt(exch_gen_str) || + ( isInt(exch_gen_str) && !isIntInRange(toInt(exch_gen_str), 1, num_gens))) { + addError("multiple.exch_gen must be an integer between 1 and max_generations"); + } + } + else { + addError("multiple.exch_gen must be an integer between 1 and max_generations"); + } + + // now parse the individual exchanges + parseSubPopExchanges(); + } + else { + if (exch_gen_str != null) { + addWarning("multiple.exch_gen is not necessary if there is only one sub-pop"); + } + } + } + + /** + * This method parses the sub-pop exchange parameters. + * + * @see ParameterDB#parseSubPopsPanel + */ + private void parseSubPopExchanges() { + int numExchanges; + int i = 0; + String key; + + // figure out how many exchanges are in the database + do { + i++; + key = new String("exch[" + i + "].from"); + } while (paramdb.getProperty(key) != null); + + numExchanges = i-1; + + // if there aren't any, then add a warning + if (numExchanges < 1) { + addWarning("you have specified multiple sub-pops, but have not specified any exchanges"); + } + else { + for (i = 1; i <= numExchanges; i++) { + String from = paramdb.getProperty(new String("exch[" + i + "].from")); + String to = paramdb.getProperty(new String("exch[" + i + "].to")); + + // check for self-exchanges... + if (from.equals(to)) { + addError(new String("subpop " + from + " has an exchange with itself")); + } + String count = paramdb.getProperty(new String("exch[" + i + "].count")); + + if (!isInt(count) || + ( isInt(count) && !isIntInRange(toInt(count), 1, pop_size))) { + addError(new String("exch[" + i + "].count should be an enteger between 1 and pop_size")); + } + } + } + } + + + private void parseUserDefinedPanel() { + int i = 1; + String tempKey = new String("userdefined" + i); + + while(paramdb.containsKey(tempKey)) { + String param = paramdb.getProperty(tempKey); + + try { + StringTokenizer st = new StringTokenizer(param, "=", true); + if (st.countTokens() != 3) { + addError("'" + param + "' must be in the form: 'param = value'"); + } + else { + String one = st.nextToken(); + String two = st.nextToken(); + String three = st.nextToken(); + + if (one.equals("=") || !two.equals("=") || three.equals("=")) { + addError("'" + param + "' must be in the form: 'param = value'"); + } + } + } + catch (NoSuchElementException e) { + addError("'" + param + "' must be in the form: 'param = value'"); + } + + i++; + tempKey = new String("userdefined" + i); + } + } + + + /** + * This method determines if a String object contains an int. + * + * @param s the String object to be examined + * @return true if the String contains an int, else return false + * @see ParameterDB#toInt + */ + private boolean isInt(String s) { + try { + Integer.parseInt(s); + } + catch (NumberFormatException e) { + return false; + } + return true; + } + + /** + * This method converts a String object into an int. It assumes + * that the String object contains an int. + * + * @param s the String object to be converted to an int + * @return the int value of the String + * @see ParameterDB#isInt + */ + private int toInt(String s) { + return Integer.parseInt(s); + } + + /** + * This method tests to see if an int is within a specified range. + * + * @param i the int + * @param min the minimum bound of the range + * @param max the maximum bound of the range + * @return true if the int is within the range, else return false + */ + private boolean isIntInRange(int i, int min, int max) { + if ((min <= i) && (i <= max)) return true; + else return false; + } + + + /** + * This method determines if a String object contains a double.. + * + * @param s the String object to be examined + * @return true if the String contains a double, else return false + * @see ParameterDB#toDbl + */ + private boolean isDbl(String s) { + try { + new Double(s); + } + catch (NumberFormatException e) { + return false; + } + return true; + } + + + /** + * This method converts a String object into a double. It assumes + * that the String object contains a double. + * + * @param s the String object to be converted to a double + * @return the double value of the String + * @see ParameterDB#isDbl + */ + private double toDbl(String s) { + // valueOf() returns a Double, we just want a double. + return (Double.valueOf(s)).doubleValue(); + } + + + /** + * This method tests to see if a double is within a specified range. + * + * @param d the double + * @param min the minimum bound of the range + * @param max the maximum bound of the range + * @return true if the double is within the range, else return false + */ + private boolean isDblInRange(double d, double min, double max) { + if ((min <= d) && (d <= max)) return true; + else return false; + } +} + + diff --git a/lib/lilgp/lilgpSetup1.0/src/PhasePanel.java b/lib/lilgp/lilgpSetup1.0/src/PhasePanel.java new file mode 100644 index 0000000..40cd62b --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/PhasePanel.java @@ -0,0 +1,433 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; +import java.util.*; + +/** + * This actually contains all of the UI components that accept breeding + * parameters. It currently accepts the following lilgp parameters: + */ +class PhasePanel extends Panel { + GroupPanel paramPanel; + int phase_num; + + Choice op_choice = new Choice(); + Choice sel_choice = new Choice(); + TextField cut_field = new TextField("0.32", 3); + TextField prop_field = new TextField("0.80", 3); + TextField size_field = new TextField("2", 3); + Choice keep_choice = new Choice(); + TextField int_field = new TextField("0.9", 3); + TextField ext_field = new TextField("0.1", 3); + Choice meth_choice = new Choice(); + TextField depth_field = new TextField("0-4", 5); + TextField rate_field = new TextField(5); + + /** + * Add each of the UI components needed to accept input. + * + * @param num the phase number + */ + public PhasePanel(int num) { + phase_num = num; + + paramPanel = new GroupPanel(new String("phase " + num)); + paramPanel.setLayout(new GridLayout(11, 1)); + paramPanel.setBackground(Color.lightGray); + + op_choice.addItem("crossover"); + op_choice.addItem("mutation"); + op_choice.addItem("reproduction"); + paramPanel.add(op_choice); + + sel_choice.addItem("fitness"); + sel_choice.addItem("fitness_overselect"); + sel_choice.addItem("tournament"); + sel_choice.addItem("inverse_fitness"); + sel_choice.addItem("random"); + sel_choice.addItem("best"); + sel_choice.addItem("worst"); + paramPanel.add(sel_choice); + + cut_field.setBackground(Color.white); + paramPanel.add(cut_field); + + prop_field.setBackground(Color.white); + paramPanel.add(prop_field); + + size_field.setBackground(Color.white); + paramPanel.add(size_field); + + keep_choice.addItem("off"); + keep_choice.addItem("on"); + paramPanel.add(keep_choice); + + int_field.setBackground(Color.white); + paramPanel.add(int_field); + + ext_field.setBackground(Color.white); + paramPanel.add(ext_field); + + meth_choice.addItem("half_and_half"); + meth_choice.addItem("grow"); + meth_choice.addItem("full"); + paramPanel.add(meth_choice); + + depth_field.setBackground(Color.white); + paramPanel.add(depth_field); + + rate_field.setBackground(Color.white); + paramPanel.add(rate_field); + + // start off with crossover, select=fitness..... + cut_field.hide(); + prop_field.hide(); + size_field.hide(); + meth_choice.hide(); + depth_field.hide(); + + setLayout(new BorderLayout()); + add("Center", paramPanel); + show(); + } + + /** + * Trap input events and determine which set of UI components should be + * visible based on the user's selections. + */ + public boolean action(Event event, Object arg) { + if (event.target == op_choice) { + if (((String)arg).equals("crossover")) { + crossoverSelection(); + return true; + } + else if (((String)arg).equals("mutation")) { + mutationSelection(); + return true; + } + else if (((String)arg).equals("reproduction")) { + reproductionSelection(); + return true; + } + } + else if (event.target == sel_choice) { + if (((String)arg).equals("fitness_overselect")) { + fitnessOverselectSelection(); + return true; + } + else if (((String)arg).equals("tournament")) { + tournamentSelection(); + return true; + } + else { + defaultSelection(); + return true; + } + } + return super.action(event, arg); + } + + /** + * Collect the contents of each UI component and store it in the + * ParameterDB. + * + * @see ParameterDB + */ + public void flushParameters() { + // build the 'breed[#]' parameters as we collect + // the user selections. + StringBuffer opStatement = new StringBuffer(); + StringBuffer rtStatement = new StringBuffer(); + + // extract the genetic operator + String op = op_choice.getSelectedItem(); + opStatement.append(op); + + // extract the selection method + String sel = sel_choice.getSelectedItem(); + opStatement.append(", select="); + + if (sel.equals("fitness_overselect")) { + // add pop_size check for cutoff value + //if( ((cut_field.getText()).trim()).length() != 0) { + opStatement.append("(fitness_overselect, cutoff=" + (cut_field.getText()).trim()); + //} + opStatement.append(", proportion=" + (prop_field.getText()).trim() + ")"); + } + else if (sel.equals("tournament")) { + opStatement.append("(tournament, size=" + (size_field.getText()).trim() + ")"); + } + else { + opStatement.append(sel); + } + + // extract operator dependent options + if (op.equals("crossover")) { + opStatement.append(", keep_trying=" + keep_choice.getSelectedItem()); + if( ((int_field.getText()).trim()).length() != 0) { + opStatement.append(", internal=" + (int_field.getText()).trim()); + } + if( ((ext_field.getText()).trim()).length() != 0) { + opStatement.append(", external=" + (ext_field.getText()).trim()); + } + } + else if (op.equals("mutation")) { + opStatement.append(", keep_trying=" + keep_choice.getSelectedItem()); + if( ((int_field.getText()).trim()).length() != 0) { + opStatement.append(", internal=" + (int_field.getText()).trim()); + } + if( ((ext_field.getText()).trim()).length() != 0) { + opStatement.append(", external=" + (ext_field.getText()).trim()); + } + opStatement.append(", method=" + meth_choice.getSelectedItem()); + //if( ((depth_field.getText()).trim()).length() != 0) { + opStatement.append(", depth=" + depth_field.getText()); + //} + } + + // build the rate parameter + // this is a special case, where we will allow an + // empty string to be stored in the database. It isn't + // possible for opStatement to be empty, so it will + // simplify the parsing if we keep the number of operator + // and rate parameters the same in the datbase - even if + // the rate fields are empty. + rtStatement.append((rate_field.getText()).trim()); + + // load them into the database + String op_param = new String("breed[" + phase_num + "].operator"); + String rt_param = new String("breed[" + phase_num + "].rate"); + lilgpSetup.params.addToDB(op_param, opStatement.toString()); + lilgpSetup.params.addToDB(rt_param, rtStatement.toString()); + } + + /** + * This method is responsible for loading parameters on each of the phase panels + * after the user opens a parameter file. + * + */ + public void loadParams() { + String op_param = new String("breed[" + phase_num + "].operator"); + String rt_param = new String("breed[" + phase_num + "].rate"); + + // tear it apart and fill in the UI components for this PhasePanel + // this will never be null.... + String op_str = lilgpSetup.params.getProp( op_param ); + StringBuffer new_op_str = new StringBuffer( op_str ); + + // tokenize the operator string + StringTokenizer st = new StringTokenizer(op_str, ",() ", false); + + // examine each piece of this operator + while(st.hasMoreTokens()) { + // now examine the param=value pieces + StringTokenizer s = new StringTokenizer(st.nextToken(), "=", false); + + // we are looking at a param=value situation + if (s.countTokens() == 2) { + String param = s.nextToken(); + String value = s.nextToken(); + + if (param.equals("cutoff")) { + cut_field.setText(value.trim()); + } + else if (param.equals("proportion")) { + prop_field.setText(value.trim()); + } + else if (param.equals("internal")) { + int_field.setText(value.trim()); + } + else if (param.equals("external")) { + ext_field.setText(value.trim()); + } + else if (param.equals("depth")) { + depth_field.setText(value.trim()); + } + else if (param.equals("size")) { + size_field.setText(value.trim()); + } + else if (param.equals("select")) { + if (value.equals("fitness") || value.equals("inverse_fitness") || + value.equals("random") || value.equals("best") || + value.equals("worst")) + { + sel_choice.select(value.trim()); + defaultSelection(); + } + } + else if (param.equals("method")) { + meth_choice.select(value); + } + else if (param.equals("keep_trying")) { + keep_choice.select(value.trim()); + } + } + else if (s.countTokens() == 1) { + // and here we have a lone parameter.... + String param = s.nextToken(); + + if (param.equals("crossover")) { + op_choice.select(param.trim()); + crossoverSelection(); + } + else if (param.equals("mutation")) { + op_choice.select(param.trim()); + mutationSelection(); + } + else if (param.equals("reproduction")) { + op_choice.select(param.trim()); + reproductionSelection(); + } + else if (param.equals("fitness")) { + sel_choice.select(param.trim()); + defaultSelection(); + } + else if (param.equals("fitness_overselect")) { + sel_choice.select(param.trim()); + fitnessOverselectSelection(); + } + else if (param.equals("tournament")) { + sel_choice.select(param.trim()); + tournamentSelection(); + } + else if (param.equals("inverse_fitness")) { + sel_choice.select(param.trim()); + defaultSelection(); + } + else if (param.equals("random")) { + sel_choice.select(param.trim()); + defaultSelection(); + } + else if (param.equals("best")) { + sel_choice.select(param.trim()); + defaultSelection(); + } + else if (param.equals("worst")) { + sel_choice.select(param.trim()); + defaultSelection(); + } + else if (param.equals("off")) { + keep_choice.select(param.trim()); + } + else if (param.equals("on")) { + keep_choice.select(param.trim()); + } + } + } + + // get the rate string from the database + String rate_str = lilgpSetup.params.getProp( rt_param ); + if (rate_str != null) { + rate_field.setText(rate_str); + } + else { + rate_field.setText(""); + } + } + + private void crossoverSelection() { + // show the right ones + keep_choice.show(); + int_field.show(); + ext_field.show(); + + // hide the wrong ones + meth_choice.hide(); + depth_field.hide(); + + invalidate(); + validate(); + } + + private void mutationSelection() { + // show the right ones + keep_choice.show(); + int_field.show(); + ext_field.show(); + meth_choice.show(); + depth_field.show(); + + invalidate(); + validate(); + } + + private void reproductionSelection() { + // hide the wrong ones + keep_choice.hide(); + int_field.hide(); + ext_field.hide(); + meth_choice.hide(); + depth_field.hide(); + + invalidate(); + validate(); + } + + private void fitnessOverselectSelection() { + // show the right ones + cut_field.show(); + prop_field.show(); + + // hide the wrong ones + size_field.hide(); + + invalidate(); + validate(); + } + + private void tournamentSelection() { + // show the right ones + size_field.show(); + + // hide the wrong ones + cut_field.hide(); + prop_field.hide(); + + invalidate(); + validate(); + } + + private void defaultSelection() { + // hide them all + cut_field.hide(); + prop_field.hide(); + size_field.hide(); + + invalidate(); + validate(); + } +} \ No newline at end of file diff --git a/lib/lilgp/lilgpSetup1.0/src/QuitBox.java b/lib/lilgp/lilgpSetup1.0/src/QuitBox.java new file mode 100644 index 0000000..a1965a7 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/QuitBox.java @@ -0,0 +1,104 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * Ask the user if they really want to quit. + */ + +class QuitBox extends Dialog { + Button yesButton; + Button noButton; + + public QuitBox(Frame parent) { + super(parent, "Quit Application?", true); + setResizable(false); + setLayout(new BorderLayout()); + setBackground(Color.white); + + Panel p = new Panel(); + p.setLayout(new FlowLayout()); + yesButton=new Button("Yes"); + p.add(yesButton); + noButton=new Button("No"); + p.add(noButton); + + add("North", new TitlePanel("Really Quit?")); + add("Center", p); + + resize(200, 150); + } + + public void show() { + Rectangle parentBounds = getParent().bounds(); + Rectangle myBounds = this.bounds(); + + move(parentBounds.x + (parentBounds.width - myBounds.width)/ 2, + parentBounds.y + (parentBounds.height - myBounds.height)/2); + + super.show(); + } + + public boolean handleEvent(Event event) { + if (event.id == Event.ACTION_EVENT && event.target == noButton) { + clickedNoButton(); + return true; + } + else + if (event.id == Event.ACTION_EVENT && event.target == yesButton) { + clickedYesButton(); + return true; + } + else + + if (event.id == Event.WINDOW_DESTROY) { + hide(); + return true; + } + return super.handleEvent(event); + } + + public void clickedYesButton() { + System.exit(0); + } + + public void clickedNoButton() { + handleEvent(new Event(this, Event.WINDOW_DESTROY, null)); + } +} + + diff --git a/lib/lilgp/lilgpSetup1.0/src/Scroller.java b/lib/lilgp/lilgpSetup1.0/src/Scroller.java new file mode 100644 index 0000000..797ef97 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/Scroller.java @@ -0,0 +1,223 @@ +/* SUN MICROSYSTEMS LICENSE AGREEMENT + * + * This is a legal agreement between the purchaser of this book/CD-ROM package + * ("You") and Sun Microsystems, Inc. By opening the sealed CD-ROM you are + * agreeing to be bound by the terms of this agreement. If you do not agree to the + * terms of this agreement, promptly return the unopened book/CD-ROM package to the + * place you obtained it for a full refund. + * + * SOFTWARE LICENSE + * + * 1. Grant of License: Sun Microsystems grants to you ("Licensee") a + * non-exclusive, non-transferable license to use the Sun Microsystems software + * programs included on the CD-ROM without fee. The software is in "use" on a + * computer when it is loaded into the temporary memory (i.e. RAM) or installed + * into the permanent memory (e.g. hard disk, CD-ROM, or other storage device). + * You may network the software or otherwise use it on more than one computer or + * computer terminal at the same time. + * + * 2. Copyright: The CD-ROM is copyrighted by Sun Microsystems, Inc. and is + * protected by United States copyright laws and international treaty provisions. + * Therefore, you must treat the CD-ROM like any other copyrighted material. + * Individual software programs on the CD-ROM are copyrighted by their respective + * owners and may require separate licensing. The Java Development Kit is + * copyrighted by Sun Microsystems, Inc. and is covered by a separate license + * agreement provided on the CD-ROM. + * + * 3. Graphic Java Toolkit (GJT) and Sample Code: Sun Microsystems, Inc. + * grants you a royalty-free right to reproduce and distribute the GJT and sample + * code provided that you: (a) distribute the GJT and sample code only in + * conjunction with and as a part of your software application; (b) do not use Sun + * Microsystems, Inc. or its authors' names, logos, or trademarks to market your + * software product; and (c) agree to indemnify, hold harmless and defend Sun + * Microsystems, Inc. and its authors and suppliers from and against any claims or + * lawsuits, including attorneys fees, that arise or result from the use or + * distribution of your software product. + * + * DISCLAIMER OF WARRANTY + * + * The SOFTWARE (including instructions for its use) is provided "AS IS" WITHOUT + * WARRANTY OF ANY KIND. SUN MICROSYSTEMS and any distributor of the SOFTWARE + * FURTHER DISCLAIM ALL IMPLIED WARRANTIES INCLUDING WITHOUT LIMITATION ANY IMPLIED + * WARRANTIES OF MERCHANTABILITY OR OF FITNESS FOR A PARTICULAR PURPOSE. THE + * ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THE SOFTWARE OR + * DOCUMENTATION REMAINS WITH YOU. + * + * IN NO EVENT SHALL SUN MICROSYSTEMS, ITS AUTHORS, OR ANY ONE ELSE INVOLVED IN THE + * CREATION, PRODUCTION, OR DELIVERY OF THE SOFTWARE BE LIABLE FOR ANY DAMAGES + * WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, + * BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) + * ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE OR DOCUMENTATION, + * EVEN IF SUN MICROSYSTEMS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, + * BECAUSE SOME STATES/COUNTRIES DO NOT ALLOW THE EXCLUSION OF LIMITATION OF + * LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT + * APPLY TO YOU. + * + * U.S. GOVERNMENT RESTRICTED RIGHTS + * + * The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, + * duplication, or disclosure is subject to restrictions as set forth in + * subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software + * clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial + * Computer Software -- Restricted Rights 48 CFR 52.227-19. + * + * Should you have any questions concerning this Agreement, or if you desire to + * contact Sun Microsystems for any reason, please write: Sun Microsystems, Inc., + * 2550 Garcia Avenue, Mountain View, CA 94043. + * + * Copyright: (c) 1997, Sun Microsystems, Inc. + */ + + +import java.awt.*; + +/** + * Each Scroller contains a Panel (viewport) and two Scrollbars + * (horizontal and vertical). Works in conjunction with a + * ScrollerLayout, that lays out the viewport and two + * scrollbars.

+ * + * Subclasses must override:

+ *

+ *
abstract public void scrollTo(int x, int y) + *
abstract public Dimension getScrollAreaSize() + *
+ * + * @version 1.0, Apr 1 1996 + * @author David Geary + * @see ComponentScroller + * @see ImageScroller + * @see ScrollerLayout + * @see gjt.test.ComponentScrollerTest + * @see gjt.test.ImageScrollerTest + */ +public abstract class Scroller extends Panel { + protected Panel viewport; + protected Scrollbar hbar, vbar; + + abstract public void scrollTo(int x, int y); + abstract public Dimension getScrollAreaSize(); + + public Scroller() { + setLayout(new ScrollerLayout(this)); + add("Scroll", viewport = new Panel()); + add("East", vbar = new Scrollbar(Scrollbar.VERTICAL)); + add("South",hbar = new Scrollbar(Scrollbar.HORIZONTAL)); + } + public Scrollbar getHorizontalScrollbar() {return hbar; } + public Scrollbar getVerticalScrollbar () {return vbar; } + public Panel getViewport () {return viewport;} + + public boolean handleEvent(Event event) { + boolean handledEvent; + + switch(event.id) { + case Event.SCROLL_LINE_UP: scrollLineUp(event); + break; + case Event.SCROLL_LINE_DOWN: scrollLineDown(event); + break; + case Event.SCROLL_PAGE_UP: scrollPageUp (event); + break; + case Event.SCROLL_PAGE_DOWN: scrollPageDown(event); + break; + case Event.SCROLL_ABSOLUTE: scrollAbsolute(event); + break; + } + handledEvent = event.id == Event.SCROLL_LINE_UP || + event.id == Event.SCROLL_LINE_DOWN || + event.id == Event.SCROLL_PAGE_UP || + event.id == Event.SCROLL_PAGE_DOWN || + event.id == Event.SCROLL_ABSOLUTE; + + if(handledEvent) return true; + else return super.handleEvent(event); + } + public void paint (Graphics g) { scroll(); } + public void update(Graphics g) { paint(g); } + + public void manageScrollbars() { + manageHorizontalScrollbar(); + manageVerticalScrollbar (); + } + protected void manageHorizontalScrollbar() { + Dimension size = size(); + Dimension scrollAreaSize = getScrollAreaSize(); + + if(vbar.isVisible()) + size.width -= vbar.size().width; + + if(scrollAreaSize.width > size.width) { + if( ! hbar.isVisible()) + hbar.show(); + } + else if(hbar.isVisible()) { + hbar.hide(); + hbar.setValue(0); + repaint(); + } + } + protected void manageVerticalScrollbar() { + Dimension size = size(); + Dimension scrollAreaSize = getScrollAreaSize(); + + if(hbar.isVisible()) + size.height -= hbar.size().height; + + if(scrollAreaSize.height > size.height) { + if( ! vbar.isVisible()) + vbar.show(); + } + else if(vbar.isVisible()) { + vbar.hide(); + vbar.setValue(0); + repaint(); + } + } + public void setScrollbarValues() { + if(hbar.isVisible()) setHorizontalScrollbarValues(); + if(vbar.isVisible()) setVerticalScrollbarValues(); + } + protected void setHorizontalScrollbarValues() { + Dimension vsize = viewport.size(); + Dimension scrollAreaSize = getScrollAreaSize(); + int max = scrollAreaSize.width - vsize.width; + + hbar.setValues(hbar.getValue(), // value + vsize.width, // amt visible/page + 0, // minimum + max); // maximum + + setHorizontalLineAndPageIncrements(); + } + protected void setVerticalScrollbarValues() { + Dimension vsize = viewport.size(); + Dimension scrollAreaSize = getScrollAreaSize(); + int max = scrollAreaSize.height - vsize.height; + + vbar.setValues(vbar.getValue(), // value + vsize.height, // amt visible/page + 0, // minimum + max); // maximum + + setVerticalLineAndPageIncrements(); + } + protected void scrollLineUp (Event event) { scroll(); } + protected void scrollLineDown(Event event) { scroll(); } + protected void scrollPageUp (Event event) { scroll(); } + protected void scrollPageDown(Event event) { scroll(); } + protected void scrollAbsolute(Event event) { scroll(); } + + protected void setHorizontalLineAndPageIncrements() { + Dimension size = getScrollAreaSize(); + hbar.setLineIncrement(size.width/10); + hbar.setPageIncrement(size.width/5); + } + protected void setVerticalLineAndPageIncrements() { + Dimension size = getScrollAreaSize(); + vbar.setLineIncrement(size.height/10); + vbar.setPageIncrement(size.height/5); + } + protected void scroll() { + scrollTo(hbar.getValue(), vbar.getValue()); + } +} diff --git a/lib/lilgp/lilgpSetup1.0/src/ScrollerLayout.java b/lib/lilgp/lilgpSetup1.0/src/ScrollerLayout.java new file mode 100644 index 0000000..e6c6806 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/ScrollerLayout.java @@ -0,0 +1,228 @@ +/* SUN MICROSYSTEMS LICENSE AGREEMENT + * + * This is a legal agreement between the purchaser of this book/CD-ROM package + * ("You") and Sun Microsystems, Inc. By opening the sealed CD-ROM you are + * agreeing to be bound by the terms of this agreement. If you do not agree to the + * terms of this agreement, promptly return the unopened book/CD-ROM package to the + * place you obtained it for a full refund. + * + * SOFTWARE LICENSE + * + * 1. Grant of License: Sun Microsystems grants to you ("Licensee") a + * non-exclusive, non-transferable license to use the Sun Microsystems software + * programs included on the CD-ROM without fee. The software is in "use" on a + * computer when it is loaded into the temporary memory (i.e. RAM) or installed + * into the permanent memory (e.g. hard disk, CD-ROM, or other storage device). + * You may network the software or otherwise use it on more than one computer or + * computer terminal at the same time. + * + * 2. Copyright: The CD-ROM is copyrighted by Sun Microsystems, Inc. and is + * protected by United States copyright laws and international treaty provisions. + * Therefore, you must treat the CD-ROM like any other copyrighted material. + * Individual software programs on the CD-ROM are copyrighted by their respective + * owners and may require separate licensing. The Java Development Kit is + * copyrighted by Sun Microsystems, Inc. and is covered by a separate license + * agreement provided on the CD-ROM. + * + * 3. Graphic Java Toolkit (GJT) and Sample Code: Sun Microsystems, Inc. + * grants you a royalty-free right to reproduce and distribute the GJT and sample + * code provided that you: (a) distribute the GJT and sample code only in + * conjunction with and as a part of your software application; (b) do not use Sun + * Microsystems, Inc. or its authors' names, logos, or trademarks to market your + * software product; and (c) agree to indemnify, hold harmless and defend Sun + * Microsystems, Inc. and its authors and suppliers from and against any claims or + * lawsuits, including attorneys fees, that arise or result from the use or + * distribution of your software product. + * + * DISCLAIMER OF WARRANTY + * + * The SOFTWARE (including instructions for its use) is provided "AS IS" WITHOUT + * WARRANTY OF ANY KIND. SUN MICROSYSTEMS and any distributor of the SOFTWARE + * FURTHER DISCLAIM ALL IMPLIED WARRANTIES INCLUDING WITHOUT LIMITATION ANY IMPLIED + * WARRANTIES OF MERCHANTABILITY OR OF FITNESS FOR A PARTICULAR PURPOSE. THE + * ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THE SOFTWARE OR + * DOCUMENTATION REMAINS WITH YOU. + * + * IN NO EVENT SHALL SUN MICROSYSTEMS, ITS AUTHORS, OR ANY ONE ELSE INVOLVED IN THE + * CREATION, PRODUCTION, OR DELIVERY OF THE SOFTWARE BE LIABLE FOR ANY DAMAGES + * WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, + * BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) + * ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE OR DOCUMENTATION, + * EVEN IF SUN MICROSYSTEMS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, + * BECAUSE SOME STATES/COUNTRIES DO NOT ALLOW THE EXCLUSION OF LIMITATION OF + * LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT + * APPLY TO YOU. + * + * U.S. GOVERNMENT RESTRICTED RIGHTS + * + * The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, + * duplication, or disclosure is subject to restrictions as set forth in + * subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software + * clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial + * Computer Software -- Restricted Rights 48 CFR 52.227-19. + * + * Should you have any questions concerning this Agreement, or if you desire to + * contact Sun Microsystems for any reason, please write: Sun Microsystems, Inc., + * 2550 Garcia Avenue, Mountain View, CA 94043. + * + * Copyright: (c) 1997, Sun Microsystems, Inc. + */ + +import java.awt.*; + +/** + * Layout manager for a Scroller.

+ * + * Lays out 3 Components: a horizontal scrollbar, a vertical + * scrollbar and a viewport (Panel).

+ * + * Valid names/Component pairs that can be added via + * addLayoutComponent(String, Component):

+ *

+ *
"East" Scrollbar (vertical) + *
"West" Scrollbar (vertical) + *
"North" Scrollbar (horizontal) + *
"South" Scrollbar (horizontal) + *
"Scroll" Panel (viewport) + *
+ * + * @version 1.0, Apr 1 1996 + * @author David Geary + * @see Scroller + */ +public class ScrollerLayout implements LayoutManager { + private Scroller scroller; + private Scrollbar hbar, vbar; + private String hbarPosition, vbarPosition; + private Component viewport; + private int top, bottom, right, left; + + public ScrollerLayout(Scroller scroller) { + this.scroller = scroller; + } + + public void addLayoutComponent(String name, + Component comp) { + Assert.notFalse(comp != null); + + if(comp instanceof Scrollbar) { + Scrollbar sbar = (Scrollbar)comp; + + if(sbar.getOrientation() == Scrollbar.VERTICAL) { + Assert.notFalse("East".equals(name) == true || + "West".equals(name) == true); + vbar = sbar; + vbarPosition = name; + } + else { + Assert.notFalse("North".equals(name) == true || + "South".equals(name) == true); + hbar = sbar; + hbarPosition = name; + } + } + else { + Assert.notFalse("Scroll".equals(name) == true); + viewport = comp; + } + } + public void removeLayoutComponent(Component comp) { + if(comp == vbar) vbar = null; + if(comp == hbar) hbar = null; + if(comp == viewport) viewport = null; + } + public Dimension preferredLayoutSize(Container parent) { + Dimension dim = new Dimension(0,0); + + if(vbar != null && vbar.isVisible()) { + Dimension d = vbar.preferredSize(); + dim.width += d.width; + dim.height = d.height; + } + if(hbar != null && hbar.isVisible()) { + Dimension d = hbar.preferredSize(); + dim.width += d.width; + dim.height = Math.max(d.height, dim.height); + } + if(viewport != null && viewport.isVisible()) { + Dimension d = viewport.preferredSize(); + dim.width += d.width; + dim.height = Math.max(d.height, dim.height); + } + return dim; + } + public Dimension minimumLayoutSize(Container parent) { + Dimension dim = new Dimension(0,0); + + if(vbar != null && vbar.isVisible()) { + Dimension d = vbar.minimumSize(); + dim.width += d.width; + dim.height = d.height; + } + if(hbar != null && hbar.isVisible()) { + Dimension d = hbar.minimumSize(); + dim.width += d.width; + dim.height = Math.max(d.height, dim.height); + } + if(viewport != null && viewport.isVisible()) { + Dimension d = viewport.minimumSize(); + dim.width += d.width; + dim.height = Math.max(d.height, dim.height); + } + return dim; + } + public void layoutContainer(Container target) { + Insets insets = target.insets(); + Dimension targetSize = target.size(); + + top = insets.top; + bottom = targetSize.height - insets.bottom; + left = insets.left; + right = targetSize.width - insets.right; + + scroller.manageScrollbars(); + + reshapeHorizontalScrollbar(); + reshapeVerticalScrollbar (); + reshapeViewport (); + + scroller.setScrollbarValues(); + } + private void reshapeHorizontalScrollbar() { + if(hbar != null && hbar.isVisible()) { + if("North".equals(hbarPosition)) { + Dimension d = hbar.preferredSize(); + hbar.reshape(left, top, right - left, d.height); + top += d.height; + } + else { // South + Dimension d = hbar.preferredSize(); + hbar.reshape(left, bottom - d.height, + right - left,d.height); + bottom -= d.height; + } + } + } + private void reshapeVerticalScrollbar() { + if(hbar != null && vbar.isVisible()) { + if("East".equals(vbarPosition)) { + Dimension d = vbar.preferredSize(); + vbar.reshape(right - d.width, top, + d.width, bottom - top); + right -= d.width; + } + else { // West + Dimension d = vbar.preferredSize(); + vbar.reshape(left, top, + d.width, bottom - top); + left += d.width; + } + } + } + private void reshapeViewport() { + if(viewport != null && viewport.isVisible()) { + viewport.reshape(left, top, + right - left, bottom - top); + } + } +} diff --git a/lib/lilgp/lilgpSetup1.0/src/SizeLimitsPanel.java b/lib/lilgp/lilgpSetup1.0/src/SizeLimitsPanel.java new file mode 100644 index 0000000..9aa021a --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/SizeLimitsPanel.java @@ -0,0 +1,142 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * This panel contains a TitlePanel and a GridBagPanel + * that accepts input for the following lilgp parameters: + *
+ *
  • max_nodes
  • max_depth
+ *

+ * It does not currently support the input of: + *

  • tree[#].max_nodes
  • tree[#].max_depth
+ * + * @see TitlePanel + * @see GridBagPanel + */ +class SizeLimitsPanel extends Panel { + private TitlePanel tp= new TitlePanel("Size Limit Parameters"); + private GridBagPanel fip = new GridBagPanel(); + + private static TextField max_nodes = new TextField(10); + private static TextField max_depth = new TextField(10); + + /** + * Add each of the UI components needed to accept input. + * + * @see GridBagPanel#addComponent + */ + public SizeLimitsPanel() { + setLayout(new BorderLayout()); + + // fill-in panel for parameters + fip.setBackground(Color.white); + fip.addComponent(new ClickableLabel("max_nodes"), 0, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(max_nodes, 1, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + fip.addComponent(new ClickableLabel("max_depth"), 0, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(max_depth, 1, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + // finally, add the two panels and show them + add("North", tp); + add("Center", fip); + show(); + } + + /** + * Collect the contents of each UI component and store it in the + * ParameterDB. + * + * @see ParameterDB + */ + public static void flushParameters() { + String temp_str; + + temp_str = (max_nodes.getText()).trim(); + if (temp_str.length() != 0) + lilgpSetup.params.addToDB("max_nodes", temp_str); + else + lilgpSetup.params.delFromDB("max_nodes"); + + temp_str = (max_depth.getText()).trim(); + if (temp_str.length() != 0) + lilgpSetup.params.addToDB("max_depth", temp_str); + else + lilgpSetup.params.delFromDB("max_depth"); + } + + /** + * Trap TextField events and send the focus to the + * next field on the panel. + */ + public boolean action(Event event, Object arg) { + if (event.target == max_nodes) { + max_depth.requestFocus(); + return true; + } + else if (event.target == max_depth) { + max_nodes.requestFocus(); + return true; + } + + return super.action(event, arg); + } + + public static void loadParams() { + String s = lilgpSetup.params.getProp("max_nodes"); + if (s != null) { + max_nodes.setText(s); + } + else { + max_nodes.setText(""); + } + + s = lilgpSetup.params.getProp("max_depth"); + if (s != null) { + max_depth.setText(s); + } + else { + max_depth.setText(""); + } + } +} + + diff --git a/lib/lilgp/lilgpSetup1.0/src/SubPopFrame.java b/lib/lilgp/lilgpSetup1.0/src/SubPopFrame.java new file mode 100644 index 0000000..4775a64 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/SubPopFrame.java @@ -0,0 +1,449 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; +import java.util.Hashtable; + +/** + * This frame contains a TitlePanel and groups of UI components + * that allow the user to specify the following sub-pop exchange parameters: + *
  • exch[#].from + *
  • exch[#].fromselect + *
  • exch[#].to + *
  • exch[#].toselect + *
  • exch[#].count

+ * There is also a group of buttons that allow the user to add, replace, edit, + * and accept the exchanges. There is a List component in the bottom of the + * frame that is used to show the current exchanges. + * + * The constructor function creates a second frame that contains a SubPopGraph. + * + * @see SubPopGraph + */ +class SubPopFrame extends Frame { + private Frame graphFrame; + private SubPopGraph spg; + + // this Hashtable will hold objects of type Exchange. They key is + // generated from the exchange information + private Hashtable exchanges; + + private int numPops; + + private TitlePanel tp = new TitlePanel("Sub-Population Editor"); + private GridBagPanel fip = new GridBagPanel(); + private List summary = new List(10, false); + + private Choice fromPop = new Choice(); + private Choice toPop = new Choice(); + private TextField count = new TextField(3); + private Choice fromSelect = new Choice(); + private Choice toSelect = new Choice(); + + private Button addButton; + private Button editButton; + private Button delButton; + private Button accept; + + // these will be used when we are replacing an exchange + private int replaceIndex = -1; + private String replaceKey; + private boolean editingExchange = false; + + /** + * Add each of the UI components needed to accept input. + * + * @param np the number of sub populations + * @see GridBagPanel#addComponent + */ + public SubPopFrame(int np, boolean showGraph) { + super("Sub-Population Editor"); + numPops = np; + exchanges = new Hashtable(); + + // create our graph frame + graphFrame = new Frame("Sub-Population Graph"); + graphFrame.setResizable(false); + graphFrame.setLayout(new BorderLayout()); + graphFrame.add("North", new TitlePanel("Sub-Population Graph")); + spg = new SubPopGraph(this, numPops); + graphFrame.add("Center", spg); + graphFrame.pack(); + + // don't show the graph after loading data from an input file + if (showGraph == true) { + graphFrame.show(); + } + + // build the Choice items + for(int i = 1; i <= numPops; i++) { + fromPop.addItem(Integer.toString(i)); + toPop.addItem(Integer.toString(i)); + } + fromSelect.addItem("best"); + fromSelect.addItem("worst"); + toSelect.addItem("worst"); + toSelect.addItem("best"); + + // add the components.... + fip.addComponent(new Label("From"), 0, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(fromPop, 0, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(new Label("To"), 1, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(toPop, 1, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(new Label("Count"), 2, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(count, 2, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(new Label("From Select"), 3, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(fromSelect, 3, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(new Label("To Select"), 4, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(toSelect,4, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + // put the components in a GroupPanel + GroupPanel gp1 = new GroupPanel("Sub-pop Parameters"); + gp1.add(fip); + + // make another GroupPanel for the control buttons + GroupPanel gp2 = new GroupPanel("Actions"); + addButton = new Button("Add/Replace"); + editButton = new Button("Edit"); + delButton = new Button("Delete"); + accept = new Button("Accept"); + + Panel bp = new Panel(); + bp.setLayout(new FlowLayout()); + bp.add(addButton); + bp.add(editButton); + bp.add(delButton); + bp.add(accept); + + // setup a bunch of labels that give the user some brief instructions + Panel ip = new Panel(); + ip.setLayout(new GridLayout(5, 1, 0, 0)); + Label l1 = new Label("After setting up an exchange, press the 'Add/Replace'", Label.CENTER); + Label l2 = new Label("button to add it to the list. To edit an existing exchange,", Label.CENTER); + Label l3 = new Label("select it and press the 'Edit' button. Clicking on the", Label.CENTER); + Label l4 = new Label("'Add/Replace' button will replace the selected exchange.", Label.CENTER); + Label l5 = new Label("To delete an exchange, select it and click the 'Delete' button.", Label.CENTER); + Font f = new Font("TimesRoman", Font.ITALIC, 14); + l1.setFont(f); + l2.setFont(f); + l3.setFont(f); + l4.setFont(f); + l5.setFont(f); + ip.add(l1); + ip.add(l2); + ip.add(l3); + ip.add(l4); + ip.add(l5); + + gp2.setLayout(new BorderLayout()); + gp2.add("North", bp); + gp2.add("South", ip); + + GridBagPanel topPanel = new GridBagPanel(); + topPanel.addComponent(gp1, 0, 0, 1, 1, 0, 0, + GridBagConstraints.HORIZONTAL, GridBagConstraints.CENTER); + topPanel.addComponent(gp2, 0, 1, 1, 1, 0, 0, + GridBagConstraints.HORIZONTAL, GridBagConstraints.CENTER); + topPanel.addComponent(summary, 0, 2, 1, 1, 0, 0, + GridBagConstraints.HORIZONTAL, GridBagConstraints.CENTER); + + add("North", tp); + add("Center", topPanel); + } + + /** + * Trap Button events. If the Accept button is pressed, + * then hide() the SubPopFrame and re-enable the Go + * button and the purge button on the SubPopPanel. If the + * accept button has been pressed, then all of the parameters associated + * with sub-pops are purged from the database before adding the new ones. + * + * @see SubPopsPanel + * @see SubPopsPanel#enableButtons + */ + public boolean action(Event e, Object arg) { + if (e.target == addButton) { + // try to convert the string in the count field to an int + try { + // pull all of the information from the exchange fields + int count_int = Integer.parseInt(count.getText()); + String fp = fromPop.getSelectedItem(); + String tp = toPop.getSelectedItem(); + String c = count.getText(); + String fs = fromSelect.getSelectedItem(); + String ts = toSelect.getSelectedItem(); + + // the key will be generated from the values contained in the + // exchange fields. The key will also be printed in the summary + // List and used to extract the exchanges back out of the + // Hashtable when the accept button is pressed, so be careful + // if you change the format of the key. + String k = makeKey(fp, tp, c, fs, ts); + + // Create a new Exchange object + Exchange thisExchange = new Exchange(fp, tp, c, fs, ts, k); + + if (replaceIndex != -1) { + // we are replacing a specific exchange + + // replace the item in the summary list, remove it from the + // Hashtable, and put the new Exchange in the Hashtable + summary.replaceItem(thisExchange.key, replaceIndex); + exchanges.remove(replaceKey); + exchanges.put(thisExchange.key, thisExchange); + + // reset our replace variables + replaceIndex = -1; + replaceKey = null; + editingExchange = false; + } + else if (exchanges.containsKey(thisExchange.key) == false) { + // this is a new exchange, so add the key to the summary + // list and put the Exchange in the Hashtable + summary.addItem(thisExchange.key); + exchanges.put(thisExchange.key, thisExchange); + } + else { + // otherwise, this exchange already exists. + InfoDialog id = new InfoDialog("this exchange already exists"); + id.show(); + } + + // redraw the graph + refreshGraph(); + } + catch (NumberFormatException ex) { + InfoDialog id = new InfoDialog("'count' must be supplied"); + id.show(); + } + + return true; + } + else if (e.target == delButton) { + if (summary.getSelectedIndex() != -1) { + // we don't have to worry about actually removing the + // exchanges from the database here, because they will + // be purged when the user clicks the accept button. + + // remove the exchange from the hashtable & List + exchanges.remove(summary.getSelectedItem()); + summary.delItem(summary.getSelectedIndex()); + + // redraw the graph + refreshGraph(); + } + return true; + } + else if (e.target == editButton) { + // first make sure that there is something selected in the list... + if (summary.getSelectedIndex() != -1) { + // set our edit flag + editingExchange = true; + + // using the selected text as a key, pull the exchange out of the Hashtable + // and change all of the components on the form... + Exchange targetExchange = (Exchange)(exchanges.get(summary.getSelectedItem())); + fromPop.select(targetExchange.fromPop); + toPop.select(targetExchange.toPop); + count.setText(targetExchange.count); + fromSelect.select(targetExchange.fromSelect); + toSelect.select(targetExchange.toSelect); + + // remember the index of this exchange in the list so we know + // which one to replace. remember the current key, so we can + // remove it from the Hashtable before inserting the new one.. + replaceIndex = summary.getSelectedIndex(); + replaceKey = new String(targetExchange.key); + + // redraw the graph + refreshGraph(); + } + return true; + } + else if (e.target == accept) { + // count the number of exchanges and insert multiple.exchanges into the database + int numExchanges = exchanges.size(); + lilgpSetup.params.addToDB("multiple.exchanges", String.valueOf(numExchanges)); + + // add a special parameter to the database that keeps track of the + // expected number of sub-pops. It is possible to specify X subpops in the + // SubPopsPanel, edit the exchanges, accept the exchanges, then change the + // number of sub-pops. This parameter will help catch that situation. + // The parseSubPopsPanel method will check for this.... + lilgpSetup.params.addToDB("expected_pops", String.valueOf(numPops)); + + // purge all of the old exchanges from the database + lilgpSetup.params.purgeOldSubPopExchanges(); + + + // loop through the exchanges and add them to the database + // multiple.subpops and multiple.exch_gen are flushed from the + // SubPopPanel, not here. + for(int i = 1; i <= numExchanges; i++) { + // get the exchange + Exchange currExch = (Exchange)exchanges.get(summary.getItem(i-1)); + + // create the parameter names + String from = new String("exch[" + i + "].from"); + String fromsel = new String("exch[" + i + "].fromselect"); + String to = new String("exch[" + i + "].to"); + String tosel = new String("exch[" + i + "].toselect"); + String count = new String("exch[" + i + "].count"); + + // add the info the database + lilgpSetup.params.addToDB(from, currExch.fromPop); + lilgpSetup.params.addToDB(fromsel,currExch.fromSelect); + lilgpSetup.params.addToDB(to, currExch.toPop); + lilgpSetup.params.addToDB(tosel, currExch.toSelect); + lilgpSetup.params.addToDB(count, currExch.count); + } + + // hide the frames and re-enable the 'go' button on the SubPopsPanel + hide(); + graphFrame.hide(); + SubPopsPanel.enableButtons(); + return true; + } + else { + // if there is a selected exchange and the user has not clicked + // the edit button, deselect the exchange so it doesn't look like + // they are editing it. + if ((summary.getSelectedIndex() != -1) && (editingExchange == false)) { + summary.deselect(summary.getSelectedIndex()); + } + return super.action(e, arg); + } + } + + /** + * if there is a selected exchange and the user has not clicked + * the edit button, deselect the exchange so it doesn't look like + * they are editing it. This code is repeated from + * the action() method since typing in a TextField doesn't + * generate an ACTION_EVENT. + * + */ + public boolean keyDown(Event e, int key) { + if ((summary.getSelectedIndex() != -1) && (editingExchange == false)) { + summary.deselect(summary.getSelectedIndex()); + } + return super.keyDown(e, key); + } + + /** + * This method simply constructs the key used to hash the Exchange + * objects. Incidentally, the key is also the string that is displayed + * in the summary list in the BreedFrame. + */ + private String makeKey(String fp, String tp, String c, String fs, String ts) { + return new String("the " + c + " " + fs + " from " + fp + + " replace the " + c + " " + ts + " from " + tp); + } + + /** + * This method pulls all of the exchanges from the hashtable and puts them + * into an array. It then calls the refreshgraph() method in + * SubPopGraph. + * + * @see SubPopGraph + * @see SubPopGraph#refreshGraph + */ + private void refreshGraph() { + int numExchanges = summary.countItems(); + Exchange[] exchangesArray = new Exchange[numExchanges]; + // pull each of the exchanges from the hashtable and + // insert them into an array. + for( int i = 0; i < numExchanges; i++) { + exchangesArray[i] = new Exchange((Exchange)(exchanges.get(summary.getItem(i)))); + } + + // call the refresh method in SubPopGraph class + spg.refreshGraph(exchangesArray); + } + + /** + * This methos is responsible for loading parameters into the exchange hashtable + * and refreshing the sub-pop graph. It also loads the exchange descriptions into + * the summary list. + */ + public void loadParams() { + int numExchanges = Integer.parseInt(lilgpSetup.params.getProp("multiple.exchanges")); + Hashtable ht = new Hashtable(); + + // clear the summary list window + summary.clear(); + + // loop through the exchanges in the database + for (int i = 1; i <= numExchanges; i++) { + String fp = lilgpSetup.params.getProp(new String("exch[" + i + "].from")); + String fs = lilgpSetup.params.getProp(new String("exch[" + i + "].fromselect")); + String c = lilgpSetup.params.getProp(new String("exch[" + i + "].count")); + String tp = lilgpSetup.params.getProp(new String("exch[" + i + "].to")); + String ts = lilgpSetup.params.getProp(new String("exch[" + i + "].toselect")); + + // build the Exchange objects and stick them in a temp Hashtable + String k = makeKey(fp, tp, c, fs, ts); + Exchange thisExchange = new Exchange(fp, tp, c, fs, ts, k); + ht.put(thisExchange.key, thisExchange); + + // add the keys to the summary List window + summary.addItem(thisExchange.key); + } + + // load the info into the permanent Hashtable + exchanges = ht; + refreshGraph(); + } + + + /** + * This method is called by the SubPopPanel when the user clicks on the go + * button to reshow the sub-pop graph Frame. + */ + public void showGraphFrame() { + graphFrame.show(); + } +} \ No newline at end of file diff --git a/lib/lilgp/lilgpSetup1.0/src/SubPopGraph.java b/lib/lilgp/lilgpSetup1.0/src/SubPopGraph.java new file mode 100644 index 0000000..a76b5dc --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/SubPopGraph.java @@ -0,0 +1,253 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * This class is responsible for generating a visual representation + * of the sub-population exchanges. It uses double buffering and all + * that other cool stuff..... + * + * @see SubPopFrame + */ +public class SubPopGraph extends Panel { + private SubPopFrame my_spf; + private int num_pops; + private int num_exchanges; + private Point[] popCenters; + + private Image offScreenImage; + private Graphics offScreen; + + public static final int graphWidth = 500; + public static final int graphHeight = 500; + + // radius isn't really the circle's radius. It is the + // width and hight of the bounding box around the + // circle, so the radius is actually half of whatever + // value you put here. + public static final int radius = 50; + + public Exchange[] exchanges; + + /** + * Initialize instance variables and resize the panel + * + * @param spf a reference to the SubPopFrame that created me + * @param n the number of sub populations + */ + public SubPopGraph(SubPopFrame spf, int n) { + my_spf = spf; + num_pops = n; + resize(graphWidth, graphHeight); + } + + /** + * After accepting a new set of exchanges, redraw the sub pop graph + * + * @param exArray an array of Exchange objects + */ + public void refreshGraph(Exchange[] exArray) { + exchanges = exArray; + num_exchanges = exArray.length; + paint(getGraphics()); + } + + /** + * The method that actually does all of the drawing. It paints the + * background, then the exchange links, the link arrowheads, and + * finally the sub pops. + * + * @param g the graphics object + */ + public void backgroundPaint(Graphics g) { + Rectangle clip = new Rectangle(0, 0, size().width, size().height); + + g.setColor(new Color((float)0.40, (float).75, (float)0.40)); + g.fill3DRect(0, 0, graphWidth, graphHeight, true); + + // calculate the coordinates of the center of each subpop + int Xcent = graphWidth/2; + int Ycent = graphHeight/2; + int theta = (int)(360.0/num_pops); + int angle = 90; + + popCenters = new Point[num_pops]; + + for (int i=0; i < num_pops; i++, angle+=theta) { + popCenters[i] = new Point(Xcent - (int)(175*Math.cos(angle*Math.PI/180.0)), + Ycent - (int)(175*Math.sin(angle*Math.PI/180.0))); + } + + // Draw the exchange arrows + for (int i = 0; i < num_exchanges; i++) { + // have to subtract one since sub-pops are not zero indexed + int fromPop = Integer.parseInt(exchanges[i].fromPop) - 1; + int toPop = Integer.parseInt(exchanges[i].toPop) - 1; + + int x0 = popCenters[fromPop].x; + int y0 = popCenters[fromPop].y; + int x1 = popCenters[toPop].x; + int y1 = popCenters[toPop].y; + + g.setColor(Color.black); + + // draw a thick line + g.drawLine(x0, y0, x1, y1); + g.drawLine(x0, y0+1, x1, y1+1); + g.drawLine(x0+1, y0, x1+1, y1); + g.drawLine(x0, y0-1, x1, y1-1); + g.drawLine(x0-1, y0, x1-1, y1); + + // draw the arrow head + int length = (int)( Math.sqrt( (Math.pow((x0 - x1), 2)) + + (Math.pow((y0 - y1), 2)) ) ); + double w0 = (double)(radius / 2) / (double)length; + double w1 = (double)(length - (radius / 2)) / (double)length; + double w2 = (double)radius / (double)length; + double w3 = (double)(length - radius) / (double)length; + + int tipX = (int)(w0 * x0) + (int)(w1 * x1); + int tipY = (int)(w0 * y0) + (int)(w1 * y1); + int baseX = (int)(w2 * x0) + (int)(w3 * x1); + int baseY = (int)(w2 * y0) + (int)(w3 * y1); + + double headAngle = 25.0 * Math.PI / 180.0; + int arrowLength = (int)( Math.sqrt( (Math.pow((tipX - baseX), 2)) + + (Math.pow((tipY - baseY), 2)) ) ); + + double baseAngle = Math.atan( (double)(tipY - baseY) / (double)(tipX - baseX) ); + int cosPart = (int)( arrowLength * Math.cos(baseAngle - headAngle) ); + int sinPart = (int)( arrowLength * Math.sin(baseAngle - headAngle) ); + int dx = tipX - baseX; + int dy = tipY - baseY; + int topX, botX, topY, botY; + if (dx >= 0) { + topX = (int)( tipX - ( arrowLength * Math.cos(baseAngle - headAngle) ) ); + botX = (int)( tipX - ( arrowLength * Math.cos(baseAngle + headAngle) ) ); + topY = (int)( tipY - ( arrowLength * Math.sin(baseAngle - headAngle) ) ); + botY = (int)( tipY - ( arrowLength * Math.sin(baseAngle + headAngle) ) ); + } + else { + topX = (int)( tipX + ( arrowLength * Math.cos(baseAngle - headAngle) ) ); + botX = (int)( tipX + ( arrowLength * Math.cos(baseAngle + headAngle) ) ); + topY = (int)( tipY + ( arrowLength * Math.sin(baseAngle - headAngle) ) ); + botY = (int)( tipY + ( arrowLength * Math.sin(baseAngle + headAngle) ) ); + } + + Polygon p = new Polygon(); + p.addPoint(tipX, tipY); + p.addPoint(topX, topY); + p.addPoint(botX, botY); + p.addPoint(tipX, tipY); + g.fillPolygon(p); + } + + // Draw the subpops + //int Xcent = graphWidth/2; + //int Ycent = graphHeight/2; + /*int*/ theta = (int)(360.0/num_pops); + /*int*/ angle = 90; + FontMetrics fm = getFontMetrics(getFont()); + + //popCenters = new Point[num_pops]; + + for (int i=0; i < num_pops; i++, angle+=theta) { + //int popX = Xcent - (radius/2) - (int)(175*Math.cos(angle*Math.PI/180.0)); + //int popY = Ycent - (radius/2) - (int)(175*Math.sin(angle*Math.PI/180.0)); + int popX = popCenters[i].x - (radius/2); + int popY = popCenters[i].y - (radius/2); + + //popCenters[i] = new Point(popX + (radius/2), popY + (radius/2)); + + g.setColor(Color.yellow); + g.fillOval(popX+1, popY+1, radius-1, radius-1); + g.setColor(Color.black); + g.drawOval(popX, popY, radius, radius); + g.drawOval(popX+1, popY+1, radius-1, radius-1); + + g.setColor(Color.black); + // have to add 1 to i since sub-pops are not zero indexed + String label = new String(String.valueOf(i+1)); + g.drawString(label, (popX+radius/2)-(fm.stringWidth(label)/2), + (popY+radius/2)+(fm.getHeight()/2)); + } + } + + /** + * The overridden paint method responsible for figuring out if + * we are double-buffered or not and then dispatching the drawing + * + * @param g the graphics object + */ + public void paint(Graphics g) { + // create the offscreen image if it doesn't already exist + if (offScreenImage == null) + { + offScreenImage = createImage (graphWidth, graphHeight); + offScreen = offScreenImage.getGraphics (); + } + + // if the offscreen image exists then use it to double buffer, + // otherwise, paint on the currently visible graphics object. + if (offScreen != null) { + backgroundPaint(offScreen); + g.drawImage(offScreenImage, 0, 0, this); + } + else { + backgroundPaint(g); + } + } + + /** + * Calculate the minimum size of the panel + * + * @return the dimensions of the graph + */ + public Dimension minimumSize() { + return (new Dimension(graphWidth, graphHeight)); + } + + /** + * Calculate the preferred size of the panel + * + * @return the minimum size of the panel + */ + public Dimension preferredSize() { + return minimumSize(); + } +} + diff --git a/lib/lilgp/lilgpSetup1.0/src/SubPopsPanel.java b/lib/lilgp/lilgpSetup1.0/src/SubPopsPanel.java new file mode 100644 index 0000000..769bae0 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/SubPopsPanel.java @@ -0,0 +1,290 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * This panel contains a TitlePanel and a GridBagPanel + * that accepts input for the following lilgp parameters: + *
+ *
  • multiple.subpops + *
  • multiple.exch_gen

+ * After pressing the go button, a SubPopFrame will + * be created to allow the user to setup exchanges between the sub-pops. + * If the purge button is pressed, then all of the parameters + * associated with multiple sub populations will be removed from the + * database. + * + * @see TitlePanel + * @see GridBagPanel + * @see SubPopFrame + * @see ParameterDB#purgeOldSubPopParameters + * @see ParameterDB#purgeOldSubPopExchanges + */ + +class SubPopsPanel extends Panel { + private TitlePanel tp = new TitlePanel("Sub Population Parameters"); + private GridBagPanel fip = new GridBagPanel(); + private static TextField numPopsField = new TextField("1", 10); + private static TextField exch_genField = new TextField(10); + private static int num_pops_int; + private static int old_num_pops = 1; + + private Label l1 = new Label("press 'go' after filling in multiple.subpops"); + private Label l2 = new Label("to specifiy additional parameters. press"); + private Label l3 = new Label("'purge' to delete current sub-population"); + private Label l4 = new Label("parameters from the database"); + private static Button launch = new Button("Go"); + private static Button purge = new Button("Purge"); + + private static SubPopFrame spf; + + /** + * Add each of the UI components needed to accept input. + * + * @see GridBagPanel#addComponent + */ + public SubPopsPanel() { + setLayout(new BorderLayout()); + + // fill-in panel for parameters + fip.setBackground(Color.white); + fip.setBackground(Color.white); + fip.addComponent(new ClickableLabel("multiple.subpops"), 0, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(numPopsField, 1, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(new ClickableLabel("multiple.exch_gen"), 0, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.WEST); + fip.addComponent(exch_genField, 1, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + // add a button and a label + Font nf = new Font("TimesRoman", Font.ITALIC, 14); + l1.setFont(nf); + l2.setFont(nf); + l3.setFont(nf); + l4.setFont(nf); + + fip.addComponent(l1, 0, 2, 2, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(l2, 0, 3, 2, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(l3, 0, 4, 2, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(l4, 0, 5, 2, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(launch, 0, 6, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(purge, 1, 6, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + // finally, add the two panels and show them + add("North", tp); + add("Center", fip); + show(); + } + + /** + * Trap TextField events and Button events. + * If the Go button has been pressed, then extract + * the contents of the field containing multiple.subpops + * and parse it for errors. If the number of sub-pops + * has not changed since the last time the button was + * pressed, then simply show() the old SubPopFrame + * (it will contain any previously entered data). Otherwise, + * instantiate a new SubPopFrame containing the + * default values. If the purge button has been pressed, + * then remove all sub-pop parameters from the database. + * + * @throws NumberFormatException if bad data + * @see SubPopFrame + * @see ParameterDB#purgeOldSubPopParameters + * @see ParameterDB#purgeOldSubPopExchanges + */ + public boolean action(Event event, Object arg) { + if (event.target == numPopsField) { + launch.requestFocus(); + return true; + } + else if (event.target == launch) { + // the launch button has been pressed, so we need to + // process the contents of the field to make sure it + // contains an integer number. + String num_pops_string = new String((numPopsField.getText()).trim()); + boolean isvalid = true; + + if ( num_pops_string.length() == 0 ) { + InfoDialog id = new InfoDialog("You must supply the number of sub populations"); + id.show(); + } + else { + try { // to convert the string to an int... + num_pops_int = Integer.parseInt(num_pops_string); + + if (num_pops_int > 1) { + // if the user has changed the number of breed phases + // then create a totally new BreedFrame, otherwise just + // show the old one. + if (num_pops_int == old_num_pops) { + launch.disable(); + purge.disable(); + spf.showGraphFrame(); + spf.show(); + } + else { + // get rid of the old parameters in the db first. + lilgpSetup.params.purgeOldSubPopParameters(); + lilgpSetup.params.purgeOldSubPopExchanges(); + + old_num_pops = num_pops_int; + + spf = new SubPopFrame(num_pops_int, true); + launch.disable(); + purge.disable(); + + spf.pack(); + spf.show(); + } + } + } + catch( NumberFormatException e ){ + numPopsField.setText(""); + InfoDialog id = new InfoDialog("multiple.subpops should be an integer greater than 0"); + id.show(); + } + } + } + else if (event.target == purge) { + lilgpSetup.params.purgeOldSubPopParameters(); + lilgpSetup.params.purgeOldSubPopExchanges(); + numPopsField.setText("1"); + exch_genField.setText(""); + old_num_pops = 1; + } + + return super.action(event, arg); + } + + /** + * Collect the contents of each UI component and store it in the + * ParameterDB. The parameters associated with sub-pop + * exchanges are flushed into the databse in the action() + * method in SubPopFrame + * + * @see ParameterDB + * @see SubPopFrame#action + */ + public static void flushParameters() { + String temp_str; + + temp_str = (numPopsField.getText()).trim(); + if (temp_str.length() != 0) + lilgpSetup.params.addToDB("multiple.subpops", temp_str); + else + lilgpSetup.params.delFromDB("multiple.subpops"); + + temp_str = (exch_genField.getText()).trim(); + if (temp_str.length() != 0) + lilgpSetup.params.addToDB("multiple.exch_gen", temp_str); + else + lilgpSetup.params.delFromDB("multiple.exch_gen"); + } + + /** + * Allow the SubPopFrame to re-enable the buttons after the user + * closes the frame. + * + * @see BreedFrame + */ + public static void enableButtons() { + launch.enable(); + purge.enable(); + } + + /** + * This method is responsible for loading parameters onto the SubPopsPanel + * after the user opens a parameter file. It then calls the loadParams() + * method in SubPopFrame. + * + * @see SubPopFrame#loadParams + */ + public static void loadParams() { + String num_pops_string = lilgpSetup.params.getProp("multiple.subpops"); + + if (num_pops_string != null) { + numPopsField.setText(num_pops_string); + + try { // to convert the string to an int... + num_pops_int = Integer.parseInt(num_pops_string); + + if (num_pops_int > 1) { + // the expected_pops parameter is inserted in the open method + // in ParameterDB because the parse method needs the information + // before execution gets to this point in the code..... + old_num_pops = num_pops_int; + + spf = new SubPopFrame(num_pops_int, false); + spf.pack(); + + // call the loadParams method in SubPopFrame + spf.loadParams(); + } + } + catch( NumberFormatException e ){ + // DO I NEED THIS BLOCK ????? + numPopsField.setText(""); + InfoDialog id = new InfoDialog("multiple.subpops should be an integer greater than 0"); + id.show(); + } + } + else { + numPopsField.setText("1"); + } + + String exch_gen_string = lilgpSetup.params.getProp("multiple.exch_gen"); + if (exch_gen_string != null) { + exch_genField.setText(exch_gen_string); + } + else { + exch_genField.setText(""); + } + + } + +} + + diff --git a/lib/lilgp/lilgpSetup1.0/src/TitlePanel.java b/lib/lilgp/lilgpSetup1.0/src/TitlePanel.java new file mode 100644 index 0000000..c50d788 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/TitlePanel.java @@ -0,0 +1,58 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; + +/** + * This class simply creates a panel with a yellow background and + * prints the title string. + */ +class TitlePanel extends Panel { + /** + * Set up a font and print the title on a yellow background + * + * @param title the title string + */ + public TitlePanel(String title) { + Font f = new Font("TimesRoman", Font.ITALIC + Font.BOLD, 20); + setFont(f); + setLayout(new FlowLayout()); + setBackground(Color.yellow); + add(new Label(title, Label.CENTER)); + } +} + + diff --git a/lib/lilgp/lilgpSetup1.0/src/UserDefinedPanel.java b/lib/lilgp/lilgpSetup1.0/src/UserDefinedPanel.java new file mode 100644 index 0000000..d3324e7 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/UserDefinedPanel.java @@ -0,0 +1,142 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +import java.awt.*; +import java.util.*; + +class UserDefinedPanel extends Panel { + private TitlePanel tp = new TitlePanel("User Defined Parameters"); + private GridBagPanel fip = new GridBagPanel(); + + private static TextArea udefArea = new TextArea(10, 30); + private static Button purge = new Button("purge"); + + public UserDefinedPanel() { + setLayout(new BorderLayout()); + + udefArea.setEditable(true); + + // fill-in panel for parameters + fip.setBackground(Color.white); + + fip.addComponent(new ClickableLabel("user defined parameters"), 0, 0, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(udefArea, 0, 1, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + fip.addComponent(purge, 0, 2, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + + Font nf = new Font("TimesRoman", Font.ITALIC, 14); + Label l1 = new Label("Parameters entered here should be in the form:"); + Label l2 = new Label("parameter = value"); + Label l3 = new Label("These parameters will not be parsed for correctness"); + l1.setFont(new Font("TimesRoman", Font.ITALIC, 14)); + l2.setFont(new Font("Courier", Font.PLAIN, 14)); + l3.setFont(new Font("TimesRoman", Font.ITALIC, 14)); + + fip.addComponent(l1, 0, 3, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(l2, 0, 4, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + fip.addComponent(l3, 0, 5, 1, 1, 0, 0, + GridBagConstraints.NONE, GridBagConstraints.CENTER); + + // finally, add the two panels and show them + add("North", tp); + add("Center", fip); + show(); + } + + public boolean handleEvent(Event e) { + if (e.target == purge) { + udefArea.setText(""); + lilgpSetup.params.purgeUserDefinedParameters(); + return true; + } + else { + return super.handleEvent(e); + } + } + + public static void flushParameters() { + String s = udefArea.getText(); + StringTokenizer st = new StringTokenizer(s, "\n"); + + // first, purge all of the old info + lilgpSetup.params.purgeUserDefinedParameters(); + + // then add the new info + int i = 1; + while(st.hasMoreTokens()) { + String param = new String("userdefined" + i); + String value = (st.nextToken()).trim(); + + // add each user defined parameter to the database.... + if (value.length() != 0) { + lilgpSetup.params.addToDB(param, value); + i++; + } + } + } + + public static void loadParams() { + StringBuffer contents = new StringBuffer(); + + udefArea.setText(""); + + int i = 1; + String key = new String("userdefined" + i); + boolean cont = true; + + while(cont) { + String s = lilgpSetup.params.getProp(key); + if (s == null) { + cont = false; + } + else { + contents.append(s); + contents.append("\n"); + } + + i++; + key = new String("userdefined" + i); + } + + udefArea.setText(contents.toString()); + } +} \ No newline at end of file diff --git a/lib/lilgp/lilgpSetup1.0/src/lilgpSetup.java b/lib/lilgp/lilgpSetup1.0/src/lilgpSetup.java new file mode 100644 index 0000000..6d45b83 --- /dev/null +++ b/lib/lilgp/lilgpSetup1.0/src/lilgpSetup.java @@ -0,0 +1,79 @@ +/* + * lilgpSetup Utility for generating lilgp parameter files + * version 1.0 + * 12-May-97 + * + * Copyright (C) 1997 Michigan State University + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General + * Public License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA + * 02111-1307 + * USA. + * + * Ryan Shoemaker shoema16@cps.msu.edu + * Dr. Bill Punch punch@cps.msu.edu + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +/* + Code> lilgpSetup.java + Version> 0.4.0 + Date> 10-Feb-97 + Author> Ryan Shoemaker +*/ + +import java.awt.*; + +/** + * The main class that simply instantiates the topmost window + * and calls show(). It is also repsponsible for + * instantiating the parameter database. + * + * @version 0.4.0 10-Feb-97 + * @author Ryan Shoemaker + * @see MainWindow + * @see ParameterDB + */ +public class lilgpSetup { + public static MainWindow mw; + public static ParameterDB params; + public static String arch; + public static String endl; + + /** + * Create the MainWindow and the ParameterDB. + * + * @param args the command line arguments (not curently used) + */ + public static void main(String[] args) { + + // some OS dependent variables + arch = new String(System.getProperty("os.arch")); + endl = new String(System.getProperty("line.separator")); + + // create the ParameterDB and MainWindow + params = new ParameterDB(); + mw = new MainWindow(); + mw.show(); + } +} + diff --git a/lib/lilgp/params/koza.gp1.ch7.param b/lib/lilgp/params/koza.gp1.ch7.param new file mode 100644 index 0000000..2ab9948 --- /dev/null +++ b/lib/lilgp/params/koza.gp1.ch7.param @@ -0,0 +1,32 @@ +### +### emulate the default parameters given in Chapter 7 of +### _Genetic Programming_ (Koza). +### +### note that in several cases, parameters are explicitly set to their +### default values. this is redundant but makes things clearer. +### + +### +### if you increase the population size to 1000 or more, change the +### selection methods to "fitness_overselect". +### + +max_generations = 50 +pop_size = 500 + +init.method = half_and_half +init.depth = 2-6 + +max_depth = 17 + +breed_phases = 2 + +breed[1].rate = 0.9 # 90% of the time... +breed[1].operator = crossover, \ # do crossover... + select = fitness, \ # ...using fitness-proportionate selection. + internal = 0.9, \ # choose internal crossover points 90% of + external = 0.1, # the time, external the other 10%. + +breed[2].rate = 0.1 # 10% of the time... +breed[2].operator = reproduction, \ # do reproduction... + select = fitness # ...using fitness-proportionate selection. diff --git a/lib/lilgp/params/koza.gp1.simple-lisp.param b/lib/lilgp/params/koza.gp1.simple-lisp.param new file mode 100644 index 0000000..61938a5 --- /dev/null +++ b/lib/lilgp/params/koza.gp1.simple-lisp.param @@ -0,0 +1,35 @@ +### +### emulate the operation of the "Simple LISP Code", from the +### appendix of _Genetic Programming_ (Koza). +### + +### +### if you increase the population size to 1000 or more, change the +### selection methods to "fitness_overselect". +### + +max_depth = 17 + +probabilistic_operators = no +breed_phases = 4 + +breed[1].rate = 0.7 # fill 70% of the population... +breed[1].operator = crossover, \ # ...by functionpoint crossover. + select = fitness, \ + internal = 1.0 + +breed[2].rate = 0.2 # fill 20% of the population... +breed[2].operator = crossover, \ # ...by anypoint crossover. + select = fitness, \ + internal = 0.0, \ + external = 0.0 + +breed[3].rate = 0.1 # fill 10% of the population... +breed[3].operator = reproduction, \ # ...by reproduction. + select = fitness + +breed[4].rate = 0.0 # fill 0% of the population... +breed[4].operator = mutation, \ # ...by mutation. + select = fitness, \ + method = grow, \ + depth = 0-4 diff --git a/lib/lilgp/params/koza.gp2.param b/lib/lilgp/params/koza.gp2.param new file mode 100644 index 0000000..ba16a4e --- /dev/null +++ b/lib/lilgp/params/koza.gp2.param @@ -0,0 +1,27 @@ +### +### emulate the default parameters given in Appendix D (I think) of +### _Genetic Programming II_ (Koza). +### +### note that in several cases, parameters are explicitly set to their +### default values. this is redundant but makes things clearer. +### + +max_generations = 50 +pop_size = 4000 + +init.method = half_and_half +init.depth = 2-6 + +max_depth = 17 + +breed_phases = 2 + +breed[1].rate = 0.9 # 90% of the time... +breed[1].operator = crossover, \ # do crossover... + select = (tournament, size=7), \ # ...using tournament selection. + internal = 0.9, \ # choose internal crossover points 90% of + external = 0.1, # the time, external the other 10%. + +breed[2].rate = 0.1 # 10% of the time... +breed[2].operator = reproduction, \ # do reproduction... + select = (tournament, size=7) # ...using tournament selection. diff --git a/lib/lilgp/params/multi.inject.param b/lib/lilgp/params/multi.inject.param new file mode 100644 index 0000000..84fc3e9 --- /dev/null +++ b/lib/lilgp/params/multi.inject.param @@ -0,0 +1,85 @@ +### +### +### injection file + +output.basename = royal + +max_generations = 500 +pop_size = 500 + +random_seed = 23 + +# how to generate the initial population +init.method = half_and_half +init.depth = 2-7 + +max_nodes = 750 +max_depth = 17 + +breed_phases = 4 + +############# +# default values +breed[1].operator = crossover, \ + select = fitness_overselect, \ + internal = 1.0 +breed[1].rate = 0.80 + +breed[2].operator = crossover, \ + select = fitness_overselect, \ + external = 1.0 +breed[2].rate = 0.1 + + +breed[3].operator = reproduction, \ + select = fitness_overselect +breed[3].rate = 0.05 + +breed[4].operator = mutation, \ + select = fitness, \ + method = grow, \ + depth = 4 +breed[4].rate = 0.05 + + + +multiple.subpops = 7 +multiple.exch_gen = 10 # exchange every 10 generations +multiple.exchanges = 6 + +exch[1].to = 7 +exch[1].toselect = worst +exch[1].from = 1 +exch[1].fromselect = best +exch[1].count = 40 + +exch[2].to = 7 +exch[2].toselect = worst +exch[2].from = 2 +exch[2].fromselect = best +exch[2].count = 40 + +exch[3].to = 7 +exch[3].toselect = worst +exch[3].from = 3 +exch[3].fromselect = best +exch[3].count = 40 + +exch[4].to = 7 +exch[4].toselect = worst +exch[4].from = 4 +exch[4].fromselect = best +exch[4].count = 40 + +exch[5].to = 7 +exch[5].toselect = worst +exch[5].from = 5 +exch[5].fromselect = best +exch[5].count = 40 + +exch[6].to = 7 +exch[6].toselect = worst +exch[6].from = 6 +exch[6].fromselect = best +exch[6].count = 40 + diff --git a/lib/lilgp/params/multi.ring.param b/lib/lilgp/params/multi.ring.param new file mode 100644 index 0000000..2fa9957 --- /dev/null +++ b/lib/lilgp/params/multi.ring.param @@ -0,0 +1,90 @@ +### +### +### ring file + +output.basename = + +max_generations = 500 +pop_size = 500 + +random_seed = 23 + +# how to generate the initial population +init.method = half_and_half +init.depth = 2-7 + +max_nodes = 750 +max_depth = 17 + +breed_phases = 4 + +############# +# default values +breed[1].operator = crossover, \ + select = fitness_overselect, \ + internal = 1.0 +breed[1].rate = 0.80 + +breed[2].operator = crossover, \ + select = fitness_overselect, \ + external = 1.0 +breed[2].rate = 0.1 + + +breed[3].operator = reproduction, \ + select = fitness_overselect +breed[3].rate = 0.05 + +breed[4].operator = mutation, \ + select = fitness, \ + method = grow, \ + depth = 4 +breed[4].rate = 0.05 + + + +multiple.subpops = 7 +multiple.exch_gen = 10 # exchange every 10 generations +multiple.exchanges = 7 # number of sets of exchanges done + +exch[1].to = 2 +exch[1].toselect = worst +exch[1].from = 1 +exch[1].fromselect = best +exch[1].count = 10 + +exch[2].to = 3 +exch[2].toselect = worst +exch[2].from = 2 +exch[2].fromselect = best +exch[2].count = 10 + +exch[3].to = 4 +exch[3].toselect = worst +exch[3].from = 3 +exch[3].fromselect = best +exch[3].count = 10 + +exch[4].to = 5 +exch[4].toselect = worst +exch[4].from = 4 +exch[4].fromselect = best +exch[4].count = 10 + +exch[5].to = 6 +exch[5].toselect = worst +exch[5].from = 5 +exch[5].fromselect = best +exch[5].count = 10 + +exch[6].to = 7 +exch[6].toselect = worst +exch[6].from = 6 +exch[6].fromselect = best +exch[6].count = 10 + +exch[7].to = 1 +exch[7].toselect = worst +exch[7].from = 7 +exch[7].fromselect = best +exch[7].count = 10 \ No newline at end of file diff --git a/lib/lilgp/peters-patch.html b/lib/lilgp/peters-patch.html new file mode 100644 index 0000000..703a27e --- /dev/null +++ b/lib/lilgp/peters-patch.html @@ -0,0 +1,123 @@ + + + +Peter's Patch + + + +

Peter's Patch to Sean's Patched lil-gp Kernel

+ +

Peter Anderson noted the following bug in the ERC facility. I've not yet verified that this bug exists or that the patch works, so you're own your own. I include his message to me below: + +

+
+Use of ERC terminal on the form "name:ERCindex" do not work.
+
+The ECR terminal nodes are not constructed.
+The first call to "mod_read_tree_recurse" 
+eind with the ERC structure is NULL, and the call to
+"get_function_by_name" core dump on a I:1 structure.
+
+I have modified the function "mod_read_tree_recurse" in populate.c so
+the user can use ERC integer constant. By supplying a function to
+insert the constant in the DATATYPE structure. The chances are as followed.
+in the files:
+
+populate.c
+ckpoint.c
+ 
+
+a) "get_function_by_name" in ckpoint.c is made safe by changing:
+  
+        *ep = eind[j];
+        (*ep)->f = fs->cset+i;
+
+change to:
+
+        if (eind != NULL) {
+            *ep = eind[j];
+            (*ep)->f = fs->cset+i;
+        }
+
+b) "mod_read_tree_recurs" catch the ERCindex before the call to 
+"get_function_by_name"
+
+  f = get_function_by_name ( tree, string, &ep, eind );
+
+chance to:
+
+  sl = strlen ( string );
+  for ( si = 0; si < sl; ++si )
+    {
+
+      if ( string[si] == ':' )
+        {
+          /* names of the form "name:index" are chopped at the colon,
+             and the value of the index saved. */
+          string[si] = 0;
+          ECRvalue = atoi ( string+si+1 );
+          break;
+        }
+    }
+
+  f = get_function_by_name ( tree, string, &ep, eind );
+
+where sl,si are int.
+
+c) create the ERC'c in "mod_read_tree_recurse"
+
+  switch ( f->type )
+    {
+    case TERM_NORM:
+    case TERM_ARG:
+    case EVAL_TERM:
+      break;
+    case TERM_ERC:
+      /* record the ERC address as the next lnode in the array. */
+      gensp_next(space)->d = ep; 
+      break;
+
+chance to:
+
+  switch ( f->type )
+    {
+    case TERM_NORM:
+    case TERM_ARG:
+    case EVAL_TERM:
+      break;
+    case TERM_ERC:
+      /* record the ERC address as the next lnode in the array. */
+      new_ECR = gensp_next(space);
+      new_ECR->d = new_ephemeral_const ( f );
+      set_ECR_value(&new_ECR->d->d , ECRvalue);
+      /* gensp_next(space)->d = ep; */
+      break;
+
+The function "set_ECR_value(&new_ECR->d->d , ECRvalue);" is user defined
+in my case it is:
+
+void set_ECR_value(DATATYPE *d, int ECRvalue)
+{
+  d->input = ECRvalue;
+}
+
+
+d) before the first call to "mod_read_tree_recurse" is there a call to
+"gensp_reset(0)" that is not needed.
+
+  case LOAD_FILE:
+    gensp_reset(0); 
+    mod_read_tree_recurse( 0, NULL, dataum[j], j, buf, 1);
+    /* need to do something here about limit checking */
+    break;
+
+chance to:
+
+  case LOAD_FILE:
+    /* gensp_reset(0); not needed there is a call before the switch */
+    mod_read_tree_recurse( 0, NULL, dataum[j], j, buf, 1);
+    /* need to do something here about limit checking */
+    break;
+
+
+
diff --git a/rice+cammeo+and+osmancik.zip b/rice+cammeo+and+osmancik.zip new file mode 100644 index 0000000..c3f6e4f Binary files /dev/null and b/rice+cammeo+and+osmancik.zip differ diff --git a/run.sh b/run.sh new file mode 100644 index 0000000..9840032 --- /dev/null +++ b/run.sh @@ -0,0 +1,4 @@ +cmake -DCMAKE_BUILD_TYPE=Release -G Ninja -B ./cmake-build-release -S ./ +cd ./cmake-build-release && ninja -j 32 +./Assignment_1_RUNNER +cd .. diff --git a/src/program/app.cpp b/src/program/app.cpp new file mode 100644 index 0000000..51a3ca7 --- /dev/null +++ b/src/program/app.cpp @@ -0,0 +1,502 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include +#include + +#include +#include +#include +#include "blt/std/ranges.h" + +extern "C" { +#include +#include "protos.h" +} + +globaldata g; + +static int fitness_cases = -1; +#ifdef PART_B +static double* app_fitness_cases[8]; +#else +static double* app_fitness_cases[2]; +#endif +static double value_cutoff; + +template +auto cxx_d(T* t) +{ + return reinterpret_cast(t); +} + +template +auto cxx_c(T* t) +{ + return reinterpret_cast(t); +} + +struct record +{ + double area; + double perimeter; + double major_axis_length; + double minor_axis_length; + double eccentricity; + double convex_area; + double extent; + char type[8]{}; +}; + +struct loaded_data +{ + std::vector cammeo; + std::vector osmancik; + std::vector set; + // everything after these values is testing data. + size_t last_c = 0; + size_t last_o = 0; + + std::vector getTrainingSet(size_t amount) + { + std::vector set; + static std::random_device dev; + static std::mt19937_64 engine(dev()); + std::uniform_int_distribution choice(0, 1); + + for (size_t i = 0; i < amount; i++) + { + if (last_c >= cammeo.size() || last_o >= osmancik.size()) + { + BLT_FATAL("ERROR IN CREATING SUBSET, REQUESTED SIZE IS NOT POSSIBLE"); + std::exit(1); + } + if (choice(engine)) + set.push_back(cammeo[last_c++]); + else + set.push_back(osmancik[last_o++]); + } + return set; + } + + std::vector getTestingSet() + { + if (set.empty()) + { + static std::random_device dev; + static std::mt19937_64 engine(dev()); + std::uniform_int_distribution choice(0, 1); + + while (true) + { + if (last_c >= cammeo.size() || last_o >= osmancik.size()) + break; + if (choice(engine)) + set.push_back(cammeo[last_c++]); + else + set.push_back(osmancik[last_o++]); + } + + for (; last_c < cammeo.size(); last_c++) + set.push_back(cammeo[last_c]); + for (; last_o < osmancik.size(); last_o++) + set.push_back(osmancik[last_o]); + } + + return set; + } +} rice_data; + +void vec_randomizer(std::vector& read, std::vector& write) +{ + auto seed_param = get_parameter("random_seed"); + static std::random_device dev; + auto seed_val = dev(); + if (seed_param != nullptr) + seed_val = std::stoi(seed_param); + std::mt19937_64 engine(seed_val); + while (!read.empty()) + { + std::uniform_int_distribution choice(0ul, read.size() - 1); + auto pos = choice(engine); + write.push_back(read[pos]); + std::iter_swap(read.end() - 1, read.begin() + static_cast(pos)); + read.pop_back(); + } +} + +void load_rice_data(std::string_view path) +{ + auto file = blt::fs::getLinesFromFile(path); + size_t index = 0; + while (!blt::string::contains(file[index++], "@DATA")) + {} + std::vector c; + std::vector o; + for (std::string_view v : blt::itr_offset(file, index)) + { + auto data = blt::string::split(v, ','); + record r{std::stod(data[0]), std::stod(data[1]), std::stod(data[2]), std::stod(data[3]), std::stod(data[4]), std::stod(data[5]), + std::stod(data[6])}; + std::memset(r.type, 0, 8ul); + std::memcpy(r.type, data[7].data(), std::min(data[7].size(), 8ul)); + if (blt::string::contains(data[7], "Cammeo")) + c.push_back(r); + else + o.push_back(r); + } + + vec_randomizer(c, rice_data.cammeo); + vec_randomizer(o, rice_data.osmancik); +} + +extern "C" int app_build_function_sets(void) +{ + function_set fset; + user_treeinfo tree_map; + function sets[] = + {{cxx_d(f_multiply), nullptr, nullptr, 2, "*", FUNC_DATA, -1, 0, 0, {0, 0}}, + {cxx_d(f_protdivide), nullptr, nullptr, 2, "/", FUNC_DATA, -1, 0, 0, {0, 0}}, + {cxx_d(f_add), nullptr, nullptr, 2, "+", FUNC_DATA, -1, 0, 0, {0, 0}}, + {cxx_d(f_subtract), nullptr, nullptr, 2, "-", FUNC_DATA, -1, 0, 0, {0, 0}}, + {cxx_d(f_exp), nullptr, nullptr, 1, "exp", FUNC_DATA, -1, 0, 0, {0, 0}}, + {cxx_d(f_rlog), nullptr, nullptr, 1, "log", FUNC_DATA, -1, 0, 0, {0, 0}}, +#ifndef PART_B + {cxx_d(f_sin), nullptr, nullptr, 1, "sin", FUNC_DATA, -1, 0, 0, {0, 0}}, + {cxx_d(f_cos), nullptr, nullptr, 1, "cos", FUNC_DATA, -1, 0, 0, {0, 0}}, + {cxx_d(f_var), nullptr, nullptr, 0, "x", TERM_NORM, -1, 0, 0, {0, 0}}, +#else + {cxx_d(f_area), nullptr, nullptr, 0, "area", TERM_NORM, -1, 0, 0, {0, 0}}, + {cxx_d(f_perimeter), nullptr, nullptr, 0, "perimeter", TERM_NORM, -1, 0, 0, {0, 0}}, + {cxx_d(f_major_axis_length), nullptr, nullptr, 0, "major", TERM_NORM, -1, 0, 0, {0, 0}}, + {cxx_d(f_minor_axis_length), nullptr, nullptr, 0, "minor", TERM_NORM, -1, 0, 0, {0, 0}}, + {cxx_d(f_eccentricity), nullptr, nullptr, 0, "eccentricity", TERM_NORM, -1, 0, 0, {0, 0}}, + {cxx_d(f_convex_area), nullptr, nullptr, 0, "convex", TERM_NORM, -1, 0, 0, {0, 0}}, + {cxx_d(f_extent), nullptr, nullptr, 0, "extent", TERM_NORM, -1, 0, 0, {0, 0}}, +#endif + {nullptr, f_erc_gen, cxx_c(f_erc_print), 0, "R", TERM_ERC, -1, 0, 0, {0, 0}}}; + + binary_parameter("app.use_ercs", 1); +#ifndef PART_B + if (atoi(get_parameter("app.use_ercs"))) + fset.size = 10; + else + fset.size = 9; +#else + if (atoi(get_parameter("app.use_ercs"))) + fset.size = 14; + else + fset.size = 13; +#endif + + fset.cset = sets; + + tree_map.fset = 0; + tree_map.return_type = 0; + tree_map.name = "TREE"; + + return function_sets_init(&fset, 1, &tree_map, 1); +} + +extern "C" void app_eval_fitness(individual* ind) +{ +#ifdef PART_B + int i; + double v; + bool dv; +#else + int i; + double v, dv; + double disp; +#endif + globaldata* g = get_globaldata(); + + set_current_individual(ind); + + ind->r_fitness = 0.0; + ind->hits = 0; + + for (i = 0; i < fitness_cases; ++i) + { +#ifdef PART_B + g->area = app_fitness_cases[0][i]; + g->perimeter = app_fitness_cases[1][i]; + g->major_axis_length = app_fitness_cases[2][i]; + g->minor_axis_length = app_fitness_cases[3][i]; + g->eccentricity = app_fitness_cases[4][i]; + g->convex_area = app_fitness_cases[5][i]; + g->extent = app_fitness_cases[6][i]; + dv = app_fitness_cases[7][i] > 0; +#else + g->x = app_fitness_cases[0][i]; + dv = app_fitness_cases[1][i]; +#endif + v = evaluate_tree(ind->tr[0].data, 0); +#ifdef PART_B + if ((v >= 0 && dv) || (v < 0 && !dv)) + ind->hits++; +#else + disp = fabs(dv - v); + + if (disp < value_cutoff) + { + ind->r_fitness += disp; + if (disp <= 0.01) + ++ind->hits; + } else + { + ind->r_fitness += value_cutoff; + } +#endif + } + ind->r_fitness = ind->hits; + ind->s_fitness = ind->r_fitness; + ind->a_fitness = 1 - (1 / (1 + ind->s_fitness)); + ind->evald = EVAL_CACHE_VALID; +} + +struct annoying +{ + blt::size_t cc = 0; + blt::size_t co = 0; + blt::size_t oo = 0; + blt::size_t oc = 0; +}; + +extern "C" int app_end_of_evaluation(int gen, multipop* mpop, int newbest, popstats* gen_stats, popstats* run_stats) +{ + globaldata* g = get_globaldata(); + + if (newbest) + { + output_stream_open(OUT_USER); + + auto ind = run_stats[0].best[0]->ind; + +#ifdef PART_B + //oprintf(OUT_USER, 20, "(%lf, %lf)\n", g->x, v); + globaldata* g = get_globaldata(); + set_current_individual(ind); + + auto testing = rice_data.getTestingSet(); + + annoying results; + + for (const auto& r : testing) + { + g->area = r.area; + g->perimeter = r.perimeter; + g->major_axis_length = r.major_axis_length; + g->minor_axis_length = r.minor_axis_length; + g->eccentricity = r.eccentricity; + g->convex_area = r.convex_area; + g->extent = r.extent; + auto dv = r.type[0] == 'C'; + auto v = evaluate_tree(ind->tr[0].data, 0); + + if (dv){ + if (v >= 0) + results.cc++; + else if (v < 0) + results.co++; + } else { + if (v < 0) + results.oo++; + else if (v >= 0) + results.oc++; + } + } + + oprintf(OUT_USER, 50, "Hits: %ld, Total Size: %ld, Percent Hit: %lf\n", results.cc + results.oo, testing.size(), + static_cast(results.cc + results.oo) / static_cast(testing.size()) * 100); + oprintf(OUT_USER, 50, "CC: %ld\nCO: %ld\nOO: %ld\nOC: %ld\n", results.cc, results.co, results.oo, results.oc); + oprintf(OUT_USER, 50, "\n"); +#endif + pretty_print_tree_equ(ind->tr[0].data, output_filehandle(OUT_USER)); + pretty_print_tree(ind->tr[0].data, output_filehandle(OUT_USER)); + + output_stream_close(OUT_USER); + + if (run_stats[0].best[0]->ind->hits == fitness_cases) + return 1; + } + + return 0; +} + +extern "C" void app_end_of_breeding(int gen, multipop* mpop) +{} + +extern "C" int app_create_output_streams(void) +{ + if (create_output_stream(OUT_USER, ".fn", 1, "w", 0) != OUTPUT_OK) + return 1; + return 0; +} + +extern "C" int app_initialize(int startfromcheckpoint) +{ + // TODO: maybe make this dynamic +#ifdef PART_B + // evil hack + auto loc_param = get_parameter("rice_file"); + if (loc_param == nullptr) + { + BLT_FATAL("You must provide a rice file to operate on!"); + std::exit(1); + } + load_rice_data(loc_param); +#endif + int i; + double x, y; + char* param; + globaldata* g = get_globaldata(); + + if (!startfromcheckpoint) + { + oprintf(OUT_PRG, 50, "not starting from checkpoint file.\n"); + + param = get_parameter("app.fitness_cases"); + if (param == NULL) + { +#ifdef PART_B + // about 30% of the data + fitness_cases = 1000; +#else + fitness_cases = 200; +#endif + } else + { + fitness_cases = atoi(param); + if (fitness_cases < 0) + error(E_FATAL_ERROR, "invalid value for \"app.fitness_cases\"."); + } + +#ifdef PART_B + app_fitness_cases[0] = (double*) MALLOC(fitness_cases * sizeof(double)); + app_fitness_cases[1] = (double*) MALLOC(fitness_cases * sizeof(double)); + app_fitness_cases[2] = (double*) MALLOC(fitness_cases * sizeof(double)); + app_fitness_cases[3] = (double*) MALLOC(fitness_cases * sizeof(double)); + app_fitness_cases[4] = (double*) MALLOC(fitness_cases * sizeof(double)); + app_fitness_cases[5] = (double*) MALLOC(fitness_cases * sizeof(double)); + app_fitness_cases[6] = (double*) MALLOC(fitness_cases * sizeof(double)); + app_fitness_cases[7] = (double*) MALLOC(fitness_cases * sizeof(double)); +#else + app_fitness_cases[0] = (double*) MALLOC(fitness_cases * sizeof(double)); + app_fitness_cases[1] = (double*) MALLOC(fitness_cases * sizeof(double)); +#endif + + oprintf(OUT_PRG, 50, "%d fitness cases:\n", fitness_cases); + auto data = rice_data.getTrainingSet(fitness_cases); + for (i = 0; i < fitness_cases; ++i) + { +#ifndef PART_B + const double range = 10; + const double half_range = range / 2.0; + x = (random_double(&globrand) * range) - half_range; + + /* change this line to modify the goal function. */ + y = x * x * x * x + x * x * x + x * x + x; +//// y = x * cos(x) + sin(x) * log(x + x * x + x) + x * x; +///* y = x*x; */ + + app_fitness_cases[0][i] = x; + app_fitness_cases[1][i] = y; + oprintf(OUT_PRG, 50, " x = %12.5lf, y = %12.5lf\n", x, y); +#else + app_fitness_cases[0][i] = data[i].area; + app_fitness_cases[1][i] = data[i].perimeter; + app_fitness_cases[2][i] = data[i].major_axis_length; + app_fitness_cases[3][i] = data[i].minor_axis_length; + app_fitness_cases[4][i] = data[i].eccentricity; + app_fitness_cases[5][i] = data[i].convex_area; + app_fitness_cases[6][i] = data[i].extent; + app_fitness_cases[7][i] = (data[i].type[0] == 'C') ? 50 : -50; + oprintf(OUT_PRG, 50, + " area = %12.5lf, perimeter = %12.5lf, major_axis_length = %12.5lf, minor_axis_length = %12.5lf, eccentricity = %12.5lf, convex_area = %12.5lf, extent = %12.5lf, type = %c\n", + data[i].area, data[i].perimeter, data[i].major_axis_length, data[i].minor_axis_length, data[i].eccentricity, data[i].convex_area, + data[i].extent, data[i].type[0]); +#endif + + } + } else + { + oprintf(OUT_PRG, 50, "started from checkpoint file.\n"); + } + + param = get_parameter("app.value_cutoff"); + if (param == NULL) + value_cutoff = 1.e15; + else + value_cutoff = strtod(param, NULL); + + return 0; +} + +extern "C" void app_uninitialize(void) +{ + + + FREE(app_fitness_cases[0]); + FREE(app_fitness_cases[1]); +} + +extern "C" void app_write_checkpoint(FILE* f) +{ + int i; + fprintf(f, "fitness-cases: %d\n", fitness_cases); + for (i = 0; i < fitness_cases; ++i) + { + write_hex_block(app_fitness_cases[0] + i, sizeof(double), f); + fputc(' ', f); + write_hex_block(app_fitness_cases[1] + i, sizeof(double), f); + fprintf(f, " %.5lf %.5lf\n", + app_fitness_cases[0][i], app_fitness_cases[1][i]); + } +} + +extern "C" void app_read_checkpoint(FILE* f) +{ + int i; + + fscanf(f, "%*s %d\n", &fitness_cases); + + app_fitness_cases[0] = (double*) MALLOC(fitness_cases * + sizeof(double)); + app_fitness_cases[1] = (double*) MALLOC(fitness_cases * + sizeof(double)); + + for (i = 0; i < fitness_cases; ++i) + { + read_hex_block(app_fitness_cases[0] + i, sizeof(double), f); + fgetc(f); + read_hex_block(app_fitness_cases[1] + i, sizeof(double), f); + fscanf(f, " %*f %*f\n"); + fprintf(stderr, "%.5lf %.5lf\n", app_fitness_cases[0][i], + app_fitness_cases[1][i]); + } +} diff --git a/src/program/function.cpp b/src/program/function.cpp new file mode 100644 index 0000000..5683f69 --- /dev/null +++ b/src/program/function.cpp @@ -0,0 +1,193 @@ +/* lil-gp Genetic Programming System, version 1.0, 11 July 1995 + * Copyright (C) 1995 Michigan State University + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Douglas Zongker (zongker@isl.cps.msu.edu) + * Dr. Bill Punch (punch@isl.cps.msu.edu) + * + * Computer Science Department + * A-714 Wells Hall + * Michigan State University + * East Lansing, Michigan 48824 + * USA + * + */ + +#include +#include +#include "function.h" + + +extern "C" { +#include + +DATATYPE f_multiply(int, farg* args) +{ + return args[0].d * args[1].d; +} + +//#define TOLERANCE_ZERO +#ifdef TOLERANCE_ZERO + +/* fixes the DEC Alpha "high performance arithmetic trap" error. + * provided by Glen Ropella. + */ + +DATATYPE f_protdivide ( int tree, farg *args ) +{ + if (args[1].d >= -std::numeric_limits::epsilon() || args[1].d <= std::numeric_limits::epsilon()) + return 1.0; + else + return args[0].d / args[1].d; +} + +#else + +DATATYPE f_protdivide(int, farg* args) +{ + if (args[1].d == 0.0) + return 1.0; + else + return args[0].d / args[1].d; +} + +#endif + +DATATYPE f_add(int, farg* args) +{ + return args[0].d + args[1].d; +} + +DATATYPE f_subtract(int, farg* args) +{ + return args[0].d - args[1].d; +} + +DATATYPE f_sin(int, farg* args) +{ + return sin(args[0].d); +} + +DATATYPE f_cos(int, farg* args) +{ + return cos(args[0].d); +} + +DATATYPE f_exp(int, farg* args) +{ + return exp(args[0].d); +} + +DATATYPE f_rlog(int, farg* args) +{ + if (args[0].d == 0.0) + return 0.0; + else + return log(fabs(args[0].d)); +} + +#ifndef PART_B +DATATYPE f_var(int tree, farg* args) +{ + globaldata* g = get_globaldata(); + return g->x; +} +#endif + +void f_erc_gen(DATATYPE* r) +{ + *r = (random_double(&globrand) * 2.0) - 1.0; +} + +char* f_erc_print(DATATYPE d) +{ + static char buffer[20]; + + sprintf(buffer, "%.5f", d); + return buffer; +} + +#ifdef PART_B +DATATYPE f_area(int tree, farg* args) +{ + globaldata* g = get_globaldata(); + return g->area; +} + +DATATYPE f_perimeter(int tree, farg* args) +{ + globaldata* g = get_globaldata(); + return g->perimeter; +} + +DATATYPE f_major_axis_length(int tree, farg* args) +{ + globaldata* g = get_globaldata(); + return g->major_axis_length; +} + +DATATYPE f_minor_axis_length(int tree, farg* args) +{ + globaldata* g = get_globaldata(); + return g->minor_axis_length; +} + +DATATYPE f_eccentricity(int tree, farg* args) +{ + globaldata* g = get_globaldata(); + return g->eccentricity; +} + +DATATYPE f_convex_area(int tree, farg* args) +{ + globaldata* g = get_globaldata(); + return g->convex_area; +} + +DATATYPE f_extent(int tree, farg* args) +{ + globaldata* g = get_globaldata(); + return g->extent; +} + +#endif +} + +//template +//T func(T t) +//{ +// return t; +//} +// +//template +//class funny +//{ +// T t; +// public: +// funny(T t): t(std::move(t)) +// {} +//}; +// +//int main() +//{ +// func(50); // int +// func(5.0); // float +// func("erwer"); // cstr +// +// // prior to c++17: +// funny d(5.0); +// // post c++17 +// funny fun(y fun(550); +//} \ No newline at end of file diff --git a/src/runner/main.cpp b/src/runner/main.cpp new file mode 100644 index 0000000..5331bf9 --- /dev/null +++ b/src/runner/main.cpp @@ -0,0 +1,394 @@ +/* + * This only works for linux!! + * + * Copyright (C) 2024 Brett Terpstra + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "blt/std/assert.h" +#include "blt/std/memory.h" + +HASHSET pids; + +struct record +{ + private: + template + static inline void fill_value(T& v, const std::string& str) + { + if constexpr (std::is_floating_point_v) + { + v = std::stod(str); + } else if constexpr (std::is_integral_v) + { + v = std::stoi(str); + } else + { + static_assert("Unsupported type!"); + } + } + + public: + record() = default; + + int gen, sub; + double mean_fitness; + double best_fitness, worse_fitness, mean_tree_size, mean_tree_depth; + int best_tree_size, best_tree_depth, worse_tree_size, worse_tree_depth; + double mean_fitness_run; + double best_fitness_run, worse_fitness_run, mean_tree_size_run, mean_tree_depth_run; + int best_tree_size_run, best_tree_depth_run, worse_tree_size_run, worse_tree_depth_run; + + inline record& operator+=(const record& r) + { + BLT_ASSERT_MSG(gen == r.gen && "Generation value must be equal! you have an error!", (std::to_string(gen) + " vs " + std::to_string(r.gen)).c_str()); + mean_fitness += r.mean_fitness; + best_fitness += r.best_fitness; + worse_fitness += r.worse_fitness; + mean_tree_size += r.mean_tree_size; + mean_tree_depth += r.mean_tree_depth; + + best_tree_size += r.best_tree_size; + best_tree_depth += r.best_tree_depth; + worse_tree_size += r.worse_tree_size; + worse_tree_depth += r.worse_tree_depth; + + mean_fitness_run += r.mean_fitness_run; + best_fitness_run += r.best_fitness_run; + worse_fitness_run += r.worse_fitness_run; + mean_tree_size_run += r.mean_tree_size_run; + mean_tree_depth_run += r.mean_tree_depth_run; + + best_tree_size_run += r.best_tree_size_run; + best_tree_depth_run += r.best_tree_depth_run; + worse_tree_size_run += r.worse_tree_size_run; + worse_tree_depth_run += r.worse_tree_depth_run; + + return *this; + } + + inline record& operator/=(int i) + { + auto v = static_cast(i); + + mean_fitness /= v; + best_fitness /= v; + worse_fitness /= v; + mean_tree_size /= v; + mean_tree_depth /= v; + + best_tree_size /= i; + best_tree_depth /= i; + worse_tree_size /= i; + worse_tree_depth /= i; + + mean_fitness_run /= v; + best_fitness_run /= v; + worse_fitness_run /= v; + mean_tree_size_run /= v; + mean_tree_depth_run /= v; + + best_tree_size_run /= i; + best_tree_depth_run /= i; + worse_tree_size_run /= i; + worse_tree_depth_run /= i; + + return *this; + } + + static inline record from_string_array(int generation, blt::span values) + { + size_t idx = 0; + record r{}; + std::memset(&r, 0, sizeof(record)); + // I don't like the reliance on order... + r.gen = generation; + fill_value(r.sub, values[idx++]); + fill_value(r.mean_fitness, values[idx++]); + fill_value(r.best_fitness, values[idx++]); + fill_value(r.worse_fitness, values[idx++]); + fill_value(r.mean_tree_size, values[idx++]); + fill_value(r.mean_tree_depth, values[idx++]); + fill_value(r.best_tree_size, values[idx++]); + fill_value(r.best_tree_depth, values[idx++]); + fill_value(r.worse_tree_size, values[idx++]); + fill_value(r.worse_tree_depth, values[idx++]); + fill_value(r.mean_fitness_run, values[idx++]); + fill_value(r.best_fitness_run, values[idx++]); + fill_value(r.worse_fitness_run, values[idx++]); + fill_value(r.mean_tree_size_run, values[idx++]); + fill_value(r.mean_tree_depth_run, values[idx++]); + fill_value(r.best_tree_size_run, values[idx++]); + fill_value(r.best_tree_depth_run, values[idx++]); + fill_value(r.worse_tree_size_run, values[idx++]); + fill_value(r.worse_tree_depth_run, values[idx++]); + return r; + } +}; + +int child(blt::arg_parse::arg_results& args, int run_id) +{ + auto program = "../" + args.get("program"); + auto file = "../" + args.get("file"); + auto rice_file = "../" + args.get("rice"); + auto dir = "./run_" + std::to_string(run_id); + BLT_DEBUG("Running GP program '%s' on run %d", program.c_str(), run_id); + + mkdir(dir.c_str(), S_IREAD | S_IWRITE | S_IEXEC | S_IRGRP | S_IWGRP | S_IXGRP | S_IROTH | S_IXOTH); + if (chdir(dir.c_str())) + { + BLT_ERROR(errno); + return 1; + } + + auto command = "" + program + " -f " + file + " -p rice_file='" + rice_file + "'"; + BLT_TRACE("Running command %s", command.c_str()); + + FILE* process = popen(command.c_str(), "r"); + char buffer[4096]; + while (fgets(buffer, 4096, process) != nullptr) + { + BLT_DEBUG_STREAM << buffer; + } + + pclose(process); + + return 0; +} + +void wait_for_children() +{ + while (!pids.empty()) + { + int status; + auto pid = wait(&status); + if (WIFEXITED(status)) + { + BLT_END_INTERVAL("Program", "Process: " + std::to_string(pid)); + pids.erase(pid); + BLT_TRACE("Process %d finished!", pid); + } + std::this_thread::sleep_for(std::chrono::milliseconds(1)); + } +} + +struct run_data +{ + // per generation (map stores from gen -> list of rows (records)) + HASHMAP> averages; + // per RUN generation size + std::vector runs_generation_size; + // count of the number of generations that use the same number of generations (used for calculating mode) exists [0, largest_generation] + blt::scoped_buffer generations_size_count; + // largest number of generations from all runs + int largest_generation = 0; + // total number of generations across all runs (r1...rn) + int total_generations = 0; + // total / runs + int generations_average = 0; + // # of run lengths value is `data.generations_size_count[data.mode_generation]` + int generations_mode = 0; + // the generation that is the mode + int mode_generation = 0; +}; + +void process_run(run_data& data, int& max_gen, std::string_view file) +{ + auto lines = blt::fs::getLinesFromFile(file); + for (std::string_view line : blt::itr_offset(lines, 1)) + { + auto values = blt::string::split(line, '\t'); + if (values.size() <= 1) + continue; + else if (values.size() < 21) + { + BLT_WARN("Size of vector (%ld) is less than expected (21). Skipping line!", values.size()); + continue; + } + int idx = 0; + + auto generation = std::stoi(values[idx++]); + max_gen = std::max(max_gen, generation); + + data.averages[generation].push_back(record::from_string_array(generation, values)); + } +} + +run_data get_per_generation_averages(const std::string& outfile, int runs) +{ + run_data data; + + for (int i = 0; i < runs; i++) + { + int max_gen = 0; + auto file = "./run_" + ((std::to_string(i) += "/") += outfile) += ".stt"; + process_run(data, max_gen, file); + data.largest_generation = std::max(data.largest_generation, max_gen); + data.total_generations += max_gen; + data.runs_generation_size.push_back(max_gen); + } + + // zero out the buffer + // I am using my scoped buffer because it is meant to be a std::array but at runtime. + // it provides iterators and automatic resource management :3 + data.generations_size_count = blt::scoped_buffer(static_cast(data.largest_generation) + 1); + std::memset(data.generations_size_count.data(), 0, data.generations_size_count.size() * sizeof(int)); + + // count the number of generations per length + for (auto v : data.runs_generation_size) + { + data.generations_size_count[v]++; + } + + // find the larger length that contains the most runs + for (auto v : blt::enumerate(data.generations_size_count)) + { + if (v.second > data.generations_size_count[data.mode_generation]) + data.mode_generation = static_cast(v.first); + } + data.generations_mode = data.generations_size_count[data.mode_generation]; + data.generations_average = data.total_generations / runs; + + return data; +} + +void process_files(blt::arg_parse::arg_results& args) +{ + auto outfile = args.get("out_file"); + auto writefile = args.get("write_file") + ".tsv"; + auto runs = args.get("runs"); + + auto data = get_per_generation_averages(outfile, runs); + + std::vector generation_averages; + for (const auto& a : data.averages) + { + record base{}; + std::memset(&base, 0, sizeof(record)); + base.gen = a.first; + for (const auto& r : a.second) + base += r; + base /= runs; + generation_averages.push_back(base); + } + + std::ofstream writer(writefile); + writer << "Runs Generation Count Mean: " << data.generations_average << '\n'; + writer << "Runs Generation Count Mode: " << data.mode_generation << " occurred (" << data.generations_mode << ") time(s)\n"; + writer << "GEN#\tSUB#\tμFGEN\tFsBestGEN\tFsWorstGEN\tμTreeSzGEN\tμTreeDpGEN\tbTreeSzGEN\tbTreeDpGEN\twTreeSzGEN\twTreeDpGEN\tμFRUN\t" + "FsBestRUN\tFsWorstRUN\tμTreeSzRUN\tμTreeDpRUN\tbTreeSzRUN\tbTreeDpRUN\twTreeSzRUN\twTreeDpRUN\n"; + + for (const auto& r : generation_averages) + { + writer << r.gen << '\t'; + writer << r.sub << '\t'; + writer << r.mean_fitness << '\t'; + writer << r.best_fitness << '\t'; + writer << r.worse_fitness << '\t'; + writer << r.mean_tree_size << '\t'; + writer << r.mean_tree_depth << '\t'; + writer << r.best_tree_size << '\t'; + writer << r.best_tree_depth << '\t'; + writer << r.worse_tree_size << '\t'; + writer << r.worse_tree_depth << '\t'; + + writer << r.mean_fitness_run << '\t'; + writer << r.best_fitness_run << '\t'; + writer << r.worse_fitness_run << '\t'; + writer << r.mean_tree_size_run << '\t'; + writer << r.mean_tree_depth_run << '\t'; + writer << r.best_tree_size_run << '\t'; + writer << r.best_tree_depth_run << '\t'; + writer << r.worse_tree_size_run << '\t'; + writer << r.worse_tree_depth_run << '\n'; + } + + BLT_INFO("Average Number of Generations: %d", data.generations_average); +} + +int main(int argc, const char** argv) +{ + blt::arg_parse parser; + + parser.addArgument(blt::arg_builder("-r", "--runs").setDefault(10).setHelp("Number of runs to execute").build()); + parser.addArgument(blt::arg_builder("-p", "--program").setDefault("./Assignment_1").setHelp("GP Program to execute per run").build()); + parser.addArgument(blt::arg_builder("-o", "--out_file").setDefault("regress") + .setHelp("Name of the stats file (without extension) to use in building the final data") + .build()); + parser.addArgument(blt::arg_builder("-w", "--write_file").setDefault("aggregated").setHelp( + "Name of the file to write the aggregated data to (without extension)").build()); + parser.addArgument(blt::arg_builder("-f", "--file").setDefault("../input.file").setHelp("File to run the GP on").build()); + parser.addArgument(blt::arg_builder("--rice").setDefault("../Rice_Cammeo_Osmancik.arff").setHelp("Rice file to run the GP on").build()); + parser.addArgument( + blt::arg_builder("-a", "--aggregate").setAction(blt::arg_action_t::STORE_TRUE).setHelp("Run the aggregation on existing runs folders") + .build()); + parser.addArgument(blt::arg_builder("-e", "--execute").setAction(blt::arg_action_t::STORE_TRUE).setHelp("Perform the runs").build()); + parser.addArgument(blt::arg_builder("-b", "--partb").setAction(blt::arg_action_t::STORE_FALSE).setDefault(true) + .setHelp("Disable aggregation on part B data (This defaults to true)").build()); + + auto args = parser.parse_args(argc, argv); + + if (!args.contains("--aggregate") && !args.contains("--execute")) + { + BLT_FATAL("You must select --aggregate and/or --execute"); + return 1; + } + + BLT_INFO("Parsing user arguments:"); + for (auto& v : args.data) + BLT_INFO("\t%s\t= %s", v.first.c_str(), blt::to_string(v.second).c_str()); + + BLT_START_INTERVAL("Program", "Parent Total"); + if (args.contains("--execute")) + { + auto runs = args.get("runs"); + BLT_DEBUG("Running with %d runs", runs); + + for (auto i = 0; i < runs; i++) + { + auto pid = fork(); + if (pid == 0) + { + return child(args, i); + } else if (pid > 0) + { + BLT_START_INTERVAL("Program", "Process: " + std::to_string(pid)); + // parent + pids.insert(pid); + BLT_TRACE("Forked child to %d", pid); + } else + { + // failure + BLT_ERROR("Failed to fork process! Error: %d", errno); + return 1; + } + } + wait_for_children(); + } + if (args.contains("--aggregate")) + process_files(args); + BLT_END_INTERVAL("Program", "Parent Total"); + BLT_PRINT_PROFILE("Program"); +} \ No newline at end of file